diff -r 74a3f4d5f407 -r da138c5a3063 i18n/Beremiz_zh_CN.po --- 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 , 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 , 2017 +# frank guan , 2017 +# Tango_Wu , 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 \n" -"Language-Team: LANGUAGE \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 , 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 "\n" -#~ msgstr "\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后经过一个固定的时间。"