Files
netrunner-landing/dictionaries/ru.json
T
nineap 32b4460b66 Локализует лендинг на 10 языков + RTL для арабского и персидского
Добавляет zh-CN, fa, ar, tr, uk, be, vi, uz словари (170 ключей, идентичная
вложенная структура) к существующим en/ru. lib/locales.ts — единый источник
списка локалей/дефолтной локали/RTL-набора вместо захардкоженного ["en","ru"]
в proxy.ts. language-switcher.tsx: переключение языка резало только
двухбуквенные коды регэкспом (/^\/[a-z]{2}/), из-за чего zh-CN никогда не
матчился и путь задваивался — заменено на honest-поиск по списку locales.

app/[lang]/layout.tsx — dir="rtl"/"ltr" на <html> по локали (SSR, в отличие
от реактивного клиентского переключения в netrunner-app). Header.tsx/
Footer.tsx — разбитое на три <span> имя бренда визуально переворачивалось
Flexbox'ом под dir=rtl ("VPNrunnerNet"), исправлено через dir="ltr" на
самом враппере.

BlogPreview/Faq/Pricing и обе blog-страницы: fallback на *_en-коллекцию
PocketBase, если для языка ещё нет переведённого контента (FAQ-ответы,
детали тарифов, посты блога не тянутся автоматически — это отдельный от
статических словарей CMS-контент), плюс i18n-ключи period1m/period6m/
period1y вместо захардкоженных ru/en-подписей периодов в Pricing.tsx.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-08 22:53:37 +07:00

243 lines
12 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"nav": {
"features": "Возможности",
"pricing": "Тарифы",
"faq": "Вопросы",
"blog": "Логи",
"terminal": "Терминал",
"docs": "Документация",
"cta": "Скачать Netrunner",
"profile": "Профиль",
"menu": "Menu.exe",
"speedtest": "Диагностика",
"doom": "DOOM OS"
},
"hero": {
"badge": "Система следит за всеми",
"badgeSecure": "Защищенный туннель установлен",
"titleStart": "Система следит за всеми,",
"titleHighlight": "кроме тебя.",
"subtitle": "Цифровой след скрыт. Логи уничтожены. Скорость не ограничена.",
"switchLabel": "Netrunner VPN",
"ctaPrimary": "Скачать клиент",
"ctaSecondary": "Список узлов"
},
"features": {
"title": "Технологии доступа",
"items": [
{
"title": "Обход DPI и uTLS",
"description": "Протокол Netrunner маскирует трафик под обычные HTTPS-запросы. Системы глубокого анализа пакетов видят лишь белый шум."
},
{
"title": "Криптография ChaCha20",
"description": "Высокоскоростной шифр потоковой передачи с Perfect Forward Secrecy. Ключи сессий меняются динамически."
},
{
"title": "Adaptive Backpressure",
"description": "Размер буфера масштабируется в зависимости от пинга. При плохой связи буфер сжимается для устранения лагов."
},
{
"title": "Multi-Platform Core",
"description": "Низкоуровневое сетевое ядро на Rust гарантирует нулевой оверхед на Android, Windows и Linux. Поддержка macOS и iOS в разработке."
},
{
"title": "Собственная инфраструктура",
"description": "Мы используем собственные серверы, а не арендуем их у облачных провайдеров — с мультиплексированием потоков между узлами для стабильного соединения, которое сложно занести в чёрный список."
}
]
},
"pricing": {
"badge": "Тарифные протоколы",
"title": "Выберите ваш Uplink",
"perMonth": "/мес",
"recommend": "Рекомендуем",
"syncing": "Синхронизация_Узлов...",
"empty": "0 доступных подключений.",
"discount": "СКИДКА",
"mo": "/ мес",
"billedOnce": "Спишется разом:",
"period1m": "1 месяц",
"period6m": "6 месяцев",
"period1y": "1 год"
},
"faq": {
"title": "Системные запросы (FAQ)",
"empty": "База знаний пуста."
},
"blog": {
"badge": "Data Logs",
"title": "Сетевые Хроники",
"more": "Все записи",
"readMore": "Читать далее",
"empty": "Сигналы не найдены.",
"archive": "Архив терминала",
"systemLogs": "Системные Логи",
"emptySector": "[Записи не найдены в этом секторе]",
"decrypt": "Дешифровать →",
"backBtn": "cd ../logs",
"readTime": "Чтение: 4 мин",
"verified": "Проверено: Netrunner",
"endTransmission": "Конец передачи // node_th_01"
},
"footer": {
"brand": "Netrunner VPN",
"tagline": "Система следит за всеми, кроме тебя.",
"sections": {
"product": "Продукт",
"resources": "Ресурсы",
"legal": "Право"
},
"links": {
"features": "Возможности",
"pricing": "Тарифы",
"faq": "FAQ",
"protocol": "Протокол",
"comms": "Блог",
"privacy": "Приватность",
"terms": "Условия",
"profile": "Профиль"
},
"rights": "© 2026 Netrunner VPN. Все пакеты зашифрованы.",
"protocolStatus": "ПРОТОКОЛ // ЗАЩИЩЕННЫЙ ДОСТУП",
"uplinkStatus": "Статус Uplink",
"activeNode": "Активный Узел",
"latency": "Задержка (RTT)"
},
"download": {
"title": "Установка Узла",
"subtitle": "Выберите вашу платформу для загрузки клиента Netrunner.",
"badges": {
"active": "Стабильная",
"dev": "В разработке"
},
"buttons": {
"direct": "Скачать напрямую",
"store": "В Store",
"github": "Source Code",
"notify": "Уведомить",
"soon": "Скоро в Store",
"pending": "Ожидание сборки"
},
"platforms": {
"windows": "Windows 10 / 11",
"android": "Android 8.0+",
"linux": "Ubuntu / Debian / Arch",
"macos": "macOS 12.0+",
"ios": "iOS 15.0+"
},
"accessingBuild": "Доступ_к_Build_Серверу..."
},
"terminal": {
"title": "GLOBAL COMM-LINK",
"description": "Общий канал связи. Бесконечная история.",
"alias": "ПОЗЫВНОЙ",
"message": "ВВОД ДАННЫХ...",
"send": "ОТПРАВИТЬ",
"systemReady": "SYSTEM_READY // UPLINK_SECURED",
"loadingHistory": "Загрузка архива...",
"noMoreLogs": "ДОСТИГНУТ КОНЕЦ АРХИВА",
"encrypting": "ШИФРОВАНИЕ...",
"cooldown": "ОЖИДАНИЕ: {{time}}с",
"manifestoTitle": "МАНФЕСТ СВОБОДНОЙ СВЯЗИ // v1.0",
"manifestoText": "Данный терминал является прямым каналом связи с ядром Netrunner. Мы транслируем логи без цензуры в реальном времени, потому что протокол, способный обходить DPI, не должен бояться правды.",
"rulesTitle": "ПРОТОКОЛ ПОВЕДЕНИЯ:",
"rule1": "— Никакой премодерации. Ваше сообщение улетает в сеть мгновенно.",
"rule2": "— Критика VPN, баг-репорты или неудобные вопросы — разрешено всё.",
"rule3": "— Единственное ограничение: прямые оскорбления других участников сети и спам. Будьте киберпанками, а не троллями.",
"statusReady": "UPLINK_ESTABLISHED // NO_FILTERS_DETECTED"
},
"loading": {
"establishing": "Установка соединения"
},
"notFound": {
"errorBadge": "[ Ошибка: Узел не найден ]",
"message": "В таблице маршрутизации нет запрашиваемого узла. Передача прервана. Вернитесь в защищенную сеть.",
"returnHome": "Вернуться на базу"
},
"nodes": {
"title": "Глобальная Сеть Узлов",
"subtitle": "Топология серверов Netrunner в реальном времени.",
"status": {
"online": "В сети",
"full": "Перегружен",
"maintenance": "Обслуживание"
},
"labels": {
"load": "Нагрузка",
"latency": "Задержка"
}
},
"guestbook": {
"title": "COMM-LINK_",
"subtitle": "Терминал связи",
"description": "Прямой канал связи с узлами Netrunner.",
"philosophyTitle": "Нам не нужна модерация",
"philosophyText": "Мы создали Netrunner для обхода любых барьеров, поэтому мы не боимся того, что вы напишете. Этот чат — живое доказательство свободы слова. Пока другие прячут негатив, мы выводим его в реальном времени. Если наш протокол выдерживает атаки DPI, он выдержит и вашу честность.",
"liveFeed": "Прямой эфир (Последние 50)",
"noTransmissions": "Активных передач не обнаружено.",
"labelAlias": "Позывной",
"labelPayload": "Данные",
"placeholderAlias": "Guest_77",
"placeholderPayload": "Введите сообщение...",
"statusSuccess": "Данные успешно доставлены в сеть.",
"statusErrorBreach": "Нарушение безопасности. Соединение разорвано.",
"statusErrorEmpty": "Требуется позывной и пакет данных.",
"statusErrorSize": "Размер пакета превышает лимит.",
"statusErrorFirewall": "Файрвол активен. Подождите {{time}} сек.",
"statusErrorOffline": "Передача прервана. Узел недоступен.",
"statusErrorFilter": "⛔ Отклонено: Ваше сообщение нарушает политику безопасности (мат, спам или токсичность). Пожалуйста, измените формулировку для прохождения фильтра.",
"btnEncrypting": "Шифрование...",
"btnBroadcast": "Транслировать",
"cooldown": "Кулдаун: {{time}}с"
},
"auth": {
"title": "АВТОРИЗАЦИЯ UPLINK",
"processing": "Обработка учетных данных...",
"verifying": "Проверка криптографической подписи...",
"granted": "ДОСТУП РАЗРЕШЕН",
"denied": "В ДОСТУПЕ ОТКАЗАНО",
"noToken": "Токен авторизации не найден. Пожалуйста, пройдите аутентификацию через терминал Netrunner в Telegram.",
"redirecting": "Перенаправление в защищенный сектор...",
"toBot": "Открыть терминал Telegram",
"awaiting": "ОЖИДАНИЕ УЧЕТНЫХ ДАННЫХ",
"authPrompt": "Инициализируйте защищенное соединение через Telegram для доступа к панели управления.",
"logs": {
"waitInit": "> [ОЖИДАНИЕ] ИНИЦИАЛИЗАЦИЯ ЗАЩИЩЕННОГО ВХОДА TELEGRAM...",
"sigValid": "> [OK] ПОДПИСЬ ДЕЙСТВИТЕЛЬНА",
"apiRejected": "> [ОШИБКА] API ОТКЛОНИЛ ТОКЕН",
"coreOffline": "> [ОШИБКА] ЯДРО НЕДОСТУПНО",
"authPayload": "> [AUTH] ПОЛУЧЕНЫ ДАННЫЕ TELEGRAM",
"verifyHmac": "> ПРОВЕРКА HMAC-SHA256 ПОДПИСИ...",
"invalidSig": "> [ОШИБКА] НЕДЕЙСТВИТЕЛЬНАЯ ИЛИ ИСТЕКШАЯ ПОДПИСЬ",
"networkError": "> [ОШИБКА] СЕТЕВОЙ СБОЙ"
}
},
"docs": {
"establishing": "Установка_защищенного_соединения...",
"vaultTitle": "DATA_VAULT",
"vaultSubtitle": "Системные логи и документация // V4.2",
"searchPlaceholder": "root@nrxp:~# grep -i ...",
"empty": "0 записей найдено по запросу",
"closeSession": "Закрыть сессию",
"noContent": "ДАННЫЕ_НЕ_НАЙДЕНЫ",
"eof": "EOF"
},
"speedtest": {
"title": "Диагностика Uplink",
"mockMode": "Локальная симуляция",
"prodMode": "Прямое измерение до сетевого шлюза Netrunner.",
"btnError": "ПОВТОРИТЬ ЦИКЛ",
"btnDone": "ПЕРЕЗАПУСТИТЬ",
"btnIdle": "НАЧАТЬ ТЕСТ",
"statusPinging": "ПИНГ",
"statusDownloading": "ЗАГРУЗКА",
"statusUploading": "ОТДАЧА",
"latency": "Задержка",
"download": "Загрузка",
"upload": "Отдача",
"unitMs": "мс",
"unitMbps": "Мбит/с"
}
}