diff --git a/apps/editor/components/build-tab.tsx b/apps/editor/components/build-tab.tsx index c829be78af..bfc8ced4ed 100644 --- a/apps/editor/components/build-tab.tsx +++ b/apps/editor/components/build-tab.tsx @@ -219,9 +219,13 @@ export function BuildTab() { <> {buildTypes - .filter((type) => - i18n._(type.label).toLocaleLowerCase().includes(buildSearch.toLocaleLowerCase()), - ) + .filter((type) => { + // The English name matches too, so shared or remembered terms work in any UI language. + const query = buildSearch.toLocaleLowerCase() + return [i18n._(type.label), type.label.message ?? ''].some((name) => + name.toLocaleLowerCase().includes(query), + ) + }) .map(renderTile)} diff --git a/i18n/literal-baseline.json b/i18n/literal-baseline.json index 2c702b21c9..c1eb8ece46 100644 --- a/i18n/literal-baseline.json +++ b/i18n/literal-baseline.json @@ -127,8 +127,7 @@ "Extrusion height" ], "packages/editor/src/components/editor-2d/floorplan-open-wall-ends-layer.tsx": [ - "Wall end not joined", - "{?}{opacity:0.4}" + "Wall end not joined" ], "packages/editor/src/components/editor-2d/renderers/floorplan-dimension-edit-overlay.tsx": [ "Cannot read \"{?}\"" @@ -365,9 +364,6 @@ "Undo anyway", "You've changed the scene since. Undoing also removes those changes." ], - "packages/editor/src/components/point-ask/point-ask-layer.tsx": [ - "{?}{?}\n.pa-layer[data-calm] .pa-hlabel{transform:none;transition-property:opacity}\n.pa-layer[data-calm] .pa-send,.pa-layer[data-calm] .pa-dict,.pa-layer[data-calm] .pa-btn,.pa-layer[data-calm] .pa-hold{transform:none;transition-property:opacity,color,background}\n.pa-layer[data-calm] .pa-pk,.pa-layer[data-calm] .pa-edgemark{transition:none}\n" - ], "packages/editor/src/components/procedural-items/inspector.tsx": [ "Adjust design", "Back", @@ -1088,9 +1084,6 @@ "Update snapshot", "View snapshot" ], - "packages/editor/src/components/ui/sidebar/panels/site-panel/tree-node-drag.tsx": [ - "* { cursor: grabbing !important; }" - ], "packages/editor/src/components/ui/sidebar/panels/site-panel/unit-tree-node.tsx": [ "Delete unit", "Focused", diff --git a/packages/editor/src/components/ui/action-menu/view-toggles.tsx b/packages/editor/src/components/ui/action-menu/view-toggles.tsx index f36210e019..f525d49ecb 100644 --- a/packages/editor/src/components/ui/action-menu/view-toggles.tsx +++ b/packages/editor/src/components/ui/action-menu/view-toggles.tsx @@ -936,7 +936,7 @@ function ReferenceFloorControl() { )} /> {levelName} - {index + 1}{' '}{i18n._({ id: 'editor.actionMenu.viewToggles.below', message: 'below' })} + {i18n._({ id: 'editor.actionMenu.viewToggles.levelsBelow', message: '{count} below', values: { count: index + 1 } })} ) })} diff --git a/packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx b/packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx index 50e46073f4..e3d28907a3 100644 --- a/packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +++ b/packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx @@ -372,7 +372,25 @@ function PaintScopeChip() { const paintMode = usePaintRegionMode((s) => s.mode) const paintEraser = paintMode === 'erase' const picking = paintMode === 'pick' - const verb = picking ? 'Pick' : paintEraser ? 'Erase' : 'Paint' + const verb = picking ? 'pick' : paintEraser ? 'erase' : 'paint' + const scopeText = (scope: PaintScope) => + ({ + pick: i18n._({ + id: 'editor.helpers.contextualHelperPanel.pickScope', + message: 'Pick: {scope}', + values: { scope: paintScopeLabel(scope, paintHover!) }, + }), + erase: i18n._({ + id: 'editor.helpers.contextualHelperPanel.eraseScope', + message: 'Erase: {scope}', + values: { scope: paintScopeLabel(scope, paintHover!) }, + }), + paint: i18n._({ + id: 'editor.helpers.contextualHelperPanel.paintScope', + message: 'Paint: {scope}', + values: { scope: paintScopeLabel(scope, paintHover!) }, + }), + })[verb] // Nothing to paint with yet (no material picked, not erasing) → the first step // is choosing a material, so say that before anything about scope or hovering. @@ -408,19 +426,27 @@ function PaintScopeChip() { return ( ) } return ( cyclePaintScope()} shortcut="Shift" - tooltip={i18n._({ id: 'editor.helpers.contextualHelperPanel.verbScopeClickOrPressShift', message: '{verb} scope — click or press Shift to cycle', values: { verb } })} + tooltip={ + paintEraser + ? i18n._({ id: 'editor.helpers.contextualHelperPanel.eraseScopeClickOrPressShift', message: 'Erase scope — click or press Shift to cycle' }) + : i18n._({ id: 'editor.helpers.contextualHelperPanel.paintScopeClickOrPressShift', message: 'Paint scope — click or press Shift to cycle' }) + } /> ) } diff --git a/packages/editor/src/i18n/locales/en-XA/messages.ts b/packages/editor/src/i18n/locales/en-XA/messages.ts index 8e299158fa..c81cb6a2d1 100644 --- a/packages/editor/src/i18n/locales/en-XA/messages.ts +++ b/packages/editor/src/i18n/locales/en-XA/messages.ts @@ -1 +1 @@ -/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"app.appShell.pascalHome\":[\"[Þášçáļ ĥöɱé ~~~]\"],\"app.buildTab.addGate\":[\"[Åðð Ĝáţé ~~~]\"],\"app.buildTab.addOpenPassage\":[\"[Åðð Öþéñ Þáššáĝé ~~~~~]\"],\"app.buildTab.addToRooms\":[\"[Åðð ţö ŕööɱš ~~~]\"],\"app.buildTab.allBuildTools\":[\"[← Åļļ ƀûîļð ţööļš ~~~~]\"],\"app.buildTab.chooseGateOrOpenPassageThen\":[\"[Çĥööšé Ĝáţé öŕ Öþéñ Þáššáĝé, ţĥéñ çļîçķ îţš þöšîţîöñ öñ áñý ƒéñçé. Ƒîñð þļáçéð ĝáţéš áñð öþéñîñĝš ûñðéŕ ţĥéîŕ ƒéñçé îñ ţĥé šçéñé ĝŕáþĥ. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]\"],\"app.buildTab.clickALinesetToLayThe\":[\"[Çļîçķ á ļîñéšéţ ţö ļáý ţĥé ļîñé ƀéšîðé îţ. ~~~~~~~~~~]\"],\"app.buildTab.doubleGate\":[\"[Ðöûƀļé ĝáţé ~~~]\"],\"app.buildTab.featuresExtensions\":[\"[Ƒéáţûŕéš & éẋţéñšîöñš ~~~~~~]\"],\"app.buildTab.fenceFeatures\":[\"[Ƒéñçé ƒéáţûŕéš ~~~~]\"],\"app.buildTab.followLineset\":[\"[Ƒöļļöŵ ļîñéšéţ ~~~~]\"],\"app.buildTab.gate\":[\"[Ĝáţé ~~]\"],\"app.buildTab.gateStyle\":[\"[Ĝáţé šţýļé ~~~]\"],\"app.buildTab.horizontalBoards\":[\"[Ĥöŕîžöñţáļ ƀöáŕðš ~~~~~]\"],\"app.buildTab.hoverAFenceToPreviewClick\":[\"[Ĥöṽéŕ á ƒéñçé ţö þŕéṽîéŵ. Çļîçķ ţö þļáçé. Éšç çáñçéļš. Ļéáṽé ŕööɱ ƀéţŵééñ öþéñîñĝš. ~~~~~~~~~~~~~~~~~~~~]\"],\"app.buildTab.leaves\":[\"[Ļéáṽéš ~~]\"],\"app.buildTab.liquidLine\":[\"[Ļîǫûîð Ļîñé ~~~]\"],\"app.buildTab.matchFenceStyle\":[\"[Ṁáţçĥ ƒéñçé šţýļé ~~~~~]\"],\"app.buildTab.mep\":[\"[ṀÉÞ ~]\"],\"app.buildTab.off\":[\"[Öƒƒ ~]\"],\"app.buildTab.on\":[\"[Öñ ~]\"],\"app.buildTab.openRails\":[\"[Öþéñ ŕáîļš ~~~]\"],\"app.buildTab.opening\":[\"[Öþéñîñĝ ~~~]\"],\"app.buildTab.openingWidthM\":[\"[Öþéñîñĝ ŵîðţĥ (ɱ) ~~~~]\"],\"app.buildTab.outdoor\":[\"[Öûţðööŕ ~~~]\"],\"app.buildTab.picket\":[\"[Þîçķéţ ~~]\"],\"app.buildTab.roofType\":[\"[Ŕööƒ ţýþé ~~~]\"],\"app.buildTab.roomsAlreadyCreateTheirFloorAnd\":[\"[Ŕööɱš áļŕéáðý çŕéáţé ţĥéîŕ ƒļööŕ áñð çéîļîñĝ. Ûšé ţĥéšé ƒöŕ þļáţƒöŕɱš áñð öñé-öƒƒ šţŕûçţûŕé. ~~~~~~~~~~~~~~~~~~~~~~~]\"],\"app.buildTab.searchBuildToolsAndKitchenItems\":[\"[Šéáŕçĥ ƀûîļð ţööļš áñð ķîţçĥéñ îţéɱš ~~~~~~~~~~]\"],\"app.buildTab.searchToolsFridgeSink\":[\"[Šéáŕçĥ ţööļš, ƒŕîðĝé, šîñķ… ~~~~~~~]\"],\"app.buildTab.selectACurvedWallToMatch\":[\"[Šéļéçţ á çûŕṽéð ŵáļļ ţö ɱáţçĥ îţš ŕáðîûš áñð áŕç. ~~~~~~~~~~~~]\"],\"app.buildTab.singleGate\":[\"[Šîñĝļé ĝáţé ~~~]\"],\"app.buildTab.slabCeilingColumn\":[\"[Šļáƀ, çéîļîñĝ, çöļûɱñ… ~~~~~~]\"],\"app.buildTab.solidPrivacy\":[\"[Šöļîð þŕîṽáçý ~~~~]\"],\"app.buildTab.traceALineAlongsideAnExisting\":[\"[Ţŕáçé á ļîñé áļöñĝšîðé áñ éẋîšţîñĝ ļîñéšéţ (Ƒ). ~~~~~~~~~~~~]\"],\"app.buildTab.verticalSlats\":[\"[Ṽéŕţîçáļ šļáţš ~~~~]\"],\"app.editorNavbar.allProjects\":[\"[Åļļ þŕöĵéçţš ~~~~]\"],\"app.editorNavbar.preview\":[\"[Þŕéṽîéŵ ~~~]\"],\"app.editorNavbar.projectName\":[\"[Þŕöĵéçţ ñáɱé ~~~~]\"],\"app.editorNavbar.renameProject\":[\"[Ŕéñáɱé þŕöĵéçţ ~~~~]\"],\"app.editorNavbar.share\":[\"[Šĥáŕé ~~]\"],\"app.kitchenBrowser.addLabel\":[\"[Åðð \",[\"label\"],\" ~]\"],\"app.kitchenBrowser.addToKitchen\":[\"[Åðð ţö ķîţçĥéñ ~~~~]\"],\"app.kitchenBrowser.chooseAnItemThenClickTo\":[\"[Çĥööšé áñ îţéɱ, ţĥéñ çļîçķ ţö þļáçé îţ. Åþþļîáñçéš îñçļûðé ţĥéîŕ çáƀîñéţŕý. ~~~~~~~~~~~~~~~~~~~]\"],\"app.kitchenBrowser.findInThisProjectLength\":[\"[Ƒîñð îñ ţĥîš þŕöĵéçţ · \",[\"length\"],\" ~~~~~~]\"],\"app.kitchenBrowser.findName\":[\"[Ƒîñð \",[\"name\"],\" ~~]\"],\"app.kitchenBrowser.groupAdd\":[\"[Ķîţçĥéñ · Åðð ~~~]\"],\"app.kitchenBrowser.groupInThisProject\":[\"[Ķîţçĥéñ · Îñ ţĥîš þŕöĵéçţ ~~~~~~]\"],\"app.kitchenBrowser.kitchenCabinet\":[\"[Ķîţçĥéñ çáƀîñéţ ~~~~~]\"],\"app.kitchenBrowser.noMatchingKitchenItemsPlacedYet\":[\"[Ñö ɱáţçĥîñĝ ķîţçĥéñ îţéɱš þļáçéð ýéţ. ~~~~~~~~~~]\"],\"app.kitchenBrowser.selectAndShowInScene\":[\"[Šéļéçţ áñð šĥöŵ îñ šçéñé ~~~~~~]\"],\"app.lib.buildPalette.ceiling\":[\"[Çéîļîñĝ ~~~]\"],\"app.lib.buildPalette.column\":[\"[Çöļûɱñ ~~]\"],\"app.lib.buildPalette.door\":[\"[Ðööŕ ~~]\"],\"app.lib.buildPalette.duct\":[\"[Ðûçţ ~~]\"],\"app.lib.buildPalette.dwvPipe\":[\"[ÐŴṼ Þîþé ~~~]\"],\"app.lib.buildPalette.elevator\":[\"[Éļéṽáţöŕ ~~~]\"],\"app.lib.buildPalette.fence\":[\"[Ƒéñçé ~~]\"],\"app.lib.buildPalette.hvacUnit\":[\"[ĤṼÅÇ Ûñîţ ~~~]\"],\"app.lib.buildPalette.kitchen\":[\"[Ķîţçĥéñ ~~~]\"],\"app.lib.buildPalette.lineset\":[\"[Ļîñéšéţ ~~~]\"],\"app.lib.buildPalette.liquidLine\":[\"[Ļîǫûîð Ļîñé ~~~]\"],\"app.lib.buildPalette.mep\":[\"[ṀÉÞ ~]\"],\"app.lib.buildPalette.register\":[\"[Ŕéĝîšţéŕ ~~~]\"],\"app.lib.buildPalette.roof\":[\"[Ŕööƒ ~~]\"],\"app.lib.buildPalette.shelf\":[\"[Šĥéļƒ ~~]\"],\"app.lib.buildPalette.slab\":[\"[Šļáƀ ~~]\"],\"app.lib.buildPalette.spawnPoint\":[\"[Šþáŵñ þöîñţ ~~~]\"],\"app.lib.buildPalette.stairs\":[\"[Šţáîŕš ~~]\"],\"app.lib.buildPalette.terrace\":[\"[Ţéŕŕáçé ~~~]\"],\"app.lib.buildPalette.terrain\":[\"[Ţéŕŕáîñ ~~~]\"],\"app.lib.buildPalette.wall\":[\"[Ŵáļļ ~~]\"],\"app.lib.buildPalette.window\":[\"[Ŵîñðöŵ ~~]\"],\"app.lib.buildPanelModel.addFitting\":[\"[Åðð Ƒîţţîñĝ ~~~]\"],\"app.lib.buildPanelModel.addGate\":[\"[Åðð Ĝáţé ~~~]\"],\"app.lib.buildPanelModel.addOpenPassage\":[\"[Åðð Öþéñ Þáššáĝé ~~~~~]\"],\"app.lib.buildPanelModel.addTrap\":[\"[Åðð Ţŕáþ ~~~]\"],\"app.lib.buildPanelModel.build\":[\"[Ɓûîļð ~~]\"],\"app.lib.buildPanelModel.createFrom\":[\"[Çŕéáţé ƒŕöɱ ~~~]\"],\"app.lib.buildPanelModel.drawTheRoofFootprintWithTwo\":[\"[Ðŕáŵ ţĥé ŕööƒ ƒööţþŕîñţ ŵîţĥ ţŵö çöŕñéŕ çļîçķš. ~~~~~~~~~~~~]\"],\"app.lib.buildPanelModel.duct\":[\"[Ðûçţ ~~]\"],\"app.lib.buildPanelModel.dwvPipe\":[\"[ÐŴṼ Þîþé ~~~]\"],\"app.lib.buildPanelModel.featuresExtensions\":[\"[Ƒéáţûŕéš & éẋţéñšîöñš ~~~~~~]\"],\"app.lib.buildPanelModel.fence\":[\"[Ƒéñçé ~~]\"],\"app.lib.buildPanelModel.followLineset\":[\"[Ƒöļļöŵ ļîñéšéţ ~~~~]\"],\"app.lib.buildPanelModel.gatesOpenings\":[\"[Ĝáţéš & öþéñîñĝš ~~~~]\"],\"app.lib.buildPanelModel.hoverARoomToPreviewIts\":[\"[Ĥöṽéŕ á ŕööɱ ţö þŕéṽîéŵ îţš ƀöûñðáŕý, ţĥéñ çļîçķ ţö þļáçé. ~~~~~~~~~~~~~~]\"],\"app.lib.buildPanelModel.kitchen\":[\"[Ķîţçĥéñ ~~~]\"],\"app.lib.buildPanelModel.mep\":[\"[ṀÉÞ ~]\"],\"app.lib.buildPanelModel.modularCabinet\":[\"[Ṁöðûļáŕ Çáƀîñéţ ~~~~~]\"],\"app.lib.buildPanelModel.off\":[\"[Öƒƒ ~]\"],\"app.lib.buildPanelModel.on\":[\"[Öñ ~]\"],\"app.lib.buildPanelModel.painting\":[\"[Þáîñţîñĝ ~~~]\"],\"app.lib.buildPanelModel.roof\":[\"[Ŕööƒ ~~]\"],\"app.lib.buildPanelModel.roofType\":[\"[Ŕööƒ ţýþé ~~~]\"],\"app.lib.buildPanelModel.toolCount\":[\"[\",[\"count\",\"plural\",{\"one\":[\"#\",\" ţööļ\"],\"other\":[\"#\",\" ţööļš\"]}],\" ~~~]\"],\"app.lib.buildTabState.conical\":[\"[Çöñîçáļ ~~~]\"],\"app.lib.buildTabState.draw\":[\"[Ðŕáŵ ~~]\"],\"app.lib.buildTabState.dutch\":[\"[Ðûţçĥ ~~]\"],\"app.lib.buildTabState.flat\":[\"[Ƒļáţ ~~]\"],\"app.lib.buildTabState.gable\":[\"[Ĝáƀļé ~~]\"],\"app.lib.buildTabState.gambrel\":[\"[Ĝáɱƀŕéļ ~~~]\"],\"app.lib.buildTabState.hip\":[\"[Ĥîþ ~]\"],\"app.lib.buildTabState.mansard\":[\"[Ṁáñšáŕð ~~~]\"],\"app.lib.buildTabState.room\":[\"[Ŕööɱ ~~]\"],\"app.lib.buildTabState.shed\":[\"[Šĥéð ~~]\"],\"app.lib.buildTabState.wall\":[\"[Ŵáļļ ~~]\"],\"app.sharePanel.anyoneWithTheLinkCanView\":[\"[Åñýöñé ŵîţĥ ţĥé ļîñķ çáñ ṽîéŵ ţĥîš þŕöĵéçţ. Ţĥéý çáññöţ éðîţ îţ. ~~~~~~~~~~~~~~~~]\"],\"app.sharePanel.copied\":[\"[Çöþîéð ~~]\"],\"app.sharePanel.copy\":[\"[Çöþý ~~]\"],\"app.sharePanel.couldNotReadTheSharingState\":[\"[Çöûļð ñöţ ŕéáð ţĥé šĥáŕîñĝ šţáţé. ~~~~~~~~~]\"],\"app.sharePanel.couldNotTurnOffThePublic\":[\"[Çöûļð ñöţ ţûŕñ öƒƒ ţĥé þûƀļîç ļîñķ. ~~~~~~~~~]\"],\"app.sharePanel.couldNotTurnOnThePublic\":[\"[Çöûļð ñöţ ţûŕñ öñ ţĥé þûƀļîç ļîñķ. ~~~~~~~~~]\"],\"app.sharePanel.embedCode\":[\"[Éɱƀéð çöðé ~~~]\"],\"app.sharePanel.embedLink\":[\"[Éɱƀéð ļîñķ ~~~]\"],\"app.sharePanel.hideControls\":[\"[Ĥîðé çöñţŕöļš ~~~~]\"],\"app.sharePanel.link\":[\"[Ļîñķ ~~]\"],\"app.sharePanel.onlyThe3dViewNoHeader\":[\"[Öñļý ţĥé 3Ð ṽîéŵ, ñö ĥéáðéŕ öŕ ţööļƀáŕ. ~~~~~~~~~]\"],\"app.sharePanel.open\":[\"[Öþéñ ~~]\"],\"app.sharePanel.publicLink\":[\"[Þûƀļîç ļîñķ ~~~]\"],\"app.sharePanel.shareProject\":[\"[Šĥáŕé þŕöĵéçţ ~~~~]\"],\"app.viewerToolbar.automaticDimensions\":[\"[Åûţöɱáţîç ðîɱéñšîöñš ~~~~~~]\"],\"app.viewerToolbar.camera\":[\"[Çáɱéŕá ~~]\"],\"app.viewerToolbar.cleanPlanDimensionsAppearWithSelection\":[\"[Çļéáñ þļáñ; ðîɱéñšîöñš áþþéáŕ ŵîţĥ šéļéçţîöñ ~~~~~~~~~~~~]\"],\"app.viewerToolbar.collapseSidebar\":[\"[Çöļļáþšé šîðéƀáŕ ~~~~~]\"],\"app.viewerToolbar.crispOpaqueEdgeLines\":[\"[Çŕîšþ, öþáǫûé éðĝé ļîñéš ~~~~~~]\"],\"app.viewerToolbar.cutaway\":[\"[Çûţáŵáý ~~~]\"],\"app.viewerToolbar.default\":[\"[Ðéƒáûļţ ~~~]\"],\"app.viewerToolbar.display\":[\"[Ðîšþļáý ~~~]\"],\"app.viewerToolbar.displaySettings\":[\"[Ðîšþļáý šéţţîñĝš ~~~~~]\"],\"app.viewerToolbar.doorWindowMarks\":[\"[Ðööŕ/ŵîñðöŵ ɱáŕķš ~~~~~]\"],\"app.viewerToolbar.edges\":[\"[Éðĝéš ~~]\"],\"app.viewerToolbar.enterVr\":[\"[Éñţéŕ ṼŔ ~~~]\"],\"app.viewerToolbar.exitVr\":[\"[Éẋîţ ṼŔ ~~]\"],\"app.viewerToolbar.expandSidebar\":[\"[Éẋþáñð šîðéƀáŕ ~~~~]\"],\"app.viewerToolbar.expert\":[\"[Éẋþéŕţ ~~]\"],\"app.viewerToolbar.exploded\":[\"[Éẋþļöðéð ~~~]\"],\"app.viewerToolbar.faceOfStud\":[\"[Ƒáçé öƒ šţûð ~~~]\"],\"app.viewerToolbar.faintOutlineOfMajorCreases\":[\"[Ƒáîñţ öûţļîñé öƒ ɱáĵöŕ çŕéášéš ~~~~~~~~]\"],\"app.viewerToolbar.feetInches\":[\"[Ƒééţ & îñçĥéš ~~~]\"],\"app.viewerToolbar.finishedFaces\":[\"[Ƒîñîšĥéð ƒáçéš ~~~~]\"],\"app.viewerToolbar.flatAndFastNoAmbientOcclusion\":[\"[Ƒļáţ áñð ƒášţ — ñö áɱƀîéñţ öççļûšîöñ ~~~~~~~~~]\"],\"app.viewerToolbar.floorPlanAnnotations\":[\"[Ƒļööŕ þļáñ áññöţáţîöñš ~~~~~~]\"],\"app.viewerToolbar.floorPlanMode\":[\"[Ƒļööŕ þļáñ ɱöðé ~~~~]\"],\"app.viewerToolbar.fullAmbientOcclusion\":[\"[Ƒûļļ áɱƀîéñţ öççļûšîöñ ~~~~~~]\"],\"app.viewerToolbar.fullDocumentationAndAnnotationControls\":[\"[Ƒûļļ ðöçûɱéñţáţîöñ áñð áññöţáţîöñ çöñţŕöļš ~~~~~~~~~~~~]\"],\"app.viewerToolbar.fullHeight\":[\"[Ƒûļļ ĥéîĝĥţ ~~~]\"],\"app.viewerToolbar.fullWallThickness\":[\"[Ƒûļļ ŵáļļ ţĥîçķñéšš ~~~~~~]\"],\"app.viewerToolbar.grid\":[\"[Ĝŕîð ~~]\"],\"app.viewerToolbar.levelsMode\":[\"[Ļéṽéļš: \",[\"mode\"],\" ~~]\"],\"app.viewerToolbar.low\":[\"[Ļöŵ ~]\"],\"app.viewerToolbar.magneticSnap\":[\"[Ṁáĝñéţîç šñáþ ~~~~]\"],\"app.viewerToolbar.manual\":[\"[Ṁáñûáļ ~~]\"],\"app.viewerToolbar.manualDimensions\":[\"[Ṁáñûáļ ðîɱéñšîöñš ~~~~~]\"],\"app.viewerToolbar.measurements\":[\"[Ṁéášûŕéɱéñţš ~~~~]\"],\"app.viewerToolbar.meters\":[\"[Ṁéţéŕš ~~]\"],\"app.viewerToolbar.millimeters\":[\"[Ṁîļļîɱéţéŕš ~~~~]\"],\"app.viewerToolbar.n3dMeasurements\":[\"[3Ð ɱéášûŕéɱéñţš ~~~~]\"],\"app.viewerToolbar.noEdgeLines\":[\"[Ñö éðĝé ļîñéš ~~~~]\"],\"app.viewerToolbar.off\":[\"[Öƒƒ ~]\"],\"app.viewerToolbar.on\":[\"[Öñ ~]\"],\"app.viewerToolbar.orthographic\":[\"[Öŕţĥöĝŕáþĥîç ~~~~]\"],\"app.viewerToolbar.perspective\":[\"[Þéŕšþéçţîṽé ~~~~]\"],\"app.viewerToolbar.preview\":[\"[Þŕéṽîéŵ ~~~]\"],\"app.viewerToolbar.previewMode\":[\"[Þŕéṽîéŵ ɱöðé ~~~~]\"],\"app.viewerToolbar.render\":[\"[Ŕéñðéŕ ~~]\"],\"app.viewerToolbar.rendered\":[\"[Ŕéñðéŕéð ~~~]\"],\"app.viewerToolbar.roomLabels\":[\"[Ŕööɱ ļáƀéļš ~~~]\"],\"app.viewerToolbar.sceneTheme\":[\"[Šçéñé ţĥéɱé ~~~]\"],\"app.viewerToolbar.shadows\":[\"[Šĥáðöŵš ~~~]\"],\"app.viewerToolbar.singleWallAxis\":[\"[Šîñĝļé ŵáļļ áẋîš ~~~~~]\"],\"app.viewerToolbar.soft\":[\"[Šöƒţ ~~]\"],\"app.viewerToolbar.solid\":[\"[Šöļîð ~~]\"],\"app.viewerToolbar.solo\":[\"[Šöļö ~~]\"],\"app.viewerToolbar.stack\":[\"[Šţáçķ ~~]\"],\"app.viewerToolbar.stairAnnotations\":[\"[Šţáîŕ áññöţáţîöñš ~~~~~]\"],\"app.viewerToolbar.strong\":[\"[Šţŕöñĝ ~~]\"],\"app.viewerToolbar.structuralCoreFace\":[\"[Šţŕûçţûŕáļ çöŕé ƒáçé ~~~~~~]\"],\"app.viewerToolbar.structuralGridsColumnCenters\":[\"[Šţŕûçţûŕáļ ĝŕîðš & çöļûɱñ çéñţéŕš ~~~~~~~~~]\"],\"app.viewerToolbar.translucent\":[\"[Ţŕáñšļûçéñţ ~~~~]\"],\"app.viewerToolbar.units\":[\"[Ûñîţš ~~]\"],\"app.viewerToolbar.walkthrough\":[\"[Ŵáļķţĥŕöûĝĥ ~~~~]\"],\"app.viewerToolbar.wallCenterline\":[\"[Ŵáļļ çéñţéŕļîñé ~~~~~]\"],\"app.viewerToolbar.wallDimensions\":[\"[Ŵáļļ ðîɱéñšîöñš ~~~~~]\"],\"app.viewerToolbar.wallsLabel\":[\"[Ŵáļļš: \",[\"label\"],\" ~~]\"],\"core.level.basement\":[\"[Ɓášéɱéñţ ~~~]\"],\"core.level.basementNumber\":[\"[Ɓášéɱéñţ \",[\"number\"],\" ~~~]\"],\"core.level.floorNumber\":[\"[Ƒļööŕ \",[\"number\"],\" ~~]\"],\"core.level.groundFloor\":[\"[Ĝŕöûñð ƒļööŕ ~~~~]\"],\"editor.actionMenu.cameraActions.orbitLeft\":[\"[Öŕƀîţ Ļéƒţ ~~~]\"],\"editor.actionMenu.cameraActions.orbitRight\":[\"[Öŕƀîţ Ŕîĝĥţ ~~~]\"],\"editor.actionMenu.cameraActions.topView\":[\"[Ţöþ Ṽîéŵ ~~~]\"],\"editor.actionMenu.controlModes.delete\":[\"[Ðéļéţé ~~]\"],\"editor.actionMenu.controlModes.select\":[\"[Šéļéçţ ~~]\"],\"editor.actionMenu.followPascalPill.resumeFollowing\":[\"[Ŕéšûɱé ƒöļļöŵîñĝ ~~~~~]\"],\"editor.actionMenu.followPascalToggle.off\":[\"[Ƒöļļöŵ Þášçáļ: Öƒƒ ~~~~~]\"],\"editor.actionMenu.followPascalToggle.on\":[\"[Ƒöļļöŵ Þášçáļ: Öñ ~~~~~]\"],\"editor.actionMenu.furnishTools.appliance\":[\"[Åþþļîáñçé ~~~]\"],\"editor.actionMenu.furnishTools.bathroom\":[\"[Ɓáţĥŕööɱ ~~~]\"],\"editor.actionMenu.furnishTools.furniture\":[\"[Ƒûŕñîţûŕé ~~~]\"],\"editor.actionMenu.furnishTools.kitchen\":[\"[Ķîţçĥéñ ~~~]\"],\"editor.actionMenu.furnishTools.outdoor\":[\"[Öûţðööŕ ~~~]\"],\"editor.actionMenu.measurementControl.angle\":[\"[Åñĝļé ~~]\"],\"editor.actionMenu.measurementControl.angularDimension\":[\"[Åñĝûļáŕ ðîɱéñšîöñ ~~~~~]\"],\"editor.actionMenu.measurementControl.arcLength\":[\"[Åŕç ļéñĝţĥ ~~~]\"],\"editor.actionMenu.measurementControl.area\":[\"[Åŕéá ~~]\"],\"editor.actionMenu.measurementControl.centerMark\":[\"[Çéñţéŕ ɱáŕķ ~~~]\"],\"editor.actionMenu.measurementControl.chordDimension\":[\"[Çĥöŕð ðîɱéñšîöñ ~~~~~]\"],\"editor.actionMenu.measurementControl.continuousDimension\":[\"[Çöñţîñûöûš ðîɱéñšîöñ ~~~~~~]\"],\"editor.actionMenu.measurementControl.coordinateDimensions\":[\"[Çööŕðîñáţé ðîɱéñšîöñš ~~~~~~]\"],\"editor.actionMenu.measurementControl.diameterDimension\":[\"[Ðîáɱéţéŕ ðîɱéñšîöñ ~~~~~~]\"],\"editor.actionMenu.measurementControl.distance\":[\"[Ðîšţáñçé ~~~]\"],\"editor.actionMenu.measurementControl.floorPlan\":[\"[Ƒļööŕ þļáñ ~~~]\"],\"editor.actionMenu.measurementControl.linearDimension\":[\"[Ļîñéáŕ ðîɱéñšîöñ ~~~~~]\"],\"editor.actionMenu.measurementControl.measureSelectedlabel\":[\"[Ṁéášûŕé: \",[\"selectedLabel\"],\" ~~~]\"],\"editor.actionMenu.measurementControl.measurementOptions\":[\"[Ṁéášûŕéɱéñţ öþţîöñš ~~~~~~]\"],\"editor.actionMenu.measurementControl.measurementType\":[\"[Ṁéášûŕéɱéñţ ţýþé ~~~~~]\"],\"editor.actionMenu.measurementControl.perimeter\":[\"[Þéŕîɱéţéŕ ~~~]\"],\"editor.actionMenu.measurementControl.radiusDimension\":[\"[Ŕáðîûš ðîɱéñšîöñ ~~~~~]\"],\"editor.actionMenu.measurementControl.smart\":[\"[Šɱáŕţ ~~]\"],\"editor.actionMenu.measurementControl.volume\":[\"[Ṽöļûɱé ~~]\"],\"editor.actionMenu.pointAskButton.pointAndAsk\":[\"[Þöîñţ áñð ášķ ~~~~]\"],\"editor.actionMenu.pointAskButton.pointAndAskC\":[\"[Þöîñţ áñð ášķ (Ç) ~~~~]\"],\"editor.actionMenu.pointAskButton.pointAndAskWorksInThe\":[\"[Þöîñţ áñð ášķ ŵöŕķš îñ ţĥé 3Ð ṽîéŵ ~~~~~~~~]\"],\"editor.actionMenu.structureTools.ceiling\":[\"[Çéîļîñĝ ~~~]\"],\"editor.actionMenu.structureTools.column\":[\"[Çöļûɱñ ~~]\"],\"editor.actionMenu.structureTools.door\":[\"[Ðööŕ ~~]\"],\"editor.actionMenu.structureTools.duct\":[\"[Ðûçţ ~~]\"],\"editor.actionMenu.structureTools.ductFitting\":[\"[Ðûçţ Ƒîţţîñĝ ~~~~]\"],\"editor.actionMenu.structureTools.dwvPipe\":[\"[ÐŴṼ Þîþé ~~~]\"],\"editor.actionMenu.structureTools.elevator\":[\"[Éļéṽáţöŕ ~~~]\"],\"editor.actionMenu.structureTools.fence\":[\"[Ƒéñçé ~~]\"],\"editor.actionMenu.structureTools.gableRoof\":[\"[Ĝáƀļé Ŕööƒ ~~~]\"],\"editor.actionMenu.structureTools.hvacUnit\":[\"[ĤṼÅÇ Ûñîţ ~~~]\"],\"editor.actionMenu.structureTools.lineset\":[\"[Ļîñéšéţ ~~~]\"],\"editor.actionMenu.structureTools.liquidLine\":[\"[Ļîǫûîð Ļîñé ~~~]\"],\"editor.actionMenu.structureTools.pipeFitting\":[\"[Þîþé Ƒîţţîñĝ ~~~~]\"],\"editor.actionMenu.structureTools.register\":[\"[Ŕéĝîšţéŕ ~~~]\"],\"editor.actionMenu.structureTools.shelf\":[\"[Šĥéļƒ ~~]\"],\"editor.actionMenu.structureTools.slab\":[\"[Šļáƀ ~~]\"],\"editor.actionMenu.structureTools.spawnPoint\":[\"[Šþáŵñ Þöîñţ ~~~]\"],\"editor.actionMenu.structureTools.stairs\":[\"[Šţáîŕš ~~]\"],\"editor.actionMenu.structureTools.trap\":[\"[Ţŕáþ ~~]\"],\"editor.actionMenu.structureTools.wall\":[\"[Ŵáļļ ~~]\"],\"editor.actionMenu.structureTools.window\":[\"[Ŵîñðöŵ ~~]\"],\"editor.actionMenu.structureTools.zone\":[\"[Žöñé ~~]\"],\"editor.actionMenu.viewToggles.below\":[\"[ƀéļöŵ ~~]\"],\"editor.actionMenu.viewToggles.deleteGuideImage\":[\"[Ðéļéţé ĝûîðé îɱáĝé ~~~~~]\"],\"editor.actionMenu.viewToggles.deleteScan\":[\"[Ðéļéţé šçáñ ~~~]\"],\"editor.actionMenu.viewToggles.guideCount\":[\"[\",[\"count\",\"plural\",{\"one\":[\"#\",\" ĝûîðé îɱáĝé öñ ţĥîš ļéṽéļ\"],\"other\":[\"#\",\" ĝûîðé îɱáĝéš öñ ţĥîš ļéṽéļ\"]}],\" ~~~~~~~~~~~~~]\"],\"editor.actionMenu.viewToggles.guideImageNumber\":[\"[Ĝûîðé îɱáĝé \",[\"number\"],\" ~~~]\"],\"editor.actionMenu.viewToggles.guideImageSettings\":[\"[Ĝûîðé îɱáĝé šéţţîñĝš ~~~~~~]\"],\"editor.actionMenu.viewToggles.guideImages\":[\"[Ĝûîðé îɱáĝéš ~~~~]\"],\"editor.actionMenu.viewToggles.guides\":[\"[Ĝûîðéš ~~]\"],\"editor.actionMenu.viewToggles.guidesHidden\":[\"[Ĝûîðéš: Ĥîððéñ ~~~~]\"],\"editor.actionMenu.viewToggles.guidesVisible\":[\"[Ĝûîðéš: Ṽîšîƀļé ~~~~]\"],\"editor.actionMenu.viewToggles.hideGuideImages\":[\"[Ĥîðé ĝûîðé îɱáĝéš ~~~~~]\"],\"editor.actionMenu.viewToggles.hideReferenceFloor\":[\"[Ĥîðé ŕéƒéŕéñçé ƒļööŕ ~~~~~~]\"],\"editor.actionMenu.viewToggles.hideScans\":[\"[Ĥîðé šçáñš ~~~]\"],\"editor.actionMenu.viewToggles.noLowerFloorAvailable\":[\"[Ñö ļöŵéŕ ƒļööŕ áṽáîļáƀļé. ~~~~~~~]\"],\"editor.actionMenu.viewToggles.opacity\":[\"[Öþáçîţý ~~~]\"],\"editor.actionMenu.viewToggles.referenceFloor\":[\"[Ŕéƒéŕéñçé ƒļööŕ ~~~~~]\"],\"editor.actionMenu.viewToggles.referenceFloorSelectedlevelname\":[\"[Ŕéƒéŕéñçé ƒļööŕ: \",[\"selectedLevelName\"],\" ~~~~~]\"],\"editor.actionMenu.viewToggles.referenceFloorSettings\":[\"[Ŕéƒéŕéñçé ƒļööŕ šéţţîñĝš ~~~~~~~]\"],\"editor.actionMenu.viewToggles.referenceSettings\":[\"[Ŕéƒéŕéñçé šéţţîñĝš ~~~~~~]\"],\"editor.actionMenu.viewToggles.references\":[\"[Ŕéƒéŕéñçéš ~~~]\"],\"editor.actionMenu.viewToggles.referencesEmpty\":[\"[Ûþļöáð ĜĻƁ ɱéšĥéš áš šçáñ ŕéƒéŕéñçéš öŕ ƀļûéþŕîñţ îɱáĝéš áš ĝûîðé ŕéƒéŕéñçéš. ~~~~~~~~~~~~~~~~~~~~]\"],\"editor.actionMenu.viewToggles.referencesHidden\":[\"[Ŕéƒéŕéñçéš: Ĥîððéñ ~~~~~]\"],\"editor.actionMenu.viewToggles.referencesVisible\":[\"[Ŕéƒéŕéñçéš: Ṽîšîƀļé ~~~~~~]\"],\"editor.actionMenu.viewToggles.riserDiagram\":[\"[Ŕîšéŕ ðîáĝŕáɱ ~~~~]\"],\"editor.actionMenu.viewToggles.scanCount\":[\"[\",[\"count\",\"plural\",{\"one\":[\"#\",\" šçáñ öñ ţĥîš ļéṽéļ\"],\"other\":[\"#\",\" šçáñš öñ ţĥîš ļéṽéļ\"]}],\" ~~~~~~~~~~]\"],\"editor.actionMenu.viewToggles.scanNumber\":[\"[Šçáñ \",[\"number\"],\" ~~]\"],\"editor.actionMenu.viewToggles.scanSettings\":[\"[Šçáñ šéţţîñĝš ~~~~]\"],\"editor.actionMenu.viewToggles.scans\":[\"[Šçáñš ~~]\"],\"editor.actionMenu.viewToggles.scansHidden\":[\"[Šçáñš: Ĥîððéñ ~~~~]\"],\"editor.actionMenu.viewToggles.scansVisible\":[\"[Šçáñš: Ṽîšîƀļé ~~~~]\"],\"editor.actionMenu.viewToggles.showGuideImages\":[\"[Šĥöŵ ĝûîðé îɱáĝéš ~~~~~]\"],\"editor.actionMenu.viewToggles.showReferenceFloor\":[\"[Šĥöŵ ŕéƒéŕéñçé ƒļööŕ ~~~~~~]\"],\"editor.actionMenu.viewToggles.showScans\":[\"[Šĥöŵ šçáñš ~~~]\"],\"editor.actionMenu.viewToggles.uploadScanOrGuideImage\":[\"[Ûþļöáð šçáñ öŕ ĝûîðé îɱáĝé ~~~~~~~]\"],\"editor.backToHome\":[\"[Ɓáçķ ţö ĥöɱé ~~~]\"],\"editor.buildPanel.advanced\":[\"[Åðṽáñçéð ~~~]\"],\"editor.buildPanel.rooms.hint\":[\"[ŵáļļš · ƒļööŕ · çéîļîñĝ ~~~~~~]\"],\"editor.buildPanel.rooms.idle\":[\"[Þîçķ á šĥáþé ţö šţáŕţ. Éṽéŕý ŕööɱ ƀŕîñĝš îţš öŵñ ŵáļļš, ƒļööŕ áñð çéîļîñĝ. ~~~~~~~~~~~~~~~~~~]\"],\"editor.buildPanel.rooms.polygon.caption\":[\"[\",[\"lead\"],\" ţĥéñ ţĥé ƒîŕšţ öñé áĝáîñ ţö çļöšé. Ƒöŕ Ļ-šĥáþéš áñð áñĝļéð ŕööɱš. ~~~~~~~~~~~~~~~~]\"],\"editor.buildPanel.rooms.polygon.label\":[\"[Þöļýĝöñ ~~~]\"],\"editor.buildPanel.rooms.polygon.lead\":[\"[Çļîçķ éáçĥ çöŕñéŕ, ~~~~~]\"],\"editor.buildPanel.rooms.polygon.title\":[\"[Þöļýĝöñ ŕööɱ ~~~~]\"],\"editor.buildPanel.rooms.rectangle.caption\":[\"[\",[\"lead\"],\" öñ ţĥé ĝŕîð. Ŵáļļš, ƒļööŕ áñð çéîļîñĝ áŕé çŕéáţéð ţöĝéţĥéŕ. ~~~~~~~~~~~~~~~]\"],\"editor.buildPanel.rooms.rectangle.label\":[\"[Ŕéçţáñĝļé ~~~]\"],\"editor.buildPanel.rooms.rectangle.lead\":[\"[Çļîçķ ţŵö çöŕñéŕš ~~~~~]\"],\"editor.buildPanel.rooms.rectangle.title\":[\"[Ŕéçţáñĝļé ŕööɱ ~~~~]\"],\"editor.buildPanel.rooms.title\":[\"[Ŕööɱš ~~]\"],\"editor.buildPanel.rooms.walls.caption\":[\"[\",[\"lead\"],\" Çļöšé á ļööþ áñð îţ ƀéçöɱéš á ŕööɱ; ļéáṽé îţ öþéñ ƒöŕ þáŕţîţîöñš. ~~~~~~~~~~~~~~~~]\"],\"editor.buildPanel.rooms.walls.label\":[\"[Ŵáļļš ~~]\"],\"editor.buildPanel.rooms.walls.lead\":[\"[Ðŕáŵ öñé ŵáļļ áţ á ţîɱé. ~~~~~~]\"],\"editor.buildPanel.rooms.walls.title\":[\"[Ŵáļļš ~~]\"],\"editor.cameraControlsHint\":[\"[Çáɱéŕá çöñţŕöļš ĥîñţ ~~~~~~]\"],\"editor.cameraHint.pan\":[\"[Þáñ ~]\"],\"editor.cameraHint.rotate\":[\"[Ŕöţáţé ~~]\"],\"editor.cameraHint.zoom\":[\"[Žööɱ ~~]\"],\"editor.dismiss\":[\"[Ðîšɱîšš ~~~]\"],\"editor.dismissCameraControlsHint\":[\"[Ðîšɱîšš çáɱéŕá çöñţŕöļš ĥîñţ ~~~~~~~~]\"],\"editor.expandSidebar\":[\"[Éẋþáñð šîðéƀáŕ ~~~~]\"],\"editor.floatingActionMenu.axis\":[\"[Åẋîš ~~]\"],\"editor.floatingActionMenu.axis2\":[\"[⌥ áẋîš ~~]\"],\"editor.floatingActionMenu.noEquipment\":[\"[⚠ ñö éǫûîþɱéñţ ~~~~]\"],\"editor.floatingActionMenu.rTRotate\":[\"[Ŕ/Ţ ŕöţáţé ~~~]\"],\"editor.floatingActionMenu.registerCount\":[\"[\",[\"count\",\"plural\",{\"one\":[\"#\",\" ŕéĝîšţéŕ\"],\"other\":[\"#\",\" ŕéĝîšţéŕš\"]}],\" ~~~~~~]\"],\"editor.floatingActionMenu.runCount\":[\"[\",[\"count\",\"plural\",{\"one\":[\"#\",\" ŕûñ\"],\"other\":[\"#\",\" ŕûñš\"]}],\" ~~~]\"],\"editor.floatingActionMenu.system\":[\"[Šýšţéɱ ~~]\"],\"editor.helpers.buildingHelper.cancel\":[\"[Çáñçéļ ~~]\"],\"editor.helpers.buildingHelper.placeBuilding\":[\"[Þļáçé ƀûîļðîñĝ ~~~~]\"],\"editor.helpers.buildingHelper.rotate\":[\"[Ŕöţáţé ~~]\"],\"editor.helpers.contextualHelperPanel.cancelPlacement\":[\"[Çáñçéļ þļáçéɱéñţ ~~~~~]\"],\"editor.helpers.contextualHelperPanel.continuationClickOrPressCTo\":[\"[Çöñţîñûáţîöñ — çļîçķ öŕ þŕéšš Ç ţö çýçļé ~~~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.continuationLabel\":[\"[Çöñţîñûáţîöñ: \",[\"label\"],\" ~~~~]\"],\"editor.helpers.contextualHelperPanel.dragToDrawFence\":[\"[Ðŕáĝ ţö ðŕáŵ ƒéñçé ~~~~~]\"],\"editor.helpers.contextualHelperPanel.fenceTypeClickOrPressT\":[\"[Ƒéñçé ţýþé — çļîçķ öŕ þŕéšš Ţ ţö šŵîţçĥ ƀéţŵééñ šţŕáîĝĥţ, çûŕṽéð áñð ƒŕééĥáñð ~~~~~~~~~~~~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.fewerShortcuts\":[\"[Ƒéŵéŕ šĥöŕţçûţš ~~~~~]\"],\"editor.helpers.contextualHelperPanel.finishCurveOrDoubleClick\":[\"[Ƒîñîšĥ çûŕṽé (öŕ ðöûƀļé-çļîçķ) ~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.gridLength\":[\"[Ĝŕîð: \",[\"length\"],\" ~~]\"],\"editor.helpers.contextualHelperPanel.gridStepClickOrTapCtrl\":[\"[Ĝŕîð šţéþ — çļîçķ öŕ ţáþ Çţŕļ ţö çýçļé ~~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.gridStepLength\":[\"[Ĝŕîð šţéþ: \",[\"length\"],\" ~~~]\"],\"editor.helpers.contextualHelperPanel.hoverAPaintedSurfaceToErase\":[\"[Ĥöṽéŕ á þáîñţéð šûŕƒáçé ţö éŕášé ~~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.hoverASurfaceToPaint\":[\"[Ĥöṽéŕ á šûŕƒáçé ţö þáîñţ ~~~~~~]\"],\"editor.helpers.contextualHelperPanel.hoverASurfaceToPickIts\":[\"[Ĥöṽéŕ á šûŕƒáçé ţö þîçķ îţš ɱáţéŕîáļ ~~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.moreShortcuts\":[\"[Ṁöŕé šĥöŕţçûţš ~~~~]\"],\"editor.helpers.contextualHelperPanel.placeGateOnAFence\":[\"[Þļáçé ĝáţé öñ á ƒéñçé ~~~~~~]\"],\"editor.helpers.contextualHelperPanel.placePassageOnAFence\":[\"[Þļáçé þáššáĝé öñ á ƒéñçé ~~~~~~]\"],\"editor.helpers.contextualHelperPanel.selectAMaterialToPaint\":[\"[Šéļéçţ á ɱáţéŕîáļ ţö þáîñţ ~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.snappingAngles\":[\"[Šñáþþîñĝ: Åñĝļéš ~~~~~]\"],\"editor.helpers.contextualHelperPanel.snappingGrid\":[\"[Šñáþþîñĝ: Ĝŕîð ~~~~]\"],\"editor.helpers.contextualHelperPanel.snappingLines\":[\"[Šñáþþîñĝ: Ļîñéš ~~~~]\"],\"editor.helpers.contextualHelperPanel.snappingModeClickOrPressShift\":[\"[Šñáþþîñĝ ɱöðé — çļîçķ öŕ þŕéšš Šĥîƒţ ţö çýçļé ~~~~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.snappingOff\":[\"[Šñáþþîñĝ: Öƒƒ ~~~~]\"],\"editor.helpers.contextualHelperPanel.straightContinuationIsUnavailableForCurved\":[\"[Šţŕáîĝĥţ çöñţîñûáţîöñ îš ûñáṽáîļáƀļé ƒöŕ çûŕṽéð öŕ ƒŕééĥáñð ƒéñçéš ~~~~~~~~~~~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.straightContinuous\":[\"[Šţŕáîĝĥţ: Çöñţîñûöûš ~~~~~~]\"],\"editor.helpers.contextualHelperPanel.straightFenceContinuationClickOrPress\":[\"[Šţŕáîĝĥţ ƒéñçé çöñţîñûáţîöñ — çļîçķ öŕ þŕéšš Ç ţö ţöĝĝļé ~~~~~~~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.straightSingle\":[\"[Šţŕáîĝĥţ: Šîñĝļé ~~~~~]\"],\"editor.helpers.contextualHelperPanel.verbScopeClickOrPressShift\":[\"[\",[\"verb\"],\" šçöþé — çļîçķ öŕ þŕéšš Šĥîƒţ ţö çýçļé ~~~~~~~~~]\"],\"editor.helpers.helperManager.addPoint\":[\"[Åðð þöîñţ ~~~]\"],\"editor.helpers.helperManager.addPointClickTheFirstTo\":[\"[Åðð þöîñţ · çļîçķ ţĥé ƒîŕšţ ţö çļöšé ~~~~~~~~~]\"],\"editor.helpers.helperManager.brushSize\":[\"[Ɓŕûšĥ šîžé ~~~]\"],\"editor.helpers.helperManager.cancel\":[\"[Çáñçéļ ~~]\"],\"editor.helpers.helperManager.cancelPicking\":[\"[Çáñçéļ þîçķîñĝ ~~~~]\"],\"editor.helpers.helperManager.cancelStroke\":[\"[Çáñçéļ šţŕöķé ~~~~]\"],\"editor.helpers.helperManager.done\":[\"[Ðöñé ~~]\"],\"editor.helpers.helperManager.drawTheMezzanine\":[\"[Ðŕáŵ ţĥé ɱéžžáñîñé ~~~~~]\"],\"editor.helpers.helperManager.drawTheOpening\":[\"[Ðŕáŵ ţĥé öþéñîñĝ ~~~~~]\"],\"editor.helpers.helperManager.drawTheTerrace\":[\"[Ðŕáŵ ţĥé ţéŕŕáçé ~~~~~]\"],\"editor.helpers.helperManager.exitSmartMeasure\":[\"[Éẋîţ šɱáŕţ ɱéášûŕé ~~~~~]\"],\"editor.helpers.helperManager.finish\":[\"[Ƒîñîšĥ ~~]\"],\"editor.helpers.helperManager.finishAtTheEdge\":[\"[Ƒîñîšĥ áţ ţĥé éðĝé ~~~~~]\"],\"editor.helpers.helperManager.freeMove\":[\"[Ƒŕéé ɱöṽé ~~~]\"],\"editor.helpers.helperManager.freeMoveSlideDoorsAndWindows\":[\"[Ƒŕéé ɱöṽé · šļîðé ðööŕš áñð ŵîñðöŵš ~~~~~~~~~]\"],\"editor.helpers.helperManager.holdToPickAMaterial\":[\"[Ĥöļð ţö þîçķ á ɱáţéŕîáļ ~~~~~~]\"],\"editor.helpers.helperManager.inspectSurfaceDimensions\":[\"[Îñšþéçţ šûŕƒáçé ðîɱéñšîöñš ~~~~~~~~]\"],\"editor.helpers.helperManager.paintWithThisMaterial\":[\"[Þáîñţ ŵîţĥ ţĥîš ɱáţéŕîáļ ~~~~~~~]\"],\"editor.helpers.helperManager.pickTargetHeight\":[\"[Þîçķ ţáŕĝéţ ĥéîĝĥţ ~~~~~]\"],\"editor.helpers.helperManager.pinMeasurementLens\":[\"[Þîñ ɱéášûŕéɱéñţ ļéñš ~~~~~~]\"],\"editor.helpers.helperManager.place\":[\"[Þļáçé ~~]\"],\"editor.helpers.helperManager.placeInsideTheRoom\":[\"[Þļáçé îñšîðé ţĥé ŕööɱ ~~~~~~]\"],\"editor.helpers.helperManager.pressAnywhereDragToTheOpposite\":[\"[Þŕéšš áñýŵĥéŕé, ðŕáĝ ţö ţĥé öþþöšîţé çöŕñéŕ ~~~~~~~~~~~]\"],\"editor.helpers.helperManager.raiseOrLower\":[\"[Ŕáîšé öŕ ļöŵéŕ ~~~~]\"],\"editor.helpers.helperManager.removeAPaintedPartOrReset\":[\"[Ŕéɱöṽé á þáîñţéð þáŕţ, öŕ ŕéšéţ á šûŕƒáçé ~~~~~~~~~~]\"],\"editor.helpers.helperManager.removeLastPoint\":[\"[Ŕéɱöṽé ļášţ þöîñţ ~~~~~]\"],\"editor.helpers.helperManager.resize\":[\"[Ŕéšîžé ~~]\"],\"editor.helpers.helperManager.rotate45\":[\"[Ŕöţáţé ±45° ~~]\"],\"editor.helpers.helperManager.rotateTheSelection45\":[\"[Ŕöţáţé ţĥé šéļéçţîöñ ±45° ~~~~~~]\"],\"editor.helpers.helperManager.setOneCornerThenTheOpposite\":[\"[Šéţ öñé çöŕñéŕ, ţĥéñ ţĥé öþþöšîţé ~~~~~~~~~]\"],\"editor.helpers.itemHelper.cancel\":[\"[Çáñçéļ ~~]\"],\"editor.helpers.itemHelper.forcePlace\":[\"[Ƒöŕçé þļáçé ~~~]\"],\"editor.helpers.itemHelper.place\":[\"[Þļáçé ~~]\"],\"editor.helpers.itemHelper.rotate\":[\"[Ŕöţáţé ~~]\"],\"editor.helpers.registeredToolHelper.guidedConstraintsBypassed\":[\"[Ĝûîðéð çöñšţŕáîñţš ƀýþáššéð ~~~~~~~~]\"],\"editor.lib.contextualHelp.addOrRemoveObjectsFromThe\":[\"[Åðð öŕ ŕéɱöṽé öƀĵéçţš ƒŕöɱ ţĥé šéļéçţîöñ ~~~~~~~~~~~]\"],\"editor.lib.contextualHelp.adjustOneSideSCornerRadius\":[\"[Åðĵûšţ öñé šîðé’š çöŕñéŕ ŕáðîûš ~~~~~~~~]\"],\"editor.lib.contextualHelp.clearTheSelectionOrClickOutside\":[\"[Çļéáŕ ţĥé šéļéçţîöñ (öŕ çļîçķ öûţšîðé) ~~~~~~~~~~]\"],\"editor.lib.contextualHelp.clickAHandleDotToShow\":[\"[Çļîçķ á ĥáñðļé ðöţ ţö šĥöŵ ɱöṽé áŕŕöŵš ~~~~~~~~~~]\"],\"editor.lib.contextualHelp.clickOrDragTheSelectionTo\":[\"[Çļîçķ öŕ ðŕáĝ ţĥé šéļéçţîöñ ţö ɱöṽé îţ áš öñé ~~~~~~~~~~~]\"],\"editor.lib.contextualHelp.clickTheHandleDotToShow\":[\"[Çļîçķ ţĥé ĥáñðļé ðöţ ţö šĥöŵ ɱöṽé + ŕöţáţé ĥáñðļéš ~~~~~~~~~~~~]\"],\"editor.lib.contextualHelp.detachTheJointWhileDraggingAn\":[\"[Ðéţáçĥ ţĥé ĵöîñţ ŵĥîļé ðŕáĝĝîñĝ áñ áŕŕöŵ ~~~~~~~~~~~]\"],\"editor.lib.contextualHelp.dragLeftOrRightToRotate\":[\"[Ðŕáĝ ļéƒţ öŕ ŕîĝĥţ ţö ŕöţáţé šéļéçţéð öƀĵéçţ ~~~~~~~~~~~~]\"],\"editor.lib.contextualHelp.dragSelectedMovableObject\":[\"[Ðŕáĝ šéļéçţéð ɱöṽáƀļé öƀĵéçţ ~~~~~~~~]\"],\"editor.lib.contextualHelp.groupSelectionSessionOnly\":[\"[Ĝŕöûþ šéļéçţîöñ (šéššîöñ öñļý) ~~~~~~~~]\"],\"editor.lib.contextualHelp.holdToRotateFreely\":[\"[Ĥöļð ţö ŕöţáţé ƒŕééļý ~~~~~~]\"],\"editor.lib.contextualHelp.rotate45\":[\"[Ŕöţáţé ±45° ~~]\"],\"editor.lib.contextualHelp.rotateTheSelection45\":[\"[Ŕöţáţé ţĥé šéļéçţîöñ ±45° ~~~~~~]\"],\"editor.lib.contextualHelp.rotatingFreely\":[\"[Ŕöţáţîñĝ ƒŕééļý (ñö áñĝļé šţéþ) ~~~~~~~~]\"],\"editor.lib.contextualHelp.switchTheRotationAxisYX\":[\"[Šŵîţçĥ ţĥé ŕöţáţîöñ áẋîš (Ý → Ẋ → Ž) ~~~~~~~~]\"],\"editor.lib.contextualHelp.ungroupSessionSelection\":[\"[Ûñĝŕöûþ šéššîöñ šéļéçţîöñ ~~~~~~~]\"],\"editor.lib.continuation.continuous\":[\"[Çöñţîñûöûš ~~~]\"],\"editor.lib.continuation.continuousCanopy\":[\"[Çöñţîñûöûš çáñöþý ~~~~~]\"],\"editor.lib.continuation.continuousRun\":[\"[Çöñţîñûöûš ŕûñ ~~~~]\"],\"editor.lib.continuation.curvedFence\":[\"[Çûŕṽéð ƒéñçé ~~~~]\"],\"editor.lib.continuation.freehandFence\":[\"[Ƒŕééĥáñð ƒéñçé ~~~~]\"],\"editor.lib.continuation.placeMultiple\":[\"[Þļáçé ɱûļţîþļé ~~~~]\"],\"editor.lib.continuation.placeOnce\":[\"[Þļáçé öñçé ~~~]\"],\"editor.lib.continuation.polygonRoom\":[\"[Þöļýĝöñ ŕööɱ ~~~~]\"],\"editor.lib.continuation.rectangleRoom\":[\"[Ŕéçţáñĝļé ŕööɱ ~~~~]\"],\"editor.lib.continuation.singleCabinet\":[\"[Šîñĝļé çáƀîñéţ ~~~~]\"],\"editor.lib.continuation.singleCanopy\":[\"[Šîñĝļé çáñöþý ~~~~]\"],\"editor.lib.continuation.singleFence\":[\"[Šîñĝļé ƒéñçé ~~~~]\"],\"editor.lib.continuation.walls\":[\"[Ŵáļļš ~~]\"],\"editor.lib.hudTitle.cutOpening\":[\"[Çûţ öþéñîñĝ ~~~]\"],\"editor.lib.hudTitle.divideRoom\":[\"[Ðîṽîðé ŕööɱ ~~~]\"],\"editor.lib.hudTitle.editKind\":[\"[Éðîţ \",[\"kind\"],\" ~~]\"],\"editor.lib.hudTitle.erase\":[\"[Éŕášé ~~]\"],\"editor.lib.hudTitle.levelTerrain\":[\"[Ļéṽéļ ţéŕŕáîñ ~~~~]\"],\"editor.lib.hudTitle.lowerTerrain\":[\"[Ļöŵéŕ ţéŕŕáîñ ~~~~]\"],\"editor.lib.hudTitle.mezzanine\":[\"[Ṁéžžáñîñé ~~~]\"],\"editor.lib.hudTitle.moveKind\":[\"[Ṁöṽé \",[\"kind\"],\" ~~]\"],\"editor.lib.hudTitle.moveRoom\":[\"[Ṁöṽé ŕööɱ ~~~]\"],\"editor.lib.hudTitle.moveSelection\":[\"[Ṁöṽé šéļéçţîöñ ~~~~]\"],\"editor.lib.hudTitle.paint\":[\"[Þáîñţ ~~]\"],\"editor.lib.hudTitle.paintARectangle\":[\"[Þáîñţ á ŕéçţáñĝļé ~~~~~]\"],\"editor.lib.hudTitle.paintAShape\":[\"[Þáîñţ á šĥáþé ~~~~]\"],\"editor.lib.hudTitle.pickMaterial\":[\"[Þîçķ ɱáţéŕîáļ ~~~~]\"],\"editor.lib.hudTitle.raiseTerrain\":[\"[Ŕáîšé ţéŕŕáîñ ~~~~]\"],\"editor.lib.hudTitle.resize\":[\"[Ŕéšîžé ~~]\"],\"editor.lib.hudTitle.rotate\":[\"[Ŕöţáţé ~~]\"],\"editor.lib.hudTitle.select\":[\"[Šéļéçţ ~~]\"],\"editor.lib.hudTitle.smartMeasure\":[\"[Šɱáŕţ ɱéášûŕé ~~~~]\"],\"editor.lib.hudTitle.smoothTerrain\":[\"[Šɱööţĥ ţéŕŕáîñ ~~~~]\"],\"editor.lib.hudTitle.splitKind\":[\"[Šþļîţ \",[\"kind\"],\" ~~]\"],\"editor.lib.hudTitle.terrace\":[\"[Ţéŕŕáçé ~~~]\"],\"editor.lib.wallDrawVariant.polygonRoom\":[\"[Þöļýĝöñ ŕööɱ ~~~~]\"],\"editor.lib.wallDrawVariant.rectangleRoom\":[\"[Ŕéçţáñĝļé ŕööɱ ~~~~]\"],\"editor.lib.wallDrawVariant.walls\":[\"[Ŵáļļš ~~]\"],\"editor.reloadEditor\":[\"[Ŕéļöáð éðîţöŕ ~~~~]\"],\"editor.theEditorSceneFailedToRender\":[\"[Ţĥé éðîţöŕ šçéñé ƒáîļéð ţö ŕéñðéŕ ~~~~~~~~~]\"],\"editor.toolHint.aCurtainWallTakesNoCorner\":[\"[Å çûŕţáîñ ŵáļļ ţáķéš ñö çöŕñéŕ ŵîñðöŵ ~~~~~~~~~~]\"],\"editor.toolHint.aCurvedWallTakesNoCorner\":[\"[Å çûŕṽéð ŵáļļ ţáķéš ñö çöŕñéŕ ŵîñðöŵ ~~~~~~~~~]\"],\"editor.toolHint.addACornerClickTheFirst\":[\"[Åðð á çöŕñéŕ · çļîçķ ţĥé ƒîŕšţ ţö çļöšé ~~~~~~~~~]\"],\"editor.toolHint.anotherOpeningIsInTheWay\":[\"[Åñöţĥéŕ öþéñîñĝ îš îñ ţĥé ŵáý áţ ţĥé çöŕñéŕ ~~~~~~~~~~~]\"],\"editor.toolHint.autoHangers\":[\"[Åûţö ĥáñĝéŕš ~~~~]\"],\"editor.toolHint.autoHangersClickOrPressH\":[\"[Åûţö ĥáñĝéŕš - çļîçķ öŕ þŕéšš Ĥ ţö ţöĝĝļé ~~~~~~~~~~]\"],\"editor.toolHint.autoHangersOff\":[\"[Åûţö ĥáñĝéŕš: Öƒƒ ~~~~~]\"],\"editor.toolHint.autoHangersOn\":[\"[Åûţö ĥáñĝéŕš: Öñ ~~~~]\"],\"editor.toolHint.bypassSnapping\":[\"[Ɓýþášš šñáþþîñĝ ~~~~~]\"],\"editor.toolHint.cancel\":[\"[Çáñçéļ ~~]\"],\"editor.toolHint.cancelMove\":[\"[Çáñçéļ ɱöṽé ~~~]\"],\"editor.toolHint.cancelRunExit\":[\"[Çáñçéļ ŕûñ / éẋîţ ~~~~]\"],\"editor.toolHint.cancelStartPoint\":[\"[Çáñçéļ šţáŕţ þöîñţ ~~~~~]\"],\"editor.toolHint.cornerWindow\":[\"[Çöŕñéŕ ŵîñðöŵ ~~~~]\"],\"editor.toolHint.cuts\":[\"[Çûţš ~~]\"],\"editor.toolHint.cutsValue\":[\"[Çûţš: \",[\"value\"],\" ~~]\"],\"editor.toolHint.cutsValueEven\":[\"[Çûţš: \",[\"value\"],\", éṽéñ ~~~]\"],\"editor.toolHint.cycleMonoGableButterfly\":[\"[Çýçļé ɱöñö / ĝáƀļé / ƀûţţéŕƒļý ~~~~~~~]\"],\"editor.toolHint.cycleSnappingMode\":[\"[Çýçļé šñáþþîñĝ ɱöðé ~~~~~~]\"],\"editor.toolHint.doorStyleClickOrPressL\":[\"[Ðööŕ šţýļé — çļîçķ öŕ þŕéšš Ļ ţö çýçļé ~~~~~~~~~]\"],\"editor.toolHint.doorTypeClickOrPressO\":[\"[Ðööŕ ţýþé — çļîçķ öŕ þŕéšš Ö ţö çýçļé ~~~~~~~~~]\"],\"editor.toolHint.dropDownspoutFromOutlet\":[\"[Ðŕöþ ðöŵñšþöûţ ƒŕöɱ öûţļéţ ~~~~~~~]\"],\"editor.toolHint.ductDiameterDownUp\":[\"[Ðûçţ ðîáɱéţéŕ ðöŵñ / ûþ ~~~~~~]\"],\"editor.toolHint.endRunCancel\":[\"[Éñð ŕûñ / çáñçéļ ~~~~]\"],\"editor.toolHint.exit\":[\"[Éẋîţ ~~]\"],\"editor.toolHint.exitDrawing\":[\"[Éẋîţ ðŕáŵîñĝ ~~~~]\"],\"editor.toolHint.finishAndContinue\":[\"[Ƒîñîšĥ áñð çöñţîñûé ~~~~~~]\"],\"editor.toolHint.finishCeiling\":[\"[Ƒîñîšĥ çéîļîñĝ ~~~~]\"],\"editor.toolHint.finishGridAxis\":[\"[Ƒîñîšĥ ĝŕîð áẋîš ~~~~~]\"],\"editor.toolHint.finishMeasurement\":[\"[Ƒîñîšĥ ɱéášûŕéɱéñţ ~~~~~~]\"],\"editor.toolHint.finishMultiPointWitnesses\":[\"[Ƒîñîšĥ ɱûļţî-þöîñţ ŵîţñéššéš ~~~~~~~~]\"],\"editor.toolHint.finishSlab\":[\"[Ƒîñîšĥ šļáƀ ~~~]\"],\"editor.toolHint.flipSide\":[\"[Ƒļîþ šîðé ~~~]\"],\"editor.toolHint.followTraceALineset\":[\"[Ƒöļļöŵ: ţŕáçé á ļîñéšéţ ~~~~~~]\"],\"editor.toolHint.forcePlace\":[\"[Ƒöŕçé þļáçé ~~~]\"],\"editor.toolHint.freePlacement\":[\"[Ƒŕéé þļáçéɱéñţ ~~~~]\"],\"editor.toolHint.goVerticalClickToPlace\":[\"[Ĝö ṽéŕţîçáļ ↕, çļîçķ ţö þļáçé ~~~~~~~]\"],\"editor.toolHint.highlightOutlet\":[\"[Ĥîĝĥļîĝĥţ öûţļéţ ~~~~~]\"],\"editor.toolHint.joinAsACornerWindow\":[\"[Ĵöîñ áš á çöŕñéŕ ŵîñðöŵ ~~~~~~]\"],\"editor.toolHint.key.altDrag\":[\"[Åļţ + ðŕáĝ ~~~]\"],\"editor.toolHint.key.backspace\":[\"[Ɓáçķšþáçé ~~~]\"],\"editor.toolHint.key.click\":[\"[Çļîçķ ~~]\"],\"editor.toolHint.key.clickAgain\":[\"[Çļîçķ áĝáîñ ~~~]\"],\"editor.toolHint.key.command\":[\"[Çöɱɱáñð ~~~]\"],\"editor.toolHint.key.control\":[\"[Çöñţŕöļ ~~~]\"],\"editor.toolHint.key.delete\":[\"[Ðéļéţé ~~]\"],\"editor.toolHint.key.doubleClick\":[\"[Ðöûƀļé çļîçķ ~~~~]\"],\"editor.toolHint.key.drag\":[\"[Ðŕáĝ ~~]\"],\"editor.toolHint.key.enter\":[\"[Éñţéŕ ~~]\"],\"editor.toolHint.key.hover\":[\"[Ĥöṽéŕ ~~]\"],\"editor.toolHint.key.hoverADuctEnd\":[\"[Ĥöṽéŕ á ðûçţ éñð ~~~~]\"],\"editor.toolHint.key.hoverAPipeEnd\":[\"[Ĥöṽéŕ á þîþé éñð ~~~~]\"],\"editor.toolHint.key.hoverGutter\":[\"[Ĥöṽéŕ ĝûţţéŕ ~~~~]\"],\"editor.toolHint.key.leftClick\":[\"[Ļéƒţ çļîçķ ~~~]\"],\"editor.toolHint.key.middleClick\":[\"[Ṁîððļé çļîçķ ~~~~]\"],\"editor.toolHint.key.rShiftR\":[\"[Ŕ / Šĥîƒţ+Ŕ ~~~]\"],\"editor.toolHint.key.rightClick\":[\"[Ŕîĝĥţ çļîçķ ~~~]\"],\"editor.toolHint.key.scroll\":[\"[Šçŕöļļ ~~]\"],\"editor.toolHint.key.scrollWheel\":[\"[Šçŕöļļ ŵĥééļ ~~~~]\"],\"editor.toolHint.key.space\":[\"[Šþáçé ~~]\"],\"editor.toolHint.key.tab\":[\"[Ţáƀ ~]\"],\"editor.toolHint.mountFloorCeilingWall\":[\"[Ṁöûñţ: ƒļööŕ / çéîļîñĝ / ŵáļļ ~~~~~~~]\"],\"editor.toolHint.noRoomForTheMatchingWindow\":[\"[Ñö ŕööɱ ƒöŕ ţĥé ɱáţçĥîñĝ ŵîñðöŵ öñ ţĥé öţĥéŕ ŵáļļ ~~~~~~~~~~~~]\"],\"editor.toolHint.noWallMeetsHere\":[\"[Ñö ŵáļļ ɱééţš ĥéŕé ~~~~~]\"],\"editor.toolHint.numberOfCutsScrollOrClick\":[\"[Ñûɱƀéŕ öƒ çûţš — šçŕöļļ öŕ çļîçķ ţö çĥáñĝé ~~~~~~~~~~]\"],\"editor.toolHint.pickWitnessPoint\":[\"[Þîçķ ŵîţñéšš þöîñţ ~~~~~]\"],\"editor.toolHint.pipeSizeDownUp\":[\"[Þîþé šîžé ðöŵñ / ûþ ~~~~~]\"],\"editor.toolHint.placeAndContinue\":[\"[Þļáçé áñð çöñţîñûé ~~~~~]\"],\"editor.toolHint.placeBlock\":[\"[Þļáçé ƀļöçķ ~~~]\"],\"editor.toolHint.placeBoxVentOnRoof\":[\"[Þļáçé ƀöẋ ṽéñţ öñ ŕööƒ ~~~~~~]\"],\"editor.toolHint.placeCabinet\":[\"[Þļáçé çáƀîñéţ ~~~~]\"],\"editor.toolHint.placeCanopyOrSetTheNext\":[\"[Þļáçé çáñöþý öŕ šéţ ţĥé ñéẋţ ŕûñ þöîñţ ~~~~~~~~~~]\"],\"editor.toolHint.placeChimneyOnRoof\":[\"[Þļáçé çĥîɱñéý öñ ŕööƒ ~~~~~~]\"],\"editor.toolHint.placeColumn\":[\"[Þļáçé çöļûɱñ ~~~~]\"],\"editor.toolHint.placeCupolaOnRoof\":[\"[Þļáçé çûþöļá öñ ŕööƒ ~~~~~~]\"],\"editor.toolHint.placeDimensionLineWhenNeeded\":[\"[Þļáçé ðîɱéñšîöñ ļîñé ŵĥéñ ñééðéð ~~~~~~~~~]\"],\"editor.toolHint.placeDoorOnWall\":[\"[Þļáçé ðööŕ öñ ŵáļļ ~~~~~]\"],\"editor.toolHint.placeDormerOnRoof\":[\"[Þļáçé ðöŕɱéŕ öñ ŕööƒ ~~~~~~]\"],\"editor.toolHint.placeElevator\":[\"[Þļáçé éļéṽáţöŕ ~~~~]\"],\"editor.toolHint.placeEyebrowVentOnRoof\":[\"[Þļáçé éýéƀŕöŵ ṽéñţ öñ ŕööƒ ~~~~~~~]\"],\"editor.toolHint.placeFitting\":[\"[Þļáçé ƒîţţîñĝ ~~~~]\"],\"editor.toolHint.placeGutterOnRoofEave\":[\"[Þļáçé ĝûţţéŕ öñ ŕööƒ éáṽé ~~~~~~~]\"],\"editor.toolHint.placeItLockedTo45\":[\"[Þļáçé îţ (ļöçķéð ţö 45°) ~~~~~]\"],\"editor.toolHint.placeItem\":[\"[Þļáçé îţéɱ ~~~]\"],\"editor.toolHint.placeMeasurementPoint\":[\"[Þļáçé ɱéášûŕéɱéñţ þöîñţ ~~~~~~~]\"],\"editor.toolHint.placeOnAFence\":[\"[Þļáçé öñ á ƒéñçé ~~~~]\"],\"editor.toolHint.placeRegister\":[\"[Þļáçé ŕéĝîšţéŕ ~~~~]\"],\"editor.toolHint.placeRidgeVentOnRoof\":[\"[Þļáçé ŕîðĝé ṽéñţ öñ ŕööƒ ~~~~~~]\"],\"editor.toolHint.placeShelf\":[\"[Þļáçé šĥéļƒ ~~~]\"],\"editor.toolHint.placeSkylightOnRoof\":[\"[Þļáçé šķýļîĝĥţ öñ ŕööƒ ~~~~~~]\"],\"editor.toolHint.placeSolarPanelArrayOnRoof\":[\"[Þļáçé šöļáŕ þáñéļ áŕŕáý öñ ŕööƒ ~~~~~~~~]\"],\"editor.toolHint.placeSpawnPoint\":[\"[Þļáçé šþáŵñ þöîñţ ~~~~~]\"],\"editor.toolHint.placeStairs\":[\"[Þļáçé šţáîŕš ~~~~]\"],\"editor.toolHint.placeTrap\":[\"[Þļáçé ţŕáþ ~~~]\"],\"editor.toolHint.placeTurbineVentOnRoof\":[\"[Þļáçé ţûŕƀîñé ṽéñţ öñ ŕööƒ ~~~~~~~]\"],\"editor.toolHint.placeUnit\":[\"[Þļáçé ûñîţ ~~~]\"],\"editor.toolHint.placeWindowOnWall\":[\"[Þļáçé ŵîñðöŵ öñ ŵáļļ ~~~~~~]\"],\"editor.toolHint.placeWithoutTheCornerSnap\":[\"[Þļáçé ŵîţĥöûţ ţĥé çöŕñéŕ šñáþ ~~~~~~~~]\"],\"editor.toolHint.placement\":[\"[Þļáçéɱéñţ ~~~]\"],\"editor.toolHint.placementAuto\":[\"[Þļáçéɱéñţ: Åûţö ~~~~]\"],\"editor.toolHint.placementGround\":[\"[Þļáçéɱéñţ: Ĝŕöûñð ~~~~~]\"],\"editor.toolHint.placementRoof\":[\"[Þļáçéɱéñţ: Ŕööƒ ~~~~]\"],\"editor.toolHint.placementSurfaceClickOrPressP\":[\"[Þļáçéɱéñţ šûŕƒáçé - çļîçķ öŕ þŕéšš Þ ţö çýçļé ~~~~~~~~~~~]\"],\"editor.toolHint.placementType\":[\"[Þļáçéɱéñţ ţýþé ~~~~]\"],\"editor.toolHint.placementTypeClickOrPressI\":[\"[Þļáçéɱéñţ ţýþé — çļîçķ öŕ þŕéšš Î ţö ţöĝĝļé ~~~~~~~~~~~]\"],\"editor.toolHint.removeLastPoint\":[\"[Ŕéɱöṽé ļášţ þöîñţ ~~~~~]\"],\"editor.toolHint.removeLastWitness\":[\"[Ŕéɱöṽé ļášţ ŵîţñéšš ~~~~~~]\"],\"editor.toolHint.rotate\":[\"[Ŕöţáţé ~~]\"],\"editor.toolHint.rotate45\":[\"[Ŕöţáţé ±45° ~~]\"],\"editor.toolHint.rotate45FloorCeiling\":[\"[Ŕöţáţé ±45° (ƒļööŕ / çéîļîñĝ) ~~~~~~]\"],\"editor.toolHint.rotateGhost15\":[\"[Ŕöţáţé ĝĥöšţ ±15° ~~~~]\"],\"editor.toolHint.rotateOrFlipTheRunSide\":[\"[Ŕöţáţé öŕ ƒļîþ ţĥé ŕûñ šîðé ~~~~~~~]\"],\"editor.toolHint.rotateRoofDirection90\":[\"[Ŕöţáţé ŕööƒ ðîŕéçţîöñ 90° ~~~~~~]\"],\"editor.toolHint.rotateSpawnPoint\":[\"[Ŕöţáţé šþáŵñ þöîñţ ~~~~~]\"],\"editor.toolHint.roundRectangularOval\":[\"[Ŕöûñð / ŕéçţáñĝûļáŕ / öṽáļ ~~~~~~]\"],\"editor.toolHint.setFenceStartEnd\":[\"[Šéţ ƒéñçé šţáŕţ / éñð ~~~~~]\"],\"editor.toolHint.setOneCornerThenTheOpposite\":[\"[Šéţ öñé çöŕñéŕ, ţĥéñ ţĥé öþþöšîţé ~~~~~~~~~]\"],\"editor.toolHint.setRoofFootprint\":[\"[Šéţ ŕööƒ ƒööţþŕîñţ ~~~~~]\"],\"editor.toolHint.setWallStartEnd\":[\"[Šéţ ŵáļļ šţáŕţ / éñð ~~~~~]\"],\"editor.toolHint.slopeLevel\":[\"[Šļöþé / ļéṽéļ ~~~]\"],\"editor.toolHint.snapOntoTheRun\":[\"[Šñáþ öñţö ţĥé ŕûñ ~~~~~]\"],\"editor.toolHint.splitAtTheMarks\":[\"[Šþļîţ áţ ţĥé ɱáŕķš ~~~~~]\"],\"editor.toolHint.startGridAxis\":[\"[Šţáŕţ ĝŕîð áẋîš ~~~~]\"],\"editor.toolHint.startLineset\":[\"[Šţáŕţ ļîñéšéţ ~~~~]\"],\"editor.toolHint.startLiquidLine\":[\"[Šţáŕţ ļîǫûîð ļîñé ~~~~~]\"],\"editor.toolHint.startRun\":[\"[Šţáŕţ ŕûñ ~~~]\"],\"editor.toolHint.startSegment\":[\"[Šţáŕţ šéĝɱéñţ ~~~~]\"],\"editor.toolHint.stepBackOrCancel\":[\"[Šţéþ ƀáçķ öŕ çáñçéļ ~~~~~]\"],\"editor.toolHint.style\":[\"[Šţýļé ~~]\"],\"editor.toolHint.styleBarn\":[\"[Šţýļé: Ɓáŕñ ~~~]\"],\"editor.toolHint.styleCasement\":[\"[Šţýļé: Çášéɱéñţ ~~~~]\"],\"editor.toolHint.styleCraftsman\":[\"[Šţýļé: Çŕáƒţšɱáñ ~~~~~]\"],\"editor.toolHint.styleDoubleHung\":[\"[Šţýļé: Ðöûƀļé-ĥûñĝ ~~~~~]\"],\"editor.toolHint.styleFrench\":[\"[Šţýļé: Ƒŕéñçĥ ~~~~]\"],\"editor.toolHint.styleGlass\":[\"[Šţýļé: Ĝļášš ~~~]\"],\"editor.toolHint.styleGrid\":[\"[Šţýļé: Ĝŕîð ~~~]\"],\"editor.toolHint.styleHalfLouvered\":[\"[Šţýļé: Ĥáļƒ-ļöûṽéŕéð ~~~~~~]\"],\"editor.toolHint.styleHorizontalBands\":[\"[Šţýļé: Ĥöŕîžöñţáļ ƀáñðš ~~~~~~]\"],\"editor.toolHint.styleModern\":[\"[Šţýļé: Ṁöðéŕñ ~~~~]\"],\"editor.toolHint.stylePanel\":[\"[Šţýļé: Þáñéļ ~~~]\"],\"editor.toolHint.stylePaneledGlass\":[\"[Šţýļé: Þáñéļéð ĝļášš ~~~~~~]\"],\"editor.toolHint.styleShaker\":[\"[Šţýļé: Šĥáķéŕ ~~~~]\"],\"editor.toolHint.styleSingle\":[\"[Šţýļé: Šîñĝļé ~~~~]\"],\"editor.toolHint.styleSixPanel\":[\"[Šţýļé: Šîẋ-þáñéļ ~~~~]\"],\"editor.toolHint.styleSliding\":[\"[Šţýļé: Šļîðîñĝ ~~~~]\"],\"editor.toolHint.styleTallGrid\":[\"[Šţýļé: Ţáļļ ĝŕîð ~~~~]\"],\"editor.toolHint.styleTransom\":[\"[Šţýļé: Ţŕáñšöɱ ~~~~]\"],\"editor.toolHint.styleTripleHung\":[\"[Šţýļé: Ţŕîþļé-ĥûñĝ ~~~~~]\"],\"editor.toolHint.styleWideGrid\":[\"[Šţýļé: Ŵîðé ĝŕîð ~~~~]\"],\"editor.toolHint.switchRotationAxisYXZ\":[\"[Šŵîţçĥ ŕöţáţîöñ áẋîš (Ý → Ẋ → Ž) ~~~~~~~]\"],\"editor.toolHint.theWallsMeetAtTooSharp\":[\"[Ţĥé ŵáļļš ɱééţ áţ ţöö šĥáŕþ öŕ ţöö ƒļáţ áñ áñĝļé ~~~~~~~~~~~~]\"],\"editor.toolHint.theWindowWaitingThereIsTaller\":[\"[Ţĥé ŵîñðöŵ ŵáîţîñĝ ţĥéŕé îš ţáļļéŕ ţĥáñ ţĥîš ŵáļļ ~~~~~~~~~~~~~]\"],\"editor.toolHint.threeOrMoreWallsMeetHere\":[\"[Ţĥŕéé öŕ ɱöŕé ŵáļļš ɱééţ ĥéŕé ~~~~~~~~]\"],\"editor.toolHint.traceCeilingOutline\":[\"[Ţŕáçé çéîļîñĝ öûţļîñé ~~~~~~]\"],\"editor.toolHint.traceSlabOutline\":[\"[Ţŕáçé šļáƀ öûţļîñé ~~~~~]\"],\"editor.toolHint.type\":[\"[Ţýþé ~~]\"],\"editor.toolHint.typeAwning\":[\"[Ţýþé: Åŵñîñĝ ~~~]\"],\"editor.toolHint.typeBarn\":[\"[Ţýþé: Ɓáŕñ ~~~]\"],\"editor.toolHint.typeBay\":[\"[Ţýþé: Ɓáý ~~~]\"],\"editor.toolHint.typeBow\":[\"[Ţýþé: Ɓöŵ ~~~]\"],\"editor.toolHint.typeCabinet\":[\"[Ţýþé: Çáƀîñéţ ~~~~]\"],\"editor.toolHint.typeCasement\":[\"[Ţýþé: Çášéɱéñţ ~~~~]\"],\"editor.toolHint.typeDouble\":[\"[Ţýþé: Ðöûƀļé ~~~]\"],\"editor.toolHint.typeDoubleHung\":[\"[Ţýþé: Ðöûƀļé Ĥûñĝ ~~~~~]\"],\"editor.toolHint.typeFixed\":[\"[Ţýþé: Ƒîẋéð ~~~]\"],\"editor.toolHint.typeFolding\":[\"[Ţýþé: Ƒöļðîñĝ ~~~~]\"],\"editor.toolHint.typeFrench\":[\"[Ţýþé: Ƒŕéñçĥ ~~~]\"],\"editor.toolHint.typeHinged\":[\"[Ţýþé: Ĥîñĝéð ~~~]\"],\"editor.toolHint.typeIsland\":[\"[Ţýþé: Κļáñð ~~~]\"],\"editor.toolHint.typeLouvered\":[\"[Ţýþé: Ļöûṽéŕéð ~~~~]\"],\"editor.toolHint.typePocket\":[\"[Ţýþé: Þöçķéţ ~~~]\"],\"editor.toolHint.typeSingleHung\":[\"[Ţýþé: Šîñĝļé Ĥûñĝ ~~~~~]\"],\"editor.toolHint.typeSliding\":[\"[Ţýþé: Šļîðîñĝ ~~~~]\"],\"editor.toolHint.verticalStackClickToPlace\":[\"[Ṽéŕţîçáļ šţáçķ ↕, çļîçķ ţö þļáçé ~~~~~~~~]\"],\"editor.toolHint.wasteVent\":[\"[Ŵášţé / ṽéñţ ~~~]\"],\"editor.toolHint.windowStyleClickOrPressL\":[\"[Ŵîñðöŵ šţýļé — çļîçķ öŕ þŕéšš Ļ ţö çýçļé ~~~~~~~~~~]\"],\"editor.toolHint.windowTypeClickOrPressO\":[\"[Ŵîñðöŵ ţýþé — çļîçķ öŕ þŕéšš Ö ţö çýçļé ~~~~~~~~~]\"],\"editor.views.plugins\":[\"[Þļûĝîñš ~~~]\"],\"editor.views.view2d\":[\"[2Ð ~]\"],\"editor.views.view3d\":[\"[3Ð ~]\"],\"editor.views.viewBar.auto\":[\"[Åûţö ~~]\"],\"editor.views.viewBar.browsePlugins\":[\"[Ɓŕöŵšé þļûĝîñš ~~~~]\"],\"editor.views.viewBar.closeLabel\":[\"[Çļöšé \",[\"label\"],\" ~~]\"],\"editor.views.viewBar.closeSplit\":[\"[Çļöšé šþļîţ (\\\\) ~~~]\"],\"editor.views.viewBar.ground\":[\"[Ĝŕöûñð ~~]\"],\"editor.views.viewBar.groundSolid\":[\"[\",[\"standing\",\"select\",{\"partly\":[\"Þáŕţļý ƀéļöŵ ĝŕáðé · ĝŕöûñð šöļîð\"],\"below\":[\"Ɓéļöŵ ĝŕáðé · ĝŕöûñð šöļîð\"],\"other\":[\"Ĝŕöûñð šöļîð\"]}],\" ~~~~~~~~~~~~~~~~~~]\"],\"editor.views.viewBar.groundVeiled\":[\"[\",[\"standing\",\"select\",{\"partly\":[\"Þáŕţļý ƀéļöŵ ĝŕáðé · ĝŕöûñð ṽéîļéð\"],\"below\":[\"Ɓéļöŵ ĝŕáðé · ĝŕöûñð ṽéîļéð\"],\"other\":[\"Ĝŕöûñð ṽéîļéð\"]}],\" ~~~~~~~~~~~~~~~~~~~]\"],\"editor.views.viewBar.keepTheGroundSolid\":[\"[Ķééþ ţĥé ĝŕöûñð šöļîð ~~~~~~]\"],\"editor.views.viewBar.moreViews\":[\"[Ṁöŕé ṽîéŵš ~~~]\"],\"editor.views.viewBar.paneViews\":[\"[Þáñé \",[\"pane\"],\" ṽîéŵš ~~~]\"],\"editor.views.viewBar.pinLabel\":[\"[Þîñ \",[\"label\"],\" ~]\"],\"editor.views.viewBar.pinToTheViewBar\":[\"[Þîñ ţö ţĥé ṽîéŵ ƀáŕ ~~~~~]\"],\"editor.views.viewBar.solid\":[\"[Šöļîð ~~]\"],\"editor.views.viewBar.split\":[\"[Šþļîţ (\\\\) ~~]\"],\"editor.views.viewBar.split2\":[\"[Šþļîţ ~~]\"],\"editor.views.viewBar.swapPanes\":[\"[Šŵáþ þáñéš ~~~]\"],\"editor.views.viewBar.unpinFromTheViewBar\":[\"[Ûñþîñ ƒŕöɱ ţĥé ṽîéŵ ƀáŕ ~~~~~~]\"],\"editor.views.viewBar.unpinLabel\":[\"[Ûñþîñ \",[\"label\"],\" ~~]\"],\"editor.views.viewBar.veilTheGroundOverALevel\":[\"[Ṽéîļ ţĥé ĝŕöûñð öṽéŕ á ļéṽéļ ƀéļöŵ ĝŕáðé ~~~~~~~~~~]\"],\"editor.views.viewBar.views\":[\"[Ṽîéŵš ~~]\"],\"editor.youCanRetryTheSceneOr\":[\"[Ýöû çáñ ŕéţŕý ţĥé šçéñé öŕ ŕéţûŕñ ĥöɱé ŵîţĥöûţ ŕéļöáðîñĝ ţĥé ŵĥöļé áþþ šĥéļļ. ~~~~~~~~~~~~~~~~~~~]\"],\"node.block.description\":[\"[Å ţöþöļöĝý-ƀáçķéð šöļîð éðîţéð ðîŕéçţļý îñ ţĥé çáñṽáš. ~~~~~~~~~~~~~~]\"],\"node.block.label\":[\"[Ɓļöçķ ~~]\"],\"node.boxVent.description\":[\"[Šɱáļļ ļöûṽéŕéð éẋĥáûšţ ṽéñţ ţĥáţ šîţš öñ á ŕööƒ šļöþé. ~~~~~~~~~~~~~~]\"],\"node.boxVent.label\":[\"[Ɓöẋ Ṽéñţ ~~~]\"],\"node.building.description\":[\"[Å ƀûîļðîñĝ çöñţáîñéŕ ĥöļðîñĝ öñé öŕ ɱöŕé ļéṽéļš. ~~~~~~~~~~~~]\"],\"node.building.label\":[\"[Ɓûîļðîñĝ ~~~]\"],\"node.cabinet.description\":[\"[Å çöñƒîĝûŕáƀļé þáŕáɱéţŕîç ƀášé çáƀîñéţ. ~~~~~~~~~~~]\"],\"node.cabinet.label\":[\"[Ṁöðûļáŕ Çáƀîñéţ ~~~~~]\"],\"node.cabinetModule.description\":[\"[Åñ éðîţáƀļé ɱöðûļé îñšîðé á ɱöðûļáŕ çáƀîñéţ ŕûñ. ~~~~~~~~~~~~]\"],\"node.cabinetModule.label\":[\"[Çáƀîñéţ Ṁöðûļé ~~~~]\"],\"node.ceiling.description\":[\"[Å þöļýĝöñ-ƀöûñðéð çéîļîñĝ šûŕƒáçé ţĥáţ ĥöšţš çéîļîñĝ-ɱöûñţéð îţéɱš. ~~~~~~~~~~~~~~~~~~]\"],\"node.ceiling.label\":[\"[Çéîļîñĝ ~~~]\"],\"node.chimney.description\":[\"[Ṽéŕţîçáļ ɱášöñŕý šţáçķ öñ á ŕööƒ šéĝɱéñţ. ~~~~~~~~~~~]\"],\"node.chimney.label\":[\"[Çĥîɱñéý ~~~]\"],\"node.column.description\":[\"[Å þáŕáɱéţŕîç çöļûɱñ ŵîţĥ çöñƒîĝûŕáƀļé çŕöšš-šéçţîöñ, ƀášé, áñð çáþîţáļ. ~~~~~~~~~~~~~~~~~~]\"],\"node.column.label\":[\"[Çöļûɱñ ~~]\"],\"node.constructionDimension.description\":[\"[Åššöçîáţîṽé ļîñéáŕ, çûŕṽéð, çîŕçûļáŕ, áñĝûļáŕ, öŕ çööŕðîñáţé þļáñ ðîɱéñšîöñ. ~~~~~~~~~~~~~~~~~~~]\"],\"node.constructionDimension.label\":[\"[Çöñšţŕûçţîöñ Ðîɱéñšîöñ ~~~~~~~]\"],\"node.cupola.description\":[\"[Ļöûṽéŕéð ŕööƒ ļáñţéŕñ ŵîţĥ á ðöɱé öŕ þýŕáɱîð çáþ áñð öþţîöñáļ ƒîñîáļ. ~~~~~~~~~~~~~~~~~~]\"],\"node.cupola.label\":[\"[Çûþöļá ~~]\"],\"node.door.description\":[\"[Å ðööŕ çûţ îñţö á ŵáļļ. Åñîɱáţéð öþéñ/çļöšé šţáţé. ~~~~~~~~~~~~]\"],\"node.door.label\":[\"[Ðööŕ ~~]\"],\"node.dormer.description\":[\"[Ĥöûšé-šĥáþéð þŕöţŕûšîöñ öñ á ŕööƒ šéĝɱéñţ. ~~~~~~~~~~~]\"],\"node.dormer.label\":[\"[Ðöŕɱéŕ ~~]\"],\"node.downspout.description\":[\"[Ṽéŕţîçáļ ðŕöþ þîþé ƒŕöɱ á ĝûţţéŕ öûţļéţ ţö ţĥé ĝŕöûñð. ~~~~~~~~~~~~~~]\"],\"node.downspout.label\":[\"[Ðöŵñšþöûţ ~~~]\"],\"node.ductFitting.description\":[\"[Éļƀöŵ, ţéé, ŕéðûçéŕ, öŕ šǫûáŕé-ţö-ŕöûñð ţŕáñšîţîöñ çöññéçţîñĝ ðûçţ ŕûñš. ~~~~~~~~~~~~~~~~~~]\"],\"node.ductFitting.label\":[\"[Ðûçţ Ƒîţţîñĝ ~~~~]\"],\"node.ductSegment.description\":[\"[ĤṼÅÇ ðûçţ ŕûñ — þöļýļîñé öƒ ŕöûñð, ŕéçţ, öŕ ƒļáţ-öṽáļ šéçţîöñš. ~~~~~~~~~~~~~~~]\"],\"node.ductSegment.label\":[\"[Ðûçţ ~~]\"],\"node.ductTerminal.description\":[\"[Ðûçţ ţéŕɱîñáļ — šûþþļý ŕéĝîšţéŕ, çéîļîñĝ ðûšéŕ, öŕ ŕéţûŕñ ĝŕîļļé. Ðûçţ ŕûñš éñð áţ îţš çöļļáŕ. ~~~~~~~~~~~~~~~~~~~~~~~~]\"],\"node.ductTerminal.label\":[\"[Ŕéĝîšţéŕ ~~~]\"],\"node.elevator.description\":[\"[Å ɱûļţî-ļéṽéļ éļéṽáţöŕ šĥáƒţ ŵîţĥ çöñƒîĝûŕáƀļé öþéñîñĝš þéŕ ļéṽéļ. ~~~~~~~~~~~~~~~~~]\"],\"node.elevator.label\":[\"[Éļéṽáţöŕ ~~~]\"],\"node.eyebrowVent.description\":[\"[Ļöŵ çûŕṽéð ļéñš-šĥáþéð ŕööƒ ṽéñţ ŵîţĥ á ļöûṽéŕéð ƒŕöñţ. ~~~~~~~~~~~~~~]\"],\"node.eyebrowVent.label\":[\"[Éýéƀŕöŵ Ṽéñţ ~~~~]\"],\"node.fence.description\":[\"[Å šţŕáîĝĥţ öŕ çûŕṽéð ƒéñçé šéĝɱéñţ ŵîţĥ çöñƒîĝûŕáƀļé þöšţš áñð îñƒîļļ. ~~~~~~~~~~~~~~~~~~]\"],\"node.fence.label\":[\"[Ƒéñçé ~~]\"],\"node.fenceGate.description\":[\"[Å ĝáţé ĥöšţéð ƀý á ƒéñçé. ~~~~~~]\"],\"node.fenceGate.label\":[\"[Ĝáţé ~~]\"],\"node.fenceOpening.description\":[\"[Åñ îñţéñţîöñáļ öþéñîñĝ îñ á ƒéñçé. ~~~~~~~~~]\"],\"node.fenceOpening.label\":[\"[Öþéñ Þáššáĝé ~~~~]\"],\"node.floorOpening.label\":[\"[Ƒļööŕ öþéñîñĝ ~~~~]\"],\"node.guide.description\":[\"[Å ɱéášûŕéɱéñţ / ŕéƒéŕéñçé áññöţáţîöñ (ļîñéáŕ, áŕéá, öŕ áŕç). ~~~~~~~~~~~~~~]\"],\"node.guide.label\":[\"[Ĝûîðé ~~]\"],\"node.gutter.description\":[\"[Ŕáîñ-ŵáţéŕ çĥáññéļ ŕûññîñĝ áļöñĝ ţĥé éáṽé öƒ á ŕööƒ šéĝɱéñţ. ~~~~~~~~~~~~~~~]\"],\"node.gutter.label\":[\"[Ĝûţţéŕ ~~]\"],\"node.hvacEquipment.description\":[\"[Ƒûŕñáçé, áîŕ ĥáñðļéŕ, öŕ çöñðéñšéŕ — ðûçţ ŕûñš çöññéçţ ţö îţš šûþþļý/ŕéţûŕñ çöļļáŕš. ~~~~~~~~~~~~~~~~~~~~~]\"],\"node.hvacEquipment.label\":[\"[ĤṼÅÇ Ûñîţ ~~~]\"],\"node.importedMesh.description\":[\"[Ĝéöɱéţŕý þŕéšéŕṽéð ƒŕöɱ áñ îɱþöŕţéð ɱöðéļ ŵĥéñ ñö ñáţîṽé Þášçáļ šĥáþé éẋîšţš. ~~~~~~~~~~~~~~~~~~~~]\"],\"node.importedMesh.label\":[\"[Îɱþöŕţéð Ṁéšĥ ~~~~]\"],\"node.item.description\":[\"[Å çáţáļöĝ-ƀáçķéð îţéɱ (ƒûŕñîţûŕé, ƒîẋţûŕéš, ðéçöŕáţîöñš). ~~~~~~~~~~~~~~]\"],\"node.item.label\":[\"[Îţéɱ ~~]\"],\"node.leanToExtension.description\":[\"[Åñ áţţáçĥéð ɱöñö-þîţçĥ öŕ ƒŕééšţáñðîñĝ ɱöñö, ĝáƀļé, öŕ ƀûţţéŕƒļý çáñöþý ŵîţĥ ɱáñáĝéð šţŕûçţûŕé áñð ðŕáîñáĝé. ~~~~~~~~~~~~~~~~~~~~~~~~~~~]\"],\"node.leanToExtension.label\":[\"[Çáñöþý ~~]\"],\"node.level.description\":[\"[Å šîñĝļé ƒļööŕ öƒ á ƀûîļðîñĝ, ĥöļðîñĝ ŵáļļš / šļáƀš / çéîļîñĝš / îţéɱš. ~~~~~~~~~~~~~~~~]\"],\"node.level.label\":[\"[Ļéṽéļ ~~]\"],\"node.lineset.description\":[\"[Ŕéƒŕîĝéŕáñţ ļîñéšéţ — çöþþéŕ šûçţîöñ + ļîǫûîð þáîŕ ĵöîñîñĝ á çöñðéñšéŕ ţö ţĥé îñðööŕ çöîļ. ~~~~~~~~~~~~~~~~~~~~~~]\"],\"node.lineset.label\":[\"[Ļîñéšéţ ~~~]\"],\"node.liquidLine.description\":[\"[Šţáñðáļöñé ŕéƒŕîĝéŕáñţ ļîǫûîð ļîñé — á ţĥîñ ƀáŕé-çöþþéŕ ŕûñ; Ƒöļļöŵ ɱöðé ţŕáçéš áñ éẋîšţîñĝ ļîñéšéţ. ~~~~~~~~~~~~~~~~~~~~~~~~~]\"],\"node.liquidLine.label\":[\"[Ļîǫûîð Ļîñé ~~~]\"],\"node.measurement.description\":[\"[Å þéŕšîšţéñţ ðîšţáñçé, áñĝļé, áŕéá, þéŕîɱéţéŕ, öŕ ṽöļûɱé áññöţáţîöñ. ~~~~~~~~~~~~~~~~~]\"],\"node.measurement.label\":[\"[Ṁéášûŕéɱéñţ ~~~~]\"],\"node.pipeFitting.description\":[\"[ÐŴṼ ĵöîñţ — éļƀöŵ ƀéñð, 45° ŵýé, öŕ šáñîţáŕý ţéé. ~~~~~~~~~~]\"],\"node.pipeFitting.label\":[\"[Þîþé Ƒîţţîñĝ ~~~~]\"],\"node.pipeSegment.description\":[\"[Ðŕáîñ / ŵášţé / ṽéñţ þîþé ŕûñ — ðŕáŵ ļéṽéļ öŕ ţöĝĝļé á ¼″ þéŕ ƒööţ ƒáļļ ŵîţĥ Š. ~~~~~~~~~~~~~~~~~]\"],\"node.pipeSegment.label\":[\"[ÐŴṼ Þîþé ~~~]\"],\"node.pipeTrap.description\":[\"[ÐŴṼ Þ-ţŕáþ — ŵáţéŕ šéáļ öñ ţĥé ŵášţé ļîñé. Ţĥé ţŕáþ áŕɱ ŕûñš ţö ţĥé ṽéñţ. ~~~~~~~~~~~~~~~~~]\"],\"node.pipeTrap.label\":[\"[Ţŕáþ ~~]\"],\"node.proceduralItem.description\":[\"[Éẋþéŕîɱéñţáļ éðîţáƀļé ŕéçîþé ~~~~~~~~]\"],\"node.proceduralItem.label\":[\"[Þŕöçéðûŕáļ îţéɱ ~~~~~]\"],\"node.ridgeVent.description\":[\"[Ṽéñţîļáţîöñ šţŕîþ ŕûññîñĝ áļöñĝ ţĥé ŕîðĝé öƒ á ŕööƒ šéĝɱéñţ. ~~~~~~~~~~~~~~~]\"],\"node.ridgeVent.label\":[\"[Ŕîðĝé Ṽéñţ ~~~]\"],\"node.roof.description\":[\"[Å þîţçĥéð / ĥîþ / ĝáƀļé ŕööƒ çöɱþöšéð öƒ öñé öŕ ɱöŕé šéĝɱéñţš. ~~~~~~~~~~~~~~~]\"],\"node.roof.label\":[\"[Ŕööƒ ~~]\"],\"node.roofSegment.description\":[\"[Å šîñĝļé þîţçĥéð þļáñé öƒ á þáŕéñţ ŕööƒ. ~~~~~~~~~~]\"],\"node.roofSegment.label\":[\"[Ŕööƒ Šéĝɱéñţ ~~~~]\"],\"node.scan.description\":[\"[Å çáþţûŕéð šéššîöñ ŵîţĥ öþţîöñáļ ɱéšĥ, ɱöţîöñ, ɱéðîá, áñð šéñšöŕ ðáţá. ~~~~~~~~~~~~~~~~~]\"],\"node.scan.label\":[\"[Çáþţûŕé ~~~]\"],\"node.separator.label\":[\"[Šéþáŕáţöŕ ~~~]\"],\"node.shelf.description\":[\"[Å çöñƒîĝûŕáƀļé šĥéļṽîñĝ ûñîţ. Îţéɱš ĥöšţ öñ éáçĥ ŕöŵ. ~~~~~~~~~~~~~]\"],\"node.shelf.label\":[\"[Šĥéļƒ ~~]\"],\"node.site.description\":[\"[Ţĥé ţöþ-ļéṽéļ çöñţáîñéŕ ĥöļðîñĝ ƀûîļðîñĝš, žöñéš, áñð ţĥé þŕöþéŕţý ƀöûñðáŕý. ~~~~~~~~~~~~~~~~~~~]\"],\"node.site.label\":[\"[Šîţé ~~]\"],\"node.skylight.description\":[\"[Ƒŕáɱéð ĝļášš öþéñîñĝ öñ á ŕööƒ šéĝɱéñţ. ~~~~~~~~~~]\"],\"node.skylight.label\":[\"[Šķýļîĝĥţ ~~~]\"],\"node.slab.description\":[\"[Å þöļýĝöñ-ƀöûñðéð ƒļööŕ šûŕƒáçé ţĥáţ ĥöšţš îţéɱš öñ ţöþ. ~~~~~~~~~~~~~~]\"],\"node.slab.label\":[\"[Šļáƀ ~~]\"],\"node.solarPanel.description\":[\"[Ĝŕîð öƒ þĥöţöṽöļţáîç þáñéļš ɱöûñţéð öñ á ŕööƒ šéĝɱéñţ. ~~~~~~~~~~~~~~]\"],\"node.solarPanel.label\":[\"[Šöļáŕ Þáñéļ ~~~]\"],\"node.spawn.description\":[\"[Þļáýéŕ öŕ çáɱéŕá öŕîĝîñ ŵîţĥîñ á ļéṽéļ. Öñé þéŕ ļéṽéļ. ~~~~~~~~~~~~~]\"],\"node.spawn.label\":[\"[Šþáŵñ Þöîñţ ~~~]\"],\"node.stair.description\":[\"[Å šţáîŕ çöɱþöšéð öƒ öñé öŕ ɱöŕé ƒļîĝĥţš ŵîţĥ çöñƒîĝûŕáƀļé ţŕéáðš, ŕîšéŕš, ŕáîļîñĝš. ~~~~~~~~~~~~~~~~~~~~~]\"],\"node.stair.label\":[\"[Šţáîŕ ~~]\"],\"node.stairSegment.description\":[\"[Å šîñĝļé ƒļîĝĥţ öƒ á þáŕéñţ šţáîŕ. ~~~~~~~~~]\"],\"node.stairSegment.label\":[\"[Šţáîŕ Šéĝɱéñţ ~~~~]\"],\"node.structuralGrid.description\":[\"[Þéŕšîšţéñţ çöñšţŕûçţîöñ ĝŕîð áẋîš ŵîţĥ îðéñţîƒîçáţîöñ ƀûƀƀļéš. ~~~~~~~~~~~~~~~~~]\"],\"node.structuralGrid.label\":[\"[Šţŕûçţûŕáļ Ĝŕîð ~~~~~]\"],\"node.turbineVent.description\":[\"[Ŵîñð-ðŕîṽéñ šþîññîñĝ ŵĥîŕļýƀîŕð éẋĥáûšţ ṽéñţ ƒöŕ á ŕööƒ šļöþé. ~~~~~~~~~~~~~~~~]\"],\"node.turbineVent.label\":[\"[Ţûŕƀîñé Ṽéñţ ~~~~]\"],\"node.unit.description\":[\"[Å ñáɱéð ĝŕöûþ öƒ žöñéš ƒöŕɱîñĝ öñé áþáŕţɱéñţ, ĥöţéļ ŕööɱ öŕ çöɱɱéŕçîáļ ļöţ. ~~~~~~~~~~~~~~~~~~~]\"],\"node.unit.label\":[\"[Ûñîţ ~~]\"],\"node.wall.description\":[\"[Å šţŕáîĝĥţ öŕ çûŕṽéð ŵáļļ šéĝɱéñţ. Ĥöšţš ðööŕš, ŵîñðöŵš, ļéáñ-ţö éẋţéñšîöñš, áñð ŵáļļ-ɱöûñţéð îţéɱš. ~~~~~~~~~~~~~~~~~~~~~~~~]\"],\"node.wall.label\":[\"[Ŵáļļ ~~]\"],\"node.window.description\":[\"[Å ŵîñðöŵ çûţ îñţö á ŵáļļ. Åñîɱáţéð öþéñ/çļöšé ƒöŕ öþéñîñĝ ŵîñðöŵš. ~~~~~~~~~~~~~~~~]\"],\"node.window.label\":[\"[Ŵîñðöŵ ~~]\"],\"node.zone.description\":[\"[Å þöļýĝöñáļ šîţé žöñé (ļáŵñ, ŵáţéŕ, þáṽîñĝ) ŵîţĥ á ŢŠĻ ĝŕáðîéñţ ɱáţéŕîáļ. ~~~~~~~~~~~~~~~~~~]\"],\"node.zone.label\":[\"[Žöñé ~~]\"],\"viewer.camera.orbitLeft\":[\"[Öŕƀîţ ļéƒţ ~~~]\"],\"viewer.camera.orbitRight\":[\"[Öŕƀîţ ŕîĝĥţ ~~~]\"],\"viewer.camera.topView\":[\"[Ţöþ ṽîéŵ ~~~]\"],\"viewer.common.off\":[\"[Öƒƒ ~]\"],\"viewer.common.on\":[\"[Öñ ~]\"],\"viewer.display.camera\":[\"[Çáɱéŕá ~~]\"],\"viewer.display.colored\":[\"[Çöļöŕéð ~~~]\"],\"viewer.display.colors\":[\"[Çöļöŕš ~~]\"],\"viewer.display.edges.off\":[\"[Öƒƒ ~]\"],\"viewer.display.edges.offDetail\":[\"[Ñö éðĝé ļîñéš ~~~~]\"],\"viewer.display.edges.soft\":[\"[Šöƒţ ~~]\"],\"viewer.display.edges.softDetail\":[\"[Ƒáîñţ öûţļîñé öƒ ɱáĵöŕ çŕéášéš ~~~~~~~~]\"],\"viewer.display.edges.strong\":[\"[Šţŕöñĝ ~~]\"],\"viewer.display.edges.strongDetail\":[\"[Çŕîšþ, öþáǫûé éðĝé ļîñéš ~~~~~~]\"],\"viewer.display.edges.title\":[\"[Éðĝéš ~~]\"],\"viewer.display.monochrome\":[\"[Ṁöñöçĥŕöɱé ~~~]\"],\"viewer.display.orthographic\":[\"[Öŕţĥöĝŕáþĥîç ~~~~]\"],\"viewer.display.perspective\":[\"[Þéŕšþéçţîṽé ~~~~]\"],\"viewer.display.render.rendered\":[\"[Ŕéñðéŕéð ~~~]\"],\"viewer.display.render.renderedDetail\":[\"[Ƒûļļ áɱƀîéñţ öççļûšîöñ ~~~~~~]\"],\"viewer.display.render.solid\":[\"[Šöļîð ~~]\"],\"viewer.display.render.solidDetail\":[\"[Ƒļáţ áñð ƒášţ — ñö áɱƀîéñţ öççļûšîöñ ~~~~~~~~~]\"],\"viewer.display.render.title\":[\"[Ŕéñðéŕ ~~]\"],\"viewer.display.shadows\":[\"[Šĥáðöŵš ~~~]\"],\"viewer.display.title\":[\"[Ðîšþļáý šéţţîñĝš ~~~~~]\"],\"viewer.floorplan.alignNorth\":[\"[Åļîĝñ ṽîéŵ ţö ñöŕţĥ ~~~~~]\"],\"viewer.floorplan.empty\":[\"[Ñö ƒļööŕ þļáñš áŕé áṽáîļáƀļé ƒöŕ ţĥîš šçéñé. ~~~~~~~~~~~]\"],\"viewer.floorplan.fit\":[\"[Ƒîţ ƒļööŕ þļáñ ~~~~]\"],\"viewer.floorplan.floor\":[\"[Ƒļööŕ ~~]\"],\"viewer.floorplan.floorPlan\":[\"[Ƒļööŕ þļáñ ~~~]\"],\"viewer.floorplan.viewLabel\":[\"[\",[\"floor\"],\" 2Ð ṽîéŵ ~~]\"],\"viewer.floorplan.zoomIn\":[\"[Žööɱ îñ ~~]\"],\"viewer.floorplan.zoomOut\":[\"[Žööɱ öûţ ~~~]\"],\"viewer.header.back\":[\"[Ɓáçķ ~~]\"],\"viewer.header.levels\":[\"[Ļéṽéļš ~~]\"],\"viewer.header.rooms\":[\"[Ŕööɱš ~~]\"],\"viewer.header.selection\":[\"[Šéļéçţîöñ ~~~]\"],\"viewer.header.units\":[\"[Ûñîţš ~~]\"],\"viewer.header.untitled\":[\"[Ûñţîţļéð ~~~]\"],\"viewer.header.zones\":[\"[Žöñéš ~~]\"],\"viewer.levels.exploded\":[\"[Éẋþļöðéð ~~~]\"],\"viewer.levels.label\":[\"[Ļéṽéļš: \",[\"mode\"],\" ~~]\"],\"viewer.levels.manual\":[\"[Ṁáñûáļ ~~]\"],\"viewer.levels.solo\":[\"[Šöļö ~~]\"],\"viewer.levels.stacked\":[\"[Šţáçķéð ~~~]\"],\"viewer.stage.layout\":[\"[Ṽîéŵéŕ ļáýöûţ ~~~~]\"],\"viewer.stage.split\":[\"[Šþļîţ ~~]\"],\"viewer.theme.blueprint\":[\"[Ɓļûéþŕîñţ ~~~]\"],\"viewer.theme.mediterranean\":[\"[Ṁéðîţéŕŕáñéáñ ~~~~]\"],\"viewer.theme.night\":[\"[Ñîĝĥţ ~~]\"],\"viewer.theme.overcast\":[\"[Öṽéŕçášţ ~~~]\"],\"viewer.theme.paper\":[\"[Þáþéŕ ~~]\"],\"viewer.theme.studio\":[\"[Šţûðîö ~~]\"],\"viewer.theme.sunset\":[\"[Šûñšéţ ~~]\"],\"viewer.theme.title\":[\"[Šçéñé ţĥéɱé ~~~]\"],\"viewer.theme.twilight\":[\"[Ţŵîļîĝĥţ ~~~]\"],\"viewer.theme.verdant\":[\"[Ṽéŕðáñţ ~~~]\"],\"viewer.visibility.guides\":[\"[Ĝûîðéš ~~]\"],\"viewer.visibility.scans\":[\"[Šçáñš ~~]\"],\"viewer.visibility.title\":[\"[Ṽîšîƀîļîţý ~~~]\"],\"viewer.walkthrough.label\":[\"[Ŵáļķţĥŕöûĝĥ: \",[\"state\"],\" ~~~~]\"],\"viewer.walls.cutaway\":[\"[Çûţáŵáý ~~~]\"],\"viewer.walls.fullHeight\":[\"[Ƒûļļ ĥéîĝĥţ ~~~]\"],\"viewer.walls.label\":[\"[Ŵáļļš: \",[\"mode\"],\" ~~]\"],\"viewer.walls.low\":[\"[Ļöŵ ~]\"]}")as Messages; \ No newline at end of file +/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"app.appShell.pascalHome\":[\"[Þášçáļ ĥöɱé ~~~]\"],\"app.buildTab.addGate\":[\"[Åðð Ĝáţé ~~~]\"],\"app.buildTab.addOpenPassage\":[\"[Åðð Öþéñ Þáššáĝé ~~~~~]\"],\"app.buildTab.addToRooms\":[\"[Åðð ţö ŕööɱš ~~~]\"],\"app.buildTab.allBuildTools\":[\"[← Åļļ ƀûîļð ţööļš ~~~~]\"],\"app.buildTab.chooseGateOrOpenPassageThen\":[\"[Çĥööšé Ĝáţé öŕ Öþéñ Þáššáĝé, ţĥéñ çļîçķ îţš þöšîţîöñ öñ áñý ƒéñçé. Ƒîñð þļáçéð ĝáţéš áñð öþéñîñĝš ûñðéŕ ţĥéîŕ ƒéñçé îñ ţĥé šçéñé ĝŕáþĥ. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]\"],\"app.buildTab.clickALinesetToLayThe\":[\"[Çļîçķ á ļîñéšéţ ţö ļáý ţĥé ļîñé ƀéšîðé îţ. ~~~~~~~~~~]\"],\"app.buildTab.doubleGate\":[\"[Ðöûƀļé ĝáţé ~~~]\"],\"app.buildTab.featuresExtensions\":[\"[Ƒéáţûŕéš & éẋţéñšîöñš ~~~~~~]\"],\"app.buildTab.fenceFeatures\":[\"[Ƒéñçé ƒéáţûŕéš ~~~~]\"],\"app.buildTab.followLineset\":[\"[Ƒöļļöŵ ļîñéšéţ ~~~~]\"],\"app.buildTab.gate\":[\"[Ĝáţé ~~]\"],\"app.buildTab.gateStyle\":[\"[Ĝáţé šţýļé ~~~]\"],\"app.buildTab.horizontalBoards\":[\"[Ĥöŕîžöñţáļ ƀöáŕðš ~~~~~]\"],\"app.buildTab.hoverAFenceToPreviewClick\":[\"[Ĥöṽéŕ á ƒéñçé ţö þŕéṽîéŵ. Çļîçķ ţö þļáçé. Éšç çáñçéļš. Ļéáṽé ŕööɱ ƀéţŵééñ öþéñîñĝš. ~~~~~~~~~~~~~~~~~~~~]\"],\"app.buildTab.leaves\":[\"[Ļéáṽéš ~~]\"],\"app.buildTab.liquidLine\":[\"[Ļîǫûîð Ļîñé ~~~]\"],\"app.buildTab.matchFenceStyle\":[\"[Ṁáţçĥ ƒéñçé šţýļé ~~~~~]\"],\"app.buildTab.mep\":[\"[ṀÉÞ ~]\"],\"app.buildTab.off\":[\"[Öƒƒ ~]\"],\"app.buildTab.on\":[\"[Öñ ~]\"],\"app.buildTab.openRails\":[\"[Öþéñ ŕáîļš ~~~]\"],\"app.buildTab.opening\":[\"[Öþéñîñĝ ~~~]\"],\"app.buildTab.openingWidthM\":[\"[Öþéñîñĝ ŵîðţĥ (ɱ) ~~~~]\"],\"app.buildTab.outdoor\":[\"[Öûţðööŕ ~~~]\"],\"app.buildTab.picket\":[\"[Þîçķéţ ~~]\"],\"app.buildTab.roofType\":[\"[Ŕööƒ ţýþé ~~~]\"],\"app.buildTab.roomsAlreadyCreateTheirFloorAnd\":[\"[Ŕööɱš áļŕéáðý çŕéáţé ţĥéîŕ ƒļööŕ áñð çéîļîñĝ. Ûšé ţĥéšé ƒöŕ þļáţƒöŕɱš áñð öñé-öƒƒ šţŕûçţûŕé. ~~~~~~~~~~~~~~~~~~~~~~~]\"],\"app.buildTab.searchBuildToolsAndKitchenItems\":[\"[Šéáŕçĥ ƀûîļð ţööļš áñð ķîţçĥéñ îţéɱš ~~~~~~~~~~]\"],\"app.buildTab.searchToolsFridgeSink\":[\"[Šéáŕçĥ ţööļš, ƒŕîðĝé, šîñķ… ~~~~~~~]\"],\"app.buildTab.selectACurvedWallToMatch\":[\"[Šéļéçţ á çûŕṽéð ŵáļļ ţö ɱáţçĥ îţš ŕáðîûš áñð áŕç. ~~~~~~~~~~~~]\"],\"app.buildTab.singleGate\":[\"[Šîñĝļé ĝáţé ~~~]\"],\"app.buildTab.slabCeilingColumn\":[\"[Šļáƀ, çéîļîñĝ, çöļûɱñ… ~~~~~~]\"],\"app.buildTab.solidPrivacy\":[\"[Šöļîð þŕîṽáçý ~~~~]\"],\"app.buildTab.traceALineAlongsideAnExisting\":[\"[Ţŕáçé á ļîñé áļöñĝšîðé áñ éẋîšţîñĝ ļîñéšéţ (Ƒ). ~~~~~~~~~~~~]\"],\"app.buildTab.verticalSlats\":[\"[Ṽéŕţîçáļ šļáţš ~~~~]\"],\"app.editorNavbar.allProjects\":[\"[Åļļ þŕöĵéçţš ~~~~]\"],\"app.editorNavbar.preview\":[\"[Þŕéṽîéŵ ~~~]\"],\"app.editorNavbar.projectName\":[\"[Þŕöĵéçţ ñáɱé ~~~~]\"],\"app.editorNavbar.renameProject\":[\"[Ŕéñáɱé þŕöĵéçţ ~~~~]\"],\"app.editorNavbar.share\":[\"[Šĥáŕé ~~]\"],\"app.kitchenBrowser.addLabel\":[\"[Åðð \",[\"label\"],\" ~]\"],\"app.kitchenBrowser.addToKitchen\":[\"[Åðð ţö ķîţçĥéñ ~~~~]\"],\"app.kitchenBrowser.chooseAnItemThenClickTo\":[\"[Çĥööšé áñ îţéɱ, ţĥéñ çļîçķ ţö þļáçé îţ. Åþþļîáñçéš îñçļûðé ţĥéîŕ çáƀîñéţŕý. ~~~~~~~~~~~~~~~~~~~]\"],\"app.kitchenBrowser.findInThisProjectLength\":[\"[Ƒîñð îñ ţĥîš þŕöĵéçţ · \",[\"length\"],\" ~~~~~~]\"],\"app.kitchenBrowser.findName\":[\"[Ƒîñð \",[\"name\"],\" ~~]\"],\"app.kitchenBrowser.groupAdd\":[\"[Ķîţçĥéñ · Åðð ~~~]\"],\"app.kitchenBrowser.groupInThisProject\":[\"[Ķîţçĥéñ · Îñ ţĥîš þŕöĵéçţ ~~~~~~]\"],\"app.kitchenBrowser.kitchenCabinet\":[\"[Ķîţçĥéñ çáƀîñéţ ~~~~~]\"],\"app.kitchenBrowser.noMatchingKitchenItemsPlacedYet\":[\"[Ñö ɱáţçĥîñĝ ķîţçĥéñ îţéɱš þļáçéð ýéţ. ~~~~~~~~~~]\"],\"app.kitchenBrowser.selectAndShowInScene\":[\"[Šéļéçţ áñð šĥöŵ îñ šçéñé ~~~~~~]\"],\"app.lib.buildPalette.ceiling\":[\"[Çéîļîñĝ ~~~]\"],\"app.lib.buildPalette.column\":[\"[Çöļûɱñ ~~]\"],\"app.lib.buildPalette.door\":[\"[Ðööŕ ~~]\"],\"app.lib.buildPalette.duct\":[\"[Ðûçţ ~~]\"],\"app.lib.buildPalette.dwvPipe\":[\"[ÐŴṼ Þîþé ~~~]\"],\"app.lib.buildPalette.elevator\":[\"[Éļéṽáţöŕ ~~~]\"],\"app.lib.buildPalette.fence\":[\"[Ƒéñçé ~~]\"],\"app.lib.buildPalette.hvacUnit\":[\"[ĤṼÅÇ Ûñîţ ~~~]\"],\"app.lib.buildPalette.kitchen\":[\"[Ķîţçĥéñ ~~~]\"],\"app.lib.buildPalette.lineset\":[\"[Ļîñéšéţ ~~~]\"],\"app.lib.buildPalette.liquidLine\":[\"[Ļîǫûîð Ļîñé ~~~]\"],\"app.lib.buildPalette.mep\":[\"[ṀÉÞ ~]\"],\"app.lib.buildPalette.register\":[\"[Ŕéĝîšţéŕ ~~~]\"],\"app.lib.buildPalette.roof\":[\"[Ŕööƒ ~~]\"],\"app.lib.buildPalette.shelf\":[\"[Šĥéļƒ ~~]\"],\"app.lib.buildPalette.slab\":[\"[Šļáƀ ~~]\"],\"app.lib.buildPalette.spawnPoint\":[\"[Šþáŵñ þöîñţ ~~~]\"],\"app.lib.buildPalette.stairs\":[\"[Šţáîŕš ~~]\"],\"app.lib.buildPalette.terrace\":[\"[Ţéŕŕáçé ~~~]\"],\"app.lib.buildPalette.terrain\":[\"[Ţéŕŕáîñ ~~~]\"],\"app.lib.buildPalette.wall\":[\"[Ŵáļļ ~~]\"],\"app.lib.buildPalette.window\":[\"[Ŵîñðöŵ ~~]\"],\"app.lib.buildPanelModel.addFitting\":[\"[Åðð Ƒîţţîñĝ ~~~]\"],\"app.lib.buildPanelModel.addGate\":[\"[Åðð Ĝáţé ~~~]\"],\"app.lib.buildPanelModel.addOpenPassage\":[\"[Åðð Öþéñ Þáššáĝé ~~~~~]\"],\"app.lib.buildPanelModel.addTrap\":[\"[Åðð Ţŕáþ ~~~]\"],\"app.lib.buildPanelModel.build\":[\"[Ɓûîļð ~~]\"],\"app.lib.buildPanelModel.createFrom\":[\"[Çŕéáţé ƒŕöɱ ~~~]\"],\"app.lib.buildPanelModel.drawTheRoofFootprintWithTwo\":[\"[Ðŕáŵ ţĥé ŕööƒ ƒööţþŕîñţ ŵîţĥ ţŵö çöŕñéŕ çļîçķš. ~~~~~~~~~~~~]\"],\"app.lib.buildPanelModel.duct\":[\"[Ðûçţ ~~]\"],\"app.lib.buildPanelModel.dwvPipe\":[\"[ÐŴṼ Þîþé ~~~]\"],\"app.lib.buildPanelModel.featuresExtensions\":[\"[Ƒéáţûŕéš & éẋţéñšîöñš ~~~~~~]\"],\"app.lib.buildPanelModel.fence\":[\"[Ƒéñçé ~~]\"],\"app.lib.buildPanelModel.followLineset\":[\"[Ƒöļļöŵ ļîñéšéţ ~~~~]\"],\"app.lib.buildPanelModel.gatesOpenings\":[\"[Ĝáţéš & öþéñîñĝš ~~~~]\"],\"app.lib.buildPanelModel.hoverARoomToPreviewIts\":[\"[Ĥöṽéŕ á ŕööɱ ţö þŕéṽîéŵ îţš ƀöûñðáŕý, ţĥéñ çļîçķ ţö þļáçé. ~~~~~~~~~~~~~~]\"],\"app.lib.buildPanelModel.kitchen\":[\"[Ķîţçĥéñ ~~~]\"],\"app.lib.buildPanelModel.mep\":[\"[ṀÉÞ ~]\"],\"app.lib.buildPanelModel.modularCabinet\":[\"[Ṁöðûļáŕ Çáƀîñéţ ~~~~~]\"],\"app.lib.buildPanelModel.off\":[\"[Öƒƒ ~]\"],\"app.lib.buildPanelModel.on\":[\"[Öñ ~]\"],\"app.lib.buildPanelModel.painting\":[\"[Þáîñţîñĝ ~~~]\"],\"app.lib.buildPanelModel.roof\":[\"[Ŕööƒ ~~]\"],\"app.lib.buildPanelModel.roofType\":[\"[Ŕööƒ ţýþé ~~~]\"],\"app.lib.buildPanelModel.toolCount\":[\"[\",[\"count\",\"plural\",{\"one\":[\"#\",\" ţööļ\"],\"other\":[\"#\",\" ţööļš\"]}],\" ~~~]\"],\"app.lib.buildTabState.conical\":[\"[Çöñîçáļ ~~~]\"],\"app.lib.buildTabState.draw\":[\"[Ðŕáŵ ~~]\"],\"app.lib.buildTabState.dutch\":[\"[Ðûţçĥ ~~]\"],\"app.lib.buildTabState.flat\":[\"[Ƒļáţ ~~]\"],\"app.lib.buildTabState.gable\":[\"[Ĝáƀļé ~~]\"],\"app.lib.buildTabState.gambrel\":[\"[Ĝáɱƀŕéļ ~~~]\"],\"app.lib.buildTabState.hip\":[\"[Ĥîþ ~]\"],\"app.lib.buildTabState.mansard\":[\"[Ṁáñšáŕð ~~~]\"],\"app.lib.buildTabState.room\":[\"[Ŕööɱ ~~]\"],\"app.lib.buildTabState.shed\":[\"[Šĥéð ~~]\"],\"app.lib.buildTabState.wall\":[\"[Ŵáļļ ~~]\"],\"app.sharePanel.anyoneWithTheLinkCanView\":[\"[Åñýöñé ŵîţĥ ţĥé ļîñķ çáñ ṽîéŵ ţĥîš þŕöĵéçţ. Ţĥéý çáññöţ éðîţ îţ. ~~~~~~~~~~~~~~~~]\"],\"app.sharePanel.copied\":[\"[Çöþîéð ~~]\"],\"app.sharePanel.copy\":[\"[Çöþý ~~]\"],\"app.sharePanel.couldNotReadTheSharingState\":[\"[Çöûļð ñöţ ŕéáð ţĥé šĥáŕîñĝ šţáţé. ~~~~~~~~~]\"],\"app.sharePanel.couldNotTurnOffThePublic\":[\"[Çöûļð ñöţ ţûŕñ öƒƒ ţĥé þûƀļîç ļîñķ. ~~~~~~~~~]\"],\"app.sharePanel.couldNotTurnOnThePublic\":[\"[Çöûļð ñöţ ţûŕñ öñ ţĥé þûƀļîç ļîñķ. ~~~~~~~~~]\"],\"app.sharePanel.embedCode\":[\"[Éɱƀéð çöðé ~~~]\"],\"app.sharePanel.embedLink\":[\"[Éɱƀéð ļîñķ ~~~]\"],\"app.sharePanel.hideControls\":[\"[Ĥîðé çöñţŕöļš ~~~~]\"],\"app.sharePanel.link\":[\"[Ļîñķ ~~]\"],\"app.sharePanel.onlyThe3dViewNoHeader\":[\"[Öñļý ţĥé 3Ð ṽîéŵ, ñö ĥéáðéŕ öŕ ţööļƀáŕ. ~~~~~~~~~]\"],\"app.sharePanel.open\":[\"[Öþéñ ~~]\"],\"app.sharePanel.publicLink\":[\"[Þûƀļîç ļîñķ ~~~]\"],\"app.sharePanel.shareProject\":[\"[Šĥáŕé þŕöĵéçţ ~~~~]\"],\"app.viewerToolbar.automaticDimensions\":[\"[Åûţöɱáţîç ðîɱéñšîöñš ~~~~~~]\"],\"app.viewerToolbar.camera\":[\"[Çáɱéŕá ~~]\"],\"app.viewerToolbar.cleanPlanDimensionsAppearWithSelection\":[\"[Çļéáñ þļáñ; ðîɱéñšîöñš áþþéáŕ ŵîţĥ šéļéçţîöñ ~~~~~~~~~~~~]\"],\"app.viewerToolbar.collapseSidebar\":[\"[Çöļļáþšé šîðéƀáŕ ~~~~~]\"],\"app.viewerToolbar.crispOpaqueEdgeLines\":[\"[Çŕîšþ, öþáǫûé éðĝé ļîñéš ~~~~~~]\"],\"app.viewerToolbar.cutaway\":[\"[Çûţáŵáý ~~~]\"],\"app.viewerToolbar.default\":[\"[Ðéƒáûļţ ~~~]\"],\"app.viewerToolbar.display\":[\"[Ðîšþļáý ~~~]\"],\"app.viewerToolbar.displaySettings\":[\"[Ðîšþļáý šéţţîñĝš ~~~~~]\"],\"app.viewerToolbar.doorWindowMarks\":[\"[Ðööŕ/ŵîñðöŵ ɱáŕķš ~~~~~]\"],\"app.viewerToolbar.edges\":[\"[Éðĝéš ~~]\"],\"app.viewerToolbar.enterVr\":[\"[Éñţéŕ ṼŔ ~~~]\"],\"app.viewerToolbar.exitVr\":[\"[Éẋîţ ṼŔ ~~]\"],\"app.viewerToolbar.expandSidebar\":[\"[Éẋþáñð šîðéƀáŕ ~~~~]\"],\"app.viewerToolbar.expert\":[\"[Éẋþéŕţ ~~]\"],\"app.viewerToolbar.exploded\":[\"[Éẋþļöðéð ~~~]\"],\"app.viewerToolbar.faceOfStud\":[\"[Ƒáçé öƒ šţûð ~~~]\"],\"app.viewerToolbar.faintOutlineOfMajorCreases\":[\"[Ƒáîñţ öûţļîñé öƒ ɱáĵöŕ çŕéášéš ~~~~~~~~]\"],\"app.viewerToolbar.feetInches\":[\"[Ƒééţ & îñçĥéš ~~~]\"],\"app.viewerToolbar.finishedFaces\":[\"[Ƒîñîšĥéð ƒáçéš ~~~~]\"],\"app.viewerToolbar.flatAndFastNoAmbientOcclusion\":[\"[Ƒļáţ áñð ƒášţ — ñö áɱƀîéñţ öççļûšîöñ ~~~~~~~~~]\"],\"app.viewerToolbar.floorPlanAnnotations\":[\"[Ƒļööŕ þļáñ áññöţáţîöñš ~~~~~~]\"],\"app.viewerToolbar.floorPlanMode\":[\"[Ƒļööŕ þļáñ ɱöðé ~~~~]\"],\"app.viewerToolbar.fullAmbientOcclusion\":[\"[Ƒûļļ áɱƀîéñţ öççļûšîöñ ~~~~~~]\"],\"app.viewerToolbar.fullDocumentationAndAnnotationControls\":[\"[Ƒûļļ ðöçûɱéñţáţîöñ áñð áññöţáţîöñ çöñţŕöļš ~~~~~~~~~~~~]\"],\"app.viewerToolbar.fullHeight\":[\"[Ƒûļļ ĥéîĝĥţ ~~~]\"],\"app.viewerToolbar.fullWallThickness\":[\"[Ƒûļļ ŵáļļ ţĥîçķñéšš ~~~~~~]\"],\"app.viewerToolbar.grid\":[\"[Ĝŕîð ~~]\"],\"app.viewerToolbar.levelsMode\":[\"[Ļéṽéļš: \",[\"mode\"],\" ~~]\"],\"app.viewerToolbar.low\":[\"[Ļöŵ ~]\"],\"app.viewerToolbar.magneticSnap\":[\"[Ṁáĝñéţîç šñáþ ~~~~]\"],\"app.viewerToolbar.manual\":[\"[Ṁáñûáļ ~~]\"],\"app.viewerToolbar.manualDimensions\":[\"[Ṁáñûáļ ðîɱéñšîöñš ~~~~~]\"],\"app.viewerToolbar.measurements\":[\"[Ṁéášûŕéɱéñţš ~~~~]\"],\"app.viewerToolbar.meters\":[\"[Ṁéţéŕš ~~]\"],\"app.viewerToolbar.millimeters\":[\"[Ṁîļļîɱéţéŕš ~~~~]\"],\"app.viewerToolbar.n3dMeasurements\":[\"[3Ð ɱéášûŕéɱéñţš ~~~~]\"],\"app.viewerToolbar.noEdgeLines\":[\"[Ñö éðĝé ļîñéš ~~~~]\"],\"app.viewerToolbar.off\":[\"[Öƒƒ ~]\"],\"app.viewerToolbar.on\":[\"[Öñ ~]\"],\"app.viewerToolbar.orthographic\":[\"[Öŕţĥöĝŕáþĥîç ~~~~]\"],\"app.viewerToolbar.perspective\":[\"[Þéŕšþéçţîṽé ~~~~]\"],\"app.viewerToolbar.preview\":[\"[Þŕéṽîéŵ ~~~]\"],\"app.viewerToolbar.previewMode\":[\"[Þŕéṽîéŵ ɱöðé ~~~~]\"],\"app.viewerToolbar.render\":[\"[Ŕéñðéŕ ~~]\"],\"app.viewerToolbar.rendered\":[\"[Ŕéñðéŕéð ~~~]\"],\"app.viewerToolbar.roomLabels\":[\"[Ŕööɱ ļáƀéļš ~~~]\"],\"app.viewerToolbar.sceneTheme\":[\"[Šçéñé ţĥéɱé ~~~]\"],\"app.viewerToolbar.shadows\":[\"[Šĥáðöŵš ~~~]\"],\"app.viewerToolbar.singleWallAxis\":[\"[Šîñĝļé ŵáļļ áẋîš ~~~~~]\"],\"app.viewerToolbar.soft\":[\"[Šöƒţ ~~]\"],\"app.viewerToolbar.solid\":[\"[Šöļîð ~~]\"],\"app.viewerToolbar.solo\":[\"[Šöļö ~~]\"],\"app.viewerToolbar.stack\":[\"[Šţáçķ ~~]\"],\"app.viewerToolbar.stairAnnotations\":[\"[Šţáîŕ áññöţáţîöñš ~~~~~]\"],\"app.viewerToolbar.strong\":[\"[Šţŕöñĝ ~~]\"],\"app.viewerToolbar.structuralCoreFace\":[\"[Šţŕûçţûŕáļ çöŕé ƒáçé ~~~~~~]\"],\"app.viewerToolbar.structuralGridsColumnCenters\":[\"[Šţŕûçţûŕáļ ĝŕîðš & çöļûɱñ çéñţéŕš ~~~~~~~~~]\"],\"app.viewerToolbar.translucent\":[\"[Ţŕáñšļûçéñţ ~~~~]\"],\"app.viewerToolbar.units\":[\"[Ûñîţš ~~]\"],\"app.viewerToolbar.walkthrough\":[\"[Ŵáļķţĥŕöûĝĥ ~~~~]\"],\"app.viewerToolbar.wallCenterline\":[\"[Ŵáļļ çéñţéŕļîñé ~~~~~]\"],\"app.viewerToolbar.wallDimensions\":[\"[Ŵáļļ ðîɱéñšîöñš ~~~~~]\"],\"app.viewerToolbar.wallsLabel\":[\"[Ŵáļļš: \",[\"label\"],\" ~~]\"],\"core.level.basement\":[\"[Ɓášéɱéñţ ~~~]\"],\"core.level.basementNumber\":[\"[Ɓášéɱéñţ \",[\"number\"],\" ~~~]\"],\"core.level.floorNumber\":[\"[Ƒļööŕ \",[\"number\"],\" ~~]\"],\"core.level.groundFloor\":[\"[Ĝŕöûñð ƒļööŕ ~~~~]\"],\"editor.actionMenu.cameraActions.orbitLeft\":[\"[Öŕƀîţ Ļéƒţ ~~~]\"],\"editor.actionMenu.cameraActions.orbitRight\":[\"[Öŕƀîţ Ŕîĝĥţ ~~~]\"],\"editor.actionMenu.cameraActions.topView\":[\"[Ţöþ Ṽîéŵ ~~~]\"],\"editor.actionMenu.controlModes.delete\":[\"[Ðéļéţé ~~]\"],\"editor.actionMenu.controlModes.select\":[\"[Šéļéçţ ~~]\"],\"editor.actionMenu.followPascalPill.resumeFollowing\":[\"[Ŕéšûɱé ƒöļļöŵîñĝ ~~~~~]\"],\"editor.actionMenu.followPascalToggle.off\":[\"[Ƒöļļöŵ Þášçáļ: Öƒƒ ~~~~~]\"],\"editor.actionMenu.followPascalToggle.on\":[\"[Ƒöļļöŵ Þášçáļ: Öñ ~~~~~]\"],\"editor.actionMenu.furnishTools.appliance\":[\"[Åþþļîáñçé ~~~]\"],\"editor.actionMenu.furnishTools.bathroom\":[\"[Ɓáţĥŕööɱ ~~~]\"],\"editor.actionMenu.furnishTools.furniture\":[\"[Ƒûŕñîţûŕé ~~~]\"],\"editor.actionMenu.furnishTools.kitchen\":[\"[Ķîţçĥéñ ~~~]\"],\"editor.actionMenu.furnishTools.outdoor\":[\"[Öûţðööŕ ~~~]\"],\"editor.actionMenu.measurementControl.angle\":[\"[Åñĝļé ~~]\"],\"editor.actionMenu.measurementControl.angularDimension\":[\"[Åñĝûļáŕ ðîɱéñšîöñ ~~~~~]\"],\"editor.actionMenu.measurementControl.arcLength\":[\"[Åŕç ļéñĝţĥ ~~~]\"],\"editor.actionMenu.measurementControl.area\":[\"[Åŕéá ~~]\"],\"editor.actionMenu.measurementControl.centerMark\":[\"[Çéñţéŕ ɱáŕķ ~~~]\"],\"editor.actionMenu.measurementControl.chordDimension\":[\"[Çĥöŕð ðîɱéñšîöñ ~~~~~]\"],\"editor.actionMenu.measurementControl.continuousDimension\":[\"[Çöñţîñûöûš ðîɱéñšîöñ ~~~~~~]\"],\"editor.actionMenu.measurementControl.coordinateDimensions\":[\"[Çööŕðîñáţé ðîɱéñšîöñš ~~~~~~]\"],\"editor.actionMenu.measurementControl.diameterDimension\":[\"[Ðîáɱéţéŕ ðîɱéñšîöñ ~~~~~~]\"],\"editor.actionMenu.measurementControl.distance\":[\"[Ðîšţáñçé ~~~]\"],\"editor.actionMenu.measurementControl.floorPlan\":[\"[Ƒļööŕ þļáñ ~~~]\"],\"editor.actionMenu.measurementControl.linearDimension\":[\"[Ļîñéáŕ ðîɱéñšîöñ ~~~~~]\"],\"editor.actionMenu.measurementControl.measureSelectedlabel\":[\"[Ṁéášûŕé: \",[\"selectedLabel\"],\" ~~~]\"],\"editor.actionMenu.measurementControl.measurementOptions\":[\"[Ṁéášûŕéɱéñţ öþţîöñš ~~~~~~]\"],\"editor.actionMenu.measurementControl.measurementType\":[\"[Ṁéášûŕéɱéñţ ţýþé ~~~~~]\"],\"editor.actionMenu.measurementControl.perimeter\":[\"[Þéŕîɱéţéŕ ~~~]\"],\"editor.actionMenu.measurementControl.radiusDimension\":[\"[Ŕáðîûš ðîɱéñšîöñ ~~~~~]\"],\"editor.actionMenu.measurementControl.smart\":[\"[Šɱáŕţ ~~]\"],\"editor.actionMenu.measurementControl.volume\":[\"[Ṽöļûɱé ~~]\"],\"editor.actionMenu.pointAskButton.pointAndAsk\":[\"[Þöîñţ áñð ášķ ~~~~]\"],\"editor.actionMenu.pointAskButton.pointAndAskC\":[\"[Þöîñţ áñð ášķ (Ç) ~~~~]\"],\"editor.actionMenu.pointAskButton.pointAndAskWorksInThe\":[\"[Þöîñţ áñð ášķ ŵöŕķš îñ ţĥé 3Ð ṽîéŵ ~~~~~~~~]\"],\"editor.actionMenu.structureTools.ceiling\":[\"[Çéîļîñĝ ~~~]\"],\"editor.actionMenu.structureTools.column\":[\"[Çöļûɱñ ~~]\"],\"editor.actionMenu.structureTools.door\":[\"[Ðööŕ ~~]\"],\"editor.actionMenu.structureTools.duct\":[\"[Ðûçţ ~~]\"],\"editor.actionMenu.structureTools.ductFitting\":[\"[Ðûçţ Ƒîţţîñĝ ~~~~]\"],\"editor.actionMenu.structureTools.dwvPipe\":[\"[ÐŴṼ Þîþé ~~~]\"],\"editor.actionMenu.structureTools.elevator\":[\"[Éļéṽáţöŕ ~~~]\"],\"editor.actionMenu.structureTools.fence\":[\"[Ƒéñçé ~~]\"],\"editor.actionMenu.structureTools.gableRoof\":[\"[Ĝáƀļé Ŕööƒ ~~~]\"],\"editor.actionMenu.structureTools.hvacUnit\":[\"[ĤṼÅÇ Ûñîţ ~~~]\"],\"editor.actionMenu.structureTools.lineset\":[\"[Ļîñéšéţ ~~~]\"],\"editor.actionMenu.structureTools.liquidLine\":[\"[Ļîǫûîð Ļîñé ~~~]\"],\"editor.actionMenu.structureTools.pipeFitting\":[\"[Þîþé Ƒîţţîñĝ ~~~~]\"],\"editor.actionMenu.structureTools.register\":[\"[Ŕéĝîšţéŕ ~~~]\"],\"editor.actionMenu.structureTools.shelf\":[\"[Šĥéļƒ ~~]\"],\"editor.actionMenu.structureTools.slab\":[\"[Šļáƀ ~~]\"],\"editor.actionMenu.structureTools.spawnPoint\":[\"[Šþáŵñ Þöîñţ ~~~]\"],\"editor.actionMenu.structureTools.stairs\":[\"[Šţáîŕš ~~]\"],\"editor.actionMenu.structureTools.trap\":[\"[Ţŕáþ ~~]\"],\"editor.actionMenu.structureTools.wall\":[\"[Ŵáļļ ~~]\"],\"editor.actionMenu.structureTools.window\":[\"[Ŵîñðöŵ ~~]\"],\"editor.actionMenu.structureTools.zone\":[\"[Žöñé ~~]\"],\"editor.actionMenu.viewToggles.deleteGuideImage\":[\"[Ðéļéţé ĝûîðé îɱáĝé ~~~~~]\"],\"editor.actionMenu.viewToggles.deleteScan\":[\"[Ðéļéţé šçáñ ~~~]\"],\"editor.actionMenu.viewToggles.guideCount\":[\"[\",[\"count\",\"plural\",{\"one\":[\"#\",\" ĝûîðé îɱáĝé öñ ţĥîš ļéṽéļ\"],\"other\":[\"#\",\" ĝûîðé îɱáĝéš öñ ţĥîš ļéṽéļ\"]}],\" ~~~~~~~~~~~~~]\"],\"editor.actionMenu.viewToggles.guideImageNumber\":[\"[Ĝûîðé îɱáĝé \",[\"number\"],\" ~~~]\"],\"editor.actionMenu.viewToggles.guideImageSettings\":[\"[Ĝûîðé îɱáĝé šéţţîñĝš ~~~~~~]\"],\"editor.actionMenu.viewToggles.guideImages\":[\"[Ĝûîðé îɱáĝéš ~~~~]\"],\"editor.actionMenu.viewToggles.guides\":[\"[Ĝûîðéš ~~]\"],\"editor.actionMenu.viewToggles.guidesHidden\":[\"[Ĝûîðéš: Ĥîððéñ ~~~~]\"],\"editor.actionMenu.viewToggles.guidesVisible\":[\"[Ĝûîðéš: Ṽîšîƀļé ~~~~]\"],\"editor.actionMenu.viewToggles.hideGuideImages\":[\"[Ĥîðé ĝûîðé îɱáĝéš ~~~~~]\"],\"editor.actionMenu.viewToggles.hideReferenceFloor\":[\"[Ĥîðé ŕéƒéŕéñçé ƒļööŕ ~~~~~~]\"],\"editor.actionMenu.viewToggles.hideScans\":[\"[Ĥîðé šçáñš ~~~]\"],\"editor.actionMenu.viewToggles.levelsBelow\":[\"[\",[\"count\"],\" ƀéļöŵ ~~]\"],\"editor.actionMenu.viewToggles.noLowerFloorAvailable\":[\"[Ñö ļöŵéŕ ƒļööŕ áṽáîļáƀļé. ~~~~~~~]\"],\"editor.actionMenu.viewToggles.opacity\":[\"[Öþáçîţý ~~~]\"],\"editor.actionMenu.viewToggles.referenceFloor\":[\"[Ŕéƒéŕéñçé ƒļööŕ ~~~~~]\"],\"editor.actionMenu.viewToggles.referenceFloorSelectedlevelname\":[\"[Ŕéƒéŕéñçé ƒļööŕ: \",[\"selectedLevelName\"],\" ~~~~~]\"],\"editor.actionMenu.viewToggles.referenceFloorSettings\":[\"[Ŕéƒéŕéñçé ƒļööŕ šéţţîñĝš ~~~~~~~]\"],\"editor.actionMenu.viewToggles.referenceSettings\":[\"[Ŕéƒéŕéñçé šéţţîñĝš ~~~~~~]\"],\"editor.actionMenu.viewToggles.references\":[\"[Ŕéƒéŕéñçéš ~~~]\"],\"editor.actionMenu.viewToggles.referencesEmpty\":[\"[Ûþļöáð ĜĻƁ ɱéšĥéš áš šçáñ ŕéƒéŕéñçéš öŕ ƀļûéþŕîñţ îɱáĝéš áš ĝûîðé ŕéƒéŕéñçéš. ~~~~~~~~~~~~~~~~~~~~]\"],\"editor.actionMenu.viewToggles.referencesHidden\":[\"[Ŕéƒéŕéñçéš: Ĥîððéñ ~~~~~]\"],\"editor.actionMenu.viewToggles.referencesVisible\":[\"[Ŕéƒéŕéñçéš: Ṽîšîƀļé ~~~~~~]\"],\"editor.actionMenu.viewToggles.riserDiagram\":[\"[Ŕîšéŕ ðîáĝŕáɱ ~~~~]\"],\"editor.actionMenu.viewToggles.scanCount\":[\"[\",[\"count\",\"plural\",{\"one\":[\"#\",\" šçáñ öñ ţĥîš ļéṽéļ\"],\"other\":[\"#\",\" šçáñš öñ ţĥîš ļéṽéļ\"]}],\" ~~~~~~~~~~]\"],\"editor.actionMenu.viewToggles.scanNumber\":[\"[Šçáñ \",[\"number\"],\" ~~]\"],\"editor.actionMenu.viewToggles.scanSettings\":[\"[Šçáñ šéţţîñĝš ~~~~]\"],\"editor.actionMenu.viewToggles.scans\":[\"[Šçáñš ~~]\"],\"editor.actionMenu.viewToggles.scansHidden\":[\"[Šçáñš: Ĥîððéñ ~~~~]\"],\"editor.actionMenu.viewToggles.scansVisible\":[\"[Šçáñš: Ṽîšîƀļé ~~~~]\"],\"editor.actionMenu.viewToggles.showGuideImages\":[\"[Šĥöŵ ĝûîðé îɱáĝéš ~~~~~]\"],\"editor.actionMenu.viewToggles.showReferenceFloor\":[\"[Šĥöŵ ŕéƒéŕéñçé ƒļööŕ ~~~~~~]\"],\"editor.actionMenu.viewToggles.showScans\":[\"[Šĥöŵ šçáñš ~~~]\"],\"editor.actionMenu.viewToggles.uploadScanOrGuideImage\":[\"[Ûþļöáð šçáñ öŕ ĝûîðé îɱáĝé ~~~~~~~]\"],\"editor.backToHome\":[\"[Ɓáçķ ţö ĥöɱé ~~~]\"],\"editor.buildPanel.advanced\":[\"[Åðṽáñçéð ~~~]\"],\"editor.buildPanel.rooms.hint\":[\"[ŵáļļš · ƒļööŕ · çéîļîñĝ ~~~~~~]\"],\"editor.buildPanel.rooms.idle\":[\"[Þîçķ á šĥáþé ţö šţáŕţ. Éṽéŕý ŕööɱ ƀŕîñĝš îţš öŵñ ŵáļļš, ƒļööŕ áñð çéîļîñĝ. ~~~~~~~~~~~~~~~~~~]\"],\"editor.buildPanel.rooms.polygon.caption\":[\"[\",[\"lead\"],\" ţĥéñ ţĥé ƒîŕšţ öñé áĝáîñ ţö çļöšé. Ƒöŕ Ļ-šĥáþéš áñð áñĝļéð ŕööɱš. ~~~~~~~~~~~~~~~~]\"],\"editor.buildPanel.rooms.polygon.label\":[\"[Þöļýĝöñ ~~~]\"],\"editor.buildPanel.rooms.polygon.lead\":[\"[Çļîçķ éáçĥ çöŕñéŕ, ~~~~~]\"],\"editor.buildPanel.rooms.polygon.title\":[\"[Þöļýĝöñ ŕööɱ ~~~~]\"],\"editor.buildPanel.rooms.rectangle.caption\":[\"[\",[\"lead\"],\" öñ ţĥé ĝŕîð. Ŵáļļš, ƒļööŕ áñð çéîļîñĝ áŕé çŕéáţéð ţöĝéţĥéŕ. ~~~~~~~~~~~~~~~]\"],\"editor.buildPanel.rooms.rectangle.label\":[\"[Ŕéçţáñĝļé ~~~]\"],\"editor.buildPanel.rooms.rectangle.lead\":[\"[Çļîçķ ţŵö çöŕñéŕš ~~~~~]\"],\"editor.buildPanel.rooms.rectangle.title\":[\"[Ŕéçţáñĝļé ŕööɱ ~~~~]\"],\"editor.buildPanel.rooms.title\":[\"[Ŕööɱš ~~]\"],\"editor.buildPanel.rooms.walls.caption\":[\"[\",[\"lead\"],\" Çļöšé á ļööþ áñð îţ ƀéçöɱéš á ŕööɱ; ļéáṽé îţ öþéñ ƒöŕ þáŕţîţîöñš. ~~~~~~~~~~~~~~~~]\"],\"editor.buildPanel.rooms.walls.label\":[\"[Ŵáļļš ~~]\"],\"editor.buildPanel.rooms.walls.lead\":[\"[Ðŕáŵ öñé ŵáļļ áţ á ţîɱé. ~~~~~~]\"],\"editor.buildPanel.rooms.walls.title\":[\"[Ŵáļļš ~~]\"],\"editor.cameraControlsHint\":[\"[Çáɱéŕá çöñţŕöļš ĥîñţ ~~~~~~]\"],\"editor.cameraHint.pan\":[\"[Þáñ ~]\"],\"editor.cameraHint.rotate\":[\"[Ŕöţáţé ~~]\"],\"editor.cameraHint.zoom\":[\"[Žööɱ ~~]\"],\"editor.dismiss\":[\"[Ðîšɱîšš ~~~]\"],\"editor.dismissCameraControlsHint\":[\"[Ðîšɱîšš çáɱéŕá çöñţŕöļš ĥîñţ ~~~~~~~~]\"],\"editor.expandSidebar\":[\"[Éẋþáñð šîðéƀáŕ ~~~~]\"],\"editor.floatingActionMenu.axis\":[\"[Åẋîš ~~]\"],\"editor.floatingActionMenu.axis2\":[\"[⌥ áẋîš ~~]\"],\"editor.floatingActionMenu.noEquipment\":[\"[⚠ ñö éǫûîþɱéñţ ~~~~]\"],\"editor.floatingActionMenu.rTRotate\":[\"[Ŕ/Ţ ŕöţáţé ~~~]\"],\"editor.floatingActionMenu.registerCount\":[\"[\",[\"count\",\"plural\",{\"one\":[\"#\",\" ŕéĝîšţéŕ\"],\"other\":[\"#\",\" ŕéĝîšţéŕš\"]}],\" ~~~~~~]\"],\"editor.floatingActionMenu.runCount\":[\"[\",[\"count\",\"plural\",{\"one\":[\"#\",\" ŕûñ\"],\"other\":[\"#\",\" ŕûñš\"]}],\" ~~~]\"],\"editor.floatingActionMenu.system\":[\"[Šýšţéɱ ~~]\"],\"editor.helpers.buildingHelper.cancel\":[\"[Çáñçéļ ~~]\"],\"editor.helpers.buildingHelper.placeBuilding\":[\"[Þļáçé ƀûîļðîñĝ ~~~~]\"],\"editor.helpers.buildingHelper.rotate\":[\"[Ŕöţáţé ~~]\"],\"editor.helpers.contextualHelperPanel.cancelPlacement\":[\"[Çáñçéļ þļáçéɱéñţ ~~~~~]\"],\"editor.helpers.contextualHelperPanel.continuationClickOrPressCTo\":[\"[Çöñţîñûáţîöñ — çļîçķ öŕ þŕéšš Ç ţö çýçļé ~~~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.continuationLabel\":[\"[Çöñţîñûáţîöñ: \",[\"label\"],\" ~~~~]\"],\"editor.helpers.contextualHelperPanel.dragToDrawFence\":[\"[Ðŕáĝ ţö ðŕáŵ ƒéñçé ~~~~~]\"],\"editor.helpers.contextualHelperPanel.eraseScope\":[\"[Éŕášé: \",[\"scope\"],\" ~~]\"],\"editor.helpers.contextualHelperPanel.eraseScopeClickOrPressShift\":[\"[Éŕášé šçöþé — çļîçķ öŕ þŕéšš Šĥîƒţ ţö çýçļé ~~~~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.eraseScopeLabel\":[\"[Éŕášé šçöþé: \",[\"scope\"],\" ~~~]\"],\"editor.helpers.contextualHelperPanel.fenceTypeClickOrPressT\":[\"[Ƒéñçé ţýþé — çļîçķ öŕ þŕéšš Ţ ţö šŵîţçĥ ƀéţŵééñ šţŕáîĝĥţ, çûŕṽéð áñð ƒŕééĥáñð ~~~~~~~~~~~~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.fewerShortcuts\":[\"[Ƒéŵéŕ šĥöŕţçûţš ~~~~~]\"],\"editor.helpers.contextualHelperPanel.finishCurveOrDoubleClick\":[\"[Ƒîñîšĥ çûŕṽé (öŕ ðöûƀļé-çļîçķ) ~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.gridLength\":[\"[Ĝŕîð: \",[\"length\"],\" ~~]\"],\"editor.helpers.contextualHelperPanel.gridStepClickOrTapCtrl\":[\"[Ĝŕîð šţéþ — çļîçķ öŕ ţáþ Çţŕļ ţö çýçļé ~~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.gridStepLength\":[\"[Ĝŕîð šţéþ: \",[\"length\"],\" ~~~]\"],\"editor.helpers.contextualHelperPanel.hoverAPaintedSurfaceToErase\":[\"[Ĥöṽéŕ á þáîñţéð šûŕƒáçé ţö éŕášé ~~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.hoverASurfaceToPaint\":[\"[Ĥöṽéŕ á šûŕƒáçé ţö þáîñţ ~~~~~~]\"],\"editor.helpers.contextualHelperPanel.hoverASurfaceToPickIts\":[\"[Ĥöṽéŕ á šûŕƒáçé ţö þîçķ îţš ɱáţéŕîáļ ~~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.moreShortcuts\":[\"[Ṁöŕé šĥöŕţçûţš ~~~~]\"],\"editor.helpers.contextualHelperPanel.paintScope\":[\"[Þáîñţ: \",[\"scope\"],\" ~~]\"],\"editor.helpers.contextualHelperPanel.paintScopeClickOrPressShift\":[\"[Þáîñţ šçöþé — çļîçķ öŕ þŕéšš Šĥîƒţ ţö çýçļé ~~~~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.paintScopeLabel\":[\"[Þáîñţ šçöþé: \",[\"scope\"],\" ~~~]\"],\"editor.helpers.contextualHelperPanel.pickScope\":[\"[Þîçķ: \",[\"scope\"],\" ~~]\"],\"editor.helpers.contextualHelperPanel.placeGateOnAFence\":[\"[Þļáçé ĝáţé öñ á ƒéñçé ~~~~~~]\"],\"editor.helpers.contextualHelperPanel.placePassageOnAFence\":[\"[Þļáçé þáššáĝé öñ á ƒéñçé ~~~~~~]\"],\"editor.helpers.contextualHelperPanel.selectAMaterialToPaint\":[\"[Šéļéçţ á ɱáţéŕîáļ ţö þáîñţ ~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.snappingAngles\":[\"[Šñáþþîñĝ: Åñĝļéš ~~~~~]\"],\"editor.helpers.contextualHelperPanel.snappingGrid\":[\"[Šñáþþîñĝ: Ĝŕîð ~~~~]\"],\"editor.helpers.contextualHelperPanel.snappingLines\":[\"[Šñáþþîñĝ: Ļîñéš ~~~~]\"],\"editor.helpers.contextualHelperPanel.snappingModeClickOrPressShift\":[\"[Šñáþþîñĝ ɱöðé — çļîçķ öŕ þŕéšš Šĥîƒţ ţö çýçļé ~~~~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.snappingOff\":[\"[Šñáþþîñĝ: Öƒƒ ~~~~]\"],\"editor.helpers.contextualHelperPanel.straightContinuationIsUnavailableForCurved\":[\"[Šţŕáîĝĥţ çöñţîñûáţîöñ îš ûñáṽáîļáƀļé ƒöŕ çûŕṽéð öŕ ƒŕééĥáñð ƒéñçéš ~~~~~~~~~~~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.straightContinuous\":[\"[Šţŕáîĝĥţ: Çöñţîñûöûš ~~~~~~]\"],\"editor.helpers.contextualHelperPanel.straightFenceContinuationClickOrPress\":[\"[Šţŕáîĝĥţ ƒéñçé çöñţîñûáţîöñ — çļîçķ öŕ þŕéšš Ç ţö ţöĝĝļé ~~~~~~~~~~~~~~]\"],\"editor.helpers.contextualHelperPanel.straightSingle\":[\"[Šţŕáîĝĥţ: Šîñĝļé ~~~~~]\"],\"editor.helpers.helperManager.addPoint\":[\"[Åðð þöîñţ ~~~]\"],\"editor.helpers.helperManager.addPointClickTheFirstTo\":[\"[Åðð þöîñţ · çļîçķ ţĥé ƒîŕšţ ţö çļöšé ~~~~~~~~~]\"],\"editor.helpers.helperManager.brushSize\":[\"[Ɓŕûšĥ šîžé ~~~]\"],\"editor.helpers.helperManager.cancel\":[\"[Çáñçéļ ~~]\"],\"editor.helpers.helperManager.cancelPicking\":[\"[Çáñçéļ þîçķîñĝ ~~~~]\"],\"editor.helpers.helperManager.cancelStroke\":[\"[Çáñçéļ šţŕöķé ~~~~]\"],\"editor.helpers.helperManager.done\":[\"[Ðöñé ~~]\"],\"editor.helpers.helperManager.drawTheMezzanine\":[\"[Ðŕáŵ ţĥé ɱéžžáñîñé ~~~~~]\"],\"editor.helpers.helperManager.drawTheOpening\":[\"[Ðŕáŵ ţĥé öþéñîñĝ ~~~~~]\"],\"editor.helpers.helperManager.drawTheTerrace\":[\"[Ðŕáŵ ţĥé ţéŕŕáçé ~~~~~]\"],\"editor.helpers.helperManager.exitSmartMeasure\":[\"[Éẋîţ šɱáŕţ ɱéášûŕé ~~~~~]\"],\"editor.helpers.helperManager.finish\":[\"[Ƒîñîšĥ ~~]\"],\"editor.helpers.helperManager.finishAtTheEdge\":[\"[Ƒîñîšĥ áţ ţĥé éðĝé ~~~~~]\"],\"editor.helpers.helperManager.freeMove\":[\"[Ƒŕéé ɱöṽé ~~~]\"],\"editor.helpers.helperManager.freeMoveSlideDoorsAndWindows\":[\"[Ƒŕéé ɱöṽé · šļîðé ðööŕš áñð ŵîñðöŵš ~~~~~~~~~]\"],\"editor.helpers.helperManager.holdToPickAMaterial\":[\"[Ĥöļð ţö þîçķ á ɱáţéŕîáļ ~~~~~~]\"],\"editor.helpers.helperManager.inspectSurfaceDimensions\":[\"[Îñšþéçţ šûŕƒáçé ðîɱéñšîöñš ~~~~~~~~]\"],\"editor.helpers.helperManager.paintWithThisMaterial\":[\"[Þáîñţ ŵîţĥ ţĥîš ɱáţéŕîáļ ~~~~~~~]\"],\"editor.helpers.helperManager.pickTargetHeight\":[\"[Þîçķ ţáŕĝéţ ĥéîĝĥţ ~~~~~]\"],\"editor.helpers.helperManager.pinMeasurementLens\":[\"[Þîñ ɱéášûŕéɱéñţ ļéñš ~~~~~~]\"],\"editor.helpers.helperManager.place\":[\"[Þļáçé ~~]\"],\"editor.helpers.helperManager.placeInsideTheRoom\":[\"[Þļáçé îñšîðé ţĥé ŕööɱ ~~~~~~]\"],\"editor.helpers.helperManager.pressAnywhereDragToTheOpposite\":[\"[Þŕéšš áñýŵĥéŕé, ðŕáĝ ţö ţĥé öþþöšîţé çöŕñéŕ ~~~~~~~~~~~]\"],\"editor.helpers.helperManager.raiseOrLower\":[\"[Ŕáîšé öŕ ļöŵéŕ ~~~~]\"],\"editor.helpers.helperManager.removeAPaintedPartOrReset\":[\"[Ŕéɱöṽé á þáîñţéð þáŕţ, öŕ ŕéšéţ á šûŕƒáçé ~~~~~~~~~~]\"],\"editor.helpers.helperManager.removeLastPoint\":[\"[Ŕéɱöṽé ļášţ þöîñţ ~~~~~]\"],\"editor.helpers.helperManager.resize\":[\"[Ŕéšîžé ~~]\"],\"editor.helpers.helperManager.rotate45\":[\"[Ŕöţáţé ±45° ~~]\"],\"editor.helpers.helperManager.rotateTheSelection45\":[\"[Ŕöţáţé ţĥé šéļéçţîöñ ±45° ~~~~~~]\"],\"editor.helpers.helperManager.setOneCornerThenTheOpposite\":[\"[Šéţ öñé çöŕñéŕ, ţĥéñ ţĥé öþþöšîţé ~~~~~~~~~]\"],\"editor.helpers.itemHelper.cancel\":[\"[Çáñçéļ ~~]\"],\"editor.helpers.itemHelper.forcePlace\":[\"[Ƒöŕçé þļáçé ~~~]\"],\"editor.helpers.itemHelper.place\":[\"[Þļáçé ~~]\"],\"editor.helpers.itemHelper.rotate\":[\"[Ŕöţáţé ~~]\"],\"editor.helpers.registeredToolHelper.guidedConstraintsBypassed\":[\"[Ĝûîðéð çöñšţŕáîñţš ƀýþáššéð ~~~~~~~~]\"],\"editor.lib.contextualHelp.addOrRemoveObjectsFromThe\":[\"[Åðð öŕ ŕéɱöṽé öƀĵéçţš ƒŕöɱ ţĥé šéļéçţîöñ ~~~~~~~~~~~]\"],\"editor.lib.contextualHelp.adjustOneSideSCornerRadius\":[\"[Åðĵûšţ öñé šîðé’š çöŕñéŕ ŕáðîûš ~~~~~~~~]\"],\"editor.lib.contextualHelp.clearTheSelectionOrClickOutside\":[\"[Çļéáŕ ţĥé šéļéçţîöñ (öŕ çļîçķ öûţšîðé) ~~~~~~~~~~]\"],\"editor.lib.contextualHelp.clickAHandleDotToShow\":[\"[Çļîçķ á ĥáñðļé ðöţ ţö šĥöŵ ɱöṽé áŕŕöŵš ~~~~~~~~~~]\"],\"editor.lib.contextualHelp.clickOrDragTheSelectionTo\":[\"[Çļîçķ öŕ ðŕáĝ ţĥé šéļéçţîöñ ţö ɱöṽé îţ áš öñé ~~~~~~~~~~~]\"],\"editor.lib.contextualHelp.clickTheHandleDotToShow\":[\"[Çļîçķ ţĥé ĥáñðļé ðöţ ţö šĥöŵ ɱöṽé + ŕöţáţé ĥáñðļéš ~~~~~~~~~~~~]\"],\"editor.lib.contextualHelp.detachTheJointWhileDraggingAn\":[\"[Ðéţáçĥ ţĥé ĵöîñţ ŵĥîļé ðŕáĝĝîñĝ áñ áŕŕöŵ ~~~~~~~~~~~]\"],\"editor.lib.contextualHelp.dragLeftOrRightToRotate\":[\"[Ðŕáĝ ļéƒţ öŕ ŕîĝĥţ ţö ŕöţáţé šéļéçţéð öƀĵéçţ ~~~~~~~~~~~~]\"],\"editor.lib.contextualHelp.dragSelectedMovableObject\":[\"[Ðŕáĝ šéļéçţéð ɱöṽáƀļé öƀĵéçţ ~~~~~~~~]\"],\"editor.lib.contextualHelp.groupSelectionSessionOnly\":[\"[Ĝŕöûþ šéļéçţîöñ (šéššîöñ öñļý) ~~~~~~~~]\"],\"editor.lib.contextualHelp.holdToRotateFreely\":[\"[Ĥöļð ţö ŕöţáţé ƒŕééļý ~~~~~~]\"],\"editor.lib.contextualHelp.rotate45\":[\"[Ŕöţáţé ±45° ~~]\"],\"editor.lib.contextualHelp.rotateTheSelection45\":[\"[Ŕöţáţé ţĥé šéļéçţîöñ ±45° ~~~~~~]\"],\"editor.lib.contextualHelp.rotatingFreely\":[\"[Ŕöţáţîñĝ ƒŕééļý (ñö áñĝļé šţéþ) ~~~~~~~~]\"],\"editor.lib.contextualHelp.switchTheRotationAxisYX\":[\"[Šŵîţçĥ ţĥé ŕöţáţîöñ áẋîš (Ý → Ẋ → Ž) ~~~~~~~~]\"],\"editor.lib.contextualHelp.ungroupSessionSelection\":[\"[Ûñĝŕöûþ šéššîöñ šéļéçţîöñ ~~~~~~~]\"],\"editor.lib.continuation.continuous\":[\"[Çöñţîñûöûš ~~~]\"],\"editor.lib.continuation.continuousCanopy\":[\"[Çöñţîñûöûš çáñöþý ~~~~~]\"],\"editor.lib.continuation.continuousRun\":[\"[Çöñţîñûöûš ŕûñ ~~~~]\"],\"editor.lib.continuation.curvedFence\":[\"[Çûŕṽéð ƒéñçé ~~~~]\"],\"editor.lib.continuation.freehandFence\":[\"[Ƒŕééĥáñð ƒéñçé ~~~~]\"],\"editor.lib.continuation.placeMultiple\":[\"[Þļáçé ɱûļţîþļé ~~~~]\"],\"editor.lib.continuation.placeOnce\":[\"[Þļáçé öñçé ~~~]\"],\"editor.lib.continuation.polygonRoom\":[\"[Þöļýĝöñ ŕööɱ ~~~~]\"],\"editor.lib.continuation.rectangleRoom\":[\"[Ŕéçţáñĝļé ŕööɱ ~~~~]\"],\"editor.lib.continuation.singleCabinet\":[\"[Šîñĝļé çáƀîñéţ ~~~~]\"],\"editor.lib.continuation.singleCanopy\":[\"[Šîñĝļé çáñöþý ~~~~]\"],\"editor.lib.continuation.singleFence\":[\"[Šîñĝļé ƒéñçé ~~~~]\"],\"editor.lib.continuation.walls\":[\"[Ŵáļļš ~~]\"],\"editor.lib.hudTitle.cutOpening\":[\"[Çûţ öþéñîñĝ ~~~]\"],\"editor.lib.hudTitle.divideRoom\":[\"[Ðîṽîðé ŕööɱ ~~~]\"],\"editor.lib.hudTitle.editKind\":[\"[Éðîţ \",[\"kind\"],\" ~~]\"],\"editor.lib.hudTitle.erase\":[\"[Éŕášé ~~]\"],\"editor.lib.hudTitle.levelTerrain\":[\"[Ļéṽéļ ţéŕŕáîñ ~~~~]\"],\"editor.lib.hudTitle.lowerTerrain\":[\"[Ļöŵéŕ ţéŕŕáîñ ~~~~]\"],\"editor.lib.hudTitle.mezzanine\":[\"[Ṁéžžáñîñé ~~~]\"],\"editor.lib.hudTitle.moveKind\":[\"[Ṁöṽé \",[\"kind\"],\" ~~]\"],\"editor.lib.hudTitle.moveRoom\":[\"[Ṁöṽé ŕööɱ ~~~]\"],\"editor.lib.hudTitle.moveSelection\":[\"[Ṁöṽé šéļéçţîöñ ~~~~]\"],\"editor.lib.hudTitle.paint\":[\"[Þáîñţ ~~]\"],\"editor.lib.hudTitle.paintARectangle\":[\"[Þáîñţ á ŕéçţáñĝļé ~~~~~]\"],\"editor.lib.hudTitle.paintAShape\":[\"[Þáîñţ á šĥáþé ~~~~]\"],\"editor.lib.hudTitle.pickMaterial\":[\"[Þîçķ ɱáţéŕîáļ ~~~~]\"],\"editor.lib.hudTitle.raiseTerrain\":[\"[Ŕáîšé ţéŕŕáîñ ~~~~]\"],\"editor.lib.hudTitle.resize\":[\"[Ŕéšîžé ~~]\"],\"editor.lib.hudTitle.rotate\":[\"[Ŕöţáţé ~~]\"],\"editor.lib.hudTitle.select\":[\"[Šéļéçţ ~~]\"],\"editor.lib.hudTitle.smartMeasure\":[\"[Šɱáŕţ ɱéášûŕé ~~~~]\"],\"editor.lib.hudTitle.smoothTerrain\":[\"[Šɱööţĥ ţéŕŕáîñ ~~~~]\"],\"editor.lib.hudTitle.splitKind\":[\"[Šþļîţ \",[\"kind\"],\" ~~]\"],\"editor.lib.hudTitle.terrace\":[\"[Ţéŕŕáçé ~~~]\"],\"editor.lib.wallDrawVariant.polygonRoom\":[\"[Þöļýĝöñ ŕööɱ ~~~~]\"],\"editor.lib.wallDrawVariant.rectangleRoom\":[\"[Ŕéçţáñĝļé ŕööɱ ~~~~]\"],\"editor.lib.wallDrawVariant.walls\":[\"[Ŵáļļš ~~]\"],\"editor.reloadEditor\":[\"[Ŕéļöáð éðîţöŕ ~~~~]\"],\"editor.theEditorSceneFailedToRender\":[\"[Ţĥé éðîţöŕ šçéñé ƒáîļéð ţö ŕéñðéŕ ~~~~~~~~~]\"],\"editor.toolHint.aCurtainWallTakesNoCorner.1qxjv5i\":[\"[Å çûŕţáîñ ŵáļļ ţáķéš ñö çöŕñéŕ ŵîñðöŵ ~~~~~~~~~~]\"],\"editor.toolHint.aCurvedWallTakesNoCorner.1vdnaw5\":[\"[Å çûŕṽéð ŵáļļ ţáķéš ñö çöŕñéŕ ŵîñðöŵ ~~~~~~~~~]\"],\"editor.toolHint.addACornerClickTheFirst.o4r67t\":[\"[Åðð á çöŕñéŕ · çļîçķ ţĥé ƒîŕšţ ţö çļöšé ~~~~~~~~~]\"],\"editor.toolHint.anotherOpeningIsInTheWay.11l9dd0\":[\"[Åñöţĥéŕ öþéñîñĝ îš îñ ţĥé ŵáý áţ ţĥé çöŕñéŕ ~~~~~~~~~~~]\"],\"editor.toolHint.autoHangers.10554ka\":[\"[Åûţö ĥáñĝéŕš ~~~~]\"],\"editor.toolHint.autoHangersClickOrPressH.rwa3ka\":[\"[Åûţö ĥáñĝéŕš - çļîçķ öŕ þŕéšš Ĥ ţö ţöĝĝļé ~~~~~~~~~~]\"],\"editor.toolHint.autoHangersOff.7yx01x\":[\"[Åûţö ĥáñĝéŕš: Öƒƒ ~~~~~]\"],\"editor.toolHint.autoHangersOn.10b1umh\":[\"[Åûţö ĥáñĝéŕš: Öñ ~~~~]\"],\"editor.toolHint.bypassSnapping.w5lmdv\":[\"[Ɓýþášš šñáþþîñĝ ~~~~~]\"],\"editor.toolHint.cancel.ew9em3\":[\"[Çáñçéļ ~~]\"],\"editor.toolHint.cancelMove.lvp31c\":[\"[Çáñçéļ ɱöṽé ~~~]\"],\"editor.toolHint.cancelRunExit.zqjf3h\":[\"[Çáñçéļ ŕûñ / éẋîţ ~~~~]\"],\"editor.toolHint.cancelStartPoint.1xbq2lh\":[\"[Çáñçéļ šţáŕţ þöîñţ ~~~~~]\"],\"editor.toolHint.cornerWindow.1avkzpo\":[\"[Çöŕñéŕ ŵîñðöŵ ~~~~]\"],\"editor.toolHint.cuts.1y0axps\":[\"[Çûţš ~~]\"],\"editor.toolHint.cutsValue.ouzhvb\":[\"[Çûţš: \",[\"value\"],\" ~~]\"],\"editor.toolHint.cutsValueEven.1ngsz3\":[\"[Çûţš: \",[\"value\"],\", éṽéñ ~~~]\"],\"editor.toolHint.cycleMonoGableButterfly.1poga3m\":[\"[Çýçļé ɱöñö / ĝáƀļé / ƀûţţéŕƒļý ~~~~~~~]\"],\"editor.toolHint.cycleSnappingMode.1ct0gn6\":[\"[Çýçļé šñáþþîñĝ ɱöðé ~~~~~~]\"],\"editor.toolHint.doorStyleClickOrPressL.33pe65\":[\"[Ðööŕ šţýļé — çļîçķ öŕ þŕéšš Ļ ţö çýçļé ~~~~~~~~~]\"],\"editor.toolHint.doorTypeClickOrPressO.1hhh8gt\":[\"[Ðööŕ ţýþé — çļîçķ öŕ þŕéšš Ö ţö çýçļé ~~~~~~~~~]\"],\"editor.toolHint.dropDownspoutFromOutlet.1k4h1m4\":[\"[Ðŕöþ ðöŵñšþöûţ ƒŕöɱ öûţļéţ ~~~~~~~]\"],\"editor.toolHint.ductDiameterDownUp.1wdz5vq\":[\"[Ðûçţ ðîáɱéţéŕ ðöŵñ / ûþ ~~~~~~]\"],\"editor.toolHint.endRunCancel.59dh2w\":[\"[Éñð ŕûñ / çáñçéļ ~~~~]\"],\"editor.toolHint.exit.engmg5\":[\"[Éẋîţ ~~]\"],\"editor.toolHint.exitDrawing.9noxyb\":[\"[Éẋîţ ðŕáŵîñĝ ~~~~]\"],\"editor.toolHint.finishAndContinue.1gpfsks\":[\"[Ƒîñîšĥ áñð çöñţîñûé ~~~~~~]\"],\"editor.toolHint.finishCeiling.1c1lfel\":[\"[Ƒîñîšĥ çéîļîñĝ ~~~~]\"],\"editor.toolHint.finishGridAxis.1wvrfhr\":[\"[Ƒîñîšĥ ĝŕîð áẋîš ~~~~~]\"],\"editor.toolHint.finishMeasurement.1e4gv16\":[\"[Ƒîñîšĥ ɱéášûŕéɱéñţ ~~~~~~]\"],\"editor.toolHint.finishMultiPointWitnesses.8wzskz\":[\"[Ƒîñîšĥ ɱûļţî-þöîñţ ŵîţñéššéš ~~~~~~~~]\"],\"editor.toolHint.finishSlab.xmnm8e\":[\"[Ƒîñîšĥ šļáƀ ~~~]\"],\"editor.toolHint.flipSide.172xku9\":[\"[Ƒļîþ šîðé ~~~]\"],\"editor.toolHint.followTraceALineset.mgquwe\":[\"[Ƒöļļöŵ: ţŕáçé á ļîñéšéţ ~~~~~~]\"],\"editor.toolHint.forcePlace.1hq1nr\":[\"[Ƒöŕçé þļáçé ~~~]\"],\"editor.toolHint.freePlacement.1nztdac\":[\"[Ƒŕéé þļáçéɱéñţ ~~~~]\"],\"editor.toolHint.goVerticalClickToPlace.dg8g6m\":[\"[Ĝö ṽéŕţîçáļ ↕, çļîçķ ţö þļáçé ~~~~~~~]\"],\"editor.toolHint.highlightOutlet.65hoq8\":[\"[Ĥîĝĥļîĝĥţ öûţļéţ ~~~~~]\"],\"editor.toolHint.joinAsACornerWindow.jvdp4j\":[\"[Ĵöîñ áš á çöŕñéŕ ŵîñðöŵ ~~~~~~]\"],\"editor.toolHint.key.altDrag.ai3wn9\":[\"[Åļţ + ðŕáĝ ~~~]\"],\"editor.toolHint.key.backspace.qy6qx8\":[\"[Ɓáçķšþáçé ~~~]\"],\"editor.toolHint.key.click.m8sun\":[\"[Çļîçķ ~~]\"],\"editor.toolHint.key.clickAgain.190ws9j\":[\"[Çļîçķ áĝáîñ ~~~]\"],\"editor.toolHint.key.command.1j2mkia\":[\"[Çöɱɱáñð ~~~]\"],\"editor.toolHint.key.control.10fbl8e\":[\"[Çöñţŕöļ ~~~]\"],\"editor.toolHint.key.delete.oay2cq\":[\"[Ðéļéţé ~~]\"],\"editor.toolHint.key.doubleClick.vlma6o\":[\"[Ðöûƀļé çļîçķ ~~~~]\"],\"editor.toolHint.key.drag.8pwtpf\":[\"[Ðŕáĝ ~~]\"],\"editor.toolHint.key.enter.1ctpui5\":[\"[Éñţéŕ ~~]\"],\"editor.toolHint.key.hover.6xw79p\":[\"[Ĥöṽéŕ ~~]\"],\"editor.toolHint.key.hoverADuctEnd.19axr3b\":[\"[Ĥöṽéŕ á ðûçţ éñð ~~~~]\"],\"editor.toolHint.key.hoverAPipeEnd.1jbum5f\":[\"[Ĥöṽéŕ á þîþé éñð ~~~~]\"],\"editor.toolHint.key.hoverGutter.1dwcsno\":[\"[Ĥöṽéŕ ĝûţţéŕ ~~~~]\"],\"editor.toolHint.key.leftClick.s4gwfc\":[\"[Ļéƒţ çļîçķ ~~~]\"],\"editor.toolHint.key.middleClick.1jbaan4\":[\"[Ṁîððļé çļîçķ ~~~~]\"],\"editor.toolHint.key.rShiftR.13bnobh\":[\"[Ŕ / Šĥîƒţ+Ŕ ~~~]\"],\"editor.toolHint.key.rightClick.1ovld0h\":[\"[Ŕîĝĥţ çļîçķ ~~~]\"],\"editor.toolHint.key.scroll.ai6wr0\":[\"[Šçŕöļļ ~~]\"],\"editor.toolHint.key.scrollWheel.18j0ix7\":[\"[Šçŕöļļ ŵĥééļ ~~~~]\"],\"editor.toolHint.key.space.1hrh82t\":[\"[Šþáçé ~~]\"],\"editor.toolHint.key.tab.1xsal0s\":[\"[Ţáƀ ~]\"],\"editor.toolHint.mountFloorCeilingWall.32dxpv\":[\"[Ṁöûñţ: ƒļööŕ / çéîļîñĝ / ŵáļļ ~~~~~~~]\"],\"editor.toolHint.noRoomForTheMatchingWindow.1755948\":[\"[Ñö ŕööɱ ƒöŕ ţĥé ɱáţçĥîñĝ ŵîñðöŵ öñ ţĥé öţĥéŕ ŵáļļ ~~~~~~~~~~~~]\"],\"editor.toolHint.noWallMeetsHere.19n99yc\":[\"[Ñö ŵáļļ ɱééţš ĥéŕé ~~~~~]\"],\"editor.toolHint.numberOfCutsScrollOrClick.1kqe84b\":[\"[Ñûɱƀéŕ öƒ çûţš — šçŕöļļ öŕ çļîçķ ţö çĥáñĝé ~~~~~~~~~~]\"],\"editor.toolHint.pickWitnessPoint.k3hgh1\":[\"[Þîçķ ŵîţñéšš þöîñţ ~~~~~]\"],\"editor.toolHint.pipeSizeDownUp.wp04og\":[\"[Þîþé šîžé ðöŵñ / ûþ ~~~~~]\"],\"editor.toolHint.placeAndContinue.qfwkrq\":[\"[Þļáçé áñð çöñţîñûé ~~~~~]\"],\"editor.toolHint.placeBlock.1aylwrx\":[\"[Þļáçé ƀļöçķ ~~~]\"],\"editor.toolHint.placeBoxVentOnRoof.kf88e5\":[\"[Þļáçé ƀöẋ ṽéñţ öñ ŕööƒ ~~~~~~]\"],\"editor.toolHint.placeCabinet.b0ouyk\":[\"[Þļáçé çáƀîñéţ ~~~~]\"],\"editor.toolHint.placeCanopyOrSetTheNext.12l7zf8\":[\"[Þļáçé çáñöþý öŕ šéţ ţĥé ñéẋţ ŕûñ þöîñţ ~~~~~~~~~~]\"],\"editor.toolHint.placeChimneyOnRoof.19dbqu\":[\"[Þļáçé çĥîɱñéý öñ ŕööƒ ~~~~~~]\"],\"editor.toolHint.placeColumn.1w2vq86\":[\"[Þļáçé çöļûɱñ ~~~~]\"],\"editor.toolHint.placeCupolaOnRoof.ofx3bn\":[\"[Þļáçé çûþöļá öñ ŕööƒ ~~~~~~]\"],\"editor.toolHint.placeDimensionLineWhenNeeded.bjw2cj\":[\"[Þļáçé ðîɱéñšîöñ ļîñé ŵĥéñ ñééðéð ~~~~~~~~~]\"],\"editor.toolHint.placeDoorOnWall.1jwadf\":[\"[Þļáçé ðööŕ öñ ŵáļļ ~~~~~]\"],\"editor.toolHint.placeDormerOnRoof.1w518a6\":[\"[Þļáçé ðöŕɱéŕ öñ ŕööƒ ~~~~~~]\"],\"editor.toolHint.placeElevator.1f65zva\":[\"[Þļáçé éļéṽáţöŕ ~~~~]\"],\"editor.toolHint.placeEyebrowVentOnRoof.1h1tqxn\":[\"[Þļáçé éýéƀŕöŵ ṽéñţ öñ ŕööƒ ~~~~~~~]\"],\"editor.toolHint.placeFitting.1pmx3vn\":[\"[Þļáçé ƒîţţîñĝ ~~~~]\"],\"editor.toolHint.placeGutterOnRoofEave.llwzf9\":[\"[Þļáçé ĝûţţéŕ öñ ŕööƒ éáṽé ~~~~~~~]\"],\"editor.toolHint.placeItLockedTo45.16e4csk\":[\"[Þļáçé îţ (ļöçķéð ţö 45°) ~~~~~]\"],\"editor.toolHint.placeItem.teynf\":[\"[Þļáçé îţéɱ ~~~]\"],\"editor.toolHint.placeMeasurementPoint.bsatli\":[\"[Þļáçé ɱéášûŕéɱéñţ þöîñţ ~~~~~~~]\"],\"editor.toolHint.placeOnAFence.1dptstr\":[\"[Þļáçé öñ á ƒéñçé ~~~~]\"],\"editor.toolHint.placeRegister.1uebycd\":[\"[Þļáçé ŕéĝîšţéŕ ~~~~]\"],\"editor.toolHint.placeRidgeVentOnRoof.2tpd8r\":[\"[Þļáçé ŕîðĝé ṽéñţ öñ ŕööƒ ~~~~~~]\"],\"editor.toolHint.placeShelf.y4l3iw\":[\"[Þļáçé šĥéļƒ ~~~]\"],\"editor.toolHint.placeSkylightOnRoof.e215pe\":[\"[Þļáçé šķýļîĝĥţ öñ ŕööƒ ~~~~~~]\"],\"editor.toolHint.placeSolarPanelArrayOnRoof.kk11fn\":[\"[Þļáçé šöļáŕ þáñéļ áŕŕáý öñ ŕööƒ ~~~~~~~~]\"],\"editor.toolHint.placeSpawnPoint.205o25\":[\"[Þļáçé šþáŵñ þöîñţ ~~~~~]\"],\"editor.toolHint.placeStairs.zwxxu2\":[\"[Þļáçé šţáîŕš ~~~~]\"],\"editor.toolHint.placeTrap.1gxemn3\":[\"[Þļáçé ţŕáþ ~~~]\"],\"editor.toolHint.placeTurbineVentOnRoof.1iqeluf\":[\"[Þļáçé ţûŕƀîñé ṽéñţ öñ ŕööƒ ~~~~~~~]\"],\"editor.toolHint.placeUnit.8zkx4q\":[\"[Þļáçé ûñîţ ~~~]\"],\"editor.toolHint.placeWindowOnWall.1k3qnfb\":[\"[Þļáçé ŵîñðöŵ öñ ŵáļļ ~~~~~~]\"],\"editor.toolHint.placeWithoutTheCornerSnap.1nifqew\":[\"[Þļáçé ŵîţĥöûţ ţĥé çöŕñéŕ šñáþ ~~~~~~~~]\"],\"editor.toolHint.placement.13lcvts\":[\"[Þļáçéɱéñţ ~~~]\"],\"editor.toolHint.placementAuto.1caa52d\":[\"[Þļáçéɱéñţ: Åûţö ~~~~]\"],\"editor.toolHint.placementGround.1ruz145\":[\"[Þļáçéɱéñţ: Ĝŕöûñð ~~~~~]\"],\"editor.toolHint.placementRoof.renkw8\":[\"[Þļáçéɱéñţ: Ŕööƒ ~~~~]\"],\"editor.toolHint.placementSurfaceClickOrPressP.w56h19\":[\"[Þļáçéɱéñţ šûŕƒáçé - çļîçķ öŕ þŕéšš Þ ţö çýçļé ~~~~~~~~~~~]\"],\"editor.toolHint.placementType.1mdpl60\":[\"[Þļáçéɱéñţ ţýþé ~~~~]\"],\"editor.toolHint.placementTypeClickOrPressI.10cgxh2\":[\"[Þļáçéɱéñţ ţýþé — çļîçķ öŕ þŕéšš Î ţö ţöĝĝļé ~~~~~~~~~~~]\"],\"editor.toolHint.removeLastPoint.2dmdcx\":[\"[Ŕéɱöṽé ļášţ þöîñţ ~~~~~]\"],\"editor.toolHint.removeLastWitness.1b6vvzw\":[\"[Ŕéɱöṽé ļášţ ŵîţñéšš ~~~~~~]\"],\"editor.toolHint.rotate.1thqa0a\":[\"[Ŕöţáţé ~~]\"],\"editor.toolHint.rotate45.9zq68u\":[\"[Ŕöţáţé ±45° ~~]\"],\"editor.toolHint.rotate45FloorCeiling.m9t57d\":[\"[Ŕöţáţé ±45° (ƒļööŕ / çéîļîñĝ) ~~~~~~]\"],\"editor.toolHint.rotateGhost15.rsa52c\":[\"[Ŕöţáţé ĝĥöšţ ±15° ~~~~]\"],\"editor.toolHint.rotateOrFlipTheRunSide.t5ior7\":[\"[Ŕöţáţé öŕ ƒļîþ ţĥé ŕûñ šîðé ~~~~~~~]\"],\"editor.toolHint.rotateRoofDirection90.tvbji2\":[\"[Ŕöţáţé ŕööƒ ðîŕéçţîöñ 90° ~~~~~~]\"],\"editor.toolHint.rotateSpawnPoint.1opcuu7\":[\"[Ŕöţáţé šþáŵñ þöîñţ ~~~~~]\"],\"editor.toolHint.roundRectangularOval.e4nh6x\":[\"[Ŕöûñð / ŕéçţáñĝûļáŕ / öṽáļ ~~~~~~]\"],\"editor.toolHint.setFenceStartEnd.1phbwsq\":[\"[Šéţ ƒéñçé šţáŕţ / éñð ~~~~~]\"],\"editor.toolHint.setOneCornerThenTheOpposite.8tsl49\":[\"[Šéţ öñé çöŕñéŕ, ţĥéñ ţĥé öþþöšîţé ~~~~~~~~~]\"],\"editor.toolHint.setRoofFootprint.p50n0o\":[\"[Šéţ ŕööƒ ƒööţþŕîñţ ~~~~~]\"],\"editor.toolHint.setWallStartEnd.1r8ubcx\":[\"[Šéţ ŵáļļ šţáŕţ / éñð ~~~~~]\"],\"editor.toolHint.slopeLevel.ftqp67\":[\"[Šļöþé / ļéṽéļ ~~~]\"],\"editor.toolHint.snapOntoTheRun.86yhmp\":[\"[Šñáþ öñţö ţĥé ŕûñ ~~~~~]\"],\"editor.toolHint.splitAtTheMarks.x5tpdd\":[\"[Šþļîţ áţ ţĥé ɱáŕķš ~~~~~]\"],\"editor.toolHint.startGridAxis.k92yza\":[\"[Šţáŕţ ĝŕîð áẋîš ~~~~]\"],\"editor.toolHint.startLineset.23q8dh\":[\"[Šţáŕţ ļîñéšéţ ~~~~]\"],\"editor.toolHint.startLiquidLine.1rlxsgd\":[\"[Šţáŕţ ļîǫûîð ļîñé ~~~~~]\"],\"editor.toolHint.startRun.r6fc5u\":[\"[Šţáŕţ ŕûñ ~~~]\"],\"editor.toolHint.startSegment.rolym6\":[\"[Šţáŕţ šéĝɱéñţ ~~~~]\"],\"editor.toolHint.stepBackOrCancel.zbfdkn\":[\"[Šţéþ ƀáçķ öŕ çáñçéļ ~~~~~]\"],\"editor.toolHint.style.nf3vcm\":[\"[Šţýļé ~~]\"],\"editor.toolHint.styleBarn.k9n1x\":[\"[Šţýļé: Ɓáŕñ ~~~]\"],\"editor.toolHint.styleCasement.ziklec\":[\"[Šţýļé: Çášéɱéñţ ~~~~]\"],\"editor.toolHint.styleCraftsman.52e6a9\":[\"[Šţýļé: Çŕáƒţšɱáñ ~~~~~]\"],\"editor.toolHint.styleDoubleHung.1lg8pkg\":[\"[Šţýļé: Ðöûƀļé-ĥûñĝ ~~~~~]\"],\"editor.toolHint.styleFrench.1ue3j64\":[\"[Šţýļé: Ƒŕéñçĥ ~~~~]\"],\"editor.toolHint.styleGlass.qudnb4\":[\"[Šţýļé: Ĝļášš ~~~]\"],\"editor.toolHint.styleGrid.1vuq4po\":[\"[Šţýļé: Ĝŕîð ~~~]\"],\"editor.toolHint.styleHalfLouvered.13b1few\":[\"[Šţýļé: Ĥáļƒ-ļöûṽéŕéð ~~~~~~]\"],\"editor.toolHint.styleHorizontalBands.12ethxk\":[\"[Šţýļé: Ĥöŕîžöñţáļ ƀáñðš ~~~~~~]\"],\"editor.toolHint.styleModern.1fh8hhn\":[\"[Šţýļé: Ṁöðéŕñ ~~~~]\"],\"editor.toolHint.stylePanel.922jze\":[\"[Šţýļé: Þáñéļ ~~~]\"],\"editor.toolHint.stylePaneledGlass.17a17en\":[\"[Šţýļé: Þáñéļéð ĝļášš ~~~~~~]\"],\"editor.toolHint.styleShaker.49z17k\":[\"[Šţýļé: Šĥáķéŕ ~~~~]\"],\"editor.toolHint.styleSingle.6f3cm0\":[\"[Šţýļé: Šîñĝļé ~~~~]\"],\"editor.toolHint.styleSixPanel.u49laj\":[\"[Šţýļé: Šîẋ-þáñéļ ~~~~]\"],\"editor.toolHint.styleSliding.q81s0i\":[\"[Šţýļé: Šļîðîñĝ ~~~~]\"],\"editor.toolHint.styleTallGrid.1eotg3x\":[\"[Šţýļé: Ţáļļ ĝŕîð ~~~~]\"],\"editor.toolHint.styleTransom.kb9bh6\":[\"[Šţýļé: Ţŕáñšöɱ ~~~~]\"],\"editor.toolHint.styleTripleHung.pxnqi3\":[\"[Šţýļé: Ţŕîþļé-ĥûñĝ ~~~~~]\"],\"editor.toolHint.styleWideGrid.12n27et\":[\"[Šţýļé: Ŵîðé ĝŕîð ~~~~]\"],\"editor.toolHint.switchRotationAxisYXZ.15lohm6\":[\"[Šŵîţçĥ ŕöţáţîöñ áẋîš (Ý → Ẋ → Ž) ~~~~~~~]\"],\"editor.toolHint.theWallsMeetAtTooSharp.kh3wi3\":[\"[Ţĥé ŵáļļš ɱééţ áţ ţöö šĥáŕþ öŕ ţöö ƒļáţ áñ áñĝļé ~~~~~~~~~~~~]\"],\"editor.toolHint.theWindowWaitingThereIsTaller.1tqwez4\":[\"[Ţĥé ŵîñðöŵ ŵáîţîñĝ ţĥéŕé îš ţáļļéŕ ţĥáñ ţĥîš ŵáļļ ~~~~~~~~~~~~~]\"],\"editor.toolHint.threeOrMoreWallsMeetHere.rgifif\":[\"[Ţĥŕéé öŕ ɱöŕé ŵáļļš ɱééţ ĥéŕé ~~~~~~~~]\"],\"editor.toolHint.traceCeilingOutline.1b639wv\":[\"[Ţŕáçé çéîļîñĝ öûţļîñé ~~~~~~]\"],\"editor.toolHint.traceSlabOutline.z0j2lc\":[\"[Ţŕáçé šļáƀ öûţļîñé ~~~~~]\"],\"editor.toolHint.type.1m2zofh\":[\"[Ţýþé ~~]\"],\"editor.toolHint.typeAwning.1cj59al\":[\"[Ţýþé: Åŵñîñĝ ~~~]\"],\"editor.toolHint.typeBarn.sbnygq\":[\"[Ţýþé: Ɓáŕñ ~~~]\"],\"editor.toolHint.typeBay.1200hc1\":[\"[Ţýþé: Ɓáý ~~~]\"],\"editor.toolHint.typeBow.14s2t9p\":[\"[Ţýþé: Ɓöŵ ~~~]\"],\"editor.toolHint.typeCabinet.1r68je5\":[\"[Ţýþé: Çáƀîñéţ ~~~~]\"],\"editor.toolHint.typeCasement.176uo9j\":[\"[Ţýþé: Çášéɱéñţ ~~~~]\"],\"editor.toolHint.typeDouble.af7w4i\":[\"[Ţýþé: Ðöûƀļé ~~~]\"],\"editor.toolHint.typeDoubleHung.t482fu\":[\"[Ţýþé: Ðöûƀļé Ĥûñĝ ~~~~~]\"],\"editor.toolHint.typeFixed.v1cjez\":[\"[Ţýþé: Ƒîẋéð ~~~]\"],\"editor.toolHint.typeFolding.sxxyng\":[\"[Ţýþé: Ƒöļðîñĝ ~~~~]\"],\"editor.toolHint.typeFrench.1y57z1b\":[\"[Ţýþé: Ƒŕéñçĥ ~~~]\"],\"editor.toolHint.typeHinged.1xrcfju\":[\"[Ţýþé: Ĥîñĝéð ~~~]\"],\"editor.toolHint.typeIsland.ufr3ce\":[\"[Ţýþé: Κļáñð ~~~]\"],\"editor.toolHint.typeLouvered.oxl1cz\":[\"[Ţýþé: Ļöûṽéŕéð ~~~~]\"],\"editor.toolHint.typePocket.hc65x9\":[\"[Ţýþé: Þöçķéţ ~~~]\"],\"editor.toolHint.typeSingleHung.p53pyl\":[\"[Ţýþé: Šîñĝļé Ĥûñĝ ~~~~~]\"],\"editor.toolHint.typeSliding.nwmr3f\":[\"[Ţýþé: Šļîðîñĝ ~~~~]\"],\"editor.toolHint.verticalStackClickToPlace.ijcn4q\":[\"[Ṽéŕţîçáļ šţáçķ ↕, çļîçķ ţö þļáçé ~~~~~~~~]\"],\"editor.toolHint.wasteVent.1hvi3vj\":[\"[Ŵášţé / ṽéñţ ~~~]\"],\"editor.toolHint.windowStyleClickOrPressL.ah7qm9\":[\"[Ŵîñðöŵ šţýļé — çļîçķ öŕ þŕéšš Ļ ţö çýçļé ~~~~~~~~~~]\"],\"editor.toolHint.windowTypeClickOrPressO.wv4x35\":[\"[Ŵîñðöŵ ţýþé — çļîçķ öŕ þŕéšš Ö ţö çýçļé ~~~~~~~~~]\"],\"editor.views.plugins\":[\"[Þļûĝîñš ~~~]\"],\"editor.views.view2d\":[\"[2Ð ~]\"],\"editor.views.view3d\":[\"[3Ð ~]\"],\"editor.views.viewBar.auto\":[\"[Åûţö ~~]\"],\"editor.views.viewBar.browsePlugins\":[\"[Ɓŕöŵšé þļûĝîñš ~~~~]\"],\"editor.views.viewBar.closeLabel\":[\"[Çļöšé \",[\"label\"],\" ~~]\"],\"editor.views.viewBar.closeSplit\":[\"[Çļöšé šþļîţ (\\\\) ~~~]\"],\"editor.views.viewBar.ground\":[\"[Ĝŕöûñð ~~]\"],\"editor.views.viewBar.groundSolid\":[\"[\",[\"standing\",\"select\",{\"partly\":[\"Þáŕţļý ƀéļöŵ ĝŕáðé · ĝŕöûñð šöļîð\"],\"below\":[\"Ɓéļöŵ ĝŕáðé · ĝŕöûñð šöļîð\"],\"other\":[\"Ĝŕöûñð šöļîð\"]}],\" ~~~~~~~~~~~~~~~~~~]\"],\"editor.views.viewBar.groundVeiled\":[\"[\",[\"standing\",\"select\",{\"partly\":[\"Þáŕţļý ƀéļöŵ ĝŕáðé · ĝŕöûñð ṽéîļéð\"],\"below\":[\"Ɓéļöŵ ĝŕáðé · ĝŕöûñð ṽéîļéð\"],\"other\":[\"Ĝŕöûñð ṽéîļéð\"]}],\" ~~~~~~~~~~~~~~~~~~~]\"],\"editor.views.viewBar.keepTheGroundSolid\":[\"[Ķééþ ţĥé ĝŕöûñð šöļîð ~~~~~~]\"],\"editor.views.viewBar.moreViews\":[\"[Ṁöŕé ṽîéŵš ~~~]\"],\"editor.views.viewBar.paneViews\":[\"[Þáñé \",[\"pane\"],\" ṽîéŵš ~~~]\"],\"editor.views.viewBar.pinLabel\":[\"[Þîñ \",[\"label\"],\" ~]\"],\"editor.views.viewBar.pinToTheViewBar\":[\"[Þîñ ţö ţĥé ṽîéŵ ƀáŕ ~~~~~]\"],\"editor.views.viewBar.solid\":[\"[Šöļîð ~~]\"],\"editor.views.viewBar.split\":[\"[Šþļîţ (\\\\) ~~]\"],\"editor.views.viewBar.split2\":[\"[Šþļîţ ~~]\"],\"editor.views.viewBar.swapPanes\":[\"[Šŵáþ þáñéš ~~~]\"],\"editor.views.viewBar.unpinFromTheViewBar\":[\"[Ûñþîñ ƒŕöɱ ţĥé ṽîéŵ ƀáŕ ~~~~~~]\"],\"editor.views.viewBar.unpinLabel\":[\"[Ûñþîñ \",[\"label\"],\" ~~]\"],\"editor.views.viewBar.veilTheGroundOverALevel\":[\"[Ṽéîļ ţĥé ĝŕöûñð öṽéŕ á ļéṽéļ ƀéļöŵ ĝŕáðé ~~~~~~~~~~]\"],\"editor.views.viewBar.views\":[\"[Ṽîéŵš ~~]\"],\"editor.youCanRetryTheSceneOr\":[\"[Ýöû çáñ ŕéţŕý ţĥé šçéñé öŕ ŕéţûŕñ ĥöɱé ŵîţĥöûţ ŕéļöáðîñĝ ţĥé ŵĥöļé áþþ šĥéļļ. ~~~~~~~~~~~~~~~~~~~]\"],\"node.block.description\":[\"[Å ţöþöļöĝý-ƀáçķéð šöļîð éðîţéð ðîŕéçţļý îñ ţĥé çáñṽáš. ~~~~~~~~~~~~~~]\"],\"node.block.label\":[\"[Ɓļöçķ ~~]\"],\"node.boxVent.description\":[\"[Šɱáļļ ļöûṽéŕéð éẋĥáûšţ ṽéñţ ţĥáţ šîţš öñ á ŕööƒ šļöþé. ~~~~~~~~~~~~~~]\"],\"node.boxVent.label\":[\"[Ɓöẋ Ṽéñţ ~~~]\"],\"node.building.description\":[\"[Å ƀûîļðîñĝ çöñţáîñéŕ ĥöļðîñĝ öñé öŕ ɱöŕé ļéṽéļš. ~~~~~~~~~~~~]\"],\"node.building.label\":[\"[Ɓûîļðîñĝ ~~~]\"],\"node.cabinet.description\":[\"[Å çöñƒîĝûŕáƀļé þáŕáɱéţŕîç ƀášé çáƀîñéţ. ~~~~~~~~~~~]\"],\"node.cabinet.label\":[\"[Ṁöðûļáŕ Çáƀîñéţ ~~~~~]\"],\"node.cabinetModule.description\":[\"[Åñ éðîţáƀļé ɱöðûļé îñšîðé á ɱöðûļáŕ çáƀîñéţ ŕûñ. ~~~~~~~~~~~~]\"],\"node.cabinetModule.label\":[\"[Çáƀîñéţ Ṁöðûļé ~~~~]\"],\"node.ceiling.description\":[\"[Å þöļýĝöñ-ƀöûñðéð çéîļîñĝ šûŕƒáçé ţĥáţ ĥöšţš çéîļîñĝ-ɱöûñţéð îţéɱš. ~~~~~~~~~~~~~~~~~~]\"],\"node.ceiling.label\":[\"[Çéîļîñĝ ~~~]\"],\"node.chimney.description\":[\"[Ṽéŕţîçáļ ɱášöñŕý šţáçķ öñ á ŕööƒ šéĝɱéñţ. ~~~~~~~~~~~]\"],\"node.chimney.label\":[\"[Çĥîɱñéý ~~~]\"],\"node.column.description\":[\"[Å þáŕáɱéţŕîç çöļûɱñ ŵîţĥ çöñƒîĝûŕáƀļé çŕöšš-šéçţîöñ, ƀášé, áñð çáþîţáļ. ~~~~~~~~~~~~~~~~~~]\"],\"node.column.label\":[\"[Çöļûɱñ ~~]\"],\"node.constructionDimension.description\":[\"[Åššöçîáţîṽé ļîñéáŕ, çûŕṽéð, çîŕçûļáŕ, áñĝûļáŕ, öŕ çööŕðîñáţé þļáñ ðîɱéñšîöñ. ~~~~~~~~~~~~~~~~~~~]\"],\"node.constructionDimension.label\":[\"[Çöñšţŕûçţîöñ Ðîɱéñšîöñ ~~~~~~~]\"],\"node.cupola.description\":[\"[Ļöûṽéŕéð ŕööƒ ļáñţéŕñ ŵîţĥ á ðöɱé öŕ þýŕáɱîð çáþ áñð öþţîöñáļ ƒîñîáļ. ~~~~~~~~~~~~~~~~~~]\"],\"node.cupola.label\":[\"[Çûþöļá ~~]\"],\"node.door.description\":[\"[Å ðööŕ çûţ îñţö á ŵáļļ. Åñîɱáţéð öþéñ/çļöšé šţáţé. ~~~~~~~~~~~~]\"],\"node.door.label\":[\"[Ðööŕ ~~]\"],\"node.dormer.description\":[\"[Ĥöûšé-šĥáþéð þŕöţŕûšîöñ öñ á ŕööƒ šéĝɱéñţ. ~~~~~~~~~~~]\"],\"node.dormer.label\":[\"[Ðöŕɱéŕ ~~]\"],\"node.downspout.description\":[\"[Ṽéŕţîçáļ ðŕöþ þîþé ƒŕöɱ á ĝûţţéŕ öûţļéţ ţö ţĥé ĝŕöûñð. ~~~~~~~~~~~~~~]\"],\"node.downspout.label\":[\"[Ðöŵñšþöûţ ~~~]\"],\"node.ductFitting.description\":[\"[Éļƀöŵ, ţéé, ŕéðûçéŕ, öŕ šǫûáŕé-ţö-ŕöûñð ţŕáñšîţîöñ çöññéçţîñĝ ðûçţ ŕûñš. ~~~~~~~~~~~~~~~~~~]\"],\"node.ductFitting.label\":[\"[Ðûçţ Ƒîţţîñĝ ~~~~]\"],\"node.ductSegment.description\":[\"[ĤṼÅÇ ðûçţ ŕûñ — þöļýļîñé öƒ ŕöûñð, ŕéçţ, öŕ ƒļáţ-öṽáļ šéçţîöñš. ~~~~~~~~~~~~~~~]\"],\"node.ductSegment.label\":[\"[Ðûçţ ~~]\"],\"node.ductTerminal.description\":[\"[Ðûçţ ţéŕɱîñáļ — šûþþļý ŕéĝîšţéŕ, çéîļîñĝ ðûšéŕ, öŕ ŕéţûŕñ ĝŕîļļé. Ðûçţ ŕûñš éñð áţ îţš çöļļáŕ. ~~~~~~~~~~~~~~~~~~~~~~~~]\"],\"node.ductTerminal.label\":[\"[Ŕéĝîšţéŕ ~~~]\"],\"node.elevator.description\":[\"[Å ɱûļţî-ļéṽéļ éļéṽáţöŕ šĥáƒţ ŵîţĥ çöñƒîĝûŕáƀļé öþéñîñĝš þéŕ ļéṽéļ. ~~~~~~~~~~~~~~~~~]\"],\"node.elevator.label\":[\"[Éļéṽáţöŕ ~~~]\"],\"node.eyebrowVent.description\":[\"[Ļöŵ çûŕṽéð ļéñš-šĥáþéð ŕööƒ ṽéñţ ŵîţĥ á ļöûṽéŕéð ƒŕöñţ. ~~~~~~~~~~~~~~]\"],\"node.eyebrowVent.label\":[\"[Éýéƀŕöŵ Ṽéñţ ~~~~]\"],\"node.fence.description\":[\"[Å šţŕáîĝĥţ öŕ çûŕṽéð ƒéñçé šéĝɱéñţ ŵîţĥ çöñƒîĝûŕáƀļé þöšţš áñð îñƒîļļ. ~~~~~~~~~~~~~~~~~~]\"],\"node.fence.label\":[\"[Ƒéñçé ~~]\"],\"node.fenceGate.description\":[\"[Å ĝáţé ĥöšţéð ƀý á ƒéñçé. ~~~~~~]\"],\"node.fenceGate.label\":[\"[Ĝáţé ~~]\"],\"node.fenceOpening.description\":[\"[Åñ îñţéñţîöñáļ öþéñîñĝ îñ á ƒéñçé. ~~~~~~~~~]\"],\"node.fenceOpening.label\":[\"[Öþéñ Þáššáĝé ~~~~]\"],\"node.floorOpening.label\":[\"[Ƒļööŕ öþéñîñĝ ~~~~]\"],\"node.guide.description\":[\"[Å ɱéášûŕéɱéñţ / ŕéƒéŕéñçé áññöţáţîöñ (ļîñéáŕ, áŕéá, öŕ áŕç). ~~~~~~~~~~~~~~]\"],\"node.guide.label\":[\"[Ĝûîðé ~~]\"],\"node.gutter.description\":[\"[Ŕáîñ-ŵáţéŕ çĥáññéļ ŕûññîñĝ áļöñĝ ţĥé éáṽé öƒ á ŕööƒ šéĝɱéñţ. ~~~~~~~~~~~~~~~]\"],\"node.gutter.label\":[\"[Ĝûţţéŕ ~~]\"],\"node.hvacEquipment.description\":[\"[Ƒûŕñáçé, áîŕ ĥáñðļéŕ, öŕ çöñðéñšéŕ — ðûçţ ŕûñš çöññéçţ ţö îţš šûþþļý/ŕéţûŕñ çöļļáŕš. ~~~~~~~~~~~~~~~~~~~~~]\"],\"node.hvacEquipment.label\":[\"[ĤṼÅÇ Ûñîţ ~~~]\"],\"node.importedMesh.description\":[\"[Ĝéöɱéţŕý þŕéšéŕṽéð ƒŕöɱ áñ îɱþöŕţéð ɱöðéļ ŵĥéñ ñö ñáţîṽé Þášçáļ šĥáþé éẋîšţš. ~~~~~~~~~~~~~~~~~~~~]\"],\"node.importedMesh.label\":[\"[Îɱþöŕţéð Ṁéšĥ ~~~~]\"],\"node.item.description\":[\"[Å çáţáļöĝ-ƀáçķéð îţéɱ (ƒûŕñîţûŕé, ƒîẋţûŕéš, ðéçöŕáţîöñš). ~~~~~~~~~~~~~~]\"],\"node.item.label\":[\"[Îţéɱ ~~]\"],\"node.leanToExtension.description\":[\"[Åñ áţţáçĥéð ɱöñö-þîţçĥ öŕ ƒŕééšţáñðîñĝ ɱöñö, ĝáƀļé, öŕ ƀûţţéŕƒļý çáñöþý ŵîţĥ ɱáñáĝéð šţŕûçţûŕé áñð ðŕáîñáĝé. ~~~~~~~~~~~~~~~~~~~~~~~~~~~]\"],\"node.leanToExtension.label\":[\"[Çáñöþý ~~]\"],\"node.level.description\":[\"[Å šîñĝļé ƒļööŕ öƒ á ƀûîļðîñĝ, ĥöļðîñĝ ŵáļļš / šļáƀš / çéîļîñĝš / îţéɱš. ~~~~~~~~~~~~~~~~]\"],\"node.level.label\":[\"[Ļéṽéļ ~~]\"],\"node.lineset.description\":[\"[Ŕéƒŕîĝéŕáñţ ļîñéšéţ — çöþþéŕ šûçţîöñ + ļîǫûîð þáîŕ ĵöîñîñĝ á çöñðéñšéŕ ţö ţĥé îñðööŕ çöîļ. ~~~~~~~~~~~~~~~~~~~~~~]\"],\"node.lineset.label\":[\"[Ļîñéšéţ ~~~]\"],\"node.liquidLine.description\":[\"[Šţáñðáļöñé ŕéƒŕîĝéŕáñţ ļîǫûîð ļîñé — á ţĥîñ ƀáŕé-çöþþéŕ ŕûñ; Ƒöļļöŵ ɱöðé ţŕáçéš áñ éẋîšţîñĝ ļîñéšéţ. ~~~~~~~~~~~~~~~~~~~~~~~~~]\"],\"node.liquidLine.label\":[\"[Ļîǫûîð Ļîñé ~~~]\"],\"node.measurement.description\":[\"[Å þéŕšîšţéñţ ðîšţáñçé, áñĝļé, áŕéá, þéŕîɱéţéŕ, öŕ ṽöļûɱé áññöţáţîöñ. ~~~~~~~~~~~~~~~~~]\"],\"node.measurement.label\":[\"[Ṁéášûŕéɱéñţ ~~~~]\"],\"node.pipeFitting.description\":[\"[ÐŴṼ ĵöîñţ — éļƀöŵ ƀéñð, 45° ŵýé, öŕ šáñîţáŕý ţéé. ~~~~~~~~~~]\"],\"node.pipeFitting.label\":[\"[Þîþé Ƒîţţîñĝ ~~~~]\"],\"node.pipeSegment.description\":[\"[Ðŕáîñ / ŵášţé / ṽéñţ þîþé ŕûñ — ðŕáŵ ļéṽéļ öŕ ţöĝĝļé á ¼″ þéŕ ƒööţ ƒáļļ ŵîţĥ Š. ~~~~~~~~~~~~~~~~~]\"],\"node.pipeSegment.label\":[\"[ÐŴṼ Þîþé ~~~]\"],\"node.pipeTrap.description\":[\"[ÐŴṼ Þ-ţŕáþ — ŵáţéŕ šéáļ öñ ţĥé ŵášţé ļîñé. Ţĥé ţŕáþ áŕɱ ŕûñš ţö ţĥé ṽéñţ. ~~~~~~~~~~~~~~~~~]\"],\"node.pipeTrap.label\":[\"[Ţŕáþ ~~]\"],\"node.proceduralItem.description\":[\"[Éẋþéŕîɱéñţáļ éðîţáƀļé ŕéçîþé ~~~~~~~~]\"],\"node.proceduralItem.label\":[\"[Þŕöçéðûŕáļ îţéɱ ~~~~~]\"],\"node.ridgeVent.description\":[\"[Ṽéñţîļáţîöñ šţŕîþ ŕûññîñĝ áļöñĝ ţĥé ŕîðĝé öƒ á ŕööƒ šéĝɱéñţ. ~~~~~~~~~~~~~~~]\"],\"node.ridgeVent.label\":[\"[Ŕîðĝé Ṽéñţ ~~~]\"],\"node.roof.description\":[\"[Å þîţçĥéð / ĥîþ / ĝáƀļé ŕööƒ çöɱþöšéð öƒ öñé öŕ ɱöŕé šéĝɱéñţš. ~~~~~~~~~~~~~~~]\"],\"node.roof.label\":[\"[Ŕööƒ ~~]\"],\"node.roofSegment.description\":[\"[Å šîñĝļé þîţçĥéð þļáñé öƒ á þáŕéñţ ŕööƒ. ~~~~~~~~~~]\"],\"node.roofSegment.label\":[\"[Ŕööƒ Šéĝɱéñţ ~~~~]\"],\"node.scan.description\":[\"[Å çáþţûŕéð šéššîöñ ŵîţĥ öþţîöñáļ ɱéšĥ, ɱöţîöñ, ɱéðîá, áñð šéñšöŕ ðáţá. ~~~~~~~~~~~~~~~~~]\"],\"node.scan.label\":[\"[Çáþţûŕé ~~~]\"],\"node.separator.label\":[\"[Šéþáŕáţöŕ ~~~]\"],\"node.shelf.description\":[\"[Å çöñƒîĝûŕáƀļé šĥéļṽîñĝ ûñîţ. Îţéɱš ĥöšţ öñ éáçĥ ŕöŵ. ~~~~~~~~~~~~~]\"],\"node.shelf.label\":[\"[Šĥéļƒ ~~]\"],\"node.site.description\":[\"[Ţĥé ţöþ-ļéṽéļ çöñţáîñéŕ ĥöļðîñĝ ƀûîļðîñĝš, žöñéš, áñð ţĥé þŕöþéŕţý ƀöûñðáŕý. ~~~~~~~~~~~~~~~~~~~]\"],\"node.site.label\":[\"[Šîţé ~~]\"],\"node.skylight.description\":[\"[Ƒŕáɱéð ĝļášš öþéñîñĝ öñ á ŕööƒ šéĝɱéñţ. ~~~~~~~~~~]\"],\"node.skylight.label\":[\"[Šķýļîĝĥţ ~~~]\"],\"node.slab.description\":[\"[Å þöļýĝöñ-ƀöûñðéð ƒļööŕ šûŕƒáçé ţĥáţ ĥöšţš îţéɱš öñ ţöþ. ~~~~~~~~~~~~~~]\"],\"node.slab.label\":[\"[Šļáƀ ~~]\"],\"node.solarPanel.description\":[\"[Ĝŕîð öƒ þĥöţöṽöļţáîç þáñéļš ɱöûñţéð öñ á ŕööƒ šéĝɱéñţ. ~~~~~~~~~~~~~~]\"],\"node.solarPanel.label\":[\"[Šöļáŕ Þáñéļ ~~~]\"],\"node.spawn.description\":[\"[Þļáýéŕ öŕ çáɱéŕá öŕîĝîñ ŵîţĥîñ á ļéṽéļ. Öñé þéŕ ļéṽéļ. ~~~~~~~~~~~~~]\"],\"node.spawn.label\":[\"[Šþáŵñ Þöîñţ ~~~]\"],\"node.stair.description\":[\"[Å šţáîŕ çöɱþöšéð öƒ öñé öŕ ɱöŕé ƒļîĝĥţš ŵîţĥ çöñƒîĝûŕáƀļé ţŕéáðš, ŕîšéŕš, ŕáîļîñĝš. ~~~~~~~~~~~~~~~~~~~~~]\"],\"node.stair.label\":[\"[Šţáîŕ ~~]\"],\"node.stairSegment.description\":[\"[Å šîñĝļé ƒļîĝĥţ öƒ á þáŕéñţ šţáîŕ. ~~~~~~~~~]\"],\"node.stairSegment.label\":[\"[Šţáîŕ Šéĝɱéñţ ~~~~]\"],\"node.structuralGrid.description\":[\"[Þéŕšîšţéñţ çöñšţŕûçţîöñ ĝŕîð áẋîš ŵîţĥ îðéñţîƒîçáţîöñ ƀûƀƀļéš. ~~~~~~~~~~~~~~~~~]\"],\"node.structuralGrid.label\":[\"[Šţŕûçţûŕáļ Ĝŕîð ~~~~~]\"],\"node.turbineVent.description\":[\"[Ŵîñð-ðŕîṽéñ šþîññîñĝ ŵĥîŕļýƀîŕð éẋĥáûšţ ṽéñţ ƒöŕ á ŕööƒ šļöþé. ~~~~~~~~~~~~~~~~]\"],\"node.turbineVent.label\":[\"[Ţûŕƀîñé Ṽéñţ ~~~~]\"],\"node.unit.description\":[\"[Å ñáɱéð ĝŕöûþ öƒ žöñéš ƒöŕɱîñĝ öñé áþáŕţɱéñţ, ĥöţéļ ŕööɱ öŕ çöɱɱéŕçîáļ ļöţ. ~~~~~~~~~~~~~~~~~~~]\"],\"node.unit.label\":[\"[Ûñîţ ~~]\"],\"node.wall.description\":[\"[Å šţŕáîĝĥţ öŕ çûŕṽéð ŵáļļ šéĝɱéñţ. Ĥöšţš ðööŕš, ŵîñðöŵš, ļéáñ-ţö éẋţéñšîöñš, áñð ŵáļļ-ɱöûñţéð îţéɱš. ~~~~~~~~~~~~~~~~~~~~~~~~]\"],\"node.wall.label\":[\"[Ŵáļļ ~~]\"],\"node.window.description\":[\"[Å ŵîñðöŵ çûţ îñţö á ŵáļļ. Åñîɱáţéð öþéñ/çļöšé ƒöŕ öþéñîñĝ ŵîñðöŵš. ~~~~~~~~~~~~~~~~]\"],\"node.window.label\":[\"[Ŵîñðöŵ ~~]\"],\"node.zone.description\":[\"[Å þöļýĝöñáļ šîţé žöñé (ļáŵñ, ŵáţéŕ, þáṽîñĝ) ŵîţĥ á ŢŠĻ ĝŕáðîéñţ ɱáţéŕîáļ. ~~~~~~~~~~~~~~~~~~]\"],\"node.zone.label\":[\"[Žöñé ~~]\"],\"viewer.camera.orbitLeft\":[\"[Öŕƀîţ ļéƒţ ~~~]\"],\"viewer.camera.orbitRight\":[\"[Öŕƀîţ ŕîĝĥţ ~~~]\"],\"viewer.camera.topView\":[\"[Ţöþ ṽîéŵ ~~~]\"],\"viewer.common.off\":[\"[Öƒƒ ~]\"],\"viewer.common.on\":[\"[Öñ ~]\"],\"viewer.display.camera\":[\"[Çáɱéŕá ~~]\"],\"viewer.display.colored\":[\"[Çöļöŕéð ~~~]\"],\"viewer.display.colors\":[\"[Çöļöŕš ~~]\"],\"viewer.display.edges.off\":[\"[Öƒƒ ~]\"],\"viewer.display.edges.offDetail\":[\"[Ñö éðĝé ļîñéš ~~~~]\"],\"viewer.display.edges.soft\":[\"[Šöƒţ ~~]\"],\"viewer.display.edges.softDetail\":[\"[Ƒáîñţ öûţļîñé öƒ ɱáĵöŕ çŕéášéš ~~~~~~~~]\"],\"viewer.display.edges.strong\":[\"[Šţŕöñĝ ~~]\"],\"viewer.display.edges.strongDetail\":[\"[Çŕîšþ, öþáǫûé éðĝé ļîñéš ~~~~~~]\"],\"viewer.display.edges.title\":[\"[Éðĝéš ~~]\"],\"viewer.display.monochrome\":[\"[Ṁöñöçĥŕöɱé ~~~]\"],\"viewer.display.orthographic\":[\"[Öŕţĥöĝŕáþĥîç ~~~~]\"],\"viewer.display.perspective\":[\"[Þéŕšþéçţîṽé ~~~~]\"],\"viewer.display.render.rendered\":[\"[Ŕéñðéŕéð ~~~]\"],\"viewer.display.render.renderedDetail\":[\"[Ƒûļļ áɱƀîéñţ öççļûšîöñ ~~~~~~]\"],\"viewer.display.render.solid\":[\"[Šöļîð ~~]\"],\"viewer.display.render.solidDetail\":[\"[Ƒļáţ áñð ƒášţ — ñö áɱƀîéñţ öççļûšîöñ ~~~~~~~~~]\"],\"viewer.display.render.title\":[\"[Ŕéñðéŕ ~~]\"],\"viewer.display.shadows\":[\"[Šĥáðöŵš ~~~]\"],\"viewer.display.title\":[\"[Ðîšþļáý šéţţîñĝš ~~~~~]\"],\"viewer.floorplan.alignNorth\":[\"[Åļîĝñ ṽîéŵ ţö ñöŕţĥ ~~~~~]\"],\"viewer.floorplan.empty\":[\"[Ñö ƒļööŕ þļáñš áŕé áṽáîļáƀļé ƒöŕ ţĥîš šçéñé. ~~~~~~~~~~~]\"],\"viewer.floorplan.fit\":[\"[Ƒîţ ƒļööŕ þļáñ ~~~~]\"],\"viewer.floorplan.floor\":[\"[Ƒļööŕ ~~]\"],\"viewer.floorplan.floorPlan\":[\"[Ƒļööŕ þļáñ ~~~]\"],\"viewer.floorplan.viewLabel\":[\"[\",[\"floor\"],\" 2Ð ṽîéŵ ~~]\"],\"viewer.floorplan.zoomIn\":[\"[Žööɱ îñ ~~]\"],\"viewer.floorplan.zoomOut\":[\"[Žööɱ öûţ ~~~]\"],\"viewer.header.back\":[\"[Ɓáçķ ~~]\"],\"viewer.header.levels\":[\"[Ļéṽéļš ~~]\"],\"viewer.header.rooms\":[\"[Ŕööɱš ~~]\"],\"viewer.header.selection\":[\"[Šéļéçţîöñ ~~~]\"],\"viewer.header.units\":[\"[Ûñîţš ~~]\"],\"viewer.header.untitled\":[\"[Ûñţîţļéð ~~~]\"],\"viewer.header.zones\":[\"[Žöñéš ~~]\"],\"viewer.levels.exploded\":[\"[Éẋþļöðéð ~~~]\"],\"viewer.levels.label\":[\"[Ļéṽéļš: \",[\"mode\"],\" ~~]\"],\"viewer.levels.manual\":[\"[Ṁáñûáļ ~~]\"],\"viewer.levels.solo\":[\"[Šöļö ~~]\"],\"viewer.levels.stacked\":[\"[Šţáçķéð ~~~]\"],\"viewer.stage.layout\":[\"[Ṽîéŵéŕ ļáýöûţ ~~~~]\"],\"viewer.stage.split\":[\"[Šþļîţ ~~]\"],\"viewer.theme.blueprint\":[\"[Ɓļûéþŕîñţ ~~~]\"],\"viewer.theme.mediterranean\":[\"[Ṁéðîţéŕŕáñéáñ ~~~~]\"],\"viewer.theme.night\":[\"[Ñîĝĥţ ~~]\"],\"viewer.theme.overcast\":[\"[Öṽéŕçášţ ~~~]\"],\"viewer.theme.paper\":[\"[Þáþéŕ ~~]\"],\"viewer.theme.studio\":[\"[Šţûðîö ~~]\"],\"viewer.theme.sunset\":[\"[Šûñšéţ ~~]\"],\"viewer.theme.title\":[\"[Šçéñé ţĥéɱé ~~~]\"],\"viewer.theme.twilight\":[\"[Ţŵîļîĝĥţ ~~~]\"],\"viewer.theme.verdant\":[\"[Ṽéŕðáñţ ~~~]\"],\"viewer.visibility.guides\":[\"[Ĝûîðéš ~~]\"],\"viewer.visibility.scans\":[\"[Šçáñš ~~]\"],\"viewer.visibility.title\":[\"[Ṽîšîƀîļîţý ~~~]\"],\"viewer.walkthrough.label\":[\"[Ŵáļķţĥŕöûĝĥ: \",[\"state\"],\" ~~~~]\"],\"viewer.walls.cutaway\":[\"[Çûţáŵáý ~~~]\"],\"viewer.walls.fullHeight\":[\"[Ƒûļļ ĥéîĝĥţ ~~~]\"],\"viewer.walls.label\":[\"[Ŵáļļš: \",[\"mode\"],\" ~~]\"],\"viewer.walls.low\":[\"[Ļöŵ ~]\"]}")as Messages; \ No newline at end of file diff --git a/packages/editor/src/i18n/locales/en/messages.po b/packages/editor/src/i18n/locales/en/messages.po index 0d81f86606..3ca4c3a4de 100644 --- a/packages/editor/src/i18n/locales/en/messages.po +++ b/packages/editor/src/i18n/locales/en/messages.po @@ -991,10 +991,6 @@ msgstr "Window" msgid "editor.actionMenu.structureTools.zone" msgstr "Zone" -#: packages/editor/src/components/ui/action-menu/view-toggles.tsx -msgid "editor.actionMenu.viewToggles.below" -msgstr "below" - #: packages/editor/src/components/ui/action-menu/view-toggles.tsx msgid "editor.actionMenu.viewToggles.deleteGuideImage" msgstr "Delete guide image" @@ -1043,6 +1039,10 @@ msgstr "Hide reference floor" msgid "editor.actionMenu.viewToggles.hideScans" msgstr "Hide scans" +#: packages/editor/src/components/ui/action-menu/view-toggles.tsx +msgid "editor.actionMenu.viewToggles.levelsBelow" +msgstr "{count} below" + #: packages/editor/src/components/ui/action-menu/view-toggles.tsx msgid "editor.actionMenu.viewToggles.noLowerFloorAvailable" msgstr "No lower floor available." @@ -1279,6 +1279,18 @@ msgstr "Continuation: {label}" msgid "editor.helpers.contextualHelperPanel.dragToDrawFence" msgstr "Drag to draw fence" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +msgid "editor.helpers.contextualHelperPanel.eraseScope" +msgstr "Erase: {scope}" + +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +msgid "editor.helpers.contextualHelperPanel.eraseScopeClickOrPressShift" +msgstr "Erase scope — click or press Shift to cycle" + +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +msgid "editor.helpers.contextualHelperPanel.eraseScopeLabel" +msgstr "Erase scope: {scope}" + #: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx msgid "editor.helpers.contextualHelperPanel.fenceTypeClickOrPressT" msgstr "Fence type — click or press T to switch between straight, curved and freehand" @@ -1319,6 +1331,22 @@ msgstr "Hover a surface to pick its material" msgid "editor.helpers.contextualHelperPanel.moreShortcuts" msgstr "More shortcuts" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +msgid "editor.helpers.contextualHelperPanel.paintScope" +msgstr "Paint: {scope}" + +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +msgid "editor.helpers.contextualHelperPanel.paintScopeClickOrPressShift" +msgstr "Paint scope — click or press Shift to cycle" + +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +msgid "editor.helpers.contextualHelperPanel.paintScopeLabel" +msgstr "Paint scope: {scope}" + +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +msgid "editor.helpers.contextualHelperPanel.pickScope" +msgstr "Pick: {scope}" + #: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx msgid "editor.helpers.contextualHelperPanel.placeGateOnAFence" msgstr "Place gate on a fence" @@ -1367,10 +1395,6 @@ msgstr "Straight fence continuation — click or press C to toggle" msgid "editor.helpers.contextualHelperPanel.straightSingle" msgstr "Straight: Single" -#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx -msgid "editor.helpers.contextualHelperPanel.verbScopeClickOrPressShift" -msgstr "{verb} scope — click or press Shift to cycle" - #: packages/editor/src/components/ui/helpers/helper-manager.tsx msgid "editor.helpers.helperManager.addPoint" msgstr "Add point" @@ -1736,711 +1760,711 @@ msgid "editor.theEditorSceneFailedToRender" msgstr "The editor scene failed to render" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.aCurtainWallTakesNoCorner" +msgid "editor.toolHint.aCurtainWallTakesNoCorner.1qxjv5i" msgstr "A curtain wall takes no corner window" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.aCurvedWallTakesNoCorner" +msgid "editor.toolHint.aCurvedWallTakesNoCorner.1vdnaw5" msgstr "A curved wall takes no corner window" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.addACornerClickTheFirst" +msgid "editor.toolHint.addACornerClickTheFirst.o4r67t" msgstr "Add a corner · click the first to close" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.anotherOpeningIsInTheWay" +msgid "editor.toolHint.anotherOpeningIsInTheWay.11l9dd0" msgstr "Another opening is in the way at the corner" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.autoHangers" +msgid "editor.toolHint.autoHangers.10554ka" msgstr "Auto hangers" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.autoHangersClickOrPressH" +msgid "editor.toolHint.autoHangersClickOrPressH.rwa3ka" msgstr "Auto hangers - click or press H to toggle" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.autoHangersOff" +msgid "editor.toolHint.autoHangersOff.7yx01x" msgstr "Auto hangers: Off" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.autoHangersOn" +msgid "editor.toolHint.autoHangersOn.10b1umh" msgstr "Auto hangers: On" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.bypassSnapping" +msgid "editor.toolHint.bypassSnapping.w5lmdv" msgstr "Bypass snapping" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.cancel" +msgid "editor.toolHint.cancel.ew9em3" msgstr "Cancel" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.cancelMove" +msgid "editor.toolHint.cancelMove.lvp31c" msgstr "Cancel move" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.cancelRunExit" +msgid "editor.toolHint.cancelRunExit.zqjf3h" msgstr "Cancel run / exit" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.cancelStartPoint" +msgid "editor.toolHint.cancelStartPoint.1xbq2lh" msgstr "Cancel start point" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.cornerWindow" +msgid "editor.toolHint.cornerWindow.1avkzpo" msgstr "Corner window" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.cuts" +msgid "editor.toolHint.cuts.1y0axps" msgstr "Cuts" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.cutsValue" +msgid "editor.toolHint.cutsValue.ouzhvb" msgstr "Cuts: {value}" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.cutsValueEven" +msgid "editor.toolHint.cutsValueEven.1ngsz3" msgstr "Cuts: {value}, even" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.cycleMonoGableButterfly" +msgid "editor.toolHint.cycleMonoGableButterfly.1poga3m" msgstr "Cycle mono / gable / butterfly" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.cycleSnappingMode" +msgid "editor.toolHint.cycleSnappingMode.1ct0gn6" msgstr "Cycle snapping mode" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.doorStyleClickOrPressL" +msgid "editor.toolHint.doorStyleClickOrPressL.33pe65" msgstr "Door style — click or press L to cycle" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.doorTypeClickOrPressO" +msgid "editor.toolHint.doorTypeClickOrPressO.1hhh8gt" msgstr "Door type — click or press O to cycle" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.dropDownspoutFromOutlet" +msgid "editor.toolHint.dropDownspoutFromOutlet.1k4h1m4" msgstr "Drop downspout from outlet" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.ductDiameterDownUp" +msgid "editor.toolHint.ductDiameterDownUp.1wdz5vq" msgstr "Duct diameter down / up" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.endRunCancel" +msgid "editor.toolHint.endRunCancel.59dh2w" msgstr "End run / cancel" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.exit" +msgid "editor.toolHint.exit.engmg5" msgstr "Exit" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.exitDrawing" +msgid "editor.toolHint.exitDrawing.9noxyb" msgstr "Exit drawing" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.finishAndContinue" +msgid "editor.toolHint.finishAndContinue.1gpfsks" msgstr "Finish and continue" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.finishCeiling" +msgid "editor.toolHint.finishCeiling.1c1lfel" msgstr "Finish ceiling" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.finishGridAxis" +msgid "editor.toolHint.finishGridAxis.1wvrfhr" msgstr "Finish grid axis" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.finishMeasurement" +msgid "editor.toolHint.finishMeasurement.1e4gv16" msgstr "Finish measurement" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.finishMultiPointWitnesses" +msgid "editor.toolHint.finishMultiPointWitnesses.8wzskz" msgstr "Finish multi-point witnesses" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.finishSlab" +msgid "editor.toolHint.finishSlab.xmnm8e" msgstr "Finish slab" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.flipSide" +msgid "editor.toolHint.flipSide.172xku9" msgstr "Flip side" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.followTraceALineset" +msgid "editor.toolHint.followTraceALineset.mgquwe" msgstr "Follow: trace a lineset" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.forcePlace" +msgid "editor.toolHint.forcePlace.1hq1nr" msgstr "Force place" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.freePlacement" +msgid "editor.toolHint.freePlacement.1nztdac" msgstr "Free placement" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.goVerticalClickToPlace" +msgid "editor.toolHint.goVerticalClickToPlace.dg8g6m" msgstr "Go vertical ↕, click to place" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.highlightOutlet" +msgid "editor.toolHint.highlightOutlet.65hoq8" msgstr "Highlight outlet" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.joinAsACornerWindow" +msgid "editor.toolHint.joinAsACornerWindow.jvdp4j" msgstr "Join as a corner window" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.altDrag" +msgid "editor.toolHint.key.altDrag.ai3wn9" msgstr "Alt + drag" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.backspace" +msgid "editor.toolHint.key.backspace.qy6qx8" msgstr "Backspace" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.click" +msgid "editor.toolHint.key.click.m8sun" msgstr "Click" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.clickAgain" +msgid "editor.toolHint.key.clickAgain.190ws9j" msgstr "Click again" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.command" +msgid "editor.toolHint.key.command.1j2mkia" msgstr "Command" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.control" +msgid "editor.toolHint.key.control.10fbl8e" msgstr "Control" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.delete" +msgid "editor.toolHint.key.delete.oay2cq" msgstr "Delete" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.doubleClick" +msgid "editor.toolHint.key.doubleClick.vlma6o" msgstr "Double click" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.drag" +msgid "editor.toolHint.key.drag.8pwtpf" msgstr "Drag" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.enter" +msgid "editor.toolHint.key.enter.1ctpui5" msgstr "Enter" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.hover" +msgid "editor.toolHint.key.hover.6xw79p" msgstr "Hover" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.hoverADuctEnd" +msgid "editor.toolHint.key.hoverADuctEnd.19axr3b" msgstr "Hover a duct end" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.hoverAPipeEnd" +msgid "editor.toolHint.key.hoverAPipeEnd.1jbum5f" msgstr "Hover a pipe end" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.hoverGutter" +msgid "editor.toolHint.key.hoverGutter.1dwcsno" msgstr "Hover gutter" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.leftClick" +msgid "editor.toolHint.key.leftClick.s4gwfc" msgstr "Left click" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.middleClick" +msgid "editor.toolHint.key.middleClick.1jbaan4" msgstr "Middle click" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.rightClick" +msgid "editor.toolHint.key.rightClick.1ovld0h" msgstr "Right click" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.rShiftR" +msgid "editor.toolHint.key.rShiftR.13bnobh" msgstr "R / Shift+R" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.scroll" +msgid "editor.toolHint.key.scroll.ai6wr0" msgstr "Scroll" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.scrollWheel" +msgid "editor.toolHint.key.scrollWheel.18j0ix7" msgstr "Scroll wheel" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.space" +msgid "editor.toolHint.key.space.1hrh82t" msgstr "Space" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.key.tab" +msgid "editor.toolHint.key.tab.1xsal0s" msgstr "Tab" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.mountFloorCeilingWall" +msgid "editor.toolHint.mountFloorCeilingWall.32dxpv" msgstr "Mount: floor / ceiling / wall" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.noRoomForTheMatchingWindow" +msgid "editor.toolHint.noRoomForTheMatchingWindow.1755948" msgstr "No room for the matching window on the other wall" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.noWallMeetsHere" +msgid "editor.toolHint.noWallMeetsHere.19n99yc" msgstr "No wall meets here" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.numberOfCutsScrollOrClick" +msgid "editor.toolHint.numberOfCutsScrollOrClick.1kqe84b" msgstr "Number of cuts — scroll or click to change" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.pickWitnessPoint" +msgid "editor.toolHint.pickWitnessPoint.k3hgh1" msgstr "Pick witness point" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.pipeSizeDownUp" +msgid "editor.toolHint.pipeSizeDownUp.wp04og" msgstr "Pipe size down / up" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeAndContinue" +msgid "editor.toolHint.placeAndContinue.qfwkrq" msgstr "Place and continue" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeBlock" +msgid "editor.toolHint.placeBlock.1aylwrx" msgstr "Place block" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeBoxVentOnRoof" +msgid "editor.toolHint.placeBoxVentOnRoof.kf88e5" msgstr "Place box vent on roof" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeCabinet" +msgid "editor.toolHint.placeCabinet.b0ouyk" msgstr "Place cabinet" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeCanopyOrSetTheNext" +msgid "editor.toolHint.placeCanopyOrSetTheNext.12l7zf8" msgstr "Place canopy or set the next run point" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeChimneyOnRoof" +msgid "editor.toolHint.placeChimneyOnRoof.19dbqu" msgstr "Place chimney on roof" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeColumn" +msgid "editor.toolHint.placeColumn.1w2vq86" msgstr "Place column" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeCupolaOnRoof" +msgid "editor.toolHint.placeCupolaOnRoof.ofx3bn" msgstr "Place cupola on roof" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeDimensionLineWhenNeeded" +msgid "editor.toolHint.placeDimensionLineWhenNeeded.bjw2cj" msgstr "Place dimension line when needed" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeDoorOnWall" +msgid "editor.toolHint.placeDoorOnWall.1jwadf" msgstr "Place door on wall" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeDormerOnRoof" +msgid "editor.toolHint.placeDormerOnRoof.1w518a6" msgstr "Place dormer on roof" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeElevator" +msgid "editor.toolHint.placeElevator.1f65zva" msgstr "Place elevator" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeEyebrowVentOnRoof" +msgid "editor.toolHint.placeEyebrowVentOnRoof.1h1tqxn" msgstr "Place eyebrow vent on roof" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeFitting" +msgid "editor.toolHint.placeFitting.1pmx3vn" msgstr "Place fitting" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeGutterOnRoofEave" +msgid "editor.toolHint.placeGutterOnRoofEave.llwzf9" msgstr "Place gutter on roof eave" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeItem" +msgid "editor.toolHint.placeItem.teynf" msgstr "Place item" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeItLockedTo45" +msgid "editor.toolHint.placeItLockedTo45.16e4csk" msgstr "Place it (locked to 45°)" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeMeasurementPoint" +msgid "editor.toolHint.placeMeasurementPoint.bsatli" msgstr "Place measurement point" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placement" +msgid "editor.toolHint.placement.13lcvts" msgstr "Placement" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placementAuto" +msgid "editor.toolHint.placementAuto.1caa52d" msgstr "Placement: Auto" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placementGround" +msgid "editor.toolHint.placementGround.1ruz145" msgstr "Placement: Ground" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placementRoof" +msgid "editor.toolHint.placementRoof.renkw8" msgstr "Placement: Roof" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placementSurfaceClickOrPressP" +msgid "editor.toolHint.placementSurfaceClickOrPressP.w56h19" msgstr "Placement surface - click or press P to cycle" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placementType" +msgid "editor.toolHint.placementType.1mdpl60" msgstr "Placement type" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placementTypeClickOrPressI" +msgid "editor.toolHint.placementTypeClickOrPressI.10cgxh2" msgstr "Placement type — click or press I to toggle" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeOnAFence" +msgid "editor.toolHint.placeOnAFence.1dptstr" msgstr "Place on a fence" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeRegister" +msgid "editor.toolHint.placeRegister.1uebycd" msgstr "Place register" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeRidgeVentOnRoof" +msgid "editor.toolHint.placeRidgeVentOnRoof.2tpd8r" msgstr "Place ridge vent on roof" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeShelf" +msgid "editor.toolHint.placeShelf.y4l3iw" msgstr "Place shelf" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeSkylightOnRoof" +msgid "editor.toolHint.placeSkylightOnRoof.e215pe" msgstr "Place skylight on roof" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeSolarPanelArrayOnRoof" +msgid "editor.toolHint.placeSolarPanelArrayOnRoof.kk11fn" msgstr "Place solar panel array on roof" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeSpawnPoint" +msgid "editor.toolHint.placeSpawnPoint.205o25" msgstr "Place spawn point" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeStairs" +msgid "editor.toolHint.placeStairs.zwxxu2" msgstr "Place stairs" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeTrap" +msgid "editor.toolHint.placeTrap.1gxemn3" msgstr "Place trap" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeTurbineVentOnRoof" +msgid "editor.toolHint.placeTurbineVentOnRoof.1iqeluf" msgstr "Place turbine vent on roof" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeUnit" +msgid "editor.toolHint.placeUnit.8zkx4q" msgstr "Place unit" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeWindowOnWall" +msgid "editor.toolHint.placeWindowOnWall.1k3qnfb" msgstr "Place window on wall" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.placeWithoutTheCornerSnap" +msgid "editor.toolHint.placeWithoutTheCornerSnap.1nifqew" msgstr "Place without the corner snap" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.removeLastPoint" +msgid "editor.toolHint.removeLastPoint.2dmdcx" msgstr "Remove last point" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.removeLastWitness" +msgid "editor.toolHint.removeLastWitness.1b6vvzw" msgstr "Remove last witness" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.rotate" +msgid "editor.toolHint.rotate.1thqa0a" msgstr "Rotate" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.rotate45" +msgid "editor.toolHint.rotate45.9zq68u" msgstr "Rotate ±45°" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.rotate45FloorCeiling" +msgid "editor.toolHint.rotate45FloorCeiling.m9t57d" msgstr "Rotate ±45° (floor / ceiling)" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.rotateGhost15" +msgid "editor.toolHint.rotateGhost15.rsa52c" msgstr "Rotate ghost ±15°" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.rotateOrFlipTheRunSide" +msgid "editor.toolHint.rotateOrFlipTheRunSide.t5ior7" msgstr "Rotate or flip the run side" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.rotateRoofDirection90" +msgid "editor.toolHint.rotateRoofDirection90.tvbji2" msgstr "Rotate roof direction 90°" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.rotateSpawnPoint" +msgid "editor.toolHint.rotateSpawnPoint.1opcuu7" msgstr "Rotate spawn point" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.roundRectangularOval" +msgid "editor.toolHint.roundRectangularOval.e4nh6x" msgstr "Round / rectangular / oval" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.setFenceStartEnd" +msgid "editor.toolHint.setFenceStartEnd.1phbwsq" msgstr "Set fence start / end" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.setOneCornerThenTheOpposite" +msgid "editor.toolHint.setOneCornerThenTheOpposite.8tsl49" msgstr "Set one corner, then the opposite" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.setRoofFootprint" +msgid "editor.toolHint.setRoofFootprint.p50n0o" msgstr "Set roof footprint" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.setWallStartEnd" +msgid "editor.toolHint.setWallStartEnd.1r8ubcx" msgstr "Set wall start / end" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.slopeLevel" +msgid "editor.toolHint.slopeLevel.ftqp67" msgstr "Slope / level" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.snapOntoTheRun" +msgid "editor.toolHint.snapOntoTheRun.86yhmp" msgstr "Snap onto the run" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.splitAtTheMarks" +msgid "editor.toolHint.splitAtTheMarks.x5tpdd" msgstr "Split at the marks" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.startGridAxis" +msgid "editor.toolHint.startGridAxis.k92yza" msgstr "Start grid axis" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.startLineset" +msgid "editor.toolHint.startLineset.23q8dh" msgstr "Start lineset" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.startLiquidLine" +msgid "editor.toolHint.startLiquidLine.1rlxsgd" msgstr "Start liquid line" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.startRun" +msgid "editor.toolHint.startRun.r6fc5u" msgstr "Start run" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.startSegment" +msgid "editor.toolHint.startSegment.rolym6" msgstr "Start segment" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.stepBackOrCancel" +msgid "editor.toolHint.stepBackOrCancel.zbfdkn" msgstr "Step back or cancel" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.style" +msgid "editor.toolHint.style.nf3vcm" msgstr "Style" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.styleBarn" +msgid "editor.toolHint.styleBarn.k9n1x" msgstr "Style: Barn" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.styleCasement" +msgid "editor.toolHint.styleCasement.ziklec" msgstr "Style: Casement" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.styleCraftsman" +msgid "editor.toolHint.styleCraftsman.52e6a9" msgstr "Style: Craftsman" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.styleDoubleHung" +msgid "editor.toolHint.styleDoubleHung.1lg8pkg" msgstr "Style: Double-hung" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.styleFrench" +msgid "editor.toolHint.styleFrench.1ue3j64" msgstr "Style: French" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.styleGlass" +msgid "editor.toolHint.styleGlass.qudnb4" msgstr "Style: Glass" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.styleGrid" +msgid "editor.toolHint.styleGrid.1vuq4po" msgstr "Style: Grid" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.styleHalfLouvered" +msgid "editor.toolHint.styleHalfLouvered.13b1few" msgstr "Style: Half-louvered" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.styleHorizontalBands" +msgid "editor.toolHint.styleHorizontalBands.12ethxk" msgstr "Style: Horizontal bands" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.styleModern" +msgid "editor.toolHint.styleModern.1fh8hhn" msgstr "Style: Modern" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.stylePanel" +msgid "editor.toolHint.stylePanel.922jze" msgstr "Style: Panel" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.stylePaneledGlass" +msgid "editor.toolHint.stylePaneledGlass.17a17en" msgstr "Style: Paneled glass" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.styleShaker" +msgid "editor.toolHint.styleShaker.49z17k" msgstr "Style: Shaker" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.styleSingle" +msgid "editor.toolHint.styleSingle.6f3cm0" msgstr "Style: Single" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.styleSixPanel" +msgid "editor.toolHint.styleSixPanel.u49laj" msgstr "Style: Six-panel" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.styleSliding" +msgid "editor.toolHint.styleSliding.q81s0i" msgstr "Style: Sliding" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.styleTallGrid" +msgid "editor.toolHint.styleTallGrid.1eotg3x" msgstr "Style: Tall grid" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.styleTransom" +msgid "editor.toolHint.styleTransom.kb9bh6" msgstr "Style: Transom" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.styleTripleHung" +msgid "editor.toolHint.styleTripleHung.pxnqi3" msgstr "Style: Triple-hung" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.styleWideGrid" +msgid "editor.toolHint.styleWideGrid.12n27et" msgstr "Style: Wide grid" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.switchRotationAxisYXZ" +msgid "editor.toolHint.switchRotationAxisYXZ.15lohm6" msgstr "Switch rotation axis (Y → X → Z)" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.theWallsMeetAtTooSharp" +msgid "editor.toolHint.theWallsMeetAtTooSharp.kh3wi3" msgstr "The walls meet at too sharp or too flat an angle" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.theWindowWaitingThereIsTaller" +msgid "editor.toolHint.theWindowWaitingThereIsTaller.1tqwez4" msgstr "The window waiting there is taller than this wall" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.threeOrMoreWallsMeetHere" +msgid "editor.toolHint.threeOrMoreWallsMeetHere.rgifif" msgstr "Three or more walls meet here" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.traceCeilingOutline" +msgid "editor.toolHint.traceCeilingOutline.1b639wv" msgstr "Trace ceiling outline" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.traceSlabOutline" +msgid "editor.toolHint.traceSlabOutline.z0j2lc" msgstr "Trace slab outline" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.type" +msgid "editor.toolHint.type.1m2zofh" msgstr "Type" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.typeAwning" +msgid "editor.toolHint.typeAwning.1cj59al" msgstr "Type: Awning" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.typeBarn" +msgid "editor.toolHint.typeBarn.sbnygq" msgstr "Type: Barn" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.typeBay" +msgid "editor.toolHint.typeBay.1200hc1" msgstr "Type: Bay" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.typeBow" +msgid "editor.toolHint.typeBow.14s2t9p" msgstr "Type: Bow" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.typeCabinet" +msgid "editor.toolHint.typeCabinet.1r68je5" msgstr "Type: Cabinet" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.typeCasement" +msgid "editor.toolHint.typeCasement.176uo9j" msgstr "Type: Casement" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.typeDouble" +msgid "editor.toolHint.typeDouble.af7w4i" msgstr "Type: Double" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.typeDoubleHung" +msgid "editor.toolHint.typeDoubleHung.t482fu" msgstr "Type: Double Hung" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.typeFixed" +msgid "editor.toolHint.typeFixed.v1cjez" msgstr "Type: Fixed" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.typeFolding" +msgid "editor.toolHint.typeFolding.sxxyng" msgstr "Type: Folding" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.typeFrench" +msgid "editor.toolHint.typeFrench.1y57z1b" msgstr "Type: French" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.typeHinged" +msgid "editor.toolHint.typeHinged.1xrcfju" msgstr "Type: Hinged" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.typeIsland" +msgid "editor.toolHint.typeIsland.ufr3ce" msgstr "Type: Island" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.typeLouvered" +msgid "editor.toolHint.typeLouvered.oxl1cz" msgstr "Type: Louvered" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.typePocket" +msgid "editor.toolHint.typePocket.hc65x9" msgstr "Type: Pocket" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.typeSingleHung" +msgid "editor.toolHint.typeSingleHung.p53pyl" msgstr "Type: Single Hung" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.typeSliding" +msgid "editor.toolHint.typeSliding.nwmr3f" msgstr "Type: Sliding" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.verticalStackClickToPlace" +msgid "editor.toolHint.verticalStackClickToPlace.ijcn4q" msgstr "Vertical stack ↕, click to place" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.wasteVent" +msgid "editor.toolHint.wasteVent.1hvi3vj" msgstr "Waste / vent" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.windowStyleClickOrPressL" +msgid "editor.toolHint.windowStyleClickOrPressL.ah7qm9" msgstr "Window style — click or press L to cycle" #: packages/nodes/src/i18n/definition-messages.ts -msgid "editor.toolHint.windowTypeClickOrPressO" +msgid "editor.toolHint.windowTypeClickOrPressO.wv4x35" msgstr "Window type — click or press O to cycle" #: packages/editor/src/components/editor/views/view-bar.tsx diff --git a/packages/editor/src/i18n/locales/en/messages.ts b/packages/editor/src/i18n/locales/en/messages.ts index f6590438d1..7bb6c459d0 100644 --- a/packages/editor/src/i18n/locales/en/messages.ts +++ b/packages/editor/src/i18n/locales/en/messages.ts @@ -1 +1 @@ -/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"app.appShell.pascalHome\":[\"Pascal home\"],\"app.buildTab.addGate\":[\"Add Gate\"],\"app.buildTab.addOpenPassage\":[\"Add Open Passage\"],\"app.buildTab.addToRooms\":[\"Add to rooms\"],\"app.buildTab.allBuildTools\":[\"← All build tools\"],\"app.buildTab.chooseGateOrOpenPassageThen\":[\"Choose Gate or Open Passage, then click its position on any fence. Find placed gates and openings under their fence in the scene graph.\"],\"app.buildTab.clickALinesetToLayThe\":[\"Click a lineset to lay the line beside it.\"],\"app.buildTab.doubleGate\":[\"Double gate\"],\"app.buildTab.featuresExtensions\":[\"Features & extensions\"],\"app.buildTab.fenceFeatures\":[\"Fence features\"],\"app.buildTab.followLineset\":[\"Follow lineset\"],\"app.buildTab.gate\":[\"Gate\"],\"app.buildTab.gateStyle\":[\"Gate style\"],\"app.buildTab.horizontalBoards\":[\"Horizontal boards\"],\"app.buildTab.hoverAFenceToPreviewClick\":[\"Hover a fence to preview. Click to place. Esc cancels. Leave room between openings.\"],\"app.buildTab.leaves\":[\"Leaves\"],\"app.buildTab.liquidLine\":[\"Liquid Line\"],\"app.buildTab.matchFenceStyle\":[\"Match fence style\"],\"app.buildTab.mep\":[\"MEP\"],\"app.buildTab.off\":[\"Off\"],\"app.buildTab.on\":[\"On\"],\"app.buildTab.openRails\":[\"Open rails\"],\"app.buildTab.opening\":[\"Opening\"],\"app.buildTab.openingWidthM\":[\"Opening width (m)\"],\"app.buildTab.outdoor\":[\"Outdoor\"],\"app.buildTab.picket\":[\"Picket\"],\"app.buildTab.roofType\":[\"Roof type\"],\"app.buildTab.roomsAlreadyCreateTheirFloorAnd\":[\"Rooms already create their floor and ceiling. Use these for platforms and one-off structure.\"],\"app.buildTab.searchBuildToolsAndKitchenItems\":[\"Search build tools and kitchen items\"],\"app.buildTab.searchToolsFridgeSink\":[\"Search tools, fridge, sink…\"],\"app.buildTab.selectACurvedWallToMatch\":[\"Select a curved wall to match its radius and arc.\"],\"app.buildTab.singleGate\":[\"Single gate\"],\"app.buildTab.slabCeilingColumn\":[\"Slab, ceiling, column…\"],\"app.buildTab.solidPrivacy\":[\"Solid privacy\"],\"app.buildTab.traceALineAlongsideAnExisting\":[\"Trace a line alongside an existing lineset (F).\"],\"app.buildTab.verticalSlats\":[\"Vertical slats\"],\"app.editorNavbar.allProjects\":[\"All projects\"],\"app.editorNavbar.preview\":[\"Preview\"],\"app.editorNavbar.projectName\":[\"Project name\"],\"app.editorNavbar.renameProject\":[\"Rename project\"],\"app.editorNavbar.share\":[\"Share\"],\"app.kitchenBrowser.addLabel\":[\"Add \",[\"label\"]],\"app.kitchenBrowser.addToKitchen\":[\"Add to kitchen\"],\"app.kitchenBrowser.chooseAnItemThenClickTo\":[\"Choose an item, then click to place it. Appliances include their cabinetry.\"],\"app.kitchenBrowser.findInThisProjectLength\":[\"Find in this project · \",[\"length\"]],\"app.kitchenBrowser.findName\":[\"Find \",[\"name\"]],\"app.kitchenBrowser.groupAdd\":[\"Kitchen · Add\"],\"app.kitchenBrowser.groupInThisProject\":[\"Kitchen · In this project\"],\"app.kitchenBrowser.kitchenCabinet\":[\"Kitchen cabinet\"],\"app.kitchenBrowser.noMatchingKitchenItemsPlacedYet\":[\"No matching kitchen items placed yet.\"],\"app.kitchenBrowser.selectAndShowInScene\":[\"Select and show in scene\"],\"app.lib.buildPalette.ceiling\":[\"Ceiling\"],\"app.lib.buildPalette.column\":[\"Column\"],\"app.lib.buildPalette.door\":[\"Door\"],\"app.lib.buildPalette.duct\":[\"Duct\"],\"app.lib.buildPalette.dwvPipe\":[\"DWV Pipe\"],\"app.lib.buildPalette.elevator\":[\"Elevator\"],\"app.lib.buildPalette.fence\":[\"Fence\"],\"app.lib.buildPalette.hvacUnit\":[\"HVAC Unit\"],\"app.lib.buildPalette.kitchen\":[\"Kitchen\"],\"app.lib.buildPalette.lineset\":[\"Lineset\"],\"app.lib.buildPalette.liquidLine\":[\"Liquid Line\"],\"app.lib.buildPalette.mep\":[\"MEP\"],\"app.lib.buildPalette.register\":[\"Register\"],\"app.lib.buildPalette.roof\":[\"Roof\"],\"app.lib.buildPalette.shelf\":[\"Shelf\"],\"app.lib.buildPalette.slab\":[\"Slab\"],\"app.lib.buildPalette.spawnPoint\":[\"Spawn point\"],\"app.lib.buildPalette.stairs\":[\"Stairs\"],\"app.lib.buildPalette.terrace\":[\"Terrace\"],\"app.lib.buildPalette.terrain\":[\"Terrain\"],\"app.lib.buildPalette.wall\":[\"Wall\"],\"app.lib.buildPalette.window\":[\"Window\"],\"app.lib.buildPanelModel.addFitting\":[\"Add Fitting\"],\"app.lib.buildPanelModel.addGate\":[\"Add Gate\"],\"app.lib.buildPanelModel.addOpenPassage\":[\"Add Open Passage\"],\"app.lib.buildPanelModel.addTrap\":[\"Add Trap\"],\"app.lib.buildPanelModel.build\":[\"Build\"],\"app.lib.buildPanelModel.createFrom\":[\"Create from\"],\"app.lib.buildPanelModel.drawTheRoofFootprintWithTwo\":[\"Draw the roof footprint with two corner clicks.\"],\"app.lib.buildPanelModel.duct\":[\"Duct\"],\"app.lib.buildPanelModel.dwvPipe\":[\"DWV Pipe\"],\"app.lib.buildPanelModel.featuresExtensions\":[\"Features & extensions\"],\"app.lib.buildPanelModel.fence\":[\"Fence\"],\"app.lib.buildPanelModel.followLineset\":[\"Follow lineset\"],\"app.lib.buildPanelModel.gatesOpenings\":[\"Gates & openings\"],\"app.lib.buildPanelModel.hoverARoomToPreviewIts\":[\"Hover a room to preview its boundary, then click to place.\"],\"app.lib.buildPanelModel.kitchen\":[\"Kitchen\"],\"app.lib.buildPanelModel.mep\":[\"MEP\"],\"app.lib.buildPanelModel.modularCabinet\":[\"Modular Cabinet\"],\"app.lib.buildPanelModel.off\":[\"Off\"],\"app.lib.buildPanelModel.on\":[\"On\"],\"app.lib.buildPanelModel.painting\":[\"Painting\"],\"app.lib.buildPanelModel.roof\":[\"Roof\"],\"app.lib.buildPanelModel.roofType\":[\"Roof type\"],\"app.lib.buildPanelModel.toolCount\":[[\"count\",\"plural\",{\"one\":[\"#\",\" tool\"],\"other\":[\"#\",\" tools\"]}]],\"app.lib.buildTabState.conical\":[\"Conical\"],\"app.lib.buildTabState.draw\":[\"Draw\"],\"app.lib.buildTabState.dutch\":[\"Dutch\"],\"app.lib.buildTabState.flat\":[\"Flat\"],\"app.lib.buildTabState.gable\":[\"Gable\"],\"app.lib.buildTabState.gambrel\":[\"Gambrel\"],\"app.lib.buildTabState.hip\":[\"Hip\"],\"app.lib.buildTabState.mansard\":[\"Mansard\"],\"app.lib.buildTabState.room\":[\"Room\"],\"app.lib.buildTabState.shed\":[\"Shed\"],\"app.lib.buildTabState.wall\":[\"Wall\"],\"app.sharePanel.anyoneWithTheLinkCanView\":[\"Anyone with the link can view this project. They cannot edit it.\"],\"app.sharePanel.copied\":[\"Copied\"],\"app.sharePanel.copy\":[\"Copy\"],\"app.sharePanel.couldNotReadTheSharingState\":[\"Could not read the sharing state.\"],\"app.sharePanel.couldNotTurnOffThePublic\":[\"Could not turn off the public link.\"],\"app.sharePanel.couldNotTurnOnThePublic\":[\"Could not turn on the public link.\"],\"app.sharePanel.embedCode\":[\"Embed code\"],\"app.sharePanel.embedLink\":[\"Embed link\"],\"app.sharePanel.hideControls\":[\"Hide controls\"],\"app.sharePanel.link\":[\"Link\"],\"app.sharePanel.onlyThe3dViewNoHeader\":[\"Only the 3D view, no header or toolbar.\"],\"app.sharePanel.open\":[\"Open\"],\"app.sharePanel.publicLink\":[\"Public link\"],\"app.sharePanel.shareProject\":[\"Share project\"],\"app.viewerToolbar.automaticDimensions\":[\"Automatic dimensions\"],\"app.viewerToolbar.camera\":[\"Camera\"],\"app.viewerToolbar.cleanPlanDimensionsAppearWithSelection\":[\"Clean plan; dimensions appear with selection\"],\"app.viewerToolbar.collapseSidebar\":[\"Collapse sidebar\"],\"app.viewerToolbar.crispOpaqueEdgeLines\":[\"Crisp, opaque edge lines\"],\"app.viewerToolbar.cutaway\":[\"Cutaway\"],\"app.viewerToolbar.default\":[\"Default\"],\"app.viewerToolbar.display\":[\"Display\"],\"app.viewerToolbar.displaySettings\":[\"Display settings\"],\"app.viewerToolbar.doorWindowMarks\":[\"Door/window marks\"],\"app.viewerToolbar.edges\":[\"Edges\"],\"app.viewerToolbar.enterVr\":[\"Enter VR\"],\"app.viewerToolbar.exitVr\":[\"Exit VR\"],\"app.viewerToolbar.expandSidebar\":[\"Expand sidebar\"],\"app.viewerToolbar.expert\":[\"Expert\"],\"app.viewerToolbar.exploded\":[\"Exploded\"],\"app.viewerToolbar.faceOfStud\":[\"Face of stud\"],\"app.viewerToolbar.faintOutlineOfMajorCreases\":[\"Faint outline of major creases\"],\"app.viewerToolbar.feetInches\":[\"Feet & inches\"],\"app.viewerToolbar.finishedFaces\":[\"Finished faces\"],\"app.viewerToolbar.flatAndFastNoAmbientOcclusion\":[\"Flat and fast — no ambient occlusion\"],\"app.viewerToolbar.floorPlanAnnotations\":[\"Floor plan annotations\"],\"app.viewerToolbar.floorPlanMode\":[\"Floor plan mode\"],\"app.viewerToolbar.fullAmbientOcclusion\":[\"Full ambient occlusion\"],\"app.viewerToolbar.fullDocumentationAndAnnotationControls\":[\"Full documentation and annotation controls\"],\"app.viewerToolbar.fullHeight\":[\"Full height\"],\"app.viewerToolbar.fullWallThickness\":[\"Full wall thickness\"],\"app.viewerToolbar.grid\":[\"Grid\"],\"app.viewerToolbar.levelsMode\":[\"Levels: \",[\"mode\"]],\"app.viewerToolbar.low\":[\"Low\"],\"app.viewerToolbar.magneticSnap\":[\"Magnetic snap\"],\"app.viewerToolbar.manual\":[\"Manual\"],\"app.viewerToolbar.manualDimensions\":[\"Manual dimensions\"],\"app.viewerToolbar.measurements\":[\"Measurements\"],\"app.viewerToolbar.meters\":[\"Meters\"],\"app.viewerToolbar.millimeters\":[\"Millimeters\"],\"app.viewerToolbar.n3dMeasurements\":[\"3D measurements\"],\"app.viewerToolbar.noEdgeLines\":[\"No edge lines\"],\"app.viewerToolbar.off\":[\"Off\"],\"app.viewerToolbar.on\":[\"On\"],\"app.viewerToolbar.orthographic\":[\"Orthographic\"],\"app.viewerToolbar.perspective\":[\"Perspective\"],\"app.viewerToolbar.preview\":[\"Preview\"],\"app.viewerToolbar.previewMode\":[\"Preview mode\"],\"app.viewerToolbar.render\":[\"Render\"],\"app.viewerToolbar.rendered\":[\"Rendered\"],\"app.viewerToolbar.roomLabels\":[\"Room labels\"],\"app.viewerToolbar.sceneTheme\":[\"Scene theme\"],\"app.viewerToolbar.shadows\":[\"Shadows\"],\"app.viewerToolbar.singleWallAxis\":[\"Single wall axis\"],\"app.viewerToolbar.soft\":[\"Soft\"],\"app.viewerToolbar.solid\":[\"Solid\"],\"app.viewerToolbar.solo\":[\"Solo\"],\"app.viewerToolbar.stack\":[\"Stack\"],\"app.viewerToolbar.stairAnnotations\":[\"Stair annotations\"],\"app.viewerToolbar.strong\":[\"Strong\"],\"app.viewerToolbar.structuralCoreFace\":[\"Structural core face\"],\"app.viewerToolbar.structuralGridsColumnCenters\":[\"Structural grids & column centers\"],\"app.viewerToolbar.translucent\":[\"Translucent\"],\"app.viewerToolbar.units\":[\"Units\"],\"app.viewerToolbar.walkthrough\":[\"Walkthrough\"],\"app.viewerToolbar.wallCenterline\":[\"Wall centerline\"],\"app.viewerToolbar.wallDimensions\":[\"Wall dimensions\"],\"app.viewerToolbar.wallsLabel\":[\"Walls: \",[\"label\"]],\"core.level.basement\":[\"Basement\"],\"core.level.basementNumber\":[\"Basement \",[\"number\"]],\"core.level.floorNumber\":[\"Floor \",[\"number\"]],\"core.level.groundFloor\":[\"Ground floor\"],\"editor.actionMenu.cameraActions.orbitLeft\":[\"Orbit Left\"],\"editor.actionMenu.cameraActions.orbitRight\":[\"Orbit Right\"],\"editor.actionMenu.cameraActions.topView\":[\"Top View\"],\"editor.actionMenu.controlModes.delete\":[\"Delete\"],\"editor.actionMenu.controlModes.select\":[\"Select\"],\"editor.actionMenu.followPascalPill.resumeFollowing\":[\"Resume following\"],\"editor.actionMenu.followPascalToggle.off\":[\"Follow Pascal: Off\"],\"editor.actionMenu.followPascalToggle.on\":[\"Follow Pascal: On\"],\"editor.actionMenu.furnishTools.appliance\":[\"Appliance\"],\"editor.actionMenu.furnishTools.bathroom\":[\"Bathroom\"],\"editor.actionMenu.furnishTools.furniture\":[\"Furniture\"],\"editor.actionMenu.furnishTools.kitchen\":[\"Kitchen\"],\"editor.actionMenu.furnishTools.outdoor\":[\"Outdoor\"],\"editor.actionMenu.measurementControl.angle\":[\"Angle\"],\"editor.actionMenu.measurementControl.angularDimension\":[\"Angular dimension\"],\"editor.actionMenu.measurementControl.arcLength\":[\"Arc length\"],\"editor.actionMenu.measurementControl.area\":[\"Area\"],\"editor.actionMenu.measurementControl.centerMark\":[\"Center mark\"],\"editor.actionMenu.measurementControl.chordDimension\":[\"Chord dimension\"],\"editor.actionMenu.measurementControl.continuousDimension\":[\"Continuous dimension\"],\"editor.actionMenu.measurementControl.coordinateDimensions\":[\"Coordinate dimensions\"],\"editor.actionMenu.measurementControl.diameterDimension\":[\"Diameter dimension\"],\"editor.actionMenu.measurementControl.distance\":[\"Distance\"],\"editor.actionMenu.measurementControl.floorPlan\":[\"Floor plan\"],\"editor.actionMenu.measurementControl.linearDimension\":[\"Linear dimension\"],\"editor.actionMenu.measurementControl.measureSelectedlabel\":[\"Measure: \",[\"selectedLabel\"]],\"editor.actionMenu.measurementControl.measurementOptions\":[\"Measurement options\"],\"editor.actionMenu.measurementControl.measurementType\":[\"Measurement type\"],\"editor.actionMenu.measurementControl.perimeter\":[\"Perimeter\"],\"editor.actionMenu.measurementControl.radiusDimension\":[\"Radius dimension\"],\"editor.actionMenu.measurementControl.smart\":[\"Smart\"],\"editor.actionMenu.measurementControl.volume\":[\"Volume\"],\"editor.actionMenu.pointAskButton.pointAndAsk\":[\"Point and ask\"],\"editor.actionMenu.pointAskButton.pointAndAskC\":[\"Point and ask (C)\"],\"editor.actionMenu.pointAskButton.pointAndAskWorksInThe\":[\"Point and ask works in the 3D view\"],\"editor.actionMenu.structureTools.ceiling\":[\"Ceiling\"],\"editor.actionMenu.structureTools.column\":[\"Column\"],\"editor.actionMenu.structureTools.door\":[\"Door\"],\"editor.actionMenu.structureTools.duct\":[\"Duct\"],\"editor.actionMenu.structureTools.ductFitting\":[\"Duct Fitting\"],\"editor.actionMenu.structureTools.dwvPipe\":[\"DWV Pipe\"],\"editor.actionMenu.structureTools.elevator\":[\"Elevator\"],\"editor.actionMenu.structureTools.fence\":[\"Fence\"],\"editor.actionMenu.structureTools.gableRoof\":[\"Gable Roof\"],\"editor.actionMenu.structureTools.hvacUnit\":[\"HVAC Unit\"],\"editor.actionMenu.structureTools.lineset\":[\"Lineset\"],\"editor.actionMenu.structureTools.liquidLine\":[\"Liquid Line\"],\"editor.actionMenu.structureTools.pipeFitting\":[\"Pipe Fitting\"],\"editor.actionMenu.structureTools.register\":[\"Register\"],\"editor.actionMenu.structureTools.shelf\":[\"Shelf\"],\"editor.actionMenu.structureTools.slab\":[\"Slab\"],\"editor.actionMenu.structureTools.spawnPoint\":[\"Spawn Point\"],\"editor.actionMenu.structureTools.stairs\":[\"Stairs\"],\"editor.actionMenu.structureTools.trap\":[\"Trap\"],\"editor.actionMenu.structureTools.wall\":[\"Wall\"],\"editor.actionMenu.structureTools.window\":[\"Window\"],\"editor.actionMenu.structureTools.zone\":[\"Zone\"],\"editor.actionMenu.viewToggles.below\":[\"below\"],\"editor.actionMenu.viewToggles.deleteGuideImage\":[\"Delete guide image\"],\"editor.actionMenu.viewToggles.deleteScan\":[\"Delete scan\"],\"editor.actionMenu.viewToggles.guideCount\":[[\"count\",\"plural\",{\"one\":[\"#\",\" guide image on this level\"],\"other\":[\"#\",\" guide images on this level\"]}]],\"editor.actionMenu.viewToggles.guideImageNumber\":[\"Guide image \",[\"number\"]],\"editor.actionMenu.viewToggles.guideImageSettings\":[\"Guide image settings\"],\"editor.actionMenu.viewToggles.guideImages\":[\"Guide images\"],\"editor.actionMenu.viewToggles.guides\":[\"Guides\"],\"editor.actionMenu.viewToggles.guidesHidden\":[\"Guides: Hidden\"],\"editor.actionMenu.viewToggles.guidesVisible\":[\"Guides: Visible\"],\"editor.actionMenu.viewToggles.hideGuideImages\":[\"Hide guide images\"],\"editor.actionMenu.viewToggles.hideReferenceFloor\":[\"Hide reference floor\"],\"editor.actionMenu.viewToggles.hideScans\":[\"Hide scans\"],\"editor.actionMenu.viewToggles.noLowerFloorAvailable\":[\"No lower floor available.\"],\"editor.actionMenu.viewToggles.opacity\":[\"Opacity\"],\"editor.actionMenu.viewToggles.referenceFloor\":[\"Reference floor\"],\"editor.actionMenu.viewToggles.referenceFloorSelectedlevelname\":[\"Reference floor: \",[\"selectedLevelName\"]],\"editor.actionMenu.viewToggles.referenceFloorSettings\":[\"Reference floor settings\"],\"editor.actionMenu.viewToggles.referenceSettings\":[\"Reference settings\"],\"editor.actionMenu.viewToggles.references\":[\"References\"],\"editor.actionMenu.viewToggles.referencesEmpty\":[\"Upload GLB meshes as scan references or blueprint images as guide references.\"],\"editor.actionMenu.viewToggles.referencesHidden\":[\"References: Hidden\"],\"editor.actionMenu.viewToggles.referencesVisible\":[\"References: Visible\"],\"editor.actionMenu.viewToggles.riserDiagram\":[\"Riser diagram\"],\"editor.actionMenu.viewToggles.scanCount\":[[\"count\",\"plural\",{\"one\":[\"#\",\" scan on this level\"],\"other\":[\"#\",\" scans on this level\"]}]],\"editor.actionMenu.viewToggles.scanNumber\":[\"Scan \",[\"number\"]],\"editor.actionMenu.viewToggles.scanSettings\":[\"Scan settings\"],\"editor.actionMenu.viewToggles.scans\":[\"Scans\"],\"editor.actionMenu.viewToggles.scansHidden\":[\"Scans: Hidden\"],\"editor.actionMenu.viewToggles.scansVisible\":[\"Scans: Visible\"],\"editor.actionMenu.viewToggles.showGuideImages\":[\"Show guide images\"],\"editor.actionMenu.viewToggles.showReferenceFloor\":[\"Show reference floor\"],\"editor.actionMenu.viewToggles.showScans\":[\"Show scans\"],\"editor.actionMenu.viewToggles.uploadScanOrGuideImage\":[\"Upload scan or guide image\"],\"editor.backToHome\":[\"Back to home\"],\"editor.buildPanel.advanced\":[\"Advanced\"],\"editor.buildPanel.rooms.hint\":[\"walls · floor · ceiling\"],\"editor.buildPanel.rooms.idle\":[\"Pick a shape to start. Every room brings its own walls, floor and ceiling.\"],\"editor.buildPanel.rooms.polygon.caption\":[[\"lead\"],\" then the first one again to close. For L-shapes and angled rooms.\"],\"editor.buildPanel.rooms.polygon.label\":[\"Polygon\"],\"editor.buildPanel.rooms.polygon.lead\":[\"Click each corner,\"],\"editor.buildPanel.rooms.polygon.title\":[\"Polygon room\"],\"editor.buildPanel.rooms.rectangle.caption\":[[\"lead\"],\" on the grid. Walls, floor and ceiling are created together.\"],\"editor.buildPanel.rooms.rectangle.label\":[\"Rectangle\"],\"editor.buildPanel.rooms.rectangle.lead\":[\"Click two corners\"],\"editor.buildPanel.rooms.rectangle.title\":[\"Rectangle room\"],\"editor.buildPanel.rooms.title\":[\"Rooms\"],\"editor.buildPanel.rooms.walls.caption\":[[\"lead\"],\" Close a loop and it becomes a room; leave it open for partitions.\"],\"editor.buildPanel.rooms.walls.label\":[\"Walls\"],\"editor.buildPanel.rooms.walls.lead\":[\"Draw one wall at a time.\"],\"editor.buildPanel.rooms.walls.title\":[\"Walls\"],\"editor.cameraControlsHint\":[\"Camera controls hint\"],\"editor.cameraHint.pan\":[\"Pan\"],\"editor.cameraHint.rotate\":[\"Rotate\"],\"editor.cameraHint.zoom\":[\"Zoom\"],\"editor.dismiss\":[\"Dismiss\"],\"editor.dismissCameraControlsHint\":[\"Dismiss camera controls hint\"],\"editor.expandSidebar\":[\"Expand sidebar\"],\"editor.floatingActionMenu.axis\":[\"Axis\"],\"editor.floatingActionMenu.axis2\":[\"⌥ axis\"],\"editor.floatingActionMenu.noEquipment\":[\"⚠ no equipment\"],\"editor.floatingActionMenu.rTRotate\":[\"R/T rotate\"],\"editor.floatingActionMenu.registerCount\":[[\"count\",\"plural\",{\"one\":[\"#\",\" register\"],\"other\":[\"#\",\" registers\"]}]],\"editor.floatingActionMenu.runCount\":[[\"count\",\"plural\",{\"one\":[\"#\",\" run\"],\"other\":[\"#\",\" runs\"]}]],\"editor.floatingActionMenu.system\":[\"System\"],\"editor.helpers.buildingHelper.cancel\":[\"Cancel\"],\"editor.helpers.buildingHelper.placeBuilding\":[\"Place building\"],\"editor.helpers.buildingHelper.rotate\":[\"Rotate\"],\"editor.helpers.contextualHelperPanel.cancelPlacement\":[\"Cancel placement\"],\"editor.helpers.contextualHelperPanel.continuationClickOrPressCTo\":[\"Continuation — click or press C to cycle\"],\"editor.helpers.contextualHelperPanel.continuationLabel\":[\"Continuation: \",[\"label\"]],\"editor.helpers.contextualHelperPanel.dragToDrawFence\":[\"Drag to draw fence\"],\"editor.helpers.contextualHelperPanel.fenceTypeClickOrPressT\":[\"Fence type — click or press T to switch between straight, curved and freehand\"],\"editor.helpers.contextualHelperPanel.fewerShortcuts\":[\"Fewer shortcuts\"],\"editor.helpers.contextualHelperPanel.finishCurveOrDoubleClick\":[\"Finish curve (or double-click)\"],\"editor.helpers.contextualHelperPanel.gridLength\":[\"Grid: \",[\"length\"]],\"editor.helpers.contextualHelperPanel.gridStepClickOrTapCtrl\":[\"Grid step — click or tap Ctrl to cycle\"],\"editor.helpers.contextualHelperPanel.gridStepLength\":[\"Grid step: \",[\"length\"]],\"editor.helpers.contextualHelperPanel.hoverAPaintedSurfaceToErase\":[\"Hover a painted surface to erase\"],\"editor.helpers.contextualHelperPanel.hoverASurfaceToPaint\":[\"Hover a surface to paint\"],\"editor.helpers.contextualHelperPanel.hoverASurfaceToPickIts\":[\"Hover a surface to pick its material\"],\"editor.helpers.contextualHelperPanel.moreShortcuts\":[\"More shortcuts\"],\"editor.helpers.contextualHelperPanel.placeGateOnAFence\":[\"Place gate on a fence\"],\"editor.helpers.contextualHelperPanel.placePassageOnAFence\":[\"Place passage on a fence\"],\"editor.helpers.contextualHelperPanel.selectAMaterialToPaint\":[\"Select a material to paint\"],\"editor.helpers.contextualHelperPanel.snappingAngles\":[\"Snapping: Angles\"],\"editor.helpers.contextualHelperPanel.snappingGrid\":[\"Snapping: Grid\"],\"editor.helpers.contextualHelperPanel.snappingLines\":[\"Snapping: Lines\"],\"editor.helpers.contextualHelperPanel.snappingModeClickOrPressShift\":[\"Snapping mode — click or press Shift to cycle\"],\"editor.helpers.contextualHelperPanel.snappingOff\":[\"Snapping: Off\"],\"editor.helpers.contextualHelperPanel.straightContinuationIsUnavailableForCurved\":[\"Straight continuation is unavailable for curved or freehand fences\"],\"editor.helpers.contextualHelperPanel.straightContinuous\":[\"Straight: Continuous\"],\"editor.helpers.contextualHelperPanel.straightFenceContinuationClickOrPress\":[\"Straight fence continuation — click or press C to toggle\"],\"editor.helpers.contextualHelperPanel.straightSingle\":[\"Straight: Single\"],\"editor.helpers.contextualHelperPanel.verbScopeClickOrPressShift\":[[\"verb\"],\" scope — click or press Shift to cycle\"],\"editor.helpers.helperManager.addPoint\":[\"Add point\"],\"editor.helpers.helperManager.addPointClickTheFirstTo\":[\"Add point · click the first to close\"],\"editor.helpers.helperManager.brushSize\":[\"Brush size\"],\"editor.helpers.helperManager.cancel\":[\"Cancel\"],\"editor.helpers.helperManager.cancelPicking\":[\"Cancel picking\"],\"editor.helpers.helperManager.cancelStroke\":[\"Cancel stroke\"],\"editor.helpers.helperManager.done\":[\"Done\"],\"editor.helpers.helperManager.drawTheMezzanine\":[\"Draw the mezzanine\"],\"editor.helpers.helperManager.drawTheOpening\":[\"Draw the opening\"],\"editor.helpers.helperManager.drawTheTerrace\":[\"Draw the terrace\"],\"editor.helpers.helperManager.exitSmartMeasure\":[\"Exit smart measure\"],\"editor.helpers.helperManager.finish\":[\"Finish\"],\"editor.helpers.helperManager.finishAtTheEdge\":[\"Finish at the edge\"],\"editor.helpers.helperManager.freeMove\":[\"Free move\"],\"editor.helpers.helperManager.freeMoveSlideDoorsAndWindows\":[\"Free move · slide doors and windows\"],\"editor.helpers.helperManager.holdToPickAMaterial\":[\"Hold to pick a material\"],\"editor.helpers.helperManager.inspectSurfaceDimensions\":[\"Inspect surface dimensions\"],\"editor.helpers.helperManager.paintWithThisMaterial\":[\"Paint with this material\"],\"editor.helpers.helperManager.pickTargetHeight\":[\"Pick target height\"],\"editor.helpers.helperManager.pinMeasurementLens\":[\"Pin measurement lens\"],\"editor.helpers.helperManager.place\":[\"Place\"],\"editor.helpers.helperManager.placeInsideTheRoom\":[\"Place inside the room\"],\"editor.helpers.helperManager.pressAnywhereDragToTheOpposite\":[\"Press anywhere, drag to the opposite corner\"],\"editor.helpers.helperManager.raiseOrLower\":[\"Raise or lower\"],\"editor.helpers.helperManager.removeAPaintedPartOrReset\":[\"Remove a painted part, or reset a surface\"],\"editor.helpers.helperManager.removeLastPoint\":[\"Remove last point\"],\"editor.helpers.helperManager.resize\":[\"Resize\"],\"editor.helpers.helperManager.rotate45\":[\"Rotate ±45°\"],\"editor.helpers.helperManager.rotateTheSelection45\":[\"Rotate the selection ±45°\"],\"editor.helpers.helperManager.setOneCornerThenTheOpposite\":[\"Set one corner, then the opposite\"],\"editor.helpers.itemHelper.cancel\":[\"Cancel\"],\"editor.helpers.itemHelper.forcePlace\":[\"Force place\"],\"editor.helpers.itemHelper.place\":[\"Place\"],\"editor.helpers.itemHelper.rotate\":[\"Rotate\"],\"editor.helpers.registeredToolHelper.guidedConstraintsBypassed\":[\"Guided constraints bypassed\"],\"editor.lib.contextualHelp.addOrRemoveObjectsFromThe\":[\"Add or remove objects from the selection\"],\"editor.lib.contextualHelp.adjustOneSideSCornerRadius\":[\"Adjust one side’s corner radius\"],\"editor.lib.contextualHelp.clearTheSelectionOrClickOutside\":[\"Clear the selection (or click outside)\"],\"editor.lib.contextualHelp.clickAHandleDotToShow\":[\"Click a handle dot to show move arrows\"],\"editor.lib.contextualHelp.clickOrDragTheSelectionTo\":[\"Click or drag the selection to move it as one\"],\"editor.lib.contextualHelp.clickTheHandleDotToShow\":[\"Click the handle dot to show move + rotate handles\"],\"editor.lib.contextualHelp.detachTheJointWhileDraggingAn\":[\"Detach the joint while dragging an arrow\"],\"editor.lib.contextualHelp.dragLeftOrRightToRotate\":[\"Drag left or right to rotate selected object\"],\"editor.lib.contextualHelp.dragSelectedMovableObject\":[\"Drag selected movable object\"],\"editor.lib.contextualHelp.groupSelectionSessionOnly\":[\"Group selection (session only)\"],\"editor.lib.contextualHelp.holdToRotateFreely\":[\"Hold to rotate freely\"],\"editor.lib.contextualHelp.rotate45\":[\"Rotate ±45°\"],\"editor.lib.contextualHelp.rotateTheSelection45\":[\"Rotate the selection ±45°\"],\"editor.lib.contextualHelp.rotatingFreely\":[\"Rotating freely (no angle step)\"],\"editor.lib.contextualHelp.switchTheRotationAxisYX\":[\"Switch the rotation axis (Y → X → Z)\"],\"editor.lib.contextualHelp.ungroupSessionSelection\":[\"Ungroup session selection\"],\"editor.lib.continuation.continuous\":[\"Continuous\"],\"editor.lib.continuation.continuousCanopy\":[\"Continuous canopy\"],\"editor.lib.continuation.continuousRun\":[\"Continuous run\"],\"editor.lib.continuation.curvedFence\":[\"Curved fence\"],\"editor.lib.continuation.freehandFence\":[\"Freehand fence\"],\"editor.lib.continuation.placeMultiple\":[\"Place multiple\"],\"editor.lib.continuation.placeOnce\":[\"Place once\"],\"editor.lib.continuation.polygonRoom\":[\"Polygon room\"],\"editor.lib.continuation.rectangleRoom\":[\"Rectangle room\"],\"editor.lib.continuation.singleCabinet\":[\"Single cabinet\"],\"editor.lib.continuation.singleCanopy\":[\"Single canopy\"],\"editor.lib.continuation.singleFence\":[\"Single fence\"],\"editor.lib.continuation.walls\":[\"Walls\"],\"editor.lib.hudTitle.cutOpening\":[\"Cut opening\"],\"editor.lib.hudTitle.divideRoom\":[\"Divide room\"],\"editor.lib.hudTitle.editKind\":[\"Edit \",[\"kind\"]],\"editor.lib.hudTitle.erase\":[\"Erase\"],\"editor.lib.hudTitle.levelTerrain\":[\"Level terrain\"],\"editor.lib.hudTitle.lowerTerrain\":[\"Lower terrain\"],\"editor.lib.hudTitle.mezzanine\":[\"Mezzanine\"],\"editor.lib.hudTitle.moveKind\":[\"Move \",[\"kind\"]],\"editor.lib.hudTitle.moveRoom\":[\"Move room\"],\"editor.lib.hudTitle.moveSelection\":[\"Move selection\"],\"editor.lib.hudTitle.paint\":[\"Paint\"],\"editor.lib.hudTitle.paintARectangle\":[\"Paint a rectangle\"],\"editor.lib.hudTitle.paintAShape\":[\"Paint a shape\"],\"editor.lib.hudTitle.pickMaterial\":[\"Pick material\"],\"editor.lib.hudTitle.raiseTerrain\":[\"Raise terrain\"],\"editor.lib.hudTitle.resize\":[\"Resize\"],\"editor.lib.hudTitle.rotate\":[\"Rotate\"],\"editor.lib.hudTitle.select\":[\"Select\"],\"editor.lib.hudTitle.smartMeasure\":[\"Smart measure\"],\"editor.lib.hudTitle.smoothTerrain\":[\"Smooth terrain\"],\"editor.lib.hudTitle.splitKind\":[\"Split \",[\"kind\"]],\"editor.lib.hudTitle.terrace\":[\"Terrace\"],\"editor.lib.wallDrawVariant.polygonRoom\":[\"Polygon room\"],\"editor.lib.wallDrawVariant.rectangleRoom\":[\"Rectangle room\"],\"editor.lib.wallDrawVariant.walls\":[\"Walls\"],\"editor.reloadEditor\":[\"Reload editor\"],\"editor.theEditorSceneFailedToRender\":[\"The editor scene failed to render\"],\"editor.toolHint.aCurtainWallTakesNoCorner\":[\"A curtain wall takes no corner window\"],\"editor.toolHint.aCurvedWallTakesNoCorner\":[\"A curved wall takes no corner window\"],\"editor.toolHint.addACornerClickTheFirst\":[\"Add a corner · click the first to close\"],\"editor.toolHint.anotherOpeningIsInTheWay\":[\"Another opening is in the way at the corner\"],\"editor.toolHint.autoHangers\":[\"Auto hangers\"],\"editor.toolHint.autoHangersClickOrPressH\":[\"Auto hangers - click or press H to toggle\"],\"editor.toolHint.autoHangersOff\":[\"Auto hangers: Off\"],\"editor.toolHint.autoHangersOn\":[\"Auto hangers: On\"],\"editor.toolHint.bypassSnapping\":[\"Bypass snapping\"],\"editor.toolHint.cancel\":[\"Cancel\"],\"editor.toolHint.cancelMove\":[\"Cancel move\"],\"editor.toolHint.cancelRunExit\":[\"Cancel run / exit\"],\"editor.toolHint.cancelStartPoint\":[\"Cancel start point\"],\"editor.toolHint.cornerWindow\":[\"Corner window\"],\"editor.toolHint.cuts\":[\"Cuts\"],\"editor.toolHint.cutsValue\":[\"Cuts: \",[\"value\"]],\"editor.toolHint.cutsValueEven\":[\"Cuts: \",[\"value\"],\", even\"],\"editor.toolHint.cycleMonoGableButterfly\":[\"Cycle mono / gable / butterfly\"],\"editor.toolHint.cycleSnappingMode\":[\"Cycle snapping mode\"],\"editor.toolHint.doorStyleClickOrPressL\":[\"Door style — click or press L to cycle\"],\"editor.toolHint.doorTypeClickOrPressO\":[\"Door type — click or press O to cycle\"],\"editor.toolHint.dropDownspoutFromOutlet\":[\"Drop downspout from outlet\"],\"editor.toolHint.ductDiameterDownUp\":[\"Duct diameter down / up\"],\"editor.toolHint.endRunCancel\":[\"End run / cancel\"],\"editor.toolHint.exit\":[\"Exit\"],\"editor.toolHint.exitDrawing\":[\"Exit drawing\"],\"editor.toolHint.finishAndContinue\":[\"Finish and continue\"],\"editor.toolHint.finishCeiling\":[\"Finish ceiling\"],\"editor.toolHint.finishGridAxis\":[\"Finish grid axis\"],\"editor.toolHint.finishMeasurement\":[\"Finish measurement\"],\"editor.toolHint.finishMultiPointWitnesses\":[\"Finish multi-point witnesses\"],\"editor.toolHint.finishSlab\":[\"Finish slab\"],\"editor.toolHint.flipSide\":[\"Flip side\"],\"editor.toolHint.followTraceALineset\":[\"Follow: trace a lineset\"],\"editor.toolHint.forcePlace\":[\"Force place\"],\"editor.toolHint.freePlacement\":[\"Free placement\"],\"editor.toolHint.goVerticalClickToPlace\":[\"Go vertical ↕, click to place\"],\"editor.toolHint.highlightOutlet\":[\"Highlight outlet\"],\"editor.toolHint.joinAsACornerWindow\":[\"Join as a corner window\"],\"editor.toolHint.key.altDrag\":[\"Alt + drag\"],\"editor.toolHint.key.backspace\":[\"Backspace\"],\"editor.toolHint.key.click\":[\"Click\"],\"editor.toolHint.key.clickAgain\":[\"Click again\"],\"editor.toolHint.key.command\":[\"Command\"],\"editor.toolHint.key.control\":[\"Control\"],\"editor.toolHint.key.delete\":[\"Delete\"],\"editor.toolHint.key.doubleClick\":[\"Double click\"],\"editor.toolHint.key.drag\":[\"Drag\"],\"editor.toolHint.key.enter\":[\"Enter\"],\"editor.toolHint.key.hover\":[\"Hover\"],\"editor.toolHint.key.hoverADuctEnd\":[\"Hover a duct end\"],\"editor.toolHint.key.hoverAPipeEnd\":[\"Hover a pipe end\"],\"editor.toolHint.key.hoverGutter\":[\"Hover gutter\"],\"editor.toolHint.key.leftClick\":[\"Left click\"],\"editor.toolHint.key.middleClick\":[\"Middle click\"],\"editor.toolHint.key.rShiftR\":[\"R / Shift+R\"],\"editor.toolHint.key.rightClick\":[\"Right click\"],\"editor.toolHint.key.scroll\":[\"Scroll\"],\"editor.toolHint.key.scrollWheel\":[\"Scroll wheel\"],\"editor.toolHint.key.space\":[\"Space\"],\"editor.toolHint.key.tab\":[\"Tab\"],\"editor.toolHint.mountFloorCeilingWall\":[\"Mount: floor / ceiling / wall\"],\"editor.toolHint.noRoomForTheMatchingWindow\":[\"No room for the matching window on the other wall\"],\"editor.toolHint.noWallMeetsHere\":[\"No wall meets here\"],\"editor.toolHint.numberOfCutsScrollOrClick\":[\"Number of cuts — scroll or click to change\"],\"editor.toolHint.pickWitnessPoint\":[\"Pick witness point\"],\"editor.toolHint.pipeSizeDownUp\":[\"Pipe size down / up\"],\"editor.toolHint.placeAndContinue\":[\"Place and continue\"],\"editor.toolHint.placeBlock\":[\"Place block\"],\"editor.toolHint.placeBoxVentOnRoof\":[\"Place box vent on roof\"],\"editor.toolHint.placeCabinet\":[\"Place cabinet\"],\"editor.toolHint.placeCanopyOrSetTheNext\":[\"Place canopy or set the next run point\"],\"editor.toolHint.placeChimneyOnRoof\":[\"Place chimney on roof\"],\"editor.toolHint.placeColumn\":[\"Place column\"],\"editor.toolHint.placeCupolaOnRoof\":[\"Place cupola on roof\"],\"editor.toolHint.placeDimensionLineWhenNeeded\":[\"Place dimension line when needed\"],\"editor.toolHint.placeDoorOnWall\":[\"Place door on wall\"],\"editor.toolHint.placeDormerOnRoof\":[\"Place dormer on roof\"],\"editor.toolHint.placeElevator\":[\"Place elevator\"],\"editor.toolHint.placeEyebrowVentOnRoof\":[\"Place eyebrow vent on roof\"],\"editor.toolHint.placeFitting\":[\"Place fitting\"],\"editor.toolHint.placeGutterOnRoofEave\":[\"Place gutter on roof eave\"],\"editor.toolHint.placeItLockedTo45\":[\"Place it (locked to 45°)\"],\"editor.toolHint.placeItem\":[\"Place item\"],\"editor.toolHint.placeMeasurementPoint\":[\"Place measurement point\"],\"editor.toolHint.placeOnAFence\":[\"Place on a fence\"],\"editor.toolHint.placeRegister\":[\"Place register\"],\"editor.toolHint.placeRidgeVentOnRoof\":[\"Place ridge vent on roof\"],\"editor.toolHint.placeShelf\":[\"Place shelf\"],\"editor.toolHint.placeSkylightOnRoof\":[\"Place skylight on roof\"],\"editor.toolHint.placeSolarPanelArrayOnRoof\":[\"Place solar panel array on roof\"],\"editor.toolHint.placeSpawnPoint\":[\"Place spawn point\"],\"editor.toolHint.placeStairs\":[\"Place stairs\"],\"editor.toolHint.placeTrap\":[\"Place trap\"],\"editor.toolHint.placeTurbineVentOnRoof\":[\"Place turbine vent on roof\"],\"editor.toolHint.placeUnit\":[\"Place unit\"],\"editor.toolHint.placeWindowOnWall\":[\"Place window on wall\"],\"editor.toolHint.placeWithoutTheCornerSnap\":[\"Place without the corner snap\"],\"editor.toolHint.placement\":[\"Placement\"],\"editor.toolHint.placementAuto\":[\"Placement: Auto\"],\"editor.toolHint.placementGround\":[\"Placement: Ground\"],\"editor.toolHint.placementRoof\":[\"Placement: Roof\"],\"editor.toolHint.placementSurfaceClickOrPressP\":[\"Placement surface - click or press P to cycle\"],\"editor.toolHint.placementType\":[\"Placement type\"],\"editor.toolHint.placementTypeClickOrPressI\":[\"Placement type — click or press I to toggle\"],\"editor.toolHint.removeLastPoint\":[\"Remove last point\"],\"editor.toolHint.removeLastWitness\":[\"Remove last witness\"],\"editor.toolHint.rotate\":[\"Rotate\"],\"editor.toolHint.rotate45\":[\"Rotate ±45°\"],\"editor.toolHint.rotate45FloorCeiling\":[\"Rotate ±45° (floor / ceiling)\"],\"editor.toolHint.rotateGhost15\":[\"Rotate ghost ±15°\"],\"editor.toolHint.rotateOrFlipTheRunSide\":[\"Rotate or flip the run side\"],\"editor.toolHint.rotateRoofDirection90\":[\"Rotate roof direction 90°\"],\"editor.toolHint.rotateSpawnPoint\":[\"Rotate spawn point\"],\"editor.toolHint.roundRectangularOval\":[\"Round / rectangular / oval\"],\"editor.toolHint.setFenceStartEnd\":[\"Set fence start / end\"],\"editor.toolHint.setOneCornerThenTheOpposite\":[\"Set one corner, then the opposite\"],\"editor.toolHint.setRoofFootprint\":[\"Set roof footprint\"],\"editor.toolHint.setWallStartEnd\":[\"Set wall start / end\"],\"editor.toolHint.slopeLevel\":[\"Slope / level\"],\"editor.toolHint.snapOntoTheRun\":[\"Snap onto the run\"],\"editor.toolHint.splitAtTheMarks\":[\"Split at the marks\"],\"editor.toolHint.startGridAxis\":[\"Start grid axis\"],\"editor.toolHint.startLineset\":[\"Start lineset\"],\"editor.toolHint.startLiquidLine\":[\"Start liquid line\"],\"editor.toolHint.startRun\":[\"Start run\"],\"editor.toolHint.startSegment\":[\"Start segment\"],\"editor.toolHint.stepBackOrCancel\":[\"Step back or cancel\"],\"editor.toolHint.style\":[\"Style\"],\"editor.toolHint.styleBarn\":[\"Style: Barn\"],\"editor.toolHint.styleCasement\":[\"Style: Casement\"],\"editor.toolHint.styleCraftsman\":[\"Style: Craftsman\"],\"editor.toolHint.styleDoubleHung\":[\"Style: Double-hung\"],\"editor.toolHint.styleFrench\":[\"Style: French\"],\"editor.toolHint.styleGlass\":[\"Style: Glass\"],\"editor.toolHint.styleGrid\":[\"Style: Grid\"],\"editor.toolHint.styleHalfLouvered\":[\"Style: Half-louvered\"],\"editor.toolHint.styleHorizontalBands\":[\"Style: Horizontal bands\"],\"editor.toolHint.styleModern\":[\"Style: Modern\"],\"editor.toolHint.stylePanel\":[\"Style: Panel\"],\"editor.toolHint.stylePaneledGlass\":[\"Style: Paneled glass\"],\"editor.toolHint.styleShaker\":[\"Style: Shaker\"],\"editor.toolHint.styleSingle\":[\"Style: Single\"],\"editor.toolHint.styleSixPanel\":[\"Style: Six-panel\"],\"editor.toolHint.styleSliding\":[\"Style: Sliding\"],\"editor.toolHint.styleTallGrid\":[\"Style: Tall grid\"],\"editor.toolHint.styleTransom\":[\"Style: Transom\"],\"editor.toolHint.styleTripleHung\":[\"Style: Triple-hung\"],\"editor.toolHint.styleWideGrid\":[\"Style: Wide grid\"],\"editor.toolHint.switchRotationAxisYXZ\":[\"Switch rotation axis (Y → X → Z)\"],\"editor.toolHint.theWallsMeetAtTooSharp\":[\"The walls meet at too sharp or too flat an angle\"],\"editor.toolHint.theWindowWaitingThereIsTaller\":[\"The window waiting there is taller than this wall\"],\"editor.toolHint.threeOrMoreWallsMeetHere\":[\"Three or more walls meet here\"],\"editor.toolHint.traceCeilingOutline\":[\"Trace ceiling outline\"],\"editor.toolHint.traceSlabOutline\":[\"Trace slab outline\"],\"editor.toolHint.type\":[\"Type\"],\"editor.toolHint.typeAwning\":[\"Type: Awning\"],\"editor.toolHint.typeBarn\":[\"Type: Barn\"],\"editor.toolHint.typeBay\":[\"Type: Bay\"],\"editor.toolHint.typeBow\":[\"Type: Bow\"],\"editor.toolHint.typeCabinet\":[\"Type: Cabinet\"],\"editor.toolHint.typeCasement\":[\"Type: Casement\"],\"editor.toolHint.typeDouble\":[\"Type: Double\"],\"editor.toolHint.typeDoubleHung\":[\"Type: Double Hung\"],\"editor.toolHint.typeFixed\":[\"Type: Fixed\"],\"editor.toolHint.typeFolding\":[\"Type: Folding\"],\"editor.toolHint.typeFrench\":[\"Type: French\"],\"editor.toolHint.typeHinged\":[\"Type: Hinged\"],\"editor.toolHint.typeIsland\":[\"Type: Island\"],\"editor.toolHint.typeLouvered\":[\"Type: Louvered\"],\"editor.toolHint.typePocket\":[\"Type: Pocket\"],\"editor.toolHint.typeSingleHung\":[\"Type: Single Hung\"],\"editor.toolHint.typeSliding\":[\"Type: Sliding\"],\"editor.toolHint.verticalStackClickToPlace\":[\"Vertical stack ↕, click to place\"],\"editor.toolHint.wasteVent\":[\"Waste / vent\"],\"editor.toolHint.windowStyleClickOrPressL\":[\"Window style — click or press L to cycle\"],\"editor.toolHint.windowTypeClickOrPressO\":[\"Window type — click or press O to cycle\"],\"editor.views.plugins\":[\"Plugins\"],\"editor.views.view2d\":[\"2D\"],\"editor.views.view3d\":[\"3D\"],\"editor.views.viewBar.auto\":[\"Auto\"],\"editor.views.viewBar.browsePlugins\":[\"Browse plugins\"],\"editor.views.viewBar.closeLabel\":[\"Close \",[\"label\"]],\"editor.views.viewBar.closeSplit\":[\"Close split (\\\\)\"],\"editor.views.viewBar.ground\":[\"Ground\"],\"editor.views.viewBar.groundSolid\":[[\"standing\",\"select\",{\"partly\":[\"Partly below grade · ground solid\"],\"below\":[\"Below grade · ground solid\"],\"other\":[\"Ground solid\"]}]],\"editor.views.viewBar.groundVeiled\":[[\"standing\",\"select\",{\"partly\":[\"Partly below grade · ground veiled\"],\"below\":[\"Below grade · ground veiled\"],\"other\":[\"Ground veiled\"]}]],\"editor.views.viewBar.keepTheGroundSolid\":[\"Keep the ground solid\"],\"editor.views.viewBar.moreViews\":[\"More views\"],\"editor.views.viewBar.paneViews\":[\"Pane \",[\"pane\"],\" views\"],\"editor.views.viewBar.pinLabel\":[\"Pin \",[\"label\"]],\"editor.views.viewBar.pinToTheViewBar\":[\"Pin to the view bar\"],\"editor.views.viewBar.solid\":[\"Solid\"],\"editor.views.viewBar.split\":[\"Split (\\\\)\"],\"editor.views.viewBar.split2\":[\"Split\"],\"editor.views.viewBar.swapPanes\":[\"Swap panes\"],\"editor.views.viewBar.unpinFromTheViewBar\":[\"Unpin from the view bar\"],\"editor.views.viewBar.unpinLabel\":[\"Unpin \",[\"label\"]],\"editor.views.viewBar.veilTheGroundOverALevel\":[\"Veil the ground over a level below grade\"],\"editor.views.viewBar.views\":[\"Views\"],\"editor.youCanRetryTheSceneOr\":[\"You can retry the scene or return home without reloading the whole app shell.\"],\"node.block.description\":[\"A topology-backed solid edited directly in the canvas.\"],\"node.block.label\":[\"Block\"],\"node.boxVent.description\":[\"Small louvered exhaust vent that sits on a roof slope.\"],\"node.boxVent.label\":[\"Box Vent\"],\"node.building.description\":[\"A building container holding one or more levels.\"],\"node.building.label\":[\"Building\"],\"node.cabinet.description\":[\"A configurable parametric base cabinet.\"],\"node.cabinet.label\":[\"Modular Cabinet\"],\"node.cabinetModule.description\":[\"An editable module inside a modular cabinet run.\"],\"node.cabinetModule.label\":[\"Cabinet Module\"],\"node.ceiling.description\":[\"A polygon-bounded ceiling surface that hosts ceiling-mounted items.\"],\"node.ceiling.label\":[\"Ceiling\"],\"node.chimney.description\":[\"Vertical masonry stack on a roof segment.\"],\"node.chimney.label\":[\"Chimney\"],\"node.column.description\":[\"A parametric column with configurable cross-section, base, and capital.\"],\"node.column.label\":[\"Column\"],\"node.constructionDimension.description\":[\"Associative linear, curved, circular, angular, or coordinate plan dimension.\"],\"node.constructionDimension.label\":[\"Construction Dimension\"],\"node.cupola.description\":[\"Louvered roof lantern with a dome or pyramid cap and optional finial.\"],\"node.cupola.label\":[\"Cupola\"],\"node.door.description\":[\"A door cut into a wall. Animated open/close state.\"],\"node.door.label\":[\"Door\"],\"node.dormer.description\":[\"House-shaped protrusion on a roof segment.\"],\"node.dormer.label\":[\"Dormer\"],\"node.downspout.description\":[\"Vertical drop pipe from a gutter outlet to the ground.\"],\"node.downspout.label\":[\"Downspout\"],\"node.ductFitting.description\":[\"Elbow, tee, reducer, or square-to-round transition connecting duct runs.\"],\"node.ductFitting.label\":[\"Duct Fitting\"],\"node.ductSegment.description\":[\"HVAC duct run — polyline of round, rect, or flat-oval sections.\"],\"node.ductSegment.label\":[\"Duct\"],\"node.ductTerminal.description\":[\"Duct terminal — supply register, ceiling diffuser, or return grille. Duct runs end at its collar.\"],\"node.ductTerminal.label\":[\"Register\"],\"node.elevator.description\":[\"A multi-level elevator shaft with configurable openings per level.\"],\"node.elevator.label\":[\"Elevator\"],\"node.eyebrowVent.description\":[\"Low curved lens-shaped roof vent with a louvered front.\"],\"node.eyebrowVent.label\":[\"Eyebrow Vent\"],\"node.fence.description\":[\"A straight or curved fence segment with configurable posts and infill.\"],\"node.fence.label\":[\"Fence\"],\"node.fenceGate.description\":[\"A gate hosted by a fence.\"],\"node.fenceGate.label\":[\"Gate\"],\"node.fenceOpening.description\":[\"An intentional opening in a fence.\"],\"node.fenceOpening.label\":[\"Open Passage\"],\"node.floorOpening.label\":[\"Floor opening\"],\"node.guide.description\":[\"A measurement / reference annotation (linear, area, or arc).\"],\"node.guide.label\":[\"Guide\"],\"node.gutter.description\":[\"Rain-water channel running along the eave of a roof segment.\"],\"node.gutter.label\":[\"Gutter\"],\"node.hvacEquipment.description\":[\"Furnace, air handler, or condenser — duct runs connect to its supply/return collars.\"],\"node.hvacEquipment.label\":[\"HVAC Unit\"],\"node.importedMesh.description\":[\"Geometry preserved from an imported model when no native Pascal shape exists.\"],\"node.importedMesh.label\":[\"Imported Mesh\"],\"node.item.description\":[\"A catalog-backed item (furniture, fixtures, decorations).\"],\"node.item.label\":[\"Item\"],\"node.leanToExtension.description\":[\"An attached mono-pitch or freestanding mono, gable, or butterfly canopy with managed structure and drainage.\"],\"node.leanToExtension.label\":[\"Canopy\"],\"node.level.description\":[\"A single floor of a building, holding walls / slabs / ceilings / items.\"],\"node.level.label\":[\"Level\"],\"node.lineset.description\":[\"Refrigerant lineset — copper suction + liquid pair joining a condenser to the indoor coil.\"],\"node.lineset.label\":[\"Lineset\"],\"node.liquidLine.description\":[\"Standalone refrigerant liquid line — a thin bare-copper run; Follow mode traces an existing lineset.\"],\"node.liquidLine.label\":[\"Liquid Line\"],\"node.measurement.description\":[\"A persistent distance, angle, area, perimeter, or volume annotation.\"],\"node.measurement.label\":[\"Measurement\"],\"node.pipeFitting.description\":[\"DWV joint — elbow bend, 45° wye, or sanitary tee.\"],\"node.pipeFitting.label\":[\"Pipe Fitting\"],\"node.pipeSegment.description\":[\"Drain / waste / vent pipe run — draw level or toggle a ¼″ per foot fall with S.\"],\"node.pipeSegment.label\":[\"DWV Pipe\"],\"node.pipeTrap.description\":[\"DWV P-trap — water seal on the waste line. The trap arm runs to the vent.\"],\"node.pipeTrap.label\":[\"Trap\"],\"node.proceduralItem.description\":[\"Experimental editable recipe\"],\"node.proceduralItem.label\":[\"Procedural item\"],\"node.ridgeVent.description\":[\"Ventilation strip running along the ridge of a roof segment.\"],\"node.ridgeVent.label\":[\"Ridge Vent\"],\"node.roof.description\":[\"A pitched / hip / gable roof composed of one or more segments.\"],\"node.roof.label\":[\"Roof\"],\"node.roofSegment.description\":[\"A single pitched plane of a parent roof.\"],\"node.roofSegment.label\":[\"Roof Segment\"],\"node.scan.description\":[\"A captured session with optional mesh, motion, media, and sensor data.\"],\"node.scan.label\":[\"Capture\"],\"node.separator.label\":[\"Separator\"],\"node.shelf.description\":[\"A configurable shelving unit. Items host on each row.\"],\"node.shelf.label\":[\"Shelf\"],\"node.site.description\":[\"The top-level container holding buildings, zones, and the property boundary.\"],\"node.site.label\":[\"Site\"],\"node.skylight.description\":[\"Framed glass opening on a roof segment.\"],\"node.skylight.label\":[\"Skylight\"],\"node.slab.description\":[\"A polygon-bounded floor surface that hosts items on top.\"],\"node.slab.label\":[\"Slab\"],\"node.solarPanel.description\":[\"Grid of photovoltaic panels mounted on a roof segment.\"],\"node.solarPanel.label\":[\"Solar Panel\"],\"node.spawn.description\":[\"Player or camera origin within a level. One per level.\"],\"node.spawn.label\":[\"Spawn Point\"],\"node.stair.description\":[\"A stair composed of one or more flights with configurable treads, risers, railings.\"],\"node.stair.label\":[\"Stair\"],\"node.stairSegment.description\":[\"A single flight of a parent stair.\"],\"node.stairSegment.label\":[\"Stair Segment\"],\"node.structuralGrid.description\":[\"Persistent construction grid axis with identification bubbles.\"],\"node.structuralGrid.label\":[\"Structural Grid\"],\"node.turbineVent.description\":[\"Wind-driven spinning whirlybird exhaust vent for a roof slope.\"],\"node.turbineVent.label\":[\"Turbine Vent\"],\"node.unit.description\":[\"A named group of zones forming one apartment, hotel room or commercial lot.\"],\"node.unit.label\":[\"Unit\"],\"node.wall.description\":[\"A straight or curved wall segment. Hosts doors, windows, lean-to extensions, and wall-mounted items.\"],\"node.wall.label\":[\"Wall\"],\"node.window.description\":[\"A window cut into a wall. Animated open/close for opening windows.\"],\"node.window.label\":[\"Window\"],\"node.zone.description\":[\"A polygonal site zone (lawn, water, paving) with a TSL gradient material.\"],\"node.zone.label\":[\"Zone\"],\"viewer.camera.orbitLeft\":[\"Orbit left\"],\"viewer.camera.orbitRight\":[\"Orbit right\"],\"viewer.camera.topView\":[\"Top view\"],\"viewer.common.off\":[\"Off\"],\"viewer.common.on\":[\"On\"],\"viewer.display.camera\":[\"Camera\"],\"viewer.display.colored\":[\"Colored\"],\"viewer.display.colors\":[\"Colors\"],\"viewer.display.edges.off\":[\"Off\"],\"viewer.display.edges.offDetail\":[\"No edge lines\"],\"viewer.display.edges.soft\":[\"Soft\"],\"viewer.display.edges.softDetail\":[\"Faint outline of major creases\"],\"viewer.display.edges.strong\":[\"Strong\"],\"viewer.display.edges.strongDetail\":[\"Crisp, opaque edge lines\"],\"viewer.display.edges.title\":[\"Edges\"],\"viewer.display.monochrome\":[\"Monochrome\"],\"viewer.display.orthographic\":[\"Orthographic\"],\"viewer.display.perspective\":[\"Perspective\"],\"viewer.display.render.rendered\":[\"Rendered\"],\"viewer.display.render.renderedDetail\":[\"Full ambient occlusion\"],\"viewer.display.render.solid\":[\"Solid\"],\"viewer.display.render.solidDetail\":[\"Flat and fast — no ambient occlusion\"],\"viewer.display.render.title\":[\"Render\"],\"viewer.display.shadows\":[\"Shadows\"],\"viewer.display.title\":[\"Display settings\"],\"viewer.floorplan.alignNorth\":[\"Align view to north\"],\"viewer.floorplan.empty\":[\"No floor plans are available for this scene.\"],\"viewer.floorplan.fit\":[\"Fit floor plan\"],\"viewer.floorplan.floor\":[\"Floor\"],\"viewer.floorplan.floorPlan\":[\"Floor plan\"],\"viewer.floorplan.viewLabel\":[[\"floor\"],\" 2D view\"],\"viewer.floorplan.zoomIn\":[\"Zoom in\"],\"viewer.floorplan.zoomOut\":[\"Zoom out\"],\"viewer.header.back\":[\"Back\"],\"viewer.header.levels\":[\"Levels\"],\"viewer.header.rooms\":[\"Rooms\"],\"viewer.header.selection\":[\"Selection\"],\"viewer.header.units\":[\"Units\"],\"viewer.header.untitled\":[\"Untitled\"],\"viewer.header.zones\":[\"Zones\"],\"viewer.levels.exploded\":[\"Exploded\"],\"viewer.levels.label\":[\"Levels: \",[\"mode\"]],\"viewer.levels.manual\":[\"Manual\"],\"viewer.levels.solo\":[\"Solo\"],\"viewer.levels.stacked\":[\"Stacked\"],\"viewer.stage.layout\":[\"Viewer layout\"],\"viewer.stage.split\":[\"Split\"],\"viewer.theme.blueprint\":[\"Blueprint\"],\"viewer.theme.mediterranean\":[\"Mediterranean\"],\"viewer.theme.night\":[\"Night\"],\"viewer.theme.overcast\":[\"Overcast\"],\"viewer.theme.paper\":[\"Paper\"],\"viewer.theme.studio\":[\"Studio\"],\"viewer.theme.sunset\":[\"Sunset\"],\"viewer.theme.title\":[\"Scene theme\"],\"viewer.theme.twilight\":[\"Twilight\"],\"viewer.theme.verdant\":[\"Verdant\"],\"viewer.visibility.guides\":[\"Guides\"],\"viewer.visibility.scans\":[\"Scans\"],\"viewer.visibility.title\":[\"Visibility\"],\"viewer.walkthrough.label\":[\"Walkthrough: \",[\"state\"]],\"viewer.walls.cutaway\":[\"Cutaway\"],\"viewer.walls.fullHeight\":[\"Full height\"],\"viewer.walls.label\":[\"Walls: \",[\"mode\"]],\"viewer.walls.low\":[\"Low\"]}")as Messages; \ No newline at end of file +/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"app.appShell.pascalHome\":[\"Pascal home\"],\"app.buildTab.addGate\":[\"Add Gate\"],\"app.buildTab.addOpenPassage\":[\"Add Open Passage\"],\"app.buildTab.addToRooms\":[\"Add to rooms\"],\"app.buildTab.allBuildTools\":[\"← All build tools\"],\"app.buildTab.chooseGateOrOpenPassageThen\":[\"Choose Gate or Open Passage, then click its position on any fence. Find placed gates and openings under their fence in the scene graph.\"],\"app.buildTab.clickALinesetToLayThe\":[\"Click a lineset to lay the line beside it.\"],\"app.buildTab.doubleGate\":[\"Double gate\"],\"app.buildTab.featuresExtensions\":[\"Features & extensions\"],\"app.buildTab.fenceFeatures\":[\"Fence features\"],\"app.buildTab.followLineset\":[\"Follow lineset\"],\"app.buildTab.gate\":[\"Gate\"],\"app.buildTab.gateStyle\":[\"Gate style\"],\"app.buildTab.horizontalBoards\":[\"Horizontal boards\"],\"app.buildTab.hoverAFenceToPreviewClick\":[\"Hover a fence to preview. Click to place. Esc cancels. Leave room between openings.\"],\"app.buildTab.leaves\":[\"Leaves\"],\"app.buildTab.liquidLine\":[\"Liquid Line\"],\"app.buildTab.matchFenceStyle\":[\"Match fence style\"],\"app.buildTab.mep\":[\"MEP\"],\"app.buildTab.off\":[\"Off\"],\"app.buildTab.on\":[\"On\"],\"app.buildTab.openRails\":[\"Open rails\"],\"app.buildTab.opening\":[\"Opening\"],\"app.buildTab.openingWidthM\":[\"Opening width (m)\"],\"app.buildTab.outdoor\":[\"Outdoor\"],\"app.buildTab.picket\":[\"Picket\"],\"app.buildTab.roofType\":[\"Roof type\"],\"app.buildTab.roomsAlreadyCreateTheirFloorAnd\":[\"Rooms already create their floor and ceiling. Use these for platforms and one-off structure.\"],\"app.buildTab.searchBuildToolsAndKitchenItems\":[\"Search build tools and kitchen items\"],\"app.buildTab.searchToolsFridgeSink\":[\"Search tools, fridge, sink…\"],\"app.buildTab.selectACurvedWallToMatch\":[\"Select a curved wall to match its radius and arc.\"],\"app.buildTab.singleGate\":[\"Single gate\"],\"app.buildTab.slabCeilingColumn\":[\"Slab, ceiling, column…\"],\"app.buildTab.solidPrivacy\":[\"Solid privacy\"],\"app.buildTab.traceALineAlongsideAnExisting\":[\"Trace a line alongside an existing lineset (F).\"],\"app.buildTab.verticalSlats\":[\"Vertical slats\"],\"app.editorNavbar.allProjects\":[\"All projects\"],\"app.editorNavbar.preview\":[\"Preview\"],\"app.editorNavbar.projectName\":[\"Project name\"],\"app.editorNavbar.renameProject\":[\"Rename project\"],\"app.editorNavbar.share\":[\"Share\"],\"app.kitchenBrowser.addLabel\":[\"Add \",[\"label\"]],\"app.kitchenBrowser.addToKitchen\":[\"Add to kitchen\"],\"app.kitchenBrowser.chooseAnItemThenClickTo\":[\"Choose an item, then click to place it. Appliances include their cabinetry.\"],\"app.kitchenBrowser.findInThisProjectLength\":[\"Find in this project · \",[\"length\"]],\"app.kitchenBrowser.findName\":[\"Find \",[\"name\"]],\"app.kitchenBrowser.groupAdd\":[\"Kitchen · Add\"],\"app.kitchenBrowser.groupInThisProject\":[\"Kitchen · In this project\"],\"app.kitchenBrowser.kitchenCabinet\":[\"Kitchen cabinet\"],\"app.kitchenBrowser.noMatchingKitchenItemsPlacedYet\":[\"No matching kitchen items placed yet.\"],\"app.kitchenBrowser.selectAndShowInScene\":[\"Select and show in scene\"],\"app.lib.buildPalette.ceiling\":[\"Ceiling\"],\"app.lib.buildPalette.column\":[\"Column\"],\"app.lib.buildPalette.door\":[\"Door\"],\"app.lib.buildPalette.duct\":[\"Duct\"],\"app.lib.buildPalette.dwvPipe\":[\"DWV Pipe\"],\"app.lib.buildPalette.elevator\":[\"Elevator\"],\"app.lib.buildPalette.fence\":[\"Fence\"],\"app.lib.buildPalette.hvacUnit\":[\"HVAC Unit\"],\"app.lib.buildPalette.kitchen\":[\"Kitchen\"],\"app.lib.buildPalette.lineset\":[\"Lineset\"],\"app.lib.buildPalette.liquidLine\":[\"Liquid Line\"],\"app.lib.buildPalette.mep\":[\"MEP\"],\"app.lib.buildPalette.register\":[\"Register\"],\"app.lib.buildPalette.roof\":[\"Roof\"],\"app.lib.buildPalette.shelf\":[\"Shelf\"],\"app.lib.buildPalette.slab\":[\"Slab\"],\"app.lib.buildPalette.spawnPoint\":[\"Spawn point\"],\"app.lib.buildPalette.stairs\":[\"Stairs\"],\"app.lib.buildPalette.terrace\":[\"Terrace\"],\"app.lib.buildPalette.terrain\":[\"Terrain\"],\"app.lib.buildPalette.wall\":[\"Wall\"],\"app.lib.buildPalette.window\":[\"Window\"],\"app.lib.buildPanelModel.addFitting\":[\"Add Fitting\"],\"app.lib.buildPanelModel.addGate\":[\"Add Gate\"],\"app.lib.buildPanelModel.addOpenPassage\":[\"Add Open Passage\"],\"app.lib.buildPanelModel.addTrap\":[\"Add Trap\"],\"app.lib.buildPanelModel.build\":[\"Build\"],\"app.lib.buildPanelModel.createFrom\":[\"Create from\"],\"app.lib.buildPanelModel.drawTheRoofFootprintWithTwo\":[\"Draw the roof footprint with two corner clicks.\"],\"app.lib.buildPanelModel.duct\":[\"Duct\"],\"app.lib.buildPanelModel.dwvPipe\":[\"DWV Pipe\"],\"app.lib.buildPanelModel.featuresExtensions\":[\"Features & extensions\"],\"app.lib.buildPanelModel.fence\":[\"Fence\"],\"app.lib.buildPanelModel.followLineset\":[\"Follow lineset\"],\"app.lib.buildPanelModel.gatesOpenings\":[\"Gates & openings\"],\"app.lib.buildPanelModel.hoverARoomToPreviewIts\":[\"Hover a room to preview its boundary, then click to place.\"],\"app.lib.buildPanelModel.kitchen\":[\"Kitchen\"],\"app.lib.buildPanelModel.mep\":[\"MEP\"],\"app.lib.buildPanelModel.modularCabinet\":[\"Modular Cabinet\"],\"app.lib.buildPanelModel.off\":[\"Off\"],\"app.lib.buildPanelModel.on\":[\"On\"],\"app.lib.buildPanelModel.painting\":[\"Painting\"],\"app.lib.buildPanelModel.roof\":[\"Roof\"],\"app.lib.buildPanelModel.roofType\":[\"Roof type\"],\"app.lib.buildPanelModel.toolCount\":[[\"count\",\"plural\",{\"one\":[\"#\",\" tool\"],\"other\":[\"#\",\" tools\"]}]],\"app.lib.buildTabState.conical\":[\"Conical\"],\"app.lib.buildTabState.draw\":[\"Draw\"],\"app.lib.buildTabState.dutch\":[\"Dutch\"],\"app.lib.buildTabState.flat\":[\"Flat\"],\"app.lib.buildTabState.gable\":[\"Gable\"],\"app.lib.buildTabState.gambrel\":[\"Gambrel\"],\"app.lib.buildTabState.hip\":[\"Hip\"],\"app.lib.buildTabState.mansard\":[\"Mansard\"],\"app.lib.buildTabState.room\":[\"Room\"],\"app.lib.buildTabState.shed\":[\"Shed\"],\"app.lib.buildTabState.wall\":[\"Wall\"],\"app.sharePanel.anyoneWithTheLinkCanView\":[\"Anyone with the link can view this project. They cannot edit it.\"],\"app.sharePanel.copied\":[\"Copied\"],\"app.sharePanel.copy\":[\"Copy\"],\"app.sharePanel.couldNotReadTheSharingState\":[\"Could not read the sharing state.\"],\"app.sharePanel.couldNotTurnOffThePublic\":[\"Could not turn off the public link.\"],\"app.sharePanel.couldNotTurnOnThePublic\":[\"Could not turn on the public link.\"],\"app.sharePanel.embedCode\":[\"Embed code\"],\"app.sharePanel.embedLink\":[\"Embed link\"],\"app.sharePanel.hideControls\":[\"Hide controls\"],\"app.sharePanel.link\":[\"Link\"],\"app.sharePanel.onlyThe3dViewNoHeader\":[\"Only the 3D view, no header or toolbar.\"],\"app.sharePanel.open\":[\"Open\"],\"app.sharePanel.publicLink\":[\"Public link\"],\"app.sharePanel.shareProject\":[\"Share project\"],\"app.viewerToolbar.automaticDimensions\":[\"Automatic dimensions\"],\"app.viewerToolbar.camera\":[\"Camera\"],\"app.viewerToolbar.cleanPlanDimensionsAppearWithSelection\":[\"Clean plan; dimensions appear with selection\"],\"app.viewerToolbar.collapseSidebar\":[\"Collapse sidebar\"],\"app.viewerToolbar.crispOpaqueEdgeLines\":[\"Crisp, opaque edge lines\"],\"app.viewerToolbar.cutaway\":[\"Cutaway\"],\"app.viewerToolbar.default\":[\"Default\"],\"app.viewerToolbar.display\":[\"Display\"],\"app.viewerToolbar.displaySettings\":[\"Display settings\"],\"app.viewerToolbar.doorWindowMarks\":[\"Door/window marks\"],\"app.viewerToolbar.edges\":[\"Edges\"],\"app.viewerToolbar.enterVr\":[\"Enter VR\"],\"app.viewerToolbar.exitVr\":[\"Exit VR\"],\"app.viewerToolbar.expandSidebar\":[\"Expand sidebar\"],\"app.viewerToolbar.expert\":[\"Expert\"],\"app.viewerToolbar.exploded\":[\"Exploded\"],\"app.viewerToolbar.faceOfStud\":[\"Face of stud\"],\"app.viewerToolbar.faintOutlineOfMajorCreases\":[\"Faint outline of major creases\"],\"app.viewerToolbar.feetInches\":[\"Feet & inches\"],\"app.viewerToolbar.finishedFaces\":[\"Finished faces\"],\"app.viewerToolbar.flatAndFastNoAmbientOcclusion\":[\"Flat and fast — no ambient occlusion\"],\"app.viewerToolbar.floorPlanAnnotations\":[\"Floor plan annotations\"],\"app.viewerToolbar.floorPlanMode\":[\"Floor plan mode\"],\"app.viewerToolbar.fullAmbientOcclusion\":[\"Full ambient occlusion\"],\"app.viewerToolbar.fullDocumentationAndAnnotationControls\":[\"Full documentation and annotation controls\"],\"app.viewerToolbar.fullHeight\":[\"Full height\"],\"app.viewerToolbar.fullWallThickness\":[\"Full wall thickness\"],\"app.viewerToolbar.grid\":[\"Grid\"],\"app.viewerToolbar.levelsMode\":[\"Levels: \",[\"mode\"]],\"app.viewerToolbar.low\":[\"Low\"],\"app.viewerToolbar.magneticSnap\":[\"Magnetic snap\"],\"app.viewerToolbar.manual\":[\"Manual\"],\"app.viewerToolbar.manualDimensions\":[\"Manual dimensions\"],\"app.viewerToolbar.measurements\":[\"Measurements\"],\"app.viewerToolbar.meters\":[\"Meters\"],\"app.viewerToolbar.millimeters\":[\"Millimeters\"],\"app.viewerToolbar.n3dMeasurements\":[\"3D measurements\"],\"app.viewerToolbar.noEdgeLines\":[\"No edge lines\"],\"app.viewerToolbar.off\":[\"Off\"],\"app.viewerToolbar.on\":[\"On\"],\"app.viewerToolbar.orthographic\":[\"Orthographic\"],\"app.viewerToolbar.perspective\":[\"Perspective\"],\"app.viewerToolbar.preview\":[\"Preview\"],\"app.viewerToolbar.previewMode\":[\"Preview mode\"],\"app.viewerToolbar.render\":[\"Render\"],\"app.viewerToolbar.rendered\":[\"Rendered\"],\"app.viewerToolbar.roomLabels\":[\"Room labels\"],\"app.viewerToolbar.sceneTheme\":[\"Scene theme\"],\"app.viewerToolbar.shadows\":[\"Shadows\"],\"app.viewerToolbar.singleWallAxis\":[\"Single wall axis\"],\"app.viewerToolbar.soft\":[\"Soft\"],\"app.viewerToolbar.solid\":[\"Solid\"],\"app.viewerToolbar.solo\":[\"Solo\"],\"app.viewerToolbar.stack\":[\"Stack\"],\"app.viewerToolbar.stairAnnotations\":[\"Stair annotations\"],\"app.viewerToolbar.strong\":[\"Strong\"],\"app.viewerToolbar.structuralCoreFace\":[\"Structural core face\"],\"app.viewerToolbar.structuralGridsColumnCenters\":[\"Structural grids & column centers\"],\"app.viewerToolbar.translucent\":[\"Translucent\"],\"app.viewerToolbar.units\":[\"Units\"],\"app.viewerToolbar.walkthrough\":[\"Walkthrough\"],\"app.viewerToolbar.wallCenterline\":[\"Wall centerline\"],\"app.viewerToolbar.wallDimensions\":[\"Wall dimensions\"],\"app.viewerToolbar.wallsLabel\":[\"Walls: \",[\"label\"]],\"core.level.basement\":[\"Basement\"],\"core.level.basementNumber\":[\"Basement \",[\"number\"]],\"core.level.floorNumber\":[\"Floor \",[\"number\"]],\"core.level.groundFloor\":[\"Ground floor\"],\"editor.actionMenu.cameraActions.orbitLeft\":[\"Orbit Left\"],\"editor.actionMenu.cameraActions.orbitRight\":[\"Orbit Right\"],\"editor.actionMenu.cameraActions.topView\":[\"Top View\"],\"editor.actionMenu.controlModes.delete\":[\"Delete\"],\"editor.actionMenu.controlModes.select\":[\"Select\"],\"editor.actionMenu.followPascalPill.resumeFollowing\":[\"Resume following\"],\"editor.actionMenu.followPascalToggle.off\":[\"Follow Pascal: Off\"],\"editor.actionMenu.followPascalToggle.on\":[\"Follow Pascal: On\"],\"editor.actionMenu.furnishTools.appliance\":[\"Appliance\"],\"editor.actionMenu.furnishTools.bathroom\":[\"Bathroom\"],\"editor.actionMenu.furnishTools.furniture\":[\"Furniture\"],\"editor.actionMenu.furnishTools.kitchen\":[\"Kitchen\"],\"editor.actionMenu.furnishTools.outdoor\":[\"Outdoor\"],\"editor.actionMenu.measurementControl.angle\":[\"Angle\"],\"editor.actionMenu.measurementControl.angularDimension\":[\"Angular dimension\"],\"editor.actionMenu.measurementControl.arcLength\":[\"Arc length\"],\"editor.actionMenu.measurementControl.area\":[\"Area\"],\"editor.actionMenu.measurementControl.centerMark\":[\"Center mark\"],\"editor.actionMenu.measurementControl.chordDimension\":[\"Chord dimension\"],\"editor.actionMenu.measurementControl.continuousDimension\":[\"Continuous dimension\"],\"editor.actionMenu.measurementControl.coordinateDimensions\":[\"Coordinate dimensions\"],\"editor.actionMenu.measurementControl.diameterDimension\":[\"Diameter dimension\"],\"editor.actionMenu.measurementControl.distance\":[\"Distance\"],\"editor.actionMenu.measurementControl.floorPlan\":[\"Floor plan\"],\"editor.actionMenu.measurementControl.linearDimension\":[\"Linear dimension\"],\"editor.actionMenu.measurementControl.measureSelectedlabel\":[\"Measure: \",[\"selectedLabel\"]],\"editor.actionMenu.measurementControl.measurementOptions\":[\"Measurement options\"],\"editor.actionMenu.measurementControl.measurementType\":[\"Measurement type\"],\"editor.actionMenu.measurementControl.perimeter\":[\"Perimeter\"],\"editor.actionMenu.measurementControl.radiusDimension\":[\"Radius dimension\"],\"editor.actionMenu.measurementControl.smart\":[\"Smart\"],\"editor.actionMenu.measurementControl.volume\":[\"Volume\"],\"editor.actionMenu.pointAskButton.pointAndAsk\":[\"Point and ask\"],\"editor.actionMenu.pointAskButton.pointAndAskC\":[\"Point and ask (C)\"],\"editor.actionMenu.pointAskButton.pointAndAskWorksInThe\":[\"Point and ask works in the 3D view\"],\"editor.actionMenu.structureTools.ceiling\":[\"Ceiling\"],\"editor.actionMenu.structureTools.column\":[\"Column\"],\"editor.actionMenu.structureTools.door\":[\"Door\"],\"editor.actionMenu.structureTools.duct\":[\"Duct\"],\"editor.actionMenu.structureTools.ductFitting\":[\"Duct Fitting\"],\"editor.actionMenu.structureTools.dwvPipe\":[\"DWV Pipe\"],\"editor.actionMenu.structureTools.elevator\":[\"Elevator\"],\"editor.actionMenu.structureTools.fence\":[\"Fence\"],\"editor.actionMenu.structureTools.gableRoof\":[\"Gable Roof\"],\"editor.actionMenu.structureTools.hvacUnit\":[\"HVAC Unit\"],\"editor.actionMenu.structureTools.lineset\":[\"Lineset\"],\"editor.actionMenu.structureTools.liquidLine\":[\"Liquid Line\"],\"editor.actionMenu.structureTools.pipeFitting\":[\"Pipe Fitting\"],\"editor.actionMenu.structureTools.register\":[\"Register\"],\"editor.actionMenu.structureTools.shelf\":[\"Shelf\"],\"editor.actionMenu.structureTools.slab\":[\"Slab\"],\"editor.actionMenu.structureTools.spawnPoint\":[\"Spawn Point\"],\"editor.actionMenu.structureTools.stairs\":[\"Stairs\"],\"editor.actionMenu.structureTools.trap\":[\"Trap\"],\"editor.actionMenu.structureTools.wall\":[\"Wall\"],\"editor.actionMenu.structureTools.window\":[\"Window\"],\"editor.actionMenu.structureTools.zone\":[\"Zone\"],\"editor.actionMenu.viewToggles.deleteGuideImage\":[\"Delete guide image\"],\"editor.actionMenu.viewToggles.deleteScan\":[\"Delete scan\"],\"editor.actionMenu.viewToggles.guideCount\":[[\"count\",\"plural\",{\"one\":[\"#\",\" guide image on this level\"],\"other\":[\"#\",\" guide images on this level\"]}]],\"editor.actionMenu.viewToggles.guideImageNumber\":[\"Guide image \",[\"number\"]],\"editor.actionMenu.viewToggles.guideImageSettings\":[\"Guide image settings\"],\"editor.actionMenu.viewToggles.guideImages\":[\"Guide images\"],\"editor.actionMenu.viewToggles.guides\":[\"Guides\"],\"editor.actionMenu.viewToggles.guidesHidden\":[\"Guides: Hidden\"],\"editor.actionMenu.viewToggles.guidesVisible\":[\"Guides: Visible\"],\"editor.actionMenu.viewToggles.hideGuideImages\":[\"Hide guide images\"],\"editor.actionMenu.viewToggles.hideReferenceFloor\":[\"Hide reference floor\"],\"editor.actionMenu.viewToggles.hideScans\":[\"Hide scans\"],\"editor.actionMenu.viewToggles.levelsBelow\":[[\"count\"],\" below\"],\"editor.actionMenu.viewToggles.noLowerFloorAvailable\":[\"No lower floor available.\"],\"editor.actionMenu.viewToggles.opacity\":[\"Opacity\"],\"editor.actionMenu.viewToggles.referenceFloor\":[\"Reference floor\"],\"editor.actionMenu.viewToggles.referenceFloorSelectedlevelname\":[\"Reference floor: \",[\"selectedLevelName\"]],\"editor.actionMenu.viewToggles.referenceFloorSettings\":[\"Reference floor settings\"],\"editor.actionMenu.viewToggles.referenceSettings\":[\"Reference settings\"],\"editor.actionMenu.viewToggles.references\":[\"References\"],\"editor.actionMenu.viewToggles.referencesEmpty\":[\"Upload GLB meshes as scan references or blueprint images as guide references.\"],\"editor.actionMenu.viewToggles.referencesHidden\":[\"References: Hidden\"],\"editor.actionMenu.viewToggles.referencesVisible\":[\"References: Visible\"],\"editor.actionMenu.viewToggles.riserDiagram\":[\"Riser diagram\"],\"editor.actionMenu.viewToggles.scanCount\":[[\"count\",\"plural\",{\"one\":[\"#\",\" scan on this level\"],\"other\":[\"#\",\" scans on this level\"]}]],\"editor.actionMenu.viewToggles.scanNumber\":[\"Scan \",[\"number\"]],\"editor.actionMenu.viewToggles.scanSettings\":[\"Scan settings\"],\"editor.actionMenu.viewToggles.scans\":[\"Scans\"],\"editor.actionMenu.viewToggles.scansHidden\":[\"Scans: Hidden\"],\"editor.actionMenu.viewToggles.scansVisible\":[\"Scans: Visible\"],\"editor.actionMenu.viewToggles.showGuideImages\":[\"Show guide images\"],\"editor.actionMenu.viewToggles.showReferenceFloor\":[\"Show reference floor\"],\"editor.actionMenu.viewToggles.showScans\":[\"Show scans\"],\"editor.actionMenu.viewToggles.uploadScanOrGuideImage\":[\"Upload scan or guide image\"],\"editor.backToHome\":[\"Back to home\"],\"editor.buildPanel.advanced\":[\"Advanced\"],\"editor.buildPanel.rooms.hint\":[\"walls · floor · ceiling\"],\"editor.buildPanel.rooms.idle\":[\"Pick a shape to start. Every room brings its own walls, floor and ceiling.\"],\"editor.buildPanel.rooms.polygon.caption\":[[\"lead\"],\" then the first one again to close. For L-shapes and angled rooms.\"],\"editor.buildPanel.rooms.polygon.label\":[\"Polygon\"],\"editor.buildPanel.rooms.polygon.lead\":[\"Click each corner,\"],\"editor.buildPanel.rooms.polygon.title\":[\"Polygon room\"],\"editor.buildPanel.rooms.rectangle.caption\":[[\"lead\"],\" on the grid. Walls, floor and ceiling are created together.\"],\"editor.buildPanel.rooms.rectangle.label\":[\"Rectangle\"],\"editor.buildPanel.rooms.rectangle.lead\":[\"Click two corners\"],\"editor.buildPanel.rooms.rectangle.title\":[\"Rectangle room\"],\"editor.buildPanel.rooms.title\":[\"Rooms\"],\"editor.buildPanel.rooms.walls.caption\":[[\"lead\"],\" Close a loop and it becomes a room; leave it open for partitions.\"],\"editor.buildPanel.rooms.walls.label\":[\"Walls\"],\"editor.buildPanel.rooms.walls.lead\":[\"Draw one wall at a time.\"],\"editor.buildPanel.rooms.walls.title\":[\"Walls\"],\"editor.cameraControlsHint\":[\"Camera controls hint\"],\"editor.cameraHint.pan\":[\"Pan\"],\"editor.cameraHint.rotate\":[\"Rotate\"],\"editor.cameraHint.zoom\":[\"Zoom\"],\"editor.dismiss\":[\"Dismiss\"],\"editor.dismissCameraControlsHint\":[\"Dismiss camera controls hint\"],\"editor.expandSidebar\":[\"Expand sidebar\"],\"editor.floatingActionMenu.axis\":[\"Axis\"],\"editor.floatingActionMenu.axis2\":[\"⌥ axis\"],\"editor.floatingActionMenu.noEquipment\":[\"⚠ no equipment\"],\"editor.floatingActionMenu.rTRotate\":[\"R/T rotate\"],\"editor.floatingActionMenu.registerCount\":[[\"count\",\"plural\",{\"one\":[\"#\",\" register\"],\"other\":[\"#\",\" registers\"]}]],\"editor.floatingActionMenu.runCount\":[[\"count\",\"plural\",{\"one\":[\"#\",\" run\"],\"other\":[\"#\",\" runs\"]}]],\"editor.floatingActionMenu.system\":[\"System\"],\"editor.helpers.buildingHelper.cancel\":[\"Cancel\"],\"editor.helpers.buildingHelper.placeBuilding\":[\"Place building\"],\"editor.helpers.buildingHelper.rotate\":[\"Rotate\"],\"editor.helpers.contextualHelperPanel.cancelPlacement\":[\"Cancel placement\"],\"editor.helpers.contextualHelperPanel.continuationClickOrPressCTo\":[\"Continuation — click or press C to cycle\"],\"editor.helpers.contextualHelperPanel.continuationLabel\":[\"Continuation: \",[\"label\"]],\"editor.helpers.contextualHelperPanel.dragToDrawFence\":[\"Drag to draw fence\"],\"editor.helpers.contextualHelperPanel.eraseScope\":[\"Erase: \",[\"scope\"]],\"editor.helpers.contextualHelperPanel.eraseScopeClickOrPressShift\":[\"Erase scope — click or press Shift to cycle\"],\"editor.helpers.contextualHelperPanel.eraseScopeLabel\":[\"Erase scope: \",[\"scope\"]],\"editor.helpers.contextualHelperPanel.fenceTypeClickOrPressT\":[\"Fence type — click or press T to switch between straight, curved and freehand\"],\"editor.helpers.contextualHelperPanel.fewerShortcuts\":[\"Fewer shortcuts\"],\"editor.helpers.contextualHelperPanel.finishCurveOrDoubleClick\":[\"Finish curve (or double-click)\"],\"editor.helpers.contextualHelperPanel.gridLength\":[\"Grid: \",[\"length\"]],\"editor.helpers.contextualHelperPanel.gridStepClickOrTapCtrl\":[\"Grid step — click or tap Ctrl to cycle\"],\"editor.helpers.contextualHelperPanel.gridStepLength\":[\"Grid step: \",[\"length\"]],\"editor.helpers.contextualHelperPanel.hoverAPaintedSurfaceToErase\":[\"Hover a painted surface to erase\"],\"editor.helpers.contextualHelperPanel.hoverASurfaceToPaint\":[\"Hover a surface to paint\"],\"editor.helpers.contextualHelperPanel.hoverASurfaceToPickIts\":[\"Hover a surface to pick its material\"],\"editor.helpers.contextualHelperPanel.moreShortcuts\":[\"More shortcuts\"],\"editor.helpers.contextualHelperPanel.paintScope\":[\"Paint: \",[\"scope\"]],\"editor.helpers.contextualHelperPanel.paintScopeClickOrPressShift\":[\"Paint scope — click or press Shift to cycle\"],\"editor.helpers.contextualHelperPanel.paintScopeLabel\":[\"Paint scope: \",[\"scope\"]],\"editor.helpers.contextualHelperPanel.pickScope\":[\"Pick: \",[\"scope\"]],\"editor.helpers.contextualHelperPanel.placeGateOnAFence\":[\"Place gate on a fence\"],\"editor.helpers.contextualHelperPanel.placePassageOnAFence\":[\"Place passage on a fence\"],\"editor.helpers.contextualHelperPanel.selectAMaterialToPaint\":[\"Select a material to paint\"],\"editor.helpers.contextualHelperPanel.snappingAngles\":[\"Snapping: Angles\"],\"editor.helpers.contextualHelperPanel.snappingGrid\":[\"Snapping: Grid\"],\"editor.helpers.contextualHelperPanel.snappingLines\":[\"Snapping: Lines\"],\"editor.helpers.contextualHelperPanel.snappingModeClickOrPressShift\":[\"Snapping mode — click or press Shift to cycle\"],\"editor.helpers.contextualHelperPanel.snappingOff\":[\"Snapping: Off\"],\"editor.helpers.contextualHelperPanel.straightContinuationIsUnavailableForCurved\":[\"Straight continuation is unavailable for curved or freehand fences\"],\"editor.helpers.contextualHelperPanel.straightContinuous\":[\"Straight: Continuous\"],\"editor.helpers.contextualHelperPanel.straightFenceContinuationClickOrPress\":[\"Straight fence continuation — click or press C to toggle\"],\"editor.helpers.contextualHelperPanel.straightSingle\":[\"Straight: Single\"],\"editor.helpers.helperManager.addPoint\":[\"Add point\"],\"editor.helpers.helperManager.addPointClickTheFirstTo\":[\"Add point · click the first to close\"],\"editor.helpers.helperManager.brushSize\":[\"Brush size\"],\"editor.helpers.helperManager.cancel\":[\"Cancel\"],\"editor.helpers.helperManager.cancelPicking\":[\"Cancel picking\"],\"editor.helpers.helperManager.cancelStroke\":[\"Cancel stroke\"],\"editor.helpers.helperManager.done\":[\"Done\"],\"editor.helpers.helperManager.drawTheMezzanine\":[\"Draw the mezzanine\"],\"editor.helpers.helperManager.drawTheOpening\":[\"Draw the opening\"],\"editor.helpers.helperManager.drawTheTerrace\":[\"Draw the terrace\"],\"editor.helpers.helperManager.exitSmartMeasure\":[\"Exit smart measure\"],\"editor.helpers.helperManager.finish\":[\"Finish\"],\"editor.helpers.helperManager.finishAtTheEdge\":[\"Finish at the edge\"],\"editor.helpers.helperManager.freeMove\":[\"Free move\"],\"editor.helpers.helperManager.freeMoveSlideDoorsAndWindows\":[\"Free move · slide doors and windows\"],\"editor.helpers.helperManager.holdToPickAMaterial\":[\"Hold to pick a material\"],\"editor.helpers.helperManager.inspectSurfaceDimensions\":[\"Inspect surface dimensions\"],\"editor.helpers.helperManager.paintWithThisMaterial\":[\"Paint with this material\"],\"editor.helpers.helperManager.pickTargetHeight\":[\"Pick target height\"],\"editor.helpers.helperManager.pinMeasurementLens\":[\"Pin measurement lens\"],\"editor.helpers.helperManager.place\":[\"Place\"],\"editor.helpers.helperManager.placeInsideTheRoom\":[\"Place inside the room\"],\"editor.helpers.helperManager.pressAnywhereDragToTheOpposite\":[\"Press anywhere, drag to the opposite corner\"],\"editor.helpers.helperManager.raiseOrLower\":[\"Raise or lower\"],\"editor.helpers.helperManager.removeAPaintedPartOrReset\":[\"Remove a painted part, or reset a surface\"],\"editor.helpers.helperManager.removeLastPoint\":[\"Remove last point\"],\"editor.helpers.helperManager.resize\":[\"Resize\"],\"editor.helpers.helperManager.rotate45\":[\"Rotate ±45°\"],\"editor.helpers.helperManager.rotateTheSelection45\":[\"Rotate the selection ±45°\"],\"editor.helpers.helperManager.setOneCornerThenTheOpposite\":[\"Set one corner, then the opposite\"],\"editor.helpers.itemHelper.cancel\":[\"Cancel\"],\"editor.helpers.itemHelper.forcePlace\":[\"Force place\"],\"editor.helpers.itemHelper.place\":[\"Place\"],\"editor.helpers.itemHelper.rotate\":[\"Rotate\"],\"editor.helpers.registeredToolHelper.guidedConstraintsBypassed\":[\"Guided constraints bypassed\"],\"editor.lib.contextualHelp.addOrRemoveObjectsFromThe\":[\"Add or remove objects from the selection\"],\"editor.lib.contextualHelp.adjustOneSideSCornerRadius\":[\"Adjust one side’s corner radius\"],\"editor.lib.contextualHelp.clearTheSelectionOrClickOutside\":[\"Clear the selection (or click outside)\"],\"editor.lib.contextualHelp.clickAHandleDotToShow\":[\"Click a handle dot to show move arrows\"],\"editor.lib.contextualHelp.clickOrDragTheSelectionTo\":[\"Click or drag the selection to move it as one\"],\"editor.lib.contextualHelp.clickTheHandleDotToShow\":[\"Click the handle dot to show move + rotate handles\"],\"editor.lib.contextualHelp.detachTheJointWhileDraggingAn\":[\"Detach the joint while dragging an arrow\"],\"editor.lib.contextualHelp.dragLeftOrRightToRotate\":[\"Drag left or right to rotate selected object\"],\"editor.lib.contextualHelp.dragSelectedMovableObject\":[\"Drag selected movable object\"],\"editor.lib.contextualHelp.groupSelectionSessionOnly\":[\"Group selection (session only)\"],\"editor.lib.contextualHelp.holdToRotateFreely\":[\"Hold to rotate freely\"],\"editor.lib.contextualHelp.rotate45\":[\"Rotate ±45°\"],\"editor.lib.contextualHelp.rotateTheSelection45\":[\"Rotate the selection ±45°\"],\"editor.lib.contextualHelp.rotatingFreely\":[\"Rotating freely (no angle step)\"],\"editor.lib.contextualHelp.switchTheRotationAxisYX\":[\"Switch the rotation axis (Y → X → Z)\"],\"editor.lib.contextualHelp.ungroupSessionSelection\":[\"Ungroup session selection\"],\"editor.lib.continuation.continuous\":[\"Continuous\"],\"editor.lib.continuation.continuousCanopy\":[\"Continuous canopy\"],\"editor.lib.continuation.continuousRun\":[\"Continuous run\"],\"editor.lib.continuation.curvedFence\":[\"Curved fence\"],\"editor.lib.continuation.freehandFence\":[\"Freehand fence\"],\"editor.lib.continuation.placeMultiple\":[\"Place multiple\"],\"editor.lib.continuation.placeOnce\":[\"Place once\"],\"editor.lib.continuation.polygonRoom\":[\"Polygon room\"],\"editor.lib.continuation.rectangleRoom\":[\"Rectangle room\"],\"editor.lib.continuation.singleCabinet\":[\"Single cabinet\"],\"editor.lib.continuation.singleCanopy\":[\"Single canopy\"],\"editor.lib.continuation.singleFence\":[\"Single fence\"],\"editor.lib.continuation.walls\":[\"Walls\"],\"editor.lib.hudTitle.cutOpening\":[\"Cut opening\"],\"editor.lib.hudTitle.divideRoom\":[\"Divide room\"],\"editor.lib.hudTitle.editKind\":[\"Edit \",[\"kind\"]],\"editor.lib.hudTitle.erase\":[\"Erase\"],\"editor.lib.hudTitle.levelTerrain\":[\"Level terrain\"],\"editor.lib.hudTitle.lowerTerrain\":[\"Lower terrain\"],\"editor.lib.hudTitle.mezzanine\":[\"Mezzanine\"],\"editor.lib.hudTitle.moveKind\":[\"Move \",[\"kind\"]],\"editor.lib.hudTitle.moveRoom\":[\"Move room\"],\"editor.lib.hudTitle.moveSelection\":[\"Move selection\"],\"editor.lib.hudTitle.paint\":[\"Paint\"],\"editor.lib.hudTitle.paintARectangle\":[\"Paint a rectangle\"],\"editor.lib.hudTitle.paintAShape\":[\"Paint a shape\"],\"editor.lib.hudTitle.pickMaterial\":[\"Pick material\"],\"editor.lib.hudTitle.raiseTerrain\":[\"Raise terrain\"],\"editor.lib.hudTitle.resize\":[\"Resize\"],\"editor.lib.hudTitle.rotate\":[\"Rotate\"],\"editor.lib.hudTitle.select\":[\"Select\"],\"editor.lib.hudTitle.smartMeasure\":[\"Smart measure\"],\"editor.lib.hudTitle.smoothTerrain\":[\"Smooth terrain\"],\"editor.lib.hudTitle.splitKind\":[\"Split \",[\"kind\"]],\"editor.lib.hudTitle.terrace\":[\"Terrace\"],\"editor.lib.wallDrawVariant.polygonRoom\":[\"Polygon room\"],\"editor.lib.wallDrawVariant.rectangleRoom\":[\"Rectangle room\"],\"editor.lib.wallDrawVariant.walls\":[\"Walls\"],\"editor.reloadEditor\":[\"Reload editor\"],\"editor.theEditorSceneFailedToRender\":[\"The editor scene failed to render\"],\"editor.toolHint.aCurtainWallTakesNoCorner.1qxjv5i\":[\"A curtain wall takes no corner window\"],\"editor.toolHint.aCurvedWallTakesNoCorner.1vdnaw5\":[\"A curved wall takes no corner window\"],\"editor.toolHint.addACornerClickTheFirst.o4r67t\":[\"Add a corner · click the first to close\"],\"editor.toolHint.anotherOpeningIsInTheWay.11l9dd0\":[\"Another opening is in the way at the corner\"],\"editor.toolHint.autoHangers.10554ka\":[\"Auto hangers\"],\"editor.toolHint.autoHangersClickOrPressH.rwa3ka\":[\"Auto hangers - click or press H to toggle\"],\"editor.toolHint.autoHangersOff.7yx01x\":[\"Auto hangers: Off\"],\"editor.toolHint.autoHangersOn.10b1umh\":[\"Auto hangers: On\"],\"editor.toolHint.bypassSnapping.w5lmdv\":[\"Bypass snapping\"],\"editor.toolHint.cancel.ew9em3\":[\"Cancel\"],\"editor.toolHint.cancelMove.lvp31c\":[\"Cancel move\"],\"editor.toolHint.cancelRunExit.zqjf3h\":[\"Cancel run / exit\"],\"editor.toolHint.cancelStartPoint.1xbq2lh\":[\"Cancel start point\"],\"editor.toolHint.cornerWindow.1avkzpo\":[\"Corner window\"],\"editor.toolHint.cuts.1y0axps\":[\"Cuts\"],\"editor.toolHint.cutsValue.ouzhvb\":[\"Cuts: \",[\"value\"]],\"editor.toolHint.cutsValueEven.1ngsz3\":[\"Cuts: \",[\"value\"],\", even\"],\"editor.toolHint.cycleMonoGableButterfly.1poga3m\":[\"Cycle mono / gable / butterfly\"],\"editor.toolHint.cycleSnappingMode.1ct0gn6\":[\"Cycle snapping mode\"],\"editor.toolHint.doorStyleClickOrPressL.33pe65\":[\"Door style — click or press L to cycle\"],\"editor.toolHint.doorTypeClickOrPressO.1hhh8gt\":[\"Door type — click or press O to cycle\"],\"editor.toolHint.dropDownspoutFromOutlet.1k4h1m4\":[\"Drop downspout from outlet\"],\"editor.toolHint.ductDiameterDownUp.1wdz5vq\":[\"Duct diameter down / up\"],\"editor.toolHint.endRunCancel.59dh2w\":[\"End run / cancel\"],\"editor.toolHint.exit.engmg5\":[\"Exit\"],\"editor.toolHint.exitDrawing.9noxyb\":[\"Exit drawing\"],\"editor.toolHint.finishAndContinue.1gpfsks\":[\"Finish and continue\"],\"editor.toolHint.finishCeiling.1c1lfel\":[\"Finish ceiling\"],\"editor.toolHint.finishGridAxis.1wvrfhr\":[\"Finish grid axis\"],\"editor.toolHint.finishMeasurement.1e4gv16\":[\"Finish measurement\"],\"editor.toolHint.finishMultiPointWitnesses.8wzskz\":[\"Finish multi-point witnesses\"],\"editor.toolHint.finishSlab.xmnm8e\":[\"Finish slab\"],\"editor.toolHint.flipSide.172xku9\":[\"Flip side\"],\"editor.toolHint.followTraceALineset.mgquwe\":[\"Follow: trace a lineset\"],\"editor.toolHint.forcePlace.1hq1nr\":[\"Force place\"],\"editor.toolHint.freePlacement.1nztdac\":[\"Free placement\"],\"editor.toolHint.goVerticalClickToPlace.dg8g6m\":[\"Go vertical ↕, click to place\"],\"editor.toolHint.highlightOutlet.65hoq8\":[\"Highlight outlet\"],\"editor.toolHint.joinAsACornerWindow.jvdp4j\":[\"Join as a corner window\"],\"editor.toolHint.key.altDrag.ai3wn9\":[\"Alt + drag\"],\"editor.toolHint.key.backspace.qy6qx8\":[\"Backspace\"],\"editor.toolHint.key.click.m8sun\":[\"Click\"],\"editor.toolHint.key.clickAgain.190ws9j\":[\"Click again\"],\"editor.toolHint.key.command.1j2mkia\":[\"Command\"],\"editor.toolHint.key.control.10fbl8e\":[\"Control\"],\"editor.toolHint.key.delete.oay2cq\":[\"Delete\"],\"editor.toolHint.key.doubleClick.vlma6o\":[\"Double click\"],\"editor.toolHint.key.drag.8pwtpf\":[\"Drag\"],\"editor.toolHint.key.enter.1ctpui5\":[\"Enter\"],\"editor.toolHint.key.hover.6xw79p\":[\"Hover\"],\"editor.toolHint.key.hoverADuctEnd.19axr3b\":[\"Hover a duct end\"],\"editor.toolHint.key.hoverAPipeEnd.1jbum5f\":[\"Hover a pipe end\"],\"editor.toolHint.key.hoverGutter.1dwcsno\":[\"Hover gutter\"],\"editor.toolHint.key.leftClick.s4gwfc\":[\"Left click\"],\"editor.toolHint.key.middleClick.1jbaan4\":[\"Middle click\"],\"editor.toolHint.key.rShiftR.13bnobh\":[\"R / Shift+R\"],\"editor.toolHint.key.rightClick.1ovld0h\":[\"Right click\"],\"editor.toolHint.key.scroll.ai6wr0\":[\"Scroll\"],\"editor.toolHint.key.scrollWheel.18j0ix7\":[\"Scroll wheel\"],\"editor.toolHint.key.space.1hrh82t\":[\"Space\"],\"editor.toolHint.key.tab.1xsal0s\":[\"Tab\"],\"editor.toolHint.mountFloorCeilingWall.32dxpv\":[\"Mount: floor / ceiling / wall\"],\"editor.toolHint.noRoomForTheMatchingWindow.1755948\":[\"No room for the matching window on the other wall\"],\"editor.toolHint.noWallMeetsHere.19n99yc\":[\"No wall meets here\"],\"editor.toolHint.numberOfCutsScrollOrClick.1kqe84b\":[\"Number of cuts — scroll or click to change\"],\"editor.toolHint.pickWitnessPoint.k3hgh1\":[\"Pick witness point\"],\"editor.toolHint.pipeSizeDownUp.wp04og\":[\"Pipe size down / up\"],\"editor.toolHint.placeAndContinue.qfwkrq\":[\"Place and continue\"],\"editor.toolHint.placeBlock.1aylwrx\":[\"Place block\"],\"editor.toolHint.placeBoxVentOnRoof.kf88e5\":[\"Place box vent on roof\"],\"editor.toolHint.placeCabinet.b0ouyk\":[\"Place cabinet\"],\"editor.toolHint.placeCanopyOrSetTheNext.12l7zf8\":[\"Place canopy or set the next run point\"],\"editor.toolHint.placeChimneyOnRoof.19dbqu\":[\"Place chimney on roof\"],\"editor.toolHint.placeColumn.1w2vq86\":[\"Place column\"],\"editor.toolHint.placeCupolaOnRoof.ofx3bn\":[\"Place cupola on roof\"],\"editor.toolHint.placeDimensionLineWhenNeeded.bjw2cj\":[\"Place dimension line when needed\"],\"editor.toolHint.placeDoorOnWall.1jwadf\":[\"Place door on wall\"],\"editor.toolHint.placeDormerOnRoof.1w518a6\":[\"Place dormer on roof\"],\"editor.toolHint.placeElevator.1f65zva\":[\"Place elevator\"],\"editor.toolHint.placeEyebrowVentOnRoof.1h1tqxn\":[\"Place eyebrow vent on roof\"],\"editor.toolHint.placeFitting.1pmx3vn\":[\"Place fitting\"],\"editor.toolHint.placeGutterOnRoofEave.llwzf9\":[\"Place gutter on roof eave\"],\"editor.toolHint.placeItLockedTo45.16e4csk\":[\"Place it (locked to 45°)\"],\"editor.toolHint.placeItem.teynf\":[\"Place item\"],\"editor.toolHint.placeMeasurementPoint.bsatli\":[\"Place measurement point\"],\"editor.toolHint.placeOnAFence.1dptstr\":[\"Place on a fence\"],\"editor.toolHint.placeRegister.1uebycd\":[\"Place register\"],\"editor.toolHint.placeRidgeVentOnRoof.2tpd8r\":[\"Place ridge vent on roof\"],\"editor.toolHint.placeShelf.y4l3iw\":[\"Place shelf\"],\"editor.toolHint.placeSkylightOnRoof.e215pe\":[\"Place skylight on roof\"],\"editor.toolHint.placeSolarPanelArrayOnRoof.kk11fn\":[\"Place solar panel array on roof\"],\"editor.toolHint.placeSpawnPoint.205o25\":[\"Place spawn point\"],\"editor.toolHint.placeStairs.zwxxu2\":[\"Place stairs\"],\"editor.toolHint.placeTrap.1gxemn3\":[\"Place trap\"],\"editor.toolHint.placeTurbineVentOnRoof.1iqeluf\":[\"Place turbine vent on roof\"],\"editor.toolHint.placeUnit.8zkx4q\":[\"Place unit\"],\"editor.toolHint.placeWindowOnWall.1k3qnfb\":[\"Place window on wall\"],\"editor.toolHint.placeWithoutTheCornerSnap.1nifqew\":[\"Place without the corner snap\"],\"editor.toolHint.placement.13lcvts\":[\"Placement\"],\"editor.toolHint.placementAuto.1caa52d\":[\"Placement: Auto\"],\"editor.toolHint.placementGround.1ruz145\":[\"Placement: Ground\"],\"editor.toolHint.placementRoof.renkw8\":[\"Placement: Roof\"],\"editor.toolHint.placementSurfaceClickOrPressP.w56h19\":[\"Placement surface - click or press P to cycle\"],\"editor.toolHint.placementType.1mdpl60\":[\"Placement type\"],\"editor.toolHint.placementTypeClickOrPressI.10cgxh2\":[\"Placement type — click or press I to toggle\"],\"editor.toolHint.removeLastPoint.2dmdcx\":[\"Remove last point\"],\"editor.toolHint.removeLastWitness.1b6vvzw\":[\"Remove last witness\"],\"editor.toolHint.rotate.1thqa0a\":[\"Rotate\"],\"editor.toolHint.rotate45.9zq68u\":[\"Rotate ±45°\"],\"editor.toolHint.rotate45FloorCeiling.m9t57d\":[\"Rotate ±45° (floor / ceiling)\"],\"editor.toolHint.rotateGhost15.rsa52c\":[\"Rotate ghost ±15°\"],\"editor.toolHint.rotateOrFlipTheRunSide.t5ior7\":[\"Rotate or flip the run side\"],\"editor.toolHint.rotateRoofDirection90.tvbji2\":[\"Rotate roof direction 90°\"],\"editor.toolHint.rotateSpawnPoint.1opcuu7\":[\"Rotate spawn point\"],\"editor.toolHint.roundRectangularOval.e4nh6x\":[\"Round / rectangular / oval\"],\"editor.toolHint.setFenceStartEnd.1phbwsq\":[\"Set fence start / end\"],\"editor.toolHint.setOneCornerThenTheOpposite.8tsl49\":[\"Set one corner, then the opposite\"],\"editor.toolHint.setRoofFootprint.p50n0o\":[\"Set roof footprint\"],\"editor.toolHint.setWallStartEnd.1r8ubcx\":[\"Set wall start / end\"],\"editor.toolHint.slopeLevel.ftqp67\":[\"Slope / level\"],\"editor.toolHint.snapOntoTheRun.86yhmp\":[\"Snap onto the run\"],\"editor.toolHint.splitAtTheMarks.x5tpdd\":[\"Split at the marks\"],\"editor.toolHint.startGridAxis.k92yza\":[\"Start grid axis\"],\"editor.toolHint.startLineset.23q8dh\":[\"Start lineset\"],\"editor.toolHint.startLiquidLine.1rlxsgd\":[\"Start liquid line\"],\"editor.toolHint.startRun.r6fc5u\":[\"Start run\"],\"editor.toolHint.startSegment.rolym6\":[\"Start segment\"],\"editor.toolHint.stepBackOrCancel.zbfdkn\":[\"Step back or cancel\"],\"editor.toolHint.style.nf3vcm\":[\"Style\"],\"editor.toolHint.styleBarn.k9n1x\":[\"Style: Barn\"],\"editor.toolHint.styleCasement.ziklec\":[\"Style: Casement\"],\"editor.toolHint.styleCraftsman.52e6a9\":[\"Style: Craftsman\"],\"editor.toolHint.styleDoubleHung.1lg8pkg\":[\"Style: Double-hung\"],\"editor.toolHint.styleFrench.1ue3j64\":[\"Style: French\"],\"editor.toolHint.styleGlass.qudnb4\":[\"Style: Glass\"],\"editor.toolHint.styleGrid.1vuq4po\":[\"Style: Grid\"],\"editor.toolHint.styleHalfLouvered.13b1few\":[\"Style: Half-louvered\"],\"editor.toolHint.styleHorizontalBands.12ethxk\":[\"Style: Horizontal bands\"],\"editor.toolHint.styleModern.1fh8hhn\":[\"Style: Modern\"],\"editor.toolHint.stylePanel.922jze\":[\"Style: Panel\"],\"editor.toolHint.stylePaneledGlass.17a17en\":[\"Style: Paneled glass\"],\"editor.toolHint.styleShaker.49z17k\":[\"Style: Shaker\"],\"editor.toolHint.styleSingle.6f3cm0\":[\"Style: Single\"],\"editor.toolHint.styleSixPanel.u49laj\":[\"Style: Six-panel\"],\"editor.toolHint.styleSliding.q81s0i\":[\"Style: Sliding\"],\"editor.toolHint.styleTallGrid.1eotg3x\":[\"Style: Tall grid\"],\"editor.toolHint.styleTransom.kb9bh6\":[\"Style: Transom\"],\"editor.toolHint.styleTripleHung.pxnqi3\":[\"Style: Triple-hung\"],\"editor.toolHint.styleWideGrid.12n27et\":[\"Style: Wide grid\"],\"editor.toolHint.switchRotationAxisYXZ.15lohm6\":[\"Switch rotation axis (Y → X → Z)\"],\"editor.toolHint.theWallsMeetAtTooSharp.kh3wi3\":[\"The walls meet at too sharp or too flat an angle\"],\"editor.toolHint.theWindowWaitingThereIsTaller.1tqwez4\":[\"The window waiting there is taller than this wall\"],\"editor.toolHint.threeOrMoreWallsMeetHere.rgifif\":[\"Three or more walls meet here\"],\"editor.toolHint.traceCeilingOutline.1b639wv\":[\"Trace ceiling outline\"],\"editor.toolHint.traceSlabOutline.z0j2lc\":[\"Trace slab outline\"],\"editor.toolHint.type.1m2zofh\":[\"Type\"],\"editor.toolHint.typeAwning.1cj59al\":[\"Type: Awning\"],\"editor.toolHint.typeBarn.sbnygq\":[\"Type: Barn\"],\"editor.toolHint.typeBay.1200hc1\":[\"Type: Bay\"],\"editor.toolHint.typeBow.14s2t9p\":[\"Type: Bow\"],\"editor.toolHint.typeCabinet.1r68je5\":[\"Type: Cabinet\"],\"editor.toolHint.typeCasement.176uo9j\":[\"Type: Casement\"],\"editor.toolHint.typeDouble.af7w4i\":[\"Type: Double\"],\"editor.toolHint.typeDoubleHung.t482fu\":[\"Type: Double Hung\"],\"editor.toolHint.typeFixed.v1cjez\":[\"Type: Fixed\"],\"editor.toolHint.typeFolding.sxxyng\":[\"Type: Folding\"],\"editor.toolHint.typeFrench.1y57z1b\":[\"Type: French\"],\"editor.toolHint.typeHinged.1xrcfju\":[\"Type: Hinged\"],\"editor.toolHint.typeIsland.ufr3ce\":[\"Type: Island\"],\"editor.toolHint.typeLouvered.oxl1cz\":[\"Type: Louvered\"],\"editor.toolHint.typePocket.hc65x9\":[\"Type: Pocket\"],\"editor.toolHint.typeSingleHung.p53pyl\":[\"Type: Single Hung\"],\"editor.toolHint.typeSliding.nwmr3f\":[\"Type: Sliding\"],\"editor.toolHint.verticalStackClickToPlace.ijcn4q\":[\"Vertical stack ↕, click to place\"],\"editor.toolHint.wasteVent.1hvi3vj\":[\"Waste / vent\"],\"editor.toolHint.windowStyleClickOrPressL.ah7qm9\":[\"Window style — click or press L to cycle\"],\"editor.toolHint.windowTypeClickOrPressO.wv4x35\":[\"Window type — click or press O to cycle\"],\"editor.views.plugins\":[\"Plugins\"],\"editor.views.view2d\":[\"2D\"],\"editor.views.view3d\":[\"3D\"],\"editor.views.viewBar.auto\":[\"Auto\"],\"editor.views.viewBar.browsePlugins\":[\"Browse plugins\"],\"editor.views.viewBar.closeLabel\":[\"Close \",[\"label\"]],\"editor.views.viewBar.closeSplit\":[\"Close split (\\\\)\"],\"editor.views.viewBar.ground\":[\"Ground\"],\"editor.views.viewBar.groundSolid\":[[\"standing\",\"select\",{\"partly\":[\"Partly below grade · ground solid\"],\"below\":[\"Below grade · ground solid\"],\"other\":[\"Ground solid\"]}]],\"editor.views.viewBar.groundVeiled\":[[\"standing\",\"select\",{\"partly\":[\"Partly below grade · ground veiled\"],\"below\":[\"Below grade · ground veiled\"],\"other\":[\"Ground veiled\"]}]],\"editor.views.viewBar.keepTheGroundSolid\":[\"Keep the ground solid\"],\"editor.views.viewBar.moreViews\":[\"More views\"],\"editor.views.viewBar.paneViews\":[\"Pane \",[\"pane\"],\" views\"],\"editor.views.viewBar.pinLabel\":[\"Pin \",[\"label\"]],\"editor.views.viewBar.pinToTheViewBar\":[\"Pin to the view bar\"],\"editor.views.viewBar.solid\":[\"Solid\"],\"editor.views.viewBar.split\":[\"Split (\\\\)\"],\"editor.views.viewBar.split2\":[\"Split\"],\"editor.views.viewBar.swapPanes\":[\"Swap panes\"],\"editor.views.viewBar.unpinFromTheViewBar\":[\"Unpin from the view bar\"],\"editor.views.viewBar.unpinLabel\":[\"Unpin \",[\"label\"]],\"editor.views.viewBar.veilTheGroundOverALevel\":[\"Veil the ground over a level below grade\"],\"editor.views.viewBar.views\":[\"Views\"],\"editor.youCanRetryTheSceneOr\":[\"You can retry the scene or return home without reloading the whole app shell.\"],\"node.block.description\":[\"A topology-backed solid edited directly in the canvas.\"],\"node.block.label\":[\"Block\"],\"node.boxVent.description\":[\"Small louvered exhaust vent that sits on a roof slope.\"],\"node.boxVent.label\":[\"Box Vent\"],\"node.building.description\":[\"A building container holding one or more levels.\"],\"node.building.label\":[\"Building\"],\"node.cabinet.description\":[\"A configurable parametric base cabinet.\"],\"node.cabinet.label\":[\"Modular Cabinet\"],\"node.cabinetModule.description\":[\"An editable module inside a modular cabinet run.\"],\"node.cabinetModule.label\":[\"Cabinet Module\"],\"node.ceiling.description\":[\"A polygon-bounded ceiling surface that hosts ceiling-mounted items.\"],\"node.ceiling.label\":[\"Ceiling\"],\"node.chimney.description\":[\"Vertical masonry stack on a roof segment.\"],\"node.chimney.label\":[\"Chimney\"],\"node.column.description\":[\"A parametric column with configurable cross-section, base, and capital.\"],\"node.column.label\":[\"Column\"],\"node.constructionDimension.description\":[\"Associative linear, curved, circular, angular, or coordinate plan dimension.\"],\"node.constructionDimension.label\":[\"Construction Dimension\"],\"node.cupola.description\":[\"Louvered roof lantern with a dome or pyramid cap and optional finial.\"],\"node.cupola.label\":[\"Cupola\"],\"node.door.description\":[\"A door cut into a wall. Animated open/close state.\"],\"node.door.label\":[\"Door\"],\"node.dormer.description\":[\"House-shaped protrusion on a roof segment.\"],\"node.dormer.label\":[\"Dormer\"],\"node.downspout.description\":[\"Vertical drop pipe from a gutter outlet to the ground.\"],\"node.downspout.label\":[\"Downspout\"],\"node.ductFitting.description\":[\"Elbow, tee, reducer, or square-to-round transition connecting duct runs.\"],\"node.ductFitting.label\":[\"Duct Fitting\"],\"node.ductSegment.description\":[\"HVAC duct run — polyline of round, rect, or flat-oval sections.\"],\"node.ductSegment.label\":[\"Duct\"],\"node.ductTerminal.description\":[\"Duct terminal — supply register, ceiling diffuser, or return grille. Duct runs end at its collar.\"],\"node.ductTerminal.label\":[\"Register\"],\"node.elevator.description\":[\"A multi-level elevator shaft with configurable openings per level.\"],\"node.elevator.label\":[\"Elevator\"],\"node.eyebrowVent.description\":[\"Low curved lens-shaped roof vent with a louvered front.\"],\"node.eyebrowVent.label\":[\"Eyebrow Vent\"],\"node.fence.description\":[\"A straight or curved fence segment with configurable posts and infill.\"],\"node.fence.label\":[\"Fence\"],\"node.fenceGate.description\":[\"A gate hosted by a fence.\"],\"node.fenceGate.label\":[\"Gate\"],\"node.fenceOpening.description\":[\"An intentional opening in a fence.\"],\"node.fenceOpening.label\":[\"Open Passage\"],\"node.floorOpening.label\":[\"Floor opening\"],\"node.guide.description\":[\"A measurement / reference annotation (linear, area, or arc).\"],\"node.guide.label\":[\"Guide\"],\"node.gutter.description\":[\"Rain-water channel running along the eave of a roof segment.\"],\"node.gutter.label\":[\"Gutter\"],\"node.hvacEquipment.description\":[\"Furnace, air handler, or condenser — duct runs connect to its supply/return collars.\"],\"node.hvacEquipment.label\":[\"HVAC Unit\"],\"node.importedMesh.description\":[\"Geometry preserved from an imported model when no native Pascal shape exists.\"],\"node.importedMesh.label\":[\"Imported Mesh\"],\"node.item.description\":[\"A catalog-backed item (furniture, fixtures, decorations).\"],\"node.item.label\":[\"Item\"],\"node.leanToExtension.description\":[\"An attached mono-pitch or freestanding mono, gable, or butterfly canopy with managed structure and drainage.\"],\"node.leanToExtension.label\":[\"Canopy\"],\"node.level.description\":[\"A single floor of a building, holding walls / slabs / ceilings / items.\"],\"node.level.label\":[\"Level\"],\"node.lineset.description\":[\"Refrigerant lineset — copper suction + liquid pair joining a condenser to the indoor coil.\"],\"node.lineset.label\":[\"Lineset\"],\"node.liquidLine.description\":[\"Standalone refrigerant liquid line — a thin bare-copper run; Follow mode traces an existing lineset.\"],\"node.liquidLine.label\":[\"Liquid Line\"],\"node.measurement.description\":[\"A persistent distance, angle, area, perimeter, or volume annotation.\"],\"node.measurement.label\":[\"Measurement\"],\"node.pipeFitting.description\":[\"DWV joint — elbow bend, 45° wye, or sanitary tee.\"],\"node.pipeFitting.label\":[\"Pipe Fitting\"],\"node.pipeSegment.description\":[\"Drain / waste / vent pipe run — draw level or toggle a ¼″ per foot fall with S.\"],\"node.pipeSegment.label\":[\"DWV Pipe\"],\"node.pipeTrap.description\":[\"DWV P-trap — water seal on the waste line. The trap arm runs to the vent.\"],\"node.pipeTrap.label\":[\"Trap\"],\"node.proceduralItem.description\":[\"Experimental editable recipe\"],\"node.proceduralItem.label\":[\"Procedural item\"],\"node.ridgeVent.description\":[\"Ventilation strip running along the ridge of a roof segment.\"],\"node.ridgeVent.label\":[\"Ridge Vent\"],\"node.roof.description\":[\"A pitched / hip / gable roof composed of one or more segments.\"],\"node.roof.label\":[\"Roof\"],\"node.roofSegment.description\":[\"A single pitched plane of a parent roof.\"],\"node.roofSegment.label\":[\"Roof Segment\"],\"node.scan.description\":[\"A captured session with optional mesh, motion, media, and sensor data.\"],\"node.scan.label\":[\"Capture\"],\"node.separator.label\":[\"Separator\"],\"node.shelf.description\":[\"A configurable shelving unit. Items host on each row.\"],\"node.shelf.label\":[\"Shelf\"],\"node.site.description\":[\"The top-level container holding buildings, zones, and the property boundary.\"],\"node.site.label\":[\"Site\"],\"node.skylight.description\":[\"Framed glass opening on a roof segment.\"],\"node.skylight.label\":[\"Skylight\"],\"node.slab.description\":[\"A polygon-bounded floor surface that hosts items on top.\"],\"node.slab.label\":[\"Slab\"],\"node.solarPanel.description\":[\"Grid of photovoltaic panels mounted on a roof segment.\"],\"node.solarPanel.label\":[\"Solar Panel\"],\"node.spawn.description\":[\"Player or camera origin within a level. One per level.\"],\"node.spawn.label\":[\"Spawn Point\"],\"node.stair.description\":[\"A stair composed of one or more flights with configurable treads, risers, railings.\"],\"node.stair.label\":[\"Stair\"],\"node.stairSegment.description\":[\"A single flight of a parent stair.\"],\"node.stairSegment.label\":[\"Stair Segment\"],\"node.structuralGrid.description\":[\"Persistent construction grid axis with identification bubbles.\"],\"node.structuralGrid.label\":[\"Structural Grid\"],\"node.turbineVent.description\":[\"Wind-driven spinning whirlybird exhaust vent for a roof slope.\"],\"node.turbineVent.label\":[\"Turbine Vent\"],\"node.unit.description\":[\"A named group of zones forming one apartment, hotel room or commercial lot.\"],\"node.unit.label\":[\"Unit\"],\"node.wall.description\":[\"A straight or curved wall segment. Hosts doors, windows, lean-to extensions, and wall-mounted items.\"],\"node.wall.label\":[\"Wall\"],\"node.window.description\":[\"A window cut into a wall. Animated open/close for opening windows.\"],\"node.window.label\":[\"Window\"],\"node.zone.description\":[\"A polygonal site zone (lawn, water, paving) with a TSL gradient material.\"],\"node.zone.label\":[\"Zone\"],\"viewer.camera.orbitLeft\":[\"Orbit left\"],\"viewer.camera.orbitRight\":[\"Orbit right\"],\"viewer.camera.topView\":[\"Top view\"],\"viewer.common.off\":[\"Off\"],\"viewer.common.on\":[\"On\"],\"viewer.display.camera\":[\"Camera\"],\"viewer.display.colored\":[\"Colored\"],\"viewer.display.colors\":[\"Colors\"],\"viewer.display.edges.off\":[\"Off\"],\"viewer.display.edges.offDetail\":[\"No edge lines\"],\"viewer.display.edges.soft\":[\"Soft\"],\"viewer.display.edges.softDetail\":[\"Faint outline of major creases\"],\"viewer.display.edges.strong\":[\"Strong\"],\"viewer.display.edges.strongDetail\":[\"Crisp, opaque edge lines\"],\"viewer.display.edges.title\":[\"Edges\"],\"viewer.display.monochrome\":[\"Monochrome\"],\"viewer.display.orthographic\":[\"Orthographic\"],\"viewer.display.perspective\":[\"Perspective\"],\"viewer.display.render.rendered\":[\"Rendered\"],\"viewer.display.render.renderedDetail\":[\"Full ambient occlusion\"],\"viewer.display.render.solid\":[\"Solid\"],\"viewer.display.render.solidDetail\":[\"Flat and fast — no ambient occlusion\"],\"viewer.display.render.title\":[\"Render\"],\"viewer.display.shadows\":[\"Shadows\"],\"viewer.display.title\":[\"Display settings\"],\"viewer.floorplan.alignNorth\":[\"Align view to north\"],\"viewer.floorplan.empty\":[\"No floor plans are available for this scene.\"],\"viewer.floorplan.fit\":[\"Fit floor plan\"],\"viewer.floorplan.floor\":[\"Floor\"],\"viewer.floorplan.floorPlan\":[\"Floor plan\"],\"viewer.floorplan.viewLabel\":[[\"floor\"],\" 2D view\"],\"viewer.floorplan.zoomIn\":[\"Zoom in\"],\"viewer.floorplan.zoomOut\":[\"Zoom out\"],\"viewer.header.back\":[\"Back\"],\"viewer.header.levels\":[\"Levels\"],\"viewer.header.rooms\":[\"Rooms\"],\"viewer.header.selection\":[\"Selection\"],\"viewer.header.units\":[\"Units\"],\"viewer.header.untitled\":[\"Untitled\"],\"viewer.header.zones\":[\"Zones\"],\"viewer.levels.exploded\":[\"Exploded\"],\"viewer.levels.label\":[\"Levels: \",[\"mode\"]],\"viewer.levels.manual\":[\"Manual\"],\"viewer.levels.solo\":[\"Solo\"],\"viewer.levels.stacked\":[\"Stacked\"],\"viewer.stage.layout\":[\"Viewer layout\"],\"viewer.stage.split\":[\"Split\"],\"viewer.theme.blueprint\":[\"Blueprint\"],\"viewer.theme.mediterranean\":[\"Mediterranean\"],\"viewer.theme.night\":[\"Night\"],\"viewer.theme.overcast\":[\"Overcast\"],\"viewer.theme.paper\":[\"Paper\"],\"viewer.theme.studio\":[\"Studio\"],\"viewer.theme.sunset\":[\"Sunset\"],\"viewer.theme.title\":[\"Scene theme\"],\"viewer.theme.twilight\":[\"Twilight\"],\"viewer.theme.verdant\":[\"Verdant\"],\"viewer.visibility.guides\":[\"Guides\"],\"viewer.visibility.scans\":[\"Scans\"],\"viewer.visibility.title\":[\"Visibility\"],\"viewer.walkthrough.label\":[\"Walkthrough: \",[\"state\"]],\"viewer.walls.cutaway\":[\"Cutaway\"],\"viewer.walls.fullHeight\":[\"Full height\"],\"viewer.walls.label\":[\"Walls: \",[\"mode\"]],\"viewer.walls.low\":[\"Low\"]}")as Messages; \ No newline at end of file diff --git a/packages/editor/src/i18n/locales/es/messages.po b/packages/editor/src/i18n/locales/es/messages.po index ec0367e8d0..fcb3e01f18 100644 --- a/packages/editor/src/i18n/locales/es/messages.po +++ b/packages/editor/src/i18n/locales/es/messages.po @@ -2461,16 +2461,6 @@ msgstr "Ventana" msgid "editor.actionMenu.structureTools.zone" msgstr "Zona" -# Source-Hash: 43af78ba61aaa8ab -# Review: required -# AI-Provider: cursor-agent -# AI-Model: claude-opus -# English: "below" -#: packages/editor/src/components/ui/action-menu/view-toggles.tsx -#, fuzzy -msgid "editor.actionMenu.viewToggles.below" -msgstr "debajo" - # Source-Hash: cdf3f12939ba108c # Review: required # AI-Provider: cursor-agent @@ -2591,6 +2581,16 @@ msgstr "Ocultar planta de referencia" msgid "editor.actionMenu.viewToggles.hideScans" msgstr "Ocultar escaneos 3D" +# Source-Hash: 873620c284a5651f +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "{count} below" +#: packages/editor/src/components/ui/action-menu/view-toggles.tsx +#, fuzzy +msgid "editor.actionMenu.viewToggles.levelsBelow" +msgstr "{count} por debajo" + # Source-Hash: 22a59ae72d8c9504 # Review: required # AI-Provider: cursor-agent @@ -3133,6 +3133,36 @@ msgstr "Continuación: {label}" msgid "editor.helpers.contextualHelperPanel.dragToDrawFence" msgstr "Arrastra para dibujar la valla" +# Source-Hash: b52e874718af1916 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Erase: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.eraseScope" +msgstr "Borrar: {scope}" + +# Source-Hash: 61f7494abc319e66 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Erase scope — click or press Shift to cycle" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.eraseScopeClickOrPressShift" +msgstr "Alcance del borrado: haz clic o pulsa Mayús para cambiar" + +# Source-Hash: 59993c163d68cc53 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Erase scope: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.eraseScopeLabel" +msgstr "Alcance del borrado: {scope}" + # Source-Hash: a4bdcbc6cab772bf # Review: required # AI-Provider: cursor-agent @@ -3233,6 +3263,46 @@ msgstr "Pasa el cursor por una superficie para tomar su material" msgid "editor.helpers.contextualHelperPanel.moreShortcuts" msgstr "Más atajos" +# Source-Hash: 476b8f5f9ee542e6 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Paint: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.paintScope" +msgstr "Pintar: {scope}" + +# Source-Hash: 9c09ce4c34122277 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Paint scope — click or press Shift to cycle" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.paintScopeClickOrPressShift" +msgstr "Alcance de la pintura: haz clic o pulsa Mayús para cambiar" + +# Source-Hash: 7890aa81687f6654 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Paint scope: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.paintScopeLabel" +msgstr "Alcance de la pintura: {scope}" + +# Source-Hash: a75b3abc0784b12b +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Pick: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.pickScope" +msgstr "Tomar: {scope}" + # Source-Hash: 69c1044e6ea87ccf # Review: required # AI-Provider: cursor-agent @@ -3353,16 +3423,6 @@ msgstr "Continuación de valla recta: haz clic o pulsa C para alternar" msgid "editor.helpers.contextualHelperPanel.straightSingle" msgstr "Recta: simple" -# Source-Hash: 83e56140165f2535 -# Review: required -# AI-Provider: cursor-agent -# AI-Model: claude-opus -# English: "{verb} scope — click or press Shift to cycle" -#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx -#, fuzzy -msgid "editor.helpers.contextualHelperPanel.verbScopeClickOrPressShift" -msgstr "Alcance de {verb}: haz clic o pulsa Mayús para cambiar" - # Source-Hash: 9a56d90d461b4bca # Review: required # AI-Provider: cursor-agent @@ -4280,7 +4340,7 @@ msgstr "No se pudo mostrar la escena del editor" # English: "A curtain wall takes no corner window" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.aCurtainWallTakesNoCorner" +msgid "editor.toolHint.aCurtainWallTakesNoCorner.1qxjv5i" msgstr "Un muro cortina no admite ventana de esquina" # Source-Hash: 97f5e044d46501fb @@ -4290,7 +4350,7 @@ msgstr "Un muro cortina no admite ventana de esquina" # English: "A curved wall takes no corner window" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.aCurvedWallTakesNoCorner" +msgid "editor.toolHint.aCurvedWallTakesNoCorner.1vdnaw5" msgstr "Un muro curvo no admite ventana de esquina" # Source-Hash: 776d8ebece7fe1bb @@ -4300,7 +4360,7 @@ msgstr "Un muro curvo no admite ventana de esquina" # English: "Add a corner · click the first to close" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.addACornerClickTheFirst" +msgid "editor.toolHint.addACornerClickTheFirst.o4r67t" msgstr "Añadir esquina · haz clic en la primera para cerrar" # Source-Hash: 6a0745dd047b149a @@ -4310,7 +4370,7 @@ msgstr "Añadir esquina · haz clic en la primera para cerrar" # English: "Another opening is in the way at the corner" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.anotherOpeningIsInTheWay" +msgid "editor.toolHint.anotherOpeningIsInTheWay.11l9dd0" msgstr "Otra abertura estorba en la esquina" # Source-Hash: 441124187e7da2fc @@ -4320,7 +4380,7 @@ msgstr "Otra abertura estorba en la esquina" # English: "Auto hangers" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.autoHangers" +msgid "editor.toolHint.autoHangers.10554ka" msgstr "Colgadores automáticos" # Source-Hash: 47a7f9a6a81156c3 @@ -4330,7 +4390,7 @@ msgstr "Colgadores automáticos" # English: "Auto hangers - click or press H to toggle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.autoHangersClickOrPressH" +msgid "editor.toolHint.autoHangersClickOrPressH.rwa3ka" msgstr "Colgadores automáticos: haz clic o pulsa H para alternar" # Source-Hash: d7944f31cba90e26 @@ -4340,7 +4400,7 @@ msgstr "Colgadores automáticos: haz clic o pulsa H para alternar" # English: "Auto hangers: Off" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.autoHangersOff" +msgid "editor.toolHint.autoHangersOff.7yx01x" msgstr "Colgadores automáticos: desactivados" # Source-Hash: 295882d015d08742 @@ -4350,7 +4410,7 @@ msgstr "Colgadores automáticos: desactivados" # English: "Auto hangers: On" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.autoHangersOn" +msgid "editor.toolHint.autoHangersOn.10b1umh" msgstr "Colgadores automáticos: activados" # Source-Hash: 8c039e5182b01c4d @@ -4360,7 +4420,7 @@ msgstr "Colgadores automáticos: activados" # English: "Bypass snapping" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.bypassSnapping" +msgid "editor.toolHint.bypassSnapping.w5lmdv" msgstr "Omitir el ajuste" # Source-Hash: c0774c185060fc13 @@ -4370,7 +4430,7 @@ msgstr "Omitir el ajuste" # English: "Cancel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cancel" +msgid "editor.toolHint.cancel.ew9em3" msgstr "Cancelar" # Source-Hash: 5b33b576fd30b74e @@ -4380,7 +4440,7 @@ msgstr "Cancelar" # English: "Cancel move" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cancelMove" +msgid "editor.toolHint.cancelMove.lvp31c" msgstr "Cancelar movimiento" # Source-Hash: 136fa29b9ae419bf @@ -4390,7 +4450,7 @@ msgstr "Cancelar movimiento" # English: "Cancel run / exit" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cancelRunExit" +msgid "editor.toolHint.cancelRunExit.zqjf3h" msgstr "Cancelar tramo / salir" # Source-Hash: 75b406824be91ac2 @@ -4400,7 +4460,7 @@ msgstr "Cancelar tramo / salir" # English: "Cancel start point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cancelStartPoint" +msgid "editor.toolHint.cancelStartPoint.1xbq2lh" msgstr "Cancelar punto inicial" # Source-Hash: ffa5aaa1746303c4 @@ -4410,7 +4470,7 @@ msgstr "Cancelar punto inicial" # English: "Corner window" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cornerWindow" +msgid "editor.toolHint.cornerWindow.1avkzpo" msgstr "Ventana de esquina" # Source-Hash: b0afdd855a02e4a7 @@ -4420,7 +4480,7 @@ msgstr "Ventana de esquina" # English: "Cuts" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cuts" +msgid "editor.toolHint.cuts.1y0axps" msgstr "Cortes" # Source-Hash: dc9fe7601cc525f8 @@ -4430,7 +4490,7 @@ msgstr "Cortes" # English: "Cuts: {value}" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cutsValue" +msgid "editor.toolHint.cutsValue.ouzhvb" msgstr "Cortes: {value}" # Source-Hash: a2e13bc4dc82624c @@ -4440,7 +4500,7 @@ msgstr "Cortes: {value}" # English: "Cuts: {value}, even" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cutsValueEven" +msgid "editor.toolHint.cutsValueEven.1ngsz3" msgstr "Cortes: {value}, uniformes" # Source-Hash: 04152b4cec726f34 @@ -4450,7 +4510,7 @@ msgstr "Cortes: {value}, uniformes" # English: "Cycle mono / gable / butterfly" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cycleMonoGableButterfly" +msgid "editor.toolHint.cycleMonoGableButterfly.1poga3m" msgstr "Cambiar un agua / dos aguas / mariposa" # Source-Hash: 4fb6c83edb6652b5 @@ -4460,7 +4520,7 @@ msgstr "Cambiar un agua / dos aguas / mariposa" # English: "Cycle snapping mode" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cycleSnappingMode" +msgid "editor.toolHint.cycleSnappingMode.1ct0gn6" msgstr "Cambiar el modo de ajuste" # Source-Hash: 5d550a3ac76279de @@ -4470,7 +4530,7 @@ msgstr "Cambiar el modo de ajuste" # English: "Door style — click or press L to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.doorStyleClickOrPressL" +msgid "editor.toolHint.doorStyleClickOrPressL.33pe65" msgstr "Estilo de puerta: haz clic o pulsa L para cambiar" # Source-Hash: 3272a7df5d7c6a9a @@ -4480,7 +4540,7 @@ msgstr "Estilo de puerta: haz clic o pulsa L para cambiar" # English: "Door type — click or press O to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.doorTypeClickOrPressO" +msgid "editor.toolHint.doorTypeClickOrPressO.1hhh8gt" msgstr "Tipo de puerta: haz clic o pulsa O para cambiar" # Source-Hash: 366222b4435eefda @@ -4490,7 +4550,7 @@ msgstr "Tipo de puerta: haz clic o pulsa O para cambiar" # English: "Drop downspout from outlet" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.dropDownspoutFromOutlet" +msgid "editor.toolHint.dropDownspoutFromOutlet.1k4h1m4" msgstr "Bajar la bajante desde la salida" # Source-Hash: 03f306371f345007 @@ -4500,7 +4560,7 @@ msgstr "Bajar la bajante desde la salida" # English: "Duct diameter down / up" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.ductDiameterDownUp" +msgid "editor.toolHint.ductDiameterDownUp.1wdz5vq" msgstr "Diámetro del conducto menos / más" # Source-Hash: 7b4137e27f8327d9 @@ -4510,7 +4570,7 @@ msgstr "Diámetro del conducto menos / más" # English: "End run / cancel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.endRunCancel" +msgid "editor.toolHint.endRunCancel.59dh2w" msgstr "Terminar tramo / cancelar" # Source-Hash: 938aacb119b29dc1 @@ -4520,7 +4580,7 @@ msgstr "Terminar tramo / cancelar" # English: "Exit" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.exit" +msgid "editor.toolHint.exit.engmg5" msgstr "Salir" # Source-Hash: 7cb4e0688cabcb00 @@ -4530,7 +4590,7 @@ msgstr "Salir" # English: "Exit drawing" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.exitDrawing" +msgid "editor.toolHint.exitDrawing.9noxyb" msgstr "Salir del dibujo" # Source-Hash: 47025a103c456125 @@ -4540,7 +4600,7 @@ msgstr "Salir del dibujo" # English: "Finish and continue" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishAndContinue" +msgid "editor.toolHint.finishAndContinue.1gpfsks" msgstr "Terminar y continuar" # Source-Hash: 000918429b74128f @@ -4550,7 +4610,7 @@ msgstr "Terminar y continuar" # English: "Finish ceiling" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishCeiling" +msgid "editor.toolHint.finishCeiling.1c1lfel" msgstr "Terminar el techo" # Source-Hash: 51a80a0dba5a6f30 @@ -4560,7 +4620,7 @@ msgstr "Terminar el techo" # English: "Finish grid axis" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishGridAxis" +msgid "editor.toolHint.finishGridAxis.1wvrfhr" msgstr "Terminar el eje" # Source-Hash: 87c7b98fc2e010e1 @@ -4570,7 +4630,7 @@ msgstr "Terminar el eje" # English: "Finish measurement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishMeasurement" +msgid "editor.toolHint.finishMeasurement.1e4gv16" msgstr "Terminar la medida" # Source-Hash: 5e1a0af7dc506826 @@ -4580,7 +4640,7 @@ msgstr "Terminar la medida" # English: "Finish multi-point witnesses" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishMultiPointWitnesses" +msgid "editor.toolHint.finishMultiPointWitnesses.8wzskz" msgstr "Terminar los testigos de varios puntos" # Source-Hash: 30fc0862501ba2e8 @@ -4590,7 +4650,7 @@ msgstr "Terminar los testigos de varios puntos" # English: "Finish slab" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishSlab" +msgid "editor.toolHint.finishSlab.xmnm8e" msgstr "Terminar el forjado" # Source-Hash: 66ed7c7598d3aa29 @@ -4600,7 +4660,7 @@ msgstr "Terminar el forjado" # English: "Flip side" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.flipSide" +msgid "editor.toolHint.flipSide.172xku9" msgstr "Invertir el lado" # Source-Hash: f5717f6a0905ffab @@ -4610,7 +4670,7 @@ msgstr "Invertir el lado" # English: "Follow: trace a lineset" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.followTraceALineset" +msgid "editor.toolHint.followTraceALineset.mgquwe" msgstr "Seguir: trazar junto a una línea frigorífica" # Source-Hash: ed7f3d8417a3e074 @@ -4620,7 +4680,7 @@ msgstr "Seguir: trazar junto a una línea frigorífica" # English: "Force place" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.forcePlace" +msgid "editor.toolHint.forcePlace.1hq1nr" msgstr "Forzar colocación" # Source-Hash: cc0c14065951444d @@ -4630,7 +4690,7 @@ msgstr "Forzar colocación" # English: "Free placement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.freePlacement" +msgid "editor.toolHint.freePlacement.1nztdac" msgstr "Colocación libre" # Source-Hash: f098a27096a9c1ea @@ -4640,7 +4700,7 @@ msgstr "Colocación libre" # English: "Go vertical ↕, click to place" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.goVerticalClickToPlace" +msgid "editor.toolHint.goVerticalClickToPlace.dg8g6m" msgstr "Pasar a vertical ↕, haz clic para colocar" # Source-Hash: fd47f1820d8799c8 @@ -4650,7 +4710,7 @@ msgstr "Pasar a vertical ↕, haz clic para colocar" # English: "Highlight outlet" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.highlightOutlet" +msgid "editor.toolHint.highlightOutlet.65hoq8" msgstr "Resaltar la salida" # Source-Hash: eb90058d0f856f67 @@ -4660,7 +4720,7 @@ msgstr "Resaltar la salida" # English: "Join as a corner window" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.joinAsACornerWindow" +msgid "editor.toolHint.joinAsACornerWindow.jvdp4j" msgstr "Unir como ventana de esquina" # Source-Hash: 225b3161f2e59757 @@ -4670,7 +4730,7 @@ msgstr "Unir como ventana de esquina" # English: "Alt + drag" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.altDrag" +msgid "editor.toolHint.key.altDrag.ai3wn9" msgstr "Alt + arrastrar" # Source-Hash: dd66f883b173fc72 @@ -4680,7 +4740,7 @@ msgstr "Alt + arrastrar" # English: "Backspace" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.backspace" +msgid "editor.toolHint.key.backspace.qy6qx8" msgstr "Retroceso" # Source-Hash: a18387bc0be54c32 @@ -4690,7 +4750,7 @@ msgstr "Retroceso" # English: "Click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.click" +msgid "editor.toolHint.key.click.m8sun" msgstr "Clic" # Source-Hash: db9e60c1d30b8499 @@ -4700,7 +4760,7 @@ msgstr "Clic" # English: "Click again" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.clickAgain" +msgid "editor.toolHint.key.clickAgain.190ws9j" msgstr "Volver a hacer clic" # Source-Hash: f400330b9c9c12e8 @@ -4710,7 +4770,7 @@ msgstr "Volver a hacer clic" # English: "Command" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.command" +msgid "editor.toolHint.key.command.1j2mkia" msgstr "Comando" # Source-Hash: 976c63285a510b09 @@ -4720,7 +4780,7 @@ msgstr "Comando" # English: "Control" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.control" +msgid "editor.toolHint.key.control.10fbl8e" msgstr "Control" # Source-Hash: b26de372b4b0eaac @@ -4730,7 +4790,7 @@ msgstr "Control" # English: "Delete" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.delete" +msgid "editor.toolHint.key.delete.oay2cq" msgstr "Eliminar" # Source-Hash: 88888c9d2719fa92 @@ -4740,7 +4800,7 @@ msgstr "Eliminar" # English: "Double click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.doubleClick" +msgid "editor.toolHint.key.doubleClick.vlma6o" msgstr "Doble clic" # Source-Hash: dfb85b2addb7b9fa @@ -4750,7 +4810,7 @@ msgstr "Doble clic" # English: "Drag" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.drag" +msgid "editor.toolHint.key.drag.8pwtpf" msgstr "Arrastrar" # Source-Hash: ed9140d42148c99b @@ -4760,7 +4820,7 @@ msgstr "Arrastrar" # English: "Enter" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.enter" +msgid "editor.toolHint.key.enter.1ctpui5" msgstr "Intro" # Source-Hash: 9195fa8b9c8ebdfb @@ -4770,7 +4830,7 @@ msgstr "Intro" # English: "Hover" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.hover" +msgid "editor.toolHint.key.hover.6xw79p" msgstr "Pasar el cursor" # Source-Hash: 2d78441b741bc562 @@ -4780,7 +4840,7 @@ msgstr "Pasar el cursor" # English: "Hover a duct end" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.hoverADuctEnd" +msgid "editor.toolHint.key.hoverADuctEnd.19axr3b" msgstr "Pasa el cursor por un extremo del conducto" # Source-Hash: 6083405086f61c76 @@ -4790,7 +4850,7 @@ msgstr "Pasa el cursor por un extremo del conducto" # English: "Hover a pipe end" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.hoverAPipeEnd" +msgid "editor.toolHint.key.hoverAPipeEnd.1jbum5f" msgstr "Pasa el cursor por un extremo de la tubería" # Source-Hash: a5a337eb76fdb066 @@ -4800,7 +4860,7 @@ msgstr "Pasa el cursor por un extremo de la tubería" # English: "Hover gutter" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.hoverGutter" +msgid "editor.toolHint.key.hoverGutter.1dwcsno" msgstr "Pasa el cursor por el canalón" # Source-Hash: a58533594411e088 @@ -4810,7 +4870,7 @@ msgstr "Pasa el cursor por el canalón" # English: "Left click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.leftClick" +msgid "editor.toolHint.key.leftClick.s4gwfc" msgstr "Clic izquierdo" # Source-Hash: bc4ab608ec3d3b4f @@ -4820,7 +4880,7 @@ msgstr "Clic izquierdo" # English: "Middle click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.middleClick" +msgid "editor.toolHint.key.middleClick.1jbaan4" msgstr "Clic central" # Source-Hash: 6791879c651108c7 @@ -4830,7 +4890,7 @@ msgstr "Clic central" # English: "Right click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.rightClick" +msgid "editor.toolHint.key.rightClick.1ovld0h" msgstr "Clic derecho" # Source-Hash: c836b21b42198868 @@ -4840,7 +4900,7 @@ msgstr "Clic derecho" # English: "R / Shift+R" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.rShiftR" +msgid "editor.toolHint.key.rShiftR.13bnobh" msgstr "R / Mayús+R" # Source-Hash: 9812aa06d8bb7544 @@ -4850,7 +4910,7 @@ msgstr "R / Mayús+R" # English: "Scroll" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.scroll" +msgid "editor.toolHint.key.scroll.ai6wr0" msgstr "Desplazar" # Source-Hash: f2174536230657c8 @@ -4860,7 +4920,7 @@ msgstr "Desplazar" # English: "Scroll wheel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.scrollWheel" +msgid "editor.toolHint.key.scrollWheel.18j0ix7" msgstr "Rueda del ratón" # Source-Hash: 82dd231086d87f3b @@ -4870,7 +4930,7 @@ msgstr "Rueda del ratón" # English: "Space" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.space" +msgid "editor.toolHint.key.space.1hrh82t" msgstr "Espacio" # Source-Hash: 9e68aa2f472cad56 @@ -4880,7 +4940,7 @@ msgstr "Espacio" # English: "Tab" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.tab" +msgid "editor.toolHint.key.tab.1xsal0s" msgstr "Tab" # Source-Hash: 4b221b73f9496a49 @@ -4890,7 +4950,7 @@ msgstr "Tab" # English: "Mount: floor / ceiling / wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.mountFloorCeilingWall" +msgid "editor.toolHint.mountFloorCeilingWall.32dxpv" msgstr "Montaje: suelo / techo / muro" # Source-Hash: 225edfb1e45aed95 @@ -4900,7 +4960,7 @@ msgstr "Montaje: suelo / techo / muro" # English: "No room for the matching window on the other wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.noRoomForTheMatchingWindow" +msgid "editor.toolHint.noRoomForTheMatchingWindow.1755948" msgstr "No hay espacio para la ventana correspondiente en el otro muro" # Source-Hash: a7045d6b678bcd13 @@ -4910,7 +4970,7 @@ msgstr "No hay espacio para la ventana correspondiente en el otro muro" # English: "No wall meets here" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.noWallMeetsHere" +msgid "editor.toolHint.noWallMeetsHere.19n99yc" msgstr "Aquí no se une ningún muro" # Source-Hash: a639341dc21fed2c @@ -4920,7 +4980,7 @@ msgstr "Aquí no se une ningún muro" # English: "Number of cuts — scroll or click to change" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.numberOfCutsScrollOrClick" +msgid "editor.toolHint.numberOfCutsScrollOrClick.1kqe84b" msgstr "Número de cortes: desplaza o haz clic para cambiar" # Source-Hash: af01bde3ae4b7e59 @@ -4930,7 +4990,7 @@ msgstr "Número de cortes: desplaza o haz clic para cambiar" # English: "Pick witness point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.pickWitnessPoint" +msgid "editor.toolHint.pickWitnessPoint.k3hgh1" msgstr "Elegir punto testigo" # Source-Hash: ecfd58576b28a9f6 @@ -4940,7 +5000,7 @@ msgstr "Elegir punto testigo" # English: "Pipe size down / up" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.pipeSizeDownUp" +msgid "editor.toolHint.pipeSizeDownUp.wp04og" msgstr "Diámetro de tubería menos / más" # Source-Hash: 7a1eb7b64f06bad0 @@ -4950,7 +5010,7 @@ msgstr "Diámetro de tubería menos / más" # English: "Place and continue" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeAndContinue" +msgid "editor.toolHint.placeAndContinue.qfwkrq" msgstr "Colocar y continuar" # Source-Hash: c6cda39e2e4b5d3a @@ -4960,7 +5020,7 @@ msgstr "Colocar y continuar" # English: "Place block" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeBlock" +msgid "editor.toolHint.placeBlock.1aylwrx" msgstr "Colocar bloque" # Source-Hash: 45a743c52a1d72de @@ -4970,7 +5030,7 @@ msgstr "Colocar bloque" # English: "Place box vent on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeBoxVentOnRoof" +msgid "editor.toolHint.placeBoxVentOnRoof.kf88e5" msgstr "Colocar aireador en la cubierta" # Source-Hash: 75142dd1d557efe2 @@ -4980,7 +5040,7 @@ msgstr "Colocar aireador en la cubierta" # English: "Place cabinet" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeCabinet" +msgid "editor.toolHint.placeCabinet.b0ouyk" msgstr "Colocar mueble" # Source-Hash: da603a713d4c9909 @@ -4990,7 +5050,7 @@ msgstr "Colocar mueble" # English: "Place canopy or set the next run point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeCanopyOrSetTheNext" +msgid "editor.toolHint.placeCanopyOrSetTheNext.12l7zf8" msgstr "Colocar la marquesina o el siguiente punto" # Source-Hash: 8b3a30c6b7a5612d @@ -5000,7 +5060,7 @@ msgstr "Colocar la marquesina o el siguiente punto" # English: "Place chimney on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeChimneyOnRoof" +msgid "editor.toolHint.placeChimneyOnRoof.19dbqu" msgstr "Colocar chimenea en la cubierta" # Source-Hash: 710d41e4e2f259fa @@ -5010,7 +5070,7 @@ msgstr "Colocar chimenea en la cubierta" # English: "Place column" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeColumn" +msgid "editor.toolHint.placeColumn.1w2vq86" msgstr "Colocar pilar" # Source-Hash: ee1da4e12a71d9a9 @@ -5020,7 +5080,7 @@ msgstr "Colocar pilar" # English: "Place cupola on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeCupolaOnRoof" +msgid "editor.toolHint.placeCupolaOnRoof.ofx3bn" msgstr "Colocar linterna en la cubierta" # Source-Hash: 19c1fe8c46d213a5 @@ -5030,7 +5090,7 @@ msgstr "Colocar linterna en la cubierta" # English: "Place dimension line when needed" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeDimensionLineWhenNeeded" +msgid "editor.toolHint.placeDimensionLineWhenNeeded.bjw2cj" msgstr "Colocar la línea de cota cuando haga falta" # Source-Hash: 58f3e7efb6ea120b @@ -5040,7 +5100,7 @@ msgstr "Colocar la línea de cota cuando haga falta" # English: "Place door on wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeDoorOnWall" +msgid "editor.toolHint.placeDoorOnWall.1jwadf" msgstr "Colocar puerta en el muro" # Source-Hash: de04e9d03d937c97 @@ -5050,7 +5110,7 @@ msgstr "Colocar puerta en el muro" # English: "Place dormer on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeDormerOnRoof" +msgid "editor.toolHint.placeDormerOnRoof.1w518a6" msgstr "Colocar buhardilla en la cubierta" # Source-Hash: c581645f2ee447c2 @@ -5060,7 +5120,7 @@ msgstr "Colocar buhardilla en la cubierta" # English: "Place elevator" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeElevator" +msgid "editor.toolHint.placeElevator.1f65zva" msgstr "Colocar ascensor" # Source-Hash: 096b8d6482717358 @@ -5070,7 +5130,7 @@ msgstr "Colocar ascensor" # English: "Place eyebrow vent on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeEyebrowVentOnRoof" +msgid "editor.toolHint.placeEyebrowVentOnRoof.1h1tqxn" msgstr "Colocar respiradero de ceja en la cubierta" # Source-Hash: e8d42c1c8370773f @@ -5080,7 +5140,7 @@ msgstr "Colocar respiradero de ceja en la cubierta" # English: "Place fitting" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeFitting" +msgid "editor.toolHint.placeFitting.1pmx3vn" msgstr "Colocar accesorio" # Source-Hash: 2340a4b70cb0d9ad @@ -5090,7 +5150,7 @@ msgstr "Colocar accesorio" # English: "Place gutter on roof eave" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeGutterOnRoofEave" +msgid "editor.toolHint.placeGutterOnRoofEave.llwzf9" msgstr "Colocar canalón en el alero" # Source-Hash: 706a8eafb6212833 @@ -5100,7 +5160,7 @@ msgstr "Colocar canalón en el alero" # English: "Place item" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeItem" +msgid "editor.toolHint.placeItem.teynf" msgstr "Colocar elemento" # Source-Hash: 1815c482e249932e @@ -5110,7 +5170,7 @@ msgstr "Colocar elemento" # English: "Place it (locked to 45°)" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeItLockedTo45" +msgid "editor.toolHint.placeItLockedTo45.16e4csk" msgstr "Colocar (bloqueado a 45°)" # Source-Hash: 4a14340657532838 @@ -5120,7 +5180,7 @@ msgstr "Colocar (bloqueado a 45°)" # English: "Place measurement point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeMeasurementPoint" +msgid "editor.toolHint.placeMeasurementPoint.bsatli" msgstr "Colocar punto de medida" # Source-Hash: b3be684ac62fbf53 @@ -5130,7 +5190,7 @@ msgstr "Colocar punto de medida" # English: "Placement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placement" +msgid "editor.toolHint.placement.13lcvts" msgstr "Colocación" # Source-Hash: 2bb2ce6276c69b1e @@ -5140,7 +5200,7 @@ msgstr "Colocación" # English: "Placement: Auto" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementAuto" +msgid "editor.toolHint.placementAuto.1caa52d" msgstr "Colocación: automática" # Source-Hash: ed78ac5354a1dcd8 @@ -5150,7 +5210,7 @@ msgstr "Colocación: automática" # English: "Placement: Ground" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementGround" +msgid "editor.toolHint.placementGround.1ruz145" msgstr "Colocación: suelo" # Source-Hash: a066a2c9d5e65a1a @@ -5160,7 +5220,7 @@ msgstr "Colocación: suelo" # English: "Placement: Roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementRoof" +msgid "editor.toolHint.placementRoof.renkw8" msgstr "Colocación: cubierta" # Source-Hash: 8f74dbe5064c4c66 @@ -5170,7 +5230,7 @@ msgstr "Colocación: cubierta" # English: "Placement surface - click or press P to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementSurfaceClickOrPressP" +msgid "editor.toolHint.placementSurfaceClickOrPressP.w56h19" msgstr "Superficie de colocación: haz clic o pulsa P para cambiar" # Source-Hash: fe119955c925feaf @@ -5180,7 +5240,7 @@ msgstr "Superficie de colocación: haz clic o pulsa P para cambiar" # English: "Placement type" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementType" +msgid "editor.toolHint.placementType.1mdpl60" msgstr "Tipo de colocación" # Source-Hash: 33043a35500168f5 @@ -5190,7 +5250,7 @@ msgstr "Tipo de colocación" # English: "Placement type — click or press I to toggle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementTypeClickOrPressI" +msgid "editor.toolHint.placementTypeClickOrPressI.10cgxh2" msgstr "Tipo de colocación: haz clic o pulsa I para alternar" # Source-Hash: 9945f412e6a9a446 @@ -5200,7 +5260,7 @@ msgstr "Tipo de colocación: haz clic o pulsa I para alternar" # English: "Place on a fence" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeOnAFence" +msgid "editor.toolHint.placeOnAFence.1dptstr" msgstr "Colocar en una valla" # Source-Hash: 6708118775a7da7f @@ -5210,7 +5270,7 @@ msgstr "Colocar en una valla" # English: "Place register" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeRegister" +msgid "editor.toolHint.placeRegister.1uebycd" msgstr "Colocar rejilla" # Source-Hash: ebd2731f5c79306e @@ -5220,7 +5280,7 @@ msgstr "Colocar rejilla" # English: "Place ridge vent on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeRidgeVentOnRoof" +msgid "editor.toolHint.placeRidgeVentOnRoof.2tpd8r" msgstr "Colocar ventilación de cumbrera en la cubierta" # Source-Hash: 9b3c66a867c23326 @@ -5230,7 +5290,7 @@ msgstr "Colocar ventilación de cumbrera en la cubierta" # English: "Place shelf" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeShelf" +msgid "editor.toolHint.placeShelf.y4l3iw" msgstr "Colocar estantería" # Source-Hash: f11cf5c1c9fe862d @@ -5240,7 +5300,7 @@ msgstr "Colocar estantería" # English: "Place skylight on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeSkylightOnRoof" +msgid "editor.toolHint.placeSkylightOnRoof.e215pe" msgstr "Colocar claraboya en la cubierta" # Source-Hash: e989a58d6709cc16 @@ -5250,7 +5310,7 @@ msgstr "Colocar claraboya en la cubierta" # English: "Place solar panel array on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeSolarPanelArrayOnRoof" +msgid "editor.toolHint.placeSolarPanelArrayOnRoof.kk11fn" msgstr "Colocar paneles solares en la cubierta" # Source-Hash: b67f7036d5180cf5 @@ -5260,7 +5320,7 @@ msgstr "Colocar paneles solares en la cubierta" # English: "Place spawn point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeSpawnPoint" +msgid "editor.toolHint.placeSpawnPoint.205o25" msgstr "Colocar punto de aparición" # Source-Hash: 6c7f32a17e5636c3 @@ -5270,7 +5330,7 @@ msgstr "Colocar punto de aparición" # English: "Place stairs" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeStairs" +msgid "editor.toolHint.placeStairs.zwxxu2" msgstr "Colocar escalera" # Source-Hash: 641c0d3debd798a8 @@ -5280,7 +5340,7 @@ msgstr "Colocar escalera" # English: "Place trap" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeTrap" +msgid "editor.toolHint.placeTrap.1gxemn3" msgstr "Colocar sifón" # Source-Hash: 6f0a6f6c4b7588a0 @@ -5290,7 +5350,7 @@ msgstr "Colocar sifón" # English: "Place turbine vent on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeTurbineVentOnRoof" +msgid "editor.toolHint.placeTurbineVentOnRoof.1iqeluf" msgstr "Colocar extractor eólico en la cubierta" # Source-Hash: e65cf5edb4f51ed5 @@ -5300,7 +5360,7 @@ msgstr "Colocar extractor eólico en la cubierta" # English: "Place unit" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeUnit" +msgid "editor.toolHint.placeUnit.8zkx4q" msgstr "Colocar equipo" # Source-Hash: 86ce1c730154f68b @@ -5310,7 +5370,7 @@ msgstr "Colocar equipo" # English: "Place window on wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeWindowOnWall" +msgid "editor.toolHint.placeWindowOnWall.1k3qnfb" msgstr "Colocar ventana en el muro" # Source-Hash: 2b612180a7617901 @@ -5320,7 +5380,7 @@ msgstr "Colocar ventana en el muro" # English: "Place without the corner snap" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeWithoutTheCornerSnap" +msgid "editor.toolHint.placeWithoutTheCornerSnap.1nifqew" msgstr "Colocar sin el ajuste a la esquina" # Source-Hash: 0dc6d121791696f7 @@ -5330,7 +5390,7 @@ msgstr "Colocar sin el ajuste a la esquina" # English: "Remove last point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.removeLastPoint" +msgid "editor.toolHint.removeLastPoint.2dmdcx" msgstr "Quitar el último punto" # Source-Hash: 8b74b1d962be10fc @@ -5340,7 +5400,7 @@ msgstr "Quitar el último punto" # English: "Remove last witness" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.removeLastWitness" +msgid "editor.toolHint.removeLastWitness.1b6vvzw" msgstr "Quitar el último testigo" # Source-Hash: 306d409f8a1cf480 @@ -5350,7 +5410,7 @@ msgstr "Quitar el último testigo" # English: "Rotate" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotate" +msgid "editor.toolHint.rotate.1thqa0a" msgstr "Girar" # Source-Hash: 8a665ecaeffa9308 @@ -5360,7 +5420,7 @@ msgstr "Girar" # English: "Rotate ±45°" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotate45" +msgid "editor.toolHint.rotate45.9zq68u" msgstr "Girar ±45°" # Source-Hash: be2240289aa74df5 @@ -5370,7 +5430,7 @@ msgstr "Girar ±45°" # English: "Rotate ±45° (floor / ceiling)" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotate45FloorCeiling" +msgid "editor.toolHint.rotate45FloorCeiling.m9t57d" msgstr "Girar ±45° (suelo / techo)" # Source-Hash: d5fb78b07c0f8138 @@ -5380,7 +5440,7 @@ msgstr "Girar ±45° (suelo / techo)" # English: "Rotate ghost ±15°" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotateGhost15" +msgid "editor.toolHint.rotateGhost15.rsa52c" msgstr "Girar la vista previa ±15°" # Source-Hash: 912d340cd16e27fa @@ -5390,7 +5450,7 @@ msgstr "Girar la vista previa ±15°" # English: "Rotate or flip the run side" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotateOrFlipTheRunSide" +msgid "editor.toolHint.rotateOrFlipTheRunSide.t5ior7" msgstr "Girar o invertir el lado de la línea" # Source-Hash: ad1dc0b5536cceef @@ -5400,7 +5460,7 @@ msgstr "Girar o invertir el lado de la línea" # English: "Rotate roof direction 90°" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotateRoofDirection90" +msgid "editor.toolHint.rotateRoofDirection90.tvbji2" msgstr "Girar la orientación de la cubierta 90°" # Source-Hash: fa24651e9e5f595a @@ -5410,7 +5470,7 @@ msgstr "Girar la orientación de la cubierta 90°" # English: "Rotate spawn point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotateSpawnPoint" +msgid "editor.toolHint.rotateSpawnPoint.1opcuu7" msgstr "Girar el punto de aparición" # Source-Hash: 2d693d87fe9b59e6 @@ -5420,7 +5480,7 @@ msgstr "Girar el punto de aparición" # English: "Round / rectangular / oval" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.roundRectangularOval" +msgid "editor.toolHint.roundRectangularOval.e4nh6x" msgstr "Redondo / rectangular / ovalado" # Source-Hash: f7d2c9cdcc637c97 @@ -5430,7 +5490,7 @@ msgstr "Redondo / rectangular / ovalado" # English: "Set fence start / end" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.setFenceStartEnd" +msgid "editor.toolHint.setFenceStartEnd.1phbwsq" msgstr "Fijar inicio / fin de la valla" # Source-Hash: c93ae898b4d59f6f @@ -5440,7 +5500,7 @@ msgstr "Fijar inicio / fin de la valla" # English: "Set one corner, then the opposite" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.setOneCornerThenTheOpposite" +msgid "editor.toolHint.setOneCornerThenTheOpposite.8tsl49" msgstr "Fija una esquina y luego la opuesta" # Source-Hash: 4f55171f10c6ceeb @@ -5450,7 +5510,7 @@ msgstr "Fija una esquina y luego la opuesta" # English: "Set roof footprint" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.setRoofFootprint" +msgid "editor.toolHint.setRoofFootprint.p50n0o" msgstr "Fijar la planta de la cubierta" # Source-Hash: 0243859b1d64c21e @@ -5460,7 +5520,7 @@ msgstr "Fijar la planta de la cubierta" # English: "Set wall start / end" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.setWallStartEnd" +msgid "editor.toolHint.setWallStartEnd.1r8ubcx" msgstr "Fijar inicio / fin del muro" # Source-Hash: c2806cce9612fa50 @@ -5470,7 +5530,7 @@ msgstr "Fijar inicio / fin del muro" # English: "Slope / level" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.slopeLevel" +msgid "editor.toolHint.slopeLevel.ftqp67" msgstr "Pendiente / horizontal" # Source-Hash: 06c0ec40606db679 @@ -5480,7 +5540,7 @@ msgstr "Pendiente / horizontal" # English: "Snap onto the run" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.snapOntoTheRun" +msgid "editor.toolHint.snapOntoTheRun.86yhmp" msgstr "Ajustar al tramo" # Source-Hash: e214cccbac9c4fd2 @@ -5490,7 +5550,7 @@ msgstr "Ajustar al tramo" # English: "Split at the marks" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.splitAtTheMarks" +msgid "editor.toolHint.splitAtTheMarks.x5tpdd" msgstr "Dividir en las marcas" # Source-Hash: 94455c35bfeac6b4 @@ -5500,7 +5560,7 @@ msgstr "Dividir en las marcas" # English: "Start grid axis" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startGridAxis" +msgid "editor.toolHint.startGridAxis.k92yza" msgstr "Iniciar el eje" # Source-Hash: 2edb4c29bbe7c513 @@ -5510,7 +5570,7 @@ msgstr "Iniciar el eje" # English: "Start lineset" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startLineset" +msgid "editor.toolHint.startLineset.23q8dh" msgstr "Iniciar la línea frigorífica" # Source-Hash: 9e50f1b30e325208 @@ -5520,7 +5580,7 @@ msgstr "Iniciar la línea frigorífica" # English: "Start liquid line" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startLiquidLine" +msgid "editor.toolHint.startLiquidLine.1rlxsgd" msgstr "Iniciar la línea de líquido" # Source-Hash: 877ddcb778c211cc @@ -5530,7 +5590,7 @@ msgstr "Iniciar la línea de líquido" # English: "Start run" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startRun" +msgid "editor.toolHint.startRun.r6fc5u" msgstr "Iniciar el tramo" # Source-Hash: 8a62bee64174bbc0 @@ -5540,7 +5600,7 @@ msgstr "Iniciar el tramo" # English: "Start segment" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startSegment" +msgid "editor.toolHint.startSegment.rolym6" msgstr "Iniciar el segmento" # Source-Hash: 6cc5dc51a8e66779 @@ -5550,7 +5610,7 @@ msgstr "Iniciar el segmento" # English: "Step back or cancel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.stepBackOrCancel" +msgid "editor.toolHint.stepBackOrCancel.zbfdkn" msgstr "Retroceder o cancelar" # Source-Hash: 1a79a485d91f3f28 @@ -5560,7 +5620,7 @@ msgstr "Retroceder o cancelar" # English: "Style" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.style" +msgid "editor.toolHint.style.nf3vcm" msgstr "Estilo" # Source-Hash: 81f595b1c47c0080 @@ -5570,7 +5630,7 @@ msgstr "Estilo" # English: "Style: Barn" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleBarn" +msgid "editor.toolHint.styleBarn.k9n1x" msgstr "Estilo: granero" # Source-Hash: 3a82c718fe215273 @@ -5580,7 +5640,7 @@ msgstr "Estilo: granero" # English: "Style: Casement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleCasement" +msgid "editor.toolHint.styleCasement.ziklec" msgstr "Estilo: abatible" # Source-Hash: 072e3331d1d105c0 @@ -5590,7 +5650,7 @@ msgstr "Estilo: abatible" # English: "Style: Craftsman" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleCraftsman" +msgid "editor.toolHint.styleCraftsman.52e6a9" msgstr "Estilo: artesano" # Source-Hash: b64d07557dec1714 @@ -5600,7 +5660,7 @@ msgstr "Estilo: artesano" # English: "Style: Double-hung" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleDoubleHung" +msgid "editor.toolHint.styleDoubleHung.1lg8pkg" msgstr "Estilo: guillotina doble" # Source-Hash: 55ef8761a537637f @@ -5610,7 +5670,7 @@ msgstr "Estilo: guillotina doble" # English: "Style: French" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleFrench" +msgid "editor.toolHint.styleFrench.1ue3j64" msgstr "Estilo: francesa" # Source-Hash: bc8a751d87536dc3 @@ -5620,7 +5680,7 @@ msgstr "Estilo: francesa" # English: "Style: Glass" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleGlass" +msgid "editor.toolHint.styleGlass.qudnb4" msgstr "Estilo: vidrio" # Source-Hash: 40c1eb0bc83e207d @@ -5630,7 +5690,7 @@ msgstr "Estilo: vidrio" # English: "Style: Grid" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleGrid" +msgid "editor.toolHint.styleGrid.1vuq4po" msgstr "Estilo: cuadrícula" # Source-Hash: f516886bab2e7f10 @@ -5640,7 +5700,7 @@ msgstr "Estilo: cuadrícula" # English: "Style: Half-louvered" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleHalfLouvered" +msgid "editor.toolHint.styleHalfLouvered.13b1few" msgstr "Estilo: media lama" # Source-Hash: 64e4389a695371a2 @@ -5650,7 +5710,7 @@ msgstr "Estilo: media lama" # English: "Style: Horizontal bands" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleHorizontalBands" +msgid "editor.toolHint.styleHorizontalBands.12ethxk" msgstr "Estilo: bandas horizontales" # Source-Hash: ff6d226a425b00c0 @@ -5660,7 +5720,7 @@ msgstr "Estilo: bandas horizontales" # English: "Style: Modern" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleModern" +msgid "editor.toolHint.styleModern.1fh8hhn" msgstr "Estilo: moderno" # Source-Hash: c6d17ba078ff47e7 @@ -5670,7 +5730,7 @@ msgstr "Estilo: moderno" # English: "Style: Panel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.stylePanel" +msgid "editor.toolHint.stylePanel.922jze" msgstr "Estilo: panel" # Source-Hash: 5e6baad0d2ce3a62 @@ -5680,7 +5740,7 @@ msgstr "Estilo: panel" # English: "Style: Paneled glass" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.stylePaneledGlass" +msgid "editor.toolHint.stylePaneledGlass.17a17en" msgstr "Estilo: vidrio con paneles" # Source-Hash: 6314388e6832c252 @@ -5690,7 +5750,7 @@ msgstr "Estilo: vidrio con paneles" # English: "Style: Shaker" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleShaker" +msgid "editor.toolHint.styleShaker.49z17k" msgstr "Estilo: shaker" # Source-Hash: a0f8e524f3ca121f @@ -5700,7 +5760,7 @@ msgstr "Estilo: shaker" # English: "Style: Single" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleSingle" +msgid "editor.toolHint.styleSingle.6f3cm0" msgstr "Estilo: simple" # Source-Hash: 368279df3a472c86 @@ -5710,7 +5770,7 @@ msgstr "Estilo: simple" # English: "Style: Six-panel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleSixPanel" +msgid "editor.toolHint.styleSixPanel.u49laj" msgstr "Estilo: seis paneles" # Source-Hash: 8f3c2571d8168fee @@ -5720,7 +5780,7 @@ msgstr "Estilo: seis paneles" # English: "Style: Sliding" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleSliding" +msgid "editor.toolHint.styleSliding.q81s0i" msgstr "Estilo: corredera" # Source-Hash: aa9d9eb137ca38d4 @@ -5730,7 +5790,7 @@ msgstr "Estilo: corredera" # English: "Style: Tall grid" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleTallGrid" +msgid "editor.toolHint.styleTallGrid.1eotg3x" msgstr "Estilo: cuadrícula alta" # Source-Hash: bc164648722b63e5 @@ -5740,7 +5800,7 @@ msgstr "Estilo: cuadrícula alta" # English: "Style: Transom" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleTransom" +msgid "editor.toolHint.styleTransom.kb9bh6" msgstr "Estilo: montante" # Source-Hash: 9a218f0c9ceb4697 @@ -5750,7 +5810,7 @@ msgstr "Estilo: montante" # English: "Style: Triple-hung" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleTripleHung" +msgid "editor.toolHint.styleTripleHung.pxnqi3" msgstr "Estilo: guillotina triple" # Source-Hash: 9f6df1344bd3d694 @@ -5760,7 +5820,7 @@ msgstr "Estilo: guillotina triple" # English: "Style: Wide grid" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleWideGrid" +msgid "editor.toolHint.styleWideGrid.12n27et" msgstr "Estilo: cuadrícula ancha" # Source-Hash: 711d4050c0cb95d7 @@ -5770,7 +5830,7 @@ msgstr "Estilo: cuadrícula ancha" # English: "Switch rotation axis (Y → X → Z)" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.switchRotationAxisYXZ" +msgid "editor.toolHint.switchRotationAxisYXZ.15lohm6" msgstr "Cambiar el eje de giro (Y → X → Z)" # Source-Hash: d650c71e042c2598 @@ -5780,7 +5840,7 @@ msgstr "Cambiar el eje de giro (Y → X → Z)" # English: "The walls meet at too sharp or too flat an angle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.theWallsMeetAtTooSharp" +msgid "editor.toolHint.theWallsMeetAtTooSharp.kh3wi3" msgstr "Los muros se unen en un ángulo demasiado agudo o demasiado plano" # Source-Hash: ab206ac56e65f190 @@ -5790,7 +5850,7 @@ msgstr "Los muros se unen en un ángulo demasiado agudo o demasiado plano" # English: "The window waiting there is taller than this wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.theWindowWaitingThereIsTaller" +msgid "editor.toolHint.theWindowWaitingThereIsTaller.1tqwez4" msgstr "La ventana prevista ahí es más alta que este muro" # Source-Hash: 9c1f47138ed5c7ee @@ -5800,7 +5860,7 @@ msgstr "La ventana prevista ahí es más alta que este muro" # English: "Three or more walls meet here" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.threeOrMoreWallsMeetHere" +msgid "editor.toolHint.threeOrMoreWallsMeetHere.rgifif" msgstr "Aquí se unen tres o más muros" # Source-Hash: c3ca56fa28e15f07 @@ -5810,7 +5870,7 @@ msgstr "Aquí se unen tres o más muros" # English: "Trace ceiling outline" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.traceCeilingOutline" +msgid "editor.toolHint.traceCeilingOutline.1b639wv" msgstr "Trazar el contorno del techo" # Source-Hash: bdf71499d30a29de @@ -5820,7 +5880,7 @@ msgstr "Trazar el contorno del techo" # English: "Trace slab outline" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.traceSlabOutline" +msgid "editor.toolHint.traceSlabOutline.z0j2lc" msgstr "Trazar el contorno del forjado" # Source-Hash: c44f7ab8bbd24858 @@ -5830,7 +5890,7 @@ msgstr "Trazar el contorno del forjado" # English: "Type" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.type" +msgid "editor.toolHint.type.1m2zofh" msgstr "Tipo" # Source-Hash: b54eaaff3349dcb1 @@ -5840,7 +5900,7 @@ msgstr "Tipo" # English: "Type: Awning" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeAwning" +msgid "editor.toolHint.typeAwning.1cj59al" msgstr "Tipo: proyectante" # Source-Hash: f399572a27417c66 @@ -5850,7 +5910,7 @@ msgstr "Tipo: proyectante" # English: "Type: Barn" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeBarn" +msgid "editor.toolHint.typeBarn.sbnygq" msgstr "Tipo: granero" # Source-Hash: a1df9782200b5f1e @@ -5860,7 +5920,7 @@ msgstr "Tipo: granero" # English: "Type: Bay" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeBay" +msgid "editor.toolHint.typeBay.1200hc1" msgstr "Tipo: mirador" # Source-Hash: ff069a390e8e3f66 @@ -5870,7 +5930,7 @@ msgstr "Tipo: mirador" # English: "Type: Bow" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeBow" +msgid "editor.toolHint.typeBow.14s2t9p" msgstr "Tipo: mirador curvo" # Source-Hash: bdac5f3f2ea70fff @@ -5880,7 +5940,7 @@ msgstr "Tipo: mirador curvo" # English: "Type: Cabinet" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeCabinet" +msgid "editor.toolHint.typeCabinet.1r68je5" msgstr "Tipo: armario" # Source-Hash: e0754fc03997cbf9 @@ -5890,7 +5950,7 @@ msgstr "Tipo: armario" # English: "Type: Casement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeCasement" +msgid "editor.toolHint.typeCasement.176uo9j" msgstr "Tipo: abatible" # Source-Hash: 47d873446d6e173b @@ -5900,7 +5960,7 @@ msgstr "Tipo: abatible" # English: "Type: Double" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeDouble" +msgid "editor.toolHint.typeDouble.af7w4i" msgstr "Tipo: doble" # Source-Hash: 5942e484513aaab5 @@ -5910,7 +5970,7 @@ msgstr "Tipo: doble" # English: "Type: Double Hung" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeDoubleHung" +msgid "editor.toolHint.typeDoubleHung.t482fu" msgstr "Tipo: guillotina doble" # Source-Hash: f9497fbfceefda27 @@ -5920,7 +5980,7 @@ msgstr "Tipo: guillotina doble" # English: "Type: Fixed" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeFixed" +msgid "editor.toolHint.typeFixed.v1cjez" msgstr "Tipo: fija" # Source-Hash: 0dcf07acc9cbf000 @@ -5930,7 +5990,7 @@ msgstr "Tipo: fija" # English: "Type: Folding" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeFolding" +msgid "editor.toolHint.typeFolding.sxxyng" msgstr "Tipo: plegable" # Source-Hash: bff7331f87f279aa @@ -5940,7 +6000,7 @@ msgstr "Tipo: plegable" # English: "Type: French" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeFrench" +msgid "editor.toolHint.typeFrench.1y57z1b" msgstr "Tipo: francesa" # Source-Hash: 9d2c3b82079eb769 @@ -5950,7 +6010,7 @@ msgstr "Tipo: francesa" # English: "Type: Hinged" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeHinged" +msgid "editor.toolHint.typeHinged.1xrcfju" msgstr "Tipo: batiente" # Source-Hash: b8001b90ff522838 @@ -5960,7 +6020,7 @@ msgstr "Tipo: batiente" # English: "Type: Island" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeIsland" +msgid "editor.toolHint.typeIsland.ufr3ce" msgstr "Tipo: isla" # Source-Hash: 516833c5160d412e @@ -5970,7 +6030,7 @@ msgstr "Tipo: isla" # English: "Type: Louvered" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeLouvered" +msgid "editor.toolHint.typeLouvered.oxl1cz" msgstr "Tipo: de lamas" # Source-Hash: 291272bf848ad6ab @@ -5980,7 +6040,7 @@ msgstr "Tipo: de lamas" # English: "Type: Pocket" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typePocket" +msgid "editor.toolHint.typePocket.hc65x9" msgstr "Tipo: corredera empotrada" # Source-Hash: 46d0e53d6ae07c72 @@ -5990,7 +6050,7 @@ msgstr "Tipo: corredera empotrada" # English: "Type: Single Hung" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeSingleHung" +msgid "editor.toolHint.typeSingleHung.p53pyl" msgstr "Tipo: guillotina simple" # Source-Hash: b11115b50df8faac @@ -6000,7 +6060,7 @@ msgstr "Tipo: guillotina simple" # English: "Type: Sliding" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeSliding" +msgid "editor.toolHint.typeSliding.nwmr3f" msgstr "Tipo: corredera" # Source-Hash: bff0c1694ee0a37e @@ -6010,7 +6070,7 @@ msgstr "Tipo: corredera" # English: "Vertical stack ↕, click to place" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.verticalStackClickToPlace" +msgid "editor.toolHint.verticalStackClickToPlace.ijcn4q" msgstr "Montante vertical ↕, haz clic para colocar" # Source-Hash: bac471ee67af6412 @@ -6020,7 +6080,7 @@ msgstr "Montante vertical ↕, haz clic para colocar" # English: "Waste / vent" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.wasteVent" +msgid "editor.toolHint.wasteVent.1hvi3vj" msgstr "Desagüe / ventilación" # Source-Hash: 1c744b7e24fc786e @@ -6030,7 +6090,7 @@ msgstr "Desagüe / ventilación" # English: "Window style — click or press L to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.windowStyleClickOrPressL" +msgid "editor.toolHint.windowStyleClickOrPressL.ah7qm9" msgstr "Estilo de ventana: haz clic o pulsa L para cambiar" # Source-Hash: dd6f0ab314fea26c @@ -6040,7 +6100,7 @@ msgstr "Estilo de ventana: haz clic o pulsa L para cambiar" # English: "Window type — click or press O to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.windowTypeClickOrPressO" +msgid "editor.toolHint.windowTypeClickOrPressO.wv4x35" msgstr "Tipo de ventana: haz clic o pulsa O para cambiar" # Source-Hash: 9fc7a39bc32f287a diff --git a/packages/editor/src/i18n/locales/fr/messages.po b/packages/editor/src/i18n/locales/fr/messages.po index b4d494c9d9..e38d9b018b 100644 --- a/packages/editor/src/i18n/locales/fr/messages.po +++ b/packages/editor/src/i18n/locales/fr/messages.po @@ -2461,16 +2461,6 @@ msgstr "Fenêtre" msgid "editor.actionMenu.structureTools.zone" msgstr "Zone" -# Source-Hash: 43af78ba61aaa8ab -# Review: required -# AI-Provider: cursor-agent -# AI-Model: claude-opus -# English: "below" -#: packages/editor/src/components/ui/action-menu/view-toggles.tsx -#, fuzzy -msgid "editor.actionMenu.viewToggles.below" -msgstr "en dessous" - # Source-Hash: cdf3f12939ba108c # Review: required # AI-Provider: cursor-agent @@ -2591,6 +2581,16 @@ msgstr "Masquer le niveau de référence" msgid "editor.actionMenu.viewToggles.hideScans" msgstr "Masquer les relevés 3D" +# Source-Hash: 873620c284a5651f +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "{count} below" +#: packages/editor/src/components/ui/action-menu/view-toggles.tsx +#, fuzzy +msgid "editor.actionMenu.viewToggles.levelsBelow" +msgstr "{count} en dessous" + # Source-Hash: 22a59ae72d8c9504 # Review: required # AI-Provider: cursor-agent @@ -3133,6 +3133,36 @@ msgstr "Enchaînement : {label}" msgid "editor.helpers.contextualHelperPanel.dragToDrawFence" msgstr "Faites glisser pour tracer la clôture" +# Source-Hash: b52e874718af1916 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Erase: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.eraseScope" +msgstr "Effacer : {scope}" + +# Source-Hash: 61f7494abc319e66 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Erase scope — click or press Shift to cycle" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.eraseScopeClickOrPressShift" +msgstr "Portée de l’effacement — cliquez ou appuyez sur Maj pour changer" + +# Source-Hash: 59993c163d68cc53 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Erase scope: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.eraseScopeLabel" +msgstr "Portée de l’effacement : {scope}" + # Source-Hash: a4bdcbc6cab772bf # Review: required # AI-Provider: cursor-agent @@ -3233,6 +3263,46 @@ msgstr "Survolez une surface pour prélever son matériau" msgid "editor.helpers.contextualHelperPanel.moreShortcuts" msgstr "Plus de raccourcis" +# Source-Hash: 476b8f5f9ee542e6 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Paint: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.paintScope" +msgstr "Peindre : {scope}" + +# Source-Hash: 9c09ce4c34122277 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Paint scope — click or press Shift to cycle" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.paintScopeClickOrPressShift" +msgstr "Portée de la peinture — cliquez ou appuyez sur Maj pour changer" + +# Source-Hash: 7890aa81687f6654 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Paint scope: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.paintScopeLabel" +msgstr "Portée de la peinture : {scope}" + +# Source-Hash: a75b3abc0784b12b +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Pick: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.pickScope" +msgstr "Prélever : {scope}" + # Source-Hash: 69c1044e6ea87ccf # Review: required # AI-Provider: cursor-agent @@ -3353,16 +3423,6 @@ msgstr "Enchaînement de clôture droite — cliquez ou appuyez sur C pour bascu msgid "editor.helpers.contextualHelperPanel.straightSingle" msgstr "Droite : simple" -# Source-Hash: 83e56140165f2535 -# Review: required -# AI-Provider: cursor-agent -# AI-Model: claude-opus -# English: "{verb} scope — click or press Shift to cycle" -#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx -#, fuzzy -msgid "editor.helpers.contextualHelperPanel.verbScopeClickOrPressShift" -msgstr "Portée : {verb} — cliquez ou appuyez sur Maj pour changer" - # Source-Hash: 9a56d90d461b4bca # Review: required # AI-Provider: cursor-agent @@ -4280,7 +4340,7 @@ msgstr "La scène de l’éditeur n’a pas pu s’afficher" # English: "A curtain wall takes no corner window" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.aCurtainWallTakesNoCorner" +msgid "editor.toolHint.aCurtainWallTakesNoCorner.1qxjv5i" msgstr "Un mur-rideau n’accepte pas de fenêtre d’angle" # Source-Hash: 97f5e044d46501fb @@ -4290,7 +4350,7 @@ msgstr "Un mur-rideau n’accepte pas de fenêtre d’angle" # English: "A curved wall takes no corner window" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.aCurvedWallTakesNoCorner" +msgid "editor.toolHint.aCurvedWallTakesNoCorner.1vdnaw5" msgstr "Un mur courbe n’accepte pas de fenêtre d’angle" # Source-Hash: 776d8ebece7fe1bb @@ -4300,7 +4360,7 @@ msgstr "Un mur courbe n’accepte pas de fenêtre d’angle" # English: "Add a corner · click the first to close" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.addACornerClickTheFirst" +msgid "editor.toolHint.addACornerClickTheFirst.o4r67t" msgstr "Ajouter un angle · cliquez sur le premier pour fermer" # Source-Hash: 6a0745dd047b149a @@ -4310,7 +4370,7 @@ msgstr "Ajouter un angle · cliquez sur le premier pour fermer" # English: "Another opening is in the way at the corner" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.anotherOpeningIsInTheWay" +msgid "editor.toolHint.anotherOpeningIsInTheWay.11l9dd0" msgstr "Une autre ouverture gêne à l’angle" # Source-Hash: 441124187e7da2fc @@ -4320,7 +4380,7 @@ msgstr "Une autre ouverture gêne à l’angle" # English: "Auto hangers" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.autoHangers" +msgid "editor.toolHint.autoHangers.10554ka" msgstr "Suspentes auto" # Source-Hash: 47a7f9a6a81156c3 @@ -4330,7 +4390,7 @@ msgstr "Suspentes auto" # English: "Auto hangers - click or press H to toggle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.autoHangersClickOrPressH" +msgid "editor.toolHint.autoHangersClickOrPressH.rwa3ka" msgstr "Suspentes auto - cliquez ou appuyez sur H pour basculer" # Source-Hash: d7944f31cba90e26 @@ -4340,7 +4400,7 @@ msgstr "Suspentes auto - cliquez ou appuyez sur H pour basculer" # English: "Auto hangers: Off" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.autoHangersOff" +msgid "editor.toolHint.autoHangersOff.7yx01x" msgstr "Suspentes auto : désactivées" # Source-Hash: 295882d015d08742 @@ -4350,7 +4410,7 @@ msgstr "Suspentes auto : désactivées" # English: "Auto hangers: On" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.autoHangersOn" +msgid "editor.toolHint.autoHangersOn.10b1umh" msgstr "Suspentes auto : activées" # Source-Hash: 8c039e5182b01c4d @@ -4360,7 +4420,7 @@ msgstr "Suspentes auto : activées" # English: "Bypass snapping" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.bypassSnapping" +msgid "editor.toolHint.bypassSnapping.w5lmdv" msgstr "Ignorer l’aimantation" # Source-Hash: c0774c185060fc13 @@ -4370,7 +4430,7 @@ msgstr "Ignorer l’aimantation" # English: "Cancel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cancel" +msgid "editor.toolHint.cancel.ew9em3" msgstr "Annuler" # Source-Hash: 5b33b576fd30b74e @@ -4380,7 +4440,7 @@ msgstr "Annuler" # English: "Cancel move" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cancelMove" +msgid "editor.toolHint.cancelMove.lvp31c" msgstr "Annuler le déplacement" # Source-Hash: 136fa29b9ae419bf @@ -4390,7 +4450,7 @@ msgstr "Annuler le déplacement" # English: "Cancel run / exit" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cancelRunExit" +msgid "editor.toolHint.cancelRunExit.zqjf3h" msgstr "Annuler le tronçon / quitter" # Source-Hash: 75b406824be91ac2 @@ -4400,7 +4460,7 @@ msgstr "Annuler le tronçon / quitter" # English: "Cancel start point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cancelStartPoint" +msgid "editor.toolHint.cancelStartPoint.1xbq2lh" msgstr "Annuler le point de départ" # Source-Hash: ffa5aaa1746303c4 @@ -4410,7 +4470,7 @@ msgstr "Annuler le point de départ" # English: "Corner window" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cornerWindow" +msgid "editor.toolHint.cornerWindow.1avkzpo" msgstr "Fenêtre d’angle" # Source-Hash: b0afdd855a02e4a7 @@ -4420,7 +4480,7 @@ msgstr "Fenêtre d’angle" # English: "Cuts" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cuts" +msgid "editor.toolHint.cuts.1y0axps" msgstr "Coupes" # Source-Hash: dc9fe7601cc525f8 @@ -4430,7 +4490,7 @@ msgstr "Coupes" # English: "Cuts: {value}" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cutsValue" +msgid "editor.toolHint.cutsValue.ouzhvb" msgstr "Coupes : {value}" # Source-Hash: a2e13bc4dc82624c @@ -4440,7 +4500,7 @@ msgstr "Coupes : {value}" # English: "Cuts: {value}, even" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cutsValueEven" +msgid "editor.toolHint.cutsValueEven.1ngsz3" msgstr "Coupes : {value}, régulières" # Source-Hash: 04152b4cec726f34 @@ -4450,7 +4510,7 @@ msgstr "Coupes : {value}, régulières" # English: "Cycle mono / gable / butterfly" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cycleMonoGableButterfly" +msgid "editor.toolHint.cycleMonoGableButterfly.1poga3m" msgstr "Basculer un pan / deux pans / papillon" # Source-Hash: 4fb6c83edb6652b5 @@ -4460,7 +4520,7 @@ msgstr "Basculer un pan / deux pans / papillon" # English: "Cycle snapping mode" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cycleSnappingMode" +msgid "editor.toolHint.cycleSnappingMode.1ct0gn6" msgstr "Changer le mode d’aimantation" # Source-Hash: 5d550a3ac76279de @@ -4470,7 +4530,7 @@ msgstr "Changer le mode d’aimantation" # English: "Door style — click or press L to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.doorStyleClickOrPressL" +msgid "editor.toolHint.doorStyleClickOrPressL.33pe65" msgstr "Style de porte — cliquez ou appuyez sur L pour changer" # Source-Hash: 3272a7df5d7c6a9a @@ -4480,7 +4540,7 @@ msgstr "Style de porte — cliquez ou appuyez sur L pour changer" # English: "Door type — click or press O to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.doorTypeClickOrPressO" +msgid "editor.toolHint.doorTypeClickOrPressO.1hhh8gt" msgstr "Type de porte — cliquez ou appuyez sur O pour changer" # Source-Hash: 366222b4435eefda @@ -4490,7 +4550,7 @@ msgstr "Type de porte — cliquez ou appuyez sur O pour changer" # English: "Drop downspout from outlet" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.dropDownspoutFromOutlet" +msgid "editor.toolHint.dropDownspoutFromOutlet.1k4h1m4" msgstr "Descendre la descente depuis la sortie" # Source-Hash: 03f306371f345007 @@ -4500,7 +4560,7 @@ msgstr "Descendre la descente depuis la sortie" # English: "Duct diameter down / up" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.ductDiameterDownUp" +msgid "editor.toolHint.ductDiameterDownUp.1wdz5vq" msgstr "Diamètre de gaine moins / plus" # Source-Hash: 7b4137e27f8327d9 @@ -4510,7 +4570,7 @@ msgstr "Diamètre de gaine moins / plus" # English: "End run / cancel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.endRunCancel" +msgid "editor.toolHint.endRunCancel.59dh2w" msgstr "Terminer le tronçon / annuler" # Source-Hash: 938aacb119b29dc1 @@ -4520,7 +4580,7 @@ msgstr "Terminer le tronçon / annuler" # English: "Exit" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.exit" +msgid "editor.toolHint.exit.engmg5" msgstr "Quitter" # Source-Hash: 7cb4e0688cabcb00 @@ -4530,7 +4590,7 @@ msgstr "Quitter" # English: "Exit drawing" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.exitDrawing" +msgid "editor.toolHint.exitDrawing.9noxyb" msgstr "Quitter le tracé" # Source-Hash: 47025a103c456125 @@ -4540,7 +4600,7 @@ msgstr "Quitter le tracé" # English: "Finish and continue" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishAndContinue" +msgid "editor.toolHint.finishAndContinue.1gpfsks" msgstr "Terminer et continuer" # Source-Hash: 000918429b74128f @@ -4550,7 +4610,7 @@ msgstr "Terminer et continuer" # English: "Finish ceiling" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishCeiling" +msgid "editor.toolHint.finishCeiling.1c1lfel" msgstr "Terminer le plafond" # Source-Hash: 51a80a0dba5a6f30 @@ -4560,7 +4620,7 @@ msgstr "Terminer le plafond" # English: "Finish grid axis" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishGridAxis" +msgid "editor.toolHint.finishGridAxis.1wvrfhr" msgstr "Terminer l’axe de trame" # Source-Hash: 87c7b98fc2e010e1 @@ -4570,7 +4630,7 @@ msgstr "Terminer l’axe de trame" # English: "Finish measurement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishMeasurement" +msgid "editor.toolHint.finishMeasurement.1e4gv16" msgstr "Terminer la mesure" # Source-Hash: 5e1a0af7dc506826 @@ -4580,7 +4640,7 @@ msgstr "Terminer la mesure" # English: "Finish multi-point witnesses" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishMultiPointWitnesses" +msgid "editor.toolHint.finishMultiPointWitnesses.8wzskz" msgstr "Terminer les repères multipoints" # Source-Hash: 30fc0862501ba2e8 @@ -4590,7 +4650,7 @@ msgstr "Terminer les repères multipoints" # English: "Finish slab" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishSlab" +msgid "editor.toolHint.finishSlab.xmnm8e" msgstr "Terminer la dalle" # Source-Hash: 66ed7c7598d3aa29 @@ -4600,7 +4660,7 @@ msgstr "Terminer la dalle" # English: "Flip side" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.flipSide" +msgid "editor.toolHint.flipSide.172xku9" msgstr "Inverser le côté" # Source-Hash: f5717f6a0905ffab @@ -4610,7 +4670,7 @@ msgstr "Inverser le côté" # English: "Follow: trace a lineset" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.followTraceALineset" +msgid "editor.toolHint.followTraceALineset.mgquwe" msgstr "Suivre : longer une liaison frigorifique" # Source-Hash: ed7f3d8417a3e074 @@ -4620,7 +4680,7 @@ msgstr "Suivre : longer une liaison frigorifique" # English: "Force place" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.forcePlace" +msgid "editor.toolHint.forcePlace.1hq1nr" msgstr "Forcer le placement" # Source-Hash: cc0c14065951444d @@ -4630,7 +4690,7 @@ msgstr "Forcer le placement" # English: "Free placement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.freePlacement" +msgid "editor.toolHint.freePlacement.1nztdac" msgstr "Placement libre" # Source-Hash: f098a27096a9c1ea @@ -4640,7 +4700,7 @@ msgstr "Placement libre" # English: "Go vertical ↕, click to place" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.goVerticalClickToPlace" +msgid "editor.toolHint.goVerticalClickToPlace.dg8g6m" msgstr "Passer en vertical ↕, cliquez pour placer" # Source-Hash: fd47f1820d8799c8 @@ -4650,7 +4710,7 @@ msgstr "Passer en vertical ↕, cliquez pour placer" # English: "Highlight outlet" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.highlightOutlet" +msgid "editor.toolHint.highlightOutlet.65hoq8" msgstr "Mettre en évidence la sortie" # Source-Hash: eb90058d0f856f67 @@ -4660,7 +4720,7 @@ msgstr "Mettre en évidence la sortie" # English: "Join as a corner window" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.joinAsACornerWindow" +msgid "editor.toolHint.joinAsACornerWindow.jvdp4j" msgstr "Joindre en fenêtre d’angle" # Source-Hash: 225b3161f2e59757 @@ -4670,7 +4730,7 @@ msgstr "Joindre en fenêtre d’angle" # English: "Alt + drag" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.altDrag" +msgid "editor.toolHint.key.altDrag.ai3wn9" msgstr "Alt + glisser" # Source-Hash: dd66f883b173fc72 @@ -4680,7 +4740,7 @@ msgstr "Alt + glisser" # English: "Backspace" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.backspace" +msgid "editor.toolHint.key.backspace.qy6qx8" msgstr "Retour arrière" # Source-Hash: a18387bc0be54c32 @@ -4690,7 +4750,7 @@ msgstr "Retour arrière" # English: "Click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.click" +msgid "editor.toolHint.key.click.m8sun" msgstr "Clic" # Source-Hash: db9e60c1d30b8499 @@ -4700,7 +4760,7 @@ msgstr "Clic" # English: "Click again" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.clickAgain" +msgid "editor.toolHint.key.clickAgain.190ws9j" msgstr "Cliquer à nouveau" # Source-Hash: f400330b9c9c12e8 @@ -4710,7 +4770,7 @@ msgstr "Cliquer à nouveau" # English: "Command" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.command" +msgid "editor.toolHint.key.command.1j2mkia" msgstr "Commande" # Source-Hash: 976c63285a510b09 @@ -4720,7 +4780,7 @@ msgstr "Commande" # English: "Control" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.control" +msgid "editor.toolHint.key.control.10fbl8e" msgstr "Contrôle" # Source-Hash: b26de372b4b0eaac @@ -4730,7 +4790,7 @@ msgstr "Contrôle" # English: "Delete" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.delete" +msgid "editor.toolHint.key.delete.oay2cq" msgstr "Supprimer" # Source-Hash: 88888c9d2719fa92 @@ -4740,7 +4800,7 @@ msgstr "Supprimer" # English: "Double click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.doubleClick" +msgid "editor.toolHint.key.doubleClick.vlma6o" msgstr "Double-clic" # Source-Hash: dfb85b2addb7b9fa @@ -4750,7 +4810,7 @@ msgstr "Double-clic" # English: "Drag" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.drag" +msgid "editor.toolHint.key.drag.8pwtpf" msgstr "Glisser" # Source-Hash: ed9140d42148c99b @@ -4760,7 +4820,7 @@ msgstr "Glisser" # English: "Enter" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.enter" +msgid "editor.toolHint.key.enter.1ctpui5" msgstr "Entrée" # Source-Hash: 9195fa8b9c8ebdfb @@ -4770,7 +4830,7 @@ msgstr "Entrée" # English: "Hover" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.hover" +msgid "editor.toolHint.key.hover.6xw79p" msgstr "Survoler" # Source-Hash: 2d78441b741bc562 @@ -4780,7 +4840,7 @@ msgstr "Survoler" # English: "Hover a duct end" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.hoverADuctEnd" +msgid "editor.toolHint.key.hoverADuctEnd.19axr3b" msgstr "Survolez une extrémité de gaine" # Source-Hash: 6083405086f61c76 @@ -4790,7 +4850,7 @@ msgstr "Survolez une extrémité de gaine" # English: "Hover a pipe end" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.hoverAPipeEnd" +msgid "editor.toolHint.key.hoverAPipeEnd.1jbum5f" msgstr "Survolez une extrémité de tuyau" # Source-Hash: a5a337eb76fdb066 @@ -4800,7 +4860,7 @@ msgstr "Survolez une extrémité de tuyau" # English: "Hover gutter" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.hoverGutter" +msgid "editor.toolHint.key.hoverGutter.1dwcsno" msgstr "Survolez la gouttière" # Source-Hash: a58533594411e088 @@ -4810,7 +4870,7 @@ msgstr "Survolez la gouttière" # English: "Left click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.leftClick" +msgid "editor.toolHint.key.leftClick.s4gwfc" msgstr "Clic gauche" # Source-Hash: bc4ab608ec3d3b4f @@ -4820,7 +4880,7 @@ msgstr "Clic gauche" # English: "Middle click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.middleClick" +msgid "editor.toolHint.key.middleClick.1jbaan4" msgstr "Clic central" # Source-Hash: 6791879c651108c7 @@ -4830,7 +4890,7 @@ msgstr "Clic central" # English: "Right click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.rightClick" +msgid "editor.toolHint.key.rightClick.1ovld0h" msgstr "Clic droit" # Source-Hash: c836b21b42198868 @@ -4840,7 +4900,7 @@ msgstr "Clic droit" # English: "R / Shift+R" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.rShiftR" +msgid "editor.toolHint.key.rShiftR.13bnobh" msgstr "R / Maj+R" # Source-Hash: 9812aa06d8bb7544 @@ -4850,7 +4910,7 @@ msgstr "R / Maj+R" # English: "Scroll" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.scroll" +msgid "editor.toolHint.key.scroll.ai6wr0" msgstr "Défilement" # Source-Hash: f2174536230657c8 @@ -4860,7 +4920,7 @@ msgstr "Défilement" # English: "Scroll wheel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.scrollWheel" +msgid "editor.toolHint.key.scrollWheel.18j0ix7" msgstr "Molette" # Source-Hash: 82dd231086d87f3b @@ -4870,7 +4930,7 @@ msgstr "Molette" # English: "Space" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.space" +msgid "editor.toolHint.key.space.1hrh82t" msgstr "Espace" # Source-Hash: 9e68aa2f472cad56 @@ -4880,7 +4940,7 @@ msgstr "Espace" # English: "Tab" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.tab" +msgid "editor.toolHint.key.tab.1xsal0s" msgstr "Tab" # Source-Hash: 4b221b73f9496a49 @@ -4890,7 +4950,7 @@ msgstr "Tab" # English: "Mount: floor / ceiling / wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.mountFloorCeilingWall" +msgid "editor.toolHint.mountFloorCeilingWall.32dxpv" msgstr "Pose : sol / plafond / mur" # Source-Hash: 225edfb1e45aed95 @@ -4900,7 +4960,7 @@ msgstr "Pose : sol / plafond / mur" # English: "No room for the matching window on the other wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.noRoomForTheMatchingWindow" +msgid "editor.toolHint.noRoomForTheMatchingWindow.1755948" msgstr "Pas de place pour la fenêtre correspondante sur l’autre mur" # Source-Hash: a7045d6b678bcd13 @@ -4910,7 +4970,7 @@ msgstr "Pas de place pour la fenêtre correspondante sur l’autre mur" # English: "No wall meets here" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.noWallMeetsHere" +msgid "editor.toolHint.noWallMeetsHere.19n99yc" msgstr "Aucun mur ne se rejoint ici" # Source-Hash: a639341dc21fed2c @@ -4920,7 +4980,7 @@ msgstr "Aucun mur ne se rejoint ici" # English: "Number of cuts — scroll or click to change" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.numberOfCutsScrollOrClick" +msgid "editor.toolHint.numberOfCutsScrollOrClick.1kqe84b" msgstr "Nombre de coupes — faites défiler ou cliquez pour modifier" # Source-Hash: af01bde3ae4b7e59 @@ -4930,7 +4990,7 @@ msgstr "Nombre de coupes — faites défiler ou cliquez pour modifier" # English: "Pick witness point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.pickWitnessPoint" +msgid "editor.toolHint.pickWitnessPoint.k3hgh1" msgstr "Choisir un point de repère" # Source-Hash: ecfd58576b28a9f6 @@ -4940,7 +5000,7 @@ msgstr "Choisir un point de repère" # English: "Pipe size down / up" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.pipeSizeDownUp" +msgid "editor.toolHint.pipeSizeDownUp.wp04og" msgstr "Diamètre de tuyau moins / plus" # Source-Hash: 7a1eb7b64f06bad0 @@ -4950,7 +5010,7 @@ msgstr "Diamètre de tuyau moins / plus" # English: "Place and continue" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeAndContinue" +msgid "editor.toolHint.placeAndContinue.qfwkrq" msgstr "Placer et continuer" # Source-Hash: c6cda39e2e4b5d3a @@ -4960,7 +5020,7 @@ msgstr "Placer et continuer" # English: "Place block" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeBlock" +msgid "editor.toolHint.placeBlock.1aylwrx" msgstr "Placer le bloc" # Source-Hash: 45a743c52a1d72de @@ -4970,7 +5030,7 @@ msgstr "Placer le bloc" # English: "Place box vent on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeBoxVentOnRoof" +msgid "editor.toolHint.placeBoxVentOnRoof.kf88e5" msgstr "Placer l’aérateur sur le toit" # Source-Hash: 75142dd1d557efe2 @@ -4980,7 +5040,7 @@ msgstr "Placer l’aérateur sur le toit" # English: "Place cabinet" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeCabinet" +msgid "editor.toolHint.placeCabinet.b0ouyk" msgstr "Placer le meuble" # Source-Hash: da603a713d4c9909 @@ -4990,7 +5050,7 @@ msgstr "Placer le meuble" # English: "Place canopy or set the next run point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeCanopyOrSetTheNext" +msgid "editor.toolHint.placeCanopyOrSetTheNext.12l7zf8" msgstr "Placer l’auvent ou le point suivant" # Source-Hash: 8b3a30c6b7a5612d @@ -5000,7 +5060,7 @@ msgstr "Placer l’auvent ou le point suivant" # English: "Place chimney on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeChimneyOnRoof" +msgid "editor.toolHint.placeChimneyOnRoof.19dbqu" msgstr "Placer la cheminée sur le toit" # Source-Hash: 710d41e4e2f259fa @@ -5010,7 +5070,7 @@ msgstr "Placer la cheminée sur le toit" # English: "Place column" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeColumn" +msgid "editor.toolHint.placeColumn.1w2vq86" msgstr "Placer le poteau" # Source-Hash: ee1da4e12a71d9a9 @@ -5020,7 +5080,7 @@ msgstr "Placer le poteau" # English: "Place cupola on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeCupolaOnRoof" +msgid "editor.toolHint.placeCupolaOnRoof.ofx3bn" msgstr "Placer le lanterneau sur le toit" # Source-Hash: 19c1fe8c46d213a5 @@ -5030,7 +5090,7 @@ msgstr "Placer le lanterneau sur le toit" # English: "Place dimension line when needed" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeDimensionLineWhenNeeded" +msgid "editor.toolHint.placeDimensionLineWhenNeeded.bjw2cj" msgstr "Placer la ligne de cote si nécessaire" # Source-Hash: 58f3e7efb6ea120b @@ -5040,7 +5100,7 @@ msgstr "Placer la ligne de cote si nécessaire" # English: "Place door on wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeDoorOnWall" +msgid "editor.toolHint.placeDoorOnWall.1jwadf" msgstr "Placer la porte sur le mur" # Source-Hash: de04e9d03d937c97 @@ -5050,7 +5110,7 @@ msgstr "Placer la porte sur le mur" # English: "Place dormer on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeDormerOnRoof" +msgid "editor.toolHint.placeDormerOnRoof.1w518a6" msgstr "Placer la lucarne sur le toit" # Source-Hash: c581645f2ee447c2 @@ -5060,7 +5120,7 @@ msgstr "Placer la lucarne sur le toit" # English: "Place elevator" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeElevator" +msgid "editor.toolHint.placeElevator.1f65zva" msgstr "Placer l’ascenseur" # Source-Hash: 096b8d6482717358 @@ -5070,7 +5130,7 @@ msgstr "Placer l’ascenseur" # English: "Place eyebrow vent on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeEyebrowVentOnRoof" +msgid "editor.toolHint.placeEyebrowVentOnRoof.1h1tqxn" msgstr "Placer le chien-assis sur le toit" # Source-Hash: e8d42c1c8370773f @@ -5080,7 +5140,7 @@ msgstr "Placer le chien-assis sur le toit" # English: "Place fitting" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeFitting" +msgid "editor.toolHint.placeFitting.1pmx3vn" msgstr "Placer le raccord" # Source-Hash: 2340a4b70cb0d9ad @@ -5090,7 +5150,7 @@ msgstr "Placer le raccord" # English: "Place gutter on roof eave" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeGutterOnRoofEave" +msgid "editor.toolHint.placeGutterOnRoofEave.llwzf9" msgstr "Placer la gouttière sur l’égout du toit" # Source-Hash: 706a8eafb6212833 @@ -5100,7 +5160,7 @@ msgstr "Placer la gouttière sur l’égout du toit" # English: "Place item" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeItem" +msgid "editor.toolHint.placeItem.teynf" msgstr "Placer l’élément" # Source-Hash: 1815c482e249932e @@ -5110,7 +5170,7 @@ msgstr "Placer l’élément" # English: "Place it (locked to 45°)" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeItLockedTo45" +msgid "editor.toolHint.placeItLockedTo45.16e4csk" msgstr "Placer (verrouillé à 45°)" # Source-Hash: 4a14340657532838 @@ -5120,7 +5180,7 @@ msgstr "Placer (verrouillé à 45°)" # English: "Place measurement point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeMeasurementPoint" +msgid "editor.toolHint.placeMeasurementPoint.bsatli" msgstr "Placer le point de mesure" # Source-Hash: b3be684ac62fbf53 @@ -5130,7 +5190,7 @@ msgstr "Placer le point de mesure" # English: "Placement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placement" +msgid "editor.toolHint.placement.13lcvts" msgstr "Placement" # Source-Hash: 2bb2ce6276c69b1e @@ -5140,7 +5200,7 @@ msgstr "Placement" # English: "Placement: Auto" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementAuto" +msgid "editor.toolHint.placementAuto.1caa52d" msgstr "Placement : auto" # Source-Hash: ed78ac5354a1dcd8 @@ -5150,7 +5210,7 @@ msgstr "Placement : auto" # English: "Placement: Ground" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementGround" +msgid "editor.toolHint.placementGround.1ruz145" msgstr "Placement : sol" # Source-Hash: a066a2c9d5e65a1a @@ -5160,7 +5220,7 @@ msgstr "Placement : sol" # English: "Placement: Roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementRoof" +msgid "editor.toolHint.placementRoof.renkw8" msgstr "Placement : toit" # Source-Hash: 8f74dbe5064c4c66 @@ -5170,7 +5230,7 @@ msgstr "Placement : toit" # English: "Placement surface - click or press P to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementSurfaceClickOrPressP" +msgid "editor.toolHint.placementSurfaceClickOrPressP.w56h19" msgstr "Surface de placement - cliquez ou appuyez sur P pour changer" # Source-Hash: fe119955c925feaf @@ -5180,7 +5240,7 @@ msgstr "Surface de placement - cliquez ou appuyez sur P pour changer" # English: "Placement type" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementType" +msgid "editor.toolHint.placementType.1mdpl60" msgstr "Type de placement" # Source-Hash: 33043a35500168f5 @@ -5190,7 +5250,7 @@ msgstr "Type de placement" # English: "Placement type — click or press I to toggle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementTypeClickOrPressI" +msgid "editor.toolHint.placementTypeClickOrPressI.10cgxh2" msgstr "Type de placement — cliquez ou appuyez sur I pour basculer" # Source-Hash: 9945f412e6a9a446 @@ -5200,7 +5260,7 @@ msgstr "Type de placement — cliquez ou appuyez sur I pour basculer" # English: "Place on a fence" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeOnAFence" +msgid "editor.toolHint.placeOnAFence.1dptstr" msgstr "Placer sur une clôture" # Source-Hash: 6708118775a7da7f @@ -5210,7 +5270,7 @@ msgstr "Placer sur une clôture" # English: "Place register" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeRegister" +msgid "editor.toolHint.placeRegister.1uebycd" msgstr "Placer la bouche" # Source-Hash: ebd2731f5c79306e @@ -5220,7 +5280,7 @@ msgstr "Placer la bouche" # English: "Place ridge vent on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeRidgeVentOnRoof" +msgid "editor.toolHint.placeRidgeVentOnRoof.2tpd8r" msgstr "Placer la ventilation de faîtage sur le toit" # Source-Hash: 9b3c66a867c23326 @@ -5230,7 +5290,7 @@ msgstr "Placer la ventilation de faîtage sur le toit" # English: "Place shelf" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeShelf" +msgid "editor.toolHint.placeShelf.y4l3iw" msgstr "Placer l’étagère" # Source-Hash: f11cf5c1c9fe862d @@ -5240,7 +5300,7 @@ msgstr "Placer l’étagère" # English: "Place skylight on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeSkylightOnRoof" +msgid "editor.toolHint.placeSkylightOnRoof.e215pe" msgstr "Placer la fenêtre de toit" # Source-Hash: e989a58d6709cc16 @@ -5250,7 +5310,7 @@ msgstr "Placer la fenêtre de toit" # English: "Place solar panel array on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeSolarPanelArrayOnRoof" +msgid "editor.toolHint.placeSolarPanelArrayOnRoof.kk11fn" msgstr "Placer les panneaux solaires sur le toit" # Source-Hash: b67f7036d5180cf5 @@ -5260,7 +5320,7 @@ msgstr "Placer les panneaux solaires sur le toit" # English: "Place spawn point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeSpawnPoint" +msgid "editor.toolHint.placeSpawnPoint.205o25" msgstr "Placer le point d’apparition" # Source-Hash: 6c7f32a17e5636c3 @@ -5270,7 +5330,7 @@ msgstr "Placer le point d’apparition" # English: "Place stairs" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeStairs" +msgid "editor.toolHint.placeStairs.zwxxu2" msgstr "Placer l’escalier" # Source-Hash: 641c0d3debd798a8 @@ -5280,7 +5340,7 @@ msgstr "Placer l’escalier" # English: "Place trap" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeTrap" +msgid "editor.toolHint.placeTrap.1gxemn3" msgstr "Placer le siphon" # Source-Hash: 6f0a6f6c4b7588a0 @@ -5290,7 +5350,7 @@ msgstr "Placer le siphon" # English: "Place turbine vent on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeTurbineVentOnRoof" +msgid "editor.toolHint.placeTurbineVentOnRoof.1iqeluf" msgstr "Placer l’extracteur éolien sur le toit" # Source-Hash: e65cf5edb4f51ed5 @@ -5300,7 +5360,7 @@ msgstr "Placer l’extracteur éolien sur le toit" # English: "Place unit" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeUnit" +msgid "editor.toolHint.placeUnit.8zkx4q" msgstr "Placer l’unité" # Source-Hash: 86ce1c730154f68b @@ -5310,7 +5370,7 @@ msgstr "Placer l’unité" # English: "Place window on wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeWindowOnWall" +msgid "editor.toolHint.placeWindowOnWall.1k3qnfb" msgstr "Placer la fenêtre sur le mur" # Source-Hash: 2b612180a7617901 @@ -5320,7 +5380,7 @@ msgstr "Placer la fenêtre sur le mur" # English: "Place without the corner snap" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeWithoutTheCornerSnap" +msgid "editor.toolHint.placeWithoutTheCornerSnap.1nifqew" msgstr "Placer sans l’aimantation d’angle" # Source-Hash: 0dc6d121791696f7 @@ -5330,7 +5390,7 @@ msgstr "Placer sans l’aimantation d’angle" # English: "Remove last point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.removeLastPoint" +msgid "editor.toolHint.removeLastPoint.2dmdcx" msgstr "Retirer le dernier point" # Source-Hash: 8b74b1d962be10fc @@ -5340,7 +5400,7 @@ msgstr "Retirer le dernier point" # English: "Remove last witness" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.removeLastWitness" +msgid "editor.toolHint.removeLastWitness.1b6vvzw" msgstr "Retirer le dernier repère" # Source-Hash: 306d409f8a1cf480 @@ -5350,7 +5410,7 @@ msgstr "Retirer le dernier repère" # English: "Rotate" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotate" +msgid "editor.toolHint.rotate.1thqa0a" msgstr "Pivoter" # Source-Hash: 8a665ecaeffa9308 @@ -5360,7 +5420,7 @@ msgstr "Pivoter" # English: "Rotate ±45°" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotate45" +msgid "editor.toolHint.rotate45.9zq68u" msgstr "Pivoter de ±45°" # Source-Hash: be2240289aa74df5 @@ -5370,7 +5430,7 @@ msgstr "Pivoter de ±45°" # English: "Rotate ±45° (floor / ceiling)" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotate45FloorCeiling" +msgid "editor.toolHint.rotate45FloorCeiling.m9t57d" msgstr "Pivoter de ±45° (sol / plafond)" # Source-Hash: d5fb78b07c0f8138 @@ -5380,7 +5440,7 @@ msgstr "Pivoter de ±45° (sol / plafond)" # English: "Rotate ghost ±15°" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotateGhost15" +msgid "editor.toolHint.rotateGhost15.rsa52c" msgstr "Pivoter l’aperçu de ±15°" # Source-Hash: 912d340cd16e27fa @@ -5390,7 +5450,7 @@ msgstr "Pivoter l’aperçu de ±15°" # English: "Rotate or flip the run side" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotateOrFlipTheRunSide" +msgid "editor.toolHint.rotateOrFlipTheRunSide.t5ior7" msgstr "Pivoter ou inverser le côté de la rangée" # Source-Hash: ad1dc0b5536cceef @@ -5400,7 +5460,7 @@ msgstr "Pivoter ou inverser le côté de la rangée" # English: "Rotate roof direction 90°" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotateRoofDirection90" +msgid "editor.toolHint.rotateRoofDirection90.tvbji2" msgstr "Pivoter l’orientation du toit de 90°" # Source-Hash: fa24651e9e5f595a @@ -5410,7 +5470,7 @@ msgstr "Pivoter l’orientation du toit de 90°" # English: "Rotate spawn point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotateSpawnPoint" +msgid "editor.toolHint.rotateSpawnPoint.1opcuu7" msgstr "Pivoter le point d’apparition" # Source-Hash: 2d693d87fe9b59e6 @@ -5420,7 +5480,7 @@ msgstr "Pivoter le point d’apparition" # English: "Round / rectangular / oval" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.roundRectangularOval" +msgid "editor.toolHint.roundRectangularOval.e4nh6x" msgstr "Rond / rectangulaire / oblong" # Source-Hash: f7d2c9cdcc637c97 @@ -5430,7 +5490,7 @@ msgstr "Rond / rectangulaire / oblong" # English: "Set fence start / end" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.setFenceStartEnd" +msgid "editor.toolHint.setFenceStartEnd.1phbwsq" msgstr "Définir le début / la fin de la clôture" # Source-Hash: c93ae898b4d59f6f @@ -5440,7 +5500,7 @@ msgstr "Définir le début / la fin de la clôture" # English: "Set one corner, then the opposite" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.setOneCornerThenTheOpposite" +msgid "editor.toolHint.setOneCornerThenTheOpposite.8tsl49" msgstr "Placez un angle, puis l’angle opposé" # Source-Hash: 4f55171f10c6ceeb @@ -5450,7 +5510,7 @@ msgstr "Placez un angle, puis l’angle opposé" # English: "Set roof footprint" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.setRoofFootprint" +msgid "editor.toolHint.setRoofFootprint.p50n0o" msgstr "Définir l’emprise du toit" # Source-Hash: 0243859b1d64c21e @@ -5460,7 +5520,7 @@ msgstr "Définir l’emprise du toit" # English: "Set wall start / end" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.setWallStartEnd" +msgid "editor.toolHint.setWallStartEnd.1r8ubcx" msgstr "Définir le début / la fin du mur" # Source-Hash: c2806cce9612fa50 @@ -5470,7 +5530,7 @@ msgstr "Définir le début / la fin du mur" # English: "Slope / level" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.slopeLevel" +msgid "editor.toolHint.slopeLevel.ftqp67" msgstr "Pente / à plat" # Source-Hash: 06c0ec40606db679 @@ -5480,7 +5540,7 @@ msgstr "Pente / à plat" # English: "Snap onto the run" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.snapOntoTheRun" +msgid "editor.toolHint.snapOntoTheRun.86yhmp" msgstr "Aimanter sur le tronçon" # Source-Hash: e214cccbac9c4fd2 @@ -5490,7 +5550,7 @@ msgstr "Aimanter sur le tronçon" # English: "Split at the marks" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.splitAtTheMarks" +msgid "editor.toolHint.splitAtTheMarks.x5tpdd" msgstr "Diviser aux repères" # Source-Hash: 94455c35bfeac6b4 @@ -5500,7 +5560,7 @@ msgstr "Diviser aux repères" # English: "Start grid axis" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startGridAxis" +msgid "editor.toolHint.startGridAxis.k92yza" msgstr "Commencer l’axe de trame" # Source-Hash: 2edb4c29bbe7c513 @@ -5510,7 +5570,7 @@ msgstr "Commencer l’axe de trame" # English: "Start lineset" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startLineset" +msgid "editor.toolHint.startLineset.23q8dh" msgstr "Commencer la liaison frigorifique" # Source-Hash: 9e50f1b30e325208 @@ -5520,7 +5580,7 @@ msgstr "Commencer la liaison frigorifique" # English: "Start liquid line" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startLiquidLine" +msgid "editor.toolHint.startLiquidLine.1rlxsgd" msgstr "Commencer la ligne liquide" # Source-Hash: 877ddcb778c211cc @@ -5530,7 +5590,7 @@ msgstr "Commencer la ligne liquide" # English: "Start run" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startRun" +msgid "editor.toolHint.startRun.r6fc5u" msgstr "Commencer le tronçon" # Source-Hash: 8a62bee64174bbc0 @@ -5540,7 +5600,7 @@ msgstr "Commencer le tronçon" # English: "Start segment" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startSegment" +msgid "editor.toolHint.startSegment.rolym6" msgstr "Commencer le segment" # Source-Hash: 6cc5dc51a8e66779 @@ -5550,7 +5610,7 @@ msgstr "Commencer le segment" # English: "Step back or cancel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.stepBackOrCancel" +msgid "editor.toolHint.stepBackOrCancel.zbfdkn" msgstr "Revenir en arrière ou annuler" # Source-Hash: 1a79a485d91f3f28 @@ -5560,7 +5620,7 @@ msgstr "Revenir en arrière ou annuler" # English: "Style" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.style" +msgid "editor.toolHint.style.nf3vcm" msgstr "Style" # Source-Hash: 81f595b1c47c0080 @@ -5570,7 +5630,7 @@ msgstr "Style" # English: "Style: Barn" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleBarn" +msgid "editor.toolHint.styleBarn.k9n1x" msgstr "Style : grange" # Source-Hash: 3a82c718fe215273 @@ -5580,7 +5640,7 @@ msgstr "Style : grange" # English: "Style: Casement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleCasement" +msgid "editor.toolHint.styleCasement.ziklec" msgstr "Style : battant" # Source-Hash: 072e3331d1d105c0 @@ -5590,7 +5650,7 @@ msgstr "Style : battant" # English: "Style: Craftsman" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleCraftsman" +msgid "editor.toolHint.styleCraftsman.52e6a9" msgstr "Style : artisan" # Source-Hash: b64d07557dec1714 @@ -5600,7 +5660,7 @@ msgstr "Style : artisan" # English: "Style: Double-hung" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleDoubleHung" +msgid "editor.toolHint.styleDoubleHung.1lg8pkg" msgstr "Style : guillotine double" # Source-Hash: 55ef8761a537637f @@ -5610,7 +5670,7 @@ msgstr "Style : guillotine double" # English: "Style: French" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleFrench" +msgid "editor.toolHint.styleFrench.1ue3j64" msgstr "Style : à la française" # Source-Hash: bc8a751d87536dc3 @@ -5620,7 +5680,7 @@ msgstr "Style : à la française" # English: "Style: Glass" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleGlass" +msgid "editor.toolHint.styleGlass.qudnb4" msgstr "Style : vitré" # Source-Hash: 40c1eb0bc83e207d @@ -5630,7 +5690,7 @@ msgstr "Style : vitré" # English: "Style: Grid" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleGrid" +msgid "editor.toolHint.styleGrid.1vuq4po" msgstr "Style : petits bois" # Source-Hash: f516886bab2e7f10 @@ -5640,7 +5700,7 @@ msgstr "Style : petits bois" # English: "Style: Half-louvered" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleHalfLouvered" +msgid "editor.toolHint.styleHalfLouvered.13b1few" msgstr "Style : demi-persienne" # Source-Hash: 64e4389a695371a2 @@ -5650,7 +5710,7 @@ msgstr "Style : demi-persienne" # English: "Style: Horizontal bands" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleHorizontalBands" +msgid "editor.toolHint.styleHorizontalBands.12ethxk" msgstr "Style : bandes horizontales" # Source-Hash: ff6d226a425b00c0 @@ -5660,7 +5720,7 @@ msgstr "Style : bandes horizontales" # English: "Style: Modern" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleModern" +msgid "editor.toolHint.styleModern.1fh8hhn" msgstr "Style : moderne" # Source-Hash: c6d17ba078ff47e7 @@ -5670,7 +5730,7 @@ msgstr "Style : moderne" # English: "Style: Panel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.stylePanel" +msgid "editor.toolHint.stylePanel.922jze" msgstr "Style : panneau" # Source-Hash: 5e6baad0d2ce3a62 @@ -5680,7 +5740,7 @@ msgstr "Style : panneau" # English: "Style: Paneled glass" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.stylePaneledGlass" +msgid "editor.toolHint.stylePaneledGlass.17a17en" msgstr "Style : vitré à panneaux" # Source-Hash: 6314388e6832c252 @@ -5690,7 +5750,7 @@ msgstr "Style : vitré à panneaux" # English: "Style: Shaker" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleShaker" +msgid "editor.toolHint.styleShaker.49z17k" msgstr "Style : shaker" # Source-Hash: a0f8e524f3ca121f @@ -5700,7 +5760,7 @@ msgstr "Style : shaker" # English: "Style: Single" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleSingle" +msgid "editor.toolHint.styleSingle.6f3cm0" msgstr "Style : simple" # Source-Hash: 368279df3a472c86 @@ -5710,7 +5770,7 @@ msgstr "Style : simple" # English: "Style: Six-panel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleSixPanel" +msgid "editor.toolHint.styleSixPanel.u49laj" msgstr "Style : six panneaux" # Source-Hash: 8f3c2571d8168fee @@ -5720,7 +5780,7 @@ msgstr "Style : six panneaux" # English: "Style: Sliding" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleSliding" +msgid "editor.toolHint.styleSliding.q81s0i" msgstr "Style : coulissant" # Source-Hash: aa9d9eb137ca38d4 @@ -5730,7 +5790,7 @@ msgstr "Style : coulissant" # English: "Style: Tall grid" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleTallGrid" +msgid "editor.toolHint.styleTallGrid.1eotg3x" msgstr "Style : petits bois hauts" # Source-Hash: bc164648722b63e5 @@ -5740,7 +5800,7 @@ msgstr "Style : petits bois hauts" # English: "Style: Transom" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleTransom" +msgid "editor.toolHint.styleTransom.kb9bh6" msgstr "Style : imposte" # Source-Hash: 9a218f0c9ceb4697 @@ -5750,7 +5810,7 @@ msgstr "Style : imposte" # English: "Style: Triple-hung" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleTripleHung" +msgid "editor.toolHint.styleTripleHung.pxnqi3" msgstr "Style : guillotine triple" # Source-Hash: 9f6df1344bd3d694 @@ -5760,7 +5820,7 @@ msgstr "Style : guillotine triple" # English: "Style: Wide grid" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleWideGrid" +msgid "editor.toolHint.styleWideGrid.12n27et" msgstr "Style : petits bois larges" # Source-Hash: 711d4050c0cb95d7 @@ -5770,7 +5830,7 @@ msgstr "Style : petits bois larges" # English: "Switch rotation axis (Y → X → Z)" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.switchRotationAxisYXZ" +msgid "editor.toolHint.switchRotationAxisYXZ.15lohm6" msgstr "Changer l’axe de rotation (Y → X → Z)" # Source-Hash: d650c71e042c2598 @@ -5780,7 +5840,7 @@ msgstr "Changer l’axe de rotation (Y → X → Z)" # English: "The walls meet at too sharp or too flat an angle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.theWallsMeetAtTooSharp" +msgid "editor.toolHint.theWallsMeetAtTooSharp.kh3wi3" msgstr "Les murs se rejoignent selon un angle trop aigu ou trop plat" # Source-Hash: ab206ac56e65f190 @@ -5790,7 +5850,7 @@ msgstr "Les murs se rejoignent selon un angle trop aigu ou trop plat" # English: "The window waiting there is taller than this wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.theWindowWaitingThereIsTaller" +msgid "editor.toolHint.theWindowWaitingThereIsTaller.1tqwez4" msgstr "La fenêtre prévue à cet endroit est plus haute que ce mur" # Source-Hash: 9c1f47138ed5c7ee @@ -5800,7 +5860,7 @@ msgstr "La fenêtre prévue à cet endroit est plus haute que ce mur" # English: "Three or more walls meet here" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.threeOrMoreWallsMeetHere" +msgid "editor.toolHint.threeOrMoreWallsMeetHere.rgifif" msgstr "Trois murs ou plus se rejoignent ici" # Source-Hash: c3ca56fa28e15f07 @@ -5810,7 +5870,7 @@ msgstr "Trois murs ou plus se rejoignent ici" # English: "Trace ceiling outline" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.traceCeilingOutline" +msgid "editor.toolHint.traceCeilingOutline.1b639wv" msgstr "Tracer le contour du plafond" # Source-Hash: bdf71499d30a29de @@ -5820,7 +5880,7 @@ msgstr "Tracer le contour du plafond" # English: "Trace slab outline" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.traceSlabOutline" +msgid "editor.toolHint.traceSlabOutline.z0j2lc" msgstr "Tracer le contour de la dalle" # Source-Hash: c44f7ab8bbd24858 @@ -5830,7 +5890,7 @@ msgstr "Tracer le contour de la dalle" # English: "Type" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.type" +msgid "editor.toolHint.type.1m2zofh" msgstr "Type" # Source-Hash: b54eaaff3349dcb1 @@ -5840,7 +5900,7 @@ msgstr "Type" # English: "Type: Awning" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeAwning" +msgid "editor.toolHint.typeAwning.1cj59al" msgstr "Type : à l’italienne" # Source-Hash: f399572a27417c66 @@ -5850,7 +5910,7 @@ msgstr "Type : à l’italienne" # English: "Type: Barn" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeBarn" +msgid "editor.toolHint.typeBarn.sbnygq" msgstr "Type : grange" # Source-Hash: a1df9782200b5f1e @@ -5860,7 +5920,7 @@ msgstr "Type : grange" # English: "Type: Bay" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeBay" +msgid "editor.toolHint.typeBay.1200hc1" msgstr "Type : oriel" # Source-Hash: ff069a390e8e3f66 @@ -5870,7 +5930,7 @@ msgstr "Type : oriel" # English: "Type: Bow" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeBow" +msgid "editor.toolHint.typeBow.14s2t9p" msgstr "Type : bow-window" # Source-Hash: bdac5f3f2ea70fff @@ -5880,7 +5940,7 @@ msgstr "Type : bow-window" # English: "Type: Cabinet" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeCabinet" +msgid "editor.toolHint.typeCabinet.1r68je5" msgstr "Type : placard" # Source-Hash: e0754fc03997cbf9 @@ -5890,7 +5950,7 @@ msgstr "Type : placard" # English: "Type: Casement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeCasement" +msgid "editor.toolHint.typeCasement.176uo9j" msgstr "Type : battant" # Source-Hash: 47d873446d6e173b @@ -5900,7 +5960,7 @@ msgstr "Type : battant" # English: "Type: Double" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeDouble" +msgid "editor.toolHint.typeDouble.af7w4i" msgstr "Type : double" # Source-Hash: 5942e484513aaab5 @@ -5910,7 +5970,7 @@ msgstr "Type : double" # English: "Type: Double Hung" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeDoubleHung" +msgid "editor.toolHint.typeDoubleHung.t482fu" msgstr "Type : guillotine double" # Source-Hash: f9497fbfceefda27 @@ -5920,7 +5980,7 @@ msgstr "Type : guillotine double" # English: "Type: Fixed" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeFixed" +msgid "editor.toolHint.typeFixed.v1cjez" msgstr "Type : fixe" # Source-Hash: 0dcf07acc9cbf000 @@ -5930,7 +5990,7 @@ msgstr "Type : fixe" # English: "Type: Folding" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeFolding" +msgid "editor.toolHint.typeFolding.sxxyng" msgstr "Type : pliante" # Source-Hash: bff7331f87f279aa @@ -5940,7 +6000,7 @@ msgstr "Type : pliante" # English: "Type: French" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeFrench" +msgid "editor.toolHint.typeFrench.1y57z1b" msgstr "Type : à la française" # Source-Hash: 9d2c3b82079eb769 @@ -5950,7 +6010,7 @@ msgstr "Type : à la française" # English: "Type: Hinged" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeHinged" +msgid "editor.toolHint.typeHinged.1xrcfju" msgstr "Type : battante" # Source-Hash: b8001b90ff522838 @@ -5960,7 +6020,7 @@ msgstr "Type : battante" # English: "Type: Island" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeIsland" +msgid "editor.toolHint.typeIsland.ufr3ce" msgstr "Type : îlot" # Source-Hash: 516833c5160d412e @@ -5970,7 +6030,7 @@ msgstr "Type : îlot" # English: "Type: Louvered" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeLouvered" +msgid "editor.toolHint.typeLouvered.oxl1cz" msgstr "Type : à persiennes" # Source-Hash: 291272bf848ad6ab @@ -5980,7 +6040,7 @@ msgstr "Type : à persiennes" # English: "Type: Pocket" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typePocket" +msgid "editor.toolHint.typePocket.hc65x9" msgstr "Type : galandage" # Source-Hash: 46d0e53d6ae07c72 @@ -5990,7 +6050,7 @@ msgstr "Type : galandage" # English: "Type: Single Hung" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeSingleHung" +msgid "editor.toolHint.typeSingleHung.p53pyl" msgstr "Type : guillotine simple" # Source-Hash: b11115b50df8faac @@ -6000,7 +6060,7 @@ msgstr "Type : guillotine simple" # English: "Type: Sliding" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeSliding" +msgid "editor.toolHint.typeSliding.nwmr3f" msgstr "Type : coulissante" # Source-Hash: bff0c1694ee0a37e @@ -6010,7 +6070,7 @@ msgstr "Type : coulissante" # English: "Vertical stack ↕, click to place" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.verticalStackClickToPlace" +msgid "editor.toolHint.verticalStackClickToPlace.ijcn4q" msgstr "Colonne verticale ↕, cliquez pour placer" # Source-Hash: bac471ee67af6412 @@ -6020,7 +6080,7 @@ msgstr "Colonne verticale ↕, cliquez pour placer" # English: "Waste / vent" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.wasteVent" +msgid "editor.toolHint.wasteVent.1hvi3vj" msgstr "Évacuation / ventilation" # Source-Hash: 1c744b7e24fc786e @@ -6030,7 +6090,7 @@ msgstr "Évacuation / ventilation" # English: "Window style — click or press L to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.windowStyleClickOrPressL" +msgid "editor.toolHint.windowStyleClickOrPressL.ah7qm9" msgstr "Style de fenêtre — cliquez ou appuyez sur L pour changer" # Source-Hash: dd6f0ab314fea26c @@ -6040,7 +6100,7 @@ msgstr "Style de fenêtre — cliquez ou appuyez sur L pour changer" # English: "Window type — click or press O to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.windowTypeClickOrPressO" +msgid "editor.toolHint.windowTypeClickOrPressO.wv4x35" msgstr "Type de fenêtre — cliquez ou appuyez sur O pour changer" # Source-Hash: 9fc7a39bc32f287a diff --git a/packages/editor/src/i18n/locales/ja/messages.po b/packages/editor/src/i18n/locales/ja/messages.po index 7364245b3b..b57bf2683d 100644 --- a/packages/editor/src/i18n/locales/ja/messages.po +++ b/packages/editor/src/i18n/locales/ja/messages.po @@ -2461,16 +2461,6 @@ msgstr "窓" msgid "editor.actionMenu.structureTools.zone" msgstr "ゾーン" -# Source-Hash: 43af78ba61aaa8ab -# Review: required -# AI-Provider: cursor-agent -# AI-Model: claude-opus -# English: "below" -#: packages/editor/src/components/ui/action-menu/view-toggles.tsx -#, fuzzy -msgid "editor.actionMenu.viewToggles.below" -msgstr "下" - # Source-Hash: cdf3f12939ba108c # Review: required # AI-Provider: cursor-agent @@ -2591,6 +2581,16 @@ msgstr "参照階を非表示" msgid "editor.actionMenu.viewToggles.hideScans" msgstr "3Dスキャンを非表示" +# Source-Hash: 873620c284a5651f +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "{count} below" +#: packages/editor/src/components/ui/action-menu/view-toggles.tsx +#, fuzzy +msgid "editor.actionMenu.viewToggles.levelsBelow" +msgstr "{count} 階下" + # Source-Hash: 22a59ae72d8c9504 # Review: required # AI-Provider: cursor-agent @@ -3133,6 +3133,36 @@ msgstr "連続配置: {label}" msgid "editor.helpers.contextualHelperPanel.dragToDrawFence" msgstr "ドラッグしてフェンスを描く" +# Source-Hash: b52e874718af1916 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Erase: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.eraseScope" +msgstr "消去: {scope}" + +# Source-Hash: 61f7494abc319e66 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Erase scope — click or press Shift to cycle" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.eraseScopeClickOrPressShift" +msgstr "消去の範囲 — クリックまたは Shift で切り替え" + +# Source-Hash: 59993c163d68cc53 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Erase scope: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.eraseScopeLabel" +msgstr "消去の範囲: {scope}" + # Source-Hash: a4bdcbc6cab772bf # Review: required # AI-Provider: cursor-agent @@ -3233,6 +3263,46 @@ msgstr "面にホバーして素材を取得" msgid "editor.helpers.contextualHelperPanel.moreShortcuts" msgstr "その他のショートカット" +# Source-Hash: 476b8f5f9ee542e6 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Paint: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.paintScope" +msgstr "塗装: {scope}" + +# Source-Hash: 9c09ce4c34122277 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Paint scope — click or press Shift to cycle" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.paintScopeClickOrPressShift" +msgstr "塗装の範囲 — クリックまたは Shift で切り替え" + +# Source-Hash: 7890aa81687f6654 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Paint scope: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.paintScopeLabel" +msgstr "塗装の範囲: {scope}" + +# Source-Hash: a75b3abc0784b12b +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Pick: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.pickScope" +msgstr "取得: {scope}" + # Source-Hash: 69c1044e6ea87ccf # Review: required # AI-Provider: cursor-agent @@ -3353,16 +3423,6 @@ msgstr "直線フェンスの連続配置 — クリックまたは C で切り msgid "editor.helpers.contextualHelperPanel.straightSingle" msgstr "直線: 単体" -# Source-Hash: 83e56140165f2535 -# Review: required -# AI-Provider: cursor-agent -# AI-Model: claude-opus -# English: "{verb} scope — click or press Shift to cycle" -#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx -#, fuzzy -msgid "editor.helpers.contextualHelperPanel.verbScopeClickOrPressShift" -msgstr "{verb}の範囲 — クリックまたは Shift で切り替え" - # Source-Hash: 9a56d90d461b4bca # Review: required # AI-Provider: cursor-agent @@ -4280,7 +4340,7 @@ msgstr "エディターのシーンを表示できませんでした" # English: "A curtain wall takes no corner window" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.aCurtainWallTakesNoCorner" +msgid "editor.toolHint.aCurtainWallTakesNoCorner.1qxjv5i" msgstr "カーテンウォールにはコーナー窓を付けられません" # Source-Hash: 97f5e044d46501fb @@ -4290,7 +4350,7 @@ msgstr "カーテンウォールにはコーナー窓を付けられません" # English: "A curved wall takes no corner window" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.aCurvedWallTakesNoCorner" +msgid "editor.toolHint.aCurvedWallTakesNoCorner.1vdnaw5" msgstr "曲面の壁にはコーナー窓を付けられません" # Source-Hash: 776d8ebece7fe1bb @@ -4300,7 +4360,7 @@ msgstr "曲面の壁にはコーナー窓を付けられません" # English: "Add a corner · click the first to close" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.addACornerClickTheFirst" +msgid "editor.toolHint.addACornerClickTheFirst.o4r67t" msgstr "角を追加 · 最初の点をクリックして閉じる" # Source-Hash: 6a0745dd047b149a @@ -4310,7 +4370,7 @@ msgstr "角を追加 · 最初の点をクリックして閉じる" # English: "Another opening is in the way at the corner" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.anotherOpeningIsInTheWay" +msgid "editor.toolHint.anotherOpeningIsInTheWay.11l9dd0" msgstr "角に別の開口があります" # Source-Hash: 441124187e7da2fc @@ -4320,7 +4380,7 @@ msgstr "角に別の開口があります" # English: "Auto hangers" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.autoHangers" +msgid "editor.toolHint.autoHangers.10554ka" msgstr "自動吊り金具" # Source-Hash: 47a7f9a6a81156c3 @@ -4330,7 +4390,7 @@ msgstr "自動吊り金具" # English: "Auto hangers - click or press H to toggle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.autoHangersClickOrPressH" +msgid "editor.toolHint.autoHangersClickOrPressH.rwa3ka" msgstr "自動吊り金具 - クリックまたは H で切り替え" # Source-Hash: d7944f31cba90e26 @@ -4340,7 +4400,7 @@ msgstr "自動吊り金具 - クリックまたは H で切り替え" # English: "Auto hangers: Off" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.autoHangersOff" +msgid "editor.toolHint.autoHangersOff.7yx01x" msgstr "自動吊り金具: オフ" # Source-Hash: 295882d015d08742 @@ -4350,7 +4410,7 @@ msgstr "自動吊り金具: オフ" # English: "Auto hangers: On" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.autoHangersOn" +msgid "editor.toolHint.autoHangersOn.10b1umh" msgstr "自動吊り金具: オン" # Source-Hash: 8c039e5182b01c4d @@ -4360,7 +4420,7 @@ msgstr "自動吊り金具: オン" # English: "Bypass snapping" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.bypassSnapping" +msgid "editor.toolHint.bypassSnapping.w5lmdv" msgstr "スナップを無視" # Source-Hash: c0774c185060fc13 @@ -4370,7 +4430,7 @@ msgstr "スナップを無視" # English: "Cancel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cancel" +msgid "editor.toolHint.cancel.ew9em3" msgstr "キャンセル" # Source-Hash: 5b33b576fd30b74e @@ -4380,7 +4440,7 @@ msgstr "キャンセル" # English: "Cancel move" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cancelMove" +msgid "editor.toolHint.cancelMove.lvp31c" msgstr "移動をキャンセル" # Source-Hash: 136fa29b9ae419bf @@ -4390,7 +4450,7 @@ msgstr "移動をキャンセル" # English: "Cancel run / exit" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cancelRunExit" +msgid "editor.toolHint.cancelRunExit.zqjf3h" msgstr "経路をキャンセル / 終了" # Source-Hash: 75b406824be91ac2 @@ -4400,7 +4460,7 @@ msgstr "経路をキャンセル / 終了" # English: "Cancel start point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cancelStartPoint" +msgid "editor.toolHint.cancelStartPoint.1xbq2lh" msgstr "始点をキャンセル" # Source-Hash: ffa5aaa1746303c4 @@ -4410,7 +4470,7 @@ msgstr "始点をキャンセル" # English: "Corner window" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cornerWindow" +msgid "editor.toolHint.cornerWindow.1avkzpo" msgstr "コーナー窓" # Source-Hash: b0afdd855a02e4a7 @@ -4420,7 +4480,7 @@ msgstr "コーナー窓" # English: "Cuts" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cuts" +msgid "editor.toolHint.cuts.1y0axps" msgstr "分割" # Source-Hash: dc9fe7601cc525f8 @@ -4430,7 +4490,7 @@ msgstr "分割" # English: "Cuts: {value}" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cutsValue" +msgid "editor.toolHint.cutsValue.ouzhvb" msgstr "分割: {value}" # Source-Hash: a2e13bc4dc82624c @@ -4440,7 +4500,7 @@ msgstr "分割: {value}" # English: "Cuts: {value}, even" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cutsValueEven" +msgid "editor.toolHint.cutsValueEven.1ngsz3" msgstr "分割: {value}、等分" # Source-Hash: 04152b4cec726f34 @@ -4450,7 +4510,7 @@ msgstr "分割: {value}、等分" # English: "Cycle mono / gable / butterfly" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cycleMonoGableButterfly" +msgid "editor.toolHint.cycleMonoGableButterfly.1poga3m" msgstr "片流れ / 切妻 / バタフライを切り替え" # Source-Hash: 4fb6c83edb6652b5 @@ -4460,7 +4520,7 @@ msgstr "片流れ / 切妻 / バタフライを切り替え" # English: "Cycle snapping mode" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cycleSnappingMode" +msgid "editor.toolHint.cycleSnappingMode.1ct0gn6" msgstr "スナップモードを切り替え" # Source-Hash: 5d550a3ac76279de @@ -4470,7 +4530,7 @@ msgstr "スナップモードを切り替え" # English: "Door style — click or press L to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.doorStyleClickOrPressL" +msgid "editor.toolHint.doorStyleClickOrPressL.33pe65" msgstr "ドアのスタイル — クリックまたは L で切り替え" # Source-Hash: 3272a7df5d7c6a9a @@ -4480,7 +4540,7 @@ msgstr "ドアのスタイル — クリックまたは L で切り替え" # English: "Door type — click or press O to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.doorTypeClickOrPressO" +msgid "editor.toolHint.doorTypeClickOrPressO.1hhh8gt" msgstr "ドアの種類 — クリックまたは O で切り替え" # Source-Hash: 366222b4435eefda @@ -4490,7 +4550,7 @@ msgstr "ドアの種類 — クリックまたは O で切り替え" # English: "Drop downspout from outlet" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.dropDownspoutFromOutlet" +msgid "editor.toolHint.dropDownspoutFromOutlet.1k4h1m4" msgstr "排水口から竪樋を下ろす" # Source-Hash: 03f306371f345007 @@ -4500,7 +4560,7 @@ msgstr "排水口から竪樋を下ろす" # English: "Duct diameter down / up" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.ductDiameterDownUp" +msgid "editor.toolHint.ductDiameterDownUp.1wdz5vq" msgstr "ダクト径を小さく / 大きく" # Source-Hash: 7b4137e27f8327d9 @@ -4510,7 +4570,7 @@ msgstr "ダクト径を小さく / 大きく" # English: "End run / cancel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.endRunCancel" +msgid "editor.toolHint.endRunCancel.59dh2w" msgstr "経路を終了 / キャンセル" # Source-Hash: 938aacb119b29dc1 @@ -4520,7 +4580,7 @@ msgstr "経路を終了 / キャンセル" # English: "Exit" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.exit" +msgid "editor.toolHint.exit.engmg5" msgstr "終了" # Source-Hash: 7cb4e0688cabcb00 @@ -4530,7 +4590,7 @@ msgstr "終了" # English: "Exit drawing" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.exitDrawing" +msgid "editor.toolHint.exitDrawing.9noxyb" msgstr "描画を終了" # Source-Hash: 47025a103c456125 @@ -4540,7 +4600,7 @@ msgstr "描画を終了" # English: "Finish and continue" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishAndContinue" +msgid "editor.toolHint.finishAndContinue.1gpfsks" msgstr "完了して続ける" # Source-Hash: 000918429b74128f @@ -4550,7 +4610,7 @@ msgstr "完了して続ける" # English: "Finish ceiling" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishCeiling" +msgid "editor.toolHint.finishCeiling.1c1lfel" msgstr "天井を完了" # Source-Hash: 51a80a0dba5a6f30 @@ -4560,7 +4620,7 @@ msgstr "天井を完了" # English: "Finish grid axis" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishGridAxis" +msgid "editor.toolHint.finishGridAxis.1wvrfhr" msgstr "通り芯を完了" # Source-Hash: 87c7b98fc2e010e1 @@ -4570,7 +4630,7 @@ msgstr "通り芯を完了" # English: "Finish measurement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishMeasurement" +msgid "editor.toolHint.finishMeasurement.1e4gv16" msgstr "計測を完了" # Source-Hash: 5e1a0af7dc506826 @@ -4580,7 +4640,7 @@ msgstr "計測を完了" # English: "Finish multi-point witnesses" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishMultiPointWitnesses" +msgid "editor.toolHint.finishMultiPointWitnesses.8wzskz" msgstr "複数点の参照を完了" # Source-Hash: 30fc0862501ba2e8 @@ -4590,7 +4650,7 @@ msgstr "複数点の参照を完了" # English: "Finish slab" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishSlab" +msgid "editor.toolHint.finishSlab.xmnm8e" msgstr "スラブを完了" # Source-Hash: 66ed7c7598d3aa29 @@ -4600,7 +4660,7 @@ msgstr "スラブを完了" # English: "Flip side" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.flipSide" +msgid "editor.toolHint.flipSide.172xku9" msgstr "向きを反転" # Source-Hash: f5717f6a0905ffab @@ -4610,7 +4670,7 @@ msgstr "向きを反転" # English: "Follow: trace a lineset" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.followTraceALineset" +msgid "editor.toolHint.followTraceALineset.mgquwe" msgstr "追従: 冷媒配管に沿って配管" # Source-Hash: ed7f3d8417a3e074 @@ -4620,7 +4680,7 @@ msgstr "追従: 冷媒配管に沿って配管" # English: "Force place" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.forcePlace" +msgid "editor.toolHint.forcePlace.1hq1nr" msgstr "強制配置" # Source-Hash: cc0c14065951444d @@ -4630,7 +4690,7 @@ msgstr "強制配置" # English: "Free placement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.freePlacement" +msgid "editor.toolHint.freePlacement.1nztdac" msgstr "自由配置" # Source-Hash: f098a27096a9c1ea @@ -4640,7 +4700,7 @@ msgstr "自由配置" # English: "Go vertical ↕, click to place" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.goVerticalClickToPlace" +msgid "editor.toolHint.goVerticalClickToPlace.dg8g6m" msgstr "垂直に切り替え ↕、クリックで配置" # Source-Hash: fd47f1820d8799c8 @@ -4650,7 +4710,7 @@ msgstr "垂直に切り替え ↕、クリックで配置" # English: "Highlight outlet" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.highlightOutlet" +msgid "editor.toolHint.highlightOutlet.65hoq8" msgstr "排水口を強調" # Source-Hash: eb90058d0f856f67 @@ -4660,7 +4720,7 @@ msgstr "排水口を強調" # English: "Join as a corner window" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.joinAsACornerWindow" +msgid "editor.toolHint.joinAsACornerWindow.jvdp4j" msgstr "コーナー窓として結合" # Source-Hash: 225b3161f2e59757 @@ -4670,7 +4730,7 @@ msgstr "コーナー窓として結合" # English: "Alt + drag" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.altDrag" +msgid "editor.toolHint.key.altDrag.ai3wn9" msgstr "Alt + ドラッグ" # Source-Hash: dd66f883b173fc72 @@ -4680,7 +4740,7 @@ msgstr "Alt + ドラッグ" # English: "Backspace" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.backspace" +msgid "editor.toolHint.key.backspace.qy6qx8" msgstr "Backspace" # Source-Hash: a18387bc0be54c32 @@ -4690,7 +4750,7 @@ msgstr "Backspace" # English: "Click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.click" +msgid "editor.toolHint.key.click.m8sun" msgstr "クリック" # Source-Hash: db9e60c1d30b8499 @@ -4700,7 +4760,7 @@ msgstr "クリック" # English: "Click again" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.clickAgain" +msgid "editor.toolHint.key.clickAgain.190ws9j" msgstr "もう一度クリック" # Source-Hash: f400330b9c9c12e8 @@ -4710,7 +4770,7 @@ msgstr "もう一度クリック" # English: "Command" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.command" +msgid "editor.toolHint.key.command.1j2mkia" msgstr "Command" # Source-Hash: 976c63285a510b09 @@ -4720,7 +4780,7 @@ msgstr "Command" # English: "Control" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.control" +msgid "editor.toolHint.key.control.10fbl8e" msgstr "Ctrl" # Source-Hash: b26de372b4b0eaac @@ -4730,7 +4790,7 @@ msgstr "Ctrl" # English: "Delete" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.delete" +msgid "editor.toolHint.key.delete.oay2cq" msgstr "削除" # Source-Hash: 88888c9d2719fa92 @@ -4740,7 +4800,7 @@ msgstr "削除" # English: "Double click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.doubleClick" +msgid "editor.toolHint.key.doubleClick.vlma6o" msgstr "ダブルクリック" # Source-Hash: dfb85b2addb7b9fa @@ -4750,7 +4810,7 @@ msgstr "ダブルクリック" # English: "Drag" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.drag" +msgid "editor.toolHint.key.drag.8pwtpf" msgstr "ドラッグ" # Source-Hash: ed9140d42148c99b @@ -4760,7 +4820,7 @@ msgstr "ドラッグ" # English: "Enter" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.enter" +msgid "editor.toolHint.key.enter.1ctpui5" msgstr "Enter" # Source-Hash: 9195fa8b9c8ebdfb @@ -4770,7 +4830,7 @@ msgstr "Enter" # English: "Hover" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.hover" +msgid "editor.toolHint.key.hover.6xw79p" msgstr "ホバー" # Source-Hash: 2d78441b741bc562 @@ -4780,7 +4840,7 @@ msgstr "ホバー" # English: "Hover a duct end" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.hoverADuctEnd" +msgid "editor.toolHint.key.hoverADuctEnd.19axr3b" msgstr "ダクトの端にホバー" # Source-Hash: 6083405086f61c76 @@ -4790,7 +4850,7 @@ msgstr "ダクトの端にホバー" # English: "Hover a pipe end" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.hoverAPipeEnd" +msgid "editor.toolHint.key.hoverAPipeEnd.1jbum5f" msgstr "配管の端にホバー" # Source-Hash: a5a337eb76fdb066 @@ -4800,7 +4860,7 @@ msgstr "配管の端にホバー" # English: "Hover gutter" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.hoverGutter" +msgid "editor.toolHint.key.hoverGutter.1dwcsno" msgstr "雨樋にホバー" # Source-Hash: a58533594411e088 @@ -4810,7 +4870,7 @@ msgstr "雨樋にホバー" # English: "Left click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.leftClick" +msgid "editor.toolHint.key.leftClick.s4gwfc" msgstr "左クリック" # Source-Hash: bc4ab608ec3d3b4f @@ -4820,7 +4880,7 @@ msgstr "左クリック" # English: "Middle click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.middleClick" +msgid "editor.toolHint.key.middleClick.1jbaan4" msgstr "中クリック" # Source-Hash: 6791879c651108c7 @@ -4830,7 +4890,7 @@ msgstr "中クリック" # English: "Right click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.rightClick" +msgid "editor.toolHint.key.rightClick.1ovld0h" msgstr "右クリック" # Source-Hash: c836b21b42198868 @@ -4840,7 +4900,7 @@ msgstr "右クリック" # English: "R / Shift+R" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.rShiftR" +msgid "editor.toolHint.key.rShiftR.13bnobh" msgstr "R / Shift+R" # Source-Hash: 9812aa06d8bb7544 @@ -4850,7 +4910,7 @@ msgstr "R / Shift+R" # English: "Scroll" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.scroll" +msgid "editor.toolHint.key.scroll.ai6wr0" msgstr "スクロール" # Source-Hash: f2174536230657c8 @@ -4860,7 +4920,7 @@ msgstr "スクロール" # English: "Scroll wheel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.scrollWheel" +msgid "editor.toolHint.key.scrollWheel.18j0ix7" msgstr "スクロールホイール" # Source-Hash: 82dd231086d87f3b @@ -4870,7 +4930,7 @@ msgstr "スクロールホイール" # English: "Space" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.space" +msgid "editor.toolHint.key.space.1hrh82t" msgstr "Space" # Source-Hash: 9e68aa2f472cad56 @@ -4880,7 +4940,7 @@ msgstr "Space" # English: "Tab" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.tab" +msgid "editor.toolHint.key.tab.1xsal0s" msgstr "Tab" # Source-Hash: 4b221b73f9496a49 @@ -4890,7 +4950,7 @@ msgstr "Tab" # English: "Mount: floor / ceiling / wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.mountFloorCeilingWall" +msgid "editor.toolHint.mountFloorCeilingWall.32dxpv" msgstr "取付: 床 / 天井 / 壁" # Source-Hash: 225edfb1e45aed95 @@ -4900,7 +4960,7 @@ msgstr "取付: 床 / 天井 / 壁" # English: "No room for the matching window on the other wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.noRoomForTheMatchingWindow" +msgid "editor.toolHint.noRoomForTheMatchingWindow.1755948" msgstr "もう一方の壁に対応する窓を置く余地がありません" # Source-Hash: a7045d6b678bcd13 @@ -4910,7 +4970,7 @@ msgstr "もう一方の壁に対応する窓を置く余地がありません" # English: "No wall meets here" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.noWallMeetsHere" +msgid "editor.toolHint.noWallMeetsHere.19n99yc" msgstr "ここで交わる壁はありません" # Source-Hash: a639341dc21fed2c @@ -4920,7 +4980,7 @@ msgstr "ここで交わる壁はありません" # English: "Number of cuts — scroll or click to change" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.numberOfCutsScrollOrClick" +msgid "editor.toolHint.numberOfCutsScrollOrClick.1kqe84b" msgstr "分割数 — スクロールまたはクリックで変更" # Source-Hash: af01bde3ae4b7e59 @@ -4930,7 +4990,7 @@ msgstr "分割数 — スクロールまたはクリックで変更" # English: "Pick witness point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.pickWitnessPoint" +msgid "editor.toolHint.pickWitnessPoint.k3hgh1" msgstr "参照点を選ぶ" # Source-Hash: ecfd58576b28a9f6 @@ -4940,7 +5000,7 @@ msgstr "参照点を選ぶ" # English: "Pipe size down / up" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.pipeSizeDownUp" +msgid "editor.toolHint.pipeSizeDownUp.wp04og" msgstr "管径を小さく / 大きく" # Source-Hash: 7a1eb7b64f06bad0 @@ -4950,7 +5010,7 @@ msgstr "管径を小さく / 大きく" # English: "Place and continue" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeAndContinue" +msgid "editor.toolHint.placeAndContinue.qfwkrq" msgstr "配置して続ける" # Source-Hash: c6cda39e2e4b5d3a @@ -4960,7 +5020,7 @@ msgstr "配置して続ける" # English: "Place block" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeBlock" +msgid "editor.toolHint.placeBlock.1aylwrx" msgstr "ブロックを配置" # Source-Hash: 45a743c52a1d72de @@ -4970,7 +5030,7 @@ msgstr "ブロックを配置" # English: "Place box vent on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeBoxVentOnRoof" +msgid "editor.toolHint.placeBoxVentOnRoof.kf88e5" msgstr "屋根にボックス換気口を配置" # Source-Hash: 75142dd1d557efe2 @@ -4980,7 +5040,7 @@ msgstr "屋根にボックス換気口を配置" # English: "Place cabinet" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeCabinet" +msgid "editor.toolHint.placeCabinet.b0ouyk" msgstr "キャビネットを配置" # Source-Hash: da603a713d4c9909 @@ -4990,7 +5050,7 @@ msgstr "キャビネットを配置" # English: "Place canopy or set the next run point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeCanopyOrSetTheNext" +msgid "editor.toolHint.placeCanopyOrSetTheNext.12l7zf8" msgstr "キャノピーを配置、または次の点を設定" # Source-Hash: 8b3a30c6b7a5612d @@ -5000,7 +5060,7 @@ msgstr "キャノピーを配置、または次の点を設定" # English: "Place chimney on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeChimneyOnRoof" +msgid "editor.toolHint.placeChimneyOnRoof.19dbqu" msgstr "屋根に煙突を配置" # Source-Hash: 710d41e4e2f259fa @@ -5010,7 +5070,7 @@ msgstr "屋根に煙突を配置" # English: "Place column" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeColumn" +msgid "editor.toolHint.placeColumn.1w2vq86" msgstr "柱を配置" # Source-Hash: ee1da4e12a71d9a9 @@ -5020,7 +5080,7 @@ msgstr "柱を配置" # English: "Place cupola on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeCupolaOnRoof" +msgid "editor.toolHint.placeCupolaOnRoof.ofx3bn" msgstr "屋根にキューポラを配置" # Source-Hash: 19c1fe8c46d213a5 @@ -5030,7 +5090,7 @@ msgstr "屋根にキューポラを配置" # English: "Place dimension line when needed" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeDimensionLineWhenNeeded" +msgid "editor.toolHint.placeDimensionLineWhenNeeded.bjw2cj" msgstr "必要に応じて寸法線を配置" # Source-Hash: 58f3e7efb6ea120b @@ -5040,7 +5100,7 @@ msgstr "必要に応じて寸法線を配置" # English: "Place door on wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeDoorOnWall" +msgid "editor.toolHint.placeDoorOnWall.1jwadf" msgstr "壁にドアを配置" # Source-Hash: de04e9d03d937c97 @@ -5050,7 +5110,7 @@ msgstr "壁にドアを配置" # English: "Place dormer on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeDormerOnRoof" +msgid "editor.toolHint.placeDormerOnRoof.1w518a6" msgstr "屋根にドーマーを配置" # Source-Hash: c581645f2ee447c2 @@ -5060,7 +5120,7 @@ msgstr "屋根にドーマーを配置" # English: "Place elevator" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeElevator" +msgid "editor.toolHint.placeElevator.1f65zva" msgstr "エレベーターを配置" # Source-Hash: 096b8d6482717358 @@ -5070,7 +5130,7 @@ msgstr "エレベーターを配置" # English: "Place eyebrow vent on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeEyebrowVentOnRoof" +msgid "editor.toolHint.placeEyebrowVentOnRoof.1h1tqxn" msgstr "屋根に眉型換気口を配置" # Source-Hash: e8d42c1c8370773f @@ -5080,7 +5140,7 @@ msgstr "屋根に眉型換気口を配置" # English: "Place fitting" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeFitting" +msgid "editor.toolHint.placeFitting.1pmx3vn" msgstr "継手を配置" # Source-Hash: 2340a4b70cb0d9ad @@ -5090,7 +5150,7 @@ msgstr "継手を配置" # English: "Place gutter on roof eave" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeGutterOnRoofEave" +msgid "editor.toolHint.placeGutterOnRoofEave.llwzf9" msgstr "軒に雨樋を配置" # Source-Hash: 706a8eafb6212833 @@ -5100,7 +5160,7 @@ msgstr "軒に雨樋を配置" # English: "Place item" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeItem" +msgid "editor.toolHint.placeItem.teynf" msgstr "アイテムを配置" # Source-Hash: 1815c482e249932e @@ -5110,7 +5170,7 @@ msgstr "アイテムを配置" # English: "Place it (locked to 45°)" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeItLockedTo45" +msgid "editor.toolHint.placeItLockedTo45.16e4csk" msgstr "配置(45°に固定)" # Source-Hash: 4a14340657532838 @@ -5120,7 +5180,7 @@ msgstr "配置(45°に固定)" # English: "Place measurement point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeMeasurementPoint" +msgid "editor.toolHint.placeMeasurementPoint.bsatli" msgstr "計測点を配置" # Source-Hash: b3be684ac62fbf53 @@ -5130,7 +5190,7 @@ msgstr "計測点を配置" # English: "Placement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placement" +msgid "editor.toolHint.placement.13lcvts" msgstr "配置" # Source-Hash: 2bb2ce6276c69b1e @@ -5140,7 +5200,7 @@ msgstr "配置" # English: "Placement: Auto" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementAuto" +msgid "editor.toolHint.placementAuto.1caa52d" msgstr "配置: 自動" # Source-Hash: ed78ac5354a1dcd8 @@ -5150,7 +5210,7 @@ msgstr "配置: 自動" # English: "Placement: Ground" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementGround" +msgid "editor.toolHint.placementGround.1ruz145" msgstr "配置: 地面" # Source-Hash: a066a2c9d5e65a1a @@ -5160,7 +5220,7 @@ msgstr "配置: 地面" # English: "Placement: Roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementRoof" +msgid "editor.toolHint.placementRoof.renkw8" msgstr "配置: 屋根" # Source-Hash: 8f74dbe5064c4c66 @@ -5170,7 +5230,7 @@ msgstr "配置: 屋根" # English: "Placement surface - click or press P to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementSurfaceClickOrPressP" +msgid "editor.toolHint.placementSurfaceClickOrPressP.w56h19" msgstr "配置面 - クリックまたは P で切り替え" # Source-Hash: fe119955c925feaf @@ -5180,7 +5240,7 @@ msgstr "配置面 - クリックまたは P で切り替え" # English: "Placement type" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementType" +msgid "editor.toolHint.placementType.1mdpl60" msgstr "配置の種類" # Source-Hash: 33043a35500168f5 @@ -5190,7 +5250,7 @@ msgstr "配置の種類" # English: "Placement type — click or press I to toggle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementTypeClickOrPressI" +msgid "editor.toolHint.placementTypeClickOrPressI.10cgxh2" msgstr "配置の種類 — クリックまたは I で切り替え" # Source-Hash: 9945f412e6a9a446 @@ -5200,7 +5260,7 @@ msgstr "配置の種類 — クリックまたは I で切り替え" # English: "Place on a fence" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeOnAFence" +msgid "editor.toolHint.placeOnAFence.1dptstr" msgstr "フェンスに配置" # Source-Hash: 6708118775a7da7f @@ -5210,7 +5270,7 @@ msgstr "フェンスに配置" # English: "Place register" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeRegister" +msgid "editor.toolHint.placeRegister.1uebycd" msgstr "吹出口を配置" # Source-Hash: ebd2731f5c79306e @@ -5220,7 +5280,7 @@ msgstr "吹出口を配置" # English: "Place ridge vent on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeRidgeVentOnRoof" +msgid "editor.toolHint.placeRidgeVentOnRoof.2tpd8r" msgstr "屋根に棟換気を配置" # Source-Hash: 9b3c66a867c23326 @@ -5230,7 +5290,7 @@ msgstr "屋根に棟換気を配置" # English: "Place shelf" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeShelf" +msgid "editor.toolHint.placeShelf.y4l3iw" msgstr "棚を配置" # Source-Hash: f11cf5c1c9fe862d @@ -5240,7 +5300,7 @@ msgstr "棚を配置" # English: "Place skylight on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeSkylightOnRoof" +msgid "editor.toolHint.placeSkylightOnRoof.e215pe" msgstr "屋根に天窓を配置" # Source-Hash: e989a58d6709cc16 @@ -5250,7 +5310,7 @@ msgstr "屋根に天窓を配置" # English: "Place solar panel array on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeSolarPanelArrayOnRoof" +msgid "editor.toolHint.placeSolarPanelArrayOnRoof.kk11fn" msgstr "屋根に太陽光パネルを配置" # Source-Hash: b67f7036d5180cf5 @@ -5260,7 +5320,7 @@ msgstr "屋根に太陽光パネルを配置" # English: "Place spawn point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeSpawnPoint" +msgid "editor.toolHint.placeSpawnPoint.205o25" msgstr "スポーン地点を配置" # Source-Hash: 6c7f32a17e5636c3 @@ -5270,7 +5330,7 @@ msgstr "スポーン地点を配置" # English: "Place stairs" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeStairs" +msgid "editor.toolHint.placeStairs.zwxxu2" msgstr "階段を配置" # Source-Hash: 641c0d3debd798a8 @@ -5280,7 +5340,7 @@ msgstr "階段を配置" # English: "Place trap" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeTrap" +msgid "editor.toolHint.placeTrap.1gxemn3" msgstr "トラップを配置" # Source-Hash: 6f0a6f6c4b7588a0 @@ -5290,7 +5350,7 @@ msgstr "トラップを配置" # English: "Place turbine vent on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeTurbineVentOnRoof" +msgid "editor.toolHint.placeTurbineVentOnRoof.1iqeluf" msgstr "屋根にタービン換気扇を配置" # Source-Hash: e65cf5edb4f51ed5 @@ -5300,7 +5360,7 @@ msgstr "屋根にタービン換気扇を配置" # English: "Place unit" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeUnit" +msgid "editor.toolHint.placeUnit.8zkx4q" msgstr "ユニットを配置" # Source-Hash: 86ce1c730154f68b @@ -5310,7 +5370,7 @@ msgstr "ユニットを配置" # English: "Place window on wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeWindowOnWall" +msgid "editor.toolHint.placeWindowOnWall.1k3qnfb" msgstr "壁に窓を配置" # Source-Hash: 2b612180a7617901 @@ -5320,7 +5380,7 @@ msgstr "壁に窓を配置" # English: "Place without the corner snap" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeWithoutTheCornerSnap" +msgid "editor.toolHint.placeWithoutTheCornerSnap.1nifqew" msgstr "角のスナップなしで配置" # Source-Hash: 0dc6d121791696f7 @@ -5330,7 +5390,7 @@ msgstr "角のスナップなしで配置" # English: "Remove last point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.removeLastPoint" +msgid "editor.toolHint.removeLastPoint.2dmdcx" msgstr "最後の点を削除" # Source-Hash: 8b74b1d962be10fc @@ -5340,7 +5400,7 @@ msgstr "最後の点を削除" # English: "Remove last witness" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.removeLastWitness" +msgid "editor.toolHint.removeLastWitness.1b6vvzw" msgstr "最後の参照を削除" # Source-Hash: 306d409f8a1cf480 @@ -5350,7 +5410,7 @@ msgstr "最後の参照を削除" # English: "Rotate" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotate" +msgid "editor.toolHint.rotate.1thqa0a" msgstr "回転" # Source-Hash: 8a665ecaeffa9308 @@ -5360,7 +5420,7 @@ msgstr "回転" # English: "Rotate ±45°" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotate45" +msgid "editor.toolHint.rotate45.9zq68u" msgstr "±45°回転" # Source-Hash: be2240289aa74df5 @@ -5370,7 +5430,7 @@ msgstr "±45°回転" # English: "Rotate ±45° (floor / ceiling)" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotate45FloorCeiling" +msgid "editor.toolHint.rotate45FloorCeiling.m9t57d" msgstr "±45°回転(床 / 天井)" # Source-Hash: d5fb78b07c0f8138 @@ -5380,7 +5440,7 @@ msgstr "±45°回転(床 / 天井)" # English: "Rotate ghost ±15°" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotateGhost15" +msgid "editor.toolHint.rotateGhost15.rsa52c" msgstr "プレビューを±15°回転" # Source-Hash: 912d340cd16e27fa @@ -5390,7 +5450,7 @@ msgstr "プレビューを±15°回転" # English: "Rotate or flip the run side" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotateOrFlipTheRunSide" +msgid "editor.toolHint.rotateOrFlipTheRunSide.t5ior7" msgstr "配置側を回転または反転" # Source-Hash: ad1dc0b5536cceef @@ -5400,7 +5460,7 @@ msgstr "配置側を回転または反転" # English: "Rotate roof direction 90°" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotateRoofDirection90" +msgid "editor.toolHint.rotateRoofDirection90.tvbji2" msgstr "屋根の向きを90°回転" # Source-Hash: fa24651e9e5f595a @@ -5410,7 +5470,7 @@ msgstr "屋根の向きを90°回転" # English: "Rotate spawn point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotateSpawnPoint" +msgid "editor.toolHint.rotateSpawnPoint.1opcuu7" msgstr "スポーン地点を回転" # Source-Hash: 2d693d87fe9b59e6 @@ -5420,7 +5480,7 @@ msgstr "スポーン地点を回転" # English: "Round / rectangular / oval" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.roundRectangularOval" +msgid "editor.toolHint.roundRectangularOval.e4nh6x" msgstr "円形 / 矩形 / 楕円" # Source-Hash: f7d2c9cdcc637c97 @@ -5430,7 +5490,7 @@ msgstr "円形 / 矩形 / 楕円" # English: "Set fence start / end" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.setFenceStartEnd" +msgid "editor.toolHint.setFenceStartEnd.1phbwsq" msgstr "フェンスの始点 / 終点を設定" # Source-Hash: c93ae898b4d59f6f @@ -5440,7 +5500,7 @@ msgstr "フェンスの始点 / 終点を設定" # English: "Set one corner, then the opposite" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.setOneCornerThenTheOpposite" +msgid "editor.toolHint.setOneCornerThenTheOpposite.8tsl49" msgstr "1つの角、次に対角を設定" # Source-Hash: 4f55171f10c6ceeb @@ -5450,7 +5510,7 @@ msgstr "1つの角、次に対角を設定" # English: "Set roof footprint" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.setRoofFootprint" +msgid "editor.toolHint.setRoofFootprint.p50n0o" msgstr "屋根の外形を設定" # Source-Hash: 0243859b1d64c21e @@ -5460,7 +5520,7 @@ msgstr "屋根の外形を設定" # English: "Set wall start / end" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.setWallStartEnd" +msgid "editor.toolHint.setWallStartEnd.1r8ubcx" msgstr "壁の始点 / 終点を設定" # Source-Hash: c2806cce9612fa50 @@ -5470,7 +5530,7 @@ msgstr "壁の始点 / 終点を設定" # English: "Slope / level" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.slopeLevel" +msgid "editor.toolHint.slopeLevel.ftqp67" msgstr "勾配 / 水平" # Source-Hash: 06c0ec40606db679 @@ -5480,7 +5540,7 @@ msgstr "勾配 / 水平" # English: "Snap onto the run" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.snapOntoTheRun" +msgid "editor.toolHint.snapOntoTheRun.86yhmp" msgstr "経路にスナップ" # Source-Hash: e214cccbac9c4fd2 @@ -5490,7 +5550,7 @@ msgstr "経路にスナップ" # English: "Split at the marks" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.splitAtTheMarks" +msgid "editor.toolHint.splitAtTheMarks.x5tpdd" msgstr "マークで分割" # Source-Hash: 94455c35bfeac6b4 @@ -5500,7 +5560,7 @@ msgstr "マークで分割" # English: "Start grid axis" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startGridAxis" +msgid "editor.toolHint.startGridAxis.k92yza" msgstr "通り芯を開始" # Source-Hash: 2edb4c29bbe7c513 @@ -5510,7 +5570,7 @@ msgstr "通り芯を開始" # English: "Start lineset" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startLineset" +msgid "editor.toolHint.startLineset.23q8dh" msgstr "冷媒配管を開始" # Source-Hash: 9e50f1b30e325208 @@ -5520,7 +5580,7 @@ msgstr "冷媒配管を開始" # English: "Start liquid line" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startLiquidLine" +msgid "editor.toolHint.startLiquidLine.1rlxsgd" msgstr "液管を開始" # Source-Hash: 877ddcb778c211cc @@ -5530,7 +5590,7 @@ msgstr "液管を開始" # English: "Start run" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startRun" +msgid "editor.toolHint.startRun.r6fc5u" msgstr "経路を開始" # Source-Hash: 8a62bee64174bbc0 @@ -5540,7 +5600,7 @@ msgstr "経路を開始" # English: "Start segment" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startSegment" +msgid "editor.toolHint.startSegment.rolym6" msgstr "セグメントを開始" # Source-Hash: 6cc5dc51a8e66779 @@ -5550,7 +5610,7 @@ msgstr "セグメントを開始" # English: "Step back or cancel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.stepBackOrCancel" +msgid "editor.toolHint.stepBackOrCancel.zbfdkn" msgstr "1つ戻る、またはキャンセル" # Source-Hash: 1a79a485d91f3f28 @@ -5560,7 +5620,7 @@ msgstr "1つ戻る、またはキャンセル" # English: "Style" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.style" +msgid "editor.toolHint.style.nf3vcm" msgstr "スタイル" # Source-Hash: 81f595b1c47c0080 @@ -5570,7 +5630,7 @@ msgstr "スタイル" # English: "Style: Barn" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleBarn" +msgid "editor.toolHint.styleBarn.k9n1x" msgstr "スタイル: 納屋" # Source-Hash: 3a82c718fe215273 @@ -5580,7 +5640,7 @@ msgstr "スタイル: 納屋" # English: "Style: Casement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleCasement" +msgid "editor.toolHint.styleCasement.ziklec" msgstr "スタイル: 開き" # Source-Hash: 072e3331d1d105c0 @@ -5590,7 +5650,7 @@ msgstr "スタイル: 開き" # English: "Style: Craftsman" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleCraftsman" +msgid "editor.toolHint.styleCraftsman.52e6a9" msgstr "スタイル: クラフツマン" # Source-Hash: b64d07557dec1714 @@ -5600,7 +5660,7 @@ msgstr "スタイル: クラフツマン" # English: "Style: Double-hung" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleDoubleHung" +msgid "editor.toolHint.styleDoubleHung.1lg8pkg" msgstr "スタイル: 上げ下げ(両側)" # Source-Hash: 55ef8761a537637f @@ -5610,7 +5670,7 @@ msgstr "スタイル: 上げ下げ(両側)" # English: "Style: French" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleFrench" +msgid "editor.toolHint.styleFrench.1ue3j64" msgstr "スタイル: フレンチ" # Source-Hash: bc8a751d87536dc3 @@ -5620,7 +5680,7 @@ msgstr "スタイル: フレンチ" # English: "Style: Glass" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleGlass" +msgid "editor.toolHint.styleGlass.qudnb4" msgstr "スタイル: ガラス" # Source-Hash: 40c1eb0bc83e207d @@ -5630,7 +5690,7 @@ msgstr "スタイル: ガラス" # English: "Style: Grid" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleGrid" +msgid "editor.toolHint.styleGrid.1vuq4po" msgstr "スタイル: 格子" # Source-Hash: f516886bab2e7f10 @@ -5640,7 +5700,7 @@ msgstr "スタイル: 格子" # English: "Style: Half-louvered" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleHalfLouvered" +msgid "editor.toolHint.styleHalfLouvered.13b1few" msgstr "スタイル: 半ルーバー" # Source-Hash: 64e4389a695371a2 @@ -5650,7 +5710,7 @@ msgstr "スタイル: 半ルーバー" # English: "Style: Horizontal bands" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleHorizontalBands" +msgid "editor.toolHint.styleHorizontalBands.12ethxk" msgstr "スタイル: 横帯" # Source-Hash: ff6d226a425b00c0 @@ -5660,7 +5720,7 @@ msgstr "スタイル: 横帯" # English: "Style: Modern" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleModern" +msgid "editor.toolHint.styleModern.1fh8hhn" msgstr "スタイル: モダン" # Source-Hash: c6d17ba078ff47e7 @@ -5670,7 +5730,7 @@ msgstr "スタイル: モダン" # English: "Style: Panel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.stylePanel" +msgid "editor.toolHint.stylePanel.922jze" msgstr "スタイル: パネル" # Source-Hash: 5e6baad0d2ce3a62 @@ -5680,7 +5740,7 @@ msgstr "スタイル: パネル" # English: "Style: Paneled glass" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.stylePaneledGlass" +msgid "editor.toolHint.stylePaneledGlass.17a17en" msgstr "スタイル: パネルガラス" # Source-Hash: 6314388e6832c252 @@ -5690,7 +5750,7 @@ msgstr "スタイル: パネルガラス" # English: "Style: Shaker" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleShaker" +msgid "editor.toolHint.styleShaker.49z17k" msgstr "スタイル: シェーカー" # Source-Hash: a0f8e524f3ca121f @@ -5700,7 +5760,7 @@ msgstr "スタイル: シェーカー" # English: "Style: Single" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleSingle" +msgid "editor.toolHint.styleSingle.6f3cm0" msgstr "スタイル: 単体" # Source-Hash: 368279df3a472c86 @@ -5710,7 +5770,7 @@ msgstr "スタイル: 単体" # English: "Style: Six-panel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleSixPanel" +msgid "editor.toolHint.styleSixPanel.u49laj" msgstr "スタイル: 6パネル" # Source-Hash: 8f3c2571d8168fee @@ -5720,7 +5780,7 @@ msgstr "スタイル: 6パネル" # English: "Style: Sliding" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleSliding" +msgid "editor.toolHint.styleSliding.q81s0i" msgstr "スタイル: 引き違い" # Source-Hash: aa9d9eb137ca38d4 @@ -5730,7 +5790,7 @@ msgstr "スタイル: 引き違い" # English: "Style: Tall grid" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleTallGrid" +msgid "editor.toolHint.styleTallGrid.1eotg3x" msgstr "スタイル: 縦長格子" # Source-Hash: bc164648722b63e5 @@ -5740,7 +5800,7 @@ msgstr "スタイル: 縦長格子" # English: "Style: Transom" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleTransom" +msgid "editor.toolHint.styleTransom.kb9bh6" msgstr "スタイル: 欄間" # Source-Hash: 9a218f0c9ceb4697 @@ -5750,7 +5810,7 @@ msgstr "スタイル: 欄間" # English: "Style: Triple-hung" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleTripleHung" +msgid "editor.toolHint.styleTripleHung.pxnqi3" msgstr "スタイル: 3段上げ下げ" # Source-Hash: 9f6df1344bd3d694 @@ -5760,7 +5820,7 @@ msgstr "スタイル: 3段上げ下げ" # English: "Style: Wide grid" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleWideGrid" +msgid "editor.toolHint.styleWideGrid.12n27et" msgstr "スタイル: 横長格子" # Source-Hash: 711d4050c0cb95d7 @@ -5770,7 +5830,7 @@ msgstr "スタイル: 横長格子" # English: "Switch rotation axis (Y → X → Z)" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.switchRotationAxisYXZ" +msgid "editor.toolHint.switchRotationAxisYXZ.15lohm6" msgstr "回転軸を切り替え(Y → X → Z)" # Source-Hash: d650c71e042c2598 @@ -5780,7 +5840,7 @@ msgstr "回転軸を切り替え(Y → X → Z)" # English: "The walls meet at too sharp or too flat an angle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.theWallsMeetAtTooSharp" +msgid "editor.toolHint.theWallsMeetAtTooSharp.kh3wi3" msgstr "壁の交わる角度が鋭すぎるか浅すぎます" # Source-Hash: ab206ac56e65f190 @@ -5790,7 +5850,7 @@ msgstr "壁の交わる角度が鋭すぎるか浅すぎます" # English: "The window waiting there is taller than this wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.theWindowWaitingThereIsTaller" +msgid "editor.toolHint.theWindowWaitingThereIsTaller.1tqwez4" msgstr "そこにある窓はこの壁より高いです" # Source-Hash: 9c1f47138ed5c7ee @@ -5800,7 +5860,7 @@ msgstr "そこにある窓はこの壁より高いです" # English: "Three or more walls meet here" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.threeOrMoreWallsMeetHere" +msgid "editor.toolHint.threeOrMoreWallsMeetHere.rgifif" msgstr "ここで3枚以上の壁が交わります" # Source-Hash: c3ca56fa28e15f07 @@ -5810,7 +5870,7 @@ msgstr "ここで3枚以上の壁が交わります" # English: "Trace ceiling outline" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.traceCeilingOutline" +msgid "editor.toolHint.traceCeilingOutline.1b639wv" msgstr "天井の輪郭をなぞる" # Source-Hash: bdf71499d30a29de @@ -5820,7 +5880,7 @@ msgstr "天井の輪郭をなぞる" # English: "Trace slab outline" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.traceSlabOutline" +msgid "editor.toolHint.traceSlabOutline.z0j2lc" msgstr "スラブの輪郭をなぞる" # Source-Hash: c44f7ab8bbd24858 @@ -5830,7 +5890,7 @@ msgstr "スラブの輪郭をなぞる" # English: "Type" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.type" +msgid "editor.toolHint.type.1m2zofh" msgstr "種類" # Source-Hash: b54eaaff3349dcb1 @@ -5840,7 +5900,7 @@ msgstr "種類" # English: "Type: Awning" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeAwning" +msgid "editor.toolHint.typeAwning.1cj59al" msgstr "種類: 突き出し" # Source-Hash: f399572a27417c66 @@ -5850,7 +5910,7 @@ msgstr "種類: 突き出し" # English: "Type: Barn" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeBarn" +msgid "editor.toolHint.typeBarn.sbnygq" msgstr "種類: 納屋" # Source-Hash: a1df9782200b5f1e @@ -5860,7 +5920,7 @@ msgstr "種類: 納屋" # English: "Type: Bay" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeBay" +msgid "editor.toolHint.typeBay.1200hc1" msgstr "種類: 出窓" # Source-Hash: ff069a390e8e3f66 @@ -5870,7 +5930,7 @@ msgstr "種類: 出窓" # English: "Type: Bow" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeBow" +msgid "editor.toolHint.typeBow.14s2t9p" msgstr "種類: 弓形出窓" # Source-Hash: bdac5f3f2ea70fff @@ -5880,7 +5940,7 @@ msgstr "種類: 弓形出窓" # English: "Type: Cabinet" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeCabinet" +msgid "editor.toolHint.typeCabinet.1r68je5" msgstr "種類: キャビネット" # Source-Hash: e0754fc03997cbf9 @@ -5890,7 +5950,7 @@ msgstr "種類: キャビネット" # English: "Type: Casement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeCasement" +msgid "editor.toolHint.typeCasement.176uo9j" msgstr "種類: 開き" # Source-Hash: 47d873446d6e173b @@ -5900,7 +5960,7 @@ msgstr "種類: 開き" # English: "Type: Double" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeDouble" +msgid "editor.toolHint.typeDouble.af7w4i" msgstr "種類: 両開き" # Source-Hash: 5942e484513aaab5 @@ -5910,7 +5970,7 @@ msgstr "種類: 両開き" # English: "Type: Double Hung" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeDoubleHung" +msgid "editor.toolHint.typeDoubleHung.t482fu" msgstr "種類: 上げ下げ(両側)" # Source-Hash: f9497fbfceefda27 @@ -5920,7 +5980,7 @@ msgstr "種類: 上げ下げ(両側)" # English: "Type: Fixed" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeFixed" +msgid "editor.toolHint.typeFixed.v1cjez" msgstr "種類: はめ殺し" # Source-Hash: 0dcf07acc9cbf000 @@ -5930,7 +5990,7 @@ msgstr "種類: はめ殺し" # English: "Type: Folding" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeFolding" +msgid "editor.toolHint.typeFolding.sxxyng" msgstr "種類: 折れ戸" # Source-Hash: bff7331f87f279aa @@ -5940,7 +6000,7 @@ msgstr "種類: 折れ戸" # English: "Type: French" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeFrench" +msgid "editor.toolHint.typeFrench.1y57z1b" msgstr "種類: フレンチ" # Source-Hash: 9d2c3b82079eb769 @@ -5950,7 +6010,7 @@ msgstr "種類: フレンチ" # English: "Type: Hinged" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeHinged" +msgid "editor.toolHint.typeHinged.1xrcfju" msgstr "種類: 開き戸" # Source-Hash: b8001b90ff522838 @@ -5960,7 +6020,7 @@ msgstr "種類: 開き戸" # English: "Type: Island" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeIsland" +msgid "editor.toolHint.typeIsland.ufr3ce" msgstr "種類: アイランド" # Source-Hash: 516833c5160d412e @@ -5970,7 +6030,7 @@ msgstr "種類: アイランド" # English: "Type: Louvered" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeLouvered" +msgid "editor.toolHint.typeLouvered.oxl1cz" msgstr "種類: ルーバー" # Source-Hash: 291272bf848ad6ab @@ -5980,7 +6040,7 @@ msgstr "種類: ルーバー" # English: "Type: Pocket" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typePocket" +msgid "editor.toolHint.typePocket.hc65x9" msgstr "種類: 引き込み" # Source-Hash: 46d0e53d6ae07c72 @@ -5990,7 +6050,7 @@ msgstr "種類: 引き込み" # English: "Type: Single Hung" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeSingleHung" +msgid "editor.toolHint.typeSingleHung.p53pyl" msgstr "種類: 上げ下げ(片側)" # Source-Hash: b11115b50df8faac @@ -6000,7 +6060,7 @@ msgstr "種類: 上げ下げ(片側)" # English: "Type: Sliding" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeSliding" +msgid "editor.toolHint.typeSliding.nwmr3f" msgstr "種類: 引き戸" # Source-Hash: bff0c1694ee0a37e @@ -6010,7 +6070,7 @@ msgstr "種類: 引き戸" # English: "Vertical stack ↕, click to place" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.verticalStackClickToPlace" +msgid "editor.toolHint.verticalStackClickToPlace.ijcn4q" msgstr "立て管 ↕、クリックで配置" # Source-Hash: bac471ee67af6412 @@ -6020,7 +6080,7 @@ msgstr "立て管 ↕、クリックで配置" # English: "Waste / vent" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.wasteVent" +msgid "editor.toolHint.wasteVent.1hvi3vj" msgstr "排水 / 通気" # Source-Hash: 1c744b7e24fc786e @@ -6030,7 +6090,7 @@ msgstr "排水 / 通気" # English: "Window style — click or press L to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.windowStyleClickOrPressL" +msgid "editor.toolHint.windowStyleClickOrPressL.ah7qm9" msgstr "窓のスタイル — クリックまたは L で切り替え" # Source-Hash: dd6f0ab314fea26c @@ -6040,7 +6100,7 @@ msgstr "窓のスタイル — クリックまたは L で切り替え" # English: "Window type — click or press O to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.windowTypeClickOrPressO" +msgid "editor.toolHint.windowTypeClickOrPressO.wv4x35" msgstr "窓の種類 — クリックまたは O で切り替え" # Source-Hash: 9fc7a39bc32f287a diff --git a/packages/editor/src/i18n/locales/zh-CN/messages.po b/packages/editor/src/i18n/locales/zh-CN/messages.po index cded9d9b70..7ab68353c7 100644 --- a/packages/editor/src/i18n/locales/zh-CN/messages.po +++ b/packages/editor/src/i18n/locales/zh-CN/messages.po @@ -2461,16 +2461,6 @@ msgstr "窗" msgid "editor.actionMenu.structureTools.zone" msgstr "区域" -# Source-Hash: 43af78ba61aaa8ab -# Review: required -# AI-Provider: cursor-agent -# AI-Model: claude-opus -# English: "below" -#: packages/editor/src/components/ui/action-menu/view-toggles.tsx -#, fuzzy -msgid "editor.actionMenu.viewToggles.below" -msgstr "下方" - # Source-Hash: cdf3f12939ba108c # Review: required # AI-Provider: cursor-agent @@ -2591,6 +2581,16 @@ msgstr "隐藏参考楼层" msgid "editor.actionMenu.viewToggles.hideScans" msgstr "隐藏扫描模型" +# Source-Hash: 873620c284a5651f +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "{count} below" +#: packages/editor/src/components/ui/action-menu/view-toggles.tsx +#, fuzzy +msgid "editor.actionMenu.viewToggles.levelsBelow" +msgstr "下方 {count} 层" + # Source-Hash: 22a59ae72d8c9504 # Review: required # AI-Provider: cursor-agent @@ -3133,6 +3133,36 @@ msgstr "连续放置:{label}" msgid "editor.helpers.contextualHelperPanel.dragToDrawFence" msgstr "拖动绘制围栏" +# Source-Hash: b52e874718af1916 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Erase: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.eraseScope" +msgstr "擦除:{scope}" + +# Source-Hash: 61f7494abc319e66 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Erase scope — click or press Shift to cycle" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.eraseScopeClickOrPressShift" +msgstr "擦除范围 — 点击或按 Shift 切换" + +# Source-Hash: 59993c163d68cc53 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Erase scope: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.eraseScopeLabel" +msgstr "擦除范围:{scope}" + # Source-Hash: a4bdcbc6cab772bf # Review: required # AI-Provider: cursor-agent @@ -3233,6 +3263,46 @@ msgstr "悬停在表面上以拾取其材质" msgid "editor.helpers.contextualHelperPanel.moreShortcuts" msgstr "更多快捷键" +# Source-Hash: 476b8f5f9ee542e6 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Paint: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.paintScope" +msgstr "涂装:{scope}" + +# Source-Hash: 9c09ce4c34122277 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Paint scope — click or press Shift to cycle" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.paintScopeClickOrPressShift" +msgstr "涂装范围 — 点击或按 Shift 切换" + +# Source-Hash: 7890aa81687f6654 +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Paint scope: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.paintScopeLabel" +msgstr "涂装范围:{scope}" + +# Source-Hash: a75b3abc0784b12b +# Review: required +# AI-Provider: cursor-agent +# AI-Model: claude-opus +# English: "Pick: {scope}" +#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx +#, fuzzy +msgid "editor.helpers.contextualHelperPanel.pickScope" +msgstr "拾取:{scope}" + # Source-Hash: 69c1044e6ea87ccf # Review: required # AI-Provider: cursor-agent @@ -3353,16 +3423,6 @@ msgstr "直线围栏连续 — 点击或按 C 切换" msgid "editor.helpers.contextualHelperPanel.straightSingle" msgstr "直线:单段" -# Source-Hash: 83e56140165f2535 -# Review: required -# AI-Provider: cursor-agent -# AI-Model: claude-opus -# English: "{verb} scope — click or press Shift to cycle" -#: packages/editor/src/components/ui/helpers/contextual-helper-panel.tsx -#, fuzzy -msgid "editor.helpers.contextualHelperPanel.verbScopeClickOrPressShift" -msgstr "{verb}范围 — 点击或按 Shift 切换" - # Source-Hash: 9a56d90d461b4bca # Review: required # AI-Provider: cursor-agent @@ -4280,7 +4340,7 @@ msgstr "编辑器场景渲染失败" # English: "A curtain wall takes no corner window" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.aCurtainWallTakesNoCorner" +msgid "editor.toolHint.aCurtainWallTakesNoCorner.1qxjv5i" msgstr "幕墙不能设置转角窗" # Source-Hash: 97f5e044d46501fb @@ -4290,7 +4350,7 @@ msgstr "幕墙不能设置转角窗" # English: "A curved wall takes no corner window" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.aCurvedWallTakesNoCorner" +msgid "editor.toolHint.aCurvedWallTakesNoCorner.1vdnaw5" msgstr "曲面墙体不能设置转角窗" # Source-Hash: 776d8ebece7fe1bb @@ -4300,7 +4360,7 @@ msgstr "曲面墙体不能设置转角窗" # English: "Add a corner · click the first to close" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.addACornerClickTheFirst" +msgid "editor.toolHint.addACornerClickTheFirst.o4r67t" msgstr "添加转角 · 点击第一个点闭合" # Source-Hash: 6a0745dd047b149a @@ -4310,7 +4370,7 @@ msgstr "添加转角 · 点击第一个点闭合" # English: "Another opening is in the way at the corner" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.anotherOpeningIsInTheWay" +msgid "editor.toolHint.anotherOpeningIsInTheWay.11l9dd0" msgstr "转角处有另一个开口阻挡" # Source-Hash: 441124187e7da2fc @@ -4320,7 +4380,7 @@ msgstr "转角处有另一个开口阻挡" # English: "Auto hangers" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.autoHangers" +msgid "editor.toolHint.autoHangers.10554ka" msgstr "自动吊架" # Source-Hash: 47a7f9a6a81156c3 @@ -4330,7 +4390,7 @@ msgstr "自动吊架" # English: "Auto hangers - click or press H to toggle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.autoHangersClickOrPressH" +msgid "editor.toolHint.autoHangersClickOrPressH.rwa3ka" msgstr "自动吊架 - 点击或按 H 切换" # Source-Hash: d7944f31cba90e26 @@ -4340,7 +4400,7 @@ msgstr "自动吊架 - 点击或按 H 切换" # English: "Auto hangers: Off" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.autoHangersOff" +msgid "editor.toolHint.autoHangersOff.7yx01x" msgstr "自动吊架:关" # Source-Hash: 295882d015d08742 @@ -4350,7 +4410,7 @@ msgstr "自动吊架:关" # English: "Auto hangers: On" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.autoHangersOn" +msgid "editor.toolHint.autoHangersOn.10b1umh" msgstr "自动吊架:开" # Source-Hash: 8c039e5182b01c4d @@ -4360,7 +4420,7 @@ msgstr "自动吊架:开" # English: "Bypass snapping" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.bypassSnapping" +msgid "editor.toolHint.bypassSnapping.w5lmdv" msgstr "绕过吸附" # Source-Hash: c0774c185060fc13 @@ -4370,7 +4430,7 @@ msgstr "绕过吸附" # English: "Cancel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cancel" +msgid "editor.toolHint.cancel.ew9em3" msgstr "取消" # Source-Hash: 5b33b576fd30b74e @@ -4380,7 +4440,7 @@ msgstr "取消" # English: "Cancel move" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cancelMove" +msgid "editor.toolHint.cancelMove.lvp31c" msgstr "取消移动" # Source-Hash: 136fa29b9ae419bf @@ -4390,7 +4450,7 @@ msgstr "取消移动" # English: "Cancel run / exit" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cancelRunExit" +msgid "editor.toolHint.cancelRunExit.zqjf3h" msgstr "取消管段 / 退出" # Source-Hash: 75b406824be91ac2 @@ -4400,7 +4460,7 @@ msgstr "取消管段 / 退出" # English: "Cancel start point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cancelStartPoint" +msgid "editor.toolHint.cancelStartPoint.1xbq2lh" msgstr "取消起点" # Source-Hash: ffa5aaa1746303c4 @@ -4410,7 +4470,7 @@ msgstr "取消起点" # English: "Corner window" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cornerWindow" +msgid "editor.toolHint.cornerWindow.1avkzpo" msgstr "转角窗" # Source-Hash: b0afdd855a02e4a7 @@ -4420,7 +4480,7 @@ msgstr "转角窗" # English: "Cuts" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cuts" +msgid "editor.toolHint.cuts.1y0axps" msgstr "切分" # Source-Hash: dc9fe7601cc525f8 @@ -4430,7 +4490,7 @@ msgstr "切分" # English: "Cuts: {value}" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cutsValue" +msgid "editor.toolHint.cutsValue.ouzhvb" msgstr "切分:{value}" # Source-Hash: a2e13bc4dc82624c @@ -4440,7 +4500,7 @@ msgstr "切分:{value}" # English: "Cuts: {value}, even" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cutsValueEven" +msgid "editor.toolHint.cutsValueEven.1ngsz3" msgstr "切分:{value},均分" # Source-Hash: 04152b4cec726f34 @@ -4450,7 +4510,7 @@ msgstr "切分:{value},均分" # English: "Cycle mono / gable / butterfly" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cycleMonoGableButterfly" +msgid "editor.toolHint.cycleMonoGableButterfly.1poga3m" msgstr "切换单坡 / 双坡 / 蝶形" # Source-Hash: 4fb6c83edb6652b5 @@ -4460,7 +4520,7 @@ msgstr "切换单坡 / 双坡 / 蝶形" # English: "Cycle snapping mode" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.cycleSnappingMode" +msgid "editor.toolHint.cycleSnappingMode.1ct0gn6" msgstr "切换吸附模式" # Source-Hash: 5d550a3ac76279de @@ -4470,7 +4530,7 @@ msgstr "切换吸附模式" # English: "Door style — click or press L to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.doorStyleClickOrPressL" +msgid "editor.toolHint.doorStyleClickOrPressL.33pe65" msgstr "门样式 — 点击或按 L 切换" # Source-Hash: 3272a7df5d7c6a9a @@ -4480,7 +4540,7 @@ msgstr "门样式 — 点击或按 L 切换" # English: "Door type — click or press O to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.doorTypeClickOrPressO" +msgid "editor.toolHint.doorTypeClickOrPressO.1hhh8gt" msgstr "门类型 — 点击或按 O 切换" # Source-Hash: 366222b4435eefda @@ -4490,7 +4550,7 @@ msgstr "门类型 — 点击或按 O 切换" # English: "Drop downspout from outlet" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.dropDownspoutFromOutlet" +msgid "editor.toolHint.dropDownspoutFromOutlet.1k4h1m4" msgstr "从出水口引出落水管" # Source-Hash: 03f306371f345007 @@ -4500,7 +4560,7 @@ msgstr "从出水口引出落水管" # English: "Duct diameter down / up" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.ductDiameterDownUp" +msgid "editor.toolHint.ductDiameterDownUp.1wdz5vq" msgstr "风管直径减小 / 增大" # Source-Hash: 7b4137e27f8327d9 @@ -4510,7 +4570,7 @@ msgstr "风管直径减小 / 增大" # English: "End run / cancel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.endRunCancel" +msgid "editor.toolHint.endRunCancel.59dh2w" msgstr "结束管段 / 取消" # Source-Hash: 938aacb119b29dc1 @@ -4520,7 +4580,7 @@ msgstr "结束管段 / 取消" # English: "Exit" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.exit" +msgid "editor.toolHint.exit.engmg5" msgstr "退出" # Source-Hash: 7cb4e0688cabcb00 @@ -4530,7 +4590,7 @@ msgstr "退出" # English: "Exit drawing" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.exitDrawing" +msgid "editor.toolHint.exitDrawing.9noxyb" msgstr "退出绘制" # Source-Hash: 47025a103c456125 @@ -4540,7 +4600,7 @@ msgstr "退出绘制" # English: "Finish and continue" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishAndContinue" +msgid "editor.toolHint.finishAndContinue.1gpfsks" msgstr "完成并继续" # Source-Hash: 000918429b74128f @@ -4550,7 +4610,7 @@ msgstr "完成并继续" # English: "Finish ceiling" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishCeiling" +msgid "editor.toolHint.finishCeiling.1c1lfel" msgstr "完成天花板" # Source-Hash: 51a80a0dba5a6f30 @@ -4560,7 +4620,7 @@ msgstr "完成天花板" # English: "Finish grid axis" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishGridAxis" +msgid "editor.toolHint.finishGridAxis.1wvrfhr" msgstr "完成轴线" # Source-Hash: 87c7b98fc2e010e1 @@ -4570,7 +4630,7 @@ msgstr "完成轴线" # English: "Finish measurement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishMeasurement" +msgid "editor.toolHint.finishMeasurement.1e4gv16" msgstr "完成测量" # Source-Hash: 5e1a0af7dc506826 @@ -4580,7 +4640,7 @@ msgstr "完成测量" # English: "Finish multi-point witnesses" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishMultiPointWitnesses" +msgid "editor.toolHint.finishMultiPointWitnesses.8wzskz" msgstr "完成多点参照" # Source-Hash: 30fc0862501ba2e8 @@ -4590,7 +4650,7 @@ msgstr "完成多点参照" # English: "Finish slab" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.finishSlab" +msgid "editor.toolHint.finishSlab.xmnm8e" msgstr "完成楼板" # Source-Hash: 66ed7c7598d3aa29 @@ -4600,7 +4660,7 @@ msgstr "完成楼板" # English: "Flip side" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.flipSide" +msgid "editor.toolHint.flipSide.172xku9" msgstr "翻转方向" # Source-Hash: f5717f6a0905ffab @@ -4610,7 +4670,7 @@ msgstr "翻转方向" # English: "Follow: trace a lineset" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.followTraceALineset" +msgid "editor.toolHint.followTraceALineset.mgquwe" msgstr "跟随:沿冷媒管组布线" # Source-Hash: ed7f3d8417a3e074 @@ -4620,7 +4680,7 @@ msgstr "跟随:沿冷媒管组布线" # English: "Force place" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.forcePlace" +msgid "editor.toolHint.forcePlace.1hq1nr" msgstr "强制放置" # Source-Hash: cc0c14065951444d @@ -4630,7 +4690,7 @@ msgstr "强制放置" # English: "Free placement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.freePlacement" +msgid "editor.toolHint.freePlacement.1nztdac" msgstr "自由放置" # Source-Hash: f098a27096a9c1ea @@ -4640,7 +4700,7 @@ msgstr "自由放置" # English: "Go vertical ↕, click to place" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.goVerticalClickToPlace" +msgid "editor.toolHint.goVerticalClickToPlace.dg8g6m" msgstr "切换为竖向 ↕,点击放置" # Source-Hash: fd47f1820d8799c8 @@ -4650,7 +4710,7 @@ msgstr "切换为竖向 ↕,点击放置" # English: "Highlight outlet" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.highlightOutlet" +msgid "editor.toolHint.highlightOutlet.65hoq8" msgstr "高亮出水口" # Source-Hash: eb90058d0f856f67 @@ -4660,7 +4720,7 @@ msgstr "高亮出水口" # English: "Join as a corner window" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.joinAsACornerWindow" +msgid "editor.toolHint.joinAsACornerWindow.jvdp4j" msgstr "连接为转角窗" # Source-Hash: 225b3161f2e59757 @@ -4670,7 +4730,7 @@ msgstr "连接为转角窗" # English: "Alt + drag" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.altDrag" +msgid "editor.toolHint.key.altDrag.ai3wn9" msgstr "Alt + 拖动" # Source-Hash: dd66f883b173fc72 @@ -4680,7 +4740,7 @@ msgstr "Alt + 拖动" # English: "Backspace" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.backspace" +msgid "editor.toolHint.key.backspace.qy6qx8" msgstr "退格键" # Source-Hash: a18387bc0be54c32 @@ -4690,7 +4750,7 @@ msgstr "退格键" # English: "Click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.click" +msgid "editor.toolHint.key.click.m8sun" msgstr "点击" # Source-Hash: db9e60c1d30b8499 @@ -4700,7 +4760,7 @@ msgstr "点击" # English: "Click again" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.clickAgain" +msgid "editor.toolHint.key.clickAgain.190ws9j" msgstr "再次点击" # Source-Hash: f400330b9c9c12e8 @@ -4710,7 +4770,7 @@ msgstr "再次点击" # English: "Command" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.command" +msgid "editor.toolHint.key.command.1j2mkia" msgstr "Command" # Source-Hash: 976c63285a510b09 @@ -4720,7 +4780,7 @@ msgstr "Command" # English: "Control" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.control" +msgid "editor.toolHint.key.control.10fbl8e" msgstr "Ctrl" # Source-Hash: b26de372b4b0eaac @@ -4730,7 +4790,7 @@ msgstr "Ctrl" # English: "Delete" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.delete" +msgid "editor.toolHint.key.delete.oay2cq" msgstr "删除" # Source-Hash: 88888c9d2719fa92 @@ -4740,7 +4800,7 @@ msgstr "删除" # English: "Double click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.doubleClick" +msgid "editor.toolHint.key.doubleClick.vlma6o" msgstr "双击" # Source-Hash: dfb85b2addb7b9fa @@ -4750,7 +4810,7 @@ msgstr "双击" # English: "Drag" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.drag" +msgid "editor.toolHint.key.drag.8pwtpf" msgstr "拖动" # Source-Hash: ed9140d42148c99b @@ -4760,7 +4820,7 @@ msgstr "拖动" # English: "Enter" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.enter" +msgid "editor.toolHint.key.enter.1ctpui5" msgstr "回车键" # Source-Hash: 9195fa8b9c8ebdfb @@ -4770,7 +4830,7 @@ msgstr "回车键" # English: "Hover" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.hover" +msgid "editor.toolHint.key.hover.6xw79p" msgstr "悬停" # Source-Hash: 2d78441b741bc562 @@ -4780,7 +4840,7 @@ msgstr "悬停" # English: "Hover a duct end" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.hoverADuctEnd" +msgid "editor.toolHint.key.hoverADuctEnd.19axr3b" msgstr "悬停在风管端部" # Source-Hash: 6083405086f61c76 @@ -4790,7 +4850,7 @@ msgstr "悬停在风管端部" # English: "Hover a pipe end" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.hoverAPipeEnd" +msgid "editor.toolHint.key.hoverAPipeEnd.1jbum5f" msgstr "悬停在管道端部" # Source-Hash: a5a337eb76fdb066 @@ -4800,7 +4860,7 @@ msgstr "悬停在管道端部" # English: "Hover gutter" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.hoverGutter" +msgid "editor.toolHint.key.hoverGutter.1dwcsno" msgstr "悬停在檐沟上" # Source-Hash: a58533594411e088 @@ -4810,7 +4870,7 @@ msgstr "悬停在檐沟上" # English: "Left click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.leftClick" +msgid "editor.toolHint.key.leftClick.s4gwfc" msgstr "左键单击" # Source-Hash: bc4ab608ec3d3b4f @@ -4820,7 +4880,7 @@ msgstr "左键单击" # English: "Middle click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.middleClick" +msgid "editor.toolHint.key.middleClick.1jbaan4" msgstr "中键单击" # Source-Hash: 6791879c651108c7 @@ -4830,7 +4890,7 @@ msgstr "中键单击" # English: "Right click" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.rightClick" +msgid "editor.toolHint.key.rightClick.1ovld0h" msgstr "右键单击" # Source-Hash: c836b21b42198868 @@ -4840,7 +4900,7 @@ msgstr "右键单击" # English: "R / Shift+R" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.rShiftR" +msgid "editor.toolHint.key.rShiftR.13bnobh" msgstr "R / Shift+R" # Source-Hash: 9812aa06d8bb7544 @@ -4850,7 +4910,7 @@ msgstr "R / Shift+R" # English: "Scroll" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.scroll" +msgid "editor.toolHint.key.scroll.ai6wr0" msgstr "滚动" # Source-Hash: f2174536230657c8 @@ -4860,7 +4920,7 @@ msgstr "滚动" # English: "Scroll wheel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.scrollWheel" +msgid "editor.toolHint.key.scrollWheel.18j0ix7" msgstr "滚轮" # Source-Hash: 82dd231086d87f3b @@ -4870,7 +4930,7 @@ msgstr "滚轮" # English: "Space" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.space" +msgid "editor.toolHint.key.space.1hrh82t" msgstr "空格键" # Source-Hash: 9e68aa2f472cad56 @@ -4880,7 +4940,7 @@ msgstr "空格键" # English: "Tab" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.key.tab" +msgid "editor.toolHint.key.tab.1xsal0s" msgstr "Tab 键" # Source-Hash: 4b221b73f9496a49 @@ -4890,7 +4950,7 @@ msgstr "Tab 键" # English: "Mount: floor / ceiling / wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.mountFloorCeilingWall" +msgid "editor.toolHint.mountFloorCeilingWall.32dxpv" msgstr "安装位置:地面 / 天花板 / 墙体" # Source-Hash: 225edfb1e45aed95 @@ -4900,7 +4960,7 @@ msgstr "安装位置:地面 / 天花板 / 墙体" # English: "No room for the matching window on the other wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.noRoomForTheMatchingWindow" +msgid "editor.toolHint.noRoomForTheMatchingWindow.1755948" msgstr "另一面墙上没有空间放置对应的窗" # Source-Hash: a7045d6b678bcd13 @@ -4910,7 +4970,7 @@ msgstr "另一面墙上没有空间放置对应的窗" # English: "No wall meets here" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.noWallMeetsHere" +msgid "editor.toolHint.noWallMeetsHere.19n99yc" msgstr "此处没有相交的墙体" # Source-Hash: a639341dc21fed2c @@ -4920,7 +4980,7 @@ msgstr "此处没有相交的墙体" # English: "Number of cuts — scroll or click to change" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.numberOfCutsScrollOrClick" +msgid "editor.toolHint.numberOfCutsScrollOrClick.1kqe84b" msgstr "切分数量 — 滚动或点击更改" # Source-Hash: af01bde3ae4b7e59 @@ -4930,7 +4990,7 @@ msgstr "切分数量 — 滚动或点击更改" # English: "Pick witness point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.pickWitnessPoint" +msgid "editor.toolHint.pickWitnessPoint.k3hgh1" msgstr "拾取参照点" # Source-Hash: ecfd58576b28a9f6 @@ -4940,7 +5000,7 @@ msgstr "拾取参照点" # English: "Pipe size down / up" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.pipeSizeDownUp" +msgid "editor.toolHint.pipeSizeDownUp.wp04og" msgstr "管径减小 / 增大" # Source-Hash: 7a1eb7b64f06bad0 @@ -4950,7 +5010,7 @@ msgstr "管径减小 / 增大" # English: "Place and continue" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeAndContinue" +msgid "editor.toolHint.placeAndContinue.qfwkrq" msgstr "放置并继续" # Source-Hash: c6cda39e2e4b5d3a @@ -4960,7 +5020,7 @@ msgstr "放置并继续" # English: "Place block" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeBlock" +msgid "editor.toolHint.placeBlock.1aylwrx" msgstr "放置体块" # Source-Hash: 45a743c52a1d72de @@ -4970,7 +5030,7 @@ msgstr "放置体块" # English: "Place box vent on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeBoxVentOnRoof" +msgid "editor.toolHint.placeBoxVentOnRoof.kf88e5" msgstr "在屋顶上放置箱式通风口" # Source-Hash: 75142dd1d557efe2 @@ -4980,7 +5040,7 @@ msgstr "在屋顶上放置箱式通风口" # English: "Place cabinet" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeCabinet" +msgid "editor.toolHint.placeCabinet.b0ouyk" msgstr "放置橱柜" # Source-Hash: da603a713d4c9909 @@ -4990,7 +5050,7 @@ msgstr "放置橱柜" # English: "Place canopy or set the next run point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeCanopyOrSetTheNext" +msgid "editor.toolHint.placeCanopyOrSetTheNext.12l7zf8" msgstr "放置雨棚或设置下一个连续点" # Source-Hash: 8b3a30c6b7a5612d @@ -5000,7 +5060,7 @@ msgstr "放置雨棚或设置下一个连续点" # English: "Place chimney on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeChimneyOnRoof" +msgid "editor.toolHint.placeChimneyOnRoof.19dbqu" msgstr "在屋顶上放置烟囱" # Source-Hash: 710d41e4e2f259fa @@ -5010,7 +5070,7 @@ msgstr "在屋顶上放置烟囱" # English: "Place column" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeColumn" +msgid "editor.toolHint.placeColumn.1w2vq86" msgstr "放置柱" # Source-Hash: ee1da4e12a71d9a9 @@ -5020,7 +5080,7 @@ msgstr "放置柱" # English: "Place cupola on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeCupolaOnRoof" +msgid "editor.toolHint.placeCupolaOnRoof.ofx3bn" msgstr "在屋顶上放置穹顶亭" # Source-Hash: 19c1fe8c46d213a5 @@ -5030,7 +5090,7 @@ msgstr "在屋顶上放置穹顶亭" # English: "Place dimension line when needed" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeDimensionLineWhenNeeded" +msgid "editor.toolHint.placeDimensionLineWhenNeeded.bjw2cj" msgstr "需要时放置尺寸线" # Source-Hash: 58f3e7efb6ea120b @@ -5040,7 +5100,7 @@ msgstr "需要时放置尺寸线" # English: "Place door on wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeDoorOnWall" +msgid "editor.toolHint.placeDoorOnWall.1jwadf" msgstr "在墙体上放置门" # Source-Hash: de04e9d03d937c97 @@ -5050,7 +5110,7 @@ msgstr "在墙体上放置门" # English: "Place dormer on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeDormerOnRoof" +msgid "editor.toolHint.placeDormerOnRoof.1w518a6" msgstr "在屋顶上放置老虎窗" # Source-Hash: c581645f2ee447c2 @@ -5060,7 +5120,7 @@ msgstr "在屋顶上放置老虎窗" # English: "Place elevator" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeElevator" +msgid "editor.toolHint.placeElevator.1f65zva" msgstr "放置电梯" # Source-Hash: 096b8d6482717358 @@ -5070,7 +5130,7 @@ msgstr "放置电梯" # English: "Place eyebrow vent on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeEyebrowVentOnRoof" +msgid "editor.toolHint.placeEyebrowVentOnRoof.1h1tqxn" msgstr "在屋顶上放置眉形通风口" # Source-Hash: e8d42c1c8370773f @@ -5080,7 +5140,7 @@ msgstr "在屋顶上放置眉形通风口" # English: "Place fitting" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeFitting" +msgid "editor.toolHint.placeFitting.1pmx3vn" msgstr "放置管件" # Source-Hash: 2340a4b70cb0d9ad @@ -5090,7 +5150,7 @@ msgstr "放置管件" # English: "Place gutter on roof eave" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeGutterOnRoofEave" +msgid "editor.toolHint.placeGutterOnRoofEave.llwzf9" msgstr "在屋檐上放置檐沟" # Source-Hash: 706a8eafb6212833 @@ -5100,7 +5160,7 @@ msgstr "在屋檐上放置檐沟" # English: "Place item" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeItem" +msgid "editor.toolHint.placeItem.teynf" msgstr "放置物品" # Source-Hash: 1815c482e249932e @@ -5110,7 +5170,7 @@ msgstr "放置物品" # English: "Place it (locked to 45°)" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeItLockedTo45" +msgid "editor.toolHint.placeItLockedTo45.16e4csk" msgstr "放置(锁定为 45°)" # Source-Hash: 4a14340657532838 @@ -5120,7 +5180,7 @@ msgstr "放置(锁定为 45°)" # English: "Place measurement point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeMeasurementPoint" +msgid "editor.toolHint.placeMeasurementPoint.bsatli" msgstr "放置测量点" # Source-Hash: b3be684ac62fbf53 @@ -5130,7 +5190,7 @@ msgstr "放置测量点" # English: "Placement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placement" +msgid "editor.toolHint.placement.13lcvts" msgstr "放置" # Source-Hash: 2bb2ce6276c69b1e @@ -5140,7 +5200,7 @@ msgstr "放置" # English: "Placement: Auto" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementAuto" +msgid "editor.toolHint.placementAuto.1caa52d" msgstr "放置:自动" # Source-Hash: ed78ac5354a1dcd8 @@ -5150,7 +5210,7 @@ msgstr "放置:自动" # English: "Placement: Ground" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementGround" +msgid "editor.toolHint.placementGround.1ruz145" msgstr "放置:地面" # Source-Hash: a066a2c9d5e65a1a @@ -5160,7 +5220,7 @@ msgstr "放置:地面" # English: "Placement: Roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementRoof" +msgid "editor.toolHint.placementRoof.renkw8" msgstr "放置:屋顶" # Source-Hash: 8f74dbe5064c4c66 @@ -5170,7 +5230,7 @@ msgstr "放置:屋顶" # English: "Placement surface - click or press P to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementSurfaceClickOrPressP" +msgid "editor.toolHint.placementSurfaceClickOrPressP.w56h19" msgstr "放置面 - 点击或按 P 切换" # Source-Hash: fe119955c925feaf @@ -5180,7 +5240,7 @@ msgstr "放置面 - 点击或按 P 切换" # English: "Placement type" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementType" +msgid "editor.toolHint.placementType.1mdpl60" msgstr "放置类型" # Source-Hash: 33043a35500168f5 @@ -5190,7 +5250,7 @@ msgstr "放置类型" # English: "Placement type — click or press I to toggle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placementTypeClickOrPressI" +msgid "editor.toolHint.placementTypeClickOrPressI.10cgxh2" msgstr "放置类型 — 点击或按 I 切换" # Source-Hash: 9945f412e6a9a446 @@ -5200,7 +5260,7 @@ msgstr "放置类型 — 点击或按 I 切换" # English: "Place on a fence" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeOnAFence" +msgid "editor.toolHint.placeOnAFence.1dptstr" msgstr "放置在围栏上" # Source-Hash: 6708118775a7da7f @@ -5210,7 +5270,7 @@ msgstr "放置在围栏上" # English: "Place register" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeRegister" +msgid "editor.toolHint.placeRegister.1uebycd" msgstr "放置风口" # Source-Hash: ebd2731f5c79306e @@ -5220,7 +5280,7 @@ msgstr "放置风口" # English: "Place ridge vent on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeRidgeVentOnRoof" +msgid "editor.toolHint.placeRidgeVentOnRoof.2tpd8r" msgstr "在屋顶上放置屋脊通风口" # Source-Hash: 9b3c66a867c23326 @@ -5230,7 +5290,7 @@ msgstr "在屋顶上放置屋脊通风口" # English: "Place shelf" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeShelf" +msgid "editor.toolHint.placeShelf.y4l3iw" msgstr "放置置物架" # Source-Hash: f11cf5c1c9fe862d @@ -5240,7 +5300,7 @@ msgstr "放置置物架" # English: "Place skylight on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeSkylightOnRoof" +msgid "editor.toolHint.placeSkylightOnRoof.e215pe" msgstr "在屋顶上放置天窗" # Source-Hash: e989a58d6709cc16 @@ -5250,7 +5310,7 @@ msgstr "在屋顶上放置天窗" # English: "Place solar panel array on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeSolarPanelArrayOnRoof" +msgid "editor.toolHint.placeSolarPanelArrayOnRoof.kk11fn" msgstr "在屋顶上放置光伏板阵列" # Source-Hash: b67f7036d5180cf5 @@ -5260,7 +5320,7 @@ msgstr "在屋顶上放置光伏板阵列" # English: "Place spawn point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeSpawnPoint" +msgid "editor.toolHint.placeSpawnPoint.205o25" msgstr "放置出生点" # Source-Hash: 6c7f32a17e5636c3 @@ -5270,7 +5330,7 @@ msgstr "放置出生点" # English: "Place stairs" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeStairs" +msgid "editor.toolHint.placeStairs.zwxxu2" msgstr "放置楼梯" # Source-Hash: 641c0d3debd798a8 @@ -5280,7 +5340,7 @@ msgstr "放置楼梯" # English: "Place trap" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeTrap" +msgid "editor.toolHint.placeTrap.1gxemn3" msgstr "放置存水弯" # Source-Hash: 6f0a6f6c4b7588a0 @@ -5290,7 +5350,7 @@ msgstr "放置存水弯" # English: "Place turbine vent on roof" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeTurbineVentOnRoof" +msgid "editor.toolHint.placeTurbineVentOnRoof.1iqeluf" msgstr "在屋顶上放置涡轮通风器" # Source-Hash: e65cf5edb4f51ed5 @@ -5300,7 +5360,7 @@ msgstr "在屋顶上放置涡轮通风器" # English: "Place unit" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeUnit" +msgid "editor.toolHint.placeUnit.8zkx4q" msgstr "放置设备" # Source-Hash: 86ce1c730154f68b @@ -5310,7 +5370,7 @@ msgstr "放置设备" # English: "Place window on wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeWindowOnWall" +msgid "editor.toolHint.placeWindowOnWall.1k3qnfb" msgstr "在墙体上放置窗" # Source-Hash: 2b612180a7617901 @@ -5320,7 +5380,7 @@ msgstr "在墙体上放置窗" # English: "Place without the corner snap" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.placeWithoutTheCornerSnap" +msgid "editor.toolHint.placeWithoutTheCornerSnap.1nifqew" msgstr "不使用转角吸附放置" # Source-Hash: 0dc6d121791696f7 @@ -5330,7 +5390,7 @@ msgstr "不使用转角吸附放置" # English: "Remove last point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.removeLastPoint" +msgid "editor.toolHint.removeLastPoint.2dmdcx" msgstr "移除最后一个点" # Source-Hash: 8b74b1d962be10fc @@ -5340,7 +5400,7 @@ msgstr "移除最后一个点" # English: "Remove last witness" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.removeLastWitness" +msgid "editor.toolHint.removeLastWitness.1b6vvzw" msgstr "移除最后一个参照" # Source-Hash: 306d409f8a1cf480 @@ -5350,7 +5410,7 @@ msgstr "移除最后一个参照" # English: "Rotate" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotate" +msgid "editor.toolHint.rotate.1thqa0a" msgstr "旋转" # Source-Hash: 8a665ecaeffa9308 @@ -5360,7 +5420,7 @@ msgstr "旋转" # English: "Rotate ±45°" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotate45" +msgid "editor.toolHint.rotate45.9zq68u" msgstr "旋转 ±45°" # Source-Hash: be2240289aa74df5 @@ -5370,7 +5430,7 @@ msgstr "旋转 ±45°" # English: "Rotate ±45° (floor / ceiling)" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotate45FloorCeiling" +msgid "editor.toolHint.rotate45FloorCeiling.m9t57d" msgstr "旋转 ±45°(地面 / 天花板)" # Source-Hash: d5fb78b07c0f8138 @@ -5380,7 +5440,7 @@ msgstr "旋转 ±45°(地面 / 天花板)" # English: "Rotate ghost ±15°" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotateGhost15" +msgid "editor.toolHint.rotateGhost15.rsa52c" msgstr "旋转预览 ±15°" # Source-Hash: 912d340cd16e27fa @@ -5390,7 +5450,7 @@ msgstr "旋转预览 ±15°" # English: "Rotate or flip the run side" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotateOrFlipTheRunSide" +msgid "editor.toolHint.rotateOrFlipTheRunSide.t5ior7" msgstr "旋转或翻转排布方向" # Source-Hash: ad1dc0b5536cceef @@ -5400,7 +5460,7 @@ msgstr "旋转或翻转排布方向" # English: "Rotate roof direction 90°" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotateRoofDirection90" +msgid "editor.toolHint.rotateRoofDirection90.tvbji2" msgstr "将屋顶方向旋转 90°" # Source-Hash: fa24651e9e5f595a @@ -5410,7 +5470,7 @@ msgstr "将屋顶方向旋转 90°" # English: "Rotate spawn point" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.rotateSpawnPoint" +msgid "editor.toolHint.rotateSpawnPoint.1opcuu7" msgstr "旋转出生点" # Source-Hash: 2d693d87fe9b59e6 @@ -5420,7 +5480,7 @@ msgstr "旋转出生点" # English: "Round / rectangular / oval" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.roundRectangularOval" +msgid "editor.toolHint.roundRectangularOval.e4nh6x" msgstr "圆形 / 矩形 / 椭圆" # Source-Hash: f7d2c9cdcc637c97 @@ -5430,7 +5490,7 @@ msgstr "圆形 / 矩形 / 椭圆" # English: "Set fence start / end" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.setFenceStartEnd" +msgid "editor.toolHint.setFenceStartEnd.1phbwsq" msgstr "设置围栏起点 / 终点" # Source-Hash: c93ae898b4d59f6f @@ -5440,7 +5500,7 @@ msgstr "设置围栏起点 / 终点" # English: "Set one corner, then the opposite" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.setOneCornerThenTheOpposite" +msgid "editor.toolHint.setOneCornerThenTheOpposite.8tsl49" msgstr "设置一个角,再设置对角" # Source-Hash: 4f55171f10c6ceeb @@ -5450,7 +5510,7 @@ msgstr "设置一个角,再设置对角" # English: "Set roof footprint" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.setRoofFootprint" +msgid "editor.toolHint.setRoofFootprint.p50n0o" msgstr "设置屋顶轮廓" # Source-Hash: 0243859b1d64c21e @@ -5460,7 +5520,7 @@ msgstr "设置屋顶轮廓" # English: "Set wall start / end" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.setWallStartEnd" +msgid "editor.toolHint.setWallStartEnd.1r8ubcx" msgstr "设置墙体起点 / 终点" # Source-Hash: c2806cce9612fa50 @@ -5470,7 +5530,7 @@ msgstr "设置墙体起点 / 终点" # English: "Slope / level" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.slopeLevel" +msgid "editor.toolHint.slopeLevel.ftqp67" msgstr "坡度 / 水平" # Source-Hash: 06c0ec40606db679 @@ -5480,7 +5540,7 @@ msgstr "坡度 / 水平" # English: "Snap onto the run" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.snapOntoTheRun" +msgid "editor.toolHint.snapOntoTheRun.86yhmp" msgstr "吸附到管段上" # Source-Hash: e214cccbac9c4fd2 @@ -5490,7 +5550,7 @@ msgstr "吸附到管段上" # English: "Split at the marks" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.splitAtTheMarks" +msgid "editor.toolHint.splitAtTheMarks.x5tpdd" msgstr "在标记处分割" # Source-Hash: 94455c35bfeac6b4 @@ -5500,7 +5560,7 @@ msgstr "在标记处分割" # English: "Start grid axis" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startGridAxis" +msgid "editor.toolHint.startGridAxis.k92yza" msgstr "开始轴线" # Source-Hash: 2edb4c29bbe7c513 @@ -5510,7 +5570,7 @@ msgstr "开始轴线" # English: "Start lineset" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startLineset" +msgid "editor.toolHint.startLineset.23q8dh" msgstr "开始冷媒管组" # Source-Hash: 9e50f1b30e325208 @@ -5520,7 +5580,7 @@ msgstr "开始冷媒管组" # English: "Start liquid line" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startLiquidLine" +msgid "editor.toolHint.startLiquidLine.1rlxsgd" msgstr "开始液管" # Source-Hash: 877ddcb778c211cc @@ -5530,7 +5590,7 @@ msgstr "开始液管" # English: "Start run" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startRun" +msgid "editor.toolHint.startRun.r6fc5u" msgstr "开始管段" # Source-Hash: 8a62bee64174bbc0 @@ -5540,7 +5600,7 @@ msgstr "开始管段" # English: "Start segment" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.startSegment" +msgid "editor.toolHint.startSegment.rolym6" msgstr "开始分段" # Source-Hash: 6cc5dc51a8e66779 @@ -5550,7 +5610,7 @@ msgstr "开始分段" # English: "Step back or cancel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.stepBackOrCancel" +msgid "editor.toolHint.stepBackOrCancel.zbfdkn" msgstr "后退一步或取消" # Source-Hash: 1a79a485d91f3f28 @@ -5560,7 +5620,7 @@ msgstr "后退一步或取消" # English: "Style" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.style" +msgid "editor.toolHint.style.nf3vcm" msgstr "样式" # Source-Hash: 81f595b1c47c0080 @@ -5570,7 +5630,7 @@ msgstr "样式" # English: "Style: Barn" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleBarn" +msgid "editor.toolHint.styleBarn.k9n1x" msgstr "样式:谷仓门" # Source-Hash: 3a82c718fe215273 @@ -5580,7 +5640,7 @@ msgstr "样式:谷仓门" # English: "Style: Casement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleCasement" +msgid "editor.toolHint.styleCasement.ziklec" msgstr "样式:平开" # Source-Hash: 072e3331d1d105c0 @@ -5590,7 +5650,7 @@ msgstr "样式:平开" # English: "Style: Craftsman" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleCraftsman" +msgid "editor.toolHint.styleCraftsman.52e6a9" msgstr "样式:工匠" # Source-Hash: b64d07557dec1714 @@ -5600,7 +5660,7 @@ msgstr "样式:工匠" # English: "Style: Double-hung" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleDoubleHung" +msgid "editor.toolHint.styleDoubleHung.1lg8pkg" msgstr "样式:双悬" # Source-Hash: 55ef8761a537637f @@ -5610,7 +5670,7 @@ msgstr "样式:双悬" # English: "Style: French" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleFrench" +msgid "editor.toolHint.styleFrench.1ue3j64" msgstr "样式:法式" # Source-Hash: bc8a751d87536dc3 @@ -5620,7 +5680,7 @@ msgstr "样式:法式" # English: "Style: Glass" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleGlass" +msgid "editor.toolHint.styleGlass.qudnb4" msgstr "样式:玻璃" # Source-Hash: 40c1eb0bc83e207d @@ -5630,7 +5690,7 @@ msgstr "样式:玻璃" # English: "Style: Grid" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleGrid" +msgid "editor.toolHint.styleGrid.1vuq4po" msgstr "样式:格栅" # Source-Hash: f516886bab2e7f10 @@ -5640,7 +5700,7 @@ msgstr "样式:格栅" # English: "Style: Half-louvered" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleHalfLouvered" +msgid "editor.toolHint.styleHalfLouvered.13b1few" msgstr "样式:半百叶" # Source-Hash: 64e4389a695371a2 @@ -5650,7 +5710,7 @@ msgstr "样式:半百叶" # English: "Style: Horizontal bands" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleHorizontalBands" +msgid "editor.toolHint.styleHorizontalBands.12ethxk" msgstr "样式:横向条纹" # Source-Hash: ff6d226a425b00c0 @@ -5660,7 +5720,7 @@ msgstr "样式:横向条纹" # English: "Style: Modern" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleModern" +msgid "editor.toolHint.styleModern.1fh8hhn" msgstr "样式:现代" # Source-Hash: c6d17ba078ff47e7 @@ -5670,7 +5730,7 @@ msgstr "样式:现代" # English: "Style: Panel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.stylePanel" +msgid "editor.toolHint.stylePanel.922jze" msgstr "样式:镶板" # Source-Hash: 5e6baad0d2ce3a62 @@ -5680,7 +5740,7 @@ msgstr "样式:镶板" # English: "Style: Paneled glass" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.stylePaneledGlass" +msgid "editor.toolHint.stylePaneledGlass.17a17en" msgstr "样式:镶板玻璃" # Source-Hash: 6314388e6832c252 @@ -5690,7 +5750,7 @@ msgstr "样式:镶板玻璃" # English: "Style: Shaker" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleShaker" +msgid "editor.toolHint.styleShaker.49z17k" msgstr "样式:震颤派" # Source-Hash: a0f8e524f3ca121f @@ -5700,7 +5760,7 @@ msgstr "样式:震颤派" # English: "Style: Single" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleSingle" +msgid "editor.toolHint.styleSingle.6f3cm0" msgstr "样式:单扇" # Source-Hash: 368279df3a472c86 @@ -5710,7 +5770,7 @@ msgstr "样式:单扇" # English: "Style: Six-panel" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleSixPanel" +msgid "editor.toolHint.styleSixPanel.u49laj" msgstr "样式:六镶板" # Source-Hash: 8f3c2571d8168fee @@ -5720,7 +5780,7 @@ msgstr "样式:六镶板" # English: "Style: Sliding" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleSliding" +msgid "editor.toolHint.styleSliding.q81s0i" msgstr "样式:推拉" # Source-Hash: aa9d9eb137ca38d4 @@ -5730,7 +5790,7 @@ msgstr "样式:推拉" # English: "Style: Tall grid" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleTallGrid" +msgid "editor.toolHint.styleTallGrid.1eotg3x" msgstr "样式:高格栅" # Source-Hash: bc164648722b63e5 @@ -5740,7 +5800,7 @@ msgstr "样式:高格栅" # English: "Style: Transom" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleTransom" +msgid "editor.toolHint.styleTransom.kb9bh6" msgstr "样式:带亮子" # Source-Hash: 9a218f0c9ceb4697 @@ -5750,7 +5810,7 @@ msgstr "样式:带亮子" # English: "Style: Triple-hung" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleTripleHung" +msgid "editor.toolHint.styleTripleHung.pxnqi3" msgstr "样式:三悬" # Source-Hash: 9f6df1344bd3d694 @@ -5760,7 +5820,7 @@ msgstr "样式:三悬" # English: "Style: Wide grid" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.styleWideGrid" +msgid "editor.toolHint.styleWideGrid.12n27et" msgstr "样式:宽格栅" # Source-Hash: 711d4050c0cb95d7 @@ -5770,7 +5830,7 @@ msgstr "样式:宽格栅" # English: "Switch rotation axis (Y → X → Z)" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.switchRotationAxisYXZ" +msgid "editor.toolHint.switchRotationAxisYXZ.15lohm6" msgstr "切换旋转轴(Y → X → Z)" # Source-Hash: d650c71e042c2598 @@ -5780,7 +5840,7 @@ msgstr "切换旋转轴(Y → X → Z)" # English: "The walls meet at too sharp or too flat an angle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.theWallsMeetAtTooSharp" +msgid "editor.toolHint.theWallsMeetAtTooSharp.kh3wi3" msgstr "墙体相交的角度过尖或过平" # Source-Hash: ab206ac56e65f190 @@ -5790,7 +5850,7 @@ msgstr "墙体相交的角度过尖或过平" # English: "The window waiting there is taller than this wall" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.theWindowWaitingThereIsTaller" +msgid "editor.toolHint.theWindowWaitingThereIsTaller.1tqwez4" msgstr "该处待放置的窗比这面墙体更高" # Source-Hash: 9c1f47138ed5c7ee @@ -5800,7 +5860,7 @@ msgstr "该处待放置的窗比这面墙体更高" # English: "Three or more walls meet here" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.threeOrMoreWallsMeetHere" +msgid "editor.toolHint.threeOrMoreWallsMeetHere.rgifif" msgstr "此处有三面或更多墙体相交" # Source-Hash: c3ca56fa28e15f07 @@ -5810,7 +5870,7 @@ msgstr "此处有三面或更多墙体相交" # English: "Trace ceiling outline" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.traceCeilingOutline" +msgid "editor.toolHint.traceCeilingOutline.1b639wv" msgstr "描绘天花板轮廓" # Source-Hash: bdf71499d30a29de @@ -5820,7 +5880,7 @@ msgstr "描绘天花板轮廓" # English: "Trace slab outline" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.traceSlabOutline" +msgid "editor.toolHint.traceSlabOutline.z0j2lc" msgstr "描绘楼板轮廓" # Source-Hash: c44f7ab8bbd24858 @@ -5830,7 +5890,7 @@ msgstr "描绘楼板轮廓" # English: "Type" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.type" +msgid "editor.toolHint.type.1m2zofh" msgstr "类型" # Source-Hash: b54eaaff3349dcb1 @@ -5840,7 +5900,7 @@ msgstr "类型" # English: "Type: Awning" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeAwning" +msgid "editor.toolHint.typeAwning.1cj59al" msgstr "类型:上悬" # Source-Hash: f399572a27417c66 @@ -5850,7 +5910,7 @@ msgstr "类型:上悬" # English: "Type: Barn" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeBarn" +msgid "editor.toolHint.typeBarn.sbnygq" msgstr "类型:谷仓门" # Source-Hash: a1df9782200b5f1e @@ -5860,7 +5920,7 @@ msgstr "类型:谷仓门" # English: "Type: Bay" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeBay" +msgid "editor.toolHint.typeBay.1200hc1" msgstr "类型:凸窗" # Source-Hash: ff069a390e8e3f66 @@ -5870,7 +5930,7 @@ msgstr "类型:凸窗" # English: "Type: Bow" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeBow" +msgid "editor.toolHint.typeBow.14s2t9p" msgstr "类型:弧形凸窗" # Source-Hash: bdac5f3f2ea70fff @@ -5880,7 +5940,7 @@ msgstr "类型:弧形凸窗" # English: "Type: Cabinet" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeCabinet" +msgid "editor.toolHint.typeCabinet.1r68je5" msgstr "类型:柜门" # Source-Hash: e0754fc03997cbf9 @@ -5890,7 +5950,7 @@ msgstr "类型:柜门" # English: "Type: Casement" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeCasement" +msgid "editor.toolHint.typeCasement.176uo9j" msgstr "类型:平开" # Source-Hash: 47d873446d6e173b @@ -5900,7 +5960,7 @@ msgstr "类型:平开" # English: "Type: Double" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeDouble" +msgid "editor.toolHint.typeDouble.af7w4i" msgstr "类型:双扇" # Source-Hash: 5942e484513aaab5 @@ -5910,7 +5970,7 @@ msgstr "类型:双扇" # English: "Type: Double Hung" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeDoubleHung" +msgid "editor.toolHint.typeDoubleHung.t482fu" msgstr "类型:双悬" # Source-Hash: f9497fbfceefda27 @@ -5920,7 +5980,7 @@ msgstr "类型:双悬" # English: "Type: Fixed" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeFixed" +msgid "editor.toolHint.typeFixed.v1cjez" msgstr "类型:固定" # Source-Hash: 0dcf07acc9cbf000 @@ -5930,7 +5990,7 @@ msgstr "类型:固定" # English: "Type: Folding" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeFolding" +msgid "editor.toolHint.typeFolding.sxxyng" msgstr "类型:折叠" # Source-Hash: bff7331f87f279aa @@ -5940,7 +6000,7 @@ msgstr "类型:折叠" # English: "Type: French" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeFrench" +msgid "editor.toolHint.typeFrench.1y57z1b" msgstr "类型:法式" # Source-Hash: 9d2c3b82079eb769 @@ -5950,7 +6010,7 @@ msgstr "类型:法式" # English: "Type: Hinged" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeHinged" +msgid "editor.toolHint.typeHinged.1xrcfju" msgstr "类型:铰链" # Source-Hash: b8001b90ff522838 @@ -5960,7 +6020,7 @@ msgstr "类型:铰链" # English: "Type: Island" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeIsland" +msgid "editor.toolHint.typeIsland.ufr3ce" msgstr "类型:岛台" # Source-Hash: 516833c5160d412e @@ -5970,7 +6030,7 @@ msgstr "类型:岛台" # English: "Type: Louvered" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeLouvered" +msgid "editor.toolHint.typeLouvered.oxl1cz" msgstr "类型:百叶" # Source-Hash: 291272bf848ad6ab @@ -5980,7 +6040,7 @@ msgstr "类型:百叶" # English: "Type: Pocket" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typePocket" +msgid "editor.toolHint.typePocket.hc65x9" msgstr "类型:内嵌推拉" # Source-Hash: 46d0e53d6ae07c72 @@ -5990,7 +6050,7 @@ msgstr "类型:内嵌推拉" # English: "Type: Single Hung" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeSingleHung" +msgid "editor.toolHint.typeSingleHung.p53pyl" msgstr "类型:单悬" # Source-Hash: b11115b50df8faac @@ -6000,7 +6060,7 @@ msgstr "类型:单悬" # English: "Type: Sliding" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.typeSliding" +msgid "editor.toolHint.typeSliding.nwmr3f" msgstr "类型:推拉" # Source-Hash: bff0c1694ee0a37e @@ -6010,7 +6070,7 @@ msgstr "类型:推拉" # English: "Vertical stack ↕, click to place" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.verticalStackClickToPlace" +msgid "editor.toolHint.verticalStackClickToPlace.ijcn4q" msgstr "竖向立管 ↕,点击放置" # Source-Hash: bac471ee67af6412 @@ -6020,7 +6080,7 @@ msgstr "竖向立管 ↕,点击放置" # English: "Waste / vent" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.wasteVent" +msgid "editor.toolHint.wasteVent.1hvi3vj" msgstr "污水 / 通气" # Source-Hash: 1c744b7e24fc786e @@ -6030,7 +6090,7 @@ msgstr "污水 / 通气" # English: "Window style — click or press L to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.windowStyleClickOrPressL" +msgid "editor.toolHint.windowStyleClickOrPressL.ah7qm9" msgstr "窗样式 — 点击或按 L 切换" # Source-Hash: dd6f0ab314fea26c @@ -6040,7 +6100,7 @@ msgstr "窗样式 — 点击或按 L 切换" # English: "Window type — click or press O to cycle" #: packages/nodes/src/i18n/definition-messages.ts #, fuzzy -msgid "editor.toolHint.windowTypeClickOrPressO" +msgid "editor.toolHint.windowTypeClickOrPressO.wv4x35" msgstr "窗类型 — 点击或按 O 切换" # Source-Hash: 9fc7a39bc32f287a diff --git a/packages/editor/src/i18n/node-messages.ts b/packages/editor/src/i18n/node-messages.ts index f1c35d6979..9652de72a5 100644 --- a/packages/editor/src/i18n/node-messages.ts +++ b/packages/editor/src/i18n/node-messages.ts @@ -46,8 +46,22 @@ export function nodeDescriptionDescriptor(kind: string, english: string): Messag return { id: `node.${nodeKindKey(kind)}.description`, message: literal(english) } } +/** + * Short FNV-1a hash of the whole message. Hint IDs end with it, so two hints + * whose first six words agree (a plugin's and a built-in's) never share an ID + * and so never share a translation. + */ +function messageHash(message: string): string { + let hash = 0x811c9dc5 + for (let index = 0; index < message.length; index += 1) { + hash ^= message.charCodeAt(index) + hash = Math.imul(hash, 0x01000193) + } + return (hash >>> 0).toString(36) +} + function hintMessage(message: string): MessageDescriptor { - return { id: `editor.toolHint.${messageSlug(message)}`, message } + return { id: `editor.toolHint.${messageSlug(message)}.${messageHash(message)}`, message } } export function toolHintDescriptor(english: string): MessageDescriptor { @@ -102,7 +116,8 @@ export function toolHintKeyDescriptor(key: string): MessageDescriptor | undefine if (!/\p{L}{2}/u.test(key) || /^(?:Alt|Ctrl|Cmd|Esc|Shift)$/.test(key)) { return undefined } - return { id: `editor.toolHint.key.${messageSlug(key)}`, message: literal(key) } + const message = literal(key) + return { id: `editor.toolHint.key.${messageSlug(key)}.${messageHash(message)}`, message } } export function nodeLabel(kind: string, english: string, i18n: PascalI18n): string { diff --git a/packages/nodes/src/i18n/definition-messages.ts b/packages/nodes/src/i18n/definition-messages.ts index 7384bcb706..b0109693aa 100644 --- a/packages/nodes/src/i18n/definition-messages.ts +++ b/packages/nodes/src/i18n/definition-messages.ts @@ -3,183 +3,183 @@ // (packages/editor/src/i18n/node-messages.ts); these descriptors exist so Lingui // extracts and translates those IDs. export const definitionMessages = [ - /* i18n */ { id: "editor.toolHint.aCurtainWallTakesNoCorner", message: "A curtain wall takes no corner window" }, - /* i18n */ { id: "editor.toolHint.aCurvedWallTakesNoCorner", message: "A curved wall takes no corner window" }, - /* i18n */ { id: "editor.toolHint.addACornerClickTheFirst", message: "Add a corner · click the first to close" }, - /* i18n */ { id: "editor.toolHint.anotherOpeningIsInTheWay", message: "Another opening is in the way at the corner" }, - /* i18n */ { id: "editor.toolHint.autoHangers", message: "Auto hangers" }, - /* i18n */ { id: "editor.toolHint.autoHangersClickOrPressH", message: "Auto hangers - click or press H to toggle" }, - /* i18n */ { id: "editor.toolHint.autoHangersOff", message: "Auto hangers: Off" }, - /* i18n */ { id: "editor.toolHint.autoHangersOn", message: "Auto hangers: On" }, - /* i18n */ { id: "editor.toolHint.bypassSnapping", message: "Bypass snapping" }, - /* i18n */ { id: "editor.toolHint.cancel", message: "Cancel" }, - /* i18n */ { id: "editor.toolHint.cancelMove", message: "Cancel move" }, - /* i18n */ { id: "editor.toolHint.cancelRunExit", message: "Cancel run / exit" }, - /* i18n */ { id: "editor.toolHint.cancelStartPoint", message: "Cancel start point" }, - /* i18n */ { id: "editor.toolHint.cornerWindow", message: "Corner window" }, - /* i18n */ { id: "editor.toolHint.cuts", message: "Cuts" }, - /* i18n */ { id: "editor.toolHint.cutsValue", message: "Cuts: {value}" }, - /* i18n */ { id: "editor.toolHint.cutsValueEven", message: "Cuts: {value}, even" }, - /* i18n */ { id: "editor.toolHint.cycleMonoGableButterfly", message: "Cycle mono / gable / butterfly" }, - /* i18n */ { id: "editor.toolHint.cycleSnappingMode", message: "Cycle snapping mode" }, - /* i18n */ { id: "editor.toolHint.doorStyleClickOrPressL", message: "Door style — click or press L to cycle" }, - /* i18n */ { id: "editor.toolHint.doorTypeClickOrPressO", message: "Door type — click or press O to cycle" }, - /* i18n */ { id: "editor.toolHint.dropDownspoutFromOutlet", message: "Drop downspout from outlet" }, - /* i18n */ { id: "editor.toolHint.ductDiameterDownUp", message: "Duct diameter down / up" }, - /* i18n */ { id: "editor.toolHint.endRunCancel", message: "End run / cancel" }, - /* i18n */ { id: "editor.toolHint.exit", message: "Exit" }, - /* i18n */ { id: "editor.toolHint.exitDrawing", message: "Exit drawing" }, - /* i18n */ { id: "editor.toolHint.finishAndContinue", message: "Finish and continue" }, - /* i18n */ { id: "editor.toolHint.finishCeiling", message: "Finish ceiling" }, - /* i18n */ { id: "editor.toolHint.finishGridAxis", message: "Finish grid axis" }, - /* i18n */ { id: "editor.toolHint.finishMeasurement", message: "Finish measurement" }, - /* i18n */ { id: "editor.toolHint.finishMultiPointWitnesses", message: "Finish multi-point witnesses" }, - /* i18n */ { id: "editor.toolHint.finishSlab", message: "Finish slab" }, - /* i18n */ { id: "editor.toolHint.flipSide", message: "Flip side" }, - /* i18n */ { id: "editor.toolHint.followTraceALineset", message: "Follow: trace a lineset" }, - /* i18n */ { id: "editor.toolHint.forcePlace", message: "Force place" }, - /* i18n */ { id: "editor.toolHint.freePlacement", message: "Free placement" }, - /* i18n */ { id: "editor.toolHint.goVerticalClickToPlace", message: "Go vertical ↕, click to place" }, - /* i18n */ { id: "editor.toolHint.highlightOutlet", message: "Highlight outlet" }, - /* i18n */ { id: "editor.toolHint.joinAsACornerWindow", message: "Join as a corner window" }, - /* i18n */ { id: "editor.toolHint.key.altDrag", message: "Alt + drag" }, - /* i18n */ { id: "editor.toolHint.key.backspace", message: "Backspace" }, - /* i18n */ { id: "editor.toolHint.key.click", message: "Click" }, - /* i18n */ { id: "editor.toolHint.key.clickAgain", message: "Click again" }, - /* i18n */ { id: "editor.toolHint.key.command", message: "Command" }, - /* i18n */ { id: "editor.toolHint.key.control", message: "Control" }, - /* i18n */ { id: "editor.toolHint.key.delete", message: "Delete" }, - /* i18n */ { id: "editor.toolHint.key.doubleClick", message: "Double click" }, - /* i18n */ { id: "editor.toolHint.key.drag", message: "Drag" }, - /* i18n */ { id: "editor.toolHint.key.enter", message: "Enter" }, - /* i18n */ { id: "editor.toolHint.key.hover", message: "Hover" }, - /* i18n */ { id: "editor.toolHint.key.hoverADuctEnd", message: "Hover a duct end" }, - /* i18n */ { id: "editor.toolHint.key.hoverAPipeEnd", message: "Hover a pipe end" }, - /* i18n */ { id: "editor.toolHint.key.hoverGutter", message: "Hover gutter" }, - /* i18n */ { id: "editor.toolHint.key.leftClick", message: "Left click" }, - /* i18n */ { id: "editor.toolHint.key.middleClick", message: "Middle click" }, - /* i18n */ { id: "editor.toolHint.key.rightClick", message: "Right click" }, - /* i18n */ { id: "editor.toolHint.key.rShiftR", message: "R / Shift+R" }, - /* i18n */ { id: "editor.toolHint.key.scroll", message: "Scroll" }, - /* i18n */ { id: "editor.toolHint.key.scrollWheel", message: "Scroll wheel" }, - /* i18n */ { id: "editor.toolHint.key.space", message: "Space" }, - /* i18n */ { id: "editor.toolHint.key.tab", message: "Tab" }, - /* i18n */ { id: "editor.toolHint.mountFloorCeilingWall", message: "Mount: floor / ceiling / wall" }, - /* i18n */ { id: "editor.toolHint.noRoomForTheMatchingWindow", message: "No room for the matching window on the other wall" }, - /* i18n */ { id: "editor.toolHint.noWallMeetsHere", message: "No wall meets here" }, - /* i18n */ { id: "editor.toolHint.numberOfCutsScrollOrClick", message: "Number of cuts — scroll or click to change" }, - /* i18n */ { id: "editor.toolHint.pickWitnessPoint", message: "Pick witness point" }, - /* i18n */ { id: "editor.toolHint.pipeSizeDownUp", message: "Pipe size down / up" }, - /* i18n */ { id: "editor.toolHint.placeAndContinue", message: "Place and continue" }, - /* i18n */ { id: "editor.toolHint.placeBlock", message: "Place block" }, - /* i18n */ { id: "editor.toolHint.placeBoxVentOnRoof", message: "Place box vent on roof" }, - /* i18n */ { id: "editor.toolHint.placeCabinet", message: "Place cabinet" }, - /* i18n */ { id: "editor.toolHint.placeCanopyOrSetTheNext", message: "Place canopy or set the next run point" }, - /* i18n */ { id: "editor.toolHint.placeChimneyOnRoof", message: "Place chimney on roof" }, - /* i18n */ { id: "editor.toolHint.placeColumn", message: "Place column" }, - /* i18n */ { id: "editor.toolHint.placeCupolaOnRoof", message: "Place cupola on roof" }, - /* i18n */ { id: "editor.toolHint.placeDimensionLineWhenNeeded", message: "Place dimension line when needed" }, - /* i18n */ { id: "editor.toolHint.placeDoorOnWall", message: "Place door on wall" }, - /* i18n */ { id: "editor.toolHint.placeDormerOnRoof", message: "Place dormer on roof" }, - /* i18n */ { id: "editor.toolHint.placeElevator", message: "Place elevator" }, - /* i18n */ { id: "editor.toolHint.placeEyebrowVentOnRoof", message: "Place eyebrow vent on roof" }, - /* i18n */ { id: "editor.toolHint.placeFitting", message: "Place fitting" }, - /* i18n */ { id: "editor.toolHint.placeGutterOnRoofEave", message: "Place gutter on roof eave" }, - /* i18n */ { id: "editor.toolHint.placeItem", message: "Place item" }, - /* i18n */ { id: "editor.toolHint.placeItLockedTo45", message: "Place it (locked to 45°)" }, - /* i18n */ { id: "editor.toolHint.placeMeasurementPoint", message: "Place measurement point" }, - /* i18n */ { id: "editor.toolHint.placement", message: "Placement" }, - /* i18n */ { id: "editor.toolHint.placementAuto", message: "Placement: Auto" }, - /* i18n */ { id: "editor.toolHint.placementGround", message: "Placement: Ground" }, - /* i18n */ { id: "editor.toolHint.placementRoof", message: "Placement: Roof" }, - /* i18n */ { id: "editor.toolHint.placementSurfaceClickOrPressP", message: "Placement surface - click or press P to cycle" }, - /* i18n */ { id: "editor.toolHint.placementType", message: "Placement type" }, - /* i18n */ { id: "editor.toolHint.placementTypeClickOrPressI", message: "Placement type — click or press I to toggle" }, - /* i18n */ { id: "editor.toolHint.placeOnAFence", message: "Place on a fence" }, - /* i18n */ { id: "editor.toolHint.placeRegister", message: "Place register" }, - /* i18n */ { id: "editor.toolHint.placeRidgeVentOnRoof", message: "Place ridge vent on roof" }, - /* i18n */ { id: "editor.toolHint.placeShelf", message: "Place shelf" }, - /* i18n */ { id: "editor.toolHint.placeSkylightOnRoof", message: "Place skylight on roof" }, - /* i18n */ { id: "editor.toolHint.placeSolarPanelArrayOnRoof", message: "Place solar panel array on roof" }, - /* i18n */ { id: "editor.toolHint.placeSpawnPoint", message: "Place spawn point" }, - /* i18n */ { id: "editor.toolHint.placeStairs", message: "Place stairs" }, - /* i18n */ { id: "editor.toolHint.placeTrap", message: "Place trap" }, - /* i18n */ { id: "editor.toolHint.placeTurbineVentOnRoof", message: "Place turbine vent on roof" }, - /* i18n */ { id: "editor.toolHint.placeUnit", message: "Place unit" }, - /* i18n */ { id: "editor.toolHint.placeWindowOnWall", message: "Place window on wall" }, - /* i18n */ { id: "editor.toolHint.placeWithoutTheCornerSnap", message: "Place without the corner snap" }, - /* i18n */ { id: "editor.toolHint.removeLastPoint", message: "Remove last point" }, - /* i18n */ { id: "editor.toolHint.removeLastWitness", message: "Remove last witness" }, - /* i18n */ { id: "editor.toolHint.rotate", message: "Rotate" }, - /* i18n */ { id: "editor.toolHint.rotate45", message: "Rotate ±45°" }, - /* i18n */ { id: "editor.toolHint.rotate45FloorCeiling", message: "Rotate ±45° (floor / ceiling)" }, - /* i18n */ { id: "editor.toolHint.rotateGhost15", message: "Rotate ghost ±15°" }, - /* i18n */ { id: "editor.toolHint.rotateOrFlipTheRunSide", message: "Rotate or flip the run side" }, - /* i18n */ { id: "editor.toolHint.rotateRoofDirection90", message: "Rotate roof direction 90°" }, - /* i18n */ { id: "editor.toolHint.rotateSpawnPoint", message: "Rotate spawn point" }, - /* i18n */ { id: "editor.toolHint.roundRectangularOval", message: "Round / rectangular / oval" }, - /* i18n */ { id: "editor.toolHint.setFenceStartEnd", message: "Set fence start / end" }, - /* i18n */ { id: "editor.toolHint.setOneCornerThenTheOpposite", message: "Set one corner, then the opposite" }, - /* i18n */ { id: "editor.toolHint.setRoofFootprint", message: "Set roof footprint" }, - /* i18n */ { id: "editor.toolHint.setWallStartEnd", message: "Set wall start / end" }, - /* i18n */ { id: "editor.toolHint.slopeLevel", message: "Slope / level" }, - /* i18n */ { id: "editor.toolHint.snapOntoTheRun", message: "Snap onto the run" }, - /* i18n */ { id: "editor.toolHint.splitAtTheMarks", message: "Split at the marks" }, - /* i18n */ { id: "editor.toolHint.startGridAxis", message: "Start grid axis" }, - /* i18n */ { id: "editor.toolHint.startLineset", message: "Start lineset" }, - /* i18n */ { id: "editor.toolHint.startLiquidLine", message: "Start liquid line" }, - /* i18n */ { id: "editor.toolHint.startRun", message: "Start run" }, - /* i18n */ { id: "editor.toolHint.startSegment", message: "Start segment" }, - /* i18n */ { id: "editor.toolHint.stepBackOrCancel", message: "Step back or cancel" }, - /* i18n */ { id: "editor.toolHint.style", message: "Style" }, - /* i18n */ { id: "editor.toolHint.styleBarn", message: "Style: Barn" }, - /* i18n */ { id: "editor.toolHint.styleCasement", message: "Style: Casement" }, - /* i18n */ { id: "editor.toolHint.styleCraftsman", message: "Style: Craftsman" }, - /* i18n */ { id: "editor.toolHint.styleDoubleHung", message: "Style: Double-hung" }, - /* i18n */ { id: "editor.toolHint.styleFrench", message: "Style: French" }, - /* i18n */ { id: "editor.toolHint.styleGlass", message: "Style: Glass" }, - /* i18n */ { id: "editor.toolHint.styleGrid", message: "Style: Grid" }, - /* i18n */ { id: "editor.toolHint.styleHalfLouvered", message: "Style: Half-louvered" }, - /* i18n */ { id: "editor.toolHint.styleHorizontalBands", message: "Style: Horizontal bands" }, - /* i18n */ { id: "editor.toolHint.styleModern", message: "Style: Modern" }, - /* i18n */ { id: "editor.toolHint.stylePanel", message: "Style: Panel" }, - /* i18n */ { id: "editor.toolHint.stylePaneledGlass", message: "Style: Paneled glass" }, - /* i18n */ { id: "editor.toolHint.styleShaker", message: "Style: Shaker" }, - /* i18n */ { id: "editor.toolHint.styleSingle", message: "Style: Single" }, - /* i18n */ { id: "editor.toolHint.styleSixPanel", message: "Style: Six-panel" }, - /* i18n */ { id: "editor.toolHint.styleSliding", message: "Style: Sliding" }, - /* i18n */ { id: "editor.toolHint.styleTallGrid", message: "Style: Tall grid" }, - /* i18n */ { id: "editor.toolHint.styleTransom", message: "Style: Transom" }, - /* i18n */ { id: "editor.toolHint.styleTripleHung", message: "Style: Triple-hung" }, - /* i18n */ { id: "editor.toolHint.styleWideGrid", message: "Style: Wide grid" }, - /* i18n */ { id: "editor.toolHint.switchRotationAxisYXZ", message: "Switch rotation axis (Y → X → Z)" }, - /* i18n */ { id: "editor.toolHint.theWallsMeetAtTooSharp", message: "The walls meet at too sharp or too flat an angle" }, - /* i18n */ { id: "editor.toolHint.theWindowWaitingThereIsTaller", message: "The window waiting there is taller than this wall" }, - /* i18n */ { id: "editor.toolHint.threeOrMoreWallsMeetHere", message: "Three or more walls meet here" }, - /* i18n */ { id: "editor.toolHint.traceCeilingOutline", message: "Trace ceiling outline" }, - /* i18n */ { id: "editor.toolHint.traceSlabOutline", message: "Trace slab outline" }, - /* i18n */ { id: "editor.toolHint.type", message: "Type" }, - /* i18n */ { id: "editor.toolHint.typeAwning", message: "Type: Awning" }, - /* i18n */ { id: "editor.toolHint.typeBarn", message: "Type: Barn" }, - /* i18n */ { id: "editor.toolHint.typeBay", message: "Type: Bay" }, - /* i18n */ { id: "editor.toolHint.typeBow", message: "Type: Bow" }, - /* i18n */ { id: "editor.toolHint.typeCabinet", message: "Type: Cabinet" }, - /* i18n */ { id: "editor.toolHint.typeCasement", message: "Type: Casement" }, - /* i18n */ { id: "editor.toolHint.typeDouble", message: "Type: Double" }, - /* i18n */ { id: "editor.toolHint.typeDoubleHung", message: "Type: Double Hung" }, - /* i18n */ { id: "editor.toolHint.typeFixed", message: "Type: Fixed" }, - /* i18n */ { id: "editor.toolHint.typeFolding", message: "Type: Folding" }, - /* i18n */ { id: "editor.toolHint.typeFrench", message: "Type: French" }, - /* i18n */ { id: "editor.toolHint.typeHinged", message: "Type: Hinged" }, - /* i18n */ { id: "editor.toolHint.typeIsland", message: "Type: Island" }, - /* i18n */ { id: "editor.toolHint.typeLouvered", message: "Type: Louvered" }, - /* i18n */ { id: "editor.toolHint.typePocket", message: "Type: Pocket" }, - /* i18n */ { id: "editor.toolHint.typeSingleHung", message: "Type: Single Hung" }, - /* i18n */ { id: "editor.toolHint.typeSliding", message: "Type: Sliding" }, - /* i18n */ { id: "editor.toolHint.verticalStackClickToPlace", message: "Vertical stack ↕, click to place" }, - /* i18n */ { id: "editor.toolHint.wasteVent", message: "Waste / vent" }, - /* i18n */ { id: "editor.toolHint.windowStyleClickOrPressL", message: "Window style — click or press L to cycle" }, - /* i18n */ { id: "editor.toolHint.windowTypeClickOrPressO", message: "Window type — click or press O to cycle" }, + /* i18n */ { id: "editor.toolHint.aCurtainWallTakesNoCorner.1qxjv5i", message: "A curtain wall takes no corner window" }, + /* i18n */ { id: "editor.toolHint.aCurvedWallTakesNoCorner.1vdnaw5", message: "A curved wall takes no corner window" }, + /* i18n */ { id: "editor.toolHint.addACornerClickTheFirst.o4r67t", message: "Add a corner · click the first to close" }, + /* i18n */ { id: "editor.toolHint.anotherOpeningIsInTheWay.11l9dd0", message: "Another opening is in the way at the corner" }, + /* i18n */ { id: "editor.toolHint.autoHangers.10554ka", message: "Auto hangers" }, + /* i18n */ { id: "editor.toolHint.autoHangersClickOrPressH.rwa3ka", message: "Auto hangers - click or press H to toggle" }, + /* i18n */ { id: "editor.toolHint.autoHangersOff.7yx01x", message: "Auto hangers: Off" }, + /* i18n */ { id: "editor.toolHint.autoHangersOn.10b1umh", message: "Auto hangers: On" }, + /* i18n */ { id: "editor.toolHint.bypassSnapping.w5lmdv", message: "Bypass snapping" }, + /* i18n */ { id: "editor.toolHint.cancel.ew9em3", message: "Cancel" }, + /* i18n */ { id: "editor.toolHint.cancelMove.lvp31c", message: "Cancel move" }, + /* i18n */ { id: "editor.toolHint.cancelRunExit.zqjf3h", message: "Cancel run / exit" }, + /* i18n */ { id: "editor.toolHint.cancelStartPoint.1xbq2lh", message: "Cancel start point" }, + /* i18n */ { id: "editor.toolHint.cornerWindow.1avkzpo", message: "Corner window" }, + /* i18n */ { id: "editor.toolHint.cuts.1y0axps", message: "Cuts" }, + /* i18n */ { id: "editor.toolHint.cutsValue.ouzhvb", message: "Cuts: {value}" }, + /* i18n */ { id: "editor.toolHint.cutsValueEven.1ngsz3", message: "Cuts: {value}, even" }, + /* i18n */ { id: "editor.toolHint.cycleMonoGableButterfly.1poga3m", message: "Cycle mono / gable / butterfly" }, + /* i18n */ { id: "editor.toolHint.cycleSnappingMode.1ct0gn6", message: "Cycle snapping mode" }, + /* i18n */ { id: "editor.toolHint.doorStyleClickOrPressL.33pe65", message: "Door style — click or press L to cycle" }, + /* i18n */ { id: "editor.toolHint.doorTypeClickOrPressO.1hhh8gt", message: "Door type — click or press O to cycle" }, + /* i18n */ { id: "editor.toolHint.dropDownspoutFromOutlet.1k4h1m4", message: "Drop downspout from outlet" }, + /* i18n */ { id: "editor.toolHint.ductDiameterDownUp.1wdz5vq", message: "Duct diameter down / up" }, + /* i18n */ { id: "editor.toolHint.endRunCancel.59dh2w", message: "End run / cancel" }, + /* i18n */ { id: "editor.toolHint.exit.engmg5", message: "Exit" }, + /* i18n */ { id: "editor.toolHint.exitDrawing.9noxyb", message: "Exit drawing" }, + /* i18n */ { id: "editor.toolHint.finishAndContinue.1gpfsks", message: "Finish and continue" }, + /* i18n */ { id: "editor.toolHint.finishCeiling.1c1lfel", message: "Finish ceiling" }, + /* i18n */ { id: "editor.toolHint.finishGridAxis.1wvrfhr", message: "Finish grid axis" }, + /* i18n */ { id: "editor.toolHint.finishMeasurement.1e4gv16", message: "Finish measurement" }, + /* i18n */ { id: "editor.toolHint.finishMultiPointWitnesses.8wzskz", message: "Finish multi-point witnesses" }, + /* i18n */ { id: "editor.toolHint.finishSlab.xmnm8e", message: "Finish slab" }, + /* i18n */ { id: "editor.toolHint.flipSide.172xku9", message: "Flip side" }, + /* i18n */ { id: "editor.toolHint.followTraceALineset.mgquwe", message: "Follow: trace a lineset" }, + /* i18n */ { id: "editor.toolHint.forcePlace.1hq1nr", message: "Force place" }, + /* i18n */ { id: "editor.toolHint.freePlacement.1nztdac", message: "Free placement" }, + /* i18n */ { id: "editor.toolHint.goVerticalClickToPlace.dg8g6m", message: "Go vertical ↕, click to place" }, + /* i18n */ { id: "editor.toolHint.highlightOutlet.65hoq8", message: "Highlight outlet" }, + /* i18n */ { id: "editor.toolHint.joinAsACornerWindow.jvdp4j", message: "Join as a corner window" }, + /* i18n */ { id: "editor.toolHint.key.altDrag.ai3wn9", message: "Alt + drag" }, + /* i18n */ { id: "editor.toolHint.key.backspace.qy6qx8", message: "Backspace" }, + /* i18n */ { id: "editor.toolHint.key.click.m8sun", message: "Click" }, + /* i18n */ { id: "editor.toolHint.key.clickAgain.190ws9j", message: "Click again" }, + /* i18n */ { id: "editor.toolHint.key.command.1j2mkia", message: "Command" }, + /* i18n */ { id: "editor.toolHint.key.control.10fbl8e", message: "Control" }, + /* i18n */ { id: "editor.toolHint.key.delete.oay2cq", message: "Delete" }, + /* i18n */ { id: "editor.toolHint.key.doubleClick.vlma6o", message: "Double click" }, + /* i18n */ { id: "editor.toolHint.key.drag.8pwtpf", message: "Drag" }, + /* i18n */ { id: "editor.toolHint.key.enter.1ctpui5", message: "Enter" }, + /* i18n */ { id: "editor.toolHint.key.hover.6xw79p", message: "Hover" }, + /* i18n */ { id: "editor.toolHint.key.hoverADuctEnd.19axr3b", message: "Hover a duct end" }, + /* i18n */ { id: "editor.toolHint.key.hoverAPipeEnd.1jbum5f", message: "Hover a pipe end" }, + /* i18n */ { id: "editor.toolHint.key.hoverGutter.1dwcsno", message: "Hover gutter" }, + /* i18n */ { id: "editor.toolHint.key.leftClick.s4gwfc", message: "Left click" }, + /* i18n */ { id: "editor.toolHint.key.middleClick.1jbaan4", message: "Middle click" }, + /* i18n */ { id: "editor.toolHint.key.rightClick.1ovld0h", message: "Right click" }, + /* i18n */ { id: "editor.toolHint.key.rShiftR.13bnobh", message: "R / Shift+R" }, + /* i18n */ { id: "editor.toolHint.key.scroll.ai6wr0", message: "Scroll" }, + /* i18n */ { id: "editor.toolHint.key.scrollWheel.18j0ix7", message: "Scroll wheel" }, + /* i18n */ { id: "editor.toolHint.key.space.1hrh82t", message: "Space" }, + /* i18n */ { id: "editor.toolHint.key.tab.1xsal0s", message: "Tab" }, + /* i18n */ { id: "editor.toolHint.mountFloorCeilingWall.32dxpv", message: "Mount: floor / ceiling / wall" }, + /* i18n */ { id: "editor.toolHint.noRoomForTheMatchingWindow.1755948", message: "No room for the matching window on the other wall" }, + /* i18n */ { id: "editor.toolHint.noWallMeetsHere.19n99yc", message: "No wall meets here" }, + /* i18n */ { id: "editor.toolHint.numberOfCutsScrollOrClick.1kqe84b", message: "Number of cuts — scroll or click to change" }, + /* i18n */ { id: "editor.toolHint.pickWitnessPoint.k3hgh1", message: "Pick witness point" }, + /* i18n */ { id: "editor.toolHint.pipeSizeDownUp.wp04og", message: "Pipe size down / up" }, + /* i18n */ { id: "editor.toolHint.placeAndContinue.qfwkrq", message: "Place and continue" }, + /* i18n */ { id: "editor.toolHint.placeBlock.1aylwrx", message: "Place block" }, + /* i18n */ { id: "editor.toolHint.placeBoxVentOnRoof.kf88e5", message: "Place box vent on roof" }, + /* i18n */ { id: "editor.toolHint.placeCabinet.b0ouyk", message: "Place cabinet" }, + /* i18n */ { id: "editor.toolHint.placeCanopyOrSetTheNext.12l7zf8", message: "Place canopy or set the next run point" }, + /* i18n */ { id: "editor.toolHint.placeChimneyOnRoof.19dbqu", message: "Place chimney on roof" }, + /* i18n */ { id: "editor.toolHint.placeColumn.1w2vq86", message: "Place column" }, + /* i18n */ { id: "editor.toolHint.placeCupolaOnRoof.ofx3bn", message: "Place cupola on roof" }, + /* i18n */ { id: "editor.toolHint.placeDimensionLineWhenNeeded.bjw2cj", message: "Place dimension line when needed" }, + /* i18n */ { id: "editor.toolHint.placeDoorOnWall.1jwadf", message: "Place door on wall" }, + /* i18n */ { id: "editor.toolHint.placeDormerOnRoof.1w518a6", message: "Place dormer on roof" }, + /* i18n */ { id: "editor.toolHint.placeElevator.1f65zva", message: "Place elevator" }, + /* i18n */ { id: "editor.toolHint.placeEyebrowVentOnRoof.1h1tqxn", message: "Place eyebrow vent on roof" }, + /* i18n */ { id: "editor.toolHint.placeFitting.1pmx3vn", message: "Place fitting" }, + /* i18n */ { id: "editor.toolHint.placeGutterOnRoofEave.llwzf9", message: "Place gutter on roof eave" }, + /* i18n */ { id: "editor.toolHint.placeItem.teynf", message: "Place item" }, + /* i18n */ { id: "editor.toolHint.placeItLockedTo45.16e4csk", message: "Place it (locked to 45°)" }, + /* i18n */ { id: "editor.toolHint.placeMeasurementPoint.bsatli", message: "Place measurement point" }, + /* i18n */ { id: "editor.toolHint.placement.13lcvts", message: "Placement" }, + /* i18n */ { id: "editor.toolHint.placementAuto.1caa52d", message: "Placement: Auto" }, + /* i18n */ { id: "editor.toolHint.placementGround.1ruz145", message: "Placement: Ground" }, + /* i18n */ { id: "editor.toolHint.placementRoof.renkw8", message: "Placement: Roof" }, + /* i18n */ { id: "editor.toolHint.placementSurfaceClickOrPressP.w56h19", message: "Placement surface - click or press P to cycle" }, + /* i18n */ { id: "editor.toolHint.placementType.1mdpl60", message: "Placement type" }, + /* i18n */ { id: "editor.toolHint.placementTypeClickOrPressI.10cgxh2", message: "Placement type — click or press I to toggle" }, + /* i18n */ { id: "editor.toolHint.placeOnAFence.1dptstr", message: "Place on a fence" }, + /* i18n */ { id: "editor.toolHint.placeRegister.1uebycd", message: "Place register" }, + /* i18n */ { id: "editor.toolHint.placeRidgeVentOnRoof.2tpd8r", message: "Place ridge vent on roof" }, + /* i18n */ { id: "editor.toolHint.placeShelf.y4l3iw", message: "Place shelf" }, + /* i18n */ { id: "editor.toolHint.placeSkylightOnRoof.e215pe", message: "Place skylight on roof" }, + /* i18n */ { id: "editor.toolHint.placeSolarPanelArrayOnRoof.kk11fn", message: "Place solar panel array on roof" }, + /* i18n */ { id: "editor.toolHint.placeSpawnPoint.205o25", message: "Place spawn point" }, + /* i18n */ { id: "editor.toolHint.placeStairs.zwxxu2", message: "Place stairs" }, + /* i18n */ { id: "editor.toolHint.placeTrap.1gxemn3", message: "Place trap" }, + /* i18n */ { id: "editor.toolHint.placeTurbineVentOnRoof.1iqeluf", message: "Place turbine vent on roof" }, + /* i18n */ { id: "editor.toolHint.placeUnit.8zkx4q", message: "Place unit" }, + /* i18n */ { id: "editor.toolHint.placeWindowOnWall.1k3qnfb", message: "Place window on wall" }, + /* i18n */ { id: "editor.toolHint.placeWithoutTheCornerSnap.1nifqew", message: "Place without the corner snap" }, + /* i18n */ { id: "editor.toolHint.removeLastPoint.2dmdcx", message: "Remove last point" }, + /* i18n */ { id: "editor.toolHint.removeLastWitness.1b6vvzw", message: "Remove last witness" }, + /* i18n */ { id: "editor.toolHint.rotate.1thqa0a", message: "Rotate" }, + /* i18n */ { id: "editor.toolHint.rotate45.9zq68u", message: "Rotate ±45°" }, + /* i18n */ { id: "editor.toolHint.rotate45FloorCeiling.m9t57d", message: "Rotate ±45° (floor / ceiling)" }, + /* i18n */ { id: "editor.toolHint.rotateGhost15.rsa52c", message: "Rotate ghost ±15°" }, + /* i18n */ { id: "editor.toolHint.rotateOrFlipTheRunSide.t5ior7", message: "Rotate or flip the run side" }, + /* i18n */ { id: "editor.toolHint.rotateRoofDirection90.tvbji2", message: "Rotate roof direction 90°" }, + /* i18n */ { id: "editor.toolHint.rotateSpawnPoint.1opcuu7", message: "Rotate spawn point" }, + /* i18n */ { id: "editor.toolHint.roundRectangularOval.e4nh6x", message: "Round / rectangular / oval" }, + /* i18n */ { id: "editor.toolHint.setFenceStartEnd.1phbwsq", message: "Set fence start / end" }, + /* i18n */ { id: "editor.toolHint.setOneCornerThenTheOpposite.8tsl49", message: "Set one corner, then the opposite" }, + /* i18n */ { id: "editor.toolHint.setRoofFootprint.p50n0o", message: "Set roof footprint" }, + /* i18n */ { id: "editor.toolHint.setWallStartEnd.1r8ubcx", message: "Set wall start / end" }, + /* i18n */ { id: "editor.toolHint.slopeLevel.ftqp67", message: "Slope / level" }, + /* i18n */ { id: "editor.toolHint.snapOntoTheRun.86yhmp", message: "Snap onto the run" }, + /* i18n */ { id: "editor.toolHint.splitAtTheMarks.x5tpdd", message: "Split at the marks" }, + /* i18n */ { id: "editor.toolHint.startGridAxis.k92yza", message: "Start grid axis" }, + /* i18n */ { id: "editor.toolHint.startLineset.23q8dh", message: "Start lineset" }, + /* i18n */ { id: "editor.toolHint.startLiquidLine.1rlxsgd", message: "Start liquid line" }, + /* i18n */ { id: "editor.toolHint.startRun.r6fc5u", message: "Start run" }, + /* i18n */ { id: "editor.toolHint.startSegment.rolym6", message: "Start segment" }, + /* i18n */ { id: "editor.toolHint.stepBackOrCancel.zbfdkn", message: "Step back or cancel" }, + /* i18n */ { id: "editor.toolHint.style.nf3vcm", message: "Style" }, + /* i18n */ { id: "editor.toolHint.styleBarn.k9n1x", message: "Style: Barn" }, + /* i18n */ { id: "editor.toolHint.styleCasement.ziklec", message: "Style: Casement" }, + /* i18n */ { id: "editor.toolHint.styleCraftsman.52e6a9", message: "Style: Craftsman" }, + /* i18n */ { id: "editor.toolHint.styleDoubleHung.1lg8pkg", message: "Style: Double-hung" }, + /* i18n */ { id: "editor.toolHint.styleFrench.1ue3j64", message: "Style: French" }, + /* i18n */ { id: "editor.toolHint.styleGlass.qudnb4", message: "Style: Glass" }, + /* i18n */ { id: "editor.toolHint.styleGrid.1vuq4po", message: "Style: Grid" }, + /* i18n */ { id: "editor.toolHint.styleHalfLouvered.13b1few", message: "Style: Half-louvered" }, + /* i18n */ { id: "editor.toolHint.styleHorizontalBands.12ethxk", message: "Style: Horizontal bands" }, + /* i18n */ { id: "editor.toolHint.styleModern.1fh8hhn", message: "Style: Modern" }, + /* i18n */ { id: "editor.toolHint.stylePanel.922jze", message: "Style: Panel" }, + /* i18n */ { id: "editor.toolHint.stylePaneledGlass.17a17en", message: "Style: Paneled glass" }, + /* i18n */ { id: "editor.toolHint.styleShaker.49z17k", message: "Style: Shaker" }, + /* i18n */ { id: "editor.toolHint.styleSingle.6f3cm0", message: "Style: Single" }, + /* i18n */ { id: "editor.toolHint.styleSixPanel.u49laj", message: "Style: Six-panel" }, + /* i18n */ { id: "editor.toolHint.styleSliding.q81s0i", message: "Style: Sliding" }, + /* i18n */ { id: "editor.toolHint.styleTallGrid.1eotg3x", message: "Style: Tall grid" }, + /* i18n */ { id: "editor.toolHint.styleTransom.kb9bh6", message: "Style: Transom" }, + /* i18n */ { id: "editor.toolHint.styleTripleHung.pxnqi3", message: "Style: Triple-hung" }, + /* i18n */ { id: "editor.toolHint.styleWideGrid.12n27et", message: "Style: Wide grid" }, + /* i18n */ { id: "editor.toolHint.switchRotationAxisYXZ.15lohm6", message: "Switch rotation axis (Y → X → Z)" }, + /* i18n */ { id: "editor.toolHint.theWallsMeetAtTooSharp.kh3wi3", message: "The walls meet at too sharp or too flat an angle" }, + /* i18n */ { id: "editor.toolHint.theWindowWaitingThereIsTaller.1tqwez4", message: "The window waiting there is taller than this wall" }, + /* i18n */ { id: "editor.toolHint.threeOrMoreWallsMeetHere.rgifif", message: "Three or more walls meet here" }, + /* i18n */ { id: "editor.toolHint.traceCeilingOutline.1b639wv", message: "Trace ceiling outline" }, + /* i18n */ { id: "editor.toolHint.traceSlabOutline.z0j2lc", message: "Trace slab outline" }, + /* i18n */ { id: "editor.toolHint.type.1m2zofh", message: "Type" }, + /* i18n */ { id: "editor.toolHint.typeAwning.1cj59al", message: "Type: Awning" }, + /* i18n */ { id: "editor.toolHint.typeBarn.sbnygq", message: "Type: Barn" }, + /* i18n */ { id: "editor.toolHint.typeBay.1200hc1", message: "Type: Bay" }, + /* i18n */ { id: "editor.toolHint.typeBow.14s2t9p", message: "Type: Bow" }, + /* i18n */ { id: "editor.toolHint.typeCabinet.1r68je5", message: "Type: Cabinet" }, + /* i18n */ { id: "editor.toolHint.typeCasement.176uo9j", message: "Type: Casement" }, + /* i18n */ { id: "editor.toolHint.typeDouble.af7w4i", message: "Type: Double" }, + /* i18n */ { id: "editor.toolHint.typeDoubleHung.t482fu", message: "Type: Double Hung" }, + /* i18n */ { id: "editor.toolHint.typeFixed.v1cjez", message: "Type: Fixed" }, + /* i18n */ { id: "editor.toolHint.typeFolding.sxxyng", message: "Type: Folding" }, + /* i18n */ { id: "editor.toolHint.typeFrench.1y57z1b", message: "Type: French" }, + /* i18n */ { id: "editor.toolHint.typeHinged.1xrcfju", message: "Type: Hinged" }, + /* i18n */ { id: "editor.toolHint.typeIsland.ufr3ce", message: "Type: Island" }, + /* i18n */ { id: "editor.toolHint.typeLouvered.oxl1cz", message: "Type: Louvered" }, + /* i18n */ { id: "editor.toolHint.typePocket.hc65x9", message: "Type: Pocket" }, + /* i18n */ { id: "editor.toolHint.typeSingleHung.p53pyl", message: "Type: Single Hung" }, + /* i18n */ { id: "editor.toolHint.typeSliding.nwmr3f", message: "Type: Sliding" }, + /* i18n */ { id: "editor.toolHint.verticalStackClickToPlace.ijcn4q", message: "Vertical stack ↕, click to place" }, + /* i18n */ { id: "editor.toolHint.wasteVent.1hvi3vj", message: "Waste / vent" }, + /* i18n */ { id: "editor.toolHint.windowStyleClickOrPressL.ah7qm9", message: "Window style — click or press L to cycle" }, + /* i18n */ { id: "editor.toolHint.windowTypeClickOrPressO.wv4x35", message: "Window type — click or press O to cycle" }, /* i18n */ { id: "node.block.description", message: "A topology-backed solid edited directly in the canvas." }, /* i18n */ { id: "node.block.label", message: "Block" }, /* i18n */ { id: "node.boxVent.description", message: "Small louvered exhaust vent that sits on a roof slope." }, diff --git a/scripts/i18n-literals.test.ts b/scripts/i18n-literals.test.ts index 7627482d28..3a046c7246 100644 --- a/scripts/i18n-literals.test.ts +++ b/scripts/i18n-literals.test.ts @@ -198,6 +198,25 @@ export function List({ items }: { items: string[] }) { expect(planned[0]?.manual).toContain('inside a callback function') }) +test('stylesheets and scripts rendered in JSX are not copy', () => { + const source = `const CALM_CSS = \`.pa-layer[data-calm] .pa-hlabel{transform:none}\` +export function Layer() { + return ( +
+ + +

Point at something

+
+ ) +} +` + expect( + scanSource('packages/editor/src/components/layer.tsx', source, allowlist).map( + (found) => found.text, + ), + ).toEqual(['Point at something']) +}) + test('a constant concatenated with a value is concatenated copy', () => { const source = `const LABEL = 'Save' export function Row({ name }: { name: string }) { diff --git a/scripts/i18n-literals.ts b/scripts/i18n-literals.ts index 96531c5c8a..bd8b0dc1cc 100644 --- a/scripts/i18n-literals.ts +++ b/scripts/i18n-literals.ts @@ -72,6 +72,8 @@ const UI_PROPERTIES = new Set([ 'tooltip', ]) +const NON_COPY_ELEMENTS = new Set(['script', 'style']) + const NOTIFY_CALLEES = new Set([ 'alert', 'confirm', @@ -579,6 +581,16 @@ export function visitUiLiterals( const visit = (node: ts.Node): void => { if (isTranslationCall(node)) return + // Stylesheets and scripts are code, not copy. + if ( + ts.isJsxElement(node) && + ts.isIdentifier(node.openingElement.tagName) && + NON_COPY_ELEMENTS.has(node.openingElement.tagName.text) + ) { + ts.forEachChild(node.openingElement, visit) + return + } + if (ts.isJsxElement(node)) { const sentence = sentenceChildren(node) if (sentence) { diff --git a/scripts/i18n-node-messages.ts b/scripts/i18n-node-messages.ts index 24f6fe64eb..df728afb53 100644 --- a/scripts/i18n-node-messages.ts +++ b/scripts/i18n-node-messages.ts @@ -28,7 +28,10 @@ import { * exists for extraction. */ -const ROOT = resolve(dirname(fileURLToPath(import.meta.url)), '..') +const ROOT = process.env.I18N_ROOT + ? resolve(process.env.I18N_ROOT) + : resolve(dirname(fileURLToPath(import.meta.url)), '..') +const NODES_ENTRY = join(ROOT, 'packages/nodes/src/index.ts') export const DEFINITION_MESSAGES_PATH = join(ROOT, 'packages/nodes/src/i18n/definition-messages.ts') type Hint = { @@ -148,11 +151,14 @@ export function renderDefinitionMessages(descriptors: MessageDescriptor[]): stri } export async function writeDefinitionMessages(): Promise { + // A checkout without the built-in nodes has no definition copy. + if (!existsSync(NODES_ENTRY)) return mkdirSync(dirname(DEFINITION_MESSAGES_PATH), { recursive: true }) writeFileSync(DEFINITION_MESSAGES_PATH, renderDefinitionMessages(await definitionDescriptors())) } export async function checkDefinitionMessages(): Promise { + if (!existsSync(NODES_ENTRY)) return [] const expected = renderDefinitionMessages(await definitionDescriptors()) const current = existsSync(DEFINITION_MESSAGES_PATH) ? readFileSync(DEFINITION_MESSAGES_PATH, 'utf8') diff --git a/scripts/i18n.test.ts b/scripts/i18n.test.ts index 5072e47db3..5e352277ab 100644 --- a/scripts/i18n.test.ts +++ b/scripts/i18n.test.ts @@ -1,12 +1,12 @@ import { expect, test } from 'bun:test' -import { readFileSync, writeFileSync } from 'node:fs' +import { cpSync, mkdirSync, mkdtempSync, readFileSync, symlinkSync, writeFileSync } from 'node:fs' +import { tmpdir } from 'node:os' +import { join } from 'node:path' import type { CatalogType } from '@lingui/conf' -import { parsePo } from 'pofile-ts' +import { parsePo, stringifyPo } from 'pofile-ts' import linguiConfig from '../lingui.config' import { - checkCatalogs, escapePoCommentValue, - extractCatalogs, hashSource, refreshTranslations, type SourceMessage, @@ -46,17 +46,91 @@ test('PO output is stable when an unrelated source line is added', async () => { expect(await serialize(10)).toBe(await serialize(11)) }) -test('catalog checking does not rewrite PO or compiled catalogs', async () => { - const paths = [ - ...new Bun.Glob('packages/editor/src/i18n/locales/*/messages.po').scanSync(), - ...new Bun.Glob('packages/editor/src/i18n/locales/*/messages.ts').scanSync(), - ] - const before = new Map(paths.map((path) => [path, readFileSync(path, 'utf8')])) +const TARGETS = ['zh-CN', 'fr', 'es', 'ja'] as const +const SAMPLE = `export const messages = [ + /* i18n */ { id: 'viewer.camera.topView', message: 'Top view' }, + /* i18n */ { id: 'editor.buildPanel.advanced', message: 'Advanced' }, +] +` - expect(await checkCatalogs()).toEqual([]) - expect(paths.map((path) => readFileSync(path, 'utf8'))).toEqual( - paths.map((path) => before.get(path)), +/** + * A two-message project with the repository's Lingui config and glossary and + * fully reviewed catalogs, so the real commands run in seconds. + */ +function catalogProject(): string { + const root = mkdtempSync(join(tmpdir(), 'pascal-catalogs-')) + symlinkSync(join(process.cwd(), 'node_modules'), join(root, 'node_modules')) + writeFileSync( + join(root, 'lingui.config.ts'), + readFileSync('lingui.config.ts', 'utf8').replace( + /include: \[[^\]]*\]/, + "include: ['packages/editor/src']", + ), ) + mkdirSync(join(root, 'i18n')) + cpSync('i18n/glossary.json', join(root, 'i18n/glossary.json')) + mkdirSync(join(root, 'packages/editor/src'), { recursive: true }) + writeFileSync(join(root, 'packages/editor/src/sample.tsx'), SAMPLE) + for (const locale of ['en', ...TARGETS]) { + mkdirSync(join(root, `packages/editor/src/i18n/locales/${locale}`), { recursive: true }) + writeFileSync( + join(root, `packages/editor/src/i18n/locales/${locale}/messages.po`), + 'msgid ""\nmsgstr ""\n', + ) + } + run(root, 'extract') + const reviewed: Record = { + 'viewer.camera.topView': 'Vue de dessus', + 'editor.buildPanel.advanced': 'Avancé', + } + for (const locale of TARGETS) { + const path = join(root, `packages/editor/src/i18n/locales/${locale}/messages.po`) + const po = parsePo(readFileSync(path, 'utf8')) + for (const item of po.items) { + const english = item.msgid === 'viewer.camera.topView' ? 'Top view' : 'Advanced' + item.msgstr = [reviewed[item.msgid]!] + item.comments = [ + `Source-Hash: ${hashSource(english)}`, + 'Review: human', + `English: ${JSON.stringify(english)}`, + ] + delete item.flags.fuzzy + } + writeFileSync(path, stringifyPo(po, { foldLength: 0 })) + } + run(root, 'compile') + return root +} + +function run(root: string, command: 'check' | 'compile' | 'extract') { + const result = Bun.spawnSync(['bun', join(process.cwd(), 'scripts/i18n.ts'), command], { + // Lingui resolves the config's paths against the working directory. + cwd: root, + env: { + ...process.env, + I18N_ROOT: root, + I18N_BASE_REF: '', + GITHUB_EVENT_NAME: '', + GITHUB_STEP_SUMMARY: '', + }, + stdout: 'pipe', + stderr: 'pipe', + }) + return { exitCode: result.exitCode, output: `${result.stdout}${result.stderr}` } +} + +const catalogFiles = (root: string) => + [...new Bun.Glob('packages/editor/src/i18n/locales/*/messages.{po,ts}').scanSync({ cwd: root })] + .sort() + .map((path) => [path, readFileSync(join(root, path), 'utf8')]) + +test('catalog checking does not rewrite PO or compiled catalogs', () => { + const root = catalogProject() + const before = catalogFiles(root) + const { exitCode, output } = run(root, 'check') + expect(output).not.toContain('[i18n] ') + expect(exitCode).toBe(0) + expect(catalogFiles(root)).toEqual(before) }, 60_000) test('ICU plural validation follows the target locale categories', () => { @@ -86,51 +160,33 @@ test('rich-text validation preserves attributed and self-closing tags', () => { ) }) -test('source drift fails checking, then extraction updates English and flags translations', async () => { - const sourcePath = 'packages/editor/src/components/viewer/viewer-controls-bar.tsx' - const catalogPaths = [ - ...new Bun.Glob('packages/editor/src/i18n/locales/*/messages.po').scanSync(), - ...new Bun.Glob('packages/editor/src/i18n/locales/*/messages.ts').scanSync(), - ] - const paths = [sourcePath, ...catalogPaths] - const before = new Map(paths.map((path) => [path, readFileSync(path, 'utf8')])) - const originalSource = before.get(sourcePath) - if (!originalSource) throw new Error(`Missing ${sourcePath}`) +test('source drift fails checking, then extraction updates English and flags translations', () => { + const root = catalogProject() + const sample = join(root, 'packages/editor/src/sample.tsx') + writeFileSync(sample, SAMPLE.replace("message: 'Top view'", "message: 'Top view X'")) - try { - writeFileSync( - sourcePath, - originalSource.replaceAll("message: 'Top view'", "message: 'Top view X'"), - ) + const check = run(root, 'check') + expect(check.exitCode).toBe(1) + expect(check.output).toContain('source drift "viewer.camera.topView"') - const errors = await checkCatalogs() - expect(errors.some((error) => error.includes('source drift "viewer.camera.topView"'))).toBe( - true, + expect(run(root, 'extract').exitCode).toBe(0) + const catalog = (locale: string) => + parsePo( + readFileSync(join(root, `packages/editor/src/i18n/locales/${locale}/messages.po`), 'utf8'), ) - - extractCatalogs() - - const english = parsePo(readFileSync('packages/editor/src/i18n/locales/en/messages.po', 'utf8')) - expect(english.items.find((item) => item.msgid === 'viewer.camera.topView')?.msgstr[0]).toBe( - 'Top view X', - ) - - for (const locale of ['zh-CN', 'fr', 'es', 'ja']) { - const target = parsePo( - readFileSync(`packages/editor/src/i18n/locales/${locale}/messages.po`, 'utf8'), - ) - const item = target.items.find((entry) => entry.msgid === 'viewer.camera.topView') - expect(item?.msgstr[0]).not.toBe('') - expect(item?.flags.fuzzy).toBe(true) - expect(item?.comments).toContain('Review: required') - expect( - readFileSync(`packages/editor/src/i18n/locales/${locale}/messages.ts`, 'utf8'), - ).not.toContain('\\"viewer.camera.topView\\"') - } - } finally { - for (const [path, contents] of before) writeFileSync(path, contents) + expect( + catalog('en').items.find((item) => item.msgid === 'viewer.camera.topView')?.msgstr[0], + ).toBe('Top view X') + for (const locale of TARGETS) { + const item = catalog(locale).items.find((entry) => entry.msgid === 'viewer.camera.topView') + expect(item?.msgstr[0]).toBe('Vue de dessus') + expect(item?.flags.fuzzy).toBe(true) + expect(item?.comments).toContain('Review: required') + expect( + readFileSync(join(root, `packages/editor/src/i18n/locales/${locale}/messages.ts`), 'utf8'), + ).not.toContain('\\"viewer.camera.topView\\"') } -}, 120_000) +}, 60_000) test('AI translation refreshes only missing and stale entries through a mocked provider', async () => { const sources: SourceMessage[] = [