Sfoglia il codice sorgente

- added some more strings to the translateable ones, especially the radio button labels
- updated the .POT file and the available translations
- 51% progress in Spanish Google translation

Marius Stanciu 6 anni fa
parent
commit
ac2bf56e14

+ 5 - 5
FlatCAMApp.py

@@ -3847,11 +3847,11 @@ class App(QtCore.QObject):
 
         # Changing project units. Warn user.
         msgbox = QtWidgets.QMessageBox()
-        msgbox.setWindowTitle("Toggle Units")
+        msgbox.setWindowTitle(_("Toggle Units"))
         msgbox.setWindowIcon(QtGui.QIcon('share/toggle_units32.png'))
-        msgbox.setText("<B>Change project units ...</B>")
-        msgbox.setInformativeText("Changing the units of the project causes all geometrical "
-                                  "properties of all objects to be scaled accordingly.\nContinue?")
+        msgbox.setText(_("<B>Change project units ...</B>"))
+        msgbox.setInformativeText(_("Changing the units of the project causes all geometrical "
+                                    "properties of all objects to be scaled accordingly.\nContinue?"))
         bt_ok = msgbox.addButton(_('Ok'), QtWidgets.QMessageBox.AcceptRole)
         bt_cancel = msgbox.addButton(_('Cancel'), QtWidgets.QMessageBox.RejectRole)
 
@@ -5467,7 +5467,7 @@ class App(QtCore.QObject):
         self.report_usage("on_shortcut_list()")
 
         # add the tab if it was closed
-        self.ui.plot_tab_area.addTab(self.ui.shortcuts_tab, "Key Shortcut List")
+        self.ui.plot_tab_area.addTab(self.ui.shortcuts_tab, _("Key Shortcut List"))
 
         # delete the absolute and relative position and messages in the infobar
         self.ui.position_label.setText("")

+ 9 - 3
FlatCAMTranslation.py

@@ -16,6 +16,11 @@ from PyQt5.QtCore import QSettings
 from flatcamGUI.GUIElements import log
 import gettext
 
+import builtins
+
+if '_' not in builtins.__dict__:
+    _ = gettext.gettext
+
 # ISO639-1 codes from here: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
 languages_dict = {
     'zh': 'Chinese',
@@ -83,9 +88,10 @@ def on_language_apply_click(app, restart=False):
 
     if restart:
         msgbox = QtWidgets.QMessageBox()
-        msgbox.setText("The application will restart.")
-        msgbox.setInformativeText("Are you sure do you want to change the current language to %s?" % name.capitalize())
-        msgbox.setWindowTitle("Apply Language ...")
+        msgbox.setText(_("The application will restart."))
+        msgbox.setInformativeText(_("Are you sure do you want to change the current language to %s?") %
+                                  name.capitalize())
+        msgbox.setWindowTitle(_("Apply Language ..."))
         msgbox.setWindowIcon(QtGui.QIcon('share/language32.png'))
         bt_yes = msgbox.addButton(_('Yes'), QtWidgets.QMessageBox.YesRole)
         bt_no = msgbox.addButton(_('No'), QtWidgets.QMessageBox.NoRole)

+ 6 - 0
README.md

@@ -9,6 +9,12 @@ CAD program, and create G-Code for Isolation routing.
 
 =================================================
 
+17.07.2019
+
+- added some more strings to the translateable ones, especially the radio button labels
+- updated the .POT file and the available translations
+- 51% progress in Spanish Google translation
+
 16.07.2019
 
 - PEP8 correction in flatcamTools

+ 5 - 5
flatcamEditors/FlatCAMExcEditor.py

@@ -970,9 +970,9 @@ class FlatCAMExcEditor(QtCore.QObject):
         )
         self.drill_axis_label.setFixedWidth(100)
 
-        self.drill_axis_radio = RadioSet([{'label': 'X', 'value': 'X'},
-                                          {'label': 'Y', 'value': 'Y'},
-                                          {'label': 'Angle', 'value': 'A'}])
+        self.drill_axis_radio = RadioSet([{'label': _('X'), 'value': 'X'},
+                                          {'label': _('Y'), 'value': 'Y'},
+                                          {'label': _('Angle'), 'value': 'A'}])
         self.linear_form.addRow(self.drill_axis_label, self.drill_axis_radio)
 
         # Linear Drill Array pitch distance
@@ -1017,8 +1017,8 @@ class FlatCAMExcEditor(QtCore.QObject):
         self.circular_form = QtWidgets.QFormLayout()
         self.circular_box.addLayout(self.circular_form)
 
-        self.drill_direction_radio = RadioSet([{'label': 'CW', 'value': 'CW'},
-                                               {'label': 'CCW.', 'value': 'CCW'}])
+        self.drill_direction_radio = RadioSet([{'label': _('CW'), 'value': 'CW'},
+                                               {'label': _('CCW'), 'value': 'CCW'}])
         self.circular_form.addRow(self.drill_direction_label, self.drill_direction_radio)
 
         self.drill_angle_label = QtWidgets.QLabel(_('Angle:'))

+ 3 - 3
flatcamEditors/FlatCAMGeoEditor.py

@@ -477,9 +477,9 @@ class PaintOptionsTool(FlatCAMTool):
         )
         grid.addWidget(methodlabel, 3, 0)
         self.paintmethod_combo = RadioSet([
-            {"label": "Standard", "value": "standard"},
-            {"label": "Seed-based", "value": "seed"},
-            {"label": "Straight lines", "value": "lines"}
+            {"label": _("Standard"), "value": "standard"},
+            {"label": _("Seed-based"), "value": "seed"},
+            {"label": _("Straight lines"), "value": "lines"}
         ], orientation='vertical', stretch=False)
         grid.addWidget(self.paintmethod_combo, 3, 1)
 

+ 5 - 5
flatcamEditors/FlatCAMGrbEditor.py

@@ -2628,9 +2628,9 @@ class FlatCAMGrbEditor(QtCore.QObject):
         )
         self.pad_axis_label.setFixedWidth(100)
 
-        self.pad_axis_radio = RadioSet([{'label': 'X', 'value': 'X'},
-                                        {'label': 'Y', 'value': 'Y'},
-                                        {'label': 'Angle', 'value': 'A'}])
+        self.pad_axis_radio = RadioSet([{'label': _('X'), 'value': 'X'},
+                                        {'label': _('Y'), 'value': 'Y'},
+                                        {'label': _('Angle'), 'value': 'A'}])
         self.pad_axis_radio.set_value('X')
         self.linear_form.addRow(self.pad_axis_label, self.pad_axis_radio)
 
@@ -2674,8 +2674,8 @@ class FlatCAMGrbEditor(QtCore.QObject):
         self.circular_form = QtWidgets.QFormLayout()
         self.circular_box.addLayout(self.circular_form)
 
-        self.pad_direction_radio = RadioSet([{'label': 'CW', 'value': 'CW'},
-                                             {'label': 'CCW.', 'value': 'CCW'}])
+        self.pad_direction_radio = RadioSet([{'label': _('CW'), 'value': 'CW'},
+                                             {'label': _('CCW'), 'value': 'CCW'}])
         self.pad_direction_radio.set_value('CW')
         self.circular_form.addRow(self.pad_direction_label, self.pad_direction_radio)
 

+ 47 - 47
flatcamGUI/FlatCAMGUI.py

@@ -3786,8 +3786,8 @@ class GeneralAppPrefGroupUI(OptionsGroupUI):
         self.unitslabel.setToolTip(_("The default value for FlatCAM units.\n"
                                      "Whatever is selected here is set every time\n"
                                      "FLatCAM is started."))
-        self.units_radio = RadioSet([{'label': 'IN', 'value': 'IN'},
-                                     {'label': 'MM', 'value': 'MM'}])
+        self.units_radio = RadioSet([{'label': _('IN'), 'value': 'IN'},
+                                     {'label': _('MM'), 'value': 'MM'}])
 
         # Application Level for FlatCAM
         self.app_level_label = QtWidgets.QLabel(_('<b>APP. LEVEL:</b>'))
@@ -3856,8 +3856,8 @@ class GeneralAppPrefGroupUI(OptionsGroupUI):
         self.panbuttonlabel.setToolTip(_("Select the mouse button to use for panning:\n"
                                          "- MMB --> Middle Mouse Button\n"
                                          "- RMB --> Right Mouse Button"))
-        self.pan_button_radio = RadioSet([{'label': 'MMB', 'value': '3'},
-                                          {'label': 'RMB', 'value': '2'}])
+        self.pan_button_radio = RadioSet([{'label': _('MMB'), 'value': '3'},
+                                          {'label': _('RMB'), 'value': '2'}])
 
         # Multiple Selection Modifier Key
         self.mselectlabel = QtWidgets.QLabel(_('<b>Multiple Sel:</b>'))
@@ -3923,7 +3923,7 @@ class GeneralAppPrefGroupUI(OptionsGroupUI):
         self.worker_number_sb.set_range(2, 16)
 
         # Geometric tolerance
-        tol_label = QtWidgets.QLabel("Geo Tolerance:")
+        tol_label = QtWidgets.QLabel(_("Geo Tolerance:"))
         tol_label.setToolTip(_(
             "This value can counter the effect of the Circle Steps\n"
             "parameter. Default value is 0.01.\n"
@@ -4117,8 +4117,8 @@ class GerberOptPrefGroupUI(OptionsGroupUI):
               "- conventional / useful when there is no backlash compensation")
         )
         grid0.addWidget(milling_type_label, 3, 0)
-        self.milling_type_radio = RadioSet([{'label': 'Climb', 'value': 'cl'},
-                                            {'label': 'Conv.', 'value': 'cv'}])
+        self.milling_type_radio = RadioSet([{'label': _('Climb'), 'value': 'cl'},
+                                            {'label': _('Conv.'), 'value': 'cv'}])
         grid0.addWidget(self.milling_type_radio, 3, 1)
 
         # Combine passes
@@ -4275,8 +4275,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.")
         )
@@ -4330,8 +4330,8 @@ class GerberExpPrefGroupUI(OptionsGroupUI):
               "and Leading Zeros are kept.")
         )
 
-        self.zeros_radio = RadioSet([{'label': 'LZ', 'value': 'L'},
-                                     {'label': 'TZ', 'value': 'T'}])
+        self.zeros_radio = RadioSet([{'label': _('LZ'), 'value': 'L'},
+                                     {'label': _('TZ'), 'value': 'T'}])
         self.zeros_radio.setToolTip(
             _("This sets the type of Gerber zeros.\n"
               "If LZ then Leading Zeros are removed and\n"
@@ -4512,8 +4512,8 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
         )
         grid2.addWidget(self.excellon_zeros_label, 0, 0)
 
-        self.excellon_zeros_radio = RadioSet([{'label': 'LZ', 'value': 'L'},
-                                              {'label': 'TZ', 'value': 'T'}])
+        self.excellon_zeros_radio = RadioSet([{'label': _('LZ'), 'value': 'L'},
+                                              {'label': _('TZ'), 'value': 'T'}])
         self.excellon_zeros_radio.setToolTip(
             _("This sets the default type of Excellon zeros.\n"
               "If it is not detected in the parsed file the value here\n"
@@ -4536,8 +4536,8 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
         )
         grid2.addWidget(self.excellon_units_label, 1, 0)
 
-        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"
@@ -4563,8 +4563,8 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
         )
         grid2.addWidget(self.excellon_optimization_label, 4, 0)
 
-        self.excellon_optimization_radio = RadioSet([{'label': 'MH', 'value': 'M'},
-                                     {'label': 'Basic', 'value': 'B'}])
+        self.excellon_optimization_radio = RadioSet([{'label': _('MH'), 'value': 'M'},
+                                                     {'label': _('Basic'), 'value': 'B'}])
         self.excellon_optimization_radio.setToolTip(
             _("This sets the optimization type for the Excellon drill path.\n"
               "If MH is checked then Google OR-Tools algorithm with MetaHeuristic\n"
@@ -4700,8 +4700,8 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI):
               "- CCW = counter clockwise")
         )
 
-        self.spindledir_radio = RadioSet([{'label': 'CW', 'value': 'CW'},
-                                          {'label': 'CCW', 'value': 'CCW'}])
+        self.spindledir_radio = RadioSet([{'label': _('CW'), 'value': 'CW'},
+                                          {'label': _('CCW'), 'value': 'CCW'}])
         grid2.addWidget(spindle_dir_label, 6, 0)
         grid2.addWidget(self.spindledir_radio, 6, 1)
 
@@ -4927,8 +4927,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.")
         )
@@ -4983,8 +4983,8 @@ class ExcellonExpPrefGroupUI(OptionsGroupUI):
               "Also it will have to be specified if LZ = leading zeros are kept\n"
               "or TZ = trailing zeros are kept.")
         )
-        self.format_radio = RadioSet([{'label': 'Decimal', 'value': 'dec'},
-                                      {'label': 'No-Decimal', 'value': 'ndec'}])
+        self.format_radio = RadioSet([{'label': _('Decimal'), 'value': 'dec'},
+                                      {'label': _('No-Decimal'), 'value': 'ndec'}])
         self.format_radio.setToolTip(
             _("Select the kind of coordinates format used.\n"
               "Coordinates can be saved with decimal point or without.\n"
@@ -5007,8 +5007,8 @@ class ExcellonExpPrefGroupUI(OptionsGroupUI):
               "and Leading Zeros are removed.")
         )
 
-        self.zeros_radio = RadioSet([{'label': 'LZ', 'value': 'LZ'},
-                                     {'label': 'TZ', 'value': 'TZ'}])
+        self.zeros_radio = RadioSet([{'label': _('LZ'), 'value': 'LZ'},
+                                     {'label': _('TZ'), 'value': 'TZ'}])
         self.zeros_radio.setToolTip(
             _("This sets the default type of Excellon zeros.\n"
               "If LZ then Leading Zeros are kept and\n"
@@ -5097,9 +5097,9 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI):
               "- 'Angle' - a custom angle for the array inclination")
         )
         # self.drill_axis_label.setFixedWidth(100)
-        self.drill_axis_radio = RadioSet([{'label': 'X', 'value': 'X'},
-                                          {'label': 'Y', 'value': 'Y'},
-                                          {'label': 'Angle', 'value': 'A'}])
+        self.drill_axis_radio = RadioSet([{'label': _('X'), 'value': 'X'},
+                                          {'label': _('Y'), 'value': 'Y'},
+                                          {'label': _('Angle'), 'value': 'A'}])
 
         grid0.addWidget(self.drill_axis_label, 4, 0)
         grid0.addWidget(self.drill_axis_radio, 4, 1)
@@ -5135,8 +5135,8 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI):
               "Can be CW = clockwise or CCW = counter clockwise.")
         )
 
-        self.drill_circular_dir_radio = RadioSet([{'label': 'CW', 'value': 'CW'},
-                                                  {'label': 'CCW.', 'value': 'CCW'}])
+        self.drill_circular_dir_radio = RadioSet([{'label': _('CW'), 'value': 'CW'},
+                                                  {'label': _('CCW'), 'value': 'CCW'}])
 
         grid0.addWidget(self.drill_circular_direction_label, 8, 0)
         grid0.addWidget(self.drill_circular_dir_radio, 8, 1)
@@ -5324,8 +5324,8 @@ class GeometryOptPrefGroupUI(OptionsGroupUI):
               "- CCW = counter clockwise")
         )
 
-        self.spindledir_radio = RadioSet([{'label': 'CW', 'value': 'CW'},
-                                          {'label': 'CCW', 'value': 'CCW'}])
+        self.spindledir_radio = RadioSet([{'label': _('CW'), 'value': 'CW'},
+                                          {'label': _('CCW'), 'value': 'CCW'}])
         grid1.addWidget(spindle_dir_label, 9, 0)
         grid1.addWidget(self.spindledir_radio, 9, 1)
 
@@ -5557,9 +5557,9 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI):
         )
 
         self.cncplot_method_radio = RadioSet([
-            {"label": "All", "value": "all"},
-            {"label": "Travel", "value": "travel"},
-            {"label": "Cut", "value": "cut"}
+            {"label": _("All"), "value": "all"},
+            {"label": _("Travel"), "value": "travel"},
+            {"label": _("Cut"), "value": "cut"}
         ], stretch=False)
 
         grid0.addWidget(self.cncplot_method_label, 1, 0)
@@ -5841,9 +5841,9 @@ class ToolsNCCPrefGroupUI(OptionsGroupUI):
         )
         grid0.addWidget(methodlabel, 3, 0)
         self.ncc_method_radio = RadioSet([
-            {"label": "Standard", "value": "standard"},
-            {"label": "Seed-based", "value": "seed"},
-            {"label": "Straight lines", "value": "lines"}
+            {"label": _("Standard"), "value": "standard"},
+            {"label": _("Seed-based"), "value": "seed"},
+            {"label": _("Straight lines"), "value": "lines"}
         ], orientation='vertical', stretch=False)
         grid0.addWidget(self.ncc_method_radio, 3, 1)
 
@@ -6003,8 +6003,8 @@ class Tools2sidedPrefGroupUI(OptionsGroupUI):
         grid0.addWidget(self.mirror_axis_radio, 2, 1)
 
         # ## Axis Location
-        self.axis_location_radio = RadioSet([{'label': 'Point', 'value': 'point'},
-                                             {'label': 'Box', 'value': 'box'}])
+        self.axis_location_radio = RadioSet([{'label': _('Point'), 'value': 'point'},
+                                             {'label': _('Box'), 'value': 'box'}])
         self.axloc_label = QtWidgets.QLabel(_("Axis Ref:"))
         self.axloc_label.setToolTip(
             _("The axis should pass through a <b>point</b> or cut\n "
@@ -6081,9 +6081,9 @@ class ToolsPaintPrefGroupUI(OptionsGroupUI):
         )
         grid0.addWidget(methodlabel, 3, 0)
         self.paintmethod_combo = RadioSet([
-            {"label": "Standard", "value": "standard"},
-            {"label": "Seed-based", "value": "seed"},
-            {"label": "Straight lines", "value": "lines"}
+            {"label": _("Standard"), "value": "standard"},
+            {"label": _("Seed-based"), "value": "seed"},
+            {"label": _("Straight lines"), "value": "lines"}
         ], orientation='vertical', stretch=False)
         grid0.addWidget(self.paintmethod_combo, 3, 1)
 
@@ -6114,8 +6114,8 @@ class ToolsPaintPrefGroupUI(OptionsGroupUI):
         )
         grid0.addWidget(selectlabel, 6, 0)
         self.selectmethod_combo = RadioSet([
-            {"label": "Single", "value": "single"},
-            {"label": "All", "value": "all"},
+            {"label": _("Single"), "value": "single"},
+            {"label": _("All"), "value": "all"},
             # {"label": "Rectangle", "value": "rectangle"}
         ])
         grid0.addWidget(self.selectmethod_combo, 6, 1)
@@ -6242,8 +6242,8 @@ class ToolsPanelizePrefGroupUI(OptionsGroupUI):
         grid0.addWidget(self.prows, 3, 1)
 
         # ## Type of resulting Panel object
-        self.panel_type_radio = RadioSet([{'label': 'Gerber', 'value': 'gerber'},
-                                          {'label': 'Geo', 'value': 'geometry'}])
+        self.panel_type_radio = RadioSet([{'label': _('Gerber'), 'value': 'gerber'},
+                                          {'label': _('Geo'), 'value': 'geometry'}])
         self.panel_type_label = QtWidgets.QLabel(_("Panel Type:"))
         self.panel_type_label.setToolTip(
            _( "Choose the type of object for the panel object:\n"

+ 5 - 5
flatcamGUI/ObjectUI.py

@@ -299,8 +299,8 @@ class GerberObjectUI(ObjectUI):
             "- conventional / useful when there is no backlash compensation")
         )
         grid1.addWidget(self.milling_type_label, 3, 0)
-        self.milling_type_radio = RadioSet([{'label': 'Climb', 'value': 'cl'},
-                                            {'label': 'Conv.', 'value': 'cv'}])
+        self.milling_type_radio = RadioSet([{'label': _('Climb'), 'value': 'cl'},
+                                            {'label': _('Conv.'), 'value': 'cv'}])
         grid1.addWidget(self.milling_type_radio, 3, 1)
 
         # combine all passes CB
@@ -1361,9 +1361,9 @@ class CNCObjectUI(ObjectUI):
         )
 
         self.cncplot_method_combo = RadioSet([
-            {"label": "All", "value": "all"},
-            {"label": "Travel", "value": "travel"},
-            {"label": "Cut", "value": "cut"}
+            {"label": _("All"), "value": "all"},
+            {"label": _("Travel"), "value": "travel"},
+            {"label": _("Cut"), "value": "cut"}
         ], stretch=False)
 
         self.annotation_label = QtWidgets.QLabel(_("<b>Display Annotation:</b>"))

+ 3 - 3
flatcamTools/ToolCalculators.py

@@ -57,8 +57,8 @@ class ToolCalculator(FlatCAMTool):
         grid_units_layout = QtWidgets.QGridLayout()
         self.layout.addLayout(grid_units_layout)
 
-        inch_label = QtWidgets.QLabel("INCH")
-        mm_label = QtWidgets.QLabel("MM")
+        inch_label = QtWidgets.QLabel(_("INCH"))
+        mm_label = QtWidgets.QLabel(_("MM"))
         grid_units_layout.addWidget(mm_label, 0, 0)
         grid_units_layout.addWidget(inch_label, 0, 1)
 
@@ -253,7 +253,7 @@ class ToolCalculator(FlatCAMTool):
 
         self.set_tool_ui()
 
-        self.app.ui.notebook.setTabText(2, "Calc. Tool")
+        self.app.ui.notebook.setTabText(2, _("Calc. Tool"))
 
     def install(self, icon=None, separator=None, **kwargs):
         FlatCAMTool.install(self, icon, separator, shortcut='ALT+C', **kwargs)

+ 5 - 5
flatcamTools/ToolDblSided.py

@@ -44,7 +44,7 @@ class DblSidedTool(FlatCAMTool):
         self.gerber_object_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex()))
         self.gerber_object_combo.setCurrentIndex(1)
 
-        self.botlay_label = QtWidgets.QLabel("<b>GERBER:</b>")
+        self.botlay_label = QtWidgets.QLabel(_("<b>GERBER:</b>"))
         self.botlay_label.setToolTip(
             "Gerber  to be mirrored."
         )
@@ -68,7 +68,7 @@ class DblSidedTool(FlatCAMTool):
         self.exc_object_combo.setRootModelIndex(self.app.collection.index(1, 0, QtCore.QModelIndex()))
         self.exc_object_combo.setCurrentIndex(1)
 
-        self.excobj_label = QtWidgets.QLabel("<b>EXCELLON:</b>")
+        self.excobj_label = QtWidgets.QLabel(_("<b>EXCELLON:</b>"))
         self.excobj_label.setToolTip(
             _("Excellon Object to be mirrored.")
         )
@@ -92,7 +92,7 @@ class DblSidedTool(FlatCAMTool):
         self.geo_object_combo.setRootModelIndex(self.app.collection.index(2, 0, QtCore.QModelIndex()))
         self.geo_object_combo.setCurrentIndex(1)
 
-        self.geoobj_label = QtWidgets.QLabel("<b>GEOMETRY</b>:")
+        self.geoobj_label = QtWidgets.QLabel(_("<b>GEOMETRY</b>:"))
         self.geoobj_label.setToolTip(
             _("Geometry Obj to be mirrored.")
         )
@@ -128,8 +128,8 @@ class DblSidedTool(FlatCAMTool):
         grid_lay1.addWidget(self.mirror_axis, 7, 1)
 
         # ## Axis Location
-        self.axis_location = RadioSet([{'label': 'Point', 'value': 'point'},
-                                       {'label': 'Box', 'value': 'box'}])
+        self.axis_location = RadioSet([{'label': _('Point'), 'value': 'point'},
+                                       {'label': _('Box'), 'value': 'box'}])
         self.axloc_label = QtWidgets.QLabel(_("Axis Ref:"))
         self.axloc_label.setToolTip(
             _("The axis should pass through a <b>point</b> or cut\n "

+ 2 - 2
flatcamTools/ToolFilm.py

@@ -111,8 +111,8 @@ class Film(FlatCAMTool):
         tf_form_layout.addRow(self.tf_box_combo_label, self.tf_box_combo)
 
         # Film Type
-        self.film_type = RadioSet([{'label': 'Positive', 'value': 'pos'},
-                                   {'label': 'Negative', 'value': 'neg'}])
+        self.film_type = RadioSet([{'label': _('Positive'), 'value': 'pos'},
+                                   {'label': _('Negative'), 'value': 'neg'}])
         self.film_type_label = QtWidgets.QLabel(_("Film Type:"))
         self.film_type_label.setToolTip(
             _("Generate a Positive black film or a Negative film.\n"

+ 1 - 1
flatcamTools/ToolMeasurement.py

@@ -42,7 +42,7 @@ class Measurement(FlatCAMTool):
 
         self.units_label = QtWidgets.QLabel(_("Units:"))
         self.units_label.setToolTip(_("Those are the units in which the distance is measured."))
-        self.units_value = QtWidgets.QLabel("%s" % str({'mm': "METRIC (mm)", 'in': "INCH (in)"}[self.units]))
+        self.units_value = QtWidgets.QLabel("%s" % str({'mm': _("METRIC (mm)"), 'in': _("INCH (in)")}[self.units]))
         self.units_value.setDisabled(True)
 
         self.start_label = QtWidgets.QLabel("<b>%s</b> %s:" % (_('Start'), _('Coords')))

+ 5 - 5
flatcamTools/ToolPaint.py

@@ -194,9 +194,9 @@ class ToolPaint(FlatCAMTool, Gerber):
         )
         grid3.addWidget(methodlabel, 3, 0)
         self.paintmethod_combo = RadioSet([
-            {"label": "Standard", "value": "standard"},
-            {"label": "Seed-based", "value": "seed"},
-            {"label": "Straight lines", "value": "lines"}
+            {"label": _("Standard"), "value": "standard"},
+            {"label": _("Seed-based"), "value": "seed"},
+            {"label": _("Straight lines"), "value": "lines"}
         ], orientation='vertical', stretch=False)
         grid3.addWidget(self.paintmethod_combo, 3, 1)
 
@@ -244,8 +244,8 @@ class ToolPaint(FlatCAMTool, Gerber):
         grid3.addWidget(selectlabel, 7, 0)
         # grid3 = QtWidgets.QGridLayout()
         self.selectmethod_combo = RadioSet([
-            {"label": "Single", "value": "single"},
-            {"label": "All", "value": "all"},
+            {"label": _("Single"), "value": "single"},
+            {"label": _("All"), "value": "all"},
             # {"label": "Rectangle", "value": "rectangle"}
         ])
         grid3.addWidget(self.selectmethod_combo, 7, 1)

+ 5 - 5
flatcamTools/ToolPanelize.py

@@ -81,8 +81,8 @@ class Panelize(FlatCAMTool):
         self.layout.addLayout(form_layout)
 
         # Type of box Panel object
-        self.reference_radio = RadioSet([{'label': 'Object', 'value': 'object'},
-                                         {'label': 'Bounding Box', 'value': 'bbox'}])
+        self.reference_radio = RadioSet([{'label': _('Object'), 'value': 'object'},
+                                         {'label': _('Bounding Box'), 'value': 'bbox'}])
         self.box_label = QtWidgets.QLabel(_("<b>Penelization Reference:</b>"))
         self.box_label.setToolTip(
             _("Choose the reference for panelization:\n"
@@ -178,8 +178,8 @@ class Panelize(FlatCAMTool):
         form_layout.addRow(QtWidgets.QLabel(""))
 
         # Type of resulting Panel object
-        self.panel_type_radio = RadioSet([{'label': 'Gerber', 'value': 'gerber'},
-                                          {'label': 'Geometry', 'value': 'geometry'}])
+        self.panel_type_radio = RadioSet([{'label': _('Gerber'), 'value': 'gerber'},
+                                          {'label': _('Geo'), 'value': 'geometry'}])
         self.panel_type_label = QtWidgets.QLabel(_("<b>Panel Type:</b>"))
         self.panel_type_label.setToolTip(
             _("Choose the type of object for the panel object:\n"
@@ -269,7 +269,7 @@ class Panelize(FlatCAMTool):
         FlatCAMTool.run(self)
         self.set_tool_ui()
 
-        self.app.ui.notebook.setTabText(2, "Panel. Tool")
+        self.app.ui.notebook.setTabText(2, _("Panel. Tool"))
 
     def install(self, icon=None, separator=None, **kwargs):
         FlatCAMTool.install(self, icon, separator, shortcut='ALT+Z', **kwargs)

+ 5 - 5
flatcamTools/ToolPcbWizard.py

@@ -108,9 +108,9 @@ class PcbWizard(FlatCAMTool):
         form_layout1.addRow(self.frac_label, self.frac_entry)
 
         # Zeros suppression for coordinates
-        self.zeros_radio = RadioSet([{'label': 'LZ', 'value': 'LZ'},
-                                     {'label': 'TZ', 'value': 'TZ'},
-                                     {'label': 'No Suppression', 'value': 'D'}])
+        self.zeros_radio = RadioSet([{'label': _('LZ'), 'value': 'LZ'},
+                                     {'label': _('TZ'), 'value': 'TZ'},
+                                     {'label': _('No Suppression'), 'value': 'D'}])
         self.zeros_label = QtWidgets.QLabel(_("Zeros supp.:"))
         self.zeros_label.setToolTip(
             _("The type of zeros suppression used.\n"
@@ -122,8 +122,8 @@ class PcbWizard(FlatCAMTool):
         form_layout1.addRow(self.zeros_label, self.zeros_radio)
 
         # Units type
-        self.units_radio = RadioSet([{'label': 'INCH', 'value': 'INCH'},
-                                    {'label': 'MM', 'value': 'METRIC'}])
+        self.units_radio = RadioSet([{'label': _('INCH'), 'value': 'INCH'},
+                                    {'label': _('MM'), 'value': 'METRIC'}])
         self.units_label = QtWidgets.QLabel("<b>%s:</b>" % _('Units'))
         self.units_label.setToolTip(
             _("The type of units that the coordinates and tool\n"

BIN
locale/de/LC_MESSAGES/strings.mo


File diff suppressed because it is too large
+ 215 - 185
locale/de/LC_MESSAGES/strings.po


BIN
locale/en/LC_MESSAGES/strings.mo


File diff suppressed because it is too large
+ 221 - 191
locale/en/LC_MESSAGES/strings.po


BIN
locale/es/LC_MESSAGES/strings.mo


File diff suppressed because it is too large
+ 219 - 189
locale/es/LC_MESSAGES/strings.po


BIN
locale/pt_BR/LC_MESSAGES/strings.mo


File diff suppressed because it is too large
+ 391 - 225
locale/pt_BR/LC_MESSAGES/strings.po


BIN
locale/ro/LC_MESSAGES/strings.mo


File diff suppressed because it is too large
+ 217 - 187
locale/ro/LC_MESSAGES/strings.po


BIN
locale/ru/LC_MESSAGES/strings.mo


File diff suppressed because it is too large
+ 220 - 191
locale/ru/LC_MESSAGES/strings.po


File diff suppressed because it is too large
+ 230 - 209
locale_template/strings.pot


Some files were not shown because too many files changed in this diff