{
  "nav": {
    "home": "Home",
    "toggleTheme": "Toggle light / dark theme",
    "noResults": "No courses match that search.",
    "main": "Main navigation",
    "courses": "Courses",
    "shorts": "Shorts",
    "searchCourses": "Search {{n}} courses…",
    "categories": "Categories",
    "browseAll": "Browse all {{n}} courses",
    "udemyCourses": "Our courses on Udemy",
    "browseCourses": "Browse courses",
    "allCourses": "All courses",
    "comingSoon": "Coming soon",
    "resultsFor": "Results for “{{q}}”",
    "close": "Close",
    "playground": "Playground",
    "blog": "Blog",
    "telegram": "Learn on Telegram",
    "appTest": "Test our app",
    "menu": "Menu",
    "profile": "Your profile",
    "inProgressOne": "1 course in progress",
    "inProgress": "{{n}} courses in progress",
    "inProgressNone": "Pick a course to start",
    "theme": "Theme",
    "themeLight": "Light",
    "themeDark": "Dark",
    "themeSystem": "System",
    "myProgress": "My progress",
    "viewPortfolio": "View my portfolio",
    "signIn": "Sign in",
    "signUp": "Create free account",
    "signOut": "Sign out",
    "guestTitle": "Learn free, no account needed",
    "guestBody": "Sign in to save progress across devices.",
    "appTestMenu": "Test the Android app",
    "appGetMenu": "Get the Android app",
    "beta": "Beta",
    "appGet": "Get the app"
  },
  "home": {
    "playCourseShorts": "Play {{name}} shorts",
    "vizLabel": "Bubble sort, one swap at a time",
    "kicker": "Interactive learning",
    "title": "Learn to code, one focused lesson at a time.",
    "subtitle": "Free, hands-on tutorials in Python, Java, JavaScript, TypeScript, Angular, Node.js, DSA, system design, databases and Docker — as readable lessons or 30-second shorts, in English and Hindi.",
    "startCta": "Start learning",
    "browseCta": "Browse tutorials",
    "catalogueTitle": "Tutorials",
    "lessons": "lessons",
    "shorts": "shorts",
    "playShorts": "Play shorts",
    "resultsFor": "Results for “{{q}}”: {{n}}",
    "clearFilters": "Clear filters",
    "noResults": "No courses match that search.",
    "fullCourses": "Full courses",
    "showMore": "Show more",
    "f1Title": "Multilingual",
    "f1Body": "Every segment is translatable. Missing a translation? It gracefully falls back to English.",
    "f2Title": "Instant + offline",
    "f2Body": "Content is JSON, cached in memory and IndexedDB — repeat visits load with no network.",
    "f3Title": "Read or watch",
    "f3Body": "The same segments render as a scrolled page or a full-screen auto-playing shorts reel.",
    "starterKicker": "New here? Start with",
    "starterMeta": "no sign-up needed",
    "keepTitle": "Keep your place",
    "keepBody": "Learning stays free. A free account saves your progress and streak on every device.",
    "keepSignUp": "Create free account",
    "keepSignIn": "Sign in",
    "resumeKicker": "Continue where you left off",
    "pillTag": "NEW",
    "pillText": "Every lesson now plays as 30-second shorts",
    "hero1": "Learn to code,",
    "heroSec": "30s",
    "hero2": "at a time.",
    "hero3": "Swipe to level up.",
    "heroLede": "Hands-on tutorials for Python, Java, React and many more, split into bite-sized segments. Read them as a page or swipe through them as shorts, in your language.",
    "watchShorts": "Watch shorts",
    "statCourses": "courses",
    "statTracks": "learning tracks",
    "statShort": "per short",
    "statFree": "Free",
    "statNoSignup": "no sign-up to start",
    "chipDone": "Lesson complete",
    "chipStreak": "Keep your streak going",
    "popularEyebrow": "Popular right now",
    "popularTitle": "Courses learners start with",
    "allCourses": "All {{n}} courses",
    "favourite": "Interview favourite",
    "shortsEyebrow": "Shorts",
    "shortsTitle": "Swipe through a concept on your commute",
    "openShorts": "Open shorts player",
    "modesEyebrow": "Two ways to learn, in your language",
    "modesTitle": "Learn the way that fits the moment",
    "m1Title": "Read it as a page",
    "m1Body": "Every lesson is a short page of concept and code segments with copy-ready snippets.",
    "m2Title": "Watch it as shorts",
    "m2Body": "The same segments become 30-second vertical cards. Tap to skip, press space to pause.",
    "m3Title": "Switch your language",
    "m3Body": "Change the language from the top bar and the whole lesson follows. Code stays the same.",
    "tracksEyebrow": "Tracks",
    "tracksTitle": "Browse by what you want to build",
    "ctaTitle": "Your first lesson takes under a minute.",
    "ctaBody": "Short, focused segments you can finish between meetings.",
    "ctaButton": "Play it now"
  },
  "tutorial": {
    "notTranslated": "This lesson isn't translated into this language yet, so it is shown in English.",
    "loadFailedTitle": "This lesson didn't load",
    "loadFailedBody": "Your connection may be slow or offline. Check it and try again.",
    "retry": "Try again",
    "markComplete": "Mark lesson complete",
    "completed": "Lesson complete",
    "markNotDone": "Mark as not done",
    "confirmNotDone": "Mark this lesson as not done? Your progress for it will be removed.",
    "share": "Share",
    "linkCopied": "Link copied",
    "lesson": "Lesson",
    "segments": "segments",
    "watchShorts": "Watch as shorts",
    "prev": "Previous",
    "next": "Next",
    "contents": "Contents",
    "openContents": "Open course contents",
    "closeContents": "Close course contents",
    "read": "Read",
    "shortsTab": "Shorts",
    "thisLessonShorts": "This lesson as shorts",
    "upNext": "Up next",
    "nextLesson": "Next lesson",
    "filter": "Filter lessons…",
    "noLessonsFound": "No lessons found",
    "modules": "modules",
    "complete": "complete",
    "syllabus": "Syllabus",
    "saveCourse": "Save course",
    "level": "Beginner → Advanced",
    "factLessons": "lessons",
    "factShorts": "shorts",
    "by": "By",
    "authorRole": "15 years in web development",
    "updated": "Updated {{date}}"
  },
  "reminder": {
    "title": "Keep your streak going",
    "body": "A few minutes today keeps it alive. Pick up where you left off."
  },
  "shorts": {
    "share": "Share",
    "linkCopied": "Link copied",
    "tapHint": "Tap left / right · hold to pause",
    "keyHint": "↑ / ↓ next or previous · Space to pause",
    "endTitle": "You've reached the end",
    "endBody": "That's every short in this course.",
    "replay": "Replay from start",
    "backToLesson": "Back to the lesson",
    "play": "Play",
    "pause": "Pause",
    "close": "Close",
    "previous": "Previous segment",
    "next": "Next segment",
    "lessonsInFeed": "Lessons in this feed",
    "readInstead": "Read as a page instead",
    "upNext": "Up next",
    "shortcuts": "Shortcuts",
    "kMove": "move between shorts",
    "kPause": "pause / play",
    "kLikeSave": "like · save",
    "like": "Like",
    "save": "Save",
    "copy": "Copy",
    "lesson": "Lesson",
    "saved": "Saved to your list",
    "copied": "Copied to clipboard",
    "copyFailed": "Couldn't copy. Select the code and copy it instead",
    "noCode": "No code in this short"
  },
  "notFound": {
    "title": "Page not found",
    "body": "The tutorial or topic you're looking for doesn't exist."
  },
  "footer": {
    "tagline": "Free, open, interactive programming tutorials.",
    "builtWith": "Free to learn, no sign-up needed",
    "explore": "Explore",
    "language": "Language",
    "rights": "All rights reserved",
    "company": "Company",
    "about": "About",
    "privacy": "Privacy",
    "terms": "Terms",
    "contact": "Contact",
    "sitemap": "Sitemap",
    "follow": "Follow us",
    "followOn": "SkillByAI on {{network}}",
    "androidApp": "Android app",
    "appTestTitle": "Help us launch our Android app",
    "appTestBody": "Become an early tester: use the app for 14 days and tell us what to fix before it goes public on Google Play.",
    "appTestCta": "Become a tester",
    "appGetTitle": "SkillByAI is on Google Play",
    "appGetBody": "Lessons, shorts and quizzes on your Android phone, in English and Hindi.",
    "appGetCta": "Get the app"
  },
  "segment": {
    "concept": "Concept",
    "analogy": "Analogy",
    "code": "Code",
    "tip": "Tip",
    "quiz": "Quick check",
    "figure": "Figure",
    "flow": "Execution flow"
  },
  "code": {
    "copy": "Copy",
    "copied": "Copied",
    "copyLabel": "Copy code to clipboard"
  },
  "quiz": {
    "correct": "Correct",
    "incorrect": "Not quite"
  },
  "flow": {
    "previous": "Previous",
    "next": "Next"
  },
  "course": {
    "shortsCount": "{{n}} shorts",
    "shortsCountOne": "1 short",
    "start": "Start course",
    "resume": "Continue course",
    "objectivesTitle": "What you'll learn",
    "soonTitle": "Coming soon.",
    "soonBody": "This course is still being written. The page below is an outline only; full lessons and quizzes will follow.",
    "hinglishLead": "Learn {{name}} free, in English or Hindi, with lessons, shorts and interview questions.",
    "interviewCta": "Interview questions",
    "free": "Free",
    "updated": "Updated {{date}}",
    "relatedTitle": "Related courses",
    "nextCourse": "Next course",
    "udemyTitle": "Go deeper on Udemy",
    "udemyCta": "View on Udemy"
  },
  "interview": {
    "title": "{{name}} interview questions",
    "lead": "{{n}} questions from the {{course}} course, each with the correct answer and an explanation. Try to answer before you open the answer.",
    "showAnswer": "Show answer",
    "answer": "Answer",
    "fromLesson": "Lesson",
    "backToCourse": "Back to the course",
    "breadcrumb": "Interview questions"
  },
  "pages": {
    "about": {
      "title": "About SkillByAI",
      "desc": "SkillByAI offers free, interactive programming tutorials in English and Hindi, split into short lessons you can read or watch as shorts.",
      "body": [
        "SkillByAI is a free library of programming tutorials. Every course is split into short segments that you can read as a page or play as 30-second shorts.",
        "Lessons are available in English and Hindi, and the language switch follows you across the whole site. Code samples stay the same in every language.",
        "## How the courses are made",
        "Everything on SkillByAI is made with AI: the lessons, code samples, quizzes, figures, shorts and Hindi translations.",
        "The final review is done by a person. Before a course is published, we read it and check the facts, the code and the wording.",
        "AI can still get things wrong. If you spot a mistake, email us and we'll fix it.",
        "## Courses in progress",
        "Some courses are still being written and show placeholder lessons until their full content is ready. The home page lets you show only the courses that are available now.",
        "Found a mistake or want a topic added? Email hello@skillbyai.com or use the Contact page.",
        "## Meet the founder",
        "Rahul Agarwal, Founder of SkillByAI",
        "Rahul has spent 15 years building software that real people depend on. He has worked across FinTech, EdTech and automotive platforms. He has designed cloud systems on AWS, led engineering teams of up to seven developers, and modernised old codebases that other teams were afraid to touch.",
        "His EdTech work is where SkillByAI began. At Fliplearn, he kept online classrooms running for hundreds of schools by connecting Google Meet, Microsoft Teams and Zoom to the learning platform. He saw that good teaching depends on tools that stay out of the way. Since then he has led platform modernisation at a lending company and now works as a Senior Lead Software Engineer building AI-powered products. He also holds a certification in Artificial Intelligence from IIT Ropar.",
        "Over those years he has reviewed thousands of pull requests and kept seeing the same thing: most bugs aren't about syntax. They come from gaps in understanding that tutorials never cover. SkillByAI is his answer to that. It offers short, practical lessons in English and Hindi, checked by someone who has shipped this kind of code to production and fixed it when it broke.",
        "Rahul believes AI hasn't made learning to code less important, just different. What matters most now is clear thinking, good judgment and knowing why code works. SkillByAI is built to teach those skills to every learner, wherever they are."
      ],
      "linkedin": "Connect with Rahul on LinkedIn"
    },
    "privacy": {
      "title": "Privacy",
      "desc": "How SkillByAI collects, uses, shares and protects your personal data on our website, apps, blog and learning assistant, and your rights under India's DPDP Act.",
      "body": [
        "Effective date: 6 October 2026 · Last updated: 13 October 2026",
        "## 1. About this policy",
        "This Privacy Policy explains how SkillByAI (\"SkillByAI\", \"we\", \"us\", \"our\") collects, uses, shares and protects your personal data when you use skillbyai.com, the SkillByAI blog, the SkillByAI Android and iOS apps, and our learning assistant on the website, in the apps and on Telegram (together, the \"Services\").",
        "For the personal data described here, SkillByAI is the Data Fiduciary under India's Digital Personal Data Protection Act, 2023 (\"DPDP Act\"). This policy is available in English and Hindi.",
        "## 2. Information we collect",
        "We collect only what we need to run SkillByAI. You can read every lesson without creating an account.",
        "Information you give us:",
        "- Learning profile: your answers to our learning assistant, such as the role you are aiming for, your coding level, the skills you already know, how many hours a week you can study and why you are learning.",
        "- Learning activity: the learning path we build for you and your progress through it.",
        "- Contact details: your email address if you subscribe to our newsletter, join a course waitlist, sign up to test the Android app or email us.",
        "- Messages to us: support requests, feedback and the messages you send us.",
        "- Code you run: code and input you enter in the code playground, sent only to run it and show you the output.",
        "Information collected automatically:",
        "- Usage data: pages and lessons viewed, and the browser and device type you use, counted in aggregate.",
        "- Log data: IP address, browser type, referring page, and date and time of access.",
        "- Approximate location: country or region inferred from your IP address. We do not collect precise GPS location.",
        "- How you found us: the ad, post or website that brought you to SkillByAI (the campaign tags in the link and the referring site). This is kept on your device and sent to us only if you create an account and are 18 or older.",
        "Information from third parties:",
        "- Google Sign-In: your name, email address and profile picture, if you choose to sign in with Google.",
        "- Telegram: your Telegram user ID and profile name, and your phone number only if you choose to share it, when you use our Telegram bot.",
        "Information that stays on your device: your reading progress, theme, language and saved shorts are stored on your own device and are not sent to us.",
        "We do not ask for sensitive details such as religion, caste, health information, or bank account or card numbers. Please do not enter them in free-text fields or code.",
        "Certificates and your public portfolio:",
        "- When you finish a tutorial you can claim a certificate. It shows the name you type, the tutorial and the dates, and has a public page at skillbyai.com/certificates/<ID> that anyone with the link can open to check it is real. We keep the certificate and its page for as long as you keep your account, or until it is revoked.",
        "- If you are signed in and 18 or older, you also get a public portfolio page at skillbyai.com/u/<username>. It is on by default and shows your name, headline, skills, certificates, finished tutorials, projects and learning activity, and only what you enter or earn. It never shows your email address, phone number or Telegram account.",
        "- You can hide the whole page, or any section of it, at any time from your dashboard (Your portfolio) or the Edit profile page; a hidden page cannot be opened. Search engines may list your page only if you turn on \"Let search engines show my profile\", which is off by default.",
        "## 3. How we use your information",
        "We use your personal data only for the purposes below, and we do not sell it to anyone.",
        "- Run the Services: deliver lessons, shorts, quizzes and the code playground, and remember your progress.",
        "- Guide your learning: use your answers to suggest a learning path and the next courses that fit you.",
        "- Talk to you: reply to your messages, send learning reminders you have turned on, and send newsletters you have subscribed to. You can opt out at any time.",
        "- Improve and protect SkillByAI: fix bugs, understand which content helps learners, and prevent abuse and security incidents.",
        "- Meet legal duties: respond to lawful requests from authorities.",
        "We use advertising tools only to measure which of our own ads and posts bring learners to SkillByAI, and only for visitors who allow it and confirm they are 18 or older (section 7). We do not show ads on SkillByAI, and we do not sell your data.",
        "## 4. Students under 18",
        "Many SkillByAI learners are students, and under Indian law anyone under 18 is a child.",
        "- You can read every lesson without an account and without giving us personal data.",
        "- If you are under 18, please use the learning assistant, Google Sign-In, the Telegram bot or the newsletter only with your parent's or guardian's permission.",
        "- We never target advertising at children, or track or monitor their behaviour for advertising. Advertising tags load only after a visitor confirms they are 18 or older, and we never report a sign-up or lesson to Google or Meta for a learner whose birth year shows they are under 18.",
        "- A parent or guardian can review a child's data, correct it, or ask us to delete it at any time by contacting us (section 12).",
        "- If you are under 18, your portfolio page is never public and cannot be turned on. You can still claim certificates; their pages show only the name you choose to print.",
        "SkillByAI is not intended for children under 13. If we learn that we hold personal data about a child without a parent's permission, we will delete it.",
        "## 5. Consent and legal basis",
        "We process your personal data on the basis of your consent, or for a legitimate use allowed by the DPDP Act.",
        "- Consent: you give it by a clear action, such as starting the learning assistant, signing in, subscribing, or tapping \"Allow (I'm 18+)\" on our cookie banner. Newsletters and advertising cookies are always optional.",
        "- Legitimate uses: we may process data without separate consent where the law allows, for example data you give us voluntarily for a specific purpose, or data we must keep to comply with the law.",
        "- Withdrawing consent: you can withdraw consent at any time, as easily as you gave it, by unsubscribing, blocking our bot, using Cookie settings on this page or emailing us. Withdrawal does not affect processing already done.",
        "Users outside India: if laws such as the EU or UK GDPR apply to you, we rely on providing the Services you asked for, consent, our legitimate interests (such as security and improving the Services), and legal obligations.",
        "## 6. Who we share your information with",
        "We share personal data only with the service providers we need to run SkillByAI, and only what each one needs. They act on our instructions and must protect your data.",
        "- Hosting and databases: to run the website, apps and learning assistant.",
        "- Sign-in: to let you sign in with Google.",
        "- AI services: to write explanations for your learning path. We send only role and course names, never your name or contact details.",
        "- Code execution: to run code you submit in the playground.",
        "- Analytics (Vercel Web Analytics and Speed Insights): to count visits and measure page speed, without cookies or cross-site tracking.",
        "- Analytics (Google Analytics 4): to see which pages and lessons learners use and how they sign up. It sets cookies only if you allow them (section 7).",
        "- Advertising measurement (Google Ads and Meta Pixel): only if you allow it, to learn which of our ads and posts bring learners. They receive the pages you visit on SkillByAI, your browser and device details, and events such as signing up or finishing your first lesson. Google and Meta process this under their own privacy policies and may use it to show you ads on their platforms.",
        "- Email and messaging: to send newsletters and reply on Telegram.",
        "- App testing (Google Play): if you sign up to test the Android app, we add your email address to the app's tester list in Google Play Console so Google can let you install the test version.",
        "We may also share personal data with authorities when the law requires it; to protect the rights, safety or property of our users, SkillByAI or the public; with a buyer or successor if SkillByAI is merged or sold, who must honour this policy; and with anyone else only with your consent.",
        "When you use our Telegram bot, sign in with Google, or allow advertising cookies, those companies also process your data under their own privacy policies.",
        "## 7. Cookies and similar technologies",
        "We use cookies and local storage to keep the Services working and, only if you agree, to measure our advertising.",
        "- Essential: keep you signed in to the learning assistant and protect against abuse.",
        "- Preferences: remember settings such as language and theme, your reading progress, and your cookie choice.",
        "- Analytics: Google Analytics 4 counts visits. Until you allow cookies, it runs in Google's consent mode and does not set cookies.",
        "- Advertising measurement (optional, 18+ only): Google Analytics, Google Ads and Meta Pixel cookies, set only after you tap \"Allow (I'm 18+)\" on our cookie banner. If you tap \"No thanks\", the Google Ads and Meta tags never load.",
        "To change your choice at any time, use the Cookie settings button at the end of this page. If you withdraw consent, the advertising tags stop loading straight away; cookies they have already set stay until you delete them in your browser. Lessons work the same either way.",
        "You can also block or delete cookies in your browser settings, but you may then be signed out of the learning assistant. None of these analytics or advertising tags run in the SkillByAI Android or iOS apps.",
        "## 8. How long we keep your data",
        "We keep personal data only as long as we need it for the purposes in this policy or as the law requires, then delete or anonymise it.",
        "- Learning profile and activity: while you use the learning assistant, and deleted when you ask us to.",
        "- Newsletter email address: until you unsubscribe.",
        "- Android app tester email address: until the testing programme ends, or sooner if you ask us to remove it.",
        "- Support messages: until your request is resolved, and for a reasonable period after in case you follow up.",
        "- Code you run: not stored after the output is returned to you.",
        "- Security and access logs: for a limited period, as required by law.",
        "- Data on your device: until you clear your browser or app data, or uninstall the app.",
        "- Analytics and advertising data held by Google and Meta: for the periods set in their own policies and our account settings with them.",
        "To delete your data, email hello@skillbyai.com. We will confirm when deletion is complete.",
        "## 9. How we protect your data",
        "We use reasonable security safeguards to protect your personal data from loss, misuse and unauthorised access.",
        "- Encryption in transit (HTTPS) for all our Services.",
        "- Access limited to the people and providers who need it.",
        "- Regular security updates and review of our providers.",
        "No system is completely secure. If a personal data breach occurs, we will inform affected users and the Data Protection Board of India, and report to CERT-In where required, within the time limits set by law.",
        "## 10. Your rights",
        "You have the following rights over your personal data. A parent or guardian can exercise them for a child.",
        "- Access: get a summary of the personal data we hold about you and how we use it.",
        "- Correction: fix inaccurate data or complete missing details.",
        "- Erasure: ask us to delete your data, unless we must keep it by law.",
        "- Withdraw consent: stop processing based on consent at any time (section 5).",
        "- Grievance redressal: raise a complaint with us (section 12).",
        "- Nominate: name a person who can exercise these rights for you if you die or become unable to act.",
        "- Complain to the regulator: if you are not satisfied with our response, you can complain to the Data Protection Board of India.",
        "To use any of these rights, email hello@skillbyai.com. We may first verify that the request comes from you, and we will reply within the time the law allows.",
        "## 11. Transfers, other websites and changes",
        "Where your data is stored: some of our service providers may process data outside India. We transfer data outside India only as permitted by the DPDP Act and any restrictions notified by the Government of India.",
        "Other websites and tools: our lessons link to other websites, tools and documentation. Their own privacy policies apply when you use them, and we are not responsible for them.",
        "Changes to this policy: we may update this policy as SkillByAI or the law changes. We will post the new version here and change the \"Last updated\" date. For significant changes, we will also let you know on the website or in the app.",
        "## 12. Contact us and grievances",
        "For any question, request or complaint about your personal data, email our grievance contact at hello@skillbyai.com.",
        "We aim to acknowledge complaints within 48 hours and resolve them within 15 days. If you are not satisfied with our response, you can approach the Data Protection Board of India."
      ]
    },
    "terms": {
      "title": "Terms of Service",
      "desc": "The rules for using SkillByAI's free tutorials, website, apps, blog and learning assistant: who can use them, acceptable use, our content and your responsibilities.",
      "body": [
        "Effective date: 7 October 2026 · Last updated: 7 October 2026",
        "## 1. About these terms",
        "These Terms of Service (\"Terms\") are an agreement between you and SkillByAI (\"SkillByAI\", \"we\", \"us\", \"our\"). They apply when you use skillbyai.com, the SkillByAI blog, the SkillByAI Android and iOS apps, the code playground, and our learning assistant on the website, in the apps and on Telegram (together, the \"Services\").",
        "By using the Services you agree to these Terms. If you do not agree, please do not use the Services. Our Privacy page explains how we handle your personal data and forms part of these Terms.",
        "## 2. Who can use SkillByAI",
        "- Anyone can read the lessons without an account.",
        "- SkillByAI is not intended for children under 13.",
        "- If you are under 18, you may create an account, use the learning assistant, sign in with Google, use our Telegram bot or subscribe to the newsletter only with your parent's or guardian's permission. Your parent or guardian accepts these Terms on your behalf.",
        "- You must not use the Services if the law where you live does not allow it.",
        "## 3. Your account",
        "- Give accurate information when you sign up and keep it up to date.",
        "- Keep your password safe. You are responsible for what happens in your account.",
        "- Tell us at hello@skillbyai.com if you think someone else has used your account.",
        "- You can stop using the Services and ask us to delete your account at any time (see the Privacy page).",
        "## 4. Our content",
        "The lessons, shorts, quizzes, figures, translations and other material on SkillByAI (\"Content\") are free to use for learning.",
        "- You may read, watch and share links to any lesson, and use the code samples in your own projects, including commercial ones.",
        "- You may not copy or republish lessons, shorts or quizzes in bulk, sell them, or present them as your own.",
        "- The SkillByAI name and logo belong to us. Do not use them in a way that suggests we endorse you.",
        "- Product and technology names mentioned in lessons belong to their owners.",
        "Content is made with AI and reviewed by a person before it is published (see the About page). It can still contain mistakes. If you find one, please tell us.",
        "## 5. Acceptable use",
        "When you use the Services, you agree not to:",
        "- Break the law or help anyone else break it.",
        "- Attack, overload or disrupt the Services, or try to get around their security or usage limits.",
        "- Use the code playground to mine cryptocurrency, send spam, scan or attack other systems, or run malware.",
        "- Scrape or download the Services in bulk with automated tools, except as allowed by our robots.txt.",
        "- Send content that is unlawful, abusive, hateful, sexually explicit, or that infringes someone else's rights.",
        "- Pretend to be someone else, or collect other users' personal data.",
        "- Try to make the learning assistant produce harmful or illegal content.",
        "## 6. The code playground and learning assistant",
        "- Code you run in the playground is sent to a third-party service to execute and is not kept after the output is returned. Do not enter passwords, keys or personal data in it.",
        "- The learning assistant uses AI to suggest learning paths. Its suggestions are guidance only, not professional, career or financial advice.",
        "- We may limit how often you can use these tools to keep them free and available for everyone.",
        "## 7. Things you send us",
        "If you send us feedback, corrections or ideas, you allow us to use them to improve SkillByAI without paying you or owing you anything. You confirm that you have the right to share what you send.",
        "## 8. Other services and links",
        "Lessons link to other websites, tools and documentation, and some features use other companies' services, such as Google Sign-In and Telegram. Those services have their own terms and privacy policies, and we are not responsible for them.",
        "## 9. The Services are provided \"as is\"",
        "SkillByAI is free. We provide the Services \"as is\" and \"as available\", without promises that they will be error-free, always available, or suitable for a particular purpose, to the extent the law allows.",
        "Run code from lessons at your own risk, especially commands that change your system, network or data. Test in a safe environment first.",
        "Completing a course on SkillByAI does not give you a recognised qualification and does not guarantee a job or result.",
        "## 10. Limitation of liability",
        "To the extent the law allows, SkillByAI is not liable for any indirect or consequential loss, or for loss of data, profits or opportunities, arising from your use of the Services. Nothing in these Terms limits liability that cannot be limited by law.",
        "## 11. Suspending or ending access",
        "We may suspend or close an account, or block access to the Services, if someone breaks these Terms, puts other users or the Services at risk, or if the law requires it. We may also change, pause or stop any part of the Services. Where reasonable, we will tell you first.",
        "## 12. Changes to these terms",
        "We may update these Terms as SkillByAI or the law changes. We will post the new version here and change the \"Last updated\" date. For significant changes, we will also let you know on the website or in the app. If you keep using the Services after a change, the new Terms apply.",
        "## 13. Governing law and disputes",
        "These Terms are governed by the laws of India. Please contact us first so we can try to resolve any problem. If we cannot, disputes will be handled by the courts of India.",
        "If any part of these Terms cannot be enforced, the rest still applies. If we do not enforce a term right away, we can still enforce it later.",
        "## 14. Contact us",
        "For any question about these Terms, email hello@skillbyai.com or use the Contact page."
      ]
    },
    "contact": {
      "title": "Contact",
      "desc": "Email SkillByAI to report a mistake in a lesson, suggest a course, get help with a lesson or ask about your data.",
      "cta": "Email us",
      "body": [
        "## What you can write to us about",
        "- A mistake in a lesson: a wrong fact, code that doesn't run, a broken link or a translation problem",
        "- A course or topic you'd like us to add",
        "- Help with a lesson you're stuck on",
        "- A problem with the website, the Android or iOS app, or the Companion chat",
        "- Your data: a copy, a correction, or deleting it (see the Privacy page)",
        "## Help us fix it faster",
        "- The course and lesson name, or the page link",
        "- What you expected and what you saw",
        "- Your device and browser, or the app version, if something looks broken",
        "- A screenshot, if you can"
      ],
      "lead": "Found a mistake in a lesson, want a new course, or stuck on something? Email us. It's the quickest way to reach us."
    },
    "sitemap": {
      "title": "Sitemap",
      "more": "More from SkillByAI",
      "desc": "Every SkillByAI course, grouped by track, in one list.",
      "body": [
        "Every course, grouped by track. Open a course to see its overview and full syllabus."
      ]
    }
  },
  "ide": {
    "close": "Close",
    "code": "Code",
    "dark": "Dark",
    "editorLabel": "Code editor, {{file}}",
    "fontSize": "Font size",
    "goToLine": "Go to line {{line}}",
    "home": "SkillByAI home",
    "indent": "Indent",
    "inputBtn": "Input",
    "insertSymbol": "Insert symbol",
    "light": "Light",
    "lnCol": "Ln {{ln}}, Col {{col}}",
    "maximisePanel": "Maximise panel",
    "output": "Output",
    "doneIn": "Done in {{s}} s",
    "codeRan": "your code ran {{ms}} ms",
    "ready": "Ready",
    "restorePanel": "Restore panel size",
    "run": "Run",
    "runCode": "Run code",
    "runWithInput": "Run with this input",
    "running": "Running…",
    "saved": "Saved",
    "saving": "Saving…",
    "settings": "Editor settings",
    "shortcuts": "Ctrl/Cmd + Enter runs your code. In the editor, press Esc then Tab to move focus out.",
    "spaces": "Spaces: {{n}}",
    "stop": "Stop",
    "theme": "Theme",
    "unavailableSub": "Check your connection and try again. Your code is saved.",
    "views": "Editor views"
  },
  "playground": {
    "title": "Playground",
    "language": "Language",
    "reset": "Reset to the example",
    "resetConfirm": "Replace your {{lang}} code with the example? Your current code will be lost.",
    "input": "Input",
    "copy": "Copy output",
    "copied": "Copied",
    "clear": "Clear output",
    "stdinLabel": "Input for {{fn}}",
    "stdinNote": "One line per {{fn}} call, in order.",
    "idleTitle": "Run your code to see the output here",
    "idleBody": "Your {{lang}} code is sent to our compile server, compiled and run there. Press Ctrl + Enter to run.",
    "runningTitle": "Compiling and running…",
    "timeout": "Time limit exceeded ({{s}} s): the code was stopped before it finished.",
    "timeoutHelp": "Look for a loop that never ends. Your code was stopped so the page stays responsive.",
    "unavailable": "Couldn't run your {{lang}} code on the compile server.",
    "noOutput": "(no output)",
    "finished": "Finished in {{ms}} ms",
    "failedNoTime": "Stopped with an error",
    "failed": "Stopped with an error after {{ms}} ms",
    "statusOk": "Finished",
    "statusErr": "Error",
    "seoTitle": "{{lang}} Playground — run code online",
    "seoDescription": "Write and run Python, JavaScript, TypeScript, C, C++ and Java online. No installs, no sign-up.",
    "onServer": "Runs on our compile server",
    "back": "Back"
  },
  "consent": {
    "analyticsTitle": "Allow analytics cookies?",
    "analyticsBody": "Only if you're 18 or older. With your OK, Google Analytics sets cookies so we can see which lessons learners use and improve them. Lessons work the same either way.",
    "title": "Allow ads measurement?",
    "body": "Only if you're 18 or older. With your OK we load Google Analytics, Google Ads and Meta Pixel cookies to see which of our ads and posts bring learners to SkillByAI. Lessons work the same either way.",
    "policy": "Privacy policy",
    "accept": "Allow (I'm 18+)",
    "reject": "No thanks",
    "settings": "Cookie settings"
  },
  "account": {
    "google": "Continue with Google",
    "or": "or",
    "email": "Email",
    "password": "Password",
    "name": "Your name",
    "code": "6-digit code",
    "newPassword": "New password",
    "confirmPassword": "Type it again",
    "currentPassword": "Current password",
    "currentPasswordHint": "Leave empty if you have never set one (you sign in with Google, a phone or an email code).",
    "show": "Show",
    "hide": "Hide",
    "showPassword": "Show password",
    "wait": "One moment…",
    "resend": "Send the email again",
    "privacy": "Privacy notice",
    "mobile": "Mobile number",
    "countryCode": "Country code",
    "mobileHint": "Pick your country, then type your number. We use it only to contact you about your account.",
    "passwordRule": "At least {{n}} characters, with a letter and a number.",
    "signOut": "Sign out",
    "signOutAll": "Sign out of all devices",
    "signin": {
      "eyebrow": "Welcome back",
      "title": "Pick up where you <em>left off</em>.",
      "lead": "Your progress, streak and XP follow you to every device.",
      "method": "How to sign in",
      "withPassword": "Password",
      "withCode": "Email me a code",
      "forgot": "Forgot password?",
      "submit": "Sign in",
      "codeHint": "We'll email a 6-digit code. No password needed.",
      "sendCode": "Email me a code",
      "codeSent": "Code sent to {{email}}. It works for 5 minutes.",
      "verify": "Sign in with code",
      "changeEmail": "Use a different email",
      "new": "New to SkillByAI?",
      "cta": "Sign in"
    },
    "signup": {
      "eyebrow": "Free forever",
      "title": "Save your progress. <em>Build</em> every day.",
      "lead": "One free account for the website, the app and the Telegram tutor.",
      "notice": "We only ask for what we need to save your learning. Read the",
      "submit": "Create account",
      "haveAccount": "Already have an account?",
      "cta": "Create a free account",
      "checkEyebrow": "One more step",
      "checkTitle": "Check your email",
      "checkLead": "We sent a link to {{email}}. Open it on this device to finish signing up.",
      "resent": "Sent again. Check your inbox and spam folder.",
      "backToSignin": "Back to sign in"
    },
    "forgot": {
      "eyebrow": "Password help",
      "title": "Forgot your password?",
      "lead": "Enter your email and we'll send a link to choose a new one.",
      "sentTitle": "Check your email",
      "sentLead": "If {{email}} has an account, a reset link is on its way.",
      "submit": "Send reset link",
      "sameBrowser": "Open the link in this browser. It expires in one hour."
    },
    "reset": {
      "title": "Choose a new password",
      "lead": "For {{email}}.",
      "submit": "Save new password",
      "expiredTitle": "This link has expired",
      "expiredLead": "Reset links work once, for one hour, in the browser that asked for them.",
      "again": "Send a new link"
    },
    "callback": {
      "working": "Signing you in…",
      "failedTitle": "We couldn't sign you in",
      "failedLead": "The link may have expired or been used already. Please sign in again."
    },
    "welcome": {
      "eyebrow": "Almost there",
      "title": "Tell us a little <em>about you</em>.",
      "lead": "Three quick questions so we can suggest the right first course.",
      "birthYear": "Year of birth",
      "birthYearHint": "Learners under 18 need a parent's approval. You can't change this later.",
      "choose": "Choose…",
      "stage": "What are you studying?",
      "notice": "I have read and accept the",
      "submit": "Start learning",
      "minorTitle": "A parent needs to approve",
      "minorLead": "Because you're under 18, we'll ask a parent or guardian to approve your account. You can keep learning the free lessons meanwhile.",
      "continue": "Continue to my dashboard"
    },
    "stages": {
      "class_11": "Class 11",
      "class_12": "Class 12",
      "btech": "B.Tech / B.E.",
      "bsc": "B.Sc / BCA",
      "other": "Something else"
    },
    "settings": {
      "title": "Account settings",
      "profile": "Profile",
      "dailyGoal": "Daily goal",
      "goalOption": "{{xp}} XP a day",
      "birthYear": "Year of birth: {{year}} (contact us to change it)",
      "save": "Save changes",
      "saved": "Saved.",
      "password": "Password",
      "passwordLead": "Set a password to sign in with your email, or change the one you have.",
      "setPassword": "Save password",
      "passwordSaved": "Your new password is saved.",
      "sessions": "Signed-in devices",
      "sessionsLead": "Lost a phone? Sign out everywhere and sign in again here.",
      "telegram": "Telegram",
      "telegramLead": "Learn and get reminders in our Telegram bot. This link joins the bot to this account, so your progress stays in one place. It works once, for 10 minutes.",
      "telegramCta": "Continue on Telegram",
      "delete": "Delete account",
      "deleteLead": "Your account and progress are deleted after 14 days. Until then you can change your mind.",
      "deleting": "Your account is scheduled for deletion.",
      "cancelDelete": "Keep my account",
      "deleteConfirm": "Type DELETE to confirm",
      "deleteCta": "Delete my account",
      "deleteCancelled": "Deletion cancelled. Welcome back.",
      "messages": "Messages from SkillByAI",
      "messagesBody": "Choose what we may send you, and where. Messages about your own account always reach you.",
      "messagesUnsubscribed": "You unsubscribed from email. Tick an email box to get emails again.",
      "messagesKind": "Kind of message",
      "messagesSaved": "Saved.",
      "messagesError": "Could not save. Try again.",
      "messagesTelegramUnlinked": "Telegram messages start once you link Telegram below.",
      "kind": {
        "announcements": "Announcements",
        "course_updates": "Updates to your tutorials",
        "offers": "Offers"
      },
      "channel": {
        "push": "Notifications",
        "inbox": "Inbox",
        "email": "Email",
        "telegram": "Telegram"
      }
    },
    "errors": {
      "invalid_credentials": "That email and password don't match.",
      "email_not_confirmed": "Please confirm your email first. Check your inbox for our link.",
      "user_already_exists": "An account with this email already exists. Try signing in.",
      "weak_password": "Please choose a stronger password.",
      "same_password": "Your new password must be different from the old one.",
      "current_password": "Your current password isn't right.",
      "invalid_email": "Please enter a valid email address.",
      "code_expired": "That code or link has expired. Please ask for a new one.",
      "rate_limited": "Too many tries. Please wait a minute and try again.",
      "captcha_failed": "We couldn't check you're human. Please reload the page.",
      "provider_disabled": "This sign-in method isn't available right now.",
      "session_expired": "Your session ended. Please sign in again.",
      "not_signed_in": "Please sign in to continue.",
      "not_configured": "Accounts aren't switched on yet. You can keep learning as a guest; your progress is saved on this device.",
      "network": "You seem to be offline. Check your connection and try again.",
      "unknown": "Something went wrong. Please try again.",
      "phone_invalid": "Please enter a valid mobile number for the country you picked.",
      "fill_in": "Please fill in every field.",
      "accept_notice": "Please accept the privacy notice to continue.",
      "password_too_short": "Your password is too short.",
      "password_needs_letter_and_number": "Use at least one letter and one number.",
      "password_mismatch": "The two passwords don't match."
    }
  },
  "dashboard": {
    "back": "Dashboard",
    "pendingConsent": "Waiting for a parent to approve your account. Free lessons stay open meanwhile.",
    "deleting": "Your account will be deleted in 14 days.",
    "plan": "Your plan for today",
    "morning": "Morning",
    "afternoon": "Afternoon",
    "evening": "Evening",
    "letsBuild": "Let's <em>build</em> something.",
    "startFirst": "Start your first lesson",
    "loading": "Loading your dashboard…",
    "retry": "Try again",
    "continue": "Continue",
    "coursePercent": "{{n}}% of the course done",
    "lessonOf": "Lesson {{n}} of {{total}}",
    "welcomeEyebrow": "Your first step",
    "emptyTitle": "Pick a course and finish one lesson today",
    "emptyLead": "Each lesson takes about five minutes. Your streak starts the moment you finish one.",
    "dailyGoal": "Daily goal",
    "goalHit": "Goal hit. Nice work today.",
    "thisWeek": "This week",
    "learned": "learned",
    "notLearned": "no learning",
    "upcoming": "upcoming",
    "lessons": "{{n}} lessons",
    "shorts": "{{n}} shorts",
    "viewCourse": "View course",
    "skillLevels": "Skill levels",
    "bites": "Bites for the commute",
    "biteContinue": "Continue",
    "biteNew": "New for you",
    "bitesEmpty": "Start a course to see its 30-second shorts here.",
    "chartLabel": "XP earned each day this week",
    "myCourses": "Your courses",
    "browse": "Browse by what you want to build",
    "dayStreak": "day streak",
    "resumeLesson": "Resume lesson",
    "aboutMin": "about {{n}} min",
    "xpToGo": "{{n}} XP to go",
    "goalDone": "Done for today",
    "ofXp": "of {{n}} XP",
    "goalHint": "A finished lesson earns 40 XP, a right quiz answer 10 and each new lesson step 2.",
    "quickCheck": "Quick check",
    "quickCheckFrom": "From “{{topic}}” · +10 XP for a right answer",
    "continueTelegram": "Continue on Telegram",
    "streakNone": "Finish a lesson today to start a streak.",
    "streakToday": "{{n}}-day streak. Learn today to make it {{next}}.",
    "streakTomorrow": "{{n}}-day streak. Come back tomorrow to make it {{next}}.",
    "seeAll": "See all",
    "showLess": "Show less",
    "lessonsDone": "{{done}} of {{total}} lessons",
    "inProgress": "in progress",
    "notStarted": "not started",
    "completed": "completed",
    "addCourse": "Add a course",
    "addCourseBody": "Browse {{n}} free courses and pick the next one.",
    "recommendedNext": "Recommended next",
    "browseCourses": "Browse courses",
    "allShorts": "All shorts"
  },
  "landing": {
    "start": "Start with {{name}}",
    "stepsTitle": "Steps",
    "inEnglish": "In English",
    "planTitle": "Want a plan that fits your dates?",
    "planBody": "Answer six quick questions on Telegram and get a week-by-week course path, with reminders to keep you going.",
    "planCta": "Get my plan on Telegram"
  },
  "flagship": {
    "eyebrow": "Flagship course",
    "hours": "{{n}} one-hour lessons",
    "languages": "English and Hindi",
    "getsTitle": "What you get",
    "waitTitle": "Get notified when enrolment opens",
    "waitBody": "Leave your email and we'll tell you when this course opens, before anyone else.",
    "emailLabel": "Email address",
    "submit": "Notify me",
    "sending": "Saving…",
    "done": "You're on the list. We'll email you when enrolment opens.",
    "errorInvalid": "Please enter a valid email address.",
    "errorServer": "Something went wrong. Please try again in a minute.",
    "errorOff": "The waitlist isn't available right now. Email {{email}} and we'll add you.",
    "notice": "We use your email only to tell you about this course, and you can ask us to remove it at any time.",
    "hour": "Hour {{n}}",
    "lessonsTitle": "Some of the lessons",
    "lessonsNote": "The full lesson list will be published before enrolment opens.",
    "freeTitle": "Start free today",
    "freeBody": "These free courses cover the same ground and are open now.",
    "inEnglish": "In English"
  },
  "appTesters": {
    "eyebrow": "Android app · early access",
    "bandTitle": {
      "signup": "Test the Android app before it's on Google Play",
      "testing": "The Android app test is open",
      "live": "SkillByAI is on Google Play"
    },
    "bandBody": {
      "signup": "We're looking for early testers. Use the app for two weeks, tell us what to fix, and help us launch it on the Play Store.",
      "testing": "Join the closed test on Google Play, use the app for two weeks and tell us what to fix before the public launch.",
      "live": "Learn with lessons, shorts and quizzes on your Android phone, in English and Hindi."
    },
    "howItWorks": "How testing works",
    "formBody": "Leave your Gmail address and we'll send you the invite to the test on Google Play.",
    "emailLabel": "Gmail address",
    "emailHint": "Use the Google account you sign in to Play Store with on your Android phone. Google adds testers by that address.",
    "submit": "Become a tester",
    "sending": "Saving…",
    "doneTitle": "Thanks, you're on the tester list.",
    "doneSignup": "We'll email you the opt-in link as soon as the test opens on Google Play. To be ready, join our tester group now with the same Google account:",
    "next1": "Join our tester group with the Google account you use on Play Store:",
    "joinGroup": "Join the tester group on Google Groups",
    "next2": "Then opt in to the test on Google Play:",
    "optIn": "Join the test on Google Play",
    "next3": "Install SkillByAI from Google Play and open it on a few different days over the next two weeks.",
    "errorInvalid": "Please enter a valid email address.",
    "errorServer": "Something went wrong. Please try again in a minute.",
    "errorOff": "The tester list isn't available right now. Email {{email}} and we'll add you.",
    "notice": "We use this address only to invite you to the Android app test and send you news about it. We share it with Google only to add you as a tester, and you can ask us to remove it at any time.",
    "liveBody": "SkillByAI is now on Google Play. Thank you to everyone who tested it.",
    "getOnPlay": "Get it on Google Play",
    "inApp": "You're already using the app. Thank you for testing it!",
    "inAppFeedback": "Found something to fix? Send it from the app's Google Play page, or email"
  },
  "androidApp": {
    "crumb": "Android app",
    "seoTitle": "Android App Early Access",
    "description": "Test the free SkillByAI Android app before anyone else. Two steps, about two minutes: join our tester group, then install it from Google Play.",
    "badge": "Early access",
    "factFree": "Free",
    "factAndroid": "Android 7.0+",
    "title": "Get SkillByAI before anyone else.",
    "lede": {
      "signup": "Lessons, shorts and quizzes in your pocket. Sign up and we’ll email you the invite as soon as the test opens on Google Play.",
      "testing": "Just <strong>2 steps</strong>. About 2 minutes. Lessons, shorts and quizzes in your pocket.",
      "live": "<strong>Now on Google Play.</strong> Lessons, shorts and quizzes in your pocket, in English and Hindi."
    },
    "cta": {
      "signup": "Sign up",
      "testing": "Start step 1",
      "live": "Get it on Google Play"
    },
    "stepsTitle": "Two steps. That’s it.",
    "step1Tag": "Join",
    "step1Title": "Join our tester group",
    "step1Body": "Tap the button and press <strong>Join group</strong>. Use the <strong>same Gmail as your Play Store</strong>.",
    "step1Cta": "Join the Google Group",
    "step1Note": "Group: skillbyai@googlegroups.com",
    "step2Tag": "Install",
    "step2Title": "Install the app",
    "step2Body": "Open SkillByAI on Google Play and tap <strong>Install</strong>, signed in with the <strong>same Gmail as step 1</strong>.",
    "step2Cta": "Get it on Google Play",
    "step2Note": "Says “not available”? Wait a minute after step 1, then refresh.",
    "afterTitle": "After that?",
    "afterBody": "Open the app on a few different days over the next <strong>14 days</strong>, and tell us what to fix from its Google Play page. Your feedback decides what changes before launch.",
    "joinTitle": {
      "signup": "Become an early tester",
      "testing": "Join the test",
      "live": "Get the app"
    },
    "perk1Title": "First in line",
    "perk1Body": "Free early access before it goes public.",
    "perk2Title": "Learn on the go",
    "perk2Body": "Lessons, shorts, quizzes and code playground.",
    "perk3Title": "Your voice counts",
    "perk3Body": "Tell us what to fix and we will.",
    "faqTitle": "Quick questions",
    "q1": "Why do I need to join a group first?",
    "a1": "Google Play only lets people in our tester group download a test app. Joining the group is how Play knows it’s you.",
    "q2": "Do I need an Android phone?",
    "a2": "Yes — any Android phone or tablet on Android 7.0 or newer. There’s no iPhone version yet.",
    "q3": "I’m on a computer. Can I still join?",
    "a3": "Yes. Do both steps in your browser, signed in with that same Gmail. Then tap Install on Google Play and pick your phone, and the app downloads to it.",
    "q4": "Can I leave the test?",
    "a4": "Yes, at any time, from the same opt-in link, and you can leave the tester group on Google Groups. Email us if you also want your address removed from our list."
  },
  "blog": {
    "eyebrow": "The SkillByAI blog",
    "title": "Build real things with open-source AI.",
    "lead": "Hands-on tutorials, honest tool comparisons and founder stories, written by the people who teach our courses.",
    "all": "All posts",
    "filter": "Filter by topic",
    "featured": "Featured",
    "minRead": "{{n}} min read",
    "empty": "No posts here yet.",
    "offlineTitle": "Can't load the blog",
    "offlineBody": "Check your connection and try again. Posts you have opened stay readable offline.",
    "retry": "Try again",
    "back": "All posts",
    "share": "Share this post",
    "linkCopied": "Link copied",
    "keepReading": "Keep reading",
    "notFoundTitle": "Post not found",
    "notFoundBody": "This post was moved, removed or is not available in this language.",
    "copied": "Copied",
    "seoTitle": "Blog",
    "description": "Hands-on tutorials on open-source AI, tool comparisons and founder stories from the SkillByAI course team."
  },
  "inbox": {
    "title": "Inbox",
    "empty": "No messages yet. News about tutorials and courses you follow shows up here.",
    "markAll": "Mark all read",
    "open": "Open",
    "error": "Could not load your messages. Try again in a minute."
  },
  "certificates": {
    "claimTitle": "Get your certificate of completion",
    "claimed": "Your certificate is ready.",
    "claimedHint": "Its page shows Verified to anyone who opens the link. Share it, or add it to LinkedIn from there.",
    "view": "Open the certificate",
    "download": "Download PDF",
    "nameLabel": "Name on the certificate",
    "nameHint": "As you want it printed. You can correct it once within 30 days; after that, ask support.",
    "pledge": "I completed this work myself and did not copy it from anyone.",
    "claimButton": "Get my certificate",
    "adultQuestion": "Are you 18 or older?",
    "adultYes": "Yes, I am 18 or older",
    "adultNo": "No, I am under 18",
    "adultHint": "Under 18, your portfolio page stays private. Certificates work either way.",
    "achievementTitle": "Certificate of achievement",
    "achievementFree": "Certificates of achievement come with the paid courses: every quiz at 90 % or more in a course you bought.",
    "quizzesBelow": "Quizzes below 90 % here: {{n}} of {{total}}. Retakes are unlimited and the best attempt counts.",
    "cardTitle": "Certificates",
    "get": "Get certificate",
    "none": "Finish a tutorial to get a free certificate of completion.",
    "completion": "Completion",
    "achievement": "Achievement",
    "finishedTitle": "You finished this tutorial",
    "finishedBody": "Get your free certificate of completion, with a page anyone can check.",
    "courseNotBought": "Certificates of achievement are for courses you bought. Buy the course, clear every quiz at 90 % or more, and pass the final project where the course has one.",
    "quizzesTitle": "Quizzes",
    "quizzesAllDone": "Every quiz is at 90 % or more.",
    "projectTitle": "Final project",
    "projectIntro": "Build the course project, put the code in a public GitHub repository with your commits, and put it online. An automatic check runs first; then a person reviews it.",
    "projectRepo": "GitHub repository",
    "projectLive": "Live link",
    "projectWriteUp": "What you built",
    "projectWriteUpHint": "A few lines: what it does, how you built it, what you would do next.",
    "projectSubmit": "Submit my project",
    "projectResubmit": "Submit again",
    "reviewerSaid": "Reviewer:",
    "projectStatus": {
      "none": "Not submitted yet.",
      "checking": "Submitted. The automatic check is running.",
      "failed": "The automatic check found problems. Fix them and submit again.",
      "waiting": "Passed the automatic check. Waiting for a person to review it.",
      "changes_requested": "Sent back with a comment. Make the changes and submit again.",
      "approved": "Approved."
    }
  },
  "portfolio": {
    "editTitle": "Your portfolio",
    "liveAt": "Public at",
    "saved": "Saved.",
    "visibility": "Who can see it",
    "public": "Show my portfolio page (public)",
    "indexable": "Let search engines show my profile",
    "sectionsHint": "Sections shown on the page:",
    "section": {
      "about": "About",
      "skills": "Skills",
      "certificates": "Certificates",
      "learning": "Finished tutorials",
      "in_progress": "Tutorials in progress",
      "projects": "Projects",
      "activity": "Activity and streaks",
      "quiz_scores": "Quiz scores"
    },
    "about": "About you",
    "username": "Username (skillbyai.com/u/…)",
    "usernameHint": "3–30 letters, digits and hyphens. You can change it once a month; the old link keeps working for 90 days.",
    "certificateName": "Name on certificates",
    "certificateNameHint": "Printed on the certificates you claim.",
    "certificateNameLocked": "Used on your certificates. Each certificate offers one free correction within 30 days.",
    "headline": "Headline",
    "bio": "About you (short bio)",
    "city": "City",
    "photo": "Photo (link to an image, https://)",
    "extraSkills": "More skills",
    "extraSkillsHint": "Comma separated. Skills from finished tutorials are added for you.",
    "links": "Links",
    "linkLabel": "Label",
    "addLink": "Add a link",
    "save": "Save",
    "projects": "Projects",
    "projectTitle": "Title",
    "projectDescription": "What it does",
    "projectRepo": "Code (GitHub)",
    "projectLive": "Live link",
    "projectTags": "Tags (comma separated)",
    "projectPublic": "Show on my portfolio",
    "saveProject": "Save project",
    "deleteProject": "Delete",
    "addProject": "Add a project",
    "hiddenByYou": "Your portfolio is hidden. Switch it on to share it.",
    "hiddenMinor": "Portfolios are not shown for learners under 18.",
    "hiddenAge": "Answer \"Are you 18 or older?\" to show your portfolio.",
    "hiddenByAdmin": "Your portfolio was hidden by SkillByAI. Contact support if you think this is a mistake.",
    "notice": "Your portfolio is public at {{url}}. Edit it or hide it any time.",
    "edit": "Edit",
    "hide": "Hide it",
    "gotIt": "Got it",
    "cardTitle": "Your portfolio",
    "copy": "Copy link",
    "copied": "Copied",
    "share": "Share",
    "preview": "Preview",
    "strength": "Profile strength: {{n}} %",
    "publicSwitch": "Public"
  },
  "capture": {
    "title": "Keep learning with us",
    "body": "Carry on with our Telegram bot, or make a free account to get course updates by email. You can keep reading either way.",
    "telegram": "Join on Telegram",
    "email": "Get updates by email",
    "close": "Close"
  }
}
