diff --git a/.github/auto_translator.py b/.github/auto_translator.py index 6e05824b..86d70bf6 100644 --- a/.github/auto_translator.py +++ b/.github/auto_translator.py @@ -2,18 +2,29 @@ import i18n import json from deep_translator import GoogleTranslator import sys +import os def get_path(lang): if lang == 'en': - return f'assets/translations/strings.i18n.json' - return f'assets/translations/strings_{lang}.i18n.json' + return f'../assets/translations/strings.i18n.json' + return f'../assets/translations/strings_{lang}.i18n.json' + + +def read_translate(lang): + pat = get_path(lang) + if not os.path.isfile(pat): + return {} + with open(pat) as f: + return json.load(f) def recursive_translate(src, dst, translator): for sk, sv in src.items(): - if type(sv) == str and sk not in dst: - dst[sk] = translator.translate(sv) + if type(sv) == str: + if sk not in dst: + dst[sk] = translator.translate(sv) + print(sk, sv, dst[sk]) if not dst[sk]: del dst[sk] else: @@ -26,14 +37,11 @@ if __name__ == "__main__": src = sys.argv[1] dst = sys.argv[2] - src_file = get_path(src) - dst_file = get_path(dst) - with open(src_file) as sf: - src_pofile = json.load(sf) - with open(dst_file) as df: - dst_pofile = json.load(df) + src_pofile = read_translate(src) + dst_pofile = read_translate(dst) + translator = GoogleTranslator(source=src, target=dst if dst != 'zh' else "zh-CN") recursive_translate(src_pofile, dst_pofile, translator) - with open(dst_file, 'w') as df: + with open(get_path(dst), 'w') as df: json.dump(dst_pofile, df) diff --git a/.github/sync_translate.sh b/.github/sync_translate.sh index 1f3dea51..2e42bfab 100644 --- a/.github/sync_translate.sh +++ b/.github/sync_translate.sh @@ -1,47 +1,36 @@ -key="5Tqp1dLHQSk98s-twNF6RpwZu7lZSLLM" -wget -O assets/translations/strings.i18n.json "https://localise.biz/api/export/locale/en-US.json?index=id&key=$key" -wget -O assets/translations/strings_fa.i18n.json "https://localise.biz/api/export/locale/fa.json?index=id&key=$key" -wget -O assets/translations/strings_zh.i18n.json "https://localise.biz/api/export/locale/zh.json?index=id&key=$key" -wget -O assets/translations/strings_pt.i18n.json "https://localise.biz/api/export/locale/pt.json?index=id&key=$key" -wget -O assets/translations/strings_ru.i18n.json "https://localise.biz/api/export/locale/ru.json?index=id&key=$key" +key="FRu3eopQWgsvWmnycBXxv2eWpbUwGOu2" +wget -O assets/translations/strings.i18n.json "https://localise.biz/api/export/locale/en-US.json?index=id&format=i18next4&key=$key" +wget -O assets/translations/strings_fa.i18n.json "https://localise.biz/api/export/locale/fa.json?index=id&format=i18next4&key=$key" +# wget -O assets/translations/strings_zh.i18n.json "https://localise.biz/api/export/locale/zh.json?index=id&format=i18next4&key=$key" +# wget -O assets/translations/strings_pt.i18n.json "https://localise.biz/api/export/locale/pt.json?index=id&format=i18next4&key=$key" +wget -O assets/translations/strings_ru.i18n.json "https://localise.biz/api/export/locale/ru.json?index=id&format=i18next4&key=$key" pip install polib deep-translator python-i18n -python3 auto_translate.py fa en -python3 auto_translate.py en fa -python3 auto_translate.py en zh -python3 auto_translate.py en pt +# python3 auto_translator.py fa en +python3 auto_translator.py en fa +# python3 auto_translator.py en zh +# python3 auto_translator.py en pt +python3 auto_translator.py en ru function update_localise(){ lang=$1 - pat="assets/translations/strings_${lang}.i18n.json" + pat="../assets/translations/strings_${lang}.i18n.json" if [[ $lang == 'en' ]];then - pat="assets/translations/strings.i18n.json" + pat="../assets/translations/strings.i18n.json" fi -curl "https://localise.biz/api/import/json?index=id&delete-absent=false&ignore-existing=false&locale=$lang&flag-new=Provisional&key=$LOCALIZ_KEY" \ +# curl -X POST "https://localise.biz/api/import/json?locale=$lang&key=$LOCALIZ_KEY" \ +curl "https://localise.biz/api/import/json?format=i18next4&delete-absent=false&ignore-existing=false&locale=$lang&flag-new=Provisional&key=$LOCALIZ_KEY" \ -H 'Accept: application/json' \ - --data-binary $pat \ - --compressed + --data-binary @$pat } -function update_localise2(){ - lang=$1 - pat="assets/translations/strings_${lang}.i18n.json" - if [[ $lang == 'en' ]];then - pat="assets/translations/strings.i18n.json" - fi -curl "https://localise.biz/api/import/json?index=id&delete-absent=false&ignore-existing=false&locale=$lang&flag-new=Provisional&key=$LOCALIZ_KEY2" \ - -H 'Accept: application/json' \ - --data-binary $pat \ - --compressed - } -update_localise fa update_localise en -update_localise zh - -update_localise2 en -update_localise2 pt \ No newline at end of file +update_localise fa +# # update_localise zh +# # update_localise pt +update_localise ru \ No newline at end of file diff --git a/assets/translations/strings.i18n.json b/assets/translations/strings.i18n.json index b3972266..c7c45c09 100644 --- a/assets/translations/strings.i18n.json +++ b/assets/translations/strings.i18n.json @@ -242,4 +242,4 @@ "invalidConfig": "Invalid Configs" } } -} \ No newline at end of file +} diff --git a/assets/translations/strings_fa.i18n.json b/assets/translations/strings_fa.i18n.json index 9926f296..501ff60f 100644 --- a/assets/translations/strings_fa.i18n.json +++ b/assets/translations/strings_fa.i18n.json @@ -1,245 +1 @@ -{ - "general": { - "appTitle": "هیدیفای نکست", - "reset": "بازنشانی", - "toggle": { - "enabled": "فعال", - "disabled": "غیر فعال" - }, - "state": { - "disable": "غیر فعال" - }, - "sort": "مرتب‌سازی", - "sortBy": "مرتب‌سازی براساس" - }, - "intro": { - "termsAndPolicyCaution(rich)": "در صورت ادامه با ${tap(@:about.termsAndConditions)} موافقت میکنید", - "start": "شروع" - }, - "home": { - "pageTitle": "خانه", - "emptyProfilesMsg": "با افزودن پروفایل شروع کنید", - "noActiveProfileMsg": "یک پروفایل انتخاب کنید", - "connection": { - "tapToConnect": "برای اتصال ضربه بزنید", - "connecting": "در حال اتصال", - "disconnecting": "در حال قطع اتصال", - "connected": "متصل" - }, - "stats": { - "traffic": "مصرف لحظه‌ای", - "trafficTotal": "مصرف کل", - "uplink": "ارسال", - "downlink": "دریافت" - } - }, - "profile": { - "overviewPageTitle": "پروفایل‌ها", - "detailsPageTitle": "پروفایل", - "activeProfileNameSemanticLabel": "نام پروفایل فعال: ${name}", - "activeProfileBtnSemanticLabel": "همه‌ی پروفایل‌ها", - "nonActiveProfileBtnSemanticLabel": "انتخاب ${name} به عنوان پروفایل فعال", - "subscription": { - "traffic": "ترافیک", - "updatedTimeAgo": "بروزرسانی شده در ${timeago}", - "remainingDuration": "${duration} روز باقی مانده", - "remainingTrafficSemanticLabel": "${consumed} از ${total} ترافیک مصرف شده", - "expired": "منقضی شده", - "noTraffic": "پایان ترافیک" - }, - "sortBy": { - "lastUpdate": "اخیرا بروز شده", - "name": "براساس نام" - }, - "add": { - "buttonText": "افزودن پروفایل جدید", - "shortBtnTxt": "افزودن", - "fromClipboard": "افزودن از کلیپ‌بورد", - "scanQr": "اسکن QR کد", - "manually": "افزودن دستی", - "addingProfileMsg": "در حال افزودن پروفایل", - "invalidUrlMsg": "لینک نامعتبر" - }, - "update": { - "buttonTxt": "بروزرسانی", - "tooltip": "بروزرسانی پروفایل", - "failureMsg": "در بروزرسانی پروفایل خطایی رخ داد: ${reason}", - "successMsg": "پروفایل با موفقیت بروزرسانی شد" - }, - "edit": { - "buttonTxt": "ویرایش", - "selectActiveTxt": "انتخاب پروفایل فعال" - }, - "delete": { - "buttonTxt": "حذف", - "confirmationMsg": "حذف پروفایل برای همیشه؟", - "successMsg": "پروفایل با موفقیت حذف شد" - }, - "save": { - "buttonText": "ذخیره", - "successMsg": "پروفایل با موفقیت ذخیره شد" - }, - "detailsForm": { - "nameLabel": "نام", - "nameHint": "نام پروفایل", - "urlLabel": "لینک", - "urlHint": "آدرس کامل کانفیگ", - "emptyNameMsg": "نام نمی‌تواند خالی باشد", - "invalidUrlMsg": "لینک نامعتبر", - "lastUpdate": "آخرین بروزرسانی", - "updateInterval": "بروزرسانی خودکار", - "updateIntervalDialogTitle": "فاصله زمانی بروزرسانی خودکار (ساعت)" - } - }, - "proxies": { - "pageTitle": "پراکسی‌ها", - "emptyProxiesMsg": "پراکسی وجود ندارد", - "delayTestTooltip": "تست تاخیر", - "sortTooltip": "مرتب‌سازی پراکسی‌ها", - "sortOptions": { - "unsorted": "پیش‌فرض", - "name": "براساس نام", - "delay": "براساس تاخیر" - } - }, - "logs": { - "pageTitle": "لاگ‌ها", - "clearLogsButtonText": "پاک‌سازی", - "filterHint": "فیلتر", - "allLevelsFilter": "همه", - "shareCoreLogs": "اشتراک‌گذاری لاگ هسته", - "shareAppLogs": "اشتراک‌گذاری لاگ برنامه" - }, - "settings": { - "pageTitle": "تنظیمات", - "requiresRestartMsg": "برای اعمال این تنظیم برنامه را بازنشانی کنید", - "general": { - "sectionTitle": "اصلی", - "locale": "زبان", - "region": "منطقه", - "regionMsg": "به انتخاب تنظیمات پیش‌فرض برای دورزدن آدرس‌های داخلی کمک میکند", - "regions": { - "ir": "ایران (ir)", - "cn": "چین (cn)", - "other": "سایر" - }, - "themeMode": "تم مود", - "themeModes": { - "system": "پیروی از تم دستگاه", - "dark": "تم تیره", - "light": "تم روشن" - }, - "enableAnalytics": "فعال‌سازی آنالیتیکز", - "enableAnalyticsMsg": "ارائه دسترسی آنالیز و گزارش خطا برای بهبود عملکرد برنامه", - "trueBlack": "کاملا سیاه", - "autoStart": "اجرا با روشن شدن سیستم", - "silentStart": "اجرای ساکت", - "openWorkingDir": "باز کردن دایرکتوری کاری", - "ignoreBatteryOptimizations": "غیرفعال کردن بهینه‌سازی باتری", - "ignoreBatteryOptimizationsMsg": "حذف محدودیت‌ها برای عملکرد بهتر VPN" - }, - "advanced": { - "sectionTitle": "پیشرفته", - "debugMode": "دیباگ مود", - "debugModeMsg": "برای اعمال این تغییر اپ را ری‌استارت کنید" - }, - "network": { - "perAppProxyPageTitle": "پراکسی برنامه‌ها", - "perAppProxyModes": { - "off": "همه", - "offMsg": "همه برنامه‌ها پراکسی میشوند", - "include": "پراکسی", - "includeMsg": "تنها برنامه‌های انتخاب شده پراکسی میشوند", - "exclude": "بایپس", - "excludeMsg": "همه بجز برنامه‌های انتخاب شده پراکسی میشوند" - }, - "showSystemApps": "نمایش برنامه‌های سیستمی", - "hideSystemApps": "مخفی کردن برنامه‌های سیستمی", - "clearSelection": "حذف انتخاب‌ها" - }, - "config": { - "section": { - "route": "تنظیمات مسیریاب", - "dns": "تنظیمات DNS", - "inbound": "تنظیمات ورودی", - "misc": "تنظیمات متفرقه" - }, - "pageTitle": "تنظیمات کانفیگ", - "executeConfigAsIs": "اجرای کانفیگ بدون تغییر", - "executeConfigAsIsMsg": "کانفیگ موجود را با تغییرات حداقلی اجرا می‌کند. فقط برای کانفیگ‌های سینگ‌باکس کار می‌کند", - "logLevel": "سطح لاگ", - "resolveDestination": "جایگذاری IP مقصد", - "ipv6Mode": "مسیریابی IPV6 در تونل", - "ipv6Modes": { - "disable": "غیرفعال", - "enable": "فعال", - "prefer": "ترجیح", - "only": "فقط" - }, - "remoteDnsAddress": "DNS خارجی", - "remoteDnsDomainStrategy": "حالت DNS خارجی", - "directDnsAddress": "DNS مستقیم", - "directDnsDomainStrategy": "حالت DNS مستقیم", - "mixedPort": "پورت همه منظوره", - "localDnsPort": "پورت DNS داخلی", - "tunImplementation": "مدل تونل", - "mtu": "سایز بسته‌ها", - "connectionTestUrl": "لینک تست اتصال", - "urlTestInterval": "زمان تست اتصال", - "enableClashApi": "فعالسازی کلش", - "clashApiPort": "پورت کلش", - "enableTun": "فعال سازی تونل", - "setSystemProxy": "تنظیم پروکسی سیستم" - } - }, - "about": { - "pageTitle": "درباره", - "version": "ورژن", - "sourceCode": "سورس کد", - "telegramChannel": "کانال تلگرام", - "checkForUpdate": "بررسی آپدیت جدید", - "privacyPolicy": "سیاست حفظ حریم خصوصی", - "termsAndConditions": "شرایط و ضوابط استفاده" - }, - "appUpdate": { - "notAvailableMsg": "نسخه جدیدی یافت نشد", - "dialogTitle": "نسخه جدید موجود است", - "updateMsg": "نسخه جدیدی از @:general.appTitle موجود است! الان بروزرسانی شود؟", - "currentVersionLbl": "نسخه فعلی", - "newVersionLbl": "نسخه جدید", - "updateNowBtnTxt": "بروزرسانی", - "laterBtnTxt": "بعدا", - "ignoreBtnTxt": "نادیده‌گرفتن" - }, - "tray": { - "dashboard": "داشبورد", - "quit": "خروج", - "systemProxy": "پراکسی سیستم" - }, - "failure": { - "unexpected": "خطای غیرمنتظره", - "clash": { - "unexpected": "خطای غیرمنتظره", - "core": "خطای کلش ${reason}" - }, - "singbox": { - "unexpected": "خطای غیرمنتظره در سرویس", - "serviceNotRunning": "سرویس در حال اجرا نیست", - "invalidConfigOptions": "تنظیمات کانفیگ نامعتبر", - "invalidConfig": "کانفیگ غیر معتبر", - "create": "در ایجاد سرویس خطایی رخ داده", - "start": "در راه‌اندازی سرویس خطایی رخ داده" - }, - "connectivity": { - "unexpected": "خطای غیرمنتظره", - "missingVpnPermission": "نیازمند دسترسی VPN", - "missingNotificationPermission": "نیازمند دسترسی اعلانات", - "core": "خطای هسته" - }, - "profiles": { - "unexpected": "خطای غیرمنتظره", - "notFound": "پروفایل یافت نشد", - "invalidConfig": "کانفیگ غیر معتبر" - } - } -} \ No newline at end of file +{"general": {"appTitle": "\u0647\u06cc\u062f\u06cc\u0641\u0627\u06cc \u0646\u06a9\u0633\u062a", "reset": "\u0628\u0627\u0632\u0646\u0634\u0627\u0646\u06cc", "toggle": {"enabled": "\u0641\u0639\u0627\u0644", "disabled": "\u063a\u06cc\u0631 \u0641\u0639\u0627\u0644"}, "state": {"disable": "\u063a\u06cc\u0631 \u0641\u0639\u0627\u0644"}, "sort": "\u0645\u0631\u062a\u0628\u200c\u0633\u0627\u0632\u06cc", "sortBy": "\u0645\u0631\u062a\u0628\u200c\u0633\u0627\u0632\u06cc \u0628\u0631\u0627\u0633\u0627\u0633"}, "intro": {"termsAndPolicyCaution(rich)": "\u062f\u0631 \u0635\u0648\u0631\u062a \u0627\u062f\u0627\u0645\u0647 \u0628\u0627 ${tap(@:about.termsAndConditions)} \u0645\u0648\u0627\u0641\u0642\u062a \u0645\u06cc\u06a9\u0646\u06cc\u062f", "start": "\u0634\u0631\u0648\u0639"}, "home": {"pageTitle": "\u062e\u0627\u0646\u0647", "emptyProfilesMsg": "\u0628\u0627 \u0627\u0641\u0632\u0648\u062f\u0646 \u067e\u0631\u0648\u0641\u0627\u06cc\u0644 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f", "noActiveProfileMsg": "\u06cc\u06a9 \u067e\u0631\u0648\u0641\u0627\u06cc\u0644 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f", "connection": {"tapToConnect": "\u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0636\u0631\u0628\u0647 \u0628\u0632\u0646\u06cc\u062f", "connecting": "\u062f\u0631 \u062d\u0627\u0644 \u0627\u062a\u0635\u0627\u0644", "disconnecting": "\u062f\u0631 \u062d\u0627\u0644 \u0642\u0637\u0639 \u0627\u062a\u0635\u0627\u0644", "connected": "\u0645\u062a\u0635\u0644"}, "stats": {"traffic": "\u0645\u0635\u0631\u0641 \u0644\u062d\u0638\u0647\u200c\u0627\u06cc", "trafficTotal": "\u0645\u0635\u0631\u0641 \u06a9\u0644", "uplink": "\u0627\u0631\u0633\u0627\u0644", "downlink": "\u062f\u0631\u06cc\u0627\u0641\u062a"}}, "profile": {"overviewPageTitle": "\u067e\u0631\u0648\u0641\u0627\u06cc\u0644\u200c\u0647\u0627", "detailsPageTitle": "\u067e\u0631\u0648\u0641\u0627\u06cc\u0644", "activeProfileNameSemanticLabel": "\u0646\u0627\u0645 \u067e\u0631\u0648\u0641\u0627\u06cc\u0644 \u0641\u0639\u0627\u0644: ${name}", "activeProfileBtnSemanticLabel": "\u0647\u0645\u0647\u200c\u06cc \u067e\u0631\u0648\u0641\u0627\u06cc\u0644\u200c\u0647\u0627", "nonActiveProfileBtnSemanticLabel": "\u0627\u0646\u062a\u062e\u0627\u0628 ${name} \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u067e\u0631\u0648\u0641\u0627\u06cc\u0644 \u0641\u0639\u0627\u0644", "subscription": {"traffic": "\u062a\u0631\u0627\u0641\u06cc\u06a9", "updatedTimeAgo": "\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0634\u062f\u0647 \u062f\u0631 ${timeago}", "remainingDuration": "${duration} \u0631\u0648\u0632 \u0628\u0627\u0642\u06cc \u0645\u0627\u0646\u062f\u0647", "remainingTrafficSemanticLabel": "${consumed} \u0627\u0632 ${total} \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0645\u0635\u0631\u0641 \u0634\u062f\u0647", "expired": "\u0645\u0646\u0642\u0636\u06cc \u0634\u062f\u0647", "noTraffic": "\u067e\u0627\u06cc\u0627\u0646 \u062a\u0631\u0627\u0641\u06cc\u06a9"}, "sortBy": {"lastUpdate": "\u0627\u062e\u06cc\u0631\u0627 \u0628\u0631\u0648\u0632 \u0634\u062f\u0647", "name": "\u0628\u0631\u0627\u0633\u0627\u0633 \u0646\u0627\u0645"}, "add": {"buttonText": "\u0627\u0641\u0632\u0648\u062f\u0646 \u067e\u0631\u0648\u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f", "shortBtnTxt": "\u0627\u0641\u0632\u0648\u062f\u0646", "fromClipboard": "\u0627\u0641\u0632\u0648\u062f\u0646 \u0627\u0632 \u06a9\u0644\u06cc\u067e\u200c\u0628\u0648\u0631\u062f", "scanQr": "\u0627\u0633\u06a9\u0646 QR \u06a9\u062f", "manually": "\u0627\u0641\u0632\u0648\u062f\u0646 \u062f\u0633\u062a\u06cc", "addingProfileMsg": "\u062f\u0631 \u062d\u0627\u0644 \u0627\u0641\u0632\u0648\u062f\u0646 \u067e\u0631\u0648\u0641\u0627\u06cc\u0644", "invalidUrlMsg": "\u0644\u06cc\u0646\u06a9 \u0646\u0627\u0645\u0639\u062a\u0628\u0631"}, "update": {"buttonTxt": "\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc", "tooltip": "\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u067e\u0631\u0648\u0641\u0627\u06cc\u0644", "failureMsg": "\u062f\u0631 \u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u067e\u0631\u0648\u0641\u0627\u06cc\u0644 \u062e\u0637\u0627\u06cc\u06cc \u0631\u062e \u062f\u0627\u062f: ${reason}", "successMsg": "\u067e\u0631\u0648\u0641\u0627\u06cc\u0644 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0634\u062f"}, "edit": {"buttonTxt": "\u0648\u06cc\u0631\u0627\u06cc\u0634", "selectActiveTxt": "\u0627\u0646\u062a\u062e\u0627\u0628 \u067e\u0631\u0648\u0641\u0627\u06cc\u0644 \u0641\u0639\u0627\u0644"}, "delete": {"buttonTxt": "\u062d\u0630\u0641", "confirmationMsg": "\u062d\u0630\u0641 \u067e\u0631\u0648\u0641\u0627\u06cc\u0644 \u0628\u0631\u0627\u06cc \u0647\u0645\u06cc\u0634\u0647\u061f", "successMsg": "\u067e\u0631\u0648\u0641\u0627\u06cc\u0644 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u062d\u0630\u0641 \u0634\u062f"}, "save": {"buttonText": "\u0630\u062e\u06cc\u0631\u0647", "successMsg": "\u067e\u0631\u0648\u0641\u0627\u06cc\u0644 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f"}, "detailsForm": {"nameLabel": "\u0646\u0627\u0645", "nameHint": "\u0646\u0627\u0645 \u067e\u0631\u0648\u0641\u0627\u06cc\u0644", "urlLabel": "\u0644\u06cc\u0646\u06a9", "urlHint": "\u0622\u062f\u0631\u0633 \u06a9\u0627\u0645\u0644 \u06a9\u0627\u0646\u0641\u06cc\u06af", "emptyNameMsg": "\u0646\u0627\u0645 \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u062e\u0627\u0644\u06cc \u0628\u0627\u0634\u062f", "invalidUrlMsg": "\u0644\u06cc\u0646\u06a9 \u0646\u0627\u0645\u0639\u062a\u0628\u0631", "lastUpdate": "\u0622\u062e\u0631\u06cc\u0646 \u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc", "updateInterval": "\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631", "updateIntervalDialogTitle": "\u0641\u0627\u0635\u0644\u0647 \u0632\u0645\u0627\u0646\u06cc \u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 (\u0633\u0627\u0639\u062a)"}}, "proxies": {"pageTitle": "\u067e\u0631\u0627\u06a9\u0633\u06cc\u200c\u0647\u0627", "emptyProxiesMsg": "\u067e\u0631\u0627\u06a9\u0633\u06cc \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f", "delayTestTooltip": "\u062a\u0633\u062a \u062a\u0627\u062e\u06cc\u0631", "sortTooltip": "\u0645\u0631\u062a\u0628\u200c\u0633\u0627\u0632\u06cc \u067e\u0631\u0627\u06a9\u0633\u06cc\u200c\u0647\u0627", "sortOptions": {"unsorted": "\u067e\u06cc\u0634\u200c\u0641\u0631\u0636", "name": "\u0628\u0631\u0627\u0633\u0627\u0633 \u0646\u0627\u0645", "delay": "\u0628\u0631\u0627\u0633\u0627\u0633 \u062a\u0627\u062e\u06cc\u0631"}}, "logs": {"pageTitle": "\u0644\u0627\u06af\u200c\u0647\u0627", "clearLogsButtonText": "\u067e\u0627\u06a9\u200c\u0633\u0627\u0632\u06cc", "filterHint": "\u0641\u06cc\u0644\u062a\u0631", "allLevelsFilter": "\u0647\u0645\u0647", "shareCoreLogs": "\u0627\u0634\u062a\u0631\u0627\u06a9\u200c\u06af\u0630\u0627\u0631\u06cc \u0644\u0627\u06af \u0647\u0633\u062a\u0647", "shareAppLogs": "\u0627\u0634\u062a\u0631\u0627\u06a9\u200c\u06af\u0630\u0627\u0631\u06cc \u0644\u0627\u06af \u0628\u0631\u0646\u0627\u0645\u0647"}, "settings": {"pageTitle": "\u062a\u0646\u0638\u06cc\u0645\u0627\u062a", "requiresRestartMsg": "\u0628\u0631\u0627\u06cc \u0627\u0639\u0645\u0627\u0644 \u0627\u06cc\u0646 \u062a\u0646\u0638\u06cc\u0645 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0628\u0627\u0632\u0646\u0634\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f", "general": {"sectionTitle": "\u0627\u0635\u0644\u06cc", "locale": "\u0632\u0628\u0627\u0646", "region": "\u0645\u0646\u0637\u0642\u0647", "regionMsg": "\u0628\u0647 \u0627\u0646\u062a\u062e\u0627\u0628 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0628\u0631\u0627\u06cc \u062f\u0648\u0631\u0632\u062f\u0646 \u0622\u062f\u0631\u0633\u200c\u0647\u0627\u06cc \u062f\u0627\u062e\u0644\u06cc \u06a9\u0645\u06a9 \u0645\u06cc\u06a9\u0646\u062f", "regions": {"ir": "\u0627\u06cc\u0631\u0627\u0646 (ir)", "cn": "\u0686\u06cc\u0646 (cn)", "other": "\u0633\u0627\u06cc\u0631"}, "themeMode": "\u062a\u0645 \u0645\u0648\u062f", "themeModes": {"system": "\u067e\u06cc\u0631\u0648\u06cc \u0627\u0632 \u062a\u0645 \u062f\u0633\u062a\u06af\u0627\u0647", "dark": "\u062a\u0645 \u062a\u06cc\u0631\u0647", "light": "\u062a\u0645 \u0631\u0648\u0634\u0646"}, "enableAnalytics": "\u0641\u0639\u0627\u0644\u200c\u0633\u0627\u0632\u06cc \u0622\u0646\u0627\u0644\u06cc\u062a\u06cc\u06a9\u0632", "enableAnalyticsMsg": "\u0627\u0631\u0627\u0626\u0647 \u062f\u0633\u062a\u0631\u0633\u06cc \u0622\u0646\u0627\u0644\u06cc\u0632 \u0648 \u06af\u0632\u0627\u0631\u0634 \u062e\u0637\u0627 \u0628\u0631\u0627\u06cc \u0628\u0647\u0628\u0648\u062f \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0631\u0646\u0627\u0645\u0647", "trueBlack": "\u06a9\u0627\u0645\u0644\u0627 \u0633\u06cc\u0627\u0647", "autoStart": "\u0627\u062c\u0631\u0627 \u0628\u0627 \u0631\u0648\u0634\u0646 \u0634\u062f\u0646 \u0633\u06cc\u0633\u062a\u0645", "silentStart": "\u0627\u062c\u0631\u0627\u06cc \u0633\u0627\u06a9\u062a", "openWorkingDir": "\u0628\u0627\u0632 \u06a9\u0631\u062f\u0646 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u06a9\u0627\u0631\u06cc", "ignoreBatteryOptimizations": "\u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 \u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc \u0628\u0627\u062a\u0631\u06cc", "ignoreBatteryOptimizationsMsg": "\u062d\u0630\u0641 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0647\u062a\u0631 VPN"}, "advanced": {"sectionTitle": "\u067e\u06cc\u0634\u0631\u0641\u062a\u0647", "debugMode": "\u062f\u06cc\u0628\u0627\u06af \u0645\u0648\u062f", "debugModeMsg": "\u0628\u0631\u0627\u06cc \u0627\u0639\u0645\u0627\u0644 \u0627\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631 \u0627\u067e \u0631\u0627 \u0631\u06cc\u200c\u0627\u0633\u062a\u0627\u0631\u062a \u06a9\u0646\u06cc\u062f"}, "network": {"perAppProxyPageTitle": "\u067e\u0631\u0627\u06a9\u0633\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627", "perAppProxyModes": {"off": "\u0647\u0645\u0647", "offMsg": "\u0647\u0645\u0647 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627 \u067e\u0631\u0627\u06a9\u0633\u06cc \u0645\u06cc\u0634\u0648\u0646\u062f", "include": "\u067e\u0631\u0627\u06a9\u0633\u06cc", "includeMsg": "\u062a\u0646\u0647\u0627 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u0627\u0646\u062a\u062e\u0627\u0628 \u0634\u062f\u0647 \u067e\u0631\u0627\u06a9\u0633\u06cc \u0645\u06cc\u0634\u0648\u0646\u062f", "exclude": "\u0628\u0627\u06cc\u067e\u0633", "excludeMsg": "\u0647\u0645\u0647 \u0628\u062c\u0632 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u0627\u0646\u062a\u062e\u0627\u0628 \u0634\u062f\u0647 \u067e\u0631\u0627\u06a9\u0633\u06cc \u0645\u06cc\u0634\u0648\u0646\u062f"}, "showSystemApps": "\u0646\u0645\u0627\u06cc\u0634 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u0633\u06cc\u0633\u062a\u0645\u06cc", "hideSystemApps": "\u0645\u062e\u0641\u06cc \u06a9\u0631\u062f\u0646 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u0633\u06cc\u0633\u062a\u0645\u06cc", "clearSelection": "\u062d\u0630\u0641 \u0627\u0646\u062a\u062e\u0627\u0628\u200c\u0647\u0627"}, "config": {"section": {"route": "\u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0645\u0633\u06cc\u0631\u06cc\u0627\u0628", "dns": "\u062a\u0646\u0638\u06cc\u0645\u0627\u062a DNS", "inbound": "\u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0648\u0631\u0648\u062f\u06cc", "misc": "\u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0645\u062a\u0641\u0631\u0642\u0647"}, "pageTitle": "\u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u06a9\u0627\u0646\u0641\u06cc\u06af", "executeConfigAsIs": "\u0627\u062c\u0631\u0627\u06cc \u06a9\u0627\u0646\u0641\u06cc\u06af \u0628\u062f\u0648\u0646 \u062a\u063a\u06cc\u06cc\u0631", "executeConfigAsIsMsg": "\u06a9\u0627\u0646\u0641\u06cc\u06af \u0645\u0648\u062c\u0648\u062f \u0631\u0627 \u0628\u0627 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u062d\u062f\u0627\u0642\u0644\u06cc \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0641\u0642\u0637 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0646\u0641\u06cc\u06af\u200c\u0647\u0627\u06cc \u0633\u06cc\u0646\u06af\u200c\u0628\u0627\u06a9\u0633 \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f", "logLevel": "\u0633\u0637\u062d \u0644\u0627\u06af", "resolveDestination": "\u062c\u0627\u06cc\u06af\u0630\u0627\u0631\u06cc IP \u0645\u0642\u0635\u062f", "ipv6Mode": "\u0645\u0633\u06cc\u0631\u06cc\u0627\u0628\u06cc IPV6 \u062f\u0631 \u062a\u0648\u0646\u0644", "ipv6Modes": {"disable": "\u063a\u06cc\u0631\u0641\u0639\u0627\u0644", "enable": "\u0641\u0639\u0627\u0644", "prefer": "\u062a\u0631\u062c\u06cc\u062d", "only": "\u0641\u0642\u0637"}, "remoteDnsAddress": "DNS \u062e\u0627\u0631\u062c\u06cc", "remoteDnsDomainStrategy": "\u062d\u0627\u0644\u062a DNS \u062e\u0627\u0631\u062c\u06cc", "directDnsAddress": "DNS \u0645\u0633\u062a\u0642\u06cc\u0645", "directDnsDomainStrategy": "\u062d\u0627\u0644\u062a DNS \u0645\u0633\u062a\u0642\u06cc\u0645", "mixedPort": "\u067e\u0648\u0631\u062a \u0647\u0645\u0647 \u0645\u0646\u0638\u0648\u0631\u0647", "localDnsPort": "\u067e\u0648\u0631\u062a DNS \u062f\u0627\u062e\u0644\u06cc", "tunImplementation": "\u0645\u062f\u0644 \u062a\u0648\u0646\u0644", "mtu": "\u0633\u0627\u06cc\u0632 \u0628\u0633\u062a\u0647\u200c\u0647\u0627", "connectionTestUrl": "\u0644\u06cc\u0646\u06a9 \u062a\u0633\u062a \u0627\u062a\u0635\u0627\u0644", "urlTestInterval": "\u0632\u0645\u0627\u0646 \u062a\u0633\u062a \u0627\u062a\u0635\u0627\u0644", "enableClashApi": "\u0641\u0639\u0627\u0644\u0633\u0627\u0632\u06cc \u06a9\u0644\u0634", "clashApiPort": "\u067e\u0648\u0631\u062a \u06a9\u0644\u0634", "enableTun": "\u0641\u0639\u0627\u0644 \u0633\u0627\u0632\u06cc \u062a\u0648\u0646\u0644", "setSystemProxy": "\u062a\u0646\u0638\u06cc\u0645 \u067e\u0631\u0648\u06a9\u0633\u06cc \u0633\u06cc\u0633\u062a\u0645"}}, "about": {"pageTitle": "\u062f\u0631\u0628\u0627\u0631\u0647", "version": "\u0648\u0631\u0698\u0646", "sourceCode": "\u0633\u0648\u0631\u0633 \u06a9\u062f", "telegramChannel": "\u06a9\u0627\u0646\u0627\u0644 \u062a\u0644\u06af\u0631\u0627\u0645", "checkForUpdate": "\u0628\u0631\u0631\u0633\u06cc \u0622\u067e\u062f\u06cc\u062a \u062c\u062f\u06cc\u062f", "privacyPolicy": "\u0633\u06cc\u0627\u0633\u062a \u062d\u0641\u0638 \u062d\u0631\u06cc\u0645 \u062e\u0635\u0648\u0635\u06cc", "termsAndConditions": "\u0634\u0631\u0627\u06cc\u0637 \u0648 \u0636\u0648\u0627\u0628\u0637 \u0627\u0633\u062a\u0641\u0627\u062f\u0647"}, "appUpdate": {"notAvailableMsg": "\u0646\u0633\u062e\u0647 \u062c\u062f\u06cc\u062f\u06cc \u06cc\u0627\u0641\u062a \u0646\u0634\u062f", "dialogTitle": "\u0646\u0633\u062e\u0647 \u062c\u062f\u06cc\u062f \u0645\u0648\u062c\u0648\u062f \u0627\u0633\u062a", "updateMsg": "\u0646\u0633\u062e\u0647 \u062c\u062f\u06cc\u062f\u06cc \u0627\u0632 @:general.appTitle \u0645\u0648\u062c\u0648\u062f \u0627\u0633\u062a! \u0627\u0644\u0627\u0646 \u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0634\u0648\u062f\u061f", "currentVersionLbl": "\u0646\u0633\u062e\u0647 \u0641\u0639\u0644\u06cc", "newVersionLbl": "\u0646\u0633\u062e\u0647 \u062c\u062f\u06cc\u062f", "updateNowBtnTxt": "\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc", "laterBtnTxt": "\u0628\u0639\u062f\u0627", "ignoreBtnTxt": "\u0646\u0627\u062f\u06cc\u062f\u0647\u200c\u06af\u0631\u0641\u062a\u0646"}, "tray": {"dashboard": "\u062f\u0627\u0634\u0628\u0648\u0631\u062f", "quit": "\u062e\u0631\u0648\u062c", "systemProxy": "\u067e\u0631\u0627\u06a9\u0633\u06cc \u0633\u06cc\u0633\u062a\u0645"}, "failure": {"unexpected": "\u062e\u0637\u0627\u06cc \u063a\u06cc\u0631\u0645\u0646\u062a\u0638\u0631\u0647", "clash": {"unexpected": "\u062e\u0637\u0627\u06cc \u063a\u06cc\u0631\u0645\u0646\u062a\u0638\u0631\u0647", "core": "\u062e\u0637\u0627\u06cc \u06a9\u0644\u0634 ${reason}"}, "singbox": {"unexpected": "\u062e\u0637\u0627\u06cc \u063a\u06cc\u0631\u0645\u0646\u062a\u0638\u0631\u0647 \u062f\u0631 \u0633\u0631\u0648\u06cc\u0633", "serviceNotRunning": "\u0633\u0631\u0648\u06cc\u0633 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0646\u06cc\u0633\u062a", "invalidConfigOptions": "\u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u06a9\u0627\u0646\u0641\u06cc\u06af \u0646\u0627\u0645\u0639\u062a\u0628\u0631", "invalidConfig": "\u06a9\u0627\u0646\u0641\u06cc\u06af \u063a\u06cc\u0631 \u0645\u0639\u062a\u0628\u0631", "create": "\u062f\u0631 \u0627\u06cc\u062c\u0627\u062f \u0633\u0631\u0648\u06cc\u0633 \u062e\u0637\u0627\u06cc\u06cc \u0631\u062e \u062f\u0627\u062f\u0647", "start": "\u062f\u0631 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0633\u0631\u0648\u06cc\u0633 \u062e\u0637\u0627\u06cc\u06cc \u0631\u062e \u062f\u0627\u062f\u0647"}, "connectivity": {"unexpected": "\u062e\u0637\u0627\u06cc \u063a\u06cc\u0631\u0645\u0646\u062a\u0638\u0631\u0647", "missingVpnPermission": "\u0646\u06cc\u0627\u0632\u0645\u0646\u062f \u062f\u0633\u062a\u0631\u0633\u06cc VPN", "missingNotificationPermission": "\u0646\u06cc\u0627\u0632\u0645\u0646\u062f \u062f\u0633\u062a\u0631\u0633\u06cc \u0627\u0639\u0644\u0627\u0646\u0627\u062a", "core": "\u062e\u0637\u0627\u06cc \u0647\u0633\u062a\u0647"}, "profiles": {"unexpected": "\u062e\u0637\u0627\u06cc \u063a\u06cc\u0631\u0645\u0646\u062a\u0638\u0631\u0647", "notFound": "\u067e\u0631\u0648\u0641\u0627\u06cc\u0644 \u06cc\u0627\u0641\u062a \u0646\u0634\u062f", "invalidConfig": "\u06a9\u0627\u0646\u0641\u06cc\u06af \u063a\u06cc\u0631 \u0645\u0639\u062a\u0628\u0631"}}} \ No newline at end of file diff --git a/assets/translations/strings_ru.i18n.json b/assets/translations/strings_ru.i18n.json new file mode 100644 index 00000000..27929b6a --- /dev/null +++ b/assets/translations/strings_ru.i18n.json @@ -0,0 +1 @@ +{"general": {"appTitle": "\u0421\u043a\u0440\u044b\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435", "reset": "\u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c", "toggle": {"enabled": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u043e", "disabled": "\u041d\u0435\u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439"}, "state": {"disable": "\u0417\u0430\u043f\u0440\u0435\u0449\u0430\u0442\u044c"}, "sort": "\u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c", "sortBy": "\u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e"}, "intro": {"termsAndPolicyCaution(rich)": "\u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044f, \u0432\u044b \u0441\u043e\u0433\u043b\u0430\u0448\u0430\u0435\u0442\u0435\u0441\u044c \u0441 ${tap(@:about.termsAndConditions)}", "start": "\u041d\u0430\u0447\u0438\u043d\u0430\u0442\u044c"}, "home": {"pageTitle": "\u0414\u043e\u043c", "emptyProfilesMsg": "\u041d\u0430\u0447\u043d\u0438\u0442\u0435 \u0441 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0444\u0438\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438", "noActiveProfileMsg": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u044c", "connection": {"tapToConnect": "\u041d\u0430\u0436\u043c\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f", "connecting": "\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435", "disconnecting": "\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435", "connected": "\u0421\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0439"}, "stats": {"traffic": "\u0416\u0438\u0432\u043e\u0439 \u0442\u0440\u0430\u0444\u0438\u043a", "trafficTotal": "\u041e\u0431\u0449\u0438\u0439 \u0442\u0440\u0430\u0444\u0438\u043a", "uplink": "\u0432\u043e\u0441\u0445\u043e\u0434\u044f\u0449\u0430\u044f \u043b\u0438\u043d\u0438\u044f \u0441\u0432\u044f\u0437\u0438", "downlink": "\u041d\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0430\u044f \u043b\u0438\u043d\u0438\u044f \u0441\u0432\u044f\u0437\u0438"}}, "profile": {"overviewPageTitle": "\u041f\u0440\u043e\u0444\u0438\u043b\u0438", "detailsPageTitle": "\u041f\u0440\u043e\u0444\u0438\u043b\u044c", "activeProfileNameSemanticLabel": "\u0418\u043c\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044f: \u00ab${name}\u00bb.", "activeProfileBtnSemanticLabel": "\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u0441\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u0438.", "nonActiveProfileBtnSemanticLabel": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u00ab${name}\u00bb \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044f.", "subscription": {"traffic": "\u0422\u0440\u0430\u0444\u0438\u043a", "updatedTimeAgo": "\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043e ${timeago}", "remainingDuration": "\u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c ${duration} \u0434\u043d\u0435\u0439", "remainingTrafficSemanticLabel": "${consumed} \u0438\u0437 ${total} \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430.", "expired": "\u0418\u0441\u0442\u0435\u043a\u0448\u0438\u0439", "noTraffic": "\u0411\u043e\u043b\u044c\u0448\u0435 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430"}, "sortBy": {"lastUpdate": "\u041d\u0435\u0434\u0430\u0432\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439", "name": "\u041f\u043e \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u0443"}, "add": {"buttonText": "\u041d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c", "shortBtnTxt": "\u041d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c", "fromClipboard": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0438\u0437 \u0431\u0443\u0444\u0435\u0440\u0430 \u043e\u0431\u043c\u0435\u043d\u0430", "scanQr": "\u0421\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c QR-\u043a\u043e\u0434", "manually": "\u0420\u0443\u0447\u043d\u043e\u0439 \u0432\u0432\u043e\u0434", "addingProfileMsg": "\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u044f", "invalidUrlMsg": "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430"}, "update": {"buttonTxt": "\u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c", "tooltip": "\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0444\u0438\u043b\u044c", "failureMsg": "\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e: ${reason}", "successMsg": "\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d"}, "edit": {"buttonTxt": "\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c", "selectActiveTxt": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c"}, "delete": {"buttonTxt": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c", "confirmationMsg": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430?", "successMsg": "\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0443\u0434\u0430\u043b\u0435\u043d"}, "save": {"buttonText": "\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c", "successMsg": "\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d"}, "detailsForm": {"nameLabel": "\u0418\u043c\u044f", "nameHint": "\u0418\u043c\u044f \u043f\u0440\u043e\u0444\u0438\u043b\u044f", "urlLabel": "URL-\u0430\u0434\u0440\u0435\u0441", "urlHint": "\u041f\u043e\u043b\u043d\u044b\u0439 URL \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438", "emptyNameMsg": "\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u043c\u044f", "invalidUrlMsg": "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430", "lastUpdate": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435", "updateInterval": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435", "updateIntervalDialogTitle": "\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f (\u0432 \u0447\u0430\u0441\u0430\u0445)"}}, "proxies": {"pageTitle": "\u041f\u0440\u043e\u043a\u0441\u0438", "emptyProxiesMsg": "\u041d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043f\u0440\u043e\u043a\u0441\u0438", "delayTestTooltip": "\u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0430 \u0442\u0435\u0441\u0442\u0430", "sortTooltip": "\u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u0440\u043e\u043a\u0441\u0438", "sortOptions": {"unsorted": "\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e", "name": "\u041f\u043e \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u0443", "delay": "\u041f\u043e \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0435"}}, "logs": {"pageTitle": "\u0416\u0443\u0440\u043d\u0430\u043b\u044b", "clearLogsButtonText": "\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0436\u0443\u0440\u043d\u0430\u043b\u044b", "filterHint": "\u0424\u0438\u043b\u044c\u0442\u0440", "allLevelsFilter": "\u0412\u0441\u0435", "shareCoreLogs": "\u041f\u043e\u0434\u0435\u043b\u0438\u0442\u0435\u0441\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u0436\u0443\u0440\u043d\u0430\u043b\u0430\u043c\u0438", "shareAppLogs": "\u0414\u0435\u043b\u0438\u0442\u0435\u0441\u044c \u0436\u0443\u0440\u043d\u0430\u043b\u0430\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439"}, "settings": {"pageTitle": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438", "requiresRestartMsg": "\u0427\u0442\u043e\u0431\u044b \u044d\u0442\u043e \u0432\u0441\u0442\u0443\u043f\u0438\u043b\u043e \u0432 \u0441\u0438\u043b\u0443, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435.", "general": {"sectionTitle": "\u041e\u0431\u0449\u0438\u0439", "locale": "\u042f\u0437\u044b\u043a", "region": "\u041e\u0431\u043b\u0430\u0441\u0442\u044c", "regionMsg": "\u041f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0434\u043b\u044f \u043e\u0431\u0445\u043e\u0434\u0430 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432.", "regions": {"ir": "\u0418\u0440\u0430\u043d (\u0438\u0440)", "cn": "\u041a\u0438\u0442\u0430\u0439 (\u043a\u043d)", "other": "\u0414\u0440\u0443\u0433\u043e\u0439"}, "themeMode": "\u0422\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0435\u0436\u0438\u043c", "themeModes": {"system": "\u0421\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u0442\u0435\u043c\u0435", "dark": "\u0422\u0435\u043c\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c", "light": "\u0421\u0432\u0435\u0442\u043b\u044b\u0439 \u0440\u0435\u0436\u0438\u043c"}, "enableAnalytics": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0443", "enableAnalyticsMsg": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0443 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043e\u0442\u0447\u0435\u0442\u044b \u043e \u0441\u0431\u043e\u044f\u0445 \u0434\u043b\u044f \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.", "trueBlack": "\u0427\u0438\u0441\u0442\u044b\u0439 \u0447\u0435\u0440\u043d\u044b\u0439", "autoStart": "\u041d\u0430\u0447\u0430\u0442\u044c \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435", "silentStart": "\u0422\u0438\u0445\u0438\u0439 \u0441\u0442\u0430\u0440\u0442", "openWorkingDir": "\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433", "ignoreBatteryOptimizations": "\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e \u0431\u0430\u0442\u0430\u0440\u0435\u0438", "ignoreBatteryOptimizationsMsg": "\u0421\u043d\u0438\u043c\u0438\u0442\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 VPN."}, "advanced": {"sectionTitle": "\u041f\u0435\u0440\u0435\u0434\u043e\u0432\u043e\u0439", "debugMode": "\u0420\u0435\u0436\u0438\u043c \u043e\u0442\u043b\u0430\u0434\u043a\u0438", "debugModeMsg": "\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435."}, "network": {"perAppProxyPageTitle": "\u041f\u0440\u043e\u043a\u0441\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f", "perAppProxyModes": {"off": "\u0412\u0441\u0435", "offMsg": "\u041f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f", "include": "\u041f\u0440\u043e\u043a\u0441\u0438", "includeMsg": "\u041f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f", "exclude": "\u041e\u0431\u0445\u043e\u0434", "excludeMsg": "\u041d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439"}, "showSystemApps": "\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f", "hideSystemApps": "\u0421\u043a\u0440\u044b\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f", "clearSelection": "\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0432\u044b\u0431\u043e\u0440"}, "config": {"section": {"route": "\u0412\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0430", "dns": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b DNS", "inbound": "\u0412\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b", "misc": "\u0420\u0430\u0437\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b"}, "pageTitle": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438", "executeConfigAsIs": "\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043a\u0430\u043a \u0435\u0441\u0442\u044c", "executeConfigAsIsMsg": "\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 SingBox \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438.", "logLevel": "\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u0436\u0443\u0440\u043d\u0430\u043b\u0430", "resolveDestination": "\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0443\u043d\u043a\u0442 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f", "ipv6Mode": "IPv6-\u043c\u0430\u0440\u0448\u0440\u0443\u0442", "ipv6Modes": {"disable": "\u0417\u0430\u043f\u0440\u0435\u0449\u0430\u0442\u044c", "enable": "\u0414\u0430\u0432\u0430\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c", "prefer": "\u041f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439", "only": "\u042d\u043a\u0441\u043a\u043b\u044e\u0437\u0438\u0432\u043d\u044b\u0439"}, "remoteDnsAddress": "\u0423\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0439 DNS", "remoteDnsDomainStrategy": "\u0421\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0435\u043d\u0430 DNS", "directDnsAddress": "\u041f\u0440\u044f\u043c\u043e\u0439 DNS", "directDnsDomainStrategy": "\u0421\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0434\u043e\u043c\u0435\u043d\u0430 DNS", "mixedPort": "\u0421\u043c\u0435\u0448\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u0440\u0442", "localDnsPort": "\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 DNS-\u043f\u043e\u0440\u0442", "tunImplementation": "\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f TUN", "mtu": "\u041c\u0422\u0423", "connectionTestUrl": "URL-\u0430\u0434\u0440\u0435\u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f", "urlTestInterval": "\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 URL-\u0430\u0434\u0440\u0435\u0441\u0430", "enableClashApi": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c Clash API", "clashApiPort": "\u041f\u043e\u0440\u0442 Clash API", "enableTun": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c TUN", "setSystemProxy": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438"}}, "about": {"pageTitle": "\u041e", "version": "\u0412\u0435\u0440\u0441\u0438\u044f", "sourceCode": "\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434", "telegramChannel": "\u0422\u0435\u043b\u0435\u0433\u0440\u0430\u043c-\u043a\u0430\u043d\u0430\u043b", "checkForUpdate": "\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f", "privacyPolicy": "\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438", "termsAndConditions": "\u0423\u0441\u043b\u043e\u0432\u0438\u044f \u0438 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f"}, "appUpdate": {"notAvailableMsg": "\u0423\u0436\u0435 \u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0441\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439", "dialogTitle": "\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435", "updateMsg": "\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f @:general.appTitle. \u0425\u043e\u0442\u0438\u0442\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0435\u0439\u0447\u0430\u0441?", "currentVersionLbl": "\u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f", "newVersionLbl": "\u041d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f", "updateNowBtnTxt": "\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0435\u0439\u0447\u0430\u0441", "laterBtnTxt": "\u041f\u043e\u0437\u0436\u0435", "ignoreBtnTxt": "\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c"}, "tray": {"dashboard": "\u041f\u0430\u043d\u0435\u043b\u044c \u043f\u0440\u0438\u0431\u043e\u0440\u043e\u0432", "quit": "\u041f\u043e\u043a\u0438\u0434\u0430\u0442\u044c", "systemProxy": "\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438"}, "failure": {"unexpected": "\u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430", "clash": {"unexpected": "\u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430", "core": "\u041e\u0448\u0438\u0431\u043a\u0430 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0430 ${reason}"}, "singbox": {"unexpected": "\u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u0441\u043b\u0443\u0436\u0431\u044b", "serviceNotRunning": "\u0421\u043b\u0443\u0436\u0431\u0430 \u043d\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430", "invalidConfigOptions": "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438", "invalidConfig": "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f", "create": "\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430", "start": "\u041e\u0448\u0438\u0431\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u043b\u0443\u0436\u0431\u044b"}, "connectivity": {"unexpected": "\u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0432\u0430\u043b", "missingVpnPermission": "\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 VPN", "missingNotificationPermission": "\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0430 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435", "core": "\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430"}, "profiles": {"unexpected": "\u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430", "notFound": "\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d", "invalidConfig": "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438"}}} \ No newline at end of file