[{"data":1,"prerenderedAt":1202},["ShallowReactive",2],{"navigation:en":3,"\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Finternationalization:en":311},[4],{"title":5,"path":6,"stem":7,"children":8,"icon":10},"Nuxfire Docs","\u002Fdocs","docs\u002F0.index",[9,11,152],{"title":5,"path":6,"stem":7,"icon":10},"i-lucide-layout-grid",{"title":12,"path":13,"stem":14,"children":15,"icon":151},"SaaS Starter Kit","\u002Fdocs\u002Fsaas-starter-kit","docs\u002F1.saas-starter-kit\u002F0.index",[16,19,63,129],{"title":17,"path":13,"stem":14,"icon":18},"What is the SaaS Starter Kit?","i-lucide-info",{"title":20,"icon":21,"hide":22,"path":23,"stem":24,"children":25,"page":62},"Getting Started","i-lucide-play",true,"\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started","docs\u002F1.saas-starter-kit\u002F1.getting-started",[26,30,34,38,42,46,50,54,58],{"title":27,"path":28,"stem":29},"Quick Start","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fquick-start","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F0.quick-start",{"title":31,"path":32,"stem":33},"Installation","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Finstallation","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F1.installation",{"title":35,"path":36,"stem":37},"Cloudflare Access","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fcloudflare-access","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F2.cloudflare-access",{"title":39,"path":40,"stem":41},"Configuration","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fconfiguration","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F3.configuration",{"title":43,"path":44,"stem":45},"Secrets","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fsecrets","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F4.secrets",{"title":47,"path":48,"stem":49},"Environment Variables","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fenvironment-variables","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F5.environment-variables",{"title":51,"path":52,"stem":53},"Deploy","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fdeploy","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F6.deploy",{"title":55,"path":56,"stem":57},"Local Development","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Flocal-development","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F7.local-development",{"title":59,"path":60,"stem":61},"Project Structure","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fproject-structure","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F8.project-structure",false,{"title":64,"icon":65,"hide":22,"path":66,"stem":67,"children":68,"page":62},"Features","i-lucide-box","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures","docs\u002F1.saas-starter-kit\u002F2.features",[69,73,77,81,85,89,93,97,101,105,109,113,117,121,125],{"title":70,"path":71,"stem":72},"Authentication","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fauth","docs\u002F1.saas-starter-kit\u002F2.features\u002F1.auth",{"title":74,"path":75,"stem":76},"Rate Limiting","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Frate-limiting","docs\u002F1.saas-starter-kit\u002F2.features\u002F10.rate-limiting",{"title":78,"path":79,"stem":80},"WebSockets","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fwebsockets","docs\u002F1.saas-starter-kit\u002F2.features\u002F11.websockets",{"title":82,"path":83,"stem":84},"Blog","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fblog","docs\u002F1.saas-starter-kit\u002F2.features\u002F14.blog",{"title":86,"path":87,"stem":88},"Documentation","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fdocumentation","docs\u002F1.saas-starter-kit\u002F2.features\u002F15.documentation",{"title":90,"path":91,"stem":92},"Analytics","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fanalytics","docs\u002F1.saas-starter-kit\u002F2.features\u002F16.analytics",{"title":94,"path":95,"stem":96},"Platform Admin Console","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fplatform-admin","docs\u002F1.saas-starter-kit\u002F2.features\u002F17.platform-admin",{"title":98,"path":99,"stem":100},"Database","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fdatabase","docs\u002F1.saas-starter-kit\u002F2.features\u002F2.database",{"title":102,"path":103,"stem":104},"Payments & Billing","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fpayments","docs\u002F1.saas-starter-kit\u002F2.features\u002F3.payments",{"title":106,"path":107,"stem":108},"Emails","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Femails","docs\u002F1.saas-starter-kit\u002F2.features\u002F4.emails",{"title":110,"path":111,"stem":112},"Notifications","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fnotifications","docs\u002F1.saas-starter-kit\u002F2.features\u002F5.notifications",{"title":114,"path":115,"stem":116},"Role-Based Access Control","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Frbac","docs\u002F1.saas-starter-kit\u002F2.features\u002F6.rbac",{"title":118,"path":119,"stem":120},"Async Jobs","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fasync-jobs","docs\u002F1.saas-starter-kit\u002F2.features\u002F7.async-jobs",{"title":122,"path":123,"stem":124},"Storage","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fstorage","docs\u002F1.saas-starter-kit\u002F2.features\u002F8.storage",{"title":126,"path":127,"stem":128},"Internationalization","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Finternationalization","docs\u002F1.saas-starter-kit\u002F2.features\u002F9.internationalization",{"title":130,"icon":131,"path":132,"stem":133,"children":134,"page":62},"Concepts","i-lucide-graduation-cap","\u002Fdocs\u002Fsaas-starter-kit\u002Fconcepts","docs\u002F1.saas-starter-kit\u002F3.concepts",[135,139,143,147],{"title":136,"path":137,"stem":138},"Technology Stack","\u002Fdocs\u002Fsaas-starter-kit\u002Fconcepts\u002Ftech-stack","docs\u002F1.saas-starter-kit\u002F3.concepts\u002F0.tech-stack",{"title":140,"path":141,"stem":142},"SST.dev","\u002Fdocs\u002Fsaas-starter-kit\u002Fconcepts\u002Fsst","docs\u002F1.saas-starter-kit\u002F3.concepts\u002F1.sst",{"title":144,"path":145,"stem":146},"NuxtHub","\u002Fdocs\u002Fsaas-starter-kit\u002Fconcepts\u002Fnuxt-hub","docs\u002F1.saas-starter-kit\u002F3.concepts\u002F2.nuxt-hub",{"title":148,"path":149,"stem":150},"Design System & Branding","\u002Fdocs\u002Fsaas-starter-kit\u002Fconcepts\u002Fdesign-system","docs\u002F1.saas-starter-kit\u002F3.concepts\u002F3.design-system","i-lucide-zap",{"title":153,"path":154,"stem":155,"children":156,"icon":159},"Fireskills","\u002Fdocs\u002Ffireskills","docs\u002F2.fireskills\u002F0.index",[157,160,219,249,275,293],{"title":158,"path":154,"stem":155,"icon":159},"What is Fireskills?","i-lucide-flame",{"title":20,"icon":21,"hide":22,"path":161,"stem":162,"children":163,"page":62},"\u002Fdocs\u002Ffireskills\u002Fgetting-started","docs\u002F2.fireskills\u002F1.getting-started",[164,167,171,175,179,183,187,191,195,199,203,207,211,215],{"title":27,"path":165,"stem":166},"\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fquick-start","docs\u002F2.fireskills\u002F1.getting-started\u002F00.quick-start",{"title":168,"path":169,"stem":170},"Workflow & Governance","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fworkflow","docs\u002F2.fireskills\u002F1.getting-started\u002F01.workflow",{"title":172,"path":173,"stem":174},"Project Context","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fproject-context","docs\u002F2.fireskills\u002F1.getting-started\u002F02.project-context",{"title":176,"path":177,"stem":178},"Step 0: Setup","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-setup","docs\u002F2.fireskills\u002F1.getting-started\u002F03.step-setup",{"title":180,"path":181,"stem":182},"Step 1: Inbox","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-inbox","docs\u002F2.fireskills\u002F1.getting-started\u002F04.step-inbox",{"title":184,"path":185,"stem":186},"Step 2: Backlog","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-backlog","docs\u002F2.fireskills\u002F1.getting-started\u002F05.step-backlog",{"title":188,"path":189,"stem":190},"Step 3: Specify","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-specify","docs\u002F2.fireskills\u002F1.getting-started\u002F06.step-specify",{"title":192,"path":193,"stem":194},"Step 4: Validate","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-validate","docs\u002F2.fireskills\u002F1.getting-started\u002F07.step-validate",{"title":196,"path":197,"stem":198},"Step 5: Tasks","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-tasks","docs\u002F2.fireskills\u002F1.getting-started\u002F08.step-tasks",{"title":200,"path":201,"stem":202},"Step 6: TDD\u002FBDD","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-tdd-bdd","docs\u002F2.fireskills\u002F1.getting-started\u002F09.step-tdd-bdd",{"title":204,"path":205,"stem":206},"Step 7: Implement","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-implement","docs\u002F2.fireskills\u002F1.getting-started\u002F10.step-implement",{"title":208,"path":209,"stem":210},"Step 8: Documentator","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-documentator","docs\u002F2.fireskills\u002F1.getting-started\u002F11.step-documentator",{"title":212,"path":213,"stem":214},"Late Changes","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Flate-changes","docs\u002F2.fireskills\u002F1.getting-started\u002F12.late-changes",{"title":216,"path":217,"stem":218},"Other Entry Points","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fother-entry-points","docs\u002F2.fireskills\u002F1.getting-started\u002F13.other-entry-points",{"title":220,"icon":221,"hide":22,"path":222,"stem":223,"children":224,"page":62},"Methodology","i-lucide-git-branch","\u002Fdocs\u002Ffireskills\u002Fmethodology","docs\u002F2.fireskills\u002F2.methodology",[225,229,233,237,241,245],{"title":226,"path":227,"stem":228},"The Three Acts","\u002Fdocs\u002Ffireskills\u002Fmethodology\u002Fthree-acts","docs\u002F2.fireskills\u002F2.methodology\u002F0.three-acts",{"title":230,"path":231,"stem":232},"The Three Gates","\u002Fdocs\u002Ffireskills\u002Fmethodology\u002Fthree-gates","docs\u002F2.fireskills\u002F2.methodology\u002F1.three-gates",{"title":234,"path":235,"stem":236},"The Canonical Spec","\u002Fdocs\u002Ffireskills\u002Fmethodology\u002Fcanonical-spec","docs\u002F2.fireskills\u002F2.methodology\u002F2.canonical-spec",{"title":238,"path":239,"stem":240},"Lifecycle States","\u002Fdocs\u002Ffireskills\u002Fmethodology\u002Flifecycle-states","docs\u002F2.fireskills\u002F2.methodology\u002F3.lifecycle-states",{"title":242,"path":243,"stem":244},"Effort Scale","\u002Fdocs\u002Ffireskills\u002Fmethodology\u002Feffort-scale","docs\u002F2.fireskills\u002F2.methodology\u002F4.effort-scale",{"title":246,"path":247,"stem":248},"Milestones & Governance","\u002Fdocs\u002Ffireskills\u002Fmethodology\u002Fgovernance-and-milestones","docs\u002F2.fireskills\u002F2.methodology\u002F5.governance-and-milestones",{"title":250,"icon":251,"hide":22,"path":252,"stem":253,"children":254,"page":62},"Skills","i-lucide-layers","\u002Fdocs\u002Ffireskills\u002Fskills","docs\u002F2.fireskills\u002F3.skills",[255,259,263,267,271],{"title":256,"path":257,"stem":258},"Catalog","\u002Fdocs\u002Ffireskills\u002Fskills\u002Fcatalog","docs\u002F2.fireskills\u002F3.skills\u002F0.catalog",{"title":260,"path":261,"stem":262},"Act I: Define","\u002Fdocs\u002Ffireskills\u002Fskills\u002Fact-1-define","docs\u002F2.fireskills\u002F3.skills\u002F1.act-1-define",{"title":264,"path":265,"stem":266},"Act II: Design & Prove","\u002Fdocs\u002Ffireskills\u002Fskills\u002Fact-2-design-prove","docs\u002F2.fireskills\u002F3.skills\u002F2.act-2-design-prove",{"title":268,"path":269,"stem":270},"Act III: Deliver","\u002Fdocs\u002Ffireskills\u002Fskills\u002Fact-3-deliver","docs\u002F2.fireskills\u002F3.skills\u002F3.act-3-deliver",{"title":272,"path":273,"stem":274},"Governance & Decisions","\u002Fdocs\u002Ffireskills\u002Fskills\u002Fgovernance-and-decisions","docs\u002F2.fireskills\u002F3.skills\u002F4.governance-and-decisions",{"title":276,"icon":277,"hide":22,"path":278,"stem":279,"children":280,"page":62},"Specialists","i-lucide-sparkles","\u002Fdocs\u002Ffireskills\u002Fspecialists","docs\u002F2.fireskills\u002F4.specialists",[281,285,289],{"title":282,"path":283,"stem":284},"Overview","\u002Fdocs\u002Ffireskills\u002Fspecialists\u002Foverview","docs\u002F2.fireskills\u002F4.specialists\u002F0.overview",{"title":286,"path":287,"stem":288},"Nuxfire Stack","\u002Fdocs\u002Ffireskills\u002Fspecialists\u002Fnuxfire-stack","docs\u002F2.fireskills\u002F4.specialists\u002F1.nuxfire-stack",{"title":290,"path":291,"stem":292},"Engineering Specialists","\u002Fdocs\u002Ffireskills\u002Fspecialists\u002Fengineering-specialists","docs\u002F2.fireskills\u002F4.specialists\u002F2.engineering-specialists",{"title":294,"icon":295,"hide":22,"path":296,"stem":297,"children":298,"page":62},"CLI & Tooling","i-lucide-terminal","\u002Fdocs\u002Ffireskills\u002Fcli","docs\u002F2.fireskills\u002F5.cli",[299,303,307],{"title":300,"path":301,"stem":302},"CLI Overview","\u002Fdocs\u002Ffireskills\u002Fcli\u002Foverview","docs\u002F2.fireskills\u002F5.cli\u002F0.overview",{"title":304,"path":305,"stem":306},"Commands","\u002Fdocs\u002Ffireskills\u002Fcli\u002Fcommands","docs\u002F2.fireskills\u002F5.cli\u002F1.commands",{"title":308,"path":309,"stem":310},"Safety Scripts","\u002Fdocs\u002Ffireskills\u002Fcli\u002Fgovernance-scripts","docs\u002F2.fireskills\u002F5.cli\u002F2.governance-scripts",{"id":312,"title":126,"body":313,"description":1197,"extension":1198,"meta":1199,"navigation":22,"path":127,"seo":1200,"stem":128,"__hash__":1201},"docs\u002Fdocs\u002F1.saas-starter-kit\u002F2.features\u002F9.internationalization.md",{"type":314,"value":315,"toc":1191},"minimark",[316,323,328,338,341,349,680,684,711,786,790,801,1187],[317,318,319],"blockquote",{},[320,321,322],"p",{},"English, Brazilian Portuguese, and Spanish are pre-configured — add your own languages and translations.",[324,325,327],"h2",{"id":326},"whats-included","What's Included",[329,330,331,335],"ul",{},[332,333,334],"li",{},"Pre-configured locale management across apps and layers",[332,336,337],{},"A dedicated language switcher on the Appearance settings page and in the public navigation bar",[324,339,39],{"id":340},"configuration",[320,342,343,344,348],{},"Locales are configured in ",[345,346,347],"code",{},"nuxt.config.ts",":",[350,351,357],"pre",{"className":352,"code":353,"filename":354,"language":355,"meta":356,"style":356},"language-typescript shiki shiki-themes material-theme-lighter github-light github-dark monokai","i18n: {\n  restructureDir: \"i18n\",\n  defaultLocale: \"en\",\n  strategy: \"no_prefix\",\n  locales: [\n    { name: \"English (US)\", code: \"en\", language: \"en-US\", file: \"en.json\" },\n    {\n      name: \"Português (Brasil)\",\n      code: \"pt-br\",\n      language: \"pt-BR\",\n      file: \"pt-BR.json\",\n    },\n    { name: \"Español\", code: \"es\", language: \"es-ES\", file: \"es.json\" },\n  ],\n  experimental: { typedOptionsAndMessages: \"default\" },\n}\n","apps\u002Fapp\u002Fnuxt.config.ts","typescript","",[345,358,359,374,395,412,429,441,504,510,527,544,561,578,584,641,649,674],{"__ignoreMap":356},[360,361,364,368,371],"span",{"class":362,"line":363},"line",1,[360,365,367],{"class":366},"sQqfL","i18n",[360,369,348],{"class":370},"swvn1",[360,372,373],{"class":370}," {\n",[360,375,377,380,382,386,389,392],{"class":362,"line":376},2,[360,378,379],{"class":366},"  restructureDir",[360,381,348],{"class":370},[360,383,385],{"class":384},"siCPE"," \"",[360,387,367],{"class":388},"sLACW",[360,390,391],{"class":384},"\"",[360,393,394],{"class":370},",\n",[360,396,398,401,403,405,408,410],{"class":362,"line":397},3,[360,399,400],{"class":366},"  defaultLocale",[360,402,348],{"class":370},[360,404,385],{"class":384},[360,406,407],{"class":388},"en",[360,409,391],{"class":384},[360,411,394],{"class":370},[360,413,415,418,420,422,425,427],{"class":362,"line":414},4,[360,416,417],{"class":366},"  strategy",[360,419,348],{"class":370},[360,421,385],{"class":384},[360,423,424],{"class":388},"no_prefix",[360,426,391],{"class":384},[360,428,394],{"class":370},[360,430,432,435,437],{"class":362,"line":431},5,[360,433,434],{"class":366},"  locales",[360,436,348],{"class":370},[360,438,440],{"class":439},"squCx"," [\n",[360,442,444,447,450,452,454,457,459,462,465,467,469,471,473,475,478,480,482,485,487,489,492,494,496,499,501],{"class":362,"line":443},6,[360,445,446],{"class":370},"    {",[360,448,449],{"class":439}," name",[360,451,348],{"class":370},[360,453,385],{"class":384},[360,455,456],{"class":388},"English (US)",[360,458,391],{"class":384},[360,460,461],{"class":370},",",[360,463,464],{"class":439}," code",[360,466,348],{"class":370},[360,468,385],{"class":384},[360,470,407],{"class":388},[360,472,391],{"class":384},[360,474,461],{"class":370},[360,476,477],{"class":439}," language",[360,479,348],{"class":370},[360,481,385],{"class":384},[360,483,484],{"class":388},"en-US",[360,486,391],{"class":384},[360,488,461],{"class":370},[360,490,491],{"class":439}," file",[360,493,348],{"class":370},[360,495,385],{"class":384},[360,497,498],{"class":388},"en.json",[360,500,391],{"class":384},[360,502,503],{"class":370}," },\n",[360,505,507],{"class":362,"line":506},7,[360,508,509],{"class":370},"    {\n",[360,511,513,516,518,520,523,525],{"class":362,"line":512},8,[360,514,515],{"class":439},"      name",[360,517,348],{"class":370},[360,519,385],{"class":384},[360,521,522],{"class":388},"Português (Brasil)",[360,524,391],{"class":384},[360,526,394],{"class":370},[360,528,530,533,535,537,540,542],{"class":362,"line":529},9,[360,531,532],{"class":439},"      code",[360,534,348],{"class":370},[360,536,385],{"class":384},[360,538,539],{"class":388},"pt-br",[360,541,391],{"class":384},[360,543,394],{"class":370},[360,545,547,550,552,554,557,559],{"class":362,"line":546},10,[360,548,549],{"class":439},"      language",[360,551,348],{"class":370},[360,553,385],{"class":384},[360,555,556],{"class":388},"pt-BR",[360,558,391],{"class":384},[360,560,394],{"class":370},[360,562,564,567,569,571,574,576],{"class":362,"line":563},11,[360,565,566],{"class":439},"      file",[360,568,348],{"class":370},[360,570,385],{"class":384},[360,572,573],{"class":388},"pt-BR.json",[360,575,391],{"class":384},[360,577,394],{"class":370},[360,579,581],{"class":362,"line":580},12,[360,582,583],{"class":370},"    },\n",[360,585,587,589,591,593,595,598,600,602,604,606,608,611,613,615,617,619,621,624,626,628,630,632,634,637,639],{"class":362,"line":586},13,[360,588,446],{"class":370},[360,590,449],{"class":439},[360,592,348],{"class":370},[360,594,385],{"class":384},[360,596,597],{"class":388},"Español",[360,599,391],{"class":384},[360,601,461],{"class":370},[360,603,464],{"class":439},[360,605,348],{"class":370},[360,607,385],{"class":384},[360,609,610],{"class":388},"es",[360,612,391],{"class":384},[360,614,461],{"class":370},[360,616,477],{"class":439},[360,618,348],{"class":370},[360,620,385],{"class":384},[360,622,623],{"class":388},"es-ES",[360,625,391],{"class":384},[360,627,461],{"class":370},[360,629,491],{"class":439},[360,631,348],{"class":370},[360,633,385],{"class":384},[360,635,636],{"class":388},"es.json",[360,638,391],{"class":384},[360,640,503],{"class":370},[360,642,644,647],{"class":362,"line":643},14,[360,645,646],{"class":439},"  ]",[360,648,394],{"class":370},[360,650,652,655,657,660,663,665,667,670,672],{"class":362,"line":651},15,[360,653,654],{"class":366},"  experimental",[360,656,348],{"class":370},[360,658,659],{"class":370}," {",[360,661,662],{"class":366}," typedOptionsAndMessages",[360,664,348],{"class":370},[360,666,385],{"class":384},[360,668,669],{"class":388},"default",[360,671,391],{"class":384},[360,673,503],{"class":370},[360,675,677],{"class":362,"line":676},16,[360,678,679],{"class":370},"}\n",[324,681,683],{"id":682},"translation-messages","Translation Messages",[320,685,686,687,690,691,693,694,693,696,698,699,702,703,706,707,710],{},"Translations are structured in ",[345,688,689],{},"i18n\u002Flocales\u002F"," directory as individual JSON files (",[345,692,498],{},", ",[345,695,573],{},[345,697,636],{},") in each app and layer (e.g. ",[345,700,701],{},"apps\u002Fapp\u002Fi18n\u002Flocales\u002F"," and ",[345,704,705],{},"layers\u002F*\u002Fi18n\u002Flocales\u002F","). Runtime configuration in ",[345,708,709],{},"i18n.config.ts"," configures fallback options:",[350,712,715],{"className":352,"code":713,"filename":714,"language":355,"meta":356,"style":356},"export default defineI18nConfig(() => ({\n  legacy: false,\n  fallbackLocale: \"en\",\n}));\n","apps\u002Fapp\u002Fi18n\u002Fi18n.config.ts",[345,716,717,747,760,775],{"__ignoreMap":356},[360,718,719,723,726,730,734,737,741,744],{"class":362,"line":363},[360,720,722],{"class":721},"sRxSC","export",[360,724,725],{"class":721}," default",[360,727,729],{"class":728},"sD0ED"," defineI18nConfig",[360,731,733],{"class":732},"ss--_","(",[360,735,736],{"class":370},"()",[360,738,740],{"class":739},"srJo8"," =>",[360,742,743],{"class":732}," (",[360,745,746],{"class":370},"{\n",[360,748,749,752,754,758],{"class":362,"line":376},[360,750,751],{"class":439},"  legacy",[360,753,348],{"class":370},[360,755,757],{"class":756},"s8HiA"," false",[360,759,394],{"class":370},[360,761,762,765,767,769,771,773],{"class":362,"line":397},[360,763,764],{"class":439},"  fallbackLocale",[360,766,348],{"class":370},[360,768,385],{"class":384},[360,770,407],{"class":388},[360,772,391],{"class":384},[360,774,394],{"class":370},[360,776,777,780,783],{"class":362,"line":414},[360,778,779],{"class":370},"}",[360,781,782],{"class":732},"))",[360,784,785],{"class":370},";\n",[324,787,789],{"id":788},"language-switcher","Language Switcher",[320,791,792,793,743,797,800],{},"In the dashboard, language selection lives in ",[794,795,796],"strong",{},"Account Settings → Appearance",[345,798,799],{},"apps\u002Fapp\u002Fapp\u002Fpages\u002Faccount-settings\u002Fappearance.vue","), alongside theme preferences:",[350,802,806],{"className":803,"code":804,"filename":799,"language":805,"meta":356,"style":356},"language-vue shiki shiki-themes material-theme-lighter github-light github-dark monokai","\u003Cscript setup lang=\"ts\">\nconst { locale, locales, setLocale } = useI18n();\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CUPageCard title=\"Language\" description=\"Choose the language used across Nuxfire.\" variant=\"subtle\">\n    \u003Cdiv class=\"flex flex-col gap-1\">\n      \u003Cbutton\n        v-for=\"item in locales\"\n        :key=\"item.code\"\n        type=\"button\"\n        class=\"flex items-center justify-between gap-3 px-3 py-2 rounded-md transition-colors cursor-pointer\"\n        :class=\"locale === item.code ? 'bg-primary\u002F10 text-primary font-medium' : 'hover:bg-elevated text-default'\"\n        @click=\"setLocale(item.code)\"\n      >\n        \u003Cspan class=\"text-sm\">{{ item.name ?? item.code }}\u003C\u002Fspan>\n        \u003CUIcon v-if=\"locale === item.code\" name=\"i-lucide-check\" class=\"size-4\" \u002F>\n      \u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n  \u003C\u002FUPageCard>\n\u003C\u002Ftemplate>\n","vue",[345,807,808,837,872,881,886,895,941,963,971,986,1000,1014,1028,1042,1056,1061,1091,1148,1158,1168,1178],{"__ignoreMap":356},[360,809,810,813,817,821,824,827,829,832,834],{"class":362,"line":363},[360,811,812],{"class":370},"\u003C",[360,814,816],{"class":815},"sHsBP","script",[360,818,820],{"class":819},"s_lYk"," setup",[360,822,823],{"class":819}," lang",[360,825,826],{"class":370},"=",[360,828,391],{"class":384},[360,830,831],{"class":388},"ts",[360,833,391],{"class":384},[360,835,836],{"class":370},">\n",[360,838,839,842,844,848,850,853,855,858,861,865,868,870],{"class":362,"line":376},[360,840,841],{"class":739},"const",[360,843,659],{"class":370},[360,845,847],{"class":846},"s91G_"," locale",[360,849,461],{"class":370},[360,851,852],{"class":846}," locales",[360,854,461],{"class":370},[360,856,857],{"class":846}," setLocale",[360,859,860],{"class":370}," }",[360,862,864],{"class":863},"sGXK2"," =",[360,866,867],{"class":728}," useI18n",[360,869,736],{"class":732},[360,871,785],{"class":370},[360,873,874,877,879],{"class":362,"line":397},[360,875,876],{"class":370},"\u003C\u002F",[360,878,816],{"class":815},[360,880,836],{"class":370},[360,882,883],{"class":362,"line":414},[360,884,885],{"emptyLinePlaceholder":22},"\n",[360,887,888,890,893],{"class":362,"line":431},[360,889,812],{"class":370},[360,891,892],{"class":815},"template",[360,894,836],{"class":370},[360,896,897,900,903,906,908,910,913,915,918,920,922,925,927,930,932,934,937,939],{"class":362,"line":443},[360,898,899],{"class":370},"  \u003C",[360,901,902],{"class":815},"UPageCard",[360,904,905],{"class":819}," title",[360,907,826],{"class":370},[360,909,391],{"class":384},[360,911,912],{"class":388},"Language",[360,914,391],{"class":384},[360,916,917],{"class":819}," description",[360,919,826],{"class":370},[360,921,391],{"class":384},[360,923,924],{"class":388},"Choose the language used across Nuxfire.",[360,926,391],{"class":384},[360,928,929],{"class":819}," variant",[360,931,826],{"class":370},[360,933,391],{"class":384},[360,935,936],{"class":388},"subtle",[360,938,391],{"class":384},[360,940,836],{"class":370},[360,942,943,946,949,952,954,956,959,961],{"class":362,"line":506},[360,944,945],{"class":370},"    \u003C",[360,947,948],{"class":815},"div",[360,950,951],{"class":819}," class",[360,953,826],{"class":370},[360,955,391],{"class":384},[360,957,958],{"class":388},"flex flex-col gap-1",[360,960,391],{"class":384},[360,962,836],{"class":370},[360,964,965,968],{"class":362,"line":512},[360,966,967],{"class":370},"      \u003C",[360,969,970],{"class":815},"button\n",[360,972,973,976,978,980,983],{"class":362,"line":529},[360,974,975],{"class":819},"        v-for",[360,977,826],{"class":370},[360,979,391],{"class":384},[360,981,982],{"class":388},"item in locales",[360,984,985],{"class":384},"\"\n",[360,987,988,991,993,995,998],{"class":362,"line":546},[360,989,990],{"class":819},"        :key",[360,992,826],{"class":370},[360,994,391],{"class":384},[360,996,997],{"class":388},"item.code",[360,999,985],{"class":384},[360,1001,1002,1005,1007,1009,1012],{"class":362,"line":563},[360,1003,1004],{"class":819},"        type",[360,1006,826],{"class":370},[360,1008,391],{"class":384},[360,1010,1011],{"class":388},"button",[360,1013,985],{"class":384},[360,1015,1016,1019,1021,1023,1026],{"class":362,"line":580},[360,1017,1018],{"class":819},"        class",[360,1020,826],{"class":370},[360,1022,391],{"class":384},[360,1024,1025],{"class":388},"flex items-center justify-between gap-3 px-3 py-2 rounded-md transition-colors cursor-pointer",[360,1027,985],{"class":384},[360,1029,1030,1033,1035,1037,1040],{"class":362,"line":586},[360,1031,1032],{"class":819},"        :class",[360,1034,826],{"class":370},[360,1036,391],{"class":384},[360,1038,1039],{"class":388},"locale === item.code ? 'bg-primary\u002F10 text-primary font-medium' : 'hover:bg-elevated text-default'",[360,1041,985],{"class":384},[360,1043,1044,1047,1049,1051,1054],{"class":362,"line":643},[360,1045,1046],{"class":819},"        @click",[360,1048,826],{"class":370},[360,1050,391],{"class":384},[360,1052,1053],{"class":388},"setLocale(item.code)",[360,1055,985],{"class":384},[360,1057,1058],{"class":362,"line":651},[360,1059,1060],{"class":370},"      >\n",[360,1062,1063,1066,1068,1070,1072,1074,1077,1079,1082,1085,1087,1089],{"class":362,"line":676},[360,1064,1065],{"class":370},"        \u003C",[360,1067,360],{"class":815},[360,1069,951],{"class":819},[360,1071,826],{"class":370},[360,1073,391],{"class":384},[360,1075,1076],{"class":388},"text-sm",[360,1078,391],{"class":384},[360,1080,1081],{"class":370},">",[360,1083,1084],{"class":732},"{{ item.name ?? item.code }}",[360,1086,876],{"class":370},[360,1088,360],{"class":815},[360,1090,836],{"class":370},[360,1092,1094,1096,1099,1102,1104,1107,1110,1113,1116,1119,1121,1123,1125,1127,1129,1132,1134,1136,1138,1140,1143,1145],{"class":362,"line":1093},17,[360,1095,1065],{"class":370},[360,1097,1098],{"class":815},"UIcon",[360,1100,1101],{"class":721}," v-if",[360,1103,826],{"class":370},[360,1105,391],{"class":1106},"s00De",[360,1108,1109],{"class":732},"locale",[360,1111,1112],{"class":863}," ===",[360,1114,1115],{"class":732}," item",[360,1117,1118],{"class":370},".",[360,1120,345],{"class":732},[360,1122,391],{"class":1106},[360,1124,449],{"class":819},[360,1126,826],{"class":370},[360,1128,391],{"class":384},[360,1130,1131],{"class":388},"i-lucide-check",[360,1133,391],{"class":384},[360,1135,951],{"class":819},[360,1137,826],{"class":370},[360,1139,391],{"class":384},[360,1141,1142],{"class":388},"size-4",[360,1144,391],{"class":384},[360,1146,1147],{"class":370}," \u002F>\n",[360,1149,1151,1154,1156],{"class":362,"line":1150},18,[360,1152,1153],{"class":370},"      \u003C\u002F",[360,1155,1011],{"class":815},[360,1157,836],{"class":370},[360,1159,1161,1164,1166],{"class":362,"line":1160},19,[360,1162,1163],{"class":370},"    \u003C\u002F",[360,1165,948],{"class":815},[360,1167,836],{"class":370},[360,1169,1171,1174,1176],{"class":362,"line":1170},20,[360,1172,1173],{"class":370},"  \u003C\u002F",[360,1175,902],{"class":815},[360,1177,836],{"class":370},[360,1179,1181,1183,1185],{"class":362,"line":1180},21,[360,1182,876],{"class":370},[360,1184,892],{"class":815},[360,1186,836],{"class":370},[1188,1189,1190],"style",{},"html pre.shiki code .sQqfL, html code.shiki .sQqfL{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#F8F8F2}html pre.shiki code .swvn1, html code.shiki .swvn1{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .siCPE, html code.shiki .siCPE{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}html pre.shiki code .sLACW, html code.shiki .sLACW{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}html pre.shiki code .squCx, html code.shiki .squCx{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html pre.shiki code .sRxSC, html code.shiki .sRxSC{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit;--shiki-sepia:#F92672;--shiki-sepia-font-style:inherit}html pre.shiki code .sD0ED, html code.shiki .sD0ED{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .ss--_, html code.shiki .ss--_{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .srJo8, html code.shiki .srJo8{--shiki-light:#9C3EDA;--shiki-light-font-style:inherit;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .s8HiA, html code.shiki .s8HiA{--shiki-light:#FF5370;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html pre.shiki code .sHsBP, html code.shiki .sHsBP{--shiki-light:#E53935;--shiki-default:#22863A;--shiki-dark:#85E89D;--shiki-sepia:#F92672}html pre.shiki code .s_lYk, html code.shiki .s_lYk{--shiki-light:#9C3EDA;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .s91G_, html code.shiki .s91G_{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#F8F8F2}html pre.shiki code .sGXK2, html code.shiki .sGXK2{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .s00De, html code.shiki .s00De{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#F8F8F2}",{"title":356,"searchDepth":376,"depth":376,"links":1192},[1193,1194,1195,1196],{"id":326,"depth":376,"text":327},{"id":340,"depth":376,"text":39},{"id":682,"depth":376,"text":683},{"id":788,"depth":376,"text":789},"Nuxfire includes internationalization support using @nuxtjs\u002Fi18n, making it easy to serve your application in multiple languages.","md",{},{"title":126,"description":1197},"5BaRW3if619z08J0Nd37q-VFgHltx2CIDSv08aCp0C4",1790707485288]