# HG changeset patch # User laurent # Date 1315911664 -7200 # Node ID b6f9d08fd69fe808c3391091af1d99c11a5fc017 # Parent 08c26c62f5a7ee1591e44c3889fb90675ecc9047 Adding support for opening newly created project element diff -r 08c26c62f5a7 -r b6f9d08fd69f PLCControler.py --- a/PLCControler.py Fri Sep 09 17:19:35 2011 +0200 +++ b/PLCControler.py Tue Sep 13 13:01:04 2011 +0200 @@ -574,6 +574,8 @@ # Add the datatype to project self.Project.appenddataType(datatype_name) self.BufferProject() + return self.ComputeDataTypeName(datatype_name) + return None # Remove a Data Type from project def ProjectRemoveDataType(self, datatype_name): @@ -589,6 +591,8 @@ if pou_type == "function": self.SetPouInterfaceReturnType(pou_name, "BOOL") self.BufferProject() + return self.ComputePouName(pou_name) + return None def ProjectChangePouType(self, name, pou_type): if self.Project is not None: @@ -658,6 +662,8 @@ if self.Project is not None: self.Project.addconfiguration(config_name) self.BufferProject() + return self.ComputeConfigurationName(config_name) + return None # Remove a configuration from project def ProjectRemoveConfiguration(self, config_name): @@ -670,6 +676,8 @@ if self.Project is not None: self.Project.addconfigurationResource(config_name, resource_name) self.BufferProject() + return self.ComputeConfigurationResourceName(config_name, resource_name) + return None # Remove a resource from a configuration of the project def ProjectRemoveConfigurationResource(self, config_name, resource_name): @@ -684,6 +692,8 @@ if pou is not None: pou.addtransition(transition_name, transition_type) self.BufferProject() + return self.ComputePouTransitionName(pou_name, transition_name) + return None # Remove a Transition from a Project Pou def ProjectRemovePouTransition(self, pou_name, transition_name): @@ -701,6 +711,8 @@ if pou is not None: pou.addaction(action_name, action_type) self.BufferProject() + return self.ComputePouActionName(pou_name, action_name) + return None # Remove an Action from a Project Pou def ProjectRemovePouAction(self, pou_name, action_name): diff -r 08c26c62f5a7 -r b6f9d08fd69f PLCOpenEditor.py --- a/PLCOpenEditor.py Fri Sep 09 17:19:35 2011 +0200 +++ b/PLCOpenEditor.py Tue Sep 13 13:01:04 2011 +0200 @@ -2194,8 +2194,10 @@ dialog = DataTypeDialog(self, _("Add a new data type"), _("Please enter data type name"), "", wx.OK|wx.CANCEL) dialog.SetDataTypeNames(self.Controler.GetProjectDataTypeNames()) if dialog.ShowModal() == wx.ID_OK: - self.Controler.ProjectAddDataType(dialog.GetValue()) - self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE) + tagname = self.Controler.ProjectAddDataType(dialog.GetValue()) + if tagname is not None: + self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE) + self.EditProjectElement(ITEM_DATATYPE, tagname) dialog.Destroy() def GenerateAddPouFunction(self, pou_type): @@ -2205,8 +2207,10 @@ dialog.SetPouElementNames(self.Controler.GetProjectPouVariables()) if dialog.ShowModal() == wx.ID_OK: values = dialog.GetValues() - self.Controler.ProjectAddPou(values["pouName"], values["pouType"], values["language"]) - self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE, LIBRARYTREE) + tagname = self.Controler.ProjectAddPou(values["pouName"], values["pouType"], values["language"]) + if tagname is not None: + self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE, LIBRARYTREE) + self.EditProjectElement(ITEM_POU, tagname) dialog.Destroy() return OnAddPouMenu @@ -2217,9 +2221,11 @@ dialog.SetPouElementNames(self.Controler.GetProjectPouVariables(pou_name)) if dialog.ShowModal() == wx.ID_OK: values = dialog.GetValues() - self.Controler.ProjectAddPouTransition(pou_name, values["transitionName"], values["language"]) - self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE) - dialog.Destroy() + tagname = self.Controler.ProjectAddPouTransition(pou_name, values["transitionName"], values["language"]) + if tagname is not None: + self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE) + self.EditProjectElement(ITEM_TRANSITION, tagname) + dialog.Destroy() return OnAddTransitionMenu def GenerateAddActionFunction(self, pou_name): @@ -2229,8 +2235,10 @@ dialog.SetPouElementNames(self.Controler.GetProjectPouVariables(pou_name)) if dialog.ShowModal() == wx.ID_OK: values = dialog.GetValues() - self.Controler.ProjectAddPouAction(pou_name, values["actionName"], values["language"]) - self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE) + tagname = self.Controler.ProjectAddPouAction(pou_name, values["actionName"], values["language"]) + if tagname is not None: + self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE) + self.EditProjectElement(ITEM_ACTION, tagname) dialog.Destroy() return OnAddActionMenu @@ -2240,8 +2248,10 @@ dialog.SetPouElementNames(self.Controler.GetProjectPouVariables()) if dialog.ShowModal() == wx.ID_OK: value = dialog.GetValue() - self.Controler.ProjectAddConfiguration(value) - self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE, INSTANCESTREE) + tagname = self.Controler.ProjectAddConfiguration(value) + if tagname is not None: + self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE, INSTANCESTREE) + self.EditProjectElement(ITEM_CONFIGURATION, tagname) dialog.Destroy() def GenerateAddResourceFunction(self, config_name): @@ -2251,8 +2261,10 @@ dialog.SetPouElementNames(self.Controler.GetProjectPouVariables()) if dialog.ShowModal() == wx.ID_OK: value = dialog.GetValue() - self.Controler.ProjectAddConfigurationResource(config_name, value) - self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE, INSTANCESTREE) + tagname = self.Controler.ProjectAddConfigurationResource(config_name, value) + if tagname is not None: + self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE, INSTANCESTREE) + self.EditProjectElement(ITEM_RESOURCE, tagname) dialog.Destroy() return OnAddResourceMenu @@ -2264,15 +2276,6 @@ self._Refresh(TITLE, TOOLBAR, FILEMENU, EDITMENU, TYPESTREE, LIBRARYTREE) return OnChangePouTypeMenu - def OnCreatePouFromMenu(self, event): - selected = self.TypesTree.GetSelection() - if self.TypesTree.GetPyData(selected) == ITEM_POU: - dialog = PouNameDialog(self, _("Please enter POU name"), _("Create a new POU from"), "", wx.OK|wx.CANCEL) - dialog.SetPouNames(self.Controler.GetProjectPouNames()) - if dialog.ShowModal() == wx.ID_OK: - self.Controler.ProjectCreatePouFrom(dialog.GetValue(), self.TypesTree.GetItemText(selected)) - self._Refresh(TITLE, TOOLBAR, FILEMENU, EDITMENU, TYPESTREE, LIBRARYTREE) - def OnCopyPou(self, event): selected = self.TypesTree.GetSelection() pou_name = self.TypesTree.GetItemText(selected) @@ -2735,7 +2738,7 @@ size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL) self.staticText1 = wx.StaticText(id=ID_SCALINGPANELSTATICTEXT1, - label=_('X Scale:'), name='staticText1', parent=self, + label=_('Horizontal:'), name='staticText1', parent=self, pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) self.XScale = wx.SpinCtrl(id=ID_SCALINGPANELXSCALE, @@ -2743,7 +2746,7 @@ size=wx.Size(0, 24), style=0, min=0, max=2**16) self.staticText2 = wx.StaticText(id=ID_SCALINGPANELSTATICTEXT2, - label=_('Y Scale:'), name='staticText2', parent=self, + label=_('Vertical:'), name='staticText2', parent=self, pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) self.YScale = wx.SpinCtrl(id=ID_SCALINGPANELYSCALE, @@ -3008,7 +3011,7 @@ size=wx.Size(0, 24), style=0, min=0, max=2**16) self.staticText15 = wx.StaticText(id=ID_PROJECTDIALOGSTATICTEXT15, - label=_('Scaling:'), name='staticText15', parent=self.GraphicsPanel, + label=_('Grid Resolution:'), name='staticText15', parent=self.GraphicsPanel, pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) self.ScalingNotebook = wx.Notebook(id=ID_PROJECTDIALOGSCALINGNOTEBOOK, diff -r 08c26c62f5a7 -r b6f9d08fd69f i18n/PLCOpenEditor_fr_FR.po --- a/i18n/PLCOpenEditor_fr_FR.po Fri Sep 09 17:19:35 2011 +0200 +++ b/i18n/PLCOpenEditor_fr_FR.po Tue Sep 13 13:01:04 2011 +0200 @@ -7,15 +7,16 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-16 10:48+0100\n" -"PO-Revision-Date: 2009-12-16 13:35+0100\n" -"Last-Translator: \n" +"POT-Creation-Date: 2011-09-13 12:41+0200\n" +"PO-Revision-Date: 2011-09-13 12:55+0100\n" +"Last-Translator: Laurent BESSARD \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../PLCOpenEditor.py:4345 +#: ../PLCOpenEditor.py:4406 msgid "" "\n" "An error has occurred.\n" @@ -37,53 +38,53 @@ "\n" "Erreur:\n" -#: ../VariablePanel.py:71 +#: ../VariablePanel.py:72 msgid " External" msgstr " Externe" -#: ../VariablePanel.py:70 +#: ../VariablePanel.py:71 msgid " InOut" msgstr " Entrée-Sortie" -#: ../VariablePanel.py:70 +#: ../VariablePanel.py:71 msgid " Input" msgstr " Entrée" -#: ../VariablePanel.py:71 +#: ../VariablePanel.py:72 msgid " Local" msgstr " Locale" -#: ../VariablePanel.py:70 +#: ../VariablePanel.py:71 msgid " Output" msgstr " Sortie" -#: ../VariablePanel.py:72 +#: ../VariablePanel.py:73 msgid " Temp" msgstr " Temporaire" -#: ../PLCOpenEditor.py:4355 +#: ../PLCOpenEditor.py:4416 msgid " : " msgstr " : " -#: ../PLCOpenEditor.py:3294 -#: ../PLCOpenEditor.py:3457 -#: ../PLCOpenEditor.py:3601 +#: ../PLCOpenEditor.py:3332 +#: ../PLCOpenEditor.py:3495 +#: ../PLCOpenEditor.py:3639 #: ../dialogs/SFCTransitionDialog.py:206 #, python-format msgid " and %s" msgstr " et %s" -#: ../plcopen/plcopen.py:907 +#: ../plcopen/plcopen.py:926 #, python-format msgid "\"%s\" Data Type doesn't exist !!!" msgstr "Le type de donnée \"%s\" n'existe pas !!!" -#: ../plcopen/plcopen.py:925 +#: ../plcopen/plcopen.py:944 #, python-format msgid "\"%s\" POU already exists !!!" msgstr "Le POU \"%s\" existe déjà !!!" -#: ../plcopen/plcopen.py:946 +#: ../plcopen/plcopen.py:965 #, python-format msgid "\"%s\" POU doesn't exist !!!" msgstr "Le POU \"%s\" n'existe pas !!!" @@ -93,8 +94,8 @@ msgid "\"%s\" can't use itself!" msgstr "\"%s\" ne peut pas s'utiliser lui-même !" -#: ../PLCOpenEditor.py:1404 -#: ../PLCOpenEditor.py:1424 +#: ../PLCOpenEditor.py:1422 +#: ../PLCOpenEditor.py:1442 #, python-format msgid "\"%s\" config already exists!" msgstr "La configuration \"%s\" existe déjà !" @@ -104,41 +105,42 @@ msgid "\"%s\" configuration already exists !!!" msgstr "La configuration \"%s\" existe déjà !!!" -#: ../PLCOpenEditor.py:1358 -#: ../PLCOpenEditor.py:3156 +#: ../PLCOpenEditor.py:1376 +#: ../PLCOpenEditor.py:3194 #, python-format msgid "\"%s\" data type already exists!" msgstr "Le type de données \"%s\" existe déjà !" -#: ../PLCControler.py:1704 -#: ../PLCControler.py:1708 +#: ../PLCControler.py:1786 +#: ../PLCControler.py:1790 #, python-format msgid "\"%s\" element can't be pasted here!!!" msgstr "L'élément \"%s\" ne peut être collé ici !!!" -#: ../PLCOpenEditor.py:3476 -#: ../PLCOpenEditor.py:3620 +#: ../PLCOpenEditor.py:3514 +#: ../PLCOpenEditor.py:3658 #: ../Viewer.py:250 -#: ../TextViewer.py:231 +#: ../TextViewer.py:245 +#: ../TextViewer.py:262 #: ../dialogs/ConnectionDialog.py:215 #: ../dialogs/FBDBlockDialog.py:260 #, python-format msgid "\"%s\" element for this pou already exists!" msgstr "Un élément \"%s\" existe déjà dans ce POU !" -#: ../plcopen/structures.py:97 +#: ../plcopen/structures.py:96 #, python-format 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:1349 -#: ../PLCOpenEditor.py:3152 -#: ../PLCOpenEditor.py:3305 -#: ../PLCOpenEditor.py:3468 -#: ../PLCOpenEditor.py:3612 -#: ../PLCOpenEditor.py:3683 -#: ../PLCOpenEditor.py:3746 -#: ../VariablePanel.py:714 +#: ../PLCOpenEditor.py:1367 +#: ../PLCOpenEditor.py:3190 +#: ../PLCOpenEditor.py:3343 +#: ../PLCOpenEditor.py:3506 +#: ../PLCOpenEditor.py:3650 +#: ../PLCOpenEditor.py:3721 +#: ../PLCOpenEditor.py:3784 +#: ../VariablePanel.py:735 #: ../dialogs/ConnectionDialog.py:207 #: ../dialogs/FBDBlockDialog.py:252 #: ../dialogs/FBDVariableDialog.py:268 @@ -156,25 +158,25 @@ msgid "\"%s\" is already used by \"%s\"!" msgstr "\"%s\" est déjà utilisé par \"%s\" !" -#: ../plcopen/plcopen.py:2366 +#: ../plcopen/plcopen.py:2386 #, python-format msgid "\"%s\" is an invalid value!" msgstr "\"%s\" n'est pas une valeur valide !" -#: ../PLCOpenEditor.py:2637 -#: ../PLCOpenEditor.py:2665 +#: ../PLCOpenEditor.py:2673 +#: ../PLCOpenEditor.py:2702 #, python-format msgid "\"%s\" is not a valid folder!" msgstr "\"%s\" n'est pas un répertoire valide !" -#: ../PLCOpenEditor.py:1347 -#: ../PLCOpenEditor.py:3148 -#: ../PLCOpenEditor.py:3301 -#: ../PLCOpenEditor.py:3464 -#: ../PLCOpenEditor.py:3608 -#: ../PLCOpenEditor.py:3679 -#: ../PLCOpenEditor.py:3742 -#: ../VariablePanel.py:709 +#: ../PLCOpenEditor.py:1365 +#: ../PLCOpenEditor.py:3186 +#: ../PLCOpenEditor.py:3339 +#: ../PLCOpenEditor.py:3502 +#: ../PLCOpenEditor.py:3646 +#: ../PLCOpenEditor.py:3717 +#: ../PLCOpenEditor.py:3780 +#: ../VariablePanel.py:730 #: ../dialogs/ConnectionDialog.py:203 #: ../dialogs/FBDBlockDialog.py:248 #: ../dialogs/PouNameDialog.py:59 @@ -185,18 +187,19 @@ msgid "\"%s\" is not a valid identifier!" msgstr "\"%s\" n'est pas un identifiant valide !" -#: ../PLCOpenEditor.py:283 -#: ../PLCOpenEditor.py:2302 +#: ../PLCOpenEditor.py:288 #: ../PLCOpenEditor.py:2322 +#: ../PLCOpenEditor.py:2342 #, 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:1367 -#: ../PLCOpenEditor.py:3309 +#: ../PLCOpenEditor.py:1385 +#: ../PLCOpenEditor.py:3347 #: ../Viewer.py:248 #: ../Viewer.py:274 -#: ../TextViewer.py:229 +#: ../TextViewer.py:243 +#: ../TextViewer.py:260 #: ../dialogs/ConnectionDialog.py:211 #: ../dialogs/FBDBlockDialog.py:256 #, python-format @@ -238,7 +241,7 @@ "\"%s\" n'est pas une dimension de tableau valide !\n" "La valeur de droite doit être supérieur à celle de gauche." -#: ../PLCControler.py:629 +#: ../PLCControler.py:634 #, python-format msgid "%s \"%s\" can't be pasted as a %s." msgstr "Le %s \"%s\" ne peut être collé en tant que %s." @@ -248,56 +251,56 @@ msgid "%s Graphics" msgstr "Graphique %s" -#: ../plcopen/plcopen.py:1465 -#: ../plcopen/plcopen.py:1475 -#: ../plcopen/plcopen.py:1485 -#: ../plcopen/plcopen.py:1495 +#: ../plcopen/plcopen.py:1484 +#: ../plcopen/plcopen.py:1494 #: ../plcopen/plcopen.py:1504 +#: ../plcopen/plcopen.py:1514 +#: ../plcopen/plcopen.py:1523 #, python-format msgid "%s body don't have instances!" msgstr "Le code d'un %s n'a pas d'instances !" -#: ../plcopen/plcopen.py:1527 -#: ../plcopen/plcopen.py:1534 +#: ../plcopen/plcopen.py:1546 +#: ../plcopen/plcopen.py:1553 #, python-format msgid "%s body don't have text!" msgstr "Le code d'un %s n'a pas de texte !" -#: ../PLCOpenEditor.py:4333 -#: ../PLCOpenEditor.py:4335 -#: ../PLCOpenEditor.py:4336 +#: ../PLCOpenEditor.py:4394 +#: ../PLCOpenEditor.py:4396 +#: ../PLCOpenEditor.py:4397 msgid ", " msgstr ", " -#: ../PLCOpenEditor.py:3296 -#: ../PLCOpenEditor.py:3459 -#: ../PLCOpenEditor.py:3603 +#: ../PLCOpenEditor.py:3334 +#: ../PLCOpenEditor.py:3497 +#: ../PLCOpenEditor.py:3641 #: ../dialogs/SFCTransitionDialog.py:208 #, python-format msgid ", %s" msgstr ", %s" -#: ../PLCOpenEditor.py:4331 +#: ../PLCOpenEditor.py:4392 msgid ". " msgstr ". " -#: ../PLCOpenEditor.py:1370 -#: ../PLCOpenEditor.py:1412 -#: ../PLCOpenEditor.py:1432 -#: ../PLCOpenEditor.py:3313 -#: ../PLCOpenEditor.py:3691 -#: ../PLCOpenEditor.py:3754 +#: ../PLCOpenEditor.py:1388 +#: ../PLCOpenEditor.py:1430 +#: ../PLCOpenEditor.py:1450 +#: ../PLCOpenEditor.py:3351 +#: ../PLCOpenEditor.py:3729 +#: ../PLCOpenEditor.py:3792 #, 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:1383 -#: ../PLCOpenEditor.py:1394 -#: ../PLCOpenEditor.py:3472 -#: ../PLCOpenEditor.py:3616 -#: ../PLCOpenEditor.py:3687 -#: ../PLCOpenEditor.py:3750 -#: ../VariablePanel.py:719 +#: ../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 #: ../dialogs/SFCStepDialog.py:187 #: ../dialogs/SFCStepNameDialog.py:69 @@ -305,24 +308,24 @@ msgid "A POU named \"%s\" already exists!" msgstr "Un POU nommé \"%s\" existe déjà !" -#: ../VariablePanel.py:1201 +#: ../VariablePanel.py:1239 msgid "A location must be selected!" msgstr "Une adresse doit être sélectionné !" -#: ../PLCOpenEditor.py:1385 -#: ../PLCOpenEditor.py:1396 -#: ../VariablePanel.py:724 +#: ../PLCOpenEditor.py:1403 +#: ../PLCOpenEditor.py:1414 +#: ../VariablePanel.py:745 #: ../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:2494 +#: ../PLCOpenEditor.py:2514 msgid "About" msgstr "A propos" -#: ../PLCOpenEditor.py:2397 +#: ../PLCOpenEditor.py:2417 msgid "About PLCOpenEditor" msgstr "A propos de PLCOpenEditor" @@ -335,15 +338,15 @@ msgid "Action" msgstr "Action" -#: ../PLCOpenEditor.py:3592 +#: ../PLCOpenEditor.py:3630 msgid "Action Name" msgstr "Nom de l'action" -#: ../PLCOpenEditor.py:3559 +#: ../PLCOpenEditor.py:3597 msgid "Action Name:" msgstr "Nom de l'action :" -#: ../plcopen/plcopen.py:1213 +#: ../plcopen/plcopen.py:1232 #, python-format msgid "Action with name %s doesn't exist!" msgstr "L'action nommée %s n'existe pas !" @@ -356,30 +359,30 @@ msgid "Actions:" msgstr "Actions :" -#: ../VariablePanel.py:483 +#: ../VariablePanel.py:499 #: ../dialogs/ActionBlockDialog.py:274 #: ../DataTypeEditor.py:539 msgid "Add" msgstr "Ajouter" -#: ../PLCOpenEditor.py:1589 -#: ../PLCOpenEditor.py:1672 +#: ../PLCOpenEditor.py:1606 +#: ../PLCOpenEditor.py:1689 msgid "Add Action" msgstr "Ajouter une action" -#: ../PLCOpenEditor.py:1655 +#: ../PLCOpenEditor.py:1672 msgid "Add Configuration" msgstr "Ajouter une configuration" -#: ../PLCOpenEditor.py:1635 +#: ../PLCOpenEditor.py:1652 msgid "Add DataType" msgstr "Ajouter un type de donnée" -#: ../Viewer.py:436 +#: ../Viewer.py:401 msgid "Add Divergence Branch" msgstr "Ajouter une branche à la divergence" -#: ../PLCOpenEditor.py:328 +#: ../PLCOpenEditor.py:333 msgid "Add Element" msgstr "Ajouter un élément" @@ -387,12 +390,12 @@ msgid "Add Instance" msgstr "Ajouter une instance" -#: ../PLCOpenEditor.py:1642 +#: ../PLCOpenEditor.py:1659 msgid "Add POU" msgstr "Ajouter un POU" -#: ../PLCOpenEditor.py:1618 -#: ../PLCOpenEditor.py:1683 +#: ../PLCOpenEditor.py:1635 +#: ../PLCOpenEditor.py:1700 msgid "Add Resource" msgstr "Ajouter une resource" @@ -400,16 +403,16 @@ msgid "Add Task" msgstr "Ajouter une tâche" -#: ../PLCOpenEditor.py:1586 -#: ../PLCOpenEditor.py:1661 +#: ../PLCOpenEditor.py:1603 +#: ../PLCOpenEditor.py:1678 msgid "Add Transition" msgstr "Ajouter une transition" -#: ../Viewer.py:431 +#: ../Viewer.py:396 msgid "Add Wire Segment" msgstr "Ajouter un segment au fil" -#: ../PLCOpenEditor.py:2177 +#: ../PLCOpenEditor.py:2194 msgid "Add a new data type" msgstr "Ajouter un nouveau type de données" @@ -417,7 +420,7 @@ msgid "Add a new initial step" msgstr "Ajouter une nouvelle étape initiale" -#: ../Viewer.py:2032 +#: ../Viewer.py:2020 #: ../SFCViewer.py:698 msgid "Add a new jump" msgstr "Ajouter un nouveau renvoi" @@ -426,11 +429,11 @@ msgid "Add a new step" msgstr "Ajouter une nouvelle étape" -#: ../PLCOpenEditor.py:2221 +#: ../PLCOpenEditor.py:2246 msgid "Add new configuration" msgstr "Ajouter une nouvelle configuration" -#: ../PLCOpenEditor.py:2232 +#: ../PLCOpenEditor.py:2259 msgid "Add new resource" msgstr "Ajouter une nouvelle resource" @@ -438,17 +441,17 @@ msgid "Addition" msgstr "Addition" -#: ../plcopen/structures.py:222 +#: ../plcopen/structures.py:221 msgid "Additional function blocks" msgstr "Blocs fonctionnels additionnels" -#: ../Viewer.py:445 +#: ../Viewer.py:410 msgid "Alignment" msgstr "Alignement" -#: ../VariablePanel.py:69 -#: ../VariablePanel.py:1018 -#: ../VariablePanel.py:1135 +#: ../VariablePanel.py:70 +#: ../VariablePanel.py:1056 +#: ../VariablePanel.py:1173 msgid "All" msgstr "Toutes" @@ -473,11 +476,12 @@ msgid "Arithmetic" msgstr "Arithmétique" +#: ../VariablePanel.py:798 #: ../DataTypeEditor.py:236 msgid "Array" msgstr "Tableau" -#: ../plcopen/iec_std.csv:50 +#: ../plcopen/iec_std.csv:39 msgid "Assignment" msgstr "Assignation" @@ -485,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:2947 +#: ../PLCOpenEditor.py:2985 msgid "Author" msgstr "Auteur" -#: ../PLCOpenEditor.py:2932 +#: ../PLCOpenEditor.py:2970 msgid "Author Name (optional):" msgstr "Nom de l'auteur (optionel) :" @@ -499,36 +503,36 @@ msgid "Base Type:" msgstr "Type de base :" -#: ../VariablePanel.py:758 +#: ../VariablePanel.py:778 #: ../DataTypeEditor.py:801 msgid "Base Types" msgstr "Types de base" -#: ../plcopen/iec_std.csv:59 +#: ../plcopen/iec_std.csv:70 msgid "Binary selection (1 of 2)" msgstr "Selection binaire (sélectionne 1 sur 2)" -#: ../plcopen/iec_std.csv:51 +#: ../plcopen/iec_std.csv:62 msgid "Bit-shift" msgstr "Décalage de bit" -#: ../plcopen/iec_std.csv:55 +#: ../plcopen/iec_std.csv:66 msgid "Bitwise" msgstr "Bit à bit" -#: ../plcopen/iec_std.csv:55 +#: ../plcopen/iec_std.csv:66 msgid "Bitwise AND" msgstr "ET bit à bit" -#: ../plcopen/iec_std.csv:56 +#: ../plcopen/iec_std.csv:67 msgid "Bitwise OR" msgstr "OU bit à bit" -#: ../plcopen/iec_std.csv:57 +#: ../plcopen/iec_std.csv:68 msgid "Bitwise XOR" msgstr "OU exclusif bit à bit" -#: ../plcopen/iec_std.csv:58 +#: ../plcopen/iec_std.csv:69 msgid "Bitwise inverting" msgstr "Inversion bit à bit" @@ -536,72 +540,72 @@ msgid "Block Properties" msgstr "Propriétés du bloc" -#: ../PLCOpenEditor.py:1896 +#: ../PLCOpenEditor.py:1913 #: ../dialogs/FBDBlockDialog.py:268 msgid "Block Types" msgstr "Types de blocs" -#: ../Viewer.py:403 +#: ../Viewer.py:368 msgid "Bottom" msgstr "Bas" -#: ../VariablePanel.py:1077 +#: ../VariablePanel.py:1115 msgid "Browse Locations" msgstr "Naviger dans les adresses" -#: ../PLCOpenEditor.py:1837 +#: ../PLCOpenEditor.py:1854 msgid "CSV Log" msgstr "Log CVS" -#: ../plcopen/plcopen.py:1407 -#: ../plcopen/plcopen.py:1421 -#: ../plcopen/plcopen.py:1442 -#: ../plcopen/plcopen.py:1458 +#: ../plcopen/plcopen.py:1426 +#: ../plcopen/plcopen.py:1440 +#: ../plcopen/plcopen.py:1461 +#: ../plcopen/plcopen.py:1477 msgid "Can only generate execution order on FBD networks!" msgstr "L'ordre d'exécution ne peut être généré que dans les FBD !" -#: ../VariablePanel.py:311 +#: ../VariablePanel.py:327 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:2632 +#: ../PLCOpenEditor.py:2668 #, python-format msgid "Can't generate program to file %s!" msgstr "Le programme n'a pu être généré dans le fichier \"%s\" !" -#: ../VariablePanel.py:309 +#: ../VariablePanel.py:325 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:2663 +#: ../PLCOpenEditor.py:2700 #, python-format msgid "Can't save project to file %s!" msgstr "Le projet n'a pu être sauvé dans le fichier \"%s\" !" -#: ../Viewer.py:394 +#: ../Viewer.py:359 msgid "Center" msgstr "Centre" -#: ../PLCOpenEditor.py:1607 +#: ../PLCOpenEditor.py:1624 msgid "Change POU Type To" msgstr "Changer le type du POU pour" -#: ../plcopen/iec_std.csv:70 +#: ../plcopen/iec_std.csv:81 msgid "Character string" msgstr "Chaîne de caractères" -#: ../PLCOpenEditor.py:2598 -#: ../PLCOpenEditor.py:2622 -#: ../PLCOpenEditor.py:2657 +#: ../PLCOpenEditor.py:2630 +#: ../PLCOpenEditor.py:2658 +#: ../PLCOpenEditor.py:2694 msgid "Choose a file" msgstr "Choisissez un fichier" -#: ../VariablePanel.py:52 #: ../VariablePanel.py:53 +#: ../VariablePanel.py:54 msgid "Class" msgstr "Classe" -#: ../VariablePanel.py:475 +#: ../VariablePanel.py:491 msgid "Class Filter:" msgstr "Filtre de classe :" @@ -609,48 +613,48 @@ msgid "Class:" msgstr "Classe :" -#: ../PLCOpenEditor.py:367 +#: ../PLCOpenEditor.py:372 msgid "Clear Errors\tCTRL+K" msgstr "Effacer les erreurs\tCTRL+K" -#: ../Viewer.py:441 +#: ../Viewer.py:406 msgid "Clear Execution Order" msgstr "Effacer l'ordre d'exécution" -#: ../PLCOpenEditor.py:2522 +#: ../PLCOpenEditor.py:2548 msgid "Close Application" msgstr "Fermer l'application" -#: ../PLCOpenEditor.py:871 -#: ../PLCOpenEditor.py:2450 +#: ../PLCOpenEditor.py:887 +#: ../PLCOpenEditor.py:2470 msgid "Close Project" msgstr "Fermer le projet" -#: ../PLCOpenEditor.py:2448 +#: ../PLCOpenEditor.py:2468 msgid "Close Tab\tCTRL+W" msgstr "Fermer l'onglet\tCTRL+W" -#: ../LDViewer.py:478 +#: ../LDViewer.py:505 msgid "Comment" msgstr "Commentaire" -#: ../PLCOpenEditor.py:2916 +#: ../PLCOpenEditor.py:2954 msgid "Company Name (required):" msgstr "Nom de l'entreprise (obligatoire) :" -#: ../PLCOpenEditor.py:2924 +#: ../PLCOpenEditor.py:2962 msgid "Company URL (optional):" msgstr "URL de l'entreprise (optionel) :" -#: ../plcopen/iec_std.csv:64 +#: ../plcopen/iec_std.csv:75 msgid "Comparison" msgstr "Comparaison" -#: ../plcopen/iec_std.csv:74 +#: ../plcopen/iec_std.csv:85 msgid "Concatenation" msgstr "Concaténation" -#: ../PLCOpenEditor.py:338 +#: ../PLCOpenEditor.py:343 msgid "Configuration" msgstr "Configuration" @@ -674,11 +678,11 @@ msgid "Connectors:" msgstr "Connecteurs :" -#: ../VariablePanel.py:59 +#: ../VariablePanel.py:60 msgid "Constant" msgstr "Constante" -#: ../PLCOpenEditor.py:3006 +#: ../PLCOpenEditor.py:3044 msgid "Content Description (optional):" msgstr "Description du contenu (optionel) :" @@ -702,11 +706,11 @@ msgid "Conversion to time-of-day" msgstr "Conversion en heure de la journée" -#: ../PLCOpenEditor.py:323 +#: ../PLCOpenEditor.py:328 msgid "Copy\tCTRL+C" msgstr "Copier\tCtrl+C" -#: ../PLCOpenEditor.py:1594 +#: ../PLCOpenEditor.py:1611 msgid "Copy POU" msgstr "Copier ce POU" @@ -714,59 +718,55 @@ msgid "Cosine" msgstr "Cosinus" -#: ../PLCControler.py:615 -#: ../PLCControler.py:647 +#: ../PLCControler.py:620 +#: ../PLCControler.py:652 msgid "Couldn't paste non-POU object." msgstr "Impossible de coller autre chose qu'un POU." -#: ../PLCOpenEditor.py:3234 +#: ../PLCOpenEditor.py:3272 msgid "Create a new POU" msgstr "Créer un nouveau POU" -#: ../PLCOpenEditor.py:2253 -msgid "Create a new POU from" -msgstr "Créer un nouveau POU à partir de" - -#: ../PLCOpenEditor.py:3555 +#: ../PLCOpenEditor.py:3593 msgid "Create a new action" msgstr "Créer une nouvelle action" -#: ../PLCOpenEditor.py:215 +#: ../PLCOpenEditor.py:220 msgid "Create a new action block" msgstr "Créer un nouveau bloc d'actions" -#: ../PLCOpenEditor.py:170 -#: ../PLCOpenEditor.py:197 -#: ../PLCOpenEditor.py:227 +#: ../PLCOpenEditor.py:175 +#: ../PLCOpenEditor.py:202 +#: ../PLCOpenEditor.py:232 msgid "Create a new block" msgstr "Créer un nouveau bloc" -#: ../PLCOpenEditor.py:191 +#: ../PLCOpenEditor.py:196 msgid "Create a new branch" msgstr "Créer une nouvelle branche" -#: ../PLCOpenEditor.py:185 +#: ../PLCOpenEditor.py:190 msgid "Create a new coil" msgstr "Créer un nouveau relai" -#: ../PLCOpenEditor.py:164 -#: ../PLCOpenEditor.py:176 -#: ../PLCOpenEditor.py:203 +#: ../PLCOpenEditor.py:169 +#: ../PLCOpenEditor.py:181 +#: ../PLCOpenEditor.py:208 msgid "Create a new comment" msgstr "Créer un nouveau copmmentaire" -#: ../PLCOpenEditor.py:173 -#: ../PLCOpenEditor.py:200 -#: ../PLCOpenEditor.py:230 +#: ../PLCOpenEditor.py:178 +#: ../PLCOpenEditor.py:205 +#: ../PLCOpenEditor.py:235 msgid "Create a new connection" msgstr "Créer une nouvelle connexion" -#: ../PLCOpenEditor.py:188 -#: ../PLCOpenEditor.py:236 +#: ../PLCOpenEditor.py:193 +#: ../PLCOpenEditor.py:241 msgid "Create a new contact" msgstr "Créer un nouveau contact" -#: ../PLCOpenEditor.py:218 +#: ../PLCOpenEditor.py:223 msgid "Create a new divergence" msgstr "Créer une nouvelle divergence" @@ -774,43 +774,55 @@ msgid "Create a new divergence or convergence" msgstr "Créer une nouvelle divergence ou convergence" -#: ../PLCOpenEditor.py:206 +#: ../PLCOpenEditor.py:211 msgid "Create a new initial step" msgstr "Créer une nouvelle étape initiale" -#: ../PLCOpenEditor.py:221 +#: ../PLCOpenEditor.py:226 msgid "Create a new jump" msgstr "Créer un nouveau renvoi" -#: ../PLCOpenEditor.py:179 -#: ../PLCOpenEditor.py:233 +#: ../PLCOpenEditor.py:184 +#: ../PLCOpenEditor.py:238 msgid "Create a new power rail" msgstr "Créer une nouvelle barre d'alimentation" -#: ../PLCOpenEditor.py:182 +#: ../PLCOpenEditor.py:187 msgid "Create a new rung" msgstr "Créer un nouvel échelon" -#: ../PLCOpenEditor.py:209 +#: ../PLCOpenEditor.py:214 msgid "Create a new step" msgstr "Créer une nouvelle étape" -#: ../PLCOpenEditor.py:212 -#: ../PLCOpenEditor.py:3411 +#: ../PLCOpenEditor.py:217 +#: ../PLCOpenEditor.py:3449 msgid "Create a new transition" msgstr "Créer une nouvelle transition" -#: ../PLCOpenEditor.py:167 -#: ../PLCOpenEditor.py:194 -#: ../PLCOpenEditor.py:224 +#: ../PLCOpenEditor.py:172 +#: ../PLCOpenEditor.py:199 +#: ../PLCOpenEditor.py:229 msgid "Create a new variable" msgstr "Créer une nouvelle variable" -#: ../PLCOpenEditor.py:321 +#: ../PLCOpenEditor.py:326 msgid "Cut\tCTRL+X" msgstr "Couper\tCTRL+X" -#: ../PLCOpenEditor.py:330 +#: ../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 +#: ../plcopen/iec_std.csv:56 +#: ../plcopen/iec_std.csv:58 +#: ../plcopen/iec_std.csv:60 +msgid "DEPRECATED" +msgstr "" + +#: ../PLCOpenEditor.py:335 msgid "Data Type" msgstr "Type de donnée" @@ -822,41 +834,45 @@ msgid "Data type conversion" msgstr "Conversion entre types de donnée" -#: ../plcopen/iec_std.csv:36 +#: ../plcopen/iec_std.csv:44 +#: ../plcopen/iec_std.csv:45 msgid "Date addition" msgstr "Addition de dates" -#: ../plcopen/iec_std.csv:44 -#: ../plcopen/iec_std.csv:45 +#: ../plcopen/iec_std.csv:56 +#: ../plcopen/iec_std.csv:57 +#: ../plcopen/iec_std.csv:58 +#: ../plcopen/iec_std.csv:59 msgid "Date and time subtraction" msgstr "Soustraction entre horodatage" -#: ../plcopen/iec_std.csv:41 +#: ../plcopen/iec_std.csv:50 +#: ../plcopen/iec_std.csv:51 msgid "Date subtraction" msgstr "Soustraction de date" -#: ../Viewer.py:2885 +#: ../Viewer.py:2873 #, python-format msgid "Debug: %s" msgstr "Déboggage : %s" -#: ../PLCOpenEditor.py:618 +#: ../PLCOpenEditor.py:623 msgid "Debugger" msgstr "Déboggueur" -#: ../PLCOpenEditor.py:342 -#: ../PLCOpenEditor.py:1612 -#: ../PLCOpenEditor.py:1621 -#: ../PLCOpenEditor.py:1627 -#: ../PLCOpenEditor.py:4121 -#: ../Viewer.py:450 -#: ../VariablePanel.py:488 +#: ../PLCOpenEditor.py:347 +#: ../PLCOpenEditor.py:1629 +#: ../PLCOpenEditor.py:1638 +#: ../PLCOpenEditor.py:1644 +#: ../PLCOpenEditor.py:4164 +#: ../Viewer.py:415 +#: ../VariablePanel.py:504 #: ../dialogs/ActionBlockDialog.py:279 #: ../DataTypeEditor.py:544 msgid "Delete" msgstr "Supprimer" -#: ../Viewer.py:438 +#: ../Viewer.py:403 msgid "Delete Divergence Branch" msgstr "Supprimer une branche de divergence" @@ -868,7 +884,7 @@ msgid "Delete Task" msgstr "Supprimer une tâche" -#: ../Viewer.py:433 +#: ../Viewer.py:398 msgid "Delete Wire Segment" msgstr "Supprimer un segment de fil" @@ -877,7 +893,7 @@ msgid "Delete item" msgstr "Supprimer un élément" -#: ../plcopen/iec_std.csv:77 +#: ../plcopen/iec_std.csv:88 msgid "Deletion (within)" msgstr "Suppression (au milieu)" @@ -885,7 +901,7 @@ msgid "Derivation Type:" msgstr "Type de dérivation :" -#: ../plcopen/structures.py:236 +#: ../plcopen/structures.py:235 msgid "" "Derivative\n" "The derivative function block produces an output XOUT proportional to the rate of change of the input XIN." @@ -897,7 +913,7 @@ msgid "Dimensions:" msgstr "Dimensions :" -#: ../VariablePanel.py:1094 +#: ../VariablePanel.py:1132 msgid "Direction:" msgstr "Direction :" @@ -905,24 +921,24 @@ msgid "Directly" msgstr "Direct" -#: ../PLCOpenEditor.py:306 +#: ../PLCOpenEditor.py:311 msgid "Display" msgstr "Affichage" -#: ../plcopen/iec_std.csv:46 +#: ../plcopen/iec_std.csv:36 msgid "Division" msgstr "Division" -#: ../VariablePanel.py:52 #: ../VariablePanel.py:53 +#: ../VariablePanel.py:54 msgid "Documentation" msgstr "Documentation" -#: ../PLCOpenEditor.py:2626 +#: ../PLCOpenEditor.py:2662 msgid "Done" msgstr "Terminé" -#: ../plcopen/structures.py:199 +#: ../plcopen/structures.py:198 msgid "" "Down-counter\n" "The down-counter can be used to signal when a count has reached zero, on counting down from a preset value." @@ -934,11 +950,11 @@ msgid "Duration" msgstr "Durée" -#: ../PLCOpenEditor.py:305 +#: ../PLCOpenEditor.py:310 msgid "Edit" msgstr "Editer" -#: ../Viewer.py:448 +#: ../Viewer.py:413 msgid "Edit Block" msgstr "Editer le block" @@ -958,10 +974,10 @@ msgid "Edit action block properties" msgstr "Editer les propriétés du block d'actions" -#: ../Viewer.py:1857 -#: ../Viewer.py:1859 -#: ../Viewer.py:2358 -#: ../Viewer.py:2360 +#: ../Viewer.py:1845 +#: ../Viewer.py:1847 +#: ../Viewer.py:2346 +#: ../Viewer.py:2348 msgid "Edit comment" msgstr "Editer le commentaire" @@ -970,7 +986,7 @@ msgid "Edit item" msgstr "Editer l'élément" -#: ../Viewer.py:2323 +#: ../Viewer.py:2311 msgid "Edit jump target" msgstr "Editer la cible du renvoi" @@ -986,7 +1002,7 @@ msgid "Elements :" msgstr "Eléments :" -#: ../PLCOpenEditor.py:318 +#: ../PLCOpenEditor.py:323 msgid "Enable Undo/Redo" msgstr "Activer Défaire/Refaire" @@ -994,60 +1010,60 @@ msgid "Enumerated" msgstr "Enumération" -#: ../plcopen/iec_std.csv:66 +#: ../plcopen/iec_std.csv:77 msgid "Equal to" msgstr "Egal à" -#: ../PLCOpenEditor.py:865 -#: ../PLCOpenEditor.py:1370 -#: ../PLCOpenEditor.py:1407 -#: ../PLCOpenEditor.py:1412 -#: ../PLCOpenEditor.py:1427 -#: ../PLCOpenEditor.py:1432 -#: ../PLCOpenEditor.py:2280 -#: ../PLCOpenEditor.py:2633 -#: ../PLCOpenEditor.py:2638 -#: ../PLCOpenEditor.py:3052 -#: ../PLCOpenEditor.py:3144 -#: ../PLCOpenEditor.py:3148 -#: ../PLCOpenEditor.py:3152 -#: ../PLCOpenEditor.py:3156 -#: ../PLCOpenEditor.py:3297 -#: ../PLCOpenEditor.py:3301 -#: ../PLCOpenEditor.py:3305 -#: ../PLCOpenEditor.py:3309 -#: ../PLCOpenEditor.py:3460 -#: ../PLCOpenEditor.py:3464 -#: ../PLCOpenEditor.py:3468 -#: ../PLCOpenEditor.py:3472 -#: ../PLCOpenEditor.py:3476 -#: ../PLCOpenEditor.py:3604 -#: ../PLCOpenEditor.py:3608 -#: ../PLCOpenEditor.py:3612 -#: ../PLCOpenEditor.py:3616 -#: ../PLCOpenEditor.py:3620 -#: ../PLCOpenEditor.py:3675 -#: ../PLCOpenEditor.py:3679 -#: ../PLCOpenEditor.py:3683 -#: ../PLCOpenEditor.py:3687 -#: ../PLCOpenEditor.py:3738 -#: ../PLCOpenEditor.py:3742 -#: ../PLCOpenEditor.py:3746 -#: ../PLCOpenEditor.py:3750 -#: ../PLCOpenEditor.py:4053 -#: ../PLCOpenEditor.py:4356 -#: ../PLCOpenEditor.py:4366 -#: ../Viewer.py:369 -#: ../TextViewer.py:250 -#: ../LDViewer.py:628 -#: ../LDViewer.py:850 -#: ../LDViewer.py:854 -#: ../VariablePanel.py:358 -#: ../VariablePanel.py:709 -#: ../VariablePanel.py:714 -#: ../VariablePanel.py:719 -#: ../VariablePanel.py:724 -#: ../VariablePanel.py:1201 +#: ../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 +#: ../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 #: ../dialogs/ConnectionDialog.py:203 #: ../dialogs/ConnectionDialog.py:207 @@ -1061,8 +1077,8 @@ #: ../dialogs/FBDBlockDialog.py:260 #: ../dialogs/FBDVariableDialog.py:264 #: ../dialogs/FBDVariableDialog.py:268 -#: ../dialogs/ForceVariableDialog.py:92 -#: ../dialogs/ForceVariableDialog.py:96 +#: ../dialogs/ForceVariableDialog.py:170 +#: ../dialogs/ForceVariableDialog.py:174 #: ../dialogs/PouNameDialog.py:55 #: ../dialogs/PouNameDialog.py:59 #: ../dialogs/PouNameDialog.py:63 @@ -1099,7 +1115,7 @@ msgid "Execution Order:" msgstr "Ordre d'exécution :" -#: ../plcopen/iec_std.csv:49 +#: ../plcopen/iec_std.csv:38 msgid "Exponent" msgstr "Exposant" @@ -1111,24 +1127,24 @@ msgid "Expression:" msgstr "Expression :" -#: ../VariablePanel.py:71 +#: ../VariablePanel.py:72 msgid "External" msgstr "Externe" -#: ../PLCOpenEditor.py:2984 -#: ../PLCOpenEditor.py:3179 -#: ../PLCOpenEditor.py:3189 -#: ../PLCOpenEditor.py:3368 -#: ../PLCOpenEditor.py:3512 +#: ../PLCOpenEditor.py:3022 +#: ../PLCOpenEditor.py:3217 +#: ../PLCOpenEditor.py:3227 +#: ../PLCOpenEditor.py:3406 +#: ../PLCOpenEditor.py:3550 msgid "FBD" msgstr "FBD" -#: ../Viewer.py:428 +#: ../Viewer.py:393 #: ../dialogs/LDElementDialog.py:155 msgid "Falling Edge" msgstr "Front descendant" -#: ../plcopen/structures.py:189 +#: ../plcopen/structures.py:188 msgid "" "Falling edge detector\n" "The output produces a single pulse when a falling edge is detected." @@ -1136,27 +1152,27 @@ "Détecteur de front descendant\n" "La sortie produit une impulsion unique lorsqu'un front descendant est détecté." -#: ../PLCOpenEditor.py:304 +#: ../PLCOpenEditor.py:309 msgid "File" msgstr "Fichier" -#: ../plcopen/iec_std.csv:79 +#: ../plcopen/iec_std.csv:90 msgid "Find position" msgstr "Trouver la position" -#: ../PLCOpenEditor.py:4184 -#: ../Viewer.py:1130 +#: ../PLCOpenEditor.py:4232 +#: ../Viewer.py:1095 msgid "Force value" msgstr "Forcer la valeur" -#: ../dialogs/ForceVariableDialog.py:77 +#: ../dialogs/ForceVariableDialog.py:155 msgid "Forcing Variable Value" msgstr "Forcer la valeur de la variable" -#: ../PLCOpenEditor.py:3052 -#: ../PLCOpenEditor.py:3297 -#: ../PLCOpenEditor.py:3460 -#: ../PLCOpenEditor.py:3604 +#: ../PLCOpenEditor.py:3090 +#: ../PLCOpenEditor.py:3335 +#: ../PLCOpenEditor.py:3498 +#: ../PLCOpenEditor.py:3642 #: ../dialogs/SFCTransitionDialog.py:209 #, python-format msgid "Form isn't complete. %s must be filled!" @@ -1171,16 +1187,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:332 +#: ../PLCOpenEditor.py:337 msgid "Function" msgstr "Fonction" -#: ../PLCOpenEditor.py:334 -#: ../PLCOpenEditor.py:1602 +#: ../PLCOpenEditor.py:339 +#: ../PLCOpenEditor.py:1619 msgid "Function Block" msgstr "Bloc fonctionnel" -#: ../VariablePanel.py:786 +#: ../VariablePanel.py:810 msgid "Function Block Types" msgstr "Types de blocs fonctionnels" @@ -1196,7 +1212,7 @@ msgid "Function Blocks can't be used in Transitions!" msgstr "Les blocs fonctionnels ne peuvent être utilisés dans des transitions" -#: ../PLCControler.py:1719 +#: ../PLCControler.py:1801 #, python-format msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!" msgstr "Le bloc fonctionnel \"%s\" ne peuvent être collés dans une function !" @@ -1205,67 +1221,75 @@ msgid "Functions" msgstr "Fonctions" -#: ../PLCOpenEditor.py:2457 +#: ../PLCOpenEditor.py:2477 msgid "Generate Program\tCTRL+G" msgstr "Générer le program\tCTRL+G" -#: ../VariablePanel.py:72 +#: ../VariablePanel.py:73 msgid "Global" msgstr "Globale" -#: ../PLCOpenEditor.py:1834 +#: ../PLCOpenEditor.py:1851 msgid "Graphic Panel" msgstr "Graphique" -#: ../PLCOpenEditor.py:2989 +#: ../PLCOpenEditor.py:3027 msgid "Graphics" msgstr "Graphiques" -#: ../plcopen/iec_std.csv:64 +#: ../plcopen/iec_std.csv:75 msgid "Greater than" msgstr "Supérieur à" -#: ../plcopen/iec_std.csv:65 +#: ../plcopen/iec_std.csv:76 msgid "Greater than or equal to" msgstr "Supérieur ou égal à" -#: ../PLCOpenEditor.py:2968 +#: ../PLCOpenEditor.py:3014 +msgid "Grid Resolution:" +msgstr "Résolution de la grille :" + +#: ../PLCOpenEditor.py:3006 msgid "Height:" msgstr "Hauteur :" -#: ../PLCOpenEditor.py:307 +#: ../PLCOpenEditor.py:312 msgid "Help" msgstr "Aide" -#: ../plcopen/structures.py:251 +#: ../PLCOpenEditor.py:2741 +msgid "Horizontal:" +msgstr "Horizontal :" + +#: ../plcopen/structures.py:250 msgid "" "Hysteresis\n" "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:3179 -#: ../PLCOpenEditor.py:3189 -#: ../PLCOpenEditor.py:3368 -#: ../PLCOpenEditor.py:3512 +#: ../PLCOpenEditor.py:3217 +#: ../PLCOpenEditor.py:3227 +#: ../PLCOpenEditor.py:3406 +#: ../PLCOpenEditor.py:3550 msgid "IL" msgstr "IL" -#: ../VariablePanel.py:70 +#: ../VariablePanel.py:71 #: ../dialogs/FBDVariableDialog.py:42 msgid "InOut" msgstr "Entrée-Sortie" -#: ../VariablePanel.py:328 +#: ../VariablePanel.py:344 #, python-format msgid "Incompatible data types between \"%s\" and \"%s\"" msgstr "Types de donnée imcompatible entre \"%s\" et \"%s\"" -#: ../VariablePanel.py:339 +#: ../VariablePanel.py:355 #, python-format msgid "Incompatible size of data between \"%s\" and \"%s\"" msgstr "Taille de donnée incompatible entre \"%s\" et \"%s\"" -#: ../VariablePanel.py:335 +#: ../VariablePanel.py:351 #, python-format msgid "Incompatible size of data between \"%s\" and \"BOOL\"" msgstr "Taille de donnée incompatible entre \"%s\" et \"BOOL\"" @@ -1274,8 +1298,8 @@ msgid "Indicator" msgstr "Indicateur" -#: ../VariablePanel.py:52 #: ../VariablePanel.py:53 +#: ../VariablePanel.py:54 #: ../DataTypeEditor.py:46 msgid "Initial Value" msgstr "Valeur initiale" @@ -1293,8 +1317,8 @@ msgid "Inline" msgstr "Inline" -#: ../VariablePanel.py:70 -#: ../VariablePanel.py:1019 +#: ../VariablePanel.py:71 +#: ../VariablePanel.py:1057 #: ../dialogs/FBDVariableDialog.py:41 #: ../dialogs/SFCStepDialog.py:122 msgid "Input" @@ -1304,16 +1328,16 @@ msgid "Inputs:" msgstr "Entrées :" -#: ../plcopen/iec_std.csv:76 +#: ../plcopen/iec_std.csv:87 msgid "Insertion (into)" msgstr "Insertion (au milieu)" -#: ../plcopen/plcopen.py:1518 +#: ../plcopen/plcopen.py:1537 #, python-format msgid "Instance with id %d doesn't exist!" msgstr "L'instance dont l'id est %d n'existe pas !" -#: ../PLCOpenEditor.py:559 +#: ../PLCOpenEditor.py:564 msgid "Instances" msgstr "Instances" @@ -1321,7 +1345,7 @@ msgid "Instances:" msgstr "Instances :" -#: ../plcopen/structures.py:231 +#: ../plcopen/structures.py:230 msgid "" "Integral\n" "The integral function block integrates the value of input XIN over time." @@ -1329,7 +1353,7 @@ "Intégrale\n" "Le bloc fonctionnel INTEGRAL intègre les valeurs de l'entrée XIN en fonction du temps." -#: ../VariablePanel.py:69 +#: ../VariablePanel.py:70 msgid "Interface" msgstr "Interface" @@ -1337,24 +1361,24 @@ msgid "Interval" msgstr "Interval" -#: ../PLCControler.py:1696 -#: ../PLCControler.py:1734 +#: ../PLCControler.py:1778 +#: ../PLCControler.py:1816 msgid "Invalid plcopen element(s)!!!" msgstr "Les éléments plcopen ne sont pas valides !!! " -#: ../dialogs/ForceVariableDialog.py:96 +#: ../dialogs/ForceVariableDialog.py:174 #, python-format msgid "Invalid value \"%s\" for \"%s\" variable!" msgstr "Valeur \"%s\" invalide pour une variable de type \"%s\" !" -#: ../PLCOpenEditor.py:4042 -#: ../PLCOpenEditor.py:4045 +#: ../PLCOpenEditor.py:4080 +#: ../PLCOpenEditor.py:4083 #, python-format msgid "Invalid value \"%s\" for debug variable" msgstr "Chemin de variable à déboguer \"%s\" invalide" -#: ../VariablePanel.py:316 -#: ../VariablePanel.py:319 +#: ../VariablePanel.py:332 +#: ../VariablePanel.py:335 #, python-format msgid "Invalid value \"%s\" for location" msgstr "Adresse \"%s\" invalide " @@ -1365,37 +1389,37 @@ msgid "Invalid value \"%s\" for viewer block" msgstr "Valeur \"%s\" invalide pour un élément graphique" -#: ../PLCOpenEditor.py:2984 -#: ../PLCOpenEditor.py:3179 -#: ../PLCOpenEditor.py:3189 -#: ../PLCOpenEditor.py:3368 -#: ../PLCOpenEditor.py:3512 +#: ../PLCOpenEditor.py:3022 +#: ../PLCOpenEditor.py:3217 +#: ../PLCOpenEditor.py:3227 +#: ../PLCOpenEditor.py:3406 +#: ../PLCOpenEditor.py:3550 msgid "LD" msgstr "LD" -#: ../LDViewer.py:213 -#: ../LDViewer.py:228 +#: ../LDViewer.py:215 +#: ../LDViewer.py:231 #, python-format 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:3287 -#: ../PLCOpenEditor.py:3450 -#: ../PLCOpenEditor.py:3594 +#: ../PLCOpenEditor.py:3325 +#: ../PLCOpenEditor.py:3488 +#: ../PLCOpenEditor.py:3632 msgid "Language" msgstr "Langue" -#: ../PLCOpenEditor.py:2998 +#: ../PLCOpenEditor.py:3036 msgid "Language (optional):" msgstr "Langue (optionnel) :" -#: ../PLCOpenEditor.py:3255 -#: ../PLCOpenEditor.py:3423 -#: ../PLCOpenEditor.py:3567 +#: ../PLCOpenEditor.py:3293 +#: ../PLCOpenEditor.py:3461 +#: ../PLCOpenEditor.py:3605 msgid "Language:" msgstr "Langue :" -#: ../Viewer.py:392 +#: ../Viewer.py:357 msgid "Left" msgstr "Gauche" @@ -1403,35 +1427,35 @@ msgid "Left PowerRail" msgstr "Barre d'alimentation à gauche" -#: ../plcopen/iec_std.csv:70 +#: ../plcopen/iec_std.csv:81 msgid "Length of string" msgstr "Longueur de la chaîne" -#: ../plcopen/iec_std.csv:67 +#: ../plcopen/iec_std.csv:78 msgid "Less than" msgstr "Inférieur à" -#: ../plcopen/iec_std.csv:68 +#: ../plcopen/iec_std.csv:79 msgid "Less than or equal to" msgstr "Inférieur ou égal à" -#: ../PLCOpenEditor.py:594 +#: ../PLCOpenEditor.py:599 msgid "Library" msgstr "Librairie" -#: ../plcopen/iec_std.csv:62 +#: ../plcopen/iec_std.csv:73 msgid "Limitation" msgstr "Limitation" -#: ../VariablePanel.py:71 +#: ../VariablePanel.py:72 msgid "Local" msgstr "Locale" -#: ../VariablePanel.py:52 +#: ../VariablePanel.py:53 msgid "Location" msgstr "Adresse" -#: ../VariablePanel.py:1080 +#: ../VariablePanel.py:1118 msgid "Locations available:" msgstr "Adresses disponibles :" @@ -1439,7 +1463,7 @@ msgid "Logarithm to base 10" msgstr "Logarithme de base 10" -#: ../plcopen/iec_std.csv:60 +#: ../plcopen/iec_std.csv:71 msgid "Maximum" msgstr "Maximum" @@ -1447,15 +1471,15 @@ msgid "Maximum:" msgstr "Maximum :" -#: ../VariablePanel.py:1021 +#: ../VariablePanel.py:1059 msgid "Memory" msgstr "Mémoire" -#: ../Viewer.py:401 +#: ../Viewer.py:366 msgid "Middle" msgstr "Milieu" -#: ../plcopen/iec_std.csv:61 +#: ../plcopen/iec_std.csv:72 msgid "Minimum" msgstr "Minimum" @@ -1463,7 +1487,7 @@ msgid "Minimum:" msgstr "Minimum :" -#: ../PLCOpenEditor.py:3013 +#: ../PLCOpenEditor.py:3051 msgid "Miscellaneous" msgstr "Divers" @@ -1471,8 +1495,8 @@ msgid "Modifier:" msgstr "Modificateur :" -#: ../PLCGenerator.py:682 -#: ../PLCGenerator.py:886 +#: ../PLCGenerator.py:724 +#: ../PLCGenerator.py:948 #, python-format msgid "More than one connector found corresponding to \"%s\" continuation in \"%s\" POU" msgstr "Plusieurs connecteurs trouvés pour le prolongement \"%s\" dans le POU \"%s\"" @@ -1487,18 +1511,18 @@ msgid "Move up" msgstr "Déplacer vers le bas" -#: ../plcopen/iec_std.csv:63 +#: ../plcopen/iec_std.csv:74 msgid "Multiplexer (select 1 of N)" msgstr "Multipléxeur (sélection 1 sur N)" -#: ../plcopen/iec_std.csv:37 +#: ../plcopen/iec_std.csv:34 msgid "Multiplication" msgstr "Multiplication" #: ../RessourceEditor.py:82 #: ../RessourceEditor.py:86 -#: ../VariablePanel.py:52 #: ../VariablePanel.py:53 +#: ../VariablePanel.py:54 #: ../DataTypeEditor.py:46 msgid "Name" msgstr "Nom" @@ -1515,12 +1539,12 @@ msgid "Natural logarithm" msgstr "Logarithme népérien" -#: ../Viewer.py:424 +#: ../Viewer.py:389 #: ../dialogs/LDElementDialog.py:135 msgid "Negated" msgstr "Inversé" -#: ../PLCOpenEditor.py:2444 +#: ../PLCOpenEditor.py:2464 msgid "New\tCTRL+N" msgstr "Nouveau\tCTRL+N" @@ -1529,26 +1553,26 @@ msgid "New item" msgstr "Nouvel élément" -#: ../Viewer.py:422 +#: ../Viewer.py:387 msgid "No Modifier" msgstr "Pas de modificateur" -#: ../PLCControler.py:2578 +#: ../PLCControler.py:2663 msgid "No PLC project found" msgstr "Pas de projet d'automate trouvé" -#: ../PLCGenerator.py:1267 +#: ../PLCGenerator.py:1331 #, python-format msgid "No body defined in \"%s\" POU" msgstr "Pas de code défini dans le POU \"%s\"" -#: ../PLCGenerator.py:701 -#: ../PLCGenerator.py:895 +#: ../PLCGenerator.py:743 +#: ../PLCGenerator.py:957 #, python-format 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:2391 +#: ../PLCOpenEditor.py:2411 msgid "" "No documentation available.\n" "Coming soon." @@ -1556,21 +1580,21 @@ "Pas de documentation.\n" "Bientôt disponible." -#: ../PLCGenerator.py:753 +#: ../PLCGenerator.py:765 #, python-format msgid "No informations found for \"%s\" block" msgstr "Aucune information trouvée pour le block \"%s\"" -#: ../plcopen/structures.py:139 +#: ../plcopen/structures.py:138 msgid "No output variable found" msgstr "Pas de variable de sortie trouvée." -#: ../PLCGenerator.py:1265 +#: ../PLCGenerator.py:1329 #, python-format msgid "No variable defined in \"%s\" POU" msgstr "Pas de varaibles définies dans le POU \"%s\"" -#: ../VariablePanel.py:63 +#: ../VariablePanel.py:64 msgid "Non-Retain" msgstr "Non-Persistante" @@ -1578,7 +1602,7 @@ msgid "Normal" msgstr "Normal" -#: ../plcopen/iec_std.csv:69 +#: ../plcopen/iec_std.csv:80 msgid "Not equal to" msgstr "Non égal à" @@ -1590,39 +1614,39 @@ msgid "Numerical" msgstr "Numérique" -#: ../plcopen/structures.py:219 +#: ../plcopen/structures.py:218 msgid "" "Off-delay timer\n" "The off-delay timer can be used to delay setting an output false, for fixed period after input goes false." msgstr "" -#: ../plcopen/structures.py:214 +#: ../plcopen/structures.py:213 msgid "" "On-delay timer\n" "The on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true." msgstr "" -#: ../PLCOpenEditor.py:2446 +#: ../PLCOpenEditor.py:2466 msgid "Open\tCTRL+O" msgstr "Ouvrir\tCTRL+O" -#: ../VariablePanel.py:52 #: ../VariablePanel.py:53 +#: ../VariablePanel.py:54 msgid "Option" msgstr "Option" -#: ../PLCOpenEditor.py:2940 +#: ../PLCOpenEditor.py:2978 msgid "Organization (optional):" msgstr "Groupe (optionnel) :" -#: ../VariablePanel.py:70 -#: ../VariablePanel.py:1020 +#: ../VariablePanel.py:71 +#: ../VariablePanel.py:1058 #: ../dialogs/FBDVariableDialog.py:43 #: ../dialogs/SFCStepDialog.py:127 msgid "Output" msgstr "Sortie" -#: ../plcopen/structures.py:241 +#: ../plcopen/structures.py:240 msgid "" "PID\n" "The PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control." @@ -1630,53 +1654,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:2598 -#: ../PLCOpenEditor.py:2657 +#: ../PLCOpenEditor.py:2630 +#: ../PLCOpenEditor.py:2694 msgid "PLCOpen files (*.xml)|*.xml|All files|*.*" msgstr "Fichiers PLCOpen (*.xml)|*.xml|Tous les fichiers|*.*" -#: ../PLCOpenEditor.py:2530 +#: ../PLCOpenEditor.py:2559 msgid "PLCOpenEditor" msgstr "PLCOpenEditor" -#: ../PLCOpenEditor.py:2488 +#: ../PLCOpenEditor.py:2508 msgid "PLCOpenEditor\tF1" msgstr "PLCOpenEditor\tF1" -#: ../PLCOpenEditor.py:3283 +#: ../PLCOpenEditor.py:3321 msgid "POU Name" msgstr "Nom du POU" -#: ../PLCOpenEditor.py:3238 +#: ../PLCOpenEditor.py:3276 msgid "POU Name:" msgstr "Nom du POU :" -#: ../PLCOpenEditor.py:3285 +#: ../PLCOpenEditor.py:3323 msgid "POU Type" msgstr "Type du POU" -#: ../PLCOpenEditor.py:3246 +#: ../PLCOpenEditor.py:3284 msgid "POU Type:" msgstr "Type du POU :" -#: ../PLCOpenEditor.py:2460 +#: ../PLCOpenEditor.py:2480 msgid "Page Setup" msgstr "Mise en page..." -#: ../PLCOpenEditor.py:2956 +#: ../PLCOpenEditor.py:2994 msgid "Page Size (optional):" msgstr "Taille de la page (optionnel) :" -#: ../PLCOpenEditor.py:4301 +#: ../PLCOpenEditor.py:4362 #, python-format msgid "Page: %d" msgstr "Page: %d" -#: ../PLCOpenEditor.py:325 +#: ../PLCOpenEditor.py:330 msgid "Paste\tCTRL+V" msgstr "Coller\tCTRL+V" -#: ../PLCOpenEditor.py:1646 +#: ../PLCOpenEditor.py:1663 msgid "Paste POU" msgstr "Coller un POU" @@ -1684,34 +1708,30 @@ msgid "Pin number:" msgstr "Nombre de pattes :" -#: ../Viewer.py:2032 -#: ../Viewer.py:2323 +#: ../Viewer.py:2020 +#: ../Viewer.py:2311 #: ../SFCViewer.py:698 msgid "Please choose a target" msgstr "Choisissez une cible" -#: ../PLCOpenEditor.py:2253 -msgid "Please enter POU name" -msgstr "Saisissez le nom du POU" - -#: ../Viewer.py:1857 -#: ../Viewer.py:1859 -#: ../Viewer.py:2358 -#: ../Viewer.py:2360 +#: ../Viewer.py:1845 +#: ../Viewer.py:1847 +#: ../Viewer.py:2346 +#: ../Viewer.py:2348 msgid "Please enter comment text" msgstr "Saisissez le texte du commentaire" -#: ../PLCOpenEditor.py:2221 -#: ../PLCOpenEditor.py:3658 +#: ../PLCOpenEditor.py:2246 +#: ../PLCOpenEditor.py:3696 msgid "Please enter configuration name" msgstr "Saisissez le nom de la configuration" -#: ../PLCOpenEditor.py:2177 +#: ../PLCOpenEditor.py:2194 msgid "Please enter data type name" msgstr "Saisissez le nom du type de donnée" -#: ../PLCOpenEditor.py:2232 -#: ../PLCOpenEditor.py:3721 +#: ../PLCOpenEditor.py:2259 +#: ../PLCOpenEditor.py:3759 msgid "Please enter resource name" msgstr "Saisissez le nom de la ressource" @@ -1721,16 +1741,16 @@ msgid "Please enter step name" msgstr "Saisissez le nom de l'étape" -#: ../PLCOpenEditor.py:3129 +#: ../PLCOpenEditor.py:3167 msgid "Please enter text" msgstr "Saisissez le texte" -#: ../dialogs/ForceVariableDialog.py:78 +#: ../dialogs/ForceVariableDialog.py:156 #, python-format msgid "Please enter value for a \"%s\" variable:" msgstr "Veuillez entrer la valeur pour une variable de type \"%s\" :" -#: ../VariablePanel.py:1147 +#: ../VariablePanel.py:1185 msgid "Plugins" msgstr "Plugins" @@ -1742,7 +1762,7 @@ msgid "Power Rail Properties" msgstr "Propriétés de la barre d'alimentation" -#: ../PLCOpenEditor.py:2462 +#: ../PLCOpenEditor.py:2482 msgid "Preview" msgstr "Aperçu avant impression" @@ -1757,11 +1777,11 @@ msgid "Preview:" msgstr "Aperçu :" -#: ../PLCOpenEditor.py:2464 +#: ../PLCOpenEditor.py:2484 msgid "Print" msgstr "Imprimer" -#: ../PLCOpenEditor.py:934 +#: ../PLCOpenEditor.py:950 msgid "Print preview" msgstr "Aperçu avant impression" @@ -1773,24 +1793,24 @@ msgid "Priority:" msgstr "Priorité :" -#: ../PLCOpenEditor.py:2884 +#: ../PLCOpenEditor.py:2922 msgid "Product Name (required):" msgstr "Nom du produit (obligatoire) :" -#: ../PLCOpenEditor.py:2900 +#: ../PLCOpenEditor.py:2938 msgid "Product Release (optional):" msgstr "Publication du produit (optionnel) :" -#: ../PLCOpenEditor.py:2892 +#: ../PLCOpenEditor.py:2930 msgid "Product Version (required):" msgstr "Version du produit (obligatoire) :" -#: ../PLCOpenEditor.py:336 -#: ../PLCOpenEditor.py:1605 +#: ../PLCOpenEditor.py:341 +#: ../PLCOpenEditor.py:1622 msgid "Program" msgstr "Programme" -#: ../PLCOpenEditor.py:2635 +#: ../PLCOpenEditor.py:2671 msgid "Program was successfully generated!" msgstr "Le programme a été généré avec succès !" @@ -1802,29 +1822,37 @@ msgid "Programs can't be used by other POUs!" msgstr "Les programmes ne peuvent être utilisés par les autres POUs !" -#: ../PLCOpenEditor.py:437 -#: ../PLCOpenEditor.py:2907 +#: ../PLCOpenEditor.py:442 +#: ../PLCOpenEditor.py:2945 msgid "Project" msgstr "Projet" -#: ../PLCOpenEditor.py:2868 +#: ../PLCOpenEditor.py:2906 msgid "Project Name (required):" msgstr "Nom du projet (obligatoire) :" -#: ../PLCOpenEditor.py:2876 +#: ../PLCOpenEditor.py:2914 msgid "Project Version (optional):" msgstr "Version du projet (optionnel) :" -#: ../PLCOpenEditor.py:2854 +#: ../PLCControler.py:2650 +msgid "" +"Project file syntax error:\n" +"\n" +msgstr "" +"Erreur de syntaxe dans le fichier du projet :\n" +"\n" + +#: ../PLCOpenEditor.py:2892 msgid "Project properties" msgstr "Propriétés du projet" -#: ../PLCOpenEditor.py:2467 +#: ../PLCOpenEditor.py:2487 #: ../PLCControler.py:91 msgid "Properties" msgstr "Propriétés" -#: ../plcopen/structures.py:209 +#: ../plcopen/structures.py:208 msgid "" "Pulse timer\n" "The pulse timer can be used to generate output pulses of a given time duration." @@ -1834,11 +1862,11 @@ msgid "Qualifier" msgstr "Qualificatif" -#: ../PLCOpenEditor.py:2470 +#: ../PLCOpenEditor.py:2490 msgid "Quit\tCTRL+Q" msgstr "Quitter\tCTRL+Q" -#: ../plcopen/structures.py:174 +#: ../plcopen/structures.py:173 msgid "" "RS bistable\n" "The RS bistable is a latch where the Reset dominates." @@ -1846,7 +1874,7 @@ "Bascule RS\n" "La bascule RS est une bascule où le Reset est dominant." -#: ../plcopen/structures.py:246 +#: ../plcopen/structures.py:245 msgid "" "Ramp\n" "The RAMP function block is modelled on example given in the standard but with the addition of a 'Holdback' feature." @@ -1858,7 +1886,7 @@ msgid "Range:" msgstr "Echelle :" -#: ../PLCOpenEditor.py:316 +#: ../PLCOpenEditor.py:321 msgid "Redo\tCTRL+Y" msgstr "Refaire\tCTRL+Y" @@ -1867,24 +1895,24 @@ msgid "Reference" msgstr "Référence" -#: ../PLCOpenEditor.py:364 +#: ../PLCOpenEditor.py:369 msgid "Refresh\tF5" msgstr "Actualiser\tF5" -#: ../PLCOpenEditor.py:4187 -#: ../Viewer.py:1133 +#: ../PLCOpenEditor.py:4235 +#: ../Viewer.py:1098 msgid "Release value" msgstr "Relacher la valeur" -#: ../plcopen/iec_std.csv:48 +#: ../plcopen/iec_std.csv:37 msgid "Remainder (modulo)" msgstr "Modulo" -#: ../PLCOpenEditor.py:1609 +#: ../PLCOpenEditor.py:1626 msgid "Rename" msgstr "Renommer" -#: ../plcopen/iec_std.csv:78 +#: ../plcopen/iec_std.csv:89 msgid "Replacement (within)" msgstr "Remplacement (au milieu)" @@ -1892,7 +1920,7 @@ msgid "Reset" msgstr "Mise à zéro" -#: ../Viewer.py:443 +#: ../Viewer.py:408 msgid "Reset Execution Order" msgstr "Réinitialiser l'order d'exécution" @@ -1900,15 +1928,15 @@ msgid "Resources" msgstr "Ressources" -#: ../VariablePanel.py:61 +#: ../VariablePanel.py:62 msgid "Retain" msgstr "Persistante" -#: ../VariablePanel.py:466 +#: ../VariablePanel.py:482 msgid "Return Type:" msgstr "Type de retour :" -#: ../Viewer.py:396 +#: ../Viewer.py:361 msgid "Right" msgstr "Droite" @@ -1916,12 +1944,12 @@ msgid "Right PowerRail" msgstr "Barre d'alimentation à droite" -#: ../Viewer.py:426 +#: ../Viewer.py:391 #: ../dialogs/LDElementDialog.py:150 msgid "Rising Edge" msgstr "Front montant" -#: ../plcopen/structures.py:184 +#: ../plcopen/structures.py:183 msgid "" "Rising edge detector\n" "The output produces a single pulse when a rising edge is detected." @@ -1929,11 +1957,11 @@ "Détecteur de front montant\n" "La sortie produit une impulsion unique lorsqu'un front montant est détecté." -#: ../plcopen/iec_std.csv:54 +#: ../plcopen/iec_std.csv:65 msgid "Rotate left" msgstr "Rotation à gauche" -#: ../plcopen/iec_std.csv:53 +#: ../plcopen/iec_std.csv:64 msgid "Rotate right" msgstr "Rotation à droite" @@ -1941,12 +1969,12 @@ msgid "Rounding up/down" msgstr "Arrondi" -#: ../PLCOpenEditor.py:2984 -#: ../PLCOpenEditor.py:3189 +#: ../PLCOpenEditor.py:3022 +#: ../PLCOpenEditor.py:3227 msgid "SFC" msgstr "SFC" -#: ../plcopen/structures.py:169 +#: ../plcopen/structures.py:168 msgid "" "SR bistable\n" "The SR bistable is a latch where the Set dominates." @@ -1954,43 +1982,39 @@ "Bascule SR\n" "La bascule SR est une bascule où le Set est dominant." -#: ../PLCOpenEditor.py:3179 -#: ../PLCOpenEditor.py:3189 -#: ../PLCOpenEditor.py:3368 -#: ../PLCOpenEditor.py:3512 +#: ../PLCOpenEditor.py:3217 +#: ../PLCOpenEditor.py:3227 +#: ../PLCOpenEditor.py:3406 +#: ../PLCOpenEditor.py:3550 msgid "ST" msgstr "ST" -#: ../PLCOpenEditor.py:2622 +#: ../PLCOpenEditor.py:2658 msgid "ST files (*.st)|*.st|All files|*.*" msgstr "Fichiers ST (*.st)|*.st|Tous les fichiers|*.*" -#: ../PLCOpenEditor.py:2453 +#: ../PLCOpenEditor.py:2473 msgid "Save\tCTRL+S" msgstr "Enregistrer\tCTRL+S" -#: ../PLCOpenEditor.py:2455 +#: ../PLCOpenEditor.py:2475 msgid "Save As...\tCTRL+SHIFT+S" msgstr "Enregistrer sous...\tCTRL+SHIFT+S" -#: ../PLCOpenEditor.py:2976 -msgid "Scaling:" -msgstr "Echelle :" - -#: ../PLCOpenEditor.py:340 +#: ../PLCOpenEditor.py:345 msgid "Select All\tCTRL+A" msgstr "Tout sélectionner\tCTRL+A" -#: ../VariablePanel.py:341 +#: ../VariablePanel.py:357 msgid "Select a variable class:" msgstr "Sélectionner une direction pour la variable :" -#: ../PLCOpenEditor.py:570 -#: ../PLCOpenEditor.py:582 +#: ../PLCOpenEditor.py:575 +#: ../PLCOpenEditor.py:587 msgid "Select an object" msgstr "Sélectionner un objet" -#: ../plcopen/iec_std.csv:59 +#: ../plcopen/iec_std.csv:70 msgid "Selection" msgstr "Sélection" @@ -2002,7 +2026,7 @@ msgid "Selection Divergence" msgstr "Divergence simple" -#: ../plcopen/structures.py:179 +#: ../plcopen/structures.py:178 msgid "" "Semaphore\n" "The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources." @@ -2014,11 +2038,11 @@ msgid "Set" msgstr "Mise à 1" -#: ../plcopen/iec_std.csv:51 +#: ../plcopen/iec_std.csv:62 msgid "Shift left" msgstr "Décalage à gauche" -#: ../plcopen/iec_std.csv:52 +#: ../plcopen/iec_std.csv:63 msgid "Shift right" msgstr "Décalage à droite" @@ -2042,7 +2066,7 @@ msgid "Square root (base 2)" msgstr "Racine carré (base 2)" -#: ../plcopen/structures.py:165 +#: ../plcopen/structures.py:164 msgid "Standard function blocks" msgstr "Blocs fonctionnels standards" @@ -2054,7 +2078,7 @@ msgid "Subrange" msgstr "Sous-ensemble" -#: ../plcopen/iec_std.csv:39 +#: ../plcopen/iec_std.csv:35 msgid "Subtraction" msgstr "Soustraction" @@ -2070,25 +2094,25 @@ msgid "Tasks:" msgstr "Tâches :" -#: ../VariablePanel.py:72 +#: ../VariablePanel.py:73 msgid "Temp" msgstr "Temporaire" -#: ../LDViewer.py:850 +#: ../LDViewer.py:881 msgid "The group of block must be coherent!" msgstr "Le groupe de blocs doit être cohérent !" -#: ../PLCOpenEditor.py:873 +#: ../PLCOpenEditor.py:889 msgid "There are changes, do you want to save?" msgstr "Le projet a été modifié. Voulez-vous l'enregistrer ?" -#: ../PLCOpenEditor.py:1407 -#: ../PLCOpenEditor.py:1427 +#: ../PLCOpenEditor.py:1425 +#: ../PLCOpenEditor.py:1445 #, 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:953 +#: ../PLCOpenEditor.py:969 msgid "" "There was a problem printing.\n" "Perhaps your current printer is not set correctly?" @@ -2096,7 +2120,7 @@ "Un problème est apparu lors de l'impression.\n" "Peut-être que votre imprimante n'est pas correctement configurée ?" -#: ../LDViewer.py:859 +#: ../LDViewer.py:890 msgid "This option isn't available yet!" msgstr "Cette option n'a pas encore disponible" @@ -2104,62 +2128,73 @@ msgid "Tick" msgstr "Tick" -#: ../plcopen/iec_std.csv:34 +#: ../plcopen/iec_std.csv:40 +msgid "Time" +msgstr "Temps" + +#: ../plcopen/iec_std.csv:40 +#: ../plcopen/iec_std.csv:41 msgid "Time addition" msgstr "Addition de durée" -#: ../plcopen/iec_std.csv:75 +#: ../plcopen/iec_std.csv:86 msgid "Time concatenation" msgstr "Concaténation de date et de durée" -#: ../plcopen/iec_std.csv:47 +#: ../plcopen/iec_std.csv:60 +#: ../plcopen/iec_std.csv:61 msgid "Time division" msgstr "Division de durée" -#: ../plcopen/iec_std.csv:38 +#: ../plcopen/iec_std.csv:46 +#: ../plcopen/iec_std.csv:47 msgid "Time multiplication" msgstr "Multiplication de durée" -#: ../plcopen/iec_std.csv:40 +#: ../plcopen/iec_std.csv:48 +#: ../plcopen/iec_std.csv:49 msgid "Time subtraction" msgstr "Soustraction de durée" -#: ../plcopen/iec_std.csv:35 +#: ../plcopen/iec_std.csv:42 +#: ../plcopen/iec_std.csv:43 msgid "Time-of-day addition" msgstr "Addition d'horodatage" -#: ../plcopen/iec_std.csv:42 -#: ../plcopen/iec_std.csv:43 +#: ../plcopen/iec_std.csv:52 +#: ../plcopen/iec_std.csv:53 +#: ../plcopen/iec_std.csv:54 +#: ../plcopen/iec_std.csv:55 msgid "Time-of-day subtraction" msgstr "Soustraction d'horodatage" -#: ../PLCOpenEditor.py:574 +#: ../PLCOpenEditor.py:579 msgid "Toolbar" msgstr "Barre d'outils" -#: ../Viewer.py:399 +#: ../Viewer.py:364 msgid "Top" msgstr "Haut" -#: ../PLCOpenEditor.py:3448 +#: ../PLCOpenEditor.py:3486 msgid "Transition Name" msgstr "Nom de la transition" -#: ../PLCOpenEditor.py:3415 +#: ../PLCOpenEditor.py:3453 msgid "Transition Name:" msgstr "Nom de la transition :" -#: ../PLCGenerator.py:1247 +#: ../PLCGenerator.py:1311 #, python-format msgid "Transition with content \"%s\" not connected to a next step in \"%s\" POU" msgstr "La transition contenant \"%s\" n'est pas connectée à une étape en sortie dans le POU \"%s\" !" -#: ../PLCGenerator.py:1238 +#: ../PLCGenerator.py:1302 #, python-format msgid "Transition with content \"%s\" not connected to a previous step in \"%s\" POU" msgstr "La transition contenant \"%s\" n'est pas connectée à une étape en entrée dans le POU \"%s\" !" -#: ../plcopen/plcopen.py:1175 +#: ../plcopen/plcopen.py:1194 #, python-format msgid "Transition with name %s doesn't exist!" msgstr "La transition nommée %s n'existe pas !" @@ -2169,8 +2204,8 @@ msgstr "Transitions" #: ../RessourceEditor.py:86 -#: ../VariablePanel.py:52 #: ../VariablePanel.py:53 +#: ../VariablePanel.py:54 #: ../dialogs/ActionBlockDialog.py:33 #: ../DataTypeEditor.py:46 msgid "Type" @@ -2192,7 +2227,7 @@ msgid "Type:" msgstr "Type :" -#: ../PLCOpenEditor.py:540 +#: ../PLCOpenEditor.py:545 msgid "Types" msgstr "Types" @@ -2201,11 +2236,11 @@ msgid "Undefined pou type \"%s\"" msgstr "Type de POU \"%s\" indéterminé !" -#: ../PLCOpenEditor.py:314 +#: ../PLCOpenEditor.py:319 msgid "Undo\tCTRL+Z" msgstr "Défaire\tCTRL+Z" -#: ../Viewer.py:320 +#: ../Viewer.py:304 #, python-format msgid "Unknown variable \"%s\" for this POU!" msgstr "Variable \"%s\" inconnue dans ce POU !" @@ -2215,12 +2250,12 @@ msgid "Unnamed%d" msgstr "Sansnom%d" -#: ../VariablePanel.py:337 +#: ../VariablePanel.py:353 #, python-format msgid "Unrecognized data size \"%s\"" msgstr "Taille de donnée \"%s\" non identifié !" -#: ../plcopen/structures.py:194 +#: ../plcopen/structures.py:193 msgid "" "Up-counter\n" "The up-counter can be used to signal when a count has reached a maximum value." @@ -2228,7 +2263,7 @@ "Compteur incrémental\n" "Le compteur incrémental peut être utilisé pour signaler lorsque le compteur a atteint la valeur maximale." -#: ../plcopen/structures.py:204 +#: ../plcopen/structures.py:203 msgid "" "Up-down counter\n" "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." @@ -2236,7 +2271,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:770 +#: ../VariablePanel.py:790 #: ../DataTypeEditor.py:807 msgid "User Data Types" msgstr "Types de donnée du projet" @@ -2245,7 +2280,7 @@ msgid "User-defined POUs" msgstr "POUs du projet" -#: ../PLCOpenEditor.py:3857 +#: ../PLCOpenEditor.py:3895 #: ../dialogs/ActionBlockDialog.py:33 msgid "Value" msgstr "Valeur" @@ -2258,7 +2293,7 @@ msgid "Values:" msgstr "Valeurs" -#: ../PLCOpenEditor.py:3857 +#: ../PLCOpenEditor.py:3895 #: ../dialogs/ActionBlockDialog.py:37 msgid "Variable" msgstr "Variable" @@ -2267,125 +2302,139 @@ msgid "Variable Properties" msgstr "Propriétés de la variable" -#: ../VariablePanel.py:341 +#: ../VariablePanel.py:357 msgid "Variable class" msgstr "Direction de la variable" -#: ../Viewer.py:322 -#: ../TextViewer.py:248 +#: ../Viewer.py:306 +#: ../TextViewer.py:279 msgid "Variable don't belong to this POU!" msgstr "La variable n'appartient pas à ce POU !" -#: ../PLCOpenEditor.py:589 -#: ../VariablePanel.py:71 +#: ../PLCOpenEditor.py:594 +#: ../VariablePanel.py:72 msgid "Variables" msgstr "Variables" -#: ../PLCOpenEditor.py:3313 -#: ../PLCOpenEditor.py:3691 -#: ../PLCOpenEditor.py:3754 -#: ../LDViewer.py:859 +#: ../PLCOpenEditor.py:2749 +msgid "Vertical:" +msgstr "Vertical :" + +#: ../PLCOpenEditor.py:3351 +#: ../PLCOpenEditor.py:3729 +#: ../PLCOpenEditor.py:3792 +#: ../LDViewer.py:890 msgid "Warning" msgstr "Attention" -#: ../PLCOpenEditor.py:2960 +#: ../PLCOpenEditor.py:2998 msgid "Width:" msgstr "Longueur :" -#: ../PLCOpenEditor.py:2703 -msgid "X Scale:" -msgstr "Echelle X :" - -#: ../PLCOpenEditor.py:2711 -msgid "Y Scale:" -msgstr "Echelle Y :" - -#: ../LDViewer.py:854 +#: ../LDViewer.py:885 msgid "You must select the block or group of blocks around which a branch should be added!" msgstr "Vous devez sélectionné le bloc ou le group autour duquel un ebranche doit être ajoutée !" -#: ../LDViewer.py:628 +#: ../LDViewer.py:665 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:3144 -#: ../PLCOpenEditor.py:3675 -#: ../PLCOpenEditor.py:3738 +#: ../PLCOpenEditor.py:3182 +#: ../PLCOpenEditor.py:3713 +#: ../PLCOpenEditor.py:3776 #: ../dialogs/PouNameDialog.py:55 #: ../dialogs/SFCStepDialog.py:175 #: ../dialogs/SFCStepNameDialog.py:57 msgid "You must type a name!" msgstr "Vous devez saisir un nom !" -#: ../dialogs/ForceVariableDialog.py:92 +#: ../dialogs/ForceVariableDialog.py:170 msgid "You must type a value!" msgstr "Vous devez saisir une valeur !" -#: ../PLCOpenEditor.py:370 +#: ../PLCOpenEditor.py:375 msgid "Zoom" msgstr "Zoom" -#: ../PLCOpenEditor.py:2631 +#: ../PLCOpenEditor.py:2667 #, python-format msgid "error: %s\n" msgstr "erreur: %s\n" -#: ../PLCOpenEditor.py:4333 -#: ../PLCOpenEditor.py:4335 +#: ../PLCOpenEditor.py:4394 +#: ../PLCOpenEditor.py:4396 msgid "file : " msgstr "fichier :" -#: ../PLCOpenEditor.py:3184 +#: ../PLCOpenEditor.py:3222 msgid "function" msgstr "fonction" -#: ../PLCOpenEditor.py:4336 +#: ../PLCOpenEditor.py:4397 msgid "function : " msgstr "fonction :" -#: ../PLCOpenEditor.py:3184 +#: ../PLCOpenEditor.py:3222 msgid "functionBlock" msgstr "Bloc fonctionnel" -#: ../PLCOpenEditor.py:4336 +#: ../PLCOpenEditor.py:4397 msgid "line : " msgstr "ligne :" -#: ../PLCOpenEditor.py:3184 +#: ../PLCOpenEditor.py:3222 msgid "program" msgstr "programme" -#: ../plcopen/iec_std.csv:73 +#: ../plcopen/iec_std.csv:84 msgid "string from the middle" msgstr "Caractères du milieu" -#: ../plcopen/iec_std.csv:71 +#: ../plcopen/iec_std.csv:82 msgid "string left of" msgstr "Caractères à gauche de" -#: ../plcopen/iec_std.csv:72 +#: ../plcopen/iec_std.csv:83 msgid "string right of" msgstr "Caractères à droite de" -#: ../PLCOpenEditor.py:2629 +#: ../PLCOpenEditor.py:2665 #, python-format msgid "warning: %s\n" msgstr "attention: %s\n" +#~ msgid "Create a new POU from" +#~ msgstr "Créer un nouveau POU à partir de" + +#~ msgid "Please enter POU name" +#~ msgstr "Saisissez le nom du POU" + +#~ msgid "Scaling:" +#~ msgstr "Echelle :" + +#~ msgid "X Scale:" +#~ msgstr "Echelle X :" + +#~ msgid "Y Scale:" +#~ msgstr "Echelle Y :" + #~ msgid "No" #~ msgstr "Non" + #~ msgid "Yes" #~ msgstr "Oui" #, fuzzy #~ msgid "A pou with \"%s\" as name exists!" #~ msgstr "Un POU nommé \"%s\" existe déjà !" + #~ msgid "Close\tCTRL+Q" #~ msgstr "Fermer\tCTRL+Q" + #~ msgid "" #~ "A variable is defined with \"%s\" as name. It can generate a conflict. Do " #~ "you wish to continue?" #~ msgstr "Une variable" + #~ msgid "Create A New POU From" #~ msgstr "Créer un nouveau POU à partir de" - diff -r 08c26c62f5a7 -r b6f9d08fd69f i18n/messages.pot --- a/i18n/messages.pot Fri Sep 09 17:19:35 2011 +0200 +++ b/i18n/messages.pot Tue Sep 13 13:01:04 2011 +0200 @@ -8,15 +8,16 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-16 10:48+0100\n" +"POT-Creation-Date: 2011-09-13 12:41+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: ../PLCOpenEditor.py:4345 +#: ../PLCOpenEditor.py:4406 msgid "" "\n" "An error has occurred.\n" @@ -29,51 +30,51 @@ "Error:\n" msgstr "" +#: ../VariablePanel.py:72 +msgid " External" +msgstr "" + #: ../VariablePanel.py:71 -msgid " External" -msgstr "" - -#: ../VariablePanel.py:70 msgid " InOut" msgstr "" -#: ../VariablePanel.py:70 +#: ../VariablePanel.py:71 msgid " Input" msgstr "" +#: ../VariablePanel.py:72 +msgid " Local" +msgstr "" + #: ../VariablePanel.py:71 -msgid " Local" -msgstr "" - -#: ../VariablePanel.py:70 msgid " Output" msgstr "" -#: ../VariablePanel.py:72 +#: ../VariablePanel.py:73 msgid " Temp" msgstr "" -#: ../PLCOpenEditor.py:4355 +#: ../PLCOpenEditor.py:4416 msgid " : " msgstr "" -#: ../PLCOpenEditor.py:3294 ../PLCOpenEditor.py:3457 ../PLCOpenEditor.py:3601 +#: ../PLCOpenEditor.py:3332 ../PLCOpenEditor.py:3495 ../PLCOpenEditor.py:3639 #: ../dialogs/SFCTransitionDialog.py:206 #, python-format msgid " and %s" msgstr "" -#: ../plcopen/plcopen.py:907 +#: ../plcopen/plcopen.py:926 #, python-format msgid "\"%s\" Data Type doesn't exist !!!" msgstr "" -#: ../plcopen/plcopen.py:925 +#: ../plcopen/plcopen.py:944 #, python-format msgid "\"%s\" POU already exists !!!" msgstr "" -#: ../plcopen/plcopen.py:946 +#: ../plcopen/plcopen.py:965 #, python-format msgid "\"%s\" POU doesn't exist !!!" msgstr "" @@ -83,7 +84,7 @@ msgid "\"%s\" can't use itself!" msgstr "" -#: ../PLCOpenEditor.py:1404 ../PLCOpenEditor.py:1424 +#: ../PLCOpenEditor.py:1422 ../PLCOpenEditor.py:1442 #, python-format msgid "\"%s\" config already exists!" msgstr "" @@ -93,31 +94,31 @@ msgid "\"%s\" configuration already exists !!!" msgstr "" -#: ../PLCOpenEditor.py:1358 ../PLCOpenEditor.py:3156 +#: ../PLCOpenEditor.py:1376 ../PLCOpenEditor.py:3194 #, python-format msgid "\"%s\" data type already exists!" msgstr "" -#: ../PLCControler.py:1704 ../PLCControler.py:1708 +#: ../PLCControler.py:1786 ../PLCControler.py:1790 #, python-format msgid "\"%s\" element can't be pasted here!!!" msgstr "" -#: ../PLCOpenEditor.py:3476 ../PLCOpenEditor.py:3620 ../Viewer.py:250 -#: ../TextViewer.py:231 ../dialogs/ConnectionDialog.py:215 -#: ../dialogs/FBDBlockDialog.py:260 +#: ../PLCOpenEditor.py:3514 ../PLCOpenEditor.py:3658 ../Viewer.py:250 +#: ../TextViewer.py:245 ../TextViewer.py:262 +#: ../dialogs/ConnectionDialog.py:215 ../dialogs/FBDBlockDialog.py:260 #, python-format msgid "\"%s\" element for this pou already exists!" msgstr "" -#: ../plcopen/structures.py:97 +#: ../plcopen/structures.py:96 #, python-format msgid "\"%s\" function cancelled in \"%s\" POU: No input connected" msgstr "" -#: ../PLCOpenEditor.py:1349 ../PLCOpenEditor.py:3152 ../PLCOpenEditor.py:3305 -#: ../PLCOpenEditor.py:3468 ../PLCOpenEditor.py:3612 ../PLCOpenEditor.py:3683 -#: ../PLCOpenEditor.py:3746 ../VariablePanel.py:714 +#: ../PLCOpenEditor.py:1367 ../PLCOpenEditor.py:3190 ../PLCOpenEditor.py:3343 +#: ../PLCOpenEditor.py:3506 ../PLCOpenEditor.py:3650 ../PLCOpenEditor.py:3721 +#: ../PLCOpenEditor.py:3784 ../VariablePanel.py:735 #: ../dialogs/ConnectionDialog.py:207 ../dialogs/FBDBlockDialog.py:252 #: ../dialogs/FBDVariableDialog.py:268 ../dialogs/PouNameDialog.py:63 #: ../dialogs/SFCStepDialog.py:183 ../dialogs/SFCStepNameDialog.py:65 @@ -131,19 +132,19 @@ msgid "\"%s\" is already used by \"%s\"!" msgstr "" -#: ../plcopen/plcopen.py:2366 +#: ../plcopen/plcopen.py:2386 #, python-format msgid "\"%s\" is an invalid value!" msgstr "" -#: ../PLCOpenEditor.py:2637 ../PLCOpenEditor.py:2665 +#: ../PLCOpenEditor.py:2673 ../PLCOpenEditor.py:2702 #, python-format msgid "\"%s\" is not a valid folder!" msgstr "" -#: ../PLCOpenEditor.py:1347 ../PLCOpenEditor.py:3148 ../PLCOpenEditor.py:3301 -#: ../PLCOpenEditor.py:3464 ../PLCOpenEditor.py:3608 ../PLCOpenEditor.py:3679 -#: ../PLCOpenEditor.py:3742 ../VariablePanel.py:709 +#: ../PLCOpenEditor.py:1365 ../PLCOpenEditor.py:3186 ../PLCOpenEditor.py:3339 +#: ../PLCOpenEditor.py:3502 ../PLCOpenEditor.py:3646 ../PLCOpenEditor.py:3717 +#: ../PLCOpenEditor.py:3780 ../VariablePanel.py:730 #: ../dialogs/ConnectionDialog.py:203 ../dialogs/FBDBlockDialog.py:248 #: ../dialogs/PouNameDialog.py:59 ../dialogs/SFCStepDialog.py:179 #: ../dialogs/SFCStepNameDialog.py:61 ../DataTypeEditor.py:760 @@ -151,14 +152,14 @@ msgid "\"%s\" is not a valid identifier!" msgstr "" -#: ../PLCOpenEditor.py:283 ../PLCOpenEditor.py:2302 ../PLCOpenEditor.py:2322 +#: ../PLCOpenEditor.py:288 ../PLCOpenEditor.py:2322 ../PLCOpenEditor.py:2342 #, python-format msgid "\"%s\" is used by one or more POUs. It can't be removed!" msgstr "" -#: ../PLCOpenEditor.py:1367 ../PLCOpenEditor.py:3309 ../Viewer.py:248 -#: ../Viewer.py:274 ../TextViewer.py:229 ../dialogs/ConnectionDialog.py:211 -#: ../dialogs/FBDBlockDialog.py:256 +#: ../PLCOpenEditor.py:1385 ../PLCOpenEditor.py:3347 ../Viewer.py:248 +#: ../Viewer.py:274 ../TextViewer.py:243 ../TextViewer.py:260 +#: ../dialogs/ConnectionDialog.py:211 ../dialogs/FBDBlockDialog.py:256 #, python-format msgid "\"%s\" pou already exists!" msgstr "" @@ -195,7 +196,7 @@ "Right value must be greater than left value." msgstr "" -#: ../PLCControler.py:629 +#: ../PLCControler.py:634 #, python-format msgid "%s \"%s\" can't be pasted as a %s." msgstr "" @@ -205,61 +206,61 @@ msgid "%s Graphics" msgstr "" -#: ../plcopen/plcopen.py:1465 ../plcopen/plcopen.py:1475 -#: ../plcopen/plcopen.py:1485 ../plcopen/plcopen.py:1495 -#: ../plcopen/plcopen.py:1504 +#: ../plcopen/plcopen.py:1484 ../plcopen/plcopen.py:1494 +#: ../plcopen/plcopen.py:1504 ../plcopen/plcopen.py:1514 +#: ../plcopen/plcopen.py:1523 #, python-format msgid "%s body don't have instances!" msgstr "" -#: ../plcopen/plcopen.py:1527 ../plcopen/plcopen.py:1534 +#: ../plcopen/plcopen.py:1546 ../plcopen/plcopen.py:1553 #, python-format msgid "%s body don't have text!" msgstr "" -#: ../PLCOpenEditor.py:4333 ../PLCOpenEditor.py:4335 ../PLCOpenEditor.py:4336 +#: ../PLCOpenEditor.py:4394 ../PLCOpenEditor.py:4396 ../PLCOpenEditor.py:4397 msgid ", " msgstr "" -#: ../PLCOpenEditor.py:3296 ../PLCOpenEditor.py:3459 ../PLCOpenEditor.py:3603 +#: ../PLCOpenEditor.py:3334 ../PLCOpenEditor.py:3497 ../PLCOpenEditor.py:3641 #: ../dialogs/SFCTransitionDialog.py:208 #, python-format msgid ", %s" msgstr "" -#: ../PLCOpenEditor.py:4331 +#: ../PLCOpenEditor.py:4392 msgid ". " msgstr "" -#: ../PLCOpenEditor.py:1370 ../PLCOpenEditor.py:1412 ../PLCOpenEditor.py:1432 -#: ../PLCOpenEditor.py:3313 ../PLCOpenEditor.py:3691 ../PLCOpenEditor.py:3754 +#: ../PLCOpenEditor.py:1388 ../PLCOpenEditor.py:1430 ../PLCOpenEditor.py:1450 +#: ../PLCOpenEditor.py:3351 ../PLCOpenEditor.py:3729 ../PLCOpenEditor.py:3792 #, python-format msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?" msgstr "" -#: ../PLCOpenEditor.py:1383 ../PLCOpenEditor.py:1394 ../PLCOpenEditor.py:3472 -#: ../PLCOpenEditor.py:3616 ../PLCOpenEditor.py:3687 ../PLCOpenEditor.py:3750 -#: ../VariablePanel.py:719 ../dialogs/PouNameDialog.py:67 +#: ../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 #: ../dialogs/SFCStepDialog.py:187 ../dialogs/SFCStepNameDialog.py:69 #, python-format msgid "A POU named \"%s\" already exists!" msgstr "" -#: ../VariablePanel.py:1201 +#: ../VariablePanel.py:1239 msgid "A location must be selected!" msgstr "" -#: ../PLCOpenEditor.py:1385 ../PLCOpenEditor.py:1396 ../VariablePanel.py:724 +#: ../PLCOpenEditor.py:1403 ../PLCOpenEditor.py:1414 ../VariablePanel.py:745 #: ../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:2494 +#: ../PLCOpenEditor.py:2514 msgid "About" msgstr "" -#: ../PLCOpenEditor.py:2397 +#: ../PLCOpenEditor.py:2417 msgid "About PLCOpenEditor" msgstr "" @@ -271,15 +272,15 @@ msgid "Action" msgstr "" -#: ../PLCOpenEditor.py:3592 +#: ../PLCOpenEditor.py:3630 msgid "Action Name" msgstr "" -#: ../PLCOpenEditor.py:3559 +#: ../PLCOpenEditor.py:3597 msgid "Action Name:" msgstr "" -#: ../plcopen/plcopen.py:1213 +#: ../plcopen/plcopen.py:1232 #, python-format msgid "Action with name %s doesn't exist!" msgstr "" @@ -292,28 +293,28 @@ msgid "Actions:" msgstr "" -#: ../VariablePanel.py:483 ../dialogs/ActionBlockDialog.py:274 +#: ../VariablePanel.py:499 ../dialogs/ActionBlockDialog.py:274 #: ../DataTypeEditor.py:539 msgid "Add" msgstr "" -#: ../PLCOpenEditor.py:1589 ../PLCOpenEditor.py:1672 +#: ../PLCOpenEditor.py:1606 ../PLCOpenEditor.py:1689 msgid "Add Action" msgstr "" -#: ../PLCOpenEditor.py:1655 +#: ../PLCOpenEditor.py:1672 msgid "Add Configuration" msgstr "" -#: ../PLCOpenEditor.py:1635 +#: ../PLCOpenEditor.py:1652 msgid "Add DataType" msgstr "" -#: ../Viewer.py:436 +#: ../Viewer.py:401 msgid "Add Divergence Branch" msgstr "" -#: ../PLCOpenEditor.py:328 +#: ../PLCOpenEditor.py:333 msgid "Add Element" msgstr "" @@ -321,11 +322,11 @@ msgid "Add Instance" msgstr "" -#: ../PLCOpenEditor.py:1642 +#: ../PLCOpenEditor.py:1659 msgid "Add POU" msgstr "" -#: ../PLCOpenEditor.py:1618 ../PLCOpenEditor.py:1683 +#: ../PLCOpenEditor.py:1635 ../PLCOpenEditor.py:1700 msgid "Add Resource" msgstr "" @@ -333,15 +334,15 @@ msgid "Add Task" msgstr "" -#: ../PLCOpenEditor.py:1586 ../PLCOpenEditor.py:1661 +#: ../PLCOpenEditor.py:1603 ../PLCOpenEditor.py:1678 msgid "Add Transition" msgstr "" -#: ../Viewer.py:431 +#: ../Viewer.py:396 msgid "Add Wire Segment" msgstr "" -#: ../PLCOpenEditor.py:2177 +#: ../PLCOpenEditor.py:2194 msgid "Add a new data type" msgstr "" @@ -349,7 +350,7 @@ msgid "Add a new initial step" msgstr "" -#: ../Viewer.py:2032 ../SFCViewer.py:698 +#: ../Viewer.py:2020 ../SFCViewer.py:698 msgid "Add a new jump" msgstr "" @@ -357,11 +358,11 @@ msgid "Add a new step" msgstr "" -#: ../PLCOpenEditor.py:2221 +#: ../PLCOpenEditor.py:2246 msgid "Add new configuration" msgstr "" -#: ../PLCOpenEditor.py:2232 +#: ../PLCOpenEditor.py:2259 msgid "Add new resource" msgstr "" @@ -369,15 +370,15 @@ msgid "Addition" msgstr "" -#: ../plcopen/structures.py:222 +#: ../plcopen/structures.py:221 msgid "Additional function blocks" msgstr "" -#: ../Viewer.py:445 +#: ../Viewer.py:410 msgid "Alignment" msgstr "" -#: ../VariablePanel.py:69 ../VariablePanel.py:1018 ../VariablePanel.py:1135 +#: ../VariablePanel.py:70 ../VariablePanel.py:1056 ../VariablePanel.py:1173 msgid "All" msgstr "" @@ -402,11 +403,11 @@ msgid "Arithmetic" msgstr "" -#: ../DataTypeEditor.py:236 +#: ../VariablePanel.py:798 ../DataTypeEditor.py:236 msgid "Array" msgstr "" -#: ../plcopen/iec_std.csv:50 +#: ../plcopen/iec_std.csv:39 msgid "Assignment" msgstr "" @@ -414,11 +415,11 @@ msgid "At least a variable or an expression must be selected!" msgstr "" -#: ../PLCOpenEditor.py:2947 +#: ../PLCOpenEditor.py:2985 msgid "Author" msgstr "" -#: ../PLCOpenEditor.py:2932 +#: ../PLCOpenEditor.py:2970 msgid "Author Name (optional):" msgstr "" @@ -426,35 +427,35 @@ msgid "Base Type:" msgstr "" -#: ../VariablePanel.py:758 ../DataTypeEditor.py:801 +#: ../VariablePanel.py:778 ../DataTypeEditor.py:801 msgid "Base Types" msgstr "" -#: ../plcopen/iec_std.csv:59 +#: ../plcopen/iec_std.csv:70 msgid "Binary selection (1 of 2)" msgstr "" -#: ../plcopen/iec_std.csv:51 +#: ../plcopen/iec_std.csv:62 msgid "Bit-shift" msgstr "" -#: ../plcopen/iec_std.csv:55 +#: ../plcopen/iec_std.csv:66 msgid "Bitwise" msgstr "" -#: ../plcopen/iec_std.csv:55 +#: ../plcopen/iec_std.csv:66 msgid "Bitwise AND" msgstr "" -#: ../plcopen/iec_std.csv:56 +#: ../plcopen/iec_std.csv:67 msgid "Bitwise OR" msgstr "" -#: ../plcopen/iec_std.csv:57 +#: ../plcopen/iec_std.csv:68 msgid "Bitwise XOR" msgstr "" -#: ../plcopen/iec_std.csv:58 +#: ../plcopen/iec_std.csv:69 msgid "Bitwise inverting" msgstr "" @@ -462,66 +463,66 @@ msgid "Block Properties" msgstr "" -#: ../PLCOpenEditor.py:1896 ../dialogs/FBDBlockDialog.py:268 +#: ../PLCOpenEditor.py:1913 ../dialogs/FBDBlockDialog.py:268 msgid "Block Types" msgstr "" -#: ../Viewer.py:403 +#: ../Viewer.py:368 msgid "Bottom" msgstr "" -#: ../VariablePanel.py:1077 +#: ../VariablePanel.py:1115 msgid "Browse Locations" msgstr "" -#: ../PLCOpenEditor.py:1837 +#: ../PLCOpenEditor.py:1854 msgid "CSV Log" msgstr "" -#: ../plcopen/plcopen.py:1407 ../plcopen/plcopen.py:1421 -#: ../plcopen/plcopen.py:1442 ../plcopen/plcopen.py:1458 +#: ../plcopen/plcopen.py:1426 ../plcopen/plcopen.py:1440 +#: ../plcopen/plcopen.py:1461 ../plcopen/plcopen.py:1477 msgid "Can only generate execution order on FBD networks!" msgstr "" -#: ../VariablePanel.py:311 +#: ../VariablePanel.py:327 msgid "Can only give a location to local or global variables" msgstr "" -#: ../PLCOpenEditor.py:2632 +#: ../PLCOpenEditor.py:2668 #, python-format msgid "Can't generate program to file %s!" msgstr "" -#: ../VariablePanel.py:309 +#: ../VariablePanel.py:325 msgid "Can't give a location to a function block instance" msgstr "" -#: ../PLCOpenEditor.py:2663 +#: ../PLCOpenEditor.py:2700 #, python-format msgid "Can't save project to file %s!" msgstr "" -#: ../Viewer.py:394 +#: ../Viewer.py:359 msgid "Center" msgstr "" -#: ../PLCOpenEditor.py:1607 +#: ../PLCOpenEditor.py:1624 msgid "Change POU Type To" msgstr "" -#: ../plcopen/iec_std.csv:70 +#: ../plcopen/iec_std.csv:81 msgid "Character string" msgstr "" -#: ../PLCOpenEditor.py:2598 ../PLCOpenEditor.py:2622 ../PLCOpenEditor.py:2657 +#: ../PLCOpenEditor.py:2630 ../PLCOpenEditor.py:2658 ../PLCOpenEditor.py:2694 msgid "Choose a file" msgstr "" -#: ../VariablePanel.py:52 ../VariablePanel.py:53 +#: ../VariablePanel.py:53 ../VariablePanel.py:54 msgid "Class" msgstr "" -#: ../VariablePanel.py:475 +#: ../VariablePanel.py:491 msgid "Class Filter:" msgstr "" @@ -529,47 +530,47 @@ msgid "Class:" msgstr "" -#: ../PLCOpenEditor.py:367 +#: ../PLCOpenEditor.py:372 msgid "Clear Errors\tCTRL+K" msgstr "" -#: ../Viewer.py:441 +#: ../Viewer.py:406 msgid "Clear Execution Order" msgstr "" -#: ../PLCOpenEditor.py:2522 +#: ../PLCOpenEditor.py:2548 msgid "Close Application" msgstr "" -#: ../PLCOpenEditor.py:871 ../PLCOpenEditor.py:2450 +#: ../PLCOpenEditor.py:887 ../PLCOpenEditor.py:2470 msgid "Close Project" msgstr "" -#: ../PLCOpenEditor.py:2448 +#: ../PLCOpenEditor.py:2468 msgid "Close Tab\tCTRL+W" msgstr "" -#: ../LDViewer.py:478 +#: ../LDViewer.py:505 msgid "Comment" msgstr "" -#: ../PLCOpenEditor.py:2916 +#: ../PLCOpenEditor.py:2954 msgid "Company Name (required):" msgstr "" -#: ../PLCOpenEditor.py:2924 +#: ../PLCOpenEditor.py:2962 msgid "Company URL (optional):" msgstr "" -#: ../plcopen/iec_std.csv:64 +#: ../plcopen/iec_std.csv:75 msgid "Comparison" msgstr "" -#: ../plcopen/iec_std.csv:74 +#: ../plcopen/iec_std.csv:85 msgid "Concatenation" msgstr "" -#: ../PLCOpenEditor.py:338 +#: ../PLCOpenEditor.py:343 msgid "Configuration" msgstr "" @@ -593,11 +594,11 @@ msgid "Connectors:" msgstr "" -#: ../VariablePanel.py:59 +#: ../VariablePanel.py:60 msgid "Constant" msgstr "" -#: ../PLCOpenEditor.py:3006 +#: ../PLCOpenEditor.py:3044 msgid "Content Description (optional):" msgstr "" @@ -621,11 +622,11 @@ msgid "Conversion to time-of-day" msgstr "" -#: ../PLCOpenEditor.py:323 +#: ../PLCOpenEditor.py:328 msgid "Copy\tCTRL+C" msgstr "" -#: ../PLCOpenEditor.py:1594 +#: ../PLCOpenEditor.py:1611 msgid "Copy POU" msgstr "" @@ -633,51 +634,47 @@ msgid "Cosine" msgstr "" -#: ../PLCControler.py:615 ../PLCControler.py:647 +#: ../PLCControler.py:620 ../PLCControler.py:652 msgid "Couldn't paste non-POU object." msgstr "" -#: ../PLCOpenEditor.py:3234 +#: ../PLCOpenEditor.py:3272 msgid "Create a new POU" msgstr "" -#: ../PLCOpenEditor.py:2253 -msgid "Create a new POU from" -msgstr "" - -#: ../PLCOpenEditor.py:3555 +#: ../PLCOpenEditor.py:3593 msgid "Create a new action" msgstr "" -#: ../PLCOpenEditor.py:215 +#: ../PLCOpenEditor.py:220 msgid "Create a new action block" msgstr "" -#: ../PLCOpenEditor.py:170 ../PLCOpenEditor.py:197 ../PLCOpenEditor.py:227 +#: ../PLCOpenEditor.py:175 ../PLCOpenEditor.py:202 ../PLCOpenEditor.py:232 msgid "Create a new block" msgstr "" -#: ../PLCOpenEditor.py:191 +#: ../PLCOpenEditor.py:196 msgid "Create a new branch" msgstr "" -#: ../PLCOpenEditor.py:185 +#: ../PLCOpenEditor.py:190 msgid "Create a new coil" msgstr "" -#: ../PLCOpenEditor.py:164 ../PLCOpenEditor.py:176 ../PLCOpenEditor.py:203 +#: ../PLCOpenEditor.py:169 ../PLCOpenEditor.py:181 ../PLCOpenEditor.py:208 msgid "Create a new comment" msgstr "" -#: ../PLCOpenEditor.py:173 ../PLCOpenEditor.py:200 ../PLCOpenEditor.py:230 +#: ../PLCOpenEditor.py:178 ../PLCOpenEditor.py:205 ../PLCOpenEditor.py:235 msgid "Create a new connection" msgstr "" -#: ../PLCOpenEditor.py:188 ../PLCOpenEditor.py:236 +#: ../PLCOpenEditor.py:193 ../PLCOpenEditor.py:241 msgid "Create a new contact" msgstr "" -#: ../PLCOpenEditor.py:218 +#: ../PLCOpenEditor.py:223 msgid "Create a new divergence" msgstr "" @@ -685,39 +682,47 @@ msgid "Create a new divergence or convergence" msgstr "" -#: ../PLCOpenEditor.py:206 +#: ../PLCOpenEditor.py:211 msgid "Create a new initial step" msgstr "" -#: ../PLCOpenEditor.py:221 +#: ../PLCOpenEditor.py:226 msgid "Create a new jump" msgstr "" -#: ../PLCOpenEditor.py:179 ../PLCOpenEditor.py:233 +#: ../PLCOpenEditor.py:184 ../PLCOpenEditor.py:238 msgid "Create a new power rail" msgstr "" -#: ../PLCOpenEditor.py:182 +#: ../PLCOpenEditor.py:187 msgid "Create a new rung" msgstr "" -#: ../PLCOpenEditor.py:209 +#: ../PLCOpenEditor.py:214 msgid "Create a new step" msgstr "" -#: ../PLCOpenEditor.py:212 ../PLCOpenEditor.py:3411 +#: ../PLCOpenEditor.py:217 ../PLCOpenEditor.py:3449 msgid "Create a new transition" msgstr "" -#: ../PLCOpenEditor.py:167 ../PLCOpenEditor.py:194 ../PLCOpenEditor.py:224 +#: ../PLCOpenEditor.py:172 ../PLCOpenEditor.py:199 ../PLCOpenEditor.py:229 msgid "Create a new variable" msgstr "" -#: ../PLCOpenEditor.py:321 +#: ../PLCOpenEditor.py:326 msgid "Cut\tCTRL+X" msgstr "" -#: ../PLCOpenEditor.py:330 +#: ../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 +#: ../plcopen/iec_std.csv:56 ../plcopen/iec_std.csv:58 +#: ../plcopen/iec_std.csv:60 +msgid "DEPRECATED" +msgstr "" + +#: ../PLCOpenEditor.py:335 msgid "Data Type" msgstr "" @@ -729,35 +734,36 @@ msgid "Data type conversion" msgstr "" -#: ../plcopen/iec_std.csv:36 +#: ../plcopen/iec_std.csv:44 ../plcopen/iec_std.csv:45 msgid "Date addition" msgstr "" -#: ../plcopen/iec_std.csv:44 ../plcopen/iec_std.csv:45 +#: ../plcopen/iec_std.csv:56 ../plcopen/iec_std.csv:57 +#: ../plcopen/iec_std.csv:58 ../plcopen/iec_std.csv:59 msgid "Date and time subtraction" msgstr "" -#: ../plcopen/iec_std.csv:41 +#: ../plcopen/iec_std.csv:50 ../plcopen/iec_std.csv:51 msgid "Date subtraction" msgstr "" -#: ../Viewer.py:2885 +#: ../Viewer.py:2873 #, python-format msgid "Debug: %s" msgstr "" -#: ../PLCOpenEditor.py:618 +#: ../PLCOpenEditor.py:623 msgid "Debugger" msgstr "" -#: ../PLCOpenEditor.py:342 ../PLCOpenEditor.py:1612 ../PLCOpenEditor.py:1621 -#: ../PLCOpenEditor.py:1627 ../PLCOpenEditor.py:4121 ../Viewer.py:450 -#: ../VariablePanel.py:488 ../dialogs/ActionBlockDialog.py:279 +#: ../PLCOpenEditor.py:347 ../PLCOpenEditor.py:1629 ../PLCOpenEditor.py:1638 +#: ../PLCOpenEditor.py:1644 ../PLCOpenEditor.py:4164 ../Viewer.py:415 +#: ../VariablePanel.py:504 ../dialogs/ActionBlockDialog.py:279 #: ../DataTypeEditor.py:544 msgid "Delete" msgstr "" -#: ../Viewer.py:438 +#: ../Viewer.py:403 msgid "Delete Divergence Branch" msgstr "" @@ -769,7 +775,7 @@ msgid "Delete Task" msgstr "" -#: ../Viewer.py:433 +#: ../Viewer.py:398 msgid "Delete Wire Segment" msgstr "" @@ -777,7 +783,7 @@ msgid "Delete item" msgstr "" -#: ../plcopen/iec_std.csv:77 +#: ../plcopen/iec_std.csv:88 msgid "Deletion (within)" msgstr "" @@ -785,7 +791,7 @@ msgid "Derivation Type:" msgstr "" -#: ../plcopen/structures.py:236 +#: ../plcopen/structures.py:235 msgid "" "Derivative\n" "The derivative function block produces an output XOUT proportional to the rate of change of the input XIN." @@ -795,7 +801,7 @@ msgid "Dimensions:" msgstr "" -#: ../VariablePanel.py:1094 +#: ../VariablePanel.py:1132 msgid "Direction:" msgstr "" @@ -803,23 +809,23 @@ msgid "Directly" msgstr "" -#: ../PLCOpenEditor.py:306 +#: ../PLCOpenEditor.py:311 msgid "Display" msgstr "" -#: ../plcopen/iec_std.csv:46 +#: ../plcopen/iec_std.csv:36 msgid "Division" msgstr "" -#: ../VariablePanel.py:52 ../VariablePanel.py:53 +#: ../VariablePanel.py:53 ../VariablePanel.py:54 msgid "Documentation" msgstr "" -#: ../PLCOpenEditor.py:2626 +#: ../PLCOpenEditor.py:2662 msgid "Done" msgstr "" -#: ../plcopen/structures.py:199 +#: ../plcopen/structures.py:198 msgid "" "Down-counter\n" "The down-counter can be used to signal when a count has reached zero, on counting down from a preset value." @@ -829,11 +835,11 @@ msgid "Duration" msgstr "" -#: ../PLCOpenEditor.py:305 +#: ../PLCOpenEditor.py:310 msgid "Edit" msgstr "" -#: ../Viewer.py:448 +#: ../Viewer.py:413 msgid "Edit Block" msgstr "" @@ -853,7 +859,7 @@ msgid "Edit action block properties" msgstr "" -#: ../Viewer.py:1857 ../Viewer.py:1859 ../Viewer.py:2358 ../Viewer.py:2360 +#: ../Viewer.py:1845 ../Viewer.py:1847 ../Viewer.py:2346 ../Viewer.py:2348 msgid "Edit comment" msgstr "" @@ -861,7 +867,7 @@ msgid "Edit item" msgstr "" -#: ../Viewer.py:2323 +#: ../Viewer.py:2311 msgid "Edit jump target" msgstr "" @@ -877,7 +883,7 @@ msgid "Elements :" msgstr "" -#: ../PLCOpenEditor.py:318 +#: ../PLCOpenEditor.py:323 msgid "Enable Undo/Redo" msgstr "" @@ -885,34 +891,34 @@ msgid "Enumerated" msgstr "" -#: ../plcopen/iec_std.csv:66 +#: ../plcopen/iec_std.csv:77 msgid "Equal to" msgstr "" -#: ../PLCOpenEditor.py:865 ../PLCOpenEditor.py:1370 ../PLCOpenEditor.py:1407 -#: ../PLCOpenEditor.py:1412 ../PLCOpenEditor.py:1427 ../PLCOpenEditor.py:1432 -#: ../PLCOpenEditor.py:2280 ../PLCOpenEditor.py:2633 ../PLCOpenEditor.py:2638 -#: ../PLCOpenEditor.py:3052 ../PLCOpenEditor.py:3144 ../PLCOpenEditor.py:3148 -#: ../PLCOpenEditor.py:3152 ../PLCOpenEditor.py:3156 ../PLCOpenEditor.py:3297 -#: ../PLCOpenEditor.py:3301 ../PLCOpenEditor.py:3305 ../PLCOpenEditor.py:3309 -#: ../PLCOpenEditor.py:3460 ../PLCOpenEditor.py:3464 ../PLCOpenEditor.py:3468 -#: ../PLCOpenEditor.py:3472 ../PLCOpenEditor.py:3476 ../PLCOpenEditor.py:3604 -#: ../PLCOpenEditor.py:3608 ../PLCOpenEditor.py:3612 ../PLCOpenEditor.py:3616 -#: ../PLCOpenEditor.py:3620 ../PLCOpenEditor.py:3675 ../PLCOpenEditor.py:3679 -#: ../PLCOpenEditor.py:3683 ../PLCOpenEditor.py:3687 ../PLCOpenEditor.py:3738 -#: ../PLCOpenEditor.py:3742 ../PLCOpenEditor.py:3746 ../PLCOpenEditor.py:3750 -#: ../PLCOpenEditor.py:4053 ../PLCOpenEditor.py:4356 ../PLCOpenEditor.py:4366 -#: ../Viewer.py:369 ../TextViewer.py:250 ../LDViewer.py:628 ../LDViewer.py:850 -#: ../LDViewer.py:854 ../VariablePanel.py:358 ../VariablePanel.py:709 -#: ../VariablePanel.py:714 ../VariablePanel.py:719 ../VariablePanel.py:724 -#: ../VariablePanel.py:1201 ../dialogs/ConnectionDialog.py:199 +#: ../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 +#: ../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 #: ../dialogs/ConnectionDialog.py:203 ../dialogs/ConnectionDialog.py:207 #: ../dialogs/ConnectionDialog.py:211 ../dialogs/ConnectionDialog.py:215 #: ../dialogs/FBDBlockDialog.py:240 ../dialogs/FBDBlockDialog.py:244 #: ../dialogs/FBDBlockDialog.py:248 ../dialogs/FBDBlockDialog.py:252 #: ../dialogs/FBDBlockDialog.py:256 ../dialogs/FBDBlockDialog.py:260 #: ../dialogs/FBDVariableDialog.py:264 ../dialogs/FBDVariableDialog.py:268 -#: ../dialogs/ForceVariableDialog.py:92 ../dialogs/ForceVariableDialog.py:96 +#: ../dialogs/ForceVariableDialog.py:170 ../dialogs/ForceVariableDialog.py:174 #: ../dialogs/PouNameDialog.py:55 ../dialogs/PouNameDialog.py:59 #: ../dialogs/PouNameDialog.py:63 ../dialogs/PouNameDialog.py:67 #: ../dialogs/SFCStepDialog.py:175 ../dialogs/SFCStepDialog.py:179 @@ -935,7 +941,7 @@ msgid "Execution Order:" msgstr "" -#: ../plcopen/iec_std.csv:49 +#: ../plcopen/iec_std.csv:38 msgid "Exponent" msgstr "" @@ -947,43 +953,43 @@ msgid "Expression:" msgstr "" -#: ../VariablePanel.py:71 +#: ../VariablePanel.py:72 msgid "External" msgstr "" -#: ../PLCOpenEditor.py:2984 ../PLCOpenEditor.py:3179 ../PLCOpenEditor.py:3189 -#: ../PLCOpenEditor.py:3368 ../PLCOpenEditor.py:3512 +#: ../PLCOpenEditor.py:3022 ../PLCOpenEditor.py:3217 ../PLCOpenEditor.py:3227 +#: ../PLCOpenEditor.py:3406 ../PLCOpenEditor.py:3550 msgid "FBD" msgstr "" -#: ../Viewer.py:428 ../dialogs/LDElementDialog.py:155 +#: ../Viewer.py:393 ../dialogs/LDElementDialog.py:155 msgid "Falling Edge" msgstr "" -#: ../plcopen/structures.py:189 +#: ../plcopen/structures.py:188 msgid "" "Falling edge detector\n" "The output produces a single pulse when a falling edge is detected." msgstr "" -#: ../PLCOpenEditor.py:304 +#: ../PLCOpenEditor.py:309 msgid "File" msgstr "" -#: ../plcopen/iec_std.csv:79 +#: ../plcopen/iec_std.csv:90 msgid "Find position" msgstr "" -#: ../PLCOpenEditor.py:4184 ../Viewer.py:1130 +#: ../PLCOpenEditor.py:4232 ../Viewer.py:1095 msgid "Force value" msgstr "" -#: ../dialogs/ForceVariableDialog.py:77 +#: ../dialogs/ForceVariableDialog.py:155 msgid "Forcing Variable Value" msgstr "" -#: ../PLCOpenEditor.py:3052 ../PLCOpenEditor.py:3297 ../PLCOpenEditor.py:3460 -#: ../PLCOpenEditor.py:3604 ../dialogs/SFCTransitionDialog.py:209 +#: ../PLCOpenEditor.py:3090 ../PLCOpenEditor.py:3335 ../PLCOpenEditor.py:3498 +#: ../PLCOpenEditor.py:3642 ../dialogs/SFCTransitionDialog.py:209 #, python-format msgid "Form isn't complete. %s must be filled!" msgstr "" @@ -996,15 +1002,15 @@ msgid "Form isn't complete. Valid block type must be selected!" msgstr "" -#: ../PLCOpenEditor.py:332 +#: ../PLCOpenEditor.py:337 msgid "Function" msgstr "" -#: ../PLCOpenEditor.py:334 ../PLCOpenEditor.py:1602 +#: ../PLCOpenEditor.py:339 ../PLCOpenEditor.py:1619 msgid "Function Block" msgstr "" -#: ../VariablePanel.py:786 +#: ../VariablePanel.py:810 msgid "Function Block Types" msgstr "" @@ -1020,7 +1026,7 @@ msgid "Function Blocks can't be used in Transitions!" msgstr "" -#: ../PLCControler.py:1719 +#: ../PLCControler.py:1801 #, python-format msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!" msgstr "" @@ -1029,64 +1035,72 @@ msgid "Functions" msgstr "" -#: ../PLCOpenEditor.py:2457 +#: ../PLCOpenEditor.py:2477 msgid "Generate Program\tCTRL+G" msgstr "" -#: ../VariablePanel.py:72 +#: ../VariablePanel.py:73 msgid "Global" msgstr "" -#: ../PLCOpenEditor.py:1834 +#: ../PLCOpenEditor.py:1851 msgid "Graphic Panel" msgstr "" -#: ../PLCOpenEditor.py:2989 +#: ../PLCOpenEditor.py:3027 msgid "Graphics" msgstr "" -#: ../plcopen/iec_std.csv:64 +#: ../plcopen/iec_std.csv:75 msgid "Greater than" msgstr "" -#: ../plcopen/iec_std.csv:65 +#: ../plcopen/iec_std.csv:76 msgid "Greater than or equal to" msgstr "" -#: ../PLCOpenEditor.py:2968 +#: ../PLCOpenEditor.py:3014 +msgid "Grid Resolution:" +msgstr "" + +#: ../PLCOpenEditor.py:3006 msgid "Height:" msgstr "" -#: ../PLCOpenEditor.py:307 +#: ../PLCOpenEditor.py:312 msgid "Help" msgstr "" -#: ../plcopen/structures.py:251 +#: ../PLCOpenEditor.py:2741 +msgid "Horizontal:" +msgstr "" + +#: ../plcopen/structures.py:250 msgid "" "Hysteresis\n" "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:3179 ../PLCOpenEditor.py:3189 ../PLCOpenEditor.py:3368 -#: ../PLCOpenEditor.py:3512 +#: ../PLCOpenEditor.py:3217 ../PLCOpenEditor.py:3227 ../PLCOpenEditor.py:3406 +#: ../PLCOpenEditor.py:3550 msgid "IL" msgstr "" -#: ../VariablePanel.py:70 ../dialogs/FBDVariableDialog.py:42 +#: ../VariablePanel.py:71 ../dialogs/FBDVariableDialog.py:42 msgid "InOut" msgstr "" -#: ../VariablePanel.py:328 +#: ../VariablePanel.py:344 #, python-format msgid "Incompatible data types between \"%s\" and \"%s\"" msgstr "" -#: ../VariablePanel.py:339 +#: ../VariablePanel.py:355 #, python-format msgid "Incompatible size of data between \"%s\" and \"%s\"" msgstr "" -#: ../VariablePanel.py:335 +#: ../VariablePanel.py:351 #, python-format msgid "Incompatible size of data between \"%s\" and \"BOOL\"" msgstr "" @@ -1095,7 +1109,7 @@ msgid "Indicator" msgstr "" -#: ../VariablePanel.py:52 ../VariablePanel.py:53 ../DataTypeEditor.py:46 +#: ../VariablePanel.py:53 ../VariablePanel.py:54 ../DataTypeEditor.py:46 msgid "Initial Value" msgstr "" @@ -1109,7 +1123,7 @@ msgid "Inline" msgstr "" -#: ../VariablePanel.py:70 ../VariablePanel.py:1019 +#: ../VariablePanel.py:71 ../VariablePanel.py:1057 #: ../dialogs/FBDVariableDialog.py:41 ../dialogs/SFCStepDialog.py:122 msgid "Input" msgstr "" @@ -1118,16 +1132,16 @@ msgid "Inputs:" msgstr "" -#: ../plcopen/iec_std.csv:76 +#: ../plcopen/iec_std.csv:87 msgid "Insertion (into)" msgstr "" -#: ../plcopen/plcopen.py:1518 +#: ../plcopen/plcopen.py:1537 #, python-format msgid "Instance with id %d doesn't exist!" msgstr "" -#: ../PLCOpenEditor.py:559 +#: ../PLCOpenEditor.py:564 msgid "Instances" msgstr "" @@ -1135,13 +1149,13 @@ msgid "Instances:" msgstr "" -#: ../plcopen/structures.py:231 +#: ../plcopen/structures.py:230 msgid "" "Integral\n" "The integral function block integrates the value of input XIN over time." msgstr "" -#: ../VariablePanel.py:69 +#: ../VariablePanel.py:70 msgid "Interface" msgstr "" @@ -1149,21 +1163,21 @@ msgid "Interval" msgstr "" -#: ../PLCControler.py:1696 ../PLCControler.py:1734 +#: ../PLCControler.py:1778 ../PLCControler.py:1816 msgid "Invalid plcopen element(s)!!!" msgstr "" -#: ../dialogs/ForceVariableDialog.py:96 +#: ../dialogs/ForceVariableDialog.py:174 #, python-format msgid "Invalid value \"%s\" for \"%s\" variable!" msgstr "" -#: ../PLCOpenEditor.py:4042 ../PLCOpenEditor.py:4045 +#: ../PLCOpenEditor.py:4080 ../PLCOpenEditor.py:4083 #, python-format msgid "Invalid value \"%s\" for debug variable" msgstr "" -#: ../VariablePanel.py:316 ../VariablePanel.py:319 +#: ../VariablePanel.py:332 ../VariablePanel.py:335 #, python-format msgid "Invalid value \"%s\" for location" msgstr "" @@ -1173,29 +1187,29 @@ msgid "Invalid value \"%s\" for viewer block" msgstr "" -#: ../PLCOpenEditor.py:2984 ../PLCOpenEditor.py:3179 ../PLCOpenEditor.py:3189 -#: ../PLCOpenEditor.py:3368 ../PLCOpenEditor.py:3512 +#: ../PLCOpenEditor.py:3022 ../PLCOpenEditor.py:3217 ../PLCOpenEditor.py:3227 +#: ../PLCOpenEditor.py:3406 ../PLCOpenEditor.py:3550 msgid "LD" msgstr "" -#: ../LDViewer.py:213 ../LDViewer.py:228 +#: ../LDViewer.py:215 ../LDViewer.py:231 #, python-format msgid "Ladder element with id %d is on more than one rung." msgstr "" -#: ../PLCOpenEditor.py:3287 ../PLCOpenEditor.py:3450 ../PLCOpenEditor.py:3594 +#: ../PLCOpenEditor.py:3325 ../PLCOpenEditor.py:3488 ../PLCOpenEditor.py:3632 msgid "Language" msgstr "" -#: ../PLCOpenEditor.py:2998 +#: ../PLCOpenEditor.py:3036 msgid "Language (optional):" msgstr "" -#: ../PLCOpenEditor.py:3255 ../PLCOpenEditor.py:3423 ../PLCOpenEditor.py:3567 +#: ../PLCOpenEditor.py:3293 ../PLCOpenEditor.py:3461 ../PLCOpenEditor.py:3605 msgid "Language:" msgstr "" -#: ../Viewer.py:392 +#: ../Viewer.py:357 msgid "Left" msgstr "" @@ -1203,35 +1217,35 @@ msgid "Left PowerRail" msgstr "" -#: ../plcopen/iec_std.csv:70 +#: ../plcopen/iec_std.csv:81 msgid "Length of string" msgstr "" -#: ../plcopen/iec_std.csv:67 +#: ../plcopen/iec_std.csv:78 msgid "Less than" msgstr "" -#: ../plcopen/iec_std.csv:68 +#: ../plcopen/iec_std.csv:79 msgid "Less than or equal to" msgstr "" -#: ../PLCOpenEditor.py:594 +#: ../PLCOpenEditor.py:599 msgid "Library" msgstr "" -#: ../plcopen/iec_std.csv:62 +#: ../plcopen/iec_std.csv:73 msgid "Limitation" msgstr "" -#: ../VariablePanel.py:71 +#: ../VariablePanel.py:72 msgid "Local" msgstr "" -#: ../VariablePanel.py:52 +#: ../VariablePanel.py:53 msgid "Location" msgstr "" -#: ../VariablePanel.py:1080 +#: ../VariablePanel.py:1118 msgid "Locations available:" msgstr "" @@ -1239,7 +1253,7 @@ msgid "Logarithm to base 10" msgstr "" -#: ../plcopen/iec_std.csv:60 +#: ../plcopen/iec_std.csv:71 msgid "Maximum" msgstr "" @@ -1247,15 +1261,15 @@ msgid "Maximum:" msgstr "" -#: ../VariablePanel.py:1021 +#: ../VariablePanel.py:1059 msgid "Memory" msgstr "" -#: ../Viewer.py:401 +#: ../Viewer.py:366 msgid "Middle" msgstr "" -#: ../plcopen/iec_std.csv:61 +#: ../plcopen/iec_std.csv:72 msgid "Minimum" msgstr "" @@ -1263,7 +1277,7 @@ msgid "Minimum:" msgstr "" -#: ../PLCOpenEditor.py:3013 +#: ../PLCOpenEditor.py:3051 msgid "Miscellaneous" msgstr "" @@ -1271,7 +1285,7 @@ msgid "Modifier:" msgstr "" -#: ../PLCGenerator.py:682 ../PLCGenerator.py:886 +#: ../PLCGenerator.py:724 ../PLCGenerator.py:948 #, python-format msgid "More than one connector found corresponding to \"%s\" continuation in \"%s\" POU" msgstr "" @@ -1284,16 +1298,16 @@ msgid "Move up" msgstr "" -#: ../plcopen/iec_std.csv:63 +#: ../plcopen/iec_std.csv:74 msgid "Multiplexer (select 1 of N)" msgstr "" -#: ../plcopen/iec_std.csv:37 +#: ../plcopen/iec_std.csv:34 msgid "Multiplication" msgstr "" -#: ../RessourceEditor.py:82 ../RessourceEditor.py:86 ../VariablePanel.py:52 -#: ../VariablePanel.py:53 ../DataTypeEditor.py:46 +#: ../RessourceEditor.py:82 ../RessourceEditor.py:86 ../VariablePanel.py:53 +#: ../VariablePanel.py:54 ../DataTypeEditor.py:46 msgid "Name" msgstr "" @@ -1307,11 +1321,11 @@ msgid "Natural logarithm" msgstr "" -#: ../Viewer.py:424 ../dialogs/LDElementDialog.py:135 +#: ../Viewer.py:389 ../dialogs/LDElementDialog.py:135 msgid "Negated" msgstr "" -#: ../PLCOpenEditor.py:2444 +#: ../PLCOpenEditor.py:2464 msgid "New\tCTRL+N" msgstr "" @@ -1319,45 +1333,45 @@ msgid "New item" msgstr "" -#: ../Viewer.py:422 +#: ../Viewer.py:387 msgid "No Modifier" msgstr "" -#: ../PLCControler.py:2578 +#: ../PLCControler.py:2663 msgid "No PLC project found" msgstr "" -#: ../PLCGenerator.py:1267 +#: ../PLCGenerator.py:1331 #, python-format msgid "No body defined in \"%s\" POU" msgstr "" -#: ../PLCGenerator.py:701 ../PLCGenerator.py:895 +#: ../PLCGenerator.py:743 ../PLCGenerator.py:957 #, python-format msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU" msgstr "" -#: ../PLCOpenEditor.py:2391 +#: ../PLCOpenEditor.py:2411 msgid "" "No documentation available.\n" "Coming soon." msgstr "" -#: ../PLCGenerator.py:753 +#: ../PLCGenerator.py:765 #, python-format msgid "No informations found for \"%s\" block" msgstr "" -#: ../plcopen/structures.py:139 +#: ../plcopen/structures.py:138 msgid "No output variable found" msgstr "" -#: ../PLCGenerator.py:1265 +#: ../PLCGenerator.py:1329 #, python-format msgid "No variable defined in \"%s\" POU" msgstr "" -#: ../VariablePanel.py:63 +#: ../VariablePanel.py:64 msgid "Non-Retain" msgstr "" @@ -1365,7 +1379,7 @@ msgid "Normal" msgstr "" -#: ../plcopen/iec_std.csv:69 +#: ../plcopen/iec_std.csv:80 msgid "Not equal to" msgstr "" @@ -1377,87 +1391,87 @@ msgid "Numerical" msgstr "" -#: ../plcopen/structures.py:219 +#: ../plcopen/structures.py:218 msgid "" "Off-delay timer\n" "The off-delay timer can be used to delay setting an output false, for fixed period after input goes false." msgstr "" -#: ../plcopen/structures.py:214 +#: ../plcopen/structures.py:213 msgid "" "On-delay timer\n" "The on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true." msgstr "" -#: ../PLCOpenEditor.py:2446 +#: ../PLCOpenEditor.py:2466 msgid "Open\tCTRL+O" msgstr "" -#: ../VariablePanel.py:52 ../VariablePanel.py:53 +#: ../VariablePanel.py:53 ../VariablePanel.py:54 msgid "Option" msgstr "" -#: ../PLCOpenEditor.py:2940 +#: ../PLCOpenEditor.py:2978 msgid "Organization (optional):" msgstr "" -#: ../VariablePanel.py:70 ../VariablePanel.py:1020 +#: ../VariablePanel.py:71 ../VariablePanel.py:1058 #: ../dialogs/FBDVariableDialog.py:43 ../dialogs/SFCStepDialog.py:127 msgid "Output" msgstr "" -#: ../plcopen/structures.py:241 +#: ../plcopen/structures.py:240 msgid "" "PID\n" "The PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control." msgstr "" -#: ../PLCOpenEditor.py:2598 ../PLCOpenEditor.py:2657 +#: ../PLCOpenEditor.py:2630 ../PLCOpenEditor.py:2694 msgid "PLCOpen files (*.xml)|*.xml|All files|*.*" msgstr "" -#: ../PLCOpenEditor.py:2530 +#: ../PLCOpenEditor.py:2559 msgid "PLCOpenEditor" msgstr "" -#: ../PLCOpenEditor.py:2488 +#: ../PLCOpenEditor.py:2508 msgid "PLCOpenEditor\tF1" msgstr "" -#: ../PLCOpenEditor.py:3283 +#: ../PLCOpenEditor.py:3321 msgid "POU Name" msgstr "" -#: ../PLCOpenEditor.py:3238 +#: ../PLCOpenEditor.py:3276 msgid "POU Name:" msgstr "" -#: ../PLCOpenEditor.py:3285 +#: ../PLCOpenEditor.py:3323 msgid "POU Type" msgstr "" -#: ../PLCOpenEditor.py:3246 +#: ../PLCOpenEditor.py:3284 msgid "POU Type:" msgstr "" -#: ../PLCOpenEditor.py:2460 +#: ../PLCOpenEditor.py:2480 msgid "Page Setup" msgstr "" -#: ../PLCOpenEditor.py:2956 +#: ../PLCOpenEditor.py:2994 msgid "Page Size (optional):" msgstr "" -#: ../PLCOpenEditor.py:4301 +#: ../PLCOpenEditor.py:4362 #, python-format msgid "Page: %d" msgstr "" -#: ../PLCOpenEditor.py:325 +#: ../PLCOpenEditor.py:330 msgid "Paste\tCTRL+V" msgstr "" -#: ../PLCOpenEditor.py:1646 +#: ../PLCOpenEditor.py:1663 msgid "Paste POU" msgstr "" @@ -1465,27 +1479,23 @@ msgid "Pin number:" msgstr "" -#: ../Viewer.py:2032 ../Viewer.py:2323 ../SFCViewer.py:698 +#: ../Viewer.py:2020 ../Viewer.py:2311 ../SFCViewer.py:698 msgid "Please choose a target" msgstr "" -#: ../PLCOpenEditor.py:2253 -msgid "Please enter POU name" -msgstr "" - -#: ../Viewer.py:1857 ../Viewer.py:1859 ../Viewer.py:2358 ../Viewer.py:2360 +#: ../Viewer.py:1845 ../Viewer.py:1847 ../Viewer.py:2346 ../Viewer.py:2348 msgid "Please enter comment text" msgstr "" -#: ../PLCOpenEditor.py:2221 ../PLCOpenEditor.py:3658 +#: ../PLCOpenEditor.py:2246 ../PLCOpenEditor.py:3696 msgid "Please enter configuration name" msgstr "" -#: ../PLCOpenEditor.py:2177 +#: ../PLCOpenEditor.py:2194 msgid "Please enter data type name" msgstr "" -#: ../PLCOpenEditor.py:2232 ../PLCOpenEditor.py:3721 +#: ../PLCOpenEditor.py:2259 ../PLCOpenEditor.py:3759 msgid "Please enter resource name" msgstr "" @@ -1493,16 +1503,16 @@ msgid "Please enter step name" msgstr "" -#: ../PLCOpenEditor.py:3129 +#: ../PLCOpenEditor.py:3167 msgid "Please enter text" msgstr "" -#: ../dialogs/ForceVariableDialog.py:78 +#: ../dialogs/ForceVariableDialog.py:156 #, python-format msgid "Please enter value for a \"%s\" variable:" msgstr "" -#: ../VariablePanel.py:1147 +#: ../VariablePanel.py:1185 msgid "Plugins" msgstr "" @@ -1514,7 +1524,7 @@ msgid "Power Rail Properties" msgstr "" -#: ../PLCOpenEditor.py:2462 +#: ../PLCOpenEditor.py:2482 msgid "Preview" msgstr "" @@ -1525,11 +1535,11 @@ msgid "Preview:" msgstr "" -#: ../PLCOpenEditor.py:2464 +#: ../PLCOpenEditor.py:2484 msgid "Print" msgstr "" -#: ../PLCOpenEditor.py:934 +#: ../PLCOpenEditor.py:950 msgid "Print preview" msgstr "" @@ -1541,23 +1551,23 @@ msgid "Priority:" msgstr "" -#: ../PLCOpenEditor.py:2884 +#: ../PLCOpenEditor.py:2922 msgid "Product Name (required):" msgstr "" -#: ../PLCOpenEditor.py:2900 +#: ../PLCOpenEditor.py:2938 msgid "Product Release (optional):" msgstr "" -#: ../PLCOpenEditor.py:2892 +#: ../PLCOpenEditor.py:2930 msgid "Product Version (required):" msgstr "" -#: ../PLCOpenEditor.py:336 ../PLCOpenEditor.py:1605 +#: ../PLCOpenEditor.py:341 ../PLCOpenEditor.py:1622 msgid "Program" msgstr "" -#: ../PLCOpenEditor.py:2635 +#: ../PLCOpenEditor.py:2671 msgid "Program was successfully generated!" msgstr "" @@ -1569,27 +1579,33 @@ msgid "Programs can't be used by other POUs!" msgstr "" -#: ../PLCOpenEditor.py:437 ../PLCOpenEditor.py:2907 +#: ../PLCOpenEditor.py:442 ../PLCOpenEditor.py:2945 msgid "Project" msgstr "" -#: ../PLCOpenEditor.py:2868 +#: ../PLCOpenEditor.py:2906 msgid "Project Name (required):" msgstr "" -#: ../PLCOpenEditor.py:2876 +#: ../PLCOpenEditor.py:2914 msgid "Project Version (optional):" msgstr "" -#: ../PLCOpenEditor.py:2854 +#: ../PLCControler.py:2650 +msgid "" +"Project file syntax error:\n" +"\n" +msgstr "" + +#: ../PLCOpenEditor.py:2892 msgid "Project properties" msgstr "" -#: ../PLCOpenEditor.py:2467 ../PLCControler.py:91 +#: ../PLCOpenEditor.py:2487 ../PLCControler.py:91 msgid "Properties" msgstr "" -#: ../plcopen/structures.py:209 +#: ../plcopen/structures.py:208 msgid "" "Pulse timer\n" "The pulse timer can be used to generate output pulses of a given time duration." @@ -1599,17 +1615,17 @@ msgid "Qualifier" msgstr "" -#: ../PLCOpenEditor.py:2470 +#: ../PLCOpenEditor.py:2490 msgid "Quit\tCTRL+Q" msgstr "" -#: ../plcopen/structures.py:174 +#: ../plcopen/structures.py:173 msgid "" "RS bistable\n" "The RS bistable is a latch where the Reset dominates." msgstr "" -#: ../plcopen/structures.py:246 +#: ../plcopen/structures.py:245 msgid "" "Ramp\n" "The RAMP function block is modelled on example given in the standard but with the addition of a 'Holdback' feature." @@ -1619,7 +1635,7 @@ msgid "Range:" msgstr "" -#: ../PLCOpenEditor.py:316 +#: ../PLCOpenEditor.py:321 msgid "Redo\tCTRL+Y" msgstr "" @@ -1627,23 +1643,23 @@ msgid "Reference" msgstr "" -#: ../PLCOpenEditor.py:364 +#: ../PLCOpenEditor.py:369 msgid "Refresh\tF5" msgstr "" -#: ../PLCOpenEditor.py:4187 ../Viewer.py:1133 +#: ../PLCOpenEditor.py:4235 ../Viewer.py:1098 msgid "Release value" msgstr "" -#: ../plcopen/iec_std.csv:48 +#: ../plcopen/iec_std.csv:37 msgid "Remainder (modulo)" msgstr "" -#: ../PLCOpenEditor.py:1609 +#: ../PLCOpenEditor.py:1626 msgid "Rename" msgstr "" -#: ../plcopen/iec_std.csv:78 +#: ../plcopen/iec_std.csv:89 msgid "Replacement (within)" msgstr "" @@ -1651,7 +1667,7 @@ msgid "Reset" msgstr "" -#: ../Viewer.py:443 +#: ../Viewer.py:408 msgid "Reset Execution Order" msgstr "" @@ -1659,15 +1675,15 @@ msgid "Resources" msgstr "" -#: ../VariablePanel.py:61 +#: ../VariablePanel.py:62 msgid "Retain" msgstr "" -#: ../VariablePanel.py:466 +#: ../VariablePanel.py:482 msgid "Return Type:" msgstr "" -#: ../Viewer.py:396 +#: ../Viewer.py:361 msgid "Right" msgstr "" @@ -1675,21 +1691,21 @@ msgid "Right PowerRail" msgstr "" -#: ../Viewer.py:426 ../dialogs/LDElementDialog.py:150 +#: ../Viewer.py:391 ../dialogs/LDElementDialog.py:150 msgid "Rising Edge" msgstr "" -#: ../plcopen/structures.py:184 +#: ../plcopen/structures.py:183 msgid "" "Rising edge detector\n" "The output produces a single pulse when a rising edge is detected." msgstr "" -#: ../plcopen/iec_std.csv:54 +#: ../plcopen/iec_std.csv:65 msgid "Rotate left" msgstr "" -#: ../plcopen/iec_std.csv:53 +#: ../plcopen/iec_std.csv:64 msgid "Rotate right" msgstr "" @@ -1697,50 +1713,46 @@ msgid "Rounding up/down" msgstr "" -#: ../PLCOpenEditor.py:2984 ../PLCOpenEditor.py:3189 +#: ../PLCOpenEditor.py:3022 ../PLCOpenEditor.py:3227 msgid "SFC" msgstr "" -#: ../plcopen/structures.py:169 +#: ../plcopen/structures.py:168 msgid "" "SR bistable\n" "The SR bistable is a latch where the Set dominates." msgstr "" -#: ../PLCOpenEditor.py:3179 ../PLCOpenEditor.py:3189 ../PLCOpenEditor.py:3368 -#: ../PLCOpenEditor.py:3512 +#: ../PLCOpenEditor.py:3217 ../PLCOpenEditor.py:3227 ../PLCOpenEditor.py:3406 +#: ../PLCOpenEditor.py:3550 msgid "ST" msgstr "" -#: ../PLCOpenEditor.py:2622 +#: ../PLCOpenEditor.py:2658 msgid "ST files (*.st)|*.st|All files|*.*" msgstr "" -#: ../PLCOpenEditor.py:2453 +#: ../PLCOpenEditor.py:2473 msgid "Save\tCTRL+S" msgstr "" -#: ../PLCOpenEditor.py:2455 +#: ../PLCOpenEditor.py:2475 msgid "Save As...\tCTRL+SHIFT+S" msgstr "" -#: ../PLCOpenEditor.py:2976 -msgid "Scaling:" -msgstr "" - -#: ../PLCOpenEditor.py:340 +#: ../PLCOpenEditor.py:345 msgid "Select All\tCTRL+A" msgstr "" -#: ../VariablePanel.py:341 +#: ../VariablePanel.py:357 msgid "Select a variable class:" msgstr "" -#: ../PLCOpenEditor.py:570 ../PLCOpenEditor.py:582 +#: ../PLCOpenEditor.py:575 ../PLCOpenEditor.py:587 msgid "Select an object" msgstr "" -#: ../plcopen/iec_std.csv:59 +#: ../plcopen/iec_std.csv:70 msgid "Selection" msgstr "" @@ -1752,7 +1764,7 @@ msgid "Selection Divergence" msgstr "" -#: ../plcopen/structures.py:179 +#: ../plcopen/structures.py:178 msgid "" "Semaphore\n" "The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources." @@ -1762,11 +1774,11 @@ msgid "Set" msgstr "" -#: ../plcopen/iec_std.csv:51 +#: ../plcopen/iec_std.csv:62 msgid "Shift left" msgstr "" -#: ../plcopen/iec_std.csv:52 +#: ../plcopen/iec_std.csv:63 msgid "Shift right" msgstr "" @@ -1790,7 +1802,7 @@ msgid "Square root (base 2)" msgstr "" -#: ../plcopen/structures.py:165 +#: ../plcopen/structures.py:164 msgid "Standard function blocks" msgstr "" @@ -1802,7 +1814,7 @@ msgid "Subrange" msgstr "" -#: ../plcopen/iec_std.csv:39 +#: ../plcopen/iec_std.csv:35 msgid "Subtraction" msgstr "" @@ -1818,30 +1830,30 @@ msgid "Tasks:" msgstr "" -#: ../VariablePanel.py:72 +#: ../VariablePanel.py:73 msgid "Temp" msgstr "" -#: ../LDViewer.py:850 +#: ../LDViewer.py:881 msgid "The group of block must be coherent!" msgstr "" -#: ../PLCOpenEditor.py:873 +#: ../PLCOpenEditor.py:889 msgid "There are changes, do you want to save?" msgstr "" -#: ../PLCOpenEditor.py:1407 ../PLCOpenEditor.py:1427 +#: ../PLCOpenEditor.py:1425 ../PLCOpenEditor.py:1445 #, python-format msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?" msgstr "" -#: ../PLCOpenEditor.py:953 +#: ../PLCOpenEditor.py:969 msgid "" "There was a problem printing.\n" "Perhaps your current printer is not set correctly?" msgstr "" -#: ../LDViewer.py:859 +#: ../LDViewer.py:890 msgid "This option isn't available yet!" msgstr "" @@ -1849,61 +1861,66 @@ msgid "Tick" msgstr "" -#: ../plcopen/iec_std.csv:34 +#: ../plcopen/iec_std.csv:40 +msgid "Time" +msgstr "" + +#: ../plcopen/iec_std.csv:40 ../plcopen/iec_std.csv:41 msgid "Time addition" msgstr "" -#: ../plcopen/iec_std.csv:75 +#: ../plcopen/iec_std.csv:86 msgid "Time concatenation" msgstr "" -#: ../plcopen/iec_std.csv:47 +#: ../plcopen/iec_std.csv:60 ../plcopen/iec_std.csv:61 msgid "Time division" msgstr "" -#: ../plcopen/iec_std.csv:38 +#: ../plcopen/iec_std.csv:46 ../plcopen/iec_std.csv:47 msgid "Time multiplication" msgstr "" -#: ../plcopen/iec_std.csv:40 +#: ../plcopen/iec_std.csv:48 ../plcopen/iec_std.csv:49 msgid "Time subtraction" msgstr "" -#: ../plcopen/iec_std.csv:35 +#: ../plcopen/iec_std.csv:42 ../plcopen/iec_std.csv:43 msgid "Time-of-day addition" msgstr "" -#: ../plcopen/iec_std.csv:42 ../plcopen/iec_std.csv:43 +#: ../plcopen/iec_std.csv:52 ../plcopen/iec_std.csv:53 +#: ../plcopen/iec_std.csv:54 ../plcopen/iec_std.csv:55 msgid "Time-of-day subtraction" msgstr "" -#: ../PLCOpenEditor.py:574 +#: ../PLCOpenEditor.py:579 msgid "Toolbar" msgstr "" -#: ../Viewer.py:399 +#: ../Viewer.py:364 msgid "Top" msgstr "" -#: ../PLCOpenEditor.py:3448 +#: ../PLCOpenEditor.py:3486 msgid "Transition Name" msgstr "" -#: ../PLCOpenEditor.py:3415 +#: ../PLCOpenEditor.py:3453 msgid "Transition Name:" msgstr "" -#: ../PLCGenerator.py:1247 +#: ../PLCGenerator.py:1311 #, python-format msgid "Transition with content \"%s\" not connected to a next step in \"%s\" POU" msgstr "" -#: ../PLCGenerator.py:1238 +#: ../PLCGenerator.py:1302 #, python-format msgid "Transition with content \"%s\" not connected to a previous step in \"%s\" POU" msgstr "" -#: ../plcopen/plcopen.py:1175 +#: ../plcopen/plcopen.py:1194 #, python-format msgid "Transition with name %s doesn't exist!" msgstr "" @@ -1912,7 +1929,7 @@ msgid "Transitions" msgstr "" -#: ../RessourceEditor.py:86 ../VariablePanel.py:52 ../VariablePanel.py:53 +#: ../RessourceEditor.py:86 ../VariablePanel.py:53 ../VariablePanel.py:54 #: ../dialogs/ActionBlockDialog.py:33 ../DataTypeEditor.py:46 msgid "Type" msgstr "" @@ -1931,7 +1948,7 @@ msgid "Type:" msgstr "" -#: ../PLCOpenEditor.py:540 +#: ../PLCOpenEditor.py:545 msgid "Types" msgstr "" @@ -1940,11 +1957,11 @@ msgid "Undefined pou type \"%s\"" msgstr "" -#: ../PLCOpenEditor.py:314 +#: ../PLCOpenEditor.py:319 msgid "Undo\tCTRL+Z" msgstr "" -#: ../Viewer.py:320 +#: ../Viewer.py:304 #, python-format msgid "Unknown variable \"%s\" for this POU!" msgstr "" @@ -1954,24 +1971,24 @@ msgid "Unnamed%d" msgstr "" -#: ../VariablePanel.py:337 +#: ../VariablePanel.py:353 #, python-format msgid "Unrecognized data size \"%s\"" msgstr "" -#: ../plcopen/structures.py:194 +#: ../plcopen/structures.py:193 msgid "" "Up-counter\n" "The up-counter can be used to signal when a count has reached a maximum value." msgstr "" -#: ../plcopen/structures.py:204 +#: ../plcopen/structures.py:203 msgid "" "Up-down counter\n" "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:770 ../DataTypeEditor.py:807 +#: ../VariablePanel.py:790 ../DataTypeEditor.py:807 msgid "User Data Types" msgstr "" @@ -1979,7 +1996,7 @@ msgid "User-defined POUs" msgstr "" -#: ../PLCOpenEditor.py:3857 ../dialogs/ActionBlockDialog.py:33 +#: ../PLCOpenEditor.py:3895 ../dialogs/ActionBlockDialog.py:33 msgid "Value" msgstr "" @@ -1991,7 +2008,7 @@ msgid "Values:" msgstr "" -#: ../PLCOpenEditor.py:3857 ../dialogs/ActionBlockDialog.py:37 +#: ../PLCOpenEditor.py:3895 ../dialogs/ActionBlockDialog.py:37 msgid "Variable" msgstr "" @@ -1999,99 +2016,95 @@ msgid "Variable Properties" msgstr "" -#: ../VariablePanel.py:341 +#: ../VariablePanel.py:357 msgid "Variable class" msgstr "" -#: ../Viewer.py:322 ../TextViewer.py:248 +#: ../Viewer.py:306 ../TextViewer.py:279 msgid "Variable don't belong to this POU!" msgstr "" -#: ../PLCOpenEditor.py:589 ../VariablePanel.py:71 +#: ../PLCOpenEditor.py:594 ../VariablePanel.py:72 msgid "Variables" msgstr "" -#: ../PLCOpenEditor.py:3313 ../PLCOpenEditor.py:3691 ../PLCOpenEditor.py:3754 -#: ../LDViewer.py:859 +#: ../PLCOpenEditor.py:2749 +msgid "Vertical:" +msgstr "" + +#: ../PLCOpenEditor.py:3351 ../PLCOpenEditor.py:3729 ../PLCOpenEditor.py:3792 +#: ../LDViewer.py:890 msgid "Warning" msgstr "" -#: ../PLCOpenEditor.py:2960 +#: ../PLCOpenEditor.py:2998 msgid "Width:" msgstr "" -#: ../PLCOpenEditor.py:2703 -msgid "X Scale:" -msgstr "" - -#: ../PLCOpenEditor.py:2711 -msgid "Y Scale:" -msgstr "" - -#: ../LDViewer.py:854 +#: ../LDViewer.py:885 msgid "You must select the block or group of blocks around which a branch should be added!" msgstr "" -#: ../LDViewer.py:628 +#: ../LDViewer.py:665 msgid "You must select the wire where a contact should be added!" msgstr "" -#: ../PLCOpenEditor.py:3144 ../PLCOpenEditor.py:3675 ../PLCOpenEditor.py:3738 +#: ../PLCOpenEditor.py:3182 ../PLCOpenEditor.py:3713 ../PLCOpenEditor.py:3776 #: ../dialogs/PouNameDialog.py:55 ../dialogs/SFCStepDialog.py:175 #: ../dialogs/SFCStepNameDialog.py:57 msgid "You must type a name!" msgstr "" -#: ../dialogs/ForceVariableDialog.py:92 +#: ../dialogs/ForceVariableDialog.py:170 msgid "You must type a value!" msgstr "" -#: ../PLCOpenEditor.py:370 +#: ../PLCOpenEditor.py:375 msgid "Zoom" msgstr "" -#: ../PLCOpenEditor.py:2631 +#: ../PLCOpenEditor.py:2667 #, python-format msgid "error: %s\n" msgstr "" -#: ../PLCOpenEditor.py:4333 ../PLCOpenEditor.py:4335 +#: ../PLCOpenEditor.py:4394 ../PLCOpenEditor.py:4396 msgid "file : " msgstr "" -#: ../PLCOpenEditor.py:3184 +#: ../PLCOpenEditor.py:3222 msgid "function" msgstr "" -#: ../PLCOpenEditor.py:4336 +#: ../PLCOpenEditor.py:4397 msgid "function : " msgstr "" -#: ../PLCOpenEditor.py:3184 +#: ../PLCOpenEditor.py:3222 msgid "functionBlock" msgstr "" -#: ../PLCOpenEditor.py:4336 +#: ../PLCOpenEditor.py:4397 msgid "line : " msgstr "" -#: ../PLCOpenEditor.py:3184 +#: ../PLCOpenEditor.py:3222 msgid "program" msgstr "" -#: ../plcopen/iec_std.csv:73 +#: ../plcopen/iec_std.csv:84 msgid "string from the middle" msgstr "" -#: ../plcopen/iec_std.csv:71 +#: ../plcopen/iec_std.csv:82 msgid "string left of" msgstr "" -#: ../plcopen/iec_std.csv:72 +#: ../plcopen/iec_std.csv:83 msgid "string right of" msgstr "" -#: ../PLCOpenEditor.py:2629 +#: ../PLCOpenEditor.py:2665 #, python-format msgid "warning: %s\n" msgstr "" diff -r 08c26c62f5a7 -r b6f9d08fd69f locale/fr_FR/LC_MESSAGES/PLCOpenEditor.mo Binary file locale/fr_FR/LC_MESSAGES/PLCOpenEditor.mo has changed