# Chinese message file for YaST2 (@memory@)
# Copyright (C) 2005 SUSE Linux Products GmbH.
# Copyright (C) 2002 SuSE Linux AG.
# Copyright (C) 2001 SuSE GmbH.
#
msgid ""
msgstr ""
"Project-Id-Version: base\n"
"Report-Msgid-Bugs-To: i18n@suse.de\n"
"POT-Creation-Date: 2005-04-01 14:07-0800\n"
"PO-Revision-Date: 2005-03-09 13:54+0100\n"
"Last-Translator: Novell Language <language@novell.com>\n"
"Language-Team: Novell Language <language@novell.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: KBabel 1.9\n"

msgid "Setting %s to complain mode."
msgstr ""

msgid "Setting %s to enforce mode."
msgstr ""

msgid "Profile"
msgstr ""

msgid "Default Hat"
msgstr ""

msgid "Requested Hat"
msgstr ""

msgid "Abandoning all changes."
msgstr ""

msgid "Saving all changes."
msgstr ""

msgid "Execute"
msgstr ""

msgid "(I)nherit"
msgstr ""

msgid "(P)rofile"
msgstr ""

msgid "(U)nconfined"
msgstr ""

msgid "(D)eny"
msgstr ""

msgid "Abo(r)t"
msgstr ""

msgid "(F)inish"
msgstr ""

msgid "Reading log entries from %s."
msgstr ""

msgid "Updating subdomain profiles in %s."
msgstr ""

msgid "Complain-mode changes:"
msgstr ""

msgid "Enforce-mode changes:"
msgstr ""

msgid "Invalid mode found: %s"
msgstr ""

msgid "Capability"
msgstr ""

msgid "(A)llow"
msgstr ""

msgid "Adding capability %s to profile."
msgstr ""

msgid "Denying capability %s to profile."
msgstr ""

msgid "Path"
msgstr ""

msgid "Old Mode"
msgstr ""

msgid "New Mode"
msgstr ""

msgid "(N)ew"
msgstr ""

msgid "(G)lob"
msgstr ""

msgid "Glob w/(E)xt"
msgstr ""

msgid "Adding #include <%s> to profile."
msgstr ""

msgid "Deleted %s previous matching profile entries."
msgstr ""

msgid "Adding %s %s to profile."
msgstr ""

msgid "Enter new path: "
msgstr ""

msgid "The specified path does not match this log entry:"
msgstr ""

msgid "Log Entry"
msgstr ""

msgid "Entered Path"
msgstr ""

msgid "Do you really want to use this path?"
msgstr ""

msgid "Profile %s contains invalid regexp %s."
msgstr ""

msgid "Writing updated profile for %s."
msgstr ""

msgid "&Browse"
msgstr ""

msgid "&Create Profile"
msgstr ""

msgid "&Yes"
msgstr ""

msgid "&No"
msgstr ""

msgid "&Abort"
msgstr ""

msgid "&Back"
msgstr ""

msgid "(Y)es"
msgstr ""

msgid "(N)o"
msgstr ""

msgid ""
"Please start the application to be profiled in \n"
"another window and exercise its functionality now.\n"
"\n"
"Once completed, select the \"Scan\" button below in \n"
"order to scan the system logs for AppArmor events.  \n"
"\n"
"For each AppArmor event, you will be given the  \n"
"opportunity to choose whether the access should be  \n"
"allowed or denied."
msgstr ""

msgid "Can't find %s."
msgstr ""

msgid ""
"The profile analyzer has completed processing the log files.\n"
"\n"
"All updated profiles will be reloaded"
msgstr ""

msgid "No unhandled AppArmor events were found in the system log."
msgstr ""

msgid "%s contains syntax errors."
msgstr ""

msgid ""
"The version of AppArmor that you are running does not allow the\n"
"creation of this profile.  Please contact Novell sales for\n"
"upgrade options for AppArmor."
msgstr ""

msgid "Severity"
msgstr ""

msgid ""
"%s is currently marked as a program that should not have it's own profile.  "
"Usually, programs are marked this way if creating a profile for them is "
"likely to break the rest of the system.  If you know what you're doing and "
"are certain you want to create a profile for this program, edit the "
"corresponding entry in the [qualifiers] section in /etc/apparmor/logprof."
"conf."
msgstr ""

#, fuzzy
msgid "Profile for %s already exists - skipping."
msgstr "简报已存在\n"

msgid "Are you sure you want to abandon this set of profile changes and exit?"
msgstr ""

msgid ""
"Are you sure you want to save the current set of profile changes and exit?"
msgstr ""

msgid ""
"Launching processes in an unconfined state is a very\n"
"dangerous operation and cause serious security holes.\n"
"\n"
"Are you absolutely certain you wish to remove all\n"
"AppArmor protection when executing %s?"
msgstr ""

msgid ""
"SubDomain does not appear to be started.  Please enable SubDomain and try "
"again."
msgstr ""

msgid "Please enter the program to profile: "
msgstr ""

msgid "%s does not exist, please double-check the path."
msgstr ""

msgid ""
"Can't find %s in the system path list.  If the name of the application is "
"correct, please run 'which %s' in the other window in order to find the "
"fully-qualified path."
msgstr ""

msgid "(S)can system log for SubDomain events"
msgstr ""

msgid ""
"usage: %s [ -d /path/to/profiles ] [ program to switch to enforce mode ]"
msgstr ""

msgid ""
"usage: %s [ -d /path/to/profiles ] [ program to switch to complain mode ]"
msgstr ""

msgid "usage: %s [ -d /path/to/profiles ] [ program to switch to audit mode ]"
msgstr ""

msgid ""
"usage: %s [ -d /path/to/profiles ] [ -f /path/to/logfile ] [ program to "
"profile ]"
msgstr ""

msgid ""
"usage: %s [ -d /path/to/profiles ] [ -f /path/to/logfile ] [ -m \"mark in "
"log to start processing after\""
msgstr ""

msgid "Reloaded SubDomain profiles in enforce mode."
msgstr ""

msgid "Finished generating profile for %s."
msgstr ""

msgid "unknown"
msgstr ""

msgid "Include %s contains invalid regexp %s."
msgstr ""

#: ag_logparse:63 ag_logparse:83
#, fuzzy
msgid "Unable to open"
msgstr "无法打开 %s － %s\n"

#: ag_logparse:63
msgid "Couldn't save query."
msgstr ""

#: ag_logparse:83
#, fuzzy
msgid "Couldn't retrieve query."
msgstr "无法合并项。内存不足\n"

#: ag_logparse:161
msgid "# Security Incident Report - Generated by AppArmor\n"
msgstr ""

#: ag_logparse:162
#, perl-format
msgid "# Period: %s - %s\n"
msgstr ""

#: ag_logparse:166
msgid "# The following filters were used for report generation:\n"
msgstr ""

#: ag_logparse:169
#, perl-format
msgid ""
"# Filter: %s, Value: %s\n"
"\n"
msgstr ""

#: ag_logparse:173
msgid ""
"# No filters were used for report generation:\n"
"\n"
"\n"
msgstr ""

#: ag_logparse:177
msgid "<h3>Security Incident Report - Generated by AppArmor</h3>\n"
msgstr ""

#: ag_logparse:178
#, perl-format
msgid "<h4>Period: %s - %s</h4>\n"
msgstr ""

#: ag_reports_confined:104
#, perl-format
msgid "ag_reports_confined: Couldn't open %s for writing."
msgstr ""

#: ag_reports_confined:130
#, perl-format
msgid "Failure in readMultiAudLog() - couldn't open %s."
msgstr ""

#: ag_reports_confined:143
#, perl-format
msgid "Problem in readMultiAudLog() - couldn't open %s/%s."
msgstr ""

#: ag_reports_confined:177
msgid "readAudLog() wasn't passed an input file."
msgstr ""

#: ag_reports_confined:201
#, perl-format
msgid "readAudLog() couldn't open %s."
msgstr ""

#: ag_reports_confined:259
#, perl-format
msgid "Can't run %s.  Exiting."
msgstr ""

#: ag_reports_confined:295
msgid "ag_reports_confined: Missing instruction or argument!"
msgstr ""

#: ag_reports_ess:57
msgid "Failure in readMultiEssLog() - couldn't open"
msgstr ""

#: ag_reports_ess:70
msgid "Problem in readMultiEssLog() - couldn't open"
msgstr ""

#: ag_reports_ess:105
msgid "readEssLog() wasn't passed an input file."
msgstr ""

#: ag_reports_ess:129
#, perl-format
msgid "readEssLog() couldn't open %s"
msgstr ""

#: ag_reports_ess:163
#, perl-format
msgid "ag_logparse: Unknown instruction %s or argument: %s"
msgstr ""

#: ag_reports_parse:78
#, perl-format
msgid "ag_reports_parse: Couldn't open %s for writing."
msgstr ""

#: ag_reports_parse:145
msgid "ag_reports_parse: No archived reports found."
msgstr ""

#: ag_reports_parse:150
#, perl-format
msgid "ag_reports_parse: Can't open directory %s: %s"
msgstr ""

#: ag_reports_parse:187
#, perl-format
msgid "ag_reports_parse: Unknown instruction %s or argument: %s"
msgstr ""

#: ag_reports_sched:76
#, perl-format
msgid "Couldn't find %s.  Unable to create crontab.  Exiting."
msgstr ""

#: ag_reports_sched:133 ag_reports_sched:175 ag_reports_sched:253
#: ag_reports_sched:316 ag_reports_sched:323 ag_reports_sched:387
#: ag_reports_sched:394 ag_reports_sched:477 ag_reports_sched:542
#, perl-format
msgid "Couldn't open %s."
msgstr ""

#: ag_reports_sched:245
#, perl-format
msgid "Couldn't open %s.  Unable to add report: %s"
msgstr ""

#: ag_reports_sched:270
#, perl-format
msgid "Duplicate report name not allowed. Didn't schedule new report: %s"
msgstr ""

#: ag_reports_sched:583 ag_reports_sched:590
#, perl-format
msgid "Couldn't open %s.  No changes performed."
msgstr ""

#: ag_reports_sched:685
#, perl-format
msgid "ag_reports_sched: Unknown instruction %s or arg: %s"
msgstr ""

#: Reports.pm:185 Reports.pm:297 Reports.pm:1396
#, perl-format
msgid "DBI Execution failed: %s."
msgstr ""

#: Reports.pm:323
#, perl-format
msgid "Couldn't open file: %s."
msgstr ""

#: Reports.pm:327
msgid "No type value passed.  Unable to determine page count."
msgstr ""

#: Reports.pm:397
#, perl-format
msgid "Failed copying %s."
msgstr ""

#: Reports.pm:510
#, perl-format
msgid "Export Log Error: Couldn't open %s"
msgstr ""

#: Reports.pm:534
msgid "Fatal error.  No report name given. Exiting."
msgstr ""

#: Reports.pm:540
#, perl-format
msgid "Unable to get configuration info for %s.  Unable to find %s."
msgstr ""

#: Reports.pm:580
#, perl-format
msgid "Failed to parse: %s."
msgstr ""

#: Reports.pm:589
#, perl-format
msgid "Fatal Error.  Couldn't open %s."
msgstr ""

#: Reports.pm:637
#, perl-format
msgid "Fatal Error.  Can't run %s.  Exiting."
msgstr ""

#: Reports.pm:678
#, perl-format
msgid "Fatal Error.  No directory, %s, found.  Exiting."
msgstr ""

#: Reports.pm:697
#, perl-format
msgid "Fatal Error.  Couldn't open %s.  Exiting"
msgstr ""

#: Reports.pm:725 Reports.pm:738 Reports.pm:748
#, perl-format
msgid "DBI Execution failed: %s"
msgstr ""

#: Reports.pm:1502
#, perl-format
msgid "Fatal Error.  getArchReport() couldn't open %s"
msgstr ""

msgid "&Create"
msgstr ""

#: GenProf.ycp:75 LogProf.ycp:76
msgid "AppArmor Profile Wizard"
msgstr ""

#: GenProf.ycp:76
msgid ""
"     <b>AppArmor Profiling Wizard</b><br>\n"
"       This wizard presents entries generated by the AppArmor access control "
"module. You can generate highly optimized and robust security profiles by "
"using the suggestions made by AppArmor. AppArmor suggests that you allow or "
"deny access to specific resources or define execute permission for entries. "
"These questions that display were logged during the normal application "
"execution test previously performed. <br>\n"
"       The following help text describes the detail of the security profile "
"syntax used by AppArmor. <br><br>At any stage, you may customize the profile "
"entry by changing the suggested response. This overview will assist you in "
"your options. Refer to the Admin Guide for step-by-step instructions.\n"
"<br><br>\n"
"       <b>Access Modes</b><br>\n"
"\n"
"       File permission access modes consists of combinations of\n"
"       the following six modes:\n"
"\n"
"<ul>   <li>r    - read</li>\n"
"       <li>w    - write</li>\n"
"       <li>px   - discrete profile execute</li>\n"
"       <li>ux   - unconfined execute</li>\n"
"       <li>ix   - inherit execute</li>\n"
"       <li>l    - link</li>\n"
"</ul>\n"
"<p>\n"
"     <br>  <b>Details for Access Modes</b>\n"
"<br><br>\n"
"       <b>Read mode</b><br>\n"
"           Allows the program to have read access to the\n"
"           resource. Read access is required for shell scripts\n"
"           and other interpreted content, and determines if an\n"
"           executing process can core dump or be attached to with\n"
"           ptrace(2).  (ptrace(2) is used by utilities such as\n"
"           strace(1), ltrace(1), and gdb(1).)\n"
"       <br>\n"
"       <br>\n"
"       <b>Write mode</b><br>\n"
"           Allows the program to have write access to the\n"
"           resource. Files must have this permission if they are\n"
"           to be unlinked (removed.)\n"
"       <br>\n"
"       <br>\n"
"       \n"
"\n"
"       <b>Unconfined execute mode</b><br>\n"
"       \n"
"           Allows the program to execute the resource without any\n"
"           AppArmor profile being applied to the executed\n"
"           resource. Requires listing execute mode as well.\n"
"           Incompatible with Inherit and Discrete Profile execute\n"
"           entries.\n"
"       <br><br>\n"
"\n"
"           This mode is useful when a confined program needs to\n"
"           be able to perform a privileged operation, such as\n"
"           rebooting the machine. By placing the privileged section \n"
"           in another executable and granting unconfined \n"
"           execution rights, it is possible to bypass the mandatory \n"
"           constraints imposed on all confined processes.\n"
"           For more information on what is constrained, see the\n"
"           subdomain(7) man page.\n"
"<br><br>     <b>Discrete Profile execute mode</b><br>\n"
"           This mode requires that a discrete security profile is\n"
"           defined for a resource executed at a AppArmor domain\n"
"           transition.  If there is no profile defined then the\n"
"           access will be denied.  Incompatible with Inherit and\n"
"           Unconstrained execute entries.\n"
"       <br>\n"
"   <br> \n"
"    <b>Link mode</b><br>\n"
"           Allows the program to be able to create and remove a\n"
"           link with this name (including symlinks). When a link\n"
"           is created, the file that is being linked to MUST have\n"
"           the same access permissions as the link being created\n"
"           (with the exception that the destination does not have\n"
"           to have link access.) Link access is required for\n"
"           unlinking a file.\n"
"       <br>\n"
"       <br>\n"
"      <b>Globbing</b>\n"
"  <br>\n"
"       <br>\n"
"       File resources may be specified with a globbing syntax\n"
"       similar to that used by popular shells, such as csh(1),\n"
"       bash(1), zsh(1).\n"
"       <br>\n"
"\n"
"       <ul>\n"
"\t<li><b>*</b>   can substitute for any number of characters, excepting\n"
"          '/'<li>\n"
"\n"
"       \t<li><b>**</b>  can substitute for any number of characters, "
"including           '/'</li>\n"
"\n"
"\n"
"       <li><b>?</b>   can substitute for any single character excepting '/'</"
"li>\n"
"\n"
"       <li><b>[abc]</b> will substitute for the single character a, b, or c</"
"li>\n"
"\n"
"       <li><b>[a-c]</b> will substitute for the single character a, b, or c</"
"li>\n"
"\n"
"       <li><b>{ab,cd}</b> will expand to one rule to match ab, one rule to "
"match\n"
"           cd</li>\n"
"\n"
"       </ul>"
msgstr ""

#: ag_genprof:65
msgid ""
"This wizard will help you create a new AppArmor security \n"
"profile for an application, or you can use it to enhance \n"
"an existing profile by allowing AppArmor to learn new \n"
"application behavior. \n"
"\n"
"Please enter the application name for which you would like\n"
"to create a profile, or selecte Browse to find the \n"
"application on your system."
msgstr ""

#: ag_genprof:73
msgid "&Application to Profile"
msgstr ""

#: ag_genprof:76
msgid "Select Program to Profile"
msgstr ""

#: ag_genprof:95
msgid ""
"The specified file is not executable.\n"
"\n"
"Please enter an application name to\n"
"continue generating a profile or press\n"
"Abort to cancel this wizard."
msgstr ""

#: ag_genprof:102
msgid ""
"The specified pathname is a directory.\n"
"\n"
"Please enter an application name to\n"
"continue generating a profile or press\n"
"Abort to cancel this wizard."
msgstr ""

#: ag_genprof:116
msgid ""
"The specified file does not exist.\n"
"\n"
"Please enter an application name to\n"
"continue generating a profile or press\n"
"Abort to cancel this wizard."
msgstr ""

#: ag_genprof:126
msgid ""
"You have not entered or selected an\n"
"application to profile.\n"
"\n"
"Please enter an application name to\n"
"continue generating a profile or press\n"
"Abort to cancel this wizard."
msgstr ""

#: ag_genprof:144
#, perl-format
msgid ""
"%s is currently marked as a program that should not have\n"
"it's own profile.  Usually, programs are marked this way\n"
"if creating a profile for them is likely to break the\n"
"rest of the system.  If you know what you're doing and\n"
"are certain you want to create a profile for this program,\n"
"edit the corresponding entry in the [qualifiers] section\n"
"in /etc/apparmor/logprof.conf."
msgstr ""

#: ag_genprof:189
msgid "Profiling"
msgstr ""

#: ag_genprof:212
msgid "Are you sure you want to exit?"
msgstr ""

msgid "OK"
msgstr ""

msgid "&OK"
msgstr ""

#~ msgid "Error couldn't allocate temporary file\n"
#~ msgstr "错误：无法分配临时文件\n"

#~ msgid "Error: Out of Memory\n"
#~ msgstr "错误：内存不足\n"

#~ msgid "Error: Can't add directory %s to search path\n"
#~ msgstr "错误：无法添加目录 %s 到搜索路径\n"

#~ msgid "Error: Could not allocate memory\n"
#~ msgstr "错误：无法分配内存\n"

#~ msgid "Error: could not allocate buffer for include. line %d in %s\n"
#~ msgstr "错误：无法为 include 分配缓冲区。第 %d 行（在 %s 中）。\n"

#~ msgid "Error: bad include. line %d in %s\n"
#~ msgstr "错误：include 无效。第 %d 行（在 %s 中）。\n"

#~ msgid "Error: exceeded %d levels of includes.  NOT processing %s include\n"
#~ msgstr "错误：include 超过 %d 级。不处理 %s include\n"

#~ msgid "Error: #include %s%c not found. line %d in %s\n"
#~ msgstr "错误：找不到 #include %s%c。第 %d 行（在 %s 中）。\n"

#~ msgid "PANIC bad increment buffer %p pos %p ext %p size %d res %p\n"
#~ msgstr "PANIC 无效的递增缓冲区：%p pos %p ext %p size %d res %p\n"

#~ msgid "unable to create work area\n"
#~ msgstr "无法创建工作区域\n"

#~ msgid "unable to serialize profile %s\n"
#~ msgstr "无法序列化简报 %s\n"

#~ msgid "%s: Unable to write entire profile entry\n"
#~ msgstr "%s: 无法写入整个简报项\n"

#~ msgid "(ip_mode) Found unexpected character: '%s'"
#~ msgstr "(ip_mode) 发现意外字符： '%s'"

#~ msgid "Found unexpected character: '%s'"
#~ msgstr "发现意外字符： '%s'"

#~ msgid "%s: Could not allocate memory for subdomain mount point\n"
#~ msgstr "%s: 无法为子域装入点分配内存\n"

#~ msgid "%s: Could not allocate memory for subdomainbase mount point\n"
#~ msgstr "%s: 无法为子域基底装入点分配内存\n"

#~ msgid ""
#~ "%s: Sorry. You need root priveleges to run this program.\n"
#~ "\n"
#~ msgstr ""
#~ "%s: 抱歉。您需要 root 用户特权来运行此程序。\n"
#~ "\n"

#~ msgid ""
#~ "%s: Warning! You've set this program setuid root.\n"
#~ "Anybody who can run this program can update your SubDomain profiles.\n"
#~ "\n"
#~ msgstr ""
#~ "%s: 警告！您已将此程序的 setuid 设置为 root。\n"
#~ "任何可以运行此程序的人都能更新您的子域简报。\n"
#~ " \n"

#~ msgid ""
#~ "%s: Unable to query modules - '%s'\n"
#~ "Either modules are disabled or your kernel is too old.\n"
#~ msgstr ""
#~ "%s: 无法查询模块 －'%s'\n"
#~ "模块被禁用或内核过旧。\n"

#~ msgid "%s: Unable to find "
#~ msgstr "%s: 无法找到"

#~ msgid ""
#~ "!\n"
#~ "Ensure that it has been loaded.\n"
#~ msgstr ""
#~ "!\n"
#~ "确保其已装载。\n"

#~ msgid "%s: Errors found in file. Aborting.\n"
#~ msgstr "%s: 文件中发现错误。正在中止。\n"

#~ msgid "%s: Errors found in combining rules postprocessing. Aborting.\n"
#~ msgstr "%s: 在组合规则后处理中发现错误。正在中止。\n"

#~ msgid "%s: Errors found during regex postprocess. Aborting.\n"
#~ msgstr "%s: 在 Regex 后处理中发现错误。正在中止。\n"

#~ msgid "profile %s: has merged rule %s with multiple x modifiers\n"
#~ msgstr "简报 %s：已将规则 %s 和多个 x 修改程序并合\n"

#~ msgid "ERROR in profile %s, failed to load\n"
#~ msgstr "简报 %s 中存在错误，未能装载\n"

#~ msgid "Bad write position\n"
#~ msgstr "写入位置无效\n"

#~ msgid "Permission denied\n"
#~ msgstr "拒绝许可权限\n"

#~ msgid "Out of memory\n"
#~ msgstr "内存不足\n"

#~ msgid "Couldn't copy profile Bad memory address\n"
#~ msgstr "无法复制简报，内存地址无效\n"

#~ msgid "Profile doesn't conform to protocol\n"
#~ msgstr "简报未遵守协议\n"

#~ msgid "Profile does not match signature\n"
#~ msgstr "简报和签名不匹配\n"

#~ msgid "Profile version not supported\n"
#~ msgstr "简报版本不受支持\n"

#~ msgid "Profile doesn't exist\n"
#~ msgstr "简报不存在\n"

#~ msgid "Unknown error\n"
#~ msgstr "未知错误\n"

#~ msgid "%s: Unable to add \"%s\".  "
#~ msgstr "%s: 无法添加\"%s\"。"

#~ msgid "%s: Unable to replace \"%s\".  "
#~ msgstr "%s: 无法替换\"%s\"。"

#~ msgid "%s: Unable to remove \"%s\".  "
#~ msgstr "%s: 无法去除\"%s\"。"

#~ msgid "%s: Unable to write to stdout\n"
#~ msgstr "%s: 无法写入 stdout\n"

#~ msgid "%s: ASSERT: Invalid option: %d\n"
#~ msgstr "%s: 声明：无效选项： %d\n"

#~ msgid "Addition succeeded for \"%s\".\n"
#~ msgstr "添加\"%s\"成功。\n"

#~ msgid "Replacement succeeded for \"%s\".\n"
#~ msgstr "替换\"%s\"成功。\n"

#~ msgid "Removal succeeded for \"%s\".\n"
#~ msgstr "去除\"%s\"成功。\n"

#~ msgid "Memory allocation error."
#~ msgstr "内存分配错误。"

#~ msgid ""
#~ "Default allow subdomains are no longer supported, sorry. (domain: %s)"
#~ msgstr "抱歉，不再支持默认允许的子域。（域：%s）"

#~ msgid ""
#~ "Default allow subdomains are no longer supported, sorry. (domain: %s^%s)"
#~ msgstr "抱歉，不再支持默认允许的子域。（域：%s^%s）"

#~ msgid "Assert: `rule' returned NULL."
#~ msgstr "声明：`rule'返回 NULL。"

#~ msgid "Assert: `netrule' returned NULL."
#~ msgstr "声明：`netrule'返回 NULL。"

#~ msgid "Assert: 'hat rule' returned NULL."
#~ msgstr "声明：'hat rule'返回 NULL。"

#~ msgid "md5 signature given without execute privilege."
#~ msgstr "给定的 Md5 签名没有执行特权。"

#~ msgid "missing an end of line character? (entry: %s)"
#~ msgstr "是否缺少行结束字符？（项：%s）"

#~ msgid ""
#~ "Negative subdomain entries are no longer supported, sorry. (entry: %s)"
#~ msgstr "抱歉，不再支持负的子域项。（项：%s）"

#~ msgid "Assert: `addresses' returned NULL."
#~ msgstr "声明：`addresses'返回 NULL。"

#~ msgid "Network entries can only have one TO address."
#~ msgstr "网络项只能有一个 TO 地址。"

#~ msgid "Network entries can only have one FROM address."
#~ msgstr "网络项只能有一个 FROM 地址。"

#~ msgid "`%s' is not a valid ip address."
#~ msgstr "`%s'不是有效的 IP 地址。"

#~ msgid "`/%d' is not a valid netmask."
#~ msgstr "`/%d'不是有效的网络掩码。"

#~ msgid "`%s' is not a valid netmask."
#~ msgstr "`%s'不是有效的网络掩码。"

#~ msgid "ports must be between %d and %d"
#~ msgstr "端口必须在 %d 和 %d 之间"

#~ msgid "Subdomain parser error, line %d: %s\n"
#~ msgstr "子域语法分析错误，第 %d 行： %s\n"

#~ msgid "Exec qualifier 'i' must be followed by 'x'"
#~ msgstr "Exec 限定符'i'必须后面跟有'x'"

#~ msgid "Exec qualifier 'i' invalid, conflicting qualifier already specified"
#~ msgstr "Exec 限定符'i'无效，已指定了和其冲突的限定符"

#~ msgid "Exec qualifier 'u' must be followed by 'x'"
#~ msgstr "Exec 限定符'u'必须后面跟有'x'"

#~ msgid "Exec qualifier 'u' invalid, conflicting qualifier already specified"
#~ msgstr "Exec 限定符'u'无效，已指定了和其冲突的限定符"

#~ msgid "Exec qualifier 'p' must be followed by 'x'"
#~ msgstr "Exec 限定符'p'必须后面跟有'x'"

#~ msgid "Exec qualifier 'p' invalid, conflicting qualifier already specified"
#~ msgstr "Exec 限定符'p'无效，已指定了和其冲突的限定符。"

#~ msgid "Invalid mode, 'x' must be preceded by exec qualifier 'i', 'u' or 'p'"
#~ msgstr "无效方式，'x'前面必须带有 exec 限定符'i'、'u'或'p'"

#~ msgid "Internal: unexpected mode character in input"
#~ msgstr "内部：输入中有意外方式字符"

#~ msgid "%s: Illegal open {, nesting groupings not allowed\n"
#~ msgstr "%s: 不合法的左侧大括号 {，不允许嵌套分组\n"

#~ msgid "%s: Regex grouping error: Invalid number of items between {}\n"
#~ msgstr "%s: Regex 分组错误：{} 内的项目数无效\n"

#~ msgid ""
#~ "%s: Regex grouping error: Invalid close }, no matching open { detected\n"
#~ msgstr ""
#~ "%s: Regex 分组错误：无效的右侧花括号 }，未检测到匹配的左侧花括号 {\n"

#~ msgid "%s: Regex grouping error: Unclosed grouping, expecting close }\n"
#~ msgstr "%s: Regex 分组错误：未关闭的分组，正在等待关闭}\n"

#~ msgid "%s: Internal buffer overflow detected, %d characters exceeded\n"
#~ msgstr "%s: 检测到内部缓冲区溢出，超过 %d 个字符\n"

#~ msgid "%s: Unable to parse input line '%s'\n"
#~ msgstr "%s: 无法对输入行'%s'进行语法分析\n"

#~ msgid "%s: Failed to compile regex '%s' [original: '%s']\n"
#~ msgstr "%s: 未能编译 regex'%s'[原始：'%s']\n"

#~ msgid "%s: error near               "
#~ msgstr "%s: 错误接近"

#~ msgid "%s: error reason: '%s'\n"
#~ msgstr "%s: 错误原因： '%s'\n"

#~ msgid "%s: Failed to compile regex '%s' [original: '%s'] - malloc failed\n"
#~ msgstr "%s: 未能编译 regex'%s'[原始：'%s'] － malloc 失败\n"

#~ msgid "%s: Subdomain '%s' defined, but no parent '%s'.\n"
#~ msgstr "%s: 已定义子域'%s'，但没有父域'%s'。\n"

#~ msgid "%s: Two SubDomains defined for '%s'.\n"
#~ msgstr "%s: 为'%s'定义了两个子域。\n"

#~ msgid "Warning (line %d): "
#~ msgstr "警告（第 %d 行）："
