[{"data":1,"prerenderedAt":1403},["ShallowReactive",2],{"navigation":3,"content-translator-navigation":552,"content-translator-version":593,"mdc--4zkox4-key":705,"\u002Fdocs\u002Fcontent-translator\u002Fphp-classes\u002Fdeepl-client":735,"\u002Fdocs\u002Fcontent-translator\u002Fphp-classes\u002Fdeepl-client-surround":1398},[4,139,265,303,320,384,395,531],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":38},"Copilot","i-ri-sparkling-line","\u002Fdocs\u002Fcopilot","1.docs\u002F1.copilot",[10,21,39,60,85,122],{"title":11,"path":12,"stem":13,"children":14},"Getting Started","\u002Fdocs\u002Fcopilot\u002Fgetting-started","1.docs\u002F1.copilot\u002F1.getting-started\u002F1.index",[15,17],{"title":16,"path":12,"stem":13},"Introduction",{"title":18,"path":19,"stem":20},"Installation","\u002Fdocs\u002Fcopilot\u002Fgetting-started\u002Finstallation","1.docs\u002F1.copilot\u002F1.getting-started\u002F2.installation",{"title":22,"path":23,"stem":24,"children":25,"page":38},"Configuration","\u002Fdocs\u002Fcopilot\u002Fconfiguration","1.docs\u002F1.copilot\u002F2.configuration",[26,30,34],{"title":27,"path":28,"stem":29},"Global Configuration","\u002Fdocs\u002Fcopilot\u002Fconfiguration\u002Fglobal","1.docs\u002F1.copilot\u002F2.configuration\u002F1.global",{"title":31,"path":32,"stem":33},"View Button & Field Configuration","\u002Fdocs\u002Fcopilot\u002Fconfiguration\u002Flocal","1.docs\u002F1.copilot\u002F2.configuration\u002F2.local",{"title":35,"path":36,"stem":37},"System Prompt","\u002Fdocs\u002Fcopilot\u002Fconfiguration\u002Fsystem-prompt","1.docs\u002F1.copilot\u002F2.configuration\u002F3.system-prompt",false,{"title":40,"path":41,"stem":42,"children":43,"page":38},"Usage","\u002Fdocs\u002Fcopilot\u002Fusage","1.docs\u002F1.copilot\u002F3.usage",[44,48,52,56],{"title":45,"path":46,"stem":47},"Panel View Button","\u002Fdocs\u002Fcopilot\u002Fusage\u002Fview-button","1.docs\u002F1.copilot\u002F3.usage\u002F1.view-button",{"title":49,"path":50,"stem":51},"Toolbar Buttons","\u002Fdocs\u002Fcopilot\u002Fusage\u002Ftoolbar-buttons","1.docs\u002F1.copilot\u002F3.usage\u002F2.toolbar-buttons",{"title":53,"path":54,"stem":55},"Inline Suggestions","\u002Fdocs\u002Fcopilot\u002Fusage\u002Finline-suggestions","1.docs\u002F1.copilot\u002F3.usage\u002F3.inline-suggestions",{"title":57,"path":58,"stem":59},"Copilot Section","\u002Fdocs\u002Fcopilot\u002Fusage\u002Fsection","1.docs\u002F1.copilot\u002F3.usage\u002F4.section",{"title":61,"path":62,"stem":63,"children":64,"page":38},"Prompt Dialog","\u002Fdocs\u002Fcopilot\u002Fprompt-dialog","1.docs\u002F1.copilot\u002F4.prompt-dialog",[65,69,73,77,81],{"title":66,"path":67,"stem":68},"Field Placeholders","\u002Fdocs\u002Fcopilot\u002Fprompt-dialog\u002Fplaceholders","1.docs\u002F1.copilot\u002F4.prompt-dialog\u002F1.placeholders",{"title":70,"path":71,"stem":72},"Prompt Templates","\u002Fdocs\u002Fcopilot\u002Fprompt-dialog\u002Ftemplates","1.docs\u002F1.copilot\u002F4.prompt-dialog\u002F2.templates",{"title":74,"path":75,"stem":76},"File Attachments","\u002Fdocs\u002Fcopilot\u002Fprompt-dialog\u002Ffiles","1.docs\u002F1.copilot\u002F4.prompt-dialog\u002F3.files",{"title":78,"path":79,"stem":80},"Page References","\u002Fdocs\u002Fcopilot\u002Fprompt-dialog\u002Fpage-references","1.docs\u002F1.copilot\u002F4.prompt-dialog\u002F4.page-references",{"title":82,"path":83,"stem":84},"Skills","\u002Fdocs\u002Fcopilot\u002Fprompt-dialog\u002Fskills","1.docs\u002F1.copilot\u002F4.prompt-dialog\u002F5.skills",{"title":86,"path":87,"stem":88,"children":89},"PHP Classes","\u002Fdocs\u002Fcopilot\u002Fphp-classes","1.docs\u002F1.copilot\u002F5.php-classes\u002F1.index",[90,92,96,118],{"title":91,"path":87,"stem":88},"Overview",{"title":93,"path":94,"stem":95},"Client","\u002Fdocs\u002Fcopilot\u002Fphp-classes\u002Fclient","1.docs\u002F1.copilot\u002F5.php-classes\u002F2.client",{"title":97,"path":98,"stem":99,"children":100,"defaultOpen":38},"Providers","\u002Fdocs\u002Fcopilot\u002Fphp-classes\u002Fproviders","1.docs\u002F1.copilot\u002F5.php-classes\u002F3.providers\u002F1.index",[101,102,106,110,114],{"title":91,"path":98,"stem":99},{"title":103,"path":104,"stem":105},"OpenAIProvider","\u002Fdocs\u002Fcopilot\u002Fphp-classes\u002Fproviders\u002Fopenai","1.docs\u002F1.copilot\u002F5.php-classes\u002F3.providers\u002F2.openai",{"title":107,"path":108,"stem":109},"AnthropicProvider","\u002Fdocs\u002Fcopilot\u002Fphp-classes\u002Fproviders\u002Fanthropic","1.docs\u002F1.copilot\u002F5.php-classes\u002F3.providers\u002F3.anthropic",{"title":111,"path":112,"stem":113},"GeminiProvider","\u002Fdocs\u002Fcopilot\u002Fphp-classes\u002Fproviders\u002Fgemini","1.docs\u002F1.copilot\u002F5.php-classes\u002F3.providers\u002F4.gemini",{"title":115,"path":116,"stem":117},"MistralProvider","\u002Fdocs\u002Fcopilot\u002Fphp-classes\u002Fproviders\u002Fmistral","1.docs\u002F1.copilot\u002F5.php-classes\u002F3.providers\u002F5.mistral",{"title":119,"path":120,"stem":121},"Exceptions","\u002Fdocs\u002Fcopilot\u002Fphp-classes\u002Fexceptions","1.docs\u002F1.copilot\u002F5.php-classes\u002F4.exceptions",{"title":123,"path":124,"stem":125,"children":126,"page":38},"Advanced","\u002Fdocs\u002Fcopilot\u002Fadvanced","1.docs\u002F1.copilot\u002F6.advanced",[127,131,135],{"title":128,"path":129,"stem":130},"Blocks & Layouts","\u002Fdocs\u002Fcopilot\u002Fadvanced\u002Fblocks-and-layouts","1.docs\u002F1.copilot\u002F6.advanced\u002F1.blocks-and-layouts",{"title":132,"path":133,"stem":134},"Quick Reference","\u002Fdocs\u002Fcopilot\u002Fadvanced\u002Freference","1.docs\u002F1.copilot\u002F6.advanced\u002F2.reference",{"title":136,"path":137,"stem":138},"Troubleshooting","\u002Fdocs\u002Fcopilot\u002Fadvanced\u002Ftroubleshooting","1.docs\u002F1.copilot\u002F6.advanced\u002F3.troubleshooting",{"title":140,"icon":141,"path":142,"stem":143,"children":144,"page":38},"Content Translator","i-ri-translate","\u002Fdocs\u002Fcontent-translator","1.docs\u002F2.content-translator",[145,157,168,185,194,228,240],{"title":11,"path":146,"stem":147,"children":148},"\u002Fdocs\u002Fcontent-translator\u002Fgetting-started","1.docs\u002F2.content-translator\u002F1.getting-started\u002F1.index",[149,150,153],{"title":16,"path":146,"stem":147},{"title":18,"path":151,"stem":152},"\u002Fdocs\u002Fcontent-translator\u002Fgetting-started\u002Finstallation","1.docs\u002F2.content-translator\u002F1.getting-started\u002F2.installation",{"title":154,"path":155,"stem":156},"Migration","\u002Fdocs\u002Fcontent-translator\u002Fgetting-started\u002Fmigration","1.docs\u002F2.content-translator\u002F1.getting-started\u002F3.migration",{"title":22,"path":158,"stem":159,"children":160,"page":38},"\u002Fdocs\u002Fcontent-translator\u002Fconfiguration","1.docs\u002F2.content-translator\u002F2.configuration",[161,164],{"title":27,"path":162,"stem":163},"\u002Fdocs\u002Fcontent-translator\u002Fconfiguration\u002Fglobal","1.docs\u002F2.content-translator\u002F2.configuration\u002F1.global",{"title":165,"path":166,"stem":167},"View Button & Section Configuration","\u002Fdocs\u002Fcontent-translator\u002Fconfiguration\u002Flocal","1.docs\u002F2.content-translator\u002F2.configuration\u002F2.local",{"title":169,"path":170,"stem":171,"children":172,"page":38},"Translation Providers","\u002Fdocs\u002Fcontent-translator\u002Fproviders","1.docs\u002F2.content-translator\u002F3.providers",[173,177,181],{"title":174,"path":175,"stem":176},"DeepL","\u002Fdocs\u002Fcontent-translator\u002Fproviders\u002Fdeepl","1.docs\u002F2.content-translator\u002F3.providers\u002F1.deepl",{"title":178,"path":179,"stem":180},"AI Translation","\u002Fdocs\u002Fcontent-translator\u002Fproviders\u002Fai-translation","1.docs\u002F2.content-translator\u002F3.providers\u002F2.ai-translation",{"title":182,"path":183,"stem":184},"Custom Translator","\u002Fdocs\u002Fcontent-translator\u002Fproviders\u002Fcustom-translator","1.docs\u002F2.content-translator\u002F3.providers\u002F3.custom-translator",{"title":186,"path":187,"stem":188,"children":189,"page":38},"Panel","\u002Fdocs\u002Fcontent-translator\u002Fpanel","1.docs\u002F2.content-translator\u002F4.panel",[190],{"title":191,"path":192,"stem":193},"Translation Coverage","\u002Fdocs\u002Fcontent-translator\u002Fpanel\u002Ftranslation-coverage","1.docs\u002F2.content-translator\u002F4.panel\u002F1.translation-coverage",{"title":86,"path":195,"stem":196,"children":197},"\u002Fdocs\u002Fcontent-translator\u002Fphp-classes","1.docs\u002F2.content-translator\u002F5.php-classes\u002F1.index",[198,199,203,221,224],{"title":91,"path":195,"stem":196},{"title":200,"path":201,"stem":202},"Translator","\u002Fdocs\u002Fcontent-translator\u002Fphp-classes\u002Ftranslator","1.docs\u002F2.content-translator\u002F5.php-classes\u002F2.translator",{"title":204,"path":205,"stem":206,"children":207,"defaultOpen":38},"Strategies","\u002Fdocs\u002Fcontent-translator\u002Fphp-classes\u002Fstrategies","1.docs\u002F2.content-translator\u002F5.php-classes\u002F3.strategies\u002F1.index",[208,209,213,217],{"title":91,"path":205,"stem":206},{"title":210,"path":211,"stem":212},"DeepLStrategy","\u002Fdocs\u002Fcontent-translator\u002Fphp-classes\u002Fstrategies\u002Fdeepl-strategy","1.docs\u002F2.content-translator\u002F5.php-classes\u002F3.strategies\u002F2.deepl-strategy",{"title":214,"path":215,"stem":216},"CopilotAIStrategy","\u002Fdocs\u002Fcontent-translator\u002Fphp-classes\u002Fstrategies\u002Fcopilot-ai-strategy","1.docs\u002F2.content-translator\u002F5.php-classes\u002F3.strategies\u002F3.copilot-ai-strategy",{"title":218,"path":219,"stem":220},"CallableStrategy","\u002Fdocs\u002Fcontent-translator\u002Fphp-classes\u002Fstrategies\u002Fcallable-strategy","1.docs\u002F2.content-translator\u002F5.php-classes\u002F3.strategies\u002F4.callable-strategy",{"title":119,"path":222,"stem":223},"\u002Fdocs\u002Fcontent-translator\u002Fphp-classes\u002Fexceptions","1.docs\u002F2.content-translator\u002F5.php-classes\u002F4.exceptions",{"title":225,"path":226,"stem":227},"DeepL Client","\u002Fdocs\u002Fcontent-translator\u002Fphp-classes\u002Fdeepl-client","1.docs\u002F2.content-translator\u002F5.php-classes\u002F5.deepl-client",{"title":123,"path":229,"stem":230,"children":231,"page":38},"\u002Fdocs\u002Fcontent-translator\u002Fadvanced","1.docs\u002F2.content-translator\u002F6.advanced",[232,236],{"title":233,"path":234,"stem":235},"KirbyTags","\u002Fdocs\u002Fcontent-translator\u002Fadvanced\u002Fkirbytags","1.docs\u002F2.content-translator\u002F6.advanced\u002F1.kirbytags",{"title":237,"path":238,"stem":239},"Hooks","\u002Fdocs\u002Fcontent-translator\u002Fadvanced\u002Fhooks","1.docs\u002F2.content-translator\u002F6.advanced\u002F2.hooks",{"title":241,"path":242,"stem":243,"children":244,"page":38},"CLI & Automation","\u002Fdocs\u002Fcontent-translator\u002Fcli-automation","1.docs\u002F2.content-translator\u002F7.cli-automation",[245,249,253,257,261],{"title":246,"path":247,"stem":248},"Single Page","\u002Fdocs\u002Fcontent-translator\u002Fcli-automation\u002Fsingle-page","1.docs\u002F2.content-translator\u002F7.cli-automation\u002F1.single-page",{"title":250,"path":251,"stem":252},"Batch Pages","\u002Fdocs\u002Fcontent-translator\u002Fcli-automation\u002Fbatch-pages","1.docs\u002F2.content-translator\u002F7.cli-automation\u002F2.batch-pages",{"title":254,"path":255,"stem":256},"File Metadata","\u002Fdocs\u002Fcontent-translator\u002Fcli-automation\u002Ffile-metadata","1.docs\u002F2.content-translator\u002F7.cli-automation\u002F3.file-metadata",{"title":258,"path":259,"stem":260},"Janitor Integration","\u002Fdocs\u002Fcontent-translator\u002Fcli-automation\u002Fjanitor","1.docs\u002F2.content-translator\u002F7.cli-automation\u002F4.janitor",{"title":262,"path":263,"stem":264},"AI Strategy Override","\u002Fdocs\u002Fcontent-translator\u002Fcli-automation\u002Fai-strategy","1.docs\u002F2.content-translator\u002F7.cli-automation\u002F5.ai-strategy",{"title":266,"icon":267,"path":268,"stem":269,"children":270,"page":38},"SEO Audit","i-ri-seo-line","\u002Fdocs\u002Fseo-audit","1.docs\u002F3.seo-audit",[271,279,290],{"title":11,"path":272,"stem":273,"children":274},"\u002Fdocs\u002Fseo-audit\u002Fgetting-started","1.docs\u002F3.seo-audit\u002F1.getting-started\u002F1.index",[275,276],{"title":16,"path":272,"stem":273},{"title":18,"path":277,"stem":278},"\u002Fdocs\u002Fseo-audit\u002Fgetting-started\u002Finstallation","1.docs\u002F3.seo-audit\u002F1.getting-started\u002F2.installation",{"title":22,"path":280,"stem":281,"children":282,"page":38},"\u002Fdocs\u002Fseo-audit\u002Fconfiguration","1.docs\u002F3.seo-audit\u002F2.configuration",[283,286],{"title":27,"path":284,"stem":285},"\u002Fdocs\u002Fseo-audit\u002Fconfiguration\u002Fglobal","1.docs\u002F3.seo-audit\u002F2.configuration\u002F1.global",{"title":287,"path":288,"stem":289},"View Button & Section","\u002Fdocs\u002Fseo-audit\u002Fconfiguration\u002Flocal","1.docs\u002F3.seo-audit\u002F2.configuration\u002F2.local",{"title":291,"path":292,"stem":293,"children":294,"page":38},"Guide","\u002Fdocs\u002Fseo-audit\u002Fguide","1.docs\u002F3.seo-audit\u002F3.guide",[295,299],{"title":296,"path":297,"stem":298},"Assessments for SEO and Readability","\u002Fdocs\u002Fseo-audit\u002Fguide\u002Fassessments","1.docs\u002F3.seo-audit\u002F3.guide\u002F1.assessments",{"title":300,"path":301,"stem":302},"Audit URL","\u002Fdocs\u002Fseo-audit\u002Fguide\u002Faudit-url","1.docs\u002F3.seo-audit\u002F3.guide\u002F2.audit-url",{"title":304,"path":305,"stem":306,"children":307,"icon":319},"Live Preview","\u002Fdocs\u002Flive-preview","1.docs\u002F4.live-preview\u002F1.index",[308,309,312,316],{"title":11,"path":305,"stem":306},{"title":22,"path":310,"stem":311},"\u002Fdocs\u002Flive-preview\u002Fconfiguration","1.docs\u002F4.live-preview\u002F2.configuration",{"title":313,"path":314,"stem":315},"Preview Mode","\u002Fdocs\u002Flive-preview\u002Fpreview-mode","1.docs\u002F4.live-preview\u002F3.preview-mode",{"title":136,"path":317,"stem":318},"\u002Fdocs\u002Flive-preview\u002Ftroubleshooting","1.docs\u002F4.live-preview\u002F4.troubleshooting","i-ri-picture-in-picture-line",{"title":321,"icon":322,"path":323,"stem":324,"children":325,"page":38},"Headless","i-ri-code-block","\u002Fdocs\u002Fheadless","1.docs\u002F5.headless",[326,334,350,370,378],{"title":11,"path":327,"stem":328,"children":329},"\u002Fdocs\u002Fheadless\u002Fgetting-started","1.docs\u002F5.headless\u002F1.getting-started\u002F1.index",[330,331],{"title":16,"path":327,"stem":328},{"title":18,"path":332,"stem":333},"\u002Fdocs\u002Fheadless\u002Fgetting-started\u002Finstallation","1.docs\u002F5.headless\u002F1.getting-started\u002F2.installation",{"title":22,"path":335,"stem":336,"children":337,"page":38},"\u002Fdocs\u002Fheadless\u002Fconfiguration","1.docs\u002F5.headless\u002F2.configuration",[338,342,346],{"title":339,"path":340,"stem":341},"Authentication","\u002Fdocs\u002Fheadless\u002Fconfiguration\u002Fauthentication","1.docs\u002F5.headless\u002F2.configuration\u002F1.authentication",{"title":343,"path":344,"stem":345},"CORS","\u002Fdocs\u002Fheadless\u002Fconfiguration\u002Fcors","1.docs\u002F5.headless\u002F2.configuration\u002F2.cors",{"title":347,"path":348,"stem":349},"Panel Configuration","\u002Fdocs\u002Fheadless\u002Fconfiguration\u002Fpanel","1.docs\u002F5.headless\u002F2.configuration\u002F3.panel",{"title":40,"path":351,"stem":352,"children":353,"page":38},"\u002Fdocs\u002Fheadless\u002Fusage","1.docs\u002F5.headless\u002F3.usage",[354,358,362,366],{"title":355,"path":356,"stem":357},"KQL (Kirby Query Language)","\u002Fdocs\u002Fheadless\u002Fusage\u002Fkql","1.docs\u002F5.headless\u002F3.usage\u002F1.kql",{"title":359,"path":360,"stem":361},"JSON Templates","\u002Fdocs\u002Fheadless\u002Fusage\u002Fjson-templates","1.docs\u002F5.headless\u002F3.usage\u002F2.json-templates",{"title":363,"path":364,"stem":365},"Field Methods","\u002Fdocs\u002Fheadless\u002Fusage\u002Ffield-methods","1.docs\u002F5.headless\u002F3.usage\u002F3.field-methods",{"title":367,"path":368,"stem":369},"Page Methods","\u002Fdocs\u002Fheadless\u002Fusage\u002Fpage-methods","1.docs\u002F5.headless\u002F3.usage\u002F4.page-methods",{"title":123,"path":371,"stem":372,"children":373,"page":38},"\u002Fdocs\u002Fheadless\u002Fadvanced","1.docs\u002F5.headless\u002F4.advanced",[374],{"title":375,"path":376,"stem":377},"API Builder","\u002Fdocs\u002Fheadless\u002Fadvanced\u002Fapi-builder","1.docs\u002F5.headless\u002F4.advanced\u002F1.api-builder",{"title":154,"path":379,"stem":380,"children":381},"\u002Fdocs\u002Fheadless\u002Fmigration","1.docs\u002F5.headless\u002F5.migration\u002F1.index",[382],{"title":383,"path":379,"stem":380},"Version Migration",{"title":385,"path":386,"stem":387,"children":388,"icon":394},"Minimap","\u002Fdocs\u002Fminimap","1.docs\u002F6.minimap\u002F1.index",[389,390],{"title":11,"path":386,"stem":387},{"title":391,"path":392,"stem":393},"Fields Support","\u002Fdocs\u002Fminimap\u002Ffields-support","1.docs\u002F6.minimap\u002F2.fields-support","i-ri-timeline-view",{"title":396,"icon":397,"path":398,"stem":399,"children":400,"page":38},"Documentation","i-ri-book-open-line","\u002Fdocs","1.docs",[401,442,484,498,504,527],{"title":5,"icon":6,"path":7,"stem":8,"children":402,"page":38},[403,407,412,418,425,437],{"title":11,"path":12,"stem":13,"children":404},[405,406],{"title":16,"path":12,"stem":13},{"title":18,"path":19,"stem":20},{"title":22,"path":23,"stem":24,"children":408,"page":38},[409,410,411],{"title":27,"path":28,"stem":29},{"title":31,"path":32,"stem":33},{"title":35,"path":36,"stem":37},{"title":40,"path":41,"stem":42,"children":413,"page":38},[414,415,416,417],{"title":45,"path":46,"stem":47},{"title":49,"path":50,"stem":51},{"title":53,"path":54,"stem":55},{"title":57,"path":58,"stem":59},{"title":61,"path":62,"stem":63,"children":419,"page":38},[420,421,422,423,424],{"title":66,"path":67,"stem":68},{"title":70,"path":71,"stem":72},{"title":74,"path":75,"stem":76},{"title":78,"path":79,"stem":80},{"title":82,"path":83,"stem":84},{"title":86,"path":87,"stem":88,"children":426},[427,428,429,436],{"title":91,"path":87,"stem":88},{"title":93,"path":94,"stem":95},{"title":97,"path":98,"stem":99,"children":430,"defaultOpen":38},[431,432,433,434,435],{"title":91,"path":98,"stem":99},{"title":103,"path":104,"stem":105},{"title":107,"path":108,"stem":109},{"title":111,"path":112,"stem":113},{"title":115,"path":116,"stem":117},{"title":119,"path":120,"stem":121},{"title":123,"path":124,"stem":125,"children":438,"page":38},[439,440,441],{"title":128,"path":129,"stem":130},{"title":132,"path":133,"stem":134},{"title":136,"path":137,"stem":138},{"title":140,"icon":141,"path":142,"stem":143,"children":443,"page":38},[444,449,453,458,461,473,477],{"title":11,"path":146,"stem":147,"children":445},[446,447,448],{"title":16,"path":146,"stem":147},{"title":18,"path":151,"stem":152},{"title":154,"path":155,"stem":156},{"title":22,"path":158,"stem":159,"children":450,"page":38},[451,452],{"title":27,"path":162,"stem":163},{"title":165,"path":166,"stem":167},{"title":169,"path":170,"stem":171,"children":454,"page":38},[455,456,457],{"title":174,"path":175,"stem":176},{"title":178,"path":179,"stem":180},{"title":182,"path":183,"stem":184},{"title":186,"path":187,"stem":188,"children":459,"page":38},[460],{"title":191,"path":192,"stem":193},{"title":86,"path":195,"stem":196,"children":462},[463,464,465,471,472],{"title":91,"path":195,"stem":196},{"title":200,"path":201,"stem":202},{"title":204,"path":205,"stem":206,"children":466,"defaultOpen":38},[467,468,469,470],{"title":91,"path":205,"stem":206},{"title":210,"path":211,"stem":212},{"title":214,"path":215,"stem":216},{"title":218,"path":219,"stem":220},{"title":119,"path":222,"stem":223},{"title":225,"path":226,"stem":227},{"title":123,"path":229,"stem":230,"children":474,"page":38},[475,476],{"title":233,"path":234,"stem":235},{"title":237,"path":238,"stem":239},{"title":241,"path":242,"stem":243,"children":478,"page":38},[479,480,481,482,483],{"title":246,"path":247,"stem":248},{"title":250,"path":251,"stem":252},{"title":254,"path":255,"stem":256},{"title":258,"path":259,"stem":260},{"title":262,"path":263,"stem":264},{"title":266,"icon":267,"path":268,"stem":269,"children":485,"page":38},[486,490,494],{"title":11,"path":272,"stem":273,"children":487},[488,489],{"title":16,"path":272,"stem":273},{"title":18,"path":277,"stem":278},{"title":22,"path":280,"stem":281,"children":491,"page":38},[492,493],{"title":27,"path":284,"stem":285},{"title":287,"path":288,"stem":289},{"title":291,"path":292,"stem":293,"children":495,"page":38},[496,497],{"title":296,"path":297,"stem":298},{"title":300,"path":301,"stem":302},{"title":304,"path":305,"stem":306,"children":499,"icon":319},[500,501,502,503],{"title":11,"path":305,"stem":306},{"title":22,"path":310,"stem":311},{"title":313,"path":314,"stem":315},{"title":136,"path":317,"stem":318},{"title":321,"icon":322,"path":323,"stem":324,"children":505,"page":38},[506,510,515,521,524],{"title":11,"path":327,"stem":328,"children":507},[508,509],{"title":16,"path":327,"stem":328},{"title":18,"path":332,"stem":333},{"title":22,"path":335,"stem":336,"children":511,"page":38},[512,513,514],{"title":339,"path":340,"stem":341},{"title":343,"path":344,"stem":345},{"title":347,"path":348,"stem":349},{"title":40,"path":351,"stem":352,"children":516,"page":38},[517,518,519,520],{"title":355,"path":356,"stem":357},{"title":359,"path":360,"stem":361},{"title":363,"path":364,"stem":365},{"title":367,"path":368,"stem":369},{"title":123,"path":371,"stem":372,"children":522,"page":38},[523],{"title":375,"path":376,"stem":377},{"title":154,"path":379,"stem":380,"children":525},[526],{"title":383,"path":379,"stem":380},{"title":385,"path":386,"stem":387,"children":528,"icon":394},[529,530],{"title":11,"path":386,"stem":387},{"title":391,"path":392,"stem":393},{"title":532,"path":533,"stem":534,"children":535,"page":38},"Blog","\u002Fblog","blog",[536,540,544,548],{"title":537,"path":538,"stem":539},"Kirby Copilot v2.5 – Beyond Single Fields","\u002Fblog\u002Fcopilot-v25","blog\u002Fcopilot-v25",{"title":541,"path":542,"stem":543},"Kirby Copilot v3 – Your Quiet Co-Writer","\u002Fblog\u002Fcopilot-v3","blog\u002Fcopilot-v3",{"title":545,"path":546,"stem":547},"Going Open Source with Commercial Plugins","\u002Fblog\u002Fgoing-open-source","blog\u002Fgoing-open-source",{"title":549,"path":550,"stem":551},"Moving to Paddle","\u002Fblog\u002Fpaddle-migration","blog\u002Fpaddle-migration",[553,558,562,567,570,582,586],{"title":11,"path":146,"stem":147,"children":554},[555,556,557],{"title":16,"path":146,"stem":147},{"title":18,"path":151,"stem":152},{"title":154,"path":155,"stem":156},{"title":22,"path":158,"stem":159,"children":559,"page":38},[560,561],{"title":27,"path":162,"stem":163},{"title":165,"path":166,"stem":167},{"title":169,"path":170,"stem":171,"children":563,"page":38},[564,565,566],{"title":174,"path":175,"stem":176},{"title":178,"path":179,"stem":180},{"title":182,"path":183,"stem":184},{"title":186,"path":187,"stem":188,"children":568,"page":38},[569],{"title":191,"path":192,"stem":193},{"title":86,"path":195,"stem":196,"children":571},[572,573,574,580,581],{"title":91,"path":195,"stem":196},{"title":200,"path":201,"stem":202},{"title":204,"path":205,"stem":206,"children":575,"defaultOpen":38},[576,577,578,579],{"title":91,"path":205,"stem":206},{"title":210,"path":211,"stem":212},{"title":214,"path":215,"stem":216},{"title":218,"path":219,"stem":220},{"title":119,"path":222,"stem":223},{"title":225,"path":226,"stem":227},{"title":123,"path":229,"stem":230,"children":583,"page":38},[584,585],{"title":233,"path":234,"stem":235},{"title":237,"path":238,"stem":239},{"title":241,"path":242,"stem":243,"children":587,"page":38},[588,589,590,591,592],{"title":246,"path":247,"stem":248},{"title":250,"path":251,"stem":252},{"title":254,"path":255,"stem":256},{"title":258,"path":259,"stem":260},{"title":262,"path":263,"stem":264},{"id":594,"title":595,"body":596,"date":697,"description":694,"extension":698,"meta":699,"navigation":700,"path":701,"seo":702,"stem":703,"__hash__":704},"versions\u002F3.content-translator\u002Fchangelog\u002Fv3.11.0.md","v3.11.0",{"type":597,"value":598,"toc":693},"minimark",[599,621,627,669,674],[600,601,602],"tip",{},[603,604,605,606,610,611,616,617,620],"p",{},"Translation backends are now pluggable. The new ",[607,608,609],"code",{},"strategy"," config accepts DeepL, AI (via ",[612,613,615],"a",{"href":614},"\u002Fcopilot","Kirby Copilot","), or any custom ",[607,618,619],{},"Strategy"," implementation – including a closure for one-off integrations.",[603,622,623],{},[624,625,626],"strong",{},"🚀 Features",[628,629,630,660],"ul",{},[631,632,633,636,637,640,641,644,645,648,649,652,653,655,656,659],"li",{},[624,634,635],{},"Pluggable translation strategies",": New ",[607,638,639],{},"johannschopplich.content-translator.strategy"," config option accepts ",[607,642,643],{},"'deepl'",", ",[607,646,647],{},"'ai'",", a ",[607,650,651],{},"Closure",", or a custom ",[607,654,619],{}," instance. See the ",[612,657,658],{"href":205},"strategies documentation",".",[631,661,662,665,666,659],{},[624,663,664],{},"PHP classes",": First-class PHP API for programmatic translation. Run translations from CLI, hooks, or any custom workflow. See the ",[612,667,668],{"href":195},"PHP classes documentation",[603,670,671],{},[624,672,673],{},"⚠️ Deprecated",[628,675,676],{},[631,677,678,684,685,688,689,659],{},[624,679,680,683],{},[607,681,682],{},"translateFn"," config option",": Use ",[607,686,687],{},"'strategy' => $closure"," instead – the closure signature is identical. Will be removed in v4. See the ",[612,690,692],{"href":691},"\u002Fdocs\u002Fcontent-translator\u002Fgetting-started\u002Fmigration#translatefn--strategy","migration guide",{"title":694,"searchDepth":695,"depth":695,"links":696},"",2,[],"2026-05-03","md",{},true,"\u002Fcontent-translator\u002Fchangelog\u002Fv3.11.0",{"title":595,"description":694},"3.content-translator\u002Fchangelog\u002Fv3.11.0","g15HkUy6spEKsZAy_6y3Vb7JFY6PDYfN8WRGNEJna-A",{"data":706,"body":707},{},{"type":708,"children":709},"root",[710],{"type":711,"tag":603,"props":712,"children":713},"element",{},[714,717,725,727,734],{"type":715,"value":716},"text","We love Kirby – our plugins wouldn't exist without it. Help us improve: share feedback in ",{"type":711,"tag":612,"props":718,"children":722},{"href":719,"rel":720},"https:\u002F\u002Fgithub.com\u002Fkirby-tools\u002Fcommunity\u002Fdiscussions",[721],"nofollow",[723],{"type":715,"value":724},"Discussions",{"type":715,"value":726}," or report bugs via ",{"type":711,"tag":612,"props":728,"children":731},{"href":729,"rel":730},"https:\u002F\u002Fgithub.com\u002Fkirby-tools\u002Fcommunity\u002Fissues",[721],[732],{"type":715,"value":733},"Issues",{"type":715,"value":659},{"id":736,"title":225,"body":737,"description":1394,"extension":698,"meta":1395,"navigation":700,"path":226,"seo":1396,"stem":227,"__hash__":1397},"docs\u002F1.docs\u002F2.content-translator\u002F5.php-classes\u002F5.deepl-client.md",{"type":597,"value":738,"toc":1384},[739,745,750,802,813,817,823,878,884,890,935,938,1016,1020,1023,1132,1135,1139,1151,1216,1225,1245,1249,1257,1366,1380],[603,740,741,742,744],{},"Talk to the DeepL API directly from PHP – translation requests, language code resolution, retry handling. Used internally by ",[607,743,210],{}," – reach for it when building a custom strategy, overriding language mapping, or testing.",[746,747,749],"h2",{"id":748},"construction","Construction",[751,752,756],"pre",{"className":753,"code":754,"language":755,"meta":694,"style":694},"language-php shiki shiki-themes github-light github-light github-dark","use JohannSchopplich\\ContentTranslator\\DeepL;\n\n$client = DeepL::instance();\n","php",[607,757,758,775,780],{"__ignoreMap":694},[759,760,763,767,771],"span",{"class":761,"line":762},"line",1,[759,764,766],{"class":765},"s8jYJ","use",[759,768,770],{"class":769},"sBjJW"," JohannSchopplich\\ContentTranslator\\DeepL",[759,772,774],{"class":773},"sxrX7",";\n",[759,776,777],{"class":761,"line":695},[759,778,779],{"emptyLinePlaceholder":700},"\n",[759,781,783,786,789,792,795,799],{"class":761,"line":782},3,[759,784,785],{"class":773},"$client ",[759,787,788],{"class":765},"=",[759,790,791],{"class":769}," DeepL",[759,793,794],{"class":765},"::",[759,796,798],{"class":797},"snPdu","instance",[759,800,801],{"class":773},"();\n",[603,803,804,805,808,809,812],{},"The cached singleton reads ",[607,806,807],{},"johannschopplich.content-translator.DeepL.apiKey"," once. The constructor throws ",[607,810,811],{},"AuthException('Missing DeepL API key')"," when the key is empty.",[746,814,816],{"id":815},"methods","Methods",[818,819,821],"h3",{"id":820},"translate",[607,822,820],{},[751,824,826],{"className":753,"code":825,"language":755,"meta":694,"style":694},"public function translate(string $text, string $targetLanguage, string|null $sourceLanguage = null): string\n",[607,827,828],{"__ignoreMap":694},[759,829,830,833,836,839,842,845,848,850,853,855,858,861,864,866,869,872,875],{"class":761,"line":762},[759,831,832],{"class":765},"public",[759,834,835],{"class":765}," function",[759,837,838],{"class":797}," translate",[759,840,841],{"class":773},"(",[759,843,844],{"class":765},"string",[759,846,847],{"class":773}," $text, ",[759,849,844],{"class":765},[759,851,852],{"class":773}," $targetLanguage, ",[759,854,844],{"class":765},[759,856,857],{"class":773},"|",[759,859,860],{"class":765},"null",[759,862,863],{"class":773}," $sourceLanguage ",[759,865,788],{"class":765},[759,867,868],{"class":769}," null",[759,870,871],{"class":773},")",[759,873,874],{"class":765},":",[759,876,877],{"class":765}," string\n",[603,879,880,881,659],{},"Convenience wrapper around ",[607,882,883],{},"translateMany([$text], …)",[818,885,887],{"id":886},"translatemany",[607,888,889],{},"translateMany",[751,891,893],{"className":753,"code":892,"language":755,"meta":694,"style":694},"public function translateMany(array $texts, string $targetLanguage, string|null $sourceLanguage = null): array\n",[607,894,895],{"__ignoreMap":694},[759,896,897,899,901,904,906,909,912,914,916,918,920,922,924,926,928,930,932],{"class":761,"line":762},[759,898,832],{"class":765},[759,900,835],{"class":765},[759,902,903],{"class":797}," translateMany",[759,905,841],{"class":773},[759,907,908],{"class":765},"array",[759,910,911],{"class":773}," $texts, ",[759,913,844],{"class":765},[759,915,852],{"class":773},[759,917,844],{"class":765},[759,919,857],{"class":773},[759,921,860],{"class":765},[759,923,863],{"class":773},[759,925,788],{"class":765},[759,927,868],{"class":769},[759,929,871],{"class":773},[759,931,874],{"class":765},[759,933,934],{"class":765}," array\n",[603,936,937],{},"Send up to N texts. The client auto-chunks into requests of 50 texts each and merges the results.",[751,939,941],{"className":753,"code":940,"language":755,"meta":694,"style":694},"$translations = DeepL::instance()->translateMany(\n    ['Hello', 'Goodbye', 'Thank you'],\n    'de',\n    'en'\n);\n\u002F\u002F ['Hallo', 'Auf Wiedersehen', 'Danke']\n",[607,942,943,967,989,997,1003,1009],{"__ignoreMap":694},[759,944,945,948,950,952,954,956,959,962,964],{"class":761,"line":762},[759,946,947],{"class":773},"$translations ",[759,949,788],{"class":765},[759,951,791],{"class":769},[759,953,794],{"class":765},[759,955,798],{"class":797},[759,957,958],{"class":773},"()",[759,960,961],{"class":765},"->",[759,963,889],{"class":797},[759,965,966],{"class":773},"(\n",[759,968,969,972,976,978,981,983,986],{"class":761,"line":695},[759,970,971],{"class":773},"    [",[759,973,975],{"class":974},"sIIMD","'Hello'",[759,977,644],{"class":773},[759,979,980],{"class":974},"'Goodbye'",[759,982,644],{"class":773},[759,984,985],{"class":974},"'Thank you'",[759,987,988],{"class":773},"],\n",[759,990,991,994],{"class":761,"line":782},[759,992,993],{"class":974},"    'de'",[759,995,996],{"class":773},",\n",[759,998,1000],{"class":761,"line":999},4,[759,1001,1002],{"class":974},"    'en'\n",[759,1004,1006],{"class":761,"line":1005},5,[759,1007,1008],{"class":773},");\n",[759,1010,1012],{"class":761,"line":1011},6,[759,1013,1015],{"class":1014},"sCsY4","\u002F\u002F ['Hallo', 'Auf Wiedersehen', 'Danke']\n",[746,1017,1019],{"id":1018},"error-handling","Error Handling",[603,1021,1022],{},"The client maps DeepL HTTP responses to typed exceptions:",[1024,1025,1026,1042],"table",{},[1027,1028,1029],"thead",{},[1030,1031,1032,1036,1039],"tr",{},[1033,1034,1035],"th",{},"Status",[1033,1037,1038],{},"Exception",[1033,1040,1041],{},"Message",[1043,1044,1045,1059,1072,1084,1096,1108,1120],"tbody",{},[1030,1046,1047,1051,1056],{},[1048,1049,1050],"td",{},"400",[1048,1052,1053],{},[607,1054,1055],{},"LogicException",[1048,1057,1058],{},"Bad request – check parameters",[1030,1060,1061,1064,1069],{},[1048,1062,1063],{},"403",[1048,1065,1066],{},[607,1067,1068],{},"AuthException",[1048,1070,1071],{},"Authorization failed",[1030,1073,1074,1077,1081],{},[1048,1075,1076],{},"404",[1048,1078,1079],{},[607,1080,1055],{},[1048,1082,1083],{},"API endpoint not found",[1030,1085,1086,1089,1093],{},[1048,1087,1088],{},"413",[1048,1090,1091],{},[607,1092,1055],{},[1048,1094,1095],{},"Request size limit exceeded",[1030,1097,1098,1101,1105],{},[1048,1099,1100],{},"429, 529",[1048,1102,1103],{},[607,1104,1055],{},[1048,1106,1107],{},"Too many requests (after retries)",[1030,1109,1110,1113,1117],{},[1048,1111,1112],{},"456",[1048,1114,1115],{},[607,1116,1055],{},[1048,1118,1119],{},"Quota exceeded",[1030,1121,1122,1125,1129],{},[1048,1123,1124],{},"500\u002F503\u002F504",[1048,1126,1127],{},[607,1128,1055],{},[1048,1130,1131],{},"Server error (after retries)",[603,1133,1134],{},"5xx and 429\u002F529 responses are retried automatically with exponential backoff (max 5 attempts, capped at 8 seconds).",[746,1136,1138],{"id":1137},"language-code-resolution","Language Code Resolution",[603,1140,1141,1142,1145,1146,659],{},"The target language is resolved against the configured Kirby language's ",[607,1143,1144],{},"LC_ALL"," locale, then matched against DeepL's ",[612,1147,1150],{"href":1148,"rel":1149},"https:\u002F\u002Fdevelopers.deepl.com\u002Fdocs\u002Fresources\u002Fsupported-languages#target-languages",[721],"supported target languages",[1024,1152,1153,1165],{},[1027,1154,1155],{},[1030,1156,1157,1162],{},[1033,1158,1159,1160],{},"Kirby ",[607,1161,1144],{},[1033,1163,1164],{},"DeepL receives",[1043,1166,1167,1179,1191,1203],{},[1030,1168,1169,1174],{},[1048,1170,1171],{},[607,1172,1173],{},"en_GB.UTF-8",[1048,1175,1176],{},[607,1177,1178],{},"EN-GB",[1030,1180,1181,1186],{},[1048,1182,1183],{},[607,1184,1185],{},"en_US.UTF-8",[1048,1187,1188],{},[607,1189,1190],{},"EN-US",[1030,1192,1193,1198],{},[1048,1194,1195],{},[607,1196,1197],{},"pt_BR.UTF-8",[1048,1199,1200],{},[607,1201,1202],{},"PT-BR",[1030,1204,1205,1211],{},[1048,1206,1207,1210],{},[607,1208,1209],{},"de"," (no locale)",[1048,1212,1213],{},[607,1214,1215],{},"DE",[603,1217,1218,1219,1222,1223,659],{},"When the resolved code isn't in ",[607,1220,1221],{},"SUPPORTED_TARGET_LANGUAGES",", the constructor throws ",[607,1224,1055],{},[1226,1227,1231],"callout",{"color":1228,"icon":1229,"to":1230},"info","i-ri-arrow-right-line","\u002Fdocs\u002Fcontent-translator\u002Fproviders\u002Fcustom-translator#custom-target-language-with-deepl",[603,1232,1233,1234,1237,1238,1241,1242,659],{},"For language code overrides at runtime (e.g. ",[607,1235,1236],{},"en"," → ",[607,1239,1240],{},"en-gb","), see ",[624,1243,1244],{},"Custom Target Language with DeepL",[746,1246,1248],{"id":1247},"request-options","Request Options",[603,1250,1251,1252,659],{},"Custom request options merge into every translate call. See ",[612,1253,1256],{"href":1254,"rel":1255},"https:\u002F\u002Fdevelopers.deepl.com\u002Fdocs\u002Fapi-reference\u002Ftranslate#request-body-descriptions",[721],"DeepL request body parameters",[751,1258,1261],{"className":753,"code":1259,"filename":1260,"language":755,"meta":694,"style":694},"return [\n    'johannschopplich.content-translator' => [\n        'DeepL' => [\n            'apiKey' => env('DEEPL_API_KEY'),\n            'requestOptions' => [\n                'formality' => 'more',\n                'glossary_id' => 'YOUR_GLOSSARY_ID',\n            ],\n        ],\n    ],\n];\n","config.php",[607,1262,1263,1271,1281,1290,1308,1317,1329,1342,1348,1354,1360],{"__ignoreMap":694},[759,1264,1265,1268],{"class":761,"line":762},[759,1266,1267],{"class":765},"return",[759,1269,1270],{"class":773}," [\n",[759,1272,1273,1276,1279],{"class":761,"line":695},[759,1274,1275],{"class":974},"    'johannschopplich.content-translator'",[759,1277,1278],{"class":765}," =>",[759,1280,1270],{"class":773},[759,1282,1283,1286,1288],{"class":761,"line":782},[759,1284,1285],{"class":974},"        'DeepL'",[759,1287,1278],{"class":765},[759,1289,1270],{"class":773},[759,1291,1292,1295,1297,1300,1302,1305],{"class":761,"line":999},[759,1293,1294],{"class":974},"            'apiKey'",[759,1296,1278],{"class":765},[759,1298,1299],{"class":797}," env",[759,1301,841],{"class":773},[759,1303,1304],{"class":974},"'DEEPL_API_KEY'",[759,1306,1307],{"class":773},"),\n",[759,1309,1310,1313,1315],{"class":761,"line":1005},[759,1311,1312],{"class":974},"            'requestOptions'",[759,1314,1278],{"class":765},[759,1316,1270],{"class":773},[759,1318,1319,1322,1324,1327],{"class":761,"line":1011},[759,1320,1321],{"class":974},"                'formality'",[759,1323,1278],{"class":765},[759,1325,1326],{"class":974}," 'more'",[759,1328,996],{"class":773},[759,1330,1332,1335,1337,1340],{"class":761,"line":1331},7,[759,1333,1334],{"class":974},"                'glossary_id'",[759,1336,1278],{"class":765},[759,1338,1339],{"class":974}," 'YOUR_GLOSSARY_ID'",[759,1341,996],{"class":773},[759,1343,1345],{"class":761,"line":1344},8,[759,1346,1347],{"class":773},"            ],\n",[759,1349,1351],{"class":761,"line":1350},9,[759,1352,1353],{"class":773},"        ],\n",[759,1355,1357],{"class":761,"line":1356},10,[759,1358,1359],{"class":773},"    ],\n",[759,1361,1363],{"class":761,"line":1362},11,[759,1364,1365],{"class":773},"];\n",[1367,1368,1369],"note",{},[603,1370,1371,1372,1375,1376,1379],{},"The client always sends ",[607,1373,1374],{},"tag_handling=html"," and ",[607,1377,1378],{},"split_sentences=1"," by default to keep writer-field markup and markdown line breaks intact.",[1381,1382,1383],"style",{},"html pre.shiki code .s8jYJ, html code.shiki .s8jYJ{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sBjJW, html code.shiki .sBjJW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sxrX7, html code.shiki .sxrX7{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .snPdu, html code.shiki .snPdu{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#B392F0}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 .sIIMD, html code.shiki .sIIMD{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":694,"searchDepth":695,"depth":695,"links":1385},[1386,1387,1391,1392,1393],{"id":748,"depth":695,"text":749},{"id":815,"depth":695,"text":816,"children":1388},[1389,1390],{"id":820,"depth":782,"text":820},{"id":886,"depth":782,"text":889},{"id":1018,"depth":695,"text":1019},{"id":1137,"depth":695,"text":1138},{"id":1247,"depth":695,"text":1248},"Talk to the DeepL API directly from PHP – override language mapping, tune request options, or mock the client in tests.",{},{"title":225,"description":1394},"Czky5ef2uBVGt5FrbrfYW2Eh9ghxzrzI981RWFSjvKo",[1399,1401],{"title":119,"path":222,"stem":223,"description":1400,"children":-1},"Catch translation failures and configuration errors with the plugin's two typed exception classes.",{"title":233,"path":234,"stem":235,"description":1402,"children":-1},"Translate selected KirbyTag attributes while preserving structure – tag types and attribute lists are configurable.",1778009922555]