Update all three section dialogs to support hide/show toggle: SectionAxisDialogManager: - onHideToggle now calls hideSection()/recoverSection() SectionBoxDialogManager: - onHideToggle now calls hideSection()/recoverSection() SectionPlanePanel: - Add isHidden state tracking - Change onHide to onHideToggle(isHidden) - Add setHiddenState/getHiddenState methods - Update button to toggle active state SectionPlaneDialogManager: - Switch to onHideToggle callback - Call hideSection()/recoverSection() based on toggle state Behavior: Click hide button to hide section, click again to recover.
206 lines
5.5 KiB
TypeScript
206 lines
5.5 KiB
TypeScript
import {TranslationDictionary} from './types';
|
|
|
|
export const enUS: TranslationDictionary = {
|
|
common: {
|
|
title: 'BimEngine',
|
|
description: 'This is a BIM-ENGINE demo.',
|
|
openTestDialog: 'Open Test Dialog',
|
|
openInfoDialog: 'Open Info Dialog (Wrapped)',
|
|
},
|
|
toolbar: {
|
|
home: 'Home',
|
|
measure: 'Measure',
|
|
zoomBox: 'Zoom Box',
|
|
info: 'Info',
|
|
location: 'Location',
|
|
setting: 'Settings',
|
|
walk: 'Walk',
|
|
map: 'Map',
|
|
property: 'Property',
|
|
fullscreen: 'Fullscreen',
|
|
walkPerson: 'Person',
|
|
walkBird: 'Bird Eye',
|
|
walkMenu: 'Menu',
|
|
tree: 'Tree',
|
|
section: 'Section',
|
|
sectionPlane: 'Plane Section',
|
|
sectionAxis: 'Axis Section',
|
|
sectionBox: 'Section Box'
|
|
},
|
|
dialog: {
|
|
testTitle: 'Test Dialog',
|
|
testContent: '<div style="padding: 10px;">This is a <b>draggable</b> and <b>resizable</b> dialog.<br><br>Try dragging the title bar or resizing from the bottom-right corner.</div>',
|
|
},
|
|
menu: {
|
|
info: 'Info',
|
|
home: 'Home',
|
|
componentDetail: 'Component Detail',
|
|
hideSelected: 'Hide Selected',
|
|
transparentSelected: 'Transparent Selected',
|
|
isolateSelected: 'Isolate Selected',
|
|
hideOthers: 'Hide Others',
|
|
transparentOthers: 'Transparent Others',
|
|
fitSectionBox: 'Fit Section Box',
|
|
showAll: 'Show All'
|
|
},
|
|
tree: {
|
|
searchPlaceholder: 'Please enter content to search',
|
|
},
|
|
constructTree: {
|
|
title: 'Construct Tree',
|
|
},
|
|
tab: {
|
|
component: 'Component',
|
|
system: 'System',
|
|
space: 'Space',
|
|
type: 'Type',
|
|
major: 'Major',
|
|
},
|
|
panel: {
|
|
property: {
|
|
title: 'Component Details',
|
|
base: 'Basic Info',
|
|
material: 'Material',
|
|
advanced: 'Advanced',
|
|
tab: {
|
|
props: 'Properties',
|
|
material: 'Material'
|
|
}
|
|
},
|
|
componentDetail: {
|
|
title: 'Component Detail',
|
|
noSelection: 'Please select a component first'
|
|
}
|
|
},
|
|
measure: {
|
|
btnName: 'Measure',
|
|
dialogTitle: 'Measure',
|
|
modes: {
|
|
distance: 'Distance',
|
|
minDistance: 'Min Distance',
|
|
angle: 'Angle',
|
|
elevation: 'Elevation',
|
|
volume: 'Volume',
|
|
laserDistance: 'Laser Distance',
|
|
slope: 'Slope',
|
|
spaceVolume: 'Space Volume',
|
|
},
|
|
actions: {
|
|
expand: 'Expand',
|
|
collapse: 'Collapse',
|
|
clearAll: 'Clear All',
|
|
settings: 'Settings',
|
|
},
|
|
labels: {
|
|
currentMode: 'Mode:',
|
|
x: 'X:',
|
|
y: 'Y:',
|
|
z: 'Z:',
|
|
value: {
|
|
distance: 'Distance:',
|
|
minDistance: 'Min Distance:',
|
|
angle: 'Angle:',
|
|
elevation: 'Elevation:',
|
|
volume: 'Volume:',
|
|
laserDistance: 'Laser Distance:',
|
|
slope: 'Slope:',
|
|
spaceVolume: 'Space Volume:',
|
|
}
|
|
},
|
|
units: {
|
|
mm: 'mm',
|
|
cm: 'cm',
|
|
m: 'm',
|
|
km: 'km',
|
|
deg: '°',
|
|
m3: 'm³',
|
|
percent: '%',
|
|
},
|
|
settings: {
|
|
title: 'Settings',
|
|
unit: 'Unit:',
|
|
precision: 'Precision:',
|
|
hint: 'Distance, min distance and elevation use this unit by default; angle and volume use their own units.',
|
|
save: 'Save',
|
|
cancel: 'Cancel',
|
|
}
|
|
},
|
|
sectionPlane: {
|
|
dialogTitle: 'Plane Section',
|
|
actions: {
|
|
hide: 'Hide',
|
|
reverse: 'Reverse',
|
|
reset: 'Reset'
|
|
}
|
|
},
|
|
sectionAxis: {
|
|
dialogTitle: 'Axis Section',
|
|
actions: {
|
|
hide: 'Hide',
|
|
reverse: 'Reverse',
|
|
axisX: 'X',
|
|
axisY: 'Y',
|
|
axisZ: 'Z'
|
|
}
|
|
},
|
|
sectionBox: {
|
|
dialogTitle: 'Section Box',
|
|
actions: {
|
|
hide: 'Hide',
|
|
reverse: 'Reverse',
|
|
fitToModel: 'Fit',
|
|
reset: 'Reset'
|
|
},
|
|
axes: {
|
|
x: 'X',
|
|
y: 'Y',
|
|
z: 'Z'
|
|
}
|
|
},
|
|
walkControl: {
|
|
speed: 'Speed:',
|
|
gravity: 'Gravity',
|
|
collision: 'Collision',
|
|
characterModel: {
|
|
label: 'Construction Worker',
|
|
constructionWorker: 'Construction Worker',
|
|
officeMale: 'Office Male'
|
|
},
|
|
walkMode: {
|
|
label: 'Walk Mode',
|
|
walk: 'Walk',
|
|
run: 'Run'
|
|
},
|
|
exit: 'Exit',
|
|
path: {
|
|
dialogTitle: 'Path Walk'
|
|
}
|
|
},
|
|
map: {
|
|
dialogTitle: 'Map'
|
|
},
|
|
aiChat: {
|
|
title: 'AI Assistant',
|
|
placeholder: 'Ask a question...',
|
|
quickPrompt: {
|
|
summarize: 'Summarize this model',
|
|
explain: 'Explain selected component',
|
|
generate: 'Generate report'
|
|
},
|
|
action: {
|
|
new: 'New Chat',
|
|
history: 'History',
|
|
settings: 'Settings',
|
|
close: 'Close'
|
|
},
|
|
helper: {
|
|
newline: 'Shift + Enter for new line',
|
|
send: 'Enter to send'
|
|
},
|
|
thinking: 'Thinking...',
|
|
other: 'Other',
|
|
otherPlaceholder: 'Enter custom answer',
|
|
submit: 'Submit'
|
|
}
|
|
};
|