Update list of messages to be translated for internationalization and french translations
--- a/controls/VariablePanel.py Sat Aug 25 14:45:44 2012 +0200
+++ b/controls/VariablePanel.py Sat Aug 25 14:47:23 2012 +0200
@@ -680,7 +680,7 @@
def OnVariablesGridEditorShown(self, event):
row, col = event.GetRow(), event.GetCol()
- label_value = self.Table.GetColLabelValue(col)
+ label_value = self.Table.GetColLabelValue(col, False)
if label_value == "Type":
type_menu = wx.Menu(title='') # the root menu
--- a/dialogs/ForceVariableDialog.py Sat Aug 25 14:45:44 2012 +0200
+++ b/dialogs/ForceVariableDialog.py Sat Aug 25 14:47:23 2012 +0200
@@ -150,7 +150,7 @@
def __init__(self, parent, iec_type, defaultValue=""):
wx.TextEntryDialog.__init__(self, parent, message = _("Forcing Variable Value"),
- caption = _("Please enter value for a \"%s\" variable:"%iec_type), defaultValue = defaultValue,
+ caption = _("Please enter value for a \"%s\" variable:") % iec_type, defaultValue = defaultValue,
style = wx.OK|wx.CANCEL|wx.CENTRE, pos = wx.DefaultPosition)
self.IEC_Type = iec_type
--- a/i18n/PLCOpenEditor_fr_FR.po Sat Aug 25 14:45:44 2012 +0200
+++ b/i18n/PLCOpenEditor_fr_FR.po Sat Aug 25 14:47:23 2012 +0200
@@ -7,8 +7,8 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-09-20 23:54+0200\n"
-"PO-Revision-Date: 2011-09-20 23:55+0100\n"
+"POT-Creation-Date: 2012-08-24 18:59+0200\n"
+"PO-Revision-Date: 2012-08-25 14:38+0100\n"
"Last-Translator: Laurent BESSARD <laurent.bessard@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
@@ -16,7 +16,7 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../PLCOpenEditor.py:4411
+#: ../PLCOpenEditor.py:3065
msgid ""
"\n"
"An error has occurred.\n"
@@ -38,92 +38,91 @@
"\n"
"Erreur:\n"
-#: ../VariablePanel.py:72
+#: ../controls/VariablePanel.py:77
msgid " External"
msgstr " Externe"
-#: ../VariablePanel.py:71
+#: ../controls/VariablePanel.py:76
msgid " InOut"
msgstr " Entrée-Sortie"
-#: ../VariablePanel.py:71
+#: ../controls/VariablePanel.py:76
msgid " Input"
msgstr " Entrée"
-#: ../VariablePanel.py:72
+#: ../controls/VariablePanel.py:77
msgid " Local"
msgstr " Locale"
-#: ../VariablePanel.py:71
+#: ../controls/VariablePanel.py:76
msgid " Output"
msgstr " Sortie"
-#: ../VariablePanel.py:73
+#: ../controls/VariablePanel.py:78
msgid " Temp"
msgstr " Temporaire"
-#: ../PLCOpenEditor.py:4421
+#: ../PLCOpenEditor.py:3075
msgid " : "
msgstr " : "
-#: ../PLCOpenEditor.py:3337
-#: ../PLCOpenEditor.py:3500
-#: ../PLCOpenEditor.py:3644
-#: ../dialogs/SFCTransitionDialog.py:206
+#: ../dialogs/PouTransitionDialog.py:94
+#: ../dialogs/PouActionDialog.py:91
+#: ../dialogs/PouDialog.py:111
+#: ../dialogs/SFCTransitionDialog.py:144
#, python-format
msgid " and %s"
msgstr " et %s"
-#: ../plcopen/plcopen.py:926
+#: ../plcopen/plcopen.py:1051
#, python-format
msgid "\"%s\" Data Type doesn't exist !!!"
msgstr "Le type de donnée \"%s\" n'existe pas !!!"
-#: ../plcopen/plcopen.py:944
+#: ../plcopen/plcopen.py:1069
#, python-format
msgid "\"%s\" POU already exists !!!"
msgstr "Le POU \"%s\" existe déjà !!!"
-#: ../plcopen/plcopen.py:965
+#: ../plcopen/plcopen.py:1090
#, python-format
msgid "\"%s\" POU doesn't exist !!!"
msgstr "Le POU \"%s\" n'existe pas !!!"
-#: ../Viewer.py:227
+#: ../Viewer.py:233
#, python-format
msgid "\"%s\" can't use itself!"
msgstr "\"%s\" ne peut pas s'utiliser lui-même !"
-#: ../PLCOpenEditor.py:1427
-#: ../PLCOpenEditor.py:1447
+#: ../PLCOpenEditor.py:1804
+#: ../PLCOpenEditor.py:1823
#, python-format
msgid "\"%s\" config already exists!"
msgstr "La configuration \"%s\" existe déjà !"
-#: ../plcopen/plcopen.py:276
+#: ../plcopen/plcopen.py:315
#, python-format
msgid "\"%s\" configuration already exists !!!"
msgstr "La configuration \"%s\" existe déjà !!!"
-#: ../PLCOpenEditor.py:1381
-#: ../PLCOpenEditor.py:3199
+#: ../PLCOpenEditor.py:1758
#, python-format
msgid "\"%s\" data type already exists!"
msgstr "Le type de données \"%s\" existe déjà !"
-#: ../PLCControler.py:1786
-#: ../PLCControler.py:1790
+#: ../PLCControler.py:2040
+#: ../PLCControler.py:2044
#, python-format
msgid "\"%s\" element can't be pasted here!!!"
msgstr "L'élément \"%s\" ne peut être collé ici !!!"
-#: ../PLCOpenEditor.py:3519
-#: ../PLCOpenEditor.py:3663
-#: ../Viewer.py:250
-#: ../TextViewer.py:245
-#: ../TextViewer.py:262
-#: ../dialogs/ConnectionDialog.py:215
-#: ../dialogs/FBDBlockDialog.py:260
+#: ../TextViewer.py:305
+#: ../TextViewer.py:325
+#: ../Viewer.py:251
+#: ../dialogs/PouTransitionDialog.py:105
+#: ../dialogs/ConnectionDialog.py:150
+#: ../dialogs/PouActionDialog.py:102
+#: ../dialogs/FBDBlockDialog.py:162
#, python-format
msgid "\"%s\" element for this pou already exists!"
msgstr "Un élément \"%s\" existe déjà dans ce POU !"
@@ -133,106 +132,105 @@
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:1372
-#: ../PLCOpenEditor.py:3195
-#: ../PLCOpenEditor.py:3348
-#: ../PLCOpenEditor.py:3511
-#: ../PLCOpenEditor.py:3655
-#: ../PLCOpenEditor.py:3726
-#: ../PLCOpenEditor.py:3789
-#: ../VariablePanel.py:744
-#: ../dialogs/ConnectionDialog.py:207
-#: ../dialogs/FBDBlockDialog.py:252
-#: ../dialogs/FBDVariableDialog.py:268
-#: ../dialogs/PouNameDialog.py:63
-#: ../dialogs/SFCStepDialog.py:183
-#: ../dialogs/SFCStepNameDialog.py:65
-#: ../DataTypeEditor.py:705
-#: ../DataTypeEditor.py:765
+#: ../controls/VariablePanel.py:651
+#: ../PLCOpenEditor.py:1749
+#: ../DataTypeEditor.py:547
+#: ../DataTypeEditor.py:576
+#: ../dialogs/PouNameDialog.py:49
+#: ../dialogs/PouTransitionDialog.py:101
+#: ../dialogs/SFCStepNameDialog.py:51
+#: ../dialogs/ConnectionDialog.py:146
+#: ../dialogs/FBDVariableDialog.py:199
+#: ../dialogs/PouActionDialog.py:98
+#: ../dialogs/PouDialog.py:118
+#: ../dialogs/SFCStepDialog.py:122
+#: ../dialogs/FBDBlockDialog.py:158
#, 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:233
+#: ../Viewer.py:239
#, python-format
msgid "\"%s\" is already used by \"%s\"!"
msgstr "\"%s\" est déjà utilisé par \"%s\" !"
-#: ../plcopen/plcopen.py:2386
+#: ../plcopen/plcopen.py:2786
#, python-format
msgid "\"%s\" is an invalid value!"
msgstr "\"%s\" n'est pas une valeur valide !"
-#: ../PLCOpenEditor.py:2678
-#: ../PLCOpenEditor.py:2707
+#: ../PLCOpenEditor.py:2916
+#: ../PLCOpenEditor.py:2944
#, python-format
msgid "\"%s\" is not a valid folder!"
msgstr "\"%s\" n'est pas un répertoire valide !"
-#: ../PLCOpenEditor.py:1370
-#: ../PLCOpenEditor.py:3191
-#: ../PLCOpenEditor.py:3344
-#: ../PLCOpenEditor.py:3507
-#: ../PLCOpenEditor.py:3651
-#: ../PLCOpenEditor.py:3722
-#: ../PLCOpenEditor.py:3785
-#: ../VariablePanel.py:739
-#: ../dialogs/ConnectionDialog.py:203
-#: ../dialogs/FBDBlockDialog.py:248
-#: ../dialogs/PouNameDialog.py:59
-#: ../dialogs/SFCStepDialog.py:179
-#: ../dialogs/SFCStepNameDialog.py:61
-#: ../DataTypeEditor.py:760
+#: ../controls/VariablePanel.py:649
+#: ../PLCOpenEditor.py:1747
+#: ../DataTypeEditor.py:571
+#: ../dialogs/PouNameDialog.py:47
+#: ../dialogs/PouTransitionDialog.py:99
+#: ../dialogs/SFCStepNameDialog.py:49
+#: ../dialogs/ConnectionDialog.py:144
+#: ../dialogs/PouActionDialog.py:96
+#: ../dialogs/PouDialog.py:116
+#: ../dialogs/SFCStepDialog.py:120
+#: ../dialogs/FBDBlockDialog.py:156
#, python-format
msgid "\"%s\" is not a valid identifier!"
msgstr "\"%s\" n'est pas un identifiant valide !"
-#: ../PLCOpenEditor.py:288
-#: ../PLCOpenEditor.py:2327
-#: ../PLCOpenEditor.py:2347
+#: ../PLCOpenEditor.py:312
+#: ../PLCOpenEditor.py:2543
+#: ../PLCOpenEditor.py:2562
#, 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:1390
-#: ../PLCOpenEditor.py:3352
-#: ../Viewer.py:248
-#: ../Viewer.py:274
-#: ../TextViewer.py:243
-#: ../TextViewer.py:260
-#: ../dialogs/ConnectionDialog.py:211
-#: ../dialogs/FBDBlockDialog.py:256
+#: ../controls/VariablePanel.py:306
+#: ../TextViewer.py:303
+#: ../TextViewer.py:323
+#: ../TextViewer.py:340
+#: ../PLCOpenEditor.py:1767
+#: ../Viewer.py:249
+#: ../Viewer.py:294
+#: ../Viewer.py:311
+#: ../dialogs/ConnectionDialog.py:148
+#: ../dialogs/PouDialog.py:120
+#: ../dialogs/FBDBlockDialog.py:160
#, python-format
msgid "\"%s\" pou already exists!"
msgstr "Le POU \"%s\" existe déjà !"
-#: ../plcopen/plcopen.py:307
+#: ../plcopen/plcopen.py:346
#, python-format
msgid "\"%s\" resource already exists in \"%s\" configuration !!!"
msgstr "La ressource \"%s\" existe déjà dans la configuration \"%s\" !!!"
-#: ../plcopen/plcopen.py:323
+#: ../plcopen/plcopen.py:362
#, python-format
msgid "\"%s\" resource doesn't exist in \"%s\" configuration !!!"
msgstr "La ressource \"%s\" n'existe pas dans la configuration \"%s\" !!!"
-#: ../dialogs/SFCStepDialog.py:195
-#: ../dialogs/SFCStepNameDialog.py:77
+#: ../dialogs/SFCStepNameDialog.py:57
+#: ../dialogs/SFCStepDialog.py:128
#, python-format
msgid "\"%s\" step already exists!"
msgstr "L'étape \"%s\" existe déjà !"
-#: ../DataTypeEditor.py:700
+#: ../DataTypeEditor.py:542
#, python-format
msgid "\"%s\" value already defined!"
msgstr "La valeur \"%s\" est déjà définie !"
-#: ../DataTypeEditor.py:901
+#: ../DataTypeEditor.py:718
+#: ../dialogs/ArrayTypeDialog.py:97
#, python-format
msgid "\"%s\" value isn't a valid array dimension!"
msgstr "\"%s\" n'est pas une dimension de tableau valide !"
-#: ../DataTypeEditor.py:908
+#: ../DataTypeEditor.py:725
+#: ../dialogs/ArrayTypeDialog.py:103
#, python-format
msgid ""
"\"%s\" value isn't a valid array dimension!\n"
@@ -241,91 +239,156 @@
"\"%s\" n'est pas une dimension de tableau valide !\n"
"La valeur de droite doit être supérieur à celle de gauche."
-#: ../PLCControler.py:634
+#: ../PLCControler.py:793
#, 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
+#: ../PLCControler.py:1422
+#, python-format
+msgid "%s Data Types"
+msgstr "Types de données de %s"
+
+#: ../GraphicViewer.py:278
#, python-format
msgid "%s Graphics"
msgstr "Graphique %s"
-#: ../plcopen/plcopen.py:1484
-#: ../plcopen/plcopen.py:1494
-#: ../plcopen/plcopen.py:1504
-#: ../plcopen/plcopen.py:1514
-#: ../plcopen/plcopen.py:1523
+#: ../PLCControler.py:1417
+#, python-format
+msgid "%s POUs"
+msgstr "POUs de %s"
+
+#: ../plcopen/plcopen.py:1780
+#: ../plcopen/plcopen.py:1790
+#: ../plcopen/plcopen.py:1800
+#: ../plcopen/plcopen.py:1810
+#: ../plcopen/plcopen.py:1819
#, python-format
msgid "%s body don't have instances!"
msgstr "Le code d'un %s n'a pas d'instances !"
-#: ../plcopen/plcopen.py:1546
-#: ../plcopen/plcopen.py:1553
+#: ../plcopen/plcopen.py:1842
+#: ../plcopen/plcopen.py:1849
#, python-format
msgid "%s body don't have text!"
msgstr "Le code d'un %s n'a pas de texte !"
-#: ../PLCOpenEditor.py:4399
-#: ../PLCOpenEditor.py:4401
-#: ../PLCOpenEditor.py:4402
+#: ../PLCOpenEditor.py:462
+msgid "&Add Element"
+msgstr "&Ajouter un élément"
+
+#: ../PLCOpenEditor.py:432
+msgid "&Configuration"
+msgstr "&Configuration"
+
+#: ../PLCOpenEditor.py:423
+msgid "&Data Type"
+msgstr "&Type de donnée"
+
+#: ../PLCOpenEditor.py:466
+msgid "&Delete"
+msgstr "&Supprimer"
+
+#: ../PLCOpenEditor.py:415
+msgid "&Display"
+msgstr "&Affichage"
+
+#: ../PLCOpenEditor.py:414
+msgid "&Edit"
+msgstr "&Editer"
+
+#: ../PLCOpenEditor.py:413
+msgid "&File"
+msgstr "&Fichier"
+
+#: ../PLCOpenEditor.py:425
+msgid "&Function"
+msgstr "&Fonction"
+
+#: ../PLCOpenEditor.py:416
+msgid "&Help"
+msgstr "&Aide"
+
+#: ../PLCOpenEditor.py:429
+msgid "&Program"
+msgstr "&Programme"
+
+#: ../PLCOpenEditor.py:2702
+msgid "&Properties"
+msgstr "&Propriétés"
+
+#: ../SearchResultPanel.py:235
+#, python-format
+msgid "'%s' - %d match in project"
+msgstr "'%s' - %d correspondance dans le projet"
+
+#: ../SearchResultPanel.py:237
+#, python-format
+msgid "'%s' - %d matches in project"
+msgstr "'%s' - %d correspondances dans le projet"
+
+#: ../SearchResultPanel.py:287
+#, python-format
+msgid "(%d matches)"
+msgstr "(%d correspondances)"
+
+#: ../PLCOpenEditor.py:3053
+#: ../PLCOpenEditor.py:3055
+#: ../PLCOpenEditor.py:3056
msgid ", "
msgstr ", "
-#: ../PLCOpenEditor.py:3339
-#: ../PLCOpenEditor.py:3502
-#: ../PLCOpenEditor.py:3646
-#: ../dialogs/SFCTransitionDialog.py:208
+#: ../dialogs/PouTransitionDialog.py:96
+#: ../dialogs/PouActionDialog.py:93
+#: ../dialogs/PouDialog.py:113
+#: ../dialogs/SFCTransitionDialog.py:146
#, python-format
msgid ", %s"
msgstr ", %s"
-#: ../PLCOpenEditor.py:4397
+#: ../PLCOpenEditor.py:3051
msgid ". "
msgstr ". "
-#: ../PLCOpenEditor.py:1393
-#: ../PLCOpenEditor.py:1435
-#: ../PLCOpenEditor.py:1455
-#: ../PLCOpenEditor.py:3356
-#: ../PLCOpenEditor.py:3734
-#: ../PLCOpenEditor.py:3797
+#: ../PLCOpenEditor.py:1770
+#: ../PLCOpenEditor.py:1812
+#: ../PLCOpenEditor.py:1831
+#: ../dialogs/PouDialog.py:122
#, 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:1406
-#: ../PLCOpenEditor.py:1417
-#: ../PLCOpenEditor.py:3515
-#: ../PLCOpenEditor.py:3659
-#: ../PLCOpenEditor.py:3730
-#: ../PLCOpenEditor.py:3793
-#: ../VariablePanel.py:749
-#: ../dialogs/PouNameDialog.py:67
-#: ../dialogs/SFCStepDialog.py:187
-#: ../dialogs/SFCStepNameDialog.py:69
+#: ../controls/VariablePanel.py:653
+#: ../PLCOpenEditor.py:1782
+#: ../PLCOpenEditor.py:1793
+#: ../dialogs/PouNameDialog.py:51
+#: ../dialogs/PouTransitionDialog.py:103
+#: ../dialogs/SFCStepNameDialog.py:53
+#: ../dialogs/PouActionDialog.py:100
+#: ../dialogs/SFCStepDialog.py:124
#, python-format
msgid "A POU named \"%s\" already exists!"
msgstr "Un POU nommé \"%s\" existe déjà !"
-#: ../VariablePanel.py:1250
+#: ../dialogs/BrowseLocationsDialog.py:175
msgid "A location must be selected!"
msgstr "Une adresse doit être sélectionné !"
-#: ../PLCOpenEditor.py:1408
-#: ../PLCOpenEditor.py:1419
-#: ../VariablePanel.py:754
-#: ../dialogs/SFCStepDialog.py:191
-#: ../dialogs/SFCStepNameDialog.py:73
+#: ../controls/VariablePanel.py:655
+#: ../PLCOpenEditor.py:1784
+#: ../PLCOpenEditor.py:1795
+#: ../dialogs/SFCStepNameDialog.py:55
+#: ../dialogs/SFCStepDialog.py:126
#, 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:2519
+#: ../PLCOpenEditor.py:2735
msgid "About"
msgstr "A propos"
-#: ../PLCOpenEditor.py:2422
+#: ../PLCOpenEditor.py:2621
msgid "About PLCOpenEditor"
msgstr "A propos de PLCOpenEditor"
@@ -333,109 +396,107 @@
msgid "Absolute number"
msgstr "Nombre absolu"
-#: ../dialogs/ActionBlockDialog.py:37
-#: ../dialogs/SFCStepDialog.py:132
+#: ../dialogs/ActionBlockDialog.py:41
+#: ../dialogs/SFCStepDialog.py:69
msgid "Action"
msgstr "Action"
-#: ../PLCOpenEditor.py:3635
+#: ../Viewer.py:494
+msgid "Action Block"
+msgstr "Ajouter un bloc fonctionnel"
+
+#: ../dialogs/PouActionDialog.py:81
msgid "Action Name"
msgstr "Nom de l'action"
-#: ../PLCOpenEditor.py:3602
+#: ../dialogs/PouActionDialog.py:49
msgid "Action Name:"
msgstr "Nom de l'action :"
-#: ../plcopen/plcopen.py:1232
+#: ../plcopen/plcopen.py:1480
#, python-format
msgid "Action with name %s doesn't exist!"
msgstr "L'action nommée %s n'existe pas !"
-#: ../PLCControler.py:90
+#: ../PLCControler.py:95
msgid "Actions"
msgstr "Actions"
-#: ../dialogs/ActionBlockDialog.py:260
+#: ../dialogs/ActionBlockDialog.py:134
msgid "Actions:"
msgstr "Actions :"
-#: ../VariablePanel.py:499
-#: ../dialogs/ActionBlockDialog.py:274
-#: ../DataTypeEditor.py:539
+#: ../Viewer.py:526
msgid "Add"
msgstr "Ajouter"
-#: ../PLCOpenEditor.py:1611
-#: ../PLCOpenEditor.py:1694
+#: ../PLCOpenEditor.py:2023
+#: ../PLCOpenEditor.py:2054
msgid "Add Action"
msgstr "Ajouter une action"
-#: ../PLCOpenEditor.py:1677
+#: ../PLCOpenEditor.py:2006
msgid "Add Configuration"
msgstr "Ajouter une configuration"
-#: ../PLCOpenEditor.py:1657
+#: ../PLCOpenEditor.py:1986
msgid "Add DataType"
msgstr "Ajouter un type de donnée"
-#: ../Viewer.py:401
+#: ../Viewer.py:452
msgid "Add Divergence Branch"
msgstr "Ajouter une branche à la divergence"
-#: ../PLCOpenEditor.py:334
-msgid "Add Element"
-msgstr "Ajouter un élément"
-
-#: ../RessourceEditor.py:435
-msgid "Add Instance"
-msgstr "Ajouter une instance"
-
-#: ../PLCOpenEditor.py:1664
+#: ../PLCOpenEditor.py:1994
msgid "Add POU"
msgstr "Ajouter un POU"
-#: ../PLCOpenEditor.py:1640
-#: ../PLCOpenEditor.py:1705
+#: ../PLCOpenEditor.py:2034
+#: ../PLCOpenEditor.py:2080
msgid "Add Resource"
msgstr "Ajouter une resource"
-#: ../RessourceEditor.py:399
-msgid "Add Task"
-msgstr "Ajouter une tâche"
-
-#: ../PLCOpenEditor.py:1608
-#: ../PLCOpenEditor.py:1683
+#: ../PLCOpenEditor.py:2012
+#: ../PLCOpenEditor.py:2051
msgid "Add Transition"
msgstr "Ajouter une transition"
-#: ../Viewer.py:396
+#: ../Viewer.py:441
msgid "Add Wire Segment"
msgstr "Ajouter un segment au fil"
-#: ../PLCOpenEditor.py:2199
-msgid "Add a new data type"
-msgstr "Ajouter un nouveau type de données"
-
-#: ../SFCViewer.py:362
+#: ../SFCViewer.py:358
msgid "Add a new initial step"
msgstr "Ajouter une nouvelle étape initiale"
-#: ../Viewer.py:2020
-#: ../SFCViewer.py:698
+#: ../Viewer.py:2291
+#: ../SFCViewer.py:695
msgid "Add a new jump"
msgstr "Ajouter un nouveau renvoi"
-#: ../SFCViewer.py:384
+#: ../SFCViewer.py:380
msgid "Add a new step"
msgstr "Ajouter une nouvelle étape"
-#: ../PLCOpenEditor.py:2251
-msgid "Add new configuration"
-msgstr "Ajouter une nouvelle configuration"
-
-#: ../PLCOpenEditor.py:2264
-msgid "Add new resource"
-msgstr "Ajouter une nouvelle resource"
+#: ../dialogs/ActionBlockDialog.py:138
+msgid "Add action"
+msgstr "Ajouter une action"
+
+#: ../DataTypeEditor.py:344
+msgid "Add element"
+msgstr "Ajouter un élément"
+
+#: ../RessourceEditor.py:250
+msgid "Add instance"
+msgstr "Ajouter une instance"
+
+#: ../RessourceEditor.py:221
+msgid "Add task"
+msgstr "Ajouter une tâche"
+
+#: ../controls/VariablePanel.py:373
+msgid "Add variable"
+msgstr "Ajouter une variable"
#: ../plcopen/iec_std.csv:33
msgid "Addition"
@@ -445,17 +506,17 @@
msgid "Additional function blocks"
msgstr "Blocs fonctionnels additionnels"
-#: ../Viewer.py:410
+#: ../Viewer.py:1397
msgid "Alignment"
msgstr "Alignement"
-#: ../VariablePanel.py:70
-#: ../VariablePanel.py:1067
-#: ../VariablePanel.py:1184
+#: ../controls/VariablePanel.py:75
+#: ../dialogs/BrowseLocationsDialog.py:35
+#: ../dialogs/BrowseLocationsDialog.py:116
msgid "All"
msgstr "Toutes"
-#: ../DataTypeEditor.py:775
+#: ../DataTypeEditor.py:586
#, python-format
msgid "An element named \"%s\" already exists in this structure!"
msgstr "Un élément nommé \"%s\" existe déjà dans la structure !"
@@ -476,8 +537,8 @@
msgid "Arithmetic"
msgstr "Arithmétique"
-#: ../VariablePanel.py:807
-#: ../DataTypeEditor.py:236
+#: ../controls/VariablePanel.py:724
+#: ../DataTypeEditor.py:51
msgid "Array"
msgstr "Tableau"
@@ -485,26 +546,31 @@
msgid "Assignment"
msgstr "Assignation"
-#: ../dialogs/FBDVariableDialog.py:264
+#: ../dialogs/FBDVariableDialog.py:197
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:2990
+#: ../controls/ProjectPropertiesPanel.py:99
msgid "Author"
msgstr "Auteur"
-#: ../PLCOpenEditor.py:2975
+#: ../controls/ProjectPropertiesPanel.py:96
msgid "Author Name (optional):"
msgstr "Nom de l'auteur (optionel) :"
-#: ../DataTypeEditor.py:379
-#: ../DataTypeEditor.py:403
-#: ../DataTypeEditor.py:478
+#: ../dialogs/FindInPouDialog.py:72
+msgid "Backward"
+msgstr "Vers le haut"
+
+#: ../DataTypeEditor.py:167
+#: ../DataTypeEditor.py:197
+#: ../DataTypeEditor.py:289
+#: ../dialogs/ArrayTypeDialog.py:55
msgid "Base Type:"
msgstr "Type de base :"
-#: ../VariablePanel.py:787
-#: ../DataTypeEditor.py:801
+#: ../controls/VariablePanel.py:694
+#: ../DataTypeEditor.py:616
msgid "Base Types"
msgstr "Types de base"
@@ -536,57 +602,61 @@
msgid "Bitwise inverting"
msgstr "Inversion bit à bit"
-#: ../dialogs/FBDBlockDialog.py:113
+#: ../Viewer.py:464
+msgid "Block"
+msgstr "Block"
+
+#: ../dialogs/FBDBlockDialog.py:38
msgid "Block Properties"
msgstr "Propriétés du bloc"
-#: ../PLCOpenEditor.py:1918
-#: ../dialogs/FBDBlockDialog.py:268
-msgid "Block Types"
-msgstr "Types de blocs"
-
-#: ../Viewer.py:368
+#: ../Viewer.py:433
msgid "Bottom"
msgstr "Bas"
-#: ../VariablePanel.py:1126
+#: ../dialogs/BrowseLocationsDialog.py:55
msgid "Browse Locations"
msgstr "Naviger dans les adresses"
-#: ../PLCOpenEditor.py:1859
-msgid "CSV Log"
-msgstr "Log CVS"
-
-#: ../plcopen/plcopen.py:1426
-#: ../plcopen/plcopen.py:1440
-#: ../plcopen/plcopen.py:1461
-#: ../plcopen/plcopen.py:1477
+#: ../plcopen/plcopen.py:1722
+#: ../plcopen/plcopen.py:1736
+#: ../plcopen/plcopen.py:1757
+#: ../plcopen/plcopen.py:1773
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:327
+#: ../controls/VariablePanel.py:255
msgid "Can only give a location to local or global variables"
msgstr "Une adresse ne peut être affecté qu'à des variables locales ou globales"
-#: ../PLCOpenEditor.py:2673
+#: ../PLCOpenEditor.py:2911
#, 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:325
+#: ../controls/VariablePanel.py:253
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:2705
+msgstr "Une adresse ne peut être affectée à une instance de Function Block"
+
+#: ../PLCOpenEditor.py:2942
#, python-format
msgid "Can't save project to file %s!"
msgstr "Le projet n'a pu être sauvé dans le fichier \"%s\" !"
-#: ../Viewer.py:359
+#: ../controls/VariablePanel.py:293
+msgid "Can't set an initial value to a function block instance"
+msgstr "Une valeur initiale ne peut être affectée une instance de Function Block"
+
+#: ../dialogs/FindInPouDialog.py:81
+#: ../dialogs/SearchInProjectDialog.py:67
+msgid "Case sensitive"
+msgstr "Respecter la casse"
+
+#: ../Viewer.py:428
msgid "Center"
msgstr "Centre"
-#: ../PLCOpenEditor.py:1629
+#: ../PLCOpenEditor.py:2072
msgid "Change POU Type To"
msgstr "Changer le type du POU pour"
@@ -594,55 +664,67 @@
msgid "Character string"
msgstr "Chaîne de caractères"
-#: ../PLCOpenEditor.py:2635
-#: ../PLCOpenEditor.py:2663
-#: ../PLCOpenEditor.py:2699
+#: ../PLCOpenEditor.py:2867
+#: ../PLCOpenEditor.py:2901
+#: ../PLCOpenEditor.py:2936
msgid "Choose a file"
msgstr "Choisissez un fichier"
-#: ../VariablePanel.py:53
-#: ../VariablePanel.py:54
+#: ../controls/VariablePanel.py:58
+#: ../controls/VariablePanel.py:59
msgid "Class"
msgstr "Classe"
-#: ../VariablePanel.py:491
+#: ../controls/VariablePanel.py:364
msgid "Class Filter:"
msgstr "Filtre de classe :"
-#: ../dialogs/FBDVariableDialog.py:124
+#: ../dialogs/FBDVariableDialog.py:62
msgid "Class:"
msgstr "Classe :"
-#: ../PLCOpenEditor.py:373
+#: ../PLCOpenEditor.py:509
msgid "Clear Errors\tCTRL+K"
msgstr "Effacer les erreurs\tCTRL+K"
-#: ../Viewer.py:406
+#: ../Viewer.py:519
msgid "Clear Execution Order"
msgstr "Effacer l'ordre d'exécution"
-#: ../PLCOpenEditor.py:2553
+#: ../GraphicViewer.py:125
+msgid "Clear the graph values"
+msgstr "Vider les valeurs du graphique"
+
+#: ../PLCOpenEditor.py:2775
msgid "Close Application"
msgstr "Fermer l'application"
-#: ../PLCOpenEditor.py:888
-#: ../PLCOpenEditor.py:2475
+#: ../PLCOpenEditor.py:1189
msgid "Close Project"
msgstr "Fermer le projet"
-#: ../PLCOpenEditor.py:2473
+#: ../PLCOpenEditor.py:2685
+msgid "Close Project\tCTRL+SHIFT+W"
+msgstr "Fermer le projet\tCTRL+SHIFT+W"
+
+#: ../PLCOpenEditor.py:2683
msgid "Close Tab\tCTRL+W"
msgstr "Fermer l'onglet\tCTRL+W"
-#: ../LDViewer.py:505
+#: ../Viewer.py:480
+msgid "Coil"
+msgstr "Relai"
+
+#: ../Viewer.py:500
+#: ../LDViewer.py:503
msgid "Comment"
msgstr "Commentaire"
-#: ../PLCOpenEditor.py:2959
+#: ../controls/ProjectPropertiesPanel.py:94
msgid "Company Name (required):"
msgstr "Nom de l'entreprise (obligatoire) :"
-#: ../PLCOpenEditor.py:2967
+#: ../controls/ProjectPropertiesPanel.py:95
msgid "Company URL (optional):"
msgstr "URL de l'entreprise (optionel) :"
@@ -654,39 +736,44 @@
msgid "Concatenation"
msgstr "Concaténation"
-#: ../PLCOpenEditor.py:344
+#: ../dialogs/SearchInProjectDialog.py:47
msgid "Configuration"
msgstr "Configuration"
-#: ../PLCControler.py:91
+#: ../PLCControler.py:96
msgid "Configurations"
msgstr "Configurations"
-#: ../dialogs/SFCTransitionDialog.py:143
+#: ../Viewer.py:466
+#: ../dialogs/SFCTransitionDialog.py:76
msgid "Connection"
msgstr "Connexion"
-#: ../dialogs/ConnectionDialog.py:101
+#: ../dialogs/ConnectionDialog.py:37
msgid "Connection Properties"
msgstr "Propriétés de la connexion"
-#: ../dialogs/ConnectionDialog.py:117
+#: ../dialogs/ConnectionDialog.py:56
msgid "Connector"
msgstr "Connecteur"
-#: ../dialogs/SFCStepDialog.py:109
+#: ../dialogs/SFCStepDialog.py:58
msgid "Connectors:"
msgstr "Connecteurs :"
-#: ../VariablePanel.py:60
+#: ../controls/VariablePanel.py:65
msgid "Constant"
msgstr "Constante"
-#: ../PLCOpenEditor.py:3049
+#: ../Viewer.py:476
+msgid "Contact"
+msgstr "Contact"
+
+#: ../controls/ProjectPropertiesPanel.py:197
msgid "Content Description (optional):"
msgstr "Description du contenu (optionel) :"
-#: ../dialogs/ConnectionDialog.py:123
+#: ../dialogs/ConnectionDialog.py:61
msgid "Continuation"
msgstr "Prolongement"
@@ -706,11 +793,16 @@
msgid "Conversion to time-of-day"
msgstr "Conversion en heure de la journée"
-#: ../PLCOpenEditor.py:329
+#: ../PLCOpenEditor.py:499
+#: ../Viewer.py:535
+msgid "Copy"
+msgstr "Copier"
+
+#: ../PLCOpenEditor.py:446
msgid "Copy\tCTRL+C"
msgstr "Copier\tCtrl+C"
-#: ../PLCOpenEditor.py:1616
+#: ../PLCOpenEditor.py:2059
msgid "Copy POU"
msgstr "Copier ce POU"
@@ -718,99 +810,104 @@
msgid "Cosine"
msgstr "Cosinus"
-#: ../PLCControler.py:620
-#: ../PLCControler.py:652
+#: ../PLCControler.py:765
+#: ../PLCControler.py:802
msgid "Couldn't paste non-POU object."
msgstr "Impossible de coller autre chose qu'un POU."
-#: ../PLCOpenEditor.py:3277
+#: ../dialogs/PouDialog.py:43
msgid "Create a new POU"
msgstr "Créer un nouveau POU"
-#: ../PLCOpenEditor.py:3598
+#: ../dialogs/PouActionDialog.py:38
msgid "Create a new action"
msgstr "Créer une nouvelle action"
-#: ../PLCOpenEditor.py:220
+#: ../PLCOpenEditor.py:233
msgid "Create a new action block"
msgstr "Créer un nouveau bloc d'actions"
-#: ../PLCOpenEditor.py:175
-#: ../PLCOpenEditor.py:202
-#: ../PLCOpenEditor.py:232
+#: ../PLCOpenEditor.py:182
+#: ../PLCOpenEditor.py:212
+#: ../PLCOpenEditor.py:245
msgid "Create a new block"
msgstr "Créer un nouveau bloc"
-#: ../PLCOpenEditor.py:196
+#: ../PLCOpenEditor.py:206
msgid "Create a new branch"
msgstr "Créer une nouvelle branche"
-#: ../PLCOpenEditor.py:190
+#: ../PLCOpenEditor.py:200
msgid "Create a new coil"
msgstr "Créer un nouveau relai"
-#: ../PLCOpenEditor.py:169
-#: ../PLCOpenEditor.py:181
-#: ../PLCOpenEditor.py:208
+#: ../PLCOpenEditor.py:176
+#: ../PLCOpenEditor.py:191
+#: ../PLCOpenEditor.py:221
msgid "Create a new comment"
msgstr "Créer un nouveau copmmentaire"
-#: ../PLCOpenEditor.py:178
-#: ../PLCOpenEditor.py:205
-#: ../PLCOpenEditor.py:235
+#: ../PLCOpenEditor.py:185
+#: ../PLCOpenEditor.py:215
+#: ../PLCOpenEditor.py:248
msgid "Create a new connection"
msgstr "Créer une nouvelle connexion"
-#: ../PLCOpenEditor.py:193
-#: ../PLCOpenEditor.py:241
+#: ../PLCOpenEditor.py:203
+#: ../PLCOpenEditor.py:254
msgid "Create a new contact"
msgstr "Créer un nouveau contact"
-#: ../PLCOpenEditor.py:223
+#: ../PLCOpenEditor.py:236
msgid "Create a new divergence"
msgstr "Créer une nouvelle divergence"
-#: ../dialogs/SFCDivergenceDialog.py:103
+#: ../dialogs/SFCDivergenceDialog.py:36
msgid "Create a new divergence or convergence"
msgstr "Créer une nouvelle divergence ou convergence"
-#: ../PLCOpenEditor.py:211
+#: ../PLCOpenEditor.py:224
msgid "Create a new initial step"
msgstr "Créer une nouvelle étape initiale"
-#: ../PLCOpenEditor.py:226
+#: ../PLCOpenEditor.py:239
msgid "Create a new jump"
msgstr "Créer un nouveau renvoi"
-#: ../PLCOpenEditor.py:184
-#: ../PLCOpenEditor.py:238
+#: ../PLCOpenEditor.py:194
+#: ../PLCOpenEditor.py:251
msgid "Create a new power rail"
msgstr "Créer une nouvelle barre d'alimentation"
-#: ../PLCOpenEditor.py:187
+#: ../PLCOpenEditor.py:197
msgid "Create a new rung"
msgstr "Créer un nouvel échelon"
-#: ../PLCOpenEditor.py:214
+#: ../PLCOpenEditor.py:227
msgid "Create a new step"
msgstr "Créer une nouvelle étape"
-#: ../PLCOpenEditor.py:217
-#: ../PLCOpenEditor.py:3454
+#: ../PLCOpenEditor.py:230
+#: ../dialogs/PouTransitionDialog.py:42
msgid "Create a new transition"
msgstr "Créer une nouvelle transition"
-#: ../PLCOpenEditor.py:172
-#: ../PLCOpenEditor.py:199
-#: ../PLCOpenEditor.py:229
+#: ../PLCOpenEditor.py:179
+#: ../PLCOpenEditor.py:209
+#: ../PLCOpenEditor.py:242
msgid "Create a new variable"
msgstr "Créer une nouvelle variable"
-#: ../PLCOpenEditor.py:327
+#: ../PLCOpenEditor.py:498
+#: ../Viewer.py:534
+msgid "Cut"
+msgstr "Couper"
+
+#: ../PLCOpenEditor.py:444
msgid "Cut\tCTRL+X"
msgstr "Couper\tCTRL+X"
-#: ../RessourceEditor.py:86
+#: ../RessourceEditor.py:70
msgid "Cyclic"
msgstr "Périodique"
@@ -824,13 +921,13 @@
#: ../plcopen/iec_std.csv:58
#: ../plcopen/iec_std.csv:60
msgid "DEPRECATED"
-msgstr ""
-
-#: ../PLCOpenEditor.py:336
+msgstr "OBSOLETE"
+
+#: ../dialogs/SearchInProjectDialog.py:43
msgid "Data Type"
msgstr "Type de donnée"
-#: ../PLCControler.py:90
+#: ../PLCControler.py:95
msgid "Data Types"
msgstr "Types de données"
@@ -855,45 +952,37 @@
msgid "Date subtraction"
msgstr "Soustraction de date"
-#: ../Viewer.py:2873
+#: ../dialogs/DurationEditorDialog.py:43
+msgid "Days:"
+msgstr "Jours :"
+
+#: ../controls/PouInstanceVariablesPanel.py:52
+msgid "Debug instance"
+msgstr "Déboguer l'instance"
+
+#: ../Viewer.py:3224
#, python-format
msgid "Debug: %s"
msgstr "Déboggage : %s"
-#: ../PLCOpenEditor.py:624
+#: ../PLCOpenEditor.py:706
msgid "Debugger"
msgstr "Déboggueur"
-#: ../PLCOpenEditor.py:348
-#: ../PLCOpenEditor.py:1634
-#: ../PLCOpenEditor.py:1643
-#: ../PLCOpenEditor.py:1649
-#: ../PLCOpenEditor.py:4169
-#: ../Viewer.py:415
-#: ../VariablePanel.py:504
-#: ../dialogs/ActionBlockDialog.py:279
-#: ../DataTypeEditor.py:544
+#: ../PLCOpenEditor.py:2088
+#: ../Viewer.py:510
msgid "Delete"
msgstr "Supprimer"
-#: ../Viewer.py:403
+#: ../Viewer.py:453
msgid "Delete Divergence Branch"
msgstr "Supprimer une branche de divergence"
-#: ../RessourceEditor.py:440
-msgid "Delete Instance"
-msgstr "Supprimer une instance"
-
-#: ../RessourceEditor.py:404
-msgid "Delete Task"
-msgstr "Supprimer une tâche"
-
-#: ../Viewer.py:398
+#: ../Viewer.py:442
msgid "Delete Wire Segment"
msgstr "Supprimer un segment de fil"
-#: ../DataTypeEditor.py:453
-#: ../DataTypeEditor.py:495
+#: ../controls/CustomEditableListBox.py:41
msgid "Delete item"
msgstr "Supprimer un élément"
@@ -901,7 +990,7 @@
msgid "Deletion (within)"
msgstr "Suppression (au milieu)"
-#: ../DataTypeEditor.py:364
+#: ../DataTypeEditor.py:145
msgid "Derivation Type:"
msgstr "Type de dérivation :"
@@ -913,32 +1002,41 @@
"Dérivée\n"
"Le Function Block derivative produit une sortie XOUT proportionnelle au rapport de changement de l'entrée XIN."
-#: ../DataTypeEditor.py:487
+#: ../controls/VariablePanel.py:355
+msgid "Description:"
+msgstr "Description :"
+
+#: ../DataTypeEditor.py:313
+#: ../dialogs/ArrayTypeDialog.py:61
msgid "Dimensions:"
msgstr "Dimensions :"
-#: ../VariablePanel.py:1143
+#: ../dialogs/FindInPouDialog.py:61
+msgid "Direction"
+msgstr "Direction"
+
+#: ../dialogs/BrowseLocationsDialog.py:78
msgid "Direction:"
msgstr "Direction :"
-#: ../DataTypeEditor.py:236
+#: ../DataTypeEditor.py:51
msgid "Directly"
msgstr "Direct"
-#: ../PLCOpenEditor.py:311
-msgid "Display"
-msgstr "Affichage"
+#: ../Viewer.py:495
+msgid "Divergence"
+msgstr "Divergence"
#: ../plcopen/iec_std.csv:36
msgid "Division"
msgstr "Division"
-#: ../VariablePanel.py:53
-#: ../VariablePanel.py:54
+#: ../controls/VariablePanel.py:58
+#: ../controls/VariablePanel.py:59
msgid "Documentation"
msgstr "Documentation"
-#: ../PLCOpenEditor.py:2667
+#: ../PLCOpenEditor.py:2905
msgid "Done"
msgstr "Terminé"
@@ -950,67 +1048,74 @@
"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/ActionBlockDialog.py:33
+#: ../dialogs/ActionBlockDialog.py:37
msgid "Duration"
msgstr "Durée"
-#: ../PLCOpenEditor.py:310
-msgid "Edit"
-msgstr "Editer"
-
-#: ../Viewer.py:413
+#: ../Viewer.py:509
msgid "Edit Block"
msgstr "Editer le block"
-#: ../dialogs/LDElementDialog.py:193
+#: ../dialogs/LDElementDialog.py:41
msgid "Edit Coil Values"
msgstr "Editer les valeurs du relai"
-#: ../dialogs/LDElementDialog.py:188
+#: ../dialogs/LDElementDialog.py:38
msgid "Edit Contact Values"
msgstr "Editer les valeurs du contact"
-#: ../dialogs/SFCStepDialog.py:101
+#: ../dialogs/DurationEditorDialog.py:59
+msgid "Edit Duration"
+msgstr "Editer une durée"
+
+#: ../dialogs/SFCStepDialog.py:35
msgid "Edit Step"
msgstr "Editer l'étape"
-#: ../dialogs/ActionBlockDialog.py:256
+#: ../dialogs/ActionBlockDialog.py:122
msgid "Edit action block properties"
msgstr "Editer les propriétés du block d'actions"
-#: ../Viewer.py:1845
-#: ../Viewer.py:1847
-#: ../Viewer.py:2346
-#: ../Viewer.py:2348
+#: ../dialogs/ArrayTypeDialog.py:45
+msgid "Edit array type properties"
+msgstr "Editer les propriétés d'un type de données tableau"
+
+#: ../Viewer.py:2114
+#: ../Viewer.py:2116
+#: ../Viewer.py:2632
+#: ../Viewer.py:2634
msgid "Edit comment"
msgstr "Editer le commentaire"
-#: ../DataTypeEditor.py:448
-#: ../DataTypeEditor.py:490
+#: ../controls/CustomEditableListBox.py:39
msgid "Edit item"
msgstr "Editer l'élément"
-#: ../Viewer.py:2311
+#: ../Viewer.py:2596
msgid "Edit jump target"
msgstr "Editer la cible du renvoi"
-#: ../SFCViewer.py:726
+#: ../SFCViewer.py:724
msgid "Edit step name"
msgstr "Editer le nom de l'étape"
-#: ../dialogs/SFCTransitionDialog.py:104
+#: ../dialogs/SFCTransitionDialog.py:38
msgid "Edit transition"
msgstr "Editer la transition"
-#: ../DataTypeEditor.py:520
+#: ../PLCOpenEditor.py:678
+msgid "Editor ToolBar"
+msgstr "Barre d'outils d'édition"
+
+#: ../DataTypeEditor.py:340
msgid "Elements :"
msgstr "Eléments :"
-#: ../PLCOpenEditor.py:324
+#: ../PLCOpenEditor.py:441
msgid "Enable Undo/Redo"
msgstr "Activer Défaire/Refaire"
-#: ../DataTypeEditor.py:236
+#: ../DataTypeEditor.py:51
msgid "Enumerated"
msgstr "Enumération"
@@ -1018,104 +1123,59 @@
msgid "Equal to"
msgstr "Egal à"
-#: ../PLCOpenEditor.py:882
-#: ../PLCOpenEditor.py:1393
-#: ../PLCOpenEditor.py:1430
-#: ../PLCOpenEditor.py:1435
-#: ../PLCOpenEditor.py:1450
-#: ../PLCOpenEditor.py:1455
-#: ../PLCOpenEditor.py:2305
-#: ../PLCOpenEditor.py:2674
-#: ../PLCOpenEditor.py:2679
-#: ../PLCOpenEditor.py:3095
-#: ../PLCOpenEditor.py:3187
-#: ../PLCOpenEditor.py:3191
-#: ../PLCOpenEditor.py:3195
-#: ../PLCOpenEditor.py:3199
-#: ../PLCOpenEditor.py:3340
-#: ../PLCOpenEditor.py:3344
-#: ../PLCOpenEditor.py:3348
-#: ../PLCOpenEditor.py:3352
-#: ../PLCOpenEditor.py:3503
-#: ../PLCOpenEditor.py:3507
-#: ../PLCOpenEditor.py:3511
-#: ../PLCOpenEditor.py:3515
-#: ../PLCOpenEditor.py:3519
-#: ../PLCOpenEditor.py:3647
-#: ../PLCOpenEditor.py:3651
-#: ../PLCOpenEditor.py:3655
-#: ../PLCOpenEditor.py:3659
-#: ../PLCOpenEditor.py:3663
-#: ../PLCOpenEditor.py:3718
-#: ../PLCOpenEditor.py:3722
-#: ../PLCOpenEditor.py:3726
-#: ../PLCOpenEditor.py:3730
-#: ../PLCOpenEditor.py:3781
-#: ../PLCOpenEditor.py:3785
-#: ../PLCOpenEditor.py:3789
-#: ../PLCOpenEditor.py:3793
-#: ../PLCOpenEditor.py:4096
-#: ../PLCOpenEditor.py:4422
-#: ../PLCOpenEditor.py:4432
-#: ../Viewer.py:334
-#: ../TextViewer.py:281
-#: ../LDViewer.py:665
-#: ../LDViewer.py:881
-#: ../LDViewer.py:885
-#: ../VariablePanel.py:374
-#: ../VariablePanel.py:739
-#: ../VariablePanel.py:744
-#: ../VariablePanel.py:749
-#: ../VariablePanel.py:754
-#: ../VariablePanel.py:1250
-#: ../dialogs/ConnectionDialog.py:199
-#: ../dialogs/ConnectionDialog.py:203
-#: ../dialogs/ConnectionDialog.py:207
-#: ../dialogs/ConnectionDialog.py:211
-#: ../dialogs/ConnectionDialog.py:215
-#: ../dialogs/FBDBlockDialog.py:240
-#: ../dialogs/FBDBlockDialog.py:244
-#: ../dialogs/FBDBlockDialog.py:248
-#: ../dialogs/FBDBlockDialog.py:252
-#: ../dialogs/FBDBlockDialog.py:256
-#: ../dialogs/FBDBlockDialog.py:260
-#: ../dialogs/FBDVariableDialog.py:264
-#: ../dialogs/FBDVariableDialog.py:268
-#: ../dialogs/ForceVariableDialog.py:170
-#: ../dialogs/ForceVariableDialog.py:174
-#: ../dialogs/PouNameDialog.py:55
-#: ../dialogs/PouNameDialog.py:59
-#: ../dialogs/PouNameDialog.py:63
-#: ../dialogs/PouNameDialog.py:67
-#: ../dialogs/SFCStepDialog.py:175
-#: ../dialogs/SFCStepDialog.py:179
-#: ../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
+#: ../controls/VariablePanel.py:325
+#: ../controls/VariablePanel.py:673
+#: ../controls/DebugVariablePanel.py:164
+#: ../TextViewer.py:356
+#: ../PLCOpenEditor.py:1183
+#: ../PLCOpenEditor.py:1770
+#: ../PLCOpenEditor.py:1807
+#: ../PLCOpenEditor.py:1812
+#: ../PLCOpenEditor.py:1826
+#: ../PLCOpenEditor.py:1831
+#: ../PLCOpenEditor.py:2520
+#: ../PLCOpenEditor.py:2912
+#: ../PLCOpenEditor.py:2917
+#: ../PLCOpenEditor.py:3076
+#: ../PLCOpenEditor.py:3086
+#: ../DataTypeEditor.py:542
+#: ../DataTypeEditor.py:547
+#: ../DataTypeEditor.py:571
+#: ../DataTypeEditor.py:576
+#: ../DataTypeEditor.py:586
+#: ../DataTypeEditor.py:718
+#: ../DataTypeEditor.py:725
+#: ../Viewer.py:365
+#: ../LDViewer.py:663
+#: ../LDViewer.py:879
+#: ../LDViewer.py:883
+#: ../dialogs/PouNameDialog.py:53
+#: ../dialogs/PouTransitionDialog.py:107
+#: ../dialogs/BrowseLocationsDialog.py:175
+#: ../dialogs/ProjectDialog.py:71
+#: ../dialogs/SFCStepNameDialog.py:59
+#: ../dialogs/ConnectionDialog.py:152
+#: ../dialogs/FBDVariableDialog.py:201
+#: ../dialogs/PouActionDialog.py:104
+#: ../dialogs/PouDialog.py:132
+#: ../dialogs/SFCTransitionDialog.py:147
+#: ../dialogs/DurationEditorDialog.py:121
+#: ../dialogs/DurationEditorDialog.py:163
+#: ../dialogs/SearchInProjectDialog.py:157
+#: ../dialogs/SFCStepDialog.py:130
+#: ../dialogs/ArrayTypeDialog.py:97
+#: ../dialogs/ArrayTypeDialog.py:103
+#: ../dialogs/FBDBlockDialog.py:164
+#: ../dialogs/ForceVariableDialog.py:169
msgid "Error"
msgstr "Erreur"
-#: ../dialogs/FBDBlockDialog.py:133
+#: ../dialogs/FBDBlockDialog.py:95
msgid "Execution Control:"
msgstr "Contrôle d'exécution :"
-#: ../dialogs/FBDBlockDialog.py:129
-#: ../dialogs/FBDVariableDialog.py:132
+#: ../dialogs/FBDVariableDialog.py:76
+#: ../dialogs/FBDBlockDialog.py:87
msgid "Execution Order:"
msgstr "Ordre d'exécution :"
@@ -1127,24 +1187,27 @@
msgid "Exponentiation"
msgstr "Exponentiel"
-#: ../dialogs/FBDVariableDialog.py:128
+#: ../GraphicViewer.py:144
+msgid "Export graph values to clipboard"
+msgstr "Exporter les valeurs du graphique vers le presse-papier"
+
+#: ../dialogs/FBDVariableDialog.py:69
msgid "Expression:"
msgstr "Expression :"
-#: ../VariablePanel.py:72
+#: ../controls/VariablePanel.py:77
msgid "External"
msgstr "Externe"
-#: ../PLCOpenEditor.py:3027
-#: ../PLCOpenEditor.py:3222
-#: ../PLCOpenEditor.py:3232
-#: ../PLCOpenEditor.py:3411
-#: ../PLCOpenEditor.py:3555
+#: ../controls/ProjectPropertiesPanel.py:143
+#: ../dialogs/PouTransitionDialog.py:35
+#: ../dialogs/PouActionDialog.py:31
+#: ../dialogs/PouDialog.py:36
msgid "FBD"
msgstr "FBD"
-#: ../Viewer.py:393
-#: ../dialogs/LDElementDialog.py:155
+#: ../Viewer.py:404
+#: ../dialogs/LDElementDialog.py:84
msgid "Falling Edge"
msgstr "Front descendant"
@@ -1156,88 +1219,127 @@
"Détecteur de front descendant\n"
"La sortie produit une impulsion unique lorsqu'un front descendant est détecté."
-#: ../PLCOpenEditor.py:309
-msgid "File"
-msgstr "Fichier"
+#: ../dialogs/DurationEditorDialog.py:160
+#, python-format
+msgid "Field %s hasn't a valid value!"
+msgstr "Le champ %s n'a pas une valeur valide !"
+
+#: ../dialogs/DurationEditorDialog.py:162
+#, python-format
+msgid "Fields %s haven't a valid value!"
+msgstr "Les champs %s n'ont pas une valeur valide !"
+
+#: ../dialogs/FindInPouDialog.py:30
+#: ../dialogs/FindInPouDialog.py:99
+msgid "Find"
+msgstr "Rechercher"
+
+#: ../PLCOpenEditor.py:451
+msgid "Find\tCTRL+F"
+msgstr "Rechercher...\tCTRL+Z"
+
+#: ../PLCOpenEditor.py:453
+msgid "Find Next\tCTRL+K"
+msgstr "Recherche suivante\tCTRL+N"
+
+#: ../PLCOpenEditor.py:455
+msgid "Find Previous\tCTRL+SHIFT+K"
+msgstr "Recherche précédente\tCTRL+SHIFT+K"
#: ../plcopen/iec_std.csv:90
msgid "Find position"
msgstr "Trouver la position"
-#: ../PLCOpenEditor.py:4237
-#: ../Viewer.py:1095
+#: ../dialogs/FindInPouDialog.py:51
+msgid "Find:"
+msgstr "Rechercher :"
+
+#: ../controls/DebugVariablePanel.py:295
+#: ../Viewer.py:1355
msgid "Force value"
msgstr "Forcer la valeur"
-#: ../dialogs/ForceVariableDialog.py:155
+#: ../dialogs/ForceVariableDialog.py:152
msgid "Forcing Variable Value"
msgstr "Forcer la valeur de la variable"
-#: ../PLCOpenEditor.py:3095
-#: ../PLCOpenEditor.py:3340
-#: ../PLCOpenEditor.py:3503
-#: ../PLCOpenEditor.py:3647
-#: ../dialogs/SFCTransitionDialog.py:209
+#: ../dialogs/PouTransitionDialog.py:97
+#: ../dialogs/ProjectDialog.py:70
+#: ../dialogs/PouActionDialog.py:94
+#: ../dialogs/PouDialog.py:114
+#: ../dialogs/SFCTransitionDialog.py:147
#, python-format
msgid "Form isn't complete. %s must be filled!"
msgstr "Le formulaire est incomplet. %s doit être complété !"
-#: ../dialogs/ConnectionDialog.py:199
-#: ../dialogs/FBDBlockDialog.py:244
+#: ../dialogs/ConnectionDialog.py:142
+#: ../dialogs/FBDBlockDialog.py:154
msgid "Form isn't complete. Name must be filled!"
msgstr "Le formulaire est incomplet. Le nom doit être complété !"
-#: ../dialogs/FBDBlockDialog.py:240
+#: ../dialogs/SearchInProjectDialog.py:145
+msgid "Form isn't complete. Pattern to search must be filled!"
+msgstr "Le formulaire est incomplet. Le modèle à chercher doit être complété !"
+
+#: ../dialogs/FBDBlockDialog.py:152
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:338
+#: ../dialogs/FindInPouDialog.py:67
+msgid "Forward"
+msgstr "Vers le bas"
+
+#: ../dialogs/SearchInProjectDialog.py:44
msgid "Function"
msgstr "Fonction"
-#: ../PLCOpenEditor.py:340
-#: ../PLCOpenEditor.py:1624
+#: ../PLCOpenEditor.py:427
+msgid "Function &Block"
+msgstr "&Bloc Fonctionnel"
+
+#: ../PLCOpenEditor.py:2067
+#: ../dialogs/SearchInProjectDialog.py:45
msgid "Function Block"
msgstr "Bloc fonctionnel"
-#: ../VariablePanel.py:819
+#: ../controls/VariablePanel.py:736
msgid "Function Block Types"
msgstr "Types de blocs fonctionnels"
-#: ../PLCControler.py:89
+#: ../PLCControler.py:94
msgid "Function Blocks"
msgstr "Blocs fonctionnels"
-#: ../Viewer.py:229
+#: ../Viewer.py:235
msgid "Function Blocks can't be used in Functions!"
msgstr "Les blocs fonctionnels ne peuvent être utilisés dans des functions !"
-#: ../Viewer.py:231
+#: ../Viewer.py:237
msgid "Function Blocks can't be used in Transitions!"
msgstr "Les blocs fonctionnels ne peuvent être utilisés dans des transitions"
-#: ../PLCControler.py:1801
+#: ../PLCControler.py:2055
#, 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:89
+#: ../PLCControler.py:94
msgid "Functions"
msgstr "Fonctions"
-#: ../PLCOpenEditor.py:2482
+#: ../PLCOpenEditor.py:2692
msgid "Generate Program\tCTRL+G"
msgstr "Générer le program\tCTRL+G"
-#: ../VariablePanel.py:73
+#: ../controls/VariablePanel.py:78
msgid "Global"
msgstr "Globale"
-#: ../PLCOpenEditor.py:1856
-msgid "Graphic Panel"
-msgstr "Graphique"
-
-#: ../PLCOpenEditor.py:3032
+#: ../GraphicViewer.py:131
+msgid "Go to current value"
+msgstr "Aller à la valeur actuelle"
+
+#: ../controls/ProjectPropertiesPanel.py:173
msgid "Graphics"
msgstr "Graphiques"
@@ -1249,86 +1351,91 @@
msgid "Greater than or equal to"
msgstr "Supérieur ou égal à"
-#: ../PLCOpenEditor.py:3019
+#: ../controls/ProjectPropertiesPanel.py:134
msgid "Grid Resolution:"
msgstr "Résolution de la grille :"
-#: ../PLCOpenEditor.py:3011
+#: ../controls/ProjectPropertiesPanel.py:120
msgid "Height:"
msgstr "Hauteur :"
-#: ../PLCOpenEditor.py:312
-msgid "Help"
-msgstr "Aide"
-
-#: ../PLCOpenEditor.py:2746
+#: ../controls/ProjectPropertiesPanel.py:150
msgid "Horizontal:"
msgstr "Horizontal :"
+#: ../dialogs/DurationEditorDialog.py:44
+msgid "Hours:"
+msgstr "Heures :"
+
#: ../plcopen/structures.py:250
msgid ""
"Hysteresis\n"
"The hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2."
msgstr ""
-
-#: ../PLCOpenEditor.py:3222
-#: ../PLCOpenEditor.py:3232
-#: ../PLCOpenEditor.py:3411
-#: ../PLCOpenEditor.py:3555
+"Hystérésis\n"
+"Le bloc functionnel hystérésis fourni un booléen en sortie suivant une courbe d'hystérésis entre les deux entrées réelles (REAL) XIN1 et XIN2."
+
+#: ../dialogs/PouTransitionDialog.py:35
+#: ../dialogs/PouActionDialog.py:31
+#: ../dialogs/PouDialog.py:36
msgid "IL"
msgstr "IL"
-#: ../VariablePanel.py:71
-#: ../dialogs/FBDVariableDialog.py:42
+#: ../controls/VariablePanel.py:76
+#: ../dialogs/FBDVariableDialog.py:34
msgid "InOut"
msgstr "Entrée-Sortie"
-#: ../VariablePanel.py:344
+#: ../controls/VariablePanel.py:262
#, python-format
msgid "Incompatible data types between \"%s\" and \"%s\""
msgstr "Types de donnée imcompatible entre \"%s\" et \"%s\""
-#: ../VariablePanel.py:355
+#: ../controls/VariablePanel.py:273
#, python-format
msgid "Incompatible size of data between \"%s\" and \"%s\""
msgstr "Taille de donnée incompatible entre \"%s\" et \"%s\""
-#: ../VariablePanel.py:351
+#: ../controls/VariablePanel.py:269
#, python-format
msgid "Incompatible size of data between \"%s\" and \"BOOL\""
msgstr "Taille de donnée incompatible entre \"%s\" et \"BOOL\""
-#: ../dialogs/ActionBlockDialog.py:33
+#: ../dialogs/ActionBlockDialog.py:37
msgid "Indicator"
msgstr "Indicateur"
-#: ../VariablePanel.py:53
-#: ../VariablePanel.py:54
-#: ../DataTypeEditor.py:46
+#: ../Viewer.py:491
+msgid "Initial Step"
+msgstr "Étape initiale"
+
+#: ../controls/VariablePanel.py:58
+#: ../controls/VariablePanel.py:59
+#: ../DataTypeEditor.py:47
msgid "Initial Value"
msgstr "Valeur initiale"
-#: ../DataTypeEditor.py:388
-#: ../DataTypeEditor.py:412
-#: ../DataTypeEditor.py:463
-#: ../DataTypeEditor.py:505
+#: ../DataTypeEditor.py:177
+#: ../DataTypeEditor.py:208
+#: ../DataTypeEditor.py:264
+#: ../DataTypeEditor.py:302
msgid "Initial Value:"
msgstr "Valeur initiale :"
-#: ../dialogs/ActionBlockDialog.py:37
-#: ../dialogs/SFCTransitionDialog.py:131
-#: ../dialogs/SFCTransitionDialog.py:199
+#: ../dialogs/ActionBlockDialog.py:41
+#: ../dialogs/SFCTransitionDialog.py:66
+#: ../dialogs/SFCTransitionDialog.py:137
msgid "Inline"
msgstr "Inline"
-#: ../VariablePanel.py:71
-#: ../VariablePanel.py:1068
-#: ../dialogs/FBDVariableDialog.py:41
-#: ../dialogs/SFCStepDialog.py:122
+#: ../controls/VariablePanel.py:76
+#: ../dialogs/BrowseLocationsDialog.py:36
+#: ../dialogs/FBDVariableDialog.py:33
+#: ../dialogs/SFCStepDialog.py:61
msgid "Input"
msgstr "Entrée"
-#: ../dialogs/FBDBlockDialog.py:125
+#: ../dialogs/FBDBlockDialog.py:78
msgid "Inputs:"
msgstr "Entrées :"
@@ -1336,16 +1443,12 @@
msgid "Insertion (into)"
msgstr "Insertion (au milieu)"
-#: ../plcopen/plcopen.py:1537
+#: ../plcopen/plcopen.py:1833
#, python-format
msgid "Instance with id %d doesn't exist!"
msgstr "L'instance dont l'id est %d n'existe pas !"
-#: ../PLCOpenEditor.py:565
-msgid "Instances"
-msgstr "Instances"
-
-#: ../RessourceEditor.py:420
+#: ../RessourceEditor.py:246
msgid "Instances:"
msgstr "Instances :"
@@ -1357,51 +1460,62 @@
"Intégrale\n"
"Le bloc fonctionnel INTEGRAL intègre les valeurs de l'entrée XIN en fonction du temps."
-#: ../VariablePanel.py:70
+#: ../controls/VariablePanel.py:75
msgid "Interface"
msgstr "Interface"
-#: ../RessourceEditor.py:86
+#: ../RessourceEditor.py:70
msgid "Interrupt"
msgstr "Interruption"
-#: ../RessourceEditor.py:82
+#: ../RessourceEditor.py:66
msgid "Interval"
msgstr "Interval"
-#: ../PLCControler.py:1778
-#: ../PLCControler.py:1816
+#: ../PLCControler.py:2032
+#: ../PLCControler.py:2070
msgid "Invalid plcopen element(s)!!!"
msgstr "Les éléments plcopen ne sont pas valides !!! "
-#: ../dialogs/ForceVariableDialog.py:174
+#: ../dialogs/ForceVariableDialog.py:167
#, python-format
msgid "Invalid value \"%s\" for \"%s\" variable!"
msgstr "Valeur \"%s\" invalide pour une variable de type \"%s\" !"
-#: ../PLCOpenEditor.py:4085
-#: ../PLCOpenEditor.py:4088
+#: ../controls/DebugVariablePanel.py:153
+#: ../controls/DebugVariablePanel.py:156
#, python-format
msgid "Invalid value \"%s\" for debug variable"
msgstr "Chemin de variable à déboguer \"%s\" invalide"
-#: ../VariablePanel.py:332
-#: ../VariablePanel.py:335
-#, python-format
-msgid "Invalid value \"%s\" for location"
-msgstr "Adresse \"%s\" invalide "
-
-#: ../Viewer.py:214
-#: ../Viewer.py:217
+#: ../controls/VariablePanel.py:243
+#: ../controls/VariablePanel.py:246
+#, python-format
+msgid "Invalid value \"%s\" for variable grid element"
+msgstr "Valeur \"%s\" invalide pour un élément de la grille de variables"
+
+#: ../Viewer.py:220
+#: ../Viewer.py:223
#, python-format
msgid "Invalid value \"%s\" for viewer block"
msgstr "Valeur \"%s\" invalide pour un élément graphique"
-#: ../PLCOpenEditor.py:3027
-#: ../PLCOpenEditor.py:3222
-#: ../PLCOpenEditor.py:3232
-#: ../PLCOpenEditor.py:3411
-#: ../PLCOpenEditor.py:3555
+#: ../dialogs/DurationEditorDialog.py:121
+msgid ""
+"Invalid value!\n"
+"You must fill a numeric value."
+msgstr ""
+"Valeur invalide !\n"
+"Vous devez rentrer une valeur numérique."
+
+#: ../Viewer.py:496
+msgid "Jump"
+msgstr "Renvoi"
+
+#: ../controls/ProjectPropertiesPanel.py:143
+#: ../dialogs/PouTransitionDialog.py:35
+#: ../dialogs/PouActionDialog.py:31
+#: ../dialogs/PouDialog.py:36
msgid "LD"
msgstr "LD"
@@ -1411,27 +1525,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:3330
-#: ../PLCOpenEditor.py:3493
-#: ../PLCOpenEditor.py:3637
+#: ../dialogs/PouTransitionDialog.py:86
+#: ../dialogs/PouActionDialog.py:83
+#: ../dialogs/PouDialog.py:102
msgid "Language"
msgstr "Langue"
-#: ../PLCOpenEditor.py:3041
+#: ../controls/ProjectPropertiesPanel.py:186
msgid "Language (optional):"
msgstr "Langue (optionnel) :"
-#: ../PLCOpenEditor.py:3298
-#: ../PLCOpenEditor.py:3466
-#: ../PLCOpenEditor.py:3610
+#: ../dialogs/PouTransitionDialog.py:60
+#: ../dialogs/PouActionDialog.py:56
+#: ../dialogs/PouDialog.py:71
msgid "Language:"
msgstr "Langue :"
-#: ../Viewer.py:357
+#: ../Viewer.py:427
msgid "Left"
msgstr "Gauche"
-#: ../dialogs/LDPowerRailDialog.py:118
+#: ../dialogs/LDPowerRailDialog.py:55
msgid "Left PowerRail"
msgstr "Barre d'alimentation à gauche"
@@ -1447,7 +1561,7 @@
msgid "Less than or equal to"
msgstr "Inférieur ou égal à"
-#: ../PLCOpenEditor.py:600
+#: ../PLCOpenEditor.py:698
msgid "Library"
msgstr "Librairie"
@@ -1455,15 +1569,15 @@
msgid "Limitation"
msgstr "Limitation"
-#: ../VariablePanel.py:72
+#: ../controls/VariablePanel.py:77
msgid "Local"
msgstr "Locale"
-#: ../VariablePanel.py:53
+#: ../controls/VariablePanel.py:58
msgid "Location"
msgstr "Adresse"
-#: ../VariablePanel.py:1129
+#: ../dialogs/BrowseLocationsDialog.py:61
msgid "Locations available:"
msgstr "Adresses disponibles :"
@@ -1475,50 +1589,119 @@
msgid "Maximum"
msgstr "Maximum"
-#: ../DataTypeEditor.py:430
+#: ../DataTypeEditor.py:231
msgid "Maximum:"
msgstr "Maximum :"
-#: ../VariablePanel.py:1070
+#: ../dialogs/BrowseLocationsDialog.py:38
msgid "Memory"
msgstr "Mémoire"
-#: ../Viewer.py:366
+#: ../PLCOpenEditor.py:666
+msgid "Menu ToolBar"
+msgstr "Barre d'outils du menu principal"
+
+#: ../dialogs/DurationEditorDialog.py:48
+msgid "Microseconds:"
+msgstr "Microsecondes :"
+
+#: ../Viewer.py:432
msgid "Middle"
msgstr "Milieu"
+#: ../dialogs/DurationEditorDialog.py:47
+msgid "Milliseconds:"
+msgstr "Millisecondes :"
+
#: ../plcopen/iec_std.csv:72
msgid "Minimum"
msgstr "Minimum"
-#: ../DataTypeEditor.py:421
+#: ../DataTypeEditor.py:218
msgid "Minimum:"
msgstr "Minimum :"
-#: ../PLCOpenEditor.py:3056
+#: ../dialogs/DurationEditorDialog.py:45
+msgid "Minutes:"
+msgstr "Minutes :"
+
+#: ../controls/ProjectPropertiesPanel.py:210
msgid "Miscellaneous"
msgstr "Divers"
-#: ../dialogs/LDElementDialog.py:117
+#: ../dialogs/LDElementDialog.py:59
msgid "Modifier:"
msgstr "Modificateur :"
-#: ../PLCGenerator.py:724
-#: ../PLCGenerator.py:948
+#: ../PLCGenerator.py:703
+#: ../PLCGenerator.py:936
#, python-format
msgid "More than one connector found corresponding to \"%s\" continuation in \"%s\" POU"
msgstr "Plusieurs connecteurs trouvés pour le prolongement \"%s\" dans le POU \"%s\""
-#: ../DataTypeEditor.py:459
-#: ../DataTypeEditor.py:501
+#: ../dialogs/ActionBlockDialog.py:141
+msgid "Move action down"
+msgstr "Déplacer une action vers le bas"
+
+#: ../dialogs/ActionBlockDialog.py:140
+msgid "Move action up"
+msgstr "Déplacer une action vers le haut"
+
+#: ../controls/DebugVariablePanel.py:185
+msgid "Move debug variable down"
+msgstr "Déplacer une variable à déboguer vers le bas"
+
+#: ../controls/DebugVariablePanel.py:184
+msgid "Move debug variable up"
+msgstr "Déplacer une variable à déboguer vers le haut"
+
+#: ../controls/CustomEditableListBox.py:43
msgid "Move down"
-msgstr "Déplcer vers le haut"
-
-#: ../DataTypeEditor.py:456
-#: ../DataTypeEditor.py:498
+msgstr "Déplacer vers le haut"
+
+#: ../DataTypeEditor.py:347
+msgid "Move element down"
+msgstr "Déplcer un élément vers le bas"
+
+#: ../DataTypeEditor.py:346
+msgid "Move element up"
+msgstr "Déplacer un élément vers le haut"
+
+#: ../RessourceEditor.py:253
+msgid "Move instance down"
+msgstr "Déplacer une instance vers le bas"
+
+#: ../RessourceEditor.py:252
+msgid "Move instance up"
+msgstr "Déplacer une instance vers le haut"
+
+#: ../RessourceEditor.py:224
+msgid "Move task down"
+msgstr "Déplcer une tâche vers le bas"
+
+#: ../RessourceEditor.py:223
+msgid "Move task up"
+msgstr "Déplacer une tâche vers le haut"
+
+#: ../PLCOpenEditor.py:173
+#: ../PLCOpenEditor.py:188
+#: ../PLCOpenEditor.py:218
+#: ../PLCOpenEditor.py:259
+msgid "Move the view"
+msgstr "Déplacer la vue"
+
+#: ../controls/CustomEditableListBox.py:42
msgid "Move up"
msgstr "Déplacer vers le bas"
+#: ../controls/VariablePanel.py:376
+msgid "Move variable down"
+msgstr "Déplacer une variable vers le bas"
+
+#: ../controls/VariablePanel.py:375
+msgid "Move variable up"
+msgstr "Déplacer une variable vers le haut"
+
#: ../plcopen/iec_std.csv:74
msgid "Multiplexer (select 1 of N)"
msgstr "Multipléxeur (sélection 1 sur N)"
@@ -1527,19 +1710,19 @@
msgid "Multiplication"
msgstr "Multiplication"
-#: ../RessourceEditor.py:82
-#: ../RessourceEditor.py:91
-#: ../VariablePanel.py:53
-#: ../VariablePanel.py:54
-#: ../DataTypeEditor.py:46
+#: ../controls/VariablePanel.py:58
+#: ../controls/VariablePanel.py:59
+#: ../RessourceEditor.py:66
+#: ../RessourceEditor.py:75
+#: ../DataTypeEditor.py:47
msgid "Name"
msgstr "Nom"
-#: ../dialogs/ConnectionDialog.py:109
-#: ../dialogs/FBDBlockDialog.py:121
-#: ../dialogs/FBDVariableDialog.py:136
-#: ../dialogs/LDElementDialog.py:121
-#: ../dialogs/SFCStepDialog.py:105
+#: ../dialogs/ConnectionDialog.py:65
+#: ../dialogs/FBDVariableDialog.py:89
+#: ../dialogs/LDElementDialog.py:88
+#: ../dialogs/SFCStepDialog.py:51
+#: ../dialogs/FBDBlockDialog.py:70
msgid "Name:"
msgstr "Nom :"
@@ -1547,40 +1730,43 @@
msgid "Natural logarithm"
msgstr "Logarithme népérien"
-#: ../Viewer.py:389
-#: ../dialogs/LDElementDialog.py:135
+#: ../Viewer.py:402
+#: ../dialogs/LDElementDialog.py:67
msgid "Negated"
msgstr "Inversé"
-#: ../PLCOpenEditor.py:2469
+#: ../PLCOpenEditor.py:2721
+msgid "New"
+msgstr "Nouveau"
+
+#: ../PLCOpenEditor.py:2679
msgid "New\tCTRL+N"
msgstr "Nouveau\tCTRL+N"
-#: ../DataTypeEditor.py:450
-#: ../DataTypeEditor.py:492
+#: ../controls/CustomEditableListBox.py:40
msgid "New item"
msgstr "Nouvel élément"
-#: ../Viewer.py:387
+#: ../Viewer.py:401
msgid "No Modifier"
msgstr "Pas de modificateur"
-#: ../PLCControler.py:2669
+#: ../PLCControler.py:2929
msgid "No PLC project found"
msgstr "Pas de projet d'automate trouvé"
-#: ../PLCGenerator.py:1331
+#: ../PLCGenerator.py:1321
#, python-format
msgid "No body defined in \"%s\" POU"
msgstr "Pas de code défini dans le POU \"%s\""
-#: ../PLCGenerator.py:743
-#: ../PLCGenerator.py:957
+#: ../PLCGenerator.py:722
+#: ../PLCGenerator.py:945
#, python-format
msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU"
msgstr "Pas de connecteur trouvé pour le prolongement \"%s\" dans le POU \"%s\""
-#: ../PLCOpenEditor.py:2416
+#: ../PLCOpenEditor.py:2615
msgid ""
"No documentation available.\n"
"Coming soon."
@@ -1588,7 +1774,7 @@
"Pas de documentation.\n"
"Bientôt disponible."
-#: ../PLCGenerator.py:765
+#: ../PLCGenerator.py:744
#, python-format
msgid "No informations found for \"%s\" block"
msgstr "Aucune information trouvée pour le block \"%s\""
@@ -1597,16 +1783,20 @@
msgid "No output variable found"
msgstr "Pas de variable de sortie trouvée."
-#: ../PLCGenerator.py:1329
+#: ../SearchResultPanel.py:169
+msgid "No search results available."
+msgstr "Pas de résultat de recherche disponible."
+
+#: ../PLCGenerator.py:1319
#, python-format
msgid "No variable defined in \"%s\" POU"
msgstr "Pas de varaibles définies dans le POU \"%s\""
-#: ../VariablePanel.py:64
+#: ../controls/VariablePanel.py:69
msgid "Non-Retain"
msgstr "Non-Persistante"
-#: ../dialogs/LDElementDialog.py:129
+#: ../dialogs/LDElementDialog.py:62
msgid "Normal"
msgstr "Normal"
@@ -1614,7 +1804,7 @@
msgid "Not equal to"
msgstr "Non égal à"
-#: ../dialogs/SFCDivergenceDialog.py:135
+#: ../dialogs/SFCDivergenceDialog.py:80
msgid "Number of sequences:"
msgstr "Nombre de branches :"
@@ -1627,30 +1817,46 @@
"Off-delay timer\n"
"The off-delay timer can be used to delay setting an output false, for fixed period after input goes false."
msgstr ""
+"Temporisation avec retard à l'extinction\n"
+"La temporisation avec retard à l'extinction peut être utilisé pour retarder le passage de la sortie à l'état faux, d'une période fixe après le passage de l'entrée à l'état faux"
#: ../plcopen/structures.py:213
msgid ""
"On-delay timer\n"
"The on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true."
msgstr ""
-
-#: ../PLCOpenEditor.py:2471
+"Temporisation avec retard à l'allumage\n"
+"La temporisation avec retard à l'allumage peut être utilisé pour retarder le passage de la sortie à l'état vrai, d'une période fixe après le passage de l'entrée à l'état vrai"
+
+#: ../dialogs/SearchInProjectDialog.py:93
+msgid "Only Elements"
+msgstr "Uniquement les éléments"
+
+#: ../PLCOpenEditor.py:2722
+msgid "Open"
+msgstr "Ouvrir"
+
+#: ../PLCOpenEditor.py:2681
msgid "Open\tCTRL+O"
msgstr "Ouvrir\tCTRL+O"
-#: ../VariablePanel.py:53
-#: ../VariablePanel.py:54
+#: ../controls/VariablePanel.py:58
+#: ../controls/VariablePanel.py:59
msgid "Option"
msgstr "Option"
-#: ../PLCOpenEditor.py:2983
+#: ../dialogs/FindInPouDialog.py:76
+msgid "Options"
+msgstr "Options"
+
+#: ../controls/ProjectPropertiesPanel.py:97
msgid "Organization (optional):"
msgstr "Groupe (optionnel) :"
-#: ../VariablePanel.py:71
-#: ../VariablePanel.py:1069
-#: ../dialogs/FBDVariableDialog.py:43
-#: ../dialogs/SFCStepDialog.py:127
+#: ../controls/VariablePanel.py:76
+#: ../dialogs/BrowseLocationsDialog.py:37
+#: ../dialogs/FBDVariableDialog.py:35
+#: ../dialogs/SFCStepDialog.py:65
msgid "Output"
msgstr "Sortie"
@@ -1662,188 +1868,192 @@
"PID\n"
"Le bloc fonctionnel PID (Proportionnel, Intégrale, Dérivée) fournit un controller de boucle fermé classique à trois paramètres."
-#: ../PLCOpenEditor.py:2635
-#: ../PLCOpenEditor.py:2699
+#: ../PLCOpenEditor.py:2867
+#: ../PLCOpenEditor.py:2936
msgid "PLCOpen files (*.xml)|*.xml|All files|*.*"
msgstr "Fichiers PLCOpen (*.xml)|*.xml|Tous les fichiers|*.*"
-#: ../PLCOpenEditor.py:2564
+#: ../PLCOpenEditor.py:2785
msgid "PLCOpenEditor"
msgstr "PLCOpenEditor"
-#: ../PLCOpenEditor.py:2513
+#: ../PLCOpenEditor.py:2729
msgid "PLCOpenEditor\tF1"
msgstr "PLCOpenEditor\tF1"
-#: ../PLCOpenEditor.py:3326
+#: ../dialogs/PouDialog.py:98
msgid "POU Name"
msgstr "Nom du POU"
-#: ../PLCOpenEditor.py:3281
+#: ../dialogs/PouDialog.py:56
msgid "POU Name:"
msgstr "Nom du POU :"
-#: ../PLCOpenEditor.py:3328
+#: ../dialogs/PouDialog.py:100
msgid "POU Type"
msgstr "Type du POU"
-#: ../PLCOpenEditor.py:3289
+#: ../dialogs/PouDialog.py:63
msgid "POU Type:"
msgstr "Type du POU :"
-#: ../PLCOpenEditor.py:2485
-msgid "Page Setup"
-msgstr "Mise en page..."
-
-#: ../PLCOpenEditor.py:2999
+#: ../PLCOpenEditor.py:2695
+msgid "Page Setup\tCTRL+ALT+P"
+msgstr "Mise en page...\tCTRL+ALT+P"
+
+#: ../controls/ProjectPropertiesPanel.py:110
msgid "Page Size (optional):"
msgstr "Taille de la page (optionnel) :"
-#: ../PLCOpenEditor.py:4367
+#: ../PLCOpenEditor.py:3021
#, python-format
msgid "Page: %d"
msgstr "Page: %d"
-#: ../PLCOpenEditor.py:331
+#: ../controls/PouInstanceVariablesPanel.py:41
+msgid "Parent instance"
+msgstr "Instance parent"
+
+#: ../PLCOpenEditor.py:500
+#: ../Viewer.py:536
+msgid "Paste"
+msgstr "Coller"
+
+#: ../PLCOpenEditor.py:448
msgid "Paste\tCTRL+V"
msgstr "Coller\tCTRL+V"
-#: ../PLCOpenEditor.py:1668
+#: ../PLCOpenEditor.py:1998
msgid "Paste POU"
msgstr "Coller un POU"
-#: ../dialogs/LDPowerRailDialog.py:110
+#: ../dialogs/SearchInProjectDialog.py:64
+msgid "Pattern to search:"
+msgstr "Modèle à rechercher :"
+
+#: ../dialogs/LDPowerRailDialog.py:64
msgid "Pin number:"
msgstr "Nombre de pattes :"
-#: ../Viewer.py:2020
-#: ../Viewer.py:2311
-#: ../SFCViewer.py:698
+#: ../Viewer.py:2291
+#: ../Viewer.py:2596
+#: ../SFCViewer.py:695
msgid "Please choose a target"
msgstr "Choisissez une cible"
-#: ../Viewer.py:1845
-#: ../Viewer.py:1847
-#: ../Viewer.py:2346
-#: ../Viewer.py:2348
+#: ../Viewer.py:2114
+#: ../Viewer.py:2116
+#: ../Viewer.py:2632
+#: ../Viewer.py:2634
msgid "Please enter comment text"
msgstr "Saisissez le texte du commentaire"
-#: ../PLCOpenEditor.py:2251
-#: ../PLCOpenEditor.py:3701
-msgid "Please enter configuration name"
-msgstr "Saisissez le nom de la configuration"
-
-#: ../PLCOpenEditor.py:2199
-msgid "Please enter data type name"
-msgstr "Saisissez le nom du type de donnée"
-
-#: ../PLCOpenEditor.py:2264
-#: ../PLCOpenEditor.py:3764
-msgid "Please enter resource name"
-msgstr "Saisissez le nom de la ressource"
-
-#: ../SFCViewer.py:362
-#: ../SFCViewer.py:384
-#: ../SFCViewer.py:726
+#: ../SFCViewer.py:358
+#: ../SFCViewer.py:380
+#: ../SFCViewer.py:724
msgid "Please enter step name"
msgstr "Saisissez le nom de l'étape"
-#: ../PLCOpenEditor.py:3172
-msgid "Please enter text"
-msgstr "Saisissez le texte"
-
-#: ../dialogs/ForceVariableDialog.py:156
+#: ../dialogs/ForceVariableDialog.py:153
#, python-format
msgid "Please enter value for a \"%s\" variable:"
msgstr "Veuillez entrer la valeur pour une variable de type \"%s\" :"
-#: ../VariablePanel.py:1196
-msgid "Plugins"
-msgstr "Plugins"
-
-#: ../GraphicViewer.py:117
+#: ../GraphicViewer.py:105
msgid "Position:"
msgstr "Position :"
-#: ../dialogs/LDPowerRailDialog.py:102
+#: ../Viewer.py:475
+msgid "Power Rail"
+msgstr "Barre d'alimentation"
+
+#: ../dialogs/LDPowerRailDialog.py:36
msgid "Power Rail Properties"
msgstr "Propriétés de la barre d'alimentation"
-#: ../PLCOpenEditor.py:2487
-msgid "Preview"
-msgstr "Aperçu avant impression"
-
-#: ../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
+#: ../PLCOpenEditor.py:2697
+msgid "Preview\tCTRL+SHIFT+P"
+msgstr "Aperçu avant impression\tCTRL+SHIFT+S"
+
+#: ../dialogs/SFCDivergenceDialog.py:93
+#: ../dialogs/LDPowerRailDialog.py:78
+#: ../dialogs/ConnectionDialog.py:78
+#: ../dialogs/FBDVariableDialog.py:97
+#: ../dialogs/SFCTransitionDialog.py:96
+#: ../dialogs/LDElementDialog.py:101
+#: ../dialogs/SFCStepDialog.py:79
+#: ../dialogs/FBDBlockDialog.py:103
msgid "Preview:"
msgstr "Aperçu :"
-#: ../PLCOpenEditor.py:2489
+#: ../PLCOpenEditor.py:2725
msgid "Print"
msgstr "Imprimer"
-#: ../PLCOpenEditor.py:951
+#: ../PLCOpenEditor.py:2699
+msgid "Print\tCTRL+P"
+msgstr "Imprimer...\tCTRL+Q"
+
+#: ../PLCOpenEditor.py:1253
msgid "Print preview"
msgstr "Aperçu avant impression"
-#: ../RessourceEditor.py:82
+#: ../RessourceEditor.py:66
msgid "Priority"
msgstr "Priorité"
-#: ../dialogs/SFCTransitionDialog.py:116
+#: ../dialogs/SFCTransitionDialog.py:83
msgid "Priority:"
msgstr "Priorité :"
-#: ../PLCOpenEditor.py:2927
+#: ../controls/ProjectPropertiesPanel.py:80
msgid "Product Name (required):"
msgstr "Nom du produit (obligatoire) :"
-#: ../PLCOpenEditor.py:2943
+#: ../controls/ProjectPropertiesPanel.py:82
msgid "Product Release (optional):"
msgstr "Publication du produit (optionnel) :"
-#: ../PLCOpenEditor.py:2935
+#: ../controls/ProjectPropertiesPanel.py:81
msgid "Product Version (required):"
msgstr "Version du produit (obligatoire) :"
-#: ../PLCOpenEditor.py:342
-#: ../PLCOpenEditor.py:1627
+#: ../PLCOpenEditor.py:2070
+#: ../dialogs/SearchInProjectDialog.py:46
msgid "Program"
msgstr "Programme"
-#: ../PLCOpenEditor.py:2676
+#: ../PLCOpenEditor.py:2914
msgid "Program was successfully generated!"
msgstr "Le programme a été généré avec succès !"
-#: ../PLCControler.py:90
+#: ../PLCControler.py:95
msgid "Programs"
msgstr "Programmes"
-#: ../Viewer.py:223
+#: ../Viewer.py:229
msgid "Programs can't be used by other POUs!"
msgstr "Les programmes ne peuvent être utilisés par les autres POUs !"
-#: ../PLCOpenEditor.py:443
-#: ../PLCOpenEditor.py:2950
+#: ../controls/ProjectPropertiesPanel.py:84
+#: ../PLCOpenEditor.py:651
msgid "Project"
msgstr "Projet"
-#: ../PLCOpenEditor.py:2911
+#: ../SearchResultPanel.py:173
+#, python-format
+msgid "Project '%s':"
+msgstr "Projet '%s' :"
+
+#: ../controls/ProjectPropertiesPanel.py:78
msgid "Project Name (required):"
msgstr "Nom du projet (obligatoire) :"
-#: ../PLCOpenEditor.py:2919
+#: ../controls/ProjectPropertiesPanel.py:79
msgid "Project Version (optional):"
msgstr "Version du projet (optionnel) :"
-#: ../PLCControler.py:2656
+#: ../PLCControler.py:2916
msgid ""
"Project file syntax error:\n"
"\n"
@@ -1851,12 +2061,11 @@
"Erreur de syntaxe dans le fichier du projet :\n"
"\n"
-#: ../PLCOpenEditor.py:2897
+#: ../dialogs/ProjectDialog.py:32
msgid "Project properties"
msgstr "Propriétés du projet"
-#: ../PLCOpenEditor.py:2492
-#: ../PLCControler.py:91
+#: ../PLCControler.py:96
msgid "Properties"
msgstr "Propriétés"
@@ -1865,12 +2074,14 @@
"Pulse timer\n"
"The pulse timer can be used to generate output pulses of a given time duration."
msgstr ""
-
-#: ../dialogs/ActionBlockDialog.py:33
+"Temporisation à impulsion\n"
+"La temporisation à impulsion peut être utilisée pour générer sur la sortie des impulsions d'une durée déterminée."
+
+#: ../dialogs/ActionBlockDialog.py:37
msgid "Qualifier"
msgstr "Qualificatif"
-#: ../PLCOpenEditor.py:2495
+#: ../PLCOpenEditor.py:2705
msgid "Quit\tCTRL+Q"
msgstr "Quitter\tCTRL+Q"
@@ -1885,30 +2096,50 @@
#: ../plcopen/structures.py:245
msgid ""
"Ramp\n"
-"The RAMP function block is modelled on example given in the standard but with the addition of a 'Holdback' feature."
+"The RAMP function block is modelled on example given in the standard."
msgstr ""
"Rampe\n"
-"Le bloc fonctionnel RAMP est basé sur l'exemple du standard mais avec en supplément un paramètre 'Holdback'."
-
-#: ../GraphicViewer.py:106
+"Le bloc fonctionnel RAMP est basé sur l'exemple du standard."
+
+#: ../GraphicViewer.py:89
msgid "Range:"
msgstr "Echelle :"
-#: ../PLCOpenEditor.py:321
+#: ../plcopen/structures.py:225
+msgid ""
+"Real time clock\n"
+"The real time clock has many uses including time stamping, setting dates and times of day in batch reports, in alarm messages and so on."
+msgstr ""
+"Horloge temps réel\n"
+"L'horloge temps réel est utilisée dans de nombreux cas tels que l'horodatage, la définition des dates et heures dans des rapports de commandes, dans des messages d'alarme et bien d'autres."
+
+#: ../PLCOpenEditor.py:496
+msgid "Redo"
+msgstr "Refaire"
+
+#: ../PLCOpenEditor.py:438
msgid "Redo\tCTRL+Y"
msgstr "Refaire\tCTRL+Y"
-#: ../dialogs/SFCTransitionDialog.py:120
-#: ../dialogs/SFCTransitionDialog.py:197
+#: ../dialogs/SFCTransitionDialog.py:57
+#: ../dialogs/SFCTransitionDialog.py:135
msgid "Reference"
msgstr "Référence"
-#: ../PLCOpenEditor.py:370
+#: ../PLCOpenEditor.py:506
msgid "Refresh\tCTRL+R"
msgstr "Actualiser\tCTRL+R"
-#: ../PLCOpenEditor.py:4240
-#: ../Viewer.py:1098
+#: ../dialogs/SearchInProjectDialog.py:73
+msgid "Regular expression"
+msgstr "Expression régulière"
+
+#: ../dialogs/FindInPouDialog.py:91
+msgid "Regular expressions"
+msgstr "Expressions régulières"
+
+#: ../controls/DebugVariablePanel.py:299
+#: ../Viewer.py:1358
msgid "Release value"
msgstr "Relacher la valeur"
@@ -1916,7 +2147,31 @@
msgid "Remainder (modulo)"
msgstr "Modulo"
-#: ../PLCOpenEditor.py:1631
+#: ../dialogs/ActionBlockDialog.py:139
+msgid "Remove action"
+msgstr "Supprimer une action"
+
+#: ../controls/DebugVariablePanel.py:183
+msgid "Remove debug variable"
+msgstr "Supprimer une variable à déboguer"
+
+#: ../DataTypeEditor.py:345
+msgid "Remove element"
+msgstr "Supprimer un élément"
+
+#: ../RessourceEditor.py:251
+msgid "Remove instance"
+msgstr "Supprimer une instance"
+
+#: ../RessourceEditor.py:222
+msgid "Remove task"
+msgstr "Supprimer la tâche"
+
+#: ../controls/VariablePanel.py:374
+msgid "Remove variable"
+msgstr "Supprimer une variable"
+
+#: ../PLCOpenEditor.py:2074
msgid "Rename"
msgstr "Renommer"
@@ -1924,36 +2179,48 @@
msgid "Replacement (within)"
msgstr "Remplacement (au milieu)"
-#: ../dialogs/LDElementDialog.py:145
+#: ../dialogs/LDElementDialog.py:76
msgid "Reset"
msgstr "Mise à zéro"
-#: ../Viewer.py:408
+#: ../Viewer.py:520
msgid "Reset Execution Order"
msgstr "Réinitialiser l'order d'exécution"
-#: ../PLCControler.py:91
+#: ../PLCOpenEditor.py:521
+msgid "Reset Perspective"
+msgstr "Réinitialiser l'interface"
+
+#: ../SearchResultPanel.py:105
+msgid "Reset search result"
+msgstr "Réinitialiser le résultat de la recherche"
+
+#: ../GraphicViewer.py:137
+msgid "Reset zoom and offset"
+msgstr "Réinitialisation du zoom et de l'offset"
+
+#: ../PLCControler.py:96
msgid "Resources"
msgstr "Ressources"
-#: ../VariablePanel.py:62
+#: ../controls/VariablePanel.py:67
msgid "Retain"
msgstr "Persistante"
-#: ../VariablePanel.py:482
+#: ../controls/VariablePanel.py:347
msgid "Return Type:"
msgstr "Type de retour :"
-#: ../Viewer.py:361
+#: ../Viewer.py:429
msgid "Right"
msgstr "Droite"
-#: ../dialogs/LDPowerRailDialog.py:124
+#: ../dialogs/LDPowerRailDialog.py:60
msgid "Right PowerRail"
msgstr "Barre d'alimentation à droite"
-#: ../Viewer.py:391
-#: ../dialogs/LDElementDialog.py:150
+#: ../Viewer.py:403
+#: ../dialogs/LDElementDialog.py:80
msgid "Rising Edge"
msgstr "Front montant"
@@ -1977,8 +2244,8 @@
msgid "Rounding up/down"
msgstr "Arrondi"
-#: ../PLCOpenEditor.py:3027
-#: ../PLCOpenEditor.py:3232
+#: ../controls/ProjectPropertiesPanel.py:143
+#: ../dialogs/PouDialog.py:36
msgid "SFC"
msgstr "SFC"
@@ -1990,35 +2257,68 @@
"Bascule SR\n"
"La bascule SR est une bascule où le Set est dominant."
-#: ../PLCOpenEditor.py:3222
-#: ../PLCOpenEditor.py:3232
-#: ../PLCOpenEditor.py:3411
-#: ../PLCOpenEditor.py:3555
+#: ../dialogs/PouTransitionDialog.py:35
+#: ../dialogs/PouActionDialog.py:31
+#: ../dialogs/PouDialog.py:36
msgid "ST"
msgstr "ST"
-#: ../PLCOpenEditor.py:2663
+#: ../PLCOpenEditor.py:2901
msgid "ST files (*.st)|*.st|All files|*.*"
msgstr "Fichiers ST (*.st)|*.st|Tous les fichiers|*.*"
-#: ../PLCOpenEditor.py:2478
+#: ../PLCOpenEditor.py:2723
+msgid "Save"
+msgstr "Enregistrer"
+
+#: ../PLCOpenEditor.py:2688
msgid "Save\tCTRL+S"
msgstr "Enregistrer\tCTRL+S"
-#: ../PLCOpenEditor.py:2480
+#: ../PLCOpenEditor.py:2724
+msgid "Save As..."
+msgstr "Enregistrer sous..."
+
+#: ../PLCOpenEditor.py:2690
msgid "Save As...\tCTRL+SHIFT+S"
msgstr "Enregistrer sous...\tCTRL+SHIFT+S"
-#: ../PLCOpenEditor.py:346
+#: ../dialogs/SearchInProjectDialog.py:76
+msgid "Scope"
+msgstr "Contexte"
+
+#: ../PLCOpenEditor.py:690
+#: ../dialogs/SearchInProjectDialog.py:105
+msgid "Search"
+msgstr "Rechercher"
+
+#: ../PLCOpenEditor.py:502
+#: ../dialogs/SearchInProjectDialog.py:52
+msgid "Search in Project"
+msgstr "Rechercher dans le projet"
+
+#: ../PLCOpenEditor.py:458
+msgid "Search in Project\tCTRL+SHIFT+F"
+msgstr "Rechercher dans le projet\tCTRL+SHIFT+F"
+
+#: ../dialogs/DurationEditorDialog.py:46
+msgid "Seconds:"
+msgstr "Secondes :"
+
+#: ../PLCOpenEditor.py:464
msgid "Select All\tCTRL+A"
msgstr "Tout sélectionner\tCTRL+A"
-#: ../VariablePanel.py:357
+#: ../controls/VariablePanel.py:276
+#: ../Viewer.py:276
msgid "Select a variable class:"
msgstr "Sélectionner une direction pour la variable :"
-#: ../PLCOpenEditor.py:576
-#: ../PLCOpenEditor.py:588
+#: ../controls/PouInstanceVariablesPanel.py:197
+msgid "Select an instance"
+msgstr "Sélectionnez une instance"
+
+#: ../PLCOpenEditor.py:674
msgid "Select an object"
msgstr "Sélectionner un objet"
@@ -2026,11 +2326,11 @@
msgid "Selection"
msgstr "Sélection"
-#: ../dialogs/SFCDivergenceDialog.py:117
+#: ../dialogs/SFCDivergenceDialog.py:62
msgid "Selection Convergence"
msgstr "Convergence simple"
-#: ../dialogs/SFCDivergenceDialog.py:111
+#: ../dialogs/SFCDivergenceDialog.py:55
msgid "Selection Divergence"
msgstr "Divergence simple"
@@ -2042,7 +2342,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/LDElementDialog.py:140
+#: ../dialogs/LDElementDialog.py:72
msgid "Set"
msgstr "Mise à 1"
@@ -2054,11 +2354,11 @@
msgid "Shift right"
msgstr "Décalage à droite"
-#: ../dialogs/SFCDivergenceDialog.py:129
+#: ../dialogs/SFCDivergenceDialog.py:74
msgid "Simultaneous Convergence"
msgstr "Convergence double"
-#: ../dialogs/SFCDivergenceDialog.py:123
+#: ../dialogs/SFCDivergenceDialog.py:68
msgid "Simultaneous Divergence"
msgstr "Divergence double"
@@ -2066,7 +2366,7 @@
msgid "Sine"
msgstr "Sinus"
-#: ../RessourceEditor.py:82
+#: ../RessourceEditor.py:66
msgid "Single"
msgstr "Evènement"
@@ -2078,11 +2378,15 @@
msgid "Standard function blocks"
msgstr "Blocs fonctionnels standards"
-#: ../DataTypeEditor.py:236
+#: ../Viewer.py:492
+msgid "Step"
+msgstr "Étape"
+
+#: ../DataTypeEditor.py:51
msgid "Structure"
msgstr "Structure"
-#: ../DataTypeEditor.py:236
+#: ../DataTypeEditor.py:51
msgid "Subrange"
msgstr "Sous-ensemble"
@@ -2090,37 +2394,41 @@
msgid "Subtraction"
msgstr "Soustraction"
+#: ../dialogs/SearchInProjectDialog.py:154
+msgid "Syntax error in regular expression of pattern to search!"
+msgstr "Erreur de syntaxe dans l'expression régulière du modèle à rechercher !"
+
#: ../plcopen/iec_std.csv:29
msgid "Tangent"
msgstr "Tangente"
-#: ../RessourceEditor.py:91
+#: ../RessourceEditor.py:75
msgid "Task"
msgstr "Tâche"
-#: ../RessourceEditor.py:384
+#: ../RessourceEditor.py:217
msgid "Tasks:"
msgstr "Tâches :"
-#: ../VariablePanel.py:73
+#: ../controls/VariablePanel.py:78
msgid "Temp"
msgstr "Temporaire"
-#: ../LDViewer.py:881
+#: ../LDViewer.py:879
msgid "The group of block must be coherent!"
msgstr "Le groupe de blocs doit être cohérent !"
-#: ../PLCOpenEditor.py:890
+#: ../PLCOpenEditor.py:1191
msgid "There are changes, do you want to save?"
msgstr "Le projet a été modifié. Voulez-vous l'enregistrer ?"
-#: ../PLCOpenEditor.py:1430
-#: ../PLCOpenEditor.py:1450
+#: ../PLCOpenEditor.py:1807
+#: ../PLCOpenEditor.py:1826
#, 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:974
+#: ../PLCOpenEditor.py:1276
msgid ""
"There was a problem printing.\n"
"Perhaps your current printer is not set correctly?"
@@ -2128,11 +2436,11 @@
"Un problème est apparu lors de l'impression.\n"
"Peut-être que votre imprimante n'est pas correctement configurée ?"
-#: ../LDViewer.py:890
+#: ../LDViewer.py:888
msgid "This option isn't available yet!"
msgstr "Cette option n'a pas encore disponible"
-#: ../GraphicViewer.py:180
+#: ../GraphicViewer.py:278
msgid "Tick"
msgstr "Tick"
@@ -2176,50 +2484,55 @@
msgid "Time-of-day subtraction"
msgstr "Soustraction d'horodatage"
-#: ../PLCOpenEditor.py:580
-msgid "Toolbar"
-msgstr "Barre d'outils"
-
-#: ../Viewer.py:364
+#: ../Viewer.py:431
msgid "Top"
msgstr "Haut"
-#: ../PLCOpenEditor.py:3491
+#: ../Viewer.py:493
+msgid "Transition"
+msgstr "Transition"
+
+#: ../PLCGenerator.py:1212
+#, python-format
+msgid "Transition \"%s\" body must contain an output variable or coil referring to its name"
+msgstr "Le code de la transition \"%s\" doit contenir une variable de sortie ou un relai dont la référence est son nom"
+
+#: ../dialogs/PouTransitionDialog.py:84
msgid "Transition Name"
msgstr "Nom de la transition"
-#: ../PLCOpenEditor.py:3458
+#: ../dialogs/PouTransitionDialog.py:53
msgid "Transition Name:"
msgstr "Nom de la transition :"
-#: ../PLCGenerator.py:1311
+#: ../PLCGenerator.py:1301
#, python-format
msgid "Transition with content \"%s\" not connected to a next step in \"%s\" POU"
msgstr "La transition contenant \"%s\" n'est pas connectée à une étape en sortie dans le POU \"%s\" !"
-#: ../PLCGenerator.py:1302
+#: ../PLCGenerator.py:1292
#, python-format
msgid "Transition with content \"%s\" not connected to a previous step in \"%s\" POU"
msgstr "La transition contenant \"%s\" n'est pas connectée à une étape en entrée dans le POU \"%s\" !"
-#: ../plcopen/plcopen.py:1194
+#: ../plcopen/plcopen.py:1442
#, python-format
msgid "Transition with name %s doesn't exist!"
msgstr "La transition nommée %s n'existe pas !"
-#: ../PLCControler.py:90
+#: ../PLCControler.py:95
msgid "Transitions"
msgstr "Transitions"
-#: ../RessourceEditor.py:82
+#: ../RessourceEditor.py:66
msgid "Triggering"
msgstr "Activation"
-#: ../RessourceEditor.py:91
-#: ../VariablePanel.py:53
-#: ../VariablePanel.py:54
-#: ../dialogs/ActionBlockDialog.py:33
-#: ../DataTypeEditor.py:46
+#: ../controls/VariablePanel.py:58
+#: ../controls/VariablePanel.py:59
+#: ../RessourceEditor.py:75
+#: ../DataTypeEditor.py:47
+#: ../dialogs/ActionBlockDialog.py:37
msgid "Type"
msgstr "Type"
@@ -2227,42 +2540,48 @@
msgid "Type conversion"
msgstr "Conversion de type"
-#: ../DataTypeEditor.py:360
+#: ../DataTypeEditor.py:154
msgid "Type infos:"
msgstr "Propriétés du type :"
-#: ../dialogs/ConnectionDialog.py:105
-#: ../dialogs/FBDBlockDialog.py:117
-#: ../dialogs/LDPowerRailDialog.py:106
-#: ../dialogs/SFCDivergenceDialog.py:107
-#: ../dialogs/SFCTransitionDialog.py:108
+#: ../dialogs/SFCDivergenceDialog.py:51
+#: ../dialogs/LDPowerRailDialog.py:51
+#: ../dialogs/ConnectionDialog.py:52
+#: ../dialogs/SFCTransitionDialog.py:53
+#: ../dialogs/FBDBlockDialog.py:48
msgid "Type:"
msgstr "Type :"
-#: ../PLCOpenEditor.py:546
-msgid "Types"
-msgstr "Types"
-
-#: ../PLCGenerator.py:232
+#: ../PLCGenerator.py:865
+#: ../PLCGenerator.py:924
+#, python-format
+msgid "Undefined block type \"%s\" in \"%s\" POU"
+msgstr "Type de block \"%s\" indéfini dans le POU \"%s\""
+
+#: ../PLCGenerator.py:240
#, python-format
msgid "Undefined pou type \"%s\""
msgstr "Type de POU \"%s\" indéterminé !"
-#: ../PLCOpenEditor.py:319
+#: ../PLCOpenEditor.py:495
+msgid "Undo"
+msgstr "Défaire"
+
+#: ../PLCOpenEditor.py:436
msgid "Undo\tCTRL+Z"
msgstr "Défaire\tCTRL+Z"
-#: ../Viewer.py:304
+#: ../Viewer.py:335
#, python-format
msgid "Unknown variable \"%s\" for this POU!"
msgstr "Variable \"%s\" inconnue dans ce POU !"
-#: ../PLCControler.py:300
+#: ../PLCControler.py:305
#, python-format
msgid "Unnamed%d"
msgstr "Sansnom%d"
-#: ../VariablePanel.py:353
+#: ../controls/VariablePanel.py:271
#, python-format
msgid "Unrecognized data size \"%s\""
msgstr "Taille de donnée \"%s\" non identifié !"
@@ -2283,118 +2602,126 @@
"Compteur bidirectionnel\n"
"Le compteur bidirectionnel a deux entrées CU et CD. Il peut être utilisé pour compter de façon incrémentale ou décrémentale sur l'une ou l'autre des entrées."
-#: ../VariablePanel.py:799
-#: ../DataTypeEditor.py:807
+#: ../controls/VariablePanel.py:704
+#: ../DataTypeEditor.py:622
msgid "User Data Types"
msgstr "Types de donnée du projet"
-#: ../PLCControler.py:89
+#: ../PLCControler.py:94
msgid "User-defined POUs"
msgstr "POUs du projet"
-#: ../PLCOpenEditor.py:3900
-#: ../dialogs/ActionBlockDialog.py:33
+#: ../controls/DebugVariablePanel.py:40
+#: ../dialogs/ActionBlockDialog.py:37
msgid "Value"
msgstr "Valeur"
-#: ../GraphicViewer.py:180
+#: ../GraphicViewer.py:278
msgid "Values"
msgstr "Valeurs"
-#: ../DataTypeEditor.py:445
+#: ../DataTypeEditor.py:251
msgid "Values:"
msgstr "Valeurs"
-#: ../PLCOpenEditor.py:3900
-#: ../dialogs/ActionBlockDialog.py:37
+#: ../controls/DebugVariablePanel.py:40
+#: ../Viewer.py:465
+#: ../dialogs/ActionBlockDialog.py:41
msgid "Variable"
msgstr "Variable"
-#: ../dialogs/FBDVariableDialog.py:120
+#: ../dialogs/FBDVariableDialog.py:47
msgid "Variable Properties"
msgstr "Propriétés de la variable"
-#: ../VariablePanel.py:357
+#: ../controls/VariablePanel.py:276
+#: ../Viewer.py:276
msgid "Variable class"
msgstr "Direction de la variable"
-#: ../Viewer.py:306
-#: ../TextViewer.py:279
+#: ../TextViewer.py:354
+#: ../Viewer.py:337
msgid "Variable don't belong to this POU!"
msgstr "La variable n'appartient pas à ce POU !"
-#: ../PLCOpenEditor.py:595
-#: ../VariablePanel.py:72
+#: ../controls/VariablePanel.py:77
msgid "Variables"
msgstr "Variables"
-#: ../PLCOpenEditor.py:2754
+#: ../controls/ProjectPropertiesPanel.py:151
msgid "Vertical:"
msgstr "Vertical :"
-#: ../PLCOpenEditor.py:3356
-#: ../PLCOpenEditor.py:3734
-#: ../PLCOpenEditor.py:3797
-#: ../LDViewer.py:890
+#: ../LDViewer.py:888
+#: ../dialogs/PouDialog.py:126
msgid "Warning"
msgstr "Attention"
-#: ../PLCOpenEditor.py:3003
+#: ../dialogs/SearchInProjectDialog.py:85
+msgid "Whole Project"
+msgstr "Tout le projet"
+
+#: ../controls/ProjectPropertiesPanel.py:119
msgid "Width:"
msgstr "Longueur :"
-#: ../LDViewer.py:885
+#: ../dialogs/FindInPouDialog.py:86
+msgid "Wrap search"
+msgstr "Boucler"
+
+#: ../LDViewer.py:883
msgid "You must select the block or group of blocks around which a branch should be added!"
msgstr "Vous devez sélectionné le bloc ou le group autour duquel un ebranche doit être ajoutée !"
-#: ../LDViewer.py:665
+#: ../LDViewer.py:663
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:3187
-#: ../PLCOpenEditor.py:3718
-#: ../PLCOpenEditor.py:3781
-#: ../dialogs/PouNameDialog.py:55
-#: ../dialogs/SFCStepDialog.py:175
-#: ../dialogs/SFCStepNameDialog.py:57
+#: ../dialogs/PouNameDialog.py:45
+#: ../dialogs/SFCStepNameDialog.py:47
+#: ../dialogs/SFCStepDialog.py:118
msgid "You must type a name!"
msgstr "Vous devez saisir un nom !"
-#: ../dialogs/ForceVariableDialog.py:170
+#: ../dialogs/ForceVariableDialog.py:165
msgid "You must type a value!"
msgstr "Vous devez saisir une valeur !"
-#: ../PLCOpenEditor.py:376
+#: ../PLCOpenEditor.py:512
msgid "Zoom"
msgstr "Zoom"
-#: ../PLCOpenEditor.py:2672
+#: ../GraphicViewer.py:97
+msgid "Zoom:"
+msgstr "Zoom :"
+
+#: ../PLCOpenEditor.py:2910
#, python-format
msgid "error: %s\n"
msgstr "erreur: %s\n"
-#: ../PLCOpenEditor.py:4399
-#: ../PLCOpenEditor.py:4401
+#: ../PLCOpenEditor.py:3053
+#: ../PLCOpenEditor.py:3055
msgid "file : "
msgstr "fichier :"
-#: ../PLCOpenEditor.py:3227
+#: ../dialogs/PouDialog.py:31
msgid "function"
msgstr "fonction"
-#: ../PLCOpenEditor.py:4402
+#: ../PLCOpenEditor.py:3056
msgid "function : "
msgstr "fonction :"
-#: ../PLCOpenEditor.py:3227
+#: ../dialogs/PouDialog.py:31
msgid "functionBlock"
msgstr "Bloc fonctionnel"
-#: ../PLCOpenEditor.py:4402
+#: ../PLCOpenEditor.py:3056
msgid "line : "
msgstr "ligne :"
-#: ../PLCOpenEditor.py:3227
+#: ../dialogs/PouDialog.py:31
msgid "program"
msgstr "programme"
@@ -2410,11 +2737,59 @@
msgid "string right of"
msgstr "Caractères à droite de"
-#: ../PLCOpenEditor.py:2670
+#: ../PLCOpenEditor.py:2908
#, python-format
msgid "warning: %s\n"
msgstr "attention: %s\n"
+#~ msgid "Add a new data type"
+#~ msgstr "Ajouter un nouveau type de données"
+
+#~ msgid "Add new configuration"
+#~ msgstr "Ajouter une nouvelle configuration"
+
+#~ msgid "Add new resource"
+#~ msgstr "Ajouter une nouvelle resource"
+
+#~ msgid "Block Types"
+#~ msgstr "Types de blocs"
+
+#~ msgid "CSV Log"
+#~ msgstr "Log CVS"
+
+#~ msgid "Delete Task"
+#~ msgstr "Supprimer une tâche"
+
+#~ msgid "Graphic Panel"
+#~ msgstr "Graphique"
+
+#~ msgid "Instances"
+#~ msgstr "Instances"
+
+#~ msgid "Invalid value \"%s\" for location"
+#~ msgstr "Adresse \"%s\" invalide "
+
+#~ msgid "Please enter configuration name"
+#~ msgstr "Saisissez le nom de la configuration"
+
+#~ msgid "Please enter data type name"
+#~ msgstr "Saisissez le nom du type de donnée"
+
+#~ msgid "Please enter resource name"
+#~ msgstr "Saisissez le nom de la ressource"
+
+#~ msgid "Please enter text"
+#~ msgstr "Saisissez le texte"
+
+#~ msgid "Plugins"
+#~ msgstr "Plugins"
+
+#~ msgid "Preview"
+#~ msgstr "Aperçu avant impression"
+
+#~ msgid "Types"
+#~ msgstr "Types"
+
#~ msgid "Create a new POU from"
#~ msgstr "Créer un nouveau POU à partir de"
--- a/i18n/README Sat Aug 25 14:45:44 2012 +0200
+++ b/i18n/README Sat Aug 25 14:47:23 2012 +0200
@@ -5,4 +5,7 @@
To generate .mo files for all languages:
python mki18n.py -m --moTarget=../locale --domain=PLCOpenEditor
-
\ No newline at end of file
+
+To generate app.fil:
+
+ find .. -name "*.py" -exec grep -q '_(' {} ';' -print -o -name "*.csv" -print > app.fil
\ No newline at end of file
--- a/i18n/app.fil Sat Aug 25 14:45:44 2012 +0200
+++ b/i18n/app.fil Sat Aug 25 14:47:23 2012 +0200
@@ -1,26 +1,54 @@
+../controls/LocationCellEditor.py
+../controls/CustomTree.py
+../controls/VariablePanel.py
+../controls/CustomGrid.py
+../controls/LibraryPanel.py
+../controls/DebugVariablePanel.py
+../controls/PouInstanceVariablesPanel.py
+../controls/EditorPanel.py
+../controls/DurationCellEditor.py
+../controls/CustomTable.py
+../controls/CustomEditableListBox.py
+../controls/ProjectPropertiesPanel.py
+../TextViewer.py
+../SearchResultPanel.py
+../xmlclass/xmlclass.py
+../xmlclass/xsdschema.py
+../RessourceEditor.py
../PLCOpenEditor.py
+../DataTypeEditor.py
+../GraphicViewer.py
../PLCGenerator.py
+../docutil/dochtml.py
+../Viewer.py
+../graphics/GraphicCommons.py
+../graphics/LD_Objects.py
+../graphics/SFC_Objects.py
+../graphics/FBD_Objects.py
+../LDViewer.py
../PLCControler.py
-../RessourceEditor.py
-../Viewer.py
-../TextViewer.py
../SFCViewer.py
-../LDViewer.py
-../GraphicViewer.py
-../VariablePanel.py
-../dialogs/ActionBlockDialog.py
-../dialogs/ConnectionDialog.py
-../dialogs/FBDBlockDialog.py
-../dialogs/FBDVariableDialog.py
-../dialogs/ForceVariableDialog.py
-../dialogs/LDElementDialog.py
-../dialogs/LDPowerRailDialog.py
../dialogs/PouNameDialog.py
../dialogs/SFCDivergenceDialog.py
+../dialogs/LDPowerRailDialog.py
+../dialogs/PouTransitionDialog.py
+../dialogs/BrowseLocationsDialog.py
+../dialogs/ProjectDialog.py
+../dialogs/SFCStepNameDialog.py
+../dialogs/ConnectionDialog.py
+../dialogs/FBDVariableDialog.py
+../dialogs/PouActionDialog.py
+../dialogs/PouDialog.py
+../dialogs/ActionBlockDialog.py
+../dialogs/SFCTransitionDialog.py
+../dialogs/LDElementDialog.py
+../dialogs/DurationEditorDialog.py
+../dialogs/FindInPouDialog.py
+../dialogs/SearchInProjectDialog.py
../dialogs/SFCStepDialog.py
-../dialogs/SFCStepNameDialog.py
-../dialogs/SFCTransitionDialog.py
-../DataTypeEditor.py
+../dialogs/ArrayTypeDialog.py
+../dialogs/FBDBlockDialog.py
+../dialogs/ForceVariableDialog.py
../plcopen/iec_std.csv
+../plcopen/structures.py
../plcopen/plcopen.py
-../plcopen/structures.py
--- a/i18n/messages.pot Sat Aug 25 14:45:44 2012 +0200
+++ b/i18n/messages.pot Sat Aug 25 14:47:23 2012 +0200
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-09-20 23:54+0200\n"
+"POT-Creation-Date: 2012-08-25 14:42+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,7 +17,7 @@
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../PLCOpenEditor.py:4411
+#: ../PLCOpenEditor.py:3063
msgid ""
"\n"
"An error has occurred.\n"
@@ -30,83 +30,83 @@
"Error:\n"
msgstr ""
-#: ../VariablePanel.py:72
+#: ../controls/VariablePanel.py:77
msgid " External"
msgstr ""
-#: ../VariablePanel.py:71
+#: ../controls/VariablePanel.py:76
msgid " InOut"
msgstr ""
-#: ../VariablePanel.py:71
+#: ../controls/VariablePanel.py:76
msgid " Input"
msgstr ""
-#: ../VariablePanel.py:72
+#: ../controls/VariablePanel.py:77
msgid " Local"
msgstr ""
-#: ../VariablePanel.py:71
+#: ../controls/VariablePanel.py:76
msgid " Output"
msgstr ""
-#: ../VariablePanel.py:73
+#: ../controls/VariablePanel.py:78
msgid " Temp"
msgstr ""
-#: ../PLCOpenEditor.py:4421
+#: ../PLCOpenEditor.py:3073
msgid " : "
msgstr ""
-#: ../PLCOpenEditor.py:3337 ../PLCOpenEditor.py:3500 ../PLCOpenEditor.py:3644
-#: ../dialogs/SFCTransitionDialog.py:206
+#: ../dialogs/PouTransitionDialog.py:94 ../dialogs/PouActionDialog.py:91
+#: ../dialogs/PouDialog.py:111 ../dialogs/SFCTransitionDialog.py:144
#, python-format
msgid " and %s"
msgstr ""
-#: ../plcopen/plcopen.py:926
+#: ../plcopen/plcopen.py:1051
#, python-format
msgid "\"%s\" Data Type doesn't exist !!!"
msgstr ""
-#: ../plcopen/plcopen.py:944
+#: ../plcopen/plcopen.py:1069
#, python-format
msgid "\"%s\" POU already exists !!!"
msgstr ""
-#: ../plcopen/plcopen.py:965
+#: ../plcopen/plcopen.py:1090
#, python-format
msgid "\"%s\" POU doesn't exist !!!"
msgstr ""
-#: ../Viewer.py:227
+#: ../Viewer.py:233
#, python-format
msgid "\"%s\" can't use itself!"
msgstr ""
-#: ../PLCOpenEditor.py:1427 ../PLCOpenEditor.py:1447
+#: ../PLCOpenEditor.py:1802 ../PLCOpenEditor.py:1821
#, python-format
msgid "\"%s\" config already exists!"
msgstr ""
-#: ../plcopen/plcopen.py:276
+#: ../plcopen/plcopen.py:315
#, python-format
msgid "\"%s\" configuration already exists !!!"
msgstr ""
-#: ../PLCOpenEditor.py:1381 ../PLCOpenEditor.py:3199
+#: ../PLCOpenEditor.py:1756
#, python-format
msgid "\"%s\" data type already exists!"
msgstr ""
-#: ../PLCControler.py:1786 ../PLCControler.py:1790
+#: ../PLCControler.py:2040 ../PLCControler.py:2044
#, python-format
msgid "\"%s\" element can't be pasted here!!!"
msgstr ""
-#: ../PLCOpenEditor.py:3519 ../PLCOpenEditor.py:3663 ../Viewer.py:250
-#: ../TextViewer.py:245 ../TextViewer.py:262
-#: ../dialogs/ConnectionDialog.py:215 ../dialogs/FBDBlockDialog.py:260
+#: ../TextViewer.py:305 ../TextViewer.py:325 ../Viewer.py:251
+#: ../dialogs/PouTransitionDialog.py:105 ../dialogs/ConnectionDialog.py:150
+#: ../dialogs/PouActionDialog.py:102 ../dialogs/FBDBlockDialog.py:162
#, python-format
msgid "\"%s\" element for this pou already exists!"
msgstr ""
@@ -116,151 +116,222 @@
msgid "\"%s\" function cancelled in \"%s\" POU: No input connected"
msgstr ""
-#: ../PLCOpenEditor.py:1372 ../PLCOpenEditor.py:3195 ../PLCOpenEditor.py:3348
-#: ../PLCOpenEditor.py:3511 ../PLCOpenEditor.py:3655 ../PLCOpenEditor.py:3726
-#: ../PLCOpenEditor.py:3789 ../VariablePanel.py:744
-#: ../dialogs/ConnectionDialog.py:207 ../dialogs/FBDBlockDialog.py:252
-#: ../dialogs/FBDVariableDialog.py:268 ../dialogs/PouNameDialog.py:63
-#: ../dialogs/SFCStepDialog.py:183 ../dialogs/SFCStepNameDialog.py:65
-#: ../DataTypeEditor.py:705 ../DataTypeEditor.py:765
+#: ../controls/VariablePanel.py:651 ../PLCOpenEditor.py:1747
+#: ../DataTypeEditor.py:547 ../DataTypeEditor.py:576
+#: ../dialogs/PouNameDialog.py:49 ../dialogs/PouTransitionDialog.py:101
+#: ../dialogs/SFCStepNameDialog.py:51 ../dialogs/ConnectionDialog.py:146
+#: ../dialogs/FBDVariableDialog.py:199 ../dialogs/PouActionDialog.py:98
+#: ../dialogs/PouDialog.py:118 ../dialogs/SFCStepDialog.py:122
+#: ../dialogs/FBDBlockDialog.py:158
#, python-format
msgid "\"%s\" is a keyword. It can't be used!"
msgstr ""
-#: ../Viewer.py:233
+#: ../Viewer.py:239
#, python-format
msgid "\"%s\" is already used by \"%s\"!"
msgstr ""
-#: ../plcopen/plcopen.py:2386
+#: ../plcopen/plcopen.py:2786
#, python-format
msgid "\"%s\" is an invalid value!"
msgstr ""
-#: ../PLCOpenEditor.py:2678 ../PLCOpenEditor.py:2707
+#: ../PLCOpenEditor.py:2914 ../PLCOpenEditor.py:2942
#, python-format
msgid "\"%s\" is not a valid folder!"
msgstr ""
-#: ../PLCOpenEditor.py:1370 ../PLCOpenEditor.py:3191 ../PLCOpenEditor.py:3344
-#: ../PLCOpenEditor.py:3507 ../PLCOpenEditor.py:3651 ../PLCOpenEditor.py:3722
-#: ../PLCOpenEditor.py:3785 ../VariablePanel.py:739
-#: ../dialogs/ConnectionDialog.py:203 ../dialogs/FBDBlockDialog.py:248
-#: ../dialogs/PouNameDialog.py:59 ../dialogs/SFCStepDialog.py:179
-#: ../dialogs/SFCStepNameDialog.py:61 ../DataTypeEditor.py:760
+#: ../controls/VariablePanel.py:649 ../PLCOpenEditor.py:1745
+#: ../DataTypeEditor.py:571 ../dialogs/PouNameDialog.py:47
+#: ../dialogs/PouTransitionDialog.py:99 ../dialogs/SFCStepNameDialog.py:49
+#: ../dialogs/ConnectionDialog.py:144 ../dialogs/PouActionDialog.py:96
+#: ../dialogs/PouDialog.py:116 ../dialogs/SFCStepDialog.py:120
+#: ../dialogs/FBDBlockDialog.py:156
#, python-format
msgid "\"%s\" is not a valid identifier!"
msgstr ""
-#: ../PLCOpenEditor.py:288 ../PLCOpenEditor.py:2327 ../PLCOpenEditor.py:2347
+#: ../PLCOpenEditor.py:312 ../PLCOpenEditor.py:2541 ../PLCOpenEditor.py:2560
#, python-format
msgid "\"%s\" is used by one or more POUs. It can't be removed!"
msgstr ""
-#: ../PLCOpenEditor.py:1390 ../PLCOpenEditor.py:3352 ../Viewer.py:248
-#: ../Viewer.py:274 ../TextViewer.py:243 ../TextViewer.py:260
-#: ../dialogs/ConnectionDialog.py:211 ../dialogs/FBDBlockDialog.py:256
+#: ../controls/VariablePanel.py:306 ../TextViewer.py:303 ../TextViewer.py:323
+#: ../TextViewer.py:340 ../PLCOpenEditor.py:1765 ../Viewer.py:249
+#: ../Viewer.py:294 ../Viewer.py:311 ../dialogs/ConnectionDialog.py:148
+#: ../dialogs/PouDialog.py:120 ../dialogs/FBDBlockDialog.py:160
#, python-format
msgid "\"%s\" pou already exists!"
msgstr ""
-#: ../plcopen/plcopen.py:307
+#: ../plcopen/plcopen.py:346
#, python-format
msgid "\"%s\" resource already exists in \"%s\" configuration !!!"
msgstr ""
-#: ../plcopen/plcopen.py:323
+#: ../plcopen/plcopen.py:362
#, python-format
msgid "\"%s\" resource doesn't exist in \"%s\" configuration !!!"
msgstr ""
-#: ../dialogs/SFCStepDialog.py:195 ../dialogs/SFCStepNameDialog.py:77
+#: ../dialogs/SFCStepNameDialog.py:57 ../dialogs/SFCStepDialog.py:128
#, python-format
msgid "\"%s\" step already exists!"
msgstr ""
-#: ../DataTypeEditor.py:700
+#: ../DataTypeEditor.py:542
#, python-format
msgid "\"%s\" value already defined!"
msgstr ""
-#: ../DataTypeEditor.py:901
+#: ../DataTypeEditor.py:718 ../dialogs/ArrayTypeDialog.py:97
#, python-format
msgid "\"%s\" value isn't a valid array dimension!"
msgstr ""
-#: ../DataTypeEditor.py:908
+#: ../DataTypeEditor.py:725 ../dialogs/ArrayTypeDialog.py:103
#, python-format
msgid ""
"\"%s\" value isn't a valid array dimension!\n"
"Right value must be greater than left value."
msgstr ""
-#: ../PLCControler.py:634
+#: ../PLCControler.py:793
#, python-format
msgid "%s \"%s\" can't be pasted as a %s."
msgstr ""
-#: ../GraphicViewer.py:180
+#: ../PLCControler.py:1422
+#, python-format
+msgid "%s Data Types"
+msgstr ""
+
+#: ../GraphicViewer.py:278
#, python-format
msgid "%s Graphics"
msgstr ""
-#: ../plcopen/plcopen.py:1484 ../plcopen/plcopen.py:1494
-#: ../plcopen/plcopen.py:1504 ../plcopen/plcopen.py:1514
-#: ../plcopen/plcopen.py:1523
+#: ../PLCControler.py:1417
+#, python-format
+msgid "%s POUs"
+msgstr ""
+
+#: ../plcopen/plcopen.py:1780 ../plcopen/plcopen.py:1790
+#: ../plcopen/plcopen.py:1800 ../plcopen/plcopen.py:1810
+#: ../plcopen/plcopen.py:1819
#, python-format
msgid "%s body don't have instances!"
msgstr ""
-#: ../plcopen/plcopen.py:1546 ../plcopen/plcopen.py:1553
+#: ../plcopen/plcopen.py:1842 ../plcopen/plcopen.py:1849
#, python-format
msgid "%s body don't have text!"
msgstr ""
-#: ../PLCOpenEditor.py:4399 ../PLCOpenEditor.py:4401 ../PLCOpenEditor.py:4402
+#: ../PLCOpenEditor.py:462
+msgid "&Add Element"
+msgstr ""
+
+#: ../PLCOpenEditor.py:432
+msgid "&Configuration"
+msgstr ""
+
+#: ../PLCOpenEditor.py:423
+msgid "&Data Type"
+msgstr ""
+
+#: ../PLCOpenEditor.py:466
+msgid "&Delete"
+msgstr ""
+
+#: ../PLCOpenEditor.py:415
+msgid "&Display"
+msgstr ""
+
+#: ../PLCOpenEditor.py:414
+msgid "&Edit"
+msgstr ""
+
+#: ../PLCOpenEditor.py:413
+msgid "&File"
+msgstr ""
+
+#: ../PLCOpenEditor.py:425
+msgid "&Function"
+msgstr ""
+
+#: ../PLCOpenEditor.py:416
+msgid "&Help"
+msgstr ""
+
+#: ../PLCOpenEditor.py:429
+msgid "&Program"
+msgstr ""
+
+#: ../PLCOpenEditor.py:2700
+msgid "&Properties"
+msgstr ""
+
+#: ../SearchResultPanel.py:235
+#, python-format
+msgid "'%s' - %d match in project"
+msgstr ""
+
+#: ../SearchResultPanel.py:237
+#, python-format
+msgid "'%s' - %d matches in project"
+msgstr ""
+
+#: ../SearchResultPanel.py:287
+#, python-format
+msgid "(%d matches)"
+msgstr ""
+
+#: ../PLCOpenEditor.py:3051 ../PLCOpenEditor.py:3053 ../PLCOpenEditor.py:3054
msgid ", "
msgstr ""
-#: ../PLCOpenEditor.py:3339 ../PLCOpenEditor.py:3502 ../PLCOpenEditor.py:3646
-#: ../dialogs/SFCTransitionDialog.py:208
+#: ../dialogs/PouTransitionDialog.py:96 ../dialogs/PouActionDialog.py:93
+#: ../dialogs/PouDialog.py:113 ../dialogs/SFCTransitionDialog.py:146
#, python-format
msgid ", %s"
msgstr ""
-#: ../PLCOpenEditor.py:4397
+#: ../PLCOpenEditor.py:3049
msgid ". "
msgstr ""
-#: ../PLCOpenEditor.py:1393 ../PLCOpenEditor.py:1435 ../PLCOpenEditor.py:1455
-#: ../PLCOpenEditor.py:3356 ../PLCOpenEditor.py:3734 ../PLCOpenEditor.py:3797
+#: ../PLCOpenEditor.py:1768 ../PLCOpenEditor.py:1810 ../PLCOpenEditor.py:1829
+#: ../dialogs/PouDialog.py:122
#, python-format
msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?"
msgstr ""
-#: ../PLCOpenEditor.py:1406 ../PLCOpenEditor.py:1417 ../PLCOpenEditor.py:3515
-#: ../PLCOpenEditor.py:3659 ../PLCOpenEditor.py:3730 ../PLCOpenEditor.py:3793
-#: ../VariablePanel.py:749 ../dialogs/PouNameDialog.py:67
-#: ../dialogs/SFCStepDialog.py:187 ../dialogs/SFCStepNameDialog.py:69
+#: ../controls/VariablePanel.py:653 ../PLCOpenEditor.py:1780
+#: ../PLCOpenEditor.py:1791 ../dialogs/PouNameDialog.py:51
+#: ../dialogs/PouTransitionDialog.py:103 ../dialogs/SFCStepNameDialog.py:53
+#: ../dialogs/PouActionDialog.py:100 ../dialogs/SFCStepDialog.py:124
#, python-format
msgid "A POU named \"%s\" already exists!"
msgstr ""
-#: ../VariablePanel.py:1250
+#: ../dialogs/BrowseLocationsDialog.py:175
msgid "A location must be selected!"
msgstr ""
-#: ../PLCOpenEditor.py:1408 ../PLCOpenEditor.py:1419 ../VariablePanel.py:754
-#: ../dialogs/SFCStepDialog.py:191 ../dialogs/SFCStepNameDialog.py:73
+#: ../controls/VariablePanel.py:655 ../PLCOpenEditor.py:1782
+#: ../PLCOpenEditor.py:1793 ../dialogs/SFCStepNameDialog.py:55
+#: ../dialogs/SFCStepDialog.py:126
#, python-format
msgid "A variable with \"%s\" as name already exists in this pou!"
msgstr ""
-#: ../PLCOpenEditor.py:2519
+#: ../PLCOpenEditor.py:2733
msgid "About"
msgstr ""
-#: ../PLCOpenEditor.py:2422
+#: ../PLCOpenEditor.py:2619
msgid "About PLCOpenEditor"
msgstr ""
@@ -268,102 +339,101 @@
msgid "Absolute number"
msgstr ""
-#: ../dialogs/ActionBlockDialog.py:37 ../dialogs/SFCStepDialog.py:132
+#: ../dialogs/ActionBlockDialog.py:41 ../dialogs/SFCStepDialog.py:69
msgid "Action"
msgstr ""
-#: ../PLCOpenEditor.py:3635
+#: ../Viewer.py:494
+msgid "Action Block"
+msgstr ""
+
+#: ../dialogs/PouActionDialog.py:81
msgid "Action Name"
msgstr ""
-#: ../PLCOpenEditor.py:3602
+#: ../dialogs/PouActionDialog.py:49
msgid "Action Name:"
msgstr ""
-#: ../plcopen/plcopen.py:1232
+#: ../plcopen/plcopen.py:1480
#, python-format
msgid "Action with name %s doesn't exist!"
msgstr ""
-#: ../PLCControler.py:90
+#: ../PLCControler.py:95
msgid "Actions"
msgstr ""
-#: ../dialogs/ActionBlockDialog.py:260
+#: ../dialogs/ActionBlockDialog.py:134
msgid "Actions:"
msgstr ""
-#: ../VariablePanel.py:499 ../dialogs/ActionBlockDialog.py:274
-#: ../DataTypeEditor.py:539
+#: ../Viewer.py:526
msgid "Add"
msgstr ""
-#: ../PLCOpenEditor.py:1611 ../PLCOpenEditor.py:1694
+#: ../PLCOpenEditor.py:2021 ../PLCOpenEditor.py:2052
msgid "Add Action"
msgstr ""
-#: ../PLCOpenEditor.py:1677
+#: ../PLCOpenEditor.py:2004
msgid "Add Configuration"
msgstr ""
-#: ../PLCOpenEditor.py:1657
+#: ../PLCOpenEditor.py:1984
msgid "Add DataType"
msgstr ""
-#: ../Viewer.py:401
+#: ../Viewer.py:452
msgid "Add Divergence Branch"
msgstr ""
-#: ../PLCOpenEditor.py:334
-msgid "Add Element"
-msgstr ""
-
-#: ../RessourceEditor.py:435
-msgid "Add Instance"
-msgstr ""
-
-#: ../PLCOpenEditor.py:1664
+#: ../PLCOpenEditor.py:1992
msgid "Add POU"
msgstr ""
-#: ../PLCOpenEditor.py:1640 ../PLCOpenEditor.py:1705
+#: ../PLCOpenEditor.py:2032 ../PLCOpenEditor.py:2078
msgid "Add Resource"
msgstr ""
-#: ../RessourceEditor.py:399
-msgid "Add Task"
-msgstr ""
-
-#: ../PLCOpenEditor.py:1608 ../PLCOpenEditor.py:1683
+#: ../PLCOpenEditor.py:2010 ../PLCOpenEditor.py:2049
msgid "Add Transition"
msgstr ""
-#: ../Viewer.py:396
+#: ../Viewer.py:441
msgid "Add Wire Segment"
msgstr ""
-#: ../PLCOpenEditor.py:2199
-msgid "Add a new data type"
-msgstr ""
-
-#: ../SFCViewer.py:362
+#: ../SFCViewer.py:358
msgid "Add a new initial step"
msgstr ""
-#: ../Viewer.py:2020 ../SFCViewer.py:698
+#: ../Viewer.py:2291 ../SFCViewer.py:695
msgid "Add a new jump"
msgstr ""
-#: ../SFCViewer.py:384
+#: ../SFCViewer.py:380
msgid "Add a new step"
msgstr ""
-#: ../PLCOpenEditor.py:2251
-msgid "Add new configuration"
-msgstr ""
-
-#: ../PLCOpenEditor.py:2264
-msgid "Add new resource"
+#: ../dialogs/ActionBlockDialog.py:138
+msgid "Add action"
+msgstr ""
+
+#: ../DataTypeEditor.py:344
+msgid "Add element"
+msgstr ""
+
+#: ../RessourceEditor.py:250
+msgid "Add instance"
+msgstr ""
+
+#: ../RessourceEditor.py:221
+msgid "Add task"
+msgstr ""
+
+#: ../controls/VariablePanel.py:373
+msgid "Add variable"
msgstr ""
#: ../plcopen/iec_std.csv:33
@@ -374,15 +444,16 @@
msgid "Additional function blocks"
msgstr ""
-#: ../Viewer.py:410
+#: ../Viewer.py:1397
msgid "Alignment"
msgstr ""
-#: ../VariablePanel.py:70 ../VariablePanel.py:1067 ../VariablePanel.py:1184
+#: ../controls/VariablePanel.py:75 ../dialogs/BrowseLocationsDialog.py:35
+#: ../dialogs/BrowseLocationsDialog.py:116
msgid "All"
msgstr ""
-#: ../DataTypeEditor.py:775
+#: ../DataTypeEditor.py:586
#, python-format
msgid "An element named \"%s\" already exists in this structure!"
msgstr ""
@@ -403,7 +474,7 @@
msgid "Arithmetic"
msgstr ""
-#: ../VariablePanel.py:807 ../DataTypeEditor.py:236
+#: ../controls/VariablePanel.py:724 ../DataTypeEditor.py:51
msgid "Array"
msgstr ""
@@ -411,23 +482,28 @@
msgid "Assignment"
msgstr ""
-#: ../dialogs/FBDVariableDialog.py:264
+#: ../dialogs/FBDVariableDialog.py:197
msgid "At least a variable or an expression must be selected!"
msgstr ""
-#: ../PLCOpenEditor.py:2990
+#: ../controls/ProjectPropertiesPanel.py:99
msgid "Author"
msgstr ""
-#: ../PLCOpenEditor.py:2975
+#: ../controls/ProjectPropertiesPanel.py:96
msgid "Author Name (optional):"
msgstr ""
-#: ../DataTypeEditor.py:379 ../DataTypeEditor.py:403 ../DataTypeEditor.py:478
+#: ../dialogs/FindInPouDialog.py:72
+msgid "Backward"
+msgstr ""
+
+#: ../DataTypeEditor.py:167 ../DataTypeEditor.py:197 ../DataTypeEditor.py:289
+#: ../dialogs/ArrayTypeDialog.py:55
msgid "Base Type:"
msgstr ""
-#: ../VariablePanel.py:787 ../DataTypeEditor.py:801
+#: ../controls/VariablePanel.py:694 ../DataTypeEditor.py:616
msgid "Base Types"
msgstr ""
@@ -459,54 +535,58 @@
msgid "Bitwise inverting"
msgstr ""
-#: ../dialogs/FBDBlockDialog.py:113
+#: ../Viewer.py:464
+msgid "Block"
+msgstr ""
+
+#: ../dialogs/FBDBlockDialog.py:38
msgid "Block Properties"
msgstr ""
-#: ../PLCOpenEditor.py:1918 ../dialogs/FBDBlockDialog.py:268
-msgid "Block Types"
-msgstr ""
-
-#: ../Viewer.py:368
+#: ../Viewer.py:433
msgid "Bottom"
msgstr ""
-#: ../VariablePanel.py:1126
+#: ../dialogs/BrowseLocationsDialog.py:55
msgid "Browse Locations"
msgstr ""
-#: ../PLCOpenEditor.py:1859
-msgid "CSV Log"
-msgstr ""
-
-#: ../plcopen/plcopen.py:1426 ../plcopen/plcopen.py:1440
-#: ../plcopen/plcopen.py:1461 ../plcopen/plcopen.py:1477
+#: ../plcopen/plcopen.py:1722 ../plcopen/plcopen.py:1736
+#: ../plcopen/plcopen.py:1757 ../plcopen/plcopen.py:1773
msgid "Can only generate execution order on FBD networks!"
msgstr ""
-#: ../VariablePanel.py:327
+#: ../controls/VariablePanel.py:255
msgid "Can only give a location to local or global variables"
msgstr ""
-#: ../PLCOpenEditor.py:2673
+#: ../PLCOpenEditor.py:2909
#, python-format
msgid "Can't generate program to file %s!"
msgstr ""
-#: ../VariablePanel.py:325
+#: ../controls/VariablePanel.py:253
msgid "Can't give a location to a function block instance"
msgstr ""
-#: ../PLCOpenEditor.py:2705
+#: ../PLCOpenEditor.py:2940
#, python-format
msgid "Can't save project to file %s!"
msgstr ""
-#: ../Viewer.py:359
+#: ../controls/VariablePanel.py:293
+msgid "Can't set an initial value to a function block instance"
+msgstr ""
+
+#: ../dialogs/FindInPouDialog.py:81 ../dialogs/SearchInProjectDialog.py:67
+msgid "Case sensitive"
+msgstr ""
+
+#: ../Viewer.py:428
msgid "Center"
msgstr ""
-#: ../PLCOpenEditor.py:1629
+#: ../PLCOpenEditor.py:2070
msgid "Change POU Type To"
msgstr ""
@@ -514,51 +594,63 @@
msgid "Character string"
msgstr ""
-#: ../PLCOpenEditor.py:2635 ../PLCOpenEditor.py:2663 ../PLCOpenEditor.py:2699
+#: ../PLCOpenEditor.py:2865 ../PLCOpenEditor.py:2899 ../PLCOpenEditor.py:2934
msgid "Choose a file"
msgstr ""
-#: ../VariablePanel.py:53 ../VariablePanel.py:54
+#: ../controls/VariablePanel.py:58 ../controls/VariablePanel.py:59
msgid "Class"
msgstr ""
-#: ../VariablePanel.py:491
+#: ../controls/VariablePanel.py:364
msgid "Class Filter:"
msgstr ""
-#: ../dialogs/FBDVariableDialog.py:124
+#: ../dialogs/FBDVariableDialog.py:62
msgid "Class:"
msgstr ""
-#: ../PLCOpenEditor.py:373
+#: ../PLCOpenEditor.py:509
msgid "Clear Errors\tCTRL+K"
msgstr ""
-#: ../Viewer.py:406
+#: ../Viewer.py:519
msgid "Clear Execution Order"
msgstr ""
-#: ../PLCOpenEditor.py:2553
+#: ../GraphicViewer.py:125
+msgid "Clear the graph values"
+msgstr ""
+
+#: ../PLCOpenEditor.py:2773
msgid "Close Application"
msgstr ""
-#: ../PLCOpenEditor.py:888 ../PLCOpenEditor.py:2475
+#: ../PLCOpenEditor.py:1187
msgid "Close Project"
msgstr ""
-#: ../PLCOpenEditor.py:2473
+#: ../PLCOpenEditor.py:2683
+msgid "Close Project\tCTRL+SHIFT+W"
+msgstr ""
+
+#: ../PLCOpenEditor.py:2681
msgid "Close Tab\tCTRL+W"
msgstr ""
-#: ../LDViewer.py:505
+#: ../Viewer.py:480
+msgid "Coil"
+msgstr ""
+
+#: ../Viewer.py:500 ../LDViewer.py:503
msgid "Comment"
msgstr ""
-#: ../PLCOpenEditor.py:2959
+#: ../controls/ProjectPropertiesPanel.py:94
msgid "Company Name (required):"
msgstr ""
-#: ../PLCOpenEditor.py:2967
+#: ../controls/ProjectPropertiesPanel.py:95
msgid "Company URL (optional):"
msgstr ""
@@ -570,39 +662,43 @@
msgid "Concatenation"
msgstr ""
-#: ../PLCOpenEditor.py:344
+#: ../dialogs/SearchInProjectDialog.py:47
msgid "Configuration"
msgstr ""
-#: ../PLCControler.py:91
+#: ../PLCControler.py:96
msgid "Configurations"
msgstr ""
-#: ../dialogs/SFCTransitionDialog.py:143
+#: ../Viewer.py:466 ../dialogs/SFCTransitionDialog.py:76
msgid "Connection"
msgstr ""
-#: ../dialogs/ConnectionDialog.py:101
+#: ../dialogs/ConnectionDialog.py:37
msgid "Connection Properties"
msgstr ""
-#: ../dialogs/ConnectionDialog.py:117
+#: ../dialogs/ConnectionDialog.py:56
msgid "Connector"
msgstr ""
-#: ../dialogs/SFCStepDialog.py:109
+#: ../dialogs/SFCStepDialog.py:58
msgid "Connectors:"
msgstr ""
-#: ../VariablePanel.py:60
+#: ../controls/VariablePanel.py:65
msgid "Constant"
msgstr ""
-#: ../PLCOpenEditor.py:3049
+#: ../Viewer.py:476
+msgid "Contact"
+msgstr ""
+
+#: ../controls/ProjectPropertiesPanel.py:197
msgid "Content Description (optional):"
msgstr ""
-#: ../dialogs/ConnectionDialog.py:123
+#: ../dialogs/ConnectionDialog.py:61
msgid "Continuation"
msgstr ""
@@ -622,11 +718,15 @@
msgid "Conversion to time-of-day"
msgstr ""
-#: ../PLCOpenEditor.py:329
+#: ../PLCOpenEditor.py:499 ../Viewer.py:535
+msgid "Copy"
+msgstr ""
+
+#: ../PLCOpenEditor.py:446
msgid "Copy\tCTRL+C"
msgstr ""
-#: ../PLCOpenEditor.py:1616
+#: ../PLCOpenEditor.py:2057
msgid "Copy POU"
msgstr ""
@@ -634,87 +734,91 @@
msgid "Cosine"
msgstr ""
-#: ../PLCControler.py:620 ../PLCControler.py:652
+#: ../PLCControler.py:765 ../PLCControler.py:802
msgid "Couldn't paste non-POU object."
msgstr ""
-#: ../PLCOpenEditor.py:3277
+#: ../dialogs/PouDialog.py:43
msgid "Create a new POU"
msgstr ""
-#: ../PLCOpenEditor.py:3598
+#: ../dialogs/PouActionDialog.py:38
msgid "Create a new action"
msgstr ""
-#: ../PLCOpenEditor.py:220
+#: ../PLCOpenEditor.py:233
msgid "Create a new action block"
msgstr ""
-#: ../PLCOpenEditor.py:175 ../PLCOpenEditor.py:202 ../PLCOpenEditor.py:232
+#: ../PLCOpenEditor.py:182 ../PLCOpenEditor.py:212 ../PLCOpenEditor.py:245
msgid "Create a new block"
msgstr ""
-#: ../PLCOpenEditor.py:196
+#: ../PLCOpenEditor.py:206
msgid "Create a new branch"
msgstr ""
-#: ../PLCOpenEditor.py:190
+#: ../PLCOpenEditor.py:200
msgid "Create a new coil"
msgstr ""
-#: ../PLCOpenEditor.py:169 ../PLCOpenEditor.py:181 ../PLCOpenEditor.py:208
+#: ../PLCOpenEditor.py:176 ../PLCOpenEditor.py:191 ../PLCOpenEditor.py:221
msgid "Create a new comment"
msgstr ""
-#: ../PLCOpenEditor.py:178 ../PLCOpenEditor.py:205 ../PLCOpenEditor.py:235
+#: ../PLCOpenEditor.py:185 ../PLCOpenEditor.py:215 ../PLCOpenEditor.py:248
msgid "Create a new connection"
msgstr ""
-#: ../PLCOpenEditor.py:193 ../PLCOpenEditor.py:241
+#: ../PLCOpenEditor.py:203 ../PLCOpenEditor.py:254
msgid "Create a new contact"
msgstr ""
-#: ../PLCOpenEditor.py:223
+#: ../PLCOpenEditor.py:236
msgid "Create a new divergence"
msgstr ""
-#: ../dialogs/SFCDivergenceDialog.py:103
+#: ../dialogs/SFCDivergenceDialog.py:36
msgid "Create a new divergence or convergence"
msgstr ""
-#: ../PLCOpenEditor.py:211
+#: ../PLCOpenEditor.py:224
msgid "Create a new initial step"
msgstr ""
-#: ../PLCOpenEditor.py:226
+#: ../PLCOpenEditor.py:239
msgid "Create a new jump"
msgstr ""
-#: ../PLCOpenEditor.py:184 ../PLCOpenEditor.py:238
+#: ../PLCOpenEditor.py:194 ../PLCOpenEditor.py:251
msgid "Create a new power rail"
msgstr ""
-#: ../PLCOpenEditor.py:187
+#: ../PLCOpenEditor.py:197
msgid "Create a new rung"
msgstr ""
-#: ../PLCOpenEditor.py:214
+#: ../PLCOpenEditor.py:227
msgid "Create a new step"
msgstr ""
-#: ../PLCOpenEditor.py:217 ../PLCOpenEditor.py:3454
+#: ../PLCOpenEditor.py:230 ../dialogs/PouTransitionDialog.py:42
msgid "Create a new transition"
msgstr ""
-#: ../PLCOpenEditor.py:172 ../PLCOpenEditor.py:199 ../PLCOpenEditor.py:229
+#: ../PLCOpenEditor.py:179 ../PLCOpenEditor.py:209 ../PLCOpenEditor.py:242
msgid "Create a new variable"
msgstr ""
-#: ../PLCOpenEditor.py:327
+#: ../PLCOpenEditor.py:498 ../Viewer.py:534
+msgid "Cut"
+msgstr ""
+
+#: ../PLCOpenEditor.py:444
msgid "Cut\tCTRL+X"
msgstr ""
-#: ../RessourceEditor.py:86
+#: ../RessourceEditor.py:70
msgid "Cyclic"
msgstr ""
@@ -726,11 +830,11 @@
msgid "DEPRECATED"
msgstr ""
-#: ../PLCOpenEditor.py:336
+#: ../dialogs/SearchInProjectDialog.py:43
msgid "Data Type"
msgstr ""
-#: ../PLCControler.py:90
+#: ../PLCControler.py:95
msgid "Data Types"
msgstr ""
@@ -751,39 +855,36 @@
msgid "Date subtraction"
msgstr ""
-#: ../Viewer.py:2873
+#: ../dialogs/DurationEditorDialog.py:43
+msgid "Days:"
+msgstr ""
+
+#: ../controls/PouInstanceVariablesPanel.py:52
+msgid "Debug instance"
+msgstr ""
+
+#: ../Viewer.py:3224
#, python-format
msgid "Debug: %s"
msgstr ""
-#: ../PLCOpenEditor.py:624
+#: ../PLCOpenEditor.py:706
msgid "Debugger"
msgstr ""
-#: ../PLCOpenEditor.py:348 ../PLCOpenEditor.py:1634 ../PLCOpenEditor.py:1643
-#: ../PLCOpenEditor.py:1649 ../PLCOpenEditor.py:4169 ../Viewer.py:415
-#: ../VariablePanel.py:504 ../dialogs/ActionBlockDialog.py:279
-#: ../DataTypeEditor.py:544
+#: ../PLCOpenEditor.py:2086 ../Viewer.py:510
msgid "Delete"
msgstr ""
-#: ../Viewer.py:403
+#: ../Viewer.py:453
msgid "Delete Divergence Branch"
msgstr ""
-#: ../RessourceEditor.py:440
-msgid "Delete Instance"
-msgstr ""
-
-#: ../RessourceEditor.py:404
-msgid "Delete Task"
-msgstr ""
-
-#: ../Viewer.py:398
+#: ../Viewer.py:442
msgid "Delete Wire Segment"
msgstr ""
-#: ../DataTypeEditor.py:453 ../DataTypeEditor.py:495
+#: ../controls/CustomEditableListBox.py:41
msgid "Delete item"
msgstr ""
@@ -791,7 +892,7 @@
msgid "Deletion (within)"
msgstr ""
-#: ../DataTypeEditor.py:364
+#: ../DataTypeEditor.py:145
msgid "Derivation Type:"
msgstr ""
@@ -801,31 +902,39 @@
"The derivative function block produces an output XOUT proportional to the rate of change of the input XIN."
msgstr ""
-#: ../DataTypeEditor.py:487
+#: ../controls/VariablePanel.py:355
+msgid "Description:"
+msgstr ""
+
+#: ../DataTypeEditor.py:313 ../dialogs/ArrayTypeDialog.py:61
msgid "Dimensions:"
msgstr ""
-#: ../VariablePanel.py:1143
+#: ../dialogs/FindInPouDialog.py:61
+msgid "Direction"
+msgstr ""
+
+#: ../dialogs/BrowseLocationsDialog.py:78
msgid "Direction:"
msgstr ""
-#: ../DataTypeEditor.py:236
+#: ../DataTypeEditor.py:51
msgid "Directly"
msgstr ""
-#: ../PLCOpenEditor.py:311
-msgid "Display"
+#: ../Viewer.py:495
+msgid "Divergence"
msgstr ""
#: ../plcopen/iec_std.csv:36
msgid "Division"
msgstr ""
-#: ../VariablePanel.py:53 ../VariablePanel.py:54
+#: ../controls/VariablePanel.py:58 ../controls/VariablePanel.py:59
msgid "Documentation"
msgstr ""
-#: ../PLCOpenEditor.py:2667
+#: ../PLCOpenEditor.py:2903
msgid "Done"
msgstr ""
@@ -835,63 +944,71 @@
"The down-counter can be used to signal when a count has reached zero, on counting down from a preset value."
msgstr ""
-#: ../dialogs/ActionBlockDialog.py:33
+#: ../dialogs/ActionBlockDialog.py:37
msgid "Duration"
msgstr ""
-#: ../PLCOpenEditor.py:310
-msgid "Edit"
-msgstr ""
-
-#: ../Viewer.py:413
+#: ../Viewer.py:509
msgid "Edit Block"
msgstr ""
-#: ../dialogs/LDElementDialog.py:193
+#: ../dialogs/LDElementDialog.py:41
msgid "Edit Coil Values"
msgstr ""
-#: ../dialogs/LDElementDialog.py:188
+#: ../dialogs/LDElementDialog.py:38
msgid "Edit Contact Values"
msgstr ""
-#: ../dialogs/SFCStepDialog.py:101
+#: ../dialogs/DurationEditorDialog.py:59
+msgid "Edit Duration"
+msgstr ""
+
+#: ../dialogs/SFCStepDialog.py:35
msgid "Edit Step"
msgstr ""
-#: ../dialogs/ActionBlockDialog.py:256
+#: ../dialogs/ActionBlockDialog.py:122
msgid "Edit action block properties"
msgstr ""
-#: ../Viewer.py:1845 ../Viewer.py:1847 ../Viewer.py:2346 ../Viewer.py:2348
+#: ../dialogs/ArrayTypeDialog.py:45
+msgid "Edit array type properties"
+msgstr ""
+
+#: ../Viewer.py:2114 ../Viewer.py:2116 ../Viewer.py:2632 ../Viewer.py:2634
msgid "Edit comment"
msgstr ""
-#: ../DataTypeEditor.py:448 ../DataTypeEditor.py:490
+#: ../controls/CustomEditableListBox.py:39
msgid "Edit item"
msgstr ""
-#: ../Viewer.py:2311
+#: ../Viewer.py:2596
msgid "Edit jump target"
msgstr ""
-#: ../SFCViewer.py:726
+#: ../SFCViewer.py:724
msgid "Edit step name"
msgstr ""
-#: ../dialogs/SFCTransitionDialog.py:104
+#: ../dialogs/SFCTransitionDialog.py:38
msgid "Edit transition"
msgstr ""
-#: ../DataTypeEditor.py:520
+#: ../PLCOpenEditor.py:678
+msgid "Editor ToolBar"
+msgstr ""
+
+#: ../DataTypeEditor.py:340
msgid "Elements :"
msgstr ""
-#: ../PLCOpenEditor.py:324
+#: ../PLCOpenEditor.py:441
msgid "Enable Undo/Redo"
msgstr ""
-#: ../DataTypeEditor.py:236
+#: ../DataTypeEditor.py:51
msgid "Enumerated"
msgstr ""
@@ -899,49 +1016,33 @@
msgid "Equal to"
msgstr ""
-#: ../PLCOpenEditor.py:882 ../PLCOpenEditor.py:1393 ../PLCOpenEditor.py:1430
-#: ../PLCOpenEditor.py:1435 ../PLCOpenEditor.py:1450 ../PLCOpenEditor.py:1455
-#: ../PLCOpenEditor.py:2305 ../PLCOpenEditor.py:2674 ../PLCOpenEditor.py:2679
-#: ../PLCOpenEditor.py:3095 ../PLCOpenEditor.py:3187 ../PLCOpenEditor.py:3191
-#: ../PLCOpenEditor.py:3195 ../PLCOpenEditor.py:3199 ../PLCOpenEditor.py:3340
-#: ../PLCOpenEditor.py:3344 ../PLCOpenEditor.py:3348 ../PLCOpenEditor.py:3352
-#: ../PLCOpenEditor.py:3503 ../PLCOpenEditor.py:3507 ../PLCOpenEditor.py:3511
-#: ../PLCOpenEditor.py:3515 ../PLCOpenEditor.py:3519 ../PLCOpenEditor.py:3647
-#: ../PLCOpenEditor.py:3651 ../PLCOpenEditor.py:3655 ../PLCOpenEditor.py:3659
-#: ../PLCOpenEditor.py:3663 ../PLCOpenEditor.py:3718 ../PLCOpenEditor.py:3722
-#: ../PLCOpenEditor.py:3726 ../PLCOpenEditor.py:3730 ../PLCOpenEditor.py:3781
-#: ../PLCOpenEditor.py:3785 ../PLCOpenEditor.py:3789 ../PLCOpenEditor.py:3793
-#: ../PLCOpenEditor.py:4096 ../PLCOpenEditor.py:4422 ../PLCOpenEditor.py:4432
-#: ../Viewer.py:334 ../TextViewer.py:281 ../LDViewer.py:665 ../LDViewer.py:881
-#: ../LDViewer.py:885 ../VariablePanel.py:374 ../VariablePanel.py:739
-#: ../VariablePanel.py:744 ../VariablePanel.py:749 ../VariablePanel.py:754
-#: ../VariablePanel.py:1250 ../dialogs/ConnectionDialog.py:199
-#: ../dialogs/ConnectionDialog.py:203 ../dialogs/ConnectionDialog.py:207
-#: ../dialogs/ConnectionDialog.py:211 ../dialogs/ConnectionDialog.py:215
-#: ../dialogs/FBDBlockDialog.py:240 ../dialogs/FBDBlockDialog.py:244
-#: ../dialogs/FBDBlockDialog.py:248 ../dialogs/FBDBlockDialog.py:252
-#: ../dialogs/FBDBlockDialog.py:256 ../dialogs/FBDBlockDialog.py:260
-#: ../dialogs/FBDVariableDialog.py:264 ../dialogs/FBDVariableDialog.py:268
-#: ../dialogs/ForceVariableDialog.py:170 ../dialogs/ForceVariableDialog.py:174
-#: ../dialogs/PouNameDialog.py:55 ../dialogs/PouNameDialog.py:59
-#: ../dialogs/PouNameDialog.py:63 ../dialogs/PouNameDialog.py:67
-#: ../dialogs/SFCStepDialog.py:175 ../dialogs/SFCStepDialog.py:179
-#: ../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
+#: ../controls/VariablePanel.py:325 ../controls/VariablePanel.py:673
+#: ../controls/DebugVariablePanel.py:164 ../TextViewer.py:356
+#: ../PLCOpenEditor.py:1181 ../PLCOpenEditor.py:1768 ../PLCOpenEditor.py:1805
+#: ../PLCOpenEditor.py:1810 ../PLCOpenEditor.py:1824 ../PLCOpenEditor.py:1829
+#: ../PLCOpenEditor.py:2518 ../PLCOpenEditor.py:2910 ../PLCOpenEditor.py:2915
+#: ../PLCOpenEditor.py:3074 ../PLCOpenEditor.py:3084 ../DataTypeEditor.py:542
+#: ../DataTypeEditor.py:547 ../DataTypeEditor.py:571 ../DataTypeEditor.py:576
+#: ../DataTypeEditor.py:586 ../DataTypeEditor.py:718 ../DataTypeEditor.py:725
+#: ../Viewer.py:365 ../LDViewer.py:663 ../LDViewer.py:879 ../LDViewer.py:883
+#: ../dialogs/PouNameDialog.py:53 ../dialogs/PouTransitionDialog.py:107
+#: ../dialogs/BrowseLocationsDialog.py:175 ../dialogs/ProjectDialog.py:71
+#: ../dialogs/SFCStepNameDialog.py:59 ../dialogs/ConnectionDialog.py:152
+#: ../dialogs/FBDVariableDialog.py:201 ../dialogs/PouActionDialog.py:104
+#: ../dialogs/PouDialog.py:132 ../dialogs/SFCTransitionDialog.py:147
+#: ../dialogs/DurationEditorDialog.py:121
+#: ../dialogs/DurationEditorDialog.py:163
+#: ../dialogs/SearchInProjectDialog.py:157 ../dialogs/SFCStepDialog.py:130
+#: ../dialogs/ArrayTypeDialog.py:97 ../dialogs/ArrayTypeDialog.py:103
+#: ../dialogs/FBDBlockDialog.py:164 ../dialogs/ForceVariableDialog.py:169
msgid "Error"
msgstr ""
-#: ../dialogs/FBDBlockDialog.py:133
+#: ../dialogs/FBDBlockDialog.py:95
msgid "Execution Control:"
msgstr ""
-#: ../dialogs/FBDBlockDialog.py:129 ../dialogs/FBDVariableDialog.py:132
+#: ../dialogs/FBDVariableDialog.py:76 ../dialogs/FBDBlockDialog.py:87
msgid "Execution Order:"
msgstr ""
@@ -953,20 +1054,25 @@
msgid "Exponentiation"
msgstr ""
-#: ../dialogs/FBDVariableDialog.py:128
+#: ../GraphicViewer.py:144
+msgid "Export graph values to clipboard"
+msgstr ""
+
+#: ../dialogs/FBDVariableDialog.py:69
msgid "Expression:"
msgstr ""
-#: ../VariablePanel.py:72
+#: ../controls/VariablePanel.py:77
msgid "External"
msgstr ""
-#: ../PLCOpenEditor.py:3027 ../PLCOpenEditor.py:3222 ../PLCOpenEditor.py:3232
-#: ../PLCOpenEditor.py:3411 ../PLCOpenEditor.py:3555
+#: ../controls/ProjectPropertiesPanel.py:143
+#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
+#: ../dialogs/PouDialog.py:36
msgid "FBD"
msgstr ""
-#: ../Viewer.py:393 ../dialogs/LDElementDialog.py:155
+#: ../Viewer.py:404 ../dialogs/LDElementDialog.py:84
msgid "Falling Edge"
msgstr ""
@@ -976,82 +1082,121 @@
"The output produces a single pulse when a falling edge is detected."
msgstr ""
-#: ../PLCOpenEditor.py:309
-msgid "File"
+#: ../dialogs/DurationEditorDialog.py:160
+#, python-format
+msgid "Field %s hasn't a valid value!"
+msgstr ""
+
+#: ../dialogs/DurationEditorDialog.py:162
+#, python-format
+msgid "Fields %s haven't a valid value!"
+msgstr ""
+
+#: ../dialogs/FindInPouDialog.py:30 ../dialogs/FindInPouDialog.py:99
+msgid "Find"
+msgstr ""
+
+#: ../PLCOpenEditor.py:451
+msgid "Find\tCTRL+F"
+msgstr ""
+
+#: ../PLCOpenEditor.py:453
+msgid "Find Next\tCTRL+K"
+msgstr ""
+
+#: ../PLCOpenEditor.py:455
+msgid "Find Previous\tCTRL+SHIFT+K"
msgstr ""
#: ../plcopen/iec_std.csv:90
msgid "Find position"
msgstr ""
-#: ../PLCOpenEditor.py:4237 ../Viewer.py:1095
+#: ../dialogs/FindInPouDialog.py:51
+msgid "Find:"
+msgstr ""
+
+#: ../controls/DebugVariablePanel.py:295 ../Viewer.py:1355
msgid "Force value"
msgstr ""
-#: ../dialogs/ForceVariableDialog.py:155
+#: ../dialogs/ForceVariableDialog.py:152
msgid "Forcing Variable Value"
msgstr ""
-#: ../PLCOpenEditor.py:3095 ../PLCOpenEditor.py:3340 ../PLCOpenEditor.py:3503
-#: ../PLCOpenEditor.py:3647 ../dialogs/SFCTransitionDialog.py:209
+#: ../dialogs/PouTransitionDialog.py:97 ../dialogs/ProjectDialog.py:70
+#: ../dialogs/PouActionDialog.py:94 ../dialogs/PouDialog.py:114
+#: ../dialogs/SFCTransitionDialog.py:147
#, python-format
msgid "Form isn't complete. %s must be filled!"
msgstr ""
-#: ../dialogs/ConnectionDialog.py:199 ../dialogs/FBDBlockDialog.py:244
+#: ../dialogs/ConnectionDialog.py:142 ../dialogs/FBDBlockDialog.py:154
msgid "Form isn't complete. Name must be filled!"
msgstr ""
-#: ../dialogs/FBDBlockDialog.py:240
+#: ../dialogs/SearchInProjectDialog.py:145
+msgid "Form isn't complete. Pattern to search must be filled!"
+msgstr ""
+
+#: ../dialogs/FBDBlockDialog.py:152
msgid "Form isn't complete. Valid block type must be selected!"
msgstr ""
-#: ../PLCOpenEditor.py:338
+#: ../dialogs/FindInPouDialog.py:67
+msgid "Forward"
+msgstr ""
+
+#: ../dialogs/SearchInProjectDialog.py:44
msgid "Function"
msgstr ""
-#: ../PLCOpenEditor.py:340 ../PLCOpenEditor.py:1624
+#: ../PLCOpenEditor.py:427
+msgid "Function &Block"
+msgstr ""
+
+#: ../PLCOpenEditor.py:2065 ../dialogs/SearchInProjectDialog.py:45
msgid "Function Block"
msgstr ""
-#: ../VariablePanel.py:819
+#: ../controls/VariablePanel.py:736
msgid "Function Block Types"
msgstr ""
-#: ../PLCControler.py:89
+#: ../PLCControler.py:94
msgid "Function Blocks"
msgstr ""
-#: ../Viewer.py:229
+#: ../Viewer.py:235
msgid "Function Blocks can't be used in Functions!"
msgstr ""
-#: ../Viewer.py:231
+#: ../Viewer.py:237
msgid "Function Blocks can't be used in Transitions!"
msgstr ""
-#: ../PLCControler.py:1801
+#: ../PLCControler.py:2055
#, python-format
msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!"
msgstr ""
-#: ../PLCControler.py:89
+#: ../PLCControler.py:94
msgid "Functions"
msgstr ""
-#: ../PLCOpenEditor.py:2482
+#: ../PLCOpenEditor.py:2690
msgid "Generate Program\tCTRL+G"
msgstr ""
-#: ../VariablePanel.py:73
+#: ../controls/VariablePanel.py:78
msgid "Global"
msgstr ""
-#: ../PLCOpenEditor.py:1856
-msgid "Graphic Panel"
-msgstr ""
-
-#: ../PLCOpenEditor.py:3032
+#: ../GraphicViewer.py:131
+msgid "Go to current value"
+msgstr ""
+
+#: ../controls/ProjectPropertiesPanel.py:173
msgid "Graphics"
msgstr ""
@@ -1063,76 +1208,81 @@
msgid "Greater than or equal to"
msgstr ""
-#: ../PLCOpenEditor.py:3019
+#: ../controls/ProjectPropertiesPanel.py:134
msgid "Grid Resolution:"
msgstr ""
-#: ../PLCOpenEditor.py:3011
+#: ../controls/ProjectPropertiesPanel.py:120
msgid "Height:"
msgstr ""
-#: ../PLCOpenEditor.py:312
-msgid "Help"
-msgstr ""
-
-#: ../PLCOpenEditor.py:2746
+#: ../controls/ProjectPropertiesPanel.py:150
msgid "Horizontal:"
msgstr ""
+#: ../dialogs/DurationEditorDialog.py:44
+msgid "Hours:"
+msgstr ""
+
#: ../plcopen/structures.py:250
msgid ""
"Hysteresis\n"
"The hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2."
msgstr ""
-#: ../PLCOpenEditor.py:3222 ../PLCOpenEditor.py:3232 ../PLCOpenEditor.py:3411
-#: ../PLCOpenEditor.py:3555
+#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
+#: ../dialogs/PouDialog.py:36
msgid "IL"
msgstr ""
-#: ../VariablePanel.py:71 ../dialogs/FBDVariableDialog.py:42
+#: ../controls/VariablePanel.py:76 ../dialogs/FBDVariableDialog.py:34
msgid "InOut"
msgstr ""
-#: ../VariablePanel.py:344
+#: ../controls/VariablePanel.py:262
#, python-format
msgid "Incompatible data types between \"%s\" and \"%s\""
msgstr ""
-#: ../VariablePanel.py:355
+#: ../controls/VariablePanel.py:273
#, python-format
msgid "Incompatible size of data between \"%s\" and \"%s\""
msgstr ""
-#: ../VariablePanel.py:351
+#: ../controls/VariablePanel.py:269
#, python-format
msgid "Incompatible size of data between \"%s\" and \"BOOL\""
msgstr ""
-#: ../dialogs/ActionBlockDialog.py:33
+#: ../dialogs/ActionBlockDialog.py:37
msgid "Indicator"
msgstr ""
-#: ../VariablePanel.py:53 ../VariablePanel.py:54 ../DataTypeEditor.py:46
+#: ../Viewer.py:491
+msgid "Initial Step"
+msgstr ""
+
+#: ../controls/VariablePanel.py:58 ../controls/VariablePanel.py:59
+#: ../DataTypeEditor.py:47
msgid "Initial Value"
msgstr ""
-#: ../DataTypeEditor.py:388 ../DataTypeEditor.py:412 ../DataTypeEditor.py:463
-#: ../DataTypeEditor.py:505
+#: ../DataTypeEditor.py:177 ../DataTypeEditor.py:208 ../DataTypeEditor.py:264
+#: ../DataTypeEditor.py:302
msgid "Initial Value:"
msgstr ""
-#: ../dialogs/ActionBlockDialog.py:37 ../dialogs/SFCTransitionDialog.py:131
-#: ../dialogs/SFCTransitionDialog.py:199
+#: ../dialogs/ActionBlockDialog.py:41 ../dialogs/SFCTransitionDialog.py:66
+#: ../dialogs/SFCTransitionDialog.py:137
msgid "Inline"
msgstr ""
-#: ../VariablePanel.py:71 ../VariablePanel.py:1068
-#: ../dialogs/FBDVariableDialog.py:41 ../dialogs/SFCStepDialog.py:122
+#: ../controls/VariablePanel.py:76 ../dialogs/BrowseLocationsDialog.py:36
+#: ../dialogs/FBDVariableDialog.py:33 ../dialogs/SFCStepDialog.py:61
msgid "Input"
msgstr ""
-#: ../dialogs/FBDBlockDialog.py:125
+#: ../dialogs/FBDBlockDialog.py:78
msgid "Inputs:"
msgstr ""
@@ -1140,16 +1290,12 @@
msgid "Insertion (into)"
msgstr ""
-#: ../plcopen/plcopen.py:1537
+#: ../plcopen/plcopen.py:1833
#, python-format
msgid "Instance with id %d doesn't exist!"
msgstr ""
-#: ../PLCOpenEditor.py:565
-msgid "Instances"
-msgstr ""
-
-#: ../RessourceEditor.py:420
+#: ../RessourceEditor.py:246
msgid "Instances:"
msgstr ""
@@ -1159,44 +1305,55 @@
"The integral function block integrates the value of input XIN over time."
msgstr ""
-#: ../VariablePanel.py:70
+#: ../controls/VariablePanel.py:75
msgid "Interface"
msgstr ""
-#: ../RessourceEditor.py:86
+#: ../RessourceEditor.py:70
msgid "Interrupt"
msgstr ""
-#: ../RessourceEditor.py:82
+#: ../RessourceEditor.py:66
msgid "Interval"
msgstr ""
-#: ../PLCControler.py:1778 ../PLCControler.py:1816
+#: ../PLCControler.py:2032 ../PLCControler.py:2070
msgid "Invalid plcopen element(s)!!!"
msgstr ""
-#: ../dialogs/ForceVariableDialog.py:174
+#: ../dialogs/ForceVariableDialog.py:167
#, python-format
msgid "Invalid value \"%s\" for \"%s\" variable!"
msgstr ""
-#: ../PLCOpenEditor.py:4085 ../PLCOpenEditor.py:4088
+#: ../controls/DebugVariablePanel.py:153 ../controls/DebugVariablePanel.py:156
#, python-format
msgid "Invalid value \"%s\" for debug variable"
msgstr ""
-#: ../VariablePanel.py:332 ../VariablePanel.py:335
-#, python-format
-msgid "Invalid value \"%s\" for location"
-msgstr ""
-
-#: ../Viewer.py:214 ../Viewer.py:217
+#: ../controls/VariablePanel.py:243 ../controls/VariablePanel.py:246
+#, python-format
+msgid "Invalid value \"%s\" for variable grid element"
+msgstr ""
+
+#: ../Viewer.py:220 ../Viewer.py:223
#, python-format
msgid "Invalid value \"%s\" for viewer block"
msgstr ""
-#: ../PLCOpenEditor.py:3027 ../PLCOpenEditor.py:3222 ../PLCOpenEditor.py:3232
-#: ../PLCOpenEditor.py:3411 ../PLCOpenEditor.py:3555
+#: ../dialogs/DurationEditorDialog.py:121
+msgid ""
+"Invalid value!\n"
+"You must fill a numeric value."
+msgstr ""
+
+#: ../Viewer.py:496
+msgid "Jump"
+msgstr ""
+
+#: ../controls/ProjectPropertiesPanel.py:143
+#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
+#: ../dialogs/PouDialog.py:36
msgid "LD"
msgstr ""
@@ -1205,23 +1362,25 @@
msgid "Ladder element with id %d is on more than one rung."
msgstr ""
-#: ../PLCOpenEditor.py:3330 ../PLCOpenEditor.py:3493 ../PLCOpenEditor.py:3637
+#: ../dialogs/PouTransitionDialog.py:86 ../dialogs/PouActionDialog.py:83
+#: ../dialogs/PouDialog.py:102
msgid "Language"
msgstr ""
-#: ../PLCOpenEditor.py:3041
+#: ../controls/ProjectPropertiesPanel.py:186
msgid "Language (optional):"
msgstr ""
-#: ../PLCOpenEditor.py:3298 ../PLCOpenEditor.py:3466 ../PLCOpenEditor.py:3610
+#: ../dialogs/PouTransitionDialog.py:60 ../dialogs/PouActionDialog.py:56
+#: ../dialogs/PouDialog.py:71
msgid "Language:"
msgstr ""
-#: ../Viewer.py:357
+#: ../Viewer.py:427
msgid "Left"
msgstr ""
-#: ../dialogs/LDPowerRailDialog.py:118
+#: ../dialogs/LDPowerRailDialog.py:55
msgid "Left PowerRail"
msgstr ""
@@ -1237,7 +1396,7 @@
msgid "Less than or equal to"
msgstr ""
-#: ../PLCOpenEditor.py:600
+#: ../PLCOpenEditor.py:698
msgid "Library"
msgstr ""
@@ -1245,15 +1404,15 @@
msgid "Limitation"
msgstr ""
-#: ../VariablePanel.py:72
+#: ../controls/VariablePanel.py:77
msgid "Local"
msgstr ""
-#: ../VariablePanel.py:53
+#: ../controls/VariablePanel.py:58
msgid "Location"
msgstr ""
-#: ../VariablePanel.py:1129
+#: ../dialogs/BrowseLocationsDialog.py:61
msgid "Locations available:"
msgstr ""
@@ -1265,47 +1424,116 @@
msgid "Maximum"
msgstr ""
-#: ../DataTypeEditor.py:430
+#: ../DataTypeEditor.py:231
msgid "Maximum:"
msgstr ""
-#: ../VariablePanel.py:1070
+#: ../dialogs/BrowseLocationsDialog.py:38
msgid "Memory"
msgstr ""
-#: ../Viewer.py:366
+#: ../PLCOpenEditor.py:666
+msgid "Menu ToolBar"
+msgstr ""
+
+#: ../dialogs/DurationEditorDialog.py:48
+msgid "Microseconds:"
+msgstr ""
+
+#: ../Viewer.py:432
msgid "Middle"
msgstr ""
+#: ../dialogs/DurationEditorDialog.py:47
+msgid "Milliseconds:"
+msgstr ""
+
#: ../plcopen/iec_std.csv:72
msgid "Minimum"
msgstr ""
-#: ../DataTypeEditor.py:421
+#: ../DataTypeEditor.py:218
msgid "Minimum:"
msgstr ""
-#: ../PLCOpenEditor.py:3056
+#: ../dialogs/DurationEditorDialog.py:45
+msgid "Minutes:"
+msgstr ""
+
+#: ../controls/ProjectPropertiesPanel.py:210
msgid "Miscellaneous"
msgstr ""
-#: ../dialogs/LDElementDialog.py:117
+#: ../dialogs/LDElementDialog.py:59
msgid "Modifier:"
msgstr ""
-#: ../PLCGenerator.py:724 ../PLCGenerator.py:948
+#: ../PLCGenerator.py:703 ../PLCGenerator.py:936
#, python-format
msgid "More than one connector found corresponding to \"%s\" continuation in \"%s\" POU"
msgstr ""
-#: ../DataTypeEditor.py:459 ../DataTypeEditor.py:501
+#: ../dialogs/ActionBlockDialog.py:141
+msgid "Move action down"
+msgstr ""
+
+#: ../dialogs/ActionBlockDialog.py:140
+msgid "Move action up"
+msgstr ""
+
+#: ../controls/DebugVariablePanel.py:185
+msgid "Move debug variable down"
+msgstr ""
+
+#: ../controls/DebugVariablePanel.py:184
+msgid "Move debug variable up"
+msgstr ""
+
+#: ../controls/CustomEditableListBox.py:43
msgid "Move down"
msgstr ""
-#: ../DataTypeEditor.py:456 ../DataTypeEditor.py:498
+#: ../DataTypeEditor.py:347
+msgid "Move element down"
+msgstr ""
+
+#: ../DataTypeEditor.py:346
+msgid "Move element up"
+msgstr ""
+
+#: ../RessourceEditor.py:253
+msgid "Move instance down"
+msgstr ""
+
+#: ../RessourceEditor.py:252
+msgid "Move instance up"
+msgstr ""
+
+#: ../RessourceEditor.py:224
+msgid "Move task down"
+msgstr ""
+
+#: ../RessourceEditor.py:223
+msgid "Move task up"
+msgstr ""
+
+#: ../PLCOpenEditor.py:173 ../PLCOpenEditor.py:188 ../PLCOpenEditor.py:218
+#: ../PLCOpenEditor.py:259
+msgid "Move the view"
+msgstr ""
+
+#: ../controls/CustomEditableListBox.py:42
msgid "Move up"
msgstr ""
+#: ../controls/VariablePanel.py:376
+msgid "Move variable down"
+msgstr ""
+
+#: ../controls/VariablePanel.py:375
+msgid "Move variable up"
+msgstr ""
+
#: ../plcopen/iec_std.csv:74
msgid "Multiplexer (select 1 of N)"
msgstr ""
@@ -1314,14 +1542,14 @@
msgid "Multiplication"
msgstr ""
-#: ../RessourceEditor.py:82 ../RessourceEditor.py:91 ../VariablePanel.py:53
-#: ../VariablePanel.py:54 ../DataTypeEditor.py:46
+#: ../controls/VariablePanel.py:58 ../controls/VariablePanel.py:59
+#: ../RessourceEditor.py:66 ../RessourceEditor.py:75 ../DataTypeEditor.py:47
msgid "Name"
msgstr ""
-#: ../dialogs/ConnectionDialog.py:109 ../dialogs/FBDBlockDialog.py:121
-#: ../dialogs/FBDVariableDialog.py:136 ../dialogs/LDElementDialog.py:121
-#: ../dialogs/SFCStepDialog.py:105
+#: ../dialogs/ConnectionDialog.py:65 ../dialogs/FBDVariableDialog.py:89
+#: ../dialogs/LDElementDialog.py:88 ../dialogs/SFCStepDialog.py:51
+#: ../dialogs/FBDBlockDialog.py:70
msgid "Name:"
msgstr ""
@@ -1329,43 +1557,47 @@
msgid "Natural logarithm"
msgstr ""
-#: ../Viewer.py:389 ../dialogs/LDElementDialog.py:135
+#: ../Viewer.py:402 ../dialogs/LDElementDialog.py:67
msgid "Negated"
msgstr ""
-#: ../PLCOpenEditor.py:2469
+#: ../PLCOpenEditor.py:2719
+msgid "New"
+msgstr ""
+
+#: ../PLCOpenEditor.py:2677
msgid "New\tCTRL+N"
msgstr ""
-#: ../DataTypeEditor.py:450 ../DataTypeEditor.py:492
+#: ../controls/CustomEditableListBox.py:40
msgid "New item"
msgstr ""
-#: ../Viewer.py:387
+#: ../Viewer.py:401
msgid "No Modifier"
msgstr ""
-#: ../PLCControler.py:2669
+#: ../PLCControler.py:2929
msgid "No PLC project found"
msgstr ""
-#: ../PLCGenerator.py:1331
+#: ../PLCGenerator.py:1321
#, python-format
msgid "No body defined in \"%s\" POU"
msgstr ""
-#: ../PLCGenerator.py:743 ../PLCGenerator.py:957
+#: ../PLCGenerator.py:722 ../PLCGenerator.py:945
#, python-format
msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU"
msgstr ""
-#: ../PLCOpenEditor.py:2416
+#: ../PLCOpenEditor.py:2613
msgid ""
"No documentation available.\n"
"Coming soon."
msgstr ""
-#: ../PLCGenerator.py:765
+#: ../PLCGenerator.py:744
#, python-format
msgid "No informations found for \"%s\" block"
msgstr ""
@@ -1374,16 +1606,20 @@
msgid "No output variable found"
msgstr ""
-#: ../PLCGenerator.py:1329
+#: ../SearchResultPanel.py:169
+msgid "No search results available."
+msgstr ""
+
+#: ../PLCGenerator.py:1319
#, python-format
msgid "No variable defined in \"%s\" POU"
msgstr ""
-#: ../VariablePanel.py:64
+#: ../controls/VariablePanel.py:69
msgid "Non-Retain"
msgstr ""
-#: ../dialogs/LDElementDialog.py:129
+#: ../dialogs/LDElementDialog.py:62
msgid "Normal"
msgstr ""
@@ -1391,7 +1627,7 @@
msgid "Not equal to"
msgstr ""
-#: ../dialogs/SFCDivergenceDialog.py:135
+#: ../dialogs/SFCDivergenceDialog.py:80
msgid "Number of sequences:"
msgstr ""
@@ -1411,20 +1647,32 @@
"The on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true."
msgstr ""
-#: ../PLCOpenEditor.py:2471
+#: ../dialogs/SearchInProjectDialog.py:93
+msgid "Only Elements"
+msgstr ""
+
+#: ../PLCOpenEditor.py:2720
+msgid "Open"
+msgstr ""
+
+#: ../PLCOpenEditor.py:2679
msgid "Open\tCTRL+O"
msgstr ""
-#: ../VariablePanel.py:53 ../VariablePanel.py:54
+#: ../controls/VariablePanel.py:58 ../controls/VariablePanel.py:59
msgid "Option"
msgstr ""
-#: ../PLCOpenEditor.py:2983
+#: ../dialogs/FindInPouDialog.py:76
+msgid "Options"
+msgstr ""
+
+#: ../controls/ProjectPropertiesPanel.py:97
msgid "Organization (optional):"
msgstr ""
-#: ../VariablePanel.py:71 ../VariablePanel.py:1069
-#: ../dialogs/FBDVariableDialog.py:43 ../dialogs/SFCStepDialog.py:127
+#: ../controls/VariablePanel.py:76 ../dialogs/BrowseLocationsDialog.py:37
+#: ../dialogs/FBDVariableDialog.py:35 ../dialogs/SFCStepDialog.py:65
msgid "Output"
msgstr ""
@@ -1434,182 +1682,187 @@
"The PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control."
msgstr ""
-#: ../PLCOpenEditor.py:2635 ../PLCOpenEditor.py:2699
+#: ../PLCOpenEditor.py:2865 ../PLCOpenEditor.py:2934
msgid "PLCOpen files (*.xml)|*.xml|All files|*.*"
msgstr ""
-#: ../PLCOpenEditor.py:2564
+#: ../PLCOpenEditor.py:2783
msgid "PLCOpenEditor"
msgstr ""
-#: ../PLCOpenEditor.py:2513
+#: ../PLCOpenEditor.py:2727
msgid "PLCOpenEditor\tF1"
msgstr ""
-#: ../PLCOpenEditor.py:3326
+#: ../dialogs/PouDialog.py:98
msgid "POU Name"
msgstr ""
-#: ../PLCOpenEditor.py:3281
+#: ../dialogs/PouDialog.py:56
msgid "POU Name:"
msgstr ""
-#: ../PLCOpenEditor.py:3328
+#: ../dialogs/PouDialog.py:100
msgid "POU Type"
msgstr ""
-#: ../PLCOpenEditor.py:3289
+#: ../dialogs/PouDialog.py:63
msgid "POU Type:"
msgstr ""
-#: ../PLCOpenEditor.py:2485
-msgid "Page Setup"
-msgstr ""
-
-#: ../PLCOpenEditor.py:2999
+#: ../PLCOpenEditor.py:2693
+msgid "Page Setup\tCTRL+ALT+P"
+msgstr ""
+
+#: ../controls/ProjectPropertiesPanel.py:110
msgid "Page Size (optional):"
msgstr ""
-#: ../PLCOpenEditor.py:4367
+#: ../PLCOpenEditor.py:3019
#, python-format
msgid "Page: %d"
msgstr ""
-#: ../PLCOpenEditor.py:331
+#: ../controls/PouInstanceVariablesPanel.py:41
+msgid "Parent instance"
+msgstr ""
+
+#: ../PLCOpenEditor.py:500 ../Viewer.py:536
+msgid "Paste"
+msgstr ""
+
+#: ../PLCOpenEditor.py:448
msgid "Paste\tCTRL+V"
msgstr ""
-#: ../PLCOpenEditor.py:1668
+#: ../PLCOpenEditor.py:1996
msgid "Paste POU"
msgstr ""
-#: ../dialogs/LDPowerRailDialog.py:110
+#: ../dialogs/SearchInProjectDialog.py:64
+msgid "Pattern to search:"
+msgstr ""
+
+#: ../dialogs/LDPowerRailDialog.py:64
msgid "Pin number:"
msgstr ""
-#: ../Viewer.py:2020 ../Viewer.py:2311 ../SFCViewer.py:698
+#: ../Viewer.py:2291 ../Viewer.py:2596 ../SFCViewer.py:695
msgid "Please choose a target"
msgstr ""
-#: ../Viewer.py:1845 ../Viewer.py:1847 ../Viewer.py:2346 ../Viewer.py:2348
+#: ../Viewer.py:2114 ../Viewer.py:2116 ../Viewer.py:2632 ../Viewer.py:2634
msgid "Please enter comment text"
msgstr ""
-#: ../PLCOpenEditor.py:2251 ../PLCOpenEditor.py:3701
-msgid "Please enter configuration name"
-msgstr ""
-
-#: ../PLCOpenEditor.py:2199
-msgid "Please enter data type name"
-msgstr ""
-
-#: ../PLCOpenEditor.py:2264 ../PLCOpenEditor.py:3764
-msgid "Please enter resource name"
-msgstr ""
-
-#: ../SFCViewer.py:362 ../SFCViewer.py:384 ../SFCViewer.py:726
+#: ../SFCViewer.py:358 ../SFCViewer.py:380 ../SFCViewer.py:724
msgid "Please enter step name"
msgstr ""
-#: ../PLCOpenEditor.py:3172
-msgid "Please enter text"
-msgstr ""
-
-#: ../dialogs/ForceVariableDialog.py:156
+#: ../dialogs/ForceVariableDialog.py:153
#, python-format
msgid "Please enter value for a \"%s\" variable:"
msgstr ""
-#: ../VariablePanel.py:1196
-msgid "Plugins"
-msgstr ""
-
-#: ../GraphicViewer.py:117
+#: ../GraphicViewer.py:105
msgid "Position:"
msgstr ""
-#: ../dialogs/LDPowerRailDialog.py:102
+#: ../Viewer.py:475
+msgid "Power Rail"
+msgstr ""
+
+#: ../dialogs/LDPowerRailDialog.py:36
msgid "Power Rail Properties"
msgstr ""
-#: ../PLCOpenEditor.py:2487
-msgid "Preview"
-msgstr ""
-
-#: ../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
+#: ../PLCOpenEditor.py:2695
+msgid "Preview\tCTRL+SHIFT+P"
+msgstr ""
+
+#: ../dialogs/SFCDivergenceDialog.py:93 ../dialogs/LDPowerRailDialog.py:78
+#: ../dialogs/ConnectionDialog.py:78 ../dialogs/FBDVariableDialog.py:97
+#: ../dialogs/SFCTransitionDialog.py:96 ../dialogs/LDElementDialog.py:101
+#: ../dialogs/SFCStepDialog.py:79 ../dialogs/FBDBlockDialog.py:103
msgid "Preview:"
msgstr ""
-#: ../PLCOpenEditor.py:2489
+#: ../PLCOpenEditor.py:2723
msgid "Print"
msgstr ""
-#: ../PLCOpenEditor.py:951
+#: ../PLCOpenEditor.py:2697
+msgid "Print\tCTRL+P"
+msgstr ""
+
+#: ../PLCOpenEditor.py:1251
msgid "Print preview"
msgstr ""
-#: ../RessourceEditor.py:82
+#: ../RessourceEditor.py:66
msgid "Priority"
msgstr ""
-#: ../dialogs/SFCTransitionDialog.py:116
+#: ../dialogs/SFCTransitionDialog.py:83
msgid "Priority:"
msgstr ""
-#: ../PLCOpenEditor.py:2927
+#: ../controls/ProjectPropertiesPanel.py:80
msgid "Product Name (required):"
msgstr ""
-#: ../PLCOpenEditor.py:2943
+#: ../controls/ProjectPropertiesPanel.py:82
msgid "Product Release (optional):"
msgstr ""
-#: ../PLCOpenEditor.py:2935
+#: ../controls/ProjectPropertiesPanel.py:81
msgid "Product Version (required):"
msgstr ""
-#: ../PLCOpenEditor.py:342 ../PLCOpenEditor.py:1627
+#: ../PLCOpenEditor.py:2068 ../dialogs/SearchInProjectDialog.py:46
msgid "Program"
msgstr ""
-#: ../PLCOpenEditor.py:2676
+#: ../PLCOpenEditor.py:2912
msgid "Program was successfully generated!"
msgstr ""
-#: ../PLCControler.py:90
+#: ../PLCControler.py:95
msgid "Programs"
msgstr ""
-#: ../Viewer.py:223
+#: ../Viewer.py:229
msgid "Programs can't be used by other POUs!"
msgstr ""
-#: ../PLCOpenEditor.py:443 ../PLCOpenEditor.py:2950
+#: ../controls/ProjectPropertiesPanel.py:84 ../PLCOpenEditor.py:651
msgid "Project"
msgstr ""
-#: ../PLCOpenEditor.py:2911
+#: ../SearchResultPanel.py:173
+#, python-format
+msgid "Project '%s':"
+msgstr ""
+
+#: ../controls/ProjectPropertiesPanel.py:78
msgid "Project Name (required):"
msgstr ""
-#: ../PLCOpenEditor.py:2919
+#: ../controls/ProjectPropertiesPanel.py:79
msgid "Project Version (optional):"
msgstr ""
-#: ../PLCControler.py:2656
+#: ../PLCControler.py:2916
msgid ""
"Project file syntax error:\n"
"\n"
msgstr ""
-#: ../PLCOpenEditor.py:2897
+#: ../dialogs/ProjectDialog.py:32
msgid "Project properties"
msgstr ""
-#: ../PLCOpenEditor.py:2492 ../PLCControler.py:91
+#: ../PLCControler.py:96
msgid "Properties"
msgstr ""
@@ -1619,11 +1872,11 @@
"The pulse timer can be used to generate output pulses of a given time duration."
msgstr ""
-#: ../dialogs/ActionBlockDialog.py:33
+#: ../dialogs/ActionBlockDialog.py:37
msgid "Qualifier"
msgstr ""
-#: ../PLCOpenEditor.py:2495
+#: ../PLCOpenEditor.py:2703
msgid "Quit\tCTRL+Q"
msgstr ""
@@ -1636,26 +1889,44 @@
#: ../plcopen/structures.py:245
msgid ""
"Ramp\n"
-"The RAMP function block is modelled on example given in the standard but with the addition of a 'Holdback' feature."
-msgstr ""
-
-#: ../GraphicViewer.py:106
+"The RAMP function block is modelled on example given in the standard."
+msgstr ""
+
+#: ../GraphicViewer.py:89
msgid "Range:"
msgstr ""
-#: ../PLCOpenEditor.py:321
+#: ../plcopen/structures.py:225
+msgid ""
+"Real time clock\n"
+"The real time clock has many uses including time stamping, setting dates and times of day in batch reports, in alarm messages and so on."
+msgstr ""
+
+#: ../PLCOpenEditor.py:496
+msgid "Redo"
+msgstr ""
+
+#: ../PLCOpenEditor.py:438
msgid "Redo\tCTRL+Y"
msgstr ""
-#: ../dialogs/SFCTransitionDialog.py:120 ../dialogs/SFCTransitionDialog.py:197
+#: ../dialogs/SFCTransitionDialog.py:57 ../dialogs/SFCTransitionDialog.py:135
msgid "Reference"
msgstr ""
-#: ../PLCOpenEditor.py:370
+#: ../PLCOpenEditor.py:506
msgid "Refresh\tCTRL+R"
msgstr ""
-#: ../PLCOpenEditor.py:4240 ../Viewer.py:1098
+#: ../dialogs/SearchInProjectDialog.py:73
+msgid "Regular expression"
+msgstr ""
+
+#: ../dialogs/FindInPouDialog.py:91
+msgid "Regular expressions"
+msgstr ""
+
+#: ../controls/DebugVariablePanel.py:299 ../Viewer.py:1358
msgid "Release value"
msgstr ""
@@ -1663,7 +1934,31 @@
msgid "Remainder (modulo)"
msgstr ""
-#: ../PLCOpenEditor.py:1631
+#: ../dialogs/ActionBlockDialog.py:139
+msgid "Remove action"
+msgstr ""
+
+#: ../controls/DebugVariablePanel.py:183
+msgid "Remove debug variable"
+msgstr ""
+
+#: ../DataTypeEditor.py:345
+msgid "Remove element"
+msgstr ""
+
+#: ../RessourceEditor.py:251
+msgid "Remove instance"
+msgstr ""
+
+#: ../RessourceEditor.py:222
+msgid "Remove task"
+msgstr ""
+
+#: ../controls/VariablePanel.py:374
+msgid "Remove variable"
+msgstr ""
+
+#: ../PLCOpenEditor.py:2072
msgid "Rename"
msgstr ""
@@ -1671,35 +1966,47 @@
msgid "Replacement (within)"
msgstr ""
-#: ../dialogs/LDElementDialog.py:145
+#: ../dialogs/LDElementDialog.py:76
msgid "Reset"
msgstr ""
-#: ../Viewer.py:408
+#: ../Viewer.py:520
msgid "Reset Execution Order"
msgstr ""
-#: ../PLCControler.py:91
+#: ../PLCOpenEditor.py:521
+msgid "Reset Perspective"
+msgstr ""
+
+#: ../SearchResultPanel.py:105
+msgid "Reset search result"
+msgstr ""
+
+#: ../GraphicViewer.py:137
+msgid "Reset zoom and offset"
+msgstr ""
+
+#: ../PLCControler.py:96
msgid "Resources"
msgstr ""
-#: ../VariablePanel.py:62
+#: ../controls/VariablePanel.py:67
msgid "Retain"
msgstr ""
-#: ../VariablePanel.py:482
+#: ../controls/VariablePanel.py:347
msgid "Return Type:"
msgstr ""
-#: ../Viewer.py:361
+#: ../Viewer.py:429
msgid "Right"
msgstr ""
-#: ../dialogs/LDPowerRailDialog.py:124
+#: ../dialogs/LDPowerRailDialog.py:60
msgid "Right PowerRail"
msgstr ""
-#: ../Viewer.py:391 ../dialogs/LDElementDialog.py:150
+#: ../Viewer.py:403 ../dialogs/LDElementDialog.py:80
msgid "Rising Edge"
msgstr ""
@@ -1721,7 +2028,7 @@
msgid "Rounding up/down"
msgstr ""
-#: ../PLCOpenEditor.py:3027 ../PLCOpenEditor.py:3232
+#: ../controls/ProjectPropertiesPanel.py:143 ../dialogs/PouDialog.py:36
msgid "SFC"
msgstr ""
@@ -1731,32 +2038,64 @@
"The SR bistable is a latch where the Set dominates."
msgstr ""
-#: ../PLCOpenEditor.py:3222 ../PLCOpenEditor.py:3232 ../PLCOpenEditor.py:3411
-#: ../PLCOpenEditor.py:3555
+#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
+#: ../dialogs/PouDialog.py:36
msgid "ST"
msgstr ""
-#: ../PLCOpenEditor.py:2663
+#: ../PLCOpenEditor.py:2899
msgid "ST files (*.st)|*.st|All files|*.*"
msgstr ""
-#: ../PLCOpenEditor.py:2478
+#: ../PLCOpenEditor.py:2721
+msgid "Save"
+msgstr ""
+
+#: ../PLCOpenEditor.py:2686
msgid "Save\tCTRL+S"
msgstr ""
-#: ../PLCOpenEditor.py:2480
+#: ../PLCOpenEditor.py:2722
+msgid "Save As..."
+msgstr ""
+
+#: ../PLCOpenEditor.py:2688
msgid "Save As...\tCTRL+SHIFT+S"
msgstr ""
-#: ../PLCOpenEditor.py:346
+#: ../dialogs/SearchInProjectDialog.py:76
+msgid "Scope"
+msgstr ""
+
+#: ../PLCOpenEditor.py:690 ../dialogs/SearchInProjectDialog.py:105
+msgid "Search"
+msgstr ""
+
+#: ../PLCOpenEditor.py:502 ../dialogs/SearchInProjectDialog.py:52
+msgid "Search in Project"
+msgstr ""
+
+#: ../PLCOpenEditor.py:458
+msgid "Search in Project\tCTRL+SHIFT+F"
+msgstr ""
+
+#: ../dialogs/DurationEditorDialog.py:46
+msgid "Seconds:"
+msgstr ""
+
+#: ../PLCOpenEditor.py:464
msgid "Select All\tCTRL+A"
msgstr ""
-#: ../VariablePanel.py:357
+#: ../controls/VariablePanel.py:276 ../Viewer.py:276
msgid "Select a variable class:"
msgstr ""
-#: ../PLCOpenEditor.py:576 ../PLCOpenEditor.py:588
+#: ../controls/PouInstanceVariablesPanel.py:197
+msgid "Select an instance"
+msgstr ""
+
+#: ../PLCOpenEditor.py:674
msgid "Select an object"
msgstr ""
@@ -1764,11 +2103,11 @@
msgid "Selection"
msgstr ""
-#: ../dialogs/SFCDivergenceDialog.py:117
+#: ../dialogs/SFCDivergenceDialog.py:62
msgid "Selection Convergence"
msgstr ""
-#: ../dialogs/SFCDivergenceDialog.py:111
+#: ../dialogs/SFCDivergenceDialog.py:55
msgid "Selection Divergence"
msgstr ""
@@ -1778,7 +2117,7 @@
"The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources."
msgstr ""
-#: ../dialogs/LDElementDialog.py:140
+#: ../dialogs/LDElementDialog.py:72
msgid "Set"
msgstr ""
@@ -1790,11 +2129,11 @@
msgid "Shift right"
msgstr ""
-#: ../dialogs/SFCDivergenceDialog.py:129
+#: ../dialogs/SFCDivergenceDialog.py:74
msgid "Simultaneous Convergence"
msgstr ""
-#: ../dialogs/SFCDivergenceDialog.py:123
+#: ../dialogs/SFCDivergenceDialog.py:68
msgid "Simultaneous Divergence"
msgstr ""
@@ -1802,7 +2141,7 @@
msgid "Sine"
msgstr ""
-#: ../RessourceEditor.py:82
+#: ../RessourceEditor.py:66
msgid "Single"
msgstr ""
@@ -1814,11 +2153,15 @@
msgid "Standard function blocks"
msgstr ""
-#: ../DataTypeEditor.py:236
+#: ../Viewer.py:492
+msgid "Step"
+msgstr ""
+
+#: ../DataTypeEditor.py:51
msgid "Structure"
msgstr ""
-#: ../DataTypeEditor.py:236
+#: ../DataTypeEditor.py:51
msgid "Subrange"
msgstr ""
@@ -1826,46 +2169,50 @@
msgid "Subtraction"
msgstr ""
+#: ../dialogs/SearchInProjectDialog.py:154
+msgid "Syntax error in regular expression of pattern to search!"
+msgstr ""
+
#: ../plcopen/iec_std.csv:29
msgid "Tangent"
msgstr ""
-#: ../RessourceEditor.py:91
+#: ../RessourceEditor.py:75
msgid "Task"
msgstr ""
-#: ../RessourceEditor.py:384
+#: ../RessourceEditor.py:217
msgid "Tasks:"
msgstr ""
-#: ../VariablePanel.py:73
+#: ../controls/VariablePanel.py:78
msgid "Temp"
msgstr ""
-#: ../LDViewer.py:881
+#: ../LDViewer.py:879
msgid "The group of block must be coherent!"
msgstr ""
-#: ../PLCOpenEditor.py:890
+#: ../PLCOpenEditor.py:1189
msgid "There are changes, do you want to save?"
msgstr ""
-#: ../PLCOpenEditor.py:1430 ../PLCOpenEditor.py:1450
+#: ../PLCOpenEditor.py:1805 ../PLCOpenEditor.py:1824
#, python-format
msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?"
msgstr ""
-#: ../PLCOpenEditor.py:974
+#: ../PLCOpenEditor.py:1274
msgid ""
"There was a problem printing.\n"
"Perhaps your current printer is not set correctly?"
msgstr ""
-#: ../LDViewer.py:890
+#: ../LDViewer.py:888
msgid "This option isn't available yet!"
msgstr ""
-#: ../GraphicViewer.py:180
+#: ../GraphicViewer.py:278
msgid "Tick"
msgstr ""
@@ -1902,47 +2249,53 @@
msgid "Time-of-day subtraction"
msgstr ""
-#: ../PLCOpenEditor.py:580
-msgid "Toolbar"
-msgstr ""
-
-#: ../Viewer.py:364
+#: ../Viewer.py:431
msgid "Top"
msgstr ""
-#: ../PLCOpenEditor.py:3491
+#: ../Viewer.py:493
+msgid "Transition"
+msgstr ""
+
+#: ../PLCGenerator.py:1212
+#, python-format
+msgid "Transition \"%s\" body must contain an output variable or coil referring to its name"
+msgstr ""
+
+#: ../dialogs/PouTransitionDialog.py:84
msgid "Transition Name"
msgstr ""
-#: ../PLCOpenEditor.py:3458
+#: ../dialogs/PouTransitionDialog.py:53
msgid "Transition Name:"
msgstr ""
-#: ../PLCGenerator.py:1311
+#: ../PLCGenerator.py:1301
#, python-format
msgid "Transition with content \"%s\" not connected to a next step in \"%s\" POU"
msgstr ""
-#: ../PLCGenerator.py:1302
+#: ../PLCGenerator.py:1292
#, python-format
msgid "Transition with content \"%s\" not connected to a previous step in \"%s\" POU"
msgstr ""
-#: ../plcopen/plcopen.py:1194
+#: ../plcopen/plcopen.py:1442
#, python-format
msgid "Transition with name %s doesn't exist!"
msgstr ""
-#: ../PLCControler.py:90
+#: ../PLCControler.py:95
msgid "Transitions"
msgstr ""
-#: ../RessourceEditor.py:82
+#: ../RessourceEditor.py:66
msgid "Triggering"
msgstr ""
-#: ../RessourceEditor.py:91 ../VariablePanel.py:53 ../VariablePanel.py:54
-#: ../dialogs/ActionBlockDialog.py:33 ../DataTypeEditor.py:46
+#: ../controls/VariablePanel.py:58 ../controls/VariablePanel.py:59
+#: ../RessourceEditor.py:75 ../DataTypeEditor.py:47
+#: ../dialogs/ActionBlockDialog.py:37
msgid "Type"
msgstr ""
@@ -1950,40 +2303,45 @@
msgid "Type conversion"
msgstr ""
-#: ../DataTypeEditor.py:360
+#: ../DataTypeEditor.py:154
msgid "Type infos:"
msgstr ""
-#: ../dialogs/ConnectionDialog.py:105 ../dialogs/FBDBlockDialog.py:117
-#: ../dialogs/LDPowerRailDialog.py:106 ../dialogs/SFCDivergenceDialog.py:107
-#: ../dialogs/SFCTransitionDialog.py:108
+#: ../dialogs/SFCDivergenceDialog.py:51 ../dialogs/LDPowerRailDialog.py:51
+#: ../dialogs/ConnectionDialog.py:52 ../dialogs/SFCTransitionDialog.py:53
+#: ../dialogs/FBDBlockDialog.py:48
msgid "Type:"
msgstr ""
-#: ../PLCOpenEditor.py:546
-msgid "Types"
-msgstr ""
-
-#: ../PLCGenerator.py:232
+#: ../PLCGenerator.py:865 ../PLCGenerator.py:924
+#, python-format
+msgid "Undefined block type \"%s\" in \"%s\" POU"
+msgstr ""
+
+#: ../PLCGenerator.py:240
#, python-format
msgid "Undefined pou type \"%s\""
msgstr ""
-#: ../PLCOpenEditor.py:319
+#: ../PLCOpenEditor.py:495
+msgid "Undo"
+msgstr ""
+
+#: ../PLCOpenEditor.py:436
msgid "Undo\tCTRL+Z"
msgstr ""
-#: ../Viewer.py:304
+#: ../Viewer.py:335
#, python-format
msgid "Unknown variable \"%s\" for this POU!"
msgstr ""
-#: ../PLCControler.py:300
+#: ../PLCControler.py:305
#, python-format
msgid "Unnamed%d"
msgstr ""
-#: ../VariablePanel.py:353
+#: ../controls/VariablePanel.py:271
#, python-format
msgid "Unrecognized data size \"%s\""
msgstr ""
@@ -2000,107 +2358,118 @@
"The up-down counter has two inputs CU and CD. It can be used to both count up on one input and down on the other."
msgstr ""
-#: ../VariablePanel.py:799 ../DataTypeEditor.py:807
+#: ../controls/VariablePanel.py:704 ../DataTypeEditor.py:622
msgid "User Data Types"
msgstr ""
-#: ../PLCControler.py:89
+#: ../PLCControler.py:94
msgid "User-defined POUs"
msgstr ""
-#: ../PLCOpenEditor.py:3900 ../dialogs/ActionBlockDialog.py:33
+#: ../controls/DebugVariablePanel.py:40 ../dialogs/ActionBlockDialog.py:37
msgid "Value"
msgstr ""
-#: ../GraphicViewer.py:180
+#: ../GraphicViewer.py:278
msgid "Values"
msgstr ""
-#: ../DataTypeEditor.py:445
+#: ../DataTypeEditor.py:251
msgid "Values:"
msgstr ""
-#: ../PLCOpenEditor.py:3900 ../dialogs/ActionBlockDialog.py:37
+#: ../controls/DebugVariablePanel.py:40 ../Viewer.py:465
+#: ../dialogs/ActionBlockDialog.py:41
msgid "Variable"
msgstr ""
-#: ../dialogs/FBDVariableDialog.py:120
+#: ../dialogs/FBDVariableDialog.py:47
msgid "Variable Properties"
msgstr ""
-#: ../VariablePanel.py:357
+#: ../controls/VariablePanel.py:276 ../Viewer.py:276
msgid "Variable class"
msgstr ""
-#: ../Viewer.py:306 ../TextViewer.py:279
+#: ../TextViewer.py:354 ../Viewer.py:337
msgid "Variable don't belong to this POU!"
msgstr ""
-#: ../PLCOpenEditor.py:595 ../VariablePanel.py:72
+#: ../controls/VariablePanel.py:77
msgid "Variables"
msgstr ""
-#: ../PLCOpenEditor.py:2754
+#: ../controls/ProjectPropertiesPanel.py:151
msgid "Vertical:"
msgstr ""
-#: ../PLCOpenEditor.py:3356 ../PLCOpenEditor.py:3734 ../PLCOpenEditor.py:3797
-#: ../LDViewer.py:890
+#: ../LDViewer.py:888 ../dialogs/PouDialog.py:126
msgid "Warning"
msgstr ""
-#: ../PLCOpenEditor.py:3003
+#: ../dialogs/SearchInProjectDialog.py:85
+msgid "Whole Project"
+msgstr ""
+
+#: ../controls/ProjectPropertiesPanel.py:119
msgid "Width:"
msgstr ""
-#: ../LDViewer.py:885
+#: ../dialogs/FindInPouDialog.py:86
+msgid "Wrap search"
+msgstr ""
+
+#: ../LDViewer.py:883
msgid "You must select the block or group of blocks around which a branch should be added!"
msgstr ""
-#: ../LDViewer.py:665
+#: ../LDViewer.py:663
msgid "You must select the wire where a contact should be added!"
msgstr ""
-#: ../PLCOpenEditor.py:3187 ../PLCOpenEditor.py:3718 ../PLCOpenEditor.py:3781
-#: ../dialogs/PouNameDialog.py:55 ../dialogs/SFCStepDialog.py:175
-#: ../dialogs/SFCStepNameDialog.py:57
+#: ../dialogs/PouNameDialog.py:45 ../dialogs/SFCStepNameDialog.py:47
+#: ../dialogs/SFCStepDialog.py:118
msgid "You must type a name!"
msgstr ""
-#: ../dialogs/ForceVariableDialog.py:170
+#: ../dialogs/ForceVariableDialog.py:165
msgid "You must type a value!"
msgstr ""
-#: ../PLCOpenEditor.py:376
+#: ../PLCOpenEditor.py:512
msgid "Zoom"
msgstr ""
-#: ../PLCOpenEditor.py:2672
+#: ../GraphicViewer.py:97
+msgid "Zoom:"
+msgstr ""
+
+#: ../PLCOpenEditor.py:2908
#, python-format
msgid "error: %s\n"
msgstr ""
-#: ../PLCOpenEditor.py:4399 ../PLCOpenEditor.py:4401
+#: ../PLCOpenEditor.py:3051 ../PLCOpenEditor.py:3053
msgid "file : "
msgstr ""
-#: ../PLCOpenEditor.py:3227
+#: ../dialogs/PouDialog.py:31
msgid "function"
msgstr ""
-#: ../PLCOpenEditor.py:4402
+#: ../PLCOpenEditor.py:3054
msgid "function : "
msgstr ""
-#: ../PLCOpenEditor.py:3227
+#: ../dialogs/PouDialog.py:31
msgid "functionBlock"
msgstr ""
-#: ../PLCOpenEditor.py:4402
+#: ../PLCOpenEditor.py:3054
msgid "line : "
msgstr ""
-#: ../PLCOpenEditor.py:3227
+#: ../dialogs/PouDialog.py:31
msgid "program"
msgstr ""
@@ -2116,7 +2485,7 @@
msgid "string right of"
msgstr ""
-#: ../PLCOpenEditor.py:2670
+#: ../PLCOpenEditor.py:2906
#, python-format
msgid "warning: %s\n"
msgstr ""
Binary file locale/fr_FR/LC_MESSAGES/PLCOpenEditor.mo has changed