From 8b2d7113fb49d9c717de8f92ba4f14137273d5e8 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 27 Oct 2026 06:49:08 +0000 Subject: [PATCH 1/5] i18n: whole paint-scope messages per verb; '{count} below' for reference floors The paint chip's label, accessible name and tooltip no longer interpolate an English verb, and the reference floor offset is one ICU message so translators control the word order. --- .../ui/action-menu/view-toggles.tsx | 2 +- .../ui/helpers/contextual-helper-panel.tsx | 36 ++++++++++++++++--- 2 files changed, 32 insertions(+), 6 deletions(-) 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' }) + } /> ) } From 917cf1396d4478ff6508bf140187146a1c15b394 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 27 Oct 2026 06:49:08 +0000 Subject: [PATCH 2/5] Build search matches the English tool name in any UI language --- apps/editor/components/build-tab.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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)} From 2ea07899fe02cae9625eb75fa5d325a78a5d9995 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 27 Oct 2026 06:49:09 +0000 Subject: [PATCH 3/5] i18n: tool-hint IDs include a hash of the whole message IDs from the first six words let a plugin hint take a built-in hint's translation when their openings matched. Each editor.toolHint.* ID now ends with a short hash of the full English. The drafts moved with their English. --- .../editor/src/i18n/locales/en-XA/messages.ts | 2 +- .../editor/src/i18n/locales/en/messages.po | 394 ++++++++------- .../editor/src/i18n/locales/en/messages.ts | 2 +- .../editor/src/i18n/locales/es/messages.po | 454 ++++++++++-------- .../editor/src/i18n/locales/fr/messages.po | 454 ++++++++++-------- .../editor/src/i18n/locales/ja/messages.po | 454 ++++++++++-------- .../editor/src/i18n/locales/zh-CN/messages.po | 454 ++++++++++-------- packages/editor/src/i18n/node-messages.ts | 19 +- .../nodes/src/i18n/definition-messages.ts | 354 +++++++------- 9 files changed, 1433 insertions(+), 1154 deletions(-) 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." }, From 6f2f3ac0adccb7e4911a431bf98d633a71005b1e Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 27 Oct 2026 06:49:09 +0000 Subject: [PATCH 4/5] Literal guard: style and script elements are code, not copy point-ask-layer.tsx's CALM_CSS stylesheet is no longer baselined. --- i18n/literal-baseline.json | 9 +-------- scripts/i18n-literals.test.ts | 19 +++++++++++++++++++ scripts/i18n-literals.ts | 12 ++++++++++++ 3 files changed, 32 insertions(+), 8 deletions(-) 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/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) { From 33cc10445229bb8aad95f483cc96f5426fb4f4c1 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 27 Oct 2026 06:49:09 +0000 Subject: [PATCH 5/5] i18n tests: run the catalog-check and source-drift tests on a temp project They ran Lingui over the whole repository (about 45 s and 23 s). They now run the real check/extract commands on a two-message project via I18N_ROOT, in about 3 s each. The definition sidecar is skipped in a checkout without the built-in nodes. --- scripts/i18n-node-messages.ts | 8 +- scripts/i18n.test.ts | 164 +++++++++++++++++++++++----------- 2 files changed, 117 insertions(+), 55 deletions(-) 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[] = [