i18n/Beremiz_zh_CN.po
changeset 1803 da138c5a3063
parent 817 1a3cc2065216
child 2351 467f6daff4e9
--- a/i18n/Beremiz_zh_CN.po	Wed Sep 13 10:18:04 2017 +0300
+++ b/i18n/Beremiz_zh_CN.po	Wed Sep 13 15:35:43 2017 +0300
@@ -1,47 +1,28 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
+# English translations for Beremiz package.
+# Copyright (C) 2017 THE Beremiz'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the Beremiz package.
+# Automatically generated, 2017.
+# 
+# Translators:
+# Andrey Skvortsov <andrej.skvortzov@gmail.com>, 2017
+# frank guan <gpfrank@163.com>, 2017
+# Tango_Wu <wuyangtang@live.com>, 2017
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Beremiz\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-09-07 01:17+0200\n"
-"PO-Revision-Date: 2012-09-09 18:36+0100\n"
-"Last-Translator: Laurent BESSARD <laurent.bessard@gmail.com>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
+"POT-Creation-Date: 2017-07-05 13:02+0300\n"
+"PO-Revision-Date: 2017-07-05 13:02+0300\n"
+"Last-Translator: Tango_Wu <wuyangtang@live.com>, 2017\n"
+"Language-Team: Chinese (China) (https://www.transifex.com/beremiz/teams/75746/zh_CN/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-
-#: ../PLCOpenEditor.py:520
-#, fuzzy
-msgid ""
-"\n"
-"An error has occurred.\n"
-"\n"
-"Click OK to save an error report.\n"
-"\n"
-"Please be kind enough to send this file to:\n"
-"edouard.tisserant@gmail.com\n"
-"\n"
-"Error:\n"
-msgstr ""
-"\n"
-"一个未处理的异常(漏洞)出现。漏洞报告存为:\n"
-"(%s)\n"
-"\n"
-"或者请将文件发送至下列邮箱:\n"
-"edouard.tisserant@gmail.com\n"
-"\n"
-"你现在必须重新启动Beremiz。\n"
-"\n"
-"回溯:\n"
-
-#: ../Beremiz.py:1071
-#, fuzzy, python-format
+"Language: zh_CN\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../BeremizIDE.py:1095 ../PLCOpenEditor.py:418
+#, python-format
 msgid ""
 "\n"
 "An unhandled exception (bug) occured. Bug report saved at :\n"
@@ -50,223 +31,166 @@
 "Please be kind enough to send this file to:\n"
 "beremiz-devel@lists.sourceforge.net\n"
 "\n"
-"You should now restart Beremiz.\n"
+"You should now restart program.\n"
 "\n"
 "Traceback:\n"
 msgstr ""
 "\n"
-"一个未处理的异常(漏洞)出现。漏洞报告存为:\n"
+"未处理的异常发生(错误) 。缺陷报告保存在:\n"
 "(%s)\n"
 "\n"
-"或者请将文件发送至下列邮箱:\n"
-"edouard.tisserant@gmail.com\n"
+"请好心地把这个文件发送到:\n"
+"beremiz-devel@lists.sourceforge.net\n"
 "\n"
-"你现在必须重新启动Beremiz。\n"
+"您现在应该重新启动程序.\n"
 "\n"
-"回溯:\n"
-
-#: ../controls/VariablePanel.py:77
+"追溯:\n"
+
+#: ../controls/VariablePanel.py:72
 msgid "   External"
 msgstr "   外部"
 
-#: ../controls/VariablePanel.py:76
+#: ../controls/VariablePanel.py:71
 msgid "   InOut"
-msgstr "   输入"
-
-#: ../controls/VariablePanel.py:76
+msgstr "   输入输出"
+
+#: ../controls/VariablePanel.py:71
 msgid "   Input"
 msgstr "   输入"
 
-#: ../controls/VariablePanel.py:77
+#: ../controls/VariablePanel.py:72
 msgid "   Local"
 msgstr "   本地"
 
-#: ../controls/VariablePanel.py:76
+#: ../controls/VariablePanel.py:71
 msgid "   Output"
 msgstr "   输出"
 
-#: ../controls/VariablePanel.py:78
+#: ../controls/VariablePanel.py:73
 msgid "   Temp"
-msgstr "   缓冲"
-
-#: ../PLCOpenEditor.py:530
-msgid " : "
-msgstr ":"
-
-#: ../dialogs/PouTransitionDialog.py:94
-#: ../dialogs/PouActionDialog.py:91
-#: ../dialogs/PouDialog.py:111
-#: ../dialogs/SFCTransitionDialog.py:144
+msgstr "临时"
+
+#: ../dialogs/PouTransitionDialog.py:94 ../dialogs/ProjectDialog.py:69
+#: ../dialogs/PouActionDialog.py:92 ../dialogs/PouDialog.py:114
 #, python-format
 msgid " and %s"
 msgstr "和 %s"
 
-#: ../ProjectController.py:890
+#: ../ProjectController.py:1151
 msgid " generation failed !\n"
 msgstr "生成失败!\n"
 
-#: ../plcopen/plcopen.py:1051
+#: ../plcopen/plcopen.py:886
 #, python-format
 msgid "\"%s\" Data Type doesn't exist !!!"
 msgstr "\"%s\" 数据类型尚不存在!!!"
 
-#: ../plcopen/plcopen.py:1069
+#: ../plcopen/plcopen.py:904
 #, python-format
 msgid "\"%s\" POU already exists !!!"
-msgstr "\"%s\"编程组织单元已经存在!!!"
-
-#: ../plcopen/plcopen.py:1090
+msgstr "\"%s\"POU已经存在!!!"
+
+#: ../plcopen/plcopen.py:925
 #, python-format
 msgid "\"%s\" POU doesn't exist !!!"
 msgstr "\"%s\" POU不存在!!!"
 
-#: ../editors/Viewer.py:234
+#: ../editors/Viewer.py:247
 #, python-format
 msgid "\"%s\" can't use itself!"
 msgstr "\"%s\" 不能自己使用!"
 
-#: ../IDEFrame.py:1706
-#: ../IDEFrame.py:1725
+#: ../IDEFrame.py:1655 ../IDEFrame.py:1674
 #, python-format
 msgid "\"%s\" config already exists!"
 msgstr "\"%s\" 配置已存在!"
 
-#: ../plcopen/plcopen.py:315
+#: ../plcopen/plcopen.py:472
 #, python-format
 msgid "\"%s\" configuration already exists !!!"
 msgstr "\"%s\" 配置已存在!!!"
 
-#: ../IDEFrame.py:1660
+#: ../IDEFrame.py:1605
 #, python-format
 msgid "\"%s\" data type already exists!"
 msgstr "\"%s\" 数据类型已存在!"
 
-#: ../PLCControler.py:2040
-#: ../PLCControler.py:2044
-#, python-format
-msgid "\"%s\" element can't be pasted here!!!"
-msgstr "\"%s\" 元素不能粘贴在这里!!!"
-
-#: ../editors/TextViewer.py:305
-#: ../editors/TextViewer.py:325
-#: ../editors/Viewer.py:252
-#: ../dialogs/PouTransitionDialog.py:105
-#: ../dialogs/ConnectionDialog.py:150
-#: ../dialogs/PouActionDialog.py:102
-#: ../dialogs/FBDBlockDialog.py:162
+#: ../dialogs/PouTransitionDialog.py:105 ../dialogs/BlockPreviewDialog.py:220
+#: ../dialogs/PouActionDialog.py:103 ../editors/Viewer.py:263
+#: ../editors/Viewer.py:331 ../editors/Viewer.py:355 ../editors/Viewer.py:375
+#: ../editors/TextViewer.py:272 ../editors/TextViewer.py:301
+#: ../controls/VariablePanel.py:396
 #, python-format
 msgid "\"%s\" element for this pou already exists!"
-msgstr "\"%s\" "
-
-#: ../Beremiz.py:894
+msgstr "\"%s\" 元素对于此POU已经存在!"
+
+#: ../BeremizIDE.py:897
 #, python-format
 msgid "\"%s\" folder is not a valid Beremiz project\n"
 msgstr "\"%s\" 文件夹不是有效的Beremiz项目\n"
 
-#: ../plcopen/structures.py:106
-#, python-format
-msgid "\"%s\" function cancelled in \"%s\" POU: No input connected"
-msgstr "\"%s\" 功能被取消 \"%s\" 在POU中:没有输入连接"
-
-#: ../controls/VariablePanel.py:656
-#: ../IDEFrame.py:1651
-#: ../editors/DataTypeEditor.py:548
-#: ../editors/DataTypeEditor.py:577
-#: ../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
+#: ../dialogs/SFCStepNameDialog.py:52 ../dialogs/PouTransitionDialog.py:101
+#: ../dialogs/BlockPreviewDialog.py:208 ../dialogs/PouNameDialog.py:50
+#: ../dialogs/PouActionDialog.py:99 ../dialogs/PouDialog.py:121
+#: ../editors/ResourceEditor.py:449 ../editors/ResourceEditor.py:484
+#: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:587
+#: ../editors/CodeFileEditor.py:776 ../controls/VariablePanel.py:773
+#: ../IDEFrame.py:1596
 #, python-format
 msgid "\"%s\" is a keyword. It can't be used!"
 msgstr "\"%s\" 是一个关键词。它不能被使用!"
 
-#: ../editors/Viewer.py:240
-#, python-format
-msgid "\"%s\" is already used by \"%s\"!"
-msgstr "\"%s\" 已被 \"%s\" 使用!"
-
-#: ../plcopen/plcopen.py:2786
+#: ../plcopen/plcopen.py:2417
 #, python-format
 msgid "\"%s\" is an invalid value!"
 msgstr "\"%s\"不是有效值!"
 
-#: ../PLCOpenEditor.py:362
-#: ../PLCOpenEditor.py:399
+#: ../PLCOpenEditor.py:349 ../PLCOpenEditor.py:391
 #, python-format
 msgid "\"%s\" is not a valid folder!"
 msgstr "\"%s\"不是有效文件夹!"
 
-#: ../controls/VariablePanel.py:654
-#: ../IDEFrame.py:1649
-#: ../editors/DataTypeEditor.py:572
-#: ../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
+#: ../dialogs/SFCStepNameDialog.py:50 ../dialogs/PouTransitionDialog.py:99
+#: ../dialogs/BlockPreviewDialog.py:204 ../dialogs/PouNameDialog.py:48
+#: ../dialogs/PouActionDialog.py:97 ../dialogs/PouDialog.py:119
+#: ../editors/ResourceEditor.py:447 ../editors/ResourceEditor.py:482
+#: ../editors/DataTypeEditor.py:585 ../editors/CodeFileEditor.py:774
+#: ../controls/VariablePanel.py:771 ../IDEFrame.py:1594
 #, python-format
 msgid "\"%s\" is not a valid identifier!"
 msgstr "\"%s\"不是有效标识符!"
 
-#: ../IDEFrame.py:214
-#: ../IDEFrame.py:2445
-#: ../IDEFrame.py:2464
-#, python-format
-msgid "\"%s\" is used by one or more POUs. It can't be removed!"
-msgstr "%s 正在被一个或多个POU使用。不能被删除!"
-
-#: ../controls/VariablePanel.py:311
-#: ../IDEFrame.py:1669
-#: ../editors/TextViewer.py:303
-#: ../editors/TextViewer.py:323
-#: ../editors/TextViewer.py:360
-#: ../editors/Viewer.py:250
-#: ../editors/Viewer.py:295
-#: ../editors/Viewer.py:312
-#: ../dialogs/ConnectionDialog.py:148
-#: ../dialogs/PouDialog.py:120
-#: ../dialogs/FBDBlockDialog.py:160
+#: ../IDEFrame.py:2410
+#, python-format
+msgid "\"%s\" is used by one or more POUs. Do you wish to continue?"
+msgstr "\"%s\"被一个或多个程序组织单元使用,你确定要继续吗? "
+
+#: ../dialogs/BlockPreviewDialog.py:212 ../dialogs/PouDialog.py:123
+#: ../editors/Viewer.py:261 ../editors/Viewer.py:316 ../editors/Viewer.py:346
+#: ../editors/Viewer.py:368 ../editors/TextViewer.py:270
+#: ../editors/TextViewer.py:299 ../editors/TextViewer.py:350
+#: ../editors/TextViewer.py:373 ../controls/VariablePanel.py:338
+#: ../IDEFrame.py:1614
 #, python-format
 msgid "\"%s\" pou already exists!"
 msgstr "\"%s\"编程组织单元已经存在!"
 
-#: ../plcopen/plcopen.py:346
-#, python-format
-msgid "\"%s\" resource already exists in \"%s\" configuration !!!"
-msgstr "\"%s\" 资源已经存在于 \"%s\" 配置中!!!"
-
-#: ../plcopen/plcopen.py:362
-#, python-format
-msgid "\"%s\" resource doesn't exist in \"%s\" configuration !!!"
-msgstr "\"%s\" 资源不存在于 \"%s\" 配置之内!!!"
-
-#: ../dialogs/SFCStepNameDialog.py:57
-#: ../dialogs/SFCStepDialog.py:128
+#: ../dialogs/SFCStepNameDialog.py:58
 #, python-format
 msgid "\"%s\" step already exists!"
 msgstr "\"%s\"步骤已经存在!"
 
-#: ../editors/DataTypeEditor.py:543
+#: ../editors/DataTypeEditor.py:550
 #, python-format
 msgid "\"%s\" value already defined!"
 msgstr "\"%s\" 值已经被定义!"
 
-#: ../editors/DataTypeEditor.py:719
-#: ../dialogs/ArrayTypeDialog.py:97
+#: ../dialogs/ArrayTypeDialog.py:97 ../editors/DataTypeEditor.py:743
 #, python-format
 msgid "\"%s\" value isn't a valid array dimension!"
 msgstr "\"%s\" 值不是有效数组维数!"
 
-#: ../editors/DataTypeEditor.py:726
-#: ../dialogs/ArrayTypeDialog.py:103
+#: ../dialogs/ArrayTypeDialog.py:103 ../editors/DataTypeEditor.py:750
 #, python-format
 msgid ""
 "\"%s\" value isn't a valid array dimension!\n"
@@ -275,379 +199,412 @@
 "\"%s\" 不是一个有效的数组维数值!\n"
 "右边的数值必须大于左边的数值。"
 
-#: ../PLCControler.py:793
-#, fuzzy, python-format
-msgid "%s \"%s\" can't be pasted as a %s."
-msgstr "\"%s\" 元素不能粘贴在这里!!!"
-
-#: ../PLCControler.py:1422
-#, fuzzy, python-format
+#: ../PLCGenerator.py:1101
+#, python-brace-format
+msgid "\"{a1}\" function cancelled in \"{a2}\" POU: No input connected"
+msgstr "\"{a1}\" 功能 被取消在 \"{a2}\" POU:没有输入被连接"
+
+#: ../editors/Viewer.py:251
+#, python-brace-format
+msgid "\"{a1}\" is already used by \"{a2}\"!"
+msgstr "\"{a1}\" 被用在了 \"{a2}\"!"
+
+#: ../plcopen/plcopen.py:496
+#, python-brace-format
+msgid "\"{a1}\" resource already exists in \"{a2}\" configuration !!!"
+msgstr "\"{a1}\" 资源已经存在于 \"{a2}\" 配置 !!!"
+
+#: ../plcopen/plcopen.py:514
+#, python-brace-format
+msgid "\"{a1}\" resource doesn't exist in \"{a2}\" configuration !!!"
+msgstr "\"{a1}\" 资源部存在于 \"{a2}\" 配置!!!"
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:578
+#, python-format
+msgid "%03gms"
+msgstr "%03gms"
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:569
+#, python-format
+msgid "%dd"
+msgstr "%dd"
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:56
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:570
+#, python-format
+msgid "%dh"
+msgstr "%dh"
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:55
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:571
+#, python-format
+msgid "%dm"
+msgstr "%dm"
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:53
+#, python-format
+msgid "%dms"
+msgstr "%dms"
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:54
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:572
+#, python-format
+msgid "%ds"
+msgstr "%ds"
+
+#: ../PLCControler.py:1533
+#, python-format
 msgid "%s Data Types"
-msgstr "数据类型 "
-
-#: ../editors/GraphicViewer.py:278
-#, python-format
-msgid "%s Graphics"
-msgstr "%s 图形"
-
-#: ../PLCControler.py:1417
+msgstr "%s 数据类型"
+
+#: ../PLCControler.py:1516
 #, python-format
 msgid "%s POUs"
-msgstr ""
-
-#: ../canfestival/SlaveEditor.py:42
-#: ../canfestival/NetworkEditor.py:72
+msgstr "%s POUs"
+
+#: ../canfestival/SlaveEditor.py:69 ../canfestival/NetworkEditor.py:90
 #, python-format
 msgid "%s Profile"
-msgstr ""
-
-#: ../plcopen/plcopen.py:1780
-#: ../plcopen/plcopen.py:1790
-#: ../plcopen/plcopen.py:1800
-#: ../plcopen/plcopen.py:1810
-#: ../plcopen/plcopen.py:1819
+msgstr "%s Profile"
+
+#: ../plcopen/plcopen.py:1650 ../plcopen/plcopen.py:1657
+#: ../plcopen/plcopen.py:1669 ../plcopen/plcopen.py:1677
+#: ../plcopen/plcopen.py:1687
 #, python-format
 msgid "%s body don't have instances!"
 msgstr "%s 未包含实例!"
 
-#: ../plcopen/plcopen.py:1842
-#: ../plcopen/plcopen.py:1849
+#: ../plcopen/plcopen.py:1705 ../plcopen/plcopen.py:1712
+#: ../plcopen/plcopen.py:1719
 #, python-format
 msgid "%s body don't have text!"
 msgstr "%s 未包含文本!"
 
-#: ../IDEFrame.py:364
-#, fuzzy
+#: ../IDEFrame.py:386
 msgid "&Add Element"
-msgstr "插入"
-
-#: ../IDEFrame.py:334
-#, fuzzy
+msgstr "&增加元素"
+
+#: ../dialogs/AboutDialog.py:73 ../dialogs/AboutDialog.py:121
+#: ../dialogs/AboutDialog.py:158
+msgid "&Close"
+msgstr "&关闭"
+
+#: ../IDEFrame.py:356
 msgid "&Configuration"
-msgstr "配置"
-
-#: ../IDEFrame.py:325
-#, fuzzy
+msgstr "&配置"
+
+#: ../IDEFrame.py:345
 msgid "&Data Type"
-msgstr "数据类型"
-
-#: ../IDEFrame.py:368
-#, fuzzy
+msgstr "&数据类型"
+
+#: ../IDEFrame.py:390
 msgid "&Delete"
-msgstr "删除"
-
-#: ../IDEFrame.py:317
-#, fuzzy
+msgstr "&删除"
+
+#: ../IDEFrame.py:337
 msgid "&Display"
-msgstr "显示"
-
-#: ../IDEFrame.py:316
-#, fuzzy
+msgstr "&显示"
+
+#: ../IDEFrame.py:336
 msgid "&Edit"
-msgstr "编辑"
-
-#: ../IDEFrame.py:315
-#, fuzzy
+msgstr "&编辑"
+
+#: ../IDEFrame.py:335
 msgid "&File"
-msgstr "文件"
-
-#: ../IDEFrame.py:327
-#, fuzzy
+msgstr "&文件"
+
+#: ../IDEFrame.py:347
 msgid "&Function"
-msgstr "功能"
-
-#: ../IDEFrame.py:318
-#, fuzzy
+msgstr "&功能"
+
+#: ../IDEFrame.py:338
 msgid "&Help"
-msgstr "帮助"
-
-#: ../IDEFrame.py:331
-#, fuzzy
+msgstr "&帮助"
+
+#: ../dialogs/AboutDialog.py:72
+msgid "&License"
+msgstr "&许可"
+
+#: ../IDEFrame.py:351
 msgid "&Program"
-msgstr "程序"
-
-#: ../PLCOpenEditor.py:148
-#, fuzzy
+msgstr "&程序"
+
+#: ../PLCOpenEditor.py:127
 msgid "&Properties"
-msgstr "属性"
-
-#: ../Beremiz.py:310
-#, fuzzy
+msgstr "&属性"
+
+#: ../BeremizIDE.py:219
 msgid "&Recent Projects"
-msgstr ""
-"#-#-#-#-#  Beremiz_zh_CN.po (PACKAGE VERSION)  #-#-#-#-#\n"
-"关闭项目\n"
-"#-#-#-#-#  PLCOpenEditor_zh_CN.po (PACKAGE VERSION)  #-#-#-#-#\n"
-"关闭程序"
-
-#: ../Beremiz.py:352
-#, fuzzy
+msgstr "&最近项目"
+
+#: ../IDEFrame.py:353
 msgid "&Resource"
-msgstr "资源"
-
-#: ../controls/SearchResultPanel.py:237
-#, python-format
-msgid "'%s' - %d match in project"
-msgstr ""
+msgstr "&资源"
 
 #: ../controls/SearchResultPanel.py:239
-#, python-format
-msgid "'%s' - %d matches in project"
-msgstr ""
-
-#: ../connectors/PYRO/__init__.py:51
-#, python-format
-msgid "'%s' is located at %s\n"
-msgstr ""
-
-#: ../controls/SearchResultPanel.py:289
+#, python-brace-format
+msgid "'{a1}' - {a2} match in project"
+msgstr "'{a1}' - {a2} 在项目中匹配"
+
+#: ../controls/SearchResultPanel.py:241
+#, python-brace-format
+msgid "'{a1}' - {a2} matches in project"
+msgstr "'{a1}' - {a2} 在项目中匹配"
+
+#: ../connectors/PYRO/__init__.py:90
+#, python-brace-format
+msgid "'{a1}' is located at {a2}\n"
+msgstr "'{a1}' 位于 {a2}\n"
+
+#: ../controls/SearchResultPanel.py:291
 #, python-format
 msgid "(%d matches)"
-msgstr ""
-
-#: ../PLCOpenEditor.py:508
-#: ../PLCOpenEditor.py:510
-#: ../PLCOpenEditor.py:511
+msgstr "(%d 匹配)"
+
+#: ../PLCOpenEditor.py:406 ../PLCOpenEditor.py:408 ../PLCOpenEditor.py:409
 msgid ",   "
 msgstr ","
 
-#: ../dialogs/PouTransitionDialog.py:96
-#: ../dialogs/PouActionDialog.py:93
-#: ../dialogs/PouDialog.py:113
-#: ../dialogs/SFCTransitionDialog.py:146
+#: ../dialogs/PouTransitionDialog.py:96 ../dialogs/PouActionDialog.py:94
+#: ../dialogs/PouDialog.py:116
 #, python-format
 msgid ", %s"
 msgstr ", %s"
 
-#: ../PLCOpenEditor.py:506
+#: ../PLCOpenEditor.py:404
 msgid ". "
 msgstr "。"
 
-#: ../ProjectController.py:1268
-msgid "... debugger recovered\n"
-msgstr ""
-
-#: ../IDEFrame.py:1672
-#: ../IDEFrame.py:1714
-#: ../IDEFrame.py:1733
-#: ../dialogs/PouDialog.py:122
-#, python-format
-msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?"
+#: ../controls/LogViewer.py:279
+msgid "1d"
+msgstr "1d"
+
+#: ../controls/LogViewer.py:280
+msgid "1h"
+msgstr "1h"
+
+#: ../controls/LogViewer.py:281
+msgid "1m"
+msgstr "1m"
+
+#: ../controls/LogViewer.py:282
+msgid "1s"
+msgstr "1s"
+
+#: ../dialogs/PouDialog.py:125 ../IDEFrame.py:1617 ../IDEFrame.py:1663
+#: ../IDEFrame.py:1682
+#, python-format
+msgid ""
+"A POU has an element named \"%s\". This could cause a conflict. Do you wish "
+"to continue?"
 msgstr "一个编程组织单元的成员被命名为\"%s\"。这可能会产生冲突。你希望继续吗?"
 
-#: ../controls/VariablePanel.py:658
-#: ../IDEFrame.py:1684
-#: ../IDEFrame.py:1695
-#: ../dialogs/PouNameDialog.py:51
-#: ../dialogs/PouTransitionDialog.py:103
-#: ../dialogs/SFCStepNameDialog.py:53
-#: ../dialogs/PouActionDialog.py:100
-#: ../dialogs/SFCStepDialog.py:124
+#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:103
+#: ../dialogs/PouNameDialog.py:52 ../dialogs/PouActionDialog.py:101
+#: ../controls/VariablePanel.py:775 ../IDEFrame.py:1631 ../IDEFrame.py:1644
 #, python-format
 msgid "A POU named \"%s\" already exists!"
 msgstr "一个以\"%s\"命名的的编程组织单元已经存在!"
 
-#: ../ConfigTreeNode.py:371
-#, fuzzy, python-format
-msgid "A child named \"%s\" already exist -> \"%s\"\n"
-msgstr "分支名字 \"%s\" 已经存在 -> \"%s\"\n"
-
-#: ../dialogs/BrowseLocationsDialog.py:175
-#, fuzzy
+#: ../ConfigTreeNode.py:424
+#, python-brace-format
+msgid "A child named \"{a1}\" already exists -> \"{a2}\"\n"
+msgstr "一个子命名的 \"{a1}\" 已经存在 -> \"{a2}\"\n"
+
+#: ../dialogs/BrowseLocationsDialog.py:218
 msgid "A location must be selected!"
-msgstr "至少选择一个变量或者表达式!"
-
-#: ../controls/VariablePanel.py:660
-#: ../IDEFrame.py:1686
-#: ../IDEFrame.py:1697
-#: ../dialogs/SFCStepNameDialog.py:55
-#: ../dialogs/SFCStepDialog.py:126
+msgstr "一个定位必须被选择!"
+
+#: ../editors/ResourceEditor.py:451
+msgid "A task with the same name already exists!"
+msgstr "相同名称的任务已经存在!"
+
+#: ../dialogs/SFCStepNameDialog.py:56 ../controls/VariablePanel.py:777
+#: ../IDEFrame.py:1633 ../IDEFrame.py:1646
 #, python-format
 msgid "A variable with \"%s\" as name already exists in this pou!"
 msgstr "一个以\"%s\"命名的变量在这个编程组织单元中已经存在!"
 
-#: ../Beremiz.py:362
-#: ../PLCOpenEditor.py:181
+#: ../editors/CodeFileEditor.py:780
+#, python-format
+msgid "A variable with \"%s\" as name already exists!"
+msgstr "一个变量以 \"%s\" 作为名字已经存在!"
+
+#: ../BeremizIDE.py:283 ../dialogs/AboutDialog.py:48 ../PLCOpenEditor.py:168
 msgid "About"
 msgstr "关于"
 
-#: ../Beremiz.py:931
-msgid "About Beremiz"
-msgstr "关于Beremiz"
-
-#: ../PLCOpenEditor.py:376
-msgid "About PLCOpenEditor"
-msgstr "关于PLCOpen编辑器"
-
 #: ../plcopen/iec_std.csv:22
 msgid "Absolute number"
 msgstr "绝对值"
 
-#: ../dialogs/ActionBlockDialog.py:41
-#: ../dialogs/SFCStepDialog.py:69
+#: ../dialogs/SFCStepDialog.py:73 ../dialogs/ActionBlockDialog.py:43
 msgid "Action"
-msgstr "行动"
-
-#: ../editors/Viewer.py:495
-#, fuzzy
+msgstr "动作"
+
+#: ../editors/Viewer.py:614 ../editors/Viewer.py:2394
 msgid "Action Block"
-msgstr "功能块"
-
-#: ../dialogs/PouActionDialog.py:81
+msgstr "动作控制功能块"
+
+#: ../dialogs/PouActionDialog.py:82
 msgid "Action Name"
-msgstr "行动名字"
+msgstr "动作名字"
 
 #: ../dialogs/PouActionDialog.py:49
 msgid "Action Name:"
-msgstr "行动名字:"
-
-#: ../plcopen/plcopen.py:1480
+msgstr "动作名字:"
+
+#: ../plcopen/plcopen.py:1364
 #, python-format
 msgid "Action with name %s doesn't exist!"
 msgstr "一个以\"%s\"命名的的行动不存在!"
 
-#: ../PLCControler.py:95
+#: ../PLCControler.py:98
 msgid "Actions"
-msgstr "行动"
-
-#: ../dialogs/ActionBlockDialog.py:134
+msgstr "动作"
+
+#: ../dialogs/ActionBlockDialog.py:133
 msgid "Actions:"
-msgstr "行动:"
-
-#: ../canfestival/SlaveEditor.py:54
-#: ../canfestival/NetworkEditor.py:84
-#: ../editors/Viewer.py:527
+msgstr "动作:"
+
+#: ../editors/Viewer.py:431
+msgid "Active"
+msgstr "活动"
+
+#: ../canfestival/SlaveEditor.py:80 ../canfestival/NetworkEditor.py:101
+#: ../BeremizIDE.py:965 ../editors/Viewer.py:647
 msgid "Add"
 msgstr "添加"
 
-#: ../IDEFrame.py:1925
-#: ../IDEFrame.py:1956
+#: ../IDEFrame.py:1893 ../IDEFrame.py:1928
 msgid "Add Action"
-msgstr "添加行动"
-
-#: ../features.py:7
+msgstr "添加动作"
+
+#: ../features.py:32
 msgid "Add C code accessing located variables synchronously"
-msgstr ""
-
-#: ../IDEFrame.py:1908
+msgstr "同步的增加C代码访问定位的变量"
+
+#: ../IDEFrame.py:1876
 msgid "Add Configuration"
 msgstr "添加配置"
 
-#: ../IDEFrame.py:1888
+#: ../IDEFrame.py:1856
 msgid "Add DataType"
 msgstr "添加数据类型"
 
-#: ../editors/Viewer.py:453
+#: ../editors/Viewer.py:572
 msgid "Add Divergence Branch"
 msgstr "添加发散分支"
 
-#: ../dialogs/DiscoveryDialog.py:115
-#, fuzzy
+#: ../dialogs/DiscoveryDialog.py:117
 msgid "Add IP"
-msgstr "添加Pou"
-
-#: ../IDEFrame.py:1896
-#, fuzzy
+msgstr "添加 IP"
+
+#: ../IDEFrame.py:1864
 msgid "Add POU"
-msgstr "添加Pou"
-
-#: ../features.py:8
+msgstr "添加 POU"
+
+#: ../features.py:33
 msgid "Add Python code executed asynchronously"
-msgstr ""
-
-#: ../IDEFrame.py:1936
-#: ../IDEFrame.py:1982
+msgstr "添加异步执行的Python代码"
+
+#: ../IDEFrame.py:1904 ../IDEFrame.py:1954
 msgid "Add Resource"
 msgstr "添加源"
 
-#: ../IDEFrame.py:1914
-#: ../IDEFrame.py:1953
+#: ../IDEFrame.py:1882 ../IDEFrame.py:1925
 msgid "Add Transition"
 msgstr "添加跃迁"
 
-#: ../editors/Viewer.py:442
+#: ../editors/Viewer.py:559
 msgid "Add Wire Segment"
 msgstr "添加布线段"
 
-#: ../editors/SFCViewer.py:359
+#: ../editors/SFCViewer.py:433
 msgid "Add a new initial step"
 msgstr "新建一个初始步骤"
 
-#: ../editors/Viewer.py:2289
-#: ../editors/SFCViewer.py:696
+#: ../editors/Viewer.py:2757 ../editors/SFCViewer.py:770
 msgid "Add a new jump"
 msgstr "新建一个跳跃"
 
-#: ../editors/SFCViewer.py:381
+#: ../editors/SFCViewer.py:455
 msgid "Add a new step"
 msgstr "添加一个新步骤"
 
-#: ../features.py:9
+#: ../features.py:34
 msgid "Add a simple WxGlade based GUI."
-msgstr ""
-
-#: ../dialogs/ActionBlockDialog.py:138
-#, fuzzy
+msgstr "添加一个简单的基于 WxGlade的 GUI."
+
+#: ../dialogs/ActionBlockDialog.py:137
 msgid "Add action"
-msgstr "添加行动"
-
-#: ../editors/DataTypeEditor.py:345
-#, fuzzy
+msgstr "添加动作"
+
+#: ../editors/DataTypeEditor.py:352
 msgid "Add element"
-msgstr "插入"
-
-#: ../editors/ResourceEditor.py:251
-#, fuzzy
+msgstr "添加元素"
+
+#: ../editors/ResourceEditor.py:268
 msgid "Add instance"
 msgstr "添加实例"
 
-#: ../canfestival/NetworkEditor.py:86
-#, fuzzy
+#: ../canfestival/NetworkEditor.py:103
 msgid "Add slave"
-msgstr "添加实例"
-
-#: ../editors/ResourceEditor.py:222
-#, fuzzy
+msgstr "添加从站"
+
+#: ../editors/ResourceEditor.py:239
 msgid "Add task"
 msgstr "添加任务"
 
-#: ../controls/VariablePanel.py:378
-#, fuzzy
+#: ../editors/CodeFileEditor.py:658 ../controls/VariablePanel.py:450
 msgid "Add variable"
-msgstr "变量"
+msgstr "添加变量"
 
 #: ../plcopen/iec_std.csv:33
 msgid "Addition"
 msgstr "加法"
 
-#: ../plcopen/structures.py:250
+#: ../plcopen/definitions.py:49
 msgid "Additional function blocks"
 msgstr "附加功能类型"
 
-#: ../editors/Viewer.py:1395
+#: ../editors/Viewer.py:630
+msgid "Adjust Block Size"
+msgstr "调整块尺寸"
+
+#: ../editors/Viewer.py:1686
 msgid "Alignment"
 msgstr "对准"
 
-#: ../controls/VariablePanel.py:75
-#: ../dialogs/BrowseLocationsDialog.py:35
-#: ../dialogs/BrowseLocationsDialog.py:116
+#: ../dialogs/BrowseLocationsDialog.py:40
+#: ../dialogs/BrowseLocationsDialog.py:48
+#: ../dialogs/BrowseLocationsDialog.py:141
+#: ../dialogs/BrowseLocationsDialog.py:144 ../controls/LogViewer.py:298
+#: ../controls/VariablePanel.py:70
 msgid "All"
 msgstr "所有"
 
 #: ../editors/FileManagementPanel.py:35
-#, fuzzy
 msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv"
-msgstr "ST 文件 (*.st)|*.st|所有文件|*.*"
-
-#: ../ProjectController.py:1335
+msgstr "所有文件 (*.*)|*.*|CSV 文件 (*.csv)|*.csv"
+
+#: ../ProjectController.py:1685
 msgid "Already connected. Please disconnect\n"
 msgstr "已经连接。请断开连接\n"
 
-#: ../editors/DataTypeEditor.py:587
+#: ../editors/DataTypeEditor.py:591
 #, python-format
 msgid "An element named \"%s\" already exists in this structure!"
 msgstr "一个以\"%s\"命名的元素已经在这个结构中存在!"
 
+#: ../editors/ResourceEditor.py:486
+msgid "An instance with the same name already exists!"
+msgstr "相同名称的实例已经存在!"
+
+#: ../dialogs/ConnectionDialog.py:100
+msgid "Apply name modification to all continuations with the same name"
+msgstr "应用名称修改到所有伴随相同名称的延续"
+
 #: ../plcopen/iec_std.csv:31
 msgid "Arc cosine"
 msgstr "反余弦"
@@ -664,8 +621,8 @@
 msgid "Arithmetic"
 msgstr "运算"
 
-#: ../controls/VariablePanel.py:729
-#: ../editors/DataTypeEditor.py:52
+#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:633
+#: ../controls/VariablePanel.py:858
 msgid "Array"
 msgstr "阵列的"
 
@@ -673,49 +630,45 @@
 msgid "Assignment"
 msgstr "分配"
 
-#: ../dialogs/FBDVariableDialog.py:197
+#: ../dialogs/FBDVariableDialog.py:222
 msgid "At least a variable or an expression must be selected!"
 msgstr "至少选择一个变量或者表达式!"
 
-#: ../controls/ProjectPropertiesPanel.py:99
+#: ../controls/ProjectPropertiesPanel.py:100
 msgid "Author"
 msgstr "作者"
 
-#: ../controls/ProjectPropertiesPanel.py:96
+#: ../controls/ProjectPropertiesPanel.py:97
 msgid "Author Name (optional):"
 msgstr "作者姓名(选填):"
 
-#: ../dialogs/FindInPouDialog.py:72
+#: ../dialogs/FindInPouDialog.py:77
 msgid "Backward"
-msgstr ""
+msgstr "反向"
 
 #: ../util/Zeroconf.py:599
 msgid "Bad domain name (circular) at "
-msgstr ""
+msgstr "不好域名称(循环的)在"
 
 #: ../util/Zeroconf.py:602
 msgid "Bad domain name at "
-msgstr ""
-
-#: ../canfestival/config_utils.py:341
-#: ../canfestival/config_utils.py:623
+msgstr "不好的域名称在"
+
+#: ../canfestival/config_utils.py:342 ../canfestival/config_utils.py:630
 #, python-format
 msgid "Bad location size : %s"
 msgstr "不好的位置大小:%s"
 
-#: ../editors/DataTypeEditor.py:168
-#: ../editors/DataTypeEditor.py:198
-#: ../editors/DataTypeEditor.py:290
-#: ../dialogs/ArrayTypeDialog.py:55
+#: ../dialogs/ArrayTypeDialog.py:54 ../editors/DataTypeEditor.py:175
+#: ../editors/DataTypeEditor.py:205 ../editors/DataTypeEditor.py:297
 msgid "Base Type:"
 msgstr "基类型:"
 
-#: ../controls/VariablePanel.py:699
-#: ../editors/DataTypeEditor.py:617
+#: ../editors/DataTypeEditor.py:623 ../controls/VariablePanel.py:816
 msgid "Base Types"
 msgstr "基类型"
 
-#: ../Beremiz.py:486
+#: ../BeremizIDE.py:455
 msgid "Beremiz"
 msgstr "Beremiz"
 
@@ -747,146 +700,169 @@
 msgid "Bitwise inverting"
 msgstr "按位“反向”"
 
-#: ../editors/Viewer.py:465
-#, fuzzy
+#: ../editors/Viewer.py:584 ../editors/Viewer.py:2407
 msgid "Block"
-msgstr "编辑块"
-
-#: ../dialogs/FBDBlockDialog.py:38
+msgstr "块"
+
+#: ../dialogs/FBDBlockDialog.py:60
 msgid "Block Properties"
 msgstr "块属性"
 
-#: ../editors/Viewer.py:434
+#: ../editors/TextViewer.py:262
+msgid "Block name"
+msgstr "块名称"
+
+#: ../editors/Viewer.py:550
 msgid "Bottom"
 msgstr "底部"
 
-#: ../dialogs/BrowseValuesLibraryDialog.py:37
+#: ../ProjectController.py:1363
+msgid "Broken"
+msgstr "损坏"
+
+#: ../dialogs/BrowseValuesLibraryDialog.py:38
 #, python-format
 msgid "Browse %s values library"
-msgstr ""
-
-#: ../dialogs/BrowseLocationsDialog.py:55
-#, fuzzy
+msgstr "浏览 %s 值库"
+
+#: ../dialogs/BrowseLocationsDialog.py:65
 msgid "Browse Locations"
-msgstr "位置"
-
-#: ../ProjectController.py:1484
+msgstr "浏览定位"
+
+#: ../ProjectController.py:1832
 msgid "Build"
 msgstr "构建"
 
-#: ../ProjectController.py:1051
+#: ../ProjectController.py:1297
 msgid "Build directory already clean\n"
 msgstr "构建目录已经清除\n"
 
-#: ../ProjectController.py:1485
+#: ../ProjectController.py:1833
 msgid "Build project into build folder"
 msgstr "在构建文件夹中构建项目"
 
-#: ../ProjectController.py:910
+#: ../ProjectController.py:1080
 msgid "C Build crashed !\n"
 msgstr "C构建损坏!\n"
 
-#: ../ProjectController.py:907
+#: ../ProjectController.py:1077
 msgid "C Build failed.\n"
 msgstr "C构建失败。\n"
 
-#: ../ProjectController.py:895
+#: ../c_ext/CFileEditor.py:63
+msgid "C code"
+msgstr "C 代码"
+
+#: ../ProjectController.py:1155
 msgid "C code generated successfully.\n"
 msgstr "C代码生成成功。\n"
 
-#: ../targets/toolchain_gcc.py:132
+#: ../targets/toolchain_makefile.py:122
+msgid "C compilation failed.\n"
+msgstr "C编译失败。\n"
+
+#: ../targets/toolchain_gcc.py:192
 #, python-format
 msgid "C compilation of %s failed.\n"
 msgstr " %s 的C编译失败。\n"
 
-#: ../features.py:7
-#, fuzzy
+#: ../features.py:32
 msgid "C extension"
 msgstr "C扩展"
 
-#: ../features.py:6
+#: ../dialogs/AboutDialog.py:71
+msgid "C&redits"
+msgstr "C&redits"
+
+#: ../canfestival/NetworkEditor.py:52
+msgid "CANOpen network"
+msgstr "CANOpen 网络"
+
+#: ../canfestival/SlaveEditor.py:44
+msgid "CANOpen slave"
+msgstr "CANOpen 从站"
+
+#: ../features.py:31
 msgid "CANopen support"
-msgstr ""
-
-#: ../plcopen/plcopen.py:1722
-#: ../plcopen/plcopen.py:1736
-#: ../plcopen/plcopen.py:1757
-#: ../plcopen/plcopen.py:1773
+msgstr "CANOpen 支持"
+
+#: ../plcopen/plcopen.py:1589 ../plcopen/plcopen.py:1603
+#: ../plcopen/plcopen.py:1627 ../plcopen/plcopen.py:1643
 msgid "Can only generate execution order on FBD networks!"
 msgstr "在功能块网络,只能生成执行命令!"
 
-#: ../controls/VariablePanel.py:256
+#: ../controls/VariablePanel.py:267
 msgid "Can only give a location to local or global variables"
 msgstr "只能影响本地或全局变量的位置"
 
-#: ../PLCOpenEditor.py:357
+#: ../PLCOpenEditor.py:344
 #, python-format
 msgid "Can't generate program to file %s!"
 msgstr "这个编程生成文件失败 %s!"
 
-#: ../controls/VariablePanel.py:254
+#: ../controls/VariablePanel.py:265
 msgid "Can't give a location to a function block instance"
 msgstr "不能影响功能块实例的位置"
 
-#: ../PLCOpenEditor.py:397
+#: ../PLCOpenEditor.py:389
 #, python-format
 msgid "Can't save project to file %s!"
 msgstr "这个项目保存为文件失败 %s!"
 
-#: ../controls/VariablePanel.py:298
-#, fuzzy
+#: ../controls/VariablePanel.py:313
 msgid "Can't set an initial value to a function block instance"
-msgstr "不能影响功能块实例的位置"
-
-#: ../ConfigTreeNode.py:470
-#, python-format
-msgid "Cannot create child %s of type %s "
-msgstr "无法新建分支 %s 类型 %s "
-
-#: ../ConfigTreeNode.py:400
+msgstr "不能设置一个初始值到一个功能块实例"
+
+#: ../ConfigTreeNode.py:529
+#, python-brace-format
+msgid "Cannot create child {a1} of type {a2} "
+msgstr "不能创建类型 {a2} 的子类型 {a1} "
+
+#: ../ConfigTreeNode.py:454
 #, python-format
 msgid "Cannot find lower free IEC channel than %d\n"
 msgstr "无法找到比 %d 更低的自由的IEC通道\n"
 
-#: ../connectors/PYRO/__init__.py:92
+#: ../connectors/PYRO/__init__.py:131
 msgid "Cannot get PLC status - connection failed.\n"
 msgstr "无法获取PLC的状态 - 连接失败。\n"
 
-#: ../ProjectController.py:715
+#: ../ProjectController.py:943
 msgid "Cannot open/parse VARIABLES.csv!\n"
 msgstr "无法打开/解析 VARIABLES.csv!\n"
 
-#: ../canfestival/config_utils.py:371
-#, python-format
-msgid "Cannot set bit offset for non bool '%s' variable (ID:%d,Idx:%x,sIdx:%x))"
-msgstr "无法设定位抵消非布尔 '%s' variable (ID:%d,Idx:%x,sIdx:%x)) "
-
-#: ../dialogs/FindInPouDialog.py:81
-#: ../dialogs/SearchInProjectDialog.py:67
+#: ../canfestival/config_utils.py:374
+#, python-brace-format
+msgid ""
+"Cannot set bit offset for non bool '{a1}' variable "
+"(ID:{a2},Idx:{a3},sIdx:{a4}))"
+msgstr "不能设置位偏移对于非布尔 '{a1}' 变量 (ID:{a2},Idx:{a3},sIdx:{a4}))"
+
+#: ../dialogs/SearchInProjectDialog.py:59 ../dialogs/FindInPouDialog.py:86
 msgid "Case sensitive"
-msgstr ""
-
-#: ../editors/Viewer.py:429
+msgstr "区分大小写"
+
+#: ../editors/Viewer.py:545
 msgid "Center"
 msgstr "中"
 
-#: ../Beremiz_service.py:322
+#: ../Beremiz_service.py:268
 msgid "Change IP of interface to bind"
 msgstr "更改界面的ip用以绑定"
 
-#: ../Beremiz_service.py:321
+#: ../Beremiz_service.py:267
 msgid "Change Name"
 msgstr "更改名字"
 
-#: ../IDEFrame.py:1974
+#: ../IDEFrame.py:1946
 msgid "Change POU Type To"
 msgstr "将POU类型转换为"
 
-#: ../Beremiz_service.py:325
+#: ../Beremiz_service.py:269
 msgid "Change Port Number"
 msgstr "更改端口号"
 
-#: ../Beremiz_service.py:327
+#: ../Beremiz_service.py:270
 msgid "Change working directory"
 msgstr "更改工作目录"
 
@@ -894,124 +870,115 @@
 msgid "Character string"
 msgstr "字符串"
 
-#: ../svgui/svgui.py:92
+#: ../svgui/svgui.py:128
 msgid "Choose a SVG file"
 msgstr "选择一个SVG文件"
 
-#: ../ProjectController.py:353
-#, fuzzy
+#: ../ProjectController.py:542
 msgid "Choose a directory to save project"
-msgstr "选择一个项目"
-
-#: ../canfestival/canfestival.py:118
-#: ../PLCOpenEditor.py:313
-#: ../PLCOpenEditor.py:347
-#: ../PLCOpenEditor.py:391
+msgstr "选择一个目录保存项目"
+
+#: ../canfestival/canfestival.py:162 ../PLCOpenEditor.py:302
+#: ../PLCOpenEditor.py:334 ../PLCOpenEditor.py:383
 msgid "Choose a file"
 msgstr "选择一个文件"
 
-#: ../Beremiz.py:831
-#: ../Beremiz.py:866
+#: ../BeremizIDE.py:833 ../BeremizIDE.py:869
 msgid "Choose a project"
 msgstr "选择一个项目"
 
-#: ../dialogs/BrowseValuesLibraryDialog.py:42
-#, fuzzy, python-format
+#: ../dialogs/BrowseValuesLibraryDialog.py:41
+#, python-format
 msgid "Choose a value for %s:"
-msgstr "选择一个文件"
-
-#: ../Beremiz_service.py:373
+msgstr "这对 %s选择一个值:"
+
+#: ../Beremiz_service.py:325
 msgid "Choose a working directory "
 msgstr "选择一个工作目录"
 
-#: ../ProjectController.py:281
+#: ../ProjectController.py:449
 msgid "Chosen folder doesn't contain a program. It's not a valid project!"
 msgstr "被选中的文件夹未包含一个程序。它不是一个有效项目!"
 
-#: ../ProjectController.py:247
+#: ../ProjectController.py:416
 msgid "Chosen folder isn't empty. You can't use it for a new project!"
 msgstr "被选中的文件夹非空。你不能用它创建一个新项目!"
 
-#: ../controls/VariablePanel.py:58
-#: ../controls/VariablePanel.py:59
+#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54
 msgid "Class"
 msgstr "分类"
 
-#: ../controls/VariablePanel.py:369
+#: ../controls/VariablePanel.py:441
 msgid "Class Filter:"
 msgstr "类过滤器:"
 
-#: ../dialogs/FBDVariableDialog.py:62
+#: ../dialogs/FBDVariableDialog.py:70
 msgid "Class:"
 msgstr "分类:"
 
-#: ../ProjectController.py:1488
+#: ../ProjectController.py:1836
 msgid "Clean"
 msgstr "清除"
 
-#: ../ProjectController.py:1490
+#: ../controls/LogViewer.py:318
+msgid "Clean log messages"
+msgstr "清楚记录信息"
+
+#: ../ProjectController.py:1838
 msgid "Clean project build folder"
 msgstr "清除项目构建目录"
 
-#: ../ProjectController.py:1048
+#: ../ProjectController.py:1294
 msgid "Cleaning the build directory\n"
 msgstr "清除构建目录\n"
 
-#: ../IDEFrame.py:411
-#, fuzzy
+#: ../IDEFrame.py:435
 msgid "Clear Errors"
-msgstr "清除错误\tCTRL+K"
-
-#: ../editors/Viewer.py:520
+msgstr "清楚错误"
+
+#: ../editors/Viewer.py:641
 msgid "Clear Execution Order"
 msgstr "清空执行命令"
 
-#: ../editors/GraphicViewer.py:125
-msgid "Clear the graph values"
-msgstr ""
-
-#: ../Beremiz.py:598
-#: ../PLCOpenEditor.py:221
-#, fuzzy
+#: ../dialogs/SearchInProjectDialog.py:103 ../dialogs/FindInPouDialog.py:109
+msgid "Close"
+msgstr "关闭"
+
+#: ../BeremizIDE.py:595 ../PLCOpenEditor.py:209
 msgid "Close Application"
-msgstr ""
-"#-#-#-#-#  Beremiz_zh_CN.po (PACKAGE VERSION)  #-#-#-#-#\n"
-"关闭应用\n"
-"#-#-#-#-#  PLCOpenEditor_zh_CN.po (PACKAGE VERSION)  #-#-#-#-#\n"
-"关闭应用程序"
-
-#: ../IDEFrame.py:1089
-#: ../Beremiz.py:319
-#: ../Beremiz.py:552
-#: ../PLCOpenEditor.py:131
-#, fuzzy
+msgstr "关闭应用"
+
+#: ../BeremizIDE.py:228 ../BeremizIDE.py:539 ../PLCOpenEditor.py:110
+#: ../IDEFrame.py:1013
 msgid "Close Project"
-msgstr ""
-"#-#-#-#-#  Beremiz_zh_CN.po (PACKAGE VERSION)  #-#-#-#-#\n"
-"关闭项目\n"
-"#-#-#-#-#  PLCOpenEditor_zh_CN.po (PACKAGE VERSION)  #-#-#-#-#\n"
-"关闭程序"
-
-#: ../Beremiz.py:317
-#: ../PLCOpenEditor.py:129
-#, fuzzy
+msgstr "关闭项目"
+
+#: ../BeremizIDE.py:226 ../PLCOpenEditor.py:108
 msgid "Close Tab"
-msgstr "关闭当前"
-
-#: ../editors/Viewer.py:481
+msgstr "关闭标签"
+
+#: ../editors/Viewer.py:600 ../editors/Viewer.py:2415
 msgid "Coil"
-msgstr ""
-
-#: ../editors/Viewer.py:501
-#: ../editors/LDViewer.py:503
+msgstr "线圈"
+
+#: ../editors/Viewer.py:620 ../editors/LDViewer.py:506
 msgid "Comment"
 msgstr "注释"
 
-#: ../controls/ProjectPropertiesPanel.py:94
+#: ../BeremizIDE.py:276 ../BeremizIDE.py:279 ../PLCOpenEditor.py:161
+#: ../PLCOpenEditor.py:164
+msgid "Community support"
+msgstr "社区支持"
+
+#: ../dialogs/ProjectDialog.py:60
+msgid "Company Name"
+msgstr "公司名称"
+
+#: ../controls/ProjectPropertiesPanel.py:95
 msgid "Company Name (required):"
 msgstr "公司名字(必须):"
 
-#: ../controls/ProjectPropertiesPanel.py:95
+#: ../controls/ProjectPropertiesPanel.py:96
 msgid "Company URL (optional):"
 msgstr "公司网址(选填):"
 
@@ -1019,7 +986,7 @@
 msgid "Comparison"
 msgstr "比较"
 
-#: ../ProjectController.py:538
+#: ../ProjectController.py:734
 msgid "Compiling IEC Program into C code...\n"
 msgstr "正在将IEC程序编译成C代码...\n"
 
@@ -1027,73 +994,93 @@
 msgid "Concatenation"
 msgstr "级联"
 
-#: ../dialogs/SearchInProjectDialog.py:47
+#: ../editors/ConfTreeNodeEditor.py:230
+msgid "Config"
+msgstr "配置"
+
+#: ../editors/ProjectNodeEditor.py:36
+msgid "Config variables"
+msgstr "配置变量"
+
+#: ../dialogs/SearchInProjectDialog.py:40
 msgid "Configuration"
 msgstr "配置"
 
-#: ../PLCControler.py:96
+#: ../PLCControler.py:99
 msgid "Configurations"
 msgstr "配置"
 
-#: ../ProjectController.py:1503
+#: ../editors/Viewer.py:308 ../editors/Viewer.py:338 ../editors/Viewer.py:360
+#: ../editors/TextViewer.py:291 ../editors/TextViewer.py:342
+#: ../editors/TextViewer.py:365 ../controls/VariablePanel.py:328
+msgid "Confirm or change variable name"
+msgstr "确认或变更变量名称"
+
+#: ../ProjectController.py:1851
 msgid "Connect"
 msgstr "连接"
 
-#: ../ProjectController.py:1504
+#: ../ProjectController.py:1852
 msgid "Connect to the target PLC"
 msgstr "连接到PLC目标"
 
-#: ../connectors/PYRO/__init__.py:40
-#, python-format
-msgid "Connecting to URI : %s\n"
-msgstr "连接到URI: %s!\n"
-
-#: ../editors/Viewer.py:467
-#: ../dialogs/SFCTransitionDialog.py:76
+#: ../ProjectController.py:1354
+#, python-format
+msgid "Connected to URI: %s"
+msgstr "连接到URI: %s"
+
+#: ../dialogs/SFCTransitionDialog.py:77 ../editors/Viewer.py:586
+#: ../editors/Viewer.py:2408
 msgid "Connection"
 msgstr "连接"
 
-#: ../dialogs/ConnectionDialog.py:37
+#: ../dialogs/ConnectionDialog.py:53
 msgid "Connection Properties"
 msgstr "连接属性"
 
-#: ../ProjectController.py:1359
-#, fuzzy
+#: ../ProjectController.py:1709
 msgid "Connection canceled!\n"
-msgstr "连接失败 %s!\n"
-
-#: ../ProjectController.py:1384
+msgstr "取消连接!\n"
+
+#: ../ProjectController.py:1734
 #, python-format
 msgid "Connection failed to %s!\n"
 msgstr "连接失败 %s!\n"
 
-#: ../connectors/PYRO/__init__.py:63
-#, fuzzy, python-format
+#: ../connectors/PYRO/__init__.py:115 ../connectors/WAMP/__init__.py:111
+msgid "Connection lost!\n"
+msgstr "失去连接!\n"
+
+#: ../connectors/PYRO/__init__.py:102
+#, python-format
 msgid "Connection to '%s' failed.\n"
-msgstr " %s 的C编译失败。\n"
-
-#: ../dialogs/ConnectionDialog.py:56
+msgstr "连接到 '%s' 失败。\n"
+
+#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1643
 msgid "Connector"
 msgstr "连接"
 
-#: ../dialogs/SFCStepDialog.py:58
+#: ../dialogs/SFCStepDialog.py:66
 msgid "Connectors:"
 msgstr "连接:"
 
-#: ../controls/VariablePanel.py:65
+#: ../BeremizIDE.py:350
+msgid "Console"
+msgstr "控制台"
+
+#: ../controls/VariablePanel.py:60
 msgid "Constant"
 msgstr "常量"
 
-#: ../editors/Viewer.py:477
-#, fuzzy
+#: ../editors/Viewer.py:596 ../editors/Viewer.py:2411
 msgid "Contact"
-msgstr "连续"
-
-#: ../controls/ProjectPropertiesPanel.py:197
+msgstr "连接"
+
+#: ../controls/ProjectPropertiesPanel.py:198
 msgid "Content Description (optional):"
 msgstr "内容描述(选填):"
 
-#: ../dialogs/ConnectionDialog.py:61
+#: ../dialogs/ConnectionDialog.py:66 ../editors/Viewer.py:1644
 msgid "Continuation"
 msgstr "连续"
 
@@ -1113,197 +1100,188 @@
 msgid "Conversion to time-of-day"
 msgstr "转换为日期时间"
 
-#: ../IDEFrame.py:348
-#: ../IDEFrame.py:401
-#: ../editors/Viewer.py:536
+#: ../editors/Viewer.py:656 ../controls/LogViewer.py:704 ../IDEFrame.py:370
+#: ../IDEFrame.py:425
 msgid "Copy"
-msgstr ""
-
-#: ../IDEFrame.py:1961
+msgstr "复制"
+
+#: ../IDEFrame.py:1933
 msgid "Copy POU"
-msgstr ""
-
-#: ../editors/FileManagementPanel.py:283
+msgstr "复制POU"
+
+#: ../editors/FileManagementPanel.py:65
 msgid "Copy file from left folder to right"
-msgstr ""
-
-#: ../editors/FileManagementPanel.py:282
+msgstr "从左侧文件夹中复制文件到右侧"
+
+#: ../editors/FileManagementPanel.py:64
 msgid "Copy file from right folder to left"
-msgstr ""
+msgstr "从右侧文件夹中复制文件到左侧"
 
 #: ../plcopen/iec_std.csv:28
 msgid "Cosine"
 msgstr "余弦"
 
-#: ../ConfigTreeNode.py:582
-#, python-format
-msgid ""
-"Could not add child \"%s\", type %s :\n"
-"%s\n"
+#: ../ConfigTreeNode.py:656
+#, python-brace-format
+msgid ""
+"Could not add child \"{a1}\", type {a2} :\n"
+"{a3}\n"
 msgstr ""
-"无法添加分支 \"%s\", type %s :\n"
-"%s\n"
-
-#: ../ConfigTreeNode.py:559
-#, fuzzy, python-format
-msgid ""
-"Couldn't load confnode base parameters %s :\n"
-" %s"
+"不能增加子 \"{a1}\",类型 {a2} :\n"
+"{a3}\n"
+
+#: ../py_ext/PythonFileCTNMixin.py:78
+#, python-format
+msgid "Couldn't import old %s file."
+msgstr "不能导入旧 %s 文件。"
+
+#: ../ConfigTreeNode.py:626
+#, python-brace-format
+msgid ""
+"Couldn't load confnode base parameters {a1} :\n"
+" {a2}"
 msgstr ""
-"无法下载插件基本参数 %s :\n"
-" %s"
-
-#: ../ConfigTreeNode.py:570
-#, fuzzy, python-format
-msgid ""
-"Couldn't load confnode parameters %s :\n"
-" %s"
+"不能加载 confnode 基础参数 {a1} :\n"
+" {a2}"
+
+#: ../ConfigTreeNode.py:643 ../CodeFileTreeNode.py:124
+#, python-brace-format
+msgid ""
+"Couldn't load confnode parameters {a1} :\n"
+" {a2}"
 msgstr ""
-"无法下载插件参数  %s :\n"
-" %s"
-
-#: ../PLCControler.py:765
-#: ../PLCControler.py:802
+"不能加载 confnode 参数 {a1} :\n"
+" {a2}"
+
+#: ../PLCControler.py:948
 msgid "Couldn't paste non-POU object."
-msgstr ""
-
-#: ../ProjectController.py:1317
+msgstr "不能粘贴 非-POU 目标。"
+
+#: ../ProjectController.py:1651
 msgid "Couldn't start PLC !\n"
 msgstr "无法开始PLC!\n"
 
-#: ../ProjectController.py:1325
+#: ../ProjectController.py:1659
 msgid "Couldn't stop PLC !\n"
 msgstr "无法停止PLC!\n"
 
-#: ../ProjectController.py:1295
-#, fuzzy
+#: ../ProjectController.py:1623
 msgid "Couldn't stop debugger.\n"
-msgstr "无法开始PLC调试!\n"
-
-#: ../svgui/svgui.py:22
+msgstr "不能停止调试器。\n"
+
+#: ../svgui/svgui.py:49
 msgid "Create HMI"
-msgstr ""
-
-#: ../dialogs/PouDialog.py:43
+msgstr "新建 HMI"
+
+#: ../dialogs/PouDialog.py:46
 msgid "Create a new POU"
 msgstr "新建一个POU"
 
 #: ../dialogs/PouActionDialog.py:38
 msgid "Create a new action"
-msgstr "新建一个行动"
-
-#: ../IDEFrame.py:135
+msgstr "新建一个动作"
+
+#: ../IDEFrame.py:159
 msgid "Create a new action block"
-msgstr "新建一个作用块"
-
-#: ../IDEFrame.py:84
-#: ../IDEFrame.py:114
-#: ../IDEFrame.py:147
+msgstr "新建一个动作控制功能块"
+
+#: ../IDEFrame.py:108 ../IDEFrame.py:138 ../IDEFrame.py:171
 msgid "Create a new block"
 msgstr "新建一个块"
 
-#: ../IDEFrame.py:108
+#: ../IDEFrame.py:132
 msgid "Create a new branch"
 msgstr "新建一个支流"
 
-#: ../IDEFrame.py:102
+#: ../IDEFrame.py:126
 msgid "Create a new coil"
 msgstr "新建一个线圈"
 
-#: ../IDEFrame.py:78
-#: ../IDEFrame.py:93
-#: ../IDEFrame.py:123
+#: ../IDEFrame.py:102 ../IDEFrame.py:117 ../IDEFrame.py:147
 msgid "Create a new comment"
 msgstr "新建一个备注"
 
-#: ../IDEFrame.py:87
-#: ../IDEFrame.py:117
-#: ../IDEFrame.py:150
+#: ../IDEFrame.py:111 ../IDEFrame.py:141 ../IDEFrame.py:174
 msgid "Create a new connection"
 msgstr "新建一个连接"
 
-#: ../IDEFrame.py:105
-#: ../IDEFrame.py:156
+#: ../IDEFrame.py:129 ../IDEFrame.py:180
 msgid "Create a new contact"
 msgstr "新建一个接触点"
 
-#: ../IDEFrame.py:138
+#: ../IDEFrame.py:162
 msgid "Create a new divergence"
 msgstr "新建一个发散"
 
-#: ../dialogs/SFCDivergenceDialog.py:36
+#: ../dialogs/SFCDivergenceDialog.py:53
 msgid "Create a new divergence or convergence"
 msgstr "新建一个发散或者收敛"
 
-#: ../IDEFrame.py:126
+#: ../IDEFrame.py:150
 msgid "Create a new initial step"
 msgstr "新建一个初始步骤"
 
-#: ../IDEFrame.py:141
+#: ../IDEFrame.py:165
 msgid "Create a new jump"
 msgstr "新建一个跳跃"
 
-#: ../IDEFrame.py:96
-#: ../IDEFrame.py:153
+#: ../IDEFrame.py:120 ../IDEFrame.py:177
 msgid "Create a new power rail"
 msgstr "新建一个电源导轨"
 
-#: ../IDEFrame.py:99
+#: ../IDEFrame.py:123
 msgid "Create a new rung"
 msgstr "新建一个梯级"
 
-#: ../IDEFrame.py:129
+#: ../IDEFrame.py:153
 msgid "Create a new step"
 msgstr "新建一个步骤"
 
-#: ../IDEFrame.py:132
-#: ../dialogs/PouTransitionDialog.py:42
+#: ../dialogs/PouTransitionDialog.py:42 ../IDEFrame.py:156
 msgid "Create a new transition"
 msgstr "新建一个跃迁"
 
-#: ../IDEFrame.py:81
-#: ../IDEFrame.py:111
-#: ../IDEFrame.py:144
+#: ../IDEFrame.py:105 ../IDEFrame.py:135 ../IDEFrame.py:168
 msgid "Create a new variable"
 msgstr "新建一个变量"
 
-#: ../IDEFrame.py:346
-#: ../IDEFrame.py:400
-#: ../editors/Viewer.py:535
+#: ../dialogs/AboutDialog.py:113
+msgid "Credits"
+msgstr "关于作者"
+
+#: ../Beremiz_service.py:434
+msgid "Current working directory :"
+msgstr "当前工作目录:"
+
+#: ../editors/Viewer.py:655 ../IDEFrame.py:368 ../IDEFrame.py:424
 msgid "Cut"
-msgstr ""
-
-#: ../editors/ResourceEditor.py:71
+msgstr "剪切"
+
+#: ../editors/ResourceEditor.py:72
 msgid "Cyclic"
-msgstr ""
-
-#: ../plcopen/iec_std.csv:42
-#: ../plcopen/iec_std.csv:44
-#: ../plcopen/iec_std.csv:46
-#: ../plcopen/iec_std.csv:50
-#: ../plcopen/iec_std.csv:52
-#: ../plcopen/iec_std.csv:54
-#: ../plcopen/iec_std.csv:56
-#: ../plcopen/iec_std.csv:58
+msgstr "循环"
+
+#: ../plcopen/iec_std.csv:42 ../plcopen/iec_std.csv:44
+#: ../plcopen/iec_std.csv:46 ../plcopen/iec_std.csv:50
+#: ../plcopen/iec_std.csv:52 ../plcopen/iec_std.csv:54
+#: ../plcopen/iec_std.csv:56 ../plcopen/iec_std.csv:58
 #: ../plcopen/iec_std.csv:60
 msgid "DEPRECATED"
-msgstr ""
-
-#: ../canfestival/SlaveEditor.py:50
-#: ../canfestival/NetworkEditor.py:80
+msgstr "DEPRECATED"
+
+#: ../canfestival/SlaveEditor.py:76 ../canfestival/NetworkEditor.py:97
 msgid "DS-301 Profile"
-msgstr ""
-
-#: ../canfestival/SlaveEditor.py:51
-#: ../canfestival/NetworkEditor.py:81
+msgstr "DS-301 配置"
+
+#: ../canfestival/SlaveEditor.py:77 ../canfestival/NetworkEditor.py:98
 msgid "DS-302 Profile"
-msgstr ""
-
-#: ../dialogs/SearchInProjectDialog.py:43
+msgstr "DS-302 配置"
+
+#: ../dialogs/SearchInProjectDialog.py:36
 msgid "Data Type"
 msgstr "数据类型"
 
-#: ../PLCControler.py:95
+#: ../PLCControler.py:98
 msgid "Data Types"
 msgstr "数据类型 "
 
@@ -1311,85 +1289,75 @@
 msgid "Data type conversion"
 msgstr "日期类型转换"
 
-#: ../plcopen/iec_std.csv:44
-#: ../plcopen/iec_std.csv:45
+#: ../plcopen/iec_std.csv:44 ../plcopen/iec_std.csv:45
 msgid "Date addition"
 msgstr "日期加法"
 
-#: ../plcopen/iec_std.csv:56
-#: ../plcopen/iec_std.csv:57
-#: ../plcopen/iec_std.csv:58
-#: ../plcopen/iec_std.csv:59
+#: ../plcopen/iec_std.csv:56 ../plcopen/iec_std.csv:57
+#: ../plcopen/iec_std.csv:58 ../plcopen/iec_std.csv:59
 msgid "Date and time subtraction"
 msgstr "日期和时间减法"
 
-#: ../plcopen/iec_std.csv:50
-#: ../plcopen/iec_std.csv:51
+#: ../plcopen/iec_std.csv:50 ../plcopen/iec_std.csv:51
 msgid "Date subtraction"
 msgstr "日期减法"
 
-#: ../dialogs/DurationEditorDialog.py:43
+#: ../dialogs/DurationEditorDialog.py:44
 msgid "Days:"
-msgstr ""
-
-#: ../ProjectController.py:1405
-msgid "Debug connect matching running PLC\n"
-msgstr ""
-
-#: ../ProjectController.py:1408
-msgid "Debug do not match PLC - stop/transfert/start to re-enable\n"
-msgstr ""
-
-#: ../controls/PouInstanceVariablesPanel.py:52
-#, fuzzy
+msgstr "日:"
+
+#: ../ProjectController.py:1756
+msgid "Debug does not match PLC - stop/transfert/start to re-enable\n"
+msgstr "调试部匹配PLC  -  停止/传输/启动 来新启用\n"
+
+#: ../controls/PouInstanceVariablesPanel.py:134
 msgid "Debug instance"
-msgstr "删除实例"
-
-#: ../editors/Viewer.py:3222
-#, fuzzy, python-format
+msgstr "调试实例"
+
+#: ../editors/Viewer.py:448
+#, python-format
 msgid "Debug: %s"
-msgstr "调试"
-
-#: ../ProjectController.py:1122
-#, fuzzy, python-format
+msgstr "调试:%s"
+
+#: ../ProjectController.py:1412
+#, python-format
 msgid "Debug: Unknown variable '%s'\n"
-msgstr "调试 :未知变量 %s\n"
-
-#: ../ProjectController.py:1120
+msgstr "调试:未知变量 '%s'\n"
+
+#: ../ProjectController.py:1410
 #, python-format
 msgid "Debug: Unsupported type to debug '%s'\n"
-msgstr ""
-
-#: ../IDEFrame.py:608
-#, fuzzy
+msgstr "调试:不支持的类型进行调试 '%s'\n"
+
+#: ../IDEFrame.py:639
 msgid "Debugger"
-msgstr "调试"
-
-#: ../ProjectController.py:1285
+msgstr "调试器"
+
+#: ../ProjectController.py:1592
 msgid "Debugger disabled\n"
 msgstr "调试器禁用\n"
 
-#: ../ProjectController.py:1297
-#, fuzzy
+#: ../ProjectController.py:1753
+msgid "Debugger ready\n"
+msgstr "调试器准备好\n"
+
+#: ../ProjectController.py:1625
 msgid "Debugger stopped.\n"
-msgstr "调试器禁用\n"
-
-#: ../IDEFrame.py:1990
-#: ../Beremiz.py:958
-#: ../editors/Viewer.py:511
+msgstr "调试器停止。\n"
+
+#: ../BeremizIDE.py:968 ../editors/Viewer.py:631 ../IDEFrame.py:1962
 msgid "Delete"
 msgstr "删除"
 
-#: ../editors/Viewer.py:454
+#: ../editors/Viewer.py:573
 msgid "Delete Divergence Branch"
 msgstr "删除发散分支"
 
-#: ../editors/FileManagementPanel.py:371
-#, fuzzy
+#: ../editors/FileManagementPanel.py:153
 msgid "Delete File"
-msgstr "删除项目"
-
-#: ../editors/Viewer.py:443
+msgstr "删除文件"
+
+#: ../editors/Viewer.py:560
 msgid "Delete Wire Segment"
 msgstr "删除布线段"
 
@@ -1401,188 +1369,168 @@
 msgid "Deletion (within)"
 msgstr "删除"
 
-#: ../editors/DataTypeEditor.py:146
+#: ../editors/DataTypeEditor.py:153
 msgid "Derivation Type:"
 msgstr "推导类型:"
 
-#: ../plcopen/structures.py:264
-msgid ""
-"Derivative\n"
-"The derivative function block produces an output XOUT proportional to the rate of change of the input XIN."
-msgstr ""
-"导数\n"
-"导数功能块根据输入XIN的速率的变化而按比例的生产输出XOUT。"
-
-#: ../controls/VariablePanel.py:360
-#, fuzzy
+#: ../editors/CodeFileEditor.py:739
+msgid "Description"
+msgstr "描述"
+
+#: ../controls/VariablePanel.py:432
 msgid "Description:"
-msgstr "定位:"
-
-#: ../editors/DataTypeEditor.py:314
-#: ../dialogs/ArrayTypeDialog.py:61
+msgstr "描述:"
+
+#: ../dialogs/ArrayTypeDialog.py:60 ../editors/DataTypeEditor.py:321
 msgid "Dimensions:"
 msgstr "维数:"
 
-#: ../dialogs/FindInPouDialog.py:61
-#, fuzzy
+#: ../dialogs/FindInPouDialog.py:66
 msgid "Direction"
-msgstr "直接的"
-
-#: ../dialogs/BrowseLocationsDialog.py:78
-#, fuzzy
+msgstr "方向"
+
+#: ../dialogs/BrowseLocationsDialog.py:91
 msgid "Direction:"
-msgstr "直接的"
-
-#: ../editors/DataTypeEditor.py:52
+msgstr "方向:"
+
+#: ../editors/DataTypeEditor.py:54
 msgid "Directly"
 msgstr "直接的"
 
-#: ../ProjectController.py:1512
+#: ../ProjectController.py:1860
 msgid "Disconnect"
 msgstr "断开"
 
-#: ../ProjectController.py:1514
+#: ../ProjectController.py:1862
 msgid "Disconnect from PLC"
 msgstr "从PLC断开"
 
-#: ../editors/Viewer.py:496
-#, fuzzy
+#: ../ProjectController.py:1364
+msgid "Disconnected"
+msgstr "已断开"
+
+#: ../editors/Viewer.py:615 ../editors/Viewer.py:2403
 msgid "Divergence"
-msgstr "选择发散"
+msgstr "偏差"
 
 #: ../plcopen/iec_std.csv:36
 msgid "Division"
 msgstr "除法"
 
-#: ../editors/FileManagementPanel.py:370
+#: ../editors/FileManagementPanel.py:152
 #, python-format
 msgid "Do you really want to delete the file '%s'?"
-msgstr ""
-
-#: ../controls/VariablePanel.py:58
-#: ../controls/VariablePanel.py:59
-#, fuzzy
+msgstr "你真的想删除这个文件 '%s' ?"
+
+#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54
 msgid "Documentation"
-msgstr "级联"
-
-#: ../PLCOpenEditor.py:351
+msgstr "文档"
+
+#: ../PLCOpenEditor.py:338
 msgid "Done"
 msgstr "完成"
 
-#: ../plcopen/structures.py:227
-msgid ""
-"Down-counter\n"
-"The down-counter can be used to signal when a count has reached zero, on counting down from a preset value."
-msgstr ""
-"倒计时器\n"
-"倒计时器用于当计数到达 0的时候,从当前值开始倒计时。"
-
-#: ../dialogs/ActionBlockDialog.py:37
+#: ../dialogs/ActionBlockDialog.py:39
 msgid "Duration"
 msgstr "时间"
 
-#: ../canfestival/canfestival.py:118
-#, fuzzy
+#: ../canfestival/canfestival.py:165
 msgid "EDS files (*.eds)|*.eds|All files|*.*"
-msgstr "ST 文件 (*.st)|*.st|所有文件|*.*"
-
-#: ../editors/Viewer.py:510
+msgstr "EDS 文件 (*.eds)|*.eds|All files|*.*"
+
+#: ../editors/Viewer.py:629
 msgid "Edit Block"
 msgstr "编辑块"
 
-#: ../dialogs/LDElementDialog.py:41
+#: ../dialogs/LDElementDialog.py:56
 msgid "Edit Coil Values"
 msgstr "编辑线圈值"
 
-#: ../dialogs/LDElementDialog.py:38
+#: ../dialogs/LDElementDialog.py:54
 msgid "Edit Contact Values"
 msgstr "编辑接触点值"
 
 #: ../dialogs/DurationEditorDialog.py:59
-#, fuzzy
 msgid "Edit Duration"
-msgstr "编辑跃迁"
-
-#: ../dialogs/SFCStepDialog.py:35
+msgstr "编辑期间"
+
+#: ../dialogs/SFCStepDialog.py:51
 msgid "Edit Step"
 msgstr "编辑步骤"
 
-#: ../wxglade_hmi/wxglade_hmi.py:12
+#: ../wxglade_hmi/wxglade_hmi.py:38
 msgid "Edit a WxWidgets GUI with WXGlade"
 msgstr "用 WXGlade 编辑一个 WxWidgets 用户图形界面"
 
-#: ../dialogs/ActionBlockDialog.py:122
+#: ../dialogs/ActionBlockDialog.py:121
 msgid "Edit action block properties"
 msgstr "编辑行动块属性"
 
-#: ../dialogs/ArrayTypeDialog.py:45
-#, fuzzy
+#: ../dialogs/ArrayTypeDialog.py:44
 msgid "Edit array type properties"
-msgstr "编辑行动块属性"
-
-#: ../editors/Viewer.py:2112
-#: ../editors/Viewer.py:2114
-#: ../editors/Viewer.py:2630
-#: ../editors/Viewer.py:2632
+msgstr "编辑数组类型属性"
+
+#: ../editors/Viewer.py:2626 ../editors/Viewer.py:3055
 msgid "Edit comment"
 msgstr "编辑注释"
 
-#: ../editors/FileManagementPanel.py:284
-#, fuzzy
+#: ../editors/FileManagementPanel.py:66
 msgid "Edit file"
-msgstr "编辑C文件"
+msgstr "编辑文件"
 
 #: ../controls/CustomEditableListBox.py:39
 msgid "Edit item"
 msgstr "编辑项目"
 
-#: ../editors/Viewer.py:2594
+#: ../editors/Viewer.py:3014
 msgid "Edit jump target"
 msgstr "编辑跳跃目标"
 
-#: ../ProjectController.py:1526
+#: ../ProjectController.py:1874
 msgid "Edit raw IEC code added to code generated by PLCGenerator"
 msgstr "编辑原始的IEC代码添加至PLCGenerator生成的代码"
 
-#: ../editors/SFCViewer.py:725
+#: ../editors/SFCViewer.py:799
 msgid "Edit step name"
 msgstr "编辑步骤名称"
 
-#: ../dialogs/SFCTransitionDialog.py:38
+#: ../dialogs/SFCTransitionDialog.py:52
 msgid "Edit transition"
 msgstr "编辑跃迁"
 
-#: ../IDEFrame.py:580
+#: ../IDEFrame.py:611
 msgid "Editor ToolBar"
-msgstr ""
-
-#: ../ProjectController.py:1013
-#, fuzzy
+msgstr "编辑工具栏"
+
+#: ../ProjectController.py:1257
 msgid "Editor selection"
-msgstr "编辑跃迁"
-
-#: ../editors/DataTypeEditor.py:341
+msgstr "编辑选择"
+
+#: ../editors/DataTypeEditor.py:348
 msgid "Elements :"
 msgstr "元素:"
 
-#: ../IDEFrame.py:343
-#, fuzzy
+#: ../ProjectController.py:1362
+msgid "Empty"
+msgstr "空的"
+
+#: ../IDEFrame.py:365
 msgid "Enable Undo/Redo"
-msgstr "启用"
-
-#: ../Beremiz_service.py:380
+msgstr "启用  取消/重做"
+
+#: ../Beremiz_service.py:333
 msgid "Enter a name "
 msgstr "输入一个名字"
 
-#: ../Beremiz_service.py:365
+#: ../Beremiz_service.py:318
 msgid "Enter a port number "
 msgstr "输入一个端口号"
 
-#: ../Beremiz_service.py:355
+#: ../Beremiz_service.py:309
 msgid "Enter the IP of the interface to bind"
 msgstr "输入界面的ip用以绑定"
 
-#: ../editors/DataTypeEditor.py:52
+#: ../editors/DataTypeEditor.py:54
 msgid "Enumerated"
 msgstr "列举的"
 
@@ -1590,69 +1538,48 @@
 msgid "Equal to"
 msgstr "等于"
 
-#: ../Beremiz_service.py:270
-#: ../Beremiz_service.py:394
-#: ../controls/VariablePanel.py:330
-#: ../controls/VariablePanel.py:678
-#: ../controls/DebugVariablePanel.py:164
-#: ../IDEFrame.py:1083
-#: ../IDEFrame.py:1672
-#: ../IDEFrame.py:1709
-#: ../IDEFrame.py:1714
-#: ../IDEFrame.py:1728
-#: ../IDEFrame.py:1733
-#: ../IDEFrame.py:2422
-#: ../Beremiz.py:1083
-#: ../PLCOpenEditor.py:358
-#: ../PLCOpenEditor.py:363
-#: ../PLCOpenEditor.py:531
-#: ../PLCOpenEditor.py:541
-#: ../editors/TextViewer.py:376
-#: ../editors/DataTypeEditor.py:543
-#: ../editors/DataTypeEditor.py:548
-#: ../editors/DataTypeEditor.py:572
-#: ../editors/DataTypeEditor.py:577
-#: ../editors/DataTypeEditor.py:587
-#: ../editors/DataTypeEditor.py:719
-#: ../editors/DataTypeEditor.py:726
-#: ../editors/Viewer.py:366
-#: ../editors/LDViewer.py:663
-#: ../editors/LDViewer.py:879
-#: ../editors/LDViewer.py:883
-#: ../editors/FileManagementPanel.py:210
-#: ../ProjectController.py:221
-#: ../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
+#: ../BeremizIDE.py:1107 ../dialogs/ForceVariableDialog.py:197
+#: ../dialogs/SearchInProjectDialog.py:168 ../dialogs/SFCStepNameDialog.py:60
+#: ../dialogs/DurationEditorDialog.py:121
+#: ../dialogs/DurationEditorDialog.py:167
+#: ../dialogs/PouTransitionDialog.py:107 ../dialogs/BlockPreviewDialog.py:237
+#: ../dialogs/ProjectDialog.py:74 ../dialogs/ArrayTypeDialog.py:97
+#: ../dialogs/ArrayTypeDialog.py:103 ../dialogs/PouNameDialog.py:54
+#: ../dialogs/BrowseLocationsDialog.py:218
 #: ../dialogs/BrowseValuesLibraryDialog.py:83
-#: ../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
+#: ../dialogs/PouActionDialog.py:105 ../dialogs/PouDialog.py:135
+#: ../PLCOpenEditor.py:345 ../PLCOpenEditor.py:350 ../PLCOpenEditor.py:430
+#: ../PLCOpenEditor.py:440 ../editors/ResourceEditor.py:436
+#: ../editors/Viewer.py:424 ../editors/LDViewer.py:666
+#: ../editors/LDViewer.py:882 ../editors/LDViewer.py:886
+#: ../editors/DataTypeEditor.py:550 ../editors/DataTypeEditor.py:555
+#: ../editors/DataTypeEditor.py:574 ../editors/DataTypeEditor.py:743
+#: ../editors/DataTypeEditor.py:750 ../editors/TextViewer.py:389
+#: ../editors/CodeFileEditor.py:762 ../ProjectController.py:372
+#: ../ProjectController.py:512 ../ProjectController.py:519
+#: ../controls/FolderTree.py:217
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:166
+#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:137
+#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:231
+#: ../controls/VariablePanel.py:402 ../controls/VariablePanel.py:759
+#: ../IDEFrame.py:1007 ../IDEFrame.py:1617 ../IDEFrame.py:1658
+#: ../IDEFrame.py:1663 ../IDEFrame.py:1677 ../IDEFrame.py:1682
+#: ../Beremiz_service.py:213
 msgid "Error"
 msgstr "错误"
 
-#: ../ProjectController.py:587
-msgid "Error : At least one configuration and one resource must be declared in PLC !\n"
+#: ../ProjectController.py:789
+msgid ""
+"Error : At least one configuration and one resource must be declared in PLC "
+"!\n"
 msgstr "错误:在PLC中,必须申明至少一个配置和一个资源!\n"
 
-#: ../ProjectController.py:579
+#: ../ProjectController.py:781
 #, python-format
 msgid "Error : IEC to C compiler returned %d\n"
 msgstr "错误:IEC到C编译器返回 %d\n"
 
-#: ../ProjectController.py:520
+#: ../ProjectController.py:712
 #, python-format
 msgid ""
 "Error in ST/IL/SFC code generator :\n"
@@ -1661,40 +1588,39 @@
 "错误在ST/IL/SFC代码生成器中:\n"
 "%s\n"
 
-#: ../ConfigTreeNode.py:182
+#: ../ConfigTreeNode.py:216
 #, python-format
 msgid "Error while saving \"%s\"\n"
 msgstr "存储时有错误 \"%s\"\n"
 
-#: ../canfestival/canfestival.py:122
+#: ../canfestival/canfestival.py:170
 msgid "Error: Export slave failed\n"
-msgstr ""
-
-#: ../canfestival/canfestival.py:270
+msgstr "错误:导出从站失败\n"
+
+#: ../canfestival/canfestival.py:371
 msgid "Error: No Master generated\n"
 msgstr "错误:没有主控生成\n"
 
-#: ../canfestival/canfestival.py:265
+#: ../canfestival/canfestival.py:366
 msgid "Error: No PLC built\n"
 msgstr "错误:没有PLC构建\n"
 
-#: ../ProjectController.py:1378
+#: ../ProjectController.py:1728
 #, python-format
 msgid "Exception while connecting %s!\n"
 msgstr "连接时存在异常 %s!\n"
 
-#: ../dialogs/FBDBlockDialog.py:95
+#: ../dialogs/FBDBlockDialog.py:120
 msgid "Execution Control:"
 msgstr "执行控制:"
 
-#: ../dialogs/FBDVariableDialog.py:76
-#: ../dialogs/FBDBlockDialog.py:87
+#: ../dialogs/FBDVariableDialog.py:80 ../dialogs/FBDBlockDialog.py:108
 msgid "Execution Order:"
 msgstr "执行命令:"
 
-#: ../features.py:10
+#: ../features.py:35
 msgid "Experimental web based HMI"
-msgstr ""
+msgstr "实验性的WEB基础的HMI"
 
 #: ../plcopen/iec_std.csv:38
 msgid "Exponent"
@@ -1704,192 +1630,171 @@
 msgid "Exponentiation"
 msgstr "幂"
 
-#: ../canfestival/canfestival.py:128
+#: ../canfestival/canfestival.py:176
 msgid "Export CanOpen slave to EDS file"
-msgstr ""
-
-#: ../editors/GraphicViewer.py:144
+msgstr "导出 CANOpen 从站到 EDS 文件"
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:243
 msgid "Export graph values to clipboard"
-msgstr ""
-
-#: ../canfestival/canfestival.py:127
+msgstr "导出图形值到剪切板"
+
+#: ../canfestival/canfestival.py:175
 msgid "Export slave"
-msgstr ""
-
-#: ../dialogs/FBDVariableDialog.py:69
+msgstr "导出从站"
+
+#: ../dialogs/FBDVariableDialog.py:90
 msgid "Expression:"
 msgstr "表达式:"
 
-#: ../controls/VariablePanel.py:77
+#: ../controls/VariablePanel.py:72
 msgid "External"
 msgstr "外部的"
 
-#: ../ProjectController.py:591
+#: ../ProjectController.py:802
 msgid "Extracting Located Variables...\n"
 msgstr "正在提取位置变量......\n"
 
-#: ../controls/ProjectPropertiesPanel.py:143
-#: ../dialogs/PouTransitionDialog.py:35
-#: ../dialogs/PouActionDialog.py:31
-#: ../dialogs/PouDialog.py:36
+#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32
+#: ../dialogs/PouDialog.py:37 ../controls/ProjectPropertiesPanel.py:144
 msgid "FBD"
-msgstr "功能区块图"
-
-#: ../ProjectController.py:1445
+msgstr "功能块图"
+
+#: ../ProjectController.py:1791
 msgid "Failed : Must build before transfer.\n"
 msgstr "失败:传输之前必须构建。\n"
 
-#: ../editors/Viewer.py:405
-#: ../dialogs/LDElementDialog.py:84
+#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:521
 msgid "Falling Edge"
 msgstr "下降沿"
 
-#: ../plcopen/structures.py:217
-msgid ""
-"Falling edge detector\n"
-"The output produces a single pulse when a falling edge is detected."
-msgstr ""
-"下降沿检测\n"
-"当下降沿被检测到时,输出便产生一个单脉冲。"
-
-#: ../ProjectController.py:900
+#: ../ProjectController.py:1070
 msgid "Fatal : cannot get builder.\n"
 msgstr "致命错误:无法获取构建者。\n"
 
-#: ../dialogs/DurationEditorDialog.py:160
-#, fuzzy, python-format
+#: ../Beremiz.py:156
+#, python-format
+msgid "Fetching %s"
+msgstr "抓取 %s"
+
+#: ../dialogs/DurationEditorDialog.py:164
+#, python-format
 msgid "Field %s hasn't a valid value!"
-msgstr "\"%s\"不是有效值!"
-
-#: ../dialogs/DurationEditorDialog.py:162
-#, fuzzy, python-format
+msgstr "领域 %s 没有一个有效值!"
+
+#: ../dialogs/DurationEditorDialog.py:166
+#, python-format
 msgid "Fields %s haven't a valid value!"
-msgstr "\"%s\"不是有效值!"
-
-#: ../editors/FileManagementPanel.py:209
-#, fuzzy, python-format
+msgstr "领域 %s 没有一个有效值!"
+
+#: ../controls/FolderTree.py:216
+#, python-format
 msgid "File '%s' already exists!"
-msgstr "\"%s\"编程组织单元已经存在!"
-
-#: ../IDEFrame.py:353
-#: ../dialogs/FindInPouDialog.py:30
-#: ../dialogs/FindInPouDialog.py:99
+msgstr "文件 '%s' 已经存在!"
+
+#: ../dialogs/SearchInProjectDialog.py:98 ../dialogs/FindInPouDialog.py:37
+#: ../dialogs/FindInPouDialog.py:104 ../IDEFrame.py:375
 msgid "Find"
-msgstr ""
-
-#: ../IDEFrame.py:355
+msgstr "查找"
+
+#: ../IDEFrame.py:377
 msgid "Find Next"
-msgstr ""
-
-#: ../IDEFrame.py:357
+msgstr "查找下一个"
+
+#: ../IDEFrame.py:379
 msgid "Find Previous"
-msgstr ""
+msgstr "查找前一个"
 
 #: ../plcopen/iec_std.csv:90
 msgid "Find position"
-msgstr "定位"
-
-#: ../dialogs/FindInPouDialog.py:51
+msgstr "查找位置"
+
+#: ../dialogs/FindInPouDialog.py:55
 msgid "Find:"
-msgstr ""
-
-#: ../connectors/PYRO/__init__.py:125
+msgstr "查找:"
+
+#: ../connectors/PYRO/__init__.py:163
 msgid "Force runtime reload\n"
-msgstr "强制重新运行\n"
-
-#: ../controls/DebugVariablePanel.py:295
-#: ../editors/Viewer.py:1353
+msgstr "强制运行时重新加载\n"
+
+#: ../editors/Viewer.py:1600
 msgid "Force value"
-msgstr ""
-
-#: ../dialogs/ForceVariableDialog.py:152
+msgstr "强制值"
+
+#: ../dialogs/ForceVariableDialog.py:162
 msgid "Forcing Variable Value"
-msgstr ""
-
-#: ../dialogs/PouTransitionDialog.py:97
-#: ../dialogs/ProjectDialog.py:70
-#: ../dialogs/PouActionDialog.py:94
-#: ../dialogs/PouDialog.py:114
-#: ../dialogs/SFCTransitionDialog.py:147
+msgstr "强制变量值"
+
+#: ../dialogs/SFCTransitionDialog.py:182 ../dialogs/PouTransitionDialog.py:97
+#: ../dialogs/ProjectDialog.py:73 ../dialogs/PouActionDialog.py:95
+#: ../dialogs/PouDialog.py:117
 #, python-format
 msgid "Form isn't complete. %s must be filled!"
 msgstr "形式不完整。%s 必须被填补完整!"
 
-#: ../dialogs/ConnectionDialog.py:142
-#: ../dialogs/FBDBlockDialog.py:154
+#: ../dialogs/SFCStepDialog.py:147 ../dialogs/FBDBlockDialog.py:236
+#: ../dialogs/ConnectionDialog.py:163
 msgid "Form isn't complete. Name must be filled!"
 msgstr "形式不完整。%s 名字必须填!"
 
-#: ../dialogs/SearchInProjectDialog.py:145
-#, fuzzy
-msgid "Form isn't complete. Pattern to search must be filled!"
-msgstr "形式不完整。%s 名字必须填!"
-
-#: ../dialogs/FBDBlockDialog.py:152
+#: ../dialogs/FBDBlockDialog.py:232
 msgid "Form isn't complete. Valid block type must be selected!"
 msgstr "形式不完整。%s 有效的块类型必须被选择!"
 
-#: ../dialogs/FindInPouDialog.py:67
+#: ../dialogs/FindInPouDialog.py:72
 msgid "Forward"
-msgstr ""
-
-#: ../dialogs/SearchInProjectDialog.py:44
+msgstr "向前的"
+
+#: ../dialogs/SearchInProjectDialog.py:37 ../IDEFrame.py:1749
 msgid "Function"
 msgstr "功能"
 
-#: ../IDEFrame.py:329
-#, fuzzy
+#: ../IDEFrame.py:349
 msgid "Function &Block"
-msgstr "功能块"
-
-#: ../IDEFrame.py:1969
-#: ../dialogs/SearchInProjectDialog.py:45
+msgstr "功能 &块"
+
+#: ../dialogs/SearchInProjectDialog.py:38 ../IDEFrame.py:1748
+#: ../IDEFrame.py:1941
 msgid "Function Block"
 msgstr "功能块"
 
-#: ../controls/VariablePanel.py:741
+#: ../controls/VariablePanel.py:854
 msgid "Function Block Types"
 msgstr "功能块类型"
 
-#: ../PLCControler.py:94
+#: ../PLCControler.py:97
 msgid "Function Blocks"
 msgstr "功能块"
 
-#: ../editors/Viewer.py:236
+#: ../editors/Viewer.py:249
 msgid "Function Blocks can't be used in Functions!"
 msgstr "功能块不能用于功能中!"
 
-#: ../editors/Viewer.py:238
-msgid "Function Blocks can't be used in Transitions!"
-msgstr "功能块不能用于跃迁中"
-
-#: ../PLCControler.py:2055
+#: ../PLCControler.py:2343
 #, python-format
 msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!"
 msgstr "功能块 \"%s\" 不能用于功能中!"
 
-#: ../PLCControler.py:94
+#: ../PLCControler.py:97
 msgid "Functions"
 msgstr "功能"
 
-#: ../PLCOpenEditor.py:138
-#, fuzzy
+#: ../PLCOpenEditor.py:117
 msgid "Generate Program"
-msgstr "生成程序\tCTRL+G"
-
-#: ../ProjectController.py:510
+msgstr "生成程序"
+
+#: ../ProjectController.py:703
 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n"
 msgstr "生成软PLC IEC-61131 ST/IL/SFC 代码......\n"
 
-#: ../controls/VariablePanel.py:78
+#: ../controls/VariablePanel.py:73
 msgid "Global"
 msgstr "全球的"
 
-#: ../editors/GraphicViewer.py:131
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:242
 msgid "Go to current value"
-msgstr ""
-
-#: ../controls/ProjectPropertiesPanel.py:173
+msgstr "定位当前值"
+
+#: ../controls/ProjectPropertiesPanel.py:174
 msgid "Graphics"
 msgstr "图形"
 
@@ -1901,115 +1806,110 @@
 msgid "Greater than or equal to"
 msgstr "大于或等于"
 
-#: ../controls/ProjectPropertiesPanel.py:134
+#: ../controls/ProjectPropertiesPanel.py:135
 msgid "Grid Resolution:"
-msgstr ""
-
-#: ../controls/ProjectPropertiesPanel.py:120
+msgstr "栅格分辨率:"
+
+#: ../runtime/NevowServer.py:182
+msgid "HTTP interface port :"
+msgstr "HTTP 界面端口:"
+
+#: ../controls/ProjectPropertiesPanel.py:121
 msgid "Height:"
 msgstr "高度:"
 
-#: ../editors/FileManagementPanel.py:303
-#, fuzzy
+#: ../editors/FileManagementPanel.py:85
 msgid "Home Directory:"
-msgstr "直接的"
-
-#: ../controls/ProjectPropertiesPanel.py:150
+msgstr "主目录"
+
+#: ../controls/ProjectPropertiesPanel.py:151
 msgid "Horizontal:"
-msgstr ""
-
-#: ../dialogs/DurationEditorDialog.py:44
+msgstr "水平:"
+
+#: ../dialogs/DurationEditorDialog.py:45
 msgid "Hours:"
-msgstr ""
-
-#: ../plcopen/structures.py:279
-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 ""
-"滞后\n"
-"滞后功能块提供一个被2个浮点(REAL)的差异所驱动的布尔型滞后输出,2个浮点即输入的XIN1和XIN2。"
-
-#: ../ProjectController.py:827
-msgid "IEC-61131-3 code generation failed !\n"
-msgstr "IEC-61131-3代码生成失败!\n"
-
-#: ../dialogs/PouTransitionDialog.py:35
-#: ../dialogs/PouActionDialog.py:31
-#: ../dialogs/PouDialog.py:36
+msgstr "小时:"
+
+#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32
+#: ../dialogs/PouDialog.py:37
 msgid "IL"
-msgstr "指令集"
-
-#: ../Beremiz_service.py:356
-#: ../Beremiz_service.py:357
+msgstr "指令表编程语言"
+
+#: ../dialogs/DiscoveryDialog.py:94
+msgid "IP"
+msgstr "IP"
+
+#: ../Beremiz_service.py:310 ../Beremiz_service.py:311
 msgid "IP is not valid!"
-msgstr "Ip无效!"
-
-#: ../svgui/svgui.py:17
-#: ../svgui/svgui.py:18
+msgstr "IP 无效!"
+
+#: ../svgui/svgui.py:44 ../svgui/svgui.py:45
 msgid "Import SVG"
-msgstr ""
-
-#: ../controls/VariablePanel.py:76
-#: ../dialogs/FBDVariableDialog.py:34
+msgstr "导入 SVG"
+
+#: ../dialogs/FBDVariableDialog.py:39 ../editors/Viewer.py:1629
+#: ../controls/VariablePanel.py:71
 msgid "InOut"
 msgstr "输入输出"
 
-#: ../controls/VariablePanel.py:263
-#, python-format
-msgid "Incompatible data types between \"%s\" and \"%s\""
-msgstr " \"%s\" 和  \"%s\" 数据类型不相容"
-
-#: ../controls/VariablePanel.py:274
-#, python-format
-msgid "Incompatible size of data between \"%s\" and \"%s\""
-msgstr " \"%s\" 和  \"%s\" 数据大小不相容"
-
-#: ../controls/VariablePanel.py:270
+#: ../editors/Viewer.py:431
+msgid "Inactive"
+msgstr "不活动"
+
+#: ../controls/VariablePanel.py:276
+#, python-brace-format
+msgid "Incompatible data types between \"{a1}\" and \"{a2}\""
+msgstr " \"{a1}\" 和 \"{a2}\" 数据类型不相容"
+
+#: ../controls/VariablePanel.py:282
 #, python-format
 msgid "Incompatible size of data between \"%s\" and \"BOOL\""
-msgstr " \"%s\" 和  \"BOOL\" 数据类型不相容"
-
-#: ../dialogs/ActionBlockDialog.py:37
+msgstr " \"%s\" 和  \"BOOL\" 数据尺寸不相容"
+
+#: ../controls/VariablePanel.py:286
+#, python-brace-format
+msgid "Incompatible size of data between \"{a1}\" and \"{a2}\""
+msgstr " \"{a1}\" 和 \"{a2}\" 数据尺寸不相容"
+
+#: ../dialogs/ActionBlockDialog.py:39
 msgid "Indicator"
 msgstr "指示器"
 
-#: ../editors/Viewer.py:492
-#, fuzzy
+#: ../editors/CodeFileEditor.py:739
+msgid "Initial"
+msgstr "初始的"
+
+#: ../editors/Viewer.py:611
 msgid "Initial Step"
-msgstr "初始值"
-
-#: ../controls/VariablePanel.py:58
-#: ../controls/VariablePanel.py:59
-#: ../editors/DataTypeEditor.py:48
+msgstr "初始的步"
+
+#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53
+#: ../controls/VariablePanel.py:54
 msgid "Initial Value"
 msgstr "初始值"
 
-#: ../editors/DataTypeEditor.py:178
-#: ../editors/DataTypeEditor.py:209
-#: ../editors/DataTypeEditor.py:265
-#: ../editors/DataTypeEditor.py:303
+#: ../editors/DataTypeEditor.py:185 ../editors/DataTypeEditor.py:216
+#: ../editors/DataTypeEditor.py:272 ../editors/DataTypeEditor.py:310
 msgid "Initial Value:"
 msgstr "初始值:"
 
-#: ../svgui/svgui.py:21
+#: ../svgui/svgui.py:48
 msgid "Inkscape"
-msgstr ""
-
-#: ../dialogs/ActionBlockDialog.py:41
-#: ../dialogs/SFCTransitionDialog.py:66
-#: ../dialogs/SFCTransitionDialog.py:137
+msgstr "Inkscape"
+
+#: ../dialogs/SFCTransitionDialog.py:76 ../dialogs/ActionBlockDialog.py:43
 msgid "Inline"
 msgstr "在线"
 
-#: ../controls/VariablePanel.py:76
-#: ../dialogs/BrowseLocationsDialog.py:36
-#: ../dialogs/FBDVariableDialog.py:33
-#: ../dialogs/SFCStepDialog.py:61
+#: ../dialogs/SFCStepDialog.py:71 ../dialogs/FBDVariableDialog.py:38
+#: ../dialogs/BrowseLocationsDialog.py:41 ../editors/Viewer.py:290
+#: ../editors/Viewer.py:1627 ../editors/TextViewer.py:307
+#: ../controls/LocationCellEditor.py:98 ../controls/VariablePanel.py:71
+#: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351
 msgid "Input"
 msgstr "输入"
 
-#: ../dialogs/FBDBlockDialog.py:78
+#: ../dialogs/FBDBlockDialog.py:96
 msgid "Inputs:"
 msgstr "输入:"
 
@@ -2017,125 +1917,116 @@
 msgid "Insertion (into)"
 msgstr "插入"
 
-#: ../plcopen/plcopen.py:1833
+#: ../plcopen/plcopen.py:1696
 #, python-format
 msgid "Instance with id %d doesn't exist!"
 msgstr "有id的实例 %d 尚不存在!"
 
-#: ../editors/ResourceEditor.py:247
+#: ../editors/ResourceEditor.py:264
 msgid "Instances:"
 msgstr "实例:"
 
-#: ../plcopen/structures.py:259
-msgid ""
-"Integral\n"
-"The integral function block integrates the value of input XIN over time."
-msgstr ""
-"积分\n"
-"积分功能随着时间推移而集成输入的XIN的值。"
-
-#: ../controls/VariablePanel.py:75
+#: ../controls/VariablePanel.py:70
 msgid "Interface"
 msgstr "界面"
 
-#: ../editors/ResourceEditor.py:71
+#: ../editors/ResourceEditor.py:72
 msgid "Interrupt"
-msgstr ""
-
-#: ../editors/ResourceEditor.py:67
+msgstr "中断"
+
+#: ../editors/ResourceEditor.py:68
 msgid "Interval"
 msgstr "区间"
 
-#: ../PLCControler.py:2032
-#: ../PLCControler.py:2070
+#: ../PLCControler.py:2331
 msgid "Invalid plcopen element(s)!!!"
 msgstr "无效的plcopen元素!!!"
 
-#: ../canfestival/config_utils.py:376
-#: ../canfestival/config_utils.py:637
-#, python-format
-msgid "Invalid type \"%s\"-> %d != %d  for location\"%s\""
-msgstr "无效类型 \"%s\"-> %d != %d  用于位置 \"%s\""
-
-#: ../dialogs/ForceVariableDialog.py:167
-#, fuzzy, python-format
-msgid "Invalid value \"%s\" for \"%s\" variable!"
-msgstr "无效值 \"%s\" 为调试变量"
-
-#: ../controls/DebugVariablePanel.py:153
-#: ../controls/DebugVariablePanel.py:156
+#: ../canfestival/config_utils.py:381
+#, python-brace-format
+msgid "Invalid type \"{a1}\"-> {a2} != {a3}  for location\"{a4}\""
+msgstr "无效类型 \"{a1}\"-> {a2} != {a3}  对于定位 \"{a4}\""
+
+#: ../canfestival/config_utils.py:645
+#, python-brace-format
+msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location \"{a4}\""
+msgstr "无效类型 \"{a1}\"-> {a2} != {a3} 对于定位 \"{a4}\""
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:132
+#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:92
+#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:166
 #, python-format
 msgid "Invalid value \"%s\" for debug variable"
 msgstr "无效值 \"%s\" 为调试变量"
 
-#: ../controls/VariablePanel.py:244
-#: ../controls/VariablePanel.py:247
-#, fuzzy, python-format
+#: ../controls/VariablePanel.py:255 ../controls/VariablePanel.py:258
+#, python-format
 msgid "Invalid value \"%s\" for variable grid element"
-msgstr "无效值 \"%s\" 为调试变量"
-
-#: ../editors/Viewer.py:221
-#: ../editors/Viewer.py:224
+msgstr "无效值 \"%s\" 对于变量网格元素"
+
+#: ../editors/Viewer.py:234 ../editors/Viewer.py:237
 #, python-format
 msgid "Invalid value \"%s\" for viewer block"
 msgstr "无效值 \"%s\" 在视窗块"
 
+#: ../dialogs/ForceVariableDialog.py:195
+#, python-brace-format
+msgid "Invalid value \"{a1}\" for \"{a2}\" variable!"
+msgstr "无效值 \"{a1}\" 对于 \"{a2}\" 变量!"
+
 #: ../dialogs/DurationEditorDialog.py:121
 msgid ""
 "Invalid value!\n"
 "You must fill a numeric value."
 msgstr ""
-
-#: ../editors/Viewer.py:497
+"无效值!\n"
+"你必须填入一个数字值。"
+
+#: ../editors/Viewer.py:616 ../editors/Viewer.py:2392
 msgid "Jump"
-msgstr ""
-
-#: ../controls/ProjectPropertiesPanel.py:143
-#: ../dialogs/PouTransitionDialog.py:35
-#: ../dialogs/PouActionDialog.py:31
-#: ../dialogs/PouDialog.py:36
+msgstr "跳转"
+
+#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32
+#: ../dialogs/PouDialog.py:37 ../controls/ProjectPropertiesPanel.py:144
 msgid "LD"
 msgstr "梯级图"
 
-#: ../editors/LDViewer.py:215
-#: ../editors/LDViewer.py:231
+#: ../editors/LDViewer.py:215 ../editors/LDViewer.py:231
 #, python-format
 msgid "Ladder element with id %d is on more than one rung."
 msgstr "有id的梯形元素 %d  不止在一个梯级上。"
 
-#: ../dialogs/PouTransitionDialog.py:86
-#: ../dialogs/PouActionDialog.py:83
-#: ../dialogs/PouDialog.py:102
+#: ../dialogs/PouTransitionDialog.py:86 ../dialogs/PouActionDialog.py:84
+#: ../dialogs/PouDialog.py:105
 msgid "Language"
 msgstr "语言"
 
-#: ../controls/ProjectPropertiesPanel.py:186
+#: ../controls/ProjectPropertiesPanel.py:187
 msgid "Language (optional):"
 msgstr "语言(选填):"
 
-#: ../dialogs/PouTransitionDialog.py:60
-#: ../dialogs/PouActionDialog.py:56
-#: ../dialogs/PouDialog.py:71
+#: ../dialogs/PouTransitionDialog.py:60 ../dialogs/PouActionDialog.py:56
+#: ../dialogs/PouDialog.py:73
 msgid "Language:"
 msgstr "语言:"
 
-#: ../ProjectController.py:1451
+#: ../ProjectController.py:1797
 msgid "Latest build already matches current target. Transfering anyway...\n"
 msgstr "最新构建已经与当前目标匹配。正在传输中......\n"
 
-#: ../Beremiz_service.py:324
+#: ../Beremiz_service.py:273
 msgid "Launch WX GUI inspector"
 msgstr "启动 WX GUI 检查员"
 
-#: ../Beremiz_service.py:323
+#: ../Beremiz_service.py:272
 msgid "Launch a live Python shell"
 msgstr "启动一个活的Python Shell"
 
-#: ../editors/Viewer.py:428
+#: ../editors/Viewer.py:544
 msgid "Left"
 msgstr "左"
 
-#: ../dialogs/LDPowerRailDialog.py:55
+#: ../dialogs/LDPowerRailDialog.py:63
 msgid "Left PowerRail"
 msgstr "左电源导轨"
 
@@ -2151,204 +2042,176 @@
 msgid "Less than or equal to"
 msgstr "小于或等于"
 
-#: ../IDEFrame.py:600
+#: ../IDEFrame.py:631
 msgid "Library"
-msgstr "图书馆"
+msgstr "库"
+
+#: ../dialogs/AboutDialog.py:151
+msgid "License"
+msgstr "许可"
 
 #: ../plcopen/iec_std.csv:73
 msgid "Limitation"
 msgstr "限制"
 
-#: ../targets/toolchain_gcc.py:142
+#: ../targets/toolchain_gcc.py:202
 msgid "Linking :\n"
 msgstr "链接:\n"
 
-#: ../controls/VariablePanel.py:77
-#: ../dialogs/DiscoveryDialog.py:110
-#, fuzzy
+#: ../dialogs/DiscoveryDialog.py:112 ../controls/VariablePanel.py:72
 msgid "Local"
-msgstr ""
-"#-#-#-#-#  Beremiz_zh_CN.po (PACKAGE VERSION)  #-#-#-#-#\n"
-"本地\n"
-"#-#-#-#-#  PLCOpenEditor_zh_CN.po (PACKAGE VERSION)  #-#-#-#-#\n"
-"位置"
-
-#: ../ProjectController.py:1353
-#, fuzzy
+msgstr "本地"
+
+#: ../canfestival/canfestival.py:348
+msgid "Local entries"
+msgstr "本地入口"
+
+#: ../ProjectController.py:1703
 msgid "Local service discovery failed!\n"
-msgstr "服务探索"
-
-#: ../controls/VariablePanel.py:58
+msgstr "本地服务探索失败!\n"
+
+#: ../controls/VariablePanel.py:53
 msgid "Location"
 msgstr "位置"
 
-#: ../dialogs/BrowseLocationsDialog.py:61
-#, fuzzy
+#: ../dialogs/BrowseLocationsDialog.py:72
 msgid "Locations available:"
-msgstr "该选项尚未可用!"
-
-#: ../Beremiz.py:393
-msgid "Log Console"
-msgstr "控制台日志"
+msgstr "存在的定位:"
 
 #: ../plcopen/iec_std.csv:25
 msgid "Logarithm to base 10"
 msgstr "底数10的对数"
 
-#: ../connectors/PYRO/__init__.py:55
+#: ../connectors/PYRO/__init__.py:94
 #, python-format
 msgid "MDNS resolution failure for '%s'\n"
-msgstr ""
-
-#: ../canfestival/SlaveEditor.py:37
-#: ../canfestival/NetworkEditor.py:67
-#, fuzzy
+msgstr "MDNS 解析度失败因为 '%s'\n"
+
+#: ../canfestival/SlaveEditor.py:64 ../canfestival/NetworkEditor.py:85
 msgid "Map Variable"
-msgstr "变量"
-
-#: ../features.py:6
+msgstr "映射变量"
+
+#: ../features.py:31
 msgid "Map located variables over CANopen"
-msgstr ""
-
-#: ../canfestival/NetworkEditor.py:89
-#, fuzzy
+msgstr "通过CANopen映射位置变量"
+
+#: ../canfestival/NetworkEditor.py:106
 msgid "Master"
-msgstr "显示主控"
-
-#: ../ConfigTreeNode.py:480
-#, fuzzy, python-format
-msgid "Max count (%d) reached for this confnode of type %s "
-msgstr "最大计数 (%d) 到达"
+msgstr "主站"
+
+#: ../ConfigTreeNode.py:539
+#, python-brace-format
+msgid "Max count ({a1}) reached for this confnode of type {a2} "
+msgstr "最大计数 ({a1}) 达到了对于类型 {a2} 这个confnode"
 
 #: ../plcopen/iec_std.csv:71
 msgid "Maximum"
 msgstr "最大值"
 
-#: ../editors/DataTypeEditor.py:232
+#: ../editors/DataTypeEditor.py:239
 msgid "Maximum:"
 msgstr "最大值:"
 
-#: ../dialogs/BrowseLocationsDialog.py:38
+#: ../dialogs/BrowseLocationsDialog.py:43 ../editors/Viewer.py:290
+#: ../editors/TextViewer.py:307 ../controls/LocationCellEditor.py:98
+#: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351
 msgid "Memory"
-msgstr ""
-
-#: ../IDEFrame.py:568
-#, fuzzy
+msgstr "存储"
+
+#: ../IDEFrame.py:599
 msgid "Menu ToolBar"
-msgstr "工具条"
-
-#: ../dialogs/DurationEditorDialog.py:48
+msgstr "菜单工具栏"
+
+#: ../dialogs/DurationEditorDialog.py:49
 msgid "Microseconds:"
-msgstr ""
-
-#: ../editors/Viewer.py:433
+msgstr "微秒:"
+
+#: ../editors/Viewer.py:549
 msgid "Middle"
 msgstr "中间"
 
-#: ../dialogs/DurationEditorDialog.py:47
+#: ../dialogs/DurationEditorDialog.py:48
 msgid "Milliseconds:"
-msgstr ""
+msgstr "毫秒:"
 
 #: ../plcopen/iec_std.csv:72
 msgid "Minimum"
 msgstr "最小值"
 
-#: ../editors/DataTypeEditor.py:219
+#: ../editors/DataTypeEditor.py:226
 msgid "Minimum:"
 msgstr "最小值:"
 
-#: ../dialogs/DurationEditorDialog.py:45
+#: ../dialogs/DurationEditorDialog.py:46
 msgid "Minutes:"
-msgstr ""
-
-#: ../controls/ProjectPropertiesPanel.py:210
+msgstr "分:"
+
+#: ../controls/ProjectPropertiesPanel.py:211
 msgid "Miscellaneous"
 msgstr "其他"
 
-#: ../dialogs/LDElementDialog.py:59
+#: ../dialogs/LDElementDialog.py:63
 msgid "Modifier:"
 msgstr "改动:"
 
-#: ../PLCGenerator.py:703
-#: ../PLCGenerator.py:936
-#, python-format
-msgid "More than one connector found corresponding to \"%s\" continuation in \"%s\" POU"
-msgstr "发现不止一个连接器符合 \"%s\" 延续在 \"%s\" POU中"
-
-#: ../dialogs/ActionBlockDialog.py:141
-#, fuzzy
+#: ../PLCGenerator.py:786 ../PLCGenerator.py:1230
+#, python-brace-format
+msgid ""
+"More than one connector found corresponding to \"{a1}\" continuation in "
+"\"{a2}\" POU"
+msgstr "多个连接器发现对应在 \"{a2}\" POU中 \"{a1}\" 延续"
+
+#: ../dialogs/ActionBlockDialog.py:140
 msgid "Move action down"
-msgstr "下移"
-
-#: ../dialogs/ActionBlockDialog.py:140
-#, fuzzy
+msgstr "下移动作"
+
+#: ../dialogs/ActionBlockDialog.py:139
 msgid "Move action up"
-msgstr "上移"
-
-#: ../controls/DebugVariablePanel.py:185
-#, fuzzy
-msgid "Move debug variable down"
-msgstr "未找到输出值"
-
-#: ../controls/DebugVariablePanel.py:184
-#, fuzzy
-msgid "Move debug variable up"
-msgstr "未找到输出值"
+msgstr "上移动作"
 
 #: ../controls/CustomEditableListBox.py:43
 msgid "Move down"
 msgstr "下移"
 
-#: ../editors/DataTypeEditor.py:348
-#, fuzzy
+#: ../editors/DataTypeEditor.py:355
 msgid "Move element down"
-msgstr "下移"
-
-#: ../editors/DataTypeEditor.py:347
-#, fuzzy
+msgstr "下移元素"
+
+#: ../editors/DataTypeEditor.py:354
 msgid "Move element up"
-msgstr "上移"
-
-#: ../editors/ResourceEditor.py:254
-#, fuzzy
+msgstr "上移元素"
+
+#: ../editors/ResourceEditor.py:271
 msgid "Move instance down"
-msgstr "下移"
-
-#: ../editors/ResourceEditor.py:253
-#, fuzzy
+msgstr "下移实例"
+
+#: ../editors/ResourceEditor.py:270
 msgid "Move instance up"
-msgstr "上移"
-
-#: ../editors/ResourceEditor.py:225
-#, fuzzy
+msgstr "上移实例"
+
+#: ../editors/ResourceEditor.py:242
 msgid "Move task down"
-msgstr "下移"
-
-#: ../editors/ResourceEditor.py:224
-#, fuzzy
+msgstr "下移任务"
+
+#: ../editors/ResourceEditor.py:241
 msgid "Move task up"
-msgstr "上移"
-
-#: ../IDEFrame.py:75
-#: ../IDEFrame.py:90
-#: ../IDEFrame.py:120
-#: ../IDEFrame.py:161
+msgstr "上移任务"
+
+#: ../IDEFrame.py:99 ../IDEFrame.py:114 ../IDEFrame.py:144 ../IDEFrame.py:185
 msgid "Move the view"
-msgstr ""
+msgstr "移动视图"
 
 #: ../controls/CustomEditableListBox.py:42
 msgid "Move up"
 msgstr "上移"
 
-#: ../controls/VariablePanel.py:381
-#, fuzzy
+#: ../editors/CodeFileEditor.py:661 ../controls/VariablePanel.py:453
 msgid "Move variable down"
-msgstr "下移"
-
-#: ../controls/VariablePanel.py:380
-#, fuzzy
+msgstr "下移变量"
+
+#: ../editors/CodeFileEditor.py:660 ../controls/VariablePanel.py:452
 msgid "Move variable up"
-msgstr "上移"
+msgstr "上移变量"
 
 #: ../plcopen/iec_std.csv:74
 msgid "Multiplexer (select 1 of N)"
@@ -2358,28 +2221,26 @@
 msgid "Multiplication"
 msgstr "乘法"
 
-#: ../editors/FileManagementPanel.py:301
-#, fuzzy
+#: ../editors/FileManagementPanel.py:83
 msgid "My Computer:"
-msgstr "编译"
-
-#: ../controls/VariablePanel.py:58
-#: ../controls/VariablePanel.py:59
-#: ../editors/DataTypeEditor.py:48
-#: ../editors/ResourceEditor.py:67
-#: ../editors/ResourceEditor.py:76
+msgstr "我的计算机:"
+
+#: ../dialogs/DiscoveryDialog.py:92
+msgid "NAME"
+msgstr "NAME"
+
+#: ../editors/ResourceEditor.py:68 ../editors/ResourceEditor.py:83
+#: ../editors/DataTypeEditor.py:50 ../editors/CodeFileEditor.py:739
+#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54
 msgid "Name"
 msgstr "名字"
 
-#: ../Beremiz_service.py:381
+#: ../Beremiz_service.py:334
 msgid "Name must not be null!"
 msgstr "名称不能为空!"
 
-#: ../dialogs/ConnectionDialog.py:65
-#: ../dialogs/FBDVariableDialog.py:89
-#: ../dialogs/LDElementDialog.py:88
-#: ../dialogs/SFCStepDialog.py:51
-#: ../dialogs/FBDBlockDialog.py:70
+#: ../dialogs/SFCStepDialog.py:57 ../dialogs/FBDBlockDialog.py:86
+#: ../dialogs/ConnectionDialog.py:76
 msgid "Name:"
 msgstr "名字:"
 
@@ -2387,46 +2248,46 @@
 msgid "Natural logarithm"
 msgstr "自然对数"
 
-#: ../editors/Viewer.py:403
-#: ../dialogs/LDElementDialog.py:67
+#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:519
 msgid "Negated"
 msgstr "否定"
 
-#: ../Beremiz.py:307
-#: ../Beremiz.py:342
-#: ../PLCOpenEditor.py:125
-#: ../PLCOpenEditor.py:167
+#: ../Beremiz_service.py:580
+msgid "Nevow Web service failed. "
+msgstr "Nevow Web 服务失败。 "
+
+#: ../Beremiz_service.py:556
+msgid "Nevow/Athena import failed :"
+msgstr "Nevow/Athena 导入失败:"
+
+#: ../BeremizIDE.py:216 ../BeremizIDE.py:251 ../PLCOpenEditor.py:104
+#: ../PLCOpenEditor.py:146
 msgid "New"
-msgstr ""
+msgstr "新建"
 
 #: ../controls/CustomEditableListBox.py:40
 msgid "New item"
-msgstr "建立项目"
-
-#: ../editors/Viewer.py:402
+msgstr "新建项目"
+
+#: ../editors/Viewer.py:518
 msgid "No Modifier"
 msgstr "无改动"
 
-#: ../PLCControler.py:2929
-msgid "No PLC project found"
-msgstr "未找到PLC项目"
-
-#: ../ProjectController.py:1478
+#: ../ProjectController.py:1826
 msgid "No PLC to transfer (did build succeed ?)\n"
 msgstr "没有PLC可传输(构建是否成功?)\n"
 
-#: ../PLCGenerator.py:1321
+#: ../PLCGenerator.py:1631
 #, python-format
 msgid "No body defined in \"%s\" POU"
 msgstr "在 \"%s\" POU 中没有任何东西被定义"
 
-#: ../PLCGenerator.py:722
-#: ../PLCGenerator.py:945
-#, python-format
-msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU"
-msgstr "未发现连接器符合 \"%s\" 连续在  \"%s\" POU中"
-
-#: ../PLCOpenEditor.py:370
+#: ../PLCGenerator.py:806 ../PLCGenerator.py:1241
+#, python-brace-format
+msgid "No connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU"
+msgstr "没有连接器发现对应在 \"{a2}\" POU中 \"{a1}\" 延续"
+
+#: ../PLCOpenEditor.py:357
 msgid ""
 "No documentation available.\n"
 "Coming soon."
@@ -2434,77 +2295,69 @@
 "没有文件可用。\n"
 "稍候"
 
-#: ../PLCGenerator.py:744
+#: ../PLCGenerator.py:829
 #, python-format
 msgid "No informations found for \"%s\" block"
-msgstr ""
-
-#: ../plcopen/structures.py:167
-msgid "No output variable found"
-msgstr "未找到输出值"
-
-#: ../Beremiz_service.py:394
-msgid "No running PLC"
-msgstr "没有正在运行的PLC"
+msgstr "对于 \"%s\" 块没有信息发现"
+
+#: ../PLCGenerator.py:1194
+#, python-brace-format
+msgid ""
+"No output {a1} variable found in block {a2} in POU {a3}. Connection must be "
+"broken"
+msgstr "无输出{a1}变量发现在 {a3} POU的 {a2} 块。 连接必须断开"
 
 #: ../controls/SearchResultPanel.py:169
 msgid "No search results available."
-msgstr ""
-
-#: ../svgui/svgui.py:98
+msgstr "没有存在的搜索结果。"
+
+#: ../svgui/svgui.py:134
 #, python-format
 msgid "No such SVG file: %s\n"
 msgstr "没有这样的SVG文件:%s\n"
 
-#: ../canfestival/config_utils.py:632
-#, python-format
-msgid "No such index/subindex (%x,%x) (variable %s)"
-msgstr "没有这样的索引/子索引 (%x,%x) (variable %s)"
-
-#: ../canfestival/config_utils.py:361
-#, python-format
-msgid "No such index/subindex (%x,%x) in ID : %d (variable %s)"
-msgstr "没有这样的索引/子索引 (%x,%x) in ID : %d (variable %s)"
+#: ../canfestival/config_utils.py:639
+#, python-brace-format
+msgid "No such index/subindex ({a1},{a2}) (variable {a3})"
+msgstr "没有如此 标签/子标签 ({a1},{a2}) (变量 {a3})"
+
+#: ../canfestival/config_utils.py:362
+#, python-brace-format
+msgid "No such index/subindex ({a1},{a2}) in ID : {a3} (variable {a4})"
+msgstr "没有如此 标签/子标签 ({a1},{a2}) 在ID : {a3} (变量 {a4})"
 
 #: ../dialogs/BrowseValuesLibraryDialog.py:83
 msgid "No valid value selected!"
-msgstr ""
-
-#: ../PLCGenerator.py:1319
+msgstr "没有有效的值被选择!"
+
+#: ../PLCGenerator.py:1629
 #, python-format
 msgid "No variable defined in \"%s\" POU"
 msgstr "无变量被定义在 \"%s\" POU"
 
-#: ../canfestival/SlaveEditor.py:49
-#: ../canfestival/NetworkEditor.py:79
-#, fuzzy
-msgid "Node infos"
-msgstr "类型信息:"
-
-#: ../canfestival/config_utils.py:354
-#, python-format
-msgid "Non existing node ID : %d (variable %s)"
-msgstr "不存在节点ID:%d (variable %s)"
-
-#: ../controls/VariablePanel.py:69
-#, fuzzy
+#: ../canfestival/config_utils.py:355
+#, python-brace-format
+msgid "Non existing node ID : {a1} (variable {a2})"
+msgstr "不存在节点 ID :{a1} (variable {a2})"
+
+#: ../controls/VariablePanel.py:64
 msgid "Non-Retain"
-msgstr "保持"
-
-#: ../dialogs/LDElementDialog.py:62
+msgstr "非保持"
+
+#: ../dialogs/LDElementDialog.py:75
 msgid "Normal"
 msgstr "正常"
 
-#: ../canfestival/config_utils.py:383
-#, python-format
-msgid "Not PDO mappable variable : '%s' (ID:%d,Idx:%x,sIdx:%x))"
-msgstr "不是PDO填图变量: '%s' (ID:%d,Idx:%x,sIdx:%x))"
+#: ../canfestival/config_utils.py:389
+#, python-brace-format
+msgid "Not PDO mappable variable : '{a1}' (ID:{a2},Idx:{a3},sIdx:{a4}))"
+msgstr "不是PDO可映射变量:'{a1}' (ID:{a2},Idx:{a3},sIdx:{a4}))"
 
 #: ../plcopen/iec_std.csv:80
 msgid "Not equal to"
 msgstr "不等于"
 
-#: ../dialogs/SFCDivergenceDialog.py:80
+#: ../dialogs/SFCDivergenceDialog.py:89
 msgid "Number of sequences:"
 msgstr "序列号:"
 
@@ -2512,462 +2365,465 @@
 msgid "Numerical"
 msgstr "数学式"
 
-#: ../plcopen/structures.py:247
-msgid ""
-"Off-delay timer\n"
-"The off-delay timer can be used to delay setting an output false, for fixed period after input goes false."
-msgstr ""
-"关闭延迟计时器\n"
-"关闭延迟计时器可用于延迟设置一个假性输出,固定期限后一个输入变成假。"
-
-#: ../plcopen/structures.py:242
-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 ""
-"开启延迟计时器\n"
-"开启延时计时器可用于延迟设置一个真性输出,固定期限后一个输入成为真。"
-
-#: ../dialogs/SearchInProjectDialog.py:93
-#, fuzzy
+#: ../editors/CodeFileEditor.py:739
+msgid "OnChange"
+msgstr "在改变中"
+
+#: ../dialogs/SearchInProjectDialog.py:84
 msgid "Only Elements"
-msgstr "元素:"
-
-#: ../Beremiz.py:309
-#: ../Beremiz.py:343
-#: ../PLCOpenEditor.py:127
-#: ../PLCOpenEditor.py:168
+msgstr "唯一元素"
+
+#: ../BeremizIDE.py:218 ../BeremizIDE.py:252 ../PLCOpenEditor.py:106
+#: ../PLCOpenEditor.py:147
 msgid "Open"
-msgstr ""
-
-#: ../svgui/svgui.py:107
+msgstr "打开"
+
+#: ../svgui/svgui.py:143
 msgid "Open Inkscape"
-msgstr ""
-
-#: ../ProjectController.py:1530
+msgstr "打开 Inkscape"
+
+#: ../version.py:77
+msgid ""
+"Open Source framework for automation, implemented IEC 61131 IDE with "
+"constantly growing set of extensions and flexible PLC runtime."
+msgstr "开源自动化框架,实现不断增长的扩展集和弹性的PLC运行时的IEC 61131-3 IDE"
+
+#: ../ProjectController.py:1878
 msgid "Open a file explorer to manage project files"
-msgstr ""
-
-#: ../wxglade_hmi/wxglade_hmi.py:109
+msgstr "打开一个文件浏览器来管理项目文件"
+
+#: ../wxglade_hmi/wxglade_hmi.py:155
 msgid "Open wxGlade"
-msgstr ""
-
-#: ../controls/VariablePanel.py:58
-#: ../controls/VariablePanel.py:59
-#, fuzzy
+msgstr "打开 wxGlade"
+
+#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54
 msgid "Option"
-msgstr "行动"
-
-#: ../dialogs/FindInPouDialog.py:76
-#, fuzzy
+msgstr "选项"
+
+#: ../dialogs/FindInPouDialog.py:81 ../editors/CodeFileEditor.py:739
 msgid "Options"
-msgstr "行动"
-
-#: ../controls/ProjectPropertiesPanel.py:97
+msgstr "选项"
+
+#: ../controls/ProjectPropertiesPanel.py:98
 msgid "Organization (optional):"
 msgstr "组织(选填):"
 
-#: ../canfestival/SlaveEditor.py:47
-#: ../canfestival/NetworkEditor.py:77
+#: ../canfestival/SlaveEditor.py:74 ../canfestival/NetworkEditor.py:95
 msgid "Other Profile"
-msgstr ""
-
-#: ../controls/VariablePanel.py:76
-#: ../dialogs/BrowseLocationsDialog.py:37
-#: ../dialogs/FBDVariableDialog.py:35
-#: ../dialogs/SFCStepDialog.py:65
+msgstr "其他配置"
+
+#: ../dialogs/SFCStepDialog.py:72 ../dialogs/FBDVariableDialog.py:40
+#: ../dialogs/BrowseLocationsDialog.py:42 ../editors/Viewer.py:290
+#: ../editors/Viewer.py:1628 ../editors/TextViewer.py:307
+#: ../controls/LocationCellEditor.py:98 ../controls/VariablePanel.py:71
+#: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351
 msgid "Output"
 msgstr "输出"
 
-#: ../canfestival/SlaveEditor.py:36
-#: ../canfestival/NetworkEditor.py:66
+#: ../canfestival/SlaveEditor.py:63 ../canfestival/NetworkEditor.py:84
 msgid "PDO Receive"
-msgstr ""
-
-#: ../canfestival/SlaveEditor.py:35
-#: ../canfestival/NetworkEditor.py:65
-#, fuzzy
+msgstr "PDO 接收"
+
+#: ../canfestival/SlaveEditor.py:62 ../canfestival/NetworkEditor.py:83
 msgid "PDO Transmit"
-msgstr "添加跃迁"
-
-#: ../plcopen/structures.py:269
-msgid ""
-"PID\n"
-"The PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control."
-msgstr ""
-"PID\n"
-"PID(比例,积分,导数)功能块为闭循环控制提供经典的三阶段控制器。"
-
-#: ../targets/toolchain_gcc.py:107
+msgstr "PDO 传输"
+
+#: ../targets/toolchain_gcc.py:167
 msgid "PLC :\n"
 msgstr "PLC:\n"
 
-#: ../ProjectController.py:1096
-#: ../ProjectController.py:1398
-#, python-format
-msgid "PLC is %s\n"
-msgstr "PLC 是 %s\n"
-
-#: ../PLCOpenEditor.py:313
-#: ../PLCOpenEditor.py:391
+#: ../BeremizIDE.py:355
+msgid "PLC Log"
+msgstr "PLC 记录"
+
+#: ../ProjectController.py:1054
+msgid "PLC code generation failed !\n"
+msgstr "PLC 代码生成失败!\n"
+
+#: ../Beremiz_service.py:297
+msgid "PLC is empty or already started."
+msgstr "PLC 是空的或者已经被启动。"
+
+#: ../Beremiz_service.py:304
+msgid "PLC is not started."
+msgstr "PLC 没有被启动。"
+
+#: ../PLCOpenEditor.py:206 ../PLCOpenEditor.py:319
+#, python-brace-format
+msgid ""
+"PLC syntax error at line {a1}:\n"
+"{a2}"
+msgstr ""
+"PLC语法错误在行 {a1}:\n"
+"{a2}"
+
+#: ../PLCOpenEditor.py:302 ../PLCOpenEditor.py:383
 msgid "PLCOpen files (*.xml)|*.xml|All files|*.*"
 msgstr "PLCOpen 文件 (*.xml)|*.xml|所有文件|*.*"
 
-#: ../PLCOpenEditor.py:175
-#: ../PLCOpenEditor.py:231
+#: ../PLCOpenEditor.py:154 ../PLCOpenEditor.py:219
 msgid "PLCOpenEditor"
 msgstr "PLCOpen编辑器"
 
-#: ../dialogs/PouDialog.py:98
+#: ../PLCOpenEditor.py:365
+msgid ""
+"PLCOpenEditor is part of Beremiz project.\n"
+"\n"
+"Beremiz is an "
+msgstr ""
+"PLCOpenEditor是Beremiz项目的一部分。\n"
+"\n"
+"Beremiz是一个"
+
+#: ../dialogs/DiscoveryDialog.py:95
+msgid "PORT"
+msgstr "端口"
+
+#: ../dialogs/PouDialog.py:101
 msgid "POU Name"
 msgstr "POU 名字"
 
-#: ../dialogs/PouDialog.py:56
+#: ../dialogs/PouDialog.py:58
 msgid "POU Name:"
 msgstr "POU 名字:"
 
-#: ../dialogs/PouDialog.py:100
+#: ../dialogs/PouDialog.py:103
 msgid "POU Type"
 msgstr "POU类型"
 
-#: ../dialogs/PouDialog.py:63
+#: ../dialogs/PouDialog.py:65
 msgid "POU Type:"
 msgstr "POU 类型:"
 
-#: ../Beremiz.py:322
-#: ../PLCOpenEditor.py:141
+#: ../connectors/PYRO/__init__.py:45
+#, python-format
+msgid "PYRO connecting to URI : %s\n"
+msgstr "PYRO 连接到 URI : %s\n"
+
+#: ../connectors/PYRO/__init__.py:61
+#, python-format
+msgid "PYRO using certificates in '%s' \n"
+msgstr "PYRO使用认证在 '%s' \n"
+
+#: ../BeremizIDE.py:231 ../PLCOpenEditor.py:120
 msgid "Page Setup"
 msgstr "页面设置"
 
-#: ../controls/ProjectPropertiesPanel.py:110
+#: ../controls/ProjectPropertiesPanel.py:111
 msgid "Page Size (optional):"
 msgstr "页面大小(选填):"
 
-#: ../PLCOpenEditor.py:476
+#: ../IDEFrame.py:2613
 #, python-format
 msgid "Page: %d"
 msgstr "页:%d"
 
-#: ../controls/PouInstanceVariablesPanel.py:41
-#, fuzzy
+#: ../controls/PouInstanceVariablesPanel.py:124
 msgid "Parent instance"
-msgstr "删除实例"
-
-#: ../IDEFrame.py:350
-#: ../IDEFrame.py:402
-#: ../editors/Viewer.py:537
+msgstr "父实例"
+
+#: ../editors/Viewer.py:657 ../IDEFrame.py:372 ../IDEFrame.py:426
 msgid "Paste"
-msgstr ""
-
-#: ../IDEFrame.py:1900
-#, fuzzy
+msgstr "粘贴"
+
+#: ../IDEFrame.py:1868
 msgid "Paste POU"
-msgstr "请输入POU名"
-
-#: ../dialogs/SearchInProjectDialog.py:64
+msgstr "粘贴POU"
+
+#: ../dialogs/SearchInProjectDialog.py:56
 msgid "Pattern to search:"
-msgstr ""
-
-#: ../dialogs/LDPowerRailDialog.py:64
+msgstr "检索模式:"
+
+#: ../dialogs/LDPowerRailDialog.py:74
 msgid "Pin number:"
 msgstr "插脚数:"
 
-#: ../editors/Viewer.py:2289
-#: ../editors/Viewer.py:2594
-#: ../editors/SFCViewer.py:696
+#: ../editors/Viewer.py:2757 ../editors/Viewer.py:3014
+#: ../editors/SFCViewer.py:770
 msgid "Please choose a target"
 msgstr "请选择一个目标"
 
-#: ../editors/Viewer.py:2112
-#: ../editors/Viewer.py:2114
-#: ../editors/Viewer.py:2630
-#: ../editors/Viewer.py:2632
+#: ../editors/TextViewer.py:262
+msgid "Please enter a block name"
+msgstr "请输入一个块名称"
+
+#: ../editors/Viewer.py:2627 ../editors/Viewer.py:3056
 msgid "Please enter comment text"
 msgstr "请输入注释文本"
 
-#: ../editors/SFCViewer.py:359
-#: ../editors/SFCViewer.py:381
-#: ../editors/SFCViewer.py:725
+#: ../editors/SFCViewer.py:433 ../editors/SFCViewer.py:455
+#: ../editors/SFCViewer.py:799
 msgid "Please enter step name"
 msgstr "请输入步骤名称"
 
-#: ../dialogs/ForceVariableDialog.py:153
-#, fuzzy, python-format
+#: ../Beremiz_service.py:196
+msgid "Please enter text"
+msgstr "请输入文本"
+
+#: ../dialogs/ForceVariableDialog.py:163
+#, python-format
 msgid "Please enter value for a \"%s\" variable:"
-msgstr "请为插件输入一个名字:"
-
-#: ../Beremiz_service.py:366
+msgstr "请输入值对于一个 \"%s\" 变量:"
+
+#: ../Beremiz_service.py:319
 msgid "Port number must be 0 <= port <= 65535!"
 msgstr "端口号必须为 0 <= 端口号 <= 65535!"
 
-#: ../Beremiz_service.py:366
+#: ../Beremiz_service.py:319
 msgid "Port number must be an integer!"
 msgstr "端口号必须是整数!"
 
-#: ../editors/GraphicViewer.py:105
-msgid "Position:"
-msgstr "定位:"
-
-#: ../editors/Viewer.py:476
-#, fuzzy
+#: ../editors/Viewer.py:595 ../editors/Viewer.py:2416
 msgid "Power Rail"
-msgstr "左电源导轨"
-
-#: ../dialogs/LDPowerRailDialog.py:36
+msgstr "电源导轨"
+
+#: ../dialogs/LDPowerRailDialog.py:51
 msgid "Power Rail Properties"
 msgstr "电源导轨属性"
 
-#: ../Beremiz.py:324
-#: ../PLCOpenEditor.py:143
+#: ../BeremizIDE.py:233 ../PLCOpenEditor.py:122
 msgid "Preview"
 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
+#: ../dialogs/BlockPreviewDialog.py:57
 msgid "Preview:"
 msgstr "预览:"
 
-#: ../Beremiz.py:326
-#: ../Beremiz.py:346
-#: ../PLCOpenEditor.py:145
-#: ../PLCOpenEditor.py:171
+#: ../BeremizIDE.py:235 ../BeremizIDE.py:255 ../PLCOpenEditor.py:124
+#: ../PLCOpenEditor.py:150
 msgid "Print"
 msgstr "打印"
 
-#: ../IDEFrame.py:1155
+#: ../IDEFrame.py:1079
 msgid "Print preview"
 msgstr "打印预览"
 
-#: ../editors/ResourceEditor.py:67
+#: ../editors/ResourceEditor.py:68
 msgid "Priority"
 msgstr "优先"
 
-#: ../dialogs/SFCTransitionDialog.py:83
+#: ../dialogs/SFCTransitionDialog.py:90
 msgid "Priority:"
 msgstr "优先:"
 
-#: ../controls/ProjectPropertiesPanel.py:80
+#: ../runtime/PLCObject.py:369
+#, python-format
+msgid "Problem starting PLC : error %d"
+msgstr "故障启动PLC:错误 %d"
+
+#: ../dialogs/ProjectDialog.py:58
+msgid "Product Name"
+msgstr "产品名称"
+
+#: ../controls/ProjectPropertiesPanel.py:81
 msgid "Product Name (required):"
 msgstr "产品名字(必填):"
 
-#: ../controls/ProjectPropertiesPanel.py:82
+#: ../controls/ProjectPropertiesPanel.py:83
 msgid "Product Release (optional):"
 msgstr "产品发布(选填):"
 
-#: ../controls/ProjectPropertiesPanel.py:81
+#: ../dialogs/ProjectDialog.py:59
+msgid "Product Version"
+msgstr "产品版本"
+
+#: ../controls/ProjectPropertiesPanel.py:82
 msgid "Product Version (required):"
 msgstr "产品版本(必填):"
 
-#: ../IDEFrame.py:1972
-#: ../dialogs/SearchInProjectDialog.py:46
+#: ../dialogs/SearchInProjectDialog.py:39 ../IDEFrame.py:1747
+#: ../IDEFrame.py:1944
 msgid "Program"
 msgstr "程序"
 
-#: ../PLCOpenEditor.py:360
+#: ../PLCOpenEditor.py:347
 msgid "Program was successfully generated!"
 msgstr "该编程成功生成文件!"
 
-#: ../PLCControler.py:95
+#: ../PLCControler.py:98
 msgid "Programs"
 msgstr "程序"
 
-#: ../editors/Viewer.py:230
+#: ../editors/Viewer.py:243
 msgid "Programs can't be used by other POUs!"
 msgstr "程序不能被其它POU使用!"
 
-#: ../controls/ProjectPropertiesPanel.py:84
-#: ../IDEFrame.py:553
+#: ../controls/ProjectPropertiesPanel.py:85 ../IDEFrame.py:584
 msgid "Project"
 msgstr "项目"
 
 #: ../controls/SearchResultPanel.py:173
-#, fuzzy, python-format
+#, python-format
 msgid "Project '%s':"
-msgstr "项目"
-
-#: ../ProjectController.py:1529
-#, fuzzy
+msgstr "项目 '%s':"
+
+#: ../ProjectController.py:1877
 msgid "Project Files"
-msgstr "项目属性"
-
-#: ../controls/ProjectPropertiesPanel.py:78
+msgstr "项目文件"
+
+#: ../dialogs/ProjectDialog.py:57
+msgid "Project Name"
+msgstr "项目名称"
+
+#: ../controls/ProjectPropertiesPanel.py:79
 msgid "Project Name (required):"
 msgstr "项目名称(必填):"
 
-#: ../controls/ProjectPropertiesPanel.py:79
+#: ../controls/ProjectPropertiesPanel.py:80
 msgid "Project Version (optional):"
 msgstr "项目版本(选填):"
 
-#: ../PLCControler.py:2916
+#: ../PLCControler.py:3164
 msgid ""
 "Project file syntax error:\n"
 "\n"
 msgstr ""
-
-#: ../dialogs/ProjectDialog.py:32
+"项目文件语法错误:\n"
+"\n"
+
+#: ../dialogs/ProjectDialog.py:33 ../editors/ProjectNodeEditor.py:37
 msgid "Project properties"
 msgstr "项目属性"
 
-#: ../ConfigTreeNode.py:506
-#, fuzzy, python-format
-msgid "Project tree layout do not match confnode.xml %s!=%s "
-msgstr "项目树型布局与 plugin.xml 不匹配 %s!=%s "
-
-#: ../PLCControler.py:96
+#: ../ConfigTreeNode.py:566
+#, python-brace-format
+msgid "Project tree layout do not match confnode.xml {a1}!={a2} "
+msgstr "项目树的布局不匹配confnode.xml {a1}!={a2} "
+
+#: ../dialogs/ConnectionDialog.py:98
+msgid "Propagate Name"
+msgstr "扩展名"
+
+#: ../PLCControler.py:99
 msgid "Properties"
 msgstr "属性"
 
-#: ../plcopen/structures.py:237
-msgid ""
-"Pulse timer\n"
-"The pulse timer can be used to generate output pulses of a given time duration."
-msgstr ""
-"脉冲计时器\n"
-"脉冲计时器可用于产生给定时间限制的输出的脉冲。"
-
-#: ../features.py:8
-#, fuzzy
+#: ../Beremiz_service.py:442
+msgid "Publishing service on local network"
+msgstr "在本地网络上发布服务"
+
+#: ../connectors/PYRO/__init__.py:118
+#, python-format
+msgid "Pyro exception: %s\n"
+msgstr "Pyro异常: %s\n"
+
+#: ../Beremiz_service.py:429
+msgid "Pyro object's uri :"
+msgstr "Pyro 目标的URL:"
+
+#: ../Beremiz_service.py:428
+msgid "Pyro port :"
+msgstr "Pyro端口:"
+
+#: ../py_ext/PythonEditor.py:81
+msgid "Python code"
+msgstr "Python代码"
+
+#: ../features.py:33
 msgid "Python file"
-msgstr "Python代码"
-
-#: ../dialogs/ActionBlockDialog.py:37
+msgstr "Python文件"
+
+#: ../dialogs/ActionBlockDialog.py:39
 msgid "Qualifier"
 msgstr "合格验证"
 
-#: ../Beremiz_service.py:328
-#: ../Beremiz.py:329
-#: ../PLCOpenEditor.py:151
+#: ../BeremizIDE.py:238 ../PLCOpenEditor.py:130 ../Beremiz_service.py:275
 msgid "Quit"
 msgstr "退出"
 
-#: ../plcopen/structures.py:202
-msgid ""
-"RS bistable\n"
-"The RS bistable is a latch where the Reset dominates."
-msgstr ""
-"RS双稳\n"
-"RS双稳是一个重置支配的锁存器。"
-
-#: ../plcopen/structures.py:274
-#, fuzzy
-msgid ""
-"Ramp\n"
-"The RAMP function block is modelled on example given in the standard."
-msgstr ""
-"匝道\n"
-"匝道功能块模拟给定标准的例子,但增加了一个' 阻碍 '功能。"
-
-#: ../editors/GraphicViewer.py:89
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:225
 msgid "Range:"
 msgstr "范围:"
 
-#: ../ProjectController.py:1525
+#: ../ProjectController.py:1873
 msgid "Raw IEC code"
 msgstr "原始的IEC代码"
 
-#: ../plcopen/structures.py:254
-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 ""
-"实时时钟\n"
-"实时时钟有很多用途,包括时间冲压,设置日期和批量报告日期时间,报警信息等。"
-
-#: ../Beremiz.py:1039
-#, fuzzy, python-format
+#: ../BeremizIDE.py:1047
+#, python-format
 msgid "Really delete node '%s'?"
-msgstr "确定删除插件?"
-
-#: ../IDEFrame.py:340
-#: ../IDEFrame.py:398
+msgstr "真的删除节点 '%s'吗?"
+
+#: ../IDEFrame.py:362 ../IDEFrame.py:422
 msgid "Redo"
-msgstr ""
-
-#: ../dialogs/SFCTransitionDialog.py:57
-#: ../dialogs/SFCTransitionDialog.py:135
+msgstr "重做"
+
+#: ../dialogs/SFCTransitionDialog.py:75
 msgid "Reference"
 msgstr "参照"
 
-#: ../IDEFrame.py:408
-#: ../dialogs/DiscoveryDialog.py:105
+#: ../dialogs/DiscoveryDialog.py:107 ../IDEFrame.py:432
 msgid "Refresh"
 msgstr "刷新"
 
-#: ../dialogs/SearchInProjectDialog.py:73
-#, fuzzy
+#: ../dialogs/SearchInProjectDialog.py:66
 msgid "Regular expression"
-msgstr "表达式:"
-
-#: ../dialogs/FindInPouDialog.py:91
-#, fuzzy
+msgstr "正则表达式"
+
+#: ../dialogs/FindInPouDialog.py:96
 msgid "Regular expressions"
-msgstr "表达式:"
-
-#: ../controls/DebugVariablePanel.py:299
-#: ../editors/Viewer.py:1356
+msgstr "正则表达式"
+
+#: ../editors/Viewer.py:1603
 msgid "Release value"
-msgstr ""
+msgstr "释放值"
 
 #: ../plcopen/iec_std.csv:37
 msgid "Remainder (modulo)"
 msgstr "余数(模)"
 
-#: ../Beremiz.py:1040
+#: ../BeremizIDE.py:1048
 #, python-format
 msgid "Remove %s node"
-msgstr ""
-
-#: ../dialogs/ActionBlockDialog.py:139
-#, fuzzy
+msgstr "移除 %s 节点"
+
+#: ../IDEFrame.py:2419
+msgid "Remove Datatype"
+msgstr "移除数据类型"
+
+#: ../IDEFrame.py:2424
+msgid "Remove Pou"
+msgstr "移除POU"
+
+#: ../dialogs/ActionBlockDialog.py:138
 msgid "Remove action"
-msgstr "移除这个插件"
-
-#: ../controls/DebugVariablePanel.py:183
-#, fuzzy
-msgid "Remove debug variable"
-msgstr "新建一个变量"
-
-#: ../editors/DataTypeEditor.py:346
-#, fuzzy
+msgstr "移除动作"
+
+#: ../editors/DataTypeEditor.py:353
 msgid "Remove element"
-msgstr "移除这个插件"
-
-#: ../editors/FileManagementPanel.py:281
+msgstr "移除元素"
+
+#: ../editors/FileManagementPanel.py:63
 msgid "Remove file from left folder"
-msgstr ""
-
-#: ../editors/ResourceEditor.py:252
-#, fuzzy
+msgstr "从左侧目录移除文件"
+
+#: ../editors/ResourceEditor.py:269
 msgid "Remove instance"
-msgstr "删除实例"
-
-#: ../canfestival/NetworkEditor.py:87
-#, fuzzy
+msgstr "移除实例"
+
+#: ../canfestival/NetworkEditor.py:104
 msgid "Remove slave"
-msgstr "移除这个插件"
-
-#: ../editors/ResourceEditor.py:223
+msgstr "移除从站"
+
+#: ../editors/ResourceEditor.py:240
 msgid "Remove task"
-msgstr ""
-
-#: ../controls/VariablePanel.py:379
-#, fuzzy
+msgstr "移除任务"
+
+#: ../editors/CodeFileEditor.py:659 ../controls/VariablePanel.py:451
 msgid "Remove variable"
-msgstr "新建一个变量"
-
-#: ../IDEFrame.py:1976
+msgstr "移除变量"
+
+#: ../IDEFrame.py:1948
 msgid "Rename"
 msgstr "重命名"
 
-#: ../editors/FileManagementPanel.py:399
+#: ../editors/FileManagementPanel.py:181
 msgid "Replace File"
-msgstr ""
+msgstr "替换文件"
+
+#: ../editors/Viewer.py:561
+msgid "Replace Wire by connections"
+msgstr "通过连接替换Wire"
 
 #: ../plcopen/iec_std.csv:89
 msgid "Replacement (within)"
@@ -2977,55 +2833,42 @@
 msgid "Reset"
 msgstr "重置"
 
-#: ../editors/Viewer.py:521
+#: ../editors/Viewer.py:642
 msgid "Reset Execution Order"
 msgstr "重置执行命令"
 
-#: ../IDEFrame.py:423
+#: ../IDEFrame.py:451
 msgid "Reset Perspective"
-msgstr ""
+msgstr "复位透视图"
 
 #: ../controls/SearchResultPanel.py:105
 msgid "Reset search result"
-msgstr ""
-
-#: ../editors/GraphicViewer.py:137
-msgid "Reset zoom and offset"
-msgstr ""
-
-#: ../PLCControler.py:96
+msgstr "复位搜索结果"
+
+#: ../BeremizIDE.py:979 ../PLCControler.py:99
 msgid "Resources"
 msgstr "资源"
 
-#: ../controls/VariablePanel.py:67
+#: ../controls/VariablePanel.py:62
 msgid "Retain"
 msgstr "保持"
 
-#: ../controls/VariablePanel.py:352
+#: ../controls/VariablePanel.py:424
 msgid "Return Type:"
 msgstr "返回类型:"
 
-#: ../editors/Viewer.py:430
+#: ../editors/Viewer.py:546
 msgid "Right"
 msgstr "右"
 
-#: ../dialogs/LDPowerRailDialog.py:60
+#: ../dialogs/LDPowerRailDialog.py:64
 msgid "Right PowerRail"
 msgstr "右电源导轨"
 
-#: ../editors/Viewer.py:404
-#: ../dialogs/LDElementDialog.py:80
+#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:520
 msgid "Rising Edge"
 msgstr "上升沿"
 
-#: ../plcopen/structures.py:212
-msgid ""
-"Rising edge detector\n"
-"The output produces a single pulse when a rising edge is detected."
-msgstr ""
-"上升沿检测\n"
-"当上升沿被检测到时,输出便产生一个单脉冲。"
-
 #: ../plcopen/iec_std.csv:65
 msgid "Rotate left"
 msgstr "循环左移"
@@ -3038,149 +2881,138 @@
 msgid "Rounding up/down"
 msgstr "四舍五入"
 
-#: ../ProjectController.py:1493
+#: ../ProjectController.py:1841
 msgid "Run"
 msgstr "运行"
 
-#: ../ProjectController.py:841
-#: ../ProjectController.py:850
-#, fuzzy
-msgid "Runtime extensions C code generation failed !\n"
-msgstr "插件代码生成失败!\n"
-
-#: ../canfestival/SlaveEditor.py:34
-#: ../canfestival/NetworkEditor.py:64
+#: ../ProjectController.py:1099
+msgid "Runtime IO extensions C code generation failed !\n"
+msgstr "运行时IO扩展C代码生成失败!\n"
+
+#: ../ProjectController.py:1108
+msgid "Runtime library extensions C code generation failed !\n"
+msgstr "运行时库扩展C代码生成失败!\n"
+
+#: ../canfestival/SlaveEditor.py:61 ../canfestival/NetworkEditor.py:82
 msgid "SDO Client"
-msgstr ""
-
-#: ../canfestival/SlaveEditor.py:33
-#: ../canfestival/NetworkEditor.py:63
+msgstr "SDO客户端"
+
+#: ../canfestival/SlaveEditor.py:60 ../canfestival/NetworkEditor.py:81
 msgid "SDO Server"
-msgstr ""
-
-#: ../controls/ProjectPropertiesPanel.py:143
-#: ../dialogs/PouDialog.py:36
+msgstr "SDO服务器"
+
+#: ../dialogs/PouDialog.py:37 ../controls/ProjectPropertiesPanel.py:144
 msgid "SFC"
-msgstr "顺序功能流程图"
-
-#: ../plcopen/structures.py:197
-msgid ""
-"SR bistable\n"
-"The SR bistable is a latch where the Set dominates."
-msgstr ""
-"SR双稳态\n"
-"SR双稳态是一个设置支配的锁存器。"
-
-#: ../dialogs/PouTransitionDialog.py:35
-#: ../dialogs/PouActionDialog.py:31
-#: ../dialogs/PouDialog.py:36
+msgstr "顺序功能图"
+
+#: ../PLCGenerator.py:1392
+#, python-brace-format
+msgid "SFC jump in pou \"{a1}\" refers to non-existent SFC step \"{a2}\""
+msgstr "POU \"{a1}\" 中的SFC跳转 涉及不存在SFC步 \"{a2}\""
+
+#: ../PLCGenerator.py:773
+#, python-format
+msgid "SFC transition in POU \"%s\" must be connected."
+msgstr "在POU \"%s\" 中 SFC 移动必须被连接。"
+
+#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32
+#: ../dialogs/PouDialog.py:37
 msgid "ST"
-msgstr "结构化文字"
-
-#: ../PLCOpenEditor.py:347
+msgstr "结构化文本"
+
+#: ../PLCOpenEditor.py:334
 msgid "ST files (*.st)|*.st|All files|*.*"
 msgstr "ST 文件 (*.st)|*.st|所有文件|*.*"
 
-#: ../svgui/svgui.py:92
-#, fuzzy
+#: ../svgui/svgui.py:128
 msgid "SVG files (*.svg)|*.svg|All files|*.*"
-msgstr "ST 文件 (*.st)|*.st|所有文件|*.*"
-
-#: ../features.py:10
+msgstr "SVG 文件 (*.svg)|*.svg|All files|*.*"
+
+#: ../features.py:35
 msgid "SVGUI"
-msgstr ""
-
-#: ../Beremiz.py:313
-#: ../Beremiz.py:344
-#: ../PLCOpenEditor.py:134
-#: ../PLCOpenEditor.py:169
-#, fuzzy
+msgstr "SVGUI"
+
+#: ../BeremizIDE.py:222 ../BeremizIDE.py:253 ../PLCOpenEditor.py:113
+#: ../PLCOpenEditor.py:148
 msgid "Save"
-msgstr "保存日志"
-
-#: ../Beremiz.py:345
-#: ../PLCOpenEditor.py:136
-#: ../PLCOpenEditor.py:170
-#, fuzzy
+msgstr "保存"
+
+#: ../BeremizIDE.py:254 ../PLCOpenEditor.py:115 ../PLCOpenEditor.py:149
 msgid "Save As..."
-msgstr "另存为...\tCTRL+SHIFT+S"
-
-#: ../Beremiz.py:315
-#, fuzzy
+msgstr "另存为..."
+
+#: ../BeremizIDE.py:224
 msgid "Save as"
-msgstr "保存日志"
-
-#: ../dialogs/SearchInProjectDialog.py:76
+msgstr "另存为"
+
+#: ../ProjectController.py:511
+msgid "Save path is the same as path of a project! \n"
+msgstr "保存路径和项目路径相同!\n"
+
+#: ../dialogs/SearchInProjectDialog.py:69
 msgid "Scope"
-msgstr ""
-
-#: ../IDEFrame.py:592
-#: ../dialogs/SearchInProjectDialog.py:105
+msgstr "范围"
+
+#: ../IDEFrame.py:623
 msgid "Search"
-msgstr ""
-
-#: ../IDEFrame.py:360
-#: ../IDEFrame.py:404
-#: ../dialogs/SearchInProjectDialog.py:52
-#, fuzzy
+msgstr "搜索"
+
+#: ../dialogs/SearchInProjectDialog.py:45 ../IDEFrame.py:382
+#: ../IDEFrame.py:428
 msgid "Search in Project"
-msgstr "选择一个对象"
-
-#: ../dialogs/DurationEditorDialog.py:46
+msgstr "在项目中搜索"
+
+#: ../dialogs/DurationEditorDialog.py:47
 msgid "Seconds:"
-msgstr ""
-
-#: ../IDEFrame.py:366
-#, fuzzy
+msgstr "秒:"
+
+#: ../IDEFrame.py:388
 msgid "Select All"
-msgstr "全部选中\tCTRL+A"
-
-#: ../controls/VariablePanel.py:277
-#: ../editors/TextViewer.py:330
-#: ../editors/Viewer.py:277
+msgstr "选择全部"
+
+#: ../editors/Viewer.py:289 ../editors/TextViewer.py:306
+#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:290
+#: ../controls/VariablePanel.py:350
 msgid "Select a variable class:"
 msgstr "选择一个变量种类:"
 
-#: ../ProjectController.py:1013
-#, fuzzy
+#: ../ProjectController.py:1257
 msgid "Select an editor:"
-msgstr "选择一个对象"
-
-#: ../controls/PouInstanceVariablesPanel.py:197
-#, fuzzy
+msgstr "选择一个编辑:"
+
+#: ../controls/PouInstanceVariablesPanel.py:281
 msgid "Select an instance"
-msgstr "删除实例"
-
-#: ../IDEFrame.py:576
+msgstr "选择一个实例"
+
+#: ../IDEFrame.py:607
 msgid "Select an object"
 msgstr "选择一个对象"
 
+#: ../ProjectController.py:518
+msgid "Selected directory already contains another project. Overwrite? \n"
+msgstr "选择的目录已经包含其他项目。覆盖?\n"
+
 #: ../plcopen/iec_std.csv:70
 msgid "Selection"
 msgstr "选择"
 
-#: ../dialogs/SFCDivergenceDialog.py:62
+#: ../dialogs/SFCDivergenceDialog.py:65
 msgid "Selection Convergence"
 msgstr "选择收敛"
 
-#: ../dialogs/SFCDivergenceDialog.py:55
+#: ../dialogs/SFCDivergenceDialog.py:64
 msgid "Selection Divergence"
 msgstr "选择发散"
 
-#: ../plcopen/structures.py:207
-msgid ""
-"Semaphore\n"
-"The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources."
-msgstr ""
-"信号\n"
-"信号提供一个机制,使软件元素相互排斥的进入一定资源。"
-
-#: ../dialogs/DiscoveryDialog.py:84
-#, fuzzy
+#: ../dialogs/DiscoveryDialog.py:82
+msgid "Service Discovery"
+msgstr "服务探索"
+
+#: ../dialogs/DiscoveryDialog.py:85
 msgid "Services available:"
-msgstr "选择一个变量种类:"
-
-#: ../dialogs/LDElementDialog.py:72
+msgstr "存在的服务:"
+
+#: ../dialogs/LDElementDialog.py:76
 msgid "Set"
 msgstr "设置"
 
@@ -3192,27 +3024,27 @@
 msgid "Shift right"
 msgstr "右移"
 
-#: ../ProjectController.py:1519
+#: ../ProjectController.py:1867
 msgid "Show IEC code generated by PLCGenerator"
 msgstr "显示由PLCGenerator生成的IEC代码"
 
-#: ../canfestival/canfestival.py:288
+#: ../canfestival/canfestival.py:389
 msgid "Show Master"
 msgstr "显示主控"
 
-#: ../canfestival/canfestival.py:289
+#: ../canfestival/canfestival.py:390
 msgid "Show Master generated by config_utils"
 msgstr "显示由config_utils生成的主控"
 
-#: ../ProjectController.py:1517
+#: ../ProjectController.py:1865
 msgid "Show code"
 msgstr "显示代码"
 
-#: ../dialogs/SFCDivergenceDialog.py:74
+#: ../dialogs/SFCDivergenceDialog.py:67
 msgid "Simultaneous Convergence"
 msgstr "同步收敛"
 
-#: ../dialogs/SFCDivergenceDialog.py:68
+#: ../dialogs/SFCDivergenceDialog.py:66
 msgid "Simultaneous Divergence"
 msgstr "同步发散"
 
@@ -3220,64 +3052,79 @@
 msgid "Sine"
 msgstr "正弦"
 
-#: ../editors/ResourceEditor.py:67
+#: ../editors/ResourceEditor.py:68
 msgid "Single"
 msgstr "单"
 
+#: ../targets/toolchain_makefile.py:126
+msgid "Source didn't change, no build.\n"
+msgstr "源代码没有变化,不需要构建.\n"
+
+#: ../PLCGenerator.py:397
+#, python-brace-format
+msgid ""
+"Source signal has to be defined for single task '{a1}' in resource "
+"'{a2}.{a3}'."
+msgstr "源信号必须被定义对于一个单独任务 '{a1}' 在资源 '{a2}.{a3}'."
+
 #: ../plcopen/iec_std.csv:23
 msgid "Square root (base 2)"
 msgstr "平方根(底数2)"
 
-#: ../plcopen/structures.py:193
+#: ../plcopen/definitions.py:48
 msgid "Standard function blocks"
 msgstr "标准功能类型"
 
-#: ../Beremiz_service.py:319
-#: ../ProjectController.py:1495
+#: ../ProjectController.py:1843 ../Beremiz_service.py:263
 msgid "Start PLC"
 msgstr "开始PLC"
 
-#: ../ProjectController.py:819
+#: ../ProjectController.py:1046
 #, python-format
 msgid "Start build in %s\n"
 msgstr "开始建立 %s\n"
 
-#: ../ProjectController.py:1314
-#, fuzzy
+#: ../ProjectController.py:1360
+msgid "Started"
+msgstr "已开始"
+
+#: ../ProjectController.py:1648
 msgid "Starting PLC\n"
-msgstr "开始PLC"
-
-#: ../Beremiz.py:403
+msgstr "启动PLC\n"
+
+#: ../BeremizIDE.py:365
 msgid "Status ToolBar"
-msgstr ""
-
-#: ../editors/Viewer.py:493
-#, fuzzy
+msgstr "状态工具栏"
+
+#: ../editors/Viewer.py:612 ../editors/Viewer.py:2391
 msgid "Step"
-msgstr "编辑步骤"
-
-#: ../ProjectController.py:1498
+msgstr "步"
+
+#: ../ProjectController.py:1846
 msgid "Stop"
 msgstr "停止"
 
-#: ../Beremiz_service.py:320
+#: ../Beremiz_service.py:264
 msgid "Stop PLC"
 msgstr "停止PLC"
 
-#: ../ProjectController.py:1500
+#: ../ProjectController.py:1848
 msgid "Stop Running PLC"
 msgstr "停止运行PLC"
 
-#: ../ProjectController.py:1292
-#, fuzzy
+#: ../ProjectController.py:1361
+msgid "Stopped"
+msgstr "已停止"
+
+#: ../ProjectController.py:1620
 msgid "Stopping debugger...\n"
-msgstr "正在停止调试\n"
-
-#: ../editors/DataTypeEditor.py:52
+msgstr "停止调试器...\n"
+
+#: ../editors/DataTypeEditor.py:54
 msgid "Structure"
 msgstr "结构的"
 
-#: ../editors/DataTypeEditor.py:52
+#: ../editors/DataTypeEditor.py:54
 msgid "Subrange"
 msgstr "子集的"
 
@@ -3285,53 +3132,83 @@
 msgid "Subtraction"
 msgstr "减法"
 
-#: ../ProjectController.py:915
+#: ../ProjectController.py:1085
 msgid "Successfully built.\n"
-msgstr ""
-
-#: ../dialogs/SearchInProjectDialog.py:154
+msgstr "成功构建.\n"
+
+#: ../IDEFrame.py:447
+msgid "Switch perspective"
+msgstr "切换视图"
+
+#: ../dialogs/SearchInProjectDialog.py:165 ../dialogs/FindInPouDialog.py:115
 msgid "Syntax error in regular expression of pattern to search!"
-msgstr ""
+msgstr "在模式搜索正则表达式语法错误!"
+
+#: ../dialogs/DiscoveryDialog.py:93
+msgid "TYPE"
+msgstr "类型"
 
 #: ../plcopen/iec_std.csv:29
 msgid "Tangent"
 msgstr "正切"
 
-#: ../editors/ResourceEditor.py:76
+#: ../editors/ResourceEditor.py:83
 msgid "Task"
 msgstr "任务 "
 
-#: ../editors/ResourceEditor.py:218
+#: ../editors/ResourceEditor.py:235
 msgid "Tasks:"
 msgstr "任务:"
 
-#: ../controls/VariablePanel.py:78
+#: ../controls/VariablePanel.py:73
 msgid "Temp"
 msgstr "缓冲"
 
-#: ../editors/FileManagementPanel.py:398
+#: ../version.py:30
+msgid ""
+"The best place to ask questions about Beremiz/PLCOpenEditor\n"
+"is project's mailing list: beremiz-devel@lists.sourceforge.net\n"
+"\n"
+"This is the main community support channel.\n"
+"For posting it is required to be subscribed to the mailing list.\n"
+"\n"
+"You can subscribe to the list here:\n"
+"https://lists.sourceforge.net/lists/listinfo/beremiz-devel"
+msgstr ""
+"关于Beremiz/PLCOpenEditor的最佳问问题点\n"
+"是项目的邮件列表: beremiz-devel@lists.sourceforge.net\n"
+"\n"
+"这主要是社区支持渠道。\n"
+"发布必须订阅邮件列表。\n"
+"\n"
+"你可在这里订阅列表:\n"
+"https://lists.sourceforge.net/lists/listinfo/beremiz-devel"
+
+#: ../editors/FileManagementPanel.py:180
 #, python-format
 msgid ""
 "The file '%s' already exist.\n"
 "Do you want to replace it?"
 msgstr ""
-
-#: ../editors/LDViewer.py:879
+"文件 '%s' 已经存在。\n"
+"你真的要替换它?"
+
+#: ../editors/LDViewer.py:882
 msgid "The group of block must be coherent!"
 msgstr "块的组必须是连贯的!"
 
-#: ../IDEFrame.py:1091
-#: ../Beremiz.py:555
+#: ../BeremizIDE.py:542 ../IDEFrame.py:1015
 msgid "There are changes, do you want to save?"
 msgstr "文件已被改动。你希望保存吗?"
 
-#: ../IDEFrame.py:1709
-#: ../IDEFrame.py:1728
-#, python-format
-msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?"
+#: ../IDEFrame.py:1658 ../IDEFrame.py:1677
+#, python-format
+msgid ""
+"There is a POU named \"%s\". This could cause a conflict. Do you wish to "
+"continue?"
 msgstr "一个编程组织单元被命名为\"%s\"。这可能会产生冲突。你希望继续吗?"
 
-#: ../IDEFrame.py:1178
+#: ../IDEFrame.py:1102
 msgid ""
 "There was a problem printing.\n"
 "Perhaps your current printer is not set correctly?"
@@ -3339,20 +3216,20 @@
 "打印出现问题。\n"
 "请检查你当前打印机设置。"
 
-#: ../editors/LDViewer.py:888
+#: ../editors/LDViewer.py:891
 msgid "This option isn't available yet!"
 msgstr "该选项尚未可用!"
 
-#: ../editors/GraphicViewer.py:278
-msgid "Tick"
-msgstr ""
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:565
+#, python-format
+msgid "Tick: %d"
+msgstr "滴答: %d"
 
 #: ../plcopen/iec_std.csv:40
 msgid "Time"
-msgstr ""
-
-#: ../plcopen/iec_std.csv:40
-#: ../plcopen/iec_std.csv:41
+msgstr "时间"
+
+#: ../plcopen/iec_std.csv:40 ../plcopen/iec_std.csv:41
 msgid "Time addition"
 msgstr "时间加法"
 
@@ -3360,104 +3237,115 @@
 msgid "Time concatenation"
 msgstr "时间级联"
 
-#: ../plcopen/iec_std.csv:60
-#: ../plcopen/iec_std.csv:61
+#: ../plcopen/iec_std.csv:60 ../plcopen/iec_std.csv:61
 msgid "Time division"
 msgstr "时间除法"
 
-#: ../plcopen/iec_std.csv:46
-#: ../plcopen/iec_std.csv:47
+#: ../plcopen/iec_std.csv:46 ../plcopen/iec_std.csv:47
 msgid "Time multiplication"
 msgstr "时间乘法"
 
-#: ../plcopen/iec_std.csv:48
-#: ../plcopen/iec_std.csv:49
+#: ../plcopen/iec_std.csv:48 ../plcopen/iec_std.csv:49
 msgid "Time subtraction"
 msgstr "时间减法"
 
-#: ../plcopen/iec_std.csv:42
-#: ../plcopen/iec_std.csv:43
+#: ../plcopen/iec_std.csv:42 ../plcopen/iec_std.csv:43
 msgid "Time-of-day addition"
 msgstr "日期时间加法"
 
-#: ../plcopen/iec_std.csv:52
-#: ../plcopen/iec_std.csv:53
-#: ../plcopen/iec_std.csv:54
-#: ../plcopen/iec_std.csv:55
+#: ../plcopen/iec_std.csv:52 ../plcopen/iec_std.csv:53
+#: ../plcopen/iec_std.csv:54 ../plcopen/iec_std.csv:55
 msgid "Time-of-day subtraction"
 msgstr "日期时间减法"
 
-#: ../editors/Viewer.py:432
+#: ../dialogs/ForceVariableDialog.py:172
+msgid "Toggle value"
+msgstr "触发值"
+
+#: ../editors/Viewer.py:548
 msgid "Top"
 msgstr "顶部"
 
-#: ../ProjectController.py:1507
+#: ../ProjectController.py:1855
 msgid "Transfer"
 msgstr "传输"
 
-#: ../ProjectController.py:1509
+#: ../ProjectController.py:1857
 msgid "Transfer PLC"
 msgstr "传输PLC"
 
-#: ../ProjectController.py:1474
+#: ../ProjectController.py:1820
 msgid "Transfer completed successfully.\n"
 msgstr "传输成功\n"
 
-#: ../ProjectController.py:1476
+#: ../ProjectController.py:1823
 msgid "Transfer failed\n"
 msgstr "传输失败\n"
 
-#: ../editors/Viewer.py:494
-#, fuzzy
+#: ../editors/Viewer.py:613 ../editors/Viewer.py:2393
+#: ../editors/Viewer.py:2420
 msgid "Transition"
-msgstr "跃迁"
-
-#: ../PLCGenerator.py:1212
-#, python-format
-msgid "Transition \"%s\" body must contain an output variable or coil referring to its name"
-msgstr ""
+msgstr "转换"
+
+#: ../PLCGenerator.py:1518
+#, python-format
+msgid ""
+"Transition \"%s\" body must contain an output variable or coil referring to "
+"its name"
+msgstr "转换 \"%s\" 体必须包含一个输出变量或圈指的是它的名字"
 
 #: ../dialogs/PouTransitionDialog.py:84
 msgid "Transition Name"
-msgstr "跃迁名字"
+msgstr "转换名字"
 
 #: ../dialogs/PouTransitionDialog.py:53
 msgid "Transition Name:"
-msgstr "跃迁名字:"
-
-#: ../PLCGenerator.py:1301
-#, python-format
-msgid "Transition with content \"%s\" not connected to a next step in \"%s\" POU"
-msgstr "跃迁的内容 \"%s\" 与后一步骤没有关联在 \"%s\" 中"
-
-#: ../PLCGenerator.py:1292
-#, python-format
-msgid "Transition with content \"%s\" not connected to a previous step in \"%s\" POU"
-msgstr "跃迁的内容 \"%s\" 与前一步骤没有关联在 \"%s\" 中"
-
-#: ../plcopen/plcopen.py:1442
+msgstr "转换名字:"
+
+#: ../PLCGenerator.py:1609
+#, python-brace-format
+msgid "Transition with content \"{a1}\" not connected to a next step in \"{a2}\" POU"
+msgstr "转换的内容 \"{a1}\" 没有连接到下一步在 \"{a2}\" POU"
+
+#: ../PLCGenerator.py:1598
+#, python-brace-format
+msgid ""
+"Transition with content \"{a1}\" not connected to a previous step in "
+"\"{a2}\" POU"
+msgstr "转换的内容 \"{a1}\" 没有连接到前一步在 \"{a2}\" POU"
+
+#: ../plcopen/plcopen.py:1323
 #, python-format
 msgid "Transition with name %s doesn't exist!"
-msgstr "已命名的跃迁 %s 尚不存在!"
-
-#: ../PLCControler.py:95
+msgstr "已命名的转换 %s 尚不存在!"
+
+#: ../PLCControler.py:98
 msgid "Transitions"
-msgstr "跃迁"
-
-#: ../editors/ResourceEditor.py:67
+msgstr "转换"
+
+#: ../dialogs/AboutDialog.py:131
+msgid "Translated by"
+msgstr "转换因为"
+
+#: ../editors/ResourceEditor.py:68
 msgid "Triggering"
-msgstr ""
-
-#: ../controls/VariablePanel.py:58
-#: ../controls/VariablePanel.py:59
-#: ../editors/DataTypeEditor.py:48
-#: ../editors/ResourceEditor.py:76
-#: ../dialogs/ActionBlockDialog.py:37
+msgstr "触发"
+
+#: ../Beremiz_service.py:478
+msgid "Twisted unavailable."
+msgstr "扭曲的不可用。"
+
+#: ../dialogs/ActionBlockDialog.py:39 ../editors/ResourceEditor.py:83
+#: ../editors/DataTypeEditor.py:50 ../editors/CodeFileEditor.py:739
+#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54
 msgid "Type"
 msgstr "类型"
 
-#: ../canfestival/config_utils.py:335
-#: ../canfestival/config_utils.py:617
+#: ../dialogs/BrowseLocationsDialog.py:49
+msgid "Type and derivated"
+msgstr "类型和派生"
+
+#: ../canfestival/config_utils.py:336 ../canfestival/config_utils.py:624
 #, python-format
 msgid "Type conflict for location \"%s\""
 msgstr "位置的冲突类型 \"%s\""
@@ -3466,263 +3354,278 @@
 msgid "Type conversion"
 msgstr "类型转换"
 
-#: ../editors/DataTypeEditor.py:155
+#: ../editors/DataTypeEditor.py:162
 msgid "Type infos:"
 msgstr "类型信息:"
 
-#: ../dialogs/SFCDivergenceDialog.py:51
-#: ../dialogs/LDPowerRailDialog.py:51
-#: ../dialogs/ConnectionDialog.py:52
-#: ../dialogs/SFCTransitionDialog.py:53
-#: ../dialogs/FBDBlockDialog.py:48
+#: ../dialogs/BrowseLocationsDialog.py:50
+msgid "Type strict"
+msgstr "严格类型"
+
+#: ../dialogs/SFCDivergenceDialog.py:59 ../dialogs/SFCTransitionDialog.py:58
+#: ../dialogs/LDPowerRailDialog.py:57 ../dialogs/BrowseLocationsDialog.py:100
+#: ../dialogs/FBDBlockDialog.py:66 ../dialogs/ConnectionDialog.py:59
 msgid "Type:"
 msgstr "类型:"
 
-#: ../canfestival/config_utils.py:455
-#: ../canfestival/config_utils.py:469
+#: ../canfestival/config_utils.py:462 ../canfestival/config_utils.py:476
 #, python-format
 msgid "Unable to define PDO mapping for node %02x"
-msgstr ""
-
-#: ../targets/Xenomai/__init__.py:14
-#, fuzzy, python-format
+msgstr "对于 %02x节点不能定义POU映射"
+
+#: ../targets/Xenomai/__init__.py:39
+#, python-format
 msgid "Unable to get Xenomai's %s \n"
-msgstr "无法获取Xenomai的CFLAGS\n"
-
-#: ../PLCGenerator.py:865
-#: ../PLCGenerator.py:924
-#, fuzzy, python-format
-msgid "Undefined block type \"%s\" in \"%s\" POU"
-msgstr "未定义的pou类型"
-
-#: ../PLCGenerator.py:240
+msgstr "不能获得 Xenomai 的 %s \n"
+
+#: ../PLCGenerator.py:961 ../PLCGenerator.py:1214
+#, python-brace-format
+msgid "Undefined block type \"{a1}\" in \"{a2}\" POU"
+msgstr "未定义块类型 \"{a1}\" 在 \"{a2}\" POU中"
+
+#: ../PLCGenerator.py:254
 #, python-format
 msgid "Undefined pou type \"%s\""
 msgstr "未定义的pou类型"
 
-#: ../IDEFrame.py:338
-#: ../IDEFrame.py:397
+#: ../IDEFrame.py:360 ../IDEFrame.py:421
 msgid "Undo"
-msgstr ""
-
-#: ../ProjectController.py:254
+msgstr "撤销"
+
+#: ../ProjectController.py:423
 msgid "Unknown"
-msgstr ""
-
-#: ../editors/Viewer.py:336
+msgstr "未知"
+
+#: ../editors/Viewer.py:394
 #, python-format
 msgid "Unknown variable \"%s\" for this POU!"
 msgstr "未知的变量 \"%s\" 这个POU!"
 
-#: ../ProjectController.py:251
-#: ../ProjectController.py:252
-#, fuzzy
+#: ../ProjectController.py:420 ../ProjectController.py:421
 msgid "Unnamed"
-msgstr "未命名%d"
-
-#: ../PLCControler.py:305
+msgstr "未命名"
+
+#: ../PLCControler.py:638
 #, python-format
 msgid "Unnamed%d"
 msgstr "未命名%d"
 
-#: ../controls/VariablePanel.py:272
+#: ../controls/VariablePanel.py:284
 #, python-format
 msgid "Unrecognized data size \"%s\""
 msgstr "无法识别数据大小 \"%s\""
 
-#: ../plcopen/structures.py:222
-msgid ""
-"Up-counter\n"
-"The up-counter can be used to signal when a count has reached a maximum value."
-msgstr ""
-"顺计时器\n"
-"当计数到达最大值时,顺计时器给出信号。"
-
-#: ../plcopen/structures.py:232
-msgid ""
-"Up-down counter\n"
-"The up-down counter has two inputs CU and CD. It can be used to both count up on one input and down on the other."
-msgstr ""
-"顺逆计数器\n"
-"顺逆计数器有两个输入:CU和CD。可用于顺计时和倒计时的输入。"
-
-#: ../controls/VariablePanel.py:709
-#: ../editors/DataTypeEditor.py:623
+#: ../editors/DataTypeEditor.py:630 ../controls/VariablePanel.py:827
 msgid "User Data Types"
 msgstr "用户数据类型"
 
-#: ../canfestival/SlaveEditor.py:38
-#: ../canfestival/NetworkEditor.py:68
-#, fuzzy
+#: ../canfestival/SlaveEditor.py:65 ../canfestival/NetworkEditor.py:86
 msgid "User Type"
-msgstr "用户数据类型"
-
-#: ../PLCControler.py:94
+msgstr "用户类型"
+
+#: ../PLCControler.py:97
 msgid "User-defined POUs"
 msgstr "用户 - 定义POUs"
 
-#: ../controls/DebugVariablePanel.py:40
-#: ../dialogs/ActionBlockDialog.py:37
+#: ../dialogs/ActionBlockDialog.py:39
 msgid "Value"
 msgstr "值"
 
-#: ../editors/GraphicViewer.py:278
-msgid "Values"
-msgstr "值"
-
-#: ../editors/DataTypeEditor.py:252
+#: ../editors/DataTypeEditor.py:259
 msgid "Values:"
 msgstr "值:"
 
-#: ../controls/DebugVariablePanel.py:40
-#: ../editors/Viewer.py:466
-#: ../dialogs/ActionBlockDialog.py:41
+#: ../dialogs/ActionBlockDialog.py:43 ../editors/Viewer.py:585
+#: ../editors/Viewer.py:2423
 msgid "Variable"
 msgstr "变量"
 
-#: ../dialogs/FBDVariableDialog.py:47
+#: ../editors/Viewer.py:309 ../editors/Viewer.py:339 ../editors/Viewer.py:361
+#: ../editors/TextViewer.py:292 ../editors/TextViewer.py:343
+#: ../editors/TextViewer.py:366 ../controls/VariablePanel.py:329
+msgid "Variable Drop"
+msgstr "变量Drop"
+
+#: ../dialogs/FBDVariableDialog.py:64
 msgid "Variable Properties"
 msgstr "变量属性"
 
-#: ../controls/VariablePanel.py:277
-#: ../editors/TextViewer.py:330
-#: ../editors/Viewer.py:277
+#: ../editors/Viewer.py:289 ../editors/TextViewer.py:306
+#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:290
+#: ../controls/VariablePanel.py:350
 msgid "Variable class"
 msgstr "变量种类"
 
-#: ../editors/TextViewer.py:374
-#: ../editors/Viewer.py:338
+#: ../editors/Viewer.py:396 ../editors/TextViewer.py:387
 msgid "Variable don't belong to this POU!"
 msgstr "变量不属于这个POU!"
 
-#: ../controls/VariablePanel.py:77
+#: ../dialogs/LDElementDialog.py:89
+msgid "Variable:"
+msgstr "变量:"
+
+#: ../controls/VariablePanel.py:72
 msgid "Variables"
 msgstr "变量"
 
-#: ../controls/ProjectPropertiesPanel.py:151
-#, fuzzy
+#: ../controls/ProjectPropertiesPanel.py:152
 msgid "Vertical:"
-msgstr "数学式"
-
-#: ../wxglade_hmi/wxglade_hmi.py:11
+msgstr "垂直的:"
+
+#: ../Beremiz_service.py:588
+msgid "WAMP client startup failed. "
+msgstr "WAMP客户端启动失败。"
+
+#: ../connectors/WAMP/__init__.py:91
+#, python-format
+msgid "WAMP connecting to URL : %s\n"
+msgstr "WAMP 连接到 URL : %s\n"
+
+#: ../connectors/WAMP/__init__.py:131
+msgid "WAMP connection timeout"
+msgstr "WAMP连接超时"
+
+#: ../connectors/WAMP/__init__.py:150
+#, python-format
+msgid "WAMP connection to '%s' failed.\n"
+msgstr "WAMP 连接到 '%s' 失败。\n"
+
+#: ../Beremiz_service.py:564
+msgid "WAMP import failed :"
+msgstr "WAMP导入失败:"
+
+#: ../wxglade_hmi/wxglade_hmi.py:37
 msgid "WXGLADE GUI"
 msgstr "WXGLADE 用户图形界面"
 
-#: ../ProjectController.py:1276
-msgid "Waiting debugger to recover...\n"
-msgstr ""
-
-#: ../editors/LDViewer.py:888
-#: ../dialogs/PouDialog.py:126
+#: ../dialogs/PouDialog.py:129 ../editors/LDViewer.py:891
 msgid "Warning"
 msgstr "警告"
 
-#: ../ProjectController.py:515
+#: ../ProjectController.py:707
 msgid "Warnings in ST/IL/SFC code generator :\n"
 msgstr "警告在ST/IL/SFC代码生成器中:\n"
 
-#: ../dialogs/SearchInProjectDialog.py:85
-#, fuzzy
+#: ../dialogs/SearchInProjectDialog.py:78
 msgid "Whole Project"
-msgstr ""
-"#-#-#-#-#  Beremiz_zh_CN.po (PACKAGE VERSION)  #-#-#-#-#\n"
-"关闭项目\n"
-"#-#-#-#-#  PLCOpenEditor_zh_CN.po (PACKAGE VERSION)  #-#-#-#-#\n"
-"关闭程序"
-
-#: ../controls/ProjectPropertiesPanel.py:119
+msgstr "整个项目"
+
+#: ../controls/ProjectPropertiesPanel.py:120
 msgid "Width:"
 msgstr "宽度:"
 
-#: ../dialogs/FindInPouDialog.py:86
+#: ../dialogs/FindInPouDialog.py:91
 msgid "Wrap search"
-msgstr ""
-
-#: ../features.py:9
+msgstr "包搜索"
+
+#: ../dialogs/AboutDialog.py:130
+msgid "Written by"
+msgstr "出自"
+
+#: ../features.py:34
 msgid "WxGlade GUI"
-msgstr ""
-
-#: ../svgui/svgui.py:106
+msgstr "WxGlade GUI"
+
+#: ../svgui/svgui.py:142
 msgid ""
 "You don't have write permissions.\n"
 "Open Inkscape anyway ?"
 msgstr ""
-
-#: ../wxglade_hmi/wxglade_hmi.py:108
+"你没有写入的许可。\n"
+"无论如何都打开Inkscape?"
+
+#: ../wxglade_hmi/wxglade_hmi.py:154
 msgid ""
 "You don't have write permissions.\n"
 "Open wxGlade anyway ?"
 msgstr ""
-
-#: ../ProjectController.py:220
+"你没有写入的许可。\n"
+"无论如何都打开wxGlade?"
+
+#: ../ProjectController.py:371
 msgid ""
 "You must have permission to work on the project\n"
 "Work on a project copy ?"
 msgstr ""
-
-#: ../editors/LDViewer.py:883
-msgid "You must select the block or group of blocks around which a branch should be added!"
+"你必须有在此项目上工作的许可\n"
+"在项目的一个拷贝上工作?"
+
+#: ../editors/LDViewer.py:886
+msgid ""
+"You must select the block or group of blocks around which a branch should be"
+" added!"
 msgstr "你必须选择一个块或块的组围绕着需被添加的分支!"
 
-#: ../editors/LDViewer.py:663
+#: ../editors/LDViewer.py:666
 msgid "You must select the wire where a contact should be added!"
 msgstr "你必须选择一条线连接需被添加的接触点!"
 
-#: ../dialogs/PouNameDialog.py:45
-#: ../dialogs/SFCStepNameDialog.py:47
-#: ../dialogs/SFCStepDialog.py:118
+#: ../dialogs/SFCStepNameDialog.py:48 ../dialogs/PouNameDialog.py:46
 msgid "You must type a name!"
 msgstr "你必须输入一个名字!"
 
-#: ../dialogs/ForceVariableDialog.py:165
-#, fuzzy
+#: ../dialogs/ForceVariableDialog.py:193
 msgid "You must type a value!"
-msgstr "你必须输入一个名字!"
-
-#: ../IDEFrame.py:414
+msgstr "你必须输入一个值!"
+
+#: ../IDEFrame.py:438
 msgid "Zoom"
 msgstr "显示比例"
 
-#: ../editors/GraphicViewer.py:97
-#, fuzzy
-msgid "Zoom:"
-msgstr "显示比例"
-
-#: ../PLCOpenEditor.py:356
+#: ../dialogs/DurationEditorDialog.py:155
+msgid "days"
+msgstr "日"
+
+#: ../PLCOpenEditor.py:343
 #, python-format
 msgid "error: %s\n"
 msgstr "错误:%s\n"
 
-#: ../util/ProcessLogger.py:161
-#, python-format
-msgid "exited with status %s (pid %s)\n"
-msgstr "退出并保持现状 %s (pid %s)\n"
-
-#: ../PLCOpenEditor.py:508
-#: ../PLCOpenEditor.py:510
+#: ../util/ProcessLogger.py:169
+#, python-brace-format
+msgid "exited with status {a1} (pid {a2})\n"
+msgstr "退出伴随状态 {a1} (pid {a2})\n"
+
+#: ../PLCOpenEditor.py:406 ../PLCOpenEditor.py:408
 msgid "file : "
 msgstr "文件:"
 
-#: ../dialogs/PouDialog.py:31
+#: ../dialogs/PouDialog.py:32
 msgid "function"
 msgstr "功能"
 
-#: ../PLCOpenEditor.py:511
+#: ../PLCOpenEditor.py:409
 msgid "function : "
 msgstr "功能:"
 
-#: ../dialogs/PouDialog.py:31
+#: ../dialogs/PouDialog.py:32
 msgid "functionBlock"
 msgstr "功能块"
 
-#: ../PLCOpenEditor.py:511
+#: ../dialogs/DurationEditorDialog.py:155
+msgid "hours"
+msgstr "小时"
+
+#: ../PLCOpenEditor.py:409
 msgid "line : "
 msgstr "在线:"
 
-#: ../dialogs/PouDialog.py:31
+#: ../dialogs/DurationEditorDialog.py:157
+msgid "milliseconds"
+msgstr "毫秒"
+
+#: ../dialogs/DurationEditorDialog.py:156
+msgid "minutes"
+msgstr "分"
+
+#: ../dialogs/PouDialog.py:32
 msgid "program"
 msgstr "程序"
 
+#: ../dialogs/DurationEditorDialog.py:156
+msgid "seconds"
+msgstr "秒"
+
 #: ../plcopen/iec_std.csv:84
 msgid "string from the middle"
 msgstr "从中间取字符串"
@@ -3735,11 +3638,29 @@
 msgid "string right of"
 msgstr "从右取字符串"
 
-#: ../PLCOpenEditor.py:354
+#: ../Beremiz.py:164
+msgid "update info unavailable."
+msgstr "更新信息不存在"
+
+#: ../PLCOpenEditor.py:341
 #, python-format
 msgid "warning: %s\n"
 msgstr "警告:%s\n"
 
+#: ../PLCControler.py:972
+#, python-brace-format
+msgid "{a1} \"{a2}\" can't be pasted as a {a3}."
+msgstr "{a1} \"{a2}\" 不能被粘贴作为一个 {a3}."
+
+#: ../ConfigTreeNode.py:56
+#, python-brace-format
+msgid ""
+"{a1} XML file doesn't follow XSD schema at line %{a2}:\n"
+"{a3}"
+msgstr ""
+"{a1} XML文件没有遵循XSD schema在行 %{a2}:\n"
+"{a3}"
+
 #: Extra XSD strings
 msgid "CanFestivalSlaveNode"
 msgstr "CanFestival从节点"
@@ -3771,18 +3692,36 @@
 msgid "CAN_Driver"
 msgstr "CAN_驱动"
 
-msgid "Debug_mode"
-msgstr "调试_模式"
-
-msgid "CExtension"
-msgstr "C扩展"
+msgid "Generic"
+msgstr "一般的"
+
+msgid "Command"
+msgstr "命令"
+
+msgid "Xenomai"
+msgstr "Xenomai"
+
+msgid "XenoConfig"
+msgstr "XenoConfig"
+
+msgid "Compiler"
+msgstr "编译"
 
 msgid "CFLAGS"
 msgstr "CFLAGS"
 
+msgid "Linker"
+msgstr "链接 "
+
 msgid "LDFLAGS"
 msgstr "LDFLAGS"
 
+msgid "Linux"
+msgstr "Linux"
+
+msgid "Win32"
+msgstr "Win32"
+
 msgid "BaseParams"
 msgstr "基本参照 "
 
@@ -3792,412 +3731,221 @@
 msgid "Enabled"
 msgstr "启用"
 
-msgid "Linux"
-msgstr "Linux"
-
-msgid "Compiler"
-msgstr "编译"
-
-msgid "Linker"
-msgstr "链接 "
-
-msgid "Win32"
-msgstr "Win32"
-
-msgid "Xenomai"
-msgstr "Xenomai"
-
-msgid "XenoConfig"
-msgstr "XenoConfig"
-
 msgid "BeremizRoot"
 msgstr "Beremiz根"
 
 msgid "TargetType"
 msgstr "目标类型"
 
-#, fuzzy
 msgid "Libraries"
-msgstr "图书馆"
+msgstr "库"
 
 msgid "URI_location"
 msgstr "URI_位置"
 
-#, fuzzy
 msgid "Disable_Extensions"
-msgstr "C扩展"
-
-#~ msgid "#EXCEPTION : "
-#~ msgstr "#异常:"
-
-#~ msgid "A child with IEC channel %d already exist -> %d\n"
-#~ msgstr "一个IEC通道的分支 %d 已经存在 -> %d\n"
-
-#~ msgid "Add Plugin"
-#~ msgstr "添加插件"
-
-#~ msgid "Add a sub plugin"
-#~ msgstr "添加一个子插件"
-
-#~ msgid "Append "
-#~ msgstr "追加"
-
-#~ msgid "Beremiz\tF1"
-#~ msgstr "Beremiz\tF1"
-
-#~ msgid "Broken"
-#~ msgstr "损坏"
-
-#~ msgid "Build\tCTRL+R"
-#~ msgstr "建立\tCTRL+R"
-
-#~ msgid "Can't find module for target %s!\n"
-#~ msgstr "无法为目标找到模型 %s!\n"
-
-#~ msgid "Cancel"
-#~ msgstr "取消"
-
-#~ msgid "Cannot compare latest build to target. Please build.\n"
-#~ msgstr "无法与目标比较最新的建立。\n"
-
-#~ msgid "Debug Thread couldn't be killed"
-#~ msgstr "调试线程不能结束"
-
-#~ msgid "Debug data not coherent %d != %d\n"
-#~ msgstr "调试不和谐的数据 %d != %d\n"
-
-#~ msgid "Debug error idx : %d, expected_idx %d, type : %s"
-#~ msgstr "调试错误 idx : %d, expected_idx %d, 类型 : %s"
-
-#~ msgid "Delete Plugin"
-#~ msgstr "删除插件"
-
-#~ msgid "Delete this plugin"
-#~ msgstr "删除这个插件"
-
-#~ msgid "Dirty"
-#~ msgstr "变质"
-
-#~ msgid "Disconnected"
-#~ msgstr "已断开"
-
-#~ msgid "Do you want to continue?"
-#~ msgstr "你希望继续吗?"
-
-#~ msgid "ERROR"
-#~ msgstr "错误"
-
-#~ msgid "Edit CanOpen Network with NetworkEdit"
-#~ msgstr "用网络编辑器编辑CanOpen网络"
-
-#~ msgid "Edit PLC"
-#~ msgstr "编辑PLC"
-
-#~ msgid "Edit PLC\tCTRL+R"
-#~ msgstr "编辑PLC\tCTRL+R"
-
-#~ msgid "Edit PLC program with PLCOpenEditor"
-#~ msgstr "使用PLCOpen编辑器编辑PLC程序"
-
-#~ msgid "Edit network"
-#~ msgstr "编辑网络"
-
-#~ msgid "Empty"
-#~ msgstr "空的"
-
-#~ msgid "Enable/Disable this plugin"
-#~ msgstr "激活/禁用这个插件"
-
-#~ msgid "Generating plugins C code\n"
-#~ msgstr "生成C代码插件\n"
-
-#~ msgid "Latest build does not match with target, please transfer.\n"
-#~ msgstr "最新构建与目标不匹配,请传输。\n"
-
-#~ msgid "Latest build matches target, no transfer needed.\n"
-#~ msgstr "最新构建与目标匹配,不需要传输。\n"
-
-#~ msgid "My IP is :"
-#~ msgstr "我的IP是:"
-
-#~ msgid "New\tCTRL+N"
-#~ msgstr "新建\tCTRL+N"
-
-#~ msgid "NewPLC (%s)"
-#~ msgstr "新的PLC(%s)"
-
-#~ msgid "OK"
-#~ msgstr "确定"
-
-#~ msgid "Open\tCTRL+O"
-#~ msgstr "打开\tCTRL+O"
-
-#~ msgid "Please stop PLC to close"
-#~ msgstr "请停止PLC以便关闭"
-
-#~ msgid "Plugin : "
-#~ msgstr "插件:"
-
-#~ msgid "Problem %s PLC"
-#~ msgstr "问题  %s PLC"
-
-#~ msgid "Project not created"
-#~ msgstr "项目未创建"
-
-#~ msgid "Publish service on local network"
-#~ msgstr "在本地网络发布服务"
-
-#~ msgid "PythonThreadProc interrupted"
-#~ msgstr "Python线程处理被中断"
-
-#~ msgid "Question"
-#~ msgstr "问题"
-
-#~ msgid "Quit\tCTRL+Q"
-#~ msgstr "退出\tCTRL+Q"
-
-#~ msgid "Save\tCTRL+S"
-#~ msgstr "保存\tCTRL+S"
-
-#~ msgid "Save changes ?"
-#~ msgstr "保存修改?"
-
-#~ msgid "Simulate"
-#~ msgstr "模拟"
-
-#~ msgid "Start PLC (debug mode)"
-#~ msgstr "开始PLC(调试模式)"
-
-#~ msgid "Started"
-#~ msgstr "已开始"
-
-#~ msgid "Starting PLC (debug mode)\n"
-#~ msgstr "正在开始PLC(调试模式)\n"
-
-#~ msgid "Stopped"
-#~ msgstr "已停止"
-
-#~ msgid "The daemon runs on port :"
-#~ msgstr "守护进程在端口运行:"
-
-#~ msgid "The object's uri is :"
-#~ msgstr "对象的uri是:"
-
-#~ msgid "The working directory :"
-#~ msgstr "工作目录:"
-
-#~ msgid "Unable to get Xenomai's LDFLAGS\n"
-#~ msgstr "无法获取Xenomai的LDFLAGS\n"
-
-#~ msgid "Write Python runtime code, for use with python_eval FBs"
-#~ msgstr "编辑Python运行时间代码,与python_eval FBs一起使用"
-
-#~ msgid "Wrong URI, please check it !\n"
-#~ msgstr "错误的URI,请检查!\n"
-
-#~ msgid "You are about to overwrite that file\n"
-#~ msgstr "你即将要覆盖该文件\n"
-
-#~ msgid "loading"
-#~ msgstr "载入"
-
-#~ msgid "starting"
-#~ msgstr "正在开始"
-
-#~ msgid "Enable_Plugins"
-#~ msgstr "启用_插件"
-
-#~ msgid "Rtai"
-#~ msgstr "Rtai"
-
-#~ msgid "rtai_config"
-#~ msgstr "rtai_config"
-
-#~ msgid ""
-#~ "\n"
-#~ "An error has occurred.\n"
-#~ "\n"
-#~ "Click OK to save an error report.\n"
-#~ "\n"
-#~ "Please contact LOLITech at:\n"
-#~ "+33 (0)3 29 57 60 42\n"
-#~ "bugs_PLCOpenEditor@lolitech.fr\n"
-#~ "\n"
-#~ "\n"
-#~ "Error:\n"
-#~ msgstr ""
-#~ "\n"
-#~ "一个错误发生了。\n"
-#~ "\n"
-#~ "点击确定以保存一个错误报告。\n"
-#~ "\n"
-#~ "edouard.tisserant@gmail.com\n"
-#~ "\n"
-#~ "\n"
-#~ "错误:\n"
-
-#~ msgid " (Debug)"
-#~ msgstr " (调试)"
-
-#~ msgid "Add a new data type"
-#~ msgstr "添加一个新的数据类型"
-
-#~ msgid "Add new configuration"
-#~ msgstr "添加新配置"
-
-#~ msgid "Add new resource"
-#~ msgstr "添加新源"
-
-#~ msgid "Block Types"
-#~ msgstr "块类型"
-
-#~ msgid "CSV Log"
-#~ msgstr "逗号分隔值文件日志"
-
-#~ msgid "Close\tCTRL+Q"
-#~ msgstr "关闭\tCTRL+Q"
-
-#~ msgid "Copy\tCTRL+C"
-#~ msgstr "复制\tCTRL+C"
-
-#~ msgid "Create a new POU from"
-#~ msgstr "新建一个POU从"
-
-#~ msgid "Cut\tCTRL+X"
-#~ msgstr "剪切\tCTRL+X"
-
-#~ msgid "Delete Task"
-#~ msgstr "删除任务"
-
-#~ msgid "Graphic Panel"
-#~ msgstr "图形面板"
-
-#~ msgid "Instances"
-#~ msgstr "实例"
-
-#~ msgid "Invalid value \"%s\" for location"
-#~ msgstr "因地点而无效\"%s\""
-
-#~ msgid "No"
-#~ msgstr "否"
-
-#~ msgid "PLCOpenEditor\tF1"
-#~ msgstr "PLCOpen编辑器\tF1"
-
-#~ msgid "Paste\tCTRL+V"
-#~ msgstr "粘贴\tCTRL+V"
-
-#~ msgid "Please enter configuration name"
-#~ msgstr "请输入配置名"
-
-#~ msgid "Please enter data type name"
-#~ msgstr "请输入数据类型名"
-
-#~ msgid "Please enter resource name"
-#~ msgstr "请输入源名"
-
-#~ msgid "Please enter text"
-#~ msgstr "请输入文本"
-
-#~ msgid "Redo\tCTRL+Y"
-#~ msgstr "重做\tCTRL+Y"
-
-#~ msgid "Refresh\tCTRL+R"
-#~ msgstr "重新载入\tCTRL+R"
-
-#~ msgid "Scaling:"
-#~ msgstr "比例:"
-
-#~ msgid "Types"
-#~ msgstr "类型"
-
-#~ msgid "Undo\tCTRL+Z"
-#~ msgstr "撤消\tCTRL+Z"
-
-#~ msgid "X Scale:"
-#~ msgstr "X 坐标:"
-
-#~ msgid "Y Scale:"
-#~ msgstr "Y 坐标:"
-
-#~ msgid "Yes"
-#~ msgstr "是"
-
-#~ msgid "#define %s beremiz%s\n"
-#~ msgstr "#定义 %s beremiz%s\n"
-
-#~ msgid "/* Beremiz c_ext plugin user variables definition */\n"
-#~ msgstr "/* Beremiz c_ext 插件的用户变量定义  */\n"
-
-#~ msgid "/* Beremiz plugin functions */\n"
-#~ msgstr "/* Beremiz插件功能 */\n"
-
-#~ msgid ""
-#~ "/* Code generated by Beremiz c_ext plugin */\n"
-#~ "\n"
-#~ msgstr ""
-#~ "/* 代码由Beremiz c_ext插件生成 */\n"
-#~ "\n"
-
-#~ msgid "/* User includes */\n"
-#~ msgstr "/* 用户包含 */\n"
-
-#~ msgid "/* User internal user variables and routines */\n"
-#~ msgstr "/* 用户内部用户变量和例程 */\n"
-
-#~ msgid "/* User variables reference */\n"
-#~ msgstr "/* 用户变量参照 */\n"
-
-#~ msgid "Choose a XML file"
-#~ msgstr "选择一个XML文件"
-
-#~ msgid "No corresponding output variable found on SVGUI Block \"%s\""
-#~ msgstr "没有相应的输出变量"
-
-#~ msgid "No such XML file: %s\n"
-#~ msgstr "没有这样的XML文件:%s\n"
-
-#~ msgid "Shortcuts created."
-#~ msgstr "快捷方式已被建立。"
-
-#~ msgid "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-#~ msgstr "<?xml 版本=\"1.0\" 编码=\"UTF-8\"?>\n"
-
-#~ msgid "A pou with \"%s\" for name exists!"
-#~ msgstr "一个以\"%s\"命名的的编程组织单元已经存在!"
-
-#~ msgid ""
-#~ "A variable is defined with \"%s\" as name. It can generate a conflict. Do "
-#~ "you wish to continue?"
-#~ msgstr "一个变量被定义 \"%s\" 为名称。它会导致冲突。你希望继续吗?"
-
-#~ msgid "A variable with \"%s\" as name exists in this pou!"
-#~ msgstr "一个以\"%s\"命名的变量在这个编程组织单元中已经存在!"
-
-#~ msgid "A variable with \"%s\" as name exists!"
-#~ msgstr "一个以\"%s\"命名的变量已经存在!"
-
-#~ msgid "Create A New POU From"
-#~ msgstr "新建一个POU从"
-
-#~ msgid "Create a new project"
-#~ msgstr "新建一个项目"
-
-#~ msgid "Printing"
-#~ msgstr "打印"
-
-#~ msgid ""
-#~ "Ratio monitor\n"
-#~ "The ratio_monitor function block checks that one process value PV1 is "
-#~ "always a given ratio (defined by input RATIO) of a second process value "
-#~ "PV2."
-#~ msgstr ""
-#~ "比监视器\n"
-#~ "比监视器功能块检查一个步骤值PV1总是被比较于(被输入的比定义)第二个步骤"
-#~ "值。"
-
-#~ msgid "ValueError"
-#~ msgstr "值错误"
-
-#~ msgid "You can't paste the element in buffer here!"
-#~ msgstr "你不能在这缓冲区中粘贴元素!"
+msgstr "禁止_扩展"
+
+msgid "%(codefile_name)s"
+msgstr "%(codefile_name)s"
+
+msgid "variables"
+msgstr "变量"
+
+msgid "variable"
+msgstr "变量"
+
+msgid "name"
+msgstr "名字"
+
+msgid "type"
+msgstr "类型"
+
+msgid "class"
+msgstr "类"
+
+msgid "initial"
+msgstr "初始的"
+
+msgid "desc"
+msgstr "降序(desc)"
+
+msgid "onchange"
+msgstr "事件(onchange)"
+
+msgid "opts"
+msgstr "挑选(opts)"
+
+#: Extra TC6 documentation strings
+msgid "0 - current time, 1 - load time from PDT"
+msgstr "0 - 当前时间, 1 - 从PDT下载时间"
+
+msgid "Preset datetime"
+msgstr "当前日期"
+
+msgid "Copy of IN"
+msgstr "IN的复制"
+
+msgid "Datetime, current or relative to PDT"
+msgstr "日期时间,当前的或者PDT相对的"
+
+msgid ""
+"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 "实时时钟大量用于包含时间戳,设置在批处理报告,报警信息等中的日期和日中的时间,"
+
+msgid "1 = integrate, 0 = hold"
+msgstr "1 = 积分, 0 = 保持"
+
+msgid "Overriding reset"
+msgstr "压倒一切的复位"
+
+msgid "Input variable"
+msgstr "输入变量"
+
+msgid "Initial value"
+msgstr "初始值"
+
+msgid "Sampling period"
+msgstr "采样周期"
+
+msgid "NOT R1"
+msgstr "NOT R1"
+
+msgid "Integrated output"
+msgstr "积分输出"
+
+msgid ""
+"The integral function block integrates the value of input XIN over time."
+msgstr "积分功能块集成了一段时间输入XIN的值"
+
+msgid "0 = reset"
+msgstr "0 = 复位"
+
+msgid "Input to be differentiated"
+msgstr "微分输入"
+
+msgid "Differentiated output"
+msgstr "微分输出"
+
+msgid ""
+"The derivative function block produces an output XOUT proportional to the "
+"rate of change of the input XIN."
+msgstr "微分功能块处理一个输出XOUT 比例于输入XIN的变化率."
+
+msgid "0 - manual , 1 - automatic"
+msgstr "0 - 手动, 1 - 自动"
+
+msgid "Process variable"
+msgstr "过程变量"
+
+msgid "Set point"
+msgstr "设置点"
+
+msgid "Manual output adjustment - Typically from transfer station"
+msgstr "手动输出调节 - 通常来自中转站"
+
+msgid "Proportionality constant"
+msgstr "比例常数"
+
+msgid "Reset time"
+msgstr "复位时间"
+
+msgid "Derivative time constant"
+msgstr "微分时间常数"
+
+msgid "PV - SP"
+msgstr "PV - SP"
+
+msgid "FB for integral term"
+msgstr "积分项的FB"
+
+msgid "FB for derivative term"
+msgstr "微分项的FB"
+
+msgid ""
+"The PID (proportional, Integral, Derivative) function block provides the "
+"classical three term controller for closed loop control."
+msgstr "PID(比例,积分,微分)功能块提供经典的三项控制器,实现闭环控制。"
+
+msgid "0 - track X0, 1 - ramp to/track X1"
+msgstr "0 - 追踪X0, 1 - 斜坡/追踪X1"
+
+msgid "Ramp duration"
+msgstr "斜坡时间"
+
+msgid "BUSY = 1 during ramping period"
+msgstr "BUSY = 1 在加速期"
+
+msgid "Elapsed time of ramp"
+msgstr "斜坡经过时间"
+
+msgid "The RAMP function block is modelled on example given in the standard."
+msgstr "(RAMP)斜坡功能块是根据标准中给出的示例建模的。"
+
+msgid ""
+"The hysteresis function block provides a hysteresis boolean output driven by"
+" the difference of two floating point (REAL) inputs XIN1 and XIN2."
+msgstr "迟滞功能块提供一个两个差异的浮点(实数)输入XIN1和XIN2驱动的迟滞布尔输出。"
+
+msgid "The SR bistable is a latch where the Set dominates."
+msgstr "SR双稳态是一个置位有限锁存器"
+
+msgid "The RS bistable is a latch where the Reset dominates."
+msgstr "RS双稳态是一个复位优先锁存器"
+
+msgid ""
+"The semaphore provides a mechanism to allow software elements mutually "
+"exclusive access to certain ressources."
+msgstr "信号量提供一种机制,允许软件元素互斥排他的访问某一资源。"
+
+msgid "The output produces a single pulse when a rising edge is detected."
+msgstr "当检测到一个上升沿时,输出产生一个单独的脉冲。"
+
+msgid "The output produces a single pulse when a falling edge is detected."
+msgstr "当检测到下降沿时,输出产生一个单独的脉冲。"
+
+msgid ""
+"The up-counter can be used to signal when a count has reached a maximum "
+"value."
+msgstr "当计数值达到最大值时,加计数器能被用来产生信号。"
+
+msgid ""
+"The down-counter can be used to signal when a count has reached zero, on "
+"counting down from a preset value."
+msgstr "当计数值从一个预设值减到0,减计数器能被用来产生信号。"
+
+msgid ""
+"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 "加减计数器有2个输入CU和CD,能被用来同时在一个输入上加计数在另一个上减计数。"
+
+msgid "first input parameter"
+msgstr "第一个输入参数"
+
+msgid "second input parameter"
+msgstr "第二个输入参数"
+
+msgid "first output parameter"
+msgstr "第一个输出参数"
+
+msgid "second output parameter"
+msgstr "第二个输出参数"
+
+msgid "internal state: 0-reset, 1-counting, 2-set"
+msgstr "内部状态:0-复位, 1-计数,2-设置"
+
+msgid ""
+"The pulse timer can be used to generate output pulses of a given time "
+"duration."
+msgstr "脉冲定时器能够被用来产生给定持续时间的输出脉冲"
+
+msgid ""
+"The on-delay timer can be used to delay setting an output true, for fixed "
+"period after an input becomes true."
+msgstr "接通延迟定时器能被用来延迟设置一个输出为TRUE,当输入为TRUE时,经过固定的时间,"
+
+msgid ""
+"The off-delay timer can be used to delay setting an output false, for fixed "
+"period after input goes false."
+msgstr "断开延迟定时器能被用来延迟设置一个输出为FALSE,当输入到FALSE后经过一个固定的时间。"