[{"data":1,"prerenderedAt":3951},["ShallowReactive",2],{"navigation":3,"v3-navigation":411,"\u002Fintegrations\u002Freact-package":738,"\u002Fintegrations\u002Freact-package-surround":3946},[4,130,180,277,298,319,346],{"title":5,"order":6,"path":7,"stem":8,"children":9,"page":129},"Guide",10,"\u002Fguide","guide",[10,14,19,24,29,35,40,45,50,56,61,66,71,76,82,87,93,98,103,109,114,119,124],{"title":11,"path":12,"stem":13,"order":6,"group":11},"Getting started","\u002Fguide\u002Fgetting-started","guide\u002Fgetting-started",{"title":15,"path":16,"stem":17,"order":18,"group":11},"Migrating from @nuxtjs\u002Fi18n","\u002Fguide\u002Fmigration","guide\u002Fmigration",20,{"title":20,"path":21,"stem":22,"order":23,"group":11},"Upgrading","\u002Fguide\u002Fupgrade","guide\u002Fupgrade",30,{"title":25,"path":26,"stem":27,"order":28,"group":11},"FAQ","\u002Fguide\u002Ffaq","guide\u002Ffaq",40,{"title":30,"path":31,"stem":32,"order":33,"group":34},"Translation files","\u002Fguide\u002Ftranslations","guide\u002Ftranslations",50,"Core concepts",{"title":36,"path":37,"stem":38,"order":39,"group":34},"Page config","\u002Fguide\u002Fper-component-translations","guide\u002Fper-component-translations",60,{"title":41,"path":42,"stem":43,"order":44,"group":34},"Runtime overrides","\u002Fguide\u002Fruntime-overrides","guide\u002Fruntime-overrides",70,{"title":46,"path":47,"stem":48,"order":49,"group":34},"Server routes and API","\u002Fguide\u002Fserver-side-translations","guide\u002Fserver-side-translations",80,{"title":51,"path":52,"stem":53,"order":54,"group":55},"Routing strategies","\u002Fguide\u002Fstrategy","guide\u002Fstrategy",90,"Routing",{"title":57,"path":58,"stem":59,"order":60,"group":55},"Locale detection","\u002Fguide\u002Flocale-detection","guide\u002Flocale-detection",100,{"title":62,"path":63,"stem":64,"order":65,"group":55},"Localized paths","\u002Fguide\u002Fcustom-locale-routes","guide\u002Fcustom-locale-routes",110,{"title":67,"path":68,"stem":69,"order":70,"group":55},"Custom locale detection","\u002Fguide\u002Fcustom-auto-detect","guide\u002Fcustom-auto-detect",120,{"title":72,"path":73,"stem":74,"order":75,"group":55},"Excluding paths","\u002Fguide\u002Fexcluding-static-files","guide\u002Fexcluding-static-files",130,{"title":77,"path":78,"stem":79,"order":80,"group":81},"SEO","\u002Fguide\u002Fseo","guide\u002Fseo",140,"SEO and domains",{"title":83,"path":84,"stem":85,"order":86,"group":81},"Layers and domains","\u002Fguide\u002Flayers","guide\u002Flayers",150,{"title":88,"path":89,"stem":90,"order":91,"group":92},"Deployment","\u002Fguide\u002Fdeployment","guide\u002Fdeployment",160,"Production",{"title":94,"path":95,"stem":96,"order":97,"group":92},"Performance tuning","\u002Fguide\u002Fperformance","guide\u002Fperformance",170,{"title":99,"path":100,"stem":101,"order":102,"group":92},"Performance Test Results","\u002Fguide\u002Fperformance-results","guide\u002Fperformance-results",180,{"title":104,"path":105,"stem":106,"order":107,"group":108},"DevTools","\u002Fguide\u002Fdevtools","guide\u002Fdevtools",190,"Tooling",{"title":110,"path":111,"stem":112,"order":113,"group":108},"CLI","\u002Fguide\u002Fcli","guide\u002Fcli",200,{"title":115,"path":116,"stem":117,"order":118,"group":108},"Testing your app","\u002Fguide\u002Ftesting","guide\u002Ftesting",210,{"title":120,"path":121,"stem":122,"order":123,"group":108},"Storybook","\u002Fguide\u002Fstorybook","guide\u002Fstorybook",220,{"title":125,"path":126,"stem":127,"order":128,"group":108},"Crowdin","\u002Fguide\u002Fcrowdin","guide\u002Fcrowdin",230,false,{"title":131,"order":18,"path":132,"stem":133,"children":134},"Frameworks","\u002Fintegrations","integrations",[135,138,143,147,151,155,159,163,168,172,176],{"title":136,"path":132,"stem":137,"order":6},"Overview","integrations\u002Findex",{"title":139,"path":140,"stem":141,"order":18,"group":142},"Vue","\u002Fintegrations\u002Fvue-package","integrations\u002Fvue-package","UI frameworks",{"title":144,"path":145,"stem":146,"order":23,"group":142},"React and Preact","\u002Fintegrations\u002Freact-package","integrations\u002Freact-package",{"title":148,"path":149,"stem":150,"order":28,"group":142},"Solid","\u002Fintegrations\u002Fsolid-package","integrations\u002Fsolid-package",{"title":152,"path":153,"stem":154,"order":33,"group":142},"Astro","\u002Fintegrations\u002Fastro-package","integrations\u002Fastro-package",{"title":156,"path":157,"stem":158,"order":39,"group":142},"Astro islands","\u002Fintegrations\u002Fastro-islands","integrations\u002Fastro-islands",{"title":160,"path":161,"stem":162,"order":44,"group":142},"VitePress","\u002Fintegrations\u002Fvitepress-package","integrations\u002Fvitepress-package",{"title":164,"path":165,"stem":166,"order":49,"group":167},"Runtime","\u002Fintegrations\u002Fruntime-package","integrations\u002Fruntime-package","Runtimes",{"title":169,"path":170,"stem":171,"order":54,"group":167},"Node.js","\u002Fintegrations\u002Fnodejs-package","integrations\u002Fnodejs-package",{"title":173,"path":174,"stem":175,"order":60,"group":108},"Types generator","\u002Fintegrations\u002Ftypes-generator","integrations\u002Ftypes-generator",{"title":177,"path":178,"stem":179,"order":65,"group":108},"DevTools UI","\u002Fintegrations\u002Fdevtools-ui-package","integrations\u002Fdevtools-ui-package",{"title":181,"order":23,"path":182,"stem":183,"children":184},"API","\u002Fapi","api",[185,188,192,196,200,204],{"title":186,"path":182,"stem":187,"order":6},"API reference","api\u002Findex",{"title":189,"path":190,"stem":191,"order":18},"Module options","\u002Fapi\u002Fmodule-options","api\u002Fmodule-options",{"title":193,"path":194,"stem":195,"order":23},"CLI commands","\u002Fapi\u002Fcli","api\u002Fcli",{"title":197,"path":198,"stem":199,"order":28},"Helpers","\u002Fapi\u002Fmethods","api\u002Fmethods",{"title":201,"path":202,"stem":203,"order":33},"Hooks","\u002Fapi\u002Fevents","api\u002Fevents",{"title":205,"path":206,"stem":207,"children":208,"order":39},"Package APIs","\u002Fapi\u002Fpackages","api\u002Fpackages",[209,213,217,221,225,229,233,237,241,245,249,253,257,261,265,269,273],{"title":210,"path":211,"stem":212},"astro","\u002Fapi\u002Fpackages\u002Fastro","api\u002Fpackages\u002Fastro",{"title":214,"path":215,"stem":216},"cli","\u002Fapi\u002Fpackages\u002Fcli","api\u002Fpackages\u002Fcli",{"title":218,"path":219,"stem":220},"core","\u002Fapi\u002Fpackages\u002Fcore","api\u002Fpackages\u002Fcore",{"title":222,"path":223,"stem":224},"devtools-ui","\u002Fapi\u002Fpackages\u002Fdevtools-ui","api\u002Fpackages\u002Fdevtools-ui",{"title":226,"path":227,"stem":228},"node","\u002Fapi\u002Fpackages\u002Fnode","api\u002Fpackages\u002Fnode",{"title":230,"path":231,"stem":232},"path-strategy","\u002Fapi\u002Fpackages\u002Fpath-strategy","api\u002Fpackages\u002Fpath-strategy",{"title":234,"path":235,"stem":236},"preact","\u002Fapi\u002Fpackages\u002Fpreact","api\u002Fpackages\u002Fpreact",{"title":238,"path":239,"stem":240},"react","\u002Fapi\u002Fpackages\u002Freact","api\u002Fpackages\u002Freact",{"title":242,"path":243,"stem":244},"route-strategy","\u002Fapi\u002Fpackages\u002Froute-strategy","api\u002Fpackages\u002Froute-strategy",{"title":246,"path":247,"stem":248},"runtime","\u002Fapi\u002Fpackages\u002Fruntime","api\u002Fpackages\u002Fruntime",{"title":250,"path":251,"stem":252},"solid","\u002Fapi\u002Fpackages\u002Fsolid","api\u002Fpackages\u002Fsolid",{"title":254,"path":255,"stem":256},"test-utils","\u002Fapi\u002Fpackages\u002Ftest-utils","api\u002Fpackages\u002Ftest-utils",{"title":258,"path":259,"stem":260},"types","\u002Fapi\u002Fpackages\u002Ftypes","api\u002Fpackages\u002Ftypes",{"title":262,"path":263,"stem":264},"types-generator","\u002Fapi\u002Fpackages\u002Ftypes-generator","api\u002Fpackages\u002Ftypes-generator",{"title":266,"path":267,"stem":268},"utils","\u002Fapi\u002Fpackages\u002Futils","api\u002Fpackages\u002Futils",{"title":270,"path":271,"stem":272},"vitepress","\u002Fapi\u002Fpackages\u002Fvitepress","api\u002Fpackages\u002Fvitepress",{"title":274,"path":275,"stem":276},"vue","\u002Fapi\u002Fpackages\u002Fvue","api\u002Fpackages\u002Fvue",{"title":278,"order":28,"path":279,"stem":280,"children":281,"page":129},"Composables","\u002Fcomposables","composables",[282,286,290,294],{"title":283,"path":284,"stem":285,"order":6},"useI18n","\u002Fcomposables\u002FuseI18n","composables\u002FuseI18n",{"title":287,"path":288,"stem":289,"order":18},"useI18nLocale","\u002Fcomposables\u002FuseI18nLocale","composables\u002FuseI18nLocale",{"title":291,"path":292,"stem":293,"order":23},"useI18nHead","\u002Fcomposables\u002FuseI18nHead","composables\u002FuseI18nHead",{"title":295,"path":296,"stem":297,"order":28},"useLocaleHead","\u002Fcomposables\u002FuseLocaleHead","composables\u002FuseLocaleHead",{"title":299,"order":33,"path":300,"stem":301,"children":302,"page":129},"Components","\u002Fcomponents","components",[303,307,311,315],{"title":304,"path":305,"stem":306,"order":6},"\u003Ci18n-t>","\u002Fcomponents\u002Fi18n-t","components\u002Fi18n-t",{"title":308,"path":309,"stem":310,"order":18},"\u003Ci18n-link>","\u002Fcomponents\u002Fi18n-link","components\u002Fi18n-link",{"title":312,"path":313,"stem":314,"order":23},"\u003Ci18n-switcher>","\u002Fcomponents\u002Fi18n-switcher","components\u002Fi18n-switcher",{"title":316,"path":317,"stem":318,"order":28},"\u003Ci18n-group>","\u002Fcomponents\u002Fi18n-group","components\u002Fi18n-group",{"title":320,"order":39,"path":321,"stem":322,"children":323},"Contributing","\u002Fcontributing","contributing",[324,326,330,334,338,342],{"title":320,"path":321,"stem":325,"order":6},"contributing\u002Findex",{"title":327,"path":328,"stem":329,"order":18},"Architecture","\u002Fcontributing\u002Farchitecture","contributing\u002Farchitecture",{"title":331,"path":332,"stem":333,"order":23},"Testing the module","\u002Fcontributing\u002Ftesting","contributing\u002Ftesting",{"title":335,"path":336,"stem":337,"order":28},"Maintenance commands","\u002Fcontributing\u002Fmaintenance-commands","contributing\u002Fmaintenance-commands",{"title":339,"path":340,"stem":341,"order":33},"Release smoke checks","\u002Fcontributing\u002Frelease-smoke","contributing\u002Frelease-smoke",{"title":343,"path":344,"stem":345,"order":39},"Benchmark methodology","\u002Fcontributing\u002Fperformance-methodology","contributing\u002Fperformance-methodology",{"title":347,"path":348,"stem":349,"children":350,"order":44},"News","\u002Fnews","news\u002Findex",[351,354,359,363,367,371,375,379,383,387,391,395,399,403,407],{"title":352,"path":348,"stem":349,"order":353},"News & Releases",1,{"title":355,"path":356,"stem":357,"order":358},"v4.1.0","\u002Fnews\u002Fv4.1.0","news\u002Fv4.1.0",9,{"title":360,"path":361,"stem":362,"order":6},"v4.0.0","\u002Fnews\u002Fv4.0.0","news\u002Fv4.0.0",{"title":364,"path":365,"stem":366,"order":18},"v3.24.0","\u002Fnews\u002Fv3.24.0","news\u002Fv3.24.0",{"title":368,"path":369,"stem":370,"order":23},"v3.22.0","\u002Fnews\u002Fv3.22.0","news\u002Fv3.22.0",{"title":372,"path":373,"stem":374,"order":28},"v3.21.0","\u002Fnews\u002Fv3.21.0","news\u002Fv3.21.0",{"title":376,"path":377,"stem":378,"order":33},"v3.20.0","\u002Fnews\u002Fv3.20.0","news\u002Fv3.20.0",{"title":380,"path":381,"stem":382,"order":39},"v3.19.0","\u002Fnews\u002Fv3.19.0","news\u002Fv3.19.0",{"title":384,"path":385,"stem":386,"order":44},"v3.0.0","\u002Fnews\u002Fv3.0.0","news\u002Fv3.0.0",{"title":388,"path":389,"stem":390,"order":49},"v2.14.1","\u002Fnews\u002Fv2.14.1","news\u002Fv2.14.1",{"title":392,"path":393,"stem":394,"order":54},"v2.0.0","\u002Fnews\u002Fv2.0.0","news\u002Fv2.0.0",{"title":396,"path":397,"stem":398,"order":60},"v1.73.0","\u002Fnews\u002Fv1.73.0","news\u002Fv1.73.0",{"title":400,"path":401,"stem":402,"order":65},"v1.65.0","\u002Fnews\u002Fv1.65.0","news\u002Fv1.65.0",{"title":404,"path":405,"stem":406,"order":70},"v1.58.0","\u002Fnews\u002Fv1.58.0","news\u002Fv1.58.0",{"title":408,"path":409,"stem":410,"order":75},"v1.1.0","\u002Fnews\u002Fv1.1.0","news\u002Fv1.1.0",[412],{"title":413,"path":414,"stem":415,"children":416},"V3","\u002Fv3","v3",[417,420,557,603,696,717,734],{"title":136,"path":414,"stem":418,"order":419},"v3\u002Findex",0,{"title":5,"order":6,"path":421,"stem":422,"children":423,"page":129},"\u002Fv3\u002Fguide","v3\u002Fguide",[424,429,433,437,441,446,450,454,458,462,466,470,474,478,483,487,492,496,500,504,508,512,516,519,523,527,532,538,543,547,552],{"title":425,"path":426,"stem":427,"order":6,"group":428},"Getting Started","\u002Fv3\u002Fguide\u002Fgetting-started","v3\u002Fguide\u002Fgetting-started","Basics",{"title":430,"path":431,"stem":432,"order":18,"group":428},"Configuration","\u002Fv3\u002Fguide\u002Fconfiguration","v3\u002Fguide\u002Fconfiguration",{"title":434,"path":435,"stem":436,"order":23,"group":428},"Folder Structure","\u002Fv3\u002Fguide\u002Ffolder-structure","v3\u002Fguide\u002Ffolder-structure",{"title":438,"path":439,"stem":440,"order":28,"group":428},"Routing Strategy","\u002Fv3\u002Fguide\u002Fstrategy","v3\u002Fguide\u002Fstrategy",{"title":442,"path":443,"stem":444,"order":33,"group":445},"Translating Content","\u002Fv3\u002Fguide\u002Fusing","v3\u002Fguide\u002Fusing","Usage",{"title":447,"path":448,"stem":449,"order":39,"group":445},"Per Component Translations","\u002Fv3\u002Fguide\u002Fper-component-translations","v3\u002Fguide\u002Fper-component-translations",{"title":451,"path":452,"stem":453,"order":44,"group":445},"Custom Localized Routes","\u002Fv3\u002Fguide\u002Fcustom-locale-routes","v3\u002Fguide\u002Fcustom-locale-routes",{"title":455,"path":456,"stem":457,"order":49,"group":445},"Custom Auto Detect","\u002Fv3\u002Fguide\u002Fcustom-auto-detect","v3\u002Fguide\u002Fcustom-auto-detect",{"title":459,"path":460,"stem":461,"order":54,"group":445},"Runtime Overrides","\u002Fv3\u002Fguide\u002Fruntime-overrides","v3\u002Fguide\u002Fruntime-overrides",{"title":463,"path":464,"stem":465,"order":60,"group":445},"Layers","\u002Fv3\u002Fguide\u002Flayers","v3\u002Fguide\u002Flayers",{"title":77,"path":467,"stem":468,"order":65,"group":469},"\u002Fv3\u002Fguide\u002Fseo","v3\u002Fguide\u002Fseo","SEO & URLs",{"title":471,"path":472,"stem":473,"order":70,"group":469},"Multi Domain Locales","\u002Fv3\u002Fguide\u002Fmulti-domain-locales","v3\u002Fguide\u002Fmulti-domain-locales",{"title":475,"path":476,"stem":477,"order":75,"group":469},"Excluding Static Files","\u002Fv3\u002Fguide\u002Fexcluding-static-files","v3\u002Fguide\u002Fexcluding-static-files",{"title":479,"path":480,"stem":481,"order":80,"group":482},"Performance","\u002Fv3\u002Fguide\u002Fperformance","v3\u002Fguide\u002Fperformance","Performance & Deployment",{"title":484,"path":485,"stem":486,"order":86,"group":482},"Benchmark Results","\u002Fv3\u002Fguide\u002Fperformance-results","v3\u002Fguide\u002Fperformance-results",{"title":488,"path":489,"stem":490,"order":491,"group":482},"Performance methodology","\u002Fv3\u002Fguide\u002Fperformance-methodology","v3\u002Fguide\u002Fperformance-methodology",155,{"title":493,"path":494,"stem":495,"order":91,"group":482},"Server Side Translations","\u002Fv3\u002Fguide\u002Fserver-side-translations","v3\u002Fguide\u002Fserver-side-translations",{"title":497,"path":498,"stem":499,"order":97,"group":482},"Firebase Deployment","\u002Fv3\u002Fguide\u002Ffirebase","v3\u002Fguide\u002Ffirebase",{"title":501,"path":502,"stem":503,"order":102,"group":482},"Release Smoke Checks","\u002Fv3\u002Fguide\u002Frelease-smoke","v3\u002Fguide\u002Frelease-smoke",{"title":505,"path":506,"stem":507,"order":107,"group":482},"Preset local testing","\u002Fv3\u002Fguide\u002Fpreset-local-testing","v3\u002Fguide\u002Fpreset-local-testing",{"title":509,"path":510,"stem":511,"order":113,"group":482},"Maintenance Commands","\u002Fv3\u002Fguide\u002Fmaintenance-commands","v3\u002Fguide\u002Fmaintenance-commands",{"title":513,"path":514,"stem":515,"order":118,"group":108},"CLI Tool","\u002Fv3\u002Fguide\u002Fcli","v3\u002Fguide\u002Fcli",{"title":104,"path":517,"stem":518,"order":123,"group":108},"\u002Fv3\u002Fguide\u002Fdevtools","v3\u002Fguide\u002Fdevtools",{"title":520,"path":521,"stem":522,"order":128,"group":108},"Testing Your App","\u002Fv3\u002Fguide\u002Ftesting","v3\u002Fguide\u002Ftesting",{"title":120,"path":524,"stem":525,"order":526,"group":108},"\u002Fv3\u002Fguide\u002Fstorybook","v3\u002Fguide\u002Fstorybook",240,{"title":528,"path":529,"stem":530,"order":531,"group":108},"Crowdin Integration","\u002Fv3\u002Fguide\u002Fcrowdin","v3\u002Fguide\u002Fcrowdin",250,{"title":533,"path":534,"stem":535,"order":536,"group":537},"Migration from nuxt-i18n","\u002Fv3\u002Fguide\u002Fmigration","v3\u002Fguide\u002Fmigration",260,"Migration & Help",{"title":539,"path":540,"stem":541,"order":542,"group":537},"Upgrade to v3","\u002Fv3\u002Fguide\u002Fv3-upgrade","v3\u002Fguide\u002Fv3-upgrade",270,{"title":25,"path":544,"stem":545,"order":546,"group":537},"\u002Fv3\u002Fguide\u002Ffaq","v3\u002Fguide\u002Ffaq",280,{"title":548,"path":549,"stem":550,"order":551,"group":537},"Contribution","\u002Fv3\u002Fguide\u002Fcontribution","v3\u002Fguide\u002Fcontribution",290,{"title":553,"path":554,"stem":555,"order":556,"group":537},"Testing the Module","\u002Fv3\u002Fguide\u002Ftesting-strategies","v3\u002Fguide\u002Ftesting-strategies",300,{"title":558,"order":18,"path":559,"stem":560,"children":561},"Integrations","\u002Fv3\u002Fintegrations","v3\u002Fintegrations\u002Findex",[562,563,567,571,575,579,583,587,591,595,599],{"title":136,"path":559,"stem":560,"order":6},{"title":564,"path":565,"stem":566,"order":18},"Vue Package","\u002Fv3\u002Fintegrations\u002Fvue-package","v3\u002Fintegrations\u002Fvue-package",{"title":568,"path":569,"stem":570,"order":23},"React Package","\u002Fv3\u002Fintegrations\u002Freact-package","v3\u002Fintegrations\u002Freact-package",{"title":572,"path":573,"stem":574,"order":28},"Preact Package","\u002Fv3\u002Fintegrations\u002Fpreact-package","v3\u002Fintegrations\u002Fpreact-package",{"title":576,"path":577,"stem":578,"order":33},"Solid Package","\u002Fv3\u002Fintegrations\u002Fsolid-package","v3\u002Fintegrations\u002Fsolid-package",{"title":580,"path":581,"stem":582,"order":39},"Astro Package","\u002Fv3\u002Fintegrations\u002Fastro-package","v3\u002Fintegrations\u002Fastro-package",{"title":584,"path":585,"stem":586,"order":44},"VitePress Package","\u002Fv3\u002Fintegrations\u002Fvitepress-package","v3\u002Fintegrations\u002Fvitepress-package",{"title":588,"path":589,"stem":590,"order":49},"Runtime Package","\u002Fv3\u002Fintegrations\u002Fruntime-package","v3\u002Fintegrations\u002Fruntime-package",{"title":592,"path":593,"stem":594,"order":54},"Node.js Package","\u002Fv3\u002Fintegrations\u002Fnodejs-package","v3\u002Fintegrations\u002Fnodejs-package",{"title":596,"path":597,"stem":598,"order":60},"Types Generator","\u002Fv3\u002Fintegrations\u002Ftypes-generator","v3\u002Fintegrations\u002Ftypes-generator",{"title":600,"path":601,"stem":602,"order":65},"Devtools Package","\u002Fv3\u002Fintegrations\u002Fdevtools-ui-package","v3\u002Fintegrations\u002Fdevtools-ui-package",{"title":181,"order":23,"path":604,"stem":605,"children":606},"\u002Fv3\u002Fapi","v3\u002Fapi\u002Findex",[607,608,612,616,620,624],{"title":136,"path":604,"stem":605,"order":6},{"title":609,"path":610,"stem":611,"order":18},"Methods","\u002Fv3\u002Fapi\u002Fmethods","v3\u002Fapi\u002Fmethods",{"title":613,"path":614,"stem":615,"order":23},"Events","\u002Fv3\u002Fapi\u002Fevents","v3\u002Fapi\u002Fevents",{"title":617,"path":618,"stem":619,"order":28},"Translations and Cache","\u002Fv3\u002Fapi\u002Fi18n-cache-api","v3\u002Fapi\u002Fi18n-cache-api",{"title":621,"path":622,"stem":623,"order":33},"Module Options","\u002Fv3\u002Fapi\u002Fmodule-options","v3\u002Fapi\u002Fmodule-options",{"title":205,"path":625,"stem":626,"children":627,"order":39},"\u002Fv3\u002Fapi\u002Fpackages","v3\u002Fapi\u002Fpackages",[628,632,636,640,644,648,652,656,660,664,668,672,676,680,684,688,692],{"title":629,"path":630,"stem":631},"@i18n-micro\u002Fastro","\u002Fv3\u002Fapi\u002Fpackages\u002Fastro","v3\u002Fapi\u002Fpackages\u002Fastro",{"title":633,"path":634,"stem":635},"@i18n-micro\u002Fcore","\u002Fv3\u002Fapi\u002Fpackages\u002Fcore","v3\u002Fapi\u002Fpackages\u002Fcore",{"title":637,"path":638,"stem":639},"@i18n-micro\u002Fdevtools-ui","\u002Fv3\u002Fapi\u002Fpackages\u002Fdevtools-ui","v3\u002Fapi\u002Fpackages\u002Fdevtools-ui",{"title":641,"path":642,"stem":643},"@i18n-micro\u002Fhmr","\u002Fv3\u002Fapi\u002Fpackages\u002Fhmr","v3\u002Fapi\u002Fpackages\u002Fhmr",{"title":645,"path":646,"stem":647},"@i18n-micro\u002Fnode","\u002Fv3\u002Fapi\u002Fpackages\u002Fnode","v3\u002Fapi\u002Fpackages\u002Fnode",{"title":649,"path":650,"stem":651},"@i18n-micro\u002Fpath-strategy","\u002Fv3\u002Fapi\u002Fpackages\u002Fpath-strategy","v3\u002Fapi\u002Fpackages\u002Fpath-strategy",{"title":653,"path":654,"stem":655},"@i18n-micro\u002Fpreact","\u002Fv3\u002Fapi\u002Fpackages\u002Fpreact","v3\u002Fapi\u002Fpackages\u002Fpreact",{"title":657,"path":658,"stem":659},"@i18n-micro\u002Freact","\u002Fv3\u002Fapi\u002Fpackages\u002Freact","v3\u002Fapi\u002Fpackages\u002Freact",{"title":661,"path":662,"stem":663},"@i18n-micro\u002Froute-strategy","\u002Fv3\u002Fapi\u002Fpackages\u002Froute-strategy","v3\u002Fapi\u002Fpackages\u002Froute-strategy",{"title":665,"path":666,"stem":667},"@i18n-micro\u002Fruntime","\u002Fv3\u002Fapi\u002Fpackages\u002Fruntime","v3\u002Fapi\u002Fpackages\u002Fruntime",{"title":669,"path":670,"stem":671},"@i18n-micro\u002Fsolid","\u002Fv3\u002Fapi\u002Fpackages\u002Fsolid","v3\u002Fapi\u002Fpackages\u002Fsolid",{"title":673,"path":674,"stem":675},"@i18n-micro\u002Ftest-utils","\u002Fv3\u002Fapi\u002Fpackages\u002Ftest-utils","v3\u002Fapi\u002Fpackages\u002Ftest-utils",{"title":677,"path":678,"stem":679},"@i18n-micro\u002Ftypes","\u002Fv3\u002Fapi\u002Fpackages\u002Ftypes","v3\u002Fapi\u002Fpackages\u002Ftypes",{"title":681,"path":682,"stem":683},"@i18n-micro\u002Ftypes-generator","\u002Fv3\u002Fapi\u002Fpackages\u002Ftypes-generator","v3\u002Fapi\u002Fpackages\u002Ftypes-generator",{"title":685,"path":686,"stem":687},"@i18n-micro\u002Futils","\u002Fv3\u002Fapi\u002Fpackages\u002Futils","v3\u002Fapi\u002Fpackages\u002Futils",{"title":689,"path":690,"stem":691},"@i18n-micro\u002Fvitepress","\u002Fv3\u002Fapi\u002Fpackages\u002Fvitepress","v3\u002Fapi\u002Fpackages\u002Fvitepress",{"title":693,"path":694,"stem":695},"@i18n-micro\u002Fvue","\u002Fv3\u002Fapi\u002Fpackages\u002Fvue","v3\u002Fapi\u002Fpackages\u002Fvue",{"title":299,"order":28,"path":697,"stem":698,"children":699},"\u002Fv3\u002Fcomponents","v3\u002Fcomponents\u002Findex",[700,701,705,709,713],{"title":136,"path":697,"stem":698,"order":6},{"title":702,"path":703,"stem":704,"order":18},"i18n-t","\u002Fv3\u002Fcomponents\u002Fi18n-t","v3\u002Fcomponents\u002Fi18n-t",{"title":706,"path":707,"stem":708,"order":23},"i18n-switcher","\u002Fv3\u002Fcomponents\u002Fi18n-switcher","v3\u002Fcomponents\u002Fi18n-switcher",{"title":710,"path":711,"stem":712,"order":28},"i18n-link","\u002Fv3\u002Fcomponents\u002Fi18n-link","v3\u002Fcomponents\u002Fi18n-link",{"title":714,"path":715,"stem":716,"order":33},"i18n-group","\u002Fv3\u002Fcomponents\u002Fi18n-group","v3\u002Fcomponents\u002Fi18n-group",{"title":278,"path":718,"stem":719,"children":720,"order":33},"\u002Fv3\u002Fcomposables","v3\u002Fcomposables\u002Findex",[721,722,725,728,731],{"title":136,"path":718,"stem":719,"order":6},{"title":283,"path":723,"stem":724,"order":18},"\u002Fv3\u002Fcomposables\u002FuseI18n","v3\u002Fcomposables\u002FuseI18n",{"title":295,"path":726,"stem":727,"order":23},"\u002Fv3\u002Fcomposables\u002FuseLocaleHead","v3\u002Fcomposables\u002FuseLocaleHead",{"title":291,"path":729,"stem":730,"order":28},"\u002Fv3\u002Fcomposables\u002FuseI18nHead","v3\u002Fcomposables\u002FuseI18nHead",{"title":287,"path":732,"stem":733,"order":33},"\u002Fv3\u002Fcomposables\u002FuseI18nLocale","v3\u002Fcomposables\u002FuseI18nLocale",{"title":735,"path":736,"stem":737,"order":39},"Examples","\u002Fv3\u002Fexamples","v3\u002Fexamples",{"id":739,"title":144,"body":740,"description":3937,"extension":3938,"lastUpdated":3939,"links":3940,"meta":3941,"navigation":3943,"path":145,"seo":3944,"stem":146,"__hash__":3945},"docs\u002Fintegrations\u002Freact-package.md",{"type":741,"value":742,"toc":3923},"minimark",[743,747,775,780,836,861,865,1276,1286,1302,1330,1344,1348,1573,1578,1685,1705,1715,1743,1746,1921,1931,1935,2000,2011,2142,2145,2160,2229,2232,2245,2761,2796,2800,2809,2814,2848,2852,2880,3213,3220,3222,3378,3384,3386,3395,3490,3531,3889,3894,3898,3919],[744,745,144],"h1",{"id":746},"react-and-preact",[748,749,750,753,754,756,757,761,762,765,766,770,771,774],"p",{},[751,752,657],"code",{}," and ",[751,755,653],{}," wrap the framework-agnostic ",[758,759,246],"a",{"href":760},".\u002Fruntime-package"," in a provider, a ",[751,763,764],{},"useI18n()"," hook and four components. Use them in a React or Preact app that is not built with Nuxt. Both packages have the same API; the ",[758,767,769],{"href":768},"#preact","Preact"," block lists the few differences, and the shared model is in ",[758,772,131],{"href":773},".\u002F",".",[776,777,779],"h2",{"id":778},"install","Install",[781,782,783,807,822],"code-group",{},[784,785,791],"pre",{"className":786,"code":787,"filename":788,"language":789,"meta":790,"style":790},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add @i18n-micro\u002Freact\n","pnpm","bash","",[751,792,793],{"__ignoreMap":790},[794,795,797,800,804],"span",{"class":796,"line":353},"line",[794,798,788],{"class":799},"sBMFI",[794,801,803],{"class":802},"sfazB"," add",[794,805,806],{"class":802}," @i18n-micro\u002Freact\n",[784,808,811],{"className":786,"code":809,"filename":810,"language":789,"meta":790,"style":790},"npm install @i18n-micro\u002Freact\n","npm",[751,812,813],{"__ignoreMap":790},[794,814,815,817,820],{"class":796,"line":353},[794,816,810],{"class":799},[794,818,819],{"class":802}," install",[794,821,806],{"class":802},[784,823,826],{"className":786,"code":824,"filename":825,"language":789,"meta":790,"style":790},"yarn add @i18n-micro\u002Freact\n","yarn",[751,827,828],{"__ignoreMap":790},[794,829,830,832,834],{"class":796,"line":353},[794,831,825],{"class":799},[794,833,803],{"class":802},[794,835,806],{"class":802},[748,837,838,839,841,842,845,846,849,850,841,853,856,857,860],{},"Peer dependencies: ",[751,840,238],{}," ",[751,843,844],{},"^18.0.0 || ^19.0.0","; ",[751,847,848],{},"react-dom"," (optional, for rendering); ",[751,851,852],{},"react-router-dom",[751,854,855],{},"^6.0.0 || ^7.0.0"," (optional, only for ",[751,858,859],{},"@i18n-micro\u002Freact\u002Frouter","). Tested on React 19.3 and 18.3, React Router 7.18 and 6.30.",[776,862,864],{"id":863},"setup","Setup",[784,866,870],{"className":867,"code":868,"language":869,"meta":790,"style":790},"language-tsx shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F src\u002Fmain.tsx\nimport { createRoot } from 'react-dom\u002Fclient'\nimport { createI18n, I18nProvider } from '@i18n-micro\u002Freact'\nimport App from '.\u002FApp'\nimport en from '.\u002Flocales\u002Fen.json'\n\nconst locales = [\n  { code: 'en', iso: 'en-US', displayName: 'English' },\n  { code: 'de', iso: 'de-DE', displayName: 'Deutsch' },\n]\n\nconst i18n = createI18n({ locale: 'en', fallbackLocale: 'en', messages: { en } })\n\ncreateRoot(document.getElementById('root')!).render(\n  \u003CI18nProvider i18n={i18n} locales={locales} defaultLocale=\"en\">\n    \u003CApp \u002F>\n  \u003C\u002FI18nProvider>,\n)\n","tsx",[751,871,872,878,908,934,952,969,976,992,1044,1087,1092,1097,1159,1164,1203,1248,1260,1271],{"__ignoreMap":790},[794,873,874],{"class":796,"line":353},[794,875,877],{"class":876},"sHwdD","\u002F\u002F src\u002Fmain.tsx\n",[794,879,881,885,889,893,896,899,902,905],{"class":796,"line":880},2,[794,882,884],{"class":883},"s7zQu","import",[794,886,888],{"class":887},"sMK4o"," {",[794,890,892],{"class":891},"sTEyZ"," createRoot",[794,894,895],{"class":887}," }",[794,897,898],{"class":883}," from",[794,900,901],{"class":887}," '",[794,903,904],{"class":802},"react-dom\u002Fclient",[794,906,907],{"class":887},"'\n",[794,909,911,913,915,918,921,924,926,928,930,932],{"class":796,"line":910},3,[794,912,884],{"class":883},[794,914,888],{"class":887},[794,916,917],{"class":891}," createI18n",[794,919,920],{"class":887},",",[794,922,923],{"class":891}," I18nProvider",[794,925,895],{"class":887},[794,927,898],{"class":883},[794,929,901],{"class":887},[794,931,657],{"class":802},[794,933,907],{"class":887},[794,935,937,939,942,945,947,950],{"class":796,"line":936},4,[794,938,884],{"class":883},[794,940,941],{"class":891}," App ",[794,943,944],{"class":883},"from",[794,946,901],{"class":887},[794,948,949],{"class":802},".\u002FApp",[794,951,907],{"class":887},[794,953,955,957,960,962,964,967],{"class":796,"line":954},5,[794,956,884],{"class":883},[794,958,959],{"class":891}," en ",[794,961,944],{"class":883},[794,963,901],{"class":887},[794,965,966],{"class":802},".\u002Flocales\u002Fen.json",[794,968,907],{"class":887},[794,970,972],{"class":796,"line":971},6,[794,973,975],{"emptyLinePlaceholder":974},true,"\n",[794,977,979,983,986,989],{"class":796,"line":978},7,[794,980,982],{"class":981},"spNyl","const",[794,984,985],{"class":891}," locales ",[794,987,988],{"class":887},"=",[794,990,991],{"class":891}," [\n",[794,993,995,998,1002,1005,1007,1010,1013,1015,1018,1020,1022,1025,1027,1029,1032,1034,1036,1039,1041],{"class":796,"line":994},8,[794,996,997],{"class":887},"  {",[794,999,1001],{"class":1000},"swJcz"," code",[794,1003,1004],{"class":887},":",[794,1006,901],{"class":887},[794,1008,1009],{"class":802},"en",[794,1011,1012],{"class":887},"'",[794,1014,920],{"class":887},[794,1016,1017],{"class":1000}," iso",[794,1019,1004],{"class":887},[794,1021,901],{"class":887},[794,1023,1024],{"class":802},"en-US",[794,1026,1012],{"class":887},[794,1028,920],{"class":887},[794,1030,1031],{"class":1000}," displayName",[794,1033,1004],{"class":887},[794,1035,901],{"class":887},[794,1037,1038],{"class":802},"English",[794,1040,1012],{"class":887},[794,1042,1043],{"class":887}," },\n",[794,1045,1046,1048,1050,1052,1054,1057,1059,1061,1063,1065,1067,1070,1072,1074,1076,1078,1080,1083,1085],{"class":796,"line":358},[794,1047,997],{"class":887},[794,1049,1001],{"class":1000},[794,1051,1004],{"class":887},[794,1053,901],{"class":887},[794,1055,1056],{"class":802},"de",[794,1058,1012],{"class":887},[794,1060,920],{"class":887},[794,1062,1017],{"class":1000},[794,1064,1004],{"class":887},[794,1066,901],{"class":887},[794,1068,1069],{"class":802},"de-DE",[794,1071,1012],{"class":887},[794,1073,920],{"class":887},[794,1075,1031],{"class":1000},[794,1077,1004],{"class":887},[794,1079,901],{"class":887},[794,1081,1082],{"class":802},"Deutsch",[794,1084,1012],{"class":887},[794,1086,1043],{"class":887},[794,1088,1089],{"class":796,"line":6},[794,1090,1091],{"class":891},"]\n",[794,1093,1095],{"class":796,"line":1094},11,[794,1096,975],{"emptyLinePlaceholder":974},[794,1098,1100,1102,1105,1107,1110,1113,1116,1119,1121,1123,1125,1127,1129,1132,1134,1136,1138,1140,1142,1145,1147,1149,1151,1154,1156],{"class":796,"line":1099},12,[794,1101,982],{"class":981},[794,1103,1104],{"class":891}," i18n ",[794,1106,988],{"class":887},[794,1108,917],{"class":1109},"s2Zo4",[794,1111,1112],{"class":891},"(",[794,1114,1115],{"class":887},"{",[794,1117,1118],{"class":1000}," locale",[794,1120,1004],{"class":887},[794,1122,901],{"class":887},[794,1124,1009],{"class":802},[794,1126,1012],{"class":887},[794,1128,920],{"class":887},[794,1130,1131],{"class":1000}," fallbackLocale",[794,1133,1004],{"class":887},[794,1135,901],{"class":887},[794,1137,1009],{"class":802},[794,1139,1012],{"class":887},[794,1141,920],{"class":887},[794,1143,1144],{"class":1000}," messages",[794,1146,1004],{"class":887},[794,1148,888],{"class":887},[794,1150,959],{"class":891},[794,1152,1153],{"class":887},"}",[794,1155,895],{"class":887},[794,1157,1158],{"class":891},")\n",[794,1160,1162],{"class":796,"line":1161},13,[794,1163,975],{"emptyLinePlaceholder":974},[794,1165,1167,1170,1173,1175,1178,1180,1182,1185,1187,1190,1193,1195,1197,1200],{"class":796,"line":1166},14,[794,1168,1169],{"class":1109},"createRoot",[794,1171,1172],{"class":891},"(document",[794,1174,774],{"class":887},[794,1176,1177],{"class":1109},"getElementById",[794,1179,1112],{"class":891},[794,1181,1012],{"class":887},[794,1183,1184],{"class":802},"root",[794,1186,1012],{"class":887},[794,1188,1189],{"class":891},")",[794,1191,1192],{"class":887},"!",[794,1194,1189],{"class":891},[794,1196,774],{"class":887},[794,1198,1199],{"class":1109},"render",[794,1201,1202],{"class":891},"(\n",[794,1204,1206,1209,1212,1215,1218,1221,1224,1227,1229,1231,1233,1236,1238,1241,1243,1245],{"class":796,"line":1205},15,[794,1207,1208],{"class":887},"  \u003C",[794,1210,1211],{"class":799},"I18nProvider",[794,1213,1214],{"class":981}," i18n",[794,1216,1217],{"class":887},"={",[794,1219,1220],{"class":891},"i18n",[794,1222,1223],{"class":887},"} ",[794,1225,1226],{"class":981},"locales",[794,1228,1217],{"class":887},[794,1230,1226],{"class":891},[794,1232,1223],{"class":887},[794,1234,1235],{"class":981},"defaultLocale",[794,1237,988],{"class":887},[794,1239,1240],{"class":887},"\"",[794,1242,1009],{"class":802},[794,1244,1240],{"class":887},[794,1246,1247],{"class":887},">\n",[794,1249,1251,1254,1257],{"class":796,"line":1250},16,[794,1252,1253],{"class":887},"    \u003C",[794,1255,1256],{"class":799},"App",[794,1258,1259],{"class":887}," \u002F>\n",[794,1261,1263,1266,1268],{"class":796,"line":1262},17,[794,1264,1265],{"class":887},"  \u003C\u002F",[794,1267,1211],{"class":799},[794,1269,1270],{"class":887},">,\n",[794,1272,1274],{"class":796,"line":1273},18,[794,1275,1158],{"class":891},[1277,1278,1279],"warning",{},[748,1280,1281,1282,1285],{},"Create the instance once, at module level or in a ",[751,1283,1284],{},"useState"," initializer, never in a component body.",[748,1287,1288,1291,1292,1294,1295,1294,1297,753,1299,1004],{},[751,1289,1290],{},"\u003CI18nProvider>"," takes ",[751,1293,1220],{},", ",[751,1296,1226],{},[751,1298,1235],{},[751,1300,1301],{},"routingStrategy",[1303,1304,1305,1309,1319],"ul",{},[1306,1307,1308],"li",{},"An omitted prop keeps the value of an outer provider, the instance included.",[1306,1310,1311,1312,1315,1316,774],{},"With no instance at all, it builds one from the ",[751,1313,1314],{},"createI18n"," options next to them, so the props stay plain data: ",[751,1317,1318],{},"\u003CI18nProvider locale=\"de\" messages={messages}>",[1306,1320,1321,1322,1325,1326,1329],{},"A new ",[751,1323,1324],{},"locale"," prop builds a new instance with the ",[751,1327,1328],{},"messages"," of that render. Such an instance lives in the component: if something above it suspends during mount, React throws it away, with whatever was added to it.",[748,1331,1332,1333,1335,1336,1339,1340,774],{},"All ",[751,1334,1314],{}," options, including ",[751,1337,1338],{},"routeMessages",", are in ",[758,1341,1343],{"href":1342},".\u002F#the-instance","the instance",[776,1345,1347],{"id":1346},"translate","Translate",[784,1349,1351],{"className":867,"code":1350,"language":869,"meta":790,"style":790},"import { useI18n } from '@i18n-micro\u002Freact'\n\nexport function Greeting() {\n  const { t, tc, tn } = useI18n()\n  return (\n    \u003C>\n      \u003Ch1>{t('greeting', { name: 'Ada' })}\u003C\u002Fh1> {\u002F* Hello, Ada! *\u002F}\n      \u003Cp>{tc('apples', 3)}\u003C\u002Fp> {\u002F* 3 apples *\u002F}\n      \u003Cp>{tn(1234.5)}\u003C\u002Fp>\n    \u003C\u002F>\n  )\n}\n",[751,1352,1353,1372,1376,1393,1423,1431,1436,1494,1535,1559,1564,1569],{"__ignoreMap":790},[794,1354,1355,1357,1359,1362,1364,1366,1368,1370],{"class":796,"line":353},[794,1356,884],{"class":883},[794,1358,888],{"class":887},[794,1360,1361],{"class":891}," useI18n",[794,1363,895],{"class":887},[794,1365,898],{"class":883},[794,1367,901],{"class":887},[794,1369,657],{"class":802},[794,1371,907],{"class":887},[794,1373,1374],{"class":796,"line":880},[794,1375,975],{"emptyLinePlaceholder":974},[794,1377,1378,1381,1384,1387,1390],{"class":796,"line":910},[794,1379,1380],{"class":883},"export",[794,1382,1383],{"class":981}," function",[794,1385,1386],{"class":1109}," Greeting",[794,1388,1389],{"class":887},"()",[794,1391,1392],{"class":887}," {\n",[794,1394,1395,1398,1400,1403,1405,1408,1410,1413,1415,1418,1420],{"class":796,"line":936},[794,1396,1397],{"class":981},"  const",[794,1399,888],{"class":887},[794,1401,1402],{"class":891}," t",[794,1404,920],{"class":887},[794,1406,1407],{"class":891}," tc",[794,1409,920],{"class":887},[794,1411,1412],{"class":891}," tn",[794,1414,895],{"class":887},[794,1416,1417],{"class":887}," =",[794,1419,1361],{"class":1109},[794,1421,1422],{"class":1000},"()\n",[794,1424,1425,1428],{"class":796,"line":954},[794,1426,1427],{"class":883},"  return",[794,1429,1430],{"class":1000}," (\n",[794,1432,1433],{"class":796,"line":971},[794,1434,1435],{"class":887},"    \u003C>\n",[794,1437,1438,1441,1443,1446,1449,1451,1453,1456,1458,1460,1462,1465,1467,1469,1472,1474,1476,1478,1481,1483,1486,1488,1491],{"class":796,"line":978},[794,1439,1440],{"class":887},"      \u003C",[794,1442,744],{"class":1000},[794,1444,1445],{"class":887},">{",[794,1447,1448],{"class":1109},"t",[794,1450,1112],{"class":891},[794,1452,1012],{"class":887},[794,1454,1455],{"class":802},"greeting",[794,1457,1012],{"class":887},[794,1459,920],{"class":887},[794,1461,888],{"class":887},[794,1463,1464],{"class":1000}," name",[794,1466,1004],{"class":887},[794,1468,901],{"class":887},[794,1470,1471],{"class":802},"Ada",[794,1473,1012],{"class":887},[794,1475,895],{"class":887},[794,1477,1189],{"class":891},[794,1479,1480],{"class":887},"}\u003C\u002F",[794,1482,744],{"class":1000},[794,1484,1485],{"class":887},">",[794,1487,888],{"class":887},[794,1489,1490],{"class":876},"\u002F* Hello, Ada! *\u002F",[794,1492,1493],{"class":887},"}\n",[794,1495,1496,1498,1500,1502,1505,1507,1509,1512,1514,1516,1520,1522,1524,1526,1528,1530,1533],{"class":796,"line":994},[794,1497,1440],{"class":887},[794,1499,748],{"class":1000},[794,1501,1445],{"class":887},[794,1503,1504],{"class":1109},"tc",[794,1506,1112],{"class":891},[794,1508,1012],{"class":887},[794,1510,1511],{"class":802},"apples",[794,1513,1012],{"class":887},[794,1515,920],{"class":887},[794,1517,1519],{"class":1518},"sbssI"," 3",[794,1521,1189],{"class":891},[794,1523,1480],{"class":887},[794,1525,748],{"class":1000},[794,1527,1485],{"class":887},[794,1529,888],{"class":887},[794,1531,1532],{"class":876},"\u002F* 3 apples *\u002F",[794,1534,1493],{"class":887},[794,1536,1537,1539,1541,1543,1546,1548,1551,1553,1555,1557],{"class":796,"line":358},[794,1538,1440],{"class":887},[794,1540,748],{"class":1000},[794,1542,1445],{"class":887},[794,1544,1545],{"class":1109},"tn",[794,1547,1112],{"class":891},[794,1549,1550],{"class":1518},"1234.5",[794,1552,1189],{"class":891},[794,1554,1480],{"class":887},[794,1556,748],{"class":1000},[794,1558,1247],{"class":887},[794,1560,1561],{"class":796,"line":6},[794,1562,1563],{"class":887},"    \u003C\u002F>\n",[794,1565,1566],{"class":796,"line":1094},[794,1567,1568],{"class":1000},"  )\n",[794,1570,1571],{"class":796,"line":1099},[794,1572,1493],{"class":887},[748,1574,1575,1577],{},[751,1576,764],{}," returns:",[1579,1580,1581,1594],"table",{},[1582,1583,1584],"thead",{},[1585,1586,1587,1591],"tr",{},[1588,1589,1590],"th",{},"Group",[1588,1592,1593],{},"Members",[1595,1596,1597,1621,1654,1669],"tbody",{},[1585,1598,1599,1602],{},[1600,1601,1347],"td",{},[1600,1603,1604,1294,1606,1294,1609,1294,1611,1294,1613,1294,1615,1294,1618],{},[751,1605,1448],{},[751,1607,1608],{},"ts",[751,1610,1504],{},[751,1612,1545],{},[751,1614,1600],{},[751,1616,1617],{},"tdr",[751,1619,1620],{},"has",[1585,1622,1623,1626],{},[1600,1624,1625],{},"Locale and route",[1600,1627,1628,1294,1630,1294,1633,1294,1636,1294,1639,1294,1642,1294,1645,1294,1648,1294,1651],{},[751,1629,1324],{},[751,1631,1632],{},"fallbackLocale",[751,1634,1635],{},"currentRoute",[751,1637,1638],{},"setLocale",[751,1640,1641],{},"setRoute",[751,1643,1644],{},"getRoute",[751,1646,1647],{},"getLocales",[751,1649,1650],{},"defaultLocale()",[751,1652,1653],{},"getLocaleName",[1585,1655,1656,1658],{},[1600,1657,55],{},[1600,1659,1660,1294,1663,1294,1666],{},[751,1661,1662],{},"switchLocale",[751,1664,1665],{},"localePath",[751,1667,1668],{},"localeRoute",[1585,1670,1671,1674],{},[1600,1672,1673],{},"Dictionaries",[1600,1675,1676,1294,1679,1294,1682],{},[751,1677,1678],{},"addTranslations",[751,1680,1681],{},"addRouteTranslations",[751,1683,1684],{},"clearCache",[1303,1686,1687,1696],{},[1306,1688,1689,1690,1692,1693,1695],{},"The component re-renders when the locale, the route or a readable dictionary changes, and when the provider gets a new ",[751,1691,1226],{}," or ",[751,1694,1301],{}," object. A dictionary of a locale that is neither active nor fallback renders nothing.",[1306,1697,1698,1700,1701,1704],{},[751,1699,1448],{}," and the other translation methods change only with the store, so they are safe in ",[751,1702,1703],{},"memo"," and effect deps.",[748,1706,1707,1710,1711,1714],{},[751,1708,1709],{},"useT"," is one string as a value. The component renders only when that string changes, whatever happens to the provider's other props; ",[751,1712,1713],{},"\u003CI18nT>"," does not depend on them either:",[784,1716,1718],{"className":867,"code":1717,"language":869,"meta":790,"style":790},"const title = useT('page.title')\n",[751,1719,1720],{"__ignoreMap":790},[794,1721,1722,1724,1727,1729,1732,1734,1736,1739,1741],{"class":796,"line":353},[794,1723,982],{"class":981},[794,1725,1726],{"class":891}," title ",[794,1728,988],{"class":887},[794,1730,1731],{"class":1109}," useT",[794,1733,1112],{"class":891},[794,1735,1012],{"class":887},[794,1737,1738],{"class":802},"page.title",[794,1740,1012],{"class":887},[794,1742,1158],{"class":891},[748,1744,1745],{},"Load more dictionaries at any time:",[784,1747,1749],{"className":867,"code":1748,"language":869,"meta":790,"style":790},"const { addTranslations, addRouteTranslations, setRoute } = useI18n()\n\nuseEffect(() => {\n  import('.\u002Flocales\u002Fde.json').then((m) => addTranslations('de', m.default))\n  addRouteTranslations('en', 'about', { title: 'About us' })\n  setRoute('about') \u002F\u002F t('title') now reads the 'about' dictionary first\n}, [])\n",[751,1750,1751,1778,1782,1796,1852,1894,1913],{"__ignoreMap":790},[794,1752,1753,1755,1757,1760,1762,1765,1767,1770,1772,1774,1776],{"class":796,"line":353},[794,1754,982],{"class":981},[794,1756,888],{"class":887},[794,1758,1759],{"class":891}," addTranslations",[794,1761,920],{"class":887},[794,1763,1764],{"class":891}," addRouteTranslations",[794,1766,920],{"class":887},[794,1768,1769],{"class":891}," setRoute ",[794,1771,1153],{"class":887},[794,1773,1417],{"class":887},[794,1775,1361],{"class":1109},[794,1777,1422],{"class":891},[794,1779,1780],{"class":796,"line":880},[794,1781,975],{"emptyLinePlaceholder":974},[794,1783,1784,1787,1789,1791,1794],{"class":796,"line":910},[794,1785,1786],{"class":1109},"useEffect",[794,1788,1112],{"class":891},[794,1790,1389],{"class":887},[794,1792,1793],{"class":981}," =>",[794,1795,1392],{"class":887},[794,1797,1798,1801,1803,1805,1808,1810,1812,1814,1817,1819,1821,1825,1827,1829,1831,1833,1835,1837,1839,1841,1844,1846,1849],{"class":796,"line":936},[794,1799,1800],{"class":887},"  import",[794,1802,1112],{"class":1000},[794,1804,1012],{"class":887},[794,1806,1807],{"class":802},".\u002Flocales\u002Fde.json",[794,1809,1012],{"class":887},[794,1811,1189],{"class":1000},[794,1813,774],{"class":887},[794,1815,1816],{"class":1109},"then",[794,1818,1112],{"class":1000},[794,1820,1112],{"class":887},[794,1822,1824],{"class":1823},"sHdIc","m",[794,1826,1189],{"class":887},[794,1828,1793],{"class":981},[794,1830,1759],{"class":1109},[794,1832,1112],{"class":1000},[794,1834,1012],{"class":887},[794,1836,1056],{"class":802},[794,1838,1012],{"class":887},[794,1840,920],{"class":887},[794,1842,1843],{"class":891}," m",[794,1845,774],{"class":887},[794,1847,1848],{"class":891},"default",[794,1850,1851],{"class":1000},"))\n",[794,1853,1854,1857,1859,1861,1863,1865,1867,1869,1872,1874,1876,1878,1881,1883,1885,1888,1890,1892],{"class":796,"line":954},[794,1855,1856],{"class":1109},"  addRouteTranslations",[794,1858,1112],{"class":1000},[794,1860,1012],{"class":887},[794,1862,1009],{"class":802},[794,1864,1012],{"class":887},[794,1866,920],{"class":887},[794,1868,901],{"class":887},[794,1870,1871],{"class":802},"about",[794,1873,1012],{"class":887},[794,1875,920],{"class":887},[794,1877,888],{"class":887},[794,1879,1880],{"class":1000}," title",[794,1882,1004],{"class":887},[794,1884,901],{"class":887},[794,1886,1887],{"class":802},"About us",[794,1889,1012],{"class":887},[794,1891,895],{"class":887},[794,1893,1158],{"class":1000},[794,1895,1896,1899,1901,1903,1905,1907,1910],{"class":796,"line":971},[794,1897,1898],{"class":1109},"  setRoute",[794,1900,1112],{"class":1000},[794,1902,1012],{"class":887},[794,1904,1871],{"class":802},[794,1906,1012],{"class":887},[794,1908,1909],{"class":1000},") ",[794,1911,1912],{"class":876},"\u002F\u002F t('title') now reads the 'about' dictionary first\n",[794,1914,1915,1918],{"class":796,"line":978},[794,1916,1917],{"class":887},"},",[794,1919,1920],{"class":891}," [])\n",[748,1922,1923,1924,1927,1928,774],{},"The instance itself also has ",[751,1925,1926],{},"loadFromUrl(url, { locale, routeName })"," for JSON over ",[751,1929,1930],{},"fetch",[776,1932,1934],{"id":1933},"switch-locale","Switch locale",[784,1936,1938],{"className":867,"code":1937,"language":869,"meta":790,"style":790},"const { setLocale, switchLocale } = useI18n()\n\nsetLocale('de') \u002F\u002F only the locale\nswitchLocale('de') \u002F\u002F the locale, then the adapter's push to the localized current path\n",[751,1939,1940,1962,1966,1983],{"__ignoreMap":790},[794,1941,1942,1944,1946,1949,1951,1954,1956,1958,1960],{"class":796,"line":353},[794,1943,982],{"class":981},[794,1945,888],{"class":887},[794,1947,1948],{"class":891}," setLocale",[794,1950,920],{"class":887},[794,1952,1953],{"class":891}," switchLocale ",[794,1955,1153],{"class":887},[794,1957,1417],{"class":887},[794,1959,1361],{"class":1109},[794,1961,1422],{"class":891},[794,1963,1964],{"class":796,"line":880},[794,1965,975],{"emptyLinePlaceholder":974},[794,1967,1968,1970,1972,1974,1976,1978,1980],{"class":796,"line":910},[794,1969,1638],{"class":1109},[794,1971,1112],{"class":891},[794,1973,1012],{"class":887},[794,1975,1056],{"class":802},[794,1977,1012],{"class":887},[794,1979,1909],{"class":891},[794,1981,1982],{"class":876},"\u002F\u002F only the locale\n",[794,1984,1985,1987,1989,1991,1993,1995,1997],{"class":796,"line":936},[794,1986,1662],{"class":1109},[794,1988,1112],{"class":891},[794,1990,1012],{"class":887},[794,1992,1056],{"class":802},[794,1994,1012],{"class":887},[794,1996,1909],{"class":891},[794,1998,1999],{"class":876},"\u002F\u002F the locale, then the adapter's push to the localized current path\n",[748,2001,2002,2003,2006,2007,2010],{},"Switching does not load anything; add the locale's dictionary first. A store write is synchronous for React, even inside ",[751,2004,2005],{},"startTransition",", so a component that suspends on a missing dictionary would show its fallback. ",[751,2008,2009],{},"useLocaleSwitch"," loads first and keeps the old UI until the dictionary is in:",[784,2012,2014],{"className":867,"code":2013,"language":869,"meta":790,"style":790},"const [switchTo, pending] = useLocaleSwitch((locale) => i18n.loadFromUrl(`\u002Flocales\u002F${locale}.json`, { locale }))\n\n\u003Cbutton disabled={pending} onClick={() => switchTo('de')}>Deutsch\u003C\u002Fbutton>\n",[751,2015,2016,2087,2091],{"__ignoreMap":790},[794,2017,2018,2020,2023,2026,2028,2031,2034,2036,2039,2041,2043,2045,2047,2049,2051,2053,2056,2058,2061,2064,2067,2069,2071,2074,2076,2078,2080,2083,2085],{"class":796,"line":353},[794,2019,982],{"class":981},[794,2021,2022],{"class":887}," [",[794,2024,2025],{"class":891},"switchTo",[794,2027,920],{"class":887},[794,2029,2030],{"class":891}," pending",[794,2032,2033],{"class":887},"]",[794,2035,1417],{"class":887},[794,2037,2038],{"class":1109}," useLocaleSwitch",[794,2040,1112],{"class":891},[794,2042,1112],{"class":887},[794,2044,1324],{"class":1823},[794,2046,1189],{"class":887},[794,2048,1793],{"class":981},[794,2050,1214],{"class":891},[794,2052,774],{"class":887},[794,2054,2055],{"class":1109},"loadFromUrl",[794,2057,1112],{"class":891},[794,2059,2060],{"class":887},"`",[794,2062,2063],{"class":802},"\u002Flocales\u002F",[794,2065,2066],{"class":887},"${",[794,2068,1324],{"class":891},[794,2070,1153],{"class":887},[794,2072,2073],{"class":802},".json",[794,2075,2060],{"class":887},[794,2077,920],{"class":887},[794,2079,888],{"class":887},[794,2081,2082],{"class":891}," locale ",[794,2084,1153],{"class":887},[794,2086,1851],{"class":891},[794,2088,2089],{"class":796,"line":880},[794,2090,975],{"emptyLinePlaceholder":974},[794,2092,2093,2096,2099,2102,2104,2107,2109,2112,2115,2117,2120,2122,2124,2126,2128,2130,2133,2135,2138,2140],{"class":796,"line":910},[794,2094,2095],{"class":887},"\u003C",[794,2097,2098],{"class":1000},"button",[794,2100,2101],{"class":981}," disabled",[794,2103,1217],{"class":887},[794,2105,2106],{"class":891},"pending",[794,2108,1223],{"class":887},[794,2110,2111],{"class":981},"onClick",[794,2113,2114],{"class":887},"={()",[794,2116,1793],{"class":981},[794,2118,2119],{"class":1109}," switchTo",[794,2121,1112],{"class":891},[794,2123,1012],{"class":887},[794,2125,1056],{"class":802},[794,2127,1012],{"class":887},[794,2129,1189],{"class":891},[794,2131,2132],{"class":887},"}>",[794,2134,1082],{"class":891},[794,2136,2137],{"class":887},"\u003C\u002F",[794,2139,2098],{"class":1000},[794,2141,1247],{"class":887},[748,2143,2144],{},"The last call wins. A failed load rejects and leaves the locale as it was.",[748,2146,2147,2150,2151,2153,2154,753,2156,2159],{},[751,2148,2149],{},"\u003CI18nGroup>"," passes a prefixed ",[751,2152,1448],{}," to a render-prop child. ",[751,2155,1713],{},[751,2157,2158],{},"t()"," inside it are not prefixed:",[784,2161,2163],{"className":867,"code":2162,"language":869,"meta":790,"style":790},"\u003CI18nGroup prefix=\"profile\">{({ t }) => \u003Ch2>{t('title')}\u003C\u002Fh2> \u002F* profile.title *\u002F}\u003C\u002FI18nGroup>\n",[751,2164,2165],{"__ignoreMap":790},[794,2166,2167,2169,2172,2175,2177,2179,2182,2184,2187,2189,2192,2194,2197,2199,2201,2203,2205,2207,2210,2212,2214,2216,2218,2220,2223,2225,2227],{"class":796,"line":353},[794,2168,2095],{"class":887},[794,2170,2171],{"class":799},"I18nGroup",[794,2173,2174],{"class":981}," prefix",[794,2176,988],{"class":887},[794,2178,1240],{"class":887},[794,2180,2181],{"class":802},"profile",[794,2183,1240],{"class":887},[794,2185,2186],{"class":887},">{({",[794,2188,1402],{"class":1823},[794,2190,2191],{"class":887}," })",[794,2193,1793],{"class":981},[794,2195,2196],{"class":887}," \u003C",[794,2198,776],{"class":1000},[794,2200,1445],{"class":887},[794,2202,1448],{"class":1109},[794,2204,1112],{"class":891},[794,2206,1012],{"class":887},[794,2208,2209],{"class":802},"title",[794,2211,1012],{"class":887},[794,2213,1189],{"class":891},[794,2215,1480],{"class":887},[794,2217,776],{"class":1000},[794,2219,1485],{"class":887},[794,2221,2222],{"class":876}," \u002F* profile.title *\u002F",[794,2224,1480],{"class":887},[794,2226,2171],{"class":799},[794,2228,1247],{"class":887},[776,2230,55],{"id":2231},"routing",[748,2233,2234,2235,2237,2238,753,2241,2244],{},"The React Router adapter lives in a subpath so the main entry never imports ",[751,2236,852],{},". It needs ",[751,2239,2240],{},"useLocation()",[751,2242,2243],{},"useNavigate()",", so create it inside a component under the router:",[784,2246,2248],{"className":867,"code":2247,"language":869,"meta":790,"style":790},"\u002F\u002F src\u002FApp.tsx\nimport { useMemo } from 'react'\nimport { BrowserRouter, Route, Routes, useLocation, useNavigate } from 'react-router-dom'\nimport { I18nLink, I18nProvider, I18nSwitcher } from '@i18n-micro\u002Freact'\nimport { createReactRouterAdapter } from '@i18n-micro\u002Freact\u002Frouter'\nimport { i18n, locales } from '.\u002Fi18n'\nimport { About, Home } from '.\u002Fpages'\n\nfunction Localized() {\n  const location = useLocation()\n  const navigate = useNavigate()\n  \u002F\u002F memoized: a new object on every render re-renders every `useI18n()` consumer\n  const routingStrategy = useMemo(() => createReactRouterAdapter(locales, 'en', location, navigate), [location, navigate])\n  return (\n    \u003CI18nProvider i18n={i18n} locales={locales} defaultLocale=\"en\" routingStrategy={routingStrategy}>\n      \u003CI18nLink to=\"\u002Fabout\">About\u003C\u002FI18nLink>\n      \u003CI18nSwitcher \u002F>\n      \u003CRoutes>\n        \u003CRoute path=\"\u002F:locale?\" element={\u003CHome \u002F>} \u002F>\n        \u003CRoute path=\"\u002F:locale?\u002Fabout\" element={\u003CAbout \u002F>} \u002F>\n      \u003C\u002FRoutes>\n    \u003C\u002FI18nProvider>\n  )\n}\n\nexport default function App() {\n  return (\n    \u003CBrowserRouter>\n      \u003CLocalized \u002F>\n    \u003C\u002FBrowserRouter>\n  )\n}\n",[751,2249,2250,2255,2274,2313,2341,2360,2384,2409,2413,2425,2438,2451,2456,2511,2517,2558,2588,2597,2606,2639,2664,2674,2684,2689,2694,2699,2716,2723,2733,2743,2751,2756],{"__ignoreMap":790},[794,2251,2252],{"class":796,"line":353},[794,2253,2254],{"class":876},"\u002F\u002F src\u002FApp.tsx\n",[794,2256,2257,2259,2261,2264,2266,2268,2270,2272],{"class":796,"line":880},[794,2258,884],{"class":883},[794,2260,888],{"class":887},[794,2262,2263],{"class":891}," useMemo",[794,2265,895],{"class":887},[794,2267,898],{"class":883},[794,2269,901],{"class":887},[794,2271,238],{"class":802},[794,2273,907],{"class":887},[794,2275,2276,2278,2280,2283,2285,2288,2290,2293,2295,2298,2300,2303,2305,2307,2309,2311],{"class":796,"line":910},[794,2277,884],{"class":883},[794,2279,888],{"class":887},[794,2281,2282],{"class":891}," BrowserRouter",[794,2284,920],{"class":887},[794,2286,2287],{"class":891}," Route",[794,2289,920],{"class":887},[794,2291,2292],{"class":891}," Routes",[794,2294,920],{"class":887},[794,2296,2297],{"class":891}," useLocation",[794,2299,920],{"class":887},[794,2301,2302],{"class":891}," useNavigate",[794,2304,895],{"class":887},[794,2306,898],{"class":883},[794,2308,901],{"class":887},[794,2310,852],{"class":802},[794,2312,907],{"class":887},[794,2314,2315,2317,2319,2322,2324,2326,2328,2331,2333,2335,2337,2339],{"class":796,"line":936},[794,2316,884],{"class":883},[794,2318,888],{"class":887},[794,2320,2321],{"class":891}," I18nLink",[794,2323,920],{"class":887},[794,2325,923],{"class":891},[794,2327,920],{"class":887},[794,2329,2330],{"class":891}," I18nSwitcher",[794,2332,895],{"class":887},[794,2334,898],{"class":883},[794,2336,901],{"class":887},[794,2338,657],{"class":802},[794,2340,907],{"class":887},[794,2342,2343,2345,2347,2350,2352,2354,2356,2358],{"class":796,"line":954},[794,2344,884],{"class":883},[794,2346,888],{"class":887},[794,2348,2349],{"class":891}," createReactRouterAdapter",[794,2351,895],{"class":887},[794,2353,898],{"class":883},[794,2355,901],{"class":887},[794,2357,859],{"class":802},[794,2359,907],{"class":887},[794,2361,2362,2364,2366,2368,2370,2373,2375,2377,2379,2382],{"class":796,"line":971},[794,2363,884],{"class":883},[794,2365,888],{"class":887},[794,2367,1214],{"class":891},[794,2369,920],{"class":887},[794,2371,2372],{"class":891}," locales",[794,2374,895],{"class":887},[794,2376,898],{"class":883},[794,2378,901],{"class":887},[794,2380,2381],{"class":802},".\u002Fi18n",[794,2383,907],{"class":887},[794,2385,2386,2388,2390,2393,2395,2398,2400,2402,2404,2407],{"class":796,"line":978},[794,2387,884],{"class":883},[794,2389,888],{"class":887},[794,2391,2392],{"class":891}," About",[794,2394,920],{"class":887},[794,2396,2397],{"class":891}," Home",[794,2399,895],{"class":887},[794,2401,898],{"class":883},[794,2403,901],{"class":887},[794,2405,2406],{"class":802},".\u002Fpages",[794,2408,907],{"class":887},[794,2410,2411],{"class":796,"line":994},[794,2412,975],{"emptyLinePlaceholder":974},[794,2414,2415,2418,2421,2423],{"class":796,"line":358},[794,2416,2417],{"class":981},"function",[794,2419,2420],{"class":1109}," Localized",[794,2422,1389],{"class":887},[794,2424,1392],{"class":887},[794,2426,2427,2429,2432,2434,2436],{"class":796,"line":6},[794,2428,1397],{"class":981},[794,2430,2431],{"class":891}," location",[794,2433,1417],{"class":887},[794,2435,2297],{"class":1109},[794,2437,1422],{"class":1000},[794,2439,2440,2442,2445,2447,2449],{"class":796,"line":1094},[794,2441,1397],{"class":981},[794,2443,2444],{"class":891}," navigate",[794,2446,1417],{"class":887},[794,2448,2302],{"class":1109},[794,2450,1422],{"class":1000},[794,2452,2453],{"class":796,"line":1099},[794,2454,2455],{"class":876},"  \u002F\u002F memoized: a new object on every render re-renders every `useI18n()` consumer\n",[794,2457,2458,2460,2463,2465,2467,2469,2471,2473,2475,2477,2479,2481,2483,2485,2487,2489,2491,2493,2495,2497,2499,2501,2504,2506,2508],{"class":796,"line":1161},[794,2459,1397],{"class":981},[794,2461,2462],{"class":891}," routingStrategy",[794,2464,1417],{"class":887},[794,2466,2263],{"class":1109},[794,2468,1112],{"class":1000},[794,2470,1389],{"class":887},[794,2472,1793],{"class":981},[794,2474,2349],{"class":1109},[794,2476,1112],{"class":1000},[794,2478,1226],{"class":891},[794,2480,920],{"class":887},[794,2482,901],{"class":887},[794,2484,1009],{"class":802},[794,2486,1012],{"class":887},[794,2488,920],{"class":887},[794,2490,2431],{"class":891},[794,2492,920],{"class":887},[794,2494,2444],{"class":891},[794,2496,1189],{"class":1000},[794,2498,920],{"class":887},[794,2500,2022],{"class":1000},[794,2502,2503],{"class":891},"location",[794,2505,920],{"class":887},[794,2507,2444],{"class":891},[794,2509,2510],{"class":1000},"])\n",[794,2512,2513,2515],{"class":796,"line":1166},[794,2514,1427],{"class":883},[794,2516,1430],{"class":1000},[794,2518,2519,2521,2523,2525,2527,2529,2531,2533,2535,2537,2539,2541,2543,2545,2547,2549,2551,2553,2555],{"class":796,"line":1205},[794,2520,1253],{"class":887},[794,2522,1211],{"class":799},[794,2524,1214],{"class":981},[794,2526,1217],{"class":887},[794,2528,1220],{"class":891},[794,2530,1223],{"class":887},[794,2532,1226],{"class":981},[794,2534,1217],{"class":887},[794,2536,1226],{"class":891},[794,2538,1223],{"class":887},[794,2540,1235],{"class":981},[794,2542,988],{"class":887},[794,2544,1240],{"class":887},[794,2546,1009],{"class":802},[794,2548,1240],{"class":887},[794,2550,2462],{"class":981},[794,2552,1217],{"class":887},[794,2554,1301],{"class":891},[794,2556,2557],{"class":887},"}>\n",[794,2559,2560,2562,2565,2568,2570,2572,2575,2577,2579,2582,2584,2586],{"class":796,"line":1250},[794,2561,1440],{"class":887},[794,2563,2564],{"class":799},"I18nLink",[794,2566,2567],{"class":981}," to",[794,2569,988],{"class":887},[794,2571,1240],{"class":887},[794,2573,2574],{"class":802},"\u002Fabout",[794,2576,1240],{"class":887},[794,2578,1485],{"class":887},[794,2580,2581],{"class":891},"About",[794,2583,2137],{"class":887},[794,2585,2564],{"class":799},[794,2587,1247],{"class":887},[794,2589,2590,2592,2595],{"class":796,"line":1262},[794,2591,1440],{"class":887},[794,2593,2594],{"class":799},"I18nSwitcher",[794,2596,1259],{"class":887},[794,2598,2599,2601,2604],{"class":796,"line":1273},[794,2600,1440],{"class":887},[794,2602,2603],{"class":799},"Routes",[794,2605,1247],{"class":887},[794,2607,2609,2612,2615,2618,2620,2622,2625,2627,2630,2633,2636],{"class":796,"line":2608},19,[794,2610,2611],{"class":887},"        \u003C",[794,2613,2614],{"class":799},"Route",[794,2616,2617],{"class":981}," path",[794,2619,988],{"class":887},[794,2621,1240],{"class":887},[794,2623,2624],{"class":802},"\u002F:locale?",[794,2626,1240],{"class":887},[794,2628,2629],{"class":981}," element",[794,2631,2632],{"class":887},"={\u003C",[794,2634,2635],{"class":799},"Home",[794,2637,2638],{"class":887}," \u002F>} \u002F>\n",[794,2640,2641,2643,2645,2647,2649,2651,2654,2656,2658,2660,2662],{"class":796,"line":18},[794,2642,2611],{"class":887},[794,2644,2614],{"class":799},[794,2646,2617],{"class":981},[794,2648,988],{"class":887},[794,2650,1240],{"class":887},[794,2652,2653],{"class":802},"\u002F:locale?\u002Fabout",[794,2655,1240],{"class":887},[794,2657,2629],{"class":981},[794,2659,2632],{"class":887},[794,2661,2581],{"class":799},[794,2663,2638],{"class":887},[794,2665,2667,2670,2672],{"class":796,"line":2666},21,[794,2668,2669],{"class":887},"      \u003C\u002F",[794,2671,2603],{"class":799},[794,2673,1247],{"class":887},[794,2675,2677,2680,2682],{"class":796,"line":2676},22,[794,2678,2679],{"class":887},"    \u003C\u002F",[794,2681,1211],{"class":799},[794,2683,1247],{"class":887},[794,2685,2687],{"class":796,"line":2686},23,[794,2688,1568],{"class":1000},[794,2690,2692],{"class":796,"line":2691},24,[794,2693,1493],{"class":887},[794,2695,2697],{"class":796,"line":2696},25,[794,2698,975],{"emptyLinePlaceholder":974},[794,2700,2702,2704,2707,2709,2712,2714],{"class":796,"line":2701},26,[794,2703,1380],{"class":883},[794,2705,2706],{"class":883}," default",[794,2708,1383],{"class":981},[794,2710,2711],{"class":1109}," App",[794,2713,1389],{"class":887},[794,2715,1392],{"class":887},[794,2717,2719,2721],{"class":796,"line":2718},27,[794,2720,1427],{"class":883},[794,2722,1430],{"class":1000},[794,2724,2726,2728,2731],{"class":796,"line":2725},28,[794,2727,1253],{"class":887},[794,2729,2730],{"class":799},"BrowserRouter",[794,2732,1247],{"class":887},[794,2734,2736,2738,2741],{"class":796,"line":2735},29,[794,2737,1440],{"class":887},[794,2739,2740],{"class":799},"Localized",[794,2742,1259],{"class":887},[794,2744,2745,2747,2749],{"class":796,"line":23},[794,2746,2679],{"class":887},[794,2748,2730],{"class":799},[794,2750,1247],{"class":887},[794,2752,2754],{"class":796,"line":2753},31,[794,2755,1568],{"class":1000},[794,2757,2759],{"class":796,"line":2758},32,[794,2760,1493],{"class":887},[748,2762,2763,2764,1294,2766,2769,2770,2773,2774,2777,2778,2781,2782,1294,2785,753,2788,2791,2792,774],{},"The adapter prefixes every locale except the default (",[751,2765,2574],{},[751,2767,2768],{},"\u002Fde\u002Fabout",") and renders ",[751,2771,2772],{},"\u003CI18nLink>"," as React Router's ",[751,2775,2776],{},"\u003CLink>",". Set the locale from the URL yourself (for example from ",[751,2779,2780],{},"useParams().locale"," in an effect). For any other router write an adapter with ",[751,2783,2784],{},"getCurrentPath",[751,2786,2787],{},"push",[751,2789,2790],{},"replace"," (all required) — see ",[758,2793,2795],{"href":2794},".\u002F#router-adapter","Router adapter",[776,2797,2799],{"id":2798},"ssr","SSR",[748,2801,2802,2805,2806,2808],{},[751,2803,2804],{},"renderToString"," works: ",[751,2807,764],{}," has a server snapshot. Create one instance per request and add its dictionaries before you render, so requests in different locales do not share state, or pass plain data to the provider.",[2810,2811,2813],"h3",{"id":2812},"hydration","Hydration",[748,2815,2816,2817,2820,2821,2823,2824,2827,2828,2830,2831,1692,2834,2837,2838,2841,2842,2845,2846,774],{},"Numbers, plurals and text hydrate as they are. A date depends on the time zone and a relative date on the clock: set ",[751,2818,2819],{},"timeZone"," on the server and in the browser, and for ",[751,2822,1617],{}," hand the browser the server's time with ",[751,2825,2826],{},"now",". ",[751,2829,1713],{}," with ",[751,2832,2833],{},"date",[751,2835,2836],{},"relativeDate"," sets ",[751,2839,2840],{},"suppressHydrationWarning",", so a difference does not fail hydration, but the server's text stays until the text changes. That reaches one level only: ",[751,2843,2844],{},"children"," that wrap the translation in an element still fail on a difference, so give those the same ",[751,2847,2819],{},[2810,2849,2851],{"id":2850},"server-components","Server Components",[748,2853,2854,2855,2827,2858,2861,2862,2864,2865,2868,2869,2872,2873,2827,2876,2879],{},"The package marks its client code with ",[751,2856,2857],{},"'use client'",[751,2859,2860],{},"@i18n-micro\u002Freact\u002Fserver"," has ",[751,2863,1314],{}," and an ",[751,2866,2867],{},"I18nT"," without hooks that takes the instance as a prop, so the text stays out of the client bundle. Under the ",[751,2870,2871],{},"react-server"," condition, as in the Next.js app router, the main entry resolves to it too, but TypeScript does not know that by default: import from ",[751,2874,2875],{},"\u002Fserver",[751,2877,2878],{},"@i18n-micro\u002Freact\u002Fclient"," always gives the client entry.",[784,2881,2883],{"className":867,"code":2882,"language":869,"meta":790,"style":790},"\u002F\u002F app\u002F[locale]\u002Flayout.tsx: a server component\nimport { cache } from 'react'\nimport { createI18n, I18nT } from '@i18n-micro\u002Freact\u002Fserver'\nimport { I18nProvider } from '@i18n-micro\u002Freact\u002Fclient'\nimport { loadMessages } from '.\u002Fmessages'\n\nconst getI18n = cache(async (locale: string) => createI18n({ locale, messages: await loadMessages(locale) }))\n\nexport default async function Layout({ params, children }) {\n  const { locale } = await params\n  const i18n = await getI18n(locale)\n  return (\n    \u003CI18nProvider locale={locale} messages={{ [locale]: i18n.resolveTranslations() }}>\n      \u003Ch1>\n        \u003CI18nT i18n={i18n} keypath=\"title\" \u002F>\n      \u003C\u002Fh1>\n      {children}\n    \u003C\u002FI18nProvider>\n  )\n}\n",[751,2884,2885,2890,2909,2932,2950,2970,2974,3030,3034,3063,3080,3099,3105,3145,3153,3180,3188,3197,3205,3209],{"__ignoreMap":790},[794,2886,2887],{"class":796,"line":353},[794,2888,2889],{"class":876},"\u002F\u002F app\u002F[locale]\u002Flayout.tsx: a server component\n",[794,2891,2892,2894,2896,2899,2901,2903,2905,2907],{"class":796,"line":880},[794,2893,884],{"class":883},[794,2895,888],{"class":887},[794,2897,2898],{"class":891}," cache",[794,2900,895],{"class":887},[794,2902,898],{"class":883},[794,2904,901],{"class":887},[794,2906,238],{"class":802},[794,2908,907],{"class":887},[794,2910,2911,2913,2915,2917,2919,2922,2924,2926,2928,2930],{"class":796,"line":910},[794,2912,884],{"class":883},[794,2914,888],{"class":887},[794,2916,917],{"class":891},[794,2918,920],{"class":887},[794,2920,2921],{"class":891}," I18nT",[794,2923,895],{"class":887},[794,2925,898],{"class":883},[794,2927,901],{"class":887},[794,2929,2860],{"class":802},[794,2931,907],{"class":887},[794,2933,2934,2936,2938,2940,2942,2944,2946,2948],{"class":796,"line":936},[794,2935,884],{"class":883},[794,2937,888],{"class":887},[794,2939,923],{"class":891},[794,2941,895],{"class":887},[794,2943,898],{"class":883},[794,2945,901],{"class":887},[794,2947,2878],{"class":802},[794,2949,907],{"class":887},[794,2951,2952,2954,2956,2959,2961,2963,2965,2968],{"class":796,"line":954},[794,2953,884],{"class":883},[794,2955,888],{"class":887},[794,2957,2958],{"class":891}," loadMessages",[794,2960,895],{"class":887},[794,2962,898],{"class":883},[794,2964,901],{"class":887},[794,2966,2967],{"class":802},".\u002Fmessages",[794,2969,907],{"class":887},[794,2971,2972],{"class":796,"line":971},[794,2973,975],{"emptyLinePlaceholder":974},[794,2975,2976,2978,2981,2983,2985,2987,2990,2993,2995,2997,3000,3002,3004,3006,3008,3010,3012,3014,3016,3018,3021,3023,3026,3028],{"class":796,"line":978},[794,2977,982],{"class":981},[794,2979,2980],{"class":891}," getI18n ",[794,2982,988],{"class":887},[794,2984,2898],{"class":1109},[794,2986,1112],{"class":891},[794,2988,2989],{"class":981},"async",[794,2991,2992],{"class":887}," (",[794,2994,1324],{"class":1823},[794,2996,1004],{"class":887},[794,2998,2999],{"class":799}," string",[794,3001,1189],{"class":887},[794,3003,1793],{"class":981},[794,3005,917],{"class":1109},[794,3007,1112],{"class":891},[794,3009,1115],{"class":887},[794,3011,1118],{"class":891},[794,3013,920],{"class":887},[794,3015,1144],{"class":1000},[794,3017,1004],{"class":887},[794,3019,3020],{"class":883}," await",[794,3022,2958],{"class":1109},[794,3024,3025],{"class":891},"(locale) ",[794,3027,1153],{"class":887},[794,3029,1851],{"class":891},[794,3031,3032],{"class":796,"line":994},[794,3033,975],{"emptyLinePlaceholder":974},[794,3035,3036,3038,3040,3043,3045,3048,3051,3054,3056,3059,3061],{"class":796,"line":358},[794,3037,1380],{"class":883},[794,3039,2706],{"class":883},[794,3041,3042],{"class":981}," async",[794,3044,1383],{"class":981},[794,3046,3047],{"class":1109}," Layout",[794,3049,3050],{"class":887},"({",[794,3052,3053],{"class":1823}," params",[794,3055,920],{"class":887},[794,3057,3058],{"class":1823}," children",[794,3060,2191],{"class":887},[794,3062,1392],{"class":887},[794,3064,3065,3067,3069,3071,3073,3075,3077],{"class":796,"line":6},[794,3066,1397],{"class":981},[794,3068,888],{"class":887},[794,3070,1118],{"class":891},[794,3072,895],{"class":887},[794,3074,1417],{"class":887},[794,3076,3020],{"class":883},[794,3078,3079],{"class":891}," params\n",[794,3081,3082,3084,3086,3088,3090,3093,3095,3097],{"class":796,"line":1094},[794,3083,1397],{"class":981},[794,3085,1214],{"class":891},[794,3087,1417],{"class":887},[794,3089,3020],{"class":883},[794,3091,3092],{"class":1109}," getI18n",[794,3094,1112],{"class":1000},[794,3096,1324],{"class":891},[794,3098,1158],{"class":1000},[794,3100,3101,3103],{"class":796,"line":1099},[794,3102,1427],{"class":883},[794,3104,1430],{"class":1000},[794,3106,3107,3109,3111,3113,3115,3117,3119,3121,3124,3126,3128,3130,3132,3134,3136,3139,3142],{"class":796,"line":1161},[794,3108,1253],{"class":887},[794,3110,1211],{"class":799},[794,3112,1118],{"class":981},[794,3114,1217],{"class":887},[794,3116,1324],{"class":891},[794,3118,1223],{"class":887},[794,3120,1328],{"class":981},[794,3122,3123],{"class":887},"={{",[794,3125,2022],{"class":1000},[794,3127,1324],{"class":891},[794,3129,2033],{"class":1000},[794,3131,1004],{"class":887},[794,3133,1214],{"class":891},[794,3135,774],{"class":887},[794,3137,3138],{"class":1109},"resolveTranslations",[794,3140,3141],{"class":891},"() ",[794,3143,3144],{"class":887},"}}>\n",[794,3146,3147,3149,3151],{"class":796,"line":1166},[794,3148,1440],{"class":887},[794,3150,744],{"class":1000},[794,3152,1247],{"class":887},[794,3154,3155,3157,3159,3161,3163,3165,3167,3170,3172,3174,3176,3178],{"class":796,"line":1205},[794,3156,2611],{"class":887},[794,3158,2867],{"class":799},[794,3160,1214],{"class":981},[794,3162,1217],{"class":887},[794,3164,1220],{"class":891},[794,3166,1223],{"class":887},[794,3168,3169],{"class":981},"keypath",[794,3171,988],{"class":887},[794,3173,1240],{"class":887},[794,3175,2209],{"class":802},[794,3177,1240],{"class":887},[794,3179,1259],{"class":887},[794,3181,3182,3184,3186],{"class":796,"line":1250},[794,3183,2669],{"class":887},[794,3185,744],{"class":1000},[794,3187,1247],{"class":887},[794,3189,3190,3193,3195],{"class":796,"line":1262},[794,3191,3192],{"class":887},"      {",[794,3194,2844],{"class":891},[794,3196,1493],{"class":887},[794,3198,3199,3201,3203],{"class":796,"line":1273},[794,3200,2679],{"class":887},[794,3202,1211],{"class":799},[794,3204,1247],{"class":887},[794,3206,3207],{"class":796,"line":2608},[794,3208,1568],{"class":1000},[794,3210,3211],{"class":796,"line":18},[794,3212,1493],{"class":887},[748,3214,3215,3216,3219],{},"Rendered through ",[751,3217,3218],{},"react-server-dom-webpack","; a Next.js app itself has not been run against this.",[776,3221,181],{"id":183},[1579,3223,3224,3234],{},[1582,3225,3226],{},[1585,3227,3228,3231],{},[1588,3229,3230],{},"Export",[1588,3232,3233],{},"Entry",[1595,3235,3236,3257,3273,3299,3316,3350,3361],{},[1585,3237,3238,3253],{},[1600,3239,3240,1294,3242,1294,3245,1294,3247,1294,3249,1294,3251],{},[751,3241,1314],{},[751,3243,3244],{},"ReactI18n",[751,3246,1211],{},[751,3248,283],{},[751,3250,1709],{},[751,3252,2009],{},[1600,3254,3255],{},[751,3256,657],{},[1585,3258,3259,3269],{},[1600,3260,3261,1294,3263,1294,3265,1294,3267],{},[751,3262,2867],{},[751,3264,2564],{},[751,3266,2594],{},[751,3268,2171],{},[1600,3270,3271],{},[751,3272,657],{},[1585,3274,3275,3295],{},[1600,3276,3277,1294,3280,1294,3283,1294,3286,1294,3289,1294,3292],{},[751,3278,3279],{},"I18nContext",[751,3281,3282],{},"I18nConfigContext",[751,3284,3285],{},"useI18nContext",[751,3287,3288],{},"useI18nLocales",[751,3290,3291],{},"useI18nDefaultLocale",[751,3293,3294],{},"useI18nRouter",[1600,3296,3297],{},[751,3298,657],{},[1585,3300,3301,3312],{},[1600,3302,3303,1294,3306,1294,3309],{},[751,3304,3305],{},"defaultPlural",[751,3307,3308],{},"FormatService",[751,3310,3311],{},"interpolate",[1600,3313,3314],{},[751,3315,657],{},[1585,3317,3318,3346],{},[1600,3319,3320,3321,1294,3324,1294,3327,1294,3330,3333,3334,1294,3337,1294,3340,1294,3343],{},"Types: ",[751,3322,3323],{},"I18nRoutingStrategy",[751,3325,3326],{},"ReactI18nOptions",[751,3328,3329],{},"I18nProviderProps",[751,3331,3332],{},"UseI18nReturn",", component props, ",[751,3335,3336],{},"TranslationKey",[751,3338,3339],{},"Locale",[751,3341,3342],{},"Translations",[751,3344,3345],{},"PluralFunc",[1600,3347,3348],{},[751,3349,657],{},[1585,3351,3352,3357],{},[1600,3353,3354],{},[751,3355,3356],{},"createReactRouterAdapter",[1600,3358,3359],{},[751,3360,859],{},[1585,3362,3363,3374],{},[1600,3364,3365,1294,3367,1294,3369,3371,3372,1189],{},[751,3366,1314],{},[751,3368,3244],{},[751,3370,2867],{}," (takes ",[751,3373,1220],{},[1600,3375,3376],{},[751,3377,2860],{},[748,3379,3380,3381,774],{},"Full signatures: ",[758,3382,3383],{"href":239},"React reference",[776,3385,769],{"id":234},[748,3387,3388,3390,3391,3394],{},[751,3389,653],{}," is built from the same source, on Preact itself, without ",[751,3392,3393],{},"preact\u002Fcompat",": the same instance, provider, hooks and components. Differences:",[1579,3396,3397,3408],{},[1582,3398,3399],{},[1585,3400,3401,3403,3406],{},[1588,3402],{},[1588,3404,3405],{},"React",[1588,3407,769],{},[1595,3409,3410,3430,3444,3463,3476],{},[1585,3411,3412,3415,3422],{},[1600,3413,3414],{},"Peer dependency",[1600,3416,3417,3419,3420,1189],{},[751,3418,238],{}," (+ optional ",[751,3421,852],{},[1600,3423,3424,841,3426,3429],{},[751,3425,234],{},[751,3427,3428],{},"^10.0.0 || ^11.0.0",", tested on 10.29 and 11.1",[1585,3431,3432,3435,3439],{},[1600,3433,3434],{},"Instance class",[1600,3436,3437],{},[751,3438,3244],{},[1600,3440,3441],{},[751,3442,3443],{},"PreactI18n",[1585,3445,3446,3448,3456],{},[1600,3447,2795],{},[1600,3449,3450,3452,3453],{},[751,3451,3356],{}," from ",[751,3454,3455],{},"\u002Frouter",[1600,3457,3458,3452,3461],{},[751,3459,3460],{},"createBrowserHistoryAdapter(locales, defaultLocale, ssrUrl?)",[751,3462,3455],{},[1585,3464,3465,3468,3473],{},[1600,3466,3467],{},"Re-render",[1600,3469,3470],{},[751,3471,3472],{},"useSyncExternalStore",[1600,3474,3475],{},"a layout-effect subscription that re-checks the store",[1585,3477,3478,3480,3487],{},[1600,3479,2851],{},[1600,3481,3482,1294,3484],{},[751,3483,2875],{},[751,3485,3486],{},"\u002Fclient",[1600,3488,3489],{},"none",[748,3491,3492,3495,3496,753,3498,3500,3501,3504,3505,3508,3509,3512,3513,3515,3516,3519,3520,3522,3523,3526,3527,3530],{},[751,3493,3494],{},"createBrowserHistoryAdapter"," works with any History API router (wouter, preact-router): ",[751,3497,2787],{},[751,3499,2790],{}," call ",[751,3502,3503],{},"history.pushState"," \u002F ",[751,3506,3507],{},"replaceState"," and dispatch ",[751,3510,3511],{},"popstate",", and ",[751,3514,2772],{}," renders a plain ",[751,3517,3518],{},"\u003Ca>"," that navigates through ",[751,3521,2787],{},". A server has no address bar: pass the request's URL as ",[751,3524,3525],{},"ssrUrl",", or links and the switcher render as on ",[751,3528,3529],{},"\u002F",". In a browser the address bar wins.",[784,3532,3534],{"className":867,"code":3533,"language":869,"meta":790,"style":790},"\u002F\u002F src\u002Fmain.tsx\nimport { render } from 'preact'\nimport { createI18n, I18nProvider } from '@i18n-micro\u002Fpreact'\nimport { createBrowserHistoryAdapter } from '@i18n-micro\u002Fpreact\u002Frouter'\nimport { App } from '.\u002FApp'\nimport en from '.\u002Flocales\u002Fen.json'\n\nconst locales = [\n  { code: 'en', iso: 'en-US', displayName: 'English' },\n  { code: 'de', iso: 'de-DE', displayName: 'Deutsch' },\n]\nconst i18n = createI18n({ locale: 'en', fallbackLocale: 'en', messages: { en } })\n\nrender(\n  \u003CI18nProvider i18n={i18n} locales={locales} defaultLocale=\"en\" routingStrategy={createBrowserHistoryAdapter(locales, 'en')}>\n    \u003CApp \u002F>\n  \u003C\u002FI18nProvider>,\n  document.getElementById('app')!,\n)\n",[751,3535,3536,3540,3559,3581,3601,3619,3633,3637,3647,3687,3727,3731,3783,3787,3793,3846,3854,3862,3885],{"__ignoreMap":790},[794,3537,3538],{"class":796,"line":353},[794,3539,877],{"class":876},[794,3541,3542,3544,3546,3549,3551,3553,3555,3557],{"class":796,"line":880},[794,3543,884],{"class":883},[794,3545,888],{"class":887},[794,3547,3548],{"class":891}," render",[794,3550,895],{"class":887},[794,3552,898],{"class":883},[794,3554,901],{"class":887},[794,3556,234],{"class":802},[794,3558,907],{"class":887},[794,3560,3561,3563,3565,3567,3569,3571,3573,3575,3577,3579],{"class":796,"line":910},[794,3562,884],{"class":883},[794,3564,888],{"class":887},[794,3566,917],{"class":891},[794,3568,920],{"class":887},[794,3570,923],{"class":891},[794,3572,895],{"class":887},[794,3574,898],{"class":883},[794,3576,901],{"class":887},[794,3578,653],{"class":802},[794,3580,907],{"class":887},[794,3582,3583,3585,3587,3590,3592,3594,3596,3599],{"class":796,"line":936},[794,3584,884],{"class":883},[794,3586,888],{"class":887},[794,3588,3589],{"class":891}," createBrowserHistoryAdapter",[794,3591,895],{"class":887},[794,3593,898],{"class":883},[794,3595,901],{"class":887},[794,3597,3598],{"class":802},"@i18n-micro\u002Fpreact\u002Frouter",[794,3600,907],{"class":887},[794,3602,3603,3605,3607,3609,3611,3613,3615,3617],{"class":796,"line":954},[794,3604,884],{"class":883},[794,3606,888],{"class":887},[794,3608,2711],{"class":891},[794,3610,895],{"class":887},[794,3612,898],{"class":883},[794,3614,901],{"class":887},[794,3616,949],{"class":802},[794,3618,907],{"class":887},[794,3620,3621,3623,3625,3627,3629,3631],{"class":796,"line":971},[794,3622,884],{"class":883},[794,3624,959],{"class":891},[794,3626,944],{"class":883},[794,3628,901],{"class":887},[794,3630,966],{"class":802},[794,3632,907],{"class":887},[794,3634,3635],{"class":796,"line":978},[794,3636,975],{"emptyLinePlaceholder":974},[794,3638,3639,3641,3643,3645],{"class":796,"line":994},[794,3640,982],{"class":981},[794,3642,985],{"class":891},[794,3644,988],{"class":887},[794,3646,991],{"class":891},[794,3648,3649,3651,3653,3655,3657,3659,3661,3663,3665,3667,3669,3671,3673,3675,3677,3679,3681,3683,3685],{"class":796,"line":358},[794,3650,997],{"class":887},[794,3652,1001],{"class":1000},[794,3654,1004],{"class":887},[794,3656,901],{"class":887},[794,3658,1009],{"class":802},[794,3660,1012],{"class":887},[794,3662,920],{"class":887},[794,3664,1017],{"class":1000},[794,3666,1004],{"class":887},[794,3668,901],{"class":887},[794,3670,1024],{"class":802},[794,3672,1012],{"class":887},[794,3674,920],{"class":887},[794,3676,1031],{"class":1000},[794,3678,1004],{"class":887},[794,3680,901],{"class":887},[794,3682,1038],{"class":802},[794,3684,1012],{"class":887},[794,3686,1043],{"class":887},[794,3688,3689,3691,3693,3695,3697,3699,3701,3703,3705,3707,3709,3711,3713,3715,3717,3719,3721,3723,3725],{"class":796,"line":6},[794,3690,997],{"class":887},[794,3692,1001],{"class":1000},[794,3694,1004],{"class":887},[794,3696,901],{"class":887},[794,3698,1056],{"class":802},[794,3700,1012],{"class":887},[794,3702,920],{"class":887},[794,3704,1017],{"class":1000},[794,3706,1004],{"class":887},[794,3708,901],{"class":887},[794,3710,1069],{"class":802},[794,3712,1012],{"class":887},[794,3714,920],{"class":887},[794,3716,1031],{"class":1000},[794,3718,1004],{"class":887},[794,3720,901],{"class":887},[794,3722,1082],{"class":802},[794,3724,1012],{"class":887},[794,3726,1043],{"class":887},[794,3728,3729],{"class":796,"line":1094},[794,3730,1091],{"class":891},[794,3732,3733,3735,3737,3739,3741,3743,3745,3747,3749,3751,3753,3755,3757,3759,3761,3763,3765,3767,3769,3771,3773,3775,3777,3779,3781],{"class":796,"line":1099},[794,3734,982],{"class":981},[794,3736,1104],{"class":891},[794,3738,988],{"class":887},[794,3740,917],{"class":1109},[794,3742,1112],{"class":891},[794,3744,1115],{"class":887},[794,3746,1118],{"class":1000},[794,3748,1004],{"class":887},[794,3750,901],{"class":887},[794,3752,1009],{"class":802},[794,3754,1012],{"class":887},[794,3756,920],{"class":887},[794,3758,1131],{"class":1000},[794,3760,1004],{"class":887},[794,3762,901],{"class":887},[794,3764,1009],{"class":802},[794,3766,1012],{"class":887},[794,3768,920],{"class":887},[794,3770,1144],{"class":1000},[794,3772,1004],{"class":887},[794,3774,888],{"class":887},[794,3776,959],{"class":891},[794,3778,1153],{"class":887},[794,3780,895],{"class":887},[794,3782,1158],{"class":891},[794,3784,3785],{"class":796,"line":1161},[794,3786,975],{"emptyLinePlaceholder":974},[794,3788,3789,3791],{"class":796,"line":1166},[794,3790,1199],{"class":1109},[794,3792,1202],{"class":891},[794,3794,3795,3797,3799,3801,3803,3805,3807,3809,3811,3813,3815,3817,3819,3821,3823,3825,3827,3829,3831,3834,3836,3838,3840,3842,3844],{"class":796,"line":1205},[794,3796,1208],{"class":887},[794,3798,1211],{"class":799},[794,3800,1214],{"class":981},[794,3802,1217],{"class":887},[794,3804,1220],{"class":891},[794,3806,1223],{"class":887},[794,3808,1226],{"class":981},[794,3810,1217],{"class":887},[794,3812,1226],{"class":891},[794,3814,1223],{"class":887},[794,3816,1235],{"class":981},[794,3818,988],{"class":887},[794,3820,1240],{"class":887},[794,3822,1009],{"class":802},[794,3824,1240],{"class":887},[794,3826,2462],{"class":981},[794,3828,1217],{"class":887},[794,3830,3494],{"class":1109},[794,3832,3833],{"class":891},"(locales",[794,3835,920],{"class":887},[794,3837,901],{"class":887},[794,3839,1009],{"class":802},[794,3841,1012],{"class":887},[794,3843,1189],{"class":891},[794,3845,2557],{"class":887},[794,3847,3848,3850,3852],{"class":796,"line":1250},[794,3849,1253],{"class":887},[794,3851,1256],{"class":799},[794,3853,1259],{"class":887},[794,3855,3856,3858,3860],{"class":796,"line":1262},[794,3857,1265],{"class":887},[794,3859,1211],{"class":799},[794,3861,1270],{"class":887},[794,3863,3864,3867,3869,3871,3873,3875,3878,3880,3882],{"class":796,"line":1273},[794,3865,3866],{"class":891},"  document",[794,3868,774],{"class":887},[794,3870,1177],{"class":1109},[794,3872,1112],{"class":891},[794,3874,1012],{"class":887},[794,3876,3877],{"class":802},"app",[794,3879,1012],{"class":887},[794,3881,1189],{"class":891},[794,3883,3884],{"class":887},"!,\n",[794,3886,3887],{"class":796,"line":2608},[794,3888,1158],{"class":891},[748,3890,3380,3891,774],{},[758,3892,3893],{"href":235},"Preact reference",[776,3895,3897],{"id":3896},"related","Related",[3899,3900,3901,3908,3913],"card-group",{},[3902,3903,3905],"card",{"icon":3904,"title":131,"to":773},"i-lucide-book-open",[748,3906,3907],{},"Instance options, router adapter, component props",[3902,3909,3910],{"icon":3904,"title":164,"to":760},[748,3911,3912],{},"The instance these packages build on",[3902,3914,3916],{"icon":3904,"title":173,"to":3915},".\u002Ftypes-generator",[748,3917,3918],{},"Autocomplete for keys",[3920,3921,3922],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":790,"searchDepth":880,"depth":880,"links":3924},[3925,3926,3927,3928,3929,3930,3934,3935,3936],{"id":778,"depth":880,"text":779},{"id":863,"depth":880,"text":864},{"id":1346,"depth":880,"text":1347},{"id":1933,"depth":880,"text":1934},{"id":2231,"depth":880,"text":55},{"id":2798,"depth":880,"text":2799,"children":3931},[3932,3933],{"id":2812,"depth":910,"text":2813},{"id":2850,"depth":910,"text":2851},{"id":183,"depth":880,"text":181},{"id":234,"depth":880,"text":769},{"id":3896,"depth":880,"text":3897},"Translations, locale switching and router integration for React and Preact apps with @i18n-micro\u002Freact and @i18n-micro\u002Fpreact.","md","2026-11-04T00:40:16+04:00",null,{"outline":3942},"deep",{"order":23,"group":142},{"title":144,"description":3937},"TL32LezeW6OSnA52IZKCEXvD5hvVCp7wXoTYhkPxSIo",[3947,3949],{"title":139,"path":140,"description":3948},"Translations, locale switching and vue-router integration for Vue 3 apps with @i18n-micro\u002Fvue.",{"title":148,"path":149,"description":3950},"Translations, locale switching and @solidjs\u002Frouter integration for SolidJS apps with @i18n-micro\u002Fsolid.",1794131149912]