{
    "components.brand": "Sleepless Coder",
    "components.appcard.go": "Open",
    "components.appcard.label": "Service",
    "components.nav.login": "Login",
    "components.nav.logout": "Logout",
    "components.nav.main": "Home",
    "components.nav.menu": "Open menu",
    "components.nav.navigation": "Main navigation",
    "components.nav.projects": "Projects",
    "components.nav.socials": "Blog",
    "components.footer.tagline": "Ilya's personal site, blog and lab",
    "general.back": "Back",
    "general.cancel": "Cancel",
    "general.close": "Close",
    "general.create": "Create",
    "general.send": "Send",
    "page.blog.article": "Article",
    "page.blog.author": "Author",
    "page.blog.authorDescription": "Writing about software, systems, and games.",
    "page.blog.back": "Back to home",
    "page.blog.copied": "Link copied",
    "page.blog.copyLink": "Copy link",
    "page.blog.errorDescription": "The article could not be loaded.",
    "page.blog.errorTitle": "Article unavailable",
    "page.blog.eyebrow": "Blog · Sleepless Coder",
    "page.blog.fallbackTitle": "Blog — Sleepless Coder",
    "page.blog.loading": "Loading article…",
    "page.blog.minutes": "min read",
    "page.blog.moreEyebrow": "Keep reading",
    "page.blog.moreTitle": "Related articles",
    "page.blog.retry": "Try again",
    "page.blog.telegram": "Telegram channel",
    "page.blog.toMain": "Back to home",
    "page.blogCategory.articles": "articles in this category | article in this category | articles in this category",
    "page.blogCategory.articlesTitle": "Category articles",
    "page.blogCategory.empty": "There are no published articles in this category yet.",
    "page.blogCategory.errorDescription": "The category could not be loaded.",
    "page.blogCategory.errorTitle": "Category unavailable",
    "page.blogCategory.eyebrow": "Article series",
    "page.blogCategory.fallbackDescription": "A curated series of related articles.",
    "page.blogCategory.fallbackTitle": "Blog category — Sleepless Coder",
    "page.blogCategory.listEyebrow": "All posts",
    "page.blogCategory.loading": "Loading category…",
    "page.blogCategory.metaSuffix": "Sleepless Coder",
    "page.dev.appId": "App ID",
    "page.dev.appName": "App name",
    "page.dev.appSecret": "App secret",
    "page.dev.createApp": "Create app",
    "page.dev.createdApp": "App has been created",
    "page.dev.delete": "Delete",
    "page.dev.deleteApp": "Delete app",
    "page.dev.issueToken": "Issue token",
    "page.dev.issuedTokens": "Issued tokens:",
    "page.dev.issuingToken": "Issuing token",
    "page.dev.permissions": "Permissions",
    "page.dev.requestsPerDay": "Requests per day: {ldr}",
    "page.dev.requestsPerMouth": "Requests per month: {lmr}",
    "page.dev.saveToken": "Token showed only once, save it!",
    "page.dev.tokenIssued": "Token issued",
    "page.dev.tokenName": "Token name",
    "page.hub.available": "Services available: {count}",
    "page.hub.categoryCount": "{count} services",
    "page.hub.description": "Services, bots, and tools by Sleepless Coder.",
    "page.hub.emptyDescription": "The API responded successfully but did not return any available services yet.",
    "page.hub.emptyTitle": "Nothing here yet",
    "page.hub.errorDescription": "The service list could not be loaded. The API may be temporarily unavailable — please try again.",
    "page.hub.errorTitle": "Hub failed to load",
    "page.hub.eyebrow": "Services and experiments",
    "page.hub.heading": "Hub",
    "page.hub.intro": "Bots, tools, documentation, and small services you can use right now.",
    "page.hub.loading": "Loading services…",
    "page.hub.retry": "Try again",
    "page.hub.title": "Sleepless Coder — Hub",
    "page.hub.unavailable": "API is temporarily unavailable",
    "page.hub.untitledCategory": "Other",
    "page.index.latestDescription": "Long-form writing about software, infrastructure, systems, and game culture.",
    "page.index.latestEyebrow": "Latest posts",
    "page.index.latestTitle": "From the blog",
    "page.index.readArticle": "Read article",
    "page.index.about": "Welcome! My name is Ilya, I'm a Java and Node.js developer with more than 6 years of experience.",
    "page.index.aboutEyebrow": "About",
    "page.index.aboutTitle": "I turn ideas into working products",
    "page.index.allProjects": "All projects",
    "page.index.automationDescription": "Community moderation, voice transcription, sticker search, payments, and automation of routine workflows.",
    "page.index.automationTitle": "Telegram bots and automation",
    "page.index.backendDescription": "I build backends with Java and Node.js: REST APIs, WebSockets, PostgreSQL, and payment logic.",
    "page.index.backendTitle": "Backend and system integrations",
    "page.index.career01Period": "May 2025 — present",
    "page.index.careerAlta": "Maintenance and development of existing Java systems.",
    "page.index.careerAltaPeriod": "April 2024 — April 2025",
    "page.index.careerAltaTitle": "Alta-Soft",
    "page.index.careerEyebrow": "Experience",
    "page.index.careerPractice": "Telegram bots, APIs, services, and automation for private clients.",
    "page.index.careerPracticePeriod": "March 2018 — present",
    "page.index.careerPracticeTitle": "Independent practice",
    "page.index.careerStorytelling": "Java / Node.js, system integrations, and internal tools.",
    "page.index.careerStorytellingPeriod": "February 2022 — May 2025",
    "page.index.careerTitle": "My experience",
    "page.index.currentRole": "Current",
    "page.index.expertiseEyebrow": "Specialization",
    "page.index.expertiseIntro": "From application logic to operations: I build complete services and connect them with external systems.",
    "page.index.expertiseTitle": "What I do",
    "page.index.infrastructureDescription": "Docker, Nginx, Linux, CI/CD, Grafana, and Prometheus for repeatable deployments and observability.",
    "page.index.infrastructureTitle": "Infrastructure",
    "page.index.stackEyebrow": "Tools",
    "page.index.stackTitle": "Core stack",
    "page.index.backend": "backend",
    "page.index.contactDescription": "Have an idea, a task, or just want to talk tech? Send me a message and let's think it through.",
    "page.index.contactEyebrow": "Get in touch",
    "page.index.contactMe": "Contact me",
    "page.index.contactTitle": "Let's make something useful",
    "page.index.channelDescription": "This is my personal channel. I explain the systems I work with, explore technology, and think aloud about games — how they are built, their ethics, and their effect on people.",
    "page.index.channelEyebrow": "My Telegram channel",
    "page.index.channelTitle": "I also write on Telegram",
    "page.index.channelTopicDevelopment": "development practice",
    "page.index.channelTopicGames": "how games work",
    "page.index.channelTopicSystems": "system architecture",
    "page.index.channelTopicsLabel": "Channel topics",
    "page.index.contact": "You can contact with me using: ",
    "page.index.contact2": "Also with telegram bot: ",
    "page.index.dashboards": "Stats dashboards",
    "page.index.eyebrow": "Java & Node.js developer",
    "page.index.experience": "I specialize in creating Telegram bots and back-end solutions for various projects. Over the years I have managed to cooperate with the Moscow Center for the Development of Professional Education, College of Communications №54, StoryTelling team and dozens of individual customers. I'm always open to new ideas and ready to help bring your project to life!",
    "page.index.factsLabel": "Experience and specializations at a glance",
    "page.index.guard": "Imperium Guard",
    "page.index.guardDescription": "A bot for moderation and protection of Telegram communities with transparent performance statistics.",
    "page.index.heroAccent": "I build useful services.",
    "page.index.heroLead": "I design backends, Telegram bots, and small experiments that solve real-world problems.",
    "page.index.heroTitle": "I write code.",
    "page.index.hubDescription": "A collection of services, tools, and experiments gathered in one place.",
    "page.index.hubTitle": "Project laboratory",
    "page.index.metaDescription": "Ilya's personal site: Java and Node.js development, Telegram bots, projects, and technical experiments.",
    "page.index.labLabel": "Sleepless Coder · Lab",
    "page.index.metaTitle": "Sleepless Coder — Java & Node.js developer",
    "page.index.openDashboard": "Open dashboard",
    "page.index.openHub": "Explore Hub",
    "page.index.projectsEyebrow": "Selected work",
    "page.index.projectsTitle": "Projects in action",
    "page.index.postAiDescription": "From ELIZA in 1966 to people treating modern models as friends.",
    "page.index.postAiTitle": "Why we get attached to AI",
    "page.index.postGamesDescription": "How players reshape the rules and turn a PvP environment into a space for cooperation.",
    "page.index.postGamesTitle": "The player shapes the game world",
    "page.index.postQueuesDescription": "How one Map and a global listener replaced hundreds of handlers in a large system.",
    "page.index.postQueuesTitle": "Message queues without listener leaks",
    "page.index.readChannel": "Visit the channel",
    "page.index.services": "services",
    "page.index.viewProjects": "View projects",
    "page.index.voice": "Underground transcriber",
    "page.index.voiceDescription": "A service that turns voice messages into text and helps people save time.",
    "page.index.years": "years experience",
    "page.login.back": "Back",
    "page.login.confirm": "Confirm",
    "page.login.createAccount": "Create account",
    "page.login.description": "Sign in to your account on redguy.ru.",
    "page.login.emailNotConfirmed": "Your email is not confirmed",
    "page.login.eyebrow": "Account",
    "page.login.error": "Login or password is incorrect",
    "page.login.forgotPassword": "Forgot password?",
    "page.login.formDescription": "Use the username and password you chose during registration.",
    "page.login.formTitle": "Sign in",
    "page.login.heroDescription": "Sign in to manage your account, applications, and service settings.",
    "page.login.heroTitle": "Welcome back",
    "page.login.hidePassword": "Hide",
    "page.login.networkError": "Could not reach the server. Please try again.",
    "page.login.password": "Password",
    "page.login.passwordPlaceholder": "Your password",
    "page.login.requiredFields": "Enter your username and password.",
    "page.login.showPassword": "Show",
    "page.login.tfa": "Confirm sign-in",
    "page.login.tfaCode": "One-time code",
    "page.login.tfaDescription": "Enter the one-time code from your authenticator app.",
    "page.login.tfaError": "The confirmation code is incorrect.",
    "page.login.tfaPlaceholder": "000000",
    "page.login.tfaRequired": "Enter the confirmation code.",
    "page.login.title": "Sign in — Sleepless Coder",
    "page.login.username": "Username",
    "page.login.usernamePlaceholder": "Your username",
    "page.logs.createService": "Create a service",
    "page.logs.level": "Level",
    "page.logs.loadMore": "Load more",
    "page.logs.message": "Message",
    "page.logs.payload": "Payload",
    "page.logs.service": "Service",
    "page.logs.serviceName": "Service name",
    "page.logs.time": "Time",
    "page.oauth.vk.description": "Complete sign-in with VK ID.",
    "page.oauth.vk.errorTitle": "Sign-in failed",
    "page.oauth.vk.exchangeError": "Could not complete sign-in with VK ID. Please try again.",
    "page.oauth.vk.loadingDescription": "Checking the VK ID response and completing authorization.",
    "page.oauth.vk.loadingTitle": "Completing sign-in",
    "page.oauth.vk.missingCode": "VK ID did not provide an authorization code. Return to sign-in and try again.",
    "page.oauth.vk.title": "Sign in with VK ID — Sleepless Coder",
    "page.oauth.vk.toLogin": "Back to sign in",
    "page.oauth.vk.toMain": "Back to home",
    "page.oauth.authorize.authorizeError": "Could not grant access to the application.",
    "page.oauth.authorize.basicDescription": "The application will know that you signed in successfully.",
    "page.oauth.authorize.basicTitle": "Sign-in confirmation",
    "page.oauth.authorize.description": "Grant an application access to your account.",
    "page.oauth.authorize.emailTitle": "Email address",
    "page.oauth.authorize.errorTitle": "Invalid request",
    "page.oauth.authorize.eyebrow": "Access request",
    "page.oauth.authorize.invalidRequest": "Required parameters are missing from the OAuth request.",
    "page.oauth.authorize.loadError": "Could not load application information.",
    "page.oauth.authorize.loadingDescription": "Checking the application and requested permissions.",
    "page.oauth.authorize.loadingTitle": "Checking request",
    "page.oauth.authorize.profileTitle": "Account profile",
    "page.oauth.authorize.securityNote": "Your password is never shared with the application. You can revoke access later.",
    "page.oauth.authorize.title": "Authorize access — Sleepless Coder",
    "page.oauth.authorize.toMain": "Back to home",
    "page.oauth.authorize.access.email": "Access to your email",
    "page.oauth.authorize.access.nickname": "Access to your nickname and id",
    "page.oauth.authorize.allow": "Allow",
    "page.oauth.authorize.app": "App {app}",
    "page.oauth.authorize.cancel": "Cancel",
    "page.oauth.authorize.requestsAccess": "requests access to your account",
    "page.oauth.authorize.willAllow": "It will allow app to:",
    "page.register.description": "Create an account on redguy.ru.",
    "page.register.email": "Email",
    "page.register.emailError": "Email is not valid",
    "page.register.emailExists": "Email already exists",
    "page.register.error": "Something went wrong",
    "page.register.eyebrow": "New account",
    "page.register.formDescription": "Fill in four fields — a confirmation link will be sent to your email.",
    "page.register.formTitle": "Registration",
    "page.register.haveAccount": "Already have an account?",
    "page.register.heroDescription": "One account for services, settings, and applications across the ecosystem.",
    "page.register.heroTitle": "Create your profile",
    "page.register.login": "Login",
    "page.register.loginError": "Login must be at least 3 characters long",
    "page.register.loginExists": "Login already exists",
    "page.register.loginPlaceholder": "At least 3 characters",
    "page.register.networkError": "Could not reach the server. Please try again.",
    "page.register.ok": "We have sent you an email with a link to confirm your account. Please, check your email.",
    "page.register.password": "Password",
    "page.register.passwordPlaceholder": "At least 8 characters",
    "page.register.passwordAgain": "Repeat password",
    "page.register.passwordAgainError": "Passwords do not match",
    "page.register.passwordAgainPlaceholder": "Enter the password again",
    "page.register.passwordError": "Password must be at least 8 characters long and contain at least one number and one letter of both cases",
    "page.register.register": "Register",
    "page.register.successTitle": "Check your inbox",
    "page.register.title": "Register — Sleepless Coder",
    "page.register.toLogin": "Go to sign in",
    "page.reset.description": "Create a new password for your account on redguy.ru.",
    "page.reset.error": "The password could not be changed. Please try again.",
    "page.reset.eyebrow": "Account recovery",
    "page.reset.formTitle": "New password",
    "page.reset.heroDescription": "Create a new password to protect your account.",
    "page.reset.heroTitle": "Almost there",
    "page.reset.invalidTitle": "Invalid link",
    "page.reset.invalidToken": "This recovery link is invalid or has already been used.",
    "page.reset.missingToken": "The recovery code is missing. Request a new email.",
    "page.reset.networkError": "Could not reach the server. Check your connection and try again.",
    "page.reset.password": "New password",
    "page.reset.passwordAgain": "Repeat password",
    "page.reset.passwordAgainPlaceholder": "Enter the password again",
    "page.reset.passwordHint": "At least 8 characters with a lowercase letter, an uppercase letter, and a number.",
    "page.reset.passwordPlaceholder": "At least 8 characters",
    "page.reset.requestAgain": "Request a new link",
    "page.reset.submit": "Save password",
    "page.reset.successDescription": "Your password has been changed. You can now sign in with it.",
    "page.reset.successTitle": "Password updated",
    "page.reset.title": "New password — Sleepless Coder",
    "page.reset.toLogin": "Go to sign in",
    "page.reset.enter": "Enter a new password",
    "page.reset.not-match": "The passwords don't match",
    "page.reset.too-easy": "The password is too easy",
    "page.restore.captchaError": "The CAPTCHA check could not be loaded. Refresh the page and try again.",
    "page.restore.captchaLoading": "Loading verification…",
    "page.restore.captchaRequired": "Please confirm that you are not a robot.",
    "page.restore.description": "Recover access to your account on redguy.ru.",
    "page.restore.email": "Email",
    "page.restore.emailError": "Enter a valid email address.",
    "page.restore.emailPlaceholder": "name{'@'}example.com",
    "page.restore.error": "The email could not be sent. Please try again.",
    "page.restore.eyebrow": "Account recovery",
    "page.restore.formTitle": "Forgot your password?",
    "page.restore.heroDescription": "We will send a secure link for creating a new password.",
    "page.restore.heroTitle": "Recover access",
    "page.restore.networkError": "Could not reach the server. Check your connection and try again.",
    "page.restore.successTitle": "Check your inbox",
    "page.restore.title": "Password recovery — Sleepless Coder",
    "page.restore.toLogin": "Back to sign in",
    "page.restore.enter": "Enter email, which you use for register",
    "page.restore.sent": "If this email exists in our system, we have sent an email with a password recovery link.",
    "page.settings.close": "Close",
    "page.settings.disabled": "Disabled",
    "page.settings.enabled": "Enabled",
    "page.settings.enterCode": "Enter a code from your authenticator app to disable two-factor protection.",
    "page.settings.eyebrow": "Account",
    "page.settings.heading": "Settings",
    "page.settings.intro": "Manage your account security and active sessions.",
    "page.settings.loadError": "Could not load settings",
    "page.settings.loading": "Loading settings…",
    "page.settings.manualCode": "Or enter the secret manually",
    "page.settings.passwordDesc": "Update your password if you think the old one may have been compromised.",
    "page.settings.retry": "Try again",
    "page.settings.sessionsDesc": "End every active session except the current one.",
    "page.settings.sessionsReset": "Other sessions have been ended.",
    "page.settings.totpDescDisabled": "Add a second layer of protection with an authenticator app.",
    "page.settings.totpDescEnabled": "A one-time code from your app is required when signing in.",
    "page.settings.cancel": "Cancel",
    "page.settings.changePassword": "Password change",
    "page.settings.changePassword2": "Change password",
    "page.settings.code": "Code from the app",
    "page.settings.currentPassword": "Current password",
    "page.settings.description": "Account settings",
    "page.settings.error": "Something went wrong",
    "page.settings.incorrectCode": "Incorrect 2FA code",
    "page.settings.incorrectPassword": "Incorrect password",
    "page.settings.newPassword": "New password",
    "page.settings.newPasswordAgain": "Retype new password",
    "page.settings.notStrongEnough": "Password is not strong enough",
    "page.settings.passwordsNotEquals": "Passwords do not equals",
    "page.settings.resetSessions": "Reset sessions",
    "page.settings.resetTOTP": "Disable two-factor authentication",
    "page.settings.safety": "Safety",
    "page.settings.setTOTP": "Enable two-factor authentication",
    "page.settings.setTOTP2": "Confirm",
    "page.settings.title": "Settings",
    "page.socials.boosty.description": "My page on Boosty, where I publish additional materials and you can support me!",
    "page.socials.boosty.title": "Boosty",
    "page.socials.description": "My blogs and channels on different platforms",
    "page.socials.discord.description": "My Discord server, where I chat a lot",
    "page.socials.discord.title": "SleepLessCode discord",
    "page.socials.my": "My blogs and channels",
    "page.socials.sleeplesschat.description": "My chat in Telegram, where I chat with my subscribers (mostly in Russian)",
    "page.socials.sleeplesschat.title": "Sleeping juniors",
    "page.socials.sleeplesscode.description": "My blog in Telegram, where I publish my thoughts and ideas (in Russian)",
    "page.socials.sleeplesscode.title": "Sleepless developer",
    "page.socials.sleeplessfoto.description": "My channel in Telegram, where I publish my photos",
    "page.socials.sleeplessfoto.title": "Sleepless photos",
    "page.socials.sleeplessstickers.description": "My channel in Telegram, where I publish stickers created by me",
    "page.socials.sleeplessstickers.title": "Sleepless stickers",
    "page.socials.title": "Sleepless Coder — blogs and channels",
    "page.socials.youtube.description": "My YouTube channel, where I publish videos about my things (in Russian)",
    "page.socials.youtube.title": "Sleepless Coder",
    "page.verify.description": "Email address verification on redguy.ru.",
    "page.verify.errorDescription": "We could not verify your account.",
    "page.verify.errorTitle": "Verification failed",
    "page.verify.eyebrow": "Account verification",
    "page.verify.invalidToken": "This link is invalid or has already been used.",
    "page.verify.missingToken": "The verification code is missing. Open the complete link from your email.",
    "page.verify.networkError": "Could not reach the server. Check your connection and try again.",
    "page.verify.retry": "Try again",
    "page.verify.successDescription": "Your email address has been verified. You can now sign in.",
    "page.verify.successTitle": "Account verified",
    "page.verify.title": "Account verification — Sleepless Coder",
    "page.verify.toLogin": "Go to sign in",
    "page.verify.toMain": "Back to home",
    "page.verify.waitDescription": "Checking the link from your email. This should only take a few seconds.",
    "page.verify.waitTitle": "Verifying your account",
    "page.verify.error": "Something went wrong",
    "page.verify.main": "main page",
    "page.verify.ok": "Done! You can go to the",
    "page.verify.wait": "Please, wait",
    "permissions.hashes": "Hashes decoding",
    "permissions.logs": "Logging",
    "permissions.minecraft": "Minecraft"
}
