[{"data":1,"prerenderedAt":954},["ShallowReactive",2],{"content-translator-navigation":3,"mdc-o8y00b-key":142,"content-translator-version":184,"\u002Fdocs\u002Fcontent-translator\u002Fadvanced\u002Fcascade":187,"\u002Fdocs\u002Fcontent-translator\u002Fadvanced\u002Fcascade-surround":949},[4,19,33,50,63,100,117],{"title":5,"path":6,"stem":7,"children":8},"Getting Started","\u002Fdocs\u002Fcontent-translator\u002Fgetting-started","1.docs\u002F2.content-translator\u002F1.getting-started\u002F1.index",[9,11,15],{"title":10,"path":6,"stem":7},"Introduction",{"title":12,"path":13,"stem":14},"Installation","\u002Fdocs\u002Fcontent-translator\u002Fgetting-started\u002Finstallation","1.docs\u002F2.content-translator\u002F1.getting-started\u002F2.installation",{"title":16,"path":17,"stem":18},"Migration","\u002Fdocs\u002Fcontent-translator\u002Fgetting-started\u002Fmigration","1.docs\u002F2.content-translator\u002F1.getting-started\u002F3.migration",{"title":20,"path":21,"stem":22,"children":23,"page":32},"Configuration","\u002Fdocs\u002Fcontent-translator\u002Fconfiguration","1.docs\u002F2.content-translator\u002F2.configuration",[24,28],{"title":25,"path":26,"stem":27},"Global Configuration","\u002Fdocs\u002Fcontent-translator\u002Fconfiguration\u002Fglobal","1.docs\u002F2.content-translator\u002F2.configuration\u002F1.global",{"title":29,"path":30,"stem":31},"View Button & Section Configuration","\u002Fdocs\u002Fcontent-translator\u002Fconfiguration\u002Flocal","1.docs\u002F2.content-translator\u002F2.configuration\u002F2.local",false,{"title":34,"path":35,"stem":36,"children":37,"page":32},"Translation Strategies","\u002Fdocs\u002Fcontent-translator\u002Fproviders","1.docs\u002F2.content-translator\u002F3.providers",[38,42,46],{"title":39,"path":40,"stem":41},"DeepL","\u002Fdocs\u002Fcontent-translator\u002Fproviders\u002Fdeepl","1.docs\u002F2.content-translator\u002F3.providers\u002F1.deepl",{"title":43,"path":44,"stem":45},"AI Translation","\u002Fdocs\u002Fcontent-translator\u002Fproviders\u002Fai-translation","1.docs\u002F2.content-translator\u002F3.providers\u002F2.ai-translation",{"title":47,"path":48,"stem":49},"Custom Translator","\u002Fdocs\u002Fcontent-translator\u002Fproviders\u002Fcustom-translator","1.docs\u002F2.content-translator\u002F3.providers\u002F3.custom-translator",{"title":51,"path":52,"stem":53,"children":54,"page":32},"Panel","\u002Fdocs\u002Fcontent-translator\u002Fpanel","1.docs\u002F2.content-translator\u002F4.panel",[55,59],{"title":56,"path":57,"stem":58},"Translation Coverage","\u002Fdocs\u002Fcontent-translator\u002Fpanel\u002Ftranslation-coverage","1.docs\u002F2.content-translator\u002F4.panel\u002F1.translation-coverage",{"title":60,"path":61,"stem":62},"Translation Results","\u002Fdocs\u002Fcontent-translator\u002Fpanel\u002Ftranslation-results","1.docs\u002F2.content-translator\u002F4.panel\u002F2.translation-results",{"title":64,"path":65,"stem":66,"children":67},"PHP Classes","\u002Fdocs\u002Fcontent-translator\u002Fphp-classes","1.docs\u002F2.content-translator\u002F5.php-classes\u002F1.index",[68,70,74,92,96],{"title":69,"path":65,"stem":66},"Overview",{"title":71,"path":72,"stem":73},"Translator","\u002Fdocs\u002Fcontent-translator\u002Fphp-classes\u002Ftranslator","1.docs\u002F2.content-translator\u002F5.php-classes\u002F2.translator",{"title":75,"path":76,"stem":77,"children":78,"defaultOpen":32},"Strategies","\u002Fdocs\u002Fcontent-translator\u002Fphp-classes\u002Fstrategies","1.docs\u002F2.content-translator\u002F5.php-classes\u002F3.strategies\u002F1.index",[79,80,84,88],{"title":69,"path":76,"stem":77},{"title":81,"path":82,"stem":83},"DeepLStrategy","\u002Fdocs\u002Fcontent-translator\u002Fphp-classes\u002Fstrategies\u002Fdeepl-strategy","1.docs\u002F2.content-translator\u002F5.php-classes\u002F3.strategies\u002F2.deepl-strategy",{"title":85,"path":86,"stem":87},"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":89,"path":90,"stem":91},"CallableStrategy","\u002Fdocs\u002Fcontent-translator\u002Fphp-classes\u002Fstrategies\u002Fcallable-strategy","1.docs\u002F2.content-translator\u002F5.php-classes\u002F3.strategies\u002F4.callable-strategy",{"title":93,"path":94,"stem":95},"Exceptions","\u002Fdocs\u002Fcontent-translator\u002Fphp-classes\u002Fexceptions","1.docs\u002F2.content-translator\u002F5.php-classes\u002F4.exceptions",{"title":97,"path":98,"stem":99},"DeepL Client","\u002Fdocs\u002Fcontent-translator\u002Fphp-classes\u002Fdeepl-client","1.docs\u002F2.content-translator\u002F5.php-classes\u002F5.deepl-client",{"title":101,"path":102,"stem":103,"children":104,"page":32},"Advanced","\u002Fdocs\u002Fcontent-translator\u002Fadvanced","1.docs\u002F2.content-translator\u002F6.advanced",[105,109,113],{"title":106,"path":107,"stem":108},"KirbyTags","\u002Fdocs\u002Fcontent-translator\u002Fadvanced\u002Fkirbytags","1.docs\u002F2.content-translator\u002F6.advanced\u002F1.kirbytags",{"title":110,"path":111,"stem":112},"Hooks","\u002Fdocs\u002Fcontent-translator\u002Fadvanced\u002Fhooks","1.docs\u002F2.content-translator\u002F6.advanced\u002F2.hooks",{"title":114,"path":115,"stem":116},"Translate Related Pages and Files","\u002Fdocs\u002Fcontent-translator\u002Fadvanced\u002Fcascade","1.docs\u002F2.content-translator\u002F6.advanced\u002F3.cascade",{"title":118,"path":119,"stem":120,"children":121,"page":32},"CLI & Automation","\u002Fdocs\u002Fcontent-translator\u002Fcli-automation","1.docs\u002F2.content-translator\u002F7.cli-automation",[122,126,130,134,138],{"title":123,"path":124,"stem":125},"Single Page","\u002Fdocs\u002Fcontent-translator\u002Fcli-automation\u002Fsingle-page","1.docs\u002F2.content-translator\u002F7.cli-automation\u002F1.single-page",{"title":127,"path":128,"stem":129},"Batch Pages","\u002Fdocs\u002Fcontent-translator\u002Fcli-automation\u002Fbatch-pages","1.docs\u002F2.content-translator\u002F7.cli-automation\u002F2.batch-pages",{"title":131,"path":132,"stem":133},"File Metadata","\u002Fdocs\u002Fcontent-translator\u002Fcli-automation\u002Ffile-metadata","1.docs\u002F2.content-translator\u002F7.cli-automation\u002F3.file-metadata",{"title":135,"path":136,"stem":137},"Janitor Integration","\u002Fdocs\u002Fcontent-translator\u002Fcli-automation\u002Fjanitor","1.docs\u002F2.content-translator\u002F7.cli-automation\u002F4.janitor",{"title":139,"path":140,"stem":141},"AI Strategy Override","\u002Fdocs\u002Fcontent-translator\u002Fcli-automation\u002Fai-strategy","1.docs\u002F2.content-translator\u002F7.cli-automation\u002F5.ai-strategy",{"data":143,"body":144},{},{"type":145,"children":146},"root",[147],{"type":148,"tag":149,"props":150,"children":151},"element","p",{},[152,155,164,166,173,175,182],{"type":153,"value":154},"text","Kirby Tools is built on ",{"type":148,"tag":156,"props":157,"children":161},"a",{"href":158,"rel":159},"https:\u002F\u002Fgetkirby.com",[160],"nofollow",[162],{"type":153,"value":163},"Kirby",{"type":153,"value":165}," – with gratitude to the team and community who make it. Help me improve the plugins: share feedback in ",{"type":148,"tag":156,"props":167,"children":170},{"href":168,"rel":169},"https:\u002F\u002Fgithub.com\u002Fkirby-tools\u002Fcommunity\u002Fdiscussions",[160],[171],{"type":153,"value":172},"Discussions",{"type":153,"value":174}," or report bugs via ",{"type":148,"tag":156,"props":176,"children":179},{"href":177,"rel":178},"https:\u002F\u002Fgithub.com\u002Fkirby-tools\u002Fcommunity\u002Fissues",[160],[180],{"type":153,"value":181},"Issues",{"type":153,"value":183},".",{"title":185,"date":186},"v3.17.0","2026-09-28",{"id":188,"title":114,"body":189,"description":944,"extension":945,"meta":946,"navigation":659,"path":115,"seo":947,"stem":116,"__hash__":948},"docs\u002F1.docs\u002F2.content-translator\u002F6.advanced\u002F3.cascade.md",{"type":190,"value":191,"toc":938},"minimark",[192,200,213,218,234,383,394,400,425,439,446,456,460,475,497,500,546,553,573,577,588,686,696,703,706,720,727,731,738,934],[149,193,194,195,199],{},"Some content lives outside the page an editor has open: the module pages of a page builder, the metadata of a page's files, the children of an overview page. The ",[196,197,198],"code",{},"cascade"," option names these models with a Kirby query, and every translation started from the view translates them too.",[149,201,202,203,207,208,210,211,183],{},"The model whose view starts the translation is the ",[204,205,206],"strong",{},"host",". The models its ",[196,209,198],{}," option names are its ",[204,212,198],{},[214,215,217],"h2",{"id":216},"name-the-cascade","Name the Cascade",[149,219,220,221,223,224,227,228,233],{},"Set ",[196,222,198],{}," on the ",[156,225,226],{"href":30},"view button or the section"," of the host's blueprint. It takes one ",[156,229,232],{"href":230,"rel":231},"https:\u002F\u002Fgetkirby.com\u002Fdocs\u002Fguide\u002Fblueprints\u002Fquery-language",[160],"Kirby query"," or a list of them:",[235,236,237,333],"code-group",{},[238,239,245],"pre",{"className":240,"code":241,"filename":242,"language":243,"meta":244,"style":244},"language-yaml shiki shiki-themes github-light github-light github-dark","buttons:\n  open: true\n  preview: true\n  settings: true\n  content-translator:\n    cascade: page.files\n  languages: true\n  status: true\n","View Button","yaml","",[196,246,247,260,273,283,293,301,313,323],{"__ignoreMap":244},[248,249,252,256],"span",{"class":250,"line":251},"line",1,[248,253,255],{"class":254},"sovSZ","buttons",[248,257,259],{"class":258},"sxrX7",":\n",[248,261,263,266,269],{"class":250,"line":262},2,[248,264,265],{"class":254},"  open",[248,267,268],{"class":258},": ",[248,270,272],{"class":271},"sBjJW","true\n",[248,274,276,279,281],{"class":250,"line":275},3,[248,277,278],{"class":254},"  preview",[248,280,268],{"class":258},[248,282,272],{"class":271},[248,284,286,289,291],{"class":250,"line":285},4,[248,287,288],{"class":254},"  settings",[248,290,268],{"class":258},[248,292,272],{"class":271},[248,294,296,299],{"class":250,"line":295},5,[248,297,298],{"class":254},"  content-translator",[248,300,259],{"class":258},[248,302,304,307,309],{"class":250,"line":303},6,[248,305,306],{"class":254},"    cascade",[248,308,268],{"class":258},[248,310,312],{"class":311},"sIIMD","page.files\n",[248,314,316,319,321],{"class":250,"line":315},7,[248,317,318],{"class":254},"  languages",[248,320,268],{"class":258},[248,322,272],{"class":271},[248,324,326,329,331],{"class":250,"line":325},8,[248,327,328],{"class":254},"  status",[248,330,268],{"class":258},[248,332,272],{"class":271},[238,334,337],{"className":240,"code":335,"filename":336,"language":243,"meta":244,"style":244},"sections:\n  contentTranslator:\n    type: content-translator\n    cascade:\n      - page.files\n      - page.children.listed\n","Section",[196,338,339,346,353,363,369,376],{"__ignoreMap":244},[248,340,341,344],{"class":250,"line":251},[248,342,343],{"class":254},"sections",[248,345,259],{"class":258},[248,347,348,351],{"class":250,"line":262},[248,349,350],{"class":254},"  contentTranslator",[248,352,259],{"class":258},[248,354,355,358,360],{"class":250,"line":275},[248,356,357],{"class":254},"    type",[248,359,268],{"class":258},[248,361,362],{"class":311},"content-translator\n",[248,364,365,367],{"class":250,"line":285},[248,366,306],{"class":254},[248,368,259],{"class":258},[248,370,371,374],{"class":250,"line":295},[248,372,373],{"class":258},"      - ",[248,375,312],{"class":311},[248,377,378,380],{"class":250,"line":303},[248,379,373],{"class":258},[248,381,382],{"class":311},"page.children.listed\n",[149,384,385,386,388,389,393],{},"On the view button, ",[196,387,198],{}," needs the ",[156,390,392],{"href":391},"\u002Fdocs\u002Fcontent-translator\u002Fconfiguration\u002Flocal#advanced-configuration","map form"," shown above. A map replaces Kirby's default buttons, so keep naming every button you want.",[149,395,396,397,399],{},"A translation cascades only when the view button or section it starts from sets ",[196,398,198],{},". With both in one blueprint, give them the same queries.",[149,401,402,403,406,407,410,411,414,415,406,418,421,422,424],{},"A query can use ",[196,404,405],{},"kirby",", ",[196,408,409],{},"site",", and ",[196,412,413],{},"model"," – the host itself – plus the alias of the host's own type: ",[196,416,417],{},"page",[196,419,420],{},"file",", or ",[196,423,409],{},". The null-safe operator keeps a query valid while the model it starts from does not exist yet:",[238,426,428],{"className":240,"code":427,"language":243,"meta":244,"style":244},"cascade: page.find(\"modules\")?.children\n",[196,429,430],{"__ignoreMap":244},[248,431,432,434,436],{"class":250,"line":251},[248,433,198],{"class":254},[248,435,268],{"class":258},[248,437,438],{"class":311},"page.find(\"modules\")?.children\n",[149,440,441,442,445],{},"Only pages and files take part, drafts included when a query such as ",[196,443,444],{},"page.drafts"," reaches them. The host itself and the models the current user may not open or edit are left out. A query that fails or finds nothing adds nothing and shows no error, so a typo shows up only as a missing or too-low count in the dialog before a translation.",[447,448,449],"warning",{},[149,450,451,452,455],{},"Every model of the cascade costs a translation per language. A query like ",[196,453,454],{},"site.index"," translates the whole site from one button.",[214,457,459],{"id":458},"the-cascade-is-saved-directly","The Cascade Is Saved Directly",[149,461,462,463,466,467,470,471,474],{},"The cascade is always translated from the ",[204,464,465],{},"saved content of the default language"," and ",[204,468,469],{},"saved directly"," in the target language, so ",[204,472,473],{},"Discard"," on the host does not revert it. The dialog before a translation states how many pages and files come along.",[476,477,478,485,491],"ul",{},[479,480,481,484],"li",{},[204,482,483],{},"Batch translation"," translates the host and its cascade into every selected language.",[479,486,487,490],{},[204,488,489],{},"Single-language translation"," saves the cascade in the current language, while the host's fields stay in the form for review. Nothing is cascaded while the default language is open, while another user edits the host, or without the permission to update the host.",[479,492,493,496],{},[204,494,495],{},"Import"," does not cascade.",[149,498,499],{},"A model of the cascade is translated by the host's options:",[476,501,502,523,536,543],{},[479,503,504,505,406,508,410,511,514,515,518,519,522],{},"The host's ",[196,506,507],{},"fieldTypes",[196,509,510],{},"kirbyTags",[196,512,513],{},"systemPrompt"," apply. A ",[196,516,517],{},"content-translator"," section or view button on the model's own blueprint is not read, but ",[196,520,521],{},"translate: false"," on its fields holds.",[479,524,525,466,528,531,532,535],{},[196,526,527],{},"includeFields",[196,529,530],{},"excludeFields"," from the host's blueprint do not apply, since they name the host's fields. Those set in the ",[156,533,534],{"href":26},"global configuration"," do.",[479,537,538,539,542],{},"A page gets a translated title when the host's ",[196,540,541],{},"title"," option is on and the current user may change that page's title.",[479,544,545],{},"The slug is never translated.",[149,547,548,549,552],{},"Three things hold a model of the cascade back, and the ",[156,550,551],{"href":61},"translation results"," say which:",[476,554,555,561,567],{},[479,556,557,560],{},[204,558,559],{},"Another user edits it."," The remaining models are still translated.",[479,562,563,566],{},[204,564,565],{},"Its default language has unsaved changes."," The translation would miss them, so save or discard them first.",[479,568,569,572],{},[204,570,571],{},"A target language has unsaved changes."," Only that language of the model is held back, as for the host.",[214,574,576],{"id":575},"kirby-modules","Kirby Modules",[149,578,579,583,584,587],{},[156,580,576],{"href":581,"rel":582},"https:\u002F\u002Fgithub.com\u002Fmedienbaecker\u002Fkirby-modules",[160]," stores the modules of a section as child pages of a container page named after the section. For a section named ",[196,585,586],{},"modules",", one line in the host's blueprint translates them along with the page:",[238,589,592],{"className":240,"code":590,"filename":591,"language":243,"meta":244,"style":244},"buttons:\n  open: true\n  preview: true\n  settings: true\n  content-translator:\n    cascade: page.find(\"modules\")?.children\n  languages: true\n  status: true\n\nsections:\n  modules:\n    type: modules\n","site\u002Fblueprints\u002Fpages\u002Fdefault.yml",[196,593,594,600,608,616,624,630,638,646,654,661,668,676],{"__ignoreMap":244},[248,595,596,598],{"class":250,"line":251},[248,597,255],{"class":254},[248,599,259],{"class":258},[248,601,602,604,606],{"class":250,"line":262},[248,603,265],{"class":254},[248,605,268],{"class":258},[248,607,272],{"class":271},[248,609,610,612,614],{"class":250,"line":275},[248,611,278],{"class":254},[248,613,268],{"class":258},[248,615,272],{"class":271},[248,617,618,620,622],{"class":250,"line":285},[248,619,288],{"class":254},[248,621,268],{"class":258},[248,623,272],{"class":271},[248,625,626,628],{"class":250,"line":295},[248,627,298],{"class":254},[248,629,259],{"class":258},[248,631,632,634,636],{"class":250,"line":303},[248,633,306],{"class":254},[248,635,268],{"class":258},[248,637,438],{"class":311},[248,639,640,642,644],{"class":250,"line":315},[248,641,318],{"class":254},[248,643,268],{"class":258},[248,645,272],{"class":271},[248,647,648,650,652],{"class":250,"line":325},[248,649,328],{"class":254},[248,651,268],{"class":258},[248,653,272],{"class":271},[248,655,657],{"class":250,"line":656},9,[248,658,660],{"emptyLinePlaceholder":659},true,"\n",[248,662,664,666],{"class":250,"line":663},10,[248,665,343],{"class":254},[248,667,259],{"class":258},[248,669,671,674],{"class":250,"line":670},11,[248,672,673],{"class":254},"  modules",[248,675,259],{"class":258},[248,677,679,681,683],{"class":250,"line":678},12,[248,680,357],{"class":254},[248,682,268],{"class":258},[248,684,685],{"class":311},"modules\n",[149,687,688,689,692,693,183],{},"For more than one modules section, list one query per section. A section named ",[196,690,691],{},"sidebar"," keeps its modules in ",[196,694,695],{},"page.find(\"sidebar\")",[149,697,698,699,702],{},"The query reads the container's children rather than Kirby Modules' ",[196,700,701],{},"page.modules"," method, because that method leaves out hidden modules, and new modules start hidden.",[149,704,705],{},"For modules that contain modules, collect the whole tree and keep only the module pages:",[238,707,709],{"className":240,"code":708,"language":243,"meta":244,"style":244},"cascade: page.find(\"modules\")?.index.filterBy(\"isModule\", true)\n",[196,710,711],{"__ignoreMap":244},[248,712,713,715,717],{"class":250,"line":251},[248,714,198],{"class":254},[248,716,268],{"class":258},[248,718,719],{"class":311},"page.find(\"modules\")?.index.filterBy(\"isModule\", true)\n",[149,721,722,723,726],{},"Module blueprints set ",[196,724,725],{},"changeTitle: false"," by default, so module titles stay as they are.",[214,728,730],{"id":729},"from-php","From PHP",[149,732,733,734,737],{},"The ",[156,735,736],{"href":72},"PHP API"," has no cascade. Loop over the same models instead:",[238,739,743],{"className":740,"code":741,"language":742,"meta":244,"style":244},"language-php shiki shiki-themes github-light github-light github-dark","$targetLanguage = 'de';\n$defaultLanguage = kirby()->defaultLanguage()->code();\n$page = page('about');\n\n$models = [$page, ...$page->files(), ...($page->find('modules')?->children() ?? [])];\n\nforeach ($models as $model) {\n    $translator = $model->translator();\n    $translator->copyContent($targetLanguage, $defaultLanguage);\n    $translator->translateContent($targetLanguage, $targetLanguage, $defaultLanguage);\n}\n","php",[196,744,745,760,789,808,812,869,873,887,904,917,929],{"__ignoreMap":244},[248,746,747,750,754,757],{"class":250,"line":251},[248,748,749],{"class":258},"$targetLanguage ",[248,751,753],{"class":752},"s8jYJ","=",[248,755,756],{"class":311}," 'de'",[248,758,759],{"class":258},";\n",[248,761,762,765,767,771,774,777,780,782,784,786],{"class":250,"line":262},[248,763,764],{"class":258},"$defaultLanguage ",[248,766,753],{"class":752},[248,768,770],{"class":769},"snPdu"," kirby",[248,772,773],{"class":258},"()",[248,775,776],{"class":752},"->",[248,778,779],{"class":769},"defaultLanguage",[248,781,773],{"class":258},[248,783,776],{"class":752},[248,785,196],{"class":769},[248,787,788],{"class":258},"();\n",[248,790,791,794,796,799,802,805],{"class":250,"line":275},[248,792,793],{"class":258},"$page ",[248,795,753],{"class":752},[248,797,798],{"class":769}," page",[248,800,801],{"class":258},"(",[248,803,804],{"class":311},"'about'",[248,806,807],{"class":258},");\n",[248,809,810],{"class":250,"line":285},[248,811,660],{"emptyLinePlaceholder":659},[248,813,814,817,819,822,825,828,830,833,836,838,841,843,846,848,851,854,857,860,863,866],{"class":250,"line":295},[248,815,816],{"class":258},"$models ",[248,818,753],{"class":752},[248,820,821],{"class":258}," [$page, ",[248,823,824],{"class":752},"...",[248,826,827],{"class":258},"$page",[248,829,776],{"class":752},[248,831,832],{"class":769},"files",[248,834,835],{"class":258},"(), ",[248,837,824],{"class":752},[248,839,840],{"class":258},"($page",[248,842,776],{"class":752},[248,844,845],{"class":769},"find",[248,847,801],{"class":258},[248,849,850],{"class":311},"'modules'",[248,852,853],{"class":258},")",[248,855,856],{"class":752},"?->",[248,858,859],{"class":769},"children",[248,861,862],{"class":258},"() ",[248,864,865],{"class":752},"??",[248,867,868],{"class":258}," [])];\n",[248,870,871],{"class":250,"line":303},[248,872,660],{"emptyLinePlaceholder":659},[248,874,875,878,881,884],{"class":250,"line":315},[248,876,877],{"class":752},"foreach",[248,879,880],{"class":258}," ($models ",[248,882,883],{"class":752},"as",[248,885,886],{"class":258}," $model) {\n",[248,888,889,892,894,897,899,902],{"class":250,"line":325},[248,890,891],{"class":258},"    $translator ",[248,893,753],{"class":752},[248,895,896],{"class":258}," $model",[248,898,776],{"class":752},[248,900,901],{"class":769},"translator",[248,903,788],{"class":258},[248,905,906,909,911,914],{"class":250,"line":656},[248,907,908],{"class":258},"    $translator",[248,910,776],{"class":752},[248,912,913],{"class":769},"copyContent",[248,915,916],{"class":258},"($targetLanguage, $defaultLanguage);\n",[248,918,919,921,923,926],{"class":250,"line":663},[248,920,908],{"class":258},[248,922,776],{"class":752},[248,924,925],{"class":769},"translateContent",[248,927,928],{"class":258},"($targetLanguage, $targetLanguage, $defaultLanguage);\n",[248,930,931],{"class":250,"line":670},[248,932,933],{"class":258},"}\n",[935,936,937],"style",{},"html pre.shiki code .sovSZ, html code.shiki .sovSZ{--shiki-light:#22863A;--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sxrX7, html code.shiki .sxrX7{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sBjJW, html code.shiki .sBjJW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sIIMD, html code.shiki .sIIMD{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#9ECBFF}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 .s8jYJ, html code.shiki .s8jYJ{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .snPdu, html code.shiki .snPdu{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#B392F0}",{"title":244,"searchDepth":262,"depth":262,"links":939},[940,941,942,943],{"id":216,"depth":262,"text":217},{"id":458,"depth":262,"text":459},{"id":575,"depth":262,"text":576},{"id":729,"depth":262,"text":730},"Translate the pages and files that belong to a view along with it – Kirby Modules, a page's files, or any model a Kirby query reaches.","md",{},{"title":114,"description":944},"utEQZ9Q3vj5z84P0f4TmfJQu-HzmYEb8Th0csixXcUs",[950,952],{"title":110,"path":111,"stem":112,"description":951,"children":-1},"Preprocess or postprocess content with before\u002Fafter hooks, and surface rejected translations with the warning hook.",{"title":123,"path":124,"stem":125,"description":953,"children":-1},"Copy and translate a single page’s content to any target language from the command line, without opening the Panel.",1790617098938]