[{"data":1,"prerenderedAt":1976},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-agent-setup":357,"-getting-started-agent-setup-surround":1973},[4,22,40,53,78,107,132,153,167,176,347],{"title":5,"path":6,"stem":7,"children":8,"page":21},"Introduction","\u002Fintroduction","1.introduction",[9,13,17],{"title":10,"path":11,"stem":12},"Why the-i18n-kit","\u002Fintroduction\u002Fwhy","1.introduction\u002F1.why",{"title":14,"path":15,"stem":16},"Architecture","\u002Fintroduction\u002Farchitecture","1.introduction\u002F2.architecture",{"title":18,"path":19,"stem":20},"Built for Agents","\u002Fintroduction\u002Fbuilt-for-agents","1.introduction\u002F3.built-for-agents",false,{"title":23,"icon":24,"path":25,"stem":26,"children":27,"page":21},"ESLint Plugin","i-lucide-shield-check","\u002Feslint-plugin","10.eslint-plugin",[28,32,36],{"title":29,"path":30,"stem":31},"Install and Presets","\u002Feslint-plugin\u002Finstall","10.eslint-plugin\u002F1.install",{"title":33,"path":34,"stem":35},"The Rules","\u002Feslint-plugin\u002Frules","10.eslint-plugin\u002F2.rules",{"title":37,"path":38,"stem":39},"Layer-Aware Missing Keys","\u002Feslint-plugin\u002Flayer-aware","10.eslint-plugin\u002F3.layer-aware",{"title":41,"path":42,"stem":43,"children":44,"page":21},"Getting Started","\u002Fgetting-started","2.getting-started",[45,49],{"title":46,"path":47,"stem":48},"Set Up the MCP Server","\u002Fgetting-started\u002Fagent-setup","2.getting-started\u002F1.agent-setup",{"title":50,"path":51,"stem":52},"From an Unconfigured Repository to a Gated CI Job","\u002Fgetting-started\u002Fcold-start","2.getting-started\u002F2.cold-start",{"title":54,"path":55,"stem":56,"children":57,"page":21},"Monorepos","\u002Fmonorepos","3.monorepos",[58,62,66,70,74],{"title":59,"path":60,"stem":61},"Layers","\u002Fmonorepos\u002Flayers","3.monorepos\u002F1.layers",{"title":63,"path":64,"stem":65},"The Consumer Graph","\u002Fmonorepos\u002Fconsumer-graph","3.monorepos\u002F2.consumer-graph",{"title":67,"path":68,"stem":69},"The Shared Library Scenario","\u002Fmonorepos\u002Fshared-libraries","3.monorepos\u002F3.shared-libraries",{"title":71,"path":72,"stem":73},"Duplicates and Divergence","\u002Fmonorepos\u002Fduplicates-and-divergence","3.monorepos\u002F4.duplicates-and-divergence",{"title":75,"path":76,"stem":77},"Misplaced Usages","\u002Fmonorepos\u002Fmisplaced-usages","3.monorepos\u002F5.misplaced-usages",{"title":79,"path":80,"stem":81,"children":82,"page":21},"Frameworks","\u002Fframeworks","4.frameworks",[83,87,91,95,99,103],{"title":84,"path":85,"stem":86},"Detection","\u002Fframeworks\u002Fdetection","4.frameworks\u002F1.detection",{"title":88,"path":89,"stem":90},"Nuxt","\u002Fframeworks\u002Fnuxt","4.frameworks\u002F2.nuxt",{"title":92,"path":93,"stem":94},"Laravel","\u002Fframeworks\u002Flaravel","4.frameworks\u002F3.laravel",{"title":96,"path":97,"stem":98},"Vue","\u002Fframeworks\u002Fvue","4.frameworks\u002F4.vue",{"title":100,"path":101,"stem":102},"React \u002F Next.js","\u002Fframeworks\u002Freact-next","4.frameworks\u002F5.react-next",{"title":104,"path":105,"stem":106},"Generic","\u002Fframeworks\u002Fgeneric","4.frameworks\u002F6.generic",{"title":108,"path":109,"stem":110,"children":111,"page":21},"Configuration","\u002Fconfiguration","5.configuration",[112,116,120,124,128],{"title":113,"path":114,"stem":115},"Where Configuration Lives","\u002Fconfiguration\u002Fwhere-config-lives","5.configuration\u002F1.where-config-lives",{"title":117,"path":118,"stem":119},"Precedence and Conflicts","\u002Fconfiguration\u002Fprecedence","5.configuration\u002F2.precedence",{"title":121,"path":122,"stem":123},"Declared vs. Derived Configuration","\u002Fconfiguration\u002Fdeclared-vs-derived","5.configuration\u002F3.declared-vs-derived",{"title":125,"path":126,"stem":127},"Configuration Fields","\u002Fconfiguration\u002Freference","5.configuration\u002F4.reference",{"title":129,"path":130,"stem":131},"Referring to Locales","\u002Fconfiguration\u002Flocale-refs","5.configuration\u002F5.locale-refs",{"title":133,"path":134,"stem":135,"children":136,"page":21},"Nuxt Module","\u002Fnuxt-module","6.nuxt-module",[137,141,145,149],{"title":138,"path":139,"stem":140},"Install and Setup","\u002Fnuxt-module\u002Finstall","6.nuxt-module\u002F1.install",{"title":142,"path":143,"stem":144},"What It Publishes","\u002Fnuxt-module\u002Fwhat-it-publishes","6.nuxt-module\u002F2.what-it-publishes",{"title":146,"path":147,"stem":148},"What It Validates","\u002Fnuxt-module\u002Fvalidation","6.nuxt-module\u002F3.validation",{"title":150,"path":151,"stem":152},"Options and Limits","\u002Fnuxt-module\u002Foptions-and-limits","6.nuxt-module\u002F4.options-and-limits",{"title":154,"icon":155,"path":156,"stem":157,"children":158,"page":21},"CI\u002FCD","i-lucide-git-pull-request","\u002Fci-cd","7.ci-cd",[159,163],{"title":160,"path":161,"stem":162},"GitHub Actions","\u002Fci-cd\u002Fgithub-actions","7.ci-cd\u002F1.github-actions",{"title":164,"path":165,"stem":166},"GitLab CI","\u002Fci-cd\u002Fgitlab-ci","7.ci-cd\u002F2.gitlab-ci",{"title":168,"path":169,"stem":170,"children":171,"page":21},"Concepts","\u002Fconcepts","8.concepts",[172],{"title":173,"path":174,"stem":175},"Translation Modes","\u002Fconcepts\u002Ftranslation-modes","8.concepts\u002F1.translation-modes",{"title":177,"path":178,"stem":179,"children":180,"page":-1},"Reference","\u002Freference","9.reference",[181,183,261,339,343],{"title":177,"path":178,"stem":182},"9.reference\u002Findex",{"title":184,"path":185,"stem":186,"children":187,"page":-1},"CLI Commands","\u002Freference\u002Fcli","9.reference\u002F1.cli\u002Findex",[188,189,193,197,201,205,209,213,217,221,225,229,233,237,241,245,249,253,257],{"title":184,"path":185,"stem":186},{"title":190,"path":191,"stem":192},"add","\u002Freference\u002Fcli\u002Fadd","9.reference\u002F1.cli\u002Fadd",{"title":194,"path":195,"stem":196},"check","\u002Freference\u002Fcli\u002Fcheck","9.reference\u002F1.cli\u002Fcheck",{"title":198,"path":199,"stem":200},"find-duplicates","\u002Freference\u002Fcli\u002Ffind-duplicates","9.reference\u002F1.cli\u002Ffind-duplicates",{"title":202,"path":203,"stem":204},"get","\u002Freference\u002Fcli\u002Fget","9.reference\u002F1.cli\u002Fget",{"title":206,"path":207,"stem":208},"init","\u002Freference\u002Fcli\u002Finit","9.reference\u002F1.cli\u002Finit",{"title":210,"path":211,"stem":212},"missing","\u002Freference\u002Fcli\u002Fmissing","9.reference\u002F1.cli\u002Fmissing",{"title":214,"path":215,"stem":216},"move","\u002Freference\u002Fcli\u002Fmove","9.reference\u002F1.cli\u002Fmove",{"title":218,"path":219,"stem":220},"remove","\u002Freference\u002Fcli\u002Fremove","9.reference\u002F1.cli\u002Fremove",{"title":222,"path":223,"stem":224},"remove-orphans","\u002Freference\u002Fcli\u002Fremove-orphans","9.reference\u002F1.cli\u002Fremove-orphans",{"title":226,"path":227,"stem":228},"rename","\u002Freference\u002Fcli\u002Frename","9.reference\u002F1.cli\u002Frename",{"title":230,"path":231,"stem":232},"scaffold","\u002Freference\u002Fcli\u002Fscaffold","9.reference\u002F1.cli\u002Fscaffold",{"title":234,"path":235,"stem":236},"scan","\u002Freference\u002Fcli\u002Fscan","9.reference\u002F1.cli\u002Fscan",{"title":238,"path":239,"stem":240},"search","\u002Freference\u002Fcli\u002Fsearch","9.reference\u002F1.cli\u002Fsearch",{"title":242,"path":243,"stem":244},"status","\u002Freference\u002Fcli\u002Fstatus","9.reference\u002F1.cli\u002Fstatus",{"title":246,"path":247,"stem":248},"translate","\u002Freference\u002Fcli\u002Ftranslate","9.reference\u002F1.cli\u002Ftranslate",{"title":250,"path":251,"stem":252},"translate-key","\u002Freference\u002Fcli\u002Ftranslate-key","9.reference\u002F1.cli\u002Ftranslate-key",{"title":254,"path":255,"stem":256},"update","\u002Freference\u002Fcli\u002Fupdate","9.reference\u002F1.cli\u002Fupdate",{"title":258,"path":259,"stem":260},"write","\u002Freference\u002Fcli\u002Fwrite","9.reference\u002F1.cli\u002Fwrite",{"title":262,"path":263,"stem":264,"children":265,"page":-1},"MCP Tools","\u002Freference\u002Fmcp","9.reference\u002F2.mcp\u002Findex",[266,267,271,275,279,283,287,291,295,299,303,307,311,315,319,323,327,331,335],{"title":262,"path":263,"stem":264},{"title":268,"path":269,"stem":270},"discover","\u002Freference\u002Fmcp\u002Fdiscover","9.reference\u002F2.mcp\u002Fdiscover",{"title":272,"path":273,"stem":274},"find_duplicate_keys","\u002Freference\u002Fmcp\u002Ffind_duplicate_keys","9.reference\u002F2.mcp\u002Ffind_duplicate_keys",{"title":276,"path":277,"stem":278},"find_empty_translations","\u002Freference\u002Fmcp\u002Ffind_empty_translations","9.reference\u002F2.mcp\u002Ffind_empty_translations",{"title":280,"path":281,"stem":282},"find_orphan_keys","\u002Freference\u002Fmcp\u002Ffind_orphan_keys","9.reference\u002F2.mcp\u002Ffind_orphan_keys",{"title":284,"path":285,"stem":286},"find_undefined_keys","\u002Freference\u002Fmcp\u002Ffind_undefined_keys","9.reference\u002F2.mcp\u002Ffind_undefined_keys",{"title":288,"path":289,"stem":290},"get_missing_translations","\u002Freference\u002Fmcp\u002Fget_missing_translations","9.reference\u002F2.mcp\u002Fget_missing_translations",{"title":292,"path":293,"stem":294},"get_translation_status","\u002Freference\u002Fmcp\u002Fget_translation_status","9.reference\u002F2.mcp\u002Fget_translation_status",{"title":296,"path":297,"stem":298},"get_translations","\u002Freference\u002Fmcp\u002Fget_translations","9.reference\u002F2.mcp\u002Fget_translations",{"title":300,"path":301,"stem":302},"list_namespaces","\u002Freference\u002Fmcp\u002Flist_namespaces","9.reference\u002F2.mcp\u002Flist_namespaces",{"title":304,"path":305,"stem":306},"move_translation_key","\u002Freference\u002Fmcp\u002Fmove_translation_key","9.reference\u002F2.mcp\u002Fmove_translation_key",{"title":308,"path":309,"stem":310},"remove_orphan_keys","\u002Freference\u002Fmcp\u002Fremove_orphan_keys","9.reference\u002F2.mcp\u002Fremove_orphan_keys",{"title":312,"path":313,"stem":314},"remove_translations","\u002Freference\u002Fmcp\u002Fremove_translations","9.reference\u002F2.mcp\u002Fremove_translations",{"title":316,"path":317,"stem":318},"rename_translation_key","\u002Freference\u002Fmcp\u002Frename_translation_key","9.reference\u002F2.mcp\u002Frename_translation_key",{"title":320,"path":321,"stem":322},"scaffold_locale","\u002Freference\u002Fmcp\u002Fscaffold_locale","9.reference\u002F2.mcp\u002Fscaffold_locale",{"title":324,"path":325,"stem":326},"search_translations","\u002Freference\u002Fmcp\u002Fsearch_translations","9.reference\u002F2.mcp\u002Fsearch_translations",{"title":328,"path":329,"stem":330},"translate_key","\u002Freference\u002Fmcp\u002Ftranslate_key","9.reference\u002F2.mcp\u002Ftranslate_key",{"title":332,"path":333,"stem":334},"translate_missing","\u002Freference\u002Fmcp\u002Ftranslate_missing","9.reference\u002F2.mcp\u002Ftranslate_missing",{"title":336,"path":337,"stem":338},"write_translations","\u002Freference\u002Fmcp\u002Fwrite_translations","9.reference\u002F2.mcp\u002Fwrite_translations",{"title":340,"path":341,"stem":342},"GitHub Action","\u002Freference\u002Faction","9.reference\u002F3.action",{"title":344,"path":345,"stem":346},"Programmatic API","\u002Freference\u002Fprogrammatic-api","9.reference\u002F4.programmatic-api",{"title":348,"icon":349,"path":350,"stem":351,"children":352,"page":21},"Extra Topics","i-lucide-microscope","\u002Fextra-topics","91.extra-topics",[353],{"title":354,"path":355,"stem":356},"How Detection Scores Adapters","\u002Fextra-topics\u002Fdetection-scoring","91.extra-topics\u002F1.detection-scoring",{"id":358,"title":46,"body":359,"description":414,"extension":1967,"links":1968,"meta":1969,"navigation":1764,"path":47,"seo":1970,"stem":48,"__hash__":1972},"docs\u002F2.getting-started\u002F1.agent-setup.md",{"type":360,"value":361,"toc":1953},"minimark",[362,367,380,392,395,399,402,407,550,554,639,646,650,735,748,752,835,846,850,853,860,877,880,889,1368,1371,1404,1408,1419,1428,1434,1613,1618,1705,1708,1717,1721,1724,1851,1872,1876,1887,1890,1918,1922,1949],[363,364,366],"h2",{"id":365},"what-you-are-installing","What You Are Installing",[368,369,370,371,375,376,379],"p",{},"Nothing, in the usual sense. Your MCP host starts the server itself, over stdio,\nwith ",[372,373,374],"code",{},"npx @the-i18n-kit\u002Fmcp@latest"," — so the version your agent runs is resolved\nat launch and there is no global install to keep current. Configure the scoped\nname: the unscoped ",[372,377,378],{},"the-i18n-mcp"," publishes from the same source at the same\nversions, and stops receiving updates.",[368,381,382,383,386,387,391],{},"A coverage number your agent reports and a coverage number you get from\n",[372,384,385],{},"the-i18n-cli status"," are the same number — both surfaces call the same\noperations. See ",[388,389,390],"a",{"href":15},"architecture",".",[368,393,394],{},"You need Node 20 or newer on the machine running the host. You do not need to\ninstall the CLI, and you do not need a configuration file to start — the server\ndetects your framework, locales and layers on its first call.",[363,396,398],{"id":397},"configure-your-host","Configure Your Host",[368,400,401],{},"Each block below goes in that host's own MCP configuration file. Project-level\nfiles sit in your repository, so the server is available to anyone who opens it.",[403,404,406],"h3",{"id":405},"vs-code","VS Code",[408,409,415],"pre",{"className":410,"code":411,"filename":412,"language":413,"meta":414,"style":414},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"servers\": {\n    \"the-i18n-mcp\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"@the-i18n-kit\u002Fmcp@latest\"]\n    }\n  }\n}\n",".vscode\u002Fmcp.json","json","",[372,416,417,426,445,460,486,507,532,538,544],{"__ignoreMap":414},[418,419,422],"span",{"class":420,"line":421},"line",1,[418,423,425],{"class":424},"sMK4o","{\n",[418,427,429,432,436,439,442],{"class":420,"line":428},2,[418,430,431],{"class":424},"  \"",[418,433,435],{"class":434},"spNyl","servers",[418,437,438],{"class":424},"\"",[418,440,441],{"class":424},":",[418,443,444],{"class":424}," {\n",[418,446,448,451,454,456,458],{"class":420,"line":447},3,[418,449,450],{"class":424},"    \"",[418,452,378],{"class":453},"sBMFI",[418,455,438],{"class":424},[418,457,441],{"class":424},[418,459,444],{"class":424},[418,461,463,466,470,472,474,477,481,483],{"class":420,"line":462},4,[418,464,465],{"class":424},"      \"",[418,467,469],{"class":468},"sbssI","type",[418,471,438],{"class":424},[418,473,441],{"class":424},[418,475,476],{"class":424}," \"",[418,478,480],{"class":479},"sfazB","stdio",[418,482,438],{"class":424},[418,484,485],{"class":424},",\n",[418,487,489,491,494,496,498,500,503,505],{"class":420,"line":488},5,[418,490,465],{"class":424},[418,492,493],{"class":468},"command",[418,495,438],{"class":424},[418,497,441],{"class":424},[418,499,476],{"class":424},[418,501,502],{"class":479},"npx",[418,504,438],{"class":424},[418,506,485],{"class":424},[418,508,510,512,515,517,519,522,524,527,529],{"class":420,"line":509},6,[418,511,465],{"class":424},[418,513,514],{"class":468},"args",[418,516,438],{"class":424},[418,518,441],{"class":424},[418,520,521],{"class":424}," [",[418,523,438],{"class":424},[418,525,526],{"class":479},"@the-i18n-kit\u002Fmcp@latest",[418,528,438],{"class":424},[418,530,531],{"class":424},"]\n",[418,533,535],{"class":420,"line":534},7,[418,536,537],{"class":424},"    }\n",[418,539,541],{"class":420,"line":540},8,[418,542,543],{"class":424},"  }\n",[418,545,547],{"class":420,"line":546},9,[418,548,549],{"class":424},"}\n",[403,551,553],{"id":552},"cursor","Cursor",[408,555,558],{"className":410,"code":556,"filename":557,"language":413,"meta":414,"style":414},"{\n  \"mcpServers\": {\n    \"the-i18n-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"@the-i18n-kit\u002Fmcp@latest\"]\n    }\n  }\n}\n",".cursor\u002Fmcp.json",[372,559,560,564,577,589,607,627,631,635],{"__ignoreMap":414},[418,561,562],{"class":420,"line":421},[418,563,425],{"class":424},[418,565,566,568,571,573,575],{"class":420,"line":428},[418,567,431],{"class":424},[418,569,570],{"class":434},"mcpServers",[418,572,438],{"class":424},[418,574,441],{"class":424},[418,576,444],{"class":424},[418,578,579,581,583,585,587],{"class":420,"line":447},[418,580,450],{"class":424},[418,582,378],{"class":453},[418,584,438],{"class":424},[418,586,441],{"class":424},[418,588,444],{"class":424},[418,590,591,593,595,597,599,601,603,605],{"class":420,"line":462},[418,592,465],{"class":424},[418,594,493],{"class":468},[418,596,438],{"class":424},[418,598,441],{"class":424},[418,600,476],{"class":424},[418,602,502],{"class":479},[418,604,438],{"class":424},[418,606,485],{"class":424},[418,608,609,611,613,615,617,619,621,623,625],{"class":420,"line":488},[418,610,465],{"class":424},[418,612,514],{"class":468},[418,614,438],{"class":424},[418,616,441],{"class":424},[418,618,521],{"class":424},[418,620,438],{"class":424},[418,622,526],{"class":479},[418,624,438],{"class":424},[418,626,531],{"class":424},[418,628,629],{"class":420,"line":509},[418,630,537],{"class":424},[418,632,633],{"class":420,"line":534},[418,634,543],{"class":424},[418,636,637],{"class":420,"line":540},[418,638,549],{"class":424},[368,640,641,642,645],{},"A file at ",[372,643,644],{},"~\u002F.cursor\u002Fmcp.json"," with the same contents makes the server\navailable in every project instead of one.",[403,647,649],{"id":648},"zed","Zed",[408,651,654],{"className":410,"code":652,"filename":653,"language":413,"meta":414,"style":414},"{\n  \"context_servers\": {\n    \"the-i18n-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"@the-i18n-kit\u002Fmcp@latest\"]\n    }\n  }\n}\n",".zed\u002Fsettings.json",[372,655,656,660,673,685,703,723,727,731],{"__ignoreMap":414},[418,657,658],{"class":420,"line":421},[418,659,425],{"class":424},[418,661,662,664,667,669,671],{"class":420,"line":428},[418,663,431],{"class":424},[418,665,666],{"class":434},"context_servers",[418,668,438],{"class":424},[418,670,441],{"class":424},[418,672,444],{"class":424},[418,674,675,677,679,681,683],{"class":420,"line":447},[418,676,450],{"class":424},[418,678,378],{"class":453},[418,680,438],{"class":424},[418,682,441],{"class":424},[418,684,444],{"class":424},[418,686,687,689,691,693,695,697,699,701],{"class":420,"line":462},[418,688,465],{"class":424},[418,690,493],{"class":468},[418,692,438],{"class":424},[418,694,441],{"class":424},[418,696,476],{"class":424},[418,698,502],{"class":479},[418,700,438],{"class":424},[418,702,485],{"class":424},[418,704,705,707,709,711,713,715,717,719,721],{"class":420,"line":488},[418,706,465],{"class":424},[418,708,514],{"class":468},[418,710,438],{"class":424},[418,712,441],{"class":424},[418,714,521],{"class":424},[418,716,438],{"class":424},[418,718,526],{"class":479},[418,720,438],{"class":424},[418,722,531],{"class":424},[418,724,725],{"class":420,"line":509},[418,726,537],{"class":424},[418,728,729],{"class":420,"line":534},[418,730,543],{"class":424},[418,732,733],{"class":420,"line":540},[418,734,549],{"class":424},[736,737,738,739,741,742,744,745,747],"note",{},"Zed has changed the shape of ",[372,740,666],{}," between releases. If Zed rejects\nthe block above, check its current settings schema and keep the ",[372,743,493],{}," and\n",[372,746,514],{}," values — those are what the server needs; the surrounding keys belong to\nZed.",[403,749,751],{"id":750},"claude-desktop","Claude Desktop",[408,753,755],{"className":410,"code":556,"filename":754,"language":413,"meta":414,"style":414},"claude_desktop_config.json",[372,756,757,761,773,785,803,823,827,831],{"__ignoreMap":414},[418,758,759],{"class":420,"line":421},[418,760,425],{"class":424},[418,762,763,765,767,769,771],{"class":420,"line":428},[418,764,431],{"class":424},[418,766,570],{"class":434},[418,768,438],{"class":424},[418,770,441],{"class":424},[418,772,444],{"class":424},[418,774,775,777,779,781,783],{"class":420,"line":447},[418,776,450],{"class":424},[418,778,378],{"class":453},[418,780,438],{"class":424},[418,782,441],{"class":424},[418,784,444],{"class":424},[418,786,787,789,791,793,795,797,799,801],{"class":420,"line":462},[418,788,465],{"class":424},[418,790,493],{"class":468},[418,792,438],{"class":424},[418,794,441],{"class":424},[418,796,476],{"class":424},[418,798,502],{"class":479},[418,800,438],{"class":424},[418,802,485],{"class":424},[418,804,805,807,809,811,813,815,817,819,821],{"class":420,"line":488},[418,806,465],{"class":424},[418,808,514],{"class":468},[418,810,438],{"class":424},[418,812,441],{"class":424},[418,814,521],{"class":424},[418,816,438],{"class":424},[418,818,526],{"class":479},[418,820,438],{"class":424},[418,822,531],{"class":424},[418,824,825],{"class":420,"line":509},[418,826,537],{"class":424},[418,828,829],{"class":420,"line":534},[418,830,543],{"class":424},[418,832,833],{"class":420,"line":540},[418,834,549],{"class":424},[368,836,837,838,841,842,845],{},"The file lives at ",[372,839,840],{},"~\u002FLibrary\u002FApplication Support\u002FClaude\u002Fclaude_desktop_config.json","\non macOS and ",[372,843,844],{},"%APPDATA%\\Claude\\claude_desktop_config.json"," on Windows. Claude\nDesktop reads it at startup, so restart the app after editing it.",[363,847,849],{"id":848},"confirm-the-server-is-running","Confirm the Server Is Running",[368,851,852],{},"Two checks, in increasing order of how much they prove.",[368,854,855,859],{},[856,857,858],"strong",{},"The package resolves."," Run the server yourself:",[408,861,865],{"className":862,"code":863,"language":864,"meta":414,"style":414},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx -y @the-i18n-kit\u002Fmcp@latest\n","bash",[372,866,867],{"__ignoreMap":414},[418,868,869,871,874],{"class":420,"line":421},[418,870,502],{"class":453},[418,872,873],{"class":479}," -y",[418,875,876],{"class":479}," @the-i18n-kit\u002Fmcp@latest\n",[368,878,879],{},"It prints nothing and waits for JSON-RPC on stdin. Silence is the passing\nresult; press Ctrl-C to stop it. An error here is a Node or network problem, not\na host problem.",[368,881,882,885,886,888],{},[856,883,884],{},"The host reached your project."," Ask your agent to call ",[372,887,268],{},". It is the\ntool the server documents as the one to call first, and its answer is a summary\nof what the kit thinks your project is:",[408,890,892],{"className":410,"code":891,"language":413,"meta":414,"style":414},"{\n  \"rootDir\": \"\u002Fsrv\u002Fapp\",\n  \"framework\": \"vue\",\n  \"defaultLocale\": \"en-US\",\n  \"locales\": [\n    { \"code\": \"de-DE\", \"language\": \"de-DE\", \"file\": \"de-DE.json\" },\n    { \"code\": \"en-US\", \"language\": \"en-US\", \"file\": \"en-US.json\" },\n    { \"code\": \"es-ES\", \"language\": \"es-ES\", \"file\": \"es-ES.json\" },\n    { \"code\": \"fr-FR\", \"language\": \"fr-FR\", \"file\": \"fr-FR.json\" }\n  ],\n  \"layers\": [\n    {\n      \"layer\": \"root\",\n      \"path\": \"\u002Fsrv\u002Fapp\u002Fsrc\u002Ftranslations\",\n      \"fileCount\": 4,\n      \"topLevelKeys\": [\"booking\", \"common\"]\n    }\n  ],\n  \"protectedLocales\": [\"de-DE\"],\n  \"translationMode\": \"agent\"\n}\n",[372,893,894,898,918,938,958,972,1031,1084,1138,1193,1199,1213,1219,1240,1261,1278,1310,1315,1320,1343,1363],{"__ignoreMap":414},[418,895,896],{"class":420,"line":421},[418,897,425],{"class":424},[418,899,900,902,905,907,909,911,914,916],{"class":420,"line":428},[418,901,431],{"class":424},[418,903,904],{"class":434},"rootDir",[418,906,438],{"class":424},[418,908,441],{"class":424},[418,910,476],{"class":424},[418,912,913],{"class":479},"\u002Fsrv\u002Fapp",[418,915,438],{"class":424},[418,917,485],{"class":424},[418,919,920,922,925,927,929,931,934,936],{"class":420,"line":447},[418,921,431],{"class":424},[418,923,924],{"class":434},"framework",[418,926,438],{"class":424},[418,928,441],{"class":424},[418,930,476],{"class":424},[418,932,933],{"class":479},"vue",[418,935,438],{"class":424},[418,937,485],{"class":424},[418,939,940,942,945,947,949,951,954,956],{"class":420,"line":462},[418,941,431],{"class":424},[418,943,944],{"class":434},"defaultLocale",[418,946,438],{"class":424},[418,948,441],{"class":424},[418,950,476],{"class":424},[418,952,953],{"class":479},"en-US",[418,955,438],{"class":424},[418,957,485],{"class":424},[418,959,960,962,965,967,969],{"class":420,"line":488},[418,961,431],{"class":424},[418,963,964],{"class":434},"locales",[418,966,438],{"class":424},[418,968,441],{"class":424},[418,970,971],{"class":424}," [\n",[418,973,974,977,979,981,983,985,987,990,992,995,997,1000,1002,1004,1006,1008,1010,1012,1014,1017,1019,1021,1023,1026,1028],{"class":420,"line":509},[418,975,976],{"class":424},"    {",[418,978,476],{"class":424},[418,980,372],{"class":453},[418,982,438],{"class":424},[418,984,441],{"class":424},[418,986,476],{"class":424},[418,988,989],{"class":479},"de-DE",[418,991,438],{"class":424},[418,993,994],{"class":424},",",[418,996,476],{"class":424},[418,998,999],{"class":453},"language",[418,1001,438],{"class":424},[418,1003,441],{"class":424},[418,1005,476],{"class":424},[418,1007,989],{"class":479},[418,1009,438],{"class":424},[418,1011,994],{"class":424},[418,1013,476],{"class":424},[418,1015,1016],{"class":453},"file",[418,1018,438],{"class":424},[418,1020,441],{"class":424},[418,1022,476],{"class":424},[418,1024,1025],{"class":479},"de-DE.json",[418,1027,438],{"class":424},[418,1029,1030],{"class":424}," },\n",[418,1032,1033,1035,1037,1039,1041,1043,1045,1047,1049,1051,1053,1055,1057,1059,1061,1063,1065,1067,1069,1071,1073,1075,1077,1080,1082],{"class":420,"line":534},[418,1034,976],{"class":424},[418,1036,476],{"class":424},[418,1038,372],{"class":453},[418,1040,438],{"class":424},[418,1042,441],{"class":424},[418,1044,476],{"class":424},[418,1046,953],{"class":479},[418,1048,438],{"class":424},[418,1050,994],{"class":424},[418,1052,476],{"class":424},[418,1054,999],{"class":453},[418,1056,438],{"class":424},[418,1058,441],{"class":424},[418,1060,476],{"class":424},[418,1062,953],{"class":479},[418,1064,438],{"class":424},[418,1066,994],{"class":424},[418,1068,476],{"class":424},[418,1070,1016],{"class":453},[418,1072,438],{"class":424},[418,1074,441],{"class":424},[418,1076,476],{"class":424},[418,1078,1079],{"class":479},"en-US.json",[418,1081,438],{"class":424},[418,1083,1030],{"class":424},[418,1085,1086,1088,1090,1092,1094,1096,1098,1101,1103,1105,1107,1109,1111,1113,1115,1117,1119,1121,1123,1125,1127,1129,1131,1134,1136],{"class":420,"line":540},[418,1087,976],{"class":424},[418,1089,476],{"class":424},[418,1091,372],{"class":453},[418,1093,438],{"class":424},[418,1095,441],{"class":424},[418,1097,476],{"class":424},[418,1099,1100],{"class":479},"es-ES",[418,1102,438],{"class":424},[418,1104,994],{"class":424},[418,1106,476],{"class":424},[418,1108,999],{"class":453},[418,1110,438],{"class":424},[418,1112,441],{"class":424},[418,1114,476],{"class":424},[418,1116,1100],{"class":479},[418,1118,438],{"class":424},[418,1120,994],{"class":424},[418,1122,476],{"class":424},[418,1124,1016],{"class":453},[418,1126,438],{"class":424},[418,1128,441],{"class":424},[418,1130,476],{"class":424},[418,1132,1133],{"class":479},"es-ES.json",[418,1135,438],{"class":424},[418,1137,1030],{"class":424},[418,1139,1140,1142,1144,1146,1148,1150,1152,1155,1157,1159,1161,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1188,1190],{"class":420,"line":546},[418,1141,976],{"class":424},[418,1143,476],{"class":424},[418,1145,372],{"class":453},[418,1147,438],{"class":424},[418,1149,441],{"class":424},[418,1151,476],{"class":424},[418,1153,1154],{"class":479},"fr-FR",[418,1156,438],{"class":424},[418,1158,994],{"class":424},[418,1160,476],{"class":424},[418,1162,999],{"class":453},[418,1164,438],{"class":424},[418,1166,441],{"class":424},[418,1168,476],{"class":424},[418,1170,1154],{"class":479},[418,1172,438],{"class":424},[418,1174,994],{"class":424},[418,1176,476],{"class":424},[418,1178,1016],{"class":453},[418,1180,438],{"class":424},[418,1182,441],{"class":424},[418,1184,476],{"class":424},[418,1186,1187],{"class":479},"fr-FR.json",[418,1189,438],{"class":424},[418,1191,1192],{"class":424}," }\n",[418,1194,1196],{"class":420,"line":1195},10,[418,1197,1198],{"class":424},"  ],\n",[418,1200,1202,1204,1207,1209,1211],{"class":420,"line":1201},11,[418,1203,431],{"class":424},[418,1205,1206],{"class":434},"layers",[418,1208,438],{"class":424},[418,1210,441],{"class":424},[418,1212,971],{"class":424},[418,1214,1216],{"class":420,"line":1215},12,[418,1217,1218],{"class":424},"    {\n",[418,1220,1222,1224,1227,1229,1231,1233,1236,1238],{"class":420,"line":1221},13,[418,1223,465],{"class":424},[418,1225,1226],{"class":453},"layer",[418,1228,438],{"class":424},[418,1230,441],{"class":424},[418,1232,476],{"class":424},[418,1234,1235],{"class":479},"root",[418,1237,438],{"class":424},[418,1239,485],{"class":424},[418,1241,1243,1245,1248,1250,1252,1254,1257,1259],{"class":420,"line":1242},14,[418,1244,465],{"class":424},[418,1246,1247],{"class":453},"path",[418,1249,438],{"class":424},[418,1251,441],{"class":424},[418,1253,476],{"class":424},[418,1255,1256],{"class":479},"\u002Fsrv\u002Fapp\u002Fsrc\u002Ftranslations",[418,1258,438],{"class":424},[418,1260,485],{"class":424},[418,1262,1264,1266,1269,1271,1273,1276],{"class":420,"line":1263},15,[418,1265,465],{"class":424},[418,1267,1268],{"class":453},"fileCount",[418,1270,438],{"class":424},[418,1272,441],{"class":424},[418,1274,1275],{"class":468}," 4",[418,1277,485],{"class":424},[418,1279,1281,1283,1286,1288,1290,1292,1294,1297,1299,1301,1303,1306,1308],{"class":420,"line":1280},16,[418,1282,465],{"class":424},[418,1284,1285],{"class":453},"topLevelKeys",[418,1287,438],{"class":424},[418,1289,441],{"class":424},[418,1291,521],{"class":424},[418,1293,438],{"class":424},[418,1295,1296],{"class":479},"booking",[418,1298,438],{"class":424},[418,1300,994],{"class":424},[418,1302,476],{"class":424},[418,1304,1305],{"class":479},"common",[418,1307,438],{"class":424},[418,1309,531],{"class":424},[418,1311,1313],{"class":420,"line":1312},17,[418,1314,537],{"class":424},[418,1316,1318],{"class":420,"line":1317},18,[418,1319,1198],{"class":424},[418,1321,1323,1325,1328,1330,1332,1334,1336,1338,1340],{"class":420,"line":1322},19,[418,1324,431],{"class":424},[418,1326,1327],{"class":434},"protectedLocales",[418,1329,438],{"class":424},[418,1331,441],{"class":424},[418,1333,521],{"class":424},[418,1335,438],{"class":424},[418,1337,989],{"class":479},[418,1339,438],{"class":424},[418,1341,1342],{"class":424},"],\n",[418,1344,1346,1348,1351,1353,1355,1357,1360],{"class":420,"line":1345},20,[418,1347,431],{"class":424},[418,1349,1350],{"class":434},"translationMode",[418,1352,438],{"class":424},[418,1354,441],{"class":424},[418,1356,476],{"class":424},[418,1358,1359],{"class":479},"agent",[418,1361,1362],{"class":424},"\"\n",[418,1364,1366],{"class":420,"line":1365},21,[418,1367,549],{"class":424},[368,1369,1370],{},"Read three fields off it before going further:",[1372,1373,1374,1384,1392],"ul",{},[1375,1376,1377,1379,1380,1383],"li",{},[372,1378,924],{}," — which adapter won detection. If it is not the one you expected,\nsee ",[388,1381,1382],{"href":85},"detection"," for how to pin one.",[1375,1385,1386,1388,1389,1391],{},[372,1387,1206],{}," — one entry per ",[856,1390,1226],{},", meaning a scoped locale directory: a Nuxt\nlayer, a workspace package, a shared UI library, or one app in a monorepo. A\nlayer you expected and do not see is a locale directory the adapter did not\nfind.",[1375,1393,1394,1396,1397,1399,1400,1403],{},[372,1395,1350],{}," — ",[372,1398,1359],{}," or ",[372,1401,1402],{},"provider",", decided at server startup. The next\nsection is about that field.",[363,1405,1407],{"id":1406},"choose-which-model-translates","Choose Which Model Translates",[368,1409,1410,1412,1413,1415,1416,1418],{},[372,1411,332],{}," and ",[372,1414,328],{}," run in one of two modes, resolved once\nwhen the server starts. ",[372,1417,268],{}," reports the active one, so you can check the\nconfiguration without spending a translation to find out.",[368,1420,1421,1424,1425,1427],{},[856,1422,1423],{},"Agent mode"," is the default and needs no configuration. The translate tools\nreturn per-locale fallback contexts — the source values plus the glossary, tone\nnotes and locale notes from your config file — and your host agent translates\nthem with its own model, then writes the results back with ",[372,1426,336],{},".\nThe keys never leave the conversation you are already having.",[368,1429,1430,1433],{},[856,1431,1432],{},"Provider mode"," has the server call an LLM provider directly, validate what\ncomes back and write it. Set the environment variables on the server process, in\nthe same host configuration block:",[408,1435,1437],{"className":410,"code":1436,"filename":412,"language":413,"meta":414,"style":414},"{\n  \"servers\": {\n    \"the-i18n-mcp\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"@the-i18n-kit\u002Fmcp@latest\"],\n      \"env\": {\n        \"I18N_PROVIDER\": \"google\",\n        \"I18N_MODEL\": \"gemini-2.5-flash\",\n        \"GEMINI_API_KEY\": \"\u003Cyour-api-key>\"\n      }\n    }\n  }\n}\n",[372,1438,1439,1443,1455,1467,1485,1503,1523,1536,1558,1578,1596,1601,1605,1609],{"__ignoreMap":414},[418,1440,1441],{"class":420,"line":421},[418,1442,425],{"class":424},[418,1444,1445,1447,1449,1451,1453],{"class":420,"line":428},[418,1446,431],{"class":424},[418,1448,435],{"class":434},[418,1450,438],{"class":424},[418,1452,441],{"class":424},[418,1454,444],{"class":424},[418,1456,1457,1459,1461,1463,1465],{"class":420,"line":447},[418,1458,450],{"class":424},[418,1460,378],{"class":453},[418,1462,438],{"class":424},[418,1464,441],{"class":424},[418,1466,444],{"class":424},[418,1468,1469,1471,1473,1475,1477,1479,1481,1483],{"class":420,"line":462},[418,1470,465],{"class":424},[418,1472,469],{"class":468},[418,1474,438],{"class":424},[418,1476,441],{"class":424},[418,1478,476],{"class":424},[418,1480,480],{"class":479},[418,1482,438],{"class":424},[418,1484,485],{"class":424},[418,1486,1487,1489,1491,1493,1495,1497,1499,1501],{"class":420,"line":488},[418,1488,465],{"class":424},[418,1490,493],{"class":468},[418,1492,438],{"class":424},[418,1494,441],{"class":424},[418,1496,476],{"class":424},[418,1498,502],{"class":479},[418,1500,438],{"class":424},[418,1502,485],{"class":424},[418,1504,1505,1507,1509,1511,1513,1515,1517,1519,1521],{"class":420,"line":509},[418,1506,465],{"class":424},[418,1508,514],{"class":468},[418,1510,438],{"class":424},[418,1512,441],{"class":424},[418,1514,521],{"class":424},[418,1516,438],{"class":424},[418,1518,526],{"class":479},[418,1520,438],{"class":424},[418,1522,1342],{"class":424},[418,1524,1525,1527,1530,1532,1534],{"class":420,"line":534},[418,1526,465],{"class":424},[418,1528,1529],{"class":468},"env",[418,1531,438],{"class":424},[418,1533,441],{"class":424},[418,1535,444],{"class":424},[418,1537,1538,1541,1545,1547,1549,1551,1554,1556],{"class":420,"line":540},[418,1539,1540],{"class":424},"        \"",[418,1542,1544],{"class":1543},"swJcz","I18N_PROVIDER",[418,1546,438],{"class":424},[418,1548,441],{"class":424},[418,1550,476],{"class":424},[418,1552,1553],{"class":479},"google",[418,1555,438],{"class":424},[418,1557,485],{"class":424},[418,1559,1560,1562,1565,1567,1569,1571,1574,1576],{"class":420,"line":546},[418,1561,1540],{"class":424},[418,1563,1564],{"class":1543},"I18N_MODEL",[418,1566,438],{"class":424},[418,1568,441],{"class":424},[418,1570,476],{"class":424},[418,1572,1573],{"class":479},"gemini-2.5-flash",[418,1575,438],{"class":424},[418,1577,485],{"class":424},[418,1579,1580,1582,1585,1587,1589,1591,1594],{"class":420,"line":1195},[418,1581,1540],{"class":424},[418,1583,1584],{"class":1543},"GEMINI_API_KEY",[418,1586,438],{"class":424},[418,1588,441],{"class":424},[418,1590,476],{"class":424},[418,1592,1593],{"class":479},"\u003Cyour-api-key>",[418,1595,1362],{"class":424},[418,1597,1598],{"class":420,"line":1201},[418,1599,1600],{"class":424},"      }\n",[418,1602,1603],{"class":420,"line":1215},[418,1604,537],{"class":424},[418,1606,1607],{"class":420,"line":1221},[418,1608,543],{"class":424},[418,1610,1611],{"class":420,"line":1242},[418,1612,549],{"class":424},[368,1614,1615,1616,391],{},"Substitute your own key for ",[372,1617,1593],{},[1619,1620,1621,1634],"table",{},[1622,1623,1624],"thead",{},[1625,1626,1627,1631],"tr",{},[1628,1629,1630],"th",{},"Variable",[1628,1632,1633],{},"Value",[1635,1636,1637,1655,1669,1685],"tbody",{},[1625,1638,1639,1644],{},[1640,1641,1642],"td",{},[372,1643,1544],{},[1640,1645,1646,1649,1650,1399,1653],{},[372,1647,1648],{},"openai",", ",[372,1651,1652],{},"anthropic",[372,1654,1553],{},[1625,1656,1657,1661],{},[1640,1658,1659],{},[372,1660,1564],{},[1640,1662,1663,1664,1399,1666],{},"Model name, such as ",[372,1665,1573],{},[372,1667,1668],{},"gpt-4o-mini",[1625,1670,1671,1682],{},[1640,1672,1673,1676,1677,1676,1680],{},[372,1674,1675],{},"OPENAI_API_KEY"," \u002F ",[372,1678,1679],{},"ANTHROPIC_API_KEY",[372,1681,1584],{},[1640,1683,1684],{},"The key matching the provider",[1625,1686,1687,1692],{},[1640,1688,1689],{},[372,1690,1691],{},"I18N_BASE_URL",[1640,1693,1694,1695,1698,1699,1702,1703],{},"Optional. A base URL for gateways, proxies and self-hosted models speaking the provider's protocol. Falls back to ",[372,1696,1697],{},"providerBaseUrl"," in ",[372,1700,1701],{},".i18n-mcp.json",". Not supported by ",[372,1704,1553],{},[368,1706,1707],{},"Set some of these and not all of them and the server logs a warning to stderr\nand starts in agent mode. The mode is decided once, at startup, rather than per\nrequest, so a half-configured server cannot surprise a caller mid-conversation\n— but it also means a config edit needs a host restart to take effect.",[1709,1710,1711,1712,1399,1714,1716],"warning",{},"The environment block in a host configuration file holds your API key in plain\ntext. A project-level ",[372,1713,412],{},[372,1715,557],{}," is committed\nalong with everything else in the repository. Keep provider credentials in a\nuser-level config, or stay in agent mode.",[363,1718,1720],{"id":1719},"give-the-server-your-terminology","Give the Server Your Terminology",[368,1722,1723],{},"Detection finds your locale files. It cannot know that \"Booking\" is a product\nconcept or that your formal German locale is maintained by a person and must not\nbe machine-translated. Both belong in a config file at your project root, which\nthe server reads on every call:",[408,1725,1730],{"className":1726,"code":1727,"filename":1728,"language":1729,"meta":414,"style":414},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { defineI18nKitConfig } from '@the-i18n-kit\u002Fcli\u002Fconfig'\n\nexport default defineI18nKitConfig({\n  context: 'A B2B booking platform.',\n  glossary: { anny: 'Brand name. NEVER translate.' },\n  protectedLocales: ['de-formal'],\n})\n","i18n-kit.config.ts","ts",[372,1731,1732,1760,1766,1782,1799,1822,1843],{"__ignoreMap":414},[418,1733,1734,1738,1741,1745,1748,1751,1754,1757],{"class":420,"line":421},[418,1735,1737],{"class":1736},"s7zQu","import",[418,1739,1740],{"class":424}," {",[418,1742,1744],{"class":1743},"sTEyZ"," defineI18nKitConfig",[418,1746,1747],{"class":424}," }",[418,1749,1750],{"class":1736}," from",[418,1752,1753],{"class":424}," '",[418,1755,1756],{"class":479},"@the-i18n-kit\u002Fcli\u002Fconfig",[418,1758,1759],{"class":424},"'\n",[418,1761,1762],{"class":420,"line":428},[418,1763,1765],{"emptyLinePlaceholder":1764},true,"\n",[418,1767,1768,1771,1774,1777,1780],{"class":420,"line":447},[418,1769,1770],{"class":1736},"export",[418,1772,1773],{"class":1736}," default",[418,1775,1744],{"class":1776},"s2Zo4",[418,1778,1779],{"class":1743},"(",[418,1781,425],{"class":424},[418,1783,1784,1787,1789,1791,1794,1797],{"class":420,"line":462},[418,1785,1786],{"class":1543},"  context",[418,1788,441],{"class":424},[418,1790,1753],{"class":424},[418,1792,1793],{"class":479},"A B2B booking platform.",[418,1795,1796],{"class":424},"'",[418,1798,485],{"class":424},[418,1800,1801,1804,1806,1808,1811,1813,1815,1818,1820],{"class":420,"line":488},[418,1802,1803],{"class":1543},"  glossary",[418,1805,441],{"class":424},[418,1807,1740],{"class":424},[418,1809,1810],{"class":1543}," anny",[418,1812,441],{"class":424},[418,1814,1753],{"class":424},[418,1816,1817],{"class":479},"Brand name. NEVER translate.",[418,1819,1796],{"class":424},[418,1821,1030],{"class":424},[418,1823,1824,1827,1829,1831,1833,1836,1838,1841],{"class":420,"line":509},[418,1825,1826],{"class":1543},"  protectedLocales",[418,1828,441],{"class":424},[418,1830,521],{"class":1743},[418,1832,1796],{"class":424},[418,1834,1835],{"class":479},"de-formal",[418,1837,1796],{"class":424},[418,1839,1840],{"class":1743},"]",[418,1842,485],{"class":424},[418,1844,1845,1848],{"class":420,"line":534},[418,1846,1847],{"class":424},"}",[418,1849,1850],{"class":1743},")\n",[368,1852,1853,1855,1856,1859,1860,1863,1864,1867,1868,1871],{},[372,1854,1327],{}," is the one to set first: locales named there are excluded\nfrom default translate targets and reported as ",[372,1857,1858],{},"skipped"," with the reason\n",[372,1861,1862],{},"protected-locale",", in both modes. See\n",[388,1865,1866],{"href":114},"where configuration lives"," for the two files\nthat accept these fields and how each is found, and the\n",[388,1869,1870],{"href":126},"field reference"," for everything they accept.",[363,1873,1875],{"id":1874},"what-your-agent-can-do-now","What Your Agent Can Do Now",[368,1877,1878,1879,1882,1883,1886],{},"Every tool the server advertises, with the parameters a host receives, is on the\n",[388,1880,1881],{"href":263},"MCP tools reference"," — generated by starting the server and\nreading its own ",[372,1884,1885],{},"tools\u002Flist"," response, so it cannot list a tool your host is not\noffered.",[368,1888,1889],{},"Three things worth knowing before you point an agent at a large project:",[1372,1891,1892,1903,1912],{},[1375,1893,1894,1895,1898,1899,1902],{},"Results that could run to thousands of keys accept an ",[372,1896,1897],{},"outputFile"," parameter.\nGiven an absolute path, the tool writes its full JSON result there and returns\na compact summary, so a repository-wide scan does not land in the context\nwindow. The ",[388,1900,1901],{"href":263},"tools reference"," lists which tools accept it.",[1375,1904,1905,1907,1908,1911],{},[372,1906,308],{}," is dry-run by default, and an ",[856,1909,1910],{},"uncertain key"," — one\nwhose usage evidence is ambiguous — is never removed, even when you confirm.",[1375,1913,1914,1915,391],{},"The same operations exist as CLI commands, paired one to one. If you want to\nsee what a tool would do before letting an agent do it, run the paired command\nfrom the ",[388,1916,1917],{"href":185},"CLI reference",[363,1919,1921],{"id":1920},"limits","Limits",[1372,1923,1924,1937,1946],{},[1375,1925,1926,1927,1930,1931,1933,1934,1936],{},"The server works on the project directory the host launches it in, and every\ntool accepts a ",[372,1928,1929],{},"projectDir"," parameter to point elsewhere. An agent working in\na directory you did not expect reports it in ",[372,1932,268],{}," as ",[372,1935,904],{}," — check\nthat field before trusting a coverage number.",[1375,1938,1939,1940,1698,1943,1945],{},"MCP sampling was removed. The server no longer asks the host to pick a model,\nand ",[372,1941,1942],{},"samplingPreferences",[372,1944,1701],{}," is accepted and ignored. Provider\nmode is the replacement for server-side translation.",[1375,1947,1948],{},"Detection runs per call and is mtime-cached. Adding a locale directory while\nthe server is running is picked up; changing which framework the project looks\nlike is better followed by a host restart.",[1950,1951,1952],"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 .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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":414,"searchDepth":447,"depth":447,"links":1954},[1955,1956,1962,1963,1964,1965,1966],{"id":365,"depth":428,"text":366},{"id":397,"depth":428,"text":398,"children":1957},[1958,1959,1960,1961],{"id":405,"depth":447,"text":406},{"id":552,"depth":447,"text":553},{"id":648,"depth":447,"text":649},{"id":750,"depth":447,"text":751},{"id":848,"depth":428,"text":849},{"id":1406,"depth":428,"text":1407},{"id":1719,"depth":428,"text":1720},{"id":1874,"depth":428,"text":1875},{"id":1920,"depth":428,"text":1921},"md",null,{},{"description":1971,"title":46},"Wire @the-i18n-kit\u002Fmcp into VS Code, Cursor, Zed or Claude Desktop, confirm the server is running, and decide which model does the translating.","h13eGPCg_kfRQIPwiS10OBOinH25NgaYzCgoJyRbcNo",[1974,1975],{"title":37,"path":38,"stem":39,"description":414,"children":-1},{"title":50,"path":51,"stem":52,"description":414,"children":-1},1787604647515]