# Copyright (C) 2006 SuSE Linux Products GmbH, Nuernberg # This file is distributed under the same license as the package. # msgid "" msgstr "" "Project-Id-Version: apparmor-parser\n" "Report-Msgid-Bugs-To: apparmor-general@forge.novell.com\n" "POT-Creation-Date: 2006-09-26 13:01-0600\n" "PO-Revision-Date: 2006-11-02 14:21\n" "Last-Translator: Novell Language \n" "Language-Team: Novell Language \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../parser_include.c:95 #, c-format msgid "Error: Could not read profile %s: %s.\n" msgstr "错误:无法读取配置文件 %s:%s。\n" #: ../parser_include.c:114 msgid "Error: Could not allocate temporary file.\n" msgstr "错误:无法分配临时文件。\n" #: ../parser_include.c:165 msgid "Error: Out of memory.\n" msgstr "错误:内存不足。\n" #: ../parser_include.c:175 #, c-format msgid "Error: basedir %s is not a directory, skipping.\n" msgstr "错误:basedir %s 不是目录,正在跳过。\n" #: ../parser_include.c:189 #, c-format msgid "Error: Could not add directory %s to search path.\n" msgstr "错误:无法将目录 %s 添加到搜索路径。\n" #: ../parser_include.c:199 msgid "Error: Could not allocate memory.\n" msgstr "错误:无法分配内存。\n" #: ../parser_include.c:332 #, c-format msgid "Error: Could not allocate buffer for include at line %d in %s.\n" msgstr "错误:无法为 %2$s 中行 %1$d 处的 include 分配缓冲区。\n" #: ../parser_include.c:348 ../parser_include.c:368 #, c-format msgid "Error: Bad include at line %d in %s.\n" msgstr "错误:%2$s 中行 %1$d 处的 include 错误。\n" #: ../parser_include.c:398 #, c-format msgid "Error: Exceeded %d levels of includes. Not processing %s include.\n" msgstr "错误:include 超过 %d 层。不处理 %s include。\n" #: ../parser_include.c:423 #, c-format msgid "Error: #include %s%c not found at line %d in %s.\n" msgstr "错误:未在 %4$s 中的行 %3$d 处找到 #include %1$s%2$c。\n" #: ../parser_interface.c:65 msgid "Bad write position\n" msgstr "写入位置无效\n" #: ../parser_interface.c:68 msgid "Permission denied\n" msgstr "拒绝许可权限\n" #: ../parser_interface.c:71 msgid "Out of memory\n" msgstr "内存不足\n" #: ../parser_interface.c:74 msgid "Couldn't copy profile Bad memory address\n" msgstr "无法复制配置文件,内存地址无效\n" #: ../parser_interface.c:77 msgid "Profile doesn't conform to protocol\n" msgstr "配置文件未遵守协议\n" #: ../parser_interface.c:80 msgid "Profile does not match signature\n" msgstr "配置文件和签名不匹配\n" #: ../parser_interface.c:83 msgid "Profile version not supported by Apparmor module\n" msgstr "配置文件版本不受 Apparmor 模块支持\n" #: ../parser_interface.c:86 msgid "Profile already exists\n" msgstr "配置文件已存在\n" #: ../parser_interface.c:89 msgid "Profile doesn't exist\n" msgstr "配置文件不存在\n" #: ../parser_interface.c:92 msgid "Unknown error\n" msgstr "未知错误\n" #: ../parser_interface.c:109 #, c-format msgid "%s: Unable to add \"%s\". " msgstr "%s: 无法添加\"%s\"。" #: ../parser_interface.c:114 #, c-format msgid "%s: Unable to replace \"%s\". " msgstr "%s: 无法替换\"%s\"。" #: ../parser_interface.c:119 #, c-format msgid "%s: Unable to remove \"%s\". " msgstr "%s: 无法去除\"%s\"。" #: ../parser_interface.c:124 #, c-format msgid "%s: Unable to write to stdout\n" msgstr "%s: 无法写入 stdout\n" #: ../parser_interface.c:128 ../parser_interface.c:151 #, c-format msgid "%s: ASSERT: Invalid option: %d\n" msgstr "%s: 声明:无效选项: %d\n" #: ../parser_interface.c:137 #, c-format msgid "Addition succeeded for \"%s\".\n" msgstr "添加\"%s\"成功。\n" #: ../parser_interface.c:141 #, c-format msgid "Replacement succeeded for \"%s\".\n" msgstr "替换\"%s\"成功。\n" #: ../parser_interface.c:145 #, c-format msgid "Removal succeeded for \"%s\".\n" msgstr "去除\"%s\"成功。\n" #: ../parser_interface.c:236 #, c-format 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" #: ../parser_interface.c:644 #, c-format msgid "Unable to open %s - %s\n" msgstr "无法打开 %s - %s\n" #: ../parser_interface.c:661 msgid "unable to create work area\n" msgstr "无法创建工作区域\n" #: ../parser_interface.c:669 #, c-format msgid "unable to serialize profile %s\n" msgstr "无法序列化配置文件 %s\n" #: ../parser_interface.c:679 #, c-format msgid "%s: Unable to write entire profile entry\n" msgstr "%s: 无法写入整个配置文件项\n" #: parser_lex.l:119 parser_lex.l:221 parser_lex.l:347 #, c-format msgid "Found unexpected character: '%s'" msgstr "发现意外字符: '%s'" #: parser_lex.l:159 #, c-format msgid "(ip_mode) Found unexpected character: '%s'" msgstr "(ip_mode) 发现意外字符: '%s'" #: parser_lex.l:174 #, c-format msgid "Unexpected character in interface name: '%s'" msgstr "接口名称中有意外字符:“%s”" #: parser_lex.l:213 #, c-format msgid "Found unknown flag: '%s'" msgstr "找到未知标记:“%s”" #: parser_lex.l:326 #, c-format msgid "Found unexpected keyword: '%s'" msgstr "找到意外关键字:“%s”" #: ../parser_main.c:131 #, c-format msgid "Warning (%s line %d): %s" msgstr "警告(%s 的行 %d):%s" #: ../parser_main.c:255 #, c-format msgid "%s: Could not allocate memory for subdomainbase mount point\n" msgstr "%s: 无法为子域基底装入点分配内存\n" #: ../parser_main.c:274 #, c-format msgid "" "Warning: unable to open %s, attempting to use %s\n" "as the subdomainfs location. Use --subdomainfs to override.\n" msgstr "" "警告:无法打开 %s,正尝试将 %s\n" "用作 subdomainfs 位置。请使用 --subdomainfs 覆盖。\n" #: ../parser_main.c:305 #, c-format msgid "" "Warning: unable to find a suitable fs in %s, is it mounted?\n" "Attempting to use %s as the subdomainfs location.\n" "Use --subdomainfs to override.\n" msgstr "" "警告:无法在 %s 中找到适用的文件系统,是否已挂装文件系统?\n" "正在尝试将 %s 用作 subdomainfs 位置。\n" "请使用 --subdomainfs 覆盖。\n" #: ../parser_main.c:347 #, c-format msgid "" "%s: Unable to query modules - '%s'\n" "Either modules are disabled or your kernel is too old.\n" msgstr "" "%s: 无法查询模块 -'%s'\n" "模块被禁用或内核过旧。\n" #: ../parser_main.c:352 #, c-format msgid "%s: Unable to find " msgstr "%s: 无法找到" #: ../parser_main.c:352 msgid "" "!\n" "Ensure that it has been loaded.\n" msgstr "" "!\n" "确保其已装载。\n" #: ../parser_main.c:368 #, c-format msgid "" "%s: Sorry. You need root privileges to run this program.\n" "\n" msgstr "" "%s:很抱歉。您需要 root 权限来运行此程序。\n" "\n" #: ../parser_main.c:375 #, c-format msgid "" "%s: Warning! You've set this program setuid root.\n" "Anybody who can run this program can update your AppArmor profiles.\n" "\n" msgstr "" "%s:警告!您已将此程序设置为 setuid root。\n" "运行此程序的所有用户都可以更新您的 AppArmor 配置文件。\n" "\n" #: ../parser_main.c:442 #, c-format msgid "%s: Errors found in file. Aborting.\n" msgstr "%s: 文件中发现错误。正在中止。\n" #: ../parser_misc.c:269 msgid "" "Uppercase qualifiers \"RWLIMX\" are deprecated, please convert to lowercase\n" "See the apparmor.d(5) manpage for details.\n" msgstr "" "不支持大写限定符“RWLIMX”,请转换为小写\n" " 请参阅 apparmor.d(5) 手册页以获取详细信息。\n" #: ../parser_misc.c:313 msgid "Exec qualifier 'i' must be followed by 'x'" msgstr "Exec 限定符'i'必须后面跟有'x'" #: ../parser_misc.c:315 msgid "Exec qualifier 'i' invalid, conflicting qualifier already specified" msgstr "Exec 限定符'i'无效,已指定了和其冲突的限定符" #: ../parser_misc.c:327 #, c-format msgid "Unconstrained exec qualifier (%c%c) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details.\n" msgstr "未限制的 exec 限定符(%c%c)允许向未限制进程传递危险环境变量;请使用“man 5 apparmor.d”以获取详细信息。\n" #: ../parser_misc.c:334 ../parser_misc.c:355 #, c-format msgid "Exec qualifier '%c' must be followed by 'x'" msgstr "Exec 限定符“%c”必须后跟“x”" #: ../parser_misc.c:337 ../parser_misc.c:358 #, c-format msgid "Exec qualifier '%c' invalid, conflicting qualifier already specified" msgstr "Exec 限定符“%c”无效,指定的限定符冲突" #: ../parser_misc.c:376 msgid "Invalid mode, 'x' must be preceded by exec qualifier 'i', 'p', or 'u'" msgstr "无效模式,“x”必须在 exec 限定符“i”、“p”或“u”之后" #: ../parser_misc.c:396 #, c-format msgid "Internal: unexpected mode character '%c' in input" msgstr "内部:输入中有意外模式字符“%c”" #: ../parser_misc.c:426 parser_yacc.y:222 parser_yacc.y:315 parser_yacc.y:327 #: parser_yacc.y:387 parser_yacc.y:521 parser_yacc.y:533 parser_yacc.y:553 #: parser_yacc.y:591 parser_yacc.y:623 parser_yacc.y:637 parser_yacc.y:651 #: parser_yacc.y:665 parser_yacc.y:679 parser_yacc.y:707 parser_yacc.y:737 #: parser_yacc.y:775 parser_yacc.y:792 parser_yacc.y:806 msgid "Memory allocation error." msgstr "内存分配错误。" #: ../parser_misc.c:738 ../parser_symtab.c:555 ../parser_regex.c:488 #: ../parser_variable.c:227 #, c-format msgid "AppArmor parser error: %s\n" msgstr "AppArmor 语法分析程序错误:%s\n" #: ../parser_merge.c:64 msgid "Couldn't merge entries. Out of Memory\n" msgstr "无法合并项。内存不足\n" #: ../parser_merge.c:92 #, c-format msgid "profile %s: has merged rule %s with multiple x modifiers\n" msgstr "配置文件 %s:已将规则 %s 和多个 x 修改程序并合\n" #: parser_yacc.y:362 msgid "flags=(debug) is no longer supported, sorry." msgstr "很抱歉,已不再支持 flags=(debug)。" #: parser_yacc.y:398 msgid "Assert: `rule' returned NULL." msgstr "声明:`rule'返回 NULL。" #: parser_yacc.y:407 msgid "Assert: `netrule' returned NULL." msgstr "声明:`netrule'返回 NULL。" #: parser_yacc.y:424 msgid "Assert: 'hat rule' returned NULL." msgstr "声明:'hat rule'返回 NULL。" #: parser_yacc.y:487 #, c-format msgid "Unset boolean variable %s used in if-expression" msgstr "在 if 表达式中使用了未设置的布尔变量 %s" #: parser_yacc.y:545 #, c-format msgid "missing an end of line character? (entry: %s)" msgstr "是否缺少行结束字符?(项:%s)" #: parser_yacc.y:586 msgid "Assert: `addresses' returned NULL." msgstr "声明:`addresses'返回 NULL。" #: parser_yacc.y:689 msgid "Network entries can only have one TO address." msgstr "网络项只能有一个 TO 地址。" #: parser_yacc.y:694 msgid "Network entries can only have one FROM address." msgstr "网络项只能有一个 FROM 地址。" #: parser_yacc.y:712 parser_yacc.y:743 #, c-format msgid "`%s' is not a valid ip address." msgstr "`%s'不是有效的 IP 地址。" #: parser_yacc.y:756 #, c-format msgid "`/%d' is not a valid netmask." msgstr "`/%d'不是有效的网络掩码。" #: parser_yacc.y:763 #, c-format msgid "`%s' is not a valid netmask." msgstr "`%s'不是有效的网络掩码。" #: parser_yacc.y:789 parser_yacc.y:809 #, c-format msgid "ports must be between %d and %d" msgstr "端口必须在 %d 和 %d 之间" #: parser_yacc.y:876 #, c-format msgid "AppArmor parser error in %s at line %d: %s\n" msgstr "%s 中的行 %d 处有 AppArmor 语法分析程序错误:%s\n" #: parser_yacc.y:879 #, c-format msgid "AppArmor parser error, line %d: %s\n" msgstr "AppArmor 语法分析程序错误,行 %d:%s\n" #: ../parser_regex.c:247 #, c-format msgid "%s: Illegal open {, nesting groupings not allowed\n" msgstr "%s: 不合法的左侧大括号 {,不允许嵌套分组\n" #: ../parser_regex.c:267 #, c-format msgid "%s: Regex grouping error: Invalid number of items between {}\n" msgstr "%s: Regex 分组错误:{} 内的项目数无效\n" #: ../parser_regex.c:273 #, c-format msgid "%s: Regex grouping error: Invalid close }, no matching open { detected\n" msgstr "%s: Regex 分组错误:无效的右侧花括号 },未检测到匹配的左侧花括号 {\n" #: ../parser_regex.c:339 #, c-format msgid "%s: Regex grouping error: Unclosed grouping or character class, expecting close }\n" msgstr "%s:Regex 分组错误:未括起分组或字符类,应使用括号 }\n" #: ../parser_regex.c:353 #, c-format msgid "%s: Internal buffer overflow detected, %d characters exceeded\n" msgstr "%s: 检测到内部缓冲区溢出,超过 %d 个字符\n" #: ../parser_regex.c:357 #, c-format msgid "%s: Unable to parse input line '%s'\n" msgstr "%s: 无法对输入行'%s'进行语法分析\n" #: ../parser_regex.c:390 #, c-format msgid "%s: Failed to compile regex '%s' [original: '%s']\n" msgstr "%s: 未能编译 regex'%s'[原始:'%s']\n" #: ../parser_regex.c:394 #, c-format msgid "%s: error near " msgstr "%s: 错误接近" #: ../parser_regex.c:404 #, c-format msgid "%s: error reason: '%s'\n" msgstr "%s: 错误原因: '%s'\n" #: ../parser_regex.c:413 #, c-format msgid "%s: Failed to compile regex '%s' [original: '%s'] - malloc failed\n" msgstr "%s: 未能编译 regex'%s'[原始:'%s'] - malloc 失败\n" #: ../parser_policy.c:102 #, c-format msgid "ERROR merging rules for profile %s, failed to load\n" msgstr "合并配置文件 %s 的规则时出错,未能装入\n" #: ../parser_policy.c:134 #, c-format msgid "" "ERROR profile %s contains policy elements not usable with this kernel:\n" "\t'*', '?', character ranges, and alternations are not allowed.\n" "\t'**' may only be used at the end of a rule.\n" msgstr "" "错误:配置文件 %s 包含不可与此内核一起使用的策略元素:\n" "\t不允许字符范围“*”和“?”以及转义符。\n" "\t只能在规则末尾使用“**”。\n" #: ../parser_policy.c:179 #, c-format msgid "ERROR processing regexs for profile %s, failed to load\n" msgstr "为配置文件 %s 处理 regexs 时出错,未能装入\n" #: ../parser_policy.c:206 #, c-format msgid "ERROR expanding variables for profile %s, failed to load\n" msgstr "为配置文件 %s 展开变量时出错,未能装入\n" #: ../parser_policy.c:259 #, c-format msgid "ERROR in profile %s, failed to load\n" msgstr "配置文件 %s 中存在错误,未能装载\n" #: ../parser_policy.c:413 #, c-format msgid "%s: Errors found in combining rules postprocessing. Aborting.\n" msgstr "%s: 在组合规则后处理中发现错误。正在中止。\n" #: ../parser_policy.c:420 ../parser_policy.c:427 #, c-format msgid "%s: Errors found during regex postprocess. Aborting.\n" msgstr "%s:在 Regex 后处理中发现错误。正在中止。\n"