- fixed issue with arrays of items could not be added in the Gerber/Excellon Editor when a translation is used

- fixed issue in the Excellon Editor where the Space key did not toggle the direction of the array of drills
- combed the application strings all over the app and trimmed them up until those starting with letter 'O'
- updated the translation strings
This commit is contained in:
Marius Stanciu
2020-11-04 18:40:59 +02:00
committed by Marius Stanciu
parent e5569360a7
commit 90e3b26b68
64 changed files with 12203 additions and 11937 deletions

View File

@@ -4173,7 +4173,7 @@ class FCJog(QtWidgets.QFrame):
self.jog_origin_button = QtWidgets.QToolButton()
self.jog_origin_button.setIcon(QtGui.QIcon(self.app.resource_location + '/origin2_32.png'))
self.jog_origin_button.setToolTip(
_("Move to Origin.")
'%s' % _("Move to Origin")
)
grbl_jog_grid.addWidget(self.jog_origin_button, 3, 1)
@@ -4534,23 +4534,23 @@ class FlatCAMSystemTray(QtWidgets.QSystemTrayIcon):
# Open Project ...
menu_openproject = QtWidgets.QAction(QtGui.QIcon(self.app.resource_location + '/folder16.png'),
_('Open Project ...'), self)
'%s ...' % _('Open Project'), self)
self.menu_open.addAction(menu_openproject)
self.menu_open.addSeparator()
# Open Gerber ...
menu_opengerber = QtWidgets.QAction(QtGui.QIcon(self.app.resource_location + '/flatcam_icon24.png'),
_('Open &Gerber ...\tCtrl+G'), self)
'%s ...\t%s' % (_('Open Gerber'), _('Ctrl+G')), self)
self.menu_open.addAction(menu_opengerber)
# Open Excellon ...
menu_openexcellon = QtWidgets.QAction(QtGui.QIcon(self.app.resource_location + '/open_excellon32.png'),
_('Open &Excellon ...\tCtrl+E'), self)
'%s ...\t%s' % (_('Open Excellon'), _('Ctrl+E')), self)
self.menu_open.addAction(menu_openexcellon)
# Open G-Code ...
menu_opengcode = QtWidgets.QAction(QtGui.QIcon(self.app.resource_location + '/code.png'),
_('Open G-&Code ...'), self)
'%s ...' % _('Open G-Code'), self)
self.menu_open.addAction(menu_opengcode)
self.menu_open.addSeparator()

View File

@@ -737,7 +737,7 @@ class MainGUI(QtWidgets.QMainWindow):
self.exc_move_drill_menuitem = self.exc_editor_menu.addAction(
QtGui.QIcon(self.app.resource_location + '/move32.png'),
'%s\t%s' % (_('Move Drill(s)'), _('M')))
'%s\t%s' % (_('Move Drill'), _('M')))
# ########################################################################
# ########################## GERBER Editor # #############################
@@ -860,7 +860,7 @@ class MainGUI(QtWidgets.QMainWindow):
self.menuproject.addSeparator()
self.menuprojectgeneratecnc = self.menuproject.addAction(
QtGui.QIcon(self.app.resource_location + '/cnc32.png'), _('Generate CNC'))
QtGui.QIcon(self.app.resource_location + '/cnc32.png'), _('Create CNCJob'))
self.menuprojectviewsource = self.menuproject.addAction(
QtGui.QIcon(self.app.resource_location + '/source32.png'), _('View Source'))
@@ -971,7 +971,7 @@ class MainGUI(QtWidgets.QMainWindow):
QtGui.QIcon(self.app.resource_location + '/drill32.png'), _("Open Excellon"))
self.toolbarfile.addSeparator()
self.file_open_btn = self.toolbarfile.addAction(
QtGui.QIcon(self.app.resource_location + '/folder32.png'), _("Open project"))
QtGui.QIcon(self.app.resource_location + '/folder32.png'), _("Open Project"))
self.file_save_btn = self.toolbarfile.addAction(
QtGui.QIcon(self.app.resource_location + '/project_save32.png'), _("Save project"))
@@ -1026,11 +1026,11 @@ class MainGUI(QtWidgets.QMainWindow):
self.shell_btn = self.toolbarshell.addAction(
QtGui.QIcon(self.app.resource_location + '/shell32.png'), _("Command Line"))
self.new_script_btn = self.toolbarshell.addAction(
QtGui.QIcon(self.app.resource_location + '/script_new24.png'), _('New Script ...'))
QtGui.QIcon(self.app.resource_location + '/script_new24.png'), '%s ...' % _('New Script'))
self.open_script_btn = self.toolbarshell.addAction(
QtGui.QIcon(self.app.resource_location + '/open_script32.png'), _('Open Script ...'))
QtGui.QIcon(self.app.resource_location + '/open_script32.png'), '%s ...' % _('Open Script'))
self.run_script_btn = self.toolbarshell.addAction(
QtGui.QIcon(self.app.resource_location + '/script16.png'), _('Run Script ...'))
QtGui.QIcon(self.app.resource_location + '/script16.png'), '%s ...' % _('Run Script'))
# ########################################################################
# ########################## Tools Toolbar# ##############################
@@ -1167,7 +1167,7 @@ class MainGUI(QtWidgets.QMainWindow):
QtGui.QIcon(self.app.resource_location + '/transform.png'), _("Transformations"))
self.geo_edit_toolbar.addSeparator()
self.geo_move_btn = self.geo_edit_toolbar.addAction(
QtGui.QIcon(self.app.resource_location + '/move32.png'), _("Move Objects "))
QtGui.QIcon(self.app.resource_location + '/move32.png'), _("Move Objects"))
# ########################################################################
# ########################## Gerber Editor Toolbar# ######################
@@ -2142,9 +2142,9 @@ class MainGUI(QtWidgets.QMainWindow):
QtGui.QIcon(self.app.resource_location + '/drill32.png'), _("Open Excellon"))
self.toolbarfile.addSeparator()
self.file_open_btn = self.toolbarfile.addAction(
QtGui.QIcon(self.app.resource_location + '/folder32.png'), _("Open project"))
QtGui.QIcon(self.app.resource_location + '/folder32.png'), _("Open Project"))
self.file_save_btn = self.toolbarfile.addAction(
QtGui.QIcon(self.app.resource_location + '/project_save32.png'), _("Save project"))
QtGui.QIcon(self.app.resource_location + '/project_save32.png'), _("Save Project"))
# ########################################################################
# ######################### Edit Toolbar #################################
@@ -2195,11 +2195,11 @@ class MainGUI(QtWidgets.QMainWindow):
self.shell_btn = self.toolbarshell.addAction(
QtGui.QIcon(self.app.resource_location + '/shell32.png'), _("Command Line"))
self.new_script_btn = self.toolbarshell.addAction(
QtGui.QIcon(self.app.resource_location + '/script_new24.png'), _('New Script ...'))
QtGui.QIcon(self.app.resource_location + '/script_new24.png'), '%s ...' % _('New Script'))
self.open_script_btn = self.toolbarshell.addAction(
QtGui.QIcon(self.app.resource_location + '/open_script32.png'), _('Open Script ...'))
QtGui.QIcon(self.app.resource_location + '/open_script32.png'), '%s ...' % _('Open Script'))
self.run_script_btn = self.toolbarshell.addAction(
QtGui.QIcon(self.app.resource_location + '/script16.png'), _('Run Script ...'))
QtGui.QIcon(self.app.resource_location + '/script16.png'), '%s ...' % _('Run Script'))
# #########################################################################
# ######################### Tools Toolbar #################################
@@ -2290,7 +2290,7 @@ class MainGUI(QtWidgets.QMainWindow):
# ################### Geometry Editor Toolbar ############################
# ########################################################################
self.geo_select_btn = self.geo_edit_toolbar.addAction(
QtGui.QIcon(self.app.resource_location + '/pointer32.png'), _("Select 'Esc'"))
QtGui.QIcon(self.app.resource_location + '/pointer32.png'), _("Select"))
self.geo_add_circle_btn = self.geo_edit_toolbar.addAction(
QtGui.QIcon(self.app.resource_location + '/circle32.png'), _('Add Circle'))
self.geo_add_arc_btn = self.geo_edit_toolbar.addAction(
@@ -3555,13 +3555,12 @@ class MainGUI(QtWidgets.QMainWindow):
self.app.exc_editor.select_tool('slot_add')
return
# Propagate to tool
# Show Shortcut list
if key == QtCore.Qt.Key_F3 or key == 'F3':
self.app.on_shortcut_list()
return
# Propagate to tool
# we do this so we can reuse the following keys while inside a Tool
# the above keys are general enough so were left outside
if self.app.exc_editor.active_tool is not None and self.select_drill_btn.isChecked() is False:
@@ -3646,7 +3645,7 @@ class MainGUI(QtWidgets.QMainWindow):
self.app.exc_editor.launched_from_shortcuts = True
# ## Current application units in Upper Case
self.units = self.general_defaults_form.general_app_group.units_radio.get_value().upper()
tool_add_popup = FCInputDialog(title=_("New Tool ..."),
tool_add_popup = FCInputDialog(title='%s ...' % _("New Tool"),
text='%s:' % _('Enter a Tool Diameter'),
min=0.0000, max=99.9999, decimals=4)
tool_add_popup.setWindowIcon(QtGui.QIcon(self.app.resource_location + '/letter_t_32.png'))

View File

@@ -721,7 +721,7 @@ class ExcellonObjectUI(ObjectUI):
self.drill_button = QtWidgets.QPushButton(_('Drilling Tool'))
self.drill_button.setIcon(QtGui.QIcon(self.app.resource_location + '/drilling_tool32.png'))
self.drill_button.setToolTip(
_("Generate GCode out of drill holes in an Excellon object.")
_("Generate GCode from the drill holes in an Excellon object.")
)
self.drill_button.setStyleSheet("""
QPushButton

View File

@@ -161,7 +161,7 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI):
# Slot length
self.slot_length_label = QtWidgets.QLabel('%s:' % _('Length'))
self.slot_length_label.setToolTip(
_("Length = The length of the slot.")
_("Length. The length of the slot.")
)
self.slot_length_label.setMinimumWidth(100)

View File

@@ -43,8 +43,8 @@ class ExcellonExpPrefGroupUI(OptionsGroupUI):
_("The units used in the Excellon file.")
)
self.excellon_units_radio = RadioSet([{'label': _('INCH'), 'value': 'INCH'},
{'label': _('MM'), 'value': 'METRIC'}])
self.excellon_units_radio = RadioSet([{'label': _('Inch'), 'value': 'INCH'},
{'label': _('mm'), 'value': 'METRIC'}])
self.excellon_units_radio.setToolTip(
_("The units used in the Excellon file.")
)

View File

@@ -179,8 +179,8 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
"therefore this parameter will be used.")
)
self.excellon_units_radio = RadioSet([{'label': _('INCH'), 'value': 'INCH'},
{'label': _('MM'), 'value': 'METRIC'}])
self.excellon_units_radio = RadioSet([{'label': _('Inch'), 'value': 'INCH'},
{'label': _('mm'), 'value': 'METRIC'}])
self.excellon_units_radio.setToolTip(
_("This sets the units of Excellon files.\n"
"Some Excellon files don't have an header\n"

View File

@@ -30,7 +30,7 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI):
self.decimals = decimals
# ## Create CNC Job
self.cncjob_label = QtWidgets.QLabel('<b>%s</b>' % _('Create CNC Job'))
self.cncjob_label = QtWidgets.QLabel('<b>%s</b>' % _('Create CNCJob'))
self.cncjob_label.setToolTip(
_("Parameters used to create a CNC Job object\n"
"for this drill object.")

View File

@@ -61,7 +61,7 @@ class GeneralAppPrefGroupUI(OptionsGroupUI):
grid0.addWidget(self.precision_metric_entry, 1, 1)
# Precision Inch
self.precision_inch_label = QtWidgets.QLabel('%s:' % _('Precision INCH'))
self.precision_inch_label = QtWidgets.QLabel('%s:' % _('Precision Inch'))
self.precision_inch_label.setToolTip(
_("The number of decimals used throughout the application\n"
"when the set units are in INCH system.\n"

View File

@@ -32,7 +32,7 @@ class GeometryOptPrefGroupUI(OptionsGroupUI):
# ------------------------------
# ## Create CNC Job
# ------------------------------
self.cncjob_label = QtWidgets.QLabel('<b>%s:</b>' % _('Create CNC Job'))
self.cncjob_label = QtWidgets.QLabel('<b>%s:</b>' % _('Create CNCJob'))
self.cncjob_label.setToolTip(
_("Create a CNC Job object\n"
"tracing the contours of this\n"

View File

@@ -44,8 +44,8 @@ class GerberExpPrefGroupUI(OptionsGroupUI):
_("The units used in the Gerber file.")
)
self.gerber_units_radio = RadioSet([{'label': _('INCH'), 'value': 'IN'},
{'label': _('MM'), 'value': 'MM'}])
self.gerber_units_radio = RadioSet([{'label': _('Inch'), 'value': 'IN'},
{'label': _('mm'), 'value': 'MM'}])
self.gerber_units_radio.setToolTip(
_("The units used in the Gerber file.")
)

View File

@@ -84,8 +84,8 @@ class GerberGenPrefGroupUI(OptionsGroupUI):
_("The units used in the Gerber file.")
)
self.gerber_units_radio = RadioSet([{'label': _('INCH'), 'value': 'IN'},
{'label': _('MM'), 'value': 'MM'}])
self.gerber_units_radio = RadioSet([{'label': _('Inch'), 'value': 'IN'},
{'label': _('mm'), 'value': 'MM'}])
self.gerber_units_radio.setToolTip(
_("The units used in the Gerber file.")
)

View File

@@ -73,7 +73,7 @@ class Tools2FiducialsPrefGroupUI(OptionsGroupUI):
{'label': _('Auto'), 'value': 'auto'},
{"label": _("Manual"), "value": "manual"}
], stretch=False)
self.mode_label = QtWidgets.QLabel(_("Mode:"))
self.mode_label = QtWidgets.QLabel('%s:' % _("Mode"))
self.mode_label.setToolTip(
_("- 'Auto' - automatic placement of fiducials in the corners of the bounding box.\n"
"- 'Manual' - manual placement of fiducials.")

View File

@@ -66,7 +66,7 @@ class Tools2sidedPrefGroupUI(OptionsGroupUI):
# ## Axis
self.mirror_axis_radio = RadioSet([{'label': 'X', 'value': 'X'},
{'label': 'Y', 'value': 'Y'}])
self.mirax_label = QtWidgets.QLabel(_("Mirror Axis:"))
self.mirax_label = QtWidgets.QLabel('%s:' % _("Mirror Axis"))
self.mirax_label.setToolTip(
_("Mirror vertically (X) or horizontally (Y).")
)

View File

@@ -306,7 +306,7 @@ class ToolsDrillPrefGroupUI(OptionsGroupUI):
# Start Z
startzlabel = FCLabel('%s:' % _('Start Z'))
startzlabel.setToolTip(
_("Height of the tool just after start.\n"
_("Height of the tool just after starting the work.\n"
"Delete the value if you don't need this feature.")
)
self.estartz_entry = NumericalEvalEntry(border_color='#0069A9')

View File

@@ -198,7 +198,7 @@ class ToolsFilmPrefGroupUI(OptionsGroupUI):
{'label': _('Y'), 'value': 'y'},
{'label': _('Both'), 'value': 'both'}],
stretch=False)
self.film_mirror_axis_label = FCLabel('%s:' % _("Mirror axis"))
self.film_mirror_axis_label = FCLabel('%s:' % _("Mirror Axis"))
grid0.addWidget(self.film_mirror_axis_label, 13, 0)
grid0.addWidget(self.film_mirror_axis, 13, 1)

View File

@@ -181,7 +181,7 @@ class ToolsISOPrefGroupUI(OptionsGroupUI):
# Milling Type Radio Button
self.milling_type_label = QtWidgets.QLabel('%s:' % _('Milling Type'))
self.milling_type_label.setToolTip(
_("Milling type when the selected tool is of type: 'iso_op':\n"
_("Milling type:\n"
"- climb / best for precision milling and to reduce tool usage\n"
"- conventional / useful when there is no backlash compensation")
)
@@ -189,7 +189,7 @@ class ToolsISOPrefGroupUI(OptionsGroupUI):
self.milling_type_radio = RadioSet([{'label': _('Climb'), 'value': 'cl'},
{'label': _('Conventional'), 'value': 'cv'}])
self.milling_type_radio.setToolTip(
_("Milling type when the selected tool is of type: 'iso_op':\n"
_("Milling type:\n"
"- climb / best for precision milling and to reduce tool usage\n"
"- conventional / useful when there is no backlash compensation")
)
@@ -244,11 +244,11 @@ class ToolsISOPrefGroupUI(OptionsGroupUI):
self.rest_cb.setObjectName("i_rest_machining")
self.rest_cb.setToolTip(
_("If checked, use 'rest machining'.\n"
"Basically it will isolate outside PCB features,\n"
"Basically it will process copper outside PCB features,\n"
"using the biggest tool and continue with the next tools,\n"
"from bigger to smaller, to isolate the copper features that\n"
"could not be cleared by previous tool, until there is\n"
"no more copper features to isolate or there are no more tools.\n"
"from bigger to smaller, to process the copper features that\n"
"could not be processed by previous tool, until there is\n"
"nothing left to process or there are no more tools.\n\n"
"If not checked, use the standard algorithm.")
)

View File

@@ -136,7 +136,7 @@ class ToolsNCCPrefGroupUI(OptionsGroupUI):
# Milling Type Radio Button
self.milling_type_label = QtWidgets.QLabel('%s:' % _('Milling Type'))
self.milling_type_label.setToolTip(
_("Milling type when the selected tool is of type: 'iso_op':\n"
_("Milling type:\n"
"- climb / best for precision milling and to reduce tool usage\n"
"- conventional / useful when there is no backlash compensation")
)
@@ -144,7 +144,7 @@ class ToolsNCCPrefGroupUI(OptionsGroupUI):
self.milling_type_radio = RadioSet([{'label': _('Climb'), 'value': 'cl'},
{'label': _('Conventional'), 'value': 'cv'}])
self.milling_type_radio.setToolTip(
_("Milling type when the selected tool is of type: 'iso_op':\n"
_("Milling type:\n"
"- climb / best for precision milling and to reduce tool usage\n"
"- conventional / useful when there is no backlash compensation")
)
@@ -183,8 +183,8 @@ class ToolsNCCPrefGroupUI(OptionsGroupUI):
nccoverlabel.setToolTip(
_("How much (percentage) of the tool width to overlap each tool pass.\n"
"Adjust the value starting with lower values\n"
"and increasing it if areas that should be cleared are still \n"
"not cleared.\n"
"and increasing it if areas that should be processed are still \n"
"not processed.\n"
"Lower values = faster processing, faster execution on CNC.\n"
"Higher values = slow processing and slow execution on CNC\n"
"due of too many paths.")
@@ -256,8 +256,7 @@ class ToolsNCCPrefGroupUI(OptionsGroupUI):
self.ncc_choice_offset_cb.setToolTip(
_("If used, it will add an offset to the copper features.\n"
"The copper clearing will finish to a distance\n"
"from the copper features.\n"
"The value can be between 0 and 10 FlatCAM units.")
"from the copper features.")
)
grid0.addWidget(self.ncc_choice_offset_cb, 14, 0, 1, 2)
@@ -267,8 +266,7 @@ class ToolsNCCPrefGroupUI(OptionsGroupUI):
self.ncc_offset_label.setToolTip(
_("If used, it will add an offset to the copper features.\n"
"The copper clearing will finish to a distance\n"
"from the copper features.\n"
"The value can be between 0.0 and 9999.9 FlatCAM units.")
"from the copper features.")
)
self.ncc_offset_spinner = FCDoubleSpinner()
self.ncc_offset_spinner.set_range(0.00, 10000.0000)
@@ -288,11 +286,11 @@ class ToolsNCCPrefGroupUI(OptionsGroupUI):
self.ncc_rest_cb = FCCheckBox('%s' % _("Rest"))
self.ncc_rest_cb.setToolTip(
_("If checked, use 'rest machining'.\n"
"Basically it will clear copper outside PCB features,\n"
"Basically it will process copper outside PCB features,\n"
"using the biggest tool and continue with the next tools,\n"
"from bigger to smaller, to clear areas of copper that\n"
"could not be cleared by previous tool, until there is\n"
"no more copper to clear or there are no more tools.\n"
"from bigger to smaller, to process the copper features that\n"
"could not be processed by previous tool, until there is\n"
"nothing left to process or there are no more tools.\n\n"
"If not checked, use the standard algorithm.")
)

View File

@@ -162,8 +162,8 @@ class ToolsPaintPrefGroupUI(OptionsGroupUI):
ovlabel.setToolTip(
_("How much (percentage) of the tool width to overlap each tool pass.\n"
"Adjust the value starting with lower values\n"
"and increasing it if areas that should be painted are still \n"
"not painted.\n"
"and increasing it if areas that should be processed are still \n"
"not processed.\n"
"Lower values = faster processing, faster execution on CNC.\n"
"Higher values = slow processing and slow execution on CNC\n"
"due of too many paths.")
@@ -243,11 +243,11 @@ class ToolsPaintPrefGroupUI(OptionsGroupUI):
self.rest_cb.setObjectName(_("Rest"))
self.rest_cb.setToolTip(
_("If checked, use 'rest machining'.\n"
"Basically it will clear copper outside PCB features,\n"
"Basically it will process copper outside PCB features,\n"
"using the biggest tool and continue with the next tools,\n"
"from bigger to smaller, to clear areas of copper that\n"
"could not be cleared by previous tool, until there is\n"
"no more copper to clear or there are no more tools.\n\n"
"from bigger to smaller, to process the copper features that\n"
"could not be processed by previous tool, until there is\n"
"nothing left to process or there are no more tools.\n\n"
"If not checked, use the standard algorithm.")
)
grid0.addWidget(self.rest_cb, 14, 0, 1, 2)