# HG changeset patch # User laurent # Date 1316555911 -7200 # Node ID 3757f0de0d07e4b3193a076bfa839a813d07a07f # Parent 984c51d1bf6b7caf75cfdad05e7da43042eac430 Adding column for selecting task triggering in Resource Editor diff -r 984c51d1bf6b -r 3757f0de0d07 PLCControler.py --- a/PLCControler.py Thu Sep 15 22:29:32 2011 +0200 +++ b/PLCControler.py Tue Sep 20 23:58:31 2011 +0200 @@ -2562,7 +2562,7 @@ for task in tasks: new_task = plcopen.resource_task() new_task.setname(task["Name"]) - if task["Single"] != "": + if task["Triggering"] == "Interrupt": new_task.setsingle(task["Single"]) ## result = duration_model.match(task["Interval"]).groups() ## if reduce(lambda x, y: x or y != None, result): @@ -2575,7 +2575,7 @@ ## if result[-1] is not None: ## values.append(int(float(result[-1]) * 1000)) ## new_task.setinterval(datetime.time(*values)) - if task["Interval"] != "": + if task["Triggering"] == "Cyclic": new_task.setinterval(task["Interval"]) new_task.setpriority(int(task["Priority"])) if task["Name"] != "": @@ -2598,12 +2598,12 @@ new_task = {} new_task["Name"] = task.getname() single = task.getsingle() - if single: + if single is not None: new_task["Single"] = single else: new_task["Single"] = "" interval = task.getinterval() - if interval: + if interval is not None: ## text = "" ## if interval.hour != 0: ## text += "%dh"%interval.hour @@ -2620,6 +2620,12 @@ new_task["Interval"] = interval else: new_task["Interval"] = "" + if single is not None and interval is None: + new_task["Triggering"] = "Interrupt" + elif interval is not None and single is None: + new_task["Triggering"] = "Cyclic" + else: + new_task["Triggering"] = "" new_task["Priority"] = str(task.getpriority()) tasks_data.append(new_task) for instance in task.getpouInstance(): diff -r 984c51d1bf6b -r 3757f0de0d07 PLCOpenEditor.py --- a/PLCOpenEditor.py Thu Sep 15 22:29:32 2011 +0200 +++ b/PLCOpenEditor.py Tue Sep 20 23:58:31 2011 +0200 @@ -321,6 +321,7 @@ kind=wx.ITEM_NORMAL, text=_(u'Redo\tCTRL+Y')) #AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUENABLEUNDOREDO, # kind=wx.ITEM_CHECK, text=_(u'Enable Undo/Redo')) + enable_undo_redo = _(u'Enable Undo/Redo') # Keeping text in translations for possible menu reactivation parent.AppendSeparator() AppendMenu(parent, help='', id=wx.ID_CUT, kind=wx.ITEM_NORMAL, text=_(u'Cut\tCTRL+X')) diff -r 984c51d1bf6b -r 3757f0de0d07 RessourceEditor.py --- a/RessourceEditor.py Thu Sep 15 22:29:32 2011 +0200 +++ b/RessourceEditor.py Tue Sep 20 23:58:31 2011 +0200 @@ -79,7 +79,12 @@ def GetTasksTableColnames(): _ = lambda x : x - return [_("Name"), _("Single"), _("Interval"), _("Priority")] + return [_("Name"), _("Triggering"), _("Single"), _("Interval"), _("Priority")] + +def GetTaskTriggeringOptions(): + _ = lambda x : x + return [_("Interrupt"), _("Cyclic")] +TASKTRIGGERINGOPTIONS_DICT = dict([(_(option), option) for option in GetTaskTriggeringOptions()]) def GetInstancesTableColnames(): _ = lambda x : x @@ -135,15 +140,21 @@ def GetValue(self, row, col): if row < self.GetNumberRows(): - name = str(self.data[row].get(self.GetColLabelValue(col, False), "")) - return name - + colname = self.GetColLabelValue(col, False) + value = str(self.data[row].get(colname, "")) + if colname == "Triggering": + return _(value) + return value + def GetValueByName(self, row, colname): return self.data[row].get(colname) def SetValue(self, row, col, value): if col < len(self.colnames): - self.data[row][self.GetColLabelValue(col, False)] = value + colname = self.GetColLabelValue(col, False) + if colname == "Triggering": + value = TASKTRIGGERINGOPTIONS_DICT[value] + self.data[row][colname] = value def SetValueByName(self, row, colname, value): if colname in self.colnames: @@ -203,16 +214,19 @@ renderer = None colname = self.GetColLabelValue(col, False) grid.SetReadOnly(row, col, False) - if colname in ["Name","Interval"]: + if colname in ["Name", "Interval"]: editor = wx.grid.GridCellTextEditor() renderer = wx.grid.GridCellStringRenderer() - if colname == "Interval" and self.GetValueByName(row, "Single") != "": + if colname == "Interval" and self.GetValueByName(row, "Triggering") != "Cyclic": grid.SetReadOnly(row, col, True) elif colname == "Single": editor = wx.grid.GridCellChoiceEditor() editor.SetParameters(self.Parent.VariableList) - if self.GetValueByName(row, "Interval") != "": + if self.GetValueByName(row, "Triggering") != "Interrupt": grid.SetReadOnly(row, col, True) + elif colname == "Triggering": + editor = wx.grid.GridCellChoiceEditor() + editor.SetParameters(",".join([""] + GetTaskTriggeringOptions())) elif colname == "Type": editor = wx.grid.GridCellChoiceEditor() editor.SetParameters(self.Parent.TypeList) @@ -233,6 +247,11 @@ else: grid.SetCellTextColour(row, col, wx.BLACK) grid.SetCellBackgroundColour(row, col, wx.WHITE) + if wx.Platform == '__WXMSW__': + grid.SetRowMinimalHeight(row, 20) + else: + grid.SetRowMinimalHeight(row, 28) + grid.AutoSizeRow(row, False) def SetData(self, data): self.data = data @@ -249,14 +268,18 @@ def AppendRow(self, row_content): self.data.append(row_content) + def InsertRow(self, index, row_content): + self.data.insert(index, row_content) + def RemoveRow(self, row_index): self.data.pop(row_index) - def MoveRow(self, row_index, move, grid): + def MoveRow(self, row_index, move): new_index = max(0, min(row_index + move, len(self.data) - 1)) if new_index != row_index: self.data.insert(new_index, self.data.pop(row_index)) - grid.SetGridCursor(new_index, grid.GetGridCursorCol()) + return new_index + return None def Empty(self): self.data = [] @@ -438,10 +461,10 @@ self.Controler = controler self.TagName = tagname - self.TasksDefaultValue = {"Name" : "", "Single" : "", "Interval" : "", "Priority" : 0} + self.TasksDefaultValue = {"Name" : "", "Triggering" : "", "Single" : "", "Interval" : "", "Priority" : 0} self.TasksTable = ResourceTable(self, [], GetTasksTableColnames()) - self.TasksTable.SetColAlignements([wx.ALIGN_LEFT, wx.ALIGN_LEFT, wx.ALIGN_RIGHT, wx.ALIGN_RIGHT]) - self.TasksTable.SetColSizes([200, 100, 100, 100]) + self.TasksTable.SetColAlignements([wx.ALIGN_LEFT, wx.ALIGN_LEFT, wx.ALIGN_LEFT, wx.ALIGN_RIGHT, wx.ALIGN_RIGHT]) + self.TasksTable.SetColSizes([200, 100, 100, 100, 100]) self.TasksGrid.SetTable(self.TasksTable) self.TasksGrid.SetRowLabelSize(0) self.TasksTable.ResetView(self.TasksGrid) @@ -499,74 +522,118 @@ self.ParentWindow.RefreshFileMenu() self.ParentWindow.RefreshEditMenu() - def RefreshView(self): + def RefreshView(self, task_select=None, instance_select=None): tasks, instances = self.Controler.GetEditedResourceInfos(self.TagName) self.TasksTable.SetData(tasks) self.InstancesTable.SetData(instances) self.RefreshTypeList() self.RefreshTaskList() self.RefreshVariableList() + self.TasksTable.ResetView(self.TasksGrid) self.InstancesTable.ResetView(self.InstancesGrid) - self.TasksTable.ResetView(self.TasksGrid) - + if task_select is not None and len(tasks) > 0: + if task_select == -1: + task_select = len(tasks) - 1 + else: + task_select = min(task_select, len(tasks) - 1) + col = self.TasksGrid.GetGridCursorCol() + self.TasksGrid.SetGridCursor(task_select, col) + self.TasksGrid.MakeCellVisible(instance_select, col) + self.TasksGrid.SetFocus() + if instance_select is not None and len(instances) > 0: + if instance_select == -1: + instance_select = len(instances) - 1 + else: + task_select = min(task_select, len(instances) - 1) + col = self.InstancesGrid.GetGridCursorCol() + self.InstancesGrid.SetGridCursor(instance_select, col) + self.InstancesGrid.MakeCellVisible(instance_select, col) + self.InstancesGrid.SetFocus() + def RefreshScaling(self, refresh=True): pass + def CloseTasksGridEditControl(self): + row = self.TasksGrid.GetGridCursorRow() + col = self.TasksGrid.GetGridCursorCol() + self.TasksGrid.SetGridCursor(row, col) + def OnAddTaskButton(self, event): - self.TasksTable.AppendRow(self.TasksDefaultValue.copy()) - self.RefreshModel() - self.RefreshView() + self.CloseTasksGridEditControl() + if len(self.TasksTable.data) > 0: + row = self.TasksGrid.GetGridCursorRow() + 1 + else: + row = -1 + self.TasksTable.InsertRow(row, self.TasksDefaultValue.copy()) + self.RefreshModel() + self.RefreshView(task_select=row) event.Skip() def OnDeleteTaskButton(self, event): + self.CloseTasksGridEditControl() row = self.TasksGrid.GetGridCursorRow() self.TasksTable.RemoveRow(row) self.RefreshModel() - self.RefreshView() + self.RefreshView(task_select=row) event.Skip() def OnUpTaskButton(self, event): + self.CloseTasksGridEditControl() row = self.TasksGrid.GetGridCursorRow() - self.TasksTable.MoveRow(row, -1, self.TasksGrid) - self.RefreshModel() - self.RefreshView() + new_row = self.TasksTable.MoveRow(row, -1) + self.RefreshModel() + self.RefreshView(task_select=new_row) event.Skip() def OnDownTaskButton(self, event): + self.CloseTasksGridEditControl() row = self.TasksGrid.GetGridCursorRow() - self.TasksTable.MoveRow(row, 1, self.TasksGrid) - self.RefreshModel() - self.RefreshView() - event.Skip() + new_row = self.TasksTable.MoveRow(row, 1) + self.RefreshModel() + self.RefreshView(task_select=new_row) + event.Skip() + + def CloseInstancesGridEditControl(self): + row = self.InstancesGrid.GetGridCursorRow() + col = self.InstancesGrid.GetGridCursorCol() + self.InstancesGrid.SetGridCursor(row, col) def OnAddInstanceButton(self, event): - self.InstancesTable.AppendRow(self.InstancesDefaultValue.copy()) - self.RefreshModel() - self.RefreshView() + self.CloseInstancesGridEditControl() + if len(self.InstancesTable.data) > 0: + row = self.InstancesGrid.GetGridCursorRow() + 1 + else: + row = -1 + self.InstancesTable.InsertRow(row, self.InstancesDefaultValue.copy()) + self.RefreshModel() + self.RefreshView(instance_select=row) self.ParentWindow.RefreshInstancesTree() event.Skip() def OnDeleteInstanceButton(self, event): + self.CloseInstancesGridEditControl() row = self.InstancesGrid.GetGridCursorRow() self.InstancesTable.RemoveRow(row) self.RefreshModel() - self.RefreshView() + self.RefreshView(instance_select=row) self.ParentWindow.RefreshInstancesTree() event.Skip() def OnUpInstanceButton(self, event): + self.CloseInstancesGridEditControl() row = self.InstancesGrid.GetGridCursorRow() - self.InstancesTable.MoveRow(row, -1, self.InstancesGrid) - self.RefreshModel() - self.RefreshView() + new_row = self.InstancesTable.MoveRow(row, -1) + self.RefreshModel() + self.RefreshView(instance_select=new_row) self.ParentWindow.RefreshInstancesTree() event.Skip() def OnDownInstanceButton(self, event): + self.CloseInstancesGridEditControl() row = self.InstancesGrid.GetGridCursorRow() - self.InstancesTable.MoveRow(row, 1, self.InstancesGrid) - self.RefreshModel() - self.RefreshView() + new_row = self.InstancesTable.MoveRow(row, 1) + self.RefreshModel() + self.RefreshView(instance_select=new_row) self.ParentWindow.RefreshInstancesTree() event.Skip() @@ -586,12 +653,13 @@ if self.InstancesTable.GetValueByName(i, "Task") == old_name: self.InstancesTable.SetValueByName(i, "Task", new_name) self.RefreshModel() - self.RefreshView() + colname = self.TasksTable.GetColLabelValue(col, False) + if colname == "Triggering": + wx.CallAfter(self.RefreshView) event.Skip() def OnInstancesGridCellChange(self, event): self.RefreshModel() - self.RefreshView() self.ParentWindow.RefreshInstancesTree() event.Skip() diff -r 984c51d1bf6b -r 3757f0de0d07 i18n/PLCOpenEditor_fr_FR.po --- a/i18n/PLCOpenEditor_fr_FR.po Thu Sep 15 22:29:32 2011 +0200 +++ b/i18n/PLCOpenEditor_fr_FR.po Tue Sep 20 23:58:31 2011 +0200 @@ -7,8 +7,8 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-09-13 12:41+0200\n" -"PO-Revision-Date: 2011-09-13 12:55+0100\n" +"POT-Creation-Date: 2011-09-20 23:54+0200\n" +"PO-Revision-Date: 2011-09-20 23:55+0100\n" "Last-Translator: Laurent BESSARD \n" "Language-Team: LANGUAGE \n" "Language: \n" @@ -16,7 +16,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../PLCOpenEditor.py:4406 +#: ../PLCOpenEditor.py:4411 msgid "" "\n" "An error has occurred.\n" @@ -62,13 +62,13 @@ msgid " Temp" msgstr " Temporaire" -#: ../PLCOpenEditor.py:4416 +#: ../PLCOpenEditor.py:4421 msgid " : " msgstr " : " -#: ../PLCOpenEditor.py:3332 -#: ../PLCOpenEditor.py:3495 -#: ../PLCOpenEditor.py:3639 +#: ../PLCOpenEditor.py:3337 +#: ../PLCOpenEditor.py:3500 +#: ../PLCOpenEditor.py:3644 #: ../dialogs/SFCTransitionDialog.py:206 #, python-format msgid " and %s" @@ -94,8 +94,8 @@ msgid "\"%s\" can't use itself!" msgstr "\"%s\" ne peut pas s'utiliser lui-même !" -#: ../PLCOpenEditor.py:1422 -#: ../PLCOpenEditor.py:1442 +#: ../PLCOpenEditor.py:1427 +#: ../PLCOpenEditor.py:1447 #, python-format msgid "\"%s\" config already exists!" msgstr "La configuration \"%s\" existe déjà !" @@ -105,8 +105,8 @@ msgid "\"%s\" configuration already exists !!!" msgstr "La configuration \"%s\" existe déjà !!!" -#: ../PLCOpenEditor.py:1376 -#: ../PLCOpenEditor.py:3194 +#: ../PLCOpenEditor.py:1381 +#: ../PLCOpenEditor.py:3199 #, python-format msgid "\"%s\" data type already exists!" msgstr "Le type de données \"%s\" existe déjà !" @@ -117,8 +117,8 @@ msgid "\"%s\" element can't be pasted here!!!" msgstr "L'élément \"%s\" ne peut être collé ici !!!" -#: ../PLCOpenEditor.py:3514 -#: ../PLCOpenEditor.py:3658 +#: ../PLCOpenEditor.py:3519 +#: ../PLCOpenEditor.py:3663 #: ../Viewer.py:250 #: ../TextViewer.py:245 #: ../TextViewer.py:262 @@ -133,14 +133,14 @@ msgid "\"%s\" function cancelled in \"%s\" POU: No input connected" msgstr "L'appel à la fonction \"%s\" dans le POU \"%s\" a été abandonné : aucune entrée connectée" -#: ../PLCOpenEditor.py:1367 -#: ../PLCOpenEditor.py:3190 -#: ../PLCOpenEditor.py:3343 -#: ../PLCOpenEditor.py:3506 -#: ../PLCOpenEditor.py:3650 -#: ../PLCOpenEditor.py:3721 -#: ../PLCOpenEditor.py:3784 -#: ../VariablePanel.py:735 +#: ../PLCOpenEditor.py:1372 +#: ../PLCOpenEditor.py:3195 +#: ../PLCOpenEditor.py:3348 +#: ../PLCOpenEditor.py:3511 +#: ../PLCOpenEditor.py:3655 +#: ../PLCOpenEditor.py:3726 +#: ../PLCOpenEditor.py:3789 +#: ../VariablePanel.py:744 #: ../dialogs/ConnectionDialog.py:207 #: ../dialogs/FBDBlockDialog.py:252 #: ../dialogs/FBDVariableDialog.py:268 @@ -163,20 +163,20 @@ msgid "\"%s\" is an invalid value!" msgstr "\"%s\" n'est pas une valeur valide !" -#: ../PLCOpenEditor.py:2673 -#: ../PLCOpenEditor.py:2702 +#: ../PLCOpenEditor.py:2678 +#: ../PLCOpenEditor.py:2707 #, python-format msgid "\"%s\" is not a valid folder!" msgstr "\"%s\" n'est pas un répertoire valide !" -#: ../PLCOpenEditor.py:1365 -#: ../PLCOpenEditor.py:3186 -#: ../PLCOpenEditor.py:3339 -#: ../PLCOpenEditor.py:3502 -#: ../PLCOpenEditor.py:3646 -#: ../PLCOpenEditor.py:3717 -#: ../PLCOpenEditor.py:3780 -#: ../VariablePanel.py:730 +#: ../PLCOpenEditor.py:1370 +#: ../PLCOpenEditor.py:3191 +#: ../PLCOpenEditor.py:3344 +#: ../PLCOpenEditor.py:3507 +#: ../PLCOpenEditor.py:3651 +#: ../PLCOpenEditor.py:3722 +#: ../PLCOpenEditor.py:3785 +#: ../VariablePanel.py:739 #: ../dialogs/ConnectionDialog.py:203 #: ../dialogs/FBDBlockDialog.py:248 #: ../dialogs/PouNameDialog.py:59 @@ -188,14 +188,14 @@ msgstr "\"%s\" n'est pas un identifiant valide !" #: ../PLCOpenEditor.py:288 -#: ../PLCOpenEditor.py:2322 -#: ../PLCOpenEditor.py:2342 +#: ../PLCOpenEditor.py:2327 +#: ../PLCOpenEditor.py:2347 #, python-format msgid "\"%s\" is used by one or more POUs. It can't be removed!" msgstr "Le POU \"%s\" est utilisé par un ou plusieurs POUs. Il ne peut être supprimé !" -#: ../PLCOpenEditor.py:1385 -#: ../PLCOpenEditor.py:3347 +#: ../PLCOpenEditor.py:1390 +#: ../PLCOpenEditor.py:3352 #: ../Viewer.py:248 #: ../Viewer.py:274 #: ../TextViewer.py:243 @@ -266,41 +266,41 @@ msgid "%s body don't have text!" msgstr "Le code d'un %s n'a pas de texte !" -#: ../PLCOpenEditor.py:4394 -#: ../PLCOpenEditor.py:4396 -#: ../PLCOpenEditor.py:4397 +#: ../PLCOpenEditor.py:4399 +#: ../PLCOpenEditor.py:4401 +#: ../PLCOpenEditor.py:4402 msgid ", " msgstr ", " -#: ../PLCOpenEditor.py:3334 -#: ../PLCOpenEditor.py:3497 -#: ../PLCOpenEditor.py:3641 +#: ../PLCOpenEditor.py:3339 +#: ../PLCOpenEditor.py:3502 +#: ../PLCOpenEditor.py:3646 #: ../dialogs/SFCTransitionDialog.py:208 #, python-format msgid ", %s" msgstr ", %s" -#: ../PLCOpenEditor.py:4392 +#: ../PLCOpenEditor.py:4397 msgid ". " msgstr ". " -#: ../PLCOpenEditor.py:1388 -#: ../PLCOpenEditor.py:1430 -#: ../PLCOpenEditor.py:1450 -#: ../PLCOpenEditor.py:3351 -#: ../PLCOpenEditor.py:3729 -#: ../PLCOpenEditor.py:3792 +#: ../PLCOpenEditor.py:1393 +#: ../PLCOpenEditor.py:1435 +#: ../PLCOpenEditor.py:1455 +#: ../PLCOpenEditor.py:3356 +#: ../PLCOpenEditor.py:3734 +#: ../PLCOpenEditor.py:3797 #, python-format msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?" msgstr "Un POU a un élément nommé \"%s\". Cela peut générer des conflits. Voulez-vous continuer ?" -#: ../PLCOpenEditor.py:1401 -#: ../PLCOpenEditor.py:1412 -#: ../PLCOpenEditor.py:3510 -#: ../PLCOpenEditor.py:3654 -#: ../PLCOpenEditor.py:3725 -#: ../PLCOpenEditor.py:3788 -#: ../VariablePanel.py:740 +#: ../PLCOpenEditor.py:1406 +#: ../PLCOpenEditor.py:1417 +#: ../PLCOpenEditor.py:3515 +#: ../PLCOpenEditor.py:3659 +#: ../PLCOpenEditor.py:3730 +#: ../PLCOpenEditor.py:3793 +#: ../VariablePanel.py:749 #: ../dialogs/PouNameDialog.py:67 #: ../dialogs/SFCStepDialog.py:187 #: ../dialogs/SFCStepNameDialog.py:69 @@ -308,24 +308,24 @@ msgid "A POU named \"%s\" already exists!" msgstr "Un POU nommé \"%s\" existe déjà !" -#: ../VariablePanel.py:1239 +#: ../VariablePanel.py:1250 msgid "A location must be selected!" msgstr "Une adresse doit être sélectionné !" -#: ../PLCOpenEditor.py:1403 -#: ../PLCOpenEditor.py:1414 -#: ../VariablePanel.py:745 +#: ../PLCOpenEditor.py:1408 +#: ../PLCOpenEditor.py:1419 +#: ../VariablePanel.py:754 #: ../dialogs/SFCStepDialog.py:191 #: ../dialogs/SFCStepNameDialog.py:73 #, python-format msgid "A variable with \"%s\" as name already exists in this pou!" msgstr "Une variable nommée \"%s\" existe déjà dans ce POU !" -#: ../PLCOpenEditor.py:2514 +#: ../PLCOpenEditor.py:2519 msgid "About" msgstr "A propos" -#: ../PLCOpenEditor.py:2417 +#: ../PLCOpenEditor.py:2422 msgid "About PLCOpenEditor" msgstr "A propos de PLCOpenEditor" @@ -338,11 +338,11 @@ msgid "Action" msgstr "Action" -#: ../PLCOpenEditor.py:3630 +#: ../PLCOpenEditor.py:3635 msgid "Action Name" msgstr "Nom de l'action" -#: ../PLCOpenEditor.py:3597 +#: ../PLCOpenEditor.py:3602 msgid "Action Name:" msgstr "Nom de l'action :" @@ -365,16 +365,16 @@ msgid "Add" msgstr "Ajouter" -#: ../PLCOpenEditor.py:1606 -#: ../PLCOpenEditor.py:1689 +#: ../PLCOpenEditor.py:1611 +#: ../PLCOpenEditor.py:1694 msgid "Add Action" msgstr "Ajouter une action" -#: ../PLCOpenEditor.py:1672 +#: ../PLCOpenEditor.py:1677 msgid "Add Configuration" msgstr "Ajouter une configuration" -#: ../PLCOpenEditor.py:1652 +#: ../PLCOpenEditor.py:1657 msgid "Add DataType" msgstr "Ajouter un type de donnée" @@ -382,29 +382,29 @@ msgid "Add Divergence Branch" msgstr "Ajouter une branche à la divergence" -#: ../PLCOpenEditor.py:333 +#: ../PLCOpenEditor.py:334 msgid "Add Element" msgstr "Ajouter un élément" -#: ../RessourceEditor.py:412 +#: ../RessourceEditor.py:435 msgid "Add Instance" msgstr "Ajouter une instance" -#: ../PLCOpenEditor.py:1659 +#: ../PLCOpenEditor.py:1664 msgid "Add POU" msgstr "Ajouter un POU" -#: ../PLCOpenEditor.py:1635 -#: ../PLCOpenEditor.py:1700 +#: ../PLCOpenEditor.py:1640 +#: ../PLCOpenEditor.py:1705 msgid "Add Resource" msgstr "Ajouter une resource" -#: ../RessourceEditor.py:376 +#: ../RessourceEditor.py:399 msgid "Add Task" msgstr "Ajouter une tâche" -#: ../PLCOpenEditor.py:1603 -#: ../PLCOpenEditor.py:1678 +#: ../PLCOpenEditor.py:1608 +#: ../PLCOpenEditor.py:1683 msgid "Add Transition" msgstr "Ajouter une transition" @@ -412,7 +412,7 @@ msgid "Add Wire Segment" msgstr "Ajouter un segment au fil" -#: ../PLCOpenEditor.py:2194 +#: ../PLCOpenEditor.py:2199 msgid "Add a new data type" msgstr "Ajouter un nouveau type de données" @@ -429,11 +429,11 @@ msgid "Add a new step" msgstr "Ajouter une nouvelle étape" -#: ../PLCOpenEditor.py:2246 +#: ../PLCOpenEditor.py:2251 msgid "Add new configuration" msgstr "Ajouter une nouvelle configuration" -#: ../PLCOpenEditor.py:2259 +#: ../PLCOpenEditor.py:2264 msgid "Add new resource" msgstr "Ajouter une nouvelle resource" @@ -450,8 +450,8 @@ msgstr "Alignement" #: ../VariablePanel.py:70 -#: ../VariablePanel.py:1056 -#: ../VariablePanel.py:1173 +#: ../VariablePanel.py:1067 +#: ../VariablePanel.py:1184 msgid "All" msgstr "Toutes" @@ -476,7 +476,7 @@ msgid "Arithmetic" msgstr "Arithmétique" -#: ../VariablePanel.py:798 +#: ../VariablePanel.py:807 #: ../DataTypeEditor.py:236 msgid "Array" msgstr "Tableau" @@ -489,11 +489,11 @@ msgid "At least a variable or an expression must be selected!" msgstr "Au moins une variable ou une expression doit être sélectionné !" -#: ../PLCOpenEditor.py:2985 +#: ../PLCOpenEditor.py:2990 msgid "Author" msgstr "Auteur" -#: ../PLCOpenEditor.py:2970 +#: ../PLCOpenEditor.py:2975 msgid "Author Name (optional):" msgstr "Nom de l'auteur (optionel) :" @@ -503,7 +503,7 @@ msgid "Base Type:" msgstr "Type de base :" -#: ../VariablePanel.py:778 +#: ../VariablePanel.py:787 #: ../DataTypeEditor.py:801 msgid "Base Types" msgstr "Types de base" @@ -540,7 +540,7 @@ msgid "Block Properties" msgstr "Propriétés du bloc" -#: ../PLCOpenEditor.py:1913 +#: ../PLCOpenEditor.py:1918 #: ../dialogs/FBDBlockDialog.py:268 msgid "Block Types" msgstr "Types de blocs" @@ -549,11 +549,11 @@ msgid "Bottom" msgstr "Bas" -#: ../VariablePanel.py:1115 +#: ../VariablePanel.py:1126 msgid "Browse Locations" msgstr "Naviger dans les adresses" -#: ../PLCOpenEditor.py:1854 +#: ../PLCOpenEditor.py:1859 msgid "CSV Log" msgstr "Log CVS" @@ -568,7 +568,7 @@ msgid "Can only give a location to local or global variables" msgstr "Une adresse ne peut être affecté qu'à des variables locales ou globales" -#: ../PLCOpenEditor.py:2668 +#: ../PLCOpenEditor.py:2673 #, python-format msgid "Can't generate program to file %s!" msgstr "Le programme n'a pu être généré dans le fichier \"%s\" !" @@ -577,7 +577,7 @@ msgid "Can't give a location to a function block instance" msgstr "Une adresse ne peut être affectée une instance de Function Block" -#: ../PLCOpenEditor.py:2700 +#: ../PLCOpenEditor.py:2705 #, python-format msgid "Can't save project to file %s!" msgstr "Le projet n'a pu être sauvé dans le fichier \"%s\" !" @@ -586,7 +586,7 @@ msgid "Center" msgstr "Centre" -#: ../PLCOpenEditor.py:1624 +#: ../PLCOpenEditor.py:1629 msgid "Change POU Type To" msgstr "Changer le type du POU pour" @@ -594,9 +594,9 @@ msgid "Character string" msgstr "Chaîne de caractères" -#: ../PLCOpenEditor.py:2630 -#: ../PLCOpenEditor.py:2658 -#: ../PLCOpenEditor.py:2694 +#: ../PLCOpenEditor.py:2635 +#: ../PLCOpenEditor.py:2663 +#: ../PLCOpenEditor.py:2699 msgid "Choose a file" msgstr "Choisissez un fichier" @@ -613,7 +613,7 @@ msgid "Class:" msgstr "Classe :" -#: ../PLCOpenEditor.py:372 +#: ../PLCOpenEditor.py:373 msgid "Clear Errors\tCTRL+K" msgstr "Effacer les erreurs\tCTRL+K" @@ -621,16 +621,16 @@ msgid "Clear Execution Order" msgstr "Effacer l'ordre d'exécution" -#: ../PLCOpenEditor.py:2548 +#: ../PLCOpenEditor.py:2553 msgid "Close Application" msgstr "Fermer l'application" -#: ../PLCOpenEditor.py:887 -#: ../PLCOpenEditor.py:2470 +#: ../PLCOpenEditor.py:888 +#: ../PLCOpenEditor.py:2475 msgid "Close Project" msgstr "Fermer le projet" -#: ../PLCOpenEditor.py:2468 +#: ../PLCOpenEditor.py:2473 msgid "Close Tab\tCTRL+W" msgstr "Fermer l'onglet\tCTRL+W" @@ -638,11 +638,11 @@ msgid "Comment" msgstr "Commentaire" -#: ../PLCOpenEditor.py:2954 +#: ../PLCOpenEditor.py:2959 msgid "Company Name (required):" msgstr "Nom de l'entreprise (obligatoire) :" -#: ../PLCOpenEditor.py:2962 +#: ../PLCOpenEditor.py:2967 msgid "Company URL (optional):" msgstr "URL de l'entreprise (optionel) :" @@ -654,7 +654,7 @@ msgid "Concatenation" msgstr "Concaténation" -#: ../PLCOpenEditor.py:343 +#: ../PLCOpenEditor.py:344 msgid "Configuration" msgstr "Configuration" @@ -682,7 +682,7 @@ msgid "Constant" msgstr "Constante" -#: ../PLCOpenEditor.py:3044 +#: ../PLCOpenEditor.py:3049 msgid "Content Description (optional):" msgstr "Description du contenu (optionel) :" @@ -706,11 +706,11 @@ msgid "Conversion to time-of-day" msgstr "Conversion en heure de la journée" -#: ../PLCOpenEditor.py:328 +#: ../PLCOpenEditor.py:329 msgid "Copy\tCTRL+C" msgstr "Copier\tCtrl+C" -#: ../PLCOpenEditor.py:1611 +#: ../PLCOpenEditor.py:1616 msgid "Copy POU" msgstr "Copier ce POU" @@ -723,11 +723,11 @@ msgid "Couldn't paste non-POU object." msgstr "Impossible de coller autre chose qu'un POU." -#: ../PLCOpenEditor.py:3272 +#: ../PLCOpenEditor.py:3277 msgid "Create a new POU" msgstr "Créer un nouveau POU" -#: ../PLCOpenEditor.py:3593 +#: ../PLCOpenEditor.py:3598 msgid "Create a new action" msgstr "Créer une nouvelle action" @@ -796,7 +796,7 @@ msgstr "Créer une nouvelle étape" #: ../PLCOpenEditor.py:217 -#: ../PLCOpenEditor.py:3449 +#: ../PLCOpenEditor.py:3454 msgid "Create a new transition" msgstr "Créer une nouvelle transition" @@ -806,10 +806,14 @@ msgid "Create a new variable" msgstr "Créer une nouvelle variable" -#: ../PLCOpenEditor.py:326 +#: ../PLCOpenEditor.py:327 msgid "Cut\tCTRL+X" msgstr "Couper\tCTRL+X" +#: ../RessourceEditor.py:86 +msgid "Cyclic" +msgstr "Périodique" + #: ../plcopen/iec_std.csv:42 #: ../plcopen/iec_std.csv:44 #: ../plcopen/iec_std.csv:46 @@ -822,7 +826,7 @@ msgid "DEPRECATED" msgstr "" -#: ../PLCOpenEditor.py:335 +#: ../PLCOpenEditor.py:336 msgid "Data Type" msgstr "Type de donnée" @@ -856,15 +860,15 @@ msgid "Debug: %s" msgstr "Déboggage : %s" -#: ../PLCOpenEditor.py:623 +#: ../PLCOpenEditor.py:624 msgid "Debugger" msgstr "Déboggueur" -#: ../PLCOpenEditor.py:347 -#: ../PLCOpenEditor.py:1629 -#: ../PLCOpenEditor.py:1638 -#: ../PLCOpenEditor.py:1644 -#: ../PLCOpenEditor.py:4164 +#: ../PLCOpenEditor.py:348 +#: ../PLCOpenEditor.py:1634 +#: ../PLCOpenEditor.py:1643 +#: ../PLCOpenEditor.py:1649 +#: ../PLCOpenEditor.py:4169 #: ../Viewer.py:415 #: ../VariablePanel.py:504 #: ../dialogs/ActionBlockDialog.py:279 @@ -876,11 +880,11 @@ msgid "Delete Divergence Branch" msgstr "Supprimer une branche de divergence" -#: ../RessourceEditor.py:417 +#: ../RessourceEditor.py:440 msgid "Delete Instance" msgstr "Supprimer une instance" -#: ../RessourceEditor.py:381 +#: ../RessourceEditor.py:404 msgid "Delete Task" msgstr "Supprimer une tâche" @@ -913,7 +917,7 @@ msgid "Dimensions:" msgstr "Dimensions :" -#: ../VariablePanel.py:1132 +#: ../VariablePanel.py:1143 msgid "Direction:" msgstr "Direction :" @@ -934,7 +938,7 @@ msgid "Documentation" msgstr "Documentation" -#: ../PLCOpenEditor.py:2662 +#: ../PLCOpenEditor.py:2667 msgid "Done" msgstr "Terminé" @@ -1002,7 +1006,7 @@ msgid "Elements :" msgstr "Eléments :" -#: ../PLCOpenEditor.py:323 +#: ../PLCOpenEditor.py:324 msgid "Enable Undo/Redo" msgstr "Activer Défaire/Refaire" @@ -1014,56 +1018,56 @@ msgid "Equal to" msgstr "Egal à" -#: ../PLCOpenEditor.py:881 -#: ../PLCOpenEditor.py:1388 -#: ../PLCOpenEditor.py:1425 +#: ../PLCOpenEditor.py:882 +#: ../PLCOpenEditor.py:1393 #: ../PLCOpenEditor.py:1430 -#: ../PLCOpenEditor.py:1445 +#: ../PLCOpenEditor.py:1435 #: ../PLCOpenEditor.py:1450 -#: ../PLCOpenEditor.py:2300 -#: ../PLCOpenEditor.py:2669 +#: ../PLCOpenEditor.py:1455 +#: ../PLCOpenEditor.py:2305 #: ../PLCOpenEditor.py:2674 -#: ../PLCOpenEditor.py:3090 -#: ../PLCOpenEditor.py:3182 -#: ../PLCOpenEditor.py:3186 -#: ../PLCOpenEditor.py:3190 -#: ../PLCOpenEditor.py:3194 -#: ../PLCOpenEditor.py:3335 -#: ../PLCOpenEditor.py:3339 -#: ../PLCOpenEditor.py:3343 -#: ../PLCOpenEditor.py:3347 -#: ../PLCOpenEditor.py:3498 -#: ../PLCOpenEditor.py:3502 -#: ../PLCOpenEditor.py:3506 -#: ../PLCOpenEditor.py:3510 -#: ../PLCOpenEditor.py:3514 -#: ../PLCOpenEditor.py:3642 -#: ../PLCOpenEditor.py:3646 -#: ../PLCOpenEditor.py:3650 -#: ../PLCOpenEditor.py:3654 -#: ../PLCOpenEditor.py:3658 -#: ../PLCOpenEditor.py:3713 -#: ../PLCOpenEditor.py:3717 -#: ../PLCOpenEditor.py:3721 -#: ../PLCOpenEditor.py:3725 -#: ../PLCOpenEditor.py:3776 -#: ../PLCOpenEditor.py:3780 -#: ../PLCOpenEditor.py:3784 -#: ../PLCOpenEditor.py:3788 -#: ../PLCOpenEditor.py:4091 -#: ../PLCOpenEditor.py:4417 -#: ../PLCOpenEditor.py:4427 +#: ../PLCOpenEditor.py:2679 +#: ../PLCOpenEditor.py:3095 +#: ../PLCOpenEditor.py:3187 +#: ../PLCOpenEditor.py:3191 +#: ../PLCOpenEditor.py:3195 +#: ../PLCOpenEditor.py:3199 +#: ../PLCOpenEditor.py:3340 +#: ../PLCOpenEditor.py:3344 +#: ../PLCOpenEditor.py:3348 +#: ../PLCOpenEditor.py:3352 +#: ../PLCOpenEditor.py:3503 +#: ../PLCOpenEditor.py:3507 +#: ../PLCOpenEditor.py:3511 +#: ../PLCOpenEditor.py:3515 +#: ../PLCOpenEditor.py:3519 +#: ../PLCOpenEditor.py:3647 +#: ../PLCOpenEditor.py:3651 +#: ../PLCOpenEditor.py:3655 +#: ../PLCOpenEditor.py:3659 +#: ../PLCOpenEditor.py:3663 +#: ../PLCOpenEditor.py:3718 +#: ../PLCOpenEditor.py:3722 +#: ../PLCOpenEditor.py:3726 +#: ../PLCOpenEditor.py:3730 +#: ../PLCOpenEditor.py:3781 +#: ../PLCOpenEditor.py:3785 +#: ../PLCOpenEditor.py:3789 +#: ../PLCOpenEditor.py:3793 +#: ../PLCOpenEditor.py:4096 +#: ../PLCOpenEditor.py:4422 +#: ../PLCOpenEditor.py:4432 #: ../Viewer.py:334 #: ../TextViewer.py:281 #: ../LDViewer.py:665 #: ../LDViewer.py:881 #: ../LDViewer.py:885 #: ../VariablePanel.py:374 -#: ../VariablePanel.py:730 -#: ../VariablePanel.py:735 -#: ../VariablePanel.py:740 -#: ../VariablePanel.py:745 -#: ../VariablePanel.py:1239 +#: ../VariablePanel.py:739 +#: ../VariablePanel.py:744 +#: ../VariablePanel.py:749 +#: ../VariablePanel.py:754 +#: ../VariablePanel.py:1250 #: ../dialogs/ConnectionDialog.py:199 #: ../dialogs/ConnectionDialog.py:203 #: ../dialogs/ConnectionDialog.py:207 @@ -1131,11 +1135,11 @@ msgid "External" msgstr "Externe" -#: ../PLCOpenEditor.py:3022 -#: ../PLCOpenEditor.py:3217 -#: ../PLCOpenEditor.py:3227 -#: ../PLCOpenEditor.py:3406 -#: ../PLCOpenEditor.py:3550 +#: ../PLCOpenEditor.py:3027 +#: ../PLCOpenEditor.py:3222 +#: ../PLCOpenEditor.py:3232 +#: ../PLCOpenEditor.py:3411 +#: ../PLCOpenEditor.py:3555 msgid "FBD" msgstr "FBD" @@ -1160,7 +1164,7 @@ msgid "Find position" msgstr "Trouver la position" -#: ../PLCOpenEditor.py:4232 +#: ../PLCOpenEditor.py:4237 #: ../Viewer.py:1095 msgid "Force value" msgstr "Forcer la valeur" @@ -1169,10 +1173,10 @@ msgid "Forcing Variable Value" msgstr "Forcer la valeur de la variable" -#: ../PLCOpenEditor.py:3090 -#: ../PLCOpenEditor.py:3335 -#: ../PLCOpenEditor.py:3498 -#: ../PLCOpenEditor.py:3642 +#: ../PLCOpenEditor.py:3095 +#: ../PLCOpenEditor.py:3340 +#: ../PLCOpenEditor.py:3503 +#: ../PLCOpenEditor.py:3647 #: ../dialogs/SFCTransitionDialog.py:209 #, python-format msgid "Form isn't complete. %s must be filled!" @@ -1187,16 +1191,16 @@ msgid "Form isn't complete. Valid block type must be selected!" msgstr "Le formulaire est incomplet. Un type de bloc valide doit être sélectionné !" -#: ../PLCOpenEditor.py:337 +#: ../PLCOpenEditor.py:338 msgid "Function" msgstr "Fonction" -#: ../PLCOpenEditor.py:339 -#: ../PLCOpenEditor.py:1619 +#: ../PLCOpenEditor.py:340 +#: ../PLCOpenEditor.py:1624 msgid "Function Block" msgstr "Bloc fonctionnel" -#: ../VariablePanel.py:810 +#: ../VariablePanel.py:819 msgid "Function Block Types" msgstr "Types de blocs fonctionnels" @@ -1221,7 +1225,7 @@ msgid "Functions" msgstr "Fonctions" -#: ../PLCOpenEditor.py:2477 +#: ../PLCOpenEditor.py:2482 msgid "Generate Program\tCTRL+G" msgstr "Générer le program\tCTRL+G" @@ -1229,11 +1233,11 @@ msgid "Global" msgstr "Globale" -#: ../PLCOpenEditor.py:1851 +#: ../PLCOpenEditor.py:1856 msgid "Graphic Panel" msgstr "Graphique" -#: ../PLCOpenEditor.py:3027 +#: ../PLCOpenEditor.py:3032 msgid "Graphics" msgstr "Graphiques" @@ -1245,11 +1249,11 @@ msgid "Greater than or equal to" msgstr "Supérieur ou égal à" -#: ../PLCOpenEditor.py:3014 +#: ../PLCOpenEditor.py:3019 msgid "Grid Resolution:" msgstr "Résolution de la grille :" -#: ../PLCOpenEditor.py:3006 +#: ../PLCOpenEditor.py:3011 msgid "Height:" msgstr "Hauteur :" @@ -1257,7 +1261,7 @@ msgid "Help" msgstr "Aide" -#: ../PLCOpenEditor.py:2741 +#: ../PLCOpenEditor.py:2746 msgid "Horizontal:" msgstr "Horizontal :" @@ -1267,10 +1271,10 @@ "The hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2." msgstr "" -#: ../PLCOpenEditor.py:3217 -#: ../PLCOpenEditor.py:3227 -#: ../PLCOpenEditor.py:3406 -#: ../PLCOpenEditor.py:3550 +#: ../PLCOpenEditor.py:3222 +#: ../PLCOpenEditor.py:3232 +#: ../PLCOpenEditor.py:3411 +#: ../PLCOpenEditor.py:3555 msgid "IL" msgstr "IL" @@ -1318,7 +1322,7 @@ msgstr "Inline" #: ../VariablePanel.py:71 -#: ../VariablePanel.py:1057 +#: ../VariablePanel.py:1068 #: ../dialogs/FBDVariableDialog.py:41 #: ../dialogs/SFCStepDialog.py:122 msgid "Input" @@ -1337,11 +1341,11 @@ msgid "Instance with id %d doesn't exist!" msgstr "L'instance dont l'id est %d n'existe pas !" -#: ../PLCOpenEditor.py:564 +#: ../PLCOpenEditor.py:565 msgid "Instances" msgstr "Instances" -#: ../RessourceEditor.py:397 +#: ../RessourceEditor.py:420 msgid "Instances:" msgstr "Instances :" @@ -1357,6 +1361,10 @@ msgid "Interface" msgstr "Interface" +#: ../RessourceEditor.py:86 +msgid "Interrupt" +msgstr "Interruption" + #: ../RessourceEditor.py:82 msgid "Interval" msgstr "Interval" @@ -1371,8 +1379,8 @@ msgid "Invalid value \"%s\" for \"%s\" variable!" msgstr "Valeur \"%s\" invalide pour une variable de type \"%s\" !" -#: ../PLCOpenEditor.py:4080 -#: ../PLCOpenEditor.py:4083 +#: ../PLCOpenEditor.py:4085 +#: ../PLCOpenEditor.py:4088 #, python-format msgid "Invalid value \"%s\" for debug variable" msgstr "Chemin de variable à déboguer \"%s\" invalide" @@ -1389,11 +1397,11 @@ msgid "Invalid value \"%s\" for viewer block" msgstr "Valeur \"%s\" invalide pour un élément graphique" -#: ../PLCOpenEditor.py:3022 -#: ../PLCOpenEditor.py:3217 -#: ../PLCOpenEditor.py:3227 -#: ../PLCOpenEditor.py:3406 -#: ../PLCOpenEditor.py:3550 +#: ../PLCOpenEditor.py:3027 +#: ../PLCOpenEditor.py:3222 +#: ../PLCOpenEditor.py:3232 +#: ../PLCOpenEditor.py:3411 +#: ../PLCOpenEditor.py:3555 msgid "LD" msgstr "LD" @@ -1403,19 +1411,19 @@ msgid "Ladder element with id %d is on more than one rung." msgstr "L'élément de LD dont l'id est %d apparait dans plusieurs échelons. " -#: ../PLCOpenEditor.py:3325 -#: ../PLCOpenEditor.py:3488 -#: ../PLCOpenEditor.py:3632 +#: ../PLCOpenEditor.py:3330 +#: ../PLCOpenEditor.py:3493 +#: ../PLCOpenEditor.py:3637 msgid "Language" msgstr "Langue" -#: ../PLCOpenEditor.py:3036 +#: ../PLCOpenEditor.py:3041 msgid "Language (optional):" msgstr "Langue (optionnel) :" -#: ../PLCOpenEditor.py:3293 -#: ../PLCOpenEditor.py:3461 -#: ../PLCOpenEditor.py:3605 +#: ../PLCOpenEditor.py:3298 +#: ../PLCOpenEditor.py:3466 +#: ../PLCOpenEditor.py:3610 msgid "Language:" msgstr "Langue :" @@ -1439,7 +1447,7 @@ msgid "Less than or equal to" msgstr "Inférieur ou égal à" -#: ../PLCOpenEditor.py:599 +#: ../PLCOpenEditor.py:600 msgid "Library" msgstr "Librairie" @@ -1455,7 +1463,7 @@ msgid "Location" msgstr "Adresse" -#: ../VariablePanel.py:1118 +#: ../VariablePanel.py:1129 msgid "Locations available:" msgstr "Adresses disponibles :" @@ -1471,7 +1479,7 @@ msgid "Maximum:" msgstr "Maximum :" -#: ../VariablePanel.py:1059 +#: ../VariablePanel.py:1070 msgid "Memory" msgstr "Mémoire" @@ -1487,7 +1495,7 @@ msgid "Minimum:" msgstr "Minimum :" -#: ../PLCOpenEditor.py:3051 +#: ../PLCOpenEditor.py:3056 msgid "Miscellaneous" msgstr "Divers" @@ -1520,7 +1528,7 @@ msgstr "Multiplication" #: ../RessourceEditor.py:82 -#: ../RessourceEditor.py:86 +#: ../RessourceEditor.py:91 #: ../VariablePanel.py:53 #: ../VariablePanel.py:54 #: ../DataTypeEditor.py:46 @@ -1544,7 +1552,7 @@ msgid "Negated" msgstr "Inversé" -#: ../PLCOpenEditor.py:2464 +#: ../PLCOpenEditor.py:2469 msgid "New\tCTRL+N" msgstr "Nouveau\tCTRL+N" @@ -1557,7 +1565,7 @@ msgid "No Modifier" msgstr "Pas de modificateur" -#: ../PLCControler.py:2663 +#: ../PLCControler.py:2669 msgid "No PLC project found" msgstr "Pas de projet d'automate trouvé" @@ -1572,7 +1580,7 @@ msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU" msgstr "Pas de connecteur trouvé pour le prolongement \"%s\" dans le POU \"%s\"" -#: ../PLCOpenEditor.py:2411 +#: ../PLCOpenEditor.py:2416 msgid "" "No documentation available.\n" "Coming soon." @@ -1626,7 +1634,7 @@ "The on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true." msgstr "" -#: ../PLCOpenEditor.py:2466 +#: ../PLCOpenEditor.py:2471 msgid "Open\tCTRL+O" msgstr "Ouvrir\tCTRL+O" @@ -1635,12 +1643,12 @@ msgid "Option" msgstr "Option" -#: ../PLCOpenEditor.py:2978 +#: ../PLCOpenEditor.py:2983 msgid "Organization (optional):" msgstr "Groupe (optionnel) :" #: ../VariablePanel.py:71 -#: ../VariablePanel.py:1058 +#: ../VariablePanel.py:1069 #: ../dialogs/FBDVariableDialog.py:43 #: ../dialogs/SFCStepDialog.py:127 msgid "Output" @@ -1654,53 +1662,53 @@ "PID\n" "Le bloc fonctionnel PID (Proportionnel, Intégrale, Dérivée) fournit un controller de boucle fermé classique à trois paramètres." -#: ../PLCOpenEditor.py:2630 -#: ../PLCOpenEditor.py:2694 +#: ../PLCOpenEditor.py:2635 +#: ../PLCOpenEditor.py:2699 msgid "PLCOpen files (*.xml)|*.xml|All files|*.*" msgstr "Fichiers PLCOpen (*.xml)|*.xml|Tous les fichiers|*.*" -#: ../PLCOpenEditor.py:2559 +#: ../PLCOpenEditor.py:2564 msgid "PLCOpenEditor" msgstr "PLCOpenEditor" -#: ../PLCOpenEditor.py:2508 +#: ../PLCOpenEditor.py:2513 msgid "PLCOpenEditor\tF1" msgstr "PLCOpenEditor\tF1" -#: ../PLCOpenEditor.py:3321 +#: ../PLCOpenEditor.py:3326 msgid "POU Name" msgstr "Nom du POU" -#: ../PLCOpenEditor.py:3276 +#: ../PLCOpenEditor.py:3281 msgid "POU Name:" msgstr "Nom du POU :" -#: ../PLCOpenEditor.py:3323 +#: ../PLCOpenEditor.py:3328 msgid "POU Type" msgstr "Type du POU" -#: ../PLCOpenEditor.py:3284 +#: ../PLCOpenEditor.py:3289 msgid "POU Type:" msgstr "Type du POU :" -#: ../PLCOpenEditor.py:2480 +#: ../PLCOpenEditor.py:2485 msgid "Page Setup" msgstr "Mise en page..." -#: ../PLCOpenEditor.py:2994 +#: ../PLCOpenEditor.py:2999 msgid "Page Size (optional):" msgstr "Taille de la page (optionnel) :" -#: ../PLCOpenEditor.py:4362 +#: ../PLCOpenEditor.py:4367 #, python-format msgid "Page: %d" msgstr "Page: %d" -#: ../PLCOpenEditor.py:330 +#: ../PLCOpenEditor.py:331 msgid "Paste\tCTRL+V" msgstr "Coller\tCTRL+V" -#: ../PLCOpenEditor.py:1663 +#: ../PLCOpenEditor.py:1668 msgid "Paste POU" msgstr "Coller un POU" @@ -1721,17 +1729,17 @@ msgid "Please enter comment text" msgstr "Saisissez le texte du commentaire" -#: ../PLCOpenEditor.py:2246 -#: ../PLCOpenEditor.py:3696 +#: ../PLCOpenEditor.py:2251 +#: ../PLCOpenEditor.py:3701 msgid "Please enter configuration name" msgstr "Saisissez le nom de la configuration" -#: ../PLCOpenEditor.py:2194 +#: ../PLCOpenEditor.py:2199 msgid "Please enter data type name" msgstr "Saisissez le nom du type de donnée" -#: ../PLCOpenEditor.py:2259 -#: ../PLCOpenEditor.py:3759 +#: ../PLCOpenEditor.py:2264 +#: ../PLCOpenEditor.py:3764 msgid "Please enter resource name" msgstr "Saisissez le nom de la ressource" @@ -1741,7 +1749,7 @@ msgid "Please enter step name" msgstr "Saisissez le nom de l'étape" -#: ../PLCOpenEditor.py:3167 +#: ../PLCOpenEditor.py:3172 msgid "Please enter text" msgstr "Saisissez le texte" @@ -1750,7 +1758,7 @@ msgid "Please enter value for a \"%s\" variable:" msgstr "Veuillez entrer la valeur pour une variable de type \"%s\" :" -#: ../VariablePanel.py:1185 +#: ../VariablePanel.py:1196 msgid "Plugins" msgstr "Plugins" @@ -1762,7 +1770,7 @@ msgid "Power Rail Properties" msgstr "Propriétés de la barre d'alimentation" -#: ../PLCOpenEditor.py:2482 +#: ../PLCOpenEditor.py:2487 msgid "Preview" msgstr "Aperçu avant impression" @@ -1777,11 +1785,11 @@ msgid "Preview:" msgstr "Aperçu :" -#: ../PLCOpenEditor.py:2484 +#: ../PLCOpenEditor.py:2489 msgid "Print" msgstr "Imprimer" -#: ../PLCOpenEditor.py:950 +#: ../PLCOpenEditor.py:951 msgid "Print preview" msgstr "Aperçu avant impression" @@ -1793,24 +1801,24 @@ msgid "Priority:" msgstr "Priorité :" -#: ../PLCOpenEditor.py:2922 +#: ../PLCOpenEditor.py:2927 msgid "Product Name (required):" msgstr "Nom du produit (obligatoire) :" -#: ../PLCOpenEditor.py:2938 +#: ../PLCOpenEditor.py:2943 msgid "Product Release (optional):" msgstr "Publication du produit (optionnel) :" -#: ../PLCOpenEditor.py:2930 +#: ../PLCOpenEditor.py:2935 msgid "Product Version (required):" msgstr "Version du produit (obligatoire) :" -#: ../PLCOpenEditor.py:341 -#: ../PLCOpenEditor.py:1622 +#: ../PLCOpenEditor.py:342 +#: ../PLCOpenEditor.py:1627 msgid "Program" msgstr "Programme" -#: ../PLCOpenEditor.py:2671 +#: ../PLCOpenEditor.py:2676 msgid "Program was successfully generated!" msgstr "Le programme a été généré avec succès !" @@ -1822,20 +1830,20 @@ msgid "Programs can't be used by other POUs!" msgstr "Les programmes ne peuvent être utilisés par les autres POUs !" -#: ../PLCOpenEditor.py:442 -#: ../PLCOpenEditor.py:2945 +#: ../PLCOpenEditor.py:443 +#: ../PLCOpenEditor.py:2950 msgid "Project" msgstr "Projet" -#: ../PLCOpenEditor.py:2906 +#: ../PLCOpenEditor.py:2911 msgid "Project Name (required):" msgstr "Nom du projet (obligatoire) :" -#: ../PLCOpenEditor.py:2914 +#: ../PLCOpenEditor.py:2919 msgid "Project Version (optional):" msgstr "Version du projet (optionnel) :" -#: ../PLCControler.py:2650 +#: ../PLCControler.py:2656 msgid "" "Project file syntax error:\n" "\n" @@ -1843,11 +1851,11 @@ "Erreur de syntaxe dans le fichier du projet :\n" "\n" -#: ../PLCOpenEditor.py:2892 +#: ../PLCOpenEditor.py:2897 msgid "Project properties" msgstr "Propriétés du projet" -#: ../PLCOpenEditor.py:2487 +#: ../PLCOpenEditor.py:2492 #: ../PLCControler.py:91 msgid "Properties" msgstr "Propriétés" @@ -1862,7 +1870,7 @@ msgid "Qualifier" msgstr "Qualificatif" -#: ../PLCOpenEditor.py:2490 +#: ../PLCOpenEditor.py:2495 msgid "Quit\tCTRL+Q" msgstr "Quitter\tCTRL+Q" @@ -1895,11 +1903,11 @@ msgid "Reference" msgstr "Référence" -#: ../PLCOpenEditor.py:369 +#: ../PLCOpenEditor.py:370 msgid "Refresh\tF5" msgstr "Actualiser\tF5" -#: ../PLCOpenEditor.py:4235 +#: ../PLCOpenEditor.py:4240 #: ../Viewer.py:1098 msgid "Release value" msgstr "Relacher la valeur" @@ -1908,7 +1916,7 @@ msgid "Remainder (modulo)" msgstr "Modulo" -#: ../PLCOpenEditor.py:1626 +#: ../PLCOpenEditor.py:1631 msgid "Rename" msgstr "Renommer" @@ -1969,8 +1977,8 @@ msgid "Rounding up/down" msgstr "Arrondi" -#: ../PLCOpenEditor.py:3022 -#: ../PLCOpenEditor.py:3227 +#: ../PLCOpenEditor.py:3027 +#: ../PLCOpenEditor.py:3232 msgid "SFC" msgstr "SFC" @@ -1982,26 +1990,26 @@ "Bascule SR\n" "La bascule SR est une bascule où le Set est dominant." -#: ../PLCOpenEditor.py:3217 -#: ../PLCOpenEditor.py:3227 -#: ../PLCOpenEditor.py:3406 -#: ../PLCOpenEditor.py:3550 +#: ../PLCOpenEditor.py:3222 +#: ../PLCOpenEditor.py:3232 +#: ../PLCOpenEditor.py:3411 +#: ../PLCOpenEditor.py:3555 msgid "ST" msgstr "ST" -#: ../PLCOpenEditor.py:2658 +#: ../PLCOpenEditor.py:2663 msgid "ST files (*.st)|*.st|All files|*.*" msgstr "Fichiers ST (*.st)|*.st|Tous les fichiers|*.*" -#: ../PLCOpenEditor.py:2473 +#: ../PLCOpenEditor.py:2478 msgid "Save\tCTRL+S" msgstr "Enregistrer\tCTRL+S" -#: ../PLCOpenEditor.py:2475 +#: ../PLCOpenEditor.py:2480 msgid "Save As...\tCTRL+SHIFT+S" msgstr "Enregistrer sous...\tCTRL+SHIFT+S" -#: ../PLCOpenEditor.py:345 +#: ../PLCOpenEditor.py:346 msgid "Select All\tCTRL+A" msgstr "Tout sélectionner\tCTRL+A" @@ -2009,8 +2017,8 @@ msgid "Select a variable class:" msgstr "Sélectionner une direction pour la variable :" -#: ../PLCOpenEditor.py:575 -#: ../PLCOpenEditor.py:587 +#: ../PLCOpenEditor.py:576 +#: ../PLCOpenEditor.py:588 msgid "Select an object" msgstr "Sélectionner un objet" @@ -2086,11 +2094,11 @@ msgid "Tangent" msgstr "Tangente" -#: ../RessourceEditor.py:86 +#: ../RessourceEditor.py:91 msgid "Task" msgstr "Tâche" -#: ../RessourceEditor.py:361 +#: ../RessourceEditor.py:384 msgid "Tasks:" msgstr "Tâches :" @@ -2102,17 +2110,17 @@ msgid "The group of block must be coherent!" msgstr "Le groupe de blocs doit être cohérent !" -#: ../PLCOpenEditor.py:889 +#: ../PLCOpenEditor.py:890 msgid "There are changes, do you want to save?" msgstr "Le projet a été modifié. Voulez-vous l'enregistrer ?" -#: ../PLCOpenEditor.py:1425 -#: ../PLCOpenEditor.py:1445 +#: ../PLCOpenEditor.py:1430 +#: ../PLCOpenEditor.py:1450 #, python-format msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?" msgstr "Un POU a pour nom \"%s\". Cela peut générer des conflits. Voulez-vous continuer ?" -#: ../PLCOpenEditor.py:969 +#: ../PLCOpenEditor.py:974 msgid "" "There was a problem printing.\n" "Perhaps your current printer is not set correctly?" @@ -2168,7 +2176,7 @@ msgid "Time-of-day subtraction" msgstr "Soustraction d'horodatage" -#: ../PLCOpenEditor.py:579 +#: ../PLCOpenEditor.py:580 msgid "Toolbar" msgstr "Barre d'outils" @@ -2176,11 +2184,11 @@ msgid "Top" msgstr "Haut" -#: ../PLCOpenEditor.py:3486 +#: ../PLCOpenEditor.py:3491 msgid "Transition Name" msgstr "Nom de la transition" -#: ../PLCOpenEditor.py:3453 +#: ../PLCOpenEditor.py:3458 msgid "Transition Name:" msgstr "Nom de la transition :" @@ -2203,7 +2211,11 @@ msgid "Transitions" msgstr "Transitions" -#: ../RessourceEditor.py:86 +#: ../RessourceEditor.py:82 +msgid "Triggering" +msgstr "Activation" + +#: ../RessourceEditor.py:91 #: ../VariablePanel.py:53 #: ../VariablePanel.py:54 #: ../dialogs/ActionBlockDialog.py:33 @@ -2227,7 +2239,7 @@ msgid "Type:" msgstr "Type :" -#: ../PLCOpenEditor.py:545 +#: ../PLCOpenEditor.py:546 msgid "Types" msgstr "Types" @@ -2271,7 +2283,7 @@ "Compteur bidirectionnel\n" "Le compteur bidirectionnel a deux entrées CU et CD. Il peut être utilisé pour compter de façon incrémentale ou décrémentale sur l'une ou l'autre des entrées." -#: ../VariablePanel.py:790 +#: ../VariablePanel.py:799 #: ../DataTypeEditor.py:807 msgid "User Data Types" msgstr "Types de donnée du projet" @@ -2280,7 +2292,7 @@ msgid "User-defined POUs" msgstr "POUs du projet" -#: ../PLCOpenEditor.py:3895 +#: ../PLCOpenEditor.py:3900 #: ../dialogs/ActionBlockDialog.py:33 msgid "Value" msgstr "Valeur" @@ -2293,7 +2305,7 @@ msgid "Values:" msgstr "Valeurs" -#: ../PLCOpenEditor.py:3895 +#: ../PLCOpenEditor.py:3900 #: ../dialogs/ActionBlockDialog.py:37 msgid "Variable" msgstr "Variable" @@ -2311,23 +2323,23 @@ msgid "Variable don't belong to this POU!" msgstr "La variable n'appartient pas à ce POU !" -#: ../PLCOpenEditor.py:594 +#: ../PLCOpenEditor.py:595 #: ../VariablePanel.py:72 msgid "Variables" msgstr "Variables" -#: ../PLCOpenEditor.py:2749 +#: ../PLCOpenEditor.py:2754 msgid "Vertical:" msgstr "Vertical :" -#: ../PLCOpenEditor.py:3351 -#: ../PLCOpenEditor.py:3729 -#: ../PLCOpenEditor.py:3792 +#: ../PLCOpenEditor.py:3356 +#: ../PLCOpenEditor.py:3734 +#: ../PLCOpenEditor.py:3797 #: ../LDViewer.py:890 msgid "Warning" msgstr "Attention" -#: ../PLCOpenEditor.py:2998 +#: ../PLCOpenEditor.py:3003 msgid "Width:" msgstr "Longueur :" @@ -2339,9 +2351,9 @@ msgid "You must select the wire where a contact should be added!" msgstr "Vous devez sélectionner le fil sur lequel le contact doit être ajouté !" -#: ../PLCOpenEditor.py:3182 -#: ../PLCOpenEditor.py:3713 -#: ../PLCOpenEditor.py:3776 +#: ../PLCOpenEditor.py:3187 +#: ../PLCOpenEditor.py:3718 +#: ../PLCOpenEditor.py:3781 #: ../dialogs/PouNameDialog.py:55 #: ../dialogs/SFCStepDialog.py:175 #: ../dialogs/SFCStepNameDialog.py:57 @@ -2352,37 +2364,37 @@ msgid "You must type a value!" msgstr "Vous devez saisir une valeur !" -#: ../PLCOpenEditor.py:375 +#: ../PLCOpenEditor.py:376 msgid "Zoom" msgstr "Zoom" -#: ../PLCOpenEditor.py:2667 +#: ../PLCOpenEditor.py:2672 #, python-format msgid "error: %s\n" msgstr "erreur: %s\n" -#: ../PLCOpenEditor.py:4394 -#: ../PLCOpenEditor.py:4396 +#: ../PLCOpenEditor.py:4399 +#: ../PLCOpenEditor.py:4401 msgid "file : " msgstr "fichier :" -#: ../PLCOpenEditor.py:3222 +#: ../PLCOpenEditor.py:3227 msgid "function" msgstr "fonction" -#: ../PLCOpenEditor.py:4397 +#: ../PLCOpenEditor.py:4402 msgid "function : " msgstr "fonction :" -#: ../PLCOpenEditor.py:3222 +#: ../PLCOpenEditor.py:3227 msgid "functionBlock" msgstr "Bloc fonctionnel" -#: ../PLCOpenEditor.py:4397 +#: ../PLCOpenEditor.py:4402 msgid "line : " msgstr "ligne :" -#: ../PLCOpenEditor.py:3222 +#: ../PLCOpenEditor.py:3227 msgid "program" msgstr "programme" @@ -2398,7 +2410,7 @@ msgid "string right of" msgstr "Caractères à droite de" -#: ../PLCOpenEditor.py:2665 +#: ../PLCOpenEditor.py:2670 #, python-format msgid "warning: %s\n" msgstr "attention: %s\n" diff -r 984c51d1bf6b -r 3757f0de0d07 i18n/messages.pot --- a/i18n/messages.pot Thu Sep 15 22:29:32 2011 +0200 +++ b/i18n/messages.pot Tue Sep 20 23:58:31 2011 +0200 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-09-13 12:41+0200\n" +"POT-Creation-Date: 2011-09-20 23:54+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,7 @@ "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: ../PLCOpenEditor.py:4406 +#: ../PLCOpenEditor.py:4411 msgid "" "\n" "An error has occurred.\n" @@ -54,11 +54,11 @@ msgid " Temp" msgstr "" -#: ../PLCOpenEditor.py:4416 +#: ../PLCOpenEditor.py:4421 msgid " : " msgstr "" -#: ../PLCOpenEditor.py:3332 ../PLCOpenEditor.py:3495 ../PLCOpenEditor.py:3639 +#: ../PLCOpenEditor.py:3337 ../PLCOpenEditor.py:3500 ../PLCOpenEditor.py:3644 #: ../dialogs/SFCTransitionDialog.py:206 #, python-format msgid " and %s" @@ -84,7 +84,7 @@ msgid "\"%s\" can't use itself!" msgstr "" -#: ../PLCOpenEditor.py:1422 ../PLCOpenEditor.py:1442 +#: ../PLCOpenEditor.py:1427 ../PLCOpenEditor.py:1447 #, python-format msgid "\"%s\" config already exists!" msgstr "" @@ -94,7 +94,7 @@ msgid "\"%s\" configuration already exists !!!" msgstr "" -#: ../PLCOpenEditor.py:1376 ../PLCOpenEditor.py:3194 +#: ../PLCOpenEditor.py:1381 ../PLCOpenEditor.py:3199 #, python-format msgid "\"%s\" data type already exists!" msgstr "" @@ -104,7 +104,7 @@ msgid "\"%s\" element can't be pasted here!!!" msgstr "" -#: ../PLCOpenEditor.py:3514 ../PLCOpenEditor.py:3658 ../Viewer.py:250 +#: ../PLCOpenEditor.py:3519 ../PLCOpenEditor.py:3663 ../Viewer.py:250 #: ../TextViewer.py:245 ../TextViewer.py:262 #: ../dialogs/ConnectionDialog.py:215 ../dialogs/FBDBlockDialog.py:260 #, python-format @@ -116,9 +116,9 @@ msgid "\"%s\" function cancelled in \"%s\" POU: No input connected" msgstr "" -#: ../PLCOpenEditor.py:1367 ../PLCOpenEditor.py:3190 ../PLCOpenEditor.py:3343 -#: ../PLCOpenEditor.py:3506 ../PLCOpenEditor.py:3650 ../PLCOpenEditor.py:3721 -#: ../PLCOpenEditor.py:3784 ../VariablePanel.py:735 +#: ../PLCOpenEditor.py:1372 ../PLCOpenEditor.py:3195 ../PLCOpenEditor.py:3348 +#: ../PLCOpenEditor.py:3511 ../PLCOpenEditor.py:3655 ../PLCOpenEditor.py:3726 +#: ../PLCOpenEditor.py:3789 ../VariablePanel.py:744 #: ../dialogs/ConnectionDialog.py:207 ../dialogs/FBDBlockDialog.py:252 #: ../dialogs/FBDVariableDialog.py:268 ../dialogs/PouNameDialog.py:63 #: ../dialogs/SFCStepDialog.py:183 ../dialogs/SFCStepNameDialog.py:65 @@ -137,14 +137,14 @@ msgid "\"%s\" is an invalid value!" msgstr "" -#: ../PLCOpenEditor.py:2673 ../PLCOpenEditor.py:2702 +#: ../PLCOpenEditor.py:2678 ../PLCOpenEditor.py:2707 #, python-format msgid "\"%s\" is not a valid folder!" msgstr "" -#: ../PLCOpenEditor.py:1365 ../PLCOpenEditor.py:3186 ../PLCOpenEditor.py:3339 -#: ../PLCOpenEditor.py:3502 ../PLCOpenEditor.py:3646 ../PLCOpenEditor.py:3717 -#: ../PLCOpenEditor.py:3780 ../VariablePanel.py:730 +#: ../PLCOpenEditor.py:1370 ../PLCOpenEditor.py:3191 ../PLCOpenEditor.py:3344 +#: ../PLCOpenEditor.py:3507 ../PLCOpenEditor.py:3651 ../PLCOpenEditor.py:3722 +#: ../PLCOpenEditor.py:3785 ../VariablePanel.py:739 #: ../dialogs/ConnectionDialog.py:203 ../dialogs/FBDBlockDialog.py:248 #: ../dialogs/PouNameDialog.py:59 ../dialogs/SFCStepDialog.py:179 #: ../dialogs/SFCStepNameDialog.py:61 ../DataTypeEditor.py:760 @@ -152,12 +152,12 @@ msgid "\"%s\" is not a valid identifier!" msgstr "" -#: ../PLCOpenEditor.py:288 ../PLCOpenEditor.py:2322 ../PLCOpenEditor.py:2342 +#: ../PLCOpenEditor.py:288 ../PLCOpenEditor.py:2327 ../PLCOpenEditor.py:2347 #, python-format msgid "\"%s\" is used by one or more POUs. It can't be removed!" msgstr "" -#: ../PLCOpenEditor.py:1385 ../PLCOpenEditor.py:3347 ../Viewer.py:248 +#: ../PLCOpenEditor.py:1390 ../PLCOpenEditor.py:3352 ../Viewer.py:248 #: ../Viewer.py:274 ../TextViewer.py:243 ../TextViewer.py:260 #: ../dialogs/ConnectionDialog.py:211 ../dialogs/FBDBlockDialog.py:256 #, python-format @@ -218,49 +218,49 @@ msgid "%s body don't have text!" msgstr "" -#: ../PLCOpenEditor.py:4394 ../PLCOpenEditor.py:4396 ../PLCOpenEditor.py:4397 +#: ../PLCOpenEditor.py:4399 ../PLCOpenEditor.py:4401 ../PLCOpenEditor.py:4402 msgid ", " msgstr "" -#: ../PLCOpenEditor.py:3334 ../PLCOpenEditor.py:3497 ../PLCOpenEditor.py:3641 +#: ../PLCOpenEditor.py:3339 ../PLCOpenEditor.py:3502 ../PLCOpenEditor.py:3646 #: ../dialogs/SFCTransitionDialog.py:208 #, python-format msgid ", %s" msgstr "" -#: ../PLCOpenEditor.py:4392 +#: ../PLCOpenEditor.py:4397 msgid ". " msgstr "" -#: ../PLCOpenEditor.py:1388 ../PLCOpenEditor.py:1430 ../PLCOpenEditor.py:1450 -#: ../PLCOpenEditor.py:3351 ../PLCOpenEditor.py:3729 ../PLCOpenEditor.py:3792 +#: ../PLCOpenEditor.py:1393 ../PLCOpenEditor.py:1435 ../PLCOpenEditor.py:1455 +#: ../PLCOpenEditor.py:3356 ../PLCOpenEditor.py:3734 ../PLCOpenEditor.py:3797 #, python-format msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?" msgstr "" -#: ../PLCOpenEditor.py:1401 ../PLCOpenEditor.py:1412 ../PLCOpenEditor.py:3510 -#: ../PLCOpenEditor.py:3654 ../PLCOpenEditor.py:3725 ../PLCOpenEditor.py:3788 -#: ../VariablePanel.py:740 ../dialogs/PouNameDialog.py:67 +#: ../PLCOpenEditor.py:1406 ../PLCOpenEditor.py:1417 ../PLCOpenEditor.py:3515 +#: ../PLCOpenEditor.py:3659 ../PLCOpenEditor.py:3730 ../PLCOpenEditor.py:3793 +#: ../VariablePanel.py:749 ../dialogs/PouNameDialog.py:67 #: ../dialogs/SFCStepDialog.py:187 ../dialogs/SFCStepNameDialog.py:69 #, python-format msgid "A POU named \"%s\" already exists!" msgstr "" -#: ../VariablePanel.py:1239 +#: ../VariablePanel.py:1250 msgid "A location must be selected!" msgstr "" -#: ../PLCOpenEditor.py:1403 ../PLCOpenEditor.py:1414 ../VariablePanel.py:745 +#: ../PLCOpenEditor.py:1408 ../PLCOpenEditor.py:1419 ../VariablePanel.py:754 #: ../dialogs/SFCStepDialog.py:191 ../dialogs/SFCStepNameDialog.py:73 #, python-format msgid "A variable with \"%s\" as name already exists in this pou!" msgstr "" -#: ../PLCOpenEditor.py:2514 +#: ../PLCOpenEditor.py:2519 msgid "About" msgstr "" -#: ../PLCOpenEditor.py:2417 +#: ../PLCOpenEditor.py:2422 msgid "About PLCOpenEditor" msgstr "" @@ -272,11 +272,11 @@ msgid "Action" msgstr "" -#: ../PLCOpenEditor.py:3630 +#: ../PLCOpenEditor.py:3635 msgid "Action Name" msgstr "" -#: ../PLCOpenEditor.py:3597 +#: ../PLCOpenEditor.py:3602 msgid "Action Name:" msgstr "" @@ -298,15 +298,15 @@ msgid "Add" msgstr "" -#: ../PLCOpenEditor.py:1606 ../PLCOpenEditor.py:1689 +#: ../PLCOpenEditor.py:1611 ../PLCOpenEditor.py:1694 msgid "Add Action" msgstr "" -#: ../PLCOpenEditor.py:1672 +#: ../PLCOpenEditor.py:1677 msgid "Add Configuration" msgstr "" -#: ../PLCOpenEditor.py:1652 +#: ../PLCOpenEditor.py:1657 msgid "Add DataType" msgstr "" @@ -314,27 +314,27 @@ msgid "Add Divergence Branch" msgstr "" -#: ../PLCOpenEditor.py:333 +#: ../PLCOpenEditor.py:334 msgid "Add Element" msgstr "" -#: ../RessourceEditor.py:412 +#: ../RessourceEditor.py:435 msgid "Add Instance" msgstr "" -#: ../PLCOpenEditor.py:1659 +#: ../PLCOpenEditor.py:1664 msgid "Add POU" msgstr "" -#: ../PLCOpenEditor.py:1635 ../PLCOpenEditor.py:1700 +#: ../PLCOpenEditor.py:1640 ../PLCOpenEditor.py:1705 msgid "Add Resource" msgstr "" -#: ../RessourceEditor.py:376 +#: ../RessourceEditor.py:399 msgid "Add Task" msgstr "" -#: ../PLCOpenEditor.py:1603 ../PLCOpenEditor.py:1678 +#: ../PLCOpenEditor.py:1608 ../PLCOpenEditor.py:1683 msgid "Add Transition" msgstr "" @@ -342,7 +342,7 @@ msgid "Add Wire Segment" msgstr "" -#: ../PLCOpenEditor.py:2194 +#: ../PLCOpenEditor.py:2199 msgid "Add a new data type" msgstr "" @@ -358,11 +358,11 @@ msgid "Add a new step" msgstr "" -#: ../PLCOpenEditor.py:2246 +#: ../PLCOpenEditor.py:2251 msgid "Add new configuration" msgstr "" -#: ../PLCOpenEditor.py:2259 +#: ../PLCOpenEditor.py:2264 msgid "Add new resource" msgstr "" @@ -378,7 +378,7 @@ msgid "Alignment" msgstr "" -#: ../VariablePanel.py:70 ../VariablePanel.py:1056 ../VariablePanel.py:1173 +#: ../VariablePanel.py:70 ../VariablePanel.py:1067 ../VariablePanel.py:1184 msgid "All" msgstr "" @@ -403,7 +403,7 @@ msgid "Arithmetic" msgstr "" -#: ../VariablePanel.py:798 ../DataTypeEditor.py:236 +#: ../VariablePanel.py:807 ../DataTypeEditor.py:236 msgid "Array" msgstr "" @@ -415,11 +415,11 @@ msgid "At least a variable or an expression must be selected!" msgstr "" -#: ../PLCOpenEditor.py:2985 +#: ../PLCOpenEditor.py:2990 msgid "Author" msgstr "" -#: ../PLCOpenEditor.py:2970 +#: ../PLCOpenEditor.py:2975 msgid "Author Name (optional):" msgstr "" @@ -427,7 +427,7 @@ msgid "Base Type:" msgstr "" -#: ../VariablePanel.py:778 ../DataTypeEditor.py:801 +#: ../VariablePanel.py:787 ../DataTypeEditor.py:801 msgid "Base Types" msgstr "" @@ -463,7 +463,7 @@ msgid "Block Properties" msgstr "" -#: ../PLCOpenEditor.py:1913 ../dialogs/FBDBlockDialog.py:268 +#: ../PLCOpenEditor.py:1918 ../dialogs/FBDBlockDialog.py:268 msgid "Block Types" msgstr "" @@ -471,11 +471,11 @@ msgid "Bottom" msgstr "" -#: ../VariablePanel.py:1115 +#: ../VariablePanel.py:1126 msgid "Browse Locations" msgstr "" -#: ../PLCOpenEditor.py:1854 +#: ../PLCOpenEditor.py:1859 msgid "CSV Log" msgstr "" @@ -488,7 +488,7 @@ msgid "Can only give a location to local or global variables" msgstr "" -#: ../PLCOpenEditor.py:2668 +#: ../PLCOpenEditor.py:2673 #, python-format msgid "Can't generate program to file %s!" msgstr "" @@ -497,7 +497,7 @@ msgid "Can't give a location to a function block instance" msgstr "" -#: ../PLCOpenEditor.py:2700 +#: ../PLCOpenEditor.py:2705 #, python-format msgid "Can't save project to file %s!" msgstr "" @@ -506,7 +506,7 @@ msgid "Center" msgstr "" -#: ../PLCOpenEditor.py:1624 +#: ../PLCOpenEditor.py:1629 msgid "Change POU Type To" msgstr "" @@ -514,7 +514,7 @@ msgid "Character string" msgstr "" -#: ../PLCOpenEditor.py:2630 ../PLCOpenEditor.py:2658 ../PLCOpenEditor.py:2694 +#: ../PLCOpenEditor.py:2635 ../PLCOpenEditor.py:2663 ../PLCOpenEditor.py:2699 msgid "Choose a file" msgstr "" @@ -530,7 +530,7 @@ msgid "Class:" msgstr "" -#: ../PLCOpenEditor.py:372 +#: ../PLCOpenEditor.py:373 msgid "Clear Errors\tCTRL+K" msgstr "" @@ -538,15 +538,15 @@ msgid "Clear Execution Order" msgstr "" -#: ../PLCOpenEditor.py:2548 +#: ../PLCOpenEditor.py:2553 msgid "Close Application" msgstr "" -#: ../PLCOpenEditor.py:887 ../PLCOpenEditor.py:2470 +#: ../PLCOpenEditor.py:888 ../PLCOpenEditor.py:2475 msgid "Close Project" msgstr "" -#: ../PLCOpenEditor.py:2468 +#: ../PLCOpenEditor.py:2473 msgid "Close Tab\tCTRL+W" msgstr "" @@ -554,11 +554,11 @@ msgid "Comment" msgstr "" -#: ../PLCOpenEditor.py:2954 +#: ../PLCOpenEditor.py:2959 msgid "Company Name (required):" msgstr "" -#: ../PLCOpenEditor.py:2962 +#: ../PLCOpenEditor.py:2967 msgid "Company URL (optional):" msgstr "" @@ -570,7 +570,7 @@ msgid "Concatenation" msgstr "" -#: ../PLCOpenEditor.py:343 +#: ../PLCOpenEditor.py:344 msgid "Configuration" msgstr "" @@ -598,7 +598,7 @@ msgid "Constant" msgstr "" -#: ../PLCOpenEditor.py:3044 +#: ../PLCOpenEditor.py:3049 msgid "Content Description (optional):" msgstr "" @@ -622,11 +622,11 @@ msgid "Conversion to time-of-day" msgstr "" -#: ../PLCOpenEditor.py:328 +#: ../PLCOpenEditor.py:329 msgid "Copy\tCTRL+C" msgstr "" -#: ../PLCOpenEditor.py:1611 +#: ../PLCOpenEditor.py:1616 msgid "Copy POU" msgstr "" @@ -638,11 +638,11 @@ msgid "Couldn't paste non-POU object." msgstr "" -#: ../PLCOpenEditor.py:3272 +#: ../PLCOpenEditor.py:3277 msgid "Create a new POU" msgstr "" -#: ../PLCOpenEditor.py:3593 +#: ../PLCOpenEditor.py:3598 msgid "Create a new action" msgstr "" @@ -702,7 +702,7 @@ msgid "Create a new step" msgstr "" -#: ../PLCOpenEditor.py:217 ../PLCOpenEditor.py:3449 +#: ../PLCOpenEditor.py:217 ../PLCOpenEditor.py:3454 msgid "Create a new transition" msgstr "" @@ -710,10 +710,14 @@ msgid "Create a new variable" msgstr "" -#: ../PLCOpenEditor.py:326 +#: ../PLCOpenEditor.py:327 msgid "Cut\tCTRL+X" msgstr "" +#: ../RessourceEditor.py:86 +msgid "Cyclic" +msgstr "" + #: ../plcopen/iec_std.csv:42 ../plcopen/iec_std.csv:44 #: ../plcopen/iec_std.csv:46 ../plcopen/iec_std.csv:50 #: ../plcopen/iec_std.csv:52 ../plcopen/iec_std.csv:54 @@ -722,7 +726,7 @@ msgid "DEPRECATED" msgstr "" -#: ../PLCOpenEditor.py:335 +#: ../PLCOpenEditor.py:336 msgid "Data Type" msgstr "" @@ -752,12 +756,12 @@ msgid "Debug: %s" msgstr "" -#: ../PLCOpenEditor.py:623 +#: ../PLCOpenEditor.py:624 msgid "Debugger" msgstr "" -#: ../PLCOpenEditor.py:347 ../PLCOpenEditor.py:1629 ../PLCOpenEditor.py:1638 -#: ../PLCOpenEditor.py:1644 ../PLCOpenEditor.py:4164 ../Viewer.py:415 +#: ../PLCOpenEditor.py:348 ../PLCOpenEditor.py:1634 ../PLCOpenEditor.py:1643 +#: ../PLCOpenEditor.py:1649 ../PLCOpenEditor.py:4169 ../Viewer.py:415 #: ../VariablePanel.py:504 ../dialogs/ActionBlockDialog.py:279 #: ../DataTypeEditor.py:544 msgid "Delete" @@ -767,11 +771,11 @@ msgid "Delete Divergence Branch" msgstr "" -#: ../RessourceEditor.py:417 +#: ../RessourceEditor.py:440 msgid "Delete Instance" msgstr "" -#: ../RessourceEditor.py:381 +#: ../RessourceEditor.py:404 msgid "Delete Task" msgstr "" @@ -801,7 +805,7 @@ msgid "Dimensions:" msgstr "" -#: ../VariablePanel.py:1132 +#: ../VariablePanel.py:1143 msgid "Direction:" msgstr "" @@ -821,7 +825,7 @@ msgid "Documentation" msgstr "" -#: ../PLCOpenEditor.py:2662 +#: ../PLCOpenEditor.py:2667 msgid "Done" msgstr "" @@ -883,7 +887,7 @@ msgid "Elements :" msgstr "" -#: ../PLCOpenEditor.py:323 +#: ../PLCOpenEditor.py:324 msgid "Enable Undo/Redo" msgstr "" @@ -895,23 +899,23 @@ msgid "Equal to" msgstr "" -#: ../PLCOpenEditor.py:881 ../PLCOpenEditor.py:1388 ../PLCOpenEditor.py:1425 -#: ../PLCOpenEditor.py:1430 ../PLCOpenEditor.py:1445 ../PLCOpenEditor.py:1450 -#: ../PLCOpenEditor.py:2300 ../PLCOpenEditor.py:2669 ../PLCOpenEditor.py:2674 -#: ../PLCOpenEditor.py:3090 ../PLCOpenEditor.py:3182 ../PLCOpenEditor.py:3186 -#: ../PLCOpenEditor.py:3190 ../PLCOpenEditor.py:3194 ../PLCOpenEditor.py:3335 -#: ../PLCOpenEditor.py:3339 ../PLCOpenEditor.py:3343 ../PLCOpenEditor.py:3347 -#: ../PLCOpenEditor.py:3498 ../PLCOpenEditor.py:3502 ../PLCOpenEditor.py:3506 -#: ../PLCOpenEditor.py:3510 ../PLCOpenEditor.py:3514 ../PLCOpenEditor.py:3642 -#: ../PLCOpenEditor.py:3646 ../PLCOpenEditor.py:3650 ../PLCOpenEditor.py:3654 -#: ../PLCOpenEditor.py:3658 ../PLCOpenEditor.py:3713 ../PLCOpenEditor.py:3717 -#: ../PLCOpenEditor.py:3721 ../PLCOpenEditor.py:3725 ../PLCOpenEditor.py:3776 -#: ../PLCOpenEditor.py:3780 ../PLCOpenEditor.py:3784 ../PLCOpenEditor.py:3788 -#: ../PLCOpenEditor.py:4091 ../PLCOpenEditor.py:4417 ../PLCOpenEditor.py:4427 +#: ../PLCOpenEditor.py:882 ../PLCOpenEditor.py:1393 ../PLCOpenEditor.py:1430 +#: ../PLCOpenEditor.py:1435 ../PLCOpenEditor.py:1450 ../PLCOpenEditor.py:1455 +#: ../PLCOpenEditor.py:2305 ../PLCOpenEditor.py:2674 ../PLCOpenEditor.py:2679 +#: ../PLCOpenEditor.py:3095 ../PLCOpenEditor.py:3187 ../PLCOpenEditor.py:3191 +#: ../PLCOpenEditor.py:3195 ../PLCOpenEditor.py:3199 ../PLCOpenEditor.py:3340 +#: ../PLCOpenEditor.py:3344 ../PLCOpenEditor.py:3348 ../PLCOpenEditor.py:3352 +#: ../PLCOpenEditor.py:3503 ../PLCOpenEditor.py:3507 ../PLCOpenEditor.py:3511 +#: ../PLCOpenEditor.py:3515 ../PLCOpenEditor.py:3519 ../PLCOpenEditor.py:3647 +#: ../PLCOpenEditor.py:3651 ../PLCOpenEditor.py:3655 ../PLCOpenEditor.py:3659 +#: ../PLCOpenEditor.py:3663 ../PLCOpenEditor.py:3718 ../PLCOpenEditor.py:3722 +#: ../PLCOpenEditor.py:3726 ../PLCOpenEditor.py:3730 ../PLCOpenEditor.py:3781 +#: ../PLCOpenEditor.py:3785 ../PLCOpenEditor.py:3789 ../PLCOpenEditor.py:3793 +#: ../PLCOpenEditor.py:4096 ../PLCOpenEditor.py:4422 ../PLCOpenEditor.py:4432 #: ../Viewer.py:334 ../TextViewer.py:281 ../LDViewer.py:665 ../LDViewer.py:881 -#: ../LDViewer.py:885 ../VariablePanel.py:374 ../VariablePanel.py:730 -#: ../VariablePanel.py:735 ../VariablePanel.py:740 ../VariablePanel.py:745 -#: ../VariablePanel.py:1239 ../dialogs/ConnectionDialog.py:199 +#: ../LDViewer.py:885 ../VariablePanel.py:374 ../VariablePanel.py:739 +#: ../VariablePanel.py:744 ../VariablePanel.py:749 ../VariablePanel.py:754 +#: ../VariablePanel.py:1250 ../dialogs/ConnectionDialog.py:199 #: ../dialogs/ConnectionDialog.py:203 ../dialogs/ConnectionDialog.py:207 #: ../dialogs/ConnectionDialog.py:211 ../dialogs/ConnectionDialog.py:215 #: ../dialogs/FBDBlockDialog.py:240 ../dialogs/FBDBlockDialog.py:244 @@ -957,8 +961,8 @@ msgid "External" msgstr "" -#: ../PLCOpenEditor.py:3022 ../PLCOpenEditor.py:3217 ../PLCOpenEditor.py:3227 -#: ../PLCOpenEditor.py:3406 ../PLCOpenEditor.py:3550 +#: ../PLCOpenEditor.py:3027 ../PLCOpenEditor.py:3222 ../PLCOpenEditor.py:3232 +#: ../PLCOpenEditor.py:3411 ../PLCOpenEditor.py:3555 msgid "FBD" msgstr "" @@ -980,7 +984,7 @@ msgid "Find position" msgstr "" -#: ../PLCOpenEditor.py:4232 ../Viewer.py:1095 +#: ../PLCOpenEditor.py:4237 ../Viewer.py:1095 msgid "Force value" msgstr "" @@ -988,8 +992,8 @@ msgid "Forcing Variable Value" msgstr "" -#: ../PLCOpenEditor.py:3090 ../PLCOpenEditor.py:3335 ../PLCOpenEditor.py:3498 -#: ../PLCOpenEditor.py:3642 ../dialogs/SFCTransitionDialog.py:209 +#: ../PLCOpenEditor.py:3095 ../PLCOpenEditor.py:3340 ../PLCOpenEditor.py:3503 +#: ../PLCOpenEditor.py:3647 ../dialogs/SFCTransitionDialog.py:209 #, python-format msgid "Form isn't complete. %s must be filled!" msgstr "" @@ -1002,15 +1006,15 @@ msgid "Form isn't complete. Valid block type must be selected!" msgstr "" -#: ../PLCOpenEditor.py:337 +#: ../PLCOpenEditor.py:338 msgid "Function" msgstr "" -#: ../PLCOpenEditor.py:339 ../PLCOpenEditor.py:1619 +#: ../PLCOpenEditor.py:340 ../PLCOpenEditor.py:1624 msgid "Function Block" msgstr "" -#: ../VariablePanel.py:810 +#: ../VariablePanel.py:819 msgid "Function Block Types" msgstr "" @@ -1035,7 +1039,7 @@ msgid "Functions" msgstr "" -#: ../PLCOpenEditor.py:2477 +#: ../PLCOpenEditor.py:2482 msgid "Generate Program\tCTRL+G" msgstr "" @@ -1043,11 +1047,11 @@ msgid "Global" msgstr "" -#: ../PLCOpenEditor.py:1851 +#: ../PLCOpenEditor.py:1856 msgid "Graphic Panel" msgstr "" -#: ../PLCOpenEditor.py:3027 +#: ../PLCOpenEditor.py:3032 msgid "Graphics" msgstr "" @@ -1059,11 +1063,11 @@ msgid "Greater than or equal to" msgstr "" -#: ../PLCOpenEditor.py:3014 +#: ../PLCOpenEditor.py:3019 msgid "Grid Resolution:" msgstr "" -#: ../PLCOpenEditor.py:3006 +#: ../PLCOpenEditor.py:3011 msgid "Height:" msgstr "" @@ -1071,7 +1075,7 @@ msgid "Help" msgstr "" -#: ../PLCOpenEditor.py:2741 +#: ../PLCOpenEditor.py:2746 msgid "Horizontal:" msgstr "" @@ -1081,8 +1085,8 @@ "The hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2." msgstr "" -#: ../PLCOpenEditor.py:3217 ../PLCOpenEditor.py:3227 ../PLCOpenEditor.py:3406 -#: ../PLCOpenEditor.py:3550 +#: ../PLCOpenEditor.py:3222 ../PLCOpenEditor.py:3232 ../PLCOpenEditor.py:3411 +#: ../PLCOpenEditor.py:3555 msgid "IL" msgstr "" @@ -1123,7 +1127,7 @@ msgid "Inline" msgstr "" -#: ../VariablePanel.py:71 ../VariablePanel.py:1057 +#: ../VariablePanel.py:71 ../VariablePanel.py:1068 #: ../dialogs/FBDVariableDialog.py:41 ../dialogs/SFCStepDialog.py:122 msgid "Input" msgstr "" @@ -1141,11 +1145,11 @@ msgid "Instance with id %d doesn't exist!" msgstr "" -#: ../PLCOpenEditor.py:564 +#: ../PLCOpenEditor.py:565 msgid "Instances" msgstr "" -#: ../RessourceEditor.py:397 +#: ../RessourceEditor.py:420 msgid "Instances:" msgstr "" @@ -1159,6 +1163,10 @@ msgid "Interface" msgstr "" +#: ../RessourceEditor.py:86 +msgid "Interrupt" +msgstr "" + #: ../RessourceEditor.py:82 msgid "Interval" msgstr "" @@ -1172,7 +1180,7 @@ msgid "Invalid value \"%s\" for \"%s\" variable!" msgstr "" -#: ../PLCOpenEditor.py:4080 ../PLCOpenEditor.py:4083 +#: ../PLCOpenEditor.py:4085 ../PLCOpenEditor.py:4088 #, python-format msgid "Invalid value \"%s\" for debug variable" msgstr "" @@ -1187,8 +1195,8 @@ msgid "Invalid value \"%s\" for viewer block" msgstr "" -#: ../PLCOpenEditor.py:3022 ../PLCOpenEditor.py:3217 ../PLCOpenEditor.py:3227 -#: ../PLCOpenEditor.py:3406 ../PLCOpenEditor.py:3550 +#: ../PLCOpenEditor.py:3027 ../PLCOpenEditor.py:3222 ../PLCOpenEditor.py:3232 +#: ../PLCOpenEditor.py:3411 ../PLCOpenEditor.py:3555 msgid "LD" msgstr "" @@ -1197,15 +1205,15 @@ msgid "Ladder element with id %d is on more than one rung." msgstr "" -#: ../PLCOpenEditor.py:3325 ../PLCOpenEditor.py:3488 ../PLCOpenEditor.py:3632 +#: ../PLCOpenEditor.py:3330 ../PLCOpenEditor.py:3493 ../PLCOpenEditor.py:3637 msgid "Language" msgstr "" -#: ../PLCOpenEditor.py:3036 +#: ../PLCOpenEditor.py:3041 msgid "Language (optional):" msgstr "" -#: ../PLCOpenEditor.py:3293 ../PLCOpenEditor.py:3461 ../PLCOpenEditor.py:3605 +#: ../PLCOpenEditor.py:3298 ../PLCOpenEditor.py:3466 ../PLCOpenEditor.py:3610 msgid "Language:" msgstr "" @@ -1229,7 +1237,7 @@ msgid "Less than or equal to" msgstr "" -#: ../PLCOpenEditor.py:599 +#: ../PLCOpenEditor.py:600 msgid "Library" msgstr "" @@ -1245,7 +1253,7 @@ msgid "Location" msgstr "" -#: ../VariablePanel.py:1118 +#: ../VariablePanel.py:1129 msgid "Locations available:" msgstr "" @@ -1261,7 +1269,7 @@ msgid "Maximum:" msgstr "" -#: ../VariablePanel.py:1059 +#: ../VariablePanel.py:1070 msgid "Memory" msgstr "" @@ -1277,7 +1285,7 @@ msgid "Minimum:" msgstr "" -#: ../PLCOpenEditor.py:3051 +#: ../PLCOpenEditor.py:3056 msgid "Miscellaneous" msgstr "" @@ -1306,7 +1314,7 @@ msgid "Multiplication" msgstr "" -#: ../RessourceEditor.py:82 ../RessourceEditor.py:86 ../VariablePanel.py:53 +#: ../RessourceEditor.py:82 ../RessourceEditor.py:91 ../VariablePanel.py:53 #: ../VariablePanel.py:54 ../DataTypeEditor.py:46 msgid "Name" msgstr "" @@ -1325,7 +1333,7 @@ msgid "Negated" msgstr "" -#: ../PLCOpenEditor.py:2464 +#: ../PLCOpenEditor.py:2469 msgid "New\tCTRL+N" msgstr "" @@ -1337,7 +1345,7 @@ msgid "No Modifier" msgstr "" -#: ../PLCControler.py:2663 +#: ../PLCControler.py:2669 msgid "No PLC project found" msgstr "" @@ -1351,7 +1359,7 @@ msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU" msgstr "" -#: ../PLCOpenEditor.py:2411 +#: ../PLCOpenEditor.py:2416 msgid "" "No documentation available.\n" "Coming soon." @@ -1403,7 +1411,7 @@ "The on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true." msgstr "" -#: ../PLCOpenEditor.py:2466 +#: ../PLCOpenEditor.py:2471 msgid "Open\tCTRL+O" msgstr "" @@ -1411,11 +1419,11 @@ msgid "Option" msgstr "" -#: ../PLCOpenEditor.py:2978 +#: ../PLCOpenEditor.py:2983 msgid "Organization (optional):" msgstr "" -#: ../VariablePanel.py:71 ../VariablePanel.py:1058 +#: ../VariablePanel.py:71 ../VariablePanel.py:1069 #: ../dialogs/FBDVariableDialog.py:43 ../dialogs/SFCStepDialog.py:127 msgid "Output" msgstr "" @@ -1426,52 +1434,52 @@ "The PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control." msgstr "" -#: ../PLCOpenEditor.py:2630 ../PLCOpenEditor.py:2694 +#: ../PLCOpenEditor.py:2635 ../PLCOpenEditor.py:2699 msgid "PLCOpen files (*.xml)|*.xml|All files|*.*" msgstr "" -#: ../PLCOpenEditor.py:2559 +#: ../PLCOpenEditor.py:2564 msgid "PLCOpenEditor" msgstr "" -#: ../PLCOpenEditor.py:2508 +#: ../PLCOpenEditor.py:2513 msgid "PLCOpenEditor\tF1" msgstr "" -#: ../PLCOpenEditor.py:3321 +#: ../PLCOpenEditor.py:3326 msgid "POU Name" msgstr "" -#: ../PLCOpenEditor.py:3276 +#: ../PLCOpenEditor.py:3281 msgid "POU Name:" msgstr "" -#: ../PLCOpenEditor.py:3323 +#: ../PLCOpenEditor.py:3328 msgid "POU Type" msgstr "" -#: ../PLCOpenEditor.py:3284 +#: ../PLCOpenEditor.py:3289 msgid "POU Type:" msgstr "" -#: ../PLCOpenEditor.py:2480 +#: ../PLCOpenEditor.py:2485 msgid "Page Setup" msgstr "" -#: ../PLCOpenEditor.py:2994 +#: ../PLCOpenEditor.py:2999 msgid "Page Size (optional):" msgstr "" -#: ../PLCOpenEditor.py:4362 +#: ../PLCOpenEditor.py:4367 #, python-format msgid "Page: %d" msgstr "" -#: ../PLCOpenEditor.py:330 +#: ../PLCOpenEditor.py:331 msgid "Paste\tCTRL+V" msgstr "" -#: ../PLCOpenEditor.py:1663 +#: ../PLCOpenEditor.py:1668 msgid "Paste POU" msgstr "" @@ -1487,15 +1495,15 @@ msgid "Please enter comment text" msgstr "" -#: ../PLCOpenEditor.py:2246 ../PLCOpenEditor.py:3696 +#: ../PLCOpenEditor.py:2251 ../PLCOpenEditor.py:3701 msgid "Please enter configuration name" msgstr "" -#: ../PLCOpenEditor.py:2194 +#: ../PLCOpenEditor.py:2199 msgid "Please enter data type name" msgstr "" -#: ../PLCOpenEditor.py:2259 ../PLCOpenEditor.py:3759 +#: ../PLCOpenEditor.py:2264 ../PLCOpenEditor.py:3764 msgid "Please enter resource name" msgstr "" @@ -1503,7 +1511,7 @@ msgid "Please enter step name" msgstr "" -#: ../PLCOpenEditor.py:3167 +#: ../PLCOpenEditor.py:3172 msgid "Please enter text" msgstr "" @@ -1512,7 +1520,7 @@ msgid "Please enter value for a \"%s\" variable:" msgstr "" -#: ../VariablePanel.py:1185 +#: ../VariablePanel.py:1196 msgid "Plugins" msgstr "" @@ -1524,7 +1532,7 @@ msgid "Power Rail Properties" msgstr "" -#: ../PLCOpenEditor.py:2482 +#: ../PLCOpenEditor.py:2487 msgid "Preview" msgstr "" @@ -1535,11 +1543,11 @@ msgid "Preview:" msgstr "" -#: ../PLCOpenEditor.py:2484 +#: ../PLCOpenEditor.py:2489 msgid "Print" msgstr "" -#: ../PLCOpenEditor.py:950 +#: ../PLCOpenEditor.py:951 msgid "Print preview" msgstr "" @@ -1551,23 +1559,23 @@ msgid "Priority:" msgstr "" -#: ../PLCOpenEditor.py:2922 +#: ../PLCOpenEditor.py:2927 msgid "Product Name (required):" msgstr "" -#: ../PLCOpenEditor.py:2938 +#: ../PLCOpenEditor.py:2943 msgid "Product Release (optional):" msgstr "" -#: ../PLCOpenEditor.py:2930 +#: ../PLCOpenEditor.py:2935 msgid "Product Version (required):" msgstr "" -#: ../PLCOpenEditor.py:341 ../PLCOpenEditor.py:1622 +#: ../PLCOpenEditor.py:342 ../PLCOpenEditor.py:1627 msgid "Program" msgstr "" -#: ../PLCOpenEditor.py:2671 +#: ../PLCOpenEditor.py:2676 msgid "Program was successfully generated!" msgstr "" @@ -1579,29 +1587,29 @@ msgid "Programs can't be used by other POUs!" msgstr "" -#: ../PLCOpenEditor.py:442 ../PLCOpenEditor.py:2945 +#: ../PLCOpenEditor.py:443 ../PLCOpenEditor.py:2950 msgid "Project" msgstr "" -#: ../PLCOpenEditor.py:2906 +#: ../PLCOpenEditor.py:2911 msgid "Project Name (required):" msgstr "" -#: ../PLCOpenEditor.py:2914 +#: ../PLCOpenEditor.py:2919 msgid "Project Version (optional):" msgstr "" -#: ../PLCControler.py:2650 +#: ../PLCControler.py:2656 msgid "" "Project file syntax error:\n" "\n" msgstr "" -#: ../PLCOpenEditor.py:2892 +#: ../PLCOpenEditor.py:2897 msgid "Project properties" msgstr "" -#: ../PLCOpenEditor.py:2487 ../PLCControler.py:91 +#: ../PLCOpenEditor.py:2492 ../PLCControler.py:91 msgid "Properties" msgstr "" @@ -1615,7 +1623,7 @@ msgid "Qualifier" msgstr "" -#: ../PLCOpenEditor.py:2490 +#: ../PLCOpenEditor.py:2495 msgid "Quit\tCTRL+Q" msgstr "" @@ -1643,11 +1651,11 @@ msgid "Reference" msgstr "" -#: ../PLCOpenEditor.py:369 +#: ../PLCOpenEditor.py:370 msgid "Refresh\tF5" msgstr "" -#: ../PLCOpenEditor.py:4235 ../Viewer.py:1098 +#: ../PLCOpenEditor.py:4240 ../Viewer.py:1098 msgid "Release value" msgstr "" @@ -1655,7 +1663,7 @@ msgid "Remainder (modulo)" msgstr "" -#: ../PLCOpenEditor.py:1626 +#: ../PLCOpenEditor.py:1631 msgid "Rename" msgstr "" @@ -1713,7 +1721,7 @@ msgid "Rounding up/down" msgstr "" -#: ../PLCOpenEditor.py:3022 ../PLCOpenEditor.py:3227 +#: ../PLCOpenEditor.py:3027 ../PLCOpenEditor.py:3232 msgid "SFC" msgstr "" @@ -1723,24 +1731,24 @@ "The SR bistable is a latch where the Set dominates." msgstr "" -#: ../PLCOpenEditor.py:3217 ../PLCOpenEditor.py:3227 ../PLCOpenEditor.py:3406 -#: ../PLCOpenEditor.py:3550 +#: ../PLCOpenEditor.py:3222 ../PLCOpenEditor.py:3232 ../PLCOpenEditor.py:3411 +#: ../PLCOpenEditor.py:3555 msgid "ST" msgstr "" -#: ../PLCOpenEditor.py:2658 +#: ../PLCOpenEditor.py:2663 msgid "ST files (*.st)|*.st|All files|*.*" msgstr "" -#: ../PLCOpenEditor.py:2473 +#: ../PLCOpenEditor.py:2478 msgid "Save\tCTRL+S" msgstr "" -#: ../PLCOpenEditor.py:2475 +#: ../PLCOpenEditor.py:2480 msgid "Save As...\tCTRL+SHIFT+S" msgstr "" -#: ../PLCOpenEditor.py:345 +#: ../PLCOpenEditor.py:346 msgid "Select All\tCTRL+A" msgstr "" @@ -1748,7 +1756,7 @@ msgid "Select a variable class:" msgstr "" -#: ../PLCOpenEditor.py:575 ../PLCOpenEditor.py:587 +#: ../PLCOpenEditor.py:576 ../PLCOpenEditor.py:588 msgid "Select an object" msgstr "" @@ -1822,11 +1830,11 @@ msgid "Tangent" msgstr "" -#: ../RessourceEditor.py:86 +#: ../RessourceEditor.py:91 msgid "Task" msgstr "" -#: ../RessourceEditor.py:361 +#: ../RessourceEditor.py:384 msgid "Tasks:" msgstr "" @@ -1838,16 +1846,16 @@ msgid "The group of block must be coherent!" msgstr "" -#: ../PLCOpenEditor.py:889 +#: ../PLCOpenEditor.py:890 msgid "There are changes, do you want to save?" msgstr "" -#: ../PLCOpenEditor.py:1425 ../PLCOpenEditor.py:1445 +#: ../PLCOpenEditor.py:1430 ../PLCOpenEditor.py:1450 #, python-format msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?" msgstr "" -#: ../PLCOpenEditor.py:969 +#: ../PLCOpenEditor.py:974 msgid "" "There was a problem printing.\n" "Perhaps your current printer is not set correctly?" @@ -1894,7 +1902,7 @@ msgid "Time-of-day subtraction" msgstr "" -#: ../PLCOpenEditor.py:579 +#: ../PLCOpenEditor.py:580 msgid "Toolbar" msgstr "" @@ -1902,11 +1910,11 @@ msgid "Top" msgstr "" -#: ../PLCOpenEditor.py:3486 +#: ../PLCOpenEditor.py:3491 msgid "Transition Name" msgstr "" -#: ../PLCOpenEditor.py:3453 +#: ../PLCOpenEditor.py:3458 msgid "Transition Name:" msgstr "" @@ -1929,7 +1937,11 @@ msgid "Transitions" msgstr "" -#: ../RessourceEditor.py:86 ../VariablePanel.py:53 ../VariablePanel.py:54 +#: ../RessourceEditor.py:82 +msgid "Triggering" +msgstr "" + +#: ../RessourceEditor.py:91 ../VariablePanel.py:53 ../VariablePanel.py:54 #: ../dialogs/ActionBlockDialog.py:33 ../DataTypeEditor.py:46 msgid "Type" msgstr "" @@ -1948,7 +1960,7 @@ msgid "Type:" msgstr "" -#: ../PLCOpenEditor.py:545 +#: ../PLCOpenEditor.py:546 msgid "Types" msgstr "" @@ -1988,7 +2000,7 @@ "The up-down counter has two inputs CU and CD. It can be used to both count up on one input and down on the other." msgstr "" -#: ../VariablePanel.py:790 ../DataTypeEditor.py:807 +#: ../VariablePanel.py:799 ../DataTypeEditor.py:807 msgid "User Data Types" msgstr "" @@ -1996,7 +2008,7 @@ msgid "User-defined POUs" msgstr "" -#: ../PLCOpenEditor.py:3895 ../dialogs/ActionBlockDialog.py:33 +#: ../PLCOpenEditor.py:3900 ../dialogs/ActionBlockDialog.py:33 msgid "Value" msgstr "" @@ -2008,7 +2020,7 @@ msgid "Values:" msgstr "" -#: ../PLCOpenEditor.py:3895 ../dialogs/ActionBlockDialog.py:37 +#: ../PLCOpenEditor.py:3900 ../dialogs/ActionBlockDialog.py:37 msgid "Variable" msgstr "" @@ -2024,20 +2036,20 @@ msgid "Variable don't belong to this POU!" msgstr "" -#: ../PLCOpenEditor.py:594 ../VariablePanel.py:72 +#: ../PLCOpenEditor.py:595 ../VariablePanel.py:72 msgid "Variables" msgstr "" -#: ../PLCOpenEditor.py:2749 +#: ../PLCOpenEditor.py:2754 msgid "Vertical:" msgstr "" -#: ../PLCOpenEditor.py:3351 ../PLCOpenEditor.py:3729 ../PLCOpenEditor.py:3792 +#: ../PLCOpenEditor.py:3356 ../PLCOpenEditor.py:3734 ../PLCOpenEditor.py:3797 #: ../LDViewer.py:890 msgid "Warning" msgstr "" -#: ../PLCOpenEditor.py:2998 +#: ../PLCOpenEditor.py:3003 msgid "Width:" msgstr "" @@ -2049,7 +2061,7 @@ msgid "You must select the wire where a contact should be added!" msgstr "" -#: ../PLCOpenEditor.py:3182 ../PLCOpenEditor.py:3713 ../PLCOpenEditor.py:3776 +#: ../PLCOpenEditor.py:3187 ../PLCOpenEditor.py:3718 ../PLCOpenEditor.py:3781 #: ../dialogs/PouNameDialog.py:55 ../dialogs/SFCStepDialog.py:175 #: ../dialogs/SFCStepNameDialog.py:57 msgid "You must type a name!" @@ -2059,36 +2071,36 @@ msgid "You must type a value!" msgstr "" -#: ../PLCOpenEditor.py:375 +#: ../PLCOpenEditor.py:376 msgid "Zoom" msgstr "" -#: ../PLCOpenEditor.py:2667 +#: ../PLCOpenEditor.py:2672 #, python-format msgid "error: %s\n" msgstr "" -#: ../PLCOpenEditor.py:4394 ../PLCOpenEditor.py:4396 +#: ../PLCOpenEditor.py:4399 ../PLCOpenEditor.py:4401 msgid "file : " msgstr "" -#: ../PLCOpenEditor.py:3222 +#: ../PLCOpenEditor.py:3227 msgid "function" msgstr "" -#: ../PLCOpenEditor.py:4397 +#: ../PLCOpenEditor.py:4402 msgid "function : " msgstr "" -#: ../PLCOpenEditor.py:3222 +#: ../PLCOpenEditor.py:3227 msgid "functionBlock" msgstr "" -#: ../PLCOpenEditor.py:4397 +#: ../PLCOpenEditor.py:4402 msgid "line : " msgstr "" -#: ../PLCOpenEditor.py:3222 +#: ../PLCOpenEditor.py:3227 msgid "program" msgstr "" @@ -2104,7 +2116,7 @@ msgid "string right of" msgstr "" -#: ../PLCOpenEditor.py:2665 +#: ../PLCOpenEditor.py:2670 #, python-format msgid "warning: %s\n" msgstr "" diff -r 984c51d1bf6b -r 3757f0de0d07 locale/fr_FR/LC_MESSAGES/PLCOpenEditor.mo Binary file locale/fr_FR/LC_MESSAGES/PLCOpenEditor.mo has changed