PageSourceSearch

https://anylearns.ai/_next/static/chunks/1_klgpkx3j12h.js

js anylearns.ai collected 2026-10-05 11:48:44 UTC 79,018 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,78436,e=>{"use strict";var t=e.i(53140),a=e.i(90878),n=e.i(94108);let r={nav:{learn:"Learn",explore:"Explore",cadence:"Cadence",projects:"My projects"},landing:{badge:"A learning project for every curiosity",h1a:"Follow a curiosity. ",h1b:"Get a course.",h1c:"Written for exactly you.",sub:"Whatever you’re curious about, AnyLearns builds the course around you — your goal, your level, your week — one lesson at a time.",ph:"Someday I’ll finally learn…",start:"Start my project →",how:"How we teach",pricing:"Pricing",priceSub1:"Same core teaching quality and the same daily tutor Q&A allowance on every plan. Plans differ in monthly credits, projects in progress, export, and credit-pack eligibility.",priceSub2:"Heavier AI work is quoted a fixed credit price by complexity (Low / Medium / High) — you confirm before anything is charged. Plan credits reset monthly and don't roll over.",promoH:"First month free",promoSub:"on any paid plan — cancel anytime, keep what you exported.",billingMonthly:"Monthly",billingAnnual:"Annual (save)",signin:"Sign in",teach:{label:"How we teach",h2:"Lessons built the way memory works",intro:"Every lesson is written from sources we trust, with the citations to show for it — never from whatever the model happens to remember. Then it’s shaped by four rules from the learning sciences.",cards:[{n:"01",t:"We ask why you’re learning, first",d:"Sourdough for Sunday breakfasts is a different course from sourdough for a bakery. Your reason goes into the mission, and every lesson has to answer to it.",theory:"Andragogy · Malcolm Knowles"},{n:"02",t:"Every lesson is just hard enough",d:"The next lesson is only written after the last one, from what you actually did. Sailing through? It steps forward. Stuck? It steps back half a pace. Never so easy you coast, never so hard you stall.",theory:"Zone of proximal development · Lev Vygotsky"},{n:"03",t:"Light on explaining, heavy on practice",d:"When you’re taking in something new, difficulty is the enemy: explanations stay short and plain so your working memory goes to understanding. When you practise, difficulty is the tool: drills make you work, because effort is what makes it stick.",theory:"Cognitive load theory · John Sweller  ·  Desirable difficulties · Robert Bjork"},{n:"04",t:"Remembering isn’t the same as fluency",d:"Reading along feels like knowing — it’s an illusion. So lessons make you recall with the page closed, and bring old material back after a gap. What’s still there next month is what you’ve learned.",theory:"Testing effect · Roediger & Karpicke  ·  Spacing effect"}]},kit:{label:"Comes with every course",h2:"Not add-ons. Part of the course.",sub:"These are written alongside the lessons, from the same notebook — they know what you’ve covered and what you haven’t.",items:[{t:"A glossary that only holds what you’ve understood",d:"A term goes in once you’ve shown you get it, and its definition is revised as your understanding sharpens. Open it from any lesson.",alt:"The glossary of a real AnyLearns course: terms with their definitions"},{t:"Cheat sheets you’ll actually reopen",d:"Each lesson’s essence pressed onto one page — syntax, steps, sequences, whatever the subject calls for. Made to be reopened, and printed.",alt:"A cheat sheet from a real AnyLearns course"},{t:"One line after each lesson, and the next one changes",d:"Too easy, just right, or too hard — plus what clicked and what didn’t. That’s the brief for the lesson that gets written next.",alt:"The end-of-lesson panel: three difficulty buttons and a note box"},{t:"Write your own answer, get it graded",d:"Open questions instead of multiple choice. Put your understanding in your own words and get a grade with the reasoning, on the spot.",alt:"An open question with the learner’s answer, its grade and the reasoning"},{t:"A tutor in the margins",d:"Stuck mid-lesson? Ask right there. The tutor has read every page of your course and knows exactly where you are.",alt:"The in-lesson tutor panel: one question and its answer"}]},cert:{label:"When you finish",h2:"Finish the course, get the certificate",sub:"The moment the last stage assessment is passed, the certificate is issued. Nothing to apply for.",points:[{t:"Issued automatically",d:"Pass every stage assessment and it’s yours. No separate final exam, no application."},{t:"Your name, set once",d:"You put your name on it once. It’s printed on the certificate and never changes after that."},{t:"Shareable, verifiable, printable",d:"A credential number people can read out loud, a public link anyone can check, and a print view that fits one sheet of paper."}],sampleName:"Your name",sampleTitle:"Survival Spanish for a two-week trip"},ios:{h:"Also on your iPhone",d:"Lectures, drills, pronunciation, flashcards — every lesson format laid out again for the phone. A talk on the commute, a few cards in a queue."}
1,priceNote:"$X / $Y and credit amounts (◈ N) are placeholders — final pricing pending cost evaluation. Annual billing discounts the price; credits still grant and reset monthly. Cancelling stops renewal at period end and never deletes your projects.",priceNoteLive:"Annual billing discounts the price; credits still grant and reset monthly. Cancelling stops renewal at period end and never deletes your projects.",footerTerms:"Terms of Service",footerPrivacy:"Privacy Policy",footerBlog:"Blog",iosLabel:"iOS App",iosDownload:"Download on the App Store"},plans:{popular:"Most popular",trialNote:"First month free — cancel anytime during the trial",curious:{name:"Curious",price:"$0",perM:"forever",perA:"forever",features:["◈ N₀ credits / month","1 project in progress · unlimited exploration","Same teaching quality & tutor allowance","No export or credit packs"],cta:"Start free"},learner:{name:"Learner",price:"$X",perM:"per month",perA:"per month · billed annually",features:["◈ N₁ credits / month","5 projects in progress · unlimited exploration","Same teaching quality & tutor allowance","Full project export (ZIP)","Buy never-expiring credit packs"],cta:"Start learning"},polymath:{name:"Polymath",price:"$Y",perM:"per month",perA:"per month · billed annually",features:["◈ N₂ credits / month","Unlimited projects in progress","Same teaching quality & tutor allowance","Everything in Learner, incl. export & packs"],cta:"Go Polymath"}},signin:{welcome:"Back to your desk",sub:"Everything is right where you left it.",google:"Continue with Google",apple:"Continue with Apple",github:"Continue with GitHub",or:"or",emailPh:"[email protected]",sendLink:"Email me a sign-in link",sent:"Check your inbox",sentSub:"We sent a sign-in link and a 6-digit code to",codePh:"6-digit code",codeCta:"Sign in with the code",codeInvalid:"That code is wrong or expired — send a fresh email and try again.",deletedNotice:"This account was deleted. To restore it, email [email protected] within 30 days of deletion.",expires:"The link and code expire in 15 minutes.",resend:"Resend",openLink:"Open the link (prototype)",differentEmail:"Use a different email",finePrint:"AnyLearns is for adults. By signing in you confirm you are 18 or older and agree to the Terms of Service and Privacy Policy."},explore:{title:"See what people are learning",sub:"Not sure where to start? Browse first. Whatever you pick carries straight into mission clarification — and you can still change every word of it.",allFields:"All fields",all:"All",topicsUnit:"topics",seeAll:"See all →",nothingH:"Nothing fits?",nothingSub:"This list was never meant to be complete. Write down what you actually want to learn.",writeOwn:"Write your own →",note:"Picking a project opens mission clarification."},home:{greet:"What are we learning today?",sub:"Name it in a sentence — a short conversation turns it into a project.",ph:"e.g. Watercolor painting, Rust, conversational Spanish…",start:"Start a learning project",continueH:"Continue learning",all:"All projects →",activeW:"Active this week"},mission:{badge:"Putting it down on paper",h1:"First page: why you’re here",sub:e=>`A few quick questions about “${e}” — what you’re aiming for, and where you’re starting from. Your answers shape the whole course.`,qs:[{q:"Why do you want to learn this? What changes when you succeed?",opts:["For my own joy and craft","For work or a project","To teach or share with others"],multi:!1,allowDecide:!1},{q:"What would success look like in the real world?",opts:["Complete a real piece of work end to end","Hold my own in real situations","Pass on knowledge confidently"],multi:!1,allowDecide:!1},{q:"What constraints should the path respect?",opts:["About 30 minutes on weekdays","Weekends only","A flexible but light schedule"],multi:!1,allowDecide:!1},{q:"Anything explicitly out of scope for now?",opts:["Keep it fundamentals only","Skip the professional/business side","Nothing — keep it open"],multi:!1,allowDecide:!1}],preparing:"Thinking about your topic — preparing a few questions",synthesizing:"Writing your answers into a mission draft",rejected:"We can't help with this topic — AnyLearns doesn't teach things that could be dangerous or illegal. If you think this is a mistake, try describing what you want to learn in a different way.",rejectedCta:"Try a different topic",helpDecide:"Help me decide",multiHint:"Pick all that apply",backToEdit:"← Back to my answers",editH:"Edit your answers",redraft:"Redraft the mission →",freeform:"Or answer in your own words…",answer:"Answer",confirmH:"Your learning mission",fields:{why:"Why",success:"Success looks like",constraints:"Constraints",outOfScope:"Out of scope"},freezeNote:"❄ The mission freezes once your first lesson is generated. A new mission means a new project — your history stays interpretable.",confirm:"Confirm mission → outline + first lesson ◈1"},gen:{h1:e=>`Drafting “${e}”`,sub:"Pencils sharpened — turning your mission into a path.",steps:["Reading your mission and constraints","Scouting trusted resources for stage one","Shaping stages and assessment points","Placing your first lessons"],longNote:"This is the slow part — the outline takes a minute or two. You'll land on your path as soon as it's ready, and the first lesson opens automatically once written.",draftFailed:"The outline draft didn't come through — your project is safe; just retry.",retry:"Retry drafting →"},path:{formatNames:{drill:"Drill lesson",listening:"Listening lesson",scenario:"Scenario lesson",flashcards:"Flashcards lesson",lecture:"Lecture lesson",appreciation:"Appreciation lesson",practice:"Practice lesson"},badge:"Your learning path",livingNote:"✦ This is a living path, not a syllabus — only your next lesson is written in advance, and later stages adjust to your progress reports and assessments. Stage assessments and their pass criteria change only with your confirmation.",assessWord:"Stage assessment",assessWordAppre:"Stage recap",appreTone:"Appreciation",appreNote:"✦ This path follows your taste — only the next talk is written in advance, and later movements adjust to what you report back. Stage recaps and their criteria change only with your confirmation.",appreLessonsMeta:e=>`${e} talks`,collectionH:"Collection",collectionSub:e=>`${e} works beheld \xb7 revisit any of them`,collectionEmpty:"Nothing collected yet — works arrive with your next talk.",collectionNote:"Progress 
1is collection: the wall grows as you walk.",playAll:"Play all",playStop:"Stop",appreContinue:"Continue →",assessLocked:"Unlocks after you complete every lesson in this stage.",completedH:"Course completed",completedNote:"Every stage assessment is passed — nicely done. All lessons and references stay open for review.",assessCta:e=>`◎ Take the stage ${e} assessment`,assessCtaSub:"Passing unlocks the next stage · retake the same assessment as many times as you need",refsH:"References",refsTag:"yours to keep",refsSub:"Generated alongside your lessons — quick sheets you can open anytime, in or out of a session.",refsNote:"References grow with the path: as new lessons are generated, new sheets appear here and existing ones are updated. All included in the project export.",refKind:{cheat_sheet:"Cheat sheet",glossary_term:"Glossary",entry:"Quick reference"},refGlossaryTitle:"Glossary",refGlossaryMeta:e=>`${e} term${1===e?"":"s"} so far`,refUpdated:e=>`updated ${e}`,assessPassed:"Passed ✓",progressH:"Your progress",doneLessons:"Lessons completed",passedStages:"Stages passed",lastStudied:e=>0===e?"Last studied: today":1===e?"Last studied: yesterday":`Last studied: ${e} days ago`,accept:e=>`Confirm path & generate Lesson 1 \xb7 ◈${e}`,nextStageCta:(e,t)=>`Start stage ${e} \xb7 generate the next lesson \xb7 ◈${t}`,generateNextCta:e=>`Generate the next lesson \xb7 ◈${e}`,lessonsMeta:e=>`${e} lessons`,passWord:"Pass:",generatingCta:"Generating your lesson",generatingNote:"Generation is running — you can leave this page; the lesson appears here (and in your schedule) when it’s ready.",backToSchedule:"Back to my schedule →",creditsH:"How credits work",creditsSub:"Heavier AI work (research, lesson & assessment generation) is quoted a fixed price by task complexity:",tiers:{low:"Low complexity",medium:"Medium complexity",high:"High complexity"},quoteNote:"The price is right on the button — credits are charged only after you confirm.",noOutlineNote:"This path's outline hasn't been drafted — the placeholder below is not your real plan. Lessons already generated are unaffected.",draftNow:"Draft the outline",redrawing:"Redrawing the path",statusGenerated:"generated",statusCompleted:"completed",statusSkipped:"skipped",statusNext:"next"},plan:{h1:"Your week, in pencil",all:"All",allProjectsTag:"All projects",days:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],rest:"Rest",weeklyReview:"Weekly review with Tutor",studyEntry:"Study session",upNext:"Up next:",upNextSub:"Generated and ready for you",stageOf:"Stage",lessonsIn:"lessons in",assessWhenReady:" — assessment when you feel ready",lessonN:e=>`Lesson ${e}`,startLesson:"Start lesson →",thisWeek:"This week",doneW:"Lessons completed",vsLastW:"vs last week",deltaW:e=>e>0?`+${e} ↗`:e<0?`−${-e} ↘`:"→ same",daysW:"Days studied",daysVal:e=>`${e} ${1===e?"day":"days"}`,noProject:"No active project yet — start one from Learn.",nudge:"Suggested times are yours to move. Nothing locks if you miss one.",dayLoad:e=>`${e}`,moreN:e=>`+${e} more`,less:"Show less"},lesson:{back:"← Back to path",loadFailed:"This lesson could not be loaded — it may have been removed, or the link is stale.",withdrawnNote:"This lesson was withdrawn after a quality problem was found. Its credits were refunded; the path page offers the replacement.",backToLesson:"← Back to the lesson",crumb:(e,t,a)=>`Stage ${e} \xb7 Lesson ${t} of ${a}`,keyIdea:"Key idea",quickCheck:"Quick check",questionPh:"Answer in your own words…",questionSubmit:"Check my answer",questionChecking:"Checking…",questionMissedIntro:"Not there yet:",questionRetry:"Add to your answer and check again",questionNotAttempt:"That doesn't read as an answer — give it a real try.",questionAllPoints:"You covered every point.",questionReference:"Reference answer",questionUnavailable:"Grading isn't available right now — compare with the reference answer.",clozeMeaningOk:e=>`Meaning's right — the standard form is “${e}”`,drillMcq:"Choice",drillCloze:"Fill in",drillMatch:"Match",drillOrder:"Arrange",drillLabel:(e,t)=>`Drill ${e} / ${t}`,drillCheck:"Check",drillCorrect:"Correct",drillWrong:"Not quite",drillAnswer:"Correct answer",drillPh:"Type your answer…",drillSpeak:"Play pronunciation",drillSummary:(e,t)=>`Drills: ${e} of ${t} correct`,drillDecision:"Decision",drillListen:"Play and answer from what you hear",drillTranscript:"Transcript",drillBetter:"The better choice",cardProgress:(e,t)=>`Card ${e} of ${t}`,cardFlip:"Flip",cardRemembered:"Got it",cardForgot:"Not yet",deckSummary:(e,t)=>`Remembered ${e} of ${t}`,lectureWho:"T",lecturePlay:"Play",lecturePause:"Pause",lectureHint:"Press play to start the talk",lectureEnded:"That's the talk — read on below",lectureFull:"Fullscreen",lectureExitFull:"Exit fullscreen",workFullView:"Full view",workLoading:"Loading the work…",workUnplayable:"This recording cannot play in this browser.",workLicense:"License",practiceTitle:"Hands-on practice",practiceStep:e=>`Step ${e}`,practiceGuideTitle:"Step guide",practiceMaterials:"Lay out",practiceChecklist:"Check your work against",practiceSubmit:"📷 Submit a photo",practiceSubmitHint:"Ticking the boxes is optional — the teacher reviews against the same list.",practiceUploading:"Uploading…",practiceReviewing:"The teacher is looking at your work — feel free to read on.",practiceCritique:"Teacher's critique",practiceAgain:"Try again, submit a new photo",practiceFailed:"The critique didn't go through; your photo is saved.",practicePhotoLost:"That photo didn't make it into storage — please take a new one and submit again.",practiceRetry:"Retry the critique",practiceLimit:"Today's submissions for this lesson are used up — keep practicing and submit tomorrow.",demoBroken:'⚠ The interactive demo hit an error and stopped — the written lesson is unaffected. Use "Report an error" below to flag it.',savedRefs:"Saved to your references",sources:"Sources for this lesson",whySource:"Why this source",reportError:"⚑ Report an error in this lesson",reportErrorNote:"Your report sends only the highlighted content for quality review — never your whole project. AI can make mistakes; the lesson itself stays unchanged.",saveExit:"Save & exit",complete:"Complete lesson →",completeH:"Pencils down — lesson done",reportPh:"What clicked? What was hard?",feedbackChips:["Felt too easy","Just right","Too hard"],nextUp:"Next up",generateNext:e=>`Generate \xb7 ◈${e}`,submitReport:"Submit",reportSavedFree:"Your report shapes the next lesson.",tutor:"Tutor",hide:"Hide",ask:"Ask",tutorPh:"Ask anything about this lesson…",send:"Send",quickPrompts:["Explain that more simply","Give me another example","Why does this matter?"],capH:"Daily Q&A allowance used up",capNote:"Your included allowance resets tomorrow. You can extend today with one credit — only if you say so.",extend:"Add extension · ◈1",qnaRemaining:e=>`Q&A allowance: ${e}% left today`},cert:{h1:"My certificates",subIssued:e=>`${e} issued \xb7 every certificate has a publicly verifiable link`,emptyH:"No certificates yet",emptyNote:"Finish a course — pass every stage assessment — and its certificate is issued automatically.",autoNote:"Certificates are issued automatically when the final stage assessment is passed. Deleting a project takes its certificate offline too.",sealCta:"Put your name on it",sealTitle:"Name this certificate",sealNote:"This 
1name is printed on the certificate and cannot be changed once sealed.",sealPlaceholder:"Your name",sealConfirm:"Seal and get the link",unsealedBadge:"Awaiting a name",view:"View certificate",copyLink:"Copy link",copied:"Copied ✓",print:"Print / Save as PDF",issuedOn:e=>`Issued ${e}`,statsShort:(e,t)=>`${e} stages \xb7 ${t} lessons`,nearH:e=>`Certificate #${e} is close.`,nearNote:e=>`${e} lessons to go — the certificate is issued automatically once every stage assessment is passed.`,nearCta:"Keep learning →",verifiedBadge:"Verified",bannerLine:(e,t)=>`Issued by AnyLearns \xb7 Credential ${e} \xb7 ${t}`,goneH:"This certificate is unavailable",goneNote:"The link doesn't exist, or the certificate is no longer available.",wantLearn:"Want to learn this too?",publicCta:e=>`Start your own version of “${e}” →`},share:{action:"Share this lesson",consentTitle:"Share with a link",consentNote:"This lesson was written around your goals, so its text may mention your personal situation. Anyone with the link can read it without signing in, and links can be passed along. You can stop sharing anytime. A friend who signs up through this link counts as your referral — when they first subscribe, you both earn reward credits.",confirm:"Share and copy link",shared:"Shared",copyLink:"Copy link",copied:"Copied ✓",stop:"Stop sharing",publicBadge:"A lesson AnyLearns wrote for one learner's goals",publicCta:"Learn your own version of this topic",publicGoneH:"This link is no longer available",publicGoneNote:"The share link doesn't exist, or sharing was turned off.",publicSourcesNote:"Sources this lesson draws on",publicPitch:"This lesson was written for one learner's goals. Tell AnyLearns yours, and it drafts a course around you, lesson by lesson.",publicCtaShort:"Try it yourself"},assess:{badge:"Stage assessment",introH:e=>`${e}: show what you know`,pointsH:"What this assessment covers",pointCore:e=>`Demonstrate the core skills of this stage toward: ${e}`,retryNote:"Retake as often as you need until you pass. This checkpoint guides you — it isn't a certification.",passedH:"This stage's assessment is passed ✓",passedNote:"Generate the next stage's first lesson to keep going — its assessment opens once you've studied it.",backToPath:"Back to the path →",generatingCta:"Generating your assessment",generatingNote:"Generation is running — you can leave this page; the assessment will be ready here.",confirmGen:e=>`Generate the assessment \xb7 Medium ◈${e}`,genNote:"After it generates you'll review the assessment points and pass line first — answering starts once you confirm them.",passLineLabel:(e,t)=>`Pass line: ${e} of ${t} correct`,passLineShort:(e,t)=>`pass line ${e}/${t}`,startCta:"Confirm and start answering",resume:"Resume assessment →",h1:"Show what you know",flag:"⚑ I think there is an error",flagged:"Reported — thank you. AI can make mistakes; grading is unchanged.",submitDisabled:"Answer all questions to submit",submit:"Submit for grading",grading:"Grading — your teacher is reviewing each answer",stageN:e=>`Stage ${e}`,passH:e=>`${e} passed`,score:e=>`Score: ${e}%`,continueNext:"Continue →",failH:"Not passed yet — here's exactly why",concept:"Concept",gap:"Where reasoning broke",review:"Review",retake:"Retake now",reviewFirst:"Review first"},prof:{since:e=>`Learning since ${e}`,settings:"Settings",statStreak:"Day streak",metaStarted:e=>`Started ${e}`,statCredits:"Credits left",statHours:"Hours studied",statLessons:"Lessons studied",projectsH:"My learning projects",slots:(e,t)=>`${e} of ${t} projects in progress`,note:"A project takes a slot once you go past its first lesson; exploring new topics never does. Archiving, completing, or deleting a project frees its slot — archived and completed projects stay fully readable.",status:{active:"Active",sample:"Sampling",draft:"Draft",archived:"Archived",completed:"Completed"},act:{archive:"Archive",reactivate:"Reactivate",del:"Delete…",delArmed:"Really delete (30-day recovery)"},deletedH:"Recently deleted",restore:"Restore",purge:"Delete forever",purgeArmed:"Really delete forever",daysLeft:e=>`${e} days left to restore`,newProject:"+ Open a new project"},set:{h1:"Settings",adminH:"Operations console",adminBadge:"Admin",adminSub:"You have administrator access: account status and credit ledgers, stuck tasks, Stripe events and referral anomalies, error reports, refund corrections, and privacy requests. Every action is audited.",profile:"Profile",displayName:"Display name",savedName:"Saved ✓",email:"Email",language:"Language",langNote:"Changing the language affects future generated content only; existing lessons keep their original language.",billing:"Billing",planLine:(e,t)=>`${e} plan \xb7 ${"Curious"===e?"$0":(t??"$ —")+"/mo"}`,planSub:"Credits granted monthly · annual billing available (credits still monthly)",managePlan:"Manage plan",managedInAppStore:"Managed 
1in the App Store",choosePlan:"Choose a plan",perMonthShort:"/mo",perMonthAnnualShort:"/mo · billed annually",creditsPerMonth:e=>`◈ ${e} credits / month`,subscribeCta:"Subscribe",creditBalance:"Credit balance",total:"total",refBonus:"Referral bonus",refExp:"expires 30 days after grant",monthlyBucket:"Monthly plan",monthlyExp:"resets monthly · no rollover",purchasedBucket:"Purchased",neverExp:"never expires",spendOrder:"Tasks always spend the soonest-expiring credits first — purchased credits last.",extraH:"Extra credits",extraSub:"Learner & Polymath only — purchased credits never expire, even after a downgrade",updatePayment:"Update payment",billingInfo:"Billing information",edit:"Edit",billingHistory:"Billing history",receipt:"Receipt",stripeNote:"Payments are securely processed by Stripe. AnyLearns never stores your card details.",buy:"Buy",export:"Project export",exportPaid:"Paid feature",exportNote:"Learner and Polymath can export a full project: structured data, offline-readable lessons and references, conversations, and source links.",exportBtn:"Prepare export",exportPreparing:"Preparing…",exportReady:"Download",exportDone:"Downloaded ✓",exportNoProjects:"No projects to export yet",historyEmpty:"No invoices yet — your billing history appears after the first payment.",refer:"Refer a friend",referSub:e=>`Give ◈${e}, get ◈${e} — when your friend first subscribes to any paid plan.`,refStatJoined:"friends joined",refStatConverted:"subscribed",refStatEarned:"earned",copy:"Copy",copied:"Copied!",account:"Account",signout:"Sign out",deleteAccount:"Delete account…",deleteAccountNote:"Deleting your account signs you out everywhere and stops your subscription from renewing. We keep your data for 30 days — if you change your mind, email [email protected] and we'll restore everything.",deleteConfirm:"Confirm deletion",cancel:"Cancel"},legal:{updated:"Last updated: August 21, 2026",termsH1:"Terms of Service",privacyH1:"Privacy Policy",termsIntro:"Welcome to AnyLearns. These Terms of Service (“Terms”) govern your use of the AnyLearns website, applications, and services (the “Service”). By creating an account or using the Service, you agree to these Terms.",inShortLabel:"In short",inShort:"We collect only what we need to run AnyLearns. We never use your private learning data to train AI models. We never sell your data. You can delete projects or your account at any time — with a 30-day recovery window, or immediately and permanently if you choose.",termsContact:"Questions about these Terms:",privacyContact:"Privacy questions:",terms:[{h:"1. Who may use AnyLearns",ps:["The Service is available only to adults 18 years of age or older, and you confirm your adulthood during registration. We do not knowingly provide the Service to minors."]},{h:"2. The Service",ps:["AnyLearns turns your learning intent into a confirmed learning mission, then teaches through an adaptive learning path of lessons, references, and stage assessments inside a private learning project. Lessons are generated as you progress; once your first lesson is generated, the project's mission is permanently frozen — a new mission means a new project.","AI-generated content may contain errors, omissions, or inaccuracies. The Service is provided for general educational purposes; verify information independently before relying on it. Delivered lessons are immutable; if we take a lesson down for a confirmed serious safety, privacy, or copyright problem, its credits are automatically refunded in full as never-expiring credits.","To operate and improve the Service we record limited product-analytics events (such as project activity, lesson completion, and credit usage). The content of your missions, lessons, and conversations is never sent to analytics — see our Privacy Policy."]},{h:"3. Not professional advice",ps:["The Service is not a substitute for professional education, licensure, or advice in regulated fields — including medical, legal, financial, tax, or psychological matters. Courses on such topics are general education only; always consult a qualified professional before acting."]},{h:"4. Accounts",ps:["You may sign in with Google or an emailed one-time link; we never store passwords. You are responsible for activity under your account. Notify us at [email protected] if you suspect unauthorized use."]},{h:"5. Plans, billing & credits",ps:["Learner and Polymath support monthly and annual billing. Annual billing may discount the price, but credits are always granted and reset on a monthly schedule and do not roll over. All plans share the same core teaching quality and the same daily tutor Q&A allowance; plans differ in monthly credits, projects in progress, export, and credit-pack eligibility. A project only counts against the limit once you continue past its first lesson — exploring new topics is unlimited.","Heavier AI work (source research, lesson or assessment generation) is quoted a fixed credit price by task complexity — Low, Medium, or High — shown on the action itself. You confirm or cancel; nothing is charged in the background. Retaking the same stage assessment, including grading, is free and unlimited.","Only Learner and Polymath may purchase credit packs; purchased credits never expire and remain usable after a downgrade, under the lower plan's entitlements. Referral bonus credits expire 30 days after they are claimed. Soonest-expiring credits are always spent first.","When your daily Q&A allowance runs out, you may explicitly spend ◈ 1 for a fixed additional allowance; the extension can also run out and unused extension does not carry over. Your content stays accessible without credits.","Payments are processed by Stripe. Cancelling stops renewal at the end of the paid period and never deletes your projects. If a downgrade leaves you with more projects in progress than the plan allows, nothing is deleted or auto-archived: existing content stays readable, and new AI work pauses until you choose which projects to archive."]},{h:"6. Acceptable use",ps:["AnyLearns does not provide learning content that is prohibited by law — including, for example, instruction in making explosives or other weapons, or facilitating any illegal activity. Requests for such missions are declined, and high-risk topics (medical, legal, financial, hazardous practice) are limited to general education with authoritative sources.","You also agree not to use the Service to generate unlawful or harmful content; to reverse-engineer, scrape, or overload the Service; to resell generated content as a competing service; or to circumvent credit limits. We may suspend accounts that violate these Terms."]},{h:"7. Your content and ours",ps:["You retain ownership of the missions, questions, and other input you submit. Generated lessons and references are licensed to you for personal, non-commercial learning use. Paid subscribers may export a complete learning project from Settings as a ZIP of structured data, offline-readable HTML, tutor conversations, and source citations; exports never include our internal model reasoning, system prompts, or safety-review data. The AnyLearns name, logo, software, and Service design remain our property.","You may also create an unlisted share link for an individual lesson. Anyone holding the link can view that lesson — including its pronunciation audio — without an account, until you stop sharing;
1 withdrawal of the lesson, deletion of its project, and deletion of your account also disable the link. Sharing is off by default and always your decision: lessons are written around your goals and may reflect personal context you provided. Visitors may view a shared lesson for personal, non-commercial purposes only; scraping, republishing, or reselling shared content is not permitted. We may disable a share link over a confirmed safety, privacy, or copyright problem. Share links carry your referral attribution; rewards follow the referral rules in Section 5."]},{h:"8. Disclaimers & liability",ps:["The Service is provided “as is” without warranties of any kind. To the maximum extent permitted by law, AnyLearns is not liable for indirect, incidental, or consequential damages, and our total liability is limited to the amount you paid us in the twelve months before the claim arose."]},{h:"9. Changes, deletion & termination",ps:["We may update these Terms or modify the Service; material changes are notified by email or in-app before they take effect. You may delete individual projects or your whole account in Settings. Deletion starts a 30-day recovery window, after which learning content is permanently removed — or you may choose immediate permanent deletion. Legally required invoices and minimal financial records may be retained, detached from learning content."]}],privacy:[{h:"1. What we collect",ps:["Account data — name, email, sign-in method (Google or email link), and your adulthood confirmation. Learning data — your missions, learning paths, lessons, progress reports, assessment results, and tutor conversations, stored privately per project. Billing data — plan and invoice history; card details are held by Stripe, never by us. Technical data — device type, browser, the product-analytics events described in Section 3, and the strictly necessary cookies that keep you signed in and record referral attribution (Section 9)."]},{h:"2. How we use it",ps:["To clarify missions, generate lessons and assessments, answer questions, remember your learning state, process payments, provide support, and keep the Service reliable. We send transactional email (sign-in links, receipts) and, with consent, occasional product updates."]},{h:"3. What analytics can — and cannot — see",ps:["Our product analytics receives only event data: project created, started, archived, or completed; lessons opened, completed, or skipped; stage assessment attempts and passes; task complexity, generation time, token cost, and failure types; plan, credit usage, and conversion events.","Never sent to analytics: your mission text; conversations, answers, or lesson content; the specific topics you study; and the contents of your profile or learning records. Analytics sees that events happened — never what you are learning or what was said."]},{h:"4. We do not train on your data",ps:["Private learning content and state are not used for model training or product improvement — by default and by design. Any future data program would require your explicit, purpose-specific opt-in consent. We send AI providers only the minimum a task needs, under contracts that prohibit training on it; we disclose our current providers and will update this policy before any change. One narrow exception you control: submitting an explicit error report authorizes us to use only the reported snippet and minimal anonymous context for quality improvement."]},{h:"5. Who we share it with",ps:["Only service providers acting for us: Stripe (payments), Google (if you choose Google sign-in), disclosed AI model providers (content generation, and grading of the answers you type into a lesson), and cloud hosting (storage). Each receives only what it needs. We never sell personal data and never share it for advertising.","Separately from the providers above, some disclosure happens at your direction: a lesson you share through an unlisted link is visible to anyone who holds the link, until you stop sharing. Sharing is never on by default, and n
1othing else in your project becomes visible."]},{h:"6. Retention & deletion",ps:["Your data is kept while your account is active. Deleting a project starts a 30-day recovery window — restore it anytime within that period, or choose immediate permanent deletion to skip it. Account deletion revokes access immediately, cancels renewal, and removes learning content within 30 days. Legally required invoices and minimal financial records may remain, detached from deleted learning content."]},{h:"7. Your rights",ps:["Depending on where you live, you may have rights to access, correct, export, or delete your personal data. Deletion and correction work from Settings on any plan. The rich project export (ZIP) is a paid-plan product feature — but legally required data-access and portability requests are honored for everyone, on any plan, via [email protected] as a compliance operation independent of subscription."]},{h:"8. Security",ps:["Data is encrypted in transit and at rest. Access to production systems is limited and audited. Sign-in uses one-time email links or Google OAuth — we never store passwords."]},{h:"9. Visitors to shared lessons and invite pages",ps:["You can read a shared lesson or an invite page without an account. These public pages set a single cookie (anylearns_ref, 30 days) recording the sharer's or inviter's referral code, so that a later sign-up and first subscription can be attributed; it is cleared once the attribution is claimed. They also run marketing page-view statistics, which receive standard page-view data — never the sharer's identity or any account's learning history. Visitor IP addresses are used transiently for rate limiting and are not stored. Reading a shared lesson requires no registration and builds no profile of you."]},{h:"10. Age requirement",ps:["AnyLearns is for adults 18 and older; adulthood is confirmed at registration. We do not knowingly collect data from anyone under 18; if we learn we have, we delete it."]},{h:"11. International transfers & changes",ps:["Your data may be processed in countries other than your own, protected by appropriate safeguards. Material changes to this policy are notified by email or in-app before they take effect."]}]},invite:{signIn:"Sign in",chipSuffix:"invited you to learn together",h1a:"Learn anything, ",h1em:"your way",h1b:".",sub:"AnyLearns turns any topic into a personalized course: real sources, step by step, with checkpoints as you go. Start free — no credit card.",ctaGoogle:"Join with Google",emailPh:"[email protected]",ctaEmail:"Email link",sentMsg:"Sign-in link sent — check your inbox.",legal:"By joining you agree to the Terms and Privacy Policy. We never store passwords.",tag:"Referral reward",cardKicker:"You each receive",you:"You",friend:"A friend",cardNote:(e,t)=>`Join free and start learning right away. When you subscribe to any paid plan, you and ${e} each receive ◈ ${t} bonus credits — the same amount on any tier. Bonus credits expire 30 days after they are granted.`,howKicker:"How it works",steps:(e,t)=>[{n:"01",h:"Join free",p:"Sign up through this link and the referral sticks — no need to subscribe now."},{n:"02",h:"Learn on the free tier",p:"The Curious plan grants monthly credits — enough to build a mission and try full lessons."},{n:"03",h:"Subscribe, both rewarded",p:`When you first subscribe to any paid plan, you and ${e} each get ◈ ${t}, automatically.`}],whatH:"A learning platform that is actually built around you",whatSub:"Tell AnyLearns what you want to learn and why. It researches sources, generates lessons, and schedules checkpoints for you.",perks:[{h:"Personalized courses",p:"Generated from real sources, matched to your goal and level."},{h:"Step by step",p:"Checkpoints unlock the next stage — no skimming."},{h:"Daily review",p:"Spaced repetition in minutes a day."},{h:"Privacy first",p:"Private learning data is never used to train models. Export or delete anytime."}],finePrint:"Reward rules: the reward is granted once, when the invited learner first subscribes to any paid plan; both sides receive the same fixed amount. If that payment is refunded or charged back, unused reward credits are revoked (used credits never create a negative balance, but the referral cannot qualify again). Reward credits expire 30 days after grant. Self-referral and abuse are reviewed and may void rewards.",footTerms:"Terms",footPrivacy:"Privacy"},blog:{h1:"Notes on learning anything",sub:"Essays and guides from the AnyLearns notebook — how people actually learn, and how to make it stick.",empty:"Nothing published yet — check back soon.",readMore:"Read â
1†’",prev:"← Newer",next:"Older →"},common:{loading:"Loading…",error:"Something went wrong",confirm:"Confirm",cancel:"Cancel",credits:"credits",insufficientCredits:"Not enough credits — buy a credit pack or upgrade your plan in Settings.",stageIncomplete:"Complete every lesson in this stage first — the stage assessment unlocks after the last one.",genFailed:"Generation failed and your credits were returned — try again below.",stillRunning:"Still generating in the background — check back in a little while.",slowNote:"Taking longer than usual — still working. You can leave this page and come back.",free:"Free",copyright:"© 2026 AnyLearns · One learner, one course.",slotsFull:"All your in-progress projects are taken — archive one, or upgrade your plan.",aiPausedNote:"New AI work is paused: archive projects to fit your plan. Everything stays readable."}},o={en:r,zh:{nav:{learn:"学习",explore:"探索",cadence:"课程表",projects:"我的项目"},landing:{badge:"每一份好奇心,都值得一门课",h1a:"为你的好奇心,",h1b:"开一门课。",h1c:"",sub:"你负责好奇,AnyLearns 负责成课——按你的目标、水平和时间,一课一课写给你。",ph:"一直想学的那件事……",start:"翻开第一页 →",how:"教学方法",pricing:"ä»·æ ¼",priceSub1:"所有档位的核心教学质量与每日导师问答额度完全相同。差别只在每月学分、可同时推进的项目数、导出与购买学分包的资格。",priceSub2:"较重的 AI 工作按复杂度(Low / Medium / High)给出固定报价——确认后才扣费。套餐学分每月重置,不结转。",promoH:"首月免费",promoSub:"任意付费档位——随时取消,导出的内容永远归你。",billingMonthly:"月付",billingAnnual:"年付(优惠)",signin:"登录",teach:{label:"教学方法",h2:"写课的四条规矩",intro:"课里的每一条知识都有来处,页上附着出处,不靠模型凭记忆编。有了这个底子,课再按学习科学里站得住脚的四条规律来写。",cards:[{n:"01",t:"先弄清你为什么学",d:"同样是酸面包,周末烤给家里人吃,和打算开个小店,是两门完全不同的课。你的理由会写进学习使命,往后每一课都照着它来。",theory:"成人学习理论 · Malcolm Knowles"},{n:"02",t:"每一课都刚好够难",d:"下一课要等你学完这一课才动笔,难度看你的实际表现:学得顺,往前迈一步;卡住了,退回半步。既不让你顺着溜下去,也不把你卡死。",theory:"最近发展区 · 维果茨基"},{n:"03",t:"讲解求轻,练习求难",d:"学新东西的时候,难是敌人:讲解短、说人话,把脑子留给理解。练的时候,难是帮手:题目得费点劲,费劲才记得住。",theory:"认知负荷理论 · John Sweller  ·  合意困难 · Robert Bjork"},{n:"04",t:"记住,不等于当下顺口",d:"跟着念一遍,好像全懂了,其实是错觉。所以课里会让你合上书回想,过一阵子再把旧内容翻出来考。一个月后还留在脑子里的,才算真学会。",theory:"测试效应 · Roediger & Karpicke  ·  间隔效应"}]},kit:{label:"每门课都自带",h2:"不是附加功能,是课的一部分",sub:"它们和课一起写出来,出自同一本笔记本,知道你学到了哪儿、哪儿还没讲。",items:[{t:"术语表,只收你真正懂了的词",d:"一个词要等你证明自己理解了,才会收进来;学得越深,释义也跟着改。哪一课里都能随手翻开。",alt:"一门真实课程的术语表:词条与释义"},{t:"速查表,一课的精华压成一页",d:"语法、步骤、动作顺序,学什么就收什么。它就是拿来反复翻的,打印出来贴墙上也行。",alt:"一门真实课程里的速查表"},{t:"课后一句话,下一课就照着改",d:"太简单、刚好、还是太难,哪里通了、哪里卡住,写一句就行。下一课就是照这句话写的。",alt:"课后面板:三个难度按钮和一个感受输入框"},{t:"用自己的话作答,当场判分",d:"开放题,不是选 ABCD。把你的理解写下来,当场给出判定,差在哪也直接告诉你。",alt:"一道开放题:学员的作答、判定与提示"},{t:"页边有位导师",d:"学到一半卡住了,就在课里问。导师读过你这门课的每一页,知道你此刻停在哪里。",alt:"课内导师
1面板:一问一答"}]},cert:{label:"学完之后",h2:"学完这门课,拿到证书",sub:"最后一场阶段考核一过,证书就签发了,不用再申请。",points:[{t:"自动签发",d:"每个阶段的考核都通过,证书就到手。没有另设的期末考,也不用填申请。"},{t:"署名一次",d:"名字由你确认一次,印上证书,之后就不再改。"},{t:"可分享、可核验、可打印",d:"编号念得出口,链接谁都能查,打印出来就是一张正经证书。"}],sampleName:"你的名字",sampleTitle:"量子力学:从直觉到方程"},ios:{h:"iPhone 上也能学",d:"讲座、练习、发音、闪卡,每种课型都为手机重新排过版。通勤路上听一段讲座,排队时翻几张卡片。"},priceNote:"$X / $Y 与学分数(◈ N)均为占位符——最终定价待成本评测后确定。年付享受价格优惠,但学分仍按月发放与重置。取消订阅在当期结束时生效,永远不会删除你的项目。",priceNoteLive:"年付享受价格优惠,但学分仍按月发放与重置。取消订阅在当期结束时生效,永远不会删除你的项目。",footerTerms:"服务条款",footerPrivacy:"隐私政策",footerBlog:"博客",iosLabel:"iOS App",iosDownload:"在 App Store 下载"},plans:{popular:"最受欢迎",trialNote:"首月免费——试用期内可随时取消",curious:{name:"好奇者 Curious",price:"$0",perM:"永久免费",perA:"永久免费",features:["每月 ◈ N₀ 学分","同时推进 1 个项目 · 探索新课题不限","同等教学质量与导师额度","不含导出与学分包"],cta:"免费开始"},learner:{name:"学习者 Learner",price:"$X",perM:"每月",perA:"每月 · 按年计费",features:["每月 ◈ N₁ 学分","同时推进 5 个项目 · 探索新课题不限","同等教学质量与导师额度","完整项目导出(ZIP)","可购买不过期学分包"],cta:"开始学习"},polymath:{name:"博学者 Polymath",price:"$Y",perM:"每月",perA:"每月 · 按年计费",features:["每月 ◈ N₂ 学分","同时推进的项目数不限","同等教学质量与导师额度","包含学习者全部功能"],cta:"升级博学者"}},signin:{welcome:"欢迎回来",sub:"书签还夹在你上次停下的那一页。",google:"使用 Google ç»§ç»­",apple:"使用 Apple ç»§ç»­",github:"使用 GitHub ç»§ç»­",or:"或",emailPh:"[email protected]",sendLink:"给我发送登录链接",sent:"请查收邮箱",sentSub:"登录链接和 6 位验证码已发送至",codePh:"6 位验证码",codeCta:"用验证码登录",codeInvalid:"验证码错误或已过期——重新发送一封再试。",deletedNotice:"该账号已删除。如需恢复,请在删除后 30 天内发送邮件至 [email protected]。",expires:"链接和验证码 15 分钟内有效。",resend:"重新发送",openLink:"打开链接(原型)",differentEmail:"换一个邮箱",finePrint:"AnyLearns 面向成年人。登录即表示你已年满 18 岁,并同意《服务条款》和《隐私政策》。"},explore:{title:"看看别人在学什么",sub:"没头绪就先逛逛。看中哪条,点进去聊两句,它就变成你自己的项目——细节随时能改。",allFields:"全部类目",all:"全部",topicsUnit:"个课题",seeAll:"看全部 →",nothingH:"没找到?",nothingSub:"这个列表本来就没打算列完——直接写下你真正想学的那件事。",writeOwn:"自己写一个 →",note:"选中任意项目 → 进入使命澄清。"},home:{greet:"今天翻开哪一页?",sub:"用一句话说出它——一段简短对话会把它变成你的项目。",ph:"例如:水彩画、Rust、日常西班牙语……",start:"开始一个学习项目",continueH:"继续学习",all:"全部项目 →",activeW:"本周活跃"},mission:{badge:"先写下来",h1:"第一页:目标是什么",sub:e=>`围绕「${e}」聊几句:你想学到什么程度、现在了解多少。这门课就照着你的回答来写。`,qs:[{q:"你为什么想学这个?成功后会有什么不同?",opts:["纯粹出于热爱与手艺","为了工作或某个项目","想教给别人或分享"],multi:!1,allowDecide:!1},{q:"在现实世界里,成功是什么样子?",opts:["独立完成一件真实作品","在真实场景中应对自如","能自信地传授知识"],multi:!1,allowDecide:!1}
1,{q:"学习路径需要尊重哪些现实限制?",opts:["工作日每天约 30 分钟","只有周末有时间","灵活但轻量的节奏"],multi:!1,allowDecide:!1},{q:"目前有什么明确不涉及的范围?",opts:["只学基础","跳过职业/商业部分","没有——保持开放"],multi:!1,allowDecide:!1}],preparing:"正在围绕你的课题准备几个问题",synthesizing:"正在把你的回答写成使命草稿",rejected:"这个课题我们无法提供服务——AnyLearns 不教授可能涉及危险或违法的内容。如果你认为这是误判,可以换一种说法描述你想学的内容。",rejectedCta:"换一个课题",helpDecide:"帮我决定",multiHint:"可多选",backToEdit:"← 返回修改回答",editH:"修改我的回答",redraft:"重新生成使命草稿 →",freeform:"或者用你自己的话回答……",answer:"回答",confirmH:"我的学习使命",fields:{why:"为什么学",success:"成功的样子",constraints:"现实限制",outOfScope:"暂不涉及"},freezeNote:"❄ 第一课生成后使命将永久冻结。新的使命需要新的项目——你的学习历史因此始终清晰可读。",confirm:"确认使命 → 生成大纲和第一课 ◈1"},gen:{h1:e=>`正在起草「${e}」`,sub:"铅笔削好了——正把你的使命画成一条路。",steps:["阅读你的使命与限制","为第一阶段搜寻可信资料","规划阶段与考核点","安排你的第一批课程"],longNote:"这一步最花时间——大纲要一两分钟。大纲好了就能先看路径,第一课写好后会自动打开。",draftFailed:"大纲起草没有成功——项目本身没有丢,可以直接重试。",retry:"重试起草 →"},path:{formatNames:{drill:"操练课",listening:"听力课",scenario:"情境课",flashcards:"记忆卡课",lecture:"讲演课",appreciation:"鉴赏课",practice:"动手课"},badge:"我的学习路径",livingNote:"✦ 这是一条动态路径,不是教学大纲——只有下一课会提前写好,后续阶段会随你的学习回报和考试结果调整。阶段考试及其通过标准的任何变化都需要你确认。",assessWord:"阶段考试",assessWordAppre:"阶段小结",appreTone:"鉴赏",appreNote:"✦ 这条路径随你的兴趣延展——只有下一讲会提前写好,后面的乐章会随你的回报调整。阶段小结及其标准的任何变化都会先经你确认。",appreLessonsMeta:e=>`${e} 讲`,collectionH:"作品集",collectionSub:e=>`已领略 ${e} 部作品 \xb7 每一部都可回访`,collectionEmpty:"还没有入藏的作品——它们会随下一讲到来。",collectionNote:"进度即收藏:走到哪儿,藏品
1墙就长到哪儿。",playAll:"连播",playStop:"停止",appreContinue:"继续欣赏 →",assessLocked:"完成本阶段全部课程后解锁。",completedH:"课程已完成",completedNote:"所有阶段考试均已通过——干得漂亮。课程与参考资料仍可随时回顾。",assessCta:e=>`◎ 参加第 ${e} 阶段考试`,assessCtaSub:"通过后解锁下一阶段 · 同一份考试可无限次重考",refsH:"学习参考",refsTag:"随课生成,归你所有",refsSub:"随课程一起生成的速查资料——课上课下随时打开。",refsNote:"学习参考会跟着路径生长:新课程生成时,这里会出现新的参考,已有的也会更新。全部包含在项目导出里。",refKind:{cheat_sheet:"速查表",glossary_term:"术语表",entry:"快速参考"},refGlossaryTitle:"术语表",refGlossaryMeta:e=>`目前 ${e} 个词条`,refUpdated:e=>`${e}更新`,assessPassed:"已通过 ✓",progressH:"学习进度",doneLessons:"已完成课程",passedStages:"已通过阶段",lastStudied:e=>0===e?"上次学习:今天":1===e?"上次学习:昨天":`上次学习:${e} 天前`,accept:e=>`确认路径并生成第 1 课 \xb7 ◈${e}`,nextStageCta:(e,t)=>`开启第 ${e} 阶段 \xb7 生成下一课 \xb7 ◈${t}`,generateNextCta:e=>`生成下一课 \xb7 ◈${e}`,lessonsMeta:e=>`${e} 节课`,passWord:"通过标准:",generatingCta:"课程生成中",generatingNote:"生成正在进行——可以离开此页面,完成后课程会出现在这里和你的课程表中。",backToSchedule:"返回我的日程 →",creditsH:"学分如何计费",creditsSub:"较重的 AI 工作(资料研究、课程与考试生成)按任务复杂度给出固定报价:",tiers:{low:"低复杂度 Low",medium:"中复杂度 Medium",high:"高复杂度 High"},quoteNote:"价格直接标在按钮上,点确认后才会扣学分。",noOutlineNote:"这条路径的大纲还没有起草成功——下方只是占位结构,不是真实计划。已生成的课程不受影响。",draftNow:"起草大纲",redrawing:"正在重新起草",statusGenerated:"已生成",statusCompleted:"已完成",statusSkipped:"已跳过",statusNext:"下一课"},plan:{h1:"这一周的课程安排",all:"全部",allProjectsTag:"全部项目",days:["周一","周二","周三","周四","周五","周六","周日"],rest:"休息",weeklyReview:"与导师一起每周回顾",studyEntry:"学习记录",upNext:"接下来:",upNextSub:"已生成,随时可开始",stageOf:"阶段",lessonsIn:"节课已完成",assessWhenReady:"——准备好了就可以考试",lessonN:e=>`第 ${e} 课`,startLesson:"开始课程 →",thisWeek:"本周",doneW:"完成课程",vsLastW:"较上周",deltaW:e=>e>0?`+${e} ↗`:e<0?`−${-e} ↘`:"→ 持平",daysW:"学习天数",daysVal:e=>`${e} 天`,noProject:"还没有活跃项目——从「学习」开始一个吧。",nudge:"这只是建议的时间,错过不会锁定任何内容。",dayLoad:e=>`${e} 节`,moreN:e=>`+${e} 节`,less:"收起"},lesson:{back:"← 返回路径",loadFailed:"课程加载失败——可能已被移除,或链接已失效。",withdrawnNote:"这节课因质量问题被撤回,学分已退回。请回到路径页生成替代课程。",backToLesson:"← 返回课程",crumb:(e,t,a)=>`阶段 ${e} \xb7 第 ${t} 课 / 共 ${a} 课`,keyIdea:"核心要点",quickCheck:"快速自测",questionPh:"用自己的话写下答案",questionSubmit:"提交作答",questionChecking:"判定中…",questionMissedIntro:"还差一点:",questionRetry:"补充作答,再提交一次",questionNotAttempt:"这不像是在作答,认真试一次。",questionAllPoints:"要点全都答到了。",questionReference:"参考答案",questionUnavailable:"现在判不了分,对照参考答案看看。",clozeMeaningOk:e=>`意思对,标准写法是「${e}」`,drillMcq:"选择",drillCloze:"填空",drillMatch:"配对",drillOrder:"排序",drillLabel:(e,t)=>`操练 ${e} / ${t}`,drillCheck:"提交",drillCorrect:"答对了",drillWrong:"答错了",drillAnswer:"正确答案",drillPh:"在这里填写",drillSpeak:"播放发音",drillSummary:(e,t)=>`本课操练:答对 ${e} / ${t}`,drillDecision:"决策",drillListen:"先听录音,再作答",drillTranscript:"原文",drillBetter:"更优的选择",cardProgress:(e,t)=>`第 ${e} / ${t} å¼ `,cardFlip:"翻面",cardRemembered:"记住了",cardForgot:"没记住",deckSummary:(e,t)=>`记住 ${e} / ${t}`,lectureWho:"师",lecturePlay:"播放",lecturePause:"暂停",lectureHint:"点击播放,开始这段讲演",lectureEnded:"讲演结束,继续读下面的正文",lectureFull:"全屏",lectureExitFull:"退出全屏",workFullView:"看全貌",workLoading:"作品加载中…",workUnplayable:"这段录音在当前浏览器无法播放。",workLicense:"授权",practiceTitle:"动手练习",practiceStep:e=>`步骤${e}`,practiceGuideTitle:"步骤示意",practiceMaterials:"准备",practiceChecklist:"完成后对照检查",practiceSubmit:"📷 拍照交作业",practiceSubmitHint:"自查勾选不强制——拍照后老师会按同一份清单点评。",practiceUploading:"上传中…",practiceReviewing:"老师正在看你的作品,可以先往下继续。",practiceCritique:"老师点评",practiceAgain:"再做一张,重新交",practiceFailed:"点评没有成功,已保留你的照片。",practicePhotoLost:"这张照片没有保存成功,麻烦重新拍一张再交。",practiceRetry:"重试点评",practiceLimit:"今天这一课的交作业次数用完了——继续练,明天再交。",demoBroken:"⚠ 互动演示出错,已停止运行——课程文字内容不受影响。可用下方「报告错误」反馈。",savedRefs:"已存入我的学习参考",sources:"本课资料来源",whySource:"为何可信",reportError:"⚑ 报告本课中的错误",reportErrorNote:"报告只会发送被标记的内容用于质量审查——绝不包含整个项目。AI 可能犯错;课程本身保持不变。",saveExit:"保存并退出",complete:"完成课程 →",completeH:"这一课,学完了",reportPh:"哪里卡住了?哪里讲得好?",feedbackChips:["太简单ä
1º†","刚刚好","太难了"],nextUp:"接下来",generateNext:e=>`生成 \xb7 ◈${e}`,submitReport:"提交",reportSavedFree:"学习回报会影响下一课的调整。",tutor:"导师",hide:"收起",ask:"提问",tutorPh:"关于本课,随便问……",send:"发送",quickPrompts:["再讲简单一点","再给一个例子","这有什么用?"],capH:"今日问答额度已用完",capNote:"包含的额度明天恢复。你也可以用 1 个学分立即扩展——仅在你明确确认时。",extend:"扩展额度 · ◈1",qnaRemaining:e=>`今日问答额度剩余 ${e}%`},cert:{h1:"我的证书",subIssued:e=>`${e} 张已签发 \xb7 每张证书都有可公开核验的链接`,emptyH:"还没有证书",emptyNote:"学完一门课、通过所有阶段考试,证书会自动签发。",autoNote:"证书在最后一场阶段考试通过时自动签发,无需申请。删除项目后,证书也随之下线。",sealCta:"落名领取",sealTitle:"在证书上落名",sealNote:"这个名字会印在证书上,落名后不可更改。",sealPlaceholder:"你的姓名",sealConfirm:"落名并生成链接",unsealedBadge:"待落名",view:"查看证书",copyLink:"复制链接",copied:"已复制 ✓",print:"打印 / 存为 PDF",issuedOn:e=>`签发于 ${e}`,statsShort:(e,t)=>`${e} 阶段 \xb7 ${t} 节课`,nearH:e=>`第 ${e} å¼ ,就快了。`,nearNote:e=>`还差 ${e} 节课,全部阶段考试通过后证书自动签发。`,nearCta:"继续学习 →",verifiedBadge:"已验证",bannerLine:(e,t)=>`本证书由 AnyLearns 签发 \xb7 编号 ${e} \xb7 签发于 ${t}`,goneH:"这张证书不可用",goneNote:"链接不存在,或证书已不再可用。",wantLearn:"想学这门课?",publicCta:e=>`以《${e}》开一门你自己的版本 →`},share:{action:"分享这节课",consentTitle:"生成分享链接",consentNote:"这节课是围绕你的学习目标写的,正文里可能提到你的个人情况。拿到链接的人无需登录就能查看,链接也可能被转发。你随时可以取消分享。朋友通过这个链接注册即算你的邀请,首次订阅时双方都会获得奖励学分。",confirm:"分享并复制链接",shared:"已分享",copyLink:"复制链接",copied:"已复制 ✓",stop:"取消分享",publicBadge:"这节课由 AnyLearns 围绕一位学习者的目标生成",publicCta:"围绕你自己的目标,学一版这个主题",publicGoneH:"链接已失效",publicGoneNote:"这条分享链接不存在,或分享已被取消。",publicSourcesNote:"本课参考的资料",publicPitch:"这节课为一位学习者的目标而写。告诉 AnyLearns 你想学什么,它会围绕你的目标,一课一课写出属于你的课程。",publicCtaShort:"我也要学这个"},assess:{badge:"阶段考试",introH:e=>`${e}:展示你的掌握`,pointsH:"本次考试考察点",pointCore:e=>`围绕「${e}」,展示本阶段的核心能力`,retryNote:"通过之前可以随时重考。这个检查点用于引导学习——不是资质认证。",passedH:"本阶段考试已通过 ✓",passedNote:"接着生成下一阶段的第一课吧——学过之后,新阶段的考试才会开放。",backToPath:"返回学习路径 →",generatingCta:"考试生成中",generatingNote:"生成正在进行——可以离开此页面,完成后考试会在这里就绪。",confirmGen:e=>`生成考试 \xb7 中档 ◈${e}`,genNote:"生成后会先展示考察点与通过标准,确认后才开始答题。",passLineLabel:(e,t)=>`通过标准:${t} 题答对 ${e} 题`,passLineShort:(e,t)=>`通过线 ${e}/${t}`,startCta:"确认考试点,开始答题",resume:"继续考试 →",h1:"展示你的掌握",flag:"⚑ 我认为这里有错误",flagged:"已记录——谢谢。AI 可能犯错;本次评分保持不变。",submitDisabled:"回答所有题目后提交",submit:"提交批改",grading:"批改中——老师正在逐题查看你的作答",stageN:e=>`阶段 ${e}`,passH:e=>`${e} 已通过`,score:e=>`得分:${e}%`,continueNext:"ç»§ç»­ →",failH:"还未通过——原因如下",concept:"概念",gap:"推理断点",review:"复习方向",retake:"立即重考",reviewFirst:"先复习"},prof:{since:e=>`${e}开始学习`,settings:"设置",statStreak:"连续天数",metaStarted:e=>`开始于 ${e}`,statCredits:"剩余学分",statHours:"累计学习小时",statLessons:"已学完的课",projectsH:"我的学习项目",slots:(e,t)=>`同时推进 ${e} / ${t} 个项目`,note:"项目从第二课起才占用名额,探索新课题不占。归档、完成或删除会释放名额——归档与已完成项目仍可完整查看。",status:{active:"活跃",sample:"试学",draft:"草稿",archived:"已归档",completed:"已完成"},act:{archive:"归档",reactivate:"重新激活",del:"删除…",delArmed:"确认删除(30 天可恢复)"},deletedH:"最近删除",restore:"恢复",purge:"永久删除",purgeArmed:"确认永久删除",daysLeft:e=>`剩余 ${e} 天可恢复`,newProject:"+ 再开一个新项目"},set:{h1:"设置",adminH:"运维控制台",adminBadge:"仅管理员",adminSub:"你拥有管理员权限:查看账号状态与学分账本、重试卡住的任务、检查 Stripe 事件与邀请异常、处理错误反馈、退款修正与隐私请求。所有操作全程审计。",profile:"个人资料",displayName:"显示名称",savedName:"已保存 ✓",email:"邮箱",language:"语言",langNote:"更改语言只影响之后生成的内容;已有课程保持原语言。",billing:"订阅与账单",planLine:(e,t)=>`${e} 套餐 \xb7 ${"Curious"===e?"$0":(t??"$ —")+"/月"}
1`,planSub:"学分按月发放 · 支持年付(学分仍按月发放)",managePlan:"管理套餐",managedInAppStore:"在 App Store 管理",choosePlan:"选择套餐",perMonthShort:"/月",perMonthAnnualShort:"/月 · 按年计费",creditsPerMonth:e=>`每月 ◈ ${e} 学分`,subscribeCta:"订阅",creditBalance:"学分余额",total:"合计",refBonus:"邀请奖励",refExp:"发放 30 天后过期",monthlyBucket:"套餐月度",monthlyExp:"每月重置 · 不结转",purchasedBucket:"已购买",neverExp:"永不过期",spendOrder:"任务始终优先消耗最早过期的学分——购买的学分最后使用。",extraH:"追加学分",extraSub:"仅限学习者与博学者——购买的学分永不过期,降级后仍可使用",updatePayment:"更新支付方式",billingInfo:"账单信息",edit:"编辑",billingHistory:"账单历史",receipt:"收据",stripeNote:"付款由 Stripe 安全处理。AnyLearns 从不存储你的卡片信息。",buy:"è´­ä¹°",export:"项目导出",exportPaid:"付费功能",exportNote:"Learner 与 Polymath 可导出完整项目:结构化数据、可离线阅读的课程与参考、对话记录及资料链接。",exportBtn:"准备导出",exportPreparing:"准备中…",exportReady:"下载",exportDone:"已下载 ✓",exportNoProjects:"暂无可导出的项目",historyEmpty:"暂无账单记录——首次付款后会显示在这里。",refer:"邀请朋友",referSub:e=>`送 ◈${e},得 ◈${e}——当朋友首次订阅任一付费套餐时。`,refStatJoined:"位好友加入",refStatConverted:"位已订阅",refStatEarned:"已获得",copy:"复制",copied:"已复制!",account:"账号",signout:"退出登录",deleteAccount:"删除账号…",deleteAccountNote:"删除账号会立即退出所有设备,订阅不再续费。我们会保留你的数据 30 天——如果改主意了,可以发送邮件到 [email protected] 申请恢复。",deleteConfirm:"确认删除",cancel:"取消"},legal:{updated:"最后更新:2026 å¹´ 8 月 21 日",termsH1:"服务条款",privacyH1:"隐私政策",termsIntro:"欢迎使用 AnyLearns。本服务条款(下称「条款」)适用于你对 AnyLearns 网站、应用及服务(下称「服务」)的使用。创建账号或使用服务即表示你同意本条款。",inShortLabel:"简而言之",inShort:"我们只收集运行 AnyLearns 所必需的数据。绝不用你的私人学习数据训练 AI 模型,也绝不出售你的数据。项目和账号随时可以删除——有 30 天恢复期,也可以选择立即永久删除。",termsContact:"关于本条款的问题:",privacyContact:"隐私相关问题:",terms:[{h:"1. 谁可以使用 AnyLearns",ps:["服务仅面向年满 18 周岁的成年人,注册时需确认已成年。我们不会有意向未成年人提供服务。"]},{h:"2. 服务内容",ps:["AnyLearns 将你的学习意图转化为经确认的学习使命,并在私有的学习项目中,通过自适应学习路径的课程、学习参考与阶段考试进行教学。课程随学习进度即时生成;第一课生成后,项目使命将永久冻结——新的使命需要创建新项目。","AI 生成的内容可能存在错误、遗漏或不准确。服务仅用于一般教育目的,请自行核实后再依赖相关信息。已交付课程不可修改;如因确认的严重安全、隐私或版权问题下架课程,原任务学分将以不过期额度自动全额返还。","为运营和改进服务,我们记录有限的产品分析事件(如项目活动、课程完成、学分使用)。使命、课程与对话的内容绝不会发送给分析平台——详见隐私政策。"]},{h:"3. 不构成专业建议",ps:["服务不能替代受监管领域的专业教育、执业资格或建议——包括医疗、法律、金融、税务或心理等。相关主题的课程仅为一般知识;行动前请咨询合格的专业人士。"]},{h:"4. 账号",ps:["你可以使用 Google 或一次性邮件链接登录;我们从不存储密码。你须对账号下的活动负责。如怀疑账号被盗用,请联系 [email protected]。"]},{h:"5. 套餐、计费与学分",ps:["学习者与博学者支持月付和年付。年付可享价格优惠,但学分始终按月发放与重置,且不结转。所有档位的核心教学质量与每日导师问答额度完全相同;差别只在每月学分、可同时推进的项目数、导出与学分包资格。项目从第二课起才占用名额,探索新课题不受限。","较重的 AI 工作(资料研究、课程或考试生成)按任务复杂度(Low / Medium / High)给出固定报价,直接显示在操作按钮上。你只能确认或取消;系统绝不在后台扣费。同一份阶段考试的重考与批改完å
1…¨å…è´¹ã€ä¸é™æ¬¡æ•°ã€‚","仅学习者与博学者可购买学分包;购买的学分永不过期,降级后仍可按较低档位权益使用。邀请奖励学分在发放 30 天后过期。消耗时始终优先扣除最早过期的额度。","每日问答额度用完后,你可以明确确认花 ◈ 1 兑换一段固定的额外额度;额外额度也可能用完,且不结转。没有学分时已有内容仍可访问。","付款由 Stripe 处理。取消订阅在当期结束时生效,绝不会删除你的项目。若降级导致同时推进的项目数超出套餐上限,系统不会删除或自动归档任何项目:已有内容保持可读,新的 AI 工作将暂停,直到你自行选择要归档的项目。"]},{h:"6. 可接受的使用",ps:["AnyLearns 不提供法律不允许的学习内容——例如制作炸药或其他武器的教学,或为任何违法活动提供帮助。此类学习使命将被拒绝;高风险主题(医疗、法律、金融、危险操作)仅限于一般教育与权威资料指引。","你同时同意不利用服务生成违法或有害内容;不逆向工程、抓取或过载服务;不将生成内容转售为竞争性服务;不规避学分限制。违反条款的账号可能被暂停。"]},{h:"7. 你的内容与我们的内容",ps:["你保留所提交的使命、问题及其他输入的所有权。生成的课程与参考授权你个人非商业学习使用。付费订阅者可在设置中将完整学习项目导出为 ZIP,包含结构化数据、可离线阅读的 HTML、导师对话与资料引用;导出绝不包含我们的内部模型推理、系统提示或安全审查数据。AnyLearns 名称、标识、软件与服务设计仍归我们所有。","你也可以为单节课程生成免登录的分享链接。持有链接的任何人无需账号即可查看该课(含发音音频),直至你取消分享;课程被撤下、项目被删除或账号被删除时,链接同时失效。分享默认关闭、完全由你决定——课程围绕你的目标生成,正文可能包含你提供的个人情况。访客仅可将分享内容用于个人非商业用途,禁止抓取、转载或转售。经确认存在安全、隐私或版权问题时,我们可以下线分享链接。分享链接会携带你的邀请归因,奖励按第 5 条的邀请规则执行。"]},{h:"8. 免责声明与责任限制",ps:["服务按「现状」提供,不作任何形式的保证。在法律允许的最大范围内,AnyLearns 不对间接、附带或后果性损失负责,且总责任以索赔前十二个月内你支付的费用为限。"]},{h:"9. 变更、删除与终止",ps:["我们可能更新条款或调整服务;重大变更将提前通过邮件或应用内通知。你可以随时在设置中删除单个项目或整个账号。删除后进入 30 天恢复期,期满永久移除学习内容——也可选择立即永久删除。法律要求保留的账单及最小财务记录将与学习内容分离后保留。"]}],privacy:[{h:"1. 我们收集什么",ps:["账号数据——姓名、邮箱、登录方式(Google 或邮件链接)及成年确认。学习数据——你的使命、学习路径、课程、学习回报、考试结果与导师对话,按项目私有存储。账单数据——套餐与发票历史;卡片信息由 Stripe 持有,我们从不接触。技术数据——设备类型、浏览器、第 3 节所述的产品分析事件,以及维持登录会话与记录邀请归因所必需的 cookie(见第 9 节)。"]},{h:"2. 我们如何使用",ps:["用于澄清使命、生成课程与考试、回答问题、记住学习状态、处理付款、提供支持并保障服务可靠。我们发送事务性邮件(登录链接、收据),并在你同意后偶尔发送产品更新。"]},{h:"3. 分析平台能看到什么——不能看到什么",ps:["产品分析仅接收事件数据:项目的创建、启动、归档或完成;课程的打开、完成或跳过;阶段考试的尝试与通过;任务复杂度、生成耗时、token 成本与失败类型;套餐、学分使用与转化事件。","以下内容绝不发送给分析平台:学习使命正文;对话、答案或课程正文;具体学习主题;私人资料与学习记录内容。分析只知道事件发生了——永远不知道你在学什么、说了什么。"]},{h:"4. 我们不用你的数据训练模型",ps:["私人学习内å
1®¹ä¸ŽçŠ¶æ€é»˜è®¤ä¸ç”¨äºŽæ¨¡åž‹è®­ç»ƒæˆ–äº§å“æ”¹è¿›ã€‚ä»»ä½•æœªæ¥çš„æ•°æ®è®¡åˆ’éƒ½éœ€è¦ä½ æ˜Žç¡®çš„ã€é™å®šç”¨é€”çš„é€‰æ‹©åŠ å…¥ã€‚æˆ‘ä»¬åªå‘ AI 供应商发送任务所需的最少数据,且合同禁止其用于训练;我们会公开当前供应商,并在变更前更新本政策。唯一由你控制的例外:主动提交错误反馈即授权我们仅使用被报告片段及最小匿名上下文做质量改进。"]},{h:"5. 我们与谁共享",ps:["仅限为我们提供服务的供应商:Stripe(支付)、Google(如你选择 Google 登录)、已披露的 AI 模型供应商(内容生成,以及判定你在课内写下的作答)与云托管(存储)。各方仅获得所需数据。我们绝不出售个人数据,也绝不用于广告。","除上述供应商外,还有一类由你主导的公开:你通过分享链接公开的课程,对任何持有链接的人可见,直至你取消分享。分享默认关闭,项目中的其他内容不会因此可见。"]},{h:"6. 保留与删除",ps:["账号活跃期间数据将被保留。删除项目后进入 30 天恢复期——期内可随时恢复,也可选择立即永久删除以跳过恢复期。删除账号将立即吊销访问、取消续订,并在 30 天内移除学习内容。法律要求保留的发票及最小财务记录将与已删除的学习内容分离后保留。"]},{h:"7. 你的权利",ps:["视你所在地区,你可能拥有访问、更正、导出或删除个人数据的权利。删除与更正在任何套餐的设置中都可完成。完整项目导出(ZIP)是付费套餐的产品功能——但法律要求的数据访问与可携带请求对所有用户开放,不分套餐,可通过 [email protected] 作为独立于订阅的合规操作处理。"]},{h:"8. 安全",ps:["数据在传输与存储中均加密。生产系统访问受限并有审计。登录使用一次性邮件链接或 Google OAuth——我们从不存储密码。"]},{h:"9. 分享页与邀请页的访客",ps:["阅读分享的课程或邀请页无需账号。这些公开页面会设置一枚 cookie(anylearns_ref,有效期 30 天),记录分享者或邀请者的邀请码,用于你之后注册并首次订阅时完成奖励归因;归因完成后即清除。页面同时运行营销页面访问统计,其只接收常规的页面访问数据——不含分享者身份,也不含任何账号的学习记录。访客 IP 仅用于瞬时限流,不会存储。阅读分享课程无需注册,我们也不会据此为你建立画像。"]},{h:"10. 年龄要求",ps:["AnyLearns 仅面向 18 周岁以上成年人,注册时确认成年。我们不会有意收集未成年人数据;一经发现将立即删除。"]},{h:"11. 跨境传输与政策变更",ps:["你的数据可能在你所在国家/地区之外处理,并受适当保障措施保护。本政策的重大变更将提前通过邮件或应用内通知。"]}]},invite:{signIn:"登录",chipSuffix:"邀请你一起学习",h1a:"学任何东西,",h1em:"按你的方式",h1b:"。",sub:"AnyLearns 把你想学的任何主题变成个性化课程:真实资料、循序渐进、随学随测。免费开始,无需信用卡。",ctaGoogle:"使用 Google 加入",emailPh:"[email protected]",ctaEmail:"邮件链接",sentMsg:"登录链接已发送,请查收邮箱。",legal:"注册即表示同意服务条款与隐私政策。我们从不存储密码。",tag:"邀请奖励",cardKicker:"你们双方各得",you:"ä½ ",friend:"你的朋友",cardNote:(e,t)=>`免费加入即可开始学习。当你订阅任一付费套餐时,你和 ${e} 各获得 ◈ ${t} 奖励学分——不论订阅哪一档,数额相同。奖励学分自发放起 30 天内有效。`,howKicker:"如何生效",steps:(e,t)=>[{n:"01",h:"免费加入",p:"通过这个链接注册,邀请关系会一直保留——现在不订阅也没关系。"},{n:"02",h:"先免费学起来",p:"好奇者套餐每月赠送学分,够你建一个学习项目、体验完整课程。"},{n:"03",h:"订阅后双方得奖励",p:`你首次订阅任一付费套餐后,你和 ${e} 各得 ◈ ${t},自动入账。`}],whatH:"一个真正为你定制的学习平台",whatSub:"告诉 AnyLearns 你想学什么、为什么学,它会为你研究资料、生成课程、安排测评。",perks:[{h:"个性化课程",p:"基于真实资料生成,贴合你的目标与水平。"},{h:"循序渐进",p:"阶段测评通过后再解锁下一段,不走马观花。"},{h:"每日问答",p:"用间隔重复巩固记忆,几分钟一天。"}
1,{h:"隐私优先",p:"私密学习内容不用于训练模型,可随时导出或删除。"}],finePrint:"奖励规则:奖励仅在被邀请人首次订阅任一付费套餐时发放一次,双方数额相同;若该笔付款发生退款或拒付,未使用的奖励学分将被收回(已使用部分不产生负余额,但该邀请不再符合条件)。奖励学分自发放起 30 天有效。自邀或滥用行为将被审查并可能取消奖励。",footTerms:"服务条款",footPrivacy:"隐私政策"},blog:{h1:"关于学习这件事",sub:"来自 AnyLearns 笔记本的文章与指南——人是怎么真正学会一件事的。",empty:"还没有发布文章——过些天再来看看。",readMore:"阅读全文 →",prev:"← 较新",next:"较早 →"},common:{loading:"加载中…",error:"出了点问题",confirm:"确认",cancel:"取消",credits:"学分",insufficientCredits:"学分余额不足——可以到「设置」购买学分包,或升级套餐。",stageIncomplete:"请先完成本阶段的所有课程——学完最后一课,阶段考试才会解锁。",genFailed:"生成失败,学分已退还——可以在下方直接重试。",stillRunning:"仍在后台生成——稍后回来查看即可。",slowNote:"比平时慢一些,仍在生成中——可以离开此页,稍后回来。",free:"免费",copyright:"© 2026 AnyLearns · 一人一课。",slotsFull:"同时推进的项目已满——先归档一个项目,或升级套餐。",aiPausedNote:"新的 AI 工作已暂停:请归档项目以符合套餐名额。所有内容仍然可读。"}}},s=(0,a.createContext)({lang:"en",t:r,setLang:()=>{}});e.s(["I18nProvider",0,function({children:e}){let[n,r]=(0,a.useState)("en");(0,a.useEffect)(()=>{let e=window.localStorage.getItem("anylearns_lang");("zh"===e||"en"===e)&&r(e)},[]);let i=(0,a.useCallback)(e=>{r(e),window.localStorage.setItem("anylearns_lang",e)},[]);return(0,t.jsx)(s.Provider,{value:{lang:n,t:o[n],setLang:i},children:e})},"apiErrorText",0,function(e,t){return e instanceof n.ApiError?"insufficient_credits"===e.code?t.common.insufficientCredits:"plan_slots_exhausted"===e.code?t.common.slotsFull:"stage_incomplete"===e.code?t.common.stageIncomplete:"generation_failed"===e.code?t.common.genFailed:"task_still_running"===e.code?t.common.stillRunning:e.message:t.common.error},"useI18n",0,function(){return(0,a.useContext)(s)}])}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.