<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh-TW" sourcelanguage="en">
  <context>
    <name>CmdPathArea</name>
    <message>
      <location filename="../../Command.cpp" line="47"/>
      <source>CAM</source>
      <translation>CAM</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="48"/>
      <source>Area</source>
      <translation>區域</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="49"/>
      <source>Creates a feature area from the selected objects</source>
      <translation type="unfinished">Creates a feature area from the selected objects</translation>
    </message>
  </context>
  <context>
    <name>CmdPathAreaWorkplane</name>
    <message>
      <location filename="../../Command.cpp" line="146"/>
      <source>CAM</source>
      <translation>CAM</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="147"/>
      <source>Area Workplane</source>
      <translation type="unfinished">Area Workplane</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="148"/>
      <source>Selects a workplane for a feature area</source>
      <translation type="unfinished">Selects a workplane for a feature area</translation>
    </message>
  </context>
  <context>
    <name>CmdPathCompound</name>
    <message>
      <location filename="../../Command.cpp" line="243"/>
      <source>CAM</source>
      <translation>CAM</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="244"/>
      <source>Compound</source>
      <translation>複合</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="245"/>
      <source>Creates a compound from the selected toolpaths</source>
      <translation type="unfinished">Creates a compound from the selected toolpaths</translation>
    </message>
  </context>
  <context>
    <name>CmdPathShape</name>
    <message>
      <location filename="../../Command.cpp" line="306"/>
      <source>CAM</source>
      <translation>CAM</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="307"/>
      <source>From Shape</source>
      <translation>從形狀</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="308"/>
      <source>Creates a toolpath from a selected shape</source>
      <translation>從選定的形狀建立刀具路徑</translation>
    </message>
  </context>
  <context>
    <name>Command</name>
    <message>
      <location filename="../../Command.cpp" line="101"/>
      <source>Create Path Area View</source>
      <translation>建立路徑區域視圖</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="118"/>
      <source>Create Path Area</source>
      <translation>建立路徑區域</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="213"/>
      <source>Select Workplane for Path Area</source>
      <translation>選擇工作平面作為路徑區域</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="275"/>
      <source>Create Path Compound</source>
      <translation>Create Path Compound</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="351"/>
      <source>Create Path Shape</source>
      <translation>建立路徑形狀</translation>
    </message>
  </context>
  <context>
    <name>Dialog</name>
    <message>
      <location filename="../panels/DlgJobCreate.ui" line="14"/>
      <source>New Job</source>
      <translation type="unfinished">New Job</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobCreate.ui" line="23"/>
      <source>Template</source>
      <translation>模板</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobCreate.ui" line="32"/>
      <source>Select a template for the job. Templates are creatable from an existing job&apos;s context menu. Template files use the `job_*.json` naming convention and are stored in the macro or path directory (path configurable in preferences).</source>
      <translation type="unfinished">Select a template for the job. Templates are creatable from an existing job&apos;s context menu. Template files use the `job_*.json` naming convention and are stored in the macro or path directory (path configurable in preferences).</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobCreate.ui" line="42"/>
      <source>Model</source>
      <translation>模型</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobModelSelect.ui" line="14"/>
      <source>Base Model Selection</source>
      <translation type="unfinished">Base Model Selection</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobModelSelect.ui" line="24"/>
      <source>Solids</source>
      <translation>固體</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobModelSelect.ui" line="34"/>
      <source>2D</source>
      <translation>2D</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobModelSelect.ui" line="44"/>
      <source>Base Models</source>
      <translation>Base Models</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="14"/>
      <source>Job Template Export</source>
      <translation>輸出工作模板</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="23"/>
      <source>Post Processing</source>
      <translation>後處理</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="51"/>
      <source>Tools</source>
      <translation>工具</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="73"/>
      <source>Setup Sheet</source>
      <translation>設定表</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="20"/>
      <source>If enabled, include all post processing settings in the template</source>
      <translation type="unfinished">If enabled, include all post processing settings in the template</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="38"/>
      <source>Hint about the current post processing configuration</source>
      <translation type="unfinished">Hint about the current post processing configuration</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="48"/>
      <source>If enabled, tool controller definitions are stored in the template</source>
      <translation type="unfinished">If enabled, tool controller definitions are stored in the template</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="60"/>
      <source>Check all tool controllers which should be included in the template</source>
      <translation type="unfinished">Check all tool controllers which should be included in the template</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="70"/>
      <source>Includes SetupSheet values in the template. Any SetupSheet values modified from their default are preselected.</source>
      <translation type="unfinished">Includes SetupSheet values in the template. Any SetupSheet values modified from their default are preselected.</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="82"/>
      <source>Enable to include the default heights for operations in the template</source>
      <translation type="unfinished">Enable to include the default heights for operations in the template</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="85"/>
      <source>Operation heights</source>
      <translation type="unfinished">Operation heights</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="95"/>
      <source>Operation depths</source>
      <translation type="unfinished">Operation depths</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="105"/>
      <source>Enable to include the default rapid tool speeds in the template</source>
      <translation type="unfinished">Enable to include the default rapid tool speeds in the template</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="108"/>
      <source>Tool rapid speeds</source>
      <translation type="unfinished">Tool rapid speeds</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="118"/>
      <source>Enable to include the default coolant mode in the template</source>
      <translation type="unfinished">Enable to include the default coolant mode in the template</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="121"/>
      <source>Coolant Mode</source>
      <translation>冷卻劑模式</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="131"/>
      <source>Enable all operations for which the configuration values should be exported.

Note that only operations which currently have configuration values set are listed.</source>
      <translation>Enable all operations for which the configuration values should be exported.

Note that only operations which currently have configuration values set are listed.</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="143"/>
      <source>If enabled, the creation of stock is included in the template. If a template does not include a stock definition the default stock creation algorithm will be used (creation from the Base object&apos;s bounding box).

This option is most useful if stock is a box or cylinder, or if the machine has a standard placement for machining.

Note that this option is disabled if a stock object from an existing solid is used in the job - they cannot be stored in a template.</source>
      <translation type="unfinished">If enabled, the creation of stock is included in the template. If a template does not include a stock definition the default stock creation algorithm will be used (creation from the Base object&apos;s bounding box).

This option is most useful if stock is a box or cylinder, or if the machine has a standard placement for machining.

Note that this option is disabled if a stock object from an existing solid is used in the job - they cannot be stored in a template.</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="150"/>
      <source>Stock</source>
      <translation>Stock</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="159"/>
      <source>If enabled, the current size settings for the stock object are included in the template.

For box and cylinder stocks this means the actual size of the stock solid being created.

For stock from the base object&apos;s bounding box it means the extra material in all directions. A stock object created from such a template will get its basic size from the new job&apos;s base object and apply the stored extra settings.</source>
      <translation type="unfinished">If enabled, the current size settings for the stock object are included in the template.

For box and cylinder stocks this means the actual size of the stock solid being created.

For stock from the base object&apos;s bounding box it means the extra material in all directions. A stock object created from such a template will get its basic size from the new job&apos;s base object and apply the stored extra settings.</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="166"/>
      <source>Extent</source>
      <translation>範圍</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="182"/>
      <source>Hint about the current stock extent setting</source>
      <translation type="unfinished">Hint about the current stock extent setting</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="189"/>
      <source>If enabled, the current placement of the stock solid is stored in the template</source>
      <translation type="unfinished">If enabled, the current placement of the stock solid is stored in the template</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="192"/>
      <source>Placement</source>
      <translation>佈置</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="208"/>
      <source>Hint about the current stock placement</source>
      <translation type="unfinished">Hint about the current stock placement</translation>
    </message>
    <message>
      <location filename="../panels/DlgJobTemplateExport.ui" line="246"/>
      <source>Export</source>
      <translation>匯出</translation>
    </message>
    <message>
      <location filename="../panels/DlgSelectPostProcessor.ui" line="14"/>
      <source>Post Processor</source>
      <translation>後處理器</translation>
    </message>
    <message>
      <location filename="../panels/DlgSelectPostProcessor.ui" line="42"/>
      <source>Displays available post processors. FreeCAD includes several pre-installed post processors. At least one post processor must be enabled in preferences.</source>
      <translation type="unfinished">Displays available post processors. FreeCAD includes several pre-installed post processors. At least one post processor must be enabled in preferences.</translation>
    </message>
    <message>
      <location filename="../panels/DlgToolControllerEdit.ui" line="14"/>
      <source>Tool Controller Editor</source>
      <translation>刀具控制器編輯器</translation>
    </message>
    <message>
      <location filename="../panels/DlgToolEdit.ui" line="14"/>
      <source>Tool Editor</source>
      <translation>刀具設定器</translation>
    </message>
    <message>
      <location filename="../panels/PropertyCreate.ui" line="14"/>
      <source>Create Property</source>
      <translation>建立屬性</translation>
    </message>
    <message>
      <location filename="../panels/PropertyCreate.ui" line="20"/>
      <source>Name</source>
      <translation>名稱</translation>
    </message>
    <message>
      <location filename="../panels/PropertyCreate.ui" line="27"/>
      <source>Name of the property. Can only contain letters, numbers, and underscores. MixedCase names will display with spaces &quot;Mixed Case&quot;</source>
      <translation type="unfinished">Name of the property. Can only contain letters, numbers, and underscores. MixedCase names will display with spaces &quot;Mixed Case&quot;</translation>
    </message>
    <message>
      <location filename="../panels/PropertyCreate.ui" line="34"/>
      <source>The category group the property belongs to</source>
      <translation type="unfinished">The category group the property belongs to</translation>
    </message>
    <message>
      <location filename="../panels/PropertyCreate.ui" line="44"/>
      <source>Group</source>
      <translation>群組</translation>
    </message>
    <message>
      <location filename="../panels/PropertyCreate.ui" line="51"/>
      <source>The type of the property value</source>
      <translation type="unfinished">The type of the property value</translation>
    </message>
    <message>
      <location filename="../panels/PropertyCreate.ui" line="58"/>
      <source>Type</source>
      <translation>類型</translation>
    </message>
    <message>
      <location filename="../panels/PropertyCreate.ui" line="65"/>
      <source>val1,val2,val3,...</source>
      <translation>val1,val2,val3,...</translation>
    </message>
    <message>
      <location filename="../panels/PropertyCreate.ui" line="72"/>
      <source>ToolTip to be displayed when user hovers mouse over property</source>
      <translation type="unfinished">ToolTip to be displayed when user hovers mouse over property</translation>
    </message>
    <message>
      <location filename="../panels/PropertyCreate.ui" line="82"/>
      <source>Enums</source>
      <translation>枚舉</translation>
    </message>
    <message>
      <location filename="../panels/PropertyCreate.ui" line="89"/>
      <source>ToolTip</source>
      <translation>刀具提示</translation>
    </message>
    <message>
      <location filename="../panels/PropertyCreate.ui" line="117"/>
      <source>Check to create several properties in a batch</source>
      <translation type="unfinished">Check to create several properties in a batch</translation>
    </message>
    <message>
      <location filename="../panels/PropertyCreate.ui" line="120"/>
      <source>Create another</source>
      <translation>建立另一個</translation>
    </message>
    <message>
      <location filename="../panels/ToolBitLibraryEdit.ui" line="14"/>
      <source>Library Manager</source>
      <translation>刀具庫管理</translation>
    </message>
    <message>
      <location filename="../panels/ToolBitLibraryEdit.ui" line="27"/>
      <source>Adds a new library</source>
      <translation type="unfinished">Adds a new library</translation>
    </message>
    <message>
      <location filename="../panels/ToolBitLibraryEdit.ui" line="38"/>
      <source>Removes the library</source>
      <translation type="unfinished">Removes the library</translation>
    </message>
    <message>
      <location filename="../panels/ToolBitLibraryEdit.ui" line="49"/>
      <source>Renames the library</source>
      <translation type="unfinished">Renames the library</translation>
    </message>
    <message>
      <location filename="../panels/ToolBitLibraryEdit.ui" line="60"/>
      <source>Imports a library</source>
      <translation type="unfinished">Imports a library</translation>
    </message>
    <message>
      <location filename="../panels/ToolBitLibraryEdit.ui" line="71"/>
      <source>Exports the library</source>
      <translation type="unfinished">Exports the library</translation>
    </message>
    <message>
      <location filename="../panels/ToolBitLibraryEdit.ui" line="111"/>
      <source>Adds a toolbit</source>
      <translation type="unfinished">Adds a toolbit</translation>
    </message>
    <message>
      <location filename="../panels/ToolBitLibraryEdit.ui" line="122"/>
      <source>Imports a toolbit</source>
      <translation type="unfinished">Imports a toolbit</translation>
    </message>
    <message>
      <location filename="../panels/ToolBitLibraryEdit.ui" line="133"/>
      <source>Exports the toolbit</source>
      <translation type="unfinished">Exports the toolbit</translation>
    </message>
    <message>
      <location filename="../panels/ToolBitLibraryEdit.ui" line="203"/>
      <source>Table of tool bits of the library</source>
      <translation type="unfinished">Table of tool bits of the library</translation>
    </message>
    <message>
      <location filename="../panels/ToolBitEditor.ui" line="14"/>
      <source>Toolbit Parameter Editor</source>
      <translation type="unfinished">Toolbit Parameter Editor</translation>
    </message>
    <message>
      <location filename="../panels/ToolBitEditor.ui" line="50"/>
      <source>Toolbit</source>
      <translation type="unfinished">Toolbit</translation>
    </message>
    <message>
      <location filename="../panels/ToolBitEditor.ui" line="75"/>
      <source>Notes</source>
      <translation type="unfinished">Notes</translation>
    </message>
    <message>
      <location filename="../panels/ToolBitEditor.ui" line="92"/>
      <source>Coating</source>
      <translation type="unfinished">Coating</translation>
    </message>
    <message>
      <location filename="../panels/ToolBitEditor.ui" line="102"/>
      <source>Hardness</source>
      <translation type="unfinished">Hardness</translation>
    </message>
    <message>
      <location filename="../panels/ToolBitEditor.ui" line="112"/>
      <source>Materials</source>
      <translation>材質</translation>
    </message>
    <message>
      <location filename="../panels/ToolBitEditor.ui" line="125"/>
      <source>Supplier</source>
      <translation type="unfinished">Supplier</translation>
    </message>
  </context>
  <context>
    <name>DlgJobChooser</name>
    <message>
      <location filename="../panels/DlgToolCopy.ui" line="23"/>
      <source>Copy Selected Tools</source>
      <translation>複製已選刀具</translation>
    </message>
    <message>
      <location filename="../panels/DlgToolCopy.ui" line="29"/>
      <source>Destination</source>
      <translation>目標</translation>
    </message>
    <message>
      <location filename="../../DlgJobChooser.ui" line="17"/>
      <source>CAM Job Selection</source>
      <translation type="unfinished">CAM Job Selection</translation>
    </message>
    <message>
      <location filename="../panels/DlgTCChooser.ui" line="23"/>
      <source>Tool Controller Selection</source>
      <translation type="unfinished">Tool Controller Selection</translation>
    </message>
    <message>
      <location filename="../panels/DlgTCChooser.ui" line="29"/>
      <source>Tool controller</source>
      <translation type="unfinished">Tool controller</translation>
    </message>
  </context>
  <context>
    <name>DlgProcessorChooser</name>
    <message>
      <location filename="../../DlgProcessorChooser.ui" line="14"/>
      <source>Processor Selection</source>
      <translation type="unfinished">Processor Selection</translation>
    </message>
    <message>
      <location filename="../../DlgProcessorChooser.ui" line="20"/>
      <source>Processor</source>
      <translation>前處理器</translation>
    </message>
    <message>
      <location filename="../../DlgProcessorChooser.ui" line="33"/>
      <source>Arguments</source>
      <translation>參數</translation>
    </message>
  </context>
  <context>
    <name>Form</name>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="20"/>
      <source>Boundary Body</source>
      <translation>工件邊界</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="38"/>
      <source>Select what type of shape to use to constrain the underlying Path.</source>
      <translation>選擇使用什麼類型的形狀來約束基礎路徑.</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="45"/>
      <source>Create box</source>
      <translation type="unfinished">Create box</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="50"/>
      <source>Create cylinder</source>
      <translation type="unfinished">Create cylinder</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="55"/>
      <source>Extend model&apos;s bounding box</source>
      <translation type="unfinished">Extend model&apos;s bounding box</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="60"/>
      <source>Use existing solid</source>
      <translation type="unfinished">Use existing solid</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="87"/>
      <source>Select the body to be used to constrain the underlying path</source>
      <translation type="unfinished">Select the body to be used to constrain the underlying path</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="100"/>
      <source>Ext. X</source>
      <translation>X 軸延伸</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="107"/>
      <source>Extension of bounding box&apos;s MinX</source>
      <translation type="unfinished">Extension of bounding box&apos;s MinX</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="120"/>
      <source>Extension of bounding box&apos;s MaxX</source>
      <translation type="unfinished">Extension of bounding box&apos;s MaxX</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="127"/>
      <source>Ext. Y</source>
      <translation>Y 軸延伸</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="134"/>
      <source>Extension of bounding box&apos;s MinY</source>
      <translation type="unfinished">Extension of bounding box&apos;s MinY</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="141"/>
      <source>Extension of bounding box&apos;s MaxY</source>
      <translation type="unfinished">Extension of bounding box&apos;s MaxY</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="148"/>
      <source>Ext. Z</source>
      <translation>Z 軸延伸</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="155"/>
      <source>Extension of bounding box&apos;s MinZ</source>
      <translation type="unfinished">Extension of bounding box&apos;s MinZ</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="162"/>
      <source>Extension of bounding box&apos;s MaxZ</source>
      <translation type="unfinished">Extension of bounding box&apos;s MaxZ</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="260"/>
      <source>Constrained to inside</source>
      <translation type="unfinished">Constrained to inside</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="175"/>
      <source>Radius</source>
      <translation>半徑</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="182"/>
      <source>Radius of the cylinder</source>
      <translation type="unfinished">Radius of the cylinder</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="189"/>
      <location filename="../panels/DressupPathBoundary.ui" line="237"/>
      <source>Height</source>
      <translation>高度</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="196"/>
      <source>Height of the cylinder</source>
      <translation type="unfinished">Height of the cylinder</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="209"/>
      <source>Length</source>
      <translation>間距</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="216"/>
      <source>Length of the box</source>
      <translation type="unfinished">Length of the box</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="223"/>
      <source>Width</source>
      <translation>寬度</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="230"/>
      <source>Width of the box</source>
      <translation type="unfinished">Width of the box</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="244"/>
      <source>Height of the box</source>
      <translation type="unfinished">Height of the box</translation>
    </message>
    <message>
      <location filename="../panels/DressupPathBoundary.ui" line="257"/>
      <source>If checked, the path is constrained by the solid. Otherwise the volume of the solid describes a &apos;keep out&apos; zone</source>
      <translation type="unfinished">If checked, the path is constrained by the solid. Otherwise the volume of the solid describes a &apos;keep out&apos; zone</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseGeometryEdit.ui" line="43"/>
      <source>Import</source>
      <translation>匯入</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseGeometryEdit.ui" line="59"/>
      <source>Select one or more features in the 3D view and press &apos;Add&apos; to add them as the base items for this operation. Selected features can be deleted entirely.</source>
      <translation type="unfinished">Select one or more features in the 3D view and press &apos;Add&apos; to add them as the base items for this operation. Selected features can be deleted entirely.</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseGeometryEdit.ui" line="69"/>
      <source>Add selected features to the list of base geometries for this operation</source>
      <translation>將所選擇的特徵添加到此操作的基礎幾何圖形列表中</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseGeometryEdit.ui" line="79"/>
      <source>Remove the selected list items from the list of base geometries. The operation will not be applied to them.</source>
      <translation>從基幾何體列表中移除所選的列表項目。該操作將不會對它們應用。</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseGeometryEdit.ui" line="89"/>
      <source>Clears list of base geometries</source>
      <translation>Clears list of base geometries</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseGeometryEdit.ui" line="99"/>
      <source>All objects will be processed using the same operation properties</source>
      <translation type="unfinished">All objects will be processed using the same operation properties</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseGeometryEdit.ui" line="72"/>
      <location filename="../panels/PageBaseHoleGeometryEdit.ui" line="52"/>
      <location filename="../panels/PageBaseLocationEdit.ui" line="43"/>
      <location filename="../panels/PropertyBag.ui" line="62"/>
      <source>Add</source>
      <translation>新增</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseGeometryEdit.ui" line="36"/>
      <source>List of operations with base geometry in the current job</source>
      <translation type="unfinished">List of operations with base geometry in the current job</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseGeometryEdit.ui" line="82"/>
      <location filename="../panels/PageBaseHoleGeometryEdit.ui" line="62"/>
      <location filename="../panels/PageBaseLocationEdit.ui" line="53"/>
      <location filename="../panels/PropertyBag.ui" line="48"/>
      <source>Remove</source>
      <translation>移除</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseGeometryEdit.ui" line="92"/>
      <location filename="../panels/PageOpPocketExtEdit.ui" line="149"/>
      <source>Clear</source>
      <translation>清除</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseHoleGeometryEdit.ui" line="22"/>
      <source>Table of hole features and the determined radius of the associated hole.

Add features for processing by selecting them and then pressing &apos;Add&apos;. If a feature is accidentally added to the list, it can be removed through &apos;Remove&apos; and will no longer be processed.

Reset deletes all current items from the list and fills the list with all circular holes eligible for the operation from the model. Refine the list afterwards by enabling/disabling, removing and adding features.</source>
      <translation type="unfinished">Table of hole features and the determined radius of the associated hole.

Add features for processing by selecting them and then pressing &apos;Add&apos;. If a feature is accidentally added to the list, it can be removed through &apos;Remove&apos; and will no longer be processed.

Reset deletes all current items from the list and fills the list with all circular holes eligible for the operation from the model. Refine the list afterwards by enabling/disabling, removing and adding features.</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseHoleGeometryEdit.ui" line="36"/>
      <source>Feature</source>
      <translation>特徵</translation>
    </message>
    <message>
      <location filename="../panels/ToolEditor.ui" line="96"/>
      <location filename="../panels/PageBaseHoleGeometryEdit.ui" line="41"/>
      <source>Diameter</source>
      <translation>直徑</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseHoleGeometryEdit.ui" line="49"/>
      <source>Add selected items from 3D view to the list of base geometries</source>
      <translation type="unfinished">Add selected items from 3D view to the list of base geometries</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseHoleGeometryEdit.ui" line="59"/>
      <source>Remove selected list items from the list of base geometries. The operation is no longer applied to them.</source>
      <translation>從基本幾何圖形清單中刪除選取的清單項目。該操作不再適用於它們。</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseHoleGeometryEdit.ui" line="69"/>
      <source>Remove all list items and fill list with all eligible features from the job&apos;s base object.</source>
      <translation>移除所有列表項目，並用工作基礎物件中的所有合適特徵填充列表。</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseHoleGeometryEdit.ui" line="72"/>
      <source>Reset</source>
      <translation>重設</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseHoleGeometryEdit.ui" line="79"/>
      <source>All objects will be processed using the same operation properties.</source>
      <translation>All objects will be processed using the same operation properties.</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseLocationEdit.ui" line="20"/>
      <source>List of locations to be processed</source>
      <translation type="unfinished">List of locations to be processed</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseLocationEdit.ui" line="24"/>
      <source>X</source>
      <translation>X</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseLocationEdit.ui" line="29"/>
      <source>Y</source>
      <translation>Ÿ</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseLocationEdit.ui" line="40"/>
      <source>Opens a dialog to add arbitrary locations</source>
      <translation type="unfinished">Opens a dialog to add arbitrary locations</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseLocationEdit.ui" line="60"/>
      <source>Edit selected location</source>
      <translation type="unfinished">Edit selected location</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseLocationEdit.ui" line="70"/>
      <source>All locations will be processed using the same operation properties</source>
      <translation type="unfinished">All locations will be processed using the same operation properties</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseLocationEdit.ui" line="50"/>
      <source>Remove selected location from the list. The operation is no longer applied to them.</source>
      <translation>Remove selected location from the list. The operation is no longer applied to them.</translation>
    </message>
    <message>
      <location filename="../panels/PageBaseLocationEdit.ui" line="63"/>
      <source>Edit</source>
      <translation>編輯</translation>
    </message>
    <message>
      <location filename="../panels/PageDepthsEdit.ui" line="39"/>
      <location filename="../panels/SetupGlobal.ui" line="36"/>
      <source>Start depth</source>
      <translation type="unfinished">Start depth</translation>
    </message>
    <message>
      <location filename="../panels/PageDepthsEdit.ui" line="46"/>
      <location filename="../panels/PageDiametersEdit.ui" line="27"/>
      <source>Start depth of the operation. The highest point in Z-axis the operation needs to process.</source>
      <translation type="unfinished">Start depth of the operation. The highest point in Z-axis the operation needs to process.</translation>
    </message>
    <message>
      <location filename="../panels/PageDepthsEdit.ui" line="59"/>
      <location filename="../panels/PageDiametersEdit.ui" line="43"/>
      <source>Transfer the Z value of the selected feature as the start depth for the operation</source>
      <translation type="unfinished">Transfer the Z value of the selected feature as the start depth for the operation</translation>
    </message>
    <message>
      <location filename="../panels/PageDepthsEdit.ui" line="85"/>
      <location filename="../panels/SetupGlobal.ui" line="52"/>
      <source>Final depth</source>
      <translation type="unfinished">Final depth</translation>
    </message>
    <message>
      <location filename="../panels/PageDepthsEdit.ui" line="92"/>
      <location filename="../panels/PageDiametersEdit.ui" line="64"/>
      <source>The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process.</source>
      <translation>The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process.</translation>
    </message>
    <message>
      <location filename="../panels/PageDepthsEdit.ui" line="105"/>
      <source>Transfer the Z value of the selected feature as the final depth for the operation</source>
      <translation type="unfinished">Transfer the Z value of the selected feature as the final depth for the operation</translation>
    </message>
    <message>
      <location filename="../panels/PageDepthsEdit.ui" line="131"/>
      <location filename="../panels/SetupGlobal.ui" line="68"/>
      <source>Step down</source>
      <translation type="unfinished">Step down</translation>
    </message>
    <message>
      <location filename="../panels/PageDepthsEdit.ui" line="138"/>
      <source>The depth in Z-axis the operation moves downwards between layers. This value depends on the tool being used, the material to be cut, available cooling and many other factors. Consult the tool manufacturers data sheets for the proper value.</source>
      <translation type="unfinished">The depth in Z-axis the operation moves downwards between layers. This value depends on the tool being used, the material to be cut, available cooling and many other factors. Consult the tool manufacturers data sheets for the proper value.</translation>
    </message>
    <message>
      <location filename="../panels/PageDepthsEdit.ui" line="163"/>
      <source>Finish step down</source>
      <translation type="unfinished">Finish step down</translation>
    </message>
    <message>
      <location filename="../panels/PageDepthsEdit.ui" line="170"/>
      <source>Depth of the final cut of the operation. Can be used to produce a cleaner finish.</source>
      <translation>Depth of the final cut of the operation. Can be used to produce a cleaner finish.</translation>
    </message>
    <message>
      <location filename="../panels/PageDiametersEdit.ui" line="20"/>
      <source>Min Diameter</source>
      <translation>最小直徑</translation>
    </message>
    <message>
      <location filename="../panels/PageDiametersEdit.ui" line="57"/>
      <source>Max diameter</source>
      <translation type="unfinished">Max diameter</translation>
    </message>
    <message>
      <location filename="../panels/PageDiametersEdit.ui" line="80"/>
      <source>Transfer the Z value of the selected feature as the final depth for the operation.</source>
      <translation type="unfinished">Transfer the Z value of the selected feature as the final depth for the operation.</translation>
    </message>
    <message>
      <location filename="../panels/PageHeightsEdit.ui" line="47"/>
      <source>Safe height</source>
      <translation type="unfinished">Safe height</translation>
    </message>
    <message>
      <location filename="../panels/PageHeightsEdit.ui" line="54"/>
      <source>The height above which it is safe to move the tool bit with rapid movements. Below this height all lateral and downward movements are performed with feed rate speeds.</source>
      <translation>The height above which it is safe to move the tool bit with rapid movements. Below this height all lateral and downward movements are performed with feed rate speeds.</translation>
    </message>
    <message>
      <location filename="../panels/PageHeightsEdit.ui" line="24"/>
      <source>Clearance height</source>
      <translation type="unfinished">Clearance height</translation>
    </message>
    <message>
      <location filename="../panels/PageHeightsEdit.ui" line="31"/>
      <source>The height where lateral movement of the toolbit is not obstructed by any fixtures or the part / stock material itself.</source>
      <translation>The height where lateral movement of the toolbit is not obstructed by any fixtures or the part / stock material itself.</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="255"/>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="43"/>
      <location filename="../panels/PageOpVcarveEdit.ui" line="43"/>
      <source>Coolant Mode</source>
      <translation>冷卻劑模式</translation>
    </message>
    <message>
      <location filename="../panels/PageOpHelixEdit.ui" line="29"/>
      <location filename="../panels/SetupGlobal.ui" line="180"/>
      <location filename="../panels/PageOpVcarveEdit.ui" line="29"/>
      <location filename="../panels/PageOpThreadMillingEdit.ui" line="29"/>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="29"/>
      <location filename="../panels/PageOpDrillingEdit.ui" line="35"/>
      <source>Tool Controller</source>
      <translation>Tool Controller</translation>
    </message>
    <message>
      <location filename="../panels/PageOpHelixEdit.ui" line="43"/>
      <location filename="../panels/SetupGlobal.ui" line="249"/>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="33"/>
      <source>Coolant</source>
      <translation>冷卻劑</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="122"/>
      <source>Type of adaptive operation</source>
      <translation>Type of adaptive operation</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="78"/>
      <source>Influences calculation performance vs stability and accuracy.

Larger values (further to the right) will calculate faster; smaller values (further to the left) will result in more accurate toolpaths.</source>
      <translation type="unfinished">Influences calculation performance vs stability and accuracy.

Larger values (further to the right) will calculate faster; smaller values (further to the left) will result in more accurate toolpaths.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="115"/>
      <source>Cut inside or outside of the selected shapes</source>
      <translation>Cut inside or outside of the selected shapes</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="227"/>
      <source>If greater than zero it limits the helix ramp diameter, otherwise 75 percent of tool diameter is used</source>
      <translation>If greater than zero it limits the helix ramp diameter, otherwise 75 percent of tool diameter is used</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="210"/>
      <source>How much to lift the tool up during the rapid linking moves over cleared regions. If linking path is not clear tool is raised to clearance height.</source>
      <translation>在快速連接移動到已清理區域的過程中，將工具抬起多少。如果連接路徑不暢通，則工具將升高至間隙高度。</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="268"/>
      <source>Max length of keep-tool-down linking path compared to direct distance between points. If exceeded link will be done by raising the tool to clearance height.</source>
      <translation>保持工具向下連結路徑的最大長度與點之間的直接距離相比。如果超過，將透過將工具升高到間隙高度來完成連結。</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="153"/>
      <source>The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles.</source>
      <translation>The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="244"/>
      <source>Angle of the helix ramp entry</source>
      <translation>Angle of the helix ramp entry</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="179"/>
      <source>Angle of the helix entry cone</source>
      <translation>Angle of the helix entry cone</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDeburrEdit.ui" line="53"/>
      <location filename="../panels/PageOpSlotEdit.ui" line="35"/>
      <location filename="../panels/PageOpCustomEdit.ui" line="35"/>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="29"/>
      <location filename="../panels/PageOpEngraveEdit.ui" line="29"/>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="29"/>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="29"/>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="23"/>
      <location filename="../panels/PageOpProbeEdit.ui" line="35"/>
      <source>Tool controller</source>
      <translation type="unfinished">Tool controller</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDeburrEdit.ui" line="99"/>
      <location filename="../panels/PageOpSlotEdit.ui" line="59"/>
      <location filename="../panels/PageOpHelixEdit.ui" line="57"/>
      <location filename="../panels/PageOpCustomEdit.ui" line="59"/>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="57"/>
      <location filename="../panels/PageOpEngraveEdit.ui" line="57"/>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="57"/>
      <location filename="../panels/PageOpVcarveEdit.ui" line="57"/>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="53"/>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="43"/>
      <location filename="../panels/PageOpProbeEdit.ui" line="49"/>
      <location filename="../panels/PageOpThreadMillingEdit.ui" line="43"/>
      <location filename="../panels/PageOpTappingEdit.ui" line="117"/>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="57"/>
      <location filename="../panels/PageOpDrillingEdit.ui" line="73"/>
      <source>Edit Tool Controller</source>
      <translation type="unfinished">Edit Tool Controller</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="71"/>
      <source>Accuracy vs performance</source>
      <translation type="unfinished">Accuracy vs performance</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="108"/>
      <source>Force clearing inside-out</source>
      <translation type="unfinished">Force clearing inside-out</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="129"/>
      <source>Finishing profile</source>
      <translation type="unfinished">Finishing profile</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="136"/>
      <source>How much material to leave in the XY-plane (i.e. for finishing operation)</source>
      <translation type="unfinished">How much material to leave in the XY-plane (i.e. for finishing operation)</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="146"/>
      <source>XY stock to leave</source>
      <translation type="unfinished">XY stock to leave</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="189"/>
      <source>Helix ramp angle</source>
      <translation type="unfinished">Helix ramp angle</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="244"/>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="196"/>
      <source>Use outline</source>
      <translation type="unfinished">Use outline</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="203"/>
      <source>Operation type</source>
      <translation type="unfinished">Operation type</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="220"/>
      <source>Keep tool down ratio</source>
      <translation type="unfinished">Keep tool down ratio</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="237"/>
      <source>Helix cone angle</source>
      <translation type="unfinished">Helix cone angle</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="254"/>
      <source>Lift distance</source>
      <translation type="unfinished">Lift distance</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="261"/>
      <source>Cut region</source>
      <translation type="unfinished">Cut region</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="278"/>
      <source>Helix max diameter</source>
      <translation type="unfinished">Helix max diameter</translation>
    </message>
    <message>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="288"/>
      <source>Stop</source>
      <translation>停止</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDeburrEdit.ui" line="138"/>
      <location filename="../panels/PageOpHelixEdit.ui" line="94"/>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="89"/>
      <location filename="../panels/PageOpThreadMillingEdit.ui" line="188"/>
      <source>Direction</source>
      <translation>方向</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDeburrEdit.ui" line="148"/>
      <location filename="../panels/PageOpDeburrEdit.ui" line="155"/>
      <source>CW</source>
      <translation>順時針</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDeburrEdit.ui" line="160"/>
      <source>CCW</source>
      <translation>逆時針</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDeburrEdit.ui" line="296"/>
      <source>Round joint</source>
      <translation>Round joint</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDeburrEdit.ui" line="315"/>
      <source>Miter joint</source>
      <translation>Miter joint</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDeburrEdit.ui" line="205"/>
      <location filename="../panels/PageOpDeburrEdit.ui" line="232"/>
      <location filename="../panels/ToolEditor.ui" line="77"/>
      <location filename="../panels/ToolEditor.ui" line="134"/>
      <location filename="../panels/ToolEditor.ui" line="144"/>
      <location filename="../panels/ToolEditor.ui" line="154"/>
      <location filename="../panels/ToolEditor.ui" line="174"/>
      <location filename="../panels/ToolEditor.ui" line="206"/>
      <location filename="../panels/ToolEditor.ui" line="223"/>
      <location filename="../panels/ToolEditor.ui" line="240"/>
      <location filename="../panels/ToolEditor.ui" line="280"/>
      <source>mm</source>
      <translation>mm</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDeburrEdit.ui" line="202"/>
      <source>Width of chamfer cut</source>
      <translation type="unfinished">Width of chamfer cut</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDeburrEdit.ui" line="229"/>
      <source>Extra depth of tool immersion</source>
      <translation type="unfinished">Extra depth of tool immersion</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDeburrEdit.ui" line="289"/>
      <source>Join:</source>
      <translation>Join:</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDeburrEdit.ui" line="388"/>
      <source>TextLabel</source>
      <translation>文字標籤</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDrillingEdit.ui" line="63"/>
      <source>Do not retract after every hole</source>
      <translation type="unfinished">Do not retract after every hole</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDrillingEdit.ui" line="66"/>
      <source>Keep tool down</source>
      <translation type="unfinished">Keep tool down</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDrillingEdit.ui" line="85"/>
      <source>Peck</source>
      <translation>Peck</translation>
    </message>
    <message>
      <location filename="../panels/PageOpTappingEdit.ui" line="65"/>
      <location filename="../panels/PageOpDrillingEdit.ui" line="102"/>
      <source>Extend depth</source>
      <translation type="unfinished">Extend depth</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDrillingEdit.ui" line="122"/>
      <source>Drill tip</source>
      <translation type="unfinished">Drill tip</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDrillingEdit.ui" line="127"/>
      <source>2x drill tip</source>
      <translation type="unfinished">2x drill tip</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDrillingEdit.ui" line="152"/>
      <source>Depth</source>
      <translation>深度</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDrillingEdit.ui" line="162"/>
      <source>Retract</source>
      <translation>Retract</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDrillingEdit.ui" line="176"/>
      <source>Chip break</source>
      <translation type="unfinished">Chip break</translation>
    </message>
    <message>
      <location filename="../panels/PageOpTappingEdit.ui" line="32"/>
      <location filename="../panels/PageOpDrillingEdit.ui" line="142"/>
      <source>Dwell</source>
      <translation>Dwell</translation>
    </message>
    <message>
      <location filename="../panels/PageOpTappingEdit.ui" line="14"/>
      <source>Form</source>
      <translation>格式</translation>
    </message>
    <message>
      <location filename="../panels/PageOpTappingEdit.ui" line="25"/>
      <location filename="../panels/PageOpDrillingEdit.ui" line="95"/>
      <source>Time</source>
      <translation>Time</translation>
    </message>
    <message>
      <location filename="../panels/PageOpTappingEdit.ui" line="45"/>
      <source>Tap tip</source>
      <translation type="unfinished">Tap tip</translation>
    </message>
    <message>
      <location filename="../panels/PageOpTappingEdit.ui" line="50"/>
      <source>2x tap tip</source>
      <translation type="unfinished">2x tap tip</translation>
    </message>
    <message>
      <location filename="../panels/PageOpTappingEdit.ui" line="89"/>
      <location filename="../panels/PageOpTappingEdit.ui" line="110"/>
      <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The tool and its settings to be used for this operation.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
      <translation type="unfinished">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The tool and its settings to be used for this operation.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../panels/PageOpTappingEdit.ui" line="103"/>
      <source>ToolController</source>
      <translation type="unfinished">ToolController</translation>
    </message>
    <message>
      <location filename="../panels/PageOpTappingEdit.ui" line="40"/>
      <location filename="../panels/PageOpDrillingEdit.ui" line="117"/>
      <source>None</source>
      <translation>無</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDrillingEdit.ui" line="183"/>
      <source>Feed retract</source>
      <translation>Feed retract</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDrillingEdit.ui" line="186"/>
      <source>G85: Retract from the hole at the given feedrate instead of rapid move</source>
      <translation>G85: Retract from the hole at the given feedrate instead of rapid move</translation>
    </message>
    <message>
      <location filename="../panels/PageOpHelixEdit.ui" line="70"/>
      <source>Start from</source>
      <translation>Start from</translation>
    </message>
    <message>
      <location filename="../panels/PageOpHelixEdit.ui" line="77"/>
      <source>Specify if the helix operation should start at the inside and work its way outwards, or start at the outside and work its way to the center</source>
      <translation type="unfinished">Specify if the helix operation should start at the inside and work its way outwards, or start at the outside and work its way to the center</translation>
    </message>
    <message>
      <location filename="../panels/PageOpHelixEdit.ui" line="81"/>
      <source>Inside</source>
      <translation>裡面</translation>
    </message>
    <message>
      <location filename="../panels/PageOpHelixEdit.ui" line="86"/>
      <source>Outside</source>
      <translation>外面</translation>
    </message>
    <message>
      <location filename="../panels/PageOpHelixEdit.ui" line="101"/>
      <source>The direction for the helix, clockwise or counterclockwise</source>
      <translation type="unfinished">The direction for the helix, clockwise or counterclockwise</translation>
    </message>
    <message>
      <location filename="../panels/PageOpHelixEdit.ui" line="144"/>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="108"/>
      <source>Extra offset</source>
      <translation type="unfinished">Extra offset</translation>
    </message>
    <message>
      <location filename="../panels/PageOpHelixEdit.ui" line="125"/>
      <source>Specify the percent of the tool diameter each helix will be offset to the previous one. A step over of 100% means no overlap of the individual cuts.</source>
      <translation>Specify the percent of the tool diameter each helix will be offset to the previous one. A step over of 100% means no overlap of the individual cuts.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpHelixEdit.ui" line="118"/>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="185"/>
      <location filename="../panels/PageOpAdaptiveEdit.ui" line="172"/>
      <source>Step over percent</source>
      <translation>Step over percent</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketExtEdit.ui" line="58"/>
      <source>Show All</source>
      <translation>顯示全部</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketExtEdit.ui" line="55"/>
      <source>If selected all potential extensions are visualised. Enabled extensions in purple and not enabled extensions in yellow</source>
      <translation>If selected all potential extensions are visualised. Enabled extensions in purple and not enabled extensions in yellow</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketExtEdit.ui" line="101"/>
      <source>Tree of existing edges and their potential extensions</source>
      <translation>Tree of existing edges and their potential extensions</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketExtEdit.ui" line="126"/>
      <source>Enable the currently selected pocket extension</source>
      <translation>Enable the currently selected pocket extension</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketExtEdit.ui" line="136"/>
      <source>Disable the currently selected pocket extension</source>
      <translation>Disable the currently selected pocket extension</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketExtEdit.ui" line="146"/>
      <source>Remove all currently enabled extensions - leaving the plain pocket operation</source>
      <translation>Remove all currently enabled extensions - leaving the plain pocket operation</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketExtEdit.ui" line="129"/>
      <source>Enable</source>
      <translation>啟用</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketExtEdit.ui" line="22"/>
      <source>Enable extensions</source>
      <translation type="unfinished">Enable extensions</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketExtEdit.ui" line="65"/>
      <source>Extend the corner between two edges of a pocket. Selected adjacent edges are combined.</source>
      <translation>Extend the corner between two edges of a pocket. Selected adjacent edges are combined.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketExtEdit.ui" line="68"/>
      <source>Extend corners</source>
      <translation type="unfinished">Extend corners</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketExtEdit.ui" line="78"/>
      <source>Default length</source>
      <translation type="unfinished">Default length</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketExtEdit.ui" line="85"/>
      <source>Set the extent of the dimension. The default value is half the tool diameter.</source>
      <translation type="unfinished">Set the extent of the dimension. The default value is half the tool diameter.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketExtEdit.ui" line="139"/>
      <source>Disable</source>
      <translation>停用</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="70"/>
      <source>Boundary Shape</source>
      <translation>Boundary Shape</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="77"/>
      <source>Specify if the facing should be restricted by the actual shape of the selected face (or the part if no face is selected), or if the bounding box should be faced off.

The latter can be used to face of the entire stock area to ensure uniform heights for the following operations.</source>
      <translation type="unfinished">Specify if the facing should be restricted by the actual shape of the selected face (or the part if no face is selected), or if the bounding box should be faced off.

The latter can be used to face of the entire stock area to ensure uniform heights for the following operations.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="95"/>
      <source>Cut Mode</source>
      <translation>Cut Mode</translation>
    </message>
    <message>
      <location filename="../panels/PageOpHelixEdit.ui" line="105"/>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="106"/>
      <source>Climb</source>
      <translation>Climb</translation>
    </message>
    <message>
      <location filename="../panels/PageOpHelixEdit.ui" line="110"/>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="111"/>
      <source>Conventional</source>
      <translation>Conventional</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="119"/>
      <source>Pattern</source>
      <translation>圖樣</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDeburrEdit.ui" line="60"/>
      <location filename="../panels/PageOpDeburrEdit.ui" line="92"/>
      <location filename="../panels/PageOpHelixEdit.ui" line="36"/>
      <location filename="../panels/PageOpHelixEdit.ui" line="50"/>
      <location filename="../panels/PageOpCustomEdit.ui" line="42"/>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="36"/>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="50"/>
      <location filename="../panels/PageOpEngraveEdit.ui" line="36"/>
      <location filename="../panels/PageOpEngraveEdit.ui" line="50"/>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="36"/>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="50"/>
      <location filename="../panels/PageOpVcarveEdit.ui" line="36"/>
      <location filename="../panels/PageOpVcarveEdit.ui" line="50"/>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="36"/>
      <location filename="../panels/PageOpProbeEdit.ui" line="42"/>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="36"/>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="50"/>
      <location filename="../panels/PageOpDrillingEdit.ui" line="42"/>
      <location filename="../panels/PageOpDrillingEdit.ui" line="56"/>
      <source>The tool and its settings to be used for this operation</source>
      <translation>The tool and its settings to be used for this operation</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDeburrEdit.ui" line="85"/>
      <location filename="../panels/PageOpSlotEdit.ui" line="52"/>
      <location filename="../panels/PageOpCustomEdit.ui" line="49"/>
      <location filename="../panels/SetupGlobal.ui" line="261"/>
      <location filename="../panels/PageOpEngraveEdit.ui" line="43"/>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="43"/>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="46"/>
      <location filename="../panels/PageOpTappingEdit.ui" line="96"/>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="43"/>
      <location filename="../panels/PageOpDrillingEdit.ui" line="49"/>
      <source>Coolant mode</source>
      <translation type="unfinished">Coolant mode</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="102"/>
      <source>The cutting mode assumes that the cut on one side of the tool bit represents the resulting part and the other side is either already milled away or will be removed later on. Climb mode is when the tool bit is moved into the cut on each rotation, whereas in conventional mode the tool bit&apos;s rotation and the tool&apos;s lateral movement are in the same direction</source>
      <translation type="unfinished">The cutting mode assumes that the cut on one side of the tool bit represents the resulting part and the other side is either already milled away or will be removed later on. Climb mode is when the tool bit is moved into the cut on each rotation, whereas in conventional mode the tool bit&apos;s rotation and the tool&apos;s lateral movement are in the same direction</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="126"/>
      <source>Pattern the tool bit is moved in to clear the material</source>
      <translation>Pattern the tool bit is moved in to clear the material</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="133"/>
      <source>ZigZag</source>
      <translation>之字形</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="143"/>
      <source>Spiral</source>
      <translation>螺旋</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="148"/>
      <source>ZigZagOffset</source>
      <translation>ZigZagOffset</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="153"/>
      <source>Line</source>
      <translation>線</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="158"/>
      <source>Grid</source>
      <translation>格線</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="163"/>
      <source>Triangle</source>
      <translation>三角形</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="171"/>
      <source>Angle</source>
      <translation>角度</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="178"/>
      <source>Angle in which the pattern is applied</source>
      <translation>Angle in which the pattern is applied</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="192"/>
      <source>The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles</source>
      <translation>The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="211"/>
      <source>Material allowance</source>
      <translation type="unfinished">Material allowance</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="218"/>
      <source>The amount of material that should be left by this operation in relation to the target shape</source>
      <translation>The amount of material that should be left by this operation in relation to the target shape</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="231"/>
      <source>Specify if this operation uses a starting point</source>
      <translation>Specify if this operation uses a starting point</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="234"/>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="264"/>
      <source>Use start point</source>
      <translation type="unfinished">Use start point</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="241"/>
      <source>If selected the operation uses the outline of the selected base geometry and ignores all holes and islands</source>
      <translation>If selected the operation uses the outline of the selected base geometry and ignores all holes and islands</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="251"/>
      <source>Clear edges</source>
      <translation type="unfinished">Clear edges</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="258"/>
      <source>Min travel</source>
      <translation type="unfinished">Min travel</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="265"/>
      <source>Check to skip machining regions that have already been cleared by previous operations</source>
      <translation>Check to skip machining regions that have already been cleared by previous operations</translation>
    </message>
    <message>
      <location filename="../panels/PageOpPocketFullEdit.ui" line="268"/>
      <source>Use rest machining</source>
      <translation type="unfinished">Use rest machining</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="174"/>
      <source>Use Start Point</source>
      <translation>Use Start Point</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProbeEdit.ui" line="59"/>
      <source>Probe grid points</source>
      <translation type="unfinished">Probe grid points</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProbeEdit.ui" line="65"/>
      <source>X:</source>
      <translation>X：</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProbeEdit.ui" line="82"/>
      <source>Y:</source>
      <translation>Y：</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProbeEdit.ui" line="102"/>
      <source>Probe</source>
      <translation>Probe</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProbeEdit.ui" line="108"/>
      <source>X offset</source>
      <translation type="unfinished">X offset</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProbeEdit.ui" line="122"/>
      <source>Y offset</source>
      <translation type="unfinished">Y offset</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProbeEdit.ui" line="145"/>
      <source>File name</source>
      <translation type="unfinished">File name</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProbeEdit.ui" line="139"/>
      <source>Output</source>
      <translation>輸出</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProbeEdit.ui" line="152"/>
      <source>Enter the filename where the probe points should be written</source>
      <translation>Enter the filename where the probe points should be written</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProbeEdit.ui" line="155"/>
      <source>ProbePoints.txt</source>
      <translation>ProbePoints.txt</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="81"/>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="100"/>
      <source>PLACEHOLDER</source>
      <translation>PLACEHOLDER</translation>
    </message>
    <message>
      <location filename="../panels/PageOpDeburrEdit.ui" line="145"/>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="96"/>
      <source>The direction in which the profile is performed, clockwise or counterclockwise</source>
      <translation>The direction in which the profile is performed, clockwise or counterclockwise</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="121"/>
      <source>The amount of extra material left by this operation in relation to the target shape</source>
      <translation>The amount of extra material left by this operation in relation to the target shape</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="70"/>
      <source>Cut side</source>
      <translation type="unfinished">Cut side</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="77"/>
      <source>Specify if the profile should be performed inside or outside the base geometry features. This only matters if &apos;Use compensation&apos; is checked (the default).</source>
      <translation type="unfinished">Specify if the profile should be performed inside or outside the base geometry features. This only matters if &apos;Use compensation&apos; is checked (the default).</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="128"/>
      <source>Number of passes</source>
      <translation type="unfinished">Number of passes</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="138"/>
      <source>The number of passes to do. If more than one, requires a non-zero value for &apos;Pass stepover&apos;.</source>
      <translation type="unfinished">The number of passes to do. If more than one, requires a non-zero value for &apos;Pass stepover&apos;.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="145"/>
      <source>Pass stepover</source>
      <translation type="unfinished">Pass stepover</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="158"/>
      <source>If doing multiple passes, the extra offset of each additional pass</source>
      <translation type="unfinished">If doing multiple passes, the extra offset of each additional pass</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="171"/>
      <source>Check if this operation should use a starting point</source>
      <translation>Check if this operation should use a starting point</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="181"/>
      <source>Check if this profile operation should also process holes in the base geometry. Found holes are automatically offset on the opposite cut side and performed in the opposite direction as perimeters. Note that this does not include cylindrical holes, the assumption being that they will get drilled</source>
      <translation>檢查此輪廓操作是否也應處理基礎幾何體中的孔。找到的孔會自動在相反的切割側偏移，並在與週長相反的方向上執行。請注意，這不包括圓柱形孔，假設它們將被鑽孔</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="184"/>
      <source>Process holes</source>
      <translation type="unfinished">Process holes</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="191"/>
      <source>If checked, the profile operation is offset by the tool radius. The offset direction is determined by &apos;Cut side&apos;.</source>
      <translation type="unfinished">If checked, the profile operation is offset by the tool radius. The offset direction is determined by &apos;Cut side&apos;.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="201"/>
      <source>Check if you want this profile operation to also be applied to cylindrical holes, which normally get drilled. This can be useful if no drill of adequate size is available or the number of holes don&apos;t warrant a tool change. Note that the cut side and direction is reversed in respect to the specified values.</source>
      <translation type="unfinished">Check if you want this profile operation to also be applied to cylindrical holes, which normally get drilled. This can be useful if no drill of adequate size is available or the number of holes don&apos;t warrant a tool change. Note that the cut side and direction is reversed in respect to the specified values.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="204"/>
      <source>Process circles</source>
      <translation type="unfinished">Process circles</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="211"/>
      <source>Check if this profile operation should also process the outside perimeter of the base geometry shapes</source>
      <translation>檢查此輪廓操作是否還應處理基本幾何形狀的外周長</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="194"/>
      <source>Use Compensation</source>
      <translation>Use Compensation</translation>
    </message>
    <message>
      <location filename="../panels/PageOpProfileFullEdit.ui" line="214"/>
      <source>Process Perimeter</source>
      <translation>Process Perimeter</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="134"/>
      <location filename="../panels/PageOpSlotEdit.ui" line="196"/>
      <source>Vertex</source>
      <translation>Vertex</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="148"/>
      <source>End Feature Reference</source>
      <translation>結束結徵參考</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="97"/>
      <source>Choose what point to use on the first selected feature</source>
      <translation>選擇在第一個選定特徵上使用哪個點</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="42"/>
      <source> The tool and its settings to be used for this operation</source>
      <translation type="unfinished"> The tool and its settings to be used for this operation</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="78"/>
      <source>Start feature reference</source>
      <translation type="unfinished">Start feature reference</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="104"/>
      <location filename="../panels/PageOpSlotEdit.ui" line="176"/>
      <source>Center of mass</source>
      <translation>質心</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="109"/>
      <location filename="../panels/PageOpSlotEdit.ui" line="181"/>
      <source>Center of bounding box</source>
      <translation type="unfinished">Center of bounding box</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="114"/>
      <location filename="../panels/PageOpSlotEdit.ui" line="186"/>
      <source>Lowest point</source>
      <translation type="unfinished">Lowest point</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="119"/>
      <location filename="../panels/PageOpSlotEdit.ui" line="191"/>
      <source>Highest point</source>
      <translation type="unfinished">Highest point</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="124"/>
      <source>Long edge</source>
      <translation type="unfinished">Long edge</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="129"/>
      <source>Short edge</source>
      <translation type="unfinished">Short edge</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="169"/>
      <source>Choose what point to use on the second selected feature</source>
      <translation>選擇在第二個選定特徵上使用哪個點</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="229"/>
      <source>No base geometry Selected</source>
      <translation type="unfinished">No base geometry Selected</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="235"/>
      <source>No base geometry selected</source>
      <translation type="unfinished">No base geometry selected</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="248"/>
      <source>Currently using custom point inputs in the property view of the data tab</source>
      <translation type="unfinished">Currently using custom point inputs in the property view of the data tab</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="251"/>
      <source>Currently using custom point inputs available in the property view of the data tab</source>
      <translation type="unfinished">Currently using custom point inputs available in the property view of the data tab</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="282"/>
      <source>Extend path start</source>
      <translation type="unfinished">Extend path start</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="352"/>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="105"/>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="98"/>
      <source>Layer mode</source>
      <translation type="unfinished">Layer mode</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="381"/>
      <source>Path orientation</source>
      <translation type="unfinished">Path orientation</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="388"/>
      <source>Choose the path orientation with regard to the features selected</source>
      <translation type="unfinished">Choose the path orientation with regard to the features selected</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="392"/>
      <source>Start to end</source>
      <translation type="unfinished">Start to end</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="298"/>
      <source>Positive extends the beginning of the path, negative shortens</source>
      <translation>Positive extends the beginning of the path, negative shortens</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="308"/>
      <source>Extend Path End</source>
      <translation>Extend Path End</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="324"/>
      <source>Positive extends the end of the path, negative shortens</source>
      <translation>Positive extends the end of the path, negative shortens</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="364"/>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="117"/>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="105"/>
      <source>Complete the operation in a single pass at depth, or multiple passes to final depth</source>
      <translation>Complete the operation in a single pass at depth, or multiple passes to final depth</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="368"/>
      <source>Single-pass</source>
      <translation>Single-pass</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="373"/>
      <source>Multi-pass</source>
      <translation>Multi-pass</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="397"/>
      <source>Perpendicular</source>
      <translation>垂直</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="405"/>
      <source>Enable to reverse the cut direction of the slot path</source>
      <translation>Enable to reverse the cut direction of the slot path</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSlotEdit.ui" line="408"/>
      <source>Reverse cut direction</source>
      <translation>Reverse cut direction</translation>
    </message>
    <message>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="86"/>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="70"/>
      <source>Bounding box</source>
      <translation type="unfinished">Bounding box</translation>
    </message>
    <message>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="98"/>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="77"/>
      <source>Select the overall boundary for the operation</source>
      <translation type="unfinished">Select the overall boundary for the operation</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="84"/>
      <source>Scan type</source>
      <translation type="unfinished">Scan type</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="91"/>
      <source>Planar: flat, 3D surface scan. Rotational: 4th-axis rotational scan.</source>
      <translation type="unfinished">Planar: flat, 3D surface scan. Rotational: 4th-axis rotational scan.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="124"/>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="112"/>
      <source>Cut pattern</source>
      <translation type="unfinished">Cut pattern</translation>
    </message>
    <message>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="136"/>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="119"/>
      <source>Set the geometric clearing pattern to use for the operation</source>
      <translation type="unfinished">Set the geometric clearing pattern to use for the operation</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="126"/>
      <source>Profile edges</source>
      <translation type="unfinished">Profile edges</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="133"/>
      <source>Profile the edges of the selection</source>
      <translation type="unfinished">Profile the edges of the selection</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="140"/>
      <source>Avoid last X faces</source>
      <translation type="unfinished">Avoid last X faces</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="147"/>
      <source>Avoid cutting the last &apos;n&apos; faces in the base geometry list of selected faces</source>
      <translation type="unfinished">Avoid cutting the last &apos;n&apos; faces in the base geometry list of selected faces</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="154"/>
      <source>Bounding box extra offset X, Y</source>
      <translation>Bounding box extra offset X, Y</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="169"/>
      <source>Additional offset to the selected bounding box along the X axis</source>
      <translation type="unfinished">Additional offset to the selected bounding box along the X axis</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="179"/>
      <source>Additional offset to the selected bounding box along the Y axis</source>
      <translation type="unfinished">Additional offset to the selected bounding box along the Y axis</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="191"/>
      <source>Drop cutter direction</source>
      <translation type="unfinished">Drop cutter direction</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="198"/>
      <source>Dropcutter lines are created parallel to this axis.</source>
      <translation>Dropcutter lines are created parallel to this axis.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="156"/>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="212"/>
      <source>Set the Z-axis depth offset from the target surface</source>
      <translation type="unfinished">Set the Z-axis depth offset from the target surface</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="222"/>
      <source>Stepover</source>
      <translation type="unfinished">Stepover</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="261"/>
      <source>Set to true if specifying a start point</source>
      <translation type="unfinished">Set to true if specifying a start point</translation>
    </message>
    <message>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="214"/>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="274"/>
      <source>Optimize linear paths</source>
      <translation type="unfinished">Optimize linear paths</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="281"/>
      <source>If true, the cutter will remain inside the boundaries of the model or selected faces</source>
      <translation type="unfinished">If true, the cutter will remain inside the boundaries of the model or selected faces</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="284"/>
      <source>Boundary enforcement</source>
      <translation type="unfinished">Boundary enforcement</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="297"/>
      <source>Optimize stepover transitions</source>
      <translation type="unfinished">Optimize stepover transitions</translation>
    </message>
    <message>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="201"/>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="251"/>
      <source>Set the sampling resolution. Smaller values quickly increase processing time.</source>
      <translation>Set the sampling resolution. Smaller values quickly increase processing time.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="211"/>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="271"/>
      <source>Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output.</source>
      <translation>Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="294"/>
      <source>Enable separate optimization of transitions between, and breaks within, each step over path.</source>
      <translation>Enable separate optimization of transitions between, and breaks within, each step over path.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="205"/>
      <source>Depth offset</source>
      <translation>Depth offset</translation>
    </message>
    <message>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="73"/>
      <source>Select the algorithm to use: &apos;OCL Dropcutter*&apos;, or &apos;Experimental&apos; (not OCL based).</source>
      <translation type="unfinished">Select the algorithm to use: &apos;OCL Dropcutter*&apos;, or &apos;Experimental&apos; (not OCL based).</translation>
    </message>
    <message>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="149"/>
      <source>Boundary adjustment</source>
      <translation type="unfinished">Boundary adjustment</translation>
    </message>
    <message>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="166"/>
      <source>Step over</source>
      <translation>跨越</translation>
    </message>
    <message>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="179"/>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="229"/>
      <source>The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter.

A step over of 100% results in no overlap between two different cycles.</source>
      <translation>The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter.

A step over of 100% results in no overlap between two different cycles.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="194"/>
      <location filename="../panels/PageOpSurfaceEdit.ui" line="244"/>
      <source>Sample interval</source>
      <translation>採樣間隔</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="14"/>
      <source>Setup Global</source>
      <translation>Setup Global</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="30"/>
      <source>Depths</source>
      <translation>Depths</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="43"/>
      <source>Expression set as the StartDepth of a newly created operation.

Default: OpStartDepth</source>
      <translation>Expression set as the StartDepth of a newly created operation.

Default: OpStartDepth</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="59"/>
      <source>Expression set as the FinalDepth for a newly created operation.

Default: OpFinalDepth</source>
      <translation>Expression set as the FinalDepth for a newly created operation.

Default: OpFinalDepth</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="75"/>
      <source>Expression set as the StepDown of a newly created operation.

Default: OpToolDiameter</source>
      <translation>Expression set as the StepDown of a newly created operation.

Default: OpToolDiameter</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="87"/>
      <source>Heights</source>
      <translation>Heights</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="93"/>
      <source>Expression</source>
      <translation>Expression</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="103"/>
      <source>Offset</source>
      <translation>偏移</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="113"/>
      <source>Clearance</source>
      <translation>間隙</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="120"/>
      <source>Expression set as ClearanceHeight for new operations.

Default: &quot;OpStockZMax+SetupSheet.ClearanceHeightOffset&quot;</source>
      <translation type="unfinished">Expression set as ClearanceHeight for new operations.

Default: &quot;OpStockZMax+SetupSheet.ClearanceHeightOffset&quot;</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="145"/>
      <source>Expression set as SafeHeight for new operations.

Default: &quot;OpStockZMax+SetupSheet.SafeHeightOffset&quot;</source>
      <translation type="unfinished">Expression set as SafeHeight for new operations.

Default: &quot;OpStockZMax+SetupSheet.SafeHeightOffset&quot;</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="154"/>
      <source>SafeHeightOffset can be for expressions to set the SafeHeight for new operations.

Default: &quot;5mm&quot;</source>
      <translation type="unfinished">SafeHeightOffset can be for expressions to set the SafeHeight for new operations.

Default: &quot;5mm&quot;</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="225"/>
      <source>Rapid vertical speed assigned to VertRapid of new ToolController.</source>
      <translation>Rapid vertical speed assigned to VertRapid of new ToolController.</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="138"/>
      <source>Safe</source>
      <translation>Safe</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="129"/>
      <source>ClearanceHeightOffset - can be used by expressions to set the default ClearanceHeight for new operations.

Default: 3 mm</source>
      <translation>ClearanceHeightOffset - can be used by expressions to set the default ClearanceHeight for new operations.

Default: 3 mm</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="186"/>
      <source>Rapid Speeds</source>
      <translation>Rapid Speeds</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="192"/>
      <source>Horizontal</source>
      <translation>水平的</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="205"/>
      <source>Rapid horizontal speed assigned as HorizRapid to new ToolController</source>
      <translation type="unfinished">Rapid horizontal speed assigned as HorizRapid to new ToolController</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="212"/>
      <source>Vertical</source>
      <translation>垂直</translation>
    </message>
    <message>
      <location filename="../panels/PageOpThreadMillingEdit.ui" line="53"/>
      <source>Thread</source>
      <translation>Thread</translation>
    </message>
    <message>
      <location filename="../panels/PageOpThreadMillingEdit.ui" line="59"/>
      <source>Orientation</source>
      <translation>定位</translation>
    </message>
    <message>
      <location filename="../panels/ToolEditor.ui" line="43"/>
      <location filename="../panels/PageOpThreadMillingEdit.ui" line="73"/>
      <source>Type</source>
      <translation>類型</translation>
    </message>
    <message>
      <location filename="../panels/PageOpThreadMillingEdit.ui" line="86"/>
      <source>Fit</source>
      <translation>Fit</translation>
    </message>
    <message>
      <location filename="../panels/PageOpThreadMillingEdit.ui" line="106"/>
      <source>Major diameter</source>
      <translation>大徑</translation>
    </message>
    <message>
      <location filename="../panels/PageOpThreadMillingEdit.ui" line="120"/>
      <source>Minor diameter</source>
      <translation>小徑</translation>
    </message>
    <message>
      <location filename="../panels/PageOpThreadMillingEdit.ui" line="198"/>
      <source>Lead in/out</source>
      <translation type="unfinished">Lead in/out</translation>
    </message>
    <message>
      <location filename="../panels/PageOpThreadMillingEdit.ui" line="134"/>
      <source>Pitch</source>
      <translation>螺距</translation>
    </message>
    <message>
      <location filename="../panels/PageOpThreadMillingEdit.ui" line="36"/>
      <source>The tool and its settings to be used for this operation.</source>
      <translation type="unfinished">The tool and its settings to be used for this operation.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpThreadMillingEdit.ui" line="155"/>
      <source>TPI</source>
      <translation>TPI</translation>
    </message>
    <message>
      <location filename="../panels/SetupGlobal.ui" line="24"/>
      <location filename="../panels/PageOpThreadMillingEdit.ui" line="165"/>
      <source>Operation</source>
      <translation>Operation</translation>
    </message>
    <message>
      <location filename="../panels/PageOpThreadMillingEdit.ui" line="171"/>
      <source>Passes</source>
      <translation>Passes</translation>
    </message>
    <message>
      <location filename="../panels/PageOpVcarveEdit.ui" line="72"/>
      <source>Discretization Deflection</source>
      <translation>Discretization Deflection</translation>
    </message>
    <message>
      <location filename="../panels/PageOpVcarveEdit.ui" line="79"/>
      <source>This value is used in discretizing arcs into segments. Smaller values will result in larger G-code. Larger values may cause unwanted segments in the medial line path.</source>
      <translation type="unfinished">This value is used in discretizing arcs into segments. Smaller values will result in larger G-code. Larger values may cause unwanted segments in the medial line path.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpVcarveEdit.ui" line="104"/>
      <source>Filter colinear lines</source>
      <translation type="unfinished">Filter colinear lines</translation>
    </message>
    <message>
      <location filename="../panels/PageOpVcarveEdit.ui" line="111"/>
      <source>Sets how aggressively colinear segments are filtered from the voronoi diagram. Valid values are 0 - 90 degrees (larger numbers filter more). Default = 10</source>
      <translation type="unfinished">Sets how aggressively colinear segments are filtered from the voronoi diagram. Valid values are 0 - 90 degrees (larger numbers filter more). Default = 10</translation>
    </message>
    <message>
      <location filename="../panels/PageOpVcarveEdit.ui" line="124"/>
      <source>Finishing pass Z offset</source>
      <translation type="unfinished">Finishing pass Z offset</translation>
    </message>
    <message>
      <location filename="../panels/PageOpVcarveEdit.ui" line="131"/>
      <source>Endmill offset for the finishing pass run. Use small value like -0.2 mm to help clean &quot;fuzzy skin&quot; or other artefacts.</source>
      <translation type="unfinished">Endmill offset for the finishing pass run. Use small value like -0.2 mm to help clean &quot;fuzzy skin&quot; or other artefacts.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpVcarveEdit.ui" line="147"/>
      <source>After carving, travel again the path to remove artifacts and imperfections</source>
      <translation type="unfinished">After carving, travel again the path to remove artifacts and imperfections</translation>
    </message>
    <message>
      <location filename="../panels/PageOpVcarveEdit.ui" line="153"/>
      <source>Finishing pass</source>
      <translation type="unfinished">Finishing pass</translation>
    </message>
    <message>
      <location filename="../panels/PageOpVcarveEdit.ui" line="160"/>
      <source>Optimize path to avoid raising endmill when moving to adjacent edges. May result in sub-millimeter inaccuracies.</source>
      <translation type="unfinished">Optimize path to avoid raising endmill when moving to adjacent edges. May result in sub-millimeter inaccuracies.</translation>
    </message>
    <message>
      <location filename="../panels/PageOpVcarveEdit.ui" line="163"/>
      <source>Optimize movements</source>
      <translation type="unfinished">Optimize movements</translation>
    </message>
    <message>
      <location filename="../panels/PageOpWaterlineEdit.ui" line="66"/>
      <source>Algorithm</source>
      <translation>Algorithm</translation>
    </message>
    <message>
      <location filename="../panels/PointEdit.ui" line="14"/>
      <source>Point Edit</source>
      <translation>Point Edit</translation>
    </message>
    <message>
      <location filename="../panels/PointEdit.ui" line="22"/>
      <source>Global X</source>
      <translation>全域X</translation>
    </message>
    <message>
      <location filename="../panels/PointEdit.ui" line="29"/>
      <source>Global Y</source>
      <translation>全域Y</translation>
    </message>
    <message>
      <location filename="../panels/PointEdit.ui" line="39"/>
      <source>Global Z</source>
      <translation>全域Z</translation>
    </message>
    <message>
      <location filename="../panels/PropertyBag.ui" line="14"/>
      <source>Property Bag</source>
      <translation>Property Bag</translation>
    </message>
    <message>
      <location filename="../panels/PropertyBag.ui" line="55"/>
      <source>Modify</source>
      <translation>修改</translation>
    </message>
    <message>
      <location filename="../panels/ToolEditor.ui" line="20"/>
      <source>Tool</source>
      <translation>工具</translation>
    </message>
    <message>
      <location filename="../panels/ToolEditor.ui" line="26"/>
      <source>Name</source>
      <translation>名稱</translation>
    </message>
    <message>
      <location filename="../panels/ToolEditor.ui" line="36"/>
      <source>Display Name</source>
      <translation>顯示名稱</translation>
    </message>
    <message>
      <location filename="../panels/ToolEditor.ui" line="57"/>
      <source>Material</source>
      <translation>材質</translation>
    </message>
    <message>
      <location filename="../panels/ToolEditor.ui" line="67"/>
      <source>Length offset</source>
      <translation type="unfinished">Length offset</translation>
    </message>
    <message>
      <location filename="../panels/ToolEditor.ui" line="103"/>
      <source>Flat radius</source>
      <translation type="unfinished">Flat radius</translation>
    </message>
    <message>
      <location filename="../panels/ToolEditor.ui" line="110"/>
      <source>Corner radius</source>
      <translation type="unfinished">Corner radius</translation>
    </message>
    <message>
      <location filename="../panels/ToolEditor.ui" line="117"/>
      <source>Point/tip angle</source>
      <translation type="unfinished">Point/tip angle</translation>
    </message>
    <message>
      <location filename="../panels/ToolEditor.ui" line="124"/>
      <source>Cutting edge height</source>
      <translation type="unfinished">Cutting edge height</translation>
    </message>
    <message>
      <location filename="../panels/ToolEditor.ui" line="87"/>
      <location filename="../panels/ToolEditor.ui" line="184"/>
      <source>Tool Parameter</source>
      <translation>Tool Parameter</translation>
    </message>
    <message>
      <location filename="../panels/ToolEditor.ui" line="308"/>
      <source>Image</source>
      <translation>影像</translation>
    </message>
    <message>
      <location filename="../preferences/PathDressupHoldingTags.ui" line="20"/>
      <source>Tag Parameters</source>
      <translation>Tag Parameters</translation>
    </message>
    <message>
      <location filename="../preferences/PathDressupHoldingTags.ui" line="26"/>
      <source>Default width</source>
      <translation type="unfinished">Default width</translation>
    </message>
    <message>
      <location filename="../preferences/PathDressupHoldingTags.ui" line="33"/>
      <source>Set the default width of holding tags.

If the width is set to 0 the dressup will try to guess a reasonable value based on the path itself.</source>
      <translation>Set the default width of holding tags.

If the width is set to 0 the dressup will try to guess a reasonable value based on the path itself.</translation>
    </message>
    <message>
      <location filename="../preferences/PathDressupHoldingTags.ui" line="42"/>
      <source>Default height</source>
      <translation type="unfinished">Default height</translation>
    </message>
    <message>
      <location filename="../preferences/PathDressupHoldingTags.ui" line="49"/>
      <source>Default height of holding tags.

If the specified height is 0 the dressup will use half the height of the part. Should the height be bigger than the height of the part the dressup will reduce the height to the height of the part.</source>
      <translation>Default height of holding tags.

If the specified height is 0 the dressup will use half the height of the part. Should the height be bigger than the height of the part the dressup will reduce the height to the height of the part.</translation>
    </message>
    <message>
      <location filename="../preferences/PathDressupHoldingTags.ui" line="58"/>
      <source>Default angle</source>
      <translation type="unfinished">Default angle</translation>
    </message>
    <message>
      <location filename="../preferences/PathDressupHoldingTags.ui" line="65"/>
      <source>Plunge angle for ascent and descent of holding tag</source>
      <translation type="unfinished">Plunge angle for ascent and descent of holding tag</translation>
    </message>
    <message>
      <location filename="../preferences/PathDressupHoldingTags.ui" line="87"/>
      <source>Default radius</source>
      <translation type="unfinished">Default radius</translation>
    </message>
    <message>
      <location filename="../preferences/PathDressupHoldingTags.ui" line="112"/>
      <source>Initial # tags</source>
      <translation type="unfinished">Initial # tags</translation>
    </message>
    <message>
      <location filename="../preferences/PathDressupHoldingTags.ui" line="119"/>
      <source>Specify the number of tags generated when a new dressup is created</source>
      <translation type="unfinished">Specify the number of tags generated when a new dressup is created</translation>
    </message>
    <message>
      <location filename="../preferences/PathDressupHoldingTags.ui" line="94"/>
      <source>Radius of the fillet on the tag&apos;s top edge.

If the radius is bigger than that which the tag shape itself supports, the resulting shape will be that of a dome.</source>
      <translation type="unfinished">Radius of the fillet on the tag&apos;s top edge.

If the radius is bigger than that which the tag shape itself supports, the resulting shape will be that of a dome.</translation>
    </message>
    <message>
      <location filename="../preferences/PathDressupHoldingTags.ui" line="106"/>
      <source>Tag Generation</source>
      <translation>Tag Generation</translation>
    </message>
    <message>
      <location filename="../panels/PageOpCustomEdit.ui" line="69"/>
      <source>G-Code</source>
      <translation type="unfinished">G-Code</translation>
    </message>
    <message>
      <location filename="../panels/PageOpEngraveEdit.ui" line="70"/>
      <source>Start at vertex</source>
      <translation type="unfinished">Start at vertex</translation>
    </message>
    <message>
      <location filename="../panels/PageOpEngraveEdit.ui" line="77"/>
      <source>Specify the vertex number of the underlying shape string at which engraving should start</source>
      <translation type="unfinished">Specify the vertex number of the underlying shape string at which engraving should start</translation>
    </message>
  </context>
  <context>
    <name>Gui::Dialog::DlgSettingsPath</name>
    <message>
      <location filename="../preferences/PathJob.ui" line="14"/>
      <source>Job Preferences</source>
      <translation>Job Preferences</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="32"/>
      <source>General</source>
      <translation>一般</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="38"/>
      <source>Defaults</source>
      <translation>預設</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="55"/>
      <source>Template</source>
      <translation>模板</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="44"/>
      <source>The default template to be selected when creating a new job.

This can be helpful when almost all jobs will be processed by the same machine with a similar setup.

If left empty no template will be preselected.</source>
      <translation type="unfinished">The default template to be selected when creating a new job.

This can be helpful when almost all jobs will be processed by the same machine with a similar setup.

If left empty no template will be preselected.</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="72"/>
      <source>Geometry</source>
      <translation>幾何</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="256"/>
      <source>Post Processor</source>
      <translation>後處理器：</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="143"/>
      <source>Output File</source>
      <translation>Output File</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="238"/>
      <source>Overwrite existing file</source>
      <translation>Overwrite existing file</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="243"/>
      <source>Append Unique ID on conflict</source>
      <translation>Append Unique ID on conflict</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="165"/>
      <source>Enter a path and optionally file name (see below) to be used as the default for the post processor export.
The following substitutions are performed before the name is resolved at the time of the post processing:
Substitution allows the following:
%D ... directory of the active document
%d ... name of the active document (with extension)
%M ... user macro directory
%j ... name of the active Job object

The Following can be used if output is being split. If Output is not split
these will be ignored.
%T ... Tool Number
%t ... Tool Controller label

%W ... Work Coordinate System
%O ... Operation Label

When splitting output, a sequence number will always be added.

if %S is included, you can specify where the number occurs.  Without it, the number will be added to the end of the string.

%S ... Sequence Number

The following example stores all files with the same name as the document in the directory /home/freecad (please remove quotes):
&amp;quot;/home/cnc/%d.g-code&amp;quot;
See the file save policy below on how to deal with name conflicts.</source>
      <translation type="unfinished">Enter a path and optionally file name (see below) to be used as the default for the post processor export.
The following substitutions are performed before the name is resolved at the time of the post processing:
Substitution allows the following:
%D ... directory of the active document
%d ... name of the active document (with extension)
%M ... user macro directory
%j ... name of the active Job object

The Following can be used if output is being split. If Output is not split
these will be ignored.
%T ... Tool Number
%t ... Tool Controller label

%W ... Work Coordinate System
%O ... Operation Label

When splitting output, a sequence number will always be added.

if %S is included, you can specify where the number occurs.  Without it, the number will be added to the end of the string.

%S ... Sequence Number

The following example stores all files with the same name as the document in the directory /home/freecad (please remove quotes):
&amp;quot;/home/cnc/%d.g-code&amp;quot;
See the file save policy below on how to deal with name conflicts.</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="224"/>
      <source>Choose how to deal with potential file name conflicts. Always open a dialog, only open a dialog if the output file already exists, overwrite any existing file or add a unique (3 digit) sequential ID to the file name.</source>
      <translation>Choose how to deal with potential file name conflicts. Always open a dialog, only open a dialog if the output file already exists, overwrite any existing file or add a unique (3 digit) sequential ID to the file name.</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="275"/>
      <source>It doesn&apos;t seem there are any post processor scripts installed. Please add some into your macro directory and make sure the file name ends with &amp;quot;_post.py&amp;quot;.</source>
      <translation type="unfinished">It doesn&apos;t seem there are any post processor scripts installed. Please add some into your macro directory and make sure the file name ends with &amp;quot;_post.py&amp;quot;.</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="347"/>
      <source>Setup</source>
      <translation>Setup</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="353"/>
      <source>Stock</source>
      <translation>Stock</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="80"/>
      <source>Default geometry tolerance</source>
      <translation type="unfinished">Default geometry tolerance</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="87"/>
      <source>Default value for new jobs, used for computing Paths. Smaller increases accuracy, but slows down computation</source>
      <translation type="unfinished">Default value for new jobs, used for computing Paths. Smaller increases accuracy, but slows down computation</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="94"/>
      <source>Default curve accuracy</source>
      <translation type="unfinished">Default curve accuracy</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="131"/>
      <source>Post processor</source>
      <translation type="unfinished">Post processor</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="154"/>
      <source>Default path</source>
      <translation type="unfinished">Default path</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="207"/>
      <source>File save policy</source>
      <translation type="unfinished">File save policy</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="228"/>
      <source>Open file dialog</source>
      <translation type="unfinished">Open file dialog</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="233"/>
      <source>Open file dialog on conflict</source>
      <translation type="unfinished">Open file dialog on conflict</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="265"/>
      <source>Post processors selection</source>
      <translation type="unfinished">Post processors selection</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="282"/>
      <source>Default post processor</source>
      <translation type="unfinished">Default post processor</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="289"/>
      <source>Select one of the post processors as the default</source>
      <translation type="unfinished">Select one of the post processors as the default</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="302"/>
      <source>Default arguments</source>
      <translation type="unfinished">Default arguments</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="309"/>
      <source>Optional arguments passed to the default post processor specified above. See the post processor&apos;s documentation for supported arguments.</source>
      <translation type="unfinished">Optional arguments passed to the default post processor specified above. See the post processor&apos;s documentation for supported arguments.</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="372"/>
      <source>Create box</source>
      <translation type="unfinished">Create box</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="377"/>
      <source>Create cylinder</source>
      <translation type="unfinished">Create cylinder</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="382"/>
      <source>Extend model&apos;s bounding box</source>
      <translation type="unfinished">Extend model&apos;s bounding box</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="406"/>
      <source>Ext. X</source>
      <translation>Ext. X</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="426"/>
      <source>Ext. Y</source>
      <translation>Ext. Y</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="439"/>
      <source>Ext. Z</source>
      <translation>Ext. Z</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="458"/>
      <source>Radius</source>
      <translation>半徑</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="468"/>
      <location filename="../preferences/PathJob.ui" line="504"/>
      <source>Height</source>
      <translation>高度</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="484"/>
      <source>Length</source>
      <translation>間距</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="494"/>
      <source>Width</source>
      <translation>寬度</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="530"/>
      <source>Placement</source>
      <translation>佈置</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="542"/>
      <source>Angle</source>
      <translation>角度</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="552"/>
      <source>Axis</source>
      <translation>軸</translation>
    </message>
    <message>
      <location filename="../preferences/PathJob.ui" line="580"/>
      <source>Position</source>
      <translation>位置</translation>
    </message>
  </context>
  <context>
    <name>PathGui::DlgProcessorChooser</name>
    <message>
      <location filename="../../DlgProcessorChooser.cpp" line="43"/>
      <location filename="../../DlgProcessorChooser.cpp" line="72"/>
      <source>None</source>
      <translation>無</translation>
    </message>
  </context>
  <context>
    <name>PathGui::DlgSettingsPathColor</name>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="14"/>
      <source>GUI</source>
      <translation>圖形使用者介面</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="70"/>
      <source>Path highlight color</source>
      <translation>Path highlight color</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="83"/>
      <source>Default normal path color</source>
      <translation>Default normal path color</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="116"/>
      <source>Bounding box normal color</source>
      <translation>Bounding box normal color</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="123"/>
      <source>The default color for new shapes</source>
      <translation>新造型之預設色彩</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="169"/>
      <source>Probe path color</source>
      <translation>Probe path color</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="215"/>
      <source>Bounding box selection color</source>
      <translation>Bounding box selection color</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="261"/>
      <source>Default pathline width</source>
      <translation>Default pathline width</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="326"/>
      <source>Path selection style</source>
      <translation type="unfinished">Path selection style</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="354"/>
      <source>Bounding box</source>
      <translation type="unfinished">Bounding box</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="367"/>
      <source>Task panel layout</source>
      <translation type="unfinished">Task panel layout</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="391"/>
      <source>Multi-panel</source>
      <translation type="unfinished">Multi-panel</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="396"/>
      <source>Multi-panel - reversed</source>
      <translation type="unfinished">Multi-panel - reversed</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="42"/>
      <source>The default line thickness for new shapes</source>
      <translation>新造型之預設線條寬度</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="228"/>
      <source>Default path marker color</source>
      <translation>Default path marker color</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="90"/>
      <location filename="../../DlgSettingsPathColor.ui" line="143"/>
      <location filename="../../DlgSettingsPathColor.ui" line="189"/>
      <location filename="../../DlgSettingsPathColor.ui" line="235"/>
      <location filename="../../DlgSettingsPathColor.ui" line="268"/>
      <location filename="../../DlgSettingsPathColor.ui" line="288"/>
      <source>The default line color for new shapes</source>
      <translation>新造型之預設線條色彩</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="36"/>
      <source>Default Path Colors</source>
      <translation type="unfinished">Default Path Colors</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="182"/>
      <source>Rapid path color</source>
      <translation>Rapid path color</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="317"/>
      <source>UI Settings</source>
      <translation>UI Settings</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="339"/>
      <source>Default path shape selection behavior in 3D viewer</source>
      <translation>3D 檢視器中的預設路徑形狀選擇行為</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="349"/>
      <source>Shape</source>
      <translation>造型</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="359"/>
      <source>None</source>
      <translation>無</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="381"/>
      <source>Classic</source>
      <translation>Classic</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsPathColor.ui" line="386"/>
      <source>Classic - reversed</source>
      <translation>Classic - reversed</translation>
    </message>
    <message>
      <location filename="../preferences/Advanced.ui" line="14"/>
      <source>Advanced</source>
      <translation>進階選項</translation>
    </message>
    <message>
      <location filename="../preferences/Advanced.ui" line="20"/>
      <source>Warnings</source>
      <translation>警告</translation>
    </message>
    <message>
      <location filename="../preferences/Advanced.ui" line="26"/>
      <source>Suppress all warnings about setting speed rates for accurate cycle time calculation</source>
      <translation>Suppress all warnings about setting speed rates for accurate cycle time calculation</translation>
    </message>
    <message>
      <location filename="../preferences/Advanced.ui" line="29"/>
      <source>Suppress all missing speeds warning</source>
      <translation>Suppress all missing speeds warning</translation>
    </message>
    <message>
      <location filename="../preferences/Advanced.ui" line="45"/>
      <source>Suppress warning about setting the rapid speed rates for accurate cycle time calculation. Ignored if all speed warnings are already suppressed.</source>
      <translation>Suppress warning about setting the rapid speed rates for accurate cycle time calculation. Ignored if all speed warnings are already suppressed.</translation>
    </message>
    <message>
      <location filename="../preferences/Advanced.ui" line="48"/>
      <source>Suppress missing rapid speeds warning</source>
      <translation>Suppress missing rapid speeds warning</translation>
    </message>
    <message>
      <location filename="../preferences/Advanced.ui" line="64"/>
      <location filename="../preferences/Advanced.ui" line="83"/>
      <source>Suppress warning whenever a path selection mode is activated</source>
      <translation type="unfinished">Suppress warning whenever a path selection mode is activated</translation>
    </message>
    <message>
      <location filename="../preferences/Advanced.ui" line="67"/>
      <source>Suppress feed rate warning</source>
      <translation>Suppress feed rate warning</translation>
    </message>
    <message>
      <location filename="../preferences/Advanced.ui" line="111"/>
      <source>OpenCAMLib</source>
      <translation>OpenCAMLib</translation>
    </message>
    <message>
      <location filename="../preferences/Advanced.ui" line="86"/>
      <source>Suppress selection mode warning</source>
      <translation>Suppress selection mode warning</translation>
    </message>
    <message>
      <location filename="../preferences/Advanced.ui" line="117"/>
      <source>If OpenCAMLib is installed with Python bindings, it can be used by some additional 3D operations. NOTE: Enabling OpenCAMLib here requires a restart of FreeCAD to take effect.</source>
      <translation type="unfinished">If OpenCAMLib is installed with Python bindings, it can be used by some additional 3D operations. NOTE: Enabling OpenCAMLib here requires a restart of FreeCAD to take effect.</translation>
    </message>
    <message>
      <location filename="../preferences/Advanced.ui" line="127"/>
      <source>Enable OCL dependent features</source>
      <translation>啟用 OCL 相依特徵</translation>
    </message>
    <message>
      <location filename="../preferences/Advanced.ui" line="140"/>
      <source>Suppress warning if openCAMlib cannot be found</source>
      <translation>Suppress warning if openCAMlib cannot be found</translation>
    </message>
    <message>
      <location filename="../preferences/Advanced.ui" line="143"/>
      <source>Suppress openCAMlib warning</source>
      <translation>Suppress openCAMlib warning</translation>
    </message>
  </context>
  <context>
    <name>PathGui::TaskWidgetPathCompound</name>
    <message>
      <location filename="../../TaskDlgPathCompound.cpp" line="49"/>
      <source>Compound paths</source>
      <translation>Compound paths</translation>
    </message>
  </context>
  <context>
    <name>TaskDlgPathCompound</name>
    <message>
      <location filename="../../TaskDlgPathCompound.ui" line="14"/>
      <source>Paths List</source>
      <translation type="unfinished">Paths List</translation>
    </message>
    <message>
      <location filename="../../TaskDlgPathCompound.ui" line="20"/>
      <source>Reorder children by dragging and dropping them to their correct location</source>
      <translation>Reorder children by dragging and dropping them to their correct location</translation>
    </message>
  </context>
  <context>
    <name>TaskPanel</name>
    <message>
      <location filename="../panels/AxisMapEdit.ui" line="14"/>
      <source>AxisMap Dressup</source>
      <translation>AxisMap Dressup</translation>
    </message>
    <message>
      <location filename="../panels/HoldingTagsEdit.ui" line="80"/>
      <location filename="../panels/AxisMapEdit.ui" line="20"/>
      <source>Radius</source>
      <translation>半徑</translation>
    </message>
    <message>
      <location filename="../panels/AxisMapEdit.ui" line="27"/>
      <source>The radius of the wrapped axis</source>
      <translation>The radius of the wrapped axis</translation>
    </message>
    <message>
      <location filename="../panels/AxisMapEdit.ui" line="37"/>
      <source>Axis mapping</source>
      <translation type="unfinished">Axis mapping</translation>
    </message>
    <message>
      <location filename="../panels/AxisMapEdit.ui" line="44"/>
      <source>The input mapping axis. Coordinates of the first axis will be mapped to the second.</source>
      <translation>The input mapping axis. Coordinates of the first axis will be mapped to the second.</translation>
    </message>
    <message>
      <location filename="../panels/AxisMapEdit.ui" line="51"/>
      <source>X-&gt;A</source>
      <translation>X-&gt;A</translation>
    </message>
    <message>
      <location filename="../panels/AxisMapEdit.ui" line="56"/>
      <source>Y-&gt;A</source>
      <translation>Y-&gt;A</translation>
    </message>
    <message>
      <location filename="../panels/AxisMapEdit.ui" line="61"/>
      <source>X-&gt;B</source>
      <translation>X-&gt;B</translation>
    </message>
    <message>
      <location filename="../panels/AxisMapEdit.ui" line="66"/>
      <source>Y-&gt;B</source>
      <translation>Y-&gt;B</translation>
    </message>
    <message>
      <location filename="../panels/AxisMapEdit.ui" line="71"/>
      <source>X-&gt;C</source>
      <translation>X-&gt;C</translation>
    </message>
    <message>
      <location filename="../panels/AxisMapEdit.ui" line="76"/>
      <source>Y-&gt;C</source>
      <translation>Y-&gt;C</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="14"/>
      <source>Dogbones</source>
      <translation>逃角</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="35"/>
      <location filename="../panels/ZCorrectEdit.ui" line="35"/>
      <source>Dressup</source>
      <translation>Dressup</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="41"/>
      <source>Style</source>
      <translation>風格</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="48"/>
      <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Select desired style of the bone dressup:&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;Dogbone&lt;/span&gt; ... take the shortest path to cover the corner,&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;T-bone&lt;/span&gt; ... extend a certain direction until corner is covered&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
      <translation type="unfinished">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Select desired style of the bone dressup:&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;Dogbone&lt;/span&gt; ... take the shortest path to cover the corner,&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;T-bone&lt;/span&gt; ... extend a certain direction until corner is covered&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="52"/>
      <source>Dogbone</source>
      <translation>連桿</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="57"/>
      <source>T-bone horizontal</source>
      <translation>水平T型逃角</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="62"/>
      <source>T-bone vertical</source>
      <translation>垂直T型逃角</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="67"/>
      <source>T-bone long edge</source>
      <translation>長邊T型逃角</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="72"/>
      <source>T-bone short edge</source>
      <translation>短邊T型逃角</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="80"/>
      <source>Side</source>
      <translation>側面</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="87"/>
      <source>On which side of the profile bones are inserted - this also determines which corners are dressed up. The default value is determined based on the profile being dressed up.</source>
      <translation>On which side of the profile bones are inserted - this also determines which corners are dressed up. The default value is determined based on the profile being dressed up.</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="94"/>
      <source>Left</source>
      <translation>左視圖</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="99"/>
      <source>Right</source>
      <translation>右視圖</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="107"/>
      <source>Incision</source>
      <translation>Incision</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="114"/>
      <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Determines the incision length of the bone to be inserted into the profile.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;adaptive&lt;/span&gt; ... the length is adapted to cover the corner based on the angle of its edges, taking the current tool radius into account (default)&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;fixed&lt;/span&gt; ... is the same as adaptive for straight angles. For T-bones it&apos;s the radius of the tool (R) and for dogbones it&apos;s R * (2/√2 - 1).&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;custom&lt;/span&gt; ... lets you specify a custom (fixed) length below&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
      <translation type="unfinished">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Determines the incision length of the bone to be inserted into the profile.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;adaptive&lt;/span&gt; ... the length is adapted to cover the corner based on the angle of its edges, taking the current tool radius into account (default)&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;fixed&lt;/span&gt; ... is the same as adaptive for straight angles. For T-bones it&apos;s the radius of the tool (R) and for dogbones it&apos;s R * (2/√2 - 1).&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;custom&lt;/span&gt; ... lets you specify a custom (fixed) length below&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="121"/>
      <source>Adaptive</source>
      <translation>Adaptive</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="126"/>
      <source>Custom</source>
      <translation>自訂</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="131"/>
      <source>Fixed</source>
      <translation>固定</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="142"/>
      <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Enter length for each bone if &lt;span style=&quot; font-weight:600;&quot;&gt;Incision&lt;/span&gt; is set to &lt;span style=&quot; font-weight:600;&quot;&gt;custom&lt;/span&gt;, ignored otherwise.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
      <translation type="unfinished">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Enter length for each bone if &lt;span style=&quot; font-weight:600;&quot;&gt;Incision&lt;/span&gt; is set to &lt;span style=&quot; font-weight:600;&quot;&gt;custom&lt;/span&gt;, ignored otherwise.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="155"/>
      <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;List of bone locations (with all bones at that location) that are part of this dressup. The list is determined by the corners in the profile and the selected &lt;span style=&quot; font-weight:600;&quot;&gt;Side&lt;/span&gt; for the bones. &lt;/p&gt;&lt;p&gt;You can &lt;span style=&quot; font-weight:600;&quot;&gt;un-check&lt;/span&gt; the bones you don&apos;t want to be dressed up.&lt;/p&gt;&lt;p&gt;If a bone is &lt;span style=&quot; font-weight:600;&quot;&gt;grayed out&lt;/span&gt; it means that it is already dressed up by a previous dressup. Or put another way, if you dress up this dogbone dressup again you will only be able to select the bones that are un-checked here.&lt;/p&gt;&lt;p&gt;If this list is empty it probably means you&apos;re trying to create bones on the wrong side of the profile.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
      <translation type="unfinished">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;List of bone locations (with all bones at that location) that are part of this dressup. The list is determined by the corners in the profile and the selected &lt;span style=&quot; font-weight:600;&quot;&gt;Side&lt;/span&gt; for the bones. &lt;/p&gt;&lt;p&gt;You can &lt;span style=&quot; font-weight:600;&quot;&gt;un-check&lt;/span&gt; the bones you don&apos;t want to be dressed up.&lt;/p&gt;&lt;p&gt;If a bone is &lt;span style=&quot; font-weight:600;&quot;&gt;grayed out&lt;/span&gt; it means that it is already dressed up by a previous dressup. Or put another way, if you dress up this dogbone dressup again you will only be able to select the bones that are un-checked here.&lt;/p&gt;&lt;p&gt;If this list is empty it probably means you&apos;re trying to create bones on the wrong side of the profile.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../panels/DogboneEdit.ui" line="165"/>
      <source>Length</source>
      <translation>間距</translation>
    </message>
    <message>
      <location filename="../panels/DragKnifeEdit.ui" line="14"/>
      <source>Dragknife Dressup</source>
      <translation>Dragknife Dressup</translation>
    </message>
    <message>
      <location filename="../panels/DragKnifeEdit.ui" line="20"/>
      <source>Filter Angle</source>
      <translation>過濾角度</translation>
    </message>
    <message>
      <location filename="../panels/DragKnifeEdit.ui" line="27"/>
      <source>Angles less than filter angle will not receive corner actions</source>
      <translation>小於過濾角度的角度將不會收到轉角動作</translation>
    </message>
    <message>
      <location filename="../panels/DragKnifeEdit.ui" line="37"/>
      <source>Offset distance</source>
      <translation>偏移距離</translation>
    </message>
    <message>
      <location filename="../panels/DragKnifeEdit.ui" line="44"/>
      <source>Distance the point trails behind the spindle</source>
      <translation>Distance the point trails behind the spindle</translation>
    </message>
    <message>
      <location filename="../panels/DragKnifeEdit.ui" line="63"/>
      <source>Pivot height</source>
      <translation type="unfinished">Pivot height</translation>
    </message>
    <message>
      <location filename="../panels/DragKnifeEdit.ui" line="70"/>
      <source>Height to raise during corner action</source>
      <translation>Height to raise during corner action</translation>
    </message>
    <message>
      <location filename="../panels/HoldingTagsEdit.ui" line="14"/>
      <source>Holding Tags</source>
      <translation>Holding Tags</translation>
    </message>
    <message>
      <location filename="../panels/HoldingTagsEdit.ui" line="26"/>
      <source>Width</source>
      <translation>寬度</translation>
    </message>
    <message>
      <location filename="../panels/HoldingTagsEdit.ui" line="33"/>
      <source>Height</source>
      <translation>高度</translation>
    </message>
    <message>
      <location filename="../panels/HoldingTagsEdit.ui" line="40"/>
      <source>Angle</source>
      <translation>角度</translation>
    </message>
    <message>
      <location filename="../panels/HoldingTagsEdit.ui" line="47"/>
      <source>Width of the resulting holding tag</source>
      <translation type="unfinished">Width of the resulting holding tag</translation>
    </message>
    <message>
      <location filename="../panels/HoldingTagsEdit.ui" line="61"/>
      <source>Plunge angle for ascent and descent of holding tag</source>
      <translation type="unfinished">Plunge angle for ascent and descent of holding tag</translation>
    </message>
    <message>
      <location filename="../panels/HoldingTagsEdit.ui" line="126"/>
      <source>Edit</source>
      <translation>編輯</translation>
    </message>
    <message>
      <location filename="../panels/HoldingTagsEdit.ui" line="133"/>
      <source>Add</source>
      <translation>新增</translation>
    </message>
    <message>
      <location filename="../panels/HoldingTagsEdit.ui" line="54"/>
      <source>Height of holding tag. Note that resulting tag might be smaller if the tag&apos;s width and angle result in a triangular shape.</source>
      <translation type="unfinished">Height of holding tag. Note that resulting tag might be smaller if the tag&apos;s width and angle result in a triangular shape.</translation>
    </message>
    <message>
      <location filename="../panels/HoldingTagsEdit.ui" line="87"/>
      <source>Radius of the fillet at the top. If the radius is too big for the tag shape it gets reduced to the maximum possible radius - resulting in a spherical shape.</source>
      <translation>Radius of the fillet at the top. If the radius is too big for the tag shape it gets reduced to the maximum possible radius - resulting in a spherical shape.</translation>
    </message>
    <message>
      <location filename="../panels/HoldingTagsEdit.ui" line="97"/>
      <source>List of current tags. Edit coordinates by double click or Edit button. Tags are automatically disabled if they overlap with the previous tag, or don&apos;t lie on the base wire.</source>
      <translation type="unfinished">List of current tags. Edit coordinates by double click or Edit button. Tags are automatically disabled if they overlap with the previous tag, or don&apos;t lie on the base wire.</translation>
    </message>
    <message>
      <location filename="../panels/HoldingTagsEdit.ui" line="116"/>
      <source>Delete</source>
      <translation>刪除</translation>
    </message>
    <message>
      <location filename="../panels/HoldingTagsEdit.ui" line="143"/>
      <source>Auto Generate</source>
      <translation>自動生成</translation>
    </message>
    <message>
      <location filename="../panels/HoldingTagsEdit.ui" line="159"/>
      <location filename="../panels/HoldingTagsEdit.ui" line="181"/>
      <source>Replace All</source>
      <translation>全部取代</translation>
    </message>
    <message>
      <location filename="../panels/HoldingTagsEdit.ui" line="172"/>
      <source>Copy From</source>
      <translation>拷貝自</translation>
    </message>
    <message>
      <location filename="../panels/ZCorrectEdit.ui" line="14"/>
      <source>Z Depth Correction</source>
      <translation>Z 深度校正</translation>
    </message>
    <message>
      <location filename="../panels/ZCorrectEdit.ui" line="41"/>
      <source>Probe Points File</source>
      <translation>Probe Points File</translation>
    </message>
    <message>
      <location filename="../panels/ZCorrectEdit.ui" line="47"/>
      <source>File Name</source>
      <translation>檔案名稱</translation>
    </message>
    <message>
      <location filename="../panels/ZCorrectEdit.ui" line="54"/>
      <source>Enter the filename containing the probe data</source>
      <translation>Enter the filename containing the probe data</translation>
    </message>
  </context>
  <context>
    <name>TaskPathSimulator</name>
    <message>
      <location filename="../panels/TaskCAMSimulator.ui" line="14"/>
      <location filename="../panels/TaskPathCamoticsSim.ui" line="14"/>
      <location filename="../panels/TaskPathSimulator.ui" line="14"/>
      <source>Path Simulator</source>
      <translation>路徑模擬</translation>
    </message>
    <message>
      <location filename="../panels/TaskCAMSimulator.ui" line="31"/>
      <location filename="../panels/TaskPathSimulator.ui" line="229"/>
      <source>Accuracy</source>
      <translation type="unfinished">Accuracy</translation>
    </message>
    <message>
      <location filename="../panels/TaskCAMSimulator.ui" line="86"/>
      <location filename="../panels/TaskPathSimulator.ui" line="278"/>
      <source>Job</source>
      <translation type="unfinished">Job</translation>
    </message>
    <message>
      <location filename="../panels/TaskCAMSimulator.ui" line="103"/>
      <location filename="../panels/TaskPathSimulator.ui" line="55"/>
      <source>Activate/resume simulation</source>
      <translation type="unfinished">Activate/resume simulation</translation>
    </message>
    <message>
      <location filename="../panels/TaskPathSimulator.ui" line="35"/>
      <source>Stop running simulation</source>
      <translation>停止目前模擬程序</translation>
    </message>
    <message>
      <location filename="../panels/TaskPathSimulator.ui" line="38"/>
      <source>Stop</source>
      <translation>停止</translation>
    </message>
    <message>
      <location filename="../panels/TaskCAMSimulator.ui" line="106"/>
      <location filename="../panels/TaskPathSimulator.ui" line="58"/>
      <source>Play</source>
      <translation>播放</translation>
    </message>
    <message>
      <location filename="../panels/TaskPathSimulator.ui" line="75"/>
      <source>Pause simulation</source>
      <translation>暫停模擬</translation>
    </message>
    <message>
      <location filename="../panels/TaskPathSimulator.ui" line="78"/>
      <source>Pause</source>
      <translation>暫停</translation>
    </message>
    <message>
      <location filename="../panels/TaskPathSimulator.ui" line="95"/>
      <source>Single step simulation</source>
      <translation>單步模擬</translation>
    </message>
    <message>
      <location filename="../panels/TaskPathSimulator.ui" line="98"/>
      <source>Step</source>
      <translation>步驟</translation>
    </message>
    <message>
      <location filename="../panels/TaskPathSimulator.ui" line="115"/>
      <source>Run the simulation until it ends without an animation</source>
      <translation type="unfinished">Run the simulation until it ends without an animation</translation>
    </message>
    <message>
      <location filename="../panels/TaskPathSimulator.ui" line="180"/>
      <source>Speed</source>
      <translation>速度</translation>
    </message>
    <message>
      <location filename="../panels/TaskPathSimulator.ui" line="118"/>
      <source>Fast Forward</source>
      <translation>Fast Forward</translation>
    </message>
    <message>
      <location filename="../panels/TaskPathSimulator.ui" line="209"/>
      <source>G/s</source>
      <translation>G/s</translation>
    </message>
    <message>
      <location filename="../panels/TaskPathSimulator.ui" line="300"/>
      <source>* Note: Volumetric simulation, inaccuracies are inherent.</source>
      <translation>* Note: Volumetric simulation, inaccuracies are inherent.</translation>
    </message>
    <message>
      <location filename="../panels/TaskPathCamoticsSim.ui" line="29"/>
      <source>TextLabel</source>
      <translation>文字標籤</translation>
    </message>
    <message>
      <location filename="../panels/TaskPathCamoticsSim.ui" line="68"/>
      <source>Launch CAMotics</source>
      <translation type="unfinished">Launch CAMotics</translation>
    </message>
    <message>
      <location filename="../panels/TaskPathCamoticsSim.ui" line="75"/>
      <source>New CAMotics File</source>
      <translation type="unfinished">New CAMotics File</translation>
    </message>
  </context>
  <context>
    <name>pathEdit</name>
    <message>
      <location filename="../panels/PathEdit.ui" line="14"/>
      <source>Job Edit</source>
      <translation>工作編輯</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="808"/>
      <source>General</source>
      <translation>一般</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="826"/>
      <source>Job</source>
      <translation>工作</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="832"/>
      <source>Label</source>
      <translation>標籤</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="844"/>
      <source>Model</source>
      <translation>模型</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="872"/>
      <location filename="../panels/PathEdit.ui" line="1304"/>
      <location filename="../panels/PathEdit.ui" line="1523"/>
      <source>Edit</source>
      <translation>編輯</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="884"/>
      <source>Description</source>
      <translation>說明</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="915"/>
      <source>Output</source>
      <translation>輸出</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="928"/>
      <source>Enter a path and optionally file name (see below) to be used as the default for the post processor export.
The following substitutions are performed before the name is resolved at the time of the post processing:
Substitution allows the following:
%D ... directory of the active document
%d ... name of the active document (with extension)
%M ... user macro directory
%j ... name of the active Job object

The Following can be used if output is being split. If Output is not split
these will be ignored.
%T ... Tool Number
%t ... Tool Controller label

%W ... Work Coordinate System
%O ... Operation Label

When splitting output, a sequence number will always be added.

if %S is included, you can specify where the number occurs.  Without it, the number will be    added to the end of the string.

%S ... Sequence Number

The following example stores all files with the same name as the document in the directory /home/freecad (please remove quotes):
&quot;/home/cnc/%d.g-code&quot;
See the file save policy below on how to deal with name conflicts.</source>
      <translation type="unfinished">Enter a path and optionally file name (see below) to be used as the default for the post processor export.
The following substitutions are performed before the name is resolved at the time of the post processing:
Substitution allows the following:
%D ... directory of the active document
%d ... name of the active document (with extension)
%M ... user macro directory
%j ... name of the active Job object

The Following can be used if output is being split. If Output is not split
these will be ignored.
%T ... Tool Number
%t ... Tool Controller label

%W ... Work Coordinate System
%O ... Operation Label

When splitting output, a sequence number will always be added.

if %S is included, you can specify where the number occurs.  Without it, the number will be    added to the end of the string.

%S ... Sequence Number

The following example stores all files with the same name as the document in the directory /home/freecad (please remove quotes):
&quot;/home/cnc/%d.g-code&quot;
See the file save policy below on how to deal with name conflicts.</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="966"/>
      <source>Processor</source>
      <translation>前處理器</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="976"/>
      <source>Arguments</source>
      <translation>參數</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="996"/>
      <source>Work Coordinate Systems</source>
      <translation>工作座標系統</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1015"/>
      <source>Systems</source>
      <translation>系統</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1002"/>
      <source>Ordering by Fixture, will cause all operations to be performed in the first coordinate system before switching to the second. Then all operations will be performed there in the same order.

This is useful if the operator can safely load work into one coordinate system while the machine is doing work in another.

Ordering by Tool, will minimize the Tool Changes. A tool change will be done, then all operations in all coordinate systems before changing tools.

Ordering by operation will do each operation in all coordinate systems before moving to the next operation. This is especially useful in conjunction with the &apos;split output&apos; even with only a single work coordinate system since it will put each operation into a separate file.</source>
      <translation type="unfinished">Ordering by Fixture, will cause all operations to be performed in the first coordinate system before switching to the second. Then all operations will be performed there in the same order.

This is useful if the operator can safely load work into one coordinate system while the machine is doing work in another.

Ordering by Tool, will minimize the Tool Changes. A tool change will be done, then all operations in all coordinate systems before changing tools.

Ordering by operation will do each operation in all coordinate systems before moving to the next operation. This is especially useful in conjunction with the &apos;split output&apos; even with only a single work coordinate system since it will put each operation into a separate file.</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1041"/>
      <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;Work Coordinate Systems&lt;/span&gt; also called &lt;span style=&quot; font-style:italic;&quot;&gt;Work Offsets&lt;/span&gt;, &lt;span style=&quot; font-style:italic;&quot;&gt;Fixture Offsets&lt;/span&gt;, or &lt;span style=&quot; font-style:italic;&quot;&gt;Fixtures &lt;/span&gt;are useful for building efficient production jobs where the same part is done many times on the machine.
FreeCAD has no knowledge of where a particular coordinate system exists within the machine coordinate system so adding additional coordinate systems to your job will have no visual change within your job. It will, however, change your G-code output. The exact way in which the output is affected is controlled by the &apos;order by&apos; setting.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
      <translation type="unfinished">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;Work Coordinate Systems&lt;/span&gt; also called &lt;span style=&quot; font-style:italic;&quot;&gt;Work Offsets&lt;/span&gt;, &lt;span style=&quot; font-style:italic;&quot;&gt;Fixture Offsets&lt;/span&gt;, or &lt;span style=&quot; font-style:italic;&quot;&gt;Fixtures &lt;/span&gt;are useful for building efficient production jobs where the same part is done many times on the machine.
FreeCAD has no knowledge of where a particular coordinate system exists within the machine coordinate system so adding additional coordinate systems to your job will have no visual change within your job. It will, however, change your G-code output. The exact way in which the output is affected is controlled by the &apos;order by&apos; setting.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1196"/>
      <source>Split Output</source>
      <translation>Split Output</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="21"/>
      <source>Setup</source>
      <translation>設定</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="39"/>
      <source>Layout</source>
      <translation>配罝 </translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="45"/>
      <source>Stock</source>
      <translation>Stock</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="89"/>
      <source>Refresh</source>
      <translation>重新運算</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="905"/>
      <source>Template export</source>
      <translation type="unfinished">Template export</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="921"/>
      <source>Output file</source>
      <translation type="unfinished">Output file</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="983"/>
      <source>Optional arguments passed to the post processor. The arguments are specific for each post processor, please see its documentation for details.</source>
      <translation type="unfinished">Optional arguments passed to the post processor. The arguments are specific for each post processor, please see its documentation for details.</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1022"/>
      <source>Order by</source>
      <translation type="unfinished">Order by</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1184"/>
      <source>If multiple coordinate systems are in use, setting this to TRUE will cause the G-code to be written to multiple output files as controlled by the &apos;order by&apos; property. For example, if ordering by fixture, the first output file will be for the first fixture and separate file for the second.</source>
      <translation type="unfinished">If multiple coordinate systems are in use, setting this to TRUE will cause the G-code to be written to multiple output files as controlled by the &apos;order by&apos; property. For example, if ordering by fixture, the first output file will be for the first fixture and separate file for the second.</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="66"/>
      <source>Create box</source>
      <translation type="unfinished">Create box</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="71"/>
      <source>Create cylinder</source>
      <translation type="unfinished">Create cylinder</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="76"/>
      <source>Extend model&apos;s bounding box</source>
      <translation type="unfinished">Extend model&apos;s bounding box</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="81"/>
      <source>Use existing solid</source>
      <translation type="unfinished">Use existing solid</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="102"/>
      <source>Assign stock material</source>
      <translation type="unfinished">Assign stock material</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="146"/>
      <source>Ext. X</source>
      <translation>Ext. X</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="166"/>
      <source>Ext. Y</source>
      <translation>Ext. Y</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="179"/>
      <source>Ext. Z</source>
      <translation>Ext. Z</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="198"/>
      <source>Radius</source>
      <translation>半徑</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="208"/>
      <location filename="../panels/PathEdit.ui" line="244"/>
      <source>Height</source>
      <translation>高度</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="224"/>
      <source>Length</source>
      <translation>間距</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="234"/>
      <source>Width</source>
      <translation>寬度</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="260"/>
      <source>Alignment</source>
      <translation>對齊</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="266"/>
      <source>Move to Origin</source>
      <translation>移到原點</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="273"/>
      <source>Set Origin</source>
      <translation>設定原點</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="280"/>
      <source>Center in Stock</source>
      <translation>Center in Stock</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="287"/>
      <source>XY in Stock</source>
      <translation>XY in Stock</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="297"/>
      <source>Set</source>
      <translation>Set</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="303"/>
      <source>X-Axis</source>
      <translation>X 軸</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="310"/>
      <source>Y-Axis</source>
      <translation>Y 軸</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="317"/>
      <source>Z-Axis</source>
      <translation>Z 軸</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="324"/>
      <source>X=0</source>
      <translation>X=0</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="331"/>
      <source>Y=0</source>
      <translation>Y=0</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="338"/>
      <source>Z=0</source>
      <translation>Z=0</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="355"/>
      <source>Move - XY</source>
      <translation>Move - XY</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="513"/>
      <source>Rotate - XY</source>
      <translation>Rotate - XY</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="569"/>
      <source>Compound</source>
      <translation>複合</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="629"/>
      <source>Default values</source>
      <translation type="unfinished">Default values</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="641"/>
      <source>Start depth</source>
      <translation type="unfinished">Start depth</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="657"/>
      <source>Final depth</source>
      <translation type="unfinished">Final depth</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="673"/>
      <source>Step down</source>
      <translation type="unfinished">Step down</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="777"/>
      <source>Coolant mode</source>
      <translation type="unfinished">Coolant mode</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1342"/>
      <source>Default Values</source>
      <translation>預設值</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="635"/>
      <source>Depths</source>
      <translation>深度</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="725"/>
      <source>Expression set as ClearanceHeight for new operations.

Default: &quot;OpStockZMax+SetupSheet.ClearanceHeightOffset&quot;</source>
      <translation type="unfinished">Expression set as ClearanceHeight for new operations.

Default: &quot;OpStockZMax+SetupSheet.ClearanceHeightOffset&quot;</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="750"/>
      <source>Expression set as SafeHeight for new operations.

Default: &quot;OpStockZMax+SetupSheet.SafeHeightOffset&quot;</source>
      <translation type="unfinished">Expression set as SafeHeight for new operations.

Default: &quot;OpStockZMax+SetupSheet.SafeHeightOffset&quot;</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="759"/>
      <source>SafeHeightOffset can be for expressions to set the SafeHeight for new operations.

Default: &quot;5mm&quot;</source>
      <translation type="unfinished">SafeHeightOffset can be for expressions to set the SafeHeight for new operations.

Default: &quot;5mm&quot;</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1430"/>
      <source>Active Tool</source>
      <translation>Active Tool</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1187"/>
      <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If True, post processing will create multiple output files based on the &lt;span style=&quot; font-style:italic;&quot;&gt;order by&lt;/span&gt; setting.


For example, if &lt;span style=&quot; font-style:italic;&quot;&gt;order by&lt;/span&gt; is set to Tool, the first output file will contain the first tool change and all operations, in all coordinate systems, that can be done with that tool before the next tool change is called.


If &lt;span style=&quot; font-style:italic;&quot;&gt;order by&lt;/span&gt; is set to &lt;span style=&quot; font-style:italic;&quot;&gt;operation&lt;/span&gt; and &lt;span style=&quot; font-style:italic;&quot;&gt;split output&lt;/span&gt; is true, each operation will be written to a separate file.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
      <translation type="unfinished">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If True, post processing will create multiple output files based on the &lt;span style=&quot; font-style:italic;&quot;&gt;order by&lt;/span&gt; setting.


For example, if &lt;span style=&quot; font-style:italic;&quot;&gt;order by&lt;/span&gt; is set to Tool, the first output file will contain the first tool change and all operations, in all coordinate systems, that can be done with that tool before the next tool change is called.


If &lt;span style=&quot; font-style:italic;&quot;&gt;order by&lt;/span&gt; is set to &lt;span style=&quot; font-style:italic;&quot;&gt;operation&lt;/span&gt; and &lt;span style=&quot; font-style:italic;&quot;&gt;split output&lt;/span&gt; is true, each operation will be written to a separate file.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="345"/>
      <source>Link stock and model</source>
      <translation type="unfinished">Link stock and model</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="648"/>
      <source>Expression set as the StartDepth of a newly created operation.

Default: OpStartDepth</source>
      <translation>Expression set as the StartDepth of a newly created operation.

Default: OpStartDepth</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="664"/>
      <source>Expression set as the FinalDepth for a newly created operation.

Default: OpFinalDepth</source>
      <translation>Expression set as the FinalDepth for a newly created operation.

Default: OpFinalDepth</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="680"/>
      <source>Expression set as the StepDown of a newly created operation.

Default: OpToolDiameter</source>
      <translation>Expression set as the StepDown of a newly created operation.

Default: OpToolDiameter</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="692"/>
      <source>Heights</source>
      <translation>Heights</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="698"/>
      <source>Expression</source>
      <translation>Expression</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="708"/>
      <source>Offset</source>
      <translation>偏移</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="718"/>
      <source>Clearance</source>
      <translation>間隙</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="734"/>
      <source>ClearanceHeightOffset - can be used by expressions to set the default ClearanceHeight for new operations.

Default: 3 mm</source>
      <translation>ClearanceHeightOffset - can be used by expressions to set the default ClearanceHeight for new operations.

Default: 3 mm</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="743"/>
      <source>Safe</source>
      <translation>安全</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="771"/>
      <source>Coolant</source>
      <translation>冷卻劑</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1220"/>
      <location filename="../panels/PathEdit.ui" line="1238"/>
      <source>Tools</source>
      <translation>刀具</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1257"/>
      <source>Name</source>
      <translation>名稱</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1262"/>
      <source>Nr.</source>
      <translation>Nr.</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1267"/>
      <location filename="../panels/PathEdit.ui" line="1279"/>
      <source>Feed</source>
      <translation>進刀</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1270"/>
      <source>Horizontal feed</source>
      <translation type="unfinished">Horizontal feed</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1282"/>
      <source>Vertical feed</source>
      <translation type="unfinished">Vertical feed</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1291"/>
      <source>Spindle</source>
      <translation>主軸</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1311"/>
      <source>Add</source>
      <translation>新增</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1321"/>
      <source>Remove</source>
      <translation>移除</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1348"/>
      <source>Rapid Speeds</source>
      <translation>Rapid Speeds</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1357"/>
      <source>Horizontal</source>
      <translation>水平</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1370"/>
      <source>Rapid horizontal speed assigned as HorizRapid to new ToolController</source>
      <translation type="unfinished">Rapid horizontal speed assigned as HorizRapid to new ToolController</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1377"/>
      <source>Vertical</source>
      <translation>垂直</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1390"/>
      <source>Rapid vertical speed assigned to VertRapid of new ToolController</source>
      <translation type="unfinished">Rapid vertical speed assigned to VertRapid of new ToolController</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1418"/>
      <source>Workplan</source>
      <translation>工作平面</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1543"/>
      <source>Delete</source>
      <translation>刪除</translation>
    </message>
    <message>
      <location filename="../panels/PathEdit.ui" line="1554"/>
      <source>Op Defaults</source>
      <translation>Op Defaults</translation>
    </message>
  </context>
  <context>
    <name>Workbench</name>
    <message>
      <location filename="../../../InitGui.py" line="256"/>
      <source>Project Setup</source>
      <translation>Project Setup</translation>
    </message>
    <message>
      <location filename="../../../InitGui.py" line="258"/>
      <source>Tool Commands</source>
      <translation>刀具命令</translation>
    </message>
    <message>
      <location filename="../../../InitGui.py" line="262"/>
      <source>New Operations</source>
      <translation>New Operations</translation>
    </message>
    <message>
      <location filename="../../../InitGui.py" line="266"/>
      <location filename="../../../InitGui.py" line="303"/>
      <source>Path Modification</source>
      <translation>Path Modification</translation>
    </message>
    <message>
      <location filename="../../../InitGui.py" line="269"/>
      <source>Helpful Tools</source>
      <translation>Helpful Tools</translation>
    </message>
    <message>
      <location filename="../../../InitGui.py" line="272"/>
      <location filename="../../../InitGui.py" line="288"/>
      <location filename="../../../InitGui.py" line="295"/>
      <location filename="../../../InitGui.py" line="302"/>
      <location filename="../../../InitGui.py" line="310"/>
      <location filename="../../../InitGui.py" line="316"/>
      <location filename="../../../InitGui.py" line="318"/>
      <location filename="../../../InitGui.py" line="321"/>
      <source>&amp;CAM</source>
      <translation>&amp;CAM</translation>
    </message>
    <message>
      <location filename="../../../InitGui.py" line="289"/>
      <source>Path Dressup</source>
      <translation>Path Dressup</translation>
    </message>
    <message>
      <location filename="../../../InitGui.py" line="296"/>
      <source>Supplemental Commands</source>
      <translation>Supplemental Commands</translation>
    </message>
    <message>
      <location filename="../../../InitGui.py" line="311"/>
      <source>Specialty Operations</source>
      <translation>Specialty Operations</translation>
    </message>
    <message>
      <location filename="../../../InitGui.py" line="322"/>
      <source>Utils</source>
      <translation>Utils</translation>
    </message>
  </context>
  <context>
    <name>Path</name>
    <message>
      <location filename="../../../Path/Base/Gui/IconViewProvider.py" line="101"/>
      <source>Edit</source>
      <translation>編輯</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Camotics.py" line="74"/>
      <source>Drag Slider to Simulate</source>
      <translation>Drag Slider to Simulate</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Camotics.py" line="84"/>
      <source>Save Project As</source>
      <translation>Save Project As</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Camotics.py" line="86"/>
      <source>CAMotics Project (*.camotics)</source>
      <translation type="unfinished">CAMotics Project (*.camotics)</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="750"/>
      <source>H</source>
      <comment>H is horizontal feed rate. Must be as short as possible</comment>
      <translation>H</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="753"/>
      <source>V</source>
      <comment>V is vertical feed rate. Must be as short as possible</comment>
      <translation>V</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="756"/>
      <source>Tool number</source>
      <translation>刀具編號</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="759"/>
      <source>Horizontal feedrate</source>
      <translation>水平進給速度</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="762"/>
      <source>Vertical feedrate</source>
      <translation>垂直進給速度</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="765"/>
      <source>Spindle RPM</source>
      <translation>Spindle RPM</translation>
    </message>
    <message>
      <location filename="../../../PathScripts/PathUtils.py" line="638"/>
      <source>Selected tool is not a drill</source>
      <translation>Selected tool is not a drill</translation>
    </message>
    <message>
      <location filename="../../../PathScripts/PathUtils.py" line="645"/>
      <source>Invalid Cutting Edge Angle %.2f, must be &gt;0° and &lt;=180°</source>
      <translation>Invalid Cutting Edge Angle %.2f, must be &gt;0° and &lt;=180°</translation>
    </message>
    <message>
      <location filename="../../../PathScripts/PathUtils.py" line="655"/>
      <source>Cutting Edge Angle (%.2f) results in negative tool tip length</source>
      <translation>Cutting Edge Angle (%.2f) results in negative tool tip length</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/SanityCmd.py" line="79"/>
      <source>Save Sanity Check Report</source>
      <translation type="unfinished">Save Sanity Check Report</translation>
    </message>
    <message>
      <location filename="../../../PathScripts/PathUtilsGui.py" line="91"/>
      <source>Choose a CAM Job</source>
      <translation type="unfinished">Choose a CAM Job</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Deburr.py" line="182"/>
      <source>CW</source>
      <translation>順時針</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Deburr.py" line="183"/>
      <source>CCW</source>
      <translation>逆時針</translation>
    </message>
  </context>
  <context>
    <name>PathGeom</name>
    <message>
      <location filename="../../../Path/Geom.py" line="184"/>
      <source>face %s not handled, assuming not vertical</source>
      <translation>face %s not handled, assuming not vertical</translation>
    </message>
    <message>
      <location filename="../../../Path/Geom.py" line="201"/>
      <source>edge %s not handled, assuming not vertical</source>
      <translation>edge %s not handled, assuming not vertical</translation>
    </message>
    <message>
      <location filename="../../../Path/Geom.py" line="205"/>
      <source>isVertical(%s) not supported</source>
      <translation>isVertical(%s) not supported</translation>
    </message>
    <message>
      <location filename="../../../Path/Geom.py" line="236"/>
      <source>isHorizontal(%s) not supported</source>
      <translation>isHorizontal(%s) not supported</translation>
    </message>
    <message>
      <location filename="../../../Path/Geom.py" line="668"/>
      <source>%s not supported for flipping</source>
      <translation>%s not supported for flipping</translation>
    </message>
    <message>
      <location filename="../../../Path/Geom.py" line="723"/>
      <source>Zero working area to process. Check your selection and settings.</source>
      <translation>Zero working area to process. Check your selection and settings.</translation>
    </message>
  </context>
  <context>
    <name>App::Property</name>
    <message>
      <location filename="../../../Path/Base/PropertyBag.py" line="77"/>
      <location filename="../../../Path/Base/PropertyBag.py" line="114"/>
      <source>List of custom property groups</source>
      <translation>List of custom property groups</translation>
    </message>
    <message>
      <location filename="../../../Path/Base/SetupSheet.py" line="115"/>
      <source>Default speed for horizontal rapid moves.</source>
      <extracomment>float = field(default=0) float = field(default=0) float = field(default=0) float = field(default=0) float = field(default=0) float = field(default=0) float = field(default=None) bool = field(default=False) str = field(default=&quot;G54&quot;) str = field(default=&quot;off&quot;) int = field(default=0) int = field(default=None)</extracomment>
      <translation>Default speed for horizontal rapid moves.</translation>
    </message>
    <message>
      <location filename="../../../Path/Base/SetupSheet.py" line="121"/>
      <source>Default speed for vertical rapid moves.</source>
      <translation>Default speed for vertical rapid moves.</translation>
    </message>
    <message>
      <location filename="../../../Path/Base/SetupSheet.py" line="127"/>
      <location filename="../../../Path/Base/SetupSheet.py" line="385"/>
      <source>Coolant Modes</source>
      <translation>Coolant Modes</translation>
    </message>
    <message>
      <location filename="../../../Path/Base/SetupSheet.py" line="133"/>
      <location filename="../../../Path/Base/SetupSheet.py" line="394"/>
      <source>Default coolant mode.</source>
      <translation>Default coolant mode.</translation>
    </message>
    <message>
      <location filename="../../../Path/Base/SetupSheet.py" line="142"/>
      <source>The usage of this field depends on SafeHeightExpression - by default its value is added to the start depth and used for the safe height of an operation.</source>
      <translation>此欄位的使用取決於 SafeHeightExpression - 預設情況下，其值被加到起始深度並用於操作的安全高度。</translation>
    </message>
    <message>
      <location filename="../../../Path/Base/SetupSheet.py" line="148"/>
      <source>Expression for the safe height of new operations.</source>
      <translation>Expression for the safe height of new operations.</translation>
    </message>
    <message>
      <location filename="../../../Path/Base/SetupSheet.py" line="157"/>
      <source>The usage of this field depends on ClearanceHeightExpression - by default is value is added to the start depth and used for the clearance height of an operation.</source>
      <translation>此欄位的使用取決於 ClearanceHeightExpression - 預設情況下，該值會加到起始深度並用於操作的間隙高度。</translation>
    </message>
    <message>
      <location filename="../../../Path/Base/SetupSheet.py" line="166"/>
      <source>Expression for the clearance height of new operations.</source>
      <translation>Expression for the clearance height of new operations.</translation>
    </message>
    <message>
      <location filename="../../../Path/Base/SetupSheet.py" line="174"/>
      <source>Expression used for the start depth of new operations.</source>
      <translation>Expression used for the start depth of new operations.</translation>
    </message>
    <message>
      <location filename="../../../Path/Base/SetupSheet.py" line="182"/>
      <source>Expression used for the final depth of new operations.</source>
      <translation>Expression used for the final depth of new operations.</translation>
    </message>
    <message>
      <location filename="../../../Path/Base/SetupSheet.py" line="188"/>
      <source>Expression used for step down of new operations.</source>
      <translation>Expression used for step down of new operations.</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Tags.py" line="905"/>
      <location filename="../../../Path/Dressup/Boundary.py" line="54"/>
      <location filename="../../../Path/Dressup/Gui/AxisMap.py" line="56"/>
      <location filename="../../../Path/Dressup/Gui/Dogbone.py" line="416"/>
      <source>The base path to modify</source>
      <translation>要修改的基礎路徑</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Boundary.py" line="64"/>
      <source>Solid object to be used to limit the generated Path.</source>
      <translation>Solid object to be used to limit the generated Path.</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Boundary.py" line="74"/>
      <source>Determines if Boundary describes an inclusion or exclusion mask.</source>
      <translation>Determines if Boundary describes an inclusion or exclusion mask.</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Boundary.py" line="84"/>
      <location filename="../../../Path/Dressup/Boundary.py" line="112"/>
      <source>Keep tool down.</source>
      <translation type="unfinished">Keep tool down.</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/DogboneII.py" line="204"/>
      <source>The base path to dress up</source>
      <translation>The base path to dress up</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/DogboneII.py" line="212"/>
      <location filename="../../../Path/Dressup/Gui/Dogbone.py" line="422"/>
      <source>The side of path to insert bones</source>
      <translation>The side of path to insert bones</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/DogboneII.py" line="229"/>
      <location filename="../../../Path/Dressup/Gui/Dogbone.py" line="430"/>
      <source>The style of bones</source>
      <translation>The style of bones</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/DogboneII.py" line="238"/>
      <location filename="../../../Path/Dressup/Gui/Dogbone.py" line="446"/>
      <source>The algorithm to determine the bone length</source>
      <translation>The algorithm to determine the bone length</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/DogboneII.py" line="247"/>
      <location filename="../../../Path/Dressup/Gui/Dogbone.py" line="454"/>
      <source>Dressup length if incision is set to &apos;custom&apos;</source>
      <translation>如果切口設定為「自訂」，則為修飾長度。</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/DogboneII.py" line="255"/>
      <source>Bones that aren&apos;t dressed up</source>
      <translation>骨架未修飾</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/DogboneII.py" line="266"/>
      <source>Create bones only for outer closed profiles
Can be useful for multi profile operations, e.g. Pocket with ZigZagOffset pattern</source>
      <translation type="unfinished">Create bones only for outer closed profiles
Can be useful for multi profile operations, e.g. Pocket with ZigZagOffset pattern</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Tags.py" line="911"/>
      <source>Width of tags.</source>
      <translation>Width of tags.</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Tags.py" line="917"/>
      <source>Height of tags.</source>
      <translation>Height of tags.</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Tags.py" line="923"/>
      <source>Angle of tag plunge and ascent.</source>
      <translation>Angle of tag plunge and ascent.</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Tags.py" line="929"/>
      <source>Radius of the fillet for the tag.</source>
      <translation>Radius of the fillet for the tag.</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Tags.py" line="935"/>
      <source>Locations of inserted holding tags</source>
      <translation>Locations of inserted holding tags</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Tags.py" line="941"/>
      <source>IDs of disabled holding tags</source>
      <translation>停用持有標籤的 ID</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Tags.py" line="950"/>
      <source>Factor determining the # of segments used to approximate rounded tags.</source>
      <translation>Factor determining the # of segments used to approximate rounded tags.</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/AxisMap.py" line="62"/>
      <source>The input mapping axis</source>
      <translation>The input mapping axis</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/AxisMap.py" line="68"/>
      <source>The radius of the wrapped axis</source>
      <translation>The radius of the wrapped axis</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Array.py" line="43"/>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="75"/>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="170"/>
      <location filename="../../../Path/Dressup/Gui/Dragknife.py" line="60"/>
      <location filename="../../../Path/Dressup/Gui/ZCorrect.py" line="65"/>
      <source>The base toolpath to modify</source>
      <translation>要修改的基礎刀具路徑</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Dragknife.py" line="69"/>
      <source>Angles less than filter angle will not receive corner actions</source>
      <translation>小於過濾角度的角度將不會收到轉角動作</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Dragknife.py" line="75"/>
      <source>Distance the point trails behind the spindle</source>
      <translation>Distance the point trails behind the spindle</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Dragknife.py" line="81"/>
      <source>Height to raise during corner action</source>
      <translation>Height to raise during corner action</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="81"/>
      <source>Modify lead in to toolpath</source>
      <translation type="unfinished">Modify lead in to toolpath</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="87"/>
      <source>Modify lead out from toolpath</source>
      <translation type="unfinished">Modify lead out from toolpath</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="95"/>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="421"/>
      <source>Set distance which will attempts to avoid unnecessary retractions</source>
      <translation type="unfinished">Set distance which will attempts to avoid unnecessary retractions</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="101"/>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="280"/>
      <source>The style of motion into the toolpath</source>
      <translation type="unfinished">The style of motion into the toolpath</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="108"/>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="297"/>
      <source>The style of motion out of the toolpath</source>
      <translation type="unfinished">The style of motion out of the toolpath</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="121"/>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="313"/>
      <source>Angle of the Lead-In (1..90)</source>
      <translation type="unfinished">Angle of the Lead-In (1..90)</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="127"/>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="321"/>
      <source>Angle of the Lead-Out (1..90)</source>
      <translation type="unfinished">Angle of the Lead-Out (1..90)</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="133"/>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="350"/>
      <source>Determine length of the Lead-In</source>
      <translation type="unfinished">Determine length of the Lead-In</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="139"/>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="365"/>
      <source>Determine length of the Lead-Out</source>
      <translation type="unfinished">Determine length of the Lead-Out</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="145"/>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="390"/>
      <source>Invert Lead-In direction</source>
      <translation type="unfinished">Invert Lead-In direction</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="151"/>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="397"/>
      <source>Invert Lead-Out direction</source>
      <translation type="unfinished">Invert Lead-Out direction</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="157"/>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="404"/>
      <source>Move start point</source>
      <translation type="unfinished">Move start point</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="163"/>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="411"/>
      <source>Move end point</source>
      <translation type="unfinished">Move end point</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="115"/>
      <source>Perform plunges with G0</source>
      <translation>Perform plunges with G0</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="176"/>
      <source>Angle of ramp</source>
      <translation type="unfinished">Angle of ramp</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="182"/>
      <source>Ramping Method</source>
      <translation>Ramping Method</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="188"/>
      <source>Which feed rate to use for ramping</source>
      <translation>Which feed rate to use for ramping</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="194"/>
      <source>Custom feed rate</source>
      <translation>Custom feed rate</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="203"/>
      <source>Should the dressup ignore motion commands above DressupStartDepth</source>
      <translation>Should the dressup ignore motion commands above DressupStartDepth</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="212"/>
      <source>The depth where the ramp dressup is enabled. Above this ramps are not generated, but motion commands are passed through as is.</source>
      <translation>The depth where the ramp dressup is enabled. Above this ramps are not generated, but motion commands are passed through as is.</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/ZCorrect.py" line="71"/>
      <source>The point file from the surface probing.</source>
      <translation>The point file from the surface probing.</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/ZCorrect.py" line="79"/>
      <source>Deflection distance for arc interpolation</source>
      <translation>Deflection distance for arc interpolation</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/ZCorrect.py" line="88"/>
      <source>break segments into smaller segments of this length.</source>
      <translation>break segments into smaller segments of this length.</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="116"/>
      <source>The G-code output file for this project</source>
      <translation>The G-code output file for this project</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="122"/>
      <source>Select the Post Processor</source>
      <translation>Select the Post Processor</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="131"/>
      <source>Arguments for the Post Processor (specific to the script)</source>
      <translation>Arguments for the Post Processor (specific to the script)</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="137"/>
      <location filename="../../../Path/Main/Job.py" line="144"/>
      <source>Last Time the Job was post processed</source>
      <translation>Last Time the Job was post processed</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="152"/>
      <source>An optional description for this job</source>
      <translation>An optional description for this job</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="158"/>
      <source>Job Cycle Time Estimation</source>
      <translation>Job Cycle Time Estimation</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="168"/>
      <source>For computing Paths; smaller increases accuracy, but slows down computation</source>
      <translation>For computing Paths; smaller increases accuracy, but slows down computation</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="175"/>
      <source>Solid object to be used as stock.</source>
      <translation>Solid object to be used as stock.</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="184"/>
      <source>Compound path of all operations in the order they are processed.</source>
      <translation>Compound path of all operations in the order they are processed.</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="191"/>
      <source>Select the Type of Job</source>
      <translation>Select the Type of Job</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="199"/>
      <location filename="../../../Path/Main/Job.py" line="514"/>
      <source>Split output into multiple G-code files</source>
      <translation>Split output into multiple G-code files</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="205"/>
      <location filename="../../../Path/Main/Job.py" line="505"/>
      <source>If multiple WCS, order the output this way</source>
      <translation>If multiple WCS, order the output this way</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="211"/>
      <location filename="../../../Path/Main/Job.py" line="496"/>
      <source>The Work Coordinate Systems for the Job</source>
      <translation>The Work Coordinate Systems for the Job</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="303"/>
      <source>SetupSheet holding the settings for this job</source>
      <translation>SetupSheet holding the settings for this job</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="322"/>
      <source>The base objects for all operations</source>
      <translation>The base objects for all operations</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="352"/>
      <source>Collection of all tool controllers for the job</source>
      <translation>Collection of all tool controllers for the job</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="187"/>
      <location filename="../../../Path/Op/Base.py" line="444"/>
      <location filename="../../../Path/Main/Job.py" line="487"/>
      <source>Operations Cycle Time Estimation</source>
      <translation>Operations Cycle Time Estimation</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="523"/>
      <source>Select the type of Job</source>
      <translation>Select the type of Job</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Stock.py" line="118"/>
      <source>The base object this stock is derived from</source>
      <translation>The base object this stock is derived from</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Stock.py" line="127"/>
      <source>Extra allowance from part bound box in negative X-direction</source>
      <translation type="unfinished">Extra allowance from part bound box in negative X-direction</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Stock.py" line="136"/>
      <source>Extra allowance from part bound box in positive X-direction</source>
      <translation type="unfinished">Extra allowance from part bound box in positive X-direction</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Stock.py" line="145"/>
      <source>Extra allowance from part bound box in negative Y-direction</source>
      <translation type="unfinished">Extra allowance from part bound box in negative Y-direction</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Stock.py" line="154"/>
      <source>Extra allowance from part bound box in positive Y-direction</source>
      <translation type="unfinished">Extra allowance from part bound box in positive Y-direction</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Stock.py" line="163"/>
      <source>Extra allowance from part bound box in negative Z-direction</source>
      <translation type="unfinished">Extra allowance from part bound box in negative Z-direction</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Stock.py" line="172"/>
      <source>Extra allowance from part bound box in positive Z-direction</source>
      <translation type="unfinished">Extra allowance from part bound box in positive Z-direction</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Stock.py" line="242"/>
      <source>Length of this stock box</source>
      <translation>Length of this stock box</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Stock.py" line="248"/>
      <source>Width of this stock box</source>
      <translation>Width of this stock box</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Stock.py" line="254"/>
      <source>Height of this stock box</source>
      <translation>Height of this stock box</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Stock.py" line="294"/>
      <source>Radius of this stock cylinder</source>
      <translation>Radius of this stock cylinder</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Stock.py" line="300"/>
      <source>Height of this stock cylinder</source>
      <translation>Height of this stock cylinder</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Stock.py" line="336"/>
      <source>Internal representation of stock type</source>
      <translation>Internal representation of stock type</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Fixture.py" line="39"/>
      <source>Fixture Offset Number</source>
      <translation>Fixture Offset Number</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="169"/>
      <location filename="../../../Path/Op/Gui/PathShapeTC.py" line="57"/>
      <location filename="../../../Path/Main/Gui/Fixture.py" line="64"/>
      <source>Make False, to prevent operation from generating code</source>
      <translation>Make False, to prevent operation from generating code</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1665"/>
      <source>Side of selected faces that tool should cut</source>
      <translation>Side of selected faces that tool should cut</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1674"/>
      <source>Type of adaptive operation</source>
      <translation>Type of adaptive operation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Helix.py" line="170"/>
      <location filename="../../../Path/Op/Adaptive.py" line="1692"/>
      <location filename="../../../Path/Op/PocketBase.py" line="154"/>
      <source>Percent of cutter diameter to step over on each pass</source>
      <translation>Percent of cutter diameter to step over on each pass</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1701"/>
      <source>Lift distance for rapid moves</source>
      <translation>Lift distance for rapid moves</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1710"/>
      <source>Max length of keep tool down path compared to direct distance between points</source>
      <translation>Max length of keep tool down path compared to direct distance between points</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1683"/>
      <source>Influences calculation performance vs stability and accuracy.

Larger values (further to the right) will calculate faster; smaller values (further to the left) will result in more accurate toolpaths.</source>
      <translation type="unfinished">Influences calculation performance vs stability and accuracy.

Larger values (further to the right) will calculate faster; smaller values (further to the left) will result in more accurate toolpaths.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1719"/>
      <source>How much stock to leave in the XY plane (eg for finishing operation)</source>
      <translation type="unfinished">How much stock to leave in the XY plane (eg for finishing operation)</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1837"/>
      <source>Orders cuts by region instead of depth. This property is only used if the ModelAwareExperiment is enabled.</source>
      <translation type="unfinished">Orders cuts by region instead of depth. This property is only used if the ModelAwareExperiment is enabled.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1852"/>
      <location filename="../../../Path/Op/Adaptive.py" line="1958"/>
      <source>Enable the experimental model awareness feature to respect 3D geometry and prevent cutting under overhangs</source>
      <translation type="unfinished">Enable the experimental model awareness feature to respect 3D geometry and prevent cutting under overhangs</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1947"/>
      <source>How much stock to leave along the Z axis (eg for finishing operation)</source>
      <translation type="unfinished">How much stock to leave along the Z axis (eg for finishing operation)</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1737"/>
      <source>Force plunging into material inside and clearing towards the edges</source>
      <translation>Force plunging into material inside and clearing towards the edges</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1728"/>
      <source>How much stock to leave along the Z axis (eg for finishing operation). This property is only used if the ModelAwareExperiment is enabled.</source>
      <translation type="unfinished">How much stock to leave along the Z axis (eg for finishing operation). This property is only used if the ModelAwareExperiment is enabled.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1746"/>
      <source>To take a finishing profile path at the end</source>
      <translation>To take a finishing profile path at the end</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1752"/>
      <location filename="../../../Path/Op/Adaptive.py" line="1762"/>
      <source>Stop processing</source>
      <translation>Stop processing</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1772"/>
      <source>Use Arcs (G2) for helix ramp</source>
      <translation>Use Arcs (G2) for helix ramp</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1781"/>
      <source>Internal input state</source>
      <translation>Internal input state</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1790"/>
      <source>Internal output state</source>
      <translation>Internal output state</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1801"/>
      <source>Helix ramp entry angle (degrees)</source>
      <translation>Helix ramp entry angle (degrees)</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1810"/>
      <source>Helix cone angle (degrees)</source>
      <translation>Helix cone angle (degrees)</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1819"/>
      <source>Limit helix entry diameter, if limit larger than tool diameter or 0, tool diameter is used</source>
      <translation>Limit helix entry diameter, if limit larger than tool diameter or 0, tool diameter is used</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/PocketShape.py" line="67"/>
      <location filename="../../../Path/Op/Adaptive.py" line="1828"/>
      <source>Uses the outline of the base geometry.</source>
      <translation>Uses the outline of the base geometry.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1936"/>
      <source>Orders cuts by region instead of depth.</source>
      <translation type="unfinished">Orders cuts by region instead of depth.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Area.py" line="98"/>
      <location filename="../../../Path/Op/Area.py" line="170"/>
      <source>Split Arcs into discrete segments</source>
      <translation>Split Arcs into discrete segments</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="116"/>
      <location filename="../../../Path/Op/Gui/PathShapeTC.py" line="142"/>
      <source>The base geometry for this operation</source>
      <translation>The base geometry for this operation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="125"/>
      <source>Holds the calculated value for the StartDepth</source>
      <translation>Holds the calculated value for the StartDepth</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="133"/>
      <source>Holds the calculated value for the FinalDepth</source>
      <translation>Holds the calculated value for the FinalDepth</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="141"/>
      <location filename="../../../Path/Op/Gui/PathShapeTC.py" line="100"/>
      <source>Holds the diameter of the tool</source>
      <translation>Holds the diameter of the tool</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="149"/>
      <source>Holds the max Z value of Stock</source>
      <translation>Holds the max Z value of Stock</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="156"/>
      <source>Holds the min Z value of Stock</source>
      <translation>Holds the min Z value of Stock</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="175"/>
      <source>An optional comment for this Operation</source>
      <translation>An optional comment for this Operation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="181"/>
      <source>User Assigned Label</source>
      <translation>User Assigned Label</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="201"/>
      <source>Base locations for this operation</source>
      <translation>Base locations for this operation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="212"/>
      <location filename="../../../Path/Op/Gui/PathShapeTC.py" line="94"/>
      <source>The tool controller that will be used to calculate the path</source>
      <translation>The tool controller that will be used to calculate the path</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="221"/>
      <source>Coolant mode for this operation</source>
      <translation>Coolant mode for this operation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="229"/>
      <source>Starting Depth of Tool- first cut depth in Z</source>
      <translation>Starting Depth of Tool- first cut depth in Z</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="235"/>
      <source>Final Depth of Tool- lowest value in Z</source>
      <translation>Final Depth of Tool- lowest value in Z</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="249"/>
      <source>Starting Depth internal use only for derived values</source>
      <translation>Starting Depth internal use only for derived values</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="260"/>
      <location filename="../../../Path/Op/Base.py" line="452"/>
      <source>Incremental Step Down of Tool</source>
      <translation>Incremental Step Down of Tool</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="268"/>
      <source>Maximum material removed on final pass.</source>
      <translation>Maximum material removed on final pass.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="279"/>
      <source>The height needed to clear clamps and obstructions</source>
      <translation>The height needed to clear clamps and obstructions</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="285"/>
      <source>Rapid Safety Height between locations.</source>
      <translation>Rapid Safety Height between locations.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="293"/>
      <source>The start point of this path</source>
      <translation>The start point of this path</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="299"/>
      <location filename="../../../Path/Op/Slot.py" line="235"/>
      <location filename="../../../Path/Op/Surface.py" line="418"/>
      <location filename="../../../Path/Op/Waterline.py" line="453"/>
      <source>Make True, if specifying a Start Point</source>
      <translation>Make True, if specifying a Start Point</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="307"/>
      <source>Lower limit of the turning diameter</source>
      <translation>Lower limit of the turning diameter</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="313"/>
      <source>Upper limit of the turning diameter.</source>
      <translation>Upper limit of the turning diameter.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="424"/>
      <location filename="../../../CAMTests/TestRefactoredTestPost.py" line="665"/>
      <source>Coolant option for this operation</source>
      <translation>Coolant option for this operation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/CircularHoleBase.py" line="82"/>
      <source>List of disabled features</source>
      <translation>列出停用特徵</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Custom.py" line="105"/>
      <source>The G-code to be inserted</source>
      <translation>The G-code to be inserted</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Deburr.py" line="126"/>
      <source>The desired width of the chamfer</source>
      <translation>The desired width of the chamfer</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Deburr.py" line="132"/>
      <source>The additional depth of the toolpath</source>
      <translation>The additional depth of the toolpath</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Deburr.py" line="146"/>
      <source>Direction of toolpath</source>
      <translation>Direction of toolpath</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Deburr.py" line="153"/>
      <source>Side of base object</source>
      <translation>Side of base object</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Deburr.py" line="161"/>
      <source>The segment where the toolpath starts</source>
      <translation>The segment where the toolpath starts</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Deburr.py" line="138"/>
      <source>How to join chamfer segments</source>
      <translation>How to join chamfer segments</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Drilling.py" line="103"/>
      <location filename="../../../Path/Op/Drilling.py" line="135"/>
      <source>Use chipbreaking</source>
      <translation>Use chipbreaking</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Drilling.py" line="111"/>
      <location filename="../../../Path/Op/Drilling.py" line="195"/>
      <source>Use G85 boring cycle with feed out</source>
      <translation>Use G85 boring cycle with feed out</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Drilling.py" line="123"/>
      <source>Incremental Drill depth before retracting to clear chips</source>
      <translation>Incremental Drill depth before retracting to clear chips</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Drilling.py" line="129"/>
      <source>Enable pecking</source>
      <translation>Enable pecking</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Drilling.py" line="141"/>
      <source>The time to dwell between peck cycles</source>
      <translation>The time to dwell between peck cycles</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Tapping.py" line="110"/>
      <location filename="../../../Path/Op/Drilling.py" line="147"/>
      <source>Enable dwell</source>
      <translation>Enable dwell</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Tapping.py" line="119"/>
      <location filename="../../../Path/Op/Drilling.py" line="156"/>
      <source>Calculate the tip length and subtract from final depth</source>
      <translation>Calculate the tip length and subtract from final depth</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Drilling.py" line="165"/>
      <location filename="../../../Path/Op/Drilling.py" line="242"/>
      <source>Controls tool retract height between holes in same op, Default=G98: safety height
Use property KeepToolDown to change this</source>
      <translation type="unfinished">Controls tool retract height between holes in same op, Default=G98: safety height
Use property KeepToolDown to change this</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Drilling.py" line="174"/>
      <source>The height where cutting feed rate starts and retract height for peck operation</source>
      <translation>The height where cutting feed rate starts and retract height for peck operation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Drilling.py" line="180"/>
      <source>How far the drilling depth is extended</source>
      <translation>How far the drilling depth is extended</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Drilling.py" line="189"/>
      <location filename="../../../Path/Op/Drilling.py" line="231"/>
      <location filename="../../../Path/Op/Gui/Drilling.py" line="151"/>
      <source>Apply G99 retraction: only retract to RetractHeight between holes in this operation</source>
      <translation>套用 G99 退刀：在此操作中僅退刀到孔之間的 RetractHeight</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Engrave.py" line="70"/>
      <location filename="../../../Path/Op/Engrave.py" line="78"/>
      <location filename="../../../Path/Op/Vcarve.py" line="294"/>
      <source>Additional base objects to be engraved</source>
      <translation>Additional base objects to be engraved</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Engrave.py" line="88"/>
      <source>The vertex index to start the toolpath from</source>
      <translation>The vertex index to start the toolpath from</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/FeatureExtension.py" line="478"/>
      <source>Default length of extensions.</source>
      <translation>預設的延伸長度。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/FeatureExtension.py" line="485"/>
      <source>List of features to extend.</source>
      <translation>列出要延伸的特徵</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/FeatureExtension.py" line="495"/>
      <source>When enabled connected extension edges are combined to wires.</source>
      <translation>當啟用時，連接的延伸邊緣會合併為線段。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Helix.py" line="161"/>
      <location filename="../../../Path/Op/Helix.py" line="223"/>
      <source>The direction of the circular cuts, ClockWise (Climb), or CounterClockWise (Conventional)</source>
      <translation type="unfinished">The direction of the circular cuts, ClockWise (Climb), or CounterClockWise (Conventional)</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Helix.py" line="150"/>
      <source>Start cutting from the inside or outside</source>
      <translation>Start cutting from the inside or outside</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Helix.py" line="141"/>
      <source>The direction of the circular cuts, ClockWise (CW), or CounterClockWise (CCW)</source>
      <translation type="unfinished">The direction of the circular cuts, ClockWise (CW), or CounterClockWise (CCW)</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Helix.py" line="176"/>
      <location filename="../../../Path/Op/Helix.py" line="199"/>
      <source>Starting Radius</source>
      <translation>Starting Radius</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Helix.py" line="185"/>
      <location filename="../../../Path/Op/Helix.py" line="210"/>
      <location filename="../../../Path/Op/Profile.py" line="142"/>
      <source>Extra value to stay away from final profile- good for roughing toolpath</source>
      <translation>Extra value to stay away from final profile- good for roughing toolpath</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/MillFace.py" line="97"/>
      <source>Shape to use for calculating Boundary</source>
      <translation>Shape to use for calculating Boundary</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/MillFace.py" line="105"/>
      <source>Clear edges of surface (Only applicable to BoundBox)</source>
      <translation>Clear edges of surface (Only applicable to BoundBox)</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/MillFace.py" line="112"/>
      <source>Exclude milling raised areas inside the face.</source>
      <translation>Exclude milling raised areas inside the face.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="116"/>
      <location filename="../../../Path/Op/Pocket.py" line="67"/>
      <location filename="../../../Path/Op/Surface.py" line="240"/>
      <location filename="../../../Path/Op/Waterline.py" line="266"/>
      <source>Choose how to process multiple Base Geometry features.</source>
      <translation>選擇如何處理多個基礎幾何圖形特徵。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Pocket.py" line="78"/>
      <source>Use adaptive algorithm to eliminate excessive air milling above planar pocket top.</source>
      <translation>Use adaptive algorithm to eliminate excessive air milling above planar pocket top.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Pocket.py" line="88"/>
      <source>Use adaptive algorithm to eliminate excessive air milling below planar pocket bottom.</source>
      <translation>Use adaptive algorithm to eliminate excessive air milling below planar pocket bottom.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Pocket.py" line="98"/>
      <source>Process the model and stock in an operation with no Base Geometry selected.</source>
      <translation>Process the model and stock in an operation with no Base Geometry selected.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/PocketBase.py" line="140"/>
      <source>Extra offset to apply to the operation. Direction is operation dependent.</source>
      <translation>應用於操作的額外偏移。方向取決於操作。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/PocketBase.py" line="146"/>
      <source>Start pocketing at center or boundary</source>
      <translation>Start pocketing at center or boundary</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/PocketBase.py" line="160"/>
      <source>Angle of the zigzag pattern</source>
      <translation>Angle of the zigzag pattern</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/PocketBase.py" line="166"/>
      <source>Clearing pattern to use</source>
      <translation>Clearing pattern to use</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/PocketBase.py" line="172"/>
      <source>Use 3D Sorting of Path</source>
      <translation>Use 3D Sorting of Path</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/PocketBase.py" line="178"/>
      <source>Attempts to avoid unnecessary retractions.</source>
      <translation>Attempts to avoid unnecessary retractions.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/PocketBase.py" line="187"/>
      <location filename="../../../Path/Op/PocketBase.py" line="256"/>
      <source>Last Stepover Radius.  If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes</source>
      <translation>Last Stepover Radius.  If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/PocketBase.py" line="196"/>
      <location filename="../../../Path/Op/PocketBase.py" line="268"/>
      <source>Skips machining regions that have already been cleared by previous operations.</source>
      <translation>Skips machining regions that have already been cleared by previous operations.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Probe.py" line="56"/>
      <source>X offset between tool and probe</source>
      <translation>X offset between tool and probe</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Probe.py" line="62"/>
      <source>Y offset between tool and probe</source>
      <translation>Y offset between tool and probe</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Probe.py" line="68"/>
      <source>Number of points to probe in X-direction</source>
      <translation type="unfinished">Number of points to probe in X-direction</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Probe.py" line="74"/>
      <source>Number of points to probe in Y-direction</source>
      <translation type="unfinished">Number of points to probe in Y-direction</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Probe.py" line="82"/>
      <source>The output location for the probe data to be written</source>
      <translation>The output location for the probe data to be written</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="107"/>
      <location filename="../../../Path/Op/PocketBase.py" line="131"/>
      <source>The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW)</source>
      <translation type="unfinished">The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW)</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="125"/>
      <source>Controls how tool moves around corners. Default=Round</source>
      <translation>Controls how tool moves around corners. Default=Round</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="133"/>
      <source>Maximum distance before a miter joint is truncated</source>
      <translation>斜面接點被截斷之前的最大距離</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="148"/>
      <source>Profile holes as well as the outline</source>
      <translation>Profile holes as well as the outline</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="154"/>
      <source>Profile the outline</source>
      <translation>Profile the outline</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="160"/>
      <source>Profile round holes</source>
      <translation>Profile round holes</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="166"/>
      <source>Side of edge that tool should cut</source>
      <translation>Side of edge that tool should cut</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="174"/>
      <source>Make True, if using Cutter Radius Compensation</source>
      <translation>Make True, if using Cutter Radius Compensation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="183"/>
      <source>The number of passes to do. If more than one, requires a non-zero value for Stepover</source>
      <translation type="unfinished">The number of passes to do. If more than one, requires a non-zero value for Stepover</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="192"/>
      <location filename="../../../Path/Op/Profile.py" line="337"/>
      <source>If doing multiple passes, the extra offset of each additional pass</source>
      <translation type="unfinished">If doing multiple passes, the extra offset of each additional pass</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="327"/>
      <source>The number of passes to do. Requires a non-zero value for Stepover</source>
      <translation type="unfinished">The number of passes to do. Requires a non-zero value for Stepover</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="128"/>
      <location filename="../../../Path/Op/Waterline.py" line="204"/>
      <source>Show the temporary path construction objects when module is in DEBUG mode.</source>
      <translation>當模組處於 DEBUG 模式時，顯示臨時路徑建構物件。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="148"/>
      <location filename="../../../Path/Op/Surface.py" line="284"/>
      <location filename="../../../Path/Op/Waterline.py" line="328"/>
      <source>Set the geometric clearing pattern to use for the operation.</source>
      <translation>Set the geometric clearing pattern to use for the operation.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="175"/>
      <location filename="../../../Path/Op/Surface.py" line="319"/>
      <location filename="../../../Path/Op/Waterline.py" line="369"/>
      <source>Complete the operation in a single pass at depth, or multiple passes to final depth.</source>
      <translation>Complete the operation in a single pass at depth, or multiple passes to final depth.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="123"/>
      <source>Show the temporary toolpath construction objects when module is in DEBUG mode.</source>
      <translation>Show the temporary toolpath construction objects when module is in DEBUG mode.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="131"/>
      <source>Enter custom start point for slot toolpath.</source>
      <translation>Enter custom start point for slot toolpath.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="139"/>
      <source>Enter custom end point for slot toolpath.</source>
      <translation>Enter custom end point for slot toolpath.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="157"/>
      <source>Positive extends the beginning of the toolpath, negative shortens.</source>
      <translation>Positive extends the beginning of the toolpath, negative shortens.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="166"/>
      <source>Positive extends the end of the toolpath, negative shortens.</source>
      <translation>Positive extends the end of the toolpath, negative shortens.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="184"/>
      <source>Choose the toolpath orientation with regard to the feature(s) selected.</source>
      <translation>選擇相對於所選特徵的刀具路徑方向。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="193"/>
      <source>Choose what point to use on the first selected feature.</source>
      <translation>選擇相對於所選特徵的刀具路徑方向。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="202"/>
      <source>Choose what point to use on the second selected feature.</source>
      <translation>選擇用於第二個所選特徵的點。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="211"/>
      <source>For arcs/circular edges, offset the radius for the toolpath.</source>
      <translation type="unfinished">For arcs/circular edges, offset the radius for the toolpath.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="220"/>
      <source>Enable to reverse the cut direction of the slot toolpath.</source>
      <translation>Enable to reverse the cut direction of the slot toolpath.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="229"/>
      <source>The custom start point for the toolpath of this operation</source>
      <translation>The custom start point for the toolpath of this operation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="412"/>
      <location filename="../../../Path/Op/Waterline.py" line="447"/>
      <source>The custom start point for the path of this operation</source>
      <translation>The custom start point for the path of this operation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="137"/>
      <source>Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot.</source>
      <translation>Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="146"/>
      <source>Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much.</source>
      <translation>Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="152"/>
      <location filename="../../../Path/Op/Surface.py" line="187"/>
      <source>Stop index(angle) for rotational scan</source>
      <translation>Stop index(angle) for rotational scan</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="161"/>
      <source>Dropcutter lines are created parallel to this axis.</source>
      <translation>Dropcutter lines are created parallel to this axis.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="169"/>
      <source>Additional offset to the selected bounding box</source>
      <translation>Additional offset to the selected bounding box</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="175"/>
      <source>The model will be rotated around this axis.</source>
      <translation>The model will be rotated around this axis.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="181"/>
      <source>Start index(angle) for rotational scan</source>
      <translation>Start index(angle) for rotational scan</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="196"/>
      <source>Planar: Flat, 3D surface scan.  Rotational: 4th-axis rotational scan.</source>
      <translation>Planar: Flat, 3D surface scan.  Rotational: 4th-axis rotational scan.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="205"/>
      <location filename="../../../Path/Op/Waterline.py" line="231"/>
      <source>Avoid cutting the last &apos;N&apos; faces in the Base Geometry list of selected faces.</source>
      <translation type="unfinished">Avoid cutting the last &apos;N&apos; faces in the Base Geometry list of selected faces.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="213"/>
      <location filename="../../../Path/Op/Waterline.py" line="239"/>
      <source>Do not cut internal features on avoided faces.</source>
      <translation>不在避免的面上切割內部特徵。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="222"/>
      <location filename="../../../Path/Op/Waterline.py" line="248"/>
      <source>Positive values push the cutter toward, or beyond, the boundary. Negative values retract the cutter away from the boundary.</source>
      <translation>Positive values push the cutter toward, or beyond, the boundary. Negative values retract the cutter away from the boundary.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="231"/>
      <location filename="../../../Path/Op/Waterline.py" line="257"/>
      <source>If true, the cutter will remain inside the boundaries of the model or selected face(s).</source>
      <translation>If true, the cutter will remain inside the boundaries of the model or selected face(s).</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="249"/>
      <location filename="../../../Path/Op/Waterline.py" line="275"/>
      <source>Positive values push the cutter toward, or into, the feature. Negative values retract the cutter away from the feature.</source>
      <translation>正值會將刀具推向或進入特徵。負值則會將刀具從特徵中撤回。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="258"/>
      <location filename="../../../Path/Op/Waterline.py" line="284"/>
      <source>Cut internal feature areas within a larger selected face.</source>
      <translation>在選定的較大面內切割內部特徵區域。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="266"/>
      <location filename="../../../Path/Op/Waterline.py" line="301"/>
      <source>Select the overall boundary for the operation.</source>
      <translation>Select the overall boundary for the operation.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="275"/>
      <location filename="../../../Path/Op/Waterline.py" line="319"/>
      <source>Set the direction for the cutting tool to engage the material: Climb (ClockWise) or Conventional (CounterClockWise)</source>
      <translation>Set the direction for the cutting tool to engage the material: Climb (ClockWise) or Conventional (CounterClockWise)</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="292"/>
      <location filename="../../../Path/Op/Waterline.py" line="336"/>
      <source>The yaw angle used for certain clearing patterns</source>
      <translation>The yaw angle used for certain clearing patterns</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="301"/>
      <location filename="../../../Path/Op/Waterline.py" line="345"/>
      <source>Reverse the cut order of the stepover paths. For circular cut patterns, begin at the outside and work toward the center.</source>
      <translation>Reverse the cut order of the stepover paths. For circular cut patterns, begin at the outside and work toward the center.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="310"/>
      <location filename="../../../Path/Op/Waterline.py" line="354"/>
      <source>Set the Z-axis depth offset from the target surface.</source>
      <translation>Set the Z-axis depth offset from the target surface.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="325"/>
      <location filename="../../../Path/Op/Waterline.py" line="375"/>
      <source>Set the start point for the cut pattern.</source>
      <translation>Set the start point for the cut pattern.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="334"/>
      <location filename="../../../Path/Op/Waterline.py" line="384"/>
      <source>Choose location of the center point for starting the cut pattern.</source>
      <translation>Choose location of the center point for starting the cut pattern.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="340"/>
      <source>Profile the edges of the selection.</source>
      <translation>Profile the edges of the selection.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="349"/>
      <location filename="../../../Path/Op/Waterline.py" line="393"/>
      <source>Set the sampling resolution. Smaller values quickly increase processing time.</source>
      <translation>Set the sampling resolution. Smaller values quickly increase processing time.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="358"/>
      <location filename="../../../Path/Op/Waterline.py" line="402"/>
      <source>Set the stepover percentage, based on the tool&apos;s diameter.</source>
      <translation type="unfinished">Set the stepover percentage, based on the tool&apos;s diameter.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="367"/>
      <location filename="../../../Path/Op/Waterline.py" line="411"/>
      <source>Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output.</source>
      <translation>Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="376"/>
      <location filename="../../../Path/Op/Waterline.py" line="420"/>
      <source>Enable separate optimization of transitions between, and breaks within, each step over path.</source>
      <translation>Enable separate optimization of transitions between, and breaks within, each step over path.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="385"/>
      <source>Convert co-planar arcs to G2/G3 G-code commands for `Circular` and `CircularZigZag` cut patterns.</source>
      <translation>Convert co-planar arcs to G2/G3 G-code commands for `Circular` and `CircularZigZag` cut patterns.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="394"/>
      <location filename="../../../Path/Op/Waterline.py" line="429"/>
      <source>Collinear and co-radial artifact gaps that are smaller than this threshold are closed in the path.</source>
      <translation>共線和同徑偽影的間隙如果小於此閾值，則會在路徑中被閉合。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="403"/>
      <location filename="../../../Path/Op/Waterline.py" line="438"/>
      <source>Feedback: three smallest gaps identified in the path geometry.</source>
      <translation>回饋：路徑幾何中確定的三個最小間隙。.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="328"/>
      <source>Set thread orientation</source>
      <translation>Set thread orientation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="335"/>
      <source>Currently only internal</source>
      <translation>Currently only internal</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="342"/>
      <source>Defines which standard thread was chosen</source>
      <translation>Defines which standard thread was chosen</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="348"/>
      <source>Set thread&apos;s major diameter</source>
      <translation type="unfinished">Set thread&apos;s major diameter</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="354"/>
      <source>Set thread&apos;s minor diameter</source>
      <translation type="unfinished">Set thread&apos;s minor diameter</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="360"/>
      <source>Set thread&apos;s pitch - used for metric threads</source>
      <translation type="unfinished">Set thread&apos;s pitch - used for metric threads</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="369"/>
      <source>Set thread&apos;s TPI (turns per inch) - used for imperial threads</source>
      <translation type="unfinished">Set thread&apos;s TPI (turns per inch) - used for imperial threads</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="378"/>
      <source>Override to control how loose or tight the threads are milled</source>
      <translation>Override to control how loose or tight the threads are milled</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="384"/>
      <source>Set how many passes are used to cut the thread</source>
      <translation>Set how many passes are used to cut the thread</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="390"/>
      <source>Direction of thread cutting operation</source>
      <translation>Direction of thread cutting operation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="399"/>
      <source>Set to True to get lead in and lead out arcs at the start and end of the thread cut</source>
      <translation>Set to True to get lead in and lead out arcs at the start and end of the thread cut</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="405"/>
      <source>Operation to clear the inside of the thread</source>
      <translation>Operation to clear the inside of the thread</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Vcarve.py" line="304"/>
      <source>Optimize movements</source>
      <translation type="unfinished">Optimize movements</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Vcarve.py" line="313"/>
      <source>Add finishing pass</source>
      <translation type="unfinished">Add finishing pass</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Vcarve.py" line="322"/>
      <source>Finishing pass Z offset</source>
      <translation type="unfinished">Finishing pass Z offset</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Vcarve.py" line="333"/>
      <source>The deflection value for discretizing arcs</source>
      <translation>The deflection value for discretizing arcs</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Vcarve.py" line="343"/>
      <source>Cutoff for removing colinear segments (degrees). 
                        default=10.0.</source>
      <translation>Cutoff for removing colinear segments (degrees). 
                        default=10.0.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Vcarve.py" line="349"/>
      <source>Vcarve Tolerance</source>
      <translation>Vcarve Tolerance</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="213"/>
      <source>Smaller values yield a finer, more accurate the mesh. Smaller values increase processing time a lot.</source>
      <translation>Smaller values yield a finer, more accurate the mesh. Smaller values increase processing time a lot.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="222"/>
      <source>Smaller values yield a finer, more accurate the mesh. Smaller values do not increase processing time much.</source>
      <translation>Smaller values yield a finer, more accurate the mesh. Smaller values do not increase processing time much.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="293"/>
      <source>Select the algorithm to use: OCL Dropcutter*, or Experimental (Not OCL based).</source>
      <translation>選擇要使用的演算法：OCL Dropcutter* 或實驗性（不基於 OCL）。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="310"/>
      <source>Set to clear last layer in a `Multi-pass` operation.</source>
      <translation>Set to clear last layer in a `Multi-pass` operation.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="360"/>
      <source>Ignore outer waterlines above this height.</source>
      <translation>Ignore outer waterlines above this height.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="54"/>
      <location filename="../../../Path/Dressup/Array.py" line="49"/>
      <source>Pattern method</source>
      <translation>Pattern method</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="108"/>
      <source>Make copies in X direction before Y in Linear 2D pattern</source>
      <translation>Make copies in X direction before Y in Linear 2D pattern</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="71"/>
      <location filename="../../../Path/Dressup/Array.py" line="66"/>
      <source>The number of copies in X-direction in linear pattern</source>
      <translation type="unfinished">The number of copies in X-direction in linear pattern</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="79"/>
      <location filename="../../../Path/Dressup/Array.py" line="74"/>
      <source>The number of copies in Y-direction in linear pattern</source>
      <translation type="unfinished">The number of copies in Y-direction in linear pattern</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Array.py" line="103"/>
      <source>Make copies in X-direction before Y in linear 2D pattern</source>
      <translation type="unfinished">Make copies in X-direction before Y in linear 2D pattern</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="114"/>
      <location filename="../../../Path/Dressup/Array.py" line="109"/>
      <source>Percent of copies to randomly offset</source>
      <translation>Percent of copies to randomly offset</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="120"/>
      <location filename="../../../Path/Dressup/Array.py" line="115"/>
      <source>Maximum random offset of copies</source>
      <translation>Maximum random offset of copies</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="126"/>
      <location filename="../../../Path/Op/Gui/Array.py" line="209"/>
      <location filename="../../../Path/Dressup/Array.py" line="121"/>
      <source>Seed value for jitter randomness</source>
      <translation>Seed value for jitter randomness</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="48"/>
      <source>The toolpaths to array</source>
      <translation type="unfinished">The toolpaths to array</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="63"/>
      <location filename="../../../Path/Dressup/Array.py" line="58"/>
      <source>The spacing between the array copies in linear pattern</source>
      <translation type="unfinished">The spacing between the array copies in linear pattern</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="85"/>
      <location filename="../../../Path/Dressup/Array.py" line="80"/>
      <source>Total angle in polar pattern</source>
      <translation type="unfinished">Total angle in polar pattern</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="93"/>
      <location filename="../../../Path/Dressup/Array.py" line="88"/>
      <source>The number of copies in linear 1D and polar pattern</source>
      <translation type="unfinished">The number of copies in linear 1D and polar pattern</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="99"/>
      <location filename="../../../Path/Dressup/Array.py" line="94"/>
      <source>The centre of rotation in polar pattern</source>
      <translation type="unfinished">The centre of rotation in polar pattern</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Copy.py" line="51"/>
      <location filename="../../../Path/Op/Gui/Array.py" line="135"/>
      <source>The tool controller that will be used to calculate the toolpath</source>
      <translation>The tool controller that will be used to calculate the toolpath</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="147"/>
      <location filename="../../../Path/Op/Gui/Array.py" line="218"/>
      <location filename="../../../Path/Op/Gui/PathShapeTC.py" line="78"/>
      <source>Operations cycle time estimation</source>
      <translation type="unfinished">Operations cycle time estimation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Comment.py" line="42"/>
      <source>Comment or note for CNC program</source>
      <translation>Comment or note for CNC program</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/base.py" line="269"/>
      <source>The unique ID of the tool shape (.fcstd)</source>
      <translation type="unfinished">The unique ID of the tool shape (.fcstd)</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/base.py" line="279"/>
      <source>The tool shape type</source>
      <translation type="unfinished">The tool shape type</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/base.py" line="292"/>
      <source>The parametrized body representing the tool bit</source>
      <translation>The parametrized body representing the tool bit</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/base.py" line="299"/>
      <source>The unique ID of the toolbit</source>
      <translation type="unfinished">The unique ID of the toolbit</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/base.py" line="324"/>
      <location filename="../../../Path/Tool/toolbit/models/base.py" line="811"/>
      <source>Tool material</source>
      <translation type="unfinished">Tool material</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/base.py" line="767"/>
      <source>Custom property from shape: {name}</source>
      <translation type="unfinished">Custom property from shape: {name}</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/Controller.py" line="70"/>
      <source>The active tool</source>
      <translation>The active tool</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/Controller.py" line="77"/>
      <source>The speed of the cutting spindle in RPM</source>
      <translation>The speed of the cutting spindle in RPM</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/Controller.py" line="83"/>
      <location filename="../../../Path/Tool/toolbit/models/base.py" line="315"/>
      <location filename="../../../Path/Tool/toolbit/models/base.py" line="792"/>
      <source>Direction of spindle rotation</source>
      <translation>Direction of spindle rotation</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/Controller.py" line="89"/>
      <source>Feed rate for vertical moves in Z</source>
      <translation>Feed rate for vertical moves in Z</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/Controller.py" line="95"/>
      <source>Feed rate for horizontal moves</source>
      <translation>Feed rate for horizontal moves</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/Controller.py" line="101"/>
      <source>Rapid rate for vertical moves in Z</source>
      <translation>Rapid rate for vertical moves in Z</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/Controller.py" line="107"/>
      <source>Rapid rate for horizontal moves</source>
      <translation>Rapid rate for horizontal moves</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/Controller.py" line="290"/>
      <source>The tool used by this controller</source>
      <translation>The tool used by this controller</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Copy.py" line="42"/>
      <source>The toolpath to be copied</source>
      <translation>要拷類之刀具路徑</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Tapping.py" line="104"/>
      <source>The time to dwell at bottom of tapping cycle</source>
      <translation type="unfinished">The time to dwell at bottom of tapping cycle</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Tapping.py" line="125"/>
      <source>Controls how tool retracts Default=G98</source>
      <translation type="unfinished">Controls how tool retracts Default=G98</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Tapping.py" line="134"/>
      <source>The height where feed starts and height during retract tool when path is finished while in a peck operation</source>
      <translation type="unfinished">The height where feed starts and height during retract tool when path is finished while in a peck operation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Tapping.py" line="140"/>
      <source>How far the tap depth is extended</source>
      <translation type="unfinished">How far the tap depth is extended</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Dogbone.py" line="438"/>
      <source>Bones that are not dressed up</source>
      <translation type="unfinished">Bones that are not dressed up</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/PathShapeTC.py" line="64"/>
      <source>An optional comment for this operation</source>
      <translation type="unfinished">An optional comment for this operation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/PathShapeTC.py" line="71"/>
      <source>User assigned label</source>
      <translation type="unfinished">User assigned label</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Stop.py" line="41"/>
      <source>Add an optional or mandatory stop to the program</source>
      <translation type="unfinished">Add an optional or mandatory stop to the program</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/mixins/cutting.py" line="39"/>
      <source>Chipload per tooth</source>
      <translation type="unfinished">Chipload per tooth</translation>
    </message>
  </context>
  <context>
    <name>PathJob</name>
    <message>
      <location filename="../../../Path/Dressup/Gui/Boundary.py" line="162"/>
      <source>Unsupported stock object %s</source>
      <translation>Unsupported stock object %s</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Boundary.py" line="178"/>
      <source>Unsupported stock type %s (%d)</source>
      <translation>Unsupported stock type %s (%d)</translation>
    </message>
  </context>
  <context>
    <name>PathStock</name>
    <message>
      <location filename="../../../Path/Main/Stock.py" line="90"/>
      <source>Invalid base object %s - no shape found</source>
      <translation>Invalid base object %s - no shape found</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Stock.py" line="106"/>
      <source>Stock Material property is deprecated. Removing the Material property. Please use native material system to assign a ShapeMaterial</source>
      <translation type="unfinished">Stock Material property is deprecated. Removing the Material property. Please use native material system to assign a ShapeMaterial</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Stock.py" line="599"/>
      <source>Unsupported stock type named {}</source>
      <translation>Unsupported stock type named {}</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Stock.py" line="603"/>
      <source>Unsupported PathStock template version {}</source>
      <translation>Unsupported PathStock template version {}</translation>
    </message>
  </context>
  <context>
    <name>PathAreaOp</name>
    <message>
      <location filename="../../../Path/Op/Area.py" line="116"/>
      <source>job %s has no Base.</source>
      <translation>job %s has no Base.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Area.py" line="118"/>
      <source>no job for operation %s found.</source>
      <translation>no job for operation %s found.</translation>
    </message>
  </context>
  <context>
    <name>PathDeburr</name>
    <message>
      <location filename="../../../Path/Op/Deburr.py" line="93"/>
      <source>The selected tool has no CuttingEdgeAngle property. Assuming Endmill
</source>
      <translation>The selected tool has no CuttingEdgeAngle property. Assuming Endmill
</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Deburr.py" line="186"/>
      <source>Round</source>
      <translation>圓</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Deburr.py" line="187"/>
      <source>Miter</source>
      <translation>Miter</translation>
    </message>
  </context>
  <context>
    <name>PathProfile</name>
    <message>
      <location filename="../../../Path/Op/Helix.py" line="105"/>
      <location filename="../../../Path/Op/Profile.py" line="223"/>
      <source>Outside</source>
      <translation>外面</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Helix.py" line="106"/>
      <location filename="../../../Path/Op/Profile.py" line="224"/>
      <source>Inside</source>
      <translation>裡面</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="210"/>
      <source>CW</source>
      <translation>順時針</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="211"/>
      <source>CCW</source>
      <translation>逆時針</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="214"/>
      <source>Collectively</source>
      <translation>Collectively</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="215"/>
      <source>Individually</source>
      <translation>Individually</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="218"/>
      <source>Round</source>
      <translation>圓</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="219"/>
      <source>Square</source>
      <translation>正方形</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="220"/>
      <source>Miter</source>
      <translation>Miter</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="443"/>
      <source>The selected edge(s) are inaccessible. If multiple, re-ordering selection might work.</source>
      <translation>所選邊緣不可存取。如果有多個，重新排序選擇可能會起作用。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="543"/>
      <source>Unable to create path for face(s).</source>
      <translation>Unable to create path for face(s).</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Profile.py" line="686"/>
      <source>Check edge selection and Final Depth requirements for profiling open edge(s).</source>
      <translation>Check edge selection and Final Depth requirements for profiling open edge(s).</translation>
    </message>
  </context>
  <context>
    <name>PathPocket</name>
    <message>
      <location filename="../../../Path/Op/Gui/PocketBase.py" line="83"/>
      <source>Pass Extension</source>
      <translation>Pass Extension</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/PocketBase.py" line="89"/>
      <source>The distance the facing operation will extend beyond the boundary shape.</source>
      <translation>The distance the facing operation will extend beyond the boundary shape.</translation>
    </message>
  </context>
  <context>
    <name>PathSurface</name>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="43"/>
      <source>This operation requires OpenCamLib to be installed.</source>
      <translation>This operation requires OpenCamLib to be installed.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="547"/>
      <source>The GeometryTolerance for this Job is 0.0.</source>
      <translation>The GeometryTolerance for this Job is 0.0.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="548"/>
      <source>Initializing LinearDeflection to 0.001 mm.</source>
      <translation>Initializing LinearDeflection to 0.001 mm.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="774"/>
      <source>No job</source>
      <translation type="unfinished">No job</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="799"/>
      <source>Canceling 3D Surface operation. Error creating OCL cutter.</source>
      <translation>Canceling 3D Surface operation. Error creating OCL cutter.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="1010"/>
      <source>operation time is</source>
      <translation>operation time is</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="1015"/>
      <source>Canceled 3D Surface operation.</source>
      <translation>Canceled 3D Surface operation.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="1115"/>
      <source>No profile geometry shape returned.</source>
      <translation>No profile geometry shape returned.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="1122"/>
      <source>No profile path geometry returned.</source>
      <translation>No profile path geometry returned.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="1137"/>
      <source>No clearing shape returned.</source>
      <translation>No clearing shape returned.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="1143"/>
      <source>No clearing path geometry returned.</source>
      <translation>No clearing path geometry returned.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="1163"/>
      <source>No scan data to convert to G-code.</source>
      <translation>No scan data to convert to G-code.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/SurfaceSupport.py" line="2676"/>
      <source>Failed to identify tool for operation.</source>
      <translation>無法辨識操作工具。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/SurfaceSupport.py" line="2686"/>
      <source>Failed to map selected tool to an OCL tool type.</source>
      <translation>Failed to map selected tool to an OCL tool type.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/SurfaceSupport.py" line="2698"/>
      <source>Failed to translate active tool to OCL tool type.</source>
      <translation>Failed to translate active tool to OCL tool type.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/SurfaceSupport.py" line="2710"/>
      <source>OCL tool not available. Cannot determine is cutter has tilt available.</source>
      <translation>OCL tool not available. Cannot determine is cutter has tilt available.</translation>
    </message>
  </context>
  <context>
    <name>PathSurfaceSupport</name>
    <message>
      <location filename="../../../Path/Op/SurfaceSupport.py" line="95"/>
      <source>Shape appears to not be horizontal planar.</source>
      <translation>Shape appears to not be horizontal planar.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/SurfaceSupport.py" line="116"/>
      <source>Cannot calculate the Center Of Mass.</source>
      <translation>Cannot calculate the Center Of Mass.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/SurfaceSupport.py" line="119"/>
      <source>Using Center of Boundbox instead.</source>
      <translation>Using Center of Boundbox instead.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/SurfaceSupport.py" line="489"/>
      <source>Face selection is unavailable for Rotational scans.</source>
      <translation>Face selection is unavailable for Rotational scans.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/SurfaceSupport.py" line="491"/>
      <source>Ignoring selected faces.</source>
      <translation>Ignoring selected faces.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/SurfaceSupport.py" line="590"/>
      <source>Failed to pre-process base as a whole.</source>
      <translation>Failed to pre-process base as a whole.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/SurfaceSupport.py" line="2356"/>
      <source>Failed to identify a horizontal cross-section for Face</source>
      <translation>無法辨識面的水平橫切面</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/SurfaceSupport.py" line="2588"/>
      <source>Diameter dimension missing from ToolBit shape.</source>
      <translation>ToolBit 形狀中缺少直徑尺寸。</translation>
    </message>
  </context>
  <context>
    <name>PathVcarve</name>
    <message>
      <location filename="../../../Path/Op/Vcarve.py" line="595"/>
      <source>The Job Base Object has no engraveable element. Engraving operation will produce no output.</source>
      <translation>The Job Base Object has no engraveable element. Engraving operation will produce no output.</translation>
    </message>
  </context>
  <context>
    <name>path_waterline</name>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="43"/>
      <source>This operation requires OpenCamLib to be installed.</source>
      <translation>This operation requires OpenCamLib to be installed.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="97"/>
      <source>OCL Dropcutter</source>
      <translation>OCL Dropcutter</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="98"/>
      <source>Experimental</source>
      <translation>實驗性功能</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="101"/>
      <source>BaseBoundBox</source>
      <translation>BaseBoundBox</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="102"/>
      <source>Stock</source>
      <translation>Stock</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="105"/>
      <source>CenterOfMass</source>
      <translation>CenterOfMass</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="106"/>
      <source>CenterOfBoundBox</source>
      <translation>CenterOfBoundBox</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="107"/>
      <source>XminYmin</source>
      <translation>XminYmin</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="108"/>
      <source>Custom</source>
      <translation>自訂</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="111"/>
      <source>Off</source>
      <translation>Off</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="112"/>
      <location filename="../../../Path/Op/Waterline.py" line="125"/>
      <source>Circular</source>
      <translation>環形</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="113"/>
      <location filename="../../../Path/Op/Waterline.py" line="126"/>
      <source>CircularZigZag</source>
      <translation>CircularZigZag</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="114"/>
      <location filename="../../../Path/Op/Waterline.py" line="127"/>
      <source>Line</source>
      <translation>線</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="115"/>
      <location filename="../../../Path/Op/Waterline.py" line="128"/>
      <source>Offset</source>
      <translation>偏移</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="116"/>
      <location filename="../../../Path/Op/Waterline.py" line="129"/>
      <source>Spiral</source>
      <translation>螺旋</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="117"/>
      <location filename="../../../Path/Op/Waterline.py" line="130"/>
      <source>ZigZag</source>
      <translation>之字形</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="120"/>
      <source>Conventional</source>
      <translation>Conventional</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="121"/>
      <source>Climb</source>
      <translation>Climb</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="124"/>
      <source>None</source>
      <translation>無</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="133"/>
      <source>Collectively</source>
      <translation>Collectively</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="134"/>
      <source>Individually</source>
      <translation>Individually</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="137"/>
      <source>Single-pass</source>
      <translation>Single-pass</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="138"/>
      <source>Multi-pass</source>
      <translation>Multi-pass</translation>
    </message>
  </context>
  <context>
    <name>PathWaterline</name>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="188"/>
      <source>New property added to</source>
      <translation>New property added to</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="190"/>
      <source>Check default value(s).</source>
      <translation>Check default value(s).</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="500"/>
      <source>The GeometryTolerance for this Job is 0.0.</source>
      <translation>The GeometryTolerance for this Job is 0.0.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="501"/>
      <source>Initializing LinearDeflection to 0.0001 mm.</source>
      <translation>Initializing LinearDeflection to 0.0001 mm.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="642"/>
      <location filename="../../../Path/Op/Waterline.py" line="650"/>
      <source>Sample interval limits are 0.0001 to 25.4 millimeters.</source>
      <translation>採樣間隔限制為 0.0001 至 25.4 毫米(mm)。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="657"/>
      <source>Cut pattern angle limits are +-360 degrees.</source>
      <translation>Cut pattern angle limits are +-360 degrees.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="662"/>
      <source>Cut pattern angle limits are +- 360 degrees.</source>
      <translation>Cut pattern angle limits are +- 360 degrees.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="678"/>
      <source>AvoidLastX_Faces: Only zero or positive values permitted.</source>
      <translation>AvoidLastX_Faces: Only zero or positive values permitted.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="686"/>
      <source>AvoidLastX_Faces: Avoid last X faces count limited to 100.</source>
      <translation>AvoidLastX_Faces: Avoid last X faces count limited to 100.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="760"/>
      <source>No JOB</source>
      <translation>No JOB</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="785"/>
      <source>Canceling Waterline operation. Error creating OCL cutter.</source>
      <translation>Canceling Waterline operation. Error creating OCL cutter.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Waterline.py" line="1004"/>
      <source>operation time is</source>
      <translation>operation time is</translation>
    </message>
  </context>
  <context>
    <name>PathOp</name>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="141"/>
      <location filename="../../../Path/Op/Gui/Array.py" line="200"/>
      <source>Make False, to prevent operation from generating code</source>
      <translation>Make False, to prevent operation from generating code</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Base.py" line="191"/>
      <source>Edit</source>
      <translation>編輯</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Base.py" line="640"/>
      <source>Base Geometry</source>
      <translation>Base Geometry</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Base.py" line="759"/>
      <source>Multiple operations are labeled as</source>
      <translation>Multiple operations are labeled as</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Base.py" line="832"/>
      <source>Base Location</source>
      <translation>Base Location</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Base.py" line="945"/>
      <source>Heights</source>
      <translation>Heights</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Base.py" line="1015"/>
      <source>FinalDepth cannot be modified for this operation.
If it is necessary to set the FinalDepth manually please select a different operation.</source>
      <translation>FinalDepth cannot be modified for this operation.
If it is necessary to set the FinalDepth manually please select a different operation.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Base.py" line="1038"/>
      <source>Depths</source>
      <translation>Depths</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Base.py" line="1139"/>
      <source>Diameters</source>
      <translation>Diameters</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Base.py" line="1171"/>
      <source>AreaOp Operation</source>
      <translation>AreaOp Operation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Base.py" line="1232"/>
      <source>Operation</source>
      <translation>Operation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Base.py" line="1297"/>
      <source>Uncreate AreaOp Operation</source>
      <translation>Uncreate AreaOp Operation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Base.py" line="1434"/>
      <source>Start Point Selection</source>
      <translation type="unfinished">Start Point Selection</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Base.py" line="1435"/>
      <source>Selects the start point</source>
      <translation type="unfinished">Selects the start point</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Base.py" line="1485"/>
      <source>No suitable tool controller found.
Aborting op creation</source>
      <translation>No suitable tool controller found.
Aborting op creation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Base.py" line="1489"/>
      <source>No tool controller, aborting op creation</source>
      <translation>No tool controller, aborting op creation</translation>
    </message>
  </context>
  <context>
    <name>PathArray</name>
    <message>
      <location filename="../../../Path/Dressup/Array.py" line="298"/>
      <source>No base objects for PathArray.</source>
      <translation>No base objects for PathArray.</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Array.py" line="217"/>
      <source>Base is empty or an invalid object.</source>
      <translation type="unfinished">Base is empty or an invalid object.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="277"/>
      <source>Arrays of toolpaths having different tool controllers or tool controller not selected.</source>
      <translation type="unfinished">Arrays of toolpaths having different tool controllers or tool controller not selected.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="286"/>
      <source>Arrays not compatible with coolant modes.</source>
      <translation type="unfinished">Arrays not compatible with coolant modes.</translation>
    </message>
  </context>
  <context>
    <name>PathGui</name>
    <message>
      <location filename="../../../Path/Base/Util.py" line="56"/>
      <source>%s has no property %s (%s)</source>
      <translation>%s has no property %s (%s)</translation>
    </message>
  </context>
  <context>
    <name>PathCustom</name>
    <message>
      <location filename="../../../Path/Op/Custom.py" line="64"/>
      <source>Text</source>
      <translation>文字</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Custom.py" line="65"/>
      <source>File</source>
      <translation>檔案</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Custom.py" line="187"/>
      <source>Total invalid lines in Custom Text G-code: %s</source>
      <translation type="unfinished">Total invalid lines in Custom Text G-code: %s</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Custom.py" line="196"/>
      <source>Custom file %s could not be found.</source>
      <translation>Custom file %s could not be found.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Custom.py" line="213"/>
      <source>Total invalid lines in Custom File G-code: %s</source>
      <translation type="unfinished">Total invalid lines in Custom File G-code: %s</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Custom.py" line="219"/>
      <source>Please check lines: %s</source>
      <translation type="unfinished">Please check lines: %s</translation>
    </message>
  </context>
  <context>
    <name>QObject</name>
    <message>
      <location filename="../../../InitGui.py" line="113"/>
      <location filename="../../../InitGui.py" line="117"/>
      <location filename="../../../InitGui.py" line="121"/>
      <location filename="../../../InitGui.py" line="339"/>
      <location filename="../../AppPathGui.cpp" line="92"/>
      <source>CAM</source>
      <translation>CAM</translation>
    </message>
  </context>
  <context>
    <name>CAM_EngraveTools</name>
    <message>
      <location filename="../../../InitGui.py" line="184"/>
      <source>Engraving Operations</source>
      <translation>Engraving Operations</translation>
    </message>
  </context>
  <context>
    <name>CAM_3dTools</name>
    <message>
      <location filename="../../../InitGui.py" line="249"/>
      <source>3D Operations</source>
      <translation>3D Operations</translation>
    </message>
  </context>
  <context>
    <name>CAM_SelectLoop</name>
    <message>
      <location filename="../../../PathCommands.py" line="61"/>
      <source>Finish Selecting Loop</source>
      <translation>Finish Selecting Loop</translation>
    </message>
    <message>
      <location filename="../../../PathCommands.py" line="66"/>
      <source>Completes the selection of edges that form a loop
 Select one edge to search loop edges in horizontal plane
 Select two edges to search loop edges in wires of the shape
 Select one or more vertical faces to search loop faces which form the walls</source>
      <translation type="unfinished">Completes the selection of edges that form a loop
 Select one edge to search loop edges in horizontal plane
 Select two edges to search loop edges in wires of the shape
 Select one or more vertical faces to search loop faces which form the walls</translation>
    </message>
    <message>
      <location filename="../../../PathCommands.py" line="140"/>
      <source>Feature Completion</source>
      <translation>特徵完成</translation>
    </message>
    <message>
      <location filename="../../../PathCommands.py" line="141"/>
      <source>Closed loop detection failed.</source>
      <translation>Closed loop detection failed.</translation>
    </message>
  </context>
  <context>
    <name>CAM_DressupLeadInOut</name>
    <message>
      <location filename="../panels/DressUpLeadInOutEdit.ui" line="37"/>
      <location filename="../panels/DressUpLeadInOutEdit.ui" line="113"/>
      <source>Style</source>
      <translation>風格</translation>
    </message>
    <message>
      <location filename="../panels/DressUpLeadInOutEdit.ui" line="26"/>
      <source>Lead In</source>
      <translation type="unfinished">Lead In</translation>
    </message>
    <message>
      <location filename="../panels/DressUpLeadInOutEdit.ui" line="70"/>
      <location filename="../panels/DressUpLeadInOutEdit.ui" line="146"/>
      <source>Angle</source>
      <translation>角度</translation>
    </message>
    <message>
      <location filename="../panels/DressUpLeadInOutEdit.ui" line="60"/>
      <location filename="../panels/DressUpLeadInOutEdit.ui" line="136"/>
      <source>Radius/length</source>
      <translation type="unfinished">Radius/length</translation>
    </message>
    <message>
      <location filename="../panels/DressUpLeadInOutEdit.ui" line="80"/>
      <source>Offset Entrance Location</source>
      <translation type="unfinished">Offset Entrance Location</translation>
    </message>
    <message>
      <location filename="../panels/DressUpLeadInOutEdit.ui" line="90"/>
      <location filename="../panels/DressUpLeadInOutEdit.ui" line="166"/>
      <source>Invert Direction</source>
      <translation type="unfinished">Invert Direction</translation>
    </message>
    <message>
      <location filename="../panels/DressUpLeadInOutEdit.ui" line="102"/>
      <source>Lead Out</source>
      <translation type="unfinished">Lead Out</translation>
    </message>
    <message>
      <location filename="../panels/DressUpLeadInOutEdit.ui" line="156"/>
      <source>Offset Exit Location</source>
      <translation type="unfinished">Offset Exit Location</translation>
    </message>
    <message>
      <location filename="../panels/DressUpLeadInOutEdit.ui" line="189"/>
      <source>Rapid plunge</source>
      <translation type="unfinished">Rapid plunge</translation>
    </message>
    <message>
      <location filename="../panels/DressUpLeadInOutEdit.ui" line="196"/>
      <source>Retract Threshold</source>
      <translation type="unfinished">Retract Threshold</translation>
    </message>
    <message>
      <location filename="../panels/DressUpLeadInOutEdit.ui" line="186"/>
      <source>Plunge at rapid speed</source>
      <translation>Plunge at rapid speed</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="53"/>
      <source>Arc</source>
      <translation>弧</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="1395"/>
      <source>Lead In/Out</source>
      <translation>引入/出</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="54"/>
      <source>Line</source>
      <translation>線</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="55"/>
      <source>Perpendicular</source>
      <translation>垂直</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="56"/>
      <source>Tangent</source>
      <translation>切線</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="58"/>
      <source>Arc3d</source>
      <translation type="unfinished">Arc3d</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="59"/>
      <source>ArcZ</source>
      <translation type="unfinished">ArcZ</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="60"/>
      <source>Helix</source>
      <translation>螺旋</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="61"/>
      <source>Line3d</source>
      <translation type="unfinished">Line3d</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="62"/>
      <source>LineZ</source>
      <translation type="unfinished">LineZ</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="63"/>
      <source>No Retract</source>
      <translation type="unfinished">No Retract</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="64"/>
      <source>Vertical</source>
      <translation>垂直</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="251"/>
      <source>Tool controller not selected for base operation: %s</source>
      <translation type="unfinished">Tool controller not selected for base operation: %s</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="1399"/>
      <source>Creates entry and exit motions for a selected path</source>
      <translation type="unfinished">Creates entry and exit motions for a selected path</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="1422"/>
      <source>Select one toolpath object</source>
      <translation type="unfinished">Select one toolpath object</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="1431"/>
      <source>Select a Profile object</source>
      <translation type="unfinished">Select a Profile object</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/LeadInOut.py" line="1427"/>
      <source>The selected object is not a toolpath</source>
      <translation>The selected object is not a toolpath</translation>
    </message>
  </context>
  <context>
    <name>CAM_DressupPathBoundary</name>
    <message>
      <location filename="../../../Path/Dressup/Boundary.py" line="342"/>
      <source>The selected object is not a path</source>
      <translation>The selected object is not a path</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Boundary.py" line="267"/>
      <source>Boundary</source>
      <translation>Boundary</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Boundary.py" line="271"/>
      <source>Creates a boundary dress-up from a selected toolpath</source>
      <translation type="unfinished">Creates a boundary dress-up from a selected toolpath</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Boundary.py" line="286"/>
      <source>Please select one toolpath object</source>
      <translation>Please select one toolpath object</translation>
    </message>
  </context>
  <context>
    <name>CAM_DressupTag</name>
    <message>
      <location filename="../../../Path/Dressup/Tags.py" line="1255"/>
      <source>Cannot insert holding tags for this path - select a profile path</source>
      <translation type="unfinished">Cannot insert holding tags for this path - select a profile path</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Tags.py" line="1304"/>
      <source>The selected object is not a path</source>
      <translation>The selected object is not a path</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Tags.py" line="1308"/>
      <source>Select a profile object</source>
      <translation type="unfinished">Select a profile object</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/TagPreferences.py" line="83"/>
      <source>Holding Tag</source>
      <translation>Holding Tag</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Tags.py" line="558"/>
      <source>Tag</source>
      <translation>標籤</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Tags.py" line="561"/>
      <source>Creates a tag dress-up object from a selected toolpath</source>
      <translation type="unfinished">Creates a tag dress-up object from a selected toolpath</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Tags.py" line="575"/>
      <source>Please select one toolpath object</source>
      <translation>Please select one toolpath object</translation>
    </message>
  </context>
  <context>
    <name>CAM_DressupAxisMap</name>
    <message>
      <location filename="../../../Path/Dressup/Gui/AxisMap.py" line="263"/>
      <source>Axis Map</source>
      <translation>Axis Map</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/AxisMap.py" line="265"/>
      <source>Remaps one axis to another</source>
      <translation type="unfinished">Remaps one axis to another</translation>
    </message>
  </context>
  <context>
    <name>CAM_Dressup</name>
    <message>
      <location filename="../../../Path/Dressup/Gui/AxisMap.py" line="280"/>
      <location filename="../../../Path/Dressup/Gui/ZCorrect.py" line="364"/>
      <source>Select one toolpath object
</source>
      <translation type="unfinished">Select one toolpath object
</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/AxisMap.py" line="285"/>
      <location filename="../../../Path/Dressup/Gui/ZCorrect.py" line="369"/>
      <source>The selected object is not a toolpath
</source>
      <translation>The selected object is not a toolpath
</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/AxisMap.py" line="288"/>
      <location filename="../../../Path/Dressup/Gui/ZCorrect.py" line="372"/>
      <source>Select a toolpath object</source>
      <translation type="unfinished">Select a toolpath object</translation>
    </message>
  </context>
  <context>
    <name>CAM_DressupDogbone</name>
    <message>
      <location filename="../../../Path/Dressup/Gui/Dogbone.py" line="1323"/>
      <location filename="../../../Path/Dressup/Gui/DogboneII.py" line="331"/>
      <source>Dogbone</source>
      <translation>連桿</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Dogbone.py" line="1327"/>
      <location filename="../../../Path/Dressup/Gui/DogboneII.py" line="335"/>
      <source>Creates a dogbone dress-up object from a selected toolpath</source>
      <translation type="unfinished">Creates a dogbone dress-up object from a selected toolpath</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Dogbone.py" line="1343"/>
      <location filename="../../../Path/Dressup/Gui/DogboneII.py" line="351"/>
      <source>Select one toolpath object</source>
      <translation type="unfinished">Select one toolpath object</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Dogbone.py" line="1349"/>
      <location filename="../../../Path/Dressup/Gui/DogboneII.py" line="357"/>
      <source>The selected object is not a toolpath</source>
      <translation>The selected object is not a toolpath</translation>
    </message>
  </context>
  <context>
    <name>CAM_DressupDragKnife</name>
    <message>
      <location filename="../../../Path/Dressup/Gui/Dragknife.py" line="592"/>
      <source>Drag Knife</source>
      <translation type="unfinished">Drag Knife</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Dragknife.py" line="596"/>
      <source>Modifies a toolpath to add dragknife corner actions</source>
      <translation>Modifies a toolpath to add dragknife corner actions</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Dragknife.py" line="612"/>
      <source>Select one toolpath object</source>
      <translation type="unfinished">Select one toolpath object</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Dragknife.py" line="623"/>
      <source>Select a toolpath object</source>
      <translation type="unfinished">Select a toolpath object</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Dragknife.py" line="617"/>
      <source>The selected object is not a toolpath</source>
      <translation>The selected object is not a toolpath</translation>
    </message>
  </context>
  <context>
    <name>CAM_PreferencesPathDressup</name>
    <message>
      <location filename="../../../Path/Dressup/Gui/Preferences.py" line="40"/>
      <source>Dressups</source>
      <translation>Dressups</translation>
    </message>
  </context>
  <context>
    <name>CAM_DressupRampEntry</name>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="244"/>
      <source>RampMethod1</source>
      <translation>RampMethod1</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="245"/>
      <source>RampMethod2</source>
      <translation>RampMethod2</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="246"/>
      <source>RampMethod3</source>
      <translation>RampMethod3</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="247"/>
      <source>Helix</source>
      <translation>螺旋</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="251"/>
      <source>Horizontal Feed Rate</source>
      <translation>Horizontal Feed Rate</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="255"/>
      <source>Vertical Feed Rate</source>
      <translation>Vertical Feed Rate</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="259"/>
      <source>Ramp Feed Rate</source>
      <translation>Ramp Feed Rate</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="262"/>
      <source>Custom</source>
      <translation>自訂</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="775"/>
      <source>Ramp Entry</source>
      <translation type="unfinished">Ramp Entry</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="779"/>
      <source>Creates a ramp entry dress-up object from a selected toolpath</source>
      <translation type="unfinished">Creates a ramp entry dress-up object from a selected toolpath</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="793"/>
      <source>Select one toolpath object</source>
      <translation type="unfinished">Select one toolpath object</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="802"/>
      <source>Select a Profile object</source>
      <translation type="unfinished">Select a Profile object</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/RampEntry.py" line="798"/>
      <source>The selected object is not a toolpath</source>
      <translation>The selected object is not a toolpath</translation>
    </message>
  </context>
  <context>
    <name>CAM_Probe</name>
    <message>
      <location filename="../../../Path/Dressup/Gui/ZCorrect.py" line="286"/>
      <source>Select Probe Point File</source>
      <translation>Select Probe Point File</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Probe.py" line="107"/>
      <location filename="../../../Path/Dressup/Gui/ZCorrect.py" line="288"/>
      <source>All Files (*.*)</source>
      <translation>所有檔 (*.*)</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Probe.py" line="105"/>
      <source>Select Output File</source>
      <translation>Select Output File</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Probe.py" line="119"/>
      <source>Probe</source>
      <translation>Probe</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Probe.py" line="120"/>
      <source>Create a Probing Grid from a job stock</source>
      <translation>Create a Probing Grid from a job stock</translation>
    </message>
  </context>
  <context>
    <name>CAM_DressupZCorrect</name>
    <message>
      <location filename="../../../Path/Dressup/Gui/ZCorrect.py" line="346"/>
      <source>Z Depth Correction</source>
      <translation>Z Depth Correction</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/ZCorrect.py" line="350"/>
      <source>Corrects Z depth using a probe map</source>
      <translation type="unfinished">Corrects Z depth using a probe map</translation>
    </message>
  </context>
  <context>
    <name>CAM_Job</name>
    <message>
      <location filename="../../../Path/Main/Job.py" line="254"/>
      <source>Fixture</source>
      <translation>Fixture</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="255"/>
      <source>Tool</source>
      <translation>工具</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="256"/>
      <source>Operation</source>
      <translation>Operation</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="259"/>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="64"/>
      <source>2D</source>
      <translation>2D</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="260"/>
      <source>2.5D</source>
      <translation>2.5D</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="261"/>
      <source>Lathe</source>
      <translation>Lathe</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Job.py" line="262"/>
      <source>Multiaxis</source>
      <translation>Multiaxis</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="358"/>
      <source>Edit</source>
      <translation>編輯</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="630"/>
      <source>Stock not a cylinder!</source>
      <translation>Stock not a cylinder!</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="1056"/>
      <source>Select Output File</source>
      <translation>Select Output File</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="1058"/>
      <source>All Files (*.*)</source>
      <translation>所有檔 (*.*)</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="1401"/>
      <source>Unsupported stock object %s</source>
      <translation>Unsupported stock object %s</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="1417"/>
      <source>Unsupported stock type %s (%d)</source>
      <translation>Unsupported stock type %s (%d)</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="1508"/>
      <source>Model Selection</source>
      <translation>Model Selection</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="1663"/>
      <source>Warning</source>
      <translation>警告</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="1664"/>
      <source>Please add one.</source>
      <translation>Please add one.</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="1665"/>
      <source>Ok</source>
      <translation>確認</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="1667"/>
      <source>Add</source>
      <translation>新增</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="1678"/>
      <source>This job has no base model.</source>
      <translation>This job has no base model.</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Job.py" line="1685"/>
      <source>This job has no tool.</source>
      <translation>This job has no tool.</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="63"/>
      <source>Solids</source>
      <translation>固體</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="65"/>
      <source>Jobs</source>
      <translation>Jobs</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="124"/>
      <source>Warning: Incompatible Unit Schema</source>
      <translation type="unfinished">Warning: Incompatible Unit Schema</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="138"/>
      <source>&lt;b&gt;This document uses an improper unit schema which can result in dangerous situations and machine crashes!&lt;/b&gt;</source>
      <translation type="unfinished">&lt;b&gt;This document uses an improper unit schema which can result in dangerous situations and machine crashes!&lt;/b&gt;</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="149"/>
      <source>Current unit schema &apos;{}&apos; expresses velocity in values &lt;i&gt;per second&lt;/i&gt;.</source>
      <translation type="unfinished">Current unit schema &apos;{}&apos; expresses velocity in values &lt;i&gt;per second&lt;/i&gt;.</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="161"/>
      <source>Please select a unit schema that expresses feed rates &lt;i&gt;per minute&lt;/i&gt; instead:</source>
      <translation type="unfinished">Please select a unit schema that expresses feed rates &lt;i&gt;per minute&lt;/i&gt; instead:</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="166"/>
      <source>Recommended Unit Schemas</source>
      <translation type="unfinished">Recommended Unit Schemas</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="190"/>
      <source>Keeping the current unit schema can result in dangerous G-code errors. For details please refer to the &lt;a href=&apos;https://wiki.freecad.org/CAM_Workbench#Units&apos;&gt;Units section&lt;/a&gt; of the CAM Workbench&apos;s wiki page.</source>
      <translation type="unfinished">Keeping the current unit schema can result in dangerous G-code errors. For details please refer to the &lt;a href=&apos;https://wiki.freecad.org/CAM_Workbench#Units&apos;&gt;Units section&lt;/a&gt; of the CAM Workbench&apos;s wiki page.</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="198"/>
      <source>Change Unit Schema</source>
      <translation type="unfinished">Change Unit Schema</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="202"/>
      <source>Keep Current Schema</source>
      <translation type="unfinished">Keep Current Schema</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="205"/>
      <source>Don&apos;t Show Again</source>
      <translation type="unfinished">Don&apos;t Show Again</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="234"/>
      <source>Unit Schema Changed</source>
      <translation type="unfinished">Unit Schema Changed</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="235"/>
      <source>Unit schema successfully changed to &apos;{}&apos;.</source>
      <translation type="unfinished">Unit schema successfully changed to &apos;{}&apos;.</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="243"/>
      <source>Error</source>
      <translation>錯誤</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="244"/>
      <source>Failed to change unit schema: {}</source>
      <translation type="unfinished">Failed to change unit schema: {}</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="249"/>
      <source>No Selection</source>
      <translation type="unfinished">No Selection</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="250"/>
      <source>Please select a unit schema.</source>
      <translation type="unfinished">Please select a unit schema.</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="348"/>
      <source>Model</source>
      <translation>模型</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="349"/>
      <source>Count</source>
      <translation>計數</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="431"/>
      <source>&lt;none&gt;</source>
      <translation>&lt;none&gt;</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="513"/>
      <source>Base -/+ %.2f/%.2f %.2f/%.2f %.2f/%.2f</source>
      <translation>Base -/+ %.2f/%.2f %.2f/%.2f %.2f/%.2f</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="523"/>
      <source>Box: %.2f x %.2f x %.2f</source>
      <translation>Box: %.2f x %.2f x %.2f</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="538"/>
      <source>Unsupported stock type</source>
      <translation>Unsupported stock type</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobCmd.py" line="58"/>
      <source>New Job</source>
      <translation type="unfinished">New Job</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobCmd.py" line="60"/>
      <source>Creates a CAM job</source>
      <translation type="unfinished">Creates a CAM job</translation>
    </message>
  </context>
  <context>
    <name>CAM_Fixture</name>
    <message>
      <location filename="../../../Path/Main/Gui/Fixture.py" line="154"/>
      <source>Fixture</source>
      <translation>Fixture</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Fixture.py" line="155"/>
      <source>Creates a fixture offset</source>
      <translation type="unfinished">Creates a fixture offset</translation>
    </message>
  </context>
  <context>
    <name>CAM_Inspect</name>
    <message>
      <location filename="../../../Path/Main/Gui/Inspect.py" line="133"/>
      <source>&lt;b&gt;Note&lt;/b&gt;: This dialog shows path commands in FreeCAD base units (mm/s). 
 Values will be converted to the desired unit during post processing.</source>
      <translation type="unfinished">&lt;b&gt;Note&lt;/b&gt;: This dialog shows path commands in FreeCAD base units (mm/s). 
 Values will be converted to the desired unit during post processing.</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Inspect.py" line="256"/>
      <source>Inspect Toolpath</source>
      <translation type="unfinished">Inspect Toolpath</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Inspect.py" line="260"/>
      <source>Inspects the contents of a toolpath object</source>
      <translation>Inspects the contents of a toolpath object</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Inspect.py" line="275"/>
      <location filename="../../../Path/Main/Gui/Inspect.py" line="280"/>
      <source>Select exactly one path object</source>
      <translation type="unfinished">Select exactly one path object</translation>
    </message>
  </context>
  <context>
    <name>CAM_ExportTemplate</name>
    <message>
      <location filename="../../../Path/Main/Gui/JobCmd.py" line="102"/>
      <source>Export Template</source>
      <translation>Export Template</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/JobCmd.py" line="106"/>
      <source>Exports the CAM job as a template to be used for other jobs</source>
      <translation type="unfinished">Exports the CAM job as a template to be used for other jobs</translation>
    </message>
  </context>
  <context>
    <name>CAM_Job:</name>
    <message>
      <location filename="../../../Path/Main/Gui/JobDlg.py" line="529"/>
      <source>Cylinder: %.2f x %.2f</source>
      <translation>Cylinder: %.2f x %.2f</translation>
    </message>
  </context>
  <context>
    <name>CAM_Sanity</name>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="104"/>
      <source>Table of Contents</source>
      <translation>Table of Contents</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="92"/>
      <source>Part Information</source>
      <translation>Part Information</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="97"/>
      <source>Run Summary</source>
      <translation>Run Summary</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="96"/>
      <source>Rough Stock</source>
      <translation>Rough Stock</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="106"/>
      <source>Tool Data</source>
      <translation>Tool Data</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="76"/>
      <source>Fixtures</source>
      <translation>Fixtures</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="100"/>
      <source>Squawks</source>
      <translation>Squawks</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="118"/>
      <source>Job Type</source>
      <translation>Job Type</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="121"/>
      <source>Customer</source>
      <translation>Customer</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="88"/>
      <source>Operation</source>
      <translation>Operation</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="115"/>
      <source>Cycle Time</source>
      <translation>Cycle Time</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="107"/>
      <source>Tool Number</source>
      <translation>Tool Number</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="72"/>
      <source>Description</source>
      <translation>說明</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="84"/>
      <source>Manufacturer</source>
      <translation>Manufacturer</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="91"/>
      <source>Output (G-code)</source>
      <translation type="unfinished">Output (G-code)</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="93"/>
      <source>Part Number</source>
      <translation>Part Number</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="103"/>
      <source>Surface Speed HSS</source>
      <translation type="unfinished">Surface Speed HSS</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="108"/>
      <source>URL</source>
      <translation>網址</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="80"/>
      <source>Inspection Notes</source>
      <translation>Inspection Notes</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="105"/>
      <source>Tool Controller</source>
      <translation>Tool Controller</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="74"/>
      <source>Feed Rate</source>
      <translation>Feed Rate</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="99"/>
      <source>Spindle Speed</source>
      <translation>Spindle Speed</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="98"/>
      <source>Tool Shape</source>
      <translation>Tool Shape</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="73"/>
      <source>Tool Diameter</source>
      <translation>Tool Diameter</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="79"/>
      <source>Setup Report for CAM Job</source>
      <translation type="unfinished">Setup Report for CAM Job</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="102"/>
      <source>Surface Speed Carbide</source>
      <translation type="unfinished">Surface Speed Carbide</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="109"/>
      <source>X Size</source>
      <translation>X Size</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="110"/>
      <source>Y Size</source>
      <translation>Y Size</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="111"/>
      <source>Z Size</source>
      <translation>Z Size</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="112"/>
      <source>Minimum Z</source>
      <translation type="unfinished">Minimum Z</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="113"/>
      <source>Maximum Z</source>
      <translation type="unfinished">Maximum Z</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="114"/>
      <source>Coolant Mode</source>
      <translation>冷卻劑模式</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="116"/>
      <source>Part</source>
      <translation>零件</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="117"/>
      <source>Sequence</source>
      <translation type="unfinished">Sequence</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="119"/>
      <source>CAD File</source>
      <translation type="unfinished">CAD File</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="120"/>
      <source>Last Save</source>
      <translation type="unfinished">Last Save</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="85"/>
      <source>Material</source>
      <translation>材質</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="87"/>
      <source>Work Offsets</source>
      <translation>Work Offsets</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="90"/>
      <source>Order By</source>
      <translation>Order By</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="71"/>
      <source>Part Datum</source>
      <translation>Part Datum</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="78"/>
      <source>G-code File</source>
      <translation>G-code File</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="81"/>
      <source>Last Post Process Date</source>
      <translation>Last Post Process Date</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="101"/>
      <source>Stops</source>
      <translation>Stops</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="95"/>
      <source>Programmer</source>
      <translation>Programmer</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="83"/>
      <source>Machine</source>
      <translation>Machine</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="94"/>
      <source>Postprocessor</source>
      <translation>Postprocessor</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="77"/>
      <source>Post Processor Flags</source>
      <translation>Post Processor Flags</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="75"/>
      <source>File Size (kB)</source>
      <translation>File Size (kB)</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="82"/>
      <source>Line Count</source>
      <translation>Line Count</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="86"/>
      <source>Note</source>
      <translation>Note</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="89"/>
      <source>Operator</source>
      <translation>操作</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/ReportGenerator.py" line="70"/>
      <source>Date</source>
      <translation>Date</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/Sanity.py" line="246"/>
      <source>The Job&apos;s last post-processed file is missing</source>
      <translation type="unfinished">The Job&apos;s last post-processed file is missing</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/Sanity.py" line="379"/>
      <source>Tool number {} is a legacy tool. Legacy tools not 
                    supported by Path-Sanity</source>
      <translation>編號為 {} 的工具是舊版工具。舊版工具不 
                    被 Path-Sanity 支援</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/Sanity.py" line="391"/>
      <source>Tool number {} used by multiple tools</source>
      <translation>Tool number {} used by multiple tools</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/Sanity.py" line="424"/>
      <source>Toolbit Shape for TC: {} not found</source>
      <translation>Toolbit Shape for TC: {} not found</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/Sanity.py" line="449"/>
      <source>Tool Controller &apos;{}&apos; has no feedrate</source>
      <translation type="unfinished">Tool Controller &apos;{}&apos; has no feedrate</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/Sanity.py" line="461"/>
      <source>Tool Controller &apos;{}&apos; has no spindlespeed</source>
      <translation type="unfinished">Tool Controller &apos;{}&apos; has no spindlespeed</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/Sanity.py" line="487"/>
      <source>Tool Controller &apos;{}&apos; is not used</source>
      <translation type="unfinished">Tool Controller &apos;{}&apos; is not used</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/Sanity.py" line="350"/>
      <source>Consider Specifying the Stock Material</source>
      <translation>Consider Specifying the Stock Material</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Sanity/Sanity.py" line="230"/>
      <source>The Job has not been post-processed</source>
      <translation>The Job has not been post-processed</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/SanityCmd.py" line="54"/>
      <source>Sanity Check</source>
      <translation type="unfinished">Sanity Check</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/SanityCmd.py" line="56"/>
      <source>Checks the CAM job for common errors</source>
      <translation type="unfinished">Checks the CAM job for common errors</translation>
    </message>
  </context>
  <context>
    <name>CAM_Simulator</name>
    <message>
      <location filename="../../../Path/Main/Gui/SimulatorGL.py" line="351"/>
      <source>CAM Simulator</source>
      <translation>CAM Simulator</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/SimulatorGL.py" line="308"/>
      <source>High</source>
      <translation type="unfinished">High</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/SimulatorGL.py" line="310"/>
      <source>Low</source>
      <translation type="unfinished">Low</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/SimulatorGL.py" line="312"/>
      <source>Medium</source>
      <translation type="unfinished">Medium</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Simulator.py" line="623"/>
      <source>Legacy CAM Simulator</source>
      <translation type="unfinished">Legacy CAM Simulator</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/SimulatorGL.py" line="353"/>
      <location filename="../../../Path/Main/Gui/Simulator.py" line="625"/>
      <source>Simulates G-code on stock</source>
      <translation type="unfinished">Simulates G-code on stock</translation>
    </message>
  </context>
  <context>
    <name>CAM_Adaptive</name>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1632"/>
      <source>Outside</source>
      <translation>外面</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1633"/>
      <source>Inside</source>
      <translation>裡面</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1636"/>
      <source>Clearing</source>
      <translation>Clearing</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="1637"/>
      <source>Profiling</source>
      <translation>Profiling</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Adaptive.py" line="165"/>
      <source>Adaptive</source>
      <translation>Adaptive</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Adaptive.py" line="166"/>
      <source>Adaptive clearing and profiling</source>
      <translation>Adaptive clearing and profiling</translation>
    </message>
  </context>
  <context>
    <name>CAM_Operation</name>
    <message>
      <location filename="../../../Path/Op/Base.py" line="362"/>
      <source>None</source>
      <translation>無</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="363"/>
      <source>Flood</source>
      <translation>Flood</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="364"/>
      <source>Mist</source>
      <translation>Mist</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Base.py" line="466"/>
      <source>Copy {0}…</source>
      <translation type="unfinished">Copy {0}…</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Base.py" line="467"/>
      <source>New tool controller…</source>
      <translation type="unfinished">New tool controller…</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Base.py" line="512"/>
      <source>This tool controller is used by {0} other operations.</source>
      <translation type="unfinished">This tool controller is used by {0} other operations.</translation>
    </message>
  </context>
  <context>
    <name>CAM</name>
    <message>
      <location filename="../../../Path/Op/Base.py" line="623"/>
      <source>No parent job found for operation.</source>
      <translation>No parent job found for operation.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="628"/>
      <source>Parent job %s doesn&apos;t have a base object</source>
      <translation type="unfinished">Parent job %s doesn&apos;t have a base object</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="770"/>
      <source>No Tool Controller is selected. We need a tool to build a Path.</source>
      <translation>No Tool Controller is selected. We need a tool to build a Path.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="784"/>
      <source>No Tool found or diameter is zero. We need a tool to build a Path.</source>
      <translation>No Tool found or diameter is zero. We need a tool to build a Path.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="854"/>
      <source>No Tool Controller selected.</source>
      <translation>No Tool Controller selected.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="857"/>
      <source>Tool Error</source>
      <translation>Tool Error</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="869"/>
      <source>Tool Controller feedrates required to calculate the cycle time.</source>
      <translation>Tool Controller feedrates required to calculate the cycle time.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="872"/>
      <source>Tool Feedrate Error</source>
      <translation type="unfinished">Tool Feedrate Error</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="878"/>
      <source>Add Tool Controller Rapid Speeds on the SetupSheet for more accurate cycle times.</source>
      <translation>Add Tool Controller Rapid Speeds on the SetupSheet for more accurate cycle times.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="887"/>
      <source>Cycletime Error</source>
      <translation>週期錯誤</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="829"/>
      <source>Base object %s.%s already in the list</source>
      <translation>Base object %s.%s already in the list</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Base.py" line="839"/>
      <source>Base object %s.%s rejected by operation</source>
      <translation>Base object %s.%s rejected by operation</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/CircularHoleBase.py" line="117"/>
      <source>Hole diameter may be inaccurate due to tessellation on face. Consider selecting hole edge.</source>
      <translation>Hole diameter may be inaccurate due to tessellation on face. Consider selecting hole edge.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/CircularHoleBase.py" line="149"/>
      <source>Feature %s.%s cannot be processed as a circular hole - please remove from Base geometry list.</source>
      <translation>特徵 %s.%s 不能被處理為圓形孔 - 請從基礎幾何形狀列表中移除。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Pocket.py" line="190"/>
      <source>Final depth set below ZMin of face(s) selected.</source>
      <translation>Final depth set below ZMin of face(s) selected.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Pocket.py" line="321"/>
      <source>A planar adaptive start is unavailable. The non-planar will be attempted.</source>
      <translation>A planar adaptive start is unavailable. The non-planar will be attempted.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Pocket.py" line="335"/>
      <location filename="../../../Path/Op/Pocket.py" line="360"/>
      <source>The non-planar adaptive start is also unavailable.</source>
      <translation>The non-planar adaptive start is also unavailable.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Engrave.py" line="75"/>
      <location filename="../../../Path/Op/Gui/Vcarve.py" line="67"/>
      <source>%s is not a Base Model object of the job %s</source>
      <translation>%s is not a Base Model object of the job %s</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Probe.py" line="70"/>
      <location filename="../../../Path/Op/Gui/ThreadMilling.py" line="113"/>
      <location filename="../../../Path/Op/Gui/Vcarve.py" line="177"/>
      <source>No valid toolcontroller</source>
      <translation type="unfinished">No valid toolcontroller</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Vcarve.py" line="182"/>
      <source>This operation requires a tool controller with a v-bit tool</source>
      <translation type="unfinished">This operation requires a tool controller with a v-bit tool</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Engrave.py" line="81"/>
      <source>Base shape %s already in the list</source>
      <translation>Base shape %s already in the list</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/Gui/Controller.py" line="115"/>
      <source>Edit</source>
      <translation>編輯</translation>
    </message>
    <message>
      <location filename="../../../Path/Post/scripts/generic_post.py" line="45"/>
      <source>Generic post processor</source>
      <translation type="unfinished">Generic post processor</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Probe.py" line="75"/>
      <source>This operation requires a tool controller with a probe tool</source>
      <translation type="unfinished">This operation requires a tool controller with a probe tool</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/ThreadMilling.py" line="118"/>
      <source>This operation requires a tool controller with a threadmilling tool</source>
      <translation type="unfinished">This operation requires a tool controller with a threadmilling tool</translation>
    </message>
    <message>
      <location filename="../../../Path/Post/scripts/refactored_masso_g3_post.py" line="57"/>
      <source>Refactored Masso G3 post processor</source>
      <translation type="unfinished">Refactored Masso G3 post processor</translation>
    </message>
    <message>
      <location filename="../../../Path/Post/scripts/snapmaker_post.py" line="246"/>
      <source>Snapmaker post processor</source>
      <translation type="unfinished">Snapmaker post processor</translation>
    </message>
    <message>
      <location filename="../../../Path/Post/scripts/svg_post.py" line="49"/>
      <source>SVG post processor</source>
      <translation type="unfinished">SVG post processor</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/serializers/camotics.py" line="67"/>
      <source>Camotics Tool Library</source>
      <translation type="unfinished">Camotics Tool Library</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/serializers/fctl.py" line="43"/>
      <source>FreeCAD Tool Library</source>
      <translation type="unfinished">FreeCAD Tool Library</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/serializers/linuxcnc.py" line="43"/>
      <source>LinuxCNC Tool Table</source>
      <translation type="unfinished">LinuxCNC Tool Table</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/drill.py" line="57"/>
      <source>Drill</source>
      <translation type="unfinished">Drill</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/ballend.py" line="47"/>
      <source>{diameter} {flutes}-flute ballend, {cutting_edge_height} cutting edge</source>
      <translation type="unfinished">{diameter} {flutes}-flute ballend, {cutting_edge_height} cutting edge</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/chamfer.py" line="47"/>
      <source>{diameter} {cutting_edge_angle} chamfer bit, {flutes}-flute</source>
      <translation type="unfinished">{diameter} {cutting_edge_angle} chamfer bit, {flutes}-flute</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/custom.py" line="41"/>
      <source>Unknown custom toolbit type</source>
      <translation type="unfinished">Unknown custom toolbit type</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/dovetail.py" line="47"/>
      <source>{diameter} {cutting_edge_angle} dovetail bit, {flutes}-flute</source>
      <translation type="unfinished">{diameter} {cutting_edge_angle} dovetail bit, {flutes}-flute</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/drill.py" line="45"/>
      <source>{diameter} drill, {tip_angle} tip, {flutes}-flute</source>
      <translation type="unfinished">{diameter} drill, {tip_angle} tip, {flutes}-flute</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/endmill.py" line="47"/>
      <source>{diameter} {flutes}-flute endmill, {cutting_edge_height} cutting edge</source>
      <translation type="unfinished">{diameter} {flutes}-flute endmill, {cutting_edge_height} cutting edge</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/probe.py" line="48"/>
      <source>{diameter} probe, {length} length, {shaft_diameter} shaft</source>
      <translation type="unfinished">{diameter} probe, {length} length, {shaft_diameter} shaft</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/reamer.py" line="44"/>
      <source>{diameter} reamer, {cutting_edge_height} cutting edge</source>
      <translation type="unfinished">{diameter} reamer, {cutting_edge_height} cutting edge</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/slittingsaw.py" line="47"/>
      <source>{diameter} slitting saw, {blade_thickness} blade, {flutes}-flute</source>
      <translation type="unfinished">{diameter} slitting saw, {blade_thickness} blade, {flutes}-flute</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/threadmill.py" line="47"/>
      <source>{diameter} thread mill, {flutes}-flute, {cutting_angle} cutting angle</source>
      <translation type="unfinished">{diameter} thread mill, {flutes}-flute, {cutting_angle} cutting angle</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/vbit.py" line="45"/>
      <source>{diameter} {cutting_edge_angle} v-bit, {flutes}-flute</source>
      <translation type="unfinished">{diameter} {cutting_edge_angle} v-bit, {flutes}-flute</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/serializers/camotics.py" line="69"/>
      <source>Camotics Tool</source>
      <translation type="unfinished">Camotics Tool</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/serializers/fctb.py" line="48"/>
      <source>FreeCAD Tool</source>
      <translation type="unfinished">FreeCAD Tool</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/editor.py" line="82"/>
      <source>Toolbit</source>
      <translation type="unfinished">Toolbit</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/editor.py" line="84"/>
      <source>Label:</source>
      <translation type="unfinished">Label:</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/editor.py" line="85"/>
      <source>ID:</source>
      <translation type="unfinished">ID:</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/editor.py" line="92"/>
      <source>Tool Number:</source>
      <translation type="unfinished">Tool Number:</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/editor.py" line="97"/>
      <source>Properties</source>
      <translation>性質</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/selector.py" line="40"/>
      <source>Add Tool</source>
      <translation type="unfinished">Add Tool</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/selector.py" line="45"/>
      <source>Select Toolbit</source>
      <translation type="unfinished">Select Toolbit</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/browser.py" line="547"/>
      <source>Confirm Removal</source>
      <translation type="unfinished">Confirm Removal</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/browser.py" line="550"/>
      <source>Are you sure you want to remove the selected toolbit(s) from the library?</source>
      <translation type="unfinished">Are you sure you want to remove the selected toolbit(s) from the library?</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/browser.py" line="579"/>
      <source>All Toolbit Types</source>
      <translation type="unfinished">All Toolbit Types</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="291"/>
      <source>All Toolbits</source>
      <translation type="unfinished">All Toolbits</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="386"/>
      <source>New Library</source>
      <translation type="unfinished">New Library</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="406"/>
      <source>Confirm Library Removal</source>
      <translation type="unfinished">Confirm Library Removal</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="411"/>
      <source>Are you sure you want to remove the library &apos;{0}&apos;?
This will not delete the toolbits contained within it.</source>
      <translation type="unfinished">Are you sure you want to remove the library &apos;{0}&apos;?
This will not delete the toolbits contained within it.</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/browser.py" line="289"/>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="430"/>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="470"/>
      <source>Error</source>
      <translation>錯誤</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="431"/>
      <source>Failed to delete library &apos;{0}&apos;: {1}</source>
      <translation type="unfinished">Failed to delete library &apos;{0}&apos;: {1}</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="471"/>
      <source>Failed to import library: {file_path} {e}</source>
      <translation type="unfinished">Failed to import library: {file_path} {e}</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="508"/>
      <source>New Toolbit</source>
      <translation type="unfinished">New Toolbit</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="529"/>
      <source>Error Creating Toolbit</source>
      <translation type="unfinished">Error Creating Toolbit</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="546"/>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="606"/>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="621"/>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="630"/>
      <source>Warning</source>
      <translation>警告</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="547"/>
      <source>Please select a library first.</source>
      <translation type="unfinished">Please select a library first.</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="610"/>
      <source>Failed to import toolbit from &apos;{file_path}&apos; to library &apos;{current_library.label}&apos;.</source>
      <translation type="unfinished">Failed to import toolbit from &apos;{file_path}&apos; to library &apos;{current_library.label}&apos;.</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="622"/>
      <source>Please select a toolbit to export.</source>
      <translation type="unfinished">Please select a toolbit to export.</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="631"/>
      <source>Please select only one toolbit to export.</source>
      <translation type="unfinished">Please select only one toolbit to export.</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/bullnose.py" line="50"/>
      <source>{diameter} {flutes}-flute bullnose, {cutting_edge_height} cutting edge, {corner_radius} corner radius</source>
      <translation type="unfinished">{diameter} {flutes}-flute bullnose, {cutting_edge_height} cutting edge, {corner_radius} corner radius</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/radius.py" line="47"/>
      <source>R{radius} radius mill, {diameter} shank, {flutes}-flute</source>
      <translation type="unfinished">R{radius} radius mill, {diameter} shank, {flutes}-flute</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/browser.py" line="279"/>
      <source>Missing Toolbit</source>
      <translation type="unfinished">Missing Toolbit</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/browser.py" line="283"/>
      <source>This toolbit is missing from your local store. It may be a placeholder for a toolbit that was not found during library import.</source>
      <translation type="unfinished">This toolbit is missing from your local store. It may be a placeholder for a toolbit that was not found during library import.</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/browser.py" line="290"/>
      <source>Failed to load toolbit: {e}</source>
      <translation type="unfinished">Failed to load toolbit: {e}</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/browser.py" line="427"/>
      <source>Confirm Deletion</source>
      <translation type="unfinished">Confirm Deletion</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/browser.py" line="431"/>
      <source>Are you sure you want to delete the selected toolbit(s)? This is not reversible. The toolbits will be removed from disk and from all libraries that contain them.</source>
      <translation type="unfinished">Are you sure you want to delete the selected toolbit(s)? This is not reversible. The toolbits will be removed from disk and from all libraries that contain them.</translation>
    </message>
    <message>
      <location filename="../../../PathScripts/PathUtils.py" line="219"/>
      <source>Selected faces should be vertical</source>
      <translation type="unfinished">Selected faces should be vertical</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/tap.py" line="75"/>
      <source>{diameter} {pitch} {rotation} tap, {flutes}-flute, {cutting_edge_length} cutting edge</source>
      <translation type="unfinished">{diameter} {pitch} {rotation} tap, {flutes}-flute, {cutting_edge_length} cutting edge</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/models/taperedballnose.py" line="47"/>
      <source>{diameter} tip, {taper_angle} taper, {flutes}-flute tapered ball nose, {cutting_edge_height} cutting edge</source>
      <translation type="unfinished">{diameter} tip, {taper_angle} taper, {flutes}-flute tapered ball nose, {cutting_edge_height} cutting edge</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Adaptive.py" line="555"/>
      <source>Adaptive operation couldn&apos;t determine the boundary wire. Did you select base geometry?</source>
      <translation type="unfinished">Adaptive operation couldn&apos;t determine the boundary wire. Did you select base geometry?</translation>
    </message>
  </context>
  <context>
    <name>CAM_Drilling</name>
    <message>
      <location filename="../../../Path/Op/Drilling.py" line="69"/>
      <source>G98</source>
      <translation>G98</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Drilling.py" line="70"/>
      <source>G99</source>
      <translation>G99</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Drilling.py" line="73"/>
      <source>None</source>
      <translation>無</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Drilling.py" line="74"/>
      <source>Drill Tip</source>
      <translation>Drill Tip</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Drilling.py" line="75"/>
      <source>2x Drill Tip</source>
      <translation>2x Drill Tip</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Drilling.py" line="221"/>
      <source>Drilling</source>
      <translation>鑽孔</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Drilling.py" line="225"/>
      <source>Creates a Drilling toolpath from the features of a base object</source>
      <translation>從基礎物件的特徵建立鑽孔工具路徑。</translation>
    </message>
  </context>
  <context>
    <name>CAM_Helix</name>
    <message>
      <location filename="../../../Path/Op/Gui/Helix.py" line="111"/>
      <source>Helix</source>
      <translation>螺旋</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Helix.py" line="112"/>
      <source>Creates a Helical toolpath from the features of a base object</source>
      <translation>從基礎物件的特徵建立螺旋工具路徑</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Helix.py" line="101"/>
      <source>CW</source>
      <translation>順時針</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Helix.py" line="102"/>
      <source>CCW</source>
      <translation>逆時針</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Helix.py" line="109"/>
      <source>Climb</source>
      <translation type="unfinished">Climb</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Helix.py" line="110"/>
      <source>Conventional</source>
      <translation type="unfinished">Conventional</translation>
    </message>
  </context>
  <context>
    <name>CAM_Pocket</name>
    <message>
      <location filename="../../../Path/Op/MillFace.py" line="69"/>
      <source>Boundbox</source>
      <translation>Boundbox</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/MillFace.py" line="70"/>
      <source>Face Region</source>
      <translation>Face Region</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/MillFace.py" line="71"/>
      <source>Perimeter</source>
      <translation>週長</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/MillFace.py" line="72"/>
      <source>Stock</source>
      <translation>Stock</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Pocket.py" line="118"/>
      <source>Collectively</source>
      <translation>Collectively</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Pocket.py" line="119"/>
      <source>Individually</source>
      <translation>Individually</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/PocketBase.py" line="63"/>
      <source>Climb</source>
      <translation>Climb</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/PocketBase.py" line="64"/>
      <source>Conventional</source>
      <translation>Conventional</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/PocketBase.py" line="67"/>
      <source>Center</source>
      <translation>中心</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/PocketBase.py" line="68"/>
      <source>Edge</source>
      <translation>邊</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/PocketBase.py" line="71"/>
      <source>ZigZag</source>
      <translation>之字形</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/PocketBase.py" line="72"/>
      <source>Offset</source>
      <translation>偏移</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/PocketBase.py" line="73"/>
      <source>ZigZagOffset</source>
      <translation>ZigZagOffset</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/PocketBase.py" line="74"/>
      <source>Line</source>
      <translation>線</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/PocketBase.py" line="75"/>
      <source>Grid</source>
      <translation>格線</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/FeatureExtension.py" line="180"/>
      <source>Normal</source>
      <translation>垂直</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/FeatureExtension.py" line="181"/>
      <source>X</source>
      <translation>X</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/FeatureExtension.py" line="182"/>
      <source>Y</source>
      <translation>Ÿ</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/FeatureExtension.py" line="186"/>
      <source>Extensions</source>
      <translation>延伸</translation>
    </message>
  </context>
  <context>
    <name>CAM_Slot</name>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="106"/>
      <source>New property added to</source>
      <translation>New property added to</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="108"/>
      <source>Check default value(s).</source>
      <translation>檢查預設值.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="253"/>
      <source>Line</source>
      <translation>線</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="254"/>
      <source>ZigZag</source>
      <translation>之字形</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="257"/>
      <source>Single-pass</source>
      <translation>Single-pass</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="258"/>
      <source>Multi-pass</source>
      <translation>Multi-pass</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="261"/>
      <source>Start to End</source>
      <translation>開始到結束</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="262"/>
      <source>Perpendicular</source>
      <translation>垂直</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="265"/>
      <location filename="../../../Path/Op/Slot.py" line="277"/>
      <source>Center of Mass</source>
      <translation>Center of Mass</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="267"/>
      <location filename="../../../Path/Op/Slot.py" line="279"/>
      <source>Center of Bounding Box</source>
      <translation>Center of Bounding Box</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="270"/>
      <location filename="../../../Path/Op/Slot.py" line="282"/>
      <source>Lowest Point</source>
      <translation>最低點</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="271"/>
      <location filename="../../../Path/Op/Slot.py" line="283"/>
      <source>Highest Point</source>
      <translation>最高點</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="272"/>
      <source>Long Edge</source>
      <translation>長邊</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="273"/>
      <source>Short Edge</source>
      <translation>短邊</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="274"/>
      <location filename="../../../Path/Op/Slot.py" line="284"/>
      <source>Vertex</source>
      <translation>Vertex</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="597"/>
      <source>No Base Geometry object in the operation.</source>
      <translation>No Base Geometry object in the operation.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="608"/>
      <source>Custom points are identical. No slot path will be generated</source>
      <translation>自訂點是相同的。不會產生插槽路徑</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="617"/>
      <source>Custom points not at same Z height. No slot path will be generated</source>
      <translation type="unfinished">Custom points not at same Z height. No slot path will be generated</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="671"/>
      <source>Current Extend Radius value produces negative arc radius.</source>
      <translation>Current Extend Radius value produces negative arc radius.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="687"/>
      <source>No path extensions available for full circles.</source>
      <translation>No path extensions available for full circles.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="715"/>
      <location filename="../../../Path/Op/Slot.py" line="847"/>
      <source>operation collides with model.</source>
      <translation>operation collides with model.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="812"/>
      <location filename="../../../Path/Op/Slot.py" line="1103"/>
      <source>Verify slot path start and end points.</source>
      <translation>Verify slot path start and end points.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="926"/>
      <source>The selected face is inaccessible.</source>
      <translation>無法存取所選的面。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="945"/>
      <source>Only a vertex selected. Add another feature to the Base Geometry.</source>
      <translation>僅選擇了一個頂點。請再添加另一個特徵到基礎幾何體。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="969"/>
      <source>A single selected face must have four edges minimum.</source>
      <translation>A single selected face must have four edges minimum.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="1034"/>
      <source>No parallel edges identified.</source>
      <translation>未識別出平行邊緣。</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="1056"/>
      <source>value error.</source>
      <translation>數值錯誤.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="1117"/>
      <source>Current tool larger than arc diameter.</source>
      <translation>Current tool larger than arc diameter.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="1190"/>
      <source>Failed, slot from edge only accepts lines, arcs and circles.</source>
      <translation>Failed, slot from edge only accepts lines, arcs and circles.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="1208"/>
      <source>Failed to determine point 1 from</source>
      <translation>Failed to determine point 1 from</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="1218"/>
      <source>Failed to determine point 2 from</source>
      <translation>Failed to determine point 2 from</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="1231"/>
      <source>Selected geometry not parallel.</source>
      <translation>Selected geometry not parallel.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="1305"/>
      <source>The selected face is not oriented vertically:</source>
      <translation>The selected face is not oriented vertically:</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Slot.py" line="1750"/>
      <location filename="../../../Path/Op/Slot.py" line="1758"/>
      <source>Current offset value produces negative radius.</source>
      <translation>Current offset value produces negative radius.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Slot.py" line="281"/>
      <source>Slot</source>
      <translation>Slot</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Slot.py" line="284"/>
      <source>Create a Slot operation from selected geometry or custom points.</source>
      <translation>Create a Slot operation from selected geometry or custom points.</translation>
    </message>
  </context>
  <context>
    <name>CAM_Surface</name>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="436"/>
      <source>BaseBoundBox</source>
      <translation>BaseBoundBox</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="437"/>
      <source>Stock</source>
      <translation>Stock</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="440"/>
      <source>CenterOfMass</source>
      <translation>CenterOfMass</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="441"/>
      <source>CenterOfBoundBox</source>
      <translation>CenterOfBoundBox</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="442"/>
      <source>XminYmin</source>
      <translation>XminYmin</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="443"/>
      <source>Custom</source>
      <translation>自訂</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="446"/>
      <source>Conventional</source>
      <translation>Conventional</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="447"/>
      <source>Climb</source>
      <translation>Climb</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="450"/>
      <source>Circular</source>
      <translation>環形</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="451"/>
      <source>CircularZigZag</source>
      <translation>CircularZigZag</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="452"/>
      <source>Line</source>
      <translation>線</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="453"/>
      <source>Offset</source>
      <translation>偏移</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="454"/>
      <source>Spiral</source>
      <translation>螺旋</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="455"/>
      <source>ZigZag</source>
      <translation>之字形</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="458"/>
      <location filename="../../../Path/Op/Surface.py" line="476"/>
      <source>X</source>
      <translation>X</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="459"/>
      <location filename="../../../Path/Op/Surface.py" line="477"/>
      <source>Y</source>
      <translation>Ÿ</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="462"/>
      <source>Collectively</source>
      <translation>Collectively</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="463"/>
      <source>Individually</source>
      <translation>Individually</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="466"/>
      <source>Single-pass</source>
      <translation>Single-pass</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="467"/>
      <source>Multi-pass</source>
      <translation>Multi-pass</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="470"/>
      <source>None</source>
      <translation>無</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="471"/>
      <source>Only</source>
      <translation>Only</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="472"/>
      <source>First</source>
      <translation>首先</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="473"/>
      <source>Last</source>
      <translation>Last</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="480"/>
      <source>Planar</source>
      <translation>平面</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Surface.py" line="481"/>
      <source>Rotational</source>
      <translation>Rotational</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Surface.py" line="276"/>
      <source>3D Surface</source>
      <translation>3D Surface</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Surface.py" line="277"/>
      <source>Create a 3D Surface Operation from a model</source>
      <translation>Create a 3D Surface Operation from a model</translation>
    </message>
  </context>
  <context>
    <name>CAM_ThreadMilling</name>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="246"/>
      <source>Custom External</source>
      <translation>Custom External</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="250"/>
      <source>Custom Internal</source>
      <translation>Custom Internal</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="254"/>
      <source>Imperial External (2A)</source>
      <translation>英制外 (2A)</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="258"/>
      <source>Imperial External (3A)</source>
      <translation>英制外 (3A)</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="262"/>
      <source>Imperial Internal (2B)</source>
      <translation>英制內 (2B)</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="266"/>
      <source>Imperial Internal (3B)</source>
      <translation>英制內 (3B)</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="270"/>
      <source>Metric External (4G6G)</source>
      <translation>公制外 (4G6G)</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="274"/>
      <source>Metric External (6G)</source>
      <translation>公制外 (6G)</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="278"/>
      <source>Metric Internal (6H)</source>
      <translation>公制內 (6H)</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="284"/>
      <source>LeftHand</source>
      <translation>左手</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="288"/>
      <source>RightHand</source>
      <translation>RightHand</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="294"/>
      <source>Climb</source>
      <translation>Climb</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/ThreadMilling.py" line="298"/>
      <source>Conventional</source>
      <translation>Conventional</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/ThreadMilling.py" line="253"/>
      <source>Thread Milling</source>
      <translation>螺紋銑削</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/ThreadMilling.py" line="257"/>
      <source>Creates a Thread Milling toolpath from features of a base object</source>
      <translation>從基礎物件的特徵中建立螺紋銑削工具路徑。</translation>
    </message>
  </context>
  <context>
    <name>CAM_Vcarve</name>
    <message>
      <location filename="../../../Path/Op/Vcarve.py" line="559"/>
      <source>VCarve requires an engraving cutter with a cutting edge angle</source>
      <translation>VCarve requires an engraving cutter with a cutting edge angle</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Vcarve.py" line="565"/>
      <source>Engraver cutting edge angle must be &lt; 180 degrees.</source>
      <translation>Engraver cutting edge angle must be &lt; 180 degrees.</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Vcarve.py" line="222"/>
      <source>Vcarve</source>
      <translation>Vcarve</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Vcarve.py" line="223"/>
      <source>Creates a medial line engraving toolpath</source>
      <translation>Creates a medial line engraving toolpath</translation>
    </message>
  </context>
  <context>
    <name>CAM_Array</name>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="483"/>
      <source>Array</source>
      <translation>陣列</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="484"/>
      <source>Creates an array from selected toolpaths</source>
      <translation type="unfinished">Creates an array from selected toolpaths</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Array.py" line="517"/>
      <source>Arrays can be created only from toolpath operations.</source>
      <translation>Arrays can be created only from toolpath operations.</translation>
    </message>
  </context>
  <context>
    <name>CAM_Comment</name>
    <message>
      <location filename="../../../Path/Op/Gui/Comment.py" line="104"/>
      <source>Comment</source>
      <translation>評論</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Comment.py" line="105"/>
      <source>Adds a Comment to the CNC program</source>
      <translation type="unfinished">Adds a Comment to the CNC program</translation>
    </message>
  </context>
  <context>
    <name>CAM_Copy</name>
    <message>
      <location filename="../../../Path/Op/Gui/Copy.py" line="94"/>
      <source>Copy</source>
      <translation>拷貝</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Copy.py" line="95"/>
      <source>Creates a linked copy of another toolpath</source>
      <translation>建立另一個刀具路徑的連結副本</translation>
    </message>
  </context>
  <context>
    <name>CAM_Custom</name>
    <message>
      <location filename="../../../Path/Op/Gui/Custom.py" line="73"/>
      <source>Custom</source>
      <translation>自訂</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Custom.py" line="74"/>
      <source>Create custom G-code snippet</source>
      <translation>Create custom G-code snippet</translation>
    </message>
  </context>
  <context>
    <name>CAM_Deburr</name>
    <message>
      <location filename="../../../Path/Op/Gui/Deburr.py" line="142"/>
      <source>Deburr</source>
      <translation>去毛邊</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Deburr.py" line="143"/>
      <source>Creates a Deburr toolpath along Edges or around Faces</source>
      <translation>Creates a Deburr toolpath along Edges or around Faces</translation>
    </message>
  </context>
  <context>
    <name>CAM_Engrave</name>
    <message>
      <location filename="../../../Path/Op/Gui/Engrave.py" line="168"/>
      <source>Engrave</source>
      <translation>雕刻</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Engrave.py" line="171"/>
      <source>Creates an Engraving toolpath around a Draft ShapeString</source>
      <translation>Creates an Engraving toolpath around a Draft ShapeString</translation>
    </message>
  </context>
  <context>
    <name>CAM_MillFace</name>
    <message>
      <location filename="../../../Path/Op/Gui/MillFace.py" line="75"/>
      <source>Face</source>
      <translation>面</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/MillFace.py" line="76"/>
      <source>Create a Facing Operation from a model or face</source>
      <translation>Create a Facing Operation from a model or face</translation>
    </message>
  </context>
  <context>
    <name>CAM_Pocket3D</name>
    <message>
      <location filename="../../../Path/Op/Gui/Pocket.py" line="58"/>
      <source>3D Pocket</source>
      <translation>3D Pocket</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Pocket.py" line="59"/>
      <source>Creates a 3D Pocket toolpath from a face or faces</source>
      <translation>Creates a 3D Pocket toolpath from a face or faces</translation>
    </message>
  </context>
  <context>
    <name>CAM_Pocket_Shape</name>
    <message>
      <location filename="../../../Path/Op/Gui/PocketShape.py" line="73"/>
      <source>Pocket Shape</source>
      <translation>Pocket Shape</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/PocketShape.py" line="74"/>
      <source>Creates a pocket toolpath from a face or faces</source>
      <translation>Creates a pocket toolpath from a face or faces</translation>
    </message>
  </context>
  <context>
    <name>CAM_SimpleCopy</name>
    <message>
      <location filename="../../../Path/Op/Gui/SimpleCopy.py" line="65"/>
      <source>Simple Copy</source>
      <translation>簡單拷貝</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/SimpleCopy.py" line="68"/>
      <source>Creates a non-parametric copy of another toolpath</source>
      <translation>對另一個刀具路徑進行無參數之複製</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/SimpleCopy.py" line="85"/>
      <location filename="../../../Path/Op/Gui/SimpleCopy.py" line="90"/>
      <source>Select exactly one toolpath object</source>
      <translation type="unfinished">Select exactly one toolpath object</translation>
    </message>
  </context>
  <context>
    <name>CAM_Stop</name>
    <message>
      <location filename="../../../Path/Op/Gui/Stop.py" line="109"/>
      <source>Stop</source>
      <translation>停止</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Stop.py" line="112"/>
      <source>Adds an optional or mandatory stop to the program</source>
      <translation type="unfinished">Adds an optional or mandatory stop to the program</translation>
    </message>
  </context>
  <context>
    <name>CAM_Waterline</name>
    <message>
      <location filename="../../../Path/Op/Gui/Waterline.py" line="175"/>
      <source>Waterline</source>
      <translation>Waterline</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Waterline.py" line="176"/>
      <source>Create a Waterline toolpath from a model</source>
      <translation>Create a Waterline toolpath from a model</translation>
    </message>
  </context>
  <context>
    <name>CAM_Post</name>
    <message>
      <location filename="../../../Path/Post/Command.py" line="110"/>
      <source>Post Process</source>
      <translation>後處理</translation>
    </message>
    <message>
      <location filename="../../../Path/Post/Command.py" line="112"/>
      <source>Post Processes the selected job</source>
      <translation type="unfinished">Post Processes the selected job</translation>
    </message>
  </context>
  <context>
    <name>CAM_Gcode_pre</name>
    <message>
      <location filename="../../../Path/Post/scripts/gcode_pre.py" line="225"/>
      <source>No active document</source>
      <translation>無可用文件</translation>
    </message>
    <message>
      <location filename="../../../Path/Post/scripts/gcode_pre.py" line="228"/>
      <source>No job object</source>
      <translation>沒有工作物件</translation>
    </message>
  </context>
  <context>
    <name>CAM_ToolController</name>
    <message>
      <location filename="../../../Path/Tool/Controller.py" line="131"/>
      <source>Forward</source>
      <translation>正轉</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/Controller.py" line="132"/>
      <source>Reverse</source>
      <translation>反向</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/Controller.py" line="133"/>
      <source>None</source>
      <translation>無</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/Gui/Controller.py" line="144"/>
      <source>Tool Controller</source>
      <translation type="unfinished">Tool Controller</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/Gui/Controller.py" line="147"/>
      <source>Adds a new tool controller to the active job</source>
      <translation type="unfinished">Adds a new tool controller to the active job</translation>
    </message>
  </context>
  <context>
    <name>CAM_ToolBitSave</name>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/cmd.py" line="80"/>
      <source>Save Tool</source>
      <translation>Save Tool</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/cmd.py" line="85"/>
      <source>Saves an existing toolbit object to a file</source>
      <translation type="unfinished">Saves an existing toolbit object to a file</translation>
    </message>
  </context>
  <context>
    <name>CAM_ToolBitLoad</name>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/cmd.py" line="125"/>
      <source>Load Tool</source>
      <translation>Load Tool</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/cmd.py" line="128"/>
      <source>Loads an existing toolbit object from a file</source>
      <translation type="unfinished">Loads an existing toolbit object from a file</translation>
    </message>
  </context>
  <context>
    <name>CAM_ToolBit</name>
    <message>
      <location filename="../../../Path/Tool/library/ui/editor.py" line="379"/>
      <source>Error Saving Library</source>
      <translation type="unfinished">Error Saving Library</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/dock.py" line="60"/>
      <source>Toolbit Selector</source>
      <translation type="unfinished">Toolbit Selector</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/dock.py" line="88"/>
      <source>Open Library Editor</source>
      <translation type="unfinished">Open Library Editor</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/dock.py" line="89"/>
      <source>Add to Job</source>
      <translation type="unfinished">Add to Job</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/dock.py" line="90"/>
      <source>Close</source>
      <translation>關閉</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/dock.py" line="174"/>
      <source>No Job Found</source>
      <translation type="unfinished">No Job Found</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/dock.py" line="175"/>
      <source>Please create a Job first.</source>
      <translation type="unfinished">Please create a Job first.</translation>
    </message>
  </context>
  <context>
    <name>CAM_Profile</name>
    <message>
      <location filename="../../../Path/Op/Gui/Profile.py" line="185"/>
      <source>Profile</source>
      <translation>輪廓</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Profile.py" line="186"/>
      <source>Profile entire model, selected face(s) or selected edge(s)</source>
      <translation>Profile entire model, selected face(s) or selected edge(s)</translation>
    </message>
  </context>
  <context>
    <name>CAM_Camotics</name>
    <message>
      <location filename="../../../Path/Main/Gui/Camotics.py" line="315"/>
      <source>CAMotics</source>
      <translation type="unfinished">CAMotics</translation>
    </message>
    <message>
      <location filename="../../../Path/Main/Gui/Camotics.py" line="317"/>
      <source>Simulates using CAMotics</source>
      <translation type="unfinished">Simulates using CAMotics</translation>
    </message>
  </context>
  <context>
    <name>CAM_DrillingTools</name>
    <message>
      <location filename="../../../InitGui.py" line="196"/>
      <source>Drilling Operations</source>
      <translation type="unfinished">Drilling Operations</translation>
    </message>
  </context>
  <context>
    <name>CAM_Tapping</name>
    <message>
      <location filename="../../../Path/Op/Tapping.py" line="70"/>
      <source>G98</source>
      <translation>G98</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Tapping.py" line="71"/>
      <source>G99</source>
      <translation>G99</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Tapping.py" line="74"/>
      <source>None</source>
      <translation>無</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Tapping.py" line="75"/>
      <source>Drill Tip</source>
      <translation type="unfinished">Drill Tip</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Tapping.py" line="76"/>
      <source>2x Drill Tip</source>
      <translation>2x Drill Tip</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Tapping.py" line="180"/>
      <source>Tapping</source>
      <translation type="unfinished">Tapping</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/Tapping.py" line="184"/>
      <source>Creates a Tapping toolpath from the features of a base object</source>
      <translation type="unfinished">Creates a Tapping toolpath from the features of a base object</translation>
    </message>
  </context>
  <context>
    <name>CAM_DressupTools</name>
    <message>
      <location filename="../../../InitGui.py" line="207"/>
      <source>Dressup Operations</source>
      <translation type="unfinished">Dressup Operations</translation>
    </message>
  </context>
  <context>
    <name>DressupArray</name>
    <message>
      <location filename="../../../Path/Dressup/Array.py" line="187"/>
      <source>Removing CoolantMode property from {} as base operation&apos;s CoolantMode is now used.</source>
      <translation type="unfinished">Removing CoolantMode property from {} as base operation&apos;s CoolantMode is now used.</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Array.py" line="197"/>
      <source>Removing ToolController property from {} as base operation&apos;s ToolController is now used.</source>
      <translation type="unfinished">Removing ToolController property from {} as base operation&apos;s ToolController is now used.</translation>
    </message>
  </context>
  <context>
    <name>CAM_DressupArray</name>
    <message>
      <location filename="../../../Path/Dressup/Array.py" line="403"/>
      <source>The selected object is not a path</source>
      <translation>The selected object is not a path</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Array.py" line="60"/>
      <source>Array</source>
      <translation>陣列</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Array.py" line="64"/>
      <source>Creates an array from a selected toolpath</source>
      <translation type="unfinished">Creates an array from a selected toolpath</translation>
    </message>
    <message>
      <location filename="../../../Path/Dressup/Gui/Array.py" line="78"/>
      <source>Select one toolpath object</source>
      <translation type="unfinished">Select one toolpath object</translation>
    </message>
  </context>
  <context>
    <name>CAM:Simulator:Tooltips</name>
    <message>
      <location filename="../../../PathSimulator/AppGL/GuiDisplay.cpp" line="268"/>
      <source>Pause simulation</source>
      <translation>暫停模擬</translation>
    </message>
    <message>
      <location filename="../../../PathSimulator/AppGL/GuiDisplay.cpp" line="270"/>
      <source>Play simulation</source>
      <translation type="unfinished">Play simulation</translation>
    </message>
    <message>
      <location filename="../../../PathSimulator/AppGL/GuiDisplay.cpp" line="272"/>
      <source>Single step simulation</source>
      <translation>單步模擬</translation>
    </message>
    <message>
      <location filename="../../../PathSimulator/AppGL/GuiDisplay.cpp" line="274"/>
      <source>Decrease simulation speed</source>
      <translation type="unfinished">Decrease simulation speed</translation>
    </message>
    <message>
      <location filename="../../../PathSimulator/AppGL/GuiDisplay.cpp" line="276"/>
      <source>Increase simulation speed</source>
      <translation type="unfinished">Increase simulation speed</translation>
    </message>
    <message>
      <location filename="../../../PathSimulator/AppGL/GuiDisplay.cpp" line="278"/>
      <source>Show/Hide tool path</source>
      <translation type="unfinished">Show/Hide tool path</translation>
    </message>
    <message>
      <location filename="../../../PathSimulator/AppGL/GuiDisplay.cpp" line="279"/>
      <source>Toggle turn table animation</source>
      <translation type="unfinished">Toggle turn table animation</translation>
    </message>
    <message>
      <location filename="../../../PathSimulator/AppGL/GuiDisplay.cpp" line="285"/>
      <source>Toggle ambient occlusion</source>
      <translation type="unfinished">Toggle ambient occlusion</translation>
    </message>
    <message>
      <location filename="../../../PathSimulator/AppGL/GuiDisplay.cpp" line="286"/>
      <source>Toggle view simulation/model</source>
      <translation type="unfinished">Toggle view simulation/model</translation>
    </message>
    <message>
      <location filename="../../../PathSimulator/AppGL/GuiDisplay.cpp" line="292"/>
      <source>Reset camera</source>
      <translation type="unfinished">Reset camera</translation>
    </message>
  </context>
  <context>
    <name>CAMSimulator::DlgCAMSimulator</name>
    <message>
      <location filename="../../../PathSimulator/AppGL/DlgCAMSimulator.cpp" line="340"/>
      <source>%1 - New CAM Simulator</source>
      <translation type="unfinished">%1 - New CAM Simulator</translation>
    </message>
  </context>
  <context>
    <name>CAM_OpActiveToggle</name>
    <message>
      <location filename="../../../PathCommands.py" line="169"/>
      <source>Toggle Operation</source>
      <translation type="unfinished">Toggle Operation</translation>
    </message>
    <message>
      <location filename="../../../PathCommands.py" line="173"/>
      <source>Toggles the active state of the operation</source>
      <translation type="unfinished">Toggles the active state of the operation</translation>
    </message>
  </context>
  <context>
    <name>CAM_OperationCopy</name>
    <message>
      <location filename="../../../PathCommands.py" line="208"/>
      <source>Copy Operation</source>
      <translation type="unfinished">Copy Operation</translation>
    </message>
    <message>
      <location filename="../../../PathCommands.py" line="209"/>
      <source>Copies the operation in the job</source>
      <translation type="unfinished">Copies the operation in the job</translation>
    </message>
  </context>
  <context>
    <name>Param1</name>
    <message>
      <location filename="../../../CAMTests/TestPathToolShapeClasses.py" line="37"/>
      <source>Parameter 1</source>
      <translation>參數 1</translation>
    </message>
  </context>
  <context>
    <name>Param2</name>
    <message>
      <location filename="../../../CAMTests/TestPathToolShapeClasses.py" line="41"/>
      <source>Parameter 2</source>
      <translation>參數2</translation>
    </message>
  </context>
  <context>
    <name>CAM_PropertyBag</name>
    <message>
      <location filename="../../../Path/Base/Gui/PropertyBag.py" line="429"/>
      <source>Property Bag</source>
      <translation>Property Bag</translation>
    </message>
    <message>
      <location filename="../../../Path/Base/Gui/PropertyBag.py" line="433"/>
      <source>Creates an object which can be used to store reference properties</source>
      <translation type="unfinished">Creates an object which can be used to store reference properties</translation>
    </message>
  </context>
  <context>
    <name>CAM_PathShapeTC</name>
    <message>
      <location filename="../../../Path/Op/Gui/PathShapeTC.py" line="182"/>
      <source>Path From Shape TC</source>
      <translation type="unfinished">Path From Shape TC</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Gui/PathShapeTC.py" line="186"/>
      <source>Creates a path from the selected shapes with the tool controller</source>
      <translation type="unfinished">Creates a path from the selected shapes with the tool controller</translation>
    </message>
  </context>
  <context>
    <name>CAM_PreferencesAssets</name>
    <message>
      <location filename="../../../Path/Tool/assets/ui/preferences.py" line="50"/>
      <location filename="../../../Path/Tool/assets/ui/preferences.py" line="94"/>
      <source>Assets</source>
      <translation type="unfinished">Assets</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/assets/ui/preferences.py" line="56"/>
      <source>Asset Directory:</source>
      <translation type="unfinished">Asset Directory:</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/assets/ui/preferences.py" line="64"/>
      <source>Note: Select the directory that will contain the Tool folder with Bit/, Shape/, and Library/ subfolders.</source>
      <translation type="unfinished">Note: Select the directory that will contain the Tool folder with Bit/, Shape/, and Library/ subfolders.</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/assets/ui/preferences.py" line="69"/>
      <source>Reset</source>
      <translation>重設</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/assets/ui/preferences.py" line="100"/>
      <source>Select Asset Directory</source>
      <translation type="unfinished">Select Asset Directory</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/assets/ui/preferences.py" line="119"/>
      <source>Warning</source>
      <translation>警告</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/assets/ui/preferences.py" line="120"/>
      <source>The selected asset path is not writable.</source>
      <translation type="unfinished">The selected asset path is not writable.</translation>
    </message>
  </context>
  <context>
    <name>CAM_ToolBitLibraryOpen</name>
    <message>
      <location filename="../../../Path/Tool/library/ui/cmd.py" line="79"/>
      <source>Toolbit Library Manager</source>
      <translation type="unfinished">Toolbit Library Manager</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/cmd.py" line="82"/>
      <source>Opens an editor to manage toolbit libraries</source>
      <translation type="unfinished">Opens an editor to manage toolbit libraries</translation>
    </message>
  </context>
  <context>
    <name>ToolBitShape</name>
    <message>
      <location filename="../../../Path/Tool/shape/models/vbit.py" line="41"/>
      <location filename="../../../Path/Tool/shape/models/radius.py" line="40"/>
      <location filename="../../../Path/Tool/shape/models/chamfer.py" line="41"/>
      <location filename="../../../Path/Tool/shape/models/taperedballnose.py" line="35"/>
      <location filename="../../../Path/Tool/shape/models/bullnose.py" line="45"/>
      <location filename="../../../Path/Tool/shape/models/ballend.py" line="37"/>
      <location filename="../../../Path/Tool/shape/models/custom.py" line="43"/>
      <location filename="../../../Path/Tool/shape/models/reamer.py" line="37"/>
      <location filename="../../../Path/Tool/shape/models/endmill.py" line="37"/>
      <source>Cutting edge height</source>
      <translation type="unfinished">Cutting edge height</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/slittingsaw.py" line="49"/>
      <location filename="../../../Path/Tool/shape/models/drill.py" line="37"/>
      <location filename="../../../Path/Tool/shape/models/vbit.py" line="45"/>
      <location filename="../../../Path/Tool/shape/models/radius.py" line="44"/>
      <location filename="../../../Path/Tool/shape/models/chamfer.py" line="45"/>
      <location filename="../../../Path/Tool/shape/models/taperedballnose.py" line="39"/>
      <location filename="../../../Path/Tool/shape/models/bullnose.py" line="49"/>
      <location filename="../../../Path/Tool/shape/models/ballend.py" line="41"/>
      <location filename="../../../Path/Tool/shape/models/custom.py" line="47"/>
      <location filename="../../../Path/Tool/shape/models/reamer.py" line="41"/>
      <location filename="../../../Path/Tool/shape/models/endmill.py" line="41"/>
      <source>Diameter</source>
      <translation>直徑</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/slittingsaw.py" line="53"/>
      <location filename="../../../Path/Tool/shape/models/dovetail.py" line="53"/>
      <location filename="../../../Path/Tool/shape/models/drill.py" line="41"/>
      <location filename="../../../Path/Tool/shape/models/vbit.py" line="49"/>
      <location filename="../../../Path/Tool/shape/models/radius.py" line="52"/>
      <location filename="../../../Path/Tool/shape/models/chamfer.py" line="49"/>
      <location filename="../../../Path/Tool/shape/models/taperedballnose.py" line="43"/>
      <location filename="../../../Path/Tool/shape/models/bullnose.py" line="53"/>
      <location filename="../../../Path/Tool/shape/models/threadmill.py" line="45"/>
      <location filename="../../../Path/Tool/shape/models/ballend.py" line="45"/>
      <location filename="../../../Path/Tool/shape/models/custom.py" line="51"/>
      <location filename="../../../Path/Tool/shape/models/endmill.py" line="45"/>
      <location filename="../../../Path/Tool/shape/models/tap.py" line="45"/>
      <source>Flutes</source>
      <translation type="unfinished">Flutes</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/slittingsaw.py" line="57"/>
      <location filename="../../../Path/Tool/shape/models/dovetail.py" line="57"/>
      <location filename="../../../Path/Tool/shape/models/drill.py" line="45"/>
      <location filename="../../../Path/Tool/shape/models/vbit.py" line="53"/>
      <location filename="../../../Path/Tool/shape/models/radius.py" line="56"/>
      <location filename="../../../Path/Tool/shape/models/chamfer.py" line="53"/>
      <location filename="../../../Path/Tool/shape/models/taperedballnose.py" line="47"/>
      <location filename="../../../Path/Tool/shape/models/bullnose.py" line="57"/>
      <location filename="../../../Path/Tool/shape/models/threadmill.py" line="49"/>
      <location filename="../../../Path/Tool/shape/models/ballend.py" line="49"/>
      <location filename="../../../Path/Tool/shape/models/custom.py" line="55"/>
      <location filename="../../../Path/Tool/shape/models/reamer.py" line="45"/>
      <location filename="../../../Path/Tool/shape/models/endmill.py" line="49"/>
      <source>Overall tool length</source>
      <translation type="unfinished">Overall tool length</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/slittingsaw.py" line="61"/>
      <location filename="../../../Path/Tool/shape/models/dovetail.py" line="69"/>
      <location filename="../../../Path/Tool/shape/models/vbit.py" line="57"/>
      <location filename="../../../Path/Tool/shape/models/radius.py" line="60"/>
      <location filename="../../../Path/Tool/shape/models/chamfer.py" line="57"/>
      <location filename="../../../Path/Tool/shape/models/taperedballnose.py" line="51"/>
      <location filename="../../../Path/Tool/shape/models/bullnose.py" line="61"/>
      <location filename="../../../Path/Tool/shape/models/threadmill.py" line="61"/>
      <location filename="../../../Path/Tool/shape/models/ballend.py" line="53"/>
      <location filename="../../../Path/Tool/shape/models/reamer.py" line="49"/>
      <location filename="../../../Path/Tool/shape/models/tap.py" line="53"/>
      <source>Shank diameter</source>
      <translation type="unfinished">Shank diameter</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/ballend.py" line="61"/>
      <source>Ballend</source>
      <translation type="unfinished">Ballend</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/vbit.py" line="37"/>
      <location filename="../../../Path/Tool/shape/models/chamfer.py" line="37"/>
      <source>Cutting edge angle</source>
      <translation type="unfinished">Cutting edge angle</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/vbit.py" line="61"/>
      <location filename="../../../Path/Tool/shape/models/radius.py" line="64"/>
      <location filename="../../../Path/Tool/shape/models/chamfer.py" line="61"/>
      <source>Tip diameter</source>
      <translation type="unfinished">Tip diameter</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/chamfer.py" line="69"/>
      <source>Chamfer</source>
      <translation>倒角</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/custom.py" line="67"/>
      <source>Unknown custom shape</source>
      <translation type="unfinished">Unknown custom shape</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/dovetail.py" line="37"/>
      <location filename="../../../Path/Tool/shape/models/threadmill.py" line="37"/>
      <source>Crest height</source>
      <translation type="unfinished">Crest height</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/dovetail.py" line="41"/>
      <location filename="../../../Path/Tool/shape/models/threadmill.py" line="65"/>
      <source>Cutting angle</source>
      <translation type="unfinished">Cutting angle</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/dovetail.py" line="45"/>
      <source>Dovetail height</source>
      <translation type="unfinished">Dovetail height</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/dovetail.py" line="49"/>
      <location filename="../../../Path/Tool/shape/models/threadmill.py" line="41"/>
      <source>Major diameter</source>
      <translation>大徑</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/dovetail.py" line="61"/>
      <location filename="../../../Path/Tool/shape/models/threadmill.py" line="53"/>
      <source>Neck diameter</source>
      <translation type="unfinished">Neck diameter</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/dovetail.py" line="65"/>
      <location filename="../../../Path/Tool/shape/models/threadmill.py" line="57"/>
      <source>Neck length</source>
      <translation type="unfinished">Neck length</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/dovetail.py" line="77"/>
      <source>Dovetail</source>
      <translation type="unfinished">Dovetail</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/drill.py" line="49"/>
      <location filename="../../../Path/Tool/shape/models/tap.py" line="57"/>
      <source>Tip angle</source>
      <translation type="unfinished">Tip angle</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/endmill.py" line="61"/>
      <source>Endmill</source>
      <translation type="unfinished">Endmill</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/probe.py" line="37"/>
      <source>Ball diameter</source>
      <translation type="unfinished">Ball diameter</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/probe.py" line="41"/>
      <source>Length of probe</source>
      <translation type="unfinished">Length of probe</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/probe.py" line="45"/>
      <source>Shaft diameter</source>
      <translation type="unfinished">Shaft diameter</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/probe.py" line="53"/>
      <source>Probe</source>
      <translation>Probe</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/reamer.py" line="57"/>
      <source>Reamer</source>
      <translation type="unfinished">Reamer</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/slittingsaw.py" line="37"/>
      <source>Blade thickness</source>
      <translation type="unfinished">Blade thickness</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/slittingsaw.py" line="41"/>
      <source>Cap diameter</source>
      <translation type="unfinished">Cap diameter</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/slittingsaw.py" line="45"/>
      <source>Cap height</source>
      <translation type="unfinished">Cap height</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/slittingsaw.py" line="69"/>
      <source>Slitting Saw</source>
      <translation type="unfinished">Slitting Saw</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/tap.py" line="37"/>
      <source>Cutting edge length</source>
      <translation type="unfinished">Cutting edge length</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/tap.py" line="41"/>
      <source>Tap diameter</source>
      <translation type="unfinished">Tap diameter</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/tap.py" line="49"/>
      <source>Overall length of tap</source>
      <translation type="unfinished">Overall length of tap</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/tap.py" line="61"/>
      <source>Thread pitch</source>
      <translation type="unfinished">Thread pitch</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/tap.py" line="69"/>
      <source>Tap</source>
      <translation>點擊</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/threadmill.py" line="73"/>
      <source>Thread Mill</source>
      <translation type="unfinished">Thread Mill</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/vbit.py" line="69"/>
      <source>V-Bit</source>
      <translation type="unfinished">V-Bit</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/bullnose.py" line="65"/>
      <source>Corner radius</source>
      <translation type="unfinished">Corner radius</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/bullnose.py" line="73"/>
      <source>Bullnose</source>
      <translation type="unfinished">Bullnose</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/radius.py" line="48"/>
      <source>Cutting radius</source>
      <translation type="unfinished">Cutting radius</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/radius.py" line="72"/>
      <source>Radius Mill</source>
      <translation type="unfinished">Radius Mill</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/taperedballnose.py" line="55"/>
      <source>Included Taper angle</source>
      <translation type="unfinished">Included Taper angle</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/taperedballnose.py" line="59"/>
      <source>Diameter at top of Taper</source>
      <translation type="unfinished">Diameter at top of Taper</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/shape/models/taperedballnose.py" line="67"/>
      <source>Tapered Ball Nose</source>
      <translation type="unfinished">Tapered Ball Nose</translation>
    </message>
  </context>
  <context>
    <name>ToolBitToolBitShapeShapeEndMill</name>
    <message>
      <location filename="../../../Path/Tool/shape/models/custom.py" line="59"/>
      <location filename="../../../Path/Tool/shape/models/endmill.py" line="53"/>
      <source>Shank diameter</source>
      <translation type="unfinished">Shank diameter</translation>
    </message>
  </context>
  <context>
    <name>CAM_ToolBitCreate</name>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/cmd.py" line="53"/>
      <source>New Toolbit</source>
      <translation type="unfinished">New Toolbit</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/cmd.py" line="54"/>
      <source>Creates a new toolbit object</source>
      <translation type="unfinished">Creates a new toolbit object</translation>
    </message>
  </context>
  <context>
    <name>CAM_ToolBitSaveAs</name>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/cmd.py" line="78"/>
      <source>Save Tool As…</source>
      <translation type="unfinished">Save Tool As…</translation>
    </message>
  </context>
  <context>
    <name>CAM_Toolbit</name>
    <message>
      <location filename="../../../Path/Tool/toolbit/ui/tablecell.py" line="111"/>
      <source>Pocket</source>
      <translation>凹陷</translation>
    </message>
  </context>
  <context>
    <name>Frame</name>
    <message>
      <location filename="../panels/ToolControllerEdit.ui" line="26"/>
      <source>Controller Name / Tool Number</source>
      <translation type="unfinished">Controller Name / Tool Number</translation>
    </message>
    <message>
      <location filename="../panels/ToolControllerEdit.ui" line="64"/>
      <source>Horizontal feed</source>
      <translation type="unfinished">Horizontal feed</translation>
    </message>
    <message>
      <location filename="../panels/ToolControllerEdit.ui" line="93"/>
      <source>Vertical feed</source>
      <translation type="unfinished">Vertical feed</translation>
    </message>
    <message>
      <location filename="../panels/ToolControllerEdit.ui" line="122"/>
      <source>Horizontal rapid</source>
      <translation type="unfinished">Horizontal rapid</translation>
    </message>
    <message>
      <location filename="../panels/ToolControllerEdit.ui" line="151"/>
      <source>Vertical rapid</source>
      <translation type="unfinished">Vertical rapid</translation>
    </message>
    <message>
      <location filename="../panels/ToolControllerEdit.ui" line="183"/>
      <source>Spindle</source>
      <translation>主軸</translation>
    </message>
    <message>
      <location filename="../panels/ToolControllerEdit.ui" line="196"/>
      <source>Forward</source>
      <translation type="unfinished">Forward</translation>
    </message>
    <message>
      <location filename="../panels/ToolControllerEdit.ui" line="201"/>
      <source>Reverse</source>
      <translation>反向</translation>
    </message>
  </context>
  <context>
    <name>CAM_ToolBitSelection</name>
    <message>
      <location filename="../../../Path/Tool/library/ui/cmd.py" line="52"/>
      <source>Add toolbit…</source>
      <translation type="unfinished">Add toolbit…</translation>
    </message>
    <message>
      <location filename="../../../Path/Tool/library/ui/cmd.py" line="55"/>
      <source>Opens the toolbit selection dialog</source>
      <translation type="unfinished">Opens the toolbit selection dialog</translation>
    </message>
  </context>
  <context>
    <name>LibraryProperties</name>
    <message>
      <location filename="../panels/LibraryProperties.ui" line="14"/>
      <source>Library Property Editor</source>
      <translation type="unfinished">Library Property Editor</translation>
    </message>
    <message>
      <location filename="../panels/LibraryProperties.ui" line="34"/>
      <source>Name</source>
      <translation>名稱</translation>
    </message>
  </context>
  <context>
    <name>ShapeSelector</name>
    <message>
      <location filename="../panels/ShapeSelector.ui" line="14"/>
      <source>Toolbit Shape Selection</source>
      <translation type="unfinished">Toolbit Shape Selection</translation>
    </message>
  </context>
  <context>
    <name>LibraryPropertyDialog</name>
    <message>
      <location filename="../../../Path/Tool/library/ui/properties.py" line="80"/>
      <source>Library Properties - {current_name or self.library.label}</source>
      <translation type="unfinished">Library Properties - {current_name or self.library.label}</translation>
    </message>
  </context>
  <context>
    <name>Path_Tapping</name>
    <message>
      <location filename="../../../Path/Op/Tapping.py" line="157"/>
      <source>Tapping Operation requires a Tap tool with Pitch</source>
      <translation type="unfinished">Tapping Operation requires a Tap tool with Pitch</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Tapping.py" line="235"/>
      <source>Tapping Operation requires a Tap tool with non-zero Pitch</source>
      <translation type="unfinished">Tapping Operation requires a Tap tool with non-zero Pitch</translation>
    </message>
    <message>
      <location filename="../../../Path/Op/Tapping.py" line="245"/>
      <source>Tapping Operation requires a ToolController with non-zero SpindleSpeed</source>
      <translation type="unfinished">Tapping Operation requires a ToolController with non-zero SpindleSpeed</translation>
    </message>
  </context>
  <context>
    <name>CAM_SimTools</name>
    <message>
      <location filename="../../../InitGui.py" line="176"/>
      <source>Simulators</source>
      <translation type="unfinished">Simulators</translation>
    </message>
  </context>
</TS>
