# HG changeset patch # User laurent # Date 1255102458 -7200 # Node ID 0dd1a5f2a7a1247b1ced5f8921b04681c432dd7a # Parent 755af276896264e65d30607729c68045805740af Update internationalization diff -r 755af2768962 -r 0dd1a5f2a7a1 VariablePanel.py --- a/VariablePanel.py Fri Oct 09 15:38:11 2009 +0200 +++ b/VariablePanel.py Fri Oct 09 17:34:18 2009 +0200 @@ -691,7 +691,7 @@ message.Destroy() event.Veto() elif value.upper() in self.PouNames: - message = wx.MessageDialog(self, _("A pou with \"%s\" as name exists!")%value, _("Error"), wx.OK|wx.ICON_ERROR) + message = wx.MessageDialog(self, _("A POU named \"%s\" already exists!")%value, _("Error"), wx.OK|wx.ICON_ERROR) message.ShowModal() message.Destroy() event.Veto() diff -r 755af2768962 -r 0dd1a5f2a7a1 dialogs/PouNameDialog.py --- a/dialogs/PouNameDialog.py Fri Oct 09 15:38:11 2009 +0200 +++ b/dialogs/PouNameDialog.py Fri Oct 09 17:34:18 2009 +0200 @@ -64,7 +64,7 @@ message.ShowModal() message.Destroy() elif step_name.upper() in self.PouNames: - message = wx.MessageDialog(self, _("A pou with \"%s\" as name exists!")%step_name, _("Error"), wx.OK|wx.ICON_ERROR) + message = wx.MessageDialog(self, _("A POU named \"%s\" already exists!")%step_name, _("Error"), wx.OK|wx.ICON_ERROR) message.ShowModal() message.Destroy() else: diff -r 755af2768962 -r 0dd1a5f2a7a1 dialogs/SFCStepDialog.py --- a/dialogs/SFCStepDialog.py Fri Oct 09 15:38:11 2009 +0200 +++ b/dialogs/SFCStepDialog.py Fri Oct 09 17:34:18 2009 +0200 @@ -184,7 +184,7 @@ message.ShowModal() message.Destroy() elif step_name.upper() in self.PouNames: - message = wx.MessageDialog(self, _("A pou with \"%s\" as name exists!")%step_name, _("Error"), wx.OK|wx.ICON_ERROR) + message = wx.MessageDialog(self, _("A POU named \"%s\" already exists!")%step_name, _("Error"), wx.OK|wx.ICON_ERROR) message.ShowModal() message.Destroy() elif step_name.upper() in self.Variables: diff -r 755af2768962 -r 0dd1a5f2a7a1 dialogs/SFCStepNameDialog.py --- a/dialogs/SFCStepNameDialog.py Fri Oct 09 15:38:11 2009 +0200 +++ b/dialogs/SFCStepNameDialog.py Fri Oct 09 17:34:18 2009 +0200 @@ -66,7 +66,7 @@ message.ShowModal() message.Destroy() elif step_name.upper() in self.PouNames: - message = wx.MessageDialog(self, _("A pou with \"%s\" as name exists!")%step_name, _("Error"), wx.OK|wx.ICON_ERROR) + message = wx.MessageDialog(self, _("A POU named \"%s\" already exists!")%step_name, _("Error"), wx.OK|wx.ICON_ERROR) message.ShowModal() message.Destroy() elif step_name.upper() in self.Variables: diff -r 755af2768962 -r 0dd1a5f2a7a1 i18n/PLCOpenEditor_fr_FR.po --- a/i18n/PLCOpenEditor_fr_FR.po Fri Oct 09 15:38:11 2009 +0200 +++ b/i18n/PLCOpenEditor_fr_FR.po Fri Oct 09 17:34:18 2009 +0200 @@ -7,15 +7,15 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-26 19:19+0200\n" -"PO-Revision-Date: 2009-08-26 19:25+0100\n" +"POT-Creation-Date: 2009-10-09 17:24+0200\n" +"PO-Revision-Date: 2009-10-09 17:27+0100\n" "Last-Translator: \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../PLCOpenEditor.py:5046 +#: ../PLCOpenEditor.py:4279 msgid "" "\n" "An error has occurred.\n" @@ -41,42 +41,38 @@ "\n" "Erreur:\n" -#: ../PLCOpenEditor.py:3862 +#: ../VariablePanel.py:64 msgid " External" msgstr " Externe" -#: ../PLCOpenEditor.py:3861 +#: ../VariablePanel.py:63 msgid " InOut" msgstr " Entrée-Sortie" -#: ../PLCOpenEditor.py:3861 +#: ../VariablePanel.py:63 msgid " Input" msgstr " Entrée" -#: ../PLCOpenEditor.py:3862 +#: ../VariablePanel.py:64 msgid " Local" msgstr " Locale" -#: ../PLCOpenEditor.py:3861 +#: ../VariablePanel.py:63 msgid " Output" msgstr " Sortie" -#: ../PLCOpenEditor.py:3863 +#: ../VariablePanel.py:65 msgid " Temp" msgstr " Temporaire" -#: ../PLCOpenEditor.py:842 -msgid " (Debug)" -msgstr " (Debug)" - -#: ../PLCOpenEditor.py:5058 +#: ../PLCOpenEditor.py:4291 msgid " : " msgstr " : " -#: ../PLCOpenEditor.py:3285 -#: ../PLCOpenEditor.py:3448 -#: ../PLCOpenEditor.py:3592 -#: ../Dialogs.py:1800 +#: ../PLCOpenEditor.py:3280 +#: ../PLCOpenEditor.py:3443 +#: ../PLCOpenEditor.py:3587 +#: ../dialogs/SFCTransitionDialog.py:206 #, python-format msgid " and %s" msgstr " et %s" @@ -96,13 +92,13 @@ msgid "\"%s\" POU doesn't exist !!!" msgstr "Le POU \"%s\" n'existe pas !!!" -#: ../Viewer.py:225 +#: ../Viewer.py:227 #, python-format msgid "\"%s\" can't use itself!" msgstr "\"%s\" ne peut pas s'utiliser lui-même !" -#: ../PLCOpenEditor.py:1619 -#: ../PLCOpenEditor.py:1639 +#: ../PLCOpenEditor.py:1405 +#: ../PLCOpenEditor.py:1425 #, python-format msgid "\"%s\" config already exists!" msgstr "La configuration \"%s\" existe déjà !" @@ -112,22 +108,24 @@ msgid "\"%s\" configuration already exists !!!" msgstr "La configuration \"%s\" existe déjà !!!" -#: ../PLCOpenEditor.py:1573 -#: ../PLCOpenEditor.py:3147 +#: ../PLCOpenEditor.py:1359 +#: ../PLCOpenEditor.py:3142 #, python-format msgid "\"%s\" data type already exists!" msgstr "Le type de données \"%s\" existe déjà !" -#: ../PLCControler.py:1663 +#: ../PLCControler.py:1709 +#: ../PLCControler.py:1713 #, python-format msgid "\"%s\" element can't be pasted here!!!" msgstr "L'élément \"%s\" ne peut être collé ici !!!" -#: ../PLCOpenEditor.py:3467 -#: ../PLCOpenEditor.py:3611 -#: ../Viewer.py:248 -#: ../Dialogs.py:261 -#: ../Dialogs.py:898 +#: ../PLCOpenEditor.py:3462 +#: ../PLCOpenEditor.py:3606 +#: ../Viewer.py:250 +#: ../TextViewer.py:231 +#: ../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 !" @@ -137,72 +135,74 @@ 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:1564 -#: ../PLCOpenEditor.py:3143 -#: ../PLCOpenEditor.py:3296 -#: ../PLCOpenEditor.py:3459 -#: ../PLCOpenEditor.py:3603 -#: ../PLCOpenEditor.py:3674 -#: ../PLCOpenEditor.py:3737 -#: ../PLCOpenEditor.py:4451 -#: ../Dialogs.py:253 -#: ../Dialogs.py:652 -#: ../Dialogs.py:890 -#: ../Dialogs.py:1533 -#: ../Dialogs.py:2516 -#: ../Dialogs.py:2583 -#: ../DataTypeEditor.py:702 -#: ../DataTypeEditor.py:762 +#: ../PLCOpenEditor.py:1350 +#: ../PLCOpenEditor.py:3138 +#: ../PLCOpenEditor.py:3291 +#: ../PLCOpenEditor.py:3454 +#: ../PLCOpenEditor.py:3598 +#: ../PLCOpenEditor.py:3669 +#: ../PLCOpenEditor.py:3732 +#: ../VariablePanel.py:689 +#: ../dialogs/ConnectionDialog.py:207 +#: ../dialogs/FBDBlockDialog.py:252 +#: ../dialogs/FBDVariableDialog.py:268 +#: ../dialogs/PouNameDialog.py:63 +#: ../dialogs/SFCStepDialog.py:183 +#: ../dialogs/SFCStepNameDialog.py:65 +#: ../DataTypeEditor.py:705 +#: ../DataTypeEditor.py:765 #, python-format msgid "\"%s\" is a keyword. It can't be used!" msgstr "\"%s\" est un mot réservé. Il ne peut être utilisé !" -#: ../Viewer.py:231 +#: ../Viewer.py:233 #, python-format msgid "\"%s\" is already used by \"%s\"!" msgstr "\"%s\" est déjà utilisé par \"%s\" !" -#: ../plcopen/plcopen.py:2120 +#: ../plcopen/plcopen.py:2135 #, python-format msgid "\"%s\" is an invalid value!" msgstr "\"%s\" n'est pas une valeur valide !" -#: ../PLCOpenEditor.py:1099 -#: ../PLCOpenEditor.py:1128 +#: ../PLCOpenEditor.py:2628 +#: ../PLCOpenEditor.py:2656 #, python-format msgid "\"%s\" is not a valid folder!" msgstr "\"%s\" n'est pas un répertoire valide !" -#: ../PLCOpenEditor.py:1562 -#: ../PLCOpenEditor.py:3139 -#: ../PLCOpenEditor.py:3292 -#: ../PLCOpenEditor.py:3455 -#: ../PLCOpenEditor.py:3599 -#: ../PLCOpenEditor.py:3670 -#: ../PLCOpenEditor.py:3733 -#: ../PLCOpenEditor.py:4446 -#: ../Dialogs.py:249 -#: ../Dialogs.py:886 -#: ../Dialogs.py:1529 -#: ../Dialogs.py:2512 -#: ../Dialogs.py:2579 -#: ../DataTypeEditor.py:757 +#: ../PLCOpenEditor.py:1348 +#: ../PLCOpenEditor.py:3134 +#: ../PLCOpenEditor.py:3287 +#: ../PLCOpenEditor.py:3450 +#: ../PLCOpenEditor.py:3594 +#: ../PLCOpenEditor.py:3665 +#: ../PLCOpenEditor.py:3728 +#: ../VariablePanel.py:684 +#: ../dialogs/ConnectionDialog.py:203 +#: ../dialogs/FBDBlockDialog.py:248 +#: ../dialogs/PouNameDialog.py:59 +#: ../dialogs/SFCStepDialog.py:179 +#: ../dialogs/SFCStepNameDialog.py:61 +#: ../DataTypeEditor.py:760 #, python-format msgid "\"%s\" is not a valid identifier!" msgstr "\"%s\" n'est pas un identifiant valide !" #: ../PLCOpenEditor.py:283 -#: ../PLCOpenEditor.py:2493 -#: ../PLCOpenEditor.py:2522 +#: ../PLCOpenEditor.py:2293 +#: ../PLCOpenEditor.py:2313 #, 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:1582 -#: ../PLCOpenEditor.py:3300 -#: ../Viewer.py:246 -#: ../Dialogs.py:257 -#: ../Dialogs.py:894 +#: ../PLCOpenEditor.py:1368 +#: ../PLCOpenEditor.py:3295 +#: ../Viewer.py:248 +#: ../Viewer.py:274 +#: ../TextViewer.py:229 +#: ../dialogs/ConnectionDialog.py:211 +#: ../dialogs/FBDBlockDialog.py:256 #, python-format msgid "\"%s\" pou already exists!" msgstr "Le POU \"%s\" existe déjà !" @@ -217,23 +217,23 @@ msgid "\"%s\" resource doesn't exist in \"%s\" configuration !!!" msgstr "La ressource \"%s\" n'existe pas dans la configuration \"%s\" !!!" -#: ../Dialogs.py:1545 -#: ../Dialogs.py:2528 +#: ../dialogs/SFCStepDialog.py:195 +#: ../dialogs/SFCStepNameDialog.py:77 #, python-format msgid "\"%s\" step already exists!" msgstr "L'étape \"%s\" existe déjà !" -#: ../DataTypeEditor.py:697 +#: ../DataTypeEditor.py:700 #, python-format msgid "\"%s\" value already defined!" msgstr "La valeur \"%s\" est déjà définie !" -#: ../DataTypeEditor.py:899 +#: ../DataTypeEditor.py:901 #, python-format msgid "\"%s\" value isn't a valid array dimension!" msgstr "\"%s\" n'est pas une dimension de tableau valide !" -#: ../DataTypeEditor.py:906 +#: ../DataTypeEditor.py:908 #, python-format msgid "" "\"%s\" value isn't a valid array dimension!\n" @@ -242,93 +242,91 @@ "\"%s\" n'est pas une dimension de tableau valide !\n" "La valeur de droite doit être supérieur à celle de gauche." -#: ../GraphicViewer.py:181 +#: ../PLCControler.py:631 +#, python-format +msgid "%s \"%s\" can't be pasted as a %s." +msgstr "Le %s \"%s\" ne peut être collé en tant que %s." + +#: ../GraphicViewer.py:180 #, python-format msgid "%s Graphics" msgstr "Graphique %s" -#: ../plcopen/plcopen.py:1276 -#: ../plcopen/plcopen.py:1286 -#: ../plcopen/plcopen.py:1296 -#: ../plcopen/plcopen.py:1306 -#: ../plcopen/plcopen.py:1315 +#: ../plcopen/plcopen.py:1291 +#: ../plcopen/plcopen.py:1301 +#: ../plcopen/plcopen.py:1311 +#: ../plcopen/plcopen.py:1321 +#: ../plcopen/plcopen.py:1330 #, python-format msgid "%s body don't have instances!" msgstr "Le code d'un %s n'a pas d'instances !" -#: ../plcopen/plcopen.py:1338 -#: ../plcopen/plcopen.py:1345 +#: ../plcopen/plcopen.py:1353 +#: ../plcopen/plcopen.py:1360 #, python-format msgid "%s body don't have text!" msgstr "Le code d'un %s n'a pas de texte !" -#: ../PLCOpenEditor.py:5034 -#: ../PLCOpenEditor.py:5036 -#: ../PLCOpenEditor.py:5037 +#: ../PLCOpenEditor.py:4267 +#: ../PLCOpenEditor.py:4269 +#: ../PLCOpenEditor.py:4270 msgid ", " msgstr ", " -#: ../PLCOpenEditor.py:3287 -#: ../PLCOpenEditor.py:3450 -#: ../PLCOpenEditor.py:3594 -#: ../Dialogs.py:1802 +#: ../PLCOpenEditor.py:3282 +#: ../PLCOpenEditor.py:3445 +#: ../PLCOpenEditor.py:3589 +#: ../dialogs/SFCTransitionDialog.py:208 #, python-format msgid ", %s" msgstr ", %s" -#: ../PLCOpenEditor.py:5032 +#: ../PLCOpenEditor.py:4265 msgid ". " msgstr ". " -#: ../DataTypeEditor.py:772 -#, python-format -msgid "An element named \"%s\" already exists in this structure!" -msgstr "Un élément nommé \"%s\" existe déjà dans la structure !" - -#: ../PLCOpenEditor.py:1585 -#: ../PLCOpenEditor.py:1627 -#: ../PLCOpenEditor.py:1647 -#: ../PLCOpenEditor.py:3304 -#: ../PLCOpenEditor.py:3682 -#: ../PLCOpenEditor.py:3745 +#: ../PLCOpenEditor.py:1371 +#: ../PLCOpenEditor.py:1413 +#: ../PLCOpenEditor.py:1433 +#: ../PLCOpenEditor.py:3299 +#: ../PLCOpenEditor.py:3677 +#: ../PLCOpenEditor.py:3740 #, 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:1622 -#: ../PLCOpenEditor.py:1642 -#, 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:1598 -#: ../PLCOpenEditor.py:1609 -#: ../PLCOpenEditor.py:3463 -#: ../PLCOpenEditor.py:3607 -#: ../PLCOpenEditor.py:3678 -#: ../PLCOpenEditor.py:3741 -#: ../PLCOpenEditor.py:4456 -#: ../Dialogs.py:1537 -#: ../Dialogs.py:2520 -#: ../Dialogs.py:2587 +#: ../PLCOpenEditor.py:1384 +#: ../PLCOpenEditor.py:1395 +#: ../PLCOpenEditor.py:3458 +#: ../PLCOpenEditor.py:3602 +#: ../PLCOpenEditor.py:3673 +#: ../PLCOpenEditor.py:3736 +#: ../VariablePanel.py:694 +#: ../dialogs/PouNameDialog.py:67 +#: ../dialogs/SFCStepDialog.py:187 +#: ../dialogs/SFCStepNameDialog.py:69 #, python-format msgid "A POU named \"%s\" already exists!" msgstr "Un POU nommé \"%s\" existe déjà !" -#: ../PLCOpenEditor.py:1600 -#: ../PLCOpenEditor.py:1611 -#: ../PLCOpenEditor.py:4461 -#: ../Dialogs.py:1541 -#: ../Dialogs.py:2524 +#: ../VariablePanel.py:1173 +msgid "A location must be selected!" +msgstr "Une adresse doit être sélectionné !" + +#: ../PLCOpenEditor.py:1386 +#: ../PLCOpenEditor.py:1397 +#: ../VariablePanel.py:699 +#: ../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:447 +#: ../PLCOpenEditor.py:2485 msgid "About" msgstr "A propos" -#: ../PLCOpenEditor.py:2616 +#: ../PLCOpenEditor.py:2388 msgid "About PLCOpenEditor" msgstr "A propos de PLCOpenEditor" @@ -336,86 +334,86 @@ msgid "Absolute number" msgstr "Nombre absolu" -#: ../Dialogs.py:1482 -#: ../Dialogs.py:2109 +#: ../dialogs/ActionBlockDialog.py:37 +#: ../dialogs/SFCStepDialog.py:132 msgid "Action" msgstr "Action" -#: ../PLCOpenEditor.py:3583 +#: ../PLCOpenEditor.py:3578 msgid "Action Name" msgstr "Nom de l'action" -#: ../PLCOpenEditor.py:3550 +#: ../PLCOpenEditor.py:3545 msgid "Action Name:" msgstr "Nom de l'action :" -#: ../plcopen/plcopen.py:1073 +#: ../plcopen/plcopen.py:1088 #, python-format msgid "Action with name %s doesn't exist!" msgstr "L'action nommée %s n'existe pas !" -#: ../PLCControler.py:83 +#: ../PLCControler.py:90 msgid "Actions" msgstr "Actions" -#: ../Dialogs.py:2332 +#: ../dialogs/ActionBlockDialog.py:260 msgid "Actions:" msgstr "Actions :" -#: ../PLCOpenEditor.py:4246 -#: ../Dialogs.py:2346 +#: ../VariablePanel.py:456 +#: ../dialogs/ActionBlockDialog.py:274 #: ../DataTypeEditor.py:539 msgid "Add" msgstr "Ajouter" -#: ../PLCOpenEditor.py:1802 -#: ../PLCOpenEditor.py:1875 +#: ../PLCOpenEditor.py:1589 +#: ../PLCOpenEditor.py:1675 msgid "Add Action" msgstr "Ajouter une action" -#: ../PLCOpenEditor.py:1858 +#: ../PLCOpenEditor.py:1658 msgid "Add Configuration" msgstr "Ajouter une configuration" -#: ../PLCOpenEditor.py:1846 +#: ../PLCOpenEditor.py:1638 msgid "Add DataType" msgstr "Ajouter un type de donnée" -#: ../Viewer.py:402 +#: ../Viewer.py:436 msgid "Add Divergence Branch" msgstr "Ajouter une branche à la divergence" -#: ../PLCOpenEditor.py:386 +#: ../PLCOpenEditor.py:328 msgid "Add Element" msgstr "Ajouter un élément" -#: ../RessourceEditor.py:409 +#: ../RessourceEditor.py:412 msgid "Add Instance" msgstr "Ajouter une instance" -#: ../PLCOpenEditor.py:1852 +#: ../PLCOpenEditor.py:1645 msgid "Add Pou" msgstr "Ajouter un POU" -#: ../PLCOpenEditor.py:1829 -#: ../PLCOpenEditor.py:1886 +#: ../PLCOpenEditor.py:1621 +#: ../PLCOpenEditor.py:1686 msgid "Add Resource" msgstr "Ajouter une resource" -#: ../RessourceEditor.py:373 +#: ../RessourceEditor.py:376 msgid "Add Task" msgstr "Ajouter une tâche" -#: ../PLCOpenEditor.py:1799 -#: ../PLCOpenEditor.py:1864 +#: ../PLCOpenEditor.py:1586 +#: ../PLCOpenEditor.py:1664 msgid "Add Transition" msgstr "Ajouter une transition" -#: ../Viewer.py:397 +#: ../Viewer.py:431 msgid "Add Wire Segment" msgstr "Ajouter un segment au fil" -#: ../PLCOpenEditor.py:2361 +#: ../PLCOpenEditor.py:2164 msgid "Add a new data type" msgstr "Ajouter un nouveau type de données" @@ -423,7 +421,7 @@ msgid "Add a new initial step" msgstr "Ajouter une nouvelle étape initiale" -#: ../Viewer.py:1971 +#: ../Viewer.py:1995 #: ../SFCViewer.py:698 msgid "Add a new jump" msgstr "Ajouter un nouveau renvoi" @@ -432,11 +430,11 @@ msgid "Add a new step" msgstr "Ajouter une nouvelle étape" -#: ../PLCOpenEditor.py:2418 +#: ../PLCOpenEditor.py:2208 msgid "Add new configuration" msgstr "Ajouter une nouvelle configuration" -#: ../PLCOpenEditor.py:2433 +#: ../PLCOpenEditor.py:2219 msgid "Add new resource" msgstr "Ajouter une nouvelle resource" @@ -448,14 +446,21 @@ msgid "Additional function blocks" msgstr "Blocs fonctionnels additionnels" -#: ../Viewer.py:411 +#: ../Viewer.py:445 msgid "Alignment" msgstr "Alignement" -#: ../PLCOpenEditor.py:3860 +#: ../VariablePanel.py:62 +#: ../VariablePanel.py:990 +#: ../VariablePanel.py:1107 msgid "All" msgstr "Toutes" +#: ../DataTypeEditor.py:775 +#, python-format +msgid "An element named \"%s\" already exists in this structure!" +msgstr "Un élément nommé \"%s\" existe déjà dans la structure !" + #: ../plcopen/iec_std.csv:31 msgid "Arc cosine" msgstr "Arc cosinus" @@ -480,15 +485,15 @@ msgid "Assignment" msgstr "Assignation" -#: ../Dialogs.py:648 +#: ../dialogs/FBDVariableDialog.py:264 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:2943 +#: ../PLCOpenEditor.py:2938 msgid "Author" msgstr "Auteur" -#: ../PLCOpenEditor.py:2928 +#: ../PLCOpenEditor.py:2923 msgid "Author Name (optional):" msgstr "Nom de l'auteur (optionel) :" @@ -498,8 +503,8 @@ msgid "Base Type:" msgstr "Type de base :" -#: ../PLCOpenEditor.py:4493 -#: ../DataTypeEditor.py:798 +#: ../VariablePanel.py:732 +#: ../DataTypeEditor.py:801 msgid "Base Types" msgstr "Types de base" @@ -531,53 +536,57 @@ msgid "Bitwise inverting" msgstr "Inversion bit à bit" -#: ../Dialogs.py:114 +#: ../dialogs/FBDBlockDialog.py:113 msgid "Block Properties" msgstr "Propriétés du bloc" -#: ../PLCOpenEditor.py:2079 -#: ../Dialogs.py:269 +#: ../PLCOpenEditor.py:1883 +#: ../dialogs/FBDBlockDialog.py:268 msgid "Block Types" msgstr "Types de blocs" -#: ../Viewer.py:369 +#: ../Viewer.py:403 msgid "Bottom" msgstr "Bas" -#: ../PLCOpenEditor.py:2033 +#: ../VariablePanel.py:1049 +msgid "Browse Locations" +msgstr "Naviger dans les adresses" + +#: ../PLCOpenEditor.py:1838 msgid "CSV Log" msgstr "Log CVS" -#: ../PLCOpenEditor.py:4074 +#: ../plcopen/plcopen.py:1233 +#: ../plcopen/plcopen.py:1247 +#: ../plcopen/plcopen.py:1268 +#: ../plcopen/plcopen.py:1284 +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:284 msgid "Can only give a location to local or global variables" msgstr "Une adresse ne peut être affecté qu'à des variables locales ou globales" -#: ../plcopen/plcopen.py:1218 -#: ../plcopen/plcopen.py:1232 -#: ../plcopen/plcopen.py:1253 -#: ../plcopen/plcopen.py:1269 -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 !" - -#: ../PLCOpenEditor.py:4072 +#: ../PLCOpenEditor.py:2623 +#, 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:282 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:1094 -#, python-format -msgid "Can't generate program to file %s!" -msgstr "Le programme n'a pu être généré dans le fichier \"%s\" !" - -#: ../PLCOpenEditor.py:1126 +#: ../PLCOpenEditor.py:2654 #, python-format msgid "Can't save project to file %s!" msgstr "Le projet n'a pu être sauvé dans le fichier \"%s\" !" -#: ../Viewer.py:360 +#: ../Viewer.py:394 msgid "Center" msgstr "Centre" -#: ../PLCOpenEditor.py:1818 +#: ../PLCOpenEditor.py:1610 msgid "Change POU Type To" msgstr "Changer le type du POU pour" @@ -585,46 +594,42 @@ msgid "Character string" msgstr "Chaîne de caractères" -#: ../PLCOpenEditor.py:1033 -#: ../PLCOpenEditor.py:1084 -#: ../PLCOpenEditor.py:1120 +#: ../PLCOpenEditor.py:2589 +#: ../PLCOpenEditor.py:2613 +#: ../PLCOpenEditor.py:2648 msgid "Choose a file" msgstr "Choisissez un fichier" -#: ../PLCOpenEditor.py:3850 -#: ../PLCOpenEditor.py:3851 +#: ../VariablePanel.py:52 +#: ../VariablePanel.py:53 msgid "Class" msgstr "Classe" -#: ../PLCOpenEditor.py:4238 +#: ../VariablePanel.py:448 msgid "Class Filter:" msgstr "Filtre de classe :" -#: ../Dialogs.py:508 +#: ../dialogs/FBDVariableDialog.py:124 msgid "Class:" msgstr "Classe :" -#: ../PLCOpenEditor.py:425 +#: ../PLCOpenEditor.py:367 msgid "Clear Errors\tCTRL+K" msgstr "Effacer les erreurs\tCTRL+K" -#: ../Viewer.py:407 +#: ../Viewer.py:441 msgid "Clear Execution Order" msgstr "Effacer l'ordre d'exécution" -#: ../PLCOpenEditor.py:346 -msgid "Close\tCTRL+Q" -msgstr "Fermer\tCTRL+Q" - -#: ../PLCOpenEditor.py:963 +#: ../PLCOpenEditor.py:873 msgid "Close Application" msgstr "Fermer l'application" -#: ../PLCOpenEditor.py:319 +#: ../PLCOpenEditor.py:2441 msgid "Close Project" msgstr "Fermer le projet" -#: ../PLCOpenEditor.py:316 +#: ../PLCOpenEditor.py:2439 msgid "Close Tab\tCTRL+W" msgstr "Fermer l'onglet\tCTRL+W" @@ -632,11 +637,11 @@ msgid "Comment" msgstr "Commentaire" -#: ../PLCOpenEditor.py:2912 +#: ../PLCOpenEditor.py:2907 msgid "Company Name (required):" msgstr "Nom de l'entreprise (obligatoire) :" -#: ../PLCOpenEditor.py:2920 +#: ../PLCOpenEditor.py:2915 msgid "Company URL (optional):" msgstr "URL de l'entreprise (optionel) :" @@ -648,40 +653,40 @@ msgid "Concatenation" msgstr "Concaténation" -#: ../PLCOpenEditor.py:396 +#: ../PLCOpenEditor.py:338 msgid "Configuration" msgstr "Configuration" -#: ../PLCControler.py:84 +#: ../PLCControler.py:91 msgid "Configurations" msgstr "Configurations" -#: ../Dialogs.py:1737 +#: ../dialogs/SFCTransitionDialog.py:143 msgid "Connection" msgstr "Connexion" -#: ../Dialogs.py:784 +#: ../dialogs/ConnectionDialog.py:101 msgid "Connection Properties" msgstr "Propriétés de la connexion" -#: ../Dialogs.py:800 +#: ../dialogs/ConnectionDialog.py:117 msgid "Connector" msgstr "Connecteur" -#: ../Dialogs.py:1459 +#: ../dialogs/SFCStepDialog.py:109 msgid "Connectors:" msgstr "Connecteurs :" -#: ../PLCOpenEditor.py:3850 -#: ../PLCOpenEditor.py:3851 +#: ../VariablePanel.py:52 +#: ../VariablePanel.py:53 msgid "Constant" msgstr "Constante" -#: ../PLCOpenEditor.py:3002 +#: ../PLCOpenEditor.py:2997 msgid "Content Description (optional):" msgstr "Description du contenu (optionel) :" -#: ../Dialogs.py:806 +#: ../dialogs/ConnectionDialog.py:123 msgid "Continuation" msgstr "Prolongement" @@ -701,7 +706,11 @@ msgid "Conversion to time-of-day" msgstr "Conversion en heure de la journée" -#: ../PLCOpenEditor.py:381 +#: ../PLCOpenEditor.py:1597 +msgid "Copy" +msgstr "Copier" + +#: ../PLCOpenEditor.py:323 msgid "Copy\tCTRL+C" msgstr "Copier\tCtrl+C" @@ -709,103 +718,108 @@ msgid "Cosine" msgstr "Cosinus" -#: ../PLCOpenEditor.py:3225 +#: ../PLCControler.py:617 +#: ../PLCControler.py:652 +msgid "Couldn't paste non-POU object." +msgstr "Impossible de coller autre chose qu'un POU." + +#: ../PLCOpenEditor.py:3220 msgid "Create a new POU" msgstr "Créer un nouveau POU" -#: ../PLCOpenEditor.py:1806 -#: ../PLCOpenEditor.py:2463 +#: ../PLCOpenEditor.py:1594 +#: ../PLCOpenEditor.py:2240 msgid "Create a new POU from" msgstr "Créer un nouveau POU à partir de" -#: ../PLCOpenEditor.py:3546 +#: ../PLCOpenEditor.py:3541 msgid "Create a new action" msgstr "Créer une nouvelle action" -#: ../PLCOpenEditor.py:214 +#: ../PLCOpenEditor.py:215 msgid "Create a new action block" msgstr "Créer un nouveau bloc d'actions" -#: ../PLCOpenEditor.py:169 -#: ../PLCOpenEditor.py:196 -#: ../PLCOpenEditor.py:226 +#: ../PLCOpenEditor.py:170 +#: ../PLCOpenEditor.py:197 +#: ../PLCOpenEditor.py:227 msgid "Create a new block" msgstr "Créer un nouveau bloc" -#: ../PLCOpenEditor.py:190 +#: ../PLCOpenEditor.py:191 msgid "Create a new branch" msgstr "Créer une nouvelle branche" -#: ../PLCOpenEditor.py:184 +#: ../PLCOpenEditor.py:185 msgid "Create a new coil" msgstr "Créer un nouveau relai" -#: ../PLCOpenEditor.py:163 -#: ../PLCOpenEditor.py:175 -#: ../PLCOpenEditor.py:202 +#: ../PLCOpenEditor.py:164 +#: ../PLCOpenEditor.py:176 +#: ../PLCOpenEditor.py:203 msgid "Create a new comment" msgstr "Créer un nouveau copmmentaire" -#: ../PLCOpenEditor.py:172 -#: ../PLCOpenEditor.py:199 -#: ../PLCOpenEditor.py:229 +#: ../PLCOpenEditor.py:173 +#: ../PLCOpenEditor.py:200 +#: ../PLCOpenEditor.py:230 msgid "Create a new connection" msgstr "Créer une nouvelle connexion" -#: ../PLCOpenEditor.py:187 -#: ../PLCOpenEditor.py:235 +#: ../PLCOpenEditor.py:188 +#: ../PLCOpenEditor.py:236 msgid "Create a new contact" msgstr "Créer un nouveau contact" -#: ../PLCOpenEditor.py:217 +#: ../PLCOpenEditor.py:218 msgid "Create a new divergence" msgstr "Créer une nouvelle divergence" -#: ../Dialogs.py:1976 +#: ../dialogs/SFCDivergenceDialog.py:103 msgid "Create a new divergence or convergence" msgstr "Créer une nouvelle divergence ou convergence" -#: ../PLCOpenEditor.py:205 +#: ../PLCOpenEditor.py:206 msgid "Create a new initial step" msgstr "Créer une nouvelle étape initiale" -#: ../PLCOpenEditor.py:220 +#: ../PLCOpenEditor.py:221 msgid "Create a new jump" msgstr "Créer un nouveau renvoi" -#: ../PLCOpenEditor.py:178 -#: ../PLCOpenEditor.py:232 +#: ../PLCOpenEditor.py:179 +#: ../PLCOpenEditor.py:233 msgid "Create a new power rail" msgstr "Créer une nouvelle barre d'alimentation" -#: ../PLCOpenEditor.py:181 +#: ../PLCOpenEditor.py:182 msgid "Create a new rung" msgstr "Créer un nouvel échelon" -#: ../PLCOpenEditor.py:208 +#: ../PLCOpenEditor.py:209 msgid "Create a new step" msgstr "Créer une nouvelle étape" -#: ../PLCOpenEditor.py:211 -#: ../PLCOpenEditor.py:3402 +#: ../PLCOpenEditor.py:212 +#: ../PLCOpenEditor.py:3397 msgid "Create a new transition" msgstr "Créer une nouvelle transition" -#: ../PLCOpenEditor.py:166 -#: ../PLCOpenEditor.py:193 -#: ../PLCOpenEditor.py:223 +#: ../PLCOpenEditor.py:167 +#: ../PLCOpenEditor.py:194 +#: ../PLCOpenEditor.py:224 msgid "Create a new variable" msgstr "Créer une nouvelle variable" -#: ../PLCOpenEditor.py:379 +#: ../PLCOpenEditor.py:321 msgid "Cut\tCTRL+X" msgstr "Couper\tCTRL+X" -#: ../PLCOpenEditor.py:388 +#: ../PLCOpenEditor.py:330 msgid "Data Type" msgstr "Type de donnée" -#: ../PLCControler.py:83 +#: ../PLCControler.py:90 msgid "Data Types" msgstr "Types de données" @@ -826,31 +840,40 @@ msgid "Date subtraction" msgstr "Soustraction de date" -#: ../PLCOpenEditor.py:400 -#: ../PLCOpenEditor.py:1823 -#: ../PLCOpenEditor.py:1832 -#: ../PLCOpenEditor.py:1838 -#: ../PLCOpenEditor.py:4251 -#: ../PLCOpenEditor.py:4864 -#: ../Viewer.py:416 -#: ../Dialogs.py:2351 +#: ../Viewer.py:2848 +#, python-format +msgid "Debug: %s" +msgstr "Déboggage : %s" + +#: ../PLCOpenEditor.py:618 +msgid "Debugger" +msgstr "Débuggueur" + +#: ../PLCOpenEditor.py:342 +#: ../PLCOpenEditor.py:1615 +#: ../PLCOpenEditor.py:1624 +#: ../PLCOpenEditor.py:1630 +#: ../PLCOpenEditor.py:4091 +#: ../Viewer.py:450 +#: ../VariablePanel.py:461 +#: ../dialogs/ActionBlockDialog.py:279 #: ../DataTypeEditor.py:544 msgid "Delete" msgstr "Supprimer" -#: ../Viewer.py:404 +#: ../Viewer.py:438 msgid "Delete Divergence Branch" msgstr "Supprimer une branche de divergence" -#: ../RessourceEditor.py:414 +#: ../RessourceEditor.py:417 msgid "Delete Instance" msgstr "Supprimer une instance" -#: ../RessourceEditor.py:378 +#: ../RessourceEditor.py:381 msgid "Delete Task" msgstr "Supprimer une tâche" -#: ../Viewer.py:399 +#: ../Viewer.py:433 msgid "Delete Wire Segment" msgstr "Supprimer un segment de fil" @@ -879,6 +902,10 @@ msgid "Dimensions:" msgstr "Dimensions :" +#: ../VariablePanel.py:1066 +msgid "Direction:" +msgstr "Direction :" + #: ../DataTypeEditor.py:236 msgid "Directly" msgstr "Direct" @@ -891,7 +918,12 @@ msgid "Division" msgstr "Division" -#: ../PLCOpenEditor.py:1088 +#: ../VariablePanel.py:52 +#: ../VariablePanel.py:53 +msgid "Documentation" +msgstr "Documentation" + +#: ../PLCOpenEditor.py:2617 msgid "Done" msgstr "Terminé" @@ -903,7 +935,7 @@ "Compteur décrémental\n" "Le compteur décrémental peut être utilisé pour signaler lorsque le compteur atteint zéro en partant d'une valeur prédéfinie." -#: ../Dialogs.py:2105 +#: ../dialogs/ActionBlockDialog.py:33 msgid "Duration" msgstr "Durée" @@ -911,30 +943,30 @@ msgid "Edit" msgstr "Editer" -#: ../Viewer.py:414 +#: ../Viewer.py:448 msgid "Edit Block" msgstr "Editer le block" -#: ../Dialogs.py:1098 +#: ../dialogs/LDElementDialog.py:193 msgid "Edit Coil Values" msgstr "Editer les valeurs du relai" -#: ../Dialogs.py:1093 +#: ../dialogs/LDElementDialog.py:188 msgid "Edit Contact Values" msgstr "Editer les valeurs du contact" -#: ../Dialogs.py:1451 +#: ../dialogs/SFCStepDialog.py:101 msgid "Edit Step" msgstr "Editer l'étape" -#: ../Dialogs.py:2328 +#: ../dialogs/ActionBlockDialog.py:256 msgid "Edit action block properties" msgstr "Editer les propriétés du block d'actions" -#: ../Viewer.py:1796 -#: ../Viewer.py:1798 -#: ../Viewer.py:2297 -#: ../Viewer.py:2299 +#: ../Viewer.py:1820 +#: ../Viewer.py:1822 +#: ../Viewer.py:2321 +#: ../Viewer.py:2323 msgid "Edit comment" msgstr "Editer le commentaire" @@ -943,7 +975,7 @@ msgid "Edit item" msgstr "Editer l'élément" -#: ../Viewer.py:2262 +#: ../Viewer.py:2286 msgid "Edit jump target" msgstr "Editer la cible du renvoi" @@ -951,7 +983,7 @@ msgid "Edit step name" msgstr "Editer le nom de l'étape" -#: ../Dialogs.py:1698 +#: ../dialogs/SFCTransitionDialog.py:104 msgid "Edit transition" msgstr "Editer la transition" @@ -959,7 +991,7 @@ msgid "Elements :" msgstr "Eléments :" -#: ../PLCOpenEditor.py:376 +#: ../PLCOpenEditor.py:318 msgid "Enable Undo/Redo" msgstr "Activer Défaire/Refaire" @@ -971,102 +1003,102 @@ msgid "Equal to" msgstr "Egal à" -#: ../PLCOpenEditor.py:955 -#: ../PLCOpenEditor.py:1095 -#: ../PLCOpenEditor.py:1100 -#: ../PLCOpenEditor.py:1585 -#: ../PLCOpenEditor.py:1622 -#: ../PLCOpenEditor.py:1627 -#: ../PLCOpenEditor.py:1642 -#: ../PLCOpenEditor.py:1647 -#: ../PLCOpenEditor.py:2493 -#: ../PLCOpenEditor.py:2522 -#: ../PLCOpenEditor.py:3043 -#: ../PLCOpenEditor.py:3135 -#: ../PLCOpenEditor.py:3139 -#: ../PLCOpenEditor.py:3143 -#: ../PLCOpenEditor.py:3147 -#: ../PLCOpenEditor.py:3288 -#: ../PLCOpenEditor.py:3292 -#: ../PLCOpenEditor.py:3296 -#: ../PLCOpenEditor.py:3300 -#: ../PLCOpenEditor.py:3451 -#: ../PLCOpenEditor.py:3455 -#: ../PLCOpenEditor.py:3459 -#: ../PLCOpenEditor.py:3463 -#: ../PLCOpenEditor.py:3467 -#: ../PLCOpenEditor.py:3595 -#: ../PLCOpenEditor.py:3599 -#: ../PLCOpenEditor.py:3603 -#: ../PLCOpenEditor.py:3607 -#: ../PLCOpenEditor.py:3611 -#: ../PLCOpenEditor.py:3666 -#: ../PLCOpenEditor.py:3670 -#: ../PLCOpenEditor.py:3674 -#: ../PLCOpenEditor.py:3678 -#: ../PLCOpenEditor.py:3729 -#: ../PLCOpenEditor.py:3733 -#: ../PLCOpenEditor.py:3737 -#: ../PLCOpenEditor.py:3741 -#: ../PLCOpenEditor.py:4121 -#: ../PLCOpenEditor.py:4446 -#: ../PLCOpenEditor.py:4451 -#: ../PLCOpenEditor.py:4456 -#: ../PLCOpenEditor.py:4461 -#: ../PLCOpenEditor.py:4797 -#: ../PLCOpenEditor.py:5059 -#: ../PLCOpenEditor.py:5069 -#: ../Viewer.py:335 -#: ../TextViewer.py:224 +#: ../PLCOpenEditor.py:865 +#: ../PLCOpenEditor.py:1371 +#: ../PLCOpenEditor.py:1408 +#: ../PLCOpenEditor.py:1413 +#: ../PLCOpenEditor.py:1428 +#: ../PLCOpenEditor.py:1433 +#: ../PLCOpenEditor.py:2267 +#: ../PLCOpenEditor.py:2624 +#: ../PLCOpenEditor.py:2629 +#: ../PLCOpenEditor.py:3038 +#: ../PLCOpenEditor.py:3130 +#: ../PLCOpenEditor.py:3134 +#: ../PLCOpenEditor.py:3138 +#: ../PLCOpenEditor.py:3142 +#: ../PLCOpenEditor.py:3283 +#: ../PLCOpenEditor.py:3287 +#: ../PLCOpenEditor.py:3291 +#: ../PLCOpenEditor.py:3295 +#: ../PLCOpenEditor.py:3446 +#: ../PLCOpenEditor.py:3450 +#: ../PLCOpenEditor.py:3454 +#: ../PLCOpenEditor.py:3458 +#: ../PLCOpenEditor.py:3462 +#: ../PLCOpenEditor.py:3590 +#: ../PLCOpenEditor.py:3594 +#: ../PLCOpenEditor.py:3598 +#: ../PLCOpenEditor.py:3602 +#: ../PLCOpenEditor.py:3606 +#: ../PLCOpenEditor.py:3661 +#: ../PLCOpenEditor.py:3665 +#: ../PLCOpenEditor.py:3669 +#: ../PLCOpenEditor.py:3673 +#: ../PLCOpenEditor.py:3724 +#: ../PLCOpenEditor.py:3728 +#: ../PLCOpenEditor.py:3732 +#: ../PLCOpenEditor.py:3736 +#: ../PLCOpenEditor.py:4024 +#: ../PLCOpenEditor.py:4292 +#: ../PLCOpenEditor.py:4302 +#: ../Viewer.py:369 +#: ../TextViewer.py:250 #: ../LDViewer.py:628 #: ../LDViewer.py:850 #: ../LDViewer.py:854 -#: ../Dialogs.py:241 -#: ../Dialogs.py:245 -#: ../Dialogs.py:249 -#: ../Dialogs.py:253 -#: ../Dialogs.py:257 -#: ../Dialogs.py:261 -#: ../Dialogs.py:648 -#: ../Dialogs.py:652 -#: ../Dialogs.py:882 -#: ../Dialogs.py:886 -#: ../Dialogs.py:890 -#: ../Dialogs.py:894 -#: ../Dialogs.py:898 -#: ../Dialogs.py:1525 -#: ../Dialogs.py:1529 -#: ../Dialogs.py:1533 -#: ../Dialogs.py:1537 -#: ../Dialogs.py:1541 -#: ../Dialogs.py:1545 -#: ../Dialogs.py:1803 -#: ../Dialogs.py:2508 -#: ../Dialogs.py:2512 -#: ../Dialogs.py:2516 -#: ../Dialogs.py:2520 -#: ../Dialogs.py:2524 -#: ../Dialogs.py:2528 -#: ../Dialogs.py:2575 -#: ../Dialogs.py:2579 -#: ../Dialogs.py:2583 -#: ../Dialogs.py:2587 -#: ../DataTypeEditor.py:697 -#: ../DataTypeEditor.py:702 -#: ../DataTypeEditor.py:757 -#: ../DataTypeEditor.py:762 -#: ../DataTypeEditor.py:772 -#: ../DataTypeEditor.py:899 -#: ../DataTypeEditor.py:906 +#: ../VariablePanel.py:331 +#: ../VariablePanel.py:684 +#: ../VariablePanel.py:689 +#: ../VariablePanel.py:694 +#: ../VariablePanel.py:699 +#: ../VariablePanel.py:1173 +#: ../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/PouNameDialog.py:55 +#: ../dialogs/PouNameDialog.py:59 +#: ../dialogs/PouNameDialog.py:63 +#: ../dialogs/PouNameDialog.py:67 +#: ../dialogs/SFCStepDialog.py:175 +#: ../dialogs/SFCStepDialog.py:179 +#: ../dialogs/SFCStepDialog.py:183 +#: ../dialogs/SFCStepDialog.py:187 +#: ../dialogs/SFCStepDialog.py:191 +#: ../dialogs/SFCStepDialog.py:195 +#: ../dialogs/SFCStepNameDialog.py:57 +#: ../dialogs/SFCStepNameDialog.py:61 +#: ../dialogs/SFCStepNameDialog.py:65 +#: ../dialogs/SFCStepNameDialog.py:69 +#: ../dialogs/SFCStepNameDialog.py:73 +#: ../dialogs/SFCStepNameDialog.py:77 +#: ../dialogs/SFCTransitionDialog.py:209 +#: ../DataTypeEditor.py:700 +#: ../DataTypeEditor.py:705 +#: ../DataTypeEditor.py:760 +#: ../DataTypeEditor.py:765 +#: ../DataTypeEditor.py:775 +#: ../DataTypeEditor.py:901 +#: ../DataTypeEditor.py:908 msgid "Error" msgstr "Erreur" -#: ../Dialogs.py:134 +#: ../dialogs/FBDBlockDialog.py:133 msgid "Execution Control:" msgstr "Contrôle d'exécution :" -#: ../Dialogs.py:130 -#: ../Dialogs.py:516 +#: ../dialogs/FBDBlockDialog.py:129 +#: ../dialogs/FBDVariableDialog.py:132 msgid "Execution Order:" msgstr "Ordre d'exécution :" @@ -1078,24 +1110,24 @@ msgid "Exponentiation" msgstr "Exponentiel" -#: ../Dialogs.py:512 +#: ../dialogs/FBDVariableDialog.py:128 msgid "Expression:" msgstr "Expression :" -#: ../PLCOpenEditor.py:3862 +#: ../VariablePanel.py:64 msgid "External" msgstr "Externe" -#: ../PLCOpenEditor.py:2980 -#: ../PLCOpenEditor.py:3170 -#: ../PLCOpenEditor.py:3180 -#: ../PLCOpenEditor.py:3359 -#: ../PLCOpenEditor.py:3503 +#: ../PLCOpenEditor.py:2975 +#: ../PLCOpenEditor.py:3165 +#: ../PLCOpenEditor.py:3175 +#: ../PLCOpenEditor.py:3354 +#: ../PLCOpenEditor.py:3498 msgid "FBD" msgstr "FBD" -#: ../Viewer.py:394 -#: ../Dialogs.py:1060 +#: ../Viewer.py:428 +#: ../dialogs/LDElementDialog.py:155 msgid "Falling Edge" msgstr "Front descendant" @@ -1107,7 +1139,7 @@ "Détecteur de front descendant\n" "La sortie produit une impulsion unique lorsqu'un front descendant est détecté." -#: ../PLCOpenEditor.py:303 +#: ../PLCOpenEditor.py:304 msgid "File" msgstr "Fichier" @@ -1115,71 +1147,71 @@ msgid "Find position" msgstr "Trouver la position" -#: ../PLCOpenEditor.py:3043 -#: ../PLCOpenEditor.py:3288 -#: ../PLCOpenEditor.py:3451 -#: ../PLCOpenEditor.py:3595 -#: ../Dialogs.py:1803 +#: ../PLCOpenEditor.py:3038 +#: ../PLCOpenEditor.py:3283 +#: ../PLCOpenEditor.py:3446 +#: ../PLCOpenEditor.py:3590 +#: ../dialogs/SFCTransitionDialog.py:209 #, python-format msgid "Form isn't complete. %s must be filled!" msgstr "Le formulaire est incomplet. %s doit être complété !" -#: ../Dialogs.py:245 -#: ../Dialogs.py:882 +#: ../dialogs/ConnectionDialog.py:199 +#: ../dialogs/FBDBlockDialog.py:244 msgid "Form isn't complete. Name must be filled!" msgstr "Le formulaire est incomplet. Le nom doit être complété !" -#: ../Dialogs.py:241 +#: ../dialogs/FBDBlockDialog.py:240 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:390 +#: ../PLCOpenEditor.py:332 msgid "Function" msgstr "Fonction" -#: ../PLCOpenEditor.py:392 -#: ../PLCOpenEditor.py:1813 +#: ../PLCOpenEditor.py:334 +#: ../PLCOpenEditor.py:1605 msgid "Function Block" msgstr "Bloc fonctionnel" -#: ../PLCOpenEditor.py:4508 +#: ../VariablePanel.py:758 msgid "Function Block Types" msgstr "Types de blocs fonctionnels" -#: ../PLCControler.py:82 +#: ../PLCControler.py:89 msgid "Function Blocks" msgstr "Blocs fonctionnels" -#: ../Viewer.py:227 +#: ../Viewer.py:229 msgid "Function Blocks can't be used in Functions!" msgstr "Les blocs fonctionnels ne peuvent être utilisés dans des functions !" -#: ../Viewer.py:229 +#: ../Viewer.py:231 msgid "Function Blocks can't be used in Transitions!" msgstr "Les blocs fonctionnels ne peuvent être utilisés dans des transitions" -#: ../PLCControler.py:1673 +#: ../PLCControler.py:1724 #, 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 !" -#: ../PLCControler.py:82 +#: ../PLCControler.py:89 msgid "Functions" msgstr "Fonctions" -#: ../PLCOpenEditor.py:328 +#: ../PLCOpenEditor.py:2448 msgid "Generate Program\tCTRL+G" msgstr "Générer le program\tCTRL+G" -#: ../PLCOpenEditor.py:3863 +#: ../VariablePanel.py:65 msgid "Global" msgstr "Globale" -#: ../PLCOpenEditor.py:2030 +#: ../PLCOpenEditor.py:1835 msgid "Graphic Panel" msgstr "Graphique" -#: ../PLCOpenEditor.py:2985 +#: ../PLCOpenEditor.py:2980 msgid "Graphics" msgstr "Graphiques" @@ -1191,7 +1223,7 @@ msgid "Greater than or equal to" msgstr "Supérieur ou égal à" -#: ../PLCOpenEditor.py:2964 +#: ../PLCOpenEditor.py:2959 msgid "Height:" msgstr "Hauteur :" @@ -1205,39 +1237,39 @@ "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:3170 -#: ../PLCOpenEditor.py:3180 -#: ../PLCOpenEditor.py:3359 -#: ../PLCOpenEditor.py:3503 +#: ../PLCOpenEditor.py:3165 +#: ../PLCOpenEditor.py:3175 +#: ../PLCOpenEditor.py:3354 +#: ../PLCOpenEditor.py:3498 msgid "IL" msgstr "IL" -#: ../PLCOpenEditor.py:3861 -#: ../Dialogs.py:426 +#: ../VariablePanel.py:63 +#: ../dialogs/FBDVariableDialog.py:42 msgid "InOut" msgstr "Entrée-Sortie" -#: ../PLCOpenEditor.py:4091 +#: ../VariablePanel.py:301 #, python-format msgid "Incompatible data types between \"%s\" and \"%s\"" msgstr "Types de donnée imcompatible entre \"%s\" et \"%s\"" -#: ../PLCOpenEditor.py:4102 +#: ../VariablePanel.py:312 #, python-format msgid "Incompatible size of data between \"%s\" and \"%s\"" msgstr "Taille de donnée incompatible entre \"%s\" et \"%s\"" -#: ../PLCOpenEditor.py:4098 +#: ../VariablePanel.py:308 #, python-format msgid "Incompatible size of data between \"%s\" and \"BOOL\"" msgstr "Taille de donnée incompatible entre \"%s\" et \"BOOL\"" -#: ../Dialogs.py:2105 +#: ../dialogs/ActionBlockDialog.py:33 msgid "Indicator" msgstr "Indicateur" -#: ../PLCOpenEditor.py:3850 -#: ../PLCOpenEditor.py:3851 +#: ../VariablePanel.py:52 +#: ../VariablePanel.py:53 #: ../DataTypeEditor.py:46 msgid "Initial Value" msgstr "Valeur initiale" @@ -1249,19 +1281,20 @@ msgid "Initial Value:" msgstr "Valeur initiale :" -#: ../Dialogs.py:1725 -#: ../Dialogs.py:1793 -#: ../Dialogs.py:2109 +#: ../dialogs/ActionBlockDialog.py:37 +#: ../dialogs/SFCTransitionDialog.py:131 +#: ../dialogs/SFCTransitionDialog.py:199 msgid "Inline" msgstr "Inline" -#: ../PLCOpenEditor.py:3861 -#: ../Dialogs.py:425 -#: ../Dialogs.py:1472 +#: ../VariablePanel.py:63 +#: ../VariablePanel.py:991 +#: ../dialogs/FBDVariableDialog.py:41 +#: ../dialogs/SFCStepDialog.py:122 msgid "Input" msgstr "Entrée" -#: ../Dialogs.py:126 +#: ../dialogs/FBDBlockDialog.py:125 msgid "Inputs:" msgstr "Entrées :" @@ -1269,17 +1302,16 @@ msgid "Insertion (into)" msgstr "Insertion (au milieu)" -#: ../plcopen/plcopen.py:1329 +#: ../plcopen/plcopen.py:1344 #, python-format msgid "Instance with id %d doesn't exist!" msgstr "L'instance dont l'id est %d n'existe pas !" -#: ../PLCOpenEditor.py:561 -#: ../PLCOpenEditor.py:599 +#: ../PLCOpenEditor.py:559 msgid "Instances" msgstr "Instances" -#: ../RessourceEditor.py:394 +#: ../RessourceEditor.py:397 msgid "Instances:" msgstr "Instances :" @@ -1291,42 +1323,42 @@ "Intégrale\n" "Le bloc fonctionnel INTEGRAL intègre les valeurs de l'entrée XIN en fonction du temps." -#: ../PLCOpenEditor.py:3860 +#: ../VariablePanel.py:62 msgid "Interface" msgstr "Interface" -#: ../RessourceEditor.py:79 +#: ../RessourceEditor.py:82 msgid "Interval" msgstr "Interval" -#: ../PLCControler.py:1654 -#: ../PLCControler.py:1688 +#: ../PLCControler.py:1701 +#: ../PLCControler.py:1739 msgid "Invalid plcopen element(s)!!!" msgstr "Les éléments plcopen ne sont pas valides !!! " -#: ../PLCOpenEditor.py:4786 -#: ../PLCOpenEditor.py:4789 +#: ../PLCOpenEditor.py:4013 +#: ../PLCOpenEditor.py:4016 #, python-format msgid "Invalid value \"%s\" for debug variable" msgstr "Chemin de variable à déboguer \"%s\" invalide" -#: ../PLCOpenEditor.py:4079 -#: ../PLCOpenEditor.py:4082 +#: ../VariablePanel.py:289 +#: ../VariablePanel.py:292 #, python-format msgid "Invalid value \"%s\" for location" msgstr "Adresse \"%s\" invalide " -#: ../Viewer.py:211 #: ../Viewer.py:214 +#: ../Viewer.py:217 #, python-format msgid "Invalid value \"%s\" for viewer block" msgstr "Valeur \"%s\" invalide pour un élément graphique" -#: ../PLCOpenEditor.py:2980 -#: ../PLCOpenEditor.py:3170 -#: ../PLCOpenEditor.py:3180 -#: ../PLCOpenEditor.py:3359 -#: ../PLCOpenEditor.py:3503 +#: ../PLCOpenEditor.py:2975 +#: ../PLCOpenEditor.py:3165 +#: ../PLCOpenEditor.py:3175 +#: ../PLCOpenEditor.py:3354 +#: ../PLCOpenEditor.py:3498 msgid "LD" msgstr "LD" @@ -1336,27 +1368,27 @@ 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:3278 -#: ../PLCOpenEditor.py:3441 -#: ../PLCOpenEditor.py:3585 +#: ../PLCOpenEditor.py:3273 +#: ../PLCOpenEditor.py:3436 +#: ../PLCOpenEditor.py:3580 msgid "Language" msgstr "Langue" -#: ../PLCOpenEditor.py:2994 +#: ../PLCOpenEditor.py:2989 msgid "Language (optional):" msgstr "Langue (optionnel) :" -#: ../PLCOpenEditor.py:3246 -#: ../PLCOpenEditor.py:3414 -#: ../PLCOpenEditor.py:3558 +#: ../PLCOpenEditor.py:3241 +#: ../PLCOpenEditor.py:3409 +#: ../PLCOpenEditor.py:3553 msgid "Language:" msgstr "Langue :" -#: ../Viewer.py:358 +#: ../Viewer.py:392 msgid "Left" msgstr "Gauche" -#: ../Dialogs.py:1287 +#: ../dialogs/LDPowerRailDialog.py:118 msgid "Left PowerRail" msgstr "Barre d'alimentation à gauche" @@ -1372,7 +1404,7 @@ msgid "Less than or equal to" msgstr "Inférieur ou égal à" -#: ../PLCOpenEditor.py:640 +#: ../PLCOpenEditor.py:594 msgid "Library" msgstr "Librairie" @@ -1380,14 +1412,18 @@ msgid "Limitation" msgstr "Limitation" -#: ../PLCOpenEditor.py:3862 +#: ../VariablePanel.py:64 msgid "Local" msgstr "Locale" -#: ../PLCOpenEditor.py:3850 +#: ../VariablePanel.py:52 msgid "Location" msgstr "Adresse" +#: ../VariablePanel.py:1052 +msgid "Locations available:" +msgstr "Adresses disponibles :" + #: ../plcopen/iec_std.csv:25 msgid "Logarithm to base 10" msgstr "Logarithme de base 10" @@ -1400,7 +1436,11 @@ msgid "Maximum:" msgstr "Maximum :" -#: ../Viewer.py:367 +#: ../VariablePanel.py:993 +msgid "Memory" +msgstr "Mémoire" + +#: ../Viewer.py:401 msgid "Middle" msgstr "Milieu" @@ -1412,11 +1452,11 @@ msgid "Minimum:" msgstr "Minimum :" -#: ../PLCOpenEditor.py:3009 +#: ../PLCOpenEditor.py:3004 msgid "Miscellaneous" msgstr "Divers" -#: ../Dialogs.py:1022 +#: ../dialogs/LDElementDialog.py:117 msgid "Modifier:" msgstr "Modificateur :" @@ -1444,19 +1484,19 @@ msgid "Multiplication" msgstr "Multiplication" -#: ../PLCOpenEditor.py:3850 -#: ../PLCOpenEditor.py:3851 -#: ../RessourceEditor.py:79 -#: ../RessourceEditor.py:83 +#: ../RessourceEditor.py:82 +#: ../RessourceEditor.py:86 +#: ../VariablePanel.py:52 +#: ../VariablePanel.py:53 #: ../DataTypeEditor.py:46 msgid "Name" msgstr "Nom" -#: ../Dialogs.py:122 -#: ../Dialogs.py:520 -#: ../Dialogs.py:792 -#: ../Dialogs.py:1026 -#: ../Dialogs.py:1455 +#: ../dialogs/ConnectionDialog.py:109 +#: ../dialogs/FBDBlockDialog.py:121 +#: ../dialogs/FBDVariableDialog.py:136 +#: ../dialogs/LDElementDialog.py:121 +#: ../dialogs/SFCStepDialog.py:105 msgid "Name:" msgstr "Nom :" @@ -1464,12 +1504,12 @@ msgid "Natural logarithm" msgstr "Logarithme népérien" -#: ../Viewer.py:390 -#: ../Dialogs.py:1040 +#: ../Viewer.py:424 +#: ../dialogs/LDElementDialog.py:135 msgid "Negated" msgstr "Inversé" -#: ../PLCOpenEditor.py:312 +#: ../PLCOpenEditor.py:2435 msgid "New\tCTRL+N" msgstr "Nouveau\tCTRL+N" @@ -1478,15 +1518,15 @@ msgid "New item" msgstr "Nouvel élément" -#: ../PLCOpenEditor.py:3855 +#: ../VariablePanel.py:57 msgid "No" msgstr "Non" -#: ../Viewer.py:388 +#: ../Viewer.py:422 msgid "No Modifier" msgstr "Pas de modificateur" -#: ../PLCControler.py:2535 +#: ../PLCControler.py:2583 msgid "No PLC project found" msgstr "Pas de projet d'automate trouvé" @@ -1501,7 +1541,7 @@ msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU" msgstr "Pas de connecteur trouvé pour le prolongement \"%s\" dans le POU \"%s\"" -#: ../PLCOpenEditor.py:2608 +#: ../PLCOpenEditor.py:2382 msgid "" "No documentation available.\n" "Coming soon." @@ -1512,7 +1552,7 @@ #: ../PLCGenerator.py:743 #, python-format msgid "No informations found for \"%s\" block" -msgstr "" +msgstr "Aucune information trouvée pour le block \"%s\"" #: ../plcopen/structures.py:139 msgid "No output variable found" @@ -1523,7 +1563,7 @@ msgid "No variable defined in \"%s\" POU" msgstr "Pas de varaibles définies dans le POU \"%s\"" -#: ../Dialogs.py:1034 +#: ../dialogs/LDElementDialog.py:129 msgid "Normal" msgstr "Normal" @@ -1531,7 +1571,7 @@ msgid "Not equal to" msgstr "Non égal à" -#: ../Dialogs.py:2008 +#: ../dialogs/SFCDivergenceDialog.py:135 msgid "Number of sequences:" msgstr "Nombre de branches :" @@ -1551,17 +1591,18 @@ "The on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true." msgstr "" -#: ../PLCOpenEditor.py:314 +#: ../PLCOpenEditor.py:2437 msgid "Open\tCTRL+O" msgstr "Ouvrir\tCTRL+O" -#: ../PLCOpenEditor.py:2936 +#: ../PLCOpenEditor.py:2931 msgid "Organization (optional):" msgstr "Groupe (optionnel) :" -#: ../PLCOpenEditor.py:3861 -#: ../Dialogs.py:427 -#: ../Dialogs.py:1477 +#: ../VariablePanel.py:63 +#: ../VariablePanel.py:992 +#: ../dialogs/FBDVariableDialog.py:43 +#: ../dialogs/SFCStepDialog.py:127 msgid "Output" msgstr "Sortie" @@ -1573,85 +1614,88 @@ "PID\n" "Le bloc fonctionnel PID (Proportionnel, Intégrale, Dérivée) fournit un controller de boucle fermé classique à trois paramètres." -#: ../PLCOpenEditor.py:1033 -#: ../PLCOpenEditor.py:1120 +#: ../PLCOpenEditor.py:2589 +#: ../PLCOpenEditor.py:2648 msgid "PLCOpen files (*.xml)|*.xml|All files|*.*" msgstr "Fichiers PLCOpen (*.xml)|*.xml|Tous les fichiers|*.*" -#: ../PLCOpenEditor.py:487 -#: ../PLCOpenEditor.py:840 +#: ../PLCOpenEditor.py:2521 msgid "PLCOpenEditor" msgstr "PLCOpenEditor" -#: ../PLCOpenEditor.py:440 +#: ../PLCOpenEditor.py:2479 msgid "PLCOpenEditor\tF1" msgstr "PLCOpenEditor\tF1" -#: ../PLCOpenEditor.py:3274 +#: ../PLCOpenEditor.py:3269 msgid "POU Name" msgstr "Nom du POU" -#: ../PLCOpenEditor.py:3229 +#: ../PLCOpenEditor.py:3224 msgid "POU Name:" msgstr "Nom du POU :" -#: ../PLCOpenEditor.py:3276 +#: ../PLCOpenEditor.py:3271 msgid "POU Type" msgstr "Type du POU" -#: ../PLCOpenEditor.py:3237 +#: ../PLCOpenEditor.py:3232 msgid "POU Type:" msgstr "Type du POU :" -#: ../PLCOpenEditor.py:331 +#: ../PLCOpenEditor.py:2451 msgid "Page Setup" msgstr "Mise en page..." -#: ../PLCOpenEditor.py:2952 +#: ../PLCOpenEditor.py:2947 msgid "Page Size (optional):" msgstr "Taille de la page (optionnel) :" -#: ../PLCOpenEditor.py:5002 +#: ../PLCOpenEditor.py:4235 #, python-format msgid "Page: %d" msgstr "Page: %d" -#: ../PLCOpenEditor.py:383 +#: ../PLCOpenEditor.py:1648 +msgid "Paste" +msgstr "Coller" + +#: ../PLCOpenEditor.py:325 msgid "Paste\tCTRL+V" msgstr "Coller\tCTRL+V" -#: ../Dialogs.py:1279 +#: ../dialogs/LDPowerRailDialog.py:110 msgid "Pin number:" msgstr "Nombre de pattes :" -#: ../Viewer.py:1971 -#: ../Viewer.py:2262 +#: ../Viewer.py:1995 +#: ../Viewer.py:2286 #: ../SFCViewer.py:698 msgid "Please choose a target" msgstr "Choisissez une cible" -#: ../PLCOpenEditor.py:2463 +#: ../PLCOpenEditor.py:2240 msgid "Please enter POU name" msgstr "Saisissez le nom du POU" -#: ../Viewer.py:1796 -#: ../Viewer.py:1798 -#: ../Viewer.py:2297 -#: ../Viewer.py:2299 +#: ../Viewer.py:1820 +#: ../Viewer.py:1822 +#: ../Viewer.py:2321 +#: ../Viewer.py:2323 msgid "Please enter comment text" msgstr "Saisissez le texte du commentaire" -#: ../PLCOpenEditor.py:2418 -#: ../PLCOpenEditor.py:3649 +#: ../PLCOpenEditor.py:2208 +#: ../PLCOpenEditor.py:3644 msgid "Please enter configuration name" msgstr "Saisissez le nom de la configuration" -#: ../PLCOpenEditor.py:2361 +#: ../PLCOpenEditor.py:2164 msgid "Please enter data type name" msgstr "Saisissez le nom du type de donnée" -#: ../PLCOpenEditor.py:2433 -#: ../PLCOpenEditor.py:3712 +#: ../PLCOpenEditor.py:2219 +#: ../PLCOpenEditor.py:3707 msgid "Please enter resource name" msgstr "Saisissez le nom de la ressource" @@ -1661,97 +1705,101 @@ msgid "Please enter step name" msgstr "Saisissez le nom de l'étape" -#: ../PLCOpenEditor.py:3120 +#: ../PLCOpenEditor.py:3115 msgid "Please enter text" msgstr "Saisissez le texte" +#: ../VariablePanel.py:1119 +msgid "Plugins" +msgstr "Plugins" + #: ../GraphicViewer.py:117 msgid "Position:" msgstr "Position :" -#: ../Dialogs.py:1271 +#: ../dialogs/LDPowerRailDialog.py:102 msgid "Power Rail Properties" msgstr "Propriétés de la barre d'alimentation" -#: ../PLCOpenEditor.py:333 +#: ../PLCOpenEditor.py:2453 msgid "Preview" msgstr "Aperçu avant impression" -#: ../Dialogs.py:138 -#: ../Dialogs.py:524 -#: ../Dialogs.py:796 -#: ../Dialogs.py:1030 -#: ../Dialogs.py:1283 -#: ../Dialogs.py:1463 -#: ../Dialogs.py:1706 -#: ../Dialogs.py:2017 +#: ../dialogs/ConnectionDialog.py:113 +#: ../dialogs/FBDBlockDialog.py:137 +#: ../dialogs/FBDVariableDialog.py:140 +#: ../dialogs/LDElementDialog.py:125 +#: ../dialogs/LDPowerRailDialog.py:114 +#: ../dialogs/SFCDivergenceDialog.py:144 +#: ../dialogs/SFCStepDialog.py:113 +#: ../dialogs/SFCTransitionDialog.py:112 msgid "Preview:" msgstr "Aperçu :" -#: ../PLCOpenEditor.py:335 +#: ../PLCOpenEditor.py:2455 msgid "Print" msgstr "Imprimer" -#: ../PLCOpenEditor.py:1152 +#: ../PLCOpenEditor.py:932 msgid "Print preview" msgstr "Aperçu avant impression" -#: ../RessourceEditor.py:79 +#: ../RessourceEditor.py:82 msgid "Priority" msgstr "Priorité" -#: ../Dialogs.py:1710 +#: ../dialogs/SFCTransitionDialog.py:116 msgid "Priority:" msgstr "Priorité :" -#: ../PLCOpenEditor.py:2880 +#: ../PLCOpenEditor.py:2875 msgid "Product Name (required):" msgstr "Nom du produit (obligatoire) :" -#: ../PLCOpenEditor.py:2896 +#: ../PLCOpenEditor.py:2891 msgid "Product Release (optional):" msgstr "Publication du produit (optionnel) :" -#: ../PLCOpenEditor.py:2888 +#: ../PLCOpenEditor.py:2883 msgid "Product Version (required):" msgstr "Version du produit (obligatoire) :" -#: ../PLCOpenEditor.py:394 -#: ../PLCOpenEditor.py:1816 +#: ../PLCOpenEditor.py:336 +#: ../PLCOpenEditor.py:1608 msgid "Program" msgstr "Programme" -#: ../PLCOpenEditor.py:1097 +#: ../PLCOpenEditor.py:2626 msgid "Program was successfully generated!" msgstr "Le programme a été généré avec succès !" -#: ../PLCControler.py:83 +#: ../PLCControler.py:90 msgid "Programs" msgstr "Programmes" -#: ../Viewer.py:220 +#: ../Viewer.py:223 msgid "Programs can't be used by other POUs!" msgstr "Les programmes ne peuvent être utilisés par les autres POUs !" -#: ../PLCOpenEditor.py:499 -#: ../PLCOpenEditor.py:2903 +#: ../PLCOpenEditor.py:437 +#: ../PLCOpenEditor.py:2898 msgid "Project" msgstr "Projet" -#: ../PLCOpenEditor.py:2864 +#: ../PLCOpenEditor.py:2859 msgid "Project Name (required):" msgstr "Nom du projet (obligatoire) :" -#: ../PLCOpenEditor.py:2872 +#: ../PLCOpenEditor.py:2867 msgid "Project Version (optional):" msgstr "Version du projet (optionnel) :" -#: ../PLCOpenEditor.py:2850 +#: ../PLCOpenEditor.py:2845 msgid "Project properties" msgstr "Propriétés du projet" -#: ../PLCOpenEditor.py:339 -#: ../PLCControler.py:84 +#: ../PLCOpenEditor.py:2458 +#: ../PLCControler.py:91 msgid "Properties" msgstr "Propriétés" @@ -1761,11 +1809,11 @@ "The pulse timer can be used to generate output pulses of a given time duration." msgstr "" -#: ../Dialogs.py:2105 +#: ../dialogs/ActionBlockDialog.py:33 msgid "Qualifier" msgstr "Qualificatif" -#: ../PLCOpenEditor.py:343 +#: ../PLCOpenEditor.py:2461 msgid "Quit\tCTRL+Q" msgstr "Quitter\tCTRL+Q" @@ -1789,16 +1837,16 @@ msgid "Range:" msgstr "Echelle :" -#: ../PLCOpenEditor.py:374 +#: ../PLCOpenEditor.py:316 msgid "Redo\tCTRL+Y" msgstr "Refaire\tCTRL+Y" -#: ../Dialogs.py:1714 -#: ../Dialogs.py:1791 +#: ../dialogs/SFCTransitionDialog.py:120 +#: ../dialogs/SFCTransitionDialog.py:197 msgid "Reference" msgstr "Référence" -#: ../PLCOpenEditor.py:422 +#: ../PLCOpenEditor.py:364 msgid "Refresh\tF5" msgstr "Actualiser\tF5" @@ -1806,7 +1854,7 @@ msgid "Remainder (modulo)" msgstr "Modulo" -#: ../PLCOpenEditor.py:1820 +#: ../PLCOpenEditor.py:1612 msgid "Rename" msgstr "Renommer" @@ -1814,37 +1862,37 @@ msgid "Replacement (within)" msgstr "Remplacement (au milieu)" -#: ../Dialogs.py:1050 +#: ../dialogs/LDElementDialog.py:145 msgid "Reset" msgstr "Mise à zéro" -#: ../Viewer.py:409 +#: ../Viewer.py:443 msgid "Reset Execution Order" msgstr "Réinitialiser l'order d'exécution" -#: ../PLCControler.py:84 +#: ../PLCControler.py:91 msgid "Resources" msgstr "Ressources" -#: ../PLCOpenEditor.py:3850 -#: ../PLCOpenEditor.py:3851 +#: ../VariablePanel.py:52 +#: ../VariablePanel.py:53 msgid "Retain" msgstr "Persistante" -#: ../PLCOpenEditor.py:4229 +#: ../VariablePanel.py:439 msgid "Return Type:" msgstr "Type de retour :" -#: ../Viewer.py:362 +#: ../Viewer.py:396 msgid "Right" msgstr "Droite" -#: ../Dialogs.py:1293 +#: ../dialogs/LDPowerRailDialog.py:124 msgid "Right PowerRail" msgstr "Barre d'alimentation à droite" -#: ../Viewer.py:392 -#: ../Dialogs.py:1055 +#: ../Viewer.py:426 +#: ../dialogs/LDElementDialog.py:150 msgid "Rising Edge" msgstr "Front montant" @@ -1868,8 +1916,8 @@ msgid "Rounding up/down" msgstr "Arrondi" -#: ../PLCOpenEditor.py:2980 -#: ../PLCOpenEditor.py:3180 +#: ../PLCOpenEditor.py:2975 +#: ../PLCOpenEditor.py:3175 msgid "SFC" msgstr "SFC" @@ -1881,39 +1929,39 @@ "Bascule SR\n" "La bascule SR est une bascule où le Set est dominant." -#: ../PLCOpenEditor.py:3170 -#: ../PLCOpenEditor.py:3180 -#: ../PLCOpenEditor.py:3359 -#: ../PLCOpenEditor.py:3503 +#: ../PLCOpenEditor.py:3165 +#: ../PLCOpenEditor.py:3175 +#: ../PLCOpenEditor.py:3354 +#: ../PLCOpenEditor.py:3498 msgid "ST" msgstr "ST" -#: ../PLCOpenEditor.py:1084 +#: ../PLCOpenEditor.py:2613 msgid "ST files (*.st)|*.st|All files|*.*" msgstr "Fichiers ST (*.st)|*.st|Tous les fichiers|*.*" -#: ../PLCOpenEditor.py:323 +#: ../PLCOpenEditor.py:2444 msgid "Save\tCTRL+S" msgstr "Enregistrer\tCTRL+S" -#: ../PLCOpenEditor.py:326 +#: ../PLCOpenEditor.py:2446 msgid "Save As...\tCTRL+SHIFT+S" msgstr "Enregistrer sous...\tCTRL+SHIFT+S" -#: ../PLCOpenEditor.py:2972 +#: ../PLCOpenEditor.py:2967 msgid "Scaling:" msgstr "Echelle :" -#: ../PLCOpenEditor.py:398 +#: ../PLCOpenEditor.py:340 msgid "Select All\tCTRL+A" msgstr "Tout sélectionner\tCTRL+A" -#: ../PLCOpenEditor.py:4104 +#: ../VariablePanel.py:314 msgid "Select a variable class:" msgstr "Sélectionner une direction pour la variable :" -#: ../PLCOpenEditor.py:606 -#: ../PLCOpenEditor.py:618 +#: ../PLCOpenEditor.py:570 +#: ../PLCOpenEditor.py:582 msgid "Select an object" msgstr "Sélectionner un objet" @@ -1921,11 +1969,11 @@ msgid "Selection" msgstr "Sélection" -#: ../Dialogs.py:1990 +#: ../dialogs/SFCDivergenceDialog.py:117 msgid "Selection Convergence" msgstr "Convergence simple" -#: ../Dialogs.py:1984 +#: ../dialogs/SFCDivergenceDialog.py:111 msgid "Selection Divergence" msgstr "Divergence simple" @@ -1937,7 +1985,7 @@ "Sémaphore\n" "La sémaphore fournit un mécanisme permettant à des éléments du programme d'accéder de façon exclusive à certaines resources." -#: ../Dialogs.py:1045 +#: ../dialogs/LDElementDialog.py:140 msgid "Set" msgstr "Mise à 1" @@ -1949,11 +1997,11 @@ msgid "Shift right" msgstr "Décalage à droite" -#: ../Dialogs.py:2002 +#: ../dialogs/SFCDivergenceDialog.py:129 msgid "Simultaneous Convergence" msgstr "Convergence double" -#: ../Dialogs.py:1996 +#: ../dialogs/SFCDivergenceDialog.py:123 msgid "Simultaneous Divergence" msgstr "Divergence double" @@ -1961,7 +2009,7 @@ msgid "Sine" msgstr "Sinus" -#: ../RessourceEditor.py:79 +#: ../RessourceEditor.py:82 msgid "Single" msgstr "Evènement" @@ -1989,15 +2037,15 @@ msgid "Tangent" msgstr "Tangente" -#: ../RessourceEditor.py:83 +#: ../RessourceEditor.py:86 msgid "Task" msgstr "Tâche" -#: ../RessourceEditor.py:358 +#: ../RessourceEditor.py:361 msgid "Tasks:" msgstr "Tâches :" -#: ../PLCOpenEditor.py:3863 +#: ../VariablePanel.py:65 msgid "Temp" msgstr "Temporaire" @@ -2005,11 +2053,17 @@ msgid "The group of block must be coherent!" msgstr "Le groupe de blocs doit être cohérent !" -#: ../PLCOpenEditor.py:963 +#: ../PLCOpenEditor.py:873 msgid "There are changes, do you want to save?" msgstr "Le projet a été modifié. Voulez-vous l'enregistrer ?" -#: ../PLCOpenEditor.py:1171 +#: ../PLCOpenEditor.py:1408 +#: ../PLCOpenEditor.py:1428 +#, 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:951 msgid "" "There was a problem printing.\n" "Perhaps your current printer is not set correctly?" @@ -2021,7 +2075,7 @@ msgid "This option isn't available yet!" msgstr "Cette option n'a pas encore disponible" -#: ../GraphicViewer.py:181 +#: ../GraphicViewer.py:180 msgid "Tick" msgstr "Tick" @@ -2054,19 +2108,19 @@ msgid "Time-of-day subtraction" msgstr "Soustraction d'horodatage" -#: ../PLCOpenEditor.py:610 +#: ../PLCOpenEditor.py:574 msgid "Toolbar" msgstr "Barre d'outils" -#: ../Viewer.py:365 +#: ../Viewer.py:399 msgid "Top" msgstr "Haut" -#: ../PLCOpenEditor.py:3439 +#: ../PLCOpenEditor.py:3434 msgid "Transition Name" msgstr "Nom de la transition" -#: ../PLCOpenEditor.py:3406 +#: ../PLCOpenEditor.py:3401 msgid "Transition Name:" msgstr "Nom de la transition :" @@ -2080,19 +2134,19 @@ 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:1035 +#: ../plcopen/plcopen.py:1050 #, python-format msgid "Transition with name %s doesn't exist!" msgstr "La transition nommée %s n'existe pas !" -#: ../PLCControler.py:83 +#: ../PLCControler.py:90 msgid "Transitions" msgstr "Transitions" -#: ../PLCOpenEditor.py:3850 -#: ../PLCOpenEditor.py:3851 -#: ../RessourceEditor.py:83 -#: ../Dialogs.py:2105 +#: ../RessourceEditor.py:86 +#: ../VariablePanel.py:52 +#: ../VariablePanel.py:53 +#: ../dialogs/ActionBlockDialog.py:33 #: ../DataTypeEditor.py:46 msgid "Type" msgstr "Type" @@ -2105,16 +2159,15 @@ msgid "Type infos:" msgstr "Propriétés du type :" -#: ../Dialogs.py:118 -#: ../Dialogs.py:788 -#: ../Dialogs.py:1275 -#: ../Dialogs.py:1702 -#: ../Dialogs.py:1980 +#: ../dialogs/ConnectionDialog.py:105 +#: ../dialogs/FBDBlockDialog.py:117 +#: ../dialogs/LDPowerRailDialog.py:106 +#: ../dialogs/SFCDivergenceDialog.py:107 +#: ../dialogs/SFCTransitionDialog.py:108 msgid "Type:" msgstr "Type :" -#: ../PLCOpenEditor.py:562 -#: ../PLCOpenEditor.py:598 +#: ../PLCOpenEditor.py:540 msgid "Types" msgstr "Types" @@ -2123,21 +2176,21 @@ msgid "Undefined pou type \"%s\"" msgstr "Type de POU \"%s\" indéterminé !" -#: ../PLCOpenEditor.py:372 +#: ../PLCOpenEditor.py:314 msgid "Undo\tCTRL+Z" msgstr "Défaire\tCTRL+Z" -#: ../Viewer.py:286 +#: ../Viewer.py:320 #, python-format msgid "Unknown variable \"%s\" for this POU!" msgstr "Variable \"%s\" inconnue dans ce POU !" -#: ../PLCControler.py:293 +#: ../PLCControler.py:300 #, python-format msgid "Unnamed%d" msgstr "Sansnom%d" -#: ../PLCOpenEditor.py:4100 +#: ../VariablePanel.py:310 #, python-format msgid "Unrecognized data size \"%s\"" msgstr "Taille de donnée \"%s\" non identifié !" @@ -2158,21 +2211,21 @@ "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." -#: ../PLCOpenEditor.py:4499 -#: ../DataTypeEditor.py:804 +#: ../VariablePanel.py:742 +#: ../DataTypeEditor.py:807 msgid "User Data Types" msgstr "Types de donnée du projet" -#: ../PLCControler.py:82 +#: ../PLCControler.py:89 msgid "User-defined POUs" msgstr "POUs du projet" -#: ../PLCOpenEditor.py:4616 -#: ../Dialogs.py:2105 +#: ../PLCOpenEditor.py:3843 +#: ../dialogs/ActionBlockDialog.py:33 msgid "Value" msgstr "Valeur" -#: ../GraphicViewer.py:181 +#: ../GraphicViewer.py:180 msgid "Values" msgstr "Valeurs" @@ -2180,50 +2233,49 @@ msgid "Values:" msgstr "Valeurs" -#: ../PLCOpenEditor.py:4616 -#: ../Dialogs.py:2109 +#: ../PLCOpenEditor.py:3843 +#: ../dialogs/ActionBlockDialog.py:37 msgid "Variable" msgstr "Variable" -#: ../Dialogs.py:504 +#: ../dialogs/FBDVariableDialog.py:120 msgid "Variable Properties" msgstr "Propriétés de la variable" -#: ../PLCOpenEditor.py:4104 +#: ../VariablePanel.py:314 msgid "Variable class" msgstr "Direction de la variable" -#: ../Viewer.py:288 -#: ../TextViewer.py:224 +#: ../Viewer.py:322 +#: ../TextViewer.py:248 msgid "Variable don't belong to this POU!" msgstr "La variable n'appartient pas à ce POU !" -#: ../PLCOpenEditor.py:575 -#: ../PLCOpenEditor.py:626 -#: ../PLCOpenEditor.py:3862 +#: ../PLCOpenEditor.py:589 +#: ../VariablePanel.py:64 msgid "Variables" msgstr "Variables" -#: ../PLCOpenEditor.py:3304 -#: ../PLCOpenEditor.py:3682 -#: ../PLCOpenEditor.py:3745 +#: ../PLCOpenEditor.py:3299 +#: ../PLCOpenEditor.py:3677 +#: ../PLCOpenEditor.py:3740 #: ../LDViewer.py:859 msgid "Warning" msgstr "Attention" -#: ../PLCOpenEditor.py:2956 +#: ../PLCOpenEditor.py:2951 msgid "Width:" msgstr "Longueur :" -#: ../PLCOpenEditor.py:2699 +#: ../PLCOpenEditor.py:2694 msgid "X Scale:" msgstr "Echelle X :" -#: ../PLCOpenEditor.py:2707 +#: ../PLCOpenEditor.py:2702 msgid "Y Scale:" msgstr "Echelle Y :" -#: ../PLCOpenEditor.py:3855 +#: ../VariablePanel.py:57 msgid "Yes" msgstr "Oui" @@ -2235,46 +2287,46 @@ 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:3135 -#: ../PLCOpenEditor.py:3666 -#: ../PLCOpenEditor.py:3729 -#: ../Dialogs.py:1525 -#: ../Dialogs.py:2508 -#: ../Dialogs.py:2575 +#: ../PLCOpenEditor.py:3130 +#: ../PLCOpenEditor.py:3661 +#: ../PLCOpenEditor.py:3724 +#: ../dialogs/PouNameDialog.py:55 +#: ../dialogs/SFCStepDialog.py:175 +#: ../dialogs/SFCStepNameDialog.py:57 msgid "You must type a name!" msgstr "Vous devez saisir un nom !" -#: ../PLCOpenEditor.py:428 +#: ../PLCOpenEditor.py:370 msgid "Zoom" msgstr "Zoom" -#: ../PLCOpenEditor.py:1093 +#: ../PLCOpenEditor.py:2622 #, python-format msgid "error: %s\n" msgstr "erreur: %s\n" -#: ../PLCOpenEditor.py:5034 -#: ../PLCOpenEditor.py:5036 +#: ../PLCOpenEditor.py:4267 +#: ../PLCOpenEditor.py:4269 msgid "file : " msgstr "fichier :" -#: ../PLCOpenEditor.py:3175 +#: ../PLCOpenEditor.py:3170 msgid "function" msgstr "fonction" -#: ../PLCOpenEditor.py:5037 +#: ../PLCOpenEditor.py:4270 msgid "function : " msgstr "fonction :" -#: ../PLCOpenEditor.py:3175 +#: ../PLCOpenEditor.py:3170 msgid "functionBlock" msgstr "Bloc fonctionnel" -#: ../PLCOpenEditor.py:5037 +#: ../PLCOpenEditor.py:4270 msgid "line : " msgstr "ligne :" -#: ../PLCOpenEditor.py:3175 +#: ../PLCOpenEditor.py:3170 msgid "program" msgstr "programme" @@ -2290,17 +2342,20 @@ msgid "string right of" msgstr "Caractères à droite de" -#: ../PLCOpenEditor.py:1091 +#: ../PLCOpenEditor.py:2620 #, python-format msgid "warning: %s\n" msgstr "attention: %s\n" +#, 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 "A pou with \"%s\" for name exists!" -#~ msgstr "Un POU nommé \"%s\" existe déjà !" #~ msgid "Create A New POU From" #~ msgstr "Créer un nouveau POU à partir de" diff -r 755af2768962 -r 0dd1a5f2a7a1 i18n/app.fil --- a/i18n/app.fil Fri Oct 09 15:38:11 2009 +0200 +++ b/i18n/app.fil Fri Oct 09 17:34:18 2009 +0200 @@ -7,6 +7,7 @@ ../SFCViewer.py ../LDViewer.py ../GraphicViewer.py +../VariablePanel.py ../dialogs/ActionBlockDialog.py ../dialogs/ConnectionDialog.py ../dialogs/FBDBlockDialog.py @@ -18,7 +19,6 @@ ../dialogs/SFCStepDialog.py ../dialogs/SFCStepNameDialog.py ../dialogs/SFCTransitionDialog.py -../Dialogs.py ../DataTypeEditor.py ../plcopen/iec_std.csv ../plcopen/plcopen.py diff -r 755af2768962 -r 0dd1a5f2a7a1 i18n/messages.pot --- a/i18n/messages.pot Fri Oct 09 15:38:11 2009 +0200 +++ b/i18n/messages.pot Fri Oct 09 17:34:18 2009 +0200 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-26 19:19+0200\n" +"POT-Creation-Date: 2009-10-09 17:24+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,7 +16,7 @@ "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: ../PLCOpenEditor.py:5046 +#: ../PLCOpenEditor.py:4279 msgid "" "\n" "An error has occurred.\n" @@ -31,40 +31,36 @@ "Error:\n" msgstr "" -#: ../PLCOpenEditor.py:3862 +#: ../VariablePanel.py:64 msgid " External" msgstr "" -#: ../PLCOpenEditor.py:3861 +#: ../VariablePanel.py:63 msgid " InOut" msgstr "" -#: ../PLCOpenEditor.py:3861 +#: ../VariablePanel.py:63 msgid " Input" msgstr "" -#: ../PLCOpenEditor.py:3862 +#: ../VariablePanel.py:64 msgid " Local" msgstr "" -#: ../PLCOpenEditor.py:3861 +#: ../VariablePanel.py:63 msgid " Output" msgstr "" -#: ../PLCOpenEditor.py:3863 +#: ../VariablePanel.py:65 msgid " Temp" msgstr "" -#: ../PLCOpenEditor.py:842 -msgid " (Debug)" -msgstr "" - -#: ../PLCOpenEditor.py:5058 +#: ../PLCOpenEditor.py:4291 msgid " : " msgstr "" -#: ../PLCOpenEditor.py:3285 ../PLCOpenEditor.py:3448 ../PLCOpenEditor.py:3592 -#: ../Dialogs.py:1800 +#: ../PLCOpenEditor.py:3280 ../PLCOpenEditor.py:3443 ../PLCOpenEditor.py:3587 +#: ../dialogs/SFCTransitionDialog.py:206 #, python-format msgid " and %s" msgstr "" @@ -84,12 +80,12 @@ msgid "\"%s\" POU doesn't exist !!!" msgstr "" -#: ../Viewer.py:225 +#: ../Viewer.py:227 #, python-format msgid "\"%s\" can't use itself!" msgstr "" -#: ../PLCOpenEditor.py:1619 ../PLCOpenEditor.py:1639 +#: ../PLCOpenEditor.py:1405 ../PLCOpenEditor.py:1425 #, python-format msgid "\"%s\" config already exists!" msgstr "" @@ -99,18 +95,19 @@ msgid "\"%s\" configuration already exists !!!" msgstr "" -#: ../PLCOpenEditor.py:1573 ../PLCOpenEditor.py:3147 +#: ../PLCOpenEditor.py:1359 ../PLCOpenEditor.py:3142 #, python-format msgid "\"%s\" data type already exists!" msgstr "" -#: ../PLCControler.py:1663 +#: ../PLCControler.py:1709 ../PLCControler.py:1713 #, python-format msgid "\"%s\" element can't be pasted here!!!" msgstr "" -#: ../PLCOpenEditor.py:3467 ../PLCOpenEditor.py:3611 ../Viewer.py:248 -#: ../Dialogs.py:261 ../Dialogs.py:898 +#: ../PLCOpenEditor.py:3462 ../PLCOpenEditor.py:3606 ../Viewer.py:250 +#: ../TextViewer.py:231 ../dialogs/ConnectionDialog.py:215 +#: ../dialogs/FBDBlockDialog.py:260 #, python-format msgid "\"%s\" element for this pou already exists!" msgstr "" @@ -120,46 +117,50 @@ msgid "\"%s\" function cancelled in \"%s\" POU: No input connected" msgstr "" -#: ../PLCOpenEditor.py:1564 ../PLCOpenEditor.py:3143 ../PLCOpenEditor.py:3296 -#: ../PLCOpenEditor.py:3459 ../PLCOpenEditor.py:3603 ../PLCOpenEditor.py:3674 -#: ../PLCOpenEditor.py:3737 ../PLCOpenEditor.py:4451 ../Dialogs.py:253 -#: ../Dialogs.py:652 ../Dialogs.py:890 ../Dialogs.py:1533 ../Dialogs.py:2516 -#: ../Dialogs.py:2583 ../DataTypeEditor.py:702 ../DataTypeEditor.py:762 +#: ../PLCOpenEditor.py:1350 ../PLCOpenEditor.py:3138 ../PLCOpenEditor.py:3291 +#: ../PLCOpenEditor.py:3454 ../PLCOpenEditor.py:3598 ../PLCOpenEditor.py:3669 +#: ../PLCOpenEditor.py:3732 ../VariablePanel.py:689 +#: ../dialogs/ConnectionDialog.py:207 ../dialogs/FBDBlockDialog.py:252 +#: ../dialogs/FBDVariableDialog.py:268 ../dialogs/PouNameDialog.py:63 +#: ../dialogs/SFCStepDialog.py:183 ../dialogs/SFCStepNameDialog.py:65 +#: ../DataTypeEditor.py:705 ../DataTypeEditor.py:765 #, python-format msgid "\"%s\" is a keyword. It can't be used!" msgstr "" -#: ../Viewer.py:231 +#: ../Viewer.py:233 #, python-format msgid "\"%s\" is already used by \"%s\"!" msgstr "" -#: ../plcopen/plcopen.py:2120 +#: ../plcopen/plcopen.py:2135 #, python-format msgid "\"%s\" is an invalid value!" msgstr "" -#: ../PLCOpenEditor.py:1099 ../PLCOpenEditor.py:1128 +#: ../PLCOpenEditor.py:2628 ../PLCOpenEditor.py:2656 #, python-format msgid "\"%s\" is not a valid folder!" msgstr "" -#: ../PLCOpenEditor.py:1562 ../PLCOpenEditor.py:3139 ../PLCOpenEditor.py:3292 -#: ../PLCOpenEditor.py:3455 ../PLCOpenEditor.py:3599 ../PLCOpenEditor.py:3670 -#: ../PLCOpenEditor.py:3733 ../PLCOpenEditor.py:4446 ../Dialogs.py:249 -#: ../Dialogs.py:886 ../Dialogs.py:1529 ../Dialogs.py:2512 ../Dialogs.py:2579 -#: ../DataTypeEditor.py:757 +#: ../PLCOpenEditor.py:1348 ../PLCOpenEditor.py:3134 ../PLCOpenEditor.py:3287 +#: ../PLCOpenEditor.py:3450 ../PLCOpenEditor.py:3594 ../PLCOpenEditor.py:3665 +#: ../PLCOpenEditor.py:3728 ../VariablePanel.py:684 +#: ../dialogs/ConnectionDialog.py:203 ../dialogs/FBDBlockDialog.py:248 +#: ../dialogs/PouNameDialog.py:59 ../dialogs/SFCStepDialog.py:179 +#: ../dialogs/SFCStepNameDialog.py:61 ../DataTypeEditor.py:760 #, python-format msgid "\"%s\" is not a valid identifier!" msgstr "" -#: ../PLCOpenEditor.py:283 ../PLCOpenEditor.py:2493 ../PLCOpenEditor.py:2522 +#: ../PLCOpenEditor.py:283 ../PLCOpenEditor.py:2293 ../PLCOpenEditor.py:2313 #, python-format msgid "\"%s\" is used by one or more POUs. It can't be removed!" msgstr "" -#: ../PLCOpenEditor.py:1582 ../PLCOpenEditor.py:3300 ../Viewer.py:246 -#: ../Dialogs.py:257 ../Dialogs.py:894 +#: ../PLCOpenEditor.py:1368 ../PLCOpenEditor.py:3295 ../Viewer.py:248 +#: ../Viewer.py:274 ../TextViewer.py:229 ../dialogs/ConnectionDialog.py:211 +#: ../dialogs/FBDBlockDialog.py:256 #, python-format msgid "\"%s\" pou already exists!" msgstr "" @@ -174,94 +175,93 @@ msgid "\"%s\" resource doesn't exist in \"%s\" configuration !!!" msgstr "" -#: ../Dialogs.py:1545 ../Dialogs.py:2528 +#: ../dialogs/SFCStepDialog.py:195 ../dialogs/SFCStepNameDialog.py:77 #, python-format msgid "\"%s\" step already exists!" msgstr "" -#: ../DataTypeEditor.py:697 +#: ../DataTypeEditor.py:700 #, python-format msgid "\"%s\" value already defined!" msgstr "" -#: ../DataTypeEditor.py:899 +#: ../DataTypeEditor.py:901 #, python-format msgid "\"%s\" value isn't a valid array dimension!" msgstr "" -#: ../DataTypeEditor.py:906 +#: ../DataTypeEditor.py:908 #, python-format msgid "" "\"%s\" value isn't a valid array dimension!\n" "Right value must be greater than left value." msgstr "" -#: ../GraphicViewer.py:181 +#: ../PLCControler.py:631 +#, python-format +msgid "%s \"%s\" can't be pasted as a %s." +msgstr "" + +#: ../GraphicViewer.py:180 #, python-format msgid "%s Graphics" msgstr "" -#: ../plcopen/plcopen.py:1276 ../plcopen/plcopen.py:1286 -#: ../plcopen/plcopen.py:1296 ../plcopen/plcopen.py:1306 -#: ../plcopen/plcopen.py:1315 +#: ../plcopen/plcopen.py:1291 ../plcopen/plcopen.py:1301 +#: ../plcopen/plcopen.py:1311 ../plcopen/plcopen.py:1321 +#: ../plcopen/plcopen.py:1330 #, python-format msgid "%s body don't have instances!" msgstr "" -#: ../plcopen/plcopen.py:1338 ../plcopen/plcopen.py:1345 +#: ../plcopen/plcopen.py:1353 ../plcopen/plcopen.py:1360 #, python-format msgid "%s body don't have text!" msgstr "" -#: ../PLCOpenEditor.py:5034 ../PLCOpenEditor.py:5036 ../PLCOpenEditor.py:5037 +#: ../PLCOpenEditor.py:4267 ../PLCOpenEditor.py:4269 ../PLCOpenEditor.py:4270 msgid ", " msgstr "" -#: ../PLCOpenEditor.py:3287 ../PLCOpenEditor.py:3450 ../PLCOpenEditor.py:3594 -#: ../Dialogs.py:1802 +#: ../PLCOpenEditor.py:3282 ../PLCOpenEditor.py:3445 ../PLCOpenEditor.py:3589 +#: ../dialogs/SFCTransitionDialog.py:208 #, python-format msgid ", %s" msgstr "" -#: ../PLCOpenEditor.py:5032 +#: ../PLCOpenEditor.py:4265 msgid ". " msgstr "" -#: ../DataTypeEditor.py:772 -#, python-format -msgid "A element named \"%s\" already exists in this structure!" -msgstr "" - -#: ../PLCOpenEditor.py:1585 ../PLCOpenEditor.py:1627 ../PLCOpenEditor.py:1647 -#: ../PLCOpenEditor.py:3304 ../PLCOpenEditor.py:3682 ../PLCOpenEditor.py:3745 +#: ../PLCOpenEditor.py:1371 ../PLCOpenEditor.py:1413 ../PLCOpenEditor.py:1433 +#: ../PLCOpenEditor.py:3299 ../PLCOpenEditor.py:3677 ../PLCOpenEditor.py:3740 #, python-format msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?" msgstr "" -#: ../PLCOpenEditor.py:1622 ../PLCOpenEditor.py:1642 -#, python-format -msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?" -msgstr "" - -#: ../PLCOpenEditor.py:1598 ../PLCOpenEditor.py:1609 ../PLCOpenEditor.py:3463 -#: ../PLCOpenEditor.py:3607 ../PLCOpenEditor.py:3678 ../PLCOpenEditor.py:3741 -#: ../PLCOpenEditor.py:4456 ../Dialogs.py:1537 ../Dialogs.py:2520 -#: ../Dialogs.py:2587 +#: ../PLCOpenEditor.py:1384 ../PLCOpenEditor.py:1395 ../PLCOpenEditor.py:3458 +#: ../PLCOpenEditor.py:3602 ../PLCOpenEditor.py:3673 ../PLCOpenEditor.py:3736 +#: ../VariablePanel.py:694 ../dialogs/PouNameDialog.py:67 +#: ../dialogs/SFCStepDialog.py:187 ../dialogs/SFCStepNameDialog.py:69 #, python-format msgid "A POU named \"%s\" already exists!" msgstr "" -#: ../PLCOpenEditor.py:1600 ../PLCOpenEditor.py:1611 ../PLCOpenEditor.py:4461 -#: ../Dialogs.py:1541 ../Dialogs.py:2524 +#: ../VariablePanel.py:1173 +msgid "A location must be selected!" +msgstr "" + +#: ../PLCOpenEditor.py:1386 ../PLCOpenEditor.py:1397 ../VariablePanel.py:699 +#: ../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:447 +#: ../PLCOpenEditor.py:2485 msgid "About" msgstr "" -#: ../PLCOpenEditor.py:2616 +#: ../PLCOpenEditor.py:2388 msgid "About PLCOpenEditor" msgstr "" @@ -269,80 +269,81 @@ msgid "Absolute number" msgstr "" -#: ../Dialogs.py:1482 ../Dialogs.py:2109 +#: ../dialogs/ActionBlockDialog.py:37 ../dialogs/SFCStepDialog.py:132 msgid "Action" msgstr "" -#: ../PLCOpenEditor.py:3583 +#: ../PLCOpenEditor.py:3578 msgid "Action Name" msgstr "" -#: ../PLCOpenEditor.py:3550 +#: ../PLCOpenEditor.py:3545 msgid "Action Name:" msgstr "" -#: ../plcopen/plcopen.py:1073 +#: ../plcopen/plcopen.py:1088 #, python-format msgid "Action with name %s doesn't exist!" msgstr "" -#: ../PLCControler.py:83 +#: ../PLCControler.py:90 msgid "Actions" msgstr "" -#: ../Dialogs.py:2332 +#: ../dialogs/ActionBlockDialog.py:260 msgid "Actions:" msgstr "" -#: ../PLCOpenEditor.py:4246 ../Dialogs.py:2346 ../DataTypeEditor.py:539 +#: ../VariablePanel.py:456 ../dialogs/ActionBlockDialog.py:274 +#: ../DataTypeEditor.py:539 msgid "Add" msgstr "" -#: ../PLCOpenEditor.py:1802 ../PLCOpenEditor.py:1875 +#: ../PLCOpenEditor.py:1589 ../PLCOpenEditor.py:1675 msgid "Add Action" msgstr "" -#: ../PLCOpenEditor.py:1858 +#: ../PLCOpenEditor.py:1658 msgid "Add Configuration" msgstr "" -#: ../PLCOpenEditor.py:1846 +#: ../PLCOpenEditor.py:1638 msgid "Add DataType" msgstr "" -#: ../Viewer.py:402 +#: ../Viewer.py:436 msgid "Add Divergence Branch" msgstr "" -#: ../PLCOpenEditor.py:386 +#: ../PLCOpenEditor.py:328 msgid "Add Element" msgstr "" -#: ../RessourceEditor.py:409 +#: ../RessourceEditor.py:412 msgid "Add Instance" msgstr "" -#: ../PLCOpenEditor.py:1852 +#: ../PLCOpenEditor.py:1645 msgid "Add Pou" msgstr "" -#: ../PLCOpenEditor.py:1829 ../PLCOpenEditor.py:1886 +#: ../PLCOpenEditor.py:1621 ../PLCOpenEditor.py:1686 msgid "Add Resource" msgstr "" -#: ../RessourceEditor.py:373 +#: ../RessourceEditor.py:376 msgid "Add Task" msgstr "" -#: ../PLCOpenEditor.py:1799 ../PLCOpenEditor.py:1864 +#: ../PLCOpenEditor.py:1586 ../PLCOpenEditor.py:1664 msgid "Add Transition" msgstr "" -#: ../Viewer.py:397 +#: ../Viewer.py:431 msgid "Add Wire Segment" msgstr "" -#: ../PLCOpenEditor.py:2361 +#: ../PLCOpenEditor.py:2164 msgid "Add a new data type" msgstr "" @@ -350,7 +351,7 @@ msgid "Add a new initial step" msgstr "" -#: ../Viewer.py:1971 ../SFCViewer.py:698 +#: ../Viewer.py:1995 ../SFCViewer.py:698 msgid "Add a new jump" msgstr "" @@ -358,11 +359,11 @@ msgid "Add a new step" msgstr "" -#: ../PLCOpenEditor.py:2418 +#: ../PLCOpenEditor.py:2208 msgid "Add new configuration" msgstr "" -#: ../PLCOpenEditor.py:2433 +#: ../PLCOpenEditor.py:2219 msgid "Add new resource" msgstr "" @@ -374,14 +375,19 @@ msgid "Additional function blocks" msgstr "" -#: ../Viewer.py:411 +#: ../Viewer.py:445 msgid "Alignment" msgstr "" -#: ../PLCOpenEditor.py:3860 +#: ../VariablePanel.py:62 ../VariablePanel.py:990 ../VariablePanel.py:1107 msgid "All" msgstr "" +#: ../DataTypeEditor.py:775 +#, python-format +msgid "An element named \"%s\" already exists in this structure!" +msgstr "" + #: ../plcopen/iec_std.csv:31 msgid "Arc cosine" msgstr "" @@ -406,15 +412,15 @@ msgid "Assignment" msgstr "" -#: ../Dialogs.py:648 +#: ../dialogs/FBDVariableDialog.py:264 msgid "At least a variable or an expression must be selected!" msgstr "" -#: ../PLCOpenEditor.py:2943 +#: ../PLCOpenEditor.py:2938 msgid "Author" msgstr "" -#: ../PLCOpenEditor.py:2928 +#: ../PLCOpenEditor.py:2923 msgid "Author Name (optional):" msgstr "" @@ -422,7 +428,7 @@ msgid "Base Type:" msgstr "" -#: ../PLCOpenEditor.py:4493 ../DataTypeEditor.py:798 +#: ../VariablePanel.py:732 ../DataTypeEditor.py:801 msgid "Base Types" msgstr "" @@ -454,50 +460,54 @@ msgid "Bitwise inverting" msgstr "" -#: ../Dialogs.py:114 +#: ../dialogs/FBDBlockDialog.py:113 msgid "Block Properties" msgstr "" -#: ../PLCOpenEditor.py:2079 ../Dialogs.py:269 +#: ../PLCOpenEditor.py:1883 ../dialogs/FBDBlockDialog.py:268 msgid "Block Types" msgstr "" -#: ../Viewer.py:369 +#: ../Viewer.py:403 msgid "Bottom" msgstr "" -#: ../PLCOpenEditor.py:2033 +#: ../VariablePanel.py:1049 +msgid "Browse Locations" +msgstr "" + +#: ../PLCOpenEditor.py:1838 msgid "CSV Log" msgstr "" -#: ../PLCOpenEditor.py:4074 +#: ../plcopen/plcopen.py:1233 ../plcopen/plcopen.py:1247 +#: ../plcopen/plcopen.py:1268 ../plcopen/plcopen.py:1284 +msgid "Can only generate execution order on FBD networks!" +msgstr "" + +#: ../VariablePanel.py:284 msgid "Can only give a location to local or global variables" msgstr "" -#: ../plcopen/plcopen.py:1218 ../plcopen/plcopen.py:1232 -#: ../plcopen/plcopen.py:1253 ../plcopen/plcopen.py:1269 -msgid "Can only generate execution order on FBD networks!" -msgstr "" - -#: ../PLCOpenEditor.py:4072 +#: ../PLCOpenEditor.py:2623 +#, python-format +msgid "Can't generate program to file %s!" +msgstr "" + +#: ../VariablePanel.py:282 msgid "Can't give a location to a function block instance" msgstr "" -#: ../PLCOpenEditor.py:1094 -#, python-format -msgid "Can't generate program to file %s!" -msgstr "" - -#: ../PLCOpenEditor.py:1126 +#: ../PLCOpenEditor.py:2654 #, python-format msgid "Can't save project to file %s!" msgstr "" -#: ../Viewer.py:360 +#: ../Viewer.py:394 msgid "Center" msgstr "" -#: ../PLCOpenEditor.py:1818 +#: ../PLCOpenEditor.py:1610 msgid "Change POU Type To" msgstr "" @@ -505,43 +515,39 @@ msgid "Character string" msgstr "" -#: ../PLCOpenEditor.py:1033 ../PLCOpenEditor.py:1084 ../PLCOpenEditor.py:1120 +#: ../PLCOpenEditor.py:2589 ../PLCOpenEditor.py:2613 ../PLCOpenEditor.py:2648 msgid "Choose a file" msgstr "" -#: ../PLCOpenEditor.py:3850 ../PLCOpenEditor.py:3851 +#: ../VariablePanel.py:52 ../VariablePanel.py:53 msgid "Class" msgstr "" -#: ../PLCOpenEditor.py:4238 +#: ../VariablePanel.py:448 msgid "Class Filter:" msgstr "" -#: ../Dialogs.py:508 +#: ../dialogs/FBDVariableDialog.py:124 msgid "Class:" msgstr "" -#: ../PLCOpenEditor.py:425 +#: ../PLCOpenEditor.py:367 msgid "Clear Errors\tCTRL+K" msgstr "" -#: ../Viewer.py:407 +#: ../Viewer.py:441 msgid "Clear Execution Order" msgstr "" -#: ../PLCOpenEditor.py:346 -msgid "Close\tCTRL+Q" -msgstr "" - -#: ../PLCOpenEditor.py:963 +#: ../PLCOpenEditor.py:873 msgid "Close Application" msgstr "" -#: ../PLCOpenEditor.py:319 +#: ../PLCOpenEditor.py:2441 msgid "Close Project" msgstr "" -#: ../PLCOpenEditor.py:316 +#: ../PLCOpenEditor.py:2439 msgid "Close Tab\tCTRL+W" msgstr "" @@ -549,11 +555,11 @@ msgid "Comment" msgstr "" -#: ../PLCOpenEditor.py:2912 +#: ../PLCOpenEditor.py:2907 msgid "Company Name (required):" msgstr "" -#: ../PLCOpenEditor.py:2920 +#: ../PLCOpenEditor.py:2915 msgid "Company URL (optional):" msgstr "" @@ -565,39 +571,39 @@ msgid "Concatenation" msgstr "" -#: ../PLCOpenEditor.py:396 +#: ../PLCOpenEditor.py:338 msgid "Configuration" msgstr "" -#: ../PLCControler.py:84 +#: ../PLCControler.py:91 msgid "Configurations" msgstr "" -#: ../Dialogs.py:1737 +#: ../dialogs/SFCTransitionDialog.py:143 msgid "Connection" msgstr "" -#: ../Dialogs.py:784 +#: ../dialogs/ConnectionDialog.py:101 msgid "Connection Properties" msgstr "" -#: ../Dialogs.py:800 +#: ../dialogs/ConnectionDialog.py:117 msgid "Connector" msgstr "" -#: ../Dialogs.py:1459 +#: ../dialogs/SFCStepDialog.py:109 msgid "Connectors:" msgstr "" -#: ../PLCOpenEditor.py:3850 ../PLCOpenEditor.py:3851 +#: ../VariablePanel.py:52 ../VariablePanel.py:53 msgid "Constant" msgstr "" -#: ../PLCOpenEditor.py:3002 +#: ../PLCOpenEditor.py:2997 msgid "Content Description (optional):" msgstr "" -#: ../Dialogs.py:806 +#: ../dialogs/ConnectionDialog.py:123 msgid "Continuation" msgstr "" @@ -617,7 +623,11 @@ msgid "Conversion to time-of-day" msgstr "" -#: ../PLCOpenEditor.py:381 +#: ../PLCOpenEditor.py:1597 +msgid "Copy" +msgstr "" + +#: ../PLCOpenEditor.py:323 msgid "Copy\tCTRL+C" msgstr "" @@ -625,91 +635,95 @@ msgid "Cosine" msgstr "" -#: ../PLCOpenEditor.py:3225 +#: ../PLCControler.py:617 ../PLCControler.py:652 +msgid "Couldn't paste non-POU object." +msgstr "" + +#: ../PLCOpenEditor.py:3220 msgid "Create a new POU" msgstr "" -#: ../PLCOpenEditor.py:1806 ../PLCOpenEditor.py:2463 +#: ../PLCOpenEditor.py:1594 ../PLCOpenEditor.py:2240 msgid "Create a new POU from" msgstr "" -#: ../PLCOpenEditor.py:3546 +#: ../PLCOpenEditor.py:3541 msgid "Create a new action" msgstr "" -#: ../PLCOpenEditor.py:214 +#: ../PLCOpenEditor.py:215 msgid "Create a new action block" msgstr "" -#: ../PLCOpenEditor.py:169 ../PLCOpenEditor.py:196 ../PLCOpenEditor.py:226 +#: ../PLCOpenEditor.py:170 ../PLCOpenEditor.py:197 ../PLCOpenEditor.py:227 msgid "Create a new block" msgstr "" -#: ../PLCOpenEditor.py:190 +#: ../PLCOpenEditor.py:191 msgid "Create a new branch" msgstr "" -#: ../PLCOpenEditor.py:184 +#: ../PLCOpenEditor.py:185 msgid "Create a new coil" msgstr "" -#: ../PLCOpenEditor.py:163 ../PLCOpenEditor.py:175 ../PLCOpenEditor.py:202 +#: ../PLCOpenEditor.py:164 ../PLCOpenEditor.py:176 ../PLCOpenEditor.py:203 msgid "Create a new comment" msgstr "" -#: ../PLCOpenEditor.py:172 ../PLCOpenEditor.py:199 ../PLCOpenEditor.py:229 +#: ../PLCOpenEditor.py:173 ../PLCOpenEditor.py:200 ../PLCOpenEditor.py:230 msgid "Create a new connection" msgstr "" -#: ../PLCOpenEditor.py:187 ../PLCOpenEditor.py:235 +#: ../PLCOpenEditor.py:188 ../PLCOpenEditor.py:236 msgid "Create a new contact" msgstr "" -#: ../PLCOpenEditor.py:217 +#: ../PLCOpenEditor.py:218 msgid "Create a new divergence" msgstr "" -#: ../Dialogs.py:1976 +#: ../dialogs/SFCDivergenceDialog.py:103 msgid "Create a new divergence or convergence" msgstr "" -#: ../PLCOpenEditor.py:205 +#: ../PLCOpenEditor.py:206 msgid "Create a new initial step" msgstr "" -#: ../PLCOpenEditor.py:220 +#: ../PLCOpenEditor.py:221 msgid "Create a new jump" msgstr "" -#: ../PLCOpenEditor.py:178 ../PLCOpenEditor.py:232 +#: ../PLCOpenEditor.py:179 ../PLCOpenEditor.py:233 msgid "Create a new power rail" msgstr "" -#: ../PLCOpenEditor.py:181 +#: ../PLCOpenEditor.py:182 msgid "Create a new rung" msgstr "" -#: ../PLCOpenEditor.py:208 +#: ../PLCOpenEditor.py:209 msgid "Create a new step" msgstr "" -#: ../PLCOpenEditor.py:211 ../PLCOpenEditor.py:3402 +#: ../PLCOpenEditor.py:212 ../PLCOpenEditor.py:3397 msgid "Create a new transition" msgstr "" -#: ../PLCOpenEditor.py:166 ../PLCOpenEditor.py:193 ../PLCOpenEditor.py:223 +#: ../PLCOpenEditor.py:167 ../PLCOpenEditor.py:194 ../PLCOpenEditor.py:224 msgid "Create a new variable" msgstr "" -#: ../PLCOpenEditor.py:379 +#: ../PLCOpenEditor.py:321 msgid "Cut\tCTRL+X" msgstr "" -#: ../PLCOpenEditor.py:388 +#: ../PLCOpenEditor.py:330 msgid "Data Type" msgstr "" -#: ../PLCControler.py:83 +#: ../PLCControler.py:90 msgid "Data Types" msgstr "" @@ -729,25 +743,35 @@ msgid "Date subtraction" msgstr "" -#: ../PLCOpenEditor.py:400 ../PLCOpenEditor.py:1823 ../PLCOpenEditor.py:1832 -#: ../PLCOpenEditor.py:1838 ../PLCOpenEditor.py:4251 ../PLCOpenEditor.py:4864 -#: ../Viewer.py:416 ../Dialogs.py:2351 ../DataTypeEditor.py:544 +#: ../Viewer.py:2848 +#, python-format +msgid "Debug: %s" +msgstr "" + +#: ../PLCOpenEditor.py:618 +msgid "Debugger" +msgstr "" + +#: ../PLCOpenEditor.py:342 ../PLCOpenEditor.py:1615 ../PLCOpenEditor.py:1624 +#: ../PLCOpenEditor.py:1630 ../PLCOpenEditor.py:4091 ../Viewer.py:450 +#: ../VariablePanel.py:461 ../dialogs/ActionBlockDialog.py:279 +#: ../DataTypeEditor.py:544 msgid "Delete" msgstr "" -#: ../Viewer.py:404 +#: ../Viewer.py:438 msgid "Delete Divergence Branch" msgstr "" -#: ../RessourceEditor.py:414 +#: ../RessourceEditor.py:417 msgid "Delete Instance" msgstr "" -#: ../RessourceEditor.py:378 +#: ../RessourceEditor.py:381 msgid "Delete Task" msgstr "" -#: ../Viewer.py:399 +#: ../Viewer.py:433 msgid "Delete Wire Segment" msgstr "" @@ -773,6 +797,10 @@ msgid "Dimensions:" msgstr "" +#: ../VariablePanel.py:1066 +msgid "Direction:" +msgstr "" + #: ../DataTypeEditor.py:236 msgid "Directly" msgstr "" @@ -785,7 +813,11 @@ msgid "Division" msgstr "" -#: ../PLCOpenEditor.py:1088 +#: ../VariablePanel.py:52 ../VariablePanel.py:53 +msgid "Documentation" +msgstr "" + +#: ../PLCOpenEditor.py:2617 msgid "Done" msgstr "" @@ -795,7 +827,7 @@ "The down-counter can be used to signal when a count has reached zero, on counting down from a preset value." msgstr "" -#: ../Dialogs.py:2105 +#: ../dialogs/ActionBlockDialog.py:33 msgid "Duration" msgstr "" @@ -803,27 +835,27 @@ msgid "Edit" msgstr "" -#: ../Viewer.py:414 +#: ../Viewer.py:448 msgid "Edit Block" msgstr "" -#: ../Dialogs.py:1098 +#: ../dialogs/LDElementDialog.py:193 msgid "Edit Coil Values" msgstr "" -#: ../Dialogs.py:1093 +#: ../dialogs/LDElementDialog.py:188 msgid "Edit Contact Values" msgstr "" -#: ../Dialogs.py:1451 +#: ../dialogs/SFCStepDialog.py:101 msgid "Edit Step" msgstr "" -#: ../Dialogs.py:2328 +#: ../dialogs/ActionBlockDialog.py:256 msgid "Edit action block properties" msgstr "" -#: ../Viewer.py:1796 ../Viewer.py:1798 ../Viewer.py:2297 ../Viewer.py:2299 +#: ../Viewer.py:1820 ../Viewer.py:1822 ../Viewer.py:2321 ../Viewer.py:2323 msgid "Edit comment" msgstr "" @@ -831,7 +863,7 @@ msgid "Edit item" msgstr "" -#: ../Viewer.py:2262 +#: ../Viewer.py:2286 msgid "Edit jump target" msgstr "" @@ -839,7 +871,7 @@ msgid "Edit step name" msgstr "" -#: ../Dialogs.py:1698 +#: ../dialogs/SFCTransitionDialog.py:104 msgid "Edit transition" msgstr "" @@ -847,7 +879,7 @@ msgid "Elements :" msgstr "" -#: ../PLCOpenEditor.py:376 +#: ../PLCOpenEditor.py:318 msgid "Enable Undo/Redo" msgstr "" @@ -859,41 +891,48 @@ msgid "Equal to" msgstr "" -#: ../PLCOpenEditor.py:955 ../PLCOpenEditor.py:1095 ../PLCOpenEditor.py:1100 -#: ../PLCOpenEditor.py:1585 ../PLCOpenEditor.py:1622 ../PLCOpenEditor.py:1627 -#: ../PLCOpenEditor.py:1642 ../PLCOpenEditor.py:1647 ../PLCOpenEditor.py:2493 -#: ../PLCOpenEditor.py:2522 ../PLCOpenEditor.py:3043 ../PLCOpenEditor.py:3135 -#: ../PLCOpenEditor.py:3139 ../PLCOpenEditor.py:3143 ../PLCOpenEditor.py:3147 -#: ../PLCOpenEditor.py:3288 ../PLCOpenEditor.py:3292 ../PLCOpenEditor.py:3296 -#: ../PLCOpenEditor.py:3300 ../PLCOpenEditor.py:3451 ../PLCOpenEditor.py:3455 -#: ../PLCOpenEditor.py:3459 ../PLCOpenEditor.py:3463 ../PLCOpenEditor.py:3467 -#: ../PLCOpenEditor.py:3595 ../PLCOpenEditor.py:3599 ../PLCOpenEditor.py:3603 -#: ../PLCOpenEditor.py:3607 ../PLCOpenEditor.py:3611 ../PLCOpenEditor.py:3666 -#: ../PLCOpenEditor.py:3670 ../PLCOpenEditor.py:3674 ../PLCOpenEditor.py:3678 -#: ../PLCOpenEditor.py:3729 ../PLCOpenEditor.py:3733 ../PLCOpenEditor.py:3737 -#: ../PLCOpenEditor.py:3741 ../PLCOpenEditor.py:4121 ../PLCOpenEditor.py:4446 -#: ../PLCOpenEditor.py:4451 ../PLCOpenEditor.py:4456 ../PLCOpenEditor.py:4461 -#: ../PLCOpenEditor.py:4797 ../PLCOpenEditor.py:5059 ../PLCOpenEditor.py:5069 -#: ../Viewer.py:335 ../TextViewer.py:224 ../LDViewer.py:628 ../LDViewer.py:850 -#: ../LDViewer.py:854 ../Dialogs.py:241 ../Dialogs.py:245 ../Dialogs.py:249 -#: ../Dialogs.py:253 ../Dialogs.py:257 ../Dialogs.py:261 ../Dialogs.py:648 -#: ../Dialogs.py:652 ../Dialogs.py:882 ../Dialogs.py:886 ../Dialogs.py:890 -#: ../Dialogs.py:894 ../Dialogs.py:898 ../Dialogs.py:1525 ../Dialogs.py:1529 -#: ../Dialogs.py:1533 ../Dialogs.py:1537 ../Dialogs.py:1541 ../Dialogs.py:1545 -#: ../Dialogs.py:1803 ../Dialogs.py:2508 ../Dialogs.py:2512 ../Dialogs.py:2516 -#: ../Dialogs.py:2520 ../Dialogs.py:2524 ../Dialogs.py:2528 ../Dialogs.py:2575 -#: ../Dialogs.py:2579 ../Dialogs.py:2583 ../Dialogs.py:2587 -#: ../DataTypeEditor.py:697 ../DataTypeEditor.py:702 ../DataTypeEditor.py:757 -#: ../DataTypeEditor.py:762 ../DataTypeEditor.py:772 ../DataTypeEditor.py:899 -#: ../DataTypeEditor.py:906 +#: ../PLCOpenEditor.py:865 ../PLCOpenEditor.py:1371 ../PLCOpenEditor.py:1408 +#: ../PLCOpenEditor.py:1413 ../PLCOpenEditor.py:1428 ../PLCOpenEditor.py:1433 +#: ../PLCOpenEditor.py:2267 ../PLCOpenEditor.py:2624 ../PLCOpenEditor.py:2629 +#: ../PLCOpenEditor.py:3038 ../PLCOpenEditor.py:3130 ../PLCOpenEditor.py:3134 +#: ../PLCOpenEditor.py:3138 ../PLCOpenEditor.py:3142 ../PLCOpenEditor.py:3283 +#: ../PLCOpenEditor.py:3287 ../PLCOpenEditor.py:3291 ../PLCOpenEditor.py:3295 +#: ../PLCOpenEditor.py:3446 ../PLCOpenEditor.py:3450 ../PLCOpenEditor.py:3454 +#: ../PLCOpenEditor.py:3458 ../PLCOpenEditor.py:3462 ../PLCOpenEditor.py:3590 +#: ../PLCOpenEditor.py:3594 ../PLCOpenEditor.py:3598 ../PLCOpenEditor.py:3602 +#: ../PLCOpenEditor.py:3606 ../PLCOpenEditor.py:3661 ../PLCOpenEditor.py:3665 +#: ../PLCOpenEditor.py:3669 ../PLCOpenEditor.py:3673 ../PLCOpenEditor.py:3724 +#: ../PLCOpenEditor.py:3728 ../PLCOpenEditor.py:3732 ../PLCOpenEditor.py:3736 +#: ../PLCOpenEditor.py:4024 ../PLCOpenEditor.py:4292 ../PLCOpenEditor.py:4302 +#: ../Viewer.py:369 ../TextViewer.py:250 ../LDViewer.py:628 ../LDViewer.py:850 +#: ../LDViewer.py:854 ../VariablePanel.py:331 ../VariablePanel.py:684 +#: ../VariablePanel.py:689 ../VariablePanel.py:694 ../VariablePanel.py:699 +#: ../VariablePanel.py:1173 ../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/PouNameDialog.py:55 ../dialogs/PouNameDialog.py:59 +#: ../dialogs/PouNameDialog.py:63 ../dialogs/PouNameDialog.py:67 +#: ../dialogs/SFCStepDialog.py:175 ../dialogs/SFCStepDialog.py:179 +#: ../dialogs/SFCStepDialog.py:183 ../dialogs/SFCStepDialog.py:187 +#: ../dialogs/SFCStepDialog.py:191 ../dialogs/SFCStepDialog.py:195 +#: ../dialogs/SFCStepNameDialog.py:57 ../dialogs/SFCStepNameDialog.py:61 +#: ../dialogs/SFCStepNameDialog.py:65 ../dialogs/SFCStepNameDialog.py:69 +#: ../dialogs/SFCStepNameDialog.py:73 ../dialogs/SFCStepNameDialog.py:77 +#: ../dialogs/SFCTransitionDialog.py:209 ../DataTypeEditor.py:700 +#: ../DataTypeEditor.py:705 ../DataTypeEditor.py:760 ../DataTypeEditor.py:765 +#: ../DataTypeEditor.py:775 ../DataTypeEditor.py:901 ../DataTypeEditor.py:908 msgid "Error" msgstr "" -#: ../Dialogs.py:134 +#: ../dialogs/FBDBlockDialog.py:133 msgid "Execution Control:" msgstr "" -#: ../Dialogs.py:130 ../Dialogs.py:516 +#: ../dialogs/FBDBlockDialog.py:129 ../dialogs/FBDVariableDialog.py:132 msgid "Execution Order:" msgstr "" @@ -905,20 +944,20 @@ msgid "Exponentiation" msgstr "" -#: ../Dialogs.py:512 +#: ../dialogs/FBDVariableDialog.py:128 msgid "Expression:" msgstr "" -#: ../PLCOpenEditor.py:3862 +#: ../VariablePanel.py:64 msgid "External" msgstr "" -#: ../PLCOpenEditor.py:2980 ../PLCOpenEditor.py:3170 ../PLCOpenEditor.py:3180 -#: ../PLCOpenEditor.py:3359 ../PLCOpenEditor.py:3503 +#: ../PLCOpenEditor.py:2975 ../PLCOpenEditor.py:3165 ../PLCOpenEditor.py:3175 +#: ../PLCOpenEditor.py:3354 ../PLCOpenEditor.py:3498 msgid "FBD" msgstr "" -#: ../Viewer.py:394 ../Dialogs.py:1060 +#: ../Viewer.py:428 ../dialogs/LDElementDialog.py:155 msgid "Falling Edge" msgstr "" @@ -928,7 +967,7 @@ "The output produces a single pulse when a falling edge is detected." msgstr "" -#: ../PLCOpenEditor.py:303 +#: ../PLCOpenEditor.py:304 msgid "File" msgstr "" @@ -936,66 +975,66 @@ msgid "Find position" msgstr "" -#: ../PLCOpenEditor.py:3043 ../PLCOpenEditor.py:3288 ../PLCOpenEditor.py:3451 -#: ../PLCOpenEditor.py:3595 ../Dialogs.py:1803 +#: ../PLCOpenEditor.py:3038 ../PLCOpenEditor.py:3283 ../PLCOpenEditor.py:3446 +#: ../PLCOpenEditor.py:3590 ../dialogs/SFCTransitionDialog.py:209 #, python-format msgid "Form isn't complete. %s must be filled!" msgstr "" -#: ../Dialogs.py:245 ../Dialogs.py:882 +#: ../dialogs/ConnectionDialog.py:199 ../dialogs/FBDBlockDialog.py:244 msgid "Form isn't complete. Name must be filled!" msgstr "" -#: ../Dialogs.py:241 +#: ../dialogs/FBDBlockDialog.py:240 msgid "Form isn't complete. Valid block type must be selected!" msgstr "" -#: ../PLCOpenEditor.py:390 +#: ../PLCOpenEditor.py:332 msgid "Function" msgstr "" -#: ../PLCOpenEditor.py:392 ../PLCOpenEditor.py:1813 +#: ../PLCOpenEditor.py:334 ../PLCOpenEditor.py:1605 msgid "Function Block" msgstr "" -#: ../PLCOpenEditor.py:4508 +#: ../VariablePanel.py:758 msgid "Function Block Types" msgstr "" -#: ../PLCControler.py:82 +#: ../PLCControler.py:89 msgid "Function Blocks" msgstr "" -#: ../Viewer.py:227 +#: ../Viewer.py:229 msgid "Function Blocks can't be used in Functions!" msgstr "" -#: ../Viewer.py:229 +#: ../Viewer.py:231 msgid "Function Blocks can't be used in Transitions!" msgstr "" -#: ../PLCControler.py:1673 +#: ../PLCControler.py:1724 #, python-format msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!" msgstr "" -#: ../PLCControler.py:82 +#: ../PLCControler.py:89 msgid "Functions" msgstr "" -#: ../PLCOpenEditor.py:328 +#: ../PLCOpenEditor.py:2448 msgid "Generate Program\tCTRL+G" msgstr "" -#: ../PLCOpenEditor.py:3863 +#: ../VariablePanel.py:65 msgid "Global" msgstr "" -#: ../PLCOpenEditor.py:2030 +#: ../PLCOpenEditor.py:1835 msgid "Graphic Panel" msgstr "" -#: ../PLCOpenEditor.py:2985 +#: ../PLCOpenEditor.py:2980 msgid "Graphics" msgstr "" @@ -1007,7 +1046,7 @@ msgid "Greater than or equal to" msgstr "" -#: ../PLCOpenEditor.py:2964 +#: ../PLCOpenEditor.py:2959 msgid "Height:" msgstr "" @@ -1021,35 +1060,35 @@ "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:3170 ../PLCOpenEditor.py:3180 ../PLCOpenEditor.py:3359 -#: ../PLCOpenEditor.py:3503 +#: ../PLCOpenEditor.py:3165 ../PLCOpenEditor.py:3175 ../PLCOpenEditor.py:3354 +#: ../PLCOpenEditor.py:3498 msgid "IL" msgstr "" -#: ../PLCOpenEditor.py:3861 ../Dialogs.py:426 +#: ../VariablePanel.py:63 ../dialogs/FBDVariableDialog.py:42 msgid "InOut" msgstr "" -#: ../PLCOpenEditor.py:4091 +#: ../VariablePanel.py:301 #, python-format msgid "Incompatible data types between \"%s\" and \"%s\"" msgstr "" -#: ../PLCOpenEditor.py:4102 +#: ../VariablePanel.py:312 #, python-format msgid "Incompatible size of data between \"%s\" and \"%s\"" msgstr "" -#: ../PLCOpenEditor.py:4098 +#: ../VariablePanel.py:308 #, python-format msgid "Incompatible size of data between \"%s\" and \"BOOL\"" msgstr "" -#: ../Dialogs.py:2105 +#: ../dialogs/ActionBlockDialog.py:33 msgid "Indicator" msgstr "" -#: ../PLCOpenEditor.py:3850 ../PLCOpenEditor.py:3851 ../DataTypeEditor.py:46 +#: ../VariablePanel.py:52 ../VariablePanel.py:53 ../DataTypeEditor.py:46 msgid "Initial Value" msgstr "" @@ -1058,15 +1097,17 @@ msgid "Initial Value:" msgstr "" -#: ../Dialogs.py:1725 ../Dialogs.py:1793 ../Dialogs.py:2109 +#: ../dialogs/ActionBlockDialog.py:37 ../dialogs/SFCTransitionDialog.py:131 +#: ../dialogs/SFCTransitionDialog.py:199 msgid "Inline" msgstr "" -#: ../PLCOpenEditor.py:3861 ../Dialogs.py:425 ../Dialogs.py:1472 +#: ../VariablePanel.py:63 ../VariablePanel.py:991 +#: ../dialogs/FBDVariableDialog.py:41 ../dialogs/SFCStepDialog.py:122 msgid "Input" msgstr "" -#: ../Dialogs.py:126 +#: ../dialogs/FBDBlockDialog.py:125 msgid "Inputs:" msgstr "" @@ -1074,16 +1115,16 @@ msgid "Insertion (into)" msgstr "" -#: ../plcopen/plcopen.py:1329 +#: ../plcopen/plcopen.py:1344 #, python-format msgid "Instance with id %d doesn't exist!" msgstr "" -#: ../PLCOpenEditor.py:561 ../PLCOpenEditor.py:599 +#: ../PLCOpenEditor.py:559 msgid "Instances" msgstr "" -#: ../RessourceEditor.py:394 +#: ../RessourceEditor.py:397 msgid "Instances:" msgstr "" @@ -1093,35 +1134,35 @@ "The integral function block integrates the value of input XIN over time." msgstr "" -#: ../PLCOpenEditor.py:3860 +#: ../VariablePanel.py:62 msgid "Interface" msgstr "" -#: ../RessourceEditor.py:79 +#: ../RessourceEditor.py:82 msgid "Interval" msgstr "" -#: ../PLCControler.py:1654 ../PLCControler.py:1688 +#: ../PLCControler.py:1701 ../PLCControler.py:1739 msgid "Invalid plcopen element(s)!!!" msgstr "" -#: ../PLCOpenEditor.py:4786 ../PLCOpenEditor.py:4789 +#: ../PLCOpenEditor.py:4013 ../PLCOpenEditor.py:4016 #, python-format msgid "Invalid value \"%s\" for debug variable" msgstr "" -#: ../PLCOpenEditor.py:4079 ../PLCOpenEditor.py:4082 +#: ../VariablePanel.py:289 ../VariablePanel.py:292 #, python-format msgid "Invalid value \"%s\" for location" msgstr "" -#: ../Viewer.py:211 ../Viewer.py:214 +#: ../Viewer.py:214 ../Viewer.py:217 #, python-format msgid "Invalid value \"%s\" for viewer block" msgstr "" -#: ../PLCOpenEditor.py:2980 ../PLCOpenEditor.py:3170 ../PLCOpenEditor.py:3180 -#: ../PLCOpenEditor.py:3359 ../PLCOpenEditor.py:3503 +#: ../PLCOpenEditor.py:2975 ../PLCOpenEditor.py:3165 ../PLCOpenEditor.py:3175 +#: ../PLCOpenEditor.py:3354 ../PLCOpenEditor.py:3498 msgid "LD" msgstr "" @@ -1130,23 +1171,23 @@ msgid "Ladder element with id %d is on more than one rung." msgstr "" -#: ../PLCOpenEditor.py:3278 ../PLCOpenEditor.py:3441 ../PLCOpenEditor.py:3585 +#: ../PLCOpenEditor.py:3273 ../PLCOpenEditor.py:3436 ../PLCOpenEditor.py:3580 msgid "Language" msgstr "" -#: ../PLCOpenEditor.py:2994 +#: ../PLCOpenEditor.py:2989 msgid "Language (optional):" msgstr "" -#: ../PLCOpenEditor.py:3246 ../PLCOpenEditor.py:3414 ../PLCOpenEditor.py:3558 +#: ../PLCOpenEditor.py:3241 ../PLCOpenEditor.py:3409 ../PLCOpenEditor.py:3553 msgid "Language:" msgstr "" -#: ../Viewer.py:358 +#: ../Viewer.py:392 msgid "Left" msgstr "" -#: ../Dialogs.py:1287 +#: ../dialogs/LDPowerRailDialog.py:118 msgid "Left PowerRail" msgstr "" @@ -1162,7 +1203,7 @@ msgid "Less than or equal to" msgstr "" -#: ../PLCOpenEditor.py:640 +#: ../PLCOpenEditor.py:594 msgid "Library" msgstr "" @@ -1170,14 +1211,18 @@ msgid "Limitation" msgstr "" -#: ../PLCOpenEditor.py:3862 +#: ../VariablePanel.py:64 msgid "Local" msgstr "" -#: ../PLCOpenEditor.py:3850 +#: ../VariablePanel.py:52 msgid "Location" msgstr "" +#: ../VariablePanel.py:1052 +msgid "Locations available:" +msgstr "" + #: ../plcopen/iec_std.csv:25 msgid "Logarithm to base 10" msgstr "" @@ -1190,7 +1235,11 @@ msgid "Maximum:" msgstr "" -#: ../Viewer.py:367 +#: ../VariablePanel.py:993 +msgid "Memory" +msgstr "" + +#: ../Viewer.py:401 msgid "Middle" msgstr "" @@ -1202,11 +1251,11 @@ msgid "Minimum:" msgstr "" -#: ../PLCOpenEditor.py:3009 +#: ../PLCOpenEditor.py:3004 msgid "Miscellaneous" msgstr "" -#: ../Dialogs.py:1022 +#: ../dialogs/LDElementDialog.py:117 msgid "Modifier:" msgstr "" @@ -1231,13 +1280,14 @@ msgid "Multiplication" msgstr "" -#: ../PLCOpenEditor.py:3850 ../PLCOpenEditor.py:3851 ../RessourceEditor.py:79 -#: ../RessourceEditor.py:83 ../DataTypeEditor.py:46 +#: ../RessourceEditor.py:82 ../RessourceEditor.py:86 ../VariablePanel.py:52 +#: ../VariablePanel.py:53 ../DataTypeEditor.py:46 msgid "Name" msgstr "" -#: ../Dialogs.py:122 ../Dialogs.py:520 ../Dialogs.py:792 ../Dialogs.py:1026 -#: ../Dialogs.py:1455 +#: ../dialogs/ConnectionDialog.py:109 ../dialogs/FBDBlockDialog.py:121 +#: ../dialogs/FBDVariableDialog.py:136 ../dialogs/LDElementDialog.py:121 +#: ../dialogs/SFCStepDialog.py:105 msgid "Name:" msgstr "" @@ -1245,11 +1295,11 @@ msgid "Natural logarithm" msgstr "" -#: ../Viewer.py:390 ../Dialogs.py:1040 +#: ../Viewer.py:424 ../dialogs/LDElementDialog.py:135 msgid "Negated" msgstr "" -#: ../PLCOpenEditor.py:312 +#: ../PLCOpenEditor.py:2435 msgid "New\tCTRL+N" msgstr "" @@ -1257,15 +1307,15 @@ msgid "New item" msgstr "" -#: ../PLCOpenEditor.py:3855 +#: ../VariablePanel.py:57 msgid "No" msgstr "" -#: ../Viewer.py:388 +#: ../Viewer.py:422 msgid "No Modifier" msgstr "" -#: ../PLCControler.py:2535 +#: ../PLCControler.py:2583 msgid "No PLC project found" msgstr "" @@ -1279,7 +1329,7 @@ msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU" msgstr "" -#: ../PLCOpenEditor.py:2608 +#: ../PLCOpenEditor.py:2382 msgid "" "No documentation available.\n" "Coming soon." @@ -1299,7 +1349,7 @@ msgid "No variable defined in \"%s\" POU" msgstr "" -#: ../Dialogs.py:1034 +#: ../dialogs/LDElementDialog.py:129 msgid "Normal" msgstr "" @@ -1307,7 +1357,7 @@ msgid "Not equal to" msgstr "" -#: ../Dialogs.py:2008 +#: ../dialogs/SFCDivergenceDialog.py:135 msgid "Number of sequences:" msgstr "" @@ -1327,15 +1377,16 @@ "The on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true." msgstr "" -#: ../PLCOpenEditor.py:314 +#: ../PLCOpenEditor.py:2437 msgid "Open\tCTRL+O" msgstr "" -#: ../PLCOpenEditor.py:2936 +#: ../PLCOpenEditor.py:2931 msgid "Organization (optional):" msgstr "" -#: ../PLCOpenEditor.py:3861 ../Dialogs.py:427 ../Dialogs.py:1477 +#: ../VariablePanel.py:63 ../VariablePanel.py:992 +#: ../dialogs/FBDVariableDialog.py:43 ../dialogs/SFCStepDialog.py:127 msgid "Output" msgstr "" @@ -1345,76 +1396,80 @@ "The PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control." msgstr "" -#: ../PLCOpenEditor.py:1033 ../PLCOpenEditor.py:1120 +#: ../PLCOpenEditor.py:2589 ../PLCOpenEditor.py:2648 msgid "PLCOpen files (*.xml)|*.xml|All files|*.*" msgstr "" -#: ../PLCOpenEditor.py:487 ../PLCOpenEditor.py:840 +#: ../PLCOpenEditor.py:2521 msgid "PLCOpenEditor" msgstr "" -#: ../PLCOpenEditor.py:440 +#: ../PLCOpenEditor.py:2479 msgid "PLCOpenEditor\tF1" msgstr "" -#: ../PLCOpenEditor.py:3274 +#: ../PLCOpenEditor.py:3269 msgid "POU Name" msgstr "" -#: ../PLCOpenEditor.py:3229 +#: ../PLCOpenEditor.py:3224 msgid "POU Name:" msgstr "" -#: ../PLCOpenEditor.py:3276 +#: ../PLCOpenEditor.py:3271 msgid "POU Type" msgstr "" -#: ../PLCOpenEditor.py:3237 +#: ../PLCOpenEditor.py:3232 msgid "POU Type:" msgstr "" -#: ../PLCOpenEditor.py:331 +#: ../PLCOpenEditor.py:2451 msgid "Page Setup" msgstr "" -#: ../PLCOpenEditor.py:2952 +#: ../PLCOpenEditor.py:2947 msgid "Page Size (optional):" msgstr "" -#: ../PLCOpenEditor.py:5002 +#: ../PLCOpenEditor.py:4235 #, python-format msgid "Page: %d" msgstr "" -#: ../PLCOpenEditor.py:383 +#: ../PLCOpenEditor.py:1648 +msgid "Paste" +msgstr "" + +#: ../PLCOpenEditor.py:325 msgid "Paste\tCTRL+V" msgstr "" -#: ../Dialogs.py:1279 +#: ../dialogs/LDPowerRailDialog.py:110 msgid "Pin number:" msgstr "" -#: ../Viewer.py:1971 ../Viewer.py:2262 ../SFCViewer.py:698 +#: ../Viewer.py:1995 ../Viewer.py:2286 ../SFCViewer.py:698 msgid "Please choose a target" msgstr "" -#: ../PLCOpenEditor.py:2463 +#: ../PLCOpenEditor.py:2240 msgid "Please enter POU name" msgstr "" -#: ../Viewer.py:1796 ../Viewer.py:1798 ../Viewer.py:2297 ../Viewer.py:2299 +#: ../Viewer.py:1820 ../Viewer.py:1822 ../Viewer.py:2321 ../Viewer.py:2323 msgid "Please enter comment text" msgstr "" -#: ../PLCOpenEditor.py:2418 ../PLCOpenEditor.py:3649 +#: ../PLCOpenEditor.py:2208 ../PLCOpenEditor.py:3644 msgid "Please enter configuration name" msgstr "" -#: ../PLCOpenEditor.py:2361 +#: ../PLCOpenEditor.py:2164 msgid "Please enter data type name" msgstr "" -#: ../PLCOpenEditor.py:2433 ../PLCOpenEditor.py:3712 +#: ../PLCOpenEditor.py:2219 ../PLCOpenEditor.py:3707 msgid "Please enter resource name" msgstr "" @@ -1422,88 +1477,94 @@ msgid "Please enter step name" msgstr "" -#: ../PLCOpenEditor.py:3120 +#: ../PLCOpenEditor.py:3115 msgid "Please enter text" msgstr "" +#: ../VariablePanel.py:1119 +msgid "Plugins" +msgstr "" + #: ../GraphicViewer.py:117 msgid "Position:" msgstr "" -#: ../Dialogs.py:1271 +#: ../dialogs/LDPowerRailDialog.py:102 msgid "Power Rail Properties" msgstr "" -#: ../PLCOpenEditor.py:333 +#: ../PLCOpenEditor.py:2453 msgid "Preview" msgstr "" -#: ../Dialogs.py:138 ../Dialogs.py:524 ../Dialogs.py:796 ../Dialogs.py:1030 -#: ../Dialogs.py:1283 ../Dialogs.py:1463 ../Dialogs.py:1706 ../Dialogs.py:2017 +#: ../dialogs/ConnectionDialog.py:113 ../dialogs/FBDBlockDialog.py:137 +#: ../dialogs/FBDVariableDialog.py:140 ../dialogs/LDElementDialog.py:125 +#: ../dialogs/LDPowerRailDialog.py:114 ../dialogs/SFCDivergenceDialog.py:144 +#: ../dialogs/SFCStepDialog.py:113 ../dialogs/SFCTransitionDialog.py:112 msgid "Preview:" msgstr "" -#: ../PLCOpenEditor.py:335 +#: ../PLCOpenEditor.py:2455 msgid "Print" msgstr "" -#: ../PLCOpenEditor.py:1152 +#: ../PLCOpenEditor.py:932 msgid "Print preview" msgstr "" -#: ../RessourceEditor.py:79 +#: ../RessourceEditor.py:82 msgid "Priority" msgstr "" -#: ../Dialogs.py:1710 +#: ../dialogs/SFCTransitionDialog.py:116 msgid "Priority:" msgstr "" -#: ../PLCOpenEditor.py:2880 +#: ../PLCOpenEditor.py:2875 msgid "Product Name (required):" msgstr "" -#: ../PLCOpenEditor.py:2896 +#: ../PLCOpenEditor.py:2891 msgid "Product Release (optional):" msgstr "" -#: ../PLCOpenEditor.py:2888 +#: ../PLCOpenEditor.py:2883 msgid "Product Version (required):" msgstr "" -#: ../PLCOpenEditor.py:394 ../PLCOpenEditor.py:1816 +#: ../PLCOpenEditor.py:336 ../PLCOpenEditor.py:1608 msgid "Program" msgstr "" -#: ../PLCOpenEditor.py:1097 +#: ../PLCOpenEditor.py:2626 msgid "Program was successfully generated!" msgstr "" -#: ../PLCControler.py:83 +#: ../PLCControler.py:90 msgid "Programs" msgstr "" -#: ../Viewer.py:220 +#: ../Viewer.py:223 msgid "Programs can't be used by other POUs!" msgstr "" -#: ../PLCOpenEditor.py:499 ../PLCOpenEditor.py:2903 +#: ../PLCOpenEditor.py:437 ../PLCOpenEditor.py:2898 msgid "Project" msgstr "" -#: ../PLCOpenEditor.py:2864 +#: ../PLCOpenEditor.py:2859 msgid "Project Name (required):" msgstr "" -#: ../PLCOpenEditor.py:2872 +#: ../PLCOpenEditor.py:2867 msgid "Project Version (optional):" msgstr "" -#: ../PLCOpenEditor.py:2850 +#: ../PLCOpenEditor.py:2845 msgid "Project properties" msgstr "" -#: ../PLCOpenEditor.py:339 ../PLCControler.py:84 +#: ../PLCOpenEditor.py:2458 ../PLCControler.py:91 msgid "Properties" msgstr "" @@ -1513,11 +1574,11 @@ "The pulse timer can be used to generate output pulses of a given time duration." msgstr "" -#: ../Dialogs.py:2105 +#: ../dialogs/ActionBlockDialog.py:33 msgid "Qualifier" msgstr "" -#: ../PLCOpenEditor.py:343 +#: ../PLCOpenEditor.py:2461 msgid "Quit\tCTRL+Q" msgstr "" @@ -1537,15 +1598,15 @@ msgid "Range:" msgstr "" -#: ../PLCOpenEditor.py:374 +#: ../PLCOpenEditor.py:316 msgid "Redo\tCTRL+Y" msgstr "" -#: ../Dialogs.py:1714 ../Dialogs.py:1791 +#: ../dialogs/SFCTransitionDialog.py:120 ../dialogs/SFCTransitionDialog.py:197 msgid "Reference" msgstr "" -#: ../PLCOpenEditor.py:422 +#: ../PLCOpenEditor.py:364 msgid "Refresh\tF5" msgstr "" @@ -1553,7 +1614,7 @@ msgid "Remainder (modulo)" msgstr "" -#: ../PLCOpenEditor.py:1820 +#: ../PLCOpenEditor.py:1612 msgid "Rename" msgstr "" @@ -1561,35 +1622,35 @@ msgid "Replacement (within)" msgstr "" -#: ../Dialogs.py:1050 +#: ../dialogs/LDElementDialog.py:145 msgid "Reset" msgstr "" -#: ../Viewer.py:409 +#: ../Viewer.py:443 msgid "Reset Execution Order" msgstr "" -#: ../PLCControler.py:84 +#: ../PLCControler.py:91 msgid "Resources" msgstr "" -#: ../PLCOpenEditor.py:3850 ../PLCOpenEditor.py:3851 +#: ../VariablePanel.py:52 ../VariablePanel.py:53 msgid "Retain" msgstr "" -#: ../PLCOpenEditor.py:4229 +#: ../VariablePanel.py:439 msgid "Return Type:" msgstr "" -#: ../Viewer.py:362 +#: ../Viewer.py:396 msgid "Right" msgstr "" -#: ../Dialogs.py:1293 +#: ../dialogs/LDPowerRailDialog.py:124 msgid "Right PowerRail" msgstr "" -#: ../Viewer.py:392 ../Dialogs.py:1055 +#: ../Viewer.py:426 ../dialogs/LDElementDialog.py:150 msgid "Rising Edge" msgstr "" @@ -1611,7 +1672,7 @@ msgid "Rounding up/down" msgstr "" -#: ../PLCOpenEditor.py:2980 ../PLCOpenEditor.py:3180 +#: ../PLCOpenEditor.py:2975 ../PLCOpenEditor.py:3175 msgid "SFC" msgstr "" @@ -1621,36 +1682,36 @@ "The SR bistable is a latch where the Set dominates." msgstr "" -#: ../PLCOpenEditor.py:3170 ../PLCOpenEditor.py:3180 ../PLCOpenEditor.py:3359 -#: ../PLCOpenEditor.py:3503 +#: ../PLCOpenEditor.py:3165 ../PLCOpenEditor.py:3175 ../PLCOpenEditor.py:3354 +#: ../PLCOpenEditor.py:3498 msgid "ST" msgstr "" -#: ../PLCOpenEditor.py:1084 +#: ../PLCOpenEditor.py:2613 msgid "ST files (*.st)|*.st|All files|*.*" msgstr "" -#: ../PLCOpenEditor.py:323 +#: ../PLCOpenEditor.py:2444 msgid "Save\tCTRL+S" msgstr "" -#: ../PLCOpenEditor.py:326 +#: ../PLCOpenEditor.py:2446 msgid "Save As...\tCTRL+SHIFT+S" msgstr "" -#: ../PLCOpenEditor.py:2972 +#: ../PLCOpenEditor.py:2967 msgid "Scaling:" msgstr "" -#: ../PLCOpenEditor.py:398 +#: ../PLCOpenEditor.py:340 msgid "Select All\tCTRL+A" msgstr "" -#: ../PLCOpenEditor.py:4104 +#: ../VariablePanel.py:314 msgid "Select a variable class:" msgstr "" -#: ../PLCOpenEditor.py:606 ../PLCOpenEditor.py:618 +#: ../PLCOpenEditor.py:570 ../PLCOpenEditor.py:582 msgid "Select an object" msgstr "" @@ -1658,11 +1719,11 @@ msgid "Selection" msgstr "" -#: ../Dialogs.py:1990 +#: ../dialogs/SFCDivergenceDialog.py:117 msgid "Selection Convergence" msgstr "" -#: ../Dialogs.py:1984 +#: ../dialogs/SFCDivergenceDialog.py:111 msgid "Selection Divergence" msgstr "" @@ -1672,7 +1733,7 @@ "The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources." msgstr "" -#: ../Dialogs.py:1045 +#: ../dialogs/LDElementDialog.py:140 msgid "Set" msgstr "" @@ -1684,11 +1745,11 @@ msgid "Shift right" msgstr "" -#: ../Dialogs.py:2002 +#: ../dialogs/SFCDivergenceDialog.py:129 msgid "Simultaneous Convergence" msgstr "" -#: ../Dialogs.py:1996 +#: ../dialogs/SFCDivergenceDialog.py:123 msgid "Simultaneous Divergence" msgstr "" @@ -1696,7 +1757,7 @@ msgid "Sine" msgstr "" -#: ../RessourceEditor.py:79 +#: ../RessourceEditor.py:82 msgid "Single" msgstr "" @@ -1724,15 +1785,15 @@ msgid "Tangent" msgstr "" -#: ../RessourceEditor.py:83 +#: ../RessourceEditor.py:86 msgid "Task" msgstr "" -#: ../RessourceEditor.py:358 +#: ../RessourceEditor.py:361 msgid "Tasks:" msgstr "" -#: ../PLCOpenEditor.py:3863 +#: ../VariablePanel.py:65 msgid "Temp" msgstr "" @@ -1740,11 +1801,16 @@ msgid "The group of block must be coherent!" msgstr "" -#: ../PLCOpenEditor.py:963 +#: ../PLCOpenEditor.py:873 msgid "There are changes, do you want to save?" msgstr "" -#: ../PLCOpenEditor.py:1171 +#: ../PLCOpenEditor.py:1408 ../PLCOpenEditor.py:1428 +#, python-format +msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?" +msgstr "" + +#: ../PLCOpenEditor.py:951 msgid "" "There was a problem printing.\n" "Perhaps your current printer is not set correctly?" @@ -1754,7 +1820,7 @@ msgid "This option isn't available yet!" msgstr "" -#: ../GraphicViewer.py:181 +#: ../GraphicViewer.py:180 msgid "Tick" msgstr "" @@ -1786,19 +1852,19 @@ msgid "Time-of-day subtraction" msgstr "" -#: ../PLCOpenEditor.py:610 +#: ../PLCOpenEditor.py:574 msgid "Toolbar" msgstr "" -#: ../Viewer.py:365 +#: ../Viewer.py:399 msgid "Top" msgstr "" -#: ../PLCOpenEditor.py:3439 +#: ../PLCOpenEditor.py:3434 msgid "Transition Name" msgstr "" -#: ../PLCOpenEditor.py:3406 +#: ../PLCOpenEditor.py:3401 msgid "Transition Name:" msgstr "" @@ -1812,17 +1878,17 @@ msgid "Transition with content \"%s\" not connected to a previous step in \"%s\" POU" msgstr "" -#: ../plcopen/plcopen.py:1035 +#: ../plcopen/plcopen.py:1050 #, python-format msgid "Transition with name %s doesn't exist!" msgstr "" -#: ../PLCControler.py:83 +#: ../PLCControler.py:90 msgid "Transitions" msgstr "" -#: ../PLCOpenEditor.py:3850 ../PLCOpenEditor.py:3851 ../RessourceEditor.py:83 -#: ../Dialogs.py:2105 ../DataTypeEditor.py:46 +#: ../RessourceEditor.py:86 ../VariablePanel.py:52 ../VariablePanel.py:53 +#: ../dialogs/ActionBlockDialog.py:33 ../DataTypeEditor.py:46 msgid "Type" msgstr "" @@ -1834,12 +1900,13 @@ msgid "Type infos:" msgstr "" -#: ../Dialogs.py:118 ../Dialogs.py:788 ../Dialogs.py:1275 ../Dialogs.py:1702 -#: ../Dialogs.py:1980 +#: ../dialogs/ConnectionDialog.py:105 ../dialogs/FBDBlockDialog.py:117 +#: ../dialogs/LDPowerRailDialog.py:106 ../dialogs/SFCDivergenceDialog.py:107 +#: ../dialogs/SFCTransitionDialog.py:108 msgid "Type:" msgstr "" -#: ../PLCOpenEditor.py:562 ../PLCOpenEditor.py:598 +#: ../PLCOpenEditor.py:540 msgid "Types" msgstr "" @@ -1848,21 +1915,21 @@ msgid "Undefined pou type \"%s\"" msgstr "" -#: ../PLCOpenEditor.py:372 +#: ../PLCOpenEditor.py:314 msgid "Undo\tCTRL+Z" msgstr "" -#: ../Viewer.py:286 +#: ../Viewer.py:320 #, python-format msgid "Unknown variable \"%s\" for this POU!" msgstr "" -#: ../PLCControler.py:293 +#: ../PLCControler.py:300 #, python-format msgid "Unnamed%d" msgstr "" -#: ../PLCOpenEditor.py:4100 +#: ../VariablePanel.py:310 #, python-format msgid "Unrecognized data size \"%s\"" msgstr "" @@ -1879,19 +1946,19 @@ "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 "" -#: ../PLCOpenEditor.py:4499 ../DataTypeEditor.py:804 +#: ../VariablePanel.py:742 ../DataTypeEditor.py:807 msgid "User Data Types" msgstr "" -#: ../PLCControler.py:82 +#: ../PLCControler.py:89 msgid "User-defined POUs" msgstr "" -#: ../PLCOpenEditor.py:4616 ../Dialogs.py:2105 +#: ../PLCOpenEditor.py:3843 ../dialogs/ActionBlockDialog.py:33 msgid "Value" msgstr "" -#: ../GraphicViewer.py:181 +#: ../GraphicViewer.py:180 msgid "Values" msgstr "" @@ -1899,44 +1966,44 @@ msgid "Values:" msgstr "" -#: ../PLCOpenEditor.py:4616 ../Dialogs.py:2109 +#: ../PLCOpenEditor.py:3843 ../dialogs/ActionBlockDialog.py:37 msgid "Variable" msgstr "" -#: ../Dialogs.py:504 +#: ../dialogs/FBDVariableDialog.py:120 msgid "Variable Properties" msgstr "" -#: ../PLCOpenEditor.py:4104 +#: ../VariablePanel.py:314 msgid "Variable class" msgstr "" -#: ../Viewer.py:288 ../TextViewer.py:224 +#: ../Viewer.py:322 ../TextViewer.py:248 msgid "Variable don't belong to this POU!" msgstr "" -#: ../PLCOpenEditor.py:575 ../PLCOpenEditor.py:626 ../PLCOpenEditor.py:3862 +#: ../PLCOpenEditor.py:589 ../VariablePanel.py:64 msgid "Variables" msgstr "" -#: ../PLCOpenEditor.py:3304 ../PLCOpenEditor.py:3682 ../PLCOpenEditor.py:3745 +#: ../PLCOpenEditor.py:3299 ../PLCOpenEditor.py:3677 ../PLCOpenEditor.py:3740 #: ../LDViewer.py:859 msgid "Warning" msgstr "" -#: ../PLCOpenEditor.py:2956 +#: ../PLCOpenEditor.py:2951 msgid "Width:" msgstr "" -#: ../PLCOpenEditor.py:2699 +#: ../PLCOpenEditor.py:2694 msgid "X Scale:" msgstr "" -#: ../PLCOpenEditor.py:2707 +#: ../PLCOpenEditor.py:2702 msgid "Y Scale:" msgstr "" -#: ../PLCOpenEditor.py:3855 +#: ../VariablePanel.py:57 msgid "Yes" msgstr "" @@ -1948,41 +2015,42 @@ msgid "You must select the wire where a contact should be added!" msgstr "" -#: ../PLCOpenEditor.py:3135 ../PLCOpenEditor.py:3666 ../PLCOpenEditor.py:3729 -#: ../Dialogs.py:1525 ../Dialogs.py:2508 ../Dialogs.py:2575 +#: ../PLCOpenEditor.py:3130 ../PLCOpenEditor.py:3661 ../PLCOpenEditor.py:3724 +#: ../dialogs/PouNameDialog.py:55 ../dialogs/SFCStepDialog.py:175 +#: ../dialogs/SFCStepNameDialog.py:57 msgid "You must type a name!" msgstr "" -#: ../PLCOpenEditor.py:428 +#: ../PLCOpenEditor.py:370 msgid "Zoom" msgstr "" -#: ../PLCOpenEditor.py:1093 +#: ../PLCOpenEditor.py:2622 #, python-format msgid "error: %s\n" msgstr "" -#: ../PLCOpenEditor.py:5034 ../PLCOpenEditor.py:5036 +#: ../PLCOpenEditor.py:4267 ../PLCOpenEditor.py:4269 msgid "file : " msgstr "" -#: ../PLCOpenEditor.py:3175 +#: ../PLCOpenEditor.py:3170 msgid "function" msgstr "" -#: ../PLCOpenEditor.py:5037 +#: ../PLCOpenEditor.py:4270 msgid "function : " msgstr "" -#: ../PLCOpenEditor.py:3175 +#: ../PLCOpenEditor.py:3170 msgid "functionBlock" msgstr "" -#: ../PLCOpenEditor.py:5037 +#: ../PLCOpenEditor.py:4270 msgid "line : " msgstr "" -#: ../PLCOpenEditor.py:3175 +#: ../PLCOpenEditor.py:3170 msgid "program" msgstr "" @@ -1998,7 +2066,7 @@ msgid "string right of" msgstr "" -#: ../PLCOpenEditor.py:1091 +#: ../PLCOpenEditor.py:2620 #, python-format msgid "warning: %s\n" msgstr "" diff -r 755af2768962 -r 0dd1a5f2a7a1 locale/fr_FR/LC_MESSAGES/PLCOpenEditor.mo Binary file locale/fr_FR/LC_MESSAGES/PLCOpenEditor.mo has changed diff -r 755af2768962 -r 0dd1a5f2a7a1 locale/zh_CN/LC_MESSAGES/PLCOpenEditor.mo Binary file locale/zh_CN/LC_MESSAGES/PLCOpenEditor.mo has changed diff -r 755af2768962 -r 0dd1a5f2a7a1 plcopen/iec_std.csv --- a/plcopen/iec_std.csv Fri Oct 09 15:38:11 2009 +0200 +++ b/plcopen/iec_std.csv Fri Oct 09 17:34:18 2009 +0200 @@ -13,67 +13,67 @@ ;;;;;;;; ;;;;;;;; Standard_functions_type;name;baseinputnumber;inputs;outputs;comment;extensible;python_eval_c_code_format;return_type_rule -Type conversion;*_TO_**;1;(ANY);ANY;Data type conversion;no;ANY_TO_ANY_FORMAT_GEN(ANY_TO_ANY_LIST,fdecl);defined -;TRUNC;1;(ANY_REAL);ANY_INT;Rounding up/down;no;("int", None, None);&search_constant_type_c::integer -;BCD_TO_**;1;(ANY_BIT);ANY_INT;Conversion from BCD;no;ANY_TO_ANY_FORMAT_GEN(BCD_TO_ANY_LIST,fdecl);defined -;*_TO_BCD;1;(ANY_INT);ANY_BIT;Conversion to BCD;no;ANY_TO_ANY_FORMAT_GEN(ANY_TO_BCD_LIST,fdecl);&search_constant_type_c::integer -;DATE_AND_TIME_TO_TIME_OF_DAY;1;(DT);TOD;Conversion to time-of-day;no;(None, "__date_and_time_to_time_of_day", None);defined -;DATE_AND_TIME_TO_DATE;1;(DT);DATE;Conversion to date;no;(None, "__date_and_time_to_date", None);defined -Numerical;ABS;1;(ANY_NUM);ANY_NUM;Absolute number;no;(None, "__abs_", "IN_type");IN_type_symbol -;SQRT;1;(ANY_REAL);ANY_REAL;Square root (base 2);no;(None, "__sqrt_", "IN_type");IN_type_symbol -;LN;1;(ANY_REAL);ANY_REAL;Natural logarithm;no;(None, "__ln_", "IN_type");IN_type_symbol -;LOG;1;(ANY_REAL);ANY_REAL;Logarithm to base 10;no;(None, "__log_", "IN_type");IN_type_symbol -;EXP;1;(ANY_REAL);ANY_REAL;Exponentiation;no;(None, "__exp_", "IN_type");IN_type_symbol -;SIN;1;(ANY_REAL);ANY_REAL;Sine;no;(None, "__sin_", "IN_type");IN_type_symbol -;COS;1;(ANY_REAL);ANY_REAL;Cosine;no;(None, "__cos_", "IN_type");IN_type_symbol -;TAN;1;(ANY_REAL);ANY_REAL;Tangent;no;(None, "__tan_", "IN_type");IN_type_symbol -;ASIN;1;(ANY_REAL);ANY_REAL;Arc sine;no;(None, "__asin_", "IN_type");IN_type_symbol -;ACOS;1;(ANY_REAL);ANY_REAL;Arc cosine;no;(None, "__acos_", "IN_type");IN_type_symbol -;ATAN;1;(ANY_REAL);ANY_REAL;Arc tangent;no;(None, "__atan_", "IN_type");IN_type_symbol -Arithmetic;ADD;1;(ANY_NUM, ANY_NUM);ANY_NUM;Addition;yes;(None, "__add_", "return_type");copy_input -;ADD;1;(TIME, TIME);TIME;Time addition;no;(None, "__time_add", None);defined -;ADD;1;(TOD, TIME);TOD;Time-of-day addition;no;(None, "__time_add", None);defined -;ADD;1;(DT, TIME);DT;Date addition;no;(None, "__time_add", None);defined -;MUL;1;(ANY_NUM, ANY_NUM);ANY_NUM;Multiplication;yes;(None, "__mul_", "return_type");copy_input -;MUL;1;(TIME, ANY_NUM);TIME;Time multiplication;no;(None, "__time_mul", None);defined -;SUB;1;(ANY_NUM, ANY_NUM);ANY_NUM;Subtraction;no;(None, "__sub_", "return_type");copy_input -;SUB;1;(TIME, TIME);TIME;Time subtraction;no;(None, "__time_sub", None);defined -;SUB;1;(DATE, DATE);TIME;Date subtraction;no;(None, "__time_sub", None);defined -;SUB;1;(TOD, TIME);TOD;Time-of-day subtraction;no;(None, "__time_sub", None);defined -;SUB;1;(TOD, TOD);TIME;Time-of-day subtraction;no;(None, "__time_sub", None);defined -;SUB;1;(DT, TIME);DT;Date and time subtraction;no;(None, "__time_sub", None);defined -;SUB;1;(DT, DT);TIME;Date and time subtraction;no;(None, "__time_sub", None);defined -;DIV;1;(ANY_NUM, ANY_NUM);ANY_NUM;Division;no;(None, "__div_", "return_type");copy_input -;DIV;1;(TIME, ANY_NUM);TIME;Time division;no;(None, "__time_div", None);defined -;MOD;1;(ANY_NUM, ANY_NUM);ANY_NUM;Remainder (modulo);no;(None, "__mod_", "return_type");copy_input -;EXPT;1;(ANY_REAL, ANY_NUM);ANY_REAL;Exponent;no;(None, "__expt_", "IN1_type");copy_input -;MOVE;1;(ANY);ANY;Assignment;no;(None, "__move_", "return_type");copy_input -Bit-shift;SHL;1;(ANY_BIT, N);ANY_BIT;Shift left;no;(None, "__shl_", "IN_type");IN_type_symbol -;SHR;1;(ANY_BIT, N);ANY_BIT;Shift right;no;(None, "__shr_", "IN_type");IN_type_symbol -;ROR;1;(ANY_NBIT, N);ANY_NBIT;Rotate right;no;(None, "__ror_", "IN_type");IN_type_symbol -;ROL;1;(ANY_NBIT, N);ANY_NBIT;Rotate left;no;(None, "__rol_", "IN_type");IN_type_symbol -Bitwise;AND;1;(ANY_BIT, ANY_BIT);ANY_BIT;Bitwise AND;yes;(None, "__and_", "return_type");copy_input -;OR;1;(ANY_BIT, ANY_BIT);ANY_BIT;Bitwise OR;yes;(None, "__or_", "return_type");copy_input -;XOR;1;(ANY_BIT, ANY_BIT);ANY_BIT;Bitwise EXOR;yes;(None, "__xor_", "return_type");copy_input -;NOT;1;(ANY_BIT);ANY_BIT;Bitwise inverting;no;(None, "__not_", "return_type");IN_type_symbol -Selection;SEL;0;(G, ANY, ANY);ANY;Binary selection (1 of 2);no;(None, "__sel_", "IN0_type");copy_input -;MAX;1;(ANY, ANY);ANY;Maximum;yes;(None, "__max_", "return_type");copy_input -;MIN;1;(ANY, ANY);ANY;Minimum;yes;(None, "__min_", "return_type");copy_input -;LIMIT;1;(MN, ANY, MX);ANY;Limitation;no;(None, "__limit_", "IN_type");IN_type_symbol -;MUX;0;(K, ANY, ANY);ANY;Multiplexer (select 1 of N);yes;(None, "__mux_", "return_type");copy_input -Comparison;GT;1;(ANY, ANY);BOOL;Greater than;yes;(None, "__gt_", "common_type");defined -;GE;1;(ANY, ANY);BOOL;Greater than or equal to;yes;(None, "__ge_", "common_type");defined -;EQ;1;(ANY, ANY);BOOL;Equal to;yes;(None, "__eq_", "common_type");defined -;LT;1;(ANY, ANY);BOOL;Less than;yes;(None, "__lt_", "common_type");defined -;LE;1;(ANY, ANY);BOOL;Less than or equal to;yes;(None, "__le_", "common_type");defined -;NE;1;(ANY, ANY);BOOL;Not equal to;yes;(None, "__ne_", "common_type");defined -Character string;LEN;1;(STRING);INT;Length of string;no;(None, "__len", None);defined -;LEFT;1;(STRING, L);STRING;string left of;no;(None, "__left", None);defined -;RIGHT;1;(STRING, L);STRING;string right of;no;(None, "__right", None);defined -;MID;1;(STRING, L, P);STRING;string from the middle;no;(None, "__mid", None);defined -;CONCAT;1;(STRING, STRING);STRING;Concatenation;yes;(None, "__concat", None);defined -;CONCAT;1;(DATE, TOD);DT;Time concatenation;no;(None, "__time_add", None);defined -;INSERT;1;(STRING, STRING, P);STRING;Insertion (into);no;(None, "__insert", None);defined -;DELETE;1;(STRING, L, P);STRING;Deletion (within);no;(None, "__delete", None);defined -;REPLACE;1;(STRING, STRING, L, P);STRING;Replacement (within);no;(None, "__replace", None);defined -;FIND;1;(STRING, STRING);INT;Find position;no;(None, "__find", None);defined +_("Type conversion");*_TO_**;1;(ANY);ANY;_("Data type conversion");no;ANY_TO_ANY_FORMAT_GEN(ANY_TO_ANY_LIST,fdecl);defined +;TRUNC;1;(ANY_REAL);ANY_INT;_("Rounding up/down");no;("int", None, None);&search_constant_type_c::integer +;BCD_TO_**;1;(ANY_BIT);ANY_INT;_("Conversion from BCD");no;ANY_TO_ANY_FORMAT_GEN(BCD_TO_ANY_LIST,fdecl);defined +;*_TO_BCD;1;(ANY_INT);ANY_BIT;_("Conversion to BCD");no;ANY_TO_ANY_FORMAT_GEN(ANY_TO_BCD_LIST,fdecl);&search_constant_type_c::integer +;DATE_AND_TIME_TO_TIME_OF_DAY;1;(DT);TOD;_("Conversion to time-of-day");no;(None, "__date_and_time_to_time_of_day", None);defined +;DATE_AND_TIME_TO_DATE;1;(DT);DATE;_("Conversion to date");no;(None, "__date_and_time_to_date", None);defined +_("Numerical");ABS;1;(ANY_NUM);ANY_NUM;_("Absolute number");no;(None, "__abs_", "IN_type");IN_type_symbol +;SQRT;1;(ANY_REAL);ANY_REAL;_("Square root (base 2)");no;(None, "__sqrt_", "IN_type");IN_type_symbol +;LN;1;(ANY_REAL);ANY_REAL;_("Natural logarithm");no;(None, "__ln_", "IN_type");IN_type_symbol +;LOG;1;(ANY_REAL);ANY_REAL;_("Logarithm to base 10");no;(None, "__log_", "IN_type");IN_type_symbol +;EXP;1;(ANY_REAL);ANY_REAL;_("Exponentiation");no;(None, "__exp_", "IN_type");IN_type_symbol +;SIN;1;(ANY_REAL);ANY_REAL;_("Sine");no;(None, "__sin_", "IN_type");IN_type_symbol +;COS;1;(ANY_REAL);ANY_REAL;_("Cosine");no;(None, "__cos_", "IN_type");IN_type_symbol +;TAN;1;(ANY_REAL);ANY_REAL;_("Tangent");no;(None, "__tan_", "IN_type");IN_type_symbol +;ASIN;1;(ANY_REAL);ANY_REAL;_("Arc sine");no;(None, "__asin_", "IN_type");IN_type_symbol +;ACOS;1;(ANY_REAL);ANY_REAL;_("Arc cosine");no;(None, "__acos_", "IN_type");IN_type_symbol +;ATAN;1;(ANY_REAL);ANY_REAL;_("Arc tangent");no;(None, "__atan_", "IN_type");IN_type_symbol +_("Arithmetic");ADD;1;(ANY_NUM, ANY_NUM);ANY_NUM;_("Addition");yes;(None, "__add_", "return_type");copy_input +;ADD;1;(TIME, TIME);TIME;_("Time addition");no;(None, "__time_add", None);defined +;ADD;1;(TOD, TIME);TOD;_("Time-of-day addition");no;(None, "__time_add", None);defined +;ADD;1;(DT, TIME);DT;_("Date addition");no;(None, "__time_add", None);defined +;MUL;1;(ANY_NUM, ANY_NUM);ANY_NUM;_("Multiplication");yes;(None, "__mul_", "return_type");copy_input +;MUL;1;(TIME, ANY_NUM);TIME;_("Time multiplication");no;(None, "__time_mul", None);defined +;SUB;1;(ANY_NUM, ANY_NUM);ANY_NUM;_("Subtraction");no;(None, "__sub_", "return_type");copy_input +;SUB;1;(TIME, TIME);TIME;_("Time subtraction");no;(None, "__time_sub", None);defined +;SUB;1;(DATE, DATE);TIME;_("Date subtraction");no;(None, "__time_sub", None);defined +;SUB;1;(TOD, TIME);TOD;_("Time-of-day subtraction");no;(None, "__time_sub", None);defined +;SUB;1;(TOD, TOD);TIME;_("Time-of-day subtraction");no;(None, "__time_sub", None);defined +;SUB;1;(DT, TIME);DT;_("Date and time subtraction");no;(None, "__time_sub", None);defined +;SUB;1;(DT, DT);TIME;_("Date and time subtraction");no;(None, "__time_sub", None);defined +;DIV;1;(ANY_NUM, ANY_NUM);ANY_NUM;_("Division");no;(None, "__div_", "return_type");copy_input +;DIV;1;(TIME, ANY_NUM);TIME;_("Time division");no;(None, "__time_div", None);defined +;MOD;1;(ANY_NUM, ANY_NUM);ANY_NUM;_("Remainder (modulo)");no;(None, "__mod_", "return_type");copy_input +;EXPT;1;(ANY_REAL, ANY_NUM);ANY_REAL;_("Exponent");no;(None, "__expt_", "IN1_type");copy_input +;MOVE;1;(ANY);ANY;_("Assignment");no;(None, "__move_", "return_type");copy_input +_("Bit-shift");SHL;1;(ANY_BIT, N);ANY_BIT;_("Shift left");no;(None, "__shl_", "IN_type");IN_type_symbol +;SHR;1;(ANY_BIT, N);ANY_BIT;_("Shift right");no;(None, "__shr_", "IN_type");IN_type_symbol +;ROR;1;(ANY_NBIT, N);ANY_NBIT;_("Rotate right");no;(None, "__ror_", "IN_type");IN_type_symbol +;ROL;1;(ANY_NBIT, N);ANY_NBIT;_("Rotate left");no;(None, "__rol_", "IN_type");IN_type_symbol +_("Bitwise");AND;1;(ANY_BIT, ANY_BIT);ANY_BIT;_("Bitwise AND");yes;(None, "__and_", "return_type");copy_input +;OR;1;(ANY_BIT, ANY_BIT);ANY_BIT;_("Bitwise OR");yes;(None, "__or_", "return_type");copy_input +;XOR;1;(ANY_BIT, ANY_BIT);ANY_BIT;_("Bitwise XOR");yes;(None, "__xor_", "return_type");copy_input +;NOT;1;(ANY_BIT);ANY_BIT;_("Bitwise inverting");no;(None, "__not_", "return_type");IN_type_symbol +_("Selection");SEL;0;(G, ANY, ANY);ANY;_("Binary selection (1 of 2)");no;(None, "__sel_", "IN0_type");copy_input +;MAX;1;(ANY, ANY);ANY;_("Maximum");yes;(None, "__max_", "return_type");copy_input +;MIN;1;(ANY, ANY);ANY;_("Minimum");yes;(None, "__min_", "return_type");copy_input +;LIMIT;1;(MN, ANY, MX);ANY;_("Limitation");no;(None, "__limit_", "IN_type");IN_type_symbol +;MUX;0;(K, ANY, ANY);ANY;_("Multiplexer (select 1 of N)");yes;(None, "__mux_", "return_type");copy_input +_("Comparison");GT;1;(ANY, ANY);BOOL;_("Greater than");yes;(None, "__gt_", "common_type");defined +;GE;1;(ANY, ANY);BOOL;_("Greater than or equal to");yes;(None, "__ge_", "common_type");defined +;EQ;1;(ANY, ANY);BOOL;_("Equal to");yes;(None, "__eq_", "common_type");defined +;LT;1;(ANY, ANY);BOOL;_("Less than");yes;(None, "__lt_", "common_type");defined +;LE;1;(ANY, ANY);BOOL;_("Less than or equal to");yes;(None, "__le_", "common_type");defined +;NE;1;(ANY, ANY);BOOL;_("Not equal to");yes;(None, "__ne_", "common_type");defined +_("Character string");LEN;1;(STRING);INT;_("Length of string");no;(None, "__len", None);defined +;LEFT;1;(STRING, L);STRING;_("string left of");no;(None, "__left", None);defined +;RIGHT;1;(STRING, L);STRING;_("string right of");no;(None, "__right", None);defined +;MID;1;(STRING, L, P);STRING;_("string from the middle");no;(None, "__mid", None);defined +;CONCAT;1;(STRING, STRING);STRING;_("Concatenation");yes;(None, "__concat", None);defined +;CONCAT;1;(DATE, TOD);DT;_("Time concatenation");no;(None, "__time_add", None);defined +;INSERT;1;(STRING, STRING, P);STRING;_("Insertion (into)");no;(None, "__insert", None);defined +;DELETE;1;(STRING, L, P);STRING;_("Deletion (within)");no;(None, "__delete", None);defined +;REPLACE;1;(STRING, STRING, L, P);STRING;_("Replacement (within)");no;(None, "__replace", None);defined +;FIND;1;(STRING, STRING);INT;_("Find position");no;(None, "__find", None);defined