{
    "components": {
        "brand": "Безсонний Кодер",
        "appcard": {
            "go": "Перейти"
        },
        "nav": {
            "login": "Увійти",
            "logout": "Вийти",
            "main": "Головна"
        }
    },
    "general": {
        "back": "Назад",
        "cancel": "Відміна",
        "close": "Закрити",
        "create": "Створити",
        "send": "Надіслати"
    },
    "page": {
        "blog": {
            "article": "Стаття",
            "author": "Автор",
            "authorDescription": "Пишу про розробку, системи та ігри.",
            "back": "На головну",
            "copied": "Посилання скопійовано",
            "copyLink": "Скопіювати посилання",
            "errorDescription": "Не вдалося завантажити статтю.",
            "errorTitle": "Стаття недоступна",
            "eyebrow": "Блог · Безсонний Кодер",
            "fallbackTitle": "Блог — Безсонний Кодер",
            "loading": "Завантажую статтю…",
            "minutes": "хв читання",
            "moreEyebrow": "Продовжити читання",
            "moreTitle": "Схожі матеріали",
            "retry": "Спробувати ще раз",
            "telegram": "Telegram-канал",
            "toMain": "На головну"
        },
        "blogCategory": {
            "articles": "статей у категорії | стаття у категорії | статті у категорії | статей у категорії",
            "articlesTitle": "Матеріали категорії",
            "empty": "У цій категорії поки немає опублікованих статей.",
            "errorDescription": "Не вдалося завантажити категорію.",
            "errorTitle": "Категорія недоступна",
            "eyebrow": "Серія статей",
            "fallbackDescription": "Добірка тематичних статей.",
            "fallbackTitle": "Категорія блогу — Безсонний Кодер",
            "listEyebrow": "Усі публікації",
            "loading": "Завантажую категорію…",
            "metaSuffix": "Безсонний Кодер"
        },
        "dev": {
            "appId": "ID додатку",
            "appName": "Назва додатку",
            "appSecret": "Приватний токен додатку",
            "createApp": "Створити додаток",
            "createdApp": "Додаток створено",
            "delete": "Видалити",
            "deleteApp": "Видалити додаток",
            "issueToken": "Випустити токен",
            "issuedTokens": "Випущені токени:",
            "issuingToken": "Випуск токену",
            "permissions": "Права",
            "requestsPerDay": "Запитів за день: {ldr}",
            "requestsPerMouth": "Запитів на місяць: {lmr}",
            "saveToken": "Токен відображається перший і останній раз, збережіть його в надійному місці!",
            "tokenIssued": "Токен випущено",
            "tokenName": "Назва токену"
        },
        "hub": {
            "description": "Список моїх сервісів.",
            "title": "Sleepless - Хаб"
        },
        "index": {
            "latestDescription": "Великі матеріали про розробку, інфраструктуру, будову систем та ігрову культуру.",
            "latestEyebrow": "Останні публікації",
            "latestTitle": "З блогу",
            "readArticle": "Читати статтю",
            "about": "Привіт! Мене звати Ілля, я Java та Node.js програміст з понад 6-річним досвідом.",
            "automationDescription": "Модерація спільнот, транскрибація голосових повідомлень, пошук стікерпаків, платежі й автоматизація рутинних процесів.",
            "automationTitle": "Telegram-боти й автоматизація",
            "backendDescription": "Розробляю backend на Java та Node.js: REST API, WebSocket, PostgreSQL і платіжна логіка.",
            "backendTitle": "Backend і системні інтеграції",
            "career01Period": "Травень 2025 — дотепер",
            "careerAlta": "Підтримка та розвиток наявних Java-систем.",
            "careerAltaPeriod": "Квітень 2024 — квітень 2025",
            "careerAltaTitle": "Альта-Софт",
            "careerEyebrow": "Досвід",
            "careerPractice": "Telegram-боти, API, сервіси й автоматизація для приватних замовників.",
            "careerPracticePeriod": "Березень 2018 — дотепер",
            "careerPracticeTitle": "Приватна практика",
            "careerStorytelling": "Java / Node.js, системні інтеграції та внутрішні інструменти.",
            "careerStorytellingPeriod": "Лютий 2022 — травень 2025",
            "careerTitle": "Мій досвід",
            "currentRole": "Зараз",
            "expertiseEyebrow": "Спеціалізація",
            "expertiseIntro": "Від прикладної логіки до експлуатації: збираю сервіси цілком і поєдную їх із зовнішніми системами.",
            "expertiseTitle": "Що я роблю",
            "infrastructureDescription": "Docker, Nginx, Linux, CI/CD, Grafana та Prometheus — для відтворюваного розгортання й спостережуваності.",
            "infrastructureTitle": "Інфраструктура",
            "stackEyebrow": "Інструменти",
            "stackTitle": "Основний стек",
            "contact": "Ви можете зв'язатися зі мною через: ",
            "contact2": "Або через бота: ",
            "dashboards": "Дашборди статистики",
            "experience": "Я спеціалізуюся на створенні Telegram ботів та бек-енд рішень для різноманітних проектів. За роки роботи встиг поспівпрацювати з Московським центром розвитку професійної освіти, Коледжем зв'язку №54, StoryTelling team та десятками індивідуальних замовників. Я завжди відкритий для нових ідей та готовий допомогти втілити ваш проект у життя!",
            "guard": "Імперський охоронець",
            "voice": "Підпільний транскриптор"
        },
        "login": {
            "back": "Назад",
            "confirm": "Підтвердити",
            "createAccount": "Створити акаунт",
            "description": "Вхід до особистого кабінету на redguy.ru.",
            "emailNotConfirmed": "Ваш email не підтверджено",
            "eyebrow": "Особистий кабінет",
            "error": "Логін або пароль невірні",
            "forgotPassword": "Забули пароль?",
            "formDescription": "Використовуйте логін і пароль, вказані під час реєстрації.",
            "formTitle": "Вхід до акаунта",
            "heroDescription": "Увійдіть, щоб керувати акаунтом, застосунками й налаштуваннями сервісів.",
            "heroTitle": "З поверненням",
            "hidePassword": "Сховати",
            "networkError": "Не вдалося зв’язатися із сервером. Спробуйте ще раз.",
            "password": "Пароль",
            "passwordPlaceholder": "Ваш пароль",
            "requiredFields": "Введіть логін і пароль.",
            "showPassword": "Показати",
            "tfa": "Підтвердження входу",
            "tfaCode": "Одноразовий код",
            "tfaDescription": "Введіть одноразовий код із застосунку-автентифікатора.",
            "tfaError": "Невірний код підтвердження.",
            "tfaPlaceholder": "000000",
            "tfaRequired": "Введіть код підтвердження.",
            "title": "Вхід — Безсонний Кодер",
            "username": "Логін",
            "usernamePlaceholder": "Ваш логін"
        },
        "logs": {
            "createService": "Створити сервіс",
            "level": "Рівень",
            "loadMore": "Завантажити ще",
            "message": "Повідомлення",
            "payload": "Додаткові дані",
            "service": "Джерело",
            "serviceName": "Назва сервісу",
            "time": "Час"
        },
        "oauth": {
            "vk": {
                "description": "Завершення входу через VK ID.",
                "errorTitle": "Не вдалося увійти",
                "exchangeError": "Не вдалося завершити вхід через VK ID. Спробуйте ще раз.",
                "loadingDescription": "Перевіряємо відповідь VK ID і завершуємо авторизацію.",
                "loadingTitle": "Завершуємо вхід",
                "missingCode": "VK ID не передав код авторизації. Поверніться до входу та спробуйте знову.",
                "title": "Вхід через VK ID — Безсонний Кодер",
                "toLogin": "Повернутися до входу",
                "toMain": "На головну"
            },
            "authorize": {
                "authorizeError": "Не вдалося надати застосунку доступ.",
                "basicDescription": "Застосунок дізнається, що ви успішно увійшли.",
                "basicTitle": "Підтвердження входу",
                "description": "Надання застосунку доступу до акаунта.",
                "emailTitle": "Адреса електронної пошти",
                "errorTitle": "Некоректний запит",
                "eyebrow": "Запит доступу",
                "invalidRequest": "В OAuth-запиті немає обов’язкових параметрів.",
                "loadError": "Не вдалося отримати інформацію про застосунок.",
                "loadingDescription": "Перевіряємо застосунок і запитані дозволи.",
                "loadingTitle": "Перевіряємо запит",
                "profileTitle": "Профіль акаунта",
                "securityNote": "Пароль не передається застосунку. Ви зможете відкликати доступ пізніше.",
                "title": "Дозвіл доступу — Безсонний Кодер",
                "toMain": "На головну",
                "access": {
                    "email": "Отримати доступ до вашої email адреси",
                    "nickname": "Отримати доступ до вашого id та нікнейму"
                },
                "allow": "Дозволити",
                "app": "Додаток {app}",
                "cancel": "Відміна",
                "requestsAccess": "хоче отримати доступ до вашого аккаунту",
                "willAllow": "Це дозволить додатку:"
            }
        },
        "register": {
            "description": "Створення акаунта на redguy.ru.",
            "email": "Email",
            "emailError": "Введена некоректна пошта",
            "emailExists": "Пошта вже зайнята",
            "error": "Щось пішло не так",
            "eyebrow": "Новий акаунт",
            "formDescription": "Заповніть чотири поля — підтвердження надійде на вказану пошту.",
            "formTitle": "Реєстрація",
            "haveAccount": "Вже є акаунт?",
            "heroDescription": "Один акаунт для сервісів, налаштувань і застосунків екосистеми.",
            "heroTitle": "Створіть свій профіль",
            "login": "Логін",
            "loginError": "Логін має бути від 3 символів",
            "loginExists": "Логін вже зайнято",
            "loginPlaceholder": "Щонайменше 3 символи",
            "networkError": "Не вдалося зв’язатися із сервером. Спробуйте ще раз.",
            "ok": "Вам на пошту було надіслано лист з підтвердженням. Будь ласка, перейдіть за посиланням у листі.",
            "password": "Пароль",
            "passwordPlaceholder": "Від 8 символів",
            "passwordAgain": "Повтор паролю",
            "passwordAgainError": "Паролі не співпадають",
            "passwordAgainPlaceholder": "Введіть пароль ще раз",
            "passwordError": "Пароль має бути від 8 символів, включаючи латинські літери верхнього та нижнього регістру, а також цифри",
            "register": "Зареєструватись",
            "successTitle": "Перевірте пошту",
            "title": "Реєстрація — Безсонний Кодер",
            "toLogin": "Перейти до входу"
        },
        "reset": {
            "description": "Створення нового пароля для акаунта на redguy.ru.",
            "error": "Не вдалося змінити пароль. Спробуйте ще раз.",
            "eyebrow": "Відновлення доступу",
            "formTitle": "Новий пароль",
            "heroDescription": "Створіть новий пароль для захисту свого акаунта.",
            "heroTitle": "Майже готово",
            "invalidTitle": "Посилання недійсне",
            "invalidToken": "Посилання для відновлення недійсне або вже було використане.",
            "missingToken": "У посиланні немає коду відновлення. Запросіть новий лист.",
            "networkError": "Не вдалося зв’язатися із сервером. Перевірте з’єднання та спробуйте ще раз.",
            "password": "Новий пароль",
            "passwordAgain": "Повторіть пароль",
            "passwordAgainPlaceholder": "Введіть пароль ще раз",
            "passwordHint": "Щонайменше 8 символів: мала й велика латинські літери та хоча б одна цифра.",
            "passwordPlaceholder": "Від 8 символів",
            "requestAgain": "Запросити нове посилання",
            "submit": "Зберегти пароль",
            "successDescription": "Пароль змінено. Тепер ви можете увійти з новими даними.",
            "successTitle": "Пароль оновлено",
            "title": "Новий пароль — Безсонний Кодер",
            "toLogin": "Перейти до входу",
            "enter": "Введіть новий пароль",
            "not-match": "Паролі не співпадають",
            "too-easy": "Пароль занадто простий"
        },
        "restore": {
            "captchaError": "Не вдалося завантажити перевірку CAPTCHA. Оновіть сторінку та спробуйте ще раз.",
            "captchaLoading": "Завантажуємо перевірку…",
            "captchaRequired": "Підтвердьте, що ви не робот.",
            "description": "Відновлення доступу до акаунта на redguy.ru.",
            "email": "Email",
            "emailError": "Введіть коректну адресу електронної пошти.",
            "emailPlaceholder": "name{'@'}example.com",
            "error": "Не вдалося надіслати лист. Спробуйте ще раз.",
            "eyebrow": "Відновлення доступу",
            "formTitle": "Забули пароль?",
            "heroDescription": "Надішлемо безпечне посилання для створення нового пароля.",
            "heroTitle": "Повернемо доступ",
            "networkError": "Не вдалося зв’язатися із сервером. Перевірте з’єднання та спробуйте ще раз.",
            "successTitle": "Перевірте пошту",
            "title": "Відновлення пароля — Безсонний Кодер",
            "toLogin": "Повернутися до входу",
            "enter": "Введіть пошту яку ви вказали при реєстрації",
            "sent": "Якщо дана пошта існує в нашій системі, ми надіслали лист з посиланням відновлення паролю."
        },
        "settings": {
            "close": "Закрити",
            "disabled": "Вимкнено",
            "enabled": "Увімкнено",
            "enterCode": "Введіть код із застосунку-автентифікатора, щоб вимкнути двофакторний захист.",
            "eyebrow": "Акаунт",
            "heading": "Налаштування",
            "intro": "Керування безпекою акаунта й активними сесіями.",
            "loadError": "Не вдалося завантажити налаштування",
            "loading": "Завантажую налаштування…",
            "manualCode": "Або введіть секрет вручну",
            "passwordDesc": "Оновіть пароль, якщо вважаєте, що старий міг бути скомпрометований.",
            "retry": "Повторити",
            "sessionsDesc": "Завершити всі активні сеанси, крім поточного.",
            "sessionsReset": "Інші сесії завершено.",
            "totpDescDisabled": "Додайте другий рівень захисту за допомогою застосунку-автентифікатора.",
            "totpDescEnabled": "Під час входу буде потрібен одноразовий код із застосунку.",
            "cancel": "Відміна",
            "changePassword": "Зміна паролю",
            "changePassword2": "Змінити пароль",
            "code": "Код з додатку",
            "currentPassword": "Поточний пароль",
            "description": "Налаштування аккаунту",
            "error": "Помилка",
            "incorrectCode": "Код некоректний",
            "incorrectPassword": "Невірний пароль",
            "newPassword": "Новий пароль",
            "newPasswordAgain": "Повтор паролю",
            "notStrongEnough": "Новий пароль недостатньо безпечний",
            "passwordsNotEquals": "Паролі не співпадають",
            "resetSessions": "Скинути сесії",
            "resetTOTP": "Вимкнути двохфакторну авторизацію",
            "safety": "Безпека",
            "setTOTP": "Увімкнути двохфакторну авторизацію",
            "setTOTP2": "Підтвердити",
            "title": "Налаштування"
        },
        "socials": {
            "boosty": {
                "description": "Мій Boosty, де я публікую цікаві додаткові матеріали та ви можете підтримати мене!",
                "title": "Boosty"
            },
            "description": "Мої блоги та канали",
            "discord": {
                "description": "Мій Discord сервер, де я часто спілкуюся",
                "title": "SleepLessCode discord"
            },
            "my": "Мої блоги та канали",
            "sleeplesschat": {
                "description": "Мій чат у Telegram, де я спілкуюся з підписниками",
                "title": "Сплячі джуни"
            },
            "sleeplesscode": {
                "description": "Мій особистий канал де я розповідаю про свої проекти та не тільки",
                "title": "Безсонний кодер"
            },
            "sleeplessfoto": {
                "description": "Мій особистий канал у Telegram, де я публікую свої фотографії",
                "title": "Безсонні фоточки"
            },
            "sleeplessstickers": {
                "description": "Мій канал у Telegram, де я публікую оновлення своїх стікерів",
                "title": "Безсонні стікери"
            },
            "title": "Безсонний Кодер — блоги та канали",
            "youtube": {
                "description": "Мій канал на YouTube, де я публікую найрізноманітніші відео",
                "title": "Безсонний Кодер"
            }
        },
        "verify": {
            "description": "Підтвердження адреси електронної пошти на redguy.ru.",
            "errorDescription": "Не вдалося підтвердити акаунт.",
            "errorTitle": "Підтвердження не виконано",
            "eyebrow": "Підтвердження акаунта",
            "invalidToken": "Посилання недійсне або вже було використане.",
            "missingToken": "У посиланні немає коду підтвердження. Відкрийте повне посилання з листа.",
            "networkError": "Не вдалося зв’язатися із сервером. Перевірте з’єднання та спробуйте ще раз.",
            "retry": "Спробувати ще раз",
            "successDescription": "Адресу електронної пошти підтверджено. Тепер можна увійти до акаунта.",
            "successTitle": "Акаунт підтверджено",
            "title": "Підтвердження акаунта — Безсонний Кодер",
            "toLogin": "Перейти до входу",
            "toMain": "На головну",
            "waitDescription": "Перевіряємо посилання з листа. Це займе лише кілька секунд.",
            "waitTitle": "Підтверджуємо акаунт",
            "error": "Щось пішло не так",
            "main": "головну",
            "ok": "Готово! Ви можете повернутись на",
            "wait": "Будь ласка, зачекайте"
        }
    },
    "permissions": {
        "hashes": "Декодування хешів",
        "logs": "Логування",
        "minecraft": "Minecraft"
    }
}
