From 71b6bf7703d06474cd61670ab91be3c22c855a45 Mon Sep 17 00:00:00 2001 From: camellan Date: Mon, 30 Dec 2019 13:06:04 +0400 Subject: [PATCH 1/6] Edit Russian translation --- locale/ru/LC_MESSAGES/strings.mo | Bin 470494 -> 470477 bytes locale/ru/LC_MESSAGES/strings.po | 58 +++++++++++++++---------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/locale/ru/LC_MESSAGES/strings.mo b/locale/ru/LC_MESSAGES/strings.mo index 09ccbc5440d53ac7b5ed53f7dfd852705135e41a..bae5bc4c06fc23449542b94c6a056298558026b0 100644 GIT binary patch delta 23126 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

bAKx4ZXH{w~m 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 z�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 Q?EFtKOX4SgyJ^b(51&WhV*mgE diff --git a/locale/ru/LC_MESSAGES/strings.po b/locale/ru/LC_MESSAGES/strings.po index 77055d4e..a8247752 100644 --- a/locale/ru/LC_MESSAGES/strings.po +++ b/locale/ru/LC_MESSAGES/strings.po @@ -177,7 +177,7 @@ msgstr "Не удалось прочитать файл с исходными з #: FlatCAMApp.py:3855 msgid "Preferences default values are restored." -msgstr "Восстанавливаются значения по умолчанию." +msgstr "Настройки по умолчанию восстановлены." #: FlatCAMApp.py:3870 FlatCAMApp.py:3874 msgid "Import FlatCAM Preferences" @@ -3210,7 +3210,7 @@ msgstr "Линейный" #: flatcamGUI/PreferencesUI.py:5044 flatcamGUI/PreferencesUI.py:7465 #: flatcamTools/ToolFiducials.py:220 flatcamTools/ToolNonCopperClear.py:221 msgid "Circular" -msgstr "Круг" +msgstr "Круглый" #: flatcamEditors/FlatCAMExcEditor.py:1717 flatcamGUI/PreferencesUI.py:3593 msgid "Nr of drills" @@ -7168,7 +7168,7 @@ msgstr "" #: flatcamGUI/ObjectUI.py:274 msgid "Mark the aperture instances on canvas." -msgstr "Отметьте экземпляры диафрагмы на холсте." +msgstr "Отметьте места отверстий на холсте." #: flatcamGUI/ObjectUI.py:286 flatcamGUI/PreferencesUI.py:2014 msgid "Isolation Routing" @@ -7197,7 +7197,7 @@ msgstr "" #: flatcamGUI/ObjectUI.py:312 msgid "V-Shape" -msgstr "V-образная форма" +msgstr "V-образный" #: flatcamGUI/ObjectUI.py:318 flatcamGUI/ObjectUI.py:1374 #: flatcamGUI/PreferencesUI.py:2231 flatcamGUI/PreferencesUI.py:5055 @@ -8216,10 +8216,10 @@ msgid "" "meet with last cut, we generate an\n" "extended cut over the first cut section." msgstr "" -"Для того, чтобы удалить возможно\n" -"медные остатки, где первый разрез\n" -"встреча с последним отрезком, мы генерируем\n" -"расширенный разрез по первой секции разреза." +"Для того, чтобы удалить возможные остатки меди в тех местах,\n" +"где первый разрез встречается с последним,\n" +"мы генерируем расширенный разрез\n" +"над первым разрезом." #: flatcamGUI/ObjectUI.py:1606 flatcamGUI/PreferencesUI.py:4120 msgid "" @@ -8937,8 +8937,8 @@ msgid "" "Draw a delimiting rectangle on canvas.\n" "The purpose is to illustrate the limits for our work." msgstr "" -"Нарисует прямоугольник с разделителями на холсте.\n" -"Цель состоит в том, чтобы проиллюстрировать пределы нашей работы." +"Нарисует на холсте разделительный прямоугольник,\n" +"для отображения границы нашей работы." #: flatcamGUI/PreferencesUI.py:1011 msgid "" @@ -9538,7 +9538,7 @@ msgid "" "circular aperture linear approximation." msgstr "" "Количество шагов круга для Gerber \n" -"линейное приближение круговой апертуры." +"линейное приближение круговых отверстий." #: flatcamGUI/PreferencesUI.py:1802 msgid "Default Values" @@ -9683,7 +9683,7 @@ msgstr "" #: flatcamGUI/PreferencesUI.py:2202 msgid "Table Show/Hide" -msgstr "Таблица вкл/откл" +msgstr "Таблица отверстий вкл/откл" #: flatcamGUI/PreferencesUI.py:2204 msgid "" @@ -9691,9 +9691,9 @@ msgid "" "Also, on hide, it will delete all mark shapes\n" "that are drawn on canvas." msgstr "" -"Переключение отображения таблицы апертур Gerber.\n" -"Кроме того, при скрытии он удалит все фигуры меток\n" -"которые нарисованы на холсте." +"Переключение отображения таблицы отверстий Gerber.\n" +"Кроме того, при скрытии он удалит все отмеченные фигуры\n" +"отображённые на холсте." #: flatcamGUI/PreferencesUI.py:2284 msgid "Exterior" @@ -9816,31 +9816,31 @@ msgstr "" #: flatcamGUI/PreferencesUI.py:2472 msgid "New Aperture code" -msgstr "Новый код диафрагмы" +msgstr "Код нового отверстия" #: flatcamGUI/PreferencesUI.py:2485 msgid "New Aperture size" -msgstr "Новый размер диафрагмы" +msgstr "Размер нового отверстия" #: flatcamGUI/PreferencesUI.py:2487 msgid "Size for the new aperture" -msgstr "Размер для новой диафрагмы" +msgstr "Размер нового отверстия" #: flatcamGUI/PreferencesUI.py:2498 msgid "New Aperture type" -msgstr "Новый тип диафрагмы" +msgstr "Тип нового отверстия" #: flatcamGUI/PreferencesUI.py:2500 msgid "" "Type for the new aperture.\n" "Can be 'C', 'R' or 'O'." msgstr "" -"Введите для новой диафрагмы.\n" +"Тип нового отверстия.\n" "Может быть «C», «R» или «O»." #: flatcamGUI/PreferencesUI.py:2522 msgid "Aperture Dimensions" -msgstr "Разм. диафрагмы" +msgstr "Размеры отверстия" #: flatcamGUI/PreferencesUI.py:2524 flatcamGUI/PreferencesUI.py:3877 #: flatcamGUI/PreferencesUI.py:5029 @@ -10172,9 +10172,9 @@ msgid "" "meaning the fastest speed available.\n" "WARNING: the move is done at Toolchange X,Y coords." msgstr "" -"Проверяя это, вертикальное перемещение\n" -"Z_toolchange на Z_move выполняется с помощью G0,\n" -"это означает самую быструю скорость.\n" +"Если отмечено, то вертикальный переход от\n" +"Z_Toolchange к Z_move осуществляется с помощью G0,\n" +"что означает самую быструю доступную скорость.\n" "Предупреждение: перемещение выполняется при смене координат Toolchange X,Y." #: flatcamGUI/PreferencesUI.py:3382 @@ -10698,7 +10698,7 @@ msgstr "" #: flatcamGUI/PreferencesUI.py:5043 flatcamTools/ToolNonCopperClear.py:220 msgid "V-shape" -msgstr "V-образный инструмент" +msgstr "V-образный" #: flatcamGUI/PreferencesUI.py:5083 flatcamGUI/PreferencesUI.py:5092 #: flatcamTools/ToolNonCopperClear.py:256 @@ -11832,8 +11832,8 @@ msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." msgstr "" -"Диспенсер скорости при нажатии паяльной пасты\n" -"через сопло дозатора." +"Скорость диспенсера при проталкивании паяльной пасты\n" +"через форсунку диспенсера." #: flatcamGUI/PreferencesUI.py:6607 flatcamTools/ToolSolderPaste.py:302 msgid "Dwell FWD" @@ -11852,8 +11852,8 @@ msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." msgstr "" -"Скорость распределителя пока втягивающ затир припоя\n" -"через сопло дозатора." +"Скорость диспенсера при втягивании паяльной пасты\n" +"через форсунку диспенсера." #: flatcamGUI/PreferencesUI.py:6633 flatcamTools/ToolSolderPaste.py:326 msgid "Dwell REV" From 0fdab86319ea5dd6fdee3f66e9427c2329fe9aa9 Mon Sep 17 00:00:00 2001 From: camellan Date: Fri, 3 Jan 2020 00:10:16 +0400 Subject: [PATCH 2/6] Fix toggle workspace. Edit Russian language. --- FlatCAMApp.py | 16 ++++++++-------- locale/ru/LC_MESSAGES/strings.mo | Bin 470477 -> 470444 bytes locale/ru/LC_MESSAGES/strings.po | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/FlatCAMApp.py b/FlatCAMApp.py index 82574b1a..86ff3507 100644 --- a/FlatCAMApp.py +++ b/FlatCAMApp.py @@ -4527,10 +4527,10 @@ class App(QtCore.QObject): 'to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n' 'copies of the Software, and to permit persons to whom the Software is\n' 'furnished to do so, subject to the following conditions:\n\n' - + 'The above copyright notice and this permission notice shall be included in\n' 'all copies or substantial portions of the Software.\n\n' - + 'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n' 'IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n' 'FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n' @@ -6625,7 +6625,7 @@ class App(QtCore.QObject): self.plotcanvas.draw_workspace(workspace_size=self.defaults['global_workspaceT']) def on_workspace(self): - if self.ui.general_defaults_form.general_gui_group.workspace_cb.get_value(): + if self.ui.general_defaults_form.general_app_set_group.workspace_cb.get_value(): self.plotcanvas.draw_workspace(workspace_size=self.defaults['global_workspaceT']) else: self.plotcanvas.delete_workspace() @@ -6633,13 +6633,13 @@ class App(QtCore.QObject): # self.save_defaults(silent=True) def on_workspace_toggle(self): - state = False if self.ui.general_defaults_form.general_gui_group.workspace_cb.get_value() else True + state = False if self.ui.general_defaults_form.general_app_set_group.workspace_cb.get_value() else True try: - self.ui.general_defaults_form.general_gui_group.workspace_cb.stateChanged.disconnect(self.on_workspace) + self.ui.general_defaults_form.general_app_set_group.workspace_cb.stateChanged.disconnect(self.on_workspace) except TypeError: pass - self.ui.general_defaults_form.general_gui_group.workspace_cb.set_value(state) - self.ui.general_defaults_form.general_gui_group.workspace_cb.stateChanged.connect(self.on_workspace) + self.ui.general_defaults_form.general_app_set_group.workspace_cb.set_value(state) + self.ui.general_defaults_form.general_app_set_group.workspace_cb.stateChanged.connect(self.on_workspace) self.on_workspace() def on_layout(self, index=None, lay=None): @@ -8591,7 +8591,7 @@ class App(QtCore.QObject): # make all objects inactive self.collection.set_all_inactive() - + for obj in self.collection.get_list(): try: # select the object(s) only if it is enabled (plotted) diff --git a/locale/ru/LC_MESSAGES/strings.mo b/locale/ru/LC_MESSAGES/strings.mo index bae5bc4c06fc23449542b94c6a056298558026b0..e851869c4269a9312af53ce8c881f1e822b3132b 100644 GIT binary patch delta 23914 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 a!J$y1z>YIp#}>U2Wwf_$b^+-+t diff --git a/locale/ru/LC_MESSAGES/strings.po b/locale/ru/LC_MESSAGES/strings.po index a8247752..b0429e14 100644 --- a/locale/ru/LC_MESSAGES/strings.po +++ b/locale/ru/LC_MESSAGES/strings.po @@ -5628,7 +5628,7 @@ msgstr "&Привязка к сетке\tG" #: flatcamGUI/FlatCAMGUI.py:437 msgid "&Toggle Grid Lines\tALT+G" -msgstr "&Переключить линии сетки \tALT+G" +msgstr "&Сетка вкл/откл\tALT+G" #: flatcamGUI/FlatCAMGUI.py:439 msgid "&Toggle Axis\tSHIFT+G" @@ -8711,7 +8711,7 @@ msgstr "" #: flatcamGUI/PreferencesUI.py:369 msgid "Layout" -msgstr "Расположение" +msgstr "Макет" #: flatcamGUI/PreferencesUI.py:371 msgid "" From ad2d3b2ace9630ef487ac0c0a41fb0cc679cd07b Mon Sep 17 00:00:00 2001 From: camellan Date: Fri, 3 Jan 2020 00:48:09 +0400 Subject: [PATCH 3/6] Edit Russian Language --- locale/ru/LC_MESSAGES/strings.mo | Bin 470444 -> 470313 bytes locale/ru/LC_MESSAGES/strings.po | 49 +++++++++++++++---------------- 2 files changed, 23 insertions(+), 26 deletions(-) diff --git a/locale/ru/LC_MESSAGES/strings.mo b/locale/ru/LC_MESSAGES/strings.mo index e851869c4269a9312af53ce8c881f1e822b3132b..238747f7c56ac013dbe1a0db2e24cd413eae9bf8 100644 GIT binary patch delta 24692 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 V3wZ2-$k9Uvj<7Roa{M9Z{{YC`U|IkG delta 24724 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 diff --git a/locale/ru/LC_MESSAGES/strings.po b/locale/ru/LC_MESSAGES/strings.po index b0429e14..4093e6a7 100644 --- a/locale/ru/LC_MESSAGES/strings.po +++ b/locale/ru/LC_MESSAGES/strings.po @@ -3142,7 +3142,7 @@ msgid "" "Add a new tool to the tool list\n" "with the diameter specified above." msgstr "" -"Добляет новый инструмент в список инструментов\n" +"Добавляет новый инструмент в список инструментов\n" "с диаметром, указанным выше." #: flatcamEditors/FlatCAMExcEditor.py:1628 @@ -3188,7 +3188,7 @@ msgstr "Добавить массив отверстий" #: flatcamEditors/FlatCAMExcEditor.py:1699 msgid "Add an array of drills (linear or circular array)" -msgstr "Добавить массив свёрел (линейный или круговой массив)" +msgstr "Добавляет массив свёрел (линейный или круговой массив)" #: flatcamEditors/FlatCAMExcEditor.py:1705 msgid "" @@ -4450,7 +4450,7 @@ msgstr "Нажмите на целевой точке." #: flatcamEditors/FlatCAMGeoEditor.py:4479 #: flatcamEditors/FlatCAMGeoEditor.py:4514 msgid "A selection of at least 2 geo items is required to do Intersection." -msgstr "Выберите по крайней мере 2 geo элемента, что-бы сделать пересечение." +msgstr "Выберите по крайней мере 2 элемента геометрии для пересечения." #: flatcamEditors/FlatCAMGeoEditor.py:4600 #: flatcamEditors/FlatCAMGeoEditor.py:4704 @@ -6876,7 +6876,7 @@ msgid "" "Reference is (X=0, Y= 0) position" msgstr "" "Абсолютное измерение.\n" -"Ссылка (X=0, Y= 0) Положение" +"Указатель в точке (X=0, Y= 0)" #: flatcamGUI/FlatCAMGUI.py:2301 msgid "Lock Toolbars" @@ -8258,8 +8258,8 @@ msgid "" "for custom selection of tools." msgstr "" "Добавьте хотя бы один инструмент в таблицу инструментов.\n" -"Щелкните заголовок, чтобы выбрать все, или Ctrl + LMB\n" -"для пользовательского выбора инструментов." +"Щелкните заголовок, чтобы выбрать все, или Ctrl + ЛКМ\n" +"для выбора инструментов вручную." #: flatcamGUI/ObjectUI.py:1707 msgid "Generate CNCJob object" @@ -9115,7 +9115,7 @@ msgstr "" #: flatcamGUI/PreferencesUI.py:1291 msgid "\"Open\" behavior" -msgstr "Поведение функции \"Открыть\"" +msgstr "Помнить пути открытия/сохранения" #: flatcamGUI/PreferencesUI.py:1293 msgid "" @@ -11700,7 +11700,7 @@ msgid "" "or decreased with the 'distance'." msgstr "" "Положительное значение создаст эффект расширения,\n" -"в то время как отрицательное значение создаст эффект эрозии.\n" +"в то время как отрицательное значение создаст эффект размытия.\n" "Каждый геометрический элемент объекта будет увеличен\n" "или уменьшается с помощью \"расстояния\"." @@ -11880,7 +11880,7 @@ msgid "" "A tool to substract one Gerber or Geometry object\n" "from another of the same type." msgstr "" -"Инструмент для вычитания одного объекта Gerber или Геометрия\n" +"Инструмент для вычитания одного объекта Gerber или Geometry\n" "от другого того же типа." #: flatcamGUI/PreferencesUI.py:6670 flatcamTools/ToolSub.py:149 @@ -13865,12 +13865,11 @@ msgid "" "The (x, y) coordinates are captured by pressing SHIFT key\n" "and left mouse button click on canvas or you can enter the coords manually." msgstr "" -"Добавьте координаты в формате (x, y) , через который ось " -"зеркального отображения\n" -"  выбран в проходе «ЗЕРКАЛЬНАЯ ОСЬ».\n" +"Добавление координат в формате (x, y) , через которые проходит ось " +"зеркалирования\n" +" выбран в поле «ЗЕРКАЛЬНАЯ ОСЬ».\n" "Координаты (x, y) фиксируются нажатием клавиши SHIFT\n" -"и щелкните левой кнопкой мыши на холсте или вы можете ввести координаты " -"вручную." +"и щелчком ЛКМ на холсте или вы можете ввести координаты вручную." #: flatcamTools/ToolDblSided.py:230 msgid "Alignment Drill Coordinates" @@ -13907,16 +13906,14 @@ msgid "" "field and click Paste.\n" "- by entering the coords manually in the format: (x1, y1), (x2, y2), ..." msgstr "" -"Добавьте координаты сверления отверстий в формате: (x1, y1), (x2, y2), ...\n" +"Добавляет координаты сверления отверстий в формате: (x1, y1), (x2, y2), ...\n" "на одной стороне зеркальной оси.\n" "\n" "Набор координат можно получить:\n" -"- нажмите клавишу SHIFT и щелкните левой кнопкой мыши на холсте. Затем " -"нажмите Добавить.\n" -"- нажмите клавишу SHIFT и щелкните левой кнопкой мыши на холсте. Затем CTRL " -"+ V в поле.\n" -"- нажмите клавишу SHIFT и щелкните левой кнопкой мыши на холсте. Затем " -"нажмите RMB в поле и нажмите Вставить.\n" +"- нажмите клавишу SHIFT и щелкните ЛКМ на холсте. Затем нажмите Добавить.\n" +"- нажмите клавишу SHIFT и щелкните ЛКМ на холсте. Затем CTRL + V в поле.\n" +"- нажмите клавишу SHIFT и щелкните ЛКМ на холсте. Затем нажмите ПКМ в поле и " +"нажмите Вставить.\n" "- путем ввода координат вручную в формате: (x1, y1), (x2, y2), ..." #: flatcamTools/ToolDblSided.py:272 @@ -13996,7 +13993,7 @@ msgid "" "'Point' reference is selected and 'Point' coordinates are missing. Add them " "and retry." msgstr "" -"Ссылка «Точка» выбрана, а координаты «Точка» отсутствуют. Добавьте их и " +"Выбран указатель 'Точка', а координаты точки отсутствуют. Добавьте их и " "повторите попытку." #: flatcamTools/ToolDblSided.py:512 @@ -14029,8 +14026,8 @@ msgstr "" msgid "" "'Point' coordinates missing. Using Origin (0, 0) as mirroring reference." msgstr "" -"Координаты точки отсутствуют. Использование Origin (0, 0) в качестве ссылки " -"на зеркальное отображение." +"Координаты точки отсутствуют. Используется точка (0, 0) в качестве указателя " +"для зеркалирования." #: flatcamTools/ToolDblSided.py:588 flatcamTools/ToolDblSided.py:632 #: flatcamTools/ToolDblSided.py:669 @@ -15570,8 +15567,8 @@ msgid "" "{text} Too big for the constrain area. Final panel has {col} columns and " "{row} rows" msgstr "" -"{text} Слишком большой для зоны ограничения. Последняя панель содержит " -"столбцы {col} и строки {row}" +"{text} Слишком большой для выбранного участка. Итоговая панель содержит " +"{col} столбцов и {row} строк" #: flatcamTools/ToolPanelize.py:798 msgid "Panel created successfully." From d3b9fd86890c3f7b4342052293d5a39186db2583 Mon Sep 17 00:00:00 2001 From: camellan Date: Sat, 25 Apr 2020 21:00:27 +0400 Subject: [PATCH 4/6] update ru --- locale/ru/LC_MESSAGES/strings.mo | Bin 470313 -> 470301 bytes locale/ru/LC_MESSAGES/strings.po | 9 ++++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/locale/ru/LC_MESSAGES/strings.mo b/locale/ru/LC_MESSAGES/strings.mo index 238747f7c56ac013dbe1a0db2e24cd413eae9bf8..ad6871ad7bf357261176ccd26a049e8cc5aca942 100644 GIT binary patch delta 22403 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 Q{{{J9=s>~l?%R|92OoG)2LJ#7 delta 22451 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 diff --git a/locale/ru/LC_MESSAGES/strings.po b/locale/ru/LC_MESSAGES/strings.po index 4093e6a7..45b2e9ec 100644 --- a/locale/ru/LC_MESSAGES/strings.po +++ b/locale/ru/LC_MESSAGES/strings.po @@ -3448,7 +3448,9 @@ msgstr "В файле нет инструментов. Прерывание со #: flatcamEditors/FlatCAMExcEditor.py:3328 msgid "An internal error has ocurred. See Shell.\n" -msgstr "Произошла внутренняя ошибка. Посмотрите в командную строку.\n" +msgstr "" +"Произошла внутренняя ошибка. Смотрите командную строку.\n" +"\n" #: flatcamEditors/FlatCAMExcEditor.py:3333 msgid "Creating Excellon." @@ -10510,7 +10512,6 @@ msgstr "" " для черчения контуров." #: flatcamGUI/PreferencesUI.py:4468 -#| msgid "No-Decimal" msgid "G-code Decimals" msgstr "G-code десятичные" @@ -12769,7 +12770,9 @@ msgstr "" #: flatcamParsers/ParseExcellon.py:886 flatcamTools/ToolSolderPaste.py:1330 msgid "An internal error has ocurred. See shell.\n" -msgstr "Произошла внутренняя ошибка. Посмотрите в командную строку.\n" +msgstr "" +"Произошла внутренняя ошибка. Смотрите командную строку.\n" +"\n" #: flatcamParsers/ParseExcellon.py:889 msgid "" From 091218176e43a3ef75d601bc51f2921b38beb77c Mon Sep 17 00:00:00 2001 From: camellan Date: Sun, 26 Apr 2020 12:54:35 +0400 Subject: [PATCH 5/6] Edit Russian translation(not finished) --- locale/ru/LC_MESSAGES/strings.mo | Bin 470301 -> 458824 bytes locale/ru/LC_MESSAGES/strings.po | 10516 ++++++++++++++++------------- 2 files changed, 5916 insertions(+), 4600 deletions(-) diff --git a/locale/ru/LC_MESSAGES/strings.mo b/locale/ru/LC_MESSAGES/strings.mo index ad6871ad7bf357261176ccd26a049e8cc5aca942..e652639ee00bdeab602182ffabd117f551c5a53d 100644 GIT binary patch delta 71251 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

o?#9Ld;Ca+V$9L? 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 Y+F~&lv2p{}v_UlxA-_HFGuw9_0B%{Q;s5{u diff --git a/locale/ru/LC_MESSAGES/strings.po b/locale/ru/LC_MESSAGES/strings.po index 9bd41bb0..325fbcc9 100644 --- a/locale/ru/LC_MESSAGES/strings.po +++ b/locale/ru/LC_MESSAGES/strings.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2019-12-28 23:09+0400\n" +"POT-Creation-Date: 2020-04-24 21:10+0300\n" "PO-Revision-Date: \n" "Last-Translator: Andrey Kultyapov \n" "Language-Team: \n" @@ -15,15 +15,43 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.2.3\n" -#: FlatCAMApp.py:1040 +#: FlatCAMApp.py:784 FlatCAMApp.py:816 FlatCAMCommon.py:1925 +#: FlatCAMCommon.py:2040 flatcamEditors/FlatCAMGeoEditor.py:500 +#: flatcamEditors/FlatCAMGeoEditor.py:570 +#: flatcamEditors/FlatCAMGeoEditor.py:5152 flatcamGUI/PreferencesUI.py:5509 +#: flatcamGUI/PreferencesUI.py:6056 flatcamTools/ToolNCC.py:431 +#: flatcamTools/ToolNCC.py:2401 flatcamTools/ToolNCC.py:2429 +#: flatcamTools/ToolNCC.py:2699 flatcamTools/ToolNCC.py:2731 +#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:1836 +#: tclCommands/TclCommandCopperClear.py:128 +#: tclCommands/TclCommandCopperClear.py:136 tclCommands/TclCommandPaint.py:127 +msgid "Seed" +msgstr "" + +#: FlatCAMApp.py:790 flatcamGUI/PreferencesUI.py:5588 +#: flatcamGUI/PreferencesUI.py:7695 flatcamTools/ToolCopperThieving.py:126 +#: flatcamTools/ToolNCC.py:535 flatcamTools/ToolNCC.py:1299 +#: flatcamTools/ToolNCC.py:1638 flatcamTools/ToolNCC.py:1919 +#: flatcamTools/ToolNCC.py:1983 flatcamTools/ToolNCC.py:2967 +#: flatcamTools/ToolNCC.py:2976 tclCommands/TclCommandCopperClear.py:190 +msgid "Itself" +msgstr "Как есть" + +#: FlatCAMApp.py:817 flatcamGUI/PreferencesUI.py:6119 +#: flatcamTools/ToolPaint.py:486 flatcamTools/ToolPaint.py:1415 +#: tclCommands/TclCommandPaint.py:162 +msgid "All Polygons" +msgstr "Все полигоны" + +#: FlatCAMApp.py:1124 msgid "FlatCAM is initializing ..." msgstr "Запуск FlatCAM ..." -#: FlatCAMApp.py:1669 +#: FlatCAMApp.py:1809 msgid "Could not find the Language files. The App strings are missing." msgstr "Не удалось найти языковые файлы. Строки приложения отсутствуют." -#: FlatCAMApp.py:1763 +#: FlatCAMApp.py:1903 msgid "" "FlatCAM is initializing ...\n" "Canvas initialization started." @@ -31,7 +59,7 @@ msgstr "" "Запуск FlatCAM ...\n" "Инициализация рабочей области." -#: FlatCAMApp.py:1781 +#: FlatCAMApp.py:1923 msgid "" "FlatCAM is initializing ...\n" "Canvas initialization started.\n" @@ -41,69 +69,67 @@ msgstr "" "Инициализация рабочей области.\n" "Инициализация рабочей области завершена за" -#: FlatCAMApp.py:2401 -msgid "" -"Type >help< to get started\n" -"\n" -msgstr "" -"Введите >help< для начала работы\n" -"\n" +#: FlatCAMApp.py:2565 flatcamGUI/GUIElements.py:2592 +msgid "Type >help< to get started" +msgstr "Введите >help< для начала работы" -#: FlatCAMApp.py:2627 FlatCAMApp.py:9020 +#: FlatCAMApp.py:2817 FlatCAMApp.py:9393 msgid "New Project - Not saved" msgstr "Новый проект - Не сохранён" -#: FlatCAMApp.py:2702 FlatCAMApp.py:9088 FlatCAMApp.py:9125 FlatCAMApp.py:9166 -#: FlatCAMApp.py:9237 FlatCAMApp.py:9991 FlatCAMApp.py:11174 -#: FlatCAMApp.py:11233 -msgid "" -"Canvas initialization started.\n" -"Canvas initialization finished in" -msgstr "" -"Инициализация холста.\n" -"Инициализация холста завершена за" - -#: FlatCAMApp.py:2704 -msgid "Executing Tcl Script ..." -msgstr "Выполнение Tcl-сценария ..." - -#: FlatCAMApp.py:2719 +#: FlatCAMApp.py:2913 msgid "" "Found old default preferences files. Please reboot the application to update." msgstr "" "Найдены старые файлы настроек по умолчанию. Пожалуйста, перезагрузите " "приложение для обновления." -#: FlatCAMApp.py:2763 ObjectCollection.py:90 flatcamTools/ToolImage.py:248 +#: FlatCAMApp.py:2964 FlatCAMApp.py:3884 FlatCAMApp.py:3933 FlatCAMApp.py:3988 +#: FlatCAMApp.py:4063 FlatCAMApp.py:6111 FlatCAMApp.py:9477 FlatCAMApp.py:9514 +#: FlatCAMApp.py:9556 FlatCAMApp.py:9585 FlatCAMApp.py:9625 FlatCAMApp.py:9650 +#: FlatCAMApp.py:9702 FlatCAMApp.py:9738 FlatCAMApp.py:9784 FlatCAMApp.py:9825 +#: FlatCAMApp.py:9866 FlatCAMApp.py:9907 FlatCAMApp.py:9948 FlatCAMApp.py:9992 +#: FlatCAMApp.py:10048 FlatCAMApp.py:10080 FlatCAMApp.py:10112 +#: FlatCAMApp.py:10349 FlatCAMApp.py:10393 FlatCAMApp.py:10470 +#: FlatCAMApp.py:10525 FlatCAMCommon.py:371 FlatCAMCommon.py:413 +#: FlatCAMCommon.py:1107 FlatCAMCommon.py:1153 FlatCAMCommon.py:2537 +#: FlatCAMCommon.py:2583 ObjectCollection.py:122 +#: flatcamEditors/FlatCAMExcEditor.py:1024 +#: flatcamEditors/FlatCAMExcEditor.py:1092 +#: flatcamEditors/FlatCAMTextEditor.py:223 flatcamGUI/FlatCAMGUI.py:3389 +#: flatcamGUI/FlatCAMGUI.py:3601 flatcamGUI/FlatCAMGUI.py:3812 +#: flatcamTools/ToolFilm.py:754 flatcamTools/ToolFilm.py:900 +#: flatcamTools/ToolImage.py:247 flatcamTools/ToolMove.py:270 #: flatcamTools/ToolPcbWizard.py:301 flatcamTools/ToolPcbWizard.py:324 -msgid "Open cancelled." -msgstr "Открытие отменено." +#: flatcamTools/ToolQRCode.py:791 flatcamTools/ToolQRCode.py:838 +msgid "Cancelled." +msgstr "Отменено." -#: FlatCAMApp.py:2779 +#: FlatCAMApp.py:2980 msgid "Open Config file failed." msgstr "Не удалось открыть файл конфигурации." -#: FlatCAMApp.py:2794 +#: FlatCAMApp.py:2995 msgid "Open Script file failed." msgstr "Ошибка открытия файла сценария." -#: FlatCAMApp.py:2820 +#: FlatCAMApp.py:3021 msgid "Open Excellon file failed." msgstr "Не удалось открыть файл Excellon." -#: FlatCAMApp.py:2833 +#: FlatCAMApp.py:3034 msgid "Open GCode file failed." msgstr "Не удалось открыть файл GCode." -#: FlatCAMApp.py:2846 +#: FlatCAMApp.py:3047 msgid "Open Gerber file failed." msgstr "Не удалось открыть файл Gerber." -#: FlatCAMApp.py:3201 +#: FlatCAMApp.py:3424 msgid "Select a Geometry, Gerber or Excellon Object to edit." msgstr "Выберите объект Geometry, Gerber или Excellon для редактирования." -#: FlatCAMApp.py:3216 +#: FlatCAMApp.py:3439 msgid "" "Simultaneous editing of tools geometry in a MultiGeo Geometry is not " "possible.\n" @@ -112,98 +138,96 @@ msgstr "" "Одновременное редактирование геометрии в MultiGeo Geometry невозможно.\n" "Редактируйте только одну геометрию за раз." -#: FlatCAMApp.py:3271 +#: FlatCAMApp.py:3497 msgid "Editor is activated ..." msgstr "Редактор активирован ..." -#: FlatCAMApp.py:3292 +#: FlatCAMApp.py:3518 msgid "Do you want to save the edited object?" msgstr "Вы хотите сохранить редактируемый объект?" -#: FlatCAMApp.py:3293 flatcamGUI/FlatCAMGUI.py:2165 +#: FlatCAMApp.py:3519 flatcamGUI/FlatCAMGUI.py:2273 msgid "Close Editor" msgstr "Закрыть редактор" -#: FlatCAMApp.py:3296 FlatCAMApp.py:4014 FlatCAMApp.py:5067 FlatCAMApp.py:7724 -#: FlatCAMApp.py:7750 FlatCAMApp.py:8927 FlatCAMTranslation.py:108 -#: FlatCAMTranslation.py:193 +#: FlatCAMApp.py:3522 FlatCAMApp.py:5163 FlatCAMApp.py:8023 FlatCAMApp.py:8049 +#: FlatCAMApp.py:9298 FlatCAMTranslation.py:108 FlatCAMTranslation.py:199 +#: flatcamGUI/FlatCAMGUI.py:2479 msgid "Yes" msgstr "Да" -#: FlatCAMApp.py:3297 FlatCAMApp.py:4015 FlatCAMApp.py:5068 FlatCAMApp.py:7725 -#: FlatCAMApp.py:7751 FlatCAMApp.py:8928 FlatCAMTranslation.py:109 -#: FlatCAMTranslation.py:194 flatcamGUI/PreferencesUI.py:5139 -#: flatcamGUI/PreferencesUI.py:5554 flatcamTools/ToolNonCopperClear.py:189 -#: flatcamTools/ToolPaint.py:161 +#: FlatCAMApp.py:3523 FlatCAMApp.py:5164 FlatCAMApp.py:8024 FlatCAMApp.py:8050 +#: FlatCAMApp.py:9299 FlatCAMTranslation.py:109 FlatCAMTranslation.py:200 +#: flatcamGUI/FlatCAMGUI.py:2480 flatcamGUI/PreferencesUI.py:5443 +#: flatcamGUI/PreferencesUI.py:5989 flatcamTools/ToolNCC.py:182 +#: flatcamTools/ToolPaint.py:166 msgid "No" msgstr "Нет" -#: FlatCAMApp.py:3298 FlatCAMApp.py:5069 FlatCAMApp.py:5925 FlatCAMApp.py:7006 -#: FlatCAMApp.py:8929 FlatCAMCommon.py:571 flatcamGUI/FlatCAMGUI.py:1260 +#: FlatCAMApp.py:3524 FlatCAMApp.py:5165 FlatCAMApp.py:6049 FlatCAMApp.py:7000 +#: FlatCAMApp.py:9300 FlatCAMCommon.py:572 FlatCAMCommon.py:2127 +#: flatcamGUI/FlatCAMGUI.py:1332 msgid "Cancel" msgstr "Отмена" -#: FlatCAMApp.py:3326 +#: FlatCAMApp.py:3556 msgid "Object empty after edit." msgstr "Объект пуст после редактирования." -#: FlatCAMApp.py:3375 FlatCAMApp.py:3395 FlatCAMApp.py:3410 +#: FlatCAMApp.py:3560 FlatCAMApp.py:3581 FlatCAMApp.py:3603 +msgid "Editor exited. Editor content saved." +msgstr "" + +#: FlatCAMApp.py:3607 FlatCAMApp.py:3630 FlatCAMApp.py:3648 msgid "Select a Gerber, Geometry or Excellon Object to update." msgstr "Выберите объект Gerber, Geometry или Excellon для обновления." -#: FlatCAMApp.py:3379 +#: FlatCAMApp.py:3610 msgid "is updated, returning to App..." msgstr "обновлён, возврат в приложение ..." -#: FlatCAMApp.py:3774 FlatCAMApp.py:3888 FlatCAMApp.py:4929 +#: FlatCAMApp.py:3617 +msgid "Editor exited. Editor content was not saved." +msgstr "" + +#: FlatCAMApp.py:3810 FlatCAMApp.py:3941 FlatCAMApp.py:5012 msgid "Could not load defaults file." msgstr "Не удалось загрузить файл значений по умолчанию." -#: FlatCAMApp.py:3786 FlatCAMApp.py:3896 FlatCAMApp.py:4938 +#: FlatCAMApp.py:3822 FlatCAMApp.py:3949 FlatCAMApp.py:5021 msgid "Failed to parse defaults file." msgstr "Не удалось прочитать файл значений по умолчанию." -#: FlatCAMApp.py:3831 -msgid "Preferences default restore was cancelled." -msgstr "Восстановление настроек по умолчанию отменено." - -#: FlatCAMApp.py:3839 FlatCAMApp.py:5017 +#: FlatCAMApp.py:3892 FlatCAMApp.py:5113 msgid "Could not load factory defaults file." msgstr "Не удалось загрузить файл с исходными значениями." -#: FlatCAMApp.py:3847 FlatCAMApp.py:5027 +#: FlatCAMApp.py:3900 FlatCAMApp.py:5123 msgid "Failed to parse factory defaults file." msgstr "Не удалось прочитать файл с исходными значениями." -#: FlatCAMApp.py:3855 +#: FlatCAMApp.py:3908 msgid "Preferences default values are restored." msgstr "Настройки по умолчанию восстановлены." -#: FlatCAMApp.py:3870 FlatCAMApp.py:3874 +#: FlatCAMApp.py:3923 FlatCAMApp.py:3927 msgid "Import FlatCAM Preferences" msgstr "Импорт настроек FlatCAM" -#: FlatCAMApp.py:3880 -msgid "FlatCAM preferences import cancelled." -msgstr "Импорт настроек FlatCAM отменен." - -#: FlatCAMApp.py:3904 +#: FlatCAMApp.py:3957 msgid "Imported Defaults from" msgstr "Значения по умолчанию импортированы из" -#: FlatCAMApp.py:3924 FlatCAMApp.py:3929 +#: FlatCAMApp.py:3977 FlatCAMApp.py:3982 msgid "Export FlatCAM Preferences" msgstr "Экспорт настроек FlatCAM" -#: FlatCAMApp.py:3936 -msgid "FlatCAM preferences export cancelled." -msgstr "Экспорт настроек FlatCAM отменён." - -#: FlatCAMApp.py:3945 FlatCAMApp.py:10389 FlatCAMApp.py:10437 -#: FlatCAMApp.py:10560 FlatCAMApp.py:10699 FlatCAMCommon.py:378 -#: FlatCAMCommon.py:1114 FlatCAMObj.py:6903 -#: flatcamEditors/FlatCAMTextEditor.py:274 flatcamTools/ToolFilm.py:1019 -#: flatcamTools/ToolFilm.py:1195 flatcamTools/ToolSolderPaste.py:1544 +#: FlatCAMApp.py:3997 FlatCAMApp.py:4071 FlatCAMApp.py:10769 +#: FlatCAMApp.py:10817 FlatCAMApp.py:10943 FlatCAMApp.py:11080 +#: FlatCAMCommon.py:379 FlatCAMCommon.py:1115 FlatCAMCommon.py:2545 +#: FlatCAMObj.py:7484 flatcamEditors/FlatCAMTextEditor.py:276 +#: flatcamTools/ToolFilm.py:1031 flatcamTools/ToolFilm.py:1212 +#: flatcamTools/ToolSolderPaste.py:1533 msgid "" "Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible." @@ -211,45 +235,49 @@ msgstr "" "В доступе отказано, сохранение невозможно.\n" "Скорее всего, другое приложение держит файл открытым и недоступным." -#: FlatCAMApp.py:3957 +#: FlatCAMApp.py:4009 msgid "Could not load preferences file." msgstr "Не удаётся загрузить файл настроек." -#: FlatCAMApp.py:3976 FlatCAMApp.py:4985 +#: FlatCAMApp.py:4028 FlatCAMApp.py:4095 FlatCAMApp.py:5040 msgid "Failed to write defaults to file." msgstr "Не удалось записать значения по умолчанию в файл." -#: FlatCAMApp.py:3981 +#: FlatCAMApp.py:4033 msgid "Exported preferences to" msgstr "Экспорт настроек в" -#: FlatCAMApp.py:3998 -msgid "FlatCAM Preferences Folder opened." -msgstr "Папка настроек FlatCAM открыта." +#: FlatCAMApp.py:4053 FlatCAMApp.py:4058 +msgid "Save to file" +msgstr "Сохранить в файл" -#: FlatCAMApp.py:4009 -msgid "Are you sure you want to delete the GUI Settings? \n" -msgstr "Вы уверены, что хотите сбросить настройки интерфейса?\n" +#: FlatCAMApp.py:4082 +#, fuzzy +#| msgid "Could not load defaults file." +msgid "Could not load the file." +msgstr "Не удалось загрузить файл значений по умолчанию." -#: FlatCAMApp.py:4012 flatcamGUI/FlatCAMGUI.py:1230 -msgid "Clear GUI Settings" -msgstr "Сброс настроек интерфейса" +#: FlatCAMApp.py:4098 +#, fuzzy +#| msgid "Exported Tools DB to" +msgid "Exported file to" +msgstr "Экспорт БД в" -#: FlatCAMApp.py:4109 +#: FlatCAMApp.py:4181 msgid "Failed to open recent files file for writing." msgstr "Не удалось открыть файл истории для записи." -#: FlatCAMApp.py:4120 +#: FlatCAMApp.py:4192 msgid "Failed to open recent projects file for writing." msgstr "Не удалось открыть файл последних проектов для записи." -#: FlatCAMApp.py:4205 FlatCAMApp.py:10900 FlatCAMApp.py:10961 -#: FlatCAMApp.py:11090 FlatCAMObj.py:5050 -#: flatcamEditors/FlatCAMGrbEditor.py:4187 flatcamTools/ToolPcbWizard.py:437 +#: FlatCAMApp.py:4277 FlatCAMApp.py:11276 FlatCAMApp.py:11335 +#: FlatCAMApp.py:11463 FlatCAMApp.py:12189 FlatCAMObj.py:5605 +#: flatcamEditors/FlatCAMGrbEditor.py:4231 flatcamTools/ToolPcbWizard.py:433 msgid "An internal error has occurred. See shell.\n" msgstr "Произошла внутренняя ошибка. Смотрите командную строку.\n" -#: FlatCAMApp.py:4206 +#: FlatCAMApp.py:4278 #, python-brace-format msgid "" "Object ({kind}) failed because: {error} \n" @@ -258,63 +286,63 @@ msgstr "" "Объект ({kind}) не выполнен, потому что: {error} \n" "\n" -#: FlatCAMApp.py:4221 +#: FlatCAMApp.py:4293 msgid "Converting units to " msgstr "Конвертирование единиц в " -#: FlatCAMApp.py:4324 +#: FlatCAMApp.py:4406 msgid "CREATE A NEW FLATCAM TCL SCRIPT" msgstr "СОЗДАЙТЕ НОВЫЙ TCL СЦЕНАРИЙ FLATCAM" -#: FlatCAMApp.py:4325 +#: FlatCAMApp.py:4407 msgid "TCL Tutorial is here" msgstr "Учебное пособие по TCL здесь" -#: FlatCAMApp.py:4327 +#: FlatCAMApp.py:4409 msgid "FlatCAM commands list" msgstr "Список команд FlatCAM" -#: FlatCAMApp.py:4378 FlatCAMApp.py:4384 FlatCAMApp.py:4390 FlatCAMApp.py:4396 -#: FlatCAMApp.py:4402 FlatCAMApp.py:4408 +#: FlatCAMApp.py:4460 FlatCAMApp.py:4466 FlatCAMApp.py:4472 FlatCAMApp.py:4478 +#: FlatCAMApp.py:4484 FlatCAMApp.py:4490 msgid "created/selected" msgstr "создан / выбрана" -#: FlatCAMApp.py:4423 FlatCAMApp.py:7086 FlatCAMObj.py:271 FlatCAMObj.py:302 -#: FlatCAMObj.py:318 FlatCAMObj.py:398 flatcamTools/ToolCopperThieving.py:1476 -#: flatcamTools/ToolFiducials.py:807 flatcamTools/ToolMove.py:220 -#: flatcamTools/ToolQRCode.py:726 +#: FlatCAMApp.py:4505 FlatCAMApp.py:7086 FlatCAMObj.py:278 FlatCAMObj.py:309 +#: FlatCAMObj.py:325 FlatCAMObj.py:405 flatcamTools/ToolCopperThieving.py:1482 +#: flatcamTools/ToolFiducials.py:809 flatcamTools/ToolMove.py:230 +#: flatcamTools/ToolQRCode.py:728 msgid "Plotting" msgstr "Прорисовка" -#: FlatCAMApp.py:4486 flatcamGUI/FlatCAMGUI.py:491 +#: FlatCAMApp.py:4568 flatcamGUI/FlatCAMGUI.py:530 msgid "About FlatCAM" msgstr "О программе" -#: FlatCAMApp.py:4512 +#: FlatCAMApp.py:4594 msgid "2D Computer-Aided Printed Circuit Board Manufacturing" msgstr "2D Computer-Aided Printed Circuit Board Manufacturing" -#: FlatCAMApp.py:4513 +#: FlatCAMApp.py:4595 msgid "Development" msgstr "Исходный код" -#: FlatCAMApp.py:4514 +#: FlatCAMApp.py:4596 msgid "DOWNLOAD" msgstr "Страница загрузок" -#: FlatCAMApp.py:4515 +#: FlatCAMApp.py:4597 msgid "Issue tracker" msgstr "Issue-трекер" -#: FlatCAMApp.py:4519 FlatCAMApp.py:4860 +#: FlatCAMApp.py:4601 FlatCAMApp.py:4942 flatcamGUI/GUIElements.py:2583 msgid "Close" msgstr "Закрыть" -#: FlatCAMApp.py:4534 +#: FlatCAMApp.py:4616 msgid "Licensed under the MIT license" msgstr "Под лицензией MIT" -#: FlatCAMApp.py:4543 +#: FlatCAMApp.py:4625 msgid "" "Permission is hereby granted, free of charge, to any person obtaining a " "copy\n" @@ -362,7 +390,7 @@ msgstr "" "OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n" "THE SOFTWARE." -#: FlatCAMApp.py:4565 +#: FlatCAMApp.py:4647 msgid "" "Some of the icons used are from the following sources:

Иконки " "от oNline Web Fonts" -#: FlatCAMApp.py:4597 +#: FlatCAMApp.py:4679 msgid "Splash" msgstr "Информация" -#: FlatCAMApp.py:4603 +#: FlatCAMApp.py:4685 msgid "Programmers" msgstr "Разработчики" -#: FlatCAMApp.py:4609 +#: FlatCAMApp.py:4691 msgid "Translators" msgstr "Переводчики" -#: FlatCAMApp.py:4615 +#: FlatCAMApp.py:4697 msgid "License" msgstr "Лицензия" -#: FlatCAMApp.py:4621 +#: FlatCAMApp.py:4703 msgid "Attributions" msgstr "Пояснения" -#: FlatCAMApp.py:4644 +#: FlatCAMApp.py:4726 msgid "Programmer" msgstr "Разработчик" -#: FlatCAMApp.py:4645 +#: FlatCAMApp.py:4727 msgid "Status" msgstr "Статус" -#: FlatCAMApp.py:4646 FlatCAMApp.py:4724 +#: FlatCAMApp.py:4728 FlatCAMApp.py:4806 msgid "E-mail" msgstr "E-mail" -#: FlatCAMApp.py:4654 +#: FlatCAMApp.py:4736 msgid "BETA Maintainer >= 2019" msgstr "Куратор >=2019" -#: FlatCAMApp.py:4721 +#: FlatCAMApp.py:4803 msgid "Language" msgstr "Язык" -#: FlatCAMApp.py:4722 +#: FlatCAMApp.py:4804 msgid "Translator" msgstr "Переводчик" -#: FlatCAMApp.py:4723 +#: FlatCAMApp.py:4805 msgid "Corrections" msgstr "Исправления" -#: FlatCAMApp.py:4832 FlatCAMApp.py:4840 FlatCAMApp.py:7769 -#: flatcamGUI/FlatCAMGUI.py:473 +#: FlatCAMApp.py:4914 FlatCAMApp.py:4922 FlatCAMApp.py:8068 +#: flatcamGUI/FlatCAMGUI.py:512 msgid "Bookmarks Manager" msgstr "Диспетчер закладок" -#: FlatCAMApp.py:4851 +#: FlatCAMApp.py:4933 msgid "" "This entry will resolve to another website if:\n" "\n" @@ -451,27 +479,27 @@ msgstr "" "Если вы не можете получить какую-либо информацию о бета-версии FlatCAM\n" "используйте ссылку на канал YouTube в меню «Справка»." -#: FlatCAMApp.py:4858 +#: FlatCAMApp.py:4940 msgid "Alternative website" msgstr "Альтернативный сайт" -#: FlatCAMApp.py:4989 FlatCAMApp.py:7733 +#: FlatCAMApp.py:5044 FlatCAMApp.py:8032 msgid "Preferences saved." msgstr "Настройки сохранены." -#: FlatCAMApp.py:5043 +#: FlatCAMApp.py:5139 msgid "Failed to write factory defaults to file." msgstr "Не удалось записать исходные значения в файл." -#: FlatCAMApp.py:5047 +#: FlatCAMApp.py:5143 msgid "Factory defaults saved." msgstr "Исходные значения сохранены." -#: FlatCAMApp.py:5057 flatcamGUI/FlatCAMGUI.py:3962 +#: FlatCAMApp.py:5153 flatcamGUI/FlatCAMGUI.py:4178 msgid "Application is saving the project. Please wait ..." msgstr "Приложение сохраняет проект. Пожалуйста, подождите ..." -#: FlatCAMApp.py:5062 FlatCAMTranslation.py:188 +#: FlatCAMApp.py:5158 FlatCAMTranslation.py:194 msgid "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" @@ -479,29 +507,29 @@ msgstr "" "Есть файлы/объекты, измененные в FlatCAM.\n" "Вы хотите сохранить проект?" -#: FlatCAMApp.py:5065 FlatCAMApp.py:8925 FlatCAMTranslation.py:191 +#: FlatCAMApp.py:5161 FlatCAMApp.py:9296 FlatCAMTranslation.py:197 msgid "Save changes" msgstr "Сохранить изменения" -#: FlatCAMApp.py:5306 +#: FlatCAMApp.py:5417 msgid "Selected Excellon file extensions registered with FlatCAM." msgstr "Выбранные расширения файлов Excellon, зарегистрированные в FlatCAM." -#: FlatCAMApp.py:5328 +#: FlatCAMApp.py:5439 msgid "Selected GCode file extensions registered with FlatCAM." msgstr "Выбранные расширения файлов GCode, зарегистрированные в FlatCAM." -#: FlatCAMApp.py:5350 +#: FlatCAMApp.py:5461 msgid "Selected Gerber file extensions registered with FlatCAM." msgstr "Выбранные расширения файлов Gerber, зарегистрированные в FlatCAM." -#: FlatCAMApp.py:5538 FlatCAMApp.py:5595 FlatCAMApp.py:5623 +#: FlatCAMApp.py:5649 FlatCAMApp.py:5708 FlatCAMApp.py:5736 msgid "At least two objects are required for join. Objects currently selected" msgstr "" "Для объединения требуются как минимум два объекта. Объекты, выбранные в " "данный момент" -#: FlatCAMApp.py:5547 +#: FlatCAMApp.py:5658 msgid "" "Failed join. The Geometry objects are of different types.\n" "At least one is MultiGeo type and the other is SingleGeo type. A possibility " @@ -517,51 +545,47 @@ msgstr "" "потеряна, и результат может не соответствовать ожидаемому. \n" "Проверьте сгенерированный GCODE." -#: FlatCAMApp.py:5559 -msgid "Multigeo. Geometry merging finished" -msgstr "Слияние Multigeo. Geometry завершено" - -#: FlatCAMApp.py:5568 +#: FlatCAMApp.py:5670 FlatCAMApp.py:5680 msgid "Geometry merging finished" msgstr "Слияние Geometry завершено" -#: FlatCAMApp.py:5590 +#: FlatCAMApp.py:5703 msgid "Failed. Excellon joining works only on Excellon objects." msgstr "Неудача. Присоединение Excellon работает только на объектах Excellon." -#: FlatCAMApp.py:5600 +#: FlatCAMApp.py:5713 msgid "Excellon merging finished" msgstr "Слияние Excellon завершено" -#: FlatCAMApp.py:5618 +#: FlatCAMApp.py:5731 msgid "Failed. Gerber joining works only on Gerber objects." msgstr "Неудача. Объединение Gerber работает только на объектах Gerber." -#: FlatCAMApp.py:5628 +#: FlatCAMApp.py:5741 msgid "Gerber merging finished" msgstr "Слияние Gerber завершено" -#: FlatCAMApp.py:5648 FlatCAMApp.py:5683 +#: FlatCAMApp.py:5761 FlatCAMApp.py:5796 msgid "Failed. Select a Geometry Object and try again." msgstr "Неудалось. Выберите объект Geometry и попробуйте снова." -#: FlatCAMApp.py:5652 FlatCAMApp.py:5688 +#: FlatCAMApp.py:5765 FlatCAMApp.py:5801 msgid "Expected a FlatCAMGeometry, got" msgstr "Ожидается FlatCAMGeometry, получено" -#: FlatCAMApp.py:5665 +#: FlatCAMApp.py:5778 msgid "A Geometry object was converted to MultiGeo type." msgstr "Объект Geometry был преобразован в тип MultiGeo." -#: FlatCAMApp.py:5703 +#: FlatCAMApp.py:5816 msgid "A Geometry object was converted to SingleGeo type." msgstr "Объект Geometry был преобразован в тип SingleGeo." -#: FlatCAMApp.py:5919 +#: FlatCAMApp.py:6043 msgid "Toggle Units" msgstr "Единицы измерения" -#: FlatCAMApp.py:5921 +#: FlatCAMApp.py:6045 msgid "" "Changing the units of the project\n" "will scale all objects.\n" @@ -572,50 +596,46 @@ msgstr "" "масштабированию всех всех объектов.\n" "Продолжить?" -#: FlatCAMApp.py:5924 FlatCAMApp.py:6929 FlatCAMApp.py:7005 FlatCAMApp.py:9290 -#: FlatCAMApp.py:9304 FlatCAMApp.py:9658 FlatCAMApp.py:9669 +#: FlatCAMApp.py:6048 FlatCAMApp.py:6922 FlatCAMApp.py:6999 FlatCAMApp.py:9669 +#: FlatCAMApp.py:9683 FlatCAMApp.py:10018 FlatCAMApp.py:10028 msgid "Ok" msgstr "Да" -#: FlatCAMApp.py:5973 +#: FlatCAMApp.py:6097 msgid "Converted units to" msgstr "Конвертирование единиц в" -#: FlatCAMApp.py:5987 -msgid "Units conversion cancelled." -msgstr "Изменение единиц отменено." - -#: FlatCAMApp.py:6613 +#: FlatCAMApp.py:6737 msgid "Detachable Tabs" msgstr "Плавающие вкладки" -#: FlatCAMApp.py:6828 FlatCAMApp.py:6889 FlatCAMApp.py:7560 FlatCAMApp.py:7622 -#: FlatCAMApp.py:7688 +#: FlatCAMApp.py:6811 FlatCAMApp.py:6855 FlatCAMApp.py:6883 FlatCAMApp.py:7815 +#: FlatCAMApp.py:7883 FlatCAMApp.py:7987 msgid "Preferences" msgstr "Настройки" -#: FlatCAMApp.py:6831 +#: FlatCAMApp.py:6817 msgid "Preferences applied." msgstr "Настройки применяются." -#: FlatCAMApp.py:6894 +#: FlatCAMApp.py:6888 msgid "Preferences closed without saving." msgstr "Настройки закрыты без сохранения." -#: FlatCAMApp.py:6917 flatcamTools/ToolNonCopperClear.py:591 -#: flatcamTools/ToolNonCopperClear.py:987 flatcamTools/ToolPaint.py:502 -#: flatcamTools/ToolSolderPaste.py:562 flatcamTools/ToolSolderPaste.py:892 +#: FlatCAMApp.py:6911 flatcamTools/ToolNCC.py:930 flatcamTools/ToolNCC.py:1435 +#: flatcamTools/ToolPaint.py:855 flatcamTools/ToolSolderPaste.py:568 +#: flatcamTools/ToolSolderPaste.py:893 msgid "Please enter a tool diameter with non-zero value, in Float format." msgstr "" "Пожалуйста, введите диаметр инструмента с ненулевым значением в float " "формате." -#: FlatCAMApp.py:6922 flatcamTools/ToolNonCopperClear.py:595 -#: flatcamTools/ToolPaint.py:506 flatcamTools/ToolSolderPaste.py:566 +#: FlatCAMApp.py:6915 flatcamTools/ToolNCC.py:934 flatcamTools/ToolPaint.py:859 +#: flatcamTools/ToolSolderPaste.py:572 msgid "Adding Tool cancelled" msgstr "Добавление инструмента отменено" -#: FlatCAMApp.py:6925 +#: FlatCAMApp.py:6918 msgid "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." @@ -624,11 +644,11 @@ msgstr "" "«Дополнительно».\n" "Перейдите в Настройки -> Основные парам. - Показать дополнительные параметры." -#: FlatCAMApp.py:7000 +#: FlatCAMApp.py:6994 msgid "Delete objects" msgstr "Удалить объекты" -#: FlatCAMApp.py:7003 +#: FlatCAMApp.py:6997 msgid "" "Are you sure you want to permanently delete\n" "the selected objects?" @@ -636,15 +656,15 @@ msgstr "" "Вы уверены, что хотите удалить навсегда\n" "выделенные объекты?" -#: FlatCAMApp.py:7034 +#: FlatCAMApp.py:7035 msgid "Object(s) deleted" msgstr "Объект(ы) удалены" -#: FlatCAMApp.py:7038 flatcamTools/ToolDblSided.py:713 +#: FlatCAMApp.py:7039 FlatCAMApp.py:7194 flatcamTools/ToolDblSided.py:819 msgid "Failed. No object(s) selected..." msgstr "Нудача. Объекты не выбраны ..." -#: FlatCAMApp.py:7040 +#: FlatCAMApp.py:7041 msgid "Save the work in Editor and try again ..." msgstr "Сохраните работу в редакторе и попробуйте снова ..." @@ -660,76 +680,120 @@ msgstr "Кликните, чтобы указать начало координ msgid "Setting Origin..." msgstr "Установка точки начала координат..." -#: FlatCAMApp.py:7131 +#: FlatCAMApp.py:7132 FlatCAMApp.py:7234 msgid "Origin set" msgstr "Начало координат установлено" -#: FlatCAMApp.py:7138 +#: FlatCAMApp.py:7149 msgid "Origin coordinates specified but incomplete." msgstr "Координаты начала указаны, но неполны." -#: FlatCAMApp.py:7197 +#: FlatCAMApp.py:7190 +msgid "Moving to Origin..." +msgstr "Переход к началу координат..." + +#: FlatCAMApp.py:7271 msgid "Jump to ..." msgstr "Перейти к ..." -#: FlatCAMApp.py:7198 +#: FlatCAMApp.py:7272 msgid "Enter the coordinates in format X,Y:" msgstr "Введите координаты в формате X, Y:" -#: FlatCAMApp.py:7208 +#: FlatCAMApp.py:7282 msgid "Wrong coordinates. Enter coordinates in format: X,Y" msgstr "Неверные координаты. Введите координаты в формате: X, Y" -#: FlatCAMApp.py:7288 flatcamEditors/FlatCAMExcEditor.py:3599 -#: flatcamEditors/FlatCAMExcEditor.py:3607 -#: flatcamEditors/FlatCAMGeoEditor.py:4036 -#: flatcamEditors/FlatCAMGeoEditor.py:4051 -#: flatcamEditors/FlatCAMGrbEditor.py:1086 -#: flatcamEditors/FlatCAMGrbEditor.py:1203 -#: flatcamEditors/FlatCAMGrbEditor.py:1489 -#: flatcamEditors/FlatCAMGrbEditor.py:1758 -#: flatcamEditors/FlatCAMGrbEditor.py:4445 -#: flatcamEditors/FlatCAMGrbEditor.py:4460 flatcamGUI/FlatCAMGUI.py:3145 -#: flatcamGUI/FlatCAMGUI.py:3157 +#: FlatCAMApp.py:7360 FlatCAMApp.py:7509 +#: flatcamEditors/FlatCAMExcEditor.py:3622 +#: flatcamEditors/FlatCAMExcEditor.py:3630 +#: flatcamEditors/FlatCAMGeoEditor.py:4349 +#: flatcamEditors/FlatCAMGeoEditor.py:4363 +#: flatcamEditors/FlatCAMGrbEditor.py:1085 +#: flatcamEditors/FlatCAMGrbEditor.py:1202 +#: flatcamEditors/FlatCAMGrbEditor.py:1488 +#: flatcamEditors/FlatCAMGrbEditor.py:1757 +#: flatcamEditors/FlatCAMGrbEditor.py:4489 +#: flatcamEditors/FlatCAMGrbEditor.py:4504 flatcamGUI/FlatCAMGUI.py:3370 +#: flatcamGUI/FlatCAMGUI.py:3382 flatcamTools/ToolAlignObjects.py:393 +#: flatcamTools/ToolAlignObjects.py:415 msgid "Done." msgstr "Готово." -#: FlatCAMApp.py:7440 FlatCAMApp.py:7511 +#: FlatCAMApp.py:7375 FlatCAMApp.py:9665 FlatCAMApp.py:9761 FlatCAMApp.py:9803 +#: FlatCAMApp.py:9844 FlatCAMApp.py:9885 FlatCAMApp.py:9926 FlatCAMApp.py:9970 +#: FlatCAMApp.py:10014 FlatCAMApp.py:10503 FlatCAMApp.py:10507 +#: flatcamTools/ToolProperties.py:116 +msgid "No object selected." +msgstr "Нет выбранных объектов." + +#: FlatCAMApp.py:7394 +#, fuzzy +#| msgid "Bottom Left" +msgid "Bottom-Left" +msgstr "Нижний левый" + +#: FlatCAMApp.py:7395 flatcamGUI/PreferencesUI.py:8111 +#: flatcamTools/ToolCalibration.py:159 +msgid "Top-Left" +msgstr "Верхний левый" + +#: FlatCAMApp.py:7396 flatcamGUI/PreferencesUI.py:8112 +#: flatcamTools/ToolCalibration.py:160 +msgid "Bottom-Right" +msgstr "Внизу справа" + +#: FlatCAMApp.py:7397 +msgid "Top-Right" +msgstr "Верхний правый" + +#: FlatCAMApp.py:7398 flatcamGUI/ObjectUI.py:2624 +msgid "Center" +msgstr "Центр" + +#: FlatCAMApp.py:7418 +msgid "Locate ..." +msgstr "Размещение ..." + +#: FlatCAMApp.py:7679 FlatCAMApp.py:7756 msgid "No object is selected. Select an object and try again." msgstr "Объект не выбран. Выберите объект и попробуйте снова." -#: FlatCAMApp.py:7531 +#: FlatCAMApp.py:7782 msgid "" "Aborting. The current task will be gracefully closed as soon as possible..." msgstr "Прерывание. Текущая задача будет закрыта как можно скорее..." -#: FlatCAMApp.py:7537 +#: FlatCAMApp.py:7787 msgid "The current task was gracefully closed on user request..." msgstr "Текущая задача была закрыта по запросу пользователя ..." -#: FlatCAMApp.py:7619 +#: FlatCAMApp.py:7880 msgid "Preferences edited but not saved." msgstr "Настройки отредактированы, но не сохранены." -#: FlatCAMApp.py:7633 FlatCAMApp.py:7645 FlatCAMApp.py:7662 FlatCAMApp.py:7679 -#: FlatCAMApp.py:7739 FlatCAMCommon.py:1181 FlatCAMCommon.py:1356 -#: FlatCAMObj.py:4256 +#: FlatCAMApp.py:7897 FlatCAMApp.py:7925 FlatCAMApp.py:7952 FlatCAMApp.py:7971 +#: FlatCAMApp.py:8038 FlatCAMCommon.py:1182 FlatCAMCommon.py:1357 +#: FlatCAMCommon.py:2612 FlatCAMCommon.py:2820 FlatCAMObj.py:4798 +#: flatcamTools/ToolNCC.py:3963 flatcamTools/ToolNCC.py:4047 +#: flatcamTools/ToolPaint.py:3537 flatcamTools/ToolPaint.py:3622 msgid "Tools Database" msgstr "База данных" -#: FlatCAMApp.py:7659 +#: FlatCAMApp.py:7949 msgid "Tools in Tools Database edited but not saved." msgstr "Инструменты в базе данных отредактированы, но не сохранены." -#: FlatCAMApp.py:7683 +#: FlatCAMApp.py:7975 flatcamTools/ToolNCC.py:3970 +#: flatcamTools/ToolPaint.py:3544 msgid "Tool from DB added in Tool Table." msgstr "Инструмент из БД добавлен в таблицу инструментов." -#: FlatCAMApp.py:7685 +#: FlatCAMApp.py:7977 msgid "Adding tool from DB is not allowed for this object." msgstr "Добавление инструмента из БД для данного объекта запрещено." -#: FlatCAMApp.py:7719 +#: FlatCAMApp.py:8018 msgid "" "One or more values are changed.\n" "Do you want to save the Preferences?" @@ -737,11 +801,11 @@ msgstr "" "Одно или несколько значений изменены.\n" "Вы хотите сохранить настройки?" -#: FlatCAMApp.py:7721 flatcamGUI/FlatCAMGUI.py:222 +#: FlatCAMApp.py:8020 flatcamGUI/FlatCAMGUI.py:291 msgid "Save Preferences" msgstr "Сохранить настройки" -#: FlatCAMApp.py:7745 +#: FlatCAMApp.py:8044 msgid "" "One or more Tools are edited.\n" "Do you want to update the Tools Database?" @@ -749,173 +813,175 @@ msgstr "" "Один или несколько инструментов изменены.\n" "Вы хотите обновить базу данных инструментов?" -#: FlatCAMApp.py:7747 +#: FlatCAMApp.py:8046 msgid "Save Tools Database" msgstr "Сохранить БД" -#: FlatCAMApp.py:7766 FlatCAMApp.py:9897 FlatCAMObj.py:6509 +#: FlatCAMApp.py:8065 FlatCAMApp.py:10252 FlatCAMObj.py:7089 msgid "Code Editor" msgstr "Редактор кода" -#: FlatCAMApp.py:7784 +#: FlatCAMApp.py:8087 msgid "No object selected to Flip on Y axis." msgstr "Не выбран объект для отражения по оси Y." -#: FlatCAMApp.py:7810 +#: FlatCAMApp.py:8113 msgid "Flip on Y axis done." msgstr "Отражение по оси Y завершено." -#: FlatCAMApp.py:7812 FlatCAMApp.py:7854 -#: flatcamEditors/FlatCAMGrbEditor.py:5858 +#: FlatCAMApp.py:8115 FlatCAMApp.py:8163 +#: flatcamEditors/FlatCAMGrbEditor.py:5893 msgid "Flip action was not executed." msgstr "Операция переворота не была выполнена." -#: FlatCAMApp.py:7826 +#: FlatCAMApp.py:8135 msgid "No object selected to Flip on X axis." msgstr "Не выбран объект для отражения по оси Х." -#: FlatCAMApp.py:7852 +#: FlatCAMApp.py:8161 msgid "Flip on X axis done." msgstr "Отражение по оси Х завершено." -#: FlatCAMApp.py:7868 +#: FlatCAMApp.py:8183 msgid "No object selected to Rotate." msgstr "Не выбран ни один объект для вращения." -#: FlatCAMApp.py:7871 FlatCAMApp.py:7918 FlatCAMApp.py:7951 +#: FlatCAMApp.py:8186 FlatCAMApp.py:8239 FlatCAMApp.py:8278 msgid "Transform" msgstr "Трансформация" -#: FlatCAMApp.py:7871 FlatCAMApp.py:7918 FlatCAMApp.py:7951 +#: FlatCAMApp.py:8186 FlatCAMApp.py:8239 FlatCAMApp.py:8278 msgid "Enter the Angle value:" msgstr "Введите значение угла:" -#: FlatCAMApp.py:7902 +#: FlatCAMApp.py:8217 msgid "Rotation done." msgstr "Вращение завершено." -#: FlatCAMApp.py:7904 +#: FlatCAMApp.py:8219 msgid "Rotation movement was not executed." msgstr "Вращение не было выполнено." -#: FlatCAMApp.py:7916 +#: FlatCAMApp.py:8237 msgid "No object selected to Skew/Shear on X axis." msgstr "Не выбран ни один объект для наклона/сдвига по оси X." -#: FlatCAMApp.py:7938 +#: FlatCAMApp.py:8259 msgid "Skew on X axis done." msgstr "Наклон по оси X выполнен." -#: FlatCAMApp.py:7949 +#: FlatCAMApp.py:8276 msgid "No object selected to Skew/Shear on Y axis." msgstr "Нет объекта, выбранного для наклона/сдвига по оси Y." -#: FlatCAMApp.py:7971 +#: FlatCAMApp.py:8298 msgid "Skew on Y axis done." msgstr "Наклон по оси Y выполнен." -#: FlatCAMApp.py:8119 FlatCAMApp.py:8166 flatcamGUI/FlatCAMGUI.py:449 -#: flatcamGUI/FlatCAMGUI.py:1612 +#: FlatCAMApp.py:8451 FlatCAMApp.py:8498 flatcamGUI/FlatCAMGUI.py:488 +#: flatcamGUI/FlatCAMGUI.py:1713 msgid "Select All" msgstr "Выбрать все" -#: FlatCAMApp.py:8123 FlatCAMApp.py:8170 flatcamGUI/FlatCAMGUI.py:451 +#: FlatCAMApp.py:8455 FlatCAMApp.py:8502 flatcamGUI/FlatCAMGUI.py:490 msgid "Deselect All" msgstr "Снять выделение" -#: FlatCAMApp.py:8186 +#: FlatCAMApp.py:8518 msgid "All objects are selected." msgstr "Все объекты выделены." -#: FlatCAMApp.py:8196 +#: FlatCAMApp.py:8528 msgid "Objects selection is cleared." msgstr "Выбор объектов очищен." -#: FlatCAMApp.py:8216 flatcamGUI/FlatCAMGUI.py:1605 +#: FlatCAMApp.py:8548 flatcamGUI/FlatCAMGUI.py:1706 msgid "Grid On/Off" msgstr "Сетка вкл/откл" -#: FlatCAMApp.py:8228 flatcamEditors/FlatCAMGeoEditor.py:940 -#: flatcamEditors/FlatCAMGrbEditor.py:2574 -#: flatcamEditors/FlatCAMGrbEditor.py:5431 flatcamGUI/ObjectUI.py:1304 -#: flatcamTools/ToolDblSided.py:187 flatcamTools/ToolDblSided.py:245 -#: flatcamTools/ToolNonCopperClear.py:286 flatcamTools/ToolPaint.py:188 -#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:591 -#: flatcamTools/ToolTransform.py:310 +#: FlatCAMApp.py:8560 flatcamEditors/FlatCAMGeoEditor.py:940 +#: flatcamEditors/FlatCAMGrbEditor.py:2580 +#: flatcamEditors/FlatCAMGrbEditor.py:5475 flatcamGUI/ObjectUI.py:1593 +#: flatcamTools/ToolDblSided.py:193 flatcamTools/ToolDblSided.py:426 +#: flatcamTools/ToolNCC.py:294 flatcamTools/ToolNCC.py:631 +#: flatcamTools/ToolPaint.py:277 flatcamTools/ToolPaint.py:673 +#: flatcamTools/ToolSolderPaste.py:123 flatcamTools/ToolSolderPaste.py:597 +#: flatcamTools/ToolTransform.py:479 msgid "Add" msgstr "Добавить" -#: FlatCAMApp.py:8230 FlatCAMObj.py:3963 -#: flatcamEditors/FlatCAMGrbEditor.py:2579 -#: flatcamEditors/FlatCAMGrbEditor.py:2727 flatcamGUI/FlatCAMGUI.py:680 -#: flatcamGUI/FlatCAMGUI.py:991 flatcamGUI/FlatCAMGUI.py:2018 -#: flatcamGUI/FlatCAMGUI.py:2161 flatcamGUI/FlatCAMGUI.py:2559 -#: flatcamGUI/ObjectUI.py:1330 flatcamTools/ToolNonCopperClear.py:298 -#: flatcamTools/ToolPaint.py:200 flatcamTools/ToolSolderPaste.py:127 -#: flatcamTools/ToolSolderPaste.py:594 +#: FlatCAMApp.py:8562 FlatCAMObj.py:4416 +#: flatcamEditors/FlatCAMGrbEditor.py:2585 +#: flatcamEditors/FlatCAMGrbEditor.py:2733 flatcamGUI/FlatCAMGUI.py:736 +#: flatcamGUI/FlatCAMGUI.py:1059 flatcamGUI/FlatCAMGUI.py:2126 +#: flatcamGUI/FlatCAMGUI.py:2269 flatcamGUI/FlatCAMGUI.py:2733 +#: flatcamGUI/ObjectUI.py:1621 flatcamTools/ToolNCC.py:316 +#: flatcamTools/ToolNCC.py:637 flatcamTools/ToolPaint.py:299 +#: flatcamTools/ToolPaint.py:679 flatcamTools/ToolSolderPaste.py:129 +#: flatcamTools/ToolSolderPaste.py:600 msgid "Delete" msgstr "Удалить" -#: FlatCAMApp.py:8243 +#: FlatCAMApp.py:8575 msgid "New Grid ..." msgstr "Новая сетка ..." -#: FlatCAMApp.py:8244 +#: FlatCAMApp.py:8576 msgid "Enter a Grid Value:" msgstr "Введите размер сетки:" -#: FlatCAMApp.py:8252 FlatCAMApp.py:8279 +#: FlatCAMApp.py:8584 FlatCAMApp.py:8611 msgid "Please enter a grid value with non-zero value, in Float format." msgstr "" "Пожалуйста, введите значение сетки с ненулевым значением в формате float." -#: FlatCAMApp.py:8258 +#: FlatCAMApp.py:8590 msgid "New Grid added" msgstr "Новая сетка добавлена" -#: FlatCAMApp.py:8261 +#: FlatCAMApp.py:8593 msgid "Grid already exists" msgstr "Сетка уже существует" -#: FlatCAMApp.py:8264 +#: FlatCAMApp.py:8596 msgid "Adding New Grid cancelled" msgstr "Добавление новой сетки отменено" -#: FlatCAMApp.py:8286 +#: FlatCAMApp.py:8618 msgid " Grid Value does not exist" msgstr " Значение сетки не существует" -#: FlatCAMApp.py:8289 +#: FlatCAMApp.py:8621 msgid "Grid Value deleted" msgstr "Значение сетки удалено" -#: FlatCAMApp.py:8292 +#: FlatCAMApp.py:8624 msgid "Delete Grid value cancelled" msgstr "Удаление значения сетки отменено" -#: FlatCAMApp.py:8298 +#: FlatCAMApp.py:8630 msgid "Key Shortcut List" msgstr "Список комбинаций клавиш" -#: FlatCAMApp.py:8332 +#: FlatCAMApp.py:8664 msgid " No object selected to copy it's name" msgstr " Нет объекта, выбранного для копирования его имени" -#: FlatCAMApp.py:8336 +#: FlatCAMApp.py:8668 msgid "Name copied on clipboard ..." msgstr "Имя скопировано в буфер обмена ..." -#: FlatCAMApp.py:8534 flatcamEditors/FlatCAMGrbEditor.py:4377 +#: FlatCAMApp.py:8881 flatcamEditors/FlatCAMGrbEditor.py:4421 msgid "Coordinates copied to clipboard." msgstr "Координаты скопированы в буфер обмена." -#: FlatCAMApp.py:8762 FlatCAMApp.py:8768 FlatCAMApp.py:8774 FlatCAMApp.py:8780 -#: ObjectCollection.py:797 ObjectCollection.py:803 ObjectCollection.py:809 -#: ObjectCollection.py:815 ObjectCollection.py:821 ObjectCollection.py:827 +#: FlatCAMApp.py:9120 FlatCAMApp.py:9126 FlatCAMApp.py:9132 FlatCAMApp.py:9138 +#: ObjectCollection.py:911 ObjectCollection.py:917 ObjectCollection.py:923 +#: ObjectCollection.py:929 ObjectCollection.py:935 ObjectCollection.py:941 msgid "selected" msgstr "выбранный" -#: FlatCAMApp.py:8922 +#: FlatCAMApp.py:9293 msgid "" "There are files/objects opened in FlatCAM.\n" "Creating a New project will delete them.\n" @@ -925,370 +991,271 @@ msgstr "" "Создание нового проекта удалит их.\n" "Вы хотите сохранить проект?" -#: FlatCAMApp.py:8944 +#: FlatCAMApp.py:9314 msgid "New Project created" msgstr "Новый проект создан" -#: FlatCAMApp.py:9079 FlatCAMApp.py:9083 flatcamGUI/FlatCAMGUI.py:767 -#: flatcamGUI/FlatCAMGUI.py:2352 +#: FlatCAMApp.py:9461 FlatCAMApp.py:9465 flatcamGUI/FlatCAMGUI.py:821 +#: flatcamGUI/FlatCAMGUI.py:2504 msgid "Open Gerber" msgstr "Открыть Gerber" -#: FlatCAMApp.py:9090 +#: FlatCAMApp.py:9470 FlatCAMApp.py:9507 FlatCAMApp.py:9549 FlatCAMApp.py:9618 +#: FlatCAMApp.py:10371 FlatCAMApp.py:11546 FlatCAMApp.py:11607 +msgid "" +"Canvas initialization started.\n" +"Canvas initialization finished in" +msgstr "" +"Инициализация холста.\n" +"Инициализация холста завершена за" + +#: FlatCAMApp.py:9472 msgid "Opening Gerber file." msgstr "Открытие файла Gerber." -#: FlatCAMApp.py:9096 -msgid "Open Gerber cancelled." -msgstr "Открытие Gerber отменено." - -#: FlatCAMApp.py:9117 FlatCAMApp.py:9121 flatcamGUI/FlatCAMGUI.py:769 -#: flatcamGUI/FlatCAMGUI.py:2354 +#: FlatCAMApp.py:9499 FlatCAMApp.py:9503 flatcamGUI/FlatCAMGUI.py:823 +#: flatcamGUI/FlatCAMGUI.py:2506 msgid "Open Excellon" msgstr "Открыть Excellon" -#: FlatCAMApp.py:9127 +#: FlatCAMApp.py:9509 msgid "Opening Excellon file." msgstr "Открытие файла Excellon." -#: FlatCAMApp.py:9133 -msgid " Open Excellon cancelled." -msgstr " Открытие Excellon отменено." - -#: FlatCAMApp.py:9157 FlatCAMApp.py:9161 +#: FlatCAMApp.py:9540 FlatCAMApp.py:9544 msgid "Open G-Code" msgstr "Открыть G-Code" -#: FlatCAMApp.py:9168 +#: FlatCAMApp.py:9551 msgid "Opening G-Code file." msgstr "Открытие файла G-Code." -#: FlatCAMApp.py:9174 -msgid "Open G-Code cancelled." -msgstr "Открытие G-Code отменено." - -#: FlatCAMApp.py:9192 FlatCAMApp.py:9195 flatcamGUI/FlatCAMGUI.py:1614 +#: FlatCAMApp.py:9574 FlatCAMApp.py:9577 flatcamGUI/FlatCAMGUI.py:1715 msgid "Open Project" msgstr "Открыть проект" -#: FlatCAMApp.py:9204 -msgid "Open Project cancelled." -msgstr "Открытие проекта отменено." - -#: FlatCAMApp.py:9228 FlatCAMApp.py:9232 +#: FlatCAMApp.py:9609 FlatCAMApp.py:9613 msgid "Open HPGL2" msgstr "Открыть HPGL2" -#: FlatCAMApp.py:9239 +#: FlatCAMApp.py:9620 msgid "Opening HPGL2 file." msgstr "Открытие файла HPGL2." -#: FlatCAMApp.py:9244 -msgid "Open HPGL2 file cancelled." -msgstr "Открытие HPGL2 отменено." - -#: FlatCAMApp.py:9262 FlatCAMApp.py:9265 +#: FlatCAMApp.py:9643 FlatCAMApp.py:9646 msgid "Open Configuration File" msgstr "Открыть файл конфигурации" -#: FlatCAMApp.py:9270 -msgid "Open Config cancelled." -msgstr "Открытие конфигурации отменено." - -#: FlatCAMApp.py:9286 FlatCAMApp.py:9654 FlatCAMApp.py:10124 -#: FlatCAMApp.py:10128 -msgid "No object selected." -msgstr "Нет выбранных объектов." - -#: FlatCAMApp.py:9287 FlatCAMApp.py:9655 +#: FlatCAMApp.py:9666 FlatCAMApp.py:10015 msgid "Please Select a Geometry object to export" msgstr "Выберите объект Geometry для экспорта" -#: FlatCAMApp.py:9301 +#: FlatCAMApp.py:9680 msgid "Only Geometry, Gerber and CNCJob objects can be used." msgstr "Можно использовать только объекты Geometry, Gerber и CNCJob." -#: FlatCAMApp.py:9314 FlatCAMApp.py:9318 flatcamTools/ToolQRCode.py:827 -#: flatcamTools/ToolQRCode.py:831 +#: FlatCAMApp.py:9693 FlatCAMApp.py:9697 flatcamTools/ToolQRCode.py:829 +#: flatcamTools/ToolQRCode.py:833 msgid "Export SVG" msgstr "Экспорт SVG" -#: FlatCAMApp.py:9324 flatcamTools/ToolQRCode.py:836 -msgid " Export SVG cancelled." -msgstr " Экспорт SVG отменён." - -#: FlatCAMApp.py:9345 +#: FlatCAMApp.py:9723 msgid "Data must be a 3D array with last dimension 3 or 4" msgstr "Данные должны быть 3D массивом с последним размером 3 или 4" -#: FlatCAMApp.py:9351 FlatCAMApp.py:9355 +#: FlatCAMApp.py:9729 FlatCAMApp.py:9733 msgid "Export PNG Image" msgstr "Экспорт PNG изображения" -#: FlatCAMApp.py:9360 -msgid "Export PNG cancelled." -msgstr "Экспорт PNG отменён." - -#: FlatCAMApp.py:9384 -msgid "No object selected. Please select an Gerber object to export." -msgstr "" -"Нет выбранных объектов. Пожалуйста, выберите Gerber объект для экспорта." - -#: FlatCAMApp.py:9390 FlatCAMApp.py:9613 +#: FlatCAMApp.py:9767 FlatCAMApp.py:9975 msgid "Failed. Only Gerber objects can be saved as Gerber files..." msgstr "Ошибка. Только объекты Gerber могут быть сохранены как файлы Gerber..." -#: FlatCAMApp.py:9402 +#: FlatCAMApp.py:9779 msgid "Save Gerber source file" msgstr "Сохранить исходный файл Gerber" -#: FlatCAMApp.py:9408 -msgid "Save Gerber source file cancelled." -msgstr "Сохранение исходного кода файла Gerber отменено." - -#: FlatCAMApp.py:9428 -msgid "No object selected. Please select an Script object to export." -msgstr "" -"Нет выбранных объектов. Пожалуйста, выберите объект сценария для экспорта." - -#: FlatCAMApp.py:9434 +#: FlatCAMApp.py:9808 msgid "Failed. Only Script objects can be saved as TCL Script files..." msgstr "" "Ошибка. Только объекты сценария могут быть сохранены как файлы TCL-" "сценария..." -#: FlatCAMApp.py:9446 +#: FlatCAMApp.py:9820 msgid "Save Script source file" msgstr "Сохранить исходный файл сценария" -#: FlatCAMApp.py:9452 -msgid "Save Script source file cancelled." -msgstr "Сохранение исходного кода файла сценария отменено." - -#: FlatCAMApp.py:9472 -msgid "No object selected. Please select an Document object to export." -msgstr "Объект не выбран. Пожалуйста, выберите объект Document для экспорта." - -#: FlatCAMApp.py:9478 +#: FlatCAMApp.py:9849 msgid "Failed. Only Document objects can be saved as Document files..." msgstr "" "Ошибка. Только объекты Document могут быть сохранены как файлы Document..." -#: FlatCAMApp.py:9490 +#: FlatCAMApp.py:9861 msgid "Save Document source file" msgstr "Сохранить исходный файл Document" -#: FlatCAMApp.py:9496 -msgid "Save Document source file cancelled." -msgstr "Сохранение исходного кода файла Document отменено." - -#: FlatCAMApp.py:9516 -msgid "No object selected. Please select an Excellon object to export." -msgstr "Объект не выбран. Пожалуйста, выберите Excellon объект для экспорта." - -#: FlatCAMApp.py:9522 FlatCAMApp.py:9566 FlatCAMApp.py:10473 +#: FlatCAMApp.py:9890 FlatCAMApp.py:9931 FlatCAMApp.py:10856 msgid "Failed. Only Excellon objects can be saved as Excellon files..." msgstr "" "Ошибка. Только объекты Excellon могут быть сохранены как файлы Excellon..." -#: FlatCAMApp.py:9530 FlatCAMApp.py:9534 +#: FlatCAMApp.py:9898 FlatCAMApp.py:9902 msgid "Save Excellon source file" msgstr "Сохранить исходный файл Excellon" -#: FlatCAMApp.py:9540 -msgid "Saving Excellon source file cancelled." -msgstr "Сохранение исходного кода файла Excellon отменено." - -#: FlatCAMApp.py:9560 -msgid "No object selected. Please Select an Excellon object to export." -msgstr "Объект не выбран. Пожалуйста, выберите отличный объект для экспорта." - -#: FlatCAMApp.py:9574 FlatCAMApp.py:9578 +#: FlatCAMApp.py:9939 FlatCAMApp.py:9943 msgid "Export Excellon" msgstr "Экспорт Excellon" -#: FlatCAMApp.py:9584 -msgid "Export Excellon cancelled." -msgstr "Экспорт Excellon отменен." - -#: FlatCAMApp.py:9607 -msgid "No object selected. Please Select an Gerber object to export." -msgstr "" -"Нет выбранных объектов. Пожалуйста, выберите Gerber объект для экспорта." - -#: FlatCAMApp.py:9621 FlatCAMApp.py:9625 +#: FlatCAMApp.py:9983 FlatCAMApp.py:9987 msgid "Export Gerber" msgstr "Экспорт Gerber" -#: FlatCAMApp.py:9631 -msgid "Export Gerber cancelled." -msgstr "Экспорт Gerber отменен." - -#: FlatCAMApp.py:9666 +#: FlatCAMApp.py:10025 msgid "Only Geometry objects can be used." msgstr "Можно использовать только объекты Geometry." -#: FlatCAMApp.py:9680 FlatCAMApp.py:9684 +#: FlatCAMApp.py:10039 FlatCAMApp.py:10043 msgid "Export DXF" msgstr "Экспорт DXF" -#: FlatCAMApp.py:9691 -msgid "Export DXF cancelled." -msgstr "Экспорт DXF отменен." - -#: FlatCAMApp.py:9711 FlatCAMApp.py:9714 +#: FlatCAMApp.py:10068 FlatCAMApp.py:10071 msgid "Import SVG" msgstr "Импорт SVG" -#: FlatCAMApp.py:9724 -msgid "Open SVG cancelled." -msgstr "Открытие SVG отменено." - -#: FlatCAMApp.py:9743 FlatCAMApp.py:9747 +#: FlatCAMApp.py:10099 FlatCAMApp.py:10103 msgid "Import DXF" msgstr "Импорт DXF" -#: FlatCAMApp.py:9757 -msgid "Open DXF cancelled." -msgstr "Открытие DXF отменено." - -#: FlatCAMApp.py:9799 +#: FlatCAMApp.py:10154 msgid "Viewing the source code of the selected object." msgstr "Просмотр исходного кода выбранного объекта." -#: FlatCAMApp.py:9800 FlatCAMObj.py:6495 FlatCAMObj.py:7225 +#: FlatCAMApp.py:10155 FlatCAMObj.py:7075 FlatCAMObj.py:7852 msgid "Loading..." msgstr "Загрузка..." -#: FlatCAMApp.py:9806 FlatCAMApp.py:9810 +#: FlatCAMApp.py:10161 FlatCAMApp.py:10165 msgid "Select an Gerber or Excellon file to view it's source file." msgstr "Выберите файл Gerber или Excellon для просмотра исходного кода." -#: FlatCAMApp.py:9824 +#: FlatCAMApp.py:10179 msgid "Source Editor" msgstr "Редактор исходного кода" -#: FlatCAMApp.py:9864 FlatCAMApp.py:9871 +#: FlatCAMApp.py:10219 FlatCAMApp.py:10226 msgid "There is no selected object for which to see it's source file code." msgstr "Нет выбранного объекта, для просмотра исходного кода файла." -#: FlatCAMApp.py:9883 +#: FlatCAMApp.py:10238 msgid "Failed to load the source code for the selected object" msgstr "Не удалось загрузить исходный код выбранного объекта" -#: FlatCAMApp.py:9925 +#: FlatCAMApp.py:10274 +msgid "Go to Line ..." +msgstr "Перейти к строке ..." + +#: FlatCAMApp.py:10275 +msgid "Line:" +msgstr "Строка:" + +#: FlatCAMApp.py:10304 msgid "New TCL script file created in Code Editor." msgstr "Новый файл сценария создан в редакторе кода." -#: FlatCAMApp.py:9963 FlatCAMApp.py:9965 +#: FlatCAMApp.py:10343 FlatCAMApp.py:10345 msgid "Open TCL script" msgstr "Открыть сценарий TCL" -#: FlatCAMApp.py:9969 -msgid "Open TCL script cancelled." -msgstr "Открытие сценария отменено." - -#: FlatCAMApp.py:9993 +#: FlatCAMApp.py:10373 msgid "Executing FlatCAMScript file." msgstr "Выполнение файла FlatCAMScript." -#: FlatCAMApp.py:10000 FlatCAMApp.py:10003 +#: FlatCAMApp.py:10381 FlatCAMApp.py:10384 msgid "Run TCL script" msgstr "Запустить сценарий TCL" -#: FlatCAMApp.py:10013 -msgid "Run TCL script cancelled." -msgstr "Запуск сценария отменен." - -#: FlatCAMApp.py:10029 +#: FlatCAMApp.py:10408 msgid "TCL script file opened in Code Editor and executed." msgstr "Файл сценария открывается в редакторе кода и выполняется." -#: FlatCAMApp.py:10080 FlatCAMApp.py:10086 +#: FlatCAMApp.py:10459 FlatCAMApp.py:10465 msgid "Save Project As ..." msgstr "Сохранить проект как..." -#: FlatCAMApp.py:10082 flatcamGUI/FlatCAMGUI.py:1051 -#: flatcamGUI/FlatCAMGUI.py:2053 +#: FlatCAMApp.py:10461 flatcamGUI/FlatCAMGUI.py:1119 +#: flatcamGUI/FlatCAMGUI.py:2161 msgid "Project" msgstr "Проект" -#: FlatCAMApp.py:10091 -msgid "Save Project cancelled." -msgstr "Сохранение проекта отменено." - -#: FlatCAMApp.py:10121 +#: FlatCAMApp.py:10500 msgid "FlatCAM objects print" msgstr "Печать объектов FlatCAM" -#: FlatCAMApp.py:10134 FlatCAMApp.py:10141 +#: FlatCAMApp.py:10513 FlatCAMApp.py:10520 msgid "Save Object as PDF ..." msgstr "Сохранить объект как PDF ..." -#: FlatCAMApp.py:10146 -msgid "Save Object PDF cancelled." -msgstr "Сохранить объект PDF отменен." - -#: FlatCAMApp.py:10150 +#: FlatCAMApp.py:10529 msgid "Printing PDF ... Please wait." msgstr "Печать PDF ... Пожалуйста, подождите." -#: FlatCAMApp.py:10329 +#: FlatCAMApp.py:10708 msgid "PDF file saved to" msgstr "Файл PDF сохранён в" -#: FlatCAMApp.py:10353 +#: FlatCAMApp.py:10733 msgid "Exporting SVG" msgstr "Экспортирование SVG" -#: FlatCAMApp.py:10397 +#: FlatCAMApp.py:10776 msgid "SVG file exported to" msgstr "Файл SVG экспортируется в" -#: FlatCAMApp.py:10422 +#: FlatCAMApp.py:10802 msgid "" "Save cancelled because source file is empty. Try to export the Gerber file." msgstr "" "Сохранение отменено, потому что исходный файл пуст. Попробуйте " "экспортировать файл Gerber." -#: FlatCAMApp.py:10568 +#: FlatCAMApp.py:10950 msgid "Excellon file exported to" msgstr "Файл Excellon экспортируется в" -#: FlatCAMApp.py:10577 +#: FlatCAMApp.py:10959 msgid "Exporting Excellon" msgstr "Экспорт Excellon" -#: FlatCAMApp.py:10583 FlatCAMApp.py:10591 +#: FlatCAMApp.py:10964 FlatCAMApp.py:10971 msgid "Could not export Excellon file." msgstr "Не удалось экспортировать файл Excellon." -#: FlatCAMApp.py:10707 +#: FlatCAMApp.py:11087 msgid "Gerber file exported to" msgstr "Файл Gerber экспортируется в" -#: FlatCAMApp.py:10715 +#: FlatCAMApp.py:11095 msgid "Exporting Gerber" msgstr "Экспортирование Gerber" -#: FlatCAMApp.py:10721 FlatCAMApp.py:10729 +#: FlatCAMApp.py:11100 FlatCAMApp.py:11107 msgid "Could not export Gerber file." msgstr "Не удалось экспортировать файл Gerber." -#: FlatCAMApp.py:10763 +#: FlatCAMApp.py:11142 msgid "DXF file exported to" msgstr "Файл DXF экспортируется в" -#: FlatCAMApp.py:10769 +#: FlatCAMApp.py:11148 msgid "Exporting DXF" msgstr "Экспорт DXF" -#: FlatCAMApp.py:10774 FlatCAMApp.py:10781 +#: FlatCAMApp.py:11153 FlatCAMApp.py:11160 msgid "Could not export DXF file." msgstr "Не удалось экспортировать файл DXF." -#: FlatCAMApp.py:10804 FlatCAMApp.py:10847 flatcamTools/ToolImage.py:278 +#: FlatCAMApp.py:11183 FlatCAMApp.py:11225 flatcamTools/ToolImage.py:277 msgid "" "Not supported type is picked as parameter. Only Geometry and Gerber are " "supported" @@ -1296,80 +1263,80 @@ msgstr "" "В качестве параметра выбран не поддерживаемый тип. Поддерживаются только " "Geometry и Gerber" -#: FlatCAMApp.py:10814 +#: FlatCAMApp.py:11193 msgid "Importing SVG" msgstr "Импортирование SVG" -#: FlatCAMApp.py:10825 FlatCAMApp.py:10867 FlatCAMApp.py:10926 -#: FlatCAMApp.py:10993 FlatCAMApp.py:11056 FlatCAMApp.py:11123 -#: FlatCAMApp.py:11161 flatcamTools/ToolImage.py:298 +#: FlatCAMApp.py:11204 FlatCAMApp.py:11244 FlatCAMApp.py:11302 +#: FlatCAMApp.py:11367 FlatCAMApp.py:11431 FlatCAMApp.py:11496 +#: FlatCAMApp.py:11533 flatcamTools/ToolImage.py:297 #: flatcamTools/ToolPDF.py:225 msgid "Opened" msgstr "Открыт" -#: FlatCAMApp.py:10856 +#: FlatCAMApp.py:11234 msgid "Importing DXF" msgstr "Импорт DXF" -#: FlatCAMApp.py:10892 FlatCAMApp.py:11082 +#: FlatCAMApp.py:11268 FlatCAMApp.py:11455 msgid "Failed to open file" msgstr "Не удалось открыть файл" -#: FlatCAMApp.py:10895 FlatCAMApp.py:11085 +#: FlatCAMApp.py:11271 FlatCAMApp.py:11458 msgid "Failed to parse file" msgstr "Не удаётся прочитать файл" -#: FlatCAMApp.py:10907 +#: FlatCAMApp.py:11283 msgid "Object is not Gerber file or empty. Aborting object creation." msgstr "" "Объект не является файлом Gerber или пуст. Прерывание создания объекта." -#: FlatCAMApp.py:10912 +#: FlatCAMApp.py:11288 msgid "Opening Gerber" msgstr "Открытие Gerber" -#: FlatCAMApp.py:10919 +#: FlatCAMApp.py:11295 msgid " Open Gerber failed. Probable not a Gerber file." msgstr " Открыть Gerber не удалось. Вероятно это не Gerber файл." -#: FlatCAMApp.py:10951 flatcamTools/ToolPcbWizard.py:427 +#: FlatCAMApp.py:11326 flatcamTools/ToolPcbWizard.py:425 msgid "This is not Excellon file." msgstr "Это не Excellon файл." -#: FlatCAMApp.py:10955 +#: FlatCAMApp.py:11330 msgid "Cannot open file" msgstr "Не удается открыть файл" -#: FlatCAMApp.py:10975 flatcamTools/ToolPDF.py:275 -#: flatcamTools/ToolPcbWizard.py:451 +#: FlatCAMApp.py:11349 flatcamTools/ToolPDF.py:275 +#: flatcamTools/ToolPcbWizard.py:447 msgid "No geometry found in file" msgstr "Геометрия не найдена в файле" -#: FlatCAMApp.py:10978 +#: FlatCAMApp.py:11352 msgid "Opening Excellon." msgstr "Открытие Excellon." -#: FlatCAMApp.py:10985 +#: FlatCAMApp.py:11359 msgid "Open Excellon file failed. Probable not an Excellon file." msgstr "Не удалось открыть файл Excellon. Вероятно это не файл Excellon." -#: FlatCAMApp.py:11016 +#: FlatCAMApp.py:11391 msgid "Reading GCode file" msgstr "Чтение файла GCode" -#: FlatCAMApp.py:11023 +#: FlatCAMApp.py:11398 msgid "Failed to open" msgstr "Не удалось открыть" -#: FlatCAMApp.py:11031 +#: FlatCAMApp.py:11406 msgid "This is not GCODE" msgstr "Это не GCODE" -#: FlatCAMApp.py:11036 +#: FlatCAMApp.py:11411 msgid "Opening G-Code." msgstr "Открытие G-Code." -#: FlatCAMApp.py:11045 +#: FlatCAMApp.py:11420 msgid "" "Failed to create CNCJob Object. Probable not a GCode file. Try to load it " "from File menu.\n" @@ -1381,124 +1348,104 @@ msgstr "" " Попытка создать объект FlatCAM CNCJob из файла G-кода не удалась во время " "обработки" -#: FlatCAMApp.py:11104 +#: FlatCAMApp.py:11477 msgid "Object is not HPGL2 file or empty. Aborting object creation." msgstr "" "Объект не является файлом HPGL2 или пустым. Прерывание создания объекта." -#: FlatCAMApp.py:11109 +#: FlatCAMApp.py:11482 msgid "Opening HPGL2" msgstr "Открытие HPGL2" -#: FlatCAMApp.py:11116 +#: FlatCAMApp.py:11489 msgid " Open HPGL2 failed. Probable not a HPGL2 file." msgstr " Открыть HPGL2 не удалось. Вероятно, не файл HPGL2." -#: FlatCAMApp.py:11137 +#: FlatCAMApp.py:11509 msgid "Opening TCL Script..." msgstr "Открытие TCL-сценария..." -#: FlatCAMApp.py:11145 +#: FlatCAMApp.py:11517 msgid "TCL script file opened in Code Editor." msgstr "Файл сценария открыт в редакторе кода." -#: FlatCAMApp.py:11148 +#: FlatCAMApp.py:11520 msgid "Failed to open TCL Script." msgstr "Не удалось открыть TCL-сценарий." -#: FlatCAMApp.py:11176 +#: FlatCAMApp.py:11548 msgid "Opening FlatCAM Config file." msgstr "Открытие файла конфигурации." -#: FlatCAMApp.py:11204 +#: FlatCAMApp.py:11576 msgid "Failed to open config file" msgstr "Не удалось открыть файл конфигурации" -#: FlatCAMApp.py:11230 +#: FlatCAMApp.py:11604 msgid "Loading Project ... Please Wait ..." msgstr "Загрузка проекта ... Пожалуйста, подождите ..." -#: FlatCAMApp.py:11235 +#: FlatCAMApp.py:11609 msgid "Opening FlatCAM Project file." msgstr "Открытие файла проекта FlatCAM." -#: FlatCAMApp.py:11245 FlatCAMApp.py:11263 +#: FlatCAMApp.py:11619 FlatCAMApp.py:11637 msgid "Failed to open project file" msgstr "Не удалось открыть файл проекта" -#: FlatCAMApp.py:11300 +#: FlatCAMApp.py:11674 msgid "Loading Project ... restoring" msgstr "Загрузка проекта ... восстановление" -#: FlatCAMApp.py:11310 +#: FlatCAMApp.py:11684 msgid "Project loaded from" msgstr "Проект загружен из" -#: FlatCAMApp.py:11373 +#: FlatCAMApp.py:11753 msgid "Redrawing all objects" msgstr "Перерисовка всех объектов" -#: FlatCAMApp.py:11405 -msgid "Available commands:\n" -msgstr "Доступные команды:\n" - -#: FlatCAMApp.py:11407 -msgid "" -"\n" -"\n" -"Type help for usage.\n" -" Example: help open_gerber" -msgstr "" -"\n" -"\n" -"Для дополнительной информации ведите help <имя_команды> .\n" -"Пример: help open_gerber" - -#: FlatCAMApp.py:11557 -msgid "Shows list of commands." -msgstr "Показывает список команд." - -#: FlatCAMApp.py:11619 +#: FlatCAMApp.py:11842 msgid "Failed to load recent item list." msgstr "Не удалось загрузить список недавних файлов." -#: FlatCAMApp.py:11627 +#: FlatCAMApp.py:11849 msgid "Failed to parse recent item list." msgstr "Не удалось прочитать список недавних файлов." -#: FlatCAMApp.py:11638 +#: FlatCAMApp.py:11859 msgid "Failed to load recent projects item list." msgstr "Не удалось загрузить список элементов последних проектов." -#: FlatCAMApp.py:11646 +#: FlatCAMApp.py:11866 msgid "Failed to parse recent project item list." msgstr "Не удалось проанализировать список последних элементов проекта." -#: FlatCAMApp.py:11706 +#: FlatCAMApp.py:11927 msgid "Clear Recent projects" msgstr "Очистить недавние проекты" -#: FlatCAMApp.py:11730 +#: FlatCAMApp.py:11951 msgid "Clear Recent files" msgstr "Очистить список" -#: FlatCAMApp.py:11747 flatcamGUI/FlatCAMGUI.py:1276 +#: FlatCAMApp.py:11973 flatcamGUI/FlatCAMGUI.py:1348 msgid "Shortcut Key List" msgstr "Список комбинаций клавиш" -#: FlatCAMApp.py:11821 +#: FlatCAMApp.py:12047 msgid "Selected Tab - Choose an Item from Project Tab" msgstr "Вкладка \"Выбранное\" - выбранный элемент на вкладке \"Проект\"" -#: FlatCAMApp.py:11822 +#: FlatCAMApp.py:12048 msgid "Details" msgstr "Описание" -#: FlatCAMApp.py:11824 +#: FlatCAMApp.py:12050 msgid "The normal flow when working in FlatCAM is the following:" msgstr "Нормальный порядок при работе в FlatCAM выглядит следующим образом:" -#: FlatCAMApp.py:11825 +#: FlatCAMApp.py:12051 msgid "" "Load/Import a Gerber, Excellon, Gcode, DXF, Raster Image or SVG file into " "FlatCAM using either the toolbars, key shortcuts or even dragging and " @@ -1508,7 +1455,7 @@ msgstr "" "или SVG-файл в FlatCAM с помощью панели инструментов, сочетания клавиш или " "просто перетащив в окно программы." -#: FlatCAMApp.py:11828 +#: FlatCAMApp.py:12054 msgid "" "You can also load a FlatCAM project by double clicking on the project file, " "drag and drop of the file into the FLATCAM GUI or through the menu (or " @@ -1518,7 +1465,7 @@ msgstr "" "перетащив его в окно программы или с помощью действий меню (или панели " "инструментов), предлагаемых в приложении." -#: FlatCAMApp.py:11831 +#: FlatCAMApp.py:12057 msgid "" "Once an object is available in the Project Tab, by selecting it and then " "focusing on SELECTED TAB (more simpler is to double click the object name in " @@ -1530,7 +1477,7 @@ msgstr "" "объекта на вкладке \"Проект\", вкладка \"Выбранное\" будет обновлена в " "соответствии с видом объекта: Gerber, Excellon, Geometry или CNCJob." -#: FlatCAMApp.py:11835 +#: FlatCAMApp.py:12061 msgid "" "If the selection of the object is done on the canvas by single click " "instead, and the SELECTED TAB is in focus, again the object properties will " @@ -1543,13 +1490,13 @@ msgstr "" "вкладке \"Выбранное\". Кроме того, двойной щелчок по объекту на холсте " "откроет вкладку \"Выбранное\" и заполнит ее, даже если она была не в фокусе." -#: FlatCAMApp.py:11839 +#: FlatCAMApp.py:12065 msgid "" "You can change the parameters in this screen and the flow direction is like " "this:" msgstr "Вы можете изменить параметры на этом экране, и порядок будет таким:" -#: FlatCAMApp.py:11840 +#: FlatCAMApp.py:12066 msgid "" "Gerber/Excellon Object --> Change Parameter --> Generate Geometry --> " "Geometry Object --> Add tools (change param in Selected Tab) --> Generate " @@ -1563,7 +1510,7 @@ msgstr "" "необходимости, дополнительные команды в начало или конец GCode (опять же, " "во вкладке \"Выбранное\") -> Сохранить GCode (кнопка \"Сохранить CNC Code\")." -#: FlatCAMApp.py:11844 +#: FlatCAMApp.py:12070 msgid "" "A list of key shortcuts is available through an menu entry in Help --> " "Shortcuts List or through its own key shortcut: F3." @@ -1571,104 +1518,165 @@ msgstr "" "Список комбинаций клавиш доступен через пункт меню Помощь --> Список " "комбинаций клавиш или через клавишу: F3." -#: FlatCAMApp.py:11906 +#: FlatCAMApp.py:12134 msgid "Failed checking for latest version. Could not connect." msgstr "" "Не удалось проверить обновление программы. Отсутствует интернет подключение ." -#: FlatCAMApp.py:11914 +#: FlatCAMApp.py:12141 msgid "Could not parse information about latest version." msgstr "Не удается обработать информацию о последней версии." -#: FlatCAMApp.py:11925 +#: FlatCAMApp.py:12151 msgid "FlatCAM is up to date!" msgstr "FlatCAM в актуальном состоянии!" -#: FlatCAMApp.py:11930 +#: FlatCAMApp.py:12156 msgid "Newer Version Available" msgstr "Доступна новая версия" -#: FlatCAMApp.py:11931 -msgid "" -"There is a newer version of FlatCAM available for download:\n" -"\n" -msgstr "" -"Новая версия FlatCAM доступна для загрузки:\n" -"\n" +#: FlatCAMApp.py:12158 +msgid "There is a newer version of FlatCAM available for download:" +msgstr "Новая версия FlatCAM доступна для загрузки:" -#: FlatCAMApp.py:11933 +#: FlatCAMApp.py:12162 msgid "info" msgstr "инфо" -#: FlatCAMApp.py:12012 +#: FlatCAMApp.py:12190 +msgid "" +"OpenGL canvas initialization failed. HW or HW configuration not supported." +"Change the graphic engine to Legacy(2D) in Edit -> Preferences -> General " +"tab.\n" +"\n" +msgstr "" + +#: FlatCAMApp.py:12269 msgid "All plots disabled." msgstr "Все участки отключены." -#: FlatCAMApp.py:12019 +#: FlatCAMApp.py:12276 msgid "All non selected plots disabled." msgstr "Все не выбранные участки отключены." -#: FlatCAMApp.py:12026 +#: FlatCAMApp.py:12283 msgid "All plots enabled." msgstr "Все участки включены." -#: FlatCAMApp.py:12033 +#: FlatCAMApp.py:12289 msgid "Selected plots enabled..." msgstr "Выбранные участки включены..." -#: FlatCAMApp.py:12042 +#: FlatCAMApp.py:12297 msgid "Selected plots disabled..." msgstr "Выбранные участки отключены..." -#: FlatCAMApp.py:12061 +#: FlatCAMApp.py:12330 msgid "Enabling plots ..." msgstr "Включение участков ..." -#: FlatCAMApp.py:12101 +#: FlatCAMApp.py:12382 msgid "Disabling plots ..." msgstr "Отключение участков ..." -#: FlatCAMApp.py:12123 +#: FlatCAMApp.py:12405 msgid "Working ..." msgstr "Обработка…" -#: FlatCAMApp.py:12224 +#: FlatCAMApp.py:12460 flatcamGUI/FlatCAMGUI.py:688 +msgid "Red" +msgstr "Красный" + +#: FlatCAMApp.py:12462 flatcamGUI/FlatCAMGUI.py:691 +msgid "Blue" +msgstr "Синий" + +#: FlatCAMApp.py:12465 flatcamGUI/FlatCAMGUI.py:694 +msgid "Yellow" +msgstr "Жёлтый" + +#: FlatCAMApp.py:12467 flatcamGUI/FlatCAMGUI.py:697 +msgid "Green" +msgstr "Зелёный" + +#: FlatCAMApp.py:12469 flatcamGUI/FlatCAMGUI.py:700 +msgid "Purple" +msgstr "Фиолетовый" + +#: FlatCAMApp.py:12471 flatcamGUI/FlatCAMGUI.py:703 +msgid "Brown" +msgstr "Коричневый" + +#: FlatCAMApp.py:12473 FlatCAMApp.py:12529 flatcamGUI/FlatCAMGUI.py:706 +msgid "White" +msgstr "Белый" + +#: FlatCAMApp.py:12475 flatcamGUI/FlatCAMGUI.py:709 +#, fuzzy +msgid "Black" +msgstr "Чёрный" + +#: FlatCAMApp.py:12478 flatcamGUI/FlatCAMGUI.py:714 +msgid "Custom" +msgstr "Своё" + +#: FlatCAMApp.py:12488 flatcamGUI/FlatCAMGUI.py:722 +msgid "Default" +msgstr "По умолчанию" + +#: FlatCAMApp.py:12512 flatcamGUI/FlatCAMGUI.py:719 +msgid "Opacity" +msgstr "" + +#: FlatCAMApp.py:12514 +msgid "Set alpha level ..." +msgstr "" + +#: FlatCAMApp.py:12514 flatcamGUI/PreferencesUI.py:6900 +#: flatcamGUI/PreferencesUI.py:8230 flatcamGUI/PreferencesUI.py:8444 +#: flatcamTools/ToolExtractDrills.py:164 flatcamTools/ToolExtractDrills.py:285 +#: flatcamTools/ToolPunchGerber.py:192 flatcamTools/ToolPunchGerber.py:308 +#: flatcamTools/ToolTransform.py:358 +msgid "Value" +msgstr "Значение" + +#: FlatCAMApp.py:12590 msgid "Saving FlatCAM Project" msgstr "Сохранение проекта FlatCAM" -#: FlatCAMApp.py:12243 FlatCAMApp.py:12280 +#: FlatCAMApp.py:12611 FlatCAMApp.py:12647 msgid "Project saved to" msgstr "Проект сохранён в" -#: FlatCAMApp.py:12250 +#: FlatCAMApp.py:12618 msgid "The object is used by another application." msgstr "Объект используется другим приложением." -#: FlatCAMApp.py:12264 +#: FlatCAMApp.py:12632 msgid "Failed to verify project file" msgstr "Не удалось проверить файл проекта" -#: FlatCAMApp.py:12264 FlatCAMApp.py:12272 FlatCAMApp.py:12283 +#: FlatCAMApp.py:12632 FlatCAMApp.py:12640 FlatCAMApp.py:12650 msgid "Retry to save it." msgstr "Повторите попытку, чтобы сохранить его." -#: FlatCAMApp.py:12272 FlatCAMApp.py:12283 +#: FlatCAMApp.py:12640 FlatCAMApp.py:12650 msgid "Failed to parse saved project file" msgstr "Не удалось проанализировать сохраненный файл проекта" -#: FlatCAMApp.py:12398 +#: FlatCAMApp.py:13132 msgid "The user requested a graceful exit of the current task." msgstr "Пользователь запросил выход из текущего задания." -#: FlatCAMCommon.py:136 FlatCAMCommon.py:163 +#: FlatCAMCommon.py:137 FlatCAMCommon.py:164 msgid "Title" msgstr "Название" -#: FlatCAMCommon.py:137 FlatCAMCommon.py:167 +#: FlatCAMCommon.py:138 FlatCAMCommon.py:168 msgid "Web Link" msgstr "Ссылка" -#: FlatCAMCommon.py:141 +#: FlatCAMCommon.py:142 msgid "" "Index.\n" "The rows in gray color will populate the Bookmarks menu.\n" @@ -1678,7 +1686,7 @@ msgstr "" "Строки серого цвета будут заполнять меню закладок.\n" "Количество строк серого цвета задается в настройках." -#: FlatCAMCommon.py:145 +#: FlatCAMCommon.py:146 msgid "" "Description of the link that is set as an menu action.\n" "Try to keep it short because it is installed as a menu item." @@ -1686,95 +1694,87 @@ msgstr "" "Описание ссылки, заданной в качестве действия меню.\n" "Постарайтесь сделать его коротким, потому что он установлен как пункт меню." -#: FlatCAMCommon.py:148 +#: FlatCAMCommon.py:149 msgid "Web Link. E.g: https://your_website.org " msgstr "Ссылка на сайт. Например: https://your_website.org " -#: FlatCAMCommon.py:157 +#: FlatCAMCommon.py:158 msgid "New Bookmark" msgstr "Новая закладка" -#: FlatCAMCommon.py:176 +#: FlatCAMCommon.py:177 msgid "Add Entry" msgstr "Добавить запись" -#: FlatCAMCommon.py:177 +#: FlatCAMCommon.py:178 msgid "Remove Entry" msgstr "Удалить запись" -#: FlatCAMCommon.py:178 +#: FlatCAMCommon.py:179 msgid "Export List" msgstr "Экспортировать список" -#: FlatCAMCommon.py:179 +#: FlatCAMCommon.py:180 msgid "Import List" msgstr "Импортировать список" -#: FlatCAMCommon.py:260 +#: FlatCAMCommon.py:261 msgid "Title entry is empty." msgstr "Поле заголовка пусто." -#: FlatCAMCommon.py:269 +#: FlatCAMCommon.py:270 msgid "Web link entry is empty." msgstr "Поле веб-ссылки пусто." -#: FlatCAMCommon.py:277 +#: FlatCAMCommon.py:278 msgid "Either the Title or the Weblink already in the table." msgstr "Либо название, либо ссылка уже в таблице." -#: FlatCAMCommon.py:297 +#: FlatCAMCommon.py:298 msgid "Bookmark added." msgstr "Закладка добавлена." -#: FlatCAMCommon.py:314 +#: FlatCAMCommon.py:315 msgid "This bookmark can not be removed" msgstr "Эта закладка не может быть удалена" -#: FlatCAMCommon.py:345 +#: FlatCAMCommon.py:346 msgid "Bookmark removed." msgstr "Закладка удалена." -#: FlatCAMCommon.py:360 +#: FlatCAMCommon.py:361 msgid "Export FlatCAM Bookmarks" msgstr "Экспорт закладок FlatCAM" -#: FlatCAMCommon.py:363 flatcamGUI/FlatCAMGUI.py:470 +#: FlatCAMCommon.py:364 flatcamGUI/FlatCAMGUI.py:509 msgid "Bookmarks" msgstr "Закладки" -#: FlatCAMCommon.py:370 -msgid "FlatCAM bookmarks export cancelled." -msgstr "Экспорт закладок FlatCAM отменён." - -#: FlatCAMCommon.py:389 FlatCAMCommon.py:419 +#: FlatCAMCommon.py:390 FlatCAMCommon.py:420 msgid "Could not load bookmarks file." msgstr "Не удалось загрузить файл закладок." -#: FlatCAMCommon.py:399 +#: FlatCAMCommon.py:400 msgid "Failed to write bookmarks to file." msgstr "Не удалось создать файл закладок." -#: FlatCAMCommon.py:401 +#: FlatCAMCommon.py:402 msgid "Exported bookmarks to" msgstr "Экспорт закладок в" -#: FlatCAMCommon.py:407 +#: FlatCAMCommon.py:408 msgid "Import FlatCAM Bookmarks" msgstr "Импорт закладок FlatCAM" -#: FlatCAMCommon.py:412 -msgid "FlatCAM bookmarks import cancelled." -msgstr "Импорт закладок FlatCAM отменен." - -#: FlatCAMCommon.py:426 +#: FlatCAMCommon.py:427 msgid "Imported Bookmarks from" msgstr "Закладки импортированы из" -#: FlatCAMCommon.py:529 +#: FlatCAMCommon.py:530 msgid "Add Geometry Tool in DB" msgstr "Добавить инструмент геометрии в БД" -#: FlatCAMCommon.py:531 +#: FlatCAMCommon.py:532 FlatCAMCommon.py:2087 msgid "" "Add a new tool in the Tools Database.\n" "It will be used in the Geometry UI.\n" @@ -1784,37 +1784,37 @@ msgstr "" "Он будет использоваться в пользовательском интерфейсе Geometry.\n" "Вы можете отредактировать его после добавления." -#: FlatCAMCommon.py:545 +#: FlatCAMCommon.py:546 FlatCAMCommon.py:2101 msgid "Delete Tool from DB" msgstr "Удалить инструмент из БД" -#: FlatCAMCommon.py:547 +#: FlatCAMCommon.py:548 FlatCAMCommon.py:2103 msgid "Remove a selection of tools in the Tools Database." msgstr "Удаляет выбранные инструменты из базы данных." -#: FlatCAMCommon.py:551 +#: FlatCAMCommon.py:552 FlatCAMCommon.py:2107 msgid "Export DB" msgstr "Экспорт БД" -#: FlatCAMCommon.py:553 +#: FlatCAMCommon.py:554 FlatCAMCommon.py:2109 msgid "Save the Tools Database to a custom text file." msgstr "Сохраняет базу данных инструментов в пользовательский текстовый файл." -#: FlatCAMCommon.py:557 +#: FlatCAMCommon.py:558 FlatCAMCommon.py:2113 msgid "Import DB" msgstr "Импорт БД" -#: FlatCAMCommon.py:559 +#: FlatCAMCommon.py:560 FlatCAMCommon.py:2115 msgid "Load the Tools Database information's from a custom text file." msgstr "" "Загрузка информации базы данных инструментов из пользовательского текстового " "файла." -#: FlatCAMCommon.py:563 +#: FlatCAMCommon.py:564 FlatCAMCommon.py:2119 msgid "Add Tool from Tools DB" msgstr "Добавить инструмент из БД" -#: FlatCAMCommon.py:565 +#: FlatCAMCommon.py:566 FlatCAMCommon.py:2121 msgid "" "Add a new tool in the Tools Table of the\n" "active Geometry object after selecting a tool\n" @@ -1824,135 +1824,144 @@ msgstr "" "активной геометрии после выбора инструмента\n" "в базе данных." -#: FlatCAMCommon.py:601 FlatCAMCommon.py:1276 +#: FlatCAMCommon.py:602 FlatCAMCommon.py:1277 FlatCAMCommon.py:1531 msgid "Tool Name" msgstr "Название инструмента" -#: FlatCAMCommon.py:602 FlatCAMCommon.py:1278 -#: flatcamEditors/FlatCAMExcEditor.py:1602 flatcamGUI/ObjectUI.py:1295 -#: flatcamTools/ToolNonCopperClear.py:271 flatcamTools/ToolPaint.py:176 +#: FlatCAMCommon.py:603 FlatCAMCommon.py:1279 FlatCAMCommon.py:1544 +#: flatcamEditors/FlatCAMExcEditor.py:1605 flatcamGUI/ObjectUI.py:1343 +#: flatcamGUI/ObjectUI.py:1581 flatcamGUI/PreferencesUI.py:5971 +#: flatcamTools/ToolNCC.py:278 flatcamTools/ToolNCC.py:287 +#: flatcamTools/ToolPaint.py:261 msgid "Tool Dia" msgstr "Диаметр инструмента" -#: FlatCAMCommon.py:603 FlatCAMCommon.py:1280 flatcamGUI/ObjectUI.py:1278 +#: FlatCAMCommon.py:604 FlatCAMCommon.py:1281 FlatCAMCommon.py:1725 +#: flatcamGUI/ObjectUI.py:1556 msgid "Tool Offset" msgstr "Смещение" -#: FlatCAMCommon.py:604 FlatCAMCommon.py:1282 +#: FlatCAMCommon.py:605 FlatCAMCommon.py:1283 FlatCAMCommon.py:1742 msgid "Custom Offset" msgstr "Пользовательское смещение" -#: FlatCAMCommon.py:605 FlatCAMCommon.py:1284 flatcamGUI/ObjectUI.py:304 -#: flatcamGUI/PreferencesUI.py:2217 flatcamGUI/PreferencesUI.py:5036 -#: flatcamTools/ToolNonCopperClear.py:213 +#: FlatCAMCommon.py:606 FlatCAMCommon.py:1285 FlatCAMCommon.py:1709 +#: flatcamGUI/ObjectUI.py:308 flatcamGUI/PreferencesUI.py:2397 +#: flatcamGUI/PreferencesUI.py:5332 flatcamGUI/PreferencesUI.py:5901 +#: flatcamGUI/PreferencesUI.py:5911 flatcamTools/ToolNCC.py:213 +#: flatcamTools/ToolNCC.py:227 flatcamTools/ToolPaint.py:196 msgid "Tool Type" msgstr "Тип инструмента" -#: FlatCAMCommon.py:606 FlatCAMCommon.py:1286 +#: FlatCAMCommon.py:607 FlatCAMCommon.py:1287 FlatCAMCommon.py:1557 msgid "Tool Shape" msgstr "Форма инструмента" -#: FlatCAMCommon.py:607 FlatCAMCommon.py:1289 flatcamGUI/ObjectUI.py:345 -#: flatcamGUI/ObjectUI.py:820 flatcamGUI/ObjectUI.py:1405 -#: flatcamGUI/ObjectUI.py:1926 flatcamGUI/PreferencesUI.py:2257 -#: flatcamGUI/PreferencesUI.py:3082 flatcamGUI/PreferencesUI.py:3961 -#: flatcamGUI/PreferencesUI.py:5081 flatcamGUI/PreferencesUI.py:5327 -#: flatcamGUI/PreferencesUI.py:6145 flatcamTools/ToolCalculators.py:114 -#: flatcamTools/ToolCutOut.py:132 flatcamTools/ToolNonCopperClear.py:254 +#: FlatCAMCommon.py:608 FlatCAMCommon.py:1290 FlatCAMCommon.py:1573 +#: flatcamGUI/ObjectUI.py:349 flatcamGUI/ObjectUI.py:899 +#: flatcamGUI/ObjectUI.py:1701 flatcamGUI/ObjectUI.py:2254 +#: flatcamGUI/PreferencesUI.py:2437 flatcamGUI/PreferencesUI.py:3311 +#: flatcamGUI/PreferencesUI.py:4241 flatcamGUI/PreferencesUI.py:5377 +#: flatcamGUI/PreferencesUI.py:5666 flatcamGUI/PreferencesUI.py:5944 +#: flatcamGUI/PreferencesUI.py:5952 flatcamGUI/PreferencesUI.py:6635 +#: flatcamTools/ToolCalculators.py:114 flatcamTools/ToolCutOut.py:139 +#: flatcamTools/ToolNCC.py:260 flatcamTools/ToolNCC.py:268 +#: flatcamTools/ToolPaint.py:243 msgid "Cut Z" msgstr "Глубина резания" -#: FlatCAMCommon.py:608 FlatCAMCommon.py:1291 +#: FlatCAMCommon.py:609 FlatCAMCommon.py:1292 FlatCAMCommon.py:1587 msgid "MultiDepth" msgstr "Мультипроход" -#: FlatCAMCommon.py:609 FlatCAMCommon.py:1293 +#: FlatCAMCommon.py:610 FlatCAMCommon.py:1294 FlatCAMCommon.py:1600 msgid "DPP" msgstr "DPP" -#: FlatCAMCommon.py:610 FlatCAMCommon.py:1295 +#: FlatCAMCommon.py:611 FlatCAMCommon.py:1296 FlatCAMCommon.py:1756 msgid "V-Dia" msgstr "V-Dia" -#: FlatCAMCommon.py:611 FlatCAMCommon.py:1297 +#: FlatCAMCommon.py:612 FlatCAMCommon.py:1298 FlatCAMCommon.py:1770 msgid "V-Angle" msgstr "Угол V-образного инструмента" -#: FlatCAMCommon.py:612 FlatCAMCommon.py:1299 flatcamGUI/ObjectUI.py:839 -#: flatcamGUI/ObjectUI.py:1452 flatcamGUI/PreferencesUI.py:3100 -#: flatcamGUI/PreferencesUI.py:4014 flatcamGUI/PreferencesUI.py:7535 +#: FlatCAMCommon.py:613 FlatCAMCommon.py:1300 FlatCAMCommon.py:1614 +#: FlatCAMObj.py:3661 FlatCAMObj.py:5486 flatcamGUI/ObjectUI.py:945 +#: flatcamGUI/ObjectUI.py:1748 flatcamGUI/PreferencesUI.py:3352 +#: flatcamGUI/PreferencesUI.py:4294 flatcamGUI/PreferencesUI.py:8041 #: flatcamTools/ToolCalibration.py:74 msgid "Travel Z" msgstr "Отвод по Z" -#: FlatCAMCommon.py:613 FlatCAMCommon.py:1301 +#: FlatCAMCommon.py:614 FlatCAMCommon.py:1302 msgid "FR" msgstr "FR" -#: FlatCAMCommon.py:614 FlatCAMCommon.py:1303 +#: FlatCAMCommon.py:615 FlatCAMCommon.py:1304 msgid "FR Z" msgstr "FR Z" -#: FlatCAMCommon.py:615 FlatCAMCommon.py:1305 +#: FlatCAMCommon.py:616 FlatCAMCommon.py:1306 FlatCAMCommon.py:1784 msgid "FR Rapids" msgstr "Скорость подачи" -#: FlatCAMCommon.py:616 FlatCAMCommon.py:1307 flatcamGUI/PreferencesUI.py:3173 +#: FlatCAMCommon.py:617 FlatCAMCommon.py:1308 FlatCAMCommon.py:1657 +#: flatcamGUI/PreferencesUI.py:3440 msgid "Spindle Speed" msgstr "Скорость вращения шпинделя" -#: FlatCAMCommon.py:617 FlatCAMCommon.py:1309 flatcamGUI/ObjectUI.py:963 -#: flatcamGUI/ObjectUI.py:1619 +#: FlatCAMCommon.py:618 FlatCAMCommon.py:1310 FlatCAMCommon.py:1672 +#: flatcamGUI/ObjectUI.py:1063 flatcamGUI/ObjectUI.py:1855 msgid "Dwell" msgstr "Задержка" -#: FlatCAMCommon.py:618 FlatCAMCommon.py:1311 +#: FlatCAMCommon.py:619 FlatCAMCommon.py:1312 FlatCAMCommon.py:1685 msgid "Dwelltime" msgstr "Задержка" -#: FlatCAMCommon.py:619 FlatCAMCommon.py:1313 flatcamGUI/ObjectUI.py:982 -#: flatcamGUI/ObjectUI.py:1640 flatcamGUI/PreferencesUI.py:3204 -#: flatcamGUI/PreferencesUI.py:4155 flatcamGUI/PreferencesUI.py:6642 -#: flatcamTools/ToolSolderPaste.py:334 +#: FlatCAMCommon.py:620 FlatCAMCommon.py:1314 flatcamGUI/ObjectUI.py:2012 +#: flatcamGUI/PreferencesUI.py:3475 flatcamGUI/PreferencesUI.py:4447 +#: flatcamGUI/PreferencesUI.py:7148 flatcamTools/ToolSolderPaste.py:336 msgid "Preprocessor" msgstr "Постпроцессор" -#: FlatCAMCommon.py:620 FlatCAMCommon.py:1315 +#: FlatCAMCommon.py:621 FlatCAMCommon.py:1316 FlatCAMCommon.py:1800 msgid "ExtraCut" msgstr "Дополнительный вырез" -#: FlatCAMCommon.py:621 FlatCAMCommon.py:1317 +#: FlatCAMCommon.py:622 FlatCAMCommon.py:1318 FlatCAMCommon.py:1815 msgid "E-Cut Length" msgstr "Длина дополнительного разреза" -#: FlatCAMCommon.py:622 FlatCAMCommon.py:1319 +#: FlatCAMCommon.py:623 FlatCAMCommon.py:1320 msgid "Toolchange" msgstr "Смена инструментов" -#: FlatCAMCommon.py:623 FlatCAMCommon.py:1321 +#: FlatCAMCommon.py:624 FlatCAMCommon.py:1322 msgid "Toolchange XY" msgstr "Смена инструмента XY" -#: FlatCAMCommon.py:624 FlatCAMCommon.py:1323 flatcamGUI/PreferencesUI.py:3124 -#: flatcamGUI/PreferencesUI.py:4044 flatcamGUI/PreferencesUI.py:7572 +#: FlatCAMCommon.py:625 FlatCAMCommon.py:1324 flatcamGUI/PreferencesUI.py:3378 +#: flatcamGUI/PreferencesUI.py:4324 flatcamGUI/PreferencesUI.py:8078 #: flatcamTools/ToolCalibration.py:111 msgid "Toolchange Z" msgstr "Смена инструмента Z" -#: FlatCAMCommon.py:625 FlatCAMCommon.py:1325 flatcamGUI/ObjectUI.py:886 -#: flatcamGUI/PreferencesUI.py:3309 flatcamGUI/PreferencesUI.py:4200 +#: FlatCAMCommon.py:626 FlatCAMCommon.py:1326 flatcamGUI/ObjectUI.py:1192 +#: flatcamGUI/PreferencesUI.py:3586 flatcamGUI/PreferencesUI.py:4493 msgid "Start Z" msgstr "Z начала" -#: FlatCAMCommon.py:626 FlatCAMCommon.py:1328 +#: FlatCAMCommon.py:627 FlatCAMCommon.py:1329 msgid "End Z" msgstr "Z окончания" -#: FlatCAMCommon.py:630 +#: FlatCAMCommon.py:631 msgid "Tool Index." msgstr "Порядок инструмента." -#: FlatCAMCommon.py:632 +#: FlatCAMCommon.py:633 FlatCAMCommon.py:1533 msgid "" "Tool name.\n" "This is not used in the app, it's function\n" @@ -1962,11 +1971,11 @@ msgstr "" "Это не используется в приложении, это функция\n" "служит в качестве примечания для пользователя." -#: FlatCAMCommon.py:636 +#: FlatCAMCommon.py:637 FlatCAMCommon.py:1546 msgid "Tool Diameter." msgstr "Диаметр инструмента." -#: FlatCAMCommon.py:638 +#: FlatCAMCommon.py:639 FlatCAMCommon.py:1727 msgid "" "Tool Offset.\n" "Can be of a few types:\n" @@ -1981,7 +1990,7 @@ msgstr "" "Внитреннее = смещение внутрь на половину диаметра инструмента\n" "Внешнее = смещение наружу на половину диаметра инструмента" -#: FlatCAMCommon.py:645 +#: FlatCAMCommon.py:646 FlatCAMCommon.py:1744 msgid "" "Custom Offset.\n" "A value to be used as offset from the current path." @@ -1989,7 +1998,7 @@ msgstr "" "Пользовательское смещение.\n" "Значение, которое будет использоваться в качестве смещения от текущего пути." -#: FlatCAMCommon.py:648 +#: FlatCAMCommon.py:649 FlatCAMCommon.py:1711 msgid "" "Tool Type.\n" "Can be:\n" @@ -2003,7 +2012,7 @@ msgstr "" "Грубый = грубая резка, низкая скорость подачи, несколько проходов\n" "Финишный = финишная резка, высокая скорость подачи" -#: FlatCAMCommon.py:654 +#: FlatCAMCommon.py:655 FlatCAMCommon.py:1559 msgid "" "Tool Shape. \n" "Can be:\n" @@ -2017,7 +2026,7 @@ msgstr "" "B = шаровой наконечник фрезерного инструмента\n" "V = v-образный фрезерный инструмент" -#: FlatCAMCommon.py:660 +#: FlatCAMCommon.py:661 FlatCAMCommon.py:1575 msgid "" "Cutting Depth.\n" "The depth at which to cut into material." @@ -2025,7 +2034,7 @@ msgstr "" "Глубина резания.\n" "Глубина, на которой можно разрезать материал." -#: FlatCAMCommon.py:663 +#: FlatCAMCommon.py:664 FlatCAMCommon.py:1589 msgid "" "Multi Depth.\n" "Selecting this will allow cutting in multiple passes,\n" @@ -2035,7 +2044,7 @@ msgstr "" "Выбор этого параметра позволит выполнять обрезку в несколько проходов,\n" "при каждом проходе добавляется глубина параметра DPP." -#: FlatCAMCommon.py:667 +#: FlatCAMCommon.py:668 FlatCAMCommon.py:1602 msgid "" "DPP. Depth per Pass.\n" "The value used to cut into material on each pass." @@ -2043,7 +2052,7 @@ msgstr "" "DPP. Глубина за проход.\n" "Значение, используемое для резки материала при каждом проходе." -#: FlatCAMCommon.py:670 +#: FlatCAMCommon.py:671 FlatCAMCommon.py:1758 msgid "" "V-Dia.\n" "Diameter of the tip for V-Shape Tools." @@ -2051,7 +2060,7 @@ msgstr "" "V-Dia.\n" "Диаметр наконечника для инструментов V-образной формы." -#: FlatCAMCommon.py:673 +#: FlatCAMCommon.py:674 FlatCAMCommon.py:1772 msgid "" "V-Agle.\n" "Angle at the tip for the V-Shape Tools." @@ -2059,7 +2068,7 @@ msgstr "" "V-Agle.\n" "Угол накончика для инструментов V-образной формы." -#: FlatCAMCommon.py:676 +#: FlatCAMCommon.py:677 FlatCAMCommon.py:1616 msgid "" "Clearance Height.\n" "Height at which the milling bit will travel between cuts,\n" @@ -2069,7 +2078,7 @@ msgstr "" "Высота, на которой фреза будет перемещаться между срезами,\n" "над поверхностью материала, избегая всех приспособлений." -#: FlatCAMCommon.py:680 +#: FlatCAMCommon.py:681 msgid "" "FR. Feedrate\n" "The speed on XY plane used while cutting into material." @@ -2077,7 +2086,7 @@ msgstr "" "FR. Скорость подачи\n" "Скорость на плоскости XY используется при резке материала." -#: FlatCAMCommon.py:683 +#: FlatCAMCommon.py:684 msgid "" "FR Z. Feedrate Z\n" "The speed on Z plane." @@ -2085,7 +2094,7 @@ msgstr "" "FR Z. Скорость подачи Z\n" "Скорость на плоскости Z." -#: FlatCAMCommon.py:686 +#: FlatCAMCommon.py:687 FlatCAMCommon.py:1786 msgid "" "FR Rapids. Feedrate Rapids\n" "Speed used while moving as fast as possible.\n" @@ -2098,7 +2107,7 @@ msgstr "" "использовать\n" "команда G0 g-кода. В основном 3D принтеры." -#: FlatCAMCommon.py:691 +#: FlatCAMCommon.py:692 FlatCAMCommon.py:1659 msgid "" "Spindle Speed.\n" "If it's left empty it will not be used.\n" @@ -2108,7 +2117,7 @@ msgstr "" "Если оставить его пустым, он не будет использоваться.\n" "Скорость вращения шпинделя в об/мин." -#: FlatCAMCommon.py:695 +#: FlatCAMCommon.py:696 FlatCAMCommon.py:1674 msgid "" "Dwell.\n" "Check this if a delay is needed to allow\n" @@ -2118,7 +2127,7 @@ msgstr "" "Отметьте это, если необходима задержка, для того чтобы разрешить\n" "шпинделю достичь его установленной скорости." -#: FlatCAMCommon.py:699 +#: FlatCAMCommon.py:700 FlatCAMCommon.py:1687 msgid "" "Dwell Time.\n" "A delay used to allow the motor spindle reach it's set speed." @@ -2126,7 +2135,7 @@ msgstr "" "Время задержки.\n" "Задержка, позволяющая шпинделю достигать заданной скорости." -#: FlatCAMCommon.py:702 +#: FlatCAMCommon.py:703 msgid "" "Preprocessor.\n" "A selection of files that will alter the generated G-code\n" @@ -2136,7 +2145,7 @@ msgstr "" "Выбор файлов, которые изменят полученный G-code\n" "чтобы соответствовать в ряде случаев использования." -#: FlatCAMCommon.py:706 +#: FlatCAMCommon.py:707 FlatCAMCommon.py:1802 msgid "" "Extra Cut.\n" "If checked, after a isolation is finished an extra cut\n" @@ -2151,7 +2160,7 @@ msgstr "" "так чтобы эта точка была покрыта этим дополнительным разрезом, для\n" "обеспечения полной изоляции." -#: FlatCAMCommon.py:712 +#: FlatCAMCommon.py:713 FlatCAMCommon.py:1817 msgid "" "Extra Cut length.\n" "If checked, after a isolation is finished an extra cut\n" @@ -2167,7 +2176,7 @@ msgstr "" "обеспечить полную изоляцию. Это длина\n" "дополнительный разрез." -#: FlatCAMCommon.py:719 +#: FlatCAMCommon.py:720 msgid "" "Toolchange.\n" "It will create a toolchange event.\n" @@ -2179,7 +2188,7 @@ msgstr "" "Вид смены инструмента определяется\n" "в файле препроцессора." -#: FlatCAMCommon.py:724 +#: FlatCAMCommon.py:725 msgid "" "Toolchange XY.\n" "A set of coordinates in the format (x, y).\n" @@ -2191,7 +2200,7 @@ msgstr "" "Определит положение точки в картезианском поле.\n" "где происходит смена инструмента." -#: FlatCAMCommon.py:729 +#: FlatCAMCommon.py:730 msgid "" "Toolchange Z.\n" "The position on Z plane where the tool change event take place." @@ -2199,7 +2208,7 @@ msgstr "" "Z смены инструмента .\n" "Положение на плоскости Z, в котором происходит событие смены инструмента." -#: FlatCAMCommon.py:732 +#: FlatCAMCommon.py:733 msgid "" "Start Z.\n" "If it's left empty it will not be used.\n" @@ -2210,7 +2219,7 @@ msgstr "" "Положение на плоскости Z для перемещения сразу после начала выполнения " "задания." -#: FlatCAMCommon.py:736 +#: FlatCAMCommon.py:737 msgid "" "End Z.\n" "A position on Z plane to move immediately after job stop." @@ -2218,351 +2227,738 @@ msgstr "" "Z Конечная \n" "Положение на плоскости Z для перемещения сразу после остановки задания." -#: FlatCAMCommon.py:748 FlatCAMCommon.py:1125 FlatCAMCommon.py:1159 +#: FlatCAMCommon.py:749 FlatCAMCommon.py:1126 FlatCAMCommon.py:1160 +#: FlatCAMCommon.py:2335 FlatCAMCommon.py:2556 FlatCAMCommon.py:2590 msgid "Could not load Tools DB file." msgstr "Не удалось загрузить файл БД." -#: FlatCAMCommon.py:756 FlatCAMCommon.py:1167 +#: FlatCAMCommon.py:757 FlatCAMCommon.py:1168 FlatCAMCommon.py:2343 +#: FlatCAMCommon.py:2598 msgid "Failed to parse Tools DB file." msgstr "Не удалось прочитать файл БД." -#: FlatCAMCommon.py:759 FlatCAMCommon.py:1170 +#: FlatCAMCommon.py:760 FlatCAMCommon.py:1171 FlatCAMCommon.py:2346 +#: FlatCAMCommon.py:2601 msgid "Loaded FlatCAM Tools DB from" msgstr "Загрузка FlatCAM БД из" -#: FlatCAMCommon.py:765 +#: FlatCAMCommon.py:766 FlatCAMCommon.py:2260 msgid "Add to DB" msgstr "Добавить в БД" -#: FlatCAMCommon.py:767 +#: FlatCAMCommon.py:768 FlatCAMCommon.py:2263 msgid "Copy from DB" msgstr "Копировать из БД" -#: FlatCAMCommon.py:769 +#: FlatCAMCommon.py:770 FlatCAMCommon.py:2266 msgid "Delete from DB" msgstr "Удалить из БД" -#: FlatCAMCommon.py:1046 +#: FlatCAMCommon.py:1047 FlatCAMCommon.py:2473 msgid "Tool added to DB." msgstr "Инструмент добавлен в БД." -#: FlatCAMCommon.py:1067 +#: FlatCAMCommon.py:1068 FlatCAMCommon.py:2497 msgid "Tool copied from Tools DB." msgstr "Инструмент скопирован из БД." -#: FlatCAMCommon.py:1085 +#: FlatCAMCommon.py:1086 FlatCAMCommon.py:2516 msgid "Tool removed from Tools DB." msgstr "Инструмент удален из БД." -#: FlatCAMCommon.py:1096 +#: FlatCAMCommon.py:1097 FlatCAMCommon.py:2527 msgid "Export Tools Database" msgstr "Экспорт БД" -#: FlatCAMCommon.py:1099 +#: FlatCAMCommon.py:1100 FlatCAMCommon.py:2530 msgid "Tools_Database" msgstr "Tools_Database" -#: FlatCAMCommon.py:1106 -msgid "FlatCAM Tools DB export cancelled." -msgstr "Экспорт FlatCAM БД отменён." - -#: FlatCAMCommon.py:1136 FlatCAMCommon.py:1139 FlatCAMCommon.py:1191 +#: FlatCAMCommon.py:1137 FlatCAMCommon.py:1140 FlatCAMCommon.py:1192 +#: FlatCAMCommon.py:2567 FlatCAMCommon.py:2570 FlatCAMCommon.py:2622 msgid "Failed to write Tools DB to file." msgstr "Не удалось записать БД в файл." -#: FlatCAMCommon.py:1142 +#: FlatCAMCommon.py:1143 FlatCAMCommon.py:2573 msgid "Exported Tools DB to" msgstr "Экспорт БД в" -#: FlatCAMCommon.py:1149 +#: FlatCAMCommon.py:1150 FlatCAMCommon.py:2580 msgid "Import FlatCAM Tools DB" msgstr "Импорт FlatCAM БД" -#: FlatCAMCommon.py:1152 -msgid "FlatCAM Tools DB import cancelled." -msgstr "Импорт FlatCAM БД отменен." - -#: FlatCAMCommon.py:1195 +#: FlatCAMCommon.py:1196 FlatCAMCommon.py:2626 msgid "Saved Tools DB." msgstr "Сохраненные БД." -#: FlatCAMCommon.py:1342 +#: FlatCAMCommon.py:1343 FlatCAMCommon.py:2807 msgid "No Tool/row selected in the Tools Database table" msgstr "В таблице БД не выбрано ни одного инструмента/строки" -#: FlatCAMCommon.py:1360 +#: FlatCAMCommon.py:1361 FlatCAMCommon.py:2824 msgid "Cancelled adding tool from DB." msgstr "Отмена добавление инструмента из БД." -#: FlatCAMObj.py:257 +#: FlatCAMCommon.py:1462 +#, fuzzy +#| msgid "GCode Parameters" +msgid "Basic Geo Parameters" +msgstr "Параметры GCode" + +#: FlatCAMCommon.py:1474 +#, fuzzy +#| msgid "Advanced Param." +msgid "Advanced Geo Parameters" +msgstr "Дополнительные настройки" + +#: FlatCAMCommon.py:1486 +msgid "NCC Parameters" +msgstr "Параметры" + +#: FlatCAMCommon.py:1498 +msgid "Paint Parameters" +msgstr "Параметры рисования" + +#: FlatCAMCommon.py:1629 flatcamGUI/ObjectUI.py:966 flatcamGUI/ObjectUI.py:1767 +#: flatcamGUI/PreferencesUI.py:4378 flatcamGUI/PreferencesUI.py:7059 +#: flatcamTools/ToolSolderPaste.py:254 +msgid "Feedrate X-Y" +msgstr "Скорость подачи X-Y" + +#: FlatCAMCommon.py:1631 +#, fuzzy +#| msgid "" +#| "FR. Feedrate\n" +#| "The speed on XY plane used while cutting into material." +msgid "" +"Feedrate X-Y. Feedrate\n" +"The speed on XY plane used while cutting into material." +msgstr "" +"FR. Скорость подачи\n" +"Скорость на плоскости XY используется при резке материала." + +#: FlatCAMCommon.py:1643 flatcamGUI/ObjectUI.py:981 flatcamGUI/ObjectUI.py:1781 +#: flatcamGUI/PreferencesUI.py:3425 flatcamGUI/PreferencesUI.py:4393 +#: flatcamGUI/PreferencesUI.py:7072 flatcamTools/ToolSolderPaste.py:266 +msgid "Feedrate Z" +msgstr "Скорость подачи Z" + +#: FlatCAMCommon.py:1645 +#, fuzzy +#| msgid "" +#| "FR Z. Feedrate Z\n" +#| "The speed on Z plane." +msgid "" +"Feedrate Z\n" +"The speed on Z plane." +msgstr "" +"FR Z. Скорость подачи Z\n" +"Скорость на плоскости Z." + +#: FlatCAMCommon.py:1843 flatcamGUI/ObjectUI.py:844 +#: flatcamGUI/PreferencesUI.py:3264 flatcamTools/ToolNCC.py:341 +msgid "Operation" +msgstr "Операция" + +#: FlatCAMCommon.py:1845 flatcamTools/ToolNCC.py:343 +msgid "" +"The 'Operation' can be:\n" +"- Isolation -> will ensure that the non-copper clearing is always complete.\n" +"If it's not successful then the non-copper clearing will fail, too.\n" +"- Clear -> the regular non-copper clearing." +msgstr "" +"'Операция' может быть:\n" +"- Изоляция - > обеспечит, что очистка от меди всегда закончена.\n" +"Если это не удастся, то очистка от меди также потерпит неудачу.\n" +"- Очистка - > обычная очистка от меди." + +#: FlatCAMCommon.py:1852 flatcamEditors/FlatCAMGrbEditor.py:2739 +#: flatcamGUI/GUIElements.py:2577 flatcamTools/ToolNCC.py:350 +msgid "Clear" +msgstr "Сбросить" + +#: FlatCAMCommon.py:1853 flatcamTools/ToolNCC.py:351 +#: flatcamTools/ToolNCC.py:1627 +msgid "Isolation" +msgstr "Изоляция" + +#: FlatCAMCommon.py:1861 flatcamGUI/ObjectUI.py:408 flatcamGUI/ObjectUI.py:866 +#: flatcamGUI/PreferencesUI.py:2257 flatcamGUI/PreferencesUI.py:3280 +#: flatcamGUI/PreferencesUI.py:4665 flatcamGUI/PreferencesUI.py:5416 +#: flatcamTools/ToolNCC.py:359 +msgid "Milling Type" +msgstr "Тип фрезерования" + +#: FlatCAMCommon.py:1863 FlatCAMCommon.py:1871 flatcamGUI/PreferencesUI.py:5418 +#: flatcamGUI/PreferencesUI.py:5426 flatcamTools/ToolNCC.py:361 +#: flatcamTools/ToolNCC.py:369 +msgid "" +"Milling type when the selected tool is of type: 'iso_op':\n" +"- climb / best for precision milling and to reduce tool usage\n" +"- conventional / useful when there is no backlash compensation" +msgstr "" +"Тип фрезерования, когда выбранный инструмент имеет тип: 'iso_op':\n" +"- climb / лучше всего подходит для точного фрезерования и уменьшения " +"использования инструмента\n" +"- conventional / полезен, когда нет компенсации люфта" + +#: FlatCAMCommon.py:1868 flatcamGUI/ObjectUI.py:414 +#: flatcamGUI/PreferencesUI.py:2264 flatcamGUI/PreferencesUI.py:4671 +#: flatcamGUI/PreferencesUI.py:5423 flatcamTools/ToolNCC.py:366 +msgid "Climb" +msgstr "Постепенный" + +#: FlatCAMCommon.py:1869 flatcamGUI/ObjectUI.py:415 +#: flatcamGUI/PreferencesUI.py:2265 flatcamGUI/PreferencesUI.py:4672 +#: flatcamGUI/PreferencesUI.py:5424 flatcamTools/ToolNCC.py:367 +msgid "Conventional" +msgstr "Обычный" + +#: FlatCAMCommon.py:1881 FlatCAMCommon.py:1990 +#: flatcamEditors/FlatCAMGeoEditor.py:452 flatcamGUI/PreferencesUI.py:5461 +#: flatcamGUI/PreferencesUI.py:6002 flatcamTools/ToolNCC.py:382 +#: flatcamTools/ToolPaint.py:329 +msgid "Overlap" +msgstr "Перекрытие" + +#: FlatCAMCommon.py:1883 flatcamGUI/PreferencesUI.py:5463 +#: flatcamTools/ToolNCC.py:384 +msgid "" +"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" +"Lower values = faster processing, faster execution on CNC.\n" +"Higher values = slow processing and slow execution on CNC\n" +"due of too many paths." +msgstr "" +"Какая часть ширины инструмента будет перекрываться за каждый проход " +"инструмента.\n" +"Отрегулируйте значение, начиная с более низких значений\n" +"и увеличивая его, если области, которые должны быть очищены, все еще\n" +"не очищены.\n" +"Более низкие значения = более быстрая обработка, более быстрое выполнение на " +"печатной плате.\n" +"Более высокие значения = медленная обработка и медленное выполнение на ЧПУ\n" +"из-за большого количества путей." + +#: FlatCAMCommon.py:1902 FlatCAMCommon.py:2011 +#: flatcamEditors/FlatCAMGeoEditor.py:472 flatcamGUI/PreferencesUI.py:5481 +#: flatcamGUI/PreferencesUI.py:5723 flatcamGUI/PreferencesUI.py:6022 +#: flatcamGUI/PreferencesUI.py:7681 flatcamGUI/PreferencesUI.py:7838 +#: flatcamGUI/PreferencesUI.py:7923 flatcamGUI/PreferencesUI.py:8570 +#: flatcamGUI/PreferencesUI.py:8578 flatcamTools/ToolCopperThieving.py:112 +#: flatcamTools/ToolCopperThieving.py:363 flatcamTools/ToolCutOut.py:191 +#: flatcamTools/ToolFiducials.py:172 flatcamTools/ToolInvertGerber.py:88 +#: flatcamTools/ToolInvertGerber.py:96 flatcamTools/ToolNCC.py:403 +#: flatcamTools/ToolPaint.py:350 +msgid "Margin" +msgstr "Отступ" + +#: FlatCAMCommon.py:1904 flatcamGUI/PreferencesUI.py:5483 +#: flatcamGUI/PreferencesUI.py:7683 flatcamGUI/PreferencesUI.py:7925 +#: flatcamGUI/PreferencesUI.py:7989 flatcamTools/ToolCopperThieving.py:114 +#: flatcamTools/ToolFiducials.py:174 flatcamTools/ToolFiducials.py:237 +#: flatcamTools/ToolNCC.py:405 +msgid "Bounding box margin." +msgstr "Граница рамки." + +#: FlatCAMCommon.py:1915 FlatCAMCommon.py:2026 +#: flatcamEditors/FlatCAMGeoEditor.py:486 flatcamGUI/PreferencesUI.py:5494 +#: flatcamGUI/PreferencesUI.py:6037 flatcamGUI/PreferencesUI.py:8204 +#: flatcamGUI/PreferencesUI.py:8417 flatcamTools/ToolExtractDrills.py:128 +#: flatcamTools/ToolNCC.py:416 flatcamTools/ToolPaint.py:365 +#: flatcamTools/ToolPunchGerber.py:139 +msgid "Method" +msgstr "Метод" + +#: FlatCAMCommon.py:1917 flatcamGUI/PreferencesUI.py:5496 +#: flatcamTools/ToolNCC.py:418 +#, fuzzy +#| msgid "" +#| "Algorithm for painting:\n" +#| "- Standard: Fixed step inwards.\n" +#| "- Seed-based: Outwards from seed.\n" +#| "- Line-based: Parallel lines." +msgid "" +"Algorithm for copper clearing:\n" +"- Standard: Fixed step inwards.\n" +"- Seed-based: Outwards from seed.\n" +"- Line-based: Parallel lines." +msgstr "" +"Алгоритм рисования:\n" +"- Стандартный: фиксированный шаг внутрь.\n" +"- Круговой: наружу от центра.\n" +"- Линейный: параллельные линии." + +#: FlatCAMCommon.py:1925 FlatCAMCommon.py:2040 +#: flatcamEditors/FlatCAMGeoEditor.py:500 flatcamGUI/PreferencesUI.py:5509 +#: flatcamGUI/PreferencesUI.py:6056 flatcamTools/ToolNCC.py:431 +#: flatcamTools/ToolNCC.py:2395 flatcamTools/ToolNCC.py:2424 +#: flatcamTools/ToolNCC.py:2693 flatcamTools/ToolNCC.py:2725 +#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:1822 +#: tclCommands/TclCommandCopperClear.py:126 +#: tclCommands/TclCommandCopperClear.py:134 tclCommands/TclCommandPaint.py:125 +msgid "Standard" +msgstr "Стандартный" + +#: FlatCAMCommon.py:1925 FlatCAMCommon.py:2040 +#: flatcamEditors/FlatCAMGeoEditor.py:500 +#: flatcamEditors/FlatCAMGeoEditor.py:5156 flatcamGUI/PreferencesUI.py:5509 +#: flatcamGUI/PreferencesUI.py:6056 flatcamTools/ToolNCC.py:431 +#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:696 +#: flatcamTools/ToolPaint.py:1850 tclCommands/TclCommandCopperClear.py:130 +#: tclCommands/TclCommandPaint.py:129 +msgid "Lines" +msgstr "Линий" + +#: FlatCAMCommon.py:1933 FlatCAMCommon.py:2051 flatcamGUI/PreferencesUI.py:5516 +#: flatcamGUI/PreferencesUI.py:6063 flatcamTools/ToolNCC.py:439 +#: flatcamTools/ToolPaint.py:401 +msgid "Connect" +msgstr "Подключение" + +#: FlatCAMCommon.py:1937 FlatCAMCommon.py:2054 +#: flatcamEditors/FlatCAMGeoEditor.py:509 flatcamGUI/PreferencesUI.py:5518 +#: flatcamGUI/PreferencesUI.py:6065 flatcamTools/ToolNCC.py:443 +#: flatcamTools/ToolPaint.py:404 +msgid "" +"Draw lines between resulting\n" +"segments to minimize tool lifts." +msgstr "" +"Рисовать линии между результирующей сегментами\n" +" для минимизации подъёма инструмента." + +#: FlatCAMCommon.py:1943 FlatCAMCommon.py:2058 flatcamGUI/PreferencesUI.py:5525 +#: flatcamGUI/PreferencesUI.py:6071 flatcamTools/ToolNCC.py:449 +#: flatcamTools/ToolPaint.py:408 +msgid "Contour" +msgstr "Контур" + +#: FlatCAMCommon.py:1947 FlatCAMCommon.py:2061 +#: flatcamEditors/FlatCAMGeoEditor.py:519 flatcamGUI/PreferencesUI.py:5527 +#: flatcamGUI/PreferencesUI.py:6073 flatcamTools/ToolNCC.py:453 +#: flatcamTools/ToolPaint.py:411 +msgid "" +"Cut around the perimeter of the polygon\n" +"to trim rough edges." +msgstr "" +"Обрезка по периметру полигона\n" +"для зачистки неровных краёв." + +#: FlatCAMCommon.py:1953 flatcamEditors/FlatCAMGeoEditor.py:613 +#: flatcamEditors/FlatCAMGrbEditor.py:5145 flatcamGUI/ObjectUI.py:142 +#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244 +#: flatcamGUI/PreferencesUI.py:5534 flatcamGUI/PreferencesUI.py:6822 +#: flatcamTools/ToolNCC.py:459 flatcamTools/ToolTransform.py:29 +msgid "Offset" +msgstr "Смещение" + +#: FlatCAMCommon.py:1957 flatcamGUI/PreferencesUI.py:5536 +#: flatcamTools/ToolNCC.py:463 +msgid "" +"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." +msgstr "" +"Если используется, это добавит смещение к медным элементам.\n" +"Очистка котла закончится на расстоянии\n" +"из медных штучек.\n" +"Значение может быть от 0 до 10 единиц FlatCAM." + +#: FlatCAMCommon.py:1992 flatcamEditors/FlatCAMGeoEditor.py:454 +#: flatcamGUI/PreferencesUI.py:6004 flatcamTools/ToolPaint.py:331 +msgid "" +"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" +"Lower values = faster processing, faster execution on CNC.\n" +"Higher values = slow processing and slow execution on CNC\n" +"due of too many paths." +msgstr "" +"Какая часть ширины инструмента будет перекрываться за каждый проход " +"инструмента.\n" +"Отрегулируйте значение, начиная с более низких значений\n" +"и увеличивая его, если области, которые должны быть нарисованы, все ещё\n" +"не окрашены.\n" +"Более низкие значения = более быстрая обработка, более быстрое выполнение на " +"печатной плате.\n" +"Более высокие значения = медленная обработка и медленное выполнение на ЧПУ\n" +"из-за большого количества путей." + +#: FlatCAMCommon.py:2013 flatcamEditors/FlatCAMGeoEditor.py:474 +#: flatcamGUI/PreferencesUI.py:6024 flatcamTools/ToolPaint.py:352 +msgid "" +"Distance by which to avoid\n" +"the edges of the polygon to\n" +"be painted." +msgstr "Расстояние, которое не закрашивать до края полигона." + +#: FlatCAMCommon.py:2028 flatcamGUI/PreferencesUI.py:6039 +#: flatcamTools/ToolPaint.py:367 +msgid "" +"Algorithm for painting:\n" +"- Standard: Fixed step inwards.\n" +"- Seed-based: Outwards from seed.\n" +"- Line-based: Parallel lines.\n" +"- Laser-lines: Active only for Gerber objects.\n" +"Will create lines that follow the traces.\n" +"- Combo: In case of failure a new method will be picked from the above\n" +"in the order specified." +msgstr "" + +#: FlatCAMCommon.py:2040 FlatCAMCommon.py:2042 flatcamGUI/PreferencesUI.py:6056 +#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:392 +#: flatcamTools/ToolPaint.py:690 flatcamTools/ToolPaint.py:695 +#: flatcamTools/ToolPaint.py:1864 tclCommands/TclCommandPaint.py:131 +#| msgid "lines" +msgid "Laser_lines" +msgstr "Laser_lines" + +#: FlatCAMCommon.py:2040 flatcamGUI/PreferencesUI.py:6056 +#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:2015 +#: tclCommands/TclCommandPaint.py:133 +msgid "Combo" +msgstr "Комбо" + +#: FlatCAMCommon.py:2085 +#, fuzzy +#| msgid "Add Geometry Tool in DB" +msgid "Add Tool in DB" +msgstr "Добавить инструмент из БД" + +#: FlatCAMObj.py:264 msgid "Name changed from" msgstr "Имя изменено с" -#: FlatCAMObj.py:257 +#: FlatCAMObj.py:264 msgid "to" msgstr "на" -#: FlatCAMObj.py:268 +#: FlatCAMObj.py:275 msgid "Offsetting..." msgstr "Смещение..." -#: FlatCAMObj.py:282 FlatCAMObj.py:287 +#: FlatCAMObj.py:289 FlatCAMObj.py:294 msgid "Scaling could not be executed." msgstr "Масштабирование не может быть выполнено." -#: FlatCAMObj.py:291 FlatCAMObj.py:299 +#: FlatCAMObj.py:298 FlatCAMObj.py:306 msgid "Scale done." msgstr "Масштаб сделан." -#: FlatCAMObj.py:297 +#: FlatCAMObj.py:304 msgid "Scaling..." msgstr "Масштабирование..." -#: FlatCAMObj.py:315 +#: FlatCAMObj.py:322 msgid "Skewing..." msgstr "Наклон..." -#: FlatCAMObj.py:736 FlatCAMObj.py:2746 FlatCAMObj.py:3968 -#: flatcamGUI/PreferencesUI.py:1470 flatcamGUI/PreferencesUI.py:2859 +#: FlatCAMObj.py:743 FlatCAMObj.py:831 flatcamGUI/ObjectUI.py:449 +#: flatcamGUI/PreferencesUI.py:6527 flatcamTools/ToolAlignObjects.py:73 +#: flatcamTools/ToolAlignObjects.py:109 flatcamTools/ToolCalibration.py:196 +#: flatcamTools/ToolCalibration.py:631 flatcamTools/ToolCalibration.py:648 +#: flatcamTools/ToolCalibration.py:807 flatcamTools/ToolCalibration.py:815 +#: flatcamTools/ToolCopperThieving.py:145 +#: flatcamTools/ToolCopperThieving.py:159 +#: flatcamTools/ToolCopperThieving.py:605 flatcamTools/ToolCutOut.py:92 +#: flatcamTools/ToolDblSided.py:225 flatcamTools/ToolFilm.py:69 +#: flatcamTools/ToolFilm.py:102 flatcamTools/ToolFilm.py:549 +#: flatcamTools/ToolFilm.py:557 flatcamTools/ToolImage.py:49 +#: flatcamTools/ToolImage.py:252 flatcamTools/ToolImage.py:273 +#: flatcamTools/ToolNCC.py:96 flatcamTools/ToolNCC.py:558 +#: flatcamTools/ToolNCC.py:1293 flatcamTools/ToolPaint.py:502 +#: flatcamTools/ToolPaint.py:703 flatcamTools/ToolPanelize.py:118 +#: flatcamTools/ToolPanelize.py:204 flatcamTools/ToolPanelize.py:374 +#: flatcamTools/ToolPanelize.py:391 +msgid "Gerber" +msgstr "Gerber" + +#: FlatCAMObj.py:743 FlatCAMObj.py:831 flatcamGUI/FlatCAMGUI.py:2154 +#: flatcamGUI/ObjectUI.py:449 flatcamTools/ToolCalibration.py:631 +#: flatcamTools/ToolCalibration.py:648 flatcamTools/ToolCalibration.py:815 +#: flatcamTools/ToolCopperThieving.py:145 +#: flatcamTools/ToolCopperThieving.py:159 +#: flatcamTools/ToolCopperThieving.py:605 flatcamTools/ToolCutOut.py:93 +#: flatcamTools/ToolDblSided.py:227 flatcamTools/ToolFilm.py:69 +#: flatcamTools/ToolFilm.py:102 flatcamTools/ToolFilm.py:549 +#: flatcamTools/ToolFilm.py:557 flatcamTools/ToolImage.py:49 +#: flatcamTools/ToolImage.py:271 flatcamTools/ToolNCC.py:95 +#: flatcamTools/ToolNCC.py:558 flatcamTools/ToolNCC.py:1293 +#: flatcamTools/ToolPaint.py:502 flatcamTools/ToolPaint.py:703 +#: flatcamTools/ToolPanelize.py:118 flatcamTools/ToolPanelize.py:374 +#: flatcamTools/ToolPanelize.py:391 +msgid "Geometry" +msgstr "Geometry" + +#: FlatCAMObj.py:755 FlatCAMObj.py:2957 FlatCAMObj.py:4421 +#: flatcamGUI/PreferencesUI.py:1646 flatcamGUI/PreferencesUI.py:3041 msgid "Basic" msgstr "Базовый" -#: FlatCAMObj.py:763 FlatCAMObj.py:2758 FlatCAMObj.py:3989 -#: flatcamGUI/PreferencesUI.py:1471 +#: FlatCAMObj.py:782 FlatCAMObj.py:2970 FlatCAMObj.py:4442 +#: flatcamGUI/PreferencesUI.py:1647 msgid "Advanced" msgstr "Расширенный" -#: FlatCAMObj.py:980 +#: FlatCAMObj.py:998 msgid "Buffering solid geometry" msgstr "Буферизация solid геометрии" -#: FlatCAMObj.py:983 camlib.py:965 flatcamGUI/PreferencesUI.py:2296 -#: flatcamTools/ToolCopperThieving.py:1011 -#: flatcamTools/ToolCopperThieving.py:1200 -#: flatcamTools/ToolCopperThieving.py:1212 -#: flatcamTools/ToolNonCopperClear.py:1624 -#: flatcamTools/ToolNonCopperClear.py:1721 -#: flatcamTools/ToolNonCopperClear.py:1732 -#: flatcamTools/ToolNonCopperClear.py:2015 -#: flatcamTools/ToolNonCopperClear.py:2111 -#: flatcamTools/ToolNonCopperClear.py:2123 +#: FlatCAMObj.py:1001 camlib.py:979 flatcamGUI/PreferencesUI.py:2476 +#: flatcamTools/ToolCopperThieving.py:1017 +#: flatcamTools/ToolCopperThieving.py:1206 +#: flatcamTools/ToolCopperThieving.py:1218 flatcamTools/ToolNCC.py:2050 +#: flatcamTools/ToolNCC.py:2158 flatcamTools/ToolNCC.py:2172 +#: flatcamTools/ToolNCC.py:3103 flatcamTools/ToolNCC.py:3208 +#: flatcamTools/ToolNCC.py:3223 flatcamTools/ToolNCC.py:3489 +#: flatcamTools/ToolNCC.py:3590 flatcamTools/ToolNCC.py:3605 msgid "Buffering" msgstr "Буферизация" -#: FlatCAMObj.py:989 +#: FlatCAMObj.py:1007 msgid "Done" msgstr "Готово" -#: FlatCAMObj.py:1040 +#: FlatCAMObj.py:1032 FlatCAMObj.py:1058 +msgid "Operation could not be done." +msgstr "Операция не может быть выполнена." + +#: FlatCAMObj.py:1075 msgid "Isolating..." msgstr "Изоляция..." -#: FlatCAMObj.py:1099 +#: FlatCAMObj.py:1134 msgid "Click on a polygon to isolate it." msgstr "Нажмите на полигон, чтобы изолировать его." -#: FlatCAMObj.py:1138 FlatCAMObj.py:1243 flatcamTools/ToolPaint.py:1120 +#: FlatCAMObj.py:1173 FlatCAMObj.py:1277 flatcamTools/ToolPaint.py:1504 msgid "Added polygon" msgstr "Добавленный полигон" -#: FlatCAMObj.py:1140 FlatCAMObj.py:1245 +#: FlatCAMObj.py:1174 FlatCAMObj.py:1279 msgid "Click to add next polygon or right click to start isolation." msgstr "" "Щелкните, чтобы добавить следующий полигон, или щелкните правой кнопкой " "мыши, чтобы начать изоляцию." -#: FlatCAMObj.py:1152 flatcamTools/ToolPaint.py:1134 +#: FlatCAMObj.py:1186 flatcamTools/ToolPaint.py:1518 msgid "Removed polygon" msgstr "Удалённый полигон" -#: FlatCAMObj.py:1153 +#: FlatCAMObj.py:1187 msgid "Click to add/remove next polygon or right click to start isolation." msgstr "" "Щелкните, чтобы добавить/удалить следующий полигон, или щелкните правой " "кнопкой мыши, чтобы начать изоляцию." -#: FlatCAMObj.py:1158 flatcamTools/ToolPaint.py:1140 +#: FlatCAMObj.py:1192 flatcamTools/ToolPaint.py:1524 msgid "No polygon detected under click position." msgstr "Полигон не обнаружен в указанной позиции." -#: FlatCAMObj.py:1179 flatcamTools/ToolPaint.py:1169 +#: FlatCAMObj.py:1213 flatcamTools/ToolPaint.py:1553 msgid "List of single polygons is empty. Aborting." msgstr "Список одиночных полигонов пуст. Отмена." -#: FlatCAMObj.py:1248 +#: FlatCAMObj.py:1282 msgid "No polygon in selection." msgstr "Нет полигона в выборе." -#: FlatCAMObj.py:1324 FlatCAMObj.py:1457 -#: flatcamTools/ToolNonCopperClear.py:1653 -#: flatcamTools/ToolNonCopperClear.py:2039 -msgid "Isolation geometry could not be generated." -msgstr "Геометрия изоляции не может быть сгенерирована." - -#: FlatCAMObj.py:1374 FlatCAMObj.py:3637 FlatCAMObj.py:3922 FlatCAMObj.py:4221 +#: FlatCAMObj.py:1394 FlatCAMObj.py:1542 FlatCAMObj.py:4055 FlatCAMObj.py:4375 +#: FlatCAMObj.py:4762 msgid "Rough" msgstr "Грубый" -#: FlatCAMObj.py:1400 FlatCAMObj.py:1480 +#: FlatCAMObj.py:1410 FlatCAMObj.py:1489 flatcamTools/ToolNCC.py:2086 +#: flatcamTools/ToolNCC.py:3137 flatcamTools/ToolNCC.py:3516 +msgid "Isolation geometry could not be generated." +msgstr "Геометрия изоляции не может быть сгенерирована." + +#: FlatCAMObj.py:1435 FlatCAMObj.py:1567 msgid "Isolation geometry created" msgstr "Создана геометрия изоляции" -#: FlatCAMObj.py:1409 FlatCAMObj.py:1487 +#: FlatCAMObj.py:1444 FlatCAMObj.py:1574 msgid "Subtracting Geo" msgstr "Вычитание геометрии" -#: FlatCAMObj.py:1807 +#: FlatCAMObj.py:1899 msgid "Plotting Apertures" msgstr "Создание отверстия" -#: FlatCAMObj.py:2573 flatcamEditors/FlatCAMExcEditor.py:2427 +#: FlatCAMObj.py:2753 flatcamEditors/FlatCAMExcEditor.py:2453 msgid "Total Drills" msgstr "Всего отверстий" -#: FlatCAMObj.py:2605 flatcamEditors/FlatCAMExcEditor.py:2459 +#: FlatCAMObj.py:2784 flatcamEditors/FlatCAMExcEditor.py:2485 msgid "Total Slots" msgstr "Всего пазов" -#: FlatCAMObj.py:3060 FlatCAMObj.py:3155 FlatCAMObj.py:3276 +#: FlatCAMObj.py:2857 FlatCAMObj.py:3069 FlatCAMObj.py:3085 FlatCAMObj.py:3089 +#: FlatCAMObj.py:4242 FlatCAMObj.py:4667 FlatCAMObj.py:4703 +#: flatcamGUI/ObjectUI.py:817 flatcamGUI/ObjectUI.py:1660 +#: flatcamTools/ToolNCC.py:331 flatcamTools/ToolNCC.py:794 +#: flatcamTools/ToolNCC.py:808 flatcamTools/ToolNCC.py:1189 +#: flatcamTools/ToolPaint.py:314 flatcamTools/ToolPaint.py:764 +#: flatcamTools/ToolPaint.py:776 flatcamTools/ToolPaint.py:1159 +msgid "Parameters for" +msgstr "Параметры для" + +#: FlatCAMObj.py:2857 FlatCAMObj.py:3089 FlatCAMObj.py:4242 FlatCAMObj.py:4703 +#: flatcamTools/ToolNCC.py:808 flatcamTools/ToolNCC.py:1189 +#: flatcamTools/ToolPaint.py:776 flatcamTools/ToolPaint.py:1159 +msgid "Multiple Tools" +msgstr "Несколько инструментов" + +#: FlatCAMObj.py:3069 +msgid "No Tool Selected" +msgstr "Инструмент не выбран" + +#: FlatCAMObj.py:3085 FlatCAMObj.py:3427 FlatCAMObj.py:4667 +#: flatcamEditors/FlatCAMGeoEditor.py:406 flatcamGUI/FlatCAMGUI.py:496 +#: flatcamGUI/FlatCAMGUI.py:1143 flatcamGUI/ObjectUI.py:817 +#: flatcamGUI/ObjectUI.py:1660 flatcamTools/ToolNCC.py:331 +#: flatcamTools/ToolNCC.py:794 flatcamTools/ToolPaint.py:314 +#: flatcamTools/ToolPaint.py:764 +msgid "Tool" +msgstr "Инструменты" + +#: FlatCAMObj.py:3419 FlatCAMObj.py:3512 FlatCAMObj.py:3700 msgid "Please select one or more tools from the list and try again." msgstr "" "Пожалуйста, выберите один или несколько инструментов из списка и попробуйте " "еще раз." -#: FlatCAMObj.py:3067 +#: FlatCAMObj.py:3426 msgid "Milling tool for DRILLS is larger than hole size. Cancelled." msgstr "Сверло больше, чем размер отверстия. Отмена." -#: FlatCAMObj.py:3068 FlatCAMObj.py:4533 flatcamEditors/FlatCAMGeoEditor.py:408 -#: flatcamGUI/FlatCAMGUI.py:457 flatcamGUI/FlatCAMGUI.py:1072 -#: flatcamGUI/ObjectUI.py:1353 -msgid "Tool" -msgstr "Инструменты" - -#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295 +#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719 +#: tclCommands/TclCommandDrillcncjob.py:194 msgid "Tool_nr" msgstr "№ инструмента" -#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295 -#: flatcamEditors/FlatCAMExcEditor.py:1582 -#: flatcamEditors/FlatCAMExcEditor.py:3048 flatcamGUI/ObjectUI.py:777 -#: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:123 -#: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolProperties.py:396 -#: flatcamTools/ToolProperties.py:449 flatcamTools/ToolSolderPaste.py:84 +#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719 +#: flatcamEditors/FlatCAMExcEditor.py:1585 +#: flatcamEditors/FlatCAMExcEditor.py:3069 flatcamGUI/ObjectUI.py:780 +#: flatcamTools/ToolNCC.py:132 flatcamTools/ToolPaint.py:128 +#: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolProperties.py:416 +#: flatcamTools/ToolProperties.py:476 flatcamTools/ToolSolderPaste.py:86 +#: tclCommands/TclCommandDrillcncjob.py:194 msgid "Diameter" msgstr "Диаметр" -#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295 +#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719 +#: tclCommands/TclCommandDrillcncjob.py:194 msgid "Drills_Nr" msgstr "№ отверстия" -#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295 +#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719 +#: tclCommands/TclCommandDrillcncjob.py:194 msgid "Slots_Nr" msgstr "№ паза" -#: FlatCAMObj.py:3164 +#: FlatCAMObj.py:3521 msgid "Milling tool for SLOTS is larger than hole size. Cancelled." msgstr "Инструмент для прорезания пазов больше, чем размер отверстия. Отмена." -#: FlatCAMObj.py:3336 -msgid "" -"Wrong value format for self.defaults[\"z_pdepth\"] or self.options[\"z_pdepth" -"\"]" +#: FlatCAMObj.py:3626 FlatCAMObj.py:5451 +msgid "Focus Z" msgstr "" -"Неправильный формат значения для self.defaults[\"z_pdepth\"] или self." -"options[\"z_pdepth\"]" -#: FlatCAMObj.py:3347 -msgid "" -"Wrong value format for self.defaults[\"feedrate_probe\"] or self." -"options[\"feedrate_probe\"]" +#: FlatCAMObj.py:3645 FlatCAMObj.py:5470 +msgid "Laser Power" msgstr "" -"Неправильный формат значения для self.defaults[\"feedrate_probe\"] или self." -"options[\"feedrate_probe\"]" -#: FlatCAMObj.py:3377 FlatCAMObj.py:5354 FlatCAMObj.py:5358 FlatCAMObj.py:5493 +#: FlatCAMObj.py:3677 FlatCAMObj.py:5502 flatcamGUI/ObjectUI.py:1048 +#: flatcamGUI/ObjectUI.py:1839 flatcamGUI/PreferencesUI.py:4409 +msgid "Spindle speed" +msgstr "Скорость вращения шпинделя" + +#: FlatCAMObj.py:3776 FlatCAMObj.py:5911 FlatCAMObj.py:5915 FlatCAMObj.py:6060 msgid "Generating CNC Code" msgstr "Генерация кода ЧПУ" -#: FlatCAMObj.py:3637 FlatCAMObj.py:4632 FlatCAMObj.py:4633 FlatCAMObj.py:4642 +#: FlatCAMObj.py:3966 flatcamTools/ToolNCC.py:916 flatcamTools/ToolPaint.py:841 +msgid "Current Tool parameters were applied to all tools." +msgstr "Применить параметры ко всем инструментам." + +#: FlatCAMObj.py:4055 FlatCAMObj.py:5115 FlatCAMObj.py:5116 FlatCAMObj.py:5125 msgid "Iso" msgstr "Изоляция" -#: FlatCAMObj.py:3637 +#: FlatCAMObj.py:4055 msgid "Finish" msgstr "Конец" -#: FlatCAMObj.py:3957 +#: FlatCAMObj.py:4410 msgid "Add from Tool DB" msgstr "Добавить инструмент из БД" -#: FlatCAMObj.py:3960 flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:794 -#: flatcamGUI/FlatCAMGUI.py:989 flatcamGUI/FlatCAMGUI.py:2015 -#: flatcamGUI/FlatCAMGUI.py:2159 flatcamGUI/FlatCAMGUI.py:2378 -#: flatcamGUI/FlatCAMGUI.py:2557 flatcamGUI/ObjectUI.py:1324 -#: flatcamTools/ToolPanelize.py:534 flatcamTools/ToolPanelize.py:561 -#: flatcamTools/ToolPanelize.py:660 flatcamTools/ToolPanelize.py:694 -#: flatcamTools/ToolPanelize.py:759 +#: FlatCAMObj.py:4413 flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:848 +#: flatcamGUI/FlatCAMGUI.py:1057 flatcamGUI/FlatCAMGUI.py:2123 +#: flatcamGUI/FlatCAMGUI.py:2267 flatcamGUI/FlatCAMGUI.py:2532 +#: flatcamGUI/FlatCAMGUI.py:2731 flatcamGUI/ObjectUI.py:1615 +#: flatcamTools/ToolPanelize.py:543 flatcamTools/ToolPanelize.py:570 +#: flatcamTools/ToolPanelize.py:669 flatcamTools/ToolPanelize.py:703 +#: flatcamTools/ToolPanelize.py:768 msgid "Copy" msgstr "Копировать" -#: FlatCAMObj.py:4054 FlatCAMObj.py:4397 FlatCAMObj.py:5107 FlatCAMObj.py:5744 -#: flatcamEditors/FlatCAMExcEditor.py:2534 -#: flatcamEditors/FlatCAMGeoEditor.py:1078 -#: flatcamEditors/FlatCAMGeoEditor.py:1112 -#: flatcamEditors/FlatCAMGeoEditor.py:1133 -#: flatcamEditors/FlatCAMGeoEditor.py:1154 -#: flatcamEditors/FlatCAMGeoEditor.py:1191 -#: flatcamEditors/FlatCAMGeoEditor.py:1219 -#: flatcamEditors/FlatCAMGeoEditor.py:1240 -#: flatcamTools/ToolNonCopperClear.py:1052 -#: flatcamTools/ToolNonCopperClear.py:1461 flatcamTools/ToolPaint.py:835 -#: flatcamTools/ToolPaint.py:1019 flatcamTools/ToolPaint.py:2198 -#: flatcamTools/ToolSolderPaste.py:882 flatcamTools/ToolSolderPaste.py:957 +#: FlatCAMObj.py:4507 FlatCAMObj.py:4941 FlatCAMObj.py:5661 FlatCAMObj.py:6307 +#: flatcamEditors/FlatCAMExcEditor.py:2560 +#: flatcamEditors/FlatCAMGeoEditor.py:1077 +#: flatcamEditors/FlatCAMGeoEditor.py:1118 +#: flatcamEditors/FlatCAMGeoEditor.py:1146 +#: flatcamEditors/FlatCAMGeoEditor.py:1174 +#: flatcamEditors/FlatCAMGeoEditor.py:1218 +#: flatcamEditors/FlatCAMGeoEditor.py:1253 +#: flatcamEditors/FlatCAMGeoEditor.py:1281 flatcamTools/ToolNCC.py:1502 +#: flatcamTools/ToolPaint.py:1237 flatcamTools/ToolPaint.py:1408 +#: flatcamTools/ToolSolderPaste.py:883 flatcamTools/ToolSolderPaste.py:956 msgid "Wrong value format entered, use a number." msgstr "Неправильно введен формат значения, используйте числа." -#: FlatCAMObj.py:4240 +#: FlatCAMObj.py:4781 msgid "Tool added in Tool Table." msgstr "Инструмент добавлен в таблицу инструментов." -#: FlatCAMObj.py:4347 FlatCAMObj.py:4356 +#: FlatCAMObj.py:4890 FlatCAMObj.py:4899 msgid "Failed. Select a tool to copy." msgstr "Ошибка. Выберите инструмент для копирования." -#: FlatCAMObj.py:4383 +#: FlatCAMObj.py:4928 msgid "Tool was copied in Tool Table." msgstr "Инструмент скопирован в таблицу инструментов." -#: FlatCAMObj.py:4411 +#: FlatCAMObj.py:4955 msgid "Tool was edited in Tool Table." msgstr "Инструмент был изменён в таблице инструментов." -#: FlatCAMObj.py:4440 FlatCAMObj.py:4449 +#: FlatCAMObj.py:4984 FlatCAMObj.py:4993 msgid "Failed. Select a tool to delete." msgstr "Ошибка. Выберите инструмент для удаления." -#: FlatCAMObj.py:4472 +#: FlatCAMObj.py:5017 msgid "Tool was deleted in Tool Table." msgstr "Инструмент был удален из таблицы инструментов." -#: FlatCAMObj.py:4533 flatcamGUI/ObjectUI.py:1353 -msgid "Parameters for" -msgstr "Параметры для" - -#: FlatCAMObj.py:4967 +#: FlatCAMObj.py:5523 msgid "This Geometry can't be processed because it is" msgstr "Эта Geometry не может быть обработана, так как это" -#: FlatCAMObj.py:4969 +#: FlatCAMObj.py:5523 msgid "geometry" msgstr "геометрия" -#: FlatCAMObj.py:5012 +#: FlatCAMObj.py:5564 msgid "Failed. No tool selected in the tool table ..." msgstr "Ошибка. Инструмент не выбран в таблице инструментов ..." -#: FlatCAMObj.py:5112 FlatCAMObj.py:5264 +#: FlatCAMObj.py:5667 FlatCAMObj.py:5820 msgid "" "Tool Offset is selected in Tool Table but no value is provided.\n" "Add a Tool Offset or change the Offset Type." @@ -2570,46 +2966,46 @@ msgstr "" "Смещение выбранного в таблице инструментов инструмента не указано.\n" "Добавьте смещение инструмента или измените тип смещения." -#: FlatCAMObj.py:5177 FlatCAMObj.py:5325 +#: FlatCAMObj.py:5733 FlatCAMObj.py:5882 msgid "G-Code parsing in progress..." msgstr "Разбор G-кода ..." -#: FlatCAMObj.py:5179 FlatCAMObj.py:5327 +#: FlatCAMObj.py:5735 FlatCAMObj.py:5884 msgid "G-Code parsing finished..." msgstr "Разбор G-кода завершен..." -#: FlatCAMObj.py:5187 +#: FlatCAMObj.py:5743 msgid "Finished G-Code processing" msgstr "Закончена обработка G-кода" -#: FlatCAMObj.py:5189 FlatCAMObj.py:5339 +#: FlatCAMObj.py:5745 FlatCAMObj.py:5896 msgid "G-Code processing failed with error" msgstr "Обработка G-кода завершилась ошибкой" -#: FlatCAMObj.py:5234 flatcamTools/ToolSolderPaste.py:1303 +#: FlatCAMObj.py:5790 flatcamTools/ToolSolderPaste.py:1300 msgid "Cancelled. Empty file, it has no geometry" msgstr "Отмена. Пустой файл, он не имеет геометрии" -#: FlatCAMObj.py:5337 FlatCAMObj.py:5486 +#: FlatCAMObj.py:5894 FlatCAMObj.py:6055 msgid "Finished G-Code processing..." msgstr "Разбор G-кода завершен..." -#: FlatCAMObj.py:5356 FlatCAMObj.py:5360 FlatCAMObj.py:5496 +#: FlatCAMObj.py:5913 FlatCAMObj.py:5917 FlatCAMObj.py:6062 msgid "CNCjob created" msgstr "CNCjob создан" -#: FlatCAMObj.py:5527 FlatCAMObj.py:5536 flatcamParsers/ParseGerber.py:1794 -#: flatcamParsers/ParseGerber.py:1804 +#: FlatCAMObj.py:6092 FlatCAMObj.py:6101 flatcamParsers/ParseGerber.py:1866 +#: flatcamParsers/ParseGerber.py:1876 msgid "Scale factor has to be a number: integer or float." msgstr "" "Коэффициент масштабирования должен быть числом: целочисленным или с " "плавающей запятой." -#: FlatCAMObj.py:5600 +#: FlatCAMObj.py:6164 msgid "Geometry Scale done." msgstr "Масштабирование Geometry выполнено." -#: FlatCAMObj.py:5617 flatcamParsers/ParseGerber.py:1920 +#: FlatCAMObj.py:6181 flatcamParsers/ParseGerber.py:1992 msgid "" "An (x,y) pair of values are needed. Probable you entered only one value in " "the Offset field." @@ -2617,11 +3013,11 @@ msgstr "" "Необходима пара значений (x,y). Возможно, вы ввели только одно значение в " "поле \"Смещение\"." -#: FlatCAMObj.py:5674 +#: FlatCAMObj.py:6237 msgid "Geometry Offset done." msgstr "Смещение Geometry выполнено." -#: FlatCAMObj.py:5703 +#: FlatCAMObj.py:6266 msgid "" "The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, " "y)\n" @@ -2631,43 +3027,43 @@ msgstr "" "y)\n" "но теперь есть только одно значение, а не два." -#: FlatCAMObj.py:6388 FlatCAMObj.py:7175 FlatCAMObj.py:7371 +#: FlatCAMObj.py:6956 FlatCAMObj.py:7802 FlatCAMObj.py:7999 msgid "Basic" msgstr "Базовый" -#: FlatCAMObj.py:6394 FlatCAMObj.py:7179 FlatCAMObj.py:7375 +#: FlatCAMObj.py:6962 FlatCAMObj.py:7806 FlatCAMObj.py:8003 msgid "Advanced" msgstr "Расширенный" -#: FlatCAMObj.py:6437 +#: FlatCAMObj.py:7005 msgid "Plotting..." msgstr "Построение..." -#: FlatCAMObj.py:6460 FlatCAMObj.py:6465 flatcamTools/ToolSolderPaste.py:1509 +#: FlatCAMObj.py:7034 FlatCAMObj.py:7039 flatcamTools/ToolSolderPaste.py:1498 msgid "Export Machine Code ..." msgstr "Экспорт GCode ..." -#: FlatCAMObj.py:6470 flatcamTools/ToolSolderPaste.py:1513 +#: FlatCAMObj.py:7044 flatcamTools/ToolSolderPaste.py:1502 msgid "Export Machine Code cancelled ..." msgstr "Экспорт Machine Code отменен ..." -#: FlatCAMObj.py:6492 +#: FlatCAMObj.py:7065 msgid "Machine Code file saved to" msgstr "Файл Machine Code сохранён в" -#: FlatCAMObj.py:6546 flatcamTools/ToolCalibration.py:1083 +#: FlatCAMObj.py:7126 flatcamTools/ToolCalibration.py:1097 msgid "Loaded Machine Code into Code Editor" msgstr "Машинный код загружен в редактор кода" -#: FlatCAMObj.py:6684 +#: FlatCAMObj.py:7265 msgid "This CNCJob object can't be processed because it is a" msgstr "CNCJob объект не может быть обработан, так как" -#: FlatCAMObj.py:6686 +#: FlatCAMObj.py:7267 msgid "CNCJob object" msgstr "CNCJob object" -#: FlatCAMObj.py:6866 +#: FlatCAMObj.py:7447 msgid "" "G-code does not have a G94 code and we will not include the code in the " "'Prepend to GCode' text box" @@ -2675,37 +3071,37 @@ msgstr "" "G-код не имеет кода G94, и мы не будем включать этот код в текстовое поле " "«Готовьтесь к G-код»" -#: FlatCAMObj.py:6877 +#: FlatCAMObj.py:7458 msgid "Cancelled. The Toolchange Custom code is enabled but it's empty." msgstr "Отмена. Пользовательский код смены инструмента включен, но он пуст." -#: FlatCAMObj.py:6882 +#: FlatCAMObj.py:7463 msgid "Toolchange G-code was replaced by a custom code." msgstr "G-code смены инструмента был заменен на пользовательский код." -#: FlatCAMObj.py:6899 flatcamEditors/FlatCAMTextEditor.py:270 -#: flatcamTools/ToolSolderPaste.py:1540 +#: FlatCAMObj.py:7480 flatcamEditors/FlatCAMTextEditor.py:272 +#: flatcamTools/ToolSolderPaste.py:1529 msgid "No such file or directory" msgstr "Нет такого файла или каталога" -#: FlatCAMObj.py:6913 flatcamEditors/FlatCAMTextEditor.py:282 +#: FlatCAMObj.py:7494 flatcamEditors/FlatCAMTextEditor.py:284 msgid "Saved to" msgstr "Сохранено в" -#: FlatCAMObj.py:6923 FlatCAMObj.py:6933 +#: FlatCAMObj.py:7511 FlatCAMObj.py:7521 msgid "" "The used preprocessor file has to have in it's name: 'toolchange_custom'" msgstr "Используемый файл постпроцессора должен иметь имя: 'toolchange_custom'" -#: FlatCAMObj.py:6937 +#: FlatCAMObj.py:7524 msgid "There is no preprocessor file." msgstr "Это не файл постпроцессора." -#: FlatCAMObj.py:7194 +#: FlatCAMObj.py:7821 msgid "Script Editor" msgstr "Редактор сценариев" -#: FlatCAMObj.py:7475 +#: FlatCAMObj.py:8103 msgid "Document Editor" msgstr "Редактор Document" @@ -2713,6 +3109,16 @@ msgstr "Редактор Document" msgid "processes running." msgstr "процессы запущены." +#: FlatCAMTool.py:245 FlatCAMTool.py:252 flatcamGUI/ObjectUI.py:156 +#: flatcamGUI/ObjectUI.py:163 +msgid "Edited value is out of range" +msgstr "" + +#: FlatCAMTool.py:247 FlatCAMTool.py:254 flatcamGUI/ObjectUI.py:158 +#: flatcamGUI/ObjectUI.py:165 +msgid "Edited value is within limits." +msgstr "" + #: FlatCAMTranslation.py:103 msgid "The application will restart." msgstr "Приложение будет перезапущено." @@ -2725,68 +3131,68 @@ msgstr "Вы уверены, что хотите изменить текущий msgid "Apply Language ..." msgstr "Применить язык ..." -#: ObjectCollection.py:459 +#: ObjectCollection.py:506 #, python-brace-format msgid "Object renamed from {old} to {new}" msgstr "Объект переименован из {old} в {new}" -#: ObjectCollection.py:858 +#: ObjectCollection.py:972 msgid "Cause of error" msgstr "Причина ошибки" -#: camlib.py:590 +#: camlib.py:593 msgid "self.solid_geometry is neither BaseGeometry or list." msgstr "self.solid_geometry не является базовой геометрией или списком." -#: camlib.py:953 +#: camlib.py:968 msgid "Pass" msgstr "Проходы" -#: camlib.py:974 +#: camlib.py:988 msgid "Get Exteriors" msgstr "Перейти к наружнему" -#: camlib.py:977 +#: camlib.py:991 msgid "Get Interiors" msgstr "Перейти к внутреннему" -#: camlib.py:1964 +#: camlib.py:2172 msgid "Object was mirrored" msgstr "Объект отзеркалирован" -#: camlib.py:1967 +#: camlib.py:2175 msgid "Failed to mirror. No object selected" msgstr "Не удалось зеркалировать. Объект не выбран" -#: camlib.py:2036 +#: camlib.py:2244 msgid "Object was rotated" msgstr "Объект повернут" -#: camlib.py:2039 +#: camlib.py:2247 msgid "Failed to rotate. No object selected" msgstr "Не удалось повернуть. Объект не выбран" -#: camlib.py:2107 +#: camlib.py:2314 msgid "Object was skewed" msgstr "Объект наклонён" -#: camlib.py:2110 +#: camlib.py:2317 msgid "Failed to skew. No object selected" msgstr "Не удалось наклонить. Объект не выбран" -#: camlib.py:2179 +#: camlib.py:2392 msgid "Object was buffered" msgstr "Объект был буферизован" -#: camlib.py:2181 +#: camlib.py:2394 msgid "Failed to buffer. No object selected" msgstr "Буферизация не удалась. Объект не выбран" -#: camlib.py:2378 +#: camlib.py:2599 msgid "There is no such parameter" msgstr "Такого параметра нет" -#: camlib.py:2454 +#: camlib.py:2659 camlib.py:2892 camlib.py:3121 camlib.py:3343 msgid "" "The Cut Z parameter has positive value. It is the depth value to drill into " "material.\n" @@ -2800,12 +3206,13 @@ msgstr "" "предполагая, что это опечатка, приложение преобразует значение в " "отрицательное. Проверьте полученный CNC code (Gcode и т. д.)." -#: camlib.py:2462 camlib.py:3181 camlib.py:3539 +#: camlib.py:2667 camlib.py:2902 camlib.py:3131 camlib.py:3353 camlib.py:3639 +#: camlib.py:4008 msgid "The Cut Z parameter is zero. There will be no cut, skipping file" msgstr "" "Параметр \"Глубина резания\" равен нулю. Обрезки не будет , пропускается файл" -#: camlib.py:2475 camlib.py:3512 +#: camlib.py:2678 camlib.py:3976 msgid "" "The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, " "y) \n" @@ -2815,31 +3222,39 @@ msgstr "" "y)\n" "но теперь есть только одно значение, а не два. " -#: camlib.py:2550 +#: camlib.py:2687 camlib.py:3590 camlib.py:3958 +msgid "" +"The End Move X,Y field in Edit -> Preferences has to be in the format (x, y) " +"but now there is only one value, not two." +msgstr "" +"Поле X, Y смены инструмента в Правка - > Параметры должно быть в формате (x, " +"y), но указано только одно значение, а не два." + +#: camlib.py:2775 msgid "Creating a list of points to drill..." msgstr "Создание списка точек для сверления ..." -#: camlib.py:2632 +#: camlib.py:2865 camlib.py:3737 camlib.py:4112 msgid "Starting G-Code" msgstr "Открытие G-Code" -#: camlib.py:2727 camlib.py:2870 camlib.py:2972 camlib.py:3292 camlib.py:3653 +#: camlib.py:3006 camlib.py:3225 camlib.py:3389 camlib.py:3750 camlib.py:4123 msgid "Starting G-Code for tool with diameter" msgstr "Запуск G-кода для инструмента с диаметром" -#: camlib.py:2783 camlib.py:2926 camlib.py:3029 +#: camlib.py:3089 camlib.py:3307 camlib.py:3475 msgid "G91 coordinates not implemented" msgstr "Координаты G91 не реализованы" -#: camlib.py:2789 camlib.py:2933 camlib.py:3035 +#: camlib.py:3095 camlib.py:3314 camlib.py:3481 msgid "The loaded Excellon file has no drills" msgstr "Загруженный файл Excellon не имеет отверстий" -#: camlib.py:3058 +#: camlib.py:3504 msgid "Finished G-Code generation..." msgstr "Создание G-кода завершено..." -#: camlib.py:3153 +#: camlib.py:3608 msgid "" "The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, " "y) \n" @@ -2849,7 +3264,7 @@ msgstr "" "y)\n" "но теперь есть только одно значение, а не два." -#: camlib.py:3166 camlib.py:3525 +#: camlib.py:3622 camlib.py:3991 msgid "" "Cut_Z parameter is None or zero. Most likely a bad combinations of other " "parameters." @@ -2857,7 +3272,7 @@ msgstr "" "Параметр \"Глубина резания\" равен None или пуст. Скорее всего неудачное " "сочетание других параметров." -#: camlib.py:3173 camlib.py:3531 +#: camlib.py:3631 camlib.py:4000 msgid "" "The Cut Z parameter has positive value. It is the depth value to cut into " "material.\n" @@ -2871,11 +3286,11 @@ msgstr "" "предполагая, что это опечатка, приложение преобразует значение в " "отрицательное. Проверьте полученный CNC code (Gcode и т. д.)." -#: camlib.py:3186 camlib.py:3545 +#: camlib.py:3644 camlib.py:4014 msgid "Travel Z parameter is None or zero." msgstr "Параметр \"Отвод по Z\" равен None или пуст." -#: camlib.py:3191 camlib.py:3550 +#: camlib.py:3649 camlib.py:4019 msgid "" "The Travel Z parameter has negative value. It is the height value to travel " "between cuts.\n" @@ -2889,36 +3304,32 @@ msgstr "" "что это опечатка, приложение преобразует значение в положительное. Проверьте " "полученный CNC code (Gcode и т. д.)." -#: camlib.py:3199 camlib.py:3558 +#: camlib.py:3657 camlib.py:4027 msgid "The Z Travel parameter is zero. This is dangerous, skipping file" msgstr "Параметр \"Отвод по Z\" равен нулю. Это опасно, файл пропускается" -#: camlib.py:3218 camlib.py:3580 +#: camlib.py:3676 camlib.py:4050 msgid "Indexing geometry before generating G-Code..." msgstr "Индексация геометрии перед созданием G-Code..." -#: camlib.py:3279 camlib.py:3642 -msgid "Starting G-Code..." -msgstr "Открытие G-Code..." - -#: camlib.py:3362 camlib.py:3724 +#: camlib.py:3820 camlib.py:4192 msgid "Finished G-Code generation" msgstr "Создание G-кода завершено" -#: camlib.py:3364 +#: camlib.py:3820 msgid "paths traced" msgstr "путей проложено" -#: camlib.py:3399 +#: camlib.py:3853 msgid "Expected a Geometry, got" msgstr "Ожидалась Geometry, получили" -#: camlib.py:3406 +#: camlib.py:3860 msgid "" "Trying to generate a CNC Job from a Geometry object without solid_geometry." msgstr "Попытка создать CNC Job из объекта Geometry без solid_geometry." -#: camlib.py:3446 +#: camlib.py:3901 msgid "" "The Tool Offset value is too negative to use for the current_geometry.\n" "Raise the value (in module) and try again." @@ -2926,35 +3337,35 @@ msgstr "" "Значение смещения инструмента слишком отрицательно для current_geometry.\n" "Увеличте значение (в модуле) и повторите попытку." -#: camlib.py:3724 +#: camlib.py:4192 msgid " paths traced." msgstr " путей проложено." -#: camlib.py:3752 +#: camlib.py:4220 msgid "There is no tool data in the SolderPaste geometry." msgstr "В геометрии SolderPaste нет данных инструмента." -#: camlib.py:3839 +#: camlib.py:4306 msgid "Finished SolderPste G-Code generation" msgstr "Закончено создание G-кода паяльной пасты" -#: camlib.py:3841 +#: camlib.py:4306 msgid "paths traced." msgstr "путей проложено." -#: camlib.py:4097 +#: camlib.py:4566 msgid "Parsing GCode file. Number of lines" msgstr "Разбор файла GCode. Количество строк" -#: camlib.py:4204 +#: camlib.py:4673 msgid "Creating Geometry from the parsed GCode file. " msgstr "Создание геометрии из проанализированного файла GCode. " -#: camlib.py:4345 camlib.py:4629 camlib.py:4732 camlib.py:4801 +#: camlib.py:4816 camlib.py:5101 camlib.py:5204 camlib.py:5360 msgid "G91 coordinates not implemented ..." msgstr "Координаты G91 не реализованы ..." -#: camlib.py:4476 +#: camlib.py:4948 msgid "Unifying Geometry from parsed Geometry segments" msgstr "Объединение геометрии из разбираемых сегментов геометрии" @@ -2984,11 +3395,11 @@ msgstr "" #: flatcamEditors/FlatCAMExcEditor.py:193 #: flatcamEditors/FlatCAMExcEditor.py:416 #: flatcamEditors/FlatCAMExcEditor.py:637 -#: flatcamEditors/FlatCAMExcEditor.py:1155 -#: flatcamEditors/FlatCAMExcEditor.py:1182 +#: flatcamEditors/FlatCAMExcEditor.py:1152 +#: flatcamEditors/FlatCAMExcEditor.py:1179 #: flatcamEditors/FlatCAMGrbEditor.py:471 -#: flatcamEditors/FlatCAMGrbEditor.py:1936 -#: flatcamEditors/FlatCAMGrbEditor.py:1966 +#: flatcamEditors/FlatCAMGrbEditor.py:1935 +#: flatcamEditors/FlatCAMGrbEditor.py:1965 msgid "Click on target location ..." msgstr "Нажмите на целевой точке ..." @@ -3022,8 +3433,8 @@ msgstr "Чтобы добавить паз, сначала выберите ин #: flatcamEditors/FlatCAMExcEditor.py:455 #: flatcamEditors/FlatCAMExcEditor.py:462 -#: flatcamEditors/FlatCAMExcEditor.py:744 -#: flatcamEditors/FlatCAMExcEditor.py:751 +#: flatcamEditors/FlatCAMExcEditor.py:743 +#: flatcamEditors/FlatCAMExcEditor.py:750 msgid "Value is missing or wrong format. Add it and retry." msgstr "" "Значение отсутствует или имеет неправильный формат. Добавьте его и повторите " @@ -3043,72 +3454,66 @@ msgstr "" msgid "Click on the Slot Circular Array Start position" msgstr "Нажмите на начальную позицию круглого массива слота" -#: flatcamEditors/FlatCAMExcEditor.py:682 -#: flatcamEditors/FlatCAMGrbEditor.py:520 +#: flatcamEditors/FlatCAMExcEditor.py:681 +#: flatcamEditors/FlatCAMGrbEditor.py:519 msgid "The value is mistyped. Check the value." msgstr "Значение введено с ошибкой. Проверьте значение." -#: flatcamEditors/FlatCAMExcEditor.py:861 +#: flatcamEditors/FlatCAMExcEditor.py:860 msgid "Too many Slots for the selected spacing angle." msgstr "Слишком много пазов для выбранного расстояния." -#: flatcamEditors/FlatCAMExcEditor.py:884 +#: flatcamEditors/FlatCAMExcEditor.py:883 msgid "Done. Slot Array added." msgstr "Готово. Массив пазов добавлен." -#: flatcamEditors/FlatCAMExcEditor.py:906 +#: flatcamEditors/FlatCAMExcEditor.py:905 msgid "Click on the Drill(s) to resize ..." msgstr "Нажмите на сверло для изменения размера ..." -#: flatcamEditors/FlatCAMExcEditor.py:936 +#: flatcamEditors/FlatCAMExcEditor.py:935 msgid "Resize drill(s) failed. Please enter a diameter for resize." msgstr "" "Не удалось изменить размер отверстий. Пожалуйста введите диаметр для " "изменения размера." -#: flatcamEditors/FlatCAMExcEditor.py:1026 -#: flatcamEditors/FlatCAMExcEditor.py:1095 flatcamGUI/FlatCAMGUI.py:3165 -#: flatcamGUI/FlatCAMGUI.py:3377 flatcamGUI/FlatCAMGUI.py:3591 -msgid "Cancelled." -msgstr "Отменено." - -#: flatcamEditors/FlatCAMExcEditor.py:1116 +#: flatcamEditors/FlatCAMExcEditor.py:1113 msgid "Done. Drill/Slot Resize completed." msgstr "Готово. Изменение размера отверстия/паза завершено." -#: flatcamEditors/FlatCAMExcEditor.py:1119 +#: flatcamEditors/FlatCAMExcEditor.py:1116 msgid "Cancelled. No drills/slots selected for resize ..." msgstr "Отменено. Не выбраны дрели / слоты для изменения размера ..." -#: flatcamEditors/FlatCAMExcEditor.py:1157 -#: flatcamEditors/FlatCAMGrbEditor.py:1938 +#: flatcamEditors/FlatCAMExcEditor.py:1154 +#: flatcamEditors/FlatCAMGrbEditor.py:1937 msgid "Click on reference location ..." msgstr "Кликните на конечную точку ..." -#: flatcamEditors/FlatCAMExcEditor.py:1214 +#: flatcamEditors/FlatCAMExcEditor.py:1211 msgid "Done. Drill(s) Move completed." msgstr "Готово. Перемещение отверстий завершено." -#: flatcamEditors/FlatCAMExcEditor.py:1322 +#: flatcamEditors/FlatCAMExcEditor.py:1319 msgid "Done. Drill(s) copied." msgstr "Готово. Отверстия скопированы." -#: flatcamEditors/FlatCAMExcEditor.py:1555 flatcamGUI/PreferencesUI.py:3551 +#: flatcamEditors/FlatCAMExcEditor.py:1558 flatcamGUI/PreferencesUI.py:3829 msgid "Excellon Editor" msgstr "Редактор Excellon" -#: flatcamEditors/FlatCAMExcEditor.py:1562 -#: flatcamEditors/FlatCAMGrbEditor.py:2454 +#: flatcamEditors/FlatCAMExcEditor.py:1565 +#: flatcamEditors/FlatCAMGrbEditor.py:2460 msgid "Name:" msgstr "Имя:" -#: flatcamEditors/FlatCAMExcEditor.py:1568 flatcamGUI/ObjectUI.py:757 -#: flatcamGUI/ObjectUI.py:1184 flatcamTools/ToolNonCopperClear.py:109 -#: flatcamTools/ToolPaint.py:112 flatcamTools/ToolSolderPaste.py:73 +#: flatcamEditors/FlatCAMExcEditor.py:1571 flatcamGUI/ObjectUI.py:760 +#: flatcamGUI/ObjectUI.py:1463 flatcamTools/ToolNCC.py:120 +#: flatcamTools/ToolPaint.py:115 flatcamTools/ToolSolderPaste.py:75 msgid "Tools Table" msgstr "Таблица инструментов" -#: flatcamEditors/FlatCAMExcEditor.py:1570 flatcamGUI/ObjectUI.py:759 +#: flatcamEditors/FlatCAMExcEditor.py:1573 flatcamGUI/ObjectUI.py:762 msgid "" "Tools in this Excellon object\n" "when are used for drilling." @@ -3116,11 +3521,11 @@ msgstr "" "Инструменты для Excellon объекта\n" "используемые для сверления." -#: flatcamEditors/FlatCAMExcEditor.py:1590 +#: flatcamEditors/FlatCAMExcEditor.py:1593 msgid "Add/Delete Tool" msgstr "Добавить/Удалить инструмент" -#: flatcamEditors/FlatCAMExcEditor.py:1592 +#: flatcamEditors/FlatCAMExcEditor.py:1595 msgid "" "Add/Delete a tool to the tool list\n" "for this Excellon object." @@ -3128,16 +3533,16 @@ msgstr "" "Добавляет/Удаляет инструмент в списоке инструментов\n" "для этого Excellon объекта ." -#: flatcamEditors/FlatCAMExcEditor.py:1604 flatcamGUI/ObjectUI.py:1297 -#: flatcamGUI/PreferencesUI.py:3582 +#: flatcamEditors/FlatCAMExcEditor.py:1607 flatcamGUI/ObjectUI.py:1583 +#: flatcamGUI/PreferencesUI.py:3860 msgid "Diameter for the new tool" msgstr "Диаметр нового инструмента" -#: flatcamEditors/FlatCAMExcEditor.py:1614 +#: flatcamEditors/FlatCAMExcEditor.py:1617 msgid "Add Tool" msgstr "Добавить" -#: flatcamEditors/FlatCAMExcEditor.py:1616 +#: flatcamEditors/FlatCAMExcEditor.py:1619 msgid "" "Add a new tool to the tool list\n" "with the diameter specified above." @@ -3145,11 +3550,11 @@ msgstr "" "Добавляет новый инструмент в список инструментов\n" "с диаметром, указанным выше." -#: flatcamEditors/FlatCAMExcEditor.py:1628 +#: flatcamEditors/FlatCAMExcEditor.py:1631 msgid "Delete Tool" msgstr "Удалить инструмент" -#: flatcamEditors/FlatCAMExcEditor.py:1630 +#: flatcamEditors/FlatCAMExcEditor.py:1633 msgid "" "Delete a tool in the tool list\n" "by selecting a row in the tool table." @@ -3157,40 +3562,40 @@ msgstr "" "Удаляет инструмент из списка инструментов\n" "в выбранной строке таблицы инструментов." -#: flatcamEditors/FlatCAMExcEditor.py:1648 flatcamGUI/FlatCAMGUI.py:1896 +#: flatcamEditors/FlatCAMExcEditor.py:1651 flatcamGUI/FlatCAMGUI.py:2004 msgid "Resize Drill(s)" msgstr "Изменить размер сверла" -#: flatcamEditors/FlatCAMExcEditor.py:1650 +#: flatcamEditors/FlatCAMExcEditor.py:1653 msgid "Resize a drill or a selection of drills." msgstr "Изменяет размер сверла или выбранных свёрел." -#: flatcamEditors/FlatCAMExcEditor.py:1657 +#: flatcamEditors/FlatCAMExcEditor.py:1660 msgid "Resize Dia" msgstr "Изменить диаметр" -#: flatcamEditors/FlatCAMExcEditor.py:1659 +#: flatcamEditors/FlatCAMExcEditor.py:1662 msgid "Diameter to resize to." msgstr "Диаметр для изменения." -#: flatcamEditors/FlatCAMExcEditor.py:1670 +#: flatcamEditors/FlatCAMExcEditor.py:1673 msgid "Resize" msgstr "Изменить" -#: flatcamEditors/FlatCAMExcEditor.py:1672 +#: flatcamEditors/FlatCAMExcEditor.py:1675 msgid "Resize drill(s)" msgstr "Изменить размер сверла" -#: flatcamEditors/FlatCAMExcEditor.py:1697 flatcamGUI/FlatCAMGUI.py:1895 -#: flatcamGUI/FlatCAMGUI.py:2147 +#: flatcamEditors/FlatCAMExcEditor.py:1700 flatcamGUI/FlatCAMGUI.py:2003 +#: flatcamGUI/FlatCAMGUI.py:2255 msgid "Add Drill Array" msgstr "Добавить массив отверстий" -#: flatcamEditors/FlatCAMExcEditor.py:1699 +#: flatcamEditors/FlatCAMExcEditor.py:1702 msgid "Add an array of drills (linear or circular array)" msgstr "Добавляет массив свёрел (линейный или круговой массив)" -#: flatcamEditors/FlatCAMExcEditor.py:1705 +#: flatcamEditors/FlatCAMExcEditor.py:1708 msgid "" "Select the type of drills array to create.\n" "It can be Linear X(Y) or Circular" @@ -3198,43 +3603,48 @@ msgstr "" "Выберите тип массива свёрел для создания.\n" "Это может быть линейный X (Y) или круговой" -#: flatcamEditors/FlatCAMExcEditor.py:1708 -#: flatcamEditors/FlatCAMExcEditor.py:1922 -#: flatcamEditors/FlatCAMGrbEditor.py:2766 +#: flatcamEditors/FlatCAMExcEditor.py:1711 +#: flatcamEditors/FlatCAMExcEditor.py:1925 +#: flatcamEditors/FlatCAMGrbEditor.py:2772 msgid "Linear" msgstr "Линейный" -#: flatcamEditors/FlatCAMExcEditor.py:1709 -#: flatcamEditors/FlatCAMExcEditor.py:1923 -#: flatcamEditors/FlatCAMGrbEditor.py:2767 flatcamGUI/ObjectUI.py:311 -#: flatcamGUI/PreferencesUI.py:5044 flatcamGUI/PreferencesUI.py:7465 -#: flatcamTools/ToolFiducials.py:220 flatcamTools/ToolNonCopperClear.py:221 +#: flatcamEditors/FlatCAMExcEditor.py:1712 +#: flatcamEditors/FlatCAMExcEditor.py:1926 +#: flatcamEditors/FlatCAMGrbEditor.py:2773 flatcamGUI/ObjectUI.py:315 +#: flatcamGUI/PreferencesUI.py:5340 flatcamGUI/PreferencesUI.py:5909 +#: flatcamGUI/PreferencesUI.py:7971 flatcamGUI/PreferencesUI.py:8151 +#: flatcamGUI/PreferencesUI.py:8248 flatcamGUI/PreferencesUI.py:8363 +#: flatcamGUI/PreferencesUI.py:8462 flatcamTools/ToolExtractDrills.py:78 +#: flatcamTools/ToolExtractDrills.py:201 flatcamTools/ToolFiducials.py:220 +#: flatcamTools/ToolNCC.py:221 flatcamTools/ToolPaint.py:204 +#: flatcamTools/ToolPunchGerber.py:89 flatcamTools/ToolPunchGerber.py:229 msgid "Circular" msgstr "Круглый" -#: flatcamEditors/FlatCAMExcEditor.py:1717 flatcamGUI/PreferencesUI.py:3593 +#: flatcamEditors/FlatCAMExcEditor.py:1720 flatcamGUI/PreferencesUI.py:3871 msgid "Nr of drills" msgstr "Количество отверстий" -#: flatcamEditors/FlatCAMExcEditor.py:1718 flatcamGUI/PreferencesUI.py:3595 +#: flatcamEditors/FlatCAMExcEditor.py:1721 flatcamGUI/PreferencesUI.py:3873 msgid "Specify how many drills to be in the array." msgstr "Укажите, сколько свёрел должно быть в массиве." -#: flatcamEditors/FlatCAMExcEditor.py:1736 -#: flatcamEditors/FlatCAMExcEditor.py:1786 -#: flatcamEditors/FlatCAMExcEditor.py:1858 -#: flatcamEditors/FlatCAMExcEditor.py:1951 -#: flatcamEditors/FlatCAMExcEditor.py:2002 -#: flatcamEditors/FlatCAMGrbEditor.py:1572 -#: flatcamEditors/FlatCAMGrbEditor.py:2795 -#: flatcamEditors/FlatCAMGrbEditor.py:2844 flatcamGUI/PreferencesUI.py:3703 +#: flatcamEditors/FlatCAMExcEditor.py:1739 +#: flatcamEditors/FlatCAMExcEditor.py:1789 +#: flatcamEditors/FlatCAMExcEditor.py:1861 +#: flatcamEditors/FlatCAMExcEditor.py:1954 +#: flatcamEditors/FlatCAMExcEditor.py:2005 +#: flatcamEditors/FlatCAMGrbEditor.py:1571 +#: flatcamEditors/FlatCAMGrbEditor.py:2801 +#: flatcamEditors/FlatCAMGrbEditor.py:2850 flatcamGUI/PreferencesUI.py:3981 msgid "Direction" msgstr "Направление" -#: flatcamEditors/FlatCAMExcEditor.py:1738 -#: flatcamEditors/FlatCAMExcEditor.py:1953 -#: flatcamEditors/FlatCAMGrbEditor.py:2797 flatcamGUI/PreferencesUI.py:2536 -#: flatcamGUI/PreferencesUI.py:3611 flatcamGUI/PreferencesUI.py:3759 +#: flatcamEditors/FlatCAMExcEditor.py:1741 +#: flatcamEditors/FlatCAMExcEditor.py:1956 +#: flatcamEditors/FlatCAMGrbEditor.py:2803 flatcamGUI/PreferencesUI.py:2718 +#: flatcamGUI/PreferencesUI.py:3889 flatcamGUI/PreferencesUI.py:4037 msgid "" "Direction on which the linear array is oriented:\n" "- 'X' - horizontal axis \n" @@ -3246,62 +3656,62 @@ msgstr "" "- 'Y' - вертикальная ось или\n" "- 'Угол' - произвольный угол наклона массива" -#: flatcamEditors/FlatCAMExcEditor.py:1745 -#: flatcamEditors/FlatCAMExcEditor.py:1867 -#: flatcamEditors/FlatCAMExcEditor.py:1960 -#: flatcamEditors/FlatCAMGrbEditor.py:2804 flatcamGUI/PreferencesUI.py:2542 -#: flatcamGUI/PreferencesUI.py:3617 flatcamGUI/PreferencesUI.py:3712 -#: flatcamGUI/PreferencesUI.py:3765 flatcamGUI/PreferencesUI.py:5853 +#: flatcamEditors/FlatCAMExcEditor.py:1748 +#: flatcamEditors/FlatCAMExcEditor.py:1870 +#: flatcamEditors/FlatCAMExcEditor.py:1963 +#: flatcamEditors/FlatCAMGrbEditor.py:2810 flatcamGUI/PreferencesUI.py:2724 +#: flatcamGUI/PreferencesUI.py:3895 flatcamGUI/PreferencesUI.py:3990 +#: flatcamGUI/PreferencesUI.py:4043 flatcamGUI/PreferencesUI.py:6341 #: flatcamTools/ToolFilm.py:256 msgid "X" msgstr "X" -#: flatcamEditors/FlatCAMExcEditor.py:1746 -#: flatcamEditors/FlatCAMExcEditor.py:1868 -#: flatcamEditors/FlatCAMExcEditor.py:1961 -#: flatcamEditors/FlatCAMGrbEditor.py:2805 flatcamGUI/PreferencesUI.py:2543 -#: flatcamGUI/PreferencesUI.py:3618 flatcamGUI/PreferencesUI.py:3713 -#: flatcamGUI/PreferencesUI.py:3766 flatcamGUI/PreferencesUI.py:5854 +#: flatcamEditors/FlatCAMExcEditor.py:1749 +#: flatcamEditors/FlatCAMExcEditor.py:1871 +#: flatcamEditors/FlatCAMExcEditor.py:1964 +#: flatcamEditors/FlatCAMGrbEditor.py:2811 flatcamGUI/PreferencesUI.py:2725 +#: flatcamGUI/PreferencesUI.py:3896 flatcamGUI/PreferencesUI.py:3991 +#: flatcamGUI/PreferencesUI.py:4044 flatcamGUI/PreferencesUI.py:6342 #: flatcamTools/ToolFilm.py:257 msgid "Y" msgstr "Y" -#: flatcamEditors/FlatCAMExcEditor.py:1747 -#: flatcamEditors/FlatCAMExcEditor.py:1764 -#: flatcamEditors/FlatCAMExcEditor.py:1798 -#: flatcamEditors/FlatCAMExcEditor.py:1869 -#: flatcamEditors/FlatCAMExcEditor.py:1873 -#: flatcamEditors/FlatCAMExcEditor.py:1962 -#: flatcamEditors/FlatCAMExcEditor.py:1980 -#: flatcamEditors/FlatCAMExcEditor.py:2014 -#: flatcamEditors/FlatCAMGrbEditor.py:2806 -#: flatcamEditors/FlatCAMGrbEditor.py:2823 -#: flatcamEditors/FlatCAMGrbEditor.py:2859 flatcamGUI/PreferencesUI.py:2544 -#: flatcamGUI/PreferencesUI.py:2562 flatcamGUI/PreferencesUI.py:3619 -#: flatcamGUI/PreferencesUI.py:3638 flatcamGUI/PreferencesUI.py:3714 -#: flatcamGUI/PreferencesUI.py:3719 flatcamGUI/PreferencesUI.py:3767 -#: flatcamGUI/PreferencesUI.py:3788 flatcamGUI/PreferencesUI.py:6246 -#: flatcamTools/ToolDistance.py:66 flatcamTools/ToolDistanceMin.py:68 -#: flatcamTools/ToolTransform.py:63 +#: flatcamEditors/FlatCAMExcEditor.py:1750 +#: flatcamEditors/FlatCAMExcEditor.py:1767 +#: flatcamEditors/FlatCAMExcEditor.py:1801 +#: flatcamEditors/FlatCAMExcEditor.py:1872 +#: flatcamEditors/FlatCAMExcEditor.py:1876 +#: flatcamEditors/FlatCAMExcEditor.py:1965 +#: flatcamEditors/FlatCAMExcEditor.py:1983 +#: flatcamEditors/FlatCAMExcEditor.py:2017 +#: flatcamEditors/FlatCAMGrbEditor.py:2812 +#: flatcamEditors/FlatCAMGrbEditor.py:2829 +#: flatcamEditors/FlatCAMGrbEditor.py:2865 flatcamGUI/PreferencesUI.py:2726 +#: flatcamGUI/PreferencesUI.py:2744 flatcamGUI/PreferencesUI.py:3897 +#: flatcamGUI/PreferencesUI.py:3916 flatcamGUI/PreferencesUI.py:3992 +#: flatcamGUI/PreferencesUI.py:3997 flatcamGUI/PreferencesUI.py:4045 +#: flatcamGUI/PreferencesUI.py:4066 flatcamGUI/PreferencesUI.py:6733 +#: flatcamTools/ToolDistance.py:120 flatcamTools/ToolDistanceMin.py:69 +#: flatcamTools/ToolTransform.py:61 msgid "Angle" msgstr "Угол" -#: flatcamEditors/FlatCAMExcEditor.py:1751 -#: flatcamEditors/FlatCAMExcEditor.py:1966 -#: flatcamEditors/FlatCAMGrbEditor.py:2810 flatcamGUI/PreferencesUI.py:2550 -#: flatcamGUI/PreferencesUI.py:3625 flatcamGUI/PreferencesUI.py:3773 +#: flatcamEditors/FlatCAMExcEditor.py:1754 +#: flatcamEditors/FlatCAMExcEditor.py:1969 +#: flatcamEditors/FlatCAMGrbEditor.py:2816 flatcamGUI/PreferencesUI.py:2732 +#: flatcamGUI/PreferencesUI.py:3903 flatcamGUI/PreferencesUI.py:4051 msgid "Pitch" msgstr "Шаг" -#: flatcamEditors/FlatCAMExcEditor.py:1753 -#: flatcamEditors/FlatCAMExcEditor.py:1968 -#: flatcamEditors/FlatCAMGrbEditor.py:2812 flatcamGUI/PreferencesUI.py:2552 -#: flatcamGUI/PreferencesUI.py:3627 flatcamGUI/PreferencesUI.py:3775 +#: flatcamEditors/FlatCAMExcEditor.py:1756 +#: flatcamEditors/FlatCAMExcEditor.py:1971 +#: flatcamEditors/FlatCAMGrbEditor.py:2818 flatcamGUI/PreferencesUI.py:2734 +#: flatcamGUI/PreferencesUI.py:3905 flatcamGUI/PreferencesUI.py:4053 msgid "Pitch = Distance between elements of the array." msgstr "Подача = Расстояние между элементами массива." -#: flatcamEditors/FlatCAMExcEditor.py:1766 -#: flatcamEditors/FlatCAMExcEditor.py:1982 +#: flatcamEditors/FlatCAMExcEditor.py:1769 +#: flatcamEditors/FlatCAMExcEditor.py:1985 msgid "" "Angle at which the linear array is placed.\n" "The precision is of max 2 decimals.\n" @@ -3313,9 +3723,9 @@ msgstr "" "Минимальное значение: -359.99 градусов.\n" "Максимальное значение: 360.00 градусов." -#: flatcamEditors/FlatCAMExcEditor.py:1787 -#: flatcamEditors/FlatCAMExcEditor.py:2003 -#: flatcamEditors/FlatCAMGrbEditor.py:2846 +#: flatcamEditors/FlatCAMExcEditor.py:1790 +#: flatcamEditors/FlatCAMExcEditor.py:2006 +#: flatcamEditors/FlatCAMGrbEditor.py:2852 msgid "" "Direction for circular array.Can be CW = clockwise or CCW = counter " "clockwise." @@ -3323,36 +3733,36 @@ msgstr "" "Направление для кругового массива. Может быть CW = по часовой стрелке или " "CCW = против часовой стрелки." -#: flatcamEditors/FlatCAMExcEditor.py:1794 -#: flatcamEditors/FlatCAMExcEditor.py:2010 -#: flatcamEditors/FlatCAMGrbEditor.py:2854 flatcamGUI/PreferencesUI.py:2584 -#: flatcamGUI/PreferencesUI.py:3368 flatcamGUI/PreferencesUI.py:3661 -#: flatcamGUI/PreferencesUI.py:3811 flatcamGUI/PreferencesUI.py:4288 +#: flatcamEditors/FlatCAMExcEditor.py:1797 +#: flatcamEditors/FlatCAMExcEditor.py:2013 +#: flatcamEditors/FlatCAMGrbEditor.py:2860 flatcamGUI/PreferencesUI.py:2766 +#: flatcamGUI/PreferencesUI.py:3646 flatcamGUI/PreferencesUI.py:3939 +#: flatcamGUI/PreferencesUI.py:4089 flatcamGUI/PreferencesUI.py:4581 msgid "CW" msgstr "CW" -#: flatcamEditors/FlatCAMExcEditor.py:1795 -#: flatcamEditors/FlatCAMExcEditor.py:2011 -#: flatcamEditors/FlatCAMGrbEditor.py:2855 flatcamGUI/PreferencesUI.py:2585 -#: flatcamGUI/PreferencesUI.py:3369 flatcamGUI/PreferencesUI.py:3662 -#: flatcamGUI/PreferencesUI.py:3812 flatcamGUI/PreferencesUI.py:4289 +#: flatcamEditors/FlatCAMExcEditor.py:1798 +#: flatcamEditors/FlatCAMExcEditor.py:2014 +#: flatcamEditors/FlatCAMGrbEditor.py:2861 flatcamGUI/PreferencesUI.py:2767 +#: flatcamGUI/PreferencesUI.py:3647 flatcamGUI/PreferencesUI.py:3940 +#: flatcamGUI/PreferencesUI.py:4090 flatcamGUI/PreferencesUI.py:4582 msgid "CCW" msgstr "CCW" -#: flatcamEditors/FlatCAMExcEditor.py:1799 -#: flatcamEditors/FlatCAMExcEditor.py:2015 -#: flatcamEditors/FlatCAMGrbEditor.py:2861 flatcamGUI/PreferencesUI.py:2564 -#: flatcamGUI/PreferencesUI.py:2593 flatcamGUI/PreferencesUI.py:3640 -#: flatcamGUI/PreferencesUI.py:3670 flatcamGUI/PreferencesUI.py:3790 -#: flatcamGUI/PreferencesUI.py:3820 +#: flatcamEditors/FlatCAMExcEditor.py:1802 +#: flatcamEditors/FlatCAMExcEditor.py:2018 +#: flatcamEditors/FlatCAMGrbEditor.py:2867 flatcamGUI/PreferencesUI.py:2746 +#: flatcamGUI/PreferencesUI.py:2775 flatcamGUI/PreferencesUI.py:3918 +#: flatcamGUI/PreferencesUI.py:3948 flatcamGUI/PreferencesUI.py:4068 +#: flatcamGUI/PreferencesUI.py:4098 msgid "Angle at which each element in circular array is placed." msgstr "Угол, под которым расположен каждый элемент в круговом массиве." -#: flatcamEditors/FlatCAMExcEditor.py:1833 +#: flatcamEditors/FlatCAMExcEditor.py:1836 msgid "Slot Parameters" msgstr "Параметры слота" -#: flatcamEditors/FlatCAMExcEditor.py:1835 +#: flatcamEditors/FlatCAMExcEditor.py:1838 msgid "" "Parameters for adding a slot (hole with oval shape)\n" "either single or as an part of an array." @@ -3360,16 +3770,16 @@ msgstr "" "Параметры для добавления прорези (отверстие овальной формы)\n" "либо один, либо как часть массива." -#: flatcamEditors/FlatCAMExcEditor.py:1844 flatcamGUI/PreferencesUI.py:3687 -#: flatcamTools/ToolProperties.py:555 +#: flatcamEditors/FlatCAMExcEditor.py:1847 flatcamGUI/PreferencesUI.py:3965 +#: flatcamTools/ToolProperties.py:559 msgid "Length" msgstr "Длина" -#: flatcamEditors/FlatCAMExcEditor.py:1846 flatcamGUI/PreferencesUI.py:3689 +#: flatcamEditors/FlatCAMExcEditor.py:1849 flatcamGUI/PreferencesUI.py:3967 msgid "Length = The length of the slot." msgstr "Длина = длина слота." -#: flatcamEditors/FlatCAMExcEditor.py:1860 flatcamGUI/PreferencesUI.py:3705 +#: flatcamEditors/FlatCAMExcEditor.py:1863 flatcamGUI/PreferencesUI.py:3983 msgid "" "Direction on which the slot is oriented:\n" "- 'X' - horizontal axis \n" @@ -3381,7 +3791,7 @@ msgstr "" "- 'Y' - вертикальная ось или\n" "- «Угол» - произвольный угол наклона паза" -#: flatcamEditors/FlatCAMExcEditor.py:1875 +#: flatcamEditors/FlatCAMExcEditor.py:1878 msgid "" "Angle at which the slot is placed.\n" "The precision is of max 2 decimals.\n" @@ -3393,15 +3803,15 @@ msgstr "" "Минимальное значение: -359,99 градусов.\n" "Максимальное значение: 360,00 градусов." -#: flatcamEditors/FlatCAMExcEditor.py:1908 +#: flatcamEditors/FlatCAMExcEditor.py:1911 msgid "Slot Array Parameters" msgstr "Параметры массива пазов" -#: flatcamEditors/FlatCAMExcEditor.py:1910 +#: flatcamEditors/FlatCAMExcEditor.py:1913 msgid "Parameters for the array of slots (linear or circular array)" msgstr "Параметры для массива пазов(линейный или круговой массив)" -#: flatcamEditors/FlatCAMExcEditor.py:1919 +#: flatcamEditors/FlatCAMExcEditor.py:1922 msgid "" "Select the type of slot array to create.\n" "It can be Linear X(Y) or Circular" @@ -3409,15 +3819,15 @@ msgstr "" "Выберите тип массива пазов для создания.\n" "Это может быть линейный X (Y) или круговой" -#: flatcamEditors/FlatCAMExcEditor.py:1931 flatcamGUI/PreferencesUI.py:3744 +#: flatcamEditors/FlatCAMExcEditor.py:1934 flatcamGUI/PreferencesUI.py:4022 msgid "Nr of slots" msgstr "Количество пазов" -#: flatcamEditors/FlatCAMExcEditor.py:1932 flatcamGUI/PreferencesUI.py:3746 +#: flatcamEditors/FlatCAMExcEditor.py:1935 flatcamGUI/PreferencesUI.py:4024 msgid "Specify how many slots to be in the array." msgstr "Укажите, сколько пазов должно быть в массиве." -#: flatcamEditors/FlatCAMExcEditor.py:2546 +#: flatcamEditors/FlatCAMExcEditor.py:2571 msgid "" "Tool already in the original or actual tool list.\n" "Save and reedit Excellon if you need to add this tool. " @@ -3426,51 +3836,51 @@ msgstr "" "Сохраните и повторно отредактируйте Excellon, если вам нужно добавить этот " "инструмент. " -#: flatcamEditors/FlatCAMExcEditor.py:2555 flatcamGUI/FlatCAMGUI.py:3792 +#: flatcamEditors/FlatCAMExcEditor.py:2580 flatcamGUI/FlatCAMGUI.py:4009 msgid "Added new tool with dia" msgstr "Добавлен новый инструмент с диаметром" -#: flatcamEditors/FlatCAMExcEditor.py:2589 +#: flatcamEditors/FlatCAMExcEditor.py:2613 msgid "Select a tool in Tool Table" msgstr "Выберите инструмент в таблице инструментов" -#: flatcamEditors/FlatCAMExcEditor.py:2622 +#: flatcamEditors/FlatCAMExcEditor.py:2643 msgid "Deleted tool with diameter" msgstr "Удалён инструмент с диаметром" -#: flatcamEditors/FlatCAMExcEditor.py:2772 +#: flatcamEditors/FlatCAMExcEditor.py:2793 msgid "Done. Tool edit completed." msgstr "Готово. Редактирование инструмента завершено." -#: flatcamEditors/FlatCAMExcEditor.py:3324 +#: flatcamEditors/FlatCAMExcEditor.py:3350 msgid "There are no Tools definitions in the file. Aborting Excellon creation." msgstr "В файле нет инструментов. Прерывание создания Excellon." -#: flatcamEditors/FlatCAMExcEditor.py:3328 +#: flatcamEditors/FlatCAMExcEditor.py:3354 msgid "An internal error has ocurred. See Shell.\n" msgstr "" "Произошла внутренняя ошибка. Смотрите командную строку.\n" "\n" -#: flatcamEditors/FlatCAMExcEditor.py:3333 +#: flatcamEditors/FlatCAMExcEditor.py:3359 msgid "Creating Excellon." msgstr "Создание Excellon." -#: flatcamEditors/FlatCAMExcEditor.py:3347 +#: flatcamEditors/FlatCAMExcEditor.py:3371 msgid "Excellon editing finished." msgstr "Редактирование Excellon завершено." -#: flatcamEditors/FlatCAMExcEditor.py:3365 +#: flatcamEditors/FlatCAMExcEditor.py:3388 msgid "Cancelled. There is no Tool/Drill selected" msgstr "Отмена. Инструмент/сверло не выбрано" -#: flatcamEditors/FlatCAMExcEditor.py:3978 +#: flatcamEditors/FlatCAMExcEditor.py:4001 msgid "Done. Drill(s) deleted." msgstr "Готово. Отверстия удалены." -#: flatcamEditors/FlatCAMExcEditor.py:4051 -#: flatcamEditors/FlatCAMExcEditor.py:4061 -#: flatcamEditors/FlatCAMGrbEditor.py:4853 +#: flatcamEditors/FlatCAMExcEditor.py:4074 +#: flatcamEditors/FlatCAMExcEditor.py:4084 +#: flatcamEditors/FlatCAMGrbEditor.py:4897 msgid "Click on the circular array Center position" msgstr "Нажмите на центральную позицию кругового массива" @@ -3496,18 +3906,24 @@ msgstr "" " - 'Скошенный:' линия, напрямую соединяющая элементы, встречающиеся в углу" #: flatcamEditors/FlatCAMGeoEditor.py:95 -#: flatcamEditors/FlatCAMGrbEditor.py:2622 +#: flatcamEditors/FlatCAMGrbEditor.py:2628 msgid "Round" msgstr "Круглый" #: flatcamEditors/FlatCAMGeoEditor.py:96 -#: flatcamEditors/FlatCAMGrbEditor.py:2623 flatcamGUI/PreferencesUI.py:7058 +#: flatcamEditors/FlatCAMGrbEditor.py:2629 flatcamGUI/PreferencesUI.py:5606 +#: flatcamGUI/PreferencesUI.py:6130 flatcamGUI/PreferencesUI.py:7564 +#: flatcamGUI/PreferencesUI.py:8167 flatcamGUI/PreferencesUI.py:8274 +#: flatcamGUI/PreferencesUI.py:8379 flatcamGUI/PreferencesUI.py:8488 +#: flatcamTools/ToolExtractDrills.py:94 flatcamTools/ToolExtractDrills.py:227 +#: flatcamTools/ToolNCC.py:583 flatcamTools/ToolPaint.py:527 +#: flatcamTools/ToolPunchGerber.py:105 flatcamTools/ToolPunchGerber.py:255 #: flatcamTools/ToolQRCode.py:198 msgid "Square" msgstr "Квадратный" #: flatcamEditors/FlatCAMGeoEditor.py:97 -#: flatcamEditors/FlatCAMGrbEditor.py:2624 +#: flatcamEditors/FlatCAMGrbEditor.py:2630 msgid "Beveled" msgstr "Скошенный" @@ -3524,18 +3940,18 @@ msgid "Full Buffer" msgstr "Полный буфер" #: flatcamEditors/FlatCAMGeoEditor.py:133 -#: flatcamEditors/FlatCAMGeoEditor.py:2885 flatcamGUI/FlatCAMGUI.py:1805 -#: flatcamGUI/PreferencesUI.py:2604 +#: flatcamEditors/FlatCAMGeoEditor.py:3018 flatcamGUI/FlatCAMGUI.py:1913 +#: flatcamGUI/PreferencesUI.py:2786 msgid "Buffer Tool" msgstr "Буфер" #: flatcamEditors/FlatCAMGeoEditor.py:145 #: flatcamEditors/FlatCAMGeoEditor.py:162 #: flatcamEditors/FlatCAMGeoEditor.py:179 -#: flatcamEditors/FlatCAMGeoEditor.py:2904 -#: flatcamEditors/FlatCAMGeoEditor.py:2934 -#: flatcamEditors/FlatCAMGeoEditor.py:2964 -#: flatcamEditors/FlatCAMGrbEditor.py:4906 +#: flatcamEditors/FlatCAMGeoEditor.py:3037 +#: flatcamEditors/FlatCAMGeoEditor.py:3065 +#: flatcamEditors/FlatCAMGeoEditor.py:3093 +#: flatcamEditors/FlatCAMGrbEditor.py:4950 msgid "Buffer distance value is missing or wrong format. Add it and retry." msgstr "" "Отсутствует значение расстояния буфера или оно имеет неправильный формат. " @@ -3545,7 +3961,7 @@ msgstr "" msgid "Font" msgstr "Шрифт" -#: flatcamEditors/FlatCAMGeoEditor.py:324 flatcamGUI/FlatCAMGUI.py:2085 +#: flatcamEditors/FlatCAMGeoEditor.py:324 flatcamGUI/FlatCAMGUI.py:2193 msgid "Text" msgstr "Tекст" @@ -3553,206 +3969,126 @@ msgstr "Tекст" msgid "Text Tool" msgstr "Текст" -#: flatcamEditors/FlatCAMGeoEditor.py:442 flatcamGUI/ObjectUI.py:359 -#: flatcamGUI/PreferencesUI.py:2025 flatcamGUI/PreferencesUI.py:3875 -#: flatcamGUI/PreferencesUI.py:5535 +#: flatcamEditors/FlatCAMGeoEditor.py:440 flatcamGUI/ObjectUI.py:363 +#: flatcamGUI/PreferencesUI.py:2205 msgid "Tool dia" msgstr "Диаметр инструмента" -#: flatcamEditors/FlatCAMGeoEditor.py:444 flatcamGUI/PreferencesUI.py:5537 -msgid "" -"Diameter of the tool to\n" -"be used in the operation." +#: flatcamEditors/FlatCAMGeoEditor.py:442 +#, fuzzy +#| msgid "" +#| "Diameter of the tool to\n" +#| "be used in the operation." +msgid "Diameter of the tool to be used in the operation." msgstr "" "Диаметр инструмента\n" "используемого в этой операции." -#: flatcamEditors/FlatCAMGeoEditor.py:455 flatcamGUI/PreferencesUI.py:5152 -#: flatcamGUI/PreferencesUI.py:5567 flatcamTools/ToolNonCopperClear.py:319 -#: flatcamTools/ToolPaint.py:219 -msgid "Overlap Rate" -msgstr "Частота перекрытия" - -#: flatcamEditors/FlatCAMGeoEditor.py:457 flatcamGUI/PreferencesUI.py:5569 -#: flatcamTools/ToolPaint.py:221 +#: flatcamEditors/FlatCAMGeoEditor.py:488 +#, fuzzy +#| msgid "" +#| "Algorithm for painting:\n" +#| "- Standard: Fixed step inwards.\n" +#| "- Seed-based: Outwards from seed.\n" +#| "- Line-based: Parallel lines." msgid "" -"How much (fraction) 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" -"Lower values = faster processing, faster execution on CNC.\n" -"Higher values = slow processing and slow execution on CNC\n" -"due of too many paths." +"Algorithm to paint the polygons:\n" +"- Standard: Fixed step inwards.\n" +"- Seed-based: Outwards from seed.\n" +"- Line-based: Parallel lines." msgstr "" -"Какая часть ширины инструмента будет перекрываться за каждый проход " -"инструмента.\n" -"Отрегулируйте значение, начиная с более низких значений\n" -"и увеличивая его, если области, которые должны быть нарисованы, все ещё\n" -"не окрашены.\n" -"Более низкие значения = более быстрая обработка, более быстрое выполнение на " -"печатной плате.\n" -"Более высокие значения = медленная обработка и медленное выполнение на ЧПУ\n" -"из-за большого количества путей." +"Алгоритм рисования:\n" +"- Стандартный: фиксированный шаг внутрь.\n" +"- Круговой: наружу от центра.\n" +"- Линейный: параллельные линии." -#: flatcamEditors/FlatCAMGeoEditor.py:475 flatcamGUI/PreferencesUI.py:5171 -#: flatcamGUI/PreferencesUI.py:5384 flatcamGUI/PreferencesUI.py:5587 -#: flatcamGUI/PreferencesUI.py:7175 flatcamGUI/PreferencesUI.py:7332 -#: flatcamGUI/PreferencesUI.py:7417 flatcamTools/ToolCopperThieving.py:111 -#: flatcamTools/ToolCopperThieving.py:361 flatcamTools/ToolCutOut.py:184 -#: flatcamTools/ToolFiducials.py:172 flatcamTools/ToolNonCopperClear.py:337 -#: flatcamTools/ToolPaint.py:238 -msgid "Margin" -msgstr "Отступ" - -#: flatcamEditors/FlatCAMGeoEditor.py:477 flatcamGUI/PreferencesUI.py:5589 -#: flatcamTools/ToolPaint.py:240 -msgid "" -"Distance by which to avoid\n" -"the edges of the polygon to\n" -"be painted." -msgstr "Расстояние, которое не закрашивать до края полигона." - -#: flatcamEditors/FlatCAMGeoEditor.py:489 flatcamGUI/PreferencesUI.py:5184 -#: flatcamGUI/PreferencesUI.py:5602 flatcamTools/ToolNonCopperClear.py:348 -#: flatcamTools/ToolPaint.py:251 -msgid "Method" -msgstr "Метод" - -#: flatcamEditors/FlatCAMGeoEditor.py:491 -msgid "" -"Algorithm to paint the polygon:
Standard: Fixed step inwards." -"
Seed-based: Outwards from seed." -msgstr "" -"Алгоритм отрисовки полигона:
Стандартный: Фиксированный шаг внутрь." -"
По кругу: От центра наружу." - -#: flatcamEditors/FlatCAMGeoEditor.py:496 flatcamGUI/PreferencesUI.py:5193 -#: flatcamGUI/PreferencesUI.py:5611 flatcamTools/ToolNonCopperClear.py:357 -#: flatcamTools/ToolPaint.py:260 -msgid "Standard" -msgstr "Стандартный" - -#: flatcamEditors/FlatCAMGeoEditor.py:497 flatcamGUI/PreferencesUI.py:5194 -#: flatcamGUI/PreferencesUI.py:5612 flatcamTools/ToolNonCopperClear.py:358 -#: flatcamTools/ToolPaint.py:261 -msgid "Seed-based" -msgstr "От центра по кругу" - -#: flatcamEditors/FlatCAMGeoEditor.py:498 flatcamGUI/PreferencesUI.py:5195 -#: flatcamGUI/PreferencesUI.py:5613 flatcamTools/ToolNonCopperClear.py:359 -#: flatcamTools/ToolPaint.py:262 -msgid "Straight lines" -msgstr "Прямая линия" - -#: flatcamEditors/FlatCAMGeoEditor.py:505 +#: flatcamEditors/FlatCAMGeoEditor.py:507 msgid "Connect:" msgstr "Подключение:" -#: flatcamEditors/FlatCAMGeoEditor.py:507 flatcamGUI/PreferencesUI.py:5204 -#: flatcamGUI/PreferencesUI.py:5620 flatcamTools/ToolNonCopperClear.py:366 -#: flatcamTools/ToolPaint.py:269 -msgid "" -"Draw lines between resulting\n" -"segments to minimize tool lifts." -msgstr "" -"Рисовать линии между результирующей сегментами\n" -" для минимизации подъёма инструмента." - -#: flatcamEditors/FlatCAMGeoEditor.py:515 +#: flatcamEditors/FlatCAMGeoEditor.py:517 msgid "Contour:" msgstr "Контур:" -#: flatcamEditors/FlatCAMGeoEditor.py:517 flatcamGUI/PreferencesUI.py:5213 -#: flatcamGUI/PreferencesUI.py:5628 flatcamTools/ToolNonCopperClear.py:373 -#: flatcamTools/ToolPaint.py:276 -msgid "" -"Cut around the perimeter of the polygon\n" -"to trim rough edges." -msgstr "" -"Обрезка по периметру полигона\n" -"для зачистки неровных краёв." - -#: flatcamEditors/FlatCAMGeoEditor.py:529 flatcamGUI/FlatCAMGUI.py:2089 +#: flatcamEditors/FlatCAMGeoEditor.py:530 flatcamGUI/FlatCAMGUI.py:2197 msgid "Paint" msgstr "Нарисовать" -#: flatcamEditors/FlatCAMGeoEditor.py:547 flatcamGUI/FlatCAMGUI.py:845 -#: flatcamGUI/FlatCAMGUI.py:2423 flatcamGUI/ObjectUI.py:1731 -#: flatcamTools/ToolPaint.py:41 flatcamTools/ToolPaint.py:533 +#: flatcamEditors/FlatCAMGeoEditor.py:548 flatcamGUI/FlatCAMGUI.py:909 +#: flatcamGUI/FlatCAMGUI.py:2588 flatcamGUI/ObjectUI.py:2057 +#: flatcamTools/ToolPaint.py:43 flatcamTools/ToolPaint.py:735 msgid "Paint Tool" msgstr "Рисование" #: flatcamEditors/FlatCAMGeoEditor.py:584 -msgid "Paint cancelled. No shape selected." -msgstr "Рисование отменено. Фугура не выбрана." +#: flatcamEditors/FlatCAMGeoEditor.py:1056 +#: flatcamEditors/FlatCAMGeoEditor.py:3025 +#: flatcamEditors/FlatCAMGeoEditor.py:3053 +#: flatcamEditors/FlatCAMGeoEditor.py:3081 +#: flatcamEditors/FlatCAMGeoEditor.py:4502 +#: flatcamEditors/FlatCAMGrbEditor.py:5601 +#, fuzzy +#| msgid "Copy cancelled. No shape selected." +msgid "Cancelled. No shape selected." +msgstr "Копирование отменено. Форма не выбрана." #: flatcamEditors/FlatCAMGeoEditor.py:597 -#: flatcamEditors/FlatCAMGeoEditor.py:2910 -#: flatcamEditors/FlatCAMGeoEditor.py:2940 -#: flatcamEditors/FlatCAMGeoEditor.py:2970 flatcamGUI/PreferencesUI.py:3871 -#: flatcamTools/ToolProperties.py:120 flatcamTools/ToolProperties.py:158 +#: flatcamEditors/FlatCAMGeoEditor.py:3043 +#: flatcamEditors/FlatCAMGeoEditor.py:3071 +#: flatcamEditors/FlatCAMGeoEditor.py:3099 flatcamGUI/PreferencesUI.py:4149 +#: flatcamTools/ToolProperties.py:117 flatcamTools/ToolProperties.py:162 msgid "Tools" msgstr "Инструменты" #: flatcamEditors/FlatCAMGeoEditor.py:608 #: flatcamEditors/FlatCAMGeoEditor.py:992 -#: flatcamEditors/FlatCAMGrbEditor.py:5096 -#: flatcamEditors/FlatCAMGrbEditor.py:5493 flatcamGUI/FlatCAMGUI.py:866 -#: flatcamGUI/FlatCAMGUI.py:2441 flatcamTools/ToolTransform.py:422 +#: flatcamEditors/FlatCAMGrbEditor.py:5140 +#: flatcamEditors/FlatCAMGrbEditor.py:5537 flatcamGUI/FlatCAMGUI.py:930 +#: flatcamGUI/FlatCAMGUI.py:2609 flatcamTools/ToolTransform.py:461 msgid "Transform Tool" msgstr "Трансформация" #: flatcamEditors/FlatCAMGeoEditor.py:609 #: flatcamEditors/FlatCAMGeoEditor.py:674 -#: flatcamEditors/FlatCAMGrbEditor.py:5097 -#: flatcamEditors/FlatCAMGrbEditor.py:5162 flatcamGUI/PreferencesUI.py:6238 -#: flatcamTools/ToolTransform.py:25 flatcamTools/ToolTransform.py:80 +#: flatcamEditors/FlatCAMGrbEditor.py:5141 +#: flatcamEditors/FlatCAMGrbEditor.py:5206 flatcamGUI/PreferencesUI.py:6725 +#: flatcamTools/ToolTransform.py:25 flatcamTools/ToolTransform.py:467 msgid "Rotate" msgstr "Вращение" #: flatcamEditors/FlatCAMGeoEditor.py:610 -#: flatcamEditors/FlatCAMGrbEditor.py:5098 flatcamTools/ToolTransform.py:26 +#: flatcamEditors/FlatCAMGrbEditor.py:5142 flatcamTools/ToolTransform.py:26 msgid "Skew/Shear" msgstr "Наклон/Сдвиг" #: flatcamEditors/FlatCAMGeoEditor.py:611 -#: flatcamEditors/FlatCAMGrbEditor.py:2671 -#: flatcamEditors/FlatCAMGrbEditor.py:5099 flatcamGUI/FlatCAMGUI.py:980 -#: flatcamGUI/FlatCAMGUI.py:2017 flatcamGUI/FlatCAMGUI.py:2132 -#: flatcamGUI/FlatCAMGUI.py:2549 flatcamGUI/ObjectUI.py:103 -#: flatcamGUI/ObjectUI.py:121 flatcamGUI/PreferencesUI.py:6288 -#: flatcamTools/ToolTransform.py:27 +#: flatcamEditors/FlatCAMGrbEditor.py:2677 +#: flatcamEditors/FlatCAMGrbEditor.py:5143 flatcamGUI/FlatCAMGUI.py:1048 +#: flatcamGUI/FlatCAMGUI.py:2125 flatcamGUI/FlatCAMGUI.py:2240 +#: flatcamGUI/FlatCAMGUI.py:2723 flatcamGUI/ObjectUI.py:124 +#: flatcamGUI/PreferencesUI.py:6775 flatcamTools/ToolTransform.py:27 msgid "Scale" msgstr "Масштаб" #: flatcamEditors/FlatCAMGeoEditor.py:612 -#: flatcamEditors/FlatCAMGrbEditor.py:5100 flatcamTools/ToolTransform.py:28 +#: flatcamEditors/FlatCAMGrbEditor.py:5144 flatcamTools/ToolTransform.py:28 msgid "Mirror (Flip)" msgstr "Зеркалирование (отражение)" -#: flatcamEditors/FlatCAMGeoEditor.py:613 -#: flatcamEditors/FlatCAMGrbEditor.py:5101 flatcamGUI/ObjectUI.py:132 -#: flatcamGUI/ObjectUI.py:148 flatcamGUI/ObjectUI.py:1217 -#: flatcamGUI/ObjectUI.py:1916 flatcamGUI/PreferencesUI.py:5234 -#: flatcamGUI/PreferencesUI.py:6335 flatcamTools/ToolNonCopperClear.py:393 -#: flatcamTools/ToolTransform.py:29 -msgid "Offset" -msgstr "Смещение" - #: flatcamEditors/FlatCAMGeoEditor.py:626 -#: flatcamEditors/FlatCAMGrbEditor.py:5114 flatcamGUI/FlatCAMGUI.py:787 -#: flatcamGUI/FlatCAMGUI.py:2370 +#: flatcamEditors/FlatCAMGrbEditor.py:5158 flatcamGUI/FlatCAMGUI.py:841 +#: flatcamGUI/FlatCAMGUI.py:2524 msgid "Editor" msgstr "Редактор" #: flatcamEditors/FlatCAMGeoEditor.py:658 -#: flatcamEditors/FlatCAMGrbEditor.py:5146 +#: flatcamEditors/FlatCAMGrbEditor.py:5190 msgid "Angle:" msgstr "Угол:" #: flatcamEditors/FlatCAMGeoEditor.py:660 -#: flatcamEditors/FlatCAMGrbEditor.py:5148 flatcamGUI/PreferencesUI.py:6248 -#: flatcamTools/ToolTransform.py:65 +#: flatcamEditors/FlatCAMGrbEditor.py:5192 flatcamGUI/PreferencesUI.py:6735 +#: flatcamTools/ToolTransform.py:63 msgid "" "Angle for Rotation action, in degrees.\n" "Float number between -360 and 359.\n" @@ -3765,7 +4101,7 @@ msgstr "" "Отрицательные числа для движения против часовой стрелки." #: flatcamEditors/FlatCAMGeoEditor.py:676 -#: flatcamEditors/FlatCAMGrbEditor.py:5164 +#: flatcamEditors/FlatCAMGrbEditor.py:5208 msgid "" "Rotate the selected shape(s).\n" "The point of reference is the middle of\n" @@ -3776,16 +4112,16 @@ msgstr "" "ограничительной рамки для всех выбранных фигур." #: flatcamEditors/FlatCAMGeoEditor.py:699 -#: flatcamEditors/FlatCAMGrbEditor.py:5187 +#: flatcamEditors/FlatCAMGrbEditor.py:5231 msgid "Angle X:" msgstr "Угол X:" #: flatcamEditors/FlatCAMGeoEditor.py:701 #: flatcamEditors/FlatCAMGeoEditor.py:721 -#: flatcamEditors/FlatCAMGrbEditor.py:5189 -#: flatcamEditors/FlatCAMGrbEditor.py:5209 flatcamGUI/PreferencesUI.py:6267 -#: flatcamGUI/PreferencesUI.py:6281 flatcamTools/ToolCalibration.py:508 -#: flatcamTools/ToolCalibration.py:521 +#: flatcamEditors/FlatCAMGrbEditor.py:5233 +#: flatcamEditors/FlatCAMGrbEditor.py:5253 flatcamGUI/PreferencesUI.py:6754 +#: flatcamGUI/PreferencesUI.py:6768 flatcamTools/ToolCalibration.py:505 +#: flatcamTools/ToolCalibration.py:518 msgid "" "Angle for Skew action, in degrees.\n" "Float number between -360 and 359." @@ -3794,14 +4130,14 @@ msgstr "" "Число с плавающей запятой между -360 и 359." #: flatcamEditors/FlatCAMGeoEditor.py:712 -#: flatcamEditors/FlatCAMGrbEditor.py:5200 flatcamTools/ToolTransform.py:109 +#: flatcamEditors/FlatCAMGrbEditor.py:5244 flatcamTools/ToolTransform.py:468 msgid "Skew X" msgstr "Наклон X" #: flatcamEditors/FlatCAMGeoEditor.py:714 #: flatcamEditors/FlatCAMGeoEditor.py:734 -#: flatcamEditors/FlatCAMGrbEditor.py:5202 -#: flatcamEditors/FlatCAMGrbEditor.py:5222 +#: flatcamEditors/FlatCAMGrbEditor.py:5246 +#: flatcamEditors/FlatCAMGrbEditor.py:5266 msgid "" "Skew/shear the selected shape(s).\n" "The point of reference is the middle of\n" @@ -3812,34 +4148,34 @@ msgstr "" "ограничительной рамки для всех выбранных фигур." #: flatcamEditors/FlatCAMGeoEditor.py:719 -#: flatcamEditors/FlatCAMGrbEditor.py:5207 +#: flatcamEditors/FlatCAMGrbEditor.py:5251 msgid "Angle Y:" msgstr "Угол Y:" #: flatcamEditors/FlatCAMGeoEditor.py:732 -#: flatcamEditors/FlatCAMGrbEditor.py:5220 flatcamTools/ToolTransform.py:131 +#: flatcamEditors/FlatCAMGrbEditor.py:5264 flatcamTools/ToolTransform.py:469 msgid "Skew Y" msgstr "Наклон Y" #: flatcamEditors/FlatCAMGeoEditor.py:760 -#: flatcamEditors/FlatCAMGrbEditor.py:5248 +#: flatcamEditors/FlatCAMGrbEditor.py:5292 msgid "Factor X:" msgstr "Коэффициент X:" #: flatcamEditors/FlatCAMGeoEditor.py:762 -#: flatcamEditors/FlatCAMGrbEditor.py:5250 flatcamTools/ToolCalibration.py:472 +#: flatcamEditors/FlatCAMGrbEditor.py:5294 flatcamTools/ToolCalibration.py:469 msgid "Factor for Scale action over X axis." msgstr "Коэффициент масштабирования по оси X." #: flatcamEditors/FlatCAMGeoEditor.py:772 -#: flatcamEditors/FlatCAMGrbEditor.py:5260 flatcamTools/ToolTransform.py:158 +#: flatcamEditors/FlatCAMGrbEditor.py:5304 flatcamTools/ToolTransform.py:470 msgid "Scale X" msgstr "Масштаб Х" #: flatcamEditors/FlatCAMGeoEditor.py:774 #: flatcamEditors/FlatCAMGeoEditor.py:793 -#: flatcamEditors/FlatCAMGrbEditor.py:5262 -#: flatcamEditors/FlatCAMGrbEditor.py:5281 +#: flatcamEditors/FlatCAMGrbEditor.py:5306 +#: flatcamEditors/FlatCAMGrbEditor.py:5325 msgid "" "Scale the selected shape(s).\n" "The point of reference depends on \n" @@ -3850,28 +4186,28 @@ msgstr "" "состояние флажка Scale Reference." #: flatcamEditors/FlatCAMGeoEditor.py:779 -#: flatcamEditors/FlatCAMGrbEditor.py:5267 +#: flatcamEditors/FlatCAMGrbEditor.py:5311 msgid "Factor Y:" msgstr "Коэффициент Y:" #: flatcamEditors/FlatCAMGeoEditor.py:781 -#: flatcamEditors/FlatCAMGrbEditor.py:5269 flatcamTools/ToolCalibration.py:484 +#: flatcamEditors/FlatCAMGrbEditor.py:5313 flatcamTools/ToolCalibration.py:481 msgid "Factor for Scale action over Y axis." msgstr "Коэффициент масштабирования по оси Y." #: flatcamEditors/FlatCAMGeoEditor.py:791 -#: flatcamEditors/FlatCAMGrbEditor.py:5279 flatcamTools/ToolTransform.py:179 +#: flatcamEditors/FlatCAMGrbEditor.py:5323 flatcamTools/ToolTransform.py:471 msgid "Scale Y" msgstr "Масштаб Y" #: flatcamEditors/FlatCAMGeoEditor.py:800 -#: flatcamEditors/FlatCAMGrbEditor.py:5288 flatcamGUI/PreferencesUI.py:6317 -#: flatcamTools/ToolTransform.py:192 +#: flatcamEditors/FlatCAMGrbEditor.py:5332 flatcamGUI/PreferencesUI.py:6804 +#: flatcamTools/ToolTransform.py:190 msgid "Link" msgstr "Ссылка" #: flatcamEditors/FlatCAMGeoEditor.py:802 -#: flatcamEditors/FlatCAMGrbEditor.py:5290 +#: flatcamEditors/FlatCAMGrbEditor.py:5334 msgid "" "Scale the selected shape(s)\n" "using the Scale Factor X for both axis." @@ -3880,13 +4216,13 @@ msgstr "" "используя коэффициент X для обеих осей." #: flatcamEditors/FlatCAMGeoEditor.py:808 -#: flatcamEditors/FlatCAMGrbEditor.py:5296 flatcamGUI/PreferencesUI.py:6325 -#: flatcamTools/ToolTransform.py:200 +#: flatcamEditors/FlatCAMGrbEditor.py:5340 flatcamGUI/PreferencesUI.py:6812 +#: flatcamTools/ToolTransform.py:197 msgid "Scale Reference" msgstr "Эталон масштабирования" #: flatcamEditors/FlatCAMGeoEditor.py:810 -#: flatcamEditors/FlatCAMGrbEditor.py:5298 +#: flatcamEditors/FlatCAMGrbEditor.py:5342 msgid "" "Scale the selected shape(s)\n" "using the origin reference when checked,\n" @@ -3899,24 +4235,24 @@ msgstr "" "выбранных фигур, если флажок снят." #: flatcamEditors/FlatCAMGeoEditor.py:838 -#: flatcamEditors/FlatCAMGrbEditor.py:5327 +#: flatcamEditors/FlatCAMGrbEditor.py:5371 msgid "Value X:" msgstr "Значение X:" #: flatcamEditors/FlatCAMGeoEditor.py:840 -#: flatcamEditors/FlatCAMGrbEditor.py:5329 +#: flatcamEditors/FlatCAMGrbEditor.py:5373 msgid "Value for Offset action on X axis." msgstr "Значение для смещения по оси X." #: flatcamEditors/FlatCAMGeoEditor.py:850 -#: flatcamEditors/FlatCAMGrbEditor.py:5339 flatcamTools/ToolTransform.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:5383 flatcamTools/ToolTransform.py:474 msgid "Offset X" msgstr "Смещение Х" #: flatcamEditors/FlatCAMGeoEditor.py:852 #: flatcamEditors/FlatCAMGeoEditor.py:872 -#: flatcamEditors/FlatCAMGrbEditor.py:5341 -#: flatcamEditors/FlatCAMGrbEditor.py:5361 +#: flatcamEditors/FlatCAMGrbEditor.py:5385 +#: flatcamEditors/FlatCAMGrbEditor.py:5405 msgid "" "Offset the selected shape(s).\n" "The point of reference is the middle of\n" @@ -3927,29 +4263,29 @@ msgstr "" "ограничительной рамки для всех выбранных фигур.\n" #: flatcamEditors/FlatCAMGeoEditor.py:858 -#: flatcamEditors/FlatCAMGrbEditor.py:5347 +#: flatcamEditors/FlatCAMGrbEditor.py:5391 msgid "Value Y:" msgstr "Значение Y:" #: flatcamEditors/FlatCAMGeoEditor.py:860 -#: flatcamEditors/FlatCAMGrbEditor.py:5349 +#: flatcamEditors/FlatCAMGrbEditor.py:5393 msgid "Value for Offset action on Y axis." msgstr "Значение для смещения по оси Y." #: flatcamEditors/FlatCAMGeoEditor.py:870 -#: flatcamEditors/FlatCAMGrbEditor.py:5359 flatcamTools/ToolTransform.py:248 +#: flatcamEditors/FlatCAMGrbEditor.py:5403 flatcamTools/ToolTransform.py:475 msgid "Offset Y" msgstr "Смещение Y" #: flatcamEditors/FlatCAMGeoEditor.py:901 -#: flatcamEditors/FlatCAMGrbEditor.py:5390 flatcamTools/ToolTransform.py:266 +#: flatcamEditors/FlatCAMGrbEditor.py:5434 flatcamTools/ToolTransform.py:476 msgid "Flip on X" msgstr "Отразить по X" #: flatcamEditors/FlatCAMGeoEditor.py:903 #: flatcamEditors/FlatCAMGeoEditor.py:910 -#: flatcamEditors/FlatCAMGrbEditor.py:5392 -#: flatcamEditors/FlatCAMGrbEditor.py:5399 +#: flatcamEditors/FlatCAMGrbEditor.py:5436 +#: flatcamEditors/FlatCAMGrbEditor.py:5443 msgid "" "Flip the selected shape(s) over the X axis.\n" "Does not create a new shape." @@ -3958,17 +4294,17 @@ msgstr "" "Не создает новую фугуру." #: flatcamEditors/FlatCAMGeoEditor.py:908 -#: flatcamEditors/FlatCAMGrbEditor.py:5397 flatcamTools/ToolTransform.py:272 +#: flatcamEditors/FlatCAMGrbEditor.py:5441 flatcamTools/ToolTransform.py:477 msgid "Flip on Y" msgstr "Отразить по Y" #: flatcamEditors/FlatCAMGeoEditor.py:916 -#: flatcamEditors/FlatCAMGrbEditor.py:5405 +#: flatcamEditors/FlatCAMGrbEditor.py:5449 msgid "Ref Pt" msgstr "Точка отсчета" #: flatcamEditors/FlatCAMGeoEditor.py:918 -#: flatcamEditors/FlatCAMGrbEditor.py:5407 +#: flatcamEditors/FlatCAMGrbEditor.py:5451 msgid "" "Flip the selected shape(s)\n" "around the point in Point Entry Field.\n" @@ -3991,12 +4327,12 @@ msgstr "" "поле ввода и нажмите «Отразить по X (Y)»" #: flatcamEditors/FlatCAMGeoEditor.py:930 -#: flatcamEditors/FlatCAMGrbEditor.py:5419 +#: flatcamEditors/FlatCAMGrbEditor.py:5463 msgid "Point:" msgstr "Точка:" #: flatcamEditors/FlatCAMGeoEditor.py:932 -#: flatcamEditors/FlatCAMGrbEditor.py:5421 flatcamTools/ToolTransform.py:301 +#: flatcamEditors/FlatCAMGrbEditor.py:5465 flatcamTools/ToolTransform.py:300 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -4008,7 +4344,7 @@ msgstr "" "'y' в (x, y) будет использоваться при отражении по Y." #: flatcamEditors/FlatCAMGeoEditor.py:942 -#: flatcamEditors/FlatCAMGrbEditor.py:5433 flatcamTools/ToolTransform.py:312 +#: flatcamEditors/FlatCAMGrbEditor.py:5477 flatcamTools/ToolTransform.py:310 msgid "" "The point coordinates can be captured by\n" "left click on canvas together with pressing\n" @@ -4018,349 +4354,349 @@ msgstr "" "щелчка левой кнопкой мыши на холсте одновременно с нажатием\n" "клавиши SHIFT. Затем нажмите кнопку 'Добавить', чтобы вставить координаты." -#: flatcamEditors/FlatCAMGeoEditor.py:1057 -#: flatcamEditors/FlatCAMGrbEditor.py:5558 -msgid "Transformation cancelled. No shape selected." -msgstr "Трансформация отменена. Фигура не выбрана." - -#: flatcamEditors/FlatCAMGeoEditor.py:1258 -#: flatcamEditors/FlatCAMGrbEditor.py:5742 +#: flatcamEditors/FlatCAMGeoEditor.py:1305 +#: flatcamEditors/FlatCAMGrbEditor.py:5785 msgid "No shape selected. Please Select a shape to rotate!" msgstr "Фигура не выбрана. Пожалуйста, выберите фигуру для поворота!" -#: flatcamEditors/FlatCAMGeoEditor.py:1261 -#: flatcamEditors/FlatCAMGrbEditor.py:5745 flatcamTools/ToolTransform.py:611 +#: flatcamEditors/FlatCAMGeoEditor.py:1308 +#: flatcamEditors/FlatCAMGrbEditor.py:5788 flatcamTools/ToolTransform.py:680 msgid "Appying Rotate" msgstr "Применение поворота" -#: flatcamEditors/FlatCAMGeoEditor.py:1290 -#: flatcamEditors/FlatCAMGrbEditor.py:5779 +#: flatcamEditors/FlatCAMGeoEditor.py:1334 +#: flatcamEditors/FlatCAMGrbEditor.py:5820 msgid "Done. Rotate completed." msgstr "Готово. Поворот выполнен." -#: flatcamEditors/FlatCAMGeoEditor.py:1295 +#: flatcamEditors/FlatCAMGeoEditor.py:1336 msgid "Rotation action was not executed" msgstr "Вращение не было выполнено" -#: flatcamEditors/FlatCAMGeoEditor.py:1307 -#: flatcamEditors/FlatCAMGrbEditor.py:5800 +#: flatcamEditors/FlatCAMGeoEditor.py:1355 +#: flatcamEditors/FlatCAMGrbEditor.py:5839 msgid "No shape selected. Please Select a shape to flip!" msgstr "Фигура не выбрана. Пожалуйста, выберите фигуру для переворота!" -#: flatcamEditors/FlatCAMGeoEditor.py:1310 -#: flatcamEditors/FlatCAMGrbEditor.py:5803 flatcamTools/ToolTransform.py:664 +#: flatcamEditors/FlatCAMGeoEditor.py:1358 +#: flatcamEditors/FlatCAMGrbEditor.py:5842 flatcamTools/ToolTransform.py:729 msgid "Applying Flip" msgstr "Применение отражения" -#: flatcamEditors/FlatCAMGeoEditor.py:1341 -#: flatcamEditors/FlatCAMGrbEditor.py:5843 flatcamTools/ToolTransform.py:707 +#: flatcamEditors/FlatCAMGeoEditor.py:1387 +#: flatcamEditors/FlatCAMGrbEditor.py:5880 flatcamTools/ToolTransform.py:770 msgid "Flip on the Y axis done" msgstr "Отражение по оси Y завершено" -#: flatcamEditors/FlatCAMGeoEditor.py:1345 -#: flatcamEditors/FlatCAMGrbEditor.py:5852 flatcamTools/ToolTransform.py:717 +#: flatcamEditors/FlatCAMGeoEditor.py:1391 +#: flatcamEditors/FlatCAMGrbEditor.py:5889 flatcamTools/ToolTransform.py:779 msgid "Flip on the X axis done" msgstr "Отражение по оси Х завершёно" -#: flatcamEditors/FlatCAMGeoEditor.py:1355 +#: flatcamEditors/FlatCAMGeoEditor.py:1399 msgid "Flip action was not executed" msgstr "Операция переворота не была выполнена" -#: flatcamEditors/FlatCAMGeoEditor.py:1365 -#: flatcamEditors/FlatCAMGrbEditor.py:5874 +#: flatcamEditors/FlatCAMGeoEditor.py:1417 +#: flatcamEditors/FlatCAMGrbEditor.py:5909 msgid "No shape selected. Please Select a shape to shear/skew!" msgstr "Фигура не выбрана. Пожалуйста, выберите фигуру для сдвига/наклона!" -#: flatcamEditors/FlatCAMGeoEditor.py:1368 -#: flatcamEditors/FlatCAMGrbEditor.py:5877 flatcamTools/ToolTransform.py:742 +#: flatcamEditors/FlatCAMGeoEditor.py:1420 +#: flatcamEditors/FlatCAMGrbEditor.py:5912 flatcamTools/ToolTransform.py:802 msgid "Applying Skew" msgstr "Применение наклона" -#: flatcamEditors/FlatCAMGeoEditor.py:1394 -#: flatcamEditors/FlatCAMGrbEditor.py:5913 +#: flatcamEditors/FlatCAMGeoEditor.py:1443 +#: flatcamEditors/FlatCAMGrbEditor.py:5946 msgid "Skew on the X axis done" msgstr "Наклон по оси X выполнен" -#: flatcamEditors/FlatCAMGeoEditor.py:1397 -#: flatcamEditors/FlatCAMGrbEditor.py:5915 +#: flatcamEditors/FlatCAMGeoEditor.py:1445 +#: flatcamEditors/FlatCAMGrbEditor.py:5948 msgid "Skew on the Y axis done" msgstr "Наклон по оси Y выполнен" -#: flatcamEditors/FlatCAMGeoEditor.py:1401 +#: flatcamEditors/FlatCAMGeoEditor.py:1448 msgid "Skew action was not executed" msgstr "Наклон не был выполнен" -#: flatcamEditors/FlatCAMGeoEditor.py:1413 -#: flatcamEditors/FlatCAMGrbEditor.py:5939 +#: flatcamEditors/FlatCAMGeoEditor.py:1470 +#: flatcamEditors/FlatCAMGrbEditor.py:5970 msgid "No shape selected. Please Select a shape to scale!" msgstr "Фигура не выбрана. Пожалуйста, выберите фигуру для масштабирования!" -#: flatcamEditors/FlatCAMGeoEditor.py:1416 -#: flatcamEditors/FlatCAMGrbEditor.py:5942 flatcamTools/ToolTransform.py:794 +#: flatcamEditors/FlatCAMGeoEditor.py:1473 +#: flatcamEditors/FlatCAMGrbEditor.py:5973 flatcamTools/ToolTransform.py:849 msgid "Applying Scale" msgstr "Применение масштабирования" -#: flatcamEditors/FlatCAMGeoEditor.py:1451 -#: flatcamEditors/FlatCAMGrbEditor.py:5981 +#: flatcamEditors/FlatCAMGeoEditor.py:1505 +#: flatcamEditors/FlatCAMGrbEditor.py:6010 msgid "Scale on the X axis done" msgstr "Масштабирование по оси X выполнено" -#: flatcamEditors/FlatCAMGeoEditor.py:1454 -#: flatcamEditors/FlatCAMGrbEditor.py:5983 +#: flatcamEditors/FlatCAMGeoEditor.py:1507 +#: flatcamEditors/FlatCAMGrbEditor.py:6012 msgid "Scale on the Y axis done" msgstr "Масштабирование по оси Y выполнено" -#: flatcamEditors/FlatCAMGeoEditor.py:1457 +#: flatcamEditors/FlatCAMGeoEditor.py:1509 msgid "Scale action was not executed" msgstr "Операция масштабирования не была выполнена" -#: flatcamEditors/FlatCAMGeoEditor.py:1467 -#: flatcamEditors/FlatCAMGrbEditor.py:6000 +#: flatcamEditors/FlatCAMGeoEditor.py:1524 +#: flatcamEditors/FlatCAMGrbEditor.py:6029 msgid "No shape selected. Please Select a shape to offset!" msgstr "Фигура не выбрана. Пожалуйста, выберите фигуру для смещения!" -#: flatcamEditors/FlatCAMGeoEditor.py:1470 -#: flatcamEditors/FlatCAMGrbEditor.py:6003 flatcamTools/ToolTransform.py:849 +#: flatcamEditors/FlatCAMGeoEditor.py:1527 +#: flatcamEditors/FlatCAMGrbEditor.py:6032 flatcamTools/ToolTransform.py:901 msgid "Applying Offset" msgstr "Применение смещения" -#: flatcamEditors/FlatCAMGeoEditor.py:1483 -#: flatcamEditors/FlatCAMGrbEditor.py:6024 +#: flatcamEditors/FlatCAMGeoEditor.py:1537 +#: flatcamEditors/FlatCAMGrbEditor.py:6053 msgid "Offset on the X axis done" msgstr "Смещение формы по оси X выполнено" -#: flatcamEditors/FlatCAMGeoEditor.py:1486 -#: flatcamEditors/FlatCAMGrbEditor.py:6026 +#: flatcamEditors/FlatCAMGeoEditor.py:1539 +#: flatcamEditors/FlatCAMGrbEditor.py:6055 msgid "Offset on the Y axis done" msgstr "Смещение формы по оси Y выполнено" -#: flatcamEditors/FlatCAMGeoEditor.py:1490 +#: flatcamEditors/FlatCAMGeoEditor.py:1542 msgid "Offset action was not executed" msgstr "Операция смещения не была выполнена" -#: flatcamEditors/FlatCAMGeoEditor.py:1494 -#: flatcamEditors/FlatCAMGrbEditor.py:6033 +#: flatcamEditors/FlatCAMGeoEditor.py:1546 +#: flatcamEditors/FlatCAMGrbEditor.py:6062 msgid "Rotate ..." msgstr "Поворот ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1495 -#: flatcamEditors/FlatCAMGeoEditor.py:1550 -#: flatcamEditors/FlatCAMGeoEditor.py:1567 -#: flatcamEditors/FlatCAMGrbEditor.py:6034 -#: flatcamEditors/FlatCAMGrbEditor.py:6083 -#: flatcamEditors/FlatCAMGrbEditor.py:6098 +#: flatcamEditors/FlatCAMGeoEditor.py:1547 +#: flatcamEditors/FlatCAMGeoEditor.py:1602 +#: flatcamEditors/FlatCAMGeoEditor.py:1619 +#: flatcamEditors/FlatCAMGrbEditor.py:6063 +#: flatcamEditors/FlatCAMGrbEditor.py:6112 +#: flatcamEditors/FlatCAMGrbEditor.py:6127 msgid "Enter an Angle Value (degrees)" msgstr "Введите значение угла (градусы)" -#: flatcamEditors/FlatCAMGeoEditor.py:1504 -#: flatcamEditors/FlatCAMGrbEditor.py:6042 +#: flatcamEditors/FlatCAMGeoEditor.py:1556 +#: flatcamEditors/FlatCAMGrbEditor.py:6071 msgid "Geometry shape rotate done" msgstr "Вращение фигуры выполнено" -#: flatcamEditors/FlatCAMGeoEditor.py:1508 -#: flatcamEditors/FlatCAMGrbEditor.py:6045 +#: flatcamEditors/FlatCAMGeoEditor.py:1560 +#: flatcamEditors/FlatCAMGrbEditor.py:6074 msgid "Geometry shape rotate cancelled" msgstr "Вращение фигуры отменено" -#: flatcamEditors/FlatCAMGeoEditor.py:1513 -#: flatcamEditors/FlatCAMGrbEditor.py:6050 +#: flatcamEditors/FlatCAMGeoEditor.py:1565 +#: flatcamEditors/FlatCAMGrbEditor.py:6079 msgid "Offset on X axis ..." msgstr "Смещение по оси X ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1514 -#: flatcamEditors/FlatCAMGeoEditor.py:1533 -#: flatcamEditors/FlatCAMGrbEditor.py:6051 -#: flatcamEditors/FlatCAMGrbEditor.py:6068 +#: flatcamEditors/FlatCAMGeoEditor.py:1566 +#: flatcamEditors/FlatCAMGeoEditor.py:1585 +#: flatcamEditors/FlatCAMGrbEditor.py:6080 +#: flatcamEditors/FlatCAMGrbEditor.py:6097 msgid "Enter a distance Value" msgstr "Введите значение расстояния" -#: flatcamEditors/FlatCAMGeoEditor.py:1523 -#: flatcamEditors/FlatCAMGrbEditor.py:6059 +#: flatcamEditors/FlatCAMGeoEditor.py:1575 +#: flatcamEditors/FlatCAMGrbEditor.py:6088 msgid "Geometry shape offset on X axis done" msgstr "Смещение формы по оси X выполнено" -#: flatcamEditors/FlatCAMGeoEditor.py:1527 -#: flatcamEditors/FlatCAMGrbEditor.py:6062 +#: flatcamEditors/FlatCAMGeoEditor.py:1579 +#: flatcamEditors/FlatCAMGrbEditor.py:6091 msgid "Geometry shape offset X cancelled" msgstr "Смещение формы по оси X отменено" -#: flatcamEditors/FlatCAMGeoEditor.py:1532 -#: flatcamEditors/FlatCAMGrbEditor.py:6067 +#: flatcamEditors/FlatCAMGeoEditor.py:1584 +#: flatcamEditors/FlatCAMGrbEditor.py:6096 msgid "Offset on Y axis ..." msgstr "Смещение по оси Y ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1542 -#: flatcamEditors/FlatCAMGrbEditor.py:6076 +#: flatcamEditors/FlatCAMGeoEditor.py:1594 +#: flatcamEditors/FlatCAMGrbEditor.py:6105 msgid "Geometry shape offset on Y axis done" msgstr "Смещение формы по оси Y выполнено" -#: flatcamEditors/FlatCAMGeoEditor.py:1546 +#: flatcamEditors/FlatCAMGeoEditor.py:1598 msgid "Geometry shape offset on Y axis canceled" msgstr "Смещение формы по оси Y отменено" -#: flatcamEditors/FlatCAMGeoEditor.py:1549 -#: flatcamEditors/FlatCAMGrbEditor.py:6082 +#: flatcamEditors/FlatCAMGeoEditor.py:1601 +#: flatcamEditors/FlatCAMGrbEditor.py:6111 msgid "Skew on X axis ..." msgstr "Наклон по оси X ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1559 -#: flatcamEditors/FlatCAMGrbEditor.py:6091 +#: flatcamEditors/FlatCAMGeoEditor.py:1611 +#: flatcamEditors/FlatCAMGrbEditor.py:6120 msgid "Geometry shape skew on X axis done" msgstr "Наклон формы по оси X выполнен" -#: flatcamEditors/FlatCAMGeoEditor.py:1563 +#: flatcamEditors/FlatCAMGeoEditor.py:1615 msgid "Geometry shape skew on X axis canceled" msgstr "Наклон формы по оси X отменён" -#: flatcamEditors/FlatCAMGeoEditor.py:1566 -#: flatcamEditors/FlatCAMGrbEditor.py:6097 +#: flatcamEditors/FlatCAMGeoEditor.py:1618 +#: flatcamEditors/FlatCAMGrbEditor.py:6126 msgid "Skew on Y axis ..." msgstr "Наклон по оси Y ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1576 -#: flatcamEditors/FlatCAMGrbEditor.py:6106 +#: flatcamEditors/FlatCAMGeoEditor.py:1628 +#: flatcamEditors/FlatCAMGrbEditor.py:6135 msgid "Geometry shape skew on Y axis done" msgstr "Наклон формы по оси Y выполнен" -#: flatcamEditors/FlatCAMGeoEditor.py:1580 +#: flatcamEditors/FlatCAMGeoEditor.py:1632 msgid "Geometry shape skew on Y axis canceled" msgstr "Наклон формы по оси Y отменён" -#: flatcamEditors/FlatCAMGeoEditor.py:1951 -#: flatcamEditors/FlatCAMGeoEditor.py:2016 -#: flatcamEditors/FlatCAMGrbEditor.py:1436 -#: flatcamEditors/FlatCAMGrbEditor.py:1514 +#: flatcamEditors/FlatCAMGeoEditor.py:2009 +#: flatcamEditors/FlatCAMGeoEditor.py:2080 +#: flatcamEditors/FlatCAMGrbEditor.py:1435 +#: flatcamEditors/FlatCAMGrbEditor.py:1513 msgid "Click on Center point ..." msgstr "Нажмите на центральную точку ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1958 -#: flatcamEditors/FlatCAMGrbEditor.py:1446 +#: flatcamEditors/FlatCAMGeoEditor.py:2022 +#: flatcamEditors/FlatCAMGrbEditor.py:1445 msgid "Click on Perimeter point to complete ..." msgstr "Для завершения щелкните по периметру ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1990 +#: flatcamEditors/FlatCAMGeoEditor.py:2054 msgid "Done. Adding Circle completed." msgstr "Готово. Добавление круга завершено." -#: flatcamEditors/FlatCAMGeoEditor.py:2038 -#: flatcamEditors/FlatCAMGrbEditor.py:1547 +#: flatcamEditors/FlatCAMGeoEditor.py:2108 +#: flatcamEditors/FlatCAMGrbEditor.py:1546 msgid "Click on Start point ..." msgstr "Нажмите на точку начала отсчета..." -#: flatcamEditors/FlatCAMGeoEditor.py:2040 -#: flatcamEditors/FlatCAMGrbEditor.py:1549 +#: flatcamEditors/FlatCAMGeoEditor.py:2110 +#: flatcamEditors/FlatCAMGrbEditor.py:1548 msgid "Click on Point3 ..." msgstr "Нажмите на 3-ю точку ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2042 -#: flatcamEditors/FlatCAMGrbEditor.py:1551 +#: flatcamEditors/FlatCAMGeoEditor.py:2112 +#: flatcamEditors/FlatCAMGrbEditor.py:1550 msgid "Click on Stop point ..." msgstr "Нажмите на конечную точку ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2047 -#: flatcamEditors/FlatCAMGrbEditor.py:1556 +#: flatcamEditors/FlatCAMGeoEditor.py:2117 +#: flatcamEditors/FlatCAMGrbEditor.py:1555 msgid "Click on Stop point to complete ..." msgstr "Нажмите на конечную точку для завершения ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2049 -#: flatcamEditors/FlatCAMGrbEditor.py:1558 +#: flatcamEditors/FlatCAMGeoEditor.py:2119 +#: flatcamEditors/FlatCAMGrbEditor.py:1557 msgid "Click on Point2 to complete ..." msgstr "Нажмите на 2-ю точку для завершения ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2051 -#: flatcamEditors/FlatCAMGrbEditor.py:1560 +#: flatcamEditors/FlatCAMGeoEditor.py:2121 +#: flatcamEditors/FlatCAMGrbEditor.py:1559 msgid "Click on Center point to complete ..." msgstr "Нажмите на центральную точку для завершения..." -#: flatcamEditors/FlatCAMGeoEditor.py:2063 +#: flatcamEditors/FlatCAMGeoEditor.py:2133 #, python-format msgid "Direction: %s" msgstr "Направление: %s" -#: flatcamEditors/FlatCAMGeoEditor.py:2077 -#: flatcamEditors/FlatCAMGrbEditor.py:1586 +#: flatcamEditors/FlatCAMGeoEditor.py:2147 +#: flatcamEditors/FlatCAMGrbEditor.py:1585 msgid "Mode: Start -> Stop -> Center. Click on Start point ..." msgstr "Режим: Старт -> Стоп -> Центр. Нажмите на начальную точку ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2080 -#: flatcamEditors/FlatCAMGrbEditor.py:1589 +#: flatcamEditors/FlatCAMGeoEditor.py:2150 +#: flatcamEditors/FlatCAMGrbEditor.py:1588 msgid "Mode: Point1 -> Point3 -> Point2. Click on Point1 ..." msgstr "Режим: Точка1 -> Точка3 -> Точка2. Нажмите на Точку1 ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2083 -#: flatcamEditors/FlatCAMGrbEditor.py:1592 +#: flatcamEditors/FlatCAMGeoEditor.py:2153 +#: flatcamEditors/FlatCAMGrbEditor.py:1591 msgid "Mode: Center -> Start -> Stop. Click on Center point ..." msgstr "Режим: Центр -> Старт -> Стоп. Нажмите на центральную точку ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2224 +#: flatcamEditors/FlatCAMGeoEditor.py:2294 msgid "Done. Arc completed." msgstr "Готово. Дуга завершена." -#: flatcamEditors/FlatCAMGeoEditor.py:2255 -#: flatcamEditors/FlatCAMGeoEditor.py:2322 +#: flatcamEditors/FlatCAMGeoEditor.py:2325 +#: flatcamEditors/FlatCAMGeoEditor.py:2398 msgid "Click on 1st corner ..." msgstr "Нажмите на 1-ый угол ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2261 +#: flatcamEditors/FlatCAMGeoEditor.py:2337 msgid "Click on opposite corner to complete ..." msgstr "Нажмите на противоположном углу для завершения ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2291 +#: flatcamEditors/FlatCAMGeoEditor.py:2367 msgid "Done. Rectangle completed." msgstr "Готово. Прямоугольник завершен." -#: flatcamEditors/FlatCAMGeoEditor.py:2329 +#: flatcamEditors/FlatCAMGeoEditor.py:2411 flatcamTools/ToolNCC.py:1737 +#: flatcamTools/ToolPaint.py:1616 msgid "Click on next Point or click right mouse button to complete ..." msgstr "" "Нажмите на следующую точку или щелкните правой кнопкой мыши для " "завершения ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2360 +#: flatcamEditors/FlatCAMGeoEditor.py:2442 msgid "Done. Polygon completed." msgstr "Готово. Полигон завершен." -#: flatcamEditors/FlatCAMGeoEditor.py:2374 -#: flatcamEditors/FlatCAMGeoEditor.py:2439 -#: flatcamEditors/FlatCAMGrbEditor.py:1112 -#: flatcamEditors/FlatCAMGrbEditor.py:1323 +#: flatcamEditors/FlatCAMGeoEditor.py:2456 +#: flatcamEditors/FlatCAMGeoEditor.py:2521 +#: flatcamEditors/FlatCAMGrbEditor.py:1111 +#: flatcamEditors/FlatCAMGrbEditor.py:1322 msgid "Backtracked one point ..." msgstr "Отступ на одну точку ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2417 +#: flatcamEditors/FlatCAMGeoEditor.py:2499 msgid "Done. Path completed." msgstr "Готово. Путь завершен." -#: flatcamEditors/FlatCAMGeoEditor.py:2580 +#: flatcamEditors/FlatCAMGeoEditor.py:2658 +msgid "No shape selected. Select a shape to explode" +msgstr "Фигура не выбрана. Выберите фигуру для разделения" + +#: flatcamEditors/FlatCAMGeoEditor.py:2691 msgid "Done. Polygons exploded into lines." msgstr "Готово. Полигоны разделены на линии." -#: flatcamEditors/FlatCAMGeoEditor.py:2612 +#: flatcamEditors/FlatCAMGeoEditor.py:2723 msgid "MOVE: No shape selected. Select a shape to move" msgstr "ПЕРЕМЕЩЕНИЕ: Фигура не выбрана. Выберите фигуру для перемещения" -#: flatcamEditors/FlatCAMGeoEditor.py:2615 -#: flatcamEditors/FlatCAMGeoEditor.py:2628 +#: flatcamEditors/FlatCAMGeoEditor.py:2726 +#: flatcamEditors/FlatCAMGeoEditor.py:2746 msgid " MOVE: Click on reference point ..." msgstr " Перемещение: Нажмите на исходную точку ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2619 +#: flatcamEditors/FlatCAMGeoEditor.py:2731 msgid " Click on destination point ..." msgstr " Нажмите на конечную точку ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2653 +#: flatcamEditors/FlatCAMGeoEditor.py:2771 msgid "Done. Geometry(s) Move completed." msgstr "Готово. Перемещение Geometry завершено." -#: flatcamEditors/FlatCAMGeoEditor.py:2783 +#: flatcamEditors/FlatCAMGeoEditor.py:2904 msgid "Done. Geometry(s) Copy completed." msgstr "Готово. Копирование Geometry завершено." -#: flatcamEditors/FlatCAMGeoEditor.py:2811 -#: flatcamEditors/FlatCAMGrbEditor.py:898 +#: flatcamEditors/FlatCAMGeoEditor.py:2935 +#: flatcamEditors/FlatCAMGrbEditor.py:897 msgid "Click on 1st point ..." msgstr "Нажмите на 1-й точке ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2829 +#: flatcamEditors/FlatCAMGeoEditor.py:2959 msgid "" "Font not supported. Only Regular, Bold, Italic and BoldItalic are supported. " "Error" @@ -4368,94 +4704,134 @@ msgstr "" "Шрифт не поддерживается. Поддерживаются только обычный, полужирный, курсив и " "полужирный курсив. Ошибка" -#: flatcamEditors/FlatCAMGeoEditor.py:2837 +#: flatcamEditors/FlatCAMGeoEditor.py:2967 msgid "No text to add." msgstr "Нет текста для добавления." -#: flatcamEditors/FlatCAMGeoEditor.py:2844 +#: flatcamEditors/FlatCAMGeoEditor.py:2977 msgid " Done. Adding Text completed." msgstr " Готово. Добавление текста завершено." -#: flatcamEditors/FlatCAMGeoEditor.py:2881 +#: flatcamEditors/FlatCAMGeoEditor.py:3014 msgid "Create buffer geometry ..." msgstr "Создание геометрии буфера ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2892 -#: flatcamEditors/FlatCAMGeoEditor.py:2922 -#: flatcamEditors/FlatCAMGeoEditor.py:2952 -msgid "Buffer cancelled. No shape selected." -msgstr "Создание буфера отменено. Фигура не выбрана." - -#: flatcamEditors/FlatCAMGeoEditor.py:2917 -#: flatcamEditors/FlatCAMGrbEditor.py:4950 +#: flatcamEditors/FlatCAMGeoEditor.py:3049 +#: flatcamEditors/FlatCAMGrbEditor.py:4994 msgid "Done. Buffer Tool completed." msgstr "Готово. Создание буфера завершено." -#: flatcamEditors/FlatCAMGeoEditor.py:2947 +#: flatcamEditors/FlatCAMGeoEditor.py:3077 msgid "Done. Buffer Int Tool completed." msgstr "Готово. Внутренний буфер создан." -#: flatcamEditors/FlatCAMGeoEditor.py:2977 +#: flatcamEditors/FlatCAMGeoEditor.py:3105 msgid "Done. Buffer Ext Tool completed." msgstr "Готово. Внешний буфер создан." -#: flatcamEditors/FlatCAMGeoEditor.py:3023 -#: flatcamEditors/FlatCAMGrbEditor.py:2152 +#: flatcamEditors/FlatCAMGeoEditor.py:3154 +#: flatcamEditors/FlatCAMGrbEditor.py:2151 msgid "Select a shape to act as deletion area ..." msgstr "Выберите фигуру в качестве области для удаления ..." -#: flatcamEditors/FlatCAMGeoEditor.py:3025 -#: flatcamEditors/FlatCAMGeoEditor.py:3045 -#: flatcamEditors/FlatCAMGeoEditor.py:3051 -#: flatcamEditors/FlatCAMGrbEditor.py:2154 +#: flatcamEditors/FlatCAMGeoEditor.py:3156 +#: flatcamEditors/FlatCAMGeoEditor.py:3182 +#: flatcamEditors/FlatCAMGeoEditor.py:3188 +#: flatcamEditors/FlatCAMGrbEditor.py:2153 msgid "Click to pick-up the erase shape..." msgstr "Кликните, что бы выбрать фигуру для стирания ..." -#: flatcamEditors/FlatCAMGeoEditor.py:3055 -#: flatcamEditors/FlatCAMGrbEditor.py:2213 +#: flatcamEditors/FlatCAMGeoEditor.py:3192 +#: flatcamEditors/FlatCAMGrbEditor.py:2212 msgid "Click to erase ..." msgstr "Нажмите для очистки ..." -#: flatcamEditors/FlatCAMGeoEditor.py:3084 -#: flatcamEditors/FlatCAMGrbEditor.py:2246 +#: flatcamEditors/FlatCAMGeoEditor.py:3221 +#: flatcamEditors/FlatCAMGrbEditor.py:2245 msgid "Done. Eraser tool action completed." msgstr "Готово. Действие инструмента стирания завершено.." -#: flatcamEditors/FlatCAMGeoEditor.py:3131 +#: flatcamEditors/FlatCAMGeoEditor.py:3271 msgid "Create Paint geometry ..." msgstr "Создать геометрию окрашивания ..." -#: flatcamEditors/FlatCAMGeoEditor.py:3144 -#: flatcamEditors/FlatCAMGrbEditor.py:2402 +#: flatcamEditors/FlatCAMGeoEditor.py:3284 +#: flatcamEditors/FlatCAMGrbEditor.py:2408 msgid "Shape transformations ..." msgstr "Преобразования фигуры ..." -#: flatcamEditors/FlatCAMGeoEditor.py:3763 +#: flatcamEditors/FlatCAMGeoEditor.py:3340 flatcamGUI/PreferencesUI.py:4636 +msgid "Geometry Editor" +msgstr "Редактор Geometry" + +#: flatcamEditors/FlatCAMGeoEditor.py:3346 +#: flatcamEditors/FlatCAMGrbEditor.py:2486 +#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262 +#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244 +#: flatcamTools/ToolCutOut.py:96 +msgid "Type" +msgstr "Тип" + +#: flatcamEditors/FlatCAMGeoEditor.py:3346 flatcamGUI/ObjectUI.py:217 +#: flatcamGUI/ObjectUI.py:741 flatcamGUI/ObjectUI.py:1431 +#: flatcamGUI/ObjectUI.py:2153 flatcamGUI/ObjectUI.py:2457 +#: flatcamGUI/ObjectUI.py:2524 flatcamTools/ToolCalibration.py:234 +#: flatcamTools/ToolFiducials.py:73 +msgid "Name" +msgstr "Имя" + +#: flatcamEditors/FlatCAMGeoEditor.py:3588 +msgid "Ring" +msgstr "" + +#: flatcamEditors/FlatCAMGeoEditor.py:3590 +msgid "Line" +msgstr "Линия" + +#: flatcamEditors/FlatCAMGeoEditor.py:3592 flatcamGUI/FlatCAMGUI.py:2187 +#: flatcamGUI/PreferencesUI.py:5607 flatcamGUI/PreferencesUI.py:6131 +#: flatcamTools/ToolNCC.py:584 flatcamTools/ToolPaint.py:528 +msgid "Polygon" +msgstr "Полигон" + +#: flatcamEditors/FlatCAMGeoEditor.py:3594 +#| msgid "Multi-Geo" +msgid "Multi-Line" +msgstr "Multi-Line" + +#: flatcamEditors/FlatCAMGeoEditor.py:3596 +#| msgid "Multi-Color" +msgid "Multi-Polygon" +msgstr "Multi-Polygon" + +#: flatcamEditors/FlatCAMGeoEditor.py:3603 +#, fuzzy +#| msgid "Geo Type" +msgid "Geo Elem" +msgstr "Тип рамки" + +#: flatcamEditors/FlatCAMGeoEditor.py:4076 msgid "Editing MultiGeo Geometry, tool" msgstr "Редактирование MultiGeo Geometry, инструментом" -#: flatcamEditors/FlatCAMGeoEditor.py:3765 +#: flatcamEditors/FlatCAMGeoEditor.py:4078 msgid "with diameter" msgstr "с диаметром" -#: flatcamEditors/FlatCAMGeoEditor.py:4169 -msgid "Copy cancelled. No shape selected." -msgstr "Копирование отменено. Форма не выбрана." - -#: flatcamEditors/FlatCAMGeoEditor.py:4176 flatcamGUI/FlatCAMGUI.py:3472 -#: flatcamGUI/FlatCAMGUI.py:3519 flatcamGUI/FlatCAMGUI.py:3538 -#: flatcamGUI/FlatCAMGUI.py:3679 flatcamGUI/FlatCAMGUI.py:3719 -#: flatcamGUI/FlatCAMGUI.py:3732 flatcamGUI/FlatCAMGUI.py:3749 +#: flatcamEditors/FlatCAMGeoEditor.py:4509 flatcamGUI/FlatCAMGUI.py:3695 +#: flatcamGUI/FlatCAMGUI.py:3741 flatcamGUI/FlatCAMGUI.py:3759 +#: flatcamGUI/FlatCAMGUI.py:3899 flatcamGUI/FlatCAMGUI.py:3938 +#: flatcamGUI/FlatCAMGUI.py:3950 flatcamGUI/FlatCAMGUI.py:3967 msgid "Click on target point." msgstr "Нажмите на целевой точке." -#: flatcamEditors/FlatCAMGeoEditor.py:4479 -#: flatcamEditors/FlatCAMGeoEditor.py:4514 +#: flatcamEditors/FlatCAMGeoEditor.py:4823 +#: flatcamEditors/FlatCAMGeoEditor.py:4858 msgid "A selection of at least 2 geo items is required to do Intersection." msgstr "Выберите по крайней мере 2 элемента геометрии для пересечения." -#: flatcamEditors/FlatCAMGeoEditor.py:4600 -#: flatcamEditors/FlatCAMGeoEditor.py:4704 +#: flatcamEditors/FlatCAMGeoEditor.py:4944 +#: flatcamEditors/FlatCAMGeoEditor.py:5048 msgid "" "Negative buffer value is not accepted. Use Buffer interior to generate an " "'inside' shape" @@ -4463,58 +4839,59 @@ msgstr "" "Отрицательное значение буфера не принимается. Используйте внутренний буфер " "для создания \"внутри\" формы" -#: flatcamEditors/FlatCAMGeoEditor.py:4610 -#: flatcamEditors/FlatCAMGeoEditor.py:4663 -#: flatcamEditors/FlatCAMGeoEditor.py:4713 +#: flatcamEditors/FlatCAMGeoEditor.py:4954 +#: flatcamEditors/FlatCAMGeoEditor.py:5007 +#: flatcamEditors/FlatCAMGeoEditor.py:5057 msgid "Nothing selected for buffering." msgstr "Ничего не выбрано для создания буфера." -#: flatcamEditors/FlatCAMGeoEditor.py:4615 -#: flatcamEditors/FlatCAMGeoEditor.py:4667 -#: flatcamEditors/FlatCAMGeoEditor.py:4718 +#: flatcamEditors/FlatCAMGeoEditor.py:4959 +#: flatcamEditors/FlatCAMGeoEditor.py:5011 +#: flatcamEditors/FlatCAMGeoEditor.py:5062 msgid "Invalid distance for buffering." msgstr "Недопустимое расстояние для создания буфера." -#: flatcamEditors/FlatCAMGeoEditor.py:4639 -#: flatcamEditors/FlatCAMGeoEditor.py:4738 +#: flatcamEditors/FlatCAMGeoEditor.py:4983 +#: flatcamEditors/FlatCAMGeoEditor.py:5082 msgid "Failed, the result is empty. Choose a different buffer value." msgstr "Ошибка, результат нулевой. Выберите другое значение буфера." -#: flatcamEditors/FlatCAMGeoEditor.py:4650 +#: flatcamEditors/FlatCAMGeoEditor.py:4994 msgid "Full buffer geometry created." msgstr "Создана геометрия полного буфера." -#: flatcamEditors/FlatCAMGeoEditor.py:4656 +#: flatcamEditors/FlatCAMGeoEditor.py:5000 msgid "Negative buffer value is not accepted." msgstr "Отрицательное значение буфера не принимается." -#: flatcamEditors/FlatCAMGeoEditor.py:4687 +#: flatcamEditors/FlatCAMGeoEditor.py:5031 msgid "Failed, the result is empty. Choose a smaller buffer value." msgstr "Ошибка, результат нулевой. Выберите меньшее значение буфера." -#: flatcamEditors/FlatCAMGeoEditor.py:4697 +#: flatcamEditors/FlatCAMGeoEditor.py:5041 msgid "Interior buffer geometry created." msgstr "Создана геометрия внутреннего буфера." -#: flatcamEditors/FlatCAMGeoEditor.py:4748 +#: flatcamEditors/FlatCAMGeoEditor.py:5092 msgid "Exterior buffer geometry created." msgstr "Создана геометрия внешнего буфера." -#: flatcamEditors/FlatCAMGeoEditor.py:4754 -#, python-format -msgid "Could not do Paint. Overlap value has to be less than 1.00 (100%%)." +#: flatcamEditors/FlatCAMGeoEditor.py:5098 +#, fuzzy, python-format +#| msgid "Could not do Paint. Overlap value has to be less than 1.00 (100%%)." +msgid "Could not do Paint. Overlap value has to be less than 100%%." msgstr "" "Окраска не выполнена. Значение перекрытия должно быть меньше 1,00 (100%%)." -#: flatcamEditors/FlatCAMGeoEditor.py:4761 +#: flatcamEditors/FlatCAMGeoEditor.py:5105 msgid "Nothing selected for painting." msgstr "Ничего не выбрано для рисования." -#: flatcamEditors/FlatCAMGeoEditor.py:4767 +#: flatcamEditors/FlatCAMGeoEditor.py:5111 msgid "Invalid value for" msgstr "Недопустимые значения для" -#: flatcamEditors/FlatCAMGeoEditor.py:4826 +#: flatcamEditors/FlatCAMGeoEditor.py:5170 msgid "" "Could not do Paint. Try a different combination of parameters. Or a " "different method of Paint" @@ -4522,7 +4899,7 @@ msgstr "" "Окраска не выполнена. Попробуйте другую комбинацию параметров или другой " "способ рисования" -#: flatcamEditors/FlatCAMGeoEditor.py:4840 +#: flatcamEditors/FlatCAMGeoEditor.py:5181 msgid "Paint done." msgstr "Окраска завершена." @@ -4537,7 +4914,7 @@ msgid "Aperture size is zero. It needs to be greater than zero." msgstr "Размер отверстия равен нулю. Он должен быть больше нуля." #: flatcamEditors/FlatCAMGrbEditor.py:371 -#: flatcamEditors/FlatCAMGrbEditor.py:685 +#: flatcamEditors/FlatCAMGrbEditor.py:684 msgid "" "Incompatible aperture type. Select an aperture with type 'C', 'R' or 'O'." msgstr "" @@ -4557,173 +4934,167 @@ msgstr "" msgid "Click on the Pad Circular Array Start position" msgstr "Нажмите на начальную точку кругового массива контактных площадок" -#: flatcamEditors/FlatCAMGrbEditor.py:711 +#: flatcamEditors/FlatCAMGrbEditor.py:710 msgid "Too many Pads for the selected spacing angle." msgstr "Слишком много площадок для выбранного интервала угла." -#: flatcamEditors/FlatCAMGrbEditor.py:734 +#: flatcamEditors/FlatCAMGrbEditor.py:733 msgid "Done. Pad Array added." msgstr "Готово. Массив площадок добавлен." -#: flatcamEditors/FlatCAMGrbEditor.py:759 +#: flatcamEditors/FlatCAMGrbEditor.py:758 msgid "Select shape(s) and then click ..." msgstr "Выберите фигуры, а затем нажмите ..." -#: flatcamEditors/FlatCAMGrbEditor.py:771 +#: flatcamEditors/FlatCAMGrbEditor.py:770 msgid "Failed. Nothing selected." msgstr "Ошибка. Ничего не выбрано." -#: flatcamEditors/FlatCAMGrbEditor.py:787 +#: flatcamEditors/FlatCAMGrbEditor.py:786 msgid "" "Failed. Poligonize works only on geometries belonging to the same aperture." msgstr "" "Неудача. Полигонизация работает только с геометриями, принадлежащими к " "одному отверстию." -#: flatcamEditors/FlatCAMGrbEditor.py:841 +#: flatcamEditors/FlatCAMGrbEditor.py:840 msgid "Done. Poligonize completed." msgstr "Готово. Полигонизация выполнена." -#: flatcamEditors/FlatCAMGrbEditor.py:896 -#: flatcamEditors/FlatCAMGrbEditor.py:1129 -#: flatcamEditors/FlatCAMGrbEditor.py:1153 +#: flatcamEditors/FlatCAMGrbEditor.py:895 +#: flatcamEditors/FlatCAMGrbEditor.py:1128 +#: flatcamEditors/FlatCAMGrbEditor.py:1152 msgid "Corner Mode 1: 45 degrees ..." msgstr "Угловой режим 1: 45 градусов ..." -#: flatcamEditors/FlatCAMGrbEditor.py:908 -#: flatcamEditors/FlatCAMGrbEditor.py:1238 +#: flatcamEditors/FlatCAMGrbEditor.py:907 +#: flatcamEditors/FlatCAMGrbEditor.py:1237 msgid "Click on next Point or click Right mouse button to complete ..." msgstr "" "Нажмите на следующую точку или щелкните правой кнопкой мыши для " "завершения ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1117 -#: flatcamEditors/FlatCAMGrbEditor.py:1150 +#: flatcamEditors/FlatCAMGrbEditor.py:1116 +#: flatcamEditors/FlatCAMGrbEditor.py:1149 msgid "Corner Mode 2: Reverse 45 degrees ..." msgstr "Угловой режим 2: реверс 45 градусов ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1120 -#: flatcamEditors/FlatCAMGrbEditor.py:1147 +#: flatcamEditors/FlatCAMGrbEditor.py:1119 +#: flatcamEditors/FlatCAMGrbEditor.py:1146 msgid "Corner Mode 3: 90 degrees ..." msgstr "Угловой режим 3: 90 градусов ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1123 -#: flatcamEditors/FlatCAMGrbEditor.py:1144 +#: flatcamEditors/FlatCAMGrbEditor.py:1122 +#: flatcamEditors/FlatCAMGrbEditor.py:1143 msgid "Corner Mode 4: Reverse 90 degrees ..." msgstr "Угловой режим 4: реверс 90 градусов ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1126 -#: flatcamEditors/FlatCAMGrbEditor.py:1141 +#: flatcamEditors/FlatCAMGrbEditor.py:1125 +#: flatcamEditors/FlatCAMGrbEditor.py:1140 msgid "Corner Mode 5: Free angle ..." msgstr "Угловой режим 5: свободный угол ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1183 -#: flatcamEditors/FlatCAMGrbEditor.py:1359 -#: flatcamEditors/FlatCAMGrbEditor.py:1398 +#: flatcamEditors/FlatCAMGrbEditor.py:1182 +#: flatcamEditors/FlatCAMGrbEditor.py:1358 +#: flatcamEditors/FlatCAMGrbEditor.py:1397 msgid "Track Mode 1: 45 degrees ..." msgstr "Режим дорожки 1: 45 градусов ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1339 -#: flatcamEditors/FlatCAMGrbEditor.py:1393 +#: flatcamEditors/FlatCAMGrbEditor.py:1338 +#: flatcamEditors/FlatCAMGrbEditor.py:1392 msgid "Track Mode 2: Reverse 45 degrees ..." msgstr "Режим дорожки 2: реверс 45 градусов ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1344 -#: flatcamEditors/FlatCAMGrbEditor.py:1388 +#: flatcamEditors/FlatCAMGrbEditor.py:1343 +#: flatcamEditors/FlatCAMGrbEditor.py:1387 msgid "Track Mode 3: 90 degrees ..." msgstr "Режим дорожки 3: 90 градусов ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1349 -#: flatcamEditors/FlatCAMGrbEditor.py:1383 +#: flatcamEditors/FlatCAMGrbEditor.py:1348 +#: flatcamEditors/FlatCAMGrbEditor.py:1382 msgid "Track Mode 4: Reverse 90 degrees ..." msgstr "Режим дорожки 4: реверс 90 градусов ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1354 -#: flatcamEditors/FlatCAMGrbEditor.py:1378 +#: flatcamEditors/FlatCAMGrbEditor.py:1353 +#: flatcamEditors/FlatCAMGrbEditor.py:1377 msgid "Track Mode 5: Free angle ..." msgstr "Режим дорожки 5: свободный угол ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1779 +#: flatcamEditors/FlatCAMGrbEditor.py:1778 msgid "Scale the selected Gerber apertures ..." msgstr "Масштабирование выбранных отверстий Gerber ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1821 +#: flatcamEditors/FlatCAMGrbEditor.py:1820 msgid "Buffer the selected apertures ..." msgstr "Создание буфера для выбранных отверстий ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1863 +#: flatcamEditors/FlatCAMGrbEditor.py:1862 msgid "Mark polygon areas in the edited Gerber ..." msgstr "Отметьте полигональные области в отредактированном Gerber ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1929 +#: flatcamEditors/FlatCAMGrbEditor.py:1928 msgid "Nothing selected to move" msgstr "Отменено. Ничего не выбрано для перемещения" -#: flatcamEditors/FlatCAMGrbEditor.py:2054 +#: flatcamEditors/FlatCAMGrbEditor.py:2053 msgid "Done. Apertures Move completed." msgstr "Готово. Перемещение отверстий завершено." -#: flatcamEditors/FlatCAMGrbEditor.py:2136 +#: flatcamEditors/FlatCAMGrbEditor.py:2135 msgid "Done. Apertures copied." msgstr "Готово. Отверстия скопированы." -#: flatcamEditors/FlatCAMGrbEditor.py:2447 flatcamGUI/FlatCAMGUI.py:2110 -#: flatcamGUI/PreferencesUI.py:2443 +#: flatcamEditors/FlatCAMGrbEditor.py:2453 flatcamGUI/FlatCAMGUI.py:2218 +#: flatcamGUI/PreferencesUI.py:2623 msgid "Gerber Editor" msgstr "Редактор Gerber" -#: flatcamEditors/FlatCAMGrbEditor.py:2467 flatcamGUI/ObjectUI.py:223 -#: flatcamTools/ToolProperties.py:156 +#: flatcamEditors/FlatCAMGrbEditor.py:2473 flatcamGUI/ObjectUI.py:227 +#: flatcamTools/ToolProperties.py:159 msgid "Apertures" msgstr "Oтверстие" -#: flatcamEditors/FlatCAMGrbEditor.py:2469 flatcamGUI/ObjectUI.py:225 +#: flatcamEditors/FlatCAMGrbEditor.py:2475 flatcamGUI/ObjectUI.py:229 msgid "Apertures Table for the Gerber Object." msgstr "Таблица отверстий для объекта Gerber." -#: flatcamEditors/FlatCAMGrbEditor.py:2480 -#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258 +#: flatcamEditors/FlatCAMGrbEditor.py:2486 +#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262 msgid "Code" msgstr "Код" -#: flatcamEditors/FlatCAMGrbEditor.py:2480 -#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258 -#: flatcamGUI/ObjectUI.py:1217 flatcamGUI/ObjectUI.py:1916 -msgid "Type" -msgstr "Тип" - -#: flatcamEditors/FlatCAMGrbEditor.py:2480 -#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258 -#: flatcamGUI/PreferencesUI.py:1009 flatcamGUI/PreferencesUI.py:7270 -#: flatcamGUI/PreferencesUI.py:7299 flatcamGUI/PreferencesUI.py:7401 -#: flatcamTools/ToolCopperThieving.py:260 -#: flatcamTools/ToolCopperThieving.py:300 flatcamTools/ToolFiducials.py:156 +#: flatcamEditors/FlatCAMGrbEditor.py:2486 +#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262 +#: flatcamGUI/PreferencesUI.py:1184 flatcamGUI/PreferencesUI.py:7776 +#: flatcamGUI/PreferencesUI.py:7805 flatcamGUI/PreferencesUI.py:7907 +#: flatcamTools/ToolCopperThieving.py:262 +#: flatcamTools/ToolCopperThieving.py:302 flatcamTools/ToolFiducials.py:156 msgid "Size" msgstr "Размер" -#: flatcamEditors/FlatCAMGrbEditor.py:2480 -#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258 +#: flatcamEditors/FlatCAMGrbEditor.py:2486 +#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262 msgid "Dim" msgstr "Диаметр" -#: flatcamEditors/FlatCAMGrbEditor.py:2484 flatcamGUI/ObjectUI.py:262 +#: flatcamEditors/FlatCAMGrbEditor.py:2490 flatcamGUI/ObjectUI.py:266 msgid "Index" msgstr "Индекс" -#: flatcamEditors/FlatCAMGrbEditor.py:2486 -#: flatcamEditors/FlatCAMGrbEditor.py:2515 flatcamGUI/ObjectUI.py:264 +#: flatcamEditors/FlatCAMGrbEditor.py:2492 +#: flatcamEditors/FlatCAMGrbEditor.py:2521 flatcamGUI/ObjectUI.py:268 msgid "Aperture Code" msgstr "Код отверстия" -#: flatcamEditors/FlatCAMGrbEditor.py:2488 flatcamGUI/ObjectUI.py:266 +#: flatcamEditors/FlatCAMGrbEditor.py:2494 flatcamGUI/ObjectUI.py:270 msgid "Type of aperture: circular, rectangle, macros etc" msgstr "Тип отверстия: круг, прямоугольник, макросы и так далее" -#: flatcamEditors/FlatCAMGrbEditor.py:2490 flatcamGUI/ObjectUI.py:268 +#: flatcamEditors/FlatCAMGrbEditor.py:2496 flatcamGUI/ObjectUI.py:272 msgid "Aperture Size:" msgstr "Размер отверстия:" -#: flatcamEditors/FlatCAMGrbEditor.py:2492 flatcamGUI/ObjectUI.py:270 +#: flatcamEditors/FlatCAMGrbEditor.py:2498 flatcamGUI/ObjectUI.py:274 msgid "" "Aperture Dimensions:\n" " - (width, height) for R, O type.\n" @@ -4733,15 +5104,15 @@ msgstr "" " - (ширина, высота) для типа R, O.\n" " - (диам., nVertices) для типа P" -#: flatcamEditors/FlatCAMGrbEditor.py:2516 flatcamGUI/PreferencesUI.py:2474 +#: flatcamEditors/FlatCAMGrbEditor.py:2522 flatcamGUI/PreferencesUI.py:2654 msgid "Code for the new aperture" msgstr "Код для нового отверстия" -#: flatcamEditors/FlatCAMGrbEditor.py:2525 +#: flatcamEditors/FlatCAMGrbEditor.py:2531 msgid "Aperture Size" msgstr "Размер отверстия" -#: flatcamEditors/FlatCAMGrbEditor.py:2527 +#: flatcamEditors/FlatCAMGrbEditor.py:2533 msgid "" "Size for the new aperture.\n" "If aperture type is 'R' or 'O' then\n" @@ -4755,11 +5126,11 @@ msgstr "" "рассчитывается как:\n" "sqrt(ширина ** 2 + высота ** 2)" -#: flatcamEditors/FlatCAMGrbEditor.py:2541 +#: flatcamEditors/FlatCAMGrbEditor.py:2547 msgid "Aperture Type" msgstr "Тип отверстия" -#: flatcamEditors/FlatCAMGrbEditor.py:2543 +#: flatcamEditors/FlatCAMGrbEditor.py:2549 msgid "" "Select the type of new aperture. Can be:\n" "C = circular\n" @@ -4771,11 +5142,11 @@ msgstr "" "R = прямоугольное\n" "O = продолговатое" -#: flatcamEditors/FlatCAMGrbEditor.py:2554 +#: flatcamEditors/FlatCAMGrbEditor.py:2560 msgid "Aperture Dim" msgstr "Размер нового отверстия" -#: flatcamEditors/FlatCAMGrbEditor.py:2556 +#: flatcamEditors/FlatCAMGrbEditor.py:2562 msgid "" "Dimensions for the new aperture.\n" "Active only for rectangular apertures (type R).\n" @@ -4785,39 +5156,39 @@ msgstr "" "Активен только для прямоугольных отверстий (тип R).\n" "Формат (ширина, высота)" -#: flatcamEditors/FlatCAMGrbEditor.py:2565 +#: flatcamEditors/FlatCAMGrbEditor.py:2571 msgid "Add/Delete Aperture" msgstr "Добавить/Удалить отверстие" -#: flatcamEditors/FlatCAMGrbEditor.py:2567 +#: flatcamEditors/FlatCAMGrbEditor.py:2573 msgid "Add/Delete an aperture in the aperture table" msgstr "Добавляет/Удаляет отверстие в таблице отверстий" -#: flatcamEditors/FlatCAMGrbEditor.py:2576 +#: flatcamEditors/FlatCAMGrbEditor.py:2582 msgid "Add a new aperture to the aperture list." msgstr "Добавляет новое отверстие в список отверстий." -#: flatcamEditors/FlatCAMGrbEditor.py:2581 +#: flatcamEditors/FlatCAMGrbEditor.py:2587 msgid "Delete a aperture in the aperture list" msgstr "Удаляет отверстие в таблице отверстий" -#: flatcamEditors/FlatCAMGrbEditor.py:2598 +#: flatcamEditors/FlatCAMGrbEditor.py:2604 msgid "Buffer Aperture" msgstr "Буфер отверстия" -#: flatcamEditors/FlatCAMGrbEditor.py:2600 +#: flatcamEditors/FlatCAMGrbEditor.py:2606 msgid "Buffer a aperture in the aperture list" msgstr "Создаёт буфер для отверстия в списке отверстий" -#: flatcamEditors/FlatCAMGrbEditor.py:2613 flatcamGUI/PreferencesUI.py:2608 +#: flatcamEditors/FlatCAMGrbEditor.py:2619 flatcamGUI/PreferencesUI.py:2790 msgid "Buffer distance" msgstr "Расстояние буфера" -#: flatcamEditors/FlatCAMGrbEditor.py:2614 +#: flatcamEditors/FlatCAMGrbEditor.py:2620 msgid "Buffer corner" msgstr "Угол буфера" -#: flatcamEditors/FlatCAMGrbEditor.py:2616 +#: flatcamEditors/FlatCAMGrbEditor.py:2622 msgid "" "There are 3 types of corners:\n" " - 'Round': the corner is rounded.\n" @@ -4831,27 +5202,26 @@ msgstr "" " - 'Скошенный:' угол-это линия, которая непосредственно соединяет элементы, " "встречающиеся в углу" -#: flatcamEditors/FlatCAMGrbEditor.py:2631 flatcamGUI/FlatCAMGUI.py:978 -#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2087 -#: flatcamGUI/FlatCAMGUI.py:2130 flatcamGUI/FlatCAMGUI.py:2547 -#: flatcamGUI/PreferencesUI.py:6393 flatcamTools/ToolTransform.py:30 -#: flatcamTools/ToolTransform.py:349 +#: flatcamEditors/FlatCAMGrbEditor.py:2637 flatcamGUI/FlatCAMGUI.py:1046 +#: flatcamGUI/FlatCAMGUI.py:2123 flatcamGUI/FlatCAMGUI.py:2195 +#: flatcamGUI/FlatCAMGUI.py:2238 flatcamGUI/FlatCAMGUI.py:2721 +#: flatcamGUI/PreferencesUI.py:6880 flatcamTools/ToolTransform.py:30 msgid "Buffer" msgstr "Буфер" -#: flatcamEditors/FlatCAMGrbEditor.py:2646 +#: flatcamEditors/FlatCAMGrbEditor.py:2652 msgid "Scale Aperture" msgstr "Масштабирование отверстий" -#: flatcamEditors/FlatCAMGrbEditor.py:2648 +#: flatcamEditors/FlatCAMGrbEditor.py:2654 msgid "Scale a aperture in the aperture list" msgstr "Масштабирование отверстия в списке отверстий" -#: flatcamEditors/FlatCAMGrbEditor.py:2656 flatcamGUI/PreferencesUI.py:2623 +#: flatcamEditors/FlatCAMGrbEditor.py:2662 flatcamGUI/PreferencesUI.py:2805 msgid "Scale factor" msgstr "Коэффициент масштабирования" -#: flatcamEditors/FlatCAMGrbEditor.py:2658 +#: flatcamEditors/FlatCAMGrbEditor.py:2664 msgid "" "The factor by which to scale the selected aperture.\n" "Values can be between 0.0000 and 999.9999" @@ -4859,19 +5229,19 @@ msgstr "" "Коэффициент масштабирования выбранного отверстия.\n" "Значения могут быть между 0.0000 и 999.9999" -#: flatcamEditors/FlatCAMGrbEditor.py:2686 +#: flatcamEditors/FlatCAMGrbEditor.py:2692 msgid "Mark polygons" msgstr "Отметить полигоны" -#: flatcamEditors/FlatCAMGrbEditor.py:2688 +#: flatcamEditors/FlatCAMGrbEditor.py:2694 msgid "Mark the polygon areas." msgstr "Отметьте полигональные области." -#: flatcamEditors/FlatCAMGrbEditor.py:2696 +#: flatcamEditors/FlatCAMGrbEditor.py:2702 msgid "Area UPPER threshold" msgstr "Верхней части порога" -#: flatcamEditors/FlatCAMGrbEditor.py:2698 +#: flatcamEditors/FlatCAMGrbEditor.py:2704 msgid "" "The threshold value, all areas less than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" @@ -4879,11 +5249,11 @@ msgstr "" "Пороговое значение, всех участков за вычетом отмеченных.\n" "Может иметь значение от 0,0000 до 9999,9999" -#: flatcamEditors/FlatCAMGrbEditor.py:2705 +#: flatcamEditors/FlatCAMGrbEditor.py:2711 msgid "Area LOWER threshold" msgstr "Площадь НИЖНЕГО порога" -#: flatcamEditors/FlatCAMGrbEditor.py:2707 +#: flatcamEditors/FlatCAMGrbEditor.py:2713 msgid "" "The threshold value, all areas more than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" @@ -4891,36 +5261,32 @@ msgstr "" "Пороговое значение, всех участков больше отмеченых.\n" "Может иметь значение от 0,0000 до 9999,9999" -#: flatcamEditors/FlatCAMGrbEditor.py:2721 +#: flatcamEditors/FlatCAMGrbEditor.py:2727 msgid "Mark" msgstr "Отметка" -#: flatcamEditors/FlatCAMGrbEditor.py:2723 +#: flatcamEditors/FlatCAMGrbEditor.py:2729 msgid "Mark the polygons that fit within limits." msgstr "Отмечает полигоны, которые вписываются в пределы." -#: flatcamEditors/FlatCAMGrbEditor.py:2729 +#: flatcamEditors/FlatCAMGrbEditor.py:2735 msgid "Delete all the marked polygons." msgstr "Удаление всех отмеченных полигонов." -#: flatcamEditors/FlatCAMGrbEditor.py:2733 -msgid "Clear" -msgstr "Сбросить" - -#: flatcamEditors/FlatCAMGrbEditor.py:2735 +#: flatcamEditors/FlatCAMGrbEditor.py:2741 msgid "Clear all the markings." msgstr "Очистить все маркировки." -#: flatcamEditors/FlatCAMGrbEditor.py:2755 flatcamGUI/FlatCAMGUI.py:963 -#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2532 +#: flatcamEditors/FlatCAMGrbEditor.py:2761 flatcamGUI/FlatCAMGUI.py:1031 +#: flatcamGUI/FlatCAMGUI.py:2123 flatcamGUI/FlatCAMGUI.py:2706 msgid "Add Pad Array" msgstr "Добавить массив контактных площадок" -#: flatcamEditors/FlatCAMGrbEditor.py:2757 +#: flatcamEditors/FlatCAMGrbEditor.py:2763 msgid "Add an array of pads (linear or circular array)" msgstr "Добавляет массив контактных площадок (линейный или круговой массив)" -#: flatcamEditors/FlatCAMGrbEditor.py:2763 +#: flatcamEditors/FlatCAMGrbEditor.py:2769 msgid "" "Select the type of pads array to create.\n" "It can be Linear X(Y) or Circular" @@ -4928,15 +5294,15 @@ msgstr "" "Выбор типа массива контактных площадок.\n" "Он может быть линейным X (Y) или круговым" -#: flatcamEditors/FlatCAMGrbEditor.py:2774 flatcamGUI/PreferencesUI.py:2511 +#: flatcamEditors/FlatCAMGrbEditor.py:2780 flatcamGUI/PreferencesUI.py:2691 msgid "Nr of pads" msgstr "Количество площадок" -#: flatcamEditors/FlatCAMGrbEditor.py:2776 flatcamGUI/PreferencesUI.py:2513 +#: flatcamEditors/FlatCAMGrbEditor.py:2782 flatcamGUI/PreferencesUI.py:2693 msgid "Specify how many pads to be in the array." msgstr "Укажите, сколько контактных площадок должно быть в массиве." -#: flatcamEditors/FlatCAMGrbEditor.py:2825 +#: flatcamEditors/FlatCAMGrbEditor.py:2831 msgid "" "Angle at which the linear array is placed.\n" "The precision is of max 2 decimals.\n" @@ -4948,14 +5314,14 @@ msgstr "" "Минимальное значение: -359.99 градусов.\n" "Максимальное значение: 360.00 градусов." -#: flatcamEditors/FlatCAMGrbEditor.py:3307 -#: flatcamEditors/FlatCAMGrbEditor.py:3311 +#: flatcamEditors/FlatCAMGrbEditor.py:3321 +#: flatcamEditors/FlatCAMGrbEditor.py:3325 msgid "Aperture code value is missing or wrong format. Add it and retry." msgstr "" "Отсутствует значение кода отверстия или оно имеет неправильный формат. " "Добавьте его и повторите попытку." -#: flatcamEditors/FlatCAMGrbEditor.py:3347 +#: flatcamEditors/FlatCAMGrbEditor.py:3361 msgid "" "Aperture dimensions value is missing or wrong format. Add it in format " "(width, height) and retry." @@ -4963,186 +5329,186 @@ msgstr "" "Отсутствует значение размера отверстия или оно имеет неправильный формат. " "Добавьте его в формате (ширина, высота) и повторите попытку." -#: flatcamEditors/FlatCAMGrbEditor.py:3360 +#: flatcamEditors/FlatCAMGrbEditor.py:3374 msgid "Aperture size value is missing or wrong format. Add it and retry." msgstr "" "Отсутствует значение размера отверстия или оно имеет неправильный формат. " "Добавьте его и повторите попытку." -#: flatcamEditors/FlatCAMGrbEditor.py:3371 +#: flatcamEditors/FlatCAMGrbEditor.py:3385 msgid "Aperture already in the aperture table." msgstr "Отверстие уже присутствует в таблице отверстий." -#: flatcamEditors/FlatCAMGrbEditor.py:3379 +#: flatcamEditors/FlatCAMGrbEditor.py:3393 msgid "Added new aperture with code" msgstr "Добавлено новое отверстие с кодом" -#: flatcamEditors/FlatCAMGrbEditor.py:3408 +#: flatcamEditors/FlatCAMGrbEditor.py:3422 msgid " Select an aperture in Aperture Table" msgstr " Выберите отверстие в таблице отверстий" -#: flatcamEditors/FlatCAMGrbEditor.py:3416 +#: flatcamEditors/FlatCAMGrbEditor.py:3430 msgid "Select an aperture in Aperture Table -->" msgstr "Выберите отверстие в таблице отверстий-->" -#: flatcamEditors/FlatCAMGrbEditor.py:3439 +#: flatcamEditors/FlatCAMGrbEditor.py:3453 msgid "Deleted aperture with code" msgstr "Удалено отверстие с кодом" -#: flatcamEditors/FlatCAMGrbEditor.py:3924 +#: flatcamEditors/FlatCAMGrbEditor.py:3950 msgid "Loading Gerber into Editor" msgstr "Загрузка Gerber в редактор" -#: flatcamEditors/FlatCAMGrbEditor.py:4034 +#: flatcamEditors/FlatCAMGrbEditor.py:4078 msgid "Setting up the UI" msgstr "Настройка пользовательского интерфейса" -#: flatcamEditors/FlatCAMGrbEditor.py:4035 +#: flatcamEditors/FlatCAMGrbEditor.py:4079 msgid "Adding geometry finished. Preparing the GUI" msgstr "" "Добавление геометрии закончено. Подготовка графического интерфейса " "пользователя" -#: flatcamEditors/FlatCAMGrbEditor.py:4044 +#: flatcamEditors/FlatCAMGrbEditor.py:4088 msgid "Finished loading the Gerber object into the editor." msgstr "Завершена загрузка объекта Gerber в редактор." -#: flatcamEditors/FlatCAMGrbEditor.py:4184 +#: flatcamEditors/FlatCAMGrbEditor.py:4228 msgid "" "There are no Aperture definitions in the file. Aborting Gerber creation." msgstr "В файле нет отверстий. Прерывание создания Gerber." -#: flatcamEditors/FlatCAMGrbEditor.py:4194 +#: flatcamEditors/FlatCAMGrbEditor.py:4238 msgid "Creating Gerber." msgstr "Создание Gerber." -#: flatcamEditors/FlatCAMGrbEditor.py:4203 +#: flatcamEditors/FlatCAMGrbEditor.py:4247 msgid "Done. Gerber editing finished." msgstr "Редактирование Gerber завершено." -#: flatcamEditors/FlatCAMGrbEditor.py:4222 +#: flatcamEditors/FlatCAMGrbEditor.py:4265 msgid "Cancelled. No aperture is selected" msgstr "Отмена. Нет выбранных отверстий" -#: flatcamEditors/FlatCAMGrbEditor.py:4782 +#: flatcamEditors/FlatCAMGrbEditor.py:4826 msgid "Failed. No aperture geometry is selected." msgstr "Ошибка. Не выбрана геометрия отверстий." -#: flatcamEditors/FlatCAMGrbEditor.py:4791 -#: flatcamEditors/FlatCAMGrbEditor.py:5062 +#: flatcamEditors/FlatCAMGrbEditor.py:4835 +#: flatcamEditors/FlatCAMGrbEditor.py:5106 msgid "Done. Apertures geometry deleted." msgstr "Готово. Геометрия отверстий удалена." -#: flatcamEditors/FlatCAMGrbEditor.py:4934 +#: flatcamEditors/FlatCAMGrbEditor.py:4978 msgid "No aperture to buffer. Select at least one aperture and try again." msgstr "" "Нет отверстий для создания буфера. Выберите хотя бы одно отверстие и " "повторите попытку." -#: flatcamEditors/FlatCAMGrbEditor.py:4946 +#: flatcamEditors/FlatCAMGrbEditor.py:4990 msgid "Failed." msgstr "Неудачно." -#: flatcamEditors/FlatCAMGrbEditor.py:4965 +#: flatcamEditors/FlatCAMGrbEditor.py:5009 msgid "Scale factor value is missing or wrong format. Add it and retry." msgstr "" "Отсутствует значение коэффициента масштабирования или оно имеет неправильный " "формат. Добавьте его и повторите попытку." -#: flatcamEditors/FlatCAMGrbEditor.py:4997 +#: flatcamEditors/FlatCAMGrbEditor.py:5041 msgid "No aperture to scale. Select at least one aperture and try again." msgstr "" "Нет отверстий для масштабирования. Выберите хотя бы одно отверстие и " "повторите попытку." -#: flatcamEditors/FlatCAMGrbEditor.py:5013 +#: flatcamEditors/FlatCAMGrbEditor.py:5057 msgid "Done. Scale Tool completed." msgstr "Готово. Масштабирование выполнено." -#: flatcamEditors/FlatCAMGrbEditor.py:5051 +#: flatcamEditors/FlatCAMGrbEditor.py:5095 msgid "Polygons marked." msgstr "Полигонов отмечено." -#: flatcamEditors/FlatCAMGrbEditor.py:5054 +#: flatcamEditors/FlatCAMGrbEditor.py:5098 msgid "No polygons were marked. None fit within the limits." msgstr "Полигоны не были отмечены. Ни один не укладывается в пределы." -#: flatcamEditors/FlatCAMGrbEditor.py:5783 +#: flatcamEditors/FlatCAMGrbEditor.py:5822 msgid "Rotation action was not executed." msgstr "Вращение не было выполнено." -#: flatcamEditors/FlatCAMGrbEditor.py:5919 +#: flatcamEditors/FlatCAMGrbEditor.py:5950 msgid "Skew action was not executed." msgstr "Наклон не был выполнен." -#: flatcamEditors/FlatCAMGrbEditor.py:5986 +#: flatcamEditors/FlatCAMGrbEditor.py:6015 msgid "Scale action was not executed." msgstr "Операция масштабирования не была выполнена." -#: flatcamEditors/FlatCAMGrbEditor.py:6029 +#: flatcamEditors/FlatCAMGrbEditor.py:6058 msgid "Offset action was not executed." msgstr "Операция смещения не была выполнена." -#: flatcamEditors/FlatCAMGrbEditor.py:6079 +#: flatcamEditors/FlatCAMGrbEditor.py:6108 msgid "Geometry shape offset Y cancelled" msgstr "Смещение формы по оси Y отменено" -#: flatcamEditors/FlatCAMGrbEditor.py:6094 +#: flatcamEditors/FlatCAMGrbEditor.py:6123 msgid "Geometry shape skew X cancelled" msgstr "Наклон формы по оси X отменён" -#: flatcamEditors/FlatCAMGrbEditor.py:6109 +#: flatcamEditors/FlatCAMGrbEditor.py:6138 msgid "Geometry shape skew Y cancelled" msgstr "Наклон формы по оси Y отменён" -#: flatcamEditors/FlatCAMTextEditor.py:72 +#: flatcamEditors/FlatCAMTextEditor.py:74 msgid "Print Preview" msgstr "Предпросмотр печати" -#: flatcamEditors/FlatCAMTextEditor.py:73 +#: flatcamEditors/FlatCAMTextEditor.py:75 msgid "Open a OS standard Preview Print window." msgstr "Откроет стандартное окно предварительного просмотра печати ОС." -#: flatcamEditors/FlatCAMTextEditor.py:76 +#: flatcamEditors/FlatCAMTextEditor.py:78 msgid "Print Code" msgstr "Печать кода" -#: flatcamEditors/FlatCAMTextEditor.py:77 +#: flatcamEditors/FlatCAMTextEditor.py:79 msgid "Open a OS standard Print window." msgstr "Откроет стандартное окно печати ОС." -#: flatcamEditors/FlatCAMTextEditor.py:79 +#: flatcamEditors/FlatCAMTextEditor.py:81 msgid "Find in Code" msgstr "Найти в коде" -#: flatcamEditors/FlatCAMTextEditor.py:80 +#: flatcamEditors/FlatCAMTextEditor.py:82 msgid "Will search and highlight in yellow the string in the Find box." msgstr "Будет искать и выделять желтым цветом строку в поле поиска." -#: flatcamEditors/FlatCAMTextEditor.py:84 +#: flatcamEditors/FlatCAMTextEditor.py:86 msgid "Find box. Enter here the strings to be searched in the text." msgstr "Поле поиска. Введите здесь строки для поиска в тексте." -#: flatcamEditors/FlatCAMTextEditor.py:86 +#: flatcamEditors/FlatCAMTextEditor.py:88 msgid "Replace With" msgstr "Заменить" -#: flatcamEditors/FlatCAMTextEditor.py:87 +#: flatcamEditors/FlatCAMTextEditor.py:89 msgid "" "Will replace the string from the Find box with the one in the Replace box." msgstr "Заменяет строку из поля «Найти» на строку в поле «Заменить»." -#: flatcamEditors/FlatCAMTextEditor.py:91 +#: flatcamEditors/FlatCAMTextEditor.py:93 msgid "String to replace the one in the Find box throughout the text." msgstr "Строка, заменяющая строку в поле поиска по всему тексту." -#: flatcamEditors/FlatCAMTextEditor.py:93 flatcamGUI/ObjectUI.py:482 -#: flatcamGUI/ObjectUI.py:1809 flatcamGUI/PreferencesUI.py:2070 -#: flatcamGUI/PreferencesUI.py:4419 flatcamGUI/PreferencesUI.py:5647 +#: flatcamEditors/FlatCAMTextEditor.py:95 flatcamGUI/ObjectUI.py:485 +#: flatcamGUI/ObjectUI.py:2137 flatcamGUI/PreferencesUI.py:2250 +#: flatcamGUI/PreferencesUI.py:4712 msgid "All" msgstr "Все" -#: flatcamEditors/FlatCAMTextEditor.py:94 +#: flatcamEditors/FlatCAMTextEditor.py:96 msgid "" "When checked it will replace all instances in the 'Find' box\n" "with the text in the 'Replace' box.." @@ -5150,162 +5516,171 @@ msgstr "" "При установке флажка он заменит все экземпляры в поле \"Найти\"\n" "с текстом в поле \"заменить\".." -#: flatcamEditors/FlatCAMTextEditor.py:97 +#: flatcamEditors/FlatCAMTextEditor.py:99 msgid "Copy All" msgstr "Копировать все" -#: flatcamEditors/FlatCAMTextEditor.py:98 +#: flatcamEditors/FlatCAMTextEditor.py:100 msgid "Will copy all the text in the Code Editor to the clipboard." msgstr "Скопирует весь текст в редакторе кода в буфер обмена." -#: flatcamEditors/FlatCAMTextEditor.py:101 +#: flatcamEditors/FlatCAMTextEditor.py:103 msgid "Open Code" msgstr "Открыть файл" -#: flatcamEditors/FlatCAMTextEditor.py:102 +#: flatcamEditors/FlatCAMTextEditor.py:104 msgid "Will open a text file in the editor." msgstr "Откроется текстовый файл в редакторе." -#: flatcamEditors/FlatCAMTextEditor.py:104 +#: flatcamEditors/FlatCAMTextEditor.py:106 msgid "Save Code" msgstr "Сохранить код" -#: flatcamEditors/FlatCAMTextEditor.py:105 +#: flatcamEditors/FlatCAMTextEditor.py:107 msgid "Will save the text in the editor into a file." msgstr "Сохранит текст в редакторе в файл." -#: flatcamEditors/FlatCAMTextEditor.py:107 +#: flatcamEditors/FlatCAMTextEditor.py:109 msgid "Run Code" msgstr "Выполнить код" -#: flatcamEditors/FlatCAMTextEditor.py:108 +#: flatcamEditors/FlatCAMTextEditor.py:110 msgid "Will run the TCL commands found in the text file, one by one." msgstr "" "Будут запускаться команды TCL, найденные в текстовом файле, одна за другой." -#: flatcamEditors/FlatCAMTextEditor.py:182 +#: flatcamEditors/FlatCAMTextEditor.py:184 msgid "Open file" msgstr "Открыть файл" -#: flatcamEditors/FlatCAMTextEditor.py:213 -#: flatcamEditors/FlatCAMTextEditor.py:218 +#: flatcamEditors/FlatCAMTextEditor.py:215 +#: flatcamEditors/FlatCAMTextEditor.py:220 msgid "Export Code ..." msgstr "Экспорт кода ..." -#: flatcamEditors/FlatCAMTextEditor.py:221 -msgid "Export Code cancelled." -msgstr "Экспорт Code отменён." - -#: flatcamEditors/FlatCAMTextEditor.py:332 +#: flatcamEditors/FlatCAMTextEditor.py:334 msgid "Code Editor content copied to clipboard ..." msgstr "Содержимое редактора кода скопировано в буфер обмена ..." -#: flatcamGUI/FlatCAMGUI.py:52 flatcamGUI/FlatCAMGUI.py:54 -#: flatcamGUI/FlatCAMGUI.py:2040 +#: flatcamGUI/FlatCAMGUI.py:66 flatcamGUI/FlatCAMGUI.py:68 +#: flatcamGUI/FlatCAMGUI.py:2148 msgid "Toggle Panel" msgstr "Переключить бок. панель" -#: flatcamGUI/FlatCAMGUI.py:64 +#: flatcamGUI/FlatCAMGUI.py:78 msgid "File" msgstr "Файл" -#: flatcamGUI/FlatCAMGUI.py:69 +#: flatcamGUI/FlatCAMGUI.py:83 msgid "&New Project ...\tCtrl+N" msgstr "&Новый проект ...\tCtrl+N" -#: flatcamGUI/FlatCAMGUI.py:71 +#: flatcamGUI/FlatCAMGUI.py:85 msgid "Will create a new, blank project" msgstr "Создаёт новый пустой проект" -#: flatcamGUI/FlatCAMGUI.py:76 +#: flatcamGUI/FlatCAMGUI.py:90 msgid "&New" msgstr "&Создать" -#: flatcamGUI/FlatCAMGUI.py:80 +#: flatcamGUI/FlatCAMGUI.py:94 msgid "Geometry\tN" msgstr "Geometry\tN" -#: flatcamGUI/FlatCAMGUI.py:82 +#: flatcamGUI/FlatCAMGUI.py:96 msgid "Will create a new, empty Geometry Object." msgstr "Создаёт новый объект Geometry." -#: flatcamGUI/FlatCAMGUI.py:84 +#: flatcamGUI/FlatCAMGUI.py:99 msgid "Gerber\tB" msgstr "Gerber\tB" -#: flatcamGUI/FlatCAMGUI.py:86 +#: flatcamGUI/FlatCAMGUI.py:101 msgid "Will create a new, empty Gerber Object." msgstr "Создаёт новый объект Gerber." -#: flatcamGUI/FlatCAMGUI.py:88 +#: flatcamGUI/FlatCAMGUI.py:104 msgid "Excellon\tL" msgstr "Excellon\tL" -#: flatcamGUI/FlatCAMGUI.py:90 +#: flatcamGUI/FlatCAMGUI.py:106 msgid "Will create a new, empty Excellon Object." msgstr "Создаёт новый объект Excellon." -#: flatcamGUI/FlatCAMGUI.py:94 +#: flatcamGUI/FlatCAMGUI.py:111 msgid "Document\tD" msgstr "Document\tD" -#: flatcamGUI/FlatCAMGUI.py:96 +#: flatcamGUI/FlatCAMGUI.py:113 msgid "Will create a new, empty Document Object." msgstr "Создаёт новый объект Document." -#: flatcamGUI/FlatCAMGUI.py:99 flatcamGUI/FlatCAMGUI.py:4111 +#: flatcamGUI/FlatCAMGUI.py:117 flatcamGUI/FlatCAMGUI.py:4327 #: flatcamTools/ToolPcbWizard.py:62 flatcamTools/ToolPcbWizard.py:69 msgid "Open" msgstr "Открыть" -#: flatcamGUI/FlatCAMGUI.py:103 +#: flatcamGUI/FlatCAMGUI.py:122 msgid "Open &Project ..." msgstr "Открыть &проект..." -#: flatcamGUI/FlatCAMGUI.py:109 flatcamGUI/FlatCAMGUI.py:4121 +#: flatcamGUI/FlatCAMGUI.py:128 flatcamGUI/FlatCAMGUI.py:4337 msgid "Open &Gerber ...\tCtrl+G" msgstr "Открыть &Gerber...\tCtrl+G" -#: flatcamGUI/FlatCAMGUI.py:114 flatcamGUI/FlatCAMGUI.py:4126 +#: flatcamGUI/FlatCAMGUI.py:133 flatcamGUI/FlatCAMGUI.py:4342 msgid "Open &Excellon ...\tCtrl+E" msgstr "Открыть &Excellon ...\tCtrl+E" -#: flatcamGUI/FlatCAMGUI.py:118 flatcamGUI/FlatCAMGUI.py:4131 +#: flatcamGUI/FlatCAMGUI.py:138 flatcamGUI/FlatCAMGUI.py:4347 msgid "Open G-&Code ..." msgstr "Открыть G-&Code ..." -#: flatcamGUI/FlatCAMGUI.py:124 +#: flatcamGUI/FlatCAMGUI.py:145 msgid "Open Config ..." msgstr "Открыть конфигурацию ..." -#: flatcamGUI/FlatCAMGUI.py:128 +#: flatcamGUI/FlatCAMGUI.py:150 msgid "Recent projects" msgstr "Недавние проекты" -#: flatcamGUI/FlatCAMGUI.py:129 +#: flatcamGUI/FlatCAMGUI.py:152 msgid "Recent files" msgstr "Открыть недавние" -#: flatcamGUI/FlatCAMGUI.py:135 +#: flatcamGUI/FlatCAMGUI.py:155 flatcamGUI/FlatCAMGUI.py:738 +#: flatcamGUI/FlatCAMGUI.py:1324 +msgid "Save" +msgstr "Сохранить" + +#: flatcamGUI/FlatCAMGUI.py:159 +msgid "&Save Project ...\tCtrl+S" +msgstr "&Сохранить проект ...\tCTRL+S" + +#: flatcamGUI/FlatCAMGUI.py:164 +msgid "Save Project &As ...\tCtrl+Shift+S" +msgstr "Сохранить проект &как ...\tCtrl+Shift+S" + +#: flatcamGUI/FlatCAMGUI.py:179 msgid "Scripting" msgstr "Сценарии" -#: flatcamGUI/FlatCAMGUI.py:138 flatcamGUI/FlatCAMGUI.py:829 -#: flatcamGUI/FlatCAMGUI.py:2409 +#: flatcamGUI/FlatCAMGUI.py:183 flatcamGUI/FlatCAMGUI.py:888 +#: flatcamGUI/FlatCAMGUI.py:2567 msgid "New Script ..." msgstr "Новый сценарий ..." -#: flatcamGUI/FlatCAMGUI.py:139 flatcamGUI/FlatCAMGUI.py:831 -#: flatcamGUI/FlatCAMGUI.py:2411 +#: flatcamGUI/FlatCAMGUI.py:185 flatcamGUI/FlatCAMGUI.py:890 +#: flatcamGUI/FlatCAMGUI.py:2569 msgid "Open Script ..." msgstr "Открыть сценарий ..." -#: flatcamGUI/FlatCAMGUI.py:141 flatcamGUI/FlatCAMGUI.py:833 -#: flatcamGUI/FlatCAMGUI.py:2413 flatcamGUI/FlatCAMGUI.py:4100 +#: flatcamGUI/FlatCAMGUI.py:187 flatcamGUI/FlatCAMGUI.py:892 +#: flatcamGUI/FlatCAMGUI.py:2571 flatcamGUI/FlatCAMGUI.py:4316 msgid "Run Script ..." msgstr "Выполнить сценарий ..." -#: flatcamGUI/FlatCAMGUI.py:143 flatcamGUI/FlatCAMGUI.py:4102 +#: flatcamGUI/FlatCAMGUI.py:189 flatcamGUI/FlatCAMGUI.py:4318 msgid "" "Will run the opened Tcl Script thus\n" "enabling the automation of certain\n" @@ -5315,47 +5690,47 @@ msgstr "" "включающий автоматизацию некоторых\n" "функций FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:156 +#: flatcamGUI/FlatCAMGUI.py:203 msgid "Import" msgstr "Импорт" -#: flatcamGUI/FlatCAMGUI.py:158 +#: flatcamGUI/FlatCAMGUI.py:205 msgid "&SVG as Geometry Object ..." msgstr "&SVG как объект Geometry ..." -#: flatcamGUI/FlatCAMGUI.py:161 +#: flatcamGUI/FlatCAMGUI.py:208 msgid "&SVG as Gerber Object ..." msgstr "&SVG как объект Gerber ..." -#: flatcamGUI/FlatCAMGUI.py:166 +#: flatcamGUI/FlatCAMGUI.py:213 msgid "&DXF as Geometry Object ..." msgstr "&DXF как объект Geometry ..." -#: flatcamGUI/FlatCAMGUI.py:169 +#: flatcamGUI/FlatCAMGUI.py:216 msgid "&DXF as Gerber Object ..." msgstr "&DXF как объект Gerber ..." -#: flatcamGUI/FlatCAMGUI.py:173 +#: flatcamGUI/FlatCAMGUI.py:220 msgid "HPGL2 as Geometry Object ..." msgstr "HPGL2 как объект геометрии ..." -#: flatcamGUI/FlatCAMGUI.py:178 +#: flatcamGUI/FlatCAMGUI.py:226 msgid "Export" msgstr "Экспорт" -#: flatcamGUI/FlatCAMGUI.py:181 +#: flatcamGUI/FlatCAMGUI.py:230 msgid "Export &SVG ..." msgstr "Экспорт &SVG ..." -#: flatcamGUI/FlatCAMGUI.py:184 +#: flatcamGUI/FlatCAMGUI.py:234 msgid "Export DXF ..." msgstr "Экспорт DXF ..." -#: flatcamGUI/FlatCAMGUI.py:189 +#: flatcamGUI/FlatCAMGUI.py:240 msgid "Export &PNG ..." msgstr "Экспорт &PNG ..." -#: flatcamGUI/FlatCAMGUI.py:191 +#: flatcamGUI/FlatCAMGUI.py:242 msgid "" "Will export an image in PNG format,\n" "the saved image will contain the visual \n" @@ -5365,11 +5740,11 @@ msgstr "" "сохраненное изображение будет содержать визуальную\n" "информацию, открытую в настоящее время в пространстве отрисовки FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:200 +#: flatcamGUI/FlatCAMGUI.py:251 msgid "Export &Excellon ..." msgstr "Экспорт &Excellon ..." -#: flatcamGUI/FlatCAMGUI.py:202 +#: flatcamGUI/FlatCAMGUI.py:253 msgid "" "Will export an Excellon Object as Excellon file,\n" "the coordinates format, the file units and zeros\n" @@ -5379,11 +5754,11 @@ msgstr "" "формат координат, единицы измерения и нули\n" "устанавливаются в Настройки -> Экспорт Excellon." -#: flatcamGUI/FlatCAMGUI.py:209 +#: flatcamGUI/FlatCAMGUI.py:260 msgid "Export &Gerber ..." msgstr "Экспорт &Gerber ..." -#: flatcamGUI/FlatCAMGUI.py:211 +#: flatcamGUI/FlatCAMGUI.py:262 msgid "" "Will export an Gerber Object as Gerber file,\n" "the coordinates format, the file units and zeros\n" @@ -5393,65 +5768,48 @@ msgstr "" "формат координат, единицы измерения и нули\n" "устанавливается в Настройки -> Экспорт Gerber." -#: flatcamGUI/FlatCAMGUI.py:229 +#: flatcamGUI/FlatCAMGUI.py:272 msgid "Backup" msgstr "Резервное копирование" -#: flatcamGUI/FlatCAMGUI.py:233 +#: flatcamGUI/FlatCAMGUI.py:277 msgid "Import Preferences from file ..." msgstr "Импортировать настройки из файла ..." -#: flatcamGUI/FlatCAMGUI.py:238 +#: flatcamGUI/FlatCAMGUI.py:283 msgid "Export Preferences to file ..." msgstr "Экспортировать настройки в файл ..." -#: flatcamGUI/FlatCAMGUI.py:244 flatcamGUI/FlatCAMGUI.py:1614 +#: flatcamGUI/FlatCAMGUI.py:297 flatcamGUI/FlatCAMGUI.py:1715 msgid "Print (PDF)" msgstr "Печать (PDF)" -#: flatcamGUI/FlatCAMGUI.py:247 flatcamGUI/FlatCAMGUI.py:682 -#: flatcamGUI/FlatCAMGUI.py:1252 -msgid "Save" -msgstr "Сохранить" - -#: flatcamGUI/FlatCAMGUI.py:251 -msgid "&Save Project ..." -msgstr "&Сохранить проект ..." - -#: flatcamGUI/FlatCAMGUI.py:256 -msgid "Save Project &As ...\tCtrl+S" -msgstr "Сохранить проект &как ...\tCtrl+S" - -#: flatcamGUI/FlatCAMGUI.py:261 -msgid "Save Project C&opy ..." -msgstr "Сохранить к&опию проекта..." - -#: flatcamGUI/FlatCAMGUI.py:271 +#: flatcamGUI/FlatCAMGUI.py:305 msgid "E&xit" msgstr "В&ыход" -#: flatcamGUI/FlatCAMGUI.py:279 flatcamGUI/FlatCAMGUI.py:676 -#: flatcamGUI/FlatCAMGUI.py:2163 +#: flatcamGUI/FlatCAMGUI.py:313 flatcamGUI/FlatCAMGUI.py:732 +#: flatcamGUI/FlatCAMGUI.py:2271 msgid "Edit" msgstr "Правка" -#: flatcamGUI/FlatCAMGUI.py:283 +#: flatcamGUI/FlatCAMGUI.py:317 msgid "Edit Object\tE" msgstr "Редактировать объект\tE" -#: flatcamGUI/FlatCAMGUI.py:285 +#: flatcamGUI/FlatCAMGUI.py:319 msgid "Close Editor\tCtrl+S" msgstr "Закрыть редактор\tCtrl+S" -#: flatcamGUI/FlatCAMGUI.py:294 +#: flatcamGUI/FlatCAMGUI.py:328 msgid "Conversion" msgstr "Конвертация" -#: flatcamGUI/FlatCAMGUI.py:296 +#: flatcamGUI/FlatCAMGUI.py:330 msgid "&Join Geo/Gerber/Exc -> Geo" msgstr "&Объединить Geo/Gerber/Exc - > Geo" -#: flatcamGUI/FlatCAMGUI.py:298 +#: flatcamGUI/FlatCAMGUI.py:332 msgid "" "Merge a selection of objects, which can be of type:\n" "- Gerber\n" @@ -5465,30 +5823,30 @@ msgstr "" "- Geometry\n" "в новый комбинированный объект геометрии." -#: flatcamGUI/FlatCAMGUI.py:305 +#: flatcamGUI/FlatCAMGUI.py:339 msgid "Join Excellon(s) -> Excellon" msgstr "Объединить Excellon (s) - > Excellon" -#: flatcamGUI/FlatCAMGUI.py:307 +#: flatcamGUI/FlatCAMGUI.py:341 msgid "Merge a selection of Excellon objects into a new combo Excellon object." msgstr "" "Объединяет выбранные объекты Excellon в новый комбинированный объект " "Excellon." -#: flatcamGUI/FlatCAMGUI.py:310 +#: flatcamGUI/FlatCAMGUI.py:344 msgid "Join Gerber(s) -> Gerber" msgstr "Объединить Gerber(s) - > Gerber" -#: flatcamGUI/FlatCAMGUI.py:312 +#: flatcamGUI/FlatCAMGUI.py:346 msgid "Merge a selection of Gerber objects into a new combo Gerber object." msgstr "" "Объединяет выбранные объекты Gerber в новый комбинированный объект Gerber." -#: flatcamGUI/FlatCAMGUI.py:317 +#: flatcamGUI/FlatCAMGUI.py:351 msgid "Convert Single to MultiGeo" msgstr "Преобразование Single в MultiGeo" -#: flatcamGUI/FlatCAMGUI.py:319 +#: flatcamGUI/FlatCAMGUI.py:353 msgid "" "Will convert a Geometry object from single_geometry type\n" "to a multi_geometry type." @@ -5496,11 +5854,11 @@ msgstr "" "Преобразует объект Geometry из типа single_geometry\n" "в multi_geometry.." -#: flatcamGUI/FlatCAMGUI.py:323 +#: flatcamGUI/FlatCAMGUI.py:357 msgid "Convert Multi to SingleGeo" msgstr "Преобразование Multi в SingleGeo" -#: flatcamGUI/FlatCAMGUI.py:325 +#: flatcamGUI/FlatCAMGUI.py:359 msgid "" "Will convert a Geometry object from multi_geometry type\n" "to a single_geometry type." @@ -5508,739 +5866,748 @@ msgstr "" "Преобразует объект Geometry из типа multi_geometry\n" "в single_geometry.." -#: flatcamGUI/FlatCAMGUI.py:332 +#: flatcamGUI/FlatCAMGUI.py:366 msgid "Convert Any to Geo" msgstr "Конвертировать любой объект в Geo" -#: flatcamGUI/FlatCAMGUI.py:335 +#: flatcamGUI/FlatCAMGUI.py:369 msgid "Convert Any to Gerber" msgstr "Конвертировать любой объект в Gerber" -#: flatcamGUI/FlatCAMGUI.py:341 +#: flatcamGUI/FlatCAMGUI.py:375 msgid "&Copy\tCtrl+C" msgstr "&Копировать\tCtrl+C" -#: flatcamGUI/FlatCAMGUI.py:346 +#: flatcamGUI/FlatCAMGUI.py:380 msgid "&Delete\tDEL" msgstr "&Удалить\tDEL" -#: flatcamGUI/FlatCAMGUI.py:351 +#: flatcamGUI/FlatCAMGUI.py:385 msgid "Se&t Origin\tO" msgstr "Ук&азать начало координат\tO" -#: flatcamGUI/FlatCAMGUI.py:353 +#: flatcamGUI/FlatCAMGUI.py:387 +msgid "Move to Origin\tShift+O" +msgstr "Перейти к началу координат\tShift+O" + +#: flatcamGUI/FlatCAMGUI.py:390 msgid "Jump to Location\tJ" msgstr "Перейти к\tJ" -#: flatcamGUI/FlatCAMGUI.py:358 +#: flatcamGUI/FlatCAMGUI.py:392 +msgid "Locate in Object\tShift+J" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:397 msgid "Toggle Units\tQ" msgstr "Единицы измерения\tQ" -#: flatcamGUI/FlatCAMGUI.py:360 +#: flatcamGUI/FlatCAMGUI.py:399 msgid "&Select All\tCtrl+A" msgstr "&Выбрать все\tCtrl+A" -#: flatcamGUI/FlatCAMGUI.py:365 +#: flatcamGUI/FlatCAMGUI.py:404 msgid "&Preferences\tShift+P" msgstr "&Настройки\tShift+P" -#: flatcamGUI/FlatCAMGUI.py:371 flatcamTools/ToolProperties.py:153 +#: flatcamGUI/FlatCAMGUI.py:410 flatcamTools/ToolProperties.py:155 msgid "Options" msgstr "Опции" -#: flatcamGUI/FlatCAMGUI.py:373 +#: flatcamGUI/FlatCAMGUI.py:412 msgid "&Rotate Selection\tShift+(R)" msgstr "&Вращение\tShift+(R)" -#: flatcamGUI/FlatCAMGUI.py:378 +#: flatcamGUI/FlatCAMGUI.py:417 msgid "&Skew on X axis\tShift+X" msgstr "&Наклон по оси X\tShift+X" -#: flatcamGUI/FlatCAMGUI.py:380 +#: flatcamGUI/FlatCAMGUI.py:419 msgid "S&kew on Y axis\tShift+Y" msgstr "Н&аклон по оси Y\tShift+Y" -#: flatcamGUI/FlatCAMGUI.py:385 +#: flatcamGUI/FlatCAMGUI.py:424 msgid "Flip on &X axis\tX" msgstr "Отразить по оси &X\tX" -#: flatcamGUI/FlatCAMGUI.py:387 +#: flatcamGUI/FlatCAMGUI.py:426 msgid "Flip on &Y axis\tY" msgstr "Отразить по оси &Y\tY" -#: flatcamGUI/FlatCAMGUI.py:392 +#: flatcamGUI/FlatCAMGUI.py:431 msgid "View source\tAlt+S" msgstr "Просмотреть код\tAlt+S" -#: flatcamGUI/FlatCAMGUI.py:394 +#: flatcamGUI/FlatCAMGUI.py:433 msgid "Tools DataBase\tCtrl+D" msgstr "База данных\tCtrl+D" -#: flatcamGUI/FlatCAMGUI.py:401 flatcamGUI/FlatCAMGUI.py:2060 +#: flatcamGUI/FlatCAMGUI.py:440 flatcamGUI/FlatCAMGUI.py:2168 msgid "View" msgstr "Вид" -#: flatcamGUI/FlatCAMGUI.py:403 +#: flatcamGUI/FlatCAMGUI.py:442 msgid "Enable all plots\tAlt+1" msgstr "Включить все участки\tAlt+1" -#: flatcamGUI/FlatCAMGUI.py:405 +#: flatcamGUI/FlatCAMGUI.py:444 msgid "Disable all plots\tAlt+2" msgstr "Отключить все участки\tAlt+2" -#: flatcamGUI/FlatCAMGUI.py:407 +#: flatcamGUI/FlatCAMGUI.py:446 msgid "Disable non-selected\tAlt+3" msgstr "Отключить не выбранные\tAlt+3" -#: flatcamGUI/FlatCAMGUI.py:411 +#: flatcamGUI/FlatCAMGUI.py:450 msgid "&Zoom Fit\tV" msgstr "&Вернуть масштаб\tV" -#: flatcamGUI/FlatCAMGUI.py:413 +#: flatcamGUI/FlatCAMGUI.py:452 msgid "&Zoom In\t=" msgstr "&Увеличить\t=" -#: flatcamGUI/FlatCAMGUI.py:415 +#: flatcamGUI/FlatCAMGUI.py:454 msgid "&Zoom Out\t-" msgstr "&Уменьшить\t-" -#: flatcamGUI/FlatCAMGUI.py:420 +#: flatcamGUI/FlatCAMGUI.py:459 msgid "Redraw All\tF5" msgstr "Перерисовать всё\tF5" -#: flatcamGUI/FlatCAMGUI.py:424 +#: flatcamGUI/FlatCAMGUI.py:463 msgid "Toggle Code Editor\tShift+E" msgstr "Переключить редактор кода\tShift+E" -#: flatcamGUI/FlatCAMGUI.py:427 +#: flatcamGUI/FlatCAMGUI.py:466 msgid "&Toggle FullScreen\tAlt+F10" msgstr "&Во весь экран\tAlt+F10" -#: flatcamGUI/FlatCAMGUI.py:429 +#: flatcamGUI/FlatCAMGUI.py:468 msgid "&Toggle Plot Area\tCtrl+F10" msgstr "&Рабочая область\tCtrl+F10" -#: flatcamGUI/FlatCAMGUI.py:431 +#: flatcamGUI/FlatCAMGUI.py:470 msgid "&Toggle Project/Sel/Tool\t`" msgstr "&Боковая панель\t`" -#: flatcamGUI/FlatCAMGUI.py:435 +#: flatcamGUI/FlatCAMGUI.py:474 msgid "&Toggle Grid Snap\tG" msgstr "&Привязка к сетке\tG" -#: flatcamGUI/FlatCAMGUI.py:437 -<<<<<<< HEAD -msgid "&Toggle Grid Lines\tALT+G" -msgstr "&Сетка вкл/откл\tALT+G" -======= +#: flatcamGUI/FlatCAMGUI.py:476 msgid "&Toggle Grid Lines\tAlt+G" msgstr "&Переключить линии сетки \tAlt+G" ->>>>>>> remotes/jpcgt/flatcam/Beta -#: flatcamGUI/FlatCAMGUI.py:439 +#: flatcamGUI/FlatCAMGUI.py:478 msgid "&Toggle Axis\tShift+G" msgstr "&Оси\tShift+G" -#: flatcamGUI/FlatCAMGUI.py:441 +#: flatcamGUI/FlatCAMGUI.py:480 msgid "Toggle Workspace\tShift+W" msgstr "Границы рабочего пространства\tShift+W" -#: flatcamGUI/FlatCAMGUI.py:446 +#: flatcamGUI/FlatCAMGUI.py:485 msgid "Objects" msgstr "Объекты" -#: flatcamGUI/FlatCAMGUI.py:460 +#: flatcamGUI/FlatCAMGUI.py:499 msgid "&Command Line\tS" msgstr "&Командная строка\tS" -#: flatcamGUI/FlatCAMGUI.py:465 +#: flatcamGUI/FlatCAMGUI.py:504 msgid "Help" msgstr "Помощь" -#: flatcamGUI/FlatCAMGUI.py:467 +#: flatcamGUI/FlatCAMGUI.py:506 msgid "Online Help\tF1" msgstr "Онлайн справка\tF1" -#: flatcamGUI/FlatCAMGUI.py:477 +#: flatcamGUI/FlatCAMGUI.py:516 msgid "Report a bug" msgstr "Сообщить об ошибке" -#: flatcamGUI/FlatCAMGUI.py:480 +#: flatcamGUI/FlatCAMGUI.py:519 msgid "Excellon Specification" msgstr "Спецификация Excellon" -#: flatcamGUI/FlatCAMGUI.py:482 +#: flatcamGUI/FlatCAMGUI.py:521 msgid "Gerber Specification" msgstr "Спецификация Gerber" -#: flatcamGUI/FlatCAMGUI.py:487 +#: flatcamGUI/FlatCAMGUI.py:526 msgid "Shortcuts List\tF3" msgstr "Список комбинаций клавиш\tF3" -#: flatcamGUI/FlatCAMGUI.py:489 +#: flatcamGUI/FlatCAMGUI.py:528 msgid "YouTube Channel\tF4" msgstr "Канал YouTube\tF4" -#: flatcamGUI/FlatCAMGUI.py:500 +#: flatcamGUI/FlatCAMGUI.py:539 msgid "Add Circle\tO" msgstr "Добавить круг\tO" -#: flatcamGUI/FlatCAMGUI.py:503 +#: flatcamGUI/FlatCAMGUI.py:542 msgid "Add Arc\tA" msgstr "Добавить дугу\tA" -#: flatcamGUI/FlatCAMGUI.py:506 +#: flatcamGUI/FlatCAMGUI.py:545 msgid "Add Rectangle\tR" msgstr "Добавить прямоугольник\tR" -#: flatcamGUI/FlatCAMGUI.py:509 +#: flatcamGUI/FlatCAMGUI.py:548 msgid "Add Polygon\tN" msgstr "Добавить полигон\tN" -#: flatcamGUI/FlatCAMGUI.py:512 +#: flatcamGUI/FlatCAMGUI.py:551 msgid "Add Path\tP" msgstr "Добавить дорожку\tP" -#: flatcamGUI/FlatCAMGUI.py:515 +#: flatcamGUI/FlatCAMGUI.py:554 msgid "Add Text\tT" msgstr "Добавить текст\tT" -#: flatcamGUI/FlatCAMGUI.py:518 +#: flatcamGUI/FlatCAMGUI.py:557 msgid "Polygon Union\tU" msgstr "Объединение полигонов\tU" -#: flatcamGUI/FlatCAMGUI.py:520 +#: flatcamGUI/FlatCAMGUI.py:559 msgid "Polygon Intersection\tE" msgstr "Пересечение полигонов\tE" -#: flatcamGUI/FlatCAMGUI.py:522 +#: flatcamGUI/FlatCAMGUI.py:561 msgid "Polygon Subtraction\tS" msgstr "Вычитание полигонов\tS" -#: flatcamGUI/FlatCAMGUI.py:526 +#: flatcamGUI/FlatCAMGUI.py:565 msgid "Cut Path\tX" msgstr "Вырезать дорожку\tX" -#: flatcamGUI/FlatCAMGUI.py:529 +#: flatcamGUI/FlatCAMGUI.py:569 msgid "Copy Geom\tC" msgstr "Копировать Geom\tC" -#: flatcamGUI/FlatCAMGUI.py:531 +#: flatcamGUI/FlatCAMGUI.py:571 msgid "Delete Shape\tDEL" msgstr "Удалить фигуру\tDEL" -#: flatcamGUI/FlatCAMGUI.py:535 flatcamGUI/FlatCAMGUI.py:622 +#: flatcamGUI/FlatCAMGUI.py:575 flatcamGUI/FlatCAMGUI.py:662 msgid "Move\tM" msgstr "Переместить\tM" -#: flatcamGUI/FlatCAMGUI.py:537 +#: flatcamGUI/FlatCAMGUI.py:577 msgid "Buffer Tool\tB" msgstr "Буфер\tB" -#: flatcamGUI/FlatCAMGUI.py:540 +#: flatcamGUI/FlatCAMGUI.py:580 msgid "Paint Tool\tI" msgstr "Рисование\tI" -#: flatcamGUI/FlatCAMGUI.py:543 +#: flatcamGUI/FlatCAMGUI.py:583 msgid "Transform Tool\tAlt+R" msgstr "Трансформация\tAlt+R" -#: flatcamGUI/FlatCAMGUI.py:547 +#: flatcamGUI/FlatCAMGUI.py:587 msgid "Toggle Corner Snap\tK" msgstr "Привязка к углу\tK" -#: flatcamGUI/FlatCAMGUI.py:553 +#: flatcamGUI/FlatCAMGUI.py:593 msgid ">Excellon Editor<" msgstr ">Редактор Excellon<" -#: flatcamGUI/FlatCAMGUI.py:557 +#: flatcamGUI/FlatCAMGUI.py:597 msgid "Add Drill Array\tA" msgstr "Добавить группу свёрел\tA" -#: flatcamGUI/FlatCAMGUI.py:559 +#: flatcamGUI/FlatCAMGUI.py:599 msgid "Add Drill\tD" msgstr "Добавить сверло\tD" -#: flatcamGUI/FlatCAMGUI.py:563 +#: flatcamGUI/FlatCAMGUI.py:603 msgid "Add Slot Array\tQ" msgstr "Добавить массив пазов\tQ" -#: flatcamGUI/FlatCAMGUI.py:565 +#: flatcamGUI/FlatCAMGUI.py:605 msgid "Add Slot\tW" msgstr "Добавить паз\tW" -#: flatcamGUI/FlatCAMGUI.py:569 +#: flatcamGUI/FlatCAMGUI.py:609 msgid "Resize Drill(S)\tR" msgstr "Изменить размер отверстия\tR" -#: flatcamGUI/FlatCAMGUI.py:572 flatcamGUI/FlatCAMGUI.py:616 +#: flatcamGUI/FlatCAMGUI.py:612 flatcamGUI/FlatCAMGUI.py:656 msgid "Copy\tC" msgstr "Копировать\tC" -#: flatcamGUI/FlatCAMGUI.py:574 flatcamGUI/FlatCAMGUI.py:618 +#: flatcamGUI/FlatCAMGUI.py:614 flatcamGUI/FlatCAMGUI.py:658 msgid "Delete\tDEL" msgstr "Удалить\tDEL" -#: flatcamGUI/FlatCAMGUI.py:579 +#: flatcamGUI/FlatCAMGUI.py:619 msgid "Move Drill(s)\tM" msgstr "Переместить сверла\tM" -#: flatcamGUI/FlatCAMGUI.py:584 +#: flatcamGUI/FlatCAMGUI.py:624 msgid ">Gerber Editor<" msgstr ">Редактор Gerber<" -#: flatcamGUI/FlatCAMGUI.py:588 +#: flatcamGUI/FlatCAMGUI.py:628 msgid "Add Pad\tP" msgstr "Добавить площадку\tP" -#: flatcamGUI/FlatCAMGUI.py:590 +#: flatcamGUI/FlatCAMGUI.py:630 msgid "Add Pad Array\tA" msgstr "Добавить массив площадок\tA" -#: flatcamGUI/FlatCAMGUI.py:592 +#: flatcamGUI/FlatCAMGUI.py:632 msgid "Add Track\tT" msgstr "Добавить маршрут\tT" -#: flatcamGUI/FlatCAMGUI.py:594 +#: flatcamGUI/FlatCAMGUI.py:634 msgid "Add Region\tN" msgstr "Добавить регион\tN" -#: flatcamGUI/FlatCAMGUI.py:598 +#: flatcamGUI/FlatCAMGUI.py:638 msgid "Poligonize\tAlt+N" msgstr "Полигонизация\tAlt+N" -#: flatcamGUI/FlatCAMGUI.py:600 +#: flatcamGUI/FlatCAMGUI.py:640 msgid "Add SemiDisc\tE" msgstr "Добавить полукруг\tE" -#: flatcamGUI/FlatCAMGUI.py:602 +#: flatcamGUI/FlatCAMGUI.py:642 msgid "Add Disc\tD" msgstr "Добавить диск\tD" -#: flatcamGUI/FlatCAMGUI.py:604 +#: flatcamGUI/FlatCAMGUI.py:644 msgid "Buffer\tB" msgstr "Буфер\tB" -#: flatcamGUI/FlatCAMGUI.py:606 +#: flatcamGUI/FlatCAMGUI.py:646 msgid "Scale\tS" msgstr "Масштабировать\tS" -#: flatcamGUI/FlatCAMGUI.py:608 +#: flatcamGUI/FlatCAMGUI.py:648 msgid "Mark Area\tAlt+A" msgstr "Обозначить области\tAlt+A" -#: flatcamGUI/FlatCAMGUI.py:610 +#: flatcamGUI/FlatCAMGUI.py:650 msgid "Eraser\tCtrl+E" msgstr "Ластик\tCtrl+E" -#: flatcamGUI/FlatCAMGUI.py:612 +#: flatcamGUI/FlatCAMGUI.py:652 msgid "Transform\tAlt+R" msgstr "Трансформировать\tAlt+R" -#: flatcamGUI/FlatCAMGUI.py:639 +#: flatcamGUI/FlatCAMGUI.py:679 msgid "Enable Plot" msgstr "Включить участок" -#: flatcamGUI/FlatCAMGUI.py:641 +#: flatcamGUI/FlatCAMGUI.py:681 msgid "Disable Plot" msgstr "Отключить участок" -#: flatcamGUI/FlatCAMGUI.py:645 +#: flatcamGUI/FlatCAMGUI.py:685 msgid "Set Color" msgstr "Установить цвет" -#: flatcamGUI/FlatCAMGUI.py:648 -msgid "Red" -msgstr "Красный" - -#: flatcamGUI/FlatCAMGUI.py:651 -msgid "Blue" -msgstr "Синий" - -#: flatcamGUI/FlatCAMGUI.py:654 -msgid "Yellow" -msgstr "Жёлтый" - -#: flatcamGUI/FlatCAMGUI.py:657 -msgid "Green" -msgstr "Зелёный" - -#: flatcamGUI/FlatCAMGUI.py:660 -msgid "Purple" -msgstr "Фиолетовый" - -#: flatcamGUI/FlatCAMGUI.py:663 -msgid "Brown" -msgstr "Коричневый" - -#: flatcamGUI/FlatCAMGUI.py:666 -msgid "Custom" -msgstr "Своё" - -#: flatcamGUI/FlatCAMGUI.py:671 +#: flatcamGUI/FlatCAMGUI.py:727 msgid "Generate CNC" msgstr "Создать CNC" -#: flatcamGUI/FlatCAMGUI.py:673 +#: flatcamGUI/FlatCAMGUI.py:729 msgid "View Source" msgstr "Просмотреть код" -#: flatcamGUI/FlatCAMGUI.py:686 flatcamGUI/FlatCAMGUI.py:2172 -#: flatcamTools/ToolProperties.py:30 +#: flatcamGUI/FlatCAMGUI.py:742 flatcamGUI/FlatCAMGUI.py:2280 +#: flatcamTools/ToolProperties.py:31 msgid "Properties" msgstr "Свойства" -#: flatcamGUI/FlatCAMGUI.py:715 +#: flatcamGUI/FlatCAMGUI.py:771 msgid "File Toolbar" msgstr "Панель файлов" -#: flatcamGUI/FlatCAMGUI.py:719 +#: flatcamGUI/FlatCAMGUI.py:775 msgid "Edit Toolbar" msgstr "Панель редактирования" -#: flatcamGUI/FlatCAMGUI.py:723 +#: flatcamGUI/FlatCAMGUI.py:779 msgid "View Toolbar" msgstr "Панель просмотра" -#: flatcamGUI/FlatCAMGUI.py:727 +#: flatcamGUI/FlatCAMGUI.py:783 msgid "Shell Toolbar" msgstr "Панель командной строки" -#: flatcamGUI/FlatCAMGUI.py:731 +#: flatcamGUI/FlatCAMGUI.py:787 msgid "Tools Toolbar" msgstr "Панель инструментов" -#: flatcamGUI/FlatCAMGUI.py:735 +#: flatcamGUI/FlatCAMGUI.py:791 msgid "Excellon Editor Toolbar" msgstr "Панель редактора Excellon" -#: flatcamGUI/FlatCAMGUI.py:741 +#: flatcamGUI/FlatCAMGUI.py:797 msgid "Geometry Editor Toolbar" msgstr "Панель редактора Geometry" -#: flatcamGUI/FlatCAMGUI.py:745 +#: flatcamGUI/FlatCAMGUI.py:801 msgid "Gerber Editor Toolbar" msgstr "Панель редактора Gerber" -#: flatcamGUI/FlatCAMGUI.py:749 +#: flatcamGUI/FlatCAMGUI.py:805 msgid "Grid Toolbar" msgstr "Панель сетки координат" -#: flatcamGUI/FlatCAMGUI.py:772 flatcamGUI/FlatCAMGUI.py:2357 +#: flatcamGUI/FlatCAMGUI.py:826 flatcamGUI/FlatCAMGUI.py:2509 msgid "Open project" msgstr "Открыть проект" -#: flatcamGUI/FlatCAMGUI.py:774 flatcamGUI/FlatCAMGUI.py:2359 +#: flatcamGUI/FlatCAMGUI.py:828 flatcamGUI/FlatCAMGUI.py:2511 msgid "Save project" msgstr "Сохранить проект" -#: flatcamGUI/FlatCAMGUI.py:780 flatcamGUI/FlatCAMGUI.py:2363 +#: flatcamGUI/FlatCAMGUI.py:834 flatcamGUI/FlatCAMGUI.py:2517 msgid "New Blank Geometry" msgstr "Создать Geometry" -#: flatcamGUI/FlatCAMGUI.py:782 flatcamGUI/FlatCAMGUI.py:2365 +#: flatcamGUI/FlatCAMGUI.py:836 flatcamGUI/FlatCAMGUI.py:2519 msgid "New Blank Gerber" msgstr "Создать Gerber" -#: flatcamGUI/FlatCAMGUI.py:784 flatcamGUI/FlatCAMGUI.py:2367 +#: flatcamGUI/FlatCAMGUI.py:838 flatcamGUI/FlatCAMGUI.py:2521 msgid "New Blank Excellon" msgstr "Создать Excellon" -#: flatcamGUI/FlatCAMGUI.py:789 flatcamGUI/FlatCAMGUI.py:2373 +#: flatcamGUI/FlatCAMGUI.py:843 flatcamGUI/FlatCAMGUI.py:2527 msgid "Save Object and close the Editor" msgstr "Сохранить объект и закрыть редактор" -#: flatcamGUI/FlatCAMGUI.py:796 flatcamGUI/FlatCAMGUI.py:2380 +#: flatcamGUI/FlatCAMGUI.py:850 flatcamGUI/FlatCAMGUI.py:2534 msgid "&Delete" msgstr "&Удалить" -#: flatcamGUI/FlatCAMGUI.py:799 flatcamGUI/FlatCAMGUI.py:1613 -#: flatcamGUI/FlatCAMGUI.py:1812 flatcamGUI/FlatCAMGUI.py:2383 -#: flatcamTools/ToolDistance.py:30 flatcamTools/ToolDistance.py:160 +#: flatcamGUI/FlatCAMGUI.py:853 flatcamGUI/FlatCAMGUI.py:1714 +#: flatcamGUI/FlatCAMGUI.py:1920 flatcamGUI/FlatCAMGUI.py:2537 +#: flatcamTools/ToolDistance.py:35 flatcamTools/ToolDistance.py:195 msgid "Distance Tool" msgstr "Измеритель" -#: flatcamGUI/FlatCAMGUI.py:801 flatcamGUI/FlatCAMGUI.py:2385 +#: flatcamGUI/FlatCAMGUI.py:855 flatcamGUI/FlatCAMGUI.py:2539 msgid "Distance Min Tool" msgstr "Минимальное расстояние" -#: flatcamGUI/FlatCAMGUI.py:803 flatcamGUI/FlatCAMGUI.py:1606 -#: flatcamGUI/FlatCAMGUI.py:2387 +#: flatcamGUI/FlatCAMGUI.py:857 flatcamGUI/FlatCAMGUI.py:1707 +#: flatcamGUI/FlatCAMGUI.py:2541 msgid "Set Origin" msgstr "Указать начало координат" -#: flatcamGUI/FlatCAMGUI.py:805 flatcamGUI/FlatCAMGUI.py:2389 +#: flatcamGUI/FlatCAMGUI.py:859 +msgid "Move to Origin" +msgstr "Перейти к началу координат" + +#: flatcamGUI/FlatCAMGUI.py:862 flatcamGUI/FlatCAMGUI.py:2543 msgid "Jump to Location" msgstr "Перейти к расположению" -#: flatcamGUI/FlatCAMGUI.py:811 flatcamGUI/FlatCAMGUI.py:2393 +#: flatcamGUI/FlatCAMGUI.py:864 flatcamGUI/FlatCAMGUI.py:1719 +#: flatcamGUI/FlatCAMGUI.py:2545 +msgid "Locate in Object" +msgstr "Разместить в объекте" + +#: flatcamGUI/FlatCAMGUI.py:870 flatcamGUI/FlatCAMGUI.py:2551 msgid "&Replot" msgstr "&Перерисовать объект" -#: flatcamGUI/FlatCAMGUI.py:813 flatcamGUI/FlatCAMGUI.py:2395 +#: flatcamGUI/FlatCAMGUI.py:872 flatcamGUI/FlatCAMGUI.py:2553 msgid "&Clear plot" msgstr "&Отключить все участки" -#: flatcamGUI/FlatCAMGUI.py:815 flatcamGUI/FlatCAMGUI.py:1609 -#: flatcamGUI/FlatCAMGUI.py:2397 +#: flatcamGUI/FlatCAMGUI.py:874 flatcamGUI/FlatCAMGUI.py:1710 +#: flatcamGUI/FlatCAMGUI.py:2555 msgid "Zoom In" msgstr "Увеличить" -#: flatcamGUI/FlatCAMGUI.py:817 flatcamGUI/FlatCAMGUI.py:1609 -#: flatcamGUI/FlatCAMGUI.py:2399 +#: flatcamGUI/FlatCAMGUI.py:876 flatcamGUI/FlatCAMGUI.py:1710 +#: flatcamGUI/FlatCAMGUI.py:2557 msgid "Zoom Out" msgstr "Уменьшить" -#: flatcamGUI/FlatCAMGUI.py:819 flatcamGUI/FlatCAMGUI.py:1608 -#: flatcamGUI/FlatCAMGUI.py:2062 flatcamGUI/FlatCAMGUI.py:2401 +#: flatcamGUI/FlatCAMGUI.py:878 flatcamGUI/FlatCAMGUI.py:1709 +#: flatcamGUI/FlatCAMGUI.py:2170 flatcamGUI/FlatCAMGUI.py:2559 msgid "Zoom Fit" msgstr "Вернуть масштаб" -#: flatcamGUI/FlatCAMGUI.py:827 flatcamGUI/FlatCAMGUI.py:2407 +#: flatcamGUI/FlatCAMGUI.py:886 flatcamGUI/FlatCAMGUI.py:2565 msgid "&Command Line" msgstr "&Командная строка" -#: flatcamGUI/FlatCAMGUI.py:839 flatcamGUI/FlatCAMGUI.py:2417 +#: flatcamGUI/FlatCAMGUI.py:898 flatcamGUI/FlatCAMGUI.py:2577 msgid "2Sided Tool" msgstr "2-х сторонняя плата" -#: flatcamGUI/FlatCAMGUI.py:841 flatcamGUI/ObjectUI.py:588 -#: flatcamTools/ToolCutOut.py:436 +#: flatcamGUI/FlatCAMGUI.py:900 flatcamGUI/FlatCAMGUI.py:1725 +#: flatcamGUI/FlatCAMGUI.py:2579 +#, fuzzy +#| msgid "Excellon Object Color" +msgid "Align Objects Tool" +msgstr "Цвет объектов Excellon" + +#: flatcamGUI/FlatCAMGUI.py:902 flatcamGUI/FlatCAMGUI.py:1726 +#: flatcamGUI/FlatCAMGUI.py:2581 flatcamTools/ToolExtractDrills.py:393 +#, fuzzy +#| msgid "Create Drills GCode" +msgid "Extract Drills Tool" +msgstr "Создать GCode отверстий" + +#: flatcamGUI/FlatCAMGUI.py:905 flatcamGUI/ObjectUI.py:595 +#: flatcamTools/ToolCutOut.py:447 msgid "Cutout Tool" msgstr "Обрезка платы" -#: flatcamGUI/FlatCAMGUI.py:843 flatcamGUI/FlatCAMGUI.py:2421 -#: flatcamGUI/ObjectUI.py:566 flatcamGUI/ObjectUI.py:1749 -#: flatcamTools/ToolNonCopperClear.py:632 +#: flatcamGUI/FlatCAMGUI.py:907 flatcamGUI/FlatCAMGUI.py:2586 +#: flatcamGUI/ObjectUI.py:573 flatcamGUI/ObjectUI.py:2075 +#: flatcamTools/ToolNCC.py:972 msgid "NCC Tool" msgstr "Очистка меди" -#: flatcamGUI/FlatCAMGUI.py:849 flatcamGUI/FlatCAMGUI.py:2427 +#: flatcamGUI/FlatCAMGUI.py:913 flatcamGUI/FlatCAMGUI.py:2592 msgid "Panel Tool" msgstr "Панелизация" -#: flatcamGUI/FlatCAMGUI.py:851 flatcamGUI/FlatCAMGUI.py:2429 -#: flatcamTools/ToolFilm.py:578 +#: flatcamGUI/FlatCAMGUI.py:915 flatcamGUI/FlatCAMGUI.py:2594 +#: flatcamTools/ToolFilm.py:586 msgid "Film Tool" msgstr "Плёнка" -#: flatcamGUI/FlatCAMGUI.py:853 flatcamGUI/FlatCAMGUI.py:2432 -#: flatcamTools/ToolSolderPaste.py:547 +#: flatcamGUI/FlatCAMGUI.py:917 flatcamGUI/FlatCAMGUI.py:2596 +#: flatcamTools/ToolSolderPaste.py:553 msgid "SolderPaste Tool" msgstr "Паяльная паста" -#: flatcamGUI/FlatCAMGUI.py:855 flatcamGUI/FlatCAMGUI.py:2434 +#: flatcamGUI/FlatCAMGUI.py:919 flatcamGUI/FlatCAMGUI.py:2598 #: flatcamTools/ToolSub.py:35 msgid "Subtract Tool" msgstr "Вычитатель" -#: flatcamGUI/FlatCAMGUI.py:857 flatcamTools/ToolRulesCheck.py:607 +#: flatcamGUI/FlatCAMGUI.py:921 flatcamGUI/FlatCAMGUI.py:2600 +#: flatcamTools/ToolRulesCheck.py:616 msgid "Rules Tool" msgstr "Правила" -#: flatcamGUI/FlatCAMGUI.py:859 flatcamGUI/FlatCAMGUI.py:1624 -#: flatcamTools/ToolOptimal.py:34 flatcamTools/ToolOptimal.py:310 +#: flatcamGUI/FlatCAMGUI.py:923 flatcamGUI/FlatCAMGUI.py:1728 +#: flatcamGUI/FlatCAMGUI.py:2602 flatcamTools/ToolOptimal.py:34 +#: flatcamTools/ToolOptimal.py:308 msgid "Optimal Tool" msgstr "Оптимизация" -#: flatcamGUI/FlatCAMGUI.py:864 flatcamGUI/FlatCAMGUI.py:1622 -#: flatcamGUI/FlatCAMGUI.py:2439 +#: flatcamGUI/FlatCAMGUI.py:928 flatcamGUI/FlatCAMGUI.py:1725 +#: flatcamGUI/FlatCAMGUI.py:2607 msgid "Calculators Tool" msgstr "Калькулятор" -#: flatcamGUI/FlatCAMGUI.py:868 flatcamGUI/FlatCAMGUI.py:1625 -#: flatcamGUI/FlatCAMGUI.py:2443 flatcamTools/ToolQRCode.py:43 +#: flatcamGUI/FlatCAMGUI.py:932 flatcamGUI/FlatCAMGUI.py:1729 +#: flatcamGUI/FlatCAMGUI.py:2611 flatcamTools/ToolQRCode.py:43 #: flatcamTools/ToolQRCode.py:382 msgid "QRCode Tool" msgstr "QR код" -#: flatcamGUI/FlatCAMGUI.py:870 flatcamGUI/FlatCAMGUI.py:2445 -#: flatcamTools/ToolCopperThieving.py:40 flatcamTools/ToolCopperThieving.py:566 +#: flatcamGUI/FlatCAMGUI.py:934 flatcamGUI/FlatCAMGUI.py:2613 +#: flatcamTools/ToolCopperThieving.py:40 flatcamTools/ToolCopperThieving.py:569 msgid "Copper Thieving Tool" msgstr "Copper Thieving" -#: flatcamGUI/FlatCAMGUI.py:873 flatcamGUI/FlatCAMGUI.py:1622 -#: flatcamGUI/FlatCAMGUI.py:2448 flatcamTools/ToolFiducials.py:33 -#: flatcamTools/ToolFiducials.py:393 +#: flatcamGUI/FlatCAMGUI.py:937 flatcamGUI/FlatCAMGUI.py:1726 +#: flatcamGUI/FlatCAMGUI.py:2616 flatcamTools/ToolFiducials.py:33 +#: flatcamTools/ToolFiducials.py:395 msgid "Fiducials Tool" msgstr "Контрольные точки" -#: flatcamGUI/FlatCAMGUI.py:875 flatcamGUI/FlatCAMGUI.py:2450 -#: flatcamTools/ToolCalibration.py:37 flatcamTools/ToolCalibration.py:762 +#: flatcamGUI/FlatCAMGUI.py:939 flatcamGUI/FlatCAMGUI.py:2618 +#: flatcamTools/ToolCalibration.py:37 flatcamTools/ToolCalibration.py:759 msgid "Calibration Tool" msgstr "Калькулятор" -#: flatcamGUI/FlatCAMGUI.py:881 flatcamGUI/FlatCAMGUI.py:907 -#: flatcamGUI/FlatCAMGUI.py:959 flatcamGUI/FlatCAMGUI.py:2454 -#: flatcamGUI/FlatCAMGUI.py:2528 +#: flatcamGUI/FlatCAMGUI.py:941 flatcamGUI/FlatCAMGUI.py:1726 +msgid "Punch Gerber Tool" +msgstr "Gerber перфорация" + +#: flatcamGUI/FlatCAMGUI.py:943 flatcamTools/ToolInvertGerber.py:31 +msgid "Invert Gerber Tool" +msgstr "Инверсия Gerber" + +#: flatcamGUI/FlatCAMGUI.py:949 flatcamGUI/FlatCAMGUI.py:975 +#: flatcamGUI/FlatCAMGUI.py:1027 flatcamGUI/FlatCAMGUI.py:2624 +#: flatcamGUI/FlatCAMGUI.py:2702 msgid "Select" msgstr "Выбрать" -#: flatcamGUI/FlatCAMGUI.py:883 flatcamGUI/FlatCAMGUI.py:2456 +#: flatcamGUI/FlatCAMGUI.py:951 flatcamGUI/FlatCAMGUI.py:2626 msgid "Add Drill Hole" msgstr "Добавить отверстие" -#: flatcamGUI/FlatCAMGUI.py:885 flatcamGUI/FlatCAMGUI.py:2458 +#: flatcamGUI/FlatCAMGUI.py:953 flatcamGUI/FlatCAMGUI.py:2628 msgid "Add Drill Hole Array" msgstr "Добавить массив отверстий" -#: flatcamGUI/FlatCAMGUI.py:887 flatcamGUI/FlatCAMGUI.py:1897 -#: flatcamGUI/FlatCAMGUI.py:2150 flatcamGUI/FlatCAMGUI.py:2462 +#: flatcamGUI/FlatCAMGUI.py:955 flatcamGUI/FlatCAMGUI.py:2005 +#: flatcamGUI/FlatCAMGUI.py:2258 flatcamGUI/FlatCAMGUI.py:2632 msgid "Add Slot" msgstr "Добавить паз" -#: flatcamGUI/FlatCAMGUI.py:889 flatcamGUI/FlatCAMGUI.py:1896 -#: flatcamGUI/FlatCAMGUI.py:2152 flatcamGUI/FlatCAMGUI.py:2464 +#: flatcamGUI/FlatCAMGUI.py:957 flatcamGUI/FlatCAMGUI.py:2004 +#: flatcamGUI/FlatCAMGUI.py:2260 flatcamGUI/FlatCAMGUI.py:2634 msgid "Add Slot Array" msgstr "Добавить массив пазов" -#: flatcamGUI/FlatCAMGUI.py:891 flatcamGUI/FlatCAMGUI.py:2155 -#: flatcamGUI/FlatCAMGUI.py:2460 +#: flatcamGUI/FlatCAMGUI.py:959 flatcamGUI/FlatCAMGUI.py:2263 +#: flatcamGUI/FlatCAMGUI.py:2630 msgid "Resize Drill" msgstr "Изменить размер отверстия" -#: flatcamGUI/FlatCAMGUI.py:895 flatcamGUI/FlatCAMGUI.py:2468 +#: flatcamGUI/FlatCAMGUI.py:963 flatcamGUI/FlatCAMGUI.py:2638 msgid "Copy Drill" msgstr "Копировать отверстие" -#: flatcamGUI/FlatCAMGUI.py:897 flatcamGUI/FlatCAMGUI.py:2470 +#: flatcamGUI/FlatCAMGUI.py:965 flatcamGUI/FlatCAMGUI.py:2640 msgid "Delete Drill" msgstr "Удалить отверстие" -#: flatcamGUI/FlatCAMGUI.py:901 flatcamGUI/FlatCAMGUI.py:2474 +#: flatcamGUI/FlatCAMGUI.py:969 flatcamGUI/FlatCAMGUI.py:2644 msgid "Move Drill" msgstr "Переместить отверстие" -#: flatcamGUI/FlatCAMGUI.py:909 flatcamGUI/FlatCAMGUI.py:2480 +#: flatcamGUI/FlatCAMGUI.py:977 flatcamGUI/FlatCAMGUI.py:2652 msgid "Add Circle" msgstr "Добавить круг" -#: flatcamGUI/FlatCAMGUI.py:911 flatcamGUI/FlatCAMGUI.py:2482 +#: flatcamGUI/FlatCAMGUI.py:979 flatcamGUI/FlatCAMGUI.py:2654 msgid "Add Arc" msgstr "Добавить дугу" -#: flatcamGUI/FlatCAMGUI.py:913 flatcamGUI/FlatCAMGUI.py:2484 +#: flatcamGUI/FlatCAMGUI.py:981 flatcamGUI/FlatCAMGUI.py:2656 msgid "Add Rectangle" msgstr "Добавить прямоугольник" -#: flatcamGUI/FlatCAMGUI.py:917 flatcamGUI/FlatCAMGUI.py:2488 +#: flatcamGUI/FlatCAMGUI.py:985 flatcamGUI/FlatCAMGUI.py:2660 msgid "Add Path" msgstr "Добавить дорожку" -#: flatcamGUI/FlatCAMGUI.py:919 flatcamGUI/FlatCAMGUI.py:2490 +#: flatcamGUI/FlatCAMGUI.py:987 flatcamGUI/FlatCAMGUI.py:2662 msgid "Add Polygon" msgstr "Добавить полигон" -#: flatcamGUI/FlatCAMGUI.py:922 flatcamGUI/FlatCAMGUI.py:2493 +#: flatcamGUI/FlatCAMGUI.py:990 flatcamGUI/FlatCAMGUI.py:2665 msgid "Add Text" msgstr "Добавить текст" -#: flatcamGUI/FlatCAMGUI.py:924 flatcamGUI/FlatCAMGUI.py:2495 +#: flatcamGUI/FlatCAMGUI.py:992 flatcamGUI/FlatCAMGUI.py:2667 msgid "Add Buffer" msgstr "Добавить буфер" -#: flatcamGUI/FlatCAMGUI.py:926 flatcamGUI/FlatCAMGUI.py:2497 +#: flatcamGUI/FlatCAMGUI.py:994 flatcamGUI/FlatCAMGUI.py:2669 msgid "Paint Shape" msgstr "Нарисовать фигуру" -#: flatcamGUI/FlatCAMGUI.py:928 flatcamGUI/FlatCAMGUI.py:985 -#: flatcamGUI/FlatCAMGUI.py:2091 flatcamGUI/FlatCAMGUI.py:2136 -#: flatcamGUI/FlatCAMGUI.py:2499 flatcamGUI/FlatCAMGUI.py:2553 +#: flatcamGUI/FlatCAMGUI.py:996 flatcamGUI/FlatCAMGUI.py:1053 +#: flatcamGUI/FlatCAMGUI.py:2199 flatcamGUI/FlatCAMGUI.py:2244 +#: flatcamGUI/FlatCAMGUI.py:2671 flatcamGUI/FlatCAMGUI.py:2727 msgid "Eraser" msgstr "Ластик" -#: flatcamGUI/FlatCAMGUI.py:932 flatcamGUI/FlatCAMGUI.py:2503 +#: flatcamGUI/FlatCAMGUI.py:1000 flatcamGUI/FlatCAMGUI.py:2675 msgid "Polygon Union" msgstr "Сращение полигонов" -#: flatcamGUI/FlatCAMGUI.py:934 flatcamGUI/FlatCAMGUI.py:2505 +#: flatcamGUI/FlatCAMGUI.py:1002 flatcamGUI/FlatCAMGUI.py:2677 msgid "Polygon Explode" msgstr "Разделение полигонов" -#: flatcamGUI/FlatCAMGUI.py:937 flatcamGUI/FlatCAMGUI.py:2508 +#: flatcamGUI/FlatCAMGUI.py:1005 flatcamGUI/FlatCAMGUI.py:2680 msgid "Polygon Intersection" msgstr "Пересечение полигонов" -#: flatcamGUI/FlatCAMGUI.py:939 flatcamGUI/FlatCAMGUI.py:2510 +#: flatcamGUI/FlatCAMGUI.py:1007 flatcamGUI/FlatCAMGUI.py:2682 msgid "Polygon Subtraction" msgstr "Вычитание полигонов" -#: flatcamGUI/FlatCAMGUI.py:943 flatcamGUI/FlatCAMGUI.py:2514 +#: flatcamGUI/FlatCAMGUI.py:1011 flatcamGUI/FlatCAMGUI.py:2686 msgid "Cut Path" msgstr "Вырезать путь" -#: flatcamGUI/FlatCAMGUI.py:945 +#: flatcamGUI/FlatCAMGUI.py:1013 msgid "Copy Shape(s)" msgstr "Копировать форму(ы)" -#: flatcamGUI/FlatCAMGUI.py:948 +#: flatcamGUI/FlatCAMGUI.py:1016 msgid "Delete Shape '-'" msgstr "Удалить фигуру '-'" -#: flatcamGUI/FlatCAMGUI.py:950 flatcamGUI/FlatCAMGUI.py:993 -#: flatcamGUI/FlatCAMGUI.py:2103 flatcamGUI/FlatCAMGUI.py:2140 -#: flatcamGUI/FlatCAMGUI.py:2520 flatcamGUI/FlatCAMGUI.py:2561 +#: flatcamGUI/FlatCAMGUI.py:1018 flatcamGUI/FlatCAMGUI.py:1061 +#: flatcamGUI/FlatCAMGUI.py:2211 flatcamGUI/FlatCAMGUI.py:2248 +#: flatcamGUI/FlatCAMGUI.py:2692 flatcamGUI/FlatCAMGUI.py:2735 +#: flatcamGUI/ObjectUI.py:108 msgid "Transformations" msgstr "Трансформация" -#: flatcamGUI/FlatCAMGUI.py:953 +#: flatcamGUI/FlatCAMGUI.py:1021 msgid "Move Objects " msgstr "Переместить объект " -#: flatcamGUI/FlatCAMGUI.py:961 flatcamGUI/FlatCAMGUI.py:2016 -#: flatcamGUI/FlatCAMGUI.py:2530 +#: flatcamGUI/FlatCAMGUI.py:1029 flatcamGUI/FlatCAMGUI.py:2124 +#: flatcamGUI/FlatCAMGUI.py:2704 msgid "Add Pad" msgstr "Добавить площадку" -#: flatcamGUI/FlatCAMGUI.py:965 flatcamGUI/FlatCAMGUI.py:2017 -#: flatcamGUI/FlatCAMGUI.py:2534 +#: flatcamGUI/FlatCAMGUI.py:1033 flatcamGUI/FlatCAMGUI.py:2125 +#: flatcamGUI/FlatCAMGUI.py:2708 msgid "Add Track" msgstr "Добавить маршрут" -#: flatcamGUI/FlatCAMGUI.py:967 flatcamGUI/FlatCAMGUI.py:2016 -#: flatcamGUI/FlatCAMGUI.py:2536 +#: flatcamGUI/FlatCAMGUI.py:1035 flatcamGUI/FlatCAMGUI.py:2124 +#: flatcamGUI/FlatCAMGUI.py:2710 msgid "Add Region" msgstr "Добавить регион" -#: flatcamGUI/FlatCAMGUI.py:969 flatcamGUI/FlatCAMGUI.py:2122 -#: flatcamGUI/FlatCAMGUI.py:2538 +#: flatcamGUI/FlatCAMGUI.py:1037 flatcamGUI/FlatCAMGUI.py:2230 +#: flatcamGUI/FlatCAMGUI.py:2712 msgid "Poligonize" msgstr "Полигонизация" -#: flatcamGUI/FlatCAMGUI.py:972 flatcamGUI/FlatCAMGUI.py:2124 -#: flatcamGUI/FlatCAMGUI.py:2541 +#: flatcamGUI/FlatCAMGUI.py:1040 flatcamGUI/FlatCAMGUI.py:2232 +#: flatcamGUI/FlatCAMGUI.py:2715 msgid "SemiDisc" msgstr "Полукруг" -#: flatcamGUI/FlatCAMGUI.py:974 flatcamGUI/FlatCAMGUI.py:2126 -#: flatcamGUI/FlatCAMGUI.py:2543 +#: flatcamGUI/FlatCAMGUI.py:1042 flatcamGUI/FlatCAMGUI.py:2234 +#: flatcamGUI/FlatCAMGUI.py:2717 msgid "Disc" msgstr "Диск" -#: flatcamGUI/FlatCAMGUI.py:982 flatcamGUI/FlatCAMGUI.py:2134 -#: flatcamGUI/FlatCAMGUI.py:2551 +#: flatcamGUI/FlatCAMGUI.py:1050 flatcamGUI/FlatCAMGUI.py:2242 +#: flatcamGUI/FlatCAMGUI.py:2725 msgid "Mark Area" msgstr "Обозначить области" -#: flatcamGUI/FlatCAMGUI.py:996 flatcamGUI/FlatCAMGUI.py:2016 -#: flatcamGUI/FlatCAMGUI.py:2107 flatcamGUI/FlatCAMGUI.py:2170 -#: flatcamGUI/FlatCAMGUI.py:2564 flatcamTools/ToolMove.py:28 +#: flatcamGUI/FlatCAMGUI.py:1064 flatcamGUI/FlatCAMGUI.py:2124 +#: flatcamGUI/FlatCAMGUI.py:2215 flatcamGUI/FlatCAMGUI.py:2278 +#: flatcamGUI/FlatCAMGUI.py:2738 flatcamTools/ToolMove.py:28 msgid "Move" msgstr "Переместить" -#: flatcamGUI/FlatCAMGUI.py:1004 flatcamGUI/FlatCAMGUI.py:2571 +#: flatcamGUI/FlatCAMGUI.py:1072 flatcamGUI/FlatCAMGUI.py:2747 msgid "Snap to grid" msgstr "Привязка к сетке" -#: flatcamGUI/FlatCAMGUI.py:1007 flatcamGUI/FlatCAMGUI.py:2574 +#: flatcamGUI/FlatCAMGUI.py:1075 flatcamGUI/FlatCAMGUI.py:2750 msgid "Grid X snapping distance" msgstr "Размер сетки по X" -#: flatcamGUI/FlatCAMGUI.py:1012 flatcamGUI/FlatCAMGUI.py:2579 +#: flatcamGUI/FlatCAMGUI.py:1080 flatcamGUI/FlatCAMGUI.py:2755 msgid "Grid Y snapping distance" msgstr "Размер сетки по Y" -#: flatcamGUI/FlatCAMGUI.py:1018 flatcamGUI/FlatCAMGUI.py:2585 +#: flatcamGUI/FlatCAMGUI.py:1086 flatcamGUI/FlatCAMGUI.py:2761 msgid "" "When active, value on Grid_X\n" "is copied to the Grid_Y value." @@ -6248,63 +6615,64 @@ msgstr "" "Если активен, значение на Grid_X\n" "копируется в значение Grid_Y." -#: flatcamGUI/FlatCAMGUI.py:1025 flatcamGUI/FlatCAMGUI.py:2592 +#: flatcamGUI/FlatCAMGUI.py:1093 flatcamGUI/FlatCAMGUI.py:2768 msgid "Snap to corner" msgstr "Привязка к углу" -#: flatcamGUI/FlatCAMGUI.py:1029 flatcamGUI/FlatCAMGUI.py:2596 -#: flatcamGUI/PreferencesUI.py:984 +#: flatcamGUI/FlatCAMGUI.py:1097 flatcamGUI/FlatCAMGUI.py:2772 +#: flatcamGUI/PreferencesUI.py:1159 msgid "Max. magnet distance" msgstr "Макс. магнит расстояние" -#: flatcamGUI/FlatCAMGUI.py:1063 +#: flatcamGUI/FlatCAMGUI.py:1134 msgid "Selected" msgstr "Выбранное" -#: flatcamGUI/FlatCAMGUI.py:1090 flatcamGUI/FlatCAMGUI.py:1098 +#: flatcamGUI/FlatCAMGUI.py:1162 flatcamGUI/FlatCAMGUI.py:1170 msgid "Plot Area" msgstr "Рабочая область" -#: flatcamGUI/FlatCAMGUI.py:1125 +#: flatcamGUI/FlatCAMGUI.py:1197 msgid "General" msgstr "Основные" -#: flatcamGUI/FlatCAMGUI.py:1140 flatcamTools/ToolCopperThieving.py:74 -#: flatcamTools/ToolDblSided.py:59 flatcamTools/ToolOptimal.py:71 -#: flatcamTools/ToolQRCode.py:77 +#: flatcamGUI/FlatCAMGUI.py:1212 flatcamTools/ToolCopperThieving.py:75 +#: flatcamTools/ToolDblSided.py:65 flatcamTools/ToolExtractDrills.py:61 +#: flatcamTools/ToolInvertGerber.py:72 flatcamTools/ToolOptimal.py:72 +#: flatcamTools/ToolPunchGerber.py:64 msgid "GERBER" msgstr "GERBER" -#: flatcamGUI/FlatCAMGUI.py:1150 flatcamTools/ToolDblSided.py:87 +#: flatcamGUI/FlatCAMGUI.py:1222 flatcamTools/ToolDblSided.py:93 msgid "EXCELLON" msgstr "EXCELLON" -#: flatcamGUI/FlatCAMGUI.py:1160 flatcamTools/ToolDblSided.py:115 +#: flatcamGUI/FlatCAMGUI.py:1232 flatcamTools/ToolDblSided.py:121 msgid "GEOMETRY" msgstr "GEOMETRY" -#: flatcamGUI/FlatCAMGUI.py:1170 +#: flatcamGUI/FlatCAMGUI.py:1242 msgid "CNC-JOB" msgstr "CNC-JOB" -#: flatcamGUI/FlatCAMGUI.py:1179 flatcamGUI/ObjectUI.py:555 -#: flatcamGUI/ObjectUI.py:1724 +#: flatcamGUI/FlatCAMGUI.py:1251 flatcamGUI/ObjectUI.py:562 +#: flatcamGUI/ObjectUI.py:2050 msgid "TOOLS" msgstr "ИНСТРУМЕНТЫ" -#: flatcamGUI/FlatCAMGUI.py:1188 +#: flatcamGUI/FlatCAMGUI.py:1260 msgid "TOOLS 2" msgstr "ИНСТРУМЕНТЫ 2" -#: flatcamGUI/FlatCAMGUI.py:1198 +#: flatcamGUI/FlatCAMGUI.py:1270 msgid "UTILITIES" msgstr "УТИЛИТЫ" -#: flatcamGUI/FlatCAMGUI.py:1215 flatcamGUI/PreferencesUI.py:2833 +#: flatcamGUI/FlatCAMGUI.py:1287 flatcamGUI/PreferencesUI.py:3015 msgid "Restore Defaults" msgstr "Восстановить значения по умолчанию" -#: flatcamGUI/FlatCAMGUI.py:1218 +#: flatcamGUI/FlatCAMGUI.py:1290 msgid "" "Restore the entire set of default values\n" "to the initial values loaded after first launch." @@ -6312,15 +6680,19 @@ msgstr "" "Восстановление всего набора значений по умолчанию\n" "к начальным значениям, загруженным после первого запуска." -#: flatcamGUI/FlatCAMGUI.py:1223 +#: flatcamGUI/FlatCAMGUI.py:1295 msgid "Open Pref Folder" msgstr "Открыть папку настроек" -#: flatcamGUI/FlatCAMGUI.py:1226 +#: flatcamGUI/FlatCAMGUI.py:1298 msgid "Open the folder where FlatCAM save the preferences files." msgstr "Открывает папку, в которой FlatCAM сохраняет файлы настроек." -#: flatcamGUI/FlatCAMGUI.py:1234 +#: flatcamGUI/FlatCAMGUI.py:1302 flatcamGUI/FlatCAMGUI.py:2477 +msgid "Clear GUI Settings" +msgstr "Сброс настроек интерфейса" + +#: flatcamGUI/FlatCAMGUI.py:1306 msgid "" "Clear the GUI settings for FlatCAM,\n" "such as: layout, gui state, style, hdpi support etc." @@ -6328,15 +6700,15 @@ msgstr "" "Сброс настроек интерфейса FlatCAM,\n" "таких как: макет, состояние интерфейса, стиль, поддержка hdpi и т. д." -#: flatcamGUI/FlatCAMGUI.py:1245 +#: flatcamGUI/FlatCAMGUI.py:1317 msgid "Apply" msgstr "Применить" -#: flatcamGUI/FlatCAMGUI.py:1248 +#: flatcamGUI/FlatCAMGUI.py:1320 msgid "Apply the current preferences without saving to a file." msgstr "Применение текущих настроек без сохранения в файл." -#: flatcamGUI/FlatCAMGUI.py:1255 +#: flatcamGUI/FlatCAMGUI.py:1327 msgid "" "Save the current settings in the 'current_defaults' file\n" "which is the file storing the working default preferences." @@ -6344,532 +6716,543 @@ msgstr "" "Сохраняет текущие настройки в файле 'current_defaults'\n" "который является файлом, хранящим рабочие настройки по умолчанию." -#: flatcamGUI/FlatCAMGUI.py:1263 +#: flatcamGUI/FlatCAMGUI.py:1335 msgid "Will not save the changes and will close the preferences window." msgstr "Закроет окно настроек без сохранения изменений." -#: flatcamGUI/FlatCAMGUI.py:1603 +#: flatcamGUI/FlatCAMGUI.py:1704 msgid "SHOW SHORTCUT LIST" msgstr "ПОКАЗАТЬ СПИСОК КОМБИНАЦИЙ КЛАВИШ" -#: flatcamGUI/FlatCAMGUI.py:1603 +#: flatcamGUI/FlatCAMGUI.py:1704 msgid "Switch to Project Tab" msgstr "Переключиться на вкладку \"Проект\"" -#: flatcamGUI/FlatCAMGUI.py:1603 +#: flatcamGUI/FlatCAMGUI.py:1704 msgid "Switch to Selected Tab" msgstr "Переключиться на вкладку \"Выбранное\"" -#: flatcamGUI/FlatCAMGUI.py:1604 +#: flatcamGUI/FlatCAMGUI.py:1705 msgid "Switch to Tool Tab" msgstr "Переключиться на вкладку свойств" -#: flatcamGUI/FlatCAMGUI.py:1605 +#: flatcamGUI/FlatCAMGUI.py:1706 msgid "New Gerber" msgstr "Создать Gerber" -#: flatcamGUI/FlatCAMGUI.py:1605 +#: flatcamGUI/FlatCAMGUI.py:1706 msgid "Edit Object (if selected)" msgstr "Редактировать объект (если выбран)" -#: flatcamGUI/FlatCAMGUI.py:1605 +#: flatcamGUI/FlatCAMGUI.py:1706 msgid "Jump to Coordinates" msgstr "Перейти к координатам" -#: flatcamGUI/FlatCAMGUI.py:1606 +#: flatcamGUI/FlatCAMGUI.py:1707 msgid "New Excellon" msgstr "Создать Excellon" -#: flatcamGUI/FlatCAMGUI.py:1606 +#: flatcamGUI/FlatCAMGUI.py:1707 msgid "Move Obj" msgstr "Переместить объект" -#: flatcamGUI/FlatCAMGUI.py:1606 +#: flatcamGUI/FlatCAMGUI.py:1707 msgid "New Geometry" msgstr "Создать Geometry" -#: flatcamGUI/FlatCAMGUI.py:1606 +#: flatcamGUI/FlatCAMGUI.py:1707 msgid "Change Units" msgstr "Единицы измерения" -#: flatcamGUI/FlatCAMGUI.py:1607 +#: flatcamGUI/FlatCAMGUI.py:1708 msgid "Open Properties Tool" msgstr "Свойства" -#: flatcamGUI/FlatCAMGUI.py:1607 +#: flatcamGUI/FlatCAMGUI.py:1708 msgid "Rotate by 90 degree CW" msgstr "Поворот на 90 градусов по часовой стрелке" -#: flatcamGUI/FlatCAMGUI.py:1607 +#: flatcamGUI/FlatCAMGUI.py:1708 msgid "Shell Toggle" msgstr "Панель командной строки" -#: flatcamGUI/FlatCAMGUI.py:1608 +#: flatcamGUI/FlatCAMGUI.py:1709 msgid "" "Add a Tool (when in Geometry Selected Tab or in Tools NCC or Tools Paint)" msgstr "" "Добавить инструмент (во вкладках \"Выбранное\", \"Инструменты\" или " "инструменте рисования)" -#: flatcamGUI/FlatCAMGUI.py:1609 +#: flatcamGUI/FlatCAMGUI.py:1710 msgid "Flip on X_axis" msgstr "Отразить по оси X" -#: flatcamGUI/FlatCAMGUI.py:1609 +#: flatcamGUI/FlatCAMGUI.py:1710 msgid "Flip on Y_axis" msgstr "Отразить по оси Y" -#: flatcamGUI/FlatCAMGUI.py:1612 +#: flatcamGUI/FlatCAMGUI.py:1713 msgid "Copy Obj" msgstr "Копировать объекты" -#: flatcamGUI/FlatCAMGUI.py:1612 +#: flatcamGUI/FlatCAMGUI.py:1713 msgid "Open Tools Database" msgstr "Открыть БД" -#: flatcamGUI/FlatCAMGUI.py:1613 +#: flatcamGUI/FlatCAMGUI.py:1714 msgid "Open Excellon File" msgstr "Открыть Excellon" -#: flatcamGUI/FlatCAMGUI.py:1613 +#: flatcamGUI/FlatCAMGUI.py:1714 msgid "Open Gerber File" msgstr "Открыть Gerber" -#: flatcamGUI/FlatCAMGUI.py:1613 +#: flatcamGUI/FlatCAMGUI.py:1714 msgid "New Project" msgstr "Новый проект" -#: flatcamGUI/FlatCAMGUI.py:1614 flatcamTools/ToolPDF.py:42 +#: flatcamGUI/FlatCAMGUI.py:1715 flatcamTools/ToolPDF.py:42 msgid "PDF Import Tool" msgstr "Импорт PDF" -#: flatcamGUI/FlatCAMGUI.py:1614 -msgid "Save Project As" -msgstr "Сохранить проект как" +#: flatcamGUI/FlatCAMGUI.py:1715 +msgid "Save Project" +msgstr "Сохранить проект" -#: flatcamGUI/FlatCAMGUI.py:1614 +#: flatcamGUI/FlatCAMGUI.py:1715 msgid "Toggle Plot Area" msgstr "Переключить рабочую область" -#: flatcamGUI/FlatCAMGUI.py:1617 +#: flatcamGUI/FlatCAMGUI.py:1718 msgid "Copy Obj_Name" msgstr "Копировать имя объекта" -#: flatcamGUI/FlatCAMGUI.py:1618 +#: flatcamGUI/FlatCAMGUI.py:1719 msgid "Toggle Code Editor" msgstr "Переключить редактор кода" -#: flatcamGUI/FlatCAMGUI.py:1618 +#: flatcamGUI/FlatCAMGUI.py:1719 msgid "Toggle the axis" msgstr "Переключить ось" -#: flatcamGUI/FlatCAMGUI.py:1618 flatcamGUI/FlatCAMGUI.py:1810 -#: flatcamGUI/FlatCAMGUI.py:1897 flatcamGUI/FlatCAMGUI.py:2019 +#: flatcamGUI/FlatCAMGUI.py:1719 flatcamGUI/FlatCAMGUI.py:1918 +#: flatcamGUI/FlatCAMGUI.py:2005 flatcamGUI/FlatCAMGUI.py:2127 msgid "Distance Minimum Tool" msgstr "Минимальное расстояние" -#: flatcamGUI/FlatCAMGUI.py:1618 +#: flatcamGUI/FlatCAMGUI.py:1720 msgid "Open Preferences Window" msgstr "Открыть окно настроек" -#: flatcamGUI/FlatCAMGUI.py:1619 +#: flatcamGUI/FlatCAMGUI.py:1721 msgid "Rotate by 90 degree CCW" msgstr "Поворот на 90 градусов против часовой стрелки" -#: flatcamGUI/FlatCAMGUI.py:1619 +#: flatcamGUI/FlatCAMGUI.py:1721 msgid "Run a Script" msgstr "Запустить сценарий" -#: flatcamGUI/FlatCAMGUI.py:1619 +#: flatcamGUI/FlatCAMGUI.py:1721 msgid "Toggle the workspace" msgstr "Переключить рабочее пространство" -#: flatcamGUI/FlatCAMGUI.py:1619 +#: flatcamGUI/FlatCAMGUI.py:1721 msgid "Skew on X axis" msgstr "Наклон по оси X" -#: flatcamGUI/FlatCAMGUI.py:1620 +#: flatcamGUI/FlatCAMGUI.py:1722 msgid "Skew on Y axis" msgstr "Наклон по оси Y" -#: flatcamGUI/FlatCAMGUI.py:1622 +#: flatcamGUI/FlatCAMGUI.py:1725 msgid "2-Sided PCB Tool" msgstr "2-х сторонняя плата" -#: flatcamGUI/FlatCAMGUI.py:1622 +#: flatcamGUI/FlatCAMGUI.py:1725 msgid "Transformations Tool" msgstr "Трансформация" -#: flatcamGUI/FlatCAMGUI.py:1623 +#: flatcamGUI/FlatCAMGUI.py:1727 msgid "Solder Paste Dispensing Tool" msgstr "Паяльная паста" -#: flatcamGUI/FlatCAMGUI.py:1624 +#: flatcamGUI/FlatCAMGUI.py:1728 msgid "Film PCB Tool" msgstr "Плёнка" -#: flatcamGUI/FlatCAMGUI.py:1624 +#: flatcamGUI/FlatCAMGUI.py:1728 msgid "Non-Copper Clearing Tool" msgstr "Очистка от меди" -#: flatcamGUI/FlatCAMGUI.py:1625 +#: flatcamGUI/FlatCAMGUI.py:1729 msgid "Paint Area Tool" msgstr "Инструмент рисования" -#: flatcamGUI/FlatCAMGUI.py:1625 +#: flatcamGUI/FlatCAMGUI.py:1729 msgid "Rules Check Tool" msgstr "Проверка правил" -#: flatcamGUI/FlatCAMGUI.py:1626 +#: flatcamGUI/FlatCAMGUI.py:1730 msgid "View File Source" msgstr "Просмотреть код" -#: flatcamGUI/FlatCAMGUI.py:1627 +#: flatcamGUI/FlatCAMGUI.py:1731 msgid "Cutout PCB Tool" msgstr "Обрезка платы" -#: flatcamGUI/FlatCAMGUI.py:1627 +#: flatcamGUI/FlatCAMGUI.py:1731 msgid "Enable all Plots" msgstr "Включить все участки" -#: flatcamGUI/FlatCAMGUI.py:1627 +#: flatcamGUI/FlatCAMGUI.py:1731 msgid "Disable all Plots" msgstr "Отключить все участки" -#: flatcamGUI/FlatCAMGUI.py:1627 +#: flatcamGUI/FlatCAMGUI.py:1731 msgid "Disable Non-selected Plots" msgstr "Отключить не выбранные" -#: flatcamGUI/FlatCAMGUI.py:1628 +#: flatcamGUI/FlatCAMGUI.py:1732 msgid "Toggle Full Screen" msgstr "Во весь экран" -#: flatcamGUI/FlatCAMGUI.py:1631 +#: flatcamGUI/FlatCAMGUI.py:1735 msgid "Abort current task (gracefully)" msgstr "Прервать текущее задание (корректно)" -#: flatcamGUI/FlatCAMGUI.py:1634 +#: flatcamGUI/FlatCAMGUI.py:1738 +msgid "Save Project As" +msgstr "Сохранить проект как" + +#: flatcamGUI/FlatCAMGUI.py:1739 +msgid "" +"Paste Special. Will convert a Windows path style to the one required in Tcl " +"Shell" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:1742 msgid "Open Online Manual" msgstr "Открыть онлайн-руководство" -#: flatcamGUI/FlatCAMGUI.py:1635 +#: flatcamGUI/FlatCAMGUI.py:1743 msgid "Open Online Tutorials" msgstr "Открыть онлайн-уроки" -#: flatcamGUI/FlatCAMGUI.py:1635 +#: flatcamGUI/FlatCAMGUI.py:1743 msgid "Refresh Plots" msgstr "Обновить участки" -#: flatcamGUI/FlatCAMGUI.py:1635 flatcamTools/ToolSolderPaste.py:503 +#: flatcamGUI/FlatCAMGUI.py:1743 flatcamTools/ToolSolderPaste.py:509 msgid "Delete Object" msgstr "Удалить объект" -#: flatcamGUI/FlatCAMGUI.py:1635 +#: flatcamGUI/FlatCAMGUI.py:1743 msgid "Alternate: Delete Tool" msgstr "Альтернатива: Удалить инструмент" -#: flatcamGUI/FlatCAMGUI.py:1636 +#: flatcamGUI/FlatCAMGUI.py:1744 msgid "(left to Key_1)Toogle Notebook Area (Left Side)" msgstr "(слева от клавиши \"1\") Боковая панель" -#: flatcamGUI/FlatCAMGUI.py:1636 +#: flatcamGUI/FlatCAMGUI.py:1744 msgid "En(Dis)able Obj Plot" msgstr "Включить/Отключить участок" -#: flatcamGUI/FlatCAMGUI.py:1637 +#: flatcamGUI/FlatCAMGUI.py:1745 msgid "Deselects all objects" msgstr "Отмена выбора всех объектов" -#: flatcamGUI/FlatCAMGUI.py:1651 +#: flatcamGUI/FlatCAMGUI.py:1759 msgid "Editor Shortcut list" msgstr "Список комбинаций клавиш редактора" -#: flatcamGUI/FlatCAMGUI.py:1805 +#: flatcamGUI/FlatCAMGUI.py:1913 msgid "GEOMETRY EDITOR" msgstr "РЕДАКТОР GEOMETRY" -#: flatcamGUI/FlatCAMGUI.py:1805 +#: flatcamGUI/FlatCAMGUI.py:1913 msgid "Draw an Arc" msgstr "Нарисовать дугу" -#: flatcamGUI/FlatCAMGUI.py:1805 +#: flatcamGUI/FlatCAMGUI.py:1913 msgid "Copy Geo Item" msgstr "Копировать элемент Geo" -#: flatcamGUI/FlatCAMGUI.py:1806 +#: flatcamGUI/FlatCAMGUI.py:1914 msgid "Within Add Arc will toogle the ARC direction: CW or CCW" msgstr "" "При добавлении дуги будет переключаться направление изгиба: по часовой " "стрелке или против" -#: flatcamGUI/FlatCAMGUI.py:1806 +#: flatcamGUI/FlatCAMGUI.py:1914 msgid "Polygon Intersection Tool" msgstr "Пересечение полигонов" -#: flatcamGUI/FlatCAMGUI.py:1807 +#: flatcamGUI/FlatCAMGUI.py:1915 msgid "Geo Paint Tool" msgstr "Рисование" -#: flatcamGUI/FlatCAMGUI.py:1807 flatcamGUI/FlatCAMGUI.py:1896 -#: flatcamGUI/FlatCAMGUI.py:2016 +#: flatcamGUI/FlatCAMGUI.py:1915 flatcamGUI/FlatCAMGUI.py:2004 +#: flatcamGUI/FlatCAMGUI.py:2124 msgid "Jump to Location (x, y)" msgstr "Перейти к координатам (x, y)" -#: flatcamGUI/FlatCAMGUI.py:1807 +#: flatcamGUI/FlatCAMGUI.py:1915 msgid "Toggle Corner Snap" msgstr "Привязка к углу" -#: flatcamGUI/FlatCAMGUI.py:1807 +#: flatcamGUI/FlatCAMGUI.py:1915 msgid "Move Geo Item" msgstr "Переместить элемент Geo" -#: flatcamGUI/FlatCAMGUI.py:1808 +#: flatcamGUI/FlatCAMGUI.py:1916 msgid "Within Add Arc will cycle through the ARC modes" msgstr "При добавлении дуги будет переключаться между режимами дуги" -#: flatcamGUI/FlatCAMGUI.py:1808 +#: flatcamGUI/FlatCAMGUI.py:1916 msgid "Draw a Polygon" msgstr "Полигон" -#: flatcamGUI/FlatCAMGUI.py:1808 +#: flatcamGUI/FlatCAMGUI.py:1916 msgid "Draw a Circle" msgstr "Круг" -#: flatcamGUI/FlatCAMGUI.py:1809 +#: flatcamGUI/FlatCAMGUI.py:1917 msgid "Draw a Path" msgstr "Нарисовать линию" -#: flatcamGUI/FlatCAMGUI.py:1809 +#: flatcamGUI/FlatCAMGUI.py:1917 msgid "Draw Rectangle" msgstr "Прямоугольник" -#: flatcamGUI/FlatCAMGUI.py:1809 +#: flatcamGUI/FlatCAMGUI.py:1917 msgid "Polygon Subtraction Tool" msgstr "Вычитание полигонов" -#: flatcamGUI/FlatCAMGUI.py:1809 +#: flatcamGUI/FlatCAMGUI.py:1917 msgid "Add Text Tool" msgstr "Текст" -#: flatcamGUI/FlatCAMGUI.py:1810 +#: flatcamGUI/FlatCAMGUI.py:1918 msgid "Polygon Union Tool" msgstr "Сращение полигонов" -#: flatcamGUI/FlatCAMGUI.py:1810 +#: flatcamGUI/FlatCAMGUI.py:1918 msgid "Flip shape on X axis" msgstr "Отразить форму по оси X" -#: flatcamGUI/FlatCAMGUI.py:1810 +#: flatcamGUI/FlatCAMGUI.py:1918 msgid "Flip shape on Y axis" msgstr "Отразить форму по оси Y" -#: flatcamGUI/FlatCAMGUI.py:1811 +#: flatcamGUI/FlatCAMGUI.py:1919 msgid "Skew shape on X axis" msgstr "Наклонить форму по оси X" -#: flatcamGUI/FlatCAMGUI.py:1811 +#: flatcamGUI/FlatCAMGUI.py:1919 msgid "Skew shape on Y axis" msgstr "Наклонить форму по оси Y" -#: flatcamGUI/FlatCAMGUI.py:1811 +#: flatcamGUI/FlatCAMGUI.py:1919 msgid "Editor Transformation Tool" msgstr "Трансформация" -#: flatcamGUI/FlatCAMGUI.py:1812 +#: flatcamGUI/FlatCAMGUI.py:1920 msgid "Offset shape on X axis" msgstr "Смещение формы по оси X" -#: flatcamGUI/FlatCAMGUI.py:1812 +#: flatcamGUI/FlatCAMGUI.py:1920 msgid "Offset shape on Y axis" msgstr "Смещение формы по оси Y" -#: flatcamGUI/FlatCAMGUI.py:1813 flatcamGUI/FlatCAMGUI.py:1899 -#: flatcamGUI/FlatCAMGUI.py:2021 +#: flatcamGUI/FlatCAMGUI.py:1921 flatcamGUI/FlatCAMGUI.py:2007 +#: flatcamGUI/FlatCAMGUI.py:2129 msgid "Save Object and Exit Editor" msgstr "Сохранить объект и закрыть редактор" -#: flatcamGUI/FlatCAMGUI.py:1813 +#: flatcamGUI/FlatCAMGUI.py:1921 msgid "Polygon Cut Tool" msgstr "Вычитание полигонов" -#: flatcamGUI/FlatCAMGUI.py:1814 +#: flatcamGUI/FlatCAMGUI.py:1922 msgid "Rotate Geometry" msgstr "Повернуть геометрию" -#: flatcamGUI/FlatCAMGUI.py:1814 +#: flatcamGUI/FlatCAMGUI.py:1922 msgid "Finish drawing for certain tools" msgstr "Завершить рисование для некоторых инструментов" -#: flatcamGUI/FlatCAMGUI.py:1814 flatcamGUI/FlatCAMGUI.py:1899 -#: flatcamGUI/FlatCAMGUI.py:2019 +#: flatcamGUI/FlatCAMGUI.py:1922 flatcamGUI/FlatCAMGUI.py:2007 +#: flatcamGUI/FlatCAMGUI.py:2127 msgid "Abort and return to Select" msgstr "Прервать и вернуться к выбору" -#: flatcamGUI/FlatCAMGUI.py:1815 flatcamGUI/FlatCAMGUI.py:2518 +#: flatcamGUI/FlatCAMGUI.py:1923 flatcamGUI/FlatCAMGUI.py:2690 msgid "Delete Shape" msgstr "Удалить фигуру" -#: flatcamGUI/FlatCAMGUI.py:1895 +#: flatcamGUI/FlatCAMGUI.py:2003 msgid "EXCELLON EDITOR" msgstr "РЕДАКТОР EXCELLON" -#: flatcamGUI/FlatCAMGUI.py:1895 +#: flatcamGUI/FlatCAMGUI.py:2003 msgid "Copy Drill(s)" msgstr "Копировать отверстие" -#: flatcamGUI/FlatCAMGUI.py:1895 flatcamGUI/FlatCAMGUI.py:2145 +#: flatcamGUI/FlatCAMGUI.py:2003 flatcamGUI/FlatCAMGUI.py:2253 msgid "Add Drill" msgstr "Добавить сверло" -#: flatcamGUI/FlatCAMGUI.py:1896 +#: flatcamGUI/FlatCAMGUI.py:2004 msgid "Move Drill(s)" msgstr "Переместить отверстие" -#: flatcamGUI/FlatCAMGUI.py:1897 +#: flatcamGUI/FlatCAMGUI.py:2005 msgid "Add a new Tool" msgstr "Добавить инструмент" -#: flatcamGUI/FlatCAMGUI.py:1898 +#: flatcamGUI/FlatCAMGUI.py:2006 msgid "Delete Drill(s)" msgstr "Удалить отверстие" -#: flatcamGUI/FlatCAMGUI.py:1898 +#: flatcamGUI/FlatCAMGUI.py:2006 msgid "Alternate: Delete Tool(s)" msgstr "Альтернатива: Удалить инструмент(ы)" -#: flatcamGUI/FlatCAMGUI.py:2015 +#: flatcamGUI/FlatCAMGUI.py:2123 msgid "GERBER EDITOR" msgstr "РЕДАКТОР GERBER" -#: flatcamGUI/FlatCAMGUI.py:2015 +#: flatcamGUI/FlatCAMGUI.py:2123 msgid "Add Disc" msgstr "Добавить круг" -#: flatcamGUI/FlatCAMGUI.py:2015 +#: flatcamGUI/FlatCAMGUI.py:2123 msgid "Add SemiDisc" msgstr "Добавить полукруг" -#: flatcamGUI/FlatCAMGUI.py:2017 +#: flatcamGUI/FlatCAMGUI.py:2125 msgid "Within Track & Region Tools will cycle in REVERSE the bend modes" msgstr "" "В пределах трека и региона инструмент будет работать в обратном режиме изгиба" -#: flatcamGUI/FlatCAMGUI.py:2018 +#: flatcamGUI/FlatCAMGUI.py:2126 msgid "Within Track & Region Tools will cycle FORWARD the bend modes" msgstr "" "В пределах трека и региона инструмент будет циклически изменять режимы изгиба" -#: flatcamGUI/FlatCAMGUI.py:2019 +#: flatcamGUI/FlatCAMGUI.py:2127 msgid "Alternate: Delete Apertures" msgstr "Альтернатива: Удалить отверстия" -#: flatcamGUI/FlatCAMGUI.py:2020 +#: flatcamGUI/FlatCAMGUI.py:2128 msgid "Eraser Tool" msgstr "Ластик" -#: flatcamGUI/FlatCAMGUI.py:2021 flatcamGUI/PreferencesUI.py:2634 +#: flatcamGUI/FlatCAMGUI.py:2129 flatcamGUI/PreferencesUI.py:2816 msgid "Mark Area Tool" msgstr "Инструмент «Обозначить область»" -#: flatcamGUI/FlatCAMGUI.py:2021 +#: flatcamGUI/FlatCAMGUI.py:2129 msgid "Poligonize Tool" msgstr "Полигонизация" -#: flatcamGUI/FlatCAMGUI.py:2021 +#: flatcamGUI/FlatCAMGUI.py:2129 msgid "Transformation Tool" msgstr "Трансформация" -#: flatcamGUI/FlatCAMGUI.py:2038 +#: flatcamGUI/FlatCAMGUI.py:2146 msgid "Toggle Visibility" msgstr "Переключить видимость" -#: flatcamGUI/FlatCAMGUI.py:2044 +#: flatcamGUI/FlatCAMGUI.py:2152 msgid "New" msgstr "Создать" -#: flatcamGUI/FlatCAMGUI.py:2046 flatcamTools/ToolCalibration.py:634 -msgid "Geometry" -msgstr "Geometry" - -#: flatcamGUI/FlatCAMGUI.py:2050 flatcamTools/ToolCalibration.py:197 -#: flatcamTools/ToolCalibration.py:634 flatcamTools/ToolFilm.py:359 +#: flatcamGUI/FlatCAMGUI.py:2158 flatcamGUI/PreferencesUI.py:8410 +#: flatcamTools/ToolAlignObjects.py:74 flatcamTools/ToolAlignObjects.py:110 +#: flatcamTools/ToolCalibration.py:197 flatcamTools/ToolCalibration.py:631 +#: flatcamTools/ToolCalibration.py:648 flatcamTools/ToolCalibration.py:807 +#: flatcamTools/ToolCalibration.py:815 flatcamTools/ToolCopperThieving.py:145 +#: flatcamTools/ToolCopperThieving.py:159 +#: flatcamTools/ToolCopperThieving.py:605 flatcamTools/ToolDblSided.py:226 +#: flatcamTools/ToolFilm.py:359 flatcamTools/ToolNCC.py:558 +#: flatcamTools/ToolNCC.py:1293 flatcamTools/ToolPaint.py:502 +#: flatcamTools/ToolPaint.py:703 flatcamTools/ToolPanelize.py:374 +#: flatcamTools/ToolPunchGerber.py:149 flatcamTools/ToolPunchGerber.py:164 msgid "Excellon" msgstr "Excellon" -#: flatcamGUI/FlatCAMGUI.py:2057 +#: flatcamGUI/FlatCAMGUI.py:2165 msgid "Grids" msgstr "Сетка" -#: flatcamGUI/FlatCAMGUI.py:2064 +#: flatcamGUI/FlatCAMGUI.py:2172 msgid "Clear Plot" msgstr "Отключить все участки" -#: flatcamGUI/FlatCAMGUI.py:2066 +#: flatcamGUI/FlatCAMGUI.py:2174 msgid "Replot" msgstr "Перерисовать" -#: flatcamGUI/FlatCAMGUI.py:2070 +#: flatcamGUI/FlatCAMGUI.py:2178 msgid "Geo Editor" msgstr "Редактор Geo" -#: flatcamGUI/FlatCAMGUI.py:2072 +#: flatcamGUI/FlatCAMGUI.py:2180 msgid "Path" msgstr "Дорожка" -#: flatcamGUI/FlatCAMGUI.py:2074 +#: flatcamGUI/FlatCAMGUI.py:2182 msgid "Rectangle" msgstr "Прямоугольник" -#: flatcamGUI/FlatCAMGUI.py:2077 +#: flatcamGUI/FlatCAMGUI.py:2185 msgid "Circle" msgstr "Круг" -#: flatcamGUI/FlatCAMGUI.py:2079 -msgid "Polygon" -msgstr "Полигон" - -#: flatcamGUI/FlatCAMGUI.py:2081 +#: flatcamGUI/FlatCAMGUI.py:2189 msgid "Arc" msgstr "Дуга" -#: flatcamGUI/FlatCAMGUI.py:2095 +#: flatcamGUI/FlatCAMGUI.py:2203 msgid "Union" msgstr "Объединение" -#: flatcamGUI/FlatCAMGUI.py:2097 +#: flatcamGUI/FlatCAMGUI.py:2205 msgid "Intersection" msgstr "Пересечение" -#: flatcamGUI/FlatCAMGUI.py:2099 +#: flatcamGUI/FlatCAMGUI.py:2207 msgid "Subtraction" msgstr "Вычитание" -#: flatcamGUI/FlatCAMGUI.py:2101 flatcamGUI/ObjectUI.py:1811 -#: flatcamGUI/PreferencesUI.py:4421 +#: flatcamGUI/FlatCAMGUI.py:2209 flatcamGUI/ObjectUI.py:2139 +#: flatcamGUI/PreferencesUI.py:4714 msgid "Cut" msgstr "Вырезы" -#: flatcamGUI/FlatCAMGUI.py:2112 +#: flatcamGUI/FlatCAMGUI.py:2220 msgid "Pad" msgstr "Площадка" -#: flatcamGUI/FlatCAMGUI.py:2114 +#: flatcamGUI/FlatCAMGUI.py:2222 msgid "Pad Array" msgstr "Массив площадок" -#: flatcamGUI/FlatCAMGUI.py:2118 +#: flatcamGUI/FlatCAMGUI.py:2226 msgid "Track" msgstr "Трек" -#: flatcamGUI/FlatCAMGUI.py:2120 +#: flatcamGUI/FlatCAMGUI.py:2228 msgid "Region" msgstr "Регион" -#: flatcamGUI/FlatCAMGUI.py:2143 +#: flatcamGUI/FlatCAMGUI.py:2251 msgid "Exc Editor" msgstr "Редактор Excellon" -#: flatcamGUI/FlatCAMGUI.py:2188 +#: flatcamGUI/FlatCAMGUI.py:2296 msgid "" "Relative neasurement.\n" "Reference is last click position" @@ -6877,7 +7260,7 @@ msgstr "" "Относительное измерение.\n" "Ссылка-это позиция последнего клика" -#: flatcamGUI/FlatCAMGUI.py:2194 +#: flatcamGUI/FlatCAMGUI.py:2302 msgid "" "Absolute neasurement.\n" "Reference is (X=0, Y= 0) position" @@ -6885,27 +7268,35 @@ msgstr "" "Абсолютное измерение.\n" "Указатель в точке (X=0, Y= 0)" -#: flatcamGUI/FlatCAMGUI.py:2301 +#: flatcamGUI/FlatCAMGUI.py:2406 msgid "Lock Toolbars" msgstr "Заблокировать панели" -#: flatcamGUI/FlatCAMGUI.py:2419 +#: flatcamGUI/FlatCAMGUI.py:2465 +msgid "FlatCAM Preferences Folder opened." +msgstr "Папка настроек FlatCAM открыта." + +#: flatcamGUI/FlatCAMGUI.py:2476 +msgid "Are you sure you want to delete the GUI Settings? \n" +msgstr "Вы уверены, что хотите сбросить настройки интерфейса?\n" + +#: flatcamGUI/FlatCAMGUI.py:2584 msgid "&Cutout Tool" msgstr "&Обрезка платы" -#: flatcamGUI/FlatCAMGUI.py:2478 +#: flatcamGUI/FlatCAMGUI.py:2650 msgid "Select 'Esc'" msgstr "Выбор 'Esc'" -#: flatcamGUI/FlatCAMGUI.py:2516 +#: flatcamGUI/FlatCAMGUI.py:2688 msgid "Copy Objects" msgstr "Копировать объекты" -#: flatcamGUI/FlatCAMGUI.py:2524 +#: flatcamGUI/FlatCAMGUI.py:2696 msgid "Move Objects" msgstr "Переместить объект" -#: flatcamGUI/FlatCAMGUI.py:3087 +#: flatcamGUI/FlatCAMGUI.py:3312 msgid "" "Please first select a geometry item to be cutted\n" "then select the geometry item that will be cutted\n" @@ -6917,12 +7308,12 @@ msgstr "" "из первого пункта. В конце нажмите клавишу ~X~ или\n" "кнопка панели инструментов." -#: flatcamGUI/FlatCAMGUI.py:3094 flatcamGUI/FlatCAMGUI.py:3254 -#: flatcamGUI/FlatCAMGUI.py:3299 flatcamGUI/FlatCAMGUI.py:3319 +#: flatcamGUI/FlatCAMGUI.py:3319 flatcamGUI/FlatCAMGUI.py:3478 +#: flatcamGUI/FlatCAMGUI.py:3523 flatcamGUI/FlatCAMGUI.py:3543 msgid "Warning" msgstr "Внимание" -#: flatcamGUI/FlatCAMGUI.py:3249 +#: flatcamGUI/FlatCAMGUI.py:3473 msgid "" "Please select geometry items \n" "on which to perform Intersection Tool." @@ -6930,7 +7321,7 @@ msgstr "" "Пожалуйста, выберите элементы геометрии \n" "на котором выполняется инструмент пересечение." -#: flatcamGUI/FlatCAMGUI.py:3294 +#: flatcamGUI/FlatCAMGUI.py:3518 msgid "" "Please select geometry items \n" "on which to perform Substraction Tool." @@ -6938,7 +7329,7 @@ msgstr "" "Пожалуйста, выберите элементы геометрии \n" "на котором выполнить вычитание инструмента." -#: flatcamGUI/FlatCAMGUI.py:3314 +#: flatcamGUI/FlatCAMGUI.py:3538 msgid "" "Please select geometry items \n" "on which to perform union." @@ -6946,61 +7337,62 @@ msgstr "" "Пожалуйста, выберите элементы геометрии \n" "на котором выполнять объединение." -#: flatcamGUI/FlatCAMGUI.py:3394 flatcamGUI/FlatCAMGUI.py:3608 +#: flatcamGUI/FlatCAMGUI.py:3617 flatcamGUI/FlatCAMGUI.py:3828 msgid "Cancelled. Nothing selected to delete." msgstr "Отмена. Ничего не выбрано для удаления." -#: flatcamGUI/FlatCAMGUI.py:3479 flatcamGUI/FlatCAMGUI.py:3726 +#: flatcamGUI/FlatCAMGUI.py:3701 flatcamGUI/FlatCAMGUI.py:3944 msgid "Cancelled. Nothing selected to copy." msgstr "Отмена. Ничего не выбрано для копирования." -#: flatcamGUI/FlatCAMGUI.py:3526 flatcamGUI/FlatCAMGUI.py:3756 +#: flatcamGUI/FlatCAMGUI.py:3747 flatcamGUI/FlatCAMGUI.py:3973 msgid "Cancelled. Nothing selected to move." msgstr "Отмена. Ничего не выбрано для перемещения." -#: flatcamGUI/FlatCAMGUI.py:3782 +#: flatcamGUI/FlatCAMGUI.py:3999 msgid "New Tool ..." msgstr "Новый инструмент ..." -#: flatcamGUI/FlatCAMGUI.py:3783 flatcamTools/ToolNonCopperClear.py:583 -#: flatcamTools/ToolPaint.py:494 flatcamTools/ToolSolderPaste.py:554 +#: flatcamGUI/FlatCAMGUI.py:4000 flatcamTools/ToolNCC.py:922 +#: flatcamTools/ToolPaint.py:847 flatcamTools/ToolSolderPaste.py:560 msgid "Enter a Tool Diameter" msgstr "Введите диаметр инструмента" -#: flatcamGUI/FlatCAMGUI.py:3795 +#: flatcamGUI/FlatCAMGUI.py:4012 msgid "Adding Tool cancelled ..." msgstr "Добавление инструмента отменено ..." -#: flatcamGUI/FlatCAMGUI.py:3808 +#: flatcamGUI/FlatCAMGUI.py:4025 msgid "Distance Tool exit..." msgstr "Измеритель закрыт ..." -#: flatcamGUI/FlatCAMGUI.py:4018 flatcamGUI/FlatCAMGUI.py:4025 +#: flatcamGUI/FlatCAMGUI.py:4234 flatcamGUI/FlatCAMGUI.py:4241 msgid "Idle." msgstr "Нет заданий." -#: flatcamGUI/FlatCAMGUI.py:4056 +#: flatcamGUI/FlatCAMGUI.py:4272 msgid "Application started ..." msgstr "Приложение запущено ..." -#: flatcamGUI/FlatCAMGUI.py:4057 +#: flatcamGUI/FlatCAMGUI.py:4273 msgid "Hello!" msgstr "Приветствую!" -#: flatcamGUI/FlatCAMGUI.py:4115 +#: flatcamGUI/FlatCAMGUI.py:4331 msgid "Open Project ..." msgstr "Открыть проект..." -#: flatcamGUI/FlatCAMGUI.py:4141 +#: flatcamGUI/FlatCAMGUI.py:4357 msgid "Exit" msgstr "Выход" -#: flatcamGUI/GUIElements.py:2261 flatcamGUI/PreferencesUI.py:5265 -#: flatcamGUI/PreferencesUI.py:5825 flatcamTools/ToolFilm.py:219 +#: flatcamGUI/GUIElements.py:2513 flatcamGUI/PreferencesUI.py:6313 +#: flatcamTools/ToolDblSided.py:174 flatcamTools/ToolDblSided.py:389 +#: flatcamTools/ToolFilm.py:219 msgid "Reference" msgstr "Ссылка" -#: flatcamGUI/GUIElements.py:2263 +#: flatcamGUI/GUIElements.py:2515 msgid "" "The reference can be:\n" "- Absolute -> the reference point is point (0,0)\n" @@ -7010,19 +7402,19 @@ msgstr "" "- Абсолютный -> точка отсчета - это точка (0,0)\n" "- Относительный -> опорной точкой является положение мыши перед перемещением" -#: flatcamGUI/GUIElements.py:2268 +#: flatcamGUI/GUIElements.py:2520 msgid "Abs" msgstr "Абс" -#: flatcamGUI/GUIElements.py:2269 +#: flatcamGUI/GUIElements.py:2521 msgid "Relative" msgstr "Относительный" -#: flatcamGUI/GUIElements.py:2279 +#: flatcamGUI/GUIElements.py:2531 msgid "Location" msgstr "Местоположение" -#: flatcamGUI/GUIElements.py:2281 +#: flatcamGUI/GUIElements.py:2533 msgid "" "The Location value is a tuple (x,y).\n" "If the reference is Absolute then the Jump will be at the position (x,y).\n" @@ -7034,6 +7426,10 @@ msgstr "" "Если ссылка является относительной, то переход будет на расстоянии (x, y)\n" "от текущей точки расположения мыши." +#: flatcamGUI/GUIElements.py:2573 +msgid "Save Log" +msgstr "Сохранить журнал" + #: flatcamGUI/ObjectUI.py:38 msgid "FlatCAM Object" msgstr "Объект FlatCAM" @@ -7056,15 +7452,11 @@ msgstr "" "Изменить - > настройки -> Общие и проверить:\n" "- Приложение. Уровень ' переключатель." -#: flatcamGUI/ObjectUI.py:105 -msgid "Change the size of the object." -msgstr "Изменение размера объекта." +#: flatcamGUI/ObjectUI.py:110 +msgid "Geometrical transformations of the current object." +msgstr "" -#: flatcamGUI/ObjectUI.py:111 -msgid "Factor" -msgstr "Коэффициент" - -#: flatcamGUI/ObjectUI.py:113 +#: flatcamGUI/ObjectUI.py:119 msgid "" "Factor by which to multiply\n" "geometric features of this object.\n" @@ -7074,19 +7466,11 @@ msgstr "" "масштаба объекта.\n" "Выражения разрешены. Например: 1 / 25.4" -#: flatcamGUI/ObjectUI.py:123 +#: flatcamGUI/ObjectUI.py:126 msgid "Perform scaling operation." msgstr "Будет выполнена операция масштабирования." -#: flatcamGUI/ObjectUI.py:134 -msgid "Change the position of this object." -msgstr "Смена положения этого объекта." - -#: flatcamGUI/ObjectUI.py:139 -msgid "Vector" -msgstr "Вектор" - -#: flatcamGUI/ObjectUI.py:141 +#: flatcamGUI/ObjectUI.py:137 msgid "" "Amount by which to move the object\n" "in the x and y axes in (x, y) format.\n" @@ -7096,60 +7480,53 @@ msgstr "" "по осям X и Y в формате (x, y).\n" "Выражения разрешены. Например: (1/3.2, 0.5*3)" -#: flatcamGUI/ObjectUI.py:150 +#: flatcamGUI/ObjectUI.py:144 msgid "Perform the offset operation." msgstr "Будет произведено смещение на заданное расстояние." -#: flatcamGUI/ObjectUI.py:167 +#: flatcamGUI/ObjectUI.py:177 msgid "Gerber Object" msgstr "Объект Gerber" -#: flatcamGUI/ObjectUI.py:182 flatcamGUI/ObjectUI.py:767 -#: flatcamGUI/ObjectUI.py:1205 flatcamGUI/ObjectUI.py:1905 -#: flatcamGUI/PreferencesUI.py:1783 flatcamGUI/PreferencesUI.py:3849 -#: flatcamGUI/PreferencesUI.py:4406 -msgid "Plot (show) this object." -msgstr "Начертить (отобразить) этот объект." - -#: flatcamGUI/ObjectUI.py:184 flatcamGUI/ObjectUI.py:765 -#: flatcamGUI/PreferencesUI.py:1781 flatcamGUI/PreferencesUI.py:2680 -#: flatcamGUI/PreferencesUI.py:3847 -msgid "Plot" -msgstr "Отображать" - -#: flatcamGUI/ObjectUI.py:189 flatcamGUI/ObjectUI.py:726 -#: flatcamGUI/ObjectUI.py:1159 flatcamGUI/ObjectUI.py:1795 -#: flatcamGUI/PreferencesUI.py:1760 flatcamGUI/PreferencesUI.py:2674 -#: flatcamGUI/PreferencesUI.py:3843 flatcamGUI/PreferencesUI.py:4395 +#: flatcamGUI/ObjectUI.py:186 flatcamGUI/ObjectUI.py:729 +#: flatcamGUI/ObjectUI.py:1424 flatcamGUI/ObjectUI.py:2123 +#: flatcamGUI/PreferencesUI.py:1940 flatcamGUI/PreferencesUI.py:2856 +#: flatcamGUI/PreferencesUI.py:4121 flatcamGUI/PreferencesUI.py:4688 msgid "Plot Options" msgstr "Отрисовка" -#: flatcamGUI/ObjectUI.py:195 flatcamGUI/ObjectUI.py:727 -#: flatcamGUI/PreferencesUI.py:1767 flatcamGUI/PreferencesUI.py:2686 -#: flatcamGUI/PreferencesUI.py:7222 flatcamTools/ToolCopperThieving.py:190 +#: flatcamGUI/ObjectUI.py:192 flatcamGUI/ObjectUI.py:730 +#: flatcamGUI/PreferencesUI.py:1947 flatcamGUI/PreferencesUI.py:2868 +#: flatcamGUI/PreferencesUI.py:7728 flatcamTools/ToolCopperThieving.py:192 msgid "Solid" msgstr "Сплошной" -#: flatcamGUI/ObjectUI.py:197 flatcamGUI/PreferencesUI.py:1769 +#: flatcamGUI/ObjectUI.py:194 flatcamGUI/PreferencesUI.py:1949 msgid "Solid color polygons." msgstr "Сплошной цвет полигонов." -#: flatcamGUI/ObjectUI.py:203 +#: flatcamGUI/ObjectUI.py:200 msgid "Multi-Color" msgstr "Mногоцветный" -#: flatcamGUI/ObjectUI.py:205 flatcamGUI/PreferencesUI.py:1776 +#: flatcamGUI/ObjectUI.py:202 flatcamGUI/PreferencesUI.py:1956 msgid "Draw polygons in different colors." msgstr "Окрашивать полигоны разными цветами." -#: flatcamGUI/ObjectUI.py:213 flatcamGUI/ObjectUI.py:738 -#: flatcamGUI/ObjectUI.py:1165 flatcamGUI/ObjectUI.py:1825 -#: flatcamGUI/ObjectUI.py:2128 flatcamGUI/ObjectUI.py:2194 -#: flatcamTools/ToolCalibration.py:235 flatcamTools/ToolFiducials.py:73 -msgid "Name" -msgstr "Имя" +#: flatcamGUI/ObjectUI.py:208 flatcamGUI/ObjectUI.py:768 +#: flatcamGUI/PreferencesUI.py:1961 flatcamGUI/PreferencesUI.py:2862 +#: flatcamGUI/PreferencesUI.py:4125 +msgid "Plot" +msgstr "Отображать" -#: flatcamGUI/ObjectUI.py:234 +#: flatcamGUI/ObjectUI.py:210 flatcamGUI/ObjectUI.py:770 +#: flatcamGUI/ObjectUI.py:1484 flatcamGUI/ObjectUI.py:2233 +#: flatcamGUI/PreferencesUI.py:1963 flatcamGUI/PreferencesUI.py:4127 +#: flatcamGUI/PreferencesUI.py:4699 +msgid "Plot (show) this object." +msgstr "Начертить (отобразить) этот объект." + +#: flatcamGUI/ObjectUI.py:238 msgid "" "Toggle the display of the Gerber Apertures Table.\n" "When unchecked, it will delete all mark shapes\n" @@ -7159,11 +7536,11 @@ msgstr "" "Когда флажок снят, он удалит все отмеченные фигуры\n" "которые отображены на холсте." -#: flatcamGUI/ObjectUI.py:244 +#: flatcamGUI/ObjectUI.py:248 msgid "Mark All" msgstr "Отметить все" -#: flatcamGUI/ObjectUI.py:246 +#: flatcamGUI/ObjectUI.py:250 msgid "" "When checked it will display all the apertures.\n" "When unchecked, it will delete all mark shapes\n" @@ -7173,15 +7550,15 @@ msgstr "" "Когда флажок снят, он удалит все отмеченные фигуры\n" "которые нарисованы на холсте." -#: flatcamGUI/ObjectUI.py:274 +#: flatcamGUI/ObjectUI.py:278 msgid "Mark the aperture instances on canvas." msgstr "Отметьте места отверстий на холсте." -#: flatcamGUI/ObjectUI.py:286 flatcamGUI/PreferencesUI.py:2014 +#: flatcamGUI/ObjectUI.py:290 flatcamGUI/PreferencesUI.py:2194 msgid "Isolation Routing" msgstr "Изоляция разводки" -#: flatcamGUI/ObjectUI.py:288 flatcamGUI/PreferencesUI.py:2016 +#: flatcamGUI/ObjectUI.py:292 flatcamGUI/PreferencesUI.py:2196 msgid "" "Create a Geometry object with\n" "toolpaths to cut outside polygons." @@ -7190,7 +7567,7 @@ msgstr "" "с траекториям обрезки за\n" "пределами полигонов." -#: flatcamGUI/ObjectUI.py:306 flatcamGUI/PreferencesUI.py:2219 +#: flatcamGUI/ObjectUI.py:310 flatcamGUI/PreferencesUI.py:2399 msgid "" "Choose what tool to use for Gerber isolation:\n" "'Circular' or 'V-shape'.\n" @@ -7202,31 +7579,37 @@ msgstr "" "Когда выбрана \"V-образная форма\", то диаметр инструмента\n" "будет зависеть от выбранной глубины резания." -#: flatcamGUI/ObjectUI.py:312 +#: flatcamGUI/ObjectUI.py:316 msgid "V-Shape" msgstr "V-образный" -#: flatcamGUI/ObjectUI.py:318 flatcamGUI/ObjectUI.py:1374 -#: flatcamGUI/PreferencesUI.py:2231 flatcamGUI/PreferencesUI.py:5055 -#: flatcamTools/ToolNonCopperClear.py:231 +#: flatcamGUI/ObjectUI.py:322 flatcamGUI/ObjectUI.py:1670 +#: flatcamGUI/PreferencesUI.py:2411 flatcamGUI/PreferencesUI.py:5351 +#: flatcamGUI/PreferencesUI.py:5917 flatcamGUI/PreferencesUI.py:5924 +#: flatcamTools/ToolNCC.py:233 flatcamTools/ToolNCC.py:240 +#: flatcamTools/ToolPaint.py:216 msgid "V-Tip Dia" msgstr "Диаметр V-наконечника" -#: flatcamGUI/ObjectUI.py:320 flatcamGUI/ObjectUI.py:1377 -#: flatcamGUI/PreferencesUI.py:2233 flatcamGUI/PreferencesUI.py:5057 -#: flatcamTools/ToolNonCopperClear.py:233 +#: flatcamGUI/ObjectUI.py:324 flatcamGUI/ObjectUI.py:1673 +#: flatcamGUI/PreferencesUI.py:2413 flatcamGUI/PreferencesUI.py:5353 +#: flatcamGUI/PreferencesUI.py:5919 flatcamTools/ToolNCC.py:235 +#: flatcamTools/ToolPaint.py:218 msgid "The tip diameter for V-Shape Tool" msgstr "Диаметр наконечника для V-образного инструмента" -#: flatcamGUI/ObjectUI.py:331 flatcamGUI/ObjectUI.py:1389 -#: flatcamGUI/PreferencesUI.py:2244 flatcamGUI/PreferencesUI.py:5067 -#: flatcamTools/ToolNonCopperClear.py:242 +#: flatcamGUI/ObjectUI.py:335 flatcamGUI/ObjectUI.py:1685 +#: flatcamGUI/PreferencesUI.py:2424 flatcamGUI/PreferencesUI.py:5363 +#: flatcamGUI/PreferencesUI.py:5930 flatcamGUI/PreferencesUI.py:5938 +#: flatcamTools/ToolNCC.py:246 flatcamTools/ToolNCC.py:254 +#: flatcamTools/ToolPaint.py:229 msgid "V-Tip Angle" msgstr "Угол V-наконечника" -#: flatcamGUI/ObjectUI.py:333 flatcamGUI/ObjectUI.py:1392 -#: flatcamGUI/PreferencesUI.py:2246 flatcamGUI/PreferencesUI.py:5069 -#: flatcamTools/ToolNonCopperClear.py:244 +#: flatcamGUI/ObjectUI.py:337 flatcamGUI/ObjectUI.py:1688 +#: flatcamGUI/PreferencesUI.py:2426 flatcamGUI/PreferencesUI.py:5365 +#: flatcamGUI/PreferencesUI.py:5932 flatcamTools/ToolNCC.py:248 +#: flatcamTools/ToolPaint.py:231 msgid "" "The tip angle for V-Shape Tool.\n" "In degree." @@ -7234,9 +7617,9 @@ msgstr "" "Угол наклона наконечника для V-образного инструмента.\n" "В степенях." -#: flatcamGUI/ObjectUI.py:347 flatcamGUI/ObjectUI.py:1408 -#: flatcamGUI/PreferencesUI.py:2259 flatcamGUI/PreferencesUI.py:3963 -#: flatcamGUI/PreferencesUI.py:5330 flatcamTools/ToolCutOut.py:135 +#: flatcamGUI/ObjectUI.py:351 flatcamGUI/ObjectUI.py:1704 +#: flatcamGUI/PreferencesUI.py:2439 flatcamGUI/PreferencesUI.py:4243 +#: flatcamGUI/PreferencesUI.py:5669 flatcamTools/ToolCutOut.py:142 msgid "" "Cutting depth (negative)\n" "below the copper surface." @@ -7244,7 +7627,7 @@ msgstr "" "Глубина резания (отрицательная)\n" "ниже слоя меди." -#: flatcamGUI/ObjectUI.py:361 +#: flatcamGUI/ObjectUI.py:365 msgid "" "Diameter of the cutting tool.\n" "If you want to have an isolation path\n" @@ -7258,11 +7641,11 @@ msgstr "" "функцию, используйте отрицательное значение для\n" "этот параметр." -#: flatcamGUI/ObjectUI.py:377 flatcamGUI/PreferencesUI.py:2038 +#: flatcamGUI/ObjectUI.py:381 flatcamGUI/PreferencesUI.py:2218 msgid "# Passes" msgstr "# Проходы" -#: flatcamGUI/ObjectUI.py:379 flatcamGUI/PreferencesUI.py:2040 +#: flatcamGUI/ObjectUI.py:383 flatcamGUI/PreferencesUI.py:2220 msgid "" "Width of the isolation gap in\n" "number (integer) of tool widths." @@ -7270,24 +7653,18 @@ msgstr "" "Ширина промежутка изоляции в \n" "числах (целое число) ширины инструмента." -#: flatcamGUI/ObjectUI.py:389 flatcamGUI/PreferencesUI.py:2050 +#: flatcamGUI/ObjectUI.py:394 flatcamGUI/PreferencesUI.py:2230 msgid "Pass overlap" msgstr "Перекрытие" -#: flatcamGUI/ObjectUI.py:391 flatcamGUI/PreferencesUI.py:2052 -msgid "How much (fraction) of the tool width to overlap each tool pass." +#: flatcamGUI/ObjectUI.py:396 flatcamGUI/PreferencesUI.py:2232 +msgid "How much (percentage) of the tool width to overlap each tool pass." msgstr "" "Размер части ширины инструмента, который будет перекрываться за каждый " "проход." -#: flatcamGUI/ObjectUI.py:403 flatcamGUI/PreferencesUI.py:2077 -#: flatcamGUI/PreferencesUI.py:4372 flatcamGUI/PreferencesUI.py:5112 -#: flatcamTools/ToolNonCopperClear.py:162 -msgid "Milling Type" -msgstr "Тип фрезерования" - -#: flatcamGUI/ObjectUI.py:405 flatcamGUI/PreferencesUI.py:2079 -#: flatcamGUI/PreferencesUI.py:4374 +#: flatcamGUI/ObjectUI.py:410 flatcamGUI/PreferencesUI.py:2259 +#: flatcamGUI/PreferencesUI.py:4667 msgid "" "Milling type:\n" "- climb / best for precision milling and to reduce tool usage\n" @@ -7298,29 +7675,19 @@ msgstr "" "использования инструмента\n" "- conventional / полезен, когда нет компенсации люфта" -#: flatcamGUI/ObjectUI.py:409 flatcamGUI/PreferencesUI.py:2084 -#: flatcamGUI/PreferencesUI.py:4378 flatcamGUI/PreferencesUI.py:5119 -#: flatcamTools/ToolNonCopperClear.py:169 -msgid "Climb" -msgstr "Постепенный" - -#: flatcamGUI/ObjectUI.py:410 -msgid "Conventional" -msgstr "Обычный" - -#: flatcamGUI/ObjectUI.py:415 +#: flatcamGUI/ObjectUI.py:420 msgid "Combine" msgstr "Комбинировать" -#: flatcamGUI/ObjectUI.py:417 flatcamGUI/PreferencesUI.py:2091 +#: flatcamGUI/ObjectUI.py:422 flatcamGUI/PreferencesUI.py:2271 msgid "Combine all passes into one object" msgstr "Объединить все проходы в один объект" -#: flatcamGUI/ObjectUI.py:421 flatcamGUI/PreferencesUI.py:2193 +#: flatcamGUI/ObjectUI.py:426 flatcamGUI/PreferencesUI.py:2373 msgid "\"Follow\"" msgstr "\"Следовать\"" -#: flatcamGUI/ObjectUI.py:422 flatcamGUI/PreferencesUI.py:2195 +#: flatcamGUI/ObjectUI.py:427 flatcamGUI/PreferencesUI.py:2375 msgid "" "Generate a 'Follow' geometry.\n" "This means that it will cut through\n" @@ -7330,11 +7697,11 @@ msgstr "" "Это означает, что он будет прорезать\n" "середину трассы." -#: flatcamGUI/ObjectUI.py:428 +#: flatcamGUI/ObjectUI.py:433 msgid "Except" msgstr "Исключение" -#: flatcamGUI/ObjectUI.py:431 +#: flatcamGUI/ObjectUI.py:436 msgid "" "When the isolation geometry is generated,\n" "by checking this, the area of the object bellow\n" @@ -7344,12 +7711,12 @@ msgstr "" "включив это, площадь объекта ниже\n" "будет вычтена из геометрии изоляции." -#: flatcamGUI/ObjectUI.py:453 flatcamTools/ToolNonCopperClear.py:82 -#: flatcamTools/ToolPaint.py:85 +#: flatcamGUI/ObjectUI.py:456 flatcamTools/ToolNCC.py:86 +#: flatcamTools/ToolPaint.py:80 msgid "Obj Type" msgstr "Тип объекта" -#: flatcamGUI/ObjectUI.py:455 +#: flatcamGUI/ObjectUI.py:458 msgid "" "Specify the type of object to be excepted from isolation.\n" "It can be of type: Gerber or Geometry.\n" @@ -7361,22 +7728,22 @@ msgstr "" "То, что выбрано здесь будет диктовать вид\n" "объектов, которые будут заполнять поле со списком \"объект\"." -#: flatcamGUI/ObjectUI.py:468 flatcamGUI/PreferencesUI.py:7522 -#: flatcamTools/ToolCalibration.py:186 flatcamTools/ToolNonCopperClear.py:100 -#: flatcamTools/ToolPaint.py:103 flatcamTools/ToolPanelize.py:81 -#: flatcamTools/ToolPanelize.py:94 +#: flatcamGUI/ObjectUI.py:471 flatcamGUI/PreferencesUI.py:8028 +#: flatcamTools/ToolCalibration.py:186 flatcamTools/ToolNCC.py:109 +#: flatcamTools/ToolPaint.py:103 flatcamTools/ToolPanelize.py:100 +#: flatcamTools/ToolQRCode.py:78 msgid "Object" msgstr "Объект" -#: flatcamGUI/ObjectUI.py:469 +#: flatcamGUI/ObjectUI.py:472 msgid "Object whose area will be removed from isolation geometry." msgstr "Объект, площадь которого будет удалена из геометрии изоляции." -#: flatcamGUI/ObjectUI.py:476 flatcamGUI/PreferencesUI.py:2064 +#: flatcamGUI/ObjectUI.py:479 flatcamGUI/PreferencesUI.py:2244 msgid "Scope" msgstr "Масштаб" -#: flatcamGUI/ObjectUI.py:478 flatcamGUI/PreferencesUI.py:2066 +#: flatcamGUI/ObjectUI.py:481 flatcamGUI/PreferencesUI.py:2246 msgid "" "Isolation scope. Choose what to isolate:\n" "- 'All' -> Isolate all the polygons in the object\n" @@ -7386,17 +7753,18 @@ msgstr "" "- 'Все' -> Изолировать все полигоны в объекте.\n" "- 'Выделенные' -> Изолировать выделенные полигоны." -#: flatcamGUI/ObjectUI.py:483 flatcamGUI/PreferencesUI.py:602 -#: flatcamGUI/PreferencesUI.py:2071 flatcamGUI/PreferencesUI.py:5634 -#: flatcamTools/ToolPaint.py:294 +#: flatcamGUI/ObjectUI.py:486 flatcamGUI/PreferencesUI.py:624 +#: flatcamGUI/PreferencesUI.py:2251 flatcamGUI/PreferencesUI.py:5590 +#: flatcamGUI/PreferencesUI.py:6097 flatcamTools/ToolNCC.py:539 +#: flatcamTools/ToolPaint.py:456 msgid "Selection" msgstr "Выбор" -#: flatcamGUI/ObjectUI.py:491 flatcamGUI/PreferencesUI.py:2272 +#: flatcamGUI/ObjectUI.py:494 flatcamGUI/PreferencesUI.py:2452 msgid "Isolation Type" msgstr "Тип изоляции" -#: flatcamGUI/ObjectUI.py:493 flatcamGUI/PreferencesUI.py:2274 +#: flatcamGUI/ObjectUI.py:496 flatcamGUI/PreferencesUI.py:2454 msgid "" "Choose how the isolation will be executed:\n" "- 'Full' -> complete isolation of polygons\n" @@ -7416,24 +7784,24 @@ msgstr "" "изоляция может быть выполнена только при наличии проема.\n" "внутри полигона (например, полигон имеет форму \"пончика\")." -#: flatcamGUI/ObjectUI.py:502 flatcamGUI/PreferencesUI.py:2283 -#: flatcamGUI/PreferencesUI.py:2304 +#: flatcamGUI/ObjectUI.py:505 flatcamGUI/PreferencesUI.py:2463 +#: flatcamGUI/PreferencesUI.py:2484 msgid "Full" msgstr "Полная" -#: flatcamGUI/ObjectUI.py:503 +#: flatcamGUI/ObjectUI.py:506 msgid "Ext" msgstr "Наруж" -#: flatcamGUI/ObjectUI.py:504 +#: flatcamGUI/ObjectUI.py:507 msgid "Int" msgstr "Внутр" -#: flatcamGUI/ObjectUI.py:509 +#: flatcamGUI/ObjectUI.py:512 msgid "Generate Isolation Geometry" msgstr "Создать геометрию изоляции" -#: flatcamGUI/ObjectUI.py:517 +#: flatcamGUI/ObjectUI.py:520 msgid "" "Create a Geometry object with toolpaths to cut \n" "isolation outside, inside or on both sides of the\n" @@ -7455,11 +7823,11 @@ msgstr "" "внутри фактической функции Gerber используйте отрицательный инструмент\n" "диаметр выше." -#: flatcamGUI/ObjectUI.py:529 +#: flatcamGUI/ObjectUI.py:532 msgid "Buffer Solid Geometry" msgstr "Буферизация solid геометрии" -#: flatcamGUI/ObjectUI.py:531 +#: flatcamGUI/ObjectUI.py:534 msgid "" "This button is shown only when the Gerber file\n" "is loaded without buffering.\n" @@ -7471,11 +7839,11 @@ msgstr "" "Включив это, вы создадите буферную геометрию\n" "требуемую для изоляции." -#: flatcamGUI/ObjectUI.py:559 +#: flatcamGUI/ObjectUI.py:566 msgid "Clear N-copper" msgstr "Очистка меди" -#: flatcamGUI/ObjectUI.py:561 flatcamGUI/PreferencesUI.py:5019 +#: flatcamGUI/ObjectUI.py:568 flatcamGUI/PreferencesUI.py:5312 msgid "" "Create a Geometry object with\n" "toolpaths to cut all non-copper regions." @@ -7483,8 +7851,8 @@ msgstr "" "Создание объекта геометрии с помощью\n" "траектории резания для всех областей, отличных от меди." -#: flatcamGUI/ObjectUI.py:568 flatcamGUI/ObjectUI.py:1751 -#: flatcamTools/ToolNonCopperClear.py:473 +#: flatcamGUI/ObjectUI.py:575 flatcamGUI/ObjectUI.py:2077 +#: flatcamTools/ToolNCC.py:599 msgid "" "Create the Geometry Object\n" "for non-copper routing." @@ -7492,11 +7860,11 @@ msgstr "" "Создаёт объект геометрии\n" "для безмедного полигона." -#: flatcamGUI/ObjectUI.py:581 +#: flatcamGUI/ObjectUI.py:588 msgid "Board cutout" msgstr "Обрезка контура платы" -#: flatcamGUI/ObjectUI.py:583 flatcamGUI/PreferencesUI.py:5303 +#: flatcamGUI/ObjectUI.py:590 flatcamGUI/PreferencesUI.py:5642 msgid "" "Create toolpaths to cut around\n" "the PCB and separate it from\n" @@ -7505,7 +7873,7 @@ msgstr "" "Создание траектории обрезки печатной платы и отделения её от\n" "заготовки." -#: flatcamGUI/ObjectUI.py:590 +#: flatcamGUI/ObjectUI.py:597 msgid "" "Generate the geometry for\n" "the board cutout." @@ -7513,11 +7881,11 @@ msgstr "" "Будет создан объект геометрии\n" "для обрезки контура." -#: flatcamGUI/ObjectUI.py:608 flatcamGUI/PreferencesUI.py:2101 +#: flatcamGUI/ObjectUI.py:615 flatcamGUI/PreferencesUI.py:2281 msgid "Non-copper regions" msgstr "Безмедные полигоны" -#: flatcamGUI/ObjectUI.py:610 flatcamGUI/PreferencesUI.py:2103 +#: flatcamGUI/ObjectUI.py:617 flatcamGUI/PreferencesUI.py:2283 msgid "" "Create polygons covering the\n" "areas without copper on the PCB.\n" @@ -7531,12 +7899,12 @@ msgstr "" "объекта может использоваться для удаления всей\n" "меди из указанного региона." -#: flatcamGUI/ObjectUI.py:620 flatcamGUI/ObjectUI.py:661 -#: flatcamGUI/PreferencesUI.py:2115 flatcamGUI/PreferencesUI.py:2148 +#: flatcamGUI/ObjectUI.py:627 flatcamGUI/ObjectUI.py:668 +#: flatcamGUI/PreferencesUI.py:2295 flatcamGUI/PreferencesUI.py:2328 msgid "Boundary Margin" msgstr "Отступ от границы" -#: flatcamGUI/ObjectUI.py:622 flatcamGUI/PreferencesUI.py:2117 +#: flatcamGUI/ObjectUI.py:629 flatcamGUI/PreferencesUI.py:2297 msgid "" "Specify the edge of the PCB\n" "by drawing a box around all\n" @@ -7548,27 +7916,27 @@ msgstr "" "объектов с этим минимальным\n" "расстоянием." -#: flatcamGUI/ObjectUI.py:637 flatcamGUI/ObjectUI.py:675 -#: flatcamGUI/PreferencesUI.py:2130 flatcamGUI/PreferencesUI.py:2161 +#: flatcamGUI/ObjectUI.py:644 flatcamGUI/ObjectUI.py:682 +#: flatcamGUI/PreferencesUI.py:2310 flatcamGUI/PreferencesUI.py:2341 msgid "Rounded Geo" msgstr "Закруглять" -#: flatcamGUI/ObjectUI.py:639 flatcamGUI/PreferencesUI.py:2132 +#: flatcamGUI/ObjectUI.py:646 flatcamGUI/PreferencesUI.py:2312 msgid "Resulting geometry will have rounded corners." msgstr "Полученная геометрия будет иметь закругленные углы." -#: flatcamGUI/ObjectUI.py:643 flatcamGUI/ObjectUI.py:684 -#: flatcamTools/ToolSolderPaste.py:133 +#: flatcamGUI/ObjectUI.py:650 flatcamGUI/ObjectUI.py:691 +#: flatcamTools/ToolSolderPaste.py:135 msgid "Generate Geo" msgstr "Создать" -#: flatcamGUI/ObjectUI.py:653 flatcamGUI/PreferencesUI.py:2142 -#: flatcamGUI/PreferencesUI.py:7052 flatcamTools/ToolPanelize.py:95 +#: flatcamGUI/ObjectUI.py:660 flatcamGUI/PreferencesUI.py:2322 +#: flatcamGUI/PreferencesUI.py:7558 flatcamTools/ToolPanelize.py:101 #: flatcamTools/ToolQRCode.py:192 msgid "Bounding Box" msgstr "Ограничительная рамка" -#: flatcamGUI/ObjectUI.py:655 +#: flatcamGUI/ObjectUI.py:662 msgid "" "Create a geometry surrounding the Gerber object.\n" "Square shape." @@ -7576,7 +7944,7 @@ msgstr "" "Создаст геометрию, окружающую объект Gerber.\n" "Квадратная форма." -#: flatcamGUI/ObjectUI.py:663 flatcamGUI/PreferencesUI.py:2150 +#: flatcamGUI/ObjectUI.py:670 flatcamGUI/PreferencesUI.py:2330 msgid "" "Distance of the edges of the box\n" "to the nearest polygon." @@ -7584,7 +7952,7 @@ msgstr "" "Расстояние от края поля\n" "до ближайшего полигона." -#: flatcamGUI/ObjectUI.py:677 flatcamGUI/PreferencesUI.py:2163 +#: flatcamGUI/ObjectUI.py:684 flatcamGUI/PreferencesUI.py:2343 msgid "" "If the bounding box is \n" "to have rounded corners\n" @@ -7596,33 +7964,31 @@ msgstr "" "их радиус будет равен\n" "отступу." -#: flatcamGUI/ObjectUI.py:686 +#: flatcamGUI/ObjectUI.py:693 msgid "Generate the Geometry object." msgstr "Будет создан объект геометрии." -#: flatcamGUI/ObjectUI.py:715 +#: flatcamGUI/ObjectUI.py:720 msgid "Excellon Object" msgstr "Объект Excellon" -#: flatcamGUI/ObjectUI.py:729 +#: flatcamGUI/ObjectUI.py:732 msgid "Solid circles." msgstr "Сплошные круги." -#: flatcamGUI/ObjectUI.py:777 flatcamGUI/ObjectUI.py:1926 -#: flatcamTools/ToolProperties.py:161 +#: flatcamGUI/ObjectUI.py:780 flatcamGUI/ObjectUI.py:875 +#: flatcamGUI/ObjectUI.py:2254 flatcamGUI/PreferencesUI.py:3289 +#: flatcamTools/ToolProperties.py:166 msgid "Drills" msgstr "Отверстия" -#: flatcamGUI/ObjectUI.py:777 flatcamGUI/ObjectUI.py:1926 -#: flatcamGUI/PreferencesUI.py:3683 flatcamTools/ToolProperties.py:162 +#: flatcamGUI/ObjectUI.py:780 flatcamGUI/ObjectUI.py:876 +#: flatcamGUI/ObjectUI.py:2254 flatcamGUI/PreferencesUI.py:3290 +#: flatcamGUI/PreferencesUI.py:3961 flatcamTools/ToolProperties.py:168 msgid "Slots" msgstr "Пазы" -#: flatcamGUI/ObjectUI.py:778 flatcamGUI/PreferencesUI.py:3289 -msgid "Offset Z" -msgstr "Смещение Z" - -#: flatcamGUI/ObjectUI.py:782 +#: flatcamGUI/ObjectUI.py:785 msgid "" "This is the Tool Number.\n" "When ToolChange is checked, on toolchange event this value\n" @@ -7637,8 +8003,8 @@ msgstr "" "\n" "Здесь выбираются инструменты для генерации G-кода." -#: flatcamGUI/ObjectUI.py:787 flatcamGUI/ObjectUI.py:1230 -#: flatcamTools/ToolPaint.py:137 +#: flatcamGUI/ObjectUI.py:790 flatcamGUI/ObjectUI.py:1508 +#: flatcamTools/ToolPaint.py:142 msgid "" "Tool Diameter. It's value (in current FlatCAM units) \n" "is the cut width into the material." @@ -7646,7 +8012,7 @@ msgstr "" "Диаметр инструмента. Это значение (в текущих единицах FlatCAM) \n" "ширины разреза в материале." -#: flatcamGUI/ObjectUI.py:790 +#: flatcamGUI/ObjectUI.py:793 msgid "" "The number of Drill holes. Holes that are drilled with\n" "a drill bit." @@ -7654,7 +8020,7 @@ msgstr "" "Количество просверленных отверстий. Отверстия, которые сверлят с помощью\n" "сверло." -#: flatcamGUI/ObjectUI.py:793 +#: flatcamGUI/ObjectUI.py:796 msgid "" "The number of Slot holes. Holes that are created by\n" "milling them with an endmill bit." @@ -7662,17 +8028,7 @@ msgstr "" "Количество щелевых отверстий. Отверстия, которые создаются\n" "фрезы с фрезы бит." -#: flatcamGUI/ObjectUI.py:796 flatcamGUI/PreferencesUI.py:3291 -msgid "" -"Some drill bits (the larger ones) need to drill deeper\n" -"to create the desired exit hole diameter due of the tip shape.\n" -"The value here can compensate the Cut Z parameter." -msgstr "" -"Некоторые сверла (большие) нужно сверлить глубже\n" -"создать необходимый диаметр выходного отверстия за счет формы наконечника.\n" -"Значение здесь может компенсировать Cut Z параметра." - -#: flatcamGUI/ObjectUI.py:800 +#: flatcamGUI/ObjectUI.py:799 msgid "" "Toggle display of the drills for the current tool.\n" "This does not select the tools for G-code generation." @@ -7680,18 +8036,52 @@ msgstr "" "Переключение отображения сверл для текущего инструмента.\n" "При этом не выбираются инструменты для генерации G-кода." -#: flatcamGUI/ObjectUI.py:807 flatcamGUI/PreferencesUI.py:3069 -#: flatcamGUI/PreferencesUI.py:3947 -msgid "Create CNC Job" -msgstr "Создание программы для ЧПУ" - -#: flatcamGUI/ObjectUI.py:809 +#: flatcamGUI/ObjectUI.py:820 flatcamGUI/ObjectUI.py:1663 +#: flatcamTools/ToolNCC.py:334 flatcamTools/ToolPaint.py:317 msgid "" -"Create a CNC Job object\n" -"for this drill object." -msgstr "Создание G-Code для объекта сверловки." +"The data used for creating GCode.\n" +"Each tool store it's own set of such data." +msgstr "" +"Данные, используемые для создания кода.\n" +"Каждый инструмент хранит свой собственный набор таких данных." -#: flatcamGUI/ObjectUI.py:822 flatcamGUI/PreferencesUI.py:3084 +#: flatcamGUI/ObjectUI.py:846 flatcamGUI/PreferencesUI.py:3266 +msgid "" +"Operation type:\n" +"- Drilling -> will drill the drills/slots associated with this tool\n" +"- Milling -> will mill the drills/slots" +msgstr "" + +#: flatcamGUI/ObjectUI.py:852 flatcamGUI/PreferencesUI.py:3272 +msgid "Drilling" +msgstr "Сверление" + +#: flatcamGUI/ObjectUI.py:853 flatcamGUI/PreferencesUI.py:3273 +msgid "Milling" +msgstr "Фрезерование" + +#: flatcamGUI/ObjectUI.py:868 flatcamGUI/PreferencesUI.py:3282 +msgid "" +"Milling type:\n" +"- Drills -> will mill the drills associated with this tool\n" +"- Slots -> will mill the slots associated with this tool\n" +"- Both -> will mill both drills and mills or whatever is available" +msgstr "" + +#: flatcamGUI/ObjectUI.py:877 flatcamGUI/PreferencesUI.py:3291 +#: flatcamGUI/PreferencesUI.py:6343 flatcamTools/ToolFilm.py:258 +msgid "Both" +msgstr "Обе" + +#: flatcamGUI/ObjectUI.py:885 flatcamGUI/PreferencesUI.py:3298 +msgid "Milling Diameter" +msgstr "Диаметр фрезерования" + +#: flatcamGUI/ObjectUI.py:887 flatcamGUI/PreferencesUI.py:3300 +msgid "The diameter of the tool who will do the milling" +msgstr "Диаметр режущего инструмента" + +#: flatcamGUI/ObjectUI.py:901 flatcamGUI/PreferencesUI.py:3313 msgid "" "Drill depth (negative)\n" "below the copper surface." @@ -7699,7 +8089,33 @@ msgstr "" "Глубина сверления (отрицательная) \n" "ниже слоя меди." -#: flatcamGUI/ObjectUI.py:841 flatcamGUI/PreferencesUI.py:3102 +#: flatcamGUI/ObjectUI.py:920 flatcamGUI/ObjectUI.py:1722 +#: flatcamGUI/PreferencesUI.py:3331 flatcamGUI/PreferencesUI.py:4261 +#: flatcamGUI/PreferencesUI.py:5687 flatcamTools/ToolCutOut.py:160 +msgid "Multi-Depth" +msgstr "Мультипроход" + +#: flatcamGUI/ObjectUI.py:923 flatcamGUI/ObjectUI.py:1725 +#: flatcamGUI/PreferencesUI.py:3334 flatcamGUI/PreferencesUI.py:4264 +#: flatcamGUI/PreferencesUI.py:5690 flatcamTools/ToolCutOut.py:163 +msgid "" +"Use multiple passes to limit\n" +"the cut depth in each pass. Will\n" +"cut multiple times until Cut Z is\n" +"reached." +msgstr "" +"Используйте несколько проходов для ограничения\n" +"глубина реза в каждом проходе. Будет\n" +"сократить несколько раз, пока Cut Z не станет\n" +"достиг." + +#: flatcamGUI/ObjectUI.py:936 flatcamGUI/ObjectUI.py:1739 +#: flatcamGUI/PreferencesUI.py:3346 flatcamGUI/PreferencesUI.py:5702 +#: flatcamTools/ToolCutOut.py:177 +msgid "Depth of each pass (positive)." +msgstr "Глубина каждого прохода (положительный)." + +#: flatcamGUI/ObjectUI.py:947 flatcamGUI/PreferencesUI.py:3354 msgid "" "Tool height when travelling\n" "across the XY plane." @@ -7707,59 +8123,16 @@ msgstr "" "Отвод инструмента при холостом ходе\n" "по плоскости XY." -#: flatcamGUI/ObjectUI.py:858 flatcamGUI/ObjectUI.py:1478 -#: flatcamGUI/PreferencesUI.py:3117 flatcamGUI/PreferencesUI.py:4034 -msgid "Tool change" -msgstr "Смена инструмента" - -#: flatcamGUI/ObjectUI.py:860 flatcamGUI/PreferencesUI.py:3119 +#: flatcamGUI/ObjectUI.py:968 flatcamGUI/ObjectUI.py:1769 +#: flatcamGUI/PreferencesUI.py:4380 msgid "" -"Include tool-change sequence\n" -"in G-Code (Pause for tool change)." +"Cutting speed in the XY\n" +"plane in units per minute" msgstr "" -"Включает последовательность смены инструмента\n" -"в G-Code (Пауза для смены инструмента)." +"Скорость резания в плоскости XY\n" +"в единицах в минуту" -#: flatcamGUI/ObjectUI.py:866 flatcamGUI/ObjectUI.py:1471 -msgid "Tool change Z" -msgstr "Смена инструмента Z" - -#: flatcamGUI/ObjectUI.py:868 flatcamGUI/ObjectUI.py:1474 -#: flatcamGUI/PreferencesUI.py:3126 flatcamGUI/PreferencesUI.py:4047 -msgid "" -"Z-axis position (height) for\n" -"tool change." -msgstr "Отвод по оси Z для смены инструмента." - -#: flatcamGUI/ObjectUI.py:888 flatcamGUI/PreferencesUI.py:3311 -msgid "" -"Height of the tool just after start.\n" -"Delete the value if you don't need this feature." -msgstr "" -"Высота инструмента сразу после запуска.\n" -"Удалить значение если вам не нужна эта функция." - -#: flatcamGUI/ObjectUI.py:896 flatcamGUI/ObjectUI.py:1512 -#: flatcamGUI/PreferencesUI.py:3141 flatcamGUI/PreferencesUI.py:4066 -msgid "End move Z" -msgstr "Высота отвода Z" - -#: flatcamGUI/ObjectUI.py:898 flatcamGUI/ObjectUI.py:1514 -#: flatcamGUI/PreferencesUI.py:3143 flatcamGUI/PreferencesUI.py:4068 -msgid "" -"Height of the tool after\n" -"the last move at the end of the job." -msgstr "" -"Высота инструмента после\n" -"последнего прохода в конце задания." - -#: flatcamGUI/ObjectUI.py:915 flatcamGUI/ObjectUI.py:1545 -#: flatcamGUI/PreferencesUI.py:3158 flatcamGUI/PreferencesUI.py:4101 -#: flatcamGUI/PreferencesUI.py:6566 flatcamTools/ToolSolderPaste.py:264 -msgid "Feedrate Z" -msgstr "Скорость подачи Z" - -#: flatcamGUI/ObjectUI.py:917 flatcamGUI/PreferencesUI.py:3160 +#: flatcamGUI/ObjectUI.py:983 flatcamGUI/PreferencesUI.py:3427 msgid "" "Tool speed while drilling\n" "(in units per minute).\n" @@ -7771,12 +8144,12 @@ msgstr "" "Так называемая подача «Погружения».\n" "Используется для линейного перемещения G01." -#: flatcamGUI/ObjectUI.py:931 flatcamGUI/ObjectUI.py:1560 -#: flatcamGUI/PreferencesUI.py:3319 flatcamGUI/PreferencesUI.py:4210 +#: flatcamGUI/ObjectUI.py:998 flatcamGUI/ObjectUI.py:1796 +#: flatcamGUI/PreferencesUI.py:3597 flatcamGUI/PreferencesUI.py:4503 msgid "Feedrate Rapids" msgstr "Пороги скорости подачи" -#: flatcamGUI/ObjectUI.py:933 flatcamGUI/PreferencesUI.py:3321 +#: flatcamGUI/ObjectUI.py:1000 flatcamGUI/PreferencesUI.py:3599 msgid "" "Tool speed while drilling\n" "(in units per minute).\n" @@ -7790,12 +8163,26 @@ msgstr "" "Полезно только для Marlin,\n" "игнорировать для любых других случаев." -#: flatcamGUI/ObjectUI.py:951 flatcamGUI/ObjectUI.py:1603 -#: flatcamGUI/PreferencesUI.py:4117 -msgid "Spindle speed" -msgstr "Скорость вращения шпинделя" +#: flatcamGUI/ObjectUI.py:1020 flatcamGUI/ObjectUI.py:1816 +#: flatcamGUI/PreferencesUI.py:4521 +msgid "Re-cut" +msgstr "Перерезать" -#: flatcamGUI/ObjectUI.py:953 flatcamGUI/PreferencesUI.py:3175 +#: flatcamGUI/ObjectUI.py:1022 flatcamGUI/ObjectUI.py:1035 +#: flatcamGUI/ObjectUI.py:1818 flatcamGUI/ObjectUI.py:1830 +#: flatcamGUI/PreferencesUI.py:4523 flatcamGUI/PreferencesUI.py:4535 +msgid "" +"In order to remove possible\n" +"copper leftovers where first cut\n" +"meet with last cut, we generate an\n" +"extended cut over the first cut section." +msgstr "" +"Для того, чтобы удалить возможные остатки меди в тех местах,\n" +"где первый разрез встречается с последним,\n" +"мы генерируем расширенный разрез\n" +"над первым разрезом." + +#: flatcamGUI/ObjectUI.py:1050 flatcamGUI/PreferencesUI.py:3442 msgid "" "Speed of the spindle\n" "in RPM (optional)" @@ -7803,8 +8190,8 @@ msgstr "" "Скорость шпинделя\n" "в оборотах в минуту(опционально) ." -#: flatcamGUI/ObjectUI.py:965 flatcamGUI/ObjectUI.py:1622 -#: flatcamGUI/PreferencesUI.py:3187 flatcamGUI/PreferencesUI.py:4135 +#: flatcamGUI/ObjectUI.py:1065 flatcamGUI/ObjectUI.py:1858 +#: flatcamGUI/PreferencesUI.py:3456 flatcamGUI/PreferencesUI.py:4427 msgid "" "Pause to allow the spindle to reach its\n" "speed before cutting." @@ -7812,26 +8199,114 @@ msgstr "" "Задержка для набора оборотов шпинделя\n" "перед началом обработки." -#: flatcamGUI/ObjectUI.py:974 flatcamGUI/ObjectUI.py:1632 -#: flatcamGUI/PreferencesUI.py:3193 flatcamGUI/PreferencesUI.py:4140 +#: flatcamGUI/ObjectUI.py:1076 flatcamGUI/ObjectUI.py:1868 +#: flatcamGUI/PreferencesUI.py:3464 flatcamGUI/PreferencesUI.py:4432 msgid "Number of time units for spindle to dwell." msgstr "Количество единиц времени для остановки шпинделя." -#: flatcamGUI/ObjectUI.py:984 flatcamGUI/PreferencesUI.py:3206 -msgid "" -"The preprocessor JSON file that dictates\n" -"Gcode output." -msgstr "" -"JSON-файл постпроцессора, который влияет\n" -"на Gcode." +#: flatcamGUI/ObjectUI.py:1086 flatcamGUI/PreferencesUI.py:3563 +msgid "Offset Z" +msgstr "Смещение Z" -#: flatcamGUI/ObjectUI.py:993 flatcamGUI/ObjectUI.py:1652 -#: flatcamGUI/PreferencesUI.py:3335 flatcamGUI/PreferencesUI.py:4251 +#: flatcamGUI/ObjectUI.py:1088 flatcamGUI/PreferencesUI.py:3565 +msgid "" +"Some drill bits (the larger ones) need to drill deeper\n" +"to create the desired exit hole diameter due of the tip shape.\n" +"The value here can compensate the Cut Z parameter." +msgstr "" +"Некоторые сверла (большие) нужно сверлить глубже\n" +"создать необходимый диаметр выходного отверстия за счет формы наконечника.\n" +"Значение здесь может компенсировать Cut Z параметра." + +#: flatcamGUI/ObjectUI.py:1148 flatcamGUI/ObjectUI.py:1922 +#: flatcamTools/ToolNCC.py:492 flatcamTools/ToolPaint.py:423 +msgid "Apply parameters to all tools" +msgstr "Применить параметры ко всем инструментам" + +#: flatcamGUI/ObjectUI.py:1150 flatcamGUI/ObjectUI.py:1924 +#: flatcamTools/ToolNCC.py:494 flatcamTools/ToolPaint.py:425 +msgid "" +"The parameters in the current form will be applied\n" +"on all the tools from the Tool Table." +msgstr "" +"Параметры в текущей форме будут применены\n" +"для всех инструментов из таблицы инструментов." + +#: flatcamGUI/ObjectUI.py:1161 flatcamGUI/ObjectUI.py:1935 +#: flatcamTools/ToolNCC.py:505 flatcamTools/ToolPaint.py:436 +#, fuzzy +#| msgid "GCode Parameters" +msgid "Common Parameters" +msgstr "Параметры GCode" + +#: flatcamGUI/ObjectUI.py:1163 flatcamGUI/ObjectUI.py:1937 +#: flatcamTools/ToolNCC.py:507 flatcamTools/ToolPaint.py:438 +msgid "Parameters that are common for all tools." +msgstr "Параметры, общие для всех инструментов." + +#: flatcamGUI/ObjectUI.py:1168 flatcamGUI/ObjectUI.py:1942 +msgid "Tool change Z" +msgstr "Смена инструмента Z" + +#: flatcamGUI/ObjectUI.py:1170 flatcamGUI/PreferencesUI.py:3372 +msgid "" +"Include tool-change sequence\n" +"in G-Code (Pause for tool change)." +msgstr "" +"Включает последовательность смены инструмента\n" +"в G-Code (Пауза для смены инструмента)." + +#: flatcamGUI/ObjectUI.py:1177 flatcamGUI/ObjectUI.py:1953 +#: flatcamGUI/PreferencesUI.py:3380 flatcamGUI/PreferencesUI.py:4327 +msgid "" +"Z-axis position (height) for\n" +"tool change." +msgstr "Отвод по оси Z для смены инструмента." + +#: flatcamGUI/ObjectUI.py:1194 flatcamGUI/PreferencesUI.py:3588 +msgid "" +"Height of the tool just after start.\n" +"Delete the value if you don't need this feature." +msgstr "" +"Высота инструмента сразу после запуска.\n" +"Удалить значение если вам не нужна эта функция." + +#: flatcamGUI/ObjectUI.py:1203 flatcamGUI/ObjectUI.py:1981 +#: flatcamGUI/PreferencesUI.py:3396 flatcamGUI/PreferencesUI.py:4346 +msgid "End move Z" +msgstr "Высота отвода Z" + +#: flatcamGUI/ObjectUI.py:1205 flatcamGUI/ObjectUI.py:1983 +#: flatcamGUI/PreferencesUI.py:3398 flatcamGUI/PreferencesUI.py:4348 +msgid "" +"Height of the tool after\n" +"the last move at the end of the job." +msgstr "" +"Высота инструмента после\n" +"последнего прохода в конце задания." + +#: flatcamGUI/ObjectUI.py:1222 flatcamGUI/ObjectUI.py:2000 +#: flatcamGUI/PreferencesUI.py:3413 flatcamGUI/PreferencesUI.py:4366 +#, fuzzy +#| msgid "End move Z" +msgid "End move X,Y" +msgstr "Высота отвода Z" + +#: flatcamGUI/ObjectUI.py:1224 flatcamGUI/ObjectUI.py:2002 +#: flatcamGUI/PreferencesUI.py:3415 flatcamGUI/PreferencesUI.py:4368 +msgid "" +"End move X,Y position. In format (x,y).\n" +"If no value is entered then there is no move\n" +"on X,Y plane at the end of the job." +msgstr "" + +#: flatcamGUI/ObjectUI.py:1234 flatcamGUI/ObjectUI.py:1876 +#: flatcamGUI/PreferencesUI.py:3613 flatcamGUI/PreferencesUI.py:4544 msgid "Probe Z depth" msgstr "Глубина зондирования Z" -#: flatcamGUI/ObjectUI.py:995 flatcamGUI/ObjectUI.py:1654 -#: flatcamGUI/PreferencesUI.py:3337 flatcamGUI/PreferencesUI.py:4253 +#: flatcamGUI/ObjectUI.py:1236 flatcamGUI/ObjectUI.py:1878 +#: flatcamGUI/PreferencesUI.py:3615 flatcamGUI/PreferencesUI.py:4546 msgid "" "The maximum depth that the probe is allowed\n" "to probe. Negative value, in current units." @@ -7839,45 +8314,74 @@ msgstr "" "Максимальная глубина, допустимая для зонда.\n" "Отрицательное значение в текущих единицах." -#: flatcamGUI/ObjectUI.py:1009 flatcamGUI/ObjectUI.py:1669 -#: flatcamGUI/PreferencesUI.py:3348 flatcamGUI/PreferencesUI.py:4266 +#: flatcamGUI/ObjectUI.py:1252 flatcamGUI/ObjectUI.py:1893 +#: flatcamGUI/PreferencesUI.py:3626 flatcamGUI/PreferencesUI.py:4559 msgid "Feedrate Probe" msgstr "Датчик скорости подачи" -#: flatcamGUI/ObjectUI.py:1011 flatcamGUI/ObjectUI.py:1671 -#: flatcamGUI/PreferencesUI.py:3350 flatcamGUI/PreferencesUI.py:4268 +#: flatcamGUI/ObjectUI.py:1254 flatcamGUI/ObjectUI.py:1895 +#: flatcamGUI/PreferencesUI.py:3628 flatcamGUI/PreferencesUI.py:4561 msgid "The feedrate used while the probe is probing." msgstr "Скорость подачи, используемая во время зондирования." -#: flatcamGUI/ObjectUI.py:1037 flatcamGUI/PreferencesUI.py:3215 -msgid "Gcode" -msgstr "GCode" - -#: flatcamGUI/ObjectUI.py:1039 -msgid "" -"Choose what to use for GCode generation:\n" -"'Drills', 'Slots' or 'Both'.\n" -"When choosing 'Slots' or 'Both', slots will be\n" -"converted to a series of drills." +#: flatcamGUI/ObjectUI.py:1261 +msgid "e_fr_probe" msgstr "" -"Выбор, что использовать для генерации GCode:\n" -"\"Сверла\", \"Пазы\" или \"Оба\".\n" -"При выборе \"Пазы\" или \"Оба\", пазы будут\n" -"преобразованы в массив отверстий." -#: flatcamGUI/ObjectUI.py:1053 -msgid "Create Drills GCode" -msgstr "Создать GCode отверстий" +#: flatcamGUI/ObjectUI.py:1270 +msgid "Preprocessor E" +msgstr "Постпроцессор E" -#: flatcamGUI/ObjectUI.py:1055 -msgid "Generate the CNC Job." -msgstr "Создание программы для ЧПУ." +#: flatcamGUI/ObjectUI.py:1272 +msgid "" +"The preprocessor JSON file that dictates\n" +"Gcode output for Excellon Objects." +msgstr "" +"JSON-файл постпроцессора, который влияет\n" +"на Gcode для объектов Excellon." -#: flatcamGUI/ObjectUI.py:1066 flatcamGUI/PreferencesUI.py:3233 -msgid "Mill Holes" -msgstr "Фрезеровка отверстий" +#: flatcamGUI/ObjectUI.py:1282 +msgid "Preprocessor G" +msgstr "Постпроцессор G" -#: flatcamGUI/ObjectUI.py:1068 +#: flatcamGUI/ObjectUI.py:1284 +msgid "" +"The preprocessor JSON file that dictates\n" +"Gcode output for Geometry (Milling) Objects." +msgstr "" +"JSON-файл постпроцессора, который влияет\n" +"на Gcode для объектов геометрии (фрезерования)." + +#: flatcamGUI/ObjectUI.py:1308 flatcamGUI/ObjectUI.py:2026 +#, fuzzy +#| msgid "" +#| "Add at least one tool in the tool-table.\n" +#| "Click the header to select all, or Ctrl + LMB\n" +#| "for custom selection of tools." +msgid "" +"Add / Select at least one tool in the tool-table.\n" +"Click the # header to select all, or Ctrl + LMB\n" +"for custom selection of tools." +msgstr "" +"Добавьте хотя бы один инструмент в таблицу инструментов.\n" +"Щелкните заголовок, чтобы выбрать все, или Ctrl + ЛКМ\n" +"для выбора инструментов вручную." + +#: flatcamGUI/ObjectUI.py:1316 flatcamGUI/ObjectUI.py:2033 +msgid "Generate CNCJob object" +msgstr "Создать объект CNCJob" + +#: flatcamGUI/ObjectUI.py:1318 +msgid "" +"Generate the CNC Job.\n" +"If milling then an additional Geometry object will be created" +msgstr "" + +#: flatcamGUI/ObjectUI.py:1335 +msgid "Milling Geometry" +msgstr "Геометрия фрезерования" + +#: flatcamGUI/ObjectUI.py:1337 msgid "" "Create Geometry for milling holes.\n" "Select from the Tools Table above the hole dias to be\n" @@ -7887,20 +8391,16 @@ msgstr "" "отверстия, которые должны быть фрезерованы.\n" "Используйте столбец #, чтобы сделать выбор." -#: flatcamGUI/ObjectUI.py:1074 flatcamGUI/PreferencesUI.py:3239 -msgid "Drill Tool dia" -msgstr "Диаметр сверла" - -#: flatcamGUI/ObjectUI.py:1076 flatcamGUI/PreferencesUI.py:2027 -#: flatcamGUI/PreferencesUI.py:3241 +#: flatcamGUI/ObjectUI.py:1345 flatcamGUI/PreferencesUI.py:2207 +#: flatcamGUI/PreferencesUI.py:3514 msgid "Diameter of the cutting tool." msgstr "Диаметр режущего инструмента." -#: flatcamGUI/ObjectUI.py:1083 -msgid "Mill Drills Geo" -msgstr "Создать геометрию" +#: flatcamGUI/ObjectUI.py:1355 +msgid "Mill Drills" +msgstr "Фрезерование отверстий" -#: flatcamGUI/ObjectUI.py:1085 +#: flatcamGUI/ObjectUI.py:1357 msgid "" "Create the Geometry Object\n" "for milling DRILLS toolpaths." @@ -7908,23 +8408,11 @@ msgstr "" "Создание объекта Geometry \n" "для траектории фрезерования отверстий." -#: flatcamGUI/ObjectUI.py:1099 flatcamGUI/PreferencesUI.py:3250 -msgid "Slot Tool dia" -msgstr "Диаметр инструмента шлица" +#: flatcamGUI/ObjectUI.py:1375 +msgid "Mill Slots" +msgstr "Фрезерование пазов" -#: flatcamGUI/ObjectUI.py:1101 flatcamGUI/PreferencesUI.py:3252 -msgid "" -"Diameter of the cutting tool\n" -"when milling slots." -msgstr "" -"Диаметр режущего инструмента\n" -"при фрезеровании пазов." - -#: flatcamGUI/ObjectUI.py:1110 -msgid "Mill Slots Geo" -msgstr "Создать геометрию" - -#: flatcamGUI/ObjectUI.py:1112 +#: flatcamGUI/ObjectUI.py:1377 msgid "" "Create the Geometry Object\n" "for milling SLOTS toolpaths." @@ -7932,11 +8420,11 @@ msgstr "" "Создание объекта геометрии\n" "траекторий для инструмента фрезерования пазов." -#: flatcamGUI/ObjectUI.py:1152 flatcamTools/ToolCutOut.py:317 +#: flatcamGUI/ObjectUI.py:1419 flatcamTools/ToolCutOut.py:327 msgid "Geometry Object" msgstr "Объект Geometry" -#: flatcamGUI/ObjectUI.py:1186 +#: flatcamGUI/ObjectUI.py:1465 msgid "" "Tools in this Geometry object used for cutting.\n" "The 'Offset' entry will set an offset for the cut.\n" @@ -7965,23 +8453,23 @@ msgstr "" "показал пользовательский интерфейс записи форма имени Вольт-Совет диаметр и " "V-наконечник угол." -#: flatcamGUI/ObjectUI.py:1203 flatcamGUI/ObjectUI.py:1903 -#: flatcamGUI/PreferencesUI.py:4405 +#: flatcamGUI/ObjectUI.py:1482 flatcamGUI/ObjectUI.py:2231 +#: flatcamGUI/PreferencesUI.py:4698 msgid "Plot Object" msgstr "Рисовать объекты" -#: flatcamGUI/ObjectUI.py:1217 flatcamGUI/ObjectUI.py:1916 -#: flatcamGUI/ObjectUI.py:1926 flatcamGUI/PreferencesUI.py:7241 -#: flatcamTools/ToolCopperThieving.py:220 +#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244 +#: flatcamGUI/ObjectUI.py:2254 flatcamGUI/PreferencesUI.py:7747 +#: flatcamTools/ToolCopperThieving.py:222 msgid "Dia" msgstr "Диаметр" -#: flatcamGUI/ObjectUI.py:1217 flatcamGUI/ObjectUI.py:1916 -#: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:123 +#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244 +#: flatcamTools/ToolNCC.py:132 flatcamTools/ToolPaint.py:128 msgid "TT" msgstr "TT" -#: flatcamGUI/ObjectUI.py:1224 +#: flatcamGUI/ObjectUI.py:1502 msgid "" "This is the Tool Number.\n" "When ToolChange is checked, on toolchange event this value\n" @@ -7992,7 +8480,7 @@ msgstr "" "значение\n" "будет показано, как Т1, Т2 ... Теннесси" -#: flatcamGUI/ObjectUI.py:1235 +#: flatcamGUI/ObjectUI.py:1513 msgid "" "The value for the Offset can be:\n" "- Path -> There is no offset, the tool cut will be done through the geometry " @@ -8009,7 +8497,7 @@ msgstr "" "- Out (side) -> Резец инструмента будет следовать геометрической линии " "снаружи." -#: flatcamGUI/ObjectUI.py:1242 +#: flatcamGUI/ObjectUI.py:1520 msgid "" "The (Operation) Type has only informative value. Usually the UI form " "values \n" @@ -8032,7 +8520,7 @@ msgstr "" "Для изоляции нам нужна более низкая скорость подачи, так как она использует " "фрезерное долото с мелким наконечником." -#: flatcamGUI/ObjectUI.py:1251 +#: flatcamGUI/ObjectUI.py:1529 msgid "" "The Tool Type (TT) can be:\n" "- Circular with 1 ... 4 teeth -> it is informative only. Being circular the " @@ -8063,7 +8551,7 @@ msgstr "" "При выборе типа инструмента V-образная форма автоматически будет выбран тип " "операции как изоляция." -#: flatcamGUI/ObjectUI.py:1263 +#: flatcamGUI/ObjectUI.py:1541 msgid "" "Plot column. It is visible only for MultiGeo geometries, meaning geometries " "that holds the geometry\n" @@ -8081,7 +8569,7 @@ msgstr "" "отключить участок на холсте\n" "для соответствующего инструмента." -#: flatcamGUI/ObjectUI.py:1281 +#: flatcamGUI/ObjectUI.py:1559 msgid "" "The value to offset the cut when \n" "the Offset type selected is 'Offset'.\n" @@ -8093,7 +8581,13 @@ msgstr "" "Значение может быть положительным для \"снаружи\"\n" "вырезать и отрицательный для \"внутри\" вырезать." -#: flatcamGUI/ObjectUI.py:1306 +#: flatcamGUI/ObjectUI.py:1578 flatcamTools/ToolNCC.py:209 +#: flatcamTools/ToolNCC.py:921 flatcamTools/ToolPaint.py:192 +#: flatcamTools/ToolPaint.py:846 flatcamTools/ToolSolderPaste.py:559 +msgid "New Tool" +msgstr "Новый инструмент" + +#: flatcamGUI/ObjectUI.py:1595 msgid "" "Add a new tool to the Tool Table\n" "with the specified diameter." @@ -8101,11 +8595,16 @@ msgstr "" "Добавление нового инструмента в таблицу инструментов\n" "с диаметром, указанным выше." -#: flatcamGUI/ObjectUI.py:1314 -msgid "Add Tool from DataBase" +#: flatcamGUI/ObjectUI.py:1600 flatcamTools/ToolNCC.py:300 +#: flatcamTools/ToolNCC.py:634 flatcamTools/ToolPaint.py:283 +#: flatcamTools/ToolPaint.py:676 +#, fuzzy +#| msgid "Add from Tool DB" +msgid "Add from DB" msgstr "Добавить инструмент из БД" -#: flatcamGUI/ObjectUI.py:1316 +#: flatcamGUI/ObjectUI.py:1602 flatcamTools/ToolNCC.py:302 +#: flatcamTools/ToolPaint.py:285 msgid "" "Add a new tool to the Tool Table\n" "from the Tool DataBase." @@ -8113,7 +8612,7 @@ msgstr "" "Добавление нового инструмента в таблицу инструментов\n" "из БД." -#: flatcamGUI/ObjectUI.py:1326 +#: flatcamGUI/ObjectUI.py:1617 msgid "" "Copy a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -8121,7 +8620,7 @@ msgstr "" "Копирование выбранных инструментов в таблице инструментов\n" "сначала выберите строку в таблице инструментов." -#: flatcamGUI/ObjectUI.py:1332 +#: flatcamGUI/ObjectUI.py:1623 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -8129,65 +8628,13 @@ msgstr "" "Удаление выбранных инструментов в таблице инструментов\n" "сначала выберите строку в таблице инструментов." -#: flatcamGUI/ObjectUI.py:1356 -msgid "" -"The data used for creating GCode.\n" -"Each tool store it's own set of such data." -msgstr "" -"Данные, используемые для создания кода.\n" -"Каждый инструмент хранит свой собственный набор таких данных." - -#: flatcamGUI/ObjectUI.py:1426 flatcamGUI/PreferencesUI.py:3981 -#: flatcamGUI/PreferencesUI.py:5348 flatcamTools/ToolCutOut.py:153 -msgid "Multi-Depth" -msgstr "Мультипроход" - -#: flatcamGUI/ObjectUI.py:1429 flatcamGUI/PreferencesUI.py:3984 -#: flatcamGUI/PreferencesUI.py:5351 flatcamTools/ToolCutOut.py:156 -msgid "" -"Use multiple passes to limit\n" -"the cut depth in each pass. Will\n" -"cut multiple times until Cut Z is\n" -"reached." -msgstr "" -"Используйте несколько проходов для ограничения\n" -"глубина реза в каждом проходе. Будет\n" -"сократить несколько раз, пока Cut Z не станет\n" -"достиг." - -#: flatcamGUI/ObjectUI.py:1443 flatcamGUI/PreferencesUI.py:5363 -#: flatcamTools/ToolCutOut.py:170 -msgid "Depth of each pass (positive)." -msgstr "Глубина каждого прохода (положительный)." - -#: flatcamGUI/ObjectUI.py:1454 flatcamGUI/PreferencesUI.py:4016 +#: flatcamGUI/ObjectUI.py:1750 flatcamGUI/PreferencesUI.py:4296 msgid "" "Height of the tool when\n" "moving without cutting." msgstr "Высота отвода инструмента при холостом ходе." -#: flatcamGUI/ObjectUI.py:1481 flatcamGUI/PreferencesUI.py:4037 -msgid "" -"Include tool-change sequence\n" -"in the Machine Code (Pause for tool change)." -msgstr "" -"Включить последовательность смены инструмента\n" -"в машинном коде (пауза для смены инструмента)." - -#: flatcamGUI/ObjectUI.py:1531 flatcamGUI/PreferencesUI.py:4086 -#: flatcamGUI/PreferencesUI.py:6553 flatcamTools/ToolSolderPaste.py:252 -msgid "Feedrate X-Y" -msgstr "Скорость подачи X-Y" - -#: flatcamGUI/ObjectUI.py:1533 flatcamGUI/PreferencesUI.py:4088 -msgid "" -"Cutting speed in the XY\n" -"plane in units per minute" -msgstr "" -"Скорость резания в плоскости XY\n" -"в единицах в минуту" - -#: flatcamGUI/ObjectUI.py:1547 flatcamGUI/PreferencesUI.py:4103 +#: flatcamGUI/ObjectUI.py:1783 flatcamGUI/PreferencesUI.py:4395 msgid "" "Cutting speed in the XY\n" "plane in units per minute.\n" @@ -8197,7 +8644,7 @@ msgstr "" "самолет в единицах в минуту.\n" "Это называется также Плунге." -#: flatcamGUI/ObjectUI.py:1562 flatcamGUI/PreferencesUI.py:4212 +#: flatcamGUI/ObjectUI.py:1798 flatcamGUI/PreferencesUI.py:4505 msgid "" "Cutting speed in the XY plane\n" "(in units per minute).\n" @@ -8211,24 +8658,7 @@ msgstr "" "Это полезно только для Марлина,\n" "игнорировать для любых других случаев." -#: flatcamGUI/ObjectUI.py:1580 flatcamGUI/PreferencesUI.py:4228 -msgid "Re-cut" -msgstr "Перерезать" - -#: flatcamGUI/ObjectUI.py:1582 flatcamGUI/ObjectUI.py:1594 -#: flatcamGUI/PreferencesUI.py:4230 flatcamGUI/PreferencesUI.py:4242 -msgid "" -"In order to remove possible\n" -"copper leftovers where first cut\n" -"meet with last cut, we generate an\n" -"extended cut over the first cut section." -msgstr "" -"Для того, чтобы удалить возможные остатки меди в тех местах,\n" -"где первый разрез встречается с последним,\n" -"мы генерируем расширенный разрез\n" -"над первым разрезом." - -#: flatcamGUI/ObjectUI.py:1606 flatcamGUI/PreferencesUI.py:4120 +#: flatcamGUI/ObjectUI.py:1842 flatcamGUI/PreferencesUI.py:4412 msgid "" "Speed of the spindle in RPM (optional).\n" "If LASER preprocessor is used,\n" @@ -8238,7 +8668,15 @@ msgstr "" "Если используется лазерный постпроцессор,\n" "это значение - мощность лазера." -#: flatcamGUI/ObjectUI.py:1642 flatcamGUI/PreferencesUI.py:4157 +#: flatcamGUI/ObjectUI.py:1945 flatcamGUI/PreferencesUI.py:4317 +msgid "" +"Include tool-change sequence\n" +"in the Machine Code (Pause for tool change)." +msgstr "" +"Включить последовательность смены инструмента\n" +"в машинном коде (пауза для смены инструмента)." + +#: flatcamGUI/ObjectUI.py:2014 flatcamGUI/PreferencesUI.py:4449 msgid "" "The Preprocessor file that dictates\n" "the Machine Code (like GCode, RML, HPGL) output." @@ -8246,41 +8684,15 @@ msgstr "" "Файл постпроцессора, который диктует\n" "вывод машинного кода (например, кода, RML, HPGL)." -#: flatcamGUI/ObjectUI.py:1689 -msgid "Apply parameters to all tools" -msgstr "Применить параметры ко всем инструментам" - -#: flatcamGUI/ObjectUI.py:1691 -msgid "" -"The parameters in the current form will be applied\n" -"on all the tools from the Tool Table." -msgstr "" -"Параметры в текущей форме будут применены\n" -"для всех инструментов из таблицы инструментов." - -#: flatcamGUI/ObjectUI.py:1700 -msgid "" -"Add at least one tool in the tool-table.\n" -"Click the header to select all, or Ctrl + LMB\n" -"for custom selection of tools." -msgstr "" -"Добавьте хотя бы один инструмент в таблицу инструментов.\n" -"Щелкните заголовок, чтобы выбрать все, или Ctrl + ЛКМ\n" -"для выбора инструментов вручную." - -#: flatcamGUI/ObjectUI.py:1707 -msgid "Generate CNCJob object" -msgstr "Создать объект CNCJob" - -#: flatcamGUI/ObjectUI.py:1709 +#: flatcamGUI/ObjectUI.py:2035 msgid "Generate the CNC Job object." msgstr "Будет создан объект программы для ЧПУ." -#: flatcamGUI/ObjectUI.py:1726 +#: flatcamGUI/ObjectUI.py:2052 msgid "Launch Paint Tool in Tools Tab." msgstr "Запускает инструмент рисования во вкладке Инструменты." -#: flatcamGUI/ObjectUI.py:1734 flatcamGUI/PreferencesUI.py:5524 +#: flatcamGUI/ObjectUI.py:2060 flatcamGUI/PreferencesUI.py:5874 msgid "" "Creates tool paths to cover the\n" "whole area of a polygon (remove\n" @@ -8291,15 +8703,15 @@ msgstr "" "всей площади полигона(удаляется вся медь).\n" "Будет предложено нажать на нужный полигон." -#: flatcamGUI/ObjectUI.py:1786 +#: flatcamGUI/ObjectUI.py:2115 msgid "CNC Job Object" msgstr "Объект программы для ЧПУ" -#: flatcamGUI/ObjectUI.py:1798 flatcamGUI/PreferencesUI.py:4410 +#: flatcamGUI/ObjectUI.py:2126 flatcamGUI/PreferencesUI.py:4703 msgid "Plot kind" msgstr "Отрисовка участка" -#: flatcamGUI/ObjectUI.py:1801 flatcamGUI/PreferencesUI.py:4412 +#: flatcamGUI/ObjectUI.py:2129 flatcamGUI/PreferencesUI.py:4705 msgid "" "This selects the kind of geometries on the canvas to plot.\n" "Those can be either of type 'Travel' which means the moves\n" @@ -8311,15 +8723,15 @@ msgstr "" "над заготовкой или она может быть типа \"Cut\",\n" "что означает ходы, которые врезаются в материал." -#: flatcamGUI/ObjectUI.py:1810 flatcamGUI/PreferencesUI.py:4420 +#: flatcamGUI/ObjectUI.py:2138 flatcamGUI/PreferencesUI.py:4713 msgid "Travel" msgstr "Траектория" -#: flatcamGUI/ObjectUI.py:1814 flatcamGUI/PreferencesUI.py:4429 +#: flatcamGUI/ObjectUI.py:2142 flatcamGUI/PreferencesUI.py:4722 msgid "Display Annotation" msgstr "Показывать примечания" -#: flatcamGUI/ObjectUI.py:1816 flatcamGUI/PreferencesUI.py:4431 +#: flatcamGUI/ObjectUI.py:2144 flatcamGUI/PreferencesUI.py:4724 msgid "" "This selects if to display text annotation on the plot.\n" "When checked it will display numbers in order for each end\n" @@ -8330,11 +8742,11 @@ msgstr "" "порядке\n" "траектории движения." -#: flatcamGUI/ObjectUI.py:1831 +#: flatcamGUI/ObjectUI.py:2159 msgid "Travelled dist." msgstr "Пройденное расстояние" -#: flatcamGUI/ObjectUI.py:1833 flatcamGUI/ObjectUI.py:1838 +#: flatcamGUI/ObjectUI.py:2161 flatcamGUI/ObjectUI.py:2166 msgid "" "This is the total travelled distance on X-Y plane.\n" "In current units." @@ -8342,11 +8754,11 @@ msgstr "" "Это общее пройденное расстояние на X-Y плоскости.\n" "В текущих единицах измерения." -#: flatcamGUI/ObjectUI.py:1843 +#: flatcamGUI/ObjectUI.py:2171 msgid "Estimated time" msgstr "Расчетное время" -#: flatcamGUI/ObjectUI.py:1845 flatcamGUI/ObjectUI.py:1850 +#: flatcamGUI/ObjectUI.py:2173 flatcamGUI/ObjectUI.py:2178 msgid "" "This is the estimated time to do the routing/drilling,\n" "without the time spent in ToolChange events." @@ -8354,11 +8766,11 @@ msgstr "" "Это расчетное время для выполнения маршрутизации/бурения,\n" "без времени, затраченного на события смены инструмента." -#: flatcamGUI/ObjectUI.py:1885 +#: flatcamGUI/ObjectUI.py:2213 msgid "CNC Tools Table" msgstr "Таблица инструментов CNC" -#: flatcamGUI/ObjectUI.py:1888 +#: flatcamGUI/ObjectUI.py:2216 msgid "" "Tools in this CNCJob object used for cutting.\n" "The tool diameter is used for plotting on canvas.\n" @@ -8380,24 +8792,24 @@ msgstr "" "\"Тип инструмента\" (TT) может быть круговым с 1 до 4 зубами (C1..C4),\n" "шарик (B), или V-образный(V)." -#: flatcamGUI/ObjectUI.py:1916 flatcamGUI/ObjectUI.py:1927 +#: flatcamGUI/ObjectUI.py:2244 flatcamGUI/ObjectUI.py:2255 msgid "P" msgstr "P" -#: flatcamGUI/ObjectUI.py:1937 +#: flatcamGUI/ObjectUI.py:2265 msgid "Update Plot" msgstr "Обновить участок" -#: flatcamGUI/ObjectUI.py:1939 +#: flatcamGUI/ObjectUI.py:2267 msgid "Update the plot." msgstr "Обновление участка." -#: flatcamGUI/ObjectUI.py:1946 flatcamGUI/PreferencesUI.py:4827 +#: flatcamGUI/ObjectUI.py:2274 flatcamGUI/PreferencesUI.py:5120 msgid "Export CNC Code" msgstr "Экспорт CNC Code" -#: flatcamGUI/ObjectUI.py:1948 flatcamGUI/PreferencesUI.py:4768 -#: flatcamGUI/PreferencesUI.py:4829 +#: flatcamGUI/ObjectUI.py:2276 flatcamGUI/PreferencesUI.py:5061 +#: flatcamGUI/PreferencesUI.py:5122 msgid "" "Export and save G-Code to\n" "make this object to a file." @@ -8406,12 +8818,12 @@ msgstr "" "для сохранения\n" "этого объекта в файл." -#: flatcamGUI/ObjectUI.py:1954 +#: flatcamGUI/ObjectUI.py:2282 msgid "Prepend to CNC Code" msgstr "Добавить в начало CNC Code" -#: flatcamGUI/ObjectUI.py:1956 flatcamGUI/ObjectUI.py:1963 -#: flatcamGUI/PreferencesUI.py:4784 +#: flatcamGUI/ObjectUI.py:2284 flatcamGUI/ObjectUI.py:2291 +#: flatcamGUI/PreferencesUI.py:5077 msgid "" "Type here any G-Code commands you would\n" "like to add at the beginning of the G-Code file." @@ -8419,12 +8831,12 @@ msgstr "" "Введите здесь любые команды G-Code, которые вам\n" "хотелось бы добавить в начале файла G-Code." -#: flatcamGUI/ObjectUI.py:1969 +#: flatcamGUI/ObjectUI.py:2297 msgid "Append to CNC Code" msgstr "Дописать в конец CNC Code" -#: flatcamGUI/ObjectUI.py:1971 flatcamGUI/ObjectUI.py:1979 -#: flatcamGUI/PreferencesUI.py:4800 +#: flatcamGUI/ObjectUI.py:2299 flatcamGUI/ObjectUI.py:2307 +#: flatcamGUI/PreferencesUI.py:5093 msgid "" "Type here any G-Code commands you would\n" "like to append to the generated file.\n" @@ -8434,11 +8846,11 @@ msgstr "" "хотелось бы добавить к созданному файлу.\n" "например: M2 (конец программы)" -#: flatcamGUI/ObjectUI.py:1993 flatcamGUI/PreferencesUI.py:4835 +#: flatcamGUI/ObjectUI.py:2321 flatcamGUI/PreferencesUI.py:5128 msgid "Toolchange G-Code" msgstr "G-Code смены инструмента" -#: flatcamGUI/ObjectUI.py:1996 flatcamGUI/PreferencesUI.py:4838 +#: flatcamGUI/ObjectUI.py:2324 flatcamGUI/PreferencesUI.py:5131 msgid "" "Type here any G-Code commands you would\n" "like to be executed when Toolchange event is encountered.\n" @@ -8460,7 +8872,7 @@ msgstr "" "и иметь \"toolchange_custom\" в имени, и будет построено\n" "используя в качестве шаблона файл постпроцессора \"Tool change Custom\"." -#: flatcamGUI/ObjectUI.py:2011 +#: flatcamGUI/ObjectUI.py:2339 msgid "" "Type here any G-Code commands you would\n" "like to be executed when Toolchange event is encountered.\n" @@ -8478,11 +8890,11 @@ msgstr "" "ВНИМАНИЕ: его можно использовать только с файлом препроцессора\n" "в названии которого есть toolchange_custom." -#: flatcamGUI/ObjectUI.py:2026 flatcamGUI/PreferencesUI.py:4877 +#: flatcamGUI/ObjectUI.py:2354 flatcamGUI/PreferencesUI.py:5170 msgid "Use Toolchange Macro" msgstr "Использовать макросы смены инструмента" -#: flatcamGUI/ObjectUI.py:2028 flatcamGUI/PreferencesUI.py:4879 +#: flatcamGUI/ObjectUI.py:2356 flatcamGUI/PreferencesUI.py:5172 msgid "" "Check this box if you want to use\n" "a Custom Toolchange GCode (macro)." @@ -8490,7 +8902,7 @@ msgstr "" "Установите этот флажок, если хотите использовать\n" "пользовательский GCode смены инструментов (макрос)." -#: flatcamGUI/ObjectUI.py:2036 flatcamGUI/PreferencesUI.py:4891 +#: flatcamGUI/ObjectUI.py:2364 flatcamGUI/PreferencesUI.py:5184 msgid "" "A list of the FlatCAM variables that can be used\n" "in the Toolchange event.\n" @@ -8500,85 +8912,87 @@ msgstr "" "при смене инструмента.\n" "Они должны быть окружены '%' символом" -#: flatcamGUI/ObjectUI.py:2043 flatcamGUI/PreferencesUI.py:2447 -#: flatcamGUI/PreferencesUI.py:3555 flatcamGUI/PreferencesUI.py:4347 -#: flatcamGUI/PreferencesUI.py:4898 flatcamGUI/PreferencesUI.py:5017 -#: flatcamGUI/PreferencesUI.py:5301 flatcamGUI/PreferencesUI.py:5458 -#: flatcamGUI/PreferencesUI.py:5676 flatcamGUI/PreferencesUI.py:5973 -#: flatcamGUI/PreferencesUI.py:6224 flatcamGUI/PreferencesUI.py:6438 -#: flatcamGUI/PreferencesUI.py:6663 flatcamGUI/PreferencesUI.py:6685 -#: flatcamGUI/PreferencesUI.py:6909 flatcamGUI/PreferencesUI.py:6946 -#: flatcamGUI/PreferencesUI.py:7140 flatcamGUI/PreferencesUI.py:7394 -#: flatcamGUI/PreferencesUI.py:7510 flatcamTools/ToolCopperThieving.py:89 -#: flatcamTools/ToolFiducials.py:149 flatcamTools/ToolNonCopperClear.py:315 +#: flatcamGUI/ObjectUI.py:2371 flatcamGUI/PreferencesUI.py:2627 +#: flatcamGUI/PreferencesUI.py:3833 flatcamGUI/PreferencesUI.py:4640 +#: flatcamGUI/PreferencesUI.py:5191 flatcamGUI/PreferencesUI.py:5310 +#: flatcamGUI/PreferencesUI.py:5640 flatcamGUI/PreferencesUI.py:5797 +#: flatcamGUI/PreferencesUI.py:6164 flatcamGUI/PreferencesUI.py:6461 +#: flatcamGUI/PreferencesUI.py:6711 flatcamGUI/PreferencesUI.py:6942 +#: flatcamGUI/PreferencesUI.py:7169 flatcamGUI/PreferencesUI.py:7191 +#: flatcamGUI/PreferencesUI.py:7415 flatcamGUI/PreferencesUI.py:7452 +#: flatcamGUI/PreferencesUI.py:7646 flatcamGUI/PreferencesUI.py:7900 +#: flatcamGUI/PreferencesUI.py:8016 flatcamGUI/PreferencesUI.py:8135 +#: flatcamGUI/PreferencesUI.py:8347 flatcamGUI/PreferencesUI.py:8556 +#: flatcamTools/ToolCopperThieving.py:90 flatcamTools/ToolFiducials.py:149 +#: flatcamTools/ToolInvertGerber.py:82 msgid "Parameters" msgstr "Параметры" -#: flatcamGUI/ObjectUI.py:2046 flatcamGUI/PreferencesUI.py:4903 +#: flatcamGUI/ObjectUI.py:2374 flatcamGUI/PreferencesUI.py:5196 msgid "FlatCAM CNC parameters" msgstr "Параметры FlatCAM CNC" -#: flatcamGUI/ObjectUI.py:2047 flatcamGUI/PreferencesUI.py:4908 +#: flatcamGUI/ObjectUI.py:2375 flatcamGUI/PreferencesUI.py:5201 msgid "tool number" msgstr "номер инструмента" -#: flatcamGUI/ObjectUI.py:2048 flatcamGUI/PreferencesUI.py:4909 +#: flatcamGUI/ObjectUI.py:2376 flatcamGUI/PreferencesUI.py:5202 msgid "tool diameter" msgstr "диаметр инструмента" -#: flatcamGUI/ObjectUI.py:2049 flatcamGUI/PreferencesUI.py:4910 +#: flatcamGUI/ObjectUI.py:2377 flatcamGUI/PreferencesUI.py:5203 msgid "for Excellon, total number of drills" msgstr "для Excellon, общее количество сверл" -#: flatcamGUI/ObjectUI.py:2051 flatcamGUI/PreferencesUI.py:4912 +#: flatcamGUI/ObjectUI.py:2379 flatcamGUI/PreferencesUI.py:5205 msgid "X coord for Toolchange" msgstr "Координата X для смены инструмента" -#: flatcamGUI/ObjectUI.py:2052 flatcamGUI/PreferencesUI.py:4913 +#: flatcamGUI/ObjectUI.py:2380 flatcamGUI/PreferencesUI.py:5206 msgid "Y coord for Toolchange" msgstr "Координата Y для смены инструмента" -#: flatcamGUI/ObjectUI.py:2053 flatcamGUI/PreferencesUI.py:4915 +#: flatcamGUI/ObjectUI.py:2381 flatcamGUI/PreferencesUI.py:5208 msgid "Z coord for Toolchange" msgstr "Координата Z для смены инструмента" -#: flatcamGUI/ObjectUI.py:2054 +#: flatcamGUI/ObjectUI.py:2382 msgid "depth where to cut" msgstr "глубина резания" -#: flatcamGUI/ObjectUI.py:2055 +#: flatcamGUI/ObjectUI.py:2383 msgid "height where to travel" msgstr "высота перемещения" -#: flatcamGUI/ObjectUI.py:2056 flatcamGUI/PreferencesUI.py:4918 +#: flatcamGUI/ObjectUI.py:2384 flatcamGUI/PreferencesUI.py:5211 msgid "the step value for multidepth cut" msgstr "значение шага для мультипроходного разреза" -#: flatcamGUI/ObjectUI.py:2058 flatcamGUI/PreferencesUI.py:4920 +#: flatcamGUI/ObjectUI.py:2386 flatcamGUI/PreferencesUI.py:5213 msgid "the value for the spindle speed" msgstr "значение скорости вращения шпинделя" -#: flatcamGUI/ObjectUI.py:2060 +#: flatcamGUI/ObjectUI.py:2388 msgid "time to dwell to allow the spindle to reach it's set RPM" msgstr "" "время, чтобы остановиться, чтобы позволить шпинделю достичь его установлен " "об / мин" -#: flatcamGUI/ObjectUI.py:2076 +#: flatcamGUI/ObjectUI.py:2404 msgid "View CNC Code" msgstr "Просмотр CNC Code" -#: flatcamGUI/ObjectUI.py:2078 +#: flatcamGUI/ObjectUI.py:2406 msgid "" "Opens TAB to view/modify/print G-Code\n" "file." msgstr "Открывает вкладку для просмотра/изменения/печати файла G-Code." -#: flatcamGUI/ObjectUI.py:2083 +#: flatcamGUI/ObjectUI.py:2411 msgid "Save CNC Code" msgstr "Сохранить CNC Code" -#: flatcamGUI/ObjectUI.py:2085 +#: flatcamGUI/ObjectUI.py:2413 msgid "" "Opens dialog to save G-Code\n" "file." @@ -8586,83 +9000,79 @@ msgstr "" "Открывает диалоговое окно для сохранения\n" "файла G-Code." -#: flatcamGUI/ObjectUI.py:2116 +#: flatcamGUI/ObjectUI.py:2447 msgid "Script Object" msgstr "Объект сценария" -#: flatcamGUI/ObjectUI.py:2138 flatcamGUI/ObjectUI.py:2211 +#: flatcamGUI/ObjectUI.py:2467 flatcamGUI/ObjectUI.py:2541 msgid "Auto Completer" msgstr "Автозаполнение" -#: flatcamGUI/ObjectUI.py:2140 +#: flatcamGUI/ObjectUI.py:2469 msgid "This selects if the auto completer is enabled in the Script Editor." msgstr "" "Этот параметр выбирает, включено ли автозаполнение в редакторе сценариев." -#: flatcamGUI/ObjectUI.py:2182 +#: flatcamGUI/ObjectUI.py:2514 msgid "Document Object" msgstr "Объект Document" -#: flatcamGUI/ObjectUI.py:2213 +#: flatcamGUI/ObjectUI.py:2543 msgid "This selects if the auto completer is enabled in the Document Editor." msgstr "" "Этот параметр выбирает, включено ли автозаполнение в редакторе Document." -#: flatcamGUI/ObjectUI.py:2231 +#: flatcamGUI/ObjectUI.py:2561 msgid "Font Type" msgstr "Тип шрифта" -#: flatcamGUI/ObjectUI.py:2248 flatcamGUI/PreferencesUI.py:1103 +#: flatcamGUI/ObjectUI.py:2578 flatcamGUI/PreferencesUI.py:1278 msgid "Font Size" msgstr "Размер шрифта" -#: flatcamGUI/ObjectUI.py:2284 +#: flatcamGUI/ObjectUI.py:2614 msgid "Alignment" msgstr "Выравнивание" -#: flatcamGUI/ObjectUI.py:2289 +#: flatcamGUI/ObjectUI.py:2619 msgid "Align Left" msgstr "Выравнивание по левому краю" -#: flatcamGUI/ObjectUI.py:2294 -msgid "Center" -msgstr "Центр" - -#: flatcamGUI/ObjectUI.py:2299 +#: flatcamGUI/ObjectUI.py:2629 msgid "Align Right" msgstr "Выравнивание по правому краю" -#: flatcamGUI/ObjectUI.py:2304 +#: flatcamGUI/ObjectUI.py:2634 msgid "Justify" msgstr "Выравнивание по ширине" -#: flatcamGUI/ObjectUI.py:2311 +#: flatcamGUI/ObjectUI.py:2641 msgid "Font Color" msgstr "Цвет шрифта" -#: flatcamGUI/ObjectUI.py:2313 +#: flatcamGUI/ObjectUI.py:2643 msgid "Set the font color for the selected text" msgstr "Устанавливает цвет шрифта для выделенного текста" -#: flatcamGUI/ObjectUI.py:2327 +#: flatcamGUI/ObjectUI.py:2657 msgid "Selection Color" msgstr "Цвет выделения" -#: flatcamGUI/ObjectUI.py:2329 +#: flatcamGUI/ObjectUI.py:2659 msgid "Set the selection color when doing text selection." msgstr "Установка цвета выделения при выделения текста." -#: flatcamGUI/ObjectUI.py:2343 +#: flatcamGUI/ObjectUI.py:2673 msgid "Tab Size" msgstr "Размер вкладки" -#: flatcamGUI/ObjectUI.py:2345 +#: flatcamGUI/ObjectUI.py:2675 msgid "Set the tab size. In pixels. Default value is 80 pixels." msgstr "" "Установка размера вкладки. В пикселях. Значение по умолчанию составляет 80 " "пикселей." -#: flatcamGUI/PlotCanvasLegacy.py:1254 +#: flatcamGUI/PlotCanvasLegacy.py:1301 msgid "" "Could not annotate due of a difference between the number of text elements " "and the number of text positions." @@ -8670,31 +9080,33 @@ msgstr "" "Не удалось создать примечания из-за разницы между количеством текстовых " "элементов и количеством текстовых позиций." -#: flatcamGUI/PreferencesUI.py:324 +#: flatcamGUI/PreferencesUI.py:343 msgid "GUI Preferences" msgstr "Параметры интерфейса" -#: flatcamGUI/PreferencesUI.py:334 +#: flatcamGUI/PreferencesUI.py:353 msgid "Theme" msgstr "Тема" -#: flatcamGUI/PreferencesUI.py:336 -msgid "Select a theme for FlatCAM." +#: flatcamGUI/PreferencesUI.py:355 +msgid "" +"Select a theme for FlatCAM.\n" +"It will theme the plot area." msgstr "Выбор темы для FlatCAM." -#: flatcamGUI/PreferencesUI.py:340 +#: flatcamGUI/PreferencesUI.py:360 msgid "Light" msgstr "Светлая" -#: flatcamGUI/PreferencesUI.py:341 +#: flatcamGUI/PreferencesUI.py:361 msgid "Dark" msgstr "Тёмная" -#: flatcamGUI/PreferencesUI.py:348 +#: flatcamGUI/PreferencesUI.py:368 msgid "Use Gray Icons" msgstr "Использовать серые иконки" -#: flatcamGUI/PreferencesUI.py:350 +#: flatcamGUI/PreferencesUI.py:370 msgid "" "Check this box to use a set of icons with\n" "a lighter (gray) color. To be used when a\n" @@ -8704,23 +9116,24 @@ msgstr "" "более светлого (серого) цвета. Используется при применении\n" "полной тёмной темы." -#: flatcamGUI/PreferencesUI.py:356 +#: flatcamGUI/PreferencesUI.py:376 msgid "Apply Theme" msgstr "Применить тему" -#: flatcamGUI/PreferencesUI.py:358 +#: flatcamGUI/PreferencesUI.py:378 msgid "" "Select a theme for FlatCAM.\n" +"It will theme the plot area.\n" "The application will restart after change." msgstr "" "Выбор темы FlatCAM.\n" "Она будет применена при следующем запуске приложения." -#: flatcamGUI/PreferencesUI.py:369 +#: flatcamGUI/PreferencesUI.py:390 msgid "Layout" msgstr "Макет" -#: flatcamGUI/PreferencesUI.py:371 +#: flatcamGUI/PreferencesUI.py:392 msgid "" "Select an layout for FlatCAM.\n" "It is applied immediately." @@ -8728,11 +9141,11 @@ msgstr "" "Выберите макет для FlatCAM.\n" "Применяется немедленно." -#: flatcamGUI/PreferencesUI.py:390 +#: flatcamGUI/PreferencesUI.py:412 msgid "Style" msgstr "Стиль" -#: flatcamGUI/PreferencesUI.py:392 +#: flatcamGUI/PreferencesUI.py:414 msgid "" "Select an style for FlatCAM.\n" "It will be applied at the next app start." @@ -8740,11 +9153,11 @@ msgstr "" "Выберите стиль для FlatCAM.\n" "Он будет применен при следующем запуске приложения." -#: flatcamGUI/PreferencesUI.py:406 +#: flatcamGUI/PreferencesUI.py:428 msgid "Activate HDPI Support" msgstr "Поддержка HDPI" -#: flatcamGUI/PreferencesUI.py:408 +#: flatcamGUI/PreferencesUI.py:430 msgid "" "Enable High DPI support for FlatCAM.\n" "It will be applied at the next app start." @@ -8752,11 +9165,11 @@ msgstr "" "Включает поддержку высокого разрешения для FlatCAM.\n" "Требуется перезапуск приложения." -#: flatcamGUI/PreferencesUI.py:422 +#: flatcamGUI/PreferencesUI.py:444 msgid "Display Hover Shape" msgstr "Показать форму наведения" -#: flatcamGUI/PreferencesUI.py:424 +#: flatcamGUI/PreferencesUI.py:446 msgid "" "Enable display of a hover shape for FlatCAM objects.\n" "It is displayed whenever the mouse cursor is hovering\n" @@ -8766,11 +9179,11 @@ msgstr "" "Он отображается при наведении курсора мыши\n" "над любым невыбранным объектом." -#: flatcamGUI/PreferencesUI.py:431 +#: flatcamGUI/PreferencesUI.py:453 msgid "Display Selection Shape" msgstr "Показывать форму выбора" -#: flatcamGUI/PreferencesUI.py:433 +#: flatcamGUI/PreferencesUI.py:455 msgid "" "Enable the display of a selection shape for FlatCAM objects.\n" "It is displayed whenever the mouse selects an object\n" @@ -8782,28 +9195,28 @@ msgstr "" "щелчком или перетаскиванием мыши слева направо или\n" "справа налево." -#: flatcamGUI/PreferencesUI.py:446 +#: flatcamGUI/PreferencesUI.py:468 msgid "Left-Right Selection Color" msgstr "Цвет выделения слева направо" -#: flatcamGUI/PreferencesUI.py:449 flatcamGUI/PreferencesUI.py:515 -#: flatcamGUI/PreferencesUI.py:1882 flatcamGUI/PreferencesUI.py:2903 -#: flatcamGUI/PreferencesUI.py:3894 flatcamGUI/PreferencesUI.py:4534 -#: flatcamGUI/PreferencesUI.py:4600 flatcamTools/ToolRulesCheck.py:179 +#: flatcamGUI/PreferencesUI.py:471 flatcamGUI/PreferencesUI.py:537 +#: flatcamGUI/PreferencesUI.py:2062 flatcamGUI/PreferencesUI.py:3085 +#: flatcamGUI/PreferencesUI.py:4174 flatcamGUI/PreferencesUI.py:4827 +#: flatcamGUI/PreferencesUI.py:4893 flatcamTools/ToolRulesCheck.py:186 msgid "Outline" msgstr "Контур" -#: flatcamGUI/PreferencesUI.py:451 +#: flatcamGUI/PreferencesUI.py:473 msgid "Set the line color for the 'left to right' selection box." msgstr "Установит цвет линии для поля выбора \"слева направо\"." -#: flatcamGUI/PreferencesUI.py:465 flatcamGUI/PreferencesUI.py:532 -#: flatcamGUI/PreferencesUI.py:1899 flatcamGUI/PreferencesUI.py:2920 -#: flatcamGUI/PreferencesUI.py:4551 flatcamGUI/PreferencesUI.py:4617 +#: flatcamGUI/PreferencesUI.py:487 flatcamGUI/PreferencesUI.py:554 +#: flatcamGUI/PreferencesUI.py:2079 flatcamGUI/PreferencesUI.py:3102 +#: flatcamGUI/PreferencesUI.py:4844 flatcamGUI/PreferencesUI.py:4910 msgid "Fill" msgstr "Заполнение" -#: flatcamGUI/PreferencesUI.py:467 +#: flatcamGUI/PreferencesUI.py:489 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from left to right.\n" @@ -8815,25 +9228,25 @@ msgstr "" "Первые 6 цифр-это цвет, а последние 2\n" "цифры для альфа-уровня (прозрачности)." -#: flatcamGUI/PreferencesUI.py:485 flatcamGUI/PreferencesUI.py:552 -#: flatcamGUI/PreferencesUI.py:1918 flatcamGUI/PreferencesUI.py:2939 -#: flatcamGUI/PreferencesUI.py:4570 +#: flatcamGUI/PreferencesUI.py:507 flatcamGUI/PreferencesUI.py:574 +#: flatcamGUI/PreferencesUI.py:2098 flatcamGUI/PreferencesUI.py:3121 +#: flatcamGUI/PreferencesUI.py:4863 msgid "Alpha" msgstr "Прозрачность" -#: flatcamGUI/PreferencesUI.py:487 +#: flatcamGUI/PreferencesUI.py:509 msgid "Set the fill transparency for the 'left to right' selection box." msgstr "Установит прозрачность заливки для поля выбора \"слева направо\"." -#: flatcamGUI/PreferencesUI.py:511 +#: flatcamGUI/PreferencesUI.py:533 msgid "Right-Left Selection Color" msgstr "Цвет выделения справа налево" -#: flatcamGUI/PreferencesUI.py:517 +#: flatcamGUI/PreferencesUI.py:539 msgid "Set the line color for the 'right to left' selection box." msgstr "Установите цвет линии для поля выбора \"справа налево\"." -#: flatcamGUI/PreferencesUI.py:534 +#: flatcamGUI/PreferencesUI.py:556 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from right to left.\n" @@ -8845,43 +9258,43 @@ msgstr "" "Первые 6 цифр-это цвет, а последние 2\n" "цифры для альфа-уровня (прозрачности)." -#: flatcamGUI/PreferencesUI.py:554 +#: flatcamGUI/PreferencesUI.py:576 msgid "Set the fill transparency for selection 'right to left' box." msgstr "Установит прозрачность заливки для выбора \"справа налево\"." -#: flatcamGUI/PreferencesUI.py:581 +#: flatcamGUI/PreferencesUI.py:603 msgid "Editor Color" msgstr "Цвет редактора" -#: flatcamGUI/PreferencesUI.py:585 +#: flatcamGUI/PreferencesUI.py:607 msgid "Drawing" msgstr "Графика" -#: flatcamGUI/PreferencesUI.py:587 +#: flatcamGUI/PreferencesUI.py:609 msgid "Set the color for the shape." msgstr "Установит цвет для фигуры." -#: flatcamGUI/PreferencesUI.py:604 +#: flatcamGUI/PreferencesUI.py:626 msgid "Set the color of the shape when selected." msgstr "Установит цвет фигуры при выборе." -#: flatcamGUI/PreferencesUI.py:627 +#: flatcamGUI/PreferencesUI.py:649 msgid "Project Items Color" msgstr "Цвет элементов проекта" -#: flatcamGUI/PreferencesUI.py:631 +#: flatcamGUI/PreferencesUI.py:653 msgid "Enabled" msgstr "Включено" -#: flatcamGUI/PreferencesUI.py:633 +#: flatcamGUI/PreferencesUI.py:655 msgid "Set the color of the items in Project Tab Tree." msgstr "Установит цвет элементов в дереве вкладок проекта." -#: flatcamGUI/PreferencesUI.py:647 +#: flatcamGUI/PreferencesUI.py:669 msgid "Disabled" msgstr "Отключено" -#: flatcamGUI/PreferencesUI.py:649 +#: flatcamGUI/PreferencesUI.py:671 msgid "" "Set the color of the items in Project Tab Tree,\n" "for the case when the items are disabled." @@ -8889,11 +9302,11 @@ msgstr "" "Установка цвета элементов в дереве вкладок проекта,\n" "для случая, когда элементы отключены." -#: flatcamGUI/PreferencesUI.py:665 +#: flatcamGUI/PreferencesUI.py:687 msgid "Project AutoHide" msgstr "Автоскрытие боковой панели" -#: flatcamGUI/PreferencesUI.py:667 +#: flatcamGUI/PreferencesUI.py:689 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "hide automatically when there are no objects loaded and\n" @@ -8903,43 +9316,43 @@ msgstr "" "автоматически скрывалась, когда нет загруженных объектов\n" "и показывать при создании нового объекта." -#: flatcamGUI/PreferencesUI.py:934 +#: flatcamGUI/PreferencesUI.py:1109 msgid "App Settings" msgstr "Настройки приложения" -#: flatcamGUI/PreferencesUI.py:955 +#: flatcamGUI/PreferencesUI.py:1130 msgid "Grid Settings" msgstr "Настройки сетки" -#: flatcamGUI/PreferencesUI.py:959 +#: flatcamGUI/PreferencesUI.py:1134 msgid "X value" msgstr "Значение X" -#: flatcamGUI/PreferencesUI.py:961 +#: flatcamGUI/PreferencesUI.py:1136 msgid "This is the Grid snap value on X axis." msgstr "Это значение привязки сетки по оси X." -#: flatcamGUI/PreferencesUI.py:971 +#: flatcamGUI/PreferencesUI.py:1146 msgid "Y value" msgstr "Значение Y" -#: flatcamGUI/PreferencesUI.py:973 +#: flatcamGUI/PreferencesUI.py:1148 msgid "This is the Grid snap value on Y axis." msgstr "Это значение привязки сетки по оси Y." -#: flatcamGUI/PreferencesUI.py:983 +#: flatcamGUI/PreferencesUI.py:1158 msgid "Snap Max" msgstr "Максимальный захват" -#: flatcamGUI/PreferencesUI.py:998 +#: flatcamGUI/PreferencesUI.py:1173 msgid "Workspace Settings" msgstr "Настройки рабочей области" -#: flatcamGUI/PreferencesUI.py:1001 +#: flatcamGUI/PreferencesUI.py:1176 msgid "Active" msgstr "Активный" -#: flatcamGUI/PreferencesUI.py:1003 +#: flatcamGUI/PreferencesUI.py:1178 msgid "" "Draw a delimiting rectangle on canvas.\n" "The purpose is to illustrate the limits for our work." @@ -8947,7 +9360,7 @@ msgstr "" "Нарисует на холсте разделительный прямоугольник,\n" "для отображения границы нашей работы." -#: flatcamGUI/PreferencesUI.py:1011 +#: flatcamGUI/PreferencesUI.py:1186 msgid "" "Select the type of rectangle to be used on canvas,\n" "as valid workspace." @@ -8955,12 +9368,12 @@ msgstr "" "Выбор типа прямоугольника, который будет использоваться на холсте,\n" "как допустимое рабочее пространство." -#: flatcamGUI/PreferencesUI.py:1077 +#: flatcamGUI/PreferencesUI.py:1252 msgid "Orientation" msgstr "Ориентация" -#: flatcamGUI/PreferencesUI.py:1078 flatcamGUI/PreferencesUI.py:5884 -#: flatcamTools/ToolFilm.py:420 +#: flatcamGUI/PreferencesUI.py:1253 flatcamGUI/PreferencesUI.py:6372 +#: flatcamTools/ToolFilm.py:422 msgid "" "Can be:\n" "- Portrait\n" @@ -8970,21 +9383,21 @@ msgstr "" "- Портрет\n" "- Альбом" -#: flatcamGUI/PreferencesUI.py:1082 flatcamGUI/PreferencesUI.py:5888 -#: flatcamTools/ToolFilm.py:424 +#: flatcamGUI/PreferencesUI.py:1257 flatcamGUI/PreferencesUI.py:6376 +#: flatcamTools/ToolFilm.py:426 msgid "Portrait" msgstr "Портретная" -#: flatcamGUI/PreferencesUI.py:1083 flatcamGUI/PreferencesUI.py:5889 -#: flatcamTools/ToolFilm.py:425 +#: flatcamGUI/PreferencesUI.py:1258 flatcamGUI/PreferencesUI.py:6377 +#: flatcamTools/ToolFilm.py:427 msgid "Landscape" msgstr "Альбомная" -#: flatcamGUI/PreferencesUI.py:1107 +#: flatcamGUI/PreferencesUI.py:1282 msgid "Notebook" msgstr "Боковая панель" -#: flatcamGUI/PreferencesUI.py:1109 +#: flatcamGUI/PreferencesUI.py:1284 msgid "" "This sets the font size for the elements found in the Notebook.\n" "The notebook is the collapsible area in the left side of the GUI,\n" @@ -8994,19 +9407,19 @@ msgstr "" "Блокнот - это складная область в левой части графического интерфейса,\n" "и включают вкладки Project, Selected и Tool." -#: flatcamGUI/PreferencesUI.py:1128 +#: flatcamGUI/PreferencesUI.py:1303 msgid "Axis" msgstr "Оси" -#: flatcamGUI/PreferencesUI.py:1130 +#: flatcamGUI/PreferencesUI.py:1305 msgid "This sets the font size for canvas axis." msgstr "Это устанавливает размер шрифта для оси холста." -#: flatcamGUI/PreferencesUI.py:1147 +#: flatcamGUI/PreferencesUI.py:1322 msgid "Textbox" msgstr "Поле ввода текста" -#: flatcamGUI/PreferencesUI.py:1149 +#: flatcamGUI/PreferencesUI.py:1324 msgid "" "This sets the font size for the Textbox GUI\n" "elements that are used in FlatCAM." @@ -9014,15 +9427,15 @@ msgstr "" "Это устанавливает размер шрифта для полей ввода текста\n" "которые используются в FlatCAM." -#: flatcamGUI/PreferencesUI.py:1175 +#: flatcamGUI/PreferencesUI.py:1350 msgid "Mouse Settings" msgstr "Настройки мыши" -#: flatcamGUI/PreferencesUI.py:1179 +#: flatcamGUI/PreferencesUI.py:1354 msgid "Cursor Shape" msgstr "Форма курсора" -#: flatcamGUI/PreferencesUI.py:1181 +#: flatcamGUI/PreferencesUI.py:1356 msgid "" "Choose a mouse cursor shape.\n" "- Small -> with a customizable size.\n" @@ -9032,47 +9445,47 @@ msgstr "" "- Маленький -> с настраиваемым размером.\n" "- Большой -> бесконечные линии" -#: flatcamGUI/PreferencesUI.py:1187 +#: flatcamGUI/PreferencesUI.py:1362 msgid "Small" msgstr "Небольшой" -#: flatcamGUI/PreferencesUI.py:1188 +#: flatcamGUI/PreferencesUI.py:1363 msgid "Big" msgstr "Большой" -#: flatcamGUI/PreferencesUI.py:1195 +#: flatcamGUI/PreferencesUI.py:1370 msgid "Cursor Size" msgstr "Размер курсора" -#: flatcamGUI/PreferencesUI.py:1197 +#: flatcamGUI/PreferencesUI.py:1372 msgid "Set the size of the mouse cursor, in pixels." msgstr "Установка размера курсора мыши в пикселях." -#: flatcamGUI/PreferencesUI.py:1208 +#: flatcamGUI/PreferencesUI.py:1383 msgid "Cursor Width" msgstr "Ширина курсора" -#: flatcamGUI/PreferencesUI.py:1210 +#: flatcamGUI/PreferencesUI.py:1385 msgid "Set the line width of the mouse cursor, in pixels." msgstr "Установка размера курсора мыши в пикселях." -#: flatcamGUI/PreferencesUI.py:1221 flatcamGUI/PreferencesUI.py:1228 +#: flatcamGUI/PreferencesUI.py:1396 flatcamGUI/PreferencesUI.py:1403 msgid "Cursor Color" msgstr "Цвет курсора" -#: flatcamGUI/PreferencesUI.py:1223 +#: flatcamGUI/PreferencesUI.py:1398 msgid "Check this box to color mouse cursor." msgstr "Установите этот флажок, чтобы окрасить курсор мыши." -#: flatcamGUI/PreferencesUI.py:1230 +#: flatcamGUI/PreferencesUI.py:1405 msgid "Set the color of the mouse cursor." msgstr "Установка цвета курсора мыши." -#: flatcamGUI/PreferencesUI.py:1253 +#: flatcamGUI/PreferencesUI.py:1428 msgid "Pan Button" msgstr "Кнопка панарамирования" -#: flatcamGUI/PreferencesUI.py:1255 +#: flatcamGUI/PreferencesUI.py:1430 msgid "" "Select the mouse button to use for panning:\n" "- MMB --> Middle Mouse Button\n" @@ -9082,35 +9495,35 @@ msgstr "" "- СКМ --> Средняя кнопка мыши\n" "- ПКМ --> Правая кнопка мыши" -#: flatcamGUI/PreferencesUI.py:1259 +#: flatcamGUI/PreferencesUI.py:1434 msgid "MMB" msgstr "СКМ" -#: flatcamGUI/PreferencesUI.py:1260 +#: flatcamGUI/PreferencesUI.py:1435 msgid "RMB" msgstr "ПКМ" -#: flatcamGUI/PreferencesUI.py:1266 +#: flatcamGUI/PreferencesUI.py:1441 msgid "Multiple Selection" msgstr "Мультивыбор" -#: flatcamGUI/PreferencesUI.py:1268 +#: flatcamGUI/PreferencesUI.py:1443 msgid "Select the key used for multiple selection." msgstr "Выберите клавишу, используемую для множественного выбора." -#: flatcamGUI/PreferencesUI.py:1270 +#: flatcamGUI/PreferencesUI.py:1445 msgid "CTRL" msgstr "CTRL" -#: flatcamGUI/PreferencesUI.py:1271 +#: flatcamGUI/PreferencesUI.py:1446 msgid "SHIFT" msgstr "SHIFT" -#: flatcamGUI/PreferencesUI.py:1282 +#: flatcamGUI/PreferencesUI.py:1457 msgid "Delete object confirmation" msgstr "Подтверждать удаление объекта" -#: flatcamGUI/PreferencesUI.py:1284 +#: flatcamGUI/PreferencesUI.py:1459 msgid "" "When checked the application will ask for user confirmation\n" "whenever the Delete object(s) event is triggered, either by\n" @@ -9120,11 +9533,11 @@ msgstr "" "всякий раз, когда событие Удалить объект (ы) инициируется, либо\n" "ярлык меню или сочетание клавиш." -#: flatcamGUI/PreferencesUI.py:1291 +#: flatcamGUI/PreferencesUI.py:1466 msgid "\"Open\" behavior" msgstr "Помнить пути открытия/сохранения" -#: flatcamGUI/PreferencesUI.py:1293 +#: flatcamGUI/PreferencesUI.py:1468 msgid "" "When checked the path for the last saved file is used when saving files,\n" "and the path for the last opened file is used when opening files.\n" @@ -9140,11 +9553,11 @@ msgstr "" "используемых: либо\n" "путь для сохранения файлов либо путь для открытия файлов." -#: flatcamGUI/PreferencesUI.py:1302 +#: flatcamGUI/PreferencesUI.py:1477 msgid "Enable ToolTips" msgstr "Всплывающие подсказки" -#: flatcamGUI/PreferencesUI.py:1304 +#: flatcamGUI/PreferencesUI.py:1479 msgid "" "Check this box if you want to have toolTips displayed\n" "when hovering with mouse over items throughout the App." @@ -9153,11 +9566,11 @@ msgstr "" "подсказки \n" "при наведении курсора мыши на элементы приложения." -#: flatcamGUI/PreferencesUI.py:1311 +#: flatcamGUI/PreferencesUI.py:1486 msgid "Allow Machinist Unsafe Settings" msgstr "Разрешить выполнить небезопасные настройки" -#: flatcamGUI/PreferencesUI.py:1313 +#: flatcamGUI/PreferencesUI.py:1488 msgid "" "If checked, some of the application settings will be allowed\n" "to have values that are usually unsafe to use.\n" @@ -9173,11 +9586,11 @@ msgstr "" "Это будет применено при следующем запуске приложения.\n" "< < Предупреждение>>: Не меняйте это, если вы не знаете, что вы делаете !!!" -#: flatcamGUI/PreferencesUI.py:1324 +#: flatcamGUI/PreferencesUI.py:1500 msgid "Bookmarks limit" msgstr "Количество закладок" -#: flatcamGUI/PreferencesUI.py:1326 +#: flatcamGUI/PreferencesUI.py:1502 msgid "" "The maximum number of bookmarks that may be installed in the menu.\n" "The number of bookmarks in the bookmark manager may be greater\n" @@ -9187,27 +9600,27 @@ msgstr "" "Количество закладок в диспетчере закладок может быть больше\n" "но меню будет содержать только это указанное количество." -#: flatcamGUI/PreferencesUI.py:1335 +#: flatcamGUI/PreferencesUI.py:1511 msgid "Activity Icon" msgstr "Значок активности" -#: flatcamGUI/PreferencesUI.py:1337 +#: flatcamGUI/PreferencesUI.py:1513 msgid "Select the GIF that show activity when FlatCAM is active." msgstr "Выбор GIF-изображения показывающего активность FlatCAM." -#: flatcamGUI/PreferencesUI.py:1395 +#: flatcamGUI/PreferencesUI.py:1571 msgid "App Preferences" msgstr "Параметры приложения" -#: flatcamGUI/PreferencesUI.py:1405 flatcamGUI/PreferencesUI.py:1811 -#: flatcamGUI/PreferencesUI.py:2359 flatcamGUI/PreferencesUI.py:2804 -#: flatcamGUI/PreferencesUI.py:3417 flatcamTools/ToolDistance.py:49 -#: flatcamTools/ToolDistanceMin.py:49 flatcamTools/ToolPcbWizard.py:127 -#: flatcamTools/ToolProperties.py:152 +#: flatcamGUI/PreferencesUI.py:1581 flatcamGUI/PreferencesUI.py:1991 +#: flatcamGUI/PreferencesUI.py:2539 flatcamGUI/PreferencesUI.py:2986 +#: flatcamGUI/PreferencesUI.py:3695 flatcamTools/ToolDistance.py:56 +#: flatcamTools/ToolDistanceMin.py:50 flatcamTools/ToolPcbWizard.py:127 +#: flatcamTools/ToolProperties.py:154 msgid "Units" msgstr "Единицы" -#: flatcamGUI/PreferencesUI.py:1406 +#: flatcamGUI/PreferencesUI.py:1582 msgid "" "The default value for FlatCAM units.\n" "Whatever is selected here is set every time\n" @@ -9217,22 +9630,22 @@ msgstr "" "Все, что выбрано здесь, устанавливается каждый раз\n" "при запуске FLatCAM." -#: flatcamGUI/PreferencesUI.py:1409 flatcamGUI/PreferencesUI.py:1817 -#: flatcamGUI/PreferencesUI.py:2365 flatcamGUI/PreferencesUI.py:2815 -#: flatcamGUI/PreferencesUI.py:3423 flatcamTools/ToolCalculators.py:62 +#: flatcamGUI/PreferencesUI.py:1585 flatcamGUI/PreferencesUI.py:1997 +#: flatcamGUI/PreferencesUI.py:2545 flatcamGUI/PreferencesUI.py:2997 +#: flatcamGUI/PreferencesUI.py:3701 flatcamTools/ToolCalculators.py:62 #: flatcamTools/ToolPcbWizard.py:126 msgid "MM" msgstr "MM" -#: flatcamGUI/PreferencesUI.py:1410 +#: flatcamGUI/PreferencesUI.py:1586 msgid "IN" msgstr "Дюйм" -#: flatcamGUI/PreferencesUI.py:1416 +#: flatcamGUI/PreferencesUI.py:1592 msgid "Precision MM" msgstr "Точность ММ" -#: flatcamGUI/PreferencesUI.py:1418 +#: flatcamGUI/PreferencesUI.py:1594 msgid "" "The number of decimals used throughout the application\n" "when the set units are in METRIC system.\n" @@ -9242,11 +9655,11 @@ msgstr "" "когда установленные единицы измерения находятся в метрической системе.\n" "Любые изменения здесь требуют перезапуска приложения." -#: flatcamGUI/PreferencesUI.py:1430 +#: flatcamGUI/PreferencesUI.py:1606 msgid "Precision INCH" msgstr "Точность ДЮЙМЫ" -#: flatcamGUI/PreferencesUI.py:1432 +#: flatcamGUI/PreferencesUI.py:1608 msgid "" "The number of decimals used throughout the application\n" "when the set units are in INCH system.\n" @@ -9256,11 +9669,11 @@ msgstr "" "когда установленные единицы измерения находятся в дюймовой системе.\n" "Любые изменения здесь требуют перезапуска приложения." -#: flatcamGUI/PreferencesUI.py:1444 +#: flatcamGUI/PreferencesUI.py:1620 msgid "Graphic Engine" msgstr "Графический движок" -#: flatcamGUI/PreferencesUI.py:1445 +#: flatcamGUI/PreferencesUI.py:1621 msgid "" "Choose what graphic engine to use in FlatCAM.\n" "Legacy(2D) -> reduced functionality, slow performance but enhanced " @@ -9279,19 +9692,19 @@ msgstr "" "Intel HD3000 или старше. Если рабочая область будет чёрной, то\n" "используйте режим Legacy (2D)." -#: flatcamGUI/PreferencesUI.py:1451 +#: flatcamGUI/PreferencesUI.py:1627 msgid "Legacy(2D)" msgstr "Legacy(2D)" -#: flatcamGUI/PreferencesUI.py:1452 +#: flatcamGUI/PreferencesUI.py:1628 msgid "OpenGL(3D)" msgstr "OpenGL(3D)" -#: flatcamGUI/PreferencesUI.py:1464 +#: flatcamGUI/PreferencesUI.py:1640 msgid "APP. LEVEL" msgstr "РЕЖИМ" -#: flatcamGUI/PreferencesUI.py:1465 +#: flatcamGUI/PreferencesUI.py:1641 msgid "" "Choose the default level of usage for FlatCAM.\n" "BASIC level -> reduced functionality, best for beginner's.\n" @@ -9308,11 +9721,11 @@ msgstr "" "Выбор здесь повлияет на параметры внутри\n" "выбранная вкладка для всех видов FlatCAM объектов." -#: flatcamGUI/PreferencesUI.py:1477 +#: flatcamGUI/PreferencesUI.py:1653 msgid "Portable app" msgstr "Портативное приложение" -#: flatcamGUI/PreferencesUI.py:1478 +#: flatcamGUI/PreferencesUI.py:1654 msgid "" "Choose if the application should run as portable.\n" "\n" @@ -9326,19 +9739,19 @@ msgstr "" "Это означает, что файлы настроек будут сохранены\n" "в папке приложения, в подпапке lib \\ config." -#: flatcamGUI/PreferencesUI.py:1491 +#: flatcamGUI/PreferencesUI.py:1667 msgid "Languages" msgstr "Языки" -#: flatcamGUI/PreferencesUI.py:1492 +#: flatcamGUI/PreferencesUI.py:1668 msgid "Set the language used throughout FlatCAM." msgstr "Установите язык, используемый в плоском кулачке." -#: flatcamGUI/PreferencesUI.py:1498 +#: flatcamGUI/PreferencesUI.py:1674 msgid "Apply Language" msgstr "Применить" -#: flatcamGUI/PreferencesUI.py:1499 +#: flatcamGUI/PreferencesUI.py:1675 msgid "" "Set the language used throughout FlatCAM.\n" "The app will restart after click." @@ -9346,31 +9759,31 @@ msgstr "" "Установка языка, используемого в FlatCAM.\n" "Приложение будет перезапущено после нажатия кнопки." -#: flatcamGUI/PreferencesUI.py:1513 +#: flatcamGUI/PreferencesUI.py:1689 msgid "Startup Settings" msgstr "Настройки запуска" -#: flatcamGUI/PreferencesUI.py:1517 +#: flatcamGUI/PreferencesUI.py:1693 msgid "Splash Screen" msgstr "Заставка" -#: flatcamGUI/PreferencesUI.py:1519 +#: flatcamGUI/PreferencesUI.py:1695 msgid "Enable display of the splash screen at application startup." msgstr "Включает отображение заставки при запуске приложения." -#: flatcamGUI/PreferencesUI.py:1531 +#: flatcamGUI/PreferencesUI.py:1707 msgid "Sys Tray Icon" msgstr "Иконка в системном трее" -#: flatcamGUI/PreferencesUI.py:1533 +#: flatcamGUI/PreferencesUI.py:1709 msgid "Enable display of FlatCAM icon in Sys Tray." msgstr "Включает отображение иконки FlatCAM в системном трее." -#: flatcamGUI/PreferencesUI.py:1538 +#: flatcamGUI/PreferencesUI.py:1714 msgid "Show Shell" msgstr "Показывать командную строку" -#: flatcamGUI/PreferencesUI.py:1540 +#: flatcamGUI/PreferencesUI.py:1716 msgid "" "Check this box if you want the shell to\n" "start automatically at startup." @@ -9378,11 +9791,11 @@ msgstr "" "Установите этот флажок, если требуется, чтобы командная строка\n" "отображалась при запуске программы." -#: flatcamGUI/PreferencesUI.py:1547 +#: flatcamGUI/PreferencesUI.py:1723 msgid "Show Project" msgstr "Показывать Проект" -#: flatcamGUI/PreferencesUI.py:1549 +#: flatcamGUI/PreferencesUI.py:1725 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "to be shown automatically at startup." @@ -9390,11 +9803,11 @@ msgstr "" "Установите этот флажок, если требуется, чтобы боковая панель\n" "автоматически отображалась при запуске." -#: flatcamGUI/PreferencesUI.py:1555 +#: flatcamGUI/PreferencesUI.py:1731 msgid "Version Check" msgstr "Проверять обновления" -#: flatcamGUI/PreferencesUI.py:1557 +#: flatcamGUI/PreferencesUI.py:1733 msgid "" "Check this box if you want to check\n" "for a new version automatically at startup." @@ -9402,11 +9815,11 @@ msgstr "" "Установите этот флажок, если вы хотите автоматически\n" "проверять обновление программы при запуске." -#: flatcamGUI/PreferencesUI.py:1564 +#: flatcamGUI/PreferencesUI.py:1740 msgid "Send Statistics" msgstr "Отправлять статистику" -#: flatcamGUI/PreferencesUI.py:1566 +#: flatcamGUI/PreferencesUI.py:1742 msgid "" "Check this box if you agree to send anonymous\n" "stats automatically at startup, to help improve FlatCAM." @@ -9414,11 +9827,11 @@ msgstr "" "Установите этот флажок, если вы согласны автоматически отправлять\n" "анонимную статистику при запуске программы для улучшения FlatCAM." -#: flatcamGUI/PreferencesUI.py:1580 +#: flatcamGUI/PreferencesUI.py:1756 msgid "Workers number" msgstr "Обработчики" -#: flatcamGUI/PreferencesUI.py:1582 flatcamGUI/PreferencesUI.py:1591 +#: flatcamGUI/PreferencesUI.py:1758 msgid "" "The number of Qthreads made available to the App.\n" "A bigger number may finish the jobs more quickly but\n" @@ -9434,14 +9847,14 @@ msgstr "" "Значение по умолчанию-2.\n" "После изменения, он будет применяться при следующем запуске приложения." -#: flatcamGUI/PreferencesUI.py:1604 +#: flatcamGUI/PreferencesUI.py:1772 msgid "Geo Tolerance" msgstr "Допуск геометрии" -#: flatcamGUI/PreferencesUI.py:1606 flatcamGUI/PreferencesUI.py:1615 +#: flatcamGUI/PreferencesUI.py:1774 msgid "" "This value can counter the effect of the Circle Steps\n" -"parameter. Default value is 0.01.\n" +"parameter. Default value is 0.005.\n" "A lower value will increase the detail both in image\n" "and in Gcode for the circles, with a higher cost in\n" "performance. Higher value will provide more\n" @@ -9454,15 +9867,15 @@ msgstr "" "спектакль. Более высокое значение обеспечит больше\n" "производительность за счет уровня детализации." -#: flatcamGUI/PreferencesUI.py:1634 +#: flatcamGUI/PreferencesUI.py:1794 msgid "Save Settings" msgstr "Сохранить настройки" -#: flatcamGUI/PreferencesUI.py:1638 +#: flatcamGUI/PreferencesUI.py:1798 msgid "Save Compressed Project" msgstr "Сохранить сжатый проект" -#: flatcamGUI/PreferencesUI.py:1640 +#: flatcamGUI/PreferencesUI.py:1800 msgid "" "Whether to save a compressed or uncompressed project.\n" "When checked it will save a compressed FlatCAM project." @@ -9470,11 +9883,11 @@ msgstr "" "Сохранять ли проект сжатым или несжатым.\n" "Если этот флажок установлен, он сохранит сжатый проект FlatCAM." -#: flatcamGUI/PreferencesUI.py:1649 +#: flatcamGUI/PreferencesUI.py:1809 msgid "Compression" msgstr "Сжатие" -#: flatcamGUI/PreferencesUI.py:1651 +#: flatcamGUI/PreferencesUI.py:1811 msgid "" "The level of compression used when saving\n" "a FlatCAM project. Higher value means better compression\n" @@ -9484,62 +9897,85 @@ msgstr "" "Более высокое значение означает более высокую степень сжатия,\n" "но требуют больше памяти и больше времени на обработку." -#: flatcamGUI/PreferencesUI.py:1671 +#: flatcamGUI/PreferencesUI.py:1822 +msgid "Enable Auto Save" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:1824 +msgid "" +"Check to enable the autosave feature.\n" +"When enabled, the application will try to save a project\n" +"at the set interval." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:1834 +msgid "Interval" +msgstr "Интервал" + +#: flatcamGUI/PreferencesUI.py:1836 +msgid "" +"Time interval for autosaving. In milliseconds.\n" +"The application will try to save periodically but only\n" +"if the project was saved manually at least once.\n" +"While active, some operations may block this feature." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:1852 msgid "Text to PDF parameters" msgstr "Параметры преобразования текста в PDF" -#: flatcamGUI/PreferencesUI.py:1673 +#: flatcamGUI/PreferencesUI.py:1854 msgid "Used when saving text in Code Editor or in FlatCAM Document objects." msgstr "" "Используется при сохранении текста в редакторе кода или в объектах FlatCAM " "Document." -#: flatcamGUI/PreferencesUI.py:1682 +#: flatcamGUI/PreferencesUI.py:1863 msgid "Top Margin" msgstr "Верхняя граница" -#: flatcamGUI/PreferencesUI.py:1684 +#: flatcamGUI/PreferencesUI.py:1865 msgid "Distance between text body and the top of the PDF file." msgstr "Расстояние между текстом и верхней частью PDF-файла." -#: flatcamGUI/PreferencesUI.py:1695 +#: flatcamGUI/PreferencesUI.py:1876 msgid "Bottom Margin" msgstr "Нижняя граница" -#: flatcamGUI/PreferencesUI.py:1697 +#: flatcamGUI/PreferencesUI.py:1878 msgid "Distance between text body and the bottom of the PDF file." msgstr "Расстояние между текстом и нижней частью PDF-файла." -#: flatcamGUI/PreferencesUI.py:1708 +#: flatcamGUI/PreferencesUI.py:1889 msgid "Left Margin" msgstr "Левая граница" -#: flatcamGUI/PreferencesUI.py:1710 +#: flatcamGUI/PreferencesUI.py:1891 msgid "Distance between text body and the left of the PDF file." msgstr "Расстояние между текстом и левой частью PDF-файла." -#: flatcamGUI/PreferencesUI.py:1721 +#: flatcamGUI/PreferencesUI.py:1902 msgid "Right Margin" msgstr "Правая граница" -#: flatcamGUI/PreferencesUI.py:1723 +#: flatcamGUI/PreferencesUI.py:1904 msgid "Distance between text body and the right of the PDF file." msgstr "Расстояние между текстом и правой частью PDF-файла." -#: flatcamGUI/PreferencesUI.py:1756 +#: flatcamGUI/PreferencesUI.py:1936 msgid "Gerber General" msgstr "Gerber основные" -#: flatcamGUI/PreferencesUI.py:1774 +#: flatcamGUI/PreferencesUI.py:1954 msgid "M-Color" msgstr "Разноцветные" -#: flatcamGUI/PreferencesUI.py:1788 flatcamGUI/PreferencesUI.py:3859 -#: flatcamGUI/PreferencesUI.py:4442 flatcamGUI/PreferencesUI.py:7148 +#: flatcamGUI/PreferencesUI.py:1968 flatcamGUI/PreferencesUI.py:4137 +#: flatcamGUI/PreferencesUI.py:4735 flatcamGUI/PreferencesUI.py:7654 msgid "Circle Steps" msgstr "Шаг круга" -#: flatcamGUI/PreferencesUI.py:1790 +#: flatcamGUI/PreferencesUI.py:1970 msgid "" "The number of circle steps for Gerber \n" "circular aperture linear approximation." @@ -9547,11 +9983,11 @@ msgstr "" "Количество шагов круга для Gerber \n" "линейное приближение круговых отверстий." -#: flatcamGUI/PreferencesUI.py:1802 +#: flatcamGUI/PreferencesUI.py:1982 msgid "Default Values" msgstr "Значения по умолчанию" -#: flatcamGUI/PreferencesUI.py:1804 +#: flatcamGUI/PreferencesUI.py:1984 msgid "" "Those values will be used as fallback values\n" "in case that they are not found in the Gerber file." @@ -9559,25 +9995,25 @@ msgstr "" "Эти значения будут использоваться в качестве резервных значений\n" "в случае, если они не найдены в файле Gerber." -#: flatcamGUI/PreferencesUI.py:1813 flatcamGUI/PreferencesUI.py:1819 -#: flatcamGUI/PreferencesUI.py:2361 flatcamGUI/PreferencesUI.py:2367 +#: flatcamGUI/PreferencesUI.py:1993 flatcamGUI/PreferencesUI.py:1999 +#: flatcamGUI/PreferencesUI.py:2541 flatcamGUI/PreferencesUI.py:2547 msgid "The units used in the Gerber file." msgstr "Единицы измерения, используемые в файле Gerber." -#: flatcamGUI/PreferencesUI.py:1816 flatcamGUI/PreferencesUI.py:2364 -#: flatcamGUI/PreferencesUI.py:2728 flatcamGUI/PreferencesUI.py:2814 -#: flatcamGUI/PreferencesUI.py:3422 flatcamTools/ToolCalculators.py:61 +#: flatcamGUI/PreferencesUI.py:1996 flatcamGUI/PreferencesUI.py:2544 +#: flatcamGUI/PreferencesUI.py:2910 flatcamGUI/PreferencesUI.py:2996 +#: flatcamGUI/PreferencesUI.py:3700 flatcamTools/ToolCalculators.py:61 #: flatcamTools/ToolPcbWizard.py:125 msgid "INCH" msgstr "ДЮЙМЫ" -#: flatcamGUI/PreferencesUI.py:1826 flatcamGUI/PreferencesUI.py:2413 -#: flatcamGUI/PreferencesUI.py:2786 flatcamGUI/PreferencesUI.py:3490 +#: flatcamGUI/PreferencesUI.py:2006 flatcamGUI/PreferencesUI.py:2593 +#: flatcamGUI/PreferencesUI.py:2968 flatcamGUI/PreferencesUI.py:3768 msgid "Zeros" msgstr "Нули" -#: flatcamGUI/PreferencesUI.py:1829 flatcamGUI/PreferencesUI.py:1839 -#: flatcamGUI/PreferencesUI.py:2416 flatcamGUI/PreferencesUI.py:2426 +#: flatcamGUI/PreferencesUI.py:2009 flatcamGUI/PreferencesUI.py:2019 +#: flatcamGUI/PreferencesUI.py:2596 flatcamGUI/PreferencesUI.py:2606 msgid "" "This sets the type of Gerber zeros.\n" "If LZ then Leading Zeros are removed and\n" @@ -9591,23 +10027,23 @@ msgstr "" "Если TZ отмечен, то завершающие нули удаляются\n" "и ведущие нули сохраняются." -#: flatcamGUI/PreferencesUI.py:1836 flatcamGUI/PreferencesUI.py:2423 -#: flatcamGUI/PreferencesUI.py:2799 flatcamGUI/PreferencesUI.py:3500 +#: flatcamGUI/PreferencesUI.py:2016 flatcamGUI/PreferencesUI.py:2603 +#: flatcamGUI/PreferencesUI.py:2981 flatcamGUI/PreferencesUI.py:3778 #: flatcamTools/ToolPcbWizard.py:111 msgid "LZ" msgstr "LZ" -#: flatcamGUI/PreferencesUI.py:1837 flatcamGUI/PreferencesUI.py:2424 -#: flatcamGUI/PreferencesUI.py:2800 flatcamGUI/PreferencesUI.py:3501 +#: flatcamGUI/PreferencesUI.py:2017 flatcamGUI/PreferencesUI.py:2604 +#: flatcamGUI/PreferencesUI.py:2982 flatcamGUI/PreferencesUI.py:3779 #: flatcamTools/ToolPcbWizard.py:112 msgid "TZ" msgstr "TZ" -#: flatcamGUI/PreferencesUI.py:1855 +#: flatcamGUI/PreferencesUI.py:2035 msgid "Clean Apertures" msgstr "Очистить отверстия" -#: flatcamGUI/PreferencesUI.py:1857 +#: flatcamGUI/PreferencesUI.py:2037 msgid "" "Will remove apertures that do not have geometry\n" "thus lowering the number of apertures in the Gerber object." @@ -9615,11 +10051,11 @@ msgstr "" "Будут удалены отверстия, которые не имеют геометрии\n" "тем самым уменьшая количество отверстий в объекте Гербера." -#: flatcamGUI/PreferencesUI.py:1863 +#: flatcamGUI/PreferencesUI.py:2043 msgid "Polarity change buffer" msgstr "Изменение полярности буфера" -#: flatcamGUI/PreferencesUI.py:1865 +#: flatcamGUI/PreferencesUI.py:2045 msgid "" "Will apply extra buffering for the\n" "solid geometry when we have polarity changes.\n" @@ -9631,17 +10067,17 @@ msgstr "" "Может помочь при загрузке файлов Gerber, которые в противном случае\n" "не загружается правильно." -#: flatcamGUI/PreferencesUI.py:1878 +#: flatcamGUI/PreferencesUI.py:2058 msgid "Gerber Object Color" msgstr "Цвет объекта Gerber" -#: flatcamGUI/PreferencesUI.py:1884 flatcamGUI/PreferencesUI.py:2905 -#: flatcamGUI/PreferencesUI.py:3896 +#: flatcamGUI/PreferencesUI.py:2064 flatcamGUI/PreferencesUI.py:3087 +#: flatcamGUI/PreferencesUI.py:4176 msgid "Set the line color for plotted objects." msgstr "Установит цвет линии для построенных объектов." -#: flatcamGUI/PreferencesUI.py:1901 flatcamGUI/PreferencesUI.py:2922 -#: flatcamGUI/PreferencesUI.py:4553 flatcamGUI/PreferencesUI.py:4619 +#: flatcamGUI/PreferencesUI.py:2081 flatcamGUI/PreferencesUI.py:3104 +#: flatcamGUI/PreferencesUI.py:4846 flatcamGUI/PreferencesUI.py:4912 msgid "" "Set the fill color for plotted objects.\n" "First 6 digits are the color and the last 2\n" @@ -9651,34 +10087,29 @@ msgstr "" "Первые 6 цифр-это цвет, а последние 2\n" "цифры для альфа-уровня (прозрачности)." -#: flatcamGUI/PreferencesUI.py:1920 flatcamGUI/PreferencesUI.py:2941 -#: flatcamGUI/PreferencesUI.py:4572 +#: flatcamGUI/PreferencesUI.py:2100 flatcamGUI/PreferencesUI.py:3123 +#: flatcamGUI/PreferencesUI.py:4865 msgid "Set the fill transparency for plotted objects." msgstr "Установит прозрачность заливки для построенных объектов." -#: flatcamGUI/PreferencesUI.py:2011 +#: flatcamGUI/PreferencesUI.py:2191 msgid "Gerber Options" msgstr "Параметры Gerber" -#: flatcamGUI/PreferencesUI.py:2085 flatcamGUI/PreferencesUI.py:4379 -#: flatcamGUI/PreferencesUI.py:5120 flatcamTools/ToolNonCopperClear.py:170 -msgid "Conv." -msgstr "Обычный" - -#: flatcamGUI/PreferencesUI.py:2089 +#: flatcamGUI/PreferencesUI.py:2269 msgid "Combine Passes" msgstr "Объединять проходы" -#: flatcamGUI/PreferencesUI.py:2177 +#: flatcamGUI/PreferencesUI.py:2357 msgid "Gerber Adv. Options" msgstr "Gerber дополнительные" -#: flatcamGUI/PreferencesUI.py:2181 flatcamGUI/PreferencesUI.py:3278 -#: flatcamGUI/PreferencesUI.py:4179 +#: flatcamGUI/PreferencesUI.py:2361 flatcamGUI/PreferencesUI.py:3551 +#: flatcamGUI/PreferencesUI.py:4472 msgid "Advanced Options" msgstr "Дополнительные настройки" -#: flatcamGUI/PreferencesUI.py:2183 +#: flatcamGUI/PreferencesUI.py:2363 msgid "" "A list of Gerber advanced parameters.\n" "Those parameters are available only for\n" @@ -9688,11 +10119,11 @@ msgstr "" "Эти параметры доступны только для\n" "расширенного режима приложения." -#: flatcamGUI/PreferencesUI.py:2202 +#: flatcamGUI/PreferencesUI.py:2382 msgid "Table Show/Hide" msgstr "Таблица отверстий вкл/откл" -#: flatcamGUI/PreferencesUI.py:2204 +#: flatcamGUI/PreferencesUI.py:2384 msgid "" "Toggle the display of the Gerber Apertures Table.\n" "Also, on hide, it will delete all mark shapes\n" @@ -9702,15 +10133,15 @@ msgstr "" "Кроме того, при скрытии он удалит все отмеченные фигуры\n" "отображённые на холсте." -#: flatcamGUI/PreferencesUI.py:2284 +#: flatcamGUI/PreferencesUI.py:2464 msgid "Exterior" msgstr "Внешняя" -#: flatcamGUI/PreferencesUI.py:2285 +#: flatcamGUI/PreferencesUI.py:2465 msgid "Interior" msgstr "Внутренняя" -#: flatcamGUI/PreferencesUI.py:2298 +#: flatcamGUI/PreferencesUI.py:2478 msgid "" "Buffering type:\n" "- None --> best performance, fast file loading but no so good display\n" @@ -9724,19 +10155,19 @@ msgstr "" "умолчанию.\n" "<< ПРЕДУПРЕЖДЕНИЕ >>: не меняйте это, если не знаете, что делаете !!!" -#: flatcamGUI/PreferencesUI.py:2303 flatcamGUI/PreferencesUI.py:5852 -#: flatcamGUI/PreferencesUI.py:7446 flatcamTools/ToolFiducials.py:201 -#: flatcamTools/ToolFilm.py:255 flatcamTools/ToolProperties.py:411 -#: flatcamTools/ToolProperties.py:426 flatcamTools/ToolProperties.py:429 -#: flatcamTools/ToolProperties.py:432 flatcamTools/ToolProperties.py:456 +#: flatcamGUI/PreferencesUI.py:2483 flatcamGUI/PreferencesUI.py:6340 +#: flatcamGUI/PreferencesUI.py:7952 flatcamTools/ToolFiducials.py:201 +#: flatcamTools/ToolFilm.py:255 flatcamTools/ToolProperties.py:452 +#: flatcamTools/ToolProperties.py:455 flatcamTools/ToolProperties.py:458 +#: flatcamTools/ToolProperties.py:483 msgid "None" msgstr "Нет" -#: flatcamGUI/PreferencesUI.py:2309 +#: flatcamGUI/PreferencesUI.py:2489 msgid "Simplify" msgstr "Упрощение" -#: flatcamGUI/PreferencesUI.py:2311 +#: flatcamGUI/PreferencesUI.py:2491 msgid "" "When checked all the Gerber polygons will be\n" "loaded with simplification having a set tolerance.\n" @@ -9746,23 +10177,23 @@ msgstr "" "загружается с упрощением, имеющим заданный допуск.\n" "<< ВНИМАНИЕ >>: не изменяйте это, если вы не знаете, что делаете !!!" -#: flatcamGUI/PreferencesUI.py:2318 +#: flatcamGUI/PreferencesUI.py:2498 msgid "Tolerance" msgstr "Допуск" -#: flatcamGUI/PreferencesUI.py:2319 +#: flatcamGUI/PreferencesUI.py:2499 msgid "Tolerance for polygon simplification." msgstr "Допуск для упрощения полигонов." -#: flatcamGUI/PreferencesUI.py:2344 +#: flatcamGUI/PreferencesUI.py:2524 msgid "Gerber Export" msgstr "Экспорт Gerber" -#: flatcamGUI/PreferencesUI.py:2348 flatcamGUI/PreferencesUI.py:3406 +#: flatcamGUI/PreferencesUI.py:2528 flatcamGUI/PreferencesUI.py:3684 msgid "Export Options" msgstr "Параметры экспорта" -#: flatcamGUI/PreferencesUI.py:2350 +#: flatcamGUI/PreferencesUI.py:2530 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Gerber menu entry." @@ -9770,11 +10201,11 @@ msgstr "" "Заданные здесь параметры используются в экспортированном файле\n" "при использовании пункта меню File -> Export -> Export Gerber." -#: flatcamGUI/PreferencesUI.py:2373 flatcamGUI/PreferencesUI.py:3431 +#: flatcamGUI/PreferencesUI.py:2553 flatcamGUI/PreferencesUI.py:3709 msgid "Int/Decimals" msgstr "Целое число / десятичные дроби" -#: flatcamGUI/PreferencesUI.py:2375 +#: flatcamGUI/PreferencesUI.py:2555 msgid "" "The number of digits in the whole part of the number\n" "and in the fractional part of the number." @@ -9782,7 +10213,7 @@ msgstr "" "Количество цифр в целой части числа\n" "и в дробной части числа." -#: flatcamGUI/PreferencesUI.py:2388 +#: flatcamGUI/PreferencesUI.py:2568 msgid "" "This numbers signify the number of digits in\n" "the whole part of Gerber coordinates." @@ -9790,7 +10221,7 @@ msgstr "" "Эти числа обозначают количество цифр в\n" "вся часть координат Gerber." -#: flatcamGUI/PreferencesUI.py:2404 +#: flatcamGUI/PreferencesUI.py:2584 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Gerber coordinates." @@ -9798,16 +10229,16 @@ msgstr "" "Эти числа обозначают количество цифр в\n" "десятичная часть координат Gerber." -#: flatcamGUI/PreferencesUI.py:2449 +#: flatcamGUI/PreferencesUI.py:2629 msgid "A list of Gerber Editor parameters." msgstr "Список параметров редактора Gerber." -#: flatcamGUI/PreferencesUI.py:2457 flatcamGUI/PreferencesUI.py:3565 -#: flatcamGUI/PreferencesUI.py:4357 flatcamGUI/PreferencesUI.py:7109 +#: flatcamGUI/PreferencesUI.py:2637 flatcamGUI/PreferencesUI.py:3843 +#: flatcamGUI/PreferencesUI.py:4650 flatcamGUI/PreferencesUI.py:7615 msgid "Selection limit" msgstr "Ограничение выбора" -#: flatcamGUI/PreferencesUI.py:2459 +#: flatcamGUI/PreferencesUI.py:2639 msgid "" "Set the number of selected Gerber geometry\n" "items above which the utility geometry\n" @@ -9821,23 +10252,23 @@ msgstr "" "Увеличивает производительность при перемещении\n" "большое количество геометрических элементов." -#: flatcamGUI/PreferencesUI.py:2472 +#: flatcamGUI/PreferencesUI.py:2652 msgid "New Aperture code" msgstr "Код нового отверстия" -#: flatcamGUI/PreferencesUI.py:2485 +#: flatcamGUI/PreferencesUI.py:2665 msgid "New Aperture size" msgstr "Размер нового отверстия" -#: flatcamGUI/PreferencesUI.py:2487 +#: flatcamGUI/PreferencesUI.py:2667 msgid "Size for the new aperture" msgstr "Размер нового отверстия" -#: flatcamGUI/PreferencesUI.py:2498 +#: flatcamGUI/PreferencesUI.py:2678 msgid "New Aperture type" msgstr "Тип нового отверстия" -#: flatcamGUI/PreferencesUI.py:2500 +#: flatcamGUI/PreferencesUI.py:2680 msgid "" "Type for the new aperture.\n" "Can be 'C', 'R' or 'O'." @@ -9845,35 +10276,39 @@ msgstr "" "Тип нового отверстия.\n" "Может быть «C», «R» или «O»." -#: flatcamGUI/PreferencesUI.py:2522 +#: flatcamGUI/PreferencesUI.py:2702 msgid "Aperture Dimensions" msgstr "Размеры отверстия" -#: flatcamGUI/PreferencesUI.py:2524 flatcamGUI/PreferencesUI.py:3877 -#: flatcamGUI/PreferencesUI.py:5029 -msgid "Diameters of the cutting tools, separated by ','" -msgstr "Диаметры режущих инструментов, разделенные знаком ','" +#: flatcamGUI/PreferencesUI.py:2704 flatcamGUI/PreferencesUI.py:4155 +#: flatcamGUI/PreferencesUI.py:5322 flatcamGUI/PreferencesUI.py:5889 +#: flatcamGUI/PreferencesUI.py:6955 +msgid "" +"Diameters of the tools, separated by comma.\n" +"The value of the diameter has to use the dot decimals separator.\n" +"Valid values: 0.3, 1.0" +msgstr "" -#: flatcamGUI/PreferencesUI.py:2530 +#: flatcamGUI/PreferencesUI.py:2712 msgid "Linear Pad Array" msgstr "Линейный массив площадок" -#: flatcamGUI/PreferencesUI.py:2534 flatcamGUI/PreferencesUI.py:3609 -#: flatcamGUI/PreferencesUI.py:3757 +#: flatcamGUI/PreferencesUI.py:2716 flatcamGUI/PreferencesUI.py:3887 +#: flatcamGUI/PreferencesUI.py:4035 msgid "Linear Direction" msgstr "Линейное направление" -#: flatcamGUI/PreferencesUI.py:2574 +#: flatcamGUI/PreferencesUI.py:2756 msgid "Circular Pad Array" msgstr "Круговая матрица" -#: flatcamGUI/PreferencesUI.py:2578 flatcamGUI/PreferencesUI.py:3655 -#: flatcamGUI/PreferencesUI.py:3805 +#: flatcamGUI/PreferencesUI.py:2760 flatcamGUI/PreferencesUI.py:3933 +#: flatcamGUI/PreferencesUI.py:4083 msgid "Circular Direction" msgstr "Круговое направление" -#: flatcamGUI/PreferencesUI.py:2580 flatcamGUI/PreferencesUI.py:3657 -#: flatcamGUI/PreferencesUI.py:3807 +#: flatcamGUI/PreferencesUI.py:2762 flatcamGUI/PreferencesUI.py:3935 +#: flatcamGUI/PreferencesUI.py:4085 msgid "" "Direction for circular array.\n" "Can be CW = clockwise or CCW = counter clockwise." @@ -9881,48 +10316,48 @@ msgstr "" "Направление для кругового массива.\n" "Может быть CW = по часовой стрелке или CCW = против часовой стрелки." -#: flatcamGUI/PreferencesUI.py:2591 flatcamGUI/PreferencesUI.py:3668 -#: flatcamGUI/PreferencesUI.py:3818 +#: flatcamGUI/PreferencesUI.py:2773 flatcamGUI/PreferencesUI.py:3946 +#: flatcamGUI/PreferencesUI.py:4096 msgid "Circular Angle" msgstr "Угол закругления" -#: flatcamGUI/PreferencesUI.py:2610 +#: flatcamGUI/PreferencesUI.py:2792 msgid "Distance at which to buffer the Gerber element." msgstr "Расстояние, на котором буферизуется элемент Gerber." -#: flatcamGUI/PreferencesUI.py:2619 +#: flatcamGUI/PreferencesUI.py:2801 msgid "Scale Tool" msgstr "Масштаб" -#: flatcamGUI/PreferencesUI.py:2625 +#: flatcamGUI/PreferencesUI.py:2807 msgid "Factor to scale the Gerber element." msgstr "Коэффициент масштабирования для элемента Gerber." -#: flatcamGUI/PreferencesUI.py:2638 +#: flatcamGUI/PreferencesUI.py:2820 msgid "Threshold low" msgstr "Низкий порог" -#: flatcamGUI/PreferencesUI.py:2640 +#: flatcamGUI/PreferencesUI.py:2822 msgid "Threshold value under which the apertures are not marked." msgstr "Пороговое значение, ниже которого отверстия не отмечены." -#: flatcamGUI/PreferencesUI.py:2650 +#: flatcamGUI/PreferencesUI.py:2832 msgid "Threshold high" msgstr "Высокий порог" -#: flatcamGUI/PreferencesUI.py:2652 +#: flatcamGUI/PreferencesUI.py:2834 msgid "Threshold value over which the apertures are not marked." msgstr "Пороговое значение, выше которого отверстия не отмечены." -#: flatcamGUI/PreferencesUI.py:2670 +#: flatcamGUI/PreferencesUI.py:2852 msgid "Excellon General" msgstr "Excellon основные" -#: flatcamGUI/PreferencesUI.py:2703 +#: flatcamGUI/PreferencesUI.py:2885 msgid "Excellon Format" msgstr "Формат Excellon" -#: flatcamGUI/PreferencesUI.py:2705 +#: flatcamGUI/PreferencesUI.py:2887 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -9963,12 +10398,12 @@ msgstr "" "Sprint Layout 2:4 INCH LZ\n" "KiCAD 3:5 INCH TZ" -#: flatcamGUI/PreferencesUI.py:2729 +#: flatcamGUI/PreferencesUI.py:2911 msgid "Default values for INCH are 2:4" msgstr "Значения по умолчанию для ДЮЙМОВОЙ 2:4" -#: flatcamGUI/PreferencesUI.py:2736 flatcamGUI/PreferencesUI.py:2765 -#: flatcamGUI/PreferencesUI.py:3445 +#: flatcamGUI/PreferencesUI.py:2918 flatcamGUI/PreferencesUI.py:2947 +#: flatcamGUI/PreferencesUI.py:3723 msgid "" "This numbers signify the number of digits in\n" "the whole part of Excellon coordinates." @@ -9976,8 +10411,8 @@ msgstr "" "Эти числа обозначают количество цифр в\n" "целая часть Excellon координат." -#: flatcamGUI/PreferencesUI.py:2749 flatcamGUI/PreferencesUI.py:2778 -#: flatcamGUI/PreferencesUI.py:3458 +#: flatcamGUI/PreferencesUI.py:2931 flatcamGUI/PreferencesUI.py:2960 +#: flatcamGUI/PreferencesUI.py:3736 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Excellon coordinates." @@ -9985,15 +10420,15 @@ msgstr "" "Эти числа обозначают количество цифр в\n" "десятичная часть Excellon координат." -#: flatcamGUI/PreferencesUI.py:2757 +#: flatcamGUI/PreferencesUI.py:2939 msgid "METRIC" msgstr "МЕТРИЧЕСКАЯ" -#: flatcamGUI/PreferencesUI.py:2758 +#: flatcamGUI/PreferencesUI.py:2940 msgid "Default values for METRIC are 3:3" msgstr "Значения по умолчанию для МЕТРИЧЕСКОЙ 3: 3" -#: flatcamGUI/PreferencesUI.py:2789 +#: flatcamGUI/PreferencesUI.py:2971 msgid "" "This sets the type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -10010,7 +10445,7 @@ msgstr "" "Если TZ установлен, то конечные нули сохраняются\n" "и ведущие нули удаляются." -#: flatcamGUI/PreferencesUI.py:2807 +#: flatcamGUI/PreferencesUI.py:2989 msgid "" "This sets the default units of Excellon files.\n" "If it is not detected in the parsed file the value here\n" @@ -10022,7 +10457,7 @@ msgstr "" "будем использовать.Некоторые файлы Excellon не имеют заголовка\n" "поэтому этот параметр будет использоваться." -#: flatcamGUI/PreferencesUI.py:2817 +#: flatcamGUI/PreferencesUI.py:2999 msgid "" "This sets the units of Excellon files.\n" "Some Excellon files don't have an header\n" @@ -10032,19 +10467,19 @@ msgstr "" "Некоторые файлы Excellon не имеют заголовка\n" "поэтому этот параметр будет использоваться." -#: flatcamGUI/PreferencesUI.py:2825 +#: flatcamGUI/PreferencesUI.py:3007 msgid "Update Export settings" msgstr "Обновить настройки экспорта" -#: flatcamGUI/PreferencesUI.py:2842 +#: flatcamGUI/PreferencesUI.py:3024 msgid "Excellon Optimization" msgstr "Оптимизация Excellon" -#: flatcamGUI/PreferencesUI.py:2845 +#: flatcamGUI/PreferencesUI.py:3027 msgid "Algorithm:" msgstr "Алгоритм:" -#: flatcamGUI/PreferencesUI.py:2847 flatcamGUI/PreferencesUI.py:2863 +#: flatcamGUI/PreferencesUI.py:3029 flatcamGUI/PreferencesUI.py:3045 msgid "" "This sets the optimization type for the Excellon drill path.\n" "If <> is checked then Google OR-Tools algorithm with\n" @@ -10069,20 +10504,20 @@ msgstr "" "используется\n" "алгоритм Travelling Salesman для оптимизации пути." -#: flatcamGUI/PreferencesUI.py:2858 +#: flatcamGUI/PreferencesUI.py:3040 msgid "MetaHeuristic" msgstr "Метаэвристический" -#: flatcamGUI/PreferencesUI.py:2860 +#: flatcamGUI/PreferencesUI.py:3042 msgid "TSA" msgstr "TSA" -#: flatcamGUI/PreferencesUI.py:2877 flatcamGUI/PreferencesUI.py:3192 -#: flatcamGUI/PreferencesUI.py:4138 +#: flatcamGUI/PreferencesUI.py:3059 flatcamGUI/PreferencesUI.py:3463 +#: flatcamGUI/PreferencesUI.py:4430 msgid "Duration" msgstr "Продолжительность" -#: flatcamGUI/PreferencesUI.py:2880 +#: flatcamGUI/PreferencesUI.py:3062 msgid "" "When OR-Tools Metaheuristic (MH) is enabled there is a\n" "maximum threshold for how much time is spent doing the\n" @@ -10094,15 +10529,19 @@ msgstr "" "оптимизация пути. Максимальная продолжительность устанавливается здесь.\n" "В секундах." -#: flatcamGUI/PreferencesUI.py:2899 +#: flatcamGUI/PreferencesUI.py:3081 msgid "Excellon Object Color" msgstr "Цвет объектов Excellon" -#: flatcamGUI/PreferencesUI.py:3065 +#: flatcamGUI/PreferencesUI.py:3247 msgid "Excellon Options" msgstr "Параметры Excellon" -#: flatcamGUI/PreferencesUI.py:3071 +#: flatcamGUI/PreferencesUI.py:3251 flatcamGUI/PreferencesUI.py:4227 +msgid "Create CNC Job" +msgstr "Создание программы для ЧПУ" + +#: flatcamGUI/PreferencesUI.py:3253 msgid "" "Parameters used to create a CNC Job object\n" "for this drill object." @@ -10110,11 +10549,27 @@ msgstr "" "Параметры, используемые для создания объекта задания ЧПУ\n" "для этого сверлите объект." -#: flatcamGUI/PreferencesUI.py:3185 flatcamGUI/PreferencesUI.py:4133 +#: flatcamGUI/PreferencesUI.py:3370 flatcamGUI/PreferencesUI.py:4314 +msgid "Tool change" +msgstr "Смена инструмента" + +#: flatcamGUI/PreferencesUI.py:3454 flatcamGUI/PreferencesUI.py:4425 msgid "Enable Dwell" msgstr "Задержка" -#: flatcamGUI/PreferencesUI.py:3217 +#: flatcamGUI/PreferencesUI.py:3477 +msgid "" +"The preprocessor JSON file that dictates\n" +"Gcode output." +msgstr "" +"JSON-файл постпроцессора, который влияет\n" +"на Gcode." + +#: flatcamGUI/PreferencesUI.py:3488 +msgid "Gcode" +msgstr "GCode" + +#: flatcamGUI/PreferencesUI.py:3490 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -10126,15 +10581,35 @@ msgstr "" "При выборе \"Пазы\" или \"Оба\", пазы будут\n" "преобразованы в отверстия." -#: flatcamGUI/PreferencesUI.py:3235 +#: flatcamGUI/PreferencesUI.py:3506 +msgid "Mill Holes" +msgstr "Фрезеровка отверстий" + +#: flatcamGUI/PreferencesUI.py:3508 msgid "Create Geometry for milling holes." msgstr "Создание объекта геометрии для фрезерования отверстий." -#: flatcamGUI/PreferencesUI.py:3271 +#: flatcamGUI/PreferencesUI.py:3512 +msgid "Drill Tool dia" +msgstr "Диаметр сверла" + +#: flatcamGUI/PreferencesUI.py:3523 +msgid "Slot Tool dia" +msgstr "Диаметр инструмента шлица" + +#: flatcamGUI/PreferencesUI.py:3525 +msgid "" +"Diameter of the cutting tool\n" +"when milling slots." +msgstr "" +"Диаметр режущего инструмента\n" +"при фрезеровании пазов." + +#: flatcamGUI/PreferencesUI.py:3544 msgid "Excellon Adv. Options" msgstr "Excellon дополнительные" -#: flatcamGUI/PreferencesUI.py:3280 +#: flatcamGUI/PreferencesUI.py:3553 msgid "" "A list of Excellon advanced parameters.\n" "Those parameters are available only for\n" @@ -10144,19 +10619,19 @@ msgstr "" "Эти параметры доступны только для\n" "расширенного режима приложения." -#: flatcamGUI/PreferencesUI.py:3301 +#: flatcamGUI/PreferencesUI.py:3576 msgid "Toolchange X,Y" msgstr "Смена инструмента X,Y" -#: flatcamGUI/PreferencesUI.py:3303 flatcamGUI/PreferencesUI.py:4193 +#: flatcamGUI/PreferencesUI.py:3578 flatcamGUI/PreferencesUI.py:4486 msgid "Toolchange X,Y position." msgstr "Позиция X,Y смены инструмента." -#: flatcamGUI/PreferencesUI.py:3360 flatcamGUI/PreferencesUI.py:4280 +#: flatcamGUI/PreferencesUI.py:3638 flatcamGUI/PreferencesUI.py:4573 msgid "Spindle direction" msgstr "Направление вращения шпинделя" -#: flatcamGUI/PreferencesUI.py:3362 flatcamGUI/PreferencesUI.py:4282 +#: flatcamGUI/PreferencesUI.py:3640 flatcamGUI/PreferencesUI.py:4575 msgid "" "This sets the direction that the spindle is rotating.\n" "It can be either:\n" @@ -10168,11 +10643,11 @@ msgstr "" "- CW = по часовой стрелке или\n" "- CCW = против часовой стрелки" -#: flatcamGUI/PreferencesUI.py:3373 flatcamGUI/PreferencesUI.py:4294 +#: flatcamGUI/PreferencesUI.py:3651 flatcamGUI/PreferencesUI.py:4587 msgid "Fast Plunge" msgstr "Быстрый подвод" -#: flatcamGUI/PreferencesUI.py:3375 flatcamGUI/PreferencesUI.py:4296 +#: flatcamGUI/PreferencesUI.py:3653 flatcamGUI/PreferencesUI.py:4589 msgid "" "By checking this, the vertical move from\n" "Z_Toolchange to Z_move is done with G0,\n" @@ -10184,11 +10659,11 @@ msgstr "" "что означает самую быструю доступную скорость.\n" "Предупреждение: перемещение выполняется при смене координат Toolchange X,Y." -#: flatcamGUI/PreferencesUI.py:3382 +#: flatcamGUI/PreferencesUI.py:3660 msgid "Fast Retract" msgstr "Быстрый отвод" -#: flatcamGUI/PreferencesUI.py:3384 +#: flatcamGUI/PreferencesUI.py:3662 msgid "" "Exit hole strategy.\n" " - When uncheked, while exiting the drilled hole the drill bit\n" @@ -10206,11 +10681,11 @@ msgstr "" " - Когда проверено перемещение от Z_cut(глубины отрезка) к Z_move\n" "(высота перемещения) делается как можно быстрее (G0) за один ход." -#: flatcamGUI/PreferencesUI.py:3402 +#: flatcamGUI/PreferencesUI.py:3680 msgid "Excellon Export" msgstr "Экспорт Excellon" -#: flatcamGUI/PreferencesUI.py:3408 +#: flatcamGUI/PreferencesUI.py:3686 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Excellon menu entry." @@ -10218,11 +10693,11 @@ msgstr "" "Заданные здесь параметры используются в экспортированном файле\n" "при использовании файла - > экспорт - > Экспорт Excellon пункт меню." -#: flatcamGUI/PreferencesUI.py:3419 flatcamGUI/PreferencesUI.py:3425 +#: flatcamGUI/PreferencesUI.py:3697 flatcamGUI/PreferencesUI.py:3703 msgid "The units used in the Excellon file." msgstr "Единицы измерения, используемые в файле Excellon." -#: flatcamGUI/PreferencesUI.py:3433 +#: flatcamGUI/PreferencesUI.py:3711 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -10234,11 +10709,11 @@ msgstr "" "Здесь мы устанавливаем формат, используемый, когда\n" "координаты не используют точку." -#: flatcamGUI/PreferencesUI.py:3467 +#: flatcamGUI/PreferencesUI.py:3745 msgid "Format" msgstr "Формат" -#: flatcamGUI/PreferencesUI.py:3469 flatcamGUI/PreferencesUI.py:3479 +#: flatcamGUI/PreferencesUI.py:3747 flatcamGUI/PreferencesUI.py:3757 msgid "" "Select the kind of coordinates format used.\n" "Coordinates can be saved with decimal point or without.\n" @@ -10254,15 +10729,15 @@ msgstr "" "Также это должно быть указано, если LZ = ведущие нули сохраняются\n" "или TZ = конечные нули сохраняются." -#: flatcamGUI/PreferencesUI.py:3476 +#: flatcamGUI/PreferencesUI.py:3754 msgid "Decimal" msgstr "Десятичный" -#: flatcamGUI/PreferencesUI.py:3477 +#: flatcamGUI/PreferencesUI.py:3755 msgid "No-Decimal" msgstr "Недесятичный" -#: flatcamGUI/PreferencesUI.py:3493 +#: flatcamGUI/PreferencesUI.py:3771 msgid "" "This sets the type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -10276,7 +10751,7 @@ msgstr "" "Если TZ установлен, то конечные нули сохраняются\n" "и ведущие нули удаляются." -#: flatcamGUI/PreferencesUI.py:3503 +#: flatcamGUI/PreferencesUI.py:3781 msgid "" "This sets the default type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -10290,11 +10765,11 @@ msgstr "" "Если проверен TZ, то сохраняются нулевые трейлеры\n" "и ведущие нули удаляются." -#: flatcamGUI/PreferencesUI.py:3513 +#: flatcamGUI/PreferencesUI.py:3791 msgid "Slot type" msgstr "Тип слота" -#: flatcamGUI/PreferencesUI.py:3516 flatcamGUI/PreferencesUI.py:3526 +#: flatcamGUI/PreferencesUI.py:3794 flatcamGUI/PreferencesUI.py:3804 msgid "" "This sets how the slots will be exported.\n" "If ROUTED then the slots will be routed\n" @@ -10308,19 +10783,19 @@ msgstr "" "Если пробурено (G85), пазы будут экспортированы\n" "используя команду сверления пазов (G85)." -#: flatcamGUI/PreferencesUI.py:3523 +#: flatcamGUI/PreferencesUI.py:3801 msgid "Routed" msgstr "Направлен" -#: flatcamGUI/PreferencesUI.py:3524 +#: flatcamGUI/PreferencesUI.py:3802 msgid "Drilled(G85)" msgstr "Пробурено (G85)" -#: flatcamGUI/PreferencesUI.py:3557 +#: flatcamGUI/PreferencesUI.py:3835 msgid "A list of Excellon Editor parameters." msgstr "Список параметров редактора Excellon." -#: flatcamGUI/PreferencesUI.py:3567 +#: flatcamGUI/PreferencesUI.py:3845 msgid "" "Set the number of selected Excellon geometry\n" "items above which the utility geometry\n" @@ -10334,19 +10809,20 @@ msgstr "" "Увеличивает производительность при перемещении\n" "большое количество геометрических элементов." -#: flatcamGUI/PreferencesUI.py:3580 flatcamGUI/PreferencesUI.py:5100 -msgid "New Tool Dia" +#: flatcamGUI/PreferencesUI.py:3858 flatcamGUI/PreferencesUI.py:5396 +#: flatcamGUI/PreferencesUI.py:5962 +msgid "New Dia" msgstr "Новый диаметр инструмента" -#: flatcamGUI/PreferencesUI.py:3605 +#: flatcamGUI/PreferencesUI.py:3883 msgid "Linear Drill Array" msgstr "Линейный массив отверстий" -#: flatcamGUI/PreferencesUI.py:3651 +#: flatcamGUI/PreferencesUI.py:3929 msgid "Circular Drill Array" msgstr "Круговой массив" -#: flatcamGUI/PreferencesUI.py:3721 +#: flatcamGUI/PreferencesUI.py:3999 msgid "" "Angle at which the slot is placed.\n" "The precision is of max 2 decimals.\n" @@ -10358,19 +10834,19 @@ msgstr "" "Минимальное значение: -359,99 градусов.\n" "Максимальное значение: 360,00 градусов." -#: flatcamGUI/PreferencesUI.py:3740 +#: flatcamGUI/PreferencesUI.py:4018 msgid "Linear Slot Array" msgstr "Линейный массив пазов" -#: flatcamGUI/PreferencesUI.py:3801 +#: flatcamGUI/PreferencesUI.py:4079 msgid "Circular Slot Array" msgstr "Круговой массив пазов" -#: flatcamGUI/PreferencesUI.py:3839 +#: flatcamGUI/PreferencesUI.py:4117 msgid "Geometry General" msgstr "Geometry основные" -#: flatcamGUI/PreferencesUI.py:3861 +#: flatcamGUI/PreferencesUI.py:4139 msgid "" "The number of circle steps for Geometry \n" "circle and arc shapes linear approximation." @@ -10378,15 +10854,20 @@ msgstr "" "Количество шагов круга для геометрии\n" "линейная аппроксимация окружности и дуги." -#: flatcamGUI/PreferencesUI.py:3890 +#: flatcamGUI/PreferencesUI.py:4153 flatcamGUI/PreferencesUI.py:5320 +#: flatcamGUI/PreferencesUI.py:5887 flatcamGUI/PreferencesUI.py:6953 +msgid "Tools Dia" +msgstr "Диаметр инструмента" + +#: flatcamGUI/PreferencesUI.py:4170 msgid "Geometry Object Color" msgstr "Цвет объектов Geometry" -#: flatcamGUI/PreferencesUI.py:3941 +#: flatcamGUI/PreferencesUI.py:4221 msgid "Geometry Options" msgstr "Параметры Geometry" -#: flatcamGUI/PreferencesUI.py:3949 +#: flatcamGUI/PreferencesUI.py:4229 msgid "" "Create a CNC Job object\n" "tracing the contours of this\n" @@ -10396,11 +10877,11 @@ msgstr "" "контуров данного объекта геометрии\n" "для программы ЧПУ." -#: flatcamGUI/PreferencesUI.py:3993 +#: flatcamGUI/PreferencesUI.py:4273 msgid "Depth/Pass" msgstr "Шаг за проход" -#: flatcamGUI/PreferencesUI.py:3995 +#: flatcamGUI/PreferencesUI.py:4275 msgid "" "The depth to cut on each pass,\n" "when multidepth is enabled.\n" @@ -10414,11 +10895,11 @@ msgstr "" "это доля от глубины\n" "который имеет отрицательное значение." -#: flatcamGUI/PreferencesUI.py:4173 +#: flatcamGUI/PreferencesUI.py:4466 msgid "Geometry Adv. Options" msgstr "Geometry дополнительные" -#: flatcamGUI/PreferencesUI.py:4181 +#: flatcamGUI/PreferencesUI.py:4474 msgid "" "A list of Geometry advanced parameters.\n" "Those parameters are available only for\n" @@ -10428,13 +10909,13 @@ msgstr "" "Эти параметры доступны только для\n" "расширенного режима приложения." -#: flatcamGUI/PreferencesUI.py:4191 flatcamGUI/PreferencesUI.py:6539 -#: flatcamGUI/PreferencesUI.py:7586 flatcamTools/ToolCalibration.py:125 -#: flatcamTools/ToolSolderPaste.py:239 +#: flatcamGUI/PreferencesUI.py:4484 flatcamGUI/PreferencesUI.py:7045 +#: flatcamGUI/PreferencesUI.py:8092 flatcamTools/ToolCalibration.py:125 +#: flatcamTools/ToolSolderPaste.py:241 msgid "Toolchange X-Y" msgstr "Смена инструмента X,Y" -#: flatcamGUI/PreferencesUI.py:4202 +#: flatcamGUI/PreferencesUI.py:4495 msgid "" "Height of the tool just after starting the work.\n" "Delete the value if you don't need this feature." @@ -10442,11 +10923,11 @@ msgstr "" "Высота инструмента сразу после начала работы.\n" "Удалить значение если вам не нужна эта функция." -#: flatcamGUI/PreferencesUI.py:4304 +#: flatcamGUI/PreferencesUI.py:4597 msgid "Segment X size" msgstr "Размер сегмента по X" -#: flatcamGUI/PreferencesUI.py:4306 +#: flatcamGUI/PreferencesUI.py:4599 msgid "" "The size of the trace segment on the X axis.\n" "Useful for auto-leveling.\n" @@ -10456,11 +10937,11 @@ msgstr "" "Полезно для автоматического выравнивания.\n" "Значение 0 означает отсутствие сегментации по оси X." -#: flatcamGUI/PreferencesUI.py:4320 +#: flatcamGUI/PreferencesUI.py:4613 msgid "Segment Y size" msgstr "Размер сегмента по Y" -#: flatcamGUI/PreferencesUI.py:4322 +#: flatcamGUI/PreferencesUI.py:4615 msgid "" "The size of the trace segment on the Y axis.\n" "Useful for auto-leveling.\n" @@ -10470,15 +10951,11 @@ msgstr "" "Полезно для автоматического выравнивания.\n" "Значение 0 означает отсутствие сегментации по оси Y." -#: flatcamGUI/PreferencesUI.py:4343 -msgid "Geometry Editor" -msgstr "Редактор Geometry" - -#: flatcamGUI/PreferencesUI.py:4349 +#: flatcamGUI/PreferencesUI.py:4642 msgid "A list of Geometry Editor parameters." msgstr "Список параметров редактора Geometry." -#: flatcamGUI/PreferencesUI.py:4359 flatcamGUI/PreferencesUI.py:7111 +#: flatcamGUI/PreferencesUI.py:4652 flatcamGUI/PreferencesUI.py:7617 msgid "" "Set the number of selected geometry\n" "items above which the utility geometry\n" @@ -10492,11 +10969,11 @@ msgstr "" "Увеличивает производительность при перемещении\n" "большое количество геометрических элементов." -#: flatcamGUI/PreferencesUI.py:4391 +#: flatcamGUI/PreferencesUI.py:4684 msgid "CNC Job General" msgstr "CNC Job основные" -#: flatcamGUI/PreferencesUI.py:4444 +#: flatcamGUI/PreferencesUI.py:4737 msgid "" "The number of circle steps for GCode \n" "circle and arc shapes linear approximation." @@ -10504,11 +10981,11 @@ msgstr "" "Число шагов круга для G-код \n" "круг и дуга образуют линейное приближение." -#: flatcamGUI/PreferencesUI.py:4453 +#: flatcamGUI/PreferencesUI.py:4746 msgid "Travel dia" msgstr "Диаметр траектории" -#: flatcamGUI/PreferencesUI.py:4455 +#: flatcamGUI/PreferencesUI.py:4748 msgid "" "The width of the travel lines to be\n" "rendered in the plot." @@ -10516,15 +10993,15 @@ msgstr "" "Диаметр инструмента\n" " для черчения контуров." -#: flatcamGUI/PreferencesUI.py:4468 +#: flatcamGUI/PreferencesUI.py:4761 msgid "G-code Decimals" msgstr "G-code десятичные" -#: flatcamGUI/PreferencesUI.py:4471 flatcamTools/ToolFiducials.py:74 +#: flatcamGUI/PreferencesUI.py:4764 flatcamTools/ToolFiducials.py:74 msgid "Coordinates" msgstr "Координаты" -#: flatcamGUI/PreferencesUI.py:4473 +#: flatcamGUI/PreferencesUI.py:4766 msgid "" "The number of decimals to be used for \n" "the X, Y, Z coordinates in CNC code (GCODE, etc.)" @@ -10532,11 +11009,11 @@ msgstr "" "Число десятичных знаков, которые будут использоваться для \n" "координаты X, Y, Z в коде CNC (GCODE, и т.д.)" -#: flatcamGUI/PreferencesUI.py:4484 flatcamTools/ToolProperties.py:492 +#: flatcamGUI/PreferencesUI.py:4777 flatcamTools/ToolProperties.py:519 msgid "Feedrate" msgstr "Скорость подачи" -#: flatcamGUI/PreferencesUI.py:4486 +#: flatcamGUI/PreferencesUI.py:4779 msgid "" "The number of decimals to be used for \n" "the Feedrate parameter in CNC code (GCODE, etc.)" @@ -10544,11 +11021,11 @@ msgstr "" "Число десятичных знаков, которые будут использоваться для \n" "параметра скорости подачи в коде CNC (GCODE, и т.д.)" -#: flatcamGUI/PreferencesUI.py:4497 +#: flatcamGUI/PreferencesUI.py:4790 msgid "Coordinates type" msgstr "Тип координат" -#: flatcamGUI/PreferencesUI.py:4499 +#: flatcamGUI/PreferencesUI.py:4792 msgid "" "The type of coordinates to be used in Gcode.\n" "Can be:\n" @@ -10560,19 +11037,19 @@ msgstr "" "- Абсолютный G90 - > ссылка является началом координат x=0, y=0\n" "- Инкрементальный G91 -> ссылка на предыдущую позицию" -#: flatcamGUI/PreferencesUI.py:4505 +#: flatcamGUI/PreferencesUI.py:4798 msgid "Absolute G90" msgstr "Абсолютный путь G90" -#: flatcamGUI/PreferencesUI.py:4506 +#: flatcamGUI/PreferencesUI.py:4799 msgid "Incremental G91" msgstr "Инкрементальный G91" -#: flatcamGUI/PreferencesUI.py:4516 +#: flatcamGUI/PreferencesUI.py:4809 msgid "Force Windows style line-ending" msgstr "Принудительное завершение строк в стиле Windows" -#: flatcamGUI/PreferencesUI.py:4518 +#: flatcamGUI/PreferencesUI.py:4811 msgid "" "When checked will force a Windows style line-ending\n" "(\\r\\n) on non-Windows OS's." @@ -10581,35 +11058,35 @@ msgstr "" "принудительно завершён\n" "(\\r\\n) в операционных системах, отличных от Windows." -#: flatcamGUI/PreferencesUI.py:4530 +#: flatcamGUI/PreferencesUI.py:4823 msgid "Travel Line Color" msgstr "Цвет линии передвижения" -#: flatcamGUI/PreferencesUI.py:4536 +#: flatcamGUI/PreferencesUI.py:4829 msgid "Set the travel line color for plotted objects." msgstr "Установка цвета линии перемещения для построенных объектов." -#: flatcamGUI/PreferencesUI.py:4596 +#: flatcamGUI/PreferencesUI.py:4889 msgid "CNCJob Object Color" msgstr "Цвет объектов CNCJob" -#: flatcamGUI/PreferencesUI.py:4602 +#: flatcamGUI/PreferencesUI.py:4895 msgid "Set the color for plotted objects." msgstr "Установит цвет линии для построенных объектов." -#: flatcamGUI/PreferencesUI.py:4762 +#: flatcamGUI/PreferencesUI.py:5055 msgid "CNC Job Options" msgstr "Параметры CNC Job" -#: flatcamGUI/PreferencesUI.py:4766 +#: flatcamGUI/PreferencesUI.py:5059 msgid "Export G-Code" msgstr "Экспорт G-кода" -#: flatcamGUI/PreferencesUI.py:4782 +#: flatcamGUI/PreferencesUI.py:5075 msgid "Prepend to G-Code" msgstr "Коды предобработки для G-Code" -#: flatcamGUI/PreferencesUI.py:4791 +#: flatcamGUI/PreferencesUI.py:5084 msgid "" "Type here any G-Code commands you would like to add at the beginning of the " "G-Code file." @@ -10617,11 +11094,11 @@ msgstr "" "Введите здесь любые команды G-Code, которые вы хотите добавить в начало " "файла G-кода." -#: flatcamGUI/PreferencesUI.py:4798 +#: flatcamGUI/PreferencesUI.py:5091 msgid "Append to G-Code" msgstr "Коды постобработки для G-Code" -#: flatcamGUI/PreferencesUI.py:4808 +#: flatcamGUI/PreferencesUI.py:5101 msgid "" "Type here any G-Code commands you would like to append to the generated " "file.\n" @@ -10631,11 +11108,11 @@ msgstr "" "созданному файлу.\n" "например: M2 (конец программы)" -#: flatcamGUI/PreferencesUI.py:4824 +#: flatcamGUI/PreferencesUI.py:5117 msgid "CNC Job Adv. Options" msgstr "CNC Job дополнительные" -#: flatcamGUI/PreferencesUI.py:4861 +#: flatcamGUI/PreferencesUI.py:5154 msgid "" "Type here any G-Code commands you would like to be executed when Toolchange " "event is encountered.\n" @@ -10652,47 +11129,48 @@ msgstr "" "ПРЕДУПРЕЖДЕНИЕ: он может использоваться только с файлом препроцессора, в " "имени которого есть 'toolchange_custom'." -#: flatcamGUI/PreferencesUI.py:4916 +#: flatcamGUI/PreferencesUI.py:5209 msgid "Z depth for the cut" msgstr "Z глубина распила" -#: flatcamGUI/PreferencesUI.py:4917 +#: flatcamGUI/PreferencesUI.py:5210 msgid "Z height for travel" msgstr "Высота Z для перемещения" -#: flatcamGUI/PreferencesUI.py:4923 +#: flatcamGUI/PreferencesUI.py:5216 msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM" msgstr "" "dwelltime = время, чтобы остановиться, чтобы позволить шпинделю достичь его " "установлен об / мин" -#: flatcamGUI/PreferencesUI.py:4942 +#: flatcamGUI/PreferencesUI.py:5235 msgid "Annotation Size" msgstr "Размер примечаний" -#: flatcamGUI/PreferencesUI.py:4944 +#: flatcamGUI/PreferencesUI.py:5237 msgid "The font size of the annotation text. In pixels." msgstr "Размер шрифта текста примечаний. В пикселях." -#: flatcamGUI/PreferencesUI.py:4954 +#: flatcamGUI/PreferencesUI.py:5247 msgid "Annotation Color" msgstr "Цвет примечаний" -#: flatcamGUI/PreferencesUI.py:4956 +#: flatcamGUI/PreferencesUI.py:5249 msgid "Set the font color for the annotation texts." msgstr "Устанавливает цвет шрифта для текста примечаний." -#: flatcamGUI/PreferencesUI.py:5013 +#: flatcamGUI/PreferencesUI.py:5306 msgid "NCC Tool Options" msgstr "Очистка меди" -#: flatcamGUI/PreferencesUI.py:5027 flatcamGUI/PreferencesUI.py:6449 -msgid "Tools dia" -msgstr "Диаметр инструмента" +#: flatcamGUI/PreferencesUI.py:5328 flatcamGUI/PreferencesUI.py:5896 +msgid "Comma separated values" +msgstr "" -#: flatcamGUI/PreferencesUI.py:5038 flatcamGUI/PreferencesUI.py:5046 -#: flatcamTools/ToolNonCopperClear.py:215 -#: flatcamTools/ToolNonCopperClear.py:223 +#: flatcamGUI/PreferencesUI.py:5334 flatcamGUI/PreferencesUI.py:5342 +#: flatcamGUI/PreferencesUI.py:5903 flatcamTools/ToolNCC.py:215 +#: flatcamTools/ToolNCC.py:223 flatcamTools/ToolPaint.py:198 +#: flatcamTools/ToolPaint.py:206 msgid "" "Default tool type:\n" "- 'V-shape'\n" @@ -10702,13 +11180,15 @@ msgstr "" "- \"V-образная форма\" \n" "- Круглый" -#: flatcamGUI/PreferencesUI.py:5043 flatcamTools/ToolNonCopperClear.py:220 +#: flatcamGUI/PreferencesUI.py:5339 flatcamGUI/PreferencesUI.py:5908 +#: flatcamTools/ToolNCC.py:220 flatcamTools/ToolPaint.py:203 msgid "V-shape" msgstr "V-образный" -#: flatcamGUI/PreferencesUI.py:5083 flatcamGUI/PreferencesUI.py:5092 -#: flatcamTools/ToolNonCopperClear.py:256 -#: flatcamTools/ToolNonCopperClear.py:264 +#: flatcamGUI/PreferencesUI.py:5379 flatcamGUI/PreferencesUI.py:5388 +#: flatcamGUI/PreferencesUI.py:5946 flatcamGUI/PreferencesUI.py:5955 +#: flatcamTools/ToolNCC.py:262 flatcamTools/ToolNCC.py:271 +#: flatcamTools/ToolPaint.py:245 flatcamTools/ToolPaint.py:254 msgid "" "Depth of cut into material. Negative value.\n" "In FlatCAM units." @@ -10716,34 +11196,26 @@ msgstr "" "Диаметр инструмента. Это значение (в текущих единицах FlatCAM) \n" "ширины разреза в материале." -#: flatcamGUI/PreferencesUI.py:5102 -msgid "The new tool diameter (cut width) to add in the tool table." -msgstr "" -"Диаметр нового инструмента (ширина разреза) добавлен в таблицу инструментов." - -#: flatcamGUI/PreferencesUI.py:5114 flatcamGUI/PreferencesUI.py:5122 -#: flatcamTools/ToolNonCopperClear.py:164 -#: flatcamTools/ToolNonCopperClear.py:172 +#: flatcamGUI/PreferencesUI.py:5398 flatcamGUI/PreferencesUI.py:5964 +#: flatcamTools/ToolNCC.py:280 flatcamTools/ToolPaint.py:263 msgid "" -"Milling type when the selected tool is of type: 'iso_op':\n" -"- climb / best for precision milling and to reduce tool usage\n" -"- conventional / useful when there is no backlash compensation" +"Diameter for the new tool to add in the Tool Table.\n" +"If the tool is V-shape type then this value is automatically\n" +"calculated from the other parameters." msgstr "" -"Тип фрезерования, когда выбранный инструмент имеет тип: 'iso_op':\n" -"- climb / лучше всего подходит для точного фрезерования и уменьшения " -"использования инструмента\n" -"- conventional / полезен, когда нет компенсации люфта" +"Диаметр нового инструмента для добавления в таблицу инструментов.\n" +"Если инструмент имеет V-образную форму, то это значение автоматически\n" +"вычисляется из других параметров." -#: flatcamGUI/PreferencesUI.py:5131 flatcamGUI/PreferencesUI.py:5546 -#: flatcamTools/ToolNonCopperClear.py:181 flatcamTools/ToolPaint.py:153 +#: flatcamGUI/PreferencesUI.py:5435 flatcamGUI/PreferencesUI.py:5981 +#: flatcamTools/ToolNCC.py:174 flatcamTools/ToolPaint.py:158 msgid "Tool order" msgstr "Порядок инструмента" -#: flatcamGUI/PreferencesUI.py:5132 flatcamGUI/PreferencesUI.py:5142 -#: flatcamGUI/PreferencesUI.py:5547 flatcamGUI/PreferencesUI.py:5557 -#: flatcamTools/ToolNonCopperClear.py:182 -#: flatcamTools/ToolNonCopperClear.py:192 flatcamTools/ToolPaint.py:154 -#: flatcamTools/ToolPaint.py:164 +#: flatcamGUI/PreferencesUI.py:5436 flatcamGUI/PreferencesUI.py:5446 +#: flatcamGUI/PreferencesUI.py:5982 flatcamTools/ToolNCC.py:175 +#: flatcamTools/ToolNCC.py:185 flatcamTools/ToolPaint.py:159 +#: flatcamTools/ToolPaint.py:169 msgid "" "This set the way that the tools in the tools table are used.\n" "'No' --> means that the used order is the one in the tool table\n" @@ -10765,70 +11237,40 @@ msgstr "" "установит порядок\n" "на 'Обратный' и отключит этот элемент управления." -#: flatcamGUI/PreferencesUI.py:5140 flatcamGUI/PreferencesUI.py:5555 -#: flatcamTools/ToolNonCopperClear.py:190 flatcamTools/ToolPaint.py:162 +#: flatcamGUI/PreferencesUI.py:5444 flatcamGUI/PreferencesUI.py:5990 +#: flatcamTools/ToolNCC.py:183 flatcamTools/ToolPaint.py:167 msgid "Forward" msgstr "Прямой" -#: flatcamGUI/PreferencesUI.py:5141 flatcamGUI/PreferencesUI.py:5556 -#: flatcamTools/ToolNonCopperClear.py:191 flatcamTools/ToolPaint.py:163 +#: flatcamGUI/PreferencesUI.py:5445 flatcamGUI/PreferencesUI.py:5991 +#: flatcamTools/ToolNCC.py:184 flatcamTools/ToolPaint.py:168 msgid "Reverse" msgstr "Обратный" -#: flatcamGUI/PreferencesUI.py:5154 flatcamTools/ToolNonCopperClear.py:321 +#: flatcamGUI/PreferencesUI.py:5545 +msgid "Offset value" +msgstr "Значение смещения" + +#: flatcamGUI/PreferencesUI.py:5547 msgid "" -"How much (fraction) 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" -"Lower values = faster processing, faster execution on CNC.\n" -"Higher values = slow processing and slow execution on CNC\n" -"due of too many paths." +"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." msgstr "" -"Какая часть ширины инструмента будет перекрываться за каждый проход " -"инструмента.\n" -"Отрегулируйте значение, начиная с более низких значений\n" -"и увеличивая его, если области, которые должны быть очищены, все еще\n" -"не очищены.\n" -"Более низкие значения = более быстрая обработка, более быстрое выполнение на " -"печатной плате.\n" -"Более высокие значения = медленная обработка и медленное выполнение на ЧПУ\n" -"из-за большого количества путей." +"При использовании он добавит смещение к медным элементам.\n" +"Очистка меди завершится на расстоянии\n" +"от медных элементов.\n" +"Это значение может находиться в диапазоне от 0,0 до 9999,9 единиц измерения " +"FlatCAM." -#: flatcamGUI/PreferencesUI.py:5173 flatcamGUI/PreferencesUI.py:7177 -#: flatcamGUI/PreferencesUI.py:7419 flatcamGUI/PreferencesUI.py:7483 -#: flatcamTools/ToolCopperThieving.py:113 flatcamTools/ToolFiducials.py:174 -#: flatcamTools/ToolFiducials.py:237 flatcamTools/ToolNonCopperClear.py:339 -msgid "Bounding box margin." -msgstr "Граница рамки." - -#: flatcamGUI/PreferencesUI.py:5186 flatcamGUI/PreferencesUI.py:5604 -#: flatcamTools/ToolNonCopperClear.py:350 -msgid "" -"Algorithm for non-copper clearing:
Standard: Fixed step inwards." -"
Seed-based: Outwards from seed.
Line-based: Parallel " -"lines." -msgstr "" -"Алгоритм очисти от меди:
Стандартный: Движение фрезы сужающимися " -"контурами, повторяющими контур полигона.
По кругу: Обработка " -"правильными окружностями.
Линейный: Паралельными линиями." - -#: flatcamGUI/PreferencesUI.py:5202 flatcamGUI/PreferencesUI.py:5618 -#: flatcamTools/ToolNonCopperClear.py:364 flatcamTools/ToolPaint.py:267 -msgid "Connect" -msgstr "Подключение" - -#: flatcamGUI/PreferencesUI.py:5211 flatcamGUI/PreferencesUI.py:5626 -#: flatcamTools/ToolNonCopperClear.py:371 flatcamTools/ToolPaint.py:274 -msgid "Contour" -msgstr "Контур" - -#: flatcamGUI/PreferencesUI.py:5220 flatcamTools/ToolNonCopperClear.py:379 -#: flatcamTools/ToolPaint.py:281 +#: flatcamGUI/PreferencesUI.py:5567 flatcamGUI/PreferencesUI.py:6083 +#: flatcamGUI/PreferencesUI.py:6084 flatcamTools/ToolNCC.py:512 +#: flatcamTools/ToolPaint.py:442 msgid "Rest Machining" msgstr "Обработка остаточного припуска" -#: flatcamGUI/PreferencesUI.py:5222 flatcamTools/ToolNonCopperClear.py:381 +#: flatcamGUI/PreferencesUI.py:5569 flatcamTools/ToolNCC.py:516 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" @@ -10846,83 +11288,67 @@ msgstr "" "больше не останется меди для очистки или больше не будет инструментов.\n" "Если флажок не установлен, используется стандартный алгоритм." -#: flatcamGUI/PreferencesUI.py:5236 flatcamTools/ToolNonCopperClear.py:395 -#: flatcamTools/ToolNonCopperClear.py:405 +#: flatcamGUI/PreferencesUI.py:5588 flatcamGUI/PreferencesUI.py:6119 +#: flatcamGUI/PreferencesUI.py:7696 flatcamTools/ToolCopperThieving.py:127 +#: flatcamTools/ToolNCC.py:535 flatcamTools/ToolNCC.py:1309 +#: flatcamTools/ToolNCC.py:1651 flatcamTools/ToolNCC.py:1935 +#: flatcamTools/ToolNCC.py:1990 flatcamTools/ToolPaint.py:486 +#: flatcamTools/ToolPaint.py:939 flatcamTools/ToolPaint.py:1440 +msgid "Area Selection" +msgstr "Выбор области" + +#: flatcamGUI/PreferencesUI.py:5588 flatcamGUI/PreferencesUI.py:6119 +#: flatcamGUI/PreferencesUI.py:7697 flatcamTools/ToolCopperThieving.py:128 +#: flatcamTools/ToolDblSided.py:217 flatcamTools/ToolNCC.py:535 +#: flatcamTools/ToolNCC.py:1667 flatcamTools/ToolNCC.py:1941 +#: flatcamTools/ToolNCC.py:1998 flatcamTools/ToolNCC.py:2306 +#: flatcamTools/ToolNCC.py:2586 flatcamTools/ToolNCC.py:3012 +#: flatcamTools/ToolPaint.py:486 flatcamTools/ToolPaint.py:924 +#: flatcamTools/ToolPaint.py:1456 tclCommands/TclCommandCopperClear.py:192 +#: tclCommands/TclCommandPaint.py:166 +msgid "Reference Object" +msgstr "Ссылочный объект" + +#: flatcamGUI/PreferencesUI.py:5592 flatcamTools/ToolNCC.py:541 msgid "" -"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." -msgstr "" -"Если используется, это добавит смещение к медным элементам.\n" -"Очистка котла закончится на расстоянии\n" -"из медных штучек.\n" -"Значение может быть от 0 до 10 единиц FlatCAM." - -#: flatcamGUI/PreferencesUI.py:5245 flatcamTools/ToolNonCopperClear.py:403 -msgid "Offset value" -msgstr "Значение смещения" - -#: flatcamGUI/PreferencesUI.py:5247 -msgid "" -"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." -msgstr "" -"При использовании он добавит смещение к медным элементам.\n" -"Очистка меди завершится на расстоянии\n" -"от медных элементов.\n" -"Это значение может находиться в диапазоне от 0,0 до 9999,9 единиц измерения " -"FlatCAM." - -#: flatcamGUI/PreferencesUI.py:5262 flatcamGUI/PreferencesUI.py:7189 -#: flatcamTools/ToolCopperThieving.py:125 -#: flatcamTools/ToolNonCopperClear.py:429 -msgid "Itself" -msgstr "Как есть" - -#: flatcamGUI/PreferencesUI.py:5263 flatcamGUI/PreferencesUI.py:5646 -msgid "Area" -msgstr "Площадь" - -#: flatcamGUI/PreferencesUI.py:5264 flatcamGUI/PreferencesUI.py:5648 -msgid "Ref" -msgstr "Ссылка" - -#: flatcamGUI/PreferencesUI.py:5267 -msgid "" -"- 'Itself' - the non copper clearing extent\n" -"is based on the object that is copper cleared.\n" +"Selection of area to be processed.\n" +"- 'Itself' - the processing extent is based on the object that is " +"processed.\n" " - 'Area Selection' - left mouse click to start selection of the area to be " -"painted.\n" -"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " -"areas.\n" -"- 'Reference Object' - will do non copper clearing within the area\n" -"specified by another object." +"processed.\n" +"- 'Reference Object' - will process the area specified by another object." msgstr "" -"- 'Как есть' - степень очистки меди\n" -"основан на объекте, который очищается от меди.\n" +"Выбор области для обработки.\n" +"- 'Как есть' - степень очистки меди, основано на объекте, который очищается " +"от меди.\n" " - 'Выбор области' - щелкните левой кнопкой мыши для начала выбора области " "для рисования.\n" -"Удерживая нажатой клавишу (CTRL или SHIFT), можно добавить несколько " -"областей.\n" -"- 'Референсный объект' - будет выполнять очистку от меди в области\n" -"указанной другим объектом." +"- 'Референсный объект' - будет выполнять очистку от меди в области указанной " +"другим объектом." -#: flatcamGUI/PreferencesUI.py:5279 flatcamGUI/PreferencesUI.py:5654 +#: flatcamGUI/PreferencesUI.py:5601 flatcamGUI/PreferencesUI.py:6125 +#: flatcamTools/ToolNCC.py:578 flatcamTools/ToolPaint.py:522 +msgid "Shape" +msgstr "Форма" + +#: flatcamGUI/PreferencesUI.py:5603 flatcamGUI/PreferencesUI.py:6127 +#: flatcamTools/ToolNCC.py:580 flatcamTools/ToolPaint.py:524 +msgid "The kind of selection shape used for area selection." +msgstr "Вид формы выделения, используемый для выделения области." + +#: flatcamGUI/PreferencesUI.py:5618 flatcamGUI/PreferencesUI.py:6142 msgid "Normal" msgstr "Нормальный" -#: flatcamGUI/PreferencesUI.py:5280 flatcamGUI/PreferencesUI.py:5655 +#: flatcamGUI/PreferencesUI.py:5619 flatcamGUI/PreferencesUI.py:6143 msgid "Progressive" msgstr "Последовательный" -#: flatcamGUI/PreferencesUI.py:5281 +#: flatcamGUI/PreferencesUI.py:5620 msgid "NCC Plotting" msgstr "Прорисовка очистки от меди" -#: flatcamGUI/PreferencesUI.py:5283 +#: flatcamGUI/PreferencesUI.py:5622 msgid "" "- 'Normal' - normal plotting, done at the end of the NCC job\n" "- 'Progressive' - after each shape is generated it will be plotted." @@ -10932,16 +11358,16 @@ msgstr "" "- 'Последовательный' - после создания каждой фигуры она будет нанесена на " "график." -#: flatcamGUI/PreferencesUI.py:5297 +#: flatcamGUI/PreferencesUI.py:5636 msgid "Cutout Tool Options" msgstr "Обрезка платы" -#: flatcamGUI/PreferencesUI.py:5312 flatcamTools/ToolCalculators.py:123 -#: flatcamTools/ToolCutOut.py:123 +#: flatcamGUI/PreferencesUI.py:5651 flatcamTools/ToolCalculators.py:123 +#: flatcamTools/ToolCutOut.py:130 msgid "Tool Diameter" msgstr "Диаметр инструмента" -#: flatcamGUI/PreferencesUI.py:5314 flatcamTools/ToolCutOut.py:125 +#: flatcamGUI/PreferencesUI.py:5653 flatcamTools/ToolCutOut.py:132 msgid "" "Diameter of the tool used to cutout\n" "the PCB shape out of the surrounding material." @@ -10949,11 +11375,11 @@ msgstr "" "Диаметр инструмента, используемого для вырезания\n" "форма печатной платы из окружающего материала." -#: flatcamGUI/PreferencesUI.py:5369 flatcamTools/ToolCutOut.py:104 +#: flatcamGUI/PreferencesUI.py:5708 msgid "Object kind" msgstr "Вид объекта" -#: flatcamGUI/PreferencesUI.py:5371 flatcamTools/ToolCutOut.py:106 +#: flatcamGUI/PreferencesUI.py:5710 flatcamTools/ToolCutOut.py:78 msgid "" "Choice of what kind the object we want to cutout is.
- Single: " "contain a single PCB Gerber outline object.
- Panel: a panel PCB " @@ -10965,15 +11391,15 @@ msgstr "" "Гербера PCB панели, который сделан\n" "из множества отдельных печатных плат очертания." -#: flatcamGUI/PreferencesUI.py:5378 flatcamTools/ToolCutOut.py:112 +#: flatcamGUI/PreferencesUI.py:5717 flatcamTools/ToolCutOut.py:84 msgid "Single" msgstr "Одиночный" -#: flatcamGUI/PreferencesUI.py:5379 flatcamTools/ToolCutOut.py:113 +#: flatcamGUI/PreferencesUI.py:5718 flatcamTools/ToolCutOut.py:85 msgid "Panel" msgstr "Панель" -#: flatcamGUI/PreferencesUI.py:5386 flatcamTools/ToolCutOut.py:186 +#: flatcamGUI/PreferencesUI.py:5725 flatcamTools/ToolCutOut.py:193 msgid "" "Margin over bounds. A positive value here\n" "will make the cutout of the PCB further from\n" @@ -10983,11 +11409,11 @@ msgstr "" "сделает вырез печатной платы дальше от\n" "фактической границы печатной платы" -#: flatcamGUI/PreferencesUI.py:5399 flatcamTools/ToolCutOut.py:197 +#: flatcamGUI/PreferencesUI.py:5738 flatcamTools/ToolCutOut.py:204 msgid "Gap size" msgstr "Размер перемычки" -#: flatcamGUI/PreferencesUI.py:5401 flatcamTools/ToolCutOut.py:199 +#: flatcamGUI/PreferencesUI.py:5740 flatcamTools/ToolCutOut.py:206 msgid "" "The size of the bridge gaps in the cutout\n" "used to keep the board connected to\n" @@ -10999,11 +11425,11 @@ msgstr "" "окружающий материал (тот самый \n" "из которого вырезается печатная плата)." -#: flatcamGUI/PreferencesUI.py:5415 flatcamTools/ToolCutOut.py:241 +#: flatcamGUI/PreferencesUI.py:5754 flatcamTools/ToolCutOut.py:250 msgid "Gaps" msgstr "Вариант" -#: flatcamGUI/PreferencesUI.py:5417 +#: flatcamGUI/PreferencesUI.py:5756 msgid "" "Number of gaps used for the cutout.\n" "There can be maximum 8 bridges/gaps.\n" @@ -11027,11 +11453,11 @@ msgstr "" "- 2tb - 2*сверху + 2*снизу \n" "- 8 - 2*слева + 2*справа + 2*сверху + 2*снизу" -#: flatcamGUI/PreferencesUI.py:5439 flatcamTools/ToolCutOut.py:216 +#: flatcamGUI/PreferencesUI.py:5778 flatcamTools/ToolCutOut.py:223 msgid "Convex Shape" msgstr "Выпуклая форма" -#: flatcamGUI/PreferencesUI.py:5441 flatcamTools/ToolCutOut.py:219 +#: flatcamGUI/PreferencesUI.py:5780 flatcamTools/ToolCutOut.py:226 msgid "" "Create a convex shape surrounding the entire PCB.\n" "Used only if the source object type is Gerber." @@ -11039,11 +11465,11 @@ msgstr "" "Создайте выпуклую форму, окружающую всю печатную плату.\n" "Используется только в том случае, если тип исходного объекта-Gerber." -#: flatcamGUI/PreferencesUI.py:5454 +#: flatcamGUI/PreferencesUI.py:5793 msgid "2Sided Tool Options" msgstr "2-х сторонняя плата" -#: flatcamGUI/PreferencesUI.py:5460 +#: flatcamGUI/PreferencesUI.py:5799 msgid "" "A tool to help in creating a double sided\n" "PCB using alignment holes." @@ -11051,36 +11477,43 @@ msgstr "" "Инструмент, помогающий создать двухстороннюю\n" "печатную плату с использованием центрирующих отверстий." -#: flatcamGUI/PreferencesUI.py:5474 +#: flatcamGUI/PreferencesUI.py:5813 msgid "Drill dia" msgstr "Диаметр сверла" -#: flatcamGUI/PreferencesUI.py:5476 flatcamTools/ToolDblSided.py:274 -#: flatcamTools/ToolDblSided.py:285 +#: flatcamGUI/PreferencesUI.py:5815 flatcamTools/ToolDblSided.py:364 +#: flatcamTools/ToolDblSided.py:369 msgid "Diameter of the drill for the alignment holes." msgstr "Диаметр сверла для контрольных отверстий." -#: flatcamGUI/PreferencesUI.py:5485 flatcamTools/ToolDblSided.py:146 -msgid "Mirror Axis:" -msgstr "Зеркальное отражение:" +#: flatcamGUI/PreferencesUI.py:5822 flatcamTools/ToolDblSided.py:378 +#, fuzzy +#| msgid "Align Right" +msgid "Align Axis" +msgstr "Выравнивание по правому краю" -#: flatcamGUI/PreferencesUI.py:5487 flatcamTools/ToolDblSided.py:147 +#: flatcamGUI/PreferencesUI.py:5824 flatcamGUI/PreferencesUI.py:5837 +#: flatcamTools/ToolDblSided.py:166 flatcamTools/ToolDblSided.py:380 msgid "Mirror vertically (X) or horizontally (Y)." msgstr "Отразить по вертикали (X) или горизонтали (Y)." -#: flatcamGUI/PreferencesUI.py:5496 flatcamTools/ToolDblSided.py:156 +#: flatcamGUI/PreferencesUI.py:5835 +msgid "Mirror Axis:" +msgstr "Зеркальное отражение:" + +#: flatcamGUI/PreferencesUI.py:5846 flatcamTools/ToolDblSided.py:182 msgid "Point" msgstr "Точка" -#: flatcamGUI/PreferencesUI.py:5497 flatcamTools/ToolDblSided.py:157 +#: flatcamGUI/PreferencesUI.py:5847 flatcamTools/ToolDblSided.py:183 msgid "Box" msgstr "Рамка" -#: flatcamGUI/PreferencesUI.py:5498 flatcamTools/ToolDblSided.py:158 +#: flatcamGUI/PreferencesUI.py:5848 msgid "Axis Ref" msgstr "Указатель оси" -#: flatcamGUI/PreferencesUI.py:5500 flatcamTools/ToolDblSided.py:160 +#: flatcamGUI/PreferencesUI.py:5850 msgid "" "The axis should pass through a point or cut\n" " a specified box (in a FlatCAM object) through \n" @@ -11090,29 +11523,47 @@ msgstr "" "указанный коробка (в объекте FlatCAM) через\n" "центр." -#: flatcamGUI/PreferencesUI.py:5516 +#: flatcamGUI/PreferencesUI.py:5866 msgid "Paint Tool Options" msgstr "Рисование" -#: flatcamGUI/PreferencesUI.py:5522 +#: flatcamGUI/PreferencesUI.py:5872 msgid "Parameters:" msgstr "Параметры:" -#: flatcamGUI/PreferencesUI.py:5636 flatcamTools/ToolPaint.py:296 -#: flatcamTools/ToolPaint.py:313 +#: flatcamGUI/PreferencesUI.py:6086 flatcamTools/ToolPaint.py:445 msgid "" -"How to select Polygons to be painted.\n" +"If checked, use 'rest machining'.\n" +"Basically it will clear 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" +"If not checked, use the standard algorithm." +msgstr "" +"Если установлен этот флажок, используйте «остальная обработка».\n" +"В основном это очистит медь от внешних особенностей печатной платы,\n" +"используя самый большой инструмент и переходите к следующим инструментам,\n" +"от большего к меньшему, чтобы очистить участки меди, которые\n" +"не может быть очищен предыдущим инструментом, пока\n" +"больше нет меди для очистки или больше нет инструментов.\n" +"\n" +"Если не проверено, используйте стандартный алгоритм." + +#: flatcamGUI/PreferencesUI.py:6099 flatcamTools/ToolPaint.py:458 +msgid "" +"Selection of area to be processed.\n" "- 'Polygon Selection' - left mouse click to add/remove polygons to be " -"painted.\n" +"processed.\n" "- 'Area Selection' - left mouse click to start selection of the area to be " -"painted.\n" +"processed.\n" "Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " "areas.\n" -"- 'All Polygons' - the Paint will start after click.\n" -"- 'Reference Object' - will do non copper clearing within the area\n" -"specified by another object." +"- 'All Polygons' - the process will start after click.\n" +"- 'Reference Object' - will process the area specified by another object." msgstr "" -"Как выбрать полигоны для рисования.\n" +"Выбор области для обработки.\n" "- 'Выделение полигонов' - щелкните левой кнопкой мыши, чтобы добавить/" "удалить полигоны для рисования.\n" "- 'Выделение области' - щелкните левой кнопкой мыши, чтобы начать выделение " @@ -11124,15 +11575,17 @@ msgstr "" "участка.\n" "указанным другим объектом." -#: flatcamGUI/PreferencesUI.py:5645 -msgid "Sel" -msgstr "Одиночный" +#: flatcamGUI/PreferencesUI.py:6119 flatcamTools/ToolPaint.py:486 +#: flatcamTools/ToolPaint.py:935 flatcamTools/ToolPaint.py:1420 +#: tclCommands/TclCommandPaint.py:164 +msgid "Polygon Selection" +msgstr "Выбор полигона" -#: flatcamGUI/PreferencesUI.py:5656 +#: flatcamGUI/PreferencesUI.py:6144 msgid "Paint Plotting" msgstr "Прорисовка рисования" -#: flatcamGUI/PreferencesUI.py:5658 +#: flatcamGUI/PreferencesUI.py:6146 msgid "" "- 'Normal' - normal plotting, done at the end of the Paint job\n" "- 'Progressive' - after each shape is generated it will be plotted." @@ -11142,11 +11595,11 @@ msgstr "" "- 'Последовательный' - после создания каждой фигуры она будет нанесена на " "график." -#: flatcamGUI/PreferencesUI.py:5672 +#: flatcamGUI/PreferencesUI.py:6160 msgid "Film Tool Options" msgstr "Плёнка" -#: flatcamGUI/PreferencesUI.py:5678 +#: flatcamGUI/PreferencesUI.py:6166 msgid "" "Create a PCB film from a Gerber or Geometry\n" "FlatCAM object.\n" @@ -11156,11 +11609,11 @@ msgstr "" "объектов FlatCAM.\n" "Файл сохраняется в формате SVG." -#: flatcamGUI/PreferencesUI.py:5689 +#: flatcamGUI/PreferencesUI.py:6177 msgid "Film Type" msgstr "Тип плёнки" -#: flatcamGUI/PreferencesUI.py:5691 flatcamTools/ToolFilm.py:300 +#: flatcamGUI/PreferencesUI.py:6179 flatcamTools/ToolFilm.py:300 msgid "" "Generate a Positive black film or a Negative film.\n" "Positive means that it will print the features\n" @@ -11176,19 +11629,19 @@ msgstr "" "белым на черном холсте.\n" "Формат плёнки - SVG." -#: flatcamGUI/PreferencesUI.py:5702 +#: flatcamGUI/PreferencesUI.py:6190 msgid "Film Color" msgstr "Цвет пленки" -#: flatcamGUI/PreferencesUI.py:5704 +#: flatcamGUI/PreferencesUI.py:6192 msgid "Set the film color when positive film is selected." msgstr "Устанавливает цвет плёнки при режиме \"Позитив\"." -#: flatcamGUI/PreferencesUI.py:5727 flatcamTools/ToolFilm.py:316 +#: flatcamGUI/PreferencesUI.py:6215 flatcamTools/ToolFilm.py:316 msgid "Border" msgstr "Отступ" -#: flatcamGUI/PreferencesUI.py:5729 flatcamTools/ToolFilm.py:318 +#: flatcamGUI/PreferencesUI.py:6217 flatcamTools/ToolFilm.py:318 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -11208,11 +11661,11 @@ msgstr "" "и которые могут смешаться с \n" "окружающими, если бы не эта граница." -#: flatcamGUI/PreferencesUI.py:5746 flatcamTools/ToolFilm.py:283 +#: flatcamGUI/PreferencesUI.py:6234 flatcamTools/ToolFilm.py:283 msgid "Scale Stroke" msgstr "Масштаб обводки" -#: flatcamGUI/PreferencesUI.py:5748 flatcamTools/ToolFilm.py:285 +#: flatcamGUI/PreferencesUI.py:6236 flatcamTools/ToolFilm.py:285 msgid "" "Scale the line stroke thickness of each feature in the SVG file.\n" "It means that the line that envelope each SVG feature will be thicker or " @@ -11224,11 +11677,11 @@ msgstr "" "тоньше,\n" "поэтому этот параметр может сильно влиять на мелкие объекты." -#: flatcamGUI/PreferencesUI.py:5755 flatcamTools/ToolFilm.py:141 +#: flatcamGUI/PreferencesUI.py:6243 flatcamTools/ToolFilm.py:141 msgid "Film Adjustments" msgstr "Регулировка Пленки" -#: flatcamGUI/PreferencesUI.py:5757 flatcamTools/ToolFilm.py:143 +#: flatcamGUI/PreferencesUI.py:6245 flatcamTools/ToolFilm.py:143 msgid "" "Sometime the printers will distort the print shape, especially the Laser " "types.\n" @@ -11237,11 +11690,11 @@ msgstr "" "Иногда принтеры могут искажать форму печати, особенно лазерные.\n" "В этом разделе представлены инструменты для компенсации искажений печати." -#: flatcamGUI/PreferencesUI.py:5764 flatcamTools/ToolFilm.py:150 +#: flatcamGUI/PreferencesUI.py:6252 flatcamTools/ToolFilm.py:150 msgid "Scale Film geometry" msgstr "Масштабирование плёнки" -#: flatcamGUI/PreferencesUI.py:5766 flatcamTools/ToolFilm.py:152 +#: flatcamGUI/PreferencesUI.py:6254 flatcamTools/ToolFilm.py:152 msgid "" "A value greater than 1 will stretch the film\n" "while a value less than 1 will jolt it." @@ -11249,21 +11702,21 @@ msgstr "" "Значение больше 1 растянет пленку\n" "в то время как значение меньше 1 будет её сжимать." -#: flatcamGUI/PreferencesUI.py:5776 flatcamGUI/PreferencesUI.py:6296 -#: flatcamTools/ToolFilm.py:162 flatcamTools/ToolTransform.py:148 +#: flatcamGUI/PreferencesUI.py:6264 flatcamGUI/PreferencesUI.py:6783 +#: flatcamTools/ToolFilm.py:162 flatcamTools/ToolTransform.py:149 msgid "X factor" msgstr "Коэффициент X" -#: flatcamGUI/PreferencesUI.py:5785 flatcamGUI/PreferencesUI.py:6309 +#: flatcamGUI/PreferencesUI.py:6273 flatcamGUI/PreferencesUI.py:6796 #: flatcamTools/ToolFilm.py:171 flatcamTools/ToolTransform.py:169 msgid "Y factor" msgstr "Коэффициент Y" -#: flatcamGUI/PreferencesUI.py:5795 flatcamTools/ToolFilm.py:189 +#: flatcamGUI/PreferencesUI.py:6283 flatcamTools/ToolFilm.py:189 msgid "Skew Film geometry" msgstr "Наклон плёнки" -#: flatcamGUI/PreferencesUI.py:5797 flatcamTools/ToolFilm.py:191 +#: flatcamGUI/PreferencesUI.py:6285 flatcamTools/ToolFilm.py:191 msgid "" "Positive values will skew to the right\n" "while negative values will skew to the left." @@ -11271,17 +11724,17 @@ msgstr "" "Положительные значения будут смещать вправо,\n" "а отрицательные значения будут смещать влево." -#: flatcamGUI/PreferencesUI.py:5807 flatcamGUI/PreferencesUI.py:6265 +#: flatcamGUI/PreferencesUI.py:6295 flatcamGUI/PreferencesUI.py:6752 #: flatcamTools/ToolFilm.py:201 flatcamTools/ToolTransform.py:98 msgid "X angle" msgstr "Угол наклона X" -#: flatcamGUI/PreferencesUI.py:5816 flatcamGUI/PreferencesUI.py:6279 -#: flatcamTools/ToolFilm.py:210 flatcamTools/ToolTransform.py:120 +#: flatcamGUI/PreferencesUI.py:6304 flatcamGUI/PreferencesUI.py:6766 +#: flatcamTools/ToolFilm.py:210 flatcamTools/ToolTransform.py:119 msgid "Y angle" msgstr "Угол наклона Y" -#: flatcamGUI/PreferencesUI.py:5827 flatcamTools/ToolFilm.py:221 +#: flatcamGUI/PreferencesUI.py:6315 flatcamTools/ToolFilm.py:221 msgid "" "The reference point to be used as origin for the skew.\n" "It can be one of the four points of the geometry bounding box." @@ -11289,57 +11742,53 @@ msgstr "" "Опорная точка, используемая в качестве исходной точки для перекоса.\n" "Это может быть одна из четырех точек геометрии ограничительной рамки." -#: flatcamGUI/PreferencesUI.py:5830 flatcamTools/ToolFiducials.py:87 +#: flatcamGUI/PreferencesUI.py:6318 flatcamTools/ToolFiducials.py:87 #: flatcamTools/ToolFilm.py:224 msgid "Bottom Left" msgstr "Нижний левый" -#: flatcamGUI/PreferencesUI.py:5831 flatcamTools/ToolFilm.py:225 +#: flatcamGUI/PreferencesUI.py:6319 flatcamTools/ToolFilm.py:225 msgid "Top Left" msgstr "Верхний левый" -#: flatcamGUI/PreferencesUI.py:5832 flatcamTools/ToolFilm.py:226 +#: flatcamGUI/PreferencesUI.py:6320 flatcamTools/ToolFilm.py:226 msgid "Bottom Right" msgstr "Нижний правый" -#: flatcamGUI/PreferencesUI.py:5833 flatcamTools/ToolFilm.py:227 +#: flatcamGUI/PreferencesUI.py:6321 flatcamTools/ToolFilm.py:227 msgid "Top right" msgstr "Верхний правый" -#: flatcamGUI/PreferencesUI.py:5841 flatcamTools/ToolFilm.py:244 +#: flatcamGUI/PreferencesUI.py:6329 flatcamTools/ToolFilm.py:244 msgid "Mirror Film geometry" msgstr "Зеркалирование геометрии пленки" -#: flatcamGUI/PreferencesUI.py:5843 flatcamTools/ToolFilm.py:246 +#: flatcamGUI/PreferencesUI.py:6331 flatcamTools/ToolFilm.py:246 msgid "Mirror the film geometry on the selected axis or on both." msgstr "Зеркалирование геометрии пленки на выбранной оси или на обеих." -#: flatcamGUI/PreferencesUI.py:5855 flatcamTools/ToolFilm.py:258 -msgid "Both" -msgstr "Обе" - -#: flatcamGUI/PreferencesUI.py:5857 flatcamTools/ToolFilm.py:260 +#: flatcamGUI/PreferencesUI.py:6345 flatcamTools/ToolFilm.py:260 msgid "Mirror axis" msgstr "Ось зеркалирования" -#: flatcamGUI/PreferencesUI.py:5867 flatcamTools/ToolFilm.py:403 +#: flatcamGUI/PreferencesUI.py:6355 flatcamTools/ToolFilm.py:405 msgid "SVG" msgstr "SVG" -#: flatcamGUI/PreferencesUI.py:5868 flatcamTools/ToolFilm.py:404 +#: flatcamGUI/PreferencesUI.py:6356 flatcamTools/ToolFilm.py:406 msgid "PNG" msgstr "PNG" -#: flatcamGUI/PreferencesUI.py:5869 flatcamTools/ToolFilm.py:405 +#: flatcamGUI/PreferencesUI.py:6357 flatcamTools/ToolFilm.py:407 msgid "PDF" msgstr "PDF" -#: flatcamGUI/PreferencesUI.py:5872 flatcamTools/ToolFilm.py:298 -#: flatcamTools/ToolFilm.py:408 +#: flatcamGUI/PreferencesUI.py:6360 flatcamTools/ToolFilm.py:298 +#: flatcamTools/ToolFilm.py:410 msgid "Film Type:" msgstr "Тип плёнки:" -#: flatcamGUI/PreferencesUI.py:5874 flatcamTools/ToolFilm.py:410 +#: flatcamGUI/PreferencesUI.py:6362 flatcamTools/ToolFilm.py:412 msgid "" "The file type of the saved film. Can be:\n" "- 'SVG' -> open-source vectorial format\n" @@ -11351,23 +11800,23 @@ msgstr "" "- 'PNG' -> растровое изображение\n" "- 'PDF' -> формат портативного документа" -#: flatcamGUI/PreferencesUI.py:5883 flatcamTools/ToolFilm.py:419 +#: flatcamGUI/PreferencesUI.py:6371 flatcamTools/ToolFilm.py:421 msgid "Page Orientation" msgstr "Ориентация страницы" -#: flatcamGUI/PreferencesUI.py:5896 flatcamTools/ToolFilm.py:432 +#: flatcamGUI/PreferencesUI.py:6384 flatcamTools/ToolFilm.py:434 msgid "Page Size" msgstr "Размер страницы" -#: flatcamGUI/PreferencesUI.py:5897 flatcamTools/ToolFilm.py:433 +#: flatcamGUI/PreferencesUI.py:6385 flatcamTools/ToolFilm.py:435 msgid "A selection of standard ISO 216 page sizes." msgstr "Выбор стандартных размеров страниц ISO 216." -#: flatcamGUI/PreferencesUI.py:5969 +#: flatcamGUI/PreferencesUI.py:6457 msgid "Panelize Tool Options" msgstr "Панелизация" -#: flatcamGUI/PreferencesUI.py:5975 +#: flatcamGUI/PreferencesUI.py:6463 msgid "" "Create an object that contains an array of (x, y) elements,\n" "each element is a copy of the source object spaced\n" @@ -11377,11 +11826,11 @@ msgstr "" "каждый элемент является копией исходного объекта с интервалом\n" "на расстоянии X, Y расстояние друг от друга." -#: flatcamGUI/PreferencesUI.py:5992 flatcamTools/ToolPanelize.py:160 +#: flatcamGUI/PreferencesUI.py:6480 flatcamTools/ToolPanelize.py:163 msgid "Spacing cols" msgstr "Интервал столбцов" -#: flatcamGUI/PreferencesUI.py:5994 flatcamTools/ToolPanelize.py:162 +#: flatcamGUI/PreferencesUI.py:6482 flatcamTools/ToolPanelize.py:165 msgid "" "Spacing between columns of the desired panel.\n" "In current units." @@ -11389,11 +11838,11 @@ msgstr "" "Расстояние между столбцами нужной панели.\n" "В текущих единицах измерения." -#: flatcamGUI/PreferencesUI.py:6006 flatcamTools/ToolPanelize.py:172 +#: flatcamGUI/PreferencesUI.py:6494 flatcamTools/ToolPanelize.py:175 msgid "Spacing rows" msgstr "Интервал строк" -#: flatcamGUI/PreferencesUI.py:6008 flatcamTools/ToolPanelize.py:174 +#: flatcamGUI/PreferencesUI.py:6496 flatcamTools/ToolPanelize.py:177 msgid "" "Spacing between rows of the desired panel.\n" "In current units." @@ -11401,36 +11850,31 @@ msgstr "" "Расстояние между строками нужной панели.\n" "В текущих единицах измерения." -#: flatcamGUI/PreferencesUI.py:6019 flatcamTools/ToolPanelize.py:183 +#: flatcamGUI/PreferencesUI.py:6507 flatcamTools/ToolPanelize.py:186 msgid "Columns" msgstr "Столбцы" -#: flatcamGUI/PreferencesUI.py:6021 flatcamTools/ToolPanelize.py:185 +#: flatcamGUI/PreferencesUI.py:6509 flatcamTools/ToolPanelize.py:188 msgid "Number of columns of the desired panel" msgstr "Количество столбцов нужной панели" -#: flatcamGUI/PreferencesUI.py:6031 flatcamTools/ToolPanelize.py:193 +#: flatcamGUI/PreferencesUI.py:6519 flatcamTools/ToolPanelize.py:196 msgid "Rows" msgstr "Строки" -#: flatcamGUI/PreferencesUI.py:6033 flatcamTools/ToolPanelize.py:195 +#: flatcamGUI/PreferencesUI.py:6521 flatcamTools/ToolPanelize.py:198 msgid "Number of rows of the desired panel" msgstr "Количество строк нужной панели" -#: flatcamGUI/PreferencesUI.py:6039 flatcamTools/ToolCalibration.py:196 -#: flatcamTools/ToolCalibration.py:634 flatcamTools/ToolPanelize.py:201 -msgid "Gerber" -msgstr "Gerber" - -#: flatcamGUI/PreferencesUI.py:6040 flatcamTools/ToolPanelize.py:202 +#: flatcamGUI/PreferencesUI.py:6528 flatcamTools/ToolPanelize.py:205 msgid "Geo" msgstr "Geometry" -#: flatcamGUI/PreferencesUI.py:6041 flatcamTools/ToolPanelize.py:203 +#: flatcamGUI/PreferencesUI.py:6529 flatcamTools/ToolPanelize.py:206 msgid "Panel Type" msgstr "Тип панели" -#: flatcamGUI/PreferencesUI.py:6043 +#: flatcamGUI/PreferencesUI.py:6531 msgid "" "Choose the type of object for the panel object:\n" "- Gerber\n" @@ -11440,11 +11884,11 @@ msgstr "" "- Gerber\n" "- Geometry" -#: flatcamGUI/PreferencesUI.py:6052 +#: flatcamGUI/PreferencesUI.py:6540 msgid "Constrain within" msgstr "Ограничить в пределах" -#: flatcamGUI/PreferencesUI.py:6054 flatcamTools/ToolPanelize.py:215 +#: flatcamGUI/PreferencesUI.py:6542 flatcamTools/ToolPanelize.py:218 msgid "" "Area define by DX and DY within to constrain the panel.\n" "DX and DY values are in current units.\n" @@ -11458,11 +11902,11 @@ msgstr "" "последняя панель будет иметь столько столбцов и строк, чтобы\n" "она полностью вписывалась в выбранную область." -#: flatcamGUI/PreferencesUI.py:6067 flatcamTools/ToolPanelize.py:227 +#: flatcamGUI/PreferencesUI.py:6555 flatcamTools/ToolPanelize.py:230 msgid "Width (DX)" msgstr "Ширина (DX)" -#: flatcamGUI/PreferencesUI.py:6069 flatcamTools/ToolPanelize.py:229 +#: flatcamGUI/PreferencesUI.py:6557 flatcamTools/ToolPanelize.py:232 msgid "" "The width (DX) within which the panel must fit.\n" "In current units." @@ -11470,11 +11914,11 @@ msgstr "" "Ширина (DX), в пределах которой должна поместиться панель.\n" "В текущих единицах измерения." -#: flatcamGUI/PreferencesUI.py:6080 flatcamTools/ToolPanelize.py:238 +#: flatcamGUI/PreferencesUI.py:6568 flatcamTools/ToolPanelize.py:241 msgid "Height (DY)" msgstr "Высота (DY)" -#: flatcamGUI/PreferencesUI.py:6082 flatcamTools/ToolPanelize.py:240 +#: flatcamGUI/PreferencesUI.py:6570 flatcamTools/ToolPanelize.py:243 msgid "" "The height (DY)within which the panel must fit.\n" "In current units." @@ -11482,15 +11926,15 @@ msgstr "" "Высота (DY), в пределах которой должна поместиться панель.\n" "В текущих единицах измерения." -#: flatcamGUI/PreferencesUI.py:6096 +#: flatcamGUI/PreferencesUI.py:6584 msgid "Calculators Tool Options" msgstr "Калькулятор" -#: flatcamGUI/PreferencesUI.py:6100 flatcamTools/ToolCalculators.py:25 +#: flatcamGUI/PreferencesUI.py:6588 flatcamTools/ToolCalculators.py:25 msgid "V-Shape Tool Calculator" msgstr "Калькулятор V-образного инструмента" -#: flatcamGUI/PreferencesUI.py:6102 +#: flatcamGUI/PreferencesUI.py:6590 msgid "" "Calculate the tool diameter for a given V-shape tool,\n" "having the tip diameter, tip angle and\n" @@ -11500,11 +11944,11 @@ msgstr "" "учитывая диаметр наконечника, угол наклона наконечника и\n" "глубину резания в качестве параметров." -#: flatcamGUI/PreferencesUI.py:6117 flatcamTools/ToolCalculators.py:94 +#: flatcamGUI/PreferencesUI.py:6607 flatcamTools/ToolCalculators.py:94 msgid "Tip Diameter" msgstr "Диаметр наконечника" -#: flatcamGUI/PreferencesUI.py:6119 flatcamTools/ToolCalculators.py:102 +#: flatcamGUI/PreferencesUI.py:6609 flatcamTools/ToolCalculators.py:102 msgid "" "This is the tool tip diameter.\n" "It is specified by manufacturer." @@ -11512,11 +11956,11 @@ msgstr "" "Это диаметр наконечника инструмента.\n" "Это указано производителем." -#: flatcamGUI/PreferencesUI.py:6131 flatcamTools/ToolCalculators.py:105 +#: flatcamGUI/PreferencesUI.py:6621 flatcamTools/ToolCalculators.py:105 msgid "Tip Angle" msgstr "Угол наконечника" -#: flatcamGUI/PreferencesUI.py:6133 +#: flatcamGUI/PreferencesUI.py:6623 msgid "" "This is the angle on the tip of the tool.\n" "It is specified by manufacturer." @@ -11524,7 +11968,7 @@ msgstr "" "Это угол наконечника инструмента.\n" "Это указано производителем." -#: flatcamGUI/PreferencesUI.py:6147 +#: flatcamGUI/PreferencesUI.py:6637 msgid "" "This is depth to cut into material.\n" "In the CNCJob object it is the CutZ parameter." @@ -11532,11 +11976,11 @@ msgstr "" "Это глубина резки материала.\n" "В объекте CNCJob это параметр \"Глубина резания\"." -#: flatcamGUI/PreferencesUI.py:6154 flatcamTools/ToolCalculators.py:27 +#: flatcamGUI/PreferencesUI.py:6644 flatcamTools/ToolCalculators.py:27 msgid "ElectroPlating Calculator" msgstr "Калькулятор электронных плат" -#: flatcamGUI/PreferencesUI.py:6156 flatcamTools/ToolCalculators.py:158 +#: flatcamGUI/PreferencesUI.py:6646 flatcamTools/ToolCalculators.py:158 msgid "" "This calculator is useful for those who plate the via/pad/drill holes,\n" "using a method like grahite ink or calcium hypophosphite ink or palladium " @@ -11547,27 +11991,27 @@ msgstr "" "используя методы такие, как графитовые чернила или чернила гипофосфита " "кальция или хлорид палладия." -#: flatcamGUI/PreferencesUI.py:6170 flatcamTools/ToolCalculators.py:167 +#: flatcamGUI/PreferencesUI.py:6657 flatcamTools/ToolCalculators.py:167 msgid "Board Length" msgstr "Длина платы" -#: flatcamGUI/PreferencesUI.py:6172 flatcamTools/ToolCalculators.py:173 +#: flatcamGUI/PreferencesUI.py:6659 flatcamTools/ToolCalculators.py:173 msgid "This is the board length. In centimeters." msgstr "Это длина платы. В сантиметрах." -#: flatcamGUI/PreferencesUI.py:6182 flatcamTools/ToolCalculators.py:175 +#: flatcamGUI/PreferencesUI.py:6669 flatcamTools/ToolCalculators.py:175 msgid "Board Width" msgstr "Ширина платы" -#: flatcamGUI/PreferencesUI.py:6184 flatcamTools/ToolCalculators.py:181 +#: flatcamGUI/PreferencesUI.py:6671 flatcamTools/ToolCalculators.py:181 msgid "This is the board width.In centimeters." msgstr "Это ширина платы. В сантиметрах." -#: flatcamGUI/PreferencesUI.py:6189 flatcamTools/ToolCalculators.py:183 +#: flatcamGUI/PreferencesUI.py:6676 flatcamTools/ToolCalculators.py:183 msgid "Current Density" msgstr "Текущая плотность" -#: flatcamGUI/PreferencesUI.py:6195 flatcamTools/ToolCalculators.py:190 +#: flatcamGUI/PreferencesUI.py:6682 flatcamTools/ToolCalculators.py:190 msgid "" "Current density to pass through the board. \n" "In Amps per Square Feet ASF." @@ -11575,11 +12019,11 @@ msgstr "" "Плотность тока для прохождения через плату. \n" "В Амперах на квадратный метр АЧС." -#: flatcamGUI/PreferencesUI.py:6201 flatcamTools/ToolCalculators.py:193 +#: flatcamGUI/PreferencesUI.py:6688 flatcamTools/ToolCalculators.py:193 msgid "Copper Growth" msgstr "Медный слой" -#: flatcamGUI/PreferencesUI.py:6207 flatcamTools/ToolCalculators.py:200 +#: flatcamGUI/PreferencesUI.py:6694 flatcamTools/ToolCalculators.py:200 msgid "" "How thick the copper growth is intended to be.\n" "In microns." @@ -11587,11 +12031,11 @@ msgstr "" "Насколько толстым должен быть медный слой.\n" "В микронах." -#: flatcamGUI/PreferencesUI.py:6220 +#: flatcamGUI/PreferencesUI.py:6707 msgid "Transform Tool Options" msgstr "Трансформация" -#: flatcamGUI/PreferencesUI.py:6226 +#: flatcamGUI/PreferencesUI.py:6713 msgid "" "Various transformations that can be applied\n" "on a FlatCAM object." @@ -11599,19 +12043,19 @@ msgstr "" "Различные преобразования, которые могут быть применены\n" "на объекте FlatCAM." -#: flatcamGUI/PreferencesUI.py:6257 +#: flatcamGUI/PreferencesUI.py:6744 msgid "Skew" msgstr "Наклон" -#: flatcamGUI/PreferencesUI.py:6298 flatcamTools/ToolTransform.py:150 +#: flatcamGUI/PreferencesUI.py:6785 flatcamTools/ToolTransform.py:151 msgid "Factor for scaling on X axis." msgstr "Коэффициент масштабирования по оси X." -#: flatcamGUI/PreferencesUI.py:6311 flatcamTools/ToolTransform.py:171 +#: flatcamGUI/PreferencesUI.py:6798 flatcamTools/ToolTransform.py:171 msgid "Factor for scaling on Y axis." msgstr "Коэффициент масштабирования по оси Y." -#: flatcamGUI/PreferencesUI.py:6319 flatcamTools/ToolTransform.py:194 +#: flatcamGUI/PreferencesUI.py:6806 flatcamTools/ToolTransform.py:192 msgid "" "Scale the selected object(s)\n" "using the Scale_X factor for both axis." @@ -11619,7 +12063,7 @@ msgstr "" "Масштабирует выбранный объект(ы)\n" "используя \"Коэффициент X\" для обеих осей." -#: flatcamGUI/PreferencesUI.py:6327 flatcamTools/ToolTransform.py:202 +#: flatcamGUI/PreferencesUI.py:6814 flatcamTools/ToolTransform.py:199 msgid "" "Scale the selected object(s)\n" "using the origin reference when checked,\n" @@ -11631,32 +12075,32 @@ msgstr "" "или центр самой большой ограничительной рамки \n" "выделенных объектов, если флажок снят." -#: flatcamGUI/PreferencesUI.py:6343 flatcamTools/ToolTransform.py:217 +#: flatcamGUI/PreferencesUI.py:6830 flatcamTools/ToolTransform.py:218 msgid "X val" msgstr "Значение X" -#: flatcamGUI/PreferencesUI.py:6345 flatcamTools/ToolTransform.py:219 +#: flatcamGUI/PreferencesUI.py:6832 flatcamTools/ToolTransform.py:220 msgid "Distance to offset on X axis. In current units." msgstr "Расстояние смещения по оси X. В текущих единицах." -#: flatcamGUI/PreferencesUI.py:6356 flatcamTools/ToolTransform.py:238 +#: flatcamGUI/PreferencesUI.py:6843 flatcamTools/ToolTransform.py:238 msgid "Y val" msgstr "Значение Y" -#: flatcamGUI/PreferencesUI.py:6358 flatcamTools/ToolTransform.py:240 +#: flatcamGUI/PreferencesUI.py:6845 flatcamTools/ToolTransform.py:240 msgid "Distance to offset on Y axis. In current units." msgstr "Расстояние смещения по оси Y. В текущих единицах." -#: flatcamGUI/PreferencesUI.py:6364 flatcamTools/ToolDblSided.py:62 -#: flatcamTools/ToolDblSided.py:90 flatcamTools/ToolDblSided.py:120 +#: flatcamGUI/PreferencesUI.py:6851 flatcamTools/ToolDblSided.py:68 +#: flatcamTools/ToolDblSided.py:96 flatcamTools/ToolDblSided.py:126 msgid "Mirror" msgstr "Отразить" -#: flatcamGUI/PreferencesUI.py:6368 flatcamTools/ToolTransform.py:285 +#: flatcamGUI/PreferencesUI.py:6855 flatcamTools/ToolTransform.py:284 msgid "Mirror Reference" msgstr "Точка зеркалтрования" -#: flatcamGUI/PreferencesUI.py:6370 flatcamTools/ToolTransform.py:287 +#: flatcamGUI/PreferencesUI.py:6857 flatcamTools/ToolTransform.py:286 msgid "" "Flip the selected object(s)\n" "around the point in Point Entry Field.\n" @@ -11678,11 +12122,11 @@ msgstr "" "Или введите координаты в формате (x, y) в поле\n" "Поле ввода точки и нажмите кнопку флип на X(Y)" -#: flatcamGUI/PreferencesUI.py:6381 +#: flatcamGUI/PreferencesUI.py:6868 msgid "Mirror Reference point" msgstr "Точка зеркалтрования" -#: flatcamGUI/PreferencesUI.py:6383 +#: flatcamGUI/PreferencesUI.py:6870 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -11693,12 +12137,12 @@ msgstr "" "'x' в (x, y) будет использоваться при отражении по X и\n" "'y' в (x, y) будет использоваться при отражении по Y" -#: flatcamGUI/PreferencesUI.py:6396 flatcamTools/ToolDistance.py:355 -#: flatcamTools/ToolDistanceMin.py:284 flatcamTools/ToolTransform.py:332 +#: flatcamGUI/PreferencesUI.py:6883 flatcamTools/ToolDistance.py:496 +#: flatcamTools/ToolDistanceMin.py:287 flatcamTools/ToolTransform.py:333 msgid "Distance" msgstr "Расстояние" -#: flatcamGUI/PreferencesUI.py:6398 flatcamTools/ToolTransform.py:334 +#: flatcamGUI/PreferencesUI.py:6885 flatcamTools/ToolTransform.py:335 msgid "" "A positive value will create the effect of dilation,\n" "while a negative value will create the effect of erosion.\n" @@ -11710,12 +12154,31 @@ msgstr "" "Каждый геометрический элемент объекта будет увеличен\n" "или уменьшается с помощью \"расстояния\"." -#: flatcamGUI/PreferencesUI.py:6414 flatcamGUI/PreferencesUI.py:7057 -#: flatcamTools/ToolQRCode.py:197 flatcamTools/ToolTransform.py:361 +#: flatcamGUI/PreferencesUI.py:6902 flatcamTools/ToolTransform.py:360 +#, fuzzy +#| msgid "" +#| "A positive value will create the effect of dilation,\n" +#| "while a negative value will create the effect of erosion.\n" +#| "Each geometry element of the object will be increased\n" +#| "or decreased with the 'distance'." +msgid "" +"A positive value will create the effect of dilation,\n" +"while a negative value will create the effect of erosion.\n" +"Each geometry element of the object will be increased\n" +"or decreased to fit the 'Value'. Value is a percentage\n" +"of the initial dimension." +msgstr "" +"Положительное значение создаст эффект расширения,\n" +"в то время как отрицательное значение создаст эффект размытия.\n" +"Каждый геометрический элемент объекта будет увеличен\n" +"или уменьшается с помощью \"расстояния\"." + +#: flatcamGUI/PreferencesUI.py:6919 flatcamGUI/PreferencesUI.py:7563 +#: flatcamTools/ToolQRCode.py:197 flatcamTools/ToolTransform.py:384 msgid "Rounded" msgstr "Закругленный" -#: flatcamGUI/PreferencesUI.py:6416 flatcamTools/ToolTransform.py:363 +#: flatcamGUI/PreferencesUI.py:6921 flatcamTools/ToolTransform.py:386 msgid "" "If checked then the buffer will surround the buffered shape,\n" "every corner will be rounded.\n" @@ -11727,11 +12190,11 @@ msgstr "" "Если не проверить, то буфер будет следовать точной геометрии\n" "буферизованной формы." -#: flatcamGUI/PreferencesUI.py:6434 +#: flatcamGUI/PreferencesUI.py:6938 msgid "SolderPaste Tool Options" msgstr "Паяльная паста" -#: flatcamGUI/PreferencesUI.py:6440 +#: flatcamGUI/PreferencesUI.py:6944 msgid "" "A tool to create GCode for dispensing\n" "solder paste onto a PCB." @@ -11739,49 +12202,45 @@ msgstr "" "Инструмент для создания GCode для дозирования\n" "нанесения паяльной пасты на печатную плату." -#: flatcamGUI/PreferencesUI.py:6451 -msgid "Diameters of nozzle tools, separated by ','" -msgstr "Диаметры сопловых инструментов, разделенные ','" - -#: flatcamGUI/PreferencesUI.py:6459 +#: flatcamGUI/PreferencesUI.py:6965 msgid "New Nozzle Dia" msgstr "Новый диаметр сопла" -#: flatcamGUI/PreferencesUI.py:6461 flatcamTools/ToolSolderPaste.py:106 +#: flatcamGUI/PreferencesUI.py:6967 flatcamTools/ToolSolderPaste.py:108 msgid "Diameter for the new Nozzle tool to add in the Tool Table" msgstr "" "Диаметр для нового инструмента сопла, который нужно добавить в таблице " "инструмента" -#: flatcamGUI/PreferencesUI.py:6477 flatcamTools/ToolSolderPaste.py:182 +#: flatcamGUI/PreferencesUI.py:6983 flatcamTools/ToolSolderPaste.py:184 msgid "Z Dispense Start" msgstr "Z начала нанесения" -#: flatcamGUI/PreferencesUI.py:6479 flatcamTools/ToolSolderPaste.py:184 +#: flatcamGUI/PreferencesUI.py:6985 flatcamTools/ToolSolderPaste.py:186 msgid "The height (Z) when solder paste dispensing starts." msgstr "Высота (Z), когда начинается выдача паяльной пасты." -#: flatcamGUI/PreferencesUI.py:6490 flatcamTools/ToolSolderPaste.py:194 +#: flatcamGUI/PreferencesUI.py:6996 flatcamTools/ToolSolderPaste.py:196 msgid "Z Dispense" msgstr "Z нанесения" -#: flatcamGUI/PreferencesUI.py:6492 flatcamTools/ToolSolderPaste.py:196 +#: flatcamGUI/PreferencesUI.py:6998 flatcamTools/ToolSolderPaste.py:198 msgid "The height (Z) when doing solder paste dispensing." msgstr "Высота (Z) при выполнении дозирования паяльной пасты." -#: flatcamGUI/PreferencesUI.py:6503 flatcamTools/ToolSolderPaste.py:206 +#: flatcamGUI/PreferencesUI.py:7009 flatcamTools/ToolSolderPaste.py:208 msgid "Z Dispense Stop" msgstr "Z конца нанесения" -#: flatcamGUI/PreferencesUI.py:6505 flatcamTools/ToolSolderPaste.py:208 +#: flatcamGUI/PreferencesUI.py:7011 flatcamTools/ToolSolderPaste.py:210 msgid "The height (Z) when solder paste dispensing stops." msgstr "Высота (Z) при остановке выдачи паяльной пасты." -#: flatcamGUI/PreferencesUI.py:6516 flatcamTools/ToolSolderPaste.py:218 +#: flatcamGUI/PreferencesUI.py:7022 flatcamTools/ToolSolderPaste.py:220 msgid "Z Travel" msgstr "Z перемещения" -#: flatcamGUI/PreferencesUI.py:6518 flatcamTools/ToolSolderPaste.py:220 +#: flatcamGUI/PreferencesUI.py:7024 flatcamTools/ToolSolderPaste.py:222 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -11789,15 +12248,15 @@ msgstr "" "Высота (Z) для перемещения между колодками\n" "(без дозирования паяльной пасты)." -#: flatcamGUI/PreferencesUI.py:6530 flatcamTools/ToolSolderPaste.py:231 +#: flatcamGUI/PreferencesUI.py:7036 flatcamTools/ToolSolderPaste.py:233 msgid "Z Toolchange" msgstr "Z смены инструмента" -#: flatcamGUI/PreferencesUI.py:6532 flatcamTools/ToolSolderPaste.py:233 +#: flatcamGUI/PreferencesUI.py:7038 flatcamTools/ToolSolderPaste.py:235 msgid "The height (Z) for tool (nozzle) change." msgstr "Высота (Z) для изменения инструмента (сопла)." -#: flatcamGUI/PreferencesUI.py:6541 flatcamTools/ToolSolderPaste.py:241 +#: flatcamGUI/PreferencesUI.py:7047 flatcamTools/ToolSolderPaste.py:243 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -11805,11 +12264,11 @@ msgstr "" "Положение X, Y для изменения инструмента (сопла).\n" "Формат (x, y), где x и y-действительные числа." -#: flatcamGUI/PreferencesUI.py:6555 flatcamTools/ToolSolderPaste.py:254 +#: flatcamGUI/PreferencesUI.py:7061 flatcamTools/ToolSolderPaste.py:256 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "Скорость подачи при движении по плоскости X-Y." -#: flatcamGUI/PreferencesUI.py:6568 flatcamTools/ToolSolderPaste.py:266 +#: flatcamGUI/PreferencesUI.py:7074 flatcamTools/ToolSolderPaste.py:268 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." @@ -11817,11 +12276,11 @@ msgstr "" "Скорость подачи (скорость) при движении по вертикали\n" "(на плоскости Z)." -#: flatcamGUI/PreferencesUI.py:6580 flatcamTools/ToolSolderPaste.py:277 +#: flatcamGUI/PreferencesUI.py:7086 flatcamTools/ToolSolderPaste.py:279 msgid "Feedrate Z Dispense" msgstr "Скорость подачи Z Диспенсер" -#: flatcamGUI/PreferencesUI.py:6582 +#: flatcamGUI/PreferencesUI.py:7088 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -11829,11 +12288,11 @@ msgstr "" "Скорость подачи (скорость) при движении вверх по вертикали\n" "распределить положение (на плоскости Z)." -#: flatcamGUI/PreferencesUI.py:6593 flatcamTools/ToolSolderPaste.py:289 +#: flatcamGUI/PreferencesUI.py:7099 flatcamTools/ToolSolderPaste.py:291 msgid "Spindle Speed FWD" msgstr "Скорость прямого вращения шпинделя" -#: flatcamGUI/PreferencesUI.py:6595 flatcamTools/ToolSolderPaste.py:291 +#: flatcamGUI/PreferencesUI.py:7101 flatcamTools/ToolSolderPaste.py:293 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -11841,19 +12300,19 @@ msgstr "" "Скорость диспенсера при проталкивании паяльной пасты\n" "через форсунку диспенсера." -#: flatcamGUI/PreferencesUI.py:6607 flatcamTools/ToolSolderPaste.py:302 +#: flatcamGUI/PreferencesUI.py:7113 flatcamTools/ToolSolderPaste.py:304 msgid "Dwell FWD" msgstr "Задержка В НАЧАЛЕ" -#: flatcamGUI/PreferencesUI.py:6609 flatcamTools/ToolSolderPaste.py:304 +#: flatcamGUI/PreferencesUI.py:7115 flatcamTools/ToolSolderPaste.py:306 msgid "Pause after solder dispensing." msgstr "Пауза после выдачи паяльной пасты." -#: flatcamGUI/PreferencesUI.py:6619 flatcamTools/ToolSolderPaste.py:313 +#: flatcamGUI/PreferencesUI.py:7125 flatcamTools/ToolSolderPaste.py:315 msgid "Spindle Speed REV" msgstr "Скорость обратного вращения шпинделя" -#: flatcamGUI/PreferencesUI.py:6621 flatcamTools/ToolSolderPaste.py:315 +#: flatcamGUI/PreferencesUI.py:7127 flatcamTools/ToolSolderPaste.py:317 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -11861,11 +12320,11 @@ msgstr "" "Скорость диспенсера при втягивании паяльной пасты\n" "через форсунку диспенсера." -#: flatcamGUI/PreferencesUI.py:6633 flatcamTools/ToolSolderPaste.py:326 +#: flatcamGUI/PreferencesUI.py:7139 flatcamTools/ToolSolderPaste.py:328 msgid "Dwell REV" msgstr "Задержка В КОНЦЕ" -#: flatcamGUI/PreferencesUI.py:6635 flatcamTools/ToolSolderPaste.py:328 +#: flatcamGUI/PreferencesUI.py:7141 flatcamTools/ToolSolderPaste.py:330 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -11873,15 +12332,15 @@ msgstr "" "Пауза после того, как дозатор паяльной пасты будет убран,\n" "чтобы обеспечить равномерное выдавливание." -#: flatcamGUI/PreferencesUI.py:6644 flatcamTools/ToolSolderPaste.py:336 +#: flatcamGUI/PreferencesUI.py:7150 flatcamTools/ToolSolderPaste.py:338 msgid "Files that control the GCode generation." msgstr "Файлы контролирующие генерацию GCode." -#: flatcamGUI/PreferencesUI.py:6659 +#: flatcamGUI/PreferencesUI.py:7165 msgid "Substractor Tool Options" msgstr "Параметры инструмента Substractor" -#: flatcamGUI/PreferencesUI.py:6665 +#: flatcamGUI/PreferencesUI.py:7171 msgid "" "A tool to substract one Gerber or Geometry object\n" "from another of the same type." @@ -11889,20 +12348,20 @@ msgstr "" "Инструмент для вычитания одного объекта Gerber или Geometry\n" "от другого того же типа." -#: flatcamGUI/PreferencesUI.py:6670 flatcamTools/ToolSub.py:149 +#: flatcamGUI/PreferencesUI.py:7176 flatcamTools/ToolSub.py:155 msgid "Close paths" msgstr "Закрыть пути" -#: flatcamGUI/PreferencesUI.py:6671 +#: flatcamGUI/PreferencesUI.py:7177 msgid "" "Checking this will close the paths cut by the Geometry substractor object." msgstr "Проверка этого закроет пути, прорезанные объектом субметора Геометрия." -#: flatcamGUI/PreferencesUI.py:6682 +#: flatcamGUI/PreferencesUI.py:7188 msgid "Check Rules Tool Options" msgstr "Параметры проверки правил" -#: flatcamGUI/PreferencesUI.py:6687 +#: flatcamGUI/PreferencesUI.py:7193 msgid "" "A tool to check if Gerber files are within a set\n" "of Manufacturing Rules." @@ -11910,60 +12369,60 @@ msgstr "" "Инструмент для проверки наличия файлов Gerber в наборе\n" "правил изготовления." -#: flatcamGUI/PreferencesUI.py:6697 flatcamTools/ToolRulesCheck.py:256 -#: flatcamTools/ToolRulesCheck.py:920 +#: flatcamGUI/PreferencesUI.py:7203 flatcamTools/ToolRulesCheck.py:265 +#: flatcamTools/ToolRulesCheck.py:929 msgid "Trace Size" msgstr "Размер трассы" -#: flatcamGUI/PreferencesUI.py:6699 flatcamTools/ToolRulesCheck.py:258 +#: flatcamGUI/PreferencesUI.py:7205 flatcamTools/ToolRulesCheck.py:267 msgid "This checks if the minimum size for traces is met." msgstr "Это проверяет, соблюден ли минимальный размер трассы." -#: flatcamGUI/PreferencesUI.py:6709 flatcamGUI/PreferencesUI.py:6729 -#: flatcamGUI/PreferencesUI.py:6749 flatcamGUI/PreferencesUI.py:6769 -#: flatcamGUI/PreferencesUI.py:6789 flatcamGUI/PreferencesUI.py:6809 -#: flatcamGUI/PreferencesUI.py:6829 flatcamGUI/PreferencesUI.py:6849 -#: flatcamGUI/PreferencesUI.py:6871 flatcamGUI/PreferencesUI.py:6891 -#: flatcamTools/ToolRulesCheck.py:268 flatcamTools/ToolRulesCheck.py:290 -#: flatcamTools/ToolRulesCheck.py:313 flatcamTools/ToolRulesCheck.py:336 -#: flatcamTools/ToolRulesCheck.py:359 flatcamTools/ToolRulesCheck.py:382 -#: flatcamTools/ToolRulesCheck.py:405 flatcamTools/ToolRulesCheck.py:428 -#: flatcamTools/ToolRulesCheck.py:453 flatcamTools/ToolRulesCheck.py:476 +#: flatcamGUI/PreferencesUI.py:7215 flatcamGUI/PreferencesUI.py:7235 +#: flatcamGUI/PreferencesUI.py:7255 flatcamGUI/PreferencesUI.py:7275 +#: flatcamGUI/PreferencesUI.py:7295 flatcamGUI/PreferencesUI.py:7315 +#: flatcamGUI/PreferencesUI.py:7335 flatcamGUI/PreferencesUI.py:7355 +#: flatcamGUI/PreferencesUI.py:7377 flatcamGUI/PreferencesUI.py:7397 +#: flatcamTools/ToolRulesCheck.py:277 flatcamTools/ToolRulesCheck.py:299 +#: flatcamTools/ToolRulesCheck.py:322 flatcamTools/ToolRulesCheck.py:345 +#: flatcamTools/ToolRulesCheck.py:368 flatcamTools/ToolRulesCheck.py:391 +#: flatcamTools/ToolRulesCheck.py:414 flatcamTools/ToolRulesCheck.py:437 +#: flatcamTools/ToolRulesCheck.py:462 flatcamTools/ToolRulesCheck.py:485 msgid "Min value" msgstr "Минимальное значение" -#: flatcamGUI/PreferencesUI.py:6711 flatcamTools/ToolRulesCheck.py:270 +#: flatcamGUI/PreferencesUI.py:7217 flatcamTools/ToolRulesCheck.py:279 msgid "Minimum acceptable trace size." msgstr "Минимальный допустимый размер трассировки." -#: flatcamGUI/PreferencesUI.py:6716 flatcamTools/ToolRulesCheck.py:277 -#: flatcamTools/ToolRulesCheck.py:1148 flatcamTools/ToolRulesCheck.py:1178 +#: flatcamGUI/PreferencesUI.py:7222 flatcamTools/ToolRulesCheck.py:286 +#: flatcamTools/ToolRulesCheck.py:1157 flatcamTools/ToolRulesCheck.py:1187 msgid "Copper to Copper clearance" msgstr "Зазор между медными дорожками" -#: flatcamGUI/PreferencesUI.py:6718 flatcamTools/ToolRulesCheck.py:279 +#: flatcamGUI/PreferencesUI.py:7224 flatcamTools/ToolRulesCheck.py:288 msgid "" "This checks if the minimum clearance between copper\n" "features is met." msgstr "Проверяет, соблюдены ли минимальные зазоры между медью." -#: flatcamGUI/PreferencesUI.py:6731 flatcamGUI/PreferencesUI.py:6751 -#: flatcamGUI/PreferencesUI.py:6771 flatcamGUI/PreferencesUI.py:6791 -#: flatcamGUI/PreferencesUI.py:6811 flatcamGUI/PreferencesUI.py:6831 -#: flatcamGUI/PreferencesUI.py:6893 flatcamTools/ToolRulesCheck.py:292 -#: flatcamTools/ToolRulesCheck.py:315 flatcamTools/ToolRulesCheck.py:338 -#: flatcamTools/ToolRulesCheck.py:361 flatcamTools/ToolRulesCheck.py:384 -#: flatcamTools/ToolRulesCheck.py:407 flatcamTools/ToolRulesCheck.py:455 +#: flatcamGUI/PreferencesUI.py:7237 flatcamGUI/PreferencesUI.py:7257 +#: flatcamGUI/PreferencesUI.py:7277 flatcamGUI/PreferencesUI.py:7297 +#: flatcamGUI/PreferencesUI.py:7317 flatcamGUI/PreferencesUI.py:7337 +#: flatcamGUI/PreferencesUI.py:7399 flatcamTools/ToolRulesCheck.py:301 +#: flatcamTools/ToolRulesCheck.py:324 flatcamTools/ToolRulesCheck.py:347 +#: flatcamTools/ToolRulesCheck.py:370 flatcamTools/ToolRulesCheck.py:393 +#: flatcamTools/ToolRulesCheck.py:416 flatcamTools/ToolRulesCheck.py:464 msgid "Minimum acceptable clearance value." msgstr "Минимально допустимое значение зазора." -#: flatcamGUI/PreferencesUI.py:6736 flatcamTools/ToolRulesCheck.py:300 -#: flatcamTools/ToolRulesCheck.py:1208 flatcamTools/ToolRulesCheck.py:1214 -#: flatcamTools/ToolRulesCheck.py:1227 flatcamTools/ToolRulesCheck.py:1234 +#: flatcamGUI/PreferencesUI.py:7242 flatcamTools/ToolRulesCheck.py:309 +#: flatcamTools/ToolRulesCheck.py:1217 flatcamTools/ToolRulesCheck.py:1223 +#: flatcamTools/ToolRulesCheck.py:1236 flatcamTools/ToolRulesCheck.py:1243 msgid "Copper to Outline clearance" msgstr "Зазор между медью и контуром" -#: flatcamGUI/PreferencesUI.py:6738 flatcamTools/ToolRulesCheck.py:302 +#: flatcamGUI/PreferencesUI.py:7244 flatcamTools/ToolRulesCheck.py:311 msgid "" "This checks if the minimum clearance between copper\n" "features and the outline is met." @@ -11971,23 +12430,23 @@ msgstr "" "Проверяет, выполнены ли минимальные зазоры между медью\n" "и контурами." -#: flatcamGUI/PreferencesUI.py:6756 flatcamTools/ToolRulesCheck.py:323 +#: flatcamGUI/PreferencesUI.py:7262 flatcamTools/ToolRulesCheck.py:332 msgid "Silk to Silk Clearance" msgstr "Зазор между шелкографией" -#: flatcamGUI/PreferencesUI.py:6758 flatcamTools/ToolRulesCheck.py:325 +#: flatcamGUI/PreferencesUI.py:7264 flatcamTools/ToolRulesCheck.py:334 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and silkscreen features is met." msgstr "Проверяет, соблюдены ли минимальные зазоры между шелкографией." -#: flatcamGUI/PreferencesUI.py:6776 flatcamTools/ToolRulesCheck.py:346 -#: flatcamTools/ToolRulesCheck.py:1317 flatcamTools/ToolRulesCheck.py:1323 -#: flatcamTools/ToolRulesCheck.py:1341 +#: flatcamGUI/PreferencesUI.py:7282 flatcamTools/ToolRulesCheck.py:355 +#: flatcamTools/ToolRulesCheck.py:1326 flatcamTools/ToolRulesCheck.py:1332 +#: flatcamTools/ToolRulesCheck.py:1350 msgid "Silk to Solder Mask Clearance" msgstr "Зазор между шелкографией и паяльной маской" -#: flatcamGUI/PreferencesUI.py:6778 flatcamTools/ToolRulesCheck.py:348 +#: flatcamGUI/PreferencesUI.py:7284 flatcamTools/ToolRulesCheck.py:357 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and soldermask features is met." @@ -11995,13 +12454,13 @@ msgstr "" "Проверяет, соблюдены ли минимальные зазоры между шелкографией\n" "и паяльной маской." -#: flatcamGUI/PreferencesUI.py:6796 flatcamTools/ToolRulesCheck.py:369 -#: flatcamTools/ToolRulesCheck.py:1371 flatcamTools/ToolRulesCheck.py:1377 -#: flatcamTools/ToolRulesCheck.py:1391 flatcamTools/ToolRulesCheck.py:1398 +#: flatcamGUI/PreferencesUI.py:7302 flatcamTools/ToolRulesCheck.py:378 +#: flatcamTools/ToolRulesCheck.py:1380 flatcamTools/ToolRulesCheck.py:1386 +#: flatcamTools/ToolRulesCheck.py:1400 flatcamTools/ToolRulesCheck.py:1407 msgid "Silk to Outline Clearance" msgstr "Зазор между шелкографией и контуром" -#: flatcamGUI/PreferencesUI.py:6798 flatcamTools/ToolRulesCheck.py:371 +#: flatcamGUI/PreferencesUI.py:7304 flatcamTools/ToolRulesCheck.py:380 msgid "" "This checks if the minimum clearance between silk\n" "features and the outline is met." @@ -12009,12 +12468,12 @@ msgstr "" "Проверяет, соблюдены ли минимальные зазоры между шелкографией\n" "и контурами." -#: flatcamGUI/PreferencesUI.py:6816 flatcamTools/ToolRulesCheck.py:392 -#: flatcamTools/ToolRulesCheck.py:1409 flatcamTools/ToolRulesCheck.py:1436 +#: flatcamGUI/PreferencesUI.py:7322 flatcamTools/ToolRulesCheck.py:401 +#: flatcamTools/ToolRulesCheck.py:1418 flatcamTools/ToolRulesCheck.py:1445 msgid "Minimum Solder Mask Sliver" msgstr "Минимальная ширина паяльной маски" -#: flatcamGUI/PreferencesUI.py:6818 flatcamTools/ToolRulesCheck.py:394 +#: flatcamGUI/PreferencesUI.py:7324 flatcamTools/ToolRulesCheck.py:403 msgid "" "This checks if the minimum clearance between soldermask\n" "features and soldermask features is met." @@ -12022,13 +12481,13 @@ msgstr "" "Проверяет, соблюдены ли минимальные зазоры между паяльной маской\n" "и встречной паяльной маской." -#: flatcamGUI/PreferencesUI.py:6836 flatcamTools/ToolRulesCheck.py:415 -#: flatcamTools/ToolRulesCheck.py:1474 flatcamTools/ToolRulesCheck.py:1480 -#: flatcamTools/ToolRulesCheck.py:1496 flatcamTools/ToolRulesCheck.py:1503 +#: flatcamGUI/PreferencesUI.py:7342 flatcamTools/ToolRulesCheck.py:424 +#: flatcamTools/ToolRulesCheck.py:1483 flatcamTools/ToolRulesCheck.py:1489 +#: flatcamTools/ToolRulesCheck.py:1505 flatcamTools/ToolRulesCheck.py:1512 msgid "Minimum Annular Ring" msgstr "Минимальное медное кольцо" -#: flatcamGUI/PreferencesUI.py:6838 flatcamTools/ToolRulesCheck.py:417 +#: flatcamGUI/PreferencesUI.py:7344 flatcamTools/ToolRulesCheck.py:426 msgid "" "This checks if the minimum copper ring left by drilling\n" "a hole into a pad is met." @@ -12036,31 +12495,31 @@ msgstr "" "Проверяет, останется ли минимальное медное кольцо при сверлении\n" "отверстия в площадке." -#: flatcamGUI/PreferencesUI.py:6851 flatcamTools/ToolRulesCheck.py:430 +#: flatcamGUI/PreferencesUI.py:7357 flatcamTools/ToolRulesCheck.py:439 msgid "Minimum acceptable ring value." msgstr "Минимальное допустимое значение кольца." -#: flatcamGUI/PreferencesUI.py:6858 flatcamTools/ToolRulesCheck.py:440 -#: flatcamTools/ToolRulesCheck.py:864 +#: flatcamGUI/PreferencesUI.py:7364 flatcamTools/ToolRulesCheck.py:449 +#: flatcamTools/ToolRulesCheck.py:873 msgid "Hole to Hole Clearance" msgstr "Зазор между отверстиями" -#: flatcamGUI/PreferencesUI.py:6860 flatcamTools/ToolRulesCheck.py:442 +#: flatcamGUI/PreferencesUI.py:7366 flatcamTools/ToolRulesCheck.py:451 msgid "" "This checks if the minimum clearance between a drill hole\n" "and another drill hole is met." msgstr "Проверяет, есть ли минимальный зазор между отверстиями." -#: flatcamGUI/PreferencesUI.py:6873 flatcamTools/ToolRulesCheck.py:478 +#: flatcamGUI/PreferencesUI.py:7379 flatcamTools/ToolRulesCheck.py:487 msgid "Minimum acceptable drill size." msgstr "Минимальный допустимый размер отверстия." -#: flatcamGUI/PreferencesUI.py:6878 flatcamTools/ToolRulesCheck.py:463 -#: flatcamTools/ToolRulesCheck.py:838 +#: flatcamGUI/PreferencesUI.py:7384 flatcamTools/ToolRulesCheck.py:472 +#: flatcamTools/ToolRulesCheck.py:847 msgid "Hole Size" msgstr "Размер отверстия" -#: flatcamGUI/PreferencesUI.py:6880 flatcamTools/ToolRulesCheck.py:465 +#: flatcamGUI/PreferencesUI.py:7386 flatcamTools/ToolRulesCheck.py:474 msgid "" "This checks if the drill holes\n" "sizes are above the threshold." @@ -12068,11 +12527,11 @@ msgstr "" "Проверяет, превышают ли размеры просверленного отверстия\n" "допустимый порог." -#: flatcamGUI/PreferencesUI.py:6905 +#: flatcamGUI/PreferencesUI.py:7411 msgid "Optimal Tool Options" msgstr "Параметры оптимизации" -#: flatcamGUI/PreferencesUI.py:6911 +#: flatcamGUI/PreferencesUI.py:7417 msgid "" "A tool to find the minimum distance between\n" "every two Gerber geometric elements" @@ -12080,20 +12539,20 @@ msgstr "" "Инструмент для поиска минимального расстояния между\n" "двумя элементами геометрии Gerber" -#: flatcamGUI/PreferencesUI.py:6926 flatcamTools/ToolOptimal.py:78 +#: flatcamGUI/PreferencesUI.py:7432 flatcamTools/ToolOptimal.py:79 msgid "Precision" msgstr "Точность" -#: flatcamGUI/PreferencesUI.py:6928 +#: flatcamGUI/PreferencesUI.py:7434 msgid "Number of decimals for the distances and coordinates in this tool." msgstr "" "Количество десятичных знаков для расстояний и координат в этом инструменте." -#: flatcamGUI/PreferencesUI.py:6942 +#: flatcamGUI/PreferencesUI.py:7448 msgid "QRCode Tool Options" msgstr "Параметры QR-кода" -#: flatcamGUI/PreferencesUI.py:6948 +#: flatcamGUI/PreferencesUI.py:7454 msgid "" "A tool to create a QRCode that can be inserted\n" "into a selected Gerber file, or it can be exported as a file." @@ -12101,11 +12560,11 @@ msgstr "" "Инструмент для создания QR-кода, который можно вставить\n" "в выбранный файл Gerber, или его можно экспортировать в файл." -#: flatcamGUI/PreferencesUI.py:6960 flatcamTools/ToolQRCode.py:99 +#: flatcamGUI/PreferencesUI.py:7466 flatcamTools/ToolQRCode.py:100 msgid "Version" msgstr "Версия" -#: flatcamGUI/PreferencesUI.py:6962 flatcamTools/ToolQRCode.py:101 +#: flatcamGUI/PreferencesUI.py:7468 flatcamTools/ToolQRCode.py:102 msgid "" "QRCode version can have values from 1 (21x21 boxes)\n" "to 40 (177x177 boxes)." @@ -12113,12 +12572,12 @@ msgstr "" "Версия QRCode может иметь значения от 1 (21x21).\n" "до 40 (177x177)." -#: flatcamGUI/PreferencesUI.py:6973 flatcamTools/ToolQRCode.py:112 +#: flatcamGUI/PreferencesUI.py:7479 flatcamTools/ToolQRCode.py:113 msgid "Error correction" msgstr "Коррекция ошибок" -#: flatcamGUI/PreferencesUI.py:6975 flatcamGUI/PreferencesUI.py:6986 -#: flatcamTools/ToolQRCode.py:114 flatcamTools/ToolQRCode.py:125 +#: flatcamGUI/PreferencesUI.py:7481 flatcamGUI/PreferencesUI.py:7492 +#: flatcamTools/ToolQRCode.py:115 flatcamTools/ToolQRCode.py:126 #, python-format msgid "" "Parameter that controls the error correction used for the QR Code.\n" @@ -12133,11 +12592,11 @@ msgstr "" "Q = макс. 25%% ошибок могут быть исправлены\n" "H = макс. 30%% ошибок могут быть исправлены." -#: flatcamGUI/PreferencesUI.py:6996 flatcamTools/ToolQRCode.py:135 +#: flatcamGUI/PreferencesUI.py:7502 flatcamTools/ToolQRCode.py:136 msgid "Box Size" msgstr "Размер поля" -#: flatcamGUI/PreferencesUI.py:6998 flatcamTools/ToolQRCode.py:137 +#: flatcamGUI/PreferencesUI.py:7504 flatcamTools/ToolQRCode.py:138 msgid "" "Box size control the overall size of the QRcode\n" "by adjusting the size of each box in the code." @@ -12145,11 +12604,11 @@ msgstr "" "Размер рамки регулирует общий размер QR-кода.\n" "откорректировав размер каждой рамки в коде." -#: flatcamGUI/PreferencesUI.py:7009 flatcamTools/ToolQRCode.py:148 +#: flatcamGUI/PreferencesUI.py:7515 flatcamTools/ToolQRCode.py:149 msgid "Border Size" msgstr "Отступ" -#: flatcamGUI/PreferencesUI.py:7011 flatcamTools/ToolQRCode.py:150 +#: flatcamGUI/PreferencesUI.py:7517 flatcamTools/ToolQRCode.py:151 msgid "" "Size of the QRCode border. How many boxes thick is the border.\n" "Default value is 4. The width of the clearance around the QRCode." @@ -12157,24 +12616,24 @@ msgstr "" "Размер границы QR-кода. Насколько рамка толще границы.\n" "Значение по умолчанию 4. Ширина зазора вокруг QR-кода." -#: flatcamGUI/PreferencesUI.py:7022 flatcamTools/ToolQRCode.py:162 +#: flatcamGUI/PreferencesUI.py:7528 flatcamTools/ToolQRCode.py:162 msgid "QRCode Data" msgstr "Данные QR-кода" -#: flatcamGUI/PreferencesUI.py:7024 flatcamTools/ToolQRCode.py:164 +#: flatcamGUI/PreferencesUI.py:7530 flatcamTools/ToolQRCode.py:164 msgid "QRCode Data. Alphanumeric text to be encoded in the QRCode." msgstr "" "Данные QRCode. Буквенно-цифровой текст, подлежащий кодированию в QRCode." -#: flatcamGUI/PreferencesUI.py:7028 flatcamTools/ToolQRCode.py:168 +#: flatcamGUI/PreferencesUI.py:7534 flatcamTools/ToolQRCode.py:168 msgid "Add here the text to be included in the QRCode..." msgstr "Добавьте сюда текст, который будет включен в QRCode..." -#: flatcamGUI/PreferencesUI.py:7034 flatcamTools/ToolQRCode.py:174 +#: flatcamGUI/PreferencesUI.py:7540 flatcamTools/ToolQRCode.py:174 msgid "Polarity" msgstr "Полярность" -#: flatcamGUI/PreferencesUI.py:7036 flatcamTools/ToolQRCode.py:176 +#: flatcamGUI/PreferencesUI.py:7542 flatcamTools/ToolQRCode.py:176 msgid "" "Choose the polarity of the QRCode.\n" "It can be drawn in a negative way (squares are clear)\n" @@ -12184,17 +12643,17 @@ msgstr "" "Он может быть нарисован как негптив (квадраты видны)\n" "или позитив (квадраты непрозрачны)." -#: flatcamGUI/PreferencesUI.py:7040 flatcamTools/ToolFilm.py:296 +#: flatcamGUI/PreferencesUI.py:7546 flatcamTools/ToolFilm.py:296 #: flatcamTools/ToolQRCode.py:180 msgid "Negative" msgstr "Негатив" -#: flatcamGUI/PreferencesUI.py:7041 flatcamTools/ToolFilm.py:295 +#: flatcamGUI/PreferencesUI.py:7547 flatcamTools/ToolFilm.py:295 #: flatcamTools/ToolQRCode.py:181 msgid "Positive" msgstr "Позитив" -#: flatcamGUI/PreferencesUI.py:7043 flatcamTools/ToolQRCode.py:183 +#: flatcamGUI/PreferencesUI.py:7549 flatcamTools/ToolQRCode.py:183 msgid "" "Choose the type of QRCode to be created.\n" "If added on a Silkscreen Gerber file the QRCode may\n" @@ -12206,7 +12665,7 @@ msgstr "" "будет добавлено как позитив. Если он добавлен к Copper Gerber.\n" "то, возможно, QRCode может быть добавлен как негатив." -#: flatcamGUI/PreferencesUI.py:7054 flatcamGUI/PreferencesUI.py:7060 +#: flatcamGUI/PreferencesUI.py:7560 flatcamGUI/PreferencesUI.py:7566 #: flatcamTools/ToolQRCode.py:194 flatcamTools/ToolQRCode.py:200 msgid "" "The bounding box, meaning the empty space that surrounds\n" @@ -12215,27 +12674,27 @@ msgstr "" "Ограничительная рамка, означающая пустое пространство вокруг\n" "QRCode, может иметь округлую или квадратную форму." -#: flatcamGUI/PreferencesUI.py:7067 flatcamTools/ToolQRCode.py:228 +#: flatcamGUI/PreferencesUI.py:7573 flatcamTools/ToolQRCode.py:228 msgid "Fill Color" msgstr "Цвет заливки" -#: flatcamGUI/PreferencesUI.py:7069 flatcamTools/ToolQRCode.py:230 +#: flatcamGUI/PreferencesUI.py:7575 flatcamTools/ToolQRCode.py:230 msgid "Set the QRCode fill color (squares color)." msgstr "Задаёт цвет заливки QRCode (цвет квадратов)." -#: flatcamGUI/PreferencesUI.py:7088 flatcamTools/ToolQRCode.py:252 +#: flatcamGUI/PreferencesUI.py:7594 flatcamTools/ToolQRCode.py:252 msgid "Back Color" msgstr "Цвет фона" -#: flatcamGUI/PreferencesUI.py:7090 flatcamTools/ToolQRCode.py:254 +#: flatcamGUI/PreferencesUI.py:7596 flatcamTools/ToolQRCode.py:254 msgid "Set the QRCode background color." msgstr "Устанавливает цвет фона QRCode." -#: flatcamGUI/PreferencesUI.py:7130 +#: flatcamGUI/PreferencesUI.py:7636 msgid "Copper Thieving Tool Options" msgstr "Параметры Copper Thieving" -#: flatcamGUI/PreferencesUI.py:7142 +#: flatcamGUI/PreferencesUI.py:7648 msgid "" "A tool to generate a Copper Thieving that can be added\n" "to a selected Gerber file." @@ -12243,16 +12702,16 @@ msgstr "" "Инструмент для создания Copper Thieving, который может быть добавлен\n" "в выбранный Gerber файл." -#: flatcamGUI/PreferencesUI.py:7150 +#: flatcamGUI/PreferencesUI.py:7656 msgid "Number of steps (lines) used to interpolate circles." msgstr "Количество шагов (линий), используемых для интерполяции окружностей." -#: flatcamGUI/PreferencesUI.py:7160 flatcamGUI/PreferencesUI.py:7364 -#: flatcamTools/ToolCopperThieving.py:96 flatcamTools/ToolCopperThieving.py:429 +#: flatcamGUI/PreferencesUI.py:7666 flatcamGUI/PreferencesUI.py:7870 +#: flatcamTools/ToolCopperThieving.py:97 flatcamTools/ToolCopperThieving.py:432 msgid "Clearance" msgstr "Зазор" -#: flatcamGUI/PreferencesUI.py:7162 +#: flatcamGUI/PreferencesUI.py:7668 msgid "" "This set the distance between the copper Thieving components\n" "(the polygon fill may be split in multiple polygons)\n" @@ -12262,22 +12721,11 @@ msgstr "" "(заливка полигона может быть разделена на несколько полигонов)\n" "и медными трассами в Gerber файле." -#: flatcamGUI/PreferencesUI.py:7190 flatcamTools/ToolCopperThieving.py:126 -#: flatcamTools/ToolNonCopperClear.py:430 flatcamTools/ToolPaint.py:308 -msgid "Area Selection" -msgstr "Выбор области" - -#: flatcamGUI/PreferencesUI.py:7191 flatcamTools/ToolCopperThieving.py:127 -#: flatcamTools/ToolNonCopperClear.py:431 flatcamTools/ToolPaint.py:310 -msgid "Reference Object" -msgstr "Ссылочный объект" - -#: flatcamGUI/PreferencesUI.py:7193 flatcamTools/ToolCopperThieving.py:129 -#: flatcamTools/ToolNonCopperClear.py:433 +#: flatcamGUI/PreferencesUI.py:7699 flatcamTools/ToolCopperThieving.py:130 msgid "Reference:" msgstr "Ссылка:" -#: flatcamGUI/PreferencesUI.py:7195 +#: flatcamGUI/PreferencesUI.py:7701 msgid "" "- 'Itself' - the copper Thieving extent is based on the object extent.\n" "- 'Area Selection' - left mouse click to start selection of the area to be " @@ -12292,20 +12740,24 @@ msgstr "" "- 'Референсный объект' - будет выполнять Copper Thieving в области указанной " "другим объектом." -#: flatcamGUI/PreferencesUI.py:7204 flatcamTools/ToolCopperThieving.py:170 +#: flatcamGUI/PreferencesUI.py:7710 flatcamGUI/PreferencesUI.py:8175 +#: flatcamGUI/PreferencesUI.py:8287 flatcamGUI/PreferencesUI.py:8387 +#: flatcamGUI/PreferencesUI.py:8501 flatcamTools/ToolCopperThieving.py:172 +#: flatcamTools/ToolExtractDrills.py:102 flatcamTools/ToolExtractDrills.py:240 +#: flatcamTools/ToolPunchGerber.py:113 flatcamTools/ToolPunchGerber.py:268 msgid "Rectangular" msgstr "Прямоугольная" -#: flatcamGUI/PreferencesUI.py:7205 flatcamTools/ToolCopperThieving.py:171 +#: flatcamGUI/PreferencesUI.py:7711 flatcamTools/ToolCopperThieving.py:173 msgid "Minimal" msgstr "Минимальная" -#: flatcamGUI/PreferencesUI.py:7207 flatcamTools/ToolCopperThieving.py:173 +#: flatcamGUI/PreferencesUI.py:7713 flatcamTools/ToolCopperThieving.py:175 #: flatcamTools/ToolFilm.py:113 msgid "Box Type:" msgstr "Тип рамки:" -#: flatcamGUI/PreferencesUI.py:7209 flatcamTools/ToolCopperThieving.py:175 +#: flatcamGUI/PreferencesUI.py:7715 flatcamTools/ToolCopperThieving.py:177 msgid "" "- 'Rectangular' - the bounding box will be of rectangular shape.\n" "- 'Minimal' - the bounding box will be the convex hull shape." @@ -12313,23 +12765,23 @@ msgstr "" "- 'Прямоугольная' - ограничительная рамка будет иметь прямоугольную форму.\n" "- 'Минимальная' - ограничительная рамка будет повторять форму корпуса." -#: flatcamGUI/PreferencesUI.py:7223 flatcamTools/ToolCopperThieving.py:191 +#: flatcamGUI/PreferencesUI.py:7729 flatcamTools/ToolCopperThieving.py:193 msgid "Dots Grid" msgstr "Сетка точек" -#: flatcamGUI/PreferencesUI.py:7224 flatcamTools/ToolCopperThieving.py:192 +#: flatcamGUI/PreferencesUI.py:7730 flatcamTools/ToolCopperThieving.py:194 msgid "Squares Grid" msgstr "Сетка квадратов" -#: flatcamGUI/PreferencesUI.py:7225 flatcamTools/ToolCopperThieving.py:193 +#: flatcamGUI/PreferencesUI.py:7731 flatcamTools/ToolCopperThieving.py:195 msgid "Lines Grid" msgstr "Сетка линий" -#: flatcamGUI/PreferencesUI.py:7227 flatcamTools/ToolCopperThieving.py:195 +#: flatcamGUI/PreferencesUI.py:7733 flatcamTools/ToolCopperThieving.py:197 msgid "Fill Type:" msgstr "Тип заполнения:" -#: flatcamGUI/PreferencesUI.py:7229 flatcamTools/ToolCopperThieving.py:197 +#: flatcamGUI/PreferencesUI.py:7735 flatcamTools/ToolCopperThieving.py:199 msgid "" "- 'Solid' - copper thieving will be a solid polygon.\n" "- 'Dots Grid' - the empty area will be filled with a pattern of dots.\n" @@ -12341,54 +12793,54 @@ msgstr "" "- 'Сетка квадратов' - пустая площадь будет заполнена сеткой квадратов.\n" "- 'Сетка линий' - пустая область будет заполнена сеткой линий." -#: flatcamGUI/PreferencesUI.py:7237 flatcamTools/ToolCopperThieving.py:216 +#: flatcamGUI/PreferencesUI.py:7743 flatcamTools/ToolCopperThieving.py:218 msgid "Dots Grid Parameters" msgstr "Параметры точки сетки" -#: flatcamGUI/PreferencesUI.py:7243 flatcamTools/ToolCopperThieving.py:222 +#: flatcamGUI/PreferencesUI.py:7749 flatcamTools/ToolCopperThieving.py:224 msgid "Dot diameter in Dots Grid." msgstr "Диаметр точки в сетке точек." -#: flatcamGUI/PreferencesUI.py:7254 flatcamGUI/PreferencesUI.py:7283 -#: flatcamGUI/PreferencesUI.py:7312 flatcamTools/ToolCopperThieving.py:233 -#: flatcamTools/ToolCopperThieving.py:273 -#: flatcamTools/ToolCopperThieving.py:313 +#: flatcamGUI/PreferencesUI.py:7760 flatcamGUI/PreferencesUI.py:7789 +#: flatcamGUI/PreferencesUI.py:7818 flatcamTools/ToolCopperThieving.py:235 +#: flatcamTools/ToolCopperThieving.py:275 +#: flatcamTools/ToolCopperThieving.py:315 msgid "Spacing" msgstr "Промежуток" -#: flatcamGUI/PreferencesUI.py:7256 flatcamTools/ToolCopperThieving.py:235 +#: flatcamGUI/PreferencesUI.py:7762 flatcamTools/ToolCopperThieving.py:237 msgid "Distance between each two dots in Dots Grid." msgstr "Расстояние между каждыми двумя точками в сетке точек." -#: flatcamGUI/PreferencesUI.py:7266 flatcamTools/ToolCopperThieving.py:256 +#: flatcamGUI/PreferencesUI.py:7772 flatcamTools/ToolCopperThieving.py:258 msgid "Squares Grid Parameters" msgstr "Параметры квадратной сетки" -#: flatcamGUI/PreferencesUI.py:7272 flatcamTools/ToolCopperThieving.py:262 +#: flatcamGUI/PreferencesUI.py:7778 flatcamTools/ToolCopperThieving.py:264 msgid "Square side size in Squares Grid." msgstr "Размер стороны квадрата в сетке квадратов." -#: flatcamGUI/PreferencesUI.py:7285 flatcamTools/ToolCopperThieving.py:275 +#: flatcamGUI/PreferencesUI.py:7791 flatcamTools/ToolCopperThieving.py:277 msgid "Distance between each two squares in Squares Grid." msgstr "Расстояние между каждыми двумя квадратами в сетке квадратов ." -#: flatcamGUI/PreferencesUI.py:7295 flatcamTools/ToolCopperThieving.py:296 +#: flatcamGUI/PreferencesUI.py:7801 flatcamTools/ToolCopperThieving.py:298 msgid "Lines Grid Parameters" msgstr "Параметры линий сетки" -#: flatcamGUI/PreferencesUI.py:7301 flatcamTools/ToolCopperThieving.py:302 +#: flatcamGUI/PreferencesUI.py:7807 flatcamTools/ToolCopperThieving.py:304 msgid "Line thickness size in Lines Grid." msgstr "Размеры линий по толщине в сетке линий." -#: flatcamGUI/PreferencesUI.py:7314 flatcamTools/ToolCopperThieving.py:315 +#: flatcamGUI/PreferencesUI.py:7820 flatcamTools/ToolCopperThieving.py:317 msgid "Distance between each two lines in Lines Grid." msgstr "Расстояние между двумя линиями в сетке линий." -#: flatcamGUI/PreferencesUI.py:7324 flatcamTools/ToolCopperThieving.py:353 +#: flatcamGUI/PreferencesUI.py:7830 flatcamTools/ToolCopperThieving.py:355 msgid "Robber Bar Parameters" msgstr "Параметры Robber Bar" -#: flatcamGUI/PreferencesUI.py:7326 flatcamTools/ToolCopperThieving.py:355 +#: flatcamGUI/PreferencesUI.py:7832 flatcamTools/ToolCopperThieving.py:357 msgid "" "Parameters used for the robber bar.\n" "Robber bar = copper border to help in pattern hole plating." @@ -12396,27 +12848,27 @@ msgstr "" "Параметры, используемые для robber bar.\n" "Robber ba = медная рамка для облегчения нанесения покрытия на отверстия." -#: flatcamGUI/PreferencesUI.py:7334 flatcamTools/ToolCopperThieving.py:363 +#: flatcamGUI/PreferencesUI.py:7840 flatcamTools/ToolCopperThieving.py:365 msgid "Bounding box margin for robber bar." msgstr "Граница рамки." -#: flatcamGUI/PreferencesUI.py:7345 flatcamTools/ToolCopperThieving.py:374 +#: flatcamGUI/PreferencesUI.py:7851 flatcamTools/ToolCopperThieving.py:376 msgid "Thickness" msgstr "Толщина" -#: flatcamGUI/PreferencesUI.py:7347 flatcamTools/ToolCopperThieving.py:376 +#: flatcamGUI/PreferencesUI.py:7853 flatcamTools/ToolCopperThieving.py:378 msgid "The robber bar thickness." msgstr "Толщина robber bar." -#: flatcamGUI/PreferencesUI.py:7357 flatcamTools/ToolCopperThieving.py:407 +#: flatcamGUI/PreferencesUI.py:7863 flatcamTools/ToolCopperThieving.py:409 msgid "Pattern Plating Mask" msgstr "Рисунок гальванической маски" -#: flatcamGUI/PreferencesUI.py:7359 flatcamTools/ToolCopperThieving.py:409 +#: flatcamGUI/PreferencesUI.py:7865 flatcamTools/ToolCopperThieving.py:411 msgid "Generate a mask for pattern plating." msgstr "Создание рисунка гальванической маски." -#: flatcamGUI/PreferencesUI.py:7366 flatcamTools/ToolCopperThieving.py:431 +#: flatcamGUI/PreferencesUI.py:7872 flatcamTools/ToolCopperThieving.py:434 msgid "" "The distance between the possible copper thieving elements\n" "and/or robber bar and the actual openings in the mask." @@ -12424,16 +12876,17 @@ msgstr "" "Расстояние между возможными элементами copper thieving\n" "и/или robber bar и фактическими отверстиями в маске." -#: flatcamGUI/PreferencesUI.py:7385 +#: flatcamGUI/PreferencesUI.py:7891 msgid "Fiducials Tool Options" msgstr "Параметры контрольных точек" -#: flatcamGUI/PreferencesUI.py:7396 flatcamGUI/PreferencesUI.py:7512 -#: flatcamTools/ToolCopperThieving.py:91 flatcamTools/ToolFiducials.py:151 +#: flatcamGUI/PreferencesUI.py:7902 flatcamGUI/PreferencesUI.py:8018 +#: flatcamGUI/PreferencesUI.py:8137 flatcamGUI/PreferencesUI.py:8349 +#: flatcamTools/ToolCopperThieving.py:92 flatcamTools/ToolFiducials.py:151 msgid "Parameters used for this tool." msgstr "Параметры, используемые для этого инструмента." -#: flatcamGUI/PreferencesUI.py:7403 flatcamTools/ToolFiducials.py:158 +#: flatcamGUI/PreferencesUI.py:7909 flatcamTools/ToolFiducials.py:158 msgid "" "This set the fiducial diameter if fiducial type is circular,\n" "otherwise is the size of the fiducial.\n" @@ -12444,19 +12897,19 @@ msgstr "" "в противном случае, размер контрольного отверстия\n" "вдвое больше отверстия паяльной маски." -#: flatcamGUI/PreferencesUI.py:7431 flatcamTools/ToolFiducials.py:186 +#: flatcamGUI/PreferencesUI.py:7937 flatcamTools/ToolFiducials.py:186 msgid "Auto" msgstr "Авто" -#: flatcamGUI/PreferencesUI.py:7432 flatcamTools/ToolFiducials.py:187 +#: flatcamGUI/PreferencesUI.py:7938 flatcamTools/ToolFiducials.py:187 msgid "Manual" msgstr "Вручную" -#: flatcamGUI/PreferencesUI.py:7434 flatcamTools/ToolFiducials.py:189 +#: flatcamGUI/PreferencesUI.py:7940 flatcamTools/ToolFiducials.py:189 msgid "Mode:" msgstr "Режим:" -#: flatcamGUI/PreferencesUI.py:7436 +#: flatcamGUI/PreferencesUI.py:7942 msgid "" "- 'Auto' - automatic placement of fiducials in the corners of the bounding " "box.\n" @@ -12466,19 +12919,19 @@ msgstr "" "ограничительной рамки.\n" "- 'Вручную' - ручное размещение контрольных точек." -#: flatcamGUI/PreferencesUI.py:7444 flatcamTools/ToolFiducials.py:199 +#: flatcamGUI/PreferencesUI.py:7950 flatcamTools/ToolFiducials.py:199 msgid "Up" msgstr "Вверху" -#: flatcamGUI/PreferencesUI.py:7445 flatcamTools/ToolFiducials.py:200 +#: flatcamGUI/PreferencesUI.py:7951 flatcamTools/ToolFiducials.py:200 msgid "Down" msgstr "Внизу" -#: flatcamGUI/PreferencesUI.py:7448 flatcamTools/ToolFiducials.py:203 +#: flatcamGUI/PreferencesUI.py:7954 flatcamTools/ToolFiducials.py:203 msgid "Second fiducial" msgstr "Вторичные контрольные точки" -#: flatcamGUI/PreferencesUI.py:7450 flatcamTools/ToolFiducials.py:205 +#: flatcamGUI/PreferencesUI.py:7956 flatcamTools/ToolFiducials.py:205 msgid "" "The position for the second fiducial.\n" "- 'Up' - the order is: bottom-left, top-left, top-right.\n" @@ -12491,19 +12944,19 @@ msgstr "" "- 'Нет' - вторичная контрольная точка отсутствует. Порядок: снизу слева, " "сверху справа." -#: flatcamGUI/PreferencesUI.py:7466 flatcamTools/ToolFiducials.py:221 +#: flatcamGUI/PreferencesUI.py:7972 flatcamTools/ToolFiducials.py:221 msgid "Cross" msgstr "Крест" -#: flatcamGUI/PreferencesUI.py:7467 flatcamTools/ToolFiducials.py:222 +#: flatcamGUI/PreferencesUI.py:7973 flatcamTools/ToolFiducials.py:222 msgid "Chess" msgstr "Шахматный порядок" -#: flatcamGUI/PreferencesUI.py:7470 flatcamTools/ToolFiducials.py:224 +#: flatcamGUI/PreferencesUI.py:7976 flatcamTools/ToolFiducials.py:224 msgid "Fiducial Type" msgstr "Тип контрольных точек" -#: flatcamGUI/PreferencesUI.py:7472 flatcamTools/ToolFiducials.py:226 +#: flatcamGUI/PreferencesUI.py:7978 flatcamTools/ToolFiducials.py:226 msgid "" "The type of fiducial.\n" "- 'Circular' - this is the regular fiducial.\n" @@ -12515,19 +12968,19 @@ msgstr "" "- 'Крест' - крестообразные.\n" "- 'Шахматный порядок' - точки в шахматном порядке." -#: flatcamGUI/PreferencesUI.py:7481 flatcamTools/ToolFiducials.py:235 +#: flatcamGUI/PreferencesUI.py:7987 flatcamTools/ToolFiducials.py:235 msgid "Line thickness" msgstr "Толщина линии" -#: flatcamGUI/PreferencesUI.py:7501 +#: flatcamGUI/PreferencesUI.py:8007 msgid "Calibration Tool Options" msgstr "Параметры калибровки" -#: flatcamGUI/PreferencesUI.py:7517 flatcamTools/ToolCalibration.py:181 +#: flatcamGUI/PreferencesUI.py:8023 flatcamTools/ToolCalibration.py:181 msgid "Source Type" msgstr "Тип источника" -#: flatcamGUI/PreferencesUI.py:7518 flatcamTools/ToolCalibration.py:182 +#: flatcamGUI/PreferencesUI.py:8024 flatcamTools/ToolCalibration.py:182 msgid "" "The source of calibration points.\n" "It can be:\n" @@ -12540,27 +12993,27 @@ msgstr "" "Gerber\n" "- Свободно - > щелкните мышью по холсту для получения точек калибровки" -#: flatcamGUI/PreferencesUI.py:7523 flatcamTools/ToolCalibration.py:187 +#: flatcamGUI/PreferencesUI.py:8029 flatcamTools/ToolCalibration.py:187 msgid "Free" msgstr "Свободно" -#: flatcamGUI/PreferencesUI.py:7537 flatcamTools/ToolCalibration.py:76 +#: flatcamGUI/PreferencesUI.py:8043 flatcamTools/ToolCalibration.py:76 msgid "Height (Z) for travelling between the points." msgstr "Высота (Z) для перемещения между точками." -#: flatcamGUI/PreferencesUI.py:7549 flatcamTools/ToolCalibration.py:88 +#: flatcamGUI/PreferencesUI.py:8055 flatcamTools/ToolCalibration.py:88 msgid "Verification Z" msgstr "Проверка Z" -#: flatcamGUI/PreferencesUI.py:7551 flatcamTools/ToolCalibration.py:90 +#: flatcamGUI/PreferencesUI.py:8057 flatcamTools/ToolCalibration.py:90 msgid "Height (Z) for checking the point." msgstr "Высота (Z) для проверки точки." -#: flatcamGUI/PreferencesUI.py:7563 flatcamTools/ToolCalibration.py:102 +#: flatcamGUI/PreferencesUI.py:8069 flatcamTools/ToolCalibration.py:102 msgid "Zero Z tool" msgstr "Обнуление Z" -#: flatcamGUI/PreferencesUI.py:7565 flatcamTools/ToolCalibration.py:104 +#: flatcamGUI/PreferencesUI.py:8071 flatcamTools/ToolCalibration.py:104 msgid "" "Include a sequence to zero the height (Z)\n" "of the verification tool." @@ -12568,11 +13021,11 @@ msgstr "" "Включает последовательное обнуление высоты (Z)\n" "при проверке." -#: flatcamGUI/PreferencesUI.py:7574 flatcamTools/ToolCalibration.py:113 +#: flatcamGUI/PreferencesUI.py:8080 flatcamTools/ToolCalibration.py:113 msgid "Height (Z) for mounting the verification probe." msgstr "Высота (Z) для установки проверочной пробы." -#: flatcamGUI/PreferencesUI.py:7588 flatcamTools/ToolCalibration.py:127 +#: flatcamGUI/PreferencesUI.py:8094 flatcamTools/ToolCalibration.py:127 msgid "" "Toolchange X,Y position.\n" "If no value is entered then the current\n" @@ -12582,11 +13035,11 @@ msgstr "" "Если значение не введено, то текущий\n" "(х, у) точка будет использоваться," -#: flatcamGUI/PreferencesUI.py:7599 flatcamTools/ToolCalibration.py:153 +#: flatcamGUI/PreferencesUI.py:8105 flatcamTools/ToolCalibration.py:153 msgid "Second point" msgstr "Вторая точка" -#: flatcamGUI/PreferencesUI.py:7601 flatcamTools/ToolCalibration.py:155 +#: flatcamGUI/PreferencesUI.py:8107 flatcamTools/ToolCalibration.py:155 msgid "" "Second point in the Gcode verification can be:\n" "- top-left -> the user will align the PCB vertically\n" @@ -12596,45 +13049,231 @@ msgstr "" "- вверху слева -> пользователь выровняет печатную плату по вертикали\n" "- внизу справа -> пользователь выровняет печатную плату по горизонтали" -#: flatcamGUI/PreferencesUI.py:7605 flatcamTools/ToolCalibration.py:159 -msgid "Top-Left" -msgstr "Верхний левый" +#: flatcamGUI/PreferencesUI.py:8126 +#, fuzzy +#| msgid "Excellon Options" +msgid "Extract Drills Options" +msgstr "Параметры Excellon" -#: flatcamGUI/PreferencesUI.py:7606 flatcamTools/ToolCalibration.py:160 -msgid "Bottom-Right" -msgstr "Внизу справа" +#: flatcamGUI/PreferencesUI.py:8141 flatcamGUI/PreferencesUI.py:8353 +#: flatcamTools/ToolExtractDrills.py:68 flatcamTools/ToolPunchGerber.py:75 +msgid "Processed Pads Type" +msgstr "" -#: flatcamGUI/PreferencesUI.py:7620 +#: flatcamGUI/PreferencesUI.py:8143 flatcamGUI/PreferencesUI.py:8355 +#: flatcamTools/ToolExtractDrills.py:70 flatcamTools/ToolPunchGerber.py:77 +msgid "" +"The type of pads shape to be processed.\n" +"If the PCB has many SMD pads with rectangular pads,\n" +"disable the Rectangular aperture." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:8153 flatcamGUI/PreferencesUI.py:8365 +#: flatcamTools/ToolExtractDrills.py:80 flatcamTools/ToolPunchGerber.py:91 +msgid "Process Circular Pads." +msgstr "Обработка круглых площадок." + +#: flatcamGUI/PreferencesUI.py:8159 flatcamGUI/PreferencesUI.py:8261 +#: flatcamGUI/PreferencesUI.py:8371 flatcamGUI/PreferencesUI.py:8475 +#: flatcamTools/ToolExtractDrills.py:86 flatcamTools/ToolExtractDrills.py:214 +#: flatcamTools/ToolPunchGerber.py:97 flatcamTools/ToolPunchGerber.py:242 +msgid "Oblong" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:8161 flatcamGUI/PreferencesUI.py:8373 +#: flatcamTools/ToolExtractDrills.py:88 flatcamTools/ToolPunchGerber.py:99 +msgid "Process Oblong Pads." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:8169 flatcamGUI/PreferencesUI.py:8381 +#: flatcamTools/ToolExtractDrills.py:96 flatcamTools/ToolPunchGerber.py:107 +msgid "Process Square Pads." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:8177 flatcamGUI/PreferencesUI.py:8389 +#: flatcamTools/ToolExtractDrills.py:104 flatcamTools/ToolPunchGerber.py:115 +msgid "Process Rectangular Pads." +msgstr "Обработка прямоугольных площадок." + +#: flatcamGUI/PreferencesUI.py:8183 flatcamGUI/PreferencesUI.py:8300 +#: flatcamGUI/PreferencesUI.py:8395 flatcamGUI/PreferencesUI.py:8514 +#: flatcamTools/ToolExtractDrills.py:110 flatcamTools/ToolExtractDrills.py:253 +#: flatcamTools/ToolProperties.py:172 flatcamTools/ToolPunchGerber.py:121 +#: flatcamTools/ToolPunchGerber.py:281 +msgid "Others" +msgstr "Другие" + +#: flatcamGUI/PreferencesUI.py:8185 flatcamGUI/PreferencesUI.py:8397 +#: flatcamTools/ToolExtractDrills.py:112 flatcamTools/ToolPunchGerber.py:123 +msgid "Process pads not in the categories above." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:8198 flatcamGUI/PreferencesUI.py:8222 +#: flatcamGUI/PreferencesUI.py:8411 flatcamGUI/PreferencesUI.py:8436 +#: flatcamTools/ToolExtractDrills.py:139 flatcamTools/ToolExtractDrills.py:156 +#: flatcamTools/ToolPunchGerber.py:150 flatcamTools/ToolPunchGerber.py:184 +#, fuzzy +#| msgid "Tip Diameter" +msgid "Fixed Diameter" +msgstr "Диаметр наконечника" + +#: flatcamGUI/PreferencesUI.py:8199 flatcamGUI/PreferencesUI.py:8239 +#: flatcamGUI/PreferencesUI.py:8412 flatcamGUI/PreferencesUI.py:8453 +#: flatcamTools/ToolExtractDrills.py:140 flatcamTools/ToolExtractDrills.py:192 +#: flatcamTools/ToolPunchGerber.py:151 flatcamTools/ToolPunchGerber.py:214 +#, fuzzy +#| msgid "Minimum Annular Ring" +msgid "Fixed Annular Ring" +msgstr "Минимальное медное кольцо" + +#: flatcamGUI/PreferencesUI.py:8200 flatcamGUI/PreferencesUI.py:8413 +#: flatcamTools/ToolExtractDrills.py:141 flatcamTools/ToolPunchGerber.py:152 +msgid "Proportional" +msgstr "Пропорциональный" + +#: flatcamGUI/PreferencesUI.py:8206 flatcamTools/ToolExtractDrills.py:130 +msgid "" +"The method for processing pads. Can be:\n" +"- Fixed Diameter -> all holes will have a set size\n" +"- Fixed Annular Ring -> all holes will have a set annular ring\n" +"- Proportional -> each hole size will be a fraction of the pad size" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:8232 flatcamGUI/PreferencesUI.py:8446 +#: flatcamTools/ToolExtractDrills.py:166 flatcamTools/ToolPunchGerber.py:194 +msgid "Fixed hole diameter." +msgstr "Фиксированный диаметр отверстия." + +#: flatcamGUI/PreferencesUI.py:8241 flatcamGUI/PreferencesUI.py:8455 +#: flatcamTools/ToolExtractDrills.py:194 flatcamTools/ToolPunchGerber.py:216 +msgid "" +"The size of annular ring.\n" +"The copper sliver between the hole exterior\n" +"and the margin of the copper pad." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:8250 flatcamGUI/PreferencesUI.py:8464 +#: flatcamTools/ToolExtractDrills.py:203 flatcamTools/ToolPunchGerber.py:231 +msgid "The size of annular ring for circular pads." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:8263 flatcamGUI/PreferencesUI.py:8477 +#: flatcamTools/ToolExtractDrills.py:216 flatcamTools/ToolPunchGerber.py:244 +msgid "The size of annular ring for oblong pads." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:8276 flatcamGUI/PreferencesUI.py:8490 +#: flatcamTools/ToolExtractDrills.py:229 flatcamTools/ToolPunchGerber.py:257 +msgid "The size of annular ring for square pads." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:8289 flatcamGUI/PreferencesUI.py:8503 +#: flatcamTools/ToolExtractDrills.py:242 flatcamTools/ToolPunchGerber.py:270 +msgid "The size of annular ring for rectangular pads." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:8302 flatcamGUI/PreferencesUI.py:8516 +#: flatcamTools/ToolExtractDrills.py:255 flatcamTools/ToolPunchGerber.py:283 +msgid "The size of annular ring for other pads." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:8312 flatcamGUI/PreferencesUI.py:8526 +#: flatcamTools/ToolExtractDrills.py:276 flatcamTools/ToolPunchGerber.py:299 +msgid "Proportional Diameter" +msgstr "Пропорциональный диаметр" + +#: flatcamGUI/PreferencesUI.py:8321 flatcamGUI/PreferencesUI.py:8535 +msgid "Factor" +msgstr "Коэффициент" + +#: flatcamGUI/PreferencesUI.py:8323 flatcamGUI/PreferencesUI.py:8537 +#: flatcamTools/ToolExtractDrills.py:287 flatcamTools/ToolPunchGerber.py:310 +msgid "" +"Proportional Diameter.\n" +"The hole diameter will be a fraction of the pad size." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:8338 +msgid "Punch Gerber Options" +msgstr "Параметры Gerber перфорации" + +#: flatcamGUI/PreferencesUI.py:8419 flatcamTools/ToolPunchGerber.py:141 +msgid "" +"The punch hole source can be:\n" +"- Excellon Object-> the Excellon object drills center will serve as " +"reference.\n" +"- Fixed Diameter -> will try to use the pads center as reference adding " +"fixed diameter holes.\n" +"- Fixed Annular Ring -> will try to keep a set annular ring.\n" +"- Proportional -> will make a Gerber punch hole having the diameter a " +"percentage of the pad diameter.\n" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:8552 +msgid "Invert Gerber Tool Options" +msgstr "Параметры инверсии Gerber" + +#: flatcamGUI/PreferencesUI.py:8558 +msgid "" +"A tool to invert Gerber geometry from positive to negative\n" +"and in revers." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:8572 flatcamTools/ToolInvertGerber.py:90 +#, fuzzy +#| msgid "" +#| "Distance by which to avoid\n" +#| "the edges of the polygon to\n" +#| "be painted." +msgid "" +"Distance by which to avoid\n" +"the edges of the Gerber object." +msgstr "Расстояние, которое не закрашивать до края полигона." + +#: flatcamGUI/PreferencesUI.py:8583 flatcamTools/ToolInvertGerber.py:101 +msgid "Lines Join Style" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:8585 flatcamTools/ToolInvertGerber.py:103 +msgid "" +"The way that the lines in the object outline will be joined.\n" +"Can be:\n" +"- rounded -> an arc is added between two joining lines\n" +"- square -> the lines meet in 90 degrees angle\n" +"- bevel -> the lines are joined by a third line" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:8608 msgid "Excellon File associations" msgstr "Ассоциации файлов Excellon" -#: flatcamGUI/PreferencesUI.py:7633 flatcamGUI/PreferencesUI.py:7706 -#: flatcamGUI/PreferencesUI.py:7776 flatcamGUI/PreferencesUI.py:7846 +#: flatcamGUI/PreferencesUI.py:8621 flatcamGUI/PreferencesUI.py:8694 +#: flatcamGUI/PreferencesUI.py:8764 flatcamGUI/PreferencesUI.py:8834 msgid "Restore" msgstr "Восстановить" -#: flatcamGUI/PreferencesUI.py:7634 flatcamGUI/PreferencesUI.py:7707 -#: flatcamGUI/PreferencesUI.py:7777 +#: flatcamGUI/PreferencesUI.py:8622 flatcamGUI/PreferencesUI.py:8695 +#: flatcamGUI/PreferencesUI.py:8765 msgid "Restore the extension list to the default state." msgstr "Восстановление списка расширений в состояние по умолчанию." -#: flatcamGUI/PreferencesUI.py:7635 flatcamGUI/PreferencesUI.py:7708 -#: flatcamGUI/PreferencesUI.py:7778 flatcamGUI/PreferencesUI.py:7848 +#: flatcamGUI/PreferencesUI.py:8623 flatcamGUI/PreferencesUI.py:8696 +#: flatcamGUI/PreferencesUI.py:8766 flatcamGUI/PreferencesUI.py:8836 msgid "Delete All" msgstr "Удалить все" -#: flatcamGUI/PreferencesUI.py:7636 flatcamGUI/PreferencesUI.py:7709 -#: flatcamGUI/PreferencesUI.py:7779 +#: flatcamGUI/PreferencesUI.py:8624 flatcamGUI/PreferencesUI.py:8697 +#: flatcamGUI/PreferencesUI.py:8767 msgid "Delete all extensions from the list." msgstr "Удаляет все расширения из списка." -#: flatcamGUI/PreferencesUI.py:7644 flatcamGUI/PreferencesUI.py:7717 -#: flatcamGUI/PreferencesUI.py:7787 +#: flatcamGUI/PreferencesUI.py:8632 flatcamGUI/PreferencesUI.py:8705 +#: flatcamGUI/PreferencesUI.py:8775 msgid "Extensions list" msgstr "Список расширений" -#: flatcamGUI/PreferencesUI.py:7646 flatcamGUI/PreferencesUI.py:7719 -#: flatcamGUI/PreferencesUI.py:7789 +#: flatcamGUI/PreferencesUI.py:8634 flatcamGUI/PreferencesUI.py:8707 +#: flatcamGUI/PreferencesUI.py:8777 msgid "" "List of file extensions to be\n" "associated with FlatCAM." @@ -12642,43 +13281,43 @@ msgstr "" "Список расширений файлов, которые будут\n" "связаны с FlatCAM." -#: flatcamGUI/PreferencesUI.py:7666 flatcamGUI/PreferencesUI.py:7739 -#: flatcamGUI/PreferencesUI.py:7808 flatcamGUI/PreferencesUI.py:7880 +#: flatcamGUI/PreferencesUI.py:8654 flatcamGUI/PreferencesUI.py:8727 +#: flatcamGUI/PreferencesUI.py:8796 flatcamGUI/PreferencesUI.py:8868 msgid "Extension" msgstr "Расширение" -#: flatcamGUI/PreferencesUI.py:7667 flatcamGUI/PreferencesUI.py:7740 -#: flatcamGUI/PreferencesUI.py:7809 +#: flatcamGUI/PreferencesUI.py:8655 flatcamGUI/PreferencesUI.py:8728 +#: flatcamGUI/PreferencesUI.py:8797 msgid "A file extension to be added or deleted to the list." msgstr "Расширение файла для добавления или удаления из списка." -#: flatcamGUI/PreferencesUI.py:7675 flatcamGUI/PreferencesUI.py:7748 -#: flatcamGUI/PreferencesUI.py:7817 +#: flatcamGUI/PreferencesUI.py:8663 flatcamGUI/PreferencesUI.py:8736 +#: flatcamGUI/PreferencesUI.py:8805 msgid "Add Extension" msgstr "Добавить расширение" -#: flatcamGUI/PreferencesUI.py:7676 flatcamGUI/PreferencesUI.py:7749 -#: flatcamGUI/PreferencesUI.py:7818 +#: flatcamGUI/PreferencesUI.py:8664 flatcamGUI/PreferencesUI.py:8737 +#: flatcamGUI/PreferencesUI.py:8806 msgid "Add a file extension to the list" msgstr "Добавляет расширение файла в список" -#: flatcamGUI/PreferencesUI.py:7677 flatcamGUI/PreferencesUI.py:7750 -#: flatcamGUI/PreferencesUI.py:7819 +#: flatcamGUI/PreferencesUI.py:8665 flatcamGUI/PreferencesUI.py:8738 +#: flatcamGUI/PreferencesUI.py:8807 msgid "Delete Extension" msgstr "Удалить расширение" -#: flatcamGUI/PreferencesUI.py:7678 flatcamGUI/PreferencesUI.py:7751 -#: flatcamGUI/PreferencesUI.py:7820 +#: flatcamGUI/PreferencesUI.py:8666 flatcamGUI/PreferencesUI.py:8739 +#: flatcamGUI/PreferencesUI.py:8808 msgid "Delete a file extension from the list" msgstr "Удаляет расширение файла из списка" -#: flatcamGUI/PreferencesUI.py:7685 flatcamGUI/PreferencesUI.py:7758 -#: flatcamGUI/PreferencesUI.py:7827 +#: flatcamGUI/PreferencesUI.py:8673 flatcamGUI/PreferencesUI.py:8746 +#: flatcamGUI/PreferencesUI.py:8815 msgid "Apply Association" msgstr "Ассоциировать" -#: flatcamGUI/PreferencesUI.py:7686 flatcamGUI/PreferencesUI.py:7759 -#: flatcamGUI/PreferencesUI.py:7828 +#: flatcamGUI/PreferencesUI.py:8674 flatcamGUI/PreferencesUI.py:8747 +#: flatcamGUI/PreferencesUI.py:8816 msgid "" "Apply the file associations between\n" "FlatCAM and the files with above extensions.\n" @@ -12690,32 +13329,32 @@ msgstr "" "Они будут активны после следующего входа в систему.\n" "Эта работает только в Windows." -#: flatcamGUI/PreferencesUI.py:7703 +#: flatcamGUI/PreferencesUI.py:8691 msgid "GCode File associations" msgstr "Ассоциации файлов GCode" -#: flatcamGUI/PreferencesUI.py:7773 +#: flatcamGUI/PreferencesUI.py:8761 msgid "Gerber File associations" msgstr "Ассоциации файлов Gerber" -#: flatcamGUI/PreferencesUI.py:7843 +#: flatcamGUI/PreferencesUI.py:8831 msgid "Autocompleter Keywords" msgstr "Ключевые слова автозаполнения" -#: flatcamGUI/PreferencesUI.py:7847 +#: flatcamGUI/PreferencesUI.py:8835 msgid "Restore the autocompleter keywords list to the default state." msgstr "" "Восстановление списока ключевых слов автозаполнения в состояние по умолчанию." -#: flatcamGUI/PreferencesUI.py:7849 +#: flatcamGUI/PreferencesUI.py:8837 msgid "Delete all autocompleter keywords from the list." msgstr "Удаление всех ключевых слов автозаполнения из списка." -#: flatcamGUI/PreferencesUI.py:7857 +#: flatcamGUI/PreferencesUI.py:8845 msgid "Keywords list" msgstr "Список ключевых слов" -#: flatcamGUI/PreferencesUI.py:7859 +#: flatcamGUI/PreferencesUI.py:8847 msgid "" "List of keywords used by\n" "the autocompleter in FlatCAM.\n" @@ -12727,31 +13366,31 @@ msgstr "" "Автозаполнение установлено\n" "в редакторе кода и для Tcl Shell." -#: flatcamGUI/PreferencesUI.py:7881 +#: flatcamGUI/PreferencesUI.py:8869 msgid "A keyword to be added or deleted to the list." msgstr "Ключевое слово, которое будет добавлено или удалено из списка." -#: flatcamGUI/PreferencesUI.py:7889 +#: flatcamGUI/PreferencesUI.py:8877 msgid "Add keyword" msgstr "Добавить ключевое слово" -#: flatcamGUI/PreferencesUI.py:7890 +#: flatcamGUI/PreferencesUI.py:8878 msgid "Add a keyword to the list" msgstr "Добавляет ключевое слово в список" -#: flatcamGUI/PreferencesUI.py:7891 +#: flatcamGUI/PreferencesUI.py:8879 msgid "Delete keyword" msgstr "Удалить ключевое слово" -#: flatcamGUI/PreferencesUI.py:7892 +#: flatcamGUI/PreferencesUI.py:8880 msgid "Delete a keyword from the list" msgstr "Удаляет ключевое слово из списка" -#: flatcamParsers/ParseExcellon.py:314 +#: flatcamParsers/ParseExcellon.py:315 msgid "This is GCODE mark" msgstr "Это метка GCODE" -#: flatcamParsers/ParseExcellon.py:431 +#: flatcamParsers/ParseExcellon.py:432 msgid "" "No tool diameter info's. See shell.\n" "A tool change event: T" @@ -12759,7 +13398,7 @@ msgstr "" "Нет информации о диаметре инструмента. Смотрите командную строку\n" "Событие изменения инструмента: T" -#: flatcamParsers/ParseExcellon.py:434 +#: flatcamParsers/ParseExcellon.py:435 msgid "" "was found but the Excellon file have no informations regarding the tool " "diameters therefore the application will try to load it by using some 'fake' " @@ -12773,13 +13412,13 @@ msgstr "" "Пользователю необходимо отредактировать полученный объект Excellon и " "изменить диаметры, чтобы отразить реальные диаметры." -#: flatcamParsers/ParseExcellon.py:886 flatcamTools/ToolSolderPaste.py:1330 +#: flatcamParsers/ParseExcellon.py:897 flatcamTools/ToolSolderPaste.py:1327 msgid "An internal error has ocurred. See shell.\n" msgstr "" "Произошла внутренняя ошибка. Смотрите командную строку.\n" "\n" -#: flatcamParsers/ParseExcellon.py:889 +#: flatcamParsers/ParseExcellon.py:900 msgid "" "Excellon Parser error.\n" "Parsing Failed. Line" @@ -12787,7 +13426,7 @@ msgstr "" "Ошибка разбора Excellon.\n" "Ошибка разбора. Строка" -#: flatcamParsers/ParseExcellon.py:973 +#: flatcamParsers/ParseExcellon.py:982 msgid "" "Excellon.create_geometry() -> a drill location was skipped due of not having " "a tool associated.\n" @@ -12805,22 +13444,22 @@ msgstr "Шрифт не поддерживается, попробуйте др msgid "Gerber processing. Parsing" msgstr "Обработка Gerber. Разбор" -#: flatcamParsers/ParseGerber.py:426 flatcamParsers/ParseHPGL2.py:176 +#: flatcamParsers/ParseGerber.py:426 flatcamParsers/ParseHPGL2.py:178 msgid "lines" msgstr "линий" -#: flatcamParsers/ParseGerber.py:970 flatcamParsers/ParseGerber.py:1065 -#: flatcamParsers/ParseHPGL2.py:269 flatcamParsers/ParseHPGL2.py:283 -#: flatcamParsers/ParseHPGL2.py:302 flatcamParsers/ParseHPGL2.py:326 -#: flatcamParsers/ParseHPGL2.py:361 +#: flatcamParsers/ParseGerber.py:1002 flatcamParsers/ParseGerber.py:1102 +#: flatcamParsers/ParseHPGL2.py:271 flatcamParsers/ParseHPGL2.py:285 +#: flatcamParsers/ParseHPGL2.py:304 flatcamParsers/ParseHPGL2.py:328 +#: flatcamParsers/ParseHPGL2.py:363 msgid "Coordinates missing, line ignored" msgstr "Координаты отсутствуют, строка игнорируется" -#: flatcamParsers/ParseGerber.py:972 flatcamParsers/ParseGerber.py:1067 +#: flatcamParsers/ParseGerber.py:1004 flatcamParsers/ParseGerber.py:1104 msgid "GERBER file might be CORRUPT. Check the file !!!" msgstr "Файл GERBER может быть поврежден. Проверьте файл !!!" -#: flatcamParsers/ParseGerber.py:1021 +#: flatcamParsers/ParseGerber.py:1058 msgid "" "Region does not have enough points. File will be processed but there are " "parser errors. Line number" @@ -12828,66 +13467,222 @@ msgstr "" "Региону не хватает точек. Файл будет обработан, но есть ошибки разбора. " "Номер строки" -#: flatcamParsers/ParseGerber.py:1421 flatcamParsers/ParseHPGL2.py:396 +#: flatcamParsers/ParseGerber.py:1488 flatcamParsers/ParseHPGL2.py:398 msgid "Gerber processing. Joining polygons" msgstr "Обработка Gerber. Соединение полигонов" -#: flatcamParsers/ParseGerber.py:1438 +#: flatcamParsers/ParseGerber.py:1505 msgid "Gerber processing. Applying Gerber polarity." msgstr "Обработка Gerber. Применение полярности Gerber." -#: flatcamParsers/ParseGerber.py:1498 +#: flatcamParsers/ParseGerber.py:1565 msgid "Gerber Line" msgstr "Строк Gerber" -#: flatcamParsers/ParseGerber.py:1498 +#: flatcamParsers/ParseGerber.py:1565 msgid "Gerber Line Content" msgstr "Содержание строк Gerber" -#: flatcamParsers/ParseGerber.py:1500 +#: flatcamParsers/ParseGerber.py:1567 msgid "Gerber Parser ERROR" msgstr "Ошибка разбора Gerber" -#: flatcamParsers/ParseGerber.py:1884 +#: flatcamParsers/ParseGerber.py:1956 msgid "Gerber Scale done." msgstr "Масштабирование Gerber выполнено." -#: flatcamParsers/ParseGerber.py:1977 +#: flatcamParsers/ParseGerber.py:2049 msgid "Gerber Offset done." msgstr "Смещение Gerber выполнено." -#: flatcamParsers/ParseGerber.py:2054 +#: flatcamParsers/ParseGerber.py:2126 msgid "Gerber Mirror done." msgstr "Зеркалирование Gerber выполнено." -#: flatcamParsers/ParseGerber.py:2128 +#: flatcamParsers/ParseGerber.py:2200 msgid "Gerber Skew done." msgstr "Наклон Gerber выполнен." -#: flatcamParsers/ParseGerber.py:2192 +#: flatcamParsers/ParseGerber.py:2263 msgid "Gerber Rotate done." msgstr "Вращение Gerber выполнено." -#: flatcamParsers/ParseGerber.py:2273 +#: flatcamParsers/ParseGerber.py:2419 msgid "Gerber Buffer done." msgstr "Буферизация Gerber выполнена." -#: flatcamParsers/ParseHPGL2.py:176 +#: flatcamParsers/ParseHPGL2.py:178 msgid "HPGL2 processing. Parsing" msgstr "Обработка HPGL2 . Разбор" -#: flatcamParsers/ParseHPGL2.py:408 +#: flatcamParsers/ParseHPGL2.py:410 msgid "HPGL2 Line" msgstr "Линия HPGL2" -#: flatcamParsers/ParseHPGL2.py:408 +#: flatcamParsers/ParseHPGL2.py:410 msgid "HPGL2 Line Content" msgstr "Содержание линии HPGL2" -#: flatcamParsers/ParseHPGL2.py:409 +#: flatcamParsers/ParseHPGL2.py:411 msgid "HPGL2 Parser ERROR" msgstr "Ошибка парсера HPGL2" +#: flatcamTools/ToolAlignObjects.py:32 +#, fuzzy +#| msgid "Objects" +msgid "Align Objects" +msgstr "Объекты" + +#: flatcamTools/ToolAlignObjects.py:61 +msgid "MOVING object" +msgstr "Движущийся объект" + +#: flatcamTools/ToolAlignObjects.py:65 +msgid "" +"Specify the type of object to be aligned.\n" +"It can be of type: Gerber or Excellon.\n" +"The selection here decide the type of objects that will be\n" +"in the Object combobox." +msgstr "" +"Укажите тип объекта для панели\n" +"Это может быть типа: Гербер, Excellon.\n" +"Выбор здесь определяет тип объектов, которые будут\n" +"в выпадающем списке объектов." + +#: flatcamTools/ToolAlignObjects.py:86 +msgid "Object to be aligned." +msgstr "Объект для выравнивания." + +#: flatcamTools/ToolAlignObjects.py:98 +msgid "TARGET object" +msgstr "" + +#: flatcamTools/ToolAlignObjects.py:100 +msgid "" +"Specify the type of object to be aligned to.\n" +"It can be of type: Gerber or Excellon.\n" +"The selection here decide the type of objects that will be\n" +"in the Object combobox." +msgstr "" +"Укажите тип объекта для панели\n" +"Это может быть типа: Гербер, Excellon.\n" +"Выбор здесь определяет тип объектов, которые будут\n" +"в выпадающем списке объектов." + +#: flatcamTools/ToolAlignObjects.py:122 +msgid "Object to be aligned to. Aligner." +msgstr "Объект для выравнивания по образцу." + +#: flatcamTools/ToolAlignObjects.py:135 +#, fuzzy +#| msgid "Alignment" +msgid "Alignment Type" +msgstr "Выравнивание" + +#: flatcamTools/ToolAlignObjects.py:137 +msgid "" +"The type of alignment can be:\n" +"- Single Point -> it require a single point of sync, the action will be a " +"translation\n" +"- Dual Point -> it require two points of sync, the action will be " +"translation followed by rotation" +msgstr "" + +#: flatcamTools/ToolAlignObjects.py:143 +msgid "Single Point" +msgstr "Одна точка" + +#: flatcamTools/ToolAlignObjects.py:144 +#, fuzzy +#| msgid "Half Point" +msgid "Dual Point" +msgstr "Средняя точка" + +#: flatcamTools/ToolAlignObjects.py:159 +#, fuzzy +#| msgid "Align Left" +msgid "Align Object" +msgstr "Выравнивание по левому краю" + +#: flatcamTools/ToolAlignObjects.py:161 +msgid "" +"Align the specified object to the aligner object.\n" +"If only one point is used then it assumes translation.\n" +"If tho points are used it assume translation and rotation." +msgstr "" + +#: flatcamTools/ToolAlignObjects.py:176 flatcamTools/ToolCalculators.py:246 +#: flatcamTools/ToolCalibration.py:683 flatcamTools/ToolCopperThieving.py:485 +#: flatcamTools/ToolCutOut.py:372 flatcamTools/ToolDblSided.py:472 +#: flatcamTools/ToolExtractDrills.py:310 flatcamTools/ToolFiducials.py:318 +#: flatcamTools/ToolFilm.py:520 flatcamTools/ToolInvertGerber.py:140 +#: flatcamTools/ToolNCC.py:612 flatcamTools/ToolOptimal.py:238 +#: flatcamTools/ToolPaint.py:556 flatcamTools/ToolPanelize.py:269 +#: flatcamTools/ToolPunchGerber.py:339 flatcamTools/ToolQRCode.py:314 +#: flatcamTools/ToolRulesCheck.py:516 flatcamTools/ToolSolderPaste.py:474 +#: flatcamTools/ToolSub.py:176 flatcamTools/ToolTransform.py:399 +msgid "Reset Tool" +msgstr "Сбросить настройки инструмента" + +#: flatcamTools/ToolAlignObjects.py:178 flatcamTools/ToolCalculators.py:248 +#: flatcamTools/ToolCalibration.py:685 flatcamTools/ToolCopperThieving.py:487 +#: flatcamTools/ToolCutOut.py:374 flatcamTools/ToolDblSided.py:474 +#: flatcamTools/ToolExtractDrills.py:312 flatcamTools/ToolFiducials.py:320 +#: flatcamTools/ToolFilm.py:522 flatcamTools/ToolInvertGerber.py:142 +#: flatcamTools/ToolNCC.py:614 flatcamTools/ToolOptimal.py:240 +#: flatcamTools/ToolPaint.py:558 flatcamTools/ToolPanelize.py:271 +#: flatcamTools/ToolPunchGerber.py:341 flatcamTools/ToolQRCode.py:316 +#: flatcamTools/ToolRulesCheck.py:518 flatcamTools/ToolSolderPaste.py:476 +#: flatcamTools/ToolSub.py:178 flatcamTools/ToolTransform.py:401 +msgid "Will reset the tool parameters." +msgstr "Сброс параметров инструмента." + +#: flatcamTools/ToolAlignObjects.py:244 +#, fuzzy +#| msgid "Poligonize Tool" +msgid "Align Tool" +msgstr "Полигонизация" + +#: flatcamTools/ToolAlignObjects.py:289 +msgid "There is no aligned FlatCAM object selected..." +msgstr "Нет выбранного объекта FlatCAM..." + +#: flatcamTools/ToolAlignObjects.py:299 +msgid "There is no aligner FlatCAM object selected..." +msgstr "Нет выбранного объекта FlatCAM..." + +#: flatcamTools/ToolAlignObjects.py:325 flatcamTools/ToolAlignObjects.py:385 +#, fuzzy +#| msgid "First object point" +msgid "First Point" +msgstr "Первая точка объекта" + +#: flatcamTools/ToolAlignObjects.py:325 flatcamTools/ToolAlignObjects.py:400 +#, fuzzy +#| msgid "Click on target point." +msgid "Click on the START point." +msgstr "ПЕРЕМЕЩЕНИЕ: Нажмите на исходную точку ..." + +#: flatcamTools/ToolAlignObjects.py:380 flatcamTools/ToolCalibration.py:920 +msgid "Cancelled by user request." +msgstr "Отменено по запросу пользователя." + +#: flatcamTools/ToolAlignObjects.py:385 flatcamTools/ToolAlignObjects.py:407 +#, fuzzy +#| msgid "Click on target point." +msgid "Click on the DESTINATION point." +msgstr "Нажмите на конечную точку ..." + +#: flatcamTools/ToolAlignObjects.py:385 flatcamTools/ToolAlignObjects.py:400 +#: flatcamTools/ToolAlignObjects.py:407 +msgid " Or right click to cancel." +msgstr "" + +#: flatcamTools/ToolAlignObjects.py:400 flatcamTools/ToolAlignObjects.py:407 +#: flatcamTools/ToolFiducials.py:111 +msgid "Second Point" +msgstr "Вторичная точка" + #: flatcamTools/ToolCalculators.py:24 msgid "Calculators" msgstr "Калькуляторы" @@ -12974,7 +13769,7 @@ msgstr "" "Вычислите текущее значение интенсивности и время процедуры,\n" "в зависимости от параметров выше" -#: flatcamTools/ToolCalculators.py:285 +#: flatcamTools/ToolCalculators.py:299 msgid "Calc. Tool" msgstr "Калькулятор" @@ -13000,27 +13795,27 @@ msgstr "" "Эти четыре пункта должны быть в четырех\n" "(насколько это возможно) углы объекта." -#: flatcamTools/ToolCalibration.py:193 flatcamTools/ToolCutOut.py:80 -#: flatcamTools/ToolFilm.py:78 flatcamTools/ToolImage.py:55 -#: flatcamTools/ToolPanelize.py:66 flatcamTools/ToolProperties.py:169 +#: flatcamTools/ToolCalibration.py:193 flatcamTools/ToolFilm.py:76 +#: flatcamTools/ToolImage.py:54 flatcamTools/ToolPanelize.py:78 +#: flatcamTools/ToolProperties.py:177 msgid "Object Type" msgstr "Тип объекта" -#: flatcamTools/ToolCalibration.py:211 +#: flatcamTools/ToolCalibration.py:210 msgid "Source object selection" msgstr "Выбор исходного объекта" -#: flatcamTools/ToolCalibration.py:213 +#: flatcamTools/ToolCalibration.py:212 msgid "FlatCAM Object to be used as a source for reference points." msgstr "" "FlatCAM Объект, который будет использоваться в качестве источника опорных " "точек." -#: flatcamTools/ToolCalibration.py:219 +#: flatcamTools/ToolCalibration.py:218 msgid "Calibration Points" msgstr "Точки калибровки" -#: flatcamTools/ToolCalibration.py:221 +#: flatcamTools/ToolCalibration.py:220 msgid "" "Contain the expected calibration points and the\n" "ones measured." @@ -13028,56 +13823,52 @@ msgstr "" "Содержит ожидаемые точки калибровки и точки калибровки\n" "измеренные." -#: flatcamTools/ToolCalibration.py:236 flatcamTools/ToolSub.py:74 -#: flatcamTools/ToolSub.py:126 +#: flatcamTools/ToolCalibration.py:235 flatcamTools/ToolSub.py:76 +#: flatcamTools/ToolSub.py:131 msgid "Target" msgstr "Цель" -#: flatcamTools/ToolCalibration.py:237 +#: flatcamTools/ToolCalibration.py:236 msgid "Found Delta" msgstr "Найдено Delta" -#: flatcamTools/ToolCalibration.py:249 +#: flatcamTools/ToolCalibration.py:248 msgid "Bot Left X" msgstr "Нижний левый X" -#: flatcamTools/ToolCalibration.py:258 +#: flatcamTools/ToolCalibration.py:257 msgid "Bot Left Y" msgstr "Нижний левый Y" -#: flatcamTools/ToolCalibration.py:266 flatcamTools/ToolCalibration.py:267 -msgid "Origin" -msgstr "Источник" - -#: flatcamTools/ToolCalibration.py:278 +#: flatcamTools/ToolCalibration.py:275 msgid "Bot Right X" msgstr "Нижний правый X" -#: flatcamTools/ToolCalibration.py:288 +#: flatcamTools/ToolCalibration.py:285 msgid "Bot Right Y" msgstr "Нижний правый Y" -#: flatcamTools/ToolCalibration.py:303 +#: flatcamTools/ToolCalibration.py:300 msgid "Top Left X" msgstr "Верхний левый X" -#: flatcamTools/ToolCalibration.py:312 +#: flatcamTools/ToolCalibration.py:309 msgid "Top Left Y" msgstr "Верхний левый Y" -#: flatcamTools/ToolCalibration.py:327 +#: flatcamTools/ToolCalibration.py:324 msgid "Top Right X" msgstr "Верхний правый X" -#: flatcamTools/ToolCalibration.py:337 +#: flatcamTools/ToolCalibration.py:334 msgid "Top Right Y" msgstr "Верхний правый Y" -#: flatcamTools/ToolCalibration.py:370 +#: flatcamTools/ToolCalibration.py:367 msgid "Get Points" msgstr "Получить точки" -#: flatcamTools/ToolCalibration.py:372 +#: flatcamTools/ToolCalibration.py:369 msgid "" "Pick four points by clicking on canvas if the source choice\n" "is 'free' or inside the object geometry if the source is 'object'.\n" @@ -13090,11 +13881,11 @@ msgstr "" "Эти четыре точки должны быть в четырех квадратах\n" "вокруг объекта." -#: flatcamTools/ToolCalibration.py:393 +#: flatcamTools/ToolCalibration.py:390 msgid "STEP 2: Verification GCode" msgstr "ШАГ 2: Проверка GCode" -#: flatcamTools/ToolCalibration.py:395 flatcamTools/ToolCalibration.py:408 +#: flatcamTools/ToolCalibration.py:392 flatcamTools/ToolCalibration.py:405 msgid "" "Generate GCode file to locate and align the PCB by using\n" "the four points acquired above.\n" @@ -13114,15 +13905,15 @@ msgstr "" "справа.\n" "- четвертый пункт -> окончательный пункт проверки. Просто для оценки." -#: flatcamTools/ToolCalibration.py:406 flatcamTools/ToolSolderPaste.py:347 +#: flatcamTools/ToolCalibration.py:403 flatcamTools/ToolSolderPaste.py:349 msgid "Generate GCode" msgstr "Создать GCode" -#: flatcamTools/ToolCalibration.py:432 +#: flatcamTools/ToolCalibration.py:429 msgid "STEP 3: Adjustments" msgstr "ШАГ 3: Корректировки" -#: flatcamTools/ToolCalibration.py:434 flatcamTools/ToolCalibration.py:443 +#: flatcamTools/ToolCalibration.py:431 flatcamTools/ToolCalibration.py:440 msgid "" "Calculate Scale and Skew factors based on the differences (delta)\n" "found when checking the PCB pattern. The differences must be filled\n" @@ -13132,15 +13923,15 @@ msgstr "" "найденных при проверке схемы печатной платы. Различия должны быть устранены\n" "в полях Найдено (Delta)." -#: flatcamTools/ToolCalibration.py:441 +#: flatcamTools/ToolCalibration.py:438 msgid "Calculate Factors" msgstr "Рассчитать факторы" -#: flatcamTools/ToolCalibration.py:463 +#: flatcamTools/ToolCalibration.py:460 msgid "STEP 4: Adjusted GCode" msgstr "ШАГ 4: Корректировка GCode" -#: flatcamTools/ToolCalibration.py:465 +#: flatcamTools/ToolCalibration.py:462 msgid "" "Generate verification GCode file adjusted with\n" "the factors above." @@ -13148,43 +13939,43 @@ msgstr "" "Создаёт проверочный файл GCode \n" "скорректированный с помощью вышеперечисленных факторов." -#: flatcamTools/ToolCalibration.py:470 +#: flatcamTools/ToolCalibration.py:467 msgid "Scale Factor X:" msgstr "Коэффициент масштабирования X:" -#: flatcamTools/ToolCalibration.py:482 +#: flatcamTools/ToolCalibration.py:479 msgid "Scale Factor Y:" msgstr "Коэффициент масштабирования Y:" -#: flatcamTools/ToolCalibration.py:494 +#: flatcamTools/ToolCalibration.py:491 msgid "Apply Scale Factors" msgstr "Масштабировать" -#: flatcamTools/ToolCalibration.py:496 +#: flatcamTools/ToolCalibration.py:493 msgid "Apply Scale factors on the calibration points." msgstr "Применяет коэффициент масштабирования для точек калибровки." -#: flatcamTools/ToolCalibration.py:506 +#: flatcamTools/ToolCalibration.py:503 msgid "Skew Angle X:" msgstr "Угол наклона X:" -#: flatcamTools/ToolCalibration.py:519 +#: flatcamTools/ToolCalibration.py:516 msgid "Skew Angle Y:" msgstr "Угол наклона Y:" -#: flatcamTools/ToolCalibration.py:532 +#: flatcamTools/ToolCalibration.py:529 msgid "Apply Skew Factors" msgstr "Наклонить" -#: flatcamTools/ToolCalibration.py:534 +#: flatcamTools/ToolCalibration.py:531 msgid "Apply Skew factors on the calibration points." msgstr "Применяет коэффициенты перекоса для точек калибровки." -#: flatcamTools/ToolCalibration.py:603 +#: flatcamTools/ToolCalibration.py:600 msgid "Generate Adjusted GCode" msgstr "Создать скорректированный GCode" -#: flatcamTools/ToolCalibration.py:605 +#: flatcamTools/ToolCalibration.py:602 msgid "" "Generate verification GCode file adjusted with\n" "the factors set above.\n" @@ -13196,11 +13987,11 @@ msgstr "" "Параметры GCode могут быть перенастроены\n" "перед нажатием этой кнопки." -#: flatcamTools/ToolCalibration.py:626 +#: flatcamTools/ToolCalibration.py:623 msgid "STEP 5: Calibrate FlatCAM Objects" msgstr "ШАГ 5: Калибровка объектов FlatCAM" -#: flatcamTools/ToolCalibration.py:628 +#: flatcamTools/ToolCalibration.py:625 msgid "" "Adjust the FlatCAM objects\n" "with the factors determined and verified above." @@ -13208,27 +13999,27 @@ msgstr "" "Корректировка объектов FlatCAM\n" "с факторами, определенными и проверенными выше." -#: flatcamTools/ToolCalibration.py:641 +#: flatcamTools/ToolCalibration.py:637 msgid "Adjusted object type" msgstr "Тип объекта корректировки" -#: flatcamTools/ToolCalibration.py:643 +#: flatcamTools/ToolCalibration.py:638 msgid "Type of the FlatCAM Object to be adjusted." msgstr "Тип объекта FlatCAM, который требуется скорректировать." -#: flatcamTools/ToolCalibration.py:654 +#: flatcamTools/ToolCalibration.py:651 msgid "Adjusted object selection" msgstr "Выбор объекта корректировки" -#: flatcamTools/ToolCalibration.py:656 +#: flatcamTools/ToolCalibration.py:653 msgid "The FlatCAM Object to be adjusted." msgstr "Объект FlatCAM для корректировки." -#: flatcamTools/ToolCalibration.py:663 +#: flatcamTools/ToolCalibration.py:660 msgid "Calibrate" msgstr "Колибровка" -#: flatcamTools/ToolCalibration.py:665 +#: flatcamTools/ToolCalibration.py:662 msgid "" "Adjust (scale and/or skew) the objects\n" "with the factors determined above." @@ -13236,79 +14027,59 @@ msgstr "" "Корректировка (масштабирование и/или перекос) объектов\n" "с вышеперечисленными факторами." -#: flatcamTools/ToolCalibration.py:686 flatcamTools/ToolCopperThieving.py:482 -#: flatcamTools/ToolCutOut.py:362 flatcamTools/ToolDblSided.py:405 -#: flatcamTools/ToolFiducials.py:316 flatcamTools/ToolFilm.py:518 -#: flatcamTools/ToolNonCopperClear.py:486 flatcamTools/ToolOptimal.py:237 -#: flatcamTools/ToolPaint.py:372 flatcamTools/ToolPanelize.py:266 -#: flatcamTools/ToolQRCode.py:314 flatcamTools/ToolRulesCheck.py:507 -#: flatcamTools/ToolSolderPaste.py:470 flatcamTools/ToolSub.py:170 -msgid "Reset Tool" -msgstr "Сбросить настройки инструмента" +#: flatcamTools/ToolCalibration.py:770 flatcamTools/ToolCalibration.py:771 +msgid "Origin" +msgstr "Источник" -#: flatcamTools/ToolCalibration.py:688 flatcamTools/ToolCopperThieving.py:484 -#: flatcamTools/ToolCutOut.py:364 flatcamTools/ToolDblSided.py:407 -#: flatcamTools/ToolFiducials.py:318 flatcamTools/ToolFilm.py:520 -#: flatcamTools/ToolNonCopperClear.py:488 flatcamTools/ToolOptimal.py:239 -#: flatcamTools/ToolPaint.py:374 flatcamTools/ToolPanelize.py:268 -#: flatcamTools/ToolQRCode.py:316 flatcamTools/ToolRulesCheck.py:509 -#: flatcamTools/ToolSolderPaste.py:472 flatcamTools/ToolSub.py:172 -msgid "Will reset the tool parameters." -msgstr "Сброс параметров инструмента." - -#: flatcamTools/ToolCalibration.py:792 +#: flatcamTools/ToolCalibration.py:800 msgid "Tool initialized" msgstr "Инструмент инициализирован" -#: flatcamTools/ToolCalibration.py:824 +#: flatcamTools/ToolCalibration.py:838 msgid "There is no source FlatCAM object selected..." msgstr "Нет выбранного исходного объекта FlatCAM..." -#: flatcamTools/ToolCalibration.py:845 +#: flatcamTools/ToolCalibration.py:859 msgid "Get First calibration point. Bottom Left..." msgstr "Получение первой точки калибровки. Внизу слева...." -#: flatcamTools/ToolCalibration.py:906 -msgid "Cancelled by user request." -msgstr "Отменено по запросу пользователя." - -#: flatcamTools/ToolCalibration.py:912 +#: flatcamTools/ToolCalibration.py:926 msgid "Get Second calibration point. Bottom Right (Top Left)..." msgstr "Получите вторую точку калибровки. Внизу справа (вверху слева) ..." -#: flatcamTools/ToolCalibration.py:916 +#: flatcamTools/ToolCalibration.py:930 msgid "Get Third calibration point. Top Left (Bottom Right)..." msgstr "Получите третью точку калибровки. Верхний левый нижний правый)..." -#: flatcamTools/ToolCalibration.py:920 +#: flatcamTools/ToolCalibration.py:934 msgid "Get Forth calibration point. Top Right..." msgstr "Получение четвёртой точки калибровки. Вверху справа ..." -#: flatcamTools/ToolCalibration.py:924 +#: flatcamTools/ToolCalibration.py:938 msgid "Done. All four points have been acquired." msgstr "Готово. Все четыре точки были получены." -#: flatcamTools/ToolCalibration.py:955 +#: flatcamTools/ToolCalibration.py:969 msgid "Verification GCode for FlatCAM Calibration Tool" msgstr "Проверочный код GCode для инструмента калибровки FlatCAM" -#: flatcamTools/ToolCalibration.py:967 flatcamTools/ToolCalibration.py:1053 +#: flatcamTools/ToolCalibration.py:981 flatcamTools/ToolCalibration.py:1067 msgid "Gcode Viewer" msgstr "Просмотрщик Gcode" -#: flatcamTools/ToolCalibration.py:983 +#: flatcamTools/ToolCalibration.py:997 msgid "Cancelled. Four points are needed for GCode generation." msgstr "Отмена. Для генерации GCode необходимы четыре точки." -#: flatcamTools/ToolCalibration.py:1239 flatcamTools/ToolCalibration.py:1335 +#: flatcamTools/ToolCalibration.py:1253 flatcamTools/ToolCalibration.py:1349 msgid "There is no FlatCAM object selected..." msgstr "Нет выбранного объекта FlatCAM..." -#: flatcamTools/ToolCopperThieving.py:76 flatcamTools/ToolFiducials.py:260 +#: flatcamTools/ToolCopperThieving.py:77 flatcamTools/ToolFiducials.py:261 msgid "Gerber Object to which will be added a copper thieving." msgstr "Gerber объект, к которому будет добавлен copper thieving." -#: flatcamTools/ToolCopperThieving.py:98 +#: flatcamTools/ToolCopperThieving.py:99 msgid "" "This set the distance between the copper thieving components\n" "(the polygon fill may be split in multiple polygons)\n" @@ -13318,7 +14089,7 @@ msgstr "" "(заливка полигона может быть разделена на несколько полигонов)\n" "и медными трассами в Gerber файле." -#: flatcamTools/ToolCopperThieving.py:131 +#: flatcamTools/ToolCopperThieving.py:132 msgid "" "- 'Itself' - the copper thieving extent is based on the object extent.\n" "- 'Area Selection' - left mouse click to start selection of the area to be " @@ -13333,12 +14104,12 @@ msgstr "" "- 'Референсный объект' - будет выполнять Copper Thieving в области указанной " "другим объектом." -#: flatcamTools/ToolCopperThieving.py:138 -#: flatcamTools/ToolNonCopperClear.py:445 flatcamTools/ToolPaint.py:326 +#: flatcamTools/ToolCopperThieving.py:139 flatcamTools/ToolNCC.py:552 +#: flatcamTools/ToolPaint.py:496 msgid "Ref. Type" msgstr "Тип ссылки" -#: flatcamTools/ToolCopperThieving.py:140 +#: flatcamTools/ToolCopperThieving.py:141 msgid "" "The type of FlatCAM object to be used as copper thieving reference.\n" "It can be Gerber, Excellon or Geometry." @@ -13347,37 +14118,22 @@ msgstr "" "Copper Thieving.\n" "Это может быть Gerber, Excellon или Geometry." -#: flatcamTools/ToolCopperThieving.py:144 flatcamTools/ToolDblSided.py:215 -#: flatcamTools/ToolNonCopperClear.py:451 flatcamTools/ToolPaint.py:332 -msgid "Reference Gerber" -msgstr "Референсный Gerber" - -#: flatcamTools/ToolCopperThieving.py:145 flatcamTools/ToolDblSided.py:216 -#: flatcamTools/ToolNonCopperClear.py:452 flatcamTools/ToolPaint.py:333 -msgid "Reference Excellon" -msgstr "Референсный Excellon" - -#: flatcamTools/ToolCopperThieving.py:146 flatcamTools/ToolDblSided.py:217 -#: flatcamTools/ToolNonCopperClear.py:453 flatcamTools/ToolPaint.py:334 -msgid "Reference Geometry" -msgstr "Референсный Geometry" - -#: flatcamTools/ToolCopperThieving.py:151 -#: flatcamTools/ToolNonCopperClear.py:456 flatcamTools/ToolPaint.py:337 +#: flatcamTools/ToolCopperThieving.py:150 flatcamTools/ToolNCC.py:562 +#: flatcamTools/ToolPaint.py:506 msgid "Ref. Object" msgstr "Указатель объекта" -#: flatcamTools/ToolCopperThieving.py:153 -#: flatcamTools/ToolNonCopperClear.py:458 flatcamTools/ToolPaint.py:339 +#: flatcamTools/ToolCopperThieving.py:152 flatcamTools/ToolNCC.py:564 +#: flatcamTools/ToolPaint.py:508 msgid "The FlatCAM object to be used as non copper clearing reference." msgstr "" "Объект FlatCAM, который будет использоваться как ссылка на очистку от меди." -#: flatcamTools/ToolCopperThieving.py:326 +#: flatcamTools/ToolCopperThieving.py:328 msgid "Insert Copper thieving" msgstr "Вставить Copper thieving" -#: flatcamTools/ToolCopperThieving.py:328 +#: flatcamTools/ToolCopperThieving.py:330 msgid "" "Will add a polygon (may be split in multiple parts)\n" "that will surround the actual Gerber traces at a certain distance." @@ -13385,11 +14141,11 @@ msgstr "" "Добавит полигон (может быть разбит на несколько частей)\n" "который будет окружать фактические трассы Gerber на определенном расстоянии." -#: flatcamTools/ToolCopperThieving.py:387 +#: flatcamTools/ToolCopperThieving.py:389 msgid "Insert Robber Bar" msgstr "Вставить Robber Bar" -#: flatcamTools/ToolCopperThieving.py:389 +#: flatcamTools/ToolCopperThieving.py:391 msgid "" "Will add a polygon with a defined thickness\n" "that will surround the actual Gerber object\n" @@ -13401,11 +14157,11 @@ msgstr "" "на определенном расстоянии.\n" "Требуется при нанесении рисунка отверстий." -#: flatcamTools/ToolCopperThieving.py:413 +#: flatcamTools/ToolCopperThieving.py:415 msgid "Select Soldermask object" msgstr "Выберите объект паяльной маски" -#: flatcamTools/ToolCopperThieving.py:415 +#: flatcamTools/ToolCopperThieving.py:417 msgid "" "Gerber Object with the soldermask.\n" "It will be used as a base for\n" @@ -13415,11 +14171,11 @@ msgstr "" "Он будет использоваться в качестве базы для\n" "рисунка гальванической маски." -#: flatcamTools/ToolCopperThieving.py:443 +#: flatcamTools/ToolCopperThieving.py:446 msgid "Plated area" msgstr "Зоны покрытия" -#: flatcamTools/ToolCopperThieving.py:445 +#: flatcamTools/ToolCopperThieving.py:448 msgid "" "The area to be plated by pattern plating.\n" "Basically is made from the openings in the plating mask.\n" @@ -13437,19 +14193,19 @@ msgstr "" "чуть больше, чем медные площадки, и эта область \n" "рассчитывается по отверстиям паяльной маски." -#: flatcamTools/ToolCopperThieving.py:456 +#: flatcamTools/ToolCopperThieving.py:459 msgid "mm" msgstr "мм" -#: flatcamTools/ToolCopperThieving.py:458 +#: flatcamTools/ToolCopperThieving.py:461 msgid "in" msgstr "дюймы" -#: flatcamTools/ToolCopperThieving.py:465 +#: flatcamTools/ToolCopperThieving.py:468 msgid "Generate pattern plating mask" msgstr "Создать рисунок гальванической маски" -#: flatcamTools/ToolCopperThieving.py:467 +#: flatcamTools/ToolCopperThieving.py:470 msgid "" "Will add to the soldermask gerber geometry\n" "the geometries of the copper thieving and/or\n" @@ -13459,133 +14215,134 @@ msgstr "" "copper thieving и/или\n" "robber bar, если они были созданы." -#: flatcamTools/ToolCopperThieving.py:620 -#: flatcamTools/ToolCopperThieving.py:645 +#: flatcamTools/ToolCopperThieving.py:626 +#: flatcamTools/ToolCopperThieving.py:651 msgid "Lines Grid works only for 'itself' reference ..." msgstr "Сетка линий работает только для ссылки 'Как есть'..." -#: flatcamTools/ToolCopperThieving.py:631 +#: flatcamTools/ToolCopperThieving.py:637 msgid "Solid fill selected." msgstr "Выбрана сплошная заливка." -#: flatcamTools/ToolCopperThieving.py:636 +#: flatcamTools/ToolCopperThieving.py:642 msgid "Dots grid fill selected." msgstr "Выбрана заливка сетки точек." -#: flatcamTools/ToolCopperThieving.py:641 +#: flatcamTools/ToolCopperThieving.py:647 msgid "Squares grid fill selected." msgstr "Выбрано заполнение сеткой квадратов." -#: flatcamTools/ToolCopperThieving.py:662 -#: flatcamTools/ToolCopperThieving.py:744 -#: flatcamTools/ToolCopperThieving.py:1340 flatcamTools/ToolDblSided.py:564 -#: flatcamTools/ToolFiducials.py:464 flatcamTools/ToolFiducials.py:741 -#: flatcamTools/ToolOptimal.py:342 flatcamTools/ToolQRCode.py:424 +#: flatcamTools/ToolCopperThieving.py:668 +#: flatcamTools/ToolCopperThieving.py:750 +#: flatcamTools/ToolCopperThieving.py:1346 flatcamTools/ToolDblSided.py:658 +#: flatcamTools/ToolExtractDrills.py:436 flatcamTools/ToolFiducials.py:466 +#: flatcamTools/ToolFiducials.py:743 flatcamTools/ToolOptimal.py:343 +#: flatcamTools/ToolPunchGerber.py:512 flatcamTools/ToolQRCode.py:426 msgid "There is no Gerber object loaded ..." msgstr "Нет загруженного Gerber объекта ..." -#: flatcamTools/ToolCopperThieving.py:675 -#: flatcamTools/ToolCopperThieving.py:1268 +#: flatcamTools/ToolCopperThieving.py:681 +#: flatcamTools/ToolCopperThieving.py:1274 msgid "Append geometry" msgstr "Добавить геометрию" -#: flatcamTools/ToolCopperThieving.py:719 -#: flatcamTools/ToolCopperThieving.py:1301 -#: flatcamTools/ToolCopperThieving.py:1454 +#: flatcamTools/ToolCopperThieving.py:725 +#: flatcamTools/ToolCopperThieving.py:1307 +#: flatcamTools/ToolCopperThieving.py:1460 msgid "Append source file" msgstr "Добавить исходный файл" -#: flatcamTools/ToolCopperThieving.py:727 -#: flatcamTools/ToolCopperThieving.py:1309 +#: flatcamTools/ToolCopperThieving.py:733 +#: flatcamTools/ToolCopperThieving.py:1315 msgid "Copper Thieving Tool done." msgstr "Copper Thieving завершён." -#: flatcamTools/ToolCopperThieving.py:754 -#: flatcamTools/ToolCopperThieving.py:787 flatcamTools/ToolCutOut.py:468 -#: flatcamTools/ToolCutOut.py:642 flatcamTools/ToolNonCopperClear.py:1151 -#: flatcamTools/ToolNonCopperClear.py:1192 -#: flatcamTools/ToolNonCopperClear.py:1224 flatcamTools/ToolPaint.py:1074 -#: flatcamTools/ToolPanelize.py:401 flatcamTools/ToolPanelize.py:416 -#: flatcamTools/ToolSub.py:288 flatcamTools/ToolSub.py:301 -#: flatcamTools/ToolSub.py:492 flatcamTools/ToolSub.py:507 -#: tclCommands/TclCommandCopperClear.py:97 -#: tclCommands/TclCommandCopperClear.py:146 tclCommands/TclCommandPaint.py:97 +#: flatcamTools/ToolCopperThieving.py:760 +#: flatcamTools/ToolCopperThieving.py:793 flatcamTools/ToolCutOut.py:480 +#: flatcamTools/ToolCutOut.py:667 flatcamTools/ToolInvertGerber.py:208 +#: flatcamTools/ToolNCC.py:1603 flatcamTools/ToolNCC.py:1644 +#: flatcamTools/ToolNCC.py:1673 flatcamTools/ToolPaint.py:1462 +#: flatcamTools/ToolPanelize.py:413 flatcamTools/ToolPanelize.py:428 +#: flatcamTools/ToolSub.py:294 flatcamTools/ToolSub.py:307 +#: flatcamTools/ToolSub.py:498 flatcamTools/ToolSub.py:513 +#: tclCommands/TclCommandCopperClear.py:97 tclCommands/TclCommandPaint.py:99 msgid "Could not retrieve object" msgstr "Не удалось получить объект" -#: flatcamTools/ToolCopperThieving.py:764 -#: flatcamTools/ToolNonCopperClear.py:1205 +#: flatcamTools/ToolCopperThieving.py:770 flatcamTools/ToolNCC.py:1652 msgid "Click the start point of the area." msgstr "Нажмите на начальную точку области." -#: flatcamTools/ToolCopperThieving.py:815 +#: flatcamTools/ToolCopperThieving.py:821 msgid "Click the end point of the filling area." msgstr "Нажмите на конечную точку области рисования." -#: flatcamTools/ToolCopperThieving.py:821 -#: flatcamTools/ToolNonCopperClear.py:1261 flatcamTools/ToolPaint.py:1201 +#: flatcamTools/ToolCopperThieving.py:827 flatcamTools/ToolNCC.py:1714 +#: flatcamTools/ToolNCC.py:1766 flatcamTools/ToolPaint.py:1594 +#: flatcamTools/ToolPaint.py:1645 msgid "Zone added. Click to start adding next zone or right click to finish." msgstr "Зона добавлена. Щелкните правой кнопкой мыши для завершения." -#: flatcamTools/ToolCopperThieving.py:937 -#: flatcamTools/ToolCopperThieving.py:941 -#: flatcamTools/ToolCopperThieving.py:1002 +#: flatcamTools/ToolCopperThieving.py:943 +#: flatcamTools/ToolCopperThieving.py:947 +#: flatcamTools/ToolCopperThieving.py:1008 msgid "Thieving" msgstr "Thieving" -#: flatcamTools/ToolCopperThieving.py:948 +#: flatcamTools/ToolCopperThieving.py:954 msgid "Copper Thieving Tool started. Reading parameters." msgstr "Copper Thieving. Чтение параметров." -#: flatcamTools/ToolCopperThieving.py:973 +#: flatcamTools/ToolCopperThieving.py:979 msgid "Copper Thieving Tool. Preparing isolation polygons." msgstr "Copper Thieving. Подготовка безмедных полигонов." -#: flatcamTools/ToolCopperThieving.py:1018 +#: flatcamTools/ToolCopperThieving.py:1024 msgid "Copper Thieving Tool. Preparing areas to fill with copper." msgstr "Copper Thieving. Подготовка участков для заполнения медью." -#: flatcamTools/ToolCopperThieving.py:1029 flatcamTools/ToolOptimal.py:349 -#: flatcamTools/ToolPanelize.py:793 flatcamTools/ToolRulesCheck.py:1118 +#: flatcamTools/ToolCopperThieving.py:1035 flatcamTools/ToolOptimal.py:350 +#: flatcamTools/ToolPanelize.py:802 flatcamTools/ToolRulesCheck.py:1127 msgid "Working..." msgstr "Обработка…" -#: flatcamTools/ToolCopperThieving.py:1056 +#: flatcamTools/ToolCopperThieving.py:1062 msgid "Geometry not supported for bounding box" msgstr "Геометрия не поддерживается для ограничивающих рамок" -#: flatcamTools/ToolCopperThieving.py:1062 -#: flatcamTools/ToolNonCopperClear.py:1513 flatcamTools/ToolPaint.py:2673 +#: flatcamTools/ToolCopperThieving.py:1068 flatcamTools/ToolNCC.py:1933 +#: flatcamTools/ToolNCC.py:1988 flatcamTools/ToolNCC.py:2992 +#: flatcamTools/ToolPaint.py:3368 msgid "No object available." msgstr "Нет доступных объектов." -#: flatcamTools/ToolCopperThieving.py:1099 -#: flatcamTools/ToolNonCopperClear.py:1555 +#: flatcamTools/ToolCopperThieving.py:1105 flatcamTools/ToolNCC.py:1958 +#: flatcamTools/ToolNCC.py:2011 flatcamTools/ToolNCC.py:3034 msgid "The reference object type is not supported." msgstr "Тип указанного объекта не поддерживается." -#: flatcamTools/ToolCopperThieving.py:1104 +#: flatcamTools/ToolCopperThieving.py:1110 msgid "Copper Thieving Tool. Appending new geometry and buffering." msgstr "Copper Thieving. Добавление новой геометрии и буферизации." -#: flatcamTools/ToolCopperThieving.py:1120 +#: flatcamTools/ToolCopperThieving.py:1126 msgid "Create geometry" msgstr "Создать геометрию" -#: flatcamTools/ToolCopperThieving.py:1320 -#: flatcamTools/ToolCopperThieving.py:1324 +#: flatcamTools/ToolCopperThieving.py:1326 +#: flatcamTools/ToolCopperThieving.py:1330 msgid "P-Plating Mask" msgstr "Рисунок гальванической маски" -#: flatcamTools/ToolCopperThieving.py:1346 +#: flatcamTools/ToolCopperThieving.py:1352 msgid "Append PP-M geometry" msgstr "Добавить PP-M геометрию" -#: flatcamTools/ToolCopperThieving.py:1472 +#: flatcamTools/ToolCopperThieving.py:1478 msgid "Generating Pattern Plating Mask done." msgstr "Создание рисунка гальванической маски выполнено." -#: flatcamTools/ToolCopperThieving.py:1544 +#: flatcamTools/ToolCopperThieving.py:1550 msgid "Copper Thieving Tool exit." msgstr "Выход из Copper Thieving." @@ -13593,7 +14350,19 @@ msgstr "Выход из Copper Thieving." msgid "Cutout PCB" msgstr "Обрезка платы" -#: flatcamTools/ToolCutOut.py:82 +#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolPanelize.py:54 +msgid "Source Object" +msgstr "Исходный объект" + +#: flatcamTools/ToolCutOut.py:71 +msgid "Object to be cutout" +msgstr "Объект вырезания" + +#: flatcamTools/ToolCutOut.py:76 +msgid "Kind" +msgstr "Тип" + +#: flatcamTools/ToolCutOut.py:98 msgid "" "Specify the type of object to be cutout.\n" "It can be of type: Gerber or Geometry.\n" @@ -13605,19 +14374,19 @@ msgstr "" "То, что выбрано здесь будет диктовать вид\n" "объектов, которые будут заполнять поле со списком \"объект\"." -#: flatcamTools/ToolCutOut.py:91 flatcamTools/ToolCutOut.py:92 -msgid "Object to be cutout" -msgstr "Объект вырезания" +#: flatcamTools/ToolCutOut.py:122 +msgid "Tool Parameters" +msgstr "Параметры инструмента" -#: flatcamTools/ToolCutOut.py:230 +#: flatcamTools/ToolCutOut.py:239 msgid "A. Automatic Bridge Gaps" msgstr "А. Автоматическое размещение перемычек" -#: flatcamTools/ToolCutOut.py:232 +#: flatcamTools/ToolCutOut.py:241 msgid "This section handle creation of automatic bridge gaps." msgstr "Этот раздел обрабатывает создание автоматических зазоров моста." -#: flatcamTools/ToolCutOut.py:243 +#: flatcamTools/ToolCutOut.py:252 msgid "" "Number of gaps used for the Automatic cutout.\n" "There can be maximum 8 bridges/gaps.\n" @@ -13641,11 +14410,11 @@ msgstr "" "- 2tb - 2 * top + 2 * bottom\n" "- 8 - 2*слева + 2 * справа + 2*сверху + 2 * снизу" -#: flatcamTools/ToolCutOut.py:264 +#: flatcamTools/ToolCutOut.py:273 msgid "Generate Freeform Geometry" msgstr "Создать геометрию свободной формы" -#: flatcamTools/ToolCutOut.py:266 +#: flatcamTools/ToolCutOut.py:275 msgid "" "Cutout the selected object.\n" "The cutout shape can be of any shape.\n" @@ -13655,11 +14424,11 @@ msgstr "" "Форма выреза может быть любой формы.\n" "Полезно, когда печатная плата имеет непрямоугольную форму." -#: flatcamTools/ToolCutOut.py:278 +#: flatcamTools/ToolCutOut.py:287 msgid "Generate Rectangular Geometry" msgstr "Создать прямоугольную геометрию" -#: flatcamTools/ToolCutOut.py:280 +#: flatcamTools/ToolCutOut.py:289 msgid "" "Cutout the selected object.\n" "The resulting cutout shape is\n" @@ -13671,11 +14440,11 @@ msgstr "" "всегда прямоугольная форма, и это будет\n" "ограничивающий прямоугольник объекта." -#: flatcamTools/ToolCutOut.py:299 +#: flatcamTools/ToolCutOut.py:308 msgid "B. Manual Bridge Gaps" msgstr "Б. Ручное размещение перемычек" -#: flatcamTools/ToolCutOut.py:301 +#: flatcamTools/ToolCutOut.py:310 msgid "" "This section handle creation of manual bridge gaps.\n" "This is done by mouse clicking on the perimeter of the\n" @@ -13686,15 +14455,15 @@ msgstr "" "объекта геометрии, который используется \n" "в качестве объекта выреза. " -#: flatcamTools/ToolCutOut.py:319 +#: flatcamTools/ToolCutOut.py:329 msgid "Geometry object used to create the manual cutout." msgstr "Геометрический объект, используемый для создания ручного выреза." -#: flatcamTools/ToolCutOut.py:328 +#: flatcamTools/ToolCutOut.py:338 msgid "Generate Manual Geometry" msgstr "Создать ручную геометрию" -#: flatcamTools/ToolCutOut.py:330 +#: flatcamTools/ToolCutOut.py:340 msgid "" "If the object to be cutout is a Gerber\n" "first create a Geometry that surrounds it,\n" @@ -13706,11 +14475,11 @@ msgstr "" "для использования в качестве выреза, если он еще не существует.\n" "Выберите исходный файл Gerber в верхнем поле со списком объектов." -#: flatcamTools/ToolCutOut.py:343 +#: flatcamTools/ToolCutOut.py:353 msgid "Manual Add Bridge Gaps" msgstr "Ручное добавление перемычек" -#: flatcamTools/ToolCutOut.py:345 +#: flatcamTools/ToolCutOut.py:355 msgid "" "Use the left mouse button (LMB) click\n" "to create a bridge gap to separate the PCB from\n" @@ -13723,7 +14492,7 @@ msgstr "" "Щелчок ЛКМ должен быть сделан по периметру\n" "объекта геометрии, используемой в качестве геометрии выреза." -#: flatcamTools/ToolCutOut.py:473 +#: flatcamTools/ToolCutOut.py:485 msgid "" "There is no object selected for Cutout.\n" "Select one and try again." @@ -13731,19 +14500,20 @@ msgstr "" "Не выбран объект для обрезки.\n" "Выберите один и повторите попытку." -#: flatcamTools/ToolCutOut.py:479 flatcamTools/ToolCutOut.py:651 -#: flatcamTools/ToolCutOut.py:795 flatcamTools/ToolCutOut.py:877 +#: flatcamTools/ToolCutOut.py:491 flatcamTools/ToolCutOut.py:676 +#: flatcamTools/ToolCutOut.py:839 flatcamTools/ToolCutOut.py:921 +#: tclCommands/TclCommandGeoCutout.py:185 msgid "Tool Diameter is zero value. Change it to a positive real number." msgstr "" "Диаметр инструмента имеет нулевое значение. Измените его на положительное " "целое число." -#: flatcamTools/ToolCutOut.py:493 flatcamTools/ToolCutOut.py:666 +#: flatcamTools/ToolCutOut.py:505 flatcamTools/ToolCutOut.py:691 msgid "Number of gaps value is missing. Add it and retry." msgstr "" "Значение количества перемычек отсутствует. Добавьте его и повторите попытку.." -#: flatcamTools/ToolCutOut.py:498 flatcamTools/ToolCutOut.py:670 +#: flatcamTools/ToolCutOut.py:510 flatcamTools/ToolCutOut.py:695 msgid "" "Gaps value can be only one of: 'None', 'lr', 'tb', '2lr', '2tb', 4 or 8. " "Fill in a correct value and retry. " @@ -13751,7 +14521,7 @@ msgstr "" "Значение перемычки может быть только одним из: «None», «lr», «tb», «2lr», " "«2tb», 4 или 8. Введите правильное значение и повторите попытку. " -#: flatcamTools/ToolCutOut.py:503 flatcamTools/ToolCutOut.py:676 +#: flatcamTools/ToolCutOut.py:515 flatcamTools/ToolCutOut.py:701 msgid "" "Cutout operation cannot be done on a multi-geo Geometry.\n" "Optionally, this Multi-geo Geometry can be converted to Single-geo " @@ -13763,40 +14533,45 @@ msgstr "" "Geometry,\n" "а после этого выполнена обрезка." -#: flatcamTools/ToolCutOut.py:625 flatcamTools/ToolCutOut.py:784 +#: flatcamTools/ToolCutOut.py:650 flatcamTools/ToolCutOut.py:828 msgid "Any form CutOut operation finished." msgstr "Операция обрезки закончена." -#: flatcamTools/ToolCutOut.py:646 flatcamTools/ToolNonCopperClear.py:1155 -#: flatcamTools/ToolPaint.py:994 flatcamTools/ToolPanelize.py:406 -#: tclCommands/TclCommandBbox.py:70 tclCommands/TclCommandNregions.py:70 +#: flatcamTools/ToolCutOut.py:671 flatcamTools/ToolInvertGerber.py:214 +#: flatcamTools/ToolNCC.py:1607 flatcamTools/ToolPaint.py:1385 +#: flatcamTools/ToolPanelize.py:418 tclCommands/TclCommandBbox.py:72 +#: tclCommands/TclCommandNregions.py:72 msgid "Object not found" msgstr "Объект не найден" -#: flatcamTools/ToolCutOut.py:789 +#: flatcamTools/ToolCutOut.py:814 +msgid "Rectangular cutout with negative margin is not possible." +msgstr "" + +#: flatcamTools/ToolCutOut.py:833 msgid "" "Click on the selected geometry object perimeter to create a bridge gap ..." msgstr "" "Щелкните по периметру выбранного объекта геометрии, чтобы создать " "перемычку ..." -#: flatcamTools/ToolCutOut.py:806 flatcamTools/ToolCutOut.py:832 +#: flatcamTools/ToolCutOut.py:850 flatcamTools/ToolCutOut.py:876 msgid "Could not retrieve Geometry object" msgstr "Не удалось получить объект Geometry" -#: flatcamTools/ToolCutOut.py:837 +#: flatcamTools/ToolCutOut.py:881 msgid "Geometry object for manual cutout not found" msgstr "Объект геометрии для ручного выреза не найден" -#: flatcamTools/ToolCutOut.py:847 +#: flatcamTools/ToolCutOut.py:891 msgid "Added manual Bridge Gap." msgstr "Премычка добавлена вручную." -#: flatcamTools/ToolCutOut.py:859 +#: flatcamTools/ToolCutOut.py:903 msgid "Could not retrieve Gerber object" msgstr "Не удалось получить объект Gerber" -#: flatcamTools/ToolCutOut.py:864 +#: flatcamTools/ToolCutOut.py:908 msgid "" "There is no Gerber object selected for Cutout.\n" "Select one and try again." @@ -13804,7 +14579,7 @@ msgstr "" "Для обрезки не выбран объект Gerber.\n" "Выберите один и повторите попытку." -#: flatcamTools/ToolCutOut.py:870 +#: flatcamTools/ToolCutOut.py:914 msgid "" "The selected object has to be of Gerber type.\n" "Select a Gerber file and try again." @@ -13812,11 +14587,11 @@ msgstr "" "Выбранный объект должен быть типа Gerber.\n" "Выберите файл Gerber и повторите попытку." -#: flatcamTools/ToolCutOut.py:905 +#: flatcamTools/ToolCutOut.py:949 msgid "Geometry not supported for cutout" msgstr "Геометрия не поддерживается для выреза" -#: flatcamTools/ToolCutOut.py:960 +#: flatcamTools/ToolCutOut.py:1007 msgid "Making manual bridge gap..." msgstr "Создание перемычки вручную..." @@ -13824,12 +14599,20 @@ msgstr "Создание перемычки вручную..." msgid "2-Sided PCB" msgstr "2-х сторонняя плата" -#: flatcamTools/ToolDblSided.py:60 +#: flatcamTools/ToolDblSided.py:53 +msgid "Mirror Operation" +msgstr "Операция зеркалирования" + +#: flatcamTools/ToolDblSided.py:54 +msgid "Objects to be mirrored" +msgstr "Объекты для зеркального отображения" + +#: flatcamTools/ToolDblSided.py:66 msgid "Gerber to be mirrored" msgstr "Объект Gerber для зеркалирования" -#: flatcamTools/ToolDblSided.py:64 flatcamTools/ToolDblSided.py:92 -#: flatcamTools/ToolDblSided.py:122 +#: flatcamTools/ToolDblSided.py:70 flatcamTools/ToolDblSided.py:98 +#: flatcamTools/ToolDblSided.py:128 msgid "" "Mirrors (flips) the specified object around \n" "the specified axis. Does not create a new \n" @@ -13839,39 +14622,55 @@ msgstr "" "вокруг заданной оси. Не создаёт новый объект,\n" "но изменяет его." -#: flatcamTools/ToolDblSided.py:88 +#: flatcamTools/ToolDblSided.py:94 msgid "Excellon Object to be mirrored." msgstr "Объект Excellon для отражения." -#: flatcamTools/ToolDblSided.py:117 +#: flatcamTools/ToolDblSided.py:123 msgid "Geometry Obj to be mirrored." msgstr "Объект Geometry для зеркалирования." -#: flatcamTools/ToolDblSided.py:179 -msgid "Point/Box Reference" -msgstr "Указатель точка/рамка" +#: flatcamTools/ToolDblSided.py:159 +msgid "Mirror Parameters" +msgstr "Параметры зеркалирования" -#: flatcamTools/ToolDblSided.py:181 +#: flatcamTools/ToolDblSided.py:160 +msgid "Parameters for the mirror operation" +msgstr "Параметры для зеркальной операции" + +#: flatcamTools/ToolDblSided.py:165 +msgid "Mirror Axis" +msgstr "Ось зеркалирования" + +#: flatcamTools/ToolDblSided.py:176 msgid "" -"If 'Point' is selected above it store the coordinates (x, y) through which\n" -"the mirroring axis passes.\n" -"If 'Box' is selected above, select here a FlatCAM object (Gerber, Exc or " -"Geo).\n" -"Through the center of this object pass the mirroring axis selected above." +"The coordinates used as reference for the mirror operation.\n" +"Can be:\n" +"- Point -> a set of coordinates (x,y) around which the object is mirrored\n" +"- Box -> a set of coordinates (x, y) obtained from the center of the\n" +"bounding box of another object selected below" msgstr "" -"Если над точкой выбрано «Точка», сохраняются координаты (x, y), через " -"которые\n" -"ось зеркального отражения проходит.\n" -"Если 'коробка ' является объектом flatCAM (Gerber, Exc или Geo).\n" -"Через центр зеркальной оси, выбранной выше." -#: flatcamTools/ToolDblSided.py:189 +#: flatcamTools/ToolDblSided.py:190 +msgid "Point coordinates" +msgstr "Координаты точек" + +#: flatcamTools/ToolDblSided.py:195 +#, fuzzy +#| msgid "" +#| "Add the coordinates in format (x, y) through which the mirroring " +#| "axis \n" +#| " selected in 'MIRROR AXIS' pass.\n" +#| "The (x, y) coordinates are captured by pressing SHIFT key\n" +#| "and left mouse button click on canvas or you can enter the coords " +#| "manually." msgid "" "Add the coordinates in format (x, y) through which the mirroring " "axis \n" " selected in 'MIRROR AXIS' pass.\n" "The (x, y) coordinates are captured by pressing SHIFT key\n" -"and left mouse button click on canvas or you can enter the coords manually." +"and left mouse button click on canvas or you can enter the coordinates " +"manually." msgstr "" "Добавление координат в формате (x, y) , через которые проходит ось " "зеркалирования\n" @@ -13879,18 +14678,131 @@ msgstr "" "Координаты (x, y) фиксируются нажатием клавиши SHIFT\n" "и щелчком ЛКМ на холсте или вы можете ввести координаты вручную." -#: flatcamTools/ToolDblSided.py:230 +#: flatcamTools/ToolDblSided.py:219 +msgid "" +"It can be of type: Gerber or Excellon or Geometry.\n" +"The coordinates of the center of the bounding box are used\n" +"as reference for mirror operation." +msgstr "" + +#: flatcamTools/ToolDblSided.py:253 +#, fuzzy +#| msgid "Calculate Bounds Values" +msgid "Bounds Values" +msgstr "Рассчитать значения границ" + +#: flatcamTools/ToolDblSided.py:255 +msgid "" +"Select on canvas the object(s)\n" +"for which to calculate bounds values." +msgstr "" +"Выбор объектов\n" +"для которых вычислять граничные значения." + +#: flatcamTools/ToolDblSided.py:265 +msgid "X min" +msgstr "X min" + +#: flatcamTools/ToolDblSided.py:267 flatcamTools/ToolDblSided.py:281 +msgid "Minimum location." +msgstr "Минимальное местоположение." + +#: flatcamTools/ToolDblSided.py:279 +msgid "Y min" +msgstr "Y min" + +#: flatcamTools/ToolDblSided.py:293 +msgid "X max" +msgstr "X max" + +#: flatcamTools/ToolDblSided.py:295 flatcamTools/ToolDblSided.py:309 +msgid "Maximum location." +msgstr "Максимальное местоположение." + +#: flatcamTools/ToolDblSided.py:307 +msgid "Y max" +msgstr "Y max" + +#: flatcamTools/ToolDblSided.py:318 +#, fuzzy +#| msgid "Points coordinates" +msgid "Center point coordinates" +msgstr "Координаты точек" + +#: flatcamTools/ToolDblSided.py:320 +msgid "Centroid" +msgstr "Центр" + +#: flatcamTools/ToolDblSided.py:322 +msgid "" +"The center point location for the rectangular\n" +"bounding shape. Centroid. Format is (x, y)." +msgstr "" +"Расположение центральной точки для прямоугольной \n" +"ограничивающей фигуры. Центроид. Формат (х, у)." + +#: flatcamTools/ToolDblSided.py:331 +msgid "Calculate Bounds Values" +msgstr "Рассчитать значения границ" + +#: flatcamTools/ToolDblSided.py:333 +msgid "" +"Calculate the enveloping rectangular shape coordinates,\n" +"for the selection of objects.\n" +"The envelope shape is parallel with the X, Y axis." +msgstr "" +"Рассчитывает координаты огибающей прямоугольной формы,\n" +"для выбранных объектов.\n" +"Форма огибающей параллельна осям X, Y." + +#: flatcamTools/ToolDblSided.py:353 +msgid "PCB Alignment" +msgstr "Выравнивание" + +#: flatcamTools/ToolDblSided.py:355 flatcamTools/ToolDblSided.py:457 +msgid "" +"Creates an Excellon Object containing the\n" +"specified alignment holes and their mirror\n" +"images." +msgstr "" +"Создаёт объект Excellon, содержащий\n" +"контрольные отверстия и их\n" +"зеркальные изображения." + +#: flatcamTools/ToolDblSided.py:362 +#, fuzzy +#| msgid "Tip Diameter" +msgid "Drill Diameter" +msgstr "Диаметр наконечника" + +#: flatcamTools/ToolDblSided.py:391 flatcamTools/ToolDblSided.py:398 +msgid "" +"The reference point used to create the second alignment drill\n" +"from the first alignment drill, by doing mirror.\n" +"It can be modified in the Mirror Parameters -> Reference section" +msgstr "" + +#: flatcamTools/ToolDblSided.py:411 msgid "Alignment Drill Coordinates" msgstr "Координаты выравнивающего отверстия" -#: flatcamTools/ToolDblSided.py:232 +#: flatcamTools/ToolDblSided.py:413 +#, fuzzy +#| msgid "" +#| "Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. " +#| "For each set of (x, y) coordinates\n" +#| "entered here, a pair of drills will be created:\n" +#| "\n" +#| "- one drill at the coordinates from the field\n" +#| "- one drill in mirror position over the axis selected above in the " +#| "'Mirror Axis'." msgid "" "Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. For " "each set of (x, y) coordinates\n" "entered here, a pair of drills will be created:\n" "\n" "- one drill at the coordinates from the field\n" -"- one drill in mirror position over the axis selected above in the 'Mirror " +"- one drill in mirror position over the axis selected above in the 'Align " "Axis'." msgstr "" "Выравнивающие отверстия (x1, y1), (x2, y2), ... на одной стороне оси " @@ -13901,10 +14813,29 @@ msgstr "" "- одно сверление в положении зеркала над осью, выбранной выше в «Оси " "зеркала»." -#: flatcamTools/ToolDblSided.py:247 +#: flatcamTools/ToolDblSided.py:421 +#, fuzzy +#| msgid "Points coordinates" +msgid "Drill coordinates" +msgstr "Координаты выравнивающего отверстия" + +#: flatcamTools/ToolDblSided.py:428 +#, fuzzy +#| msgid "" +#| "Add alignment drill holes coords in the format: (x1, y1), (x2, y2), ... \n" +#| "on one side of the mirror axis.\n" +#| "\n" +#| "The coordinates set can be obtained:\n" +#| "- press SHIFT key and left mouse clicking on canvas. Then click Add.\n" +#| "- press SHIFT key and left mouse clicking on canvas. Then Ctrl+V in the " +#| "field.\n" +#| "- press SHIFT key and left mouse clicking on canvas. Then RMB click in " +#| "the field and click Paste.\n" +#| "- by entering the coords manually in the format: (x1, y1), (x2, y2), ..." msgid "" -"Add alignment drill holes coords in the format: (x1, y1), (x2, y2), ... \n" -"on one side of the mirror axis.\n" +"Add alignment drill holes coordinates in the format: (x1, y1), (x2, " +"y2), ... \n" +"on one side of the alignment axis.\n" "\n" "The coordinates set can be obtained:\n" "- press SHIFT key and left mouse clicking on canvas. Then click Add.\n" @@ -13924,79 +14855,25 @@ msgstr "" "нажмите Вставить.\n" "- путем ввода координат вручную в формате: (x1, y1), (x2, y2), ..." -#: flatcamTools/ToolDblSided.py:272 -msgid "Alignment Drill Diameter" -msgstr "Диаметр выравнивающего отверстия" +#: flatcamTools/ToolDblSided.py:443 +#, fuzzy +#| msgid "Delete" +msgid "Delete Last" +msgstr "Удалить" -#: flatcamTools/ToolDblSided.py:292 +#: flatcamTools/ToolDblSided.py:445 +msgid "Delete the last coordinates tuple in the list." +msgstr "Удаляет последний кортеж координат в списке." + +#: flatcamTools/ToolDblSided.py:455 msgid "Create Excellon Object" msgstr "Создать объект Excellon" -#: flatcamTools/ToolDblSided.py:294 -msgid "" -"Creates an Excellon Object containing the\n" -"specified alignment holes and their mirror\n" -"images." -msgstr "" -"Создаёт объект Excellon, содержащий\n" -"контрольные отверстия и их\n" -"зеркальные изображения." - -#: flatcamTools/ToolDblSided.py:323 -msgid "X min" -msgstr "X min" - -#: flatcamTools/ToolDblSided.py:325 flatcamTools/ToolDblSided.py:339 -msgid "Minimum location." -msgstr "Минимальное местоположение." - -#: flatcamTools/ToolDblSided.py:337 -msgid "Y min" -msgstr "Y min" - -#: flatcamTools/ToolDblSided.py:351 -msgid "X max" -msgstr "X max" - -#: flatcamTools/ToolDblSided.py:353 flatcamTools/ToolDblSided.py:367 -msgid "Maximum location." -msgstr "Максимальное местоположение." - -#: flatcamTools/ToolDblSided.py:365 -msgid "Y max" -msgstr "Y max" - -#: flatcamTools/ToolDblSided.py:377 -msgid "Centroid" -msgstr "Центр" - -#: flatcamTools/ToolDblSided.py:379 -msgid "" -"The center point location for the rectangular\n" -"bounding shape. Centroid. Format is (x, y)." -msgstr "" -"Расположение центральной точки для прямоугольной \n" -"ограничивающей фигуры. Центроид. Формат (х, у)." - -#: flatcamTools/ToolDblSided.py:388 -msgid "Calculate Bounds Values" -msgstr "Рассчитать значения границ" - -#: flatcamTools/ToolDblSided.py:390 -msgid "" -"Calculate the enveloping rectangular shape coordinates,\n" -"for the selection of objects.\n" -"The envelope shape is parallel with the X, Y axis." -msgstr "" -"Рассчитывает координаты огибающей прямоугольной формы,\n" -"для выбранных объектов.\n" -"Форма огибающей параллельна осям X, Y." - -#: flatcamTools/ToolDblSided.py:462 +#: flatcamTools/ToolDblSided.py:542 msgid "2-Sided Tool" msgstr "2-х сторонняя плата" -#: flatcamTools/ToolDblSided.py:493 +#: flatcamTools/ToolDblSided.py:582 msgid "" "'Point' reference is selected and 'Point' coordinates are missing. Add them " "and retry." @@ -14004,152 +14881,170 @@ msgstr "" "Выбран указатель 'Точка', а координаты точки отсутствуют. Добавьте их и " "повторите попытку." -#: flatcamTools/ToolDblSided.py:512 +#: flatcamTools/ToolDblSided.py:601 msgid "There is no Box reference object loaded. Load one and retry." msgstr "Эталонный объект не загружен. Загрузите один и повторите попытку." -#: flatcamTools/ToolDblSided.py:524 +#: flatcamTools/ToolDblSided.py:613 msgid "No value or wrong format in Drill Dia entry. Add it and retry." msgstr "" "Нет значения либо неправильный формат значения диаметра сверла. Добавьте его " "и повторите попытку." -#: flatcamTools/ToolDblSided.py:532 +#: flatcamTools/ToolDblSided.py:624 msgid "There are no Alignment Drill Coordinates to use. Add them and retry." msgstr "" "Нет координат выравнивающих отверстий. Добавьте их и повторите попытку." -#: flatcamTools/ToolDblSided.py:555 +#: flatcamTools/ToolDblSided.py:649 msgid "Excellon object with alignment drills created..." msgstr "Объект Excellon с выравнивающими отверстиями создан..." -#: flatcamTools/ToolDblSided.py:568 flatcamTools/ToolDblSided.py:611 -#: flatcamTools/ToolDblSided.py:655 +#: flatcamTools/ToolDblSided.py:662 flatcamTools/ToolDblSided.py:705 +#: flatcamTools/ToolDblSided.py:749 msgid "Only Gerber, Excellon and Geometry objects can be mirrored." msgstr "" "Зеркальное отображение доступно только для объектов Gerber, Excellon и " "Geometry." -#: flatcamTools/ToolDblSided.py:578 -msgid "" -"'Point' coordinates missing. Using Origin (0, 0) as mirroring reference." -msgstr "" -"Координаты точки отсутствуют. Используется точка (0, 0) в качестве указателя " -"для зеркалирования." - -#: flatcamTools/ToolDblSided.py:588 flatcamTools/ToolDblSided.py:632 -#: flatcamTools/ToolDblSided.py:669 -msgid "There is no Box object loaded ..." -msgstr "Там нет загруженного объекта Box ..." - -#: flatcamTools/ToolDblSided.py:598 flatcamTools/ToolDblSided.py:642 -#: flatcamTools/ToolDblSided.py:679 -msgid "was mirrored" -msgstr "был отражён" - -#: flatcamTools/ToolDblSided.py:607 -msgid "There is no Excellon object loaded ..." -msgstr "Не загружен объект Excellon ..." - -#: flatcamTools/ToolDblSided.py:622 +#: flatcamTools/ToolDblSided.py:672 flatcamTools/ToolDblSided.py:716 msgid "" "There are no Point coordinates in the Point field. Add coords and try " "again ..." msgstr "" "В поле Точка нет координат точки. Добавьте координаты и попробуйте снова ..." -#: flatcamTools/ToolDblSided.py:651 +#: flatcamTools/ToolDblSided.py:682 flatcamTools/ToolDblSided.py:726 +#: flatcamTools/ToolDblSided.py:763 +msgid "There is no Box object loaded ..." +msgstr "Там нет загруженного объекта Box ..." + +#: flatcamTools/ToolDblSided.py:692 flatcamTools/ToolDblSided.py:736 +#: flatcamTools/ToolDblSided.py:773 +msgid "was mirrored" +msgstr "был отражён" + +#: flatcamTools/ToolDblSided.py:701 flatcamTools/ToolPunchGerber.py:533 +msgid "There is no Excellon object loaded ..." +msgstr "Не загружен объект Excellon ..." + +#: flatcamTools/ToolDblSided.py:745 msgid "There is no Geometry object loaded ..." msgstr "Не загружен объект геометрии ..." -#: flatcamTools/ToolDistance.py:50 flatcamTools/ToolDistanceMin.py:50 +#: flatcamTools/ToolDistance.py:57 flatcamTools/ToolDistanceMin.py:51 msgid "Those are the units in which the distance is measured." msgstr "Это единицы измерения расстояния." -#: flatcamTools/ToolDistance.py:51 flatcamTools/ToolDistanceMin.py:51 +#: flatcamTools/ToolDistance.py:58 flatcamTools/ToolDistanceMin.py:52 msgid "METRIC (mm)" msgstr "Метрическая (мм)" -#: flatcamTools/ToolDistance.py:51 flatcamTools/ToolDistanceMin.py:51 +#: flatcamTools/ToolDistance.py:58 flatcamTools/ToolDistanceMin.py:52 msgid "INCH (in)" msgstr "Дюйм (внутри)" -#: flatcamTools/ToolDistance.py:54 +#: flatcamTools/ToolDistance.py:64 +msgid "Snap to center" +msgstr "Щелчок по центру" + +#: flatcamTools/ToolDistance.py:66 +msgid "" +"Mouse cursor will snap to the center of the pad/drill\n" +"when it is hovering over the geometry of the pad/drill." +msgstr "" + +#: flatcamTools/ToolDistance.py:76 msgid "Start Coords" msgstr "Координаты начала" -#: flatcamTools/ToolDistance.py:55 flatcamTools/ToolDistance.py:75 +#: flatcamTools/ToolDistance.py:77 flatcamTools/ToolDistance.py:82 msgid "This is measuring Start point coordinates." msgstr "Это измерение координат начальной точки." -#: flatcamTools/ToolDistance.py:57 +#: flatcamTools/ToolDistance.py:87 msgid "Stop Coords" msgstr "Координаты окончания" -#: flatcamTools/ToolDistance.py:58 flatcamTools/ToolDistance.py:80 +#: flatcamTools/ToolDistance.py:88 flatcamTools/ToolDistance.py:93 msgid "This is the measuring Stop point coordinates." msgstr "Это координаты точки остановки измерения." -#: flatcamTools/ToolDistance.py:60 flatcamTools/ToolDistanceMin.py:62 +#: flatcamTools/ToolDistance.py:98 flatcamTools/ToolDistanceMin.py:63 msgid "Dx" msgstr "Дистанция по X" -#: flatcamTools/ToolDistance.py:61 flatcamTools/ToolDistance.py:85 -#: flatcamTools/ToolDistanceMin.py:63 flatcamTools/ToolDistanceMin.py:92 +#: flatcamTools/ToolDistance.py:99 flatcamTools/ToolDistance.py:104 +#: flatcamTools/ToolDistanceMin.py:64 flatcamTools/ToolDistanceMin.py:93 msgid "This is the distance measured over the X axis." msgstr "Это расстояние, измеренное по оси X." -#: flatcamTools/ToolDistance.py:63 flatcamTools/ToolDistanceMin.py:65 +#: flatcamTools/ToolDistance.py:109 flatcamTools/ToolDistanceMin.py:66 msgid "Dy" msgstr "Дистанция по Y" -#: flatcamTools/ToolDistance.py:64 flatcamTools/ToolDistance.py:90 -#: flatcamTools/ToolDistanceMin.py:66 flatcamTools/ToolDistanceMin.py:97 +#: flatcamTools/ToolDistance.py:110 flatcamTools/ToolDistance.py:115 +#: flatcamTools/ToolDistanceMin.py:67 flatcamTools/ToolDistanceMin.py:98 msgid "This is the distance measured over the Y axis." msgstr "Это расстояние, измеренное по оси Y." -#: flatcamTools/ToolDistance.py:67 flatcamTools/ToolDistance.py:95 -#: flatcamTools/ToolDistanceMin.py:69 flatcamTools/ToolDistanceMin.py:102 +#: flatcamTools/ToolDistance.py:121 flatcamTools/ToolDistance.py:126 +#: flatcamTools/ToolDistanceMin.py:70 flatcamTools/ToolDistanceMin.py:103 msgid "This is orientation angle of the measuring line." msgstr "Это угол ориентации измерительной линии." -#: flatcamTools/ToolDistance.py:69 flatcamTools/ToolDistanceMin.py:71 +#: flatcamTools/ToolDistance.py:131 flatcamTools/ToolDistanceMin.py:72 msgid "DISTANCE" msgstr "РАССТОЯНИЕ" -#: flatcamTools/ToolDistance.py:70 flatcamTools/ToolDistance.py:100 +#: flatcamTools/ToolDistance.py:132 flatcamTools/ToolDistance.py:137 msgid "This is the point to point Euclidian distance." msgstr "Это точка евклидова расстояния." -#: flatcamTools/ToolDistance.py:102 flatcamTools/ToolDistanceMin.py:114 +#: flatcamTools/ToolDistance.py:142 flatcamTools/ToolDistance.py:337 +#: flatcamTools/ToolDistanceMin.py:115 msgid "Measure" msgstr "Измерить" -#: flatcamTools/ToolDistance.py:212 +#: flatcamTools/ToolDistance.py:272 +msgid "Working" +msgstr "Обработка" + +#: flatcamTools/ToolDistance.py:277 msgid "MEASURING: Click on the Start point ..." msgstr "ИЗМЕРИТЕЛЬ: Нажмите на начальную точку ..." -#: flatcamTools/ToolDistance.py:345 +#: flatcamTools/ToolDistance.py:387 +#, fuzzy +#| msgid "Distance Tool exit..." +msgid "Distance Tool finished." +msgstr "Измеритель закрыт ..." + +#: flatcamTools/ToolDistance.py:455 +msgid "Pads overlapped. Aborting." +msgstr "" + +#: flatcamTools/ToolDistance.py:485 msgid "MEASURING: Click on the Destination point ..." msgstr "ИЗМЕРИТЕЛЬ: Нажмите на конечную точку ..." -#: flatcamTools/ToolDistance.py:353 flatcamTools/ToolDistanceMin.py:282 +#: flatcamTools/ToolDistance.py:494 flatcamTools/ToolDistanceMin.py:285 msgid "MEASURING" msgstr "ИЗМЕРЕНИЕ" -#: flatcamTools/ToolDistance.py:354 flatcamTools/ToolDistanceMin.py:283 +#: flatcamTools/ToolDistance.py:495 flatcamTools/ToolDistanceMin.py:286 msgid "Result" msgstr "Результат" -#: flatcamTools/ToolDistanceMin.py:31 flatcamTools/ToolDistanceMin.py:152 +#: flatcamTools/ToolDistanceMin.py:32 flatcamTools/ToolDistanceMin.py:144 msgid "Minimum Distance Tool" msgstr "Минимальное расстояние" -#: flatcamTools/ToolDistanceMin.py:54 +#: flatcamTools/ToolDistanceMin.py:55 msgid "First object point" msgstr "Первая точка объекта" -#: flatcamTools/ToolDistanceMin.py:55 flatcamTools/ToolDistanceMin.py:80 +#: flatcamTools/ToolDistanceMin.py:56 flatcamTools/ToolDistanceMin.py:81 msgid "" "This is first object point coordinates.\n" "This is the start point for measuring distance." @@ -14157,11 +15052,11 @@ msgstr "" "Это координаты первой точки объекта.\n" "Это начальная точка для измерения расстояния." -#: flatcamTools/ToolDistanceMin.py:58 +#: flatcamTools/ToolDistanceMin.py:59 msgid "Second object point" msgstr "Вторая точка объекта" -#: flatcamTools/ToolDistanceMin.py:59 flatcamTools/ToolDistanceMin.py:86 +#: flatcamTools/ToolDistanceMin.py:60 flatcamTools/ToolDistanceMin.py:87 msgid "" "This is second object point coordinates.\n" "This is the end point for measuring distance." @@ -14169,41 +15064,60 @@ msgstr "" "Это координаты второй точки объекта.\n" "Это конечная точка для измерения расстояния." -#: flatcamTools/ToolDistanceMin.py:72 flatcamTools/ToolDistanceMin.py:107 +#: flatcamTools/ToolDistanceMin.py:73 flatcamTools/ToolDistanceMin.py:108 msgid "This is the point to point Euclidean distance." msgstr "Это евклидово расстояние от точки до точки." -#: flatcamTools/ToolDistanceMin.py:74 +#: flatcamTools/ToolDistanceMin.py:75 msgid "Half Point" msgstr "Средняя точка" -#: flatcamTools/ToolDistanceMin.py:75 flatcamTools/ToolDistanceMin.py:112 +#: flatcamTools/ToolDistanceMin.py:76 flatcamTools/ToolDistanceMin.py:113 msgid "This is the middle point of the point to point Euclidean distance." msgstr "Это средняя точка евклидова расстояния от точки до точки." -#: flatcamTools/ToolDistanceMin.py:117 +#: flatcamTools/ToolDistanceMin.py:118 msgid "Jump to Half Point" msgstr "Перейти к средней точке" -#: flatcamTools/ToolDistanceMin.py:163 +#: flatcamTools/ToolDistanceMin.py:155 msgid "" "Select two objects and no more, to measure the distance between them ..." msgstr "" "Выберите два и не более объекта для измерения расстояние между ними ..." -#: flatcamTools/ToolDistanceMin.py:204 flatcamTools/ToolDistanceMin.py:214 -#: flatcamTools/ToolDistanceMin.py:223 flatcamTools/ToolDistanceMin.py:244 +#: flatcamTools/ToolDistanceMin.py:196 flatcamTools/ToolDistanceMin.py:217 +#: flatcamTools/ToolDistanceMin.py:226 flatcamTools/ToolDistanceMin.py:247 msgid "Select two objects and no more. Currently the selection has objects: " msgstr "Выберите два и не более объекта. В настоящее время выбрано объектов: " -#: flatcamTools/ToolDistanceMin.py:291 +#: flatcamTools/ToolDistanceMin.py:294 msgid "Objects intersects or touch at" msgstr "Объекты пересекаются или касаются друг друга" -#: flatcamTools/ToolDistanceMin.py:297 +#: flatcamTools/ToolDistanceMin.py:300 msgid "Jumped to the half point between the two selected objects" msgstr "Выполнен переход к средней точке между двумя выбранными объектами" +#: flatcamTools/ToolExtractDrills.py:29 flatcamTools/ToolExtractDrills.py:295 +#, fuzzy +#| msgid "Total Drills" +msgid "Extract Drills" +msgstr "Всего отверстий" + +#: flatcamTools/ToolExtractDrills.py:62 +msgid "Gerber from which to extract drill holes" +msgstr "Гербер, из которого можно извлечь отверстия" + +#: flatcamTools/ToolExtractDrills.py:297 +msgid "Extract drills from a given Gerber file." +msgstr "" + +#: flatcamTools/ToolExtractDrills.py:478 flatcamTools/ToolExtractDrills.py:563 +#: flatcamTools/ToolExtractDrills.py:648 +msgid "No drills extracted. Try different parameters." +msgstr "Сверла не извлечены. Попробуйте разные параметры." + #: flatcamTools/ToolFiducials.py:56 msgid "Fiducials Coordinates" msgstr "Координаты контрольных точек" @@ -14220,10 +15134,6 @@ msgstr "" msgid "Top Right" msgstr "Верхний правый" -#: flatcamTools/ToolFiducials.py:111 -msgid "Second Point" -msgstr "Вторичная точка" - #: flatcamTools/ToolFiducials.py:191 msgid "" "- 'Auto' - automatic placement of fiducials in the corners of the bounding " @@ -14234,33 +15144,33 @@ msgstr "" "ограничительной рамки.\n" " - 'Вручную' - ручное размещение контрольных точек." -#: flatcamTools/ToolFiducials.py:258 +#: flatcamTools/ToolFiducials.py:259 msgid "Copper Gerber" msgstr "Gerber медного слоя" -#: flatcamTools/ToolFiducials.py:267 +#: flatcamTools/ToolFiducials.py:268 msgid "Add Fiducial" msgstr "Добавить контрольные точки" -#: flatcamTools/ToolFiducials.py:269 +#: flatcamTools/ToolFiducials.py:270 msgid "Will add a polygon on the copper layer to serve as fiducial." msgstr "" "Добавляет на медный слой полигон, для того чтобы он служил контрольной " "точкой." -#: flatcamTools/ToolFiducials.py:285 +#: flatcamTools/ToolFiducials.py:286 msgid "Soldermask Gerber" msgstr "Gerber объект паяльной маски" -#: flatcamTools/ToolFiducials.py:287 +#: flatcamTools/ToolFiducials.py:288 msgid "The Soldermask Gerber object." msgstr "Gerber объект паяльной маски." -#: flatcamTools/ToolFiducials.py:298 +#: flatcamTools/ToolFiducials.py:300 msgid "Add Soldermask Opening" msgstr "Открытие добавления паяльной маски" -#: flatcamTools/ToolFiducials.py:300 +#: flatcamTools/ToolFiducials.py:302 msgid "" "Will add a polygon on the soldermask layer\n" "to serve as fiducial opening.\n" @@ -14272,25 +15182,25 @@ msgstr "" "Диаметр всегда в два раза больше диаметра.\n" "для контрольных точек на медном слое." -#: flatcamTools/ToolFiducials.py:514 +#: flatcamTools/ToolFiducials.py:516 msgid "Click to add first Fiducial. Bottom Left..." msgstr "Нажмите, чтобы добавить первую контрольную точку. Внизу слева..." -#: flatcamTools/ToolFiducials.py:778 +#: flatcamTools/ToolFiducials.py:780 msgid "Click to add the last fiducial. Top Right..." msgstr "Нажмите, чтобы добавить следующую контрольную точку. Вверху справа..." -#: flatcamTools/ToolFiducials.py:783 +#: flatcamTools/ToolFiducials.py:785 msgid "Click to add the second fiducial. Top Left or Bottom Right..." msgstr "" "Нажмите, чтобы добавить вторичную контрольную точку. Вверху слева или внизу " "справа..." -#: flatcamTools/ToolFiducials.py:786 flatcamTools/ToolFiducials.py:795 +#: flatcamTools/ToolFiducials.py:788 flatcamTools/ToolFiducials.py:797 msgid "Done. All fiducials have been added." msgstr "Готово. Все контрольные точки были успешно добавлены." -#: flatcamTools/ToolFiducials.py:872 +#: flatcamTools/ToolFiducials.py:874 msgid "Fiducials Tool exit." msgstr "Выход из инструмента контрольных точек." @@ -14298,7 +15208,7 @@ msgstr "Выход из инструмента контрольных точек msgid "Film PCB" msgstr "Плёнка" -#: flatcamTools/ToolFilm.py:80 +#: flatcamTools/ToolFilm.py:78 msgid "" "Specify the type of object for which to create the film.\n" "The object can be of type: Gerber or Geometry.\n" @@ -14310,11 +15220,11 @@ msgstr "" "Выбор здесь определяет тип объектов, которые будут\n" "в выпадающем списке объектов плёнки." -#: flatcamTools/ToolFilm.py:94 +#: flatcamTools/ToolFilm.py:92 msgid "Film Object" msgstr "Объект плёнки" -#: flatcamTools/ToolFilm.py:96 +#: flatcamTools/ToolFilm.py:94 msgid "Object for which to create the film." msgstr "Объект для создания плёнки." @@ -14330,7 +15240,7 @@ msgstr "" "тип объектов, которые будут\n" "в поле со списком объектов." -#: flatcamTools/ToolFilm.py:129 flatcamTools/ToolPanelize.py:136 +#: flatcamTools/ToolFilm.py:129 msgid "Box Object" msgstr "Объект рамки" @@ -14393,21 +15303,21 @@ msgid "" msgstr "" "Удаляет геометрию Excellon из пленки для создания отверстий в площадках." -#: flatcamTools/ToolFilm.py:379 +#: flatcamTools/ToolFilm.py:381 msgid "Punch Size" msgstr "Размер перфорации" -#: flatcamTools/ToolFilm.py:380 +#: flatcamTools/ToolFilm.py:382 msgid "The value here will control how big is the punch hole in the pads." msgstr "" "Это значение контролирует, насколько большим будет отверстие для перфорации " "в площадках." -#: flatcamTools/ToolFilm.py:500 +#: flatcamTools/ToolFilm.py:502 msgid "Save Film" msgstr "Сохранить плёнку" -#: flatcamTools/ToolFilm.py:502 +#: flatcamTools/ToolFilm.py:504 msgid "" "Create a Film for the selected object, within\n" "the specified box. Does not create a new \n" @@ -14418,7 +15328,7 @@ msgstr "" "указанной ограничительной рамки. Не создает новый\n" "  объект FlatCAM, но напрямую сохраняет её в выбранном формате." -#: flatcamTools/ToolFilm.py:652 +#: flatcamTools/ToolFilm.py:664 msgid "" "Using the Pad center does not work on Geometry objects. Only a Gerber object " "has pads." @@ -14426,40 +15336,36 @@ msgstr "" "Использование центра площадки не работает на объектах Geometry. Только " "объекты Gerber имеют площадки." -#: flatcamTools/ToolFilm.py:662 +#: flatcamTools/ToolFilm.py:674 msgid "No FlatCAM object selected. Load an object for Film and retry." msgstr "" "Объект FlatCAM не выбран. Загрузите объект для Плёнки и повторите попытку." -#: flatcamTools/ToolFilm.py:669 +#: flatcamTools/ToolFilm.py:681 msgid "No FlatCAM object selected. Load an object for Box and retry." msgstr "" "Объект FlatCAM не выбран. Загрузите объект для Рамки и повторите попытку." -#: flatcamTools/ToolFilm.py:673 +#: flatcamTools/ToolFilm.py:685 msgid "No FlatCAM object selected." msgstr "Объект FlatCAM не выбран." -#: flatcamTools/ToolFilm.py:684 +#: flatcamTools/ToolFilm.py:696 msgid "Generating Film ..." msgstr "Создание плёнки ..." -#: flatcamTools/ToolFilm.py:733 flatcamTools/ToolFilm.py:737 +#: flatcamTools/ToolFilm.py:745 flatcamTools/ToolFilm.py:749 msgid "Export positive film" msgstr "Экспорт позитива плёнки" -#: flatcamTools/ToolFilm.py:742 -msgid "Export positive film cancelled." -msgstr "Экспорт позитива плёнки отменен." - -#: flatcamTools/ToolFilm.py:770 +#: flatcamTools/ToolFilm.py:782 msgid "" "No Excellon object selected. Load an object for punching reference and retry." msgstr "" "Объект Excellon не выбран. Загрузите объект для перфорации и повторите " "попытку." -#: flatcamTools/ToolFilm.py:794 +#: flatcamTools/ToolFilm.py:806 msgid "" " Could not generate punched hole film because the punch hole sizeis bigger " "than some of the apertures in the Gerber object." @@ -14467,7 +15373,7 @@ msgstr "" " Не удалось создать пленку с перфорированным отверстием, поскольку размер " "перфорированного отверстия больше, чем некоторые отверстия в объекте Gerber." -#: flatcamTools/ToolFilm.py:806 +#: flatcamTools/ToolFilm.py:818 msgid "" "Could not generate punched hole film because the punch hole sizeis bigger " "than some of the apertures in the Gerber object." @@ -14475,7 +15381,7 @@ msgstr "" "Не удалось создать пленку с перфорированным отверстием, поскольку размер " "перфорированного отверстия больше, чем некоторые отверстия в объекте Gerber." -#: flatcamTools/ToolFilm.py:824 +#: flatcamTools/ToolFilm.py:836 msgid "" "Could not generate punched hole film because the newly created object " "geometry is the same as the one in the source object geometry..." @@ -14483,24 +15389,20 @@ msgstr "" "Не удалось создать пленку с перфорацией, поскольку геометрия вновь " "созданного объекта такая же, как в геометрии исходного объекта ..." -#: flatcamTools/ToolFilm.py:879 flatcamTools/ToolFilm.py:883 +#: flatcamTools/ToolFilm.py:891 flatcamTools/ToolFilm.py:895 msgid "Export negative film" msgstr "Экспорт негатива плёнки" -#: flatcamTools/ToolFilm.py:888 -msgid "Export negative film cancelled." -msgstr "Экспорт негатива плёнки отменен." - -#: flatcamTools/ToolFilm.py:944 flatcamTools/ToolFilm.py:1122 -#: flatcamTools/ToolPanelize.py:421 +#: flatcamTools/ToolFilm.py:956 flatcamTools/ToolFilm.py:1139 +#: flatcamTools/ToolPanelize.py:433 msgid "No object Box. Using instead" msgstr "Нет объекта Box. Используйте взамен" -#: flatcamTools/ToolFilm.py:1060 flatcamTools/ToolFilm.py:1235 +#: flatcamTools/ToolFilm.py:1072 flatcamTools/ToolFilm.py:1252 msgid "Film file exported to" msgstr "Файл плёнки экспортируется в" -#: flatcamTools/ToolFilm.py:1063 flatcamTools/ToolFilm.py:1238 +#: flatcamTools/ToolFilm.py:1075 flatcamTools/ToolFilm.py:1255 msgid "Generating Film ... Please wait." msgstr "Создание плёнки ... Пожалуйста, подождите." @@ -14512,7 +15414,7 @@ msgstr "Изображение как Object" msgid "Image to PCB" msgstr "Изображение в PCB" -#: flatcamTools/ToolImage.py:57 +#: flatcamTools/ToolImage.py:56 msgid "" "Specify the type of object to create from the image.\n" "It can be of type: Gerber or Geometry." @@ -14520,23 +15422,23 @@ msgstr "" "Укажите тип объекта для создания из изображения.\n" "Он может быть типа: Gerber или Geometry." -#: flatcamTools/ToolImage.py:66 +#: flatcamTools/ToolImage.py:65 msgid "DPI value" msgstr "Значение DPI" -#: flatcamTools/ToolImage.py:67 +#: flatcamTools/ToolImage.py:66 msgid "Specify a DPI value for the image." msgstr "Укажите значение DPI для изображения." -#: flatcamTools/ToolImage.py:73 +#: flatcamTools/ToolImage.py:72 msgid "Level of detail" msgstr "Уровень детализации" -#: flatcamTools/ToolImage.py:82 +#: flatcamTools/ToolImage.py:81 msgid "Image type" msgstr "Тип изображения" -#: flatcamTools/ToolImage.py:84 +#: flatcamTools/ToolImage.py:83 msgid "" "Choose a method for the image interpretation.\n" "B/W means a black & white image. Color means a colored image." @@ -14544,12 +15446,12 @@ msgstr "" "Выберите метод для интерпретации изображения.\n" "Ч / б означает черно-белое изображение. Цвет означает цветное изображение." -#: flatcamTools/ToolImage.py:93 flatcamTools/ToolImage.py:108 -#: flatcamTools/ToolImage.py:121 flatcamTools/ToolImage.py:134 +#: flatcamTools/ToolImage.py:92 flatcamTools/ToolImage.py:107 +#: flatcamTools/ToolImage.py:120 flatcamTools/ToolImage.py:133 msgid "Mask value" msgstr "Значение маски" -#: flatcamTools/ToolImage.py:95 +#: flatcamTools/ToolImage.py:94 msgid "" "Mask for monochrome image.\n" "Takes values between [0 ... 255].\n" @@ -14565,7 +15467,7 @@ msgstr "" "0 означает отсутствие деталей, а 255 означает все\n" "(который полностью черный)." -#: flatcamTools/ToolImage.py:110 +#: flatcamTools/ToolImage.py:109 msgid "" "Mask for RED color.\n" "Takes values between [0 ... 255].\n" @@ -14577,7 +15479,7 @@ msgstr "" "Определяет уровень детализации, чтобы включить\n" "в результирующей геометрии." -#: flatcamTools/ToolImage.py:123 +#: flatcamTools/ToolImage.py:122 msgid "" "Mask for GREEN color.\n" "Takes values between [0 ... 255].\n" @@ -14589,7 +15491,7 @@ msgstr "" "Определяет уровень детализации, чтобы включить\n" "в результирующей геометрии." -#: flatcamTools/ToolImage.py:136 +#: flatcamTools/ToolImage.py:135 msgid "" "Mask for BLUE color.\n" "Takes values between [0 ... 255].\n" @@ -14601,33 +15503,60 @@ msgstr "" "Определяет уровень детализации, чтобы включить\n" "в результирующей геометрии." -#: flatcamTools/ToolImage.py:144 +#: flatcamTools/ToolImage.py:143 msgid "Import image" msgstr "Импортировать изображение" -#: flatcamTools/ToolImage.py:146 +#: flatcamTools/ToolImage.py:145 msgid "Open a image of raster type and then import it in FlatCAM." msgstr "" "Откройте изображение растрового типа, а затем импортируйте его в FlatCAM." -#: flatcamTools/ToolImage.py:183 +#: flatcamTools/ToolImage.py:182 msgid "Image Tool" msgstr "Изображение" -#: flatcamTools/ToolImage.py:235 flatcamTools/ToolImage.py:238 +#: flatcamTools/ToolImage.py:234 flatcamTools/ToolImage.py:237 msgid "Import IMAGE" msgstr "Импорт изображения" -#: flatcamTools/ToolImage.py:286 +#: flatcamTools/ToolImage.py:285 msgid "Importing Image" msgstr "Импорт изображения" +#: flatcamTools/ToolInvertGerber.py:74 +#, fuzzy +#| msgid "Gerber Object to which the QRCode will be added." +msgid "Gerber object that will be inverted." +msgstr "Объект Gerber к которому будет добавлен QRCode." + +#: flatcamTools/ToolInvertGerber.py:83 +msgid "Parameters for this tool" +msgstr "Параметры, используемые для этого инструмента" + +#: flatcamTools/ToolInvertGerber.py:123 +msgid "Invert Gerber" +msgstr "Инвертировать Gerber" + +#: flatcamTools/ToolInvertGerber.py:125 +msgid "" +"Will invert the Gerber object: areas that have copper\n" +"will be empty of copper and previous empty area will be\n" +"filled with copper." +msgstr "" + +#: flatcamTools/ToolInvertGerber.py:184 +msgid "Invert Tool" +msgstr "Инвертирование" + #: flatcamTools/ToolMove.py:103 msgid "MOVE: Click on the Start point ..." msgstr "ПЕРЕМЕЩЕНИЕ: Нажмите на исходную точку ..." #: flatcamTools/ToolMove.py:114 -msgid "MOVE action cancelled. No object(s) to move." +#, fuzzy +#| msgid "MOVE action cancelled. No object(s) to move." +msgid "Cancelled. No object(s) to move." msgstr "Действие перемещения отменено. Нет объекта(ов) для перемещения." #: flatcamTools/ToolMove.py:141 @@ -14642,19 +15571,15 @@ msgstr "Перемещение ..." msgid "No object(s) selected." msgstr "Нет выбранных объектов." -#: flatcamTools/ToolMove.py:212 +#: flatcamTools/ToolMove.py:222 msgid "Error when mouse left click." msgstr "Ошибка при щелчке левой кнопкой мыши." -#: flatcamTools/ToolMove.py:260 -msgid "Move action cancelled." -msgstr "Действие перемещения отменено." - -#: flatcamTools/ToolNonCopperClear.py:38 +#: flatcamTools/ToolNCC.py:42 msgid "Non-Copper Clearing" msgstr "Очиста от меди" -#: flatcamTools/ToolNonCopperClear.py:84 +#: flatcamTools/ToolNCC.py:88 msgid "" "Specify the type of object to be cleared of excess copper.\n" "It can be of type: Gerber or Geometry.\n" @@ -14666,11 +15591,11 @@ msgstr "" "То, что здесь выбрано, будет диктовать вид\n" "объектов, которые будут заполнять поле «Объект»." -#: flatcamTools/ToolNonCopperClear.py:101 +#: flatcamTools/ToolNCC.py:110 msgid "Object to be cleared of excess copper." msgstr "Объект должен быть очищен от избытка меди." -#: flatcamTools/ToolNonCopperClear.py:111 +#: flatcamTools/ToolNCC.py:122 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for copper clearing." @@ -14678,11 +15603,7 @@ msgstr "" "Пул инструментов, из которого алгоритм\n" "выберет те, которые будут использоваться для очистки меди." -#: flatcamTools/ToolNonCopperClear.py:120 -msgid "Operation" -msgstr "Операция" - -#: flatcamTools/ToolNonCopperClear.py:126 +#: flatcamTools/ToolNCC.py:138 msgid "" "This is the Tool Number.\n" "Non copper clearing will start with the tool with the biggest \n" @@ -14699,7 +15620,7 @@ msgstr "" "в результирующей геометрии. Это потому, что с некоторыми инструментами\n" "эта функция не сможет создавать геометрию рисования." -#: flatcamTools/ToolNonCopperClear.py:134 +#: flatcamTools/ToolNCC.py:146 msgid "" "Tool Diameter. It's value (in current FlatCAM units)\n" "is the cut width into the material." @@ -14707,7 +15628,7 @@ msgstr "" "Диаметр инструмента. Это значение (в текущих единицах FlatCAM) \n" "ширины разреза в материале." -#: flatcamTools/ToolNonCopperClear.py:138 +#: flatcamTools/ToolNCC.py:150 msgid "" "The Tool Type (TT) can be:\n" "- Circular with 1 ... 4 teeth -> it is informative only. Being circular,\n" @@ -14741,33 +15662,7 @@ msgstr "" " Выбор типа инструмента V-Shape автоматически выберет тип операции\n" " в результирующей геометрии как Изоляция." -#: flatcamTools/ToolNonCopperClear.py:151 -msgid "" -"The 'Operation' can be:\n" -"- Isolation -> will ensure that the non-copper clearing is always complete.\n" -"If it's not successful then the non-copper clearing will fail, too.\n" -"- Clear -> the regular non-copper clearing." -msgstr "" -"'Операция' может быть:\n" -"- Изоляция - > обеспечит, что очистка от меди всегда закончена.\n" -"Если это не удастся, то очистка от меди также потерпит неудачу.\n" -"- Очистка - > обычная очистка от меди." - -#: flatcamTools/ToolNonCopperClear.py:209 -msgid "Tool Selection" -msgstr "Выбор инструмента" - -#: flatcamTools/ToolNonCopperClear.py:273 -msgid "" -"Diameter for the new tool to add in the Tool Table.\n" -"If the tool is V-shape type then this value is automatically\n" -"calculated from the other parameters." -msgstr "" -"Диаметр нового инструмента для добавления в таблицу инструментов.\n" -"Если инструмент имеет V-образную форму, то это значение автоматически\n" -"вычисляется из других параметров." - -#: flatcamTools/ToolNonCopperClear.py:288 flatcamTools/ToolPaint.py:190 +#: flatcamTools/ToolNCC.py:296 flatcamTools/ToolPaint.py:279 msgid "" "Add a new tool to the Tool Table\n" "with the diameter specified above." @@ -14775,8 +15670,8 @@ msgstr "" "Добавление нового инструмента в таблицу инструментов\n" "с диаметром, указанным выше." -#: flatcamTools/ToolNonCopperClear.py:300 flatcamTools/ToolPaint.py:202 -#: flatcamTools/ToolSolderPaste.py:129 +#: flatcamTools/ToolNCC.py:318 flatcamTools/ToolPaint.py:301 +#: flatcamTools/ToolSolderPaste.py:131 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row(s) in the Tool Table." @@ -14784,23 +15679,7 @@ msgstr "" "Удалить выбор инструментов в таблице инструментов\n" "сначала выбрав строку (и) в таблице инструментов." -#: flatcamTools/ToolNonCopperClear.py:435 -msgid "" -"- 'Itself' - the non copper clearing extent is based on the object that is " -"copper cleared.\n" -" - 'Area Selection' - left mouse click to start selection of the area to be " -"painted.\n" -"- 'Reference Object' - will do non copper clearing within the area specified " -"by another object." -msgstr "" -"- 'Как есть' - степень очистки меди, основано на объекте, который очищается " -"от меди.\n" -" - 'Выбор области' - щелкните левой кнопкой мыши для начала выбора области " -"для рисования.\n" -"- 'Референсный объект' - будет выполнять очистку от меди в области указанной " -"другим объектом." - -#: flatcamTools/ToolNonCopperClear.py:447 +#: flatcamTools/ToolNCC.py:554 msgid "" "The type of FlatCAM object to be used as non copper clearing reference.\n" "It can be Gerber, Excellon or Geometry." @@ -14809,119 +15688,128 @@ msgstr "" "очистке без использования меди.\n" "Это может быть Gerber, Excellon или Геометрия." -#: flatcamTools/ToolNonCopperClear.py:471 +#: flatcamTools/ToolNCC.py:597 flatcamTools/ToolPaint.py:537 msgid "Generate Geometry" msgstr "Создать объект" -#: flatcamTools/ToolNonCopperClear.py:582 flatcamTools/ToolPaint.py:493 -#: flatcamTools/ToolSolderPaste.py:553 -msgid "New Tool" -msgstr "Новый инструмент" - -#: flatcamTools/ToolNonCopperClear.py:981 flatcamTools/ToolPaint.py:766 -#: flatcamTools/ToolSolderPaste.py:887 +#: flatcamTools/ToolNCC.py:1429 flatcamTools/ToolPaint.py:1172 +#: flatcamTools/ToolSolderPaste.py:888 msgid "Please enter a tool diameter to add, in Float format." msgstr "" "Пожалуйста, введите диаметр инструмента для добавления в формате Float." -#: flatcamTools/ToolNonCopperClear.py:1012 flatcamTools/ToolPaint.py:791 -msgid "Adding tool cancelled. Tool already in Tool Table." +#: flatcamTools/ToolNCC.py:1460 flatcamTools/ToolNCC.py:4013 +#: flatcamTools/ToolPaint.py:1196 flatcamTools/ToolPaint.py:3587 +#: flatcamTools/ToolSolderPaste.py:917 +#, fuzzy +#| msgid "Adding tool cancelled. Tool already in Tool Table." +msgid "Cancelled. Tool already in Tool Table." msgstr "" "Добавление инструмента отменено. Инструмент уже в таблице инструментов." -#: flatcamTools/ToolNonCopperClear.py:1017 flatcamTools/ToolPaint.py:797 +#: flatcamTools/ToolNCC.py:1467 flatcamTools/ToolNCC.py:4030 +#: flatcamTools/ToolPaint.py:1201 flatcamTools/ToolPaint.py:3604 msgid "New tool added to Tool Table." msgstr "Новый инструмент добавлен в таблицу инструментов." -#: flatcamTools/ToolNonCopperClear.py:1061 flatcamTools/ToolPaint.py:843 +#: flatcamTools/ToolNCC.py:1511 flatcamTools/ToolPaint.py:1245 msgid "Tool from Tool Table was edited." msgstr "Инструмент был изменён в таблице инструментов." -#: flatcamTools/ToolNonCopperClear.py:1072 flatcamTools/ToolPaint.py:855 -#: flatcamTools/ToolSolderPaste.py:978 -msgid "Edit cancelled. New diameter value is already in the Tool Table." +#: flatcamTools/ToolNCC.py:1523 flatcamTools/ToolPaint.py:1257 +#: flatcamTools/ToolSolderPaste.py:977 +#, fuzzy +#| msgid "Edit cancelled. New diameter value is already in the Tool Table." +msgid "Cancelled. New diameter value is already in the Tool Table." msgstr "" "Правка отменена. Новое значение диаметра уже находится в таблице " "инструментов." -#: flatcamTools/ToolNonCopperClear.py:1119 flatcamTools/ToolPaint.py:953 +#: flatcamTools/ToolNCC.py:1575 flatcamTools/ToolPaint.py:1355 msgid "Delete failed. Select a tool to delete." msgstr "Ошибка удаления. Выберите инструмент для удаления." -#: flatcamTools/ToolNonCopperClear.py:1124 flatcamTools/ToolPaint.py:959 +#: flatcamTools/ToolNCC.py:1581 flatcamTools/ToolPaint.py:1361 msgid "Tool(s) deleted from Tool Table." msgstr "Инструмент удалён из таблицы инструментов." -#: flatcamTools/ToolNonCopperClear.py:1171 +#: flatcamTools/ToolNCC.py:1623 msgid "Wrong Tool Dia value format entered, use a number." msgstr "Неверный формат ввода диаметра инструмента, используйте цифры." -#: flatcamTools/ToolNonCopperClear.py:1180 flatcamTools/ToolPaint.py:1023 +#: flatcamTools/ToolNCC.py:1632 flatcamTools/ToolPaint.py:1412 msgid "No selected tools in Tool Table." msgstr "Нет инструментов сопла в таблице инструментов." -#: flatcamTools/ToolNonCopperClear.py:1255 flatcamTools/ToolPaint.py:1195 +#: flatcamTools/ToolNCC.py:1708 flatcamTools/ToolPaint.py:1588 msgid "Click the end point of the paint area." msgstr "Нажмите на конечную точку области рисования." -#: flatcamTools/ToolNonCopperClear.py:1410 -#: flatcamTools/ToolNonCopperClear.py:1412 -msgid "Non-Copper clearing ..." -msgstr "Очистка от меди ..." - -#: flatcamTools/ToolNonCopperClear.py:1422 -msgid "NCC Tool started. Reading parameters." -msgstr "Очистка от меди. Чтение параметров." - -#: flatcamTools/ToolNonCopperClear.py:1485 +#: flatcamTools/ToolNCC.py:1976 flatcamTools/ToolNCC.py:2964 msgid "NCC Tool. Preparing non-copper polygons." msgstr "Очистка от меди. Подготовка безмедных полигонов." -#: flatcamTools/ToolNonCopperClear.py:1581 +#: flatcamTools/ToolNCC.py:2035 flatcamTools/ToolNCC.py:3092 +msgid "NCC Tool. Calculate 'empty' area." +msgstr "Очистка от меди. Расчёт «пустой» области." + +#: flatcamTools/ToolNCC.py:2054 flatcamTools/ToolNCC.py:2160 +#: flatcamTools/ToolNCC.py:2174 flatcamTools/ToolNCC.py:3105 +#: flatcamTools/ToolNCC.py:3210 flatcamTools/ToolNCC.py:3225 +#: flatcamTools/ToolNCC.py:3491 flatcamTools/ToolNCC.py:3592 +#: flatcamTools/ToolNCC.py:3607 +msgid "Buffering finished" +msgstr "Буферизация закончена" + +#: flatcamTools/ToolNCC.py:2062 flatcamTools/ToolNCC.py:2181 +#: flatcamTools/ToolNCC.py:3113 flatcamTools/ToolNCC.py:3232 +#: flatcamTools/ToolNCC.py:3498 flatcamTools/ToolNCC.py:3614 +msgid "Could not get the extent of the area to be non copper cleared." +msgstr "Не удалось получить размер области, не подлежащей очистке от меди." + +#: flatcamTools/ToolNCC.py:2089 flatcamTools/ToolNCC.py:2167 +#: flatcamTools/ToolNCC.py:3140 flatcamTools/ToolNCC.py:3217 +#: flatcamTools/ToolNCC.py:3518 flatcamTools/ToolNCC.py:3599 +msgid "" +"Isolation geometry is broken. Margin is less than isolation tool diameter." +msgstr "" + +#: flatcamTools/ToolNCC.py:2184 flatcamTools/ToolNCC.py:3236 +#: flatcamTools/ToolNCC.py:3617 +msgid "The selected object is not suitable for copper clearing." +msgstr "Выбранный объект не подходит для очистки меди." + +#: flatcamTools/ToolNCC.py:2191 flatcamTools/ToolNCC.py:3243 +msgid "NCC Tool. Finished calculation of 'empty' area." +msgstr "Очистка от меди. Закончен расчёт «пустой» области." + +#: flatcamTools/ToolNCC.py:2222 flatcamTools/ToolNCC.py:2224 +#: flatcamTools/ToolNCC.py:2916 flatcamTools/ToolNCC.py:2918 +msgid "Non-Copper clearing ..." +msgstr "Очистка от меди ..." + +#: flatcamTools/ToolNCC.py:2278 flatcamTools/ToolNCC.py:3060 msgid "" "NCC Tool. Finished non-copper polygons. Normal copper clearing task started." msgstr "" "Очистка от меди. Безмедные полигоны готовы. Началось задание по нормальной " "очистке меди." -#: flatcamTools/ToolNonCopperClear.py:1613 -msgid "NCC Tool. Calculate 'empty' area." -msgstr "Очистка от меди. Расчёт «пустой» области." +#: flatcamTools/ToolNCC.py:2312 flatcamTools/ToolNCC.py:2592 +msgid "NCC Tool failed creating bounding box." +msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1626 -#: flatcamTools/ToolNonCopperClear.py:1723 -#: flatcamTools/ToolNonCopperClear.py:1735 -#: flatcamTools/ToolNonCopperClear.py:2018 -#: flatcamTools/ToolNonCopperClear.py:2114 -#: flatcamTools/ToolNonCopperClear.py:2126 -msgid "Buffering finished" -msgstr "Буферизация закончена" +#: flatcamTools/ToolNCC.py:2326 flatcamTools/ToolNCC.py:2609 +#: flatcamTools/ToolNCC.py:3256 flatcamTools/ToolNCC.py:3642 +msgid "NCC Tool clearing with tool diameter" +msgstr "Очистка от меди инструментом с диаметром" -#: flatcamTools/ToolNonCopperClear.py:1742 -#: flatcamTools/ToolNonCopperClear.py:2132 -msgid "The selected object is not suitable for copper clearing." -msgstr "Выбранный объект не подходит для очистки меди." - -#: flatcamTools/ToolNonCopperClear.py:1747 -#: flatcamTools/ToolNonCopperClear.py:2137 -msgid "Could not get the extent of the area to be non copper cleared." -msgstr "Не удалось получить размер области, не подлежащей очистке от меди." - -#: flatcamTools/ToolNonCopperClear.py:1754 -msgid "NCC Tool. Finished calculation of 'empty' area." -msgstr "Очистка от меди. Закончен расчёт «пустой» области." - -#: flatcamTools/ToolNonCopperClear.py:1768 -#: flatcamTools/ToolNonCopperClear.py:2162 -msgid "NCC Tool clearing with tool diameter = " -msgstr "Очистка от меди инструментом с диаметром = " - -#: flatcamTools/ToolNonCopperClear.py:1771 -#: flatcamTools/ToolNonCopperClear.py:2165 +#: flatcamTools/ToolNCC.py:2326 flatcamTools/ToolNCC.py:2609 +#: flatcamTools/ToolNCC.py:3256 flatcamTools/ToolNCC.py:3642 msgid "started." msgstr "запущен." -#: flatcamTools/ToolNonCopperClear.py:1947 +#: flatcamTools/ToolNCC.py:2518 flatcamTools/ToolNCC.py:3417 msgid "" "There is no NCC Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -14933,24 +15821,24 @@ msgstr "" "рисования .\n" "Измените параметры рисования и повторите попытку." -#: flatcamTools/ToolNonCopperClear.py:1967 +#: flatcamTools/ToolNCC.py:2527 flatcamTools/ToolNCC.py:3426 msgid "NCC Tool clear all done." msgstr "Очистка от меди выполнена." -#: flatcamTools/ToolNonCopperClear.py:1969 +#: flatcamTools/ToolNCC.py:2530 flatcamTools/ToolNCC.py:3429 msgid "NCC Tool clear all done but the copper features isolation is broken for" msgstr "Очистка от меди выполнена, но медная изоляция нарушена для" -#: flatcamTools/ToolNonCopperClear.py:1972 -#: flatcamTools/ToolNonCopperClear.py:2341 +#: flatcamTools/ToolNCC.py:2532 flatcamTools/ToolNCC.py:2817 +#: flatcamTools/ToolNCC.py:3431 flatcamTools/ToolNCC.py:3814 msgid "tools" msgstr "инструментов" -#: flatcamTools/ToolNonCopperClear.py:2337 +#: flatcamTools/ToolNCC.py:2813 flatcamTools/ToolNCC.py:3810 msgid "NCC Tool Rest Machining clear all done." msgstr "Очистка от меди с обработкой остаточного припуска выполнена." -#: flatcamTools/ToolNonCopperClear.py:2340 +#: flatcamTools/ToolNCC.py:2816 flatcamTools/ToolNCC.py:3813 msgid "" "NCC Tool Rest Machining clear all done but the copper features isolation is " "broken for" @@ -14958,7 +15846,11 @@ msgstr "" "Очистка от меди с обработкой остаточного припуска выполнена, но медная " "изоляция нарушена для" -#: flatcamTools/ToolNonCopperClear.py:2787 +#: flatcamTools/ToolNCC.py:2928 +msgid "NCC Tool started. Reading parameters." +msgstr "Очистка от меди. Чтение параметров." + +#: flatcamTools/ToolNCC.py:3906 msgid "" "Try to use the Buffering Type = Full in Preferences -> Gerber General. " "Reload the Gerber file after this change." @@ -14966,43 +15858,43 @@ msgstr "" "Попробуйте использовать тип буферизации = \"Полная\" в Настройки -> Gerber " "основный. Перезагрузите файл Gerber после этого изменения." -#: flatcamTools/ToolOptimal.py:79 +#: flatcamTools/ToolOptimal.py:80 msgid "Number of decimals kept for found distances." msgstr "Количество десятичных знаков, сохраненных для найденных расстояний." -#: flatcamTools/ToolOptimal.py:87 +#: flatcamTools/ToolOptimal.py:88 msgid "Minimum distance" msgstr "Минимальная дистанция" -#: flatcamTools/ToolOptimal.py:88 +#: flatcamTools/ToolOptimal.py:89 msgid "Display minimum distance between copper features." msgstr "Отображение минимального расстояния между медными элементами." -#: flatcamTools/ToolOptimal.py:92 +#: flatcamTools/ToolOptimal.py:93 msgid "Determined" msgstr "Результат" -#: flatcamTools/ToolOptimal.py:106 +#: flatcamTools/ToolOptimal.py:107 msgid "Occurring" msgstr "Повторений" -#: flatcamTools/ToolOptimal.py:107 +#: flatcamTools/ToolOptimal.py:108 msgid "How many times this minimum is found." msgstr "Сколько раз этот минимум найден." -#: flatcamTools/ToolOptimal.py:113 +#: flatcamTools/ToolOptimal.py:114 msgid "Minimum points coordinates" msgstr "Минимальные координаты точек" -#: flatcamTools/ToolOptimal.py:114 flatcamTools/ToolOptimal.py:120 +#: flatcamTools/ToolOptimal.py:115 flatcamTools/ToolOptimal.py:121 msgid "Coordinates for points where minimum distance was found." msgstr "Координаты точек, где было найдено минимальное расстояние." -#: flatcamTools/ToolOptimal.py:133 flatcamTools/ToolOptimal.py:209 +#: flatcamTools/ToolOptimal.py:134 flatcamTools/ToolOptimal.py:210 msgid "Jump to selected position" msgstr "Перейти к выбранной позиции" -#: flatcamTools/ToolOptimal.py:135 flatcamTools/ToolOptimal.py:211 +#: flatcamTools/ToolOptimal.py:136 flatcamTools/ToolOptimal.py:212 msgid "" "Select a position in the Locations text box and then\n" "click this button." @@ -15010,11 +15902,11 @@ msgstr "" "Выберите позицию местоположения в текстовом поле, а затем\n" "нажмите эту кнопку." -#: flatcamTools/ToolOptimal.py:143 +#: flatcamTools/ToolOptimal.py:144 msgid "Other distances" msgstr "Другие дистанции" -#: flatcamTools/ToolOptimal.py:144 +#: flatcamTools/ToolOptimal.py:145 msgid "" "Will display other distances in the Gerber file ordered from\n" "the minimum to the maximum, not including the absolute minimum." @@ -15022,13 +15914,13 @@ msgstr "" "Отобразит другие расстояния в файле Gerber, упорядоченные\n" "от минимума до максимума, не считая абсолютного минимума." -#: flatcamTools/ToolOptimal.py:149 +#: flatcamTools/ToolOptimal.py:150 msgid "Other distances points coordinates" msgstr "Другие дистанции координат точек" -#: flatcamTools/ToolOptimal.py:150 flatcamTools/ToolOptimal.py:164 -#: flatcamTools/ToolOptimal.py:171 flatcamTools/ToolOptimal.py:188 -#: flatcamTools/ToolOptimal.py:195 +#: flatcamTools/ToolOptimal.py:151 flatcamTools/ToolOptimal.py:165 +#: flatcamTools/ToolOptimal.py:172 flatcamTools/ToolOptimal.py:189 +#: flatcamTools/ToolOptimal.py:196 msgid "" "Other distances and the coordinates for points\n" "where the distance was found." @@ -15036,19 +15928,19 @@ msgstr "" "Другие расстояния и координаты для точек\n" "где расстояние было найдено." -#: flatcamTools/ToolOptimal.py:163 +#: flatcamTools/ToolOptimal.py:164 msgid "Gerber distances" msgstr "Дистанции Gerber" -#: flatcamTools/ToolOptimal.py:187 +#: flatcamTools/ToolOptimal.py:188 msgid "Points coordinates" msgstr "Координаты точек" -#: flatcamTools/ToolOptimal.py:219 +#: flatcamTools/ToolOptimal.py:220 msgid "Find Minimum" msgstr "Найти минимум" -#: flatcamTools/ToolOptimal.py:221 +#: flatcamTools/ToolOptimal.py:222 msgid "" "Calculate the minimum distance between copper features,\n" "this will allow the determination of the right tool to\n" @@ -15058,26 +15950,26 @@ msgstr "" "Это позволит определить правильный для использования инструмент\n" "для изоляции или очистки меди." -#: flatcamTools/ToolOptimal.py:346 +#: flatcamTools/ToolOptimal.py:347 msgid "Only Gerber objects can be evaluated." msgstr "Можно использовать только объекты Gerber." -#: flatcamTools/ToolOptimal.py:352 +#: flatcamTools/ToolOptimal.py:353 msgid "" "Optimal Tool. Started to search for the minimum distance between copper " "features." msgstr "" "Оптимизация. Начат поиск минимального расстояния между медными элементами." -#: flatcamTools/ToolOptimal.py:362 +#: flatcamTools/ToolOptimal.py:363 msgid "Optimal Tool. Parsing geometry for aperture" msgstr "Optimal Tool. Разбор геометрии для отверстия" -#: flatcamTools/ToolOptimal.py:373 +#: flatcamTools/ToolOptimal.py:374 msgid "Optimal Tool. Creating a buffer for the object geometry." msgstr "Оптимизация. Создание буфера для объекта геометрии." -#: flatcamTools/ToolOptimal.py:383 +#: flatcamTools/ToolOptimal.py:384 msgid "" "The Gerber object has one Polygon as geometry.\n" "There are no distances between geometry elements to be found." @@ -15086,16 +15978,16 @@ msgstr "" "Там нет расстояния между геометрическими элементами, которые могут быть " "найдены." -#: flatcamTools/ToolOptimal.py:388 +#: flatcamTools/ToolOptimal.py:389 msgid "" "Optimal Tool. Finding the distances between each two elements. Iterations" msgstr "Оптимизация. Нахождение расстояний между двумя элементами. Повторений" -#: flatcamTools/ToolOptimal.py:423 +#: flatcamTools/ToolOptimal.py:424 msgid "Optimal Tool. Finding the minimum distance." msgstr "Оптимизация. Нахождение минимального расстояния." -#: flatcamTools/ToolOptimal.py:439 +#: flatcamTools/ToolOptimal.py:440 msgid "Optimal Tool. Finished successfully." msgstr "Optimal Tool. Успешно завершено." @@ -15124,7 +16016,7 @@ msgstr "Не удалось открыть PDF-файл." msgid "Rendered" msgstr "Отрисовка" -#: flatcamTools/ToolPaint.py:87 +#: flatcamTools/ToolPaint.py:82 msgid "" "Specify the type of object to be painted.\n" "It can be of type: Gerber or Geometry.\n" @@ -15140,7 +16032,7 @@ msgstr "" msgid "Object to be painted." msgstr "Объект для рисования." -#: flatcamTools/ToolPaint.py:114 +#: flatcamTools/ToolPaint.py:117 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for painting." @@ -15148,7 +16040,7 @@ msgstr "" "Пул инструментов, из которого алгоритм\n" "выберет те, которые будут использоваться для окрашивания." -#: flatcamTools/ToolPaint.py:129 +#: flatcamTools/ToolPaint.py:134 msgid "" "This is the Tool Number.\n" "Painting will start with the tool with the biggest diameter,\n" @@ -15165,7 +16057,7 @@ msgstr "" "в результирующей геометрии. Это потому, что с некоторыми инструментами\n" "эта функция не сможет создавать геометрию рисования." -#: flatcamTools/ToolPaint.py:141 +#: flatcamTools/ToolPaint.py:146 msgid "" "The Tool Type (TT) can be:
- Circular with 1 ... 4 teeth -> it is " "informative only. Being circular,
the cut width in material is exactly " @@ -15190,51 +16082,7 @@ msgstr "" "инструмента» этой таблицы.
Выбор типа инструмента V-Shape " "автоматически выберет Тип операции в результирующей геометрии как Изоляция." -#: flatcamTools/ToolPaint.py:178 -msgid "Diameter for the new tool." -msgstr "Диаметр нового инструмента." - -#: flatcamTools/ToolPaint.py:253 -msgid "" -"Algorithm for painting:\n" -"- Standard: Fixed step inwards.\n" -"- Seed-based: Outwards from seed.\n" -"- Line-based: Parallel lines." -msgstr "" -"Алгоритм рисования:\n" -"- Стандартный: фиксированный шаг внутрь.\n" -"- Круговой: наружу от центра.\n" -"- Линейный: параллельные линии." - -#: flatcamTools/ToolPaint.py:283 -msgid "" -"If checked, use 'rest machining'.\n" -"Basically it will clear 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" -"If not checked, use the standard algorithm." -msgstr "" -"Если установлен этот флажок, используйте «остальная обработка».\n" -"В основном это очистит медь от внешних особенностей печатной платы,\n" -"используя самый большой инструмент и переходите к следующим инструментам,\n" -"от большего к меньшему, чтобы очистить участки меди, которые\n" -"не может быть очищен предыдущим инструментом, пока\n" -"больше нет меди для очистки или больше нет инструментов.\n" -"\n" -"Если не проверено, используйте стандартный алгоритм." - -#: flatcamTools/ToolPaint.py:307 -msgid "Polygon Selection" -msgstr "Выбор полигона" - -#: flatcamTools/ToolPaint.py:309 -msgid "All Polygons" -msgstr "Все полигоны" - -#: flatcamTools/ToolPaint.py:328 +#: flatcamTools/ToolPaint.py:498 msgid "" "The type of FlatCAM object to be used as paint reference.\n" "It can be Gerber, Excellon or Geometry." @@ -15242,11 +16090,7 @@ msgstr "" "Тип объекта FlatCAM, который будет использоваться как ссылка для рисования.\n" "Это может быть Gerber, Excellon или Geometry." -#: flatcamTools/ToolPaint.py:353 -msgid "Create Paint Geometry" -msgstr "Создать Paint Geometry" - -#: flatcamTools/ToolPaint.py:355 +#: flatcamTools/ToolPaint.py:539 msgid "" "- 'Area Selection' - left mouse click to start selection of the area to be " "painted.\n" @@ -15264,72 +16108,103 @@ msgstr "" "- «Контрольный объект» - будет выполнять очистку от меди в области\n" "указано другим объектом." -#: flatcamTools/ToolPaint.py:973 -msgid "Paint Tool. Reading parameters." -msgstr "Инструмент рисования. Чтение параметров." - -#: flatcamTools/ToolPaint.py:988 +#: flatcamTools/ToolPaint.py:1381 #, python-format msgid "Could not retrieve object: %s" msgstr "Не удалось получить объект: %s" -#: flatcamTools/ToolPaint.py:1002 +#: flatcamTools/ToolPaint.py:1391 msgid "Can't do Paint on MultiGeo geometries" msgstr "Невозможно окрашивание MultiGeo Geometries" -#: flatcamTools/ToolPaint.py:1035 +#: flatcamTools/ToolPaint.py:1421 msgid "Click on a polygon to paint it." msgstr "Нажмите на полигон, чтобы нарисовать его." -#: flatcamTools/ToolPaint.py:1054 +#: flatcamTools/ToolPaint.py:1441 msgid "Click the start point of the paint area." msgstr "Нажмите на начальную точку области рисования." -#: flatcamTools/ToolPaint.py:1122 +#: flatcamTools/ToolPaint.py:1506 msgid "Click to add next polygon or right click to start painting." msgstr "" "Щелкните, чтобы добавить следующий полигон, или щелкните правой кнопкой " "мыши, чтобы начать рисование." -#: flatcamTools/ToolPaint.py:1135 +#: flatcamTools/ToolPaint.py:1519 msgid "Click to add/remove next polygon or right click to start painting." msgstr "" "Нажмите для добавления/удаления следующего полигона или щелкните правой " "кнопкой мыши, чтобы начать рисование." -#: flatcamTools/ToolPaint.py:1344 flatcamTools/ToolPaint.py:1347 -#: flatcamTools/ToolPaint.py:1349 flatcamTools/ToolPaint.py:1987 -#: flatcamTools/ToolPaint.py:1991 flatcamTools/ToolPaint.py:1994 -#: flatcamTools/ToolPaint.py:2276 flatcamTools/ToolPaint.py:2281 -#: flatcamTools/ToolPaint.py:2284 flatcamTools/ToolPaint.py:2458 -#: flatcamTools/ToolPaint.py:2465 -msgid "Paint Tool." -msgstr "Рисование." +#: flatcamTools/ToolPaint.py:2017 +msgid "Painting polygon with method: lines." +msgstr "Окраска полигона методом: линии." -#: flatcamTools/ToolPaint.py:1344 flatcamTools/ToolPaint.py:1347 -#: flatcamTools/ToolPaint.py:1349 -msgid "Normal painting polygon task started." +#: flatcamTools/ToolPaint.py:2029 +#, fuzzy +#| msgid "Normal painting polygon task started." +msgid "Failed. Painting polygon with method: seed." msgstr "Началась задача нормальной отрисовки полигона." -#: flatcamTools/ToolPaint.py:1345 flatcamTools/ToolPaint.py:1706 -#: flatcamTools/ToolPaint.py:1988 flatcamTools/ToolPaint.py:2278 -#: flatcamTools/ToolPaint.py:2460 -msgid "Buffering geometry..." -msgstr "Буферизация geometry..." +#: flatcamTools/ToolPaint.py:2040 +#, fuzzy +#| msgid "Normal painting polygon task started." +msgid "Failed. Painting polygon with method: standard." +msgstr "Началась задача нормальной отрисовки полигона." -#: flatcamTools/ToolPaint.py:1367 -msgid "No polygon found." -msgstr "Полигон не найден." - -#: flatcamTools/ToolPaint.py:1401 -msgid "Painting polygon..." -msgstr "Отрисовка полигона..." - -#: flatcamTools/ToolPaint.py:1448 +#: flatcamTools/ToolPaint.py:2056 msgid "Geometry could not be painted completely" msgstr "Геометрия не может быть окрашена полностью" -#: flatcamTools/ToolPaint.py:1481 +#: flatcamTools/ToolPaint.py:2085 flatcamTools/ToolPaint.py:2088 +#: flatcamTools/ToolPaint.py:2096 flatcamTools/ToolPaint.py:2399 +#: flatcamTools/ToolPaint.py:2402 flatcamTools/ToolPaint.py:2410 +#: flatcamTools/ToolPaint.py:2898 flatcamTools/ToolPaint.py:2901 +#: flatcamTools/ToolPaint.py:2907 +msgid "Paint Tool." +msgstr "Рисование." + +#: flatcamTools/ToolPaint.py:2085 flatcamTools/ToolPaint.py:2088 +#: flatcamTools/ToolPaint.py:2096 +msgid "Normal painting polygon task started." +msgstr "Началась задача нормальной отрисовки полигона." + +#: flatcamTools/ToolPaint.py:2086 flatcamTools/ToolPaint.py:2400 +#: flatcamTools/ToolPaint.py:2899 +msgid "Buffering geometry..." +msgstr "Буферизация geometry..." + +#: flatcamTools/ToolPaint.py:2108 flatcamTools/ToolPaint.py:2417 +#: flatcamTools/ToolPaint.py:2915 +msgid "No polygon found." +msgstr "Полигон не найден." + +#: flatcamTools/ToolPaint.py:2138 +msgid "Painting polygon..." +msgstr "Отрисовка полигона..." + +#: flatcamTools/ToolPaint.py:2148 flatcamTools/ToolPaint.py:2463 +#: flatcamTools/ToolPaint.py:2653 flatcamTools/ToolPaint.py:2961 +#: flatcamTools/ToolPaint.py:3140 +msgid "Painting with tool diameter = " +msgstr "Покраска инструментом с диаметром = " + +#: flatcamTools/ToolPaint.py:2149 flatcamTools/ToolPaint.py:2464 +#: flatcamTools/ToolPaint.py:2654 flatcamTools/ToolPaint.py:2962 +#: flatcamTools/ToolPaint.py:3141 +msgid "started" +msgstr "запущено" + +#: flatcamTools/ToolPaint.py:2174 flatcamTools/ToolPaint.py:2490 +#: flatcamTools/ToolPaint.py:2680 flatcamTools/ToolPaint.py:2988 +#: flatcamTools/ToolPaint.py:3167 +msgid "Margin parameter too big. Tool is not used" +msgstr "" + +#: flatcamTools/ToolPaint.py:2232 flatcamTools/ToolPaint.py:2559 +#: flatcamTools/ToolPaint.py:2737 flatcamTools/ToolPaint.py:3051 +#: flatcamTools/ToolPaint.py:3229 msgid "" "Could not do Paint. Try a different combination of parameters. Or a " "different strategy of paint" @@ -15337,9 +16212,9 @@ msgstr "" "Окраска не выполнена. Попробуйте другую комбинацию параметров. Или другой " "способ рисования" -#: flatcamTools/ToolPaint.py:1533 flatcamTools/ToolPaint.py:1967 -#: flatcamTools/ToolPaint.py:2117 flatcamTools/ToolPaint.py:2438 -#: flatcamTools/ToolPaint.py:2592 +#: flatcamTools/ToolPaint.py:2289 flatcamTools/ToolPaint.py:2625 +#: flatcamTools/ToolPaint.py:2794 flatcamTools/ToolPaint.py:3112 +#: flatcamTools/ToolPaint.py:3291 msgid "" "There is no Painting Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -15351,80 +16226,66 @@ msgstr "" "Geometry .\n" "Измените параметры рисования и повторите попытку." -#: flatcamTools/ToolPaint.py:1539 +#: flatcamTools/ToolPaint.py:2312 +msgid "Paint Single failed." +msgstr "Paint Single не выполнена." + +#: flatcamTools/ToolPaint.py:2318 msgid "Paint Single Done." msgstr "Paint Single выполнена." -#: flatcamTools/ToolPaint.py:1571 flatcamTools/ToolPaint.py:2145 -#: flatcamTools/ToolPaint.py:2620 +#: flatcamTools/ToolPaint.py:2320 flatcamTools/ToolPaint.py:2830 +#: flatcamTools/ToolPaint.py:3327 msgid "Polygon Paint started ..." msgstr "Запущена отрисовка полигона ..." -#: flatcamTools/ToolPaint.py:1623 flatcamTools/ToolPaint.py:2207 +#: flatcamTools/ToolPaint.py:2399 flatcamTools/ToolPaint.py:2402 +#: flatcamTools/ToolPaint.py:2410 +msgid "Paint all polygons task started." +msgstr "Началась работа по покраске всех полигонов." + +#: flatcamTools/ToolPaint.py:2441 flatcamTools/ToolPaint.py:2939 msgid "Painting polygons..." msgstr "Отрисовка полигонов..." -#: flatcamTools/ToolPaint.py:1705 flatcamTools/ToolPaint.py:1708 -#: flatcamTools/ToolPaint.py:1710 -msgid "Paint Tool. Normal painting all task started." -msgstr "Инструмент рисования. Запущены все задания нормальной покраски." - -#: flatcamTools/ToolPaint.py:1744 flatcamTools/ToolPaint.py:2023 -#: flatcamTools/ToolPaint.py:2325 flatcamTools/ToolPaint.py:2501 -msgid "Painting with tool diameter = " -msgstr "Покраска инструментом с диаметром = " - -#: flatcamTools/ToolPaint.py:1747 flatcamTools/ToolPaint.py:2026 -#: flatcamTools/ToolPaint.py:2328 flatcamTools/ToolPaint.py:2504 -msgid "started" -msgstr "запущено" - -#: flatcamTools/ToolPaint.py:1976 +#: flatcamTools/ToolPaint.py:2634 msgid "Paint All Done." msgstr "Задание \"Окрасить всё\" выполнено." -#: flatcamTools/ToolPaint.py:1987 flatcamTools/ToolPaint.py:1991 -#: flatcamTools/ToolPaint.py:1994 -msgid "Rest machining painting all task started." -msgstr "Запущены все задания окраски с обработкой остаточного припуска." - -#: flatcamTools/ToolPaint.py:2072 flatcamTools/ToolPaint.py:2388 -#: flatcamTools/ToolPaint.py:2548 -msgid "" -"Could not do Paint All. Try a different combination of parameters. Or a " -"different Method of paint" -msgstr "" -"Окраска не выполнена. Попробуйте другую комбинацию параметров. Или другой " -"способ рисования" - -#: flatcamTools/ToolPaint.py:2126 flatcamTools/ToolPaint.py:2601 +#: flatcamTools/ToolPaint.py:2803 flatcamTools/ToolPaint.py:3300 msgid "Paint All with Rest-Machining done." msgstr "[success] Окрашивание с обработкой остаточного припуска выполнено." -#: flatcamTools/ToolPaint.py:2277 flatcamTools/ToolPaint.py:2281 -#: flatcamTools/ToolPaint.py:2284 -msgid "Normal painting area task started." -msgstr "Запущена задача нормальной окраски." +#: flatcamTools/ToolPaint.py:2822 +msgid "Paint All failed." +msgstr "Задание \"Окрасить всё\" не выполнено." -#: flatcamTools/ToolPaint.py:2447 +#: flatcamTools/ToolPaint.py:2828 +msgid "Paint Poly All Done." +msgstr "Задание \"Окрасить всё\" выполнено." + +#: flatcamTools/ToolPaint.py:2898 flatcamTools/ToolPaint.py:2901 +#: flatcamTools/ToolPaint.py:2907 +msgid "Painting area task started." +msgstr "Запущена задача окраски." + +#: flatcamTools/ToolPaint.py:3121 msgid "Paint Area Done." msgstr "Окраска области сделана." -#: flatcamTools/ToolPaint.py:2459 flatcamTools/ToolPaint.py:2465 -msgid "Rest machining painting area task started." -msgstr "Запущено задание окраски с обработкой остаточного припуска." +#: flatcamTools/ToolPaint.py:3319 +msgid "Paint Area failed." +msgstr "Окраска области не сделана." -#: flatcamTools/ToolPaint.py:2462 -msgid "Paint Tool. Rest machining painting area task started." -msgstr "" -"Инструмент рисования. Запущено задание окраски с обработкой остаточного " -"припуска." +#: flatcamTools/ToolPaint.py:3325 +msgid "Paint Poly Area Done." +msgstr "Окраска области сделана." #: flatcamTools/ToolPanelize.py:34 msgid "Panelize PCB" msgstr "Панелизация" -#: flatcamTools/ToolPanelize.py:68 +#: flatcamTools/ToolPanelize.py:56 msgid "" "Specify the type of object to be panelized\n" "It can be of type: Gerber, Excellon or Geometry.\n" @@ -15436,7 +16297,7 @@ msgstr "" "Выбор здесь определяет тип объектов, которые будут\n" "в выпадающем списке объектов." -#: flatcamTools/ToolPanelize.py:83 +#: flatcamTools/ToolPanelize.py:89 msgid "" "Object to be panelized. This means that it will\n" "be duplicated in an array of rows and columns." @@ -15444,11 +16305,11 @@ msgstr "" "Объект для панелей. Это означает, что это будет\n" "дублироваться в массиве строк и столбцов." -#: flatcamTools/ToolPanelize.py:96 +#: flatcamTools/ToolPanelize.py:102 msgid "Penelization Reference" msgstr "Характеристики пенелизации" -#: flatcamTools/ToolPanelize.py:98 +#: flatcamTools/ToolPanelize.py:104 msgid "" "Choose the reference for panelization:\n" "- Object = the bounding box of a different object\n" @@ -15470,11 +16331,11 @@ msgstr "" "к этому эталонному объекту, следовательно, поддерживая панель\n" "объекты в синхронизации." -#: flatcamTools/ToolPanelize.py:121 +#: flatcamTools/ToolPanelize.py:125 msgid "Box Type" msgstr "Тип рамки" -#: flatcamTools/ToolPanelize.py:123 +#: flatcamTools/ToolPanelize.py:127 msgid "" "Specify the type of object to be used as an container for\n" "panelization. It can be: Gerber or Geometry type.\n" @@ -15487,7 +16348,7 @@ msgstr "" "Выбор здесь определяет тип объектов, которые будут\n" "в поле Box Object." -#: flatcamTools/ToolPanelize.py:138 +#: flatcamTools/ToolPanelize.py:141 msgid "" "The actual object that is used a container for the\n" " selected object that is to be panelized." @@ -15495,11 +16356,11 @@ msgstr "" "Фактический объект, который используется контейнер для\n" "  выделенный объект, который должен быть панелизирован." -#: flatcamTools/ToolPanelize.py:144 +#: flatcamTools/ToolPanelize.py:147 msgid "Panel Data" msgstr "Данные панели" -#: flatcamTools/ToolPanelize.py:146 +#: flatcamTools/ToolPanelize.py:149 msgid "" "This informations will shape the resulting panel.\n" "The number of rows and columns will set how many\n" @@ -15515,7 +16376,7 @@ msgstr "" "Расстояние устанавливает дистанцию между любыми двумя\n" "элементами массива панели." -#: flatcamTools/ToolPanelize.py:205 +#: flatcamTools/ToolPanelize.py:208 msgid "" "Choose the type of object for the panel object:\n" "- Geometry\n" @@ -15525,15 +16386,15 @@ msgstr "" "- Geometry\n" "- Gerber" -#: flatcamTools/ToolPanelize.py:213 +#: flatcamTools/ToolPanelize.py:216 msgid "Constrain panel within" msgstr "Ограничить панель внутри" -#: flatcamTools/ToolPanelize.py:249 +#: flatcamTools/ToolPanelize.py:252 msgid "Panelize Object" msgstr "Панелизация" -#: flatcamTools/ToolPanelize.py:251 flatcamTools/ToolRulesCheck.py:492 +#: flatcamTools/ToolPanelize.py:254 flatcamTools/ToolRulesCheck.py:501 msgid "" "Panelize the specified object around the specified box.\n" "In other words it creates multiple copies of the source object,\n" @@ -15543,33 +16404,33 @@ msgstr "" "Другими словами, он создает несколько копий исходного объекта,\n" "расположеных в 2D массиве строк и столбцов." -#: flatcamTools/ToolPanelize.py:319 +#: flatcamTools/ToolPanelize.py:322 msgid "Panel. Tool" msgstr "Панелизация" -#: flatcamTools/ToolPanelize.py:448 +#: flatcamTools/ToolPanelize.py:460 msgid "Columns or Rows are zero value. Change them to a positive integer." msgstr "" "Столбцы или строки имеют нулевое значение. Измените их на положительное " "целое число." -#: flatcamTools/ToolPanelize.py:485 +#: flatcamTools/ToolPanelize.py:497 msgid "Generating panel ... " msgstr "Выполняется панелизация ... " -#: flatcamTools/ToolPanelize.py:768 +#: flatcamTools/ToolPanelize.py:777 msgid "Generating panel ... Adding the Gerber code." msgstr "Выполняется панелизация ... Добавление кода Gerber." -#: flatcamTools/ToolPanelize.py:779 +#: flatcamTools/ToolPanelize.py:788 msgid "Generating panel... Spawning copies" msgstr "Выполняется панелизация ... Создание копий" -#: flatcamTools/ToolPanelize.py:786 +#: flatcamTools/ToolPanelize.py:795 msgid "Panel done..." msgstr "Панель готова..." -#: flatcamTools/ToolPanelize.py:789 +#: flatcamTools/ToolPanelize.py:798 #, python-brace-format msgid "" "{text} Too big for the constrain area. Final panel has {col} columns and " @@ -15578,7 +16439,7 @@ msgstr "" "{text} Слишком большой для выбранного участка. Итоговая панель содержит " "{col} столбцов и {row} строк" -#: flatcamTools/ToolPanelize.py:798 +#: flatcamTools/ToolPanelize.py:807 msgid "Panel created successfully." msgstr "Панелизация успешно выполнена." @@ -15718,163 +16579,223 @@ msgstr "Inf-файл PcbWizard загружен." msgid "Main PcbWizard Excellon file loaded." msgstr "Файл PcbWizard Excellon загружен." -#: flatcamTools/ToolPcbWizard.py:431 +#: flatcamTools/ToolPcbWizard.py:428 msgid "Cannot parse file" msgstr "Не удается прочитать файл" -#: flatcamTools/ToolPcbWizard.py:456 +#: flatcamTools/ToolPcbWizard.py:452 msgid "Importing Excellon." msgstr "Импортирование Excellon." -#: flatcamTools/ToolPcbWizard.py:463 +#: flatcamTools/ToolPcbWizard.py:459 msgid "Import Excellon file failed." msgstr "Не удалось импортировать файл Excellon." -#: flatcamTools/ToolPcbWizard.py:471 +#: flatcamTools/ToolPcbWizard.py:467 msgid "Imported" msgstr "Импортирован" -#: flatcamTools/ToolPcbWizard.py:475 +#: flatcamTools/ToolPcbWizard.py:471 msgid "Excellon merging is in progress. Please wait..." msgstr "Слияние Excellon продолжается. Пожалуйста, подождите..." -#: flatcamTools/ToolPcbWizard.py:478 +#: flatcamTools/ToolPcbWizard.py:474 msgid "The imported Excellon file is None." msgstr "Импортированный файл Excellon есть None." -#: flatcamTools/ToolProperties.py:119 -msgid "Properties Tool was not displayed. No object selected." -msgstr "Инструмент \"Свойства\" не отображается. Объект не выбран." - -#: flatcamTools/ToolProperties.py:134 +#: flatcamTools/ToolProperties.py:131 msgid "Object Properties are displayed." msgstr "Отображены свойства объекта." -#: flatcamTools/ToolProperties.py:135 +#: flatcamTools/ToolProperties.py:136 msgid "Properties Tool" msgstr "Свойства" -#: flatcamTools/ToolProperties.py:149 +#: flatcamTools/ToolProperties.py:150 msgid "TYPE" msgstr "ТИП" -#: flatcamTools/ToolProperties.py:150 +#: flatcamTools/ToolProperties.py:151 msgid "NAME" msgstr "НАЗВАНИЕ" -#: flatcamTools/ToolProperties.py:151 +#: flatcamTools/ToolProperties.py:153 msgid "Dimensions" msgstr "Размеры" -#: flatcamTools/ToolProperties.py:165 -msgid "Others" -msgstr "Другие" - -#: flatcamTools/ToolProperties.py:172 +#: flatcamTools/ToolProperties.py:181 msgid "Geo Type" msgstr "Тип рамки" -#: flatcamTools/ToolProperties.py:173 +#: flatcamTools/ToolProperties.py:184 msgid "Single-Geo" msgstr "Одиночный" -#: flatcamTools/ToolProperties.py:173 +#: flatcamTools/ToolProperties.py:185 msgid "Multi-Geo" msgstr "Мультипроход" -#: flatcamTools/ToolProperties.py:181 +#: flatcamTools/ToolProperties.py:196 msgid "Calculating dimensions ... Please wait." msgstr "Расчет размеров ... Пожалуйста, подождите." -#: flatcamTools/ToolProperties.py:321 flatcamTools/ToolProperties.py:325 -#: flatcamTools/ToolProperties.py:327 +#: flatcamTools/ToolProperties.py:339 flatcamTools/ToolProperties.py:343 +#: flatcamTools/ToolProperties.py:345 msgid "Inch" msgstr "Дюйм" -#: flatcamTools/ToolProperties.py:321 flatcamTools/ToolProperties.py:326 -#: flatcamTools/ToolProperties.py:328 +#: flatcamTools/ToolProperties.py:339 flatcamTools/ToolProperties.py:344 +#: flatcamTools/ToolProperties.py:346 msgid "Metric" msgstr "Метрический" -#: flatcamTools/ToolProperties.py:401 flatcamTools/ToolProperties.py:459 +#: flatcamTools/ToolProperties.py:421 flatcamTools/ToolProperties.py:486 msgid "Drills number" msgstr "Номер отверстия" -#: flatcamTools/ToolProperties.py:402 flatcamTools/ToolProperties.py:461 +#: flatcamTools/ToolProperties.py:422 flatcamTools/ToolProperties.py:488 msgid "Slots number" msgstr "Номер паза" -#: flatcamTools/ToolProperties.py:404 +#: flatcamTools/ToolProperties.py:424 msgid "Drills total number:" msgstr "Общее количество отверстий:" -#: flatcamTools/ToolProperties.py:405 +#: flatcamTools/ToolProperties.py:425 msgid "Slots total number:" msgstr "Общее количество пазов:" -#: flatcamTools/ToolProperties.py:411 flatcamTools/ToolProperties.py:426 -#: flatcamTools/ToolProperties.py:429 flatcamTools/ToolProperties.py:432 -#: flatcamTools/ToolProperties.py:456 +#: flatcamTools/ToolProperties.py:452 flatcamTools/ToolProperties.py:455 +#: flatcamTools/ToolProperties.py:458 flatcamTools/ToolProperties.py:483 msgid "Present" msgstr "Представление" -#: flatcamTools/ToolProperties.py:427 flatcamTools/ToolProperties.py:457 +#: flatcamTools/ToolProperties.py:453 flatcamTools/ToolProperties.py:484 msgid "Solid Geometry" msgstr "Сплошная Geometry" -#: flatcamTools/ToolProperties.py:430 +#: flatcamTools/ToolProperties.py:456 msgid "GCode Text" msgstr "GCode текст" -#: flatcamTools/ToolProperties.py:433 +#: flatcamTools/ToolProperties.py:459 msgid "GCode Geometry" msgstr "Геометрия GCode" -#: flatcamTools/ToolProperties.py:435 +#: flatcamTools/ToolProperties.py:462 msgid "Data" msgstr "Данные" -#: flatcamTools/ToolProperties.py:468 +#: flatcamTools/ToolProperties.py:495 msgid "Depth of Cut" msgstr "Глубина резания" -#: flatcamTools/ToolProperties.py:480 +#: flatcamTools/ToolProperties.py:507 msgid "Clearance Height" msgstr "Высота зазора" -#: flatcamTools/ToolProperties.py:512 +#: flatcamTools/ToolProperties.py:539 msgid "Routing time" msgstr "Время перемещения" -#: flatcamTools/ToolProperties.py:519 +#: flatcamTools/ToolProperties.py:546 msgid "Travelled distance" msgstr "Пройденное расстояние" -#: flatcamTools/ToolProperties.py:560 +#: flatcamTools/ToolProperties.py:564 msgid "Width" msgstr "Ширина" -#: flatcamTools/ToolProperties.py:566 flatcamTools/ToolProperties.py:574 +#: flatcamTools/ToolProperties.py:570 flatcamTools/ToolProperties.py:578 msgid "Box Area" msgstr "Рабочая область" -#: flatcamTools/ToolProperties.py:569 flatcamTools/ToolProperties.py:577 +#: flatcamTools/ToolProperties.py:573 flatcamTools/ToolProperties.py:581 msgid "Convex_Hull Area" msgstr "Выпуклая область корпуса" -#: flatcamTools/ToolProperties.py:583 flatcamTools/ToolProperties.py:585 +#: flatcamTools/ToolProperties.py:588 flatcamTools/ToolProperties.py:591 msgid "Copper Area" msgstr "Медный участок" -#: flatcamTools/ToolQRCode.py:79 +#: flatcamTools/ToolPunchGerber.py:30 flatcamTools/ToolPunchGerber.py:323 +msgid "Punch Gerber" +msgstr "Gerber перфорации" + +#: flatcamTools/ToolPunchGerber.py:65 +msgid "Gerber into which to punch holes" +msgstr "Gerber для перфорации" + +#: flatcamTools/ToolPunchGerber.py:85 +#, fuzzy +msgid "ALL" +msgstr "Все" + +#: flatcamTools/ToolPunchGerber.py:166 +msgid "" +"Remove the geometry of Excellon from the Gerber to create the holes in pads." +msgstr "" +"Удаляет геометрию Excellon из Gerber, чтобы создать отверстия в площадках." + +#: flatcamTools/ToolPunchGerber.py:325 +msgid "" +"Create a Gerber object from the selected object, within\n" +"the specified box." +msgstr "" + +#: flatcamTools/ToolPunchGerber.py:425 +msgid "Punch Tool" +msgstr "Перфорация" + +#: flatcamTools/ToolPunchGerber.py:599 +msgid "The value of the fixed diameter is 0.0. Aborting." +msgstr "" + +#: flatcamTools/ToolPunchGerber.py:607 +#, fuzzy +#| msgid "" +#| " Could not generate punched hole film because the punch hole sizeis " +#| "bigger than some of the apertures in the Gerber object." +msgid "" +" Could not generate punched hole Gerber because the punch hole sizeis bigger " +"than some of the apertures in the Gerber object." +msgstr "" +" Не удалось создать пленку с перфорированным отверстием, поскольку размер " +"перфорированного отверстия больше, чем некоторые отверстия в объекте Gerber." + +#: flatcamTools/ToolPunchGerber.py:619 +#, fuzzy +#| msgid "" +#| "Could not generate punched hole film because the punch hole sizeis bigger " +#| "than some of the apertures in the Gerber object." +msgid "" +"Could not generate punched hole Gerber because the punch hole sizeis bigger " +"than some of the apertures in the Gerber object." +msgstr "" +"Не удалось создать пленку с перфорированным отверстием, поскольку размер " +"перфорированного отверстия больше, чем некоторые отверстия в объекте Gerber." + +#: flatcamTools/ToolPunchGerber.py:656 +#, fuzzy +#| msgid "" +#| "Could not generate punched hole film because the newly created object " +#| "geometry is the same as the one in the source object geometry..." +msgid "" +"Could not generate punched hole Gerber because the newly created object " +"geometry is the same as the one in the source object geometry..." +msgstr "" +"Не удалось создать пленку с перфорацией, поскольку геометрия вновь " +"созданного объекта такая же, как в геометрии исходного объекта ..." + +#: flatcamTools/ToolQRCode.py:80 msgid "Gerber Object to which the QRCode will be added." msgstr "Объект Gerber к которому будет добавлен QRCode." -#: flatcamTools/ToolQRCode.py:92 +#: flatcamTools/ToolQRCode.py:93 msgid "QRCode Parameters" msgstr "Параметры QRCode" -#: flatcamTools/ToolQRCode.py:94 +#: flatcamTools/ToolQRCode.py:95 msgid "The parameters used to shape the QRCode." msgstr "Параметры, используемые для формирования QRCode." @@ -15918,31 +16839,27 @@ msgstr "Вставить QR-код" msgid "Create the QRCode object." msgstr "Будет создан объект QRCode." -#: flatcamTools/ToolQRCode.py:413 flatcamTools/ToolQRCode.py:748 -#: flatcamTools/ToolQRCode.py:797 +#: flatcamTools/ToolQRCode.py:415 flatcamTools/ToolQRCode.py:750 +#: flatcamTools/ToolQRCode.py:799 msgid "Cancelled. There is no QRCode Data in the text box." msgstr "Отмена. В текстовом поле нет данных QRCode." -#: flatcamTools/ToolQRCode.py:432 +#: flatcamTools/ToolQRCode.py:434 msgid "Generating QRCode geometry" msgstr "Генерация QRCode геометрии" -#: flatcamTools/ToolQRCode.py:472 +#: flatcamTools/ToolQRCode.py:474 msgid "Click on the Destination point ..." msgstr "Нажмите на конечную точку ..." -#: flatcamTools/ToolQRCode.py:587 +#: flatcamTools/ToolQRCode.py:589 msgid "QRCode Tool done." msgstr "QRCode готов." -#: flatcamTools/ToolQRCode.py:780 flatcamTools/ToolQRCode.py:784 +#: flatcamTools/ToolQRCode.py:782 flatcamTools/ToolQRCode.py:786 msgid "Export PNG" msgstr "Экспорт PNG" -#: flatcamTools/ToolQRCode.py:789 -msgid " Export PNG cancelled." -msgstr " Экспорт PNG отменён." - #: flatcamTools/ToolRulesCheck.py:33 msgid "Check Rules" msgstr "Проверка правил" @@ -15955,73 +16872,73 @@ msgstr "Файлы Gerber" msgid "Gerber objects for which to check rules." msgstr "Объекты Gerber для проверки правил." -#: flatcamTools/ToolRulesCheck.py:77 +#: flatcamTools/ToolRulesCheck.py:78 msgid "Top" msgstr "Верх" -#: flatcamTools/ToolRulesCheck.py:79 +#: flatcamTools/ToolRulesCheck.py:80 msgid "The Top Gerber Copper object for which rules are checked." msgstr "Объект Top Gerber Copper, для которого проверяются правила." -#: flatcamTools/ToolRulesCheck.py:94 +#: flatcamTools/ToolRulesCheck.py:96 msgid "Bottom" msgstr "Низ" -#: flatcamTools/ToolRulesCheck.py:96 +#: flatcamTools/ToolRulesCheck.py:98 msgid "The Bottom Gerber Copper object for which rules are checked." msgstr "Нижний Gerber объект меди, для которого проверяются правила." -#: flatcamTools/ToolRulesCheck.py:111 +#: flatcamTools/ToolRulesCheck.py:114 msgid "SM Top" msgstr "ПМ Верх" -#: flatcamTools/ToolRulesCheck.py:113 +#: flatcamTools/ToolRulesCheck.py:116 msgid "The Top Gerber Solder Mask object for which rules are checked." msgstr "" "Верхний Gerber объект паяльной маски, для которого проверяются правила." -#: flatcamTools/ToolRulesCheck.py:128 +#: flatcamTools/ToolRulesCheck.py:132 msgid "SM Bottom" msgstr "ПМ Низ" -#: flatcamTools/ToolRulesCheck.py:130 +#: flatcamTools/ToolRulesCheck.py:134 msgid "The Bottom Gerber Solder Mask object for which rules are checked." msgstr "Нижний Gerber объект паяльной маски, для которого проверяются правила." -#: flatcamTools/ToolRulesCheck.py:145 +#: flatcamTools/ToolRulesCheck.py:150 msgid "Silk Top" msgstr "Шелкография Верх" -#: flatcamTools/ToolRulesCheck.py:147 +#: flatcamTools/ToolRulesCheck.py:152 msgid "The Top Gerber Silkscreen object for which rules are checked." msgstr "Верхний Gerber объект шелкографии, для которого проверяются правила." -#: flatcamTools/ToolRulesCheck.py:162 +#: flatcamTools/ToolRulesCheck.py:168 msgid "Silk Bottom" msgstr "Шелкография низ" -#: flatcamTools/ToolRulesCheck.py:164 +#: flatcamTools/ToolRulesCheck.py:170 msgid "The Bottom Gerber Silkscreen object for which rules are checked." msgstr "Нижний Gerber объект шелкографии, для которого проверяются правила." -#: flatcamTools/ToolRulesCheck.py:181 +#: flatcamTools/ToolRulesCheck.py:188 msgid "The Gerber Outline (Cutout) object for which rules are checked." msgstr "" "Gerber объект контур (обрезка платы), для которого проверяются правила." -#: flatcamTools/ToolRulesCheck.py:192 +#: flatcamTools/ToolRulesCheck.py:199 msgid "Excellon Objects" msgstr "Объекты Excellon" -#: flatcamTools/ToolRulesCheck.py:194 +#: flatcamTools/ToolRulesCheck.py:201 msgid "Excellon objects for which to check rules." msgstr "Объекты Excellon для проверки правил." -#: flatcamTools/ToolRulesCheck.py:205 +#: flatcamTools/ToolRulesCheck.py:213 msgid "Excellon 1" msgstr "Excellon 1" -#: flatcamTools/ToolRulesCheck.py:207 +#: flatcamTools/ToolRulesCheck.py:215 msgid "" "Excellon object for which to check rules.\n" "Holds the plated holes or a general Excellon file content." @@ -16029,11 +16946,11 @@ msgstr "" "Объект Excellon, для которого проверяются правила.\n" "Содержит отверстия с металлизацией или общее содержимое файла Excellon." -#: flatcamTools/ToolRulesCheck.py:223 +#: flatcamTools/ToolRulesCheck.py:232 msgid "Excellon 2" msgstr "Excellon 2" -#: flatcamTools/ToolRulesCheck.py:225 +#: flatcamTools/ToolRulesCheck.py:234 msgid "" "Excellon object for which to check rules.\n" "Holds the non-plated holes." @@ -16041,35 +16958,35 @@ msgstr "" "Объект Excellon, для которого проверяются правила.\n" "Содержит отверстия без металлизации." -#: flatcamTools/ToolRulesCheck.py:238 +#: flatcamTools/ToolRulesCheck.py:247 msgid "All Rules" msgstr "Все правила" -#: flatcamTools/ToolRulesCheck.py:240 +#: flatcamTools/ToolRulesCheck.py:249 msgid "This check/uncheck all the rules below." msgstr "Выделение/снятие выделения всех правил ниже." -#: flatcamTools/ToolRulesCheck.py:490 +#: flatcamTools/ToolRulesCheck.py:499 msgid "Run Rules Check" msgstr "Запустить проверку" -#: flatcamTools/ToolRulesCheck.py:1149 flatcamTools/ToolRulesCheck.py:1209 -#: flatcamTools/ToolRulesCheck.py:1246 flatcamTools/ToolRulesCheck.py:1318 -#: flatcamTools/ToolRulesCheck.py:1372 flatcamTools/ToolRulesCheck.py:1410 -#: flatcamTools/ToolRulesCheck.py:1475 +#: flatcamTools/ToolRulesCheck.py:1158 flatcamTools/ToolRulesCheck.py:1218 +#: flatcamTools/ToolRulesCheck.py:1255 flatcamTools/ToolRulesCheck.py:1327 +#: flatcamTools/ToolRulesCheck.py:1381 flatcamTools/ToolRulesCheck.py:1419 +#: flatcamTools/ToolRulesCheck.py:1484 msgid "Value is not valid." msgstr "Значение недействительно." -#: flatcamTools/ToolRulesCheck.py:1163 +#: flatcamTools/ToolRulesCheck.py:1172 msgid "TOP -> Copper to Copper clearance" msgstr "ВЕРХ -> Зазор между медными дорожками" -#: flatcamTools/ToolRulesCheck.py:1174 +#: flatcamTools/ToolRulesCheck.py:1183 msgid "BOTTOM -> Copper to Copper clearance" msgstr "НИЗ -> Зазор между медными дорожками" -#: flatcamTools/ToolRulesCheck.py:1179 flatcamTools/ToolRulesCheck.py:1273 -#: flatcamTools/ToolRulesCheck.py:1437 +#: flatcamTools/ToolRulesCheck.py:1188 flatcamTools/ToolRulesCheck.py:1282 +#: flatcamTools/ToolRulesCheck.py:1446 msgid "" "At least one Gerber object has to be selected for this rule but none is " "selected." @@ -16077,12 +16994,12 @@ msgstr "" "Для этого правила должен быть выбран хотя бы один объект Gerber, но ни один " "не выбран." -#: flatcamTools/ToolRulesCheck.py:1215 +#: flatcamTools/ToolRulesCheck.py:1224 msgid "" "One of the copper Gerber objects or the Outline Gerber object is not valid." msgstr "Один из Gerber объектов меди или Gerber объект контура недопустим." -#: flatcamTools/ToolRulesCheck.py:1228 flatcamTools/ToolRulesCheck.py:1392 +#: flatcamTools/ToolRulesCheck.py:1237 flatcamTools/ToolRulesCheck.py:1401 msgid "" "Outline Gerber object presence is mandatory for this rule but it is not " "selected." @@ -16090,31 +17007,31 @@ msgstr "" "Присутствие Gerber объекта контура является обязательным для этого правила, " "но он не выбран." -#: flatcamTools/ToolRulesCheck.py:1245 flatcamTools/ToolRulesCheck.py:1272 +#: flatcamTools/ToolRulesCheck.py:1254 flatcamTools/ToolRulesCheck.py:1281 msgid "Silk to Silk clearance" msgstr "Зазор между элементами шелкографии" -#: flatcamTools/ToolRulesCheck.py:1258 +#: flatcamTools/ToolRulesCheck.py:1267 msgid "TOP -> Silk to Silk clearance" msgstr "ВЕРХ -> Зазор между элементами шелкографии" -#: flatcamTools/ToolRulesCheck.py:1268 +#: flatcamTools/ToolRulesCheck.py:1277 msgid "BOTTOM -> Silk to Silk clearance" msgstr "НИЗ -> Зазор между элементами шелкографии" -#: flatcamTools/ToolRulesCheck.py:1324 +#: flatcamTools/ToolRulesCheck.py:1333 msgid "One or more of the Gerber objects is not valid." msgstr "Один или несколько объектов Gerber недопустимы." -#: flatcamTools/ToolRulesCheck.py:1332 +#: flatcamTools/ToolRulesCheck.py:1341 msgid "TOP -> Silk to Solder Mask Clearance" msgstr "ВЕРХ -> Зазор между шелкографией и паяльной маской" -#: flatcamTools/ToolRulesCheck.py:1338 +#: flatcamTools/ToolRulesCheck.py:1347 msgid "BOTTOM -> Silk to Solder Mask Clearance" msgstr "НИЗ -> Зазор между шелкографией и паяльной маской" -#: flatcamTools/ToolRulesCheck.py:1342 +#: flatcamTools/ToolRulesCheck.py:1351 msgid "" "Both Silk and Solder Mask Gerber objects has to be either both Top or both " "Bottom." @@ -16122,61 +17039,61 @@ msgstr "" "Gerber объекты шелкографии или паяльной маски должны быть либо сверху, либо " "снизу." -#: flatcamTools/ToolRulesCheck.py:1378 +#: flatcamTools/ToolRulesCheck.py:1387 msgid "" "One of the Silk Gerber objects or the Outline Gerber object is not valid." msgstr "" "Один из Gerber объектов шелкографии или Gerber объект контура недопустим." -#: flatcamTools/ToolRulesCheck.py:1422 +#: flatcamTools/ToolRulesCheck.py:1431 msgid "TOP -> Minimum Solder Mask Sliver" msgstr "ВЕРХ -> Минимальная ширина паяльной маски" -#: flatcamTools/ToolRulesCheck.py:1432 +#: flatcamTools/ToolRulesCheck.py:1441 msgid "BOTTOM -> Minimum Solder Mask Sliver" msgstr "НИЗ-> Минимальная ширина паяльной маски" -#: flatcamTools/ToolRulesCheck.py:1481 +#: flatcamTools/ToolRulesCheck.py:1490 msgid "One of the Copper Gerber objects or the Excellon objects is not valid." msgstr "Один из объектов Copper Gerber или Excellon недопустим." -#: flatcamTools/ToolRulesCheck.py:1497 +#: flatcamTools/ToolRulesCheck.py:1506 msgid "" "Excellon object presence is mandatory for this rule but none is selected." msgstr "" "Наличие объекта Excellon обязательно для этого правила, но ни один объект не " "выбран." -#: flatcamTools/ToolRulesCheck.py:1570 flatcamTools/ToolRulesCheck.py:1583 -#: flatcamTools/ToolRulesCheck.py:1594 flatcamTools/ToolRulesCheck.py:1607 +#: flatcamTools/ToolRulesCheck.py:1579 flatcamTools/ToolRulesCheck.py:1592 +#: flatcamTools/ToolRulesCheck.py:1603 flatcamTools/ToolRulesCheck.py:1616 msgid "STATUS" msgstr "СТАТУС" -#: flatcamTools/ToolRulesCheck.py:1573 flatcamTools/ToolRulesCheck.py:1597 +#: flatcamTools/ToolRulesCheck.py:1582 flatcamTools/ToolRulesCheck.py:1606 msgid "FAILED" msgstr "НЕУДАЧНО" -#: flatcamTools/ToolRulesCheck.py:1586 flatcamTools/ToolRulesCheck.py:1610 +#: flatcamTools/ToolRulesCheck.py:1595 flatcamTools/ToolRulesCheck.py:1619 msgid "PASSED" msgstr "УСПЕШНО ПРОЙДЕНО" -#: flatcamTools/ToolRulesCheck.py:1587 flatcamTools/ToolRulesCheck.py:1611 +#: flatcamTools/ToolRulesCheck.py:1596 flatcamTools/ToolRulesCheck.py:1620 msgid "Violations: There are no violations for the current rule." msgstr "Нарушения: нарушений по текущему правилу нет." -#: flatcamTools/ToolShell.py:70 flatcamTools/ToolShell.py:72 -msgid "...proccessing..." +#: flatcamTools/ToolShell.py:72 flatcamTools/ToolShell.py:74 +msgid "...processing..." msgstr "...обработка..." -#: flatcamTools/ToolSolderPaste.py:37 +#: flatcamTools/ToolSolderPaste.py:38 msgid "Solder Paste Tool" msgstr "Паяльная паста" -#: flatcamTools/ToolSolderPaste.py:68 +#: flatcamTools/ToolSolderPaste.py:70 msgid "Gerber Solder paste object. " msgstr "Gerber объект паяльной пасты. " -#: flatcamTools/ToolSolderPaste.py:75 +#: flatcamTools/ToolSolderPaste.py:77 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for dispensing solder paste." @@ -16184,7 +17101,7 @@ msgstr "" "Пул инструментов, из которого алгоритм\n" "выберет те, которые будут использоваться для дозирования паяльной пасты." -#: flatcamTools/ToolSolderPaste.py:90 +#: flatcamTools/ToolSolderPaste.py:92 msgid "" "This is the Tool Number.\n" "The solder dispensing will start with the tool with the biggest \n" @@ -16199,7 +17116,7 @@ msgstr "" "Если больше нет инструментов, но есть еще не покрытые прокладки\n" "  с паяльной пастой приложение выдаст окно с предупреждением." -#: flatcamTools/ToolSolderPaste.py:97 +#: flatcamTools/ToolSolderPaste.py:99 msgid "" "Nozzle tool Diameter. It's value (in current FlatCAM units)\n" "is the width of the solder paste dispensed." @@ -16207,11 +17124,11 @@ msgstr "" "Насадка инструментальная Диаметр. Это значение (в текущих единицах FlatCAM)\n" "ширина выдавленной паяльной пасты." -#: flatcamTools/ToolSolderPaste.py:104 +#: flatcamTools/ToolSolderPaste.py:106 msgid "New Nozzle Tool" msgstr "Новое сопло" -#: flatcamTools/ToolSolderPaste.py:123 +#: flatcamTools/ToolSolderPaste.py:125 msgid "" "Add a new nozzle tool to the Tool Table\n" "with the diameter specified above." @@ -16219,15 +17136,15 @@ msgstr "" "Добавить новый инструмент сопла в таблицу инструментов\n" "с диаметром, указанным выше." -#: flatcamTools/ToolSolderPaste.py:135 +#: flatcamTools/ToolSolderPaste.py:137 msgid "Generate solder paste dispensing geometry." msgstr "Создание геометрии дозирования паяльной пасты." -#: flatcamTools/ToolSolderPaste.py:154 +#: flatcamTools/ToolSolderPaste.py:156 msgid "STEP 1" msgstr "ШАГ 1" -#: flatcamTools/ToolSolderPaste.py:156 +#: flatcamTools/ToolSolderPaste.py:158 msgid "" "First step is to select a number of nozzle tools for usage\n" "and then optionally modify the GCode parameters bellow." @@ -16235,7 +17152,7 @@ msgstr "" "Первый шаг - выбрать несколько инструментов для использования насадок.\n" "а затем при необходимости измените параметры кода G ниже." -#: flatcamTools/ToolSolderPaste.py:159 +#: flatcamTools/ToolSolderPaste.py:161 msgid "" "Select tools.\n" "Modify parameters." @@ -16243,7 +17160,7 @@ msgstr "" "Выберите инструменты.\n" "Изменить параметры." -#: flatcamTools/ToolSolderPaste.py:279 +#: flatcamTools/ToolSolderPaste.py:281 msgid "" "Feedrate (speed) while moving up vertically\n" " to Dispense position (on Z plane)." @@ -16251,7 +17168,7 @@ msgstr "" "Скорость подачи (скорость) при вертикальном движении\n" "  Дозировать положение (на плоскости Z)." -#: flatcamTools/ToolSolderPaste.py:349 +#: flatcamTools/ToolSolderPaste.py:351 msgid "" "Generate GCode for Solder Paste dispensing\n" "on PCB pads." @@ -16259,11 +17176,11 @@ msgstr "" "Создаёт GCode для дозирования паяльной пасты\n" "на печатной плате." -#: flatcamTools/ToolSolderPaste.py:370 +#: flatcamTools/ToolSolderPaste.py:372 msgid "STEP 2" msgstr "ШАГ 2" -#: flatcamTools/ToolSolderPaste.py:372 +#: flatcamTools/ToolSolderPaste.py:374 msgid "" "Second step is to create a solder paste dispensing\n" "geometry out of an Solder Paste Mask Gerber file." @@ -16271,11 +17188,11 @@ msgstr "" "Второй шаг заключается в создании дозирования паяльной пасты.\n" "геометрия из файла паяльной маски Gerber." -#: flatcamTools/ToolSolderPaste.py:388 +#: flatcamTools/ToolSolderPaste.py:391 msgid "Geo Result" msgstr "Результирующая Geo" -#: flatcamTools/ToolSolderPaste.py:390 +#: flatcamTools/ToolSolderPaste.py:393 msgid "" "Geometry Solder Paste object.\n" "The name of the object has to end in:\n" @@ -16285,11 +17202,11 @@ msgstr "" "Название объекта должно заканчиваться на:\n" "«_solderpaste» в качестве защиты." -#: flatcamTools/ToolSolderPaste.py:399 +#: flatcamTools/ToolSolderPaste.py:402 msgid "STEP 3" msgstr "ШАГ 3" -#: flatcamTools/ToolSolderPaste.py:401 +#: flatcamTools/ToolSolderPaste.py:404 msgid "" "Third step is to select a solder paste dispensing geometry,\n" "and then generate a CNCJob object.\n" @@ -16305,11 +17222,11 @@ msgstr "" "сначала вам нужно сгенерировать геометрию с этими новыми параметрами,\n" "и только после этого вы можете сгенерировать обновленный CNCJob." -#: flatcamTools/ToolSolderPaste.py:421 +#: flatcamTools/ToolSolderPaste.py:425 msgid "CNC Result" msgstr "Результирующий CNC" -#: flatcamTools/ToolSolderPaste.py:423 +#: flatcamTools/ToolSolderPaste.py:427 msgid "" "CNCJob Solder paste object.\n" "In order to enable the GCode save section,\n" @@ -16321,11 +17238,11 @@ msgstr "" "имя объекта должно заканчиваться на:\n" "«_solderpaste» в качестве защиты." -#: flatcamTools/ToolSolderPaste.py:433 +#: flatcamTools/ToolSolderPaste.py:437 msgid "View GCode" msgstr "Посмотреть GCode" -#: flatcamTools/ToolSolderPaste.py:435 +#: flatcamTools/ToolSolderPaste.py:439 msgid "" "View the generated GCode for Solder Paste dispensing\n" "on PCB pads." @@ -16333,11 +17250,11 @@ msgstr "" "Просмотр сгенерированного GCode для подачи паяльной пасты\n" "на печатную платау." -#: flatcamTools/ToolSolderPaste.py:445 +#: flatcamTools/ToolSolderPaste.py:449 msgid "Save GCode" msgstr "Сохранить GCode" -#: flatcamTools/ToolSolderPaste.py:447 +#: flatcamTools/ToolSolderPaste.py:451 msgid "" "Save the generated GCode for Solder Paste dispensing\n" "on PCB pads, to a file." @@ -16345,11 +17262,11 @@ msgstr "" "Сохранение сгенерированного GCode для подачи паяльной пасты\n" "на печатную платау, в файл." -#: flatcamTools/ToolSolderPaste.py:457 +#: flatcamTools/ToolSolderPaste.py:461 msgid "STEP 4" msgstr "ШАГ 4" -#: flatcamTools/ToolSolderPaste.py:459 +#: flatcamTools/ToolSolderPaste.py:463 msgid "" "Fourth step (and last) is to select a CNCJob made from \n" "a solder paste dispensing geometry, and then view/save it's GCode." @@ -16357,92 +17274,87 @@ msgstr "" "Четвертый шаг (и последний) - выбор CNCJob, сделанного из \n" "геометрии распределения паяльной пасты, а затем просмотр/сохранение ее GCode." -#: flatcamTools/ToolSolderPaste.py:917 -msgid "Adding Nozzle tool cancelled. Tool already in Tool Table." -msgstr "" -"Добавление инструмента Сопло отменено. Инструмент уже в таблице инструментов." - -#: flatcamTools/ToolSolderPaste.py:923 +#: flatcamTools/ToolSolderPaste.py:922 msgid "New Nozzle tool added to Tool Table." msgstr "Новое сопло добавлено в таблицу инструментов." -#: flatcamTools/ToolSolderPaste.py:966 +#: flatcamTools/ToolSolderPaste.py:965 msgid "Nozzle tool from Tool Table was edited." msgstr "Сопло было изменено в таблице инструментов." -#: flatcamTools/ToolSolderPaste.py:1024 +#: flatcamTools/ToolSolderPaste.py:1023 msgid "Delete failed. Select a Nozzle tool to delete." msgstr "Удалить не удалось. Выберите инструмент Сопла для удаления." -#: flatcamTools/ToolSolderPaste.py:1030 +#: flatcamTools/ToolSolderPaste.py:1029 msgid "Nozzle tool(s) deleted from Tool Table." msgstr "Сопло удалено из таблицы инструментов." -#: flatcamTools/ToolSolderPaste.py:1086 +#: flatcamTools/ToolSolderPaste.py:1085 msgid "No SolderPaste mask Gerber object loaded." msgstr "Нет загруженного Gerber объекта маски паяльной пасты." -#: flatcamTools/ToolSolderPaste.py:1104 +#: flatcamTools/ToolSolderPaste.py:1103 msgid "Creating Solder Paste dispensing geometry." msgstr "Создание геометрии дозирования паяльной пасты." -#: flatcamTools/ToolSolderPaste.py:1117 +#: flatcamTools/ToolSolderPaste.py:1116 msgid "No Nozzle tools in the tool table." msgstr "Нет инструментов сопла в таблице инструментов." -#: flatcamTools/ToolSolderPaste.py:1244 +#: flatcamTools/ToolSolderPaste.py:1242 msgid "Cancelled. Empty file, it has no geometry..." msgstr "Отмена. Пустой файл, он не имеет геометрии..." -#: flatcamTools/ToolSolderPaste.py:1248 +#: flatcamTools/ToolSolderPaste.py:1245 msgid "Solder Paste geometry generated successfully" msgstr "Геометрия дозатора паяльной пасты успешно создана" -#: flatcamTools/ToolSolderPaste.py:1255 +#: flatcamTools/ToolSolderPaste.py:1252 msgid "Some or all pads have no solder due of inadequate nozzle diameters..." msgstr "" "Некоторые или все площадки не имеют припоя из-за недостаточного диаметра " "сопла ..." -#: flatcamTools/ToolSolderPaste.py:1269 +#: flatcamTools/ToolSolderPaste.py:1266 msgid "Generating Solder Paste dispensing geometry..." msgstr "Генерация геометрии дозирования паяльной пасты ..." -#: flatcamTools/ToolSolderPaste.py:1289 +#: flatcamTools/ToolSolderPaste.py:1286 msgid "There is no Geometry object available." msgstr "Объект Geometry недоступен." -#: flatcamTools/ToolSolderPaste.py:1294 +#: flatcamTools/ToolSolderPaste.py:1291 msgid "This Geometry can't be processed. NOT a solder_paste_tool geometry." msgstr "" "Эта геометрия не может быть обработана. НЕТ геометрии инструмента паяльная " "пасты." -#: flatcamTools/ToolSolderPaste.py:1401 +#: flatcamTools/ToolSolderPaste.py:1392 msgid "ToolSolderPaste CNCjob created" msgstr "CNCjob дозатора паяльной пасты создан" -#: flatcamTools/ToolSolderPaste.py:1422 +#: flatcamTools/ToolSolderPaste.py:1411 msgid "SP GCode Editor" msgstr "Редактор кода паяльной пасты" -#: flatcamTools/ToolSolderPaste.py:1434 flatcamTools/ToolSolderPaste.py:1439 -#: flatcamTools/ToolSolderPaste.py:1494 +#: flatcamTools/ToolSolderPaste.py:1423 flatcamTools/ToolSolderPaste.py:1428 +#: flatcamTools/ToolSolderPaste.py:1483 msgid "" "This CNCJob object can't be processed. NOT a solder_paste_tool CNCJob object." msgstr "" "Этот объект CNCJob не может быть обработан. Нет CNCJob объекта паяльной " "пасты." -#: flatcamTools/ToolSolderPaste.py:1464 +#: flatcamTools/ToolSolderPaste.py:1453 msgid "No Gcode in the object" msgstr "Нет Gcode в этом объекте" -#: flatcamTools/ToolSolderPaste.py:1504 +#: flatcamTools/ToolSolderPaste.py:1493 msgid "Export GCode ..." msgstr "Экспорт GCode ..." -#: flatcamTools/ToolSolderPaste.py:1552 +#: flatcamTools/ToolSolderPaste.py:1541 msgid "Solder paste dispenser GCode file saved to" msgstr "Файл GCode дозатора паяльной пасты сохранён в" @@ -16450,7 +17362,7 @@ msgstr "Файл GCode дозатора паяльной пасты сохран msgid "Gerber Objects" msgstr "Gerber Объекты" -#: flatcamTools/ToolSub.py:76 +#: flatcamTools/ToolSub.py:78 msgid "" "Gerber object from which to subtract\n" "the subtractor Gerber object." @@ -16458,11 +17370,11 @@ msgstr "" "Объект Gerber, из которого вычитается\n" "Gerber объект вычитателя." -#: flatcamTools/ToolSub.py:88 flatcamTools/ToolSub.py:140 +#: flatcamTools/ToolSub.py:91 flatcamTools/ToolSub.py:146 msgid "Subtractor" msgstr "Вычитатель" -#: flatcamTools/ToolSub.py:90 +#: flatcamTools/ToolSub.py:93 msgid "" "Gerber object that will be subtracted\n" "from the target Gerber object." @@ -16470,11 +17382,11 @@ msgstr "" "Объект Gerber, который будет вычтен\n" "из целевого Gerber объекта." -#: flatcamTools/ToolSub.py:97 +#: flatcamTools/ToolSub.py:100 msgid "Substract Gerber" msgstr "Вычесть Gerber" -#: flatcamTools/ToolSub.py:99 +#: flatcamTools/ToolSub.py:102 msgid "" "Will remove the area occupied by the subtractor\n" "Gerber from the Target Gerber.\n" @@ -16486,11 +17398,11 @@ msgstr "" "Может использоваться для удаления перекрывающей шелкографии\n" "над паяльной маской." -#: flatcamTools/ToolSub.py:117 +#: flatcamTools/ToolSub.py:120 msgid "Geometry Objects" msgstr "Геометрия Объекты" -#: flatcamTools/ToolSub.py:128 +#: flatcamTools/ToolSub.py:133 msgid "" "Geometry object from which to subtract\n" "the subtractor Geometry object." @@ -16498,7 +17410,7 @@ msgstr "" "Объект геометрии, из которого будет вычитаться\n" "Geometry объект вычитателя." -#: flatcamTools/ToolSub.py:142 +#: flatcamTools/ToolSub.py:148 msgid "" "Geometry object that will be subtracted\n" "from the target Geometry object." @@ -16506,16 +17418,16 @@ msgstr "" "Объект Geometry, который будет вычтен\n" "из целевого объекта Geometry." -#: flatcamTools/ToolSub.py:150 +#: flatcamTools/ToolSub.py:156 msgid "" "Checking this will close the paths cut by the Geometry subtractor object." msgstr "Проверка этого закроет пути, прорезанные объектом субметора Геометрия." -#: flatcamTools/ToolSub.py:153 +#: flatcamTools/ToolSub.py:159 msgid "Subtract Geometry" msgstr "Вычесть Geometry" -#: flatcamTools/ToolSub.py:155 +#: flatcamTools/ToolSub.py:161 msgid "" "Will remove the area occupied by the subtractor\n" "Geometry from the Target Geometry." @@ -16523,56 +17435,56 @@ msgstr "" "Удалит область, занятую вычитателем\n" "из целевой геометрии." -#: flatcamTools/ToolSub.py:262 +#: flatcamTools/ToolSub.py:263 msgid "Sub Tool" msgstr "Вычитатель" -#: flatcamTools/ToolSub.py:278 flatcamTools/ToolSub.py:483 +#: flatcamTools/ToolSub.py:284 flatcamTools/ToolSub.py:489 msgid "No Target object loaded." msgstr "Нет загруженного целевого объекта." -#: flatcamTools/ToolSub.py:281 +#: flatcamTools/ToolSub.py:287 msgid "Loading geometry from Gerber objects." msgstr "Загрузка геометрии из Gerber объектов." -#: flatcamTools/ToolSub.py:293 flatcamTools/ToolSub.py:498 +#: flatcamTools/ToolSub.py:299 flatcamTools/ToolSub.py:504 msgid "No Subtractor object loaded." msgstr "Нет загруженного объекта Вычитателя." -#: flatcamTools/ToolSub.py:325 +#: flatcamTools/ToolSub.py:331 msgid "Processing geometry from Subtractor Gerber object." msgstr "Обработка геометрии Gerber объекта Вычитателя." -#: flatcamTools/ToolSub.py:346 +#: flatcamTools/ToolSub.py:352 msgid "Parsing geometry for aperture" msgstr "Разбор геометрии для отверстия" -#: flatcamTools/ToolSub.py:407 +#: flatcamTools/ToolSub.py:413 msgid "Finished parsing geometry for aperture" msgstr "Завершение разбора геометрии для отверстия" -#: flatcamTools/ToolSub.py:452 flatcamTools/ToolSub.py:655 +#: flatcamTools/ToolSub.py:458 flatcamTools/ToolSub.py:661 msgid "Generating new object ..." msgstr "Генерация нового объекта ..." -#: flatcamTools/ToolSub.py:456 flatcamTools/ToolSub.py:659 -#: flatcamTools/ToolSub.py:740 +#: flatcamTools/ToolSub.py:462 flatcamTools/ToolSub.py:665 +#: flatcamTools/ToolSub.py:746 msgid "Generating new object failed." msgstr "Генерация нового объекта не удалась." -#: flatcamTools/ToolSub.py:461 flatcamTools/ToolSub.py:665 +#: flatcamTools/ToolSub.py:467 flatcamTools/ToolSub.py:671 msgid "Created" msgstr "Создан" -#: flatcamTools/ToolSub.py:512 +#: flatcamTools/ToolSub.py:518 msgid "Currently, the Subtractor geometry cannot be of type Multigeo." msgstr "В настоящее время Substractor geometry не может иметь тип Multigeo." -#: flatcamTools/ToolSub.py:557 +#: flatcamTools/ToolSub.py:563 msgid "Parsing solid_geometry ..." msgstr "Разбор solid_geometry ..." -#: flatcamTools/ToolSub.py:559 +#: flatcamTools/ToolSub.py:565 msgid "Parsing solid_geometry for tool" msgstr "Разбор solid_geometry для инструмента" @@ -16580,7 +17492,7 @@ msgstr "Разбор solid_geometry для инструмента" msgid "Object Transform" msgstr "Трансформация" -#: flatcamTools/ToolTransform.py:82 +#: flatcamTools/ToolTransform.py:79 msgid "" "Rotate the selected object(s).\n" "The point of reference is the middle of\n" @@ -16590,7 +17502,7 @@ msgstr "" "Точкой отсчета является середина\n" "ограничительная рамка для всех выбранных объектов." -#: flatcamTools/ToolTransform.py:100 flatcamTools/ToolTransform.py:122 +#: flatcamTools/ToolTransform.py:100 flatcamTools/ToolTransform.py:121 msgid "" "Angle for Skew action, in degrees.\n" "Float number between -360 and 360." @@ -16598,7 +17510,7 @@ msgstr "" "Угол наклона в градусах.\n" "Число с плавающей запятой между -360 и 360." -#: flatcamTools/ToolTransform.py:111 flatcamTools/ToolTransform.py:133 +#: flatcamTools/ToolTransform.py:110 flatcamTools/ToolTransform.py:131 msgid "" "Skew/shear the selected object(s).\n" "The point of reference is the middle of\n" @@ -16608,7 +17520,7 @@ msgstr "" "Точка отсчета - середина\n" "ограничительной рамки для всех выбранных объектов." -#: flatcamTools/ToolTransform.py:160 flatcamTools/ToolTransform.py:181 +#: flatcamTools/ToolTransform.py:160 flatcamTools/ToolTransform.py:180 msgid "" "Scale the selected object(s).\n" "The point of reference depends on \n" @@ -16618,7 +17530,7 @@ msgstr "" "Точка отсчета зависит от\n" "состояние флажка Scale Reference." -#: flatcamTools/ToolTransform.py:229 flatcamTools/ToolTransform.py:250 +#: flatcamTools/ToolTransform.py:229 flatcamTools/ToolTransform.py:249 msgid "" "Offset the selected object(s).\n" "The point of reference is the middle of\n" @@ -16628,190 +17540,258 @@ msgstr "" "Точка отсчета - середина\n" "ограничительной рамки для всех выбранных объектов.\n" -#: flatcamTools/ToolTransform.py:268 flatcamTools/ToolTransform.py:274 +#: flatcamTools/ToolTransform.py:269 flatcamTools/ToolTransform.py:274 msgid "Flip the selected object(s) over the X axis." msgstr "Отражает выбранные фигуры по оси X." -#: flatcamTools/ToolTransform.py:299 +#: flatcamTools/ToolTransform.py:298 msgid "Ref. Point" msgstr "Точка зеркалирования" -#: flatcamTools/ToolTransform.py:351 +#: flatcamTools/ToolTransform.py:349 +#, fuzzy +#| msgid "" +#| "Create the buffer effect on each geometry,\n" +#| "element from the selected object." msgid "" "Create the buffer effect on each geometry,\n" -"element from the selected object." +"element from the selected object, using the distance." msgstr "" "Создаёт буферный эффект для каждой геометрии,\n" "элемента из выбранного объекта." -#: flatcamTools/ToolTransform.py:498 +#: flatcamTools/ToolTransform.py:375 +#, fuzzy +#| msgid "" +#| "Create the buffer effect on each geometry,\n" +#| "element from the selected object." +msgid "" +"Create the buffer effect on each geometry,\n" +"element from the selected object, using the factor." +msgstr "" +"Создаёт буферный эффект для каждой геометрии,\n" +"элемента из выбранного объекта." + +#: flatcamTools/ToolTransform.py:480 +#, fuzzy +#| msgid "Buffer" +msgid "Buffer D" +msgstr "Буфер" + +#: flatcamTools/ToolTransform.py:481 +#, fuzzy +#| msgid "Buffer" +msgid "Buffer F" +msgstr "Буфер" + +#: flatcamTools/ToolTransform.py:558 msgid "Rotate transformation can not be done for a value of 0." msgstr "Трансформация поворота не может быть выполнена для значения 0." -#: flatcamTools/ToolTransform.py:537 flatcamTools/ToolTransform.py:560 +#: flatcamTools/ToolTransform.py:597 flatcamTools/ToolTransform.py:620 msgid "Scale transformation can not be done for a factor of 0 or 1." msgstr "" "Преобразование масштаба не может быть выполнено с коэффициентом 0 или 1." -#: flatcamTools/ToolTransform.py:575 flatcamTools/ToolTransform.py:585 +#: flatcamTools/ToolTransform.py:635 flatcamTools/ToolTransform.py:645 msgid "Offset transformation can not be done for a value of 0." msgstr "Трансформация смещения не может быть выполнена для значения 0." -#: flatcamTools/ToolTransform.py:608 +#: flatcamTools/ToolTransform.py:677 msgid "No object selected. Please Select an object to rotate!" msgstr "Объект не выбран. Пожалуйста, выберите объект для поворота!" -#: flatcamTools/ToolTransform.py:636 +#: flatcamTools/ToolTransform.py:703 msgid "CNCJob objects can't be rotated." msgstr "Объекты CNCJob не могут вращаться." -#: flatcamTools/ToolTransform.py:644 +#: flatcamTools/ToolTransform.py:711 msgid "Rotate done" msgstr "Поворот выполнен" -#: flatcamTools/ToolTransform.py:649 flatcamTools/ToolTransform.py:724 -#: flatcamTools/ToolTransform.py:779 flatcamTools/ToolTransform.py:838 -#: flatcamTools/ToolTransform.py:874 flatcamTools/ToolTransform.py:910 +#: flatcamTools/ToolTransform.py:714 flatcamTools/ToolTransform.py:784 +#: flatcamTools/ToolTransform.py:834 flatcamTools/ToolTransform.py:890 +#: flatcamTools/ToolTransform.py:922 flatcamTools/ToolTransform.py:958 msgid "Due of" msgstr "Из-за" -#: flatcamTools/ToolTransform.py:649 flatcamTools/ToolTransform.py:724 -#: flatcamTools/ToolTransform.py:779 flatcamTools/ToolTransform.py:838 -#: flatcamTools/ToolTransform.py:874 flatcamTools/ToolTransform.py:910 +#: flatcamTools/ToolTransform.py:714 flatcamTools/ToolTransform.py:784 +#: flatcamTools/ToolTransform.py:834 flatcamTools/ToolTransform.py:890 +#: flatcamTools/ToolTransform.py:922 flatcamTools/ToolTransform.py:958 msgid "action was not executed." msgstr "действие не было выполнено." -#: flatcamTools/ToolTransform.py:661 +#: flatcamTools/ToolTransform.py:726 msgid "No object selected. Please Select an object to flip" msgstr "Объект не выбран. Пожалуйста, выберите объект для переворота" -#: flatcamTools/ToolTransform.py:696 +#: flatcamTools/ToolTransform.py:759 msgid "CNCJob objects can't be mirrored/flipped." msgstr "Объекты CNCJob не могут быть зеркалировны/отражены." -#: flatcamTools/ToolTransform.py:734 +#: flatcamTools/ToolTransform.py:794 msgid "Skew transformation can not be done for 0, 90 and 180 degrees." msgstr "Трансформация наклона не может быть сделана для 0, 90 и 180 градусов." -#: flatcamTools/ToolTransform.py:739 +#: flatcamTools/ToolTransform.py:799 msgid "No object selected. Please Select an object to shear/skew!" msgstr "Объект не выбран. Пожалуйста, выберите объект для сдвига / перекоса!" -#: flatcamTools/ToolTransform.py:761 +#: flatcamTools/ToolTransform.py:819 msgid "CNCJob objects can't be skewed." msgstr "CNCJob объекты не могут быть наклонены." -#: flatcamTools/ToolTransform.py:774 +#: flatcamTools/ToolTransform.py:831 msgid "Skew on the" msgstr "Наклон на" -#: flatcamTools/ToolTransform.py:774 flatcamTools/ToolTransform.py:834 -#: flatcamTools/ToolTransform.py:869 +#: flatcamTools/ToolTransform.py:831 flatcamTools/ToolTransform.py:887 +#: flatcamTools/ToolTransform.py:919 msgid "axis done" msgstr "оси выполнено" -#: flatcamTools/ToolTransform.py:791 +#: flatcamTools/ToolTransform.py:846 msgid "No object selected. Please Select an object to scale!" msgstr "Объект не выбран. Пожалуйста, выберите объект для масштабирования!" -#: flatcamTools/ToolTransform.py:824 +#: flatcamTools/ToolTransform.py:877 msgid "CNCJob objects can't be scaled." msgstr "CNCJob объекты не могут быть масштабированы." -#: flatcamTools/ToolTransform.py:834 +#: flatcamTools/ToolTransform.py:887 msgid "Scale on the" msgstr "Масштабирование на" -#: flatcamTools/ToolTransform.py:846 +#: flatcamTools/ToolTransform.py:898 msgid "No object selected. Please Select an object to offset!" msgstr "Объект не выбран. Пожалуйста, выберите объект для смещения!" -#: flatcamTools/ToolTransform.py:855 +#: flatcamTools/ToolTransform.py:905 msgid "CNCJob objects can't be offset." msgstr "Объекты CNCJob не могут быть смещены." -#: flatcamTools/ToolTransform.py:869 +#: flatcamTools/ToolTransform.py:919 msgid "Offset on the" msgstr "Смещение на" -#: flatcamTools/ToolTransform.py:881 +#: flatcamTools/ToolTransform.py:929 msgid "No object selected. Please Select an object to buffer!" msgstr "Объект не выбран. Пожалуйста, выберите объект для буферизации!" -#: flatcamTools/ToolTransform.py:884 +#: flatcamTools/ToolTransform.py:932 msgid "Applying Buffer" msgstr "Применение буфера" -#: flatcamTools/ToolTransform.py:888 +#: flatcamTools/ToolTransform.py:936 msgid "CNCJob objects can't be buffered." msgstr "Объекты CNCJob не могут быть буферизированы." -#: flatcamTools/ToolTransform.py:905 +#: flatcamTools/ToolTransform.py:953 msgid "Buffer done" msgstr "Буфер готов" -#: tclCommands/TclCommandBbox.py:74 tclCommands/TclCommandNregions.py:73 +#: tclCommands/TclCommandBbox.py:76 tclCommands/TclCommandNregions.py:75 msgid "Expected FlatCAMGerber or FlatCAMGeometry, got" msgstr "Ожидался FlatCAMGerber или FlatCAMGeometry, получено" -#: tclCommands/TclCommandBounds.py:64 tclCommands/TclCommandBounds.py:68 +#: tclCommands/TclCommandBounds.py:67 tclCommands/TclCommandBounds.py:71 msgid "Expected a list of objects names separated by comma. Got" msgstr "Ожидался список имен объектов, разделенных запятой. Получено" -#: tclCommands/TclCommandBounds.py:79 +#: tclCommands/TclCommandBounds.py:82 msgid "TclCommand Bounds done." msgstr "Tcl-команда \"Границы\" выполнена." -#: tclCommands/TclCommandCopperClear.py:242 tclCommands/TclCommandPaint.py:240 -msgid "Expected -box ." -msgstr "Ожидалось -box <значение>." - -#: tclCommands/TclCommandCopperClear.py:251 tclCommands/TclCommandPaint.py:249 -#: tclCommands/TclCommandScale.py:75 +#: tclCommands/TclCommandCopperClear.py:276 tclCommands/TclCommandPaint.py:272 +#: tclCommands/TclCommandScale.py:81 msgid "Could not retrieve box object" msgstr "Не удалось получить объект box" -#: tclCommands/TclCommandCopperClear.py:273 -msgid "" -"None of the following args: 'ref', 'all' were found or none was set to 1.\n" -"Copper clearing failed." -msgstr "" -"Ни один из следующих аргументов: 'ref', 'all' не был найден или ни один не " -"был установлен в 1.\n" -"Очистка от меди не удалась." +#: tclCommands/TclCommandCopperClear.py:299 +#, fuzzy +#| msgid "Expected -box ." +msgid "Expected either -box or -all." +msgstr "Ожидалось -box <значение>." -#: tclCommands/TclCommandPaint.py:217 +#: tclCommands/TclCommandGeoCutout.py:148 +msgid "" +"The name of the object for which cutout is done is missing. Add it and retry." +msgstr "" +"Имя объекта, для которого выполняется вырезка, отсутствует. Добавьте его и " +"повторите попытку." + +#: tclCommands/TclCommandGeoCutout.py:190 +msgid "Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 or 8." +msgstr "" +"Значение перемычки может быть только одним из: «lr», «tb», «2lr», «2tb», 4 " +"или 8." + +#: tclCommands/TclCommandGeoCutout.py:302 +#: tclCommands/TclCommandGeoCutout.py:360 +#, fuzzy +#| msgid "Any form CutOut operation finished." +msgid "Any-form Cutout operation finished." +msgstr "Операция обрезки закончена." + +#: tclCommands/TclCommandGeoCutout.py:366 +#, fuzzy +#| msgid "The reference object type is not supported." +msgid "Cancelled. Object type is not supported." +msgstr "Тип указанного объекта не поддерживается." + +#: tclCommands/TclCommandHelp.py:74 +msgid "Available commands:" +msgstr "Доступные команды:" + +#: tclCommands/TclCommandHelp.py:112 +msgid "Type help for usage." +msgstr "Для дополнительной информации ведите help <имя_команды> ." + +#: tclCommands/TclCommandHelp.py:112 +msgid "Example: help open_gerber" +msgstr "" + +#: tclCommands/TclCommandPaint.py:244 msgid "Expected -x and -y ." msgstr "Ожидались -x <значение> и -y <значение>." -#: tclCommands/TclCommandPaint.py:268 +#: tclCommands/TclCommandPaint.py:265 +msgid "Expected -box ." +msgstr "Ожидалось -box <значение>." + +#: tclCommands/TclCommandPaint.py:286 msgid "" -"There was none of the following args: 'ref', 'single', 'all'.\n" +"None of the following args: 'box', 'single', 'all' were used.\n" "Paint failed." msgstr "" -"Не было ни одного из следующих аргументов: 'ref', 'single', 'all'. \n" +"Ни один из следующих аргументов: 'box', 'single', 'all' не использовался.\n" "Окраска не удалась." -#: tclCommands/TclCommandScale.py:95 -msgid "Expected -origin or -origin or -origin
." +#: tclCommands/TclCommandScale.py:106 +#, fuzzy +#| msgid "" +#| "Expected -origin or -origin or -origin
." +msgid "" +"Expected -origin or -origin or -origin
or - " +"origin 3.0,4.2." msgstr "" "Ожидается -origin или -origin или -origin
." -#: tclCommands/TclCommandScale.py:104 +#: tclCommands/TclCommandScale.py:119 msgid "Expected -x -y ." msgstr "Ожидались -x <значение> -y <значение>." -#: tclCommands/TclCommandSetOrigin.py:91 +#: tclCommands/TclCommandSetOrigin.py:95 msgid "Expected a pair of (x, y) coordinates. Got" msgstr "Ожидается пара (x, y) координат. Получил" -#: tclCommands/TclCommandSetOrigin.py:98 +#: tclCommands/TclCommandSetOrigin.py:102 msgid "Origin set by offsetting all loaded objects with " msgstr "" "Начало координат устанавливается путем смещения всех загруженных объектов с " "помощью " -#: tclCommands/TclCommandSubtractRectangle.py:58 +#: tclCommands/TclCommandSubtractRectangle.py:62 msgid "No Geometry name in args. Provide a name and try again." msgstr "Нет имени геометрии в аргументах. Укажите имя и попробуйте снова." @@ -16868,6 +17848,363 @@ msgstr "Нет имени геометрии в аргументах. Укажи #~ msgid "tool_tab" #~ msgstr "tool_tab" +#~ msgid "Executing Tcl Script ..." +#~ msgstr "Выполнение Tcl-сценария ..." + +#~ msgid "Open cancelled." +#~ msgstr "Открытие отменено." + +#~ msgid "Preferences default restore was cancelled." +#~ msgstr "Восстановление настроек по умолчанию отменено." + +#~ msgid "FlatCAM preferences import cancelled." +#~ msgstr "Импорт настроек FlatCAM отменен." + +#~ msgid "FlatCAM preferences export cancelled." +#~ msgstr "Экспорт настроек FlatCAM отменён." + +#~ msgid "Multigeo. Geometry merging finished" +#~ msgstr "Слияние Multigeo. Geometry завершено" + +#~ msgid "Units conversion cancelled." +#~ msgstr "Изменение единиц отменено." + +#~ msgid "Open Gerber cancelled." +#~ msgstr "Открытие Gerber отменено." + +#~ msgid " Open Excellon cancelled." +#~ msgstr " Открытие Excellon отменено." + +#~ msgid "Open G-Code cancelled." +#~ msgstr "Открытие G-Code отменено." + +#~ msgid "Open Project cancelled." +#~ msgstr "Открытие проекта отменено." + +#~ msgid "Open HPGL2 file cancelled." +#~ msgstr "Открытие HPGL2 отменено." + +#~ msgid "Open Config cancelled." +#~ msgstr "Открытие конфигурации отменено." + +#~ msgid " Export SVG cancelled." +#~ msgstr " Экспорт SVG отменён." + +#~ msgid "Export PNG cancelled." +#~ msgstr "Экспорт PNG отменён." + +#~ msgid "No object selected. Please select an Gerber object to export." +#~ msgstr "" +#~ "Нет выбранных объектов. Пожалуйста, выберите Gerber объект для экспорта." + +#~ msgid "Save Gerber source file cancelled." +#~ msgstr "Сохранение исходного кода файла Gerber отменено." + +#~ msgid "No object selected. Please select an Script object to export." +#~ msgstr "" +#~ "Нет выбранных объектов. Пожалуйста, выберите объект сценария для экспорта." + +#~ msgid "Save Script source file cancelled." +#~ msgstr "Сохранение исходного кода файла сценария отменено." + +#~ msgid "No object selected. Please select an Document object to export." +#~ msgstr "" +#~ "Объект не выбран. Пожалуйста, выберите объект Document для экспорта." + +#~ msgid "Save Document source file cancelled." +#~ msgstr "Сохранение исходного кода файла Document отменено." + +#~ msgid "No object selected. Please select an Excellon object to export." +#~ msgstr "" +#~ "Объект не выбран. Пожалуйста, выберите Excellon объект для экспорта." + +#~ msgid "Saving Excellon source file cancelled." +#~ msgstr "Сохранение исходного кода файла Excellon отменено." + +#~ msgid "No object selected. Please Select an Excellon object to export." +#~ msgstr "" +#~ "Объект не выбран. Пожалуйста, выберите отличный объект для экспорта." + +#~ msgid "Export Excellon cancelled." +#~ msgstr "Экспорт Excellon отменен." + +#~ msgid "No object selected. Please Select an Gerber object to export." +#~ msgstr "" +#~ "Нет выбранных объектов. Пожалуйста, выберите Gerber объект для экспорта." + +#~ msgid "Export Gerber cancelled." +#~ msgstr "Экспорт Gerber отменен." + +#~ msgid "Export DXF cancelled." +#~ msgstr "Экспорт DXF отменен." + +#~ msgid "Open SVG cancelled." +#~ msgstr "Открытие SVG отменено." + +#~ msgid "Open DXF cancelled." +#~ msgstr "Открытие DXF отменено." + +#~ msgid "Open TCL script cancelled." +#~ msgstr "Открытие сценария отменено." + +#~ msgid "Run TCL script cancelled." +#~ msgstr "Запуск сценария отменен." + +#~ msgid "Save Project cancelled." +#~ msgstr "Сохранение проекта отменено." + +#~ msgid "Save Object PDF cancelled." +#~ msgstr "Сохранить объект PDF отменен." + +#~ msgid "Shows list of commands." +#~ msgstr "Показывает список команд." + +#~ msgid "FlatCAM bookmarks export cancelled." +#~ msgstr "Экспорт закладок FlatCAM отменён." + +#~ msgid "FlatCAM bookmarks import cancelled." +#~ msgstr "Импорт закладок FlatCAM отменен." + +#~ msgid "FlatCAM Tools DB export cancelled." +#~ msgstr "Экспорт FlatCAM БД отменён." + +#~ msgid "FlatCAM Tools DB import cancelled." +#~ msgstr "Импорт FlatCAM БД отменен." + +#~ msgid "" +#~ "Wrong value format for self.defaults[\"z_pdepth\"] or self." +#~ "options[\"z_pdepth\"]" +#~ msgstr "" +#~ "Неправильный формат значения для self.defaults[\"z_pdepth\"] или self." +#~ "options[\"z_pdepth\"]" + +#~ msgid "" +#~ "Wrong value format for self.defaults[\"feedrate_probe\"] or self." +#~ "options[\"feedrate_probe\"]" +#~ msgstr "" +#~ "Неправильный формат значения для self.defaults[\"feedrate_probe\"] или " +#~ "self.options[\"feedrate_probe\"]" + +#~ msgid "Starting G-Code..." +#~ msgstr "Открытие G-Code..." + +#~ msgid "" +#~ "Algorithm to paint the polygon:
Standard: Fixed step inwards." +#~ "
Seed-based: Outwards from seed." +#~ msgstr "" +#~ "Алгоритм отрисовки полигона:
Стандартный: Фиксированный шаг " +#~ "внутрь.
По кругу: От центра наружу." + +#~ msgid "Seed-based" +#~ msgstr "От центра по кругу" + +#~ msgid "Straight lines" +#~ msgstr "Прямая линия" + +#~ msgid "Paint cancelled. No shape selected." +#~ msgstr "Рисование отменено. Фугура не выбрана." + +#~ msgid "Transformation cancelled. No shape selected." +#~ msgstr "Трансформация отменена. Фигура не выбрана." + +#~ msgid "Buffer cancelled. No shape selected." +#~ msgstr "Создание буфера отменено. Фигура не выбрана." + +#~ msgid "Export Code cancelled." +#~ msgstr "Экспорт Code отменён." + +#~ msgid "&Save Project ..." +#~ msgstr "&Сохранить проект ..." + +#~ msgid "Save Project C&opy ..." +#~ msgstr "Сохранить к&опию проекта..." + +#~ msgid "&Toggle Grid Lines\tALT+G" +#~ msgstr "&Сетка вкл/откл\tALT+G" + +#~ msgid "Change the size of the object." +#~ msgstr "Изменение размера объекта." + +#~ msgid "Change the position of this object." +#~ msgstr "Смена положения этого объекта." + +#~ msgid "Vector" +#~ msgstr "Вектор" + +#~ msgid "" +#~ "Create a CNC Job object\n" +#~ "for this drill object." +#~ msgstr "Создание G-Code для объекта сверловки." + +#~ msgid "" +#~ "Choose what to use for GCode generation:\n" +#~ "'Drills', 'Slots' or 'Both'.\n" +#~ "When choosing 'Slots' or 'Both', slots will be\n" +#~ "converted to a series of drills." +#~ msgstr "" +#~ "Выбор, что использовать для генерации GCode:\n" +#~ "\"Сверла\", \"Пазы\" или \"Оба\".\n" +#~ "При выборе \"Пазы\" или \"Оба\", пазы будут\n" +#~ "преобразованы в массив отверстий." + +#~ msgid "Generate the CNC Job." +#~ msgstr "Создание программы для ЧПУ." + +#~ msgid "Add Tool from DataBase" +#~ msgstr "Добавить инструмент из БД" + +#~ msgid "Select a theme for FlatCAM." +#~ msgstr "Выбор темы для FlatCAM." + +#~ msgid "Conv." +#~ msgstr "Обычный" + +#~ msgid "Diameters of the cutting tools, separated by ','" +#~ msgstr "Диаметры режущих инструментов, разделенные знаком ','" + +#~ msgid "Tools dia" +#~ msgstr "Диаметр инструмента" + +#~ msgid "The new tool diameter (cut width) to add in the tool table." +#~ msgstr "" +#~ "Диаметр нового инструмента (ширина разреза) добавлен в таблицу " +#~ "инструментов." + +#~ msgid "" +#~ "Algorithm for non-copper clearing:
Standard: Fixed step inwards." +#~ "
Seed-based: Outwards from seed.
Line-based: Parallel " +#~ "lines." +#~ msgstr "" +#~ "Алгоритм очисти от меди:
Стандартный: Движение фрезы " +#~ "сужающимися контурами, повторяющими контур полигона.
По кругу: " +#~ "Обработка правильными окружностями.
Линейный: Паралельными " +#~ "линиями." + +#~ msgid "Area" +#~ msgstr "Площадь" + +#~ msgid "Ref" +#~ msgstr "Ссылка" + +#~ msgid "" +#~ "- 'Itself' - the non copper clearing extent\n" +#~ "is based on the object that is copper cleared.\n" +#~ " - 'Area Selection' - left mouse click to start selection of the area to " +#~ "be painted.\n" +#~ "Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +#~ "areas.\n" +#~ "- 'Reference Object' - will do non copper clearing within the area\n" +#~ "specified by another object." +#~ msgstr "" +#~ "- 'Как есть' - степень очистки меди\n" +#~ "основан на объекте, который очищается от меди.\n" +#~ " - 'Выбор области' - щелкните левой кнопкой мыши для начала выбора " +#~ "области для рисования.\n" +#~ "Удерживая нажатой клавишу (CTRL или SHIFT), можно добавить несколько " +#~ "областей.\n" +#~ "- 'Референсный объект' - будет выполнять очистку от меди в области\n" +#~ "указанной другим объектом." + +#~ msgid "Sel" +#~ msgstr "Одиночный" + +#~ msgid "Diameters of nozzle tools, separated by ','" +#~ msgstr "Диаметры сопловых инструментов, разделенные ','" + +#~ msgid "Reference Gerber" +#~ msgstr "Референсный Gerber" + +#~ msgid "Reference Excellon" +#~ msgstr "Референсный Excellon" + +#~ msgid "Reference Geometry" +#~ msgstr "Референсный Geometry" + +#~ msgid "Point/Box Reference" +#~ msgstr "Указатель точка/рамка" + +#~ msgid "" +#~ "If 'Point' is selected above it store the coordinates (x, y) through " +#~ "which\n" +#~ "the mirroring axis passes.\n" +#~ "If 'Box' is selected above, select here a FlatCAM object (Gerber, Exc or " +#~ "Geo).\n" +#~ "Through the center of this object pass the mirroring axis selected above." +#~ msgstr "" +#~ "Если над точкой выбрано «Точка», сохраняются координаты (x, y), через " +#~ "которые\n" +#~ "ось зеркального отражения проходит.\n" +#~ "Если 'коробка ' является объектом flatCAM (Gerber, Exc или Geo).\n" +#~ "Через центр зеркальной оси, выбранной выше." + +#~ msgid "Alignment Drill Diameter" +#~ msgstr "Диаметр выравнивающего отверстия" + +#~ msgid "" +#~ "'Point' coordinates missing. Using Origin (0, 0) as mirroring reference." +#~ msgstr "" +#~ "Координаты точки отсутствуют. Используется точка (0, 0) в качестве " +#~ "указателя для зеркалирования." + +#~ msgid "Export positive film cancelled." +#~ msgstr "Экспорт позитива плёнки отменен." + +#~ msgid "Export negative film cancelled." +#~ msgstr "Экспорт негатива плёнки отменен." + +#~ msgid "Move action cancelled." +#~ msgstr "Действие перемещения отменено." + +#~ msgid "Diameter for the new tool." +#~ msgstr "Диаметр нового инструмента." + +#~ msgid "Create Paint Geometry" +#~ msgstr "Создать Paint Geometry" + +#~ msgid "Paint Tool. Reading parameters." +#~ msgstr "Инструмент рисования. Чтение параметров." + +#~ msgid "Paint Tool. Normal painting all task started." +#~ msgstr "Инструмент рисования. Запущены все задания нормальной покраски." + +#~ msgid "Rest machining painting all task started." +#~ msgstr "Запущены все задания окраски с обработкой остаточного припуска." + +#~ msgid "" +#~ "Could not do Paint All. Try a different combination of parameters. Or a " +#~ "different Method of paint" +#~ msgstr "" +#~ "Окраска не выполнена. Попробуйте другую комбинацию параметров. Или другой " +#~ "способ рисования" + +#~ msgid "Rest machining painting area task started." +#~ msgstr "Запущено задание окраски с обработкой остаточного припуска." + +#~ msgid "Paint Tool. Rest machining painting area task started." +#~ msgstr "" +#~ "Инструмент рисования. Запущено задание окраски с обработкой остаточного " +#~ "припуска." + +#~ msgid "Properties Tool was not displayed. No object selected." +#~ msgstr "Инструмент \"Свойства\" не отображается. Объект не выбран." + +#~ msgid " Export PNG cancelled." +#~ msgstr " Экспорт PNG отменён." + +#~ msgid "Adding Nozzle tool cancelled. Tool already in Tool Table." +#~ msgstr "" +#~ "Добавление инструмента Сопло отменено. Инструмент уже в таблице " +#~ "инструментов." + +#~ msgid "" +#~ "None of the following args: 'ref', 'all' were found or none was set to " +#~ "1.\n" +#~ "Copper clearing failed." +#~ msgstr "" +#~ "Ни один из следующих аргументов: 'ref', 'all' не был найден или ни один " +#~ "не был установлен в 1.\n" +#~ "Очистка от меди не удалась." + #~ msgid "PostProcessor" #~ msgstr "Постпроцессор" @@ -16895,9 +18232,6 @@ msgstr "Нет имени геометрии в аргументах. Укажи #~ msgid "Optimization Time" #~ msgstr "Время оптимизации" -#~ msgid "Defaults" -#~ msgstr "Значения по умолчанию" - #~ msgid "Coordinates decimals" #~ msgstr "Координаты десятичные" @@ -16969,9 +18303,6 @@ msgstr "Нет имени геометрии в аргументах. Укажи #~ msgid "Wk. size" #~ msgstr "Размер рабочей области" -#~ msgid "Plot Line" -#~ msgstr "Линия участка" - #~ msgid "Sel. Fill" #~ msgstr "Заполнение выбранного" @@ -17031,9 +18362,6 @@ msgstr "Нет имени геометрии в аргументах. Укажи #~ msgid "G-code does not have a units code: either G20 or G21" #~ msgstr "G-code не имеет кода единиц измерения: G20 или G21" -#~ msgid "No shape selected. Select a shape to explode" -#~ msgstr "Фигура не выбрана. Выберите фигуру для разделения" - #~ msgid "" #~ "[selected] {kind} created/selected: {name}" #~ "" @@ -17344,9 +18672,6 @@ msgstr "Нет имени геометрии в аргументах. Укажи #~ msgstr "" #~ "Значение перекрытия должно быть от 0 (включительно) до 1 (исключительно), " -#~ msgid "Single Polygon" -#~ msgstr "Единичный полигон" - #~ msgid "Overlap value must be between 0 (inclusive) and 1 (exclusive)" #~ msgstr "" #~ "Значение перекрытия должно быть от 0 (включительно) до 1 (исключительно)" @@ -17354,9 +18679,6 @@ msgstr "Нет имени геометрии в аргументах. Укажи #~ msgid "Click inside the desired polygon." #~ msgstr "Нажмите внутри нужного полигона." -#~ msgid "Painting polygon at location" -#~ msgstr "Отрисовка полигона на месте" - #~ msgid "Go" #~ msgstr "Выполнить" @@ -17551,9 +18873,6 @@ msgstr "Нет имени геометрии в аргументах. Укажи #~ " Неправильный формат значения для self.defaults[\"feedrate_probe\"] или " #~ "self.options[\"feedrate_probe\"]" -#~ msgid "Advanced Param." -#~ msgstr "Дополнительные настройки" - #~ msgid "MH" #~ msgstr "MH" @@ -19744,9 +21063,6 @@ msgstr "Нет имени геометрии в аргументах. Укажи #~ msgid "Save &Defaults" #~ msgstr "Сохранить &настройки" -#~ msgid "Line" -#~ msgstr "Линия" - #~ msgid "Tool dia: " #~ msgstr "Диам. инстр.: " From 81c9e2042a3e6ebf4aaf89fbd558e6fc45bc65a4 Mon Sep 17 00:00:00 2001 From: camellan Date: Wed, 29 Apr 2020 20:23:31 +0400 Subject: [PATCH 6/6] finished Russian translation --- locale/ru/LC_MESSAGES/strings.mo | Bin 458824 -> 489637 bytes locale/ru/LC_MESSAGES/strings.po | 531 ++++++++++++------------------- 2 files changed, 209 insertions(+), 322 deletions(-) diff --git a/locale/ru/LC_MESSAGES/strings.mo b/locale/ru/LC_MESSAGES/strings.mo index e652639ee00bdeab602182ffabd117f551c5a53d..6c7a764f2ac98dd6af2bd968c8fc8b9612daac38 100644 GIT binary patch delta 87390 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 delta 65944 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 diff --git a/locale/ru/LC_MESSAGES/strings.po b/locale/ru/LC_MESSAGES/strings.po index 4900597c..05fab4df 100644 --- a/locale/ru/LC_MESSAGES/strings.po +++ b/locale/ru/LC_MESSAGES/strings.po @@ -26,7 +26,7 @@ msgstr "" #: tclCommands/TclCommandCopperClear.py:128 #: tclCommands/TclCommandCopperClear.py:136 tclCommands/TclCommandPaint.py:127 msgid "Seed" -msgstr "" +msgstr "По кругу" #: FlatCAMApp.py:790 flatcamGUI/PreferencesUI.py:5588 #: flatcamGUI/PreferencesUI.py:7695 flatcamTools/ToolCopperThieving.py:126 @@ -176,7 +176,7 @@ msgstr "Объект пуст после редактирования." #: FlatCAMApp.py:3560 FlatCAMApp.py:3581 FlatCAMApp.py:3603 msgid "Editor exited. Editor content saved." -msgstr "" +msgstr "Редактор закрыт. Содержимое редактора сохранено." #: FlatCAMApp.py:3607 FlatCAMApp.py:3630 FlatCAMApp.py:3648 msgid "Select a Gerber, Geometry or Excellon Object to update." @@ -188,7 +188,7 @@ msgstr "обновлён, возврат в приложение ..." #: FlatCAMApp.py:3617 msgid "Editor exited. Editor content was not saved." -msgstr "" +msgstr "Редактор закрыт. Содержимое редактора не сохранено." #: FlatCAMApp.py:3810 FlatCAMApp.py:3941 FlatCAMApp.py:5012 msgid "Could not load defaults file." @@ -252,16 +252,12 @@ msgid "Save to file" msgstr "Сохранить в файл" #: FlatCAMApp.py:4082 -#, fuzzy -#| msgid "Could not load defaults file." msgid "Could not load the file." -msgstr "Не удалось загрузить файл значений по умолчанию." +msgstr "Не удалось загрузить файл." #: FlatCAMApp.py:4098 -#, fuzzy -#| msgid "Exported Tools DB to" msgid "Exported file to" -msgstr "Экспорт БД в" +msgstr "Файл экспортируется в" #: FlatCAMApp.py:4181 msgid "Failed to open recent files file for writing." @@ -569,15 +565,9 @@ msgstr "Слияние Gerber завершено" msgid "Failed. Select a Geometry Object and try again." msgstr "Неудалось. Выберите объект Geometry и попробуйте снова." -<<<<<<< HEAD #: FlatCAMApp.py:5765 FlatCAMApp.py:5801 -msgid "Expected a FlatCAMGeometry, got" -msgstr "Ожидается FlatCAMGeometry, получено" -======= -#: FlatCAMApp.py:5652 FlatCAMApp.py:5688 msgid "Expected a GeometryObject, got" msgstr "Ожидается GeometryObject, получено" ->>>>>>> remotes/jpcgt/flatcam/Beta #: FlatCAMApp.py:5778 msgid "A Geometry object was converted to MultiGeo type." @@ -734,28 +724,26 @@ msgid "No object selected." msgstr "Нет выбранных объектов." #: FlatCAMApp.py:7394 -#, fuzzy -#| msgid "Bottom Left" msgid "Bottom-Left" -msgstr "Нижний левый" +msgstr "Слева внизу" #: FlatCAMApp.py:7395 flatcamGUI/PreferencesUI.py:8111 #: flatcamTools/ToolCalibration.py:159 msgid "Top-Left" -msgstr "Верхний левый" +msgstr "Слева вверху" #: FlatCAMApp.py:7396 flatcamGUI/PreferencesUI.py:8112 #: flatcamTools/ToolCalibration.py:160 msgid "Bottom-Right" -msgstr "Внизу справа" +msgstr "Справа внизу" #: FlatCAMApp.py:7397 msgid "Top-Right" -msgstr "Верхний правый" +msgstr "Справа вверху" #: FlatCAMApp.py:7398 flatcamGUI/ObjectUI.py:2624 msgid "Center" -msgstr "Центр" +msgstr "По центру" #: FlatCAMApp.py:7418 msgid "Locate ..." @@ -1173,19 +1161,9 @@ msgstr "Новый файл сценария создан в редакторе msgid "Open TCL script" msgstr "Открыть сценарий TCL" -<<<<<<< HEAD #: FlatCAMApp.py:10373 -msgid "Executing FlatCAMScript file." -msgstr "Выполнение файла FlatCAMScript." -======= -#: FlatCAMApp.py:9969 -msgid "Open TCL script cancelled." -msgstr "Открытие сценария отменено." - -#: FlatCAMApp.py:9993 msgid "Executing ScriptObject file." msgstr "Выполнение файла ScriptObject." ->>>>>>> remotes/jpcgt/flatcam/Beta #: FlatCAMApp.py:10381 FlatCAMApp.py:10384 msgid "Run TCL script" @@ -1566,6 +1544,10 @@ msgid "" "tab.\n" "\n" msgstr "" +"Не удалось инициализировать рабочее пространство OpenGL. Конфигурация HW или " +"HW не поддерживается. Измените графический движок на Legacy (2D) в Правка -> " +"Настройки -> вкладка Основные.\n" +"\n" #: FlatCAMApp.py:12269 msgid "All plots disabled." @@ -1628,7 +1610,6 @@ msgid "White" msgstr "Белый" #: FlatCAMApp.py:12475 flatcamGUI/FlatCAMGUI.py:709 -#, fuzzy msgid "Black" msgstr "Чёрный" @@ -1642,11 +1623,11 @@ msgstr "По умолчанию" #: FlatCAMApp.py:12512 flatcamGUI/FlatCAMGUI.py:719 msgid "Opacity" -msgstr "" +msgstr "Непрозрачность" #: FlatCAMApp.py:12514 msgid "Set alpha level ..." -msgstr "" +msgstr "Установка уровня прозрачности ..." #: FlatCAMApp.py:12514 flatcamGUI/PreferencesUI.py:6900 #: flatcamGUI/PreferencesUI.py:8230 flatcamGUI/PreferencesUI.py:8444 @@ -2316,16 +2297,12 @@ msgid "Cancelled adding tool from DB." msgstr "Отмена добавление инструмента из БД." #: FlatCAMCommon.py:1462 -#, fuzzy -#| msgid "GCode Parameters" msgid "Basic Geo Parameters" -msgstr "Параметры GCode" +msgstr "Базовые настройки геометрии" #: FlatCAMCommon.py:1474 -#, fuzzy -#| msgid "Advanced Param." msgid "Advanced Geo Parameters" -msgstr "Дополнительные настройки" +msgstr "Дополнительные настройки геометрии" #: FlatCAMCommon.py:1486 msgid "NCC Parameters" @@ -2342,15 +2319,11 @@ msgid "Feedrate X-Y" msgstr "Скорость подачи X-Y" #: FlatCAMCommon.py:1631 -#, fuzzy -#| msgid "" -#| "FR. Feedrate\n" -#| "The speed on XY plane used while cutting into material." msgid "" "Feedrate X-Y. Feedrate\n" "The speed on XY plane used while cutting into material." msgstr "" -"FR. Скорость подачи\n" +"Скорость подачи X-Y\n" "Скорость на плоскости XY используется при резке материала." #: FlatCAMCommon.py:1643 flatcamGUI/ObjectUI.py:981 flatcamGUI/ObjectUI.py:1781 @@ -2360,16 +2333,12 @@ msgid "Feedrate Z" msgstr "Скорость подачи Z" #: FlatCAMCommon.py:1645 -#, fuzzy -#| msgid "" -#| "FR Z. Feedrate Z\n" -#| "The speed on Z plane." msgid "" "Feedrate Z\n" "The speed on Z plane." msgstr "" -"FR Z. Скорость подачи Z\n" -"Скорость на плоскости Z." +"Скорость подачи Z\n" +"Скорость в плоскости Z." #: FlatCAMCommon.py:1843 flatcamGUI/ObjectUI.py:844 #: flatcamGUI/PreferencesUI.py:3264 flatcamTools/ToolNCC.py:341 @@ -2490,19 +2459,13 @@ msgstr "Метод" #: FlatCAMCommon.py:1917 flatcamGUI/PreferencesUI.py:5496 #: flatcamTools/ToolNCC.py:418 -#, fuzzy -#| msgid "" -#| "Algorithm for painting:\n" -#| "- Standard: Fixed step inwards.\n" -#| "- Seed-based: Outwards from seed.\n" -#| "- Line-based: Parallel lines." msgid "" "Algorithm for copper clearing:\n" "- Standard: Fixed step inwards.\n" "- Seed-based: Outwards from seed.\n" "- Line-based: Parallel lines." msgstr "" -"Алгоритм рисования:\n" +"Алгоритм очистки меди:\n" "- Стандартный: фиксированный шаг внутрь.\n" "- Круговой: наружу от центра.\n" "- Линейный: параллельные линии." @@ -2624,12 +2587,20 @@ msgid "" "- Combo: In case of failure a new method will be picked from the above\n" "in the order specified." msgstr "" +"Алгоритм для рисования:\n" +"- Стандарт: Фиксированный шаг внутрь.\n" +"- По кругу: От центра.\n" +"- Линейный: Параллельные линии.\n" +"- Лазерные линии: Активны только для объектов Gerber.\n" +"Создает линии, которые следуют за трассами.\n" +"- Комбинированный: В случае неудачи будет выбран новый метод из " +"вышеперечисленных.\n" +"в указанном порядке." #: FlatCAMCommon.py:2040 FlatCAMCommon.py:2042 flatcamGUI/PreferencesUI.py:6056 #: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:392 #: flatcamTools/ToolPaint.py:690 flatcamTools/ToolPaint.py:695 #: flatcamTools/ToolPaint.py:1864 tclCommands/TclCommandPaint.py:131 -#| msgid "lines" msgid "Laser_lines" msgstr "Laser_lines" @@ -2640,10 +2611,8 @@ msgid "Combo" msgstr "Комбо" #: FlatCAMCommon.py:2085 -#, fuzzy -#| msgid "Add Geometry Tool in DB" msgid "Add Tool in DB" -msgstr "Добавить инструмент из БД" +msgstr "Добавить инструмент в БД" #: FlatCAMObj.py:264 msgid "Name changed from" @@ -2883,11 +2852,11 @@ msgstr "Инструмент для прорезания пазов больше #: FlatCAMObj.py:3626 FlatCAMObj.py:5451 msgid "Focus Z" -msgstr "" +msgstr "Фокус Z" #: FlatCAMObj.py:3645 FlatCAMObj.py:5470 msgid "Laser Power" -msgstr "" +msgstr "Мощность лазера" #: FlatCAMObj.py:3677 FlatCAMObj.py:5502 flatcamGUI/ObjectUI.py:1048 #: flatcamGUI/ObjectUI.py:1839 flatcamGUI/PreferencesUI.py:4409 @@ -3128,12 +3097,12 @@ msgstr "процессы запущены." #: FlatCAMTool.py:245 FlatCAMTool.py:252 flatcamGUI/ObjectUI.py:156 #: flatcamGUI/ObjectUI.py:163 msgid "Edited value is out of range" -msgstr "" +msgstr "Отредактированное значение находится вне диапазона" #: FlatCAMTool.py:247 FlatCAMTool.py:254 flatcamGUI/ObjectUI.py:158 #: flatcamGUI/ObjectUI.py:165 msgid "Edited value is within limits." -msgstr "" +msgstr "Отредактированное значение находится в пределах нормы." #: FlatCAMTranslation.py:103 msgid "The application will restart." @@ -3636,7 +3605,7 @@ msgstr "Линейный" #: flatcamTools/ToolNCC.py:221 flatcamTools/ToolPaint.py:204 #: flatcamTools/ToolPunchGerber.py:89 flatcamTools/ToolPunchGerber.py:229 msgid "Circular" -msgstr "Круглый" +msgstr "Круг" #: flatcamEditors/FlatCAMExcEditor.py:1720 flatcamGUI/PreferencesUI.py:3871 msgid "Nr of drills" @@ -3936,7 +3905,7 @@ msgstr "Круглый" #: flatcamTools/ToolPunchGerber.py:105 flatcamTools/ToolPunchGerber.py:255 #: flatcamTools/ToolQRCode.py:198 msgid "Square" -msgstr "Квадратный" +msgstr "Квадрат" #: flatcamEditors/FlatCAMGeoEditor.py:97 #: flatcamEditors/FlatCAMGrbEditor.py:2630 @@ -3991,29 +3960,17 @@ msgid "Tool dia" msgstr "Диаметр инструмента" #: flatcamEditors/FlatCAMGeoEditor.py:442 -#, fuzzy -#| msgid "" -#| "Diameter of the tool to\n" -#| "be used in the operation." msgid "Diameter of the tool to be used in the operation." -msgstr "" -"Диаметр инструмента\n" -"используемого в этой операции." +msgstr "Диаметр инструмента используемого в этой операции." #: flatcamEditors/FlatCAMGeoEditor.py:488 -#, fuzzy -#| msgid "" -#| "Algorithm for painting:\n" -#| "- Standard: Fixed step inwards.\n" -#| "- Seed-based: Outwards from seed.\n" -#| "- Line-based: Parallel lines." msgid "" "Algorithm to paint the polygons:\n" "- Standard: Fixed step inwards.\n" "- Seed-based: Outwards from seed.\n" "- Line-based: Parallel lines." msgstr "" -"Алгоритм рисования:\n" +"Алгоритм раскраски полигонов:\n" "- Стандартный: фиксированный шаг внутрь.\n" "- Круговой: наружу от центра.\n" "- Линейный: параллельные линии." @@ -4043,10 +4000,8 @@ msgstr "Рисование" #: flatcamEditors/FlatCAMGeoEditor.py:3081 #: flatcamEditors/FlatCAMGeoEditor.py:4502 #: flatcamEditors/FlatCAMGrbEditor.py:5601 -#, fuzzy -#| msgid "Copy cancelled. No shape selected." msgid "Cancelled. No shape selected." -msgstr "Копирование отменено. Форма не выбрана." +msgstr "Отменено. Форма не выбрана." #: flatcamEditors/FlatCAMGeoEditor.py:597 #: flatcamEditors/FlatCAMGeoEditor.py:3043 @@ -4798,7 +4753,7 @@ msgstr "Имя" #: flatcamEditors/FlatCAMGeoEditor.py:3588 msgid "Ring" -msgstr "" +msgstr "Кольцо" #: flatcamEditors/FlatCAMGeoEditor.py:3590 msgid "Line" @@ -4811,20 +4766,16 @@ msgid "Polygon" msgstr "Полигон" #: flatcamEditors/FlatCAMGeoEditor.py:3594 -#| msgid "Multi-Geo" msgid "Multi-Line" msgstr "Multi-Line" #: flatcamEditors/FlatCAMGeoEditor.py:3596 -#| msgid "Multi-Color" msgid "Multi-Polygon" msgstr "Multi-Polygon" #: flatcamEditors/FlatCAMGeoEditor.py:3603 -#, fuzzy -#| msgid "Geo Type" msgid "Geo Elem" -msgstr "Тип рамки" +msgstr "Элемент Geo" #: flatcamEditors/FlatCAMGeoEditor.py:4076 msgid "Editing MultiGeo Geometry, tool" @@ -4893,11 +4844,9 @@ msgid "Exterior buffer geometry created." msgstr "Создана геометрия внешнего буфера." #: flatcamEditors/FlatCAMGeoEditor.py:5098 -#, fuzzy, python-format -#| msgid "Could not do Paint. Overlap value has to be less than 1.00 (100%%)." +#, python-format msgid "Could not do Paint. Overlap value has to be less than 100%%." -msgstr "" -"Окраска не выполнена. Значение перекрытия должно быть меньше 1,00 (100%%)." +msgstr "Окраска не выполнена. Значение перекрытия должно быть меньше 100%%." #: flatcamEditors/FlatCAMGeoEditor.py:5105 msgid "Nothing selected for painting." @@ -5154,8 +5103,8 @@ msgid "" "O = oblong" msgstr "" "Выбор типа нового отверстия. Варианты:\n" -"C = круговое\n" -"R = прямоугольное\n" +"C = круг\n" +"R = прямоугольник\n" "O = продолговатое" #: flatcamEditors/FlatCAMGrbEditor.py:2560 @@ -5912,7 +5861,7 @@ msgstr "Перейти к\tJ" #: flatcamGUI/FlatCAMGUI.py:392 msgid "Locate in Object\tShift+J" -msgstr "" +msgstr "Разместить объект\tShift+J" #: flatcamGUI/FlatCAMGUI.py:397 msgid "Toggle Units\tQ" @@ -6329,7 +6278,7 @@ msgstr "Перейти к расположению" #: flatcamGUI/FlatCAMGUI.py:864 flatcamGUI/FlatCAMGUI.py:1719 #: flatcamGUI/FlatCAMGUI.py:2545 msgid "Locate in Object" -msgstr "Разместить в объекте" +msgstr "Разместить объект" #: flatcamGUI/FlatCAMGUI.py:870 flatcamGUI/FlatCAMGUI.py:2551 msgid "&Replot" @@ -6364,17 +6313,13 @@ msgstr "2-х сторонняя плата" #: flatcamGUI/FlatCAMGUI.py:900 flatcamGUI/FlatCAMGUI.py:1725 #: flatcamGUI/FlatCAMGUI.py:2579 -#, fuzzy -#| msgid "Excellon Object Color" msgid "Align Objects Tool" -msgstr "Цвет объектов Excellon" +msgstr "Инструмент выравнивания объектов" #: flatcamGUI/FlatCAMGUI.py:902 flatcamGUI/FlatCAMGUI.py:1726 #: flatcamGUI/FlatCAMGUI.py:2581 flatcamTools/ToolExtractDrills.py:393 -#, fuzzy -#| msgid "Create Drills GCode" msgid "Extract Drills Tool" -msgstr "Создать GCode отверстий" +msgstr "Инструмент извлечения отверстий" #: flatcamGUI/FlatCAMGUI.py:905 flatcamGUI/ObjectUI.py:595 #: flatcamTools/ToolCutOut.py:447 @@ -6446,7 +6391,7 @@ msgstr "Калькулятор" #: flatcamGUI/FlatCAMGUI.py:941 flatcamGUI/FlatCAMGUI.py:1726 msgid "Punch Gerber Tool" -msgstr "Gerber перфорация" +msgstr "Перфорация" #: flatcamGUI/FlatCAMGUI.py:943 flatcamTools/ToolInvertGerber.py:31 msgid "Invert Gerber Tool" @@ -6945,6 +6890,8 @@ msgid "" "Paste Special. Will convert a Windows path style to the one required in Tcl " "Shell" msgstr "" +"Специальная вставка. Преобразует стиль пути Windows в тот, который требуется " +"в Tcl Shell" #: flatcamGUI/FlatCAMGUI.py:1742 msgid "Open Online Manual" @@ -7470,7 +7417,7 @@ msgstr "" #: flatcamGUI/ObjectUI.py:110 msgid "Geometrical transformations of the current object." -msgstr "" +msgstr "Геометрические преобразования текущего объекта." #: flatcamGUI/ObjectUI.py:119 msgid "" @@ -8067,6 +8014,9 @@ msgid "" "- Drilling -> will drill the drills/slots associated with this tool\n" "- Milling -> will mill the drills/slots" msgstr "" +"Тип операции:\n" +"- Сверление -> просверлит отверстия/пазы, связанные с этим инструментом.\n" +"- Фрезерование -> будет фрезеровать отверстия/пазы" #: flatcamGUI/ObjectUI.py:852 flatcamGUI/PreferencesUI.py:3272 msgid "Drilling" @@ -8083,6 +8033,10 @@ msgid "" "- Slots -> will mill the slots associated with this tool\n" "- Both -> will mill both drills and mills or whatever is available" msgstr "" +"Тип фрезерования:\n" +"- Отверстия -> будет фрезеровать отверстия, связанные с этим инструментом\n" +"- Пазы -> будет фрезеровать пазы, связанные с этим инструментом\n" +"- Оба -> будут фрезеровать как отверстия, так и пазы или все, что доступно" #: flatcamGUI/ObjectUI.py:877 flatcamGUI/PreferencesUI.py:3291 #: flatcamGUI/PreferencesUI.py:6343 flatcamTools/ToolFilm.py:258 @@ -8250,10 +8204,8 @@ msgstr "" #: flatcamGUI/ObjectUI.py:1161 flatcamGUI/ObjectUI.py:1935 #: flatcamTools/ToolNCC.py:505 flatcamTools/ToolPaint.py:436 -#, fuzzy -#| msgid "GCode Parameters" msgid "Common Parameters" -msgstr "Параметры GCode" +msgstr "Общие параметры" #: flatcamGUI/ObjectUI.py:1163 flatcamGUI/ObjectUI.py:1937 #: flatcamTools/ToolNCC.py:507 flatcamTools/ToolPaint.py:438 @@ -8303,10 +8255,8 @@ msgstr "" #: flatcamGUI/ObjectUI.py:1222 flatcamGUI/ObjectUI.py:2000 #: flatcamGUI/PreferencesUI.py:3413 flatcamGUI/PreferencesUI.py:4366 -#, fuzzy -#| msgid "End move Z" msgid "End move X,Y" -msgstr "Высота отвода Z" +msgstr "Конец перемещения X, Y" #: flatcamGUI/ObjectUI.py:1224 flatcamGUI/ObjectUI.py:2002 #: flatcamGUI/PreferencesUI.py:3415 flatcamGUI/PreferencesUI.py:4368 @@ -8315,6 +8265,9 @@ msgid "" "If no value is entered then there is no move\n" "on X,Y plane at the end of the job." msgstr "" +"Позиция X, Y конца хода. В формате (х, у).\n" +"Если значение не введено, движение не выполняется\n" +"на плоскости X, Y в конце работы." #: flatcamGUI/ObjectUI.py:1234 flatcamGUI/ObjectUI.py:1876 #: flatcamGUI/PreferencesUI.py:3613 flatcamGUI/PreferencesUI.py:4544 @@ -8342,7 +8295,7 @@ msgstr "Скорость подачи, используемая во время #: flatcamGUI/ObjectUI.py:1261 msgid "e_fr_probe" -msgstr "" +msgstr "e_fr_probe" #: flatcamGUI/ObjectUI.py:1270 msgid "Preprocessor E" @@ -8369,18 +8322,13 @@ msgstr "" "на Gcode для объектов геометрии (фрезерования)." #: flatcamGUI/ObjectUI.py:1308 flatcamGUI/ObjectUI.py:2026 -#, fuzzy -#| msgid "" -#| "Add at least one tool in the tool-table.\n" -#| "Click the header to select all, or Ctrl + LMB\n" -#| "for custom selection of tools." msgid "" "Add / Select at least one tool in the tool-table.\n" "Click the # header to select all, or Ctrl + LMB\n" "for custom selection of tools." msgstr "" "Добавьте хотя бы один инструмент в таблицу инструментов.\n" -"Щелкните заголовок, чтобы выбрать все, или Ctrl + ЛКМ\n" +"Щелкните заголовок #, чтобы выбрать все, или Ctrl + ЛКМ\n" "для выбора инструментов вручную." #: flatcamGUI/ObjectUI.py:1316 flatcamGUI/ObjectUI.py:2033 @@ -8392,6 +8340,8 @@ msgid "" "Generate the CNC Job.\n" "If milling then an additional Geometry object will be created" msgstr "" +"Создаёт задание ЧПУ.\n" +"При фрезеровке будет создан дополнительный объект Geometry" #: flatcamGUI/ObjectUI.py:1335 msgid "Milling Geometry" @@ -8614,10 +8564,8 @@ msgstr "" #: flatcamGUI/ObjectUI.py:1600 flatcamTools/ToolNCC.py:300 #: flatcamTools/ToolNCC.py:634 flatcamTools/ToolPaint.py:283 #: flatcamTools/ToolPaint.py:676 -#, fuzzy -#| msgid "Add from Tool DB" msgid "Add from DB" -msgstr "Добавить инструмент из БД" +msgstr "Добавить из БД" #: flatcamGUI/ObjectUI.py:1602 flatcamTools/ToolNCC.py:302 #: flatcamTools/ToolPaint.py:285 @@ -9915,7 +9863,7 @@ msgstr "" #: flatcamGUI/PreferencesUI.py:1822 msgid "Enable Auto Save" -msgstr "" +msgstr "Включить автосохранение" #: flatcamGUI/PreferencesUI.py:1824 msgid "" @@ -9923,6 +9871,9 @@ msgid "" "When enabled, the application will try to save a project\n" "at the set interval." msgstr "" +"Установите флажок, чтобы включить функцию автосохранения.\n" +"При включении приложение будет пытаться сохранить проект\n" +"с заданным интервалом." #: flatcamGUI/PreferencesUI.py:1834 msgid "Interval" @@ -9935,6 +9886,10 @@ msgid "" "if the project was saved manually at least once.\n" "While active, some operations may block this feature." msgstr "" +"Интервал времени для автосохранения. В миллисекундах\n" +"Приложение будет пытаться сохранять периодически, но только\n" +"если проект был сохранен вручную хотя бы один раз.\n" +"Во время активности некоторые операции могут блокировать эту функцию." #: flatcamGUI/PreferencesUI.py:1852 msgid "Text to PDF parameters" @@ -10304,6 +10259,10 @@ msgid "" "The value of the diameter has to use the dot decimals separator.\n" "Valid values: 0.3, 1.0" msgstr "" +"Диаметры инструментов, разделенные запятой.\n" +"Значение диаметра должно использовать разделитель точечных десятичных " +"знаков.\n" +"Допустимые значения: 0.3, 1.0" #: flatcamGUI/PreferencesUI.py:2712 msgid "Linear Pad Array" @@ -11181,7 +11140,7 @@ msgstr "Очистка меди" #: flatcamGUI/PreferencesUI.py:5328 flatcamGUI/PreferencesUI.py:5896 msgid "Comma separated values" -msgstr "" +msgstr "Значения, разделенные запятыми" #: flatcamGUI/PreferencesUI.py:5334 flatcamGUI/PreferencesUI.py:5342 #: flatcamGUI/PreferencesUI.py:5903 flatcamTools/ToolNCC.py:215 @@ -11503,10 +11462,8 @@ msgid "Diameter of the drill for the alignment holes." msgstr "Диаметр сверла для контрольных отверстий." #: flatcamGUI/PreferencesUI.py:5822 flatcamTools/ToolDblSided.py:378 -#, fuzzy -#| msgid "Align Right" msgid "Align Axis" -msgstr "Выравнивание по правому краю" +msgstr "Выровнять ось" #: flatcamGUI/PreferencesUI.py:5824 flatcamGUI/PreferencesUI.py:5837 #: flatcamTools/ToolDblSided.py:166 flatcamTools/ToolDblSided.py:380 @@ -12171,12 +12128,6 @@ msgstr "" "или уменьшается с помощью \"расстояния\"." #: flatcamGUI/PreferencesUI.py:6902 flatcamTools/ToolTransform.py:360 -#, fuzzy -#| msgid "" -#| "A positive value will create the effect of dilation,\n" -#| "while a negative value will create the effect of erosion.\n" -#| "Each geometry element of the object will be increased\n" -#| "or decreased with the 'distance'." msgid "" "A positive value will create the effect of dilation,\n" "while a negative value will create the effect of erosion.\n" @@ -12187,7 +12138,8 @@ msgstr "" "Положительное значение создаст эффект расширения,\n" "в то время как отрицательное значение создаст эффект размытия.\n" "Каждый геометрический элемент объекта будет увеличен\n" -"или уменьшается с помощью \"расстояния\"." +"или уменьшен, чтобы соответствовать \"Значению\". Значение в процентах\n" +"исходного размера." #: flatcamGUI/PreferencesUI.py:6919 flatcamGUI/PreferencesUI.py:7563 #: flatcamTools/ToolQRCode.py:197 flatcamTools/ToolTransform.py:384 @@ -12762,7 +12714,7 @@ msgstr "" #: flatcamTools/ToolExtractDrills.py:102 flatcamTools/ToolExtractDrills.py:240 #: flatcamTools/ToolPunchGerber.py:113 flatcamTools/ToolPunchGerber.py:268 msgid "Rectangular" -msgstr "Прямоугольная" +msgstr "Прямоугольник" #: flatcamGUI/PreferencesUI.py:7711 flatcamTools/ToolCopperThieving.py:173 msgid "Minimal" @@ -13066,15 +13018,13 @@ msgstr "" "- внизу справа -> пользователь выровняет печатную плату по горизонтали" #: flatcamGUI/PreferencesUI.py:8126 -#, fuzzy -#| msgid "Excellon Options" msgid "Extract Drills Options" -msgstr "Параметры Excellon" +msgstr "Параметры извлечения отверстий" #: flatcamGUI/PreferencesUI.py:8141 flatcamGUI/PreferencesUI.py:8353 #: flatcamTools/ToolExtractDrills.py:68 flatcamTools/ToolPunchGerber.py:75 msgid "Processed Pads Type" -msgstr "" +msgstr "Тип обработки площадок" #: flatcamGUI/PreferencesUI.py:8143 flatcamGUI/PreferencesUI.py:8355 #: flatcamTools/ToolExtractDrills.py:70 flatcamTools/ToolPunchGerber.py:77 @@ -13083,6 +13033,9 @@ msgid "" "If the PCB has many SMD pads with rectangular pads,\n" "disable the Rectangular aperture." msgstr "" +"Тип обрабатываемых площадок.\n" +"Если на печатной плате имеется много SMD площадок прямоугольной формы,\n" +"отключите прямоугольное отверстие." #: flatcamGUI/PreferencesUI.py:8153 flatcamGUI/PreferencesUI.py:8365 #: flatcamTools/ToolExtractDrills.py:80 flatcamTools/ToolPunchGerber.py:91 @@ -13094,17 +13047,17 @@ msgstr "Обработка круглых площадок." #: flatcamTools/ToolExtractDrills.py:86 flatcamTools/ToolExtractDrills.py:214 #: flatcamTools/ToolPunchGerber.py:97 flatcamTools/ToolPunchGerber.py:242 msgid "Oblong" -msgstr "" +msgstr "Продолговатая форма" #: flatcamGUI/PreferencesUI.py:8161 flatcamGUI/PreferencesUI.py:8373 #: flatcamTools/ToolExtractDrills.py:88 flatcamTools/ToolPunchGerber.py:99 msgid "Process Oblong Pads." -msgstr "" +msgstr "Продолговатые площадки." #: flatcamGUI/PreferencesUI.py:8169 flatcamGUI/PreferencesUI.py:8381 #: flatcamTools/ToolExtractDrills.py:96 flatcamTools/ToolPunchGerber.py:107 msgid "Process Square Pads." -msgstr "" +msgstr "Квадратные площадки." #: flatcamGUI/PreferencesUI.py:8177 flatcamGUI/PreferencesUI.py:8389 #: flatcamTools/ToolExtractDrills.py:104 flatcamTools/ToolPunchGerber.py:115 @@ -13122,25 +13075,21 @@ msgstr "Другие" #: flatcamGUI/PreferencesUI.py:8185 flatcamGUI/PreferencesUI.py:8397 #: flatcamTools/ToolExtractDrills.py:112 flatcamTools/ToolPunchGerber.py:123 msgid "Process pads not in the categories above." -msgstr "" +msgstr "Площадки, не относящиеся к вышеперечисленным категориям." #: flatcamGUI/PreferencesUI.py:8198 flatcamGUI/PreferencesUI.py:8222 #: flatcamGUI/PreferencesUI.py:8411 flatcamGUI/PreferencesUI.py:8436 #: flatcamTools/ToolExtractDrills.py:139 flatcamTools/ToolExtractDrills.py:156 #: flatcamTools/ToolPunchGerber.py:150 flatcamTools/ToolPunchGerber.py:184 -#, fuzzy -#| msgid "Tip Diameter" msgid "Fixed Diameter" -msgstr "Диаметр наконечника" +msgstr "Фиксированный диаметр" #: flatcamGUI/PreferencesUI.py:8199 flatcamGUI/PreferencesUI.py:8239 #: flatcamGUI/PreferencesUI.py:8412 flatcamGUI/PreferencesUI.py:8453 #: flatcamTools/ToolExtractDrills.py:140 flatcamTools/ToolExtractDrills.py:192 #: flatcamTools/ToolPunchGerber.py:151 flatcamTools/ToolPunchGerber.py:214 -#, fuzzy -#| msgid "Minimum Annular Ring" msgid "Fixed Annular Ring" -msgstr "Минимальное медное кольцо" +msgstr "Фиксированное медное кольцо" #: flatcamGUI/PreferencesUI.py:8200 flatcamGUI/PreferencesUI.py:8413 #: flatcamTools/ToolExtractDrills.py:141 flatcamTools/ToolPunchGerber.py:152 @@ -13154,6 +13103,11 @@ msgid "" "- Fixed Annular Ring -> all holes will have a set annular ring\n" "- Proportional -> each hole size will be a fraction of the pad size" msgstr "" +"Метод обработки площадок. Может быть:\n" +"- Фиксированный диаметр -> все отверстия будут иметь заданный размер.\n" +"- Фиксированное кольцо -> все отверстия будут иметь установленное кольцо.\n" +"- Пропорциональный -> размер каждого отверстия будет составлять долю от " +"размера площадки" #: flatcamGUI/PreferencesUI.py:8232 flatcamGUI/PreferencesUI.py:8446 #: flatcamTools/ToolExtractDrills.py:166 flatcamTools/ToolPunchGerber.py:194 @@ -13167,31 +13121,34 @@ msgid "" "The copper sliver between the hole exterior\n" "and the margin of the copper pad." msgstr "" +"Размер кольца круглого сечения.\n" +"Медная полоска между наружным отверстием\n" +"и краем медной площадки." #: flatcamGUI/PreferencesUI.py:8250 flatcamGUI/PreferencesUI.py:8464 #: flatcamTools/ToolExtractDrills.py:203 flatcamTools/ToolPunchGerber.py:231 msgid "The size of annular ring for circular pads." -msgstr "" +msgstr "Размер кольца круглого сечения для кольцевых площадок." #: flatcamGUI/PreferencesUI.py:8263 flatcamGUI/PreferencesUI.py:8477 #: flatcamTools/ToolExtractDrills.py:216 flatcamTools/ToolPunchGerber.py:244 msgid "The size of annular ring for oblong pads." -msgstr "" +msgstr "Размер кольца круглого сечения для продолговатых площадок." #: flatcamGUI/PreferencesUI.py:8276 flatcamGUI/PreferencesUI.py:8490 #: flatcamTools/ToolExtractDrills.py:229 flatcamTools/ToolPunchGerber.py:257 msgid "The size of annular ring for square pads." -msgstr "" +msgstr "Размер кольца круглого сечения для квадратных площадок." #: flatcamGUI/PreferencesUI.py:8289 flatcamGUI/PreferencesUI.py:8503 #: flatcamTools/ToolExtractDrills.py:242 flatcamTools/ToolPunchGerber.py:270 msgid "The size of annular ring for rectangular pads." -msgstr "" +msgstr "Размер кольца круглого сечения для прямоугольных площадок." #: flatcamGUI/PreferencesUI.py:8302 flatcamGUI/PreferencesUI.py:8516 #: flatcamTools/ToolExtractDrills.py:255 flatcamTools/ToolPunchGerber.py:283 msgid "The size of annular ring for other pads." -msgstr "" +msgstr "Размер кольца круглого сечения для других площадок." #: flatcamGUI/PreferencesUI.py:8312 flatcamGUI/PreferencesUI.py:8526 #: flatcamTools/ToolExtractDrills.py:276 flatcamTools/ToolPunchGerber.py:299 @@ -13208,10 +13165,12 @@ msgid "" "Proportional Diameter.\n" "The hole diameter will be a fraction of the pad size." msgstr "" +"Пропорциональный диаметр.\n" +"Диаметр отверстия будет составлять долю от размера площадки." #: flatcamGUI/PreferencesUI.py:8338 msgid "Punch Gerber Options" -msgstr "Параметры Gerber перфорации" +msgstr "Параметры перфорации" #: flatcamGUI/PreferencesUI.py:8419 flatcamTools/ToolPunchGerber.py:141 msgid "" @@ -13224,6 +13183,15 @@ msgid "" "- Proportional -> will make a Gerber punch hole having the diameter a " "percentage of the pad diameter.\n" msgstr "" +"Источником перфорации может быть:\n" +"- Объект Excellon -> центр отверстия объектов Excellon будет служить в " +"качестве ориентира.\n" +"- Фиксированный диаметр -> будет пытаться использовать центр площадки в " +"качестве основы, добавляя отверстия фиксированного диаметра.\n" +"- Фиксированное кольцо -> будет пытаться сохранить заданное кольцо круглого " +"сечения.\n" +"- Пропорциональное -> сделает отверстие для перфорации Gerber диаметром в " +"процентах от диаметра площадки.\n" #: flatcamGUI/PreferencesUI.py:8552 msgid "Invert Gerber Tool Options" @@ -13234,21 +13202,21 @@ msgid "" "A tool to invert Gerber geometry from positive to negative\n" "and in revers." msgstr "" +"Инструмент для инвертирования Gerber геометрии из положительной в " +"отрицательную.\n" +"и в обратном направлении." #: flatcamGUI/PreferencesUI.py:8572 flatcamTools/ToolInvertGerber.py:90 -#, fuzzy -#| msgid "" -#| "Distance by which to avoid\n" -#| "the edges of the polygon to\n" -#| "be painted." msgid "" "Distance by which to avoid\n" "the edges of the Gerber object." -msgstr "Расстояние, которое не закрашивать до края полигона." +msgstr "" +"Расстояние, на которое следует избегать\n" +"края объекта Gerber." #: flatcamGUI/PreferencesUI.py:8583 flatcamTools/ToolInvertGerber.py:101 msgid "Lines Join Style" -msgstr "" +msgstr "Стиль соединения линий" #: flatcamGUI/PreferencesUI.py:8585 flatcamTools/ToolInvertGerber.py:103 msgid "" @@ -13258,6 +13226,11 @@ msgid "" "- square -> the lines meet in 90 degrees angle\n" "- bevel -> the lines are joined by a third line" msgstr "" +"Способ соединения линий в контуре объекта.\n" +"Может быть:\n" +"- закругленный -> между двумя соединительными линиями добавляется дуга.\n" +"- квадрат -> линии встречаются под углом 90 градусов\n" +"- скос -> линии соединяются третьей линией" #: flatcamGUI/PreferencesUI.py:8608 msgid "Excellon File associations" @@ -13544,10 +13517,8 @@ msgid "HPGL2 Parser ERROR" msgstr "Ошибка парсера HPGL2" #: flatcamTools/ToolAlignObjects.py:32 -#, fuzzy -#| msgid "Objects" msgid "Align Objects" -msgstr "Объекты" +msgstr "Выравнивание" #: flatcamTools/ToolAlignObjects.py:61 msgid "MOVING object" @@ -13571,7 +13542,7 @@ msgstr "Объект для выравнивания." #: flatcamTools/ToolAlignObjects.py:98 msgid "TARGET object" -msgstr "" +msgstr "Отслеживаемый объект" #: flatcamTools/ToolAlignObjects.py:100 msgid "" @@ -13590,10 +13561,8 @@ msgid "Object to be aligned to. Aligner." msgstr "Объект для выравнивания по образцу." #: flatcamTools/ToolAlignObjects.py:135 -#, fuzzy -#| msgid "Alignment" msgid "Alignment Type" -msgstr "Выравнивание" +msgstr "Тип выравнивания" #: flatcamTools/ToolAlignObjects.py:137 msgid "" @@ -13603,22 +13572,23 @@ msgid "" "- Dual Point -> it require two points of sync, the action will be " "translation followed by rotation" msgstr "" +"Тип выравнивания может быть:\n" +"- Одиночная точка -> требуется одна точка синхронизации, действие будет " +"переводом\n" +"- Двойная точка -> требуется две точки синхронизации, действие будет " +"переводом с последующим вращением" #: flatcamTools/ToolAlignObjects.py:143 msgid "Single Point" msgstr "Одна точка" #: flatcamTools/ToolAlignObjects.py:144 -#, fuzzy -#| msgid "Half Point" msgid "Dual Point" -msgstr "Средняя точка" +msgstr "Двойная точка" #: flatcamTools/ToolAlignObjects.py:159 -#, fuzzy -#| msgid "Align Left" msgid "Align Object" -msgstr "Выравнивание по левому краю" +msgstr "Выровнять объект" #: flatcamTools/ToolAlignObjects.py:161 msgid "" @@ -13626,6 +13596,9 @@ msgid "" "If only one point is used then it assumes translation.\n" "If tho points are used it assume translation and rotation." msgstr "" +"Выравнивает указанный объект по объекту выравнивания.\n" +"Если используется только одна точка, то это предполагает перевод.\n" +"Если используются две точки, то предполагается их трансляция и вращение." #: flatcamTools/ToolAlignObjects.py:176 flatcamTools/ToolCalculators.py:246 #: flatcamTools/ToolCalibration.py:683 flatcamTools/ToolCopperThieving.py:485 @@ -13654,10 +13627,8 @@ msgid "Will reset the tool parameters." msgstr "Сброс параметров инструмента." #: flatcamTools/ToolAlignObjects.py:244 -#, fuzzy -#| msgid "Poligonize Tool" msgid "Align Tool" -msgstr "Полигонизация" +msgstr "Инструмент выравнивания" #: flatcamTools/ToolAlignObjects.py:289 msgid "There is no aligned FlatCAM object selected..." @@ -13668,31 +13639,25 @@ msgid "There is no aligner FlatCAM object selected..." msgstr "Нет выбранного объекта FlatCAM..." #: flatcamTools/ToolAlignObjects.py:325 flatcamTools/ToolAlignObjects.py:385 -#, fuzzy -#| msgid "First object point" msgid "First Point" -msgstr "Первая точка объекта" +msgstr "Первая точка" #: flatcamTools/ToolAlignObjects.py:325 flatcamTools/ToolAlignObjects.py:400 -#, fuzzy -#| msgid "Click on target point." msgid "Click on the START point." -msgstr "ПЕРЕМЕЩЕНИЕ: Нажмите на исходную точку ..." +msgstr "Нажмите на начальную точку." #: flatcamTools/ToolAlignObjects.py:380 flatcamTools/ToolCalibration.py:920 msgid "Cancelled by user request." msgstr "Отменено по запросу пользователя." #: flatcamTools/ToolAlignObjects.py:385 flatcamTools/ToolAlignObjects.py:407 -#, fuzzy -#| msgid "Click on target point." msgid "Click on the DESTINATION point." -msgstr "Нажмите на конечную точку ..." +msgstr "Нажмите на конечную точку." #: flatcamTools/ToolAlignObjects.py:385 flatcamTools/ToolAlignObjects.py:400 #: flatcamTools/ToolAlignObjects.py:407 msgid " Or right click to cancel." -msgstr "" +msgstr " Или щелкните правой кнопкой мыши, чтобы отменить." #: flatcamTools/ToolAlignObjects.py:400 flatcamTools/ToolAlignObjects.py:407 #: flatcamTools/ToolFiducials.py:111 @@ -14562,7 +14527,7 @@ msgstr "Объект не найден" #: flatcamTools/ToolCutOut.py:814 msgid "Rectangular cutout with negative margin is not possible." -msgstr "" +msgstr "Прямоугольный вырез с отрицательным отступом невозможен." #: flatcamTools/ToolCutOut.py:833 msgid "" @@ -14666,20 +14631,17 @@ msgid "" "- Box -> a set of coordinates (x, y) obtained from the center of the\n" "bounding box of another object selected below" msgstr "" +"Координаты, используемые в качестве ориентира для зеркалирования.\n" +"Могут быть:\n" +"- Точка -> набор координат (x, y), вокруг которых отражается объект\n" +"- Рамка-> набор координат (x, y), полученных из центра\n" +"ограничительной рамки другого объекта, выбранного ниже" #: flatcamTools/ToolDblSided.py:190 msgid "Point coordinates" msgstr "Координаты точек" #: flatcamTools/ToolDblSided.py:195 -#, fuzzy -#| msgid "" -#| "Add the coordinates in format (x, y) through which the mirroring " -#| "axis \n" -#| " selected in 'MIRROR AXIS' pass.\n" -#| "The (x, y) coordinates are captured by pressing SHIFT key\n" -#| "and left mouse button click on canvas or you can enter the coords " -#| "manually." msgid "" "Add the coordinates in format (x, y) through which the mirroring " "axis \n" @@ -14688,9 +14650,9 @@ msgid "" "and left mouse button click on canvas or you can enter the coordinates " "manually." msgstr "" -"Добавление координат в формате (x, y) , через которые проходит ось " +"Добавление координат в формате (x, y) , через которые проходит ось " "зеркалирования\n" -" выбран в поле «ЗЕРКАЛЬНАЯ ОСЬ».\n" +" выбранные в поле «ЗЕРКАЛЬНАЯ ОСЬ».\n" "Координаты (x, y) фиксируются нажатием клавиши SHIFT\n" "и щелчком ЛКМ на холсте или вы можете ввести координаты вручную." @@ -14700,12 +14662,13 @@ msgid "" "The coordinates of the center of the bounding box are used\n" "as reference for mirror operation." msgstr "" +"Это может быть типом: Gerber или Excellon или Geometry.\n" +"Используются координаты центра ограничительной рамки.\n" +"в качестве ориентира для работы с зеркалированием." #: flatcamTools/ToolDblSided.py:253 -#, fuzzy -#| msgid "Calculate Bounds Values" msgid "Bounds Values" -msgstr "Рассчитать значения границ" +msgstr "Значения границ" #: flatcamTools/ToolDblSided.py:255 msgid "" @@ -14740,10 +14703,8 @@ msgid "Y max" msgstr "Y max" #: flatcamTools/ToolDblSided.py:318 -#, fuzzy -#| msgid "Points coordinates" msgid "Center point coordinates" -msgstr "Координаты точек" +msgstr "Координаты центральной точки" #: flatcamTools/ToolDblSided.py:320 msgid "Centroid" @@ -14786,10 +14747,8 @@ msgstr "" "зеркальные изображения." #: flatcamTools/ToolDblSided.py:362 -#, fuzzy -#| msgid "Tip Diameter" msgid "Drill Diameter" -msgstr "Диаметр наконечника" +msgstr "Диаметр сверла" #: flatcamTools/ToolDblSided.py:391 flatcamTools/ToolDblSided.py:398 msgid "" @@ -14797,21 +14756,15 @@ msgid "" "from the first alignment drill, by doing mirror.\n" "It can be modified in the Mirror Parameters -> Reference section" msgstr "" +"Опорная точка, используемая для создания второго выравнивающего отверстия из " +"первого выравнивающего отверстия путем выполнения зеркалирования.\n" +"Это можно изменить в разделе Параметры зеркалирования -> Опорная точка" #: flatcamTools/ToolDblSided.py:411 msgid "Alignment Drill Coordinates" msgstr "Координаты выравнивающего отверстия" #: flatcamTools/ToolDblSided.py:413 -#, fuzzy -#| msgid "" -#| "Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. " -#| "For each set of (x, y) coordinates\n" -#| "entered here, a pair of drills will be created:\n" -#| "\n" -#| "- one drill at the coordinates from the field\n" -#| "- one drill in mirror position over the axis selected above in the " -#| "'Mirror Axis'." msgid "" "Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. For " "each set of (x, y) coordinates\n" @@ -14823,31 +14776,17 @@ msgid "" msgstr "" "Выравнивающие отверстия (x1, y1), (x2, y2), ... на одной стороне оси " "зеркала. Для каждого набора (x, y) координат\n" -"здесь, пара упражнений будет создана:\n" +"введённых здесь, будет создана пара отверстий:\n" "\n" -"- одно упражнение по координатам с поля\n" +"- одно сверление по координатам с поля\n" "- одно сверление в положении зеркала над осью, выбранной выше в «Оси " "зеркала»." #: flatcamTools/ToolDblSided.py:421 -#, fuzzy -#| msgid "Points coordinates" msgid "Drill coordinates" -msgstr "Координаты выравнивающего отверстия" +msgstr "Координаты отверстия" #: flatcamTools/ToolDblSided.py:428 -#, fuzzy -#| msgid "" -#| "Add alignment drill holes coords in the format: (x1, y1), (x2, y2), ... \n" -#| "on one side of the mirror axis.\n" -#| "\n" -#| "The coordinates set can be obtained:\n" -#| "- press SHIFT key and left mouse clicking on canvas. Then click Add.\n" -#| "- press SHIFT key and left mouse clicking on canvas. Then Ctrl+V in the " -#| "field.\n" -#| "- press SHIFT key and left mouse clicking on canvas. Then RMB click in " -#| "the field and click Paste.\n" -#| "- by entering the coords manually in the format: (x1, y1), (x2, y2), ..." msgid "" "Add alignment drill holes coordinates in the format: (x1, y1), (x2, " "y2), ... \n" @@ -14872,10 +14811,8 @@ msgstr "" "- путем ввода координат вручную в формате: (x1, y1), (x2, y2), ..." #: flatcamTools/ToolDblSided.py:443 -#, fuzzy -#| msgid "Delete" msgid "Delete Last" -msgstr "Удалить" +msgstr "Удалить последний" #: flatcamTools/ToolDblSided.py:445 msgid "Delete the last coordinates tuple in the list." @@ -14969,6 +14906,8 @@ msgid "" "Mouse cursor will snap to the center of the pad/drill\n" "when it is hovering over the geometry of the pad/drill." msgstr "" +"Курсор мыши будет привязан к центру площадки/отверстия\n" +"когда он находится над геометрией площадки/отверстия." #: flatcamTools/ToolDistance.py:76 msgid "Start Coords" @@ -15031,14 +14970,12 @@ msgid "MEASURING: Click on the Start point ..." msgstr "ИЗМЕРИТЕЛЬ: Нажмите на начальную точку ..." #: flatcamTools/ToolDistance.py:387 -#, fuzzy -#| msgid "Distance Tool exit..." msgid "Distance Tool finished." -msgstr "Измеритель закрыт ..." +msgstr "Измеритель завершён." #: flatcamTools/ToolDistance.py:455 msgid "Pads overlapped. Aborting." -msgstr "" +msgstr "Площадки перекрываются. Отмена." #: flatcamTools/ToolDistance.py:485 msgid "MEASURING: Click on the Destination point ..." @@ -15116,10 +15053,8 @@ msgid "Jumped to the half point between the two selected objects" msgstr "Выполнен переход к средней точке между двумя выбранными объектами" #: flatcamTools/ToolExtractDrills.py:29 flatcamTools/ToolExtractDrills.py:295 -#, fuzzy -#| msgid "Total Drills" msgid "Extract Drills" -msgstr "Всего отверстий" +msgstr "Извлечь отверстия" #: flatcamTools/ToolExtractDrills.py:62 msgid "Gerber from which to extract drill holes" @@ -15127,12 +15062,12 @@ msgstr "Гербер, из которого можно извлечь отвер #: flatcamTools/ToolExtractDrills.py:297 msgid "Extract drills from a given Gerber file." -msgstr "" +msgstr "Извлечение отверстий из заданного Gerber файла." #: flatcamTools/ToolExtractDrills.py:478 flatcamTools/ToolExtractDrills.py:563 #: flatcamTools/ToolExtractDrills.py:648 msgid "No drills extracted. Try different parameters." -msgstr "Сверла не извлечены. Попробуйте разные параметры." +msgstr "Отверстия не извлечены. Попробуйте разные параметры." #: flatcamTools/ToolFiducials.py:56 msgid "Fiducials Coordinates" @@ -15541,10 +15476,8 @@ msgid "Importing Image" msgstr "Импорт изображения" #: flatcamTools/ToolInvertGerber.py:74 -#, fuzzy -#| msgid "Gerber Object to which the QRCode will be added." msgid "Gerber object that will be inverted." -msgstr "Объект Gerber к которому будет добавлен QRCode." +msgstr "Объект Gerber, который будет инвертирован." #: flatcamTools/ToolInvertGerber.py:83 msgid "Parameters for this tool" @@ -15560,6 +15493,9 @@ msgid "" "will be empty of copper and previous empty area will be\n" "filled with copper." msgstr "" +"Инвертирует объект Gerber: области, в которых есть медь\n" +"будет без меди, а пустые области будут\n" +"заполнены медью." #: flatcamTools/ToolInvertGerber.py:184 msgid "Invert Tool" @@ -15570,10 +15506,8 @@ msgid "MOVE: Click on the Start point ..." msgstr "ПЕРЕМЕЩЕНИЕ: Нажмите на исходную точку ..." #: flatcamTools/ToolMove.py:114 -#, fuzzy -#| msgid "MOVE action cancelled. No object(s) to move." msgid "Cancelled. No object(s) to move." -msgstr "Действие перемещения отменено. Нет объекта(ов) для перемещения." +msgstr "Отменено. Нет объекта(ов) для перемещения." #: flatcamTools/ToolMove.py:141 msgid "MOVE: Click on the Destination point ..." @@ -15717,11 +15651,8 @@ msgstr "" #: flatcamTools/ToolNCC.py:1460 flatcamTools/ToolNCC.py:4013 #: flatcamTools/ToolPaint.py:1196 flatcamTools/ToolPaint.py:3587 #: flatcamTools/ToolSolderPaste.py:917 -#, fuzzy -#| msgid "Adding tool cancelled. Tool already in Tool Table." msgid "Cancelled. Tool already in Tool Table." -msgstr "" -"Добавление инструмента отменено. Инструмент уже в таблице инструментов." +msgstr "Отменено. Инструмент уже в таблице инструментов." #: flatcamTools/ToolNCC.py:1467 flatcamTools/ToolNCC.py:4030 #: flatcamTools/ToolPaint.py:1201 flatcamTools/ToolPaint.py:3604 @@ -15734,12 +15665,9 @@ msgstr "Инструмент был изменён в таблице инстр #: flatcamTools/ToolNCC.py:1523 flatcamTools/ToolPaint.py:1257 #: flatcamTools/ToolSolderPaste.py:977 -#, fuzzy -#| msgid "Edit cancelled. New diameter value is already in the Tool Table." msgid "Cancelled. New diameter value is already in the Tool Table." msgstr "" -"Правка отменена. Новое значение диаметра уже находится в таблице " -"инструментов." +"Отменено. Новое значение диаметра уже находится в таблице инструментов." #: flatcamTools/ToolNCC.py:1575 flatcamTools/ToolPaint.py:1355 msgid "Delete failed. Select a tool to delete." @@ -15788,7 +15716,7 @@ msgstr "Не удалось получить размер области, не #: flatcamTools/ToolNCC.py:3518 flatcamTools/ToolNCC.py:3599 msgid "" "Isolation geometry is broken. Margin is less than isolation tool diameter." -msgstr "" +msgstr "Геометрия изоляции нарушена. Отступ меньше диаметра инструмента." #: flatcamTools/ToolNCC.py:2184 flatcamTools/ToolNCC.py:3236 #: flatcamTools/ToolNCC.py:3617 @@ -15813,7 +15741,7 @@ msgstr "" #: flatcamTools/ToolNCC.py:2312 flatcamTools/ToolNCC.py:2592 msgid "NCC Tool failed creating bounding box." -msgstr "" +msgstr "Инструменту NCC не удалось создать ограничивающую рамку." #: flatcamTools/ToolNCC.py:2326 flatcamTools/ToolNCC.py:2609 #: flatcamTools/ToolNCC.py:3256 flatcamTools/ToolNCC.py:3642 @@ -16158,16 +16086,12 @@ msgid "Painting polygon with method: lines." msgstr "Окраска полигона методом: линии." #: flatcamTools/ToolPaint.py:2029 -#, fuzzy -#| msgid "Normal painting polygon task started." msgid "Failed. Painting polygon with method: seed." -msgstr "Началась задача нормальной отрисовки полигона." +msgstr "Ошибка. Отрисовка полигона методом: круговой." #: flatcamTools/ToolPaint.py:2040 -#, fuzzy -#| msgid "Normal painting polygon task started." msgid "Failed. Painting polygon with method: standard." -msgstr "Началась задача нормальной отрисовки полигона." +msgstr "Ошибка. Отрисовка полигона методом: стандартный." #: flatcamTools/ToolPaint.py:2056 msgid "Geometry could not be painted completely" @@ -16216,7 +16140,7 @@ msgstr "запущено" #: flatcamTools/ToolPaint.py:2680 flatcamTools/ToolPaint.py:2988 #: flatcamTools/ToolPaint.py:3167 msgid "Margin parameter too big. Tool is not used" -msgstr "" +msgstr "Слишком большой параметр отступа. Инструмент не используется" #: flatcamTools/ToolPaint.py:2232 flatcamTools/ToolPaint.py:2559 #: flatcamTools/ToolPaint.py:2737 flatcamTools/ToolPaint.py:3051 @@ -16736,14 +16660,13 @@ msgstr "Медный участок" #: flatcamTools/ToolPunchGerber.py:30 flatcamTools/ToolPunchGerber.py:323 msgid "Punch Gerber" -msgstr "Gerber перфорации" +msgstr "Перфорация" #: flatcamTools/ToolPunchGerber.py:65 msgid "Gerber into which to punch holes" -msgstr "Gerber для перфорации" +msgstr "Gerber для перфорации отверстий" #: flatcamTools/ToolPunchGerber.py:85 -#, fuzzy msgid "ALL" msgstr "Все" @@ -16758,6 +16681,8 @@ msgid "" "Create a Gerber object from the selected object, within\n" "the specified box." msgstr "" +"Создание объекта Gerber из выделенного объекта, в пределах\n" +"указанного квадрата." #: flatcamTools/ToolPunchGerber.py:425 msgid "Punch Tool" @@ -16765,13 +16690,9 @@ msgstr "Перфорация" #: flatcamTools/ToolPunchGerber.py:599 msgid "The value of the fixed diameter is 0.0. Aborting." -msgstr "" +msgstr "Значение фиксированного диаметра составляет 0,0. Прерывание." #: flatcamTools/ToolPunchGerber.py:607 -#, fuzzy -#| msgid "" -#| " Could not generate punched hole film because the punch hole sizeis " -#| "bigger than some of the apertures in the Gerber object." msgid "" " Could not generate punched hole Gerber because the punch hole sizeis bigger " "than some of the apertures in the Gerber object." @@ -16780,10 +16701,6 @@ msgstr "" "перфорированного отверстия больше, чем некоторые отверстия в объекте Gerber." #: flatcamTools/ToolPunchGerber.py:619 -#, fuzzy -#| msgid "" -#| "Could not generate punched hole film because the punch hole sizeis bigger " -#| "than some of the apertures in the Gerber object." msgid "" "Could not generate punched hole Gerber because the punch hole sizeis bigger " "than some of the apertures in the Gerber object." @@ -16792,10 +16709,6 @@ msgstr "" "перфорированного отверстия больше, чем некоторые отверстия в объекте Gerber." #: flatcamTools/ToolPunchGerber.py:656 -#, fuzzy -#| msgid "" -#| "Could not generate punched hole film because the newly created object " -#| "geometry is the same as the one in the source object geometry..." msgid "" "Could not generate punched hole Gerber because the newly created object " "geometry is the same as the one in the source object geometry..." @@ -17565,40 +17478,28 @@ msgid "Ref. Point" msgstr "Точка зеркалирования" #: flatcamTools/ToolTransform.py:349 -#, fuzzy -#| msgid "" -#| "Create the buffer effect on each geometry,\n" -#| "element from the selected object." msgid "" "Create the buffer effect on each geometry,\n" "element from the selected object, using the distance." msgstr "" "Создаёт буферный эффект для каждой геометрии,\n" -"элемента из выбранного объекта." +"элемента из выбранного объекта, используя расстояние." #: flatcamTools/ToolTransform.py:375 -#, fuzzy -#| msgid "" -#| "Create the buffer effect on each geometry,\n" -#| "element from the selected object." msgid "" "Create the buffer effect on each geometry,\n" "element from the selected object, using the factor." msgstr "" "Создаёт буферный эффект для каждой геометрии,\n" -"элемента из выбранного объекта." +"элемента из выбранного объекта, используя коэффициент." #: flatcamTools/ToolTransform.py:480 -#, fuzzy -#| msgid "Buffer" msgid "Buffer D" -msgstr "Буфер" +msgstr "Буфер D" #: flatcamTools/ToolTransform.py:481 -#, fuzzy -#| msgid "Buffer" msgid "Buffer F" -msgstr "Буфер" +msgstr "Буфер F" #: flatcamTools/ToolTransform.py:558 msgid "Rotate transformation can not be done for a value of 0." @@ -17706,15 +17607,9 @@ msgstr "Объекты CNCJob не могут быть буферизирова msgid "Buffer done" msgstr "Буфер готов" -<<<<<<< HEAD #: tclCommands/TclCommandBbox.py:76 tclCommands/TclCommandNregions.py:75 -msgid "Expected FlatCAMGerber or FlatCAMGeometry, got" -msgstr "Ожидался FlatCAMGerber или FlatCAMGeometry, получено" -======= -#: tclCommands/TclCommandBbox.py:74 tclCommands/TclCommandNregions.py:73 msgid "Expected GerberObject or GeometryObject, got" msgstr "Ожидался GerberObject или GeometryObject, получено" ->>>>>>> remotes/jpcgt/flatcam/Beta #: tclCommands/TclCommandBounds.py:67 tclCommands/TclCommandBounds.py:71 msgid "Expected a list of objects names separated by comma. Got" @@ -17730,10 +17625,8 @@ msgid "Could not retrieve box object" msgstr "Не удалось получить объект box" #: tclCommands/TclCommandCopperClear.py:299 -#, fuzzy -#| msgid "Expected -box ." msgid "Expected either -box or -all." -msgstr "Ожидалось -box <значение>." +msgstr "Ожидалось -box <значение> или -all." #: tclCommands/TclCommandGeoCutout.py:148 msgid "" @@ -17750,16 +17643,12 @@ msgstr "" #: tclCommands/TclCommandGeoCutout.py:302 #: tclCommands/TclCommandGeoCutout.py:360 -#, fuzzy -#| msgid "Any form CutOut operation finished." msgid "Any-form Cutout operation finished." msgstr "Операция обрезки закончена." #: tclCommands/TclCommandGeoCutout.py:366 -#, fuzzy -#| msgid "The reference object type is not supported." msgid "Cancelled. Object type is not supported." -msgstr "Тип указанного объекта не поддерживается." +msgstr "Отмена. Тип объекта не поддерживается." #: tclCommands/TclCommandHelp.py:74 msgid "Available commands:" @@ -17771,7 +17660,7 @@ msgstr "Для дополнительной информации ведите he #: tclCommands/TclCommandHelp.py:112 msgid "Example: help open_gerber" -msgstr "" +msgstr "Пример: help open_gerber" #: tclCommands/TclCommandPaint.py:244 msgid "Expected -x and -y ." @@ -17790,14 +17679,12 @@ msgstr "" "Окраска не удалась." #: tclCommands/TclCommandScale.py:106 -#, fuzzy -#| msgid "" -#| "Expected -origin or -origin or -origin
." msgid "" "Expected -origin or -origin or -origin
or - " "origin 3.0,4.2." msgstr "" -"Ожидается -origin или -origin или -origin
." +"Ожидается -origin или -origin или -origin
или " +"- origin 3.0,4.2." #: tclCommands/TclCommandScale.py:119 msgid "Expected -x -y ."