[{"data":1,"prerenderedAt":572},["ShallowReactive",2],{"navigation_docs_en":3,"dtpr-schemas-index":287,"-en-plugin-skills-translate":295,"-en-plugin-skills-translate-surround":567},[4,22,26,30,102,152,174,196,226,278,283],{"title":5,"path":6,"stem":7,"children":8},"Getting started","/en/getting-started","en/1.getting-started/0.index",[9,10,14,18],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"MCP quickstart","/en/getting-started/mcp-quickstart","en/1.getting-started/1.mcp-quickstart",{"title":15,"path":16,"stem":17},"REST quickstart","/en/getting-started/rest-quickstart","en/1.getting-started/2.rest-quickstart",{"title":19,"path":20,"stem":21},"UI quickstart","/en/getting-started/ui-quickstart","en/1.getting-started/3.ui-quickstart",{"title":23,"path":24,"stem":25},"Attribution","/en/attribution","en/10.attribution",{"title":27,"path":28,"stem":29},"Cite DTPR for AI","/en/cite","en/11.cite",{"title":31,"path":32,"stem":33,"children":34},"MCP server","/en/mcp","en/2.mcp/0.index",[35,36,40,44,48,98],{"title":31,"path":32,"stem":33},{"title":37,"path":38,"stem":39},"Connecting","/en/mcp/connection","en/2.mcp/1.connection",{"title":41,"path":42,"stem":43},"Envelope","/en/mcp/envelope","en/2.mcp/2.envelope",{"title":45,"path":46,"stem":47},"Resources","/en/mcp/resources","en/2.mcp/3.resources",{"title":49,"path":50,"stem":51,"children":52},"Tools","/en/mcp/tools","en/2.mcp/4.tools/0.index",[53,54,58,62,66,70,74,78,82,86,90,94],{"title":49,"path":50,"stem":51},{"title":55,"path":56,"stem":57},"list_schema_versions","/en/mcp/tools/list-schema-versions","en/2.mcp/4.tools/1.list-schema-versions",{"title":59,"path":60,"stem":61},"MCP tool: resolve_datachain","/en/mcp/tools/resolve-datachain","en/2.mcp/4.tools/10.resolve-datachain",{"title":63,"path":64,"stem":65},"MCP tool: validate_resolved","/en/mcp/tools/validate-resolved","en/2.mcp/4.tools/11.validate-resolved",{"title":67,"path":68,"stem":69},"get_schema","/en/mcp/tools/get-schema","en/2.mcp/4.tools/2.get-schema",{"title":71,"path":72,"stem":73},"list_categories","/en/mcp/tools/list-categories","en/2.mcp/4.tools/3.list-categories",{"title":75,"path":76,"stem":77},"list_elements","/en/mcp/tools/list-elements","en/2.mcp/4.tools/4.list-elements",{"title":79,"path":80,"stem":81},"get_element","/en/mcp/tools/get-element","en/2.mcp/4.tools/5.get-element",{"title":83,"path":84,"stem":85},"get_elements","/en/mcp/tools/get-elements","en/2.mcp/4.tools/6.get-elements",{"title":87,"path":88,"stem":89},"validate_datachain","/en/mcp/tools/validate-datachain","en/2.mcp/4.tools/7.validate-datachain",{"title":91,"path":92,"stem":93},"render_datachain","/en/mcp/tools/render-datachain","en/2.mcp/4.tools/8.render-datachain",{"title":95,"path":96,"stem":97},"get_icon_url","/en/mcp/tools/get-icon-url","en/2.mcp/4.tools/9.get-icon-url",{"title":99,"path":100,"stem":101},"Prompts","/en/mcp/prompts","en/2.mcp/5.prompts",{"title":103,"path":104,"stem":105,"children":106},"REST API (v2)","/en/rest","en/3.rest/0.index",[107,108,112,116,120,124,128,132,136,140,144,148],{"title":103,"path":104,"stem":105},{"title":109,"path":110,"stem":111},"GET /schemas","/en/rest/schemas","en/3.rest/1.schemas",{"title":113,"path":114,"stem":115},"POST /schemas/:version/resolve","/en/rest/resolve","en/3.rest/10.resolve",{"title":117,"path":118,"stem":119},"POST /schemas/:version/validate_resolved","/en/rest/validate-resolved","en/3.rest/11.validate-resolved",{"title":121,"path":122,"stem":123},"GET /schemas/:version/manifest","/en/rest/manifest","en/3.rest/2.manifest",{"title":125,"path":126,"stem":127},"GET /schemas/:version/categories","/en/rest/categories","en/3.rest/3.categories",{"title":129,"path":130,"stem":131},"GET /schemas/:version/elements","/en/rest/elements-list","en/3.rest/4.elements-list",{"title":133,"path":134,"stem":135},"GET /schemas/:version/elements/:element_id","/en/rest/element-detail","en/3.rest/5.element-detail",{"title":137,"path":138,"stem":139},"POST /schemas/:version/validate","/en/rest/validate","en/3.rest/6.validate",{"title":141,"path":142,"stem":143},"Icon routes","/en/rest/icons","en/3.rest/7.icons",{"title":145,"path":146,"stem":147},"Pagination & fields","/en/rest/pagination-and-fields","en/3.rest/8.pagination-and-fields",{"title":149,"path":150,"stem":151},"Errors","/en/rest/errors","en/3.rest/9.errors",{"title":153,"path":154,"stem":155,"children":156},"Icon composition","/en/icons","en/4.icons/0.index",[157,158,162,166,170],{"title":153,"path":154,"stem":155},{"title":159,"path":160,"stem":161},"Shapes","/en/icons/shapes","en/4.icons/1.shapes",{"title":163,"path":164,"stem":165},"Symbols","/en/icons/symbols","en/4.icons/2.symbols",{"title":167,"path":168,"stem":169},"Composed variants","/en/icons/composed-variants","en/4.icons/3.composed-variants",{"title":171,"path":172,"stem":173},"URLs","/en/icons/urls","en/4.icons/4.urls",{"title":175,"path":176,"stem":177,"children":178},"@dtpr/ui","/en/ui","en/5.ui/0.index",[179,180,184,188,192],{"title":175,"path":176,"stem":177},{"title":181,"path":182,"stem":183},"@dtpr/ui/core","/en/ui/core","en/5.ui/1.core",{"title":185,"path":186,"stem":187},"@dtpr/ui/vue","/en/ui/vue","en/5.ui/2.vue",{"title":189,"path":190,"stem":191},"@dtpr/ui/html","/en/ui/html","en/5.ui/3.html",{"title":193,"path":194,"stem":195},"Theming","/en/ui/theming","en/5.ui/4.theming",{"title":197,"path":198,"stem":199,"children":200},"Concepts","/en/concepts","en/6.concepts/0.index",[201,202,206,210,214,218,222],{"title":197,"path":198,"stem":199},{"title":203,"path":204,"stem":205},"Datachains","/en/concepts/datachains","en/6.concepts/1.datachains",{"title":207,"path":208,"stem":209},"Elements & categories","/en/concepts/elements-categories","en/6.concepts/2.elements-categories",{"title":211,"path":212,"stem":213},"Versions & releases","/en/concepts/versions-and-releases","en/6.concepts/3.versions-and-releases",{"title":215,"path":216,"stem":217},"Content hash","/en/concepts/content-hash","en/6.concepts/4.content-hash",{"title":219,"path":220,"stem":221},"Shape contract","/en/concepts/shape-contract","en/6.concepts/5.shape-contract",{"title":223,"path":224,"stem":225},"Subchains","/en/concepts/subchains","en/6.concepts/6.subchains",{"title":227,"path":228,"stem":229,"children":230},"Claude plugin","/en/plugin","en/7.plugin/0.index",[231,232,236,270,274],{"title":227,"path":228,"stem":229},{"title":233,"path":234,"stem":235},"Install","/en/plugin/install","en/7.plugin/1.install",{"title":237,"path":238,"stem":239,"children":240},"Skills","/en/plugin/skills","en/7.plugin/2.skills/0.index",[241,242,246,250,254,258,262,266],{"title":237,"path":238,"stem":239},{"title":243,"path":244,"stem":245},"dtpr-describe-system","/en/plugin/skills/describe-system","en/7.plugin/2.skills/1.describe-system",{"title":247,"path":248,"stem":249},"dtpr-datachain-structure","/en/plugin/skills/datachain-structure","en/7.plugin/2.skills/2.datachain-structure",{"title":251,"path":252,"stem":253},"dtpr-category-audit","/en/plugin/skills/category-audit","en/7.plugin/2.skills/3.category-audit",{"title":255,"path":256,"stem":257},"dtpr-element-design","/en/plugin/skills/element-design","en/7.plugin/2.skills/4.element-design",{"title":259,"path":260,"stem":261},"dtpr-symbol-design","/en/plugin/skills/symbol-design","en/7.plugin/2.skills/5.symbol-design",{"title":263,"path":264,"stem":265},"dtpr-translate","/en/plugin/skills/translate","en/7.plugin/2.skills/6.translate",{"title":267,"path":268,"stem":269},"dtpr-comprehension-audit","/en/plugin/skills/comprehension-audit","en/7.plugin/2.skills/7.comprehension-audit",{"title":271,"path":272,"stem":273},"Research corpus","/en/plugin/research-corpus","en/7.plugin/3.research-corpus",{"title":275,"path":276,"stem":277},"Comprehension rubric","/en/plugin/comprehension-rubric","en/7.plugin/4.comprehension-rubric",{"title":49,"path":279,"stem":280,"children":281},"/en/tools","en/8.tools/0.index",[282],{"title":49,"path":279,"stem":280},{"title":284,"path":285,"stem":286},"Changelog","/en/changelog","en/9.changelog",{"ok":288,"versions":289},true,[290],{"id":291,"status":292,"created_at":293,"content_hash":294},"ai@2026-05-06-beta","beta","2026-05-06T20:23:42.963Z","sha256-2d208111b0c597ff2b38cb1c24168799b0a5ff9290203ebf46c4f7c16a0fcb24",{"id":296,"title":263,"body":297,"description":561,"extension":562,"links":563,"meta":564,"navigation":288,"path":264,"seo":565,"stem":265,"__hash__":566},"docs_en/en/7.plugin/2.skills/6.translate.md",{"type":298,"value":299,"toc":551},"minimark",[300,335,344,349,388,392,395,399,405,433,451,457,468,481,485,494,498,535,539],[301,302,303,304,308,309,313,314,317,318,313,321,323,324,326,327,330,331,334],"p",{},"The locale-tier skill. Scope is ",[305,306,307],"strong",{},"non-English locale fill-in"," for one piece of DTPR content at a time — an element's ",[310,311,312],"code",{},"title"," and ",[310,315,316],{},"description",", a category's ",[310,319,320],{},"name",[310,322,316],{},", a datachain-type's ",[310,325,320],{},", or an arbitrary English fragment. Output is a YAML fragment in the canonical array-of-",[310,328,329],{},"{locale, value}"," shape, an inline Comprehension check, and the ",[310,332,333],{},"schema:new"," handoff line.",[336,337,339,340,343],"callout",{"type":338},"info","Translation is ",[305,341,342],{},"machine-drafted",". Output is a starting point for human review by a fluent speaker, not a finished translation. Locales where model quality is known to be weaker (Khmer, Tagalog, and any newly-added small-corpus locale) carry an explicit \"draft only — fluent-speaker review required\" flag.",[345,346,348],"h2",{"id":347},"when-to-fire","When to fire",[350,351,352,362,375,378,381],"ul",{},[353,354,355,356,358,359,361],"li",{},"The user wants to fill in non-English locales on an element or category whose ",[310,357,312],{},"/",[310,360,316],{}," is English-only or partially translated.",[353,363,364,365,371,372,374],{},"The user just drafted a new element with ",[366,367,369],"a",{"href":368},"/plugin/skills/element-design",[310,370,255],{}," and wants locale rows filled before ",[310,373,333],{},".",[353,376,377],{},"The user asks \"what locales does DTPR support right now?\" and wants a live answer rooted in the active manifest, not a recited list.",[353,379,380],{},"The user pastes an English fragment (sign caption, disclosure paragraph, signage mock-up) and wants it rendered in the supported locales as a draft.",[353,382,383,384,387],{},"The user wants to refresh translations after the schema's ",[310,385,386],{},"manifest.locales"," allow-list has changed.",[345,389,391],{"id":390},"trigger-phrases","Trigger phrases",[301,393,394],{},"\"translate this element\", \"fill in the missing locales\", \"localize this category description\", \"draft the Spanish for this element\", \"what locales does DTPR support right now\", \"translate to all supported locales\".",[345,396,398],{"id":397},"workflow","Workflow",[301,400,401,404],{},[305,402,403],{},"Phase 0 — Identify the target."," Classifies the input as an element id, category id, datachain-type, pasted English fragment, or list of adjacent elements.",[301,406,407,410,411,313,416,421,422,425,426,428,429,432],{},[305,408,409],{},"Phase 1 — Resolve the active locale list."," Calls ",[366,412,414],{"href":413},"/mcp/tools/list-schema-versions",[310,415,55],{},[366,417,419],{"href":418},"/mcp/tools/get-schema",[310,420,67],{}," with ",[310,423,424],{},"include: \"manifest\""," and reads ",[310,427,386],{},". The skill never hardcodes the locale list — a future schema version that adds (e.g.) ",[310,430,431],{},"vi"," or drops a low-traffic locale flows through with zero skill edits. Surfaces the resolved list to the user before drafting.",[301,434,435,438,439,444,445,450],{},[305,436,437],{},"Phase 2 — Load the source content."," Fetches the existing element/category via ",[366,440,442],{"href":441},"/mcp/tools/get-element",[310,443,79],{}," or ",[366,446,448],{"href":447},"/mcp/tools/list-categories",[310,449,71],{},", or accepts pasted English directly. Identifies which locale rows already exist and which need filling.",[301,452,453,456],{},[305,454,455],{},"Phase 3 — Draft translations."," Emits one row per locale in the active allow-list — either filling in the missing rows or replacing all non-English rows on an explicit refresh. Khmer, Tagalog, and any other low-corpus locale carry the fluent-speaker review flag in the output.",[301,458,459,462,463,467],{},[305,460,461],{},"Phase 4 — Inline the Comprehension check"," against the ",[366,464,466],{"href":465},"/plugin/comprehension-rubric","comprehension rubric",", with explicit attention to locale-coverage and plain-language items.",[301,469,470,476,477,480],{},[305,471,472,473,475],{},"Phase 5 — Emit the ",[310,474,333],{}," handoff."," When translations land on an existing element, the handoff is the same ",[310,478,479],{},"pnpm --filter ./api schema:new \u003Ctype> \u003CYYYY-MM-DD>-beta"," line; the user edits the resulting beta directory to apply the new locale rows.",[345,482,484],{"id":483},"output","Output",[301,486,487,488,491,492,334],{},"A YAML fragment in the canonical ",[310,489,490],{},"{ locale, value }"," array shape (only the requested locales filled), with the fluent-speaker review flag on weaker-corpus locales, an inline Comprehension check block, and the ",[310,493,333],{},[345,495,497],{"id":496},"non-goals","Non-goals",[301,499,500,501,505,506,511,512,517,518,522,523,528,529,534],{},"Does not draft English content — that belongs to ",[366,502,503],{"href":368},[310,504,255],{},", ",[366,507,509],{"href":508},"/plugin/skills/category-audit",[310,510,251],{},", or ",[366,513,515],{"href":514},"/plugin/skills/datachain-structure",[310,516,247],{},". Does not change which locales the schema supports — adding or removing a locale is a meta-structure change owned by ",[366,519,520],{"href":514},[310,521,247],{},". Does not assemble datachains — that is ",[366,524,526],{"href":525},"/plugin/skills/describe-system",[310,527,243],{},". Does not grade existing translations against the rubric without producing changes — use ",[366,530,532],{"href":531},"/plugin/skills/comprehension-audit",[310,533,267],{}," for grading-only.",[345,536,538],{"id":537},"source","Source",[301,540,541,544,545,374],{},[310,542,543],{},"plugin/dtpr/skills/dtpr-translate/SKILL.md"," in the ",[366,546,550],{"href":547,"rel":548},"https://github.com/Helpful-Places/dtpr/blob/main/plugin/dtpr/skills/dtpr-translate/SKILL.md",[549],"nofollow","repository",{"title":552,"searchDepth":553,"depth":553,"links":554},"",2,[555,556,557,558,559,560],{"id":347,"depth":553,"text":348},{"id":390,"depth":553,"text":391},{"id":397,"depth":553,"text":398},{"id":483,"depth":553,"text":484},{"id":496,"depth":553,"text":497},{"id":537,"depth":553,"text":538},"Fill in non-English locale rows on a DTPR element, category, datachain-type name, or pasted English fragment — against the active schema manifest's locale allow-list, never a hardcoded list.","md",null,{},{"title":263,"description":561},"LTTE2wv1mY8KjZy24xS4nrz7MyreFaqvzN6-iy5eLS0",[568,570],{"title":259,"path":260,"stem":261,"description":569,"children":-1},"Propose and refine SVG symbols for DTPR elements in the established house style — three variants per round with a local HTML preview, then a finalized icon.",{"title":267,"path":268,"stem":269,"description":571,"children":-1},"Grade any DTPR content (element, category, datachain-instance, pasted YAML, arbitrary markdown) against the public-comprehension rubric.",1779049700691]