/* ============================================================ BLUEPRINTSENSES — i18n v2 Copy for the v2 journey (Home, 9-step Concept, Pro unlock, scenarios + projection, Ownership, Outputs) and overrides of v1 strings that named Resto, "Step 01/02" or plain "Payback". ============================================================ */ extendOpt({ "Operator": "ผู้บริหารร้าน", "Partner": "หุ้นส่วน", "Chef partner": "เชฟหุ้นส่วน", "Breakfast": "มื้อเช้า", "Lunch": "มื้อกลางวัน", "Afternoon": "ช่วงบ่าย", "Dinner": "มื้อเย็น", "Late night": "ดึก", }); extendHeard({ "Opening hours": "เวลาเปิด-ปิด", "Average spend": "ค่าใช้จ่ายเฉลี่ยต่อหัว" }); extendT({ nav: { home: { en: "Home", th: "หน้าหลัก" }, homeSub: { en: "Plan overview", th: "ภาพรวมแผน" }, concept: { en: "Concept", th: "แนวคิด" }, financial: { en: "Financial", th: "การเงิน" }, ownership: { en: "Ownership", th: "ความเป็นเจ้าของ" }, outputs: { en: "Outputs", th: "เอกสารนำเสนอ" }, outputsSub: { en: "Deck · PDF · Excel", th: "สไลด์ · PDF · Excel" }, proLocked: { en: "Pro", th: "Pro" }, partiesN: { en: "{n} parties", th: "{n} ฝ่าย" }, }, shell: { importExport: { en: "⇅ Import / Export plan", th: "⇅ นำเข้า/ส่งออกแผน" }, demo: { en: "Demo", th: "ทดลอง" }, }, ie: { desc: { en: "One file carries this concept's whole plan — concept, financials, ownership — between devices. Importing never changes whether the concept is unlocked.", th: "ไฟล์เดียวเก็บแผนทั้งหมดของแนวคิดนี้ — แนวคิด การเงิน ความเป็นเจ้าของ — ย้ายไปมาระหว่างอุปกรณ์ได้ การนำเข้าไม่เปลี่ยนสถานะการปลดล็อก" }, }, /* ---------- Home ---------- */ home: { kicker: { en: "Plan overview", th: "ภาพรวมแผน" }, title: { en: "Where does your concept stand?", th: "แนวคิดของคุณอยู่ตรงไหนแล้ว" }, lead: { en: "From a rough idea to a verdict on whether the numbers work — free. Unlock a concept for the depth, the ownership model and the pitch documents.", th: "จากไอเดียคร่าวๆ สู่คำตอบว่าตัวเลขไปรอดไหม — ฟรี ปลดล็อกแนวคิดเพื่อเจาะลึก วางโมเดลความเป็นเจ้าของ และสร้างเอกสารนำเสนอ" }, verdict: { en: "Verdict", th: "ผลประเมิน" }, notStarted: { en: "Not started", th: "ยังไม่เริ่ม" }, draft: { en: "Draft", th: "ฉบับร่าง" }, verdictSub: { none: { en: "Answer a few questions and the verdict fills in here.", th: "ตอบคำถามไม่กี่ข้อ แล้วผลประเมินจะแสดงที่นี่" }, draft: { en: "Concept readiness {n}/100. Finish the essentials and the dashboard for a final verdict.", th: "ความพร้อมของแนวคิด {n}/100 กรอกข้อมูลสำคัญและดูแดชบอร์ดให้ครบเพื่อรับผลประเมินฉบับสมบูรณ์" }, final: { en: "From your Concept and Financial answers. Change anything and it updates.", th: "มาจากคำตอบด้านแนวคิดและการเงิน แก้ไขอะไรก็อัปเดตทันที" }, }, slot: { en: "This concept", th: "แนวคิดนี้" }, free: { en: "Free", th: "ฟรี" }, freeSlot: { en: "Free concept", th: "แนวคิดฟรี" }, unlocked: { en: "Unlocked", th: "ปลดล็อกแล้ว" }, continue: { en: "Continue where you left off →", th: "ทำต่อจากที่ค้างไว้ →" }, startHere: { en: "Start here", th: "เริ่มที่นี่" }, startTitle: { en: "Tell us about the restaurant you want to open.", th: "เล่าให้ฟังเกี่ยวกับร้านที่คุณอยากเปิด" }, startSub: { en: "Pick the way that suits you — both fill the same Concept, and you can switch any time.", th: "เลือกวิธีที่ถนัด — ทั้งสองแบบกรอกแนวคิดเดียวกัน และสลับได้ตลอด" }, answerQuestions: { en: "Answer questions", th: "ตอบคำถาม" }, answerQuestionsSub: { en: "10 short questions in your own words, Thai or English.", th: "คำถามสั้นๆ 10 ข้อ ตอบด้วยคำพูดของคุณเอง ภาษาไทยหรืออังกฤษก็ได้" }, fillForm: { en: "Fill the form", th: "กรอกแบบฟอร์ม" }, fillFormSub: { en: "Nine steps with choices to tap. Skip anything you don't know yet.", th: "9 ขั้นตอน มีตัวเลือกให้แตะ ข้ามข้อที่ยังไม่รู้ได้" }, about15: { en: "About 15 minutes to a first verdict", th: "ประมาณ 15 นาทีถึงผลประเมินแรก" }, tryExample: { en: "See an example concept →", th: "ดูตัวอย่างแนวคิด →" }, min: { en: "≈ {n} min", th: "≈ {n} นาที" }, conceptSub: { en: "Name, customer, location, format, price and capital.", th: "ชื่อร้าน ลูกค้า ทำเล รูปแบบ ราคา และเงินทุน" }, financialSub: { en: "Investment, revenue, monthly cost and your verdict.", th: "เงินลงทุน รายได้ ต้นทุนรายเดือน และผลประเมิน" }, ownershipSub: { en: "Who owns, earns and decides what — before money goes in.", th: "ใครเป็นเจ้าของ ได้ผลตอบแทน และตัดสินใจอะไร — ก่อนลงเงิน" }, outputsSub: { en: "Ownership dashboard, PDF and Excel, pitching deck.", th: "แดชบอร์ดผู้ถือหุ้น PDF และ Excel สไลด์นำเสนอ" }, start: { en: "Start", th: "เริ่ม" }, open: { en: "Open", th: "เปิด" }, done: { en: "Complete", th: "ครบแล้ว" }, inProgress: { en: "In progress", th: "กำลังทำ" }, readyN: { en: "{n}/100 ready", th: "พร้อม {n}/100" }, whatItAnswers: { en: "What it answers", th: "ช่วยตอบอะไร" }, seePreview: { en: "See a preview", th: "ดูตัวอย่าง" }, attention: { en: "What needs your attention", th: "สิ่งที่ควรดูแล" }, showAll: { en: "Show all {n}", th: "ดูทั้งหมด {n} ข้อ" }, showLess: { en: "Show fewer", th: "ย่อ" }, myConcepts: { en: "My concepts", th: "แนวคิดของฉัน" }, newConcept: { en: "New concept", th: "แนวคิดใหม่" }, untitled: { en: "Untitled concept", th: "แนวคิดยังไม่มีชื่อ" }, next: { en: "Coming next", th: "เร็วๆ นี้" }, menuCosting: { en: "Menu Costing", th: "คำนวณต้นทุนเมนู" }, menuCostingSub: { en: "cost cards for up to 30 recipes; your menu's food cost flows back into Financial.", th: "การ์ดต้นทุนสูงสุด 30 สูตร ค่าวัตถุดิบเฉลี่ยของเมนูจะส่งกลับไปที่การเงินอัตโนมัติ" }, }, /* ---------- Pro unlock ---------- */ pro: { unlockShort: { en: "Unlock →", th: "ปลดล็อก →" }, unlockThis: { en: "Unlock this concept", th: "ปลดล็อกแนวคิดนี้" }, thisConcept: { en: "this concept", th: "แนวคิดนี้" }, kicker: { en: "One-time unlock", th: "ปลดล็อกครั้งเดียว" }, title: { en: "Unlock {name}", th: "ปลดล็อก {name}" }, reason: { home: { en: "Go from a yes/no to a plan you can show your family, partner or bank.", th: "จากแค่คำตอบว่าไปรอดไหม สู่แผนที่นำไปให้ครอบครัว หุ้นส่วน หรือธนาคารดูได้" }, conceptField: { en: "The deep Concept makes the brand and customer feel real: brand DNA, value promise, experience design and more.", th: "แนวคิดเชิงลึกทำให้แบรนด์และลูกค้าจับต้องได้: DNA ของแบรนด์ คำมั่นสัญญา การออกแบบประสบการณ์ และอื่นๆ" }, persona: { en: "Turn your main customer into a persona card, and get a brand summary for the deck.", th: "เปลี่ยนลูกค้าหลักให้เป็นการ์ดเพอร์โซนา พร้อมสรุปแบรนด์สำหรับสไลด์นำเสนอ" }, pin: { en: "Pin the exact location and plan breakfast, lunch, dinner and late-night trade.", th: "ปักหมุดทำเลจริง และวางแผนช่วงขายเช้า กลางวัน เย็น และดึก" }, details: { en: "Break each investment and cost section into line items, with a benchmark beside each.", th: "แยกแต่ละหมวดเงินลงทุนและต้นทุนเป็นรายการย่อย พร้อมค่าอ้างอิงทุกบรรทัด" }, scenarios: { en: "Test slow, planned and strong months, plus Songkran, the Vegetarian Festival and alcohol-ban days.", th: "ทดสอบเดือนที่ขายช้า ตามแผน และขายดี รวมถึงช่วงสงกรานต์ เทศกาลกินเจ และวันห้ามขายสุรา" }, projection: { en: "See when you get your money back, your lowest cash point and your first profitable month.", th: "ดูว่าเมื่อไรจะได้เงินคืน จุดที่เงินสดต่ำสุด และเดือนแรกที่มีกำไร" }, ownership: { en: "Agree who owns, earns and decides what before money goes in.", th: "ตกลงกันให้ชัดว่าใครเป็นเจ้าของ ได้ผลตอบแทน และตัดสินใจอะไร ก่อนลงเงิน" }, outputs: { en: "Export PDF and Excel and turn the plan into a pitching deck with your live numbers.", th: "ส่งออก PDF และ Excel และเปลี่ยนแผนเป็นสไลด์นำเสนอด้วยตัวเลขล่าสุดของคุณ" }, }, yourPreview: { en: "Your numbers, not a sample", th: "ตัวเลขของคุณ ไม่ใช่ตัวอย่าง" }, pvBreakEven: { en: "Break-even", th: "จุดคุ้มทุน" }, perDay: { en: "/day", th: "/วัน" }, pvMoneyBack: { en: "Money-back month", th: "เดือนที่ได้เงินคืน" }, pvLowestCash: { en: "Lowest cash point", th: "เงินสดต่ำสุด" }, gains: { en: "What this concept gains", th: "สิ่งที่แนวคิดนี้จะได้" }, gainConcept: { en: "Deep Concept", th: "แนวคิดเชิงลึก" }, gainConceptSub: { en: "brand, persona, pin-drop location, dayparts", th: "แบรนด์ เพอร์โซนา ปักหมุดทำเล ช่วงเวลาขาย" }, gainFinancial: { en: "Financial detail", th: "การเงินแบบละเอียด" }, gainFinancialSub: { en: "line items, scenarios and seasons, 3-year projection", th: "รายการย่อย สถานการณ์และฤดูกาล ประมาณการ 3 ปี" }, gainOwnership: { en: "Ownership", th: "ความเป็นเจ้าของ" }, gainOwnershipSub: { en: "stakeholders, profit sharing, who decides what", th: "ผู้ถือหุ้น การแบ่งกำไร ใครตัดสินใจอะไร" }, gainOutputs: { en: "Outputs", th: "เอกสารนำเสนอ" }, gainOutputsSub: { en: "ownership dashboard, PDF / Excel, pitching deck", th: "แดชบอร์ดผู้ถือหุ้น PDF / Excel สไลด์นำเสนอ" }, priceTerms: { en: "One-time · this concept only · no subscription", th: "จ่ายครั้งเดียว · เฉพาะแนวคิดนี้ · ไม่มีค่าสมาชิกรายเดือน" }, studentPromo: { en: "Students: {p} after a one-time check", th: "นักเรียน/นักศึกษา: {p} หลังยืนยันตัวตนครั้งเดียว" }, answersStay: { en: "Your answers stay as they are — every lock opens in place.", th: "คำตอบของคุณยังอยู่ครบ — ทุกส่วนที่ล็อกจะเปิดตรงที่เดิม" }, createAccount: { en: "Create your account", th: "สร้างบัญชีของคุณ" }, accountWhy: { en: "Optional in this prototype — the unlock will be tied to your account later.", th: "ไม่บังคับในต้นแบบนี้ — ภายหลังการปลดล็อกจะผูกกับบัญชีของคุณ" }, signedInAs: { en: "Signed in as {email}", th: "เข้าสู่ระบบด้วย {email}" }, namePh: { en: "Your name", th: "ชื่อของคุณ" }, emailPh: { en: "Email", th: "อีเมล" }, iAmStudent: { en: "I'm a student", th: "ฉันเป็นนักเรียน/นักศึกษา" }, studentEmailPh: { en: "University email (…ac.th)", th: "อีเมลมหาวิทยาลัย (…ac.th)" }, studentHint: { en: "Use your .ac.th or .edu email — checked once.", th: "ใช้อีเมล .ac.th หรือ .edu — ตรวจสอบครั้งเดียว" }, studentOk: { en: "✓ Student price applied", th: "✓ ใช้ราคานักศึกษาแล้ว" }, lineItem: { en: "Unlock · {name}", th: "ปลดล็อก · {name}" }, oneTime: { en: "one-time", th: "ครั้งเดียว" }, payDemo: { en: "Unlock now (demo)", th: "ปลดล็อกเลย (ทดลอง)" }, demoNote: { en: "Prototype: no payment is taken and no card details are asked for.", th: "ต้นแบบ: ไม่มีการเก็บเงินจริงและไม่ขอข้อมูลบัตร" }, done: { en: "This concept is unlocked.", th: "ปลดล็อกแนวคิดนี้แล้ว" }, doneSub: { en: "Every lock is open. You're back on the step you were on.", th: "ทุกส่วนเปิดแล้ว คุณจะกลับไปที่ขั้นตอนเดิม" }, backToStep: { en: "Back to my step", th: "กลับไปที่ขั้นตอนเดิม" }, slotKicker: { en: "New concept", th: "แนวคิดใหม่" }, slotTitle: { en: "Each concept is its own slot.", th: "แต่ละแนวคิดใช้ช่องของตัวเอง" }, slotSub: { en: "A second concept or a new branch gets its own plan, numbers and ownership — with every Pro feature open.", th: "แนวคิดที่สองหรือสาขาใหม่จะมีแผน ตัวเลข และโครงสร้างผู้ถือหุ้นแยกกัน — พร้อมฟีเจอร์ Pro ครบ" }, slotGains: { en: "Every new slot includes", th: "ทุกช่องใหม่ได้" }, buySlot: { en: "Buy a concept slot", th: "ซื้อช่องแนวคิด" }, slotLine: { en: "New concept slot (unlocked)", th: "ช่องแนวคิดใหม่ (ปลดล็อกแล้ว)" }, slotDone: { en: "Your new concept is ready.", th: "แนวคิดใหม่พร้อมแล้ว" }, slotDoneSub: { en: "It starts empty and unlocked. Your other concepts are unchanged.", th: "เริ่มจากหน้าว่างและปลดล็อกแล้ว แนวคิดอื่นของคุณไม่เปลี่ยนแปลง" }, startNew: { en: "Start the new concept", th: "เริ่มแนวคิดใหม่" }, }, /* ---------- Concept (overrides + new) ---------- */ idea: { stepKicker: { en: "1 · Concept", th: "1 · แนวคิด" }, stepTitle: { en: "Put the idea into words.", th: "เปลี่ยนไอเดียให้เป็นคำพูด" }, stepLead: { en: "The essentials Financial needs for a verdict. Skip anything you don't know yet — nothing counts until you confirm it.", th: "ข้อมูลสำคัญที่ส่วนการเงินต้องใช้ในการประเมิน ข้ามข้อที่ยังไม่รู้ได้ — ไม่มีอะไรนับจนกว่าคุณจะยืนยัน" }, briefKicker: { en: "1 · Concept · Brief", th: "1 · แนวคิด · สรุป" }, briefLead: { en: "The structured version of your idea — what Financial and the outputs read.", th: "ไอเดียของคุณในรูปแบบมีโครงสร้าง — ส่วนการเงินและเอกสารนำเสนอจะอ่านจากที่นี่" }, prefillNote: { en: "Financial pre-fills from this brief — seats, size and average spend carry over.", th: "ส่วนการเงินจะดึงข้อมูลจากสรุปนี้ — จำนวนที่นั่ง ขนาดร้าน และค่าใช้จ่ายเฉลี่ยต่อหัว" }, interviewTip: { en: "Answer loosely — I pull out the structure. Anything I mishear you can correct in “Fill the form”.", th: "ตอบแบบสบายๆ ได้เลย — ระบบจะจัดโครงสร้างให้ ถ้าเข้าใจผิดตรงไหน แก้ได้ใน “กรอกแบบฟอร์ม”" }, flagCategoryGuess: { en: "We guessed “{cat}” from your description. Confirm it — benchmarks for fit-out and sales depend on it.", th: "ระบบเดาว่าเป็น “{cat}” จากคำอธิบายของคุณ กรุณายืนยัน — ค่าอ้างอิงค่าตกแต่งและยอดขายขึ้นอยู่กับข้อนี้" }, }, q: { concept: { hint: { en: "A sentence or two — what food, what vibe. Thai or English, both fine.", th: "หนึ่งหรือสองประโยคก็พอ — อาหารแบบไหน บรรยากาศแบบไหน ตอบไทยหรืออังกฤษก็ได้" } }, name: { q: { en: "Does it have a name yet? And a one-line slogan?", th: "มีชื่อร้านหรือยัง แล้วมีสโลแกนสั้นๆ ไหม" } }, hours: { q: { en: "What hours will you open?", th: "จะเปิดร้านกี่โมงถึงกี่โมง" }, hint: { en: "e.g. “11am to 10pm” or “17:00–02:00”.", th: "เช่น “11 โมงถึง 4 ทุ่ม” หรือ “17:00–02:00”" }, }, price: { q: { en: "Roughly how much will one customer spend per visit?", th: "โดยประมาณลูกค้าหนึ่งคนจะใช้จ่ายเท่าไรต่อครั้ง" } }, capital: { q: { en: "Last one — how much capital can you put in?", th: "ข้อสุดท้าย — คุณมีเงินทุนเท่าไร" }, hint: { en: "Everything you can commit, e.g. “about 2 million baht”.", th: "เงินทั้งหมดที่พร้อมลง เช่น “ประมาณ 2 ล้านบาท”" }, }, }, concept: { hereIsWhat: { en: "Here is what I understood", th: "นี่คือสิ่งที่เข้าใจ" }, confirmCat: { en: "I guessed this is a {cat} — is that right?", th: "เดาว่าร้านนี้เป็น {cat} — ถูกต้องไหม" }, yesThats: { en: "Yes, {cat}", th: "ใช่ {cat}" }, orPick: { en: "or pick the right one:", th: "หรือเลือกประเภทที่ถูกต้อง:" }, guessedHint: { en: "Guessed from your answer — tap to confirm", th: "เดาจากคำตอบของคุณ — แตะเพื่อยืนยัน" }, stepOf: { en: "Step {n} of {total}", th: "ขั้นตอนที่ {n} จาก {total}" }, skipStep: { en: "Skip for now", th: "ข้ามไปก่อน" }, goDeeper: { en: "Go deeper on this step", th: "เจาะลึกขั้นตอนนี้" }, personaFreeNote: { en: "Your main customer from step 4 is enough for a verdict. A persona makes them a real person for the brand and the deck.", th: "ลูกค้าหลักจากขั้นตอนที่ 4 เพียงพอสำหรับการประเมิน เพอร์โซนาจะทำให้เห็นเป็นคนจริงสำหรับแบรนด์และสไลด์นำเสนอ" }, step: { identity: { en: "Identity", th: "ตัวตน" }, positioning: { en: "Positioning", th: "จุดยืน" }, experience: { en: "Experience", th: "ประสบการณ์" }, customer: { en: "Key customer", th: "ลูกค้าหลัก" }, persona: { en: "Persona", th: "เพอร์โซนา" }, location: { en: "Location & format", th: "ทำเลและรูปแบบ" }, revenue: { en: "Revenue", th: "รายได้" }, capacity: { en: "Capacity", th: "ความจุ" }, capital: { en: "Capital", th: "เงินทุน" }, }, stepLead: { identity: { en: "What it's called and the one line that sells it.", th: "ชื่อร้านและประโยคเดียวที่ขายไอเดียได้" }, positioning: { en: "Why people will choose you over the shop next door.", th: "ทำไมคนจะเลือกร้านคุณแทนร้านข้างๆ" }, experience: { en: "What kind of restaurant and what food.", th: "ร้านแบบไหนและอาหารอะไร" }, customer: { en: "Who you're built for.", th: "ร้านนี้สร้างขึ้นเพื่อใคร" }, persona: { en: "Your main customer as one real person.", th: "ลูกค้าหลักของคุณในรูปของคนหนึ่งคน" }, location: { en: "Where, how big, how you serve and when you're open.", th: "อยู่ที่ไหน ขนาดเท่าไร บริการแบบไหน และเปิดกี่โมง" }, revenue: { en: "What a customer spends and how orders come in.", th: "ลูกค้าจ่ายเท่าไรและออเดอร์เข้ามาทางไหน" }, capacity: { en: "How many people you can seat at once.", th: "รองรับลูกค้าได้พร้อมกันกี่คน" }, capital: { en: "What you can put in.", th: "เงินที่คุณพร้อมลงทุน" }, }, slogan: { en: "Slogan", th: "สโลแกน" }, whyUs: { en: "Why us, in one line", th: "ทำไมต้องเรา ในหนึ่งประโยค" }, restaurantType: { en: "Restaurant type", th: "ประเภทร้าน" }, restaurantTypeHint: { en: "Sets the benchmarks for fit-out and sales", th: "ใช้กำหนดค่าอ้างอิงค่าตกแต่งและยอดขาย" }, cuisineType: { en: "Cuisine type", th: "ประเภทอาหาร" }, mainCustomer: { en: "Main customer group", th: "กลุ่มลูกค้าหลัก" }, areaType: { en: "Area type", th: "ประเภททำเล" }, openingHours: { en: "Opening hours", th: "เวลาเปิด-ปิด" }, hoursHint: { en: "Pick open and close times", th: "เลือกเวลาเปิดและปิด" }, hoursPerDay: { en: "{n} hours a day", th: "เปิดวันละ {n} ชั่วโมง" }, avgSpend: { en: "Average spend per head", th: "ค่าใช้จ่ายเฉลี่ยต่อหัว" }, avgSpendHint: { en: "What one customer pays per visit", th: "ที่ลูกค้าหนึ่งคนจ่ายต่อครั้ง" }, channelSplit: { en: "Channel split", th: "สัดส่วนช่องทางขาย" }, totalCapital: { en: "Total capital", th: "เงินทุนทั้งหมด" }, seatsShort: { en: "seats", th: "ที่นั่ง" }, suggest: { en: "Suggest a draft", th: "ร่างให้ก่อน" }, yourPlace: { en: "your place", th: "ร้านของคุณ" }, food: { en: "food", th: "อาหาร" }, yourCustomers: { en: "your customers", th: "ลูกค้าของคุณ" }, yourArea: { en: "your area", th: "ย่านของคุณ" }, yourEdge: { en: "your edge", th: "จุดเด่นของคุณ" }, yourService: { en: "your service", th: "การบริการของคุณ" }, pro: { logoDirection: { en: "Logo direction", th: "แนวทางโลโก้" }, dna: { en: "Brand DNA", th: "DNA ของแบรนด์" }, brandCharacter: { en: "Brand character", th: "บุคลิกแบรนด์" }, valuePromise: { en: "Value promise", th: "คำมั่นสัญญาต่อลูกค้า" }, differentiation: { en: "Differentiation", th: "ความแตกต่าง" }, moodTone: { en: "Mood & tone", th: "อารมณ์และโทน" }, experienceDesign: { en: "Experience design", th: "การออกแบบประสบการณ์" }, customerJourney: { en: "Customer journey", th: "เส้นทางของลูกค้า" }, whenThink: { en: "When they think of you", th: "ลูกค้านึกถึงร้านคุณเมื่อไร" }, persona: { en: "Customer persona", th: "เพอร์โซนาลูกค้า" }, pinLocation: { en: "Pin-drop location", th: "ปักหมุดทำเล" }, dayparts: { en: "Daypart plan", th: "แผนช่วงเวลาขาย" }, revenueStreams: { en: "Revenue streams", th: "แหล่งรายได้" }, assetStyle: { en: "Asset style", th: "สไตล์ทรัพย์สินและการตกแต่ง" }, resources: { en: "Resources", th: "ทรัพยากร" }, }, proHint: { logoDirection: { en: "Shape, colour and feel — a brief for a designer.", th: "รูปทรง สี และความรู้สึก — บรีฟสำหรับนักออกแบบ" }, dna: { en: "The three or four words that are always true about you.", th: "สามสี่คำที่จริงเสมอเกี่ยวกับร้านคุณ" }, brandCharacter: { en: "If your brand were a person, who would it be?", th: "ถ้าแบรนด์คุณเป็นคน จะเป็นคนแบบไหน" }, valuePromise: { en: "What every customer can count on, every visit.", th: "สิ่งที่ลูกค้าทุกคนวางใจได้ทุกครั้งที่มา" }, differentiation: { en: "What the three nearest competitors don't do.", th: "สิ่งที่คู่แข่งสามร้านที่ใกล้ที่สุดไม่ได้ทำ" }, moodTone: { en: "Light, sound, pace and the way staff talk.", th: "แสง เสียง จังหวะ และวิธีที่พนักงานพูดคุย" }, experienceDesign: { en: "Arrive → order → eat → pay → leave: the moment you want remembered.", th: "มาถึง → สั่ง → กิน → จ่าย → กลับ: ช่วงเวลาที่อยากให้ลูกค้าจำ" }, customerJourney: { en: "How they find you, decide and come back.", th: "ลูกค้าเจอร้านคุณอย่างไร ตัดสินใจอย่างไร และกลับมาอีกอย่างไร" }, whenThink: { en: "The occasion or craving that brings you to mind.", th: "โอกาสหรือความอยากที่ทำให้นึกถึงร้านคุณ" }, persona: { en: "Give your main customer a name, a day and a reason to come.", th: "ตั้งชื่อ ให้ชีวิตประจำวัน และเหตุผลที่จะมาร้าน ให้กับลูกค้าหลักของคุณ" }, pinLocation: { en: "An address, a soi or a Google Maps link.", th: "ที่อยู่ ชื่อซอย หรือลิงก์ Google Maps" }, dayparts: { en: "Which parts of the day you'll trade in", th: "ช่วงเวลาไหนที่จะเปิดขาย" }, revenueStreams: { en: "Split by portion and daypart: lunch sets, dinner à la carte, drinks, catering…", th: "แยกตามสัดส่วนและช่วงเวลา: ชุดกลางวัน อาหารจานเดี่ยวมื้อเย็น เครื่องดื่ม จัดเลี้ยง…" }, assetStyle: { en: "Furniture, materials and kitchen style — it drives fit-out cost.", th: "เฟอร์นิเจอร์ วัสดุ และสไตล์ครัว — มีผลต่อค่าตกแต่ง" }, resources: { en: "Cash, skills, team, suppliers and network you already have.", th: "เงิน ทักษะ ทีมงาน ซัพพลายเออร์ และเครือข่ายที่มีอยู่แล้ว" }, }, proPh: { logoDirection: { en: "A hand-drawn bowl, warm red, confident and simple", th: "ชามวาดมือ สีแดงอบอุ่น มั่นใจและเรียบง่าย" }, dna: { en: "Slow, honest, late-night, local", th: "ช้า จริงใจ ดึก ท้องถิ่น" }, brandCharacter: { en: "A quiet chef who remembers your order", th: "เชฟเงียบๆ ที่จำออเดอร์ของคุณได้" }, valuePromise: { en: "A bowl worth the queue, in under 10 minutes", th: "ชามที่คุ้มกับการต่อคิว ได้ภายใน 10 นาที" }, differentiation: { en: "Only 18-hour broth on the soi; open until 10pm", th: "น้ำซุปต้ม 18 ชั่วโมงร้านเดียวในซอย เปิดถึง 4 ทุ่ม" }, moodTone: { en: "Warm light, low music, counter seats facing the kitchen", th: "ไฟโทนอุ่น เพลงเบาๆ ที่นั่งเคาน์เตอร์หันเข้าครัว" }, experienceDesign: { en: "The broth is poured at the counter in front of you", th: "เทน้ำซุปที่เคาน์เตอร์ต่อหน้าลูกค้า" }, customerJourney: { en: "Sees a TikTok → walks by after work → comes back Fridays", th: "เห็นใน TikTok → เดินผ่านหลังเลิกงาน → กลับมาทุกวันศุกร์" }, whenThink: { en: "Rainy evenings; after a long day", th: "เย็นวันที่ฝนตก หลังวันที่เหนื่อย" }, pinLocation: { en: "Soi Thonglor 13, Bangkok", th: "ซอยทองหล่อ 13 กรุงเทพฯ" }, revenueStreams: { en: "Lunch sets 45% · dinner bowls 40% · drinks 10% · merch 5%", th: "ชุดกลางวัน 45% · ราเมงมื้อเย็น 40% · เครื่องดื่ม 10% · สินค้า 5%" }, assetStyle: { en: "Timber counter, stainless open kitchen, 12 bar stools", th: "เคาน์เตอร์ไม้ ครัวเปิดสแตนเลส เก้าอี้บาร์ 12 ตัว" }, resources: { en: "5 years as a line cook; a noodle supplier friend; ฿1.8M saved", th: "เป็นพ่อครัว 5 ปี มีเพื่อนเป็นซัพพลายเออร์เส้น มีเงินเก็บ 1.8 ล้าน" }, }, personaName: { en: "Name", th: "ชื่อ" }, personaAge: { en: "Age", th: "อายุ" }, personaJob: { en: "What they do", th: "อาชีพ" }, personaStory: { en: "A day in their life — when and why they'd come", th: "ชีวิตประจำวัน — มาร้านเมื่อไรและเพราะอะไร" }, personaWants: { en: "What they want from you", th: "สิ่งที่เขาต้องการจากร้านคุณ" }, wants: { en: "Wants", th: "ต้องการ" }, openMap: { en: "Open in Maps ↗", th: "เปิดในแผนที่ ↗" }, draftVerdict: { en: "Draft verdict", th: "ผลประเมินฉบับร่าง" }, brandDepth: { en: "Brand depth {n}/{total}", th: "ความลึกของแบรนด์ {n}/{total}" }, missingTitle: { en: "{n} essentials still missing", th: "ยังขาดข้อมูลสำคัญ {n} ข้อ" }, missingSub: { en: "Tap one to jump to it. Financial still works — the verdict just stays a draft.", th: "แตะเพื่อไปที่ข้อนั้น ส่วนการเงินยังใช้ได้ — แต่ผลประเมินจะเป็นฉบับร่าง" }, field: { conceptName: { en: "Name", th: "ชื่อร้าน" }, tagline: { en: "Slogan", th: "สโลแกน" }, usp: { en: "Why us", th: "ทำไมต้องเรา" }, category: { en: "Restaurant type (confirm)", th: "ประเภทร้าน (ยืนยัน)" }, cuisine: { en: "Cuisine", th: "ประเภทอาหาร" }, targetCustomer: { en: "Main customer", th: "ลูกค้าหลัก" }, locationType: { en: "Area type", th: "ประเภททำเล" }, sqm: { en: "Size (m²)", th: "ขนาด (ตร.ม.)" }, serviceStyle: { en: "Service style", th: "รูปแบบบริการ" }, hours: { en: "Opening hours", th: "เวลาเปิด-ปิด" }, avgSpend: { en: "Average spend", th: "ค่าใช้จ่ายต่อหัว" }, channelMix: { en: "Channel split = 100%", th: "สัดส่วนช่องทาง = 100%" }, seats: { en: "Seats", th: "ที่นั่ง" }, capital: { en: "Capital", th: "เงินทุน" }, }, brandSummary: { en: "Brand summary", th: "สรุปแบรนด์" }, brandSummaryLocked: { en: "Persona, brand summary, location and daypart plan", th: "เพอร์โซนา สรุปแบรนด์ ทำเล และแผนช่วงเวลาขาย" }, brandSummaryItems: { en: "Make the brand and customer feel real — with drafts you can edit.", th: "ทำให้แบรนด์และลูกค้าจับต้องได้ — มีร่างให้แก้ไข" }, coherenceTitle: { en: "Coherence check", th: "ตรวจสอบความสอดคล้อง" }, continueFinancial: { en: "Continue to Financial →", th: "ไปต่อที่การเงิน →" }, lowReadinessNote: { en: "Readiness {n}/100 — you can continue; the verdict will be marked draft until the essentials are in.", th: "ความพร้อม {n}/100 — ไปต่อได้ แต่ผลประเมินจะเป็นฉบับร่างจนกว่าจะกรอกข้อมูลสำคัญครบ" }, }, suggest: { logoDirection: { en: "A simple mark built around {cuisine}; warm colours; readable on a Grab thumbnail.", th: "สัญลักษณ์เรียบง่ายที่สื่อถึง{cuisine} สีโทนอุ่น อ่านง่ายแม้เป็นภาพเล็กบน Grab" }, dna: { en: "{name}: honest {cuisine} for {who}, done one way, every day.", th: "{name}: {cuisine}แบบจริงใจสำหรับ{who} ทำแบบเดียวกันทุกวัน" }, brandCharacter: { en: "A friendly regular from {place} who knows the menu by heart and never rushes you.", th: "ขาประจำใจดีจาก{place} ที่รู้เมนูทุกอย่างและไม่เคยเร่งคุณ" }, valuePromise: { en: "Every visit: {usp}", th: "ทุกครั้งที่มา: {usp}" }, differentiation: { en: "Near {place}, most places serve {cuisine} fast or cheap. We win on: {usp}", th: "ย่าน{place} ร้าน{cuisine}ส่วนใหญ่เน้นเร็วหรือถูก เราชนะด้วย: {usp}" }, moodTone: { en: "Warm, unhurried, a little playful; staff talk like friends, not scripts.", th: "อบอุ่น ไม่เร่งรีบ มีความสนุกนิดๆ พนักงานคุยเหมือนเพื่อน ไม่ใช่ท่องบท" }, experienceDesign: { en: "Greeted by name at the door; {style}; one signature moment at the table; a small thank-you at the bill.", th: "ทักทายด้วยชื่อที่ประตู {style} มีช่วงเวลาซิกเนเจอร์ที่โต๊ะ และคำขอบคุณเล็กๆ ตอนเช็กบิล" }, customerJourney: { en: "{who} see us on TikTok or Google Maps → try the signature dish → come back weekly for the same order.", th: "{who}เห็นร้านใน TikTok หรือ Google Maps → ลองเมนูซิกเนเจอร์ → กลับมาทุกสัปดาห์เพื่อสั่งเมนูเดิม" }, whenThink: { en: "When {who} want {cuisine} they don't have to think about.", th: "เมื่อ{who}อยากกิน{cuisine}แบบไม่ต้องคิดมาก" }, revenueStreams: { en: "Main meals 70% · drinks 15% · delivery sets 10% · add-ons 5%", th: "อาหารจานหลัก 70% · เครื่องดื่ม 15% · ชุดเดลิเวอรี่ 10% · สินค้าเสริม 5%" }, assetStyle: { en: "Durable, easy-clean surfaces; a kitchen sized for {style}; seating that turns quickly.", th: "พื้นผิวทนทาน ทำความสะอาดง่าย ครัวขนาดพอดีกับ{style} ที่นั่งที่หมุนเวียนลูกค้าได้เร็ว" }, resources: { en: "Cash: see capital. Skills: … Team: … Suppliers: … Network: …", th: "เงิน: ดูเงินทุน ทักษะ: … ทีม: … ซัพพลายเออร์: … เครือข่าย: …" }, }, coh: { capitalShort: { en: "Your capital of {cap} covers {pct} of the {inv} to open — a gap of {gap} to fill with partners, a loan or a smaller fit-out.", th: "เงินทุน {cap} ครอบคลุม {pct} ของ {inv} ที่ต้องใช้เปิดร้าน — ขาดอีก {gap} ต้องหาจากหุ้นส่วน เงินกู้ หรือลดขนาดการตกแต่ง" }, capitalOk: { en: "Your capital of {cap} covers the {inv} to open.", th: "เงินทุน {cap} ครอบคลุม {inv} ที่ต้องใช้เปิดร้าน" }, spendDiffers: { en: "The brief says {brief} a head, Financial uses {fin}. Pick one so the verdict and the brief agree.", th: "สรุปแนวคิดระบุ {brief} ต่อหัว แต่ส่วนการเงินใช้ {fin} เลือกค่าเดียวเพื่อให้ผลประเมินกับสรุปตรงกัน" }, seatsDiffer: { en: "The brief has {brief} seats, Financial uses {fin}.", th: "สรุปแนวคิดมี {brief} ที่นั่ง แต่ส่วนการเงินใช้ {fin} ที่นั่ง" }, afterFinancial: { en: "Once you open Financial, this also checks your capital, spend and seats against the numbers.", th: "เมื่อเปิดส่วนการเงินแล้ว ส่วนนี้จะตรวจเงินทุน ค่าใช้จ่ายต่อหัว และที่นั่ง เทียบกับตัวเลขด้วย" }, }, /* ---------- Financial (overrides + new) ---------- */ fin: { shellKicker: { en: "2 · Financial", th: "2 · การเงิน" }, shellLead: { en: "Investment, expected revenue and monthly cost — ending in a verdict with break-even and payback.", th: "เงินลงทุน รายได้ที่คาดไว้ และต้นทุนรายเดือน — จบด้วยผลประเมิน จุดคุ้มทุน และระยะคืนทุน" }, stepSales: { en: "Expected revenue", th: "รายได้ที่คาดไว้" }, stepCosts: { en: "Monthly cost", th: "ต้นทุนรายเดือน" }, stepResults: { en: "Dashboard", th: "แดชบอร์ด" }, invKicker: { en: "Financial · 1 of 5 — Investment", th: "การเงิน · 1 ใน 5 — การลงทุน" }, salesKicker: { en: "Financial · 2 of 5 — Expected revenue", th: "การเงิน · 2 ใน 5 — รายได้ที่คาดไว้" }, costsKicker: { en: "Financial · 3 of 5 — Monthly cost", th: "การเงิน · 3 ใน 5 — ต้นทุนรายเดือน" }, payback: { en: "Investment payback", th: "ระยะคืนทุนการลงทุน" }, paybackSub: { en: "investment ÷ steady monthly profit", th: "เงินลงทุน ÷ กำไรต่อเดือนเมื่อร้านอยู่ตัว" }, seats: { en: "Seats", th: "จำนวนที่นั่ง" }, }, fin2: { stepProjection: { en: "Projection", th: "ประมาณการ" }, draft: { en: "Draft", th: "ฉบับร่าง" }, draftWarn: { en: "Concept readiness is {n}/100, so this verdict is a draft. Carry on — it firms up as you finish the Concept.", th: "ความพร้อมของแนวคิดอยู่ที่ {n}/100 ผลประเมินนี้จึงเป็นฉบับร่าง ทำต่อได้เลย — ผลจะชัดขึ้นเมื่อกรอกแนวคิดครบ" }, finishConcept: { en: "Finish the Concept", th: "กรอกแนวคิดให้ครบ" }, benchNote: { en: "A benchmark sits under each number — tap to use it.", th: "มีค่าอ้างอิงใต้ตัวเลขทุกช่อง — แตะเพื่อใช้" }, useBenchmark: { en: "benchmark {x} · use", th: "ค่าอ้างอิง {x} · ใช้" }, useBenchmarkTitle: { en: "Typical for this concept type and size — a starting point, not a quote", th: "ค่าทั่วไปของร้านประเภทและขนาดนี้ — ใช้เป็นจุดเริ่ม ไม่ใช่ใบเสนอราคา" }, showDetails: { en: "Show details for each section", th: "แสดงรายละเอียดแต่ละหมวด" }, detailsOpen: { en: "Section details open", th: "เปิดรายละเอียดรายหมวดแล้ว" }, whyVerdict: { en: "Why this verdict", th: "ทำไมได้ผลประเมินนี้" }, whyVerdictSub: { en: "The top reasons, and what to change.", th: "เหตุผลหลัก และสิ่งที่ควรปรับ" }, compareLocked: { en: "Compare slow, planned and strong months", th: "เปรียบเทียบเดือนที่ขายช้า ตามแผน และขายดี" }, compareLockedSub: { en: "See profit, margin and payback under each case.", th: "ดูกำไร มาร์จิ้น และระยะคืนทุนในแต่ละกรณี" }, compareTitle: { en: "Scenario comparison", th: "เปรียบเทียบสถานการณ์" }, compareSub: { en: "Same costs, different sales. Cash payback includes ramp-up and seasons.", th: "ต้นทุนเท่าเดิม ยอดขายต่างกัน ระยะคืนเงินสดรวมช่วงเริ่มต้นและฤดูกาลแล้ว" }, scenario: { en: "Scenario", th: "สถานการณ์" }, salesMo: { en: "Sales / mo", th: "ยอดขาย/เดือน" }, netMo: { en: "Net profit / mo", th: "กำไรสุทธิ/เดือน" }, invPayback: { en: "Investment payback", th: "ระยะคืนทุนการลงทุน" }, cashPayback: { en: "Cash payback", th: "ระยะคืนเงินสด" }, sc: { slow: { en: "Slow", th: "ขายช้า" }, planned: { en: "Planned", th: "ตามแผน" }, strong: { en: "Strong", th: "ขายดี" } }, scHint: { slow: { en: "of planned sales ≈ {x}/mo", th: "ของยอดขายตามแผน ≈ {x}/เดือน" }, strong: { en: "of planned sales ≈ {x}/mo", th: "ของยอดขายตามแผน ≈ {x}/เดือน" }, }, scenariosSeasons: { en: "Scenarios and seasons", th: "สถานการณ์และฤดูกาล" }, scenariosSub: { en: "How far sales could fall or rise from your planned case.", th: "ยอดขายอาจลดหรือเพิ่มจากกรณีตามแผนได้แค่ไหน" }, scenariosLockedSub: { en: "Slow / planned / strong cases, Songkran, Vegetarian Festival, alcohol-ban days.", th: "กรณีขายช้า / ตามแผน / ขายดี สงกรานต์ เทศกาลกินเจ วันห้ามขายสุรา" }, seasonsTitle: { en: "Thai seasons that hit sales", th: "ช่วงเทศกาลไทยที่กระทบยอดขาย" }, season: { songkran: { en: "Songkran slowdown", th: "สงกรานต์ คนออกต่างจังหวัด" }, vegetarian: { en: "Vegetarian Festival", th: "เทศกาลกินเจ" }, alcoholBan: { en: "Alcohol-ban days", th: "วันห้ามขายสุรา" } }, seasonHint: { songkran: { en: "April sales −20% as the city empties", th: "ยอดขายเดือนเมษายน −20% เพราะคนกลับต่างจังหวัด" }, vegetarian: { en: "October −8% for meat-led menus", th: "เดือนตุลาคม −8% สำหรับเมนูที่เน้นเนื้อสัตว์" }, alcoholBan: { en: "Buddhist holy days: Feb, May, Jul, Oct −4–6%", th: "วันพระใหญ่: ก.พ. พ.ค. ก.ค. ต.ค. −4–6%" }, }, whenMoneyBack: { en: "When do you get your money back?", th: "เมื่อไรจะได้เงินคืน" }, whenMoneyBackSub: { en: "A 36-month projection with ramp-up and seasons.", th: "ประมาณการ 36 เดือน รวมช่วงเริ่มต้นและฤดูกาล" }, openProjection: { en: "Open →", th: "เปิด →" }, toProjection: { en: "Feasibility projection →", th: "ประมาณการความเป็นไปได้ →" }, projKicker: { en: "Financial · 5 of 5 — Feasibility projection", th: "การเงิน · 5 ใน 5 — ประมาณการความเป็นไปได้" }, projTitle: { en: "Month by month, for three years.", th: "รายเดือน ตลอดสามปี" }, projLead: { en: "How much cash to hold, when the first profitable month comes and when the money is back.", th: "ต้องสำรองเงินสดเท่าไร เดือนแรกที่มีกำไรคือเมื่อไร และเมื่อไรจะได้เงินคืน" }, projLockedSub: { en: "Your lowest cash point, first profitable month and money-back month — from your own numbers.", th: "จุดเงินสดต่ำสุด เดือนแรกที่มีกำไร และเดือนที่ได้เงินคืน — จากตัวเลขของคุณเอง" }, }, proj: { monthN: { en: "Month {n}", th: "เดือนที่ {n}" }, mShort: { en: "M{n}", th: "ด.{n}" }, notIn36: { en: "not within 36 months", th: "ไม่ถึงภายใน 36 เดือน" }, lowestCash: { en: "Lowest cash point", th: "เงินสดต่ำสุด" }, inMonth: { en: "month {n} ({cal})", th: "เดือนที่ {n} ({cal})" }, openingDay: { en: "on opening day", th: "ในวันเปิดร้าน" }, firstProfit: { en: "First profitable month", th: "เดือนแรกที่มีกำไร" }, moneyBackSub: { en: "everything spent to open, earned back", th: "เงินที่ใช้เปิดร้านทั้งหมดได้คืน" }, reserveShort: { en: "Cash runs {x} short around month {n}. Hold a bigger reserve or plan a smaller opening.", th: "เงินสดจะขาดประมาณ {x} ในช่วงเดือนที่ {n} ควรสำรองเงินเพิ่มหรือลดขนาดการเปิดร้าน" }, chartTitle: { en: "Cash over 36 months", th: "เงินสดตลอด 36 เดือน" }, chartLabel: { en: "Line chart of cumulative position and cash in the bank over 36 months", th: "กราฟเส้นแสดงสถานะสะสมและเงินสดในบัญชีตลอด 36 เดือน" }, legendCum: { en: "Earned back (after investment)", th: "เงินที่ได้คืน (หลังหักเงินลงทุน)" }, legendCash: { en: "Cash in the bank", th: "เงินสดในบัญชี" }, assumptions: { en: "Assumes sales ramp 60 → 75 → 85 → 95% over the first four months, 3% growth a year, costs as entered, and the seasons you switched on. Cash starts at your reserve.", th: "สมมติยอดขายไต่ระดับ 60 → 75 → 85 → 95% ในสี่เดือนแรก เติบโตปีละ 3% ต้นทุนตามที่กรอก และฤดูกาลที่เปิดไว้ เงินสดเริ่มจากเงินสำรอง" }, year: { en: "Year {n}", th: "ปีที่ {n}" }, rowSales: { en: "Sales", th: "ยอดขาย" }, rowNet: { en: "Net profit", th: "กำไรสุทธิ" }, rowCum: { en: "Earned back, cumulative", th: "เงินที่ได้คืนสะสม" }, opening: { en: "Opening month", th: "เดือนที่เปิดร้าน" }, }, /* ---------- Ownership ---------- */ own: { kicker: { en: "3 · Ownership", th: "3 · ความเป็นเจ้าของ" }, title: { en: "Who owns, earns and decides.", th: "ใครเป็นเจ้าของ ได้ผลตอบแทน และตัดสินใจ" }, lead: { en: "Agree it before money goes in. Start from a common model, then adjust.", th: "ตกลงกันก่อนลงเงิน เริ่มจากโมเดลที่ใช้กันทั่วไป แล้วปรับให้เหมาะ" }, answers: { q1: { en: "What % does each partner own, given their cash and their work?", th: "แต่ละคนถือหุ้นกี่ % เมื่อคิดทั้งเงินและแรงงานที่ลงไป" }, q2: { en: "How much does each person take home a month and a year — and when do investors get their money back?", th: "แต่ละคนได้เงินเท่าไรต่อเดือนและต่อปี — และนักลงทุนจะได้เงินคืนเมื่อไร" }, q3: { en: "Who runs the shop day to day, and who has to sign off big decisions?", th: "ใครดูแลร้านในแต่ละวัน และใครต้องอนุมัติการตัดสินใจใหญ่" }, }, lockedTitle: { en: "Put the hard talk in writing", th: "เขียนเรื่องที่คุยยากให้ชัดเจน" }, lockedSub: { en: "Stakeholders, profit sharing, stakeholder payback and a one-page governance summary.", th: "ผู้ถือหุ้น การแบ่งกำไร ระยะคืนทุนของแต่ละคน และสรุปธรรมาภิบาลหน้าเดียว" }, secModel: { en: "Stakeholder model", th: "โมเดลผู้ถือหุ้น" }, secProfit: { en: "Profit sharing", th: "การแบ่งกำไร" }, secPower: { en: "Management power", th: "อำนาจการบริหาร" }, startFrom: { en: "Start from a common model", th: "เริ่มจากโมเดลที่ใช้กันทั่วไป" }, startFromSub: { en: "Fills in the parties from your total to open. Change anything after.", th: "เติมรายชื่อผู้ถือหุ้นจากยอดเงินที่ต้องใช้เปิดร้าน แก้ไขได้ภายหลัง" }, model: { sole: { en: "Sole owner", th: "เจ้าของคนเดียว" }, equal: { en: "Equal partners", th: "หุ้นส่วนเท่ากัน" }, investorOperator: { en: "Investor + operator", th: "นักลงทุน + ผู้บริหารร้าน" } }, modelSub: { sole: { en: "You put in everything and keep everything.", th: "คุณลงเงินทั้งหมดและได้ทั้งหมด" }, equal: { en: "Two partners, same cash, same share.", th: "หุ้นส่วนสองคน ลงเงินเท่ากัน ได้เท่ากัน" }, investorOperator: { en: "One brings money, one runs the shop; investors repaid first.", th: "คนหนึ่งลงเงิน อีกคนบริหารร้าน นักลงทุนได้เงินคืนก่อน" }, }, you: { en: "You", th: "คุณ" }, partnerN: { en: "Partner {n}", th: "หุ้นส่วน {n}" }, investor: { en: "Investor", th: "นักลงทุน" }, operator: { en: "Operator", th: "ผู้บริหารร้าน" }, runsShop: { en: "Runs the shop full-time", th: "บริหารร้านเต็มเวลา" }, stakeholders: { en: "Stakeholders", th: "ผู้ถือหุ้น" }, setManual: { en: "Set % by hand", th: "กำหนด % เอง" }, autoNote: { en: "% follows what each party puts in: cash plus the value you agree for their work or assets.", th: "% คิดตามสิ่งที่แต่ละคนลงไป: เงินสด บวกมูลค่าแรงงานหรือทรัพย์สินที่ตกลงกัน" }, manualNote: { en: "You set each %. They must add up to 100%.", th: "คุณกำหนด % เอง ต้องรวมกันได้ 100%" }, namePh: { en: "Name", th: "ชื่อ" }, rolePick: { en: "Role…", th: "บทบาท…" }, remove: { en: "Remove", th: "ลบ" }, cashIn: { en: "Cash in", th: "เงินสดที่ลง" }, inKind: { en: "Contribution in kind", th: "สิ่งที่ลงแทนเงิน" }, inKindPh: { en: "Recipes, equipment, full-time work…", th: "สูตรอาหาร อุปกรณ์ ทำงานเต็มเวลา…" }, inKindValue: { en: "Agreed value", th: "มูลค่าที่ตกลงกัน" }, ownership: { en: "Ownership", th: "สัดส่วนหุ้น" }, addParty: { en: "Add a stakeholder", th: "เพิ่มผู้ถือหุ้น" }, cashTotal: { en: "Cash in:", th: "เงินสดที่ลง:" }, cashTotalShort: { en: "{x} cash in", th: "เงินสดที่ลง {x}" }, toOpen: { en: "to open", th: "ที่ต้องใช้เปิดร้าน" }, unnamed: { en: "Unnamed", th: "ยังไม่มีชื่อ" }, profitRule: { en: "How profit is shared", th: "แบ่งกำไรอย่างไร" }, rule: { prorata: { en: "By ownership %", th: "ตามสัดส่วนหุ้น" }, investorsFirst: { en: "Investors repaid first", th: "คืนเงินนักลงทุนก่อน" } }, ruleSub: { prorata: { en: "Each month's payout is split by ownership %.", th: "เงินปันผลแต่ละเดือนแบ่งตามสัดส่วนหุ้น" }, investorsFirst: { en: "Payouts go to whoever put in cash until their cash is back; after that, by ownership %.", th: "เงินปันผลจ่ายให้ผู้ที่ลงเงินสดจนได้เงินคืนครบก่อน หลังจากนั้นแบ่งตามสัดส่วนหุ้น" }, }, distribute: { en: "Share of profit paid out", th: "สัดส่วนกำไรที่จ่ายออก" }, distributeHint: { en: "≈ {x}/mo paid out; {keep}/mo kept in the business", th: "≈ {x}/เดือน จ่ายออก, {keep}/เดือน เก็บไว้ในธุรกิจ" }, repaidBy: { en: "Cash investors are repaid by month {n}; from then on profit is shared by ownership %.", th: "นักลงทุนที่ลงเงินสดได้เงินคืนครบภายในเดือนที่ {n} หลังจากนั้นแบ่งกำไรตามสัดส่วนหุ้น" }, payoutTitle: { en: "Payout per party", th: "เงินที่แต่ละคนได้รับ" }, payoutSub: { en: "Per month at steady trade (while investors are repaid, if that's the rule); year 1 and payback include ramp-up.", th: "ต่อเดือนเมื่อร้านอยู่ตัว (ช่วงคืนเงินนักลงทุน หากใช้กติกานั้น) ปีแรกและระยะคืนทุนรวมช่วงเริ่มต้นแล้ว" }, party: { en: "Party", th: "ผู้ถือหุ้น" }, perMonth: { en: "Per month", th: "ต่อเดือน" }, year1: { en: "Year 1", th: "ปีแรก" }, stakeholderPayback: { en: "Stakeholder payback", th: "ระยะคืนทุนผู้ถือหุ้น" }, manager: { en: "Runs the shop day to day", th: "ดูแลร้านในแต่ละวัน" }, managerHint: { en: "Staff, suppliers and daily spending", th: "พนักงาน ซัพพลายเออร์ และค่าใช้จ่ายประจำวัน" }, pickPerson: { en: "Pick a person…", th: "เลือกคน…" }, signoff: { en: "Spending needing sign-off", th: "ค่าใช้จ่ายที่ต้องขออนุมัติ" }, signoffHint: { en: "Any single spend above this goes to the partners", th: "ค่าใช้จ่ายครั้งเดียวที่เกินจำนวนนี้ต้องให้หุ้นส่วนอนุมัติ" }, major: { en: "Major decisions", th: "การตัดสินใจสำคัญ" }, majorHint: { en: "New branch, new partner, selling, borrowing", th: "เปิดสาขาใหม่ รับหุ้นส่วนใหม่ ขายกิจการ กู้เงิน" }, majorRule: { unanimous: { en: "All partners agree", th: "หุ้นส่วนทุกคนเห็นชอบ" }, majority: { en: "Majority by %", th: "เสียงข้างมากตามสัดส่วนหุ้น" }, lead: { en: "Lead investor decides", th: "นักลงทุนหลักตัดสินใจ" } }, govKicker: { en: "Governance summary · one page", th: "สรุปธรรมาภิบาล · หน้าเดียว" }, govTitle: { en: "How {name} is owned and run", th: "โครงสร้างการถือหุ้นและการบริหาร {name}" }, govOwners: { en: "Owners:", th: "ผู้ถือหุ้น:" }, govMoney: { en: "Put in:", th: "สิ่งที่ลงทุน:" }, govProfit: { en: "Profit:", th: "กำไร:" }, govProfitText: { prorata: { en: "{pct} of monthly profit is paid out, split by ownership %; the rest stays in the business.", th: "จ่ายกำไร {pct} ของแต่ละเดือน แบ่งตามสัดส่วนหุ้น ส่วนที่เหลือเก็บไว้ในธุรกิจ" }, investorsFirst: { en: "{pct} of monthly profit is paid out; cash investors are repaid first, then it's split by ownership %.", th: "จ่ายกำไร {pct} ของแต่ละเดือน คืนเงินผู้ลงเงินสดก่อน แล้วจึงแบ่งตามสัดส่วนหุ้น" }, }, govDaily: { en: "Day to day:", th: "งานประจำวัน:" }, govDailyText: { en: "{name} runs the shop; any single spend over {limit} needs partner sign-off.", th: "{name} ดูแลร้าน ค่าใช้จ่ายครั้งเดียวที่เกิน {limit} ต้องให้หุ้นส่วนอนุมัติ" }, govMajor: { en: "Major decisions:", th: "การตัดสินใจสำคัญ:" }, govDisclaimer: { en: "A planning summary, not a legal agreement — have a lawyer turn it into a shareholders' agreement.", th: "เป็นสรุปเพื่อการวางแผน ไม่ใช่สัญญาทางกฎหมาย — ควรให้ทนายจัดทำเป็นสัญญาผู้ถือหุ้น" }, checkSplit: { en: "Check the split", th: "ตรวจสอบการแบ่ง" }, flagSum: { en: "Ownership adds up to {pct}%, not 100%.", th: "สัดส่วนหุ้นรวมกันได้ {pct}% ไม่ใช่ 100%" }, flagNoRole: { en: "{name} has no role yet.", th: "{name} ยังไม่มีบทบาท" }, flagNoContrib: { en: "{name} holds {pct} with no cash or agreed contribution recorded.", th: "{name} ถือหุ้น {pct} โดยไม่มีเงินสดหรือสิ่งที่ลงทุนที่ตกลงกันบันทึกไว้" }, flagOperatorLow: { en: "{name} runs the shop but owns {pct}. Make sure their salary is in Monthly cost, or the split may feel unfair within a year.", th: "{name} บริหารร้านแต่ถือหุ้นเพียง {pct} ตรวจให้แน่ใจว่ามีเงินเดือนในต้นทุนรายเดือน ไม่เช่นนั้นอาจรู้สึกไม่ยุติธรรมภายในปี" }, flagMajority: { en: "{name} holds {pct}, so under a majority rule they decide major questions alone.", th: "{name} ถือหุ้น {pct} ภายใต้กติกาเสียงข้างมาก จึงตัดสินเรื่องสำคัญได้คนเดียว" }, flagNoPayback: { en: "{name} doesn't get their cash back within 36 months at these numbers.", th: "{name} ไม่ได้เงินสดคืนภายใน 36 เดือนตามตัวเลขนี้" }, flagGap: { en: "Partners put in {cash} but opening needs {inv} — {gap} still to find.", th: "หุ้นส่วนลงเงิน {cash} แต่การเปิดร้านต้องใช้ {inv} — ยังขาดอีก {gap}" }, flagRepaySlow: { en: "Investors aren't fully repaid within 36 months, so operators receive no share until then.", th: "นักลงทุนยังได้เงินคืนไม่ครบภายใน 36 เดือน ผู้บริหารร้านจึงยังไม่ได้ส่วนแบ่งจนกว่าจะถึงตอนนั้น" }, flagNoManager: { en: "No one is named to run the shop day to day.", th: "ยังไม่ได้ระบุว่าใครดูแลร้านในแต่ละวัน" }, toOutputs: { en: "See the ownership dashboard →", th: "ดูแดชบอร์ดผู้ถือหุ้น →" }, }, /* ---------- Outputs ---------- */ out: { kicker: { en: "Outputs", th: "เอกสารนำเสนอ" }, title: { en: "Show the plan with confidence.", th: "นำเสนอแผนอย่างมั่นใจ" }, lead: { en: "Every figure is pulled live from your plan. Edit the headlines, then export.", th: "ตัวเลขทุกตัวดึงจากแผนของคุณแบบสด แก้หัวข้อได้ แล้วส่งออก" }, lockedTitle: { en: "Your pitching deck, PDF and Excel", th: "สไลด์นำเสนอ PDF และ Excel ของคุณ" }, lockedSub: { en: "Built from your own concept and numbers — ready for a partner, investor or bank.", th: "สร้างจากแนวคิดและตัวเลขของคุณเอง — พร้อมให้หุ้นส่วน นักลงทุน หรือธนาคาร" }, tabDeck: { en: "Pitching deck", th: "สไลด์นำเสนอ" }, tabOwnership: { en: "Ownership dashboard", th: "แดชบอร์ดผู้ถือหุ้น" }, tabSummary: { en: "Plan summary", th: "สรุปแผน" }, tabExport: { en: "Export", th: "ส่งออก" }, lastUpdated: { en: "Numbers as of {d}", th: "ตัวเลข ณ วันที่ {d}" }, noOwners: { en: "No stakeholders yet.", th: "ยังไม่มีผู้ถือหุ้น" }, noOwnersSub: { en: "Set up Ownership and this dashboard fills in.", th: "ตั้งค่าส่วนความเป็นเจ้าของ แล้วแดชบอร์ดนี้จะแสดงข้อมูล" }, goOwnership: { en: "Go to Ownership →", th: "ไปที่ความเป็นเจ้าของ →" }, distributable: { en: "Paid out", th: "เงินปันผล" }, perMonthSteady: { en: "per month at steady trade", th: "ต่อเดือนเมื่อร้านอยู่ตัว" }, wholeBusiness: { en: "whole business", th: "ทั้งธุรกิจ" }, whoOwns: { en: "Investment, return and payback per stakeholder", th: "เงินลงทุน ผลตอบแทน และระยะคืนทุนของผู้ถือหุ้นแต่ละคน" }, putIn: { en: "Put in", th: "ลงทุน" }, inKindShort: { en: "in kind", th: "ไม่ใช่เงินสด" }, return3y: { en: "3-yr return", th: "ผลตอบแทน 3 ปี" }, ownFootnote: { en: "3-year return = payouts over 36 months ÷ cash put in. Payback counts cash only.", th: "ผลตอบแทน 3 ปี = เงินที่ได้รับใน 36 เดือน ÷ เงินสดที่ลง ระยะคืนทุนคิดจากเงินสดเท่านั้น" }, deckNote: { en: "Click a headline to edit it. Save as PDF prints one slide per page.", th: "คลิกหัวข้อเพื่อแก้ไข บันทึกเป็น PDF จะพิมพ์หน้าละหนึ่งสไลด์" }, resetTitles: { en: "Reset headlines", th: "รีเซ็ตหัวข้อ" }, deckPdf: { en: "Save deck as PDF", th: "บันทึกสไลด์เป็น PDF" }, download: { en: "Download", th: "ดาวน์โหลด" }, pdfPlan: { en: "Plan summary (PDF)", th: "สรุปแผน (PDF)" }, pdfPlanSub: { en: "One page for a bank or investor.", th: "หน้าเดียวสำหรับธนาคารหรือนักลงทุน" }, pdfDeck: { en: "Pitching deck (PDF)", th: "สไลด์นำเสนอ (PDF)" }, pdfDeckSub: { en: "Seven slides, one per page.", th: "เจ็ดสไลด์ หน้าละหนึ่งสไลด์" }, excel: { en: "Whole plan (Excel)", th: "แผนทั้งหมด (Excel)" }, excelSub: { en: "Summary, investment, monthly cost, 36-month projection and ownership sheets.", th: "ชีตสรุป เงินลงทุน ต้นทุนรายเดือน ประมาณการ 36 เดือน และผู้ถือหุ้น" }, json: { en: "Plan file (JSON)", th: "ไฟล์แผน (JSON)" }, jsonSub: { en: "Move this concept to another device.", th: "ย้ายแนวคิดนี้ไปอุปกรณ์อื่น" }, }, deck: { coverSub: { en: "Business plan · prepared with BlueprintSenses", th: "แผนธุรกิจ · จัดทำด้วย BlueprintSenses" }, k: { concept: { en: "The concept", th: "แนวคิด" }, customer: { en: "The customer", th: "ลูกค้า" }, numbers: { en: "The numbers", th: "ตัวเลข" }, cash: { en: "Cash and payback", th: "เงินสดและการคืนทุน" }, ask: { en: "Ownership and the ask", th: "ผู้ถือหุ้นและสิ่งที่ขอ" }, watch: { en: "What to watch", th: "สิ่งที่ควรจับตา" } }, t: { concept: { en: "What we're opening, and why it wins", th: "เราจะเปิดร้านอะไร และทำไมถึงชนะ" }, customer: { en: "Who we're built for", th: "ร้านนี้สร้างเพื่อใคร" }, meet: { en: "Meet {name}", th: "รู้จักกับ{name}" }, numbers: { en: "What it costs and what it earns", th: "ต้องลงทุนเท่าไร และทำเงินได้เท่าไร" }, cash: { en: "When the money comes back", th: "เงินจะกลับมาเมื่อไร" }, cashBack: { en: "Money back by month {n}", th: "ได้เงินคืนภายในเดือนที่ {n}" }, ask: { en: "The ask: {x}", th: "สิ่งที่ขอ: {x}" }, watch: { en: "The risks, named", th: "ความเสี่ยงที่เรารู้" }, }, conceptLine: { en: "For {who}, in a {loc} location, at about {spend} a head.", th: "สำหรับ{who} ในทำเลแบบ{loc} ราคาประมาณ {spend} ต่อหัว" }, formatLine: { en: "{seats} seats on {sqm} m², open {hours}, {svc}.", th: "{seats} ที่นั่ง พื้นที่ {sqm} ตร.ม. เปิด {hours} {svc}" }, backIn: { en: "back by month {n}", th: "คืนทุนภายในเดือนที่ {n}" }, noOwners: { en: "Set up Ownership to show who puts in what.", th: "ตั้งค่าความเป็นเจ้าของเพื่อแสดงว่าใครลงทุนอะไร" }, }, xl: { concept: { en: "Concept", th: "แนวคิด" }, category: { en: "Category", th: "หมวด" }, amount: { en: "Amount (THB)", th: "จำนวน (บาท)" }, month: { en: "Month", th: "เดือนที่" }, calMonth: { en: "Calendar month", th: "เดือน" }, role: { en: "Role", th: "บทบาท" }, sSummary: { en: "Summary", th: "สรุป" }, sInvestment: { en: "Investment", th: "เงินลงทุน" }, sCost: { en: "Monthly cost", th: "ต้นทุนรายเดือน" }, sProjection: { en: "Projection", th: "ประมาณการ" }, sOwnership: { en: "Ownership", th: "ผู้ถือหุ้น" }, }, /* ---------- Plan summary (v1 pitch page, now inside Outputs) ---------- */ pitch: { kicker: { en: "Outputs · Plan summary", th: "เอกสารนำเสนอ · สรุปแผน" }, lead: { en: "A one-page summary an investor or bank can read in two minutes — built from Concept and Financial.", th: "สรุปหน้าเดียวที่นักลงทุนหรือธนาคารอ่านจบใน 2 นาที — สร้างจากส่วนแนวคิดและการเงิน" }, lead2: { en: "A one-page summary an investor or bank can read in two minutes — every figure comes from Concept and Financial.", th: "สรุปหน้าเดียวที่นักลงทุนหรือธนาคารอ่านจบใน 2 นาที — ตัวเลขทุกตัวมาจากส่วนแนวคิดและการเงิน" }, emptyBase: { en: "The plan summary assembles itself from Concept and Financial — nothing to fill in here.", th: "สรุปแผนจะรวบรวมข้อมูลจากส่วนแนวคิดและการเงินเอง — ไม่ต้องกรอกอะไรที่นี่" }, emptyBoth: { en: " Start with the Concept, then run the numbers.", th: " เริ่มจากแนวคิด แล้วค่อยคำนวณตัวเลข" }, emptyIdea: { en: " Your numbers are in — describe the Concept and this page writes itself.", th: " ตัวเลขของคุณพร้อมแล้ว — อธิบายแนวคิดแล้วหน้านี้จะสร้างเอง" }, goToIdea: { en: "Go to Concept →", th: "ไปที่แนวคิด →" }, goToFin: { en: "Go to Financial →", th: "ไปที่การเงิน →" }, payback: { en: "Investment payback", th: "ระยะคืนทุนการลงทุน" }, whatToWatchDesc: { en: "An honest plan names its own risks — these come from the Concept coherence check.", th: "แผนที่ซื่อตรงต้องระบุความเสี่ยงของตัวเอง — รายการเหล่านี้มาจากการตรวจสอบความสอดคล้องของแนวคิด" }, }, });