diff --git a/debian/patches/-1.patch b/debian/patches/-1.patch new file mode 100644 index 0000000..f56428f --- /dev/null +++ b/debian/patches/-1.patch @@ -0,0 +1,23386 @@ +From: Yue-Lan +Date: Thu, 29 Feb 2024 17:22:29 +0800 +Subject: =?utf-8?b?5pu05paw5Lit5paH57+76K+R?= + +--- + po/zh_CN.po | 2765 ++++++++++++++-------------- + po/zh_HK.po | 5781 +++++++++++++++++++++++++++++++++++++++-------------------- + po/zh_TW.po | 3457 +++++++++++++++++++---------------- + 3 files changed, 7250 insertions(+), 4753 deletions(-) + +diff --git a/po/zh_CN.po b/po/zh_CN.po +index eadd757..ea74b13 100644 +--- a/po/zh_CN.po ++++ b/po/zh_CN.po +@@ -23,158 +23,160 @@ + msgid "" + msgstr "" + "Project-Id-Version: glib master\n" +-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/glib/issues\n" +-"POT-Creation-Date: 2023-07-28 12:53+0000\n" +-"PO-Revision-Date: 2023-08-08 20:38+0800\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2024-02-29 17:15+0800\n" ++"PO-Revision-Date: 2024-02-29 17:22+0800\n" + "Last-Translator: lumingzh \n" + "Language-Team: Chinese - China \n" + "Language: zh_CN\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"Plural-Forms: nplurals=1; plural=0\n" +-"X-Generator: Gtranslator 42.0\n" ++"Plural-Forms: nplurals=1; plural=0;\n" ++"X-Generator: Poedit 2.3\n" + +-#: gio/gappinfo.c:339 ++#: ../gio/gappinfo.c:339 + msgid "Setting default applications not supported yet" + msgstr "暂不支持设置默认应用程序" + +-#: gio/gappinfo.c:372 ++#: ../gio/gappinfo.c:372 + msgid "Setting application as last used for type not supported yet" + msgstr "暂不支持设置上次用来打开文件类型的应用程序" + +-#: gio/gappinfo.c:814 ++#: ../gio/gappinfo.c:814 + #, c-format + msgid "Failed to find default application for content type ‘%s’" + msgstr "无法找到处理内容类型“%s”的默认应用程序" + +-#: gio/gappinfo.c:874 ++#: ../gio/gappinfo.c:874 + #, c-format + msgid "Failed to find default application for URI Scheme ‘%s’" + msgstr "无法找到处理 URI Scheme“%s”的默认应用程序" + +-#: gio/gapplication.c:506 ++#: ../gio/gapplication.c:506 + msgid "GApplication Options:" + msgstr "GApplication 选项:" + +-#: gio/gapplication.c:506 ++#: ../gio/gapplication.c:506 + msgid "Show GApplication options" + msgstr "显示 GApplication 选项" + +-#: gio/gapplication.c:551 ++#: ../gio/gapplication.c:551 + msgid "Enter GApplication service mode (use from D-Bus service files)" + msgstr "进入 GApplication 服务模式(从 D-Bus 服务文件中调用)" + +-#: gio/gapplication.c:563 ++#: ../gio/gapplication.c:563 + msgid "Override the application’s ID" + msgstr "覆盖应用程序 ID" + +-#: gio/gapplication.c:575 ++#: ../gio/gapplication.c:575 + msgid "Replace the running instance" + msgstr "替代运行中的实例" + +-#: gio/gapplication-tool.c:47 gio/gapplication-tool.c:48 gio/gio-tool.c:229 +-#: gio/gresource-tool.c:496 gio/gsettings-tool.c:586 ++#: ../gio/gapplication-tool.c:47 ../gio/gapplication-tool.c:48 ++#: ../gio/gio-tool.c:229 ../gio/gresource-tool.c:496 ++#: ../gio/gsettings-tool.c:586 + msgid "Print help" + msgstr "打印帮助" + +-#: gio/gapplication-tool.c:49 gio/gresource-tool.c:497 gio/gresource-tool.c:565 ++#: ../gio/gapplication-tool.c:49 ../gio/gresource-tool.c:497 ++#: ../gio/gresource-tool.c:565 + msgid "[COMMAND]" + msgstr "[命令]" + +-#: gio/gapplication-tool.c:51 gio/gio-tool.c:230 ++#: ../gio/gapplication-tool.c:51 ../gio/gio-tool.c:230 + msgid "Print version" + msgstr "打印版本" + +-#: gio/gapplication-tool.c:52 gio/gsettings-tool.c:592 ++#: ../gio/gapplication-tool.c:52 ../gio/gsettings-tool.c:592 + msgid "Print version information and exit" + msgstr "打印版本信息并退出" + +-#: gio/gapplication-tool.c:55 ++#: ../gio/gapplication-tool.c:55 + msgid "List applications" + msgstr "列出应用程序" + +-#: gio/gapplication-tool.c:56 ++#: ../gio/gapplication-tool.c:56 + msgid "List the installed D-Bus activatable applications (by .desktop files)" + msgstr "列出已安装的 D-Bus 可以激活的应用程序(根据 .desktop文件)" + +-#: gio/gapplication-tool.c:59 ++#: ../gio/gapplication-tool.c:59 + msgid "Launch an application" + msgstr "启动一个应用程序" + +-#: gio/gapplication-tool.c:60 ++#: ../gio/gapplication-tool.c:60 + msgid "Launch the application (with optional files to open)" + msgstr "启动应用程序(可选打开文件)" + +-#: gio/gapplication-tool.c:61 ++#: ../gio/gapplication-tool.c:61 + msgid "APPID [FILE…]" + msgstr "应用ID [文件…]" + +-#: gio/gapplication-tool.c:63 ++#: ../gio/gapplication-tool.c:63 + msgid "Activate an action" + msgstr "激活一个操作" + +-#: gio/gapplication-tool.c:64 ++#: ../gio/gapplication-tool.c:64 + msgid "Invoke an action on the application" + msgstr "在应用程序上调用一个操作" + +-#: gio/gapplication-tool.c:65 ++#: ../gio/gapplication-tool.c:65 + msgid "APPID ACTION [PARAMETER]" + msgstr "应用ID 操作 [参数]" + +-#: gio/gapplication-tool.c:67 ++#: ../gio/gapplication-tool.c:67 + msgid "List available actions" + msgstr "列出可用的操作" + +-#: gio/gapplication-tool.c:68 ++#: ../gio/gapplication-tool.c:68 + msgid "List static actions for an application (from .desktop file)" + msgstr "列出一个应用程序的静态操作(来自 .desktop 文件)" + +-#: gio/gapplication-tool.c:69 gio/gapplication-tool.c:75 ++#: ../gio/gapplication-tool.c:69 ../gio/gapplication-tool.c:75 + msgid "APPID" + msgstr "应用ID" + +-#: gio/gapplication-tool.c:74 gio/gapplication-tool.c:137 gio/gdbus-tool.c:108 +-#: gio/gio-tool.c:226 ++#: ../gio/gapplication-tool.c:74 ../gio/gapplication-tool.c:137 ++#: ../gio/gdbus-tool.c:108 ../gio/gio-tool.c:226 + msgid "COMMAND" + msgstr "命令" + +-#: gio/gapplication-tool.c:74 ++#: ../gio/gapplication-tool.c:74 + msgid "The command to print detailed help for" + msgstr "要打印其详细帮助的命令" + +-#: gio/gapplication-tool.c:75 ++#: ../gio/gapplication-tool.c:75 + msgid "Application identifier in D-Bus format (eg: org.example.viewer)" + msgstr "D-Bus 格式的应用程序标识符(比如:org.example.viewer)" + +-#: gio/gapplication-tool.c:76 gio/glib-compile-resources.c:822 +-#: gio/glib-compile-resources.c:828 gio/glib-compile-resources.c:858 +-#: gio/gresource-tool.c:503 gio/gresource-tool.c:569 ++#: ../gio/gapplication-tool.c:76 ../gio/glib-compile-resources.c:822 ++#: ../gio/glib-compile-resources.c:828 ../gio/glib-compile-resources.c:858 ++#: ../gio/gresource-tool.c:503 ../gio/gresource-tool.c:569 + msgid "FILE" + msgstr "文件" + +-#: gio/gapplication-tool.c:76 ++#: ../gio/gapplication-tool.c:76 + msgid "Optional relative or absolute filenames, or URIs to open" + msgstr "可选要打开的相对或绝对文件名或 URI" + +-#: gio/gapplication-tool.c:77 ++#: ../gio/gapplication-tool.c:77 + msgid "ACTION" + msgstr "操作" + +-#: gio/gapplication-tool.c:77 ++#: ../gio/gapplication-tool.c:77 + msgid "The action name to invoke" + msgstr "要调用的操作名称" + +-#: gio/gapplication-tool.c:78 ++#: ../gio/gapplication-tool.c:78 + msgid "PARAMETER" + msgstr "参数" + +-#: gio/gapplication-tool.c:78 ++#: ../gio/gapplication-tool.c:78 + msgid "Optional parameter to the action invocation, in GVariant format" + msgstr "可选的操作调用参数,GVariant 格式" + +-#: gio/gapplication-tool.c:100 gio/gresource-tool.c:534 +-#: gio/gsettings-tool.c:678 ++#: ../gio/gapplication-tool.c:100 ../gio/gresource-tool.c:534 ++#: ../gio/gsettings-tool.c:678 + #, c-format + msgid "" + "Unknown command %s\n" +@@ -183,26 +185,26 @@ msgstr "" + "未知命令 %s\n" + "\n" + +-#: gio/gapplication-tool.c:105 ++#: ../gio/gapplication-tool.c:105 + msgid "Usage:\n" + msgstr "用法:\n" + +-#: gio/gapplication-tool.c:118 gio/gresource-tool.c:559 +-#: gio/gsettings-tool.c:713 ++#: ../gio/gapplication-tool.c:118 ../gio/gresource-tool.c:559 ++#: ../gio/gsettings-tool.c:713 + msgid "Arguments:\n" + msgstr "参数:\n" + +-#: gio/gapplication-tool.c:137 gio/gio-tool.c:226 ++#: ../gio/gapplication-tool.c:137 ../gio/gio-tool.c:226 + msgid "[ARGS…]" + msgstr "[参数…]" + +-#: gio/gapplication-tool.c:138 ++#: ../gio/gapplication-tool.c:138 + #, c-format + msgid "Commands:\n" + msgstr "命令:\n" + + #. Translators: do not translate 'help', but please translate 'COMMAND'. +-#: gio/gapplication-tool.c:150 ++#: ../gio/gapplication-tool.c:150 + #, c-format + msgid "" + "Use “%s help COMMAND” to get detailed help.\n" +@@ -211,7 +213,7 @@ msgstr "" + "使用“%s help 命令”获取详细帮助。\n" + "\n" + +-#: gio/gapplication-tool.c:169 ++#: ../gio/gapplication-tool.c:169 + #, c-format + msgid "" + "%s command requires an application id to directly follow\n" +@@ -220,13 +222,13 @@ msgstr "" + "%s 命令需要直接跟一个应用程序 ID\n" + "\n" + +-#: gio/gapplication-tool.c:175 ++#: ../gio/gapplication-tool.c:175 + #, c-format + msgid "invalid application id: “%s”\n" + msgstr "无效的应用程序 ID:“%s”\n" + + #. Translators: %s is replaced with a command name like 'list-actions' +-#: gio/gapplication-tool.c:186 ++#: ../gio/gapplication-tool.c:186 + #, c-format + msgid "" + "“%s” takes no arguments\n" +@@ -235,21 +237,22 @@ msgstr "" + "“%s”不接受参数\n" + "\n" + +-#: gio/gapplication-tool.c:270 ++#: ../gio/gapplication-tool.c:270 + #, c-format + msgid "unable to connect to D-Bus: %s\n" + msgstr "无法连接到 D-Bus:%s\n" + +-#: gio/gapplication-tool.c:290 ++#: ../gio/gapplication-tool.c:290 + #, c-format + msgid "error sending %s message to application: %s\n" + msgstr "给应用程序发送 %s 消息时出错:%s\n" + +-#: gio/gapplication-tool.c:324 ++#: ../gio/gapplication-tool.c:324 ++#, c-format + msgid "action name must be given after application id\n" + msgstr "操作名必须在应用程序 ID 后给出\n" + +-#: gio/gapplication-tool.c:332 ++#: ../gio/gapplication-tool.c:332 + #, c-format + msgid "" + "invalid action name: “%s”\n" +@@ -258,25 +261,27 @@ msgstr "" + "无效的操作名:“%s”\n" + "操作名只能由字母数字、“-”和“.”组成\n" + +-#: gio/gapplication-tool.c:351 ++#: ../gio/gapplication-tool.c:351 + #, c-format + msgid "error parsing action parameter: %s\n" + msgstr "解析操作参数时出错:%s\n" + +-#: gio/gapplication-tool.c:363 ++#: ../gio/gapplication-tool.c:363 ++#, c-format + msgid "actions accept a maximum of one parameter\n" + msgstr "操作最多接受一个参数\n" + +-#: gio/gapplication-tool.c:418 ++#: ../gio/gapplication-tool.c:418 ++#, c-format + msgid "list-actions command takes only the application id" + msgstr "list-actions 命令只能接受应用程序的 ID" + +-#: gio/gapplication-tool.c:428 ++#: ../gio/gapplication-tool.c:428 + #, c-format + msgid "unable to find desktop file for application %s\n" + msgstr "找不到与应用程序 %s 对应的桌面文件\n" + +-#: gio/gapplication-tool.c:473 ++#: ../gio/gapplication-tool.c:473 + #, c-format + msgid "" + "unrecognised command: %s\n" +@@ -285,514 +290,527 @@ msgstr "" + "未识别的命令:%s\n" + "\n" + +-#: gio/gbufferedinputstream.c:422 gio/gbufferedinputstream.c:500 +-#: gio/ginputstream.c:181 gio/ginputstream.c:381 gio/ginputstream.c:651 +-#: gio/ginputstream.c:1056 gio/goutputstream.c:225 gio/goutputstream.c:1052 +-#: gio/gpollableinputstream.c:221 gio/gpollableoutputstream.c:293 ++#: ../gio/gbufferedinputstream.c:422 ../gio/gbufferedinputstream.c:500 ++#: ../gio/ginputstream.c:181 ../gio/ginputstream.c:381 ++#: ../gio/ginputstream.c:651 ../gio/ginputstream.c:1056 ++#: ../gio/goutputstream.c:225 ../gio/goutputstream.c:1052 ++#: ../gio/gpollableinputstream.c:221 ../gio/gpollableoutputstream.c:293 + #, c-format + msgid "Too large count value passed to %s" + msgstr "传递给 %s 的计数值太大" + +-#: gio/gbufferedinputstream.c:893 gio/gbufferedoutputstream.c:577 +-#: gio/gdataoutputstream.c:564 ++#: ../gio/gbufferedinputstream.c:893 ../gio/gbufferedoutputstream.c:577 ++#: ../gio/gdataoutputstream.c:564 + msgid "Seek not supported on base stream" + msgstr "基流不支持定位" + +-#: gio/gbufferedinputstream.c:940 ++#: ../gio/gbufferedinputstream.c:940 + msgid "Cannot truncate GBufferedInputStream" + msgstr "无法截断 GBufferedInputStream" + +-#: gio/gbufferedinputstream.c:985 gio/ginputstream.c:1246 gio/giostream.c:302 +-#: gio/goutputstream.c:2208 ++#: ../gio/gbufferedinputstream.c:985 ../gio/ginputstream.c:1246 ++#: ../gio/giostream.c:302 ../gio/goutputstream.c:2208 + msgid "Stream is already closed" + msgstr "流已经关闭" + +-#: gio/gbufferedoutputstream.c:614 gio/gdataoutputstream.c:594 ++#: ../gio/gbufferedoutputstream.c:614 ../gio/gdataoutputstream.c:594 + msgid "Truncate not supported on base stream" + msgstr "基流不支持截断" + +-#: gio/gcancellable.c:326 gio/gdbusconnection.c:1867 gio/gdbusprivate.c:1434 +-#: gio/gsimpleasyncresult.c:873 gio/gsimpleasyncresult.c:899 ++#: ../gio/gcancellable.c:326 ../gio/gdbusconnection.c:1867 ++#: ../gio/gdbusprivate.c:1434 ../gio/gsimpleasyncresult.c:873 ++#: ../gio/gsimpleasyncresult.c:899 + #, c-format + msgid "Operation was cancelled" + msgstr "操作被取消" + +-#: gio/gcharsetconverter.c:262 ++#: ../gio/gcharsetconverter.c:262 + msgid "Invalid object, not initialized" + msgstr "无效的对象,未初始化" + +-#: gio/gcharsetconverter.c:283 gio/gcharsetconverter.c:311 ++#: ../gio/gcharsetconverter.c:283 ../gio/gcharsetconverter.c:311 + msgid "Incomplete multibyte sequence in input" + msgstr "输入中有不完整的多字节序列" + +-#: gio/gcharsetconverter.c:317 gio/gcharsetconverter.c:326 ++#: ../gio/gcharsetconverter.c:317 ../gio/gcharsetconverter.c:326 + msgid "Not enough space in destination" + msgstr "目标位置没有足够的空间" + +-#: gio/gcharsetconverter.c:344 gio/gdatainputstream.c:850 +-#: gio/gdatainputstream.c:1268 glib/gconvert.c:450 glib/gconvert.c:882 +-#: glib/giochannel.c:1576 glib/giochannel.c:1618 glib/giochannel.c:2478 +-#: glib/gutf8.c:958 glib/gutf8.c:1412 ++#: ../gio/gcharsetconverter.c:344 ../gio/gdatainputstream.c:850 ++#: ../gio/gdatainputstream.c:1268 ../glib/gconvert.c:450 ../glib/gconvert.c:882 ++#: ../glib/giochannel.c:1576 ../glib/giochannel.c:1618 ++#: ../glib/giochannel.c:2478 ../glib/gutf8.c:958 ../glib/gutf8.c:1412 + msgid "Invalid byte sequence in conversion input" + msgstr "转换输入中有无效的字符序列" + +-#: gio/gcharsetconverter.c:349 glib/gconvert.c:458 glib/gconvert.c:796 +-#: glib/giochannel.c:1583 glib/giochannel.c:2493 ++#: ../gio/gcharsetconverter.c:349 ../glib/gconvert.c:458 ../glib/gconvert.c:796 ++#: ../glib/giochannel.c:1583 ../glib/giochannel.c:2493 + #, c-format + msgid "Error during conversion: %s" + msgstr "转换过程中出错:%s" + +-#: gio/gcharsetconverter.c:447 gio/gsocket.c:1164 ++#: ../gio/gcharsetconverter.c:447 ../gio/gsocket.c:1164 + msgid "Cancellable initialization not supported" + msgstr "不支持可撤销的初始化" + +-#: gio/gcharsetconverter.c:458 glib/gconvert.c:323 glib/giochannel.c:1404 ++#: ../gio/gcharsetconverter.c:458 ../glib/gconvert.c:323 ++#: ../glib/giochannel.c:1404 + #, c-format + msgid "Conversion from character set “%s” to “%s” is not supported" + msgstr "不支持从字符集“%s”到“%s”的转换" + +-#: gio/gcharsetconverter.c:462 glib/gconvert.c:327 ++#: ../gio/gcharsetconverter.c:462 ../glib/gconvert.c:327 + #, c-format + msgid "Could not open converter from “%s” to “%s”" + msgstr "无法打开从“%s”到“%s”的转换器" + +-#: gio/gcontenttype.c:472 ++#: ../gio/gcontenttype.c:472 + #, c-format + msgid "%s type" + msgstr "%s 类型" + +-#: gio/gcontenttype-win32.c:198 ++#: ../gio/gcontenttype-win32.c:198 + msgid "Unknown type" + msgstr "未知类型" + +-#: gio/gcontenttype-win32.c:200 ++#: ../gio/gcontenttype-win32.c:200 + #, c-format + msgid "%s filetype" + msgstr "%s 文件类型" + +-#: gio/gcredentials.c:337 ++#: ../gio/gcredentials.c:337 + msgid "GCredentials contains invalid data" + msgstr "GCredentials 包含无效数据" + +-#: gio/gcredentials.c:397 gio/gcredentials.c:688 ++#: ../gio/gcredentials.c:397 ../gio/gcredentials.c:688 + msgid "GCredentials is not implemented on this OS" + msgstr "此操作系统上没有实现 GCredentials" + +-#: gio/gcredentials.c:552 gio/gcredentials.c:570 ++#: ../gio/gcredentials.c:552 ../gio/gcredentials.c:570 + msgid "There is no GCredentials support for your platform" + msgstr "您的平台尚不支持 GCredentials" + +-#: gio/gcredentials.c:628 ++#: ../gio/gcredentials.c:628 + msgid "GCredentials does not contain a process ID on this OS" + msgstr "此操作系统上的 GCredentials 未包含一个进程 ID" + +-#: gio/gcredentials.c:682 ++#: ../gio/gcredentials.c:682 + msgid "Credentials spoofing is not possible on this OS" + msgstr "此操作系统上无法进行证书欺骗" + +-#: gio/gdatainputstream.c:306 ++#: ../gio/gdatainputstream.c:306 + msgid "Unexpected early end-of-stream" + msgstr "非预期的过早的流结束符" + +-#: gio/gdbusaddress.c:168 gio/gdbusaddress.c:240 gio/gdbusaddress.c:327 ++#: ../gio/gdbusaddress.c:168 ../gio/gdbusaddress.c:240 ++#: ../gio/gdbusaddress.c:327 + #, c-format + msgid "Unsupported key “%s” in address entry “%s”" + msgstr "地址条目“%2$s”中有未支持的键“%1$s”" + +-#: gio/gdbusaddress.c:181 ++#: ../gio/gdbusaddress.c:181 + #, c-format + msgid "Meaningless key/value pair combination in address entry “%s”" + msgstr "地址条目“%s”中有无意义的键/值对组合" + +-#: gio/gdbusaddress.c:190 ++#: ../gio/gdbusaddress.c:190 + #, c-format + msgid "" + "Address “%s” is invalid (need exactly one of path, dir, tmpdir, or abstract " + "keys)" + msgstr "地址“%s”无效(需要指定一个且仅一个的路径、目录、临时目录或抽象键)" + +-#: gio/gdbusaddress.c:255 gio/gdbusaddress.c:266 gio/gdbusaddress.c:281 +-#: gio/gdbusaddress.c:342 gio/gdbusaddress.c:353 ++#: ../gio/gdbusaddress.c:255 ../gio/gdbusaddress.c:266 ++#: ../gio/gdbusaddress.c:281 ../gio/gdbusaddress.c:342 ++#: ../gio/gdbusaddress.c:353 + #, c-format + msgid "Error in address “%s” — the “%s” attribute is malformed" + msgstr "地址“%s”中有错误——\"%s\"属性格式错误" + +-#: gio/gdbusaddress.c:423 gio/gdbusaddress.c:682 ++#: ../gio/gdbusaddress.c:423 ../gio/gdbusaddress.c:682 + #, c-format + msgid "Unknown or unsupported transport “%s” for address “%s”" + msgstr "传输“%s”对于地址“%s”未知或不支持" + +-#: gio/gdbusaddress.c:467 ++#: ../gio/gdbusaddress.c:467 + #, c-format + msgid "Address element “%s” does not contain a colon (:)" + msgstr "地址元素“%s”未包含冒号(:)" + +-#: gio/gdbusaddress.c:476 ++#: ../gio/gdbusaddress.c:476 + #, c-format + msgid "Transport name in address element “%s” must not be empty" + msgstr "地址元素“%s”中的传输名称不能为空" + +-#: gio/gdbusaddress.c:497 ++#: ../gio/gdbusaddress.c:497 + #, c-format + msgid "" + "Key/Value pair %d, “%s”, in address element “%s” does not contain an equal " + "sign" + msgstr "地址元素“%3$s”中的第 %1$d 个键/值对 “%2$s”未包含等号" + +-#: gio/gdbusaddress.c:508 ++#: ../gio/gdbusaddress.c:508 + #, c-format + msgid "" + "Key/Value pair %d, “%s”, in address element “%s” must not have an empty key" + msgstr "地址元素“%3$s”中的第 %1$d 个键/值对 “%2$s”不能有空的键" + + # 改掉顿号,因其不是并列关系 +-#: gio/gdbusaddress.c:522 ++#: ../gio/gdbusaddress.c:522 + #, c-format + msgid "" + "Error unescaping key or value in Key/Value pair %d, “%s”, in address element " + "“%s”" + msgstr "在地址元素“%3$s”中,对键/值对 %1$d,“%2$s”取消转义键或值时出错" + +-#: gio/gdbusaddress.c:590 ++#: ../gio/gdbusaddress.c:590 + #, c-format + msgid "" + "Error in address “%s” — the unix transport requires exactly one of the keys " + "“path” or “abstract” to be set" + msgstr "地址“%s”中有错误——UNIX 传输需要“path”或“abstract”之一的键被设置" + +-#: gio/gdbusaddress.c:625 ++#: ../gio/gdbusaddress.c:625 + #, c-format + msgid "Error in address “%s” — the host attribute is missing or malformed" + msgstr "地址“%s”中有错误——主机属性丢失或格式错误" + +-#: gio/gdbusaddress.c:639 ++#: ../gio/gdbusaddress.c:639 + #, c-format + msgid "Error in address “%s” — the port attribute is missing or malformed" + msgstr "地址“%s”中有错误——端口属性丢失或格式错误" + +-#: gio/gdbusaddress.c:653 ++#: ../gio/gdbusaddress.c:653 + #, c-format + msgid "Error in address “%s” — the noncefile attribute is missing or malformed" + msgstr "地址“%s”中有错误——临时文件属性丢失或格式错误" + +-#: gio/gdbusaddress.c:674 ++#: ../gio/gdbusaddress.c:674 + msgid "Error auto-launching: " + msgstr "自动启动出错:" + +-#: gio/gdbusaddress.c:727 ++#: ../gio/gdbusaddress.c:727 + #, c-format + msgid "Error opening nonce file “%s”: %s" + msgstr "打开临时文件“%s”时出错:%s" + +-#: gio/gdbusaddress.c:746 ++#: ../gio/gdbusaddress.c:746 + #, c-format + msgid "Error reading from nonce file “%s”: %s" + msgstr "读取临时文件“%s”时出错:%s" + +-#: gio/gdbusaddress.c:755 ++#: ../gio/gdbusaddress.c:755 + #, c-format + msgid "Error reading from nonce file “%s”, expected 16 bytes, got %d" + msgstr "读取临时文件“%s”时出错,预计 16 个字节,得到 %d 个" + +-#: gio/gdbusaddress.c:773 ++#: ../gio/gdbusaddress.c:773 + #, c-format + msgid "Error writing contents of nonce file “%s” to stream:" + msgstr "写入临时文件“%s”的内容到流时出错:" + +-#: gio/gdbusaddress.c:988 ++#: ../gio/gdbusaddress.c:988 + msgid "The given address is empty" + msgstr "给定的地址为空" + +-#: gio/gdbusaddress.c:1101 ++#: ../gio/gdbusaddress.c:1101 + #, c-format + msgid "Cannot spawn a message bus when AT_SECURE is set" + msgstr "无法在已设置 AT_SECURE 时启动一条消息总线" + +-#: gio/gdbusaddress.c:1108 ++#: ../gio/gdbusaddress.c:1108 + msgid "Cannot spawn a message bus without a machine-id: " + msgstr "无法在无机器 ID 时生成一条消息总线:" + +-#: gio/gdbusaddress.c:1115 ++#: ../gio/gdbusaddress.c:1115 + #, c-format + msgid "Cannot autolaunch D-Bus without X11 $DISPLAY" + msgstr "无法在没有 X11 $DISPLAY 的情况下自动启动 D-Bus" + +-#: gio/gdbusaddress.c:1157 ++#: ../gio/gdbusaddress.c:1157 + #, c-format + msgid "Error spawning command line “%s”: " + msgstr "生成并运行命令行“%s”时出错:" + +-#: gio/gdbusaddress.c:1226 ++#: ../gio/gdbusaddress.c:1226 + #, c-format + msgid "Cannot determine session bus address (not implemented for this OS)" + msgstr "无法确定会话总线地址(尚未在此操作系统上实现)" + +-#: gio/gdbusaddress.c:1380 gio/gdbusconnection.c:7326 ++#: ../gio/gdbusaddress.c:1380 ../gio/gdbusconnection.c:7339 + #, c-format + msgid "" + "Cannot determine bus address from DBUS_STARTER_BUS_TYPE environment variable " + "— unknown value “%s”" + msgstr "无法从 DBUS_STARTER_BUS_TYPE 环境变量确定总线地址——未知的值“%s”" + +-#: gio/gdbusaddress.c:1389 gio/gdbusconnection.c:7335 ++#: ../gio/gdbusaddress.c:1389 ../gio/gdbusconnection.c:7348 + msgid "" + "Cannot determine bus address because the DBUS_STARTER_BUS_TYPE environment " + "variable is not set" + msgstr "无法确定总线地址,因为环境变量 DBUS_STARTER_BUS_TYPE 未设置" + +-#: gio/gdbusaddress.c:1399 ++#: ../gio/gdbusaddress.c:1399 + #, c-format + msgid "Unknown bus type %d" + msgstr "未知的总线类型 %d" + +-#: gio/gdbusauth.c:294 ++#: ../gio/gdbusauth.c:294 + msgid "Unexpected lack of content trying to read a line" + msgstr "试图读取一行时,异常地缺失内容" + +-#: gio/gdbusauth.c:338 ++#: ../gio/gdbusauth.c:338 + msgid "Unexpected lack of content trying to (safely) read a line" + msgstr "试图(安全地)读取一行时,异常地缺失内容" + +-#: gio/gdbusauth.c:482 ++#: ../gio/gdbusauth.c:482 + #, c-format + msgid "" + "Exhausted all available authentication mechanisms (tried: %s) (available: %s)" + msgstr "用尽了所有可用的认证机制(已尝试:%s)(可用的:%s)" + +-#: gio/gdbusauth.c:1045 ++#: ../gio/gdbusauth.c:1045 + msgid "Unexpected lack of content trying to read a byte" + msgstr "试图读取一个字节时异常地缺少内容" + +-#: gio/gdbusauth.c:1195 ++#: ../gio/gdbusauth.c:1195 + msgid "User IDs must be the same for peer and server" + msgstr "对等端和服务器端的用户 ID 必须相同" + +-#: gio/gdbusauth.c:1207 ++#: ../gio/gdbusauth.c:1207 + msgid "Cancelled via GDBusAuthObserver::authorize-authenticated-peer" + msgstr "通过 GDBusAuthObserver::authorize-authenticated-peer 取消" + +-#: gio/gdbusauthmechanismsha1.c:307 ++#: ../gio/gdbusauthmechanismsha1.c:307 + #, c-format + msgid "Error when getting information for directory “%s”: %s" + msgstr "获取目录“%s”信息时发生错误:%s" + +-#: gio/gdbusauthmechanismsha1.c:322 ++#: ../gio/gdbusauthmechanismsha1.c:322 + #, c-format + msgid "" + "Permissions on directory “%s” are malformed. Expected mode 0700, got 0%o" + msgstr "目录“%s”权限错误。期望 0700,得到 0%o" + +-#: gio/gdbusauthmechanismsha1.c:355 gio/gdbusauthmechanismsha1.c:366 ++#: ../gio/gdbusauthmechanismsha1.c:355 ../gio/gdbusauthmechanismsha1.c:366 + #, c-format + msgid "Error creating directory “%s”: %s" + msgstr "创建目录“%s”时出错:%s" + +-#: gio/gdbusauthmechanismsha1.c:368 gio/gfile.c:1102 gio/gfile.c:1340 +-#: gio/gfile.c:1478 gio/gfile.c:1716 gio/gfile.c:1771 gio/gfile.c:1829 +-#: gio/gfile.c:1913 gio/gfile.c:1970 gio/gfile.c:2034 gio/gfile.c:2089 +-#: gio/gfile.c:3949 gio/gfile.c:4088 gio/gfile.c:4500 gio/gfile.c:4970 +-#: gio/gfile.c:5382 gio/gfile.c:5467 gio/gfile.c:5557 gio/gfile.c:5654 +-#: gio/gfile.c:5741 gio/gfile.c:5842 gio/gfile.c:9000 gio/gfile.c:9090 +-#: gio/gfile.c:9174 gio/win32/gwinhttpfile.c:453 ++#: ../gio/gdbusauthmechanismsha1.c:368 ../gio/gfile.c:1128 ../gio/gfile.c:1366 ++#: ../gio/gfile.c:1504 ../gio/gfile.c:1742 ../gio/gfile.c:1797 ++#: ../gio/gfile.c:1855 ../gio/gfile.c:1939 ../gio/gfile.c:1996 ++#: ../gio/gfile.c:2060 ../gio/gfile.c:2115 ../gio/gfile.c:4019 ++#: ../gio/gfile.c:4158 ../gio/gfile.c:4570 ../gio/gfile.c:5040 ++#: ../gio/gfile.c:5452 ../gio/gfile.c:5537 ../gio/gfile.c:5627 ++#: ../gio/gfile.c:5724 ../gio/gfile.c:5811 ../gio/gfile.c:5912 ++#: ../gio/gfile.c:9070 ../gio/gfile.c:9160 ../gio/gfile.c:9244 ++#: ../gio/win32/gwinhttpfile.c:453 + msgid "Operation not supported" + msgstr "不支持该操作" + +-#: gio/gdbusauthmechanismsha1.c:411 ++#: ../gio/gdbusauthmechanismsha1.c:411 + #, c-format + msgid "Error opening keyring “%s” for reading: " + msgstr "打开密钥环“%s”以读取时出错:" + +-#: gio/gdbusauthmechanismsha1.c:434 gio/gdbusauthmechanismsha1.c:775 ++#: ../gio/gdbusauthmechanismsha1.c:434 ../gio/gdbusauthmechanismsha1.c:775 + #, c-format + msgid "Line %d of the keyring at “%s” with content “%s” is malformed" + msgstr "“%2$s”处的密钥环第 %1$d 行有不符合格式的内容“%3$s”" + +-#: gio/gdbusauthmechanismsha1.c:448 gio/gdbusauthmechanismsha1.c:789 ++#: ../gio/gdbusauthmechanismsha1.c:448 ../gio/gdbusauthmechanismsha1.c:789 + #, c-format + msgid "" + "First token of line %d of the keyring at “%s” with content “%s” is malformed" + msgstr "“%2$s”处的密钥环第 %1$d 行第一个令牌有不符合格式的内容“%3$s”" + +-#: gio/gdbusauthmechanismsha1.c:462 gio/gdbusauthmechanismsha1.c:803 ++#: ../gio/gdbusauthmechanismsha1.c:462 ../gio/gdbusauthmechanismsha1.c:803 + #, c-format + msgid "" + "Second token of line %d of the keyring at “%s” with content “%s” is malformed" + msgstr "“%2$s”处的密钥环第 %1$d 行第二个令牌有不符合格式的内容“%3$s”" + +-#: gio/gdbusauthmechanismsha1.c:486 ++#: ../gio/gdbusauthmechanismsha1.c:486 + #, c-format + msgid "Didn’t find cookie with id %d in the keyring at “%s”" + msgstr "未在“%2$s”处的密钥环中找到 ID 为 %1$d 的 cookie" + +-#: gio/gdbusauthmechanismsha1.c:543 ++#: ../gio/gdbusauthmechanismsha1.c:543 + #, c-format + msgid "Error creating lock file “%s”: %s" + msgstr "创建锁文件“%s”时出错:%s" + +-#: gio/gdbusauthmechanismsha1.c:616 ++#: ../gio/gdbusauthmechanismsha1.c:616 + #, c-format + msgid "Error deleting stale lock file “%s”: %s" + msgstr "删除过时的锁文件“%s”时出错:%s" + +-#: gio/gdbusauthmechanismsha1.c:655 ++#: ../gio/gdbusauthmechanismsha1.c:655 + #, c-format + msgid "Error closing (unlinked) lock file “%s”: %s" + msgstr "关闭(未链接的)锁文件“%s”时出错:%s" + +-#: gio/gdbusauthmechanismsha1.c:666 ++#: ../gio/gdbusauthmechanismsha1.c:666 + #, c-format + msgid "Error unlinking lock file “%s”: %s" + msgstr "删除(unlink)锁文件“%s”时出错:%s" + +-#: gio/gdbusauthmechanismsha1.c:742 ++#: ../gio/gdbusauthmechanismsha1.c:742 + #, c-format + msgid "Error opening keyring “%s” for writing: " + msgstr "打开钥匙环“%s”以写入时出错:" + +-#: gio/gdbusauthmechanismsha1.c:936 ++#: ../gio/gdbusauthmechanismsha1.c:936 + #, c-format + msgid "(Additionally, releasing the lock for “%s” also failed: %s) " + msgstr "(此外,解除“%s”的锁定也失败了:%s) " + +-#: gio/gdbusconnection.c:590 gio/gdbusconnection.c:2415 ++#: ../gio/gdbusconnection.c:590 ../gio/gdbusconnection.c:2415 + msgid "The connection is closed" + msgstr "连接已关闭" + +-#: gio/gdbusconnection.c:1899 ++#: ../gio/gdbusconnection.c:1899 + msgid "Timeout was reached" + msgstr "已到超时限制" + +-#: gio/gdbusconnection.c:2538 ++#: ../gio/gdbusconnection.c:2538 + msgid "" + "Unsupported flags encountered when constructing a client-side connection" + msgstr "构建客户端连接时遇到不支持的标志" + +-#: gio/gdbusconnection.c:4267 gio/gdbusconnection.c:4621 ++#: ../gio/gdbusconnection.c:4277 ../gio/gdbusconnection.c:4631 + #, c-format + msgid "" + "No such interface “org.freedesktop.DBus.Properties” on object at path %s" + msgstr "路径 %s 的对象上没有“org.freedesktop.DBus.Properties”接口" + +-#: gio/gdbusconnection.c:4412 ++#: ../gio/gdbusconnection.c:4422 + #, c-format + msgid "No such property “%s”" + msgstr "无此属性“%s”" + +-#: gio/gdbusconnection.c:4424 ++#: ../gio/gdbusconnection.c:4434 + #, c-format + msgid "Property “%s” is not readable" + msgstr "属性“%s”不可读" + +-#: gio/gdbusconnection.c:4435 ++#: ../gio/gdbusconnection.c:4445 + #, c-format + msgid "Property “%s” is not writable" + msgstr "属性“%s”不可写" + +-#: gio/gdbusconnection.c:4455 ++#: ../gio/gdbusconnection.c:4465 + #, c-format + msgid "Error setting property “%s”: Expected type “%s” but got “%s”" + msgstr "设置属性“%s”时出错:期望“%s”类型但得到了“%s”类型" + +-#: gio/gdbusconnection.c:4560 gio/gdbusconnection.c:4775 +-#: gio/gdbusconnection.c:6752 ++#: ../gio/gdbusconnection.c:4570 ../gio/gdbusconnection.c:4785 ++#: ../gio/gdbusconnection.c:6762 + #, c-format + msgid "No such interface “%s”" + msgstr "无此接口“%s”" + +-#: gio/gdbusconnection.c:4991 gio/gdbusconnection.c:7266 ++#: ../gio/gdbusconnection.c:5001 ../gio/gdbusconnection.c:7279 + #, c-format + msgid "No such interface “%s” on object at path %s" + msgstr "在路径 %s 的对象上没有“%s”接口" + +-#: gio/gdbusconnection.c:5092 ++#: ../gio/gdbusconnection.c:5102 + #, c-format + msgid "No such method “%s”" + msgstr "没有“%s”这个方法" + +-#: gio/gdbusconnection.c:5123 ++#: ../gio/gdbusconnection.c:5133 + #, c-format + msgid "Type of message, “%s”, does not match expected type “%s”" + msgstr "消息的类型“%s”,与预期的类型“%s”不匹配" + +-#: gio/gdbusconnection.c:5326 ++#: ../gio/gdbusconnection.c:5336 + #, c-format + msgid "An object is already exported for the interface %s at %s" + msgstr "已为 %2$s 处的接口 %1$s 导出了一个对象" + +-#: gio/gdbusconnection.c:5553 ++#: ../gio/gdbusconnection.c:5563 + #, c-format + msgid "Unable to retrieve property %s.%s" + msgstr "无法检索属性 %s.%s" + +-#: gio/gdbusconnection.c:5609 ++#: ../gio/gdbusconnection.c:5619 + #, c-format + msgid "Unable to set property %s.%s" + msgstr "无法设置属性 %s.%s" + +-#: gio/gdbusconnection.c:5788 ++#: ../gio/gdbusconnection.c:5798 + #, c-format + msgid "Method “%s” returned type “%s”, but expected “%s”" + msgstr "方法“%s”返回类型“%s”,但预期的是“%s”" + +-#: gio/gdbusconnection.c:6864 ++#: ../gio/gdbusconnection.c:6874 + #, c-format + msgid "Method “%s” on interface “%s” with signature “%s” does not exist" + msgstr "带有“%3$s”签名的接口“%2$s”上不存在“%1$s”方法" + +-#: gio/gdbusconnection.c:6985 ++#: ../gio/gdbusconnection.c:6995 + #, c-format + msgid "A subtree is already exported for %s" + msgstr "已经为 %s 导出一个子树" + +-#: gio/gdbusconnection.c:7274 ++#: ../gio/gdbusconnection.c:7287 + #, c-format + msgid "Object does not exist at path “%s”" + msgstr "对象在路径“%s”处不存在" + +-#: gio/gdbusmessage.c:1306 ++#: ../gio/gdbusmessage.c:1306 + msgid "type is INVALID" + msgstr "类型无效" + +-#: gio/gdbusmessage.c:1317 +-msgid "METHOD_CALL message: PATH or MEMBER header field is missing" ++#: ../gio/gdbusmessage.c:1324 ++#, fuzzy ++msgid "METHOD_CALL message: PATH or MEMBER header field is missing or invalid" + msgstr "METHOD_CALL 消息:PATH 或 MEMBER 首部字段缺失" + +-#: gio/gdbusmessage.c:1328 +-msgid "METHOD_RETURN message: REPLY_SERIAL header field is missing" ++#: ../gio/gdbusmessage.c:1340 ++#, fuzzy ++msgid "METHOD_RETURN message: REPLY_SERIAL header field is missing or invalid" + msgstr "METHOD_RETURN 消息:REPLY_SERIAL 首部字段缺失" + +-#: gio/gdbusmessage.c:1340 +-msgid "ERROR message: REPLY_SERIAL or ERROR_NAME header field is missing" ++#: ../gio/gdbusmessage.c:1360 ++#, fuzzy ++msgid "" ++"ERROR message: REPLY_SERIAL or ERROR_NAME header field is missing or invalid" + msgstr "错误消息:REPLY_SERIAL 或 ERROR_NAME 首部字段缺失" + +-#: gio/gdbusmessage.c:1353 +-msgid "SIGNAL message: PATH, INTERFACE or MEMBER header field is missing" ++#: ../gio/gdbusmessage.c:1384 ++#, fuzzy ++msgid "" ++"SIGNAL message: PATH, INTERFACE or MEMBER header field is missing or invalid" + msgstr "信号消息:PATH、INTERFACE 或 MEMBER METHOD_RETURN缺失" + +-#: gio/gdbusmessage.c:1361 ++#: ../gio/gdbusmessage.c:1392 + msgid "" + "SIGNAL message: The PATH header field is using the reserved value /org/" + "freedesktop/DBus/Local" + msgstr "信号消息:PATH 首部字段正在使用保留值 /org/freedesktop/DBus/Local" + +-#: gio/gdbusmessage.c:1369 ++#: ../gio/gdbusmessage.c:1400 + msgid "" + "SIGNAL message: The INTERFACE header field is using the reserved value org." + "freedesktop.DBus.Local" + msgstr "信号消息:INTERFACE 首部字段正在使用保留值 org.freedesktop.DBus.Local" + +-#: gio/gdbusmessage.c:1417 gio/gdbusmessage.c:1477 ++#: ../gio/gdbusmessage.c:1449 ../gio/gdbusmessage.c:1509 + #, c-format + msgid "Wanted to read %lu byte but only got %lu" + msgid_plural "Wanted to read %lu bytes but only got %lu" + msgstr[0] "期望读取 %lu 个字节但只得到 %lu 个" + +-#: gio/gdbusmessage.c:1431 ++#: ../gio/gdbusmessage.c:1463 + #, c-format + msgid "Expected NUL byte after the string “%s” but found byte %d" + msgstr "期望“%s”后为 NUL 字节但找到了字节 %d" + +-#: gio/gdbusmessage.c:1450 ++#: ../gio/gdbusmessage.c:1482 + #, c-format + msgid "" + "Expected valid UTF-8 string but found invalid bytes at byte offset %d " +@@ -801,21 +819,22 @@ msgstr "" + "期望得到有效的 UTF-8 字符串,但在字节偏移 %d 处(字符串长度为 %d)找到了无效" + "的字节。该点的有效 UTF-8 字符串曾是“%s”" + +-#: gio/gdbusmessage.c:1514 gio/gdbusmessage.c:1790 gio/gdbusmessage.c:2001 ++#: ../gio/gdbusmessage.c:1546 ../gio/gdbusmessage.c:1822 ++#: ../gio/gdbusmessage.c:2033 + msgid "Value nested too deeply" + msgstr "值嵌套过深" + +-#: gio/gdbusmessage.c:1682 ++#: ../gio/gdbusmessage.c:1714 + #, c-format + msgid "Parsed value “%s” is not a valid D-Bus object path" + msgstr "已解析的值“%s”不是有效的 D-Bus 对象路径" + +-#: gio/gdbusmessage.c:1706 ++#: ../gio/gdbusmessage.c:1738 + #, c-format + msgid "Parsed value “%s” is not a valid D-Bus signature" + msgstr "已解析的值“%s”不是有效的 D-Bus 签名" + +-#: gio/gdbusmessage.c:1757 ++#: ../gio/gdbusmessage.c:1789 + #, c-format + msgid "" + "Encountered array of length %u byte. Maximum length is 2<<26 bytes (64 MiB)." +@@ -823,7 +842,7 @@ msgid_plural "" + "Encountered array of length %u bytes. Maximum length is 2<<26 bytes (64 MiB)." + msgstr[0] "遇到长度为 %u 字节的数组。最大长度应为 2<<26 字节(64 MiB)。" + +-#: gio/gdbusmessage.c:1777 ++#: ../gio/gdbusmessage.c:1809 + #, c-format + msgid "" + "Encountered array of type “a%c”, expected to have a length a multiple of %u " +@@ -831,131 +850,131 @@ msgid "" + msgstr "" + "遇到类型为“a%c”的数组,需要长度为 %u 字节的倍数,但是找到的长度为 %u 字节" + +-#: gio/gdbusmessage.c:1931 gio/gdbusmessage.c:2650 ++#: ../gio/gdbusmessage.c:1963 ../gio/gdbusmessage.c:2682 + msgid "Empty structures (tuples) are not allowed in D-Bus" + msgstr "D-Bus 中不允许空结构(tuples)" + +-#: gio/gdbusmessage.c:1985 ++#: ../gio/gdbusmessage.c:2017 + #, c-format + msgid "Parsed value “%s” for variant is not a valid D-Bus signature" + msgstr "变量的已解析值“%s”不是有效的 D-Bus 签名" + +-#: gio/gdbusmessage.c:2026 ++#: ../gio/gdbusmessage.c:2058 + #, c-format + msgid "" + "Error deserializing GVariant with type string “%s” from the D-Bus wire format" + msgstr "从 D-Bus 线格式以类型字符串“%s”反序列化 GVariant 时发生错误" + +-#: gio/gdbusmessage.c:2211 ++#: ../gio/gdbusmessage.c:2243 + #, c-format + msgid "" + "Invalid endianness value. Expected 0x6c (“l”) or 0x42 (“B”) but found value " + "0x%02x" + msgstr "无效的字节序值。期望为 0x6c(“l”)或 0x42(“B”)但找到值 0x%02x" + +-#: gio/gdbusmessage.c:2230 ++#: ../gio/gdbusmessage.c:2262 + #, c-format + msgid "Invalid major protocol version. Expected 1 but found %d" + msgstr "无效的主协议版本。期望 1,但是找到了 %d" + +-#: gio/gdbusmessage.c:2288 gio/gdbusmessage.c:2886 ++#: ../gio/gdbusmessage.c:2320 ../gio/gdbusmessage.c:2918 + msgid "Signature header found but is not of type signature" + msgstr "找到了签名首部但不属于类型签名" + +-#: gio/gdbusmessage.c:2300 ++#: ../gio/gdbusmessage.c:2332 + #, c-format + msgid "Signature header with signature “%s” found but message body is empty" + msgstr "发现签名“%s”的签名首部,但消息主体为空" + +-#: gio/gdbusmessage.c:2315 ++#: ../gio/gdbusmessage.c:2347 + #, c-format + msgid "Parsed value “%s” is not a valid D-Bus signature (for body)" + msgstr "已解析的值“%s”不是有效的 D-Bus 签名(针对消息主体)" + +-#: gio/gdbusmessage.c:2347 ++#: ../gio/gdbusmessage.c:2379 + #, c-format + msgid "No signature header in message but the message body is %u byte" + msgid_plural "No signature header in message but the message body is %u bytes" + msgstr[0] "消息中没有签名首部,但消息主体为 %u 字节" + +-#: gio/gdbusmessage.c:2357 ++#: ../gio/gdbusmessage.c:2389 + msgid "Cannot deserialize message: " + msgstr "无法反序列化消息:" + +-#: gio/gdbusmessage.c:2703 ++#: ../gio/gdbusmessage.c:2735 + #, c-format + msgid "" + "Error serializing GVariant with type string “%s” to the D-Bus wire format" + msgstr "以类型字符串“%s”序列化 GVariant 到 D-Bus 线格式时发生错误" + +-#: gio/gdbusmessage.c:2840 ++#: ../gio/gdbusmessage.c:2872 + #, c-format + msgid "" + "Number of file descriptors in message (%d) differs from header field (%d)" + msgstr "消息中的文件描述符数量(%d)与首部字段中的(%d)不同" + +-#: gio/gdbusmessage.c:2848 ++#: ../gio/gdbusmessage.c:2880 + msgid "Cannot serialize message: " + msgstr "无法序列化消息:" + +-#: gio/gdbusmessage.c:2901 ++#: ../gio/gdbusmessage.c:2933 + #, c-format + msgid "Message body has signature “%s” but there is no signature header" + msgstr "消息主体有签名“%s”但是没有签名首部" + +-#: gio/gdbusmessage.c:2911 ++#: ../gio/gdbusmessage.c:2943 + #, c-format + msgid "" + "Message body has type signature “%s” but signature in the header field is " + "“%s”" + msgstr "消息主体有类型签名“%s”但首部字段的签名为“%s”" + +-#: gio/gdbusmessage.c:2927 ++#: ../gio/gdbusmessage.c:2959 + #, c-format + msgid "Message body is empty but signature in the header field is “(%s)”" + msgstr "消息主体为空,但首部字段的签名为“(%s)”" + +-#: gio/gdbusmessage.c:3482 ++#: ../gio/gdbusmessage.c:3514 + #, c-format + msgid "Error return with body of type “%s”" + msgstr "出错,返回了“%s”类型的主体" + +-#: gio/gdbusmessage.c:3490 ++#: ../gio/gdbusmessage.c:3522 + msgid "Error return with empty body" + msgstr "出错,返回了空的主体" + +-#: gio/gdbusprivate.c:2201 ++#: ../gio/gdbusprivate.c:2201 + #, c-format + msgid "(Type any character to close this window)\n" + msgstr "(按任意键关闭本窗口)\n" + +-#: gio/gdbusprivate.c:2387 ++#: ../gio/gdbusprivate.c:2387 + #, c-format + msgid "Session dbus not running, and autolaunch failed" + msgstr "dbus 会话未运行,自动启动失败" + +-#: gio/gdbusprivate.c:2410 ++#: ../gio/gdbusprivate.c:2410 + #, c-format + msgid "Unable to get Hardware profile: %s" + msgstr "无法获取硬件配置文件:%s" + + #. Translators: Both placeholders are file paths +-#: gio/gdbusprivate.c:2461 ++#: ../gio/gdbusprivate.c:2461 + #, c-format + msgid "Unable to load %s or %s: " + msgstr "无法载入 %s 或 %s:" + +-#: gio/gdbusproxy.c:1568 ++#: ../gio/gdbusproxy.c:1568 + #, c-format + msgid "Error calling StartServiceByName for %s: " + msgstr "为 %s 调用 StartServiceByName 时出错:" + +-#: gio/gdbusproxy.c:1591 ++#: ../gio/gdbusproxy.c:1591 + #, c-format + msgid "Unexpected reply %d from StartServiceByName(\"%s\") method" + msgstr "从 StartServiceByName(\"%2$s\") 方法获得意外回复 %1$d" + +-#: gio/gdbusproxy.c:2702 gio/gdbusproxy.c:2837 ++#: ../gio/gdbusproxy.c:2702 ../gio/gdbusproxy.c:2837 + #, c-format + msgid "" + "Cannot invoke method; proxy is for the well-known name %s without an owner, " +@@ -964,31 +983,31 @@ msgstr "" + "无法调用方法;代理名称为常见的无所有者的名称 %s,且代理使用 " + "G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START 标记构建" + +-#: gio/gdbusserver.c:758 ++#: ../gio/gdbusserver.c:758 + msgid "Abstract namespace not supported" + msgstr "不支持抽象命名空间" + +-#: gio/gdbusserver.c:850 ++#: ../gio/gdbusserver.c:850 + msgid "Cannot specify nonce file when creating a server" + msgstr "创建服务器时无法指定临时文件" + +-#: gio/gdbusserver.c:932 ++#: ../gio/gdbusserver.c:932 + #, c-format + msgid "Error writing nonce file at “%s”: %s" + msgstr "写入“%s”处的临时文件时出错:%s" + +-#: gio/gdbusserver.c:1107 ++#: ../gio/gdbusserver.c:1107 + #, c-format + msgid "The string “%s” is not a valid D-Bus GUID" + msgstr "字符串“%s”不是有效 D-Bus GUID" + +-#: gio/gdbusserver.c:1145 ++#: ../gio/gdbusserver.c:1145 + #, c-format + msgid "Cannot listen on unsupported transport “%s”" + msgstr "无法监听不支持的传输“%s”" + + # 统一翻译 +-#: gio/gdbus-tool.c:113 ++#: ../gio/gdbus-tool.c:113 + #, c-format + msgid "" + "Commands:\n" +@@ -1011,365 +1030,373 @@ msgstr "" + "\n" + "使用“%s 命令 --help”以获得每一个命令的帮助。\n" + +-#: gio/gdbus-tool.c:204 gio/gdbus-tool.c:276 gio/gdbus-tool.c:347 +-#: gio/gdbus-tool.c:371 gio/gdbus-tool.c:861 gio/gdbus-tool.c:1246 +-#: gio/gdbus-tool.c:1733 ++#: ../gio/gdbus-tool.c:204 ../gio/gdbus-tool.c:276 ../gio/gdbus-tool.c:347 ++#: ../gio/gdbus-tool.c:371 ../gio/gdbus-tool.c:861 ../gio/gdbus-tool.c:1246 ++#: ../gio/gdbus-tool.c:1733 + #, c-format + msgid "Error: %s\n" + msgstr "错误:%s\n" + +-#: gio/gdbus-tool.c:215 gio/gdbus-tool.c:289 gio/gdbus-tool.c:1749 ++#: ../gio/gdbus-tool.c:215 ../gio/gdbus-tool.c:289 ../gio/gdbus-tool.c:1749 + #, c-format + msgid "Error parsing introspection XML: %s\n" + msgstr "解析 Introspection XML 时出错:%s\n" + +-#: gio/gdbus-tool.c:253 ++#: ../gio/gdbus-tool.c:253 + #, c-format + msgid "Error: %s is not a valid name\n" + msgstr "错误:%s 不是有效的名称\n" + +-#: gio/gdbus-tool.c:258 gio/gdbus-tool.c:747 gio/gdbus-tool.c:1065 +-#: gio/gdbus-tool.c:1899 gio/gdbus-tool.c:2139 ++#: ../gio/gdbus-tool.c:258 ../gio/gdbus-tool.c:747 ../gio/gdbus-tool.c:1065 ++#: ../gio/gdbus-tool.c:1899 ../gio/gdbus-tool.c:2139 + #, c-format + msgid "Error: %s is not a valid object path\n" + msgstr "错误:%s 不是有效的对象路径\n" + +-#: gio/gdbus-tool.c:405 ++#: ../gio/gdbus-tool.c:405 + msgid "Connect to the system bus" + msgstr "连接到系统总线" + +-#: gio/gdbus-tool.c:406 ++#: ../gio/gdbus-tool.c:406 + msgid "Connect to the session bus" + msgstr "连接到会话总线" + +-#: gio/gdbus-tool.c:407 ++#: ../gio/gdbus-tool.c:407 + msgid "Connect to given D-Bus address" + msgstr "连接到给定的 D-Bus 地址" + +-#: gio/gdbus-tool.c:417 ++#: ../gio/gdbus-tool.c:417 + msgid "Connection Endpoint Options:" + msgstr "连接端点选项:" + +-#: gio/gdbus-tool.c:418 ++#: ../gio/gdbus-tool.c:418 + msgid "Options specifying the connection endpoint" + msgstr "指定连接端点的选项" + + # 没有>未,消歧义 +-#: gio/gdbus-tool.c:441 ++#: ../gio/gdbus-tool.c:441 + #, c-format + msgid "No connection endpoint specified" + msgstr "未指定连接的端点" + +-#: gio/gdbus-tool.c:451 ++#: ../gio/gdbus-tool.c:451 + #, c-format + msgid "Multiple connection endpoints specified" + msgstr "指定了多个连接端点" + +-#: gio/gdbus-tool.c:524 ++#: ../gio/gdbus-tool.c:524 + #, c-format + msgid "" + "Warning: According to introspection data, interface “%s” does not exist\n" + msgstr "警告:根据 Introspection 数据,接口“%s”不存在\n" + +-#: gio/gdbus-tool.c:533 ++#: ../gio/gdbus-tool.c:533 + #, c-format + msgid "" + "Warning: According to introspection data, method “%s” does not exist on " + "interface “%s”\n" + msgstr "警告:根据 Introspection 数据,接口“%2$s”中不存在方法“%1$s”\n" + +-#: gio/gdbus-tool.c:595 ++#: ../gio/gdbus-tool.c:595 + msgid "Optional destination for signal (unique name)" + msgstr "信号的可选目标位置(唯一名称)" + +-#: gio/gdbus-tool.c:596 ++#: ../gio/gdbus-tool.c:596 + msgid "Object path to emit signal on" + msgstr "要触发信号的对象路径" + +-#: gio/gdbus-tool.c:597 ++#: ../gio/gdbus-tool.c:597 + msgid "Signal and interface name" + msgstr "信号和接口名称" + +-#: gio/gdbus-tool.c:630 ++#: ../gio/gdbus-tool.c:630 + msgid "Emit a signal." + msgstr "发射信号。" + +-#: gio/gdbus-tool.c:685 gio/gdbus-tool.c:1002 gio/gdbus-tool.c:1836 +-#: gio/gdbus-tool.c:2068 gio/gdbus-tool.c:2288 ++#: ../gio/gdbus-tool.c:685 ../gio/gdbus-tool.c:1002 ../gio/gdbus-tool.c:1836 ++#: ../gio/gdbus-tool.c:2068 ../gio/gdbus-tool.c:2288 + #, c-format + msgid "Error connecting: %s\n" + msgstr "连接时出错:%s\n" + +-#: gio/gdbus-tool.c:705 ++#: ../gio/gdbus-tool.c:705 + #, c-format + msgid "Error: %s is not a valid unique bus name.\n" + msgstr "错误:%s 不是有效的唯一总线名。\n" + +-#: gio/gdbus-tool.c:724 gio/gdbus-tool.c:1045 gio/gdbus-tool.c:1879 ++#: ../gio/gdbus-tool.c:724 ../gio/gdbus-tool.c:1045 ../gio/gdbus-tool.c:1879 ++#, c-format + msgid "Error: Object path is not specified\n" + msgstr "错误:未指定对象路径\n" + +-#: gio/gdbus-tool.c:767 ++#: ../gio/gdbus-tool.c:767 ++#, c-format + msgid "Error: Signal name is not specified\n" + msgstr "错误:未指定信号名\n" + +-#: gio/gdbus-tool.c:781 ++#: ../gio/gdbus-tool.c:781 + #, c-format + msgid "Error: Signal name “%s” is invalid\n" + msgstr "错误:信号名“%s”无效\n" + +-#: gio/gdbus-tool.c:793 ++#: ../gio/gdbus-tool.c:793 + #, c-format + msgid "Error: %s is not a valid interface name\n" + msgstr "错误:%s 不是有效的接口名称。\n" + +-#: gio/gdbus-tool.c:799 ++#: ../gio/gdbus-tool.c:799 + #, c-format + msgid "Error: %s is not a valid member name\n" + msgstr "错误:%s 不是有效的成员名称。\n" + + #. Use the original non-"parse-me-harder" error +-#: gio/gdbus-tool.c:836 gio/gdbus-tool.c:1177 ++#: ../gio/gdbus-tool.c:836 ../gio/gdbus-tool.c:1177 + #, c-format + msgid "Error parsing parameter %d: %s\n" + msgstr "解析第 %d 个选项时出错:%s\n" + +-#: gio/gdbus-tool.c:868 ++#: ../gio/gdbus-tool.c:868 + #, c-format + msgid "Error flushing connection: %s\n" + msgstr "刷新连接时出错:%s\n" + +-#: gio/gdbus-tool.c:896 ++#: ../gio/gdbus-tool.c:896 + msgid "Destination name to invoke method on" + msgstr "调用方法的目标位置名称" + +-#: gio/gdbus-tool.c:897 ++#: ../gio/gdbus-tool.c:897 + msgid "Object path to invoke method on" + msgstr "调用方法的对象路径" + +-#: gio/gdbus-tool.c:898 ++#: ../gio/gdbus-tool.c:898 + msgid "Method and interface name" + msgstr "方法和接口名称" + +-#: gio/gdbus-tool.c:899 ++#: ../gio/gdbus-tool.c:899 + msgid "Timeout in seconds" + msgstr "超时(以秒计)" + +-#: gio/gdbus-tool.c:900 ++#: ../gio/gdbus-tool.c:900 + msgid "Allow interactive authorization" + msgstr "允许交互式授权" + +-#: gio/gdbus-tool.c:947 ++#: ../gio/gdbus-tool.c:947 + msgid "Invoke a method on a remote object." + msgstr "在远程对象上调用一个方法。" + +-#: gio/gdbus-tool.c:1019 gio/gdbus-tool.c:1853 gio/gdbus-tool.c:2093 ++#: ../gio/gdbus-tool.c:1019 ../gio/gdbus-tool.c:1853 ../gio/gdbus-tool.c:2093 ++#, c-format + msgid "Error: Destination is not specified\n" + msgstr "错误:未指定目标位置名称\n" + +-#: gio/gdbus-tool.c:1030 gio/gdbus-tool.c:1870 gio/gdbus-tool.c:2104 ++#: ../gio/gdbus-tool.c:1030 ../gio/gdbus-tool.c:1870 ../gio/gdbus-tool.c:2104 + #, c-format + msgid "Error: %s is not a valid bus name\n" + msgstr "错误:%s 不是有效的总线名称\n" + +-#: gio/gdbus-tool.c:1080 ++#: ../gio/gdbus-tool.c:1080 ++#, c-format + msgid "Error: Method name is not specified\n" + msgstr "错误:方法名没有指定\n" + +-#: gio/gdbus-tool.c:1091 ++#: ../gio/gdbus-tool.c:1091 + #, c-format + msgid "Error: Method name “%s” is invalid\n" + msgstr "错误:方法名“%s”无效\n" + +-#: gio/gdbus-tool.c:1169 ++#: ../gio/gdbus-tool.c:1169 + #, c-format + msgid "Error parsing parameter %d of type “%s”: %s\n" + msgstr "解析\"%2$s\"类型的第 %1$d 个参数时发生错误:%3$s\n" + +-#: gio/gdbus-tool.c:1195 ++#: ../gio/gdbus-tool.c:1195 + #, c-format + msgid "Error adding handle %d: %s\n" + msgstr "添加句柄 %d 时出错:%s\n" + +-#: gio/gdbus-tool.c:1695 ++#: ../gio/gdbus-tool.c:1695 + msgid "Destination name to introspect" + msgstr "要 Introspect 的目标位置名称" + +-#: gio/gdbus-tool.c:1696 ++#: ../gio/gdbus-tool.c:1696 + msgid "Object path to introspect" + msgstr "要 Introspect 的对象路径" + +-#: gio/gdbus-tool.c:1697 ++#: ../gio/gdbus-tool.c:1697 + msgid "Print XML" + msgstr "输出 XML" + +-#: gio/gdbus-tool.c:1698 ++#: ../gio/gdbus-tool.c:1698 + msgid "Introspect children" + msgstr "Introspect 子对象" + +-#: gio/gdbus-tool.c:1699 ++#: ../gio/gdbus-tool.c:1699 + msgid "Only print properties" + msgstr "只打印属性" + + # 跟命令行里的统一翻译 +-#: gio/gdbus-tool.c:1788 ++#: ../gio/gdbus-tool.c:1788 + msgid "Introspect a remote object." + msgstr "Introspect 一个远程对象。" + +-#: gio/gdbus-tool.c:1994 ++#: ../gio/gdbus-tool.c:1994 + msgid "Destination name to monitor" + msgstr "要监视的目标位置名称" + +-#: gio/gdbus-tool.c:1995 ++#: ../gio/gdbus-tool.c:1995 + msgid "Object path to monitor" + msgstr "要监视的对象路径" + +-#: gio/gdbus-tool.c:2020 ++#: ../gio/gdbus-tool.c:2020 + msgid "Monitor a remote object." + msgstr "监视一个远程对象。" + +-#: gio/gdbus-tool.c:2078 ++#: ../gio/gdbus-tool.c:2078 ++#, c-format + msgid "Error: can’t monitor a non-message-bus connection\n" + msgstr "错误:无法监视 non-message-bus 连接\n" + +-#: gio/gdbus-tool.c:2202 ++#: ../gio/gdbus-tool.c:2202 + msgid "Service to activate before waiting for the other one (well-known name)" + msgstr "在等待另一服务前要激活的服务(常见名称)" + +-#: gio/gdbus-tool.c:2205 ++#: ../gio/gdbus-tool.c:2205 + msgid "" + "Timeout to wait for before exiting with an error (seconds); 0 for no timeout " + "(default)" + msgstr "出现错误退出前的超时(秒); 0 为无超时(默认)" + +-#: gio/gdbus-tool.c:2253 ++#: ../gio/gdbus-tool.c:2253 + msgid "[OPTION…] BUS-NAME" + msgstr "[选项…] 总线名称" + +-#: gio/gdbus-tool.c:2254 ++#: ../gio/gdbus-tool.c:2254 + msgid "Wait for a bus name to appear." + msgstr "等待总线名称出现。" + +-#: gio/gdbus-tool.c:2330 ++#: ../gio/gdbus-tool.c:2330 ++#, c-format + msgid "Error: A service to activate for must be specified.\n" + msgstr "错误:未指定需要激活的服务名称。\n" + +-#: gio/gdbus-tool.c:2335 ++#: ../gio/gdbus-tool.c:2335 ++#, c-format + msgid "Error: A service to wait for must be specified.\n" + msgstr "错误:未指定需要等待的服务名称。\n" + +-#: gio/gdbus-tool.c:2340 ++#: ../gio/gdbus-tool.c:2340 ++#, c-format + msgid "Error: Too many arguments.\n" + msgstr "错误:参数过多。\n" + +-#: gio/gdbus-tool.c:2348 gio/gdbus-tool.c:2355 ++#: ../gio/gdbus-tool.c:2348 ../gio/gdbus-tool.c:2355 + #, c-format + msgid "Error: %s is not a valid well-known bus name.\n" + msgstr "错误:%s 不是有效的总线名称。\n" + +-#: gio/gdebugcontrollerdbus.c:361 ++#: ../gio/gdebugcontrollerdbus.c:361 + #, c-format + msgid "Not authorized to change debug settings" + msgstr "未获认证以更改调试设置" + +-#: gio/gdesktopappinfo.c:2242 gio/gdesktopappinfo.c:5226 ++#: ../gio/gdesktopappinfo.c:2243 ../gio/gdesktopappinfo.c:5266 + msgid "Unnamed" + msgstr "未命名" + +-#: gio/gdesktopappinfo.c:2652 ++#: ../gio/gdesktopappinfo.c:2653 + msgid "Desktop file didn’t specify Exec field" + msgstr "桌面文件未指定 Exec 字段" + +-#: gio/gdesktopappinfo.c:2942 ++#: ../gio/gdesktopappinfo.c:2943 + msgid "Unable to find terminal required for application" + msgstr "无法找到应用程序需要的终端" + +-#: gio/gdesktopappinfo.c:3002 ++#: ../gio/gdesktopappinfo.c:3003 + #, c-format + msgid "Program ‘%s’ not found in $PATH" + msgstr "程序 ‘%s’ 未在 $PATH 路径中找到" + +-#: gio/gdesktopappinfo.c:3738 ++#: ../gio/gdesktopappinfo.c:3778 + #, c-format + msgid "Can’t create user application configuration folder %s: %s" + msgstr "无法创建用户应用程序配置文件夹 %s:%s" + +-#: gio/gdesktopappinfo.c:3742 ++#: ../gio/gdesktopappinfo.c:3782 + #, c-format + msgid "Can’t create user MIME configuration folder %s: %s" + msgstr "无法创建用户 MIME 配置文件夹 %s:%s" + +-#: gio/gdesktopappinfo.c:3984 gio/gdesktopappinfo.c:4008 ++#: ../gio/gdesktopappinfo.c:4024 ../gio/gdesktopappinfo.c:4048 + msgid "Application information lacks an identifier" + msgstr "应用程序信息缺少标志符" + +-#: gio/gdesktopappinfo.c:4244 ++#: ../gio/gdesktopappinfo.c:4284 + #, c-format + msgid "Can’t create user desktop file %s" + msgstr "无法创建用户桌面文件 %s" + +-#: gio/gdesktopappinfo.c:4380 ++#: ../gio/gdesktopappinfo.c:4420 + #, c-format + msgid "Custom definition for %s" + msgstr "%s 的自定义" + +-#: gio/gdrive.c:419 ++#: ../gio/gdrive.c:419 + msgid "drive doesn’t implement eject" + msgstr "驱动器未实现弹出" + + #. Translators: This is an error + #. * message for drive objects that + #. * don't implement any of eject or eject_with_operation. +-#: gio/gdrive.c:497 ++#: ../gio/gdrive.c:497 + msgid "drive doesn’t implement eject or eject_with_operation" + msgstr "驱动器未实现弹出或 eject_with_operation" + +-#: gio/gdrive.c:573 ++#: ../gio/gdrive.c:573 + msgid "drive doesn’t implement polling for media" + msgstr "驱动器未实现介质的轮询" + +-#: gio/gdrive.c:780 ++#: ../gio/gdrive.c:780 + msgid "drive doesn’t implement start" + msgstr "驱动器未实现启动" + +-#: gio/gdrive.c:882 ++#: ../gio/gdrive.c:882 + msgid "drive doesn’t implement stop" + msgstr "驱动器未实现停止" + +-#: gio/gdtlsconnection.c:1188 gio/gtlsconnection.c:957 ++#: ../gio/gdtlsconnection.c:1188 ../gio/gtlsconnection.c:957 + msgid "TLS backend does not implement TLS binding retrieval" + msgstr "TLS 后端没有实现 TLS 绑定获取" + +-#: gio/gdummytlsbackend.c:197 gio/gdummytlsbackend.c:323 +-#: gio/gdummytlsbackend.c:515 ++#: ../gio/gdummytlsbackend.c:197 ../gio/gdummytlsbackend.c:323 ++#: ../gio/gdummytlsbackend.c:515 + msgid "TLS support is not available" + msgstr "TLS 支持不可用" + +-#: gio/gdummytlsbackend.c:425 ++#: ../gio/gdummytlsbackend.c:425 + msgid "DTLS support is not available" + msgstr "DTLS 支持不可用" + +-#: gio/gemblem.c:325 ++#: ../gio/gemblem.c:325 + #, c-format + msgid "Can’t handle version %d of GEmblem encoding" + msgstr "无法处理版本为 %d 的 GEmblem 编码" + +-#: gio/gemblem.c:335 ++#: ../gio/gemblem.c:335 + #, c-format + msgid "Malformed number of tokens (%d) in GEmblem encoding" + msgstr "GEmblem 编码中有不正确的符号数量(%d)" + +-#: gio/gemblemedicon.c:364 ++#: ../gio/gemblemedicon.c:364 + #, c-format + msgid "Can’t handle version %d of GEmblemedIcon encoding" + msgstr "无法处理版本为 %d 的 GEmblemedIcon 编码" + +-#: gio/gemblemedicon.c:374 ++#: ../gio/gemblemedicon.c:374 + #, c-format + msgid "Malformed number of tokens (%d) in GEmblemedIcon encoding" + msgstr "GEmblemedIcon 编码中有不正确的符号数量(%d)" + +-#: gio/gemblemedicon.c:397 ++#: ../gio/gemblemedicon.c:397 + msgid "Expected a GEmblem for GEmblemedIcon" + msgstr "GEmblemedIcon 中应为 GEmblem" + +@@ -1377,223 +1404,235 @@ msgstr "GEmblemedIcon 中应为 GEmblem" + #. * trying to find the enclosing (user visible) + #. * mount of a file, but none exists. + #. +-#: gio/gfile.c:1601 ++#: ../gio/gfile.c:1627 + msgid "Containing mount does not exist" + msgstr "包含的挂载不存在" + +-#: gio/gfile.c:2648 gio/glocalfile.c:2518 ++#: ../gio/gfile.c:2674 ../gio/glocalfile.c:2528 + msgid "Can’t copy over directory" + msgstr "无法跨目录复制" + +-#: gio/gfile.c:2708 ++#: ../gio/gfile.c:2734 + msgid "Can’t copy directory over directory" + msgstr "无法跨目录复制到目录" + +-#: gio/gfile.c:2716 ++#: ../gio/gfile.c:2742 + msgid "Target file exists" + msgstr "目标文件已存在" + +-#: gio/gfile.c:2735 ++#: ../gio/gfile.c:2761 + msgid "Can’t recursively copy directory" + msgstr "无法递归复制目录" + +-#: gio/gfile.c:3044 gio/gfile.c:3092 ++#: ../gio/gfile.c:3070 ../gio/gfile.c:3118 + #, c-format + msgid "Copy file range not supported" + msgstr "不支持复制文件范围" + +-#: gio/gfile.c:3050 gio/gfile.c:3161 ++#: ../gio/gfile.c:3076 ../gio/gfile.c:3187 + #, c-format + msgid "Error splicing file: %s" + msgstr "拼接文件时出错:%s" + +-#: gio/gfile.c:3157 ++#: ../gio/gfile.c:3183 + msgid "Splice not supported" + msgstr "不支持拼接" + +-#: gio/gfile.c:3321 ++#: ../gio/gfile.c:3347 + msgid "Copy (reflink/clone) between mounts is not supported" + msgstr "不支持在挂载之间复制(reflink/clone)" + +-#: gio/gfile.c:3325 ++#: ../gio/gfile.c:3351 + msgid "Copy (reflink/clone) is not supported or invalid" + msgstr "复制(reflink/clone)操作不支持或无效" + +-#: gio/gfile.c:3330 ++#: ../gio/gfile.c:3356 + msgid "Copy (reflink/clone) is not supported or didn’t work" + msgstr "复制(reflink/clone)操作不支持或者失败" + +-#: gio/gfile.c:3395 ++#: ../gio/gfile.c:3421 + msgid "Can’t copy special file" + msgstr "无法复制特殊文件" + +-#: gio/gfile.c:4314 ++#: ../gio/gfile.c:3727 ++msgid "" ++"The file is too large, the fat format file system only supports files within " ++"4G,can be imported in device after compression" ++msgstr "文件过大,fat文件系统仅支持小于4G文件,可以压缩后再尝试" ++ ++#: ../gio/gfile.c:3954 ++msgid "" ++"The file is too large, the fat format file system only supports files within " ++"4G,can be moved in device after compression" ++msgstr "文件过大,fat文件系统仅支持小于4G文件,可以压缩后再尝试" ++ ++#: ../gio/gfile.c:4384 + msgid "Invalid symlink value given" + msgstr "给定的符号链接值无效" + +-#: gio/gfile.c:4324 glib/gfileutils.c:2392 ++#: ../gio/gfile.c:4394 ../glib/gfileutils.c:2392 + msgid "Symbolic links not supported" + msgstr "不支持符号链接" + +-#: gio/gfile.c:4611 ++#: ../gio/gfile.c:4681 + msgid "Trash not supported" + msgstr "不支持回收站" + +-#: gio/gfile.c:4723 ++#: ../gio/gfile.c:4793 + #, c-format + msgid "File names cannot contain “%c”" + msgstr "文件名不能包含“%c”" + +-#: gio/gfile.c:7155 gio/gfile.c:7281 ++#: ../gio/gfile.c:7225 ../gio/gfile.c:7351 + #, c-format + msgid "Failed to create a temporary directory for template “%s”: %s" + msgstr "为模板“%s”创建临时目录失败:%s" + +-#: gio/gfile.c:7599 gio/gvolume.c:366 ++#: ../gio/gfile.c:7669 ../gio/gvolume.c:366 + msgid "volume doesn’t implement mount" + msgstr "卷未实现挂载" + +-#: gio/gfile.c:7713 gio/gfile.c:7790 ++#: ../gio/gfile.c:7783 ../gio/gfile.c:7860 + msgid "No application is registered as handling this file" + msgstr "没有应用程序注册为处理此文件的" + +-#: gio/gfileenumerator.c:214 ++#: ../gio/gfileenumerator.c:214 + msgid "Enumerator is closed" + msgstr "枚举器已关闭" + +-#: gio/gfileenumerator.c:221 gio/gfileenumerator.c:280 +-#: gio/gfileenumerator.c:425 gio/gfileenumerator.c:525 ++#: ../gio/gfileenumerator.c:221 ../gio/gfileenumerator.c:280 ++#: ../gio/gfileenumerator.c:425 ../gio/gfileenumerator.c:525 + msgid "File enumerator has outstanding operation" + msgstr "文件枚举器有异常操作" + +-#: gio/gfileenumerator.c:416 gio/gfileenumerator.c:516 ++#: ../gio/gfileenumerator.c:416 ../gio/gfileenumerator.c:516 + msgid "File enumerator is already closed" + msgstr "文件枚举器已关闭" + +-#: gio/gfileicon.c:252 ++#: ../gio/gfileicon.c:252 + #, c-format + msgid "Can’t handle version %d of GFileIcon encoding" + msgstr "无法处理版本为 %d 的 GFileIcon 编码" + +-#: gio/gfileicon.c:262 ++#: ../gio/gfileicon.c:262 + msgid "Malformed input data for GFileIcon" + msgstr "GFileIcon 有不正确的输入数据" + +-#: gio/gfileinputstream.c:151 gio/gfileinputstream.c:397 +-#: gio/gfileiostream.c:169 gio/gfileoutputstream.c:166 +-#: gio/gfileoutputstream.c:499 ++#: ../gio/gfileinputstream.c:151 ../gio/gfileinputstream.c:397 ++#: ../gio/gfileiostream.c:169 ../gio/gfileoutputstream.c:166 ++#: ../gio/gfileoutputstream.c:499 + msgid "Stream doesn’t support query_info" + msgstr "流不支持 query_info" + +-#: gio/gfileinputstream.c:328 gio/gfileiostream.c:382 +-#: gio/gfileoutputstream.c:373 ++#: ../gio/gfileinputstream.c:328 ../gio/gfileiostream.c:382 ++#: ../gio/gfileoutputstream.c:373 + msgid "Seek not supported on stream" + msgstr "流不支持定位" + +-#: gio/gfileinputstream.c:372 ++#: ../gio/gfileinputstream.c:372 + msgid "Truncate not allowed on input stream" + msgstr "输入流不允许截断" + +-#: gio/gfileiostream.c:458 gio/gfileoutputstream.c:449 ++#: ../gio/gfileiostream.c:458 ../gio/gfileoutputstream.c:449 + msgid "Truncate not supported on stream" + msgstr "流不支持截断" + +-#: gio/ghttpproxy.c:93 gio/gresolver.c:535 gio/gresolver.c:688 +-#: glib/gconvert.c:1842 ++#: ../gio/ghttpproxy.c:93 ../gio/gresolver.c:535 ../gio/gresolver.c:688 ++#: ../glib/gconvert.c:1842 + msgid "Invalid hostname" + msgstr "无效的主机名" + +-#: gio/ghttpproxy.c:145 ++#: ../gio/ghttpproxy.c:145 + msgid "Bad HTTP proxy reply" + msgstr "错误的 HTTP 代理回复" + +-#: gio/ghttpproxy.c:161 ++#: ../gio/ghttpproxy.c:161 + msgid "HTTP proxy connection not allowed" + msgstr "不允许 HTTP 代理连接" + +-#: gio/ghttpproxy.c:166 ++#: ../gio/ghttpproxy.c:166 + msgid "HTTP proxy authentication failed" + msgstr "HTTP 代理认证失败" + +-#: gio/ghttpproxy.c:169 ++#: ../gio/ghttpproxy.c:169 + msgid "HTTP proxy authentication required" + msgstr "HTTP 代理需要认证" + +-#: gio/ghttpproxy.c:173 ++#: ../gio/ghttpproxy.c:173 + #, c-format + msgid "HTTP proxy connection failed: %i" + msgstr "连接到 HTTP 代理失败: %i" + +-#: gio/ghttpproxy.c:268 ++#: ../gio/ghttpproxy.c:268 + msgid "HTTP proxy response too big" + msgstr "HTTP 代理响应过大" + +-#: gio/ghttpproxy.c:285 ++#: ../gio/ghttpproxy.c:285 + msgid "HTTP proxy server closed connection unexpectedly." + msgstr "HTTP 代理服务器意外关闭连接。" + +-#: gio/gicon.c:299 ++#: ../gio/gicon.c:299 + #, c-format + msgid "Wrong number of tokens (%d)" + msgstr "错误的符号数量(%d)" + +-#: gio/gicon.c:319 ++#: ../gio/gicon.c:319 + #, c-format + msgid "No type for class name %s" + msgstr "类名 %s 没有类型" + +-#: gio/gicon.c:329 ++#: ../gio/gicon.c:329 + #, c-format + msgid "Type %s does not implement the GIcon interface" + msgstr "类型 %s 没有实现 GIcon 接口" + +-#: gio/gicon.c:340 ++#: ../gio/gicon.c:340 + #, c-format + msgid "Type %s is not classed" + msgstr "类型 %s 不是类" + +-#: gio/gicon.c:354 ++#: ../gio/gicon.c:354 + #, c-format + msgid "Malformed version number: %s" + msgstr "不正确的版本号:%s" + +-#: gio/gicon.c:368 ++#: ../gio/gicon.c:368 + #, c-format + msgid "Type %s does not implement from_tokens() on the GIcon interface" + msgstr "类型 %s 没有实现 GIcon 接口的 from_tokens() 方法" + +-#: gio/gicon.c:470 ++#: ../gio/gicon.c:470 + msgid "Can’t handle the supplied version of the icon encoding" + msgstr "无法处理提供版本的图标编码" + +-#: gio/ginetaddressmask.c:184 ++#: ../gio/ginetaddressmask.c:184 + msgid "No address specified" + msgstr "没有指定地址" + +-#: gio/ginetaddressmask.c:192 ++#: ../gio/ginetaddressmask.c:192 + #, c-format + msgid "Length %u is too long for address" + msgstr "对地址来说长度 %u 太长了" + +-#: gio/ginetaddressmask.c:225 ++#: ../gio/ginetaddressmask.c:225 + msgid "Address has bits set beyond prefix length" + msgstr "地址有些位设置得超出了前缀长度" + +-#: gio/ginetaddressmask.c:302 ++#: ../gio/ginetaddressmask.c:302 + #, c-format + msgid "Could not parse “%s” as IP address mask" + msgstr "不能将“%s”解析为 IP 地址掩码" + +-#: gio/ginetsocketaddress.c:205 gio/ginetsocketaddress.c:222 +-#: gio/gnativesocketaddress.c:111 gio/gunixsocketaddress.c:230 ++#: ../gio/ginetsocketaddress.c:205 ../gio/ginetsocketaddress.c:222 ++#: ../gio/gnativesocketaddress.c:111 ../gio/gunixsocketaddress.c:230 + msgid "Not enough space for socket address" + msgstr "没有足够的空间用于套接字地址" + +-#: gio/ginetsocketaddress.c:237 ++#: ../gio/ginetsocketaddress.c:237 + msgid "Unsupported socket address" + msgstr "不支持的套接字地址" + +-#: gio/ginputstream.c:190 ++#: ../gio/ginputstream.c:190 + msgid "Input stream doesn’t implement read" + msgstr "输入流未实现读取" + +@@ -1603,126 +1642,129 @@ msgstr "输入流未实现读取" + #. Translators: This is an error you get if there is + #. * already an operation running against this stream when + #. * you try to start one +-#: gio/ginputstream.c:1256 gio/giostream.c:312 gio/goutputstream.c:2218 ++#: ../gio/ginputstream.c:1256 ../gio/giostream.c:312 ++#: ../gio/goutputstream.c:2218 + msgid "Stream has outstanding operation" + msgstr "流有异常操作" + +-#: gio/gio-tool.c:162 ++#: ../gio/gio-tool.c:162 + msgid "Copy with file" + msgstr "复制文件时保留" + +-#: gio/gio-tool.c:166 ++#: ../gio/gio-tool.c:166 + msgid "Keep with file when moved" + msgstr "移动时与文件一起" + +-#: gio/gio-tool.c:207 ++#: ../gio/gio-tool.c:207 + msgid "“version” takes no arguments" + msgstr "“version”不接受参数" + +-#: gio/gio-tool.c:209 gio/gio-tool.c:225 glib/goption.c:871 ++#: ../gio/gio-tool.c:209 ../gio/gio-tool.c:225 ../glib/goption.c:871 + msgid "Usage:" + msgstr "用法:" + +-#: gio/gio-tool.c:212 ++#: ../gio/gio-tool.c:212 + msgid "Print version information and exit." + msgstr "打印版本信息并退出。" + +-#: gio/gio-tool.c:228 ++#: ../gio/gio-tool.c:228 + msgid "Commands:" + msgstr "命令:" + +-#: gio/gio-tool.c:231 ++#: ../gio/gio-tool.c:231 + msgid "Concatenate files to standard output" + msgstr "串接文件,写到标准输出" + +-#: gio/gio-tool.c:232 ++#: ../gio/gio-tool.c:232 + msgid "Copy one or more files" + msgstr "复制文件" + +-#: gio/gio-tool.c:233 ++#: ../gio/gio-tool.c:233 + msgid "Show information about locations" + msgstr "显示关于位置的信息" + +-#: gio/gio-tool.c:234 ++#: ../gio/gio-tool.c:234 + msgid "Launch an application from a desktop file" + msgstr "从桌面文件启动应用程序" + +-#: gio/gio-tool.c:235 ++#: ../gio/gio-tool.c:235 + msgid "List the contents of locations" + msgstr "列出某位置的内容" + +-#: gio/gio-tool.c:236 ++#: ../gio/gio-tool.c:236 + msgid "Get or set the handler for a mimetype" + msgstr "获取或设置某种 MIME 类型的处理程序" + +-#: gio/gio-tool.c:237 ++#: ../gio/gio-tool.c:237 + msgid "Create directories" + msgstr "创建目录" + +-#: gio/gio-tool.c:238 ++#: ../gio/gio-tool.c:238 + msgid "Monitor files and directories for changes" + msgstr "监视文件和目录的更改" + +-#: gio/gio-tool.c:239 ++#: ../gio/gio-tool.c:239 + msgid "Mount or unmount the locations" + msgstr "挂载或卸载位置" + +-#: gio/gio-tool.c:240 ++#: ../gio/gio-tool.c:240 + msgid "Move one or more files" + msgstr "移动文件" + +-#: gio/gio-tool.c:241 ++#: ../gio/gio-tool.c:241 + msgid "Open files with the default application" + msgstr "用默认应用打开文件" + +-#: gio/gio-tool.c:242 ++#: ../gio/gio-tool.c:242 + msgid "Rename a file" + msgstr "重命名文件" + +-#: gio/gio-tool.c:243 ++#: ../gio/gio-tool.c:243 + msgid "Delete one or more files" + msgstr "删除文件" + +-#: gio/gio-tool.c:244 ++#: ../gio/gio-tool.c:244 + msgid "Read from standard input and save" + msgstr "从标准输入读取并保存" + +-#: gio/gio-tool.c:245 ++#: ../gio/gio-tool.c:245 + msgid "Set a file attribute" + msgstr "设置文件属性" + +-#: gio/gio-tool.c:246 ++#: ../gio/gio-tool.c:246 + msgid "Move files or directories to the trash" + msgstr "移动文件或目录到回收站" + +-#: gio/gio-tool.c:247 ++#: ../gio/gio-tool.c:247 + msgid "Lists the contents of locations in a tree" + msgstr "在树中列出某位置的内容" + +-#: gio/gio-tool.c:249 ++#: ../gio/gio-tool.c:249 + #, c-format + msgid "Use %s to get detailed help.\n" + msgstr "使用 %s 以获取详细帮助。\n" + +-#: gio/gio-tool-cat.c:89 ++#: ../gio/gio-tool-cat.c:89 + msgid "Error writing to stdout" + msgstr "写入到标准输出时出错" + + #. Translators: commandline placeholder +-#: gio/gio-tool-cat.c:135 gio/gio-tool-info.c:382 gio/gio-tool-list.c:176 +-#: gio/gio-tool-mkdir.c:50 gio/gio-tool-monitor.c:39 gio/gio-tool-monitor.c:41 +-#: gio/gio-tool-monitor.c:43 gio/gio-tool-monitor.c:45 +-#: gio/gio-tool-monitor.c:206 gio/gio-tool-mount.c:1236 gio/gio-tool-open.c:72 +-#: gio/gio-tool-remove.c:50 gio/gio-tool-rename.c:47 gio/gio-tool-set.c:95 +-#: gio/gio-tool-trash.c:222 gio/gio-tool-tree.c:246 ++#: ../gio/gio-tool-cat.c:135 ../gio/gio-tool-info.c:382 ++#: ../gio/gio-tool-list.c:176 ../gio/gio-tool-mkdir.c:50 ++#: ../gio/gio-tool-monitor.c:39 ../gio/gio-tool-monitor.c:41 ++#: ../gio/gio-tool-monitor.c:43 ../gio/gio-tool-monitor.c:45 ++#: ../gio/gio-tool-monitor.c:206 ../gio/gio-tool-mount.c:1236 ++#: ../gio/gio-tool-open.c:72 ../gio/gio-tool-remove.c:50 ++#: ../gio/gio-tool-rename.c:47 ../gio/gio-tool-set.c:95 ++#: ../gio/gio-tool-trash.c:222 ../gio/gio-tool-tree.c:246 + msgid "LOCATION" + msgstr "位置" + +-#: gio/gio-tool-cat.c:140 ++#: ../gio/gio-tool-cat.c:140 + msgid "Concatenate files and print to standard output." + msgstr "串接文件,写到标准输出。" + +-#: gio/gio-tool-cat.c:142 ++#: ../gio/gio-tool-cat.c:142 + msgid "" + "gio cat works just like the traditional cat utility, but using GIO\n" + "locations instead of local files: for example, you can use something\n" +@@ -1731,60 +1773,63 @@ msgstr "" + "gio cat 如传统 cat 程序那样工作,但使用 GIO 位置而非本地文件:\n" + "例如,你可以指定 smb://server/resource/file.txt 之类的位置。" + +-#: gio/gio-tool-cat.c:164 gio/gio-tool-info.c:413 gio/gio-tool-mkdir.c:78 +-#: gio/gio-tool-monitor.c:231 gio/gio-tool-mount.c:1287 gio/gio-tool-open.c:98 +-#: gio/gio-tool-remove.c:74 gio/gio-tool-trash.c:303 ++#: ../gio/gio-tool-cat.c:164 ../gio/gio-tool-info.c:413 ++#: ../gio/gio-tool-mkdir.c:78 ../gio/gio-tool-monitor.c:231 ++#: ../gio/gio-tool-mount.c:1287 ../gio/gio-tool-open.c:98 ++#: ../gio/gio-tool-remove.c:74 ../gio/gio-tool-trash.c:303 + msgid "No locations given" + msgstr "未给定位置" + +-#: gio/gio-tool-copy.c:45 gio/gio-tool-move.c:40 ++#: ../gio/gio-tool-copy.c:45 ../gio/gio-tool-move.c:40 + msgid "No target directory" + msgstr "无目标目录" + +-#: gio/gio-tool-copy.c:46 gio/gio-tool-move.c:41 ++#: ../gio/gio-tool-copy.c:46 ../gio/gio-tool-move.c:41 + msgid "Show progress" + msgstr "显示进度" + +-#: gio/gio-tool-copy.c:47 gio/gio-tool-move.c:42 ++#: ../gio/gio-tool-copy.c:47 ../gio/gio-tool-move.c:42 + msgid "Prompt before overwrite" + msgstr "覆盖前提示" + +-#: gio/gio-tool-copy.c:48 ++#: ../gio/gio-tool-copy.c:48 + msgid "Preserve all attributes" + msgstr "保留所有属性" + +-#: gio/gio-tool-copy.c:49 gio/gio-tool-move.c:43 gio/gio-tool-save.c:51 ++#: ../gio/gio-tool-copy.c:49 ../gio/gio-tool-move.c:43 ++#: ../gio/gio-tool-save.c:51 + msgid "Backup existing destination files" + msgstr "备份现有的目标文件" + +-#: gio/gio-tool-copy.c:50 ++#: ../gio/gio-tool-copy.c:50 + msgid "Never follow symbolic links" + msgstr "从不跟随符号链接" + +-#: gio/gio-tool-copy.c:51 ++#: ../gio/gio-tool-copy.c:51 + msgid "Use default permissions for the destination" + msgstr "对目标使用默认权限" + +-#: gio/gio-tool-copy.c:76 gio/gio-tool-move.c:69 ++#: ../gio/gio-tool-copy.c:76 ../gio/gio-tool-move.c:69 + #, c-format + msgid "Transferred %s out of %s (%s/s)" + msgstr "已复制 %2$s 中的 %1$s(%3$s/秒)" + + #. Translators: commandline placeholder +-#: gio/gio-tool-copy.c:102 gio/gio-tool-move.c:96 ++#: ../gio/gio-tool-copy.c:102 ../gio/gio-tool-move.c:96 + msgid "SOURCE" + msgstr "来源" + + #. Translators: commandline placeholder +-#: gio/gio-tool-copy.c:102 gio/gio-tool-move.c:96 gio/gio-tool-save.c:162 ++#: ../gio/gio-tool-copy.c:102 ../gio/gio-tool-move.c:96 ++#: ../gio/gio-tool-save.c:162 + msgid "DESTINATION" + msgstr "目标" + +-#: gio/gio-tool-copy.c:107 ++#: ../gio/gio-tool-copy.c:107 + msgid "Copy one or more files from SOURCE to DESTINATION." + msgstr "将一个或多个文件从源头复制到目标。" + +-#: gio/gio-tool-copy.c:109 ++#: ../gio/gio-tool-copy.c:109 + msgid "" + "gio copy is similar to the traditional cp utility, but using GIO\n" + "locations instead of local files: for example, you can use something\n" +@@ -1793,96 +1838,103 @@ msgstr "" + "gio copy 如传统 cp 程序那样工作,但使用 GIO 位置而非本地文件:\n" + "例如,你可以指定 smb://server/resource/file.txt 之类的位置。" + +-#: gio/gio-tool-copy.c:151 ++#: ../gio/gio-tool-copy.c:151 + #, c-format + msgid "Destination %s is not a directory" + msgstr "目标“%s”不是目录" + +-#: gio/gio-tool-copy.c:198 gio/gio-tool-move.c:188 ++#: ../gio/gio-tool-copy.c:198 ../gio/gio-tool-move.c:188 + #, c-format + msgid "%s: overwrite “%s”? " + msgstr "%s:要覆盖“%s”吗?" + +-#: gio/gio-tool-info.c:39 ++#: ../gio/gio-tool-info.c:39 + msgid "List writable attributes" + msgstr "列出可写属性" + +-#: gio/gio-tool-info.c:40 ++#: ../gio/gio-tool-info.c:40 + msgid "Get file system info" + msgstr "获取文件系统信息" + +-#: gio/gio-tool-info.c:41 gio/gio-tool-list.c:37 ++#: ../gio/gio-tool-info.c:41 ../gio/gio-tool-list.c:37 + msgid "The attributes to get" + msgstr "要获取的属性" + +-#: gio/gio-tool-info.c:41 gio/gio-tool-list.c:37 ++#: ../gio/gio-tool-info.c:41 ../gio/gio-tool-list.c:37 + msgid "ATTRIBUTES" + msgstr "属性" + +-#: gio/gio-tool-info.c:42 gio/gio-tool-list.c:40 gio/gio-tool-set.c:37 ++#: ../gio/gio-tool-info.c:42 ../gio/gio-tool-list.c:40 ../gio/gio-tool-set.c:37 + msgid "Don’t follow symbolic links" + msgstr "不要跟随符号链接" + +-#: gio/gio-tool-info.c:105 ++#: ../gio/gio-tool-info.c:105 ++#, c-format + msgid "attributes:\n" + msgstr "属性:\n" + +-#: gio/gio-tool-info.c:166 ++#. Translators: This is a noun and represents and attribute of a file ++#: ../gio/gio-tool-info.c:166 + #, c-format + msgid "display name: %s\n" + msgstr "显示名称:%s\n" + +-#: gio/gio-tool-info.c:176 ++#. Translators: This is a noun and represents and attribute of a file ++#: ../gio/gio-tool-info.c:176 + #, c-format + msgid "edit name: %s\n" + msgstr "编辑名称:%s\n" + +-#: gio/gio-tool-info.c:184 ++#: ../gio/gio-tool-info.c:184 + #, c-format + msgid "name: %s\n" + msgstr "名称:%s\n" + +-#: gio/gio-tool-info.c:191 ++#: ../gio/gio-tool-info.c:191 + #, c-format + msgid "type: %s\n" + msgstr "类型:%s\n" + +-#: gio/gio-tool-info.c:197 ++#: ../gio/gio-tool-info.c:197 ++#, c-format + msgid "size: " + msgstr "大小:" + +-#: gio/gio-tool-info.c:203 ++#: ../gio/gio-tool-info.c:203 ++#, c-format + msgid "hidden\n" + msgstr "隐藏\n" + +-#: gio/gio-tool-info.c:206 ++#: ../gio/gio-tool-info.c:206 + #, c-format + msgid "uri: %s\n" + msgstr "uri:%s\n" + +-#: gio/gio-tool-info.c:213 ++#: ../gio/gio-tool-info.c:213 + #, c-format + msgid "local path: %s\n" + msgstr "本地路径: %s\n" + +-#: gio/gio-tool-info.c:247 ++#: ../gio/gio-tool-info.c:247 + #, c-format + msgid "unix mount: %s%s %s %s %s\n" + msgstr "UNIX 挂载:%s%s %s %s %s\n" + +-#: gio/gio-tool-info.c:328 ++#: ../gio/gio-tool-info.c:328 ++#, c-format + msgid "Settable attributes:\n" + msgstr "可设置的属性:\n" + +-#: gio/gio-tool-info.c:352 ++#: ../gio/gio-tool-info.c:352 ++#, c-format + msgid "Writable attribute namespaces:\n" + msgstr "可写的属性命名空间:\n" + +-#: gio/gio-tool-info.c:387 ++#: ../gio/gio-tool-info.c:387 + msgid "Show information about locations." + msgstr "显示位置信息。" + +-#: gio/gio-tool-info.c:389 ++#: ../gio/gio-tool-info.c:389 + msgid "" + "gio info is similar to the traditional ls utility, but using GIO\n" + "locations instead of local files: for example, you can use something\n" +@@ -1896,60 +1948,60 @@ msgstr "" + "空间(如 unix),也可使用“*”匹配全部" + + #. Translators: commandline placeholder +-#: gio/gio-tool-launch.c:56 ++#: ../gio/gio-tool-launch.c:56 + msgid "DESKTOP-FILE [FILE-ARG …]" + msgstr "桌面文件 [文件参数 …]" + +-#: gio/gio-tool-launch.c:59 ++#: ../gio/gio-tool-launch.c:59 + msgid "" + "Launch an application from a desktop file, passing optional filename " + "arguments to it." + msgstr "从桌面文件启动应用程序,并向其传递可选的文件名参数。" + +-#: gio/gio-tool-launch.c:79 ++#: ../gio/gio-tool-launch.c:79 + msgid "No desktop file given" + msgstr "未给定桌面文件" + +-#: gio/gio-tool-launch.c:87 ++#: ../gio/gio-tool-launch.c:87 + msgid "The launch command is not currently supported on this platform" + msgstr "当前平台尚不支持该启动命令" + +-#: gio/gio-tool-launch.c:100 ++#: ../gio/gio-tool-launch.c:100 + #, c-format + msgid "Unable to load ‘%s‘: %s" + msgstr "无法加载“%s”:%s" + +-#: gio/gio-tool-launch.c:109 ++#: ../gio/gio-tool-launch.c:109 + #, c-format + msgid "Unable to load application information for ‘%s‘" + msgstr "无法加载“%s”的应用程序信息" + +-#: gio/gio-tool-launch.c:121 ++#: ../gio/gio-tool-launch.c:121 + #, c-format + msgid "Unable to launch application ‘%s’: %s" + msgstr "无法启动应用程序“%s”: %s" + +-#: gio/gio-tool-list.c:38 gio/gio-tool-tree.c:34 ++#: ../gio/gio-tool-list.c:38 ../gio/gio-tool-tree.c:34 + msgid "Show hidden files" + msgstr "显示隐藏文件" + +-#: gio/gio-tool-list.c:39 ++#: ../gio/gio-tool-list.c:39 + msgid "Use a long listing format" + msgstr "使用长列表格式" + +-#: gio/gio-tool-list.c:41 ++#: ../gio/gio-tool-list.c:41 + msgid "Print display names" + msgstr "显示名称" + +-#: gio/gio-tool-list.c:42 ++#: ../gio/gio-tool-list.c:42 + msgid "Print full URIs" + msgstr "显示完整 URI" + +-#: gio/gio-tool-list.c:181 ++#: ../gio/gio-tool-list.c:181 + msgid "List the contents of the locations." + msgstr "列出位置中的内容。" + +-#: gio/gio-tool-list.c:183 ++#: ../gio/gio-tool-list.c:183 + msgid "" + "gio list is similar to the traditional ls utility, but using GIO\n" + "locations instead of local files: for example, you can use something\n" +@@ -1961,19 +2013,19 @@ msgstr "" + "文件属性,可使用其 GIO 名称(如 standard::icon)" + + #. Translators: commandline placeholder +-#: gio/gio-tool-mime.c:73 ++#: ../gio/gio-tool-mime.c:73 + msgid "MIMETYPE" + msgstr "MIME 类型" + +-#: gio/gio-tool-mime.c:73 ++#: ../gio/gio-tool-mime.c:73 + msgid "HANDLER" + msgstr "处理程序" + +-#: gio/gio-tool-mime.c:78 ++#: ../gio/gio-tool-mime.c:78 + msgid "Get or set the handler for a mimetype." + msgstr "获取或设置某一 MIME 类型的处理程序。" + +-#: gio/gio-tool-mime.c:80 ++#: ../gio/gio-tool-mime.c:80 + msgid "" + "If no handler is given, lists registered and recommended applications\n" + "for the mimetype. If a handler is given, it is set as the default\n" +@@ -1983,55 +2035,59 @@ msgstr "" + "应用程序。如果已给定处理程序,它将被设为 MIME 类型的\n" + "默认应用程序。" + +-#: gio/gio-tool-mime.c:102 ++#: ../gio/gio-tool-mime.c:102 + msgid "Must specify a single mimetype, and maybe a handler" + msgstr "必须指定一个 MIME 类型,也可同时指定处理程序" + +-#: gio/gio-tool-mime.c:118 ++#: ../gio/gio-tool-mime.c:118 + #, c-format + msgid "No default applications for “%s”\n" + msgstr "未设置用于“%s”的默认应用程序\n" + +-#: gio/gio-tool-mime.c:124 ++#: ../gio/gio-tool-mime.c:124 + #, c-format + msgid "Default application for “%s”: %s\n" + msgstr "用于“%s”的默认应用程序:%s\n" + +-#: gio/gio-tool-mime.c:129 ++#: ../gio/gio-tool-mime.c:129 ++#, c-format + msgid "Registered applications:\n" + msgstr "已注册的应用程序:\n" + +-#: gio/gio-tool-mime.c:131 ++#: ../gio/gio-tool-mime.c:131 ++#, c-format + msgid "No registered applications\n" + msgstr "无已注册的应用程序\n" + +-#: gio/gio-tool-mime.c:142 ++#: ../gio/gio-tool-mime.c:142 ++#, c-format + msgid "Recommended applications:\n" + msgstr "推荐的应用程序:\n" + +-#: gio/gio-tool-mime.c:144 ++#: ../gio/gio-tool-mime.c:144 ++#, c-format + msgid "No recommended applications\n" + msgstr "无推荐的应用程序\n" + +-#: gio/gio-tool-mime.c:164 ++#: ../gio/gio-tool-mime.c:164 + #, c-format + msgid "Failed to load info for handler “%s”" + msgstr "载入处理程序“%s”的信息失败" + +-#: gio/gio-tool-mime.c:170 ++#: ../gio/gio-tool-mime.c:170 + #, c-format + msgid "Failed to set “%s” as the default handler for “%s”: %s\n" + msgstr "将“%s”设置为“%s”的默认处理程序失败:%s\n" + +-#: gio/gio-tool-mkdir.c:33 ++#: ../gio/gio-tool-mkdir.c:33 + msgid "Create parent directories" + msgstr "创建上级目录" + +-#: gio/gio-tool-mkdir.c:54 ++#: ../gio/gio-tool-mkdir.c:54 + msgid "Create directories." + msgstr "创建目录。" + +-#: gio/gio-tool-mkdir.c:56 ++#: ../gio/gio-tool-mkdir.c:56 + msgid "" + "gio mkdir is similar to the traditional mkdir utility, but using GIO\n" + "locations instead of local files: for example, you can use something\n" +@@ -2040,132 +2096,132 @@ msgstr "" + "gio mkdir 如传统 mkdir 程序那样工作,但使用 GIO 位置而非本地文件:\n" + "例如,你可以指定 smb://server/resource/mydir 之类的位置。" + +-#: gio/gio-tool-monitor.c:39 ++#: ../gio/gio-tool-monitor.c:39 + msgid "Monitor a directory (default: depends on type)" + msgstr "监视目录(默认:取决于类型)" + +-#: gio/gio-tool-monitor.c:41 ++#: ../gio/gio-tool-monitor.c:41 + msgid "Monitor a file (default: depends on type)" + msgstr "监视文件(默认:取决于类型)" + +-#: gio/gio-tool-monitor.c:43 ++#: ../gio/gio-tool-monitor.c:43 + msgid "Monitor a file directly (notices changes made via hardlinks)" + msgstr "直接监视文件(通过硬链接通知更改)" + +-#: gio/gio-tool-monitor.c:45 ++#: ../gio/gio-tool-monitor.c:45 + msgid "Monitors a file directly, but doesn’t report changes" + msgstr "直接监视文件,但不报告更改" + +-#: gio/gio-tool-monitor.c:47 ++#: ../gio/gio-tool-monitor.c:47 + msgid "Report moves and renames as simple deleted/created events" + msgstr "将移动和重命名报告为简单的删除/创建事件" + +-#: gio/gio-tool-monitor.c:49 ++#: ../gio/gio-tool-monitor.c:49 + msgid "Watch for mount events" + msgstr "监视挂载事件" + +-#: gio/gio-tool-monitor.c:211 ++#: ../gio/gio-tool-monitor.c:211 + msgid "Monitor files or directories for changes." + msgstr "监视文件和目录更改。" + +-#: gio/gio-tool-mount.c:65 ++#: ../gio/gio-tool-mount.c:65 + msgid "Mount as mountable" + msgstr "挂载为可挂载项" + +-#: gio/gio-tool-mount.c:66 ++#: ../gio/gio-tool-mount.c:66 + msgid "Mount volume with device file, or other identifier" + msgstr "使用设备文件或其他标识挂载卷" + +-#: gio/gio-tool-mount.c:66 ++#: ../gio/gio-tool-mount.c:66 + msgid "ID" + msgstr "ID" + +-#: gio/gio-tool-mount.c:67 ++#: ../gio/gio-tool-mount.c:67 + msgid "Unmount" + msgstr "卸载" + +-#: gio/gio-tool-mount.c:68 ++#: ../gio/gio-tool-mount.c:68 + msgid "Eject" + msgstr "弹出" + +-#: gio/gio-tool-mount.c:69 ++#: ../gio/gio-tool-mount.c:69 + msgid "Stop drive with device file" + msgstr "使用设备文件停止驱动器" + +-#: gio/gio-tool-mount.c:69 ++#: ../gio/gio-tool-mount.c:69 + msgid "DEVICE" + msgstr "设备" + +-#: gio/gio-tool-mount.c:70 ++#: ../gio/gio-tool-mount.c:70 + msgid "Unmount all mounts with the given scheme" + msgstr "按给定方案里卸载所有挂载项" + +-#: gio/gio-tool-mount.c:70 ++#: ../gio/gio-tool-mount.c:70 + msgid "SCHEME" + msgstr "方案" + +-#: gio/gio-tool-mount.c:71 ++#: ../gio/gio-tool-mount.c:71 + msgid "Ignore outstanding file operations when unmounting or ejecting" + msgstr "卸载或弹出时忽略正在进行的文件操作" + +-#: gio/gio-tool-mount.c:72 ++#: ../gio/gio-tool-mount.c:72 + msgid "Use an anonymous user when authenticating" + msgstr "认证时使用匿名用户" + + #. Translator: List here is a verb as in 'List all mounts' +-#: gio/gio-tool-mount.c:74 ++#: ../gio/gio-tool-mount.c:74 + msgid "List" + msgstr "列出" + +-#: gio/gio-tool-mount.c:75 ++#: ../gio/gio-tool-mount.c:75 + msgid "Monitor events" + msgstr "监视事件" + +-#: gio/gio-tool-mount.c:76 ++#: ../gio/gio-tool-mount.c:76 + msgid "Show extra information" + msgstr "显示附加信息" + +-#: gio/gio-tool-mount.c:77 ++#: ../gio/gio-tool-mount.c:77 + msgid "The numeric PIM when unlocking a VeraCrypt volume" + msgstr "解锁 VeraCrypt 卷的数字 PIM" + +-#: gio/gio-tool-mount.c:77 ++#: ../gio/gio-tool-mount.c:77 + msgid "PIM" + msgstr "PIM" + +-#: gio/gio-tool-mount.c:78 ++#: ../gio/gio-tool-mount.c:78 + msgid "Mount a TCRYPT hidden volume" + msgstr "挂载 TCRYPT 隐藏卷" + +-#: gio/gio-tool-mount.c:79 ++#: ../gio/gio-tool-mount.c:79 + msgid "Mount a TCRYPT system volume" + msgstr "挂载 TCRYPT 系统卷" + +-#: gio/gio-tool-mount.c:276 gio/gio-tool-mount.c:308 ++#: ../gio/gio-tool-mount.c:276 ../gio/gio-tool-mount.c:308 + msgid "Anonymous access denied" + msgstr "匿名访问被拒绝" + +-#: gio/gio-tool-mount.c:559 ++#: ../gio/gio-tool-mount.c:559 + msgid "No drive for device file" + msgstr "没有对应设备文件的驱动器" + +-#: gio/gio-tool-mount.c:1051 ++#: ../gio/gio-tool-mount.c:1051 + msgid "No volume for given ID" + msgstr "没有对应ID的卷" + +-#: gio/gio-tool-mount.c:1240 ++#: ../gio/gio-tool-mount.c:1240 + msgid "Mount or unmount the locations." + msgstr "挂载或卸载位置。" + +-#: gio/gio-tool-move.c:44 ++#: ../gio/gio-tool-move.c:44 + msgid "Don’t use copy and delete fallback" + msgstr "不要使用复制和删除替代方案" + +-#: gio/gio-tool-move.c:101 ++#: ../gio/gio-tool-move.c:101 + msgid "Move one or more files from SOURCE to DEST." + msgstr "将一个或多个文件从源头复制到目标。" + +-#: gio/gio-tool-move.c:103 ++#: ../gio/gio-tool-move.c:103 + msgid "" + "gio move is similar to the traditional mv utility, but using GIO\n" + "locations instead of local files: for example, you can use something\n" +@@ -2174,12 +2230,12 @@ msgstr "" + "gio move 如传统 mv 程序那样工作,但使用 GIO 位置而非本地文件:\n" + "例如,你可以指定 smb://server/resource/file.txt 之类的位置" + +-#: gio/gio-tool-move.c:145 ++#: ../gio/gio-tool-move.c:145 + #, c-format + msgid "Target %s is not a directory" + msgstr "目标 %s 不是目录" + +-#: gio/gio-tool-open.c:77 ++#: ../gio/gio-tool-open.c:77 + msgid "" + "Open files with the default application that\n" + "is registered to handle files of this type." +@@ -2187,154 +2243,156 @@ msgstr "" + "使用已注册为处理此类型文件的\n" + "默认应用程序打开文件。" + +-#: gio/gio-tool-remove.c:33 gio/gio-tool-trash.c:35 ++#: ../gio/gio-tool-remove.c:33 ../gio/gio-tool-trash.c:35 + msgid "Ignore nonexistent files, never prompt" + msgstr "忽略不存在的文件,从不提示" + +-#: gio/gio-tool-remove.c:54 ++#: ../gio/gio-tool-remove.c:54 + msgid "Delete the given files." + msgstr "删除指定文件。" + +-#: gio/gio-tool-rename.c:47 ++#: ../gio/gio-tool-rename.c:47 + msgid "NAME" + msgstr "名称" + +-#: gio/gio-tool-rename.c:52 ++#: ../gio/gio-tool-rename.c:52 + msgid "Rename a file." + msgstr "重命名文件。" + +-#: gio/gio-tool-rename.c:72 ++#: ../gio/gio-tool-rename.c:72 + msgid "Missing argument" + msgstr "缺少参数" + +-#: gio/gio-tool-rename.c:78 gio/gio-tool-save.c:192 gio/gio-tool-set.c:150 ++#: ../gio/gio-tool-rename.c:78 ../gio/gio-tool-save.c:192 ++#: ../gio/gio-tool-set.c:150 + msgid "Too many arguments" + msgstr "参数过多" + +-#: gio/gio-tool-rename.c:97 ++#: ../gio/gio-tool-rename.c:97 + #, c-format + msgid "Rename successful. New uri: %s\n" + msgstr "重命名成功。新 uri:%s\n" + +-#: gio/gio-tool-save.c:52 ++#: ../gio/gio-tool-save.c:52 + msgid "Only create if not existing" + msgstr "不存在时才创建" + +-#: gio/gio-tool-save.c:53 ++#: ../gio/gio-tool-save.c:53 + msgid "Append to end of file" + msgstr "追加到文件末尾" + +-#: gio/gio-tool-save.c:54 ++#: ../gio/gio-tool-save.c:54 + msgid "When creating, restrict access to the current user" + msgstr "创建时限制当前用户的访问" + +-#: gio/gio-tool-save.c:55 ++#: ../gio/gio-tool-save.c:55 + msgid "When replacing, replace as if the destination did not exist" + msgstr "替换时假定目标不存在" + + #. Translators: The "etag" is a token allowing to verify whether a file has been modified +-#: gio/gio-tool-save.c:57 ++#: ../gio/gio-tool-save.c:57 + msgid "Print new etag at end" + msgstr "在末尾打印新 etag" + + #. Translators: The "etag" is a token allowing to verify whether a file has been modified +-#: gio/gio-tool-save.c:59 ++#: ../gio/gio-tool-save.c:59 + msgid "The etag of the file being overwritten" + msgstr "文件的 etag 被覆盖" + +-#: gio/gio-tool-save.c:59 ++#: ../gio/gio-tool-save.c:59 + msgid "ETAG" + msgstr "ETAG" + +-#: gio/gio-tool-save.c:115 ++#: ../gio/gio-tool-save.c:115 + msgid "Error reading from standard input" + msgstr "读取标准输入时出错" + + #. Translators: The "etag" is a token allowing to verify whether a file has been modified +-#: gio/gio-tool-save.c:141 ++#: ../gio/gio-tool-save.c:141 ++#, c-format + msgid "Etag not available\n" + msgstr "Etag 不可用\n" + +-#: gio/gio-tool-save.c:165 ++#: ../gio/gio-tool-save.c:165 + msgid "Read from standard input and save to DEST." + msgstr "读取标准输入并保存到目标。" + +-#: gio/gio-tool-save.c:185 ++#: ../gio/gio-tool-save.c:185 + msgid "No destination given" + msgstr "未给定目标" + +-#: gio/gio-tool-set.c:36 ++#: ../gio/gio-tool-set.c:36 + msgid "Type of the attribute" + msgstr "属性类型" + +-#: gio/gio-tool-set.c:36 ++#: ../gio/gio-tool-set.c:36 + msgid "TYPE" + msgstr "类型" + +-#: gio/gio-tool-set.c:38 ++#: ../gio/gio-tool-set.c:38 + msgid "Unset given attribute" + msgstr "取消设置给定属性" + +-#: gio/gio-tool-set.c:95 ++#: ../gio/gio-tool-set.c:95 + msgid "ATTRIBUTE" + msgstr "属性" + +-#: gio/gio-tool-set.c:95 ++#: ../gio/gio-tool-set.c:95 + msgid "VALUE" + msgstr "值" + +-#: gio/gio-tool-set.c:99 ++#: ../gio/gio-tool-set.c:99 + msgid "Set a file attribute of LOCATION." + msgstr "设置位置的文件属性。" + +-#: gio/gio-tool-set.c:119 ++#: ../gio/gio-tool-set.c:119 + msgid "Location not specified" + msgstr "未指定位置" + +-#: gio/gio-tool-set.c:126 ++#: ../gio/gio-tool-set.c:126 + msgid "Attribute not specified" + msgstr "未指定属性" + +-#: gio/gio-tool-set.c:143 ++#: ../gio/gio-tool-set.c:143 + msgid "Value not specified" + msgstr "未指定值" + +-#: gio/gio-tool-set.c:193 ++#: ../gio/gio-tool-set.c:193 + #, c-format + msgid "Invalid attribute type “%s”" + msgstr "无效的属性类型“%s”" + +-#: gio/gio-tool-trash.c:36 ++#: ../gio/gio-tool-trash.c:36 + msgid "Empty the trash" + msgstr "清空回收站" + +-#: gio/gio-tool-trash.c:37 ++#: ../gio/gio-tool-trash.c:37 + msgid "List files in the trash with their original locations" + msgstr "列出回收站中的文件以及它们的原始位置" + +-#: gio/gio-tool-trash.c:38 ++#: ../gio/gio-tool-trash.c:38 + msgid "" + "Restore a file from trash to its original location (possibly recreating the " + "directory)" + msgstr "还原回收站文件到它的原始位置(如果需要,创建新目录)" + +-#: gio/gio-tool-trash.c:108 ++#: ../gio/gio-tool-trash.c:108 + msgid "Unable to find original path" + msgstr "无法找到原始路径" + +-#: gio/gio-tool-trash.c:125 ++#: ../gio/gio-tool-trash.c:125 + msgid "Unable to recreate original location: " + msgstr "无法创建原始位置:" + +-#: gio/gio-tool-trash.c:138 ++#: ../gio/gio-tool-trash.c:138 + msgid "Unable to move file to its original location: " + msgstr "无法移动文件回它的原始位置:" + +-#: gio/gio-tool-trash.c:227 ++#: ../gio/gio-tool-trash.c:227 + msgid "Move/Restore files or directories to the trash." + msgstr "移动/还原文件或目录到回收站。" + +-#: gio/gio-tool-trash.c:229 ++#: ../gio/gio-tool-trash.c:229 + msgid "" + "Note: for --restore switch, if the original location of the trashed file \n" + "already exists, it will not be overwritten unless --force is set." +@@ -2342,44 +2400,44 @@ msgstr "" + "注意:对于 --restore 开关,如果回收站中的文件的原始路径已经存在,\n" + "除非额外指定了 --force 参数,已存在的文件将不会被覆盖。" + +-#: gio/gio-tool-trash.c:260 ++#: ../gio/gio-tool-trash.c:260 + msgid "Location given doesn't start with trash:///" + msgstr "给定的位置没有以 trash:/// 开头" + +-#: gio/gio-tool-tree.c:35 ++#: ../gio/gio-tool-tree.c:35 + msgid "Follow symbolic links, mounts and shortcuts" + msgstr "跟踪符号链接、挂载点及快捷方式" + +-#: gio/gio-tool-tree.c:251 ++#: ../gio/gio-tool-tree.c:251 + msgid "List contents of directories in a tree-like format." + msgstr "使用树状格式列出目录内容。" + +-#: gio/glib-compile-resources.c:142 gio/glib-compile-schemas.c:1514 ++#: ../gio/glib-compile-resources.c:142 ../gio/glib-compile-schemas.c:1518 + #, c-format + msgid "Element <%s> not allowed inside <%s>" + msgstr "在 <%2$s> 中不允许元素 <%1$s>" + +-#: gio/glib-compile-resources.c:146 ++#: ../gio/glib-compile-resources.c:146 + #, c-format + msgid "Element <%s> not allowed at toplevel" + msgstr "顶层中不允许元素 <%s>" + +-#: gio/glib-compile-resources.c:236 ++#: ../gio/glib-compile-resources.c:236 + #, c-format + msgid "File %s appears multiple times in the resource" + msgstr "文件 %s 在资源中出现了多次" + +-#: gio/glib-compile-resources.c:247 ++#: ../gio/glib-compile-resources.c:247 + #, c-format + msgid "Failed to locate “%s” in any source directory" + msgstr "在所有源目录中定位“%s”失败" + +-#: gio/glib-compile-resources.c:258 ++#: ../gio/glib-compile-resources.c:258 + #, c-format + msgid "Failed to locate “%s” in current directory" + msgstr "在当前目录定位“%s”失败" + +-#: gio/glib-compile-resources.c:292 ++#: ../gio/glib-compile-resources.c:292 + #, c-format + msgid "Unknown processing option “%s”" + msgstr "未知的处理选项“%s”" +@@ -2388,94 +2446,94 @@ msgstr "未知的处理选项“%s”" + #. * the second %s is an environment variable, and the third + #. * %s is a command line tool + #. +-#: gio/glib-compile-resources.c:312 gio/glib-compile-resources.c:369 +-#: gio/glib-compile-resources.c:426 ++#: ../gio/glib-compile-resources.c:312 ../gio/glib-compile-resources.c:369 ++#: ../gio/glib-compile-resources.c:426 + #, c-format + msgid "%s preprocessing requested, but %s is not set, and %s is not in PATH" + msgstr "请求了 %s 预处理,但未设定 %s,且 %s 不在 PATH 内" + +-#: gio/glib-compile-resources.c:459 ++#: ../gio/glib-compile-resources.c:459 + #, c-format + msgid "Error reading file %s: %s" + msgstr "读取文件 %s 出错:%s" + +-#: gio/glib-compile-resources.c:479 ++#: ../gio/glib-compile-resources.c:479 + #, c-format + msgid "Error compressing file %s" + msgstr "压缩文件时出错:%s" + +-#: gio/glib-compile-resources.c:543 ++#: ../gio/glib-compile-resources.c:543 + #, c-format + msgid "text may not appear inside <%s>" + msgstr "<%s> 内不应出现文本" + +-#: gio/glib-compile-resources.c:821 gio/glib-compile-schemas.c:2172 ++#: ../gio/glib-compile-resources.c:821 ../gio/glib-compile-schemas.c:2176 + msgid "Show program version and exit" + msgstr "显示程序版本并退出" + +-#: gio/glib-compile-resources.c:822 ++#: ../gio/glib-compile-resources.c:822 + msgid "Name of the output file" + msgstr "输出文件的名称" + +-#: gio/glib-compile-resources.c:823 ++#: ../gio/glib-compile-resources.c:823 + msgid "" + "The directories to load files referenced in FILE from (default: current " + "directory)" + msgstr "FILE 中引用的要从其中载入文件的目录(默认为当前目录)" + +-#: gio/glib-compile-resources.c:823 gio/glib-compile-schemas.c:2173 +-#: gio/glib-compile-schemas.c:2203 ++#: ../gio/glib-compile-resources.c:823 ../gio/glib-compile-schemas.c:2177 ++#: ../gio/glib-compile-schemas.c:2207 + msgid "DIRECTORY" + msgstr "目录" + +-#: gio/glib-compile-resources.c:824 ++#: ../gio/glib-compile-resources.c:824 + msgid "" + "Generate output in the format selected for by the target filename extension" + msgstr "以目标文件扩展名所选择的格式生成输出" + +-#: gio/glib-compile-resources.c:825 ++#: ../gio/glib-compile-resources.c:825 + msgid "Generate source header" + msgstr "生成源码头文件" + +-#: gio/glib-compile-resources.c:826 ++#: ../gio/glib-compile-resources.c:826 + msgid "Generate source code used to link in the resource file into your code" + msgstr "生成用于将资源文件链接到您代码的源代码" + +-#: gio/glib-compile-resources.c:827 ++#: ../gio/glib-compile-resources.c:827 + msgid "Generate dependency list" + msgstr "生成依赖关系列表" + +-#: gio/glib-compile-resources.c:828 ++#: ../gio/glib-compile-resources.c:828 + msgid "Name of the dependency file to generate" + msgstr "要生成的依赖文件名称" + +-#: gio/glib-compile-resources.c:829 ++#: ../gio/glib-compile-resources.c:829 + msgid "Include phony targets in the generated dependency file" + msgstr "在生成的依赖关系文件中包含伪目标" + +-#: gio/glib-compile-resources.c:830 ++#: ../gio/glib-compile-resources.c:830 + msgid "Don’t automatically create and register resource" + msgstr "不要自动创建和注册资源" + +-#: gio/glib-compile-resources.c:831 ++#: ../gio/glib-compile-resources.c:831 + msgid "Don’t export functions; declare them G_GNUC_INTERNAL" + msgstr "不要导出函数;请将它们声明为 G_GNUC_INTERNAL" + +-#: gio/glib-compile-resources.c:832 ++#: ../gio/glib-compile-resources.c:832 + msgid "" + "Don’t embed resource data in the C file; assume it's linked externally " + "instead" + msgstr "不要在 C 文件里嵌入资源数据;而假定它是以外部连接的" + +-#: gio/glib-compile-resources.c:833 ++#: ../gio/glib-compile-resources.c:833 + msgid "C identifier name used for the generated source code" + msgstr "用于生成的源代码的 C 标识符名称" + +-#: gio/glib-compile-resources.c:834 ++#: ../gio/glib-compile-resources.c:834 + msgid "The target C compiler (default: the CC environment variable)" + msgstr "目标 C 编译器(默认:CC 环境变量)" + +-#: gio/glib-compile-resources.c:861 ++#: ../gio/glib-compile-resources.c:861 + msgid "" + "Compile a resource specification into a resource file.\n" + "Resource specification files have the extension .gresource.xml,\n" +@@ -2485,204 +2543,205 @@ msgstr "" + "资源规格文件以 .gresource.xml 为扩展名,\n" + "资源文件以 .gresource 为扩展名。" + +-#: gio/glib-compile-resources.c:893 ++#: ../gio/glib-compile-resources.c:893 ++#, c-format + msgid "You should give exactly one file name\n" + msgstr "您应该给定一个且只能一个文件名\n" + +-#: gio/glib-compile-schemas.c:95 ++#: ../gio/glib-compile-schemas.c:95 + #, c-format + msgid "nick must be a minimum of 2 characters" + msgstr "昵称必须至少 2 个字符" + +-#: gio/glib-compile-schemas.c:106 ++#: ../gio/glib-compile-schemas.c:106 + #, c-format + msgid "Invalid numeric value" + msgstr "无效的数值" + +-#: gio/glib-compile-schemas.c:114 ++#: ../gio/glib-compile-schemas.c:114 + #, c-format + msgid " already specified" + msgstr " 已指定" + +-#: gio/glib-compile-schemas.c:122 ++#: ../gio/glib-compile-schemas.c:122 + #, c-format + msgid "value='%s' already specified" + msgstr "value='%s' 已指定" + +-#: gio/glib-compile-schemas.c:136 ++#: ../gio/glib-compile-schemas.c:136 + #, c-format + msgid "flags values must have at most 1 bit set" + msgstr "标志值最多只能设置 1 位" + +-#: gio/glib-compile-schemas.c:161 ++#: ../gio/glib-compile-schemas.c:161 + #, c-format + msgid "<%s> must contain at least one " + msgstr "<%s> 必须包含至少一个 " + +-#: gio/glib-compile-schemas.c:317 ++#: ../gio/glib-compile-schemas.c:317 + #, c-format + msgid "<%s> is not contained in the specified range" + msgstr "<%s> 不在指定的范围内" + +-#: gio/glib-compile-schemas.c:329 ++#: ../gio/glib-compile-schemas.c:329 + #, c-format + msgid "<%s> is not a valid member of the specified enumerated type" + msgstr "<%s> 不是指定枚举类型的有效成员" + +-#: gio/glib-compile-schemas.c:335 ++#: ../gio/glib-compile-schemas.c:335 + #, c-format + msgid "<%s> contains string not in the specified flags type" + msgstr "<%s> 包含了不在指定标志类型里的字符串" + +-#: gio/glib-compile-schemas.c:341 ++#: ../gio/glib-compile-schemas.c:341 + #, c-format + msgid "<%s> contains a string not in " + msgstr "<%s> 包含了不在 里的字符串" + +-#: gio/glib-compile-schemas.c:375 ++#: ../gio/glib-compile-schemas.c:375 + msgid " already specified for this key" + msgstr "此键已被指定为 " + +-#: gio/glib-compile-schemas.c:393 ++#: ../gio/glib-compile-schemas.c:393 + #, c-format + msgid " not allowed for keys of type “%s”" + msgstr "“%s”类型的键不允许 " + +-#: gio/glib-compile-schemas.c:410 ++#: ../gio/glib-compile-schemas.c:410 + #, c-format + msgid " specified minimum is greater than maximum" + msgstr " 指定的最小值比最大值还大" + +-#: gio/glib-compile-schemas.c:435 ++#: ../gio/glib-compile-schemas.c:435 + #, c-format + msgid "unsupported l10n category: %s" + msgstr "不支持的 l10n 目录:%s" + +-#: gio/glib-compile-schemas.c:443 ++#: ../gio/glib-compile-schemas.c:443 + msgid "l10n requested, but no gettext domain given" + msgstr "已请求 l10n,但未给定 gettext 域" + +-#: gio/glib-compile-schemas.c:455 ++#: ../gio/glib-compile-schemas.c:455 + msgid "translation context given for value without l10n enabled" + msgstr "值给定的翻译上下文未启用 l10n" + +-#: gio/glib-compile-schemas.c:477 ++#: ../gio/glib-compile-schemas.c:477 + #, c-format + msgid "Failed to parse value of type “%s”: " + msgstr "解析类型“%s”的 值失败:" + +-#: gio/glib-compile-schemas.c:494 ++#: ../gio/glib-compile-schemas.c:494 + msgid "" + " cannot be specified for keys tagged as having an enumerated type" + msgstr "无法为标记为枚举类型的键指定 " + +-#: gio/glib-compile-schemas.c:503 ++#: ../gio/glib-compile-schemas.c:503 + msgid " already specified for this key" + msgstr "此键已被指定为 " + +-#: gio/glib-compile-schemas.c:515 ++#: ../gio/glib-compile-schemas.c:515 + #, c-format + msgid " not allowed for keys of type “%s”" + msgstr "“%s”类型的键不允许 " + +-#: gio/glib-compile-schemas.c:531 ++#: ../gio/glib-compile-schemas.c:531 + #, c-format + msgid " already given" + msgstr " 已给定" + +-#: gio/glib-compile-schemas.c:546 ++#: ../gio/glib-compile-schemas.c:546 + #, c-format + msgid " must contain at least one " + msgstr " 必须包含至少一个 " + +-#: gio/glib-compile-schemas.c:560 ++#: ../gio/glib-compile-schemas.c:560 + msgid " already specified for this key" + msgstr "此键已被指定为 " + +-#: gio/glib-compile-schemas.c:564 ++#: ../gio/glib-compile-schemas.c:564 + msgid "" + " can only be specified for keys with enumerated or flags types or " + "after " + msgstr " 只能被指定在枚举或标志类型的键上,或是在 之后的键" + +-#: gio/glib-compile-schemas.c:583 ++#: ../gio/glib-compile-schemas.c:583 + #, c-format + msgid "" + " given when “%s” is already a member of the enumerated " + "type" + msgstr "给定了 ,但“%s”已经是枚举类型的成员" + +-#: gio/glib-compile-schemas.c:589 ++#: ../gio/glib-compile-schemas.c:589 + #, c-format + msgid " given when was already given" + msgstr "给定了 ,但 已给定" + +-#: gio/glib-compile-schemas.c:597 ++#: ../gio/glib-compile-schemas.c:597 + #, c-format + msgid " already specified" + msgstr " 已指定" + +-#: gio/glib-compile-schemas.c:607 ++#: ../gio/glib-compile-schemas.c:607 + #, c-format + msgid "alias target “%s” is not in enumerated type" + msgstr "别名目标“%s”不在枚举类型内" + +-#: gio/glib-compile-schemas.c:608 ++#: ../gio/glib-compile-schemas.c:608 + #, c-format + msgid "alias target “%s” is not in " + msgstr "别名目标“%s”不在 内" + +-#: gio/glib-compile-schemas.c:623 ++#: ../gio/glib-compile-schemas.c:623 + #, c-format + msgid " must contain at least one " + msgstr " 必须包含至少一个 " + +-#: gio/glib-compile-schemas.c:797 ++#: ../gio/glib-compile-schemas.c:797 + msgid "Empty names are not permitted" + msgstr "不允许空名称" + +-#: gio/glib-compile-schemas.c:807 ++#: ../gio/glib-compile-schemas.c:807 + #, c-format + msgid "Invalid name “%s”: names must begin with a lowercase letter" + msgstr "无效名称“%s”:名称必须以小写字母开始" + +-#: gio/glib-compile-schemas.c:819 ++#: ../gio/glib-compile-schemas.c:819 + #, c-format + msgid "" + "Invalid name “%s”: invalid character “%c”; only lowercase letters, numbers " + "and hyphen (“-”) are permitted" + msgstr "无效名称“%s”:无效的字符“%c”;仅允许使用小写字母、数字和连字符(“-”)" + +-#: gio/glib-compile-schemas.c:828 ++#: ../gio/glib-compile-schemas.c:828 + #, c-format + msgid "Invalid name “%s”: two successive hyphens (“--”) are not permitted" + msgstr "无效名称“%s”:不允许使用连续的连字符(“--”)" + +-#: gio/glib-compile-schemas.c:837 ++#: ../gio/glib-compile-schemas.c:837 + #, c-format + msgid "Invalid name “%s”: the last character may not be a hyphen (“-”)" + msgstr "无效名称“%s”:最后一个字符串不应为连字符(“-”)。" + +-#: gio/glib-compile-schemas.c:845 ++#: ../gio/glib-compile-schemas.c:845 + #, c-format + msgid "Invalid name “%s”: maximum length is 1024" + msgstr "无效名称“%s”:最大长度为 1024" + +-#: gio/glib-compile-schemas.c:917 ++#: ../gio/glib-compile-schemas.c:917 + #, c-format + msgid " already specified" + msgstr " 已指定" + +-#: gio/glib-compile-schemas.c:943 ++#: ../gio/glib-compile-schemas.c:943 + msgid "Cannot add keys to a “list-of” schema" + msgstr "无法添加键到一个“list-of”架构" + +-#: gio/glib-compile-schemas.c:954 ++#: ../gio/glib-compile-schemas.c:954 + #, c-format + msgid " already specified" + msgstr " 已指定" + +-#: gio/glib-compile-schemas.c:972 ++#: ../gio/glib-compile-schemas.c:972 + #, c-format + msgid "" + " shadows in ; use " +@@ -2691,69 +2750,69 @@ msgstr "" + " 重合; 请使用 " + " 修改其值" + +-#: gio/glib-compile-schemas.c:983 ++#: ../gio/glib-compile-schemas.c:983 + #, c-format + msgid "" + "Exactly one of “type”, “enum” or “flags” must be specified as an attribute " + "to " + msgstr "“type”、“enum”或“flags”中必须有一个被指定为 的属性" + +-#: gio/glib-compile-schemas.c:1002 ++#: ../gio/glib-compile-schemas.c:1002 + #, c-format + msgid "<%s id='%s'> not (yet) defined." + msgstr "<%s id='%s'> 尚未定义。" + +-#: gio/glib-compile-schemas.c:1017 ++#: ../gio/glib-compile-schemas.c:1017 + #, c-format + msgid "Invalid GVariant type string “%s”" + msgstr "无效的 GVariant 类型字符串“%s”" + +-#: gio/glib-compile-schemas.c:1047 ++#: ../gio/glib-compile-schemas.c:1047 + msgid " given but schema isn’t extending anything" + msgstr "已给定 但架构并未扩展" + +-#: gio/glib-compile-schemas.c:1060 ++#: ../gio/glib-compile-schemas.c:1060 + #, c-format + msgid "No to override" + msgstr "无 可覆盖" + +-#: gio/glib-compile-schemas.c:1068 ++#: ../gio/glib-compile-schemas.c:1068 + #, c-format + msgid " already specified" + msgstr " 已指定" + +-#: gio/glib-compile-schemas.c:1141 ++#: ../gio/glib-compile-schemas.c:1141 + #, c-format + msgid " already specified" + msgstr " 已指定" + +-#: gio/glib-compile-schemas.c:1153 ++#: ../gio/glib-compile-schemas.c:1153 + #, c-format + msgid " extends not yet existing schema “%s”" + msgstr " 扩展了尚不存在的架构“%s”" + +-#: gio/glib-compile-schemas.c:1169 ++#: ../gio/glib-compile-schemas.c:1169 + #, c-format + msgid " is list of not yet existing schema “%s”" + msgstr " 是尚不存在的架构“%s”的列表" + +-#: gio/glib-compile-schemas.c:1177 ++#: ../gio/glib-compile-schemas.c:1177 + #, c-format + msgid "Cannot be a list of a schema with a path" + msgstr "不能是带有路径架构的列表" + +-#: gio/glib-compile-schemas.c:1187 ++#: ../gio/glib-compile-schemas.c:1187 + #, c-format + msgid "Cannot extend a schema with a path" + msgstr "无法扩展带有路径的架构" + +-#: gio/glib-compile-schemas.c:1197 ++#: ../gio/glib-compile-schemas.c:1197 + #, c-format + msgid "" + " is a list, extending which is not a list" + msgstr " 是一个列表,扩展的 不是列表" + +-#: gio/glib-compile-schemas.c:1207 ++#: ../gio/glib-compile-schemas.c:1207 + #, c-format + msgid "" + " extends but “%s” " +@@ -2762,75 +2821,66 @@ msgstr "" + " 扩展 ,但“%s”不扩" + "展“%s”" + +-#: gio/glib-compile-schemas.c:1224 ++#: ../gio/glib-compile-schemas.c:1224 + #, c-format + msgid "A path, if given, must begin and end with a slash" + msgstr "一个路径,如果给定则必须以斜线(/)开始和结束" + +-#: gio/glib-compile-schemas.c:1231 ++#: ../gio/glib-compile-schemas.c:1231 + #, c-format + msgid "The path of a list must end with “:/”" + msgstr "一个列表的路径必须以“:/”结束" + +-#: gio/glib-compile-schemas.c:1240 +-#, c-format +-msgid "" +-"Warning: Schema “%s” has path “%s”. Paths starting with “/apps/”, “/" +-"desktop/” or “/system/” are deprecated." +-msgstr "" +-"警告:架构“%s”带有路径“%s”。以“/apps/”、“/desktop/”或“/system/”开头的路径已弃" +-"用。" +- +-#: gio/glib-compile-schemas.c:1270 ++#: ../gio/glib-compile-schemas.c:1274 + #, c-format + msgid "<%s id='%s'> already specified" + msgstr "<%s id='%s'> 已指定" + +-#: gio/glib-compile-schemas.c:1420 gio/glib-compile-schemas.c:1436 ++#: ../gio/glib-compile-schemas.c:1424 ../gio/glib-compile-schemas.c:1440 + #, c-format + msgid "Only one <%s> element allowed inside <%s>" + msgstr "在 <%2$s> 中仅允许一个成员 <%1$s>" + +-#: gio/glib-compile-schemas.c:1518 ++#: ../gio/glib-compile-schemas.c:1522 + #, c-format + msgid "Element <%s> not allowed at the top level" + msgstr "顶层中不允许元素 <%s>" + +-#: gio/glib-compile-schemas.c:1536 ++#: ../gio/glib-compile-schemas.c:1540 + msgid "Element is required in " + msgstr " 里不需要元素 " + +-#: gio/glib-compile-schemas.c:1626 ++#: ../gio/glib-compile-schemas.c:1630 + #, c-format + msgid "Text may not appear inside <%s>" + msgstr "<%s> 内不应出现文本" + +-#: gio/glib-compile-schemas.c:1694 ++#: ../gio/glib-compile-schemas.c:1698 + #, c-format + msgid "Warning: undefined reference to " + msgstr "警告:到 的引用未定义" + + #. Translators: Do not translate "--strict". +-#: gio/glib-compile-schemas.c:1833 gio/glib-compile-schemas.c:1912 ++#: ../gio/glib-compile-schemas.c:1837 ../gio/glib-compile-schemas.c:1916 + msgid "--strict was specified; exiting." + msgstr "指定了 --strict;正在退出。" + +-#: gio/glib-compile-schemas.c:1845 ++#: ../gio/glib-compile-schemas.c:1849 + msgid "This entire file has been ignored." + msgstr "整个文件被忽略。" + +-#: gio/glib-compile-schemas.c:1908 ++#: ../gio/glib-compile-schemas.c:1912 + msgid "Ignoring this file." + msgstr "正在忽略此文件。" + +-#: gio/glib-compile-schemas.c:1963 ++#: ../gio/glib-compile-schemas.c:1967 + #, c-format + msgid "" + "No such key “%s” in schema “%s” as specified in override file “%s”; ignoring " + "override for this key." + msgstr "覆盖文件“%3$s”中指定的架构“%2$s”中没有键“%1$s”;正在忽略对此键的覆盖。" + +-#: gio/glib-compile-schemas.c:1971 ++#: ../gio/glib-compile-schemas.c:1975 + #, c-format + msgid "" + "No such key “%s” in schema “%s” as specified in override file “%s” and --" +@@ -2838,7 +2888,7 @@ msgid "" + msgstr "" + "覆盖文件“%3$s”中指定的架构“%2$s”中没有键“%1$s”并且已指定 --strict;正在退出。" + +-#: gio/glib-compile-schemas.c:1993 ++#: ../gio/glib-compile-schemas.c:1997 + #, c-format + msgid "" + "Cannot provide per-desktop overrides for localized key “%s” in schema " +@@ -2847,7 +2897,7 @@ msgstr "" + "无法为架构“%2$s”中的局部键“%1$s”提供每个桌面的覆盖(覆盖文件“%3$s”);正在忽" + "略对此键的覆盖。" + +-#: gio/glib-compile-schemas.c:2002 ++#: ../gio/glib-compile-schemas.c:2006 + #, c-format + msgid "" + "Cannot provide per-desktop overrides for localized key “%s” in schema " +@@ -2856,7 +2906,7 @@ msgstr "" + "无法为架构“%2$s”中的局部键“%1$s”提供每个桌面的覆盖(覆盖文件“%3$s”)并且已指" + "定 --strict;正在退出。" + +-#: gio/glib-compile-schemas.c:2026 ++#: ../gio/glib-compile-schemas.c:2030 + #, c-format + msgid "" + "Error parsing key “%s” in schema “%s” as specified in override file “%s”: " +@@ -2865,7 +2915,7 @@ msgstr "" + "解析覆盖文件“%3$s”所指定架构“%2$s”中的键“%1$s”时出错:%4$s。正在忽略对此键的" + "覆盖。" + +-#: gio/glib-compile-schemas.c:2038 ++#: ../gio/glib-compile-schemas.c:2042 + #, c-format + msgid "" + "Error parsing key “%s” in schema “%s” as specified in override file “%s”: " +@@ -2874,7 +2924,7 @@ msgstr "" + "解析覆盖文件“%3$s”所指定架构“%2$s”中的键“%1$s”时出错:%4$s。已指定 --strict;" + "正在退出。" + +-#: gio/glib-compile-schemas.c:2065 ++#: ../gio/glib-compile-schemas.c:2069 + #, c-format + msgid "" + "Override for key “%s” in schema “%s” in override file “%s” is outside the " +@@ -2883,7 +2933,7 @@ msgstr "" + "覆盖文件“%3$s”中架构“%2$s”的键“%1$s”的覆盖超出了架构给出的范围;正在忽略对此" + "键的覆盖。" + +-#: gio/glib-compile-schemas.c:2075 ++#: ../gio/glib-compile-schemas.c:2079 + #, c-format + msgid "" + "Override for key “%s” in schema “%s” in override file “%s” is outside the " +@@ -2892,7 +2942,7 @@ msgstr "" + "覆盖文件“%3$s”中架构“%2$s”的键“%1$s”的覆盖超出了架构给出的范围并且已指定 --" + "strict;正在退出。" + +-#: gio/glib-compile-schemas.c:2101 ++#: ../gio/glib-compile-schemas.c:2105 + #, c-format + msgid "" + "Override for key “%s” in schema “%s” in override file “%s” is not in the " +@@ -2901,7 +2951,7 @@ msgstr "" + "覆盖文件“%3$s”中架构“%2$s”的键“%1$s”的覆盖的值不在有效值列表内;正在忽略对此" + "键的覆盖。" + +-#: gio/glib-compile-schemas.c:2111 ++#: ../gio/glib-compile-schemas.c:2115 + #, c-format + msgid "" + "Override for key “%s” in schema “%s” in override file “%s” is not in the " +@@ -2910,23 +2960,23 @@ msgstr "" + "覆盖文件“%3$s”中架构“%2$s”的键“%1$s”的覆盖的值不在有效值列表内并且已指定 --" + "strict;正在退出。" + +-#: gio/glib-compile-schemas.c:2173 ++#: ../gio/glib-compile-schemas.c:2177 + msgid "Where to store the gschemas.compiled file" + msgstr "gschemas.compiled 文件存储于何处" + +-#: gio/glib-compile-schemas.c:2174 ++#: ../gio/glib-compile-schemas.c:2178 + msgid "Abort on any errors in schemas" + msgstr "在架构里出现任何错误时中止" + +-#: gio/glib-compile-schemas.c:2175 ++#: ../gio/glib-compile-schemas.c:2179 + msgid "Do not write the gschema.compiled file" + msgstr "不要对 gschema.compiled 进行写操作" + +-#: gio/glib-compile-schemas.c:2176 ++#: ../gio/glib-compile-schemas.c:2180 + msgid "Do not enforce key name restrictions" + msgstr "不要强制键名的限制" + +-#: gio/glib-compile-schemas.c:2206 ++#: ../gio/glib-compile-schemas.c:2210 + msgid "" + "Compile all GSettings schema files into a schema cache.\n" + "Schema files are required to have the extension .gschema.xml,\n" +@@ -2936,24 +2986,24 @@ msgstr "" + "要使用扩展 .gschema.xml,需要有架构文件,\n" + "缓存文件被称为 gschemas.compiled。" + +-#: gio/glib-compile-schemas.c:2238 ++#: ../gio/glib-compile-schemas.c:2242 + msgid "You should give exactly one directory name" + msgstr "您应该给出一个且仅一个的目录名" + +-#: gio/glib-compile-schemas.c:2285 ++#: ../gio/glib-compile-schemas.c:2289 + msgid "No schema files found: doing nothing." + msgstr "未找到架构文件:无事可做。" + +-#: gio/glib-compile-schemas.c:2287 ++#: ../gio/glib-compile-schemas.c:2291 + msgid "No schema files found: removed existing output file." + msgstr "未找到架构文件:已删除存在的输出文件。" + +-#: gio/glocalfile.c:570 gio/win32/gwinhttpfile.c:436 ++#: ../gio/glocalfile.c:570 ../gio/win32/gwinhttpfile.c:436 + #, c-format + msgid "Invalid filename %s" + msgstr "无效的文件名 %s" + +-#: gio/glocalfile.c:1012 ++#: ../gio/glocalfile.c:1012 + #, c-format + msgid "Error getting filesystem info for %s: %s" + msgstr "读取 %s 文件系统信息时出错:%s" +@@ -2962,515 +3012,548 @@ msgstr "读取 %s 文件系统信息时出错:%s" + #. * the enclosing (user visible) mount of a file, but none + #. * exists. + #. +-#: gio/glocalfile.c:1148 ++#: ../gio/glocalfile.c:1148 + #, c-format + msgid "Containing mount for file %s not found" + msgstr "找不到文件 %s 包含的挂载" + +-#: gio/glocalfile.c:1171 ++#: ../gio/glocalfile.c:1171 + msgid "Can’t rename root directory" + msgstr "无法重命名根目录" + +-#: gio/glocalfile.c:1189 gio/glocalfile.c:1212 ++#: ../gio/glocalfile.c:1189 ../gio/glocalfile.c:1212 + #, c-format + msgid "Error renaming file %s: %s" + msgstr "重命名文件 %s 时出错:%s" + +-#: gio/glocalfile.c:1196 ++#: ../gio/glocalfile.c:1196 + msgid "Can’t rename file, filename already exists" + msgstr "无法重命名文件,该文件名已存在" + +-#: gio/glocalfile.c:1209 gio/glocalfile.c:2412 gio/glocalfile.c:2440 +-#: gio/glocalfile.c:2579 gio/glocalfileoutputstream.c:658 ++#: ../gio/glocalfile.c:1209 ../gio/glocalfile.c:2422 ../gio/glocalfile.c:2450 ++#: ../gio/glocalfile.c:2589 ../gio/glocalfileoutputstream.c:659 + msgid "Invalid filename" + msgstr "无效的文件名" + +-#: gio/glocalfile.c:1377 gio/glocalfile.c:1388 ++#: ../gio/glocalfile.c:1377 ../gio/glocalfile.c:1388 + #, c-format + msgid "Error opening file %s: %s" + msgstr "打开文件 %s 时出错:%s" + +-#: gio/glocalfile.c:1513 ++#: ../gio/glocalfile.c:1513 + #, c-format + msgid "Error removing file %s: %s" + msgstr "删除文件 %s 时出错:%s" + +-#: gio/glocalfile.c:2007 gio/glocalfile.c:2018 gio/glocalfile.c:2045 ++#: ../gio/glocalfile.c:2010 ../gio/glocalfile.c:2021 ../gio/glocalfile.c:2048 + #, c-format + msgid "Error trashing file %s: %s" + msgstr "将文件 %s 丢到回收站时出错:%s" + +-#: gio/glocalfile.c:2065 ++#: ../gio/glocalfile.c:2069 + #, c-format + msgid "Unable to create trash directory %s: %s" + msgstr "无法创建回收站目录 %s:%s" + +-#: gio/glocalfile.c:2086 ++#: ../gio/glocalfile.c:2090 + #, c-format + msgid "Unable to find toplevel directory to trash %s" + msgstr "找不到回收站 %s 的顶级目录" + +-#: gio/glocalfile.c:2094 ++#: ../gio/glocalfile.c:2098 + #, c-format + msgid "Trashing on system internal mounts is not supported" + msgstr "不支持在系统内部挂载上的丢弃到回收站操作" + +-#: gio/glocalfile.c:2180 gio/glocalfile.c:2208 ++#: ../gio/glocalfile.c:2184 ../gio/glocalfile.c:2212 + #, c-format + msgid "Unable to find or create trash directory %s to trash %s" + msgstr "无法找到或创建回收站目录 %s 来丢弃 %s" + +-#: gio/glocalfile.c:2252 ++#: ../gio/glocalfile.c:2256 + #, c-format + msgid "Unable to create trashing info file for %s: %s" + msgstr "为 %s 创建回收站信息文件失败:%s" + +-#: gio/glocalfile.c:2323 ++#: ../gio/glocalfile.c:2333 + #, c-format + msgid "Unable to trash file %s across filesystem boundaries" + msgstr "无法跨越文件系统边界将文件 %s 丢到回收站" + +-#: gio/glocalfile.c:2327 gio/glocalfile.c:2383 ++#: ../gio/glocalfile.c:2337 ../gio/glocalfile.c:2393 + #, c-format + msgid "Unable to trash file %s: %s" + msgstr "无法将文件 %s 丢到回收站:%s" + +-#: gio/glocalfile.c:2389 ++#: ../gio/glocalfile.c:2399 + #, c-format + msgid "Unable to trash file %s" + msgstr "无法将文件 %s 丢到回收站" + +-#: gio/glocalfile.c:2415 ++#: ../gio/glocalfile.c:2425 + #, c-format + msgid "Error creating directory %s: %s" + msgstr "创建目录 %s 时出错:%s" + +-#: gio/glocalfile.c:2444 ++#: ../gio/glocalfile.c:2454 + #, c-format + msgid "Filesystem does not support symbolic links" + msgstr "文件系统不支持符号链接" + +-#: gio/glocalfile.c:2447 ++#: ../gio/glocalfile.c:2457 + #, c-format + msgid "Error making symbolic link %s: %s" + msgstr "创建符号链接 %s 时出错:%s" + +-#: gio/glocalfile.c:2490 gio/glocalfile.c:2525 gio/glocalfile.c:2582 ++#: ../gio/glocalfile.c:2500 ../gio/glocalfile.c:2535 ../gio/glocalfile.c:2592 + #, c-format + msgid "Error moving file %s: %s" + msgstr "移动文件 %s 时出错:%s" + +-#: gio/glocalfile.c:2513 ++#: ../gio/glocalfile.c:2523 + msgid "Can’t move directory over directory" + msgstr "无法将目录移动到目录" + +-#: gio/glocalfile.c:2539 gio/glocalfileoutputstream.c:1110 +-#: gio/glocalfileoutputstream.c:1124 gio/glocalfileoutputstream.c:1139 +-#: gio/glocalfileoutputstream.c:1156 gio/glocalfileoutputstream.c:1170 ++#: ../gio/glocalfile.c:2549 ../gio/glocalfileoutputstream.c:1133 ++#: ../gio/glocalfileoutputstream.c:1147 ../gio/glocalfileoutputstream.c:1162 ++#: ../gio/glocalfileoutputstream.c:1179 ../gio/glocalfileoutputstream.c:1193 + msgid "Backup file creation failed" + msgstr "备份文件创建失败" + +-#: gio/glocalfile.c:2558 ++#: ../gio/glocalfile.c:2568 + #, c-format + msgid "Error removing target file: %s" + msgstr "移除目标文件出错:%s" + +-#: gio/glocalfile.c:2572 ++#: ../gio/glocalfile.c:2582 + msgid "Move between mounts not supported" + msgstr "不支持在挂载之间移动" + +-#: gio/glocalfile.c:2748 ++#: ../gio/glocalfile.c:2758 + #, c-format + msgid "Could not determine the disk usage of %s: %s" + msgstr "无法确定 %s 的磁盘使用情况:%s" + +-#: gio/glocalfileinfo.c:765 ++#: ../gio/glocalfileinfo.c:768 + msgid "Attribute value must be non-NULL" + msgstr "属性值必须为非空" + +-#: gio/glocalfileinfo.c:772 ++#: ../gio/glocalfileinfo.c:775 + msgid "Invalid attribute type (string or invalid expected)" + msgstr "无效的属性类型(应为字符串或无效)" + +-#: gio/glocalfileinfo.c:779 ++#: ../gio/glocalfileinfo.c:782 + msgid "Invalid extended attribute name" + msgstr "无效的扩展属性名" + +-#: gio/glocalfileinfo.c:830 ++#: ../gio/glocalfileinfo.c:833 + #, c-format + msgid "Error setting extended attribute “%s”: %s" + msgstr "设置扩展属性“%s”时出错:%s" + +-#: gio/glocalfileinfo.c:1785 gio/win32/gwinhttpfile.c:191 ++#: ../gio/glocalfileinfo.c:1789 ../gio/win32/gwinhttpfile.c:191 + msgid " (invalid encoding)" + msgstr " (无效的编码)" + +-#: gio/glocalfileinfo.c:1944 gio/glocalfileoutputstream.c:945 +-#: gio/glocalfileoutputstream.c:997 ++#: ../gio/glocalfileinfo.c:1880 ++msgid "Desktop" ++msgstr "桌面" ++ ++#: ../gio/glocalfileinfo.c:1882 ++msgid "Documents" ++msgstr "文档" ++ ++#: ../gio/glocalfileinfo.c:1884 ++msgid "Download" ++msgstr "下载" ++ ++#: ../gio/glocalfileinfo.c:1886 ++msgid "Music" ++msgstr "音乐" ++ ++#: ../gio/glocalfileinfo.c:1888 ++msgid "Pictures" ++msgstr "图片" ++ ++#: ../gio/glocalfileinfo.c:1890 ++msgid "Public Share" ++msgstr "公共的" ++ ++#: ../gio/glocalfileinfo.c:1892 ++msgid "Templates" ++msgstr "模板" ++ ++#: ../gio/glocalfileinfo.c:1894 ++msgid "Videos" ++msgstr "视频" ++ ++#: ../gio/glocalfileinfo.c:1975 ../gio/glocalfileoutputstream.c:961 ++#: ../gio/glocalfileoutputstream.c:1013 + #, c-format + msgid "Error when getting information for file “%s”: %s" + msgstr "获取文件“%s”的信息时出错:%s" + +-#: gio/glocalfileinfo.c:2250 ++#: ../gio/glocalfileinfo.c:2281 + #, c-format + msgid "Error when getting information for file descriptor: %s" + msgstr "获取文件描述符的信息时出错:%s" + +-#: gio/glocalfileinfo.c:2295 ++#: ../gio/glocalfileinfo.c:2326 + msgid "Invalid attribute type (uint32 expected)" + msgstr "无效的属性类型(应为 uint32)" + +-#: gio/glocalfileinfo.c:2313 ++#: ../gio/glocalfileinfo.c:2344 + msgid "Invalid attribute type (uint64 expected)" + msgstr "无效的属性类型(应为 uint64)" + +-#: gio/glocalfileinfo.c:2332 gio/glocalfileinfo.c:2351 ++#: ../gio/glocalfileinfo.c:2363 ../gio/glocalfileinfo.c:2382 + msgid "Invalid attribute type (byte string expected)" + msgstr "无效的属性类型(应为字节字符串)" + +-#: gio/glocalfileinfo.c:2398 ++#: ../gio/glocalfileinfo.c:2429 + msgid "Cannot set permissions on symlinks" + msgstr "无法为符号链接设置权限" + +-#: gio/glocalfileinfo.c:2414 ++#: ../gio/glocalfileinfo.c:2445 + #, c-format + msgid "Error setting permissions: %s" + msgstr "设置访问权限出错:%s" + +-#: gio/glocalfileinfo.c:2465 ++#: ../gio/glocalfileinfo.c:2496 + #, c-format + msgid "Error setting owner: %s" + msgstr "设置所有者出错:%s" + +-#: gio/glocalfileinfo.c:2488 ++#: ../gio/glocalfileinfo.c:2519 + msgid "symlink must be non-NULL" + msgstr "符号链接必须是非空" + +-#: gio/glocalfileinfo.c:2498 gio/glocalfileinfo.c:2517 +-#: gio/glocalfileinfo.c:2528 ++#: ../gio/glocalfileinfo.c:2529 ../gio/glocalfileinfo.c:2548 ++#: ../gio/glocalfileinfo.c:2559 + #, c-format + msgid "Error setting symlink: %s" + msgstr "设置符号链接出错:%s" + +-#: gio/glocalfileinfo.c:2507 ++#: ../gio/glocalfileinfo.c:2538 + msgid "Error setting symlink: file is not a symlink" + msgstr "设定符号链接出错:文件不是符号链接" + +-#: gio/glocalfileinfo.c:2599 ++#: ../gio/glocalfileinfo.c:2630 + #, c-format + msgid "Extra nanoseconds %d for UNIX timestamp %lld are negative" + msgstr "额外的纳秒数字 %d 在 UNIX 时间戳 %lld 中是负值" + +-#: gio/glocalfileinfo.c:2608 ++#: ../gio/glocalfileinfo.c:2639 + #, c-format + msgid "Extra nanoseconds %d for UNIX timestamp %lld reach 1 second" + msgstr "额外的纳秒数字 %d 在 UNIX 时间戳 %lld 中长度已达到一秒钟" + +-#: gio/glocalfileinfo.c:2618 ++#: ../gio/glocalfileinfo.c:2649 + #, c-format + msgid "UNIX timestamp %lld does not fit into 64 bits" + msgstr "UNIX 时间戳 %lld 无法作为 64 比特数据存储" + +-#: gio/glocalfileinfo.c:2629 ++#: ../gio/glocalfileinfo.c:2660 + #, c-format + msgid "UNIX timestamp %lld is outside of the range supported by Windows" + msgstr "UNIX 时间戳 %lld 位于 Windows 所支持的范围之外" + +-#: gio/glocalfileinfo.c:2761 ++#: ../gio/glocalfileinfo.c:2792 + #, c-format + msgid "File name “%s” cannot be converted to UTF-16" + msgstr "文件名“%s”不能转换为 UTF-16" + +-#: gio/glocalfileinfo.c:2780 ++#: ../gio/glocalfileinfo.c:2811 + #, c-format + msgid "File “%s” cannot be opened: Windows Error %lu" + msgstr "无法打开文件“%s”:Windows 错误 %lu" + +-#: gio/glocalfileinfo.c:2793 ++#: ../gio/glocalfileinfo.c:2824 + #, c-format + msgid "Error setting modification or access time for file “%s”: %lu" + msgstr "设置文件“%s”的修改或访问时间时出错:%lu" + +-#: gio/glocalfileinfo.c:2950 ++#: ../gio/glocalfileinfo.c:2981 + #, c-format + msgid "Error setting modification or access time: %s" + msgstr "设置修改或访问时间时出错:%s" + +-#: gio/glocalfileinfo.c:2973 ++#: ../gio/glocalfileinfo.c:3004 + msgid "SELinux context must be non-NULL" + msgstr "SELinux 上下文必须是非空" + +-#: gio/glocalfileinfo.c:2980 ++#: ../gio/glocalfileinfo.c:3011 + msgid "SELinux is not enabled on this system" + msgstr "此系统尚未启用 SELinux" + +-#: gio/glocalfileinfo.c:2990 ++#: ../gio/glocalfileinfo.c:3021 + #, c-format + msgid "Error setting SELinux context: %s" + msgstr "设置 SELinux 上下文出错:%s" + +-#: gio/glocalfileinfo.c:3087 ++#: ../gio/glocalfileinfo.c:3118 + #, c-format + msgid "Setting attribute %s not supported" + msgstr "不支持设置属性 %s" + +-#: gio/glocalfileinputstream.c:165 gio/glocalfileoutputstream.c:803 ++#: ../gio/glocalfileinputstream.c:165 ../gio/glocalfileoutputstream.c:804 + #, c-format + msgid "Error reading from file: %s" + msgstr "读取文件出错:%s" + +-#: gio/glocalfileinputstream.c:196 gio/glocalfileoutputstream.c:355 +-#: gio/glocalfileoutputstream.c:449 ++#: ../gio/glocalfileinputstream.c:196 ../gio/glocalfileoutputstream.c:356 ++#: ../gio/glocalfileoutputstream.c:450 + #, c-format + msgid "Error closing file: %s" + msgstr "关闭文件出错:%s" + +-#: gio/glocalfileinputstream.c:274 gio/glocalfileoutputstream.c:565 +-#: gio/glocalfileoutputstream.c:1188 ++#: ../gio/glocalfileinputstream.c:274 ../gio/glocalfileoutputstream.c:566 ++#: ../gio/glocalfileoutputstream.c:1211 + #, c-format + msgid "Error seeking in file: %s" + msgstr "在文件中定位时出错:%s" + +-#: gio/glocalfilemonitor.c:882 ++#: ../gio/glocalfilemonitor.c:882 + msgid "Unable to find default local file monitor type" + msgstr "无法找到默认的本地文件监视器类型" + +-#: gio/glocalfileoutputstream.c:222 gio/glocalfileoutputstream.c:300 +-#: gio/glocalfileoutputstream.c:336 gio/glocalfileoutputstream.c:824 ++#: ../gio/glocalfileoutputstream.c:223 ../gio/glocalfileoutputstream.c:301 ++#: ../gio/glocalfileoutputstream.c:337 ../gio/glocalfileoutputstream.c:825 + #, c-format + msgid "Error writing to file: %s" + msgstr "写入文件出错:%s" + +-#: gio/glocalfileoutputstream.c:382 ++#: ../gio/glocalfileoutputstream.c:383 + #, c-format + msgid "Error removing old backup link: %s" + msgstr "移除旧的备份链接出错:%s" + +-#: gio/glocalfileoutputstream.c:396 gio/glocalfileoutputstream.c:409 ++#: ../gio/glocalfileoutputstream.c:397 ../gio/glocalfileoutputstream.c:410 + #, c-format + msgid "Error creating backup copy: %s" + msgstr "创建备份拷贝:%s" + +-#: gio/glocalfileoutputstream.c:427 ++#: ../gio/glocalfileoutputstream.c:428 + #, c-format + msgid "Error renaming temporary file: %s" + msgstr "重命名临时文件出错:%s" + +-#: gio/glocalfileoutputstream.c:611 gio/glocalfileoutputstream.c:1242 ++#: ../gio/glocalfileoutputstream.c:612 ../gio/glocalfileoutputstream.c:1265 + #, c-format + msgid "Error truncating file: %s" + msgstr "截断文件出错:%s" + +-#: gio/glocalfileoutputstream.c:664 gio/glocalfileoutputstream.c:909 +-#: gio/glocalfileoutputstream.c:1223 gio/gsubprocess.c:231 ++#: ../gio/glocalfileoutputstream.c:665 ../gio/glocalfileoutputstream.c:925 ++#: ../gio/glocalfileoutputstream.c:1246 ../gio/gsubprocess.c:231 + #, c-format + msgid "Error opening file “%s”: %s" + msgstr "打开文件“%s”出错:%s" + +-#: gio/glocalfileoutputstream.c:959 ++#: ../gio/glocalfileoutputstream.c:975 + msgid "Target file is a directory" + msgstr "目标文件是目录" + +-#: gio/glocalfileoutputstream.c:973 ++#: ../gio/glocalfileoutputstream.c:989 + msgid "Target file is not a regular file" + msgstr "目标文件不是普通文件" + +-#: gio/glocalfileoutputstream.c:1015 ++#: ../gio/glocalfileoutputstream.c:1031 + msgid "The file was externally modified" + msgstr "文件已经被其他程序修改" + +-#: gio/glocalfileoutputstream.c:1205 ++#: ../gio/glocalfileoutputstream.c:1228 + #, c-format + msgid "Error removing old file: %s" + msgstr "移除旧文件出错:%s" + +-#: gio/gmemoryinputstream.c:476 gio/gmemoryoutputstream.c:764 ++#: ../gio/gmemoryinputstream.c:476 ../gio/gmemoryoutputstream.c:764 + msgid "Invalid GSeekType supplied" + msgstr "提供的 GSeekType 无效" + +-#: gio/gmemoryinputstream.c:486 ++#: ../gio/gmemoryinputstream.c:486 + msgid "Invalid seek request" + msgstr "无效的搜寻请求" + +-#: gio/gmemoryinputstream.c:510 ++#: ../gio/gmemoryinputstream.c:510 + msgid "Cannot truncate GMemoryInputStream" + msgstr "无法截断 GMemoryInputStream" + +-#: gio/gmemoryoutputstream.c:570 ++#: ../gio/gmemoryoutputstream.c:570 + msgid "Memory output stream not resizable" + msgstr "内存输出流无法改变大小" + +-#: gio/gmemoryoutputstream.c:586 ++#: ../gio/gmemoryoutputstream.c:586 + msgid "Failed to resize memory output stream" + msgstr "改变内存输出流大小失败" + +-#: gio/gmemoryoutputstream.c:665 ++#: ../gio/gmemoryoutputstream.c:665 + msgid "" + "Amount of memory required to process the write is larger than available " + "address space" + msgstr "处理写入所需要的内存超过了可用的空间" + +-#: gio/gmemoryoutputstream.c:774 ++#: ../gio/gmemoryoutputstream.c:774 + msgid "Requested seek before the beginning of the stream" + msgstr "请求的定位值在流的开始之前" + +-#: gio/gmemoryoutputstream.c:789 ++#: ../gio/gmemoryoutputstream.c:789 + msgid "Requested seek beyond the end of the stream" + msgstr "请求的定位值在流的结束之后" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement unmount. +-#: gio/gmount.c:401 ++#: ../gio/gmount.c:401 + msgid "mount doesn’t implement “unmount”" + msgstr "挂载未实现“unmount”" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement eject. +-#: gio/gmount.c:477 ++#: ../gio/gmount.c:477 + msgid "mount doesn’t implement “eject”" + msgstr "挂载未实现“eject”" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement any of unmount or unmount_with_operation. +-#: gio/gmount.c:555 ++#: ../gio/gmount.c:555 + msgid "mount doesn’t implement “unmount” or “unmount_with_operation”" + msgstr "挂载未实现“unmount”或“unmount_with_operation”" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement any of eject or eject_with_operation. +-#: gio/gmount.c:640 ++#: ../gio/gmount.c:640 + msgid "mount doesn’t implement “eject” or “eject_with_operation”" + msgstr "挂载未实现“eject”或“eject_with_operation”" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement remount. +-#: gio/gmount.c:728 ++#: ../gio/gmount.c:728 + msgid "mount doesn’t implement “remount”" + msgstr "挂载未实现“remount”" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement content type guessing. +-#: gio/gmount.c:810 ++#: ../gio/gmount.c:810 + msgid "mount doesn’t implement content type guessing" + msgstr "挂载未实现内容类型猜测" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement content type guessing. +-#: gio/gmount.c:897 ++#: ../gio/gmount.c:897 + msgid "mount doesn’t implement synchronous content type guessing" + msgstr "挂载未实现同步内容类型猜测" + +-#: gio/gnetworkaddress.c:417 ++#: ../gio/gnetworkaddress.c:417 + #, c-format + msgid "Hostname “%s” contains “[” but not “]”" + msgstr "主机名“%s”包含“[”但是缺少“]”" + +-#: gio/gnetworkmonitorbase.c:221 gio/gnetworkmonitorbase.c:325 ++#: ../gio/gnetworkmonitorbase.c:221 ../gio/gnetworkmonitorbase.c:325 + msgid "Network unreachable" + msgstr "网络不可达" + +-#: gio/gnetworkmonitorbase.c:259 gio/gnetworkmonitorbase.c:289 ++#: ../gio/gnetworkmonitorbase.c:259 ../gio/gnetworkmonitorbase.c:289 + msgid "Host unreachable" + msgstr "主机不可达" + +-#: gio/gnetworkmonitornetlink.c:101 gio/gnetworkmonitornetlink.c:113 +-#: gio/gnetworkmonitornetlink.c:132 ++#: ../gio/gnetworkmonitornetlink.c:101 ../gio/gnetworkmonitornetlink.c:113 ++#: ../gio/gnetworkmonitornetlink.c:132 + #, c-format + msgid "Could not create network monitor: %s" + msgstr "不能创建网络监视器:%s" + +-#: gio/gnetworkmonitornetlink.c:122 ++#: ../gio/gnetworkmonitornetlink.c:122 + msgid "Could not create network monitor: " + msgstr "无法创建网络监视器:" + +-#: gio/gnetworkmonitornetlink.c:185 ++#: ../gio/gnetworkmonitornetlink.c:185 + msgid "Could not get network status: " + msgstr "无法获取网络状态:" + +-#: gio/gnetworkmonitornm.c:313 ++#: ../gio/gnetworkmonitornm.c:313 + #, c-format + msgid "NetworkManager not running" + msgstr "NetworkManager 未在运行" + +-#: gio/gnetworkmonitornm.c:324 ++#: ../gio/gnetworkmonitornm.c:324 + #, c-format + msgid "NetworkManager version too old" + msgstr "NetworkManager 版本太老" + +-#: gio/goutputstream.c:234 gio/goutputstream.c:777 ++#: ../gio/goutputstream.c:234 ../gio/goutputstream.c:777 + msgid "Output stream doesn’t implement write" + msgstr "输出流未实现写入" + +-#: gio/goutputstream.c:474 gio/goutputstream.c:1539 ++#: ../gio/goutputstream.c:474 ../gio/goutputstream.c:1539 + #, c-format + msgid "Sum of vectors passed to %s too large" + msgstr "传递给 %s 的向量和太大" + +-#: gio/goutputstream.c:738 gio/goutputstream.c:1769 ++#: ../gio/goutputstream.c:738 ../gio/goutputstream.c:1769 + msgid "Source stream is already closed" + msgstr "源流已经关闭" + +-#: gio/gproxyaddressenumerator.c:329 gio/gproxyaddressenumerator.c:347 ++#: ../gio/gproxyaddressenumerator.c:329 ../gio/gproxyaddressenumerator.c:347 + msgid "Unspecified proxy lookup failure" + msgstr "未指定的代理查询失败" + + #. Translators: the first placeholder is a domain name, the + #. * second is an error message +-#: gio/gresolver.c:478 gio/gthreadedresolver.c:317 gio/gthreadedresolver.c:338 +-#: gio/gthreadedresolver.c:983 gio/gthreadedresolver.c:1007 +-#: gio/gthreadedresolver.c:1032 gio/gthreadedresolver.c:1047 ++#: ../gio/gresolver.c:478 ../gio/gthreadedresolver.c:317 ++#: ../gio/gthreadedresolver.c:338 ../gio/gthreadedresolver.c:983 ++#: ../gio/gthreadedresolver.c:1007 ../gio/gthreadedresolver.c:1032 ++#: ../gio/gthreadedresolver.c:1047 + #, c-format + msgid "Error resolving “%s”: %s" + msgstr "解析“%s”时出错:%s" + + #. Translators: The placeholder is for a function name. +-#: gio/gresolver.c:547 gio/gresolver.c:707 ++#: ../gio/gresolver.c:547 ../gio/gresolver.c:707 + #, c-format + msgid "%s not implemented" + msgstr "%s 尚未实现" + +-#: gio/gresolver.c:1076 gio/gresolver.c:1128 ++#: ../gio/gresolver.c:1076 ../gio/gresolver.c:1128 + msgid "Invalid domain" + msgstr "无效的域" + +-#: gio/gresource.c:683 gio/gresource.c:945 gio/gresource.c:985 +-#: gio/gresource.c:1109 gio/gresource.c:1181 gio/gresource.c:1255 +-#: gio/gresource.c:1336 gio/gresourcefile.c:478 gio/gresourcefile.c:602 +-#: gio/gresourcefile.c:753 ++#: ../gio/gresource.c:683 ../gio/gresource.c:945 ../gio/gresource.c:985 ++#: ../gio/gresource.c:1109 ../gio/gresource.c:1181 ../gio/gresource.c:1255 ++#: ../gio/gresource.c:1336 ../gio/gresourcefile.c:482 ++#: ../gio/gresourcefile.c:606 ../gio/gresourcefile.c:757 + #, c-format + msgid "The resource at “%s” does not exist" + msgstr "位于“%s”的资源不存在" + +-#: gio/gresource.c:850 ++#: ../gio/gresource.c:850 + #, c-format + msgid "The resource at “%s” failed to decompress" + msgstr "解压位于“%s”的资源失败" + +-#: gio/gresourcefile.c:659 ++#: ../gio/gresourcefile.c:663 + msgid "Resource files cannot be renamed" + msgstr "无法重命名资源文件" + +-#: gio/gresourcefile.c:749 ++#: ../gio/gresourcefile.c:753 + #, c-format + msgid "The resource at “%s” is not a directory" + msgstr "“%s”处的资源不是一个目录" + +-#: gio/gresourcefile.c:957 ++#: ../gio/gresourcefile.c:961 + msgid "Input stream doesn’t implement seek" + msgstr "输入流未实现定位" + +-#: gio/gresource-tool.c:502 ++#: ../gio/gresource-tool.c:502 + msgid "List sections containing resources in an elf FILE" + msgstr "列出 elf 文件中包含资源的段" + +-#: gio/gresource-tool.c:508 ++#: ../gio/gresource-tool.c:508 + msgid "" + "List resources\n" + "If SECTION is given, only list resources in this section\n" +@@ -3480,15 +3563,16 @@ msgstr "" + "如果指定了段,则仅在此段中列出资源\n" + "如果指定了路径,则仅列出匹配的资源" + +-#: gio/gresource-tool.c:511 gio/gresource-tool.c:521 ++#: ../gio/gresource-tool.c:511 ../gio/gresource-tool.c:521 + msgid "FILE [PATH]" + msgstr "文件 [路径]" + +-#: gio/gresource-tool.c:512 gio/gresource-tool.c:522 gio/gresource-tool.c:529 ++#: ../gio/gresource-tool.c:512 ../gio/gresource-tool.c:522 ++#: ../gio/gresource-tool.c:529 + msgid "SECTION" + msgstr "段" + +-#: gio/gresource-tool.c:517 ++#: ../gio/gresource-tool.c:517 + msgid "" + "List resources with details\n" + "If SECTION is given, only list resources in this section\n" +@@ -3500,15 +3584,15 @@ msgstr "" + "如果指定了文件,则仅列出匹配的资源\n" + "详细信息包括段、大小和压缩情况" + +-#: gio/gresource-tool.c:527 ++#: ../gio/gresource-tool.c:527 + msgid "Extract a resource file to stdout" + msgstr "提取一个资源文件到标准输出" + +-#: gio/gresource-tool.c:528 ++#: ../gio/gresource-tool.c:528 + msgid "FILE PATH" + msgstr "文件 路径" + +-#: gio/gresource-tool.c:542 ++#: ../gio/gresource-tool.c:542 + msgid "" + "Usage:\n" + " gresource [--section SECTION] COMMAND [ARGS…]\n" +@@ -3536,7 +3620,7 @@ msgstr "" + "使用“gresoure help 命令”获取详细帮助。\n" + "\n" + +-#: gio/gresource-tool.c:556 ++#: ../gio/gresource-tool.c:556 + #, c-format + msgid "" + "Usage:\n" +@@ -3551,19 +3635,19 @@ msgstr "" + "%s\n" + "\n" + +-#: gio/gresource-tool.c:563 ++#: ../gio/gresource-tool.c:563 + msgid " SECTION An (optional) elf section name\n" + msgstr " 段 一个 elf 段名(可选)\n" + +-#: gio/gresource-tool.c:567 gio/gsettings-tool.c:720 ++#: ../gio/gresource-tool.c:567 ../gio/gsettings-tool.c:720 + msgid " COMMAND The (optional) command to explain\n" + msgstr " 命令 要解释的命令(可选)\n" + +-#: gio/gresource-tool.c:573 ++#: ../gio/gresource-tool.c:573 + msgid " FILE An elf file (a binary or a shared library)\n" + msgstr " 文件 一个 elf 文件(可执行文件或共享库)\n" + +-#: gio/gresource-tool.c:576 ++#: ../gio/gresource-tool.c:576 + msgid "" + " FILE An elf file (a binary or a shared library)\n" + " or a compiled resource file\n" +@@ -3571,82 +3655,90 @@ msgstr "" + " 文件 一个 elf 文件(可执行文件或共享库)\n" + " 或已编译的资源文件\n" + +-#: gio/gresource-tool.c:580 ++#: ../gio/gresource-tool.c:580 + msgid "[PATH]" + msgstr "[路径]" + +-#: gio/gresource-tool.c:582 ++#: ../gio/gresource-tool.c:582 + msgid " PATH An (optional) resource path (may be partial)\n" + msgstr " 路径 (部分)资源路径(可选)\n" + +-#: gio/gresource-tool.c:583 ++#: ../gio/gresource-tool.c:583 + msgid "PATH" + msgstr "路径" + +-#: gio/gresource-tool.c:585 ++#: ../gio/gresource-tool.c:585 + msgid " PATH A resource path\n" + msgstr " 路径 一个资源路径\n" + +-#: gio/gsettings-tool.c:51 gio/gsettings-tool.c:72 gio/gsettings-tool.c:925 ++#: ../gio/gsettings-tool.c:51 ../gio/gsettings-tool.c:72 ++#: ../gio/gsettings-tool.c:925 + #, c-format + msgid "No such schema “%s”\n" + msgstr "没有“%s”这个架构\n" + +-#: gio/gsettings-tool.c:57 ++#: ../gio/gsettings-tool.c:57 + #, c-format + msgid "Schema “%s” is not relocatable (path must not be specified)\n" + msgstr "“%s”架构不可重定位(必须指定路径)\n" + +-#: gio/gsettings-tool.c:78 ++#: ../gio/gsettings-tool.c:78 + #, c-format + msgid "Schema “%s” is relocatable (path must be specified)\n" + msgstr "“%s”架构可重定位(必须指定路径)\n" + +-#: gio/gsettings-tool.c:92 ++#: ../gio/gsettings-tool.c:92 ++#, c-format + msgid "Empty path given.\n" + msgstr "给定的路径为空。\n" + +-#: gio/gsettings-tool.c:98 ++#: ../gio/gsettings-tool.c:98 ++#, c-format + msgid "Path must begin with a slash (/)\n" + msgstr "路径必须以斜杠开头(/)\n" + +-#: gio/gsettings-tool.c:104 ++#: ../gio/gsettings-tool.c:104 ++#, c-format + msgid "Path must end with a slash (/)\n" + msgstr "路径必须以斜杠结束(/)\n" + +-#: gio/gsettings-tool.c:110 ++#: ../gio/gsettings-tool.c:110 ++#, c-format + msgid "Path must not contain two adjacent slashes (//)\n" + msgstr "路径中不能包含连续两个斜杠(//)\n" + +-#: gio/gsettings-tool.c:555 ++#: ../gio/gsettings-tool.c:555 ++#, c-format + msgid "The provided value is outside of the valid range\n" + msgstr "提供的值不在有效范围内\n" + +-#: gio/gsettings-tool.c:562 ++#: ../gio/gsettings-tool.c:562 ++#, c-format + msgid "The key is not writable\n" + msgstr "键不可写\n" + +-#: gio/gsettings-tool.c:598 ++#: ../gio/gsettings-tool.c:598 + msgid "List the installed (non-relocatable) schemas" + msgstr "列出已安装的(不可重定位的)架构" + +-#: gio/gsettings-tool.c:604 ++#: ../gio/gsettings-tool.c:604 + msgid "List the installed relocatable schemas" + msgstr "列出安装的可重定位的架构" + +-#: gio/gsettings-tool.c:610 ++#: ../gio/gsettings-tool.c:610 + msgid "List the keys in SCHEMA" + msgstr "列出架构中的键" + +-#: gio/gsettings-tool.c:611 gio/gsettings-tool.c:617 gio/gsettings-tool.c:660 ++#: ../gio/gsettings-tool.c:611 ../gio/gsettings-tool.c:617 ++#: ../gio/gsettings-tool.c:660 + msgid "SCHEMA[:PATH]" + msgstr "架构[:路径]" + +-#: gio/gsettings-tool.c:616 ++#: ../gio/gsettings-tool.c:616 + msgid "List the children of SCHEMA" + msgstr "列出架构的子对象" + +-#: gio/gsettings-tool.c:622 ++#: ../gio/gsettings-tool.c:622 + msgid "" + "List keys and values, recursively\n" + "If no SCHEMA is given, list all keys\n" +@@ -3654,48 +3746,49 @@ msgstr "" + "递归列出键和值\n" + "如果没有给出架构,列出所有键\n" + +-#: gio/gsettings-tool.c:624 ++#: ../gio/gsettings-tool.c:624 + msgid "[SCHEMA[:PATH]]" + msgstr "架构[:路径]" + +-#: gio/gsettings-tool.c:629 ++#: ../gio/gsettings-tool.c:629 + msgid "Get the value of KEY" + msgstr "获取键的值" + +-#: gio/gsettings-tool.c:630 gio/gsettings-tool.c:636 gio/gsettings-tool.c:642 +-#: gio/gsettings-tool.c:654 gio/gsettings-tool.c:666 ++#: ../gio/gsettings-tool.c:630 ../gio/gsettings-tool.c:636 ++#: ../gio/gsettings-tool.c:642 ../gio/gsettings-tool.c:654 ++#: ../gio/gsettings-tool.c:666 + msgid "SCHEMA[:PATH] KEY" + msgstr "架构[:路径] 键" + +-#: gio/gsettings-tool.c:635 ++#: ../gio/gsettings-tool.c:635 + msgid "Query the range of valid values for KEY" + msgstr "查询键的有效值范围" + +-#: gio/gsettings-tool.c:641 ++#: ../gio/gsettings-tool.c:641 + msgid "Query the description for KEY" + msgstr "查询键的描述" + +-#: gio/gsettings-tool.c:647 ++#: ../gio/gsettings-tool.c:647 + msgid "Set the value of KEY to VALUE" + msgstr "将键的值设为给定的键值" + +-#: gio/gsettings-tool.c:648 ++#: ../gio/gsettings-tool.c:648 + msgid "SCHEMA[:PATH] KEY VALUE" + msgstr "架构[:路径] 键 键值" + +-#: gio/gsettings-tool.c:653 ++#: ../gio/gsettings-tool.c:653 + msgid "Reset KEY to its default value" + msgstr "将键重设为默认值" + +-#: gio/gsettings-tool.c:659 ++#: ../gio/gsettings-tool.c:659 + msgid "Reset all keys in SCHEMA to their defaults" + msgstr "重置架构中所有键为默认值" + +-#: gio/gsettings-tool.c:665 ++#: ../gio/gsettings-tool.c:665 + msgid "Check if KEY is writable" + msgstr "查看键是否可写" + +-#: gio/gsettings-tool.c:671 ++#: ../gio/gsettings-tool.c:671 + msgid "" + "Monitor KEY for changes.\n" + "If no KEY is specified, monitor all keys in SCHEMA.\n" +@@ -3705,11 +3798,11 @@ msgstr "" + "如果没有指定键,则监视架构中的所有键。\n" + "使用 ^C 停止监视。\n" + +-#: gio/gsettings-tool.c:674 ++#: ../gio/gsettings-tool.c:674 + msgid "SCHEMA[:PATH] [KEY]" + msgstr "架构[:路径] [键]" + +-#: gio/gsettings-tool.c:686 ++#: ../gio/gsettings-tool.c:686 + msgid "" + "Usage:\n" + " gsettings --version\n" +@@ -3757,7 +3850,7 @@ msgstr "" + "使用“gsettings help 命令”查看详细的帮助。\n" + "\n" + +-#: gio/gsettings-tool.c:710 ++#: ../gio/gsettings-tool.c:710 + #, c-format + msgid "" + "Usage:\n" +@@ -3772,11 +3865,11 @@ msgstr "" + "%s\n" + "\n" + +-#: gio/gsettings-tool.c:716 ++#: ../gio/gsettings-tool.c:716 + msgid " SCHEMADIR A directory to search for additional schemas\n" + msgstr " 架构目录 一个用于搜索附加架构的目录\n" + +-#: gio/gsettings-tool.c:724 ++#: ../gio/gsettings-tool.c:724 + msgid "" + " SCHEMA The name of the schema\n" + " PATH The path, for relocatable schemas\n" +@@ -3784,420 +3877,426 @@ msgstr "" + " 架构 架构的名称\n" + " 路径 可重定位架构的路径\n" + +-#: gio/gsettings-tool.c:729 ++#: ../gio/gsettings-tool.c:729 + msgid " KEY The (optional) key within the schema\n" + msgstr " 键 架构中(可选)的键\n" + +-#: gio/gsettings-tool.c:733 ++#: ../gio/gsettings-tool.c:733 + msgid " KEY The key within the schema\n" + msgstr " 键 架构中的键\n" + +-#: gio/gsettings-tool.c:737 ++#: ../gio/gsettings-tool.c:737 + msgid " VALUE The value to set\n" + msgstr " 键值 要设的值\n" + +-#: gio/gsettings-tool.c:792 ++#: ../gio/gsettings-tool.c:792 + #, c-format + msgid "Could not load schemas from %s: %s\n" + msgstr "无法从 %s 加载架构:%s\n" + +-#: gio/gsettings-tool.c:804 ++#: ../gio/gsettings-tool.c:804 ++#, c-format + msgid "No schemas installed\n" + msgstr "没有安装架构\n" + +-#: gio/gsettings-tool.c:883 ++#: ../gio/gsettings-tool.c:883 ++#, c-format + msgid "Empty schema name given\n" + msgstr "给定了空的架构名称\n" + +-#: gio/gsettings-tool.c:938 ++#: ../gio/gsettings-tool.c:938 + #, c-format + msgid "No such key “%s”\n" + msgstr "没有“%s”这个键\n" + +-#: gio/gsocket.c:419 ++#: ../gio/gsocket.c:419 + msgid "Invalid socket, not initialized" + msgstr "无效的套接字,尚未初始化" + +-#: gio/gsocket.c:426 ++#: ../gio/gsocket.c:426 + #, c-format + msgid "Invalid socket, initialization failed due to: %s" + msgstr "无效的套接字,初始化失败的原因是:%s" + +-#: gio/gsocket.c:434 ++#: ../gio/gsocket.c:434 + msgid "Socket is already closed" + msgstr "套接字已经关闭" + +-#: gio/gsocket.c:449 gio/gsocket.c:3238 gio/gsocket.c:4469 gio/gsocket.c:4527 +-#: gio/gthreadedresolver.c:1438 ++#: ../gio/gsocket.c:449 ../gio/gsocket.c:3238 ../gio/gsocket.c:4469 ++#: ../gio/gsocket.c:4527 ../gio/gthreadedresolver.c:1438 + msgid "Socket I/O timed out" + msgstr "套接字 I/O 超时" + + # "fd" is abbr. of "File Descriptor", 文件描述符 +-#: gio/gsocket.c:586 ++#: ../gio/gsocket.c:586 + #, c-format + msgid "creating GSocket from fd: %s" + msgstr "正在从文件描述符创建 GSocket:%s" + +-#: gio/gsocket.c:646 gio/gsocket.c:714 gio/gsocket.c:721 ++#: ../gio/gsocket.c:646 ../gio/gsocket.c:714 ../gio/gsocket.c:721 + #, c-format + msgid "Unable to create socket: %s" + msgstr "无法创建套接字:%s" + +-#: gio/gsocket.c:714 ++#: ../gio/gsocket.c:714 + msgid "Unknown family was specified" + msgstr "指定了未知协议族" + +-#: gio/gsocket.c:721 ++#: ../gio/gsocket.c:721 + msgid "Unknown protocol was specified" + msgstr "指定了未知协议" + +-#: gio/gsocket.c:1190 ++#: ../gio/gsocket.c:1190 + #, c-format + msgid "Cannot use datagram operations on a non-datagram socket." + msgstr "无法在非数据报套接字上使用数据报操作。" + +-#: gio/gsocket.c:1207 ++#: ../gio/gsocket.c:1207 + #, c-format + msgid "Cannot use datagram operations on a socket with a timeout set." + msgstr "无法在已设置超时的套接字上使用数据报操作。" + +-#: gio/gsocket.c:2014 ++#: ../gio/gsocket.c:2014 + #, c-format + msgid "could not get local address: %s" + msgstr "无法获取本地地址:%s" + +-#: gio/gsocket.c:2060 ++#: ../gio/gsocket.c:2060 + #, c-format + msgid "could not get remote address: %s" + msgstr "无法获取远程地址: %s" + +-#: gio/gsocket.c:2126 ++#: ../gio/gsocket.c:2126 + #, c-format + msgid "could not listen: %s" + msgstr "无法监听:%s" + +-#: gio/gsocket.c:2230 ++#: ../gio/gsocket.c:2230 + #, c-format + msgid "Error binding to address %s: %s" + msgstr "绑定地址时出错:%s: %s" + +-#: gio/gsocket.c:2405 gio/gsocket.c:2442 gio/gsocket.c:2552 gio/gsocket.c:2577 +-#: gio/gsocket.c:2644 gio/gsocket.c:2702 gio/gsocket.c:2720 ++#: ../gio/gsocket.c:2405 ../gio/gsocket.c:2442 ../gio/gsocket.c:2552 ++#: ../gio/gsocket.c:2577 ../gio/gsocket.c:2644 ../gio/gsocket.c:2702 ++#: ../gio/gsocket.c:2720 + #, c-format + msgid "Error joining multicast group: %s" + msgstr "加入多播组时出错:%s" + +-#: gio/gsocket.c:2406 gio/gsocket.c:2443 gio/gsocket.c:2553 gio/gsocket.c:2578 +-#: gio/gsocket.c:2645 gio/gsocket.c:2703 gio/gsocket.c:2721 ++#: ../gio/gsocket.c:2406 ../gio/gsocket.c:2443 ../gio/gsocket.c:2553 ++#: ../gio/gsocket.c:2578 ../gio/gsocket.c:2645 ../gio/gsocket.c:2703 ++#: ../gio/gsocket.c:2721 + #, c-format + msgid "Error leaving multicast group: %s" + msgstr "退出多播组时出错:%s" + +-#: gio/gsocket.c:2407 ++#: ../gio/gsocket.c:2407 + msgid "No support for source-specific multicast" + msgstr "不支持指定源的多播" + +-#: gio/gsocket.c:2554 ++#: ../gio/gsocket.c:2554 + msgid "Unsupported socket family" + msgstr "不支持的套接字家族" + +-#: gio/gsocket.c:2579 ++#: ../gio/gsocket.c:2579 + msgid "source-specific not an IPv4 address" + msgstr "指定源不是 IPv4 地址" + +-#: gio/gsocket.c:2603 ++#: ../gio/gsocket.c:2603 + #, c-format + msgid "Interface name too long" + msgstr "接口名太长" + +-#: gio/gsocket.c:2616 gio/gsocket.c:2670 ++#: ../gio/gsocket.c:2616 ../gio/gsocket.c:2670 + #, c-format + msgid "Interface not found: %s" + msgstr "未找到接口:%s" + +-#: gio/gsocket.c:2646 ++#: ../gio/gsocket.c:2646 + msgid "No support for IPv4 source-specific multicast" + msgstr "不支持 IPv4 指定源的多播" + +-#: gio/gsocket.c:2704 ++#: ../gio/gsocket.c:2704 + msgid "No support for IPv6 source-specific multicast" + msgstr "不支持 IPv6 指定源的多播" + +-#: gio/gsocket.c:2937 ++#: ../gio/gsocket.c:2937 + #, c-format + msgid "Error accepting connection: %s" + msgstr "接受连接时出错:%s" + +-#: gio/gsocket.c:3063 ++#: ../gio/gsocket.c:3063 + msgid "Connection in progress" + msgstr "连接进行中" + +-#: gio/gsocket.c:3114 ++#: ../gio/gsocket.c:3114 + msgid "Unable to get pending error: " + msgstr "无法获取未决的错误:" + +-#: gio/gsocket.c:3303 ++#: ../gio/gsocket.c:3303 + #, c-format + msgid "Error receiving data: %s" + msgstr "接收数据时出错:%s" + +-#: gio/gsocket.c:3500 ++#: ../gio/gsocket.c:3500 + #, c-format + msgid "Error sending data: %s" + msgstr "发送数据时出错:%s" + +-#: gio/gsocket.c:3687 ++#: ../gio/gsocket.c:3687 + #, c-format + msgid "Unable to shutdown socket: %s" + msgstr "无法关闭套接字:%s" + +-#: gio/gsocket.c:3768 ++#: ../gio/gsocket.c:3768 + #, c-format + msgid "Error closing socket: %s" + msgstr "关闭套接字时出错:%s" + +-#: gio/gsocket.c:4462 ++#: ../gio/gsocket.c:4462 + #, c-format + msgid "Waiting for socket condition: %s" + msgstr "等待套接字状态:%s" + +-#: gio/gsocket.c:4852 gio/gsocket.c:4868 gio/gsocket.c:4881 ++#: ../gio/gsocket.c:4852 ../gio/gsocket.c:4868 ../gio/gsocket.c:4881 + #, c-format + msgid "Unable to send message: %s" + msgstr "无法发送信息:%s" + +-#: gio/gsocket.c:4853 gio/gsocket.c:4869 gio/gsocket.c:4882 ++#: ../gio/gsocket.c:4853 ../gio/gsocket.c:4869 ../gio/gsocket.c:4882 + msgid "Message vectors too large" + msgstr "信息向量过大" + +-#: gio/gsocket.c:4898 gio/gsocket.c:4900 gio/gsocket.c:5047 gio/gsocket.c:5132 +-#: gio/gsocket.c:5310 gio/gsocket.c:5350 gio/gsocket.c:5352 ++#: ../gio/gsocket.c:4898 ../gio/gsocket.c:4900 ../gio/gsocket.c:5047 ++#: ../gio/gsocket.c:5132 ../gio/gsocket.c:5310 ../gio/gsocket.c:5350 ++#: ../gio/gsocket.c:5352 + #, c-format + msgid "Error sending message: %s" + msgstr "发送信息时出错:%s" + +-#: gio/gsocket.c:5074 ++#: ../gio/gsocket.c:5074 + msgid "GSocketControlMessage not supported on Windows" + msgstr "Windows 不支持 GSocketControlMessage" + +-#: gio/gsocket.c:5547 gio/gsocket.c:5623 gio/gsocket.c:5849 ++#: ../gio/gsocket.c:5547 ../gio/gsocket.c:5623 ../gio/gsocket.c:5849 + #, c-format + msgid "Error receiving message: %s" + msgstr "接受信息时出错:%s" + +-#: gio/gsocket.c:6134 gio/gsocket.c:6145 gio/gsocket.c:6208 ++#: ../gio/gsocket.c:6134 ../gio/gsocket.c:6145 ../gio/gsocket.c:6208 + #, c-format + msgid "Unable to read socket credentials: %s" + msgstr "无法读取套接字认证信息:%s" + +-#: gio/gsocket.c:6217 ++#: ../gio/gsocket.c:6217 + msgid "g_socket_get_credentials not implemented for this OS" + msgstr "此操作系统上没有实现 g_socket_get_credentials" + +-#: gio/gsocketclient.c:193 ++#: ../gio/gsocketclient.c:193 + #, c-format + msgid "Could not connect to proxy server %s: " + msgstr "无法连接到代理服务器 %s:" + +-#: gio/gsocketclient.c:207 ++#: ../gio/gsocketclient.c:207 + #, c-format + msgid "Could not connect to %s: " + msgstr "无法连接到 %s:" + +-#: gio/gsocketclient.c:209 ++#: ../gio/gsocketclient.c:209 + msgid "Could not connect: " + msgstr "无法连接:" + +-#: gio/gsocketclient.c:1204 gio/gsocketclient.c:1807 ++#: ../gio/gsocketclient.c:1204 ../gio/gsocketclient.c:1807 + msgid "Proxying over a non-TCP connection is not supported." + msgstr "不支持通过非 TCP 连接的代理。" + +-#: gio/gsocketclient.c:1236 gio/gsocketclient.c:1836 ++#: ../gio/gsocketclient.c:1236 ../gio/gsocketclient.c:1836 + #, c-format + msgid "Proxy protocol “%s” is not supported." + msgstr "不支持代理协议“%s”。" + +-#: gio/gsocketlistener.c:232 ++#: ../gio/gsocketlistener.c:232 + msgid "Listener is already closed" + msgstr "监听器已关闭" + +-#: gio/gsocketlistener.c:278 ++#: ../gio/gsocketlistener.c:278 + msgid "Added socket is closed" + msgstr "添加的套接字已关闭" + +-#: gio/gsocks4aproxy.c:120 ++#: ../gio/gsocks4aproxy.c:120 + #, c-format + msgid "SOCKSv4 does not support IPv6 address “%s”" + msgstr "SOCKSv4 不支持 IPv6 地址“%s”" + +-#: gio/gsocks4aproxy.c:138 ++#: ../gio/gsocks4aproxy.c:138 + msgid "Username is too long for SOCKSv4 protocol" + msgstr "用户名对于 SOCKSv4 协议太长" + +-#: gio/gsocks4aproxy.c:155 ++#: ../gio/gsocks4aproxy.c:155 + #, c-format + msgid "Hostname “%s” is too long for SOCKSv4 protocol" + msgstr "主机名“%s”对于 SOCKSv4 协议过长" + +-#: gio/gsocks4aproxy.c:181 ++#: ../gio/gsocks4aproxy.c:181 + msgid "The server is not a SOCKSv4 proxy server." + msgstr "此服务器不是 SOCKSv4 代理服务器。" + +-#: gio/gsocks4aproxy.c:188 ++#: ../gio/gsocks4aproxy.c:188 + msgid "Connection through SOCKSv4 server was rejected" + msgstr "通过 SOCKSv4 服务器连接被拒绝" + +-#: gio/gsocks5proxy.c:155 gio/gsocks5proxy.c:340 gio/gsocks5proxy.c:350 ++#: ../gio/gsocks5proxy.c:155 ../gio/gsocks5proxy.c:340 ++#: ../gio/gsocks5proxy.c:350 + msgid "The server is not a SOCKSv5 proxy server." + msgstr "此服务器不是 SOCKSv5 代理服务器。" + +-#: gio/gsocks5proxy.c:169 gio/gsocks5proxy.c:186 ++#: ../gio/gsocks5proxy.c:169 ../gio/gsocks5proxy.c:186 + msgid "The SOCKSv5 proxy requires authentication." + msgstr "SOCKSv5 代理服务器需要认证。" + +-#: gio/gsocks5proxy.c:193 ++#: ../gio/gsocks5proxy.c:193 + msgid "" + "The SOCKSv5 proxy requires an authentication method that is not supported by " + "GLib." + msgstr "此 SOCKSv5 连接需要一种 GLib 不支持的认证方法。" + +-#: gio/gsocks5proxy.c:222 ++#: ../gio/gsocks5proxy.c:222 + msgid "Username or password is too long for SOCKSv5 protocol." + msgstr "用户名或密码对于 SOCKSv5 协议太长。" + +-#: gio/gsocks5proxy.c:252 ++#: ../gio/gsocks5proxy.c:252 + msgid "SOCKSv5 authentication failed due to wrong username or password." + msgstr "SOCKSv5 认证失败:用户名或密码错误。" + +-#: gio/gsocks5proxy.c:302 ++#: ../gio/gsocks5proxy.c:302 + #, c-format + msgid "Hostname “%s” is too long for SOCKSv5 protocol" + msgstr "主机名“%s”对于 SOCKSv5 协议过长" + +-#: gio/gsocks5proxy.c:364 ++#: ../gio/gsocks5proxy.c:364 + msgid "The SOCKSv5 proxy server uses unknown address type." + msgstr "SOCKSv5 代理服务器使用未知地址类型。" + +-#: gio/gsocks5proxy.c:371 ++#: ../gio/gsocks5proxy.c:371 + msgid "Internal SOCKSv5 proxy server error." + msgstr "SOCKSv5 代理服务器内部错误。" + +-#: gio/gsocks5proxy.c:377 ++#: ../gio/gsocks5proxy.c:377 + msgid "SOCKSv5 connection not allowed by ruleset." + msgstr "规则集不允许 SOCKSv5 连接。" + +-#: gio/gsocks5proxy.c:384 ++#: ../gio/gsocks5proxy.c:384 + msgid "Host unreachable through SOCKSv5 server." + msgstr "通过 SOCKSv5 服务器主机不可达。" + +-#: gio/gsocks5proxy.c:390 ++#: ../gio/gsocks5proxy.c:390 + msgid "Network unreachable through SOCKSv5 proxy." + msgstr "通过 SOCKSv5 代理网络不可达。" + +-#: gio/gsocks5proxy.c:396 ++#: ../gio/gsocks5proxy.c:396 + msgid "Connection refused through SOCKSv5 proxy." + msgstr "通过 SOCKSv5 代理连接被拒绝。" + +-#: gio/gsocks5proxy.c:402 ++#: ../gio/gsocks5proxy.c:402 + msgid "SOCKSv5 proxy does not support “connect” command." + msgstr "SOCKSv5 代理不支持“connect”命令。" + +-#: gio/gsocks5proxy.c:408 ++#: ../gio/gsocks5proxy.c:408 + msgid "SOCKSv5 proxy does not support provided address type." + msgstr "SOCKSv5 代理不支持提供的地址类型。" + +-#: gio/gsocks5proxy.c:414 ++#: ../gio/gsocks5proxy.c:414 + msgid "Unknown SOCKSv5 proxy error." + msgstr "未知 SOCKSv5 代理错误。" + +-#: gio/gtestdbus.c:614 glib/gspawn-win32.c:433 ++#: ../gio/gtestdbus.c:614 ../glib/gspawn-win32.c:433 + #, c-format + msgid "Failed to create pipe for communicating with child process (%s)" + msgstr "创建与子进程通讯的管道失败(%s)" + +-#: gio/gtestdbus.c:621 ++#: ../gio/gtestdbus.c:621 + #, c-format + msgid "Pipes are not supported in this platform" + msgstr "此平台不支持管道(pipe)" + +-#: gio/gthemedicon.c:597 ++#: ../gio/gthemedicon.c:597 + #, c-format + msgid "Can’t handle version %d of GThemedIcon encoding" + msgstr "无法处理版本为 %d 的 GThemedIcon 编码" + +-#: gio/gthreadedresolver.c:319 ++#: ../gio/gthreadedresolver.c:319 + msgid "No valid addresses were found" + msgstr "找不到合法的地址" + +-#: gio/gthreadedresolver.c:514 ++#: ../gio/gthreadedresolver.c:514 + #, c-format + msgid "Error reverse-resolving “%s”: %s" + msgstr "反向解析“%s”时出错:%s" + + #. Translators: the placeholder is a DNS record type, such as ‘MX’ or ‘SRV’ +-#: gio/gthreadedresolver.c:737 gio/gthreadedresolver.c:759 +-#: gio/gthreadedresolver.c:813 gio/gthreadedresolver.c:860 +-#: gio/gthreadedresolver.c:889 gio/gthreadedresolver.c:901 ++#: ../gio/gthreadedresolver.c:737 ../gio/gthreadedresolver.c:759 ++#: ../gio/gthreadedresolver.c:813 ../gio/gthreadedresolver.c:860 ++#: ../gio/gthreadedresolver.c:889 ../gio/gthreadedresolver.c:901 + #, c-format + msgid "Error parsing DNS %s record: malformed DNS packet" + msgstr "解析 DNS %s 记录时出错:畸形的 DNS 数据包" + +-#: gio/gthreadedresolver.c:959 gio/gthreadedresolver.c:1096 +-#: gio/gthreadedresolver.c:1194 gio/gthreadedresolver.c:1244 ++#: ../gio/gthreadedresolver.c:959 ../gio/gthreadedresolver.c:1096 ++#: ../gio/gthreadedresolver.c:1194 ../gio/gthreadedresolver.c:1244 + #, c-format + msgid "No DNS record of the requested type for “%s”" + msgstr "没有“%s”所请求类型的 DNS 记录" + +-#: gio/gthreadedresolver.c:964 gio/gthreadedresolver.c:1199 ++#: ../gio/gthreadedresolver.c:964 ../gio/gthreadedresolver.c:1199 + #, c-format + msgid "Temporarily unable to resolve “%s”" + msgstr "暂时无法解析“%s”" + +-#: gio/gthreadedresolver.c:969 gio/gthreadedresolver.c:1204 +-#: gio/gthreadedresolver.c:1300 ++#: ../gio/gthreadedresolver.c:969 ../gio/gthreadedresolver.c:1204 ++#: ../gio/gthreadedresolver.c:1300 + #, c-format + msgid "Error resolving “%s”" + msgstr "解析“%s”时出错" + +-#: gio/gthreadedresolver.c:983 gio/gthreadedresolver.c:1007 +-#: gio/gthreadedresolver.c:1032 gio/gthreadedresolver.c:1047 ++#: ../gio/gthreadedresolver.c:983 ../gio/gthreadedresolver.c:1007 ++#: ../gio/gthreadedresolver.c:1032 ../gio/gthreadedresolver.c:1047 + msgid "Malformed DNS packet" + msgstr "畸形的 DNS 数据包" + +-#: gio/gthreadedresolver.c:1089 ++#: ../gio/gthreadedresolver.c:1089 + #, c-format + msgid "Failed to parse DNS response for “%s”: " + msgstr "解析响应“%s”的 DNS 失败:" + +-#: gio/gtlscertificate.c:480 ++#: ../gio/gtlscertificate.c:480 + msgid "No PEM-encoded private key found" + msgstr "未找到 PEM 加密的私钥" + +-#: gio/gtlscertificate.c:490 ++#: ../gio/gtlscertificate.c:490 + msgid "Cannot decrypt PEM-encoded private key" + msgstr "无法解密 PEM 加密的私钥" + +-#: gio/gtlscertificate.c:501 ++#: ../gio/gtlscertificate.c:501 + msgid "Could not parse PEM-encoded private key" + msgstr "无法解析 PEM 加密的私钥" + +-#: gio/gtlscertificate.c:528 ++#: ../gio/gtlscertificate.c:528 + msgid "No PEM-encoded certificate found" + msgstr "未找到 PEM 加密的证书" + +-#: gio/gtlscertificate.c:537 ++#: ../gio/gtlscertificate.c:537 + msgid "Could not parse PEM-encoded certificate" + msgstr "无法解析 PEM 加密的证书" + +-#: gio/gtlscertificate.c:800 ++#: ../gio/gtlscertificate.c:800 + msgid "The current TLS backend does not support PKCS #12" + msgstr "当前的 TLS 后端不支持 PKCS #12" + +-#: gio/gtlscertificate.c:1017 ++#: ../gio/gtlscertificate.c:1017 + msgid "This GTlsBackend does not support creating PKCS #11 certificates" + msgstr "本 GTlsBackend 不支持创建 PKCS #11 证书" + +-#: gio/gtlspassword.c:113 ++#: ../gio/gtlspassword.c:113 + msgid "" + "This is the last chance to enter the password correctly before your access " + "is locked out." +@@ -4205,312 +4304,313 @@ msgstr "这是您的访问被锁定前最后一次机会输入正确的密码。 + + #. Translators: This is not the 'This is the last chance' string. It is + #. * displayed when more than one attempt is allowed. +-#: gio/gtlspassword.c:117 ++#: ../gio/gtlspassword.c:117 + msgid "" + "Several passwords entered have been incorrect, and your access will be " + "locked out after further failures." + msgstr "密码多次输入错误,您的访问将在数次错误输入后锁定。" + +-#: gio/gtlspassword.c:119 ++#: ../gio/gtlspassword.c:119 + msgid "The password entered is incorrect." + msgstr "输入的密码不正确。" + +-#: gio/gunixconnection.c:127 ++#: ../gio/gunixconnection.c:127 + msgid "Sending FD is not supported" + msgstr "不支持发送 FD" + +-#: gio/gunixconnection.c:181 gio/gunixconnection.c:602 ++#: ../gio/gunixconnection.c:181 ../gio/gunixconnection.c:602 + #, c-format + msgid "Expecting 1 control message, got %d" + msgid_plural "Expecting 1 control message, got %d" + msgstr[0] "应为 1 个控件消息,却得到 %d 个" + +-#: gio/gunixconnection.c:197 gio/gunixconnection.c:614 ++#: ../gio/gunixconnection.c:197 ../gio/gunixconnection.c:614 + msgid "Unexpected type of ancillary data" + msgstr "非预期的辅助数据类型" + +-#: gio/gunixconnection.c:216 ++#: ../gio/gunixconnection.c:216 + #, c-format + msgid "Expecting one fd, but got %d\n" + msgid_plural "Expecting one fd, but got %d\n" + msgstr[0] "应为 1 个文件描述符,却得到 %d 个\n" + +-#: gio/gunixconnection.c:235 ++#: ../gio/gunixconnection.c:235 + msgid "Received invalid fd" + msgstr "收到无效文件描述符" + +-#: gio/gunixconnection.c:242 ++#: ../gio/gunixconnection.c:242 + msgid "Receiving FD is not supported" + msgstr "不支持接收 FD" + +-#: gio/gunixconnection.c:384 ++#: ../gio/gunixconnection.c:384 + msgid "Error sending credentials: " + msgstr "发送凭据时出错:" + +-#: gio/gunixconnection.c:542 ++#: ../gio/gunixconnection.c:542 + #, c-format + msgid "Error checking if SO_PASSCRED is enabled for socket: %s" + msgstr "检查套接字是否启用 SO_PASSCRED 时出错:%s" + +-#: gio/gunixconnection.c:558 ++#: ../gio/gunixconnection.c:558 + #, c-format + msgid "Error enabling SO_PASSCRED: %s" + msgstr "启用 SO_PASSCRED 时出错:%s" + +-#: gio/gunixconnection.c:587 ++#: ../gio/gunixconnection.c:587 + msgid "" + "Expecting to read a single byte for receiving credentials but read zero bytes" + msgstr "期望为接收证书读到单个字节但是只读到了 0 字节" + +-#: gio/gunixconnection.c:628 ++#: ../gio/gunixconnection.c:628 + #, c-format + msgid "Not expecting control message, but got %d" + msgstr "未期望控制信息,却得到 %d 个" + +-#: gio/gunixconnection.c:653 ++#: ../gio/gunixconnection.c:653 + #, c-format + msgid "Error while disabling SO_PASSCRED: %s" + msgstr "禁用 SO_PASSCRED 时出错:%s" + +-#: gio/gunixinputstream.c:359 gio/gunixinputstream.c:380 ++#: ../gio/gunixinputstream.c:359 ../gio/gunixinputstream.c:380 + #, c-format + msgid "Error reading from file descriptor: %s" + msgstr "从文件描述符读取时出错:%s" + +-#: gio/gunixinputstream.c:413 gio/gunixoutputstream.c:522 +-#: gio/gwin32inputstream.c:219 gio/gwin32outputstream.c:206 ++#: ../gio/gunixinputstream.c:413 ../gio/gunixoutputstream.c:522 ++#: ../gio/gwin32inputstream.c:219 ../gio/gwin32outputstream.c:206 + #, c-format + msgid "Error closing file descriptor: %s" + msgstr "关闭文件描述符时出错:%s" + +-#: gio/gunixmounts.c:2826 gio/gunixmounts.c:2879 ++#: ../gio/gunixmounts.c:2826 ../gio/gunixmounts.c:2879 + msgid "Filesystem root" + msgstr "文件系统根目录" + +-#: gio/gunixoutputstream.c:359 gio/gunixoutputstream.c:379 +-#: gio/gunixoutputstream.c:466 gio/gunixoutputstream.c:486 +-#: gio/gunixoutputstream.c:632 ++#: ../gio/gunixoutputstream.c:359 ../gio/gunixoutputstream.c:379 ++#: ../gio/gunixoutputstream.c:466 ../gio/gunixoutputstream.c:486 ++#: ../gio/gunixoutputstream.c:632 + #, c-format + msgid "Error writing to file descriptor: %s" + msgstr "写入文件描述符时出错:%s" + +-#: gio/gunixsocketaddress.c:253 ++#: ../gio/gunixsocketaddress.c:253 + msgid "Abstract UNIX domain socket addresses not supported on this system" + msgstr "本系统不支持抽象 Unix 域套接字地址" + +-#: gio/gvolume.c:440 ++#: ../gio/gvolume.c:440 + msgid "volume doesn’t implement eject" + msgstr "卷未实现弹出" + + #. Translators: This is an error + #. * message for volume objects that + #. * don't implement any of eject or eject_with_operation. +-#: gio/gvolume.c:517 ++#: ../gio/gvolume.c:517 + msgid "volume doesn’t implement eject or eject_with_operation" + msgstr "卷未实现弹出或 eject_with_operation" + +-#: gio/gwin32inputstream.c:187 ++#: ../gio/gwin32inputstream.c:187 + #, c-format + msgid "Error reading from handle: %s" + msgstr "读取句柄时出错:%s" + +-#: gio/gwin32inputstream.c:234 gio/gwin32outputstream.c:221 ++#: ../gio/gwin32inputstream.c:234 ../gio/gwin32outputstream.c:221 + #, c-format + msgid "Error closing handle: %s" + msgstr "关闭句柄时出错:%s" + +-#: gio/gwin32outputstream.c:174 ++#: ../gio/gwin32outputstream.c:174 + #, c-format + msgid "Error writing to handle: %s" + msgstr "写入句柄时出错:%s" + +-#: gio/gzlibcompressor.c:396 gio/gzlibdecompressor.c:349 ++#: ../gio/gzlibcompressor.c:396 ../gio/gzlibdecompressor.c:349 + msgid "Not enough memory" + msgstr "内存不足" + +-#: gio/gzlibcompressor.c:403 gio/gzlibdecompressor.c:356 ++#: ../gio/gzlibcompressor.c:403 ../gio/gzlibdecompressor.c:356 + #, c-format + msgid "Internal error: %s" + msgstr "内部错误:%s" + +-#: gio/gzlibcompressor.c:416 gio/gzlibdecompressor.c:370 ++#: ../gio/gzlibcompressor.c:416 ../gio/gzlibdecompressor.c:370 + msgid "Need more input" + msgstr "需要更多输入" + +-#: gio/gzlibdecompressor.c:342 ++#: ../gio/gzlibdecompressor.c:342 + msgid "Invalid compressed data" + msgstr "无效的压缩数据" + +-#: gio/tests/gdbus-daemon.c:18 ++#: ../gio/tests/gdbus-daemon.c:18 + msgid "Address to listen on" + msgstr "要监听的地址" + +-#: gio/tests/gdbus-daemon.c:19 ++#: ../gio/tests/gdbus-daemon.c:19 + msgid "Ignored, for compat with GTestDbus" + msgstr "已忽略,以与 GTestDbus 兼容" + +-#: gio/tests/gdbus-daemon.c:20 ++#: ../gio/tests/gdbus-daemon.c:20 + msgid "Print address" + msgstr "打印地址" + +-#: gio/tests/gdbus-daemon.c:21 ++#: ../gio/tests/gdbus-daemon.c:21 + msgid "Print address in shell mode" + msgstr "在 shell 模式中打印地址" + +-#: gio/tests/gdbus-daemon.c:28 ++#: ../gio/tests/gdbus-daemon.c:28 + msgid "Run a dbus service" + msgstr "运行一个 dbus 服务" + +-#: gio/tests/gdbus-daemon.c:42 ++#: ../gio/tests/gdbus-daemon.c:42 ++#, c-format + msgid "Wrong args\n" + msgstr "参数错误\n" + +-#: glib/gbookmarkfile.c:861 ++#: ../glib/gbookmarkfile.c:861 + #, c-format + msgid "Unexpected attribute “%s” for element “%s”" + msgstr "元素“%2$s”的意外属性“%1$s”" + +-#: glib/gbookmarkfile.c:872 glib/gbookmarkfile.c:952 glib/gbookmarkfile.c:962 +-#: glib/gbookmarkfile.c:1075 ++#: ../glib/gbookmarkfile.c:872 ../glib/gbookmarkfile.c:952 ++#: ../glib/gbookmarkfile.c:962 ../glib/gbookmarkfile.c:1075 + #, c-format + msgid "Attribute “%s” of element “%s” not found" + msgstr "元素“%2$s”的属性“%1$s”未找到" + +-#: glib/gbookmarkfile.c:1284 glib/gbookmarkfile.c:1349 +-#: glib/gbookmarkfile.c:1413 glib/gbookmarkfile.c:1423 ++#: ../glib/gbookmarkfile.c:1284 ../glib/gbookmarkfile.c:1349 ++#: ../glib/gbookmarkfile.c:1413 ../glib/gbookmarkfile.c:1423 + #, c-format + msgid "Unexpected tag “%s”, tag “%s” expected" + msgstr "意外标签“%s”,需要标签“%s”" + +-#: glib/gbookmarkfile.c:1309 glib/gbookmarkfile.c:1323 +-#: glib/gbookmarkfile.c:1391 glib/gbookmarkfile.c:1437 ++#: ../glib/gbookmarkfile.c:1309 ../glib/gbookmarkfile.c:1323 ++#: ../glib/gbookmarkfile.c:1391 ../glib/gbookmarkfile.c:1437 + #, c-format + msgid "Unexpected tag “%s” inside “%s”" + msgstr "“%2$s”中有意外标签“%1$s”" + +-#: glib/gbookmarkfile.c:1717 ++#: ../glib/gbookmarkfile.c:1717 + #, c-format + msgid "Invalid date/time ‘%s’ in bookmark file" + msgstr "书签文件中有无效的日期/时间“%s”" + +-#: glib/gbookmarkfile.c:1956 ++#: ../glib/gbookmarkfile.c:1956 + msgid "No valid bookmark file found in data dirs" + msgstr "数据目录中没有找到有效的书签文件" + +-#: glib/gbookmarkfile.c:2157 ++#: ../glib/gbookmarkfile.c:2157 + #, c-format + msgid "A bookmark for URI “%s” already exists" + msgstr "URI“%s”的书签已经存在" + +-#: glib/gbookmarkfile.c:2206 glib/gbookmarkfile.c:2364 +-#: glib/gbookmarkfile.c:2449 glib/gbookmarkfile.c:2529 +-#: glib/gbookmarkfile.c:2614 glib/gbookmarkfile.c:2748 +-#: glib/gbookmarkfile.c:2881 glib/gbookmarkfile.c:3016 +-#: glib/gbookmarkfile.c:3058 glib/gbookmarkfile.c:3155 +-#: glib/gbookmarkfile.c:3276 glib/gbookmarkfile.c:3470 +-#: glib/gbookmarkfile.c:3611 glib/gbookmarkfile.c:3830 +-#: glib/gbookmarkfile.c:3919 glib/gbookmarkfile.c:4008 +-#: glib/gbookmarkfile.c:4127 ++#: ../glib/gbookmarkfile.c:2206 ../glib/gbookmarkfile.c:2364 ++#: ../glib/gbookmarkfile.c:2449 ../glib/gbookmarkfile.c:2529 ++#: ../glib/gbookmarkfile.c:2614 ../glib/gbookmarkfile.c:2748 ++#: ../glib/gbookmarkfile.c:2881 ../glib/gbookmarkfile.c:3016 ++#: ../glib/gbookmarkfile.c:3058 ../glib/gbookmarkfile.c:3155 ++#: ../glib/gbookmarkfile.c:3276 ../glib/gbookmarkfile.c:3470 ++#: ../glib/gbookmarkfile.c:3611 ../glib/gbookmarkfile.c:3830 ++#: ../glib/gbookmarkfile.c:3919 ../glib/gbookmarkfile.c:4008 ++#: ../glib/gbookmarkfile.c:4127 + #, c-format + msgid "No bookmark found for URI “%s”" + msgstr "未找到 URI“%s”的书签" + +-#: glib/gbookmarkfile.c:2538 ++#: ../glib/gbookmarkfile.c:2538 + #, c-format + msgid "No MIME type defined in the bookmark for URI “%s”" + msgstr "URI“%s”的书签未定义 MIME 类型" + +-#: glib/gbookmarkfile.c:2623 ++#: ../glib/gbookmarkfile.c:2623 + #, c-format + msgid "No private flag has been defined in bookmark for URI “%s”" + msgstr "URI“%s”的书签未定义私有标志" + +-#: glib/gbookmarkfile.c:3164 ++#: ../glib/gbookmarkfile.c:3164 + #, c-format + msgid "No groups set in bookmark for URI “%s”" + msgstr "URI“%s”的书签未设定组" + +-#: glib/gbookmarkfile.c:3632 glib/gbookmarkfile.c:3840 ++#: ../glib/gbookmarkfile.c:3632 ../glib/gbookmarkfile.c:3840 + #, c-format + msgid "No application with name “%s” registered a bookmark for “%s”" + msgstr "没有名为“%s”的应用程序为“%s”注册了书签" + +-#: glib/gbookmarkfile.c:3863 ++#: ../glib/gbookmarkfile.c:3863 + #, c-format + msgid "Failed to expand exec line “%s” with URI “%s”" + msgstr "用 URI“%2$s”展开 exec 行“%1$s”失败" + +-#: glib/gconvert.c:469 ++#: ../glib/gconvert.c:469 + msgid "Unrepresentable character in conversion input" + msgstr "转换输入中出现无法表达的字符" + +-#: glib/gconvert.c:496 glib/gutf8.c:954 glib/gutf8.c:1167 glib/gutf8.c:1304 +-#: glib/gutf8.c:1408 ++#: ../glib/gconvert.c:496 ../glib/gutf8.c:954 ../glib/gutf8.c:1167 ++#: ../glib/gutf8.c:1304 ../glib/gutf8.c:1408 + msgid "Partial character sequence at end of input" + msgstr "输入末尾出现未尽字符序列" + +-#: glib/gconvert.c:767 ++#: ../glib/gconvert.c:767 + #, c-format + msgid "Cannot convert fallback “%s” to codeset “%s”" + msgstr "无法转换后备字符集“%s”到字符集“%s”" + +-#: glib/gconvert.c:939 ++#: ../glib/gconvert.c:939 + msgid "Embedded NUL byte in conversion input" + msgstr "转换输入中出现嵌入的 NUL 字节" + +-#: glib/gconvert.c:960 ++#: ../glib/gconvert.c:960 + msgid "Embedded NUL byte in conversion output" + msgstr "转换输出中出现嵌入的 NUL 字节" + +-#: glib/gconvert.c:1698 ++#: ../glib/gconvert.c:1698 + #, c-format + msgid "The URI “%s” is not an absolute URI using the “file” scheme" + msgstr "URI“%s”不是使用“file”方案的绝对 URI" + +-#: glib/gconvert.c:1728 ++#: ../glib/gconvert.c:1728 + #, c-format + msgid "The URI “%s” is invalid" + msgstr "URI“%s”无效" + +-#: glib/gconvert.c:1741 ++#: ../glib/gconvert.c:1741 + #, c-format + msgid "The hostname of the URI “%s” is invalid" + msgstr "URI“%s”中的主机名无效" + +-#: glib/gconvert.c:1758 ++#: ../glib/gconvert.c:1758 + #, c-format + msgid "The URI “%s” contains invalidly escaped characters" + msgstr "URI“%s”中包含无效的转义字符" + +-#: glib/gconvert.c:1832 ++#: ../glib/gconvert.c:1832 + #, c-format + msgid "The pathname “%s” is not an absolute path" + msgstr "路径名“%s”不是绝对路径" + + # 参考 coreutils 里 date 的翻译,时间格式应该保持“%H:%M:%S”,如果要使用单位,那么“%H时%M分%S秒”应该去掉占位的 0,不然就会出现“08时01分01秒”这种表达。因此我认为应该直接使用“%H:%M:%S”格式。 + #. Translators: this is the preferred format for expressing the date and the time +-#: glib/gdatetime.c:228 ++#: ../glib/gdatetime.c:228 + msgctxt "GDateTime" + msgid "%a %b %e %H:%M:%S %Y" + msgstr "%Y年%-m月%-d日 %A %H:%M:%S" + + # 原来的格式是“%y/%m/%d”,但“/”这个符号会有误解。所以换成分隔符。 + #. Translators: this is the preferred format for expressing the date +-#: glib/gdatetime.c:231 ++#: ../glib/gdatetime.c:231 + msgctxt "GDateTime" + msgid "%m/%d/%y" + msgstr "%Y-%m-%d" + + # 跟其他时间格式不统一 + #. Translators: this is the preferred format for expressing the time +-#: glib/gdatetime.c:234 ++#: ../glib/gdatetime.c:234 + msgctxt "GDateTime" + msgid "%H:%M:%S" + msgstr "%H:%M:%S" + + # 同上面,去掉了时分秒单位。 + #. Translators: this is the preferred format for expressing 12 hour time +-#: glib/gdatetime.c:237 ++#: ../glib/gdatetime.c:237 + msgctxt "GDateTime" + msgid "%I:%M:%S %p" + msgstr "%p %I:%M:%S" +@@ -4531,62 +4631,62 @@ msgstr "%p %I:%M:%S" + #. * non-European) there is no difference between the standalone and + #. * complete date form. + #. +-#: glib/gdatetime.c:276 ++#: ../glib/gdatetime.c:276 + msgctxt "full month name" + msgid "January" + msgstr "一月" + +-#: glib/gdatetime.c:278 ++#: ../glib/gdatetime.c:278 + msgctxt "full month name" + msgid "February" + msgstr "二月" + +-#: glib/gdatetime.c:280 ++#: ../glib/gdatetime.c:280 + msgctxt "full month name" + msgid "March" + msgstr "三月" + +-#: glib/gdatetime.c:282 ++#: ../glib/gdatetime.c:282 + msgctxt "full month name" + msgid "April" + msgstr "四月" + +-#: glib/gdatetime.c:284 ++#: ../glib/gdatetime.c:284 + msgctxt "full month name" + msgid "May" + msgstr "五月" + +-#: glib/gdatetime.c:286 ++#: ../glib/gdatetime.c:286 + msgctxt "full month name" + msgid "June" + msgstr "六月" + +-#: glib/gdatetime.c:288 ++#: ../glib/gdatetime.c:288 + msgctxt "full month name" + msgid "July" + msgstr "七月" + +-#: glib/gdatetime.c:290 ++#: ../glib/gdatetime.c:290 + msgctxt "full month name" + msgid "August" + msgstr "八月" + +-#: glib/gdatetime.c:292 ++#: ../glib/gdatetime.c:292 + msgctxt "full month name" + msgid "September" + msgstr "九月" + +-#: glib/gdatetime.c:294 ++#: ../glib/gdatetime.c:294 + msgctxt "full month name" + msgid "October" + msgstr "十月" + +-#: glib/gdatetime.c:296 ++#: ../glib/gdatetime.c:296 + msgctxt "full month name" + msgid "November" + msgstr "十一月" + +-#: glib/gdatetime.c:298 ++#: ../glib/gdatetime.c:298 + msgctxt "full month name" + msgid "December" + msgstr "十二月" +@@ -4608,132 +4708,132 @@ msgstr "十二月" + #. * other platform. Here are abbreviated month names in a form + #. * appropriate when they are used standalone. + #. +-#: glib/gdatetime.c:330 ++#: ../glib/gdatetime.c:330 + msgctxt "abbreviated month name" + msgid "Jan" + msgstr "一月" + +-#: glib/gdatetime.c:332 ++#: ../glib/gdatetime.c:332 + msgctxt "abbreviated month name" + msgid "Feb" + msgstr "二月" + +-#: glib/gdatetime.c:334 ++#: ../glib/gdatetime.c:334 + msgctxt "abbreviated month name" + msgid "Mar" + msgstr "三月" + +-#: glib/gdatetime.c:336 ++#: ../glib/gdatetime.c:336 + msgctxt "abbreviated month name" + msgid "Apr" + msgstr "四月" + +-#: glib/gdatetime.c:338 ++#: ../glib/gdatetime.c:338 + msgctxt "abbreviated month name" + msgid "May" + msgstr "五月" + +-#: glib/gdatetime.c:340 ++#: ../glib/gdatetime.c:340 + msgctxt "abbreviated month name" + msgid "Jun" + msgstr "六月" + +-#: glib/gdatetime.c:342 ++#: ../glib/gdatetime.c:342 + msgctxt "abbreviated month name" + msgid "Jul" + msgstr "七月" + +-#: glib/gdatetime.c:344 ++#: ../glib/gdatetime.c:344 + msgctxt "abbreviated month name" + msgid "Aug" + msgstr "八月" + +-#: glib/gdatetime.c:346 ++#: ../glib/gdatetime.c:346 + msgctxt "abbreviated month name" + msgid "Sep" + msgstr "九月" + +-#: glib/gdatetime.c:348 ++#: ../glib/gdatetime.c:348 + msgctxt "abbreviated month name" + msgid "Oct" + msgstr "十月" + +-#: glib/gdatetime.c:350 ++#: ../glib/gdatetime.c:350 + msgctxt "abbreviated month name" + msgid "Nov" + msgstr "十一月" + +-#: glib/gdatetime.c:352 ++#: ../glib/gdatetime.c:352 + msgctxt "abbreviated month name" + msgid "Dec" + msgstr "十二月" + +-#: glib/gdatetime.c:367 ++#: ../glib/gdatetime.c:367 + msgctxt "full weekday name" + msgid "Monday" + msgstr "星期一" + +-#: glib/gdatetime.c:369 ++#: ../glib/gdatetime.c:369 + msgctxt "full weekday name" + msgid "Tuesday" + msgstr "星期二" + +-#: glib/gdatetime.c:371 ++#: ../glib/gdatetime.c:371 + msgctxt "full weekday name" + msgid "Wednesday" + msgstr "星期三" + +-#: glib/gdatetime.c:373 ++#: ../glib/gdatetime.c:373 + msgctxt "full weekday name" + msgid "Thursday" + msgstr "星期四" + +-#: glib/gdatetime.c:375 ++#: ../glib/gdatetime.c:375 + msgctxt "full weekday name" + msgid "Friday" + msgstr "星期五" + +-#: glib/gdatetime.c:377 ++#: ../glib/gdatetime.c:377 + msgctxt "full weekday name" + msgid "Saturday" + msgstr "星期六" + +-#: glib/gdatetime.c:379 ++#: ../glib/gdatetime.c:379 + msgctxt "full weekday name" + msgid "Sunday" + msgstr "星期日" + +-#: glib/gdatetime.c:394 ++#: ../glib/gdatetime.c:394 + msgctxt "abbreviated weekday name" + msgid "Mon" + msgstr "周一" + +-#: glib/gdatetime.c:396 ++#: ../glib/gdatetime.c:396 + msgctxt "abbreviated weekday name" + msgid "Tue" + msgstr "周二" + +-#: glib/gdatetime.c:398 ++#: ../glib/gdatetime.c:398 + msgctxt "abbreviated weekday name" + msgid "Wed" + msgstr "周三" + +-#: glib/gdatetime.c:400 ++#: ../glib/gdatetime.c:400 + msgctxt "abbreviated weekday name" + msgid "Thu" + msgstr "周四" + +-#: glib/gdatetime.c:402 ++#: ../glib/gdatetime.c:402 + msgctxt "abbreviated weekday name" + msgid "Fri" + msgstr "周五" + +-#: glib/gdatetime.c:404 ++#: ../glib/gdatetime.c:404 + msgctxt "abbreviated weekday name" + msgid "Sat" + msgstr "周六" + +-#: glib/gdatetime.c:406 ++#: ../glib/gdatetime.c:406 + msgctxt "abbreviated weekday name" + msgid "Sun" + msgstr "周日" +@@ -4755,62 +4855,62 @@ msgstr "周日" + #. * (western European, non-European) there is no difference between the + #. * standalone and complete date form. + #. +-#: glib/gdatetime.c:470 ++#: ../glib/gdatetime.c:470 + msgctxt "full month name with day" + msgid "January" + msgstr "一月" + +-#: glib/gdatetime.c:472 ++#: ../glib/gdatetime.c:472 + msgctxt "full month name with day" + msgid "February" + msgstr "二月" + +-#: glib/gdatetime.c:474 ++#: ../glib/gdatetime.c:474 + msgctxt "full month name with day" + msgid "March" + msgstr "三月" + +-#: glib/gdatetime.c:476 ++#: ../glib/gdatetime.c:476 + msgctxt "full month name with day" + msgid "April" + msgstr "四月" + +-#: glib/gdatetime.c:478 ++#: ../glib/gdatetime.c:478 + msgctxt "full month name with day" + msgid "May" + msgstr "五月" + +-#: glib/gdatetime.c:480 ++#: ../glib/gdatetime.c:480 + msgctxt "full month name with day" + msgid "June" + msgstr "六月" + +-#: glib/gdatetime.c:482 ++#: ../glib/gdatetime.c:482 + msgctxt "full month name with day" + msgid "July" + msgstr "七月" + +-#: glib/gdatetime.c:484 ++#: ../glib/gdatetime.c:484 + msgctxt "full month name with day" + msgid "August" + msgstr "八月" + +-#: glib/gdatetime.c:486 ++#: ../glib/gdatetime.c:486 + msgctxt "full month name with day" + msgid "September" + msgstr "九月" + +-#: glib/gdatetime.c:488 ++#: ../glib/gdatetime.c:488 + msgctxt "full month name with day" + msgid "October" + msgstr "十月" + +-#: glib/gdatetime.c:490 ++#: ../glib/gdatetime.c:490 + msgctxt "full month name with day" + msgid "November" + msgstr "十一月" + +-#: glib/gdatetime.c:492 ++#: ../glib/gdatetime.c:492 + msgctxt "full month name with day" + msgid "December" + msgstr "十二月" +@@ -4832,318 +4932,319 @@ msgstr "十二月" + #. * month names almost ready to copy and paste here. In other systems + #. * due to a bug the result is incorrect in some languages. + #. +-#: glib/gdatetime.c:557 ++#: ../glib/gdatetime.c:557 + msgctxt "abbreviated month name with day" + msgid "Jan" + msgstr "一月" + +-#: glib/gdatetime.c:559 ++#: ../glib/gdatetime.c:559 + msgctxt "abbreviated month name with day" + msgid "Feb" + msgstr "二月" + +-#: glib/gdatetime.c:561 ++#: ../glib/gdatetime.c:561 + msgctxt "abbreviated month name with day" + msgid "Mar" + msgstr "三月" + +-#: glib/gdatetime.c:563 ++#: ../glib/gdatetime.c:563 + msgctxt "abbreviated month name with day" + msgid "Apr" + msgstr "四月" + +-#: glib/gdatetime.c:565 ++#: ../glib/gdatetime.c:565 + msgctxt "abbreviated month name with day" + msgid "May" + msgstr "五月" + +-#: glib/gdatetime.c:567 ++#: ../glib/gdatetime.c:567 + msgctxt "abbreviated month name with day" + msgid "Jun" + msgstr "六月" + +-#: glib/gdatetime.c:569 ++#: ../glib/gdatetime.c:569 + msgctxt "abbreviated month name with day" + msgid "Jul" + msgstr "七月" + +-#: glib/gdatetime.c:571 ++#: ../glib/gdatetime.c:571 + msgctxt "abbreviated month name with day" + msgid "Aug" + msgstr "八月" + +-#: glib/gdatetime.c:573 ++#: ../glib/gdatetime.c:573 + msgctxt "abbreviated month name with day" + msgid "Sep" + msgstr "九月" + +-#: glib/gdatetime.c:575 ++#: ../glib/gdatetime.c:575 + msgctxt "abbreviated month name with day" + msgid "Oct" + msgstr "十月" + +-#: glib/gdatetime.c:577 ++#: ../glib/gdatetime.c:577 + msgctxt "abbreviated month name with day" + msgid "Nov" + msgstr "十一月" + +-#: glib/gdatetime.c:579 ++#: ../glib/gdatetime.c:579 + msgctxt "abbreviated month name with day" + msgid "Dec" + msgstr "十二月" + + #. Translators: 'before midday' indicator +-#: glib/gdatetime.c:596 ++#: ../glib/gdatetime.c:596 + msgctxt "GDateTime" + msgid "AM" + msgstr "上午" + + #. Translators: 'after midday' indicator +-#: glib/gdatetime.c:599 ++#: ../glib/gdatetime.c:599 + msgctxt "GDateTime" + msgid "PM" + msgstr "下午" + +-#: glib/gdir.c:158 ++#: ../glib/gdir.c:158 + #, c-format + msgid "Error opening directory “%s”: %s" + msgstr "打开目录“%s”时出错:%s" + +-#: glib/gfileutils.c:753 glib/gfileutils.c:845 ++#: ../glib/gfileutils.c:753 ../glib/gfileutils.c:845 + #, c-format + msgid "Could not allocate %lu byte to read file “%s”" + msgid_plural "Could not allocate %lu bytes to read file “%s”" + msgstr[0] "无法分配 %lu 字节以读取文件“%s”" + +-#: glib/gfileutils.c:770 ++#: ../glib/gfileutils.c:770 + #, c-format + msgid "Error reading file “%s”: %s" + msgstr "读取文件“%s”时出错:%s" + +-#: glib/gfileutils.c:806 ++#: ../glib/gfileutils.c:806 + #, c-format + msgid "File “%s” is too large" + msgstr "文件“%s”过大" + +-#: glib/gfileutils.c:870 ++#: ../glib/gfileutils.c:870 + #, c-format + msgid "Failed to read from file “%s”: %s" + msgstr "读取文件“%s”失败:%s" + +-#: glib/gfileutils.c:920 glib/gfileutils.c:995 glib/gfileutils.c:1472 ++#: ../glib/gfileutils.c:920 ../glib/gfileutils.c:995 ../glib/gfileutils.c:1472 + #, c-format + msgid "Failed to open file “%s”: %s" + msgstr "打开文件“%s”失败:%s" + +-#: glib/gfileutils.c:933 ++#: ../glib/gfileutils.c:933 + #, c-format + msgid "Failed to get attributes of file “%s”: fstat() failed: %s" + msgstr "获得文件“%s”的属性失败:fstat() 失败:%s" + +-#: glib/gfileutils.c:964 ++#: ../glib/gfileutils.c:964 + #, c-format + msgid "Failed to open file “%s”: fdopen() failed: %s" + msgstr "打开文件“%s”失败:fdopen() 失败:%s" + +-#: glib/gfileutils.c:1065 ++#: ../glib/gfileutils.c:1065 + #, c-format + msgid "Failed to rename file “%s” to “%s”: g_rename() failed: %s" + msgstr "将文件“%s”重命名为“%s”失败:g_rename() 失败:%s" + +-#: glib/gfileutils.c:1179 ++#: ../glib/gfileutils.c:1179 + #, c-format + msgid "Failed to write file “%s”: write() failed: %s" + msgstr "写入文件“%s”失败:write() 失败:%s" + +-#: glib/gfileutils.c:1200 ++#: ../glib/gfileutils.c:1200 + #, c-format + msgid "Failed to write file “%s”: fsync() failed: %s" + msgstr "写入文件“%s”失败:fsync() 失败:%s" + +-#: glib/gfileutils.c:1361 glib/gfileutils.c:1776 ++#: ../glib/gfileutils.c:1361 ../glib/gfileutils.c:1776 + #, c-format + msgid "Failed to create file “%s”: %s" + msgstr "创建文件“%s”失败:%s" + +-#: glib/gfileutils.c:1406 ++#: ../glib/gfileutils.c:1406 + #, c-format + msgid "Existing file “%s” could not be removed: g_unlink() failed: %s" + msgstr "无法删除已有文件“%s”:g_unlink() 失败:%s" + +-#: glib/gfileutils.c:1741 ++#: ../glib/gfileutils.c:1741 + #, c-format + msgid "Template “%s” invalid, should not contain a “%s”" + msgstr "模板“%s”无效,不应该包含“%s”" + +-#: glib/gfileutils.c:1754 ++#: ../glib/gfileutils.c:1754 + #, c-format + msgid "Template “%s” doesn’t contain XXXXXX" + msgstr "模板“%s”不包含 XXXXXX" + +-#: glib/gfileutils.c:2348 glib/gfileutils.c:2377 ++#: ../glib/gfileutils.c:2348 ../glib/gfileutils.c:2377 + #, c-format + msgid "Failed to read the symbolic link “%s”: %s" + msgstr "读取符号链接“%s”失败:%s" + +-#: glib/giochannel.c:1408 ++#: ../glib/giochannel.c:1408 + #, c-format + msgid "Could not open converter from “%s” to “%s”: %s" + msgstr "无法打开从“%s”到“%s”的转换器:%s" + +-#: glib/giochannel.c:1761 ++#: ../glib/giochannel.c:1761 + msgid "Can’t do a raw read in g_io_channel_read_line_string" + msgstr "g_io_channel_read_line_string 函数无法进行原始读取" + +-#: glib/giochannel.c:1808 glib/giochannel.c:2066 glib/giochannel.c:2153 ++#: ../glib/giochannel.c:1808 ../glib/giochannel.c:2066 ++#: ../glib/giochannel.c:2153 + msgid "Leftover unconverted data in read buffer" + msgstr "在读缓冲里留有未转换数据" + +-#: glib/giochannel.c:1889 glib/giochannel.c:1966 ++#: ../glib/giochannel.c:1889 ../glib/giochannel.c:1966 + msgid "Channel terminates in a partial character" + msgstr "通道终止于未尽字符" + +-#: glib/giochannel.c:1952 ++#: ../glib/giochannel.c:1952 + msgid "Can’t do a raw read in g_io_channel_read_to_end" + msgstr "g_io_channel_read_to_end 函数无法进行原始读取" + +-#: glib/gkeyfile.c:802 ++#: ../glib/gkeyfile.c:821 + msgid "Valid key file could not be found in search dirs" + msgstr "在搜索目录中无法找到有效的键文件" + +-#: glib/gkeyfile.c:839 ++#: ../glib/gkeyfile.c:858 + msgid "Not a regular file" + msgstr "不是普通文件" + +-#: glib/gkeyfile.c:1297 ++#: ../glib/gkeyfile.c:1346 + #, c-format + msgid "" + "Key file contains line “%s” which is not a key-value pair, group, or comment" + msgstr "键文件包含不是键-值对、组或注释的行“%s”" + +-#: glib/gkeyfile.c:1354 ++#: ../glib/gkeyfile.c:1403 + #, c-format + msgid "Invalid group name: %s" + msgstr "无效的组名:%s" + +-#: glib/gkeyfile.c:1378 ++#: ../glib/gkeyfile.c:1427 + msgid "Key file does not start with a group" + msgstr "键文件不以组开始" + +-#: glib/gkeyfile.c:1402 ++#: ../glib/gkeyfile.c:1451 + #, c-format + msgid "Invalid key name: %.*s" + msgstr "无效的键名:%.*s" + +-#: glib/gkeyfile.c:1430 ++#: ../glib/gkeyfile.c:1479 + #, c-format + msgid "Key file contains unsupported encoding “%s”" + msgstr "键文件包含不支持的编码“%s”" + +-#: glib/gkeyfile.c:1678 glib/gkeyfile.c:1851 glib/gkeyfile.c:3298 +-#: glib/gkeyfile.c:3400 glib/gkeyfile.c:3505 glib/gkeyfile.c:3634 +-#: glib/gkeyfile.c:3777 glib/gkeyfile.c:4026 glib/gkeyfile.c:4100 ++#: ../glib/gkeyfile.c:1727 ../glib/gkeyfile.c:1900 ../glib/gkeyfile.c:3401 ++#: ../glib/gkeyfile.c:3503 ../glib/gkeyfile.c:3608 ../glib/gkeyfile.c:3737 ++#: ../glib/gkeyfile.c:3880 ../glib/gkeyfile.c:4129 ../glib/gkeyfile.c:4203 + #, c-format + msgid "Key file does not have group “%s”" + msgstr "键文件没有组“%s”" + +-#: glib/gkeyfile.c:1806 ++#: ../glib/gkeyfile.c:1855 + #, c-format + msgid "Key file does not have key “%s” in group “%s”" + msgstr "键文件在组“%2$s”中没有键“%1$s”" + +-#: glib/gkeyfile.c:1968 glib/gkeyfile.c:2084 ++#: ../glib/gkeyfile.c:2017 ../glib/gkeyfile.c:2133 + #, c-format + msgid "Key file contains key “%s” with value “%s” which is not UTF-8" + msgstr "键文件包含键“%s”,其值“%s”不是 UTF-8" + +-#: glib/gkeyfile.c:1988 glib/gkeyfile.c:2104 glib/gkeyfile.c:2543 ++#: ../glib/gkeyfile.c:2037 ../glib/gkeyfile.c:2153 ../glib/gkeyfile.c:2646 + #, c-format + msgid "" + "Key file contains key “%s” which has a value that cannot be interpreted." + msgstr "键文件包含键“%s”,其值无法解析。" + +-#: glib/gkeyfile.c:2758 glib/gkeyfile.c:3127 ++#: ../glib/gkeyfile.c:2861 ../glib/gkeyfile.c:3230 + #, c-format + msgid "" + "Key file contains key “%s” in group “%s” which has a value that cannot be " + "interpreted." + msgstr "键文件包含组“%2$s”中的键“%1$s”,其值无法解释。" + +-#: glib/gkeyfile.c:2836 glib/gkeyfile.c:2913 ++#: ../glib/gkeyfile.c:2939 ../glib/gkeyfile.c:3016 + #, c-format + msgid "Key “%s” in group “%s” has value “%s” where %s was expected" + msgstr "组“%2$s”中的键“%1$s”的值为“%3$s”,应为 %4$s" + +-#: glib/gkeyfile.c:4353 ++#: ../glib/gkeyfile.c:4460 + msgid "Key file contains escape character at end of line" + msgstr "键文件在行尾含有转义字符" + +-#: glib/gkeyfile.c:4375 ++#: ../glib/gkeyfile.c:4497 + #, c-format + msgid "Key file contains invalid escape sequence “%s”" + msgstr "键文件中包含无效的转义序列“%s”" + +-#: glib/gkeyfile.c:4520 ++#: ../glib/gkeyfile.c:4648 + #, c-format + msgid "Value “%s” cannot be interpreted as a number." + msgstr "无法将值“%s”解释为数值。" + +-#: glib/gkeyfile.c:4534 ++#: ../glib/gkeyfile.c:4662 + #, c-format + msgid "Integer value “%s” out of range" + msgstr "整数值“%s”超出范围" + +-#: glib/gkeyfile.c:4567 ++#: ../glib/gkeyfile.c:4695 + #, c-format + msgid "Value “%s” cannot be interpreted as a float number." + msgstr "无法将值“%s”解释为浮点数。" + +-#: glib/gkeyfile.c:4606 ++#: ../glib/gkeyfile.c:4734 + #, c-format + msgid "Value “%s” cannot be interpreted as a boolean." + msgstr "无法将值“%s”解释为布尔值。" + +-#: glib/gmappedfile.c:135 ++#: ../glib/gmappedfile.c:135 + #, c-format + msgid "Failed to get attributes of file “%s%s%s%s”: fstat() failed: %s" + msgstr "获取文件“%s%s%s%s”的属性失败 : fstat() 失败:%s" + +-#: glib/gmappedfile.c:201 ++#: ../glib/gmappedfile.c:201 + #, c-format + msgid "Failed to map %s%s%s%s: mmap() failed: %s" + msgstr "映射 %s%s%s%s 失败:mmap() 失败:%s" + +-#: glib/gmappedfile.c:268 ++#: ../glib/gmappedfile.c:268 + #, c-format + msgid "Failed to open file “%s”: open() failed: %s" + msgstr "打开文件“%s”失败:open() 失败:%s" + +-#: glib/gmarkup.c:398 glib/gmarkup.c:440 ++#: ../glib/gmarkup.c:398 ../glib/gmarkup.c:440 + #, c-format + msgid "Error on line %d char %d: " + msgstr "第 %d 行第 %d 个字符出错: " + +-#: glib/gmarkup.c:462 glib/gmarkup.c:545 ++#: ../glib/gmarkup.c:462 ../glib/gmarkup.c:545 + #, c-format + msgid "Invalid UTF-8 encoded text in name — not valid “%s”" + msgstr "名称包含无效的 UTF-8 编码文本——无效的“%s”" + +-#: glib/gmarkup.c:473 ++#: ../glib/gmarkup.c:473 + #, c-format + msgid "“%s” is not a valid name" + msgstr "“%s”不是有效的名称" + +-#: glib/gmarkup.c:489 ++#: ../glib/gmarkup.c:489 + #, c-format + msgid "“%s” is not a valid name: “%c”" + msgstr "“%s”不是有效的名称:“%c”" + +-#: glib/gmarkup.c:613 ++#: ../glib/gmarkup.c:613 + #, c-format + msgid "Error on line %d: %s" + msgstr "第 %d 行出错:%s" + +-#: glib/gmarkup.c:690 ++#: ../glib/gmarkup.c:690 + #, c-format + msgid "" + "Failed to parse “%-.*s”, which should have been a digit inside a character " +@@ -5151,7 +5252,7 @@ msgid "" + msgstr "" + "解析“%-.*s”失败。它应该是字符引用中的数字(如 ê)——可能该数字太大了" + +-#: glib/gmarkup.c:702 ++#: ../glib/gmarkup.c:702 + msgid "" + "Character reference did not end with a semicolon; most likely you used an " + "ampersand character without intending to start an entity — escape ampersand " +@@ -5160,22 +5261,22 @@ msgstr "" + "字符引用没有以分号结束。很可能您使用了与号(&)字符而又不是一个实体——将这个与" + "号变为 &" + +-#: glib/gmarkup.c:728 ++#: ../glib/gmarkup.c:728 + #, c-format + msgid "Character reference “%-.*s” does not encode a permitted character" + msgstr "字符引用“%-.*s”没有编码一个允许的字符" + +-#: glib/gmarkup.c:766 ++#: ../glib/gmarkup.c:766 + msgid "" + "Empty entity “&;” seen; valid entities are: & " < > '" + msgstr "发现空的实体“&;”。有效的实体为:& " < > '" + +-#: glib/gmarkup.c:774 ++#: ../glib/gmarkup.c:774 + #, c-format + msgid "Entity name “%-.*s” is not known" + msgstr "未知的实体名“%-.*s”" + +-#: glib/gmarkup.c:779 ++#: ../glib/gmarkup.c:779 + msgid "" + "Entity did not end with a semicolon; most likely you used an ampersand " + "character without intending to start an entity — escape ampersand as &" +@@ -5183,36 +5284,36 @@ msgstr "" + "实体没有以分号结束。很可能您使用了与号(&)字符而又不是一个实体——将这个与号变" + "为 &" + +-#: glib/gmarkup.c:1193 ++#: ../glib/gmarkup.c:1193 + msgid "Document must begin with an element (e.g. )" + msgstr "文档必须以一个元素开始(例如 )" + +-#: glib/gmarkup.c:1233 ++#: ../glib/gmarkup.c:1233 + #, c-format + msgid "" + "“%s” is not a valid character following a “<” character; it may not begin an " + "element name" + msgstr "“%s”出现在字符“<”后是无效字符;它不能作为元素名的开头" + +-#: glib/gmarkup.c:1276 ++#: ../glib/gmarkup.c:1276 + #, c-format + msgid "" + "Odd character “%s”, expected a “>” character to end the empty-element tag " + "“%s”" + msgstr "字符“%s”无效,应该以字符“>”来结束空元素标记“%s”" + +-#: glib/gmarkup.c:1346 ++#: ../glib/gmarkup.c:1346 + #, c-format + msgid "Too many attributes in element “%s”" + msgstr "元素“%s”中有过多参数" + +-#: glib/gmarkup.c:1366 ++#: ../glib/gmarkup.c:1366 + #, c-format + msgid "" + "Odd character “%s”, expected a “=” after attribute name “%s” of element “%s”" + msgstr "字符“%s”无效,在属性名“%s”(元素“%s”)的后应该是字符“=”" + +-#: glib/gmarkup.c:1408 ++#: ../glib/gmarkup.c:1408 + #, c-format + msgid "" + "Odd character “%s”, expected a “>” or “/” character to end the start tag of " +@@ -5222,839 +5323,836 @@ msgstr "" + "字符“%s”无效,应该以“>”或“/”结束元素“%s”的起始标记,或紧跟该元素的属性;可能" + "您在属性名中使用了无效字符" + +-#: glib/gmarkup.c:1453 ++#: ../glib/gmarkup.c:1453 + #, c-format + msgid "" + "Odd character “%s”, expected an open quote mark after the equals sign when " + "giving value for attribute “%s” of element “%s”" + msgstr "字符“%1$s”无效,在给元素“%3$s”的属性“%2$s”赋值时,等号后应该是前引号" + +-#: glib/gmarkup.c:1587 ++#: ../glib/gmarkup.c:1587 + #, c-format + msgid "" + "“%s” is not a valid character following the characters “”" + msgstr "“%s”字符出现在闭合元素名“%s”后无效;允许的字符是“>”" + +-#: glib/gmarkup.c:1637 ++#: ../glib/gmarkup.c:1637 + #, c-format + msgid "Element “%s” was closed, no element is currently open" + msgstr "元素“%s”已经闭合,当前没有开放的元素" + +-#: glib/gmarkup.c:1646 ++#: ../glib/gmarkup.c:1646 + #, c-format + msgid "Element “%s” was closed, but the currently open element is “%s”" + msgstr "元素“%s”已经闭合,当前仍开放的元素是“%s”" + +-#: glib/gmarkup.c:1799 ++#: ../glib/gmarkup.c:1799 + msgid "Document was empty or contained only whitespace" + msgstr "文档为空或仅含空白字符" + +-#: glib/gmarkup.c:1813 ++#: ../glib/gmarkup.c:1813 + msgid "Document ended unexpectedly just after an open angle bracket “<”" + msgstr "文档在一个左尖括号“<”后意外结束" + +-#: glib/gmarkup.c:1821 glib/gmarkup.c:1866 ++#: ../glib/gmarkup.c:1821 ../glib/gmarkup.c:1866 + #, c-format + msgid "" + "Document ended unexpectedly with elements still open — “%s” was the last " + "element opened" + msgstr "文档在元素仍开放处意外结束——最后未结束的元素是“%s”" + +-#: glib/gmarkup.c:1829 ++#: ../glib/gmarkup.c:1829 + #, c-format + msgid "" + "Document ended unexpectedly, expected to see a close angle bracket ending " + "the tag <%s/>" + msgstr "文档意外结束,应该以右尖括号“>”来结束标记 <%s/>" + +-#: glib/gmarkup.c:1835 ++#: ../glib/gmarkup.c:1835 + msgid "Document ended unexpectedly inside an element name" + msgstr "文档在元素名中意外结束" + +-#: glib/gmarkup.c:1841 ++#: ../glib/gmarkup.c:1841 + msgid "Document ended unexpectedly inside an attribute name" + msgstr "文档在属性名中意外结束" + +-#: glib/gmarkup.c:1846 ++#: ../glib/gmarkup.c:1846 + msgid "Document ended unexpectedly inside an element-opening tag." + msgstr "文档在元素仍开放的标记中意外结束。" + +-#: glib/gmarkup.c:1852 ++#: ../glib/gmarkup.c:1852 + msgid "" + "Document ended unexpectedly after the equals sign following an attribute " + "name; no attribute value" + msgstr "文档在跟在属性名后的等号后意外结束;没有属性值" + +-#: glib/gmarkup.c:1859 ++#: ../glib/gmarkup.c:1859 + msgid "Document ended unexpectedly while inside an attribute value" + msgstr "文档在属性值中意外结束" + +-#: glib/gmarkup.c:1876 ++#: ../glib/gmarkup.c:1876 + #, c-format + msgid "Document ended unexpectedly inside the close tag for element “%s”" + msgstr "文档在元素“%s”的闭合标记中意外结束" + +-#: glib/gmarkup.c:1880 ++#: ../glib/gmarkup.c:1880 + msgid "" + "Document ended unexpectedly inside the close tag for an unopened element" + msgstr "文档在无起始元素的闭合标记中意外结束" + +-#: glib/gmarkup.c:1886 ++#: ../glib/gmarkup.c:1886 + msgid "Document ended unexpectedly inside a comment or processing instruction" + msgstr "文档在注释或处理指令中意外结束" + +-#: glib/goption.c:875 ++#: ../glib/goption.c:875 + msgid "[OPTION…]" + msgstr "[选项…]" + +-#: glib/goption.c:991 ++#: ../glib/goption.c:991 + msgid "Help Options:" + msgstr "帮助选项:" + +-#: glib/goption.c:992 ++#: ../glib/goption.c:992 + msgid "Show help options" + msgstr "显示帮助选项" + +-#: glib/goption.c:998 ++#: ../glib/goption.c:998 + msgid "Show all help options" + msgstr "显示全部帮助选项" + +-#: glib/goption.c:1061 ++#: ../glib/goption.c:1061 + msgid "Application Options:" + msgstr "应用程序选项:" + +-#: glib/goption.c:1063 ++#: ../glib/goption.c:1063 + msgid "Options:" + msgstr "选项:" + +-#: glib/goption.c:1127 glib/goption.c:1197 ++#: ../glib/goption.c:1127 ../glib/goption.c:1197 + #, c-format + msgid "Cannot parse integer value “%s” for %s" + msgstr "无法解析 %2$s 的整数值“%1$s”" + +-#: glib/goption.c:1137 glib/goption.c:1205 ++#: ../glib/goption.c:1137 ../glib/goption.c:1205 + #, c-format + msgid "Integer value “%s” for %s out of range" + msgstr "%2$s 所用的整数值“%1$s”超出范围" + +-#: glib/goption.c:1162 ++#: ../glib/goption.c:1162 + #, c-format + msgid "Cannot parse double value “%s” for %s" + msgstr "无法解析 %2$s 的双精度值“%1$s”" + +-#: glib/goption.c:1170 ++#: ../glib/goption.c:1170 + #, c-format + msgid "Double value “%s” for %s out of range" + msgstr "%2$s 所用的双精度值“%1$s”超出范围" + +-#: glib/goption.c:1462 glib/goption.c:1541 ++#: ../glib/goption.c:1462 ../glib/goption.c:1541 + #, c-format + msgid "Error parsing option %s" + msgstr "解析选项 %s 时出错" + +-#: glib/goption.c:1563 glib/goption.c:1676 ++#: ../glib/goption.c:1563 ../glib/goption.c:1676 + #, c-format + msgid "Missing argument for %s" + msgstr "缺少 %s 的参数" + +-#: glib/goption.c:2186 ++#: ../glib/goption.c:2186 + #, c-format + msgid "Unknown option %s" + msgstr "未知选项 %s" + +-#: glib/gregex.c:479 ++#: ../glib/gregex.c:480 + msgid "corrupted object" + msgstr "无效对象" + +-#: glib/gregex.c:481 ++#: ../glib/gregex.c:482 + msgid "out of memory" + msgstr "内存不足" + +-#: glib/gregex.c:487 +-msgid "backtracking limit reached" +-msgstr "达到回溯上限" +- +-#: glib/gregex.c:498 ++#: ../glib/gregex.c:497 + msgid "internal error" + msgstr "内部错误" + +-#: glib/gregex.c:500 ++#: ../glib/gregex.c:499 + msgid "the pattern contains items not supported for partial matching" + msgstr "表达式包含不被部分匹配支持的项" + +-#: glib/gregex.c:502 ++#: ../glib/gregex.c:501 + msgid "back references as conditions are not supported for partial matching" + msgstr "不完全匹配时作为条件的后向引用不被支持" + +-#: glib/gregex.c:508 ++#: ../glib/gregex.c:507 + msgid "recursion limit reached" + msgstr "达到递归上限" + +-#: glib/gregex.c:510 ++#: ../glib/gregex.c:509 + msgid "bad offset" + msgstr "错误的偏移值" + +-#: glib/gregex.c:512 ++#: ../glib/gregex.c:511 + msgid "recursion loop" + msgstr "递归循环" + + #. should not happen in GRegex since we check modes before each match +-#: glib/gregex.c:515 ++#: ../glib/gregex.c:514 + msgid "matching mode is requested that was not compiled for JIT" + msgstr "请求了匹配模式,但它未为 JIT 编译" + +-#: glib/gregex.c:536 glib/gregex.c:1838 ++#: ../glib/gregex.c:535 ../glib/gregex.c:1851 + msgid "unknown error" + msgstr "未知错误" + +-#: glib/gregex.c:557 ++#: ../glib/gregex.c:556 + msgid "\\ at end of pattern" + msgstr "\\ 在表达式末尾" + +-#: glib/gregex.c:561 ++#: ../glib/gregex.c:560 + msgid "\\c at end of pattern" + msgstr "表达式末尾的 \\c" + +-#: glib/gregex.c:566 ++#: ../glib/gregex.c:565 + msgid "unrecognized character following \\" + msgstr "\\ 后有无法识别的字符" + +-#: glib/gregex.c:570 ++#: ../glib/gregex.c:569 + msgid "numbers out of order in {} quantifier" + msgstr "{} 量词里的数字次序颠倒了" + +-#: glib/gregex.c:574 ++#: ../glib/gregex.c:573 + msgid "number too big in {} quantifier" + msgstr "{} 量词里的数字太大了" + +-#: glib/gregex.c:578 ++#: ../glib/gregex.c:577 + msgid "missing terminating ] for character class" + msgstr "字符类缺少终结的 ]" + +-#: glib/gregex.c:582 ++#: ../glib/gregex.c:581 + msgid "invalid escape sequence in character class" + msgstr "字符类包含无效的转义序列" + +-#: glib/gregex.c:586 ++#: ../glib/gregex.c:585 + msgid "range out of order in character class" + msgstr "字符类的范围次序颠倒" + +-#: glib/gregex.c:591 ++#: ../glib/gregex.c:590 + msgid "nothing to repeat" + msgstr "没有可以重复的内容" + +-#: glib/gregex.c:595 ++#: ../glib/gregex.c:594 + msgid "unrecognized character after (? or (?-" + msgstr "(? 或 (?- 后有无法识别的字符" + +-#: glib/gregex.c:599 ++#: ../glib/gregex.c:598 + msgid "POSIX named classes are supported only within a class" + msgstr "只有类里支持 POSIX 命名的类" + +-#: glib/gregex.c:603 ++#: ../glib/gregex.c:602 + msgid "POSIX collating elements are not supported" + msgstr "不支持 POSIX 整理元素" + +-#: glib/gregex.c:609 ++#: ../glib/gregex.c:608 + msgid "missing terminating )" + msgstr "缺少结束的 )" + +-#: glib/gregex.c:613 ++#: ../glib/gregex.c:612 + msgid "reference to non-existent subpattern" + msgstr "引用了不存在的子表达式" + +-#: glib/gregex.c:617 ++#: ../glib/gregex.c:616 + msgid "missing ) after comment" + msgstr "注释后缺少 )" + +-#: glib/gregex.c:621 ++#: ../glib/gregex.c:620 + msgid "regular expression is too large" + msgstr "正则表达式过长" + +-#: glib/gregex.c:625 ++#: ../glib/gregex.c:624 + msgid "malformed number or name after (?(" + msgstr "(?( 后有形式不正确的数字或名称" + +-#: glib/gregex.c:629 ++#: ../glib/gregex.c:628 + msgid "lookbehind assertion is not fixed length" + msgstr "lookbehind 断言不是定长的" + +-#: glib/gregex.c:633 ++#: ../glib/gregex.c:632 + msgid "conditional group contains more than two branches" + msgstr "条件组包含了超过两个分支" + +-#: glib/gregex.c:637 ++#: ../glib/gregex.c:636 + msgid "assertion expected after (?(" + msgstr "(?( 后应该有断言" + +-#: glib/gregex.c:641 ++#: ../glib/gregex.c:640 + msgid "a numbered reference must not be zero" + msgstr "编号引用不能为 0" + +-#: glib/gregex.c:645 ++#: ../glib/gregex.c:644 + msgid "unknown POSIX class name" + msgstr "未知的 POSIX 类名" + +-#: glib/gregex.c:650 ++#: ../glib/gregex.c:649 + msgid "character value in \\x{...} sequence is too large" + msgstr "\\x{...} 序列里的字符值太大了" + +-#: glib/gregex.c:654 ++#: ../glib/gregex.c:653 + msgid "\\C not allowed in lookbehind assertion" + msgstr "lookbehind 断言里不允许使用 \\C" + +-#: glib/gregex.c:658 ++#: ../glib/gregex.c:657 + msgid "missing terminator in subpattern name" + msgstr "子表达式名里缺少终结符" + +-#: glib/gregex.c:662 ++#: ../glib/gregex.c:661 + msgid "two named subpatterns have the same name" + msgstr "两个有名子表达式有相同的名称" + +-#: glib/gregex.c:666 ++#: ../glib/gregex.c:665 + msgid "malformed \\P or \\p sequence" + msgstr "形式不正确的 \\P 或 \\p 序列" + +-#: glib/gregex.c:670 ++#: ../glib/gregex.c:669 + msgid "unknown property name after \\P or \\p" + msgstr "\\P 或 \\p 后有未知的属性名" + +-#: glib/gregex.c:674 ++#: ../glib/gregex.c:673 + msgid "subpattern name is too long (maximum 32 characters)" + msgstr "子表达式名太长了(最多 32 个字符)" + +-#: glib/gregex.c:678 ++#: ../glib/gregex.c:677 + msgid "too many named subpatterns (maximum 10,000)" + msgstr "有名子表达式太多了(最多 10,000 个)" + +-#: glib/gregex.c:682 ++#: ../glib/gregex.c:681 + msgid "octal value is greater than \\377" + msgstr "八进制值大于 \\377" + +-#: glib/gregex.c:686 ++#: ../glib/gregex.c:685 + msgid "DEFINE group contains more than one branch" + msgstr "定义组包含多于一个的分支" + +-#: glib/gregex.c:690 ++#: ../glib/gregex.c:689 + msgid "inconsistent NEWLINE options" + msgstr "不一致的换行选项" + +-#: glib/gregex.c:694 ++#: ../glib/gregex.c:693 + msgid "" + "\\g is not followed by a braced, angle-bracketed, or quoted name or number, " + "or by a plain number" + msgstr "\\g 后没有花括号、尖括号或引号括起来的名称或数字,或纯数字" + +-#: glib/gregex.c:699 ++#: ../glib/gregex.c:698 + msgid "an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT)" + msgstr "(*ACCEPT)、(*FAIL) 和 (*COMMIT) 不允许带参数" + +-#: glib/gregex.c:703 ++#: ../glib/gregex.c:702 + msgid "(*VERB) not recognized" + msgstr "无法识别 (*VERB)" + +-#: glib/gregex.c:707 ++#: ../glib/gregex.c:706 + msgid "number is too big" + msgstr "数字太大" + +-#: glib/gregex.c:711 ++#: ../glib/gregex.c:710 + msgid "missing subpattern name after (?&" + msgstr "(?& 后缺少子表达式名" + +-#: glib/gregex.c:715 ++#: ../glib/gregex.c:714 + msgid "different names for subpatterns of the same number are not allowed" + msgstr "不允许两个号码相同的子表达式有不同的名称" + +-#: glib/gregex.c:719 ++#: ../glib/gregex.c:718 + msgid "(*MARK) must have an argument" + msgstr "(*MARK) 必须有一个参数" + +-#: glib/gregex.c:723 ++#: ../glib/gregex.c:722 + msgid "\\c must be followed by an ASCII character" + msgstr "\\c 后面必须跟一个 ASCII 字符" + +-#: glib/gregex.c:727 ++#: ../glib/gregex.c:726 + msgid "\\k is not followed by a braced, angle-bracketed, or quoted name" + msgstr "\\k 后没有用花括号、尖括号或引号括起来的名称" + +-#: glib/gregex.c:731 ++#: ../glib/gregex.c:730 + msgid "\\N is not supported in a class" + msgstr "类中不支持 \\N" + +-#: glib/gregex.c:735 ++#: ../glib/gregex.c:734 + msgid "name is too long in (*MARK), (*PRUNE), (*SKIP), or (*THEN)" + msgstr "在 (*MARK)、(*PRUNE)、(*SKIP) 或者 (*THEN) 中的名称太长" + +-#: glib/gregex.c:739 glib/gregex.c:875 ++#: ../glib/gregex.c:738 ../glib/gregex.c:874 + msgid "code overflow" + msgstr "代码溢出" + +-#: glib/gregex.c:743 ++#: ../glib/gregex.c:742 + msgid "unrecognized character after (?P" + msgstr "(?P 有无法识别的字符" + +-#: glib/gregex.c:747 ++#: ../glib/gregex.c:746 + msgid "overran compiling workspace" + msgstr "编译工作区超出正常范围" + +-#: glib/gregex.c:751 ++#: ../glib/gregex.c:750 + msgid "previously-checked referenced subpattern not found" + msgstr "未找到之前检查过的引用过的子表达式" + +-#: glib/gregex.c:874 glib/gregex.c:1121 glib/gregex.c:2444 ++#: ../glib/gregex.c:873 ../glib/gregex.c:1135 ../glib/gregex.c:2457 + #, c-format + msgid "Error while matching regular expression %s: %s" + msgstr "匹配正则表达式 %s 时出错:%s" + +-#: glib/gregex.c:1721 ++#: ../glib/gregex.c:1735 + msgid "PCRE library is compiled without UTF8 support" + msgstr "PCRE 库编译时未包含 UTF8 支持" + +-#: glib/gregex.c:1729 ++#: ../glib/gregex.c:1743 + msgid "PCRE library is compiled with incompatible options" + msgstr "PCRE 库编译时使用了不兼容的选项" + +-#: glib/gregex.c:1847 ++#: ../glib/gregex.c:1860 + #, c-format + msgid "Error while compiling regular expression ‘%s’ at char %s: %s" + msgstr "编译正则表达式“%s”到字符 %s 处时出错:%s" + +-#: glib/gregex.c:2887 ++#: ../glib/gregex.c:2900 + msgid "hexadecimal digit or “}” expected" + msgstr "期望十六进制数或“}”" + +-#: glib/gregex.c:2903 ++#: ../glib/gregex.c:2916 + msgid "hexadecimal digit expected" + msgstr "期望十六进制数" + +-#: glib/gregex.c:2943 ++#: ../glib/gregex.c:2956 + msgid "missing “<” in symbolic reference" + msgstr "在符号引用中缺少“<”" + +-#: glib/gregex.c:2952 ++#: ../glib/gregex.c:2965 + msgid "unfinished symbolic reference" + msgstr "未完成的符号引用" + +-#: glib/gregex.c:2959 ++#: ../glib/gregex.c:2972 + msgid "zero-length symbolic reference" + msgstr "零长符号引用" + +-#: glib/gregex.c:2970 ++#: ../glib/gregex.c:2983 + msgid "digit expected" + msgstr "期望数字" + +-#: glib/gregex.c:2988 ++#: ../glib/gregex.c:3001 + msgid "illegal symbolic reference" + msgstr "非法的符号引用" + +-#: glib/gregex.c:3051 ++#: ../glib/gregex.c:3064 + msgid "stray final “\\”" + msgstr "丢失了最后的“\\”" + +-#: glib/gregex.c:3055 ++#: ../glib/gregex.c:3068 + msgid "unknown escape sequence" + msgstr "未知的转义序列" + +-#: glib/gregex.c:3065 ++#: ../glib/gregex.c:3078 + #, c-format + msgid "Error while parsing replacement text “%s” at char %lu: %s" + msgstr "解析替换文本“%s”到字符 %lu 处时出错:%s" + +-#: glib/gshell.c:98 ++#: ../glib/gshell.c:98 + msgid "Quoted text doesn’t begin with a quotation mark" + msgstr "引用的文本不以引号开头" + +-#: glib/gshell.c:188 ++#: ../glib/gshell.c:188 + msgid "Unmatched quotation mark in command line or other shell-quoted text" + msgstr "命令行或其他 shell 引用文本中出现不匹配的引号" + +-#: glib/gshell.c:594 ++#: ../glib/gshell.c:594 + #, c-format + msgid "Text ended just after a “\\” character. (The text was “%s”)" + msgstr "文本在一个“\\”字符后结束。(文本为“%s”)" + +-#: glib/gshell.c:601 ++#: ../glib/gshell.c:601 + #, c-format + msgid "Text ended before matching quote was found for %c. (The text was “%s”)" + msgstr "在找到为 %c 匹配的引用之前,文本已结束。(文本为“%s”)" + +-#: glib/gshell.c:613 ++#: ../glib/gshell.c:613 + msgid "Text was empty (or contained only whitespace)" + msgstr "文本为空(或仅含空白字符)" + +-#: glib/gspawn.c:319 ++#: ../glib/gspawn.c:320 + #, c-format + msgid "Failed to read data from child process (%s)" + msgstr "从子进程中读取数据失败(%s)" + +-#: glib/gspawn.c:471 ++#: ../glib/gspawn.c:473 + #, c-format + msgid "Unexpected error in reading data from a child process (%s)" + msgstr "在从子进程中读取数据时出现异常错误(%s)" + +-#: glib/gspawn.c:556 ++#: ../glib/gspawn.c:558 + #, c-format + msgid "Unexpected error in waitpid() (%s)" + msgstr "waitpid() 出现异常错误(%s)" + +-#: glib/gspawn.c:1175 glib/gspawn-win32.c:1575 ++#: ../glib/gspawn.c:1180 ../glib/gspawn-win32.c:1575 + #, c-format + msgid "Child process exited with code %ld" + msgstr "子进程已退出,代码 %ld" + +-#: glib/gspawn.c:1183 ++#: ../glib/gspawn.c:1188 + #, c-format + msgid "Child process killed by signal %ld" + msgstr "子进程已由信号 %ld 杀死" + +-#: glib/gspawn.c:1190 ++#: ../glib/gspawn.c:1195 + #, c-format + msgid "Child process stopped by signal %ld" + msgstr "子进程已由信号 %ld 停止" + +-#: glib/gspawn.c:1197 ++#: ../glib/gspawn.c:1202 + #, c-format + msgid "Child process exited abnormally" + msgstr "子进程异常中止" + +-#: glib/gspawn.c:2027 glib/gspawn-win32.c:472 glib/gspawn-win32.c:480 ++#: ../glib/gspawn.c:2032 ../glib/gspawn-win32.c:472 ../glib/gspawn-win32.c:480 + #, c-format + msgid "Failed to read from child pipe (%s)" + msgstr "从子管道中读取失败(%s)" + +-#: glib/gspawn.c:2399 ++#: ../glib/gspawn.c:2404 + #, c-format + msgid "Failed to spawn child process “%s” (%s)" + msgstr "生成子进程“%s”失败(%s)" + +-#: glib/gspawn.c:2525 ++#: ../glib/gspawn.c:2530 + #, c-format + msgid "Failed to fork (%s)" + msgstr "fork 失败(%s)" + +-#: glib/gspawn.c:2685 glib/gspawn-win32.c:503 ++#: ../glib/gspawn.c:2690 ../glib/gspawn-win32.c:503 + #, c-format + msgid "Failed to change to directory “%s” (%s)" + msgstr "切换到目录“%s”失败(%s)" + +-#: glib/gspawn.c:2695 ++#: ../glib/gspawn.c:2700 + #, c-format + msgid "Failed to execute child process “%s” (%s)" + msgstr "执行子进程“%s”失败(%s)" + +-#: glib/gspawn.c:2705 ++#: ../glib/gspawn.c:2710 + #, c-format + msgid "Failed to open file to remap file descriptor (%s)" + msgstr "打开文件以重新映射文件描述符失败(%s)" + +-#: glib/gspawn.c:2713 ++#: ../glib/gspawn.c:2718 + #, c-format + msgid "Failed to duplicate file descriptor for child process (%s)" + msgstr "为子进程复制文件描述符失败(%s)" + +-#: glib/gspawn.c:2722 ++#: ../glib/gspawn.c:2727 + #, c-format + msgid "Failed to fork child process (%s)" + msgstr "fork 子进程失败(%s)" + +-#: glib/gspawn.c:2730 ++#: ../glib/gspawn.c:2735 + #, c-format + msgid "Failed to close file descriptor for child process (%s)" + msgstr "为子进程关闭文件描述符失败(%s)" + +-#: glib/gspawn.c:2738 ++#: ../glib/gspawn.c:2743 + #, c-format + msgid "Unknown error executing child process “%s”" + msgstr "执行子进程“%s”时出现未知错误" + +-#: glib/gspawn.c:2762 ++#: ../glib/gspawn.c:2767 + #, c-format + msgid "Failed to read enough data from child pid pipe (%s)" + msgstr "从子进程管道中读取足够的数据失败(%s)" + +-#: glib/gspawn-private.h:134 ++#: ../glib/gspawn-private.h:134 + #, c-format + msgid "Invalid source FDs argument" + msgstr "无效的源文件描述符参数" + +-#: glib/gspawn-win32.c:416 ++#: ../glib/gspawn-win32.c:416 + msgid "Failed to read data from child process" + msgstr "从子进程中读取数据失败" + +-#: glib/gspawn-win32.c:509 glib/gspawn-win32.c:514 glib/gspawn-win32.c:640 ++#: ../glib/gspawn-win32.c:509 ../glib/gspawn-win32.c:514 ++#: ../glib/gspawn-win32.c:640 + #, c-format + msgid "Failed to execute child process (%s)" + msgstr "执行子进程失败(%s)" + +-#: glib/gspawn-win32.c:519 ++#: ../glib/gspawn-win32.c:519 + #, c-format + msgid "Failed to dup() in child process (%s)" + msgstr "在子进程中 dup() 失败(%s)" + +-#: glib/gspawn-win32.c:590 ++#: ../glib/gspawn-win32.c:590 + #, c-format + msgid "Invalid program name: %s" + msgstr "无效的程序名:%s" + +-#: glib/gspawn-win32.c:600 glib/gspawn-win32.c:940 ++#: ../glib/gspawn-win32.c:600 ../glib/gspawn-win32.c:940 + #, c-format + msgid "Invalid string in argument vector at %d: %s" + msgstr "%d 处的参数向量中有无效的字符串:%s" + +-#: glib/gspawn-win32.c:611 glib/gspawn-win32.c:956 ++#: ../glib/gspawn-win32.c:611 ../glib/gspawn-win32.c:956 + #, c-format + msgid "Invalid string in environment: %s" + msgstr "环境中有无效的字符串:%s" + +-#: glib/gspawn-win32.c:936 ++#: ../glib/gspawn-win32.c:936 + #, c-format + msgid "Invalid working directory: %s" + msgstr "无效的工作目录:%s" + +-#: glib/gspawn-win32.c:1001 ++#: ../glib/gspawn-win32.c:1001 + #, c-format + msgid "Failed to execute helper program (%s)" + msgstr "执行助手程序(%s)失败" + +-#: glib/gspawn-win32.c:1230 ++#: ../glib/gspawn-win32.c:1230 + msgid "" + "Unexpected error in g_io_channel_win32_poll() reading data from a child " + "process" + msgstr "g_io_channel_win32_poll() 从子进程中读取数据时出现异常错误" + +-#: glib/gstrfuncs.c:3373 glib/gstrfuncs.c:3475 ++#: ../glib/gstrfuncs.c:3373 ../glib/gstrfuncs.c:3475 + msgid "Empty string is not a number" + msgstr "空字符串不是数字" + +-#: glib/gstrfuncs.c:3397 ++#: ../glib/gstrfuncs.c:3397 + #, c-format + msgid "“%s” is not a signed number" + msgstr "“%s”不是有效的有符号数值" + +-#: glib/gstrfuncs.c:3407 glib/gstrfuncs.c:3511 ++#: ../glib/gstrfuncs.c:3407 ../glib/gstrfuncs.c:3511 + #, c-format + msgid "Number “%s” is out of bounds [%s, %s]" + msgstr "数字“%s”越界 [%s, %s]" + +-#: glib/gstrfuncs.c:3501 ++#: ../glib/gstrfuncs.c:3501 + #, c-format + msgid "“%s” is not an unsigned number" + msgstr "“%s”不是有效的无符号数值" + +-#: glib/guri.c:318 ++#: ../glib/guri.c:318 + #, no-c-format + msgid "Invalid %-encoding in URI" + msgstr "URI 中无效的 %-编码" + +-#: glib/guri.c:335 ++#: ../glib/guri.c:335 + msgid "Illegal character in URI" + msgstr "URI 中有非法字符" + +-#: glib/guri.c:369 ++#: ../glib/guri.c:369 + msgid "Non-UTF-8 characters in URI" + msgstr "URI 中存在非 UTF-8 字符" + +-#: glib/guri.c:549 ++#: ../glib/guri.c:549 + #, c-format + msgid "Invalid IPv6 address ‘%.*s’ in URI" + msgstr "URI 中无效的 IPv6 地址“%.*s”" + +-#: glib/guri.c:604 ++#: ../glib/guri.c:604 + #, c-format + msgid "Illegal encoded IP address ‘%.*s’ in URI" + msgstr "URI 中有编码方式非法的 IP 地址“%.*s”" + +-#: glib/guri.c:616 ++#: ../glib/guri.c:616 + #, c-format + msgid "Illegal internationalized hostname ‘%.*s’ in URI" + msgstr "URI 中有非法的国际化主机名“%.*s”" + +-#: glib/guri.c:648 glib/guri.c:660 ++#: ../glib/guri.c:648 ../glib/guri.c:660 + #, c-format + msgid "Could not parse port ‘%.*s’ in URI" + msgstr "无法解析 URI 中的端口“%.*s”" + +-#: glib/guri.c:667 ++#: ../glib/guri.c:667 + #, c-format + msgid "Port ‘%.*s’ in URI is out of range" + msgstr "URI 中的端口“%.*s”超出范围" + +-#: glib/guri.c:1230 glib/guri.c:1294 ++#: ../glib/guri.c:1230 ../glib/guri.c:1294 + #, c-format + msgid "URI ‘%s’ is not an absolute URI" + msgstr "URI“%s”不是绝对 URI" + +-#: glib/guri.c:1236 ++#: ../glib/guri.c:1236 + #, c-format + msgid "URI ‘%s’ has no host component" + msgstr "URI“%s”没有主机部分" + +-#: glib/guri.c:1466 ++#: ../glib/guri.c:1466 + msgid "URI is not absolute, and no base URI was provided" + msgstr "URI 不是绝对的,且未提供 base URI" + +-#: glib/guri.c:2252 ++#: ../glib/guri.c:2252 + msgid "Missing ‘=’ and parameter value" + msgstr "缺少“=”和参数值" + +-#: glib/gutf8.c:900 ++#: ../glib/gutf8.c:900 + msgid "Failed to allocate memory" + msgstr "分配内存失败" + +-#: glib/gutf8.c:1033 ++#: ../glib/gutf8.c:1033 + msgid "Character out of range for UTF-8" + msgstr "字符超出 UTF-8 范围" + +-#: glib/gutf8.c:1135 glib/gutf8.c:1144 glib/gutf8.c:1274 glib/gutf8.c:1283 +-#: glib/gutf8.c:1422 glib/gutf8.c:1519 ++#: ../glib/gutf8.c:1135 ../glib/gutf8.c:1144 ../glib/gutf8.c:1274 ++#: ../glib/gutf8.c:1283 ../glib/gutf8.c:1422 ../glib/gutf8.c:1519 + msgid "Invalid sequence in conversion input" + msgstr "转换输入中出现无效序列" + +-#: glib/gutf8.c:1433 glib/gutf8.c:1530 ++#: ../glib/gutf8.c:1433 ../glib/gutf8.c:1530 + msgid "Character out of range for UTF-16" + msgstr "字符超出 UTF-16 范围" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 kB" +-#: glib/gutils.c:2966 ++#: ../glib/gutils.c:2966 + msgid "kB" + msgstr "kB" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 MB" +-#: glib/gutils.c:2968 ++#: ../glib/gutils.c:2968 + msgid "MB" + msgstr "MB" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 GB" +-#: glib/gutils.c:2970 ++#: ../glib/gutils.c:2970 + msgid "GB" + msgstr "GB" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 TB" +-#: glib/gutils.c:2972 ++#: ../glib/gutils.c:2972 + msgid "TB" + msgstr "TB" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 PB" +-#: glib/gutils.c:2974 ++#: ../glib/gutils.c:2974 + msgid "PB" + msgstr "PB" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 EB" +-#: glib/gutils.c:2976 ++#: ../glib/gutils.c:2976 + msgid "EB" + msgstr "EB" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 KiB" +-#: glib/gutils.c:2980 ++#: ../glib/gutils.c:2980 + msgid "KiB" + msgstr "KiB" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 MiB" +-#: glib/gutils.c:2982 ++#: ../glib/gutils.c:2982 + msgid "MiB" + msgstr "MiB" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 GiB" +-#: glib/gutils.c:2984 ++#: ../glib/gutils.c:2984 + msgid "GiB" + msgstr "GiB" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 TiB" +-#: glib/gutils.c:2986 ++#: ../glib/gutils.c:2986 + msgid "TiB" + msgstr "TiB" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 PiB" +-#: glib/gutils.c:2988 ++#: ../glib/gutils.c:2988 + msgid "PiB" + msgstr "PiB" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 EiB" +-#: glib/gutils.c:2990 ++#: ../glib/gutils.c:2990 + msgid "EiB" + msgstr "EiB" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 kb" +-#: glib/gutils.c:2994 ++#: ../glib/gutils.c:2994 + msgid "kb" + msgstr "kb" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 Mb" +-#: glib/gutils.c:2996 ++#: ../glib/gutils.c:2996 + msgid "Mb" + msgstr "Mb" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 Gb" +-#: glib/gutils.c:2998 ++#: ../glib/gutils.c:2998 + msgid "Gb" + msgstr "Gb" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 Tb" +-#: glib/gutils.c:3000 ++#: ../glib/gutils.c:3000 + msgid "Tb" + msgstr "Tb" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 Pb" +-#: glib/gutils.c:3002 ++#: ../glib/gutils.c:3002 + msgid "Pb" + msgstr "Pb" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 Eb" +-#: glib/gutils.c:3004 ++#: ../glib/gutils.c:3004 + msgid "Eb" + msgstr "Eb" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 Kib" +-#: glib/gutils.c:3008 ++#: ../glib/gutils.c:3008 + msgid "Kib" +-msgstr "Kib" ++msgstr "Kb" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 Mib" +-#: glib/gutils.c:3010 ++#: ../glib/gutils.c:3010 + msgid "Mib" +-msgstr "Mib" ++msgstr "Mb" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 Gib" +-#: glib/gutils.c:3012 ++#: ../glib/gutils.c:3012 + msgid "Gib" +-msgstr "Gib" ++msgstr "Gb" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 Tib" +-#: glib/gutils.c:3014 ++#: ../glib/gutils.c:3014 + msgid "Tib" +-msgstr "Tib" ++msgstr "Tb" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 Pib" +-#: glib/gutils.c:3016 ++#: ../glib/gutils.c:3016 + msgid "Pib" +-msgstr "Pib" ++msgstr "Pb" + + #. Translators: A unit symbol for size formatting, showing for example: "13.0 Eib" +-#: glib/gutils.c:3018 ++#: ../glib/gutils.c:3018 + msgid "Eib" +-msgstr "Eib" ++msgstr "Eb" + +-#: glib/gutils.c:3056 ++#: ../glib/gutils.c:3056 + msgid "byte" + msgid_plural "bytes" + msgstr[0] "字节" + +-#: glib/gutils.c:3060 ++#: ../glib/gutils.c:3060 + msgid "bit" + msgid_plural "bits" + msgstr[0] "位" + + #. Translators: The "%u" is replaced with the size value, like "13"; it could + #. * be part of "13 bytes", but only the number is requested this time. +-#: glib/gutils.c:3068 ++#: ../glib/gutils.c:3068 + #, c-format + msgctxt "format-size" + msgid "%u" +@@ -6062,7 +6160,7 @@ msgstr "%u" + + #. Translators: The first "%u" is replaced with the value, the "%s" with a unit of the value. + #. * The order can be changed with "%$2s %$1u". An example: "13 bytes" +-#: glib/gutils.c:3073 ++#: ../glib/gutils.c:3073 + #, c-format + msgctxt "format-size" + msgid "%u %s" +@@ -6070,7 +6168,7 @@ msgstr "%u %s" + + #. Translators: The "%.1f" is replaced with the size value, like "13.0"; it could + #. * be part of "13.0 MB", but only the number is requested this time. +-#: glib/gutils.c:3109 ++#: ../glib/gutils.c:3109 + #, c-format + msgctxt "format-size" + msgid "%.1f" +@@ -6079,27 +6177,27 @@ msgstr "%.1f" + #. Translators: The first "%.1f" is replaced with the value, the "%s" with a unit of the value. + #. * The order can be changed with "%$2s %$1.1f". Keep the no-break space between the value and + #. * the unit symbol. An example: "13.0 MB" +-#: glib/gutils.c:3115 ++#: ../glib/gutils.c:3115 + #, c-format + msgctxt "format-size" + msgid "%.1f %s" + msgstr "%.1f %s" + + #. Translators: the %s in "%s bytes" will always be replaced by a number. +-#: glib/gutils.c:3155 ++#: ../glib/gutils.c:3155 + #, c-format + msgid "%s byte" + msgid_plural "%s bytes" + msgstr[0] "%s 字节" + + #. Translators: the %s in "%s bits" will always be replaced by a number. +-#: glib/gutils.c:3160 ++#: ../glib/gutils.c:3160 + #, c-format + msgid "%s bit" + msgid_plural "%s bits" + msgstr[0] "%s 位" + +-#: glib/gutils.c:3201 ++#: ../glib/gutils.c:3201 + #, c-format + msgid "%u byte" + msgid_plural "%u bytes" +@@ -6110,36 +6208,47 @@ msgstr[0] "%u 字节" + #. * compatibility. Users will not see this string unless a program is using this deprecated function. + #. * Please translate as literally as possible. + #. +-#: glib/gutils.c:3214 ++#: ../glib/gutils.c:3214 + #, c-format + msgid "%.1f KB" + msgstr "%.1f KB" + +-#: glib/gutils.c:3219 ++#: ../glib/gutils.c:3219 + #, c-format + msgid "%.1f MB" + msgstr "%.1f MB" + +-#: glib/gutils.c:3224 ++#: ../glib/gutils.c:3224 + #, c-format + msgid "%.1f GB" + msgstr "%.1f GB" + +-#: glib/gutils.c:3229 ++#: ../glib/gutils.c:3229 + #, c-format + msgid "%.1f TB" + msgstr "%.1f TB" + +-#: glib/gutils.c:3234 ++#: ../glib/gutils.c:3234 + #, c-format + msgid "%.1f PB" + msgstr "%.1f PB" + +-#: glib/gutils.c:3239 ++#: ../glib/gutils.c:3239 + #, c-format + msgid "%.1f EB" + msgstr "%.1f EB" + ++#, c-format ++#~ msgid "" ++#~ "Warning: Schema “%s” has path “%s”. Paths starting with “/apps/”, “/" ++#~ "desktop/” or “/system/” are deprecated." ++#~ msgstr "" ++#~ "警告:架构“%s”带有路径“%s”。以“/apps/”、“/desktop/”或“/system/”开头的路径" ++#~ "已弃用。" ++ ++#~ msgid "backtracking limit reached" ++#~ msgstr "达到回溯上限" ++ + #~ msgid "GApplication options" + #~ msgstr "GApplication 选项" + +diff --git a/po/zh_HK.po b/po/zh_HK.po +index e37b567..5795fd4 100644 +--- a/po/zh_HK.po ++++ b/po/zh_HK.po +@@ -9,9 +9,8 @@ + msgid "" + msgstr "" + "Project-Id-Version: glib 2.31.21\n" +-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" +-"product=glib&keywords=I18N+L10N&component=general\n" +-"POT-Creation-Date: 2014-08-20 17:54+0000\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2024-02-29 17:15+0800\n" + "PO-Revision-Date: 2014-08-21 17:05+0800\n" + "Last-Translator: Chao-Hsiung Liao \n" + "Language-Team: Chinese (Hong Kong) \n" +@@ -22,121 +21,154 @@ msgstr "" + "Plural-Forms: nplurals=1; plural=0;\n" + "X-Generator: Poedit 1.6.5\n" + +-#: ../gio/gapplication.c:514 +-msgid "Enter GApplication service mode (use from D-Bus service files)" +-msgstr "進入 GApplication 服務模式 (用於來自 D-Bus 服務檔案)" ++#: ../gio/gappinfo.c:339 ++#, fuzzy ++msgid "Setting default applications not supported yet" ++msgstr "不支援設定屬性 %s" ++ ++#: ../gio/gappinfo.c:372 ++#, fuzzy ++msgid "Setting application as last used for type not supported yet" ++msgstr "不支援設定屬性 %s" ++ ++#: ../gio/gappinfo.c:814 ++#, fuzzy, c-format ++msgid "Failed to find default application for content type ‘%s’" ++msgstr "無法找到預設的本地端目錄監視器類型" ++ ++#: ../gio/gappinfo.c:874 ++#, c-format ++msgid "Failed to find default application for URI Scheme ‘%s’" ++msgstr "" + +-#: ../gio/gapplication.c:519 +-msgid "GApplication options" +-msgstr "GApplication 選項" ++#: ../gio/gapplication.c:506 ++#, fuzzy ++msgid "GApplication Options:" ++msgstr "應用程式選項:" + +-#: ../gio/gapplication.c:519 ++#: ../gio/gapplication.c:506 + msgid "Show GApplication options" + msgstr "顯示 GApplication 選項" + +-#: ../gio/gapplication-tool.c:45 ../gio/gapplication-tool.c:46 +-#: ../gio/gresource-tool.c:481 ../gio/gsettings-tool.c:508 ++#: ../gio/gapplication.c:551 ++msgid "Enter GApplication service mode (use from D-Bus service files)" ++msgstr "進入 GApplication 服務模式 (用於來自 D-Bus 服務檔案)" ++ ++#: ../gio/gapplication.c:563 ++#, fuzzy ++msgid "Override the application’s ID" ++msgstr "列出應用程式" ++ ++#: ../gio/gapplication.c:575 ++msgid "Replace the running instance" ++msgstr "" ++ ++#: ../gio/gapplication-tool.c:47 ../gio/gapplication-tool.c:48 ++#: ../gio/gio-tool.c:229 ../gio/gresource-tool.c:496 ++#: ../gio/gsettings-tool.c:586 + msgid "Print help" + msgstr "顯示求助" + +-#: ../gio/gapplication-tool.c:47 ../gio/gresource-tool.c:482 +-#: ../gio/gresource-tool.c:550 ++#: ../gio/gapplication-tool.c:49 ../gio/gresource-tool.c:497 ++#: ../gio/gresource-tool.c:565 + msgid "[COMMAND]" + msgstr "[指令]" + +-#: ../gio/gapplication-tool.c:49 ++#: ../gio/gapplication-tool.c:51 ../gio/gio-tool.c:230 + msgid "Print version" + msgstr "顯示版本" + +-#: ../gio/gapplication-tool.c:50 ../gio/gsettings-tool.c:514 ++#: ../gio/gapplication-tool.c:52 ../gio/gsettings-tool.c:592 + msgid "Print version information and exit" + msgstr "輸出版本資訊並離開" + +-#: ../gio/gapplication-tool.c:52 ++#: ../gio/gapplication-tool.c:55 + msgid "List applications" + msgstr "列出應用程式" + +-#: ../gio/gapplication-tool.c:53 ++#: ../gio/gapplication-tool.c:56 + msgid "List the installed D-Bus activatable applications (by .desktop files)" + msgstr "列出已安裝可使用 D-Bus 的應用程式 (根據 .desktop 檔案)" + +-#: ../gio/gapplication-tool.c:55 ++#: ../gio/gapplication-tool.c:59 + msgid "Launch an application" + msgstr "執行應用程式" + +-#: ../gio/gapplication-tool.c:56 ++#: ../gio/gapplication-tool.c:60 + msgid "Launch the application (with optional files to open)" + msgstr "執行應用程式 (選擇性加上要開啟的檔案)" + +-#: ../gio/gapplication-tool.c:57 +-msgid "APPID [FILE...]" ++#: ../gio/gapplication-tool.c:61 ++#, fuzzy ++msgid "APPID [FILE…]" + msgstr "APPID [FILE...]" + +-#: ../gio/gapplication-tool.c:59 ++#: ../gio/gapplication-tool.c:63 + msgid "Activate an action" + msgstr "讓動作生效" + +-#: ../gio/gapplication-tool.c:60 ++#: ../gio/gapplication-tool.c:64 + msgid "Invoke an action on the application" + msgstr "呼叫應用程式的動作" + +-#: ../gio/gapplication-tool.c:61 ++#: ../gio/gapplication-tool.c:65 + msgid "APPID ACTION [PARAMETER]" + msgstr "APPID ACTION [PARAMETER]" + +-#: ../gio/gapplication-tool.c:63 ++#: ../gio/gapplication-tool.c:67 + msgid "List available actions" + msgstr "列出可用的動作" + +-#: ../gio/gapplication-tool.c:64 ++#: ../gio/gapplication-tool.c:68 + msgid "List static actions for an application (from .desktop file)" + msgstr "列出應用程式的靜態動作 (從 .desktop 檔案)" + +-#: ../gio/gapplication-tool.c:65 ../gio/gapplication-tool.c:71 ++#: ../gio/gapplication-tool.c:69 ../gio/gapplication-tool.c:75 + msgid "APPID" + msgstr "APPID" + +-#: ../gio/gapplication-tool.c:70 ../gio/gapplication-tool.c:133 +-#: ../gio/gdbus-tool.c:90 ++#: ../gio/gapplication-tool.c:74 ../gio/gapplication-tool.c:137 ++#: ../gio/gdbus-tool.c:108 ../gio/gio-tool.c:226 + msgid "COMMAND" + msgstr "指令" + +-#: ../gio/gapplication-tool.c:70 ++#: ../gio/gapplication-tool.c:74 + msgid "The command to print detailed help for" + msgstr "顯示詳細求助的指令" + +-#: ../gio/gapplication-tool.c:71 ++#: ../gio/gapplication-tool.c:75 + msgid "Application identifier in D-Bus format (eg: org.example.viewer)" + msgstr "D-Bus 格式的應用程式辨別碼(例如:org.example.viewer)" + +-#: ../gio/gapplication-tool.c:72 ../gio/glib-compile-resources.c:589 +-#: ../gio/glib-compile-resources.c:620 ../gio/gresource-tool.c:488 +-#: ../gio/gresource-tool.c:554 ++#: ../gio/gapplication-tool.c:76 ../gio/glib-compile-resources.c:822 ++#: ../gio/glib-compile-resources.c:828 ../gio/glib-compile-resources.c:858 ++#: ../gio/gresource-tool.c:503 ../gio/gresource-tool.c:569 + msgid "FILE" + msgstr "FILE" + +-#: ../gio/gapplication-tool.c:72 +-msgid "Optional relative or relative filenames, or URIs to open" ++#: ../gio/gapplication-tool.c:76 ++#, fuzzy ++msgid "Optional relative or absolute filenames, or URIs to open" + msgstr "選擇性相關或相關的檔案名稱,或要開啟的 URI" + +-#: ../gio/gapplication-tool.c:73 ++#: ../gio/gapplication-tool.c:77 + msgid "ACTION" + msgstr "動作" + +-#: ../gio/gapplication-tool.c:73 ++#: ../gio/gapplication-tool.c:77 + msgid "The action name to invoke" + msgstr "要呼叫的動作名稱" + +-#: ../gio/gapplication-tool.c:74 ++#: ../gio/gapplication-tool.c:78 + msgid "PARAMETER" + msgstr "參數" + +-#: ../gio/gapplication-tool.c:74 ++#: ../gio/gapplication-tool.c:78 + msgid "Optional parameter to the action invocation, in GVariant format" + msgstr "動作呼叫時選擇性的參數,以 GVariant 格式" + +-#: ../gio/gapplication-tool.c:96 ../gio/gresource-tool.c:519 +-#: ../gio/gsettings-tool.c:594 ++#: ../gio/gapplication-tool.c:100 ../gio/gresource-tool.c:534 ++#: ../gio/gsettings-tool.c:678 + #, c-format + msgid "" + "Unknown command %s\n" +@@ -145,35 +177,36 @@ msgstr "" + "不明指令 %s\n" + "\n" + +-#: ../gio/gapplication-tool.c:101 ++#: ../gio/gapplication-tool.c:105 + msgid "Usage:\n" + msgstr "用法:\n" + +-#: ../gio/gapplication-tool.c:114 ../gio/gresource-tool.c:544 +-#: ../gio/gsettings-tool.c:628 ++#: ../gio/gapplication-tool.c:118 ../gio/gresource-tool.c:559 ++#: ../gio/gsettings-tool.c:713 + msgid "Arguments:\n" + msgstr "引數:\n" + +-#: ../gio/gapplication-tool.c:133 +-msgid "[ARGS...]" ++#: ../gio/gapplication-tool.c:137 ../gio/gio-tool.c:226 ++#, fuzzy ++msgid "[ARGS…]" + msgstr "[ARGS...]" + +-#: ../gio/gapplication-tool.c:134 ++#: ../gio/gapplication-tool.c:138 + #, c-format + msgid "Commands:\n" + msgstr "指令:\n" + + #. Translators: do not translate 'help', but please translate 'COMMAND'. +-#: ../gio/gapplication-tool.c:146 +-#, c-format ++#: ../gio/gapplication-tool.c:150 ++#, fuzzy, c-format + msgid "" +-"Use '%s help COMMAND' to get detailed help.\n" ++"Use “%s help COMMAND” to get detailed help.\n" + "\n" + msgstr "" + "使用「'%s help COMMAND」以取得詳細的求助。\n" + "\n" + +-#: ../gio/gapplication-tool.c:165 ++#: ../gio/gapplication-tool.c:169 + #, c-format + msgid "" + "%s command requires an application id to directly follow\n" +@@ -182,66 +215,66 @@ msgstr "" + "%s 指令需要應用程式 id 直接跟隨\n" + "\n" + +-#: ../gio/gapplication-tool.c:171 +-#, c-format +-msgid "invalid application id: '%s'\n" ++#: ../gio/gapplication-tool.c:175 ++#, fuzzy, c-format ++msgid "invalid application id: “%s”\n" + msgstr "無效的應用程式 id:「%s」\n" + + #. Translators: %s is replaced with a command name like 'list-actions' +-#: ../gio/gapplication-tool.c:182 +-#, c-format ++#: ../gio/gapplication-tool.c:186 ++#, fuzzy, c-format + msgid "" +-"'%s' takes no arguments\n" ++"“%s” takes no arguments\n" + "\n" + msgstr "" + "「%s」不需要引數\n" + "\n" + +-#: ../gio/gapplication-tool.c:266 ++#: ../gio/gapplication-tool.c:270 + #, c-format + msgid "unable to connect to D-Bus: %s\n" + msgstr "無法連接到 D-Bus:%s\n" + +-#: ../gio/gapplication-tool.c:286 ++#: ../gio/gapplication-tool.c:290 + #, c-format + msgid "error sending %s message to application: %s\n" + msgstr "傳送 %s 訊息到應用程式時發生錯誤:%s\n" + +-#: ../gio/gapplication-tool.c:317 ++#: ../gio/gapplication-tool.c:324 + #, c-format + msgid "action name must be given after application id\n" + msgstr "動作名稱必須在應用程式 id 之後\n" + +-#: ../gio/gapplication-tool.c:325 +-#, c-format ++#: ../gio/gapplication-tool.c:332 ++#, fuzzy, c-format + msgid "" +-"invalid action name: '%s'\n" +-"action names must consist of only alphanumerics, '-' and '.'\n" ++"invalid action name: “%s”\n" ++"action names must consist of only alphanumerics, “-” and “.”\n" + msgstr "" + "無效的動作名稱:「%s」\n" + "動作名稱必須只由字母、「-」和「.」組成\n" + +-#: ../gio/gapplication-tool.c:344 ++#: ../gio/gapplication-tool.c:351 + #, c-format + msgid "error parsing action parameter: %s\n" + msgstr "解析動作參數時發生錯誤:%s\n" + +-#: ../gio/gapplication-tool.c:356 ++#: ../gio/gapplication-tool.c:363 + #, c-format + msgid "actions accept a maximum of one parameter\n" + msgstr "動作最大只能接受一個參數\n" + +-#: ../gio/gapplication-tool.c:411 ++#: ../gio/gapplication-tool.c:418 + #, c-format + msgid "list-actions command takes only the application id" + msgstr "list-actions 指令只接受應用程式 id" + +-#: ../gio/gapplication-tool.c:421 ++#: ../gio/gapplication-tool.c:428 + #, c-format + msgid "unable to find desktop file for application %s\n" + msgstr "無法找到應用程式的桌面檔案 %s\n" + +-#: ../gio/gapplication-tool.c:466 ++#: ../gio/gapplication-tool.c:473 + #, c-format + msgid "" + "unrecognised command: %s\n" +@@ -250,498 +283,553 @@ msgstr "" + "無法辨識的指令:%s\n" + "\n" + +-#: ../gio/gbufferedinputstream.c:420 ../gio/gbufferedinputstream.c:498 +-#: ../gio/ginputstream.c:176 ../gio/ginputstream.c:370 +-#: ../gio/ginputstream.c:608 ../gio/ginputstream.c:828 +-#: ../gio/goutputstream.c:200 ../gio/goutputstream.c:823 +-#: ../gio/gpollableinputstream.c:205 ../gio/gpollableoutputstream.c:206 ++#: ../gio/gbufferedinputstream.c:422 ../gio/gbufferedinputstream.c:500 ++#: ../gio/ginputstream.c:181 ../gio/ginputstream.c:381 ++#: ../gio/ginputstream.c:651 ../gio/ginputstream.c:1056 ++#: ../gio/goutputstream.c:225 ../gio/goutputstream.c:1052 ++#: ../gio/gpollableinputstream.c:221 ../gio/gpollableoutputstream.c:293 + #, c-format + msgid "Too large count value passed to %s" + msgstr "傳給 %s 的計數值太大" + +-#: ../gio/gbufferedinputstream.c:891 ../gio/gbufferedoutputstream.c:575 +-#: ../gio/gdataoutputstream.c:562 ++#: ../gio/gbufferedinputstream.c:893 ../gio/gbufferedoutputstream.c:577 ++#: ../gio/gdataoutputstream.c:564 + msgid "Seek not supported on base stream" + msgstr "不支援在基礎串流中搜尋" + +-#: ../gio/gbufferedinputstream.c:937 ++#: ../gio/gbufferedinputstream.c:940 + msgid "Cannot truncate GBufferedInputStream" + msgstr "不能截短 GBufferedInputStream" + +-#: ../gio/gbufferedinputstream.c:982 ../gio/ginputstream.c:1017 +-#: ../gio/giostream.c:277 ../gio/goutputstream.c:1464 ++#: ../gio/gbufferedinputstream.c:985 ../gio/ginputstream.c:1246 ++#: ../gio/giostream.c:302 ../gio/goutputstream.c:2208 + msgid "Stream is already closed" + msgstr "串流已經關閉" + +-#: ../gio/gbufferedoutputstream.c:612 ../gio/gdataoutputstream.c:592 ++#: ../gio/gbufferedoutputstream.c:614 ../gio/gdataoutputstream.c:594 + msgid "Truncate not supported on base stream" + msgstr "在基礎串流中不支援截短(truncate)" + +-#: ../gio/gcancellable.c:310 ../gio/gdbusconnection.c:1896 +-#: ../gio/gdbusconnection.c:1989 ../gio/gdbusprivate.c:1417 +-#: ../gio/glocalfile.c:2181 ../gio/gsimpleasyncresult.c:830 +-#: ../gio/gsimpleasyncresult.c:856 ++#: ../gio/gcancellable.c:326 ../gio/gdbusconnection.c:1867 ++#: ../gio/gdbusprivate.c:1434 ../gio/gsimpleasyncresult.c:873 ++#: ../gio/gsimpleasyncresult.c:899 + #, c-format + msgid "Operation was cancelled" + msgstr "操作已被取消" + +-#: ../gio/gcharsetconverter.c:260 ++#: ../gio/gcharsetconverter.c:262 + msgid "Invalid object, not initialized" + msgstr "無效的物件,尚未初始化" + +-#: ../gio/gcharsetconverter.c:281 ../gio/gcharsetconverter.c:309 ++#: ../gio/gcharsetconverter.c:283 ../gio/gcharsetconverter.c:311 + msgid "Incomplete multibyte sequence in input" + msgstr "在輸入中出現不完整的多位元組次序" + +-#: ../gio/gcharsetconverter.c:315 ../gio/gcharsetconverter.c:324 ++#: ../gio/gcharsetconverter.c:317 ../gio/gcharsetconverter.c:326 + msgid "Not enough space in destination" + msgstr "在目的端中沒有足夠的空間" + +-#: ../gio/gcharsetconverter.c:342 ../gio/gdatainputstream.c:848 +-#: ../gio/gdatainputstream.c:1256 ../glib/gconvert.c:438 +-#: ../glib/gconvert.c:845 ../glib/giochannel.c:1557 ../glib/giochannel.c:1599 +-#: ../glib/giochannel.c:2443 ../glib/gutf8.c:837 ../glib/gutf8.c:1289 ++#: ../gio/gcharsetconverter.c:344 ../gio/gdatainputstream.c:850 ++#: ../gio/gdatainputstream.c:1268 ../glib/gconvert.c:450 ../glib/gconvert.c:882 ++#: ../glib/giochannel.c:1576 ../glib/giochannel.c:1618 ++#: ../glib/giochannel.c:2478 ../glib/gutf8.c:958 ../glib/gutf8.c:1412 + msgid "Invalid byte sequence in conversion input" + msgstr "轉換輸入資料時遇到不正確的位元組組合" + +-#: ../gio/gcharsetconverter.c:347 ../glib/gconvert.c:446 +-#: ../glib/gconvert.c:770 ../glib/giochannel.c:1564 ../glib/giochannel.c:2455 ++#: ../gio/gcharsetconverter.c:349 ../glib/gconvert.c:458 ../glib/gconvert.c:796 ++#: ../glib/giochannel.c:1583 ../glib/giochannel.c:2493 + #, c-format + msgid "Error during conversion: %s" + msgstr "轉換時發生錯誤:%s" + +-#: ../gio/gcharsetconverter.c:444 ../gio/gsocket.c:985 ++#: ../gio/gcharsetconverter.c:447 ../gio/gsocket.c:1164 + msgid "Cancellable initialization not supported" + msgstr "不支援可取消的初始化" + +-#: ../gio/gcharsetconverter.c:454 ../glib/gconvert.c:321 +-#: ../glib/giochannel.c:1385 +-#, c-format +-msgid "Conversion from character set '%s' to '%s' is not supported" ++#: ../gio/gcharsetconverter.c:458 ../glib/gconvert.c:323 ++#: ../glib/giochannel.c:1404 ++#, fuzzy, c-format ++msgid "Conversion from character set “%s” to “%s” is not supported" + msgstr "不支援將字符集‘%s’轉換成‘%s’" + +-#: ../gio/gcharsetconverter.c:458 ../glib/gconvert.c:325 +-#, c-format +-msgid "Could not open converter from '%s' to '%s'" ++#: ../gio/gcharsetconverter.c:462 ../glib/gconvert.c:327 ++#, fuzzy, c-format ++msgid "Could not open converter from “%s” to “%s”" + msgstr "無法將‘%s’轉換至‘%s’" + +-#: ../gio/gcontenttype.c:335 ++#: ../gio/gcontenttype.c:472 + #, c-format + msgid "%s type" + msgstr "%s 類型" + +-#: ../gio/gcontenttype-win32.c:160 ++#: ../gio/gcontenttype-win32.c:198 + msgid "Unknown type" + msgstr "不明的類型" + +-#: ../gio/gcontenttype-win32.c:161 ++#: ../gio/gcontenttype-win32.c:200 + #, c-format + msgid "%s filetype" + msgstr "%s 檔案類型" + +-#: ../gio/gcredentials.c:312 ../gio/gcredentials.c:571 ++#: ../gio/gcredentials.c:337 ++msgid "GCredentials contains invalid data" ++msgstr "" ++ ++#: ../gio/gcredentials.c:397 ../gio/gcredentials.c:688 + msgid "GCredentials is not implemented on this OS" + msgstr "GCredentials 沒有在這個 OS 上實作" + +-#: ../gio/gcredentials.c:467 ++#: ../gio/gcredentials.c:552 ../gio/gcredentials.c:570 + msgid "There is no GCredentials support for your platform" + msgstr "你的平臺沒有 GCredentials 支援" + +-#: ../gio/gcredentials.c:513 ++#: ../gio/gcredentials.c:628 + msgid "GCredentials does not contain a process ID on this OS" + msgstr "GCredentials 沒有包含在這個 OS 上的程序 ID" + +-#: ../gio/gcredentials.c:565 ++#: ../gio/gcredentials.c:682 + msgid "Credentials spoofing is not possible on this OS" + msgstr "在這個 OS 無法做到證書偽裝" + +-#: ../gio/gdatainputstream.c:304 ++#: ../gio/gdatainputstream.c:306 + msgid "Unexpected early end-of-stream" + msgstr "未預期的串流過早結束" + +-#: ../gio/gdbusaddress.c:148 ../gio/gdbusaddress.c:236 +-#: ../gio/gdbusaddress.c:317 +-#, c-format +-msgid "Unsupported key '%s' in address entry '%s'" ++#: ../gio/gdbusaddress.c:168 ../gio/gdbusaddress.c:240 ++#: ../gio/gdbusaddress.c:327 ++#, fuzzy, c-format ++msgid "Unsupported key “%s” in address entry “%s”" + msgstr "位址項目「%2$s」有不支援的設定鍵「%1$s」" + +-#: ../gio/gdbusaddress.c:175 +-#, c-format ++#: ../gio/gdbusaddress.c:181 ++#, fuzzy, c-format ++msgid "Meaningless key/value pair combination in address entry “%s”" ++msgstr "在位址項「%s」有無意義的設定鍵/數值組合配對" ++ ++#: ../gio/gdbusaddress.c:190 ++#, fuzzy, c-format + msgid "" +-"Address '%s' is invalid (need exactly one of path, tmpdir or abstract keys)" ++"Address “%s” is invalid (need exactly one of path, dir, tmpdir, or abstract " ++"keys)" + msgstr "位址「%s」是無效的(需要有明確的 path、tmpdir 或 abstract 設定鍵之一)" + +-#: ../gio/gdbusaddress.c:188 +-#, c-format +-msgid "Meaningless key/value pair combination in address entry '%s'" +-msgstr "在位址項「%s」有無意義的設定鍵/數值組合配對" +- +-#: ../gio/gdbusaddress.c:251 ../gio/gdbusaddress.c:332 +-#, c-format +-msgid "Error in address '%s' - the port attribute is malformed" ++#: ../gio/gdbusaddress.c:255 ../gio/gdbusaddress.c:266 ++#: ../gio/gdbusaddress.c:281 ../gio/gdbusaddress.c:342 ++#: ../gio/gdbusaddress.c:353 ++#, fuzzy, c-format ++msgid "Error in address “%s” — the “%s” attribute is malformed" + msgstr "位址「%s」有錯誤 - port 屬性的格式不良" + +-#: ../gio/gdbusaddress.c:262 ../gio/gdbusaddress.c:343 +-#, c-format +-msgid "Error in address '%s' - the family attribute is malformed" +-msgstr "位址「%s」有錯誤 - family 屬性的格式不良" ++#: ../gio/gdbusaddress.c:423 ../gio/gdbusaddress.c:682 ++#, fuzzy, c-format ++msgid "Unknown or unsupported transport “%s” for address “%s”" ++msgstr "位址「%2$s」有不明或不支援的傳輸「%1$s」" + +-#: ../gio/gdbusaddress.c:452 +-#, c-format +-msgid "Address element '%s' does not contain a colon (:)" ++#: ../gio/gdbusaddress.c:467 ++#, fuzzy, c-format ++msgid "Address element “%s” does not contain a colon (:)" + msgstr "位址元素「%s」,並未包含分號 (:)" + +-#: ../gio/gdbusaddress.c:473 ++#: ../gio/gdbusaddress.c:476 + #, c-format ++msgid "Transport name in address element “%s” must not be empty" ++msgstr "" ++ ++#: ../gio/gdbusaddress.c:497 ++#, fuzzy, c-format + msgid "" +-"Key/Value pair %d, '%s', in address element '%s' does not contain an equal " ++"Key/Value pair %d, “%s”, in address element “%s” does not contain an equal " + "sign" + msgstr "設定鍵/數值配對 %d,「%s」,於位址元素「%s」,並未包含等於符號" + +-#: ../gio/gdbusaddress.c:487 +-#, c-format ++#: ../gio/gdbusaddress.c:508 ++#, fuzzy, c-format ++msgid "" ++"Key/Value pair %d, “%s”, in address element “%s” must not have an empty key" ++msgstr "設定鍵/數值配對 %d,「%s」,於位址元素「%s」,並未包含等於符號" ++ ++#: ../gio/gdbusaddress.c:522 ++#, fuzzy, c-format + msgid "" +-"Error unescaping key or value in Key/Value pair %d, '%s', in address element " +-"'%s'" ++"Error unescaping key or value in Key/Value pair %d, “%s”, in address element " ++"“%s”" + msgstr "在設定鍵/數值配對 %d,「%s」,位址元素「%s」中有錯誤的反轉義設定鍵" + +-#: ../gio/gdbusaddress.c:565 +-#, c-format ++#: ../gio/gdbusaddress.c:590 ++#, fuzzy, c-format + msgid "" +-"Error in address '%s' - the unix transport requires exactly one of the keys " +-"'path' or 'abstract' to be set" +-msgstr "位址「%s」有錯誤 - unix 傳輸需要明確的設定一個「path」或「abstract」設定鍵" ++"Error in address “%s” — the unix transport requires exactly one of the keys " ++"“path” or “abstract” to be set" ++msgstr "" ++"位址「%s」有錯誤 - unix 傳輸需要明確的設定一個「path」或「abstract」設定鍵" + +-#: ../gio/gdbusaddress.c:601 +-#, c-format +-msgid "Error in address '%s' - the host attribute is missing or malformed" ++#: ../gio/gdbusaddress.c:625 ++#, fuzzy, c-format ++msgid "Error in address “%s” — the host attribute is missing or malformed" + msgstr "位址「%s」有錯誤 - host 屬性遺失或格式不良" + +-#: ../gio/gdbusaddress.c:615 +-#, c-format +-msgid "Error in address '%s' - the port attribute is missing or malformed" ++#: ../gio/gdbusaddress.c:639 ++#, fuzzy, c-format ++msgid "Error in address “%s” — the port attribute is missing or malformed" + msgstr "位址「%s」有錯誤 - port 屬性遺失或格式不良" + +-#: ../gio/gdbusaddress.c:629 +-#, c-format +-msgid "Error in address '%s' - the noncefile attribute is missing or malformed" ++#: ../gio/gdbusaddress.c:653 ++#, fuzzy, c-format ++msgid "Error in address “%s” — the noncefile attribute is missing or malformed" + msgstr "位址「%s」有錯誤 - noncefile 屬性遺失或格式不良" + +-#: ../gio/gdbusaddress.c:650 ++#: ../gio/gdbusaddress.c:674 + msgid "Error auto-launching: " + msgstr "自動執行失敗:" + +-#: ../gio/gdbusaddress.c:658 +-#, c-format +-msgid "Unknown or unsupported transport '%s' for address '%s'" +-msgstr "位址「%2$s」有不明或不支援的傳輸「%1$s」" +- +-#: ../gio/gdbusaddress.c:694 +-#, c-format +-msgid "Error opening nonce file '%s': %s" ++#: ../gio/gdbusaddress.c:727 ++#, fuzzy, c-format ++msgid "Error opening nonce file “%s”: %s" + msgstr "開啟臨時檔案「%s」時發生錯誤:%s" + +-#: ../gio/gdbusaddress.c:712 +-#, c-format +-msgid "Error reading from nonce file '%s': %s" ++#: ../gio/gdbusaddress.c:746 ++#, fuzzy, c-format ++msgid "Error reading from nonce file “%s”: %s" + msgstr "讀取臨時檔案「%s」時發生錯誤:%s" + +-#: ../gio/gdbusaddress.c:721 +-#, c-format +-msgid "Error reading from nonce file '%s', expected 16 bytes, got %d" ++#: ../gio/gdbusaddress.c:755 ++#, fuzzy, c-format ++msgid "Error reading from nonce file “%s”, expected 16 bytes, got %d" + msgstr "讀取臨時檔案「%s」時發生錯誤,預期為 16 位元組,卻得到 %d" + +-#: ../gio/gdbusaddress.c:739 +-#, c-format +-msgid "Error writing contents of nonce file '%s' to stream:" ++#: ../gio/gdbusaddress.c:773 ++#, fuzzy, c-format ++msgid "Error writing contents of nonce file “%s” to stream:" + msgstr "寫入臨時檔案「%s」的內容到串流時發生錯誤:" + +-#: ../gio/gdbusaddress.c:958 ++#: ../gio/gdbusaddress.c:988 + msgid "The given address is empty" + msgstr "指定的位址是空白的" + +-#: ../gio/gdbusaddress.c:1028 +-#, c-format +-msgid "Cannot spawn a message bus when setuid" ++#: ../gio/gdbusaddress.c:1101 ++#, fuzzy, c-format ++msgid "Cannot spawn a message bus when AT_SECURE is set" + msgstr "在 setuid 時不能產生訊息匯流排" + +-#: ../gio/gdbusaddress.c:1035 ++#: ../gio/gdbusaddress.c:1108 + msgid "Cannot spawn a message bus without a machine-id: " + msgstr "沒有 machine-id 不能產生訊息匯流排:" + +-#: ../gio/gdbusaddress.c:1077 +-#, c-format +-msgid "Error spawning command line '%s': " +-msgstr "產生命令列「%s」時出現錯誤:" +- +-#: ../gio/gdbusaddress.c:1294 ++#: ../gio/gdbusaddress.c:1115 + #, c-format +-msgid "(Type any character to close this window)\n" +-msgstr "(輸入任何字符以關閉這個視窗)\n" ++msgid "Cannot autolaunch D-Bus without X11 $DISPLAY" ++msgstr "" + +-#: ../gio/gdbusaddress.c:1425 +-#, c-format +-msgid "Session dbus not running, and autolaunch failed" +-msgstr "作業階段 dbus 尚未執行,且自動執行失敗" ++#: ../gio/gdbusaddress.c:1157 ++#, fuzzy, c-format ++msgid "Error spawning command line “%s”: " ++msgstr "產生命令列「%s」時出現錯誤:" + +-#: ../gio/gdbusaddress.c:1446 ++#: ../gio/gdbusaddress.c:1226 + #, c-format + msgid "Cannot determine session bus address (not implemented for this OS)" + msgstr "不能判斷作業階段匯流排位址(沒有在這個 OS 實作)" + +-#: ../gio/gdbusaddress.c:1546 ../gio/gdbusconnection.c:6931 +-#, c-format ++#: ../gio/gdbusaddress.c:1380 ../gio/gdbusconnection.c:7339 ++#, fuzzy, c-format + msgid "" + "Cannot determine bus address from DBUS_STARTER_BUS_TYPE environment variable " +-"- unknown value '%s'" ++"— unknown value “%s”" + msgstr "不能從 DBUS_STARTER_BUS_TYPE 環境變數判斷匯流排位址 - 不明的數值「%s」" + +-#: ../gio/gdbusaddress.c:1555 ../gio/gdbusconnection.c:6940 ++#: ../gio/gdbusaddress.c:1389 ../gio/gdbusconnection.c:7348 + msgid "" + "Cannot determine bus address because the DBUS_STARTER_BUS_TYPE environment " + "variable is not set" + msgstr "不能判斷匯流排位址,因為尚未設定 DBUS_STARTER_BUS_TYPE 環境變數" + +-#: ../gio/gdbusaddress.c:1565 ++#: ../gio/gdbusaddress.c:1399 + #, c-format + msgid "Unknown bus type %d" + msgstr "不明的匯流排類型 %d" + +-#: ../gio/gdbusauth.c:293 ++#: ../gio/gdbusauth.c:294 + msgid "Unexpected lack of content trying to read a line" + msgstr "未預期的內容缺乏嘗試讀取行" + +-#: ../gio/gdbusauth.c:337 ++#: ../gio/gdbusauth.c:338 + msgid "Unexpected lack of content trying to (safely) read a line" + msgstr "未預期的內容缺乏嘗試(安全的)讀取行" + +-#: ../gio/gdbusauth.c:508 ++#: ../gio/gdbusauth.c:482 + #, c-format + msgid "" + "Exhausted all available authentication mechanisms (tried: %s) (available: %s)" + msgstr "竭盡所有可用的核對機制 (已嘗試:%s) (可用:%s)" + +-#: ../gio/gdbusauth.c:1170 ++#: ../gio/gdbusauth.c:1045 ++#, fuzzy ++msgid "Unexpected lack of content trying to read a byte" ++msgstr "未預期的內容缺乏嘗試讀取行" ++ ++#: ../gio/gdbusauth.c:1195 ++msgid "User IDs must be the same for peer and server" ++msgstr "" ++ ++#: ../gio/gdbusauth.c:1207 + msgid "Cancelled via GDBusAuthObserver::authorize-authenticated-peer" + msgstr "已透過 GDBusAuthObserver::authorize-authenticated-peer 取消" + +-#: ../gio/gdbusauthmechanismsha1.c:261 +-#, c-format +-msgid "Error when getting information for directory '%s': %s" ++#: ../gio/gdbusauthmechanismsha1.c:307 ++#, fuzzy, c-format ++msgid "Error when getting information for directory “%s”: %s" + msgstr "從目錄「%s」取得資訊時發生錯誤:%s" + +-#: ../gio/gdbusauthmechanismsha1.c:273 +-#, c-format ++#: ../gio/gdbusauthmechanismsha1.c:322 ++#, fuzzy, c-format + msgid "" +-"Permissions on directory '%s' are malformed. Expected mode 0700, got 0%o" ++"Permissions on directory “%s” are malformed. Expected mode 0700, got 0%o" + msgstr "目錄「%s」的權限格式下良。預期的模式為 0700,卻得到 0%o" + +-#: ../gio/gdbusauthmechanismsha1.c:294 +-#, c-format +-msgid "Error creating directory '%s': %s" ++#: ../gio/gdbusauthmechanismsha1.c:355 ../gio/gdbusauthmechanismsha1.c:366 ++#, fuzzy, c-format ++msgid "Error creating directory “%s”: %s" + msgstr "建立目錄「%s」時發生錯誤:%s" + +-#: ../gio/gdbusauthmechanismsha1.c:377 +-#, c-format +-msgid "Error opening keyring '%s' for reading: " ++#: ../gio/gdbusauthmechanismsha1.c:368 ../gio/gfile.c:1128 ../gio/gfile.c:1366 ++#: ../gio/gfile.c:1504 ../gio/gfile.c:1742 ../gio/gfile.c:1797 ++#: ../gio/gfile.c:1855 ../gio/gfile.c:1939 ../gio/gfile.c:1996 ++#: ../gio/gfile.c:2060 ../gio/gfile.c:2115 ../gio/gfile.c:4019 ++#: ../gio/gfile.c:4158 ../gio/gfile.c:4570 ../gio/gfile.c:5040 ++#: ../gio/gfile.c:5452 ../gio/gfile.c:5537 ../gio/gfile.c:5627 ++#: ../gio/gfile.c:5724 ../gio/gfile.c:5811 ../gio/gfile.c:5912 ++#: ../gio/gfile.c:9070 ../gio/gfile.c:9160 ../gio/gfile.c:9244 ++#: ../gio/win32/gwinhttpfile.c:453 ++msgid "Operation not supported" ++msgstr "不支援的操作" ++ ++#: ../gio/gdbusauthmechanismsha1.c:411 ++#, fuzzy, c-format ++msgid "Error opening keyring “%s” for reading: " + msgstr "開啟密碼匙圈「%s」讀取時發生錯誤:" + +-#: ../gio/gdbusauthmechanismsha1.c:401 ../gio/gdbusauthmechanismsha1.c:714 +-#, c-format +-msgid "Line %d of the keyring at '%s' with content '%s' is malformed" ++#: ../gio/gdbusauthmechanismsha1.c:434 ../gio/gdbusauthmechanismsha1.c:775 ++#, fuzzy, c-format ++msgid "Line %d of the keyring at “%s” with content “%s” is malformed" + msgstr "位於「%2$s」內容「%3$s」的密碼匙圈第 %1$d 列格式不良" + +-#: ../gio/gdbusauthmechanismsha1.c:415 ../gio/gdbusauthmechanismsha1.c:728 +-#, c-format ++#: ../gio/gdbusauthmechanismsha1.c:448 ../gio/gdbusauthmechanismsha1.c:789 ++#, fuzzy, c-format + msgid "" +-"First token of line %d of the keyring at '%s' with content '%s' is malformed" ++"First token of line %d of the keyring at “%s” with content “%s” is malformed" + msgstr "位於「%2$s」內容「%3$s」的密碼匙圈第 %1$d 列第一記號格式不良" + +-#: ../gio/gdbusauthmechanismsha1.c:430 ../gio/gdbusauthmechanismsha1.c:742 +-#, c-format ++#: ../gio/gdbusauthmechanismsha1.c:462 ../gio/gdbusauthmechanismsha1.c:803 ++#, fuzzy, c-format + msgid "" +-"Second token of line %d of the keyring at '%s' with content '%s' is malformed" ++"Second token of line %d of the keyring at “%s” with content “%s” is malformed" + msgstr "位於「%2$s」內容「%3$s」的密碼匙圈第 %1$d 列第二記號格式不良" + +-#: ../gio/gdbusauthmechanismsha1.c:454 +-#, c-format +-msgid "Didn't find cookie with id %d in the keyring at '%s'" ++#: ../gio/gdbusauthmechanismsha1.c:486 ++#, fuzzy, c-format ++msgid "Didn’t find cookie with id %d in the keyring at “%s”" + msgstr "在「%2$s」密碼匙圈找不到 id %1$d 的 cookie" + +-#: ../gio/gdbusauthmechanismsha1.c:532 +-#, c-format +-msgid "Error deleting stale lock file '%s': %s" +-msgstr "刪除舊的鎖定檔案「%s」時發生錯誤:%s" +- +-#: ../gio/gdbusauthmechanismsha1.c:564 +-#, c-format +-msgid "Error creating lock file '%s': %s" ++#: ../gio/gdbusauthmechanismsha1.c:543 ++#, fuzzy, c-format ++msgid "Error creating lock file “%s”: %s" + msgstr "建立鎖定檔案「%s」時發生錯誤:%s" + +-#: ../gio/gdbusauthmechanismsha1.c:594 +-#, c-format +-msgid "Error closing (unlinked) lock file '%s': %s" ++#: ../gio/gdbusauthmechanismsha1.c:616 ++#, fuzzy, c-format ++msgid "Error deleting stale lock file “%s”: %s" ++msgstr "刪除舊的鎖定檔案「%s」時發生錯誤:%s" ++ ++#: ../gio/gdbusauthmechanismsha1.c:655 ++#, fuzzy, c-format ++msgid "Error closing (unlinked) lock file “%s”: %s" + msgstr "關閉(取消連結)鎖定檔案時發生錯誤「%s」:%s" + +-#: ../gio/gdbusauthmechanismsha1.c:604 +-#, c-format +-msgid "Error unlinking lock file '%s': %s" ++#: ../gio/gdbusauthmechanismsha1.c:666 ++#, fuzzy, c-format ++msgid "Error unlinking lock file “%s”: %s" + msgstr "取消連結鎖定檔案時發生錯誤「%s」:%s" + +-#: ../gio/gdbusauthmechanismsha1.c:681 +-#, c-format +-msgid "Error opening keyring '%s' for writing: " ++#: ../gio/gdbusauthmechanismsha1.c:742 ++#, fuzzy, c-format ++msgid "Error opening keyring “%s” for writing: " + msgstr "開啟密碼匙圈「%s」寫入時發生錯誤:" + +-#: ../gio/gdbusauthmechanismsha1.c:878 +-#, c-format +-msgid "(Additionally, releasing the lock for '%s' also failed: %s) " ++#: ../gio/gdbusauthmechanismsha1.c:936 ++#, fuzzy, c-format ++msgid "(Additionally, releasing the lock for “%s” also failed: %s) " + msgstr "(另外,釋放「%s」的鎖定失敗:%s)" + +-#: ../gio/gdbusconnection.c:612 ../gio/gdbusconnection.c:2455 ++#: ../gio/gdbusconnection.c:590 ../gio/gdbusconnection.c:2415 + msgid "The connection is closed" + msgstr "這個連線已關閉" + +-#: ../gio/gdbusconnection.c:1942 ++#: ../gio/gdbusconnection.c:1899 + msgid "Timeout was reached" + msgstr "已達逾時時間" + +-#: ../gio/gdbusconnection.c:2577 ++#: ../gio/gdbusconnection.c:2538 + msgid "" + "Unsupported flags encountered when constructing a client-side connection" + msgstr "當建立客戶端連線時遇到不支援的旗標" + +-#: ../gio/gdbusconnection.c:4157 ../gio/gdbusconnection.c:4504 +-#, c-format ++#: ../gio/gdbusconnection.c:4277 ../gio/gdbusconnection.c:4631 ++#, fuzzy, c-format + msgid "" +-"No such interface 'org.freedesktop.DBus.Properties' on object at path %s" ++"No such interface “org.freedesktop.DBus.Properties” on object at path %s" + msgstr "在路徑 %s 的物件沒有「org.freedesktop.DBus.Properties」這個介面" + +-#: ../gio/gdbusconnection.c:4299 +-#, c-format +-msgid "No such property '%s'" ++#: ../gio/gdbusconnection.c:4422 ++#, fuzzy, c-format ++msgid "No such property “%s”" + msgstr "沒有這個屬性「%s」" + +-#: ../gio/gdbusconnection.c:4311 +-#, c-format +-msgid "Property '%s' is not readable" ++#: ../gio/gdbusconnection.c:4434 ++#, fuzzy, c-format ++msgid "Property “%s” is not readable" + msgstr "屬性「%s」無法讀取" + +-#: ../gio/gdbusconnection.c:4322 +-#, c-format +-msgid "Property '%s' is not writable" ++#: ../gio/gdbusconnection.c:4445 ++#, fuzzy, c-format ++msgid "Property “%s” is not writable" + msgstr "屬性「%s」無法寫入" + +-#: ../gio/gdbusconnection.c:4342 +-#, c-format +-msgid "Error setting property '%s': Expected type '%s' but got '%s'" ++#: ../gio/gdbusconnection.c:4465 ++#, fuzzy, c-format ++msgid "Error setting property “%s”: Expected type “%s” but got “%s”" + msgstr "設定屬性「%s」錯誤:預期的類型為「%s」但得到「%s」" + +-#: ../gio/gdbusconnection.c:4447 ../gio/gdbusconnection.c:6371 +-#, c-format +-msgid "No such interface '%s'" ++#: ../gio/gdbusconnection.c:4570 ../gio/gdbusconnection.c:4785 ++#: ../gio/gdbusconnection.c:6762 ++#, fuzzy, c-format ++msgid "No such interface “%s”" + msgstr "沒有這個介面「%s」" + +-#: ../gio/gdbusconnection.c:4655 +-msgid "No such interface" +-msgstr "沒有這個介面" +- +-#: ../gio/gdbusconnection.c:4873 ../gio/gdbusconnection.c:6880 +-#, c-format +-msgid "No such interface '%s' on object at path %s" ++#: ../gio/gdbusconnection.c:5001 ../gio/gdbusconnection.c:7279 ++#, fuzzy, c-format ++msgid "No such interface “%s” on object at path %s" + msgstr "在路徑 %2$s 的物件沒有「%1$s」這個介面" + +-#: ../gio/gdbusconnection.c:4971 +-#, c-format +-msgid "No such method '%s'" ++#: ../gio/gdbusconnection.c:5102 ++#, fuzzy, c-format ++msgid "No such method “%s”" + msgstr "沒有這個方法「%s」" + +-#: ../gio/gdbusconnection.c:5002 +-#, c-format +-msgid "Type of message, '%s', does not match expected type '%s'" ++#: ../gio/gdbusconnection.c:5133 ++#, fuzzy, c-format ++msgid "Type of message, “%s”, does not match expected type “%s”" + msgstr "訊息的類型,「%s」,不符合預期的類型「%s」" + +-#: ../gio/gdbusconnection.c:5200 ++#: ../gio/gdbusconnection.c:5336 + #, c-format + msgid "An object is already exported for the interface %s at %s" + msgstr "有物件已為介面 %s 匯出於 %s" + +-#: ../gio/gdbusconnection.c:5399 +-#, c-format +-msgid "Method '%s' returned type '%s', but expected '%s'" ++#: ../gio/gdbusconnection.c:5563 ++#, fuzzy, c-format ++msgid "Unable to retrieve property %s.%s" ++msgstr "無法建立 socket:%s" ++ ++#: ../gio/gdbusconnection.c:5619 ++#, fuzzy, c-format ++msgid "Unable to set property %s.%s" ++msgstr "無法建立 socket:%s" ++ ++#: ../gio/gdbusconnection.c:5798 ++#, fuzzy, c-format ++msgid "Method “%s” returned type “%s”, but expected “%s”" + msgstr "方法「%s」傳回類型「%s」,但預期為「%s」" + +-#: ../gio/gdbusconnection.c:6482 +-#, c-format +-msgid "Method '%s' on interface '%s' with signature '%s' does not exist" ++#: ../gio/gdbusconnection.c:6874 ++#, fuzzy, c-format ++msgid "Method “%s” on interface “%s” with signature “%s” does not exist" + msgstr "介面「%2$s」簽署「%3$s」的方法「%1$s」不存在" + +-#: ../gio/gdbusconnection.c:6603 ++#: ../gio/gdbusconnection.c:6995 + #, c-format + msgid "A subtree is already exported for %s" + msgstr "子樹狀目錄已為 %s 匯出" + +-#: ../gio/gdbusmessage.c:1246 ++#: ../gio/gdbusconnection.c:7287 ++#, c-format ++msgid "Object does not exist at path “%s”" ++msgstr "" ++ ++#: ../gio/gdbusmessage.c:1306 + msgid "type is INVALID" + msgstr "類型為無效" + +-#: ../gio/gdbusmessage.c:1257 +-msgid "METHOD_CALL message: PATH or MEMBER header field is missing" ++#: ../gio/gdbusmessage.c:1324 ++#, fuzzy ++msgid "METHOD_CALL message: PATH or MEMBER header field is missing or invalid" + msgstr "METHOD_CALL 訊息:缺少 PATH 或 MEMBER 標頭欄位" + +-#: ../gio/gdbusmessage.c:1268 +-msgid "METHOD_RETURN message: REPLY_SERIAL header field is missing" ++#: ../gio/gdbusmessage.c:1340 ++#, fuzzy ++msgid "METHOD_RETURN message: REPLY_SERIAL header field is missing or invalid" + msgstr "METHOD_RETURN 訊息:缺少 REPLY_SERIAL 標頭欄位" + +-#: ../gio/gdbusmessage.c:1280 +-msgid "ERROR message: REPLY_SERIAL or ERROR_NAME header field is missing" ++#: ../gio/gdbusmessage.c:1360 ++#, fuzzy ++msgid "" ++"ERROR message: REPLY_SERIAL or ERROR_NAME header field is missing or invalid" + msgstr "ERROR 訊息:缺少 REPLY_SERIAL 或 ERROR_NAME 標頭欄位" + +-#: ../gio/gdbusmessage.c:1293 +-msgid "SIGNAL message: PATH, INTERFACE or MEMBER header field is missing" ++#: ../gio/gdbusmessage.c:1384 ++#, fuzzy ++msgid "" ++"SIGNAL message: PATH, INTERFACE or MEMBER header field is missing or invalid" + msgstr "SIGNAL 訊息:缺少 PATH、INTERFACE 或 MEMBER 標頭欄位" + +-#: ../gio/gdbusmessage.c:1301 ++#: ../gio/gdbusmessage.c:1392 + msgid "" + "SIGNAL message: The PATH header field is using the reserved value /org/" + "freedesktop/DBus/Local" + msgstr "SIGNAL 訊息:PATH 標頭欄位使用了保留的數值 /org/freedesktop/DBus/Local" + +-#: ../gio/gdbusmessage.c:1309 ++#: ../gio/gdbusmessage.c:1400 + msgid "" + "SIGNAL message: The INTERFACE header field is using the reserved value org." + "freedesktop.DBus.Local" +-msgstr "SIGNAL 訊息:INTERFACE 標頭欄位使用了保留的數值 org.freedesktop.DBus.Local" ++msgstr "" ++"SIGNAL 訊息:INTERFACE 標頭欄位使用了保留的數值 org.freedesktop.DBus.Local" + +-#: ../gio/gdbusmessage.c:1357 ../gio/gdbusmessage.c:1417 ++#: ../gio/gdbusmessage.c:1449 ../gio/gdbusmessage.c:1509 + #, c-format + msgid "Wanted to read %lu byte but only got %lu" + msgid_plural "Wanted to read %lu bytes but only got %lu" + msgstr[0] "嘗試讀取 %lu 位元組卻只得到 %lu" + +-#: ../gio/gdbusmessage.c:1371 +-#, c-format +-msgid "Expected NUL byte after the string '%s' but found byte %d" ++#: ../gio/gdbusmessage.c:1463 ++#, fuzzy, c-format ++msgid "Expected NUL byte after the string “%s” but found byte %d" + msgstr "預期在字串「%s」之後為 NUL 位元組,但是發現位元組 %d" + +-#: ../gio/gdbusmessage.c:1390 +-#, c-format ++#: ../gio/gdbusmessage.c:1482 ++#, fuzzy, c-format + msgid "" + "Expected valid UTF-8 string but found invalid bytes at byte offset %d " +-"(length of string is %d). The valid UTF-8 string up until that point was '%s'" +-msgstr "預期為有效的 UTF-8 字串但是在位元組 %d 處發現無效的位元組(字串的長度為 %d)。到那一點之前的有效 UTF-8 字串為「%s」" ++"(length of string is %d). The valid UTF-8 string up until that point was “%s”" ++msgstr "" ++"預期為有效的 UTF-8 字串但是在位元組 %d 處發現無效的位元組(字串的長度為 " ++"%d)。到那一點之前的有效 UTF-8 字串為「%s」" + +-#: ../gio/gdbusmessage.c:1589 +-#, c-format +-msgid "Parsed value '%s' is not a valid D-Bus object path" ++#: ../gio/gdbusmessage.c:1546 ../gio/gdbusmessage.c:1822 ++#: ../gio/gdbusmessage.c:2033 ++msgid "Value nested too deeply" ++msgstr "" ++ ++#: ../gio/gdbusmessage.c:1714 ++#, fuzzy, c-format ++msgid "Parsed value “%s” is not a valid D-Bus object path" + msgstr "已解析數值「%s」不是有效的 D-Bus 物件路徑" + +-#: ../gio/gdbusmessage.c:1611 +-#, c-format +-msgid "Parsed value '%s' is not a valid D-Bus signature" ++#: ../gio/gdbusmessage.c:1738 ++#, fuzzy, c-format ++msgid "Parsed value “%s” is not a valid D-Bus signature" + msgstr "已解析數值「%s」不是一個有效的 D-Bus 簽署" + +-#: ../gio/gdbusmessage.c:1658 ++#: ../gio/gdbusmessage.c:1789 + #, c-format + msgid "" + "Encountered array of length %u byte. Maximum length is 2<<26 bytes (64 MiB)." +@@ -749,149 +837,173 @@ msgid_plural "" + "Encountered array of length %u bytes. Maximum length is 2<<26 bytes (64 MiB)." + msgstr[0] "遇到長度為 %u 位元組的陣列。最大長度為 2<<26 位元組 (64 MiB)。" + +-#: ../gio/gdbusmessage.c:1678 +-#, c-format ++#: ../gio/gdbusmessage.c:1809 ++#, fuzzy, c-format + msgid "" +-"Encountered array of type 'a%c', expected to have a length a multiple of %u " ++"Encountered array of type “a%c”, expected to have a length a multiple of %u " + "bytes, but found to be %u bytes in length" +-msgstr "遇到類型「a%c」的陣列,預期長度應為 %u 位元組的倍數,但發現長度為 %u 位元組" ++msgstr "" ++"遇到類型「a%c」的陣列,預期長度應為 %u 位元組的倍數,但發現長度為 %u 位元組" + +-#: ../gio/gdbusmessage.c:1845 +-#, c-format +-msgid "Parsed value '%s' for variant is not a valid D-Bus signature" ++#: ../gio/gdbusmessage.c:1963 ../gio/gdbusmessage.c:2682 ++msgid "Empty structures (tuples) are not allowed in D-Bus" ++msgstr "" ++ ++#: ../gio/gdbusmessage.c:2017 ++#, fuzzy, c-format ++msgid "Parsed value “%s” for variant is not a valid D-Bus signature" + msgstr "已分析數值「%s」不是有效的 D-Bus 簽署" + +-#: ../gio/gdbusmessage.c:1869 +-#, c-format ++#: ../gio/gdbusmessage.c:2058 ++#, fuzzy, c-format + msgid "" +-"Error deserializing GVariant with type string '%s' from the D-Bus wire format" ++"Error deserializing GVariant with type string “%s” from the D-Bus wire format" + msgstr "從 D-Bus 線性格式以類型字串「%s」反序列化 GVariant 時發生錯誤" + +-#: ../gio/gdbusmessage.c:2053 +-#, c-format ++#: ../gio/gdbusmessage.c:2243 ++#, fuzzy, c-format + msgid "" +-"Invalid endianness value. Expected 0x6c ('l') or 0x42 ('B') but found value " ++"Invalid endianness value. Expected 0x6c (“l”) or 0x42 (“B”) but found value " + "0x%02x" + msgstr "無效的位元組順序數值。預期為 0x6c「I」或 0x42「B」卻得到數值 0x%02x" + +-#: ../gio/gdbusmessage.c:2066 ++#: ../gio/gdbusmessage.c:2262 + #, c-format + msgid "Invalid major protocol version. Expected 1 but found %d" + msgstr "無效的主通訊協定版本。預期為 1 但找到 %d" + +-#: ../gio/gdbusmessage.c:2122 +-#, c-format +-msgid "Signature header with signature '%s' found but message body is empty" ++#: ../gio/gdbusmessage.c:2320 ../gio/gdbusmessage.c:2918 ++msgid "Signature header found but is not of type signature" ++msgstr "" ++ ++#: ../gio/gdbusmessage.c:2332 ++#, fuzzy, c-format ++msgid "Signature header with signature “%s” found but message body is empty" + msgstr "發現簽署「%s」的簽署標頭但訊息主體是空的" + +-#: ../gio/gdbusmessage.c:2136 +-#, c-format +-msgid "Parsed value '%s' is not a valid D-Bus signature (for body)" ++#: ../gio/gdbusmessage.c:2347 ++#, fuzzy, c-format ++msgid "Parsed value “%s” is not a valid D-Bus signature (for body)" + msgstr "已解析數值「%s」不是有效的 D-Bus 簽署 (於主體)" + +-#: ../gio/gdbusmessage.c:2166 ++#: ../gio/gdbusmessage.c:2379 + #, c-format + msgid "No signature header in message but the message body is %u byte" + msgid_plural "No signature header in message but the message body is %u bytes" + msgstr[0] "在訊息中沒有簽署標頭但訊息主體有 %u 位元組" + +-#: ../gio/gdbusmessage.c:2176 ++#: ../gio/gdbusmessage.c:2389 + msgid "Cannot deserialize message: " + msgstr "不能反序列化訊息:" + +-#: ../gio/gdbusmessage.c:2517 +-#, c-format ++#: ../gio/gdbusmessage.c:2735 ++#, fuzzy, c-format + msgid "" +-"Error serializing GVariant with type string '%s' to the D-Bus wire format" ++"Error serializing GVariant with type string “%s” to the D-Bus wire format" + msgstr "從 D-Bus 線性格式以類型字串「%s」序列化 GVariant 時發生錯誤" + +-#: ../gio/gdbusmessage.c:2654 ++#: ../gio/gdbusmessage.c:2872 + #, c-format + msgid "" +-"Message has %d file descriptors but the header field indicates %d file " +-"descriptors" +-msgstr "訊息有 %d 檔案描述符但標頭欄位表示有 %d 檔案描述符" ++"Number of file descriptors in message (%d) differs from header field (%d)" ++msgstr "" + +-#: ../gio/gdbusmessage.c:2662 ++#: ../gio/gdbusmessage.c:2880 + msgid "Cannot serialize message: " + msgstr "不能序列化訊息:" + +-#: ../gio/gdbusmessage.c:2706 +-#, c-format +-msgid "Message body has signature '%s' but there is no signature header" ++#: ../gio/gdbusmessage.c:2933 ++#, fuzzy, c-format ++msgid "Message body has signature “%s” but there is no signature header" + msgstr "訊息主體有簽署「%s」但是沒有簽署標頭" + +-#: ../gio/gdbusmessage.c:2716 +-#, c-format ++#: ../gio/gdbusmessage.c:2943 ++#, fuzzy, c-format + msgid "" +-"Message body has type signature '%s' but signature in the header field is " +-"'%s'" ++"Message body has type signature “%s” but signature in the header field is " ++"“%s”" + msgstr "訊息主體有類型簽署「%s」但是標頭欄位中的簽署為「%s」" + +-#: ../gio/gdbusmessage.c:2732 +-#, c-format +-msgid "Message body is empty but signature in the header field is '(%s)'" ++#: ../gio/gdbusmessage.c:2959 ++#, fuzzy, c-format ++msgid "Message body is empty but signature in the header field is “(%s)”" + msgstr "訊息主體是空的但是標頭欄位中的簽署為「%s」" + +-#: ../gio/gdbusmessage.c:3282 +-#, c-format +-msgid "Error return with body of type '%s'" ++#: ../gio/gdbusmessage.c:3514 ++#, fuzzy, c-format ++msgid "Error return with body of type “%s”" + msgstr "傳回類型「%s」主體時發生錯誤" + +-#: ../gio/gdbusmessage.c:3290 ++#: ../gio/gdbusmessage.c:3522 + msgid "Error return with empty body" + msgstr "傳回空白主體錯誤" + +-#: ../gio/gdbusprivate.c:2067 ++#: ../gio/gdbusprivate.c:2201 ++#, c-format ++msgid "(Type any character to close this window)\n" ++msgstr "(輸入任何字符以關閉這個視窗)\n" ++ ++#: ../gio/gdbusprivate.c:2387 ++#, c-format ++msgid "Session dbus not running, and autolaunch failed" ++msgstr "作業階段 dbus 尚未執行,且自動執行失敗" ++ ++#: ../gio/gdbusprivate.c:2410 + #, c-format + msgid "Unable to get Hardware profile: %s" + msgstr "無法取得硬件設定組合:%s" + +-#: ../gio/gdbusprivate.c:2112 +-msgid "Unable to load /var/lib/dbus/machine-id or /etc/machine-id: " +-msgstr "無法載入 /var/lib/dbus/machine-id 或 /etc/machine-id:" ++#. Translators: Both placeholders are file paths ++#: ../gio/gdbusprivate.c:2461 ++#, fuzzy, c-format ++msgid "Unable to load %s or %s: " ++msgstr "無法建立回收筒目錄 %s:%s" + +-#: ../gio/gdbusproxy.c:1630 ++#: ../gio/gdbusproxy.c:1568 + #, c-format + msgid "Error calling StartServiceByName for %s: " + msgstr "呼叫 %s StartServiceByName 時發生錯誤:" + +-#: ../gio/gdbusproxy.c:1653 ++#: ../gio/gdbusproxy.c:1591 + #, c-format + msgid "Unexpected reply %d from StartServiceByName(\"%s\") method" + msgstr "來自 StartServiceByName(\"%2$s\") 方法的未預期回應 %1$d" + +-#: ../gio/gdbusproxy.c:2754 ../gio/gdbusproxy.c:2891 ++#: ../gio/gdbusproxy.c:2702 ../gio/gdbusproxy.c:2837 ++#, fuzzy, c-format + msgid "" +-"Cannot invoke method; proxy is for a well-known name without an owner and " +-"proxy was constructed with the G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START flag" +-msgstr "不能呼叫方法;proxy 是沒有擁有者的知名名稱,而 proxy 是以 G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START 旗標建立的" ++"Cannot invoke method; proxy is for the well-known name %s without an owner, " ++"and proxy was constructed with the G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START flag" ++msgstr "" ++"不能呼叫方法;proxy 是沒有擁有者的知名名稱,而 proxy 是以 " ++"G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START 旗標建立的" + +-#: ../gio/gdbusserver.c:708 +-msgid "Abstract name space not supported" ++#: ../gio/gdbusserver.c:758 ++#, fuzzy ++msgid "Abstract namespace not supported" + msgstr "不支援抽象命名空間" + +-#: ../gio/gdbusserver.c:795 ++#: ../gio/gdbusserver.c:850 + msgid "Cannot specify nonce file when creating a server" + msgstr "當建立伺服器時不能指定臨時檔案" + +-#: ../gio/gdbusserver.c:873 +-#, c-format +-msgid "Error writing nonce file at '%s': %s" ++#: ../gio/gdbusserver.c:932 ++#, fuzzy, c-format ++msgid "Error writing nonce file at “%s”: %s" + msgstr "在「%s」寫入臨時檔案時發生錯誤:%s" + +-#: ../gio/gdbusserver.c:1044 +-#, c-format +-msgid "The string '%s' is not a valid D-Bus GUID" ++#: ../gio/gdbusserver.c:1107 ++#, fuzzy, c-format ++msgid "The string “%s” is not a valid D-Bus GUID" + msgstr "字串「%s」不是一個有效的 D-Bus GUID" + +-#: ../gio/gdbusserver.c:1084 +-#, c-format +-msgid "Cannot listen on unsupported transport '%s'" ++#: ../gio/gdbusserver.c:1145 ++#, fuzzy, c-format ++msgid "Cannot listen on unsupported transport “%s”" + msgstr "不能聽取不支援的傳輸「%s」" + +-#: ../gio/gdbus-tool.c:95 +-#, c-format ++#: ../gio/gdbus-tool.c:113 ++#, fuzzy, c-format + msgid "" + "Commands:\n" + " help Shows this information\n" +@@ -899,8 +1011,9 @@ msgid "" + " monitor Monitor a remote object\n" + " call Invoke a method on a remote object\n" + " emit Emit a signal\n" ++" wait Wait for a bus name to appear\n" + "\n" +-"Use \"%s COMMAND --help\" to get help on each command.\n" ++"Use “%s COMMAND --help” to get help on each command.\n" + msgstr "" + "指令:\n" + " help 顯示這個資訊\n" +@@ -911,493 +1024,625 @@ msgstr "" + "\n" + "使用「%s COMMAND --help」來取得每個指令的求助資訊。\n" + +-#: ../gio/gdbus-tool.c:164 ../gio/gdbus-tool.c:220 ../gio/gdbus-tool.c:292 +-#: ../gio/gdbus-tool.c:316 ../gio/gdbus-tool.c:705 ../gio/gdbus-tool.c:1031 +-#: ../gio/gdbus-tool.c:1465 ++#: ../gio/gdbus-tool.c:204 ../gio/gdbus-tool.c:276 ../gio/gdbus-tool.c:347 ++#: ../gio/gdbus-tool.c:371 ../gio/gdbus-tool.c:861 ../gio/gdbus-tool.c:1246 ++#: ../gio/gdbus-tool.c:1733 + #, c-format + msgid "Error: %s\n" + msgstr "錯誤:%s\n" + +-#: ../gio/gdbus-tool.c:175 ../gio/gdbus-tool.c:233 ../gio/gdbus-tool.c:1481 ++#: ../gio/gdbus-tool.c:215 ../gio/gdbus-tool.c:289 ../gio/gdbus-tool.c:1749 + #, c-format + msgid "Error parsing introspection XML: %s\n" + msgstr "解析檢討 XML 時出現錯誤:%s\n" + +-#: ../gio/gdbus-tool.c:350 ++#: ../gio/gdbus-tool.c:253 ++#, fuzzy, c-format ++msgid "Error: %s is not a valid name\n" ++msgstr "錯誤:%s 不是有效的成員名稱\n" ++ ++#: ../gio/gdbus-tool.c:258 ../gio/gdbus-tool.c:747 ../gio/gdbus-tool.c:1065 ++#: ../gio/gdbus-tool.c:1899 ../gio/gdbus-tool.c:2139 ++#, c-format ++msgid "Error: %s is not a valid object path\n" ++msgstr "錯誤:%s 不是有效的物件路徑\n" ++ ++#: ../gio/gdbus-tool.c:405 + msgid "Connect to the system bus" + msgstr "連線到系統匯流排" + +-#: ../gio/gdbus-tool.c:351 ++#: ../gio/gdbus-tool.c:406 + msgid "Connect to the session bus" + msgstr "連線到作業階段匯流排" + +-#: ../gio/gdbus-tool.c:352 ++#: ../gio/gdbus-tool.c:407 + msgid "Connect to given D-Bus address" + msgstr "連線到指定的 D-Bus 位址" + +-#: ../gio/gdbus-tool.c:362 ++#: ../gio/gdbus-tool.c:417 + msgid "Connection Endpoint Options:" + msgstr "連線端點選項:" + +-#: ../gio/gdbus-tool.c:363 ++#: ../gio/gdbus-tool.c:418 + msgid "Options specifying the connection endpoint" + msgstr "指定連線端點的選項" + +-#: ../gio/gdbus-tool.c:385 ++#: ../gio/gdbus-tool.c:441 + #, c-format + msgid "No connection endpoint specified" + msgstr "沒有指定連線端點" + +-#: ../gio/gdbus-tool.c:395 ++#: ../gio/gdbus-tool.c:451 + #, c-format + msgid "Multiple connection endpoints specified" + msgstr "指定了多重連線端點" + +-#: ../gio/gdbus-tool.c:465 +-#, c-format ++#: ../gio/gdbus-tool.c:524 ++#, fuzzy, c-format + msgid "" +-"Warning: According to introspection data, interface '%s' does not exist\n" ++"Warning: According to introspection data, interface “%s” does not exist\n" + msgstr "警告:根據檢討資料,介面「%s」不存在\n" + +-#: ../gio/gdbus-tool.c:474 +-#, c-format ++#: ../gio/gdbus-tool.c:533 ++#, fuzzy, c-format + msgid "" +-"Warning: According to introspection data, method '%s' does not exist on " +-"interface '%s'\n" ++"Warning: According to introspection data, method “%s” does not exist on " ++"interface “%s”\n" + msgstr "警告:根據檢討資料,介面「%2$s」的方法「%1$s」不存在\n" + +-#: ../gio/gdbus-tool.c:536 ++#: ../gio/gdbus-tool.c:595 + msgid "Optional destination for signal (unique name)" + msgstr "信號的選擇性目的端 (獨特名稱)" + +-#: ../gio/gdbus-tool.c:537 ++#: ../gio/gdbus-tool.c:596 + msgid "Object path to emit signal on" + msgstr "要發出信號的物件路徑" + +-#: ../gio/gdbus-tool.c:538 ++#: ../gio/gdbus-tool.c:597 + msgid "Signal and interface name" + msgstr "信號和介面名稱" + +-#: ../gio/gdbus-tool.c:570 ++#: ../gio/gdbus-tool.c:630 + msgid "Emit a signal." + msgstr "發出信號。" + +-#: ../gio/gdbus-tool.c:604 ../gio/gdbus-tool.c:836 ../gio/gdbus-tool.c:1571 +-#: ../gio/gdbus-tool.c:1799 ++#: ../gio/gdbus-tool.c:685 ../gio/gdbus-tool.c:1002 ../gio/gdbus-tool.c:1836 ++#: ../gio/gdbus-tool.c:2068 ../gio/gdbus-tool.c:2288 + #, c-format + msgid "Error connecting: %s\n" + msgstr "連線錯誤:%s\n" + +-#: ../gio/gdbus-tool.c:616 ++#: ../gio/gdbus-tool.c:705 + #, c-format +-msgid "Error: object path not specified.\n" +-msgstr "錯誤:沒有指定物件路徑。\n" ++msgid "Error: %s is not a valid unique bus name.\n" ++msgstr "錯誤:%s 不是有效的獨特匯流排名稱。\n" + +-#: ../gio/gdbus-tool.c:621 ../gio/gdbus-tool.c:897 ../gio/gdbus-tool.c:1629 +-#: ../gio/gdbus-tool.c:1858 ++#: ../gio/gdbus-tool.c:724 ../gio/gdbus-tool.c:1045 ../gio/gdbus-tool.c:1879 + #, c-format +-msgid "Error: %s is not a valid object path\n" +-msgstr "錯誤:%s 不是有效的物件路徑\n" ++msgid "Error: Object path is not specified\n" ++msgstr "錯誤:沒有指定物件路徑\n" + +-#: ../gio/gdbus-tool.c:627 +-#, c-format +-msgid "Error: signal not specified.\n" +-msgstr "錯誤:尚未指定信號。\n" ++#: ../gio/gdbus-tool.c:767 ++#, fuzzy, c-format ++msgid "Error: Signal name is not specified\n" ++msgstr "錯誤:沒有指定方法名稱\n" + +-#: ../gio/gdbus-tool.c:634 +-#, c-format +-msgid "Error: signal must be the fully-qualified name.\n" +-msgstr "錯誤:信號必須為完全合規定的名稱。\n" ++#: ../gio/gdbus-tool.c:781 ++#, fuzzy, c-format ++msgid "Error: Signal name “%s” is invalid\n" ++msgstr "錯誤:方法名稱「%s」是無效的\n" + +-#: ../gio/gdbus-tool.c:642 ++#: ../gio/gdbus-tool.c:793 + #, c-format + msgid "Error: %s is not a valid interface name\n" + msgstr "錯誤:%s 不是有效的介面名稱\n" + +-#: ../gio/gdbus-tool.c:648 ++#: ../gio/gdbus-tool.c:799 + #, c-format + msgid "Error: %s is not a valid member name\n" + msgstr "錯誤:%s 不是有效的成員名稱\n" + +-#: ../gio/gdbus-tool.c:654 +-#, c-format +-msgid "Error: %s is not a valid unique bus name.\n" +-msgstr "錯誤:%s 不是有效的獨特匯流排名稱。\n" +- + #. Use the original non-"parse-me-harder" error +-#: ../gio/gdbus-tool.c:681 ../gio/gdbus-tool.c:999 ++#: ../gio/gdbus-tool.c:836 ../gio/gdbus-tool.c:1177 + #, c-format + msgid "Error parsing parameter %d: %s\n" + msgstr "解析參數 %d 時發生錯誤:%s\n" + +-#: ../gio/gdbus-tool.c:712 ++#: ../gio/gdbus-tool.c:868 + #, c-format + msgid "Error flushing connection: %s\n" + msgstr "清除連線時發生錯誤:%s\n" + +-#: ../gio/gdbus-tool.c:739 ++#: ../gio/gdbus-tool.c:896 + msgid "Destination name to invoke method on" + msgstr "要呼叫方法的目的端名稱" + +-#: ../gio/gdbus-tool.c:740 ++#: ../gio/gdbus-tool.c:897 + msgid "Object path to invoke method on" + msgstr "要呼叫方法的物件路徑" + +-#: ../gio/gdbus-tool.c:741 ++#: ../gio/gdbus-tool.c:898 + msgid "Method and interface name" + msgstr "方法和介面名稱" + +-#: ../gio/gdbus-tool.c:742 ++#: ../gio/gdbus-tool.c:899 + msgid "Timeout in seconds" + msgstr "逾時時間(秒)" + +-#: ../gio/gdbus-tool.c:781 ++#: ../gio/gdbus-tool.c:900 ++msgid "Allow interactive authorization" ++msgstr "" ++ ++#: ../gio/gdbus-tool.c:947 + msgid "Invoke a method on a remote object." + msgstr "呼叫遠端物件的方法。" + +-#: ../gio/gdbus-tool.c:856 ../gio/gdbus-tool.c:1590 ../gio/gdbus-tool.c:1818 ++#: ../gio/gdbus-tool.c:1019 ../gio/gdbus-tool.c:1853 ../gio/gdbus-tool.c:2093 + #, c-format + msgid "Error: Destination is not specified\n" + msgstr "錯誤:尚未指定目的端\n" + +-#: ../gio/gdbus-tool.c:877 ../gio/gdbus-tool.c:1609 +-#, c-format +-msgid "Error: Object path is not specified\n" +-msgstr "錯誤:沒有指定物件路徑\n" ++#: ../gio/gdbus-tool.c:1030 ../gio/gdbus-tool.c:1870 ../gio/gdbus-tool.c:2104 ++#, fuzzy, c-format ++msgid "Error: %s is not a valid bus name\n" ++msgstr "錯誤:%s 不是有效的成員名稱\n" + +-#: ../gio/gdbus-tool.c:912 ++#: ../gio/gdbus-tool.c:1080 + #, c-format + msgid "Error: Method name is not specified\n" + msgstr "錯誤:沒有指定方法名稱\n" + +-#: ../gio/gdbus-tool.c:923 +-#, c-format +-msgid "Error: Method name '%s' is invalid\n" ++#: ../gio/gdbus-tool.c:1091 ++#, fuzzy, c-format ++msgid "Error: Method name “%s” is invalid\n" + msgstr "錯誤:方法名稱「%s」是無效的\n" + +-#: ../gio/gdbus-tool.c:991 +-#, c-format +-msgid "Error parsing parameter %d of type '%s': %s\n" ++#: ../gio/gdbus-tool.c:1169 ++#, fuzzy, c-format ++msgid "Error parsing parameter %d of type “%s”: %s\n" + msgstr "解析類型「%2$s」的參數 %1$d 時發生錯誤:%3$s\n" + +-#: ../gio/gdbus-tool.c:1428 ++#: ../gio/gdbus-tool.c:1195 ++#, fuzzy, c-format ++msgid "Error adding handle %d: %s\n" ++msgstr "從處理器讀取時發生錯誤:%s" ++ ++#: ../gio/gdbus-tool.c:1695 + msgid "Destination name to introspect" + msgstr "要檢討的目的端名稱" + +-#: ../gio/gdbus-tool.c:1429 ++#: ../gio/gdbus-tool.c:1696 + msgid "Object path to introspect" + msgstr "要檢討的物件路徑" + +-#: ../gio/gdbus-tool.c:1430 ++#: ../gio/gdbus-tool.c:1697 + msgid "Print XML" + msgstr "顯示 XML" + +-#: ../gio/gdbus-tool.c:1431 ++#: ../gio/gdbus-tool.c:1698 + msgid "Introspect children" + msgstr "Introspect 子項目" + +-#: ../gio/gdbus-tool.c:1432 ++#: ../gio/gdbus-tool.c:1699 + msgid "Only print properties" + msgstr "只有列印屬性" + +-#: ../gio/gdbus-tool.c:1523 ++#: ../gio/gdbus-tool.c:1788 + msgid "Introspect a remote object." + msgstr "檢討遠端物件。" + +-#: ../gio/gdbus-tool.c:1721 ++#: ../gio/gdbus-tool.c:1994 + msgid "Destination name to monitor" + msgstr "要監控的目的端名稱" + +-#: ../gio/gdbus-tool.c:1722 ++#: ../gio/gdbus-tool.c:1995 + msgid "Object path to monitor" + msgstr "要監控的物件路徑" + +-#: ../gio/gdbus-tool.c:1751 ++#: ../gio/gdbus-tool.c:2020 + msgid "Monitor a remote object." + msgstr "監控遠端物件。" + +-#: ../gio/gdesktopappinfo.c:1919 ../gio/gdesktopappinfo.c:4440 +-#: ../gio/gwin32appinfo.c:219 ++#: ../gio/gdbus-tool.c:2078 ++#, c-format ++msgid "Error: can’t monitor a non-message-bus connection\n" ++msgstr "" ++ ++#: ../gio/gdbus-tool.c:2202 ++msgid "Service to activate before waiting for the other one (well-known name)" ++msgstr "" ++ ++#: ../gio/gdbus-tool.c:2205 ++msgid "" ++"Timeout to wait for before exiting with an error (seconds); 0 for no timeout " ++"(default)" ++msgstr "" ++ ++#: ../gio/gdbus-tool.c:2253 ++msgid "[OPTION…] BUS-NAME" ++msgstr "" ++ ++#: ../gio/gdbus-tool.c:2254 ++msgid "Wait for a bus name to appear." ++msgstr "" ++ ++#: ../gio/gdbus-tool.c:2330 ++#, fuzzy, c-format ++msgid "Error: A service to activate for must be specified.\n" ++msgstr "錯誤:沒有指定物件路徑。\n" ++ ++#: ../gio/gdbus-tool.c:2335 ++#, fuzzy, c-format ++msgid "Error: A service to wait for must be specified.\n" ++msgstr "錯誤:沒有指定物件路徑。\n" ++ ++#: ../gio/gdbus-tool.c:2340 ++#, c-format ++msgid "Error: Too many arguments.\n" ++msgstr "" ++ ++#: ../gio/gdbus-tool.c:2348 ../gio/gdbus-tool.c:2355 ++#, fuzzy, c-format ++msgid "Error: %s is not a valid well-known bus name.\n" ++msgstr "錯誤:%s 不是有效的獨特匯流排名稱。\n" ++ ++#: ../gio/gdebugcontrollerdbus.c:361 ++#, c-format ++msgid "Not authorized to change debug settings" ++msgstr "" ++ ++#: ../gio/gdesktopappinfo.c:2243 ../gio/gdesktopappinfo.c:5266 + msgid "Unnamed" + msgstr "未命名的" + +-#: ../gio/gdesktopappinfo.c:2328 +-msgid "Desktop file didn't specify Exec field" ++#: ../gio/gdesktopappinfo.c:2653 ++#, fuzzy ++msgid "Desktop file didn’t specify Exec field" + msgstr "桌面(Desktop)檔案未指定 Exec 欄位" + +-#: ../gio/gdesktopappinfo.c:2613 ++#: ../gio/gdesktopappinfo.c:2943 + msgid "Unable to find terminal required for application" + msgstr "無法找到應用程式要求的終端機" + +-#: ../gio/gdesktopappinfo.c:3034 ++#: ../gio/gdesktopappinfo.c:3003 + #, c-format +-msgid "Can't create user application configuration folder %s: %s" ++msgid "Program ‘%s’ not found in $PATH" ++msgstr "" ++ ++#: ../gio/gdesktopappinfo.c:3778 ++#, fuzzy, c-format ++msgid "Can’t create user application configuration folder %s: %s" + msgstr "不能建立使用者應用程式組態資料夾 %s:%s" + +-#: ../gio/gdesktopappinfo.c:3038 +-#, c-format +-msgid "Can't create user MIME configuration folder %s: %s" ++#: ../gio/gdesktopappinfo.c:3782 ++#, fuzzy, c-format ++msgid "Can’t create user MIME configuration folder %s: %s" + msgstr "不能建立使用者 MIME 組態資料夾 %s:%s" + +-#: ../gio/gdesktopappinfo.c:3278 ../gio/gdesktopappinfo.c:3302 ++#: ../gio/gdesktopappinfo.c:4024 ../gio/gdesktopappinfo.c:4048 + msgid "Application information lacks an identifier" + msgstr "應用程式資訊缺少識別碼" + +-#: ../gio/gdesktopappinfo.c:3535 +-#, c-format +-msgid "Can't create user desktop file %s" ++#: ../gio/gdesktopappinfo.c:4284 ++#, fuzzy, c-format ++msgid "Can’t create user desktop file %s" + msgstr "不能建立使用者桌面檔案 %s" + +-#: ../gio/gdesktopappinfo.c:3669 ++#: ../gio/gdesktopappinfo.c:4420 + #, c-format + msgid "Custom definition for %s" + msgstr "自選 %s 的定義" + +-#: ../gio/gdrive.c:392 +-msgid "drive doesn't implement eject" ++#: ../gio/gdrive.c:419 ++#, fuzzy ++msgid "drive doesn’t implement eject" + msgstr "裝置無法實作退出功能(eject)" + + #. Translators: This is an error + #. * message for drive objects that + #. * don't implement any of eject or eject_with_operation. +-#: ../gio/gdrive.c:470 +-msgid "drive doesn't implement eject or eject_with_operation" ++#: ../gio/gdrive.c:497 ++#, fuzzy ++msgid "drive doesn’t implement eject or eject_with_operation" + msgstr "裝置無法實作退出功能(eject) 或 eject_with_operation" + +-#: ../gio/gdrive.c:546 +-msgid "drive doesn't implement polling for media" ++#: ../gio/gdrive.c:573 ++#, fuzzy ++msgid "drive doesn’t implement polling for media" + msgstr "裝置無法實作媒體的輪詢" + +-#: ../gio/gdrive.c:751 +-msgid "drive doesn't implement start" ++#: ../gio/gdrive.c:780 ++#, fuzzy ++msgid "drive doesn’t implement start" + msgstr "裝置無法實作啟動功能(start)" + +-#: ../gio/gdrive.c:853 +-msgid "drive doesn't implement stop" ++#: ../gio/gdrive.c:882 ++#, fuzzy ++msgid "drive doesn’t implement stop" + msgstr "裝置無法實作停止功能(stop)" + +-#: ../gio/gdummytlsbackend.c:189 ../gio/gdummytlsbackend.c:311 +-#: ../gio/gdummytlsbackend.c:401 ++#: ../gio/gdtlsconnection.c:1188 ../gio/gtlsconnection.c:957 ++msgid "TLS backend does not implement TLS binding retrieval" ++msgstr "" ++ ++#: ../gio/gdummytlsbackend.c:197 ../gio/gdummytlsbackend.c:323 ++#: ../gio/gdummytlsbackend.c:515 + msgid "TLS support is not available" + msgstr "TLS 支援無法使用" + +-#: ../gio/gemblem.c:323 +-#, c-format +-msgid "Can't handle version %d of GEmblem encoding" ++#: ../gio/gdummytlsbackend.c:425 ++#, fuzzy ++msgid "DTLS support is not available" ++msgstr "TLS 支援無法使用" ++ ++#: ../gio/gemblem.c:325 ++#, fuzzy, c-format ++msgid "Can’t handle version %d of GEmblem encoding" + msgstr "不能處理版本為 %d 的 GEmblem 編碼" + +-#: ../gio/gemblem.c:333 ++#: ../gio/gemblem.c:335 + #, c-format + msgid "Malformed number of tokens (%d) in GEmblem encoding" + msgstr "GEmblem 編碼中記號 (%d) 的數量格式不正確" + +-#: ../gio/gemblemedicon.c:362 +-#, c-format +-msgid "Can't handle version %d of GEmblemedIcon encoding" ++#: ../gio/gemblemedicon.c:364 ++#, fuzzy, c-format ++msgid "Can’t handle version %d of GEmblemedIcon encoding" + msgstr "不能處理版本為 %d 的 GEmblemedIcon 編碼" + +-#: ../gio/gemblemedicon.c:372 ++#: ../gio/gemblemedicon.c:374 + #, c-format + msgid "Malformed number of tokens (%d) in GEmblemedIcon encoding" + msgstr "GEmblemedIcon 編碼中記號 (%d) 的數量格式不正確" + +-#: ../gio/gemblemedicon.c:395 ++#: ../gio/gemblemedicon.c:397 + msgid "Expected a GEmblem for GEmblemedIcon" + msgstr "預期為 GEmblemedIcon 的 GEmblem" + +-#: ../gio/gfile.c:956 ../gio/gfile.c:1194 ../gio/gfile.c:1332 +-#: ../gio/gfile.c:1570 ../gio/gfile.c:1625 ../gio/gfile.c:1683 +-#: ../gio/gfile.c:1767 ../gio/gfile.c:1824 ../gio/gfile.c:1888 +-#: ../gio/gfile.c:1943 ../gio/gfile.c:3591 ../gio/gfile.c:3646 +-#: ../gio/gfile.c:3853 ../gio/gfile.c:3895 ../gio/gfile.c:4358 +-#: ../gio/gfile.c:4769 ../gio/gfile.c:4854 ../gio/gfile.c:4944 +-#: ../gio/gfile.c:5041 ../gio/gfile.c:5128 ../gio/gfile.c:5229 +-#: ../gio/gfile.c:7748 ../gio/gfile.c:7838 ../gio/gfile.c:7922 +-#: ../gio/win32/gwinhttpfile.c:437 +-msgid "Operation not supported" +-msgstr "不支援的操作" +- + #. Translators: This is an error message when + #. * trying to find the enclosing (user visible) + #. * mount of a file, but none exists. + #. +-#. Translators: This is an error message when trying to +-#. * find the enclosing (user visible) mount of a file, but +-#. * none exists. +-#. Translators: This is an error message when trying to find +-#. * the enclosing (user visible) mount of a file, but none +-#. * exists. +-#: ../gio/gfile.c:1455 ../gio/glocalfile.c:1103 ../gio/glocalfile.c:1114 +-#: ../gio/glocalfile.c:1127 ++#: ../gio/gfile.c:1627 + msgid "Containing mount does not exist" + msgstr "包含了不存在的掛載點" + +-#: ../gio/gfile.c:2502 ../gio/glocalfile.c:2337 +-msgid "Can't copy over directory" ++#: ../gio/gfile.c:2674 ../gio/glocalfile.c:2528 ++#, fuzzy ++msgid "Can’t copy over directory" + msgstr "不能複製整個目錄" + +-#: ../gio/gfile.c:2562 +-msgid "Can't copy directory over directory" ++#: ../gio/gfile.c:2734 ++#, fuzzy ++msgid "Can’t copy directory over directory" + msgstr "不能將目錄複製到目錄上" + +-#: ../gio/gfile.c:2570 ../gio/glocalfile.c:2346 ++#: ../gio/gfile.c:2742 + msgid "Target file exists" + msgstr "目標檔案已存在" + +-#: ../gio/gfile.c:2589 +-msgid "Can't recursively copy directory" ++#: ../gio/gfile.c:2761 ++#, fuzzy ++msgid "Can’t recursively copy directory" + msgstr "不能遞廻複製目錄" + +-#: ../gio/gfile.c:2871 +-msgid "Splice not supported" +-msgstr "不支援拼接" ++#: ../gio/gfile.c:3070 ../gio/gfile.c:3118 ++#, fuzzy, c-format ++msgid "Copy file range not supported" ++msgstr "不支援的操作" + +-#: ../gio/gfile.c:2875 ++#: ../gio/gfile.c:3076 ../gio/gfile.c:3187 + #, c-format + msgid "Error splicing file: %s" + msgstr "拼接檔案時發生錯誤:%s" + +-#: ../gio/gfile.c:3006 ++#: ../gio/gfile.c:3183 ++msgid "Splice not supported" ++msgstr "不支援拼接" ++ ++#: ../gio/gfile.c:3347 + msgid "Copy (reflink/clone) between mounts is not supported" + msgstr "不支援在掛載點之間複製 (參照連結/重製)" + +-#: ../gio/gfile.c:3010 ++#: ../gio/gfile.c:3351 + msgid "Copy (reflink/clone) is not supported or invalid" + msgstr "複製 (參照連結/重製) 不支援或無效" + +-#: ../gio/gfile.c:3015 +-msgid "Copy (reflink/clone) is not supported or didn't work" ++#: ../gio/gfile.c:3356 ++#, fuzzy ++msgid "Copy (reflink/clone) is not supported or didn’t work" + msgstr "複製 (參照連結/重製) 不支援或無法運作" + +-#: ../gio/gfile.c:3078 +-msgid "Can't copy special file" ++#: ../gio/gfile.c:3421 ++#, fuzzy ++msgid "Can’t copy special file" + msgstr "不能複製特殊的檔案" + +-#: ../gio/gfile.c:3843 +-msgid "Invalid symlink value given" +-msgstr "提供了無效的符號連結值" ++#: ../gio/gfile.c:3727 ++msgid "" ++"The file is too large, the fat format file system only supports files within " ++"4G,can be imported in device after compression" ++msgstr "" + +-#: ../gio/gfile.c:4004 ++#: ../gio/gfile.c:3954 ++msgid "" ++"The file is too large, the fat format file system only supports files within " ++"4G,can be moved in device after compression" ++msgstr "" ++ ++#: ../gio/gfile.c:4384 ++msgid "Invalid symlink value given" ++msgstr "提供了無效的符號連結值" ++ ++#: ../gio/gfile.c:4394 ../glib/gfileutils.c:2392 ++msgid "Symbolic links not supported" ++msgstr "不支援符號連結" ++ ++#: ../gio/gfile.c:4681 + msgid "Trash not supported" + msgstr "不支援回收筒" + +-#: ../gio/gfile.c:4116 +-#, c-format +-msgid "File names cannot contain '%c'" ++#: ../gio/gfile.c:4793 ++#, fuzzy, c-format ++msgid "File names cannot contain “%c”" + msgstr "檔案名稱不能包含「%c」" + +-#: ../gio/gfile.c:6540 ../gio/gvolume.c:363 +-msgid "volume doesn't implement mount" ++#: ../gio/gfile.c:7225 ../gio/gfile.c:7351 ++#, fuzzy, c-format ++msgid "Failed to create a temporary directory for template “%s”: %s" ++msgstr "無法進入目錄‘%s’(%s)" ++ ++#: ../gio/gfile.c:7669 ../gio/gvolume.c:366 ++#, fuzzy ++msgid "volume doesn’t implement mount" + msgstr "儲存區尚未實作掛載功能" + +-#: ../gio/gfile.c:6649 ++#: ../gio/gfile.c:7783 ../gio/gfile.c:7860 + msgid "No application is registered as handling this file" + msgstr "沒有應用程式註冊為用以處理這個檔案" + +-#: ../gio/gfileenumerator.c:212 ++#: ../gio/gfileenumerator.c:214 + msgid "Enumerator is closed" + msgstr "檔案列舉器(enumerator)已關閉" + +-#: ../gio/gfileenumerator.c:219 ../gio/gfileenumerator.c:278 +-#: ../gio/gfileenumerator.c:377 ../gio/gfileenumerator.c:476 ++#: ../gio/gfileenumerator.c:221 ../gio/gfileenumerator.c:280 ++#: ../gio/gfileenumerator.c:425 ../gio/gfileenumerator.c:525 + msgid "File enumerator has outstanding operation" + msgstr "檔案列舉器(enumerator)有異常操作" + +-#: ../gio/gfileenumerator.c:368 ../gio/gfileenumerator.c:467 ++#: ../gio/gfileenumerator.c:416 ../gio/gfileenumerator.c:516 + msgid "File enumerator is already closed" + msgstr "檔案列舉器(enumerator)已經關閉" + +-#: ../gio/gfileicon.c:236 +-#, c-format +-msgid "Can't handle version %d of GFileIcon encoding" ++#: ../gio/gfileicon.c:252 ++#, fuzzy, c-format ++msgid "Can’t handle version %d of GFileIcon encoding" + msgstr "不能處理版本為 %d 的 GFileIcon 編碼" + +-#: ../gio/gfileicon.c:246 ++#: ../gio/gfileicon.c:262 + msgid "Malformed input data for GFileIcon" + msgstr "給 GFileIcon 的輸入資料格式不良" + +-#: ../gio/gfileinputstream.c:149 ../gio/gfileinputstream.c:394 +-#: ../gio/gfileiostream.c:167 ../gio/gfileoutputstream.c:164 +-#: ../gio/gfileoutputstream.c:497 +-msgid "Stream doesn't support query_info" ++#: ../gio/gfileinputstream.c:151 ../gio/gfileinputstream.c:397 ++#: ../gio/gfileiostream.c:169 ../gio/gfileoutputstream.c:166 ++#: ../gio/gfileoutputstream.c:499 ++#, fuzzy ++msgid "Stream doesn’t support query_info" + msgstr "串流不支援 query_info" + +-#: ../gio/gfileinputstream.c:325 ../gio/gfileiostream.c:379 +-#: ../gio/gfileoutputstream.c:371 ++#: ../gio/gfileinputstream.c:328 ../gio/gfileiostream.c:382 ++#: ../gio/gfileoutputstream.c:373 + msgid "Seek not supported on stream" + msgstr "不支援在串流中搜尋" + +-#: ../gio/gfileinputstream.c:369 ++#: ../gio/gfileinputstream.c:372 + msgid "Truncate not allowed on input stream" + msgstr "在輸入串流中不允許截短(truncate)" + +-#: ../gio/gfileiostream.c:455 ../gio/gfileoutputstream.c:447 ++#: ../gio/gfileiostream.c:458 ../gio/gfileoutputstream.c:449 + msgid "Truncate not supported on stream" + msgstr "在串流中不支援截短(truncate)" + +-#: ../gio/gicon.c:290 ++#: ../gio/ghttpproxy.c:93 ../gio/gresolver.c:535 ../gio/gresolver.c:688 ++#: ../glib/gconvert.c:1842 ++msgid "Invalid hostname" ++msgstr "主機名稱無效" ++ ++#: ../gio/ghttpproxy.c:145 ++msgid "Bad HTTP proxy reply" ++msgstr "" ++ ++#: ../gio/ghttpproxy.c:161 ++#, fuzzy ++msgid "HTTP proxy connection not allowed" ++msgstr "這個連線已關閉" ++ ++#: ../gio/ghttpproxy.c:166 ++msgid "HTTP proxy authentication failed" ++msgstr "" ++ ++#: ../gio/ghttpproxy.c:169 ++msgid "HTTP proxy authentication required" ++msgstr "" ++ ++#: ../gio/ghttpproxy.c:173 ++#, fuzzy, c-format ++msgid "HTTP proxy connection failed: %i" ++msgstr "這個連線已關閉" ++ ++#: ../gio/ghttpproxy.c:268 ++msgid "HTTP proxy response too big" ++msgstr "" ++ ++#: ../gio/ghttpproxy.c:285 ++msgid "HTTP proxy server closed connection unexpectedly." ++msgstr "" ++ ++#: ../gio/gicon.c:299 + #, c-format + msgid "Wrong number of tokens (%d)" + msgstr "記號數量 (%d) 錯誤" + +-#: ../gio/gicon.c:310 ++#: ../gio/gicon.c:319 + #, c-format + msgid "No type for class name %s" + msgstr "類別名稱 %s 沒有類型" + +-#: ../gio/gicon.c:320 ++#: ../gio/gicon.c:329 + #, c-format + msgid "Type %s does not implement the GIcon interface" + msgstr "類型 %s 沒有實作 GIcon 介面" + +-#: ../gio/gicon.c:331 ++#: ../gio/gicon.c:340 + #, c-format + msgid "Type %s is not classed" + msgstr "類型 %s 尚未歸類" + +-#: ../gio/gicon.c:345 ++#: ../gio/gicon.c:354 + #, c-format + msgid "Malformed version number: %s" + msgstr "格式不良的版本號碼:%s" + +-#: ../gio/gicon.c:359 ++#: ../gio/gicon.c:368 + #, c-format + msgid "Type %s does not implement from_tokens() on the GIcon interface" + msgstr "類型 %s 沒有實作 GIcon 介面的 from_tokens()" + +-#: ../gio/gicon.c:461 +-msgid "Can't handle the supplied version of the icon encoding" ++#: ../gio/gicon.c:470 ++#, fuzzy ++msgid "Can’t handle the supplied version of the icon encoding" + msgstr "不能處理提供的圖示編碼版本" + +-#: ../gio/ginetaddressmask.c:182 ++#: ../gio/ginetaddressmask.c:184 + msgid "No address specified" + msgstr "尚未指定位址" + +-#: ../gio/ginetaddressmask.c:190 ++#: ../gio/ginetaddressmask.c:192 + #, c-format + msgid "Length %u is too long for address" + msgstr "長度 %u 對位址來說太長了" + +-#: ../gio/ginetaddressmask.c:223 ++#: ../gio/ginetaddressmask.c:225 + msgid "Address has bits set beyond prefix length" + msgstr "位址在 prefix length 後有位元設定" + +-#: ../gio/ginetaddressmask.c:300 +-#, c-format +-msgid "Could not parse '%s' as IP address mask" ++#: ../gio/ginetaddressmask.c:302 ++#, fuzzy, c-format ++msgid "Could not parse “%s” as IP address mask" + msgstr "無法解析「%s」做為 IP 位址遮罩" + +-#: ../gio/ginetsocketaddress.c:196 ../gio/ginetsocketaddress.c:213 +-#: ../gio/gunixsocketaddress.c:209 ++#: ../gio/ginetsocketaddress.c:205 ../gio/ginetsocketaddress.c:222 ++#: ../gio/gnativesocketaddress.c:111 ../gio/gunixsocketaddress.c:230 + msgid "Not enough space for socket address" + msgstr "socket 位址沒有足夠的空間" + +-#: ../gio/ginetsocketaddress.c:228 ++#: ../gio/ginetsocketaddress.c:237 + msgid "Unsupported socket address" + msgstr "不支援的 socket 位址" + +-#: ../gio/ginputstream.c:185 +-msgid "Input stream doesn't implement read" ++#: ../gio/ginputstream.c:190 ++#, fuzzy ++msgid "Input stream doesn’t implement read" + msgstr "輸入串流尚未實作讀取" + + #. Translators: This is an error you get if there is already an +@@ -1406,805 +1651,1954 @@ msgstr "輸入串流尚未實作讀取" + #. Translators: This is an error you get if there is + #. * already an operation running against this stream when + #. * you try to start one +-#: ../gio/ginputstream.c:1027 ../gio/giostream.c:287 +-#: ../gio/goutputstream.c:1474 ++#: ../gio/ginputstream.c:1256 ../gio/giostream.c:312 ++#: ../gio/goutputstream.c:2218 + msgid "Stream has outstanding operation" + msgstr "串流有異常操作" + +-#: ../gio/glib-compile-resources.c:142 ../gio/glib-compile-schemas.c:1453 +-#, c-format +-msgid "Element <%s> not allowed inside <%s>" +-msgstr "元素 <%s> 不可出現在 <%s> 內" ++#: ../gio/gio-tool.c:162 ++msgid "Copy with file" ++msgstr "" + +-#: ../gio/glib-compile-resources.c:146 +-#, c-format +-msgid "Element <%s> not allowed at toplevel" +-msgstr "元素 <%s> 不允許在頂端層級" ++#: ../gio/gio-tool.c:166 ++msgid "Keep with file when moved" ++msgstr "" + +-#: ../gio/glib-compile-resources.c:236 +-#, c-format +-msgid "File %s appears multiple times in the resource" +-msgstr "檔案 %s 似乎在這個資源出出現多次" ++#: ../gio/gio-tool.c:207 ++#, fuzzy ++msgid "“version” takes no arguments" ++msgstr "" ++"「%s」不需要引數\n" ++"\n" + +-#: ../gio/glib-compile-resources.c:249 +-#, c-format +-msgid "Failed to locate '%s' in any source directory" +-msgstr "無法在任何來源目錄中定位「%s」" ++#: ../gio/gio-tool.c:209 ../gio/gio-tool.c:225 ../glib/goption.c:871 ++msgid "Usage:" ++msgstr "用法:" + +-#: ../gio/glib-compile-resources.c:260 +-#, c-format +-msgid "Failed to locate '%s' in current directory" +-msgstr "無法在目前的目錄中定位「%s」" ++#: ../gio/gio-tool.c:212 ++#, fuzzy ++msgid "Print version information and exit." ++msgstr "輸出版本資訊並離開" + +-#: ../gio/glib-compile-resources.c:288 +-#, c-format +-msgid "Unknown processing option \"%s\"" +-msgstr "不明的置處理選項「%s」" ++#: ../gio/gio-tool.c:228 ++#, fuzzy ++msgid "Commands:" ++msgstr "指令:\n" + +-#: ../gio/glib-compile-resources.c:306 ../gio/glib-compile-resources.c:352 +-#, c-format +-msgid "Failed to create temp file: %s" +-msgstr "無法建立暫存檔案:%s" ++#: ../gio/gio-tool.c:231 ++msgid "Concatenate files to standard output" ++msgstr "" + +-#: ../gio/glib-compile-resources.c:380 +-#, c-format +-msgid "Error reading file %s: %s" +-msgstr "讀取檔案 %s 時發生錯誤:%s" ++#: ../gio/gio-tool.c:232 ++msgid "Copy one or more files" ++msgstr "" + +-#: ../gio/glib-compile-resources.c:400 +-#, c-format +-msgid "Error compressing file %s" +-msgstr "壓縮檔案 %s 時發生錯誤" ++#: ../gio/gio-tool.c:233 ++#, fuzzy ++msgid "Show information about locations" ++msgstr "顯示 GApplication 選項" + +-#: ../gio/glib-compile-resources.c:464 ../gio/glib-compile-schemas.c:1565 +-#, c-format +-msgid "text may not appear inside <%s>" +-msgstr "在 <%s> 內不能出現文字" ++#: ../gio/gio-tool.c:234 ++#, fuzzy ++msgid "Launch an application from a desktop file" ++msgstr "列出應用程式的靜態動作 (從 .desktop 檔案)" + +-#: ../gio/glib-compile-resources.c:589 +-msgid "name of the output file" +-msgstr "輸出檔案的名稱" ++#: ../gio/gio-tool.c:235 ++msgid "List the contents of locations" ++msgstr "" + +-#: ../gio/glib-compile-resources.c:590 +-msgid "" +-"The directories where files are to be read from (default to current " +-"directory)" +-msgstr "用來讀取檔案的目錄 (預設為目前的目錄)" ++#: ../gio/gio-tool.c:236 ++msgid "Get or set the handler for a mimetype" ++msgstr "" + +-#: ../gio/glib-compile-resources.c:590 ../gio/glib-compile-schemas.c:1994 +-#: ../gio/glib-compile-schemas.c:2023 +-msgid "DIRECTORY" +-msgstr "目錄" ++#: ../gio/gio-tool.c:237 ++#, fuzzy ++msgid "Create directories" ++msgstr "不能開啟目錄" + +-#: ../gio/glib-compile-resources.c:591 +-msgid "" +-"Generate output in the format selected for by the target filename extension" +-msgstr "以目標檔案名稱的延伸檔名來選擇要產生輸出的格式" ++#: ../gio/gio-tool.c:238 ++msgid "Monitor files and directories for changes" ++msgstr "" + +-#: ../gio/glib-compile-resources.c:592 +-msgid "Generate source header" +-msgstr "產生來源標頭" ++#: ../gio/gio-tool.c:239 ++msgid "Mount or unmount the locations" ++msgstr "" + +-#: ../gio/glib-compile-resources.c:593 +-msgid "Generate sourcecode used to link in the resource file into your code" +-msgstr "產生原始碼用來連結資源檔到你的程式碼中" ++#: ../gio/gio-tool.c:240 ++msgid "Move one or more files" ++msgstr "" + +-#: ../gio/glib-compile-resources.c:594 +-msgid "Generate dependency list" +-msgstr "產生相根據性清單" ++#: ../gio/gio-tool.c:241 ++msgid "Open files with the default application" ++msgstr "" + +-#: ../gio/glib-compile-resources.c:595 +-msgid "Don't automatically create and register resource" +-msgstr "不要自動建立與註冊資源" ++#: ../gio/gio-tool.c:242 ++msgid "Rename a file" ++msgstr "" + +-#: ../gio/glib-compile-resources.c:596 +-msgid "Don't export functions; declare them G_GNUC_INTERNAL" +-msgstr "不用匯出函數;宣告他們為 G_GNUC_INTERNAL" ++#: ../gio/gio-tool.c:243 ++msgid "Delete one or more files" ++msgstr "" + +-#: ../gio/glib-compile-resources.c:597 +-msgid "C identifier name used for the generated source code" +-msgstr "用於產生原始碼的 C 識別碼名稱" ++#: ../gio/gio-tool.c:244 ++msgid "Read from standard input and save" ++msgstr "" + +-#: ../gio/glib-compile-resources.c:623 +-msgid "" +-"Compile a resource specification into a resource file.\n" +-"Resource specification files have the extension .gresource.xml,\n" +-"and the resource file have the extension called .gresource." ++#: ../gio/gio-tool.c:245 ++msgid "Set a file attribute" + msgstr "" +-"將資源規格編譯進資源檔。\n" +-"資源規格檔案的延伸檔名必須為 .gresource.xml,\n" +-"而資源檔案的延伸檔名叫做 .gresource。" + +-#: ../gio/glib-compile-resources.c:639 +-#, c-format +-msgid "You should give exactly one file name\n" +-msgstr "你應該明確指定一個檔案名稱\n" ++#: ../gio/gio-tool.c:246 ++msgid "Move files or directories to the trash" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:772 +-msgid "empty names are not permitted" +-msgstr "不允許空名名稱" ++#: ../gio/gio-tool.c:247 ++msgid "Lists the contents of locations in a tree" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:782 +-#, c-format +-msgid "invalid name '%s': names must begin with a lowercase letter" +-msgstr "無效的名稱「%s」:名稱必須以小寫字母開頭" ++#: ../gio/gio-tool.c:249 ++#, fuzzy, c-format ++msgid "Use %s to get detailed help.\n" ++msgstr "" ++"使用「'%s help COMMAND」以取得詳細的求助。\n" ++"\n" + +-#: ../gio/glib-compile-schemas.c:794 +-#, c-format +-msgid "" +-"invalid name '%s': invalid character '%c'; only lowercase letters, numbers " +-"and hyphen ('-') are permitted." +-msgstr "無效的名稱「%s」:無效的字符「%c」;只允許小寫字母、數字和破折號 ('-')。" ++#: ../gio/gio-tool-cat.c:89 ++#, fuzzy ++msgid "Error writing to stdout" ++msgstr "寫入至檔案時發生錯誤:%s" + +-#: ../gio/glib-compile-schemas.c:803 +-#, c-format +-msgid "invalid name '%s': two successive hyphens ('--') are not permitted." +-msgstr "無效的名稱「%s」:不允許兩個破折號 ('--')。" ++#. Translators: commandline placeholder ++#: ../gio/gio-tool-cat.c:135 ../gio/gio-tool-info.c:382 ++#: ../gio/gio-tool-list.c:176 ../gio/gio-tool-mkdir.c:50 ++#: ../gio/gio-tool-monitor.c:39 ../gio/gio-tool-monitor.c:41 ++#: ../gio/gio-tool-monitor.c:43 ../gio/gio-tool-monitor.c:45 ++#: ../gio/gio-tool-monitor.c:206 ../gio/gio-tool-mount.c:1236 ++#: ../gio/gio-tool-open.c:72 ../gio/gio-tool-remove.c:50 ++#: ../gio/gio-tool-rename.c:47 ../gio/gio-tool-set.c:95 ++#: ../gio/gio-tool-trash.c:222 ../gio/gio-tool-tree.c:246 ++#, fuzzy ++msgid "LOCATION" ++msgstr "動作" + +-#: ../gio/glib-compile-schemas.c:812 +-#, c-format +-msgid "invalid name '%s': the last character may not be a hyphen ('-')." +-msgstr "無效的名稱「%s」:最後一個字符不能是破折號 ('-')。" ++#: ../gio/gio-tool-cat.c:140 ++msgid "Concatenate files and print to standard output." ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:820 +-#, c-format +-msgid "invalid name '%s': maximum length is 1024" +-msgstr "無效的名稱「%s」:最大長度為 1024" ++#: ../gio/gio-tool-cat.c:142 ++msgid "" ++"gio cat works just like the traditional cat utility, but using GIO\n" ++"locations instead of local files: for example, you can use something\n" ++"like smb://server/resource/file.txt as location." ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:889 +-#, c-format +-msgid " already specified" +-msgstr " 已經指定了" ++#: ../gio/gio-tool-cat.c:164 ../gio/gio-tool-info.c:413 ++#: ../gio/gio-tool-mkdir.c:78 ../gio/gio-tool-monitor.c:231 ++#: ../gio/gio-tool-mount.c:1287 ../gio/gio-tool-open.c:98 ++#: ../gio/gio-tool-remove.c:74 ../gio/gio-tool-trash.c:303 ++msgid "No locations given" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:915 +-msgid "cannot add keys to a 'list-of' schema" +-msgstr "不能將設定鍵加入 'list-of' schema" ++#: ../gio/gio-tool-copy.c:45 ../gio/gio-tool-move.c:40 ++#, fuzzy ++msgid "No target directory" ++msgstr "目標檔案是一個目錄" + +-#: ../gio/glib-compile-schemas.c:926 +-#, c-format +-msgid " already specified" +-msgstr " 已經指定了" ++#: ../gio/gio-tool-copy.c:46 ../gio/gio-tool-move.c:41 ++msgid "Show progress" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:944 +-#, c-format +-msgid "" +-" shadows in ; use " +-"to modify value" +-msgstr " 遮蔽 ;使用 來修改數值" ++#: ../gio/gio-tool-copy.c:47 ../gio/gio-tool-move.c:42 ++msgid "Prompt before overwrite" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:955 +-#, c-format +-msgid "" +-"exactly one of 'type', 'enum' or 'flags' must be specified as an attribute " +-"to " +-msgstr "必須明確指定「type」、「enum」或「flags」之一做為 的屬性" ++#: ../gio/gio-tool-copy.c:48 ++msgid "Preserve all attributes" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:974 +-#, c-format +-msgid "<%s id='%s'> not (yet) defined." +-msgstr "<%s id='%s'> 尚未定義。" ++#: ../gio/gio-tool-copy.c:49 ../gio/gio-tool-move.c:43 ++#: ../gio/gio-tool-save.c:51 ++#, fuzzy ++msgid "Backup existing destination files" ++msgstr "建立備份檔案失敗" + +-#: ../gio/glib-compile-schemas.c:989 +-#, c-format +-msgid "invalid GVariant type string '%s'" +-msgstr "無效的 GVariant 類型字串「%s」" ++#: ../gio/gio-tool-copy.c:50 ++msgid "Never follow symbolic links" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1019 +-msgid " given but schema isn't extending anything" +-msgstr "指定了 但 schema 並未延伸任何東西" ++#: ../gio/gio-tool-copy.c:51 ++msgid "Use default permissions for the destination" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1032 ++#: ../gio/gio-tool-copy.c:76 ../gio/gio-tool-move.c:69 + #, c-format +-msgid "no to override" +-msgstr "沒有 要覆蓋" ++msgid "Transferred %s out of %s (%s/s)" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1040 +-#, c-format +-msgid " already specified" +-msgstr " 已經指定了" ++#. Translators: commandline placeholder ++#: ../gio/gio-tool-copy.c:102 ../gio/gio-tool-move.c:96 ++msgid "SOURCE" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1111 +-#, c-format +-msgid " already specified" +-msgstr " 已經指定了" ++#. Translators: commandline placeholder ++#: ../gio/gio-tool-copy.c:102 ../gio/gio-tool-move.c:96 ++#: ../gio/gio-tool-save.c:162 ++msgid "DESTINATION" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1123 +-#, c-format +-msgid " extends not yet existing schema '%s'" +-msgstr " 延伸了尚不存在的 schema「%s」" ++#: ../gio/gio-tool-copy.c:107 ++msgid "Copy one or more files from SOURCE to DESTINATION." ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1139 +-#, c-format +-msgid " is list of not yet existing schema '%s'" +-msgstr " 是尚不存在的 schema「%s」的清單" ++#: ../gio/gio-tool-copy.c:109 ++msgid "" ++"gio copy is similar to the traditional cp utility, but using GIO\n" ++"locations instead of local files: for example, you can use something\n" ++"like smb://server/resource/file.txt as location." ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1147 +-#, c-format +-msgid "Can not be a list of a schema with a path" +-msgstr "不能成為有路徑 schema 的清單" ++#: ../gio/gio-tool-copy.c:151 ++#, fuzzy, c-format ++msgid "Destination %s is not a directory" ++msgstr "「%s」的資源不是目錄" + +-#: ../gio/glib-compile-schemas.c:1157 ++#: ../gio/gio-tool-copy.c:198 ../gio/gio-tool-move.c:188 + #, c-format +-msgid "Can not extend a schema with a path" +-msgstr "不能延伸有路徑的 schema" ++msgid "%s: overwrite “%s”? " ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1167 +-#, c-format +-msgid "" +-" is a list, extending which is not a list" +-msgstr " 是清單,卻延伸了不是清單的 " ++#: ../gio/gio-tool-info.c:39 ++#, fuzzy ++msgid "List writable attributes" ++msgstr "列出可用的動作" + +-#: ../gio/glib-compile-schemas.c:1177 +-#, c-format +-msgid "" +-" extends but '%s' " +-"does not extend '%s'" +-msgstr " 延伸了 但是 '%s' 並未延伸 '%s'" ++#: ../gio/gio-tool-info.c:40 ++#, fuzzy ++msgid "Get file system info" ++msgstr "取得檔案系統資訊時發生錯誤:%s" + +-#: ../gio/glib-compile-schemas.c:1194 +-#, c-format +-msgid "a path, if given, must begin and end with a slash" +-msgstr "如果指定了路徑,開頭與結尾都要加上斜線" ++#: ../gio/gio-tool-info.c:41 ../gio/gio-tool-list.c:37 ++msgid "The attributes to get" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1201 +-#, c-format +-msgid "the path of a list must end with ':/'" +-msgstr "清單的路徑不能以‘:/’為結尾" ++#: ../gio/gio-tool-info.c:41 ../gio/gio-tool-list.c:37 ++msgid "ATTRIBUTES" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1233 +-#, c-format +-msgid "<%s id='%s'> already specified" +-msgstr "<%s id='%s'> 已經指定了" ++#: ../gio/gio-tool-info.c:42 ../gio/gio-tool-list.c:40 ../gio/gio-tool-set.c:37 ++msgid "Don’t follow symbolic links" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1457 ++#: ../gio/gio-tool-info.c:105 + #, c-format +-msgid "Element <%s> not allowed at the top level" +-msgstr "元素 <%s> 不允許在頂端層級" ++msgid "attributes:\n" ++msgstr "" + +-#. Translators: Do not translate "--strict". +-#: ../gio/glib-compile-schemas.c:1752 ../gio/glib-compile-schemas.c:1823 +-#: ../gio/glib-compile-schemas.c:1899 ++#. Translators: This is a noun and represents and attribute of a file ++#: ../gio/gio-tool-info.c:166 + #, c-format +-msgid "--strict was specified; exiting.\n" +-msgstr "並且指定了 --strict;正在結束。\n" ++msgid "display name: %s\n" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1760 ++#. Translators: This is a noun and represents and attribute of a file ++#: ../gio/gio-tool-info.c:176 + #, c-format +-msgid "This entire file has been ignored.\n" +-msgstr "這整個檔案都被忽略了。\n" ++msgid "edit name: %s\n" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1819 ++#: ../gio/gio-tool-info.c:184 + #, c-format +-msgid "Ignoring this file.\n" +-msgstr "忽略這個檔案。\n" ++msgid "name: %s\n" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1859 ++#: ../gio/gio-tool-info.c:191 + #, c-format +-msgid "No such key '%s' in schema '%s' as specified in override file '%s'" +-msgstr "在覆蓋檔案「%3$s」的 schema「%2$s」中沒有指定這個設定鍵「%1$s」" ++msgid "type: %s\n" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1865 ../gio/glib-compile-schemas.c:1923 +-#: ../gio/glib-compile-schemas.c:1951 ++#: ../gio/gio-tool-info.c:197 + #, c-format +-msgid "; ignoring override for this key.\n" +-msgstr ";忽略這個設定鍵的覆蓋。\n" ++msgid "size: " ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1869 ../gio/glib-compile-schemas.c:1927 +-#: ../gio/glib-compile-schemas.c:1955 ++#: ../gio/gio-tool-info.c:203 + #, c-format +-msgid " and --strict was specified; exiting.\n" +-msgstr "並且指定了 --strict;正在結束。\n" ++msgid "hidden\n" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1885 +-#, c-format +-msgid "" +-"error parsing key '%s' in schema '%s' as specified in override file '%s': %s." +-msgstr "在覆蓋檔案「%3$s」指定的 schema「%2$s」分析設定鍵「%1$s」時發生錯誤:%4$s。" ++#: ../gio/gio-tool-info.c:206 ++#, fuzzy, c-format ++msgid "uri: %s\n" ++msgstr "錯誤:%s\n" + +-#: ../gio/glib-compile-schemas.c:1895 ++#: ../gio/gio-tool-info.c:213 + #, c-format +-msgid "Ignoring override for this key.\n" +-msgstr "忽略這個設定鍵的覆蓋。\n" ++msgid "local path: %s\n" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1913 ++#: ../gio/gio-tool-info.c:247 + #, c-format +-msgid "" +-"override for key '%s' in schema '%s' in override file '%s' is outside the " +-"range given in the schema" +-msgstr "在覆蓋檔案「%3$s」中覆蓋 schema「%2$s」的設定鍵「%1$s」超出了 schema 指定的範圍" ++msgid "unix mount: %s%s %s %s %s\n" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1941 ++#: ../gio/gio-tool-info.c:328 + #, c-format +-msgid "" +-"override for key '%s' in schema '%s' in override file '%s' is not in the " +-"list of valid choices" +-msgstr "在覆蓋檔案「%3$s」中覆蓋 schema「%2$s」的設定鍵「%1$s」不在有效的選擇清單中" ++msgid "Settable attributes:\n" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1994 +-msgid "where to store the gschemas.compiled file" +-msgstr "要將 gschemas.compiled 檔案儲存到哪裏" ++#: ../gio/gio-tool-info.c:352 ++#, c-format ++msgid "Writable attribute namespaces:\n" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1995 +-msgid "Abort on any errors in schemas" +-msgstr "在 schema 中有任何錯誤即中止" ++#: ../gio/gio-tool-info.c:387 ++#, fuzzy ++msgid "Show information about locations." ++msgstr "顯示 GApplication 選項" + +-#: ../gio/glib-compile-schemas.c:1996 +-msgid "Do not write the gschema.compiled file" +-msgstr "不要寫入 gschemas.compiled 檔案" ++#: ../gio/gio-tool-info.c:389 ++msgid "" ++"gio info is similar to the traditional ls utility, but using GIO\n" ++"locations instead of local files: for example, you can use something\n" ++"like smb://server/resource/file.txt as location. File attributes can\n" ++"be specified with their GIO name, e.g. standard::icon, or just by\n" ++"namespace, e.g. unix, or by “*”, which matches all attributes" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:1997 +-msgid "Do not enforce key name restrictions" +-msgstr "不要強制設定鍵名稱限制" ++#. Translators: commandline placeholder ++#: ../gio/gio-tool-launch.c:56 ++msgid "DESKTOP-FILE [FILE-ARG …]" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:2026 ++#: ../gio/gio-tool-launch.c:59 + msgid "" +-"Compile all GSettings schema files into a schema cache.\n" +-"Schema files are required to have the extension .gschema.xml,\n" +-"and the cache file is called gschemas.compiled." ++"Launch an application from a desktop file, passing optional filename " ++"arguments to it." + msgstr "" +-"將所有的 GSettings schema 檔案編譯為 schema 快取。\n" +-"Schema 檔案的延伸檔名必須為 .gschema.xml,\n" +-"而快取檔案叫做 gschemas.compiled。" + +-#: ../gio/glib-compile-schemas.c:2042 +-#, c-format +-msgid "You should give exactly one directory name\n" +-msgstr "你應該明確指定一個目錄名稱\n" ++#: ../gio/gio-tool-launch.c:79 ++msgid "No desktop file given" ++msgstr "" + +-#: ../gio/glib-compile-schemas.c:2081 +-#, c-format +-msgid "No schema files found: " +-msgstr "找不到 schema 檔案:" ++#: ../gio/gio-tool-launch.c:87 ++#, fuzzy ++msgid "The launch command is not currently supported on this platform" ++msgstr "你的平臺沒有 GCredentials 支援" + +-#: ../gio/glib-compile-schemas.c:2084 +-#, c-format +-msgid "doing nothing.\n" +-msgstr "不做任何事。\n" ++#: ../gio/gio-tool-launch.c:100 ++#, fuzzy, c-format ++msgid "Unable to load ‘%s‘: %s" ++msgstr "無法建立回收筒目錄 %s:%s" + +-#: ../gio/glib-compile-schemas.c:2087 ++#: ../gio/gio-tool-launch.c:109 + #, c-format +-msgid "removed existing output file.\n" +-msgstr "移除現有的輸出檔案。\n" ++msgid "Unable to load application information for ‘%s‘" ++msgstr "" + +-#: ../gio/glocaldirectorymonitor.c:224 +-msgid "Unable to find default local directory monitor type" +-msgstr "無法找到預設的本地端目錄監視器類型" ++#: ../gio/gio-tool-launch.c:121 ++#, fuzzy, c-format ++msgid "Unable to launch application ‘%s’: %s" ++msgstr "執行應用程式時發生錯誤:%s" + +-#: ../gio/glocalfile.c:604 ../gio/win32/gwinhttpfile.c:420 ++#: ../gio/gio-tool-list.c:38 ../gio/gio-tool-tree.c:34 ++msgid "Show hidden files" ++msgstr "" ++ ++#: ../gio/gio-tool-list.c:39 ++msgid "Use a long listing format" ++msgstr "" ++ ++#: ../gio/gio-tool-list.c:41 ++msgid "Print display names" ++msgstr "" ++ ++#: ../gio/gio-tool-list.c:42 ++msgid "Print full URIs" ++msgstr "" ++ ++#: ../gio/gio-tool-list.c:181 ++msgid "List the contents of the locations." ++msgstr "" ++ ++#: ../gio/gio-tool-list.c:183 ++msgid "" ++"gio list is similar to the traditional ls utility, but using GIO\n" ++"locations instead of local files: for example, you can use something\n" ++"like smb://server/resource/file.txt as location. File attributes can\n" ++"be specified with their GIO name, e.g. standard::icon" ++msgstr "" ++ ++#. Translators: commandline placeholder ++#: ../gio/gio-tool-mime.c:73 ++msgid "MIMETYPE" ++msgstr "" ++ ++#: ../gio/gio-tool-mime.c:73 ++msgid "HANDLER" ++msgstr "" ++ ++#: ../gio/gio-tool-mime.c:78 ++msgid "Get or set the handler for a mimetype." ++msgstr "" ++ ++#: ../gio/gio-tool-mime.c:80 ++msgid "" ++"If no handler is given, lists registered and recommended applications\n" ++"for the mimetype. If a handler is given, it is set as the default\n" ++"handler for the mimetype." ++msgstr "" ++ ++#: ../gio/gio-tool-mime.c:102 ++msgid "Must specify a single mimetype, and maybe a handler" ++msgstr "" ++ ++#: ../gio/gio-tool-mime.c:118 ++#, c-format ++msgid "No default applications for “%s”\n" ++msgstr "" ++ ++#: ../gio/gio-tool-mime.c:124 ++#, fuzzy, c-format ++msgid "Default application for “%s”: %s\n" ++msgstr "無效的應用程式 id:「%s」\n" ++ ++#: ../gio/gio-tool-mime.c:129 ++#, fuzzy, c-format ++msgid "Registered applications:\n" ++msgstr "列出應用程式" ++ ++#: ../gio/gio-tool-mime.c:131 ++#, fuzzy, c-format ++msgid "No registered applications\n" ++msgstr "列出應用程式" ++ ++#: ../gio/gio-tool-mime.c:142 ++#, fuzzy, c-format ++msgid "Recommended applications:\n" ++msgstr "列出應用程式" ++ ++#: ../gio/gio-tool-mime.c:144 ++#, fuzzy, c-format ++msgid "No recommended applications\n" ++msgstr "找不到應用程式" ++ ++#: ../gio/gio-tool-mime.c:164 ++#, fuzzy, c-format ++msgid "Failed to load info for handler “%s”" ++msgstr "讀取檔案‘%s’失敗:%s" ++ ++#: ../gio/gio-tool-mime.c:170 ++#, c-format ++msgid "Failed to set “%s” as the default handler for “%s”: %s\n" ++msgstr "" ++ ++#: ../gio/gio-tool-mkdir.c:33 ++#, fuzzy ++msgid "Create parent directories" ++msgstr "不能開啟目錄" ++ ++#: ../gio/gio-tool-mkdir.c:54 ++#, fuzzy ++msgid "Create directories." ++msgstr "不能開啟目錄" ++ ++#: ../gio/gio-tool-mkdir.c:56 ++msgid "" ++"gio mkdir is similar to the traditional mkdir utility, but using GIO\n" ++"locations instead of local files: for example, you can use something\n" ++"like smb://server/resource/mydir as location." ++msgstr "" ++ ++#: ../gio/gio-tool-monitor.c:39 ++msgid "Monitor a directory (default: depends on type)" ++msgstr "" ++ ++#: ../gio/gio-tool-monitor.c:41 ++msgid "Monitor a file (default: depends on type)" ++msgstr "" ++ ++#: ../gio/gio-tool-monitor.c:43 ++msgid "Monitor a file directly (notices changes made via hardlinks)" ++msgstr "" ++ ++#: ../gio/gio-tool-monitor.c:45 ++msgid "Monitors a file directly, but doesn’t report changes" ++msgstr "" ++ ++#: ../gio/gio-tool-monitor.c:47 ++msgid "Report moves and renames as simple deleted/created events" ++msgstr "" ++ ++#: ../gio/gio-tool-monitor.c:49 ++msgid "Watch for mount events" ++msgstr "" ++ ++#: ../gio/gio-tool-monitor.c:211 ++msgid "Monitor files or directories for changes." ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:65 ++msgid "Mount as mountable" ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:66 ++msgid "Mount volume with device file, or other identifier" ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:66 ++msgid "ID" ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:67 ++msgid "Unmount" ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:68 ++msgid "Eject" ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:69 ++msgid "Stop drive with device file" ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:69 ++msgid "DEVICE" ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:70 ++msgid "Unmount all mounts with the given scheme" ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:70 ++msgid "SCHEME" ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:71 ++msgid "Ignore outstanding file operations when unmounting or ejecting" ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:72 ++msgid "Use an anonymous user when authenticating" ++msgstr "" ++ ++#. Translator: List here is a verb as in 'List all mounts' ++#: ../gio/gio-tool-mount.c:74 ++msgid "List" ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:75 ++msgid "Monitor events" ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:76 ++#, fuzzy ++msgid "Show extra information" ++msgstr "顯示說明的選項" ++ ++#: ../gio/gio-tool-mount.c:77 ++msgid "The numeric PIM when unlocking a VeraCrypt volume" ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:77 ++#, fuzzy ++msgid "PIM" ++msgstr "下午" ++ ++#: ../gio/gio-tool-mount.c:78 ++msgid "Mount a TCRYPT hidden volume" ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:79 ++msgid "Mount a TCRYPT system volume" ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:276 ../gio/gio-tool-mount.c:308 ++msgid "Anonymous access denied" ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:559 ++msgid "No drive for device file" ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:1051 ++msgid "No volume for given ID" ++msgstr "" ++ ++#: ../gio/gio-tool-mount.c:1240 ++msgid "Mount or unmount the locations." ++msgstr "" ++ ++#: ../gio/gio-tool-move.c:44 ++msgid "Don’t use copy and delete fallback" ++msgstr "" ++ ++#: ../gio/gio-tool-move.c:101 ++msgid "Move one or more files from SOURCE to DEST." ++msgstr "" ++ ++#: ../gio/gio-tool-move.c:103 ++msgid "" ++"gio move is similar to the traditional mv utility, but using GIO\n" ++"locations instead of local files: for example, you can use something\n" ++"like smb://server/resource/file.txt as location" ++msgstr "" ++ ++#: ../gio/gio-tool-move.c:145 ++#, fuzzy, c-format ++msgid "Target %s is not a directory" ++msgstr "目標檔案是一個目錄" ++ ++#: ../gio/gio-tool-open.c:77 ++msgid "" ++"Open files with the default application that\n" ++"is registered to handle files of this type." ++msgstr "" ++ ++#: ../gio/gio-tool-remove.c:33 ../gio/gio-tool-trash.c:35 ++msgid "Ignore nonexistent files, never prompt" ++msgstr "" ++ ++#: ../gio/gio-tool-remove.c:54 ++msgid "Delete the given files." ++msgstr "" ++ ++#: ../gio/gio-tool-rename.c:47 ++msgid "NAME" ++msgstr "" ++ ++#: ../gio/gio-tool-rename.c:52 ++msgid "Rename a file." ++msgstr "" ++ ++#: ../gio/gio-tool-rename.c:72 ++#, fuzzy ++msgid "Missing argument" ++msgstr "缺少 %s 的參數" ++ ++#: ../gio/gio-tool-rename.c:78 ../gio/gio-tool-save.c:192 ++#: ../gio/gio-tool-set.c:150 ++#, fuzzy ++msgid "Too many arguments" ++msgstr "" ++"「%s」不需要引數\n" ++"\n" ++ ++#: ../gio/gio-tool-rename.c:97 ++#, c-format ++msgid "Rename successful. New uri: %s\n" ++msgstr "" ++ ++#: ../gio/gio-tool-save.c:52 ++msgid "Only create if not existing" ++msgstr "" ++ ++#: ../gio/gio-tool-save.c:53 ++msgid "Append to end of file" ++msgstr "" ++ ++#: ../gio/gio-tool-save.c:54 ++msgid "When creating, restrict access to the current user" ++msgstr "" ++ ++#: ../gio/gio-tool-save.c:55 ++msgid "When replacing, replace as if the destination did not exist" ++msgstr "" ++ ++#. Translators: The "etag" is a token allowing to verify whether a file has been modified ++#: ../gio/gio-tool-save.c:57 ++msgid "Print new etag at end" ++msgstr "" ++ ++#. Translators: The "etag" is a token allowing to verify whether a file has been modified ++#: ../gio/gio-tool-save.c:59 ++msgid "The etag of the file being overwritten" ++msgstr "" ++ ++#: ../gio/gio-tool-save.c:59 ++msgid "ETAG" ++msgstr "" ++ ++#: ../gio/gio-tool-save.c:115 ++#, fuzzy ++msgid "Error reading from standard input" ++msgstr "從處理器讀取時發生錯誤:%s" ++ ++#. Translators: The "etag" is a token allowing to verify whether a file has been modified ++#: ../gio/gio-tool-save.c:141 ++#, fuzzy, c-format ++msgid "Etag not available\n" ++msgstr "TLS 支援無法使用" ++ ++#: ../gio/gio-tool-save.c:165 ++msgid "Read from standard input and save to DEST." ++msgstr "" ++ ++#: ../gio/gio-tool-save.c:185 ++msgid "No destination given" ++msgstr "" ++ ++#: ../gio/gio-tool-set.c:36 ++msgid "Type of the attribute" ++msgstr "" ++ ++#: ../gio/gio-tool-set.c:36 ++msgid "TYPE" ++msgstr "" ++ ++#: ../gio/gio-tool-set.c:38 ++msgid "Unset given attribute" ++msgstr "" ++ ++#: ../gio/gio-tool-set.c:95 ++msgid "ATTRIBUTE" ++msgstr "" ++ ++#: ../gio/gio-tool-set.c:95 ++msgid "VALUE" ++msgstr "" ++ ++#: ../gio/gio-tool-set.c:99 ++msgid "Set a file attribute of LOCATION." ++msgstr "" ++ ++#: ../gio/gio-tool-set.c:119 ++#, fuzzy ++msgid "Location not specified" ++msgstr "沒有指定連線端點" ++ ++#: ../gio/gio-tool-set.c:126 ++#, fuzzy ++msgid "Attribute not specified" ++msgstr "錯誤:尚未指定信號。\n" ++ ++#: ../gio/gio-tool-set.c:143 ++#, fuzzy ++msgid "Value not specified" ++msgstr "錯誤:尚未指定信號。\n" ++ ++#: ../gio/gio-tool-set.c:193 ++#, fuzzy, c-format ++msgid "Invalid attribute type “%s”" ++msgstr "無效的屬性類型(應為字串值)" ++ ++#: ../gio/gio-tool-trash.c:36 ++msgid "Empty the trash" ++msgstr "" ++ ++#: ../gio/gio-tool-trash.c:37 ++msgid "List files in the trash with their original locations" ++msgstr "" ++ ++#: ../gio/gio-tool-trash.c:38 ++msgid "" ++"Restore a file from trash to its original location (possibly recreating the " ++"directory)" ++msgstr "" ++ ++#: ../gio/gio-tool-trash.c:108 ++#, fuzzy ++msgid "Unable to find original path" ++msgstr "無法找到應用程式要求的終端機" ++ ++#: ../gio/gio-tool-trash.c:125 ++#, fuzzy ++msgid "Unable to recreate original location: " ++msgstr "無法建立 socket:%s" ++ ++#: ../gio/gio-tool-trash.c:138 ++#, fuzzy ++msgid "Unable to move file to its original location: " ++msgstr "無法找到應用程式的桌面檔案 %s\n" ++ ++#: ../gio/gio-tool-trash.c:227 ++msgid "Move/Restore files or directories to the trash." ++msgstr "" ++ ++#: ../gio/gio-tool-trash.c:229 ++msgid "" ++"Note: for --restore switch, if the original location of the trashed file \n" ++"already exists, it will not be overwritten unless --force is set." ++msgstr "" ++ ++#: ../gio/gio-tool-trash.c:260 ++msgid "Location given doesn't start with trash:///" ++msgstr "" ++ ++#: ../gio/gio-tool-tree.c:35 ++msgid "Follow symbolic links, mounts and shortcuts" ++msgstr "" ++ ++#: ../gio/gio-tool-tree.c:251 ++msgid "List contents of directories in a tree-like format." ++msgstr "" ++ ++#: ../gio/glib-compile-resources.c:142 ../gio/glib-compile-schemas.c:1518 ++#, c-format ++msgid "Element <%s> not allowed inside <%s>" ++msgstr "元素 <%s> 不可出現在 <%s> 內" ++ ++#: ../gio/glib-compile-resources.c:146 ++#, c-format ++msgid "Element <%s> not allowed at toplevel" ++msgstr "元素 <%s> 不允許在頂端層級" ++ ++#: ../gio/glib-compile-resources.c:236 ++#, c-format ++msgid "File %s appears multiple times in the resource" ++msgstr "檔案 %s 似乎在這個資源出出現多次" ++ ++#: ../gio/glib-compile-resources.c:247 ++#, fuzzy, c-format ++msgid "Failed to locate “%s” in any source directory" ++msgstr "無法在任何來源目錄中定位「%s」" ++ ++#: ../gio/glib-compile-resources.c:258 ++#, fuzzy, c-format ++msgid "Failed to locate “%s” in current directory" ++msgstr "無法在目前的目錄中定位「%s」" ++ ++#: ../gio/glib-compile-resources.c:292 ++#, fuzzy, c-format ++msgid "Unknown processing option “%s”" ++msgstr "不明的置處理選項「%s」" ++ ++#. Translators: the first %s is a gresource XML attribute, ++#. * the second %s is an environment variable, and the third ++#. * %s is a command line tool ++#. ++#: ../gio/glib-compile-resources.c:312 ../gio/glib-compile-resources.c:369 ++#: ../gio/glib-compile-resources.c:426 ++#, c-format ++msgid "%s preprocessing requested, but %s is not set, and %s is not in PATH" ++msgstr "" ++ ++#: ../gio/glib-compile-resources.c:459 ++#, c-format ++msgid "Error reading file %s: %s" ++msgstr "讀取檔案 %s 時發生錯誤:%s" ++ ++#: ../gio/glib-compile-resources.c:479 ++#, c-format ++msgid "Error compressing file %s" ++msgstr "壓縮檔案 %s 時發生錯誤" ++ ++#: ../gio/glib-compile-resources.c:543 ++#, c-format ++msgid "text may not appear inside <%s>" ++msgstr "在 <%s> 內不能出現文字" ++ ++#: ../gio/glib-compile-resources.c:821 ../gio/glib-compile-schemas.c:2176 ++msgid "Show program version and exit" ++msgstr "" ++ ++#: ../gio/glib-compile-resources.c:822 ++#, fuzzy ++msgid "Name of the output file" ++msgstr "輸出檔案的名稱" ++ ++#: ../gio/glib-compile-resources.c:823 ++#, fuzzy ++msgid "" ++"The directories to load files referenced in FILE from (default: current " ++"directory)" ++msgstr "用來讀取檔案的目錄 (預設為目前的目錄)" ++ ++#: ../gio/glib-compile-resources.c:823 ../gio/glib-compile-schemas.c:2177 ++#: ../gio/glib-compile-schemas.c:2207 ++msgid "DIRECTORY" ++msgstr "目錄" ++ ++#: ../gio/glib-compile-resources.c:824 ++msgid "" ++"Generate output in the format selected for by the target filename extension" ++msgstr "以目標檔案名稱的延伸檔名來選擇要產生輸出的格式" ++ ++#: ../gio/glib-compile-resources.c:825 ++msgid "Generate source header" ++msgstr "產生來源標頭" ++ ++#: ../gio/glib-compile-resources.c:826 ++#, fuzzy ++msgid "Generate source code used to link in the resource file into your code" ++msgstr "產生原始碼用來連結資源檔到你的程式碼中" ++ ++#: ../gio/glib-compile-resources.c:827 ++msgid "Generate dependency list" ++msgstr "產生相根據性清單" ++ ++#: ../gio/glib-compile-resources.c:828 ++msgid "Name of the dependency file to generate" ++msgstr "" ++ ++#: ../gio/glib-compile-resources.c:829 ++msgid "Include phony targets in the generated dependency file" ++msgstr "" ++ ++#: ../gio/glib-compile-resources.c:830 ++#, fuzzy ++msgid "Don’t automatically create and register resource" ++msgstr "不要自動建立與註冊資源" ++ ++#: ../gio/glib-compile-resources.c:831 ++#, fuzzy ++msgid "Don’t export functions; declare them G_GNUC_INTERNAL" ++msgstr "不用匯出函數;宣告他們為 G_GNUC_INTERNAL" ++ ++#: ../gio/glib-compile-resources.c:832 ++msgid "" ++"Don’t embed resource data in the C file; assume it's linked externally " ++"instead" ++msgstr "" ++ ++#: ../gio/glib-compile-resources.c:833 ++msgid "C identifier name used for the generated source code" ++msgstr "用於產生原始碼的 C 識別碼名稱" ++ ++#: ../gio/glib-compile-resources.c:834 ++msgid "The target C compiler (default: the CC environment variable)" ++msgstr "" ++ ++#: ../gio/glib-compile-resources.c:861 ++msgid "" ++"Compile a resource specification into a resource file.\n" ++"Resource specification files have the extension .gresource.xml,\n" ++"and the resource file have the extension called .gresource." ++msgstr "" ++"將資源規格編譯進資源檔。\n" ++"資源規格檔案的延伸檔名必須為 .gresource.xml,\n" ++"而資源檔案的延伸檔名叫做 .gresource。" ++ ++#: ../gio/glib-compile-resources.c:893 ++#, c-format ++msgid "You should give exactly one file name\n" ++msgstr "你應該明確指定一個檔案名稱\n" ++ ++#: ../gio/glib-compile-schemas.c:95 ++#, c-format ++msgid "nick must be a minimum of 2 characters" ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:106 ++#, fuzzy, c-format ++msgid "Invalid numeric value" ++msgstr "提供了無效的符號連結值" ++ ++#: ../gio/glib-compile-schemas.c:114 ++#, fuzzy, c-format ++msgid " already specified" ++msgstr "<%s id='%s'> 已經指定了" ++ ++#: ../gio/glib-compile-schemas.c:122 ++#, fuzzy, c-format ++msgid "value='%s' already specified" ++msgstr " 已經指定了" ++ ++#: ../gio/glib-compile-schemas.c:136 ++#, c-format ++msgid "flags values must have at most 1 bit set" ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:161 ++#, c-format ++msgid "<%s> must contain at least one " ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:317 ++#, fuzzy, c-format ++msgid "<%s> is not contained in the specified range" ++msgstr "沒有指定連線端點" ++ ++#: ../gio/glib-compile-schemas.c:329 ++#, c-format ++msgid "<%s> is not a valid member of the specified enumerated type" ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:335 ++#, c-format ++msgid "<%s> contains string not in the specified flags type" ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:341 ++#, c-format ++msgid "<%s> contains a string not in " ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:375 ++#, fuzzy ++msgid " already specified for this key" ++msgstr " 已經指定了" ++ ++#: ../gio/glib-compile-schemas.c:393 ++#, c-format ++msgid " not allowed for keys of type “%s”" ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:410 ++#, c-format ++msgid " specified minimum is greater than maximum" ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:435 ++#, c-format ++msgid "unsupported l10n category: %s" ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:443 ++msgid "l10n requested, but no gettext domain given" ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:455 ++msgid "translation context given for value without l10n enabled" ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:477 ++#, c-format ++msgid "Failed to parse value of type “%s”: " ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:494 ++msgid "" ++" cannot be specified for keys tagged as having an enumerated type" ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:503 ++#, fuzzy ++msgid " already specified for this key" ++msgstr " 已經指定了" ++ ++#: ../gio/glib-compile-schemas.c:515 ++#, c-format ++msgid " not allowed for keys of type “%s”" ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:531 ++#, fuzzy, c-format ++msgid " already given" ++msgstr " 已經指定了" ++ ++#: ../gio/glib-compile-schemas.c:546 ++#, c-format ++msgid " must contain at least one " ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:560 ++#, fuzzy ++msgid " already specified for this key" ++msgstr " 已經指定了" ++ ++#: ../gio/glib-compile-schemas.c:564 ++msgid "" ++" can only be specified for keys with enumerated or flags types or " ++"after " ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:583 ++#, c-format ++msgid "" ++" given when “%s” is already a member of the enumerated " ++"type" ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:589 ++#, c-format ++msgid " given when was already given" ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:597 ++#, fuzzy, c-format ++msgid " already specified" ++msgstr "<%s id='%s'> 已經指定了" ++ ++#: ../gio/glib-compile-schemas.c:607 ++#, c-format ++msgid "alias target “%s” is not in enumerated type" ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:608 ++#, c-format ++msgid "alias target “%s” is not in " ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:623 ++#, c-format ++msgid " must contain at least one " ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:797 ++#, fuzzy ++msgid "Empty names are not permitted" ++msgstr "不允許空名名稱" ++ ++#: ../gio/glib-compile-schemas.c:807 ++#, fuzzy, c-format ++msgid "Invalid name “%s”: names must begin with a lowercase letter" ++msgstr "無效的名稱「%s」:名稱必須以小寫字母開頭" ++ ++#: ../gio/glib-compile-schemas.c:819 ++#, fuzzy, c-format ++msgid "" ++"Invalid name “%s”: invalid character “%c”; only lowercase letters, numbers " ++"and hyphen (“-”) are permitted" ++msgstr "" ++"無效的名稱「%s」:無效的字符「%c」;只允許小寫字母、數字和破折號 ('-')。" ++ ++#: ../gio/glib-compile-schemas.c:828 ++#, fuzzy, c-format ++msgid "Invalid name “%s”: two successive hyphens (“--”) are not permitted" ++msgstr "無效的名稱「%s」:不允許兩個破折號 ('--')。" ++ ++#: ../gio/glib-compile-schemas.c:837 ++#, fuzzy, c-format ++msgid "Invalid name “%s”: the last character may not be a hyphen (“-”)" ++msgstr "無效的名稱「%s」:最後一個字符不能是破折號 ('-')。" ++ ++#: ../gio/glib-compile-schemas.c:845 ++#, fuzzy, c-format ++msgid "Invalid name “%s”: maximum length is 1024" ++msgstr "無效的名稱「%s」:最大長度為 1024" ++ ++#: ../gio/glib-compile-schemas.c:917 ++#, c-format ++msgid " already specified" ++msgstr " 已經指定了" ++ ++#: ../gio/glib-compile-schemas.c:943 ++#, fuzzy ++msgid "Cannot add keys to a “list-of” schema" ++msgstr "不能將設定鍵加入 'list-of' schema" ++ ++#: ../gio/glib-compile-schemas.c:954 ++#, c-format ++msgid " already specified" ++msgstr " 已經指定了" ++ ++#: ../gio/glib-compile-schemas.c:972 ++#, c-format ++msgid "" ++" shadows in ; use " ++"to modify value" ++msgstr "" ++" 遮蔽 ;使用 來" ++"修改數值" ++ ++#: ../gio/glib-compile-schemas.c:983 ++#, fuzzy, c-format ++msgid "" ++"Exactly one of “type”, “enum” or “flags” must be specified as an attribute " ++"to " ++msgstr "必須明確指定「type」、「enum」或「flags」之一做為 的屬性" ++ ++#: ../gio/glib-compile-schemas.c:1002 ++#, c-format ++msgid "<%s id='%s'> not (yet) defined." ++msgstr "<%s id='%s'> 尚未定義。" ++ ++#: ../gio/glib-compile-schemas.c:1017 ++#, fuzzy, c-format ++msgid "Invalid GVariant type string “%s”" ++msgstr "無效的 GVariant 類型字串「%s」" ++ ++#: ../gio/glib-compile-schemas.c:1047 ++#, fuzzy ++msgid " given but schema isn’t extending anything" ++msgstr "指定了 但 schema 並未延伸任何東西" ++ ++#: ../gio/glib-compile-schemas.c:1060 ++#, fuzzy, c-format ++msgid "No to override" ++msgstr "沒有 要覆蓋" ++ ++#: ../gio/glib-compile-schemas.c:1068 ++#, c-format ++msgid " already specified" ++msgstr " 已經指定了" ++ ++#: ../gio/glib-compile-schemas.c:1141 ++#, c-format ++msgid " already specified" ++msgstr " 已經指定了" ++ ++#: ../gio/glib-compile-schemas.c:1153 ++#, fuzzy, c-format ++msgid " extends not yet existing schema “%s”" ++msgstr " 延伸了尚不存在的 schema「%s」" ++ ++#: ../gio/glib-compile-schemas.c:1169 ++#, fuzzy, c-format ++msgid " is list of not yet existing schema “%s”" ++msgstr " 是尚不存在的 schema「%s」的清單" ++ ++#: ../gio/glib-compile-schemas.c:1177 ++#, fuzzy, c-format ++msgid "Cannot be a list of a schema with a path" ++msgstr "不能成為有路徑 schema 的清單" ++ ++#: ../gio/glib-compile-schemas.c:1187 ++#, fuzzy, c-format ++msgid "Cannot extend a schema with a path" ++msgstr "不能延伸有路徑的 schema" ++ ++#: ../gio/glib-compile-schemas.c:1197 ++#, c-format ++msgid "" ++" is a list, extending which is not a list" ++msgstr " 是清單,卻延伸了不是清單的 " ++ ++#: ../gio/glib-compile-schemas.c:1207 ++#, fuzzy, c-format ++msgid "" ++" extends but “%s” " ++"does not extend “%s”" ++msgstr "" ++" 延伸了 但是 '%s' " ++"並未延伸 '%s'" ++ ++#: ../gio/glib-compile-schemas.c:1224 ++#, fuzzy, c-format ++msgid "A path, if given, must begin and end with a slash" ++msgstr "如果指定了路徑,開頭與結尾都要加上斜線" ++ ++#: ../gio/glib-compile-schemas.c:1231 ++#, fuzzy, c-format ++msgid "The path of a list must end with “:/”" ++msgstr "清單的路徑不能以‘:/’為結尾" ++ ++#: ../gio/glib-compile-schemas.c:1274 ++#, c-format ++msgid "<%s id='%s'> already specified" ++msgstr "<%s id='%s'> 已經指定了" ++ ++#: ../gio/glib-compile-schemas.c:1424 ../gio/glib-compile-schemas.c:1440 ++#, fuzzy, c-format ++msgid "Only one <%s> element allowed inside <%s>" ++msgstr "元素 <%s> 不可出現在 <%s> 內" ++ ++#: ../gio/glib-compile-schemas.c:1522 ++#, c-format ++msgid "Element <%s> not allowed at the top level" ++msgstr "元素 <%s> 不允許在頂端層級" ++ ++#: ../gio/glib-compile-schemas.c:1540 ++msgid "Element is required in " ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:1630 ++#, fuzzy, c-format ++msgid "Text may not appear inside <%s>" ++msgstr "在 <%s> 內不能出現文字" ++ ++#: ../gio/glib-compile-schemas.c:1698 ++#, c-format ++msgid "Warning: undefined reference to " ++msgstr "" ++ ++#. Translators: Do not translate "--strict". ++#: ../gio/glib-compile-schemas.c:1837 ../gio/glib-compile-schemas.c:1916 ++#, fuzzy ++msgid "--strict was specified; exiting." ++msgstr "並且指定了 --strict;正在結束。\n" ++ ++#: ../gio/glib-compile-schemas.c:1849 ++#, fuzzy ++msgid "This entire file has been ignored." ++msgstr "這整個檔案都被忽略了。\n" ++ ++#: ../gio/glib-compile-schemas.c:1912 ++#, fuzzy ++msgid "Ignoring this file." ++msgstr "忽略這個檔案。\n" ++ ++#: ../gio/glib-compile-schemas.c:1967 ++#, fuzzy, c-format ++msgid "" ++"No such key “%s” in schema “%s” as specified in override file “%s”; ignoring " ++"override for this key." ++msgstr "在覆蓋檔案「%3$s」的 schema「%2$s」中沒有指定這個設定鍵「%1$s」" ++ ++#: ../gio/glib-compile-schemas.c:1975 ++#, fuzzy, c-format ++msgid "" ++"No such key “%s” in schema “%s” as specified in override file “%s” and --" ++"strict was specified; exiting." ++msgstr "在覆蓋檔案「%3$s」的 schema「%2$s」中沒有指定這個設定鍵「%1$s」" ++ ++#: ../gio/glib-compile-schemas.c:1997 ++#, c-format ++msgid "" ++"Cannot provide per-desktop overrides for localized key “%s” in schema " ++"“%s” (override file “%s”); ignoring override for this key." ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:2006 ++#, c-format ++msgid "" ++"Cannot provide per-desktop overrides for localized key “%s” in schema " ++"“%s” (override file “%s”) and --strict was specified; exiting." ++msgstr "" ++ ++#: ../gio/glib-compile-schemas.c:2030 ++#, fuzzy, c-format ++msgid "" ++"Error parsing key “%s” in schema “%s” as specified in override file “%s”: " ++"%s. Ignoring override for this key." ++msgstr "" ++"在覆蓋檔案「%3$s」指定的 schema「%2$s」分析設定鍵「%1$s」時發生錯誤:%4$s。" ++ ++#: ../gio/glib-compile-schemas.c:2042 ++#, fuzzy, c-format ++msgid "" ++"Error parsing key “%s” in schema “%s” as specified in override file “%s”: " ++"%s. --strict was specified; exiting." ++msgstr "" ++"在覆蓋檔案「%3$s」指定的 schema「%2$s」分析設定鍵「%1$s」時發生錯誤:%4$s。" ++ ++#: ../gio/glib-compile-schemas.c:2069 ++#, fuzzy, c-format ++msgid "" ++"Override for key “%s” in schema “%s” in override file “%s” is outside the " ++"range given in the schema; ignoring override for this key." ++msgstr "" ++"在覆蓋檔案「%3$s」中覆蓋 schema「%2$s」的設定鍵「%1$s」超出了 schema 指定的範" ++"圍" ++ ++#: ../gio/glib-compile-schemas.c:2079 ++#, fuzzy, c-format ++msgid "" ++"Override for key “%s” in schema “%s” in override file “%s” is outside the " ++"range given in the schema and --strict was specified; exiting." ++msgstr "" ++"在覆蓋檔案「%3$s」中覆蓋 schema「%2$s」的設定鍵「%1$s」超出了 schema 指定的範" ++"圍" ++ ++#: ../gio/glib-compile-schemas.c:2105 ++#, fuzzy, c-format ++msgid "" ++"Override for key “%s” in schema “%s” in override file “%s” is not in the " ++"list of valid choices; ignoring override for this key." ++msgstr "" ++"在覆蓋檔案「%3$s」中覆蓋 schema「%2$s」的設定鍵「%1$s」不在有效的選擇清單中" ++ ++#: ../gio/glib-compile-schemas.c:2115 ++#, fuzzy, c-format ++msgid "" ++"Override for key “%s” in schema “%s” in override file “%s” is not in the " ++"list of valid choices and --strict was specified; exiting." ++msgstr "" ++"在覆蓋檔案「%3$s」中覆蓋 schema「%2$s」的設定鍵「%1$s」不在有效的選擇清單中" ++ ++#: ../gio/glib-compile-schemas.c:2177 ++#, fuzzy ++msgid "Where to store the gschemas.compiled file" ++msgstr "要將 gschemas.compiled 檔案儲存到哪裏" ++ ++#: ../gio/glib-compile-schemas.c:2178 ++msgid "Abort on any errors in schemas" ++msgstr "在 schema 中有任何錯誤即中止" ++ ++#: ../gio/glib-compile-schemas.c:2179 ++msgid "Do not write the gschema.compiled file" ++msgstr "不要寫入 gschemas.compiled 檔案" ++ ++#: ../gio/glib-compile-schemas.c:2180 ++msgid "Do not enforce key name restrictions" ++msgstr "不要強制設定鍵名稱限制" ++ ++#: ../gio/glib-compile-schemas.c:2210 ++msgid "" ++"Compile all GSettings schema files into a schema cache.\n" ++"Schema files are required to have the extension .gschema.xml,\n" ++"and the cache file is called gschemas.compiled." ++msgstr "" ++"將所有的 GSettings schema 檔案編譯為 schema 快取。\n" ++"Schema 檔案的延伸檔名必須為 .gschema.xml,\n" ++"而快取檔案叫做 gschemas.compiled。" ++ ++#: ../gio/glib-compile-schemas.c:2242 ++#, fuzzy ++msgid "You should give exactly one directory name" ++msgstr "你應該明確指定一個目錄名稱\n" ++ ++#: ../gio/glib-compile-schemas.c:2289 ++#, fuzzy ++msgid "No schema files found: doing nothing." ++msgstr "找不到 schema 檔案:" ++ ++#: ../gio/glib-compile-schemas.c:2291 ++#, fuzzy ++msgid "No schema files found: removed existing output file." ++msgstr "移除現有的輸出檔案。\n" ++ ++#: ../gio/glocalfile.c:570 ../gio/win32/gwinhttpfile.c:436 + #, c-format + msgid "Invalid filename %s" + msgstr "無效的檔案名稱 %s" + +-#: ../gio/glocalfile.c:981 +-#, c-format +-msgid "Error getting filesystem info: %s" ++#: ../gio/glocalfile.c:1012 ++#, fuzzy, c-format ++msgid "Error getting filesystem info for %s: %s" + msgstr "取得檔案系統資訊時發生錯誤:%s" + +-#: ../gio/glocalfile.c:1149 +-msgid "Can't rename root directory" ++#. Translators: This is an error message when trying to find ++#. * the enclosing (user visible) mount of a file, but none ++#. * exists. ++#. ++#: ../gio/glocalfile.c:1148 ++#, fuzzy, c-format ++msgid "Containing mount for file %s not found" ++msgstr "包含了不存在的掛載點" ++ ++#: ../gio/glocalfile.c:1171 ++#, fuzzy ++msgid "Can’t rename root directory" + msgstr "不能重新命名根目錄" + +-#: ../gio/glocalfile.c:1169 ../gio/glocalfile.c:1195 +-#, c-format +-msgid "Error renaming file: %s" +-msgstr "重新命名檔案時發生錯誤:%s" ++#: ../gio/glocalfile.c:1189 ../gio/glocalfile.c:1212 ++#, fuzzy, c-format ++msgid "Error renaming file %s: %s" ++msgstr "讀取檔案 %s 時發生錯誤:%s" + +-#: ../gio/glocalfile.c:1178 +-msgid "Can't rename file, filename already exists" ++#: ../gio/glocalfile.c:1196 ++#, fuzzy ++msgid "Can’t rename file, filename already exists" + msgstr "不能重新命名檔案,該檔案名稱已存在" + +-#: ../gio/glocalfile.c:1191 ../gio/glocalfile.c:2210 ../gio/glocalfile.c:2239 +-#: ../gio/glocalfile.c:2399 ../gio/glocalfileoutputstream.c:549 ++#: ../gio/glocalfile.c:1209 ../gio/glocalfile.c:2422 ../gio/glocalfile.c:2450 ++#: ../gio/glocalfile.c:2589 ../gio/glocalfileoutputstream.c:659 + msgid "Invalid filename" + msgstr "無效的檔案名稱" + +-#: ../gio/glocalfile.c:1358 ../gio/glocalfile.c:1382 +-msgid "Can't open directory" +-msgstr "不能開啟目錄" +- +-#: ../gio/glocalfile.c:1366 +-#, c-format +-msgid "Error opening file: %s" +-msgstr "開啓檔案時發生錯誤:%s" ++#: ../gio/glocalfile.c:1377 ../gio/glocalfile.c:1388 ++#, fuzzy, c-format ++msgid "Error opening file %s: %s" ++msgstr "開啟檔案「%s」時發生錯誤:%s" + +-#: ../gio/glocalfile.c:1507 +-#, c-format +-msgid "Error removing file: %s" ++#: ../gio/glocalfile.c:1513 ++#, fuzzy, c-format ++msgid "Error removing file %s: %s" + msgstr "移除檔案時發生錯誤:%s" + +-#: ../gio/glocalfile.c:1887 +-#, c-format +-msgid "Error trashing file: %s" ++#: ../gio/glocalfile.c:2010 ../gio/glocalfile.c:2021 ../gio/glocalfile.c:2048 ++#, fuzzy, c-format ++msgid "Error trashing file %s: %s" + msgstr "移動檔案至回收筒時發生錯誤:%s" + +-#: ../gio/glocalfile.c:1910 +-#, c-format +-msgid "Unable to create trash dir %s: %s" ++#: ../gio/glocalfile.c:2069 ++#, fuzzy, c-format ++msgid "Unable to create trash directory %s: %s" + msgstr "無法建立回收筒目錄 %s:%s" + +-#: ../gio/glocalfile.c:1931 +-msgid "Unable to find toplevel directory for trash" ++#: ../gio/glocalfile.c:2090 ++#, fuzzy, c-format ++msgid "Unable to find toplevel directory to trash %s" + msgstr "無法找到回收筒的頂端層級目錄" + +-#: ../gio/glocalfile.c:2010 ../gio/glocalfile.c:2030 +-msgid "Unable to find or create trash directory" ++#: ../gio/glocalfile.c:2098 ++#, fuzzy, c-format ++msgid "Trashing on system internal mounts is not supported" ++msgstr "不支援在掛載點之間複製 (參照連結/重製)" ++ ++#: ../gio/glocalfile.c:2184 ../gio/glocalfile.c:2212 ++#, fuzzy, c-format ++msgid "Unable to find or create trash directory %s to trash %s" + msgstr "無法找到或建立回收筒目錄" + +-#: ../gio/glocalfile.c:2064 +-#, c-format +-msgid "Unable to create trashing info file: %s" ++#: ../gio/glocalfile.c:2256 ++#, fuzzy, c-format ++msgid "Unable to create trashing info file for %s: %s" + msgstr "無法建立回收筒資訊檔案:%s" + +-#: ../gio/glocalfile.c:2095 ../gio/glocalfile.c:2100 ../gio/glocalfile.c:2180 +-#: ../gio/glocalfile.c:2187 +-#, c-format +-msgid "Unable to trash file: %s" ++#: ../gio/glocalfile.c:2333 ++#, fuzzy, c-format ++msgid "Unable to trash file %s across filesystem boundaries" + msgstr "無法將檔案移至回收筒:%s" + +-#: ../gio/glocalfile.c:2188 ../glib/gregex.c:281 +-msgid "internal error" +-msgstr "內部的錯誤" ++#: ../gio/glocalfile.c:2337 ../gio/glocalfile.c:2393 ++#, fuzzy, c-format ++msgid "Unable to trash file %s: %s" ++msgstr "無法將檔案移至回收筒:%s" + +-#: ../gio/glocalfile.c:2214 +-#, c-format +-msgid "Error creating directory: %s" +-msgstr "建立目錄發生錯誤:%s" ++#: ../gio/glocalfile.c:2399 ++#, fuzzy, c-format ++msgid "Unable to trash file %s" ++msgstr "無法將檔案移至回收筒:%s" ++ ++#: ../gio/glocalfile.c:2425 ++#, fuzzy, c-format ++msgid "Error creating directory %s: %s" ++msgstr "建立目錄「%s」時發生錯誤:%s" + +-#: ../gio/glocalfile.c:2243 ++#: ../gio/glocalfile.c:2454 + #, c-format + msgid "Filesystem does not support symbolic links" + msgstr "檔案系統不支援符號連結" + +-#: ../gio/glocalfile.c:2247 +-#, c-format +-msgid "Error making symbolic link: %s" ++#: ../gio/glocalfile.c:2457 ++#, fuzzy, c-format ++msgid "Error making symbolic link %s: %s" + msgstr "建立符號連結時發生錯誤:%s" + +-#: ../gio/glocalfile.c:2309 ../gio/glocalfile.c:2403 +-#, c-format +-msgid "Error moving file: %s" ++#: ../gio/glocalfile.c:2500 ../gio/glocalfile.c:2535 ../gio/glocalfile.c:2592 ++#, fuzzy, c-format ++msgid "Error moving file %s: %s" + msgstr "移動檔案時發生錯誤:%s" + +-#: ../gio/glocalfile.c:2332 +-msgid "Can't move directory over directory" ++#: ../gio/glocalfile.c:2523 ++#, fuzzy ++msgid "Can’t move directory over directory" + msgstr "不能將目錄移動至目錄上" + +-#: ../gio/glocalfile.c:2359 ../gio/glocalfileoutputstream.c:925 +-#: ../gio/glocalfileoutputstream.c:939 ../gio/glocalfileoutputstream.c:954 +-#: ../gio/glocalfileoutputstream.c:970 ../gio/glocalfileoutputstream.c:984 ++#: ../gio/glocalfile.c:2549 ../gio/glocalfileoutputstream.c:1133 ++#: ../gio/glocalfileoutputstream.c:1147 ../gio/glocalfileoutputstream.c:1162 ++#: ../gio/glocalfileoutputstream.c:1179 ../gio/glocalfileoutputstream.c:1193 + msgid "Backup file creation failed" + msgstr "建立備份檔案失敗" + +-#: ../gio/glocalfile.c:2378 ++#: ../gio/glocalfile.c:2568 + #, c-format + msgid "Error removing target file: %s" + msgstr "移除目標檔案時發生錯誤:%s" + +-#: ../gio/glocalfile.c:2392 ++#: ../gio/glocalfile.c:2582 + msgid "Move between mounts not supported" + msgstr "不支援在掛載點之間移動" + +-#: ../gio/glocalfile.c:2603 ++#: ../gio/glocalfile.c:2758 + #, c-format + msgid "Could not determine the disk usage of %s: %s" + msgstr "無法決定 %s 的磁碟使用量:%s" + +-#: ../gio/glocalfileinfo.c:721 ++#: ../gio/glocalfileinfo.c:768 + msgid "Attribute value must be non-NULL" + msgstr "屬性數值必須為非-NULL" + +-#: ../gio/glocalfileinfo.c:728 +-msgid "Invalid attribute type (string expected)" ++#: ../gio/glocalfileinfo.c:775 ++#, fuzzy ++msgid "Invalid attribute type (string or invalid expected)" + msgstr "無效的屬性類型(應為字串值)" + +-#: ../gio/glocalfileinfo.c:735 ++#: ../gio/glocalfileinfo.c:782 + msgid "Invalid extended attribute name" + msgstr "無效的延伸屬性名稱" + +-#: ../gio/glocalfileinfo.c:775 +-#, c-format +-msgid "Error setting extended attribute '%s': %s" ++#: ../gio/glocalfileinfo.c:833 ++#, fuzzy, c-format ++msgid "Error setting extended attribute “%s”: %s" + msgstr "設定延伸屬性「%s」時發生錯誤:%s" + +-#: ../gio/glocalfileinfo.c:1556 ++#: ../gio/glocalfileinfo.c:1789 ../gio/win32/gwinhttpfile.c:191 + msgid " (invalid encoding)" + msgstr "(無效的編碼)" + +-#: ../gio/glocalfileinfo.c:1747 ../gio/glocalfileoutputstream.c:803 +-#, c-format +-msgid "Error when getting information for file '%s': %s" ++#: ../gio/glocalfileinfo.c:1880 ++msgid "Desktop" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:1882 ++#, fuzzy ++msgid "Documents" ++msgstr "引數:\n" ++ ++#: ../gio/glocalfileinfo.c:1884 ++msgid "Download" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:1886 ++msgid "Music" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:1888 ++msgid "Pictures" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:1890 ++msgid "Public Share" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:1892 ++msgid "Templates" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:1894 ++msgid "Videos" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:1975 ../gio/glocalfileoutputstream.c:961 ++#: ../gio/glocalfileoutputstream.c:1013 ++#, fuzzy, c-format ++msgid "Error when getting information for file “%s”: %s" + msgstr "取得檔案「%s」資訊時發生錯誤:%s" + +-#: ../gio/glocalfileinfo.c:1998 ++#: ../gio/glocalfileinfo.c:2281 + #, c-format + msgid "Error when getting information for file descriptor: %s" + msgstr "取得檔案描述狀態資訊時發生錯誤:%s" + +-#: ../gio/glocalfileinfo.c:2043 ++#: ../gio/glocalfileinfo.c:2326 + msgid "Invalid attribute type (uint32 expected)" + msgstr "無效的屬性類型(應為 uint32 值)" + +-#: ../gio/glocalfileinfo.c:2061 ++#: ../gio/glocalfileinfo.c:2344 + msgid "Invalid attribute type (uint64 expected)" + msgstr "無效的屬性類型(應為 uint64 值)" + +-#: ../gio/glocalfileinfo.c:2080 ../gio/glocalfileinfo.c:2099 ++#: ../gio/glocalfileinfo.c:2363 ../gio/glocalfileinfo.c:2382 + msgid "Invalid attribute type (byte string expected)" + msgstr "無效的屬性類型(應為 byte string 值)" + +-#: ../gio/glocalfileinfo.c:2134 ++#: ../gio/glocalfileinfo.c:2429 + msgid "Cannot set permissions on symlinks" + msgstr "不能設定符號連結的權限" + +-#: ../gio/glocalfileinfo.c:2150 ++#: ../gio/glocalfileinfo.c:2445 + #, c-format + msgid "Error setting permissions: %s" + msgstr "設定權限時發生錯誤:%s" + +-#: ../gio/glocalfileinfo.c:2201 ++#: ../gio/glocalfileinfo.c:2496 + #, c-format + msgid "Error setting owner: %s" + msgstr "設定擁有者時發生錯誤:%s" + +-#: ../gio/glocalfileinfo.c:2224 ++#: ../gio/glocalfileinfo.c:2519 + msgid "symlink must be non-NULL" + msgstr "符號連結必須為非-NULL" + +-#: ../gio/glocalfileinfo.c:2234 ../gio/glocalfileinfo.c:2253 +-#: ../gio/glocalfileinfo.c:2264 ++#: ../gio/glocalfileinfo.c:2529 ../gio/glocalfileinfo.c:2548 ++#: ../gio/glocalfileinfo.c:2559 + #, c-format + msgid "Error setting symlink: %s" + msgstr "設定符號連結時發生錯誤:%s" + +-#: ../gio/glocalfileinfo.c:2243 ++#: ../gio/glocalfileinfo.c:2538 + msgid "Error setting symlink: file is not a symlink" + msgstr "設定符號連結時發生錯誤:檔案不是符號連結" + +-#: ../gio/glocalfileinfo.c:2369 ++#: ../gio/glocalfileinfo.c:2630 ++#, c-format ++msgid "Extra nanoseconds %d for UNIX timestamp %lld are negative" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:2639 ++#, c-format ++msgid "Extra nanoseconds %d for UNIX timestamp %lld reach 1 second" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:2649 ++#, c-format ++msgid "UNIX timestamp %lld does not fit into 64 bits" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:2660 ++#, c-format ++msgid "UNIX timestamp %lld is outside of the range supported by Windows" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:2792 ++#, c-format ++msgid "File name “%s” cannot be converted to UTF-16" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:2811 ++#, c-format ++msgid "File “%s” cannot be opened: Windows Error %lu" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:2824 ++#, fuzzy, c-format ++msgid "Error setting modification or access time for file “%s”: %lu" ++msgstr "設定修改或存取時刻時發生錯誤:%s" ++ ++#: ../gio/glocalfileinfo.c:2981 + #, c-format + msgid "Error setting modification or access time: %s" + msgstr "設定修改或存取時刻時發生錯誤:%s" + +-#: ../gio/glocalfileinfo.c:2392 ++#: ../gio/glocalfileinfo.c:3004 + msgid "SELinux context must be non-NULL" + msgstr "SELinux 關聯必須為非-NULL" + +-#: ../gio/glocalfileinfo.c:2407 ++#: ../gio/glocalfileinfo.c:3011 ++msgid "SELinux is not enabled on this system" ++msgstr "SELinux 在這個系統上並未啟用" ++ ++#: ../gio/glocalfileinfo.c:3021 + #, c-format + msgid "Error setting SELinux context: %s" + msgstr "設定 SELinux 關聯時發生錯誤:%s" + +-#: ../gio/glocalfileinfo.c:2414 +-msgid "SELinux is not enabled on this system" +-msgstr "SELinux 在這個系統上並未啟用" +- +-#: ../gio/glocalfileinfo.c:2506 ++#: ../gio/glocalfileinfo.c:3118 + #, c-format + msgid "Setting attribute %s not supported" + msgstr "不支援設定屬性 %s" + +-#: ../gio/glocalfileinputstream.c:168 ../gio/glocalfileoutputstream.c:694 ++#: ../gio/glocalfileinputstream.c:165 ../gio/glocalfileoutputstream.c:804 + #, c-format + msgid "Error reading from file: %s" + msgstr "從檔案讀取時發生錯誤:%s" + +-#: ../gio/glocalfileinputstream.c:199 ../gio/glocalfileinputstream.c:211 +-#: ../gio/glocalfileinputstream.c:225 ../gio/glocalfileinputstream.c:333 +-#: ../gio/glocalfileoutputstream.c:456 ../gio/glocalfileoutputstream.c:1002 +-#, c-format +-msgid "Error seeking in file: %s" +-msgstr "在檔案中搜尋時發生錯誤:%s" +- +-#: ../gio/glocalfileinputstream.c:255 ../gio/glocalfileoutputstream.c:246 +-#: ../gio/glocalfileoutputstream.c:340 ++#: ../gio/glocalfileinputstream.c:196 ../gio/glocalfileoutputstream.c:356 ++#: ../gio/glocalfileoutputstream.c:450 + #, c-format + msgid "Error closing file: %s" + msgstr "關閉檔案時發生錯誤:%s" + +-#: ../gio/glocalfilemonitor.c:145 ++#: ../gio/glocalfileinputstream.c:274 ../gio/glocalfileoutputstream.c:566 ++#: ../gio/glocalfileoutputstream.c:1211 ++#, c-format ++msgid "Error seeking in file: %s" ++msgstr "在檔案中搜尋時發生錯誤:%s" ++ ++#: ../gio/glocalfilemonitor.c:882 + msgid "Unable to find default local file monitor type" + msgstr "無法找到預設的本地端檔案監視器類型" + +-#: ../gio/glocalfileoutputstream.c:194 ../gio/glocalfileoutputstream.c:226 +-#: ../gio/glocalfileoutputstream.c:715 ++#: ../gio/glocalfileoutputstream.c:223 ../gio/glocalfileoutputstream.c:301 ++#: ../gio/glocalfileoutputstream.c:337 ../gio/glocalfileoutputstream.c:825 + #, c-format + msgid "Error writing to file: %s" + msgstr "寫入至檔案時發生錯誤:%s" + +-#: ../gio/glocalfileoutputstream.c:273 ++#: ../gio/glocalfileoutputstream.c:383 + #, c-format + msgid "Error removing old backup link: %s" + msgstr "移除舊備份連結時發生錯誤:%s" + +-#: ../gio/glocalfileoutputstream.c:287 ../gio/glocalfileoutputstream.c:300 ++#: ../gio/glocalfileoutputstream.c:397 ../gio/glocalfileoutputstream.c:410 + #, c-format + msgid "Error creating backup copy: %s" + msgstr "建立備份複本時發生錯誤:%s" + +-#: ../gio/glocalfileoutputstream.c:318 ++#: ../gio/glocalfileoutputstream.c:428 + #, c-format + msgid "Error renaming temporary file: %s" + msgstr "重新命名暫存檔案時發生錯誤:%s" + +-#: ../gio/glocalfileoutputstream.c:502 ../gio/glocalfileoutputstream.c:1053 ++#: ../gio/glocalfileoutputstream.c:612 ../gio/glocalfileoutputstream.c:1265 + #, c-format + msgid "Error truncating file: %s" + msgstr "截短檔案時發生錯誤:%s" + +-#: ../gio/glocalfileoutputstream.c:555 ../gio/glocalfileoutputstream.c:785 +-#: ../gio/glocalfileoutputstream.c:1034 ../gio/gsubprocess.c:360 +-#, c-format +-msgid "Error opening file '%s': %s" ++#: ../gio/glocalfileoutputstream.c:665 ../gio/glocalfileoutputstream.c:925 ++#: ../gio/glocalfileoutputstream.c:1246 ../gio/gsubprocess.c:231 ++#, fuzzy, c-format ++msgid "Error opening file “%s”: %s" + msgstr "開啟檔案「%s」時發生錯誤:%s" + +-#: ../gio/glocalfileoutputstream.c:816 ++#: ../gio/glocalfileoutputstream.c:975 + msgid "Target file is a directory" + msgstr "目標檔案是一個目錄" + +-#: ../gio/glocalfileoutputstream.c:821 ++#: ../gio/glocalfileoutputstream.c:989 + msgid "Target file is not a regular file" + msgstr "目標檔案不是正規的檔案" + +-#: ../gio/glocalfileoutputstream.c:833 ++#: ../gio/glocalfileoutputstream.c:1031 + msgid "The file was externally modified" + msgstr "該檔案已被外部程式修改過" + +-#: ../gio/glocalfileoutputstream.c:1018 ++#: ../gio/glocalfileoutputstream.c:1228 + #, c-format + msgid "Error removing old file: %s" + msgstr "移除舊檔案時發生錯誤:%s" + +-#: ../gio/gmemoryinputstream.c:471 ../gio/gmemoryoutputstream.c:771 ++#: ../gio/gmemoryinputstream.c:476 ../gio/gmemoryoutputstream.c:764 + msgid "Invalid GSeekType supplied" + msgstr "提供了無效的 GSeek 類型" + +-#: ../gio/gmemoryinputstream.c:481 ++#: ../gio/gmemoryinputstream.c:486 + msgid "Invalid seek request" + msgstr "無效的搜尋要求" + +-#: ../gio/gmemoryinputstream.c:505 ++#: ../gio/gmemoryinputstream.c:510 + msgid "Cannot truncate GMemoryInputStream" + msgstr "不能截短 GMemoryInputStream" + +-#: ../gio/gmemoryoutputstream.c:565 ++#: ../gio/gmemoryoutputstream.c:570 + msgid "Memory output stream not resizable" + msgstr "記憶體輸出串流不能改變大小" + +-#: ../gio/gmemoryoutputstream.c:581 ++#: ../gio/gmemoryoutputstream.c:586 + msgid "Failed to resize memory output stream" + msgstr "改變記憶體輸出串流的大小失敗" + +-#: ../gio/gmemoryoutputstream.c:673 ++#: ../gio/gmemoryoutputstream.c:665 + msgid "" + "Amount of memory required to process the write is larger than available " + "address space" + msgstr "進行寫入所需的記憶體總額大於可用的位址空間" + +-#: ../gio/gmemoryoutputstream.c:781 ++#: ../gio/gmemoryoutputstream.c:774 + msgid "Requested seek before the beginning of the stream" + msgstr "在串流的開頭之前要求的搜索" + +-#: ../gio/gmemoryoutputstream.c:796 ++#: ../gio/gmemoryoutputstream.c:789 + msgid "Requested seek beyond the end of the stream" + msgstr "在串流的開頭之後要求的搜索" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement unmount. +-#: ../gio/gmount.c:393 +-msgid "mount doesn't implement \"unmount\"" ++#: ../gio/gmount.c:401 ++#, fuzzy ++msgid "mount doesn’t implement “unmount”" + msgstr "掛載點尚未實作卸載(umount)" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement eject. +-#: ../gio/gmount.c:469 +-msgid "mount doesn't implement \"eject\"" ++#: ../gio/gmount.c:477 ++#, fuzzy ++msgid "mount doesn’t implement “eject”" + msgstr "掛載點尚未實作退出(eject)" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement any of unmount or unmount_with_operation. +-#: ../gio/gmount.c:547 +-msgid "mount doesn't implement \"unmount\" or \"unmount_with_operation\"" ++#: ../gio/gmount.c:555 ++#, fuzzy ++msgid "mount doesn’t implement “unmount” or “unmount_with_operation”" + msgstr "掛載點尚未實作卸載(umount)或「umount_with_operation」" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement any of eject or eject_with_operation. +-#: ../gio/gmount.c:632 +-msgid "mount doesn't implement \"eject\" or \"eject_with_operation\"" ++#: ../gio/gmount.c:640 ++#, fuzzy ++msgid "mount doesn’t implement “eject” or “eject_with_operation”" + msgstr "掛載點尚未實作退出(eject)或「eject_with_operation」" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement remount. +-#: ../gio/gmount.c:720 +-msgid "mount doesn't implement \"remount\"" ++#: ../gio/gmount.c:728 ++#, fuzzy ++msgid "mount doesn’t implement “remount”" + msgstr "掛載點尚未實作重新掛載(remount)" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement content type guessing. +-#: ../gio/gmount.c:802 +-msgid "mount doesn't implement content type guessing" ++#: ../gio/gmount.c:810 ++#, fuzzy ++msgid "mount doesn’t implement content type guessing" + msgstr "掛載點尚未實作內容類型預測" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement content type guessing. +-#: ../gio/gmount.c:889 +-msgid "mount doesn't implement synchronous content type guessing" ++#: ../gio/gmount.c:897 ++#, fuzzy ++msgid "mount doesn’t implement synchronous content type guessing" + msgstr "掛載點尚未實作同步內容類型預測" + +-#: ../gio/gnetworkaddress.c:338 +-#, c-format +-msgid "Hostname '%s' contains '[' but not ']'" ++#: ../gio/gnetworkaddress.c:417 ++#, fuzzy, c-format ++msgid "Hostname “%s” contains “[” but not “]”" + msgstr "主機名稱「%s」含有 '[' but not ']'" + +-#: ../gio/gnetworkmonitorbase.c:189 ../gio/gnetworkmonitorbase.c:292 ++#: ../gio/gnetworkmonitorbase.c:221 ../gio/gnetworkmonitorbase.c:325 + msgid "Network unreachable" + msgstr "無法連接網絡" + +-#: ../gio/gnetworkmonitorbase.c:227 ../gio/gnetworkmonitorbase.c:257 ++#: ../gio/gnetworkmonitorbase.c:259 ../gio/gnetworkmonitorbase.c:289 + msgid "Host unreachable" + msgstr "無法連接主機" + +-#: ../gio/gnetworkmonitornetlink.c:96 ../gio/gnetworkmonitornetlink.c:108 +-#: ../gio/gnetworkmonitornetlink.c:127 ++#: ../gio/gnetworkmonitornetlink.c:101 ../gio/gnetworkmonitornetlink.c:113 ++#: ../gio/gnetworkmonitornetlink.c:132 + #, c-format + msgid "Could not create network monitor: %s" + msgstr "無法建立網絡監控:%s" + +-#: ../gio/gnetworkmonitornetlink.c:117 ++#: ../gio/gnetworkmonitornetlink.c:122 + msgid "Could not create network monitor: " + msgstr "無法建立網絡監控:" + +-#: ../gio/gnetworkmonitornetlink.c:175 ++#: ../gio/gnetworkmonitornetlink.c:185 + msgid "Could not get network status: " + msgstr "無法取得網絡狀態:" + +-#: ../gio/goutputstream.c:209 ../gio/goutputstream.c:550 +-msgid "Output stream doesn't implement write" ++#: ../gio/gnetworkmonitornm.c:313 ++#, c-format ++msgid "NetworkManager not running" ++msgstr "" ++ ++#: ../gio/gnetworkmonitornm.c:324 ++#, c-format ++msgid "NetworkManager version too old" ++msgstr "" ++ ++#: ../gio/goutputstream.c:234 ../gio/goutputstream.c:777 ++#, fuzzy ++msgid "Output stream doesn’t implement write" + msgstr "輸出串流尚未實作寫入" + +-#: ../gio/goutputstream.c:511 ../gio/goutputstream.c:1028 ++#: ../gio/goutputstream.c:474 ../gio/goutputstream.c:1539 ++#, c-format ++msgid "Sum of vectors passed to %s too large" ++msgstr "" ++ ++#: ../gio/goutputstream.c:738 ../gio/goutputstream.c:1769 + msgid "Source stream is already closed" + msgstr "來源串流已經關閉" + +-#: ../gio/gresolver.c:320 ../gio/gthreadedresolver.c:116 +-#: ../gio/gthreadedresolver.c:126 +-#, c-format +-msgid "Error resolving '%s': %s" ++#: ../gio/gproxyaddressenumerator.c:329 ../gio/gproxyaddressenumerator.c:347 ++msgid "Unspecified proxy lookup failure" ++msgstr "" ++ ++#. Translators: the first placeholder is a domain name, the ++#. * second is an error message ++#: ../gio/gresolver.c:478 ../gio/gthreadedresolver.c:317 ++#: ../gio/gthreadedresolver.c:338 ../gio/gthreadedresolver.c:983 ++#: ../gio/gthreadedresolver.c:1007 ../gio/gthreadedresolver.c:1032 ++#: ../gio/gthreadedresolver.c:1047 ++#, fuzzy, c-format ++msgid "Error resolving “%s”: %s" + msgstr "解析「%s」時發生錯誤:%s" + +-#: ../gio/gresource.c:291 ../gio/gresource.c:539 ../gio/gresource.c:556 +-#: ../gio/gresource.c:677 ../gio/gresource.c:746 ../gio/gresource.c:807 +-#: ../gio/gresource.c:887 ../gio/gresourcefile.c:452 +-#: ../gio/gresourcefile.c:553 ../gio/gresourcefile.c:655 +-#, c-format +-msgid "The resource at '%s' does not exist" ++#. Translators: The placeholder is for a function name. ++#: ../gio/gresolver.c:547 ../gio/gresolver.c:707 ++#, fuzzy, c-format ++msgid "%s not implemented" ++msgstr "輸入串流尚未實作讀取" ++ ++#: ../gio/gresolver.c:1076 ../gio/gresolver.c:1128 ++#, fuzzy ++msgid "Invalid domain" ++msgstr "無效的檔案名稱" ++ ++#: ../gio/gresource.c:683 ../gio/gresource.c:945 ../gio/gresource.c:985 ++#: ../gio/gresource.c:1109 ../gio/gresource.c:1181 ../gio/gresource.c:1255 ++#: ../gio/gresource.c:1336 ../gio/gresourcefile.c:482 ++#: ../gio/gresourcefile.c:606 ../gio/gresourcefile.c:757 ++#, fuzzy, c-format ++msgid "The resource at “%s” does not exist" + msgstr "「%s」的資源不存在" + +-#: ../gio/gresource.c:456 +-#, c-format +-msgid "The resource at '%s' failed to decompress" ++#: ../gio/gresource.c:850 ++#, fuzzy, c-format ++msgid "The resource at “%s” failed to decompress" + msgstr "「%s」的資源無法解壓縮" + +-#: ../gio/gresourcefile.c:651 +-#, c-format +-msgid "The resource at '%s' is not a directory" ++#: ../gio/gresourcefile.c:663 ++msgid "Resource files cannot be renamed" ++msgstr "" ++ ++#: ../gio/gresourcefile.c:753 ++#, fuzzy, c-format ++msgid "The resource at “%s” is not a directory" + msgstr "「%s」的資源不是目錄" + +-#: ../gio/gresourcefile.c:859 +-msgid "Input stream doesn't implement seek" ++#: ../gio/gresourcefile.c:961 ++#, fuzzy ++msgid "Input stream doesn’t implement seek" + msgstr "輸入串流尚未實作尋找" + +-#: ../gio/gresource-tool.c:487 ++#: ../gio/gresource-tool.c:502 + msgid "List sections containing resources in an elf FILE" + msgstr "列出 elf FILE 中包含資源的節區" + +-#: ../gio/gresource-tool.c:493 ++#: ../gio/gresource-tool.c:508 + msgid "" + "List resources\n" + "If SECTION is given, only list resources in this section\n" +@@ -2214,16 +3608,16 @@ msgstr "" + "如果指定 SECTION,只會列出這個節區的資源\n" + "如果指定 PATH,只會列出符合的資源" + +-#: ../gio/gresource-tool.c:496 ../gio/gresource-tool.c:506 ++#: ../gio/gresource-tool.c:511 ../gio/gresource-tool.c:521 + msgid "FILE [PATH]" + msgstr "檔案 [路徑]" + +-#: ../gio/gresource-tool.c:497 ../gio/gresource-tool.c:507 +-#: ../gio/gresource-tool.c:514 ++#: ../gio/gresource-tool.c:512 ../gio/gresource-tool.c:522 ++#: ../gio/gresource-tool.c:529 + msgid "SECTION" + msgstr "SECTION" + +-#: ../gio/gresource-tool.c:502 ++#: ../gio/gresource-tool.c:517 + msgid "" + "List resources with details\n" + "If SECTION is given, only list resources in this section\n" +@@ -2235,18 +3629,19 @@ msgstr "" + "如果指定 PATH,只會列出符合的資源\n" + "詳細資料包含節區、大小和壓縮率" + +-#: ../gio/gresource-tool.c:512 ++#: ../gio/gresource-tool.c:527 + msgid "Extract a resource file to stdout" + msgstr "解壓縮資源檔案到 stdout" + +-#: ../gio/gresource-tool.c:513 ++#: ../gio/gresource-tool.c:528 + msgid "FILE PATH" + msgstr "檔案路徑" + +-#: ../gio/gresource-tool.c:527 ++#: ../gio/gresource-tool.c:542 ++#, fuzzy + msgid "" + "Usage:\n" +-" gresource [--section SECTION] COMMAND [ARGS...]\n" ++" gresource [--section SECTION] COMMAND [ARGS…]\n" + "\n" + "Commands:\n" + " help Show this information\n" +@@ -2255,7 +3650,7 @@ msgid "" + " details List resources with details\n" + " extract Extract a resource\n" + "\n" +-"Use 'gresource help COMMAND' to get detailed help.\n" ++"Use “gresource help COMMAND” to get detailed help.\n" + "\n" + msgstr "" + "用法:\n" +@@ -2271,7 +3666,7 @@ msgstr "" + "使用 'gresource help COMMAND' 以取得詳細的說明文件。\n" + "\n" + +-#: ../gio/gresource-tool.c:541 ++#: ../gio/gresource-tool.c:556 + #, c-format + msgid "" + "Usage:\n" +@@ -2286,19 +3681,19 @@ msgstr "" + "%s\n" + "\n" + +-#: ../gio/gresource-tool.c:548 ++#: ../gio/gresource-tool.c:563 + msgid " SECTION An (optional) elf section name\n" + msgstr " SECTION 一個 (選擇性的) elf 節區名稱\n" + +-#: ../gio/gresource-tool.c:552 ../gio/gsettings-tool.c:635 ++#: ../gio/gresource-tool.c:567 ../gio/gsettings-tool.c:720 + msgid " COMMAND The (optional) command to explain\n" + msgstr " COMMAND 要解釋的(選擇性)指令\n" + +-#: ../gio/gresource-tool.c:558 ++#: ../gio/gresource-tool.c:573 + msgid " FILE An elf file (a binary or a shared library)\n" + msgstr " FILE 一個 elf 檔案 (二元檔或共享程式庫)\n" + +-#: ../gio/gresource-tool.c:561 ++#: ../gio/gresource-tool.c:576 + msgid "" + " FILE An elf file (a binary or a shared library)\n" + " or a compiled resource file\n" +@@ -2306,35 +3701,36 @@ msgstr "" + " FILE 一個 elf 檔案 (二元檔或共享程式庫)\n" + " 或編譯過的資源檔案\n" + +-#: ../gio/gresource-tool.c:565 ++#: ../gio/gresource-tool.c:580 + msgid "[PATH]" + msgstr "[路徑]" + +-#: ../gio/gresource-tool.c:567 ++#: ../gio/gresource-tool.c:582 + msgid " PATH An (optional) resource path (may be partial)\n" + msgstr " PATH 一個 (選擇性的) 資源路徑 (可能為部分)\n" + +-#: ../gio/gresource-tool.c:568 ++#: ../gio/gresource-tool.c:583 + msgid "PATH" + msgstr "路徑" + +-#: ../gio/gresource-tool.c:570 ++#: ../gio/gresource-tool.c:585 + msgid " PATH A resource path\n" + msgstr " PATH 資源路徑\n" + + #: ../gio/gsettings-tool.c:51 ../gio/gsettings-tool.c:72 +-#, c-format +-msgid "No such schema '%s'\n" ++#: ../gio/gsettings-tool.c:925 ++#, fuzzy, c-format ++msgid "No such schema “%s”\n" + msgstr "沒有這個 schema「%s」\n" + + #: ../gio/gsettings-tool.c:57 +-#, c-format +-msgid "Schema '%s' is not relocatable (path must not be specified)\n" ++#, fuzzy, c-format ++msgid "Schema “%s” is not relocatable (path must not be specified)\n" + msgstr "Schema「%s」不是可重新配置的(路徑不能指定)\n" + + #: ../gio/gsettings-tool.c:78 +-#, c-format +-msgid "Schema '%s' is relocatable (path must be specified)\n" ++#, fuzzy, c-format ++msgid "Schema “%s” is relocatable (path must be specified)\n" + msgstr "Schema「%s」是可重新配置的(路徑必須指定)\n" + + #: ../gio/gsettings-tool.c:92 +@@ -2357,38 +3753,38 @@ msgstr "路徑不能以斜線 (/) 結尾\n" + msgid "Path must not contain two adjacent slashes (//)\n" + msgstr "路徑不能包含兩個相鄰的斜線 (//)\n" + +-#: ../gio/gsettings-tool.c:477 ++#: ../gio/gsettings-tool.c:555 + #, c-format + msgid "The provided value is outside of the valid range\n" + msgstr "提供的數值超出了有效的範圍\n" + +-#: ../gio/gsettings-tool.c:484 ++#: ../gio/gsettings-tool.c:562 + #, c-format + msgid "The key is not writable\n" + msgstr "這個設定鍵無法寫入\n" + +-#: ../gio/gsettings-tool.c:520 ++#: ../gio/gsettings-tool.c:598 + msgid "List the installed (non-relocatable) schemas" + msgstr "列出已安裝的(非-可重新配置)schema" + +-#: ../gio/gsettings-tool.c:526 ++#: ../gio/gsettings-tool.c:604 + msgid "List the installed relocatable schemas" + msgstr "列出已安裝的可重新配置 schema" + +-#: ../gio/gsettings-tool.c:532 ++#: ../gio/gsettings-tool.c:610 + msgid "List the keys in SCHEMA" + msgstr "列出 SCHEMA 中的設定鍵" + +-#: ../gio/gsettings-tool.c:533 ../gio/gsettings-tool.c:539 +-#: ../gio/gsettings-tool.c:576 ++#: ../gio/gsettings-tool.c:611 ../gio/gsettings-tool.c:617 ++#: ../gio/gsettings-tool.c:660 + msgid "SCHEMA[:PATH]" + msgstr "SCHEMA[:PATH]" + +-#: ../gio/gsettings-tool.c:538 ++#: ../gio/gsettings-tool.c:616 + msgid "List the children of SCHEMA" + msgstr "列出 SCHEMA 的子項" + +-#: ../gio/gsettings-tool.c:544 ++#: ../gio/gsettings-tool.c:622 + msgid "" + "List keys and values, recursively\n" + "If no SCHEMA is given, list all keys\n" +@@ -2396,44 +3792,50 @@ msgstr "" + "遞迴的列出設定鍵與鍵值\n" + "如果沒有指定 SCHEMA,列出所有設定鍵\n" + +-#: ../gio/gsettings-tool.c:546 ++#: ../gio/gsettings-tool.c:624 + msgid "[SCHEMA[:PATH]]" + msgstr "[SCHEMA[:PATH]]" + +-#: ../gio/gsettings-tool.c:551 ++#: ../gio/gsettings-tool.c:629 + msgid "Get the value of KEY" + msgstr "取得 KEY 的數值" + +-#: ../gio/gsettings-tool.c:552 ../gio/gsettings-tool.c:558 +-#: ../gio/gsettings-tool.c:570 ../gio/gsettings-tool.c:582 ++#: ../gio/gsettings-tool.c:630 ../gio/gsettings-tool.c:636 ++#: ../gio/gsettings-tool.c:642 ../gio/gsettings-tool.c:654 ++#: ../gio/gsettings-tool.c:666 + msgid "SCHEMA[:PATH] KEY" + msgstr "SCHEMA[:PATH] KEY" + +-#: ../gio/gsettings-tool.c:557 ++#: ../gio/gsettings-tool.c:635 + msgid "Query the range of valid values for KEY" + msgstr "查詢 KEY 有效數值的範圍" + +-#: ../gio/gsettings-tool.c:563 ++#: ../gio/gsettings-tool.c:641 ++#, fuzzy ++msgid "Query the description for KEY" ++msgstr "查詢 KEY 有效數值的範圍" ++ ++#: ../gio/gsettings-tool.c:647 + msgid "Set the value of KEY to VALUE" + msgstr "將 KEY 的數值設定為 VALUE" + +-#: ../gio/gsettings-tool.c:564 ++#: ../gio/gsettings-tool.c:648 + msgid "SCHEMA[:PATH] KEY VALUE" + msgstr "SCHEMA[:PATH] KEY VALUE" + +-#: ../gio/gsettings-tool.c:569 ++#: ../gio/gsettings-tool.c:653 + msgid "Reset KEY to its default value" + msgstr "將 KEY 設定為預設值" + +-#: ../gio/gsettings-tool.c:575 ++#: ../gio/gsettings-tool.c:659 + msgid "Reset all keys in SCHEMA to their defaults" + msgstr "將 SCHEMA 的所有設定鍵重設為預設值" + +-#: ../gio/gsettings-tool.c:581 ++#: ../gio/gsettings-tool.c:665 + msgid "Check if KEY is writable" + msgstr "檢查 KEY 是否可寫入" + +-#: ../gio/gsettings-tool.c:587 ++#: ../gio/gsettings-tool.c:671 + msgid "" + "Monitor KEY for changes.\n" + "If no KEY is specified, monitor all keys in SCHEMA.\n" +@@ -2443,15 +3845,16 @@ msgstr "" + "如果沒有指定 KEY,會監控 SCHEMA 的所有設定鍵。\n" + "使用 ^C 可停止監控。\n" + +-#: ../gio/gsettings-tool.c:590 ++#: ../gio/gsettings-tool.c:674 + msgid "SCHEMA[:PATH] [KEY]" + msgstr "SCHEMA[:PATH] [KEY]" + +-#: ../gio/gsettings-tool.c:602 ++#: ../gio/gsettings-tool.c:686 ++#, fuzzy + msgid "" + "Usage:\n" + " gsettings --version\n" +-" gsettings [--schemadir SCHEMADIR] COMMAND [ARGS...]\n" ++" gsettings [--schemadir SCHEMADIR] COMMAND [ARGS…]\n" + "\n" + "Commands:\n" + " help Show this information\n" +@@ -2461,6 +3864,7 @@ msgid "" + " list-children List children of a schema\n" + " list-recursively List keys and values, recursively\n" + " range Queries the range of a key\n" ++" describe Queries the description of a key\n" + " get Get the value of a key\n" + " set Set the value of a key\n" + " reset Reset the value of a key\n" +@@ -2468,7 +3872,7 @@ msgid "" + " writable Check if a key is writable\n" + " monitor Watch for changes\n" + "\n" +-"Use 'gsettings help COMMAND' to get detailed help.\n" ++"Use “gsettings help COMMAND” to get detailed help.\n" + "\n" + msgstr "" + "用法:\n" +@@ -2493,7 +3897,7 @@ msgstr "" + "使用「gsettings help COMMAND」取得詳細的說明。\n" + "\n" + +-#: ../gio/gsettings-tool.c:625 ++#: ../gio/gsettings-tool.c:710 + #, c-format + msgid "" + "Usage:\n" +@@ -2508,11 +3912,11 @@ msgstr "" + "%s\n" + "\n" + +-#: ../gio/gsettings-tool.c:631 ++#: ../gio/gsettings-tool.c:716 + msgid " SCHEMADIR A directory to search for additional schemas\n" + msgstr " SCHEMADIR 搜尋額外 schema 的目錄\n" + +-#: ../gio/gsettings-tool.c:639 ++#: ../gio/gsettings-tool.c:724 + msgid "" + " SCHEMA The name of the schema\n" + " PATH The path, for relocatable schemas\n" +@@ -2520,483 +3924,575 @@ msgstr "" + " SCHEMA 這個 schema 的名稱\n" + " PATH 路徑,用於可重新配置的 schema\n" + +-#: ../gio/gsettings-tool.c:644 ++#: ../gio/gsettings-tool.c:729 + msgid " KEY The (optional) key within the schema\n" + msgstr " KEY schema 中的(選擇性的)設定鍵\n" + +-#: ../gio/gsettings-tool.c:648 ++#: ../gio/gsettings-tool.c:733 + msgid " KEY The key within the schema\n" + msgstr " KEY schema 中的設定鍵\n" + +-#: ../gio/gsettings-tool.c:652 ++#: ../gio/gsettings-tool.c:737 + msgid " VALUE The value to set\n" + msgstr " VALUE 要設定的數值\n" + +-#: ../gio/gsettings-tool.c:707 ++#: ../gio/gsettings-tool.c:792 + #, c-format + msgid "Could not load schemas from %s: %s\n" + msgstr "無法載入 %s 的 schema:%s\n" + +-#: ../gio/gsettings-tool.c:769 ++#: ../gio/gsettings-tool.c:804 ++#, fuzzy, c-format ++msgid "No schemas installed\n" ++msgstr "找不到 schema 檔案:" ++ ++#: ../gio/gsettings-tool.c:883 + #, c-format + msgid "Empty schema name given\n" + msgstr "指定了空的 schema 名稱\n" + +-#: ../gio/gsettings-tool.c:798 +-#, c-format +-msgid "No such key '%s'\n" ++#: ../gio/gsettings-tool.c:938 ++#, fuzzy, c-format ++msgid "No such key “%s”\n" + msgstr "沒有設定鍵「%s」\n" + +-#: ../gio/gsocket.c:266 ++#: ../gio/gsocket.c:419 + msgid "Invalid socket, not initialized" + msgstr "無效的 socket,尚未初始化" + +-#: ../gio/gsocket.c:273 ++#: ../gio/gsocket.c:426 + #, c-format + msgid "Invalid socket, initialization failed due to: %s" + msgstr "無效的 socket,初始化失敗原因為:%s" + +-#: ../gio/gsocket.c:281 ++#: ../gio/gsocket.c:434 + msgid "Socket is already closed" + msgstr "Socket 已經關閉" + +-#: ../gio/gsocket.c:296 ../gio/gsocket.c:3618 ../gio/gsocket.c:3673 ++#: ../gio/gsocket.c:449 ../gio/gsocket.c:3238 ../gio/gsocket.c:4469 ++#: ../gio/gsocket.c:4527 ../gio/gthreadedresolver.c:1438 + msgid "Socket I/O timed out" + msgstr "Socket I/O 逾時" + +-#: ../gio/gsocket.c:443 ++#: ../gio/gsocket.c:586 + #, c-format + msgid "creating GSocket from fd: %s" + msgstr "正在從 fd 建立 GSocket:%s" + +-#: ../gio/gsocket.c:471 ../gio/gsocket.c:525 ../gio/gsocket.c:532 ++#: ../gio/gsocket.c:646 ../gio/gsocket.c:714 ../gio/gsocket.c:721 + #, c-format + msgid "Unable to create socket: %s" + msgstr "無法建立 socket:%s" + +-#: ../gio/gsocket.c:525 ++#: ../gio/gsocket.c:714 + msgid "Unknown family was specified" + msgstr "指定了不明的字族" + +-#: ../gio/gsocket.c:532 ++#: ../gio/gsocket.c:721 + msgid "Unknown protocol was specified" + msgstr "指定了不明的通訊協定" + +-#: ../gio/gsocket.c:1722 ++#: ../gio/gsocket.c:1190 ++#, c-format ++msgid "Cannot use datagram operations on a non-datagram socket." ++msgstr "" ++ ++#: ../gio/gsocket.c:1207 ++#, c-format ++msgid "Cannot use datagram operations on a socket with a timeout set." ++msgstr "" ++ ++#: ../gio/gsocket.c:2014 + #, c-format + msgid "could not get local address: %s" + msgstr "無法取得本地端位址:%s" + +-#: ../gio/gsocket.c:1765 ++#: ../gio/gsocket.c:2060 + #, c-format + msgid "could not get remote address: %s" + msgstr "無法取得遠端位址:%s" + +-#: ../gio/gsocket.c:1826 ++#: ../gio/gsocket.c:2126 + #, c-format + msgid "could not listen: %s" + msgstr "無法聽取:%s" + +-#: ../gio/gsocket.c:1925 +-#, c-format +-msgid "Error binding to address: %s" ++#: ../gio/gsocket.c:2230 ++#, fuzzy, c-format ++msgid "Error binding to address %s: %s" + msgstr "綁定至位址時發生錯誤:%s" + +-#: ../gio/gsocket.c:2037 ../gio/gsocket.c:2074 ++#: ../gio/gsocket.c:2405 ../gio/gsocket.c:2442 ../gio/gsocket.c:2552 ++#: ../gio/gsocket.c:2577 ../gio/gsocket.c:2644 ../gio/gsocket.c:2702 ++#: ../gio/gsocket.c:2720 + #, c-format + msgid "Error joining multicast group: %s" + msgstr "加入多點廣播羣組時發生錯誤:%s" + +-#: ../gio/gsocket.c:2038 ../gio/gsocket.c:2075 ++#: ../gio/gsocket.c:2406 ../gio/gsocket.c:2443 ../gio/gsocket.c:2553 ++#: ../gio/gsocket.c:2578 ../gio/gsocket.c:2645 ../gio/gsocket.c:2703 ++#: ../gio/gsocket.c:2721 + #, c-format + msgid "Error leaving multicast group: %s" + msgstr "離開多點廣播羣組時發生錯誤:%s" + +-#: ../gio/gsocket.c:2039 ++#: ../gio/gsocket.c:2407 + msgid "No support for source-specific multicast" + msgstr "不支援指定來源的多點廣播" + +-#: ../gio/gsocket.c:2261 ++#: ../gio/gsocket.c:2554 ++#, fuzzy ++msgid "Unsupported socket family" ++msgstr "不支援的 socket 位址" ++ ++#: ../gio/gsocket.c:2579 ++msgid "source-specific not an IPv4 address" ++msgstr "" ++ ++#: ../gio/gsocket.c:2603 ++#, c-format ++msgid "Interface name too long" ++msgstr "" ++ ++#: ../gio/gsocket.c:2616 ../gio/gsocket.c:2670 ++#, c-format ++msgid "Interface not found: %s" ++msgstr "" ++ ++#: ../gio/gsocket.c:2646 ++#, fuzzy ++msgid "No support for IPv4 source-specific multicast" ++msgstr "不支援指定來源的多點廣播" ++ ++#: ../gio/gsocket.c:2704 ++#, fuzzy ++msgid "No support for IPv6 source-specific multicast" ++msgstr "不支援指定來源的多點廣播" ++ ++#: ../gio/gsocket.c:2937 + #, c-format + msgid "Error accepting connection: %s" + msgstr "接受連線時發生錯誤:%s" + +-#: ../gio/gsocket.c:2382 ++#: ../gio/gsocket.c:3063 + msgid "Connection in progress" + msgstr "連線進行中" + +-#: ../gio/gsocket.c:2432 ++#: ../gio/gsocket.c:3114 + msgid "Unable to get pending error: " + msgstr "無法取得未處理的錯誤:" + +-#: ../gio/gsocket.c:2633 ++#: ../gio/gsocket.c:3303 + #, c-format + msgid "Error receiving data: %s" + msgstr "接收資料時發生錯誤:%s" + +-#: ../gio/gsocket.c:2811 ++#: ../gio/gsocket.c:3500 + #, c-format + msgid "Error sending data: %s" + msgstr "傳送資料時發生錯誤:%s" + +-#: ../gio/gsocket.c:2925 ++#: ../gio/gsocket.c:3687 + #, c-format + msgid "Unable to shutdown socket: %s" + msgstr "無法關閉 socket:%s" + +-#: ../gio/gsocket.c:3004 ++#: ../gio/gsocket.c:3768 + #, c-format + msgid "Error closing socket: %s" + msgstr "關閉 socket 時發生錯誤:%s" + +-#: ../gio/gsocket.c:3611 ++#: ../gio/gsocket.c:4462 + #, c-format + msgid "Waiting for socket condition: %s" + msgstr "等候 socket 情況:%s" + +-#: ../gio/gsocket.c:3897 ../gio/gsocket.c:3978 ++#: ../gio/gsocket.c:4852 ../gio/gsocket.c:4868 ../gio/gsocket.c:4881 ++#, fuzzy, c-format ++msgid "Unable to send message: %s" ++msgstr "傳送訊息時發生錯誤:%s" ++ ++#: ../gio/gsocket.c:4853 ../gio/gsocket.c:4869 ../gio/gsocket.c:4882 ++msgid "Message vectors too large" ++msgstr "" ++ ++#: ../gio/gsocket.c:4898 ../gio/gsocket.c:4900 ../gio/gsocket.c:5047 ++#: ../gio/gsocket.c:5132 ../gio/gsocket.c:5310 ../gio/gsocket.c:5350 ++#: ../gio/gsocket.c:5352 + #, c-format + msgid "Error sending message: %s" + msgstr "傳送訊息時發生錯誤:%s" + +-#: ../gio/gsocket.c:3922 ++#: ../gio/gsocket.c:5074 + msgid "GSocketControlMessage not supported on Windows" + msgstr "視窗不支援 GSocketControlMessage" + +-#: ../gio/gsocket.c:4259 ../gio/gsocket.c:4394 ++#: ../gio/gsocket.c:5547 ../gio/gsocket.c:5623 ../gio/gsocket.c:5849 + #, c-format + msgid "Error receiving message: %s" + msgstr "取回郵件發生錯誤:%s" + +-#: ../gio/gsocket.c:4516 ++#: ../gio/gsocket.c:6134 ../gio/gsocket.c:6145 ../gio/gsocket.c:6208 + #, c-format + msgid "Unable to read socket credentials: %s" + msgstr "無法讀取 socket 機密:%s" + +-#: ../gio/gsocket.c:4525 ++#: ../gio/gsocket.c:6217 + msgid "g_socket_get_credentials not implemented for this OS" + msgstr "g_socket_get_credentials 沒有在這個 OS 上實作" + +-#: ../gio/gsocketclient.c:176 ++#: ../gio/gsocketclient.c:193 + #, c-format + msgid "Could not connect to proxy server %s: " + msgstr "無法連線到代理伺服器 %s:" + +-#: ../gio/gsocketclient.c:190 ++#: ../gio/gsocketclient.c:207 + #, c-format + msgid "Could not connect to %s: " + msgstr "無法連接到 %s:" + +-#: ../gio/gsocketclient.c:192 ++#: ../gio/gsocketclient.c:209 + msgid "Could not connect: " + msgstr "無法連接:" + +-#: ../gio/gsocketclient.c:1027 ../gio/gsocketclient.c:1597 +-msgid "Unknown error on connect" +-msgstr "連線時有不明的錯誤" +- +-#: ../gio/gsocketclient.c:1082 ../gio/gsocketclient.c:1532 ++#: ../gio/gsocketclient.c:1204 ../gio/gsocketclient.c:1807 + msgid "Proxying over a non-TCP connection is not supported." + msgstr "不支援嘗試透過非-TCP 連線使用代理伺服器。" + +-#: ../gio/gsocketclient.c:1108 ../gio/gsocketclient.c:1553 +-#, c-format +-msgid "Proxy protocol '%s' is not supported." ++#: ../gio/gsocketclient.c:1236 ../gio/gsocketclient.c:1836 ++#, fuzzy, c-format ++msgid "Proxy protocol “%s” is not supported." + msgstr "指定的通訊協定「%s」不被支援。" + +-#: ../gio/gsocketlistener.c:188 ++#: ../gio/gsocketlistener.c:232 + msgid "Listener is already closed" + msgstr "聽取程式已經關閉" + +-#: ../gio/gsocketlistener.c:234 ++#: ../gio/gsocketlistener.c:278 + msgid "Added socket is closed" + msgstr "加入的 socket 已經關閉" + +-#: ../gio/gsocks4aproxy.c:118 +-#, c-format +-msgid "SOCKSv4 does not support IPv6 address '%s'" ++#: ../gio/gsocks4aproxy.c:120 ++#, fuzzy, c-format ++msgid "SOCKSv4 does not support IPv6 address “%s”" + msgstr "SOCKSv4 不支援 IPv6 位址「%s」" + +-#: ../gio/gsocks4aproxy.c:136 ++#: ../gio/gsocks4aproxy.c:138 + msgid "Username is too long for SOCKSv4 protocol" + msgstr "使用者名稱對 SOCKSv4 通訊協定" + +-#: ../gio/gsocks4aproxy.c:153 +-#, c-format +-msgid "Hostname '%s' is too long for SOCKSv4 protocol" ++#: ../gio/gsocks4aproxy.c:155 ++#, fuzzy, c-format ++msgid "Hostname “%s” is too long for SOCKSv4 protocol" + msgstr "主機名稱「%s」對 SOCKSv4 通訊協定來說太長了" + +-#: ../gio/gsocks4aproxy.c:179 ++#: ../gio/gsocks4aproxy.c:181 + msgid "The server is not a SOCKSv4 proxy server." + msgstr "伺服器不是 SOCKSv4 代理伺服器。" + +-#: ../gio/gsocks4aproxy.c:186 ++#: ../gio/gsocks4aproxy.c:188 + msgid "Connection through SOCKSv4 server was rejected" + msgstr "透過 SOCKSv4 伺服器連線被拒絕" + +-#: ../gio/gsocks5proxy.c:153 ../gio/gsocks5proxy.c:324 +-#: ../gio/gsocks5proxy.c:334 ++#: ../gio/gsocks5proxy.c:155 ../gio/gsocks5proxy.c:340 ++#: ../gio/gsocks5proxy.c:350 + msgid "The server is not a SOCKSv5 proxy server." + msgstr "伺服器不是 SOCKSv5 代理伺服器。" + +-#: ../gio/gsocks5proxy.c:167 ++#: ../gio/gsocks5proxy.c:169 ../gio/gsocks5proxy.c:186 + msgid "The SOCKSv5 proxy requires authentication." + msgstr "SOCKv5 代理伺服器要求核對。" + +-#: ../gio/gsocks5proxy.c:177 ++#: ../gio/gsocks5proxy.c:193 + msgid "" + "The SOCKSv5 proxy requires an authentication method that is not supported by " + "GLib." + msgstr "SOCKSv5 代理需要的核對方式尚未被 GLib 支援。" + +-#: ../gio/gsocks5proxy.c:206 ++#: ../gio/gsocks5proxy.c:222 + msgid "Username or password is too long for SOCKSv5 protocol." + msgstr "使用者名稱或密碼對 SOCKSv5 通訊協定來說太長了。" + +-#: ../gio/gsocks5proxy.c:236 ++#: ../gio/gsocks5proxy.c:252 + msgid "SOCKSv5 authentication failed due to wrong username or password." + msgstr "SOCKSv5 核對由於錯誤的使用者名稱或密碼失敗了。" + +-#: ../gio/gsocks5proxy.c:286 +-#, c-format +-msgid "Hostname '%s' is too long for SOCKSv5 protocol" ++#: ../gio/gsocks5proxy.c:302 ++#, fuzzy, c-format ++msgid "Hostname “%s” is too long for SOCKSv5 protocol" + msgstr "主機名稱「%s」對 SOCKSv5 通訊協定來說太長了" + +-#: ../gio/gsocks5proxy.c:348 ++#: ../gio/gsocks5proxy.c:364 + msgid "The SOCKSv5 proxy server uses unknown address type." + msgstr "SOCKSv5 代理伺服器使用了不明的位址類型。" + +-#: ../gio/gsocks5proxy.c:355 ++#: ../gio/gsocks5proxy.c:371 + msgid "Internal SOCKSv5 proxy server error." + msgstr "內部的 SOCKSv5 代理伺服器錯誤。" + +-#: ../gio/gsocks5proxy.c:361 ++#: ../gio/gsocks5proxy.c:377 + msgid "SOCKSv5 connection not allowed by ruleset." + msgstr "SOCKSv5 連線不被規則組允許。" + +-#: ../gio/gsocks5proxy.c:368 ++#: ../gio/gsocks5proxy.c:384 + msgid "Host unreachable through SOCKSv5 server." + msgstr "主機無法透過 SOCKSv5 代理伺服器抵達。" + +-#: ../gio/gsocks5proxy.c:374 ++#: ../gio/gsocks5proxy.c:390 + msgid "Network unreachable through SOCKSv5 proxy." + msgstr "網絡無法透過 SOCKSv5 代理伺服器抵達。" + +-#: ../gio/gsocks5proxy.c:380 ++#: ../gio/gsocks5proxy.c:396 + msgid "Connection refused through SOCKSv5 proxy." + msgstr "透過 SOCKSv5 代理伺服器連線被拒絕。" + +-#: ../gio/gsocks5proxy.c:386 +-msgid "SOCKSv5 proxy does not support 'connect' command." ++#: ../gio/gsocks5proxy.c:402 ++#, fuzzy ++msgid "SOCKSv5 proxy does not support “connect” command." + msgstr "SOCKSv5 代理伺服器不支援「connect」指令。" + +-#: ../gio/gsocks5proxy.c:392 ++#: ../gio/gsocks5proxy.c:408 + msgid "SOCKSv5 proxy does not support provided address type." + msgstr "SOCKSv5 代理伺服器不支援提供的位址類型。" + +-#: ../gio/gsocks5proxy.c:398 ++#: ../gio/gsocks5proxy.c:414 + msgid "Unknown SOCKSv5 proxy error." + msgstr "不明的 SOCKSv5 代理伺服器錯誤。" + +-#: ../gio/gthemedicon.c:518 ++#: ../gio/gtestdbus.c:614 ../glib/gspawn-win32.c:433 + #, c-format +-msgid "Can't handle version %d of GThemedIcon encoding" ++msgid "Failed to create pipe for communicating with child process (%s)" ++msgstr "無法建立管道來和副進程溝通 (%s)" ++ ++#: ../gio/gtestdbus.c:621 ++#, fuzzy, c-format ++msgid "Pipes are not supported in this platform" ++msgstr "不支援在串流中搜尋" ++ ++#: ../gio/gthemedicon.c:597 ++#, fuzzy, c-format ++msgid "Can’t handle version %d of GThemedIcon encoding" + msgstr "不能處理版本為 %d 的 GThemedIcon 編碼" + +-#: ../gio/gthreadedresolver.c:118 ++#: ../gio/gthreadedresolver.c:319 + msgid "No valid addresses were found" + msgstr "找不到有效的位址" + +-#: ../gio/gthreadedresolver.c:211 +-#, c-format +-msgid "Error reverse-resolving '%s': %s" ++#: ../gio/gthreadedresolver.c:514 ++#, fuzzy, c-format ++msgid "Error reverse-resolving “%s”: %s" + msgstr "反向解析「%s」時發生錯誤:%s" + +-#: ../gio/gthreadedresolver.c:546 ../gio/gthreadedresolver.c:626 +-#: ../gio/gthreadedresolver.c:724 ../gio/gthreadedresolver.c:774 ++#. Translators: the placeholder is a DNS record type, such as ‘MX’ or ‘SRV’ ++#: ../gio/gthreadedresolver.c:737 ../gio/gthreadedresolver.c:759 ++#: ../gio/gthreadedresolver.c:813 ../gio/gthreadedresolver.c:860 ++#: ../gio/gthreadedresolver.c:889 ../gio/gthreadedresolver.c:901 + #, c-format +-msgid "No DNS record of the requested type for '%s'" ++msgid "Error parsing DNS %s record: malformed DNS packet" ++msgstr "" ++ ++#: ../gio/gthreadedresolver.c:959 ../gio/gthreadedresolver.c:1096 ++#: ../gio/gthreadedresolver.c:1194 ../gio/gthreadedresolver.c:1244 ++#, fuzzy, c-format ++msgid "No DNS record of the requested type for “%s”" + msgstr "「%s」的要求類型沒有 DNS 紀錄" + +-#: ../gio/gthreadedresolver.c:551 ../gio/gthreadedresolver.c:729 +-#, c-format +-msgid "Temporarily unable to resolve '%s'" ++#: ../gio/gthreadedresolver.c:964 ../gio/gthreadedresolver.c:1199 ++#, fuzzy, c-format ++msgid "Temporarily unable to resolve “%s”" + msgstr "暫時無法解析「%s」" + +-#: ../gio/gthreadedresolver.c:556 ../gio/gthreadedresolver.c:734 +-#, c-format +-msgid "Error resolving '%s'" ++#: ../gio/gthreadedresolver.c:969 ../gio/gthreadedresolver.c:1204 ++#: ../gio/gthreadedresolver.c:1300 ++#, fuzzy, c-format ++msgid "Error resolving “%s”" + msgstr "解析「%s」時發生錯誤" + +-#: ../gio/gtlscertificate.c:247 +-msgid "Cannot decrypt PEM-encoded private key" +-msgstr "不能解鎖 PEM 編碼的私人密碼匙" ++#: ../gio/gthreadedresolver.c:983 ../gio/gthreadedresolver.c:1007 ++#: ../gio/gthreadedresolver.c:1032 ../gio/gthreadedresolver.c:1047 ++msgid "Malformed DNS packet" ++msgstr "" ++ ++#: ../gio/gthreadedresolver.c:1089 ++#, c-format ++msgid "Failed to parse DNS response for “%s”: " ++msgstr "" + +-#: ../gio/gtlscertificate.c:252 ++#: ../gio/gtlscertificate.c:480 + msgid "No PEM-encoded private key found" + msgstr "找不到 PEM 編碼的私人密碼匙" + +-#: ../gio/gtlscertificate.c:262 ++#: ../gio/gtlscertificate.c:490 ++msgid "Cannot decrypt PEM-encoded private key" ++msgstr "不能解鎖 PEM 編碼的私人密碼匙" ++ ++#: ../gio/gtlscertificate.c:501 + msgid "Could not parse PEM-encoded private key" + msgstr "無法解析 PEM 編碼的私人密碼匙" + +-#: ../gio/gtlscertificate.c:287 ++#: ../gio/gtlscertificate.c:528 + msgid "No PEM-encoded certificate found" + msgstr "找到非 PEM 編碼的證書" + +-#: ../gio/gtlscertificate.c:296 ++#: ../gio/gtlscertificate.c:537 + msgid "Could not parse PEM-encoded certificate" + msgstr "無法解析 PEM 編碼的證書" + +-#: ../gio/gtlspassword.c:111 ++#: ../gio/gtlscertificate.c:800 ++msgid "The current TLS backend does not support PKCS #12" ++msgstr "" ++ ++#: ../gio/gtlscertificate.c:1017 ++msgid "This GTlsBackend does not support creating PKCS #11 certificates" ++msgstr "" ++ ++#: ../gio/gtlspassword.c:113 + msgid "" + "This is the last chance to enter the password correctly before your access " + "is locked out." + msgstr "這是在你的存取被鎖定之前最後輸入密碼的機會。" + +-#: ../gio/gtlspassword.c:113 ++#. Translators: This is not the 'This is the last chance' string. It is ++#. * displayed when more than one attempt is allowed. ++#: ../gio/gtlspassword.c:117 ++#, fuzzy + msgid "" +-"Several password entered have been incorrect, and your access will be locked " +-"out after further failures." +-msgstr "你已經輸入多入不正確的密碼,如果接下來還是輸入錯誤將會鎖定你的存取權限。" ++"Several passwords entered have been incorrect, and your access will be " ++"locked out after further failures." ++msgstr "" ++"你已經輸入多入不正確的密碼,如果接下來還是輸入錯誤將會鎖定你的存取權限。" + +-#: ../gio/gtlspassword.c:115 ++#: ../gio/gtlspassword.c:119 + msgid "The password entered is incorrect." + msgstr "輸入的密碼是不正確的。" + +-#: ../gio/gunixconnection.c:159 ../gio/gunixconnection.c:554 ++#: ../gio/gunixconnection.c:127 ++#, fuzzy ++msgid "Sending FD is not supported" ++msgstr "不支援設定屬性 %s" ++ ++#: ../gio/gunixconnection.c:181 ../gio/gunixconnection.c:602 + #, c-format + msgid "Expecting 1 control message, got %d" + msgid_plural "Expecting 1 control message, got %d" + msgstr[0] "預期有 1 個控制訊息,卻收到 %d" + +-#: ../gio/gunixconnection.c:175 ../gio/gunixconnection.c:566 ++#: ../gio/gunixconnection.c:197 ../gio/gunixconnection.c:614 + msgid "Unexpected type of ancillary data" + msgstr "輔助資料的未預期類型" + +-#: ../gio/gunixconnection.c:193 ++#: ../gio/gunixconnection.c:216 + #, c-format + msgid "Expecting one fd, but got %d\n" + msgid_plural "Expecting one fd, but got %d\n" + msgstr[0] "預期有 1 個 fd,卻收到 %d\n" + +-#: ../gio/gunixconnection.c:212 ++#: ../gio/gunixconnection.c:235 + msgid "Received invalid fd" + msgstr "收到無效的 fd" + +-#: ../gio/gunixconnection.c:348 ++#: ../gio/gunixconnection.c:242 ++#, fuzzy ++msgid "Receiving FD is not supported" ++msgstr "不支援 URIs" ++ ++#: ../gio/gunixconnection.c:384 + msgid "Error sending credentials: " + msgstr "傳送證書時發生錯誤:" + +-#: ../gio/gunixconnection.c:496 ++#: ../gio/gunixconnection.c:542 + #, c-format + msgid "Error checking if SO_PASSCRED is enabled for socket: %s" + msgstr "檢查 SO_PASSCRED 在 socket 是否啟用時發生錯誤:%s" + +-#: ../gio/gunixconnection.c:511 ++#: ../gio/gunixconnection.c:558 + #, c-format + msgid "Error enabling SO_PASSCRED: %s" + msgstr "啟用 SO_PASSCRED 時發生錯誤:%s" + +-#: ../gio/gunixconnection.c:540 ++#: ../gio/gunixconnection.c:587 + msgid "" + "Expecting to read a single byte for receiving credentials but read zero bytes" + msgstr "預期接收證書要讀取單一位元組,但讀取到零位元組" + +-#: ../gio/gunixconnection.c:580 ++#: ../gio/gunixconnection.c:628 + #, c-format + msgid "Not expecting control message, but got %d" + msgstr "不是預期的控制訊息,卻收到 %d" + +-#: ../gio/gunixconnection.c:604 ++#: ../gio/gunixconnection.c:653 + #, c-format + msgid "Error while disabling SO_PASSCRED: %s" + msgstr "停用 SO_PASSCRED 時發生錯誤:%s" + +-#: ../gio/gunixinputstream.c:370 ../gio/gunixinputstream.c:391 ++#: ../gio/gunixinputstream.c:359 ../gio/gunixinputstream.c:380 + #, c-format + msgid "Error reading from file descriptor: %s" + msgstr "讀取檔案描述狀態時發生錯誤:%s" + +-#: ../gio/gunixinputstream.c:424 ../gio/gunixoutputstream.c:410 ++#: ../gio/gunixinputstream.c:413 ../gio/gunixoutputstream.c:522 ++#: ../gio/gwin32inputstream.c:219 ../gio/gwin32outputstream.c:206 + #, c-format + msgid "Error closing file descriptor: %s" + msgstr "關閉檔案描述狀態時發生錯誤:%s" + +-#: ../gio/gunixmounts.c:2066 ../gio/gunixmounts.c:2119 ++#: ../gio/gunixmounts.c:2826 ../gio/gunixmounts.c:2879 + msgid "Filesystem root" + msgstr "根檔案系統" + +-#: ../gio/gunixoutputstream.c:356 ../gio/gunixoutputstream.c:377 ++#: ../gio/gunixoutputstream.c:359 ../gio/gunixoutputstream.c:379 ++#: ../gio/gunixoutputstream.c:466 ../gio/gunixoutputstream.c:486 ++#: ../gio/gunixoutputstream.c:632 + #, c-format + msgid "Error writing to file descriptor: %s" + msgstr "寫入檔案描述狀態時發生錯誤:%s" + +-#: ../gio/gunixsocketaddress.c:232 ++#: ../gio/gunixsocketaddress.c:253 + msgid "Abstract UNIX domain socket addresses not supported on this system" + msgstr "這個系統不支授抽象 UNIX 網域 socket 位址" + +-#: ../gio/gvolume.c:437 +-msgid "volume doesn't implement eject" ++#: ../gio/gvolume.c:440 ++#, fuzzy ++msgid "volume doesn’t implement eject" + msgstr "儲存區尚未實作退出(eject)" + + #. Translators: This is an error + #. * message for volume objects that + #. * don't implement any of eject or eject_with_operation. +-#: ../gio/gvolume.c:514 +-msgid "volume doesn't implement eject or eject_with_operation" ++#: ../gio/gvolume.c:517 ++#, fuzzy ++msgid "volume doesn’t implement eject or eject_with_operation" + msgstr "儲存區尚未實作退出(eject) 或 eject_with_operation" + +-#: ../gio/gwin32appinfo.c:274 +-msgid "Can't find application" +-msgstr "找不到應用程式" +- +-#: ../gio/gwin32appinfo.c:306 +-#, c-format +-msgid "Error launching application: %s" +-msgstr "執行應用程式時發生錯誤:%s" +- +-#: ../gio/gwin32appinfo.c:342 +-msgid "URIs not supported" +-msgstr "不支援 URIs" +- +-#: ../gio/gwin32appinfo.c:364 +-msgid "association changes not supported on win32" +-msgstr "關聯更改在 win32 上不支援" +- +-#: ../gio/gwin32appinfo.c:376 +-msgid "Association creation not supported on win32" +-msgstr "關聯建立在 win32 上不支援" +- +-#: ../gio/gwin32inputstream.c:344 ++#: ../gio/gwin32inputstream.c:187 + #, c-format + msgid "Error reading from handle: %s" + msgstr "從處理器讀取時發生錯誤:%s" + +-#: ../gio/gwin32inputstream.c:388 ../gio/gwin32outputstream.c:375 ++#: ../gio/gwin32inputstream.c:234 ../gio/gwin32outputstream.c:221 + #, c-format + msgid "Error closing handle: %s" + msgstr "關閉處理器時發生錯誤:%s" + +-#: ../gio/gwin32outputstream.c:331 ++#: ../gio/gwin32outputstream.c:174 + #, c-format + msgid "Error writing to handle: %s" + msgstr "寫入至處理器時發生錯誤:%s" + +-#: ../gio/gzlibcompressor.c:394 ../gio/gzlibdecompressor.c:347 ++#: ../gio/gzlibcompressor.c:396 ../gio/gzlibdecompressor.c:349 + msgid "Not enough memory" + msgstr "沒有足夠的記憶體" + +-#: ../gio/gzlibcompressor.c:401 ../gio/gzlibdecompressor.c:354 ++#: ../gio/gzlibcompressor.c:403 ../gio/gzlibdecompressor.c:356 + #, c-format + msgid "Internal error: %s" + msgstr "內部的錯誤:%s" + +-#: ../gio/gzlibcompressor.c:414 ../gio/gzlibdecompressor.c:368 ++#: ../gio/gzlibcompressor.c:416 ../gio/gzlibdecompressor.c:370 + msgid "Need more input" + msgstr "需要更多輸入" + +-#: ../gio/gzlibdecompressor.c:340 ++#: ../gio/gzlibdecompressor.c:342 + msgid "Invalid compressed data" + msgstr "無效的壓縮資料" + +@@ -3025,569 +4521,760 @@ msgstr "執行 dbus 服務" + msgid "Wrong args\n" + msgstr "錯誤引數\n" + +-#: ../glib/gbookmarkfile.c:755 +-#, c-format +-msgid "Unexpected attribute '%s' for element '%s'" ++#: ../glib/gbookmarkfile.c:861 ++#, fuzzy, c-format ++msgid "Unexpected attribute “%s” for element “%s”" + msgstr "元件「%2$s」中有未預期的屬性「%1$s」" + +-#: ../glib/gbookmarkfile.c:766 ../glib/gbookmarkfile.c:837 +-#: ../glib/gbookmarkfile.c:847 ../glib/gbookmarkfile.c:954 +-#, c-format +-msgid "Attribute '%s' of element '%s' not found" ++#: ../glib/gbookmarkfile.c:872 ../glib/gbookmarkfile.c:952 ++#: ../glib/gbookmarkfile.c:962 ../glib/gbookmarkfile.c:1075 ++#, fuzzy, c-format ++msgid "Attribute “%s” of element “%s” not found" + msgstr "找不到元件「%2$s」中的屬性「%1$s」" + +-#: ../glib/gbookmarkfile.c:1124 ../glib/gbookmarkfile.c:1189 +-#: ../glib/gbookmarkfile.c:1253 ../glib/gbookmarkfile.c:1263 +-#, c-format +-msgid "Unexpected tag '%s', tag '%s' expected" ++#: ../glib/gbookmarkfile.c:1284 ../glib/gbookmarkfile.c:1349 ++#: ../glib/gbookmarkfile.c:1413 ../glib/gbookmarkfile.c:1423 ++#, fuzzy, c-format ++msgid "Unexpected tag “%s”, tag “%s” expected" + msgstr "未預期的標籤「%s」,應為標籤「%s」" + +-#: ../glib/gbookmarkfile.c:1149 ../glib/gbookmarkfile.c:1163 +-#: ../glib/gbookmarkfile.c:1231 +-#, c-format +-msgid "Unexpected tag '%s' inside '%s'" ++#: ../glib/gbookmarkfile.c:1309 ../glib/gbookmarkfile.c:1323 ++#: ../glib/gbookmarkfile.c:1391 ../glib/gbookmarkfile.c:1437 ++#, fuzzy, c-format ++msgid "Unexpected tag “%s” inside “%s”" + msgstr "「%2$s」中有未預期的標籤「%1$s」" + +-#: ../glib/gbookmarkfile.c:1756 ++#: ../glib/gbookmarkfile.c:1717 ++#, c-format ++msgid "Invalid date/time ‘%s’ in bookmark file" ++msgstr "" ++ ++#: ../glib/gbookmarkfile.c:1956 + msgid "No valid bookmark file found in data dirs" + msgstr "在資料目錄中找不到有效的書籤檔案" + +-#: ../glib/gbookmarkfile.c:1957 +-#, c-format +-msgid "A bookmark for URI '%s' already exists" ++#: ../glib/gbookmarkfile.c:2157 ++#, fuzzy, c-format ++msgid "A bookmark for URI “%s” already exists" + msgstr "URI「%s」的書籤已經存在" + +-#: ../glib/gbookmarkfile.c:2003 ../glib/gbookmarkfile.c:2161 +-#: ../glib/gbookmarkfile.c:2246 ../glib/gbookmarkfile.c:2326 +-#: ../glib/gbookmarkfile.c:2411 ../glib/gbookmarkfile.c:2494 +-#: ../glib/gbookmarkfile.c:2572 ../glib/gbookmarkfile.c:2651 +-#: ../glib/gbookmarkfile.c:2693 ../glib/gbookmarkfile.c:2790 +-#: ../glib/gbookmarkfile.c:2910 ../glib/gbookmarkfile.c:3100 +-#: ../glib/gbookmarkfile.c:3176 ../glib/gbookmarkfile.c:3344 +-#: ../glib/gbookmarkfile.c:3433 ../glib/gbookmarkfile.c:3522 +-#: ../glib/gbookmarkfile.c:3638 +-#, c-format +-msgid "No bookmark found for URI '%s'" ++#: ../glib/gbookmarkfile.c:2206 ../glib/gbookmarkfile.c:2364 ++#: ../glib/gbookmarkfile.c:2449 ../glib/gbookmarkfile.c:2529 ++#: ../glib/gbookmarkfile.c:2614 ../glib/gbookmarkfile.c:2748 ++#: ../glib/gbookmarkfile.c:2881 ../glib/gbookmarkfile.c:3016 ++#: ../glib/gbookmarkfile.c:3058 ../glib/gbookmarkfile.c:3155 ++#: ../glib/gbookmarkfile.c:3276 ../glib/gbookmarkfile.c:3470 ++#: ../glib/gbookmarkfile.c:3611 ../glib/gbookmarkfile.c:3830 ++#: ../glib/gbookmarkfile.c:3919 ../glib/gbookmarkfile.c:4008 ++#: ../glib/gbookmarkfile.c:4127 ++#, fuzzy, c-format ++msgid "No bookmark found for URI “%s”" + msgstr "找不到 URI「%s」的書籤" + +-#: ../glib/gbookmarkfile.c:2335 +-#, c-format +-msgid "No MIME type defined in the bookmark for URI '%s'" ++#: ../glib/gbookmarkfile.c:2538 ++#, fuzzy, c-format ++msgid "No MIME type defined in the bookmark for URI “%s”" + msgstr "URI「%s」書籤中沒有定義 MIME 類型" + +-#: ../glib/gbookmarkfile.c:2420 +-#, c-format +-msgid "No private flag has been defined in bookmark for URI '%s'" ++#: ../glib/gbookmarkfile.c:2623 ++#, fuzzy, c-format ++msgid "No private flag has been defined in bookmark for URI “%s”" + msgstr "URI「%s」書籤中沒有私有旗幟" + +-#: ../glib/gbookmarkfile.c:2799 +-#, c-format +-msgid "No groups set in bookmark for URI '%s'" ++#: ../glib/gbookmarkfile.c:3164 ++#, fuzzy, c-format ++msgid "No groups set in bookmark for URI “%s”" + msgstr "URI「%s」書籤中沒有設定羣組" + +-#: ../glib/gbookmarkfile.c:3197 ../glib/gbookmarkfile.c:3354 +-#, c-format +-msgid "No application with name '%s' registered a bookmark for '%s'" ++#: ../glib/gbookmarkfile.c:3632 ../glib/gbookmarkfile.c:3840 ++#, fuzzy, c-format ++msgid "No application with name “%s” registered a bookmark for “%s”" + msgstr "沒有名為「%s」的應用程式註冊書籤「%s」" + +-#: ../glib/gbookmarkfile.c:3377 +-#, c-format +-msgid "Failed to expand exec line '%s' with URI '%s'" ++#: ../glib/gbookmarkfile.c:3863 ++#, fuzzy, c-format ++msgid "Failed to expand exec line “%s” with URI “%s”" + msgstr "以 URI‘%2$s’ 展開 exec 行‘%1$s’失敗" + +-#: ../glib/gconvert.c:477 ../glib/gutf8.c:833 ../glib/gutf8.c:1044 +-#: ../glib/gutf8.c:1181 ../glib/gutf8.c:1285 ++#: ../glib/gconvert.c:469 ++#, fuzzy ++msgid "Unrepresentable character in conversion input" ++msgstr "轉換輸入資料時出現無效的字符次序" ++ ++#: ../glib/gconvert.c:496 ../glib/gutf8.c:954 ../glib/gutf8.c:1167 ++#: ../glib/gutf8.c:1304 ../glib/gutf8.c:1408 + msgid "Partial character sequence at end of input" + msgstr "輸入資料結束時字符仍未完整" + +-#: ../glib/gconvert.c:742 +-#, c-format +-msgid "Cannot convert fallback '%s' to codeset '%s'" ++#: ../glib/gconvert.c:767 ++#, fuzzy, c-format ++msgid "Cannot convert fallback “%s” to codeset “%s”" + msgstr "無法將後備字串‘%s’的字符集轉換成‘%s’" + +-#: ../glib/gconvert.c:1566 +-#, c-format +-msgid "The URI '%s' is not an absolute URI using the \"file\" scheme" +-msgstr "URI‘%s’不是使用“file”格式的絕對 URI" ++#: ../glib/gconvert.c:939 ++#, fuzzy ++msgid "Embedded NUL byte in conversion input" ++msgstr "轉換輸入資料時遇到不正確的位元組組合" + +-#: ../glib/gconvert.c:1576 +-#, c-format +-msgid "The local file URI '%s' may not include a '#'" +-msgstr "本機檔案的 URI‘%s’不應含有‘#’" ++#: ../glib/gconvert.c:960 ++#, fuzzy ++msgid "Embedded NUL byte in conversion output" ++msgstr "轉換輸入資料時遇到不正確的位元組組合" + +-#: ../glib/gconvert.c:1593 +-#, c-format +-msgid "The URI '%s' is invalid" ++#: ../glib/gconvert.c:1698 ++#, fuzzy, c-format ++msgid "The URI “%s” is not an absolute URI using the “file” scheme" ++msgstr "URI‘%s’不是使用“file”格式的絕對 URI" ++ ++#: ../glib/gconvert.c:1728 ++#, fuzzy, c-format ++msgid "The URI “%s” is invalid" + msgstr "URI‘%s’無效" + +-#: ../glib/gconvert.c:1605 +-#, c-format +-msgid "The hostname of the URI '%s' is invalid" ++#: ../glib/gconvert.c:1741 ++#, fuzzy, c-format ++msgid "The hostname of the URI “%s” is invalid" + msgstr "URI‘%s’中的主機名稱無效" + +-#: ../glib/gconvert.c:1621 +-#, c-format +-msgid "The URI '%s' contains invalidly escaped characters" ++#: ../glib/gconvert.c:1758 ++#, fuzzy, c-format ++msgid "The URI “%s” contains invalidly escaped characters" + msgstr "URI‘%s’含有「不正確跳出」的字符" + +-#: ../glib/gconvert.c:1716 +-#, c-format +-msgid "The pathname '%s' is not an absolute path" ++#: ../glib/gconvert.c:1832 ++#, fuzzy, c-format ++msgid "The pathname “%s” is not an absolute path" + msgstr "路徑名稱‘%s’不是絕對路徑" + +-#: ../glib/gconvert.c:1726 +-msgid "Invalid hostname" +-msgstr "主機名稱無效" +- +-#. Translators: 'before midday' indicator +-#: ../glib/gdatetime.c:201 +-msgctxt "GDateTime" +-msgid "AM" +-msgstr "上午" +- +-#. Translators: 'after midday' indicator +-#: ../glib/gdatetime.c:203 +-msgctxt "GDateTime" +-msgid "PM" +-msgstr "下午" +- + #. Translators: this is the preferred format for expressing the date and the time +-#: ../glib/gdatetime.c:206 ++#: ../glib/gdatetime.c:228 + msgctxt "GDateTime" + msgid "%a %b %e %H:%M:%S %Y" + msgstr "西元%Y年%m月%d日 (%A) %H時%M分%S秒" + + #. Translators: this is the preferred format for expressing the date +-#: ../glib/gdatetime.c:209 ++#: ../glib/gdatetime.c:231 + msgctxt "GDateTime" + msgid "%m/%d/%y" + msgstr "%y/%m/%d" + + #. Translators: this is the preferred format for expressing the time +-#: ../glib/gdatetime.c:212 ++#: ../glib/gdatetime.c:234 + msgctxt "GDateTime" + msgid "%H:%M:%S" + msgstr "%H:%M:%S" + + #. Translators: this is the preferred format for expressing 12 hour time +-#: ../glib/gdatetime.c:215 ++#: ../glib/gdatetime.c:237 + msgctxt "GDateTime" + msgid "%I:%M:%S %p" + msgstr "%p %I時%M分%S秒" + +-#: ../glib/gdatetime.c:228 ++#. Translators: Some languages (Baltic, Slavic, Greek, and some more) ++#. * need different grammatical forms of month names depending on whether ++#. * they are standalone or in a complete date context, with the day ++#. * number. Some other languages may prefer starting with uppercase when ++#. * they are standalone and with lowercase when they are in a complete ++#. * date context. Here are full month names in a form appropriate when ++#. * they are used standalone. If your system is Linux with the glibc ++#. * version 2.27 (released Feb 1, 2018) or newer or if it is from the BSD ++#. * family (which includes OS X) then you can refer to the date command ++#. * line utility and see what the command `date +%OB' produces. Also in ++#. * the latest Linux the command `locale alt_mon' in your native locale ++#. * produces a complete list of month names almost ready to copy and ++#. * paste here. Note that in most of the languages (western European, ++#. * non-European) there is no difference between the standalone and ++#. * complete date form. ++#. ++#: ../glib/gdatetime.c:276 + msgctxt "full month name" + msgid "January" + msgstr "一月" + +-#: ../glib/gdatetime.c:230 ++#: ../glib/gdatetime.c:278 + msgctxt "full month name" + msgid "February" + msgstr "二月" + +-#: ../glib/gdatetime.c:232 ++#: ../glib/gdatetime.c:280 + msgctxt "full month name" + msgid "March" + msgstr "三月" + +-#: ../glib/gdatetime.c:234 ++#: ../glib/gdatetime.c:282 + msgctxt "full month name" + msgid "April" + msgstr "四月" + +-#: ../glib/gdatetime.c:236 ++#: ../glib/gdatetime.c:284 + msgctxt "full month name" + msgid "May" + msgstr "五月" + +-#: ../glib/gdatetime.c:238 ++#: ../glib/gdatetime.c:286 + msgctxt "full month name" + msgid "June" + msgstr "六月" + +-#: ../glib/gdatetime.c:240 ++#: ../glib/gdatetime.c:288 + msgctxt "full month name" + msgid "July" + msgstr "七月" + +-#: ../glib/gdatetime.c:242 ++#: ../glib/gdatetime.c:290 + msgctxt "full month name" + msgid "August" + msgstr "八月" + +-#: ../glib/gdatetime.c:244 ++#: ../glib/gdatetime.c:292 + msgctxt "full month name" + msgid "September" + msgstr "九月" + +-#: ../glib/gdatetime.c:246 ++#: ../glib/gdatetime.c:294 + msgctxt "full month name" + msgid "October" + msgstr "十月" + +-#: ../glib/gdatetime.c:248 ++#: ../glib/gdatetime.c:296 + msgctxt "full month name" + msgid "November" + msgstr "十一月" + +-#: ../glib/gdatetime.c:250 ++#: ../glib/gdatetime.c:298 + msgctxt "full month name" + msgid "December" + msgstr "十二月" + +-#: ../glib/gdatetime.c:265 ++#. Translators: Some languages need different grammatical forms of ++#. * month names depending on whether they are standalone or in a complete ++#. * date context, with the day number. Some may prefer starting with ++#. * uppercase when they are standalone and with lowercase when they are ++#. * in a full date context. However, as these names are abbreviated ++#. * the grammatical difference is visible probably only in Belarusian ++#. * and Russian. In other languages there is no difference between ++#. * the standalone and complete date form when they are abbreviated. ++#. * If your system is Linux with the glibc version 2.27 (released ++#. * Feb 1, 2018) or newer then you can refer to the date command line ++#. * utility and see what the command `date +%Ob' produces. Also in ++#. * the latest Linux the command `locale ab_alt_mon' in your native ++#. * locale produces a complete list of month names almost ready to copy ++#. * and paste here. Note that this feature is not yet supported by any ++#. * other platform. Here are abbreviated month names in a form ++#. * appropriate when they are used standalone. ++#. ++#: ../glib/gdatetime.c:330 + msgctxt "abbreviated month name" + msgid "Jan" + msgstr "一月" + +-#: ../glib/gdatetime.c:267 ++#: ../glib/gdatetime.c:332 + msgctxt "abbreviated month name" + msgid "Feb" + msgstr "二月" + +-#: ../glib/gdatetime.c:269 ++#: ../glib/gdatetime.c:334 + msgctxt "abbreviated month name" + msgid "Mar" + msgstr "三月" + +-#: ../glib/gdatetime.c:271 ++#: ../glib/gdatetime.c:336 + msgctxt "abbreviated month name" + msgid "Apr" + msgstr "四月" + +-#: ../glib/gdatetime.c:273 ++#: ../glib/gdatetime.c:338 + msgctxt "abbreviated month name" + msgid "May" + msgstr "五月" + +-#: ../glib/gdatetime.c:275 ++#: ../glib/gdatetime.c:340 + msgctxt "abbreviated month name" + msgid "Jun" + msgstr "六月" + +-#: ../glib/gdatetime.c:277 ++#: ../glib/gdatetime.c:342 + msgctxt "abbreviated month name" + msgid "Jul" + msgstr "七月" + +-#: ../glib/gdatetime.c:279 ++#: ../glib/gdatetime.c:344 + msgctxt "abbreviated month name" + msgid "Aug" + msgstr "八月" + +-#: ../glib/gdatetime.c:281 ++#: ../glib/gdatetime.c:346 + msgctxt "abbreviated month name" + msgid "Sep" + msgstr "九月" + +-#: ../glib/gdatetime.c:283 ++#: ../glib/gdatetime.c:348 + msgctxt "abbreviated month name" + msgid "Oct" + msgstr "十月" + +-#: ../glib/gdatetime.c:285 ++#: ../glib/gdatetime.c:350 + msgctxt "abbreviated month name" + msgid "Nov" + msgstr "十一月" + +-#: ../glib/gdatetime.c:287 ++#: ../glib/gdatetime.c:352 + msgctxt "abbreviated month name" + msgid "Dec" + msgstr "十二月" + +-#: ../glib/gdatetime.c:302 ++#: ../glib/gdatetime.c:367 + msgctxt "full weekday name" + msgid "Monday" + msgstr "星期一" + +-#: ../glib/gdatetime.c:304 ++#: ../glib/gdatetime.c:369 + msgctxt "full weekday name" + msgid "Tuesday" + msgstr "星期二" + +-#: ../glib/gdatetime.c:306 ++#: ../glib/gdatetime.c:371 + msgctxt "full weekday name" + msgid "Wednesday" + msgstr "星期三" + +-#: ../glib/gdatetime.c:308 ++#: ../glib/gdatetime.c:373 + msgctxt "full weekday name" + msgid "Thursday" + msgstr "星期四" + +-#: ../glib/gdatetime.c:310 ++#: ../glib/gdatetime.c:375 + msgctxt "full weekday name" + msgid "Friday" + msgstr "星期五" + +-#: ../glib/gdatetime.c:312 ++#: ../glib/gdatetime.c:377 + msgctxt "full weekday name" + msgid "Saturday" + msgstr "星期六" + +-#: ../glib/gdatetime.c:314 ++#: ../glib/gdatetime.c:379 + msgctxt "full weekday name" + msgid "Sunday" + msgstr "星期日" + +-#: ../glib/gdatetime.c:329 ++#: ../glib/gdatetime.c:394 + msgctxt "abbreviated weekday name" + msgid "Mon" + msgstr "週一" + +-#: ../glib/gdatetime.c:331 ++#: ../glib/gdatetime.c:396 + msgctxt "abbreviated weekday name" + msgid "Tue" + msgstr "週二" + +-#: ../glib/gdatetime.c:333 ++#: ../glib/gdatetime.c:398 + msgctxt "abbreviated weekday name" + msgid "Wed" + msgstr "週三" + +-#: ../glib/gdatetime.c:335 ++#: ../glib/gdatetime.c:400 + msgctxt "abbreviated weekday name" + msgid "Thu" + msgstr "週四" + +-#: ../glib/gdatetime.c:337 ++#: ../glib/gdatetime.c:402 + msgctxt "abbreviated weekday name" + msgid "Fri" + msgstr "週五" + +-#: ../glib/gdatetime.c:339 ++#: ../glib/gdatetime.c:404 + msgctxt "abbreviated weekday name" + msgid "Sat" + msgstr "週六" + +-#: ../glib/gdatetime.c:341 ++#: ../glib/gdatetime.c:406 + msgctxt "abbreviated weekday name" + msgid "Sun" + msgstr "週日" + +-#: ../glib/gdir.c:155 +-#, c-format +-msgid "Error opening directory '%s': %s" ++#. Translators: Some languages need different grammatical forms of ++#. * month names depending on whether they are standalone or in a full ++#. * date context, with the day number. Some may prefer starting with ++#. * uppercase when they are standalone and with lowercase when they are ++#. * in a full date context. Here are full month names in a form ++#. * appropriate when they are used in a full date context, with the ++#. * day number. If your system is Linux with the glibc version 2.27 ++#. * (released Feb 1, 2018) or newer or if it is from the BSD family ++#. * (which includes OS X) then you can refer to the date command line ++#. * utility and see what the command `date +%B' produces. Also in ++#. * the latest Linux the command `locale mon' in your native locale ++#. * produces a complete list of month names almost ready to copy and ++#. * paste here. In older Linux systems due to a bug the result is ++#. * incorrect in some languages. Note that in most of the languages ++#. * (western European, non-European) there is no difference between the ++#. * standalone and complete date form. ++#. ++#: ../glib/gdatetime.c:470 ++msgctxt "full month name with day" ++msgid "January" ++msgstr "一月" ++ ++#: ../glib/gdatetime.c:472 ++msgctxt "full month name with day" ++msgid "February" ++msgstr "二月" ++ ++#: ../glib/gdatetime.c:474 ++msgctxt "full month name with day" ++msgid "March" ++msgstr "三月" ++ ++#: ../glib/gdatetime.c:476 ++msgctxt "full month name with day" ++msgid "April" ++msgstr "四月" ++ ++#: ../glib/gdatetime.c:478 ++msgctxt "full month name with day" ++msgid "May" ++msgstr "五月" ++ ++#: ../glib/gdatetime.c:480 ++msgctxt "full month name with day" ++msgid "June" ++msgstr "六月" ++ ++#: ../glib/gdatetime.c:482 ++msgctxt "full month name with day" ++msgid "July" ++msgstr "七月" ++ ++#: ../glib/gdatetime.c:484 ++msgctxt "full month name with day" ++msgid "August" ++msgstr "八月" ++ ++#: ../glib/gdatetime.c:486 ++msgctxt "full month name with day" ++msgid "September" ++msgstr "九月" ++ ++#: ../glib/gdatetime.c:488 ++msgctxt "full month name with day" ++msgid "October" ++msgstr "十月" ++ ++#: ../glib/gdatetime.c:490 ++msgctxt "full month name with day" ++msgid "November" ++msgstr "十一月" ++ ++#: ../glib/gdatetime.c:492 ++msgctxt "full month name with day" ++msgid "December" ++msgstr "十二月" ++ ++#. Translators: Some languages need different grammatical forms of ++#. * month names depending on whether they are standalone or in a full ++#. * date context, with the day number. Some may prefer starting with ++#. * uppercase when they are standalone and with lowercase when they are ++#. * in a full date context. Here are abbreviated month names in a form ++#. * appropriate when they are used in a full date context, with the ++#. * day number. However, as these names are abbreviated the grammatical ++#. * difference is visible probably only in Belarusian and Russian. ++#. * In other languages there is no difference between the standalone ++#. * and complete date form when they are abbreviated. If your system ++#. * is Linux with the glibc version 2.27 (released Feb 1, 2018) or newer ++#. * then you can refer to the date command line utility and see what the ++#. * command `date +%b' produces. Also in the latest Linux the command ++#. * `locale abmon' in your native locale produces a complete list of ++#. * month names almost ready to copy and paste here. In other systems ++#. * due to a bug the result is incorrect in some languages. ++#. ++#: ../glib/gdatetime.c:557 ++msgctxt "abbreviated month name with day" ++msgid "Jan" ++msgstr "一月" ++ ++#: ../glib/gdatetime.c:559 ++msgctxt "abbreviated month name with day" ++msgid "Feb" ++msgstr "二月" ++ ++#: ../glib/gdatetime.c:561 ++msgctxt "abbreviated month name with day" ++msgid "Mar" ++msgstr "三月" ++ ++#: ../glib/gdatetime.c:563 ++msgctxt "abbreviated month name with day" ++msgid "Apr" ++msgstr "四月" ++ ++#: ../glib/gdatetime.c:565 ++msgctxt "abbreviated month name with day" ++msgid "May" ++msgstr "五月" ++ ++#: ../glib/gdatetime.c:567 ++msgctxt "abbreviated month name with day" ++msgid "Jun" ++msgstr "六月" ++ ++#: ../glib/gdatetime.c:569 ++msgctxt "abbreviated month name with day" ++msgid "Jul" ++msgstr "七月" ++ ++#: ../glib/gdatetime.c:571 ++msgctxt "abbreviated month name with day" ++msgid "Aug" ++msgstr "八月" ++ ++#: ../glib/gdatetime.c:573 ++msgctxt "abbreviated month name with day" ++msgid "Sep" ++msgstr "九月" ++ ++#: ../glib/gdatetime.c:575 ++msgctxt "abbreviated month name with day" ++msgid "Oct" ++msgstr "十月" ++ ++#: ../glib/gdatetime.c:577 ++msgctxt "abbreviated month name with day" ++msgid "Nov" ++msgstr "十一月" ++ ++#: ../glib/gdatetime.c:579 ++msgctxt "abbreviated month name with day" ++msgid "Dec" ++msgstr "十二月" ++ ++#. Translators: 'before midday' indicator ++#: ../glib/gdatetime.c:596 ++msgctxt "GDateTime" ++msgid "AM" ++msgstr "上午" ++ ++#. Translators: 'after midday' indicator ++#: ../glib/gdatetime.c:599 ++msgctxt "GDateTime" ++msgid "PM" ++msgstr "下午" ++ ++#: ../glib/gdir.c:158 ++#, fuzzy, c-format ++msgid "Error opening directory “%s”: %s" + msgstr "開啟目錄‘%s’時發生錯誤:%s" + +-#: ../glib/gfileutils.c:700 ../glib/gfileutils.c:792 +-#, c-format +-msgid "Could not allocate %lu byte to read file \"%s\"" +-msgid_plural "Could not allocate %lu bytes to read file \"%s\"" ++#: ../glib/gfileutils.c:753 ../glib/gfileutils.c:845 ++#, fuzzy, c-format ++msgid "Could not allocate %lu byte to read file “%s”" ++msgid_plural "Could not allocate %lu bytes to read file “%s”" + msgstr[0] "無法配置 %lu 位元組來讀取檔案「%s」" + +-#: ../glib/gfileutils.c:717 +-#, c-format +-msgid "Error reading file '%s': %s" +-msgstr "讀取檔案‘%s’時發生錯誤:%s" ++#: ../glib/gfileutils.c:770 ++#, fuzzy, c-format ++msgid "Error reading file “%s”: %s" ++msgstr "讀取檔案 %s 時發生錯誤:%s" + +-#: ../glib/gfileutils.c:753 +-#, c-format +-msgid "File \"%s\" is too large" ++#: ../glib/gfileutils.c:806 ++#, fuzzy, c-format ++msgid "File “%s” is too large" + msgstr "檔案「%s」太過巨大" + +-#: ../glib/gfileutils.c:817 +-#, c-format +-msgid "Failed to read from file '%s': %s" ++#: ../glib/gfileutils.c:870 ++#, fuzzy, c-format ++msgid "Failed to read from file “%s”: %s" + msgstr "讀取檔案‘%s’失敗:%s" + +-#: ../glib/gfileutils.c:865 ../glib/gfileutils.c:937 +-#, c-format +-msgid "Failed to open file '%s': %s" ++#: ../glib/gfileutils.c:920 ../glib/gfileutils.c:995 ../glib/gfileutils.c:1472 ++#, fuzzy, c-format ++msgid "Failed to open file “%s”: %s" + msgstr "開啟檔案「%s」失敗:%s" + +-#: ../glib/gfileutils.c:877 +-#, c-format +-msgid "Failed to get attributes of file '%s': fstat() failed: %s" ++#: ../glib/gfileutils.c:933 ++#, fuzzy, c-format ++msgid "Failed to get attributes of file “%s”: fstat() failed: %s" + msgstr "獲取檔案‘%s’的屬性失敗:fstat() 失敗:%s" + +-#: ../glib/gfileutils.c:907 +-#, c-format +-msgid "Failed to open file '%s': fdopen() failed: %s" ++#: ../glib/gfileutils.c:964 ++#, fuzzy, c-format ++msgid "Failed to open file “%s”: fdopen() failed: %s" + msgstr "開啟檔案‘%s’失敗:fdopen() 失敗:%s" + +-#: ../glib/gfileutils.c:1006 +-#, c-format +-msgid "Failed to rename file '%s' to '%s': g_rename() failed: %s" ++#: ../glib/gfileutils.c:1065 ++#, fuzzy, c-format ++msgid "Failed to rename file “%s” to “%s”: g_rename() failed: %s" + msgstr "檔案名稱由‘%s’改為‘%s’失敗:g_rename() 失敗:%s" + +-#: ../glib/gfileutils.c:1041 ../glib/gfileutils.c:1540 +-#, c-format +-msgid "Failed to create file '%s': %s" +-msgstr "建立檔案‘%s’失敗:%s" +- +-#: ../glib/gfileutils.c:1068 +-#, c-format +-msgid "Failed to write file '%s': write() failed: %s" ++#: ../glib/gfileutils.c:1179 ++#, fuzzy, c-format ++msgid "Failed to write file “%s”: write() failed: %s" + msgstr "無法寫入檔案「%s」:write() 失敗:%s" + +-#: ../glib/gfileutils.c:1111 +-#, c-format +-msgid "Failed to write file '%s': fsync() failed: %s" ++#: ../glib/gfileutils.c:1200 ++#, fuzzy, c-format ++msgid "Failed to write file “%s”: fsync() failed: %s" + msgstr "無法寫入檔案「%s」:fsync() 失敗:%s" + +-#: ../glib/gfileutils.c:1235 +-#, c-format +-msgid "Existing file '%s' could not be removed: g_unlink() failed: %s" ++#: ../glib/gfileutils.c:1361 ../glib/gfileutils.c:1776 ++#, fuzzy, c-format ++msgid "Failed to create file “%s”: %s" ++msgstr "建立檔案‘%s’失敗:%s" ++ ++#: ../glib/gfileutils.c:1406 ++#, fuzzy, c-format ++msgid "Existing file “%s” could not be removed: g_unlink() failed: %s" + msgstr "現存檔案‘%s’無法移除:g_unlink() 失敗:%s" + +-#: ../glib/gfileutils.c:1506 +-#, c-format +-msgid "Template '%s' invalid, should not contain a '%s'" ++#: ../glib/gfileutils.c:1741 ++#, fuzzy, c-format ++msgid "Template “%s” invalid, should not contain a “%s”" + msgstr "樣式‘%s’無效,不應含有‘%s’" + + # (Abel) this is file template for mktemp/mkstemp +-#: ../glib/gfileutils.c:1519 +-#, c-format +-msgid "Template '%s' doesn't contain XXXXXX" ++#: ../glib/gfileutils.c:1754 ++#, fuzzy, c-format ++msgid "Template “%s” doesn’t contain XXXXXX" + msgstr "檔案樣式‘%s’沒有包含 XXXXXX" + +-#: ../glib/gfileutils.c:2038 +-#, c-format +-msgid "Failed to read the symbolic link '%s': %s" ++#: ../glib/gfileutils.c:2348 ../glib/gfileutils.c:2377 ++#, fuzzy, c-format ++msgid "Failed to read the symbolic link “%s”: %s" + msgstr "讀取符號連結‘%s’失敗:%s" + +-#: ../glib/gfileutils.c:2057 +-msgid "Symbolic links not supported" +-msgstr "不支援符號連結" +- +-#: ../glib/giochannel.c:1389 +-#, c-format +-msgid "Could not open converter from '%s' to '%s': %s" ++#: ../glib/giochannel.c:1408 ++#, fuzzy, c-format ++msgid "Could not open converter from “%s” to “%s”: %s" + msgstr "無法開啟將‘%s’轉換至‘%s’的轉換器:%s" + +-#: ../glib/giochannel.c:1734 +-msgid "Can't do a raw read in g_io_channel_read_line_string" ++#: ../glib/giochannel.c:1761 ++#, fuzzy ++msgid "Can’t do a raw read in g_io_channel_read_line_string" + msgstr "在 g_io_channel_read_line_string 中無法讀取原始資料" + +-#: ../glib/giochannel.c:1781 ../glib/giochannel.c:2039 +-#: ../glib/giochannel.c:2126 ++#: ../glib/giochannel.c:1808 ../glib/giochannel.c:2066 ++#: ../glib/giochannel.c:2153 + msgid "Leftover unconverted data in read buffer" + msgstr "用來讀取資料的緩衝區中仍有未轉換的資料" + +-#: ../glib/giochannel.c:1862 ../glib/giochannel.c:1939 ++#: ../glib/giochannel.c:1889 ../glib/giochannel.c:1966 + msgid "Channel terminates in a partial character" + msgstr "在字符未完整之前,輸入管道已經結束" + +-#: ../glib/giochannel.c:1925 +-msgid "Can't do a raw read in g_io_channel_read_to_end" ++#: ../glib/giochannel.c:1952 ++#, fuzzy ++msgid "Can’t do a raw read in g_io_channel_read_to_end" + msgstr "g_io_channel_read_to_end 中無法讀取原始資料" + +-#: ../glib/gkeyfile.c:719 ++#: ../glib/gkeyfile.c:821 + msgid "Valid key file could not be found in search dirs" + msgstr "在資料目錄中找不到有效的設定鍵檔案" + +-#: ../glib/gkeyfile.c:755 ++#: ../glib/gkeyfile.c:858 + msgid "Not a regular file" + msgstr "不是正規的檔案" + +-#: ../glib/gkeyfile.c:1155 +-#, c-format ++#: ../glib/gkeyfile.c:1346 ++#, fuzzy, c-format + msgid "" +-"Key file contains line '%s' which is not a key-value pair, group, or comment" ++"Key file contains line “%s” which is not a key-value pair, group, or comment" + msgstr "設定鍵檔案中‘%s’行並非設定鍵值配對、羣組或註解" + +-#: ../glib/gkeyfile.c:1212 ++#: ../glib/gkeyfile.c:1403 + #, c-format + msgid "Invalid group name: %s" + msgstr "無效的羣組名稱:%s" + +-#: ../glib/gkeyfile.c:1234 ++#: ../glib/gkeyfile.c:1427 + msgid "Key file does not start with a group" + msgstr "設定鍵檔案並非以羣組開頭" + +-#: ../glib/gkeyfile.c:1260 +-#, c-format +-msgid "Invalid key name: %s" ++#: ../glib/gkeyfile.c:1451 ++#, fuzzy, c-format ++msgid "Invalid key name: %.*s" + msgstr "無效的設定鍵名稱:%s" + +-#: ../glib/gkeyfile.c:1287 +-#, c-format +-msgid "Key file contains unsupported encoding '%s'" ++#: ../glib/gkeyfile.c:1479 ++#, fuzzy, c-format ++msgid "Key file contains unsupported encoding “%s”" + msgstr "設定鍵檔案包含不支援的編碼‘%s’" + +-#: ../glib/gkeyfile.c:1530 ../glib/gkeyfile.c:1692 ../glib/gkeyfile.c:3072 +-#: ../glib/gkeyfile.c:3138 ../glib/gkeyfile.c:3264 ../glib/gkeyfile.c:3397 +-#: ../glib/gkeyfile.c:3539 ../glib/gkeyfile.c:3768 ../glib/gkeyfile.c:3835 +-#, c-format +-msgid "Key file does not have group '%s'" ++#: ../glib/gkeyfile.c:1727 ../glib/gkeyfile.c:1900 ../glib/gkeyfile.c:3401 ++#: ../glib/gkeyfile.c:3503 ../glib/gkeyfile.c:3608 ../glib/gkeyfile.c:3737 ++#: ../glib/gkeyfile.c:3880 ../glib/gkeyfile.c:4129 ../glib/gkeyfile.c:4203 ++#, fuzzy, c-format ++msgid "Key file does not have group “%s”" + msgstr "設定鍵檔案沒有羣組‘%s’" + +-#: ../glib/gkeyfile.c:1704 +-#, c-format +-msgid "Key file does not have key '%s'" +-msgstr "設定鍵檔案沒有設定鍵‘%s’" ++#: ../glib/gkeyfile.c:1855 ++#, fuzzy, c-format ++msgid "Key file does not have key “%s” in group “%s”" ++msgstr "設定鍵檔案的羣組‘%2$s’中沒有設定鍵‘%1$s’" + +-#: ../glib/gkeyfile.c:1811 ../glib/gkeyfile.c:1927 +-#, c-format +-msgid "Key file contains key '%s' with value '%s' which is not UTF-8" ++#: ../glib/gkeyfile.c:2017 ../glib/gkeyfile.c:2133 ++#, fuzzy, c-format ++msgid "Key file contains key “%s” with value “%s” which is not UTF-8" + msgstr "設定鍵檔案包含的設定鍵‘%s’(數值為‘%s’)並非 UTF-8" + +-#: ../glib/gkeyfile.c:1831 ../glib/gkeyfile.c:1947 ../glib/gkeyfile.c:2316 +-#, c-format ++#: ../glib/gkeyfile.c:2037 ../glib/gkeyfile.c:2153 ../glib/gkeyfile.c:2646 ++#, fuzzy, c-format + msgid "" +-"Key file contains key '%s' which has a value that cannot be interpreted." ++"Key file contains key “%s” which has a value that cannot be interpreted." + msgstr "設定鍵檔案包含的設定鍵「%s」的數值無法解譯。" + +-#: ../glib/gkeyfile.c:2533 ../glib/gkeyfile.c:2901 +-#, c-format ++#: ../glib/gkeyfile.c:2861 ../glib/gkeyfile.c:3230 ++#, fuzzy, c-format + msgid "" +-"Key file contains key '%s' in group '%s' which has a value that cannot be " ++"Key file contains key “%s” in group “%s” which has a value that cannot be " + "interpreted." + msgstr "設定鍵檔案包含的羣組「%2$s」中設定鍵「%1$s」數值無法解譯。" + +-#: ../glib/gkeyfile.c:2611 ../glib/gkeyfile.c:2688 +-#, c-format +-msgid "Key '%s' in group '%s' has value '%s' where %s was expected" ++#: ../glib/gkeyfile.c:2939 ../glib/gkeyfile.c:3016 ++#, fuzzy, c-format ++msgid "Key “%s” in group “%s” has value “%s” where %s was expected" + msgstr "羣組「%2$s」中設定鍵「%1$s」包含數值「%3$s」,但預期為「%4$s」" + +-#: ../glib/gkeyfile.c:3087 ../glib/gkeyfile.c:3279 ../glib/gkeyfile.c:3846 +-#, c-format +-msgid "Key file does not have key '%s' in group '%s'" +-msgstr "設定鍵檔案的羣組‘%2$s’中沒有設定鍵‘%1$s’" +- +-#: ../glib/gkeyfile.c:4078 ++#: ../glib/gkeyfile.c:4460 + msgid "Key file contains escape character at end of line" + msgstr "設定鍵檔案在行尾包含跳出字符" + +-#: ../glib/gkeyfile.c:4100 +-#, c-format +-msgid "Key file contains invalid escape sequence '%s'" ++#: ../glib/gkeyfile.c:4497 ++#, fuzzy, c-format ++msgid "Key file contains invalid escape sequence “%s”" + msgstr "設定鍵檔案含有不正確的「跳出字符」‘%s’" + +-#: ../glib/gkeyfile.c:4242 +-#, c-format +-msgid "Value '%s' cannot be interpreted as a number." ++#: ../glib/gkeyfile.c:4648 ++#, fuzzy, c-format ++msgid "Value “%s” cannot be interpreted as a number." + msgstr "數值‘%s’不能被解譯為數字。" + +-#: ../glib/gkeyfile.c:4256 +-#, c-format +-msgid "Integer value '%s' out of range" ++#: ../glib/gkeyfile.c:4662 ++#, fuzzy, c-format ++msgid "Integer value “%s” out of range" + msgstr "整數值‘%s’超出範圍" + +-#: ../glib/gkeyfile.c:4289 +-#, c-format +-msgid "Value '%s' cannot be interpreted as a float number." ++#: ../glib/gkeyfile.c:4695 ++#, fuzzy, c-format ++msgid "Value “%s” cannot be interpreted as a float number." + msgstr "數值‘%s’不能被解譯為浮點數。" + +-#: ../glib/gkeyfile.c:4313 +-#, c-format +-msgid "Value '%s' cannot be interpreted as a boolean." ++#: ../glib/gkeyfile.c:4734 ++#, fuzzy, c-format ++msgid "Value “%s” cannot be interpreted as a boolean." + msgstr "數值‘%s’不能被解譯為邏輯值。" + +-#: ../glib/gmappedfile.c:129 +-#, c-format +-msgid "Failed to get attributes of file '%s%s%s%s': fstat() failed: %s" ++#: ../glib/gmappedfile.c:135 ++#, fuzzy, c-format ++msgid "Failed to get attributes of file “%s%s%s%s”: fstat() failed: %s" + msgstr "獲取檔案 「%s%s%s%s」的屬性失敗:fstat() 失敗:%s" + +-#: ../glib/gmappedfile.c:195 ++#: ../glib/gmappedfile.c:201 + #, c-format + msgid "Failed to map %s%s%s%s: mmap() failed: %s" + msgstr "對應檔案 %s%s%s%s 失敗:mmap() 失敗:%s" + +-#: ../glib/gmappedfile.c:261 +-#, c-format +-msgid "Failed to open file '%s': open() failed: %s" ++#: ../glib/gmappedfile.c:268 ++#, fuzzy, c-format ++msgid "Failed to open file “%s”: open() failed: %s" + msgstr "開啟檔案‘%s’失敗:open() 失敗:%s" + + #: ../glib/gmarkup.c:398 ../glib/gmarkup.c:440 +@@ -3596,932 +5283,1182 @@ msgid "Error on line %d char %d: " + msgstr "第 %d 列第 %d 個字發生錯誤:" + + #: ../glib/gmarkup.c:462 ../glib/gmarkup.c:545 +-#, c-format +-msgid "Invalid UTF-8 encoded text in name - not valid '%s'" ++#, fuzzy, c-format ++msgid "Invalid UTF-8 encoded text in name — not valid “%s”" + msgstr "名稱中無效的 UTF-8 編碼文字 - 不是合法的「%s」" + + #: ../glib/gmarkup.c:473 +-#, c-format +-msgid "'%s' is not a valid name" ++#, fuzzy, c-format ++msgid "“%s” is not a valid name" + msgstr "「%s」不是一個有效的名稱" + + #: ../glib/gmarkup.c:489 +-#, c-format +-msgid "'%s' is not a valid name: '%c'" ++#, fuzzy, c-format ++msgid "“%s” is not a valid name: “%c”" + msgstr "「%s」不是一個有效的名稱「%c」" + +-#: ../glib/gmarkup.c:599 ++#: ../glib/gmarkup.c:613 + #, c-format + msgid "Error on line %d: %s" + msgstr "第 %d 列發生錯誤:%s" + +-#: ../glib/gmarkup.c:683 +-#, c-format ++#: ../glib/gmarkup.c:690 ++#, fuzzy, c-format + msgid "" +-"Failed to parse '%-.*s', which should have been a digit inside a character " +-"reference (ê for example) - perhaps the digit is too large" ++"Failed to parse “%-.*s”, which should have been a digit inside a character " ++"reference (ê for example) — perhaps the digit is too large" + msgstr "無法解析‘%-.*s’,字符參引內應該含有數字(例如 ê)─ 可能是數字太大" + +-#: ../glib/gmarkup.c:695 ++#: ../glib/gmarkup.c:702 ++#, fuzzy + msgid "" + "Character reference did not end with a semicolon; most likely you used an " +-"ampersand character without intending to start an entity - escape ampersand " ++"ampersand character without intending to start an entity — escape ampersand " + "as &" +-msgstr "字符參引的結束部分不是分號;很可能你想使用 & 字符但未將它變為實體 ─ 請將 & 轉換為 &" ++msgstr "" ++"字符參引的結束部分不是分號;很可能你想使用 & 字符但未將它變為實體 ─ 請將 & 轉" ++"換為 &" + +-#: ../glib/gmarkup.c:721 +-#, c-format +-msgid "Character reference '%-.*s' does not encode a permitted character" ++#: ../glib/gmarkup.c:728 ++#, fuzzy, c-format ++msgid "Character reference “%-.*s” does not encode a permitted character" + msgstr "字符參引‘%-.*s’無法表示任何能接受的字符" + +-#: ../glib/gmarkup.c:759 ++#: ../glib/gmarkup.c:766 ++#, fuzzy + msgid "" +-"Empty entity '&;' seen; valid entities are: & " < > '" ++"Empty entity “&;” seen; valid entities are: & " < > '" + msgstr "出現空白的實體‘&;’;可用的實體為:& " < > '" + +-#: ../glib/gmarkup.c:767 +-#, c-format +-msgid "Entity name '%-.*s' is not known" ++#: ../glib/gmarkup.c:774 ++#, fuzzy, c-format ++msgid "Entity name “%-.*s” is not known" + msgstr "實體名稱 '%-.*s' 意義不明" + +-#: ../glib/gmarkup.c:772 ++#: ../glib/gmarkup.c:779 ++#, fuzzy + msgid "" + "Entity did not end with a semicolon; most likely you used an ampersand " +-"character without intending to start an entity - escape ampersand as &" +-msgstr "實體的結束部分不是分號;很可能你想使用 & 字符但未將它變為實體 ─ 請將 & 轉換為 &" ++"character without intending to start an entity — escape ampersand as &" ++msgstr "" ++"實體的結束部分不是分號;很可能你想使用 & 字符但未將它變為實體 ─ 請將 & 轉換" ++"為 &" + +-#: ../glib/gmarkup.c:1178 ++#: ../glib/gmarkup.c:1193 + msgid "Document must begin with an element (e.g. )" + msgstr "文件開始必須為一元素(例如 )" + +-#: ../glib/gmarkup.c:1218 +-#, c-format ++#: ../glib/gmarkup.c:1233 ++#, fuzzy, c-format + msgid "" +-"'%s' is not a valid character following a '<' character; it may not begin an " ++"“%s” is not a valid character following a “<” character; it may not begin an " + "element name" + msgstr "‘<’字符後的‘%s’不是有效的字符;這樣不可能是元素名稱的開始部份" + +-#: ../glib/gmarkup.c:1260 +-#, c-format ++#: ../glib/gmarkup.c:1276 ++#, fuzzy, c-format + msgid "" +-"Odd character '%s', expected a '>' character to end the empty-element tag " +-"'%s'" ++"Odd character “%s”, expected a “>” character to end the empty-element tag " ++"“%s”" + msgstr "字符「%s」只有一半,空元素標籤「%s」的結尾應該以‘>’字符結束" + +-#: ../glib/gmarkup.c:1341 ++#: ../glib/gmarkup.c:1346 + #, c-format ++msgid "Too many attributes in element “%s”" ++msgstr "" ++ ++#: ../glib/gmarkup.c:1366 ++#, fuzzy, c-format + msgid "" +-"Odd character '%s', expected a '=' after attribute name '%s' of element '%s'" ++"Odd character “%s”, expected a “=” after attribute name “%s” of element “%s”" + msgstr "不尋常的字符‘%s’,屬性名稱‘%s’(屬於元素‘%s’)後應該是‘=’字符" + +-#: ../glib/gmarkup.c:1382 +-#, c-format ++#: ../glib/gmarkup.c:1408 ++#, fuzzy, c-format + msgid "" +-"Odd character '%s', expected a '>' or '/' character to end the start tag of " +-"element '%s', or optionally an attribute; perhaps you used an invalid " ++"Odd character “%s”, expected a “>” or “/” character to end the start tag of " ++"element “%s”, or optionally an attribute; perhaps you used an invalid " + "character in an attribute name" +-msgstr "不尋常的字符‘%s’,元素‘%s’的開始標籤應該以‘>’或‘/’字符終結,也可以是屬性;或許你在屬性名稱中使用了無效的字符" ++msgstr "" ++"不尋常的字符‘%s’,元素‘%s’的開始標籤應該以‘>’或‘/’字符終結,也可以是屬性;或" ++"許你在屬性名稱中使用了無效的字符" + +-#: ../glib/gmarkup.c:1426 +-#, c-format ++#: ../glib/gmarkup.c:1453 ++#, fuzzy, c-format + msgid "" +-"Odd character '%s', expected an open quote mark after the equals sign when " +-"giving value for attribute '%s' of element '%s'" +-msgstr "不尋常的字符‘%s’,當指定屬性‘%s’的值(屬於元素‘%s’)時,等號後應該出現開引號" ++"Odd character “%s”, expected an open quote mark after the equals sign when " ++"giving value for attribute “%s” of element “%s”" ++msgstr "" ++"不尋常的字符‘%s’,當指定屬性‘%s’的值(屬於元素‘%s’)時,等號後應該出現開引號" + +-#: ../glib/gmarkup.c:1559 +-#, c-format ++#: ../glib/gmarkup.c:1587 ++#, fuzzy, c-format + msgid "" +-"'%s' is not a valid character following the characters ''" ++"“%s” is not a valid character following the close element name “%s”; the " ++"allowed character is “>”" + msgstr "字符‘%s’是無效的(位置在關閉元素‘%s’末端);允許的字符為「>」" + +-#: ../glib/gmarkup.c:1606 +-#, c-format +-msgid "Element '%s' was closed, no element is currently open" ++#: ../glib/gmarkup.c:1637 ++#, fuzzy, c-format ++msgid "Element “%s” was closed, no element is currently open" + msgstr "元素‘%s’已關閉,沒有開啟中的元素" + +-#: ../glib/gmarkup.c:1615 +-#, c-format +-msgid "Element '%s' was closed, but the currently open element is '%s'" ++#: ../glib/gmarkup.c:1646 ++#, fuzzy, c-format ++msgid "Element “%s” was closed, but the currently open element is “%s”" + msgstr "元素‘%s’已關閉,但開啟中的元素是‘%s’" + +-#: ../glib/gmarkup.c:1768 ++#: ../glib/gmarkup.c:1799 + msgid "Document was empty or contained only whitespace" + msgstr "文件完全空白或只含有空白字符" + +-#: ../glib/gmarkup.c:1782 +-msgid "Document ended unexpectedly just after an open angle bracket '<'" ++#: ../glib/gmarkup.c:1813 ++#, fuzzy ++msgid "Document ended unexpectedly just after an open angle bracket “<”" + msgstr "文件在尖角括號‘<’後突然終止" + +-#: ../glib/gmarkup.c:1790 ../glib/gmarkup.c:1835 +-#, c-format ++#: ../glib/gmarkup.c:1821 ../glib/gmarkup.c:1866 ++#, fuzzy, c-format + msgid "" +-"Document ended unexpectedly with elements still open - '%s' was the last " ++"Document ended unexpectedly with elements still open — “%s” was the last " + "element opened" + msgstr "在仍然有開啟中的元素時,文件突然結束 ─‘%s’是最後一個開啟的元素" + +-#: ../glib/gmarkup.c:1798 ++#: ../glib/gmarkup.c:1829 + #, c-format + msgid "" + "Document ended unexpectedly, expected to see a close angle bracket ending " + "the tag <%s/>" + msgstr "文件突然結束,本來應該出現用來關閉標籤 <%s/> 的尖角括號" + +-#: ../glib/gmarkup.c:1804 ++#: ../glib/gmarkup.c:1835 + msgid "Document ended unexpectedly inside an element name" + msgstr "在元素的名稱內,文件突然結束" + +-#: ../glib/gmarkup.c:1810 ++#: ../glib/gmarkup.c:1841 + msgid "Document ended unexpectedly inside an attribute name" + msgstr "在屬性名稱內,文件突然結束" + +-#: ../glib/gmarkup.c:1815 ++#: ../glib/gmarkup.c:1846 + msgid "Document ended unexpectedly inside an element-opening tag." + msgstr "在元素的開啟標籤內,文件突然結束" + +-#: ../glib/gmarkup.c:1821 ++#: ../glib/gmarkup.c:1852 + msgid "" + "Document ended unexpectedly after the equals sign following an attribute " + "name; no attribute value" + msgstr "在屬性名稱的等號後,文件突然結束;沒有屬性值" + +-#: ../glib/gmarkup.c:1828 ++#: ../glib/gmarkup.c:1859 + msgid "Document ended unexpectedly while inside an attribute value" + msgstr "在屬性值內,文件突然結束" + +-#: ../glib/gmarkup.c:1844 +-#, c-format +-msgid "Document ended unexpectedly inside the close tag for element '%s'" ++#: ../glib/gmarkup.c:1876 ++#, fuzzy, c-format ++msgid "Document ended unexpectedly inside the close tag for element “%s”" ++msgstr "在元素‘%s’的關閉標籤內,文件突然結束" ++ ++#: ../glib/gmarkup.c:1880 ++#, fuzzy ++msgid "" ++"Document ended unexpectedly inside the close tag for an unopened element" + msgstr "在元素‘%s’的關閉標籤內,文件突然結束" + +-#: ../glib/gmarkup.c:1850 ++#: ../glib/gmarkup.c:1886 + msgid "Document ended unexpectedly inside a comment or processing instruction" + msgstr "在註解或處理指示內,文件突然結束" + +-#: ../glib/goption.c:795 +-msgid "Usage:" +-msgstr "用法:" +- +-#: ../glib/goption.c:795 +-msgid "[OPTION...]" ++#: ../glib/goption.c:875 ++#, fuzzy ++msgid "[OPTION…]" + msgstr "[選項…]" + +-#: ../glib/goption.c:911 ++#: ../glib/goption.c:991 + msgid "Help Options:" + msgstr "說明選項:" + +-#: ../glib/goption.c:912 ++#: ../glib/goption.c:992 + msgid "Show help options" + msgstr "顯示說明的選項" + +-#: ../glib/goption.c:918 ++#: ../glib/goption.c:998 + msgid "Show all help options" + msgstr "顯示所有的說明選項" + +-#: ../glib/goption.c:980 ++#: ../glib/goption.c:1061 + msgid "Application Options:" + msgstr "應用程式選項:" + +-#: ../glib/goption.c:1044 ../glib/goption.c:1114 +-#, c-format +-msgid "Cannot parse integer value '%s' for %s" ++#: ../glib/goption.c:1063 ++#, fuzzy ++msgid "Options:" ++msgstr "說明選項:" ++ ++#: ../glib/goption.c:1127 ../glib/goption.c:1197 ++#, fuzzy, c-format ++msgid "Cannot parse integer value “%s” for %s" + msgstr "無法給 %2$s 解析整數值‘%1$s’" + +-#: ../glib/goption.c:1054 ../glib/goption.c:1122 +-#, c-format +-msgid "Integer value '%s' for %s out of range" ++#: ../glib/goption.c:1137 ../glib/goption.c:1205 ++#, fuzzy, c-format ++msgid "Integer value “%s” for %s out of range" + msgstr "%2$s 的整數值‘%1$s’超出範圍" + +-#: ../glib/goption.c:1079 +-#, c-format +-msgid "Cannot parse double value '%s' for %s" ++#: ../glib/goption.c:1162 ++#, fuzzy, c-format ++msgid "Cannot parse double value “%s” for %s" + msgstr "無法給 %2$s 解析雙精度浮點數‘%1$s’" + +-#: ../glib/goption.c:1087 +-#, c-format +-msgid "Double value '%s' for %s out of range" ++#: ../glib/goption.c:1170 ++#, fuzzy, c-format ++msgid "Double value “%s” for %s out of range" + msgstr "%2$s 的雙精度浮點數‘%1$s’超出範圍" + +-#: ../glib/goption.c:1373 ../glib/goption.c:1452 ++#: ../glib/goption.c:1462 ../glib/goption.c:1541 + #, c-format + msgid "Error parsing option %s" + msgstr "解析 %s 選項時發生錯誤" + +-#: ../glib/goption.c:1483 ../glib/goption.c:1596 ++#: ../glib/goption.c:1563 ../glib/goption.c:1676 + #, c-format + msgid "Missing argument for %s" + msgstr "缺少 %s 的參數" + +-#: ../glib/goption.c:2057 ++#: ../glib/goption.c:2186 + #, c-format + msgid "Unknown option %s" + msgstr "不明的選項 %s" + +-#: ../glib/gregex.c:258 ++#: ../glib/gregex.c:480 + msgid "corrupted object" + msgstr "損毀的物件" + +-#: ../glib/gregex.c:260 +-msgid "internal error or corrupted object" +-msgstr "內部錯誤或損毀的物件" +- +-#: ../glib/gregex.c:262 ++#: ../glib/gregex.c:482 + msgid "out of memory" + msgstr "記憶體耗盡" + +-#: ../glib/gregex.c:267 +-msgid "backtracking limit reached" +-msgstr "已達回溯上限" ++#: ../glib/gregex.c:497 ++msgid "internal error" ++msgstr "內部的錯誤" + +-#: ../glib/gregex.c:279 ../glib/gregex.c:287 ++#: ../glib/gregex.c:499 + msgid "the pattern contains items not supported for partial matching" + msgstr "此模式包含了不支援部分比對的項目" + +-#: ../glib/gregex.c:289 ++#: ../glib/gregex.c:501 + msgid "back references as conditions are not supported for partial matching" + msgstr "部分比對不支援以反向參照為條件" + +-#: ../glib/gregex.c:298 ++#: ../glib/gregex.c:507 + msgid "recursion limit reached" + msgstr "已達遞廻上限" + +-#: ../glib/gregex.c:300 +-msgid "invalid combination of newline flags" +-msgstr "無效的換列旗標組合" +- +-#: ../glib/gregex.c:302 ++#: ../glib/gregex.c:509 + msgid "bad offset" + msgstr "錯誤的偏移" + +-#: ../glib/gregex.c:304 +-msgid "short utf8" +-msgstr "短式 utf8" +- +-#: ../glib/gregex.c:306 ++#: ../glib/gregex.c:511 + msgid "recursion loop" + msgstr "循環廻圈" + +-#: ../glib/gregex.c:310 ++#. should not happen in GRegex since we check modes before each match ++#: ../glib/gregex.c:514 ++msgid "matching mode is requested that was not compiled for JIT" ++msgstr "" ++ ++#: ../glib/gregex.c:535 ../glib/gregex.c:1851 + msgid "unknown error" + msgstr "不明的錯誤" + +-#: ../glib/gregex.c:330 ++#: ../glib/gregex.c:556 + msgid "\\ at end of pattern" + msgstr "\\ 於模式結尾" + +-#: ../glib/gregex.c:333 ++#: ../glib/gregex.c:560 + msgid "\\c at end of pattern" + msgstr "\\c 於模式結尾" + +-#: ../glib/gregex.c:336 ++#: ../glib/gregex.c:565 + msgid "unrecognized character following \\" + msgstr "無法辨識的字符接着 \\" + +-#: ../glib/gregex.c:339 ++#: ../glib/gregex.c:569 + msgid "numbers out of order in {} quantifier" + msgstr "{} 裏的數字次序顛倒了" + +-#: ../glib/gregex.c:342 ++#: ../glib/gregex.c:573 + msgid "number too big in {} quantifier" + msgstr "{} 裏的數字太大了" + +-#: ../glib/gregex.c:345 ++#: ../glib/gregex.c:577 + msgid "missing terminating ] for character class" + msgstr "字符類別缺少結束的 ]" + +-#: ../glib/gregex.c:348 ++#: ../glib/gregex.c:581 + msgid "invalid escape sequence in character class" + msgstr "字符類別中無效的跳脫序列" + +-#: ../glib/gregex.c:351 ++#: ../glib/gregex.c:585 + msgid "range out of order in character class" + msgstr "字符類別的範圍次序顛倒" + +-#: ../glib/gregex.c:354 ++#: ../glib/gregex.c:590 + msgid "nothing to repeat" + msgstr "沒有東西可重複" + +-#: ../glib/gregex.c:358 +-msgid "unexpected repeat" +-msgstr "未預期的重複" +- +-#: ../glib/gregex.c:361 ++#: ../glib/gregex.c:594 + msgid "unrecognized character after (? or (?-" + msgstr "在 (? 或 (?- 後無法辨識的字符" + +-#: ../glib/gregex.c:364 ++#: ../glib/gregex.c:598 + msgid "POSIX named classes are supported only within a class" + msgstr "POSIX 命名類別只在單一類別中支援" + +-#: ../glib/gregex.c:367 ++#: ../glib/gregex.c:602 ++msgid "POSIX collating elements are not supported" ++msgstr "不支援 POSIX 整理元件" ++ ++#: ../glib/gregex.c:608 + msgid "missing terminating )" + msgstr "缺少結束的 )" + +-#: ../glib/gregex.c:370 ++#: ../glib/gregex.c:612 + msgid "reference to non-existent subpattern" + msgstr "參照不存在的子模式" + +-#: ../glib/gregex.c:373 ++#: ../glib/gregex.c:616 + msgid "missing ) after comment" + msgstr "註解後缺少 )" + +-#: ../glib/gregex.c:376 ++#: ../glib/gregex.c:620 + msgid "regular expression is too large" + msgstr "正規表示式太大" + +-#: ../glib/gregex.c:379 +-msgid "failed to get memory" +-msgstr "取得記憶體失敗" +- +-#: ../glib/gregex.c:383 +-msgid ") without opening (" +-msgstr ") 沒有開頭的 (" +- +-#: ../glib/gregex.c:387 +-msgid "code overflow" +-msgstr "程式碼溢流" +- +-#: ../glib/gregex.c:391 +-msgid "unrecognized character after (?<" +-msgstr "在 (?< 後有無法辨識的字符" ++#: ../glib/gregex.c:624 ++msgid "malformed number or name after (?(" ++msgstr "(?( 之後有格式不正確的數字或名稱" + +-#: ../glib/gregex.c:394 ++#: ../glib/gregex.c:628 + msgid "lookbehind assertion is not fixed length" + msgstr "lookbehind 判斷提示(assertion) 不是固定的長度" + +-#: ../glib/gregex.c:397 +-msgid "malformed number or name after (?(" +-msgstr "(?( 之後有格式不正確的數字或名稱" +- +-#: ../glib/gregex.c:400 ++#: ../glib/gregex.c:632 + msgid "conditional group contains more than two branches" + msgstr "條件式羣組包含了兩個以上的分支" + +-#: ../glib/gregex.c:403 ++#: ../glib/gregex.c:636 + msgid "assertion expected after (?(" + msgstr "(?( 後應該有判斷提示(assertion)" + +-#. translators: '(?R' and '(?[+-]digits' are both meant as (groups of) +-#. * sequences here, '(?-54' would be an example for the second group. +-#. +-#: ../glib/gregex.c:410 +-msgid "(?R or (?[+-]digits must be followed by )" +-msgstr "(?R 或 (?[+-]數字必須接着 )" ++#: ../glib/gregex.c:640 ++msgid "a numbered reference must not be zero" ++msgstr "編號式參照必須不為零" + +-#: ../glib/gregex.c:413 ++#: ../glib/gregex.c:644 + msgid "unknown POSIX class name" + msgstr "不明的 POSIX 類別名稱" + +-#: ../glib/gregex.c:416 +-msgid "POSIX collating elements are not supported" +-msgstr "不支援 POSIX 整理元件" +- +-#: ../glib/gregex.c:419 ++#: ../glib/gregex.c:649 + msgid "character value in \\x{...} sequence is too large" + msgstr "\\x{…} 序列中的字符值太大" + +-#: ../glib/gregex.c:422 +-msgid "invalid condition (?(0)" +-msgstr "無效的條件 (?(0)" +- +-#: ../glib/gregex.c:425 ++#: ../glib/gregex.c:653 + msgid "\\C not allowed in lookbehind assertion" + msgstr "在 lookbehind 判斷提示(assertion) 中不支援\\C" + +-#: ../glib/gregex.c:432 +-msgid "escapes \\L, \\l, \\N{name}, \\U, and \\u are not supported" +-msgstr "escapes \\L, \\l, \\N{name}, \\U, 和 \\u 不支援" +- +-#: ../glib/gregex.c:435 +-msgid "recursive call could loop indefinitely" +-msgstr "遞廻呼叫可能變成無限廻圈" +- +-#: ../glib/gregex.c:439 +-msgid "unrecognized character after (?P" +-msgstr "在 (?P 後有無法辨識的字符" +- +-#: ../glib/gregex.c:442 ++#: ../glib/gregex.c:657 + msgid "missing terminator in subpattern name" + msgstr "子模式名稱中缺少結束字符" + +-#: ../glib/gregex.c:445 ++#: ../glib/gregex.c:661 + msgid "two named subpatterns have the same name" + msgstr "兩個命名的子模式具有相同的名稱" + +-#: ../glib/gregex.c:448 ++#: ../glib/gregex.c:665 + msgid "malformed \\P or \\p sequence" + msgstr "格式不正確的 \\P 或 \\p 序列" + +-#: ../glib/gregex.c:451 ++#: ../glib/gregex.c:669 + msgid "unknown property name after \\P or \\p" + msgstr "在 \\P 或 \\p 後有不明的屬性名稱" + +-#: ../glib/gregex.c:454 ++#: ../glib/gregex.c:673 + msgid "subpattern name is too long (maximum 32 characters)" + msgstr "子模式名稱太長(最多 32 字符)" + +-#: ../glib/gregex.c:457 ++#: ../glib/gregex.c:677 + msgid "too many named subpatterns (maximum 10,000)" + msgstr "太多命名的子模式(最大值 10,000)" + +-#: ../glib/gregex.c:460 ++#: ../glib/gregex.c:681 + msgid "octal value is greater than \\377" + msgstr "8 進位值大於 \\377" + +-#: ../glib/gregex.c:464 +-msgid "overran compiling workspace" +-msgstr "編譯工作區超出範圍" +- +-#: ../glib/gregex.c:468 +-msgid "previously-checked referenced subpattern not found" +-msgstr "找不到預先核取的參照子字串" +- +-#: ../glib/gregex.c:471 ++#: ../glib/gregex.c:685 + msgid "DEFINE group contains more than one branch" + msgstr "DEFINE 羣組包含一個以上的分支" + +-#: ../glib/gregex.c:474 ++#: ../glib/gregex.c:689 + msgid "inconsistent NEWLINE options" + msgstr "不一致的 NEWLINE 選項" + +-#: ../glib/gregex.c:477 ++#: ../glib/gregex.c:693 + msgid "" + "\\g is not followed by a braced, angle-bracketed, or quoted name or number, " + "or by a plain number" + msgstr "\\g 並未隨着具有大括弧、角括弧或引號的名稱或數字或純文字數字" + +-#: ../glib/gregex.c:481 +-msgid "a numbered reference must not be zero" +-msgstr "編號式參照必須不為零" +- +-#: ../glib/gregex.c:484 ++#: ../glib/gregex.c:698 + msgid "an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT)" + msgstr "引數不允許用於 (*ACCEPT)、(*FAIL) 或 (*COMMIT)" + +-#: ../glib/gregex.c:487 ++#: ../glib/gregex.c:702 + msgid "(*VERB) not recognized" + msgstr "(*VERB) 無法辨識" + +-#: ../glib/gregex.c:490 ++#: ../glib/gregex.c:706 + msgid "number is too big" + msgstr "數字太大" + +-#: ../glib/gregex.c:493 ++#: ../glib/gregex.c:710 + msgid "missing subpattern name after (?&" + msgstr "(?& 後缺少子樣式" + +-#: ../glib/gregex.c:496 +-msgid "digit expected after (?+" +-msgstr "(?+ 後應該有數字" +- +-#: ../glib/gregex.c:499 +-msgid "] is an invalid data character in JavaScript compatibility mode" +-msgstr "] 在 JavaScript 兼容性模式中是無效的資料字符" +- +-#: ../glib/gregex.c:502 ++#: ../glib/gregex.c:714 + msgid "different names for subpatterns of the same number are not allowed" + msgstr "不允許同樣編號的子樣式有不同的名稱" + +-#: ../glib/gregex.c:505 ++#: ../glib/gregex.c:718 + msgid "(*MARK) must have an argument" + msgstr "(*MARK) 需要一個引數" + +-#: ../glib/gregex.c:508 ++#: ../glib/gregex.c:722 + msgid "\\c must be followed by an ASCII character" + msgstr "\\c 必須接着 ASCII 字符" + +-#: ../glib/gregex.c:511 ++#: ../glib/gregex.c:726 + msgid "\\k is not followed by a braced, angle-bracketed, or quoted name" + msgstr "\\k 並未隨着具有大括弧、角括弧或引號的名稱" + +-#: ../glib/gregex.c:514 ++#: ../glib/gregex.c:730 + msgid "\\N is not supported in a class" + msgstr "\\N 在類別中不支援" + +-#: ../glib/gregex.c:517 +-msgid "too many forward references" +-msgstr "有太多的向前參照" +- +-#: ../glib/gregex.c:520 ++#: ../glib/gregex.c:734 + msgid "name is too long in (*MARK), (*PRUNE), (*SKIP), or (*THEN)" + msgstr "名稱在 (*MARK)、(*PRUNE)、(*SKIP) 或 (*THEN)" + +-#: ../glib/gregex.c:523 +-msgid "character value in \\u.... sequence is too large" +-msgstr "\\u.... 序列中的字符值太大" ++#: ../glib/gregex.c:738 ../glib/gregex.c:874 ++msgid "code overflow" ++msgstr "程式碼溢流" ++ ++#: ../glib/gregex.c:742 ++msgid "unrecognized character after (?P" ++msgstr "在 (?P 後有無法辨識的字符" ++ ++#: ../glib/gregex.c:746 ++msgid "overran compiling workspace" ++msgstr "編譯工作區超出範圍" + +-#: ../glib/gregex.c:746 ../glib/gregex.c:1915 ++#: ../glib/gregex.c:750 ++msgid "previously-checked referenced subpattern not found" ++msgstr "找不到預先核取的參照子字串" ++ ++#: ../glib/gregex.c:873 ../glib/gregex.c:1135 ../glib/gregex.c:2457 + #, c-format + msgid "Error while matching regular expression %s: %s" + msgstr "比對正規表示式 %s 發生錯誤:%s" + +-#: ../glib/gregex.c:1312 ++#: ../glib/gregex.c:1735 + msgid "PCRE library is compiled without UTF8 support" + msgstr "PCRE 程式庫並未編譯對 UTF8 的支援" + +-#: ../glib/gregex.c:1316 +-msgid "PCRE library is compiled without UTF8 properties support" +-msgstr "PCRE 程式庫並未編譯對 UTF8 屬性的支援" +- +-#: ../glib/gregex.c:1324 ++#: ../glib/gregex.c:1743 + msgid "PCRE library is compiled with incompatible options" + msgstr "PCRE 程式庫並未編譯不兼容的選項" + +-#: ../glib/gregex.c:1383 +-#, c-format +-msgid "Error while compiling regular expression %s at char %d: %s" ++#: ../glib/gregex.c:1860 ++#, fuzzy, c-format ++msgid "Error while compiling regular expression ‘%s’ at char %s: %s" + msgstr "編譯正規表示式 %s 時於第 %d 個字發生錯誤:%s" + +-#: ../glib/gregex.c:1425 +-#, c-format +-msgid "Error while optimizing regular expression %s: %s" +-msgstr "最佳化正規表示式 %s 時發生錯誤:%s" +- +-#: ../glib/gregex.c:2347 +-msgid "hexadecimal digit or '}' expected" ++#: ../glib/gregex.c:2900 ++#, fuzzy ++msgid "hexadecimal digit or “}” expected" + msgstr "應為 16 進位數字或「}」" + +-#: ../glib/gregex.c:2363 ++#: ../glib/gregex.c:2916 + msgid "hexadecimal digit expected" + msgstr "應為 16 進位數字" + +-#: ../glib/gregex.c:2403 +-msgid "missing '<' in symbolic reference" ++#: ../glib/gregex.c:2956 ++#, fuzzy ++msgid "missing “<” in symbolic reference" + msgstr "在符號參照中缺少「<」" + +-#: ../glib/gregex.c:2412 ++#: ../glib/gregex.c:2965 + msgid "unfinished symbolic reference" + msgstr "未完成的符號參照" + +-#: ../glib/gregex.c:2419 ++#: ../glib/gregex.c:2972 + msgid "zero-length symbolic reference" + msgstr "零-長度的符號參照" + +-#: ../glib/gregex.c:2430 ++#: ../glib/gregex.c:2983 + msgid "digit expected" + msgstr "預期數字" + +-#: ../glib/gregex.c:2448 ++#: ../glib/gregex.c:3001 + msgid "illegal symbolic reference" + msgstr "不合法的符號參照" + +-#: ../glib/gregex.c:2510 +-msgid "stray final '\\'" ++#: ../glib/gregex.c:3064 ++#, fuzzy ++msgid "stray final “\\”" + msgstr "缺少最後的「\\」" + +-#: ../glib/gregex.c:2514 ++#: ../glib/gregex.c:3068 + msgid "unknown escape sequence" + msgstr "不明的跳脫序列" + +-#: ../glib/gregex.c:2524 +-#, c-format +-msgid "Error while parsing replacement text \"%s\" at char %lu: %s" ++#: ../glib/gregex.c:3078 ++#, fuzzy, c-format ++msgid "Error while parsing replacement text “%s” at char %lu: %s" + msgstr "當解析於字符 %2$lu 的取代文字「%1$s」時發生錯誤:%3$s" + +-#: ../glib/gshell.c:96 +-msgid "Quoted text doesn't begin with a quotation mark" ++#: ../glib/gshell.c:98 ++#, fuzzy ++msgid "Quoted text doesn’t begin with a quotation mark" + msgstr "應該用引號括起來的文字不是以括號為開始" + +-#: ../glib/gshell.c:186 ++#: ../glib/gshell.c:188 + msgid "Unmatched quotation mark in command line or other shell-quoted text" + msgstr "指令列或其它標為指令的字串內有不對稱的引號" + +-#: ../glib/gshell.c:582 +-#, c-format +-msgid "Text ended just after a '\\' character. (The text was '%s')" ++#: ../glib/gshell.c:594 ++#, fuzzy, c-format ++msgid "Text ended just after a “\\” character. (The text was “%s”)" + msgstr "文字在‘\\’字符後就終止了。(文字為‘%s’)" + +-#: ../glib/gshell.c:589 +-#, c-format +-msgid "Text ended before matching quote was found for %c. (The text was '%s')" ++#: ../glib/gshell.c:601 ++#, fuzzy, c-format ++msgid "Text ended before matching quote was found for %c. (The text was “%s”)" + msgstr "字串完結前仍沒有對應於 %c 的引號(字串為‘%s’)" + +-#: ../glib/gshell.c:601 ++#: ../glib/gshell.c:613 + msgid "Text was empty (or contained only whitespace)" + msgstr "文字是空白的(或只含有空白字符)" + +-#: ../glib/gspawn.c:209 ++#: ../glib/gspawn.c:320 + #, c-format + msgid "Failed to read data from child process (%s)" + msgstr "無法從副進程讀取資料 (%s)" + +-#: ../glib/gspawn.c:353 +-#, c-format +-msgid "Unexpected error in select() reading data from a child process (%s)" ++#: ../glib/gspawn.c:473 ++#, fuzzy, c-format ++msgid "Unexpected error in reading data from a child process (%s)" + msgstr "當 select() 從子程序讀取資料時發生未預期的錯誤 (%s)" + +-#: ../glib/gspawn.c:438 ++#: ../glib/gspawn.c:558 + #, c-format + msgid "Unexpected error in waitpid() (%s)" + msgstr "waitpid() 發生未預期的錯誤 (%s)" + +-#: ../glib/gspawn.c:849 ../glib/gspawn-win32.c:1233 ++#: ../glib/gspawn.c:1180 ../glib/gspawn-win32.c:1575 + #, c-format + msgid "Child process exited with code %ld" + msgstr "子程序以代碼 %ld 結束" + +-#: ../glib/gspawn.c:857 ++#: ../glib/gspawn.c:1188 + #, c-format + msgid "Child process killed by signal %ld" + msgstr "子程序被信號 %ld 中止" + +-#: ../glib/gspawn.c:864 ++#: ../glib/gspawn.c:1195 + #, c-format + msgid "Child process stopped by signal %ld" + msgstr "子程序被信號 %ld 停止" + +-#: ../glib/gspawn.c:871 ++#: ../glib/gspawn.c:1202 + #, c-format + msgid "Child process exited abnormally" + msgstr "子程序異常結束" + +-#: ../glib/gspawn.c:1276 ../glib/gspawn-win32.c:339 ../glib/gspawn-win32.c:347 ++#: ../glib/gspawn.c:2032 ../glib/gspawn-win32.c:472 ../glib/gspawn-win32.c:480 + #, c-format + msgid "Failed to read from child pipe (%s)" + msgstr "無法從管道讀取資料 (%s)" + +-#: ../glib/gspawn.c:1346 ++#: ../glib/gspawn.c:2404 ++#, fuzzy, c-format ++msgid "Failed to spawn child process “%s” (%s)" ++msgstr "無法衍生副進程 (%s)" ++ ++#: ../glib/gspawn.c:2530 + #, c-format + msgid "Failed to fork (%s)" + msgstr "無法衍生進程 (%s)" + +-#: ../glib/gspawn.c:1495 ../glib/gspawn-win32.c:370 +-#, c-format +-msgid "Failed to change to directory '%s' (%s)" ++#: ../glib/gspawn.c:2690 ../glib/gspawn-win32.c:503 ++#, fuzzy, c-format ++msgid "Failed to change to directory “%s” (%s)" + msgstr "無法進入目錄‘%s’(%s)" + +-#: ../glib/gspawn.c:1505 +-#, c-format +-msgid "Failed to execute child process \"%s\" (%s)" ++#: ../glib/gspawn.c:2700 ++#, fuzzy, c-format ++msgid "Failed to execute child process “%s” (%s)" + msgstr "無法執行副進程“%s”(%s)" + +-#: ../glib/gspawn.c:1515 +-#, c-format +-msgid "Failed to redirect output or input of child process (%s)" ++#: ../glib/gspawn.c:2710 ++#, fuzzy, c-format ++msgid "Failed to open file to remap file descriptor (%s)" ++msgstr "開啟檔案‘%s’失敗:open() 失敗:%s" ++ ++#: ../glib/gspawn.c:2718 ++#, fuzzy, c-format ++msgid "Failed to duplicate file descriptor for child process (%s)" + msgstr "無法將副進程的輸出或輸入重新導向 (%s)" + +-#: ../glib/gspawn.c:1524 ++#: ../glib/gspawn.c:2727 + #, c-format + msgid "Failed to fork child process (%s)" + msgstr "無法衍生副進程 (%s)" + +-#: ../glib/gspawn.c:1532 +-#, c-format +-msgid "Unknown error executing child process \"%s\"" ++#: ../glib/gspawn.c:2735 ++#, fuzzy, c-format ++msgid "Failed to close file descriptor for child process (%s)" ++msgstr "無法從副進程讀取資料 (%s)" ++ ++#: ../glib/gspawn.c:2743 ++#, fuzzy, c-format ++msgid "Unknown error executing child process “%s”" + msgstr "執行副進程“%s”時發生不明的錯誤" + +-#: ../glib/gspawn.c:1556 ++#: ../glib/gspawn.c:2767 + #, c-format + msgid "Failed to read enough data from child pid pipe (%s)" + msgstr "無法從 child pid pipe 讀取足夠的資料 (%s)" + +-#: ../glib/gspawn-win32.c:283 ++#: ../glib/gspawn-private.h:134 ++#, fuzzy, c-format ++msgid "Invalid source FDs argument" ++msgstr "無效的搜尋要求" ++ ++#: ../glib/gspawn-win32.c:416 + msgid "Failed to read data from child process" + msgstr "無法從副進程讀取資料" + +-#: ../glib/gspawn-win32.c:300 +-#, c-format +-msgid "Failed to create pipe for communicating with child process (%s)" +-msgstr "無法建立管道來和副進程溝通 (%s)" +- +-#: ../glib/gspawn-win32.c:376 ../glib/gspawn-win32.c:495 ++#: ../glib/gspawn-win32.c:509 ../glib/gspawn-win32.c:514 ++#: ../glib/gspawn-win32.c:640 + #, c-format + msgid "Failed to execute child process (%s)" + msgstr "無法執行副進程 (%s)" + +-#: ../glib/gspawn-win32.c:445 ++#: ../glib/gspawn-win32.c:519 ++#, fuzzy, c-format ++msgid "Failed to dup() in child process (%s)" ++msgstr "無法衍生副進程 (%s)" ++ ++#: ../glib/gspawn-win32.c:590 + #, c-format + msgid "Invalid program name: %s" + msgstr "程式名稱無效:%s" + +-#: ../glib/gspawn-win32.c:455 ../glib/gspawn-win32.c:722 +-#: ../glib/gspawn-win32.c:1297 ++#: ../glib/gspawn-win32.c:600 ../glib/gspawn-win32.c:940 + #, c-format + msgid "Invalid string in argument vector at %d: %s" + msgstr "第 %d 個引數中含無效的字串:%s" + +-#: ../glib/gspawn-win32.c:466 ../glib/gspawn-win32.c:737 +-#: ../glib/gspawn-win32.c:1330 ++#: ../glib/gspawn-win32.c:611 ../glib/gspawn-win32.c:956 + #, c-format + msgid "Invalid string in environment: %s" + msgstr "環境變數中的字串無效:%s" + +-#: ../glib/gspawn-win32.c:718 ../glib/gspawn-win32.c:1278 ++#: ../glib/gspawn-win32.c:936 + #, c-format + msgid "Invalid working directory: %s" + msgstr "無效的工作目錄:%s" + +-#: ../glib/gspawn-win32.c:783 ++#: ../glib/gspawn-win32.c:1001 + #, c-format + msgid "Failed to execute helper program (%s)" + msgstr "無法執行協助程式 (%s)" + +-#: ../glib/gspawn-win32.c:997 ++#: ../glib/gspawn-win32.c:1230 + msgid "" + "Unexpected error in g_io_channel_win32_poll() reading data from a child " + "process" + msgstr "當 g_io_channel_win32_poll() 從副進程讀取資料時發生無法預計的錯誤" + +-#: ../glib/gutf8.c:780 ++#: ../glib/gstrfuncs.c:3373 ../glib/gstrfuncs.c:3475 ++msgid "Empty string is not a number" ++msgstr "" ++ ++#: ../glib/gstrfuncs.c:3397 ++#, fuzzy, c-format ++msgid "“%s” is not a signed number" ++msgstr "「%s」不是一個有效的名稱" ++ ++#: ../glib/gstrfuncs.c:3407 ../glib/gstrfuncs.c:3511 ++#, c-format ++msgid "Number “%s” is out of bounds [%s, %s]" ++msgstr "" ++ ++#: ../glib/gstrfuncs.c:3501 ++#, fuzzy, c-format ++msgid "“%s” is not an unsigned number" ++msgstr "「%s」不是一個有效的名稱" ++ ++#: ../glib/guri.c:318 ++#, fuzzy, no-c-format ++msgid "Invalid %-encoding in URI" ++msgstr "(無效的編碼)" ++ ++#: ../glib/guri.c:335 ++msgid "Illegal character in URI" ++msgstr "" ++ ++#: ../glib/guri.c:369 ++msgid "Non-UTF-8 characters in URI" ++msgstr "" ++ ++#: ../glib/guri.c:549 ++#, c-format ++msgid "Invalid IPv6 address ‘%.*s’ in URI" ++msgstr "" ++ ++#: ../glib/guri.c:604 ++#, c-format ++msgid "Illegal encoded IP address ‘%.*s’ in URI" ++msgstr "" ++ ++#: ../glib/guri.c:616 ++#, c-format ++msgid "Illegal internationalized hostname ‘%.*s’ in URI" ++msgstr "" ++ ++#: ../glib/guri.c:648 ../glib/guri.c:660 ++#, c-format ++msgid "Could not parse port ‘%.*s’ in URI" ++msgstr "" ++ ++#: ../glib/guri.c:667 ++#, c-format ++msgid "Port ‘%.*s’ in URI is out of range" ++msgstr "" ++ ++#: ../glib/guri.c:1230 ../glib/guri.c:1294 ++#, fuzzy, c-format ++msgid "URI ‘%s’ is not an absolute URI" ++msgstr "URI‘%s’不是使用“file”格式的絕對 URI" ++ ++#: ../glib/guri.c:1236 ++#, c-format ++msgid "URI ‘%s’ has no host component" ++msgstr "" ++ ++#: ../glib/guri.c:1466 ++msgid "URI is not absolute, and no base URI was provided" ++msgstr "" ++ ++#: ../glib/guri.c:2252 ++msgid "Missing ‘=’ and parameter value" ++msgstr "" ++ ++#: ../glib/gutf8.c:900 + msgid "Failed to allocate memory" + msgstr "配置記憶體失敗" + +-#: ../glib/gutf8.c:912 ++#: ../glib/gutf8.c:1033 + msgid "Character out of range for UTF-8" + msgstr "字符不在 UTF-8 範圍之內" + +-#: ../glib/gutf8.c:1012 ../glib/gutf8.c:1021 ../glib/gutf8.c:1151 +-#: ../glib/gutf8.c:1160 ../glib/gutf8.c:1299 ../glib/gutf8.c:1396 ++#: ../glib/gutf8.c:1135 ../glib/gutf8.c:1144 ../glib/gutf8.c:1274 ++#: ../glib/gutf8.c:1283 ../glib/gutf8.c:1422 ../glib/gutf8.c:1519 + msgid "Invalid sequence in conversion input" + msgstr "轉換輸入資料時出現無效的字符次序" + +-#: ../glib/gutf8.c:1310 ../glib/gutf8.c:1407 ++#: ../glib/gutf8.c:1433 ../glib/gutf8.c:1530 + msgid "Character out of range for UTF-16" + msgstr "字符不在 UTF-16 範圍之內" + +-#: ../glib/gutils.c:2116 ../glib/gutils.c:2143 ../glib/gutils.c:2249 +-#, c-format +-msgid "%u byte" +-msgid_plural "%u bytes" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 kB" ++#: ../glib/gutils.c:2966 ++msgid "kB" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 MB" ++#: ../glib/gutils.c:2968 ++msgid "MB" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 GB" ++#: ../glib/gutils.c:2970 ++msgid "GB" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 TB" ++#: ../glib/gutils.c:2972 ++msgid "TB" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 PB" ++#: ../glib/gutils.c:2974 ++msgid "PB" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 EB" ++#: ../glib/gutils.c:2976 ++msgid "EB" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 KiB" ++#: ../glib/gutils.c:2980 ++msgid "KiB" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 MiB" ++#: ../glib/gutils.c:2982 ++msgid "MiB" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 GiB" ++#: ../glib/gutils.c:2984 ++msgid "GiB" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 TiB" ++#: ../glib/gutils.c:2986 ++msgid "TiB" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 PiB" ++#: ../glib/gutils.c:2988 ++msgid "PiB" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 EiB" ++#: ../glib/gutils.c:2990 ++msgid "EiB" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 kb" ++#: ../glib/gutils.c:2994 ++msgid "kb" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Mb" ++#: ../glib/gutils.c:2996 ++msgid "Mb" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Gb" ++#: ../glib/gutils.c:2998 ++msgid "Gb" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Tb" ++#: ../glib/gutils.c:3000 ++msgid "Tb" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Pb" ++#: ../glib/gutils.c:3002 ++msgid "Pb" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Eb" ++#: ../glib/gutils.c:3004 ++msgid "Eb" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Kib" ++#: ../glib/gutils.c:3008 ++msgid "Kib" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Mib" ++#: ../glib/gutils.c:3010 ++msgid "Mib" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Gib" ++#: ../glib/gutils.c:3012 ++msgid "Gib" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Tib" ++#: ../glib/gutils.c:3014 ++msgid "Tib" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Pib" ++#: ../glib/gutils.c:3016 ++msgid "Pib" ++msgstr "" ++ ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Eib" ++#: ../glib/gutils.c:3018 ++msgid "Eib" ++msgstr "" ++ ++#: ../glib/gutils.c:3056 ++#, fuzzy ++msgid "byte" ++msgid_plural "bytes" + msgstr[0] "%u 位元組" + +-#: ../glib/gutils.c:2122 +-#, c-format +-msgid "%.1f KiB" +-msgstr "%.1f KiB" ++#: ../glib/gutils.c:3060 ++msgid "bit" ++msgid_plural "bits" ++msgstr[0] "" + +-#: ../glib/gutils.c:2124 ++#. Translators: The "%u" is replaced with the size value, like "13"; it could ++#. * be part of "13 bytes", but only the number is requested this time. ++#: ../glib/gutils.c:3068 + #, c-format +-msgid "%.1f MiB" +-msgstr "%.1f MiB" ++msgctxt "format-size" ++msgid "%u" ++msgstr "" + +-#: ../glib/gutils.c:2127 ++#. Translators: The first "%u" is replaced with the value, the "%s" with a unit of the value. ++#. * The order can be changed with "%$2s %$1u". An example: "13 bytes" ++#: ../glib/gutils.c:3073 + #, c-format +-msgid "%.1f GiB" +-msgstr "%.1f GiB" ++msgctxt "format-size" ++msgid "%u %s" ++msgstr "" + +-#: ../glib/gutils.c:2130 ++#. Translators: The "%.1f" is replaced with the size value, like "13.0"; it could ++#. * be part of "13.0 MB", but only the number is requested this time. ++#: ../glib/gutils.c:3109 ++#, fuzzy, c-format ++msgctxt "format-size" ++msgid "%.1f" ++msgstr "%.1f kB" ++ ++#. Translators: The first "%.1f" is replaced with the value, the "%s" with a unit of the value. ++#. * The order can be changed with "%$2s %$1.1f". Keep the no-break space between the value and ++#. * the unit symbol. An example: "13.0 MB" ++#: ../glib/gutils.c:3115 + #, c-format +-msgid "%.1f TiB" +-msgstr "%.1f TiB" ++msgctxt "format-size" ++msgid "%.1f %s" ++msgstr "" + +-#: ../glib/gutils.c:2133 ++#. Translators: the %s in "%s bytes" will always be replaced by a number. ++#: ../glib/gutils.c:3155 + #, c-format +-msgid "%.1f PiB" +-msgstr "%.1f PiB" ++msgid "%s byte" ++msgid_plural "%s bytes" ++msgstr[0] "%s 位元組" ++ ++#. Translators: the %s in "%s bits" will always be replaced by a number. ++#: ../glib/gutils.c:3160 ++#, fuzzy, c-format ++msgid "%s bit" ++msgid_plural "%s bits" ++msgstr[0] "%s 位元組" + +-#: ../glib/gutils.c:2136 ++#: ../glib/gutils.c:3201 + #, c-format +-msgid "%.1f EiB" +-msgstr "%.1f EiB" ++msgid "%u byte" ++msgid_plural "%u bytes" ++msgstr[0] "%u 位元組" + +-#: ../glib/gutils.c:2149 ++#. Translators: this is from the deprecated function g_format_size_for_display() which uses 'KB' to ++#. * mean 1024 bytes. I am aware that 'KB' is not correct, but it has been preserved for reasons of ++#. * compatibility. Users will not see this string unless a program is using this deprecated function. ++#. * Please translate as literally as possible. ++#. ++#: ../glib/gutils.c:3214 + #, c-format +-msgid "%.1f kB" +-msgstr "%.1f kB" ++msgid "%.1f KB" ++msgstr "%.1f KB" + +-#: ../glib/gutils.c:2152 ../glib/gutils.c:2267 ++#: ../glib/gutils.c:3219 + #, c-format + msgid "%.1f MB" + msgstr "%.1f MB" + +-#: ../glib/gutils.c:2155 ../glib/gutils.c:2272 ++#: ../glib/gutils.c:3224 + #, c-format + msgid "%.1f GB" + msgstr "%.1f GB" + +-#: ../glib/gutils.c:2157 ../glib/gutils.c:2277 ++#: ../glib/gutils.c:3229 + #, c-format + msgid "%.1f TB" + msgstr "%.1f TB" + +-#: ../glib/gutils.c:2160 ../glib/gutils.c:2282 ++#: ../glib/gutils.c:3234 + #, c-format + msgid "%.1f PB" + msgstr "%.1f PB" + +-#: ../glib/gutils.c:2163 ../glib/gutils.c:2287 ++#: ../glib/gutils.c:3239 + #, c-format + msgid "%.1f EB" + msgstr "%.1f EB" + +-#. Translators: the %s in "%s bytes" will always be replaced by a number. +-#: ../glib/gutils.c:2200 ++#~ msgid "GApplication options" ++#~ msgstr "GApplication 選項" ++ + #, c-format +-msgid "%s byte" +-msgid_plural "%s bytes" +-msgstr[0] "%s 位元組" ++#~ msgid "Error in address '%s' - the family attribute is malformed" ++#~ msgstr "位址「%s」有錯誤 - family 屬性的格式不良" ++ ++#~ msgid "No such interface" ++#~ msgstr "沒有這個介面" + +-#. Translators: this is from the deprecated function g_format_size_for_display() which uses 'KB' to +-#. * mean 1024 bytes. I am aware that 'KB' is not correct, but it has been preserved for reasons of +-#. * compatibility. Users will not see this string unless a program is using this deprecated function. +-#. * Please translate as literally as possible. +-#. +-#: ../glib/gutils.c:2262 + #, c-format +-msgid "%.1f KB" +-msgstr "%.1f KB" ++#~ msgid "" ++#~ "Message has %d file descriptors but the header field indicates %d file " ++#~ "descriptors" ++#~ msgstr "訊息有 %d 檔案描述符但標頭欄位表示有 %d 檔案描述符" + +-msgctxt "full month name with day" +-msgid "January" +-msgstr "一月" ++#~ msgid "Unable to load /var/lib/dbus/machine-id or /etc/machine-id: " ++#~ msgstr "無法載入 /var/lib/dbus/machine-id 或 /etc/machine-id:" + +-msgctxt "full month name with day" +-msgid "February" +-msgstr "二月" ++#, c-format ++#~ msgid "Error: signal must be the fully-qualified name.\n" ++#~ msgstr "錯誤:信號必須為完全合規定的名稱。\n" + +-msgctxt "full month name with day" +-msgid "March" +-msgstr "三月" ++#, c-format ++#~ msgid "Failed to create temp file: %s" ++#~ msgstr "無法建立暫存檔案:%s" + +-msgctxt "full month name with day" +-msgid "April" +-msgstr "四月" ++#, c-format ++#~ msgid "; ignoring override for this key.\n" ++#~ msgstr ";忽略這個設定鍵的覆蓋。\n" + +-msgctxt "full month name with day" +-msgid "May" +-msgstr "五月" ++#, c-format ++#~ msgid " and --strict was specified; exiting.\n" ++#~ msgstr "並且指定了 --strict;正在結束。\n" + +-msgctxt "full month name with day" +-msgid "June" +-msgstr "六月" ++#, c-format ++#~ msgid "Ignoring override for this key.\n" ++#~ msgstr "忽略這個設定鍵的覆蓋。\n" + +-msgctxt "full month name with day" +-msgid "July" +-msgstr "七月" ++#, c-format ++#~ msgid "doing nothing.\n" ++#~ msgstr "不做任何事。\n" + +-msgctxt "full month name with day" +-msgid "August" +-msgstr "八月" ++#, c-format ++#~ msgid "Error renaming file: %s" ++#~ msgstr "重新命名檔案時發生錯誤:%s" + +-msgctxt "full month name with day" +-msgid "September" +-msgstr "九月" ++#, c-format ++#~ msgid "Error opening file: %s" ++#~ msgstr "開啓檔案時發生錯誤:%s" + +-msgctxt "full month name with day" +-msgid "October" +-msgstr "十月" ++#, c-format ++#~ msgid "Error creating directory: %s" ++#~ msgstr "建立目錄發生錯誤:%s" + +-msgctxt "full month name with day" +-msgid "November" +-msgstr "十一月" ++#~ msgid "Unknown error on connect" ++#~ msgstr "連線時有不明的錯誤" + +-msgctxt "full month name with day" +-msgid "December" +-msgstr "十二月" ++#~ msgid "association changes not supported on win32" ++#~ msgstr "關聯更改在 win32 上不支援" + +-msgctxt "abbreviated month name with day" +-msgid "Jan" +-msgstr "一月" ++#~ msgid "Association creation not supported on win32" ++#~ msgstr "關聯建立在 win32 上不支援" + +-msgctxt "abbreviated month name with day" +-msgid "Feb" +-msgstr "二月" ++#, c-format ++#~ msgid "The local file URI '%s' may not include a '#'" ++#~ msgstr "本機檔案的 URI‘%s’不應含有‘#’" + +-msgctxt "abbreviated month name with day" +-msgid "Mar" +-msgstr "三月" ++#, c-format ++#~ msgid "Error reading file '%s': %s" ++#~ msgstr "讀取檔案‘%s’時發生錯誤:%s" + +-msgctxt "abbreviated month name with day" +-msgid "Apr" +-msgstr "四月" ++#, c-format ++#~ msgid "Key file does not have key '%s'" ++#~ msgstr "設定鍵檔案沒有設定鍵‘%s’" + +-msgctxt "abbreviated month name with day" +-msgid "May" +-msgstr "五月" ++#~ msgid "internal error or corrupted object" ++#~ msgstr "內部錯誤或損毀的物件" + +-msgctxt "abbreviated month name with day" +-msgid "Jun" +-msgstr "六月" ++#~ msgid "backtracking limit reached" ++#~ msgstr "已達回溯上限" + +-msgctxt "abbreviated month name with day" +-msgid "Jul" +-msgstr "七月" ++#~ msgid "invalid combination of newline flags" ++#~ msgstr "無效的換列旗標組合" + +-msgctxt "abbreviated month name with day" +-msgid "Aug" +-msgstr "八月" ++#~ msgid "short utf8" ++#~ msgstr "短式 utf8" + +-msgctxt "abbreviated month name with day" +-msgid "Sep" +-msgstr "九月" ++#~ msgid "unexpected repeat" ++#~ msgstr "未預期的重複" + +-msgctxt "abbreviated month name with day" +-msgid "Oct" +-msgstr "十月" ++#~ msgid "failed to get memory" ++#~ msgstr "取得記憶體失敗" + +-msgctxt "abbreviated month name with day" +-msgid "Nov" +-msgstr "十一月" ++#~ msgid ") without opening (" ++#~ msgstr ") 沒有開頭的 (" + +-msgctxt "abbreviated month name with day" +-msgid "Dec" +-msgstr "十二月" ++#~ msgid "unrecognized character after (?<" ++#~ msgstr "在 (?< 後有無法辨識的字符" ++ ++#~ msgid "(?R or (?[+-]digits must be followed by )" ++#~ msgstr "(?R 或 (?[+-]數字必須接着 )" ++ ++#~ msgid "invalid condition (?(0)" ++#~ msgstr "無效的條件 (?(0)" ++ ++#~ msgid "escapes \\L, \\l, \\N{name}, \\U, and \\u are not supported" ++#~ msgstr "escapes \\L, \\l, \\N{name}, \\U, 和 \\u 不支援" ++ ++#~ msgid "recursive call could loop indefinitely" ++#~ msgstr "遞廻呼叫可能變成無限廻圈" ++ ++#~ msgid "digit expected after (?+" ++#~ msgstr "(?+ 後應該有數字" ++ ++#~ msgid "] is an invalid data character in JavaScript compatibility mode" ++#~ msgstr "] 在 JavaScript 兼容性模式中是無效的資料字符" ++ ++#~ msgid "too many forward references" ++#~ msgstr "有太多的向前參照" ++ ++#~ msgid "character value in \\u.... sequence is too large" ++#~ msgstr "\\u.... 序列中的字符值太大" ++ ++#~ msgid "PCRE library is compiled without UTF8 properties support" ++#~ msgstr "PCRE 程式庫並未編譯對 UTF8 屬性的支援" ++ ++#, c-format ++#~ msgid "Error while optimizing regular expression %s: %s" ++#~ msgstr "最佳化正規表示式 %s 時發生錯誤:%s" ++ ++#, c-format ++#~ msgid "%.1f KiB" ++#~ msgstr "%.1f KiB" ++ ++#, c-format ++#~ msgid "%.1f MiB" ++#~ msgstr "%.1f MiB" ++ ++#, c-format ++#~ msgid "%.1f GiB" ++#~ msgstr "%.1f GiB" ++ ++#, c-format ++#~ msgid "%.1f TiB" ++#~ msgstr "%.1f TiB" ++ ++#, c-format ++#~ msgid "%.1f PiB" ++#~ msgstr "%.1f PiB" ++ ++#, c-format ++#~ msgid "%.1f EiB" ++#~ msgstr "%.1f EiB" +diff --git a/po/zh_TW.po b/po/zh_TW.po +index dd7951f..89f7954 100644 +--- a/po/zh_TW.po ++++ b/po/zh_TW.po +@@ -9,8 +9,8 @@ + msgid "" + msgstr "" + "Project-Id-Version: glib 2.64\n" +-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/glib/issues\n" +-"POT-Creation-Date: 2020-10-01 16:40+0000\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2024-02-29 17:15+0800\n" + "PO-Revision-Date: 2020-10-12 22:54+0800\n" + "Last-Translator: Cheng-Chia Tseng \n" + "Language-Team: Chinese (Traditional) \n" +@@ -21,127 +21,151 @@ msgstr "" + "Plural-Forms: nplurals=1; plural=0;\n" + "X-Generator: Poedit 2.4.1\n" + +-#: gio/gapplication.c:500 +-msgid "GApplication options" +-msgstr "GApplication 選項" ++#: ../gio/gappinfo.c:339 ++#, fuzzy ++msgid "Setting default applications not supported yet" ++msgstr "不支援設定特性 %s" ++ ++#: ../gio/gappinfo.c:372 ++#, fuzzy ++msgid "Setting application as last used for type not supported yet" ++msgstr "不支援設定特性 %s" ++ ++#: ../gio/gappinfo.c:814 ++#, fuzzy, c-format ++msgid "Failed to find default application for content type ‘%s’" ++msgstr "「%s」沒有預設的應用程式\n" ++ ++#: ../gio/gappinfo.c:874 ++#, fuzzy, c-format ++msgid "Failed to find default application for URI Scheme ‘%s’" ++msgstr "「%s」沒有預設的應用程式\n" + +-#: gio/gapplication.c:500 ++#: ../gio/gapplication.c:506 ++#, fuzzy ++msgid "GApplication Options:" ++msgstr "應用程式選項:" ++ ++#: ../gio/gapplication.c:506 + msgid "Show GApplication options" + msgstr "顯示 GApplication 選項" + +-#: gio/gapplication.c:545 ++#: ../gio/gapplication.c:551 + msgid "Enter GApplication service mode (use from D-Bus service files)" + msgstr "進入 GApplication 服務模式 (用於來自 D-Bus 服務檔案)" + +-#: gio/gapplication.c:557 ++#: ../gio/gapplication.c:563 + msgid "Override the application’s ID" + msgstr "覆蓋此應用程式 ID" + +-#: gio/gapplication.c:569 ++#: ../gio/gapplication.c:575 + msgid "Replace the running instance" + msgstr "取代執行中的實體" + +-#: gio/gapplication-tool.c:45 gio/gapplication-tool.c:46 gio/gio-tool.c:227 +-#: gio/gresource-tool.c:493 gio/gsettings-tool.c:567 ++#: ../gio/gapplication-tool.c:47 ../gio/gapplication-tool.c:48 ++#: ../gio/gio-tool.c:229 ../gio/gresource-tool.c:496 ++#: ../gio/gsettings-tool.c:586 + msgid "Print help" + msgstr "顯示求助" + +-#: gio/gapplication-tool.c:47 gio/gresource-tool.c:494 gio/gresource-tool.c:562 ++#: ../gio/gapplication-tool.c:49 ../gio/gresource-tool.c:497 ++#: ../gio/gresource-tool.c:565 + msgid "[COMMAND]" + msgstr "[指令]" + +-#: gio/gapplication-tool.c:49 gio/gio-tool.c:228 ++#: ../gio/gapplication-tool.c:51 ../gio/gio-tool.c:230 + msgid "Print version" + msgstr "顯示版本" + +-#: gio/gapplication-tool.c:50 gio/gsettings-tool.c:573 ++#: ../gio/gapplication-tool.c:52 ../gio/gsettings-tool.c:592 + msgid "Print version information and exit" + msgstr "輸出版本資訊並離開" + +-#: gio/gapplication-tool.c:52 ++#: ../gio/gapplication-tool.c:55 + msgid "List applications" + msgstr "列出應用程式" + +-#: gio/gapplication-tool.c:53 ++#: ../gio/gapplication-tool.c:56 + msgid "List the installed D-Bus activatable applications (by .desktop files)" + msgstr "列出已安裝可使用 D-Bus 的應用程式 (依 .desktop 檔案)" + +-#: gio/gapplication-tool.c:55 ++#: ../gio/gapplication-tool.c:59 + msgid "Launch an application" + msgstr "執行應用程式" + +-#: gio/gapplication-tool.c:56 ++#: ../gio/gapplication-tool.c:60 + msgid "Launch the application (with optional files to open)" + msgstr "執行應用程式 (選擇性加上要開啟的檔案)" + +-#: gio/gapplication-tool.c:57 ++#: ../gio/gapplication-tool.c:61 + msgid "APPID [FILE…]" + msgstr "APPID [FILE...]" + +-#: gio/gapplication-tool.c:59 ++#: ../gio/gapplication-tool.c:63 + msgid "Activate an action" + msgstr "讓動作生效" + +-#: gio/gapplication-tool.c:60 ++#: ../gio/gapplication-tool.c:64 + msgid "Invoke an action on the application" + msgstr "呼叫應用程式的動作" + +-#: gio/gapplication-tool.c:61 ++#: ../gio/gapplication-tool.c:65 + msgid "APPID ACTION [PARAMETER]" + msgstr "APPID ACTION [PARAMETER]" + +-#: gio/gapplication-tool.c:63 ++#: ../gio/gapplication-tool.c:67 + msgid "List available actions" + msgstr "列出可用的動作" + +-#: gio/gapplication-tool.c:64 ++#: ../gio/gapplication-tool.c:68 + msgid "List static actions for an application (from .desktop file)" + msgstr "列出應用程式的靜態動作 (從 .desktop 檔案)" + +-#: gio/gapplication-tool.c:65 gio/gapplication-tool.c:71 ++#: ../gio/gapplication-tool.c:69 ../gio/gapplication-tool.c:75 + msgid "APPID" + msgstr "APPID" + +-#: gio/gapplication-tool.c:70 gio/gapplication-tool.c:133 gio/gdbus-tool.c:102 +-#: gio/gio-tool.c:224 ++#: ../gio/gapplication-tool.c:74 ../gio/gapplication-tool.c:137 ++#: ../gio/gdbus-tool.c:108 ../gio/gio-tool.c:226 + msgid "COMMAND" + msgstr "指令" + +-#: gio/gapplication-tool.c:70 ++#: ../gio/gapplication-tool.c:74 + msgid "The command to print detailed help for" + msgstr "顯示詳細求助的指令" + +-#: gio/gapplication-tool.c:71 ++#: ../gio/gapplication-tool.c:75 + msgid "Application identifier in D-Bus format (eg: org.example.viewer)" + msgstr "D-Bus 格式的應用程式識別碼(例如:org.example.viewer)" + +-#: gio/gapplication-tool.c:72 gio/glib-compile-resources.c:738 +-#: gio/glib-compile-resources.c:744 gio/glib-compile-resources.c:772 +-#: gio/gresource-tool.c:500 gio/gresource-tool.c:566 ++#: ../gio/gapplication-tool.c:76 ../gio/glib-compile-resources.c:822 ++#: ../gio/glib-compile-resources.c:828 ../gio/glib-compile-resources.c:858 ++#: ../gio/gresource-tool.c:503 ../gio/gresource-tool.c:569 + msgid "FILE" + msgstr "FILE" + +-#: gio/gapplication-tool.c:72 ++#: ../gio/gapplication-tool.c:76 + msgid "Optional relative or absolute filenames, or URIs to open" + msgstr "選擇性相對或絕對的檔案名稱,或要開啟的 URI" + +-#: gio/gapplication-tool.c:73 ++#: ../gio/gapplication-tool.c:77 + msgid "ACTION" + msgstr "動作" + +-#: gio/gapplication-tool.c:73 ++#: ../gio/gapplication-tool.c:77 + msgid "The action name to invoke" + msgstr "要呼叫的動作名稱" + +-#: gio/gapplication-tool.c:74 ++#: ../gio/gapplication-tool.c:78 + msgid "PARAMETER" + msgstr "參數" + +-#: gio/gapplication-tool.c:74 ++#: ../gio/gapplication-tool.c:78 + msgid "Optional parameter to the action invocation, in GVariant format" + msgstr "動作呼叫時選擇性的參數,以 GVariant 格式" + +-#: gio/gapplication-tool.c:96 gio/gresource-tool.c:531 gio/gsettings-tool.c:659 ++#: ../gio/gapplication-tool.c:100 ../gio/gresource-tool.c:534 ++#: ../gio/gsettings-tool.c:678 + #, c-format + msgid "" + "Unknown command %s\n" +@@ -150,26 +174,26 @@ msgstr "" + "不明指令 %s\n" + "\n" + +-#: gio/gapplication-tool.c:101 ++#: ../gio/gapplication-tool.c:105 + msgid "Usage:\n" + msgstr "用法:\n" + +-#: gio/gapplication-tool.c:114 gio/gresource-tool.c:556 +-#: gio/gsettings-tool.c:694 ++#: ../gio/gapplication-tool.c:118 ../gio/gresource-tool.c:559 ++#: ../gio/gsettings-tool.c:713 + msgid "Arguments:\n" + msgstr "引數:\n" + +-#: gio/gapplication-tool.c:133 gio/gio-tool.c:224 ++#: ../gio/gapplication-tool.c:137 ../gio/gio-tool.c:226 + msgid "[ARGS…]" + msgstr "[ARGS...]" + +-#: gio/gapplication-tool.c:134 ++#: ../gio/gapplication-tool.c:138 + #, c-format + msgid "Commands:\n" + msgstr "指令:\n" + + #. Translators: do not translate 'help', but please translate 'COMMAND'. +-#: gio/gapplication-tool.c:146 ++#: ../gio/gapplication-tool.c:150 + #, c-format + msgid "" + "Use “%s help COMMAND” to get detailed help.\n" +@@ -178,7 +202,7 @@ msgstr "" + "使用「'%s help COMMAND」以取得詳細的求助。\n" + "\n" + +-#: gio/gapplication-tool.c:165 ++#: ../gio/gapplication-tool.c:169 + #, c-format + msgid "" + "%s command requires an application id to directly follow\n" +@@ -187,13 +211,13 @@ msgstr "" + "%s 指令需要應用程式 id 直接跟隨\n" + "\n" + +-#: gio/gapplication-tool.c:171 ++#: ../gio/gapplication-tool.c:175 + #, c-format + msgid "invalid application id: “%s”\n" + msgstr "無效的應用程式 id:「%s」\n" + + #. Translators: %s is replaced with a command name like 'list-actions' +-#: gio/gapplication-tool.c:182 ++#: ../gio/gapplication-tool.c:186 + #, c-format + msgid "" + "“%s” takes no arguments\n" +@@ -202,21 +226,22 @@ msgstr "" + "「%s」不需要引數\n" + "\n" + +-#: gio/gapplication-tool.c:266 ++#: ../gio/gapplication-tool.c:270 + #, c-format + msgid "unable to connect to D-Bus: %s\n" + msgstr "無法連接到 D-Bus:%s\n" + +-#: gio/gapplication-tool.c:286 ++#: ../gio/gapplication-tool.c:290 + #, c-format + msgid "error sending %s message to application: %s\n" + msgstr "傳送 %s 訊息到應用程式時發生錯誤:%s\n" + +-#: gio/gapplication-tool.c:317 ++#: ../gio/gapplication-tool.c:324 ++#, c-format + msgid "action name must be given after application id\n" + msgstr "動作名稱必須在應用程式 id 之後\n" + +-#: gio/gapplication-tool.c:325 ++#: ../gio/gapplication-tool.c:332 + #, c-format + msgid "" + "invalid action name: “%s”\n" +@@ -225,25 +250,27 @@ msgstr "" + "無效的動作名稱:「%s」\n" + "動作名稱必須只由字母、「-」和「.」組成\n" + +-#: gio/gapplication-tool.c:344 ++#: ../gio/gapplication-tool.c:351 + #, c-format + msgid "error parsing action parameter: %s\n" + msgstr "解析動作參數時發生錯誤:%s\n" + +-#: gio/gapplication-tool.c:356 ++#: ../gio/gapplication-tool.c:363 ++#, c-format + msgid "actions accept a maximum of one parameter\n" + msgstr "動作最大只能接受一個參數\n" + +-#: gio/gapplication-tool.c:411 ++#: ../gio/gapplication-tool.c:418 ++#, c-format + msgid "list-actions command takes only the application id" + msgstr "list-actions 指令只接受應用程式 id" + +-#: gio/gapplication-tool.c:421 ++#: ../gio/gapplication-tool.c:428 + #, c-format + msgid "unable to find desktop file for application %s\n" + msgstr "無法找到應用程式的桌面檔案 %s\n" + +-#: gio/gapplication-tool.c:466 ++#: ../gio/gapplication-tool.c:473 + #, c-format + msgid "" + "unrecognised command: %s\n" +@@ -252,491 +279,528 @@ msgstr "" + "無法辨識的指令:%s\n" + "\n" + +-#: gio/gbufferedinputstream.c:420 gio/gbufferedinputstream.c:498 +-#: gio/ginputstream.c:179 gio/ginputstream.c:379 gio/ginputstream.c:617 +-#: gio/ginputstream.c:1019 gio/goutputstream.c:223 gio/goutputstream.c:1049 +-#: gio/gpollableinputstream.c:205 gio/gpollableoutputstream.c:277 ++#: ../gio/gbufferedinputstream.c:422 ../gio/gbufferedinputstream.c:500 ++#: ../gio/ginputstream.c:181 ../gio/ginputstream.c:381 ++#: ../gio/ginputstream.c:651 ../gio/ginputstream.c:1056 ++#: ../gio/goutputstream.c:225 ../gio/goutputstream.c:1052 ++#: ../gio/gpollableinputstream.c:221 ../gio/gpollableoutputstream.c:293 + #, c-format + msgid "Too large count value passed to %s" + msgstr "傳給 %s 的計數值太大" + +-#: gio/gbufferedinputstream.c:891 gio/gbufferedoutputstream.c:575 +-#: gio/gdataoutputstream.c:562 ++#: ../gio/gbufferedinputstream.c:893 ../gio/gbufferedoutputstream.c:577 ++#: ../gio/gdataoutputstream.c:564 + msgid "Seek not supported on base stream" + msgstr "不支援在基礎串流中搜尋" + +-#: gio/gbufferedinputstream.c:937 ++#: ../gio/gbufferedinputstream.c:940 + msgid "Cannot truncate GBufferedInputStream" + msgstr "不能截短 GBufferedInputStream" + +-#: gio/gbufferedinputstream.c:982 gio/ginputstream.c:1208 gio/giostream.c:300 +-#: gio/goutputstream.c:2198 ++#: ../gio/gbufferedinputstream.c:985 ../gio/ginputstream.c:1246 ++#: ../gio/giostream.c:302 ../gio/goutputstream.c:2208 + msgid "Stream is already closed" + msgstr "串流已經關閉" + +-#: gio/gbufferedoutputstream.c:612 gio/gdataoutputstream.c:592 ++#: ../gio/gbufferedoutputstream.c:614 ../gio/gdataoutputstream.c:594 + msgid "Truncate not supported on base stream" + msgstr "在基礎串流中不支援截短(truncate)" + +-#: gio/gcancellable.c:319 gio/gdbusconnection.c:1862 gio/gdbusprivate.c:1413 +-#: gio/gsimpleasyncresult.c:871 gio/gsimpleasyncresult.c:897 ++#: ../gio/gcancellable.c:326 ../gio/gdbusconnection.c:1867 ++#: ../gio/gdbusprivate.c:1434 ../gio/gsimpleasyncresult.c:873 ++#: ../gio/gsimpleasyncresult.c:899 + #, c-format + msgid "Operation was cancelled" + msgstr "操作已被取消" + +-#: gio/gcharsetconverter.c:260 ++#: ../gio/gcharsetconverter.c:262 + msgid "Invalid object, not initialized" + msgstr "無效的物件,尚未初始化" + +-#: gio/gcharsetconverter.c:281 gio/gcharsetconverter.c:309 ++#: ../gio/gcharsetconverter.c:283 ../gio/gcharsetconverter.c:311 + msgid "Incomplete multibyte sequence in input" + msgstr "在輸入中出現不完整的多位元組次序" + +-#: gio/gcharsetconverter.c:315 gio/gcharsetconverter.c:324 ++#: ../gio/gcharsetconverter.c:317 ../gio/gcharsetconverter.c:326 + msgid "Not enough space in destination" + msgstr "在目的端中沒有足夠的空間" + +-#: gio/gcharsetconverter.c:342 gio/gdatainputstream.c:848 +-#: gio/gdatainputstream.c:1261 glib/gconvert.c:448 glib/gconvert.c:878 +-#: glib/giochannel.c:1564 glib/giochannel.c:1606 glib/giochannel.c:2461 +-#: glib/gutf8.c:875 glib/gutf8.c:1328 ++#: ../gio/gcharsetconverter.c:344 ../gio/gdatainputstream.c:850 ++#: ../gio/gdatainputstream.c:1268 ../glib/gconvert.c:450 ../glib/gconvert.c:882 ++#: ../glib/giochannel.c:1576 ../glib/giochannel.c:1618 ++#: ../glib/giochannel.c:2478 ../glib/gutf8.c:958 ../glib/gutf8.c:1412 + msgid "Invalid byte sequence in conversion input" + msgstr "轉換輸入資料時遇到不正確的位元組組合" + +-#: gio/gcharsetconverter.c:347 glib/gconvert.c:456 glib/gconvert.c:792 +-#: glib/giochannel.c:1571 glib/giochannel.c:2473 ++#: ../gio/gcharsetconverter.c:349 ../glib/gconvert.c:458 ../glib/gconvert.c:796 ++#: ../glib/giochannel.c:1583 ../glib/giochannel.c:2493 + #, c-format + msgid "Error during conversion: %s" + msgstr "轉換時發生錯誤:%s" + +-#: gio/gcharsetconverter.c:445 gio/gsocket.c:1133 ++#: ../gio/gcharsetconverter.c:447 ../gio/gsocket.c:1164 + msgid "Cancellable initialization not supported" + msgstr "不支援可取消的初始化" + +-#: gio/gcharsetconverter.c:456 glib/gconvert.c:321 glib/giochannel.c:1392 ++#: ../gio/gcharsetconverter.c:458 ../glib/gconvert.c:323 ++#: ../glib/giochannel.c:1404 + #, c-format + msgid "Conversion from character set “%s” to “%s” is not supported" + msgstr "不支援將字元集「%s」轉換成「%s」" + +-#: gio/gcharsetconverter.c:460 glib/gconvert.c:325 ++#: ../gio/gcharsetconverter.c:462 ../glib/gconvert.c:327 + #, c-format + msgid "Could not open converter from “%s” to “%s”" + msgstr "無法開啟「%s」至「%s」的轉換" + +-#: gio/gcontenttype.c:452 ++#: ../gio/gcontenttype.c:472 + #, c-format + msgid "%s type" + msgstr "%s 類型" + +-#: gio/gcontenttype-win32.c:192 ++#: ../gio/gcontenttype-win32.c:198 + msgid "Unknown type" + msgstr "不明的類型" + +-#: gio/gcontenttype-win32.c:194 ++#: ../gio/gcontenttype-win32.c:200 + #, c-format + msgid "%s filetype" + msgstr "%s 檔案類型" + +-#: gio/gcredentials.c:323 ++#: ../gio/gcredentials.c:337 + msgid "GCredentials contains invalid data" + msgstr "GCredentials 有無效資料" + +-#: gio/gcredentials.c:383 gio/gcredentials.c:667 ++#: ../gio/gcredentials.c:397 ../gio/gcredentials.c:688 + msgid "GCredentials is not implemented on this OS" + msgstr "GCredentials 沒有在這個 OS 上實作" + +-#: gio/gcredentials.c:538 gio/gcredentials.c:556 ++#: ../gio/gcredentials.c:552 ../gio/gcredentials.c:570 + msgid "There is no GCredentials support for your platform" + msgstr "您的平臺沒有 GCredentials 支援" + +-#: gio/gcredentials.c:607 ++#: ../gio/gcredentials.c:628 + msgid "GCredentials does not contain a process ID on this OS" + msgstr "GCredentials 沒有包含在這個 OS 上的程序 ID" + +-#: gio/gcredentials.c:661 ++#: ../gio/gcredentials.c:682 + msgid "Credentials spoofing is not possible on this OS" + msgstr "在這個 OS 無法做到憑證偽裝" + +-#: gio/gdatainputstream.c:304 ++#: ../gio/gdatainputstream.c:306 + msgid "Unexpected early end-of-stream" + msgstr "未預期的串流過早結束" + +-#: gio/gdbusaddress.c:158 gio/gdbusaddress.c:232 gio/gdbusaddress.c:321 ++#: ../gio/gdbusaddress.c:168 ../gio/gdbusaddress.c:240 ++#: ../gio/gdbusaddress.c:327 + #, c-format + msgid "Unsupported key “%s” in address entry “%s”" + msgstr "「%2$s」位址條目有不支援的「%1$s」鍵" + +-#: gio/gdbusaddress.c:171 ++#: ../gio/gdbusaddress.c:181 + #, c-format + msgid "Meaningless key/value pair combination in address entry “%s”" + msgstr "在「%s」位址條目中有無意義的鍵/值組合配對" + +-#: gio/gdbusaddress.c:180 ++#: ../gio/gdbusaddress.c:190 + #, c-format + msgid "" + "Address “%s” is invalid (need exactly one of path, dir, tmpdir, or abstract " + "keys)" + msgstr "「%s」位址無效 (需要有明確的 path、dir、tmpdir 或 abstract 鍵之一)" + +-#: gio/gdbusaddress.c:247 gio/gdbusaddress.c:258 gio/gdbusaddress.c:273 +-#: gio/gdbusaddress.c:336 gio/gdbusaddress.c:347 ++#: ../gio/gdbusaddress.c:255 ../gio/gdbusaddress.c:266 ++#: ../gio/gdbusaddress.c:281 ../gio/gdbusaddress.c:342 ++#: ../gio/gdbusaddress.c:353 + #, c-format + msgid "Error in address “%s” — the “%s” attribute is malformed" + msgstr "「%s」位址有錯誤 —「%s」特性的格式不良" + +-#: gio/gdbusaddress.c:417 gio/gdbusaddress.c:681 ++#: ../gio/gdbusaddress.c:423 ../gio/gdbusaddress.c:682 + #, c-format + msgid "Unknown or unsupported transport “%s” for address “%s”" + msgstr "「%2$s」位址有不明或不支援的「%1$s」傳輸" + +-#: gio/gdbusaddress.c:461 ++#: ../gio/gdbusaddress.c:467 + #, c-format + msgid "Address element “%s” does not contain a colon (:)" + msgstr "「%s」位址元素中並未包含分號 (:)" + +-#: gio/gdbusaddress.c:470 ++#: ../gio/gdbusaddress.c:476 + #, c-format + msgid "Transport name in address element “%s” must not be empty" + msgstr "「%s」位址元素中的傳輸名稱不能空白" + +-#: gio/gdbusaddress.c:491 ++#: ../gio/gdbusaddress.c:497 + #, c-format + msgid "" + "Key/Value pair %d, “%s”, in address element “%s” does not contain an equal " + "sign" + msgstr "在鍵/值配對 %d,「%s」,「%s」位址元素中,並未包含等於符號" + +-#: gio/gdbusaddress.c:502 ++#: ../gio/gdbusaddress.c:508 + #, c-format + msgid "" + "Key/Value pair %d, “%s”, in address element “%s” must not have an empty key" + msgstr "在鍵/值配對 %d,「%s」,「%s」位址元素中,不能有空白的鍵" + +-#: gio/gdbusaddress.c:516 ++#: ../gio/gdbusaddress.c:522 + #, c-format + msgid "" + "Error unescaping key or value in Key/Value pair %d, “%s”, in address element " + "“%s”" + msgstr "在鍵/值配對 %d,「%s」,「%s」位址元素中有錯誤的反轉義鍵" + +-#: gio/gdbusaddress.c:588 ++#: ../gio/gdbusaddress.c:590 + #, c-format + msgid "" + "Error in address “%s” — the unix transport requires exactly one of the keys " + "“path” or “abstract” to be set" + msgstr "「%s」位址有錯誤 — unix 傳輸需要明確的設定一個「path」或「abstract」鍵" + +-#: gio/gdbusaddress.c:624 ++#: ../gio/gdbusaddress.c:625 + #, c-format + msgid "Error in address “%s” — the host attribute is missing or malformed" + msgstr "「%s」位址有錯誤 — host 特性遺失或格式不良" + +-#: gio/gdbusaddress.c:638 ++#: ../gio/gdbusaddress.c:639 + #, c-format + msgid "Error in address “%s” — the port attribute is missing or malformed" + msgstr "「%s」位址有錯誤 — port 特性遺失或格式不良" + +-#: gio/gdbusaddress.c:652 ++#: ../gio/gdbusaddress.c:653 + #, c-format + msgid "Error in address “%s” — the noncefile attribute is missing or malformed" + msgstr "「%s」位址有錯誤 — noncefile 特性遺失或格式不良" + +-#: gio/gdbusaddress.c:673 ++#: ../gio/gdbusaddress.c:674 + msgid "Error auto-launching: " + msgstr "自動執行失敗:" + +-#: gio/gdbusaddress.c:726 ++#: ../gio/gdbusaddress.c:727 + #, c-format + msgid "Error opening nonce file “%s”: %s" + msgstr "開啟臨時檔案「%s」時發生錯誤:%s" + +-#: gio/gdbusaddress.c:745 ++#: ../gio/gdbusaddress.c:746 + #, c-format + msgid "Error reading from nonce file “%s”: %s" + msgstr "讀取臨時檔案「%s」時發生錯誤:%s" + +-#: gio/gdbusaddress.c:754 ++#: ../gio/gdbusaddress.c:755 + #, c-format + msgid "Error reading from nonce file “%s”, expected 16 bytes, got %d" + msgstr "讀取臨時檔案「%s」時發生錯誤,預期為 16 位元組,卻得到 %d" + +-#: gio/gdbusaddress.c:772 ++#: ../gio/gdbusaddress.c:773 + #, c-format + msgid "Error writing contents of nonce file “%s” to stream:" + msgstr "寫入臨時檔案「%s」的內容到串流時發生錯誤:" + +-#: gio/gdbusaddress.c:981 ++#: ../gio/gdbusaddress.c:988 + msgid "The given address is empty" + msgstr "指定的位址是空白的" + +-#: gio/gdbusaddress.c:1094 +-#, c-format +-msgid "Cannot spawn a message bus when setuid" ++#: ../gio/gdbusaddress.c:1101 ++#, fuzzy, c-format ++msgid "Cannot spawn a message bus when AT_SECURE is set" + msgstr "在 setuid 時不能產生訊息匯流排" + +-#: gio/gdbusaddress.c:1101 ++#: ../gio/gdbusaddress.c:1108 + msgid "Cannot spawn a message bus without a machine-id: " + msgstr "沒有 machine-id 不能產生訊息匯流排:" + +-#: gio/gdbusaddress.c:1108 ++#: ../gio/gdbusaddress.c:1115 + #, c-format + msgid "Cannot autolaunch D-Bus without X11 $DISPLAY" + msgstr "沒有 X11 $DISPLAY 不能自動執行 D-Bus " + +-#: gio/gdbusaddress.c:1150 ++#: ../gio/gdbusaddress.c:1157 + #, c-format + msgid "Error spawning command line “%s”: " + msgstr "產生命令列「%s」時出現錯誤:" + +-#: gio/gdbusaddress.c:1219 ++#: ../gio/gdbusaddress.c:1226 + #, c-format + msgid "Cannot determine session bus address (not implemented for this OS)" + msgstr "不能判斷作業階段匯流排位址(沒有在這個 OS 實作)" + +-#: gio/gdbusaddress.c:1357 gio/gdbusconnection.c:7192 ++#: ../gio/gdbusaddress.c:1380 ../gio/gdbusconnection.c:7339 + #, c-format + msgid "" + "Cannot determine bus address from DBUS_STARTER_BUS_TYPE environment variable " + "— unknown value “%s”" + msgstr "不能從 DBUS_STARTER_BUS_TYPE 環境變數判斷匯流排位址 — 不明的「%s」值" + +-#: gio/gdbusaddress.c:1366 gio/gdbusconnection.c:7201 ++#: ../gio/gdbusaddress.c:1389 ../gio/gdbusconnection.c:7348 + msgid "" + "Cannot determine bus address because the DBUS_STARTER_BUS_TYPE environment " + "variable is not set" + msgstr "不能判斷匯流排位址,因為尚未設定 DBUS_STARTER_BUS_TYPE 環境變數" + +-#: gio/gdbusaddress.c:1376 ++#: ../gio/gdbusaddress.c:1399 + #, c-format + msgid "Unknown bus type %d" + msgstr "不明的匯流排類型 %d" + +-#: gio/gdbusauth.c:294 ++#: ../gio/gdbusauth.c:294 + msgid "Unexpected lack of content trying to read a line" + msgstr "未預期的內容缺乏嘗試讀取行" + +-#: gio/gdbusauth.c:338 ++#: ../gio/gdbusauth.c:338 + msgid "Unexpected lack of content trying to (safely) read a line" + msgstr "未預期的內容缺乏嘗試(安全的)讀取行" + +-#: gio/gdbusauth.c:482 ++#: ../gio/gdbusauth.c:482 + #, c-format + msgid "" + "Exhausted all available authentication mechanisms (tried: %s) (available: %s)" + msgstr "竭盡所有可用的核對機制 (已嘗試:%s) (可用:%s)" + +-#: gio/gdbusauth.c:1167 ++#: ../gio/gdbusauth.c:1045 ++#, fuzzy ++msgid "Unexpected lack of content trying to read a byte" ++msgstr "未預期的內容缺乏嘗試讀取行" ++ ++#: ../gio/gdbusauth.c:1195 ++msgid "User IDs must be the same for peer and server" ++msgstr "" ++ ++#: ../gio/gdbusauth.c:1207 + msgid "Cancelled via GDBusAuthObserver::authorize-authenticated-peer" + msgstr "已透過 GDBusAuthObserver::authorize-authenticated-peer 取消" + +-#: gio/gdbusauthmechanismsha1.c:296 ++#: ../gio/gdbusauthmechanismsha1.c:307 + #, c-format + msgid "Error when getting information for directory “%s”: %s" + msgstr "從目錄「%s」取得資訊時發生錯誤:%s" + +-#: gio/gdbusauthmechanismsha1.c:311 ++#: ../gio/gdbusauthmechanismsha1.c:322 + #, c-format + msgid "" + "Permissions on directory “%s” are malformed. Expected mode 0700, got 0%o" + msgstr "目錄「%s」的權限格式下良。預期的模式為 0700,卻得到 0%o" + +-#: gio/gdbusauthmechanismsha1.c:341 ++#: ../gio/gdbusauthmechanismsha1.c:355 ../gio/gdbusauthmechanismsha1.c:366 + #, c-format + msgid "Error creating directory “%s”: %s" + msgstr "建立目錄「%s」時發生錯誤:%s" + +-#: gio/gdbusauthmechanismsha1.c:386 ++#: ../gio/gdbusauthmechanismsha1.c:368 ../gio/gfile.c:1128 ../gio/gfile.c:1366 ++#: ../gio/gfile.c:1504 ../gio/gfile.c:1742 ../gio/gfile.c:1797 ++#: ../gio/gfile.c:1855 ../gio/gfile.c:1939 ../gio/gfile.c:1996 ++#: ../gio/gfile.c:2060 ../gio/gfile.c:2115 ../gio/gfile.c:4019 ++#: ../gio/gfile.c:4158 ../gio/gfile.c:4570 ../gio/gfile.c:5040 ++#: ../gio/gfile.c:5452 ../gio/gfile.c:5537 ../gio/gfile.c:5627 ++#: ../gio/gfile.c:5724 ../gio/gfile.c:5811 ../gio/gfile.c:5912 ++#: ../gio/gfile.c:9070 ../gio/gfile.c:9160 ../gio/gfile.c:9244 ++#: ../gio/win32/gwinhttpfile.c:453 ++msgid "Operation not supported" ++msgstr "不支援的操作" ++ ++#: ../gio/gdbusauthmechanismsha1.c:411 + #, c-format + msgid "Error opening keyring “%s” for reading: " + msgstr "開啟鑰匙圈「%s」讀取時發生錯誤:" + +-#: gio/gdbusauthmechanismsha1.c:409 gio/gdbusauthmechanismsha1.c:731 ++#: ../gio/gdbusauthmechanismsha1.c:434 ../gio/gdbusauthmechanismsha1.c:775 + #, c-format + msgid "Line %d of the keyring at “%s” with content “%s” is malformed" + msgstr "位於「%2$s」內容「%3$s」的鑰匙圈第 %1$d 列格式不良" + +-#: gio/gdbusauthmechanismsha1.c:423 gio/gdbusauthmechanismsha1.c:745 ++#: ../gio/gdbusauthmechanismsha1.c:448 ../gio/gdbusauthmechanismsha1.c:789 + #, c-format + msgid "" + "First token of line %d of the keyring at “%s” with content “%s” is malformed" + msgstr "位於「%2$s」內容「%3$s」的鑰匙圈第 %1$d 列第一記號格式不良" + +-#: gio/gdbusauthmechanismsha1.c:437 gio/gdbusauthmechanismsha1.c:759 ++#: ../gio/gdbusauthmechanismsha1.c:462 ../gio/gdbusauthmechanismsha1.c:803 + #, c-format + msgid "" + "Second token of line %d of the keyring at “%s” with content “%s” is malformed" + msgstr "位於「%2$s」內容「%3$s」的鑰匙圈第 %1$d 列第二記號格式不良" + +-#: gio/gdbusauthmechanismsha1.c:461 ++#: ../gio/gdbusauthmechanismsha1.c:486 + #, c-format + msgid "Didn’t find cookie with id %d in the keyring at “%s”" + msgstr "在「%2$s」鑰匙圈找不到 id %1$d 的 cookie" + +-#: gio/gdbusauthmechanismsha1.c:507 ++#: ../gio/gdbusauthmechanismsha1.c:543 + #, c-format + msgid "Error creating lock file “%s”: %s" + msgstr "建立鎖定檔案「%s」時發生錯誤:%s" + +-#: gio/gdbusauthmechanismsha1.c:571 ++#: ../gio/gdbusauthmechanismsha1.c:616 + #, c-format + msgid "Error deleting stale lock file “%s”: %s" + msgstr "刪除舊的鎖定檔案「%s」時發生錯誤:%s" + +-#: gio/gdbusauthmechanismsha1.c:610 ++#: ../gio/gdbusauthmechanismsha1.c:655 + #, c-format + msgid "Error closing (unlinked) lock file “%s”: %s" + msgstr "關閉 (取消連結) 鎖定檔案時發生錯誤「%s」:%s" + +-#: gio/gdbusauthmechanismsha1.c:621 ++#: ../gio/gdbusauthmechanismsha1.c:666 + #, c-format + msgid "Error unlinking lock file “%s”: %s" + msgstr "取消連結鎖定檔案時發生錯誤「%s」:%s" + +-#: gio/gdbusauthmechanismsha1.c:698 ++#: ../gio/gdbusauthmechanismsha1.c:742 + #, c-format + msgid "Error opening keyring “%s” for writing: " + msgstr "開啟鑰匙圈「%s」寫入時發生錯誤:" + +-#: gio/gdbusauthmechanismsha1.c:892 ++#: ../gio/gdbusauthmechanismsha1.c:936 + #, c-format + msgid "(Additionally, releasing the lock for “%s” also failed: %s) " + msgstr "(另外,釋放「%s」的鎖定失敗:%s)" + +-#: gio/gdbusconnection.c:595 gio/gdbusconnection.c:2391 ++#: ../gio/gdbusconnection.c:590 ../gio/gdbusconnection.c:2415 + msgid "The connection is closed" + msgstr "這個連線已關閉" + +-#: gio/gdbusconnection.c:1892 ++#: ../gio/gdbusconnection.c:1899 + msgid "Timeout was reached" + msgstr "已達逾時時間" + +-#: gio/gdbusconnection.c:2513 ++#: ../gio/gdbusconnection.c:2538 + msgid "" + "Unsupported flags encountered when constructing a client-side connection" + msgstr "當建立客戶端連線時遇到不支援的旗標" + +-#: gio/gdbusconnection.c:4163 gio/gdbusconnection.c:4510 ++#: ../gio/gdbusconnection.c:4277 ../gio/gdbusconnection.c:4631 + #, c-format + msgid "" + "No such interface “org.freedesktop.DBus.Properties” on object at path %s" + msgstr "在 %s 路徑的物件沒有「org.freedesktop.DBus.Properties」這個介面" + +-#: gio/gdbusconnection.c:4305 ++#: ../gio/gdbusconnection.c:4422 + #, c-format + msgid "No such property “%s”" + msgstr "沒有這個屬性「%s」" + +-#: gio/gdbusconnection.c:4317 ++#: ../gio/gdbusconnection.c:4434 + #, c-format + msgid "Property “%s” is not readable" + msgstr "無法讀取「%s」屬性" + +-#: gio/gdbusconnection.c:4328 ++#: ../gio/gdbusconnection.c:4445 + #, c-format + msgid "Property “%s” is not writable" + msgstr "無法寫入「%s」屬性" + +-#: gio/gdbusconnection.c:4348 ++#: ../gio/gdbusconnection.c:4465 + #, c-format + msgid "Error setting property “%s”: Expected type “%s” but got “%s”" + msgstr "「%s」屬性設定錯誤:預期的類型為「%s」但得到「%s」" + +-#: gio/gdbusconnection.c:4453 gio/gdbusconnection.c:4661 +-#: gio/gdbusconnection.c:6632 ++#: ../gio/gdbusconnection.c:4570 ../gio/gdbusconnection.c:4785 ++#: ../gio/gdbusconnection.c:6762 + #, c-format + msgid "No such interface “%s”" + msgstr "沒有這個「%s」介面" + +-#: gio/gdbusconnection.c:4879 gio/gdbusconnection.c:7141 ++#: ../gio/gdbusconnection.c:5001 ../gio/gdbusconnection.c:7279 + #, c-format + msgid "No such interface “%s” on object at path %s" + msgstr "在 %2$s 路徑的物件沒有「%1$s」這個介面" + +-#: gio/gdbusconnection.c:4977 ++#: ../gio/gdbusconnection.c:5102 + #, c-format + msgid "No such method “%s”" + msgstr "沒有「%s」方法" + +-#: gio/gdbusconnection.c:5008 ++#: ../gio/gdbusconnection.c:5133 + #, c-format + msgid "Type of message, “%s”, does not match expected type “%s”" + msgstr "訊息的類型,「%s」,不符合預期的類型「%s」" + +-#: gio/gdbusconnection.c:5206 ++#: ../gio/gdbusconnection.c:5336 + #, c-format + msgid "An object is already exported for the interface %s at %s" + msgstr "有物件已為介面 %s 匯出於 %s" + +-#: gio/gdbusconnection.c:5432 ++#: ../gio/gdbusconnection.c:5563 + #, c-format + msgid "Unable to retrieve property %s.%s" + msgstr "無法取回屬性 %s.%s" + +-#: gio/gdbusconnection.c:5488 ++#: ../gio/gdbusconnection.c:5619 + #, c-format + msgid "Unable to set property %s.%s" + msgstr "無法設定屬性 %s.%s" + +-#: gio/gdbusconnection.c:5666 ++#: ../gio/gdbusconnection.c:5798 + #, c-format + msgid "Method “%s” returned type “%s”, but expected “%s”" + msgstr "方法「%s」傳回類型「%s」,但預期為「%s」" + +-#: gio/gdbusconnection.c:6743 ++#: ../gio/gdbusconnection.c:6874 + #, c-format + msgid "Method “%s” on interface “%s” with signature “%s” does not exist" + msgstr "介面「%2$s」簽章「%3$s」的方法「%1$s」不存在" + +-#: gio/gdbusconnection.c:6864 ++#: ../gio/gdbusconnection.c:6995 + #, c-format + msgid "A subtree is already exported for %s" + msgstr "子樹狀目錄已為 %s 匯出" + +-#: gio/gdbusmessage.c:1255 ++#: ../gio/gdbusconnection.c:7287 ++#, fuzzy, c-format ++msgid "Object does not exist at path “%s”" ++msgstr "鍵檔案沒有群組「%s」" ++ ++#: ../gio/gdbusmessage.c:1306 + msgid "type is INVALID" + msgstr "類型為無效" + +-#: gio/gdbusmessage.c:1266 +-msgid "METHOD_CALL message: PATH or MEMBER header field is missing" ++#: ../gio/gdbusmessage.c:1324 ++#, fuzzy ++msgid "METHOD_CALL message: PATH or MEMBER header field is missing or invalid" + msgstr "METHOD_CALL 訊息:缺少 PATH 或 MEMBER 標頭欄位" + +-#: gio/gdbusmessage.c:1277 +-msgid "METHOD_RETURN message: REPLY_SERIAL header field is missing" ++#: ../gio/gdbusmessage.c:1340 ++#, fuzzy ++msgid "METHOD_RETURN message: REPLY_SERIAL header field is missing or invalid" + msgstr "METHOD_RETURN 訊息:缺少 REPLY_SERIAL 標頭欄位" + +-#: gio/gdbusmessage.c:1289 +-msgid "ERROR message: REPLY_SERIAL or ERROR_NAME header field is missing" ++#: ../gio/gdbusmessage.c:1360 ++#, fuzzy ++msgid "" ++"ERROR message: REPLY_SERIAL or ERROR_NAME header field is missing or invalid" + msgstr "ERROR 訊息:缺少 REPLY_SERIAL 或 ERROR_NAME 標頭欄位" + +-#: gio/gdbusmessage.c:1302 +-msgid "SIGNAL message: PATH, INTERFACE or MEMBER header field is missing" ++#: ../gio/gdbusmessage.c:1384 ++#, fuzzy ++msgid "" ++"SIGNAL message: PATH, INTERFACE or MEMBER header field is missing or invalid" + msgstr "SIGNAL 訊息:缺少 PATH、INTERFACE 或 MEMBER 標頭欄位" + +-#: gio/gdbusmessage.c:1310 ++#: ../gio/gdbusmessage.c:1392 + msgid "" + "SIGNAL message: The PATH header field is using the reserved value /org/" + "freedesktop/DBus/Local" + msgstr "SIGNAL 訊息:PATH 標頭欄位使用了保留的值 /org/freedesktop/DBus/Local" + +-#: gio/gdbusmessage.c:1318 ++#: ../gio/gdbusmessage.c:1400 + msgid "" + "SIGNAL message: The INTERFACE header field is using the reserved value org." + "freedesktop.DBus.Local" + msgstr "" + "SIGNAL 訊息:INTERFACE 標頭欄位使用了保留的值 org.freedesktop.DBus.Local" + +-#: gio/gdbusmessage.c:1366 gio/gdbusmessage.c:1426 ++#: ../gio/gdbusmessage.c:1449 ../gio/gdbusmessage.c:1509 + #, c-format + msgid "Wanted to read %lu byte but only got %lu" + msgid_plural "Wanted to read %lu bytes but only got %lu" + msgstr[0] "嘗試讀取 %lu 位元組卻只得到 %lu" + +-#: gio/gdbusmessage.c:1380 ++#: ../gio/gdbusmessage.c:1463 + #, c-format + msgid "Expected NUL byte after the string “%s” but found byte %d" + msgstr "預期在字串「%s」之後為 NUL 位元組,但是發現位元組 %d" + +-#: gio/gdbusmessage.c:1399 ++#: ../gio/gdbusmessage.c:1482 + #, c-format + msgid "" + "Expected valid UTF-8 string but found invalid bytes at byte offset %d " +@@ -745,21 +809,22 @@ msgstr "" + "預期為有效的 UTF-8 字串但是在位元組 %d 處發現無效的位元組 (字串的長度為 %d)。" + "到那一點之前的有效 UTF-8 字串為「%s」" + +-#: gio/gdbusmessage.c:1463 gio/gdbusmessage.c:1711 gio/gdbusmessage.c:1900 ++#: ../gio/gdbusmessage.c:1546 ../gio/gdbusmessage.c:1822 ++#: ../gio/gdbusmessage.c:2033 + msgid "Value nested too deeply" + msgstr "值的巢狀層次過深" + +-#: gio/gdbusmessage.c:1609 ++#: ../gio/gdbusmessage.c:1714 + #, c-format + msgid "Parsed value “%s” is not a valid D-Bus object path" + msgstr "已解析「%s」值不是有效的 D-Bus 物件路徑" + +-#: gio/gdbusmessage.c:1631 ++#: ../gio/gdbusmessage.c:1738 + #, c-format + msgid "Parsed value “%s” is not a valid D-Bus signature" + msgstr "已解析「%s」值不是一個有效的 D-Bus 簽章" + +-#: gio/gdbusmessage.c:1678 ++#: ../gio/gdbusmessage.c:1789 + #, c-format + msgid "" + "Encountered array of length %u byte. Maximum length is 2<<26 bytes (64 MiB)." +@@ -767,7 +832,7 @@ msgid_plural "" + "Encountered array of length %u bytes. Maximum length is 2<<26 bytes (64 MiB)." + msgstr[0] "遇到長度為 %u 位元組的陣列。最大長度為 2<<26 位元組 (64 MiB)。" + +-#: gio/gdbusmessage.c:1698 ++#: ../gio/gdbusmessage.c:1809 + #, c-format + msgid "" + "Encountered array of type “a%c”, expected to have a length a multiple of %u " +@@ -775,125 +840,131 @@ msgid "" + msgstr "" + "遇到類型「a%c」的陣列,預期長度應為 %u 位元組的倍數,但發現長度為 %u 位元組" + +-#: gio/gdbusmessage.c:1884 ++#: ../gio/gdbusmessage.c:1963 ../gio/gdbusmessage.c:2682 ++msgid "Empty structures (tuples) are not allowed in D-Bus" ++msgstr "" ++ ++#: ../gio/gdbusmessage.c:2017 + #, c-format + msgid "Parsed value “%s” for variant is not a valid D-Bus signature" + msgstr "已解析「%s」值不是有效的 D-Bus 簽章" + +-#: gio/gdbusmessage.c:1925 ++#: ../gio/gdbusmessage.c:2058 + #, c-format + msgid "" + "Error deserializing GVariant with type string “%s” from the D-Bus wire format" + msgstr "從 D-Bus 線性格式以類型字串「%s」反序列化 GVariant 時發生錯誤" + +-#: gio/gdbusmessage.c:2110 ++#: ../gio/gdbusmessage.c:2243 + #, c-format + msgid "" + "Invalid endianness value. Expected 0x6c (“l”) or 0x42 (“B”) but found value " + "0x%02x" + msgstr "無效的字節順序值。預期為 0x6c (「I」) 或 0x42 (「B」) 卻得到值 0x%02x" + +-#: gio/gdbusmessage.c:2123 ++#: ../gio/gdbusmessage.c:2262 + #, c-format + msgid "Invalid major protocol version. Expected 1 but found %d" + msgstr "無效的主通訊協定版本。預期為 1 但找到 %d" + +-#: gio/gdbusmessage.c:2177 gio/gdbusmessage.c:2773 ++#: ../gio/gdbusmessage.c:2320 ../gio/gdbusmessage.c:2918 + msgid "Signature header found but is not of type signature" + msgstr "找到簽章標頭,但不是一種類型簽章" + +-#: gio/gdbusmessage.c:2189 ++#: ../gio/gdbusmessage.c:2332 + #, c-format + msgid "Signature header with signature “%s” found but message body is empty" + msgstr "發現簽章「%s」的簽章標頭但訊息主體是空的" + +-#: gio/gdbusmessage.c:2204 ++#: ../gio/gdbusmessage.c:2347 + #, c-format + msgid "Parsed value “%s” is not a valid D-Bus signature (for body)" + msgstr "已解析「%s」值不是有效的 D-Bus 簽章 (於主體)" + +-#: gio/gdbusmessage.c:2236 ++#: ../gio/gdbusmessage.c:2379 + #, c-format + msgid "No signature header in message but the message body is %u byte" + msgid_plural "No signature header in message but the message body is %u bytes" + msgstr[0] "在訊息中沒有簽章標頭但訊息主體有 %u 位元組" + +-#: gio/gdbusmessage.c:2246 ++#: ../gio/gdbusmessage.c:2389 + msgid "Cannot deserialize message: " + msgstr "不能反序列化訊息:" + +-#: gio/gdbusmessage.c:2590 ++#: ../gio/gdbusmessage.c:2735 + #, c-format + msgid "" + "Error serializing GVariant with type string “%s” to the D-Bus wire format" + msgstr "從 D-Bus 線性格式以類型字串「%s」序列化 GVariant 時發生錯誤" + +-#: gio/gdbusmessage.c:2727 ++#: ../gio/gdbusmessage.c:2872 + #, c-format + msgid "" + "Number of file descriptors in message (%d) differs from header field (%d)" + msgstr "訊息 (%d) 中的檔案描述狀態數量跟標頭欄位 (%d) 的不同" + +-#: gio/gdbusmessage.c:2735 ++#: ../gio/gdbusmessage.c:2880 + msgid "Cannot serialize message: " + msgstr "不能序列化訊息:" + +-#: gio/gdbusmessage.c:2788 ++#: ../gio/gdbusmessage.c:2933 + #, c-format + msgid "Message body has signature “%s” but there is no signature header" + msgstr "訊息主體有簽章「%s」但是沒有簽章標頭" + +-#: gio/gdbusmessage.c:2798 ++#: ../gio/gdbusmessage.c:2943 + #, c-format + msgid "" + "Message body has type signature “%s” but signature in the header field is " + "“%s”" + msgstr "訊息主體有類型簽章「%s」但是標頭欄位中的簽章為「%s」" + +-#: gio/gdbusmessage.c:2814 ++#: ../gio/gdbusmessage.c:2959 + #, c-format + msgid "Message body is empty but signature in the header field is “(%s)”" + msgstr "訊息主體是空的但是標頭欄位中的簽章為「%s」" + +-#: gio/gdbusmessage.c:3367 ++#: ../gio/gdbusmessage.c:3514 + #, c-format + msgid "Error return with body of type “%s”" + msgstr "傳回類型「%s」主體時發生錯誤" + +-#: gio/gdbusmessage.c:3375 ++#: ../gio/gdbusmessage.c:3522 + msgid "Error return with empty body" + msgstr "傳回空白主體錯誤" + +-#: gio/gdbusprivate.c:2244 ++#: ../gio/gdbusprivate.c:2201 + #, c-format + msgid "(Type any character to close this window)\n" + msgstr "(輸入任何字元以關閉這個視窗)\n" + +-#: gio/gdbusprivate.c:2418 ++#: ../gio/gdbusprivate.c:2387 + #, c-format + msgid "Session dbus not running, and autolaunch failed" + msgstr "作業階段 dbus 尚未執行,且自動執行失敗" + +-#: gio/gdbusprivate.c:2441 ++#: ../gio/gdbusprivate.c:2410 + #, c-format + msgid "Unable to get Hardware profile: %s" + msgstr "無法取得硬體設定檔:%s" + +-#: gio/gdbusprivate.c:2486 +-msgid "Unable to load /var/lib/dbus/machine-id or /etc/machine-id: " +-msgstr "無法載入 /var/lib/dbus/machine-id 或 /etc/machine-id:" ++#. Translators: Both placeholders are file paths ++#: ../gio/gdbusprivate.c:2461 ++#, fuzzy, c-format ++msgid "Unable to load %s or %s: " ++msgstr "無法將檔案 %s 移至垃圾桶:%s" + +-#: gio/gdbusproxy.c:1562 ++#: ../gio/gdbusproxy.c:1568 + #, c-format + msgid "Error calling StartServiceByName for %s: " + msgstr "呼叫 %s StartServiceByName 時發生錯誤:" + +-#: gio/gdbusproxy.c:1585 ++#: ../gio/gdbusproxy.c:1591 + #, c-format + msgid "Unexpected reply %d from StartServiceByName(\"%s\") method" + msgstr "來自 StartServiceByName(\"%2$s\") 方法的未預期回應 %1$d" + +-#: gio/gdbusproxy.c:2688 gio/gdbusproxy.c:2823 ++#: ../gio/gdbusproxy.c:2702 ../gio/gdbusproxy.c:2837 + #, c-format + msgid "" + "Cannot invoke method; proxy is for the well-known name %s without an owner, " +@@ -902,30 +973,30 @@ msgstr "" + "不能呼叫方法;Proxy 是沒有擁有者的 %s 已知名稱,而 Proxy 以 " + "G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START 旗標建構" + +-#: gio/gdbusserver.c:755 ++#: ../gio/gdbusserver.c:758 + msgid "Abstract namespace not supported" + msgstr "不支援抽象命名空間" + +-#: gio/gdbusserver.c:848 ++#: ../gio/gdbusserver.c:850 + msgid "Cannot specify nonce file when creating a server" + msgstr "當建立伺服器時不能指定臨時檔案" + +-#: gio/gdbusserver.c:930 ++#: ../gio/gdbusserver.c:932 + #, c-format + msgid "Error writing nonce file at “%s”: %s" + msgstr "在「%s」寫入臨時檔案時發生錯誤:%s" + +-#: gio/gdbusserver.c:1103 ++#: ../gio/gdbusserver.c:1107 + #, c-format + msgid "The string “%s” is not a valid D-Bus GUID" + msgstr "字串「%s」不是一個有效的 D-Bus GUID" + +-#: gio/gdbusserver.c:1143 ++#: ../gio/gdbusserver.c:1145 + #, c-format + msgid "Cannot listen on unsupported transport “%s”" + msgstr "不能聽取不支援的傳輸「%s」" + +-#: gio/gdbus-tool.c:107 ++#: ../gio/gdbus-tool.c:113 + #, c-format + msgid "" + "Commands:\n" +@@ -948,564 +1019,609 @@ msgstr "" + " \n" + "使用「%s COMMAND --help」來取得每個指令的求助資訊。\n" + +-#: gio/gdbus-tool.c:197 gio/gdbus-tool.c:264 gio/gdbus-tool.c:336 +-#: gio/gdbus-tool.c:360 gio/gdbus-tool.c:850 gio/gdbus-tool.c:1187 +-#: gio/gdbus-tool.c:1672 ++#: ../gio/gdbus-tool.c:204 ../gio/gdbus-tool.c:276 ../gio/gdbus-tool.c:347 ++#: ../gio/gdbus-tool.c:371 ../gio/gdbus-tool.c:861 ../gio/gdbus-tool.c:1246 ++#: ../gio/gdbus-tool.c:1733 + #, c-format + msgid "Error: %s\n" + msgstr "錯誤:%s\n" + +-#: gio/gdbus-tool.c:208 gio/gdbus-tool.c:277 gio/gdbus-tool.c:1688 ++#: ../gio/gdbus-tool.c:215 ../gio/gdbus-tool.c:289 ../gio/gdbus-tool.c:1749 + #, c-format + msgid "Error parsing introspection XML: %s\n" + msgstr "解析檢討 XML 時出現錯誤:%s\n" + +-#: gio/gdbus-tool.c:246 ++#: ../gio/gdbus-tool.c:253 + #, c-format + msgid "Error: %s is not a valid name\n" + msgstr "錯誤:%s 不是有效的名稱\n" + +-#: gio/gdbus-tool.c:394 ++#: ../gio/gdbus-tool.c:258 ../gio/gdbus-tool.c:747 ../gio/gdbus-tool.c:1065 ++#: ../gio/gdbus-tool.c:1899 ../gio/gdbus-tool.c:2139 ++#, c-format ++msgid "Error: %s is not a valid object path\n" ++msgstr "錯誤:%s 不是有效的物件路徑\n" ++ ++#: ../gio/gdbus-tool.c:405 + msgid "Connect to the system bus" + msgstr "連線到系統匯流排" + +-#: gio/gdbus-tool.c:395 ++#: ../gio/gdbus-tool.c:406 + msgid "Connect to the session bus" + msgstr "連線到作業階段匯流排" + +-#: gio/gdbus-tool.c:396 ++#: ../gio/gdbus-tool.c:407 + msgid "Connect to given D-Bus address" + msgstr "連線到指定的 D-Bus 位址" + +-#: gio/gdbus-tool.c:406 ++#: ../gio/gdbus-tool.c:417 + msgid "Connection Endpoint Options:" + msgstr "連線端點選項:" + +-#: gio/gdbus-tool.c:407 ++#: ../gio/gdbus-tool.c:418 + msgid "Options specifying the connection endpoint" + msgstr "指定連線端點的選項" + +-#: gio/gdbus-tool.c:430 ++#: ../gio/gdbus-tool.c:441 + #, c-format + msgid "No connection endpoint specified" + msgstr "沒有指定連線端點" + +-#: gio/gdbus-tool.c:440 ++#: ../gio/gdbus-tool.c:451 + #, c-format + msgid "Multiple connection endpoints specified" + msgstr "指定了多重連線端點" + +-#: gio/gdbus-tool.c:513 ++#: ../gio/gdbus-tool.c:524 + #, c-format + msgid "" + "Warning: According to introspection data, interface “%s” does not exist\n" + msgstr "警告:根據檢討資料,介面「%s」不存在\n" + +-#: gio/gdbus-tool.c:522 ++#: ../gio/gdbus-tool.c:533 + #, c-format + msgid "" + "Warning: According to introspection data, method “%s” does not exist on " + "interface “%s”\n" + msgstr "警告:根據檢討資料,介面「%2$s」的方法「%1$s」不存在\n" + +-#: gio/gdbus-tool.c:584 ++#: ../gio/gdbus-tool.c:595 + msgid "Optional destination for signal (unique name)" + msgstr "信號的選擇性目的端 (獨特名稱)" + +-#: gio/gdbus-tool.c:585 ++#: ../gio/gdbus-tool.c:596 + msgid "Object path to emit signal on" + msgstr "要發出信號的物件路徑" + +-#: gio/gdbus-tool.c:586 ++#: ../gio/gdbus-tool.c:597 + msgid "Signal and interface name" + msgstr "信號和介面名稱" + +-#: gio/gdbus-tool.c:619 ++#: ../gio/gdbus-tool.c:630 + msgid "Emit a signal." + msgstr "發出信號。" + +-#: gio/gdbus-tool.c:674 gio/gdbus-tool.c:981 gio/gdbus-tool.c:1775 +-#: gio/gdbus-tool.c:2007 gio/gdbus-tool.c:2227 ++#: ../gio/gdbus-tool.c:685 ../gio/gdbus-tool.c:1002 ../gio/gdbus-tool.c:1836 ++#: ../gio/gdbus-tool.c:2068 ../gio/gdbus-tool.c:2288 + #, c-format + msgid "Error connecting: %s\n" + msgstr "連線錯誤:%s\n" + +-#: gio/gdbus-tool.c:694 ++#: ../gio/gdbus-tool.c:705 + #, c-format + msgid "Error: %s is not a valid unique bus name.\n" + msgstr "錯誤:%s 不是有效的獨特匯流排名稱。\n" + +-#: gio/gdbus-tool.c:713 gio/gdbus-tool.c:1024 gio/gdbus-tool.c:1818 ++#: ../gio/gdbus-tool.c:724 ../gio/gdbus-tool.c:1045 ../gio/gdbus-tool.c:1879 ++#, c-format + msgid "Error: Object path is not specified\n" + msgstr "錯誤:沒有指定物件路徑\n" + +-#: gio/gdbus-tool.c:736 gio/gdbus-tool.c:1044 gio/gdbus-tool.c:1838 +-#: gio/gdbus-tool.c:2078 ++#: ../gio/gdbus-tool.c:767 + #, c-format +-msgid "Error: %s is not a valid object path\n" +-msgstr "錯誤:%s 不是有效的物件路徑\n" +- +-#: gio/gdbus-tool.c:756 + msgid "Error: Signal name is not specified\n" + msgstr "錯誤:沒有指定信號名稱\n" + +-#: gio/gdbus-tool.c:770 ++#: ../gio/gdbus-tool.c:781 + #, c-format + msgid "Error: Signal name “%s” is invalid\n" + msgstr "錯誤:「%s」信號名稱無效\n" + +-#: gio/gdbus-tool.c:782 ++#: ../gio/gdbus-tool.c:793 + #, c-format + msgid "Error: %s is not a valid interface name\n" + msgstr "錯誤:%s 不是有效的介面名稱\n" + +-#: gio/gdbus-tool.c:788 ++#: ../gio/gdbus-tool.c:799 + #, c-format + msgid "Error: %s is not a valid member name\n" + msgstr "錯誤:%s 不是有效的成員名稱\n" + + #. Use the original non-"parse-me-harder" error +-#: gio/gdbus-tool.c:825 gio/gdbus-tool.c:1156 ++#: ../gio/gdbus-tool.c:836 ../gio/gdbus-tool.c:1177 + #, c-format + msgid "Error parsing parameter %d: %s\n" + msgstr "解析參數 %d 時發生錯誤:%s\n" + +-#: gio/gdbus-tool.c:857 ++#: ../gio/gdbus-tool.c:868 + #, c-format + msgid "Error flushing connection: %s\n" + msgstr "清除連線時發生錯誤:%s\n" + +-#: gio/gdbus-tool.c:884 ++#: ../gio/gdbus-tool.c:896 + msgid "Destination name to invoke method on" + msgstr "要呼叫方法的目的端名稱" + +-#: gio/gdbus-tool.c:885 ++#: ../gio/gdbus-tool.c:897 + msgid "Object path to invoke method on" + msgstr "要呼叫方法的物件路徑" + +-#: gio/gdbus-tool.c:886 ++#: ../gio/gdbus-tool.c:898 + msgid "Method and interface name" + msgstr "方法和介面名稱" + +-#: gio/gdbus-tool.c:887 ++#: ../gio/gdbus-tool.c:899 + msgid "Timeout in seconds" + msgstr "逾時時間(秒)" + +-#: gio/gdbus-tool.c:926 ++#: ../gio/gdbus-tool.c:900 ++#, fuzzy ++msgid "Allow interactive authorization" ++msgstr "顯示位置的相關資訊" ++ ++#: ../gio/gdbus-tool.c:947 + msgid "Invoke a method on a remote object." + msgstr "呼叫遠端物件的方法。" + +-#: gio/gdbus-tool.c:998 gio/gdbus-tool.c:1792 gio/gdbus-tool.c:2032 ++#: ../gio/gdbus-tool.c:1019 ../gio/gdbus-tool.c:1853 ../gio/gdbus-tool.c:2093 ++#, c-format + msgid "Error: Destination is not specified\n" + msgstr "錯誤:尚未指定目的端\n" + +-#: gio/gdbus-tool.c:1009 gio/gdbus-tool.c:1809 gio/gdbus-tool.c:2043 ++#: ../gio/gdbus-tool.c:1030 ../gio/gdbus-tool.c:1870 ../gio/gdbus-tool.c:2104 + #, c-format + msgid "Error: %s is not a valid bus name\n" + msgstr "錯誤:%s 不是有效的匯流排名稱\n" + +-#: gio/gdbus-tool.c:1059 ++#: ../gio/gdbus-tool.c:1080 ++#, c-format + msgid "Error: Method name is not specified\n" + msgstr "錯誤:沒有指定方法名稱\n" + +-#: gio/gdbus-tool.c:1070 ++#: ../gio/gdbus-tool.c:1091 + #, c-format + msgid "Error: Method name “%s” is invalid\n" + msgstr "錯誤:方法名稱「%s」是無效的\n" + +-#: gio/gdbus-tool.c:1148 ++#: ../gio/gdbus-tool.c:1169 + #, c-format + msgid "Error parsing parameter %d of type “%s”: %s\n" + msgstr "解析類型「%2$s」的參數 %1$d 時發生錯誤:%3$s\n" + +-#: gio/gdbus-tool.c:1634 ++#: ../gio/gdbus-tool.c:1195 ++#, fuzzy, c-format ++msgid "Error adding handle %d: %s\n" ++msgstr "從處理器讀取時發生錯誤:%s" ++ ++#: ../gio/gdbus-tool.c:1695 + msgid "Destination name to introspect" + msgstr "要檢討的目的端名稱" + +-#: gio/gdbus-tool.c:1635 ++#: ../gio/gdbus-tool.c:1696 + msgid "Object path to introspect" + msgstr "要檢討的物件路徑" + +-#: gio/gdbus-tool.c:1636 ++#: ../gio/gdbus-tool.c:1697 + msgid "Print XML" + msgstr "顯示 XML" + +-#: gio/gdbus-tool.c:1637 ++#: ../gio/gdbus-tool.c:1698 + msgid "Introspect children" + msgstr "Introspect 子項目" + +-#: gio/gdbus-tool.c:1638 ++#: ../gio/gdbus-tool.c:1699 + msgid "Only print properties" + msgstr "只有列印特性" + +-#: gio/gdbus-tool.c:1727 ++#: ../gio/gdbus-tool.c:1788 + msgid "Introspect a remote object." + msgstr "檢查遠端物件。" + +-#: gio/gdbus-tool.c:1933 ++#: ../gio/gdbus-tool.c:1994 + msgid "Destination name to monitor" + msgstr "要監控的目的端名稱" + +-#: gio/gdbus-tool.c:1934 ++#: ../gio/gdbus-tool.c:1995 + msgid "Object path to monitor" + msgstr "要監控的物件路徑" + +-#: gio/gdbus-tool.c:1959 ++#: ../gio/gdbus-tool.c:2020 + msgid "Monitor a remote object." + msgstr "監控遠端物件。" + +-#: gio/gdbus-tool.c:2017 ++#: ../gio/gdbus-tool.c:2078 ++#, c-format + msgid "Error: can’t monitor a non-message-bus connection\n" + msgstr "錯誤:無法監控非訊息匯流排的連線\n" + +-#: gio/gdbus-tool.c:2141 ++#: ../gio/gdbus-tool.c:2202 + msgid "Service to activate before waiting for the other one (well-known name)" + msgstr "在等待其他前要啟用的服務(已知名稱)" + +-#: gio/gdbus-tool.c:2144 ++#: ../gio/gdbus-tool.c:2205 + msgid "" + "Timeout to wait for before exiting with an error (seconds); 0 for no timeout " + "(default)" + msgstr "發生錯誤結束前的等待逾時(秒);0 表示沒有逾時(預設值)" + +-#: gio/gdbus-tool.c:2192 ++#: ../gio/gdbus-tool.c:2253 + msgid "[OPTION…] BUS-NAME" + msgstr "[OPTION…] BUS-NAME" + +-#: gio/gdbus-tool.c:2193 ++#: ../gio/gdbus-tool.c:2254 + msgid "Wait for a bus name to appear." + msgstr "等待匯流排名稱顯示。" + +-#: gio/gdbus-tool.c:2269 ++#: ../gio/gdbus-tool.c:2330 ++#, c-format + msgid "Error: A service to activate for must be specified.\n" + msgstr "錯誤:需要指定要啟用的服務。\n" + +-#: gio/gdbus-tool.c:2274 ++#: ../gio/gdbus-tool.c:2335 ++#, c-format + msgid "Error: A service to wait for must be specified.\n" + msgstr "錯誤:需要指定要等待的服務。\n" + +-#: gio/gdbus-tool.c:2279 ++#: ../gio/gdbus-tool.c:2340 ++#, c-format + msgid "Error: Too many arguments.\n" + msgstr "錯誤:引數太多。\n" + +-#: gio/gdbus-tool.c:2287 gio/gdbus-tool.c:2294 ++#: ../gio/gdbus-tool.c:2348 ../gio/gdbus-tool.c:2355 + #, c-format + msgid "Error: %s is not a valid well-known bus name.\n" + msgstr "錯誤:%s 不是有效的已知匯流排名稱。\n" + +-#: gio/gdesktopappinfo.c:2073 gio/gdesktopappinfo.c:4893 ++#: ../gio/gdebugcontrollerdbus.c:361 ++#, c-format ++msgid "Not authorized to change debug settings" ++msgstr "" ++ ++#: ../gio/gdesktopappinfo.c:2243 ../gio/gdesktopappinfo.c:5266 + msgid "Unnamed" + msgstr "未命名的" + +-#: gio/gdesktopappinfo.c:2483 ++#: ../gio/gdesktopappinfo.c:2653 + msgid "Desktop file didn’t specify Exec field" + msgstr "桌面(Desktop)檔案未指定 Exec 欄位" + +-#: gio/gdesktopappinfo.c:2763 ++#: ../gio/gdesktopappinfo.c:2943 + msgid "Unable to find terminal required for application" + msgstr "無法找到應用程式要求的終端機" + +-#: gio/gdesktopappinfo.c:3414 ++#: ../gio/gdesktopappinfo.c:3003 ++#, c-format ++msgid "Program ‘%s’ not found in $PATH" ++msgstr "" ++ ++#: ../gio/gdesktopappinfo.c:3778 + #, c-format + msgid "Can’t create user application configuration folder %s: %s" + msgstr "不能建立使用者應用程式設定資料夾 %s:%s" + +-#: gio/gdesktopappinfo.c:3418 ++#: ../gio/gdesktopappinfo.c:3782 + #, c-format + msgid "Can’t create user MIME configuration folder %s: %s" + msgstr "不能建立使用者 MIME 設定資料夾 %s:%s" + +-#: gio/gdesktopappinfo.c:3660 gio/gdesktopappinfo.c:3684 ++#: ../gio/gdesktopappinfo.c:4024 ../gio/gdesktopappinfo.c:4048 + msgid "Application information lacks an identifier" + msgstr "應用程式資訊缺少識別碼" + +-#: gio/gdesktopappinfo.c:3920 ++#: ../gio/gdesktopappinfo.c:4284 + #, c-format + msgid "Can’t create user desktop file %s" + msgstr "不能建立使用者桌面檔案 %s" + +-#: gio/gdesktopappinfo.c:4056 ++#: ../gio/gdesktopappinfo.c:4420 + #, c-format + msgid "Custom definition for %s" + msgstr "自訂 %s 的定義" + +-#: gio/gdrive.c:417 ++#: ../gio/gdrive.c:419 + msgid "drive doesn’t implement eject" + msgstr "裝置無法實作退出功能(eject)" + + #. Translators: This is an error + #. * message for drive objects that + #. * don't implement any of eject or eject_with_operation. +-#: gio/gdrive.c:495 ++#: ../gio/gdrive.c:497 + msgid "drive doesn’t implement eject or eject_with_operation" + msgstr "裝置無法實作退出功能(eject) 或 eject_with_operation" + +-#: gio/gdrive.c:571 ++#: ../gio/gdrive.c:573 + msgid "drive doesn’t implement polling for media" + msgstr "裝置無法實作媒體的輪詢" + +-#: gio/gdrive.c:778 ++#: ../gio/gdrive.c:780 + msgid "drive doesn’t implement start" + msgstr "裝置無法實作啟動功能(start)" + +-#: gio/gdrive.c:880 ++#: ../gio/gdrive.c:882 + msgid "drive doesn’t implement stop" + msgstr "裝置無法實作停止功能(stop)" + +-#: gio/gdtlsconnection.c:1120 gio/gtlsconnection.c:921 ++#: ../gio/gdtlsconnection.c:1188 ../gio/gtlsconnection.c:957 + msgid "TLS backend does not implement TLS binding retrieval" + msgstr "TLS 後端沒有實作 TLS 綁定擷取" + +-#: gio/gdummytlsbackend.c:195 gio/gdummytlsbackend.c:321 +-#: gio/gdummytlsbackend.c:513 ++#: ../gio/gdummytlsbackend.c:197 ../gio/gdummytlsbackend.c:323 ++#: ../gio/gdummytlsbackend.c:515 + msgid "TLS support is not available" + msgstr "TLS 支援無法使用" + +-#: gio/gdummytlsbackend.c:423 ++#: ../gio/gdummytlsbackend.c:425 + msgid "DTLS support is not available" + msgstr "DTLS 支援無法使用" + +-#: gio/gemblem.c:323 ++#: ../gio/gemblem.c:325 + #, c-format + msgid "Can’t handle version %d of GEmblem encoding" + msgstr "不能處理版本為 %d 的 GEmblem 編碼" + +-#: gio/gemblem.c:333 ++#: ../gio/gemblem.c:335 + #, c-format + msgid "Malformed number of tokens (%d) in GEmblem encoding" + msgstr "GEmblem 編碼中記號 (%d) 的數量格式不正確" + +-#: gio/gemblemedicon.c:362 ++#: ../gio/gemblemedicon.c:364 + #, c-format + msgid "Can’t handle version %d of GEmblemedIcon encoding" + msgstr "不能處理版本為 %d 的 GEmblemedIcon 編碼" + +-#: gio/gemblemedicon.c:372 ++#: ../gio/gemblemedicon.c:374 + #, c-format + msgid "Malformed number of tokens (%d) in GEmblemedIcon encoding" + msgstr "GEmblemedIcon 編碼中記號 (%d) 的數量格式不正確" + +-#: gio/gemblemedicon.c:395 ++#: ../gio/gemblemedicon.c:397 + msgid "Expected a GEmblem for GEmblemedIcon" + msgstr "預期為 GEmblemedIcon 的 GEmblem" + +-#: gio/gfile.c:1044 gio/gfile.c:1282 gio/gfile.c:1420 gio/gfile.c:1658 +-#: gio/gfile.c:1713 gio/gfile.c:1771 gio/gfile.c:1855 gio/gfile.c:1912 +-#: gio/gfile.c:1976 gio/gfile.c:2031 gio/gfile.c:3722 gio/gfile.c:3777 +-#: gio/gfile.c:4070 gio/gfile.c:4540 gio/gfile.c:4951 gio/gfile.c:5036 +-#: gio/gfile.c:5126 gio/gfile.c:5223 gio/gfile.c:5310 gio/gfile.c:5411 +-#: gio/gfile.c:8121 gio/gfile.c:8211 gio/gfile.c:8295 +-#: gio/win32/gwinhttpfile.c:453 +-msgid "Operation not supported" +-msgstr "不支援的操作" +- + #. Translators: This is an error message when + #. * trying to find the enclosing (user visible) + #. * mount of a file, but none exists. + #. +-#: gio/gfile.c:1543 ++#: ../gio/gfile.c:1627 + msgid "Containing mount does not exist" + msgstr "包含了不存在的掛載點" + +-#: gio/gfile.c:2590 gio/glocalfile.c:2430 ++#: ../gio/gfile.c:2674 ../gio/glocalfile.c:2528 + msgid "Can’t copy over directory" + msgstr "不能複製整個目錄" + +-#: gio/gfile.c:2650 ++#: ../gio/gfile.c:2734 + msgid "Can’t copy directory over directory" + msgstr "不能將目錄複製到目錄上" + +-#: gio/gfile.c:2658 ++#: ../gio/gfile.c:2742 + msgid "Target file exists" + msgstr "目標檔案已存在" + +-#: gio/gfile.c:2677 ++#: ../gio/gfile.c:2761 + msgid "Can’t recursively copy directory" + msgstr "不能遞廻複製目錄" + +-#: gio/gfile.c:2952 +-msgid "Splice not supported" +-msgstr "不支援拼接" ++#: ../gio/gfile.c:3070 ../gio/gfile.c:3118 ++#, fuzzy, c-format ++msgid "Copy file range not supported" ++msgstr "不支援的操作" + +-#: gio/gfile.c:2956 gio/gfile.c:3001 ++#: ../gio/gfile.c:3076 ../gio/gfile.c:3187 + #, c-format + msgid "Error splicing file: %s" + msgstr "拼接檔案時發生錯誤:%s" + +-#: gio/gfile.c:3117 ++#: ../gio/gfile.c:3183 ++msgid "Splice not supported" ++msgstr "不支援拼接" ++ ++#: ../gio/gfile.c:3347 + msgid "Copy (reflink/clone) between mounts is not supported" + msgstr "不支援在掛載點之間複製 (參照連結/重製)" + +-#: gio/gfile.c:3121 ++#: ../gio/gfile.c:3351 + msgid "Copy (reflink/clone) is not supported or invalid" + msgstr "複製 (參照連結/重製) 不支援或無效" + +-#: gio/gfile.c:3126 ++#: ../gio/gfile.c:3356 + msgid "Copy (reflink/clone) is not supported or didn’t work" + msgstr "複製 (參照連結/重製) 不支援或無法運作" + +-#: gio/gfile.c:3190 ++#: ../gio/gfile.c:3421 + msgid "Can’t copy special file" + msgstr "不能複製特殊的檔案" + +-#: gio/gfile.c:4003 ++#: ../gio/gfile.c:3727 ++msgid "" ++"The file is too large, the fat format file system only supports files within " ++"4G,can be imported in device after compression" ++msgstr "" ++ ++#: ../gio/gfile.c:3954 ++msgid "" ++"The file is too large, the fat format file system only supports files within " ++"4G,can be moved in device after compression" ++msgstr "" ++ ++#: ../gio/gfile.c:4384 + msgid "Invalid symlink value given" + msgstr "提供了無效的符號連結值" + +-#: gio/gfile.c:4013 glib/gfileutils.c:2349 ++#: ../gio/gfile.c:4394 ../glib/gfileutils.c:2392 + msgid "Symbolic links not supported" + msgstr "不支援符號連結" + +-#: gio/gfile.c:4181 ++#: ../gio/gfile.c:4681 + msgid "Trash not supported" + msgstr "不支援垃圾桶" + +-#: gio/gfile.c:4293 ++#: ../gio/gfile.c:4793 + #, c-format + msgid "File names cannot contain “%c”" + msgstr "檔案名稱不能包含「%c」" + +-#: gio/gfile.c:6774 gio/gvolume.c:364 ++#: ../gio/gfile.c:7225 ../gio/gfile.c:7351 ++#, fuzzy, c-format ++msgid "Failed to create a temporary directory for template “%s”: %s" ++msgstr "無法進入目錄「%s」(%s)" ++ ++#: ../gio/gfile.c:7669 ../gio/gvolume.c:366 + msgid "volume doesn’t implement mount" + msgstr "儲存區尚未實作掛載功能" + +-#: gio/gfile.c:6888 gio/gfile.c:6936 ++#: ../gio/gfile.c:7783 ../gio/gfile.c:7860 + msgid "No application is registered as handling this file" + msgstr "沒有應用程式註冊為用以處理這個檔案" + +-#: gio/gfileenumerator.c:212 ++#: ../gio/gfileenumerator.c:214 + msgid "Enumerator is closed" + msgstr "檔案列舉器(enumerator)已關閉" + +-#: gio/gfileenumerator.c:219 gio/gfileenumerator.c:278 +-#: gio/gfileenumerator.c:377 gio/gfileenumerator.c:476 ++#: ../gio/gfileenumerator.c:221 ../gio/gfileenumerator.c:280 ++#: ../gio/gfileenumerator.c:425 ../gio/gfileenumerator.c:525 + msgid "File enumerator has outstanding operation" + msgstr "檔案列舉器(enumerator)有異常操作" + +-#: gio/gfileenumerator.c:368 gio/gfileenumerator.c:467 ++#: ../gio/gfileenumerator.c:416 ../gio/gfileenumerator.c:516 + msgid "File enumerator is already closed" + msgstr "檔案列舉器(enumerator)已經關閉" + +-#: gio/gfileicon.c:236 ++#: ../gio/gfileicon.c:252 + #, c-format + msgid "Can’t handle version %d of GFileIcon encoding" + msgstr "不能處理版本為 %d 的 GFileIcon 編碼" + +-#: gio/gfileicon.c:246 ++#: ../gio/gfileicon.c:262 + msgid "Malformed input data for GFileIcon" + msgstr "給 GFileIcon 的輸入資料格式不良" + +-#: gio/gfileinputstream.c:149 gio/gfileinputstream.c:394 +-#: gio/gfileiostream.c:167 gio/gfileoutputstream.c:164 +-#: gio/gfileoutputstream.c:497 ++#: ../gio/gfileinputstream.c:151 ../gio/gfileinputstream.c:397 ++#: ../gio/gfileiostream.c:169 ../gio/gfileoutputstream.c:166 ++#: ../gio/gfileoutputstream.c:499 + msgid "Stream doesn’t support query_info" + msgstr "串流不支援 query_info" + +-#: gio/gfileinputstream.c:325 gio/gfileiostream.c:379 +-#: gio/gfileoutputstream.c:371 ++#: ../gio/gfileinputstream.c:328 ../gio/gfileiostream.c:382 ++#: ../gio/gfileoutputstream.c:373 + msgid "Seek not supported on stream" + msgstr "不支援在串流中搜尋" + +-#: gio/gfileinputstream.c:369 ++#: ../gio/gfileinputstream.c:372 + msgid "Truncate not allowed on input stream" + msgstr "在輸入串流中不允許截短(truncate)" + +-#: gio/gfileiostream.c:455 gio/gfileoutputstream.c:447 ++#: ../gio/gfileiostream.c:458 ../gio/gfileoutputstream.c:449 + msgid "Truncate not supported on stream" + msgstr "在串流中不支援截短(truncate)" + +-#: gio/ghttpproxy.c:91 gio/gresolver.c:443 gio/gresolver.c:596 +-#: glib/gconvert.c:1778 ++#: ../gio/ghttpproxy.c:93 ../gio/gresolver.c:535 ../gio/gresolver.c:688 ++#: ../glib/gconvert.c:1842 + msgid "Invalid hostname" + msgstr "主機名稱無效" + +-#: gio/ghttpproxy.c:143 ++#: ../gio/ghttpproxy.c:145 + msgid "Bad HTTP proxy reply" + msgstr "錯誤的 HTTP 代理伺服器回應" + +-#: gio/ghttpproxy.c:159 ++#: ../gio/ghttpproxy.c:161 + msgid "HTTP proxy connection not allowed" + msgstr "HTTP 代理伺服器連線不允許" + +-#: gio/ghttpproxy.c:164 ++#: ../gio/ghttpproxy.c:166 + msgid "HTTP proxy authentication failed" + msgstr "HTTP 代理伺服器核對失敗" + +-#: gio/ghttpproxy.c:167 ++#: ../gio/ghttpproxy.c:169 + msgid "HTTP proxy authentication required" + msgstr "HTTP 代理伺服器需要核對" + +-#: gio/ghttpproxy.c:171 ++#: ../gio/ghttpproxy.c:173 + #, c-format + msgid "HTTP proxy connection failed: %i" + msgstr "HTTP 代理伺服器連線失敗:%i" + +-#: gio/ghttpproxy.c:269 ++#: ../gio/ghttpproxy.c:268 ++#, fuzzy ++msgid "HTTP proxy response too big" ++msgstr "HTTP 代理伺服器連線失敗:%i" ++ ++#: ../gio/ghttpproxy.c:285 + msgid "HTTP proxy server closed connection unexpectedly." + msgstr "HTTP 代理伺服器未預期關閉連線。" + +-#: gio/gicon.c:298 ++#: ../gio/gicon.c:299 + #, c-format + msgid "Wrong number of tokens (%d)" + msgstr "記號數量 (%d) 錯誤" + +-#: gio/gicon.c:318 ++#: ../gio/gicon.c:319 + #, c-format + msgid "No type for class name %s" + msgstr "類別名稱 %s 沒有類型" + +-#: gio/gicon.c:328 ++#: ../gio/gicon.c:329 + #, c-format + msgid "Type %s does not implement the GIcon interface" + msgstr "類型 %s 沒有實作 GIcon 介面" + +-#: gio/gicon.c:339 ++#: ../gio/gicon.c:340 + #, c-format + msgid "Type %s is not classed" + msgstr "類型 %s 尚未歸類" + +-#: gio/gicon.c:353 ++#: ../gio/gicon.c:354 + #, c-format + msgid "Malformed version number: %s" + msgstr "格式不良的版本號碼:%s" + +-#: gio/gicon.c:367 ++#: ../gio/gicon.c:368 + #, c-format + msgid "Type %s does not implement from_tokens() on the GIcon interface" + msgstr "類型 %s 沒有實作 GIcon 介面的 from_tokens()" + +-#: gio/gicon.c:469 ++#: ../gio/gicon.c:470 + msgid "Can’t handle the supplied version of the icon encoding" + msgstr "不能處理提供的圖示編碼版本" + +-#: gio/ginetaddressmask.c:182 ++#: ../gio/ginetaddressmask.c:184 + msgid "No address specified" + msgstr "尚未指定位址" + +-#: gio/ginetaddressmask.c:190 ++#: ../gio/ginetaddressmask.c:192 + #, c-format + msgid "Length %u is too long for address" + msgstr "長度 %u 對位址來說太長了" + +-#: gio/ginetaddressmask.c:223 ++#: ../gio/ginetaddressmask.c:225 + msgid "Address has bits set beyond prefix length" + msgstr "位址在 prefix length 後有位元設定" + +-#: gio/ginetaddressmask.c:300 ++#: ../gio/ginetaddressmask.c:302 + #, c-format + msgid "Could not parse “%s” as IP address mask" + msgstr "無法解析「%s」做為 IP 位址遮罩" + +-#: gio/ginetsocketaddress.c:203 gio/ginetsocketaddress.c:220 +-#: gio/gnativesocketaddress.c:109 gio/gunixsocketaddress.c:220 ++#: ../gio/ginetsocketaddress.c:205 ../gio/ginetsocketaddress.c:222 ++#: ../gio/gnativesocketaddress.c:111 ../gio/gunixsocketaddress.c:230 + msgid "Not enough space for socket address" + msgstr "socket 位址沒有足夠的空間" + +-#: gio/ginetsocketaddress.c:235 ++#: ../gio/ginetsocketaddress.c:237 + msgid "Unsupported socket address" + msgstr "不支援的 socket 位址" + +-#: gio/ginputstream.c:188 ++#: ../gio/ginputstream.c:190 + msgid "Input stream doesn’t implement read" + msgstr "輸入串流尚未實作讀取" + +@@ -1515,122 +1631,130 @@ msgstr "輸入串流尚未實作讀取" + #. Translators: This is an error you get if there is + #. * already an operation running against this stream when + #. * you try to start one +-#: gio/ginputstream.c:1218 gio/giostream.c:310 gio/goutputstream.c:2208 ++#: ../gio/ginputstream.c:1256 ../gio/giostream.c:312 ++#: ../gio/goutputstream.c:2218 + msgid "Stream has outstanding operation" + msgstr "串流有異常操作" + +-#: gio/gio-tool.c:160 ++#: ../gio/gio-tool.c:162 + msgid "Copy with file" + msgstr "複製檔案" + +-#: gio/gio-tool.c:164 ++#: ../gio/gio-tool.c:166 + msgid "Keep with file when moved" + msgstr "移動時保持檔案" + +-#: gio/gio-tool.c:205 ++#: ../gio/gio-tool.c:207 + msgid "“version” takes no arguments" + msgstr "「version」不需要引數" + +-#: gio/gio-tool.c:207 gio/gio-tool.c:223 glib/goption.c:869 ++#: ../gio/gio-tool.c:209 ../gio/gio-tool.c:225 ../glib/goption.c:871 + msgid "Usage:" + msgstr "用法:" + +-#: gio/gio-tool.c:210 ++#: ../gio/gio-tool.c:212 + msgid "Print version information and exit." + msgstr "輸出版本資訊並離開。" + +-#: gio/gio-tool.c:226 ++#: ../gio/gio-tool.c:228 + msgid "Commands:" + msgstr "指令:" + +-#: gio/gio-tool.c:229 ++#: ../gio/gio-tool.c:231 + msgid "Concatenate files to standard output" + msgstr "將檔案連接並顯示至標準輸出" + +-#: gio/gio-tool.c:230 ++#: ../gio/gio-tool.c:232 + msgid "Copy one or more files" + msgstr "複製一或多個檔案" + +-#: gio/gio-tool.c:231 ++#: ../gio/gio-tool.c:233 + msgid "Show information about locations" + msgstr "顯示位置的相關資訊" + +-#: gio/gio-tool.c:232 ++#: ../gio/gio-tool.c:234 ++#, fuzzy ++msgid "Launch an application from a desktop file" ++msgstr "列出應用程式的靜態動作 (從 .desktop 檔案)" ++ ++#: ../gio/gio-tool.c:235 + msgid "List the contents of locations" + msgstr "列出位置的內容" + +-#: gio/gio-tool.c:233 ++#: ../gio/gio-tool.c:236 + msgid "Get or set the handler for a mimetype" + msgstr "取得或設定 MIME 類型的處理程式" + +-#: gio/gio-tool.c:234 ++#: ../gio/gio-tool.c:237 + msgid "Create directories" + msgstr "建立目錄" + +-#: gio/gio-tool.c:235 ++#: ../gio/gio-tool.c:238 + msgid "Monitor files and directories for changes" + msgstr "監控檔案與目錄的變更" + +-#: gio/gio-tool.c:236 ++#: ../gio/gio-tool.c:239 + msgid "Mount or unmount the locations" + msgstr "掛載或卸載位置" + +-#: gio/gio-tool.c:237 ++#: ../gio/gio-tool.c:240 + msgid "Move one or more files" + msgstr "移動一個或多個檔案" + +-#: gio/gio-tool.c:238 ++#: ../gio/gio-tool.c:241 + msgid "Open files with the default application" + msgstr "以預設的應用程式開啟檔案" + +-#: gio/gio-tool.c:239 ++#: ../gio/gio-tool.c:242 + msgid "Rename a file" + msgstr "重新命名檔案" + +-#: gio/gio-tool.c:240 ++#: ../gio/gio-tool.c:243 + msgid "Delete one or more files" + msgstr "刪除一個或多個檔案" + +-#: gio/gio-tool.c:241 ++#: ../gio/gio-tool.c:244 + msgid "Read from standard input and save" + msgstr "從標準輸入讀取並儲存" + +-#: gio/gio-tool.c:242 ++#: ../gio/gio-tool.c:245 + msgid "Set a file attribute" + msgstr "設定檔案特性" + +-#: gio/gio-tool.c:243 ++#: ../gio/gio-tool.c:246 + msgid "Move files or directories to the trash" + msgstr "將檔案或目錄移至垃圾桶" + +-#: gio/gio-tool.c:244 ++#: ../gio/gio-tool.c:247 + msgid "Lists the contents of locations in a tree" + msgstr "以樹狀圖列出位置的內容" + +-#: gio/gio-tool.c:246 ++#: ../gio/gio-tool.c:249 + #, c-format + msgid "Use %s to get detailed help.\n" + msgstr "使用 %s 以取得詳細的求助。\n" + +-#: gio/gio-tool-cat.c:87 ++#: ../gio/gio-tool-cat.c:89 + msgid "Error writing to stdout" + msgstr "寫入至標準輸出時發生錯誤" + + #. Translators: commandline placeholder +-#: gio/gio-tool-cat.c:133 gio/gio-tool-info.c:333 gio/gio-tool-list.c:172 +-#: gio/gio-tool-mkdir.c:48 gio/gio-tool-monitor.c:37 gio/gio-tool-monitor.c:39 +-#: gio/gio-tool-monitor.c:41 gio/gio-tool-monitor.c:43 +-#: gio/gio-tool-monitor.c:203 gio/gio-tool-mount.c:1199 gio/gio-tool-open.c:70 +-#: gio/gio-tool-remove.c:48 gio/gio-tool-rename.c:45 gio/gio-tool-set.c:89 +-#: gio/gio-tool-trash.c:90 gio/gio-tool-tree.c:239 ++#: ../gio/gio-tool-cat.c:135 ../gio/gio-tool-info.c:382 ++#: ../gio/gio-tool-list.c:176 ../gio/gio-tool-mkdir.c:50 ++#: ../gio/gio-tool-monitor.c:39 ../gio/gio-tool-monitor.c:41 ++#: ../gio/gio-tool-monitor.c:43 ../gio/gio-tool-monitor.c:45 ++#: ../gio/gio-tool-monitor.c:206 ../gio/gio-tool-mount.c:1236 ++#: ../gio/gio-tool-open.c:72 ../gio/gio-tool-remove.c:50 ++#: ../gio/gio-tool-rename.c:47 ../gio/gio-tool-set.c:95 ++#: ../gio/gio-tool-trash.c:222 ../gio/gio-tool-tree.c:246 + msgid "LOCATION" + msgstr "LOCATION" + +-#: gio/gio-tool-cat.c:138 ++#: ../gio/gio-tool-cat.c:140 + msgid "Concatenate files and print to standard output." + msgstr "將檔案連接並顯示至標準輸出。" + +-#: gio/gio-tool-cat.c:140 ++#: ../gio/gio-tool-cat.c:142 + msgid "" + "gio cat works just like the traditional cat utility, but using GIO\n" + "locations instead of local files: for example, you can use something\n" +@@ -1640,60 +1764,63 @@ msgstr "" + "位置來取代本地端檔案:例如您可以使用類似\n" + " smb://server/resource/file.txt 做為位置。" + +-#: gio/gio-tool-cat.c:162 gio/gio-tool-info.c:364 gio/gio-tool-mkdir.c:76 +-#: gio/gio-tool-monitor.c:228 gio/gio-tool-mount.c:1250 gio/gio-tool-open.c:96 +-#: gio/gio-tool-remove.c:72 gio/gio-tool-trash.c:145 ++#: ../gio/gio-tool-cat.c:164 ../gio/gio-tool-info.c:413 ++#: ../gio/gio-tool-mkdir.c:78 ../gio/gio-tool-monitor.c:231 ++#: ../gio/gio-tool-mount.c:1287 ../gio/gio-tool-open.c:98 ++#: ../gio/gio-tool-remove.c:74 ../gio/gio-tool-trash.c:303 + msgid "No locations given" + msgstr "未提供位置" + +-#: gio/gio-tool-copy.c:43 gio/gio-tool-move.c:38 ++#: ../gio/gio-tool-copy.c:45 ../gio/gio-tool-move.c:40 + msgid "No target directory" + msgstr "不是目標目錄" + +-#: gio/gio-tool-copy.c:44 gio/gio-tool-move.c:39 ++#: ../gio/gio-tool-copy.c:46 ../gio/gio-tool-move.c:41 + msgid "Show progress" + msgstr "顯示進度" + +-#: gio/gio-tool-copy.c:45 gio/gio-tool-move.c:40 ++#: ../gio/gio-tool-copy.c:47 ../gio/gio-tool-move.c:42 + msgid "Prompt before overwrite" + msgstr "在覆蓋前提示" + +-#: gio/gio-tool-copy.c:46 ++#: ../gio/gio-tool-copy.c:48 + msgid "Preserve all attributes" + msgstr "保留所有特性" + +-#: gio/gio-tool-copy.c:47 gio/gio-tool-move.c:41 gio/gio-tool-save.c:49 ++#: ../gio/gio-tool-copy.c:49 ../gio/gio-tool-move.c:43 ++#: ../gio/gio-tool-save.c:51 + msgid "Backup existing destination files" + msgstr "備份既有的目的檔案" + +-#: gio/gio-tool-copy.c:48 ++#: ../gio/gio-tool-copy.c:50 + msgid "Never follow symbolic links" + msgstr "永不追蹤符號連結" + +-#: gio/gio-tool-copy.c:49 ++#: ../gio/gio-tool-copy.c:51 + msgid "Use default permissions for the destination" + msgstr "目的地使用預設權限" + +-#: gio/gio-tool-copy.c:74 gio/gio-tool-move.c:67 ++#: ../gio/gio-tool-copy.c:76 ../gio/gio-tool-move.c:69 + #, c-format + msgid "Transferred %s out of %s (%s/s)" + msgstr "已傳輸 %s / %s (%s/s)" + + #. Translators: commandline placeholder +-#: gio/gio-tool-copy.c:100 gio/gio-tool-move.c:94 ++#: ../gio/gio-tool-copy.c:102 ../gio/gio-tool-move.c:96 + msgid "SOURCE" + msgstr "SOURCE" + + #. Translators: commandline placeholder +-#: gio/gio-tool-copy.c:100 gio/gio-tool-move.c:94 gio/gio-tool-save.c:160 ++#: ../gio/gio-tool-copy.c:102 ../gio/gio-tool-move.c:96 ++#: ../gio/gio-tool-save.c:162 + msgid "DESTINATION" + msgstr "DESTINATION" + +-#: gio/gio-tool-copy.c:105 ++#: ../gio/gio-tool-copy.c:107 + msgid "Copy one or more files from SOURCE to DESTINATION." + msgstr "將一或多個檔案從 SOURCE 複製到 DESTINATION。" + +-#: gio/gio-tool-copy.c:107 ++#: ../gio/gio-tool-copy.c:109 + msgid "" + "gio copy is similar to the traditional cp utility, but using GIO\n" + "locations instead of local files: for example, you can use something\n" +@@ -1703,98 +1830,103 @@ msgstr "" + "位置來取代本地端檔案:例如您可以使用類似\n" + " smb://server/resource/file.txt 做為位置。" + +-#: gio/gio-tool-copy.c:149 ++#: ../gio/gio-tool-copy.c:151 + #, c-format + msgid "Destination %s is not a directory" + msgstr "目的端 %s 不是一個目錄" + +-#: gio/gio-tool-copy.c:196 gio/gio-tool-move.c:186 ++#: ../gio/gio-tool-copy.c:198 ../gio/gio-tool-move.c:188 + #, c-format + msgid "%s: overwrite “%s”? " + msgstr "%s:覆寫「%s」?" + +-#: gio/gio-tool-info.c:37 ++#: ../gio/gio-tool-info.c:39 + msgid "List writable attributes" + msgstr "列出可寫特性" + +-#: gio/gio-tool-info.c:38 ++#: ../gio/gio-tool-info.c:40 + msgid "Get file system info" + msgstr "取得檔案系統資訊" + +-#: gio/gio-tool-info.c:39 gio/gio-tool-list.c:36 ++#: ../gio/gio-tool-info.c:41 ../gio/gio-tool-list.c:37 + msgid "The attributes to get" + msgstr "要取得的特性" + +-#: gio/gio-tool-info.c:39 gio/gio-tool-list.c:36 ++#: ../gio/gio-tool-info.c:41 ../gio/gio-tool-list.c:37 + msgid "ATTRIBUTES" + msgstr "ATTRIBUTES" + +-#: gio/gio-tool-info.c:40 gio/gio-tool-list.c:39 gio/gio-tool-set.c:34 ++#: ../gio/gio-tool-info.c:42 ../gio/gio-tool-list.c:40 ../gio/gio-tool-set.c:37 + msgid "Don’t follow symbolic links" + msgstr "不要追蹤符號連結" + +-#: gio/gio-tool-info.c:78 ++#: ../gio/gio-tool-info.c:105 ++#, c-format + msgid "attributes:\n" + msgstr "特性:\n" + + #. Translators: This is a noun and represents and attribute of a file +-#: gio/gio-tool-info.c:134 ++#: ../gio/gio-tool-info.c:166 + #, c-format + msgid "display name: %s\n" + msgstr "顯示名稱:%s\n" + + #. Translators: This is a noun and represents and attribute of a file +-#: gio/gio-tool-info.c:139 ++#: ../gio/gio-tool-info.c:176 + #, c-format + msgid "edit name: %s\n" + msgstr "編輯名稱:%s\n" + +-#: gio/gio-tool-info.c:145 ++#: ../gio/gio-tool-info.c:184 + #, c-format + msgid "name: %s\n" + msgstr "名稱:%s\n" + +-#: gio/gio-tool-info.c:152 ++#: ../gio/gio-tool-info.c:191 + #, c-format + msgid "type: %s\n" + msgstr "類型:%s\n" + +-#: gio/gio-tool-info.c:158 ++#: ../gio/gio-tool-info.c:197 ++#, c-format + msgid "size: " + msgstr "大小:" + +-#: gio/gio-tool-info.c:163 ++#: ../gio/gio-tool-info.c:203 ++#, c-format + msgid "hidden\n" + msgstr "隱藏\n" + +-#: gio/gio-tool-info.c:166 ++#: ../gio/gio-tool-info.c:206 + #, c-format + msgid "uri: %s\n" + msgstr "uri: %s\n" + +-#: gio/gio-tool-info.c:172 ++#: ../gio/gio-tool-info.c:213 + #, c-format + msgid "local path: %s\n" + msgstr "本機路徑:%s\n" + +-#: gio/gio-tool-info.c:199 ++#: ../gio/gio-tool-info.c:247 + #, c-format + msgid "unix mount: %s%s %s %s %s\n" + msgstr "unix 掛載:%s%s %s %s %s\n" + +-#: gio/gio-tool-info.c:279 ++#: ../gio/gio-tool-info.c:328 ++#, c-format + msgid "Settable attributes:\n" + msgstr "可設定特性:\n" + +-#: gio/gio-tool-info.c:303 ++#: ../gio/gio-tool-info.c:352 ++#, c-format + msgid "Writable attribute namespaces:\n" + msgstr "可寫入特性命名空間:\n" + +-#: gio/gio-tool-info.c:338 ++#: ../gio/gio-tool-info.c:387 + msgid "Show information about locations." + msgstr "顯示位置的相關資訊。" + +-#: gio/gio-tool-info.c:340 ++#: ../gio/gio-tool-info.c:389 + msgid "" + "gio info is similar to the traditional ls utility, but using GIO\n" + "locations instead of local files: for example, you can use something\n" +@@ -1808,27 +1940,63 @@ msgstr "" + "特性可以使用它們的 GIO 名稱來指定,如 standard::icon\n" + "或只使用命名空間,像 unix,或「*」比對所有的屬性" + +-#: gio/gio-tool-list.c:37 gio/gio-tool-tree.c:32 ++#. Translators: commandline placeholder ++#: ../gio/gio-tool-launch.c:56 ++msgid "DESKTOP-FILE [FILE-ARG …]" ++msgstr "" ++ ++#: ../gio/gio-tool-launch.c:59 ++msgid "" ++"Launch an application from a desktop file, passing optional filename " ++"arguments to it." ++msgstr "" ++ ++#: ../gio/gio-tool-launch.c:79 ++#, fuzzy ++msgid "No desktop file given" ++msgstr "尚未指定檔案" ++ ++#: ../gio/gio-tool-launch.c:87 ++#, fuzzy ++msgid "The launch command is not currently supported on this platform" ++msgstr "您的平臺沒有 GCredentials 支援" ++ ++#: ../gio/gio-tool-launch.c:100 ++#, fuzzy, c-format ++msgid "Unable to load ‘%s‘: %s" ++msgstr "無法將檔案 %s 移至垃圾桶:%s" ++ ++#: ../gio/gio-tool-launch.c:109 ++#, fuzzy, c-format ++msgid "Unable to load application information for ‘%s‘" ++msgstr "無法載入處理程式「%s」的資訊" ++ ++#: ../gio/gio-tool-launch.c:121 ++#, fuzzy, c-format ++msgid "Unable to launch application ‘%s’: %s" ++msgstr "「%s」的預設應用程式:%s\n" ++ ++#: ../gio/gio-tool-list.c:38 ../gio/gio-tool-tree.c:34 + msgid "Show hidden files" + msgstr "顯示隱藏檔案" + +-#: gio/gio-tool-list.c:38 ++#: ../gio/gio-tool-list.c:39 + msgid "Use a long listing format" + msgstr "使用長式表列格式" + +-#: gio/gio-tool-list.c:40 ++#: ../gio/gio-tool-list.c:41 + msgid "Print display names" + msgstr "列印顯示名稱" + +-#: gio/gio-tool-list.c:41 ++#: ../gio/gio-tool-list.c:42 + msgid "Print full URIs" + msgstr "列印完整 URI" + +-#: gio/gio-tool-list.c:177 ++#: ../gio/gio-tool-list.c:181 + msgid "List the contents of the locations." + msgstr "列出位置的內容。" + +-#: gio/gio-tool-list.c:179 ++#: ../gio/gio-tool-list.c:183 + msgid "" + "gio list is similar to the traditional ls utility, but using GIO\n" + "locations instead of local files: for example, you can use something\n" +@@ -1841,19 +2009,19 @@ msgstr "" + "特性可以使用它們的 GIO 名稱來指定,如 standard::icon" + + #. Translators: commandline placeholder +-#: gio/gio-tool-mime.c:71 ++#: ../gio/gio-tool-mime.c:73 + msgid "MIMETYPE" + msgstr "MIMETYPE" + +-#: gio/gio-tool-mime.c:71 ++#: ../gio/gio-tool-mime.c:73 + msgid "HANDLER" + msgstr "HANDLER" + +-#: gio/gio-tool-mime.c:76 ++#: ../gio/gio-tool-mime.c:78 + msgid "Get or set the handler for a mimetype." + msgstr "取得或設定 MIME-類型的處理程式。" + +-#: gio/gio-tool-mime.c:78 ++#: ../gio/gio-tool-mime.c:80 + msgid "" + "If no handler is given, lists registered and recommended applications\n" + "for the mimetype. If a handler is given, it is set as the default\n" +@@ -1863,55 +2031,59 @@ msgstr "" + "如果有指定處理程式,會將它設定為此 MIME 類型的預設\n" + "處理程式。" + +-#: gio/gio-tool-mime.c:100 ++#: ../gio/gio-tool-mime.c:102 + msgid "Must specify a single mimetype, and maybe a handler" + msgstr "必須指定一個 MIME 類型,可能是一種處理程式" + +-#: gio/gio-tool-mime.c:116 ++#: ../gio/gio-tool-mime.c:118 + #, c-format + msgid "No default applications for “%s”\n" + msgstr "「%s」沒有預設的應用程式\n" + +-#: gio/gio-tool-mime.c:122 ++#: ../gio/gio-tool-mime.c:124 + #, c-format + msgid "Default application for “%s”: %s\n" + msgstr "「%s」的預設應用程式:%s\n" + +-#: gio/gio-tool-mime.c:127 ++#: ../gio/gio-tool-mime.c:129 ++#, c-format + msgid "Registered applications:\n" + msgstr "已註冊的應用程式:\n" + +-#: gio/gio-tool-mime.c:129 ++#: ../gio/gio-tool-mime.c:131 ++#, c-format + msgid "No registered applications\n" + msgstr "沒有註冊的應用程式\n" + +-#: gio/gio-tool-mime.c:140 ++#: ../gio/gio-tool-mime.c:142 ++#, c-format + msgid "Recommended applications:\n" + msgstr "建議的應用程式:\n" + +-#: gio/gio-tool-mime.c:142 ++#: ../gio/gio-tool-mime.c:144 ++#, c-format + msgid "No recommended applications\n" + msgstr "沒有建議的應用程式\n" + +-#: gio/gio-tool-mime.c:162 ++#: ../gio/gio-tool-mime.c:164 + #, c-format + msgid "Failed to load info for handler “%s”" + msgstr "無法載入處理程式「%s」的資訊" + +-#: gio/gio-tool-mime.c:168 ++#: ../gio/gio-tool-mime.c:170 + #, c-format + msgid "Failed to set “%s” as the default handler for “%s”: %s\n" + msgstr "無法將「%s」設定為「%s」的預設處理程式:%s\n" + +-#: gio/gio-tool-mkdir.c:31 ++#: ../gio/gio-tool-mkdir.c:33 + msgid "Create parent directories" + msgstr "建立上層目錄" + +-#: gio/gio-tool-mkdir.c:52 ++#: ../gio/gio-tool-mkdir.c:54 + msgid "Create directories." + msgstr "建立目錄。" + +-#: gio/gio-tool-mkdir.c:54 ++#: ../gio/gio-tool-mkdir.c:56 + msgid "" + "gio mkdir is similar to the traditional mkdir utility, but using GIO\n" + "locations instead of local files: for example, you can use something\n" +@@ -1921,132 +2093,132 @@ msgstr "" + "位置來取代本地端檔案:例如您可以使用類似\n" + " smb://server/resource/file.txt 做為位置。" + +-#: gio/gio-tool-monitor.c:37 ++#: ../gio/gio-tool-monitor.c:39 + msgid "Monitor a directory (default: depends on type)" + msgstr "監控目錄 (預設值︰取決於類型)" + +-#: gio/gio-tool-monitor.c:39 ++#: ../gio/gio-tool-monitor.c:41 + msgid "Monitor a file (default: depends on type)" + msgstr "監控檔案 (預設值︰取決於類型)" + +-#: gio/gio-tool-monitor.c:41 ++#: ../gio/gio-tool-monitor.c:43 + msgid "Monitor a file directly (notices changes made via hardlinks)" + msgstr "直接監控檔案 (透過硬連結來注意變更)" + +-#: gio/gio-tool-monitor.c:43 ++#: ../gio/gio-tool-monitor.c:45 + msgid "Monitors a file directly, but doesn’t report changes" + msgstr "直接監控檔案,但不回報變更" + +-#: gio/gio-tool-monitor.c:45 ++#: ../gio/gio-tool-monitor.c:47 + msgid "Report moves and renames as simple deleted/created events" + msgstr "回報移動與重新命名為簡單的刪除/建立事件" + +-#: gio/gio-tool-monitor.c:47 ++#: ../gio/gio-tool-monitor.c:49 + msgid "Watch for mount events" + msgstr "監看掛載事件" + +-#: gio/gio-tool-monitor.c:208 ++#: ../gio/gio-tool-monitor.c:211 + msgid "Monitor files or directories for changes." + msgstr "監控檔案或目錄的變更。" + +-#: gio/gio-tool-mount.c:63 ++#: ../gio/gio-tool-mount.c:65 + msgid "Mount as mountable" + msgstr "掛載為可掛載形式" + +-#: gio/gio-tool-mount.c:64 ++#: ../gio/gio-tool-mount.c:66 + msgid "Mount volume with device file, or other identifier" + msgstr "以裝置檔案或其他識別碼掛載儲存區" + +-#: gio/gio-tool-mount.c:64 ++#: ../gio/gio-tool-mount.c:66 + msgid "ID" + msgstr "ID" + +-#: gio/gio-tool-mount.c:65 ++#: ../gio/gio-tool-mount.c:67 + msgid "Unmount" + msgstr "卸載" + +-#: gio/gio-tool-mount.c:66 ++#: ../gio/gio-tool-mount.c:68 + msgid "Eject" + msgstr "退出" + +-#: gio/gio-tool-mount.c:67 ++#: ../gio/gio-tool-mount.c:69 + msgid "Stop drive with device file" + msgstr "以裝置檔案停止裝置" + +-#: gio/gio-tool-mount.c:67 ++#: ../gio/gio-tool-mount.c:69 + msgid "DEVICE" + msgstr "DEVICE" + +-#: gio/gio-tool-mount.c:68 ++#: ../gio/gio-tool-mount.c:70 + msgid "Unmount all mounts with the given scheme" + msgstr "以指定的方式卸載所有的掛載" + +-#: gio/gio-tool-mount.c:68 ++#: ../gio/gio-tool-mount.c:70 + msgid "SCHEME" + msgstr "SCHEME" + +-#: gio/gio-tool-mount.c:69 ++#: ../gio/gio-tool-mount.c:71 + msgid "Ignore outstanding file operations when unmounting or ejecting" + msgstr "在卸載或退出時忽略優先的檔案操作" + +-#: gio/gio-tool-mount.c:70 ++#: ../gio/gio-tool-mount.c:72 + msgid "Use an anonymous user when authenticating" + msgstr "核對時使用匿名使用者" + + #. Translator: List here is a verb as in 'List all mounts' +-#: gio/gio-tool-mount.c:72 ++#: ../gio/gio-tool-mount.c:74 + msgid "List" + msgstr "列出" + +-#: gio/gio-tool-mount.c:73 ++#: ../gio/gio-tool-mount.c:75 + msgid "Monitor events" + msgstr "監視事件" + +-#: gio/gio-tool-mount.c:74 ++#: ../gio/gio-tool-mount.c:76 + msgid "Show extra information" + msgstr "顯示額外的資訊" + +-#: gio/gio-tool-mount.c:75 ++#: ../gio/gio-tool-mount.c:77 + msgid "The numeric PIM when unlocking a VeraCrypt volume" + msgstr "解鎖 VeraCrypt 儲存區時的數字 PIM" + +-#: gio/gio-tool-mount.c:75 ++#: ../gio/gio-tool-mount.c:77 + msgid "PIM" + msgstr "PIM" + +-#: gio/gio-tool-mount.c:76 ++#: ../gio/gio-tool-mount.c:78 + msgid "Mount a TCRYPT hidden volume" + msgstr "掛載 TCRYPT 隱藏儲存區" + +-#: gio/gio-tool-mount.c:77 ++#: ../gio/gio-tool-mount.c:79 + msgid "Mount a TCRYPT system volume" + msgstr "隱藏 TCRYPT 系統儲存區" + +-#: gio/gio-tool-mount.c:265 gio/gio-tool-mount.c:297 ++#: ../gio/gio-tool-mount.c:276 ../gio/gio-tool-mount.c:308 + msgid "Anonymous access denied" + msgstr "匿名存取被拒" + +-#: gio/gio-tool-mount.c:522 ++#: ../gio/gio-tool-mount.c:559 + msgid "No drive for device file" + msgstr "裝置檔案沒有裝置" + +-#: gio/gio-tool-mount.c:1014 ++#: ../gio/gio-tool-mount.c:1051 + msgid "No volume for given ID" + msgstr "提供的 ID 沒有儲存區" + +-#: gio/gio-tool-mount.c:1203 ++#: ../gio/gio-tool-mount.c:1240 + msgid "Mount or unmount the locations." + msgstr "掛載或卸載位置。" + +-#: gio/gio-tool-move.c:42 ++#: ../gio/gio-tool-move.c:44 + msgid "Don’t use copy and delete fallback" + msgstr "不要使用複製與刪除回饋" + +-#: gio/gio-tool-move.c:99 ++#: ../gio/gio-tool-move.c:101 + msgid "Move one or more files from SOURCE to DEST." + msgstr "將一或多個檔案從 SOURCE 移動到 DEST。" + +-#: gio/gio-tool-move.c:101 ++#: ../gio/gio-tool-move.c:103 + msgid "" + "gio move is similar to the traditional mv utility, but using GIO\n" + "locations instead of local files: for example, you can use something\n" +@@ -2056,12 +2228,12 @@ msgstr "" + "位置來取代本地端檔案:例如您可以使用類似\n" + " smb://server/resource/file.txt 做為位置。" + +-#: gio/gio-tool-move.c:143 ++#: ../gio/gio-tool-move.c:145 + #, c-format + msgid "Target %s is not a directory" + msgstr "目標 %s 不是目錄" + +-#: gio/gio-tool-open.c:75 ++#: ../gio/gio-tool-open.c:77 + msgid "" + "Open files with the default application that\n" + "is registered to handle files of this type." +@@ -2069,161 +2241,205 @@ msgstr "" + "使用註冊為處理該檔案類型的\n" + "預設應用程式來開啟檔案。" + +-#: gio/gio-tool-remove.c:31 gio/gio-tool-trash.c:31 ++#: ../gio/gio-tool-remove.c:33 ../gio/gio-tool-trash.c:35 + msgid "Ignore nonexistent files, never prompt" + msgstr "忽略不存在的檔案,永不提示" + +-#: gio/gio-tool-remove.c:52 ++#: ../gio/gio-tool-remove.c:54 + msgid "Delete the given files." + msgstr "刪除指定的檔案。" + +-#: gio/gio-tool-rename.c:45 ++#: ../gio/gio-tool-rename.c:47 + msgid "NAME" + msgstr "NAME" + +-#: gio/gio-tool-rename.c:50 ++#: ../gio/gio-tool-rename.c:52 + msgid "Rename a file." + msgstr "重新命名檔案。" + +-#: gio/gio-tool-rename.c:70 ++#: ../gio/gio-tool-rename.c:72 + msgid "Missing argument" + msgstr "缺少引數" + +-#: gio/gio-tool-rename.c:76 gio/gio-tool-save.c:190 gio/gio-tool-set.c:137 ++#: ../gio/gio-tool-rename.c:78 ../gio/gio-tool-save.c:192 ++#: ../gio/gio-tool-set.c:150 + msgid "Too many arguments" + msgstr "引數太多" + +-#: gio/gio-tool-rename.c:95 ++#: ../gio/gio-tool-rename.c:97 + #, c-format + msgid "Rename successful. New uri: %s\n" + msgstr "重新命名成功。新的 URI:%s\n" + +-#: gio/gio-tool-save.c:50 ++#: ../gio/gio-tool-save.c:52 + msgid "Only create if not existing" + msgstr "只在不存在時建立" + +-#: gio/gio-tool-save.c:51 ++#: ../gio/gio-tool-save.c:53 + msgid "Append to end of file" + msgstr "添加到檔案的結尾" + +-#: gio/gio-tool-save.c:52 ++#: ../gio/gio-tool-save.c:54 + msgid "When creating, restrict access to the current user" + msgstr "當建立時,存取權僅限於目前的使用者" + +-#: gio/gio-tool-save.c:53 ++#: ../gio/gio-tool-save.c:55 + msgid "When replacing, replace as if the destination did not exist" + msgstr "在取代時,即使目的端不存在也取代" + + #. Translators: The "etag" is a token allowing to verify whether a file has been modified +-#: gio/gio-tool-save.c:55 ++#: ../gio/gio-tool-save.c:57 + msgid "Print new etag at end" + msgstr "在結尾列出新的 etag" + + #. Translators: The "etag" is a token allowing to verify whether a file has been modified +-#: gio/gio-tool-save.c:57 ++#: ../gio/gio-tool-save.c:59 + msgid "The etag of the file being overwritten" + msgstr "即將複蓋的檔案 etag" + +-#: gio/gio-tool-save.c:57 ++#: ../gio/gio-tool-save.c:59 + msgid "ETAG" + msgstr "ETAG" + +-#: gio/gio-tool-save.c:113 ++#: ../gio/gio-tool-save.c:115 + msgid "Error reading from standard input" + msgstr "從標準輸入讀取時發生錯誤" + + #. Translators: The "etag" is a token allowing to verify whether a file has been modified +-#: gio/gio-tool-save.c:139 ++#: ../gio/gio-tool-save.c:141 ++#, c-format + msgid "Etag not available\n" + msgstr "Etag 無法使用\n" + +-#: gio/gio-tool-save.c:163 ++#: ../gio/gio-tool-save.c:165 + msgid "Read from standard input and save to DEST." + msgstr "從標準輸入讀取並儲存到 DEST。" + +-#: gio/gio-tool-save.c:183 ++#: ../gio/gio-tool-save.c:185 + msgid "No destination given" + msgstr "沒有指定目的端" + +-#: gio/gio-tool-set.c:33 ++#: ../gio/gio-tool-set.c:36 + msgid "Type of the attribute" + msgstr "特性的類型" + +-#: gio/gio-tool-set.c:33 ++#: ../gio/gio-tool-set.c:36 + msgid "TYPE" + msgstr "TYPE" + +-#: gio/gio-tool-set.c:89 ++#: ../gio/gio-tool-set.c:38 ++#, fuzzy ++msgid "Unset given attribute" ++msgstr "設定檔案特性" ++ ++#: ../gio/gio-tool-set.c:95 + msgid "ATTRIBUTE" + msgstr "ATTRIBUTE" + +-#: gio/gio-tool-set.c:89 ++#: ../gio/gio-tool-set.c:95 + msgid "VALUE" + msgstr "VALUE" + +-#: gio/gio-tool-set.c:93 ++#: ../gio/gio-tool-set.c:99 + msgid "Set a file attribute of LOCATION." + msgstr "設定 LOCATION 的檔案特性。" + +-#: gio/gio-tool-set.c:113 ++#: ../gio/gio-tool-set.c:119 + msgid "Location not specified" + msgstr "尚未指定位置" + +-#: gio/gio-tool-set.c:120 ++#: ../gio/gio-tool-set.c:126 + msgid "Attribute not specified" + msgstr "尚未指定特性" + +-#: gio/gio-tool-set.c:130 ++#: ../gio/gio-tool-set.c:143 + msgid "Value not specified" + msgstr "尚未指定值" + +-#: gio/gio-tool-set.c:180 ++#: ../gio/gio-tool-set.c:193 + #, c-format + msgid "Invalid attribute type “%s”" + msgstr "無效的特性類型「%s」" + +-#: gio/gio-tool-trash.c:32 ++#: ../gio/gio-tool-trash.c:36 + msgid "Empty the trash" + msgstr "清理垃圾桶" + +-#: gio/gio-tool-trash.c:95 +-msgid "Move files or directories to the trash." ++#: ../gio/gio-tool-trash.c:37 ++#, fuzzy ++msgid "List files in the trash with their original locations" ++msgstr "列出位置的內容。" ++ ++#: ../gio/gio-tool-trash.c:38 ++msgid "" ++"Restore a file from trash to its original location (possibly recreating the " ++"directory)" ++msgstr "" ++ ++#: ../gio/gio-tool-trash.c:108 ++#, fuzzy ++msgid "Unable to find original path" ++msgstr "無法找到應用程式要求的終端機" ++ ++#: ../gio/gio-tool-trash.c:125 ++#, fuzzy ++msgid "Unable to recreate original location: " ++msgstr "無法建立 socket:%s" ++ ++#: ../gio/gio-tool-trash.c:138 ++#, fuzzy ++msgid "Unable to move file to its original location: " ++msgstr "無法找到應用程式的桌面檔案 %s\n" ++ ++#: ../gio/gio-tool-trash.c:227 ++#, fuzzy ++msgid "Move/Restore files or directories to the trash." + msgstr "將檔案或目錄移至垃圾桶。" + +-#: gio/gio-tool-tree.c:33 ++#: ../gio/gio-tool-trash.c:229 ++msgid "" ++"Note: for --restore switch, if the original location of the trashed file \n" ++"already exists, it will not be overwritten unless --force is set." ++msgstr "" ++ ++#: ../gio/gio-tool-trash.c:260 ++msgid "Location given doesn't start with trash:///" ++msgstr "" ++ ++#: ../gio/gio-tool-tree.c:35 + msgid "Follow symbolic links, mounts and shortcuts" + msgstr "追蹤符號連結、掛載和捷徑" + +-#: gio/gio-tool-tree.c:244 ++#: ../gio/gio-tool-tree.c:251 + msgid "List contents of directories in a tree-like format." + msgstr "以樹狀格式列出目錄的內容。" + +-#: gio/glib-compile-resources.c:140 gio/glib-compile-schemas.c:1514 ++#: ../gio/glib-compile-resources.c:142 ../gio/glib-compile-schemas.c:1518 + #, c-format + msgid "Element <%s> not allowed inside <%s>" + msgstr "<%s> 元素不可出現在 <%s> 之內" + +-#: gio/glib-compile-resources.c:144 ++#: ../gio/glib-compile-resources.c:146 + #, c-format + msgid "Element <%s> not allowed at toplevel" + msgstr "<%s> 元素不允許在頂端層級" + +-#: gio/glib-compile-resources.c:234 ++#: ../gio/glib-compile-resources.c:236 + #, c-format + msgid "File %s appears multiple times in the resource" + msgstr "檔案 %s 似乎在這個資源出出現多次" + +-#: gio/glib-compile-resources.c:245 ++#: ../gio/glib-compile-resources.c:247 + #, c-format + msgid "Failed to locate “%s” in any source directory" + msgstr "無法在任何來源目錄中定位「%s」" + +-#: gio/glib-compile-resources.c:256 ++#: ../gio/glib-compile-resources.c:258 + #, c-format + msgid "Failed to locate “%s” in current directory" + msgstr "無法在目前的目錄中定位「%s」" + +-#: gio/glib-compile-resources.c:290 ++#: ../gio/glib-compile-resources.c:292 + #, c-format + msgid "Unknown processing option “%s”" + msgstr "不明的處理選項「%s」" +@@ -2232,90 +2448,94 @@ msgstr "不明的處理選項「%s」" + #. * the second %s is an environment variable, and the third + #. * %s is a command line tool + #. +-#: gio/glib-compile-resources.c:310 gio/glib-compile-resources.c:367 +-#: gio/glib-compile-resources.c:424 ++#: ../gio/glib-compile-resources.c:312 ../gio/glib-compile-resources.c:369 ++#: ../gio/glib-compile-resources.c:426 + #, c-format + msgid "%s preprocessing requested, but %s is not set, and %s is not in PATH" + msgstr "要求 %s 預處理,但未設定 %s,且 %s 不在 PATH 中" + +-#: gio/glib-compile-resources.c:457 ++#: ../gio/glib-compile-resources.c:459 + #, c-format + msgid "Error reading file %s: %s" + msgstr "讀取檔案 %s 時發生錯誤:%s" + +-#: gio/glib-compile-resources.c:477 ++#: ../gio/glib-compile-resources.c:479 + #, c-format + msgid "Error compressing file %s" + msgstr "壓縮檔案 %s 時發生錯誤" + +-#: gio/glib-compile-resources.c:541 ++#: ../gio/glib-compile-resources.c:543 + #, c-format + msgid "text may not appear inside <%s>" + msgstr "在 <%s> 內不能出現文字" + +-#: gio/glib-compile-resources.c:737 gio/glib-compile-schemas.c:2172 ++#: ../gio/glib-compile-resources.c:821 ../gio/glib-compile-schemas.c:2176 + msgid "Show program version and exit" + msgstr "顯示程式的版本並離開" + +-#: gio/glib-compile-resources.c:738 ++#: ../gio/glib-compile-resources.c:822 + msgid "Name of the output file" + msgstr "輸出檔案的名稱" + +-#: gio/glib-compile-resources.c:739 ++#: ../gio/glib-compile-resources.c:823 + msgid "" + "The directories to load files referenced in FILE from (default: current " + "directory)" + msgstr "要載入 FILE 中參照檔案的來源目錄(預設:目前目錄)" + +-#: gio/glib-compile-resources.c:739 gio/glib-compile-schemas.c:2173 +-#: gio/glib-compile-schemas.c:2202 ++#: ../gio/glib-compile-resources.c:823 ../gio/glib-compile-schemas.c:2177 ++#: ../gio/glib-compile-schemas.c:2207 + msgid "DIRECTORY" + msgstr "目錄" + +-#: gio/glib-compile-resources.c:740 ++#: ../gio/glib-compile-resources.c:824 + msgid "" + "Generate output in the format selected for by the target filename extension" + msgstr "以目標檔案名稱的延伸檔名來選擇要產生輸出的格式" + +-#: gio/glib-compile-resources.c:741 ++#: ../gio/glib-compile-resources.c:825 + msgid "Generate source header" + msgstr "產生來源標頭" + +-#: gio/glib-compile-resources.c:742 ++#: ../gio/glib-compile-resources.c:826 + msgid "Generate source code used to link in the resource file into your code" + msgstr "產生用來連結資源檔至程式碼的源始碼" + +-#: gio/glib-compile-resources.c:743 ++#: ../gio/glib-compile-resources.c:827 + msgid "Generate dependency list" + msgstr "產生相依性清單" + +-#: gio/glib-compile-resources.c:744 ++#: ../gio/glib-compile-resources.c:828 + msgid "Name of the dependency file to generate" + msgstr "要產生之依賴檔案的名稱" + +-#: gio/glib-compile-resources.c:745 ++#: ../gio/glib-compile-resources.c:829 + msgid "Include phony targets in the generated dependency file" + msgstr "在產生的相依檔案中包含假目標" + +-#: gio/glib-compile-resources.c:746 ++#: ../gio/glib-compile-resources.c:830 + msgid "Don’t automatically create and register resource" + msgstr "不要自動建立與註冊資源" + +-#: gio/glib-compile-resources.c:747 ++#: ../gio/glib-compile-resources.c:831 + msgid "Don’t export functions; declare them G_GNUC_INTERNAL" + msgstr "不要匯出函式;宣告他們為 G_GNUC_INTERNAL" + +-#: gio/glib-compile-resources.c:748 ++#: ../gio/glib-compile-resources.c:832 + msgid "" + "Don’t embed resource data in the C file; assume it's linked externally " + "instead" + msgstr "不要將資源資料嵌入 C 檔案;假設資料已改在外部連結" + +-#: gio/glib-compile-resources.c:749 ++#: ../gio/glib-compile-resources.c:833 + msgid "C identifier name used for the generated source code" + msgstr "用於產生源碼的 C 識別碼名稱" + +-#: gio/glib-compile-resources.c:775 ++#: ../gio/glib-compile-resources.c:834 ++msgid "The target C compiler (default: the CC environment variable)" ++msgstr "" ++ ++#: ../gio/glib-compile-resources.c:861 + msgid "" + "Compile a resource specification into a resource file.\n" + "Resource specification files have the extension .gresource.xml,\n" +@@ -2325,204 +2545,205 @@ msgstr "" + "資源規格檔案的延伸檔名必須為 .gresource.xml,\n" + "而資源檔案的延伸檔名叫做 .gresource。" + +-#: gio/glib-compile-resources.c:797 ++#: ../gio/glib-compile-resources.c:893 ++#, c-format + msgid "You should give exactly one file name\n" + msgstr "您應該明確指定一個檔案名稱\n" + +-#: gio/glib-compile-schemas.c:92 ++#: ../gio/glib-compile-schemas.c:95 + #, c-format + msgid "nick must be a minimum of 2 characters" + msgstr "nick (暱稱) 至少需要 2 個字元" + +-#: gio/glib-compile-schemas.c:103 ++#: ../gio/glib-compile-schemas.c:106 + #, c-format + msgid "Invalid numeric value" + msgstr "數字值無效" + +-#: gio/glib-compile-schemas.c:111 ++#: ../gio/glib-compile-schemas.c:114 + #, c-format + msgid " already specified" + msgstr " 已經指定" + +-#: gio/glib-compile-schemas.c:119 ++#: ../gio/glib-compile-schemas.c:122 + #, c-format + msgid "value='%s' already specified" + msgstr "value='%s' 已經指定" + +-#: gio/glib-compile-schemas.c:133 ++#: ../gio/glib-compile-schemas.c:136 + #, c-format + msgid "flags values must have at most 1 bit set" + msgstr "旗標的值至多需要設定 1 個位元" + +-#: gio/glib-compile-schemas.c:158 ++#: ../gio/glib-compile-schemas.c:161 + #, c-format + msgid "<%s> must contain at least one " + msgstr "<%s> 必須包含至少一個 " + +-#: gio/glib-compile-schemas.c:314 ++#: ../gio/glib-compile-schemas.c:317 + #, c-format + msgid "<%s> is not contained in the specified range" + msgstr "<%s> 未包含在指定的範圍中" + +-#: gio/glib-compile-schemas.c:326 ++#: ../gio/glib-compile-schemas.c:329 + #, c-format + msgid "<%s> is not a valid member of the specified enumerated type" + msgstr "<%s> 非指定列舉類型的有效成員" + +-#: gio/glib-compile-schemas.c:332 ++#: ../gio/glib-compile-schemas.c:335 + #, c-format + msgid "<%s> contains string not in the specified flags type" + msgstr "<%s> 包含不在指定旗標類型中的字串" + +-#: gio/glib-compile-schemas.c:338 ++#: ../gio/glib-compile-schemas.c:341 + #, c-format + msgid "<%s> contains a string not in " + msgstr "<%s> 包含不在 中的字串" + +-#: gio/glib-compile-schemas.c:372 ++#: ../gio/glib-compile-schemas.c:375 + msgid " already specified for this key" + msgstr " 早已指定給此鍵" + +-#: gio/glib-compile-schemas.c:390 ++#: ../gio/glib-compile-schemas.c:393 + #, c-format + msgid " not allowed for keys of type “%s”" + msgstr " 不允許用於「%s」類型的鍵" + +-#: gio/glib-compile-schemas.c:407 ++#: ../gio/glib-compile-schemas.c:410 + #, c-format + msgid " specified minimum is greater than maximum" + msgstr " 指定的最小值比最大值還大" + +-#: gio/glib-compile-schemas.c:432 ++#: ../gio/glib-compile-schemas.c:435 + #, c-format + msgid "unsupported l10n category: %s" + msgstr "不支援的 l10n 分類:%s" + +-#: gio/glib-compile-schemas.c:440 ++#: ../gio/glib-compile-schemas.c:443 + msgid "l10n requested, but no gettext domain given" + msgstr "要求 l10n,但未提供 gettext 領域" + +-#: gio/glib-compile-schemas.c:452 ++#: ../gio/glib-compile-schemas.c:455 + msgid "translation context given for value without l10n enabled" + msgstr "提供給值的翻譯情境未啟用 l10n" + +-#: gio/glib-compile-schemas.c:474 ++#: ../gio/glib-compile-schemas.c:477 + #, c-format + msgid "Failed to parse value of type “%s”: " + msgstr "無法解析「%s」類型的 值: " + +-#: gio/glib-compile-schemas.c:491 ++#: ../gio/glib-compile-schemas.c:494 + msgid "" + " cannot be specified for keys tagged as having an enumerated type" + msgstr " 無法指定給標記為有列舉的類型的鍵" + +-#: gio/glib-compile-schemas.c:500 ++#: ../gio/glib-compile-schemas.c:503 + msgid " already specified for this key" + msgstr " 早已指定給此鍵" + +-#: gio/glib-compile-schemas.c:512 ++#: ../gio/glib-compile-schemas.c:515 + #, c-format + msgid " not allowed for keys of type “%s”" + msgstr " 不允許「%s」類型的鍵" + +-#: gio/glib-compile-schemas.c:528 ++#: ../gio/glib-compile-schemas.c:531 + #, c-format + msgid " already given" + msgstr " 早已指定" + +-#: gio/glib-compile-schemas.c:543 ++#: ../gio/glib-compile-schemas.c:546 + #, c-format + msgid " must contain at least one " + msgstr " 至少要有至少一個 " + +-#: gio/glib-compile-schemas.c:557 ++#: ../gio/glib-compile-schemas.c:560 + msgid " already specified for this key" + msgstr " 早已指定給此鍵" + +-#: gio/glib-compile-schemas.c:561 ++#: ../gio/glib-compile-schemas.c:564 + msgid "" + " can only be specified for keys with enumerated or flags types or " + "after " + msgstr " 只能指定給有列舉的鍵,或旗標類型,或在 後" + +-#: gio/glib-compile-schemas.c:580 ++#: ../gio/glib-compile-schemas.c:583 + #, c-format + msgid "" + " given when “%s” is already a member of the enumerated " + "type" + msgstr "當「%s」已經是列舉類型的成員時,提供了 " + +-#: gio/glib-compile-schemas.c:586 ++#: ../gio/glib-compile-schemas.c:589 + #, c-format + msgid " given when was already given" + msgstr "當 早已提供時,提供了 " + +-#: gio/glib-compile-schemas.c:594 ++#: ../gio/glib-compile-schemas.c:597 + #, c-format + msgid " already specified" + msgstr " 已經指定" + +-#: gio/glib-compile-schemas.c:604 ++#: ../gio/glib-compile-schemas.c:607 + #, c-format + msgid "alias target “%s” is not in enumerated type" + msgstr "「%s」別名目標不在列舉類型中" + +-#: gio/glib-compile-schemas.c:605 ++#: ../gio/glib-compile-schemas.c:608 + #, c-format + msgid "alias target “%s” is not in " + msgstr "「%s」別名目標不在 中" + +-#: gio/glib-compile-schemas.c:620 ++#: ../gio/glib-compile-schemas.c:623 + #, c-format + msgid " must contain at least one " + msgstr " 必須包含至少一個 " + +-#: gio/glib-compile-schemas.c:797 ++#: ../gio/glib-compile-schemas.c:797 + msgid "Empty names are not permitted" + msgstr "不允許空白名稱" + +-#: gio/glib-compile-schemas.c:807 ++#: ../gio/glib-compile-schemas.c:807 + #, c-format + msgid "Invalid name “%s”: names must begin with a lowercase letter" + msgstr "無效的名稱「%s」:名稱必須以小寫字母開頭" + +-#: gio/glib-compile-schemas.c:819 ++#: ../gio/glib-compile-schemas.c:819 + #, c-format + msgid "" + "Invalid name “%s”: invalid character “%c”; only lowercase letters, numbers " + "and hyphen (“-”) are permitted" + msgstr "無效的名稱「%s」:無效的字元「%c」;只允許小寫字母、數字和破折號 ('-')" + +-#: gio/glib-compile-schemas.c:828 ++#: ../gio/glib-compile-schemas.c:828 + #, c-format + msgid "Invalid name “%s”: two successive hyphens (“--”) are not permitted" + msgstr "無效的名稱「%s」:不允許兩個破折號 ('--')" + +-#: gio/glib-compile-schemas.c:837 ++#: ../gio/glib-compile-schemas.c:837 + #, c-format + msgid "Invalid name “%s”: the last character may not be a hyphen (“-”)" + msgstr "無效的名稱「%s」:最後一個字元不能是破折號 ('-')" + +-#: gio/glib-compile-schemas.c:845 ++#: ../gio/glib-compile-schemas.c:845 + #, c-format + msgid "Invalid name “%s”: maximum length is 1024" + msgstr "無效的名稱「%s」:最大長度為 1024" + +-#: gio/glib-compile-schemas.c:917 ++#: ../gio/glib-compile-schemas.c:917 + #, c-format + msgid " already specified" + msgstr " 已經指定了" + +-#: gio/glib-compile-schemas.c:943 ++#: ../gio/glib-compile-schemas.c:943 + msgid "Cannot add keys to a “list-of” schema" + msgstr "不能將鍵加入「list-of」schema" + +-#: gio/glib-compile-schemas.c:954 ++#: ../gio/glib-compile-schemas.c:954 + #, c-format + msgid " already specified" + msgstr " 已經指定了" + +-#: gio/glib-compile-schemas.c:972 ++#: ../gio/glib-compile-schemas.c:972 + #, c-format + msgid "" + " shadows in ; use " +@@ -2531,69 +2752,69 @@ msgstr "" + " 遮蔽 ;使用 來" + "修改值" + +-#: gio/glib-compile-schemas.c:983 ++#: ../gio/glib-compile-schemas.c:983 + #, c-format + msgid "" + "Exactly one of “type”, “enum” or “flags” must be specified as an attribute " + "to " + msgstr "必須明確指定「type」、「enum」或「flags」之一做為 的特性" + +-#: gio/glib-compile-schemas.c:1002 ++#: ../gio/glib-compile-schemas.c:1002 + #, c-format + msgid "<%s id='%s'> not (yet) defined." + msgstr "<%s id='%s'> 尚未定義。" + +-#: gio/glib-compile-schemas.c:1017 ++#: ../gio/glib-compile-schemas.c:1017 + #, c-format + msgid "Invalid GVariant type string “%s”" + msgstr "無效的 GVariant 類型字串「%s」" + +-#: gio/glib-compile-schemas.c:1047 ++#: ../gio/glib-compile-schemas.c:1047 + msgid " given but schema isn’t extending anything" + msgstr "指定了 但 schema 並未延伸任何東西" + +-#: gio/glib-compile-schemas.c:1060 ++#: ../gio/glib-compile-schemas.c:1060 + #, c-format + msgid "No to override" + msgstr "沒有 要覆蓋" + +-#: gio/glib-compile-schemas.c:1068 ++#: ../gio/glib-compile-schemas.c:1068 + #, c-format + msgid " already specified" + msgstr " 已經指定了" + +-#: gio/glib-compile-schemas.c:1141 ++#: ../gio/glib-compile-schemas.c:1141 + #, c-format + msgid " already specified" + msgstr " 已經指定了" + +-#: gio/glib-compile-schemas.c:1153 ++#: ../gio/glib-compile-schemas.c:1153 + #, c-format + msgid " extends not yet existing schema “%s”" + msgstr " 延伸了尚不存在的「%s」schema" + +-#: gio/glib-compile-schemas.c:1169 ++#: ../gio/glib-compile-schemas.c:1169 + #, c-format + msgid " is list of not yet existing schema “%s”" + msgstr " 是尚不存在的「%s」schema 的清單" + +-#: gio/glib-compile-schemas.c:1177 ++#: ../gio/glib-compile-schemas.c:1177 + #, c-format + msgid "Cannot be a list of a schema with a path" + msgstr "不能成為有路徑 schema 的清單" + +-#: gio/glib-compile-schemas.c:1187 ++#: ../gio/glib-compile-schemas.c:1187 + #, c-format + msgid "Cannot extend a schema with a path" + msgstr "不能延伸有路徑的 schema" + +-#: gio/glib-compile-schemas.c:1197 ++#: ../gio/glib-compile-schemas.c:1197 + #, c-format + msgid "" + " is a list, extending which is not a list" + msgstr " 是清單,卻延伸了不是清單的 " + +-#: gio/glib-compile-schemas.c:1207 ++#: ../gio/glib-compile-schemas.c:1207 + #, c-format + msgid "" + " extends but “%s” " +@@ -2602,68 +2823,59 @@ msgstr "" + " 延伸了 但是 '%s' " + "並未延伸 '%s'" + +-#: gio/glib-compile-schemas.c:1224 ++#: ../gio/glib-compile-schemas.c:1224 + #, c-format + msgid "A path, if given, must begin and end with a slash" + msgstr "如果指定了路徑,開頭與結尾都必須是斜線" + +-#: gio/glib-compile-schemas.c:1231 ++#: ../gio/glib-compile-schemas.c:1231 + #, c-format + msgid "The path of a list must end with “:/”" + msgstr "清單的路徑必須以「:/」為結尾" + +-#: gio/glib-compile-schemas.c:1240 +-#, c-format +-msgid "" +-"Warning: Schema “%s” has path “%s”. Paths starting with “/apps/”, “/" +-"desktop/” or “/system/” are deprecated." +-msgstr "" +-"警告:「%s」schema 有「%s」路徑。“/apps/”、“/desktop/” 或 “/system/” 開頭的路" +-"徑已經棄用。" +- +-#: gio/glib-compile-schemas.c:1270 ++#: ../gio/glib-compile-schemas.c:1274 + #, c-format + msgid "<%s id='%s'> already specified" + msgstr "<%s id='%s'> 已經指定了" + +-#: gio/glib-compile-schemas.c:1420 gio/glib-compile-schemas.c:1436 ++#: ../gio/glib-compile-schemas.c:1424 ../gio/glib-compile-schemas.c:1440 + #, c-format + msgid "Only one <%s> element allowed inside <%s>" + msgstr "只有一個 <%s> 元素可以在 <%s> 之內" + +-#: gio/glib-compile-schemas.c:1518 ++#: ../gio/glib-compile-schemas.c:1522 + #, c-format + msgid "Element <%s> not allowed at the top level" + msgstr "<%s> 元素不允許在頂端層級" + +-#: gio/glib-compile-schemas.c:1536 ++#: ../gio/glib-compile-schemas.c:1540 + msgid "Element is required in " + msgstr " 中需要 元素" + +-#: gio/glib-compile-schemas.c:1626 ++#: ../gio/glib-compile-schemas.c:1630 + #, c-format + msgid "Text may not appear inside <%s>" + msgstr "在 <%s> 內不能出現文字" + +-#: gio/glib-compile-schemas.c:1694 ++#: ../gio/glib-compile-schemas.c:1698 + #, c-format + msgid "Warning: undefined reference to " + msgstr "警告:未定義,參考至 的參照" + + #. Translators: Do not translate "--strict". +-#: gio/glib-compile-schemas.c:1833 gio/glib-compile-schemas.c:1912 ++#: ../gio/glib-compile-schemas.c:1837 ../gio/glib-compile-schemas.c:1916 + msgid "--strict was specified; exiting." + msgstr "指定了 --strict;結束。" + +-#: gio/glib-compile-schemas.c:1845 ++#: ../gio/glib-compile-schemas.c:1849 + msgid "This entire file has been ignored." + msgstr "這整個檔案都被忽略了。" + +-#: gio/glib-compile-schemas.c:1908 ++#: ../gio/glib-compile-schemas.c:1912 + msgid "Ignoring this file." + msgstr "忽略這個檔案。" + +-#: gio/glib-compile-schemas.c:1963 ++#: ../gio/glib-compile-schemas.c:1967 + #, c-format + msgid "" + "No such key “%s” in schema “%s” as specified in override file “%s”; ignoring " +@@ -2671,7 +2883,7 @@ msgid "" + msgstr "" + "在覆蓋「%3$s」檔案的「%2$s」schema 中沒有指定這個「%1$s」鍵;忽略此鍵的覆蓋。" + +-#: gio/glib-compile-schemas.c:1971 ++#: ../gio/glib-compile-schemas.c:1975 + #, c-format + msgid "" + "No such key “%s” in schema “%s” as specified in override file “%s” and --" +@@ -2680,7 +2892,7 @@ msgstr "" + "在覆蓋「%3$s」檔案的「%2$s」schema 中沒有指定這個「%1$s」鍵且指定了 --" + "strict;結束。" + +-#: gio/glib-compile-schemas.c:1993 ++#: ../gio/glib-compile-schemas.c:1997 + #, c-format + msgid "" + "Cannot provide per-desktop overrides for localized key “%s” in schema " +@@ -2689,7 +2901,7 @@ msgstr "" + "無法在「%2$s」schema(覆蓋「%3$s」檔案)提供每個桌面的「%1$s」在地化鍵覆蓋;" + "忽略此鍵的覆蓋。" + +-#: gio/glib-compile-schemas.c:2002 ++#: ../gio/glib-compile-schemas.c:2006 + #, c-format + msgid "" + "Cannot provide per-desktop overrides for localized key “%s” in schema " +@@ -2698,7 +2910,7 @@ msgstr "" + "無法在「%2$s」schema(覆蓋「%3$s」檔案)提供每個桌面的「%1$s」在地化鍵覆蓋," + "而且指定了 --strict;結束。" + +-#: gio/glib-compile-schemas.c:2026 ++#: ../gio/glib-compile-schemas.c:2030 + #, c-format + msgid "" + "Error parsing key “%s” in schema “%s” as specified in override file “%s”: " +@@ -2707,7 +2919,7 @@ msgstr "" + "在覆蓋「%3$s」檔案指定的「%2$s」schema 分析「%1$s」鍵時發生錯誤:%4$s。忽略此" + "鍵的覆蓋。" + +-#: gio/glib-compile-schemas.c:2038 ++#: ../gio/glib-compile-schemas.c:2042 + #, c-format + msgid "" + "Error parsing key “%s” in schema “%s” as specified in override file “%s”: " +@@ -2716,7 +2928,7 @@ msgstr "" + "在覆蓋「%3$s」檔案指定的「%2$s」schema 分析「%1$s」鍵時發生錯誤:%4$s。指定" + "了 --strict;結束。" + +-#: gio/glib-compile-schemas.c:2065 ++#: ../gio/glib-compile-schemas.c:2069 + #, c-format + msgid "" + "Override for key “%s” in schema “%s” in override file “%s” is outside the " +@@ -2725,7 +2937,7 @@ msgstr "" + "在覆蓋「%3$s」檔案中覆蓋「%2$s」schema 的「%1$s」鍵超出了 schema 指定的範圍;" + "忽略此鍵的覆蓋。" + +-#: gio/glib-compile-schemas.c:2075 ++#: ../gio/glib-compile-schemas.c:2079 + #, c-format + msgid "" + "Override for key “%s” in schema “%s” in override file “%s” is outside the " +@@ -2734,7 +2946,7 @@ msgstr "" + "在覆蓋「%3$s」檔案中覆蓋「%2$s」schema 的「%1$s」鍵超出了 schema 指定的範圍," + "且指定了 --strict;結束。" + +-#: gio/glib-compile-schemas.c:2101 ++#: ../gio/glib-compile-schemas.c:2105 + #, c-format + msgid "" + "Override for key “%s” in schema “%s” in override file “%s” is not in the " +@@ -2743,7 +2955,7 @@ msgstr "" + "在覆蓋「%3$s」檔案中覆蓋「%2$s」schema 的「%1$s」鍵不在有效的選擇清單中;忽略" + "此鍵的覆蓋。" + +-#: gio/glib-compile-schemas.c:2111 ++#: ../gio/glib-compile-schemas.c:2115 + #, c-format + msgid "" + "Override for key “%s” in schema “%s” in override file “%s” is not in the " +@@ -2752,23 +2964,23 @@ msgstr "" + "在覆蓋「%3$s」檔案中覆蓋「%2$s」schema 的「%1$s」鍵不在有效的選擇清單中,且指" + "定了 --strict;結束。" + +-#: gio/glib-compile-schemas.c:2173 ++#: ../gio/glib-compile-schemas.c:2177 + msgid "Where to store the gschemas.compiled file" + msgstr "要將 gschemas.compiled 檔案儲存到哪裡" + +-#: gio/glib-compile-schemas.c:2174 ++#: ../gio/glib-compile-schemas.c:2178 + msgid "Abort on any errors in schemas" + msgstr "在 schema 中有任何錯誤即中止" + +-#: gio/glib-compile-schemas.c:2175 ++#: ../gio/glib-compile-schemas.c:2179 + msgid "Do not write the gschema.compiled file" + msgstr "不要寫入 gschemas.compiled 檔案" + +-#: gio/glib-compile-schemas.c:2176 ++#: ../gio/glib-compile-schemas.c:2180 + msgid "Do not enforce key name restrictions" + msgstr "不要強制鍵名限制" + +-#: gio/glib-compile-schemas.c:2205 ++#: ../gio/glib-compile-schemas.c:2210 + msgid "" + "Compile all GSettings schema files into a schema cache.\n" + "Schema files are required to have the extension .gschema.xml,\n" +@@ -2778,24 +2990,24 @@ msgstr "" + "Schema 檔案的延伸檔名必須為 .gschema.xml,\n" + "而快取檔案叫做 gschemas.compiled。" + +-#: gio/glib-compile-schemas.c:2226 ++#: ../gio/glib-compile-schemas.c:2242 + msgid "You should give exactly one directory name" + msgstr "您應該明確指定一個目錄名稱" + +-#: gio/glib-compile-schemas.c:2269 ++#: ../gio/glib-compile-schemas.c:2289 + msgid "No schema files found: doing nothing." + msgstr "找不到 schema 檔案:什麼都不做。" + +-#: gio/glib-compile-schemas.c:2271 ++#: ../gio/glib-compile-schemas.c:2291 + msgid "No schema files found: removed existing output file." + msgstr "找不到 schema 檔案:已經移除現有的輸出檔案。" + +-#: gio/glocalfile.c:549 gio/win32/gwinhttpfile.c:436 ++#: ../gio/glocalfile.c:570 ../gio/win32/gwinhttpfile.c:436 + #, c-format + msgid "Invalid filename %s" + msgstr "無效的檔案名稱 %s" + +-#: gio/glocalfile.c:980 ++#: ../gio/glocalfile.c:1012 + #, c-format + msgid "Error getting filesystem info for %s: %s" + msgstr "取得 %s 的檔案系統資訊時發生錯誤:%s" +@@ -2804,503 +3016,550 @@ msgstr "取得 %s 的檔案系統資訊時發生錯誤:%s" + #. * the enclosing (user visible) mount of a file, but none + #. * exists. + #. +-#: gio/glocalfile.c:1121 ++#: ../gio/glocalfile.c:1148 + #, c-format + msgid "Containing mount for file %s not found" + msgstr "包含了找不到的掛載點檔案 %s" + +-#: gio/glocalfile.c:1144 ++#: ../gio/glocalfile.c:1171 + msgid "Can’t rename root directory" + msgstr "不能重新命名根目錄" + +-#: gio/glocalfile.c:1162 gio/glocalfile.c:1185 ++#: ../gio/glocalfile.c:1189 ../gio/glocalfile.c:1212 + #, c-format + msgid "Error renaming file %s: %s" + msgstr "讀取檔案 %s 時發生錯誤:%s" + +-#: gio/glocalfile.c:1169 ++#: ../gio/glocalfile.c:1196 + msgid "Can’t rename file, filename already exists" + msgstr "不能重新命名檔案,該檔案名稱已存在" + +-#: gio/glocalfile.c:1182 gio/glocalfile.c:2324 gio/glocalfile.c:2352 +-#: gio/glocalfile.c:2491 gio/glocalfileoutputstream.c:650 ++#: ../gio/glocalfile.c:1209 ../gio/glocalfile.c:2422 ../gio/glocalfile.c:2450 ++#: ../gio/glocalfile.c:2589 ../gio/glocalfileoutputstream.c:659 + msgid "Invalid filename" + msgstr "無效的檔案名稱" + +-#: gio/glocalfile.c:1350 gio/glocalfile.c:1361 ++#: ../gio/glocalfile.c:1377 ../gio/glocalfile.c:1388 + #, c-format + msgid "Error opening file %s: %s" + msgstr "開啟檔案 %s 時發生錯誤:%s" + +-#: gio/glocalfile.c:1486 ++#: ../gio/glocalfile.c:1513 + #, c-format + msgid "Error removing file %s: %s" + msgstr "移除檔案 %s 時發生錯誤:%s" + +-#: gio/glocalfile.c:1969 ++#: ../gio/glocalfile.c:2010 ../gio/glocalfile.c:2021 ../gio/glocalfile.c:2048 + #, c-format + msgid "Error trashing file %s: %s" + msgstr "移動檔案 %s 至垃圾桶時發生錯誤:%s" + +-#: gio/glocalfile.c:2010 +-#, c-format +-msgid "Unable to create trash dir %s: %s" ++#: ../gio/glocalfile.c:2069 ++#, fuzzy, c-format ++msgid "Unable to create trash directory %s: %s" + msgstr "無法建立垃圾桶目錄 %s:%s" + +-#: gio/glocalfile.c:2030 ++#: ../gio/glocalfile.c:2090 + #, c-format + msgid "Unable to find toplevel directory to trash %s" + msgstr "無法找到垃圾桶 %s 的頂端層級目錄" + +-#: gio/glocalfile.c:2038 ++#: ../gio/glocalfile.c:2098 + #, c-format + msgid "Trashing on system internal mounts is not supported" + msgstr "不支援在系統內部掛載點使用垃圾桶" + +-#: gio/glocalfile.c:2118 gio/glocalfile.c:2138 +-#, c-format +-msgid "Unable to find or create trash directory for %s" ++#: ../gio/glocalfile.c:2184 ../gio/glocalfile.c:2212 ++#, fuzzy, c-format ++msgid "Unable to find or create trash directory %s to trash %s" + msgstr "無法找到或建立 %s 的垃圾桶目錄" + +-#: gio/glocalfile.c:2173 ++#: ../gio/glocalfile.c:2256 + #, c-format + msgid "Unable to create trashing info file for %s: %s" + msgstr "無法建立 %s 垃圾桶資訊檔案:%s" + +-#: gio/glocalfile.c:2235 ++#: ../gio/glocalfile.c:2333 + #, c-format + msgid "Unable to trash file %s across filesystem boundaries" + msgstr "無法將檔案 %s 跨檔案系統邊界移至垃圾桶" + +-#: gio/glocalfile.c:2239 gio/glocalfile.c:2295 ++#: ../gio/glocalfile.c:2337 ../gio/glocalfile.c:2393 + #, c-format + msgid "Unable to trash file %s: %s" + msgstr "無法將檔案 %s 移至垃圾桶:%s" + +-#: gio/glocalfile.c:2301 ++#: ../gio/glocalfile.c:2399 + #, c-format + msgid "Unable to trash file %s" + msgstr "無法將檔案 %s 移至垃圾桶" + +-#: gio/glocalfile.c:2327 ++#: ../gio/glocalfile.c:2425 + #, c-format + msgid "Error creating directory %s: %s" + msgstr "建立目錄 %s 時發生錯誤:%s" + +-#: gio/glocalfile.c:2356 ++#: ../gio/glocalfile.c:2454 + #, c-format + msgid "Filesystem does not support symbolic links" + msgstr "檔案系統不支援符號連結" + +-#: gio/glocalfile.c:2359 ++#: ../gio/glocalfile.c:2457 + #, c-format + msgid "Error making symbolic link %s: %s" + msgstr "建立符號連結 %s 時發生錯誤:%s" + +-#: gio/glocalfile.c:2402 gio/glocalfile.c:2437 gio/glocalfile.c:2494 ++#: ../gio/glocalfile.c:2500 ../gio/glocalfile.c:2535 ../gio/glocalfile.c:2592 + #, c-format + msgid "Error moving file %s: %s" + msgstr "移動檔案 %s 時發生錯誤:%s" + +-#: gio/glocalfile.c:2425 ++#: ../gio/glocalfile.c:2523 + msgid "Can’t move directory over directory" + msgstr "不能將目錄移動至目錄上" + +-#: gio/glocalfile.c:2451 gio/glocalfileoutputstream.c:1039 +-#: gio/glocalfileoutputstream.c:1053 gio/glocalfileoutputstream.c:1068 +-#: gio/glocalfileoutputstream.c:1085 gio/glocalfileoutputstream.c:1099 ++#: ../gio/glocalfile.c:2549 ../gio/glocalfileoutputstream.c:1133 ++#: ../gio/glocalfileoutputstream.c:1147 ../gio/glocalfileoutputstream.c:1162 ++#: ../gio/glocalfileoutputstream.c:1179 ../gio/glocalfileoutputstream.c:1193 + msgid "Backup file creation failed" + msgstr "建立備份檔案失敗" + +-#: gio/glocalfile.c:2470 ++#: ../gio/glocalfile.c:2568 + #, c-format + msgid "Error removing target file: %s" + msgstr "移除目標檔案時發生錯誤:%s" + +-#: gio/glocalfile.c:2484 ++#: ../gio/glocalfile.c:2582 + msgid "Move between mounts not supported" + msgstr "不支援在掛載點之間移動" + +-#: gio/glocalfile.c:2658 ++#: ../gio/glocalfile.c:2758 + #, c-format + msgid "Could not determine the disk usage of %s: %s" + msgstr "無法決定 %s 的磁碟使用量:%s" + +-#: gio/glocalfileinfo.c:767 ++#: ../gio/glocalfileinfo.c:768 + msgid "Attribute value must be non-NULL" + msgstr "特性值必須為非-NULL" + +-#: gio/glocalfileinfo.c:774 +-msgid "Invalid attribute type (string expected)" ++#: ../gio/glocalfileinfo.c:775 ++#, fuzzy ++msgid "Invalid attribute type (string or invalid expected)" + msgstr "無效的特性類型(應為字串值)" + +-#: gio/glocalfileinfo.c:781 ++#: ../gio/glocalfileinfo.c:782 + msgid "Invalid extended attribute name" + msgstr "無效的延伸特性名稱" + +-#: gio/glocalfileinfo.c:821 ++#: ../gio/glocalfileinfo.c:833 + #, c-format + msgid "Error setting extended attribute “%s”: %s" + msgstr "設定延伸特性「%s」時發生錯誤:%s" + +-#: gio/glocalfileinfo.c:1666 gio/win32/gwinhttpfile.c:191 ++#: ../gio/glocalfileinfo.c:1789 ../gio/win32/gwinhttpfile.c:191 + msgid " (invalid encoding)" + msgstr "(無效的編碼)" + +-#: gio/glocalfileinfo.c:1825 gio/glocalfileoutputstream.c:915 ++#: ../gio/glocalfileinfo.c:1880 ++msgid "Desktop" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:1882 ++#, fuzzy ++msgid "Documents" ++msgstr "引數:\n" ++ ++#: ../gio/glocalfileinfo.c:1884 ++msgid "Download" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:1886 ++msgid "Music" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:1888 ++msgid "Pictures" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:1890 ++msgid "Public Share" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:1892 ++msgid "Templates" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:1894 ++msgid "Videos" ++msgstr "" ++ ++#: ../gio/glocalfileinfo.c:1975 ../gio/glocalfileoutputstream.c:961 ++#: ../gio/glocalfileoutputstream.c:1013 + #, c-format + msgid "Error when getting information for file “%s”: %s" + msgstr "取得檔案「%s」資訊時發生錯誤:%s" + +-#: gio/glocalfileinfo.c:2091 ++#: ../gio/glocalfileinfo.c:2281 + #, c-format + msgid "Error when getting information for file descriptor: %s" + msgstr "取得檔案描述狀態資訊時發生錯誤:%s" + +-#: gio/glocalfileinfo.c:2136 ++#: ../gio/glocalfileinfo.c:2326 + msgid "Invalid attribute type (uint32 expected)" + msgstr "無效的特性類型(應為 uint32 值)" + +-#: gio/glocalfileinfo.c:2154 ++#: ../gio/glocalfileinfo.c:2344 + msgid "Invalid attribute type (uint64 expected)" + msgstr "無效的特性類型(應為 uint64 值)" + +-#: gio/glocalfileinfo.c:2173 gio/glocalfileinfo.c:2192 ++#: ../gio/glocalfileinfo.c:2363 ../gio/glocalfileinfo.c:2382 + msgid "Invalid attribute type (byte string expected)" + msgstr "無效的特性類型(應為 byte string 值)" + +-#: gio/glocalfileinfo.c:2239 ++#: ../gio/glocalfileinfo.c:2429 + msgid "Cannot set permissions on symlinks" + msgstr "不能設定符號連結的權限" + +-#: gio/glocalfileinfo.c:2255 ++#: ../gio/glocalfileinfo.c:2445 + #, c-format + msgid "Error setting permissions: %s" + msgstr "設定權限時發生錯誤:%s" + +-#: gio/glocalfileinfo.c:2306 ++#: ../gio/glocalfileinfo.c:2496 + #, c-format + msgid "Error setting owner: %s" + msgstr "設定擁有者時發生錯誤:%s" + +-#: gio/glocalfileinfo.c:2329 ++#: ../gio/glocalfileinfo.c:2519 + msgid "symlink must be non-NULL" + msgstr "符號連結必須為非-NULL" + +-#: gio/glocalfileinfo.c:2339 gio/glocalfileinfo.c:2358 +-#: gio/glocalfileinfo.c:2369 ++#: ../gio/glocalfileinfo.c:2529 ../gio/glocalfileinfo.c:2548 ++#: ../gio/glocalfileinfo.c:2559 + #, c-format + msgid "Error setting symlink: %s" + msgstr "設定符號連結時發生錯誤:%s" + +-#: gio/glocalfileinfo.c:2348 ++#: ../gio/glocalfileinfo.c:2538 + msgid "Error setting symlink: file is not a symlink" + msgstr "設定符號連結時發生錯誤:檔案不是符號連結" + +-#: gio/glocalfileinfo.c:2420 ++#: ../gio/glocalfileinfo.c:2630 + #, c-format + msgid "Extra nanoseconds %d for UNIX timestamp %lld are negative" + msgstr "UNIX 時間戳 %2$lld 的延伸奈秒 %1$d 是負數" + +-#: gio/glocalfileinfo.c:2429 ++#: ../gio/glocalfileinfo.c:2639 + #, c-format + msgid "Extra nanoseconds %d for UNIX timestamp %lld reach 1 second" + msgstr "UNIX 時間戳 %2$lld 的延伸奈秒 %1$d 達 1 秒" + +-#: gio/glocalfileinfo.c:2439 ++#: ../gio/glocalfileinfo.c:2649 + #, c-format + msgid "UNIX timestamp %lld does not fit into 64 bits" + msgstr "UNIX 時間戳 %lld 不能完整放入 64 位元" + +-#: gio/glocalfileinfo.c:2450 ++#: ../gio/glocalfileinfo.c:2660 + #, c-format + msgid "UNIX timestamp %lld is outside of the range supported by Windows" + msgstr "UNIX 時間戳 %lld 超出 Windows 所支援的範圍" + +-#: gio/glocalfileinfo.c:2514 ++#: ../gio/glocalfileinfo.c:2792 + #, c-format + msgid "File name “%s” cannot be converted to UTF-16" + msgstr "「%s」檔名無法轉換為 UTF-16" + +-#: gio/glocalfileinfo.c:2533 ++#: ../gio/glocalfileinfo.c:2811 + #, c-format + msgid "File “%s” cannot be opened: Windows Error %lu" + msgstr "無法開啟「%s」檔案:Windows 錯誤 %lu" + +-#: gio/glocalfileinfo.c:2546 ++#: ../gio/glocalfileinfo.c:2824 + #, c-format + msgid "Error setting modification or access time for file “%s”: %lu" + msgstr "設定「%s」檔案的修改或存取時間時發生錯誤:%lu" + +-#: gio/glocalfileinfo.c:2647 ++#: ../gio/glocalfileinfo.c:2981 + #, c-format + msgid "Error setting modification or access time: %s" + msgstr "設定修改或存取時刻時發生錯誤:%s" + +-#: gio/glocalfileinfo.c:2670 ++#: ../gio/glocalfileinfo.c:3004 + msgid "SELinux context must be non-NULL" + msgstr "SELinux 情境必須為非-NULL" + +-#: gio/glocalfileinfo.c:2685 ++#: ../gio/glocalfileinfo.c:3011 ++msgid "SELinux is not enabled on this system" ++msgstr "SELinux 在這個系統上並未啟用" ++ ++#: ../gio/glocalfileinfo.c:3021 + #, c-format + msgid "Error setting SELinux context: %s" + msgstr "設定 SELinux 情境時發生錯誤:%s" + +-#: gio/glocalfileinfo.c:2692 +-msgid "SELinux is not enabled on this system" +-msgstr "SELinux 在這個系統上並未啟用" +- +-#: gio/glocalfileinfo.c:2784 ++#: ../gio/glocalfileinfo.c:3118 + #, c-format + msgid "Setting attribute %s not supported" + msgstr "不支援設定特性 %s" + +-#: gio/glocalfileinputstream.c:168 gio/glocalfileoutputstream.c:795 ++#: ../gio/glocalfileinputstream.c:165 ../gio/glocalfileoutputstream.c:804 + #, c-format + msgid "Error reading from file: %s" + msgstr "從檔案讀取時發生錯誤:%s" + +-#: gio/glocalfileinputstream.c:199 gio/glocalfileinputstream.c:211 +-#: gio/glocalfileinputstream.c:225 gio/glocalfileinputstream.c:333 +-#: gio/glocalfileoutputstream.c:557 gio/glocalfileoutputstream.c:1117 +-#, c-format +-msgid "Error seeking in file: %s" +-msgstr "在檔案中搜尋時發生錯誤:%s" +- +-#: gio/glocalfileinputstream.c:255 gio/glocalfileoutputstream.c:347 +-#: gio/glocalfileoutputstream.c:441 ++#: ../gio/glocalfileinputstream.c:196 ../gio/glocalfileoutputstream.c:356 ++#: ../gio/glocalfileoutputstream.c:450 + #, c-format + msgid "Error closing file: %s" + msgstr "關閉檔案時發生錯誤:%s" + +-#: gio/glocalfilemonitor.c:865 ++#: ../gio/glocalfileinputstream.c:274 ../gio/glocalfileoutputstream.c:566 ++#: ../gio/glocalfileoutputstream.c:1211 ++#, c-format ++msgid "Error seeking in file: %s" ++msgstr "在檔案中搜尋時發生錯誤:%s" ++ ++#: ../gio/glocalfilemonitor.c:882 + msgid "Unable to find default local file monitor type" + msgstr "無法找到預設的本地端檔案監視器類型" + +-#: gio/glocalfileoutputstream.c:214 gio/glocalfileoutputstream.c:292 +-#: gio/glocalfileoutputstream.c:328 gio/glocalfileoutputstream.c:816 ++#: ../gio/glocalfileoutputstream.c:223 ../gio/glocalfileoutputstream.c:301 ++#: ../gio/glocalfileoutputstream.c:337 ../gio/glocalfileoutputstream.c:825 + #, c-format + msgid "Error writing to file: %s" + msgstr "寫入至檔案時發生錯誤:%s" + +-#: gio/glocalfileoutputstream.c:374 ++#: ../gio/glocalfileoutputstream.c:383 + #, c-format + msgid "Error removing old backup link: %s" + msgstr "移除舊備份連結時發生錯誤:%s" + +-#: gio/glocalfileoutputstream.c:388 gio/glocalfileoutputstream.c:401 ++#: ../gio/glocalfileoutputstream.c:397 ../gio/glocalfileoutputstream.c:410 + #, c-format + msgid "Error creating backup copy: %s" + msgstr "建立備份複本時發生錯誤:%s" + +-#: gio/glocalfileoutputstream.c:419 ++#: ../gio/glocalfileoutputstream.c:428 + #, c-format + msgid "Error renaming temporary file: %s" + msgstr "重新命名暫存檔案時發生錯誤:%s" + +-#: gio/glocalfileoutputstream.c:603 gio/glocalfileoutputstream.c:1168 ++#: ../gio/glocalfileoutputstream.c:612 ../gio/glocalfileoutputstream.c:1265 + #, c-format + msgid "Error truncating file: %s" + msgstr "截短檔案時發生錯誤:%s" + +-#: gio/glocalfileoutputstream.c:656 gio/glocalfileoutputstream.c:894 +-#: gio/glocalfileoutputstream.c:1149 gio/gsubprocess.c:380 ++#: ../gio/glocalfileoutputstream.c:665 ../gio/glocalfileoutputstream.c:925 ++#: ../gio/glocalfileoutputstream.c:1246 ../gio/gsubprocess.c:231 + #, c-format + msgid "Error opening file “%s”: %s" + msgstr "開啟檔案「%s」時發生錯誤:%s" + +-#: gio/glocalfileoutputstream.c:928 ++#: ../gio/glocalfileoutputstream.c:975 + msgid "Target file is a directory" + msgstr "目標檔案是一個目錄" + +-#: gio/glocalfileoutputstream.c:933 ++#: ../gio/glocalfileoutputstream.c:989 + msgid "Target file is not a regular file" + msgstr "目標檔案不是正規的檔案" + +-#: gio/glocalfileoutputstream.c:945 ++#: ../gio/glocalfileoutputstream.c:1031 + msgid "The file was externally modified" + msgstr "該檔案已被外部程式修改過" + +-#: gio/glocalfileoutputstream.c:1133 ++#: ../gio/glocalfileoutputstream.c:1228 + #, c-format + msgid "Error removing old file: %s" + msgstr "移除舊檔案時發生錯誤:%s" + +-#: gio/gmemoryinputstream.c:474 gio/gmemoryoutputstream.c:772 ++#: ../gio/gmemoryinputstream.c:476 ../gio/gmemoryoutputstream.c:764 + msgid "Invalid GSeekType supplied" + msgstr "提供了無效的 GSeek 類型" + +-#: gio/gmemoryinputstream.c:484 ++#: ../gio/gmemoryinputstream.c:486 + msgid "Invalid seek request" + msgstr "無效的搜尋要求" + +-#: gio/gmemoryinputstream.c:508 ++#: ../gio/gmemoryinputstream.c:510 + msgid "Cannot truncate GMemoryInputStream" + msgstr "不能截短 GMemoryInputStream" + +-#: gio/gmemoryoutputstream.c:567 ++#: ../gio/gmemoryoutputstream.c:570 + msgid "Memory output stream not resizable" + msgstr "記憶體輸出串流不能改變大小" + +-#: gio/gmemoryoutputstream.c:583 ++#: ../gio/gmemoryoutputstream.c:586 + msgid "Failed to resize memory output stream" + msgstr "改變記憶體輸出串流的大小失敗" + +-#: gio/gmemoryoutputstream.c:673 ++#: ../gio/gmemoryoutputstream.c:665 + msgid "" + "Amount of memory required to process the write is larger than available " + "address space" + msgstr "進行寫入所需的記憶體總額大於可用的位址空間" + +-#: gio/gmemoryoutputstream.c:782 ++#: ../gio/gmemoryoutputstream.c:774 + msgid "Requested seek before the beginning of the stream" + msgstr "在串流的開頭之前要求的搜索" + +-#: gio/gmemoryoutputstream.c:797 ++#: ../gio/gmemoryoutputstream.c:789 + msgid "Requested seek beyond the end of the stream" + msgstr "在串流的開頭之後要求的搜索" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement unmount. +-#: gio/gmount.c:399 ++#: ../gio/gmount.c:401 + msgid "mount doesn’t implement “unmount”" + msgstr "掛載點尚未實作「umount」" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement eject. +-#: gio/gmount.c:475 ++#: ../gio/gmount.c:477 + msgid "mount doesn’t implement “eject”" + msgstr "掛載點尚未實作「eject」" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement any of unmount or unmount_with_operation. +-#: gio/gmount.c:553 ++#: ../gio/gmount.c:555 + msgid "mount doesn’t implement “unmount” or “unmount_with_operation”" + msgstr "掛載點尚未實作「umount」或「umount_with_operation」" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement any of eject or eject_with_operation. +-#: gio/gmount.c:638 ++#: ../gio/gmount.c:640 + msgid "mount doesn’t implement “eject” or “eject_with_operation”" + msgstr "掛載點尚未實作「eject」或「eject_with_operation」" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement remount. +-#: gio/gmount.c:726 ++#: ../gio/gmount.c:728 + msgid "mount doesn’t implement “remount”" + msgstr "掛載點尚未實作「remount」" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement content type guessing. +-#: gio/gmount.c:808 ++#: ../gio/gmount.c:810 + msgid "mount doesn’t implement content type guessing" + msgstr "掛載點尚未實作內容類型預測" + + #. Translators: This is an error + #. * message for mount objects that + #. * don't implement content type guessing. +-#: gio/gmount.c:895 ++#: ../gio/gmount.c:897 + msgid "mount doesn’t implement synchronous content type guessing" + msgstr "掛載點尚未實作同步內容類型預測" + +-#: gio/gnetworkaddress.c:415 ++#: ../gio/gnetworkaddress.c:417 + #, c-format + msgid "Hostname “%s” contains “[” but not “]”" + msgstr "主機名稱「%s」含有「[」但沒有「]」" + +-#: gio/gnetworkmonitorbase.c:219 gio/gnetworkmonitorbase.c:323 ++#: ../gio/gnetworkmonitorbase.c:221 ../gio/gnetworkmonitorbase.c:325 + msgid "Network unreachable" + msgstr "無法連接網路" + +-#: gio/gnetworkmonitorbase.c:257 gio/gnetworkmonitorbase.c:287 ++#: ../gio/gnetworkmonitorbase.c:259 ../gio/gnetworkmonitorbase.c:289 + msgid "Host unreachable" + msgstr "無法連接主機" + +-#: gio/gnetworkmonitornetlink.c:99 gio/gnetworkmonitornetlink.c:111 +-#: gio/gnetworkmonitornetlink.c:130 ++#: ../gio/gnetworkmonitornetlink.c:101 ../gio/gnetworkmonitornetlink.c:113 ++#: ../gio/gnetworkmonitornetlink.c:132 + #, c-format + msgid "Could not create network monitor: %s" + msgstr "無法建立網路監控:%s" + +-#: gio/gnetworkmonitornetlink.c:120 ++#: ../gio/gnetworkmonitornetlink.c:122 + msgid "Could not create network monitor: " + msgstr "無法建立網路監控:" + +-#: gio/gnetworkmonitornetlink.c:183 ++#: ../gio/gnetworkmonitornetlink.c:185 + msgid "Could not get network status: " + msgstr "無法取得網路狀態:" + +-#: gio/gnetworkmonitornm.c:348 ++#: ../gio/gnetworkmonitornm.c:313 + #, c-format + msgid "NetworkManager not running" + msgstr "NetworkManager 未執行" + +-#: gio/gnetworkmonitornm.c:359 ++#: ../gio/gnetworkmonitornm.c:324 + #, c-format + msgid "NetworkManager version too old" + msgstr "NetworkManager 版本太舊" + +-#: gio/goutputstream.c:232 gio/goutputstream.c:775 ++#: ../gio/goutputstream.c:234 ../gio/goutputstream.c:777 + msgid "Output stream doesn’t implement write" + msgstr "輸出串流尚未實作寫入" + +-#: gio/goutputstream.c:472 gio/goutputstream.c:1533 ++#: ../gio/goutputstream.c:474 ../gio/goutputstream.c:1539 + #, c-format + msgid "Sum of vectors passed to %s too large" + msgstr "傳入 %s 的向量總和過大" + +-#: gio/goutputstream.c:736 gio/goutputstream.c:1761 ++#: ../gio/goutputstream.c:738 ../gio/goutputstream.c:1769 + msgid "Source stream is already closed" + msgstr "來源串流已經關閉" + +-#: gio/gresolver.c:386 gio/gthreadedresolver.c:150 gio/gthreadedresolver.c:168 ++#: ../gio/gproxyaddressenumerator.c:329 ../gio/gproxyaddressenumerator.c:347 ++msgid "Unspecified proxy lookup failure" ++msgstr "" ++ ++#. Translators: the first placeholder is a domain name, the ++#. * second is an error message ++#: ../gio/gresolver.c:478 ../gio/gthreadedresolver.c:317 ++#: ../gio/gthreadedresolver.c:338 ../gio/gthreadedresolver.c:983 ++#: ../gio/gthreadedresolver.c:1007 ../gio/gthreadedresolver.c:1032 ++#: ../gio/gthreadedresolver.c:1047 + #, c-format + msgid "Error resolving “%s”: %s" + msgstr "解析「%s」時發生錯誤:%s" + + #. Translators: The placeholder is for a function name. +-#: gio/gresolver.c:455 gio/gresolver.c:615 ++#: ../gio/gresolver.c:547 ../gio/gresolver.c:707 + #, c-format + msgid "%s not implemented" + msgstr "%s 未實作" + +-#: gio/gresolver.c:984 gio/gresolver.c:1036 ++#: ../gio/gresolver.c:1076 ../gio/gresolver.c:1128 + msgid "Invalid domain" + msgstr "網域無效" + +-#: gio/gresource.c:672 gio/gresource.c:931 gio/gresource.c:970 +-#: gio/gresource.c:1094 gio/gresource.c:1166 gio/gresource.c:1239 +-#: gio/gresource.c:1320 gio/gresourcefile.c:476 gio/gresourcefile.c:599 +-#: gio/gresourcefile.c:736 ++#: ../gio/gresource.c:683 ../gio/gresource.c:945 ../gio/gresource.c:985 ++#: ../gio/gresource.c:1109 ../gio/gresource.c:1181 ../gio/gresource.c:1255 ++#: ../gio/gresource.c:1336 ../gio/gresourcefile.c:482 ++#: ../gio/gresourcefile.c:606 ../gio/gresourcefile.c:757 + #, c-format + msgid "The resource at “%s” does not exist" + msgstr "「%s」的資源不存在" + +-#: gio/gresource.c:837 ++#: ../gio/gresource.c:850 + #, c-format + msgid "The resource at “%s” failed to decompress" + msgstr "「%s」的資源無法解壓縮" + +-#: gio/gresourcefile.c:732 ++#: ../gio/gresourcefile.c:663 ++msgid "Resource files cannot be renamed" ++msgstr "" ++ ++#: ../gio/gresourcefile.c:753 + #, c-format + msgid "The resource at “%s” is not a directory" + msgstr "「%s」的資源不是目錄" + +-#: gio/gresourcefile.c:940 ++#: ../gio/gresourcefile.c:961 + msgid "Input stream doesn’t implement seek" + msgstr "輸入串流尚未實作尋找" + +-#: gio/gresource-tool.c:499 ++#: ../gio/gresource-tool.c:502 + msgid "List sections containing resources in an elf FILE" + msgstr "列出 elf FILE 中包含資源的節區" + +-#: gio/gresource-tool.c:505 ++#: ../gio/gresource-tool.c:508 + msgid "" + "List resources\n" + "If SECTION is given, only list resources in this section\n" +@@ -3310,15 +3569,16 @@ msgstr "" + "如果指定 SECTION,只會列出這個節區的資源\n" + "如果指定 PATH,只會列出符合的資源" + +-#: gio/gresource-tool.c:508 gio/gresource-tool.c:518 ++#: ../gio/gresource-tool.c:511 ../gio/gresource-tool.c:521 + msgid "FILE [PATH]" + msgstr "檔案 [路徑]" + +-#: gio/gresource-tool.c:509 gio/gresource-tool.c:519 gio/gresource-tool.c:526 ++#: ../gio/gresource-tool.c:512 ../gio/gresource-tool.c:522 ++#: ../gio/gresource-tool.c:529 + msgid "SECTION" + msgstr "SECTION" + +-#: gio/gresource-tool.c:514 ++#: ../gio/gresource-tool.c:517 + msgid "" + "List resources with details\n" + "If SECTION is given, only list resources in this section\n" +@@ -3330,15 +3590,15 @@ msgstr "" + "如果指定 PATH,只會列出符合的資源\n" + "詳細資料包含節區、大小和壓縮率" + +-#: gio/gresource-tool.c:524 ++#: ../gio/gresource-tool.c:527 + msgid "Extract a resource file to stdout" + msgstr "解壓縮資源檔案到 stdout" + +-#: gio/gresource-tool.c:525 ++#: ../gio/gresource-tool.c:528 + msgid "FILE PATH" + msgstr "檔案路徑" + +-#: gio/gresource-tool.c:539 ++#: ../gio/gresource-tool.c:542 + msgid "" + "Usage:\n" + " gresource [--section SECTION] COMMAND [ARGS…]\n" +@@ -3366,7 +3626,7 @@ msgstr "" + "使用「gresource help COMMAND」以取得詳細的說明文件。\n" + "\n" + +-#: gio/gresource-tool.c:553 ++#: ../gio/gresource-tool.c:556 + #, c-format + msgid "" + "Usage:\n" +@@ -3381,19 +3641,19 @@ msgstr "" + "%s\n" + "\n" + +-#: gio/gresource-tool.c:560 ++#: ../gio/gresource-tool.c:563 + msgid " SECTION An (optional) elf section name\n" + msgstr " SECTION 一個 (選擇性的) elf 節區名稱\n" + +-#: gio/gresource-tool.c:564 gio/gsettings-tool.c:701 ++#: ../gio/gresource-tool.c:567 ../gio/gsettings-tool.c:720 + msgid " COMMAND The (optional) command to explain\n" + msgstr " COMMAND 要解釋的(選擇性)指令\n" + +-#: gio/gresource-tool.c:570 ++#: ../gio/gresource-tool.c:573 + msgid " FILE An elf file (a binary or a shared library)\n" + msgstr " FILE 一個 elf 檔案 (二元檔或共享程式庫)\n" + +-#: gio/gresource-tool.c:573 ++#: ../gio/gresource-tool.c:576 + msgid "" + " FILE An elf file (a binary or a shared library)\n" + " or a compiled resource file\n" +@@ -3401,82 +3661,90 @@ msgstr "" + " FILE 一個 elf 檔案 (二元檔或共享程式庫)\n" + " 或編譯過的資源檔案\n" + +-#: gio/gresource-tool.c:577 ++#: ../gio/gresource-tool.c:580 + msgid "[PATH]" + msgstr "[路徑]" + +-#: gio/gresource-tool.c:579 ++#: ../gio/gresource-tool.c:582 + msgid " PATH An (optional) resource path (may be partial)\n" + msgstr " PATH 一個 (選擇性的) 資源路徑 (可能為部分)\n" + +-#: gio/gresource-tool.c:580 ++#: ../gio/gresource-tool.c:583 + msgid "PATH" + msgstr "路徑" + +-#: gio/gresource-tool.c:582 ++#: ../gio/gresource-tool.c:585 + msgid " PATH A resource path\n" + msgstr " PATH 資源路徑\n" + +-#: gio/gsettings-tool.c:49 gio/gsettings-tool.c:70 gio/gsettings-tool.c:906 ++#: ../gio/gsettings-tool.c:51 ../gio/gsettings-tool.c:72 ++#: ../gio/gsettings-tool.c:925 + #, c-format + msgid "No such schema “%s”\n" + msgstr "沒有這個「%s」schema \n" + +-#: gio/gsettings-tool.c:55 ++#: ../gio/gsettings-tool.c:57 + #, c-format + msgid "Schema “%s” is not relocatable (path must not be specified)\n" + msgstr "「%s」schema 不可重新配置位置 (路徑不能指定)\n" + +-#: gio/gsettings-tool.c:76 ++#: ../gio/gsettings-tool.c:78 + #, c-format + msgid "Schema “%s” is relocatable (path must be specified)\n" + msgstr "「%s」schema 可重新配置位置 (路徑必須指定)\n" + +-#: gio/gsettings-tool.c:90 ++#: ../gio/gsettings-tool.c:92 ++#, c-format + msgid "Empty path given.\n" + msgstr "指定了空白的路徑。\n" + +-#: gio/gsettings-tool.c:96 ++#: ../gio/gsettings-tool.c:98 ++#, c-format + msgid "Path must begin with a slash (/)\n" + msgstr "路徑必須以斜線 (/) 開頭\n" + +-#: gio/gsettings-tool.c:102 ++#: ../gio/gsettings-tool.c:104 ++#, c-format + msgid "Path must end with a slash (/)\n" + msgstr "路徑必須以斜線 (/) 結尾\n" + +-#: gio/gsettings-tool.c:108 ++#: ../gio/gsettings-tool.c:110 ++#, c-format + msgid "Path must not contain two adjacent slashes (//)\n" + msgstr "路徑不能包含兩個相鄰的斜線 (//)\n" + +-#: gio/gsettings-tool.c:536 ++#: ../gio/gsettings-tool.c:555 ++#, c-format + msgid "The provided value is outside of the valid range\n" + msgstr "提供的值超出了有效的範圍\n" + +-#: gio/gsettings-tool.c:543 ++#: ../gio/gsettings-tool.c:562 ++#, c-format + msgid "The key is not writable\n" + msgstr "這個鍵無法寫入\n" + +-#: gio/gsettings-tool.c:579 ++#: ../gio/gsettings-tool.c:598 + msgid "List the installed (non-relocatable) schemas" + msgstr "列出已安裝的(非-可重新配置)schema" + +-#: gio/gsettings-tool.c:585 ++#: ../gio/gsettings-tool.c:604 + msgid "List the installed relocatable schemas" + msgstr "列出已安裝的可重新配置 schema" + +-#: gio/gsettings-tool.c:591 ++#: ../gio/gsettings-tool.c:610 + msgid "List the keys in SCHEMA" + msgstr "列出 SCHEMA 中的鍵" + +-#: gio/gsettings-tool.c:592 gio/gsettings-tool.c:598 gio/gsettings-tool.c:641 ++#: ../gio/gsettings-tool.c:611 ../gio/gsettings-tool.c:617 ++#: ../gio/gsettings-tool.c:660 + msgid "SCHEMA[:PATH]" + msgstr "SCHEMA[:PATH]" + +-#: gio/gsettings-tool.c:597 ++#: ../gio/gsettings-tool.c:616 + msgid "List the children of SCHEMA" + msgstr "列出 SCHEMA 的子項" + +-#: gio/gsettings-tool.c:603 ++#: ../gio/gsettings-tool.c:622 + msgid "" + "List keys and values, recursively\n" + "If no SCHEMA is given, list all keys\n" +@@ -3484,48 +3752,49 @@ msgstr "" + "遞迴的列出鍵與值\n" + "如果沒有指定 SCHEMA,列出所有鍵\n" + +-#: gio/gsettings-tool.c:605 ++#: ../gio/gsettings-tool.c:624 + msgid "[SCHEMA[:PATH]]" + msgstr "[SCHEMA[:PATH]]" + +-#: gio/gsettings-tool.c:610 ++#: ../gio/gsettings-tool.c:629 + msgid "Get the value of KEY" + msgstr "取得 KEY 的值" + +-#: gio/gsettings-tool.c:611 gio/gsettings-tool.c:617 gio/gsettings-tool.c:623 +-#: gio/gsettings-tool.c:635 gio/gsettings-tool.c:647 ++#: ../gio/gsettings-tool.c:630 ../gio/gsettings-tool.c:636 ++#: ../gio/gsettings-tool.c:642 ../gio/gsettings-tool.c:654 ++#: ../gio/gsettings-tool.c:666 + msgid "SCHEMA[:PATH] KEY" + msgstr "SCHEMA[:PATH] KEY" + +-#: gio/gsettings-tool.c:616 ++#: ../gio/gsettings-tool.c:635 + msgid "Query the range of valid values for KEY" + msgstr "查詢 KEY 有效值的範圍" + +-#: gio/gsettings-tool.c:622 ++#: ../gio/gsettings-tool.c:641 + msgid "Query the description for KEY" + msgstr "查詢 KEY 有效值的範圍" + +-#: gio/gsettings-tool.c:628 ++#: ../gio/gsettings-tool.c:647 + msgid "Set the value of KEY to VALUE" + msgstr "將 KEY 的值設定為 VALUE" + +-#: gio/gsettings-tool.c:629 ++#: ../gio/gsettings-tool.c:648 + msgid "SCHEMA[:PATH] KEY VALUE" + msgstr "SCHEMA[:PATH] KEY VALUE" + +-#: gio/gsettings-tool.c:634 ++#: ../gio/gsettings-tool.c:653 + msgid "Reset KEY to its default value" + msgstr "將 KEY 設定為預設值" + +-#: gio/gsettings-tool.c:640 ++#: ../gio/gsettings-tool.c:659 + msgid "Reset all keys in SCHEMA to their defaults" + msgstr "將 SCHEMA 的所有鍵重設為預設值" + +-#: gio/gsettings-tool.c:646 ++#: ../gio/gsettings-tool.c:665 + msgid "Check if KEY is writable" + msgstr "檢查 KEY 是否可寫入" + +-#: gio/gsettings-tool.c:652 ++#: ../gio/gsettings-tool.c:671 + msgid "" + "Monitor KEY for changes.\n" + "If no KEY is specified, monitor all keys in SCHEMA.\n" +@@ -3535,11 +3804,11 @@ msgstr "" + "如果沒有指定 KEY,會監控 SCHEMA 的所有鍵。\n" + "使用 ^C 可停止監控。\n" + +-#: gio/gsettings-tool.c:655 ++#: ../gio/gsettings-tool.c:674 + msgid "SCHEMA[:PATH] [KEY]" + msgstr "SCHEMA[:PATH] [KEY]" + +-#: gio/gsettings-tool.c:667 ++#: ../gio/gsettings-tool.c:686 + msgid "" + "Usage:\n" + " gsettings --version\n" +@@ -3586,7 +3855,7 @@ msgstr "" + "使用「gsettings help COMMAND」取得詳細的說明。\n" + "\n" + +-#: gio/gsettings-tool.c:691 ++#: ../gio/gsettings-tool.c:710 + #, c-format + msgid "" + "Usage:\n" +@@ -3601,11 +3870,11 @@ msgstr "" + "%s\n" + "\n" + +-#: gio/gsettings-tool.c:697 ++#: ../gio/gsettings-tool.c:716 + msgid " SCHEMADIR A directory to search for additional schemas\n" + msgstr " SCHEMADIR 搜尋額外 schema 的目錄\n" + +-#: gio/gsettings-tool.c:705 ++#: ../gio/gsettings-tool.c:724 + msgid "" + " SCHEMA The name of the schema\n" + " PATH The path, for relocatable schemas\n" +@@ -3613,377 +3882,425 @@ msgstr "" + " SCHEMA 這個 schema 的名稱\n" + " PATH 路徑,用於可重新配置的 schema\n" + +-#: gio/gsettings-tool.c:710 ++#: ../gio/gsettings-tool.c:729 + msgid " KEY The (optional) key within the schema\n" + msgstr " KEY schema 中的(選擇性的)鍵\n" + +-#: gio/gsettings-tool.c:714 ++#: ../gio/gsettings-tool.c:733 + msgid " KEY The key within the schema\n" + msgstr " KEY schema 中的鍵\n" + +-#: gio/gsettings-tool.c:718 ++#: ../gio/gsettings-tool.c:737 + msgid " VALUE The value to set\n" + msgstr " VALUE 要設定的值\n" + +-#: gio/gsettings-tool.c:773 ++#: ../gio/gsettings-tool.c:792 + #, c-format + msgid "Could not load schemas from %s: %s\n" + msgstr "無法載入 %s 的 schema:%s\n" + +-#: gio/gsettings-tool.c:785 ++#: ../gio/gsettings-tool.c:804 ++#, c-format + msgid "No schemas installed\n" + msgstr "尚未安裝 schema\n" + +-#: gio/gsettings-tool.c:864 ++#: ../gio/gsettings-tool.c:883 ++#, c-format + msgid "Empty schema name given\n" + msgstr "指定了空的 schema 名稱\n" + +-#: gio/gsettings-tool.c:919 ++#: ../gio/gsettings-tool.c:938 + #, c-format + msgid "No such key “%s”\n" + msgstr "沒有「%s」鍵\n" + +-#: gio/gsocket.c:413 ++#: ../gio/gsocket.c:419 + msgid "Invalid socket, not initialized" + msgstr "無效的 socket,尚未初始化" + +-#: gio/gsocket.c:420 ++#: ../gio/gsocket.c:426 + #, c-format + msgid "Invalid socket, initialization failed due to: %s" + msgstr "無效的 socket,初始化失敗原因為:%s" + +-#: gio/gsocket.c:428 ++#: ../gio/gsocket.c:434 + msgid "Socket is already closed" + msgstr "Socket 已經關閉" + +-#: gio/gsocket.c:443 gio/gsocket.c:3180 gio/gsocket.c:4403 gio/gsocket.c:4461 ++#: ../gio/gsocket.c:449 ../gio/gsocket.c:3238 ../gio/gsocket.c:4469 ++#: ../gio/gsocket.c:4527 ../gio/gthreadedresolver.c:1438 + msgid "Socket I/O timed out" + msgstr "Socket I/O 逾時" + +-#: gio/gsocket.c:578 ++#: ../gio/gsocket.c:586 + #, c-format + msgid "creating GSocket from fd: %s" + msgstr "正在從 fd 建立 GSocket:%s" + +-#: gio/gsocket.c:607 gio/gsocket.c:661 gio/gsocket.c:668 ++#: ../gio/gsocket.c:646 ../gio/gsocket.c:714 ../gio/gsocket.c:721 + #, c-format + msgid "Unable to create socket: %s" + msgstr "無法建立 socket:%s" + +-#: gio/gsocket.c:661 ++#: ../gio/gsocket.c:714 + msgid "Unknown family was specified" + msgstr "指定了不明的字族" + +-#: gio/gsocket.c:668 ++#: ../gio/gsocket.c:721 + msgid "Unknown protocol was specified" + msgstr "指定了不明的通訊協定" + +-#: gio/gsocket.c:1159 ++#: ../gio/gsocket.c:1190 + #, c-format + msgid "Cannot use datagram operations on a non-datagram socket." + msgstr "不能在非資料電報 socket 上使用資料電報操作。" + +-#: gio/gsocket.c:1176 ++#: ../gio/gsocket.c:1207 + #, c-format + msgid "Cannot use datagram operations on a socket with a timeout set." + msgstr "不能在有逾時設定 socket 上使用資料電報操作。" + +-#: gio/gsocket.c:1983 ++#: ../gio/gsocket.c:2014 + #, c-format + msgid "could not get local address: %s" + msgstr "無法取得本地端位址:%s" + +-#: gio/gsocket.c:2029 ++#: ../gio/gsocket.c:2060 + #, c-format + msgid "could not get remote address: %s" + msgstr "無法取得遠端位址:%s" + +-#: gio/gsocket.c:2095 ++#: ../gio/gsocket.c:2126 + #, c-format + msgid "could not listen: %s" + msgstr "無法聽取:%s" + +-#: gio/gsocket.c:2199 ++#: ../gio/gsocket.c:2230 + #, c-format + msgid "Error binding to address %s: %s" + msgstr "綁定至 %s 位址時發生錯誤:%s" + +-#: gio/gsocket.c:2375 gio/gsocket.c:2412 gio/gsocket.c:2522 gio/gsocket.c:2547 +-#: gio/gsocket.c:2610 gio/gsocket.c:2668 gio/gsocket.c:2686 ++#: ../gio/gsocket.c:2405 ../gio/gsocket.c:2442 ../gio/gsocket.c:2552 ++#: ../gio/gsocket.c:2577 ../gio/gsocket.c:2644 ../gio/gsocket.c:2702 ++#: ../gio/gsocket.c:2720 + #, c-format + msgid "Error joining multicast group: %s" + msgstr "加入多點廣播群組時發生錯誤:%s" + +-#: gio/gsocket.c:2376 gio/gsocket.c:2413 gio/gsocket.c:2523 gio/gsocket.c:2548 +-#: gio/gsocket.c:2611 gio/gsocket.c:2669 gio/gsocket.c:2687 ++#: ../gio/gsocket.c:2406 ../gio/gsocket.c:2443 ../gio/gsocket.c:2553 ++#: ../gio/gsocket.c:2578 ../gio/gsocket.c:2645 ../gio/gsocket.c:2703 ++#: ../gio/gsocket.c:2721 + #, c-format + msgid "Error leaving multicast group: %s" + msgstr "離開多點廣播群組時發生錯誤:%s" + +-#: gio/gsocket.c:2377 ++#: ../gio/gsocket.c:2407 + msgid "No support for source-specific multicast" + msgstr "不支援指定來源的多點廣播" + +-#: gio/gsocket.c:2524 ++#: ../gio/gsocket.c:2554 + msgid "Unsupported socket family" + msgstr "不支援的 socket 家族" + +-#: gio/gsocket.c:2549 ++#: ../gio/gsocket.c:2579 + msgid "source-specific not an IPv4 address" + msgstr "指定來源不是 IPv4 位址" + +-#: gio/gsocket.c:2573 ++#: ../gio/gsocket.c:2603 + #, c-format + msgid "Interface name too long" + msgstr "介面名稱過長" + +-#: gio/gsocket.c:2586 gio/gsocket.c:2636 ++#: ../gio/gsocket.c:2616 ../gio/gsocket.c:2670 + #, c-format + msgid "Interface not found: %s" + msgstr "找不到介面:%s" + +-#: gio/gsocket.c:2612 ++#: ../gio/gsocket.c:2646 + msgid "No support for IPv4 source-specific multicast" + msgstr "不支援 IPv4 指定來源的多點廣播" + +-#: gio/gsocket.c:2670 ++#: ../gio/gsocket.c:2704 + msgid "No support for IPv6 source-specific multicast" + msgstr "不支援 IPv6 指定來源的多點廣播" + +-#: gio/gsocket.c:2879 ++#: ../gio/gsocket.c:2937 + #, c-format + msgid "Error accepting connection: %s" + msgstr "接受連線時發生錯誤:%s" + +-#: gio/gsocket.c:3005 ++#: ../gio/gsocket.c:3063 + msgid "Connection in progress" + msgstr "連線進行中" + +-#: gio/gsocket.c:3056 ++#: ../gio/gsocket.c:3114 + msgid "Unable to get pending error: " + msgstr "無法取得未處理的錯誤:" + +-#: gio/gsocket.c:3245 ++#: ../gio/gsocket.c:3303 + #, c-format + msgid "Error receiving data: %s" + msgstr "接收資料時發生錯誤:%s" + +-#: gio/gsocket.c:3442 ++#: ../gio/gsocket.c:3500 + #, c-format + msgid "Error sending data: %s" + msgstr "傳送資料時發生錯誤:%s" + +-#: gio/gsocket.c:3629 ++#: ../gio/gsocket.c:3687 + #, c-format + msgid "Unable to shutdown socket: %s" + msgstr "無法關閉 socket:%s" + +-#: gio/gsocket.c:3710 ++#: ../gio/gsocket.c:3768 + #, c-format + msgid "Error closing socket: %s" + msgstr "關閉 socket 時發生錯誤:%s" + +-#: gio/gsocket.c:4396 ++#: ../gio/gsocket.c:4462 + #, c-format + msgid "Waiting for socket condition: %s" + msgstr "等候 socket 情況:%s" + +-#: gio/gsocket.c:4774 gio/gsocket.c:4776 gio/gsocket.c:4923 gio/gsocket.c:5008 +-#: gio/gsocket.c:5186 gio/gsocket.c:5226 gio/gsocket.c:5228 ++#: ../gio/gsocket.c:4852 ../gio/gsocket.c:4868 ../gio/gsocket.c:4881 ++#, fuzzy, c-format ++msgid "Unable to send message: %s" ++msgstr "傳送訊息時發生錯誤:%s" ++ ++#: ../gio/gsocket.c:4853 ../gio/gsocket.c:4869 ../gio/gsocket.c:4882 ++msgid "Message vectors too large" ++msgstr "" ++ ++#: ../gio/gsocket.c:4898 ../gio/gsocket.c:4900 ../gio/gsocket.c:5047 ++#: ../gio/gsocket.c:5132 ../gio/gsocket.c:5310 ../gio/gsocket.c:5350 ++#: ../gio/gsocket.c:5352 + #, c-format + msgid "Error sending message: %s" + msgstr "傳送訊息時發生錯誤:%s" + +-#: gio/gsocket.c:4950 ++#: ../gio/gsocket.c:5074 + msgid "GSocketControlMessage not supported on Windows" + msgstr "視窗不支援 GSocketControlMessage" + +-#: gio/gsocket.c:5419 gio/gsocket.c:5492 gio/gsocket.c:5718 ++#: ../gio/gsocket.c:5547 ../gio/gsocket.c:5623 ../gio/gsocket.c:5849 + #, c-format + msgid "Error receiving message: %s" + msgstr "取回郵件發生錯誤:%s" + +-#: gio/gsocket.c:5990 gio/gsocket.c:6038 ++#: ../gio/gsocket.c:6134 ../gio/gsocket.c:6145 ../gio/gsocket.c:6208 + #, c-format + msgid "Unable to read socket credentials: %s" + msgstr "無法讀取 socket 機密:%s" + +-#: gio/gsocket.c:6047 ++#: ../gio/gsocket.c:6217 + msgid "g_socket_get_credentials not implemented for this OS" + msgstr "g_socket_get_credentials 沒有在這個 OS 上實作" + +-#: gio/gsocketclient.c:182 ++#: ../gio/gsocketclient.c:193 + #, c-format + msgid "Could not connect to proxy server %s: " + msgstr "無法連線到代理伺服器 %s:" + +-#: gio/gsocketclient.c:196 ++#: ../gio/gsocketclient.c:207 + #, c-format + msgid "Could not connect to %s: " + msgstr "無法連接到 %s:" + +-#: gio/gsocketclient.c:198 ++#: ../gio/gsocketclient.c:209 + msgid "Could not connect: " + msgstr "無法連接:" + +-#: gio/gsocketclient.c:1037 gio/gsocketclient.c:1866 +-msgid "Unknown error on connect" +-msgstr "連線時有不明的錯誤" +- +-#: gio/gsocketclient.c:1091 gio/gsocketclient.c:1668 ++#: ../gio/gsocketclient.c:1204 ../gio/gsocketclient.c:1807 + msgid "Proxying over a non-TCP connection is not supported." + msgstr "不支援嘗試透過非-TCP 連線使用代理伺服器。" + +-#: gio/gsocketclient.c:1120 gio/gsocketclient.c:1698 ++#: ../gio/gsocketclient.c:1236 ../gio/gsocketclient.c:1836 + #, c-format + msgid "Proxy protocol “%s” is not supported." + msgstr "指定的通訊協定「%s」不被支援。" + +-#: gio/gsocketlistener.c:230 ++#: ../gio/gsocketlistener.c:232 + msgid "Listener is already closed" + msgstr "聽取程式已經關閉" + +-#: gio/gsocketlistener.c:276 ++#: ../gio/gsocketlistener.c:278 + msgid "Added socket is closed" + msgstr "加入的 socket 已經關閉" + +-#: gio/gsocks4aproxy.c:118 ++#: ../gio/gsocks4aproxy.c:120 + #, c-format + msgid "SOCKSv4 does not support IPv6 address “%s”" + msgstr "SOCKSv4 不支援 IPv6 位址「%s」" + +-#: gio/gsocks4aproxy.c:136 ++#: ../gio/gsocks4aproxy.c:138 + msgid "Username is too long for SOCKSv4 protocol" + msgstr "使用者名稱對 SOCKSv4 通訊協定" + +-#: gio/gsocks4aproxy.c:153 ++#: ../gio/gsocks4aproxy.c:155 + #, c-format + msgid "Hostname “%s” is too long for SOCKSv4 protocol" + msgstr "主機名稱「%s」對 SOCKSv4 通訊協定來說太長了" + +-#: gio/gsocks4aproxy.c:179 ++#: ../gio/gsocks4aproxy.c:181 + msgid "The server is not a SOCKSv4 proxy server." + msgstr "伺服器不是 SOCKSv4 代理伺服器。" + +-#: gio/gsocks4aproxy.c:186 ++#: ../gio/gsocks4aproxy.c:188 + msgid "Connection through SOCKSv4 server was rejected" + msgstr "透過 SOCKSv4 伺服器連線被拒絕" + +-#: gio/gsocks5proxy.c:153 gio/gsocks5proxy.c:338 gio/gsocks5proxy.c:348 ++#: ../gio/gsocks5proxy.c:155 ../gio/gsocks5proxy.c:340 ++#: ../gio/gsocks5proxy.c:350 + msgid "The server is not a SOCKSv5 proxy server." + msgstr "伺服器不是 SOCKSv5 代理伺服器。" + +-#: gio/gsocks5proxy.c:167 gio/gsocks5proxy.c:184 ++#: ../gio/gsocks5proxy.c:169 ../gio/gsocks5proxy.c:186 + msgid "The SOCKSv5 proxy requires authentication." + msgstr "SOCKv5 代理伺服器要求核對。" + +-#: gio/gsocks5proxy.c:191 ++#: ../gio/gsocks5proxy.c:193 + msgid "" + "The SOCKSv5 proxy requires an authentication method that is not supported by " + "GLib." + msgstr "SOCKSv5 代理需要的核對方式尚未被 GLib 支援。" + +-#: gio/gsocks5proxy.c:220 ++#: ../gio/gsocks5proxy.c:222 + msgid "Username or password is too long for SOCKSv5 protocol." + msgstr "使用者名稱或密碼對 SOCKSv5 通訊協定來說太長了。" + +-#: gio/gsocks5proxy.c:250 ++#: ../gio/gsocks5proxy.c:252 + msgid "SOCKSv5 authentication failed due to wrong username or password." + msgstr "SOCKSv5 核對由於錯誤的使用者名稱或密碼失敗了。" + +-#: gio/gsocks5proxy.c:300 ++#: ../gio/gsocks5proxy.c:302 + #, c-format + msgid "Hostname “%s” is too long for SOCKSv5 protocol" + msgstr "主機名稱「%s」對 SOCKSv5 通訊協定來說太長了" + +-#: gio/gsocks5proxy.c:362 ++#: ../gio/gsocks5proxy.c:364 + msgid "The SOCKSv5 proxy server uses unknown address type." + msgstr "SOCKSv5 代理伺服器使用了不明的位址類型。" + +-#: gio/gsocks5proxy.c:369 ++#: ../gio/gsocks5proxy.c:371 + msgid "Internal SOCKSv5 proxy server error." + msgstr "內部的 SOCKSv5 代理伺服器錯誤。" + +-#: gio/gsocks5proxy.c:375 ++#: ../gio/gsocks5proxy.c:377 + msgid "SOCKSv5 connection not allowed by ruleset." + msgstr "SOCKSv5 連線不被規則組允許。" + +-#: gio/gsocks5proxy.c:382 ++#: ../gio/gsocks5proxy.c:384 + msgid "Host unreachable through SOCKSv5 server." + msgstr "主機無法透過 SOCKSv5 代理伺服器抵達。" + +-#: gio/gsocks5proxy.c:388 ++#: ../gio/gsocks5proxy.c:390 + msgid "Network unreachable through SOCKSv5 proxy." + msgstr "網路無法透過 SOCKSv5 代理伺服器抵達。" + +-#: gio/gsocks5proxy.c:394 ++#: ../gio/gsocks5proxy.c:396 + msgid "Connection refused through SOCKSv5 proxy." + msgstr "透過 SOCKSv5 代理伺服器連線被拒絕。" + +-#: gio/gsocks5proxy.c:400 ++#: ../gio/gsocks5proxy.c:402 + msgid "SOCKSv5 proxy does not support “connect” command." + msgstr "SOCKSv5 代理伺服器不支援「connect」指令。" + +-#: gio/gsocks5proxy.c:406 ++#: ../gio/gsocks5proxy.c:408 + msgid "SOCKSv5 proxy does not support provided address type." + msgstr "SOCKSv5 代理伺服器不支援提供的位址類型。" + +-#: gio/gsocks5proxy.c:412 ++#: ../gio/gsocks5proxy.c:414 + msgid "Unknown SOCKSv5 proxy error." + msgstr "不明的 SOCKSv5 代理伺服器錯誤。" + +-#: gio/gthemedicon.c:595 ++#: ../gio/gtestdbus.c:614 ../glib/gspawn-win32.c:433 ++#, c-format ++msgid "Failed to create pipe for communicating with child process (%s)" ++msgstr "無法建立管道來和副進程溝通 (%s)" ++ ++#: ../gio/gtestdbus.c:621 ++#, fuzzy, c-format ++msgid "Pipes are not supported in this platform" ++msgstr "不支援在串流中搜尋" ++ ++#: ../gio/gthemedicon.c:597 + #, c-format + msgid "Can’t handle version %d of GThemedIcon encoding" + msgstr "不能處理版本為 %d 的 GThemedIcon 編碼" + +-#: gio/gthreadedresolver.c:152 ++#: ../gio/gthreadedresolver.c:319 + msgid "No valid addresses were found" + msgstr "找不到有效的位址" + +-#: gio/gthreadedresolver.c:337 ++#: ../gio/gthreadedresolver.c:514 + #, c-format + msgid "Error reverse-resolving “%s”: %s" + msgstr "反向解析「%s」時發生錯誤:%s" + +-#: gio/gthreadedresolver.c:676 gio/gthreadedresolver.c:755 +-#: gio/gthreadedresolver.c:853 gio/gthreadedresolver.c:903 ++#. Translators: the placeholder is a DNS record type, such as ‘MX’ or ‘SRV’ ++#: ../gio/gthreadedresolver.c:737 ../gio/gthreadedresolver.c:759 ++#: ../gio/gthreadedresolver.c:813 ../gio/gthreadedresolver.c:860 ++#: ../gio/gthreadedresolver.c:889 ../gio/gthreadedresolver.c:901 ++#, c-format ++msgid "Error parsing DNS %s record: malformed DNS packet" ++msgstr "" ++ ++#: ../gio/gthreadedresolver.c:959 ../gio/gthreadedresolver.c:1096 ++#: ../gio/gthreadedresolver.c:1194 ../gio/gthreadedresolver.c:1244 + #, c-format + msgid "No DNS record of the requested type for “%s”" + msgstr "「%s」的要求類型沒有 DNS 紀錄" + +-#: gio/gthreadedresolver.c:681 gio/gthreadedresolver.c:858 ++#: ../gio/gthreadedresolver.c:964 ../gio/gthreadedresolver.c:1199 + #, c-format + msgid "Temporarily unable to resolve “%s”" + msgstr "暫時無法解析「%s」" + +-#: gio/gthreadedresolver.c:686 gio/gthreadedresolver.c:863 +-#: gio/gthreadedresolver.c:973 ++#: ../gio/gthreadedresolver.c:969 ../gio/gthreadedresolver.c:1204 ++#: ../gio/gthreadedresolver.c:1300 + #, c-format + msgid "Error resolving “%s”" + msgstr "解析「%s」時發生錯誤" + +-#: gio/gtlscertificate.c:243 ++#: ../gio/gthreadedresolver.c:983 ../gio/gthreadedresolver.c:1007 ++#: ../gio/gthreadedresolver.c:1032 ../gio/gthreadedresolver.c:1047 ++msgid "Malformed DNS packet" ++msgstr "" ++ ++#: ../gio/gthreadedresolver.c:1089 ++#, fuzzy, c-format ++msgid "Failed to parse DNS response for “%s”: " ++msgstr "讀取檔案「%s」失敗:%s" ++ ++#: ../gio/gtlscertificate.c:480 + msgid "No PEM-encoded private key found" + msgstr "找不到 PEM 編碼的私鑰" + +-#: gio/gtlscertificate.c:253 ++#: ../gio/gtlscertificate.c:490 + msgid "Cannot decrypt PEM-encoded private key" + msgstr "不能解鎖 PEM 編碼的私鑰" + +-#: gio/gtlscertificate.c:264 ++#: ../gio/gtlscertificate.c:501 + msgid "Could not parse PEM-encoded private key" + msgstr "無法解析 PEM 編碼的私鑰" + +-#: gio/gtlscertificate.c:291 ++#: ../gio/gtlscertificate.c:528 + msgid "No PEM-encoded certificate found" + msgstr "找到非 PEM 編碼的憑證" + +-#: gio/gtlscertificate.c:300 ++#: ../gio/gtlscertificate.c:537 + msgid "Could not parse PEM-encoded certificate" + msgstr "無法解析 PEM 編碼的憑證" + +-#: gio/gtlspassword.c:111 ++#: ../gio/gtlscertificate.c:800 ++msgid "The current TLS backend does not support PKCS #12" ++msgstr "" ++ ++#: ../gio/gtlscertificate.c:1017 ++msgid "This GTlsBackend does not support creating PKCS #11 certificates" ++msgstr "" ++ ++#: ../gio/gtlspassword.c:113 + msgid "" + "This is the last chance to enter the password correctly before your access " + "is locked out." +@@ -3991,306 +4308,312 @@ msgstr "這是在您的存取被鎖定之前最後輸入密碼的機會。" + + #. Translators: This is not the 'This is the last chance' string. It is + #. * displayed when more than one attempt is allowed. +-#: gio/gtlspassword.c:115 ++#: ../gio/gtlspassword.c:117 + msgid "" + "Several passwords entered have been incorrect, and your access will be " + "locked out after further failures." + msgstr "" + "您已經輸入多入不正確的密碼,如果接下來還是輸入錯誤將會鎖定您的存取權限。" + +-#: gio/gtlspassword.c:117 ++#: ../gio/gtlspassword.c:119 + msgid "The password entered is incorrect." + msgstr "輸入的密碼是不正確的。" + +-#: gio/gunixconnection.c:166 gio/gunixconnection.c:579 ++#: ../gio/gunixconnection.c:127 ++#, fuzzy ++msgid "Sending FD is not supported" ++msgstr "不支援設定特性 %s" ++ ++#: ../gio/gunixconnection.c:181 ../gio/gunixconnection.c:602 + #, c-format + msgid "Expecting 1 control message, got %d" + msgid_plural "Expecting 1 control message, got %d" + msgstr[0] "預期有 1 個控制訊息,卻收到 %d" + +-#: gio/gunixconnection.c:182 gio/gunixconnection.c:591 ++#: ../gio/gunixconnection.c:197 ../gio/gunixconnection.c:614 + msgid "Unexpected type of ancillary data" + msgstr "輔助資料的未預期類型" + +-#: gio/gunixconnection.c:200 ++#: ../gio/gunixconnection.c:216 + #, c-format + msgid "Expecting one fd, but got %d\n" + msgid_plural "Expecting one fd, but got %d\n" + msgstr[0] "預期有 1 個 fd,卻收到 %d\n" + +-#: gio/gunixconnection.c:219 ++#: ../gio/gunixconnection.c:235 + msgid "Received invalid fd" + msgstr "收到無效的 fd" + +-#: gio/gunixconnection.c:363 ++#: ../gio/gunixconnection.c:242 ++#, fuzzy ++msgid "Receiving FD is not supported" ++msgstr "不支援 URIs" ++ ++#: ../gio/gunixconnection.c:384 + msgid "Error sending credentials: " + msgstr "傳送憑證時發生錯誤:" + +-#: gio/gunixconnection.c:520 ++#: ../gio/gunixconnection.c:542 + #, c-format + msgid "Error checking if SO_PASSCRED is enabled for socket: %s" + msgstr "檢查 SO_PASSCRED 在 socket 是否啟用時發生錯誤:%s" + +-#: gio/gunixconnection.c:536 ++#: ../gio/gunixconnection.c:558 + #, c-format + msgid "Error enabling SO_PASSCRED: %s" + msgstr "啟用 SO_PASSCRED 時發生錯誤:%s" + +-#: gio/gunixconnection.c:565 ++#: ../gio/gunixconnection.c:587 + msgid "" + "Expecting to read a single byte for receiving credentials but read zero bytes" + msgstr "預期接收憑證要讀取單一位元組,但讀取到零位元組" + +-#: gio/gunixconnection.c:605 ++#: ../gio/gunixconnection.c:628 + #, c-format + msgid "Not expecting control message, but got %d" + msgstr "不是預期的控制訊息,卻收到 %d" + +-#: gio/gunixconnection.c:630 ++#: ../gio/gunixconnection.c:653 + #, c-format + msgid "Error while disabling SO_PASSCRED: %s" + msgstr "停用 SO_PASSCRED 時發生錯誤:%s" + +-#: gio/gunixinputstream.c:362 gio/gunixinputstream.c:383 ++#: ../gio/gunixinputstream.c:359 ../gio/gunixinputstream.c:380 + #, c-format + msgid "Error reading from file descriptor: %s" + msgstr "讀取檔案描述狀態時發生錯誤:%s" + +-#: gio/gunixinputstream.c:416 gio/gunixoutputstream.c:525 +-#: gio/gwin32inputstream.c:217 gio/gwin32outputstream.c:204 ++#: ../gio/gunixinputstream.c:413 ../gio/gunixoutputstream.c:522 ++#: ../gio/gwin32inputstream.c:219 ../gio/gwin32outputstream.c:206 + #, c-format + msgid "Error closing file descriptor: %s" + msgstr "關閉檔案描述狀態時發生錯誤:%s" + +-#: gio/gunixmounts.c:2755 gio/gunixmounts.c:2808 ++#: ../gio/gunixmounts.c:2826 ../gio/gunixmounts.c:2879 + msgid "Filesystem root" + msgstr "根檔案系統" + +-#: gio/gunixoutputstream.c:362 gio/gunixoutputstream.c:382 +-#: gio/gunixoutputstream.c:469 gio/gunixoutputstream.c:489 +-#: gio/gunixoutputstream.c:635 ++#: ../gio/gunixoutputstream.c:359 ../gio/gunixoutputstream.c:379 ++#: ../gio/gunixoutputstream.c:466 ../gio/gunixoutputstream.c:486 ++#: ../gio/gunixoutputstream.c:632 + #, c-format + msgid "Error writing to file descriptor: %s" + msgstr "寫入檔案描述狀態時發生錯誤:%s" + +-#: gio/gunixsocketaddress.c:243 ++#: ../gio/gunixsocketaddress.c:253 + msgid "Abstract UNIX domain socket addresses not supported on this system" + msgstr "這個系統不支授抽象 UNIX 網域 socket 位址" + +-#: gio/gvolume.c:438 ++#: ../gio/gvolume.c:440 + msgid "volume doesn’t implement eject" + msgstr "儲存區尚未實作退出(eject)" + + #. Translators: This is an error + #. * message for volume objects that + #. * don't implement any of eject or eject_with_operation. +-#: gio/gvolume.c:515 ++#: ../gio/gvolume.c:517 + msgid "volume doesn’t implement eject or eject_with_operation" + msgstr "儲存區尚未實作退出(eject) 或 eject_with_operation" + +-#: gio/gwin32inputstream.c:185 ++#: ../gio/gwin32inputstream.c:187 + #, c-format + msgid "Error reading from handle: %s" + msgstr "從處理器讀取時發生錯誤:%s" + +-#: gio/gwin32inputstream.c:232 gio/gwin32outputstream.c:219 ++#: ../gio/gwin32inputstream.c:234 ../gio/gwin32outputstream.c:221 + #, c-format + msgid "Error closing handle: %s" + msgstr "關閉處理器時發生錯誤:%s" + +-#: gio/gwin32outputstream.c:172 ++#: ../gio/gwin32outputstream.c:174 + #, c-format + msgid "Error writing to handle: %s" + msgstr "寫入至處理器時發生錯誤:%s" + +-#: gio/gzlibcompressor.c:394 gio/gzlibdecompressor.c:347 ++#: ../gio/gzlibcompressor.c:396 ../gio/gzlibdecompressor.c:349 + msgid "Not enough memory" + msgstr "沒有足夠的記憶體" + +-#: gio/gzlibcompressor.c:401 gio/gzlibdecompressor.c:354 ++#: ../gio/gzlibcompressor.c:403 ../gio/gzlibdecompressor.c:356 + #, c-format + msgid "Internal error: %s" + msgstr "內部的錯誤:%s" + +-#: gio/gzlibcompressor.c:414 gio/gzlibdecompressor.c:368 ++#: ../gio/gzlibcompressor.c:416 ../gio/gzlibdecompressor.c:370 + msgid "Need more input" + msgstr "需要更多輸入" + +-#: gio/gzlibdecompressor.c:340 ++#: ../gio/gzlibdecompressor.c:342 + msgid "Invalid compressed data" + msgstr "無效的壓縮資料" + +-#: gio/tests/gdbus-daemon.c:18 ++#: ../gio/tests/gdbus-daemon.c:18 + msgid "Address to listen on" + msgstr "監聽的位址" + +-#: gio/tests/gdbus-daemon.c:19 ++#: ../gio/tests/gdbus-daemon.c:19 + msgid "Ignored, for compat with GTestDbus" + msgstr "已忽略,用於 GTestDbus 相容性" + +-#: gio/tests/gdbus-daemon.c:20 ++#: ../gio/tests/gdbus-daemon.c:20 + msgid "Print address" + msgstr "顯示位址" + +-#: gio/tests/gdbus-daemon.c:21 ++#: ../gio/tests/gdbus-daemon.c:21 + msgid "Print address in shell mode" + msgstr "以系統殼模式顯示位址" + +-#: gio/tests/gdbus-daemon.c:28 ++#: ../gio/tests/gdbus-daemon.c:28 + msgid "Run a dbus service" + msgstr "執行 dbus 服務" + +-#: gio/tests/gdbus-daemon.c:42 ++#: ../gio/tests/gdbus-daemon.c:42 ++#, c-format + msgid "Wrong args\n" + msgstr "錯誤引數\n" + +-#: glib/gbookmarkfile.c:768 ++#: ../glib/gbookmarkfile.c:861 + #, c-format + msgid "Unexpected attribute “%s” for element “%s”" + msgstr "「%2$s」元素中有未預期的「%1$s」特性" + +-#: glib/gbookmarkfile.c:779 glib/gbookmarkfile.c:859 glib/gbookmarkfile.c:869 +-#: glib/gbookmarkfile.c:982 ++#: ../glib/gbookmarkfile.c:872 ../glib/gbookmarkfile.c:952 ++#: ../glib/gbookmarkfile.c:962 ../glib/gbookmarkfile.c:1075 + #, c-format + msgid "Attribute “%s” of element “%s” not found" + msgstr "找不到「%2$s」元素中的「%1$s」特性" + +-#: glib/gbookmarkfile.c:1191 glib/gbookmarkfile.c:1256 +-#: glib/gbookmarkfile.c:1320 glib/gbookmarkfile.c:1330 ++#: ../glib/gbookmarkfile.c:1284 ../glib/gbookmarkfile.c:1349 ++#: ../glib/gbookmarkfile.c:1413 ../glib/gbookmarkfile.c:1423 + #, c-format + msgid "Unexpected tag “%s”, tag “%s” expected" + msgstr "未預期「%s」標籤,應為「%s」標籤" + +-#: glib/gbookmarkfile.c:1216 glib/gbookmarkfile.c:1230 +-#: glib/gbookmarkfile.c:1298 glib/gbookmarkfile.c:1344 ++#: ../glib/gbookmarkfile.c:1309 ../glib/gbookmarkfile.c:1323 ++#: ../glib/gbookmarkfile.c:1391 ../glib/gbookmarkfile.c:1437 + #, c-format + msgid "Unexpected tag “%s” inside “%s”" + msgstr "「%2$s」中有未預期的「%1$s」標籤" + +-#: glib/gbookmarkfile.c:1624 ++#: ../glib/gbookmarkfile.c:1717 + #, c-format + msgid "Invalid date/time ‘%s’ in bookmark file" + msgstr "書籤檔案中的「%s」日期/時間無效" + +-#: glib/gbookmarkfile.c:1827 ++#: ../glib/gbookmarkfile.c:1956 + msgid "No valid bookmark file found in data dirs" + msgstr "在資料目錄中找不到有效的書籤檔案" + +-#: glib/gbookmarkfile.c:2028 ++#: ../glib/gbookmarkfile.c:2157 + #, c-format + msgid "A bookmark for URI “%s” already exists" + msgstr "URI「%s」的書籤已經存在" + +-#: glib/gbookmarkfile.c:2077 glib/gbookmarkfile.c:2235 +-#: glib/gbookmarkfile.c:2320 glib/gbookmarkfile.c:2400 +-#: glib/gbookmarkfile.c:2485 glib/gbookmarkfile.c:2619 +-#: glib/gbookmarkfile.c:2752 glib/gbookmarkfile.c:2887 +-#: glib/gbookmarkfile.c:2929 glib/gbookmarkfile.c:3026 +-#: glib/gbookmarkfile.c:3147 glib/gbookmarkfile.c:3341 +-#: glib/gbookmarkfile.c:3482 glib/gbookmarkfile.c:3701 +-#: glib/gbookmarkfile.c:3790 glib/gbookmarkfile.c:3879 +-#: glib/gbookmarkfile.c:3998 ++#: ../glib/gbookmarkfile.c:2206 ../glib/gbookmarkfile.c:2364 ++#: ../glib/gbookmarkfile.c:2449 ../glib/gbookmarkfile.c:2529 ++#: ../glib/gbookmarkfile.c:2614 ../glib/gbookmarkfile.c:2748 ++#: ../glib/gbookmarkfile.c:2881 ../glib/gbookmarkfile.c:3016 ++#: ../glib/gbookmarkfile.c:3058 ../glib/gbookmarkfile.c:3155 ++#: ../glib/gbookmarkfile.c:3276 ../glib/gbookmarkfile.c:3470 ++#: ../glib/gbookmarkfile.c:3611 ../glib/gbookmarkfile.c:3830 ++#: ../glib/gbookmarkfile.c:3919 ../glib/gbookmarkfile.c:4008 ++#: ../glib/gbookmarkfile.c:4127 + #, c-format + msgid "No bookmark found for URI “%s”" + msgstr "找不到 URI「%s」的書籤" + +-#: glib/gbookmarkfile.c:2409 ++#: ../glib/gbookmarkfile.c:2538 + #, c-format + msgid "No MIME type defined in the bookmark for URI “%s”" + msgstr "URI「%s」書籤中沒有定義 MIME 類型" + +-#: glib/gbookmarkfile.c:2494 ++#: ../glib/gbookmarkfile.c:2623 + #, c-format + msgid "No private flag has been defined in bookmark for URI “%s”" + msgstr "URI「%s」書籤中沒有私有旗幟" + +-#: glib/gbookmarkfile.c:3035 ++#: ../glib/gbookmarkfile.c:3164 + #, c-format + msgid "No groups set in bookmark for URI “%s”" + msgstr "URI「%s」書籤中沒有設定群組" + +-#: glib/gbookmarkfile.c:3503 glib/gbookmarkfile.c:3711 ++#: ../glib/gbookmarkfile.c:3632 ../glib/gbookmarkfile.c:3840 + #, c-format + msgid "No application with name “%s” registered a bookmark for “%s”" + msgstr "沒有名為「%s」的應用程式註冊書籤「%s」" + +-#: glib/gbookmarkfile.c:3734 ++#: ../glib/gbookmarkfile.c:3863 + #, c-format + msgid "Failed to expand exec line “%s” with URI “%s”" + msgstr "以 URI「%2$s」展開 exec 列「%1$s」失敗" + +-#: glib/gconvert.c:467 ++#: ../glib/gconvert.c:469 + msgid "Unrepresentable character in conversion input" + msgstr "轉換輸入資料時出現無法表示的字元" + +-#: glib/gconvert.c:494 glib/gutf8.c:871 glib/gutf8.c:1083 glib/gutf8.c:1220 +-#: glib/gutf8.c:1324 ++#: ../glib/gconvert.c:496 ../glib/gutf8.c:954 ../glib/gutf8.c:1167 ++#: ../glib/gutf8.c:1304 ../glib/gutf8.c:1408 + msgid "Partial character sequence at end of input" + msgstr "輸入資料結束時字元仍未完整" + +-#: glib/gconvert.c:763 ++#: ../glib/gconvert.c:767 + #, c-format + msgid "Cannot convert fallback “%s” to codeset “%s”" + msgstr "無法將後備字串「%s」的字元集轉換成「%s」" + +-#: glib/gconvert.c:935 ++#: ../glib/gconvert.c:939 + msgid "Embedded NUL byte in conversion input" + msgstr "轉換輸入資料時出現內嵌的 NUL 位元組" + +-#: glib/gconvert.c:956 ++#: ../glib/gconvert.c:960 + msgid "Embedded NUL byte in conversion output" + msgstr "轉換輸出資料時出現內嵌的 NUL 位元組" + +-#: glib/gconvert.c:1641 ++#: ../glib/gconvert.c:1698 + #, c-format + msgid "The URI “%s” is not an absolute URI using the “file” scheme" + msgstr "URI「%s」不是使用「file」格式的絕對 URI" + +-#: glib/gconvert.c:1651 +-#, c-format +-msgid "The local file URI “%s” may not include a “#”" +-msgstr "本機檔案的 URI「%s」不應含有「#」" +- +-#: glib/gconvert.c:1668 ++#: ../glib/gconvert.c:1728 + #, c-format + msgid "The URI “%s” is invalid" + msgstr "URI「%s」無效" + +-#: glib/gconvert.c:1680 ++#: ../glib/gconvert.c:1741 + #, c-format + msgid "The hostname of the URI “%s” is invalid" + msgstr "URI「%s」中的主機名稱無效" + +-#: glib/gconvert.c:1696 ++#: ../glib/gconvert.c:1758 + #, c-format + msgid "The URI “%s” contains invalidly escaped characters" + msgstr "URI「%s」含有「不正確跳出」的字元" + +-#: glib/gconvert.c:1768 ++#: ../glib/gconvert.c:1832 + #, c-format + msgid "The pathname “%s” is not an absolute path" + msgstr "路徑名稱「%s」不是絕對路徑" + + #. Translators: this is the preferred format for expressing the date and the time +-#: glib/gdatetime.c:220 ++#: ../glib/gdatetime.c:228 + msgctxt "GDateTime" + msgid "%a %b %e %H:%M:%S %Y" + msgstr "%Y年%m月%d日 (%A) %H時%M分%S秒" + + #. Translators: this is the preferred format for expressing the date +-#: glib/gdatetime.c:223 ++#: ../glib/gdatetime.c:231 + msgctxt "GDateTime" + msgid "%m/%d/%y" + msgstr "%y/%m/%d" + + #. Translators: this is the preferred format for expressing the time +-#: glib/gdatetime.c:226 ++#: ../glib/gdatetime.c:234 + msgctxt "GDateTime" + msgid "%H:%M:%S" + msgstr "%H:%M:%S" + + #. Translators: this is the preferred format for expressing 12 hour time +-#: glib/gdatetime.c:229 ++#: ../glib/gdatetime.c:237 + msgctxt "GDateTime" + msgid "%I:%M:%S %p" + msgstr "%p %I時%M分%S秒" +@@ -4311,62 +4634,62 @@ msgstr "%p %I時%M分%S秒" + #. * non-European) there is no difference between the standalone and + #. * complete date form. + #. +-#: glib/gdatetime.c:268 ++#: ../glib/gdatetime.c:276 + msgctxt "full month name" + msgid "January" + msgstr "一月" + +-#: glib/gdatetime.c:270 ++#: ../glib/gdatetime.c:278 + msgctxt "full month name" + msgid "February" + msgstr "二月" + +-#: glib/gdatetime.c:272 ++#: ../glib/gdatetime.c:280 + msgctxt "full month name" + msgid "March" + msgstr "三月" + +-#: glib/gdatetime.c:274 ++#: ../glib/gdatetime.c:282 + msgctxt "full month name" + msgid "April" + msgstr "四月" + +-#: glib/gdatetime.c:276 ++#: ../glib/gdatetime.c:284 + msgctxt "full month name" + msgid "May" + msgstr "五月" + +-#: glib/gdatetime.c:278 ++#: ../glib/gdatetime.c:286 + msgctxt "full month name" + msgid "June" + msgstr "六月" + +-#: glib/gdatetime.c:280 ++#: ../glib/gdatetime.c:288 + msgctxt "full month name" + msgid "July" + msgstr "七月" + +-#: glib/gdatetime.c:282 ++#: ../glib/gdatetime.c:290 + msgctxt "full month name" + msgid "August" + msgstr "八月" + +-#: glib/gdatetime.c:284 ++#: ../glib/gdatetime.c:292 + msgctxt "full month name" + msgid "September" + msgstr "九月" + +-#: glib/gdatetime.c:286 ++#: ../glib/gdatetime.c:294 + msgctxt "full month name" + msgid "October" + msgstr "十月" + +-#: glib/gdatetime.c:288 ++#: ../glib/gdatetime.c:296 + msgctxt "full month name" + msgid "November" + msgstr "十一月" + +-#: glib/gdatetime.c:290 ++#: ../glib/gdatetime.c:298 + msgctxt "full month name" + msgid "December" + msgstr "十二月" +@@ -4388,132 +4711,132 @@ msgstr "十二月" + #. * other platform. Here are abbreviated month names in a form + #. * appropriate when they are used standalone. + #. +-#: glib/gdatetime.c:322 ++#: ../glib/gdatetime.c:330 + msgctxt "abbreviated month name" + msgid "Jan" + msgstr "一月" + +-#: glib/gdatetime.c:324 ++#: ../glib/gdatetime.c:332 + msgctxt "abbreviated month name" + msgid "Feb" + msgstr "二月" + +-#: glib/gdatetime.c:326 ++#: ../glib/gdatetime.c:334 + msgctxt "abbreviated month name" + msgid "Mar" + msgstr "三月" + +-#: glib/gdatetime.c:328 ++#: ../glib/gdatetime.c:336 + msgctxt "abbreviated month name" + msgid "Apr" + msgstr "四月" + +-#: glib/gdatetime.c:330 ++#: ../glib/gdatetime.c:338 + msgctxt "abbreviated month name" + msgid "May" + msgstr "五月" + +-#: glib/gdatetime.c:332 ++#: ../glib/gdatetime.c:340 + msgctxt "abbreviated month name" + msgid "Jun" + msgstr "六月" + +-#: glib/gdatetime.c:334 ++#: ../glib/gdatetime.c:342 + msgctxt "abbreviated month name" + msgid "Jul" + msgstr "七月" + +-#: glib/gdatetime.c:336 ++#: ../glib/gdatetime.c:344 + msgctxt "abbreviated month name" + msgid "Aug" + msgstr "八月" + +-#: glib/gdatetime.c:338 ++#: ../glib/gdatetime.c:346 + msgctxt "abbreviated month name" + msgid "Sep" + msgstr "九月" + +-#: glib/gdatetime.c:340 ++#: ../glib/gdatetime.c:348 + msgctxt "abbreviated month name" + msgid "Oct" + msgstr "十月" + +-#: glib/gdatetime.c:342 ++#: ../glib/gdatetime.c:350 + msgctxt "abbreviated month name" + msgid "Nov" + msgstr "十一月" + +-#: glib/gdatetime.c:344 ++#: ../glib/gdatetime.c:352 + msgctxt "abbreviated month name" + msgid "Dec" + msgstr "十二月" + +-#: glib/gdatetime.c:359 ++#: ../glib/gdatetime.c:367 + msgctxt "full weekday name" + msgid "Monday" + msgstr "星期一" + +-#: glib/gdatetime.c:361 ++#: ../glib/gdatetime.c:369 + msgctxt "full weekday name" + msgid "Tuesday" + msgstr "星期二" + +-#: glib/gdatetime.c:363 ++#: ../glib/gdatetime.c:371 + msgctxt "full weekday name" + msgid "Wednesday" + msgstr "星期三" + +-#: glib/gdatetime.c:365 ++#: ../glib/gdatetime.c:373 + msgctxt "full weekday name" + msgid "Thursday" + msgstr "星期四" + +-#: glib/gdatetime.c:367 ++#: ../glib/gdatetime.c:375 + msgctxt "full weekday name" + msgid "Friday" + msgstr "星期五" + +-#: glib/gdatetime.c:369 ++#: ../glib/gdatetime.c:377 + msgctxt "full weekday name" + msgid "Saturday" + msgstr "星期六" + +-#: glib/gdatetime.c:371 ++#: ../glib/gdatetime.c:379 + msgctxt "full weekday name" + msgid "Sunday" + msgstr "星期日" + +-#: glib/gdatetime.c:386 ++#: ../glib/gdatetime.c:394 + msgctxt "abbreviated weekday name" + msgid "Mon" + msgstr "週一" + +-#: glib/gdatetime.c:388 ++#: ../glib/gdatetime.c:396 + msgctxt "abbreviated weekday name" + msgid "Tue" + msgstr "週二" + +-#: glib/gdatetime.c:390 ++#: ../glib/gdatetime.c:398 + msgctxt "abbreviated weekday name" + msgid "Wed" + msgstr "週三" + +-#: glib/gdatetime.c:392 ++#: ../glib/gdatetime.c:400 + msgctxt "abbreviated weekday name" + msgid "Thu" + msgstr "週四" + +-#: glib/gdatetime.c:394 ++#: ../glib/gdatetime.c:402 + msgctxt "abbreviated weekday name" + msgid "Fri" + msgstr "週五" + +-#: glib/gdatetime.c:396 ++#: ../glib/gdatetime.c:404 + msgctxt "abbreviated weekday name" + msgid "Sat" + msgstr "週六" + +-#: glib/gdatetime.c:398 ++#: ../glib/gdatetime.c:406 + msgctxt "abbreviated weekday name" + msgid "Sun" + msgstr "週日" +@@ -4535,62 +4858,62 @@ msgstr "週日" + #. * (western European, non-European) there is no difference between the + #. * standalone and complete date form. + #. +-#: glib/gdatetime.c:462 ++#: ../glib/gdatetime.c:470 + msgctxt "full month name with day" + msgid "January" + msgstr "一月" + +-#: glib/gdatetime.c:464 ++#: ../glib/gdatetime.c:472 + msgctxt "full month name with day" + msgid "February" + msgstr "二月" + +-#: glib/gdatetime.c:466 ++#: ../glib/gdatetime.c:474 + msgctxt "full month name with day" + msgid "March" + msgstr "三月" + +-#: glib/gdatetime.c:468 ++#: ../glib/gdatetime.c:476 + msgctxt "full month name with day" + msgid "April" + msgstr "四月" + +-#: glib/gdatetime.c:470 ++#: ../glib/gdatetime.c:478 + msgctxt "full month name with day" + msgid "May" + msgstr "五月" + +-#: glib/gdatetime.c:472 ++#: ../glib/gdatetime.c:480 + msgctxt "full month name with day" + msgid "June" + msgstr "六月" + +-#: glib/gdatetime.c:474 ++#: ../glib/gdatetime.c:482 + msgctxt "full month name with day" + msgid "July" + msgstr "七月" + +-#: glib/gdatetime.c:476 ++#: ../glib/gdatetime.c:484 + msgctxt "full month name with day" + msgid "August" + msgstr "八月" + +-#: glib/gdatetime.c:478 ++#: ../glib/gdatetime.c:486 + msgctxt "full month name with day" + msgid "September" + msgstr "九月" + +-#: glib/gdatetime.c:480 ++#: ../glib/gdatetime.c:488 + msgctxt "full month name with day" + msgid "October" + msgstr "十月" + +-#: glib/gdatetime.c:482 ++#: ../glib/gdatetime.c:490 + msgctxt "full month name with day" + msgid "November" + msgstr "十一月" + +-#: glib/gdatetime.c:484 ++#: ../glib/gdatetime.c:492 + msgctxt "full month name with day" + msgid "December" + msgstr "十二月" +@@ -4612,319 +4935,320 @@ msgstr "十二月" + #. * month names almost ready to copy and paste here. In other systems + #. * due to a bug the result is incorrect in some languages. + #. +-#: glib/gdatetime.c:549 ++#: ../glib/gdatetime.c:557 + msgctxt "abbreviated month name with day" + msgid "Jan" + msgstr "一月" + +-#: glib/gdatetime.c:551 ++#: ../glib/gdatetime.c:559 + msgctxt "abbreviated month name with day" + msgid "Feb" + msgstr "二月" + +-#: glib/gdatetime.c:553 ++#: ../glib/gdatetime.c:561 + msgctxt "abbreviated month name with day" + msgid "Mar" + msgstr "三月" + +-#: glib/gdatetime.c:555 ++#: ../glib/gdatetime.c:563 + msgctxt "abbreviated month name with day" + msgid "Apr" + msgstr "四月" + +-#: glib/gdatetime.c:557 ++#: ../glib/gdatetime.c:565 + msgctxt "abbreviated month name with day" + msgid "May" + msgstr "五月" + +-#: glib/gdatetime.c:559 ++#: ../glib/gdatetime.c:567 + msgctxt "abbreviated month name with day" + msgid "Jun" + msgstr "六月" + +-#: glib/gdatetime.c:561 ++#: ../glib/gdatetime.c:569 + msgctxt "abbreviated month name with day" + msgid "Jul" + msgstr "七月" + +-#: glib/gdatetime.c:563 ++#: ../glib/gdatetime.c:571 + msgctxt "abbreviated month name with day" + msgid "Aug" + msgstr "八月" + +-#: glib/gdatetime.c:565 ++#: ../glib/gdatetime.c:573 + msgctxt "abbreviated month name with day" + msgid "Sep" + msgstr "九月" + +-#: glib/gdatetime.c:567 ++#: ../glib/gdatetime.c:575 + msgctxt "abbreviated month name with day" + msgid "Oct" + msgstr "十月" + +-#: glib/gdatetime.c:569 ++#: ../glib/gdatetime.c:577 + msgctxt "abbreviated month name with day" + msgid "Nov" + msgstr "十一月" + +-#: glib/gdatetime.c:571 ++#: ../glib/gdatetime.c:579 + msgctxt "abbreviated month name with day" + msgid "Dec" + msgstr "十二月" + + #. Translators: 'before midday' indicator +-#: glib/gdatetime.c:588 ++#: ../glib/gdatetime.c:596 + msgctxt "GDateTime" + msgid "AM" + msgstr "上午" + + #. Translators: 'after midday' indicator +-#: glib/gdatetime.c:591 ++#: ../glib/gdatetime.c:599 + msgctxt "GDateTime" + msgid "PM" + msgstr "下午" + +-#: glib/gdir.c:154 ++#: ../glib/gdir.c:158 + #, c-format + msgid "Error opening directory “%s”: %s" + msgstr "開啟目錄「%s」時發生錯誤:%s" + +-#: glib/gfileutils.c:737 glib/gfileutils.c:829 ++#: ../glib/gfileutils.c:753 ../glib/gfileutils.c:845 + #, c-format + msgid "Could not allocate %lu byte to read file “%s”" + msgid_plural "Could not allocate %lu bytes to read file “%s”" + msgstr[0] "無法配置 %lu 位元組來讀取檔案「%s」" + +-#: glib/gfileutils.c:754 ++#: ../glib/gfileutils.c:770 + #, c-format + msgid "Error reading file “%s”: %s" + msgstr "讀取檔案「%s」時發生錯誤:%s" + +-#: glib/gfileutils.c:790 ++#: ../glib/gfileutils.c:806 + #, c-format + msgid "File “%s” is too large" + msgstr "檔案「%s」太過巨大" + +-#: glib/gfileutils.c:854 ++#: ../glib/gfileutils.c:870 + #, c-format + msgid "Failed to read from file “%s”: %s" + msgstr "讀取檔案「%s」失敗:%s" + +-#: glib/gfileutils.c:902 glib/gfileutils.c:974 glib/gfileutils.c:1466 ++#: ../glib/gfileutils.c:920 ../glib/gfileutils.c:995 ../glib/gfileutils.c:1472 + #, c-format + msgid "Failed to open file “%s”: %s" + msgstr "開啟檔案「%s」失敗:%s" + +-#: glib/gfileutils.c:914 ++#: ../glib/gfileutils.c:933 + #, c-format + msgid "Failed to get attributes of file “%s”: fstat() failed: %s" + msgstr "獲取檔案「%s」的特性失敗:fstat() 失敗:%s" + +-#: glib/gfileutils.c:944 ++#: ../glib/gfileutils.c:964 + #, c-format + msgid "Failed to open file “%s”: fdopen() failed: %s" + msgstr "開啟檔案「%s」失敗:fdopen() 失敗:%s" + +-#: glib/gfileutils.c:1044 ++#: ../glib/gfileutils.c:1065 + #, c-format + msgid "Failed to rename file “%s” to “%s”: g_rename() failed: %s" + msgstr "檔案名稱由「%s」改為「%s」失敗:g_rename() 失敗:%s" + +-#: glib/gfileutils.c:1169 ++#: ../glib/gfileutils.c:1179 + #, c-format + msgid "Failed to write file “%s”: write() failed: %s" + msgstr "無法寫入檔案「%s」:write() 失敗:%s" + +-#: glib/gfileutils.c:1189 ++#: ../glib/gfileutils.c:1200 + #, c-format + msgid "Failed to write file “%s”: fsync() failed: %s" + msgstr "無法寫入檔案「%s」:fsync() 失敗:%s" + +-#: glib/gfileutils.c:1357 glib/gfileutils.c:1769 ++#: ../glib/gfileutils.c:1361 ../glib/gfileutils.c:1776 + #, c-format + msgid "Failed to create file “%s”: %s" + msgstr "建立檔案「%s」失敗:%s" + +-#: glib/gfileutils.c:1401 ++#: ../glib/gfileutils.c:1406 + #, c-format + msgid "Existing file “%s” could not be removed: g_unlink() failed: %s" + msgstr "現存檔案「%s」無法移除:g_unlink() 失敗:%s" + +-#: glib/gfileutils.c:1735 ++#: ../glib/gfileutils.c:1741 + #, c-format + msgid "Template “%s” invalid, should not contain a “%s”" + msgstr "範本「%s」無效,不應含有「%s」" + + # (Abel) this is file template for mktemp/mkstemp +-#: glib/gfileutils.c:1748 ++#: ../glib/gfileutils.c:1754 + #, c-format + msgid "Template “%s” doesn’t contain XXXXXX" + msgstr "範本「%s」沒有包含 XXXXXX" + +-#: glib/gfileutils.c:2306 glib/gfileutils.c:2334 ++#: ../glib/gfileutils.c:2348 ../glib/gfileutils.c:2377 + #, c-format + msgid "Failed to read the symbolic link “%s”: %s" + msgstr "讀取符號連結「%s」失敗:%s" + +-#: glib/giochannel.c:1396 ++#: ../glib/giochannel.c:1408 + #, c-format + msgid "Could not open converter from “%s” to “%s”: %s" + msgstr "無法開啟將「%s」轉換至「%s」的轉換器:%s" + +-#: glib/giochannel.c:1749 ++#: ../glib/giochannel.c:1761 + msgid "Can’t do a raw read in g_io_channel_read_line_string" + msgstr "在 g_io_channel_read_line_string 中無法讀取原始資料" + +-#: glib/giochannel.c:1796 glib/giochannel.c:2054 glib/giochannel.c:2141 ++#: ../glib/giochannel.c:1808 ../glib/giochannel.c:2066 ++#: ../glib/giochannel.c:2153 + msgid "Leftover unconverted data in read buffer" + msgstr "用來讀取資料的緩衝區中仍有未轉換的資料" + +-#: glib/giochannel.c:1877 glib/giochannel.c:1954 ++#: ../glib/giochannel.c:1889 ../glib/giochannel.c:1966 + msgid "Channel terminates in a partial character" + msgstr "在字元未完整之前,輸入管道已經結束" + +-#: glib/giochannel.c:1940 ++#: ../glib/giochannel.c:1952 + msgid "Can’t do a raw read in g_io_channel_read_to_end" + msgstr "在 g_io_channel_read_to_end 中無法讀取原始資料" + +-#: glib/gkeyfile.c:789 ++#: ../glib/gkeyfile.c:821 + msgid "Valid key file could not be found in search dirs" + msgstr "在資料目錄中找不到有效的鍵檔案" + +-#: glib/gkeyfile.c:826 ++#: ../glib/gkeyfile.c:858 + msgid "Not a regular file" + msgstr "不是正規的檔案" + +-#: glib/gkeyfile.c:1275 ++#: ../glib/gkeyfile.c:1346 + #, c-format + msgid "" + "Key file contains line “%s” which is not a key-value pair, group, or comment" + msgstr "鍵檔案中「%s」行並非鍵值配對、群組或註解" + +-#: glib/gkeyfile.c:1332 ++#: ../glib/gkeyfile.c:1403 + #, c-format + msgid "Invalid group name: %s" + msgstr "無效的群組名稱:%s" + +-#: glib/gkeyfile.c:1354 ++#: ../glib/gkeyfile.c:1427 + msgid "Key file does not start with a group" + msgstr "鍵檔案並非以群組開頭" + +-#: glib/gkeyfile.c:1380 +-#, c-format +-msgid "Invalid key name: %s" ++#: ../glib/gkeyfile.c:1451 ++#, fuzzy, c-format ++msgid "Invalid key name: %.*s" + msgstr "無效的鍵名稱:%s" + +-#: glib/gkeyfile.c:1407 ++#: ../glib/gkeyfile.c:1479 + #, c-format + msgid "Key file contains unsupported encoding “%s”" + msgstr "鍵檔案包含不支援的編碼「%s」" + +-#: glib/gkeyfile.c:1650 glib/gkeyfile.c:1823 glib/gkeyfile.c:3276 +-#: glib/gkeyfile.c:3340 glib/gkeyfile.c:3470 glib/gkeyfile.c:3602 +-#: glib/gkeyfile.c:3748 glib/gkeyfile.c:3977 glib/gkeyfile.c:4044 ++#: ../glib/gkeyfile.c:1727 ../glib/gkeyfile.c:1900 ../glib/gkeyfile.c:3401 ++#: ../glib/gkeyfile.c:3503 ../glib/gkeyfile.c:3608 ../glib/gkeyfile.c:3737 ++#: ../glib/gkeyfile.c:3880 ../glib/gkeyfile.c:4129 ../glib/gkeyfile.c:4203 + #, c-format + msgid "Key file does not have group “%s”" + msgstr "鍵檔案沒有群組「%s」" + +-#: glib/gkeyfile.c:1778 ++#: ../glib/gkeyfile.c:1855 + #, c-format + msgid "Key file does not have key “%s” in group “%s”" + msgstr "鍵檔案的「%2$s」群組中沒有「%1$s」鍵" + +-#: glib/gkeyfile.c:1940 glib/gkeyfile.c:2056 ++#: ../glib/gkeyfile.c:2017 ../glib/gkeyfile.c:2133 + #, c-format + msgid "Key file contains key “%s” with value “%s” which is not UTF-8" + msgstr "鍵檔案包含的「%s」鍵(值為「%s」)並非 UTF-8" + +-#: glib/gkeyfile.c:1960 glib/gkeyfile.c:2076 glib/gkeyfile.c:2518 ++#: ../glib/gkeyfile.c:2037 ../glib/gkeyfile.c:2153 ../glib/gkeyfile.c:2646 + #, c-format + msgid "" + "Key file contains key “%s” which has a value that cannot be interpreted." + msgstr "鍵檔案包含的「%s」鍵的值無法解譯。" + +-#: glib/gkeyfile.c:2736 glib/gkeyfile.c:3105 ++#: ../glib/gkeyfile.c:2861 ../glib/gkeyfile.c:3230 + #, c-format + msgid "" + "Key file contains key “%s” in group “%s” which has a value that cannot be " + "interpreted." + msgstr "鍵檔案包含的「%2$s」群組中「%1$s」鍵的值無法解譯。" + +-#: glib/gkeyfile.c:2814 glib/gkeyfile.c:2891 ++#: ../glib/gkeyfile.c:2939 ../glib/gkeyfile.c:3016 + #, c-format + msgid "Key “%s” in group “%s” has value “%s” where %s was expected" + msgstr "「%2$s」群組中的「%1$s」鍵包含「%3$s」值,但預期為「%4$s」" + +-#: glib/gkeyfile.c:4284 ++#: ../glib/gkeyfile.c:4460 + msgid "Key file contains escape character at end of line" + msgstr "鍵檔案在行尾包含跳出字元" + +-#: glib/gkeyfile.c:4306 ++#: ../glib/gkeyfile.c:4497 + #, c-format + msgid "Key file contains invalid escape sequence “%s”" + msgstr "鍵檔案含有不正確的「跳出字元」「%s」" + +-#: glib/gkeyfile.c:4450 ++#: ../glib/gkeyfile.c:4648 + #, c-format + msgid "Value “%s” cannot be interpreted as a number." + msgstr "「%s」值不能被解譯為數字。" + +-#: glib/gkeyfile.c:4464 ++#: ../glib/gkeyfile.c:4662 + #, c-format + msgid "Integer value “%s” out of range" + msgstr "整數值「%s」超出範圍" + +-#: glib/gkeyfile.c:4497 ++#: ../glib/gkeyfile.c:4695 + #, c-format + msgid "Value “%s” cannot be interpreted as a float number." + msgstr "「%s」值不能被解譯為浮點數。" + +-#: glib/gkeyfile.c:4536 ++#: ../glib/gkeyfile.c:4734 + #, c-format + msgid "Value “%s” cannot be interpreted as a boolean." + msgstr "「%s」值不能被解譯為布林值。" + +-#: glib/gmappedfile.c:129 ++#: ../glib/gmappedfile.c:135 + #, c-format + msgid "Failed to get attributes of file “%s%s%s%s”: fstat() failed: %s" + msgstr "檔案 「%s%s%s%s」的特性取得失敗:fstat() 失敗:%s" + +-#: glib/gmappedfile.c:195 ++#: ../glib/gmappedfile.c:201 + #, c-format + msgid "Failed to map %s%s%s%s: mmap() failed: %s" + msgstr "對應檔案 %s%s%s%s 失敗:mmap() 失敗:%s" + +-#: glib/gmappedfile.c:262 ++#: ../glib/gmappedfile.c:268 + #, c-format + msgid "Failed to open file “%s”: open() failed: %s" + msgstr "開啟檔案「%s」失敗:open() 失敗:%s" + +-#: glib/gmarkup.c:398 glib/gmarkup.c:440 ++#: ../glib/gmarkup.c:398 ../glib/gmarkup.c:440 + #, c-format + msgid "Error on line %d char %d: " + msgstr "第 %d 列第 %d 個字發生錯誤:" + +-#: glib/gmarkup.c:462 glib/gmarkup.c:545 ++#: ../glib/gmarkup.c:462 ../glib/gmarkup.c:545 + #, c-format + msgid "Invalid UTF-8 encoded text in name — not valid “%s”" + msgstr "名稱中無效的 UTF-8 編碼文字 — 「%s」無效" + +-#: glib/gmarkup.c:473 ++#: ../glib/gmarkup.c:473 + #, c-format + msgid "“%s” is not a valid name" + msgstr "「%s」非有效名稱" + +-#: glib/gmarkup.c:489 ++#: ../glib/gmarkup.c:489 + #, c-format + msgid "“%s” is not a valid name: “%c”" + msgstr "「%s」非有效名稱:「%c」" + +-#: glib/gmarkup.c:613 ++#: ../glib/gmarkup.c:613 + #, c-format + msgid "Error on line %d: %s" + msgstr "第 %d 列發生錯誤:%s" + +-#: glib/gmarkup.c:690 ++#: ../glib/gmarkup.c:690 + #, c-format + msgid "" + "Failed to parse “%-.*s”, which should have been a digit inside a character " +@@ -4932,7 +5256,7 @@ msgid "" + msgstr "" + "無法解析「%-.*s」,字元參照內應該含有數字(例如 ê)─ 可能是數字太大" + +-#: glib/gmarkup.c:702 ++#: ../glib/gmarkup.c:702 + msgid "" + "Character reference did not end with a semicolon; most likely you used an " + "ampersand character without intending to start an entity — escape ampersand " +@@ -4941,22 +5265,22 @@ msgstr "" + "字元參照的結束部分不是分號;很可能您想使用 & 字元但未將它變為實體 ─ 請將 & 轉" + "換為 &" + +-#: glib/gmarkup.c:728 ++#: ../glib/gmarkup.c:728 + #, c-format + msgid "Character reference “%-.*s” does not encode a permitted character" + msgstr "字元參照「%-.*s」無法表示任何能接受的字元" + +-#: glib/gmarkup.c:766 ++#: ../glib/gmarkup.c:766 + msgid "" + "Empty entity “&;” seen; valid entities are: & " < > '" + msgstr "出現空白的實體「&;」;可用的實體為:& " < > '" + +-#: glib/gmarkup.c:774 ++#: ../glib/gmarkup.c:774 + #, c-format + msgid "Entity name “%-.*s” is not known" + msgstr "實體名稱「%-.*s」意義不明" + +-#: glib/gmarkup.c:779 ++#: ../glib/gmarkup.c:779 + msgid "" + "Entity did not end with a semicolon; most likely you used an ampersand " + "character without intending to start an entity — escape ampersand as &" +@@ -4964,36 +5288,36 @@ msgstr "" + "實體的結束部分不是分號;很可能您想使用 & 字元但未將它變為實體 ─ 請將 & 轉換" + "為 &" + +-#: glib/gmarkup.c:1193 ++#: ../glib/gmarkup.c:1193 + msgid "Document must begin with an element (e.g. )" + msgstr "文件開始必須為一元素(例如 )" + +-#: glib/gmarkup.c:1233 ++#: ../glib/gmarkup.c:1233 + #, c-format + msgid "" + "“%s” is not a valid character following a “<” character; it may not begin an " + "element name" + msgstr "「<」字元後的「%s」不是有效的字元;這樣不可能是元素名稱的開始部份" + +-#: glib/gmarkup.c:1276 ++#: ../glib/gmarkup.c:1276 + #, c-format + msgid "" + "Odd character “%s”, expected a “>” character to end the empty-element tag " + "“%s”" + msgstr "不尋常的「%s」字元,空元素標籤「%s」的結尾應該以「>」字元結束" + +-#: glib/gmarkup.c:1346 ++#: ../glib/gmarkup.c:1346 + #, c-format + msgid "Too many attributes in element “%s”" + msgstr "「%s」元素中的特性過多" + +-#: glib/gmarkup.c:1366 ++#: ../glib/gmarkup.c:1366 + #, c-format + msgid "" + "Odd character “%s”, expected a “=” after attribute name “%s” of element “%s”" + msgstr "不尋常的「%s」字元,特性名稱「%s」(屬於「%s」元素)後應該是「=」字元" + +-#: glib/gmarkup.c:1408 ++#: ../glib/gmarkup.c:1408 + #, c-format + msgid "" + "Odd character “%s”, expected a “>” or “/” character to end the start tag of " +@@ -5003,7 +5327,7 @@ msgstr "" + "不尋常的「%s」字元,「%s」元素的開始標籤應該以「>」或「/」字元結束,也可以是" + "特性;或許您在特性名稱中使用的字元無效" + +-#: glib/gmarkup.c:1453 ++#: ../glib/gmarkup.c:1453 + #, c-format + msgid "" + "Odd character “%s”, expected an open quote mark after the equals sign when " +@@ -5012,951 +5336,1084 @@ msgstr "" + "不尋常的「%s」字元,當指定「%s」特性的值(屬於「%s」元素)時,等號後應該出現" + "開引號" + +-#: glib/gmarkup.c:1587 ++#: ../glib/gmarkup.c:1587 + #, c-format + msgid "" + "“%s” is not a valid character following the characters “”" + msgstr "「%s」字元無效(位置在關閉「%s」元素末端);允許的字元為「>」" + +-#: glib/gmarkup.c:1637 ++#: ../glib/gmarkup.c:1637 + #, c-format + msgid "Element “%s” was closed, no element is currently open" + msgstr "「%s」元素已關閉,沒有開啟中的元素" + +-#: glib/gmarkup.c:1646 ++#: ../glib/gmarkup.c:1646 + #, c-format + msgid "Element “%s” was closed, but the currently open element is “%s”" + msgstr "「%s」元素已關閉,但開啟中的元素是「%s」" + +-#: glib/gmarkup.c:1799 ++#: ../glib/gmarkup.c:1799 + msgid "Document was empty or contained only whitespace" + msgstr "文件完全空白或只含有空白字元" + +-#: glib/gmarkup.c:1813 ++#: ../glib/gmarkup.c:1813 + msgid "Document ended unexpectedly just after an open angle bracket “<”" + msgstr "文件在尖角括號「<」後突然終止" + +-#: glib/gmarkup.c:1821 glib/gmarkup.c:1866 ++#: ../glib/gmarkup.c:1821 ../glib/gmarkup.c:1866 + #, c-format + msgid "" + "Document ended unexpectedly with elements still open — “%s” was the last " + "element opened" + msgstr "在仍然有開啟中的元素時,文件突然結束 ─「%s」是最後一個開啟的元素" + +-#: glib/gmarkup.c:1829 ++#: ../glib/gmarkup.c:1829 + #, c-format + msgid "" + "Document ended unexpectedly, expected to see a close angle bracket ending " + "the tag <%s/>" + msgstr "文件突然結束,本來應該出現用來關閉標籤 <%s/> 的尖角括號" + +-#: glib/gmarkup.c:1835 ++#: ../glib/gmarkup.c:1835 + msgid "Document ended unexpectedly inside an element name" + msgstr "在元素的名稱內,文件突然結束" + +-#: glib/gmarkup.c:1841 ++#: ../glib/gmarkup.c:1841 + msgid "Document ended unexpectedly inside an attribute name" + msgstr "在特性名稱內,文件突然結束" + +-#: glib/gmarkup.c:1846 ++#: ../glib/gmarkup.c:1846 + msgid "Document ended unexpectedly inside an element-opening tag." + msgstr "在元素的開啟標籤內,文件突然結束" + +-#: glib/gmarkup.c:1852 ++#: ../glib/gmarkup.c:1852 + msgid "" + "Document ended unexpectedly after the equals sign following an attribute " + "name; no attribute value" + msgstr "在特性名稱的等號後,文件突然結束;沒有特性值" + +-#: glib/gmarkup.c:1859 ++#: ../glib/gmarkup.c:1859 + msgid "Document ended unexpectedly while inside an attribute value" + msgstr "在特性值內,文件突然結束" + +-#: glib/gmarkup.c:1876 ++#: ../glib/gmarkup.c:1876 + #, c-format + msgid "Document ended unexpectedly inside the close tag for element “%s”" + msgstr "在「%s」元素的關閉標籤內,文件突然結束" + +-#: glib/gmarkup.c:1880 ++#: ../glib/gmarkup.c:1880 + msgid "" + "Document ended unexpectedly inside the close tag for an unopened element" + msgstr "在未開啟「%s」元素的關閉標籤內,文件突然結束" + +-#: glib/gmarkup.c:1886 ++#: ../glib/gmarkup.c:1886 + msgid "Document ended unexpectedly inside a comment or processing instruction" + msgstr "在註解或處理指示內,文件突然結束" + +-#: glib/goption.c:873 ++#: ../glib/goption.c:875 + msgid "[OPTION…]" + msgstr "[選項…]" + +-#: glib/goption.c:989 ++#: ../glib/goption.c:991 + msgid "Help Options:" + msgstr "說明選項:" + +-#: glib/goption.c:990 ++#: ../glib/goption.c:992 + msgid "Show help options" + msgstr "顯示說明的選項" + +-#: glib/goption.c:996 ++#: ../glib/goption.c:998 + msgid "Show all help options" + msgstr "顯示所有的說明選項" + +-#: glib/goption.c:1059 ++#: ../glib/goption.c:1061 + msgid "Application Options:" + msgstr "應用程式選項:" + +-#: glib/goption.c:1061 ++#: ../glib/goption.c:1063 + msgid "Options:" + msgstr "選項:" + +-#: glib/goption.c:1125 glib/goption.c:1195 ++#: ../glib/goption.c:1127 ../glib/goption.c:1197 + #, c-format + msgid "Cannot parse integer value “%s” for %s" + msgstr "無法給 %2$s 解析整數值「%1$s」" + +-#: glib/goption.c:1135 glib/goption.c:1203 ++#: ../glib/goption.c:1137 ../glib/goption.c:1205 + #, c-format + msgid "Integer value “%s” for %s out of range" + msgstr "%2$s 的整數值「%1$s」超出範圍" + +-#: glib/goption.c:1160 ++#: ../glib/goption.c:1162 + #, c-format + msgid "Cannot parse double value “%s” for %s" + msgstr "無法給 %2$s 解析雙精度浮點數「%1$s」" + +-#: glib/goption.c:1168 ++#: ../glib/goption.c:1170 + #, c-format + msgid "Double value “%s” for %s out of range" + msgstr "%2$s 的雙精度浮點數「%1$s」超出範圍" + +-#: glib/goption.c:1460 glib/goption.c:1539 ++#: ../glib/goption.c:1462 ../glib/goption.c:1541 + #, c-format + msgid "Error parsing option %s" + msgstr "解析 %s 選項時發生錯誤" + +-#: glib/goption.c:1570 glib/goption.c:1683 ++#: ../glib/goption.c:1563 ../glib/goption.c:1676 + #, c-format + msgid "Missing argument for %s" + msgstr "缺少 %s 的參數" + +-#: glib/goption.c:2194 ++#: ../glib/goption.c:2186 + #, c-format + msgid "Unknown option %s" + msgstr "不明的選項 %s" + +-#: glib/gregex.c:257 ++#: ../glib/gregex.c:480 + msgid "corrupted object" + msgstr "損毀的物件" + +-#: glib/gregex.c:259 +-msgid "internal error or corrupted object" +-msgstr "內部錯誤或損毀的物件" +- +-#: glib/gregex.c:261 ++#: ../glib/gregex.c:482 + msgid "out of memory" + msgstr "記憶體耗盡" + +-#: glib/gregex.c:266 +-msgid "backtracking limit reached" +-msgstr "已達回溯上限" ++#: ../glib/gregex.c:497 ++msgid "internal error" ++msgstr "內部的錯誤" + +-#: glib/gregex.c:278 glib/gregex.c:286 ++#: ../glib/gregex.c:499 + msgid "the pattern contains items not supported for partial matching" + msgstr "此模式包含了不支援部分比對的項目" + +-#: glib/gregex.c:280 +-msgid "internal error" +-msgstr "內部的錯誤" +- +-#: glib/gregex.c:288 ++#: ../glib/gregex.c:501 + msgid "back references as conditions are not supported for partial matching" + msgstr "部分比對不支援以反向參照為條件" + +-#: glib/gregex.c:297 ++#: ../glib/gregex.c:507 + msgid "recursion limit reached" + msgstr "已達遞廻上限" + +-#: glib/gregex.c:299 +-msgid "invalid combination of newline flags" +-msgstr "無效的換列旗標組合" +- +-#: glib/gregex.c:301 ++#: ../glib/gregex.c:509 + msgid "bad offset" + msgstr "錯誤的偏移" + +-#: glib/gregex.c:303 +-msgid "short utf8" +-msgstr "短式 utf8" +- +-#: glib/gregex.c:305 ++#: ../glib/gregex.c:511 + msgid "recursion loop" + msgstr "循環廻圈" + +-#: glib/gregex.c:309 ++#. should not happen in GRegex since we check modes before each match ++#: ../glib/gregex.c:514 ++msgid "matching mode is requested that was not compiled for JIT" ++msgstr "" ++ ++#: ../glib/gregex.c:535 ../glib/gregex.c:1851 + msgid "unknown error" + msgstr "不明的錯誤" + +-#: glib/gregex.c:329 ++#: ../glib/gregex.c:556 + msgid "\\ at end of pattern" + msgstr "\\ 於模式結尾" + +-#: glib/gregex.c:332 ++#: ../glib/gregex.c:560 + msgid "\\c at end of pattern" + msgstr "\\c 於模式結尾" + +-#: glib/gregex.c:335 ++#: ../glib/gregex.c:565 + msgid "unrecognized character following \\" + msgstr "無法辨識的字元接著 \\" + +-#: glib/gregex.c:338 ++#: ../glib/gregex.c:569 + msgid "numbers out of order in {} quantifier" + msgstr "{} 裡的數字次序顛倒了" + +-#: glib/gregex.c:341 ++#: ../glib/gregex.c:573 + msgid "number too big in {} quantifier" + msgstr "{} 裡的數字太大了" + +-#: glib/gregex.c:344 ++#: ../glib/gregex.c:577 + msgid "missing terminating ] for character class" + msgstr "字元類別缺少結束的 ]" + +-#: glib/gregex.c:347 ++#: ../glib/gregex.c:581 + msgid "invalid escape sequence in character class" + msgstr "字元類別中無效的跳脫序列" + +-#: glib/gregex.c:350 ++#: ../glib/gregex.c:585 + msgid "range out of order in character class" + msgstr "字元類別的範圍次序顛倒" + +-#: glib/gregex.c:353 ++#: ../glib/gregex.c:590 + msgid "nothing to repeat" + msgstr "沒有東西可重複" + +-#: glib/gregex.c:357 +-msgid "unexpected repeat" +-msgstr "未預期的重複" +- +-#: glib/gregex.c:360 ++#: ../glib/gregex.c:594 + msgid "unrecognized character after (? or (?-" + msgstr "在 (? 或 (?- 後無法辨識的字元" + +-#: glib/gregex.c:363 ++#: ../glib/gregex.c:598 + msgid "POSIX named classes are supported only within a class" + msgstr "POSIX 命名類別只在單一類別中支援" + +-#: glib/gregex.c:366 ++#: ../glib/gregex.c:602 ++msgid "POSIX collating elements are not supported" ++msgstr "不支援 POSIX 整理元素" ++ ++#: ../glib/gregex.c:608 + msgid "missing terminating )" + msgstr "缺少結束的 )" + +-#: glib/gregex.c:369 ++#: ../glib/gregex.c:612 + msgid "reference to non-existent subpattern" + msgstr "參照不存在的子模式" + +-#: glib/gregex.c:372 ++#: ../glib/gregex.c:616 + msgid "missing ) after comment" + msgstr "註解後缺少 )" + +-#: glib/gregex.c:375 ++#: ../glib/gregex.c:620 + msgid "regular expression is too large" + msgstr "正規表示式太大" + +-#: glib/gregex.c:378 +-msgid "failed to get memory" +-msgstr "取得記憶體失敗" +- +-#: glib/gregex.c:382 +-msgid ") without opening (" +-msgstr ") 沒有開頭的 (" +- +-#: glib/gregex.c:386 +-msgid "code overflow" +-msgstr "程式碼溢流" +- +-#: glib/gregex.c:390 +-msgid "unrecognized character after (?<" +-msgstr "在 (?< 後有無法辨識的字元" ++#: ../glib/gregex.c:624 ++msgid "malformed number or name after (?(" ++msgstr "(?( 之後有格式不正確的數字或名稱" + +-#: glib/gregex.c:393 ++#: ../glib/gregex.c:628 + msgid "lookbehind assertion is not fixed length" + msgstr "lookbehind 判斷提示(assertion) 不是固定的長度" + +-#: glib/gregex.c:396 +-msgid "malformed number or name after (?(" +-msgstr "(?( 之後有格式不正確的數字或名稱" +- +-#: glib/gregex.c:399 ++#: ../glib/gregex.c:632 + msgid "conditional group contains more than two branches" + msgstr "條件式群組包含了兩個以上的分支" + +-#: glib/gregex.c:402 ++#: ../glib/gregex.c:636 + msgid "assertion expected after (?(" + msgstr "(?( 後應該有判斷提示(assertion)" + +-#. translators: '(?R' and '(?[+-]digits' are both meant as (groups of) +-#. * sequences here, '(?-54' would be an example for the second group. +-#. +-#: glib/gregex.c:409 +-msgid "(?R or (?[+-]digits must be followed by )" +-msgstr "(?R 或 (?[+-]數字必須接著 )" ++#: ../glib/gregex.c:640 ++msgid "a numbered reference must not be zero" ++msgstr "編號式參照必須不為零" + +-#: glib/gregex.c:412 ++#: ../glib/gregex.c:644 + msgid "unknown POSIX class name" + msgstr "不明的 POSIX 類別名稱" + +-#: glib/gregex.c:415 +-msgid "POSIX collating elements are not supported" +-msgstr "不支援 POSIX 整理元素" +- +-#: glib/gregex.c:418 ++#: ../glib/gregex.c:649 + msgid "character value in \\x{...} sequence is too large" + msgstr "\\x{…} 序列中的字元值太大" + +-#: glib/gregex.c:421 +-msgid "invalid condition (?(0)" +-msgstr "無效的條件 (?(0)" +- +-#: glib/gregex.c:424 ++#: ../glib/gregex.c:653 + msgid "\\C not allowed in lookbehind assertion" + msgstr "在 lookbehind 判斷提示(assertion) 中不支援\\C" + +-#: glib/gregex.c:431 +-msgid "escapes \\L, \\l, \\N{name}, \\U, and \\u are not supported" +-msgstr "escapes \\L, \\l, \\N{name}, \\U, 和 \\u 不支援" +- +-#: glib/gregex.c:434 +-msgid "recursive call could loop indefinitely" +-msgstr "遞廻呼叫可能變成無限廻圈" +- +-#: glib/gregex.c:438 +-msgid "unrecognized character after (?P" +-msgstr "在 (?P 後有無法辨識的字元" +- +-#: glib/gregex.c:441 ++#: ../glib/gregex.c:657 + msgid "missing terminator in subpattern name" + msgstr "子模式名稱中缺少結束字元" + +-#: glib/gregex.c:444 ++#: ../glib/gregex.c:661 + msgid "two named subpatterns have the same name" + msgstr "兩個命名的子模式具有相同的名稱" + +-#: glib/gregex.c:447 ++#: ../glib/gregex.c:665 + msgid "malformed \\P or \\p sequence" + msgstr "格式不正確的 \\P 或 \\p 序列" + +-#: glib/gregex.c:450 ++#: ../glib/gregex.c:669 + msgid "unknown property name after \\P or \\p" + msgstr "在 \\P 或 \\p 後有不明的屬性名稱" + +-#: glib/gregex.c:453 ++#: ../glib/gregex.c:673 + msgid "subpattern name is too long (maximum 32 characters)" + msgstr "子模式名稱太長(最多 32 字元)" + +-#: glib/gregex.c:456 ++#: ../glib/gregex.c:677 + msgid "too many named subpatterns (maximum 10,000)" + msgstr "太多命名的子模式(最大值 10,000)" + +-#: glib/gregex.c:459 ++#: ../glib/gregex.c:681 + msgid "octal value is greater than \\377" + msgstr "8 進位值大於 \\377" + +-#: glib/gregex.c:463 +-msgid "overran compiling workspace" +-msgstr "編譯工作區超出範圍" +- +-#: glib/gregex.c:467 +-msgid "previously-checked referenced subpattern not found" +-msgstr "找不到預先勾選的參照子字串" +- +-#: glib/gregex.c:470 ++#: ../glib/gregex.c:685 + msgid "DEFINE group contains more than one branch" + msgstr "DEFINE 群組包含一個以上的分支" + +-#: glib/gregex.c:473 ++#: ../glib/gregex.c:689 + msgid "inconsistent NEWLINE options" + msgstr "不一致的 NEWLINE 選項" + +-#: glib/gregex.c:476 ++#: ../glib/gregex.c:693 + msgid "" + "\\g is not followed by a braced, angle-bracketed, or quoted name or number, " + "or by a plain number" + msgstr "\\g 並未隨著具有大括弧、角括弧或引號的名稱或數字或純文字數字" + +-#: glib/gregex.c:480 +-msgid "a numbered reference must not be zero" +-msgstr "編號式參照必須不為零" +- +-#: glib/gregex.c:483 ++#: ../glib/gregex.c:698 + msgid "an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT)" + msgstr "引數不允許用於 (*ACCEPT)、(*FAIL) 或 (*COMMIT)" + +-#: glib/gregex.c:486 ++#: ../glib/gregex.c:702 + msgid "(*VERB) not recognized" + msgstr "(*VERB) 無法辨識" + +-#: glib/gregex.c:489 ++#: ../glib/gregex.c:706 + msgid "number is too big" + msgstr "數字太大" + +-#: glib/gregex.c:492 ++#: ../glib/gregex.c:710 + msgid "missing subpattern name after (?&" + msgstr "(?& 後缺少子樣式" + +-#: glib/gregex.c:495 +-msgid "digit expected after (?+" +-msgstr "(?+ 後應該有數字" +- +-#: glib/gregex.c:498 +-msgid "] is an invalid data character in JavaScript compatibility mode" +-msgstr "] 在 JavaScript 相容性模式中是無效的資料字元" +- +-#: glib/gregex.c:501 ++#: ../glib/gregex.c:714 + msgid "different names for subpatterns of the same number are not allowed" + msgstr "不允許同樣編號的子樣式有不同的名稱" + +-#: glib/gregex.c:504 ++#: ../glib/gregex.c:718 + msgid "(*MARK) must have an argument" + msgstr "(*MARK) 需要一個引數" + +-#: glib/gregex.c:507 ++#: ../glib/gregex.c:722 + msgid "\\c must be followed by an ASCII character" + msgstr "\\c 必須接著 ASCII 字元" + +-#: glib/gregex.c:510 ++#: ../glib/gregex.c:726 + msgid "\\k is not followed by a braced, angle-bracketed, or quoted name" + msgstr "\\k 並未隨著具有大括弧、角括弧或引號的名稱" + +-#: glib/gregex.c:513 ++#: ../glib/gregex.c:730 + msgid "\\N is not supported in a class" + msgstr "\\N 在類別中不支援" + +-#: glib/gregex.c:516 +-msgid "too many forward references" +-msgstr "有太多的向前參照" +- +-#: glib/gregex.c:519 ++#: ../glib/gregex.c:734 + msgid "name is too long in (*MARK), (*PRUNE), (*SKIP), or (*THEN)" + msgstr "名稱在 (*MARK)、(*PRUNE)、(*SKIP) 或 (*THEN)" + +-#: glib/gregex.c:522 +-msgid "character value in \\u.... sequence is too large" +-msgstr "\\u.... 序列中的字元值太大" ++#: ../glib/gregex.c:738 ../glib/gregex.c:874 ++msgid "code overflow" ++msgstr "程式碼溢流" ++ ++#: ../glib/gregex.c:742 ++msgid "unrecognized character after (?P" ++msgstr "在 (?P 後有無法辨識的字元" ++ ++#: ../glib/gregex.c:746 ++msgid "overran compiling workspace" ++msgstr "編譯工作區超出範圍" + +-#: glib/gregex.c:745 glib/gregex.c:1983 ++#: ../glib/gregex.c:750 ++msgid "previously-checked referenced subpattern not found" ++msgstr "找不到預先勾選的參照子字串" ++ ++#: ../glib/gregex.c:873 ../glib/gregex.c:1135 ../glib/gregex.c:2457 + #, c-format + msgid "Error while matching regular expression %s: %s" + msgstr "比對正規表示式 %s 發生錯誤:%s" + +-#: glib/gregex.c:1316 ++#: ../glib/gregex.c:1735 + msgid "PCRE library is compiled without UTF8 support" + msgstr "PCRE 程式庫並未編譯對 UTF8 的支援" + +-#: glib/gregex.c:1320 +-msgid "PCRE library is compiled without UTF8 properties support" +-msgstr "PCRE 程式庫並未編譯對 UTF8 屬性的支援" +- +-#: glib/gregex.c:1328 ++#: ../glib/gregex.c:1743 + msgid "PCRE library is compiled with incompatible options" + msgstr "PCRE 程式庫並未編譯不相容的選項" + +-#: glib/gregex.c:1357 +-#, c-format +-msgid "Error while optimizing regular expression %s: %s" +-msgstr "最佳化正規表示式 %s 時發生錯誤:%s" +- +-#: glib/gregex.c:1437 +-#, c-format +-msgid "Error while compiling regular expression %s at char %d: %s" ++#: ../glib/gregex.c:1860 ++#, fuzzy, c-format ++msgid "Error while compiling regular expression ‘%s’ at char %s: %s" + msgstr "編譯正規表示式 %s 時於第 %d 個字發生錯誤:%s" + +-#: glib/gregex.c:2419 ++#: ../glib/gregex.c:2900 + msgid "hexadecimal digit or “}” expected" + msgstr "應為 16 進位數字或「}」" + +-#: glib/gregex.c:2435 ++#: ../glib/gregex.c:2916 + msgid "hexadecimal digit expected" + msgstr "應為 16 進位數字" + +-#: glib/gregex.c:2475 ++#: ../glib/gregex.c:2956 + msgid "missing “<” in symbolic reference" + msgstr "在符號參照中缺少「<」" + +-#: glib/gregex.c:2484 ++#: ../glib/gregex.c:2965 + msgid "unfinished symbolic reference" + msgstr "未完成的符號參照" + +-#: glib/gregex.c:2491 ++#: ../glib/gregex.c:2972 + msgid "zero-length symbolic reference" + msgstr "零-長度的符號參照" + +-#: glib/gregex.c:2502 ++#: ../glib/gregex.c:2983 + msgid "digit expected" + msgstr "預期數字" + +-#: glib/gregex.c:2520 ++#: ../glib/gregex.c:3001 + msgid "illegal symbolic reference" + msgstr "不合法的符號參照" + +-#: glib/gregex.c:2583 ++#: ../glib/gregex.c:3064 + msgid "stray final “\\”" + msgstr "缺少最後的「\\」" + +-#: glib/gregex.c:2587 ++#: ../glib/gregex.c:3068 + msgid "unknown escape sequence" + msgstr "不明的跳脫序列" + +-#: glib/gregex.c:2597 ++#: ../glib/gregex.c:3078 + #, c-format + msgid "Error while parsing replacement text “%s” at char %lu: %s" + msgstr "當解析於字元 %2$lu 的取代文字「%1$s」時發生錯誤:%3$s" + +-#: glib/gshell.c:94 ++#: ../glib/gshell.c:98 + msgid "Quoted text doesn’t begin with a quotation mark" + msgstr "應該用引號括起來的文字不是以括號為開始" + +-#: glib/gshell.c:184 ++#: ../glib/gshell.c:188 + msgid "Unmatched quotation mark in command line or other shell-quoted text" + msgstr "指令列或其它標為指令的字串內有不對稱的引號" + +-#: glib/gshell.c:580 ++#: ../glib/gshell.c:594 + #, c-format + msgid "Text ended just after a “\\” character. (The text was “%s”)" + msgstr "文字在「\\」字元後就終止了。(文字為「%s」)" + +-#: glib/gshell.c:587 ++#: ../glib/gshell.c:601 + #, c-format + msgid "Text ended before matching quote was found for %c. (The text was “%s”)" + msgstr "字串完結前仍沒有對應於 %c 的引號 (字串為「%s」)" + +-#: glib/gshell.c:599 ++#: ../glib/gshell.c:613 + msgid "Text was empty (or contained only whitespace)" + msgstr "文字是空白的(或只含有空白字元)" + +-#: glib/gspawn.c:323 ++#: ../glib/gspawn.c:320 + #, c-format + msgid "Failed to read data from child process (%s)" + msgstr "無法從副進程讀取資料 (%s)" + +-#: glib/gspawn.c:468 ++#: ../glib/gspawn.c:473 + #, c-format + msgid "Unexpected error in reading data from a child process (%s)" + msgstr "從子程序 (%s) 讀取資料時發生未預期的錯誤" + +-#: glib/gspawn.c:553 ++#: ../glib/gspawn.c:558 + #, c-format + msgid "Unexpected error in waitpid() (%s)" + msgstr "waitpid() 發生未預期的錯誤 (%s)" + +-#: glib/gspawn.c:1061 glib/gspawn-win32.c:1329 ++#: ../glib/gspawn.c:1180 ../glib/gspawn-win32.c:1575 + #, c-format + msgid "Child process exited with code %ld" + msgstr "子程序以代碼 %ld 結束" + +-#: glib/gspawn.c:1069 ++#: ../glib/gspawn.c:1188 + #, c-format + msgid "Child process killed by signal %ld" + msgstr "子程序被信號 %ld 中止" + +-#: glib/gspawn.c:1076 ++#: ../glib/gspawn.c:1195 + #, c-format + msgid "Child process stopped by signal %ld" + msgstr "子程序被信號 %ld 停止" + +-#: glib/gspawn.c:1083 ++#: ../glib/gspawn.c:1202 + #, c-format + msgid "Child process exited abnormally" + msgstr "子程序異常結束" + +-#: glib/gspawn.c:1532 glib/gspawn-win32.c:350 glib/gspawn-win32.c:358 ++#: ../glib/gspawn.c:2032 ../glib/gspawn-win32.c:472 ../glib/gspawn-win32.c:480 + #, c-format + msgid "Failed to read from child pipe (%s)" + msgstr "無法從管道讀取資料 (%s)" + +-#: glib/gspawn.c:1788 ++#: ../glib/gspawn.c:2404 + #, c-format + msgid "Failed to spawn child process “%s” (%s)" + msgstr "無法產生副程序「%s」(%s)" + +-#: glib/gspawn.c:1871 ++#: ../glib/gspawn.c:2530 + #, c-format + msgid "Failed to fork (%s)" + msgstr "無法衍生進程 (%s)" + +-#: glib/gspawn.c:2026 glib/gspawn-win32.c:381 ++#: ../glib/gspawn.c:2690 ../glib/gspawn-win32.c:503 + #, c-format + msgid "Failed to change to directory “%s” (%s)" + msgstr "無法進入目錄「%s」(%s)" + +-#: glib/gspawn.c:2036 ++#: ../glib/gspawn.c:2700 + #, c-format + msgid "Failed to execute child process “%s” (%s)" + msgstr "無法執行副程序「%s」(%s)" + +-#: glib/gspawn.c:2046 +-#, c-format +-msgid "Failed to redirect output or input of child process (%s)" ++#: ../glib/gspawn.c:2710 ++#, fuzzy, c-format ++msgid "Failed to open file to remap file descriptor (%s)" ++msgstr "開啟檔案「%s」失敗:open() 失敗:%s" ++ ++#: ../glib/gspawn.c:2718 ++#, fuzzy, c-format ++msgid "Failed to duplicate file descriptor for child process (%s)" + msgstr "無法將副進程的輸出或輸入重新導向 (%s)" + +-#: glib/gspawn.c:2055 ++#: ../glib/gspawn.c:2727 + #, c-format + msgid "Failed to fork child process (%s)" + msgstr "無法衍生副進程 (%s)" + +-#: glib/gspawn.c:2063 ++#: ../glib/gspawn.c:2735 ++#, fuzzy, c-format ++msgid "Failed to close file descriptor for child process (%s)" ++msgstr "無法從副進程讀取資料 (%s)" ++ ++#: ../glib/gspawn.c:2743 + #, c-format + msgid "Unknown error executing child process “%s”" + msgstr "執行副程序「%s」時發生不明的錯誤" + +-#: glib/gspawn.c:2087 ++#: ../glib/gspawn.c:2767 + #, c-format + msgid "Failed to read enough data from child pid pipe (%s)" + msgstr "無法從 child pid pipe 讀取足夠的資料 (%s)" + +-#: glib/gspawn-win32.c:294 ++#: ../glib/gspawn-private.h:134 ++#, fuzzy, c-format ++msgid "Invalid source FDs argument" ++msgstr "無效的搜尋要求" ++ ++#: ../glib/gspawn-win32.c:416 + msgid "Failed to read data from child process" + msgstr "無法從副進程讀取資料" + +-#: glib/gspawn-win32.c:311 +-#, c-format +-msgid "Failed to create pipe for communicating with child process (%s)" +-msgstr "無法建立管道來和副進程溝通 (%s)" +- +-#: glib/gspawn-win32.c:387 glib/gspawn-win32.c:392 glib/gspawn-win32.c:511 ++#: ../glib/gspawn-win32.c:509 ../glib/gspawn-win32.c:514 ++#: ../glib/gspawn-win32.c:640 + #, c-format + msgid "Failed to execute child process (%s)" + msgstr "無法執行副進程 (%s)" + +-#: glib/gspawn-win32.c:461 ++#: ../glib/gspawn-win32.c:519 ++#, fuzzy, c-format ++msgid "Failed to dup() in child process (%s)" ++msgstr "無法衍生副進程 (%s)" ++ ++#: ../glib/gspawn-win32.c:590 + #, c-format + msgid "Invalid program name: %s" + msgstr "程式名稱無效:%s" + +-#: glib/gspawn-win32.c:471 glib/gspawn-win32.c:725 ++#: ../glib/gspawn-win32.c:600 ../glib/gspawn-win32.c:940 + #, c-format + msgid "Invalid string in argument vector at %d: %s" + msgstr "第 %d 個引數向量中含無效的字串:%s" + +-#: glib/gspawn-win32.c:482 glib/gspawn-win32.c:740 ++#: ../glib/gspawn-win32.c:611 ../glib/gspawn-win32.c:956 + #, c-format + msgid "Invalid string in environment: %s" + msgstr "環境變數中的字串無效:%s" + +-#: glib/gspawn-win32.c:721 ++#: ../glib/gspawn-win32.c:936 + #, c-format + msgid "Invalid working directory: %s" + msgstr "無效的工作目錄:%s" + +-#: glib/gspawn-win32.c:783 ++#: ../glib/gspawn-win32.c:1001 + #, c-format + msgid "Failed to execute helper program (%s)" + msgstr "無法執行協助程式 (%s)" + +-#: glib/gspawn-win32.c:1056 ++#: ../glib/gspawn-win32.c:1230 + msgid "" + "Unexpected error in g_io_channel_win32_poll() reading data from a child " + "process" + msgstr "當 g_io_channel_win32_poll() 從副進程讀取資料時發生無法預計的錯誤" + +-#: glib/gstrfuncs.c:3303 glib/gstrfuncs.c:3405 ++#: ../glib/gstrfuncs.c:3373 ../glib/gstrfuncs.c:3475 + msgid "Empty string is not a number" + msgstr "空字串不是數字" + +-#: glib/gstrfuncs.c:3327 ++#: ../glib/gstrfuncs.c:3397 + #, c-format + msgid "“%s” is not a signed number" + msgstr "「%s」不是有號數字" + +-#: glib/gstrfuncs.c:3337 glib/gstrfuncs.c:3441 ++#: ../glib/gstrfuncs.c:3407 ../glib/gstrfuncs.c:3511 + #, c-format + msgid "Number “%s” is out of bounds [%s, %s]" + msgstr "「%s」數字超出範圍 [%s, %s]" + +-#: glib/gstrfuncs.c:3431 ++#: ../glib/gstrfuncs.c:3501 + #, c-format + msgid "“%s” is not an unsigned number" + msgstr "「%s」不是無號數字" + +-#: glib/guri.c:313 ++#: ../glib/guri.c:318 + #, no-c-format + msgid "Invalid %-encoding in URI" + msgstr "URI 中有無效的 %-編碼" + +-#: glib/guri.c:330 ++#: ../glib/guri.c:335 + msgid "Illegal character in URI" + msgstr "URI 中有不合規的字元" + +-#: glib/guri.c:359 ++#: ../glib/guri.c:369 + msgid "Non-UTF-8 characters in URI" + msgstr "URI 中有非 UTF-8 字元" + +-#: glib/guri.c:533 ++#: ../glib/guri.c:549 + #, c-format + msgid "Invalid IPv6 address ‘%.*s’ in URI" + msgstr "URI 中有無效的 IPv6 位址「%.*s」" + +-#: glib/guri.c:588 ++#: ../glib/guri.c:604 + #, c-format + msgid "Illegal encoded IP address ‘%.*s’ in URI" + msgstr "URI 中有不合規的編碼 IP 位址「%.*s」" + +-#: glib/guri.c:620 glib/guri.c:632 ++#: ../glib/guri.c:616 ++#, fuzzy, c-format ++msgid "Illegal internationalized hostname ‘%.*s’ in URI" ++msgstr "URI 中有不合規的編碼 IP 位址「%.*s」" ++ ++#: ../glib/guri.c:648 ../glib/guri.c:660 + #, c-format + msgid "Could not parse port ‘%.*s’ in URI" + msgstr "無法解析 URI 中的「%.*s」連接埠" + +-#: glib/guri.c:639 ++#: ../glib/guri.c:667 + #, c-format + msgid "Port ‘%.*s’ in URI is out of range" + msgstr "URI 中的「%.*s」連接埠超出範圍" + +-#: glib/guri.c:1119 glib/guri.c:1183 ++#: ../glib/guri.c:1230 ../glib/guri.c:1294 + #, c-format + msgid "URI ‘%s’ is not an absolute URI" + msgstr "「%s」URI 不是絕對路徑 URI" + +-#: glib/guri.c:1125 ++#: ../glib/guri.c:1236 + #, c-format + msgid "URI ‘%s’ has no host component" + msgstr "「%s」URI 沒有主機部分" + +-#: glib/guri.c:1330 ++#: ../glib/guri.c:1466 + msgid "URI is not absolute, and no base URI was provided" + msgstr "URI 不是絕對路徑,且沒有提供基礎 URI" + +-#: glib/guri.c:2082 ++#: ../glib/guri.c:2252 + msgid "Missing ‘=’ and parameter value" + msgstr "缺失「=」與參數值" + +-#: glib/gutf8.c:817 ++#: ../glib/gutf8.c:900 + msgid "Failed to allocate memory" + msgstr "配置記憶體失敗" + +-#: glib/gutf8.c:950 ++#: ../glib/gutf8.c:1033 + msgid "Character out of range for UTF-8" + msgstr "字元不在 UTF-8 範圍之內" + +-#: glib/gutf8.c:1051 glib/gutf8.c:1060 glib/gutf8.c:1190 glib/gutf8.c:1199 +-#: glib/gutf8.c:1338 glib/gutf8.c:1435 ++#: ../glib/gutf8.c:1135 ../glib/gutf8.c:1144 ../glib/gutf8.c:1274 ++#: ../glib/gutf8.c:1283 ../glib/gutf8.c:1422 ../glib/gutf8.c:1519 + msgid "Invalid sequence in conversion input" + msgstr "轉換輸入資料時出現無效的字元次序" + +-#: glib/gutf8.c:1349 glib/gutf8.c:1446 ++#: ../glib/gutf8.c:1433 ../glib/gutf8.c:1530 + msgid "Character out of range for UTF-16" + msgstr "字元不在 UTF-16 範圍之內" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2759 +-#, c-format +-msgid "%.1f kB" +-msgstr "%.1f kB" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 kB" ++#: ../glib/gutils.c:2966 ++msgid "kB" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2761 +-#, c-format +-msgid "%.1f MB" +-msgstr "%.1f MB" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 MB" ++#: ../glib/gutils.c:2968 ++msgid "MB" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2763 +-#, c-format +-msgid "%.1f GB" +-msgstr "%.1f GB" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 GB" ++#: ../glib/gutils.c:2970 ++msgid "GB" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2765 +-#, c-format +-msgid "%.1f TB" +-msgstr "%.1f TB" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 TB" ++#: ../glib/gutils.c:2972 ++msgid "TB" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2767 +-#, c-format +-msgid "%.1f PB" +-msgstr "%.1f PB" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 PB" ++#: ../glib/gutils.c:2974 ++msgid "PB" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2769 +-#, c-format +-msgid "%.1f EB" +-msgstr "%.1f EB" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 EB" ++#: ../glib/gutils.c:2976 ++msgid "EB" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2773 +-#, c-format +-msgid "%.1f KiB" +-msgstr "%.1f KiB" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 KiB" ++#: ../glib/gutils.c:2980 ++msgid "KiB" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2775 +-#, c-format +-msgid "%.1f MiB" +-msgstr "%.1f MiB" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 MiB" ++#: ../glib/gutils.c:2982 ++msgid "MiB" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2777 +-#, c-format +-msgid "%.1f GiB" +-msgstr "%.1f GiB" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 GiB" ++#: ../glib/gutils.c:2984 ++msgid "GiB" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2779 +-#, c-format +-msgid "%.1f TiB" +-msgstr "%.1f TiB" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 TiB" ++#: ../glib/gutils.c:2986 ++msgid "TiB" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2781 +-#, c-format +-msgid "%.1f PiB" +-msgstr "%.1f PiB" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 PiB" ++#: ../glib/gutils.c:2988 ++msgid "PiB" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2783 +-#, c-format +-msgid "%.1f EiB" +-msgstr "%.1f EiB" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 EiB" ++#: ../glib/gutils.c:2990 ++msgid "EiB" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2787 +-#, c-format +-msgid "%.1f kb" +-msgstr "%.1f kb" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 kb" ++#: ../glib/gutils.c:2994 ++msgid "kb" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2789 +-#, c-format +-msgid "%.1f Mb" +-msgstr "%.1f Mb" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Mb" ++#: ../glib/gutils.c:2996 ++msgid "Mb" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2791 +-#, c-format +-msgid "%.1f Gb" +-msgstr "%.1f Gb" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Gb" ++#: ../glib/gutils.c:2998 ++msgid "Gb" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2793 +-#, c-format +-msgid "%.1f Tb" +-msgstr "%.1f Tb" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Tb" ++#: ../glib/gutils.c:3000 ++msgid "Tb" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2795 +-#, c-format +-msgid "%.1f Pb" +-msgstr "%.1f Pb" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Pb" ++#: ../glib/gutils.c:3002 ++msgid "Pb" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2797 +-#, c-format +-msgid "%.1f Eb" +-msgstr "%.1f Eb" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Eb" ++#: ../glib/gutils.c:3004 ++msgid "Eb" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2801 +-#, c-format +-msgid "%.1f Kib" +-msgstr "%.1f Kib" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Kib" ++#: ../glib/gutils.c:3008 ++msgid "Kib" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2803 +-#, c-format +-msgid "%.1f Mib" +-msgstr "%.1f Mib" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Mib" ++#: ../glib/gutils.c:3010 ++msgid "Mib" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2805 +-#, c-format +-msgid "%.1f Gib" +-msgstr "%.1f Gib" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Gib" ++#: ../glib/gutils.c:3012 ++msgid "Gib" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2807 +-#, c-format +-msgid "%.1f Tib" +-msgstr "%.1f Tib" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Tib" ++#: ../glib/gutils.c:3014 ++msgid "Tib" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2809 +-#, c-format +-msgid "%.1f Pib" +-msgstr "%.1f Pib" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Pib" ++#: ../glib/gutils.c:3016 ++msgid "Pib" ++msgstr "" + +-#. Translators: Keep the no-break space between %.1f and the unit symbol +-#: glib/gutils.c:2811 +-#, c-format +-msgid "%.1f Eib" +-msgstr "%.1f Eib" ++#. Translators: A unit symbol for size formatting, showing for example: "13.0 Eib" ++#: ../glib/gutils.c:3018 ++msgid "Eib" ++msgstr "" + +-#: glib/gutils.c:2845 glib/gutils.c:2962 +-#, c-format +-msgid "%u byte" +-msgid_plural "%u bytes" ++#: ../glib/gutils.c:3056 ++#, fuzzy ++msgid "byte" ++msgid_plural "bytes" + msgstr[0] "%u 位元組" + +-#: glib/gutils.c:2849 +-#, c-format +-msgid "%u bit" +-msgid_plural "%u bits" ++#: ../glib/gutils.c:3060 ++#, fuzzy ++msgid "bit" ++msgid_plural "bits" + msgstr[0] "%u 位元" + ++#. Translators: The "%u" is replaced with the size value, like "13"; it could ++#. * be part of "13 bytes", but only the number is requested this time. ++#: ../glib/gutils.c:3068 ++#, c-format ++msgctxt "format-size" ++msgid "%u" ++msgstr "" ++ ++#. Translators: The first "%u" is replaced with the value, the "%s" with a unit of the value. ++#. * The order can be changed with "%$2s %$1u". An example: "13 bytes" ++#: ../glib/gutils.c:3073 ++#, c-format ++msgctxt "format-size" ++msgid "%u %s" ++msgstr "" ++ ++#. Translators: The "%.1f" is replaced with the size value, like "13.0"; it could ++#. * be part of "13.0 MB", but only the number is requested this time. ++#: ../glib/gutils.c:3109 ++#, fuzzy, c-format ++msgctxt "format-size" ++msgid "%.1f" ++msgstr "%.1f KB" ++ ++#. Translators: The first "%.1f" is replaced with the value, the "%s" with a unit of the value. ++#. * The order can be changed with "%$2s %$1.1f". Keep the no-break space between the value and ++#. * the unit symbol. An example: "13.0 MB" ++#: ../glib/gutils.c:3115 ++#, fuzzy, c-format ++msgctxt "format-size" ++msgid "%.1f %s" ++msgstr "%.1f kB" ++ + #. Translators: the %s in "%s bytes" will always be replaced by a number. +-#: glib/gutils.c:2916 ++#: ../glib/gutils.c:3155 + #, c-format + msgid "%s byte" + msgid_plural "%s bytes" + msgstr[0] "%s 位元組" + + #. Translators: the %s in "%s bits" will always be replaced by a number. +-#: glib/gutils.c:2921 ++#: ../glib/gutils.c:3160 + #, c-format + msgid "%s bit" + msgid_plural "%s bits" + msgstr[0] "%s 位元" + ++#: ../glib/gutils.c:3201 ++#, c-format ++msgid "%u byte" ++msgid_plural "%u bytes" ++msgstr[0] "%u 位元組" ++ + #. Translators: this is from the deprecated function g_format_size_for_display() which uses 'KB' to + #. * mean 1024 bytes. I am aware that 'KB' is not correct, but it has been preserved for reasons of + #. * compatibility. Users will not see this string unless a program is using this deprecated function. + #. * Please translate as literally as possible. + #. +-#: glib/gutils.c:2975 ++#: ../glib/gutils.c:3214 + #, c-format + msgid "%.1f KB" + msgstr "%.1f KB" + +-#: glib/gutils.c:2980 ++#: ../glib/gutils.c:3219 + #, c-format + msgid "%.1f MB" + msgstr "%.1f MB" + +-#: glib/gutils.c:2985 ++#: ../glib/gutils.c:3224 + #, c-format + msgid "%.1f GB" + msgstr "%.1f GB" + +-#: glib/gutils.c:2990 ++#: ../glib/gutils.c:3229 + #, c-format + msgid "%.1f TB" + msgstr "%.1f TB" + +-#: glib/gutils.c:2995 ++#: ../glib/gutils.c:3234 + #, c-format + msgid "%.1f PB" + msgstr "%.1f PB" + +-#: glib/gutils.c:3000 ++#: ../glib/gutils.c:3239 + #, c-format + msgid "%.1f EB" + msgstr "%.1f EB" + ++#~ msgid "GApplication options" ++#~ msgstr "GApplication 選項" ++ ++#~ msgid "Unable to load /var/lib/dbus/machine-id or /etc/machine-id: " ++#~ msgstr "無法載入 /var/lib/dbus/machine-id 或 /etc/machine-id:" ++ ++#, c-format ++#~ msgid "" ++#~ "Warning: Schema “%s” has path “%s”. Paths starting with “/apps/”, “/" ++#~ "desktop/” or “/system/” are deprecated." ++#~ msgstr "" ++#~ "警告:「%s」schema 有「%s」路徑。“/apps/”、“/desktop/” 或 “/system/” 開頭" ++#~ "的路徑已經棄用。" ++ ++#~ msgid "Unknown error on connect" ++#~ msgstr "連線時有不明的錯誤" ++ ++#, c-format ++#~ msgid "The local file URI “%s” may not include a “#”" ++#~ msgstr "本機檔案的 URI「%s」不應含有「#」" ++ ++#~ msgid "internal error or corrupted object" ++#~ msgstr "內部錯誤或損毀的物件" ++ ++#~ msgid "backtracking limit reached" ++#~ msgstr "已達回溯上限" ++ ++#~ msgid "invalid combination of newline flags" ++#~ msgstr "無效的換列旗標組合" ++ ++#~ msgid "short utf8" ++#~ msgstr "短式 utf8" ++ ++#~ msgid "unexpected repeat" ++#~ msgstr "未預期的重複" ++ ++#~ msgid "failed to get memory" ++#~ msgstr "取得記憶體失敗" ++ ++#~ msgid ") without opening (" ++#~ msgstr ") 沒有開頭的 (" ++ ++#~ msgid "unrecognized character after (?<" ++#~ msgstr "在 (?< 後有無法辨識的字元" ++ ++#~ msgid "(?R or (?[+-]digits must be followed by )" ++#~ msgstr "(?R 或 (?[+-]數字必須接著 )" ++ ++#~ msgid "invalid condition (?(0)" ++#~ msgstr "無效的條件 (?(0)" ++ ++#~ msgid "escapes \\L, \\l, \\N{name}, \\U, and \\u are not supported" ++#~ msgstr "escapes \\L, \\l, \\N{name}, \\U, 和 \\u 不支援" ++ ++#~ msgid "recursive call could loop indefinitely" ++#~ msgstr "遞廻呼叫可能變成無限廻圈" ++ ++#~ msgid "digit expected after (?+" ++#~ msgstr "(?+ 後應該有數字" ++ ++#~ msgid "] is an invalid data character in JavaScript compatibility mode" ++#~ msgstr "] 在 JavaScript 相容性模式中是無效的資料字元" ++ ++#~ msgid "too many forward references" ++#~ msgstr "有太多的向前參照" ++ ++#~ msgid "character value in \\u.... sequence is too large" ++#~ msgstr "\\u.... 序列中的字元值太大" ++ ++#~ msgid "PCRE library is compiled without UTF8 properties support" ++#~ msgstr "PCRE 程式庫並未編譯對 UTF8 屬性的支援" ++ ++#, c-format ++#~ msgid "Error while optimizing regular expression %s: %s" ++#~ msgstr "最佳化正規表示式 %s 時發生錯誤:%s" ++ ++#, c-format ++#~ msgid "%.1f MB" ++#~ msgstr "%.1f MB" ++ ++#, c-format ++#~ msgid "%.1f GB" ++#~ msgstr "%.1f GB" ++ ++#, c-format ++#~ msgid "%.1f TB" ++#~ msgstr "%.1f TB" ++ ++#, c-format ++#~ msgid "%.1f PB" ++#~ msgstr "%.1f PB" ++ ++#, c-format ++#~ msgid "%.1f EB" ++#~ msgstr "%.1f EB" ++ ++#, c-format ++#~ msgid "%.1f KiB" ++#~ msgstr "%.1f KiB" ++ ++#, c-format ++#~ msgid "%.1f MiB" ++#~ msgstr "%.1f MiB" ++ ++#, c-format ++#~ msgid "%.1f GiB" ++#~ msgstr "%.1f GiB" ++ ++#, c-format ++#~ msgid "%.1f TiB" ++#~ msgstr "%.1f TiB" ++ ++#, c-format ++#~ msgid "%.1f PiB" ++#~ msgstr "%.1f PiB" ++ ++#, c-format ++#~ msgid "%.1f EiB" ++#~ msgstr "%.1f EiB" ++ ++#, c-format ++#~ msgid "%.1f kb" ++#~ msgstr "%.1f kb" ++ ++#, c-format ++#~ msgid "%.1f Mb" ++#~ msgstr "%.1f Mb" ++ ++#, c-format ++#~ msgid "%.1f Gb" ++#~ msgstr "%.1f Gb" ++ ++#, c-format ++#~ msgid "%.1f Tb" ++#~ msgstr "%.1f Tb" ++ ++#, c-format ++#~ msgid "%.1f Pb" ++#~ msgstr "%.1f Pb" ++ ++#, c-format ++#~ msgid "%.1f Eb" ++#~ msgstr "%.1f Eb" ++ ++#, c-format ++#~ msgid "%.1f Kib" ++#~ msgstr "%.1f Kib" ++ ++#, c-format ++#~ msgid "%.1f Mib" ++#~ msgstr "%.1f Mib" ++ ++#, c-format ++#~ msgid "%.1f Gib" ++#~ msgstr "%.1f Gib" ++ ++#, c-format ++#~ msgid "%.1f Tib" ++#~ msgstr "%.1f Tib" ++ ++#, c-format ++#~ msgid "%.1f Pib" ++#~ msgstr "%.1f Pib" ++ ++#, c-format ++#~ msgid "%.1f Eib" ++#~ msgstr "%.1f Eib" ++ + #~ msgid "Error in address “%s” — the family attribute is malformed" + #~ msgstr "位址「%s」有錯誤 — family 屬性的格式不良" + +@@ -6004,9 +6461,6 @@ msgstr "%.1f EB" + #~ msgid "Error: signal must be the fully-qualified name.\n" + #~ msgstr "錯誤:信號必須為完全合規定的名稱。\n" + +-#~ msgid "No files given" +-#~ msgstr "尚未指定檔案" +- + #~ msgid "Error getting writable attributes: %s\n" + #~ msgstr "取得可寫入屬性時發生錯誤:%s\n" + +@@ -6061,8 +6515,5 @@ msgstr "%.1f EB" + #~ msgid "Association creation not supported on win32" + #~ msgstr "關聯建立在 win32 上不支援" + +-#~ msgid "URIs not supported" +-#~ msgstr "不支援 URIs" +- + #~ msgid "Key file does not have key '%s'" + #~ msgstr "設定鍵檔案沒有設定鍵‘%s’" diff --git a/debian/patches/.patch b/debian/patches/.patch new file mode 100644 index 0000000..deb8aa9 --- /dev/null +++ b/debian/patches/.patch @@ -0,0 +1,27 @@ +From: Yue-Lan +Date: Thu, 29 Feb 2024 16:14:23 +0800 +Subject: =?utf-8?b?5L+u5aSN57yW6K+R6Zeu6aKY?= + +--- + gio/gportalsupport.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gio/gportalsupport.c b/gio/gportalsupport.c +index 0efbc73..04fb589 100644 +--- a/gio/gportalsupport.c ++++ b/gio/gportalsupport.c +@@ -194,12 +194,12 @@ glib_has_dconf_access_in_sandbox (void) + gboolean + glib_is_force_use_portal (void) + { +- read_flatpak_info (); ++ sandbox_info_read (); + return force_use_portal; + } + + gboolean glib_should_use_kylin_process_manager (void) + { +- read_flatpak_info (); ++ sandbox_info_read (); + return use_kylin_process_manager; + } diff --git a/debian/patches/0001-timer-test-use-volatile-for-locals.patch b/debian/patches/0001-timer-test-use-volatile-for-locals.patch new file mode 100644 index 0000000..2745623 --- /dev/null +++ b/debian/patches/0001-timer-test-use-volatile-for-locals.patch @@ -0,0 +1,38 @@ +From: Ryan Lortie +Date: Tue, 4 Mar 2014 09:20:38 -0500 +Subject: timer test: use 'volatile' for locals + +GCC seems to be failing to follow the letter of the C spec by allowing extra +precision in floating point values to persist across assignments which are +optimised away. + +Force its hand by using 'volatile' on the locals in question. + +Bug: https://gitlab.gnome.org/GNOME/glib/issues/820 +Forwarded: yes +--- + glib/tests/timer.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/glib/tests/timer.c b/glib/tests/timer.c +index ae44dc8..5b1b43c 100644 +--- a/glib/tests/timer.c ++++ b/glib/tests/timer.c +@@ -32,7 +32,7 @@ static void + test_timer_basic (void) + { + GTimer *timer; +- gdouble elapsed; ++ volatile gdouble elapsed; + gulong micros; + + timer = g_timer_new (); +@@ -67,7 +67,7 @@ static void + test_timer_stop (void) + { + GTimer *timer; +- gdouble elapsed, elapsed2; ++ volatile gdouble elapsed, elapsed2; + + timer = g_timer_new (); + diff --git a/debian/patches/20210325-file-type.patch b/debian/patches/20210325-file-type.patch new file mode 100644 index 0000000..acde3ef --- /dev/null +++ b/debian/patches/20210325-file-type.patch @@ -0,0 +1,121 @@ +From: Debian GNOME Maintainers + +Date: Wed, 29 Jun 2022 16:00:15 +0800 +Subject: =?utf-8?b?dmZhdOaWh+S7tui2hei/hzRH56e75Yqo5oiW5aSN5Yi255u05o6l5oql?= + =?utf-8?b?6ZSZ?= + +=================================================================== +--- + gio/gfile.c | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 70 insertions(+) + +diff --git a/gio/gfile.c b/gio/gfile.c +index 16ff09f..14ce34e 100644 +--- a/gio/gfile.c ++++ b/gio/gfile.c +@@ -55,6 +55,9 @@ + + #include + #include ++#include ++#include ++#include + + #include "gfile.h" + #include "glib/gstdio.h" +@@ -385,6 +388,29 @@ static gboolean g_file_real_measure_disk_usage_finish (GFile + guint64 *num_files, + GError **error); + ++static const char* get_fs_type (char* path) ++{ ++ const char* fs_type = NULL; ++ struct mntent* m = NULL; ++ FILE* f = NULL; ++ ++ f = setmntent ("/etc/mtab", "r"); ++ if (!f) { ++ syslog (LOG_ERR, "error:%s", strerror(errno)); ++ } ++ ++ while ((m = getmntent(f))) { ++ if (!path) continue; ++ if (!m->mnt_dir) continue; ++ if (!strcmp (path, m->mnt_dir)) { ++ fs_type = g_strdup_printf("%s", m->mnt_type); ++ } ++ } ++ endmntent (f); ++ ++ return fs_type; ++} ++ + typedef GFileIface GFileInterface; + G_DEFINE_INTERFACE (GFile, g_file, G_TYPE_OBJECT) + +@@ -3682,10 +3708,32 @@ g_file_copy (GFile *source, + GFileIface *iface; + GError *my_error; + gboolean res; ++ const char* fs_type; ++ GMount* destination_mount; ++ GFile* root; ++ struct stat s; + + g_return_val_if_fail (G_IS_FILE (source), FALSE); + g_return_val_if_fail (G_IS_FILE (destination), FALSE); + ++ destination_mount = g_file_find_enclosing_mount(g_file_get_parent(destination), NULL, NULL); ++ if ( destination_mount != NULL) { ++ root = g_mount_get_default_location (destination_mount); ++ fs_type = get_fs_type (g_file_get_path(root)); ++ if(fs_type != NULL) { ++ if(!strcmp(fs_type,"vfat") || !strcmp(fs_type,"fat32")) { ++ if (stat(g_file_get_path(source), &s) == 0) { ++ if(s.st_size > 4294967296) { ++ g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, _("The file is too large, the fat format file system only supports files within 4G,can be imported in device after compression")); ++ return FALSE; ++ } ++ } ++ } ++ ++ g_free(fs_type); ++ } ++ } ++ + if (g_cancellable_set_error_if_cancelled (cancellable, error)) + return FALSE; + +@@ -3886,10 +3934,32 @@ g_file_move (GFile *source, + GFileIface *iface; + GError *my_error; + gboolean res; ++ const char* fs_type; ++ GMount* destination_mount; ++ GFile* root; ++ struct stat s; + + g_return_val_if_fail (G_IS_FILE (source), FALSE); + g_return_val_if_fail (G_IS_FILE (destination), FALSE); + ++ destination_mount = g_file_find_enclosing_mount(g_file_get_parent(destination), NULL, NULL); ++ if ( destination_mount != NULL) { ++ root = g_mount_get_default_location (destination_mount); ++ ++ fs_type = get_fs_type (g_file_get_path(root)); ++ if(fs_type != NULL) { ++ if(!strcmp(fs_type,"vfat") || !strcmp(fs_type,"fat32")) { ++ if (stat(g_file_get_path(source), &s) == 0) { ++ if(s.st_size > 4294967296) { ++ g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, _("The file is too large, the fat format file system only supports files within 4G,can be moved in device after compression")); ++ return FALSE; ++ } ++ } ++ } ++ g_free(fs_type); ++ } ++ } ++ + if (g_cancellable_set_error_if_cancelled (cancellable, error)) + return FALSE; + diff --git a/debian/patches/20210726-fix-trash-issue-in-data-usershare.patch b/debian/patches/20210726-fix-trash-issue-in-data-usershare.patch new file mode 100644 index 0000000..a2ffde4 --- /dev/null +++ b/debian/patches/20210726-fix-trash-issue-in-data-usershare.patch @@ -0,0 +1,41 @@ +From: Debian GNOME Maintainers + +Date: Wed, 29 Jun 2022 16:00:15 +0800 +Subject: fix-trash-issue-in-data-usershare + +=================================================================== +--- + gio/glocalfile.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/gio/glocalfile.c b/gio/glocalfile.c +index dbb5690..9303902 100644 +--- a/gio/glocalfile.c ++++ b/gio/glocalfile.c +@@ -1995,6 +1995,7 @@ g_local_file_trash (GFile *file, + GVfsClass *class; + GVfs *vfs; + int errsv; ++ gboolean is_local_file_in_usershare = FALSE; + + if (glib_should_use_portal ()) + return g_trash_portal_trash_file (file, error); +@@ -2049,7 +2050,8 @@ g_local_file_trash (GFile *file, + g_free (path); + } + +- if (file_stat.st_dev == home_stat.st_dev) ++ is_local_file_in_usershare = g_str_has_prefix(local->filename, "/data/usershare"); ++ if (file_stat.st_dev == home_stat.st_dev && !is_local_file_in_usershare) + { + is_homedir_trash = TRUE; + errno = 0; +@@ -2088,7 +2090,7 @@ g_local_file_trash (GFile *file, + return FALSE; + } + +- if (ignore_trash_path (topdir)) ++ if (ignore_trash_path (topdir) && !is_local_file_in_usershare) + { + g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, + _("Trashing on system internal mounts is not supported")); diff --git a/debian/patches/5c52117c4ae9367c96609915fde5a280101a9b0b-GLIB_FORCE_USE_P.patch b/debian/patches/5c52117c4ae9367c96609915fde5a280101a9b0b-GLIB_FORCE_USE_P.patch new file mode 100644 index 0000000..a96bf9f --- /dev/null +++ b/debian/patches/5c52117c4ae9367c96609915fde5a280101a9b0b-GLIB_FORCE_USE_P.patch @@ -0,0 +1,23 @@ +From: Yue-Lan +Date: Wed, 6 Dec 2023 09:39:18 +0800 +Subject: =?utf-8?b?5L+u5pS5IDVjNTIxMTdjNGFlOTM2N2M5NjYwOTkxNWZkZTVhMjgwMTAx?= + =?utf-8?b?YTliMGIg5YWz5LqOR0xJQl9GT1JDRV9VU0VfUE9SVEFM55qE5Yid5aeL5YyW6YC7?= + =?utf-8?b?6L6R77yM5LiN5YaN5L6d6LWWR1RLX1VTRV9QT1JUQUw=?= + +--- + gio/gportalsupport.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gio/gportalsupport.c b/gio/gportalsupport.c +index 12c5d6a..f8d866f 100644 +--- a/gio/gportalsupport.c ++++ b/gio/gportalsupport.c +@@ -142,7 +142,7 @@ sandbox_info_read (void) + network_available = TRUE; + dconf_access = TRUE; + env_var = g_getenv ("GLIB_FORCE_USE_PORTAL"); +- if (env_var && env_var[0] == '1' && use_portal) ++ if (env_var && env_var[0] == '1') + force_use_portal = TRUE; + } + break; diff --git a/debian/patches/Add-extra-debug-to-memory-monitor-dbus-test.patch b/debian/patches/Add-extra-debug-to-memory-monitor-dbus-test.patch new file mode 100644 index 0000000..3dc4a85 --- /dev/null +++ b/debian/patches/Add-extra-debug-to-memory-monitor-dbus-test.patch @@ -0,0 +1,70 @@ +From: Simon McVittie +Date: Sun, 24 Oct 2021 22:40:11 +0100 +Subject: Add extra debug to memory-monitor-dbus test + +Hopefully this will give us the necessary information to find out why +this test isn't reliable. + +Bug-Debian: https://bugs.debian.org/995178 +Forwarded: no +--- + gio/tests/memory-monitor-dbus.py.in | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) + +diff --git a/gio/tests/memory-monitor-dbus.py.in b/gio/tests/memory-monitor-dbus.py.in +index 17862e3..61e6f94 100755 +--- a/gio/tests/memory-monitor-dbus.py.in ++++ b/gio/tests/memory-monitor-dbus.py.in +@@ -74,18 +74,29 @@ try: + Timeout is in deciseconds, defaulting to 50 (5 seconds). message is + printed on failure. + ''' ++ print('Waiting up to {}/10 seconds for {!r} to be true'.format(timeout, condition)) ++ orig_timeout = timeout ++ + while timeout >= 0: ++ print('Loop iteration') + context = GLib.MainContext.default() + while context.iteration(False): ++ print('Iterating main loop') + pass + if condition(): ++ print('Condition reached') + break + timeout -= 1 + time.sleep(0.1) + else: ++ print('Condition not reached in {}/10 seconds'.format(orig_timeout)) + self.fail(message or 'timed out waiting for ' + str(condition)) + + def memory_warning_cb(self, monitor, level): ++ print('low-memory-warning: monitor {!r} reports level {}'.format( ++ monitor, ++ level, ++ )) + self.last_warning = level + self.main_context.wakeup() + +@@ -95,17 +106,20 @@ try: + # Wait 2 seconds + timeout = 2 + while timeout > 0: ++ print('Waiting 0.5s for stray events...') + time.sleep(0.5) + timeout -= 0.5 + self.main_context.iteration(False) + ++ print('Emitting mock low-memory warning, level 100: try to free memory') + self.dbusmock.EmitWarning(100) + # Wait 2 seconds or until warning +- self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 20) ++ self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 100) + ++ print('Emitting mock low-memory warning, level 255: OOM imminent') + self.dbusmock.EmitWarning(255) + # Wait 2 seconds or until warning +- self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 20) ++ self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 100) + + except ImportError as e: + @unittest.skip("Cannot import %s" % e.name) diff --git a/debian/patches/Call-gettext-if-.desktop-file-does-not-have-inline-transl.patch b/debian/patches/Call-gettext-if-.desktop-file-does-not-have-inline-transl.patch new file mode 100644 index 0000000..14afe80 --- /dev/null +++ b/debian/patches/Call-gettext-if-.desktop-file-does-not-have-inline-transl.patch @@ -0,0 +1,167 @@ +From: Philip Withnall +Date: Thu, 23 Nov 2017 18:48:58 +0000 +Subject: Call gettext if .desktop file does not have inline translations + +Patch from OpenSUSE via Ubuntu, original author unknown. Martin Pitt and +Vincent Untz appear to be the main authors. + +Reworked slightly by Philip Withnall to avoid exposing new public API +for the non-standard keys. + +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=569829 +Bug-Ubuntu: https://launchpad.net/bugs/3935 +Applied-upstream: no, rejected because "this will be solved soon" (in 2013) +--- + glib/gkeyfile.c | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 83 insertions(+) + +diff --git a/glib/gkeyfile.c b/glib/gkeyfile.c +index d08a485..63d17ca 100644 +--- a/glib/gkeyfile.c ++++ b/glib/gkeyfile.c +@@ -497,6 +497,17 @@ + * Since: 2.14 + */ + ++/* Downstream Debian defines for calling gettext() if a .desktop file doesn’t ++ * contain translations. These are not standardised. ++ * ++ * See: https://launchpad.net/bugs/3935 ++ * See:http://bugzilla.gnome.org/show_bug.cgi?id=569829 ++ */ ++#define G_KEY_FILE_DESKTOP_ACTION_GROUP_PREFIX "Desktop Action" ++#define G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN "X-GNOME-Gettext-Domain" ++#define G_KEY_FILE_DESKTOP_KEY_FULLNAME "X-GNOME-FullName" ++#define G_KEY_FILE_DESKTOP_KEY_KEYWORDS "Keywords" ++ + typedef struct _GKeyFileGroup GKeyFileGroup; + + /** +@@ -521,6 +532,7 @@ struct _GKeyFile + + gboolean checked_locales; /* TRUE if @locales has been initialised */ + gchar **locales; /* (nullable) */ ++ gchar *gettext_domain; + + gint ref_count; /* (atomic) */ + }; +@@ -647,6 +659,7 @@ g_key_file_init (GKeyFile *key_file) + key_file->parse_buffer = NULL; + key_file->list_separator = ';'; + key_file->flags = 0; ++ key_file->gettext_domain = NULL; + } + + static void +@@ -667,6 +680,12 @@ g_key_file_clear (GKeyFile *key_file) + key_file->parse_buffer = NULL; + } + ++ if (key_file->gettext_domain) ++ { ++ g_free (key_file->gettext_domain); ++ key_file->gettext_domain = NULL; ++ } ++ + tmp = key_file->groups; + while (tmp != NULL) + { +@@ -887,6 +906,11 @@ g_key_file_load_from_fd (GKeyFile *key_file, + return FALSE; + } + ++ key_file->gettext_domain = g_key_file_get_string (key_file, ++ G_KEY_FILE_DESKTOP_GROUP, ++ G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, ++ NULL); ++ + return TRUE; + } + +@@ -999,6 +1023,11 @@ g_key_file_load_from_data (GKeyFile *key_file, + return FALSE; + } + ++ key_file->gettext_domain = g_key_file_get_string (key_file, ++ G_KEY_FILE_DESKTOP_GROUP, ++ G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, ++ NULL); ++ + return TRUE; + } + +@@ -2241,6 +2270,8 @@ g_key_file_get_locale_string (GKeyFile *key_file, + GError *key_file_error; + gchar **languages; + gboolean free_languages = FALSE; ++ gboolean try_gettext = FALSE; ++ const gchar *msg_locale; + gint i; + + g_return_val_if_fail (key_file != NULL, NULL); +@@ -2262,6 +2293,25 @@ g_key_file_get_locale_string (GKeyFile *key_file, + free_languages = FALSE; + } + ++ /* we're only interested in gettext translation if we don't have a ++ * translation in the .desktop file itself and if the key is one of the keys ++ * we know we want to translate: Name, GenericName, Comment, Keywords. ++ * Blindly doing this for all keys can give strange result for the icons, ++ * since the Icon is a locale string in the spec, eg. We also only get ++ * translation in the mo file if the requested locale is the LC_MESSAGES one. ++ * Ideally, we should do more and change LC_MESSAGES to use the requested ++ * locale, but there's no guarantee it's installed on the system and it might ++ * have some side-effects. Since this is a corner case, let's ignore it. */ ++ msg_locale = setlocale (LC_MESSAGES, NULL); ++ try_gettext = msg_locale && key_file->gettext_domain && ++ (strcmp (group_name, G_KEY_FILE_DESKTOP_GROUP) == 0 || ++ g_str_has_prefix (group_name, G_KEY_FILE_DESKTOP_ACTION_GROUP_PREFIX)) && ++ (strcmp (key, G_KEY_FILE_DESKTOP_KEY_NAME) == 0 || ++ strcmp (key, G_KEY_FILE_DESKTOP_KEY_FULLNAME) == 0 || ++ strcmp (key, G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME) == 0 || ++ strcmp (key, G_KEY_FILE_DESKTOP_KEY_KEYWORDS) == 0 || ++ strcmp (key, G_KEY_FILE_DESKTOP_KEY_COMMENT) == 0); ++ + for (i = 0; languages[i]; i++) + { + candidate_key = g_strdup_printf ("%s[%s]", key, languages[i]); +@@ -2275,6 +2325,39 @@ g_key_file_get_locale_string (GKeyFile *key_file, + break; + } + ++ /* Fallback to gettext */ ++ if (try_gettext && !translated_value) ++ { ++ gchar *orig_value = g_key_file_get_string (key_file, group_name, key, NULL); ++ ++ if (orig_value) ++ { ++ gboolean codeset_set; ++ const gchar *translated; ++ gboolean has_gettext; ++ ++ codeset_set = bind_textdomain_codeset (key_file->gettext_domain, "UTF-8") != NULL; ++ translated = NULL; ++ ++ translated = g_dgettext (key_file->gettext_domain, ++ orig_value); ++ has_gettext = translated != orig_value; ++ ++ g_free (orig_value); ++ ++ if (has_gettext) ++ { ++ if (codeset_set) ++ translated_value = g_strdup (translated); ++ else ++ translated_value = g_locale_to_utf8 (translated, ++ -1, NULL, NULL, NULL); ++ } ++ else ++ translated_value = NULL; ++ } ++ } ++ + /* Fallback to untranslated key + */ + if (!translated_value) diff --git a/debian/patches/Disable-some-tests-on-slow-architectures-which-keep-faili.patch b/debian/patches/Disable-some-tests-on-slow-architectures-which-keep-faili.patch new file mode 100644 index 0000000..951866d --- /dev/null +++ b/debian/patches/Disable-some-tests-on-slow-architectures-which-keep-faili.patch @@ -0,0 +1,34 @@ +From: Martin Pitt +Date: Thu, 27 Sep 2012 11:22:56 +0200 +Subject: Disable some tests on slow architectures which keep failing the + tests + +[smcv: Modified to use g_test_skip() instead of omitting those test cases +completely, and allow them to be re-enabled with a Debian-specific +environment variable] + +Co-authored-by: Simon McVittie +Forwarded: no +--- + gobject/tests/threadtests.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/gobject/tests/threadtests.c b/gobject/tests/threadtests.c +index dee4d6e..eacf617 100644 +--- a/gobject/tests/threadtests.c ++++ b/gobject/tests/threadtests.c +@@ -486,6 +486,14 @@ test_threaded_toggle_notify (void) + "safely from another (the main) thread without causing the " + "notifying thread to abort"); + ++#if defined(__arm__) ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("Intermittently takes more than 5 minutes on 32-bit ARM (Debian#1023652)"); ++ return; ++ } ++#endif ++ + g_object_add_toggle_ref (object, on_toggle_notify, &data); + g_object_unref (object); + diff --git a/debian/patches/FIX-166960.patch b/debian/patches/FIX-166960.patch new file mode 100644 index 0000000..bf0b9c2 --- /dev/null +++ b/debian/patches/FIX-166960.patch @@ -0,0 +1,68 @@ +From: Yue-Lan +Date: Mon, 12 Jun 2023 17:07:42 +0800 +Subject: =?utf-8?b?W0ZJWF0gIzE2Njk2MCDjgJDmlofku7bnrqHnkIblmajjgJHlnKjmnYM=?= + =?utf-8?b?6ZmQ57uG5YyW55WM6Z2i5re75Yqg5a6M5YW25LuW55So5oi35p2D6ZmQ5ZCO77yM?= + =?utf-8?b?5a+56K+l5paH5qGj6L+b6KGM57yW6L6R5L+d5a2Y5ZCO77yM57uG5YyW5p2D6ZmQ?= + =?utf-8?b?55WM6Z2i6ZyA6KaB6YeN5paw5re75Yqg5YW25LuW55So5oi35p2D6ZmQ?= + +--- + gio/glocalfileoutputstream.c | 25 ++++++++++++++++++++++++- + 1 file changed, 24 insertions(+), 1 deletion(-) + +diff --git a/gio/glocalfileoutputstream.c b/gio/glocalfileoutputstream.c +index 6875811..da63d6e 100644 +--- a/gio/glocalfileoutputstream.c ++++ b/gio/glocalfileoutputstream.c +@@ -46,6 +46,7 @@ + #include + #include "gfiledescriptorbased.h" + #include ++#include + #endif + + #include "glib-private.h" +@@ -860,6 +861,21 @@ handle_overwrite_open (const char *filename, + int errsv = 0; + gboolean replace_destination_set = (flags & G_FILE_CREATE_REPLACE_DESTINATION); + ++ #ifdef G_OS_UNIX ++ char acl_buf[1024]; ++ ssize_t acl_size = getxattr(filename, "system.posix_acl_access", acl_buf, sizeof(acl_buf)); ++ ++ gboolean has_acl_buf = FALSE; ++ if (acl_size == -1) { ++ g_debug("Error getting ACL with %s", filename); ++ } else if (acl_size == 0) { ++ g_debug("No ACL found with %s.\n", filename); ++ } else { ++ g_debug("%s ACL: %.*s\n", filename, (int)acl_size, acl_buf); ++ has_acl_buf = TRUE; ++ } ++#endif ++ + mode = mode_from_flags_or_info (flags, reference_info); + + /* We only need read access to the original file if we are creating a backup. +@@ -1038,6 +1054,7 @@ handle_overwrite_open (const char *filename, + + dirname = g_path_get_dirname (filename); + tmp_filename = g_build_filename (dirname, ".goutputstream-XXXXXX", NULL); ++ + g_free (dirname); + + tmpfd = g_mkstemp_full (tmp_filename, (readable ? O_RDWR : O_WRONLY) | O_BINARY | O_CLOEXEC, mode); +@@ -1045,7 +1062,13 @@ handle_overwrite_open (const char *filename, + { + g_free (tmp_filename); + goto fallback_strategy; +- } ++ } else { ++#ifdef G_OS_UNIX ++ if (has_acl_buf) { ++ setxattr(tmp_filename, "system.posix_acl_access", acl_buf, acl_size, 0); ++ } ++#endif ++ } + + /* try to keep permissions (unless replacing) */ + diff --git a/debian/patches/FIX-169359-U.patch b/debian/patches/FIX-169359-U.patch new file mode 100644 index 0000000..da501b5 --- /dev/null +++ b/debian/patches/FIX-169359-U.patch @@ -0,0 +1,27 @@ +From: Yue-Lan +Date: Mon, 8 May 2023 10:48:52 +0800 +Subject: =?utf-8?b?W0ZJWF0gIzE2OTM1OSDjgJDluILlnLrjgJHjgJDkurrooYzmuIXnrpc=?= + =?utf-8?b?5Lit5b+D44CR5oyC6L29VeebmOWQjuaWh+S7tueuoeeQhuWZqOaYvuekuuaWhw==?= + =?utf-8?b?5Lu25byC5bi4?= + +--- + gio/glocalfileenumerator.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/gio/glocalfileenumerator.c b/gio/glocalfileenumerator.c +index 3694896..2057a49 100644 +--- a/gio/glocalfileenumerator.c ++++ b/gio/glocalfileenumerator.c +@@ -435,7 +435,11 @@ g_local_file_enumerator_next_file (GFileEnumerator *enumerator, + { + g_error_free (my_error); + goto next_file; +- } ++ } else if (g_error_matches (my_error, G_IO_ERROR, G_IO_ERROR_BROKEN_PIPE)) ++ { ++ g_error_free (my_error); ++ goto next_file; ++ } + else + g_propagate_error (error, my_error); + } diff --git a/debian/patches/FIX-182831-U.patch b/debian/patches/FIX-182831-U.patch new file mode 100644 index 0000000..f31bde0 --- /dev/null +++ b/debian/patches/FIX-182831-U.patch @@ -0,0 +1,59 @@ +From: Yue-Lan +Date: Wed, 19 Jul 2023 11:32:14 +0800 +Subject: =?utf-8?b?W0ZJWF0gIzE4MjgzMSDjgJDmlofku7bnrqHnkIblmajjgJHliKDpmaQ=?= + =?utf-8?b?5LuOVeebmOaLt+i0neWIsOacrOWcsOmVv+aWh+S7tuWQjeensOeahOaWh+S7tg==?= + =?utf-8?b?6Iez5Zue5pS256uZ77yM5Zue5pS256uZ5Lit6K+l5paH5Lu25LiN5pi+56S65Y6f?= + =?utf-8?b?5aeL6Lev5b6E?= + +--- + gio/glocalfile.c | 28 ++++++++++++++++++---------- + 1 file changed, 18 insertions(+), 10 deletions(-) + +diff --git a/gio/glocalfile.c b/gio/glocalfile.c +index c357267..0f37547 100644 +--- a/gio/glocalfile.c ++++ b/gio/glocalfile.c +@@ -1996,6 +1996,8 @@ g_local_file_trash (GFile *file, + GVfs *vfs; + int errsv; + gboolean is_local_file_in_usershare = FALSE; ++ GError *set_contents_error; ++ FILE *info_file; + + if (glib_should_use_portal ()) + return g_trash_portal_trash_file (file, error); +@@ -2285,18 +2287,24 @@ g_local_file_trash (GFile *file, + original_name_escaped, delete_time); + g_free (delete_time); + +- if (!g_file_set_contents_full (infofile, data, -1, ++ set_contents_error = NULL; ++ g_file_set_contents_full (infofile, data, -1, + G_FILE_SET_CONTENTS_CONSISTENT | G_FILE_SET_CONTENTS_ONLY_EXISTING, +- 0600, error)) +- { +- g_unlink (infofile); +- +- g_free (filesdir); +- g_free (trashname); +- g_free (infofile); +- +- return FALSE; ++ 0600, &set_contents_error); ++ if (set_contents_error) { ++#ifdef G_OS_UNIX ++ if (g_error_matches (set_contents_error, G_FILE_ERROR, G_FILE_ERROR_NAMETOOLONG)) { ++ // direct write file ++ info_file = fopen (infofile, "w"); ++ if (info_file) { ++ fwrite (data, 1, strlen(data), info_file); ++ fflush (info_file); ++ fclose (info_file); ++ } + } ++#endif ++ g_error_free (set_contents_error); ++ } + + /* TODO: Maybe we should verify that you can delete the file from the trash + * before moving it? OTOH, that is hard, as it needs a recursive scan diff --git a/debian/patches/GLIB_FORCE_USE_PORTAL-GTK_USE_PORTAL-1-GLIB_FORCE_USE_POR.patch b/debian/patches/GLIB_FORCE_USE_PORTAL-GTK_USE_PORTAL-1-GLIB_FORCE_USE_POR.patch new file mode 100644 index 0000000..60abc84 --- /dev/null +++ b/debian/patches/GLIB_FORCE_USE_PORTAL-GTK_USE_PORTAL-1-GLIB_FORCE_USE_POR.patch @@ -0,0 +1,153 @@ +From: Yue-Lan +Date: Fri, 1 Dec 2023 11:39:02 +0800 +Subject: =?utf-8?b?5re75YqgR0xJQl9GT1JDRV9VU0VfUE9SVEFM546v5aKD5Y+Y6YeP77yM?= + =?utf-8?b?5b2TR1RLX1VTRV9QT1JUQUw9MeS4lEdMSUJfRk9SQ0VfVVNFX1BPUlRBTD0x5pe2?= + =?utf-8?b?77yMZ19hcHBfaW5mb19sYXVuY2hfZGVmYXVsdF9mb3JfdXJpKCnlkoxnX2FwcF9p?= + =?utf-8?b?bmZvX2xhdW5jaF9kZWZhdWx0X2Zvcl91cmlfYXN5bmMoKeS8muW8uuWItui1sHhk?= + =?utf-8?b?Zy1kZXNrdG9wLXBvcnRhbOaJk+W8gOaWh+S7tg==?= + +--- + gio/gappinfo.c | 57 ++++++++++++++++++++++++++++------------------------ + gio/gportalsupport.c | 15 ++++++++++++++ + gio/gportalsupport.h | 1 + + 3 files changed, 47 insertions(+), 26 deletions(-) + +diff --git a/gio/gappinfo.c b/gio/gappinfo.c +index 787b774..4e74ab2 100644 +--- a/gio/gappinfo.c ++++ b/gio/gappinfo.c +@@ -991,33 +991,38 @@ g_app_info_launch_default_for_uri (const char *uri, + char *uri_scheme; + GAppInfo *app_info = NULL; + gboolean res = FALSE; ++ gboolean force_use_portal = FALSE; ++ force_use_portal = glib_is_force_use_portal (); + +- /* g_file_query_default_handler() calls +- * g_app_info_get_default_for_uri_scheme() too, but we have to do it +- * here anyway in case GFile can't parse @uri correctly. +- */ +- uri_scheme = g_uri_parse_scheme (uri); +- if (uri_scheme && uri_scheme[0] != '\0') +- app_info = g_app_info_get_default_for_uri_scheme (uri_scheme); +- g_free (uri_scheme); +- +- if (!app_info) +- { +- GFile *file; +- +- file = g_file_new_for_uri (uri); +- app_info = g_file_query_default_handler (file, NULL, error); +- g_object_unref (file); +- } +- +- if (app_info) ++ if (!force_use_portal) + { +- GList l; +- +- l.data = (char *)uri; +- l.next = l.prev = NULL; +- res = g_app_info_launch_uris (app_info, &l, launch_context, error); +- g_object_unref (app_info); ++ /* g_file_query_default_handler() calls ++ * g_app_info_get_default_for_uri_scheme() too, but we have to do it ++ * here anyway in case GFile can't parse @uri correctly. ++ */ ++ uri_scheme = g_uri_parse_scheme (uri); ++ if (uri_scheme && uri_scheme[0] != '\0') ++ app_info = g_app_info_get_default_for_uri_scheme (uri_scheme); ++ g_free (uri_scheme); ++ ++ if (!app_info) ++ { ++ GFile *file; ++ ++ file = g_file_new_for_uri (uri); ++ app_info = g_file_query_default_handler (file, NULL, error); ++ g_object_unref (file); ++ } ++ ++ if (app_info) ++ { ++ GList l; ++ ++ l.data = (char *)uri; ++ l.next = l.prev = NULL; ++ res = g_app_info_launch_uris (app_info, &l, launch_context, error); ++ g_object_unref (app_info); ++ } + } + + #ifdef G_OS_UNIX +@@ -1148,7 +1153,7 @@ launch_default_for_uri_default_handler_cb (GObject *object, + GError *error = NULL; + + app_info = g_file_query_default_handler_finish (file, result, &error); +- if (app_info) ++ if (app_info && !glib_is_force_use_portal()) + launch_default_for_uri_launch_uris (g_steal_pointer (&task), g_steal_pointer (&app_info)); + else + launch_default_for_uri_portal_open_uri (g_steal_pointer (&task), g_steal_pointer (&error)); +diff --git a/gio/gportalsupport.c b/gio/gportalsupport.c +index 7e1da22..a2cbed8 100644 +--- a/gio/gportalsupport.c ++++ b/gio/gportalsupport.c +@@ -29,6 +29,8 @@ static gboolean use_portal; + static gboolean network_available; + static gboolean dconf_access; + ++static gboolean force_use_portal; ++ + #ifdef G_PORTAL_SUPPORT_TEST + static const char *snapctl = "snapctl"; + #else +@@ -70,6 +72,8 @@ sandbox_info_read (void) + if (!g_once_init_enter (&sandbox_info_is_read)) + return; + ++ force_use_portal = FALSE; ++ + sandbox_type = glib_get_sandbox_type (); + + switch (sandbox_type) +@@ -124,12 +128,16 @@ sandbox_info_read (void) + case G_SANDBOX_TYPE_UNKNOWN: + { + const char *var; ++ const char *env_var; + + var = g_getenv ("GTK_USE_PORTAL"); + if (var && var[0] == '1') + use_portal = TRUE; + network_available = TRUE; + dconf_access = TRUE; ++ env_var = g_getenv ("GLIB_FORCE_USE_PORTAL"); ++ if (env_var && env_var[0] == '1' && use_portal) ++ force_use_portal = TRUE; + } + break; + } +@@ -176,3 +184,10 @@ glib_has_dconf_access_in_sandbox (void) + + return dconf_access; + } ++ ++gboolean ++glib_is_force_use_portal (void) ++{ ++ read_flatpak_info (); ++ return force_use_portal; ++} +diff --git a/gio/gportalsupport.h b/gio/gportalsupport.h +index 5fe5d82..e26fbbe 100644 +--- a/gio/gportalsupport.h ++++ b/gio/gportalsupport.h +@@ -28,6 +28,7 @@ G_BEGIN_DECLS + gboolean glib_should_use_portal (void); + gboolean glib_network_available_in_sandbox (void); + gboolean glib_has_dconf_access_in_sandbox (void); ++gboolean glib_is_force_use_portal (void); + + G_END_DECLS + diff --git a/debian/patches/GLIB_USE_KYLIN_PROCESS_MANAGER-GLIB_USE_KYLIN_PROCESS_MAN.patch b/debian/patches/GLIB_USE_KYLIN_PROCESS_MANAGER-GLIB_USE_KYLIN_PROCESS_MAN.patch new file mode 100644 index 0000000..0382610 --- /dev/null +++ b/debian/patches/GLIB_USE_KYLIN_PROCESS_MANAGER-GLIB_USE_KYLIN_PROCESS_MAN.patch @@ -0,0 +1,142 @@ +From: Yue-Lan +Date: Fri, 1 Dec 2023 17:37:45 +0800 +Subject: =?utf-8?b?5re75YqgR0xJQl9VU0VfS1lMSU5fUFJPQ0VTU19NQU5BR0VS546v5aKD?= + =?utf-8?b?5Y+Y6YeP77yM5b2TR0xJQl9VU0VfS1lMSU5fUFJPQ0VTU19NQU5BR0VSPTHml7Y=?= + =?utf-8?b?77yMZ19hcHBfaW5mb19sYXVuY2hfdXJpcygp5ZKMZ19hcHBfaW5mb19sYXVuY2hf?= + =?utf-8?b?dXJpc19hc3luYygp5Lya6LWwa3lsaW4tcHJvY2Vzcy1tYW5hZ2Vy5o+Q5L6b55qE?= + =?utf-8?b?ZGJ1c+aOpeWPo+aJk+W8gOW6lOeUqOaIluiAheaWh+S7tg==?= + +--- + gio/gdesktopappinfo.c | 44 ++++++++++++++++++++++++++++++++++++++++++-- + gio/gportalsupport.c | 12 ++++++++++++ + gio/gportalsupport.h | 1 + + 3 files changed, 55 insertions(+), 2 deletions(-) + +diff --git a/gio/gdesktopappinfo.c b/gio/gdesktopappinfo.c +index 1f16132..d14db3e 100644 +--- a/gio/gdesktopappinfo.c ++++ b/gio/gdesktopappinfo.c +@@ -57,6 +57,7 @@ + #include "gappinfoprivate.h" + #include "glocalfilemonitor.h" + #include "gutilsprivate.h" ++#include "gportalsupport.h" + + #ifdef G_OS_UNIX + #include "gdocumentportal.h" +@@ -3268,6 +3269,33 @@ launch_uris_with_dbus (GDesktopAppInfo *info, + g_variant_dict_clear (&dict); + } + ++static void ++g_desktop_app_info_launch_with_kylin_process_manager (GDesktopAppInfo *info, ++ GDBusConnection *session_bus, ++ GList *uris, ++ GAppLaunchContext *launch_context, ++ GCancellable *cancellable, ++ GAsyncReadyCallback callback, ++ gpointer user_data) ++{ ++ const gchar *cmd = g_app_info_get_commandline (G_DESKTOP_APP_INFO (info)); ++ gchar *args = g_strdup (cmd); ++ GList *iter = uris; ++ GVariantBuilder builder; ++ while (iter) { ++ char *uri = iter->data; ++ char *tmp_args = g_strconcat (args, " ", uri, NULL); ++ g_free (args); ++ args = tmp_args; ++ iter = iter->next; ++ } ++ g_variant_builder_init (&builder, G_VARIANT_TYPE_TUPLE); ++ g_variant_builder_add (&builder, "s", args); ++ g_free (args); ++ g_dbus_connection_call (session_bus, "com.kylin.ProcessManager", "/com/kylin/ProcessManager/AppLauncher", "com.kylin.ProcessManager.AppLauncher", "RunCommand", ++ g_variant_builder_end (&builder), NULL, G_DBUS_CALL_FLAGS_NONE, -1, cancellable, callback, user_data); ++} ++ + static gboolean + g_desktop_app_info_launch_uris_with_dbus (GDesktopAppInfo *info, + GDBusConnection *session_bus, +@@ -3320,10 +3348,16 @@ g_desktop_app_info_launch_uris_internal (GAppInfo *appinfo, + GDesktopAppInfo *info = G_DESKTOP_APP_INFO (appinfo); + GDBusConnection *session_bus; + gboolean success = TRUE; ++ gboolean use_kylin_process_manager = glib_should_use_kylin_process_manager (); + + session_bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL); + +- if (session_bus && info->app_id) ++ if (session_bus && use_kylin_process_manager) ++ { ++ g_desktop_app_info_launch_with_kylin_process_manager(info, session_bus, uris, launch_context, ++ NULL, NULL, NULL); ++ } ++ else if (session_bus && info->app_id) + /* This is non-blocking API. Similar to launching via fork()/exec() + * we don't wait around to see if the program crashed during startup. + * This is what startup-notification's job is... +@@ -3424,10 +3458,16 @@ launch_uris_bus_get_cb (GObject *object, + GCancellable *cancellable = g_task_get_cancellable (task); + GDBusConnection *session_bus; + GError *local_error = NULL; ++ gboolean use_kylin_process_manager = glib_should_use_kylin_process_manager (); + + session_bus = g_bus_get_finish (result, NULL); + +- if (session_bus && info->app_id) ++ if (session_bus && use_kylin_process_manager) ++ { ++ g_desktop_app_info_launch_with_kylin_process_manager(info, session_bus, data->uris, data->context, ++ cancellable, launch_uris_with_dbus_cb, g_steal_pointer (&task)); ++ } ++ else if (session_bus && info->app_id) + { + /* FIXME: The g_document_portal_add_documents() function, which is called + * from the g_desktop_app_info_launch_uris_with_dbus() function, still +diff --git a/gio/gportalsupport.c b/gio/gportalsupport.c +index a2cbed8..12c5d6a 100644 +--- a/gio/gportalsupport.c ++++ b/gio/gportalsupport.c +@@ -30,6 +30,7 @@ static gboolean network_available; + static gboolean dconf_access; + + static gboolean force_use_portal; ++static gboolean use_kylin_process_manager; + + #ifdef G_PORTAL_SUPPORT_TEST + static const char *snapctl = "snapctl"; +@@ -129,6 +130,11 @@ sandbox_info_read (void) + { + const char *var; + const char *env_var; ++ const char *kylin_var; ++ ++ kylin_var = g_getenv ("GLIB_USE_KYLIN_PROCESS_MANAGER"); ++ if (kylin_var && kylin_var[0] == '1') ++ use_kylin_process_manager = TRUE; + + var = g_getenv ("GTK_USE_PORTAL"); + if (var && var[0] == '1') +@@ -191,3 +197,9 @@ glib_is_force_use_portal (void) + read_flatpak_info (); + return force_use_portal; + } ++ ++gboolean glib_should_use_kylin_process_manager (void) ++{ ++ read_flatpak_info (); ++ return use_kylin_process_manager; ++} +diff --git a/gio/gportalsupport.h b/gio/gportalsupport.h +index e26fbbe..9a07de2 100644 +--- a/gio/gportalsupport.h ++++ b/gio/gportalsupport.h +@@ -29,6 +29,7 @@ gboolean glib_should_use_portal (void); + gboolean glib_network_available_in_sandbox (void); + gboolean glib_has_dconf_access_in_sandbox (void); + gboolean glib_is_force_use_portal (void); ++gboolean glib_should_use_kylin_process_manager (void); + + G_END_DECLS + diff --git a/debian/patches/Modify-debian-control.patch b/debian/patches/Modify-debian-control.patch deleted file mode 100644 index a54fb5e..0000000 --- a/debian/patches/Modify-debian-control.patch +++ /dev/null @@ -1,2997 +0,0 @@ -From: su-fang -Date: Mon, 20 Feb 2023 17:15:32 +0800 -Subject: Modify debian/control. - ---- - gio/gdesktopappinfo.c | 2 + - gio/glib-compile-schemas.c | 4 + - gio/tests/debugcontroller.c | 6 + - gio/tests/gdbus-server-auth.c | 7 + - gio/tests/gdbus-threading.c | 6 + - gio/tests/gmenumodel.c | 6 + - gio/tests/memory-monitor-dbus.py.in | 20 +- - gio/tests/testfilemonitor.c | 38 +- - glib/gkeyfile.c | 103 +++++ - glib/tests/gvariant.c | 8 + - glib/tests/gwakeuptest.c | 17 +- - glib/tests/mainloop.c | 16 + - glib/tests/spawn-test.c | 11 +- - glib/tests/thread.c | 9 +- - glib/tests/timeout.c | 9 + - glib/tests/timer.c | 10 +- - gobject/tests/closure-refcount.c | 8 + - gobject/tests/threadtests.c | 8 + - subprojects/gvdb/COPYING | 504 ------------------------ - subprojects/gvdb/README.md | 25 -- - subprojects/gvdb/gvdb.doap | 57 --- - subprojects/gvdb/gvdb/gvdb-builder.c | 637 ------------------------------ - subprojects/gvdb/gvdb/gvdb-builder.h | 66 ---- - subprojects/gvdb/gvdb/gvdb-format.h | 85 ---- - subprojects/gvdb/gvdb/gvdb-reader.c | 736 ----------------------------------- - subprojects/gvdb/gvdb/gvdb-reader.h | 78 ---- - subprojects/gvdb/meson.build | 15 - - 27 files changed, 277 insertions(+), 2214 deletions(-) - delete mode 100644 subprojects/gvdb/COPYING - delete mode 100644 subprojects/gvdb/README.md - delete mode 100644 subprojects/gvdb/gvdb.doap - delete mode 100644 subprojects/gvdb/gvdb/gvdb-builder.c - delete mode 100644 subprojects/gvdb/gvdb/gvdb-builder.h - delete mode 100644 subprojects/gvdb/gvdb/gvdb-format.h - delete mode 100644 subprojects/gvdb/gvdb/gvdb-reader.c - delete mode 100644 subprojects/gvdb/gvdb/gvdb-reader.h - delete mode 100644 subprojects/gvdb/meson.build - -diff --git a/gio/gdesktopappinfo.c b/gio/gdesktopappinfo.c -index c29c309..c244272 100644 ---- a/gio/gdesktopappinfo.c -+++ b/gio/gdesktopappinfo.c -@@ -2676,6 +2676,8 @@ prepend_terminal_to_vector (int *argc, - } - else - { -+ if (check == NULL) -+ check = g_find_program_in_path ("kgx"); - if (check == NULL) - check = g_find_program_in_path ("tilix"); - if (check == NULL) -diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c -index 326658a..d8565f2 100644 ---- a/gio/glib-compile-schemas.c -+++ b/gio/glib-compile-schemas.c -@@ -1234,6 +1234,9 @@ parse_state_start_schema (ParseState *state, - return; - } - -+ // Disable this warning: it confuses users and there is unlikely to be much -+ // progress towards fixing -+ /* - if (path && (g_str_has_prefix (path, "/apps/") || - g_str_has_prefix (path, "/desktop/") || - g_str_has_prefix (path, "/system/"))) -@@ -1246,6 +1249,7 @@ parse_state_start_schema (ParseState *state, - g_printerr ("%s\n", message); - g_free (message); - } -+ */ - - state->schema_state = schema_state_new (path, gettext_domain, - extends, extends_name, list_of); -diff --git a/gio/tests/debugcontroller.c b/gio/tests/debugcontroller.c -index 862e8f6..ebe90ef 100644 ---- a/gio/tests/debugcontroller.c -+++ b/gio/tests/debugcontroller.c -@@ -191,6 +191,12 @@ test_dbus_properties (void) - - g_test_summary ("Test getting and setting properties on a #GDebugControllerDBus."); - -+ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) -+ { -+ g_test_skip ("https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2486#note_1384102"); -+ return; -+ } -+ - /* Set up a test session bus and connection. Set up a separate second - * connection to simulate a remote peer. */ - bus = g_test_dbus_new (G_TEST_DBUS_NONE); -diff --git a/gio/tests/gdbus-server-auth.c b/gio/tests/gdbus-server-auth.c -index c683f61..8b230c3 100644 ---- a/gio/tests/gdbus-server-auth.c -+++ b/gio/tests/gdbus-server-auth.c -@@ -326,6 +326,13 @@ do_test_server_auth (InteropFlags flags) - } - #endif - -+ if ((flags & (INTEROP_FLAGS_TCP | INTEROP_FLAGS_SHA1)) && -+ g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) -+ { -+ g_test_skip ("https://gitlab.gnome.org/GNOME/glib/-/issues/2206"); -+ goto out; -+ } -+ - if (flags & INTEROP_FLAGS_ANONYMOUS) - server_flags |= G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS; - if (flags & INTEROP_FLAGS_REQUIRE_SAME_USER) -diff --git a/gio/tests/gdbus-threading.c b/gio/tests/gdbus-threading.c -index 8323dd2..da1f7e6 100644 ---- a/gio/tests/gdbus-threading.c -+++ b/gio/tests/gdbus-threading.c -@@ -679,6 +679,12 @@ main (int argc, - - g_test_init (&argc, &argv, NULL); - -+ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) -+ { -+ g_print("ok 1 # SKIP all gdbus-threading tests skipped because they are too unreliable (glib#1515)\n"); -+ return 77; -+ } -+ - session_bus_up (); - - /* this is safe; testserver will exit once the bus goes away */ -diff --git a/gio/tests/gmenumodel.c b/gio/tests/gmenumodel.c -index 9d3e5cb..f89def1 100644 ---- a/gio/tests/gmenumodel.c -+++ b/gio/tests/gmenumodel.c -@@ -1160,6 +1160,12 @@ test_dbus_peer_subscriptions (void) - #else - PeerConnection peer; - -+ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) -+ { -+ g_test_skip ("Not reliable? #932678"); -+ return; -+ } -+ - peer_connection_up (&peer); - do_subscriptions (peer.server_connection, peer.client_connection); - peer_connection_down (&peer); -diff --git a/gio/tests/memory-monitor-dbus.py.in b/gio/tests/memory-monitor-dbus.py.in -index bf32918..61e6f94 100755 ---- a/gio/tests/memory-monitor-dbus.py.in -+++ b/gio/tests/memory-monitor-dbus.py.in -@@ -39,6 +39,8 @@ try: - klass.start_system_bus() - klass.dbus_con = klass.get_dbus(True) - -+ @unittest.skipIf('DEB_ALLOW_FLAKY_TESTS' not in os.environ, -+ 'https://bugs.debian.org/995178') - def setUp(self): - try: - Gio.MemoryMonitor -@@ -72,18 +74,29 @@ try: - Timeout is in deciseconds, defaulting to 50 (5 seconds). message is - printed on failure. - ''' -+ print('Waiting up to {}/10 seconds for {!r} to be true'.format(timeout, condition)) -+ orig_timeout = timeout -+ - while timeout >= 0: -+ print('Loop iteration') - context = GLib.MainContext.default() - while context.iteration(False): -+ print('Iterating main loop') - pass - if condition(): -+ print('Condition reached') - break - timeout -= 1 - time.sleep(0.1) - else: -+ print('Condition not reached in {}/10 seconds'.format(orig_timeout)) - self.fail(message or 'timed out waiting for ' + str(condition)) - - def memory_warning_cb(self, monitor, level): -+ print('low-memory-warning: monitor {!r} reports level {}'.format( -+ monitor, -+ level, -+ )) - self.last_warning = level - self.main_context.wakeup() - -@@ -93,17 +106,20 @@ try: - # Wait 2 seconds - timeout = 2 - while timeout > 0: -+ print('Waiting 0.5s for stray events...') - time.sleep(0.5) - timeout -= 0.5 - self.main_context.iteration(False) - -+ print('Emitting mock low-memory warning, level 100: try to free memory') - self.dbusmock.EmitWarning(100) - # Wait 2 seconds or until warning -- self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 20) -+ self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 100) - -+ print('Emitting mock low-memory warning, level 255: OOM imminent') - self.dbusmock.EmitWarning(255) - # Wait 2 seconds or until warning -- self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 20) -+ self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 100) - - except ImportError as e: - @unittest.skip("Cannot import %s" % e.name) -diff --git a/gio/tests/testfilemonitor.c b/gio/tests/testfilemonitor.c -index 7274f79..c2ba382 100644 ---- a/gio/tests/testfilemonitor.c -+++ b/gio/tests/testfilemonitor.c -@@ -32,6 +32,12 @@ setup (Fixture *fixture, - gchar *path = NULL; - GError *local_error = NULL; - -+ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) -+ { -+ g_test_skip ("https://gitlab.gnome.org/GNOME/glib/issues/1634"); -+ return; -+ } -+ - path = g_dir_make_tmp ("gio-test-testfilemonitor_XXXXXX", &local_error); - g_assert_no_error (local_error); - -@@ -48,7 +54,9 @@ teardown (Fixture *fixture, - { - GError *local_error = NULL; - -- g_file_delete (fixture->tmp_dir, NULL, &local_error); -+ if (fixture->tmp_dir != NULL) -+ g_file_delete (fixture->tmp_dir, NULL, &local_error); -+ - g_assert_no_error (local_error); - g_clear_object (&fixture->tmp_dir); - } -@@ -375,6 +383,10 @@ test_atomic_replace (Fixture *fixture, - if (skip_win32 ()) - return; - -+ /* respect g_test_skip() during setup() */ -+ if (g_test_failed ()) -+ return; -+ - data.step = 0; - data.events = NULL; - -@@ -483,6 +495,10 @@ test_file_changes (Fixture *fixture, - if (skip_win32 ()) - return; - -+ /* respect g_test_skip() during setup() */ -+ if (g_test_failed ()) -+ return; -+ - data.step = 0; - data.events = NULL; - -@@ -603,6 +619,10 @@ test_dir_monitor (Fixture *fixture, - if (skip_win32 ()) - return; - -+ /* respect g_test_skip() during setup() */ -+ if (g_test_failed ()) -+ return; -+ - data.step = 0; - data.events = NULL; - -@@ -703,6 +723,10 @@ test_dir_non_existent (Fixture *fixture, - if (skip_win32 ()) - return; - -+ /* respect g_test_skip() during setup() */ -+ if (g_test_failed ()) -+ return; -+ - data.step = 0; - data.events = NULL; - -@@ -815,6 +839,10 @@ test_cross_dir_moves (Fixture *fixture, - if (skip_win32 ()) - return; - -+ /* respect g_test_skip() during setup() */ -+ if (g_test_failed ()) -+ return; -+ - data[0].step = 0; - data[0].events = NULL; - -@@ -984,6 +1012,10 @@ test_file_hard_links (Fixture *fixture, - GError *error = NULL; - TestData data; - -+ /* respect g_test_skip() during setup() */ -+ if (g_test_failed ()) -+ return; -+ - g_test_bug ("https://bugzilla.gnome.org/show_bug.cgi?id=755721"); - - if (skip_win32 ()) -@@ -1043,6 +1075,10 @@ test_finalize_in_callback (Fixture *fixture, - GFile *file = NULL; - guint i; - -+ /* respect g_test_skip() during setup() */ -+ if (g_test_failed ()) -+ return; -+ - g_test_summary ("Test that finalization of a GFileMonitor in one of its " - "callbacks doesn’t cause a deadlock."); - g_test_bug ("https://gitlab.gnome.org/GNOME/glib/-/issues/1941"); -diff --git a/glib/gkeyfile.c b/glib/gkeyfile.c -index 6ae738c..1b8043d 100644 ---- a/glib/gkeyfile.c -+++ b/glib/gkeyfile.c -@@ -491,6 +491,17 @@ - * Since: 2.14 - */ - -+/* Downstream Debian defines for calling gettext() if a .desktop file doesn’t -+ * contain translations. These are not standardised. -+ * -+ * See: https://launchpad.net/bugs/3935 -+ * See:http://bugzilla.gnome.org/show_bug.cgi?id=569829 -+ */ -+#define G_KEY_FILE_DESKTOP_ACTION_GROUP_PREFIX "Desktop Action" -+#define G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN "X-GNOME-Gettext-Domain" -+#define G_KEY_FILE_DESKTOP_KEY_FULLNAME "X-GNOME-FullName" -+#define G_KEY_FILE_DESKTOP_KEY_KEYWORDS "Keywords" -+ - typedef struct _GKeyFileGroup GKeyFileGroup; - - /** -@@ -515,6 +526,7 @@ struct _GKeyFile - - gboolean checked_locales; /* TRUE if @locales has been initialised */ - gchar **locales; /* (nullable) */ -+ gchar *gettext_domain; - - gint ref_count; /* (atomic) */ - }; -@@ -641,6 +653,7 @@ g_key_file_init (GKeyFile *key_file) - key_file->parse_buffer = NULL; - key_file->list_separator = ';'; - key_file->flags = 0; -+ key_file->gettext_domain = NULL; - } - - static void -@@ -661,6 +674,12 @@ g_key_file_clear (GKeyFile *key_file) - key_file->parse_buffer = NULL; - } - -+ if (key_file->gettext_domain) -+ { -+ g_free (key_file->gettext_domain); -+ key_file->gettext_domain = NULL; -+ } -+ - tmp = key_file->groups; - while (tmp != NULL) - { -@@ -881,6 +900,21 @@ g_key_file_load_from_fd (GKeyFile *key_file, - return FALSE; - } - -+ key_file->gettext_domain = g_key_file_get_string (key_file, -+ G_KEY_FILE_DESKTOP_GROUP, -+ G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, -+ NULL); -+ if (!key_file->gettext_domain) -+ key_file->gettext_domain = g_key_file_get_string (key_file, -+ G_KEY_FILE_DESKTOP_GROUP, -+ "X-Ubuntu-Gettext-Domain", -+ NULL); -+ if (!key_file->gettext_domain) -+ key_file->gettext_domain = g_key_file_get_string (key_file, -+ G_KEY_FILE_DESKTOP_GROUP, -+ "X-Debian-Gettext-Domain", -+ NULL); -+ - return TRUE; - } - -@@ -993,6 +1027,21 @@ g_key_file_load_from_data (GKeyFile *key_file, - return FALSE; - } - -+ key_file->gettext_domain = g_key_file_get_string (key_file, -+ G_KEY_FILE_DESKTOP_GROUP, -+ G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, -+ NULL); -+ if (!key_file->gettext_domain) -+ key_file->gettext_domain = g_key_file_get_string (key_file, -+ G_KEY_FILE_DESKTOP_GROUP, -+ "X-Ubuntu-Gettext-Domain", -+ NULL); -+ if (!key_file->gettext_domain) -+ key_file->gettext_domain = g_key_file_get_string (key_file, -+ G_KEY_FILE_DESKTOP_GROUP, -+ "X-Debian-Gettext-Domain", -+ NULL); -+ - return TRUE; - } - -@@ -2242,6 +2291,8 @@ g_key_file_get_locale_string (GKeyFile *key_file, - GError *key_file_error; - gchar **languages; - gboolean free_languages = FALSE; -+ gboolean try_gettext = FALSE; -+ const gchar *msg_locale; - gint i; - - g_return_val_if_fail (key_file != NULL, NULL); -@@ -2263,6 +2314,25 @@ g_key_file_get_locale_string (GKeyFile *key_file, - free_languages = FALSE; - } - -+ /* we're only interested in gettext translation if we don't have a -+ * translation in the .desktop file itself and if the key is one of the keys -+ * we know we want to translate: Name, GenericName, Comment, Keywords. -+ * Blindly doing this for all keys can give strange result for the icons, -+ * since the Icon is a locale string in the spec, eg. We also only get -+ * translation in the mo file if the requested locale is the LC_MESSAGES one. -+ * Ideally, we should do more and change LC_MESSAGES to use the requested -+ * locale, but there's no guarantee it's installed on the system and it might -+ * have some side-effects. Since this is a corner case, let's ignore it. */ -+ msg_locale = setlocale (LC_MESSAGES, NULL); -+ try_gettext = msg_locale && key_file->gettext_domain && -+ (strcmp (group_name, G_KEY_FILE_DESKTOP_GROUP) == 0 || -+ g_str_has_prefix (group_name, G_KEY_FILE_DESKTOP_ACTION_GROUP_PREFIX)) && -+ (strcmp (key, G_KEY_FILE_DESKTOP_KEY_NAME) == 0 || -+ strcmp (key, G_KEY_FILE_DESKTOP_KEY_FULLNAME) == 0 || -+ strcmp (key, G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME) == 0 || -+ strcmp (key, G_KEY_FILE_DESKTOP_KEY_KEYWORDS) == 0 || -+ strcmp (key, G_KEY_FILE_DESKTOP_KEY_COMMENT) == 0); -+ - for (i = 0; languages[i]; i++) - { - candidate_key = g_strdup_printf ("%s[%s]", key, languages[i]); -@@ -2276,6 +2346,39 @@ g_key_file_get_locale_string (GKeyFile *key_file, - break; - } - -+ /* Fallback to gettext */ -+ if (try_gettext && !translated_value) -+ { -+ gchar *orig_value = g_key_file_get_string (key_file, group_name, key, NULL); -+ -+ if (orig_value) -+ { -+ gboolean codeset_set; -+ const gchar *translated; -+ gboolean has_gettext; -+ -+ codeset_set = bind_textdomain_codeset (key_file->gettext_domain, "UTF-8") != NULL; -+ translated = NULL; -+ -+ translated = g_dgettext (key_file->gettext_domain, -+ orig_value); -+ has_gettext = translated != orig_value; -+ -+ g_free (orig_value); -+ -+ if (has_gettext) -+ { -+ if (codeset_set) -+ translated_value = g_strdup (translated); -+ else -+ translated_value = g_locale_to_utf8 (translated, -+ -1, NULL, NULL, NULL); -+ } -+ else -+ translated_value = NULL; -+ } -+ } -+ - /* Fallback to untranslated key - */ - if (!translated_value) -diff --git a/glib/tests/gvariant.c b/glib/tests/gvariant.c -index e4a2518..33b40d5 100644 ---- a/glib/tests/gvariant.c -+++ b/glib/tests/gvariant.c -@@ -2464,6 +2464,14 @@ test_fuzzes (gpointer data) - gdouble fuzziness; - int i; - -+#ifdef __mips__ -+ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) -+ { -+ g_test_skip ("Extremely slow on some mips CPUs: #932678"); -+ return; -+ } -+#endif -+ - fuzziness = GPOINTER_TO_INT (data) / 100.; - - for (i = 0; i < 200; i++) -diff --git a/glib/tests/gwakeuptest.c b/glib/tests/gwakeuptest.c -index b37fb43..a9bef21 100644 ---- a/glib/tests/gwakeuptest.c -+++ b/glib/tests/gwakeuptest.c -@@ -89,6 +89,9 @@ struct context - #define NUM_TOKENS 5 - #define TOKEN_TTL 100000 - -+static gint num_threads = NUM_THREADS; -+static gint token_ttl = TOKEN_TTL; -+ - static struct context contexts[NUM_THREADS]; - static GThread *threads[NUM_THREADS]; - static GWakeup *last_token_wakeup; -@@ -158,7 +161,7 @@ dispatch_token (struct token *token) - struct context *ctx; - gint next_ctx; - -- next_ctx = g_test_rand_int_range (0, NUM_THREADS); -+ next_ctx = g_test_rand_int_range (0, num_threads); - ctx = &contexts[next_ctx]; - token->owner = ctx; - token->ttl--; -@@ -213,6 +216,12 @@ test_threaded (void) - { - gint i; - -+ if (!g_test_slow ()) -+ { -+ num_threads = NUM_THREADS / 10; -+ token_ttl = TOKEN_TTL / 10; -+ } -+ - /* make sure we don't block forever */ - alarm (60); - -@@ -230,7 +239,7 @@ test_threaded (void) - last_token_wakeup = g_wakeup_new (); - - /* create contexts, assign to threads */ -- for (i = 0; i < NUM_THREADS; i++) -+ for (i = 0; i < num_threads; i++) - { - context_init (&contexts[i]); - threads[i] = g_thread_new ("test", thread_func, &contexts[i]); -@@ -238,13 +247,13 @@ test_threaded (void) - - /* dispatch tokens */ - for (i = 0; i < NUM_TOKENS; i++) -- dispatch_token (token_new (TOKEN_TTL)); -+ dispatch_token (token_new (token_ttl)); - - /* wait until all tokens are gone */ - wait_for_signaled (last_token_wakeup); - - /* ask threads to quit, join them, cleanup */ -- for (i = 0; i < NUM_THREADS; i++) -+ for (i = 0; i < num_threads; i++) - { - context_quit (&contexts[i]); - g_thread_join (threads[i]); -diff --git a/glib/tests/mainloop.c b/glib/tests/mainloop.c -index c18da94..2aec6ff 100644 ---- a/glib/tests/mainloop.c -+++ b/glib/tests/mainloop.c -@@ -520,6 +520,14 @@ test_child_sources (void) - GMainLoop *loop; - GSource *parent, *child_b, *child_c, *end; - -+#if defined(__arm__) -+ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) -+ { -+ g_test_skip ("Not reliable on older ARM hardware"); -+ return; -+ } -+#endif -+ - ctx = g_main_context_new (); - loop = g_main_loop_new (ctx, FALSE); - -@@ -598,6 +606,14 @@ test_recursive_child_sources (void) - GMainLoop *loop; - GSource *parent, *child_b, *child_c, *end; - -+#if defined(__arm__) -+ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) -+ { -+ g_test_skip ("Not reliable on older ARM hardware"); -+ return; -+ } -+#endif -+ - ctx = g_main_context_new (); - loop = g_main_loop_new (ctx, FALSE); - -diff --git a/glib/tests/spawn-test.c b/glib/tests/spawn-test.c -index 4e54ab2..e4f2efc 100644 ---- a/glib/tests/spawn-test.c -+++ b/glib/tests/spawn-test.c -@@ -31,6 +31,7 @@ - #include - #include - #define pipe(fds) _pipe(fds, 4096, _O_BINARY) -+#include - #endif - - #ifdef G_OS_WIN32 -@@ -109,8 +110,16 @@ test_spawn_basics (void) - NULL, &erroutput, NULL, &err); - g_assert_no_error (err); - g_assert_true (result); -+#ifndef G_OS_WIN32 - g_assert_true (g_str_has_prefix (erroutput, "sort: ")); -- g_assert_nonnull (strstr (erroutput, "No such file or directory")); -+ g_assert_nonnull (strstr (erroutput, g_strerror (ENOENT))); -+#else -+ { -+ gchar *file_not_found_message = g_win32_error_message (ERROR_FILE_NOT_FOUND); -+ g_assert_nonnull (strstr (erroutput, file_not_found_message)); -+ g_free (file_not_found_message); -+ } -+#endif - - g_free (erroutput); - erroutput = NULL; -diff --git a/glib/tests/thread.c b/glib/tests/thread.c -index 14f5710..3e1883f 100644 ---- a/glib/tests/thread.c -+++ b/glib/tests/thread.c -@@ -145,7 +145,14 @@ test_thread4 (void) - nl.rlim_cur = 1; - - if (prlimit (getpid (), RLIMIT_NPROC, &nl, &ol) != 0) -- g_error ("prlimit failed: %s", g_strerror (errno)); -+ { -+ gchar *message = g_strdup_printf ("setting PRLIMIT_NPROC to {cur=%d,max=%d} failed: %s", -+ (int) nl.rlim_cur, (int) nl.rlim_max, -+ g_strerror (errno)); -+ g_test_skip (message); -+ g_free (message); -+ return; -+ } - - error = NULL; - thread = g_thread_try_new ("a", thread1_func, NULL, &error); -diff --git a/glib/tests/timeout.c b/glib/tests/timeout.c -index acbb8f3..60cc5f2 100644 ---- a/glib/tests/timeout.c -+++ b/glib/tests/timeout.c -@@ -177,6 +177,15 @@ test_func (gpointer data) - static void - test_rounding (void) - { -+ -+#if defined(__arm__) -+ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) -+ { -+ g_test_skip ("Not reliable on older ARM hardware"); -+ return; -+ } -+#endif -+ - loop = g_main_loop_new (NULL, FALSE); - - last_time = g_get_monotonic_time (); -diff --git a/glib/tests/timer.c b/glib/tests/timer.c -index 42ed5a9..df961fa 100644 ---- a/glib/tests/timer.c -+++ b/glib/tests/timer.c -@@ -30,9 +30,15 @@ static void - test_timer_basic (void) - { - GTimer *timer; -- gdouble elapsed; -+ volatile gdouble elapsed; - gulong micros; - -+ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) -+ { -+ g_test_skip ("Not reliable due to floating-point rounding (glib#820)"); -+ return; -+ } -+ - timer = g_timer_new (); - - g_timer_start (timer); -@@ -65,7 +71,7 @@ static void - test_timer_stop (void) - { - GTimer *timer; -- gdouble elapsed, elapsed2; -+ volatile gdouble elapsed, elapsed2; - - timer = g_timer_new (); - -diff --git a/gobject/tests/closure-refcount.c b/gobject/tests/closure-refcount.c -index 5a92005..73185f0 100644 ---- a/gobject/tests/closure-refcount.c -+++ b/gobject/tests/closure-refcount.c -@@ -260,6 +260,14 @@ test_closure_refcount (void) - GTest *object; - guint i, n_iterations; - -+#if defined(__aarch64__) || defined(__arm__) -+ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") != NULL) -+ { -+ g_print ("SKIP: Test is known to be flaky on arm* (#880883, #917983)\n"); -+ return 0; -+ } -+#endif -+ - object = g_object_new (G_TYPE_TEST, NULL); - closure = g_cclosure_new (G_CALLBACK (test_signal_handler), &test_data, destroy_data); - -diff --git a/gobject/tests/threadtests.c b/gobject/tests/threadtests.c -index 3b485eb..6ea9a48 100644 ---- a/gobject/tests/threadtests.c -+++ b/gobject/tests/threadtests.c -@@ -484,6 +484,14 @@ test_threaded_toggle_notify (void) - "safely from another (the main) thread without causing the " - "notifying thread to abort"); - -+#if defined(__arm__) -+ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) -+ { -+ g_test_skip ("Intermittently takes more than 5 minutes on 32-bit ARM (Debian#1023652)"); -+ return; -+ } -+#endif -+ - g_object_add_toggle_ref (object, on_toggle_notify, &data); - g_object_unref (object); - -diff --git a/subprojects/gvdb/COPYING b/subprojects/gvdb/COPYING -deleted file mode 100644 -index d129f48..0000000 ---- a/subprojects/gvdb/COPYING -+++ /dev/null -@@ -1,504 +0,0 @@ -- GNU LESSER GENERAL PUBLIC LICENSE -- Version 2.1, February 1999 -- -- Copyright (C) 1991, 1999 Free Software Foundation, Inc. -- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -- Everyone is permitted to copy and distribute verbatim copies -- of this license document, but changing it is not allowed. -- --(This is the first released version of the Lesser GPL. It also counts -- as the successor of the GNU Library Public License, version 2, hence -- the version number 2.1.) -- -- Preamble -- -- The licenses for most software are designed to take away your --freedom to share and change it. By contrast, the GNU General Public --Licenses are intended to guarantee your freedom to share and change --free software--to make sure the software is free for all its users. -- -- This license, the Lesser General Public License, applies to some --specially designated software packages--typically libraries--of the --Free Software Foundation and other authors who decide to use it. You --can use it too, but we suggest you first think carefully about whether --this license or the ordinary General Public License is the better --strategy to use in any particular case, based on the explanations below. -- -- When we speak of free software, we are referring to freedom of use, --not price. Our General Public Licenses are designed to make sure that --you have the freedom to distribute copies of free software (and charge --for this service if you wish); that you receive source code or can get --it if you want it; that you can change the software and use pieces of --it in new free programs; and that you are informed that you can do --these things. -- -- To protect your rights, we need to make restrictions that forbid --distributors to deny you these rights or to ask you to surrender these --rights. These restrictions translate to certain responsibilities for --you if you distribute copies of the library or if you modify it. -- -- For example, if you distribute copies of the library, whether gratis --or for a fee, you must give the recipients all the rights that we gave --you. You must make sure that they, too, receive or can get the source --code. If you link other code with the library, you must provide --complete object files to the recipients, so that they can relink them --with the library after making changes to the library and recompiling --it. And you must show them these terms so they know their rights. -- -- We protect your rights with a two-step method: (1) we copyright the --library, and (2) we offer you this license, which gives you legal --permission to copy, distribute and/or modify the library. -- -- To protect each distributor, we want to make it very clear that --there is no warranty for the free library. Also, if the library is --modified by someone else and passed on, the recipients should know --that what they have is not the original version, so that the original --author's reputation will not be affected by problems that might be --introduced by others. -- -- Finally, software patents pose a constant threat to the existence of --any free program. We wish to make sure that a company cannot --effectively restrict the users of a free program by obtaining a --restrictive license from a patent holder. Therefore, we insist that --any patent license obtained for a version of the library must be --consistent with the full freedom of use specified in this license. -- -- Most GNU software, including some libraries, is covered by the --ordinary GNU General Public License. This license, the GNU Lesser --General Public License, applies to certain designated libraries, and --is quite different from the ordinary General Public License. We use --this license for certain libraries in order to permit linking those --libraries into non-free programs. -- -- When a program is linked with a library, whether statically or using --a shared library, the combination of the two is legally speaking a --combined work, a derivative of the original library. The ordinary --General Public License therefore permits such linking only if the --entire combination fits its criteria of freedom. The Lesser General --Public License permits more lax criteria for linking other code with --the library. -- -- We call this license the "Lesser" General Public License because it --does Less to protect the user's freedom than the ordinary General --Public License. It also provides other free software developers Less --of an advantage over competing non-free programs. These disadvantages --are the reason we use the ordinary General Public License for many --libraries. However, the Lesser license provides advantages in certain --special circumstances. -- -- For example, on rare occasions, there may be a special need to --encourage the widest possible use of a certain library, so that it becomes --a de-facto standard. To achieve this, non-free programs must be --allowed to use the library. A more frequent case is that a free --library does the same job as widely used non-free libraries. In this --case, there is little to gain by limiting the free library to free --software only, so we use the Lesser General Public License. -- -- In other cases, permission to use a particular library in non-free --programs enables a greater number of people to use a large body of --free software. For example, permission to use the GNU C Library in --non-free programs enables many more people to use the whole GNU --operating system, as well as its variant, the GNU/Linux operating --system. -- -- Although the Lesser General Public License is Less protective of the --users' freedom, it does ensure that the user of a program that is --linked with the Library has the freedom and the wherewithal to run --that program using a modified version of the Library. -- -- The precise terms and conditions for copying, distribution and --modification follow. Pay close attention to the difference between a --"work based on the library" and a "work that uses the library". The --former contains code derived from the library, whereas the latter must --be combined with the library in order to run. -- -- GNU LESSER GENERAL PUBLIC LICENSE -- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -- -- 0. This License Agreement applies to any software library or other --program which contains a notice placed by the copyright holder or --other authorized party saying it may be distributed under the terms of --this Lesser General Public License (also called "this License"). --Each licensee is addressed as "you". -- -- A "library" means a collection of software functions and/or data --prepared so as to be conveniently linked with application programs --(which use some of those functions and data) to form executables. -- -- The "Library", below, refers to any such software library or work --which has been distributed under these terms. A "work based on the --Library" means either the Library or any derivative work under --copyright law: that is to say, a work containing the Library or a --portion of it, either verbatim or with modifications and/or translated --straightforwardly into another language. (Hereinafter, translation is --included without limitation in the term "modification".) -- -- "Source code" for a work means the preferred form of the work for --making modifications to it. For a library, complete source code means --all the source code for all modules it contains, plus any associated --interface definition files, plus the scripts used to control compilation --and installation of the library. -- -- Activities other than copying, distribution and modification are not --covered by this License; they are outside its scope. The act of --running a program using the Library is not restricted, and output from --such a program is covered only if its contents constitute a work based --on the Library (independent of the use of the Library in a tool for --writing it). Whether that is true depends on what the Library does --and what the program that uses the Library does. -- -- 1. You may copy and distribute verbatim copies of the Library's --complete source code as you receive it, in any medium, provided that --you conspicuously and appropriately publish on each copy an --appropriate copyright notice and disclaimer of warranty; keep intact --all the notices that refer to this License and to the absence of any --warranty; and distribute a copy of this License along with the --Library. -- -- You may charge a fee for the physical act of transferring a copy, --and you may at your option offer warranty protection in exchange for a --fee. -- -- 2. You may modify your copy or copies of the Library or any portion --of it, thus forming a work based on the Library, and copy and --distribute such modifications or work under the terms of Section 1 --above, provided that you also meet all of these conditions: -- -- a) The modified work must itself be a software library. -- -- b) You must cause the files modified to carry prominent notices -- stating that you changed the files and the date of any change. -- -- c) You must cause the whole of the work to be licensed at no -- charge to all third parties under the terms of this License. -- -- d) If a facility in the modified Library refers to a function or a -- table of data to be supplied by an application program that uses -- the facility, other than as an argument passed when the facility -- is invoked, then you must make a good faith effort to ensure that, -- in the event an application does not supply such function or -- table, the facility still operates, and performs whatever part of -- its purpose remains meaningful. -- -- (For example, a function in a library to compute square roots has -- a purpose that is entirely well-defined independent of the -- application. Therefore, Subsection 2d requires that any -- application-supplied function or table used by this function must -- be optional: if the application does not supply it, the square -- root function must still compute square roots.) -- --These requirements apply to the modified work as a whole. If --identifiable sections of that work are not derived from the Library, --and can be reasonably considered independent and separate works in --themselves, then this License, and its terms, do not apply to those --sections when you distribute them as separate works. But when you --distribute the same sections as part of a whole which is a work based --on the Library, the distribution of the whole must be on the terms of --this License, whose permissions for other licensees extend to the --entire whole, and thus to each and every part regardless of who wrote --it. -- --Thus, it is not the intent of this section to claim rights or contest --your rights to work written entirely by you; rather, the intent is to --exercise the right to control the distribution of derivative or --collective works based on the Library. -- --In addition, mere aggregation of another work not based on the Library --with the Library (or with a work based on the Library) on a volume of --a storage or distribution medium does not bring the other work under --the scope of this License. -- -- 3. You may opt to apply the terms of the ordinary GNU General Public --License instead of this License to a given copy of the Library. To do --this, you must alter all the notices that refer to this License, so --that they refer to the ordinary GNU General Public License, version 2, --instead of to this License. (If a newer version than version 2 of the --ordinary GNU General Public License has appeared, then you can specify --that version instead if you wish.) Do not make any other change in --these notices. -- -- Once this change is made in a given copy, it is irreversible for --that copy, so the ordinary GNU General Public License applies to all --subsequent copies and derivative works made from that copy. -- -- This option is useful when you wish to copy part of the code of --the Library into a program that is not a library. -- -- 4. You may copy and distribute the Library (or a portion or --derivative of it, under Section 2) in object code or executable form --under the terms of Sections 1 and 2 above provided that you accompany --it with the complete corresponding machine-readable source code, which --must be distributed under the terms of Sections 1 and 2 above on a --medium customarily used for software interchange. -- -- If distribution of object code is made by offering access to copy --from a designated place, then offering equivalent access to copy the --source code from the same place satisfies the requirement to --distribute the source code, even though third parties are not --compelled to copy the source along with the object code. -- -- 5. A program that contains no derivative of any portion of the --Library, but is designed to work with the Library by being compiled or --linked with it, is called a "work that uses the Library". Such a --work, in isolation, is not a derivative work of the Library, and --therefore falls outside the scope of this License. -- -- However, linking a "work that uses the Library" with the Library --creates an executable that is a derivative of the Library (because it --contains portions of the Library), rather than a "work that uses the --library". The executable is therefore covered by this License. --Section 6 states terms for distribution of such executables. -- -- When a "work that uses the Library" uses material from a header file --that is part of the Library, the object code for the work may be a --derivative work of the Library even though the source code is not. --Whether this is true is especially significant if the work can be --linked without the Library, or if the work is itself a library. The --threshold for this to be true is not precisely defined by law. -- -- If such an object file uses only numerical parameters, data --structure layouts and accessors, and small macros and small inline --functions (ten lines or less in length), then the use of the object --file is unrestricted, regardless of whether it is legally a derivative --work. (Executables containing this object code plus portions of the --Library will still fall under Section 6.) -- -- Otherwise, if the work is a derivative of the Library, you may --distribute the object code for the work under the terms of Section 6. --Any executables containing that work also fall under Section 6, --whether or not they are linked directly with the Library itself. -- -- 6. As an exception to the Sections above, you may also combine or --link a "work that uses the Library" with the Library to produce a --work containing portions of the Library, and distribute that work --under terms of your choice, provided that the terms permit --modification of the work for the customer's own use and reverse --engineering for debugging such modifications. -- -- You must give prominent notice with each copy of the work that the --Library is used in it and that the Library and its use are covered by --this License. You must supply a copy of this License. If the work --during execution displays copyright notices, you must include the --copyright notice for the Library among them, as well as a reference --directing the user to the copy of this License. Also, you must do one --of these things: -- -- a) Accompany the work with the complete corresponding -- machine-readable source code for the Library including whatever -- changes were used in the work (which must be distributed under -- Sections 1 and 2 above); and, if the work is an executable linked -- with the Library, with the complete machine-readable "work that -- uses the Library", as object code and/or source code, so that the -- user can modify the Library and then relink to produce a modified -- executable containing the modified Library. (It is understood -- that the user who changes the contents of definitions files in the -- Library will not necessarily be able to recompile the application -- to use the modified definitions.) -- -- b) Use a suitable shared library mechanism for linking with the -- Library. A suitable mechanism is one that (1) uses at run time a -- copy of the library already present on the user's computer system, -- rather than copying library functions into the executable, and (2) -- will operate properly with a modified version of the library, if -- the user installs one, as long as the modified version is -- interface-compatible with the version that the work was made with. -- -- c) Accompany the work with a written offer, valid for at -- least three years, to give the same user the materials -- specified in Subsection 6a, above, for a charge no more -- than the cost of performing this distribution. -- -- d) If distribution of the work is made by offering access to copy -- from a designated place, offer equivalent access to copy the above -- specified materials from the same place. -- -- e) Verify that the user has already received a copy of these -- materials or that you have already sent this user a copy. -- -- For an executable, the required form of the "work that uses the --Library" must include any data and utility programs needed for --reproducing the executable from it. However, as a special exception, --the materials to be distributed need not include anything that is --normally distributed (in either source or binary form) with the major --components (compiler, kernel, and so on) of the operating system on --which the executable runs, unless that component itself accompanies --the executable. -- -- It may happen that this requirement contradicts the license --restrictions of other proprietary libraries that do not normally --accompany the operating system. Such a contradiction means you cannot --use both them and the Library together in an executable that you --distribute. -- -- 7. You may place library facilities that are a work based on the --Library side-by-side in a single library together with other library --facilities not covered by this License, and distribute such a combined --library, provided that the separate distribution of the work based on --the Library and of the other library facilities is otherwise --permitted, and provided that you do these two things: -- -- a) Accompany the combined library with a copy of the same work -- based on the Library, uncombined with any other library -- facilities. This must be distributed under the terms of the -- Sections above. -- -- b) Give prominent notice with the combined library of the fact -- that part of it is a work based on the Library, and explaining -- where to find the accompanying uncombined form of the same work. -- -- 8. You may not copy, modify, sublicense, link with, or distribute --the Library except as expressly provided under this License. Any --attempt otherwise to copy, modify, sublicense, link with, or --distribute the Library is void, and will automatically terminate your --rights under this License. However, parties who have received copies, --or rights, from you under this License will not have their licenses --terminated so long as such parties remain in full compliance. -- -- 9. You are not required to accept this License, since you have not --signed it. However, nothing else grants you permission to modify or --distribute the Library or its derivative works. These actions are --prohibited by law if you do not accept this License. Therefore, by --modifying or distributing the Library (or any work based on the --Library), you indicate your acceptance of this License to do so, and --all its terms and conditions for copying, distributing or modifying --the Library or works based on it. -- -- 10. Each time you redistribute the Library (or any work based on the --Library), the recipient automatically receives a license from the --original licensor to copy, distribute, link with or modify the Library --subject to these terms and conditions. You may not impose any further --restrictions on the recipients' exercise of the rights granted herein. --You are not responsible for enforcing compliance by third parties with --this License. -- -- 11. If, as a consequence of a court judgment or allegation of patent --infringement or for any other reason (not limited to patent issues), --conditions are imposed on you (whether by court order, agreement or --otherwise) that contradict the conditions of this License, they do not --excuse you from the conditions of this License. If you cannot --distribute so as to satisfy simultaneously your obligations under this --License and any other pertinent obligations, then as a consequence you --may not distribute the Library at all. For example, if a patent --license would not permit royalty-free redistribution of the Library by --all those who receive copies directly or indirectly through you, then --the only way you could satisfy both it and this License would be to --refrain entirely from distribution of the Library. -- --If any portion of this section is held invalid or unenforceable under any --particular circumstance, the balance of the section is intended to apply, --and the section as a whole is intended to apply in other circumstances. -- --It is not the purpose of this section to induce you to infringe any --patents or other property right claims or to contest validity of any --such claims; this section has the sole purpose of protecting the --integrity of the free software distribution system which is --implemented by public license practices. Many people have made --generous contributions to the wide range of software distributed --through that system in reliance on consistent application of that --system; it is up to the author/donor to decide if he or she is willing --to distribute software through any other system and a licensee cannot --impose that choice. -- --This section is intended to make thoroughly clear what is believed to --be a consequence of the rest of this License. -- -- 12. If the distribution and/or use of the Library is restricted in --certain countries either by patents or by copyrighted interfaces, the --original copyright holder who places the Library under this License may add --an explicit geographical distribution limitation excluding those countries, --so that distribution is permitted only in or among countries not thus --excluded. In such case, this License incorporates the limitation as if --written in the body of this License. -- -- 13. The Free Software Foundation may publish revised and/or new --versions of the Lesser General Public License from time to time. --Such new versions will be similar in spirit to the present version, --but may differ in detail to address new problems or concerns. -- --Each version is given a distinguishing version number. If the Library --specifies a version number of this License which applies to it and --"any later version", you have the option of following the terms and --conditions either of that version or of any later version published by --the Free Software Foundation. If the Library does not specify a --license version number, you may choose any version ever published by --the Free Software Foundation. -- -- 14. If you wish to incorporate parts of the Library into other free --programs whose distribution conditions are incompatible with these, --write to the author to ask for permission. For software which is --copyrighted by the Free Software Foundation, write to the Free --Software Foundation; we sometimes make exceptions for this. Our --decision will be guided by the two goals of preserving the free status --of all derivatives of our free software and of promoting the sharing --and reuse of software generally. -- -- NO WARRANTY -- -- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO --WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. --EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR --OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY --KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE --IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR --PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE --LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME --THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. -- -- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN --WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY --AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU --FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR --CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE --LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING --RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A --FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF --SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH --DAMAGES. -- -- END OF TERMS AND CONDITIONS -- -- How to Apply These Terms to Your New Libraries -- -- If you develop a new library, and you want it to be of the greatest --possible use to the public, we recommend making it free software that --everyone can redistribute and change. You can do so by permitting --redistribution under these terms (or, alternatively, under the terms of the --ordinary General Public License). -- -- To apply these terms, attach the following notices to the library. It is --safest to attach them to the start of each source file to most effectively --convey the exclusion of warranty; and each file should have at least the --"copyright" line and a pointer to where the full notice is found. -- -- GVDB -- Copyright (C) 2019 GNOME -- -- This library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- This library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public -- License along with this library; if not, write to the Free Software -- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 -- USA -- --Also add information on how to contact you by electronic and paper mail. -- --You should also get your employer (if you work as a programmer) or your --school, if any, to sign a "copyright disclaimer" for the library, if --necessary. Here is a sample; alter the names: -- -- Yoyodyne, Inc., hereby disclaims all copyright interest in the -- library `Frob' (a library for tweaking knobs) written by James Random -- Hacker. -- -- {signature of Ty Coon}, 1 April 1990 -- Ty Coon, President of Vice -- --That's all there is to it! -diff --git a/subprojects/gvdb/README.md b/subprojects/gvdb/README.md -deleted file mode 100644 -index 2c53d77..0000000 ---- a/subprojects/gvdb/README.md -+++ /dev/null -@@ -1,25 +0,0 @@ --GVDB --==== -- --GVDB (GVariant Database) is a simple database file format that stores a --mapping from strings to GVariant values in a way that is extremely --efficient for lookups. -- --The code is intended to be pulled into projects as a submodule/subproject, --and it is not shipped as a separately compiled library. It has no API --guarantees. -- --A GVDB database table is a single file. It is designed to be memory mapped --by one or more clients, with accesses to the stored data being fast. The --storage format has low size overheads, assuming the GVariant formats for --values do not require much padding or alignment. -- --Modifying a GVDB table requires writing out the whole file. This is --relatively slow. `gvdb_table_write_contents()` does this by writing out --the new file and atomically renaming it over the old one. This means --that any clients who have memory mapped the old file will need to reload --their memory mapping. -- --This means that if multiple clients are using a GVDB table, an external --process is needed to synchronise writes and to notify clients to reload --the table. `dconf-service` is an example of such a process. -diff --git a/subprojects/gvdb/gvdb.doap b/subprojects/gvdb/gvdb.doap -deleted file mode 100644 -index 8c5f3e8..0000000 ---- a/subprojects/gvdb/gvdb.doap -+++ /dev/null -@@ -1,57 +0,0 @@ -- -- -- -- -- gvdb -- GVariant Database file -- -- A simple database file format that stores a mapping from strings to -- GVariant values in a way that is extremely efficient for lookups. -- -- The database is written once and can not be modified. -- -- Included here is reader code and a first-pass implementation of a -- writer (that does not currently produce particularly optimised -- output). -- -- It is intended that this code be used by copy-pasting into your -- project or by making use of git-merge(1). -- -- -- -- -- Matthias Clasen -- -- matthiasc -- -- -- -- -- -- Allison Ryan Lortie -- -- desrt -- -- -- -- -- -- Philip Withnall -- -- -- pwithnall -- -- -- -- -- -- Emmanuele Bassi -- -- ebassi -- -- -- -- -diff --git a/subprojects/gvdb/gvdb/gvdb-builder.c b/subprojects/gvdb/gvdb/gvdb-builder.c -deleted file mode 100644 -index 5dae03e..0000000 ---- a/subprojects/gvdb/gvdb/gvdb-builder.c -+++ /dev/null -@@ -1,637 +0,0 @@ --/* -- * Copyright © 2010 Codethink Limited -- * -- * This library is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Lesser General Public -- * License as published by the Free Software Foundation; either -- * version 2.1 of the License, or (at your option) any later version. -- * -- * This library is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * Lesser General Public License for more details. -- * -- * You should have received a copy of the GNU Lesser General Public -- * License along with this library; if not, see . -- * -- * Author: Ryan Lortie -- */ -- --#include "gvdb-builder.h" --#include "gvdb-format.h" -- --#include --#include --#if !defined(G_OS_WIN32) || !defined(_MSC_VER) --#include --#endif --#include -- -- --struct _GvdbItem --{ -- gchar *key; -- guint32 hash_value; -- guint32_le assigned_index; -- GvdbItem *parent; -- GvdbItem *sibling; -- GvdbItem *next; -- -- /* one of: -- * this: -- */ -- GVariant *value; -- -- /* this: */ -- GHashTable *table; -- -- /* or this: */ -- GvdbItem *child; --}; -- --static void --gvdb_item_free (gpointer data) --{ -- GvdbItem *item = data; -- -- g_free (item->key); -- -- if (item->value) -- g_variant_unref (item->value); -- -- if (item->table) -- g_hash_table_unref (item->table); -- -- g_slice_free (GvdbItem, item); --} -- --GHashTable * --gvdb_hash_table_new (GHashTable *parent, -- const gchar *name_in_parent) --{ -- GHashTable *table; -- -- table = g_hash_table_new_full (g_str_hash, g_str_equal, -- g_free, gvdb_item_free); -- -- if (parent) -- { -- GvdbItem *item; -- -- item = gvdb_hash_table_insert (parent, name_in_parent); -- gvdb_item_set_hash_table (item, table); -- } -- -- return table; --} -- --static guint32 --djb_hash (const gchar *key) --{ -- guint32 hash_value = 5381; -- -- while (*key) -- hash_value = hash_value * 33 + *(signed char *)key++; -- -- return hash_value; --} -- --GvdbItem * --gvdb_hash_table_insert (GHashTable *table, -- const gchar *key) --{ -- GvdbItem *item; -- -- item = g_slice_new0 (GvdbItem); -- item->key = g_strdup (key); -- item->hash_value = djb_hash (key); -- -- g_hash_table_insert (table, g_strdup (key), item); -- -- return item; --} -- --void --gvdb_hash_table_insert_string (GHashTable *table, -- const gchar *key, -- const gchar *value) --{ -- GvdbItem *item; -- -- item = gvdb_hash_table_insert (table, key); -- gvdb_item_set_value (item, g_variant_new_string (value)); --} -- --void --gvdb_item_set_value (GvdbItem *item, -- GVariant *value) --{ -- g_return_if_fail (!item->value && !item->table && !item->child); -- -- item->value = g_variant_ref_sink (value); --} -- --void --gvdb_item_set_hash_table (GvdbItem *item, -- GHashTable *table) --{ -- g_return_if_fail (!item->value && !item->table && !item->child); -- -- item->table = g_hash_table_ref (table); --} -- --void --gvdb_item_set_parent (GvdbItem *item, -- GvdbItem *parent) --{ -- GvdbItem **node; -- -- g_return_if_fail (g_str_has_prefix (item->key, parent->key)); -- g_return_if_fail (!parent->value && !parent->table); -- g_return_if_fail (!item->parent && !item->sibling); -- -- for (node = &parent->child; *node; node = &(*node)->sibling) -- if (strcmp ((*node)->key, item->key) > 0) -- break; -- -- item->parent = parent; -- item->sibling = *node; -- *node = item; --} -- --typedef struct --{ -- GvdbItem **buckets; -- gsize n_buckets; --} HashTable; -- --static HashTable * --hash_table_new (gsize n_buckets) --{ -- HashTable *table; -- -- table = g_slice_new (HashTable); -- table->buckets = g_new0 (GvdbItem *, n_buckets); -- table->n_buckets = n_buckets; -- -- return table; --} -- --static void --hash_table_free (HashTable *table) --{ -- g_free (table->buckets); -- -- g_slice_free (HashTable, table); --} -- --static void --hash_table_insert (gpointer key, -- gpointer value, -- gpointer data) --{ -- guint32 hash_value, bucket; -- HashTable *table = data; -- GvdbItem *item = value; -- -- hash_value = djb_hash (key); -- bucket = hash_value % table->n_buckets; -- item->next = table->buckets[bucket]; -- table->buckets[bucket] = item; --} -- --static guint32_le --item_to_index (GvdbItem *item) --{ -- if (item != NULL) -- return item->assigned_index; -- -- return guint32_to_le ((guint32) -1); --} -- --typedef struct --{ -- GQueue *chunks; -- guint64 offset; -- gboolean byteswap; --} FileBuilder; -- --typedef struct --{ -- gsize offset; -- gsize size; -- gpointer data; --} FileChunk; -- --static gpointer --file_builder_allocate (FileBuilder *fb, -- guint alignment, -- gsize size, -- struct gvdb_pointer *pointer) --{ -- FileChunk *chunk; -- -- if (size == 0) -- return NULL; -- -- fb->offset += (guint64) (-fb->offset) & (alignment - 1); -- chunk = g_slice_new (FileChunk); -- chunk->offset = fb->offset; -- chunk->size = size; -- chunk->data = g_malloc (size); -- -- pointer->start = guint32_to_le (fb->offset); -- fb->offset += size; -- pointer->end = guint32_to_le (fb->offset); -- -- g_queue_push_tail (fb->chunks, chunk); -- -- return chunk->data; --} -- --static void --file_builder_add_value (FileBuilder *fb, -- GVariant *value, -- struct gvdb_pointer *pointer) --{ -- GVariant *variant, *normal; -- gpointer data; -- gsize size; -- -- if (fb->byteswap) -- { -- value = g_variant_byteswap (value); -- variant = g_variant_new_variant (value); -- g_variant_unref (value); -- } -- else -- variant = g_variant_new_variant (value); -- -- normal = g_variant_get_normal_form (variant); -- g_variant_unref (variant); -- -- size = g_variant_get_size (normal); -- data = file_builder_allocate (fb, 8, size, pointer); -- g_variant_store (normal, data); -- g_variant_unref (normal); --} -- --static void --file_builder_add_string (FileBuilder *fb, -- const gchar *string, -- guint32_le *start, -- guint16_le *size) --{ -- FileChunk *chunk; -- gsize length; -- -- length = strlen (string); -- -- chunk = g_slice_new (FileChunk); -- chunk->offset = fb->offset; -- chunk->size = length; -- chunk->data = g_malloc (length); -- if (length != 0) -- memcpy (chunk->data, string, length); -- -- *start = guint32_to_le (fb->offset); -- *size = guint16_to_le (length); -- fb->offset += length; -- -- g_queue_push_tail (fb->chunks, chunk); --} -- --static void --file_builder_allocate_for_hash (FileBuilder *fb, -- gsize n_buckets, -- gsize n_items, -- guint bloom_shift, -- gsize n_bloom_words, -- guint32_le **bloom_filter, -- guint32_le **hash_buckets, -- struct gvdb_hash_item **hash_items, -- struct gvdb_pointer *pointer) --{ -- guint32_le bloom_hdr, table_hdr; -- guchar *data; -- gsize size; -- -- g_assert (n_bloom_words < (1u << 27)); -- -- bloom_hdr = guint32_to_le (bloom_shift << 27 | n_bloom_words); -- table_hdr = guint32_to_le (n_buckets); -- -- size = sizeof bloom_hdr + sizeof table_hdr + -- n_bloom_words * sizeof (guint32_le) + -- n_buckets * sizeof (guint32_le) + -- n_items * sizeof (struct gvdb_hash_item); -- -- data = file_builder_allocate (fb, 4, size, pointer); -- g_assert (data); -- --#define chunk(s) (size -= (s), data += (s), data - (s)) -- memcpy (chunk (sizeof bloom_hdr), &bloom_hdr, sizeof bloom_hdr); -- memcpy (chunk (sizeof table_hdr), &table_hdr, sizeof table_hdr); -- *bloom_filter = (guint32_le *) chunk (n_bloom_words * sizeof (guint32_le)); -- *hash_buckets = (guint32_le *) chunk (n_buckets * sizeof (guint32_le)); -- *hash_items = (struct gvdb_hash_item *) chunk (n_items * -- sizeof (struct gvdb_hash_item)); -- g_assert (size == 0); --#undef chunk -- -- memset (*bloom_filter, 0, n_bloom_words * sizeof (guint32_le)); -- memset (*hash_buckets, 0, n_buckets * sizeof (guint32_le)); -- memset (*hash_items, 0, n_items * sizeof (struct gvdb_hash_item)); -- -- /* NOTE - the code to actually fill in the bloom filter here is missing. -- * Patches welcome! -- * -- * http://en.wikipedia.org/wiki/Bloom_filter -- * http://0pointer.de/blog/projects/bloom.html -- */ --} -- --static void --file_builder_add_hash (FileBuilder *fb, -- GHashTable *table, -- struct gvdb_pointer *pointer) --{ -- guint32_le *buckets, *bloom_filter; -- struct gvdb_hash_item *items; -- HashTable *mytable; -- GvdbItem *item; -- guint32 index; -- gsize bucket; -- -- mytable = hash_table_new (g_hash_table_size (table)); -- g_hash_table_foreach (table, hash_table_insert, mytable); -- index = 0; -- -- for (bucket = 0; bucket < mytable->n_buckets; bucket++) -- for (item = mytable->buckets[bucket]; item; item = item->next) -- item->assigned_index = guint32_to_le (index++); -- -- file_builder_allocate_for_hash (fb, mytable->n_buckets, index, 5, 0, -- &bloom_filter, &buckets, &items, pointer); -- -- index = 0; -- for (bucket = 0; bucket < mytable->n_buckets; bucket++) -- { -- buckets[bucket] = guint32_to_le (index); -- -- for (item = mytable->buckets[bucket]; item; item = item->next) -- { -- struct gvdb_hash_item *entry = items++; -- const gchar *basename; -- -- g_assert (index == guint32_from_le (item->assigned_index)); -- entry->hash_value = guint32_to_le (item->hash_value); -- entry->parent = item_to_index (item->parent); -- entry->unused = 0; -- -- if (item->parent != NULL) -- basename = item->key + strlen (item->parent->key); -- else -- basename = item->key; -- -- file_builder_add_string (fb, basename, -- &entry->key_start, -- &entry->key_size); -- -- if (item->value != NULL) -- { -- g_assert (item->child == NULL && item->table == NULL); -- -- file_builder_add_value (fb, item->value, &entry->value.pointer); -- entry->type = 'v'; -- } -- -- if (item->child != NULL) -- { -- guint32 children = 0, i = 0; -- guint32_le *offsets; -- GvdbItem *child; -- -- g_assert (item->table == NULL); -- -- for (child = item->child; child; child = child->sibling) -- children++; -- -- offsets = file_builder_allocate (fb, 4, 4 * children, -- &entry->value.pointer); -- entry->type = 'L'; -- -- for (child = item->child; child; child = child->sibling) -- offsets[i++] = child->assigned_index; -- -- g_assert (children == i); -- } -- -- if (item->table != NULL) -- { -- entry->type = 'H'; -- file_builder_add_hash (fb, item->table, &entry->value.pointer); -- } -- -- index++; -- } -- } -- -- hash_table_free (mytable); --} -- --static FileBuilder * --file_builder_new (gboolean byteswap) --{ -- FileBuilder *builder; -- -- builder = g_slice_new (FileBuilder); -- builder->chunks = g_queue_new (); -- builder->offset = sizeof (struct gvdb_header); -- builder->byteswap = byteswap; -- -- return builder; --} -- --static void --file_builder_free (FileBuilder *fb) --{ -- g_queue_free (fb->chunks); -- g_slice_free (FileBuilder, fb); --} -- --static GString * --file_builder_serialise (FileBuilder *fb, -- struct gvdb_pointer root) --{ -- struct gvdb_header header; -- GString *result; -- -- memset (&header, 0, sizeof (header)); -- -- if (fb->byteswap) -- { -- header.signature[0] = GVDB_SWAPPED_SIGNATURE0; -- header.signature[1] = GVDB_SWAPPED_SIGNATURE1; -- } -- else -- { -- header.signature[0] = GVDB_SIGNATURE0; -- header.signature[1] = GVDB_SIGNATURE1; -- } -- -- result = g_string_new (NULL); -- -- header.root = root; -- g_string_append_len (result, (gpointer) &header, sizeof header); -- -- while (!g_queue_is_empty (fb->chunks)) -- { -- FileChunk *chunk = g_queue_pop_head (fb->chunks); -- -- if (result->len != chunk->offset) -- { -- gchar zero[8] = { 0, }; -- -- g_assert (chunk->offset > result->len); -- g_assert (chunk->offset - result->len < 8); -- -- g_string_append_len (result, zero, chunk->offset - result->len); -- g_assert (result->len == chunk->offset); -- } -- -- g_string_append_len (result, chunk->data, chunk->size); -- g_free (chunk->data); -- -- g_slice_free (FileChunk, chunk); -- } -- -- return result; --} -- --gboolean --gvdb_table_write_contents (GHashTable *table, -- const gchar *filename, -- gboolean byteswap, -- GError **error) --{ -- struct gvdb_pointer root; -- gboolean status; -- FileBuilder *fb; -- GString *str; -- -- g_return_val_if_fail (table != NULL, FALSE); -- g_return_val_if_fail (filename != NULL, FALSE); -- g_return_val_if_fail (error == NULL || *error == NULL, FALSE); -- -- fb = file_builder_new (byteswap); -- file_builder_add_hash (fb, table, &root); -- str = file_builder_serialise (fb, root); -- file_builder_free (fb); -- -- status = g_file_set_contents (filename, str->str, str->len, error); -- g_string_free (str, TRUE); -- -- return status; --} -- --typedef struct { -- GBytes *contents; /* (owned) */ -- GFile *file; /* (owned) */ --} WriteContentsData; -- --static WriteContentsData * --write_contents_data_new (GBytes *contents, -- GFile *file) --{ -- WriteContentsData *data; -- -- data = g_slice_new (WriteContentsData); -- data->contents = g_bytes_ref (contents); -- data->file = g_object_ref (file); -- -- return data; --} -- --static void --write_contents_data_free (WriteContentsData *data) --{ -- g_bytes_unref (data->contents); -- g_object_unref (data->file); -- g_slice_free (WriteContentsData, data); --} -- --static void --replace_contents_cb (GObject *source_object, -- GAsyncResult *result, -- gpointer user_data) --{ -- GTask *task = user_data; -- WriteContentsData *data = g_task_get_task_data (task); -- GError *error = NULL; -- -- g_return_if_fail (g_task_get_source_tag (task) == gvdb_table_write_contents_async); -- -- if (!g_file_replace_contents_finish (data->file, result, NULL, &error)) -- g_task_return_error (task, g_steal_pointer (&error)); -- else -- g_task_return_boolean (task, TRUE); -- -- g_object_unref (task); --} -- --void --gvdb_table_write_contents_async (GHashTable *table, -- const gchar *filename, -- gboolean byteswap, -- GCancellable *cancellable, -- GAsyncReadyCallback callback, -- gpointer user_data) --{ -- struct gvdb_pointer root; -- FileBuilder *fb; -- WriteContentsData *data; -- GString *str; -- GBytes *bytes; -- GFile *file; -- GTask *task; -- -- g_return_if_fail (table != NULL); -- g_return_if_fail (filename != NULL); -- g_return_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable)); -- -- fb = file_builder_new (byteswap); -- file_builder_add_hash (fb, table, &root); -- str = file_builder_serialise (fb, root); -- bytes = g_string_free_to_bytes (str); -- file_builder_free (fb); -- -- file = g_file_new_for_path (filename); -- data = write_contents_data_new (bytes, file); -- -- task = g_task_new (NULL, cancellable, callback, user_data); -- g_task_set_task_data (task, data, (GDestroyNotify)write_contents_data_free); -- g_task_set_source_tag (task, gvdb_table_write_contents_async); -- -- g_file_replace_contents_async (file, -- g_bytes_get_data (bytes, NULL), -- g_bytes_get_size (bytes), -- NULL, FALSE, -- G_FILE_CREATE_PRIVATE, -- cancellable, replace_contents_cb, g_steal_pointer (&task)); -- -- g_bytes_unref (bytes); -- g_object_unref (file); --} -- --gboolean --gvdb_table_write_contents_finish (GHashTable *table, -- GAsyncResult *result, -- GError **error) --{ -- g_return_val_if_fail (table != NULL, FALSE); -- g_return_val_if_fail (g_task_is_valid (result, NULL), FALSE); -- g_return_val_if_fail (error == NULL || *error == NULL, FALSE); -- -- return g_task_propagate_boolean (G_TASK (result), error); --} -diff --git a/subprojects/gvdb/gvdb/gvdb-builder.h b/subprojects/gvdb/gvdb/gvdb-builder.h -deleted file mode 100644 -index 30757d0..0000000 ---- a/subprojects/gvdb/gvdb/gvdb-builder.h -+++ /dev/null -@@ -1,66 +0,0 @@ --/* -- * Copyright © 2010 Codethink Limited -- * -- * This library is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Lesser General Public -- * License as published by the Free Software Foundation; either -- * version 2.1 of the License, or (at your option) any later version. -- * -- * This library is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * Lesser General Public License for more details. -- * -- * You should have received a copy of the GNU Lesser General Public -- * License along with this library; if not, see . -- * -- * Author: Ryan Lortie -- */ -- --#ifndef __gvdb_builder_h__ --#define __gvdb_builder_h__ -- --#include -- --typedef struct _GvdbItem GvdbItem; -- --G_GNUC_INTERNAL --GHashTable * gvdb_hash_table_new (GHashTable *parent, -- const gchar *key); -- --G_GNUC_INTERNAL --GvdbItem * gvdb_hash_table_insert (GHashTable *table, -- const gchar *key); --G_GNUC_INTERNAL --void gvdb_hash_table_insert_string (GHashTable *table, -- const gchar *key, -- const gchar *value); -- --G_GNUC_INTERNAL --void gvdb_item_set_value (GvdbItem *item, -- GVariant *value); --G_GNUC_INTERNAL --void gvdb_item_set_hash_table (GvdbItem *item, -- GHashTable *table); --G_GNUC_INTERNAL --void gvdb_item_set_parent (GvdbItem *item, -- GvdbItem *parent); -- --G_GNUC_INTERNAL --gboolean gvdb_table_write_contents (GHashTable *table, -- const gchar *filename, -- gboolean byteswap, -- GError **error); --G_GNUC_INTERNAL --void gvdb_table_write_contents_async (GHashTable *table, -- const gchar *filename, -- gboolean byteswap, -- GCancellable *cancellable, -- GAsyncReadyCallback callback, -- gpointer user_data); --G_GNUC_INTERNAL --gboolean gvdb_table_write_contents_finish (GHashTable *table, -- GAsyncResult *result, -- GError **error); -- --#endif /* __gvdb_builder_h__ */ -diff --git a/subprojects/gvdb/gvdb/gvdb-format.h b/subprojects/gvdb/gvdb/gvdb-format.h -deleted file mode 100644 -index ed6adab..0000000 ---- a/subprojects/gvdb/gvdb/gvdb-format.h -+++ /dev/null -@@ -1,85 +0,0 @@ --/* -- * Copyright © 2010 Codethink Limited -- * -- * This library is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Lesser General Public -- * License as published by the Free Software Foundation; either -- * version 2.1 of the License, or (at your option) any later version. -- * -- * This library is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * Lesser General Public License for more details. -- * -- * You should have received a copy of the GNU Lesser General Public -- * License along with this library; if not, see . -- * -- * Author: Ryan Lortie -- */ -- --#ifndef __gvdb_format_h__ --#define __gvdb_format_h__ -- --#include -- --typedef struct { guint16 value; } guint16_le; --typedef struct { guint32 value; } guint32_le; -- --struct gvdb_pointer { -- guint32_le start; -- guint32_le end; --}; -- --struct gvdb_hash_header { -- guint32_le n_bloom_words; -- guint32_le n_buckets; --}; -- --struct gvdb_hash_item { -- guint32_le hash_value; -- guint32_le parent; -- -- guint32_le key_start; -- guint16_le key_size; -- gchar type; -- gchar unused; -- -- union -- { -- struct gvdb_pointer pointer; -- gchar direct[8]; -- } value; --}; -- --struct gvdb_header { -- guint32 signature[2]; -- guint32_le version; -- guint32_le options; -- -- struct gvdb_pointer root; --}; -- --static inline guint32_le guint32_to_le (guint32 value) { -- guint32_le result = { GUINT32_TO_LE (value) }; -- return result; --} -- --static inline guint32 guint32_from_le (guint32_le value) { -- return GUINT32_FROM_LE (value.value); --} -- --static inline guint16_le guint16_to_le (guint16 value) { -- guint16_le result = { GUINT16_TO_LE (value) }; -- return result; --} -- --static inline guint16 guint16_from_le (guint16_le value) { -- return GUINT16_FROM_LE (value.value); --} -- --#define GVDB_SIGNATURE0 1918981703 --#define GVDB_SIGNATURE1 1953390953 --#define GVDB_SWAPPED_SIGNATURE0 GUINT32_SWAP_LE_BE (GVDB_SIGNATURE0) --#define GVDB_SWAPPED_SIGNATURE1 GUINT32_SWAP_LE_BE (GVDB_SIGNATURE1) -- --#endif /* __gvdb_format_h__ */ -diff --git a/subprojects/gvdb/gvdb/gvdb-reader.c b/subprojects/gvdb/gvdb/gvdb-reader.c -deleted file mode 100644 -index 820ce4c..0000000 ---- a/subprojects/gvdb/gvdb/gvdb-reader.c -+++ /dev/null -@@ -1,736 +0,0 @@ --/* -- * Copyright © 2010 Codethink Limited -- * -- * This library is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Lesser General Public -- * License as published by the Free Software Foundation; either -- * version 2.1 of the License, or (at your option) any later version. -- * -- * This library is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * Lesser General Public License for more details. -- * -- * You should have received a copy of the GNU Lesser General Public -- * License along with this library; if not, see . -- * -- * Author: Ryan Lortie -- */ -- --#include "gvdb-reader.h" --#include "gvdb-format.h" -- --#include -- --struct _GvdbTable { -- GBytes *bytes; -- -- const gchar *data; -- gsize size; -- -- gboolean byteswapped; -- gboolean trusted; -- -- const guint32_le *bloom_words; -- guint32 n_bloom_words; -- guint bloom_shift; -- -- const guint32_le *hash_buckets; -- guint32 n_buckets; -- -- struct gvdb_hash_item *hash_items; -- guint32 n_hash_items; --}; -- --static const gchar * --gvdb_table_item_get_key (GvdbTable *file, -- const struct gvdb_hash_item *item, -- gsize *size) --{ -- guint32 start, end; -- -- start = guint32_from_le (item->key_start); -- *size = guint16_from_le (item->key_size); -- end = start + *size; -- -- if G_UNLIKELY (start > end || end > file->size) -- return NULL; -- -- return file->data + start; --} -- --static gconstpointer --gvdb_table_dereference (GvdbTable *file, -- const struct gvdb_pointer *pointer, -- gint alignment, -- gsize *size) --{ -- guint32 start, end; -- -- start = guint32_from_le (pointer->start); -- end = guint32_from_le (pointer->end); -- -- if G_UNLIKELY (start > end || end > file->size || start & (alignment - 1)) -- return NULL; -- -- *size = end - start; -- -- return file->data + start; --} -- --static void --gvdb_table_setup_root (GvdbTable *file, -- const struct gvdb_pointer *pointer) --{ -- const struct gvdb_hash_header *header; -- guint32 n_bloom_words; -- guint32 n_buckets; -- gsize size; -- -- header = gvdb_table_dereference (file, pointer, 4, &size); -- -- if G_UNLIKELY (header == NULL || size < sizeof *header) -- return; -- -- size -= sizeof *header; -- -- n_bloom_words = guint32_from_le (header->n_bloom_words); -- n_buckets = guint32_from_le (header->n_buckets); -- n_bloom_words &= (1u << 27) - 1; -- -- if G_UNLIKELY (n_bloom_words * sizeof (guint32_le) > size) -- return; -- -- file->bloom_words = (gpointer) (header + 1); -- size -= n_bloom_words * sizeof (guint32_le); -- file->n_bloom_words = n_bloom_words; -- -- if G_UNLIKELY (n_buckets > G_MAXUINT / sizeof (guint32_le) || -- n_buckets * sizeof (guint32_le) > size) -- return; -- -- file->hash_buckets = file->bloom_words + file->n_bloom_words; -- size -= n_buckets * sizeof (guint32_le); -- file->n_buckets = n_buckets; -- -- if G_UNLIKELY (size % sizeof (struct gvdb_hash_item)) -- return; -- -- file->hash_items = (gpointer) (file->hash_buckets + n_buckets); -- file->n_hash_items = size / sizeof (struct gvdb_hash_item); --} -- --/** -- * gvdb_table_new_from_bytes: -- * @bytes: the #GBytes with the data -- * @trusted: if the contents of @bytes are trusted -- * @error: %NULL, or a pointer to a %NULL #GError -- * -- * Creates a new #GvdbTable from the contents of @bytes. -- * -- * This call can fail if the header contained in @bytes is invalid or if @bytes -- * is empty; if so, %G_FILE_ERROR_INVAL will be returned. -- * -- * You should call gvdb_table_free() on the return result when you no -- * longer require it. -- * -- * Returns: a new #GvdbTable -- **/ --GvdbTable * --gvdb_table_new_from_bytes (GBytes *bytes, -- gboolean trusted, -- GError **error) --{ -- const struct gvdb_header *header; -- GvdbTable *file; -- -- file = g_slice_new0 (GvdbTable); -- file->bytes = g_bytes_ref (bytes); -- file->data = g_bytes_get_data (bytes, &file->size); -- file->trusted = trusted; -- -- if (file->size < sizeof (struct gvdb_header)) -- goto invalid; -- -- header = (gpointer) file->data; -- -- if (header->signature[0] == GVDB_SIGNATURE0 && -- header->signature[1] == GVDB_SIGNATURE1 && -- guint32_from_le (header->version) == 0) -- file->byteswapped = FALSE; -- -- else if (header->signature[0] == GVDB_SWAPPED_SIGNATURE0 && -- header->signature[1] == GVDB_SWAPPED_SIGNATURE1 && -- guint32_from_le (header->version) == 0) -- file->byteswapped = TRUE; -- -- else -- goto invalid; -- -- gvdb_table_setup_root (file, &header->root); -- -- return file; -- --invalid: -- g_set_error_literal (error, G_FILE_ERROR, G_FILE_ERROR_INVAL, "invalid gvdb header"); -- -- g_bytes_unref (file->bytes); -- -- g_slice_free (GvdbTable, file); -- -- return NULL; --} -- --/** -- * gvdb_table_new: -- * @filename: a filename -- * @trusted: if the contents of @bytes are trusted -- * @error: %NULL, or a pointer to a %NULL #GError -- * -- * Creates a new #GvdbTable using the #GMappedFile for @filename as the -- * #GBytes. -- * -- * This function will fail if the file cannot be opened. -- * In that case, the #GError that is returned will be an error from -- * g_mapped_file_new(). -- * -- * An empty or corrupt file will result in %G_FILE_ERROR_INVAL. -- * -- * Returns: a new #GvdbTable -- **/ --GvdbTable * --gvdb_table_new (const gchar *filename, -- gboolean trusted, -- GError **error) --{ -- GMappedFile *mapped; -- GvdbTable *table; -- GBytes *bytes; -- -- mapped = g_mapped_file_new (filename, FALSE, error); -- if (!mapped) -- return NULL; -- -- bytes = g_mapped_file_get_bytes (mapped); -- table = gvdb_table_new_from_bytes (bytes, trusted, error); -- g_mapped_file_unref (mapped); -- g_bytes_unref (bytes); -- -- g_prefix_error (error, "%s: ", filename); -- -- return table; --} -- --static gboolean --gvdb_table_bloom_filter (GvdbTable *file, -- guint32 hash_value) --{ -- guint32 word, mask; -- -- if (file->n_bloom_words == 0) -- return TRUE; -- -- word = (hash_value / 32) % file->n_bloom_words; -- mask = 1 << (hash_value & 31); -- mask |= 1 << ((hash_value >> file->bloom_shift) & 31); -- -- return (guint32_from_le (file->bloom_words[word]) & mask) == mask; --} -- --static gboolean --gvdb_table_check_name (GvdbTable *file, -- struct gvdb_hash_item *item, -- const gchar *key, -- guint key_length) --{ -- const gchar *this_key; -- gsize this_size; -- guint32 parent; -- -- this_key = gvdb_table_item_get_key (file, item, &this_size); -- -- if G_UNLIKELY (this_key == NULL || this_size > key_length) -- return FALSE; -- -- key_length -= this_size; -- -- if G_UNLIKELY (memcmp (this_key, key + key_length, this_size) != 0) -- return FALSE; -- -- parent = guint32_from_le (item->parent); -- if (key_length == 0 && parent == 0xffffffffu) -- return TRUE; -- -- if G_LIKELY (parent < file->n_hash_items && this_size > 0) -- return gvdb_table_check_name (file, -- &file->hash_items[parent], -- key, key_length); -- -- return FALSE; --} -- --static const struct gvdb_hash_item * --gvdb_table_lookup (GvdbTable *file, -- const gchar *key, -- gchar type) --{ -- guint32 hash_value = 5381; -- guint key_length; -- guint32 bucket; -- guint32 lastno; -- guint32 itemno; -- -- if G_UNLIKELY (file->n_buckets == 0 || file->n_hash_items == 0) -- return NULL; -- -- for (key_length = 0; key[key_length]; key_length++) -- hash_value = (hash_value * 33) + ((signed char *) key)[key_length]; -- -- if (!gvdb_table_bloom_filter (file, hash_value)) -- return NULL; -- -- bucket = hash_value % file->n_buckets; -- itemno = guint32_from_le (file->hash_buckets[bucket]); -- -- if (bucket == file->n_buckets - 1 || -- (lastno = guint32_from_le(file->hash_buckets[bucket + 1])) > file->n_hash_items) -- lastno = file->n_hash_items; -- -- while G_LIKELY (itemno < lastno) -- { -- struct gvdb_hash_item *item = &file->hash_items[itemno]; -- -- if (hash_value == guint32_from_le (item->hash_value)) -- if G_LIKELY (gvdb_table_check_name (file, item, key, key_length)) -- if G_LIKELY (item->type == type) -- return item; -- -- itemno++; -- } -- -- return NULL; --} -- --static gboolean --gvdb_table_list_from_item (GvdbTable *table, -- const struct gvdb_hash_item *item, -- const guint32_le **list, -- guint *length) --{ -- gsize size; -- -- *list = gvdb_table_dereference (table, &item->value.pointer, 4, &size); -- -- if G_LIKELY (*list == NULL || size % 4) -- return FALSE; -- -- *length = size / 4; -- -- return TRUE; --} -- --/** -- * gvdb_table_get_names: -- * @table: a #GvdbTable -- * @length: (out) (optional): the number of items returned, or %NULL -- * -- * Gets a list of all names contained in @table. -- * -- * No call to gvdb_table_get_table(), gvdb_table_list() or -- * gvdb_table_get_value() will succeed unless it is for one of the -- * names returned by this function. -- * -- * Note that some names that are returned may still fail for all of the -- * above calls in the case of the corrupted file. Note also that the -- * returned strings may not be utf8. -- * -- * Returns: (array length=length): a %NULL-terminated list of strings, of length @length -- **/ --gchar ** --gvdb_table_get_names (GvdbTable *table, -- gsize *length) --{ -- gchar **names; -- guint n_names; -- guint filled; -- guint total; -- guint i; -- -- /* We generally proceed by iterating over the list of items in the -- * hash table (in order of appearance) recording them into an array. -- * -- * Each item has a parent item (except root items). The parent item -- * forms part of the name of the item. We could go fetching the -- * parent item chain at the point that we encounter each item but then -- * we would need to implement some sort of recursion along with checks -- * for self-referential items. -- * -- * Instead, we do a number of passes. Each pass will build up one -- * level of names (starting from the root). We continue to do passes -- * until no more items are left. The first pass will only add root -- * items and each further pass will only add items whose direct parent -- * is an item added in the immediately previous pass. It's also -- * possible that items get filled if they follow their parent within a -- * particular pass. -- * -- * At most we will have a number of passes equal to the depth of the -- * tree. Self-referential items will never be filled in (since their -- * parent will have never been filled in). We continue until we have -- * a pass that fills in no additional items. -- * -- * This takes an O(n) algorithm and turns it into O(n*m) where m is -- * the depth of the tree, but typically the tree won't be very -- * deep and the constant factor of this algorithm is lower (and the -- * complexity of coding it, as well). -- */ -- -- n_names = table->n_hash_items; -- names = g_new0 (gchar *, n_names + 1); -- -- /* 'names' starts out all-NULL. On each pass we record the number -- * of items changed from NULL to non-NULL in 'filled' so we know if we -- * should repeat the loop. 'total' counts the total number of items -- * filled. If 'total' ends up equal to 'n_names' then we know that -- * 'names' has been completely filled. -- */ -- -- total = 0; -- do -- { -- /* Loop until we have filled no more entries */ -- filled = 0; -- -- for (i = 0; i < n_names; i++) -- { -- const struct gvdb_hash_item *item = &table->hash_items[i]; -- const gchar *name; -- gsize name_length; -- guint32 parent; -- -- /* already got it on a previous pass */ -- if (names[i] != NULL) -- continue; -- -- parent = guint32_from_le (item->parent); -- -- if (parent == 0xffffffffu) -- { -- /* it's a root item */ -- name = gvdb_table_item_get_key (table, item, &name_length); -- -- if (name != NULL) -- { -- names[i] = g_strndup (name, name_length); -- filled++; -- } -- } -- -- else if (parent < n_names && names[parent] != NULL) -- { -- /* It's a non-root item whose parent was filled in already. -- * -- * Calculate the name of this item by combining it with -- * its parent name. -- */ -- name = gvdb_table_item_get_key (table, item, &name_length); -- -- if (name != NULL) -- { -- const gchar *parent_name = names[parent]; -- gsize parent_length; -- gchar *fullname; -- -- parent_length = strlen (parent_name); -- fullname = g_malloc (parent_length + name_length + 1); -- memcpy (fullname, parent_name, parent_length); -- memcpy (fullname + parent_length, name, name_length); -- fullname[parent_length + name_length] = '\0'; -- names[i] = fullname; -- filled++; -- } -- } -- } -- -- total += filled; -- } -- while (filled && total < n_names); -- -- /* If the table was corrupted then 'names' may have holes in it. -- * Collapse those. -- */ -- if G_UNLIKELY (total != n_names) -- { -- GPtrArray *fixed_names; -- -- fixed_names = g_ptr_array_sized_new (n_names + 1 /* NULL terminator */); -- for (i = 0; i < n_names; i++) -- if (names[i] != NULL) -- g_ptr_array_add (fixed_names, names[i]); -- -- g_free (names); -- n_names = fixed_names->len; -- g_ptr_array_add (fixed_names, NULL); -- names = (gchar **) g_ptr_array_free (fixed_names, FALSE); -- } -- -- if (length) -- { -- G_STATIC_ASSERT (sizeof (*length) >= sizeof (n_names)); -- *length = n_names; -- } -- -- return names; --} -- --/** -- * gvdb_table_list: -- * @file: a #GvdbTable -- * @key: a string -- * -- * List all of the keys that appear below @key. The nesting of keys -- * within the hash file is defined by the program that created the hash -- * file. One thing is constant: each item in the returned array can be -- * concatenated to @key to obtain the full name of that key. -- * -- * It is not possible to tell from this function if a given key is -- * itself a path, a value, or another hash table; you are expected to -- * know this for yourself. -- * -- * You should call g_strfreev() on the return result when you no longer -- * require it. -- * -- * Returns: a %NULL-terminated string array -- **/ --gchar ** --gvdb_table_list (GvdbTable *file, -- const gchar *key) --{ -- const struct gvdb_hash_item *item; -- const guint32_le *list; -- gchar **strv; -- guint length; -- guint i; -- -- if ((item = gvdb_table_lookup (file, key, 'L')) == NULL) -- return NULL; -- -- if (!gvdb_table_list_from_item (file, item, &list, &length)) -- return NULL; -- -- strv = g_new (gchar *, length + 1); -- for (i = 0; i < length; i++) -- { -- guint32 itemno = guint32_from_le (list[i]); -- -- if (itemno < file->n_hash_items) -- { -- const struct gvdb_hash_item *item; -- const gchar *string; -- gsize strsize; -- -- item = file->hash_items + itemno; -- -- string = gvdb_table_item_get_key (file, item, &strsize); -- -- if (string != NULL) -- strv[i] = g_strndup (string, strsize); -- else -- strv[i] = g_malloc0 (1); -- } -- else -- strv[i] = g_malloc0 (1); -- } -- -- strv[i] = NULL; -- -- return strv; --} -- --/** -- * gvdb_table_has_value: -- * @file: a #GvdbTable -- * @key: a string -- * -- * Checks for a value named @key in @file. -- * -- * Note: this function does not consider non-value nodes (other hash -- * tables, for example). -- * -- * Returns: %TRUE if @key is in the table -- **/ --gboolean --gvdb_table_has_value (GvdbTable *file, -- const gchar *key) --{ -- static const struct gvdb_hash_item *item; -- gsize size; -- -- item = gvdb_table_lookup (file, key, 'v'); -- -- if (item == NULL) -- return FALSE; -- -- return gvdb_table_dereference (file, &item->value.pointer, 8, &size) != NULL; --} -- --static GVariant * --gvdb_table_value_from_item (GvdbTable *table, -- const struct gvdb_hash_item *item) --{ -- GVariant *variant, *value; -- gconstpointer data; -- GBytes *bytes; -- gsize size; -- -- data = gvdb_table_dereference (table, &item->value.pointer, 8, &size); -- -- if G_UNLIKELY (data == NULL) -- return NULL; -- -- bytes = g_bytes_new_from_bytes (table->bytes, ((gchar *) data) - table->data, size); -- variant = g_variant_new_from_bytes (G_VARIANT_TYPE_VARIANT, bytes, table->trusted); -- value = g_variant_get_variant (variant); -- g_variant_unref (variant); -- g_bytes_unref (bytes); -- -- return value; --} -- --/** -- * gvdb_table_get_value: -- * @file: a #GvdbTable -- * @key: a string -- * -- * Looks up a value named @key in @file. -- * -- * If the value is not found then %NULL is returned. Otherwise, a new -- * #GVariant instance is returned. The #GVariant does not depend on the -- * continued existence of @file. -- * -- * You should call g_variant_unref() on the return result when you no -- * longer require it. -- * -- * Returns: a #GVariant, or %NULL -- **/ --GVariant * --gvdb_table_get_value (GvdbTable *file, -- const gchar *key) --{ -- const struct gvdb_hash_item *item; -- GVariant *value; -- -- if ((item = gvdb_table_lookup (file, key, 'v')) == NULL) -- return NULL; -- -- value = gvdb_table_value_from_item (file, item); -- -- if (value && file->byteswapped) -- { -- GVariant *tmp; -- -- tmp = g_variant_byteswap (value); -- g_variant_unref (value); -- value = tmp; -- } -- -- return value; --} -- --/** -- * gvdb_table_get_raw_value: -- * @table: a #GvdbTable -- * @key: a string -- * -- * Looks up a value named @key in @file. -- * -- * This call is equivalent to gvdb_table_get_value() except that it -- * never byteswaps the value. -- * -- * Returns: a #GVariant, or %NULL -- **/ --GVariant * --gvdb_table_get_raw_value (GvdbTable *table, -- const gchar *key) --{ -- const struct gvdb_hash_item *item; -- -- if ((item = gvdb_table_lookup (table, key, 'v')) == NULL) -- return NULL; -- -- return gvdb_table_value_from_item (table, item); --} -- --/** -- * gvdb_table_get_table: -- * @file: a #GvdbTable -- * @key: a string -- * -- * Looks up the hash table named @key in @file. -- * -- * The toplevel hash table in a #GvdbTable can contain reference to -- * child hash tables (and those can contain further references...). -- * -- * If @key is not found in @file then %NULL is returned. Otherwise, a -- * new #GvdbTable is returned, referring to the child hashtable as -- * contained in the file. This newly-created #GvdbTable does not depend -- * on the continued existence of @file. -- * -- * You should call gvdb_table_free() on the return result when you no -- * longer require it. -- * -- * Returns: a new #GvdbTable, or %NULL -- **/ --GvdbTable * --gvdb_table_get_table (GvdbTable *file, -- const gchar *key) --{ -- const struct gvdb_hash_item *item; -- GvdbTable *new; -- -- item = gvdb_table_lookup (file, key, 'H'); -- -- if (item == NULL) -- return NULL; -- -- new = g_slice_new0 (GvdbTable); -- new->bytes = g_bytes_ref (file->bytes); -- new->byteswapped = file->byteswapped; -- new->trusted = file->trusted; -- new->data = file->data; -- new->size = file->size; -- -- gvdb_table_setup_root (new, &item->value.pointer); -- -- return new; --} -- --/** -- * gvdb_table_free: -- * @file: a #GvdbTable -- * -- * Frees @file. -- **/ --void --gvdb_table_free (GvdbTable *file) --{ -- g_bytes_unref (file->bytes); -- g_slice_free (GvdbTable, file); --} -- --/** -- * gvdb_table_is_valid: -- * @table: a #GvdbTable -- * -- * Checks if the table is still valid. -- * -- * An on-disk GVDB can be marked as invalid. This happens when the file -- * has been replaced. The appropriate action is typically to reopen the -- * file. -- * -- * Returns: %TRUE if @table is still valid -- **/ --gboolean --gvdb_table_is_valid (GvdbTable *table) --{ -- return !!*table->data; --} -diff --git a/subprojects/gvdb/gvdb/gvdb-reader.h b/subprojects/gvdb/gvdb/gvdb-reader.h -deleted file mode 100644 -index 79a97d3..0000000 ---- a/subprojects/gvdb/gvdb/gvdb-reader.h -+++ /dev/null -@@ -1,78 +0,0 @@ --/* -- * Copyright © 2010 Codethink Limited -- * -- * This library is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Lesser General Public -- * License as published by the Free Software Foundation; either -- * version 2.1 of the License, or (at your option) any later version. -- * -- * This library is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * Lesser General Public License for more details. -- * -- * You should have received a copy of the GNU Lesser General Public -- * License along with this library; if not, see . -- * -- * Author: Ryan Lortie -- */ -- --#ifndef __gvdb_reader_h__ --#define __gvdb_reader_h__ -- --#include -- --/* We cannot enable the weak attribute unconditionally here because both -- * gvdb/gvdb-reader.c and tests/dconf-mock-gvdb.c include this file. The -- * intention of using weak symbols here is to allow the latter to override -- * functions defined in the former, so functions in tests/dconf-mock-gvdb.c -- * must have strong bindings. */ --#ifdef GVDB_USE_WEAK_SYMBOLS --# ifdef __GNUC__ --# define GVDB_GNUC_WEAK __attribute__((weak)) --# else --# define GVDB_GNUC_WEAK --# endif --#else --# define GVDB_GNUC_WEAK --#endif -- --typedef struct _GvdbTable GvdbTable; -- --G_BEGIN_DECLS -- --G_GNUC_INTERNAL GVDB_GNUC_WEAK --GvdbTable * gvdb_table_new_from_bytes (GBytes *bytes, -- gboolean trusted, -- GError **error); --G_GNUC_INTERNAL GVDB_GNUC_WEAK --GvdbTable * gvdb_table_new (const gchar *filename, -- gboolean trusted, -- GError **error); --G_GNUC_INTERNAL GVDB_GNUC_WEAK --void gvdb_table_free (GvdbTable *table); --G_GNUC_INTERNAL GVDB_GNUC_WEAK --gchar ** gvdb_table_get_names (GvdbTable *table, -- gsize *length); --G_GNUC_INTERNAL GVDB_GNUC_WEAK --gchar ** gvdb_table_list (GvdbTable *table, -- const gchar *key); --G_GNUC_INTERNAL GVDB_GNUC_WEAK --GvdbTable * gvdb_table_get_table (GvdbTable *table, -- const gchar *key); --G_GNUC_INTERNAL GVDB_GNUC_WEAK --GVariant * gvdb_table_get_raw_value (GvdbTable *table, -- const gchar *key); --G_GNUC_INTERNAL GVDB_GNUC_WEAK --GVariant * gvdb_table_get_value (GvdbTable *table, -- const gchar *key); -- --G_GNUC_INTERNAL GVDB_GNUC_WEAK --gboolean gvdb_table_has_value (GvdbTable *table, -- const gchar *key); --G_GNUC_INTERNAL GVDB_GNUC_WEAK --gboolean gvdb_table_is_valid (GvdbTable *table); -- --G_END_DECLS -- --#endif /* __gvdb_reader_h__ */ -diff --git a/subprojects/gvdb/meson.build b/subprojects/gvdb/meson.build -deleted file mode 100644 -index 01c86b4..0000000 ---- a/subprojects/gvdb/meson.build -+++ /dev/null -@@ -1,15 +0,0 @@ --project('gvdb', 'c', -- version: '0.0', -- meson_version: '>=0.54.0', --) -- --libgvdb_sources = files( -- 'gvdb/gvdb-builder.c', -- 'gvdb/gvdb-reader.c', --) -- --gvdb_dep = declare_dependency( -- sources: libgvdb_sources, -- include_directories: include_directories('.'), --) --meson.override_dependency('gvdb', gvdb_dep) diff --git a/debian/patches/Provide-backwards-compatibility-for-01_gettext-desktopfil.patch b/debian/patches/Provide-backwards-compatibility-for-01_gettext-desktopfil.patch new file mode 100644 index 0000000..180574b --- /dev/null +++ b/debian/patches/Provide-backwards-compatibility-for-01_gettext-desktopfil.patch @@ -0,0 +1,51 @@ +From: Martin Pitt +Date: Tue, 24 Feb 2009 16:08:05 +0100 +Subject: Provide backwards compatibility for 01_gettext-desktopfiles.patch + for X-{Debian,Ubuntu}-Gettext-Domain + +Ubuntu-specific. 01_gettext-desktopfiles.patch was changed to use +X-GNOME-, so this is necessary until all our .desktop files are converted. + +Forwarded: no +--- + glib/gkeyfile.c | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/glib/gkeyfile.c b/glib/gkeyfile.c +index 63d17ca..370c094 100644 +--- a/glib/gkeyfile.c ++++ b/glib/gkeyfile.c +@@ -910,6 +910,16 @@ g_key_file_load_from_fd (GKeyFile *key_file, + G_KEY_FILE_DESKTOP_GROUP, + G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, + NULL); ++ if (!key_file->gettext_domain) ++ key_file->gettext_domain = g_key_file_get_string (key_file, ++ G_KEY_FILE_DESKTOP_GROUP, ++ "X-Ubuntu-Gettext-Domain", ++ NULL); ++ if (!key_file->gettext_domain) ++ key_file->gettext_domain = g_key_file_get_string (key_file, ++ G_KEY_FILE_DESKTOP_GROUP, ++ "X-Debian-Gettext-Domain", ++ NULL); + + return TRUE; + } +@@ -1027,6 +1037,16 @@ g_key_file_load_from_data (GKeyFile *key_file, + G_KEY_FILE_DESKTOP_GROUP, + G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, + NULL); ++ if (!key_file->gettext_domain) ++ key_file->gettext_domain = g_key_file_get_string (key_file, ++ G_KEY_FILE_DESKTOP_GROUP, ++ "X-Ubuntu-Gettext-Domain", ++ NULL); ++ if (!key_file->gettext_domain) ++ key_file->gettext_domain = g_key_file_get_string (key_file, ++ G_KEY_FILE_DESKTOP_GROUP, ++ "X-Debian-Gettext-Domain", ++ NULL); + + return TRUE; + } diff --git a/debian/patches/Skip-memory-monitor-dbus-test-if-not-specifically-request.patch b/debian/patches/Skip-memory-monitor-dbus-test-if-not-specifically-request.patch new file mode 100644 index 0000000..b692f9f --- /dev/null +++ b/debian/patches/Skip-memory-monitor-dbus-test-if-not-specifically-request.patch @@ -0,0 +1,25 @@ +From: Simon McVittie +Date: Sun, 24 Oct 2021 22:38:20 +0100 +Subject: Skip memory-monitor-dbus test if not specifically requested + +This seems to be unreliable, particularly on non-x86. + +Bug-Debian: https://bugs.debian.org/995178 +Forwarded: no +--- + gio/tests/memory-monitor-dbus.py.in | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gio/tests/memory-monitor-dbus.py.in b/gio/tests/memory-monitor-dbus.py.in +index bf32918..17862e3 100755 +--- a/gio/tests/memory-monitor-dbus.py.in ++++ b/gio/tests/memory-monitor-dbus.py.in +@@ -39,6 +39,8 @@ try: + klass.start_system_bus() + klass.dbus_con = klass.get_dbus(True) + ++ @unittest.skipIf('DEB_ALLOW_FLAKY_TESTS' not in os.environ, ++ 'https://bugs.debian.org/995178') + def setUp(self): + try: + Gio.MemoryMonitor diff --git a/debian/patches/Skip-unreliable-gdbus-threading-tests-by-default.patch b/debian/patches/Skip-unreliable-gdbus-threading-tests-by-default.patch new file mode 100644 index 0000000..af20290 --- /dev/null +++ b/debian/patches/Skip-unreliable-gdbus-threading-tests-by-default.patch @@ -0,0 +1,48 @@ +From: Simon McVittie +Date: Fri, 4 Jan 2019 08:37:20 +0000 +Subject: Skip unreliable gdbus-threading tests by default + +test_threaded_singleton() test to reproduce a race condition between +last-unref of the global singleton GDBusConnection and g_bus_get_sync(). + +test_method_calls_in_thread() checks that multiple threads can all make +method calls to the same proxy. + +However, test setup intermittently times out with: + + # GLib-GIO-DEBUG: run 0: refcount is 2, sleeping + Bail out! GLib-GIO-FATAL-ERROR: connection had too many refs + +The current theory upstream is that this might be a reference leak in +test_delivery_in_thread(). + +Furthermore, test teardown is now often failing when destroying the test +bus. + +Demote these tests to be run as part of the "flaky" autopkgtests, but +not at build time or in the part of the autopkgtest run that gates +progress into testing. + +Bug: https://gitlab.gnome.org/GNOME/glib/issues/1515 +Forwarded: no +--- + gio/tests/gdbus-threading.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/gio/tests/gdbus-threading.c b/gio/tests/gdbus-threading.c +index 9f1f918..e829e26 100644 +--- a/gio/tests/gdbus-threading.c ++++ b/gio/tests/gdbus-threading.c +@@ -679,6 +679,12 @@ main (int argc, + + g_test_init (&argc, &argv, G_TEST_OPTION_ISOLATE_DIRS, NULL); + ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_print("ok 1 # SKIP all gdbus-threading tests skipped because they are too unreliable (glib#1515)\n"); ++ return 77; ++ } ++ + if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) + { + g_print("ok 1 # SKIP all gdbus-threading tests skipped because they are too unreliable (glib#1515)\n"); diff --git a/debian/patches/XB-1024-glib-XB-1000-XiB-1024.patch b/debian/patches/XB-1024-glib-XB-1000-XiB-1024.patch new file mode 100644 index 0000000..abefa13 --- /dev/null +++ b/debian/patches/XB-1024-glib-XB-1000-XiB-1024.patch @@ -0,0 +1,32 @@ +From: smiley286 +Date: Mon, 17 Jul 2023 16:22:34 +0800 +Subject: =?utf-8?b?KiDmlLnliqjor7TmmI7vvJrpgILphY3pupLpup/ns7vnu5/mlofku7Y=?= + =?utf-8?b?5aSn5bCP55qE6K6h566X6KeE6IyD77yIWELku6UxMDI06L+b5Yi277yJ77yMZ2xp?= + =?utf-8?b?YuWOn+acrOWunueOsO+8iFhC5LulMTAwMOi/m+WItu+8m1hpQuS7pTEwMjTov5s=?= + =?utf-8?b?5Yi277yJICogQlVH5Y+377yaMTU2NTI4IOOAkEdUS+mcgOaxgjE5MjU044CR44CQ?= + =?utf-8?b?5paH5qGj5p+l55yL5Zmo44CR6YCa6L+H5paH5qGj5p+l55yL5Zmo5omT5byA5paH?= + =?utf-8?b?5Lu25YiX6KGo55qE5paH5Lu25aSn5bCP5LiO5bGe5oCn6YeM55qE5aSn5bCP5LiN?= + =?utf-8?b?5LiA6Ie0ICAgICAgICAgIDEwMzY1MiDjgJDnlKjkvosyNDI0NTbjgJHjgJDlvZI=?= + =?utf-8?b?5qGj566h55CG5Zmo44CR5b2S5qGj5paH5Lu2LeaJk+W8gOeql+WPo+aYvuekug==?= + =?utf-8?b?5paH5Lu25aSn5bCP5LiO5paH5Lu2566h55CG5Zmo5LiN5LiA6Ie0ICog6ZyA5rGC?= + =?utf-8?b?L+S7u+WKoeWPt++8miAqIOWFtuS7luaUueWKqO+8miAqIOW9seWTjeWfn+ivtA==?= + =?utf-8?b?5piO77ya5b2x5ZON5paH5Lu244CB56OB55uY5aSn5bCP5o2i566X57uT5p6c55qE?= + =?utf-8?b?5pi+56S6?= + +--- + glib/gutils.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/glib/gutils.c b/glib/gutils.c +index 362c55a..713d146 100644 +--- a/glib/gutils.c ++++ b/glib/gutils.c +@@ -2860,7 +2860,7 @@ g_nullify_pointer (gpointer *nullify_location) + *nullify_location = NULL; + } + +-#define KILOBYTE_FACTOR (G_GOFFSET_CONSTANT (1000)) ++#define KILOBYTE_FACTOR (G_GOFFSET_CONSTANT (1024)) + #define MEGABYTE_FACTOR (KILOBYTE_FACTOR * KILOBYTE_FACTOR) + #define GIGABYTE_FACTOR (MEGABYTE_FACTOR * KILOBYTE_FACTOR) + #define TERABYTE_FACTOR (GIGABYTE_FACTOR * KILOBYTE_FACTOR) diff --git a/debian/patches/update-changelog-3.patch b/debian/patches/arm64.patch similarity index 70% rename from debian/patches/update-changelog-3.patch rename to debian/patches/arm64.patch index 0307768..658d67f 100644 --- a/debian/patches/update-changelog-3.patch +++ b/debian/patches/arm64.patch @@ -1,16 +1,16 @@ From: Yue-Lan -Date: Tue, 25 Apr 2023 15:32:05 +0800 -Subject: update changelog. +Date: Tue, 25 Apr 2023 15:31:20 +0800 +Subject: =?utf-8?b?57un57ut5L+u5aSNYXJtNjTnvJbor5Hpl67popg=?= --- gobject/tests/threadtests.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gobject/tests/threadtests.c b/gobject/tests/threadtests.c -index 6ea9a48..799dc79 100644 +index eacf617..48e7b53 100644 --- a/gobject/tests/threadtests.c +++ b/gobject/tests/threadtests.c -@@ -492,6 +492,11 @@ test_threaded_toggle_notify (void) +@@ -494,6 +494,11 @@ test_threaded_toggle_notify (void) } #endif diff --git a/debian/patches/change-format.patch b/debian/patches/change-format.patch new file mode 100644 index 0000000..624a12e --- /dev/null +++ b/debian/patches/change-format.patch @@ -0,0 +1,15 @@ +From: luzp +Date: Wed, 29 Jun 2022 16:02:18 +0800 +Subject: change format + +--- + debian/source/format | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/debian/source/format b/debian/source/format +index 163aaf8..89ae9db 100644 +--- a/debian/source/format ++++ b/debian/source/format +@@ -1 +1 @@ +-3.0 (quilt) ++3.0 (native) diff --git a/debian/patches/debian/03_disble_glib_compile_schemas_warning.patch b/debian/patches/debian/03_disble_glib_compile_schemas_warning.patch new file mode 100644 index 0000000..182ecac --- /dev/null +++ b/debian/patches/debian/03_disble_glib_compile_schemas_warning.patch @@ -0,0 +1,36 @@ +From: Iain Lane +Date: Mon, 10 Sep 2012 16:25:18 +0100 +Subject: Disable confusing (to users) warning about deprecated schema paths + +Disable a warning when compiling schemas which are installed +into 'deprecated' locations. Users see this very often due to +glib-compile-schemas being called from libglib2.0-0's trigger and it is +not very useful for them. + +Forwarded: not-needed +--- + gio/glib-compile-schemas.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c +index 04ef404..3c60d5f 100644 +--- a/gio/glib-compile-schemas.c ++++ b/gio/glib-compile-schemas.c +@@ -1232,6 +1232,9 @@ parse_state_start_schema (ParseState *state, + return; + } + ++ // Disable this warning: it confuses users and there is unlikely to be much ++ // progress towards fixing ++ /* + if (path && (g_str_has_prefix (path, "/apps/") || + g_str_has_prefix (path, "/desktop/") || + g_str_has_prefix (path, "/system/"))) +@@ -1244,6 +1247,7 @@ parse_state_start_schema (ParseState *state, + g_printerr ("%s\n", message); + g_free (message); + } ++ */ + + state->schema_state = schema_state_new (path, gettext_domain, + extends, extends_name, list_of); diff --git a/debian/patches/debian/Disable-some-tests-on-slow-architectures-which-keep-faili.patch b/debian/patches/debian/Disable-some-tests-on-slow-architectures-which-keep-faili.patch new file mode 100644 index 0000000..318831e --- /dev/null +++ b/debian/patches/debian/Disable-some-tests-on-slow-architectures-which-keep-faili.patch @@ -0,0 +1,70 @@ +From: Martin Pitt +Date: Thu, 27 Sep 2012 11:22:56 +0200 +Subject: Disable some tests on slow architectures which keep failing the + tests + +[smcv: Modified to use g_test_skip() instead of omitting those test cases +completely, and allow them to be re-enabled with a Debian-specific +environment variable] + +Co-authored-by: Simon McVittie +Forwarded: no +--- + glib/tests/mainloop.c | 16 ++++++++++++++++ + glib/tests/timeout.c | 9 +++++++++ + 2 files changed, 25 insertions(+) + +diff --git a/glib/tests/mainloop.c b/glib/tests/mainloop.c +index 152e74b..1aac153 100644 +--- a/glib/tests/mainloop.c ++++ b/glib/tests/mainloop.c +@@ -524,6 +524,14 @@ test_child_sources (void) + GMainLoop *loop; + GSource *parent, *child_b, *child_c, *end; + ++#if defined(__arm__) ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("Not reliable on older ARM hardware"); ++ return; ++ } ++#endif ++ + ctx = g_main_context_new (); + loop = g_main_loop_new (ctx, FALSE); + +@@ -602,6 +610,14 @@ test_recursive_child_sources (void) + GMainLoop *loop; + GSource *parent, *child_b, *child_c, *end; + ++#if defined(__arm__) ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("Not reliable on older ARM hardware"); ++ return; ++ } ++#endif ++ + ctx = g_main_context_new (); + loop = g_main_loop_new (ctx, FALSE); + +diff --git a/glib/tests/timeout.c b/glib/tests/timeout.c +index 1ae3f3a..f838c9c 100644 +--- a/glib/tests/timeout.c ++++ b/glib/tests/timeout.c +@@ -196,6 +196,15 @@ test_func (gpointer data) + static void + test_rounding (void) + { ++ ++#if defined(__arm__) ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("Not reliable on older ARM hardware"); ++ return; ++ } ++#endif ++ + loop = g_main_loop_new (NULL, FALSE); + + last_time = g_get_monotonic_time (); diff --git a/debian/patches/debian/Skip-test-which-performs-some-unreliable-floating-point-c.patch b/debian/patches/debian/Skip-test-which-performs-some-unreliable-floating-point-c.patch new file mode 100644 index 0000000..a703a63 --- /dev/null +++ b/debian/patches/debian/Skip-test-which-performs-some-unreliable-floating-point-c.patch @@ -0,0 +1,32 @@ +From: Iain Lane +Date: Tue, 18 Mar 2014 15:43:35 +0000 +Subject: Skip test which performs some unreliable floating point comparisons + +[smcv: Modified to use g_test_skip() instead of omitting those test cases +completely, and allow them to be re-enabled with a Debian-specific +environment variable] + +Co-authored-by: Simon McVittie +Bug: https://gitlab.gnome.org/GNOME/glib/issues/820 +Forwarded: no +--- + glib/tests/timer.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/glib/tests/timer.c b/glib/tests/timer.c +index 5b1b43c..c09f768 100644 +--- a/glib/tests/timer.c ++++ b/glib/tests/timer.c +@@ -35,6 +35,12 @@ test_timer_basic (void) + volatile gdouble elapsed; + gulong micros; + ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("Not reliable due to floating-point rounding (glib#820)"); ++ return; ++ } ++ + timer = g_timer_new (); + + g_timer_start (timer); diff --git a/debian/patches/debian/Skip-unreliable-gdbus-threading-tests--by-default.patch b/debian/patches/debian/Skip-unreliable-gdbus-threading-tests--by-default.patch new file mode 100644 index 0000000..2b4174e --- /dev/null +++ b/debian/patches/debian/Skip-unreliable-gdbus-threading-tests--by-default.patch @@ -0,0 +1,48 @@ +From: Simon McVittie +Date: Fri, 4 Jan 2019 08:37:20 +0000 +Subject: Skip unreliable gdbus-threading tests by default + +test_threaded_singleton() test to reproduce a race condition between +last-unref of the global singleton GDBusConnection and g_bus_get_sync(). + +test_method_calls_in_thread() checks that multiple threads can all make +method calls to the same proxy. + +However, test setup intermittently times out with: + + # GLib-GIO-DEBUG: run 0: refcount is 2, sleeping + Bail out! GLib-GIO-FATAL-ERROR: connection had too many refs + +The current theory upstream is that this might be a reference leak in +test_delivery_in_thread(). + +Furthermore, test teardown is now often failing when destroying the test +bus. + +Demote these tests to be run as part of the "flaky" autopkgtests, but +not at build time or in the part of the autopkgtest run that gates +progress into testing. + +Bug: https://gitlab.gnome.org/GNOME/glib/issues/1515 +Forwarded: no +--- + gio/tests/gdbus-threading.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/gio/tests/gdbus-threading.c b/gio/tests/gdbus-threading.c +index 755b490..9f1f918 100644 +--- a/gio/tests/gdbus-threading.c ++++ b/gio/tests/gdbus-threading.c +@@ -679,6 +679,12 @@ main (int argc, + + g_test_init (&argc, &argv, G_TEST_OPTION_ISOLATE_DIRS, NULL); + ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_print("ok 1 # SKIP all gdbus-threading tests skipped because they are too unreliable (glib#1515)\n"); ++ return 77; ++ } ++ + session_bus_up (); + + /* this is safe; testserver will exit once the bus goes away */ diff --git a/debian/patches/debian/closures-test-Skip-on-arm-unless-flaky-tests-are-allowed.patch b/debian/patches/debian/closures-test-Skip-on-arm-unless-flaky-tests-are-allowed.patch new file mode 100644 index 0000000..bc505f6 --- /dev/null +++ b/debian/patches/debian/closures-test-Skip-on-arm-unless-flaky-tests-are-allowed.patch @@ -0,0 +1,37 @@ +From: Simon McVittie +Date: Thu, 3 Jan 2019 09:01:03 +0000 +Subject: closures test: Skip on arm* unless flaky tests are allowed + +Choosing the right number of iterations to avoid either taking literally +hours on some hardware, or getting spurious failures when one thread +starves another, seems to be too hard to get right in practice. +Make this test opt-in so that its failures aren't release-critical. +We can run it as a separate autopkgtest that is marked flaky. + +Signed-off-by: Simon McVittie +Bug-Debian: https://bugs.debian.org/880883 +Bug-Debian: https://bugs.debian.org/917983 +Forwarded: not-needed +--- + gobject/tests/closure-refcount.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/gobject/tests/closure-refcount.c b/gobject/tests/closure-refcount.c +index 574a5ec..5629298 100644 +--- a/gobject/tests/closure-refcount.c ++++ b/gobject/tests/closure-refcount.c +@@ -262,6 +262,14 @@ test_closure_refcount (void) + GTest *object; + guint i, n_iterations; + ++#if defined(__aarch64__) || defined(__arm__) ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") != NULL) ++ { ++ g_print ("SKIP: Test is known to be flaky on arm* (#880883, #917983)\n"); ++ return 0; ++ } ++#endif ++ + object = g_object_new (G_TYPE_TEST, NULL); + closure = g_cclosure_new (G_CALLBACK (test_signal_handler), &test_data, destroy_data); + diff --git a/debian/patches/debian/gmenumodel-test-Mark-as-flaky.patch b/debian/patches/debian/gmenumodel-test-Mark-as-flaky.patch new file mode 100644 index 0000000..b8a9cd7 --- /dev/null +++ b/debian/patches/debian/gmenumodel-test-Mark-as-flaky.patch @@ -0,0 +1,30 @@ +From: Simon McVittie +Date: Fri, 26 Jul 2019 23:49:03 +0100 +Subject: gmenumodel test: Mark as flaky + +This test has not had a great history of reliability. + +Signed-off-by: Simon McVittie +Bug-Debian: https://bugs.debian.org/932678 +Forwarded: no +--- + gio/tests/gmenumodel.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/gio/tests/gmenumodel.c b/gio/tests/gmenumodel.c +index d75f36a..1c83987 100644 +--- a/gio/tests/gmenumodel.c ++++ b/gio/tests/gmenumodel.c +@@ -1153,6 +1153,12 @@ test_dbus_peer_subscriptions (void) + #else + PeerConnection peer; + ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("Not reliable? #932678"); ++ return; ++ } ++ + peer_connection_up (&peer); + do_subscriptions (peer.server_connection, peer.client_connection); + peer_connection_down (&peer); diff --git a/debian/patches/debian/gvariant-test-Don-t-run-at-build-time-on-mips.patch b/debian/patches/debian/gvariant-test-Don-t-run-at-build-time-on-mips.patch new file mode 100644 index 0000000..939620a --- /dev/null +++ b/debian/patches/debian/gvariant-test-Don-t-run-at-build-time-on-mips.patch @@ -0,0 +1,36 @@ +From: Simon McVittie +Date: Fri, 26 Jul 2019 23:51:39 +0100 +Subject: gvariant test: Don't run at build-time on mips + +DEB_ALLOW_FLAKY_TESTS is not quite right here, because we don't know +that the test would fail if left for long enough - the problem is that +it doesn't get there, because generating random floating-point numbers +is very slow on some of our mips hardware. However, it has the right +practical effect. + +Signed-off-by: Simon McVittie +Bug: https://bugs.debian.org/932678 +Forwarded: no +--- + glib/tests/gvariant.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/glib/tests/gvariant.c b/glib/tests/gvariant.c +index c8f1336..93c2058 100644 +--- a/glib/tests/gvariant.c ++++ b/glib/tests/gvariant.c +@@ -2466,6 +2466,14 @@ test_fuzzes (gpointer data) + gdouble fuzziness; + int i; + ++#ifdef __mips__ ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("Extremely slow on some mips CPUs: #932678"); ++ return; ++ } ++#endif ++ + fuzziness = GPOINTER_TO_INT (data) / 100.; + + for (i = 0; i < 200; i++) diff --git a/debian/patches/debian/taptestrunner-Stop-looking-like-an-executable-script.patch b/debian/patches/debian/taptestrunner-Stop-looking-like-an-executable-script.patch new file mode 100644 index 0000000..01c3aa0 --- /dev/null +++ b/debian/patches/debian/taptestrunner-Stop-looking-like-an-executable-script.patch @@ -0,0 +1,24 @@ +From: Simon McVittie +Date: Wed, 30 Oct 2019 08:44:52 +0000 +Subject: taptestrunner: Stop looking like an executable script + +This file is installed as non-executable but starts with the #! that +indicates an executable script, causing warnings from Debian's Lintian +tool. In fact it is imported as a Python module rather than being run +as an executable, so there is no need for the #! line. + +Signed-off-by: Simon McVittie +Forwarded: no +--- + gobject/tests/taptestrunner.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/gobject/tests/taptestrunner.py b/gobject/tests/taptestrunner.py +index 9adbd8d..bfe33e6 100644 +--- a/gobject/tests/taptestrunner.py ++++ b/gobject/tests/taptestrunner.py +@@ -1,4 +1,3 @@ +-#!/usr/bin/env python + # coding=utf-8 + + # Copyright (c) 2015 Remko Tronçon (https://el-tramo.be) diff --git a/debian/patches/dh_makeshlibs.patch b/debian/patches/dh_makeshlibs.patch new file mode 100644 index 0000000..2f154a7 --- /dev/null +++ b/debian/patches/dh_makeshlibs.patch @@ -0,0 +1,3830 @@ +From: Yue-Lan +Date: Thu, 29 Feb 2024 16:40:27 +0800 +Subject: =?utf-8?b?5L+u5aSNZGhfbWFrZXNobGlic+aKpemUmQ==?= + +--- + debian/libglib2.0-0.symbols | 2049 ++++++++++++++++++++++--------------------- + 1 file changed, 1046 insertions(+), 1003 deletions(-) + +diff --git a/debian/libglib2.0-0.symbols b/debian/libglib2.0-0.symbols +index 70a58e2..4c7f381 100644 +--- a/debian/libglib2.0-0.symbols ++++ b/debian/libglib2.0-0.symbols +@@ -23,15 +23,16 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_action_group_get_type@Base 2.28.0 + g_action_group_has_action@Base 2.28.0 + g_action_group_list_actions@Base 2.28.0 +- g_action_group_query_action@Base 2.31.8 +- g_action_map_add_action@Base 2.31.8 +- g_action_map_add_action_entries@Base 2.31.8 +- g_action_map_get_type@Base 2.31.8 +- g_action_map_lookup_action@Base 2.31.8 +- g_action_map_remove_action@Base 2.31.8 +- g_action_name_is_valid@Base 2.37.5 +- g_action_parse_detailed_name@Base 2.37.0 +- g_action_print_detailed_name@Base 2.37.5 ++ g_action_group_query_action@Base 2.32.0 ++ g_action_map_add_action@Base 2.32.0 ++ g_action_map_add_action_entries@Base 2.32.0 ++ g_action_map_get_type@Base 2.32.0 ++ g_action_map_lookup_action@Base 2.32.0 ++ g_action_map_remove_action@Base 2.32.0 ++ g_action_map_remove_action_entries@Base 2.77.0 ++ g_action_name_is_valid@Base 2.38.0 ++ g_action_parse_detailed_name@Base 2.38.0 ++ g_action_print_detailed_name@Base 2.38.0 + g_app_info_add_supports_type@Base 2.16.0 + g_app_info_can_delete@Base 2.20.0 + g_app_info_can_remove_supports_type@Base 2.16.0 +@@ -44,11 +45,11 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_app_info_get_all_for_type@Base 2.16.0 + g_app_info_get_commandline@Base 2.20.0 + g_app_info_get_default_for_type@Base 2.16.0 +- g_app_info_get_default_for_type_async@Base 2.73.2 +- g_app_info_get_default_for_type_finish@Base 2.73.2 ++ g_app_info_get_default_for_type_async@Base 2.74.0 ++ g_app_info_get_default_for_type_finish@Base 2.74.0 + g_app_info_get_default_for_uri_scheme@Base 2.16.0 +- g_app_info_get_default_for_uri_scheme_async@Base 2.73.2 +- g_app_info_get_default_for_uri_scheme_finish@Base 2.73.2 ++ g_app_info_get_default_for_uri_scheme_async@Base 2.74.0 ++ g_app_info_get_default_for_uri_scheme_finish@Base 2.74.0 + g_app_info_get_description@Base 2.16.0 + g_app_info_get_display_name@Base 2.24.0 + g_app_info_get_executable@Base 2.16.0 +@@ -57,17 +58,17 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_app_info_get_id@Base 2.16.0 + g_app_info_get_name@Base 2.16.0 + g_app_info_get_recommended_for_type@Base 2.28.0 +- g_app_info_get_supported_types@Base 2.33.14 ++ g_app_info_get_supported_types@Base 2.34.0 + g_app_info_get_type@Base 2.16.0 + g_app_info_launch@Base 2.16.0 + g_app_info_launch_default_for_uri@Base 2.16.0 +- g_app_info_launch_default_for_uri_async@Base 2.49.5 +- g_app_info_launch_default_for_uri_finish@Base 2.49.5 ++ g_app_info_launch_default_for_uri_async@Base 2.50.0 ++ g_app_info_launch_default_for_uri_finish@Base 2.50.0 + g_app_info_launch_uris@Base 2.16.0 +- g_app_info_launch_uris_async@Base 2.59.2 +- g_app_info_launch_uris_finish@Base 2.59.2 +- g_app_info_monitor_get@Base 2.39.4 +- g_app_info_monitor_get_type@Base 2.39.4 ++ g_app_info_launch_uris_async@Base 2.60.0 ++ g_app_info_launch_uris_finish@Base 2.60.0 ++ g_app_info_monitor_get@Base 2.40.0 ++ g_app_info_monitor_get_type@Base 2.40.0 + g_app_info_remove_supports_type@Base 2.16.0 + g_app_info_reset_type_associations@Base 2.20.0 + g_app_info_set_as_default_for_extension@Base 2.16.0 +@@ -77,27 +78,27 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_app_info_supports_files@Base 2.16.0 + g_app_info_supports_uris@Base 2.16.0 + g_app_launch_context_get_display@Base 2.16.0 +- g_app_launch_context_get_environment@Base 2.31.8 ++ g_app_launch_context_get_environment@Base 2.32.0 + g_app_launch_context_get_startup_notify_id@Base 2.16.0 + g_app_launch_context_get_type@Base 2.16.0 + g_app_launch_context_launch_failed@Base 2.16.0 + g_app_launch_context_new@Base 2.16.0 +- g_app_launch_context_setenv@Base 2.31.8 +- g_app_launch_context_unsetenv@Base 2.31.8 ++ g_app_launch_context_setenv@Base 2.32.0 ++ g_app_launch_context_unsetenv@Base 2.32.0 + g_application_activate@Base 2.28.0 +- g_application_add_main_option@Base 2.41.4 +- g_application_add_main_option_entries@Base 2.39.90 +- g_application_add_option_group@Base 2.39.90 +- g_application_bind_busy_property@Base 2.43.90 +- g_application_command_line_create_file_for_arg@Base 2.35.8 ++ g_application_add_main_option@Base 2.42.0 ++ g_application_add_main_option_entries@Base 2.40.0 ++ g_application_add_option_group@Base 2.40.0 ++ g_application_bind_busy_property@Base 2.44.0 ++ g_application_command_line_create_file_for_arg@Base 2.36.0 + g_application_command_line_get_arguments@Base 2.28.0 + g_application_command_line_get_cwd@Base 2.28.0 + g_application_command_line_get_environ@Base 2.28.0 + g_application_command_line_get_exit_status@Base 2.28.0 + g_application_command_line_get_is_remote@Base 2.28.0 +- g_application_command_line_get_options_dict@Base 2.39.90 ++ g_application_command_line_get_options_dict@Base 2.40.0 + g_application_command_line_get_platform_data@Base 2.28.0 +- g_application_command_line_get_stdin@Base 2.35.8 ++ g_application_command_line_get_stdin@Base 2.36.0 + g_application_command_line_get_type@Base 2.28.0 + g_application_command_line_getenv@Base 2.28.0 + g_application_command_line_print@Base 2.28.0 +@@ -105,38 +106,38 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_application_command_line_set_exit_status@Base 2.28.0 + g_application_flags_get_type@Base 2.28.0 + g_application_get_application_id@Base 2.28.0 +- g_application_get_dbus_connection@Base 2.33.14 +- g_application_get_dbus_object_path@Base 2.33.14 +- g_application_get_default@Base 2.31.8 ++ g_application_get_dbus_connection@Base 2.34.0 ++ g_application_get_dbus_object_path@Base 2.34.0 ++ g_application_get_default@Base 2.32.0 + g_application_get_flags@Base 2.28.0 + g_application_get_inactivity_timeout@Base 2.28.0 +- g_application_get_is_busy@Base 2.43.91 ++ g_application_get_is_busy@Base 2.44.0 + g_application_get_is_registered@Base 2.28.0 + g_application_get_is_remote@Base 2.28.0 +- g_application_get_resource_base_path@Base 2.41.2 ++ g_application_get_resource_base_path@Base 2.42.0 + g_application_get_type@Base 2.28.0 + g_application_hold@Base 2.28.0 + g_application_id_is_valid@Base 2.28.0 +- g_application_mark_busy@Base 2.37.0 ++ g_application_mark_busy@Base 2.38.0 + g_application_new@Base 2.28.0 + g_application_open@Base 2.28.0 +- g_application_quit@Base 2.31.18 ++ g_application_quit@Base 2.32.0 + g_application_register@Base 2.28.0 + g_application_release@Base 2.28.0 + g_application_run@Base 2.28.0 +- g_application_send_notification@Base 2.39.4 ++ g_application_send_notification@Base 2.40.0 + g_application_set_action_group@Base 2.28.0 + g_application_set_application_id@Base 2.28.0 +- g_application_set_default@Base 2.31.8 ++ g_application_set_default@Base 2.32.0 + g_application_set_flags@Base 2.28.0 + g_application_set_inactivity_timeout@Base 2.28.0 +- g_application_set_option_context_description@Base 2.55.1 +- g_application_set_option_context_parameter_string@Base 2.55.1 +- g_application_set_option_context_summary@Base 2.55.1 +- g_application_set_resource_base_path@Base 2.41.2 +- g_application_unbind_busy_property@Base 2.43.91 +- g_application_unmark_busy@Base 2.37.0 +- g_application_withdraw_notification@Base 2.39.4 ++ g_application_set_option_context_description@Base 2.56.0 ++ g_application_set_option_context_parameter_string@Base 2.56.0 ++ g_application_set_option_context_summary@Base 2.56.0 ++ g_application_set_resource_base_path@Base 2.42.0 ++ g_application_unbind_busy_property@Base 2.44.0 ++ g_application_unmark_busy@Base 2.38.0 ++ g_application_withdraw_notification@Base 2.40.0 + g_ask_password_flags_get_type@Base 2.16.0 + g_async_initable_get_type@Base 2.22.0 + g_async_initable_init_async@Base 2.22.0 +@@ -148,8 +149,8 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_async_result_get_source_object@Base 2.16.0 + g_async_result_get_type@Base 2.16.0 + g_async_result_get_user_data@Base 2.16.0 +- g_async_result_is_tagged@Base 2.33.14 +- g_async_result_legacy_propagate_error@Base 2.33.14 ++ g_async_result_is_tagged@Base 2.34.0 ++ g_async_result_legacy_propagate_error@Base 2.34.0 + g_buffered_input_stream_fill@Base 2.16.0 + g_buffered_input_stream_fill_async@Base 2.16.0 + g_buffered_input_stream_fill_finish@Base 2.16.0 +@@ -185,9 +186,9 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_bus_watch_name_on_connection@Base 2.26.0 + g_bus_watch_name_on_connection_with_closures@Base 2.26.0 + g_bus_watch_name_with_closures@Base 2.26.0 +- g_bytes_icon_get_bytes@Base 2.37.0 +- g_bytes_icon_get_type@Base 2.37.0 +- g_bytes_icon_new@Base 2.37.0 ++ g_bytes_icon_get_bytes@Base 2.38.0 ++ g_bytes_icon_get_type@Base 2.38.0 ++ g_bytes_icon_new@Base 2.38.0 + g_cancellable_cancel@Base 2.16.0 + g_cancellable_connect@Base 2.22.0 + g_cancellable_disconnect@Base 2.22.0 +@@ -212,17 +213,17 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_content_type_equals@Base 2.16.0 + g_content_type_from_mime_type@Base 2.18.0 + g_content_type_get_description@Base 2.16.0 +- g_content_type_get_generic_icon_name@Base 2.33.14 ++ g_content_type_get_generic_icon_name@Base 2.34.0 + g_content_type_get_icon@Base 2.16.0 +- g_content_type_get_mime_dirs@Base 2.59.0 ++ g_content_type_get_mime_dirs@Base 2.60.0 + g_content_type_get_mime_type@Base 2.16.0 +- g_content_type_get_symbolic_icon@Base 2.33.14 ++ g_content_type_get_symbolic_icon@Base 2.34.0 + g_content_type_guess@Base 2.16.0 + g_content_type_guess_for_tree@Base 2.18.0 + g_content_type_is_a@Base 2.16.0 +- g_content_type_is_mime_type@Base 2.51.5 ++ g_content_type_is_mime_type@Base 2.52.0 + g_content_type_is_unknown@Base 2.16.0 +- g_content_type_set_mime_dirs@Base 2.59.0 ++ g_content_type_set_mime_dirs@Base 2.60.0 + g_content_types_get_registered@Base 2.16.0 + g_converter_convert@Base 2.24.0 + g_converter_flags_get_type@Base 2.24.0 +@@ -237,7 +238,7 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_converter_result_get_type@Base 2.24.0 + g_credentials_get_native@Base 2.26.0 + g_credentials_get_type@Base 2.26.0 +- g_credentials_get_unix_pid@Base 2.35.8 ++ g_credentials_get_unix_pid@Base 2.36.0 + g_credentials_get_unix_user@Base 2.26.0 + g_credentials_is_same_user@Base 2.26.0 + g_credentials_new@Base 2.26.0 +@@ -283,15 +284,15 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_data_output_stream_set_byte_order@Base 2.16.0 + g_data_stream_byte_order_get_type@Base 2.16.0 + g_data_stream_newline_type_get_type@Base 2.16.0 +- g_datagram_based_condition_check@Base 2.47.1 +- g_datagram_based_condition_wait@Base 2.47.1 +- g_datagram_based_create_source@Base 2.47.1 +- g_datagram_based_get_type@Base 2.47.1 +- g_datagram_based_receive_messages@Base 2.47.1 +- g_datagram_based_send_messages@Base 2.47.1 +- g_dbus_action_group_get@Base 2.31.8 +- g_dbus_action_group_get_type@Base 2.31.8 +- g_dbus_address_escape_value@Base 2.35.8 ++ g_datagram_based_condition_check@Base 2.48.0 ++ g_datagram_based_condition_wait@Base 2.48.0 ++ g_datagram_based_create_source@Base 2.48.0 ++ g_datagram_based_get_type@Base 2.48.0 ++ g_datagram_based_receive_messages@Base 2.48.0 ++ g_datagram_based_send_messages@Base 2.48.0 ++ g_dbus_action_group_get@Base 2.32.0 ++ g_dbus_action_group_get_type@Base 2.32.0 ++ g_dbus_address_escape_value@Base 2.36.0 + g_dbus_address_get_for_bus_sync@Base 2.26.0 + g_dbus_address_get_stream@Base 2.26.0 + g_dbus_address_get_stream_finish@Base 2.26.0 +@@ -303,7 +304,7 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_dbus_arg_info_get_type@Base 2.26.0 + g_dbus_arg_info_ref@Base 2.26.0 + g_dbus_arg_info_unref@Base 2.26.0 +- g_dbus_auth_observer_allow_mechanism@Base 2.33.14 ++ g_dbus_auth_observer_allow_mechanism@Base 2.34.0 + g_dbus_auth_observer_authorize_authenticated_peer@Base 2.26.0 + g_dbus_auth_observer_get_type@Base 2.26.0 + g_dbus_auth_observer_new@Base 2.26.0 +@@ -320,17 +321,17 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_dbus_connection_close_finish@Base 2.26.0 + g_dbus_connection_close_sync@Base 2.26.0 + g_dbus_connection_emit_signal@Base 2.26.0 +- g_dbus_connection_export_action_group@Base 2.31.8 +- g_dbus_connection_export_menu_model@Base 2.31.8 ++ g_dbus_connection_export_action_group@Base 2.32.0 ++ g_dbus_connection_export_menu_model@Base 2.32.0 + g_dbus_connection_flags_get_type@Base 2.26.0 + g_dbus_connection_flush@Base 2.26.0 + g_dbus_connection_flush_finish@Base 2.26.0 + g_dbus_connection_flush_sync@Base 2.26.0 + g_dbus_connection_get_capabilities@Base 2.26.0 + g_dbus_connection_get_exit_on_close@Base 2.26.0 +- g_dbus_connection_get_flags@Base 2.59.0 ++ g_dbus_connection_get_flags@Base 2.60.0 + g_dbus_connection_get_guid@Base 2.26.0 +- g_dbus_connection_get_last_serial@Base 2.33.14 ++ g_dbus_connection_get_last_serial@Base 2.34.0 + g_dbus_connection_get_peer_credentials@Base 2.26.0 + g_dbus_connection_get_stream@Base 2.26.0 + g_dbus_connection_get_type@Base 2.26.0 +@@ -343,7 +344,7 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_dbus_connection_new_for_address_sync@Base 2.26.0 + g_dbus_connection_new_sync@Base 2.26.0 + g_dbus_connection_register_object@Base 2.26.0 +- g_dbus_connection_register_object_with_closures@Base 2.45.6 ++ g_dbus_connection_register_object_with_closures@Base 2.46.0 + g_dbus_connection_register_subtree@Base 2.26.0 + g_dbus_connection_remove_filter@Base 2.26.0 + g_dbus_connection_send_message@Base 2.26.0 +@@ -354,8 +355,8 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_dbus_connection_signal_subscribe@Base 2.26.0 + g_dbus_connection_signal_unsubscribe@Base 2.26.0 + g_dbus_connection_start_message_processing@Base 2.26.0 +- g_dbus_connection_unexport_action_group@Base 2.31.8 +- g_dbus_connection_unexport_menu_model@Base 2.31.8 ++ g_dbus_connection_unexport_action_group@Base 2.32.0 ++ g_dbus_connection_unexport_menu_model@Base 2.32.0 + g_dbus_connection_unregister_object@Base 2.26.0 + g_dbus_connection_unregister_subtree@Base 2.26.0 + g_dbus_error_encode_gerror@Base 2.26.0 +@@ -370,12 +371,12 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_dbus_error_set_dbus_error_valist@Base 2.26.0 + g_dbus_error_strip_remote_error@Base 2.26.0 + g_dbus_error_unregister_error@Base 2.26.0 +- g_dbus_escape_object_path@Base 2.67.3 +- g_dbus_escape_object_path_bytestring@Base 2.67.3 ++ g_dbus_escape_object_path@Base 2.68.0 ++ g_dbus_escape_object_path_bytestring@Base 2.68.0 + g_dbus_generate_guid@Base 2.26.0 + g_dbus_gvalue_to_gvariant@Base 2.30.0 + g_dbus_gvariant_to_gvalue@Base 2.30.0 +- g_dbus_interface_dup_object@Base 2.31.18 ++ g_dbus_interface_dup_object@Base 2.32.0 + g_dbus_interface_get_info@Base 2.30.0 + g_dbus_interface_get_object@Base 2.30.0 + g_dbus_interface_get_type@Base 2.30.0 +@@ -393,17 +394,17 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_dbus_interface_skeleton_flags_get_type@Base 2.30.0 + g_dbus_interface_skeleton_flush@Base 2.30.0 + g_dbus_interface_skeleton_get_connection@Base 2.30.0 +- g_dbus_interface_skeleton_get_connections@Base 2.31.8 ++ g_dbus_interface_skeleton_get_connections@Base 2.32.0 + g_dbus_interface_skeleton_get_flags@Base 2.30.0 + g_dbus_interface_skeleton_get_info@Base 2.30.0 + g_dbus_interface_skeleton_get_object_path@Base 2.30.0 + g_dbus_interface_skeleton_get_properties@Base 2.30.0 + g_dbus_interface_skeleton_get_type@Base 2.30.0 + g_dbus_interface_skeleton_get_vtable@Base 2.30.0 +- g_dbus_interface_skeleton_has_connection@Base 2.31.8 ++ g_dbus_interface_skeleton_has_connection@Base 2.32.0 + g_dbus_interface_skeleton_set_flags@Base 2.30.0 + g_dbus_interface_skeleton_unexport@Base 2.30.0 +- g_dbus_interface_skeleton_unexport_from_connection@Base 2.31.8 ++ g_dbus_interface_skeleton_unexport_from_connection@Base 2.32.0 + g_dbus_is_address@Base 2.26.0 + g_dbus_is_error_name@Base 2.70.0 + g_dbus_is_guid@Base 2.26.0 +@@ -412,8 +413,8 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_dbus_is_name@Base 2.26.0 + g_dbus_is_supported_address@Base 2.26.0 + g_dbus_is_unique_name@Base 2.26.0 +- g_dbus_menu_model_get@Base 2.31.8 +- g_dbus_menu_model_get_type@Base 2.31.8 ++ g_dbus_menu_model_get@Base 2.32.0 ++ g_dbus_menu_model_get_type@Base 2.32.0 + g_dbus_message_byte_order_get_type@Base 2.26.0 + g_dbus_message_bytes_needed@Base 2.26.0 + g_dbus_message_copy@Base 2.26.0 +@@ -478,7 +479,7 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_dbus_method_invocation_get_method_name@Base 2.26.0 + g_dbus_method_invocation_get_object_path@Base 2.26.0 + g_dbus_method_invocation_get_parameters@Base 2.26.0 +- g_dbus_method_invocation_get_property_info@Base 2.37.3 ++ g_dbus_method_invocation_get_property_info@Base 2.38.0 + g_dbus_method_invocation_get_sender@Base 2.26.0 + g_dbus_method_invocation_get_type@Base 2.26.0 + g_dbus_method_invocation_get_user_data@Base 2.26.0 +@@ -521,7 +522,7 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_dbus_object_manager_server_export_uniquely@Base 2.30.0 + g_dbus_object_manager_server_get_connection@Base 2.30.0 + g_dbus_object_manager_server_get_type@Base 2.30.0 +- g_dbus_object_manager_server_is_exported@Base 2.33.14 ++ g_dbus_object_manager_server_is_exported@Base 2.34.0 + g_dbus_object_manager_server_new@Base 2.30.0 + g_dbus_object_manager_server_set_connection@Base 2.30.0 + g_dbus_object_manager_server_unexport@Base 2.30.0 +@@ -581,39 +582,39 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_dbus_signal_info_ref@Base 2.26.0 + g_dbus_signal_info_unref@Base 2.26.0 + g_dbus_subtree_flags_get_type@Base 2.26.0 +- g_dbus_unescape_object_path@Base 2.67.3 +- g_debug_controller_dbus_get_type@Base 2.71.1 +- g_debug_controller_dbus_new@Base 2.71.1 +- g_debug_controller_dbus_stop@Base 2.71.2 +- g_debug_controller_get_debug_enabled@Base 2.71.1 +- g_debug_controller_get_type@Base 2.71.1 +- g_debug_controller_set_debug_enabled@Base 2.71.1 +- g_desktop_app_info_get_action_name@Base 2.37.5 +- g_desktop_app_info_get_boolean@Base 2.35.8 ++ g_dbus_unescape_object_path@Base 2.68.0 ++ g_debug_controller_dbus_get_type@Base 2.72.0 ++ g_debug_controller_dbus_new@Base 2.72.0 ++ g_debug_controller_dbus_stop@Base 2.72.0 ++ g_debug_controller_get_debug_enabled@Base 2.72.0 ++ g_debug_controller_get_type@Base 2.72.0 ++ g_debug_controller_set_debug_enabled@Base 2.72.0 ++ g_desktop_app_info_get_action_name@Base 2.38.0 ++ g_desktop_app_info_get_boolean@Base 2.36.0 + g_desktop_app_info_get_categories@Base 2.30.0 + g_desktop_app_info_get_filename@Base 2.24.0 + g_desktop_app_info_get_generic_name@Base 2.30.0 +- g_desktop_app_info_get_implementations@Base 2.41.0 ++ g_desktop_app_info_get_implementations@Base 2.42.0 + g_desktop_app_info_get_is_hidden@Base 2.16.0 +- g_desktop_app_info_get_keywords@Base 2.31.8 +- g_desktop_app_info_get_locale_string@Base 2.55.1 ++ g_desktop_app_info_get_keywords@Base 2.32.0 ++ g_desktop_app_info_get_locale_string@Base 2.56.0 + g_desktop_app_info_get_nodisplay@Base 2.30.0 + g_desktop_app_info_get_show_in@Base 2.30.0 +- g_desktop_app_info_get_startup_wm_class@Base 2.33.14 +- g_desktop_app_info_get_string@Base 2.35.8 +- g_desktop_app_info_get_string_list@Base 2.59.0 ++ g_desktop_app_info_get_startup_wm_class@Base 2.34.0 ++ g_desktop_app_info_get_string@Base 2.36.0 ++ g_desktop_app_info_get_string_list@Base 2.60.0 + g_desktop_app_info_get_type@Base 2.16.0 +- g_desktop_app_info_has_key@Base 2.35.8 +- g_desktop_app_info_launch_action@Base 2.37.5 ++ g_desktop_app_info_has_key@Base 2.36.0 ++ g_desktop_app_info_launch_action@Base 2.38.0 + g_desktop_app_info_launch_uris_as_manager@Base 2.28.0 +- g_desktop_app_info_launch_uris_as_manager_with_fds@Base 2.57.2 +- g_desktop_app_info_list_actions@Base 2.37.5 ++ g_desktop_app_info_launch_uris_as_manager_with_fds@Base 2.58.0 ++ g_desktop_app_info_list_actions@Base 2.38.0 + g_desktop_app_info_lookup_get_default_for_uri_scheme@Base 2.28.0 + g_desktop_app_info_lookup_get_type@Base 2.28.0 + g_desktop_app_info_new@Base 2.16.0 + g_desktop_app_info_new_from_filename@Base 2.16.0 + g_desktop_app_info_new_from_keyfile@Base 2.18.0 +- g_desktop_app_info_search@Base 2.39.4 ++ g_desktop_app_info_search@Base 2.40.0 + g_desktop_app_info_set_desktop_env@Base 2.16.0 + g_drive_can_eject@Base 2.16.0 + g_drive_can_poll_for_media@Base 2.16.0 +@@ -628,16 +629,16 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_drive_get_icon@Base 2.16.0 + g_drive_get_identifier@Base 2.16.0 + g_drive_get_name@Base 2.16.0 +- g_drive_get_sort_key@Base 2.31.8 ++ g_drive_get_sort_key@Base 2.32.0 + g_drive_get_start_stop_type@Base 2.22.0 +- g_drive_get_symbolic_icon@Base 2.33.14 ++ g_drive_get_symbolic_icon@Base 2.34.0 + g_drive_get_type@Base 2.16.0 + g_drive_get_volumes@Base 2.16.0 + g_drive_has_media@Base 2.16.0 + g_drive_has_volumes@Base 2.16.0 + g_drive_is_media_check_automatic@Base 2.16.0 + g_drive_is_media_removable@Base 2.16.0 +- g_drive_is_removable@Base 2.49.2 ++ g_drive_is_removable@Base 2.50.0 + g_drive_poll_for_media@Base 2.16.0 + g_drive_poll_for_media_finish@Base 2.16.0 + g_drive_start@Base 2.22.0 +@@ -646,43 +647,43 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_drive_start_stop_type_get_type@Base 2.22.0 + g_drive_stop@Base 2.22.0 + g_drive_stop_finish@Base 2.22.0 +- g_dtls_client_connection_get_accepted_cas@Base 2.47.5 +- g_dtls_client_connection_get_server_identity@Base 2.47.5 +- g_dtls_client_connection_get_type@Base 2.47.5 +- g_dtls_client_connection_get_validation_flags@Base 2.47.5 +- g_dtls_client_connection_new@Base 2.47.5 +- g_dtls_client_connection_set_server_identity@Base 2.47.5 +- g_dtls_client_connection_set_validation_flags@Base 2.47.5 +- g_dtls_connection_close@Base 2.47.5 +- g_dtls_connection_close_async@Base 2.47.5 +- g_dtls_connection_close_finish@Base 2.47.5 +- g_dtls_connection_emit_accept_certificate@Base 2.47.5 +- g_dtls_connection_get_certificate@Base 2.47.5 +- g_dtls_connection_get_channel_binding_data@Base 2.65.1 ++ g_dtls_client_connection_get_accepted_cas@Base 2.48.0 ++ g_dtls_client_connection_get_server_identity@Base 2.48.0 ++ g_dtls_client_connection_get_type@Base 2.48.0 ++ g_dtls_client_connection_get_validation_flags@Base 2.48.0 ++ g_dtls_client_connection_new@Base 2.48.0 ++ g_dtls_client_connection_set_server_identity@Base 2.48.0 ++ g_dtls_client_connection_set_validation_flags@Base 2.48.0 ++ g_dtls_connection_close@Base 2.48.0 ++ g_dtls_connection_close_async@Base 2.48.0 ++ g_dtls_connection_close_finish@Base 2.48.0 ++ g_dtls_connection_emit_accept_certificate@Base 2.48.0 ++ g_dtls_connection_get_certificate@Base 2.48.0 ++ g_dtls_connection_get_channel_binding_data@Base 2.66.0 + g_dtls_connection_get_ciphersuite_name@Base 2.70.0 +- g_dtls_connection_get_database@Base 2.47.5 +- g_dtls_connection_get_interaction@Base 2.47.5 +- g_dtls_connection_get_negotiated_protocol@Base 2.59.0 +- g_dtls_connection_get_peer_certificate@Base 2.47.5 +- g_dtls_connection_get_peer_certificate_errors@Base 2.47.5 ++ g_dtls_connection_get_database@Base 2.48.0 ++ g_dtls_connection_get_interaction@Base 2.48.0 ++ g_dtls_connection_get_negotiated_protocol@Base 2.60.0 ++ g_dtls_connection_get_peer_certificate@Base 2.48.0 ++ g_dtls_connection_get_peer_certificate_errors@Base 2.48.0 + g_dtls_connection_get_protocol_version@Base 2.70.0 +- g_dtls_connection_get_rehandshake_mode@Base 2.47.5 +- g_dtls_connection_get_require_close_notify@Base 2.47.5 +- g_dtls_connection_get_type@Base 2.47.5 +- g_dtls_connection_handshake@Base 2.47.5 +- g_dtls_connection_handshake_async@Base 2.47.5 +- g_dtls_connection_handshake_finish@Base 2.47.5 +- g_dtls_connection_set_advertised_protocols@Base 2.59.0 +- g_dtls_connection_set_certificate@Base 2.47.5 +- g_dtls_connection_set_database@Base 2.47.5 +- g_dtls_connection_set_interaction@Base 2.47.5 +- g_dtls_connection_set_rehandshake_mode@Base 2.47.5 +- g_dtls_connection_set_require_close_notify@Base 2.47.5 +- g_dtls_connection_shutdown@Base 2.47.5 +- g_dtls_connection_shutdown_async@Base 2.47.5 +- g_dtls_connection_shutdown_finish@Base 2.47.5 +- g_dtls_server_connection_get_type@Base 2.47.5 +- g_dtls_server_connection_new@Base 2.47.5 ++ g_dtls_connection_get_rehandshake_mode@Base 2.48.0 ++ g_dtls_connection_get_require_close_notify@Base 2.48.0 ++ g_dtls_connection_get_type@Base 2.48.0 ++ g_dtls_connection_handshake@Base 2.48.0 ++ g_dtls_connection_handshake_async@Base 2.48.0 ++ g_dtls_connection_handshake_finish@Base 2.48.0 ++ g_dtls_connection_set_advertised_protocols@Base 2.60.0 ++ g_dtls_connection_set_certificate@Base 2.48.0 ++ g_dtls_connection_set_database@Base 2.48.0 ++ g_dtls_connection_set_interaction@Base 2.48.0 ++ g_dtls_connection_set_rehandshake_mode@Base 2.48.0 ++ g_dtls_connection_set_require_close_notify@Base 2.48.0 ++ g_dtls_connection_shutdown@Base 2.48.0 ++ g_dtls_connection_shutdown_async@Base 2.48.0 ++ g_dtls_connection_shutdown_finish@Base 2.48.0 ++ g_dtls_server_connection_get_type@Base 2.48.0 ++ g_dtls_server_connection_new@Base 2.48.0 + g_emblem_get_icon@Base 2.18.0 + g_emblem_get_origin@Base 2.18.0 + g_emblem_get_type@Base 2.18.0 +@@ -713,12 +714,12 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_file_attribute_matcher_matches_only@Base 2.16.0 + g_file_attribute_matcher_new@Base 2.16.0 + g_file_attribute_matcher_ref@Base 2.16.0 +- g_file_attribute_matcher_subtract@Base 2.31.8 +- g_file_attribute_matcher_to_string@Base 2.31.8 ++ g_file_attribute_matcher_subtract@Base 2.32.0 ++ g_file_attribute_matcher_to_string@Base 2.32.0 + g_file_attribute_matcher_unref@Base 2.16.0 + g_file_attribute_status_get_type@Base 2.16.0 + g_file_attribute_type_get_type@Base 2.16.0 +- g_file_build_attribute_list_for_copy@Base 2.67.1 ++ g_file_build_attribute_list_for_copy@Base 2.68.0 + g_file_copy@Base 2.16.0 + g_file_copy_async@Base 2.16.0 + g_file_copy_attributes@Base 2.16.0 +@@ -732,8 +733,8 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_file_create_readwrite_async@Base 2.22.0 + g_file_create_readwrite_finish@Base 2.22.0 + g_file_delete@Base 2.16.0 +- g_file_delete_async@Base 2.33.14 +- g_file_delete_finish@Base 2.33.14 ++ g_file_delete_async@Base 2.34.0 ++ g_file_delete_finish@Base 2.34.0 + g_file_descriptor_based_get_fd@Base 2.24.0 + g_file_descriptor_based_get_type@Base 2.24.0 + g_file_dup@Base 2.16.0 +@@ -747,12 +748,12 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_file_enumerator_close@Base 2.16.0 + g_file_enumerator_close_async@Base 2.16.0 + g_file_enumerator_close_finish@Base 2.16.0 +- g_file_enumerator_get_child@Base 2.35.8 ++ g_file_enumerator_get_child@Base 2.36.0 + g_file_enumerator_get_container@Base 2.18.0 + g_file_enumerator_get_type@Base 2.16.0 + g_file_enumerator_has_pending@Base 2.16.0 + g_file_enumerator_is_closed@Base 2.16.0 +- g_file_enumerator_iterate@Base 2.43.91 ++ g_file_enumerator_iterate@Base 2.44.0 + g_file_enumerator_next_file@Base 2.16.0 + g_file_enumerator_next_files_async@Base 2.16.0 + g_file_enumerator_next_files_finish@Base 2.16.0 +@@ -786,6 +787,7 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_file_info_get_attribute_boolean@Base 2.16.0 + g_file_info_get_attribute_byte_string@Base 2.16.0 + g_file_info_get_attribute_data@Base 2.16.0 ++ g_file_info_get_attribute_file_path@Base 2.77.1 + g_file_info_get_attribute_int32@Base 2.16.0 + g_file_info_get_attribute_int64@Base 2.16.0 + g_file_info_get_attribute_object@Base 2.16.0 +@@ -797,7 +799,7 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_file_info_get_attribute_uint64@Base 2.16.0 + g_file_info_get_content_type@Base 2.16.0 + g_file_info_get_creation_date_time@Base 2.70.0 +- g_file_info_get_deletion_date@Base 2.35.8 ++ g_file_info_get_deletion_date@Base 2.36.0 + g_file_info_get_display_name@Base 2.16.0 + g_file_info_get_edit_name@Base 2.16.0 + g_file_info_get_etag@Base 2.16.0 +@@ -806,12 +808,12 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_file_info_get_is_backup@Base 2.16.0 + g_file_info_get_is_hidden@Base 2.16.0 + g_file_info_get_is_symlink@Base 2.16.0 +- g_file_info_get_modification_date_time@Base 2.61.2 ++ g_file_info_get_modification_date_time@Base 2.62.0 + g_file_info_get_modification_time@Base 2.16.0 + g_file_info_get_name@Base 2.16.0 + g_file_info_get_size@Base 2.16.0 + g_file_info_get_sort_order@Base 2.16.0 +- g_file_info_get_symbolic_icon@Base 2.33.14 ++ g_file_info_get_symbolic_icon@Base 2.34.0 + g_file_info_get_symlink_target@Base 2.16.0 + g_file_info_get_type@Base 2.16.0 + g_file_info_has_attribute@Base 2.16.0 +@@ -823,6 +825,7 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_file_info_set_attribute@Base 2.16.0 + g_file_info_set_attribute_boolean@Base 2.16.0 + g_file_info_set_attribute_byte_string@Base 2.16.0 ++ g_file_info_set_attribute_file_path@Base 2.77.1 + g_file_info_set_attribute_int32@Base 2.16.0 + g_file_info_set_attribute_int64@Base 2.16.0 + g_file_info_set_attribute_mask@Base 2.16.0 +@@ -840,12 +843,12 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_file_info_set_icon@Base 2.16.0 + g_file_info_set_is_hidden@Base 2.16.0 + g_file_info_set_is_symlink@Base 2.16.0 +- g_file_info_set_modification_date_time@Base 2.61.2 ++ g_file_info_set_modification_date_time@Base 2.62.0 + g_file_info_set_modification_time@Base 2.16.0 + g_file_info_set_name@Base 2.16.0 + g_file_info_set_size@Base 2.16.0 + g_file_info_set_sort_order@Base 2.16.0 +- g_file_info_set_symbolic_icon@Base 2.33.14 ++ g_file_info_set_symbolic_icon@Base 2.34.0 + g_file_info_set_symlink_target@Base 2.16.0 + g_file_info_unset_attribute_mask@Base 2.16.0 + g_file_input_stream_get_type@Base 2.16.0 +@@ -858,25 +861,25 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_file_io_stream_query_info_async@Base 2.22.0 + g_file_io_stream_query_info_finish@Base 2.22.0 + g_file_is_native@Base 2.16.0 +- g_file_load_bytes@Base 2.55.1 +- g_file_load_bytes_async@Base 2.55.1 +- g_file_load_bytes_finish@Base 2.55.1 ++ g_file_load_bytes@Base 2.56.0 ++ g_file_load_bytes_async@Base 2.56.0 ++ g_file_load_bytes_finish@Base 2.56.0 + g_file_load_contents@Base 2.16.0 + g_file_load_contents_async@Base 2.16.0 + g_file_load_contents_finish@Base 2.16.0 + g_file_load_partial_contents_async@Base 2.16.0 + g_file_load_partial_contents_finish@Base 2.16.0 + g_file_make_directory@Base 2.16.0 +- g_file_make_directory_async@Base 2.37.0 +- g_file_make_directory_finish@Base 2.37.0 ++ g_file_make_directory_async@Base 2.38.0 ++ g_file_make_directory_finish@Base 2.38.0 + g_file_make_directory_with_parents@Base 2.18.0 + g_file_make_symbolic_link@Base 2.16.0 +- g_file_make_symbolic_link_async@Base 2.73.2 +- g_file_make_symbolic_link_finish@Base 2.73.2 +- g_file_measure_disk_usage@Base 2.37.93 +- g_file_measure_disk_usage_async@Base 2.37.93 +- g_file_measure_disk_usage_finish@Base 2.37.93 +- g_file_measure_flags_get_type@Base 2.37.93 ++ g_file_make_symbolic_link_async@Base 2.74.0 ++ g_file_make_symbolic_link_finish@Base 2.74.0 ++ g_file_measure_disk_usage@Base 2.38.0 ++ g_file_measure_disk_usage_async@Base 2.38.0 ++ g_file_measure_disk_usage_finish@Base 2.38.0 ++ g_file_measure_flags_get_type@Base 2.38.0 + g_file_monitor@Base 2.18.0 + g_file_monitor_cancel@Base 2.16.0 + g_file_monitor_directory@Base 2.16.0 +@@ -887,24 +890,25 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_file_monitor_get_type@Base 2.16.0 + g_file_monitor_is_cancelled@Base 2.16.0 + g_file_monitor_set_rate_limit@Base 2.16.0 +- g_file_monitor_source_handle_event@Base 2.45.1 ++ g_file_monitor_source_handle_event@Base 2.46.0 + g_file_mount_enclosing_volume@Base 2.16.0 + g_file_mount_enclosing_volume_finish@Base 2.16.0 + g_file_mount_mountable@Base 2.16.0 + g_file_mount_mountable_finish@Base 2.16.0 + g_file_move@Base 2.16.0 +- g_file_move_async@Base 2.71.2 +- g_file_move_finish@Base 2.71.2 +- g_file_new_build_filename@Base 2.55.1 ++ g_file_move_async@Base 2.72.0 ++ g_file_move_finish@Base 2.72.0 ++ g_file_new_build_filename@Base 2.56.0 ++ g_file_new_build_filenamev@Base 2.77.0 + g_file_new_for_commandline_arg@Base 2.16.0 +- g_file_new_for_commandline_arg_and_cwd@Base 2.35.8 ++ g_file_new_for_commandline_arg_and_cwd@Base 2.36.0 + g_file_new_for_path@Base 2.16.0 + g_file_new_for_uri@Base 2.16.0 +- g_file_new_tmp@Base 2.31.8 +- g_file_new_tmp_async@Base 2.73.2 +- g_file_new_tmp_dir_async@Base 2.73.2 +- g_file_new_tmp_dir_finish@Base 2.73.2 +- g_file_new_tmp_finish@Base 2.73.2 ++ g_file_new_tmp@Base 2.32.0 ++ g_file_new_tmp_async@Base 2.74.0 ++ g_file_new_tmp_dir_async@Base 2.74.0 ++ g_file_new_tmp_dir_finish@Base 2.74.0 ++ g_file_new_tmp_finish@Base 2.74.0 + g_file_open_readwrite@Base 2.22.0 + g_file_open_readwrite_async@Base 2.22.0 + g_file_open_readwrite_finish@Base 2.22.0 +@@ -914,12 +918,12 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_file_output_stream_query_info_async@Base 2.16.0 + g_file_output_stream_query_info_finish@Base 2.16.0 + g_file_parse_name@Base 2.16.0 +- g_file_peek_path@Base 2.55.2 ++ g_file_peek_path@Base 2.56.0 + g_file_poll_mountable@Base 2.22.0 + g_file_poll_mountable_finish@Base 2.22.0 + g_file_query_default_handler@Base 2.16.0 +- g_file_query_default_handler_async@Base 2.59.2 +- g_file_query_default_handler_finish@Base 2.59.2 ++ g_file_query_default_handler_async@Base 2.60.0 ++ g_file_query_default_handler_finish@Base 2.60.0 + g_file_query_exists@Base 2.16.0 + g_file_query_file_type@Base 2.18.0 + g_file_query_filesystem_info@Base 2.16.0 +@@ -938,7 +942,7 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_file_replace_async@Base 2.16.0 + g_file_replace_contents@Base 2.16.0 + g_file_replace_contents_async@Base 2.16.0 +- g_file_replace_contents_bytes_async@Base 2.39.4 ++ g_file_replace_contents_bytes_async@Base 2.40.0 + g_file_replace_contents_finish@Base 2.16.0 + g_file_replace_finish@Base 2.16.0 + g_file_replace_readwrite@Base 2.22.0 +@@ -964,8 +968,8 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_file_stop_mountable_finish@Base 2.22.0 + g_file_supports_thread_contexts@Base 2.22.0 + g_file_trash@Base 2.16.0 +- g_file_trash_async@Base 2.37.0 +- g_file_trash_finish@Base 2.37.0 ++ g_file_trash_async@Base 2.38.0 ++ g_file_trash_finish@Base 2.38.0 + g_file_type_get_type@Base 2.16.0 + g_file_unmount_mountable@Base 2.16.0 + g_file_unmount_mountable_finish@Base 2.16.0 +@@ -985,12 +989,12 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_filter_output_stream_get_close_base_stream@Base 2.20.0 + g_filter_output_stream_get_type@Base 2.16.0 + g_filter_output_stream_set_close_base_stream@Base 2.20.0 +- g_icon_deserialize@Base 2.37.0 ++ g_icon_deserialize@Base 2.38.0 + g_icon_equal@Base 2.16.0 + g_icon_get_type@Base 2.16.0 + g_icon_hash@Base 2.16.0 + g_icon_new_for_string@Base 2.20.0 +- g_icon_serialize@Base 2.37.0 ++ g_icon_serialize@Base 2.38.0 + g_icon_to_string@Base 2.20.0 + g_inet_address_equal@Base 2.30.0 + g_inet_address_get_family@Base 2.22.0 +@@ -1006,15 +1010,15 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_inet_address_get_is_site_local@Base 2.22.0 + g_inet_address_get_native_size@Base 2.22.0 + g_inet_address_get_type@Base 2.22.0 +- g_inet_address_mask_equal@Base 2.31.8 +- g_inet_address_mask_get_address@Base 2.31.8 +- g_inet_address_mask_get_family@Base 2.31.8 +- g_inet_address_mask_get_length@Base 2.31.8 +- g_inet_address_mask_get_type@Base 2.31.8 +- g_inet_address_mask_matches@Base 2.31.8 +- g_inet_address_mask_new@Base 2.31.8 +- g_inet_address_mask_new_from_string@Base 2.31.8 +- g_inet_address_mask_to_string@Base 2.31.8 ++ g_inet_address_mask_equal@Base 2.32.0 ++ g_inet_address_mask_get_address@Base 2.32.0 ++ g_inet_address_mask_get_family@Base 2.32.0 ++ g_inet_address_mask_get_length@Base 2.32.0 ++ g_inet_address_mask_get_type@Base 2.32.0 ++ g_inet_address_mask_matches@Base 2.32.0 ++ g_inet_address_mask_new@Base 2.32.0 ++ g_inet_address_mask_new_from_string@Base 2.32.0 ++ g_inet_address_mask_to_string@Base 2.32.0 + g_inet_address_new_any@Base 2.22.0 + g_inet_address_new_from_bytes@Base 2.22.0 + g_inet_address_new_from_string@Base 2.22.0 +@@ -1022,12 +1026,12 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_inet_address_to_bytes@Base 2.22.0 + g_inet_address_to_string@Base 2.22.0 + g_inet_socket_address_get_address@Base 2.22.0 +- g_inet_socket_address_get_flowinfo@Base 2.31.18 ++ g_inet_socket_address_get_flowinfo@Base 2.32.0 + g_inet_socket_address_get_port@Base 2.22.0 +- g_inet_socket_address_get_scope_id@Base 2.31.18 ++ g_inet_socket_address_get_scope_id@Base 2.32.0 + g_inet_socket_address_get_type@Base 2.22.0 + g_inet_socket_address_new@Base 2.22.0 +- g_inet_socket_address_new_from_string@Base 2.39.90 ++ g_inet_socket_address_new_from_string@Base 2.40.0 + g_initable_get_type@Base 2.22.0 + g_initable_init@Base 2.22.0 + g_initable_new@Base 2.22.0 +@@ -1042,12 +1046,12 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_input_stream_is_closed@Base 2.16.0 + g_input_stream_read@Base 2.16.0 + g_input_stream_read_all@Base 2.16.0 +- g_input_stream_read_all_async@Base 2.43.1 +- g_input_stream_read_all_finish@Base 2.43.1 ++ g_input_stream_read_all_async@Base 2.44.0 ++ g_input_stream_read_all_finish@Base 2.44.0 + g_input_stream_read_async@Base 2.16.0 +- g_input_stream_read_bytes@Base 2.33.14 +- g_input_stream_read_bytes_async@Base 2.33.14 +- g_input_stream_read_bytes_finish@Base 2.33.14 ++ g_input_stream_read_bytes@Base 2.34.0 ++ g_input_stream_read_bytes_async@Base 2.34.0 ++ g_input_stream_read_bytes_finish@Base 2.34.0 + g_input_stream_read_finish@Base 2.16.0 + g_input_stream_set_pending@Base 2.16.0 + g_input_stream_skip@Base 2.16.0 +@@ -1055,7 +1059,7 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_input_stream_skip_finish@Base 2.16.0 + g_io_error_enum_get_type@Base 2.16.0 + g_io_error_from_errno@Base 2.16.0 +- g_io_error_from_file_error@Base 2.73.2 ++ g_io_error_from_file_error@Base 2.74.0 + g_io_error_quark@Base 2.16.0 + g_io_extension_get_name@Base 2.16.0 + g_io_extension_get_priority@Base 2.16.0 +@@ -1096,101 +1100,101 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_io_stream_splice_finish@Base 2.28.0 + g_io_stream_splice_flags_get_type@Base 2.28.0 + g_keyfile_settings_backend_new@Base 2.26.0 +- g_list_model_get_item@Base 2.43.4 +- g_list_model_get_item_type@Base 2.43.4 +- g_list_model_get_n_items@Base 2.43.4 +- g_list_model_get_object@Base 2.43.4 +- g_list_model_get_type@Base 2.43.4 +- g_list_model_items_changed@Base 2.43.4 +- g_list_store_append@Base 2.43.4 +- g_list_store_find@Base 2.63.3 +- g_list_store_find_with_equal_func@Base 2.63.3 +- g_list_store_find_with_equal_func_full@Base 2.73.1 +- g_list_store_get_type@Base 2.43.4 +- g_list_store_insert@Base 2.43.4 +- g_list_store_insert_sorted@Base 2.43.4 +- g_list_store_new@Base 2.43.4 +- g_list_store_remove@Base 2.43.4 +- g_list_store_remove_all@Base 2.43.4 +- g_list_store_sort@Base 2.45.7 +- g_list_store_splice@Base 2.43.4 ++ g_list_model_get_item@Base 2.44.0 ++ g_list_model_get_item_type@Base 2.44.0 ++ g_list_model_get_n_items@Base 2.44.0 ++ g_list_model_get_object@Base 2.44.0 ++ g_list_model_get_type@Base 2.44.0 ++ g_list_model_items_changed@Base 2.44.0 ++ g_list_store_append@Base 2.44.0 ++ g_list_store_find@Base 2.64.0 ++ g_list_store_find_with_equal_func@Base 2.64.0 ++ g_list_store_find_with_equal_func_full@Base 2.74.0 ++ g_list_store_get_type@Base 2.44.0 ++ g_list_store_insert@Base 2.44.0 ++ g_list_store_insert_sorted@Base 2.44.0 ++ g_list_store_new@Base 2.44.0 ++ g_list_store_remove@Base 2.44.0 ++ g_list_store_remove_all@Base 2.44.0 ++ g_list_store_sort@Base 2.46.0 ++ g_list_store_splice@Base 2.44.0 + g_loadable_icon_get_type@Base 2.16.0 + g_loadable_icon_load@Base 2.16.0 + g_loadable_icon_load_async@Base 2.16.0 + g_loadable_icon_load_finish@Base 2.16.0 + g_local_file_monitor_get_type@Base 2.16.0 +- g_memory_input_stream_add_bytes@Base 2.33.14 ++ g_memory_input_stream_add_bytes@Base 2.34.0 + g_memory_input_stream_add_data@Base 2.16.0 + g_memory_input_stream_get_type@Base 2.16.0 + g_memory_input_stream_new@Base 2.16.0 +- g_memory_input_stream_new_from_bytes@Base 2.33.14 ++ g_memory_input_stream_new_from_bytes@Base 2.34.0 + g_memory_input_stream_new_from_data@Base 2.16.0 +- g_memory_monitor_dup_default@Base 2.63.3 +- g_memory_monitor_get_type@Base 2.63.3 +- g_memory_monitor_warning_level_get_type@Base 2.63.3 ++ g_memory_monitor_dup_default@Base 2.64.0 ++ g_memory_monitor_get_type@Base 2.64.0 ++ g_memory_monitor_warning_level_get_type@Base 2.64.0 + g_memory_output_stream_get_data@Base 2.16.0 + g_memory_output_stream_get_data_size@Base 2.18.0 + g_memory_output_stream_get_size@Base 2.16.0 + g_memory_output_stream_get_type@Base 2.16.0 + g_memory_output_stream_new@Base 2.16.0 +- g_memory_output_stream_new_resizable@Base 2.35.8 +- g_memory_output_stream_steal_as_bytes@Base 2.33.14 ++ g_memory_output_stream_new_resizable@Base 2.36.0 ++ g_memory_output_stream_steal_as_bytes@Base 2.34.0 + g_memory_output_stream_steal_data@Base 2.26.0 + g_memory_settings_backend_new@Base 2.28.0 +- g_menu_append@Base 2.31.8 +- g_menu_append_item@Base 2.31.8 +- g_menu_append_section@Base 2.31.8 +- g_menu_append_submenu@Base 2.31.8 +- g_menu_attribute_iter_get_name@Base 2.31.8 +- g_menu_attribute_iter_get_next@Base 2.31.8 +- g_menu_attribute_iter_get_type@Base 2.31.8 +- g_menu_attribute_iter_get_value@Base 2.31.8 +- g_menu_attribute_iter_next@Base 2.31.8 +- g_menu_freeze@Base 2.31.8 +- g_menu_get_type@Base 2.31.8 +- g_menu_insert@Base 2.31.8 +- g_menu_insert_item@Base 2.31.8 +- g_menu_insert_section@Base 2.31.8 +- g_menu_insert_submenu@Base 2.31.8 +- g_menu_item_get_attribute@Base 2.33.14 +- g_menu_item_get_attribute_value@Base 2.33.14 +- g_menu_item_get_link@Base 2.33.14 +- g_menu_item_get_type@Base 2.31.8 +- g_menu_item_new@Base 2.31.8 +- g_menu_item_new_from_model@Base 2.33.14 +- g_menu_item_new_section@Base 2.31.8 +- g_menu_item_new_submenu@Base 2.31.8 +- g_menu_item_set_action_and_target@Base 2.31.8 +- g_menu_item_set_action_and_target_value@Base 2.31.8 +- g_menu_item_set_attribute@Base 2.31.8 +- g_menu_item_set_attribute_value@Base 2.31.8 +- g_menu_item_set_detailed_action@Base 2.31.8 +- g_menu_item_set_icon@Base 2.37.0 +- g_menu_item_set_label@Base 2.31.8 +- g_menu_item_set_link@Base 2.31.8 +- g_menu_item_set_section@Base 2.31.8 +- g_menu_item_set_submenu@Base 2.31.8 +- g_menu_link_iter_get_name@Base 2.31.8 +- g_menu_link_iter_get_next@Base 2.31.8 +- g_menu_link_iter_get_type@Base 2.31.8 +- g_menu_link_iter_get_value@Base 2.31.8 +- g_menu_link_iter_next@Base 2.31.8 +- g_menu_model_get_item_attribute@Base 2.31.8 +- g_menu_model_get_item_attribute_value@Base 2.31.8 +- g_menu_model_get_item_link@Base 2.31.8 +- g_menu_model_get_n_items@Base 2.31.8 +- g_menu_model_get_type@Base 2.31.8 +- g_menu_model_is_mutable@Base 2.31.8 +- g_menu_model_items_changed@Base 2.31.8 +- g_menu_model_iterate_item_attributes@Base 2.31.8 +- g_menu_model_iterate_item_links@Base 2.31.8 +- g_menu_new@Base 2.31.8 +- g_menu_prepend@Base 2.31.8 +- g_menu_prepend_item@Base 2.31.8 +- g_menu_prepend_section@Base 2.31.8 +- g_menu_prepend_submenu@Base 2.31.8 +- g_menu_remove@Base 2.31.8 +- g_menu_remove_all@Base 2.37.0 ++ g_menu_append@Base 2.32.0 ++ g_menu_append_item@Base 2.32.0 ++ g_menu_append_section@Base 2.32.0 ++ g_menu_append_submenu@Base 2.32.0 ++ g_menu_attribute_iter_get_name@Base 2.32.0 ++ g_menu_attribute_iter_get_next@Base 2.32.0 ++ g_menu_attribute_iter_get_type@Base 2.32.0 ++ g_menu_attribute_iter_get_value@Base 2.32.0 ++ g_menu_attribute_iter_next@Base 2.32.0 ++ g_menu_freeze@Base 2.32.0 ++ g_menu_get_type@Base 2.32.0 ++ g_menu_insert@Base 2.32.0 ++ g_menu_insert_item@Base 2.32.0 ++ g_menu_insert_section@Base 2.32.0 ++ g_menu_insert_submenu@Base 2.32.0 ++ g_menu_item_get_attribute@Base 2.34.0 ++ g_menu_item_get_attribute_value@Base 2.34.0 ++ g_menu_item_get_link@Base 2.34.0 ++ g_menu_item_get_type@Base 2.32.0 ++ g_menu_item_new@Base 2.32.0 ++ g_menu_item_new_from_model@Base 2.34.0 ++ g_menu_item_new_section@Base 2.32.0 ++ g_menu_item_new_submenu@Base 2.32.0 ++ g_menu_item_set_action_and_target@Base 2.32.0 ++ g_menu_item_set_action_and_target_value@Base 2.32.0 ++ g_menu_item_set_attribute@Base 2.32.0 ++ g_menu_item_set_attribute_value@Base 2.32.0 ++ g_menu_item_set_detailed_action@Base 2.32.0 ++ g_menu_item_set_icon@Base 2.38.0 ++ g_menu_item_set_label@Base 2.32.0 ++ g_menu_item_set_link@Base 2.32.0 ++ g_menu_item_set_section@Base 2.32.0 ++ g_menu_item_set_submenu@Base 2.32.0 ++ g_menu_link_iter_get_name@Base 2.32.0 ++ g_menu_link_iter_get_next@Base 2.32.0 ++ g_menu_link_iter_get_type@Base 2.32.0 ++ g_menu_link_iter_get_value@Base 2.32.0 ++ g_menu_link_iter_next@Base 2.32.0 ++ g_menu_model_get_item_attribute@Base 2.32.0 ++ g_menu_model_get_item_attribute_value@Base 2.32.0 ++ g_menu_model_get_item_link@Base 2.32.0 ++ g_menu_model_get_n_items@Base 2.32.0 ++ g_menu_model_get_type@Base 2.32.0 ++ g_menu_model_is_mutable@Base 2.32.0 ++ g_menu_model_items_changed@Base 2.32.0 ++ g_menu_model_iterate_item_attributes@Base 2.32.0 ++ g_menu_model_iterate_item_links@Base 2.32.0 ++ g_menu_new@Base 2.32.0 ++ g_menu_prepend@Base 2.32.0 ++ g_menu_prepend_item@Base 2.32.0 ++ g_menu_prepend_section@Base 2.32.0 ++ g_menu_prepend_submenu@Base 2.32.0 ++ g_menu_remove@Base 2.32.0 ++ g_menu_remove_all@Base 2.38.0 + g_mount_can_eject@Base 2.16.0 + g_mount_can_unmount@Base 2.16.0 + g_mount_eject@Base 2.16.0 +@@ -1202,8 +1206,8 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_mount_get_icon@Base 2.16.0 + g_mount_get_name@Base 2.16.0 + g_mount_get_root@Base 2.16.0 +- g_mount_get_sort_key@Base 2.31.8 +- g_mount_get_symbolic_icon@Base 2.33.14 ++ g_mount_get_sort_key@Base 2.32.0 ++ g_mount_get_symbolic_icon@Base 2.34.0 + g_mount_get_type@Base 2.16.0 + g_mount_get_uuid@Base 2.16.0 + g_mount_get_volume@Base 2.16.0 +@@ -1215,11 +1219,11 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_mount_operation_get_anonymous@Base 2.16.0 + g_mount_operation_get_choice@Base 2.16.0 + g_mount_operation_get_domain@Base 2.16.0 +- g_mount_operation_get_is_tcrypt_hidden_volume@Base 2.57.2 +- g_mount_operation_get_is_tcrypt_system_volume@Base 2.57.2 ++ g_mount_operation_get_is_tcrypt_hidden_volume@Base 2.58.0 ++ g_mount_operation_get_is_tcrypt_system_volume@Base 2.58.0 + g_mount_operation_get_password@Base 2.16.0 + g_mount_operation_get_password_save@Base 2.16.0 +- g_mount_operation_get_pim@Base 2.57.2 ++ g_mount_operation_get_pim@Base 2.58.0 + g_mount_operation_get_type@Base 2.16.0 + g_mount_operation_get_username@Base 2.16.0 + g_mount_operation_new@Base 2.16.0 +@@ -1228,11 +1232,11 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_mount_operation_set_anonymous@Base 2.16.0 + g_mount_operation_set_choice@Base 2.16.0 + g_mount_operation_set_domain@Base 2.16.0 +- g_mount_operation_set_is_tcrypt_hidden_volume@Base 2.57.2 +- g_mount_operation_set_is_tcrypt_system_volume@Base 2.57.2 ++ g_mount_operation_set_is_tcrypt_hidden_volume@Base 2.58.0 ++ g_mount_operation_set_is_tcrypt_system_volume@Base 2.58.0 + g_mount_operation_set_password@Base 2.16.0 + g_mount_operation_set_password_save@Base 2.16.0 +- g_mount_operation_set_pim@Base 2.57.2 ++ g_mount_operation_set_pim@Base 2.58.0 + g_mount_operation_set_username@Base 2.16.0 + g_mount_remount@Base 2.16.0 + g_mount_remount_finish@Base 2.16.0 +@@ -1243,30 +1247,30 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_mount_unmount_with_operation@Base 2.22.0 + g_mount_unmount_with_operation_finish@Base 2.22.0 + g_mount_unshadow@Base 2.20.0 +- g_native_socket_address_get_type@Base 2.45.3 +- g_native_socket_address_new@Base 2.45.3 ++ g_native_socket_address_get_type@Base 2.46.0 ++ g_native_socket_address_new@Base 2.46.0 + g_native_volume_monitor_get_type@Base 2.16.0 + g_network_address_get_hostname@Base 2.22.0 + g_network_address_get_port@Base 2.22.0 + g_network_address_get_scheme@Base 2.26.0 + g_network_address_get_type@Base 2.22.0 + g_network_address_new@Base 2.22.0 +- g_network_address_new_loopback@Base 2.43.2 ++ g_network_address_new_loopback@Base 2.44.0 + g_network_address_parse@Base 2.22.0 + g_network_address_parse_uri@Base 2.26.0 +- g_network_connectivity_get_type@Base 2.43.2 +- g_network_monitor_base_add_network@Base 2.31.8 +- g_network_monitor_base_get_type@Base 2.31.8 +- g_network_monitor_base_remove_network@Base 2.31.8 +- g_network_monitor_base_set_networks@Base 2.31.8 +- g_network_monitor_can_reach@Base 2.31.8 +- g_network_monitor_can_reach_async@Base 2.31.8 +- g_network_monitor_can_reach_finish@Base 2.31.8 +- g_network_monitor_get_connectivity@Base 2.43.2 +- g_network_monitor_get_default@Base 2.31.8 +- g_network_monitor_get_network_available@Base 2.31.8 +- g_network_monitor_get_network_metered@Base 2.45.6 +- g_network_monitor_get_type@Base 2.31.8 ++ g_network_connectivity_get_type@Base 2.44.0 ++ g_network_monitor_base_add_network@Base 2.32.0 ++ g_network_monitor_base_get_type@Base 2.32.0 ++ g_network_monitor_base_remove_network@Base 2.32.0 ++ g_network_monitor_base_set_networks@Base 2.32.0 ++ g_network_monitor_can_reach@Base 2.32.0 ++ g_network_monitor_can_reach_async@Base 2.32.0 ++ g_network_monitor_can_reach_finish@Base 2.32.0 ++ g_network_monitor_get_connectivity@Base 2.44.0 ++ g_network_monitor_get_default@Base 2.32.0 ++ g_network_monitor_get_network_available@Base 2.32.0 ++ g_network_monitor_get_network_metered@Base 2.46.0 ++ g_network_monitor_get_type@Base 2.32.0 + g_network_service_get_domain@Base 2.22.0 + g_network_service_get_protocol@Base 2.22.0 + g_network_service_get_scheme@Base 2.26.0 +@@ -1274,22 +1278,22 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_network_service_get_type@Base 2.22.0 + g_network_service_new@Base 2.22.0 + g_network_service_set_scheme@Base 2.26.0 +- g_networking_init@Base 2.35.8 +- g_notification_add_button@Base 2.39.4 +- g_notification_add_button_with_target@Base 2.39.4 +- g_notification_add_button_with_target_value@Base 2.39.4 +- g_notification_get_type@Base 2.39.4 +- g_notification_new@Base 2.39.4 +- g_notification_priority_get_type@Base 2.41.2 +- g_notification_set_body@Base 2.39.4 ++ g_networking_init@Base 2.36.0 ++ g_notification_add_button@Base 2.40.0 ++ g_notification_add_button_with_target@Base 2.40.0 ++ g_notification_add_button_with_target_value@Base 2.40.0 ++ g_notification_get_type@Base 2.40.0 ++ g_notification_new@Base 2.40.0 ++ g_notification_priority_get_type@Base 2.42.0 ++ g_notification_set_body@Base 2.40.0 + g_notification_set_category@Base 2.70.0 +- g_notification_set_default_action@Base 2.39.4 +- g_notification_set_default_action_and_target@Base 2.39.4 +- g_notification_set_default_action_and_target_value@Base 2.39.4 +- g_notification_set_icon@Base 2.39.4 +- g_notification_set_priority@Base 2.41.2 +- g_notification_set_title@Base 2.39.4 +- g_notification_set_urgent@Base 2.39.4 ++ g_notification_set_default_action@Base 2.40.0 ++ g_notification_set_default_action_and_target@Base 2.40.0 ++ g_notification_set_default_action_and_target_value@Base 2.40.0 ++ g_notification_set_icon@Base 2.40.0 ++ g_notification_set_priority@Base 2.42.0 ++ g_notification_set_title@Base 2.40.0 ++ g_notification_set_urgent@Base 2.40.0 + g_null_settings_backend_new@Base 2.28.0 + g_output_stream_clear_pending@Base 2.16.0 + g_output_stream_close@Base 2.16.0 +@@ -1302,28 +1306,28 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_output_stream_has_pending@Base 2.16.0 + g_output_stream_is_closed@Base 2.16.0 + g_output_stream_is_closing@Base 2.24.0 +- g_output_stream_printf@Base 2.39.4 ++ g_output_stream_printf@Base 2.40.0 + g_output_stream_set_pending@Base 2.16.0 + g_output_stream_splice@Base 2.16.0 + g_output_stream_splice_async@Base 2.16.0 + g_output_stream_splice_finish@Base 2.16.0 + g_output_stream_splice_flags_get_type@Base 2.16.0 +- g_output_stream_vprintf@Base 2.39.4 ++ g_output_stream_vprintf@Base 2.40.0 + g_output_stream_write@Base 2.16.0 + g_output_stream_write_all@Base 2.16.0 +- g_output_stream_write_all_async@Base 2.43.1 +- g_output_stream_write_all_finish@Base 2.43.1 ++ g_output_stream_write_all_async@Base 2.44.0 ++ g_output_stream_write_all_finish@Base 2.44.0 + g_output_stream_write_async@Base 2.16.0 +- g_output_stream_write_bytes@Base 2.33.14 +- g_output_stream_write_bytes_async@Base 2.33.14 +- g_output_stream_write_bytes_finish@Base 2.33.14 ++ g_output_stream_write_bytes@Base 2.34.0 ++ g_output_stream_write_bytes_async@Base 2.34.0 ++ g_output_stream_write_bytes_finish@Base 2.34.0 + g_output_stream_write_finish@Base 2.16.0 +- g_output_stream_writev@Base 2.59.2 +- g_output_stream_writev_all@Base 2.59.2 +- g_output_stream_writev_all_async@Base 2.59.2 +- g_output_stream_writev_all_finish@Base 2.59.2 +- g_output_stream_writev_async@Base 2.59.2 +- g_output_stream_writev_finish@Base 2.59.2 ++ g_output_stream_writev@Base 2.60.0 ++ g_output_stream_writev_all@Base 2.60.0 ++ g_output_stream_writev_all_async@Base 2.60.0 ++ g_output_stream_writev_all_finish@Base 2.60.0 ++ g_output_stream_writev_async@Base 2.60.0 ++ g_output_stream_writev_finish@Base 2.60.0 + g_password_save_get_type@Base 2.16.0 + g_permission_acquire@Base 2.26.0 + g_permission_acquire_async@Base 2.26.0 +@@ -1346,26 +1350,26 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_pollable_output_stream_get_type@Base 2.28.0 + g_pollable_output_stream_is_writable@Base 2.28.0 + g_pollable_output_stream_write_nonblocking@Base 2.28.0 +- g_pollable_output_stream_writev_nonblocking@Base 2.59.2 +- g_pollable_return_get_type@Base 2.59.2 ++ g_pollable_output_stream_writev_nonblocking@Base 2.60.0 ++ g_pollable_return_get_type@Base 2.60.0 + g_pollable_source_new@Base 2.28.0 +- g_pollable_source_new_full@Base 2.33.14 +- g_pollable_stream_read@Base 2.33.14 +- g_pollable_stream_write@Base 2.33.14 +- g_pollable_stream_write_all@Base 2.33.14 ++ g_pollable_source_new_full@Base 2.34.0 ++ g_pollable_stream_read@Base 2.34.0 ++ g_pollable_stream_write@Base 2.34.0 ++ g_pollable_stream_write_all@Base 2.34.0 + g_power_profile_monitor_dup_default@Base 2.70.0 + g_power_profile_monitor_get_power_saver_enabled@Base 2.70.0 + g_power_profile_monitor_get_type@Base 2.70.0 +- g_property_action_get_type@Base 2.37.5 +- g_property_action_new@Base 2.37.5 ++ g_property_action_get_type@Base 2.38.0 ++ g_property_action_new@Base 2.38.0 + g_proxy_address_enumerator_get_type@Base 2.26.0 + g_proxy_address_get_destination_hostname@Base 2.26.0 + g_proxy_address_get_destination_port@Base 2.26.0 +- g_proxy_address_get_destination_protocol@Base 2.33.14 ++ g_proxy_address_get_destination_protocol@Base 2.34.0 + g_proxy_address_get_password@Base 2.26.0 + g_proxy_address_get_protocol@Base 2.26.0 + g_proxy_address_get_type@Base 2.26.0 +- g_proxy_address_get_uri@Base 2.33.14 ++ g_proxy_address_get_uri@Base 2.34.0 + g_proxy_address_get_username@Base 2.26.0 + g_proxy_address_new@Base 2.26.0 + g_proxy_connect@Base 2.26.0 +@@ -1380,14 +1384,15 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_proxy_resolver_lookup_async@Base 2.26.0 + g_proxy_resolver_lookup_finish@Base 2.26.0 + g_proxy_supports_hostname@Base 2.26.0 +- g_remote_action_group_activate_action_full@Base 2.31.8 +- g_remote_action_group_change_action_state_full@Base 2.31.8 +- g_remote_action_group_get_type@Base 2.31.8 ++ g_remote_action_group_activate_action_full@Base 2.32.0 ++ g_remote_action_group_change_action_state_full@Base 2.32.0 ++ g_remote_action_group_get_type@Base 2.32.0 + g_resolver_error_get_type@Base 2.22.0 + g_resolver_error_quark@Base 2.22.0 + g_resolver_free_addresses@Base 2.22.0 + g_resolver_free_targets@Base 2.22.0 + g_resolver_get_default@Base 2.22.0 ++ g_resolver_get_timeout@Base 2.77.0 + g_resolver_get_type@Base 2.22.0 + g_resolver_lookup_by_address@Base 2.22.0 + g_resolver_lookup_by_address_async@Base 2.22.0 +@@ -1395,39 +1400,40 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_resolver_lookup_by_name@Base 2.22.0 + g_resolver_lookup_by_name_async@Base 2.22.0 + g_resolver_lookup_by_name_finish@Base 2.22.0 +- g_resolver_lookup_by_name_with_flags@Base 2.59.0 +- g_resolver_lookup_by_name_with_flags_async@Base 2.59.0 +- g_resolver_lookup_by_name_with_flags_finish@Base 2.59.0 +- g_resolver_lookup_records@Base 2.33.14 +- g_resolver_lookup_records_async@Base 2.33.14 +- g_resolver_lookup_records_finish@Base 2.33.14 ++ g_resolver_lookup_by_name_with_flags@Base 2.60.0 ++ g_resolver_lookup_by_name_with_flags_async@Base 2.60.0 ++ g_resolver_lookup_by_name_with_flags_finish@Base 2.60.0 ++ g_resolver_lookup_records@Base 2.34.0 ++ g_resolver_lookup_records_async@Base 2.34.0 ++ g_resolver_lookup_records_finish@Base 2.34.0 + g_resolver_lookup_service@Base 2.22.0 + g_resolver_lookup_service_async@Base 2.22.0 + g_resolver_lookup_service_finish@Base 2.22.0 +- g_resolver_name_lookup_flags_get_type@Base 2.59.0 +- g_resolver_record_type_get_type@Base 2.33.14 ++ g_resolver_name_lookup_flags_get_type@Base 2.60.0 ++ g_resolver_record_type_get_type@Base 2.34.0 + g_resolver_record_type_to_rrtype@Base 2.72.1 +- g_resolver_records_from_res_query@Base 2.71.0 ++ g_resolver_records_from_res_query@Base 2.72.0 + g_resolver_set_default@Base 2.22.0 +- g_resource_enumerate_children@Base 2.31.18 +- g_resource_error_get_type@Base 2.31.18 +- g_resource_error_quark@Base 2.31.18 +- g_resource_flags_get_type@Base 2.31.18 +- g_resource_get_info@Base 2.31.18 +- g_resource_get_type@Base 2.31.18 +- g_resource_load@Base 2.31.18 +- g_resource_lookup_data@Base 2.31.18 +- g_resource_lookup_flags_get_type@Base 2.31.18 +- g_resource_new_from_data@Base 2.31.18 +- g_resource_open_stream@Base 2.31.18 +- g_resource_ref@Base 2.31.18 +- g_resource_unref@Base 2.31.18 +- g_resources_enumerate_children@Base 2.31.18 +- g_resources_get_info@Base 2.31.18 +- g_resources_lookup_data@Base 2.31.18 +- g_resources_open_stream@Base 2.31.18 +- g_resources_register@Base 2.31.18 +- g_resources_unregister@Base 2.31.18 ++ g_resolver_set_timeout@Base 2.77.0 ++ g_resource_enumerate_children@Base 2.32.0 ++ g_resource_error_get_type@Base 2.32.0 ++ g_resource_error_quark@Base 2.32.0 ++ g_resource_flags_get_type@Base 2.32.0 ++ g_resource_get_info@Base 2.32.0 ++ g_resource_get_type@Base 2.32.0 ++ g_resource_load@Base 2.32.0 ++ g_resource_lookup_data@Base 2.32.0 ++ g_resource_lookup_flags_get_type@Base 2.32.0 ++ g_resource_new_from_data@Base 2.32.0 ++ g_resource_open_stream@Base 2.32.0 ++ g_resource_ref@Base 2.32.0 ++ g_resource_unref@Base 2.32.0 ++ g_resources_enumerate_children@Base 2.32.0 ++ g_resources_get_info@Base 2.32.0 ++ g_resources_lookup_data@Base 2.32.0 ++ g_resources_open_stream@Base 2.32.0 ++ g_resources_register@Base 2.32.0 ++ g_resources_unregister@Base 2.32.0 + g_seekable_can_seek@Base 2.16.0 + g_seekable_can_truncate@Base 2.16.0 + g_seekable_get_type@Base 2.16.0 +@@ -1448,26 +1454,26 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_settings_bind_flags_get_type@Base 2.26.0 + g_settings_bind_with_mapping@Base 2.26.0 + g_settings_bind_writable@Base 2.26.0 +- g_settings_create_action@Base 2.31.18 ++ g_settings_create_action@Base 2.32.0 + g_settings_delay@Base 2.26.0 + g_settings_get@Base 2.26.0 + g_settings_get_boolean@Base 2.26.0 + g_settings_get_child@Base 2.26.0 +- g_settings_get_default_value@Base 2.39.4 ++ g_settings_get_default_value@Base 2.40.0 + g_settings_get_double@Base 2.26.0 + g_settings_get_enum@Base 2.26.0 + g_settings_get_flags@Base 2.26.0 + g_settings_get_has_unapplied@Base 2.26.0 +- g_settings_get_int64@Base 2.49.2 ++ g_settings_get_int64@Base 2.50.0 + g_settings_get_int@Base 2.26.0 + g_settings_get_mapped@Base 2.26.0 + g_settings_get_range@Base 2.28.0 + g_settings_get_string@Base 2.26.0 + g_settings_get_strv@Base 2.26.0 + g_settings_get_type@Base 2.26.0 +- g_settings_get_uint64@Base 2.49.2 ++ g_settings_get_uint64@Base 2.50.0 + g_settings_get_uint@Base 2.30.0 +- g_settings_get_user_value@Base 2.39.4 ++ g_settings_get_user_value@Base 2.40.0 + g_settings_get_value@Base 2.26.0 + g_settings_is_writable@Base 2.26.0 + g_settings_list_children@Base 2.26.0 +@@ -1475,49 +1481,49 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_settings_list_relocatable_schemas@Base 2.28.0 + g_settings_list_schemas@Base 2.26.0 + g_settings_new@Base 2.26.0 +- g_settings_new_full@Base 2.31.8 ++ g_settings_new_full@Base 2.32.0 + g_settings_new_with_backend@Base 2.26.0 + g_settings_new_with_backend_and_path@Base 2.26.0 + g_settings_new_with_path@Base 2.26.0 + g_settings_range_check@Base 2.28.0 + g_settings_reset@Base 2.26.0 + g_settings_revert@Base 2.26.0 +- g_settings_schema_get_id@Base 2.31.8 +- g_settings_schema_get_key@Base 2.39.4 +- g_settings_schema_get_path@Base 2.31.8 +- g_settings_schema_get_type@Base 2.31.8 +- g_settings_schema_has_key@Base 2.39.4 +- g_settings_schema_key_get_default_value@Base 2.39.4 +- g_settings_schema_key_get_description@Base 2.39.4 +- g_settings_schema_key_get_name@Base 2.43.4 +- g_settings_schema_key_get_range@Base 2.39.4 +- g_settings_schema_key_get_summary@Base 2.39.4 +- g_settings_schema_key_get_type@Base 2.39.4 +- g_settings_schema_key_get_value_type@Base 2.39.4 +- g_settings_schema_key_range_check@Base 2.39.4 +- g_settings_schema_key_ref@Base 2.39.4 +- g_settings_schema_key_unref@Base 2.39.4 +- g_settings_schema_list_children@Base 2.43.4 +- g_settings_schema_list_keys@Base 2.45.3 +- g_settings_schema_ref@Base 2.31.8 +- g_settings_schema_source_get_default@Base 2.31.8 +- g_settings_schema_source_get_type@Base 2.31.8 +- g_settings_schema_source_list_schemas@Base 2.39.4 +- g_settings_schema_source_lookup@Base 2.31.8 +- g_settings_schema_source_new_from_directory@Base 2.31.8 +- g_settings_schema_source_ref@Base 2.31.8 +- g_settings_schema_source_unref@Base 2.31.8 +- g_settings_schema_unref@Base 2.31.8 ++ g_settings_schema_get_id@Base 2.32.0 ++ g_settings_schema_get_key@Base 2.40.0 ++ g_settings_schema_get_path@Base 2.32.0 ++ g_settings_schema_get_type@Base 2.32.0 ++ g_settings_schema_has_key@Base 2.40.0 ++ g_settings_schema_key_get_default_value@Base 2.40.0 ++ g_settings_schema_key_get_description@Base 2.40.0 ++ g_settings_schema_key_get_name@Base 2.44.0 ++ g_settings_schema_key_get_range@Base 2.40.0 ++ g_settings_schema_key_get_summary@Base 2.40.0 ++ g_settings_schema_key_get_type@Base 2.40.0 ++ g_settings_schema_key_get_value_type@Base 2.40.0 ++ g_settings_schema_key_range_check@Base 2.40.0 ++ g_settings_schema_key_ref@Base 2.40.0 ++ g_settings_schema_key_unref@Base 2.40.0 ++ g_settings_schema_list_children@Base 2.44.0 ++ g_settings_schema_list_keys@Base 2.46.0 ++ g_settings_schema_ref@Base 2.32.0 ++ g_settings_schema_source_get_default@Base 2.32.0 ++ g_settings_schema_source_get_type@Base 2.32.0 ++ g_settings_schema_source_list_schemas@Base 2.40.0 ++ g_settings_schema_source_lookup@Base 2.32.0 ++ g_settings_schema_source_new_from_directory@Base 2.32.0 ++ g_settings_schema_source_ref@Base 2.32.0 ++ g_settings_schema_source_unref@Base 2.32.0 ++ g_settings_schema_unref@Base 2.32.0 + g_settings_set@Base 2.26.0 + g_settings_set_boolean@Base 2.26.0 + g_settings_set_double@Base 2.26.0 + g_settings_set_enum@Base 2.26.0 + g_settings_set_flags@Base 2.26.0 +- g_settings_set_int64@Base 2.49.2 ++ g_settings_set_int64@Base 2.50.0 + g_settings_set_int@Base 2.26.0 + g_settings_set_string@Base 2.26.0 + g_settings_set_strv@Base 2.26.0 +- g_settings_set_uint64@Base 2.49.2 ++ g_settings_set_uint64@Base 2.50.0 + g_settings_set_uint@Base 2.30.0 + g_settings_set_value@Base 2.26.0 + g_settings_sync@Base 2.26.0 +@@ -1533,7 +1539,7 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_simple_action_new_stateful@Base 2.28.0 + g_simple_action_set_enabled@Base 2.28.0 + g_simple_action_set_state@Base 2.30.0 +- g_simple_action_set_state_hint@Base 2.43.4 ++ g_simple_action_set_state_hint@Base 2.44.0 + g_simple_async_report_error_in_idle@Base 2.16.0 + g_simple_async_report_gerror_in_idle@Base 2.16.0 + g_simple_async_report_take_gerror_in_idle@Base 2.28.0 +@@ -1551,7 +1557,7 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_simple_async_result_new_take_error@Base 2.28.0 + g_simple_async_result_propagate_error@Base 2.16.0 + g_simple_async_result_run_in_thread@Base 2.16.0 +- g_simple_async_result_set_check_cancellable@Base 2.31.22 ++ g_simple_async_result_set_check_cancellable@Base 2.32.0 + g_simple_async_result_set_error@Base 2.16.0 + g_simple_async_result_set_error_va@Base 2.16.0 + g_simple_async_result_set_from_error@Base 2.16.0 +@@ -1560,15 +1566,15 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_simple_async_result_set_op_res_gpointer@Base 2.16.0 + g_simple_async_result_set_op_res_gssize@Base 2.16.0 + g_simple_async_result_take_error@Base 2.28.0 +- g_simple_io_stream_get_type@Base 2.43.90 +- g_simple_io_stream_new@Base 2.43.90 ++ g_simple_io_stream_get_type@Base 2.44.0 ++ g_simple_io_stream_new@Base 2.44.0 + g_simple_permission_get_type@Base 2.26.0 + g_simple_permission_new@Base 2.26.0 +- g_simple_proxy_resolver_get_type@Base 2.35.8 +- g_simple_proxy_resolver_new@Base 2.35.8 +- g_simple_proxy_resolver_set_default_proxy@Base 2.35.8 +- g_simple_proxy_resolver_set_ignore_hosts@Base 2.35.8 +- g_simple_proxy_resolver_set_uri_proxy@Base 2.35.8 ++ g_simple_proxy_resolver_get_type@Base 2.36.0 ++ g_simple_proxy_resolver_new@Base 2.36.0 ++ g_simple_proxy_resolver_set_default_proxy@Base 2.36.0 ++ g_simple_proxy_resolver_set_ignore_hosts@Base 2.36.0 ++ g_simple_proxy_resolver_set_uri_proxy@Base 2.36.0 + g_socket_accept@Base 2.22.0 + g_socket_address_enumerator_get_type@Base 2.22.0 + g_socket_address_enumerator_next@Base 2.22.0 +@@ -1594,12 +1600,12 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_socket_client_connect_to_uri@Base 2.26.0 + g_socket_client_connect_to_uri_async@Base 2.26.0 + g_socket_client_connect_to_uri_finish@Base 2.26.0 +- g_socket_client_event_get_type@Base 2.31.8 ++ g_socket_client_event_get_type@Base 2.32.0 + g_socket_client_get_enable_proxy@Base 2.26.0 + g_socket_client_get_family@Base 2.22.0 + g_socket_client_get_local_address@Base 2.22.0 + g_socket_client_get_protocol@Base 2.22.0 +- g_socket_client_get_proxy_resolver@Base 2.35.8 ++ g_socket_client_get_proxy_resolver@Base 2.36.0 + g_socket_client_get_socket_type@Base 2.22.0 + g_socket_client_get_timeout@Base 2.26.0 + g_socket_client_get_tls@Base 2.28.0 +@@ -1610,23 +1616,23 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_socket_client_set_family@Base 2.22.0 + g_socket_client_set_local_address@Base 2.22.0 + g_socket_client_set_protocol@Base 2.22.0 +- g_socket_client_set_proxy_resolver@Base 2.35.8 ++ g_socket_client_set_proxy_resolver@Base 2.36.0 + g_socket_client_set_socket_type@Base 2.22.0 + g_socket_client_set_timeout@Base 2.26.0 + g_socket_client_set_tls@Base 2.28.0 + g_socket_client_set_tls_validation_flags@Base 2.28.0 + g_socket_close@Base 2.22.0 + g_socket_condition_check@Base 2.22.0 +- g_socket_condition_timed_wait@Base 2.31.18 ++ g_socket_condition_timed_wait@Base 2.32.0 + g_socket_condition_wait@Base 2.22.0 + g_socket_connect@Base 2.22.0 + g_socket_connectable_enumerate@Base 2.22.0 + g_socket_connectable_get_type@Base 2.22.0 + g_socket_connectable_proxy_enumerate@Base 2.26.0 +- g_socket_connectable_to_string@Base 2.47.1 +- g_socket_connection_connect@Base 2.31.8 +- g_socket_connection_connect_async@Base 2.31.8 +- g_socket_connection_connect_finish@Base 2.31.8 ++ g_socket_connectable_to_string@Base 2.48.0 ++ g_socket_connection_connect@Base 2.32.0 ++ g_socket_connection_connect_async@Base 2.32.0 ++ g_socket_connection_connect_finish@Base 2.32.0 + g_socket_connection_factory_create_connection@Base 2.22.0 + g_socket_connection_factory_lookup_type@Base 2.22.0 + g_socket_connection_factory_register_type@Base 2.22.0 +@@ -1634,7 +1640,7 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_socket_connection_get_remote_address@Base 2.22.0 + g_socket_connection_get_socket@Base 2.22.0 + g_socket_connection_get_type@Base 2.22.0 +- g_socket_connection_is_connected@Base 2.31.8 ++ g_socket_connection_is_connected@Base 2.32.0 + g_socket_control_message_deserialize@Base 2.22.0 + g_socket_control_message_get_level@Base 2.22.0 + g_socket_control_message_get_msg_type@Base 2.22.0 +@@ -1643,30 +1649,30 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_socket_control_message_serialize@Base 2.22.0 + g_socket_create_source@Base 2.22.0 + g_socket_family_get_type@Base 2.22.0 +- g_socket_get_available_bytes@Base 2.31.18 ++ g_socket_get_available_bytes@Base 2.32.0 + g_socket_get_blocking@Base 2.22.0 +- g_socket_get_broadcast@Base 2.31.18 ++ g_socket_get_broadcast@Base 2.32.0 + g_socket_get_credentials@Base 2.26.0 + g_socket_get_family@Base 2.22.0 + g_socket_get_fd@Base 2.22.0 + g_socket_get_keepalive@Base 2.22.0 + g_socket_get_listen_backlog@Base 2.22.0 + g_socket_get_local_address@Base 2.22.0 +- g_socket_get_multicast_loopback@Base 2.31.18 +- g_socket_get_multicast_ttl@Base 2.31.18 +- g_socket_get_option@Base 2.35.8 ++ g_socket_get_multicast_loopback@Base 2.32.0 ++ g_socket_get_multicast_ttl@Base 2.32.0 ++ g_socket_get_option@Base 2.36.0 + g_socket_get_protocol@Base 2.22.0 + g_socket_get_remote_address@Base 2.22.0 + g_socket_get_socket_type@Base 2.22.0 + g_socket_get_timeout@Base 2.26.0 +- g_socket_get_ttl@Base 2.31.18 ++ g_socket_get_ttl@Base 2.32.0 + g_socket_get_type@Base 2.22.0 + g_socket_is_closed@Base 2.22.0 + g_socket_is_connected@Base 2.22.0 +- g_socket_join_multicast_group@Base 2.31.18 +- g_socket_join_multicast_group_ssm@Base 2.55.1 +- g_socket_leave_multicast_group@Base 2.31.18 +- g_socket_leave_multicast_group_ssm@Base 2.55.1 ++ g_socket_join_multicast_group@Base 2.32.0 ++ g_socket_join_multicast_group_ssm@Base 2.56.0 ++ g_socket_leave_multicast_group@Base 2.32.0 ++ g_socket_leave_multicast_group_ssm@Base 2.56.0 + g_socket_listen@Base 2.22.0 + g_socket_listener_accept@Base 2.22.0 + g_socket_listener_accept_async@Base 2.22.0 +@@ -1679,7 +1685,7 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_socket_listener_add_inet_port@Base 2.22.0 + g_socket_listener_add_socket@Base 2.22.0 + g_socket_listener_close@Base 2.22.0 +- g_socket_listener_event_get_type@Base 2.45.1 ++ g_socket_listener_event_get_type@Base 2.46.0 + g_socket_listener_get_type@Base 2.22.0 + g_socket_listener_new@Base 2.22.0 + g_socket_listener_set_backlog@Base 2.22.0 +@@ -1690,12 +1696,12 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_socket_receive@Base 2.22.0 + g_socket_receive_from@Base 2.22.0 + g_socket_receive_message@Base 2.22.0 +- g_socket_receive_messages@Base 2.47.1 ++ g_socket_receive_messages@Base 2.48.0 + g_socket_receive_with_blocking@Base 2.26.0 + g_socket_send@Base 2.22.0 + g_socket_send_message@Base 2.22.0 +- g_socket_send_message_with_timeout@Base 2.59.2 +- g_socket_send_messages@Base 2.43.2 ++ g_socket_send_message_with_timeout@Base 2.60.0 ++ g_socket_send_messages@Base 2.44.0 + g_socket_send_to@Base 2.22.0 + g_socket_send_with_blocking@Base 2.26.0 + g_socket_service_get_type@Base 2.22.0 +@@ -1704,14 +1710,14 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_socket_service_start@Base 2.22.0 + g_socket_service_stop@Base 2.22.0 + g_socket_set_blocking@Base 2.22.0 +- g_socket_set_broadcast@Base 2.31.18 ++ g_socket_set_broadcast@Base 2.32.0 + g_socket_set_keepalive@Base 2.22.0 + g_socket_set_listen_backlog@Base 2.22.0 +- g_socket_set_multicast_loopback@Base 2.31.18 +- g_socket_set_multicast_ttl@Base 2.31.18 +- g_socket_set_option@Base 2.35.8 ++ g_socket_set_multicast_loopback@Base 2.32.0 ++ g_socket_set_multicast_ttl@Base 2.32.0 ++ g_socket_set_option@Base 2.36.0 + g_socket_set_timeout@Base 2.26.0 +- g_socket_set_ttl@Base 2.31.18 ++ g_socket_set_ttl@Base 2.32.0 + g_socket_shutdown@Base 2.22.0 + g_socket_speaks_ipv4@Base 2.22.0 + g_socket_type_get_type@Base 2.22.0 +@@ -1724,108 +1730,109 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_srv_target_get_weight@Base 2.22.0 + g_srv_target_list_sort@Base 2.22.0 + g_srv_target_new@Base 2.22.0 +- g_static_resource_fini@Base 2.31.18 +- g_static_resource_get_resource@Base 2.31.18 +- g_static_resource_init@Base 2.31.18 +- g_subprocess_communicate@Base 2.39.4 +- g_subprocess_communicate_async@Base 2.39.4 +- g_subprocess_communicate_finish@Base 2.39.4 +- g_subprocess_communicate_utf8@Base 2.39.4 +- g_subprocess_communicate_utf8_async@Base 2.39.4 +- g_subprocess_communicate_utf8_finish@Base 2.39.4 +- g_subprocess_flags_get_type@Base 2.39.4 +- g_subprocess_force_exit@Base 2.39.4 +- g_subprocess_get_exit_status@Base 2.39.4 +- g_subprocess_get_identifier@Base 2.39.4 +- g_subprocess_get_if_exited@Base 2.39.4 +- g_subprocess_get_if_signaled@Base 2.39.4 +- g_subprocess_get_status@Base 2.39.4 +- g_subprocess_get_stderr_pipe@Base 2.39.4 +- g_subprocess_get_stdin_pipe@Base 2.39.4 +- g_subprocess_get_stdout_pipe@Base 2.39.4 +- g_subprocess_get_successful@Base 2.39.4 +- g_subprocess_get_term_sig@Base 2.39.4 +- g_subprocess_get_type@Base 2.39.4 +- g_subprocess_launcher_close@Base 2.67.1 +- g_subprocess_launcher_get_type@Base 2.39.4 +- g_subprocess_launcher_getenv@Base 2.39.4 +- g_subprocess_launcher_new@Base 2.39.4 +- g_subprocess_launcher_set_child_setup@Base 2.39.4 +- g_subprocess_launcher_set_cwd@Base 2.39.4 +- g_subprocess_launcher_set_environ@Base 2.39.4 +- g_subprocess_launcher_set_flags@Base 2.39.4 +- g_subprocess_launcher_set_stderr_file_path@Base 2.39.4 +- g_subprocess_launcher_set_stdin_file_path@Base 2.39.4 +- g_subprocess_launcher_set_stdout_file_path@Base 2.39.4 +- g_subprocess_launcher_setenv@Base 2.39.4 +- g_subprocess_launcher_spawn@Base 2.39.4 +- g_subprocess_launcher_spawnv@Base 2.39.4 +- g_subprocess_launcher_take_fd@Base 2.39.4 +- g_subprocess_launcher_take_stderr_fd@Base 2.39.4 +- g_subprocess_launcher_take_stdin_fd@Base 2.39.4 +- g_subprocess_launcher_take_stdout_fd@Base 2.39.4 +- g_subprocess_launcher_unsetenv@Base 2.39.4 +- g_subprocess_new@Base 2.39.4 +- g_subprocess_newv@Base 2.39.4 +- g_subprocess_send_signal@Base 2.39.4 +- g_subprocess_wait@Base 2.39.4 +- g_subprocess_wait_async@Base 2.39.4 +- g_subprocess_wait_check@Base 2.39.4 +- g_subprocess_wait_check_async@Base 2.39.4 +- g_subprocess_wait_check_finish@Base 2.39.4 +- g_subprocess_wait_finish@Base 2.39.4 +- g_task_attach_source@Base 2.35.8 +- g_task_get_cancellable@Base 2.35.8 +- g_task_get_check_cancellable@Base 2.35.8 +- g_task_get_completed@Base 2.43.92 +- g_task_get_context@Base 2.35.8 +- g_task_get_name@Base 2.59.0 +- g_task_get_priority@Base 2.35.8 +- g_task_get_return_on_cancel@Base 2.35.8 +- g_task_get_source_object@Base 2.35.8 +- g_task_get_source_tag@Base 2.35.8 +- g_task_get_task_data@Base 2.35.8 +- g_task_get_type@Base 2.35.8 +- g_task_had_error@Base 2.35.8 +- g_task_is_valid@Base 2.35.8 +- g_task_new@Base 2.35.8 +- g_task_propagate_boolean@Base 2.35.8 +- g_task_propagate_int@Base 2.35.8 +- g_task_propagate_pointer@Base 2.35.8 +- g_task_propagate_value@Base 2.63.2 +- g_task_report_error@Base 2.35.8 +- g_task_report_new_error@Base 2.35.8 +- g_task_return_boolean@Base 2.35.8 +- g_task_return_error@Base 2.35.8 +- g_task_return_error_if_cancelled@Base 2.35.8 +- g_task_return_int@Base 2.35.8 +- g_task_return_new_error@Base 2.35.8 +- g_task_return_pointer@Base 2.35.8 +- g_task_return_value@Base 2.63.2 +- g_task_run_in_thread@Base 2.35.8 +- g_task_run_in_thread_sync@Base 2.35.8 +- g_task_set_check_cancellable@Base 2.35.8 +- g_task_set_name@Base 2.59.0 +- g_task_set_priority@Base 2.35.8 +- g_task_set_return_on_cancel@Base 2.35.8 +- g_task_set_source_tag@Base 2.35.8 +- g_task_set_task_data@Base 2.35.8 ++ g_static_resource_fini@Base 2.32.0 ++ g_static_resource_get_resource@Base 2.32.0 ++ g_static_resource_init@Base 2.32.0 ++ g_subprocess_communicate@Base 2.40.0 ++ g_subprocess_communicate_async@Base 2.40.0 ++ g_subprocess_communicate_finish@Base 2.40.0 ++ g_subprocess_communicate_utf8@Base 2.40.0 ++ g_subprocess_communicate_utf8_async@Base 2.40.0 ++ g_subprocess_communicate_utf8_finish@Base 2.40.0 ++ g_subprocess_flags_get_type@Base 2.40.0 ++ g_subprocess_force_exit@Base 2.40.0 ++ g_subprocess_get_exit_status@Base 2.40.0 ++ g_subprocess_get_identifier@Base 2.40.0 ++ g_subprocess_get_if_exited@Base 2.40.0 ++ g_subprocess_get_if_signaled@Base 2.40.0 ++ g_subprocess_get_status@Base 2.40.0 ++ g_subprocess_get_stderr_pipe@Base 2.40.0 ++ g_subprocess_get_stdin_pipe@Base 2.40.0 ++ g_subprocess_get_stdout_pipe@Base 2.40.0 ++ g_subprocess_get_successful@Base 2.40.0 ++ g_subprocess_get_term_sig@Base 2.40.0 ++ g_subprocess_get_type@Base 2.40.0 ++ g_subprocess_launcher_close@Base 2.68.0 ++ g_subprocess_launcher_get_type@Base 2.40.0 ++ g_subprocess_launcher_getenv@Base 2.40.0 ++ g_subprocess_launcher_new@Base 2.40.0 ++ g_subprocess_launcher_set_child_setup@Base 2.40.0 ++ g_subprocess_launcher_set_cwd@Base 2.40.0 ++ g_subprocess_launcher_set_environ@Base 2.40.0 ++ g_subprocess_launcher_set_flags@Base 2.40.0 ++ g_subprocess_launcher_set_stderr_file_path@Base 2.40.0 ++ g_subprocess_launcher_set_stdin_file_path@Base 2.40.0 ++ g_subprocess_launcher_set_stdout_file_path@Base 2.40.0 ++ g_subprocess_launcher_setenv@Base 2.40.0 ++ g_subprocess_launcher_spawn@Base 2.40.0 ++ g_subprocess_launcher_spawnv@Base 2.40.0 ++ g_subprocess_launcher_take_fd@Base 2.40.0 ++ g_subprocess_launcher_take_stderr_fd@Base 2.40.0 ++ g_subprocess_launcher_take_stdin_fd@Base 2.40.0 ++ g_subprocess_launcher_take_stdout_fd@Base 2.40.0 ++ g_subprocess_launcher_unsetenv@Base 2.40.0 ++ g_subprocess_new@Base 2.40.0 ++ g_subprocess_newv@Base 2.40.0 ++ g_subprocess_send_signal@Base 2.40.0 ++ g_subprocess_wait@Base 2.40.0 ++ g_subprocess_wait_async@Base 2.40.0 ++ g_subprocess_wait_check@Base 2.40.0 ++ g_subprocess_wait_check_async@Base 2.40.0 ++ g_subprocess_wait_check_finish@Base 2.40.0 ++ g_subprocess_wait_finish@Base 2.40.0 ++ g_task_attach_source@Base 2.36.0 ++ g_task_get_cancellable@Base 2.36.0 ++ g_task_get_check_cancellable@Base 2.36.0 ++ g_task_get_completed@Base 2.44.0 ++ g_task_get_context@Base 2.36.0 ++ g_task_get_name@Base 2.60.0 ++ g_task_get_priority@Base 2.36.0 ++ g_task_get_return_on_cancel@Base 2.36.0 ++ g_task_get_source_object@Base 2.36.0 ++ g_task_get_source_tag@Base 2.36.0 ++ g_task_get_task_data@Base 2.36.0 ++ g_task_get_type@Base 2.36.0 ++ g_task_had_error@Base 2.36.0 ++ g_task_is_valid@Base 2.36.0 ++ g_task_new@Base 2.36.0 ++ g_task_propagate_boolean@Base 2.36.0 ++ g_task_propagate_int@Base 2.36.0 ++ g_task_propagate_pointer@Base 2.36.0 ++ g_task_propagate_value@Base 2.64.0 ++ g_task_report_error@Base 2.36.0 ++ g_task_report_new_error@Base 2.36.0 ++ g_task_return_boolean@Base 2.36.0 ++ g_task_return_error@Base 2.36.0 ++ g_task_return_error_if_cancelled@Base 2.36.0 ++ g_task_return_int@Base 2.36.0 ++ g_task_return_new_error@Base 2.36.0 ++ g_task_return_pointer@Base 2.36.0 ++ g_task_return_value@Base 2.64.0 ++ g_task_run_in_thread@Base 2.36.0 ++ g_task_run_in_thread_sync@Base 2.36.0 ++ g_task_set_check_cancellable@Base 2.36.0 ++ g_task_set_name@Base 2.60.0 ++ g_task_set_priority@Base 2.36.0 ++ g_task_set_return_on_cancel@Base 2.36.0 ++ g_task_set_source_tag@Base 2.36.0 ++ g_task_set_static_name@Base 2.75.0 ++ g_task_set_task_data@Base 2.36.0 + g_tcp_connection_get_graceful_disconnect@Base 2.22.0 + g_tcp_connection_get_type@Base 2.22.0 + g_tcp_connection_set_graceful_disconnect@Base 2.22.0 + g_tcp_wrapper_connection_get_base_io_stream@Base 2.28.0 + g_tcp_wrapper_connection_get_type@Base 2.28.0 + g_tcp_wrapper_connection_new@Base 2.28.0 +- g_test_dbus_add_service_dir@Base 2.33.14 +- g_test_dbus_down@Base 2.33.14 +- g_test_dbus_flags_get_type@Base 2.33.14 +- g_test_dbus_get_bus_address@Base 2.33.14 +- g_test_dbus_get_flags@Base 2.33.14 +- g_test_dbus_get_type@Base 2.33.14 +- g_test_dbus_new@Base 2.33.14 +- g_test_dbus_stop@Base 2.33.14 +- g_test_dbus_unset@Base 2.33.14 +- g_test_dbus_up@Base 2.33.14 ++ g_test_dbus_add_service_dir@Base 2.34.0 ++ g_test_dbus_down@Base 2.34.0 ++ g_test_dbus_flags_get_type@Base 2.34.0 ++ g_test_dbus_get_bus_address@Base 2.34.0 ++ g_test_dbus_get_flags@Base 2.34.0 ++ g_test_dbus_get_type@Base 2.34.0 ++ g_test_dbus_new@Base 2.34.0 ++ g_test_dbus_stop@Base 2.34.0 ++ g_test_dbus_unset@Base 2.34.0 ++ g_test_dbus_up@Base 2.34.0 + g_themed_icon_append_name@Base 2.16.0 + g_themed_icon_get_names@Base 2.16.0 + g_themed_icon_get_type@Base 2.16.0 +@@ -1841,13 +1848,13 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_tls_backend_get_client_connection_type@Base 2.28.0 + g_tls_backend_get_default@Base 2.28.0 + g_tls_backend_get_default_database@Base 2.30.0 +- g_tls_backend_get_dtls_client_connection_type@Base 2.47.5 +- g_tls_backend_get_dtls_server_connection_type@Base 2.47.5 ++ g_tls_backend_get_dtls_client_connection_type@Base 2.48.0 ++ g_tls_backend_get_dtls_server_connection_type@Base 2.48.0 + g_tls_backend_get_file_database_type@Base 2.30.0 + g_tls_backend_get_server_connection_type@Base 2.28.0 + g_tls_backend_get_type@Base 2.28.0 +- g_tls_backend_set_default_database@Base 2.59.0 +- g_tls_backend_supports_dtls@Base 2.47.5 ++ g_tls_backend_set_default_database@Base 2.60.0 ++ g_tls_backend_supports_dtls@Base 2.48.0 + g_tls_backend_supports_tls@Base 2.28.0 + g_tls_certificate_flags_get_type@Base 2.28.0 + g_tls_certificate_get_dns_names@Base 2.70.0 +@@ -1858,20 +1865,20 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_tls_certificate_get_not_valid_before@Base 2.70.0 + g_tls_certificate_get_subject_name@Base 2.70.0 + g_tls_certificate_get_type@Base 2.28.0 +- g_tls_certificate_is_same@Base 2.33.14 ++ g_tls_certificate_is_same@Base 2.34.0 + g_tls_certificate_list_new_from_file@Base 2.28.0 + g_tls_certificate_new_from_file@Base 2.28.0 +- g_tls_certificate_new_from_file_with_password@Base 2.71.1 ++ g_tls_certificate_new_from_file_with_password@Base 2.72.0 + g_tls_certificate_new_from_files@Base 2.28.0 + g_tls_certificate_new_from_pem@Base 2.28.0 +- g_tls_certificate_new_from_pkcs11_uris@Base 2.67.1 +- g_tls_certificate_new_from_pkcs12@Base 2.71.1 +- g_tls_certificate_request_flags_get_type@Base 2.39.4 ++ g_tls_certificate_new_from_pkcs11_uris@Base 2.68.0 ++ g_tls_certificate_new_from_pkcs12@Base 2.72.0 ++ g_tls_certificate_request_flags_get_type@Base 2.40.0 + g_tls_certificate_verify@Base 2.28.0 +- g_tls_channel_binding_error_get_type@Base 2.65.1 +- g_tls_channel_binding_error_quark@Base 2.65.1 +- g_tls_channel_binding_type_get_type@Base 2.65.1 +- g_tls_client_connection_copy_session_state@Base 2.45.1 ++ g_tls_channel_binding_error_get_type@Base 2.66.0 ++ g_tls_channel_binding_error_quark@Base 2.66.0 ++ g_tls_channel_binding_type_get_type@Base 2.66.0 ++ g_tls_client_connection_copy_session_state@Base 2.46.0 + g_tls_client_connection_get_accepted_cas@Base 2.28.0 + g_tls_client_connection_get_server_identity@Base 2.28.0 + g_tls_client_connection_get_type@Base 2.28.0 +@@ -1883,11 +1890,11 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_tls_client_connection_set_validation_flags@Base 2.28.0 + g_tls_connection_emit_accept_certificate@Base 2.28.0 + g_tls_connection_get_certificate@Base 2.28.0 +- g_tls_connection_get_channel_binding_data@Base 2.65.1 ++ g_tls_connection_get_channel_binding_data@Base 2.66.0 + g_tls_connection_get_ciphersuite_name@Base 2.70.0 + g_tls_connection_get_database@Base 2.30.0 + g_tls_connection_get_interaction@Base 2.30.0 +- g_tls_connection_get_negotiated_protocol@Base 2.59.0 ++ g_tls_connection_get_negotiated_protocol@Base 2.60.0 + g_tls_connection_get_peer_certificate@Base 2.28.0 + g_tls_connection_get_peer_certificate_errors@Base 2.28.0 + g_tls_connection_get_protocol_version@Base 2.70.0 +@@ -1898,7 +1905,7 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_tls_connection_handshake@Base 2.28.0 + g_tls_connection_handshake_async@Base 2.28.0 + g_tls_connection_handshake_finish@Base 2.28.0 +- g_tls_connection_set_advertised_protocols@Base 2.59.0 ++ g_tls_connection_set_advertised_protocols@Base 2.60.0 + g_tls_connection_set_certificate@Base 2.28.0 + g_tls_connection_set_database@Base 2.30.0 + g_tls_connection_set_interaction@Base 2.30.0 +@@ -1930,10 +1937,10 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_tls_interaction_ask_password_finish@Base 2.30.0 + g_tls_interaction_get_type@Base 2.30.0 + g_tls_interaction_invoke_ask_password@Base 2.30.0 +- g_tls_interaction_invoke_request_certificate@Base 2.39.4 +- g_tls_interaction_request_certificate@Base 2.39.4 +- g_tls_interaction_request_certificate_async@Base 2.39.4 +- g_tls_interaction_request_certificate_finish@Base 2.39.4 ++ g_tls_interaction_invoke_request_certificate@Base 2.40.0 ++ g_tls_interaction_request_certificate@Base 2.40.0 ++ g_tls_interaction_request_certificate_async@Base 2.40.0 ++ g_tls_interaction_request_certificate_finish@Base 2.40.0 + g_tls_interaction_result_get_type@Base 2.30.0 + g_tls_password_flags_get_type@Base 2.30.0 + g_tls_password_get_description@Base 2.30.0 +@@ -1953,12 +1960,12 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_tls_server_connection_new@Base 2.28.0 + g_unix_connection_get_type@Base 2.22.0 + g_unix_connection_receive_credentials@Base 2.26.0 +- g_unix_connection_receive_credentials_async@Base 2.31.18 +- g_unix_connection_receive_credentials_finish@Base 2.31.18 ++ g_unix_connection_receive_credentials_async@Base 2.32.0 ++ g_unix_connection_receive_credentials_finish@Base 2.32.0 + g_unix_connection_receive_fd@Base 2.22.0 + g_unix_connection_send_credentials@Base 2.26.0 +- g_unix_connection_send_credentials_async@Base 2.31.18 +- g_unix_connection_send_credentials_finish@Base 2.31.18 ++ g_unix_connection_send_credentials_async@Base 2.32.0 ++ g_unix_connection_send_credentials_finish@Base 2.32.0 + g_unix_connection_send_fd@Base 2.22.0 + g_unix_credentials_message_get_credentials@Base 2.26.0 + g_unix_credentials_message_get_type@Base 2.26.0 +@@ -1985,43 +1992,43 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_unix_input_stream_new@Base 2.16.0 + g_unix_input_stream_set_close_fd@Base 2.20.0 + g_unix_is_mount_path_system_internal@Base 2.16.0 +- g_unix_is_system_device_path@Base 2.55.1 +- g_unix_is_system_fs_type@Base 2.55.1 ++ g_unix_is_system_device_path@Base 2.56.0 ++ g_unix_is_system_fs_type@Base 2.56.0 + g_unix_mount_at@Base 2.16.0 + g_unix_mount_compare@Base 2.16.0 +- g_unix_mount_copy@Base 2.53.1 +- g_unix_mount_entry_get_type@Base 2.53.1 +- g_unix_mount_for@Base 2.51.0 ++ g_unix_mount_copy@Base 2.54.0 ++ g_unix_mount_entry_get_type@Base 2.54.0 ++ g_unix_mount_for@Base 2.52.0 + g_unix_mount_free@Base 2.16.0 + g_unix_mount_get_device_path@Base 2.16.0 + g_unix_mount_get_fs_type@Base 2.16.0 + g_unix_mount_get_mount_path@Base 2.16.0 +- g_unix_mount_get_options@Base 2.57.2 +- g_unix_mount_get_root_path@Base 2.59.0 ++ g_unix_mount_get_options@Base 2.58.0 ++ g_unix_mount_get_root_path@Base 2.60.0 + g_unix_mount_guess_can_eject@Base 2.16.0 + g_unix_mount_guess_icon@Base 2.16.0 + g_unix_mount_guess_name@Base 2.16.0 + g_unix_mount_guess_should_display@Base 2.16.0 +- g_unix_mount_guess_symbolic_icon@Base 2.33.14 ++ g_unix_mount_guess_symbolic_icon@Base 2.34.0 + g_unix_mount_is_readonly@Base 2.16.0 + g_unix_mount_is_system_internal@Base 2.16.0 +- g_unix_mount_monitor_get@Base 2.43.92 ++ g_unix_mount_monitor_get@Base 2.44.0 + g_unix_mount_monitor_get_type@Base 2.16.0 + g_unix_mount_monitor_new@Base 2.16.0 + g_unix_mount_monitor_set_rate_limit@Base 2.18.0 +- g_unix_mount_point_at@Base 2.65.1 ++ g_unix_mount_point_at@Base 2.66.0 + g_unix_mount_point_compare@Base 2.16.0 +- g_unix_mount_point_copy@Base 2.53.1 ++ g_unix_mount_point_copy@Base 2.54.0 + g_unix_mount_point_free@Base 2.16.0 + g_unix_mount_point_get_device_path@Base 2.16.0 + g_unix_mount_point_get_fs_type@Base 2.16.0 + g_unix_mount_point_get_mount_path@Base 2.16.0 +- g_unix_mount_point_get_options@Base 2.31.8 +- g_unix_mount_point_get_type@Base 2.53.1 ++ g_unix_mount_point_get_options@Base 2.32.0 ++ g_unix_mount_point_get_type@Base 2.54.0 + g_unix_mount_point_guess_can_eject@Base 2.16.0 + g_unix_mount_point_guess_icon@Base 2.16.0 + g_unix_mount_point_guess_name@Base 2.16.0 +- g_unix_mount_point_guess_symbolic_icon@Base 2.33.14 ++ g_unix_mount_point_guess_symbolic_icon@Base 2.34.0 + g_unix_mount_point_is_loopback@Base 2.16.0 + g_unix_mount_point_is_readonly@Base 2.16.0 + g_unix_mount_point_is_user_mountable@Base 2.16.0 +@@ -2052,8 +2059,8 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_vfs_get_type@Base 2.16.0 + g_vfs_is_active@Base 2.16.0 + g_vfs_parse_name@Base 2.16.0 +- g_vfs_register_uri_scheme@Base 2.49.3 +- g_vfs_unregister_uri_scheme@Base 2.49.3 ++ g_vfs_register_uri_scheme@Base 2.50.0 ++ g_vfs_unregister_uri_scheme@Base 2.50.0 + g_volume_can_eject@Base 2.16.0 + g_volume_can_mount@Base 2.16.0 + g_volume_eject@Base 2.16.0 +@@ -2067,8 +2074,8 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_volume_get_identifier@Base 2.16.0 + g_volume_get_mount@Base 2.16.0 + g_volume_get_name@Base 2.16.0 +- g_volume_get_sort_key@Base 2.31.8 +- g_volume_get_symbolic_icon@Base 2.33.14 ++ g_volume_get_sort_key@Base 2.32.0 ++ g_volume_get_symbolic_icon@Base 2.34.0 + g_volume_get_type@Base 2.16.0 + g_volume_get_uuid@Base 2.16.0 + g_volume_monitor_adopt_orphan_mount@Base 2.16.0 +@@ -2092,39 +2099,42 @@ libgio-2.0.so.0 libglib2.0-0 #MINVER# + g_zlib_decompressor_new@Base 2.24.0 + libglib-2.0.so.0 libglib2.0-0 #MINVER# + * Build-Depends-Package: libglib2.0-dev +- __glib_assert_msg@Base 2.37.6 ++ __glib_assert_msg@Base 2.38.0 + g_access@Base 2.12.0 +- g_aligned_alloc@Base 2.71.2 +- g_aligned_alloc0@Base 2.71.2 +- g_aligned_free@Base 2.71.2 ++ g_aligned_alloc0@Base 2.72.0 ++ g_aligned_alloc@Base 2.72.0 ++ g_aligned_free@Base 2.72.0 ++ g_aligned_free_sized@Base 2.75.3 + g_allocator_free@Base 2.12.0 + g_allocator_new@Base 2.12.0 + g_array_append_vals@Base 2.12.0 +- g_array_binary_search@Base 2.61.2 +- g_array_copy@Base 2.61.2 ++ g_array_binary_search@Base 2.62.0 ++ g_array_copy@Base 2.62.0 + g_array_free@Base 2.12.0 + g_array_get_element_size@Base 2.22.0 + g_array_insert_vals@Base 2.12.0 + g_array_new@Base 2.12.0 ++ g_array_new_take@Base 2.75.2 ++ g_array_new_take_zero_terminated@Base 2.75.2 + g_array_prepend_vals@Base 2.12.0 + g_array_ref@Base 2.22.0 + g_array_remove_index@Base 2.12.0 + g_array_remove_index_fast@Base 2.12.0 + g_array_remove_range@Base 2.12.0 +- g_array_set_clear_func@Base 2.31.18 ++ g_array_set_clear_func@Base 2.32.0 + g_array_set_size@Base 2.12.0 + g_array_sized_new@Base 2.12.0 + g_array_sort@Base 2.12.0 + g_array_sort_with_data@Base 2.12.0 +- g_array_steal@Base 2.63.1 ++ g_array_steal@Base 2.64.0 + g_array_unref@Base 2.22.0 + g_ascii_digit_value@Base 2.12.0 + g_ascii_dtostr@Base 2.12.0 + g_ascii_formatd@Base 2.12.0 + g_ascii_strcasecmp@Base 2.12.0 + g_ascii_strdown@Base 2.12.0 +- g_ascii_string_to_signed@Base 2.53.2 +- g_ascii_string_to_unsigned@Base 2.53.2 ++ g_ascii_string_to_signed@Base 2.54.0 ++ g_ascii_string_to_unsigned@Base 2.54.0 + g_ascii_strncasecmp@Base 2.12.0 + g_ascii_strtod@Base 2.12.0 + g_ascii_strtoll@Base 2.12.0 +@@ -2136,9 +2146,10 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_ascii_xdigit_value@Base 2.12.0 + g_assert_warning@Base 2.12.0 + g_assertion_message@Base 2.16.0 ++ g_assertion_message_cmpint@Base 2.77.0 + g_assertion_message_cmpnum@Base 2.16.0 + g_assertion_message_cmpstr@Base 2.16.0 +- g_assertion_message_cmpstrv@Base 2.67.1 ++ g_assertion_message_cmpstrv@Base 2.68.0 + g_assertion_message_error@Base 2.20.0 + g_assertion_message_expr@Base 2.16.0 + g_async_queue_length@Base 2.12.0 +@@ -2149,21 +2160,21 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_async_queue_pop@Base 2.12.0 + g_async_queue_pop_unlocked@Base 2.12.0 + g_async_queue_push@Base 2.12.0 +- g_async_queue_push_front@Base 2.45.4 +- g_async_queue_push_front_unlocked@Base 2.45.4 ++ g_async_queue_push_front@Base 2.46.0 ++ g_async_queue_push_front_unlocked@Base 2.46.0 + g_async_queue_push_sorted@Base 2.12.0 + g_async_queue_push_sorted_unlocked@Base 2.12.0 + g_async_queue_push_unlocked@Base 2.12.0 + g_async_queue_ref@Base 2.12.0 + g_async_queue_ref_unlocked@Base 2.12.0 +- g_async_queue_remove@Base 2.45.4 +- g_async_queue_remove_unlocked@Base 2.45.4 ++ g_async_queue_remove@Base 2.46.0 ++ g_async_queue_remove_unlocked@Base 2.46.0 + g_async_queue_sort@Base 2.12.0 + g_async_queue_sort_unlocked@Base 2.12.0 + g_async_queue_timed_pop@Base 2.12.0 + g_async_queue_timed_pop_unlocked@Base 2.12.0 +- g_async_queue_timeout_pop@Base 2.31.18 +- g_async_queue_timeout_pop_unlocked@Base 2.31.18 ++ g_async_queue_timeout_pop@Base 2.32.0 ++ g_async_queue_timeout_pop_unlocked@Base 2.32.0 + g_async_queue_try_pop@Base 2.12.0 + g_async_queue_try_pop_unlocked@Base 2.12.0 + g_async_queue_unlock@Base 2.12.0 +@@ -2173,9 +2184,9 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_atomic_int_add@Base 2.12.0 + g_atomic_int_and@Base 2.30.0 + g_atomic_int_compare_and_exchange@Base 2.12.0 +- g_atomic_int_compare_and_exchange_full@Base 2.73.2 ++ g_atomic_int_compare_and_exchange_full@Base 2.74.0 + g_atomic_int_dec_and_test@Base 2.30.0 +- g_atomic_int_exchange@Base 2.73.1 ++ g_atomic_int_exchange@Base 2.74.0 + g_atomic_int_exchange_and_add@Base 2.12.0 + g_atomic_int_get@Base 2.12.0 + g_atomic_int_inc@Base 2.30.0 +@@ -2185,23 +2196,23 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_atomic_pointer_add@Base 2.30.0 + g_atomic_pointer_and@Base 2.30.0 + g_atomic_pointer_compare_and_exchange@Base 2.12.0 +- g_atomic_pointer_compare_and_exchange_full@Base 2.73.2 +- g_atomic_pointer_exchange@Base 2.73.1 ++ g_atomic_pointer_compare_and_exchange_full@Base 2.74.0 ++ g_atomic_pointer_exchange@Base 2.74.0 + g_atomic_pointer_get@Base 2.12.0 + g_atomic_pointer_or@Base 2.30.0 + g_atomic_pointer_set@Base 2.12.0 + g_atomic_pointer_xor@Base 2.30.0 +- g_atomic_rc_box_acquire@Base 2.57.2 +- g_atomic_rc_box_alloc@Base 2.57.2 +- g_atomic_rc_box_alloc0@Base 2.57.2 +- g_atomic_rc_box_dup@Base 2.57.2 +- g_atomic_rc_box_get_size@Base 2.57.2 +- g_atomic_rc_box_release@Base 2.57.2 +- g_atomic_rc_box_release_full@Base 2.57.2 +- g_atomic_ref_count_compare@Base 2.57.2 +- g_atomic_ref_count_dec@Base 2.57.2 +- g_atomic_ref_count_inc@Base 2.57.2 +- g_atomic_ref_count_init@Base 2.57.2 ++ g_atomic_rc_box_acquire@Base 2.58.0 ++ g_atomic_rc_box_alloc0@Base 2.58.0 ++ g_atomic_rc_box_alloc@Base 2.58.0 ++ g_atomic_rc_box_dup@Base 2.58.0 ++ g_atomic_rc_box_get_size@Base 2.58.0 ++ g_atomic_rc_box_release@Base 2.58.0 ++ g_atomic_rc_box_release_full@Base 2.58.0 ++ g_atomic_ref_count_compare@Base 2.58.0 ++ g_atomic_ref_count_dec@Base 2.58.0 ++ g_atomic_ref_count_inc@Base 2.58.0 ++ g_atomic_ref_count_init@Base 2.58.0 + g_base64_decode@Base 2.12.0 + g_base64_decode_inplace@Base 2.20.0 + g_base64_decode_step@Base 2.12.0 +@@ -2218,12 +2229,13 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_blow_chunks@Base 2.12.0 + g_bookmark_file_add_application@Base 2.12.0 + g_bookmark_file_add_group@Base 2.12.0 ++ g_bookmark_file_copy@Base 2.75.0 + g_bookmark_file_error_quark@Base 2.12.0 + g_bookmark_file_free@Base 2.12.0 + g_bookmark_file_get_added@Base 2.12.0 +- g_bookmark_file_get_added_date_time@Base 2.65.1 ++ g_bookmark_file_get_added_date_time@Base 2.66.0 + g_bookmark_file_get_app_info@Base 2.12.0 +- g_bookmark_file_get_application_info@Base 2.65.1 ++ g_bookmark_file_get_application_info@Base 2.66.0 + g_bookmark_file_get_applications@Base 2.12.0 + g_bookmark_file_get_description@Base 2.12.0 + g_bookmark_file_get_groups@Base 2.12.0 +@@ -2231,12 +2243,12 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_bookmark_file_get_is_private@Base 2.12.0 + g_bookmark_file_get_mime_type@Base 2.12.0 + g_bookmark_file_get_modified@Base 2.12.0 +- g_bookmark_file_get_modified_date_time@Base 2.65.1 ++ g_bookmark_file_get_modified_date_time@Base 2.66.0 + g_bookmark_file_get_size@Base 2.12.0 + g_bookmark_file_get_title@Base 2.12.0 + g_bookmark_file_get_uris@Base 2.12.0 + g_bookmark_file_get_visited@Base 2.12.0 +- g_bookmark_file_get_visited_date_time@Base 2.65.1 ++ g_bookmark_file_get_visited_date_time@Base 2.66.0 + g_bookmark_file_has_application@Base 2.12.0 + g_bookmark_file_has_group@Base 2.12.0 + g_bookmark_file_has_item@Base 2.12.0 +@@ -2249,31 +2261,31 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_bookmark_file_remove_group@Base 2.12.0 + g_bookmark_file_remove_item@Base 2.12.0 + g_bookmark_file_set_added@Base 2.12.0 +- g_bookmark_file_set_added_date_time@Base 2.65.1 ++ g_bookmark_file_set_added_date_time@Base 2.66.0 + g_bookmark_file_set_app_info@Base 2.12.0 +- g_bookmark_file_set_application_info@Base 2.65.1 ++ g_bookmark_file_set_application_info@Base 2.66.0 + g_bookmark_file_set_description@Base 2.12.0 + g_bookmark_file_set_groups@Base 2.12.0 + g_bookmark_file_set_icon@Base 2.12.0 + g_bookmark_file_set_is_private@Base 2.12.0 + g_bookmark_file_set_mime_type@Base 2.12.0 + g_bookmark_file_set_modified@Base 2.12.0 +- g_bookmark_file_set_modified_date_time@Base 2.65.1 ++ g_bookmark_file_set_modified_date_time@Base 2.66.0 + g_bookmark_file_set_title@Base 2.12.0 + g_bookmark_file_set_visited@Base 2.12.0 +- g_bookmark_file_set_visited_date_time@Base 2.65.1 ++ g_bookmark_file_set_visited_date_time@Base 2.66.0 + g_bookmark_file_to_data@Base 2.12.0 + g_bookmark_file_to_file@Base 2.12.0 + g_build_filename@Base 2.12.0 +- g_build_filename_valist@Base 2.55.1 ++ g_build_filename_valist@Base 2.56.0 + g_build_filenamev@Base 2.12.0 + g_build_path@Base 2.12.0 + g_build_pathv@Base 2.12.0 + g_byte_array_append@Base 2.12.0 + g_byte_array_free@Base 2.12.0 +- g_byte_array_free_to_bytes@Base 2.31.8 ++ g_byte_array_free_to_bytes@Base 2.32.0 + g_byte_array_new@Base 2.12.0 +- g_byte_array_new_take@Base 2.31.8 ++ g_byte_array_new_take@Base 2.32.0 + g_byte_array_prepend@Base 2.12.0 + g_byte_array_ref@Base 2.22.0 + g_byte_array_remove_index@Base 2.12.0 +@@ -2283,30 +2295,30 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_byte_array_sized_new@Base 2.12.0 + g_byte_array_sort@Base 2.12.0 + g_byte_array_sort_with_data@Base 2.12.0 +- g_byte_array_steal@Base 2.63.1 ++ g_byte_array_steal@Base 2.64.0 + g_byte_array_unref@Base 2.22.0 +- g_bytes_compare@Base 2.31.8 +- g_bytes_equal@Base 2.31.8 +- g_bytes_get_data@Base 2.31.8 ++ g_bytes_compare@Base 2.32.0 ++ g_bytes_equal@Base 2.32.0 ++ g_bytes_get_data@Base 2.32.0 + g_bytes_get_region@Base 2.70.0 +- g_bytes_get_size@Base 2.31.8 +- g_bytes_hash@Base 2.31.8 +- g_bytes_new@Base 2.31.8 +- g_bytes_new_from_bytes@Base 2.31.8 +- g_bytes_new_static@Base 2.31.8 +- g_bytes_new_take@Base 2.31.8 +- g_bytes_new_with_free_func@Base 2.31.8 +- g_bytes_ref@Base 2.31.8 +- g_bytes_unref@Base 2.31.8 +- g_bytes_unref_to_array@Base 2.31.8 +- g_bytes_unref_to_data@Base 2.31.8 ++ g_bytes_get_size@Base 2.32.0 ++ g_bytes_hash@Base 2.32.0 ++ g_bytes_new@Base 2.32.0 ++ g_bytes_new_from_bytes@Base 2.32.0 ++ g_bytes_new_static@Base 2.32.0 ++ g_bytes_new_take@Base 2.32.0 ++ g_bytes_new_with_free_func@Base 2.32.0 ++ g_bytes_ref@Base 2.32.0 ++ g_bytes_unref@Base 2.32.0 ++ g_bytes_unref_to_array@Base 2.32.0 ++ g_bytes_unref_to_data@Base 2.32.0 + g_cache_destroy@Base 2.12.0 + g_cache_insert@Base 2.12.0 + g_cache_key_foreach@Base 2.12.0 + g_cache_new@Base 2.12.0 + g_cache_remove@Base 2.12.0 + g_cache_value_foreach@Base 2.12.0 +- g_canonicalize_filename@Base 2.57.2 ++ g_canonicalize_filename@Base 2.58.0 + g_chdir@Base 2.12.0 + g_checksum_copy@Base 2.16.0 + g_checksum_free@Base 2.16.0 +@@ -2322,11 +2334,11 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_child_watch_source_new@Base 2.12.0 + g_chmod@Base 2.12.0 + g_clear_error@Base 2.12.0 +- g_clear_handle_id@Base 2.55.1 +- g_clear_list@Base 2.63.3 +- g_clear_pointer@Base 2.33.14 +- g_clear_slist@Base 2.63.3 +- g_close@Base 2.35.8 ++ g_clear_handle_id@Base 2.56.0 ++ g_clear_list@Base 2.64.0 ++ g_clear_pointer@Base 2.34.0 ++ g_clear_slist@Base 2.64.0 ++ g_close@Base 2.36.0 + g_completion_add_items@Base 2.12.0 + g_completion_clear_items@Base 2.12.0 + g_completion_complete@Base 2.12.0 +@@ -2335,21 +2347,21 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_completion_new@Base 2.12.0 + g_completion_remove_items@Base 2.12.0 + g_completion_set_compare@Base 2.12.0 +- g_compute_checksum_for_bytes@Base 2.33.14 ++ g_compute_checksum_for_bytes@Base 2.34.0 + g_compute_checksum_for_data@Base 2.16.0 + g_compute_checksum_for_string@Base 2.16.0 +- g_compute_hmac_for_bytes@Base 2.49.3 ++ g_compute_hmac_for_bytes@Base 2.50.0 + g_compute_hmac_for_data@Base 2.30.0 + g_compute_hmac_for_string@Base 2.30.0 +- g_cond_broadcast@Base 2.31.8 +- g_cond_clear@Base 2.31.8 +- g_cond_free@Base 2.31.8 +- g_cond_init@Base 2.31.8 +- g_cond_new@Base 2.31.8 +- g_cond_signal@Base 2.31.8 +- g_cond_timed_wait@Base 2.31.8 +- g_cond_wait@Base 2.31.8 +- g_cond_wait_until@Base 2.31.8 ++ g_cond_broadcast@Base 2.32.0 ++ g_cond_clear@Base 2.32.0 ++ g_cond_free@Base 2.32.0 ++ g_cond_init@Base 2.32.0 ++ g_cond_new@Base 2.32.0 ++ g_cond_signal@Base 2.32.0 ++ g_cond_timed_wait@Base 2.32.0 ++ g_cond_wait@Base 2.32.0 ++ g_cond_wait_until@Base 2.32.0 + g_convert@Base 2.12.0 + g_convert_error_quark@Base 2.12.0 + g_convert_with_fallback@Base 2.12.0 +@@ -2359,11 +2371,11 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_datalist_foreach@Base 2.12.0 + g_datalist_get_data@Base 2.30.0 + g_datalist_get_flags@Base 2.12.0 +- g_datalist_id_dup_data@Base 2.33.14 ++ g_datalist_id_dup_data@Base 2.34.0 + g_datalist_id_get_data@Base 2.12.0 +- g_datalist_id_remove_multiple@Base 2.73.1 ++ g_datalist_id_remove_multiple@Base 2.74.0 + g_datalist_id_remove_no_notify@Base 2.12.0 +- g_datalist_id_replace_data@Base 2.33.14 ++ g_datalist_id_replace_data@Base 2.34.0 + g_datalist_id_set_data_full@Base 2.12.0 + g_datalist_init@Base 2.12.0 + g_datalist_set_flags@Base 2.12.0 +@@ -2379,7 +2391,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_date_clamp@Base 2.12.0 + g_date_clear@Base 2.12.0 + g_date_compare@Base 2.12.0 +- g_date_copy@Base 2.55.1 ++ g_date_copy@Base 2.56.0 + g_date_days_between@Base 2.12.0 + g_date_free@Base 2.12.0 + g_date_get_day@Base 2.12.0 +@@ -2427,7 +2439,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_date_time_difference@Base 2.26.0 + g_date_time_equal@Base 2.26.0 + g_date_time_format@Base 2.26.0 +- g_date_time_format_iso8601@Base 2.61.2 ++ g_date_time_format_iso8601@Base 2.62.0 + g_date_time_get_day_of_month@Base 2.26.0 + g_date_time_get_day_of_week@Base 2.26.0 + g_date_time_get_day_of_year@Base 2.26.0 +@@ -2437,7 +2449,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_date_time_get_month@Base 2.26.0 + g_date_time_get_second@Base 2.26.0 + g_date_time_get_seconds@Base 2.26.0 +- g_date_time_get_timezone@Base 2.57.2 ++ g_date_time_get_timezone@Base 2.58.0 + g_date_time_get_timezone_abbreviation@Base 2.26.0 + g_date_time_get_utc_offset@Base 2.26.0 + g_date_time_get_week_numbering_year@Base 2.28.0 +@@ -2447,7 +2459,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_date_time_hash@Base 2.26.0 + g_date_time_is_daylight_savings@Base 2.26.0 + g_date_time_new@Base 2.26.0 +- g_date_time_new_from_iso8601@Base 2.55.1 ++ g_date_time_new_from_iso8601@Base 2.56.0 + g_date_time_new_from_timeval_local@Base 2.26.0 + g_date_time_new_from_timeval_utc@Base 2.26.0 + g_date_time_new_from_unix_local@Base 2.26.0 +@@ -2486,12 +2498,12 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_double_hash@Base 2.22.0 + g_dpgettext2@Base 2.18.0 + g_dpgettext@Base 2.16.0 +- g_environ_getenv@Base 2.31.8 +- g_environ_setenv@Base 2.31.8 +- g_environ_unsetenv@Base 2.31.8 ++ g_environ_getenv@Base 2.32.0 ++ g_environ_setenv@Base 2.32.0 ++ g_environ_unsetenv@Base 2.32.0 + g_error_copy@Base 2.12.0 +- g_error_domain_register@Base 2.67.2 +- g_error_domain_register_static@Base 2.67.2 ++ g_error_domain_register@Base 2.68.0 ++ g_error_domain_register_static@Base 2.68.0 + g_error_free@Base 2.12.0 + g_error_matches@Base 2.12.0 + g_error_new@Base 2.12.0 +@@ -2503,7 +2515,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_file_open_tmp@Base 2.12.0 + g_file_read_link@Base 2.12.0 + g_file_set_contents@Base 2.12.0 +- g_file_set_contents_full@Base 2.65.1 ++ g_file_set_contents_full@Base 2.66.0 + g_file_test@Base 2.12.0 + g_filename_display_basename@Base 2.12.0 + g_filename_display_name@Base 2.12.0 +@@ -2518,24 +2530,25 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_format_size_full@Base 2.30.0 + g_fprintf@Base 2.12.0 + g_free@Base 2.12.0 ++ g_free_sized@Base 2.75.3 + g_freopen@Base 2.12.0 +- g_fsync@Base 2.63.1 ++ g_fsync@Base 2.64.0 + g_get_application_name@Base 2.12.0 + g_get_charset@Base 2.12.0 + g_get_codeset@Base 2.12.0 +- g_get_console_charset@Base 2.61.2 ++ g_get_console_charset@Base 2.62.0 + g_get_current_dir@Base 2.12.0 + g_get_current_time@Base 2.12.0 + g_get_environ@Base 2.28.0 + g_get_filename_charsets@Base 2.12.0 +- g_get_home_dir@Base 2.35.9 ++ g_get_home_dir@Base 2.36.0 + g_get_host_name@Base 2.12.0 + g_get_language_names@Base 2.12.0 +- g_get_language_names_with_category@Base 2.57.2 ++ g_get_language_names_with_category@Base 2.58.0 + g_get_locale_variants@Base 2.28.0 + g_get_monotonic_time@Base 2.28.0 +- g_get_num_processors@Base 2.35.8 +- g_get_os_info@Base 2.63.1 ++ g_get_num_processors@Base 2.36.0 ++ g_get_os_info@Base 2.64.0 + g_get_prgname@Base 2.12.0 + g_get_real_name@Base 2.12.0 + g_get_real_time@Base 2.28.0 +@@ -2548,18 +2561,20 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_get_user_name@Base 2.12.0 + g_get_user_runtime_dir@Base 2.28.0 + g_get_user_special_dir@Base 2.14.0 +- g_get_user_state_dir@Base 2.71.1 ++ g_get_user_state_dir@Base 2.72.0 + g_getenv@Base 2.12.0 +- g_hash_table_add@Base 2.31.8 +- g_hash_table_contains@Base 2.31.8 ++ g_hash_table_add@Base 2.32.0 ++ g_hash_table_contains@Base 2.32.0 + g_hash_table_destroy@Base 2.12.0 + g_hash_table_find@Base 2.12.0 + g_hash_table_foreach@Base 2.12.0 + g_hash_table_foreach_remove@Base 2.12.0 + g_hash_table_foreach_steal@Base 2.12.0 + g_hash_table_get_keys@Base 2.14.0 +- g_hash_table_get_keys_as_array@Base 2.39.4 ++ g_hash_table_get_keys_as_array@Base 2.40.0 ++ g_hash_table_get_keys_as_ptr_array@Base 2.75.2 + g_hash_table_get_values@Base 2.14.0 ++ g_hash_table_get_values_as_ptr_array@Base 2.75.2 + g_hash_table_insert@Base 2.12.0 + g_hash_table_iter_get_hash_table@Base 2.16.0 + g_hash_table_iter_init@Base 2.16.0 +@@ -2571,7 +2586,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_hash_table_lookup_extended@Base 2.12.0 + g_hash_table_new@Base 2.12.0 + g_hash_table_new_full@Base 2.12.0 +- g_hash_table_new_similar@Base 2.71.1 ++ g_hash_table_new_similar@Base 2.72.0 + g_hash_table_ref@Base 2.12.0 + g_hash_table_remove@Base 2.12.0 + g_hash_table_remove_all@Base 2.12.0 +@@ -2579,7 +2594,9 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_hash_table_size@Base 2.12.0 + g_hash_table_steal@Base 2.12.0 + g_hash_table_steal_all@Base 2.12.0 +- g_hash_table_steal_extended@Base 2.57.2 ++ g_hash_table_steal_all_keys@Base 2.75.2 ++ g_hash_table_steal_all_values@Base 2.75.2 ++ g_hash_table_steal_extended@Base 2.58.0 + g_hash_table_unref@Base 2.12.0 + g_hmac_copy@Base 2.30.0 + g_hmac_get_digest@Base 2.30.0 +@@ -2621,7 +2638,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_iconv_open@Base 2.12.0 + g_idle_add@Base 2.12.0 + g_idle_add_full@Base 2.12.0 +- g_idle_add_once@Base 2.73.1 ++ g_idle_add_once@Base 2.74.0 + g_idle_funcs@Base 2.12.0 + g_idle_remove_by_data@Base 2.12.0 + g_idle_source_new@Base 2.12.0 +@@ -2682,7 +2699,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_key_file_get_integer@Base 2.12.0 + g_key_file_get_integer_list@Base 2.12.0 + g_key_file_get_keys@Base 2.12.0 +- g_key_file_get_locale_for_key@Base 2.55.2 ++ g_key_file_get_locale_for_key@Base 2.56.0 + g_key_file_get_locale_string@Base 2.12.0 + g_key_file_get_locale_string_list@Base 2.12.0 + g_key_file_get_start_group@Base 2.12.0 +@@ -2692,17 +2709,17 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_key_file_get_value@Base 2.12.0 + g_key_file_has_group@Base 2.12.0 + g_key_file_has_key@Base 2.12.0 +- g_key_file_load_from_bytes@Base 2.49.3 ++ g_key_file_load_from_bytes@Base 2.50.0 + g_key_file_load_from_data@Base 2.12.0 + g_key_file_load_from_data_dirs@Base 2.12.0 + g_key_file_load_from_dirs@Base 2.14.0 + g_key_file_load_from_file@Base 2.12.0 + g_key_file_new@Base 2.12.0 +- g_key_file_ref@Base 2.31.8 ++ g_key_file_ref@Base 2.32.0 + g_key_file_remove_comment@Base 2.12.0 + g_key_file_remove_group@Base 2.12.0 + g_key_file_remove_key@Base 2.12.0 +- g_key_file_save_to_file@Base 2.39.4 ++ g_key_file_save_to_file@Base 2.40.0 + g_key_file_set_boolean@Base 2.12.0 + g_key_file_set_boolean_list@Base 2.12.0 + g_key_file_set_comment@Base 2.12.0 +@@ -2719,12 +2736,12 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_key_file_set_uint64@Base 2.26.0 + g_key_file_set_value@Base 2.12.0 + g_key_file_to_data@Base 2.12.0 +- g_key_file_unref@Base 2.31.8 ++ g_key_file_unref@Base 2.32.0 + g_list_alloc@Base 2.12.0 + g_list_append@Base 2.12.0 + g_list_concat@Base 2.12.0 + g_list_copy@Base 2.12.0 +- g_list_copy_deep@Base 2.33.14 ++ g_list_copy_deep@Base 2.34.0 + g_list_delete_link@Base 2.12.0 + g_list_find@Base 2.12.0 + g_list_find_custom@Base 2.12.0 +@@ -2736,7 +2753,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_list_index@Base 2.12.0 + g_list_insert@Base 2.12.0 + g_list_insert_before@Base 2.12.0 +- g_list_insert_before_link@Base 2.61.1 ++ g_list_insert_before_link@Base 2.62.0 + g_list_insert_sorted@Base 2.12.0 + g_list_insert_sorted_with_data@Base 2.12.0 + g_list_last@Base 2.12.0 +@@ -2759,27 +2776,27 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_locale_to_utf8@Base 2.12.0 + g_log@Base 2.12.0 + g_log_default_handler@Base 2.12.0 +- g_log_get_debug_enabled@Base 2.71.1 ++ g_log_get_debug_enabled@Base 2.72.0 + g_log_remove_handler@Base 2.12.0 + g_log_set_always_fatal@Base 2.12.0 +- g_log_set_debug_enabled@Base 2.71.1 ++ g_log_set_debug_enabled@Base 2.72.0 + g_log_set_default_handler@Base 2.12.0 + g_log_set_fatal_mask@Base 2.12.0 + g_log_set_handler@Base 2.12.0 +- g_log_set_handler_full@Base 2.45.3 +- g_log_set_writer_func@Base 2.49.3 +- g_log_structured@Base 2.49.3 +- g_log_structured_array@Base 2.49.3 +- g_log_structured_standard@Base 2.55.2 +- g_log_variant@Base 2.49.7 +- g_log_writer_default@Base 2.49.3 +- g_log_writer_default_set_use_stderr@Base 2.67.1 +- g_log_writer_default_would_drop@Base 2.67.1 +- g_log_writer_format_fields@Base 2.49.3 +- g_log_writer_is_journald@Base 2.49.3 +- g_log_writer_journald@Base 2.49.3 +- g_log_writer_standard_streams@Base 2.49.3 +- g_log_writer_supports_color@Base 2.49.3 ++ g_log_set_handler_full@Base 2.46.0 ++ g_log_set_writer_func@Base 2.50.0 ++ g_log_structured@Base 2.50.0 ++ g_log_structured_array@Base 2.50.0 ++ g_log_structured_standard@Base 2.56.0 ++ g_log_variant@Base 2.50.0 ++ g_log_writer_default@Base 2.50.0 ++ g_log_writer_default_set_use_stderr@Base 2.68.0 ++ g_log_writer_default_would_drop@Base 2.68.0 ++ g_log_writer_format_fields@Base 2.50.0 ++ g_log_writer_is_journald@Base 2.50.0 ++ g_log_writer_journald@Base 2.50.0 ++ g_log_writer_standard_streams@Base 2.50.0 ++ g_log_writer_supports_color@Base 2.50.0 + g_logv@Base 2.12.0 + g_lstat@Base 2.12.0 + g_main_context_acquire@Base 2.12.0 +@@ -2797,14 +2814,14 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_main_context_is_owner@Base 2.12.0 + g_main_context_iteration@Base 2.12.0 + g_main_context_new@Base 2.12.0 +- g_main_context_new_with_flags@Base 2.71.0 ++ g_main_context_new_with_flags@Base 2.72.0 + g_main_context_pending@Base 2.12.0 + g_main_context_pop_thread_default@Base 2.22.0 + g_main_context_prepare@Base 2.12.0 + g_main_context_push_thread_default@Base 2.22.0 + g_main_context_query@Base 2.12.0 + g_main_context_ref@Base 2.12.0 +- g_main_context_ref_thread_default@Base 2.31.8 ++ g_main_context_ref_thread_default@Base 2.32.0 + g_main_context_release@Base 2.12.0 + g_main_context_remove_poll@Base 2.12.0 + g_main_context_set_poll_func@Base 2.12.0 +@@ -2825,11 +2842,11 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_malloc@Base 2.12.0 + g_malloc_n@Base 2.24.0 + g_mapped_file_free@Base 2.12.0 +- g_mapped_file_get_bytes@Base 2.33.14 ++ g_mapped_file_get_bytes@Base 2.34.0 + g_mapped_file_get_contents@Base 2.12.0 + g_mapped_file_get_length@Base 2.12.0 + g_mapped_file_new@Base 2.12.0 +- g_mapped_file_new_from_fd@Base 2.31.8 ++ g_mapped_file_new_from_fd@Base 2.32.0 + g_mapped_file_ref@Base 2.22.0 + g_mapped_file_unref@Base 2.22.0 + g_markup_collect_attributes@Base 2.16.0 +@@ -2845,8 +2862,8 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_markup_parse_context_parse@Base 2.12.0 + g_markup_parse_context_pop@Base 2.18.0 + g_markup_parse_context_push@Base 2.18.0 +- g_markup_parse_context_ref@Base 2.35.8 +- g_markup_parse_context_unref@Base 2.35.8 ++ g_markup_parse_context_ref@Base 2.36.0 ++ g_markup_parse_context_unref@Base 2.36.0 + g_markup_printf_escaped@Base 2.12.0 + g_markup_vprintf_escaped@Base 2.12.0 + g_match_info_expand_references@Base 2.14.0 +@@ -2877,7 +2894,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_mem_is_system_malloc@Base 2.12.0 + g_mem_profile@Base 2.12.0 + g_mem_set_vtable@Base 2.12.0 +- g_memdup2@Base 2.67.3 ++ g_memdup2@Base 2.68.0 + g_memdup@Base 2.12.0 + g_mkdir@Base 2.12.0 + g_mkdir_with_parents@Base 2.12.0 +@@ -2885,13 +2902,13 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_mkdtemp_full@Base 2.30.0 + g_mkstemp@Base 2.12.0 + g_mkstemp_full@Base 2.22.0 +- g_mutex_clear@Base 2.31.8 +- g_mutex_free@Base 2.31.8 +- g_mutex_init@Base 2.31.8 +- g_mutex_lock@Base 2.31.8 +- g_mutex_new@Base 2.31.8 +- g_mutex_trylock@Base 2.31.8 +- g_mutex_unlock@Base 2.31.8 ++ g_mutex_clear@Base 2.32.0 ++ g_mutex_free@Base 2.32.0 ++ g_mutex_init@Base 2.32.0 ++ g_mutex_lock@Base 2.32.0 ++ g_mutex_new@Base 2.32.0 ++ g_mutex_trylock@Base 2.32.0 ++ g_mutex_unlock@Base 2.32.0 + g_node_child_index@Base 2.12.0 + g_node_child_position@Base 2.12.0 + g_node_children_foreach@Base 2.12.0 +@@ -2921,7 +2938,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_node_traverse@Base 2.12.0 + g_node_unlink@Base 2.12.0 + g_nullify_pointer@Base 2.12.0 +- g_number_parser_error_quark@Base 2.53.2 ++ g_number_parser_error_quark@Base 2.54.0 + g_on_error_query@Base 2.12.0 + g_on_error_stack_trace@Base 2.12.0 + g_once_impl@Base 2.12.0 +@@ -2937,16 +2954,16 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_option_context_get_help_enabled@Base 2.12.0 + g_option_context_get_ignore_unknown_options@Base 2.12.0 + g_option_context_get_main_group@Base 2.12.0 +- g_option_context_get_strict_posix@Base 2.43.1 ++ g_option_context_get_strict_posix@Base 2.44.0 + g_option_context_get_summary@Base 2.12.0 + g_option_context_new@Base 2.12.0 + g_option_context_parse@Base 2.12.0 +- g_option_context_parse_strv@Base 2.39.4 ++ g_option_context_parse_strv@Base 2.40.0 + g_option_context_set_description@Base 2.12.0 + g_option_context_set_help_enabled@Base 2.12.0 + g_option_context_set_ignore_unknown_options@Base 2.12.0 + g_option_context_set_main_group@Base 2.12.0 +- g_option_context_set_strict_posix@Base 2.43.1 ++ g_option_context_set_strict_posix@Base 2.44.0 + g_option_context_set_summary@Base 2.12.0 + g_option_context_set_translate_func@Base 2.12.0 + g_option_context_set_translation_domain@Base 2.12.0 +@@ -2954,13 +2971,28 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_option_group_add_entries@Base 2.12.0 + g_option_group_free@Base 2.12.0 + g_option_group_new@Base 2.12.0 +- g_option_group_ref@Base 2.43.90 ++ g_option_group_ref@Base 2.44.0 + g_option_group_set_error_hook@Base 2.12.0 + g_option_group_set_parse_hooks@Base 2.12.0 + g_option_group_set_translate_func@Base 2.12.0 + g_option_group_set_translation_domain@Base 2.12.0 +- g_option_group_unref@Base 2.43.90 ++ g_option_group_unref@Base 2.44.0 + g_parse_debug_string@Base 2.12.0 ++ g_path_buf_clear@Base 2.75.3 ++ g_path_buf_clear_to_path@Base 2.75.3 ++ g_path_buf_copy@Base 2.75.3 ++ g_path_buf_equal@Base 2.75.3 ++ g_path_buf_free@Base 2.75.3 ++ g_path_buf_free_to_path@Base 2.75.3 ++ g_path_buf_init@Base 2.75.3 ++ g_path_buf_init_from_path@Base 2.75.3 ++ g_path_buf_new@Base 2.75.3 ++ g_path_buf_new_from_path@Base 2.75.3 ++ g_path_buf_pop@Base 2.75.3 ++ g_path_buf_push@Base 2.75.3 ++ g_path_buf_set_extension@Base 2.75.3 ++ g_path_buf_set_filename@Base 2.75.3 ++ g_path_buf_to_path@Base 2.75.3 + g_path_get_basename@Base 2.12.0 + g_path_get_dirname@Base 2.12.0 + g_path_is_absolute@Base 2.12.0 +@@ -2984,25 +3016,29 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_printerr@Base 2.12.0 + g_printf@Base 2.12.0 + g_printf_string_upper_bound@Base 2.12.0 +- g_private_get@Base 2.31.8 +- g_private_new@Base 2.31.8 +- g_private_replace@Base 2.31.8 +- g_private_set@Base 2.31.8 ++ g_private_get@Base 2.32.0 ++ g_private_new@Base 2.32.0 ++ g_private_replace@Base 2.32.0 ++ g_private_set@Base 2.32.0 + g_propagate_error@Base 2.12.0 + g_propagate_prefixed_error@Base 2.16.0 + g_ptr_array_add@Base 2.12.0 +- g_ptr_array_copy@Base 2.61.2 +- g_ptr_array_extend@Base 2.61.2 +- g_ptr_array_extend_and_steal@Base 2.61.2 +- g_ptr_array_find@Base 2.53.2 +- g_ptr_array_find_with_equal_func@Base 2.53.2 ++ g_ptr_array_copy@Base 2.62.0 ++ g_ptr_array_extend@Base 2.62.0 ++ g_ptr_array_extend_and_steal@Base 2.62.0 ++ g_ptr_array_find@Base 2.54.0 ++ g_ptr_array_find_with_equal_func@Base 2.54.0 + g_ptr_array_foreach@Base 2.12.0 + g_ptr_array_free@Base 2.12.0 +- g_ptr_array_insert@Base 2.39.4 +- g_ptr_array_is_null_terminated@Base 2.73.1 ++ g_ptr_array_insert@Base 2.40.0 ++ g_ptr_array_is_null_terminated@Base 2.74.0 + g_ptr_array_new@Base 2.12.0 ++ g_ptr_array_new_from_array@Base 2.75.2 ++ g_ptr_array_new_from_null_terminated_array@Base 2.75.2 + g_ptr_array_new_full@Base 2.30.0 +- g_ptr_array_new_null_terminated@Base 2.73.1 ++ g_ptr_array_new_null_terminated@Base 2.74.0 ++ g_ptr_array_new_take@Base 2.75.2 ++ g_ptr_array_new_take_null_terminated@Base 2.75.2 + g_ptr_array_new_with_free_func@Base 2.22.0 + g_ptr_array_ref@Base 2.22.0 + g_ptr_array_remove@Base 2.12.0 +@@ -3014,10 +3050,12 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_ptr_array_set_size@Base 2.12.0 + g_ptr_array_sized_new@Base 2.12.0 + g_ptr_array_sort@Base 2.12.0 ++ g_ptr_array_sort_values@Base 2.75.2 ++ g_ptr_array_sort_values_with_data@Base 2.75.2 + g_ptr_array_sort_with_data@Base 2.12.0 +- g_ptr_array_steal@Base 2.63.1 +- g_ptr_array_steal_index@Base 2.57.2 +- g_ptr_array_steal_index_fast@Base 2.57.2 ++ g_ptr_array_steal@Base 2.64.0 ++ g_ptr_array_steal_index@Base 2.58.0 ++ g_ptr_array_steal_index_fast@Base 2.58.0 + g_ptr_array_unref@Base 2.22.0 + g_qsort_with_data@Base 2.12.0 + g_quark_from_static_string@Base 2.12.0 +@@ -3025,21 +3063,21 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_quark_to_string@Base 2.12.0 + g_quark_try_string@Base 2.12.0 + g_queue_clear@Base 2.14.0 +- g_queue_clear_full@Base 2.59.2 ++ g_queue_clear_full@Base 2.60.0 + g_queue_copy@Base 2.12.0 + g_queue_delete_link@Base 2.12.0 + g_queue_find@Base 2.12.0 + g_queue_find_custom@Base 2.12.0 + g_queue_foreach@Base 2.12.0 + g_queue_free@Base 2.12.0 +- g_queue_free_full@Base 2.31.8 ++ g_queue_free_full@Base 2.32.0 + g_queue_get_length@Base 2.12.0 + g_queue_index@Base 2.12.0 + g_queue_init@Base 2.14.0 + g_queue_insert_after@Base 2.12.0 +- g_queue_insert_after_link@Base 2.61.1 ++ g_queue_insert_after_link@Base 2.62.0 + g_queue_insert_before@Base 2.12.0 +- g_queue_insert_before_link@Base 2.61.1 ++ g_queue_insert_before_link@Base 2.62.0 + g_queue_insert_sorted@Base 2.12.0 + g_queue_is_empty@Base 2.12.0 + g_queue_link_index@Base 2.12.0 +@@ -3083,40 +3121,40 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_random_int@Base 2.12.0 + g_random_int_range@Base 2.12.0 + g_random_set_seed@Base 2.12.0 +- g_rc_box_acquire@Base 2.57.2 +- g_rc_box_alloc@Base 2.57.2 +- g_rc_box_alloc0@Base 2.57.2 +- g_rc_box_dup@Base 2.57.2 +- g_rc_box_get_size@Base 2.57.2 +- g_rc_box_release@Base 2.57.2 +- g_rc_box_release_full@Base 2.57.2 ++ g_rc_box_acquire@Base 2.58.0 ++ g_rc_box_alloc0@Base 2.58.0 ++ g_rc_box_alloc@Base 2.58.0 ++ g_rc_box_dup@Base 2.58.0 ++ g_rc_box_get_size@Base 2.58.0 ++ g_rc_box_release@Base 2.58.0 ++ g_rc_box_release_full@Base 2.58.0 + g_realloc@Base 2.12.0 + g_realloc_n@Base 2.24.0 +- g_rec_mutex_clear@Base 2.31.8 +- g_rec_mutex_init@Base 2.31.8 +- g_rec_mutex_lock@Base 2.31.8 +- g_rec_mutex_trylock@Base 2.31.8 +- g_rec_mutex_unlock@Base 2.31.8 +- g_ref_count_compare@Base 2.57.2 +- g_ref_count_dec@Base 2.57.2 +- g_ref_count_inc@Base 2.57.2 +- g_ref_count_init@Base 2.57.2 +- g_ref_string_acquire@Base 2.57.2 +- g_ref_string_length@Base 2.57.2 +- g_ref_string_new@Base 2.57.2 +- g_ref_string_new_intern@Base 2.57.2 +- g_ref_string_new_len@Base 2.57.2 +- g_ref_string_release@Base 2.57.2 ++ g_rec_mutex_clear@Base 2.32.0 ++ g_rec_mutex_init@Base 2.32.0 ++ g_rec_mutex_lock@Base 2.32.0 ++ g_rec_mutex_trylock@Base 2.32.0 ++ g_rec_mutex_unlock@Base 2.32.0 ++ g_ref_count_compare@Base 2.58.0 ++ g_ref_count_dec@Base 2.58.0 ++ g_ref_count_inc@Base 2.58.0 ++ g_ref_count_init@Base 2.58.0 ++ g_ref_string_acquire@Base 2.58.0 ++ g_ref_string_length@Base 2.58.0 ++ g_ref_string_new@Base 2.58.0 ++ g_ref_string_new_intern@Base 2.58.0 ++ g_ref_string_new_len@Base 2.58.0 ++ g_ref_string_release@Base 2.58.0 + g_regex_check_replacement@Base 2.14.0 + g_regex_error_quark@Base 2.14.0 + g_regex_escape_nul@Base 2.30.0 + g_regex_escape_string@Base 2.14.0 + g_regex_get_capture_count@Base 2.14.0 + g_regex_get_compile_flags@Base 2.26.0 +- g_regex_get_has_cr_or_lf@Base 2.33.14 ++ g_regex_get_has_cr_or_lf@Base 2.34.0 + g_regex_get_match_flags@Base 2.26.0 + g_regex_get_max_backref@Base 2.14.0 +- g_regex_get_max_lookbehind@Base 2.37.5 ++ g_regex_get_max_lookbehind@Base 2.38.0 + g_regex_get_pattern@Base 2.14.0 + g_regex_get_string_number@Base 2.14.0 + g_regex_match@Base 2.14.0 +@@ -3147,14 +3185,14 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_rename@Base 2.12.0 + g_return_if_fail_warning@Base 2.12.0 + g_rmdir@Base 2.12.0 +- g_rw_lock_clear@Base 2.31.8 +- g_rw_lock_init@Base 2.31.8 +- g_rw_lock_reader_lock@Base 2.31.8 +- g_rw_lock_reader_trylock@Base 2.31.8 +- g_rw_lock_reader_unlock@Base 2.31.8 +- g_rw_lock_writer_lock@Base 2.31.8 +- g_rw_lock_writer_trylock@Base 2.31.8 +- g_rw_lock_writer_unlock@Base 2.31.8 ++ g_rw_lock_clear@Base 2.32.0 ++ g_rw_lock_init@Base 2.32.0 ++ g_rw_lock_reader_lock@Base 2.32.0 ++ g_rw_lock_reader_trylock@Base 2.32.0 ++ g_rw_lock_reader_unlock@Base 2.32.0 ++ g_rw_lock_writer_lock@Base 2.32.0 ++ g_rw_lock_writer_trylock@Base 2.32.0 ++ g_rw_lock_writer_unlock@Base 2.32.0 + g_scanner_cur_line@Base 2.12.0 + g_scanner_cur_position@Base 2.12.0 + g_scanner_cur_token@Base 2.12.0 +@@ -3188,7 +3226,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_sequence_insert_before@Base 2.14.0 + g_sequence_insert_sorted@Base 2.14.0 + g_sequence_insert_sorted_iter@Base 2.14.0 +- g_sequence_is_empty@Base 2.47.1 ++ g_sequence_is_empty@Base 2.48.0 + g_sequence_iter_compare@Base 2.14.0 + g_sequence_iter_get_position@Base 2.14.0 + g_sequence_iter_get_sequence@Base 2.14.0 +@@ -3220,7 +3258,6 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_set_prgname@Base 2.12.0 + g_set_print_handler@Base 2.12.0 + g_set_printerr_handler@Base 2.12.0 +- g_set_user_dirs@Base 2.59.0 + g_setenv@Base 2.12.0 + g_shell_error_quark@Base 2.12.0 + g_shell_parse_argv@Base 2.12.0 +@@ -3238,7 +3275,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_slist_append@Base 2.12.0 + g_slist_concat@Base 2.12.0 + g_slist_copy@Base 2.12.0 +- g_slist_copy_deep@Base 2.33.14 ++ g_slist_copy_deep@Base 2.34.0 + g_slist_delete_link@Base 2.12.0 + g_slist_find@Base 2.12.0 + g_slist_find_custom@Base 2.12.0 +@@ -3268,7 +3305,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_snprintf@Base 2.12.0 + g_source_add_child_source@Base 2.28.0 + g_source_add_poll@Base 2.12.0 +- g_source_add_unix_fd@Base 2.35.8 ++ g_source_add_unix_fd@Base 2.36.0 + g_source_attach@Base 2.12.0 + g_source_destroy@Base 2.12.0 + g_source_get_can_recurse@Base 2.12.0 +@@ -3277,42 +3314,42 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_source_get_id@Base 2.12.0 + g_source_get_name@Base 2.26.0 + g_source_get_priority@Base 2.12.0 +- g_source_get_ready_time@Base 2.35.8 ++ g_source_get_ready_time@Base 2.36.0 + g_source_get_time@Base 2.28.0 + g_source_is_destroyed@Base 2.12.0 +- g_source_modify_unix_fd@Base 2.35.8 ++ g_source_modify_unix_fd@Base 2.36.0 + g_source_new@Base 2.12.0 +- g_source_query_unix_fd@Base 2.35.8 ++ g_source_query_unix_fd@Base 2.36.0 + g_source_ref@Base 2.12.0 + g_source_remove@Base 2.12.0 + g_source_remove_by_funcs_user_data@Base 2.12.0 + g_source_remove_by_user_data@Base 2.12.0 + g_source_remove_child_source@Base 2.28.0 + g_source_remove_poll@Base 2.12.0 +- g_source_remove_unix_fd@Base 2.35.8 ++ g_source_remove_unix_fd@Base 2.36.0 + g_source_set_callback@Base 2.12.0 + g_source_set_callback_indirect@Base 2.12.0 + g_source_set_can_recurse@Base 2.12.0 +- g_source_set_dispose_function@Base 2.63.3 ++ g_source_set_dispose_function@Base 2.64.0 + g_source_set_funcs@Base 2.12.0 + g_source_set_name@Base 2.26.0 + g_source_set_name_by_id@Base 2.26.0 + g_source_set_priority@Base 2.12.0 +- g_source_set_ready_time@Base 2.35.8 ++ g_source_set_ready_time@Base 2.36.0 + g_source_set_static_name@Base 2.70.0 + g_source_unref@Base 2.12.0 + g_spaced_primes_closest@Base 2.12.0 + g_spawn_async@Base 2.12.0 +- g_spawn_async_with_fds@Base 2.57.2 ++ g_spawn_async_with_fds@Base 2.58.0 + g_spawn_async_with_pipes@Base 2.12.0 +- g_spawn_async_with_pipes_and_fds@Base 2.67.4 +- g_spawn_check_exit_status@Base 2.33.14 ++ g_spawn_async_with_pipes_and_fds@Base 2.68.0 ++ g_spawn_check_exit_status@Base 2.34.0 + g_spawn_check_wait_status@Base 2.70.0 + g_spawn_close_pid@Base 2.12.0 + g_spawn_command_line_async@Base 2.12.0 + g_spawn_command_line_sync@Base 2.12.0 + g_spawn_error_quark@Base 2.12.0 +- g_spawn_exit_error_quark@Base 2.33.14 ++ g_spawn_exit_error_quark@Base 2.34.0 + g_spawn_sync@Base 2.12.0 + g_sprintf@Base 2.12.0 + g_stat@Base 2.12.0 +@@ -3343,10 +3380,10 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_str_has_prefix@Base 2.12.0 + g_str_has_suffix@Base 2.12.0 + g_str_hash@Base 2.12.0 +- g_str_is_ascii@Base 2.39.4 +- g_str_match_string@Base 2.39.4 +- g_str_to_ascii@Base 2.39.91 +- g_str_tokenize_and_fold@Base 2.39.4 ++ g_str_is_ascii@Base 2.40.0 ++ g_str_match_string@Base 2.40.0 ++ g_str_to_ascii@Base 2.40.0 ++ g_str_tokenize_and_fold@Base 2.40.0 + g_strcanon@Base 2.12.0 + g_strcasecmp@Base 2.12.0 + g_strchomp@Base 2.12.0 +@@ -3383,7 +3420,8 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_string_equal@Base 2.12.0 + g_string_erase@Base 2.12.0 + g_string_free@Base 2.12.0 +- g_string_free_to_bytes@Base 2.33.14 ++ g_string_free_and_steal@Base 2.75.3 ++ g_string_free_to_bytes@Base 2.34.0 + g_string_hash@Base 2.12.0 + g_string_insert@Base 2.12.0 + g_string_insert_c@Base 2.12.0 +@@ -3391,6 +3429,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_string_insert_unichar@Base 2.12.0 + g_string_new@Base 2.12.0 + g_string_new_len@Base 2.12.0 ++ g_string_new_take@Base 2.77.0 + g_string_overwrite@Base 2.14.0 + g_string_overwrite_len@Base 2.14.0 + g_string_prepend@Base 2.12.0 +@@ -3398,7 +3437,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_string_prepend_len@Base 2.12.0 + g_string_prepend_unichar@Base 2.12.0 + g_string_printf@Base 2.12.0 +- g_string_replace@Base 2.67.3+git20210214 ++ g_string_replace@Base 2.68.0+git20210214 + g_string_set_size@Base 2.12.0 + g_string_sized_new@Base 2.12.0 + g_string_truncate@Base 2.12.0 +@@ -3421,37 +3460,38 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_strstr_len@Base 2.12.0 + g_strtod@Base 2.12.0 + g_strup@Base 2.12.0 +- g_strv_builder_add@Base 2.67.1 ++ g_strv_builder_add@Base 2.68.0 + g_strv_builder_add_many@Base 2.70.0 + g_strv_builder_addv@Base 2.70.0 +- g_strv_builder_end@Base 2.67.1 +- g_strv_builder_new@Base 2.67.1 +- g_strv_builder_ref@Base 2.67.1 +- g_strv_builder_unref@Base 2.67.1 +- g_strv_contains@Base 2.43.2 +- g_strv_equal@Base 2.59.0 ++ g_strv_builder_end@Base 2.68.0 ++ g_strv_builder_new@Base 2.68.0 ++ g_strv_builder_ref@Base 2.68.0 ++ g_strv_builder_unref@Base 2.68.0 ++ g_strv_contains@Base 2.44.0 ++ g_strv_equal@Base 2.60.0 + g_strv_length@Base 2.12.0 + g_test_add_data_func@Base 2.16.0 +- g_test_add_data_func_full@Base 2.33.14 ++ g_test_add_data_func_full@Base 2.34.0 + g_test_add_func@Base 2.16.0 + g_test_add_vtable@Base 2.16.0 +- g_test_assert_expected_messages_internal@Base 2.33.14 ++ g_test_assert_expected_messages_internal@Base 2.34.0 + g_test_bug@Base 2.16.0 + g_test_bug_base@Base 2.16.0 +- g_test_build_filename@Base 2.37.2 ++ g_test_build_filename@Base 2.38.0 + g_test_case_free@Base 2.70.0 + g_test_config_vars@Base 2.16.0 + g_test_create_case@Base 2.16.0 + g_test_create_suite@Base 2.16.0 +- g_test_expect_message@Base 2.33.14 ++ g_test_disable_crash_reporting@Base 2.77.1 ++ g_test_expect_message@Base 2.34.0 + g_test_fail@Base 2.30.0 + g_test_fail_printf@Base 2.70.0 +- g_test_failed@Base 2.37.6 +- g_test_get_dir@Base 2.37.2 +- g_test_get_filename@Base 2.37.2 +- g_test_get_path@Base 2.67.3 ++ g_test_failed@Base 2.38.0 ++ g_test_get_dir@Base 2.38.0 ++ g_test_get_filename@Base 2.38.0 ++ g_test_get_path@Base 2.68.0 + g_test_get_root@Base 2.16.0 +- g_test_incomplete@Base 2.37.6 ++ g_test_incomplete@Base 2.38.0 + g_test_incomplete_printf@Base 2.70.0 + g_test_init@Base 2.16.0 + g_test_log_buffer_free@Base 2.16.0 +@@ -3472,14 +3512,14 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_test_rand_int_range@Base 2.16.0 + g_test_run@Base 2.16.0 + g_test_run_suite@Base 2.16.0 +- g_test_set_nonfatal_assertions@Base 2.37.6 +- g_test_skip@Base 2.37.6 ++ g_test_set_nonfatal_assertions@Base 2.38.0 ++ g_test_skip@Base 2.38.0 + g_test_skip_printf@Base 2.70.0 +- g_test_subprocess@Base 2.37.1 ++ g_test_subprocess@Base 2.38.0 + g_test_suite_add@Base 2.16.0 + g_test_suite_add_suite@Base 2.16.0 + g_test_suite_free@Base 2.70.0 +- g_test_summary@Base 2.61.1 ++ g_test_summary@Base 2.62.0 + g_test_timer_elapsed@Base 2.16.0 + g_test_timer_last@Base 2.16.0 + g_test_timer_start@Base 2.16.0 +@@ -3487,8 +3527,8 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_test_trap_fork@Base 2.16.0 + g_test_trap_has_passed@Base 2.16.0 + g_test_trap_reached_timeout@Base 2.16.0 +- g_test_trap_subprocess@Base 2.37.1 +- g_thread_create@Base 2.31.8 ++ g_test_trap_subprocess@Base 2.38.0 ++ g_thread_create@Base 2.32.0 + g_thread_create_full@Base 2.12.0 + g_thread_error_quark@Base 2.12.0 + g_thread_exit@Base 2.12.0 +@@ -3498,14 +3538,14 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_thread_gettime@Base 2.14.0 + g_thread_init_glib@Base 2.12.0 + g_thread_join@Base 2.12.0 +- g_thread_new@Base 2.31.8 ++ g_thread_new@Base 2.32.0 + g_thread_pool_free@Base 2.12.0 + g_thread_pool_get_max_idle_time@Base 2.12.0 + g_thread_pool_get_max_threads@Base 2.12.0 + g_thread_pool_get_max_unused_threads@Base 2.12.0 + g_thread_pool_get_num_threads@Base 2.12.0 + g_thread_pool_get_num_unused_threads@Base 2.12.0 +- g_thread_pool_move_to_front@Base 2.45.4 ++ g_thread_pool_move_to_front@Base 2.46.0 + g_thread_pool_new@Base 2.12.0 + g_thread_pool_new_full@Base 2.70.0 + g_thread_pool_push@Base 2.12.0 +@@ -3515,13 +3555,13 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_thread_pool_set_sort_function@Base 2.12.0 + g_thread_pool_stop_unused_threads@Base 2.12.0 + g_thread_pool_unprocessed@Base 2.12.0 +- g_thread_ref@Base 2.31.8 ++ g_thread_ref@Base 2.32.0 + g_thread_self@Base 2.12.0 + g_thread_set_priority@Base 2.12.0 +- g_thread_try_new@Base 2.31.8 +- g_thread_unref@Base 2.31.8 ++ g_thread_try_new@Base 2.32.0 ++ g_thread_unref@Base 2.32.0 + g_thread_use_default_impl@Base 2.12.0 +- g_thread_yield@Base 2.31.8 ++ g_thread_yield@Base 2.32.0 + g_threads_got_initialized@Base 2.12.0 + g_time_val_add@Base 2.12.0 + g_time_val_from_iso8601@Base 2.12.0 +@@ -3529,28 +3569,29 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_time_zone_adjust_time@Base 2.28.0 + g_time_zone_find_interval@Base 2.28.0 + g_time_zone_get_abbreviation@Base 2.28.0 +- g_time_zone_get_identifier@Base 2.57.2 ++ g_time_zone_get_identifier@Base 2.58.0 + g_time_zone_get_offset@Base 2.28.0 + g_time_zone_is_dst@Base 2.28.0 + g_time_zone_new@Base 2.26.0 +- g_time_zone_new_identifier@Base 2.67.1 ++ g_time_zone_new_identifier@Base 2.68.0 + g_time_zone_new_local@Base 2.26.0 +- g_time_zone_new_offset@Base 2.57.2 ++ g_time_zone_new_offset@Base 2.58.0 + g_time_zone_new_utc@Base 2.26.0 + g_time_zone_ref@Base 2.26.0 + g_time_zone_unref@Base 2.26.0 + g_timeout_add@Base 2.12.0 + g_timeout_add_full@Base 2.12.0 +- g_timeout_add_once@Base 2.73.1 ++ g_timeout_add_once@Base 2.74.0 + g_timeout_add_seconds@Base 2.14.0 + g_timeout_add_seconds_full@Base 2.14.0 ++ g_timeout_add_seconds_once@Base 2.77.0 + g_timeout_funcs@Base 2.12.0 + g_timeout_source_new@Base 2.12.0 + g_timeout_source_new_seconds@Base 2.14.0 + g_timer_continue@Base 2.12.0 + g_timer_destroy@Base 2.12.0 + g_timer_elapsed@Base 2.12.0 +- g_timer_is_active@Base 2.61.2 ++ g_timer_is_active@Base 2.62.0 + g_timer_new@Base 2.12.0 + g_timer_reset@Base 2.12.0 + g_timer_start@Base 2.12.0 +@@ -3561,35 +3602,35 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_trash_stack_push@Base 2.12.0 + g_tree_destroy@Base 2.12.0 + g_tree_foreach@Base 2.12.0 +- g_tree_foreach_node@Base 2.67.1 ++ g_tree_foreach_node@Base 2.68.0 + g_tree_height@Base 2.12.0 + g_tree_insert@Base 2.12.0 +- g_tree_insert_node@Base 2.67.1 ++ g_tree_insert_node@Base 2.68.0 + g_tree_lookup@Base 2.12.0 + g_tree_lookup_extended@Base 2.12.0 +- g_tree_lookup_node@Base 2.67.1 +- g_tree_lower_bound@Base 2.67.1 ++ g_tree_lookup_node@Base 2.68.0 ++ g_tree_lower_bound@Base 2.68.0 + g_tree_new@Base 2.12.0 + g_tree_new_full@Base 2.12.0 + g_tree_new_with_data@Base 2.12.0 + g_tree_nnodes@Base 2.12.0 +- g_tree_node_first@Base 2.67.1 +- g_tree_node_key@Base 2.67.1 +- g_tree_node_last@Base 2.67.1 +- g_tree_node_next@Base 2.67.1 +- g_tree_node_previous@Base 2.67.1 +- g_tree_node_value@Base 2.67.1 ++ g_tree_node_first@Base 2.68.0 ++ g_tree_node_key@Base 2.68.0 ++ g_tree_node_last@Base 2.68.0 ++ g_tree_node_next@Base 2.68.0 ++ g_tree_node_previous@Base 2.68.0 ++ g_tree_node_value@Base 2.68.0 + g_tree_ref@Base 2.22.0 + g_tree_remove@Base 2.12.0 + g_tree_remove_all@Base 2.70.0 + g_tree_replace@Base 2.12.0 +- g_tree_replace_node@Base 2.67.1 ++ g_tree_replace_node@Base 2.68.0 + g_tree_search@Base 2.12.0 +- g_tree_search_node@Base 2.67.1 ++ g_tree_search_node@Base 2.68.0 + g_tree_steal@Base 2.12.0 + g_tree_traverse@Base 2.12.0 + g_tree_unref@Base 2.22.0 +- g_tree_upper_bound@Base 2.67.1 ++ g_tree_upper_bound@Base 2.68.0 + g_try_malloc0@Base 2.12.0 + g_try_malloc0_n@Base 2.24.0 + g_try_malloc@Base 2.12.0 +@@ -3637,57 +3678,57 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_unicode_script_from_iso15924@Base 2.30.0 + g_unicode_script_to_iso15924@Base 2.30.0 + g_unix_error_quark@Base 2.30.0 +- g_unix_fd_add@Base 2.35.8 +- g_unix_fd_add_full@Base 2.35.8 +- g_unix_fd_source_funcs@Base 2.37.5 +- g_unix_fd_source_new@Base 2.35.8 +- g_unix_get_passwd_entry@Base 2.63.3 +- g_unix_open_pipe@Base 2.30.0 ++ g_unix_fd_add@Base 2.36.0 ++ g_unix_fd_add_full@Base 2.36.0 ++ g_unix_fd_source_funcs@Base 2.38.0 ++ g_unix_fd_source_new@Base 2.36.0 ++ g_unix_get_passwd_entry@Base 2.64.0 ++ g_unix_open_pipe@Base 2.77.3 + g_unix_set_fd_nonblocking@Base 2.30.0 + g_unix_signal_add@Base 2.30.0 + g_unix_signal_add_full@Base 2.30.0 +- g_unix_signal_funcs@Base 2.37.5 ++ g_unix_signal_funcs@Base 2.38.0 + g_unix_signal_source_new@Base 2.30.0 + g_unlink@Base 2.12.0 + g_unsetenv@Base 2.12.0 +- g_uri_build@Base 2.65.1 +- g_uri_build_with_user@Base 2.65.1 +- g_uri_error_quark@Base 2.65.1 +- g_uri_escape_bytes@Base 2.65.1 ++ g_uri_build@Base 2.66.0 ++ g_uri_build_with_user@Base 2.66.0 ++ g_uri_error_quark@Base 2.66.0 ++ g_uri_escape_bytes@Base 2.66.0 + g_uri_escape_string@Base 2.16.0 +- g_uri_get_auth_params@Base 2.65.1 +- g_uri_get_flags@Base 2.65.1 +- g_uri_get_fragment@Base 2.65.1 +- g_uri_get_host@Base 2.65.1 +- g_uri_get_password@Base 2.65.1 +- g_uri_get_path@Base 2.65.1 +- g_uri_get_port@Base 2.65.1 +- g_uri_get_query@Base 2.65.1 +- g_uri_get_scheme@Base 2.65.1 +- g_uri_get_user@Base 2.65.1 +- g_uri_get_userinfo@Base 2.65.1 +- g_uri_is_valid@Base 2.65.1 +- g_uri_join@Base 2.65.1 +- g_uri_join_with_user@Base 2.65.1 ++ g_uri_get_auth_params@Base 2.66.0 ++ g_uri_get_flags@Base 2.66.0 ++ g_uri_get_fragment@Base 2.66.0 ++ g_uri_get_host@Base 2.66.0 ++ g_uri_get_password@Base 2.66.0 ++ g_uri_get_path@Base 2.66.0 ++ g_uri_get_port@Base 2.66.0 ++ g_uri_get_query@Base 2.66.0 ++ g_uri_get_scheme@Base 2.66.0 ++ g_uri_get_user@Base 2.66.0 ++ g_uri_get_userinfo@Base 2.66.0 ++ g_uri_is_valid@Base 2.66.0 ++ g_uri_join@Base 2.66.0 ++ g_uri_join_with_user@Base 2.66.0 + g_uri_list_extract_uris@Base 2.12.0 +- g_uri_params_iter_init@Base 2.65.1 +- g_uri_params_iter_next@Base 2.65.1 +- g_uri_parse@Base 2.65.1 +- g_uri_parse_params@Base 2.65.1 +- g_uri_parse_relative@Base 2.65.1 ++ g_uri_params_iter_init@Base 2.66.0 ++ g_uri_params_iter_next@Base 2.66.0 ++ g_uri_parse@Base 2.66.0 ++ g_uri_parse_params@Base 2.66.0 ++ g_uri_parse_relative@Base 2.66.0 + g_uri_parse_scheme@Base 2.16.0 +- g_uri_peek_scheme@Base 2.65.1 +- g_uri_ref@Base 2.65.1 +- g_uri_resolve_relative@Base 2.65.1 +- g_uri_split@Base 2.65.1 +- g_uri_split_network@Base 2.65.1 +- g_uri_split_with_user@Base 2.65.1 +- g_uri_to_string@Base 2.65.1 +- g_uri_to_string_partial@Base 2.65.1 +- g_uri_unescape_bytes@Base 2.65.1 ++ g_uri_peek_scheme@Base 2.66.0 ++ g_uri_ref@Base 2.66.0 ++ g_uri_resolve_relative@Base 2.66.0 ++ g_uri_split@Base 2.66.0 ++ g_uri_split_network@Base 2.66.0 ++ g_uri_split_with_user@Base 2.66.0 ++ g_uri_to_string@Base 2.66.0 ++ g_uri_to_string_partial@Base 2.66.0 ++ g_uri_unescape_bytes@Base 2.66.0 + g_uri_unescape_segment@Base 2.16.0 + g_uri_unescape_string@Base 2.16.0 +- g_uri_unref@Base 2.65.1 ++ g_uri_unref@Base 2.66.0 + g_usleep@Base 2.12.0 + g_utf16_to_ucs4@Base 2.12.0 + g_utf16_to_utf8@Base 2.12.0 +@@ -3699,7 +3740,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_utf8_find_prev_char@Base 2.12.0 + g_utf8_get_char@Base 2.12.0 + g_utf8_get_char_validated@Base 2.12.0 +- g_utf8_make_valid@Base 2.51.0 ++ g_utf8_make_valid@Base 2.52.0 + g_utf8_normalize@Base 2.12.0 + g_utf8_offset_to_pointer@Base 2.12.0 + g_utf8_pointer_to_offset@Base 2.12.0 +@@ -3716,11 +3757,12 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_utf8_to_ucs4@Base 2.12.0 + g_utf8_to_ucs4_fast@Base 2.12.0 + g_utf8_to_utf16@Base 2.12.0 ++ g_utf8_truncate_middle@Base 2.77.0 + g_utf8_validate@Base 2.12.0 +- g_utf8_validate_len@Base 2.59.0 ++ g_utf8_validate_len@Base 2.60.0 + g_utime@Base 2.18.0 +- g_uuid_string_is_valid@Base 2.51.2 +- g_uuid_string_random@Base 2.51.2 ++ g_uuid_string_is_valid@Base 2.52.0 ++ g_uuid_string_random@Base 2.52.0 + g_variant_builder_add@Base 2.24.0 + g_variant_builder_add_parsed@Base 2.26.0 + g_variant_builder_add_value@Base 2.24.0 +@@ -3733,21 +3775,21 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_variant_builder_ref@Base 2.24.0 + g_variant_builder_unref@Base 2.24.0 + g_variant_byteswap@Base 2.24.0 +- g_variant_check_format_string@Base 2.33.14 ++ g_variant_check_format_string@Base 2.34.0 + g_variant_classify@Base 2.24.0 + g_variant_compare@Base 2.26.0 +- g_variant_dict_clear@Base 2.39.90 +- g_variant_dict_contains@Base 2.39.90 +- g_variant_dict_end@Base 2.39.90 +- g_variant_dict_init@Base 2.39.90 +- g_variant_dict_insert@Base 2.39.90 +- g_variant_dict_insert_value@Base 2.39.90 +- g_variant_dict_lookup@Base 2.39.90 +- g_variant_dict_lookup_value@Base 2.39.90 +- g_variant_dict_new@Base 2.39.90 +- g_variant_dict_ref@Base 2.39.90 +- g_variant_dict_remove@Base 2.39.90 +- g_variant_dict_unref@Base 2.39.90 ++ g_variant_dict_clear@Base 2.40.0 ++ g_variant_dict_contains@Base 2.40.0 ++ g_variant_dict_end@Base 2.40.0 ++ g_variant_dict_init@Base 2.40.0 ++ g_variant_dict_insert@Base 2.40.0 ++ g_variant_dict_insert_value@Base 2.40.0 ++ g_variant_dict_lookup@Base 2.40.0 ++ g_variant_dict_lookup_value@Base 2.40.0 ++ g_variant_dict_new@Base 2.40.0 ++ g_variant_dict_ref@Base 2.40.0 ++ g_variant_dict_remove@Base 2.40.0 ++ g_variant_dict_unref@Base 2.40.0 + g_variant_dup_bytestring@Base 2.26.0 + g_variant_dup_bytestring_array@Base 2.26.0 + g_variant_dup_objv@Base 2.30.0 +@@ -3764,7 +3806,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_variant_get_child@Base 2.24.0 + g_variant_get_child_value@Base 2.24.0 + g_variant_get_data@Base 2.24.0 +- g_variant_get_data_as_bytes@Base 2.35.8 ++ g_variant_get_data_as_bytes@Base 2.36.0 + g_variant_get_double@Base 2.24.0 + g_variant_get_fixed_array@Base 2.24.0 + g_variant_get_handle@Base 2.24.0 +@@ -3810,8 +3852,8 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_variant_new_bytestring_array@Base 2.26.0 + g_variant_new_dict_entry@Base 2.24.0 + g_variant_new_double@Base 2.24.0 +- g_variant_new_fixed_array@Base 2.31.8 +- g_variant_new_from_bytes@Base 2.35.8 ++ g_variant_new_fixed_array@Base 2.32.0 ++ g_variant_new_from_bytes@Base 2.36.0 + g_variant_new_from_data@Base 2.24.0 + g_variant_new_handle@Base 2.24.0 + g_variant_new_int16@Base 2.24.0 +@@ -3822,11 +3864,11 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_variant_new_objv@Base 2.30.0 + g_variant_new_parsed@Base 2.24.0 + g_variant_new_parsed_va@Base 2.24.0 +- g_variant_new_printf@Base 2.37.5 ++ g_variant_new_printf@Base 2.38.0 + g_variant_new_signature@Base 2.24.0 + g_variant_new_string@Base 2.24.0 + g_variant_new_strv@Base 2.24.0 +- g_variant_new_take_string@Base 2.37.0 ++ g_variant_new_take_string@Base 2.38.0 + g_variant_new_tuple@Base 2.24.0 + g_variant_new_uint16@Base 2.24.0 + g_variant_new_uint32@Base 2.24.0 +@@ -3834,15 +3876,15 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_variant_new_va@Base 2.24.0 + g_variant_new_variant@Base 2.24.0 + g_variant_parse@Base 2.24.0 +- g_variant_parse_error_print_context@Base 2.39.4 +- g_variant_parse_error_quark@Base 2.39.4 ++ g_variant_parse_error_print_context@Base 2.40.0 ++ g_variant_parse_error_quark@Base 2.40.0 + g_variant_parser_get_error_quark@Base 2.24.0 + g_variant_print@Base 2.24.0 + g_variant_print_string@Base 2.24.0 + g_variant_ref@Base 2.24.0 + g_variant_ref_sink@Base 2.24.0 + g_variant_serialised_byteswap@Base 2.24.0 +- g_variant_serialised_check@Base 2.59.0 ++ g_variant_serialised_check@Base 2.60.0 + g_variant_serialised_get_child@Base 2.24.0 + g_variant_serialised_is_normal@Base 2.24.0 + g_variant_serialised_n_children@Base 2.24.0 +@@ -3902,7 +3944,7 @@ libglib-2.0.so.0 libglib2.0-0 #MINVER# + g_vsnprintf@Base 2.12.0 + g_vsprintf@Base 2.12.0 + g_warn_message@Base 2.16.0 +- glib__private__@Base 2.31.8 ++ glib__private__@Base 2.32.0 + glib_binary_age@Base 2.12.0 + glib_check_version@Base 2.12.0 + glib_gettext@Base 2.16.0 +@@ -3928,8 +3970,8 @@ libgmodule-2.0.so.0 libglib2.0-0 #MINVER# + libgobject-2.0.so.0 libglib2.0-0 #MINVER# + * Build-Depends-Package: libglib2.0-dev + g_array_get_type@Base 2.22.0 +- g_binding_dup_source@Base 2.67.1 +- g_binding_dup_target@Base 2.67.1 ++ g_binding_dup_source@Base 2.68.0 ++ g_binding_dup_target@Base 2.68.0 + g_binding_flags_get_type@Base 2.26.0 + g_binding_get_flags@Base 2.26.0 + g_binding_get_source@Base 2.26.0 +@@ -3937,72 +3979,73 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_binding_get_target@Base 2.26.0 + g_binding_get_target_property@Base 2.26.0 + g_binding_get_type@Base 2.26.0 +- g_binding_group_bind@Base 2.71.2 +- g_binding_group_bind_full@Base 2.71.2 +- g_binding_group_bind_with_closures@Base 2.71.2 +- g_binding_group_dup_source@Base 2.71.2 +- g_binding_group_get_type@Base 2.71.2 +- g_binding_group_new@Base 2.71.2 +- g_binding_group_set_source@Base 2.71.2 +- g_binding_unbind@Base 2.37.1 ++ g_binding_group_bind@Base 2.72.0 ++ g_binding_group_bind_full@Base 2.72.0 ++ g_binding_group_bind_with_closures@Base 2.72.0 ++ g_binding_group_dup_source@Base 2.72.0 ++ g_binding_group_get_type@Base 2.72.0 ++ g_binding_group_new@Base 2.72.0 ++ g_binding_group_set_source@Base 2.72.0 ++ g_binding_unbind@Base 2.38.0 ++ g_bookmark_file_get_type@Base 2.75.0 + g_boxed_copy@Base 2.12.0 + g_boxed_free@Base 2.12.0 + g_boxed_type_register_static@Base 2.12.0 + g_byte_array_get_type@Base 2.22.0 +- g_bytes_get_type@Base 2.31.8 ++ g_bytes_get_type@Base 2.32.0 + g_cclosure_marshal_BOOLEAN__BOXED_BOXED@Base 2.26.0 +- g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv@Base 2.31.20 ++ g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv@Base 2.32.0 + g_cclosure_marshal_BOOLEAN__FLAGS@Base 2.12.0 +- g_cclosure_marshal_BOOLEAN__FLAGSv@Base 2.31.20 ++ g_cclosure_marshal_BOOLEAN__FLAGSv@Base 2.32.0 + g_cclosure_marshal_STRING__OBJECT_POINTER@Base 2.12.0 +- g_cclosure_marshal_STRING__OBJECT_POINTERv@Base 2.31.20 ++ g_cclosure_marshal_STRING__OBJECT_POINTERv@Base 2.32.0 + g_cclosure_marshal_VOID__BOOLEAN@Base 2.12.0 +- g_cclosure_marshal_VOID__BOOLEANv@Base 2.31.20 ++ g_cclosure_marshal_VOID__BOOLEANv@Base 2.32.0 + g_cclosure_marshal_VOID__BOXED@Base 2.12.0 +- g_cclosure_marshal_VOID__BOXEDv@Base 2.31.20 ++ g_cclosure_marshal_VOID__BOXEDv@Base 2.32.0 + g_cclosure_marshal_VOID__CHAR@Base 2.12.0 +- g_cclosure_marshal_VOID__CHARv@Base 2.31.20 ++ g_cclosure_marshal_VOID__CHARv@Base 2.32.0 + g_cclosure_marshal_VOID__DOUBLE@Base 2.12.0 +- g_cclosure_marshal_VOID__DOUBLEv@Base 2.31.20 ++ g_cclosure_marshal_VOID__DOUBLEv@Base 2.32.0 + g_cclosure_marshal_VOID__ENUM@Base 2.12.0 +- g_cclosure_marshal_VOID__ENUMv@Base 2.31.20 ++ g_cclosure_marshal_VOID__ENUMv@Base 2.32.0 + g_cclosure_marshal_VOID__FLAGS@Base 2.12.0 +- g_cclosure_marshal_VOID__FLAGSv@Base 2.31.20 ++ g_cclosure_marshal_VOID__FLAGSv@Base 2.32.0 + g_cclosure_marshal_VOID__FLOAT@Base 2.12.0 +- g_cclosure_marshal_VOID__FLOATv@Base 2.31.20 ++ g_cclosure_marshal_VOID__FLOATv@Base 2.32.0 + g_cclosure_marshal_VOID__INT@Base 2.12.0 +- g_cclosure_marshal_VOID__INTv@Base 2.31.20 ++ g_cclosure_marshal_VOID__INTv@Base 2.32.0 + g_cclosure_marshal_VOID__LONG@Base 2.12.0 +- g_cclosure_marshal_VOID__LONGv@Base 2.31.20 ++ g_cclosure_marshal_VOID__LONGv@Base 2.32.0 + g_cclosure_marshal_VOID__OBJECT@Base 2.12.0 +- g_cclosure_marshal_VOID__OBJECTv@Base 2.31.20 ++ g_cclosure_marshal_VOID__OBJECTv@Base 2.32.0 + g_cclosure_marshal_VOID__PARAM@Base 2.12.0 +- g_cclosure_marshal_VOID__PARAMv@Base 2.31.20 ++ g_cclosure_marshal_VOID__PARAMv@Base 2.32.0 + g_cclosure_marshal_VOID__POINTER@Base 2.12.0 +- g_cclosure_marshal_VOID__POINTERv@Base 2.31.20 ++ g_cclosure_marshal_VOID__POINTERv@Base 2.32.0 + g_cclosure_marshal_VOID__STRING@Base 2.12.0 +- g_cclosure_marshal_VOID__STRINGv@Base 2.31.20 ++ g_cclosure_marshal_VOID__STRINGv@Base 2.32.0 + g_cclosure_marshal_VOID__UCHAR@Base 2.12.0 +- g_cclosure_marshal_VOID__UCHARv@Base 2.31.20 ++ g_cclosure_marshal_VOID__UCHARv@Base 2.32.0 + g_cclosure_marshal_VOID__UINT@Base 2.12.0 + g_cclosure_marshal_VOID__UINT_POINTER@Base 2.12.0 +- g_cclosure_marshal_VOID__UINT_POINTERv@Base 2.31.20 +- g_cclosure_marshal_VOID__UINTv@Base 2.31.20 ++ g_cclosure_marshal_VOID__UINT_POINTERv@Base 2.32.0 ++ g_cclosure_marshal_VOID__UINTv@Base 2.32.0 + g_cclosure_marshal_VOID__ULONG@Base 2.12.0 +- g_cclosure_marshal_VOID__ULONGv@Base 2.31.20 ++ g_cclosure_marshal_VOID__ULONGv@Base 2.32.0 + g_cclosure_marshal_VOID__VARIANT@Base 2.26.0 +- g_cclosure_marshal_VOID__VARIANTv@Base 2.31.20 ++ g_cclosure_marshal_VOID__VARIANTv@Base 2.32.0 + g_cclosure_marshal_VOID__VOID@Base 2.12.0 +- g_cclosure_marshal_VOID__VOIDv@Base 2.31.20 ++ g_cclosure_marshal_VOID__VOIDv@Base 2.32.0 + g_cclosure_marshal_generic@Base 2.30.0 +- g_cclosure_marshal_generic_va@Base 2.31.20 ++ g_cclosure_marshal_generic_va@Base 2.32.0 + g_cclosure_new@Base 2.12.0 + g_cclosure_new_object@Base 2.12.0 + g_cclosure_new_object_swap@Base 2.12.0 + g_cclosure_new_swap@Base 2.12.0 +- g_checksum_get_type@Base 2.35.8 ++ g_checksum_get_type@Base 2.36.0 + g_clear_object@Base 2.28.0 +- g_clear_signal_handler@Base 2.61.1 ++ g_clear_signal_handler@Base 2.62.0 + g_closure_add_finalize_notifier@Base 2.12.0 + g_closure_add_invalidate_notifier@Base 2.12.0 + g_closure_add_marshal_guards@Base 2.12.0 +@@ -4025,27 +4068,27 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_enum_get_value_by_name@Base 2.12.0 + g_enum_get_value_by_nick@Base 2.12.0 + g_enum_register_static@Base 2.12.0 +- g_enum_to_string@Base 2.53.1 ++ g_enum_to_string@Base 2.54.0 + g_error_get_type@Base 2.26.0 + g_flags_complete_type_info@Base 2.12.0 + g_flags_get_first_value@Base 2.12.0 + g_flags_get_value_by_name@Base 2.12.0 + g_flags_get_value_by_nick@Base 2.12.0 + g_flags_register_static@Base 2.12.0 +- g_flags_to_string@Base 2.53.1 ++ g_flags_to_string@Base 2.54.0 + g_gstring_get_type@Base 2.12.0 + g_gtype_get_type@Base 2.12.0 + g_hash_table_get_type@Base 2.12.0 + g_initially_unowned_get_type@Base 2.12.0 + g_io_channel_get_type@Base 2.12.0 + g_io_condition_get_type@Base 2.12.0 +- g_key_file_get_type@Base 2.31.8 ++ g_key_file_get_type@Base 2.32.0 + g_main_context_get_type@Base 2.30.0 + g_main_loop_get_type@Base 2.30.0 +- g_mapped_file_get_type@Base 2.39.4 +- g_markup_parse_context_get_type@Base 2.35.8 ++ g_mapped_file_get_type@Base 2.40.0 ++ g_markup_parse_context_get_type@Base 2.36.0 + g_match_info_get_type@Base 2.30.0 +- g_normalize_mode_get_type@Base 2.59.2 ++ g_normalize_mode_get_type@Base 2.60.0 + g_object_add_toggle_ref@Base 2.12.0 + g_object_add_weak_pointer@Base 2.12.0 + g_object_bind_property@Base 2.26.0 +@@ -4059,8 +4102,8 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_object_compat_control@Base 2.12.0 + g_object_connect@Base 2.12.0 + g_object_disconnect@Base 2.12.0 +- g_object_dup_data@Base 2.33.14 +- g_object_dup_qdata@Base 2.33.14 ++ g_object_dup_data@Base 2.34.0 ++ g_object_dup_qdata@Base 2.34.0 + g_object_force_floating@Base 2.12.0 + g_object_freeze_notify@Base 2.12.0 + g_object_get@Base 2.12.0 +@@ -4069,24 +4112,23 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_object_get_qdata@Base 2.12.0 + g_object_get_type@Base 2.18.0 + g_object_get_valist@Base 2.12.0 +- g_object_getv@Base 2.53.1 ++ g_object_getv@Base 2.54.0 + g_object_interface_find_property@Base 2.12.0 + g_object_interface_install_property@Base 2.12.0 + g_object_interface_list_properties@Base 2.12.0 + g_object_is_floating@Base 2.12.0 + g_object_new@Base 2.12.0 + g_object_new_valist@Base 2.12.0 ++ g_object_new_with_properties@Base 2.54.0 + g_object_newv@Base 2.12.0 +- g_object_new_with_properties@Base 2.53.1 + g_object_notify@Base 2.12.0 + g_object_notify_by_pspec@Base 2.26.0 + g_object_ref@Base 2.12.0 + g_object_ref_sink@Base 2.12.0 +- g_object_take_ref@Base 2.70.0 + g_object_remove_toggle_ref@Base 2.12.0 + g_object_remove_weak_pointer@Base 2.12.0 +- g_object_replace_data@Base 2.33.14 +- g_object_replace_qdata@Base 2.33.14 ++ g_object_replace_data@Base 2.34.0 ++ g_object_replace_qdata@Base 2.34.0 + g_object_run_dispose@Base 2.12.0 + g_object_set@Base 2.12.0 + g_object_set_data@Base 2.12.0 +@@ -4095,15 +4137,16 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_object_set_qdata@Base 2.12.0 + g_object_set_qdata_full@Base 2.12.0 + g_object_set_valist@Base 2.12.0 +- g_object_setv@Base 2.53.1 ++ g_object_setv@Base 2.54.0 + g_object_steal_data@Base 2.12.0 + g_object_steal_qdata@Base 2.12.0 ++ g_object_take_ref@Base 2.70.0 + g_object_thaw_notify@Base 2.12.0 + g_object_unref@Base 2.12.0 + g_object_watch_closure@Base 2.12.0 + g_object_weak_ref@Base 2.12.0 + g_object_weak_unref@Base 2.12.0 +- g_option_group_get_type@Base 2.43.90 ++ g_option_group_get_type@Base 2.44.0 + g_param_spec_boolean@Base 2.12.0 + g_param_spec_boxed@Base 2.12.0 + g_param_spec_char@Base 2.12.0 +@@ -4112,9 +4155,9 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_param_spec_flags@Base 2.12.0 + g_param_spec_float@Base 2.12.0 + g_param_spec_get_blurb@Base 2.12.0 +- g_param_spec_get_default_value@Base 2.37.0 ++ g_param_spec_get_default_value@Base 2.38.0 + g_param_spec_get_name@Base 2.12.0 +- g_param_spec_get_name_quark@Base 2.45.8 ++ g_param_spec_get_name_quark@Base 2.46.0 + g_param_spec_get_nick@Base 2.12.0 + g_param_spec_get_qdata@Base 2.12.0 + g_param_spec_get_redirect_target@Base 2.12.0 +@@ -4122,7 +4165,7 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_param_spec_int64@Base 2.12.0 + g_param_spec_int@Base 2.12.0 + g_param_spec_internal@Base 2.12.0 +- g_param_spec_is_valid_name@Base 2.65.1 ++ g_param_spec_is_valid_name@Base 2.66.0 + g_param_spec_long@Base 2.12.0 + g_param_spec_object@Base 2.12.0 + g_param_spec_override@Base 2.12.0 +@@ -4153,13 +4196,13 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_param_type_register_static@Base 2.12.0 + g_param_value_convert@Base 2.12.0 + g_param_value_defaults@Base 2.12.0 +- g_param_value_is_valid@Base 2.73.1 ++ g_param_value_is_valid@Base 2.74.0 + g_param_value_set_default@Base 2.12.0 + g_param_value_validate@Base 2.12.0 + g_param_values_cmp@Base 2.12.0 + g_pattern_spec_get_type@Base 2.70.0 + g_pointer_type_register_static@Base 2.12.0 +- g_pollfd_get_type@Base 2.35.8 ++ g_pollfd_get_type@Base 2.36.0 + g_ptr_array_get_type@Base 2.22.0 + g_regex_get_type@Base 2.14.0 + g_signal_accumulator_first_wins@Base 2.28.0 +@@ -4176,18 +4219,18 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_signal_emit_valist@Base 2.12.0 + g_signal_emitv@Base 2.12.0 + g_signal_get_invocation_hint@Base 2.12.0 +- g_signal_group_block@Base 2.71.2 +- g_signal_group_connect@Base 2.71.2 +- g_signal_group_connect_after@Base 2.71.2 +- g_signal_group_connect_closure@Base 2.73.1 +- g_signal_group_connect_data@Base 2.71.2 +- g_signal_group_connect_object@Base 2.71.2 +- g_signal_group_connect_swapped@Base 2.71.2 +- g_signal_group_dup_target@Base 2.71.2 +- g_signal_group_get_type@Base 2.71.2 +- g_signal_group_new@Base 2.71.2 +- g_signal_group_set_target@Base 2.71.2 +- g_signal_group_unblock@Base 2.71.2 ++ g_signal_group_block@Base 2.72.0 ++ g_signal_group_connect@Base 2.72.0 ++ g_signal_group_connect_after@Base 2.72.0 ++ g_signal_group_connect_closure@Base 2.74.0 ++ g_signal_group_connect_data@Base 2.72.0 ++ g_signal_group_connect_object@Base 2.72.0 ++ g_signal_group_connect_swapped@Base 2.72.0 ++ g_signal_group_dup_target@Base 2.72.0 ++ g_signal_group_get_type@Base 2.72.0 ++ g_signal_group_new@Base 2.72.0 ++ g_signal_group_set_target@Base 2.72.0 ++ g_signal_group_unblock@Base 2.72.0 + g_signal_handler_block@Base 2.12.0 + g_signal_handler_disconnect@Base 2.12.0 + g_signal_handler_find@Base 2.12.0 +@@ -4198,7 +4241,7 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_signal_handlers_disconnect_matched@Base 2.12.0 + g_signal_handlers_unblock_matched@Base 2.12.0 + g_signal_has_handler_pending@Base 2.12.0 +- g_signal_is_valid_name@Base 2.65.1 ++ g_signal_is_valid_name@Base 2.66.0 + g_signal_list_ids@Base 2.12.0 + g_signal_lookup@Base 2.12.0 + g_signal_name@Base 2.12.0 +@@ -4211,7 +4254,7 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_signal_parse_name@Base 2.12.0 + g_signal_query@Base 2.12.0 + g_signal_remove_emission_hook@Base 2.12.0 +- g_signal_set_va_marshaller@Base 2.31.20 ++ g_signal_set_va_marshaller@Base 2.32.0 + g_signal_stop_emission@Base 2.12.0 + g_signal_stop_emission_by_name@Base 2.12.0 + g_signal_type_cclosure_new@Base 2.12.0 +@@ -4220,12 +4263,12 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_source_set_dummy_callback@Base 2.28.0 + g_strdup_value_contents@Base 2.12.0 + g_strv_get_type@Base 2.12.0 +- g_thread_get_type@Base 2.35.8 +- g_time_zone_get_type@Base 2.33.14 +- g_tree_get_type@Base 2.67.1 ++ g_thread_get_type@Base 2.36.0 ++ g_time_zone_get_type@Base 2.34.0 ++ g_tree_get_type@Base 2.68.0 + g_type_add_class_cache_func@Base 2.12.0 + g_type_add_class_private@Base 2.24.0 +- g_type_add_instance_private@Base 2.37.3 ++ g_type_add_instance_private@Base 2.38.0 + g_type_add_interface_check@Base 2.12.0 + g_type_add_interface_dynamic@Base 2.12.0 + g_type_add_interface_static@Base 2.12.0 +@@ -4234,14 +4277,14 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_type_check_instance@Base 2.12.0 + g_type_check_instance_cast@Base 2.12.0 + g_type_check_instance_is_a@Base 2.12.0 +- g_type_check_instance_is_fundamentally_a@Base 2.41.1 ++ g_type_check_instance_is_fundamentally_a@Base 2.42.0 + g_type_check_is_value_type@Base 2.12.0 + g_type_check_value@Base 2.12.0 + g_type_check_value_holds@Base 2.12.0 + g_type_children@Base 2.12.0 + g_type_class_add_private@Base 2.12.0 +- g_type_class_adjust_private_offset@Base 2.37.3 +- g_type_class_get_instance_private_offset@Base 2.37.0 ++ g_type_class_adjust_private_offset@Base 2.38.0 ++ g_type_class_get_instance_private_offset@Base 2.38.0 + g_type_class_get_private@Base 2.24.0 + g_type_class_peek@Base 2.12.0 + g_type_class_peek_parent@Base 2.12.0 +@@ -4254,21 +4297,21 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_type_default_interface_ref@Base 2.12.0 + g_type_default_interface_unref@Base 2.12.0 + g_type_depth@Base 2.12.0 +- g_type_ensure@Base 2.33.14 ++ g_type_ensure@Base 2.34.0 + g_type_free_instance@Base 2.12.0 + g_type_from_name@Base 2.12.0 + g_type_fundamental@Base 2.12.0 + g_type_fundamental_next@Base 2.12.0 +- g_type_get_instance_count@Base 2.43.1 ++ g_type_get_instance_count@Base 2.44.0 + g_type_get_plugin@Base 2.12.0 + g_type_get_qdata@Base 2.12.0 +- g_type_get_type_registration_serial@Base 2.35.8 ++ g_type_get_type_registration_serial@Base 2.36.0 + g_type_init@Base 2.12.0 + g_type_init_with_debug_flags@Base 2.12.0 + g_type_instance_get_private@Base 2.12.0 + g_type_interface_add_prerequisite@Base 2.12.0 + g_type_interface_get_plugin@Base 2.12.0 +- g_type_interface_instantiatable_prerequisite@Base 2.67.1 ++ g_type_interface_instantiatable_prerequisite@Base 2.68.0 + g_type_interface_peek@Base 2.12.0 + g_type_interface_peek_parent@Base 2.12.0 + g_type_interface_prerequisites@Base 2.12.0 +@@ -4303,10 +4346,10 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_type_set_qdata@Base 2.12.0 + g_type_test_flags@Base 2.12.0 + g_type_value_table_peek@Base 2.12.0 +- g_unicode_break_type_get_type@Base 2.59.2 +- g_unicode_script_get_type@Base 2.59.2 +- g_unicode_type_get_type@Base 2.59.2 +- g_uri_get_type@Base 2.65.1 ++ g_unicode_break_type_get_type@Base 2.60.0 ++ g_unicode_script_get_type@Base 2.60.0 ++ g_unicode_type_get_type@Base 2.60.0 ++ g_uri_get_type@Base 2.66.0 + g_value_array_append@Base 2.12.0 + g_value_array_copy@Base 2.12.0 + g_value_array_free@Base 2.12.0 +@@ -4339,7 +4382,7 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_value_get_object@Base 2.12.0 + g_value_get_param@Base 2.12.0 + g_value_get_pointer@Base 2.12.0 +- g_value_get_schar@Base 2.31.8 ++ g_value_get_schar@Base 2.32.0 + g_value_get_string@Base 2.12.0 + g_value_get_type@Base 2.12.0 + g_value_get_uchar@Base 2.12.0 +@@ -4348,7 +4391,7 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_value_get_ulong@Base 2.12.0 + g_value_get_variant@Base 2.26.0 + g_value_init@Base 2.12.0 +- g_value_init_from_instance@Base 2.41.2 ++ g_value_init_from_instance@Base 2.42.0 + g_value_peek_pointer@Base 2.12.0 + g_value_register_transform_func@Base 2.12.0 + g_value_reset@Base 2.12.0 +@@ -4364,14 +4407,14 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_value_set_instance@Base 2.12.0 + g_value_set_int64@Base 2.12.0 + g_value_set_int@Base 2.12.0 +- g_value_set_interned_string@Base 2.65.1 ++ g_value_set_interned_string@Base 2.66.0 + g_value_set_long@Base 2.12.0 + g_value_set_object@Base 2.12.0 + g_value_set_object_take_ownership@Base 2.12.0 + g_value_set_param@Base 2.12.0 + g_value_set_param_take_ownership@Base 2.12.0 + g_value_set_pointer@Base 2.12.0 +- g_value_set_schar@Base 2.31.8 ++ g_value_set_schar@Base 2.32.0 + g_value_set_static_boxed@Base 2.12.0 + g_value_set_static_string@Base 2.12.0 + g_value_set_string@Base 2.12.0 +@@ -4391,13 +4434,13 @@ libgobject-2.0.so.0 libglib2.0-0 #MINVER# + g_value_type_transformable@Base 2.12.0 + g_value_unset@Base 2.12.0 + g_variant_builder_get_type@Base 2.30.0 +- g_variant_dict_get_type@Base 2.39.90 ++ g_variant_dict_get_type@Base 2.40.0 + g_variant_get_gtype@Base 2.24.0 + g_variant_type_get_gtype@Base 2.24.0 +- g_weak_ref_clear@Base 2.31.8 +- g_weak_ref_get@Base 2.31.8 +- g_weak_ref_init@Base 2.31.8 +- g_weak_ref_set@Base 2.31.8 ++ g_weak_ref_clear@Base 2.32.0 ++ g_weak_ref_get@Base 2.32.0 ++ g_weak_ref_init@Base 2.32.0 ++ g_weak_ref_set@Base 2.32.0 + libgthread-2.0.so.0 libglib2.0-0 #MINVER# + * Build-Depends-Package: libglib2.0-dev + g_thread_init@Base 2.12.0 diff --git a/debian/patches/dh_missing.patch b/debian/patches/dh_missing.patch new file mode 100644 index 0000000..6f8f6aa --- /dev/null +++ b/debian/patches/dh_missing.patch @@ -0,0 +1,20 @@ +From: Yue-Lan +Date: Thu, 29 Feb 2024 16:32:19 +0800 +Subject: =?utf-8?b?5L+u5aSNZGhfbWlzc2luZ+aKpemUmQ==?= + +--- + debian/libglib2.0-dev.install | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/debian/libglib2.0-dev.install b/debian/libglib2.0-dev.install +index 5317a40..0c02e08 100644 +--- a/debian/libglib2.0-dev.install ++++ b/debian/libglib2.0-dev.install +@@ -9,6 +9,7 @@ usr/lib/*/libgthread*.so + usr/lib/*/pkgconfig + usr/share/gdb + usr/share/gettext/its ++usr/share/glib-2.0/dtds + usr/share/glib-2.0/gdb + usr/share/glib-2.0/schemas + usr/share/glib-2.0/valgrind diff --git a/debian/patches/fix-trash-issue-in-data.patch b/debian/patches/fix-trash-issue-in-data.patch new file mode 100644 index 0000000..186545e --- /dev/null +++ b/debian/patches/fix-trash-issue-in-data.patch @@ -0,0 +1,23 @@ +From: Debian GNOME Maintainers + +Date: Wed, 29 Jun 2022 16:00:15 +0800 +Subject: fix-trash-issue-in-data + +=================================================================== +--- + gio/glocalfile.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gio/glocalfile.c b/gio/glocalfile.c +index 9303902..c357267 100644 +--- a/gio/glocalfile.c ++++ b/gio/glocalfile.c +@@ -2050,7 +2050,7 @@ g_local_file_trash (GFile *file, + g_free (path); + } + +- is_local_file_in_usershare = g_str_has_prefix(local->filename, "/data/usershare"); ++ is_local_file_in_usershare = g_str_has_prefix(local->filename, "/data") && g_file_test ("/data/usershare", G_FILE_TEST_EXISTS); + if (file_stat.st_dev == home_stat.st_dev && !is_local_file_in_usershare) + { + is_homedir_trash = TRUE; diff --git a/debian/patches/gdbus-server-auth-Normally-skip-flaky-DBUS_COOKIE_SHA1-te.patch b/debian/patches/gdbus-server-auth-Normally-skip-flaky-DBUS_COOKIE_SHA1-te.patch new file mode 100644 index 0000000..16861a8 --- /dev/null +++ b/debian/patches/gdbus-server-auth-Normally-skip-flaky-DBUS_COOKIE_SHA1-te.patch @@ -0,0 +1,35 @@ +From: Simon McVittie +Date: Thu, 19 Nov 2020 10:44:39 +0000 +Subject: gdbus-server-auth: Normally skip flaky DBUS_COOKIE_SHA1 tests + +These intermittently fail on the buildds, but the failure cannot be +reproduced in a debugging environment. + +We do not expect to use D-Bus over TCP on non-Windows platforms: we use +an AF_UNIX socket, which is much more robust and secure. However, when +using AF_UNIX, DBUS_COOKIE_SHA1 is unnecessary, because we can use the +more reliable EXTERNAL authentication. + +Forwarded: not-needed +--- + gio/tests/gdbus-server-auth.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/gio/tests/gdbus-server-auth.c b/gio/tests/gdbus-server-auth.c +index 319a994..e7f112a 100644 +--- a/gio/tests/gdbus-server-auth.c ++++ b/gio/tests/gdbus-server-auth.c +@@ -327,6 +327,13 @@ do_test_server_auth (InteropFlags flags) + } + #endif + ++ if ((flags & (INTEROP_FLAGS_TCP | INTEROP_FLAGS_SHA1)) && ++ g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("https://gitlab.gnome.org/GNOME/glib/-/issues/2206"); ++ goto out; ++ } ++ + if (flags & INTEROP_FLAGS_ANONYMOUS) + server_flags |= G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS; + if (flags & INTEROP_FLAGS_REQUIRE_SAME_USER) diff --git a/debian/patches/kylin-process-manager-dbus-1.patch b/debian/patches/kylin-process-manager-dbus-1.patch new file mode 100644 index 0000000..63a59b0 --- /dev/null +++ b/debian/patches/kylin-process-manager-dbus-1.patch @@ -0,0 +1,45 @@ +From: Yue-Lan +Date: Tue, 5 Dec 2023 15:31:42 +0800 +Subject: =?utf-8?b?57un57ut6YCC6YWNa3lsaW4tcHJvY2Vzcy1tYW5hZ2Vy55qEZGJ1cw==?= + =?utf-8?b?5o6l5Y+j77yM5bCd6K+V5L+u5aSN57yW56CB6Zeu6aKY?= + +--- + gio/gdesktopappinfo.c | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/gio/gdesktopappinfo.c b/gio/gdesktopappinfo.c +index 1d9bb67..2023bd6 100644 +--- a/gio/gdesktopappinfo.c ++++ b/gio/gdesktopappinfo.c +@@ -3278,21 +3278,21 @@ g_desktop_app_info_launch_with_kylin_process_manager (GDesktopAppInfo *info, + GAsyncReadyCallback callback, + gpointer user_data) + { +- const gchar *cmd = g_app_info_get_executable (G_DESKTOP_APP_INFO (info)); +- gchar *args = g_strdup (cmd); +- GList *iter = uris; ++ const gchar *path = g_desktop_app_info_get_filename (G_DESKTOP_APP_INFO (info)); + GVariantBuilder builder; ++ GList *iter; ++ g_variant_builder_init (&builder, G_VARIANT_TYPE_TUPLE); ++ g_variant_builder_add (&builder, "s", path); ++ g_variant_builder_open (&builder, G_VARIANT_TYPE_STRING_ARRAY); ++ iter = uris; + while (iter) { + char *uri = iter->data; +- char *tmp_args = g_strconcat (args, " ", uri, NULL); +- g_free (args); +- args = tmp_args; ++ g_variant_builder_add (&builder, "s", uri); + iter = iter->next; + } +- g_variant_builder_init (&builder, G_VARIANT_TYPE_TUPLE); +- g_variant_builder_add (&builder, "s", args); +- g_free (args); +- g_dbus_connection_call (session_bus, "com.kylin.ProcessManager", "/com/kylin/ProcessManager/AppLauncher", "com.kylin.ProcessManager.AppLauncher", "RunCommand", ++ g_variant_builder_close (&builder); ++ ++ g_dbus_connection_call (session_bus, "com.kylin.ProcessManager", "/com/kylin/ProcessManager/AppLauncher", "com.kylin.ProcessManager.AppLauncher", "LaunchAppWithArguments", + g_variant_builder_end (&builder), NULL, G_DBUS_CALL_FLAGS_NONE, -1, cancellable, callback, user_data); + } + diff --git a/debian/patches/kylin-process-manager-dbus.patch b/debian/patches/kylin-process-manager-dbus.patch new file mode 100644 index 0000000..092769a --- /dev/null +++ b/debian/patches/kylin-process-manager-dbus.patch @@ -0,0 +1,22 @@ +From: Yue-Lan +Date: Mon, 4 Dec 2023 16:47:37 +0800 +Subject: =?utf-8?b?6YCC6YWNa3lsaW4tcHJvY2Vzcy1tYW5hZ2Vy55qEZGJ1c+aOpeWPow==?= + =?utf-8?b?6Kej5p6Q6KeE5YiZ?= + +--- + gio/gdesktopappinfo.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gio/gdesktopappinfo.c b/gio/gdesktopappinfo.c +index d14db3e..1d9bb67 100644 +--- a/gio/gdesktopappinfo.c ++++ b/gio/gdesktopappinfo.c +@@ -3278,7 +3278,7 @@ g_desktop_app_info_launch_with_kylin_process_manager (GDesktopAppInfo *info, + GAsyncReadyCallback callback, + gpointer user_data) + { +- const gchar *cmd = g_app_info_get_commandline (G_DESKTOP_APP_INFO (info)); ++ const gchar *cmd = g_app_info_get_executable (G_DESKTOP_APP_INFO (info)); + gchar *args = g_strdup (cmd); + GList *iter = uris; + GVariantBuilder builder; diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..fd332c6 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,39 @@ +0001-timer-test-use-volatile-for-locals.patch +debian/03_disble_glib_compile_schemas_warning.patch +debian/closures-test-Skip-on-arm-unless-flaky-tests-are-allowed.patch +debian/Disable-some-tests-on-slow-architectures-which-keep-faili.patch +debian/Skip-test-which-performs-some-unreliable-floating-point-c.patch +debian/Skip-unreliable-gdbus-threading-tests--by-default.patch +debian/gmenumodel-test-Mark-as-flaky.patch +debian/gvariant-test-Don-t-run-at-build-time-on-mips.patch +debian/taptestrunner-Stop-looking-like-an-executable-script.patch +change-format.patch +Call-gettext-if-.desktop-file-does-not-have-inline-transl.patch +Provide-backwards-compatibility-for-01_gettext-desktopfil.patch +Disable-some-tests-on-slow-architectures-which-keep-faili.patch +Skip-unreliable-gdbus-threading-tests-by-default.patch +gdbus-server-auth-Normally-skip-flaky-DBUS_COOKIE_SHA1-te.patch +Skip-memory-monitor-dbus-test-if-not-specifically-request.patch +Add-extra-debug-to-memory-monitor-dbus-test.patch +tests-Skip-debugcontroller-test.patch +testfilemonitor-Skip-if-we-are-avoiding-flaky-tests.patch +spawn-test-riscv64.patch +arm64.patch +FIX-169359-U.patch +FIX-166960.patch +20210325-file-type.patch +20210726-fix-trash-issue-in-data-usershare.patch +user-directory-i18n.patch +fix-trash-issue-in-data.patch +XB-1024-glib-XB-1000-XiB-1024.patch +FIX-182831-U.patch +GLIB_FORCE_USE_PORTAL-GTK_USE_PORTAL-1-GLIB_FORCE_USE_POR.patch +GLIB_USE_KYLIN_PROCESS_MANAGER-GLIB_USE_KYLIN_PROCESS_MAN.patch +kylin-process-manager-dbus.patch +kylin-process-manager-dbus-1.patch +5c52117c4ae9367c96609915fde5a280101a9b0b-GLIB_FORCE_USE_P.patch +tryfix-I8OAV1-kylin-process-manager.patch +.patch +dh_missing.patch +dh_makeshlibs.patch +-1.patch diff --git a/debian/patches/update-changelog-1.patch b/debian/patches/spawn-test-riscv64.patch similarity index 59% rename from debian/patches/update-changelog-1.patch rename to debian/patches/spawn-test-riscv64.patch index 5af0c5c..7f22952 100644 --- a/debian/patches/update-changelog-1.patch +++ b/debian/patches/spawn-test-riscv64.patch @@ -1,20 +1,21 @@ From: Yue-Lan -Date: Tue, 25 Apr 2023 11:50:47 +0800 -Subject: update changelog. +Date: Tue, 25 Apr 2023 11:48:35 +0800 +Subject: =?utf-8?b?5aKe5Yqgc3Bhd24tdGVzdOeahOaXpeW/l+i+k+WHuu+8jOebruWJjXJp?= + =?utf-8?b?c2N2NjTmnrbmnoTkuIrmiqXplJnpnIDopoHlpITnkIY=?= --- glib/tests/spawn-test.c | 1 + 1 file changed, 1 insertion(+) diff --git a/glib/tests/spawn-test.c b/glib/tests/spawn-test.c -index e4f2efc..95975f6 100644 +index fdc35e8..f5f8776 100644 --- a/glib/tests/spawn-test.c +++ b/glib/tests/spawn-test.c -@@ -110,6 +110,7 @@ test_spawn_basics (void) - NULL, &erroutput, NULL, &err); +@@ -290,6 +290,7 @@ test_spawn_basics (void) + #endif g_assert_no_error (err); g_assert_true (result); + g_test_message ("sort non-existing-file.txt error output: %s", erroutput); #ifndef G_OS_WIN32 + /* Test against output of coreutils sort */ g_assert_true (g_str_has_prefix (erroutput, "sort: ")); - g_assert_nonnull (strstr (erroutput, g_strerror (ENOENT))); diff --git a/debian/patches/testfilemonitor-Skip-if-we-are-avoiding-flaky-tests.patch b/debian/patches/testfilemonitor-Skip-if-we-are-avoiding-flaky-tests.patch new file mode 100644 index 0000000..0e8a5ac --- /dev/null +++ b/debian/patches/testfilemonitor-Skip-if-we-are-avoiding-flaky-tests.patch @@ -0,0 +1,117 @@ +From: Simon McVittie +Date: Tue, 25 Feb 2020 10:45:07 +0000 +Subject: testfilemonitor: Skip if we are avoiding flaky tests + +See https://gitlab.gnome.org/GNOME/glib/issues/1634 + +Signed-off-by: Simon McVittie +Forwarded: no +--- + gio/tests/testfilemonitor.c | 38 +++++++++++++++++++++++++++++++++++++- + 1 file changed, 37 insertions(+), 1 deletion(-) + +diff --git a/gio/tests/testfilemonitor.c b/gio/tests/testfilemonitor.c +index 52a5302..99c1dd0 100644 +--- a/gio/tests/testfilemonitor.c ++++ b/gio/tests/testfilemonitor.c +@@ -32,6 +32,12 @@ setup (Fixture *fixture, + gchar *path = NULL; + GError *local_error = NULL; + ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("https://gitlab.gnome.org/GNOME/glib/issues/1634"); ++ return; ++ } ++ + path = g_dir_make_tmp ("gio-test-testfilemonitor_XXXXXX", &local_error); + g_assert_no_error (local_error); + +@@ -48,7 +54,9 @@ teardown (Fixture *fixture, + { + GError *local_error = NULL; + +- g_file_delete (fixture->tmp_dir, NULL, &local_error); ++ if (fixture->tmp_dir != NULL) ++ g_file_delete (fixture->tmp_dir, NULL, &local_error); ++ + g_assert_no_error (local_error); + g_clear_object (&fixture->tmp_dir); + } +@@ -375,6 +383,10 @@ test_atomic_replace (Fixture *fixture, + if (skip_win32 ()) + return; + ++ /* respect g_test_skip() during setup() */ ++ if (g_test_failed ()) ++ return; ++ + data.step = 0; + data.events = NULL; + +@@ -483,6 +495,10 @@ test_file_changes (Fixture *fixture, + if (skip_win32 ()) + return; + ++ /* respect g_test_skip() during setup() */ ++ if (g_test_failed ()) ++ return; ++ + data.step = 0; + data.events = NULL; + +@@ -603,6 +619,10 @@ test_dir_monitor (Fixture *fixture, + if (skip_win32 ()) + return; + ++ /* respect g_test_skip() during setup() */ ++ if (g_test_failed ()) ++ return; ++ + data.step = 0; + data.events = NULL; + +@@ -703,6 +723,10 @@ test_dir_non_existent (Fixture *fixture, + if (skip_win32 ()) + return; + ++ /* respect g_test_skip() during setup() */ ++ if (g_test_failed ()) ++ return; ++ + data.step = 0; + data.events = NULL; + +@@ -815,6 +839,10 @@ test_cross_dir_moves (Fixture *fixture, + if (skip_win32 ()) + return; + ++ /* respect g_test_skip() during setup() */ ++ if (g_test_failed ()) ++ return; ++ + data[0].step = 0; + data[0].events = NULL; + +@@ -984,6 +1012,10 @@ test_file_hard_links (Fixture *fixture, + GError *error = NULL; + TestData data; + ++ /* respect g_test_skip() during setup() */ ++ if (g_test_failed ()) ++ return; ++ + g_test_bug ("https://bugzilla.gnome.org/show_bug.cgi?id=755721"); + + if (skip_win32 ()) +@@ -1043,6 +1075,10 @@ test_finalize_in_callback (Fixture *fixture, + GFile *file = NULL; + guint i; + ++ /* respect g_test_skip() during setup() */ ++ if (g_test_failed ()) ++ return; ++ + g_test_summary ("Test that finalization of a GFileMonitor in one of its " + "callbacks doesn’t cause a deadlock."); + g_test_bug ("https://gitlab.gnome.org/GNOME/glib/-/issues/1941"); diff --git a/debian/patches/tests-Skip-debugcontroller-test.patch b/debian/patches/tests-Skip-debugcontroller-test.patch new file mode 100644 index 0000000..5f98de9 --- /dev/null +++ b/debian/patches/tests-Skip-debugcontroller-test.patch @@ -0,0 +1,28 @@ +From: Simon McVittie +Date: Tue, 15 Feb 2022 20:42:53 +0000 +Subject: tests: Skip debugcontroller test + +This is known to be flaky upstream. + +Forwarded: not-needed +--- + gio/tests/debugcontroller.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/gio/tests/debugcontroller.c b/gio/tests/debugcontroller.c +index 862e8f6..ebe90ef 100644 +--- a/gio/tests/debugcontroller.c ++++ b/gio/tests/debugcontroller.c +@@ -191,6 +191,12 @@ test_dbus_properties (void) + + g_test_summary ("Test getting and setting properties on a #GDebugControllerDBus."); + ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2486#note_1384102"); ++ return; ++ } ++ + /* Set up a test session bus and connection. Set up a separate second + * connection to simulate a remote peer. */ + bus = g_test_dbus_new (G_TEST_DBUS_NONE); diff --git a/debian/patches/tryfix-I8OAV1-kylin-process-manager.patch b/debian/patches/tryfix-I8OAV1-kylin-process-manager.patch new file mode 100644 index 0000000..b829b4b --- /dev/null +++ b/debian/patches/tryfix-I8OAV1-kylin-process-manager.patch @@ -0,0 +1,27 @@ +From: Yue-Lan +Date: Thu, 14 Dec 2023 17:19:57 +0800 +Subject: =?utf-8?b?dHJ5Zml4ICNJOE9BVjEg5Y246L29a3lsaW4tcHJvY2Vzcy1tYW5hZ2Vy?= + =?utf-8?b?5ZCO5peg5rOV6YCa6L+H5qGM6Z2i5Zu+5qCH44CB5byA5aeL6I+c5Y2V44CB5Lu7?= + =?utf-8?b?5Yqh5qCP5Zu+5qCH5omT5byA?= +MIME-Version: 1.0 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: 8bit + +确保使用gio接口的部分能够正常打开 +--- + gio/gportalsupport.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gio/gportalsupport.c b/gio/gportalsupport.c +index f8d866f..0efbc73 100644 +--- a/gio/gportalsupport.c ++++ b/gio/gportalsupport.c +@@ -133,7 +133,7 @@ sandbox_info_read (void) + const char *kylin_var; + + kylin_var = g_getenv ("GLIB_USE_KYLIN_PROCESS_MANAGER"); +- if (kylin_var && kylin_var[0] == '1') ++ if (kylin_var && kylin_var[0] == '1' && g_file_test ("/usr/bin/kylin-process-manager", G_FILE_TEST_EXISTS)) + use_kylin_process_manager = TRUE; + + var = g_getenv ("GTK_USE_PORTAL"); diff --git a/debian/patches/update-changelog-2.patch b/debian/patches/update-changelog-2.patch deleted file mode 100644 index 426a8df..0000000 --- a/debian/patches/update-changelog-2.patch +++ /dev/null @@ -1,21 +0,0 @@ -From: Yue-Lan -Date: Tue, 25 Apr 2023 14:51:53 +0800 -Subject: update changelog. - ---- - glib/tests/spawn-test.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/glib/tests/spawn-test.c b/glib/tests/spawn-test.c -index 95975f6..9fcf45f 100644 ---- a/glib/tests/spawn-test.c -+++ b/glib/tests/spawn-test.c -@@ -112,7 +112,7 @@ test_spawn_basics (void) - g_assert_true (result); - g_test_message ("sort non-existing-file.txt error output: %s", erroutput); - #ifndef G_OS_WIN32 -- g_assert_true (g_str_has_prefix (erroutput, "sort: ")); -+ g_assert_true (g_str_has_prefix (erroutput, "sort: ") || g_str_has_prefix (erroutput, "/usr/bin/sort: ")); - g_assert_nonnull (strstr (erroutput, g_strerror (ENOENT))); - #else - { diff --git a/debian/patches/update-changelog-4.patch b/debian/patches/update-changelog-4.patch deleted file mode 100644 index b7609e1..0000000 --- a/debian/patches/update-changelog-4.patch +++ /dev/null @@ -1,7764 +0,0 @@ -From: Yue-Lan -Date: Tue, 1 Aug 2023 15:53:46 +0800 -Subject: update changelog. - ---- - gio/gfile.c | 70 ++ - gio/glocalfile.c | 27 +- - gio/glocalfileenumerator.c | 6 +- - gio/glocalfileinfo.c | 33 +- - gio/glocalfileoutputstream.c | 25 +- - glib/gutils.c | 2 +- - po/zh_CN.po | 2747 ++++++++++++++++++++++-------------------- - 7 files changed, 1567 insertions(+), 1343 deletions(-) - -diff --git a/gio/gfile.c b/gio/gfile.c -index e78b5e1..3f5ae63 100644 ---- a/gio/gfile.c -+++ b/gio/gfile.c -@@ -55,6 +55,9 @@ - - #include - #include -+#include -+#include -+#include - - #include "gfile.h" - #include "glib/gstdio.h" -@@ -378,6 +381,29 @@ static gboolean g_file_real_measure_disk_usage_finish (GFile - guint64 *num_files, - GError **error); - -+static const char* get_fs_type (char* path) -+{ -+ const char* fs_type = NULL; -+ struct mntent* m = NULL; -+ FILE* f = NULL; -+ -+ f = setmntent ("/etc/mtab", "r"); -+ if (!f) { -+ syslog (LOG_ERR, "error:%s", strerror(errno)); -+ } -+ -+ while ((m = getmntent(f))) { -+ if (!path) continue; -+ if (!m->mnt_dir) continue; -+ if (!strcmp (path, m->mnt_dir)) { -+ fs_type = g_strdup_printf("%s", m->mnt_type); -+ } -+ } -+ endmntent (f); -+ -+ return fs_type; -+} -+ - typedef GFileIface GFileInterface; - G_DEFINE_INTERFACE (GFile, g_file, G_TYPE_OBJECT) - -@@ -3522,10 +3548,32 @@ g_file_copy (GFile *source, - GFileIface *iface; - GError *my_error; - gboolean res; -+ const char* fs_type; -+ GMount* destination_mount; -+ GFile* root; -+ struct stat s; - - g_return_val_if_fail (G_IS_FILE (source), FALSE); - g_return_val_if_fail (G_IS_FILE (destination), FALSE); - -+ destination_mount = g_file_find_enclosing_mount(g_file_get_parent(destination), NULL, NULL); -+ if ( destination_mount != NULL) { -+ root = g_mount_get_default_location (destination_mount); -+ fs_type = get_fs_type (g_file_get_path(root)); -+ if(fs_type != NULL) { -+ if(!strcmp(fs_type,"vfat") || !strcmp(fs_type,"fat32")) { -+ if (stat(g_file_get_path(source), &s) == 0) { -+ if(s.st_size > 4294967296) { -+ g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, _("The file is too large, the fat format file system only supports files within 4G,can be imported in device after compression")); -+ return FALSE; -+ } -+ } -+ } -+ -+ g_free(fs_type); -+ } -+ } -+ - if (g_cancellable_set_error_if_cancelled (cancellable, error)) - return FALSE; - -@@ -3724,10 +3772,32 @@ g_file_move (GFile *source, - GFileIface *iface; - GError *my_error; - gboolean res; -+ const char* fs_type; -+ GMount* destination_mount; -+ GFile* root; -+ struct stat s; - - g_return_val_if_fail (G_IS_FILE (source), FALSE); - g_return_val_if_fail (G_IS_FILE (destination), FALSE); - -+ destination_mount = g_file_find_enclosing_mount(g_file_get_parent(destination), NULL, NULL); -+ if ( destination_mount != NULL) { -+ root = g_mount_get_default_location (destination_mount); -+ -+ fs_type = get_fs_type (g_file_get_path(root)); -+ if(fs_type != NULL) { -+ if(!strcmp(fs_type,"vfat") || !strcmp(fs_type,"fat32")) { -+ if (stat(g_file_get_path(source), &s) == 0) { -+ if(s.st_size > 4294967296) { -+ g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, _("The file is too large, the fat format file system only supports files within 4G,can be moved in device after compression")); -+ return FALSE; -+ } -+ } -+ } -+ g_free(fs_type); -+ } -+ } -+ - if (g_cancellable_set_error_if_cancelled (cancellable, error)) - return FALSE; - -diff --git a/gio/glocalfile.c b/gio/glocalfile.c -index ed7a663..b76c085 100644 ---- a/gio/glocalfile.c -+++ b/gio/glocalfile.c -@@ -1984,6 +1984,9 @@ g_local_file_trash (GFile *file, - GVfsClass *class; - GVfs *vfs; - int errsv; -+ gboolean is_local_file_in_usershare = FALSE; -+ GError *set_contents_error; -+ FILE *info_file; - - if (glib_should_use_portal ()) - return g_trash_portal_trash_file (file, error); -@@ -2038,7 +2041,8 @@ g_local_file_trash (GFile *file, - g_free (path); - } - -- if (file_stat.st_dev == home_stat.st_dev) -+ is_local_file_in_usershare = g_str_has_prefix(local->filename, "/data") && g_file_test ("/data/usershare", G_FILE_TEST_EXISTS); -+ if (file_stat.st_dev == home_stat.st_dev && !is_local_file_in_usershare) - { - is_homedir_trash = TRUE; - errno = 0; -@@ -2077,7 +2081,7 @@ g_local_file_trash (GFile *file, - return FALSE; - } - -- if (ignore_trash_path (topdir)) -+ if (ignore_trash_path (topdir) && !is_local_file_in_usershare) - { - g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, - _("Trashing on system internal mounts is not supported")); -@@ -2232,7 +2236,7 @@ g_local_file_trash (GFile *file, - - if (fd == -1) - { -- errsv = errno; -+ //errsv = errno; - - g_free (filesdir); - g_free (topdir); -@@ -2274,9 +2278,24 @@ g_local_file_trash (GFile *file, - original_name_escaped, delete_time); - g_free (delete_time); - -+ set_contents_error = NULL; - g_file_set_contents_full (infofile, data, -1, - G_FILE_SET_CONTENTS_CONSISTENT | G_FILE_SET_CONTENTS_ONLY_EXISTING, -- 0600, NULL); -+ 0600, &set_contents_error); -+ if (set_contents_error) { -+#ifdef G_OS_UNIX -+ if (g_error_matches (set_contents_error, G_FILE_ERROR, G_FILE_ERROR_NAMETOOLONG)) { -+ // direct write file -+ info_file = fopen (infofile, "w"); -+ if (info_file) { -+ fwrite (data, 1, strlen(data), info_file); -+ fflush (info_file); -+ fclose (info_file); -+ } -+ } -+#endif -+ g_error_free (set_contents_error); -+ } - - /* TODO: Maybe we should verify that you can delete the file from the trash - * before moving it? OTOH, that is hard, as it needs a recursive scan -diff --git a/gio/glocalfileenumerator.c b/gio/glocalfileenumerator.c -index 21030bd..4ab0659 100644 ---- a/gio/glocalfileenumerator.c -+++ b/gio/glocalfileenumerator.c -@@ -431,7 +431,11 @@ g_local_file_enumerator_next_file (GFileEnumerator *enumerator, - { - g_error_free (my_error); - goto next_file; -- } -+ } else if (g_error_matches (my_error, G_IO_ERROR, G_IO_ERROR_BROKEN_PIPE)) -+ { -+ g_error_free (my_error); -+ goto next_file; -+ } - else - g_propagate_error (error, my_error); - } -diff --git a/gio/glocalfileinfo.c b/gio/glocalfileinfo.c -index 2958225..4ad2f77 100644 ---- a/gio/glocalfileinfo.c -+++ b/gio/glocalfileinfo.c -@@ -120,6 +120,9 @@ static GHashTable *gid_cache = NULL; - - #endif /* !G_OS_WIN32 */ - -+char* update_xdg_directory_display_name (const char *path, -+ char *display_name); -+ - char * - _g_local_file_info_create_etag (GLocalFileStat *statbuf) - { -@@ -1724,6 +1727,7 @@ _g_local_file_info_get_nostat (GFileInfo *info, - G_FILE_ATTRIBUTE_ID_STANDARD_DISPLAY_NAME)) - { - char *display_name = g_filename_display_basename (path); -+ char *xdg_display_name = NULL; - - /* look for U+FFFD REPLACEMENT CHARACTER */ - if (strstr (display_name, "\357\277\275") != NULL) -@@ -1732,7 +1736,9 @@ _g_local_file_info_get_nostat (GFileInfo *info, - display_name = g_strconcat (display_name, _(" (invalid encoding)"), NULL); - g_free (p); - } -- g_file_info_set_display_name (info, display_name); -+ xdg_display_name = update_xdg_directory_display_name (path, display_name); -+ g_file_info_set_display_name (info, xdg_display_name); -+ g_free (xdg_display_name); - g_free (display_name); - } - -@@ -1812,6 +1818,31 @@ get_icon_name (const char *path, - return name; - } - -+char *update_xdg_directory_display_name (const char *path, -+ char *display_name) -+{ -+ char *retval = g_strdup (display_name); -+ if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP)) == 0) -+ { -+ retval = g_strdup (_("Desktop")); -+ } else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_DOCUMENTS)) == 0) { -+ retval = g_strdup (_("Documents")); -+ } else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_DOWNLOAD)) == 0) { -+ retval = g_strdup (_("Download")); -+ } else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_MUSIC)) == 0) { -+ retval = g_strdup (_("Music")); -+ } else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_PICTURES)) == 0) { -+ retval = g_strdup (_("Pictures")); -+ } else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_PUBLIC_SHARE)) == 0) { -+ retval = g_strdup (_("Public Share")); -+ } else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_TEMPLATES)) == 0) { -+ retval = g_strdup (_("Templates")); -+ } else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_VIDEOS)) == 0) { -+ retval = g_strdup (_("Videos")); -+ } -+ return retval; -+} -+ - static GIcon * - get_icon (const char *path, - const char *content_type, -diff --git a/gio/glocalfileoutputstream.c b/gio/glocalfileoutputstream.c -index 3ce987f..815372c 100644 ---- a/gio/glocalfileoutputstream.c -+++ b/gio/glocalfileoutputstream.c -@@ -46,6 +46,7 @@ - #include - #include "gfiledescriptorbased.h" - #include -+#include - #endif - - #include "glib-private.h" -@@ -860,6 +861,21 @@ handle_overwrite_open (const char *filename, - int errsv = 0; - gboolean replace_destination_set = (flags & G_FILE_CREATE_REPLACE_DESTINATION); - -+ #ifdef G_OS_UNIX -+ char acl_buf[1024]; -+ ssize_t acl_size = getxattr(filename, "system.posix_acl_access", acl_buf, sizeof(acl_buf)); -+ -+ gboolean has_acl_buf = FALSE; -+ if (acl_size == -1) { -+ g_debug("Error getting ACL with %s", filename); -+ } else if (acl_size == 0) { -+ g_debug("No ACL found with %s.\n", filename); -+ } else { -+ g_debug("%s ACL: %.*s\n", filename, (int)acl_size, acl_buf); -+ has_acl_buf = TRUE; -+ } -+#endif -+ - mode = mode_from_flags_or_info (flags, reference_info); - - /* We only need read access to the original file if we are creating a backup. -@@ -1038,6 +1054,7 @@ handle_overwrite_open (const char *filename, - - dirname = g_path_get_dirname (filename); - tmp_filename = g_build_filename (dirname, ".goutputstream-XXXXXX", NULL); -+ - g_free (dirname); - - tmpfd = g_mkstemp_full (tmp_filename, (readable ? O_RDWR : O_WRONLY) | O_BINARY, mode); -@@ -1045,7 +1062,13 @@ handle_overwrite_open (const char *filename, - { - g_free (tmp_filename); - goto fallback_strategy; -- } -+ } else { -+#ifdef G_OS_UNIX -+ if (has_acl_buf) { -+ setxattr(tmp_filename, "system.posix_acl_access", acl_buf, acl_size, 0); -+ } -+#endif -+ } - - /* try to keep permissions (unless replacing) */ - -diff --git a/glib/gutils.c b/glib/gutils.c -index 78ccd61..4ecd276 100644 ---- a/glib/gutils.c -+++ b/glib/gutils.c -@@ -2751,7 +2751,7 @@ g_nullify_pointer (gpointer *nullify_location) - *nullify_location = NULL; - } - --#define KILOBYTE_FACTOR (G_GOFFSET_CONSTANT (1000)) -+#define KILOBYTE_FACTOR (G_GOFFSET_CONSTANT (1024)) - #define MEGABYTE_FACTOR (KILOBYTE_FACTOR * KILOBYTE_FACTOR) - #define GIGABYTE_FACTOR (MEGABYTE_FACTOR * KILOBYTE_FACTOR) - #define TERABYTE_FACTOR (GIGABYTE_FACTOR * KILOBYTE_FACTOR) -diff --git a/po/zh_CN.po b/po/zh_CN.po -index 593a356..e7ef358 100644 ---- a/po/zh_CN.po -+++ b/po/zh_CN.po -@@ -22,158 +22,160 @@ - msgid "" - msgstr "" - "Project-Id-Version: glib master\n" --"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/glib/issues\n" --"POT-Creation-Date: 2022-08-31 23:44+0000\n" --"PO-Revision-Date: 2022-09-11 07:57+0800\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2023-08-01 15:20+0800\n" -+"PO-Revision-Date: 2023-08-01 15:21+0800\n" - "Last-Translator: lumingzh \n" - "Language-Team: Chinese - China \n" - "Language: zh_CN\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"Plural-Forms: nplurals=1; plural=0\n" --"X-Generator: Gtranslator 42.0\n" -+"Plural-Forms: nplurals=1; plural=0;\n" -+"X-Generator: Poedit 2.3\n" - --#: gio/gappinfo.c:335 -+#: ../gio/gappinfo.c:335 - msgid "Setting default applications not supported yet" - msgstr "暂不支持设置默认应用程序" - --#: gio/gappinfo.c:368 -+#: ../gio/gappinfo.c:368 - msgid "Setting application as last used for type not supported yet" - msgstr "暂不支持设置上次用来打开文件类型的应用程序" - --#: gio/gappinfo.c:810 -+#: ../gio/gappinfo.c:810 - #, c-format - msgid "Failed to find default application for content type ‘%s’" - msgstr "无法找到处理内容类型“%s”的默认应用程序" - --#: gio/gappinfo.c:870 -+#: ../gio/gappinfo.c:870 - #, c-format - msgid "Failed to find default application for URI Scheme ‘%s’" - msgstr "无法找到处理 URI Scheme“%s”的默认应用程序" - --#: gio/gapplication.c:502 -+#: ../gio/gapplication.c:502 - msgid "GApplication options" - msgstr "GApplication 选项" - --#: gio/gapplication.c:502 -+#: ../gio/gapplication.c:502 - msgid "Show GApplication options" - msgstr "显示 GApplication 选项" - --#: gio/gapplication.c:547 -+#: ../gio/gapplication.c:547 - msgid "Enter GApplication service mode (use from D-Bus service files)" - msgstr "进入 GApplication 服务模式(从 D-Bus 服务文件中调用)" - --#: gio/gapplication.c:559 -+#: ../gio/gapplication.c:559 - msgid "Override the application’s ID" - msgstr "覆盖应用程序 ID" - --#: gio/gapplication.c:571 -+#: ../gio/gapplication.c:571 - msgid "Replace the running instance" - msgstr "替代运行中的实例" - --#: gio/gapplication-tool.c:47 gio/gapplication-tool.c:48 gio/gio-tool.c:229 --#: gio/gresource-tool.c:496 gio/gsettings-tool.c:586 -+#: ../gio/gapplication-tool.c:47 ../gio/gapplication-tool.c:48 -+#: ../gio/gio-tool.c:229 ../gio/gresource-tool.c:496 -+#: ../gio/gsettings-tool.c:586 - msgid "Print help" - msgstr "打印帮助" - --#: gio/gapplication-tool.c:49 gio/gresource-tool.c:497 gio/gresource-tool.c:565 -+#: ../gio/gapplication-tool.c:49 ../gio/gresource-tool.c:497 -+#: ../gio/gresource-tool.c:565 - msgid "[COMMAND]" - msgstr "[命令]" - --#: gio/gapplication-tool.c:51 gio/gio-tool.c:230 -+#: ../gio/gapplication-tool.c:51 ../gio/gio-tool.c:230 - msgid "Print version" - msgstr "打印版本" - --#: gio/gapplication-tool.c:52 gio/gsettings-tool.c:592 -+#: ../gio/gapplication-tool.c:52 ../gio/gsettings-tool.c:592 - msgid "Print version information and exit" - msgstr "打印版本信息并退出" - --#: gio/gapplication-tool.c:55 -+#: ../gio/gapplication-tool.c:55 - msgid "List applications" - msgstr "列出应用程序" - --#: gio/gapplication-tool.c:56 -+#: ../gio/gapplication-tool.c:56 - msgid "List the installed D-Bus activatable applications (by .desktop files)" - msgstr "列出已安装的 D-Bus 可以激活的应用程序(根据 .desktop文件)" - --#: gio/gapplication-tool.c:59 -+#: ../gio/gapplication-tool.c:59 - msgid "Launch an application" - msgstr "启动一个应用程序" - --#: gio/gapplication-tool.c:60 -+#: ../gio/gapplication-tool.c:60 - msgid "Launch the application (with optional files to open)" - msgstr "启动应用程序(可选打开文件)" - --#: gio/gapplication-tool.c:61 -+#: ../gio/gapplication-tool.c:61 - msgid "APPID [FILE…]" - msgstr "应用ID [文件…]" - --#: gio/gapplication-tool.c:63 -+#: ../gio/gapplication-tool.c:63 - msgid "Activate an action" - msgstr "激活一个操作" - --#: gio/gapplication-tool.c:64 -+#: ../gio/gapplication-tool.c:64 - msgid "Invoke an action on the application" - msgstr "在应用程序上调用一个操作" - --#: gio/gapplication-tool.c:65 -+#: ../gio/gapplication-tool.c:65 - msgid "APPID ACTION [PARAMETER]" - msgstr "应用ID 操作 [参数]" - --#: gio/gapplication-tool.c:67 -+#: ../gio/gapplication-tool.c:67 - msgid "List available actions" - msgstr "列出可用的操作" - --#: gio/gapplication-tool.c:68 -+#: ../gio/gapplication-tool.c:68 - msgid "List static actions for an application (from .desktop file)" - msgstr "列出一个应用程序的静态操作(来自 .desktop 文件)" - --#: gio/gapplication-tool.c:69 gio/gapplication-tool.c:75 -+#: ../gio/gapplication-tool.c:69 ../gio/gapplication-tool.c:75 - msgid "APPID" - msgstr "应用ID" - --#: gio/gapplication-tool.c:74 gio/gapplication-tool.c:137 gio/gdbus-tool.c:108 --#: gio/gio-tool.c:226 -+#: ../gio/gapplication-tool.c:74 ../gio/gapplication-tool.c:137 -+#: ../gio/gdbus-tool.c:108 ../gio/gio-tool.c:226 - msgid "COMMAND" - msgstr "命令" - --#: gio/gapplication-tool.c:74 -+#: ../gio/gapplication-tool.c:74 - msgid "The command to print detailed help for" - msgstr "要打印其详细帮助的命令" - --#: gio/gapplication-tool.c:75 -+#: ../gio/gapplication-tool.c:75 - msgid "Application identifier in D-Bus format (eg: org.example.viewer)" - msgstr "D-Bus 格式的应用程序标识符(比如:org.example.viewer)" - --#: gio/gapplication-tool.c:76 gio/glib-compile-resources.c:822 --#: gio/glib-compile-resources.c:828 gio/glib-compile-resources.c:857 --#: gio/gresource-tool.c:503 gio/gresource-tool.c:569 -+#: ../gio/gapplication-tool.c:76 ../gio/glib-compile-resources.c:822 -+#: ../gio/glib-compile-resources.c:828 ../gio/glib-compile-resources.c:857 -+#: ../gio/gresource-tool.c:503 ../gio/gresource-tool.c:569 - msgid "FILE" - msgstr "文件" - --#: gio/gapplication-tool.c:76 -+#: ../gio/gapplication-tool.c:76 - msgid "Optional relative or absolute filenames, or URIs to open" - msgstr "可选要打开的相对或绝对文件名或 URI" - --#: gio/gapplication-tool.c:77 -+#: ../gio/gapplication-tool.c:77 - msgid "ACTION" - msgstr "操作" - --#: gio/gapplication-tool.c:77 -+#: ../gio/gapplication-tool.c:77 - msgid "The action name to invoke" - msgstr "要调用的操作名称" - --#: gio/gapplication-tool.c:78 -+#: ../gio/gapplication-tool.c:78 - msgid "PARAMETER" - msgstr "参数" - --#: gio/gapplication-tool.c:78 -+#: ../gio/gapplication-tool.c:78 - msgid "Optional parameter to the action invocation, in GVariant format" - msgstr "可选的操作调用参数,GVariant 格式" - --#: gio/gapplication-tool.c:100 gio/gresource-tool.c:534 --#: gio/gsettings-tool.c:678 -+#: ../gio/gapplication-tool.c:100 ../gio/gresource-tool.c:534 -+#: ../gio/gsettings-tool.c:678 - #, c-format - msgid "" - "Unknown command %s\n" -@@ -182,26 +184,26 @@ msgstr "" - "未知命令 %s\n" - "\n" - --#: gio/gapplication-tool.c:105 -+#: ../gio/gapplication-tool.c:105 - msgid "Usage:\n" - msgstr "用法:\n" - --#: gio/gapplication-tool.c:118 gio/gresource-tool.c:559 --#: gio/gsettings-tool.c:713 -+#: ../gio/gapplication-tool.c:118 ../gio/gresource-tool.c:559 -+#: ../gio/gsettings-tool.c:713 - msgid "Arguments:\n" - msgstr "参数:\n" - --#: gio/gapplication-tool.c:137 gio/gio-tool.c:226 -+#: ../gio/gapplication-tool.c:137 ../gio/gio-tool.c:226 - msgid "[ARGS…]" - msgstr "[参数…]" - --#: gio/gapplication-tool.c:138 -+#: ../gio/gapplication-tool.c:138 - #, c-format - msgid "Commands:\n" - msgstr "命令:\n" - - #. Translators: do not translate 'help', but please translate 'COMMAND'. --#: gio/gapplication-tool.c:150 -+#: ../gio/gapplication-tool.c:150 - #, c-format - msgid "" - "Use “%s help COMMAND” to get detailed help.\n" -@@ -210,7 +212,7 @@ msgstr "" - "使用“%s help 命令”获取详细帮助。\n" - "\n" - --#: gio/gapplication-tool.c:169 -+#: ../gio/gapplication-tool.c:169 - #, c-format - msgid "" - "%s command requires an application id to directly follow\n" -@@ -219,13 +221,13 @@ msgstr "" - "%s 命令需要直接跟一个应用程序 ID\n" - "\n" - --#: gio/gapplication-tool.c:175 -+#: ../gio/gapplication-tool.c:175 - #, c-format - msgid "invalid application id: “%s”\n" - msgstr "无效的应用程序 ID:“%s”\n" - - #. Translators: %s is replaced with a command name like 'list-actions' --#: gio/gapplication-tool.c:186 -+#: ../gio/gapplication-tool.c:186 - #, c-format - msgid "" - "“%s” takes no arguments\n" -@@ -234,21 +236,22 @@ msgstr "" - "“%s”不接受参数\n" - "\n" - --#: gio/gapplication-tool.c:270 -+#: ../gio/gapplication-tool.c:270 - #, c-format - msgid "unable to connect to D-Bus: %s\n" - msgstr "无法连接到 D-Bus:%s\n" - --#: gio/gapplication-tool.c:290 -+#: ../gio/gapplication-tool.c:290 - #, c-format - msgid "error sending %s message to application: %s\n" - msgstr "给应用程序发送 %s 消息时出错:%s\n" - --#: gio/gapplication-tool.c:321 -+#: ../gio/gapplication-tool.c:321 -+#, c-format - msgid "action name must be given after application id\n" - msgstr "操作名必须在应用程序 ID 后给出\n" - --#: gio/gapplication-tool.c:329 -+#: ../gio/gapplication-tool.c:329 - #, c-format - msgid "" - "invalid action name: “%s”\n" -@@ -257,25 +260,27 @@ msgstr "" - "无效的操作名:“%s”\n" - "操作名只能由字母数字、“-”和“.”组成\n" - --#: gio/gapplication-tool.c:348 -+#: ../gio/gapplication-tool.c:348 - #, c-format - msgid "error parsing action parameter: %s\n" - msgstr "解析操作参数时出错:%s\n" - --#: gio/gapplication-tool.c:360 -+#: ../gio/gapplication-tool.c:360 -+#, c-format - msgid "actions accept a maximum of one parameter\n" - msgstr "操作最多接受一个参数\n" - --#: gio/gapplication-tool.c:415 -+#: ../gio/gapplication-tool.c:415 -+#, c-format - msgid "list-actions command takes only the application id" - msgstr "list-actions 命令只能接受应用程序的 ID" - --#: gio/gapplication-tool.c:425 -+#: ../gio/gapplication-tool.c:425 - #, c-format - msgid "unable to find desktop file for application %s\n" - msgstr "找不到与应用程序 %s 对应的桌面文件\n" - --#: gio/gapplication-tool.c:470 -+#: ../gio/gapplication-tool.c:470 - #, c-format - msgid "" - "unrecognised command: %s\n" -@@ -284,510 +289,517 @@ msgstr "" - "未识别的命令:%s\n" - "\n" - --#: gio/gbufferedinputstream.c:422 gio/gbufferedinputstream.c:500 --#: gio/ginputstream.c:181 gio/ginputstream.c:381 gio/ginputstream.c:650 --#: gio/ginputstream.c:1052 gio/goutputstream.c:225 gio/goutputstream.c:1051 --#: gio/gpollableinputstream.c:207 gio/gpollableoutputstream.c:279 -+#: ../gio/gbufferedinputstream.c:422 ../gio/gbufferedinputstream.c:500 -+#: ../gio/ginputstream.c:181 ../gio/ginputstream.c:381 -+#: ../gio/ginputstream.c:650 ../gio/ginputstream.c:1052 -+#: ../gio/goutputstream.c:225 ../gio/goutputstream.c:1051 -+#: ../gio/gpollableinputstream.c:207 ../gio/gpollableoutputstream.c:279 - #, c-format - msgid "Too large count value passed to %s" - msgstr "传递给 %s 的计数值太大" - --#: gio/gbufferedinputstream.c:893 gio/gbufferedoutputstream.c:577 --#: gio/gdataoutputstream.c:564 -+#: ../gio/gbufferedinputstream.c:893 ../gio/gbufferedoutputstream.c:577 -+#: ../gio/gdataoutputstream.c:564 - msgid "Seek not supported on base stream" - msgstr "基流不支持定位" - --#: gio/gbufferedinputstream.c:940 -+#: ../gio/gbufferedinputstream.c:940 - msgid "Cannot truncate GBufferedInputStream" - msgstr "无法截断 GBufferedInputStream" - --#: gio/gbufferedinputstream.c:985 gio/ginputstream.c:1241 gio/giostream.c:302 --#: gio/goutputstream.c:2200 -+#: ../gio/gbufferedinputstream.c:985 ../gio/ginputstream.c:1241 -+#: ../gio/giostream.c:302 ../gio/goutputstream.c:2200 - msgid "Stream is already closed" - msgstr "流已经关闭" - --#: gio/gbufferedoutputstream.c:614 gio/gdataoutputstream.c:594 -+#: ../gio/gbufferedoutputstream.c:614 ../gio/gdataoutputstream.c:594 - msgid "Truncate not supported on base stream" - msgstr "基流不支持截断" - --#: gio/gcancellable.c:319 gio/gdbusconnection.c:1859 gio/gdbusprivate.c:1420 --#: gio/gsimpleasyncresult.c:873 gio/gsimpleasyncresult.c:899 -+#: ../gio/gcancellable.c:319 ../gio/gdbusconnection.c:1859 -+#: ../gio/gdbusprivate.c:1420 ../gio/gsimpleasyncresult.c:873 -+#: ../gio/gsimpleasyncresult.c:899 - #, c-format - msgid "Operation was cancelled" - msgstr "操作被取消" - --#: gio/gcharsetconverter.c:262 -+#: ../gio/gcharsetconverter.c:262 - msgid "Invalid object, not initialized" - msgstr "无效的对象,未初始化" - --#: gio/gcharsetconverter.c:283 gio/gcharsetconverter.c:311 -+#: ../gio/gcharsetconverter.c:283 ../gio/gcharsetconverter.c:311 - msgid "Incomplete multibyte sequence in input" - msgstr "输入中有不完整的多字节序列" - --#: gio/gcharsetconverter.c:317 gio/gcharsetconverter.c:326 -+#: ../gio/gcharsetconverter.c:317 ../gio/gcharsetconverter.c:326 - msgid "Not enough space in destination" - msgstr "目标位置没有足够的空间" - --#: gio/gcharsetconverter.c:344 gio/gdatainputstream.c:850 --#: gio/gdatainputstream.c:1268 glib/gconvert.c:451 glib/gconvert.c:883 --#: glib/giochannel.c:1576 glib/giochannel.c:1618 glib/giochannel.c:2473 --#: glib/gutf8.c:892 glib/gutf8.c:1346 -+#: ../gio/gcharsetconverter.c:344 ../gio/gdatainputstream.c:850 -+#: ../gio/gdatainputstream.c:1268 ../glib/gconvert.c:451 ../glib/gconvert.c:883 -+#: ../glib/giochannel.c:1576 ../glib/giochannel.c:1618 -+#: ../glib/giochannel.c:2473 ../glib/gutf8.c:892 ../glib/gutf8.c:1346 - msgid "Invalid byte sequence in conversion input" - msgstr "转换输入中有无效的字符序列" - --#: gio/gcharsetconverter.c:349 glib/gconvert.c:459 glib/gconvert.c:797 --#: glib/giochannel.c:1583 glib/giochannel.c:2485 -+#: ../gio/gcharsetconverter.c:349 ../glib/gconvert.c:459 ../glib/gconvert.c:797 -+#: ../glib/giochannel.c:1583 ../glib/giochannel.c:2485 - #, c-format - msgid "Error during conversion: %s" - msgstr "转换过程中出错:%s" - --#: gio/gcharsetconverter.c:447 gio/gsocket.c:1151 -+#: ../gio/gcharsetconverter.c:447 ../gio/gsocket.c:1151 - msgid "Cancellable initialization not supported" - msgstr "不支持可撤销的初始化" - --#: gio/gcharsetconverter.c:458 glib/gconvert.c:324 glib/giochannel.c:1404 -+#: ../gio/gcharsetconverter.c:458 ../glib/gconvert.c:324 -+#: ../glib/giochannel.c:1404 - #, c-format - msgid "Conversion from character set “%s” to “%s” is not supported" - msgstr "不支持从字符集“%s”到“%s”的转换" - --#: gio/gcharsetconverter.c:462 glib/gconvert.c:328 -+#: ../gio/gcharsetconverter.c:462 ../glib/gconvert.c:328 - #, c-format - msgid "Could not open converter from “%s” to “%s”" - msgstr "无法打开从“%s”到“%s”的转换器" - --#: gio/gcontenttype.c:472 -+#: ../gio/gcontenttype.c:472 - #, c-format - msgid "%s type" - msgstr "%s 类型" - --#: gio/gcontenttype-win32.c:198 -+#: ../gio/gcontenttype-win32.c:198 - msgid "Unknown type" - msgstr "未知类型" - --#: gio/gcontenttype-win32.c:200 -+#: ../gio/gcontenttype-win32.c:200 - #, c-format - msgid "%s filetype" - msgstr "%s 文件类型" - --#: gio/gcredentials.c:337 -+#: ../gio/gcredentials.c:337 - msgid "GCredentials contains invalid data" - msgstr "GCredentials 包含无效数据" - --#: gio/gcredentials.c:397 gio/gcredentials.c:688 -+#: ../gio/gcredentials.c:397 ../gio/gcredentials.c:688 - msgid "GCredentials is not implemented on this OS" - msgstr "此操作系统上没有实现 GCredentials" - --#: gio/gcredentials.c:552 gio/gcredentials.c:570 -+#: ../gio/gcredentials.c:552 ../gio/gcredentials.c:570 - msgid "There is no GCredentials support for your platform" - msgstr "您的平台尚不支持 GCredentials" - --#: gio/gcredentials.c:628 -+#: ../gio/gcredentials.c:628 - msgid "GCredentials does not contain a process ID on this OS" - msgstr "此操作系统上的 GCredentials 未包含一个进程 ID" - --#: gio/gcredentials.c:682 -+#: ../gio/gcredentials.c:682 - msgid "Credentials spoofing is not possible on this OS" - msgstr "此操作系统上无法进行证书欺骗" - --#: gio/gdatainputstream.c:306 -+#: ../gio/gdatainputstream.c:306 - msgid "Unexpected early end-of-stream" - msgstr "非预期的过早的流结束符" - --#: gio/gdbusaddress.c:164 gio/gdbusaddress.c:238 gio/gdbusaddress.c:327 -+#: ../gio/gdbusaddress.c:164 ../gio/gdbusaddress.c:238 -+#: ../gio/gdbusaddress.c:327 - #, c-format - msgid "Unsupported key “%s” in address entry “%s”" - msgstr "地址条目“%2$s”中有未支持的键“%1$s”" - --#: gio/gdbusaddress.c:177 -+#: ../gio/gdbusaddress.c:177 - #, c-format - msgid "Meaningless key/value pair combination in address entry “%s”" - msgstr "地址条目“%s”中有无意义的键/值对组合" - --#: gio/gdbusaddress.c:186 -+#: ../gio/gdbusaddress.c:186 - #, c-format - msgid "" - "Address “%s” is invalid (need exactly one of path, dir, tmpdir, or abstract " - "keys)" - msgstr "地址“%s”无效(需要指定一个且仅一个的路径、目录、临时目录或抽象键)" - --#: gio/gdbusaddress.c:253 gio/gdbusaddress.c:264 gio/gdbusaddress.c:279 --#: gio/gdbusaddress.c:342 gio/gdbusaddress.c:353 -+#: ../gio/gdbusaddress.c:253 ../gio/gdbusaddress.c:264 -+#: ../gio/gdbusaddress.c:279 ../gio/gdbusaddress.c:342 -+#: ../gio/gdbusaddress.c:353 - #, c-format - msgid "Error in address “%s” — the “%s” attribute is malformed" - msgstr "地址“%s”中有错误——\"%s\"属性格式错误" - --#: gio/gdbusaddress.c:423 gio/gdbusaddress.c:682 -+#: ../gio/gdbusaddress.c:423 ../gio/gdbusaddress.c:682 - #, c-format - msgid "Unknown or unsupported transport “%s” for address “%s”" - msgstr "传输“%s”对于地址“%s”未知或不支持" - --#: gio/gdbusaddress.c:467 -+#: ../gio/gdbusaddress.c:467 - #, c-format - msgid "Address element “%s” does not contain a colon (:)" - msgstr "地址元素“%s”未包含冒号(:)" - --#: gio/gdbusaddress.c:476 -+#: ../gio/gdbusaddress.c:476 - #, c-format - msgid "Transport name in address element “%s” must not be empty" - msgstr "地址元素“%s”中的传输名称不能为空" - --#: gio/gdbusaddress.c:497 -+#: ../gio/gdbusaddress.c:497 - #, c-format - msgid "" - "Key/Value pair %d, “%s”, in address element “%s” does not contain an equal " - "sign" - msgstr "地址元素“%3$s”中的第 %1$d 个键/值对 “%2$s”未包含等号" - --#: gio/gdbusaddress.c:508 -+#: ../gio/gdbusaddress.c:508 - #, c-format - msgid "" - "Key/Value pair %d, “%s”, in address element “%s” must not have an empty key" - msgstr "地址元素“%3$s”中的第 %1$d 个键/值对 “%2$s”不能有空的键" - - # 改掉顿号,因其不是并列关系 --#: gio/gdbusaddress.c:522 -+#: ../gio/gdbusaddress.c:522 - #, c-format - msgid "" - "Error unescaping key or value in Key/Value pair %d, “%s”, in address element " - "“%s”" - msgstr "在地址元素“%3$s”中,对键/值对 %1$d,“%2$s”取消转义键或值时出错" - --#: gio/gdbusaddress.c:590 -+#: ../gio/gdbusaddress.c:590 - #, c-format - msgid "" - "Error in address “%s” — the unix transport requires exactly one of the keys " - "“path” or “abstract” to be set" - msgstr "地址“%s”中有错误——UNIX 传输需要“path”或“abstract”之一的键被设置" - --#: gio/gdbusaddress.c:625 -+#: ../gio/gdbusaddress.c:625 - #, c-format - msgid "Error in address “%s” — the host attribute is missing or malformed" - msgstr "地址“%s”中有错误——主机属性丢失或格式错误" - --#: gio/gdbusaddress.c:639 -+#: ../gio/gdbusaddress.c:639 - #, c-format - msgid "Error in address “%s” — the port attribute is missing or malformed" - msgstr "地址“%s”中有错误——端口属性丢失或格式错误" - --#: gio/gdbusaddress.c:653 -+#: ../gio/gdbusaddress.c:653 - #, c-format - msgid "Error in address “%s” — the noncefile attribute is missing or malformed" - msgstr "地址“%s”中有错误——临时文件属性丢失或格式错误" - --#: gio/gdbusaddress.c:674 -+#: ../gio/gdbusaddress.c:674 - msgid "Error auto-launching: " - msgstr "自动启动出错:" - --#: gio/gdbusaddress.c:727 -+#: ../gio/gdbusaddress.c:727 - #, c-format - msgid "Error opening nonce file “%s”: %s" - msgstr "打开临时文件“%s”时出错:%s" - --#: gio/gdbusaddress.c:746 -+#: ../gio/gdbusaddress.c:746 - #, c-format - msgid "Error reading from nonce file “%s”: %s" - msgstr "读取临时文件“%s”时出错:%s" - --#: gio/gdbusaddress.c:755 -+#: ../gio/gdbusaddress.c:755 - #, c-format - msgid "Error reading from nonce file “%s”, expected 16 bytes, got %d" - msgstr "读取临时文件“%s”时出错,预计 16 个字节,得到 %d 个" - --#: gio/gdbusaddress.c:773 -+#: ../gio/gdbusaddress.c:773 - #, c-format - msgid "Error writing contents of nonce file “%s” to stream:" - msgstr "写入临时文件“%s”的内容到流时出错:" - --#: gio/gdbusaddress.c:988 -+#: ../gio/gdbusaddress.c:988 - msgid "The given address is empty" - msgstr "给定的地址为空" - --#: gio/gdbusaddress.c:1101 -+#: ../gio/gdbusaddress.c:1101 - #, c-format - msgid "Cannot spawn a message bus when AT_SECURE is set" - msgstr "无法在已设置 AT_SECURE 时启动一条消息总线" - --#: gio/gdbusaddress.c:1108 -+#: ../gio/gdbusaddress.c:1108 - msgid "Cannot spawn a message bus without a machine-id: " - msgstr "无法在无机器 ID 时生成一条消息总线:" - --#: gio/gdbusaddress.c:1115 -+#: ../gio/gdbusaddress.c:1115 - #, c-format - msgid "Cannot autolaunch D-Bus without X11 $DISPLAY" - msgstr "无法在没有 X11 $DISPLAY 的情况下自动启动 D-Bus" - --#: gio/gdbusaddress.c:1157 -+#: ../gio/gdbusaddress.c:1157 - #, c-format - msgid "Error spawning command line “%s”: " - msgstr "生成并运行命令行“%s”时出错:" - --#: gio/gdbusaddress.c:1226 -+#: ../gio/gdbusaddress.c:1226 - #, c-format - msgid "Cannot determine session bus address (not implemented for this OS)" - msgstr "无法确定会话总线地址(尚未在此操作系统上实现)" - --#: gio/gdbusaddress.c:1375 gio/gdbusconnection.c:7321 -+#: ../gio/gdbusaddress.c:1375 ../gio/gdbusconnection.c:7321 - #, c-format - msgid "" - "Cannot determine bus address from DBUS_STARTER_BUS_TYPE environment variable " - "— unknown value “%s”" - msgstr "无法从 DBUS_STARTER_BUS_TYPE 环境变量确定总线地址——未知的值“%s”" - --#: gio/gdbusaddress.c:1384 gio/gdbusconnection.c:7330 -+#: ../gio/gdbusaddress.c:1384 ../gio/gdbusconnection.c:7330 - msgid "" - "Cannot determine bus address because the DBUS_STARTER_BUS_TYPE environment " - "variable is not set" - msgstr "无法确定总线地址,因为环境变量 DBUS_STARTER_BUS_TYPE 未设置" - --#: gio/gdbusaddress.c:1394 -+#: ../gio/gdbusaddress.c:1394 - #, c-format - msgid "Unknown bus type %d" - msgstr "未知的总线类型 %d" - --#: gio/gdbusauth.c:294 -+#: ../gio/gdbusauth.c:294 - msgid "Unexpected lack of content trying to read a line" - msgstr "试图读取一行时,异常地缺失内容" - --#: gio/gdbusauth.c:338 -+#: ../gio/gdbusauth.c:338 - msgid "Unexpected lack of content trying to (safely) read a line" - msgstr "试图(安全地)读取一行时,异常地缺失内容" - --#: gio/gdbusauth.c:482 -+#: ../gio/gdbusauth.c:482 - #, c-format - msgid "" - "Exhausted all available authentication mechanisms (tried: %s) (available: %s)" - msgstr "用尽了所有可用的认证机制(已尝试:%s)(可用的:%s)" - --#: gio/gdbusauth.c:1178 -+#: ../gio/gdbusauth.c:1178 - msgid "User IDs must be the same for peer and server" - msgstr "对等端和服务器端的用户 ID 必须相同" - --#: gio/gdbusauth.c:1190 -+#: ../gio/gdbusauth.c:1190 - msgid "Cancelled via GDBusAuthObserver::authorize-authenticated-peer" - msgstr "通过 GDBusAuthObserver::authorize-authenticated-peer 取消" - --#: gio/gdbusauthmechanismsha1.c:303 -+#: ../gio/gdbusauthmechanismsha1.c:303 - #, c-format - msgid "Error when getting information for directory “%s”: %s" - msgstr "获取目录“%s”信息时发生错误:%s" - --#: gio/gdbusauthmechanismsha1.c:318 -+#: ../gio/gdbusauthmechanismsha1.c:318 - #, c-format - msgid "" - "Permissions on directory “%s” are malformed. Expected mode 0700, got 0%o" - msgstr "目录“%s”权限错误。期望 0700,得到 0%o" - --#: gio/gdbusauthmechanismsha1.c:351 gio/gdbusauthmechanismsha1.c:362 -+#: ../gio/gdbusauthmechanismsha1.c:351 ../gio/gdbusauthmechanismsha1.c:362 - #, c-format - msgid "Error creating directory “%s”: %s" - msgstr "创建目录“%s”时出错:%s" - --#: gio/gdbusauthmechanismsha1.c:364 gio/gfile.c:1095 gio/gfile.c:1333 --#: gio/gfile.c:1471 gio/gfile.c:1709 gio/gfile.c:1764 gio/gfile.c:1822 --#: gio/gfile.c:1906 gio/gfile.c:1963 gio/gfile.c:2027 gio/gfile.c:2082 --#: gio/gfile.c:3787 gio/gfile.c:3927 gio/gfile.c:4339 gio/gfile.c:4809 --#: gio/gfile.c:5220 gio/gfile.c:5305 gio/gfile.c:5395 gio/gfile.c:5492 --#: gio/gfile.c:5579 gio/gfile.c:5680 gio/gfile.c:8809 gio/gfile.c:8899 --#: gio/gfile.c:8983 gio/win32/gwinhttpfile.c:453 -+#: ../gio/gdbusauthmechanismsha1.c:364 ../gio/gfile.c:1121 ../gio/gfile.c:1359 -+#: ../gio/gfile.c:1497 ../gio/gfile.c:1735 ../gio/gfile.c:1790 -+#: ../gio/gfile.c:1848 ../gio/gfile.c:1932 ../gio/gfile.c:1989 -+#: ../gio/gfile.c:2053 ../gio/gfile.c:2108 ../gio/gfile.c:3857 -+#: ../gio/gfile.c:3997 ../gio/gfile.c:4409 ../gio/gfile.c:4879 -+#: ../gio/gfile.c:5290 ../gio/gfile.c:5375 ../gio/gfile.c:5465 -+#: ../gio/gfile.c:5562 ../gio/gfile.c:5649 ../gio/gfile.c:5750 -+#: ../gio/gfile.c:8879 ../gio/gfile.c:8969 ../gio/gfile.c:9053 -+#: ../gio/win32/gwinhttpfile.c:453 - msgid "Operation not supported" - msgstr "不支持该操作" - --#: gio/gdbusauthmechanismsha1.c:407 -+#: ../gio/gdbusauthmechanismsha1.c:407 - #, c-format - msgid "Error opening keyring “%s” for reading: " - msgstr "打开密钥环“%s”以读取时出错:" - --#: gio/gdbusauthmechanismsha1.c:430 gio/gdbusauthmechanismsha1.c:771 -+#: ../gio/gdbusauthmechanismsha1.c:430 ../gio/gdbusauthmechanismsha1.c:771 - #, c-format - msgid "Line %d of the keyring at “%s” with content “%s” is malformed" - msgstr "“%2$s”处的密钥环第 %1$d 行有不符合格式的内容“%3$s”" - --#: gio/gdbusauthmechanismsha1.c:444 gio/gdbusauthmechanismsha1.c:785 -+#: ../gio/gdbusauthmechanismsha1.c:444 ../gio/gdbusauthmechanismsha1.c:785 - #, c-format - msgid "" - "First token of line %d of the keyring at “%s” with content “%s” is malformed" - msgstr "“%2$s”处的密钥环第 %1$d 行第一个令牌有不符合格式的内容“%3$s”" - --#: gio/gdbusauthmechanismsha1.c:458 gio/gdbusauthmechanismsha1.c:799 -+#: ../gio/gdbusauthmechanismsha1.c:458 ../gio/gdbusauthmechanismsha1.c:799 - #, c-format - msgid "" - "Second token of line %d of the keyring at “%s” with content “%s” is malformed" - msgstr "“%2$s”处的密钥环第 %1$d 行第二个令牌有不符合格式的内容“%3$s”" - --#: gio/gdbusauthmechanismsha1.c:482 -+#: ../gio/gdbusauthmechanismsha1.c:482 - #, c-format - msgid "Didn’t find cookie with id %d in the keyring at “%s”" - msgstr "未在“%2$s”处的密钥环中找到 ID 为 %1$d 的 cookie" - --#: gio/gdbusauthmechanismsha1.c:539 -+#: ../gio/gdbusauthmechanismsha1.c:539 - #, c-format - msgid "Error creating lock file “%s”: %s" - msgstr "创建锁文件“%s”时出错:%s" - --#: gio/gdbusauthmechanismsha1.c:612 -+#: ../gio/gdbusauthmechanismsha1.c:612 - #, c-format - msgid "Error deleting stale lock file “%s”: %s" - msgstr "删除过时的锁文件“%s”时出错:%s" - --#: gio/gdbusauthmechanismsha1.c:651 -+#: ../gio/gdbusauthmechanismsha1.c:651 - #, c-format - msgid "Error closing (unlinked) lock file “%s”: %s" - msgstr "关闭(未链接的)锁文件“%s”时出错:%s" - --#: gio/gdbusauthmechanismsha1.c:662 -+#: ../gio/gdbusauthmechanismsha1.c:662 - #, c-format - msgid "Error unlinking lock file “%s”: %s" - msgstr "删除(unlink)锁文件“%s”时出错:%s" - --#: gio/gdbusauthmechanismsha1.c:738 -+#: ../gio/gdbusauthmechanismsha1.c:738 - #, c-format - msgid "Error opening keyring “%s” for writing: " - msgstr "打开钥匙环“%s”以写入时出错:" - --#: gio/gdbusauthmechanismsha1.c:932 -+#: ../gio/gdbusauthmechanismsha1.c:932 - #, c-format - msgid "(Additionally, releasing the lock for “%s” also failed: %s) " - msgstr "(此外,解除“%s”的锁定也失败了:%s) " - --#: gio/gdbusconnection.c:590 gio/gdbusconnection.c:2404 -+#: ../gio/gdbusconnection.c:590 ../gio/gdbusconnection.c:2404 - msgid "The connection is closed" - msgstr "连接已关闭" - --#: gio/gdbusconnection.c:1889 -+#: ../gio/gdbusconnection.c:1889 - msgid "Timeout was reached" - msgstr "已到超时限制" - --#: gio/gdbusconnection.c:2527 -+#: ../gio/gdbusconnection.c:2527 - msgid "" - "Unsupported flags encountered when constructing a client-side connection" - msgstr "构建客户端连接时遇到不支持的标志" - --#: gio/gdbusconnection.c:4256 gio/gdbusconnection.c:4610 -+#: ../gio/gdbusconnection.c:4256 ../gio/gdbusconnection.c:4610 - #, c-format - msgid "" - "No such interface “org.freedesktop.DBus.Properties” on object at path %s" - msgstr "路径 %s 的对象上没有“org.freedesktop.DBus.Properties”接口" - --#: gio/gdbusconnection.c:4401 -+#: ../gio/gdbusconnection.c:4401 - #, c-format - msgid "No such property “%s”" - msgstr "无此属性“%s”" - --#: gio/gdbusconnection.c:4413 -+#: ../gio/gdbusconnection.c:4413 - #, c-format - msgid "Property “%s” is not readable" - msgstr "属性“%s”不可读" - --#: gio/gdbusconnection.c:4424 -+#: ../gio/gdbusconnection.c:4424 - #, c-format - msgid "Property “%s” is not writable" - msgstr "属性“%s”不可写" - --#: gio/gdbusconnection.c:4444 -+#: ../gio/gdbusconnection.c:4444 - #, c-format - msgid "Error setting property “%s”: Expected type “%s” but got “%s”" - msgstr "设置属性“%s”时出错:期望“%s”类型但得到了“%s”类型" - --#: gio/gdbusconnection.c:4549 gio/gdbusconnection.c:4764 --#: gio/gdbusconnection.c:6747 -+#: ../gio/gdbusconnection.c:4549 ../gio/gdbusconnection.c:4764 -+#: ../gio/gdbusconnection.c:6747 - #, c-format - msgid "No such interface “%s”" - msgstr "无此接口“%s”" - --#: gio/gdbusconnection.c:4986 gio/gdbusconnection.c:7261 -+#: ../gio/gdbusconnection.c:4986 ../gio/gdbusconnection.c:7261 - #, c-format - msgid "No such interface “%s” on object at path %s" - msgstr "在路径 %s 的对象上没有“%s”接口" - --#: gio/gdbusconnection.c:5087 -+#: ../gio/gdbusconnection.c:5087 - #, c-format - msgid "No such method “%s”" - msgstr "没有“%s”这个方法" - --#: gio/gdbusconnection.c:5118 -+#: ../gio/gdbusconnection.c:5118 - #, c-format - msgid "Type of message, “%s”, does not match expected type “%s”" - msgstr "消息的类型“%s”,与预期的类型“%s”不匹配" - --#: gio/gdbusconnection.c:5321 -+#: ../gio/gdbusconnection.c:5321 - #, c-format - msgid "An object is already exported for the interface %s at %s" - msgstr "已为 %2$s 处的接口 %1$s 导出了一个对象" - --#: gio/gdbusconnection.c:5548 -+#: ../gio/gdbusconnection.c:5548 - #, c-format - msgid "Unable to retrieve property %s.%s" - msgstr "无法检索属性 %s.%s" - --#: gio/gdbusconnection.c:5604 -+#: ../gio/gdbusconnection.c:5604 - #, c-format - msgid "Unable to set property %s.%s" - msgstr "无法设置属性 %s.%s" - --#: gio/gdbusconnection.c:5783 -+#: ../gio/gdbusconnection.c:5783 - #, c-format - msgid "Method “%s” returned type “%s”, but expected “%s”" - msgstr "方法“%s”返回类型“%s”,但预期的是“%s”" - --#: gio/gdbusconnection.c:6859 -+#: ../gio/gdbusconnection.c:6859 - #, c-format - msgid "Method “%s” on interface “%s” with signature “%s” does not exist" - msgstr "带有“%3$s”签名的接口“%2$s”上不存在“%1$s”方法" - --#: gio/gdbusconnection.c:6980 -+#: ../gio/gdbusconnection.c:6980 - #, c-format - msgid "A subtree is already exported for %s" - msgstr "已经为 %s 导出一个子树" - --#: gio/gdbusconnection.c:7269 -+#: ../gio/gdbusconnection.c:7269 - #, c-format - msgid "Object does not exist at path “%s”" - msgstr "对象在路径“%s”处不存在" - --#: gio/gdbusmessage.c:1303 -+#: ../gio/gdbusmessage.c:1303 - msgid "type is INVALID" - msgstr "类型无效" - --#: gio/gdbusmessage.c:1314 -+#: ../gio/gdbusmessage.c:1314 - msgid "METHOD_CALL message: PATH or MEMBER header field is missing" - msgstr "METHOD_CALL 消息:PATH 或 MEMBER 首部字段缺失" - --#: gio/gdbusmessage.c:1325 -+#: ../gio/gdbusmessage.c:1325 - msgid "METHOD_RETURN message: REPLY_SERIAL header field is missing" - msgstr "METHOD_RETURN 消息:REPLY_SERIAL 首部字段缺失" - --#: gio/gdbusmessage.c:1337 -+#: ../gio/gdbusmessage.c:1337 - msgid "ERROR message: REPLY_SERIAL or ERROR_NAME header field is missing" - msgstr "错误消息:REPLY_SERIAL 或 ERROR_NAME 首部字段缺失" - --#: gio/gdbusmessage.c:1350 -+#: ../gio/gdbusmessage.c:1350 - msgid "SIGNAL message: PATH, INTERFACE or MEMBER header field is missing" - msgstr "信号消息:PATH、INTERFACE 或 MEMBER METHOD_RETURN缺失" - --#: gio/gdbusmessage.c:1358 -+#: ../gio/gdbusmessage.c:1358 - msgid "" - "SIGNAL message: The PATH header field is using the reserved value /org/" - "freedesktop/DBus/Local" - msgstr "信号消息:PATH 首部字段正在使用保留值 /org/freedesktop/DBus/Local" - --#: gio/gdbusmessage.c:1366 -+#: ../gio/gdbusmessage.c:1366 - msgid "" - "SIGNAL message: The INTERFACE header field is using the reserved value org." - "freedesktop.DBus.Local" - msgstr "信号消息:INTERFACE 首部字段正在使用保留值 org.freedesktop.DBus.Local" - --#: gio/gdbusmessage.c:1414 gio/gdbusmessage.c:1474 -+#: ../gio/gdbusmessage.c:1414 ../gio/gdbusmessage.c:1474 - #, c-format - msgid "Wanted to read %lu byte but only got %lu" - msgid_plural "Wanted to read %lu bytes but only got %lu" - msgstr[0] "期望读取 %lu 个字节但只得到 %lu 个" - --#: gio/gdbusmessage.c:1428 -+#: ../gio/gdbusmessage.c:1428 - #, c-format - msgid "Expected NUL byte after the string “%s” but found byte %d" - msgstr "期望“%s”后为 NUL 字节但找到了字节 %d" - --#: gio/gdbusmessage.c:1447 -+#: ../gio/gdbusmessage.c:1447 - #, c-format - msgid "" - "Expected valid UTF-8 string but found invalid bytes at byte offset %d " -@@ -796,21 +808,22 @@ msgstr "" - "期望得到有效的 UTF-8 字符串,但在字节偏移 %d 处(字符串长度为 %d)找到了无效" - "的字节。该点的有效 UTF-8 字符串曾是“%s”" - --#: gio/gdbusmessage.c:1511 gio/gdbusmessage.c:1787 gio/gdbusmessage.c:1998 -+#: ../gio/gdbusmessage.c:1511 ../gio/gdbusmessage.c:1787 -+#: ../gio/gdbusmessage.c:1998 - msgid "Value nested too deeply" - msgstr "值嵌套过深" - --#: gio/gdbusmessage.c:1679 -+#: ../gio/gdbusmessage.c:1679 - #, c-format - msgid "Parsed value “%s” is not a valid D-Bus object path" - msgstr "已解析的值“%s”不是有效的 D-Bus 对象路径" - --#: gio/gdbusmessage.c:1703 -+#: ../gio/gdbusmessage.c:1703 - #, c-format - msgid "Parsed value “%s” is not a valid D-Bus signature" - msgstr "已解析的值“%s”不是有效的 D-Bus 签名" - --#: gio/gdbusmessage.c:1754 -+#: ../gio/gdbusmessage.c:1754 - #, c-format - msgid "" - "Encountered array of length %u byte. Maximum length is 2<<26 bytes (64 MiB)." -@@ -818,7 +831,7 @@ msgid_plural "" - "Encountered array of length %u bytes. Maximum length is 2<<26 bytes (64 MiB)." - msgstr[0] "遇到长度为 %u 字节的数组。最大长度应为 2<<26 字节(64 MiB)。" - --#: gio/gdbusmessage.c:1774 -+#: ../gio/gdbusmessage.c:1774 - #, c-format - msgid "" - "Encountered array of type “a%c”, expected to have a length a multiple of %u " -@@ -826,131 +839,131 @@ msgid "" - msgstr "" - "遇到类型为“a%c”的数组,需要长度为 %u 字节的倍数,但是找到的长度为 %u 字节" - --#: gio/gdbusmessage.c:1928 gio/gdbusmessage.c:2647 -+#: ../gio/gdbusmessage.c:1928 ../gio/gdbusmessage.c:2647 - msgid "Empty structures (tuples) are not allowed in D-Bus" - msgstr "D-Bus 中不允许空结构(tuples)" - --#: gio/gdbusmessage.c:1982 -+#: ../gio/gdbusmessage.c:1982 - #, c-format - msgid "Parsed value “%s” for variant is not a valid D-Bus signature" - msgstr "变量的已解析值“%s”不是有效的 D-Bus 签名" - --#: gio/gdbusmessage.c:2023 -+#: ../gio/gdbusmessage.c:2023 - #, c-format - msgid "" - "Error deserializing GVariant with type string “%s” from the D-Bus wire format" - msgstr "从 D-Bus 线格式以类型字符串“%s”反序列化 GVariant 时发生错误" - --#: gio/gdbusmessage.c:2208 -+#: ../gio/gdbusmessage.c:2208 - #, c-format - msgid "" - "Invalid endianness value. Expected 0x6c (“l”) or 0x42 (“B”) but found value " - "0x%02x" - msgstr "无效的字节序值。期望为 0x6c(“l”)或 0x42(“B”)但找到值 0x%02x" - --#: gio/gdbusmessage.c:2227 -+#: ../gio/gdbusmessage.c:2227 - #, c-format - msgid "Invalid major protocol version. Expected 1 but found %d" - msgstr "无效的主协议版本。期望 1,但是找到了 %d" - --#: gio/gdbusmessage.c:2285 gio/gdbusmessage.c:2883 -+#: ../gio/gdbusmessage.c:2285 ../gio/gdbusmessage.c:2883 - msgid "Signature header found but is not of type signature" - msgstr "找到了签名首部但不属于类型签名" - --#: gio/gdbusmessage.c:2297 -+#: ../gio/gdbusmessage.c:2297 - #, c-format - msgid "Signature header with signature “%s” found but message body is empty" - msgstr "发现签名“%s”的签名首部,但消息主体为空" - --#: gio/gdbusmessage.c:2312 -+#: ../gio/gdbusmessage.c:2312 - #, c-format - msgid "Parsed value “%s” is not a valid D-Bus signature (for body)" - msgstr "已解析的值“%s”不是有效的 D-Bus 签名(针对消息主体)" - --#: gio/gdbusmessage.c:2344 -+#: ../gio/gdbusmessage.c:2344 - #, c-format - msgid "No signature header in message but the message body is %u byte" - msgid_plural "No signature header in message but the message body is %u bytes" - msgstr[0] "消息中没有签名首部,但消息主体为 %u 字节" - --#: gio/gdbusmessage.c:2354 -+#: ../gio/gdbusmessage.c:2354 - msgid "Cannot deserialize message: " - msgstr "无法反序列化消息:" - --#: gio/gdbusmessage.c:2700 -+#: ../gio/gdbusmessage.c:2700 - #, c-format - msgid "" - "Error serializing GVariant with type string “%s” to the D-Bus wire format" - msgstr "以类型字符串“%s”序列化 GVariant 到 D-Bus 线格式时发生错误" - --#: gio/gdbusmessage.c:2837 -+#: ../gio/gdbusmessage.c:2837 - #, c-format - msgid "" - "Number of file descriptors in message (%d) differs from header field (%d)" - msgstr "消息中的文件描述符数量(%d)与首部字段中的(%d)不同" - --#: gio/gdbusmessage.c:2845 -+#: ../gio/gdbusmessage.c:2845 - msgid "Cannot serialize message: " - msgstr "无法序列化消息:" - --#: gio/gdbusmessage.c:2898 -+#: ../gio/gdbusmessage.c:2898 - #, c-format - msgid "Message body has signature “%s” but there is no signature header" - msgstr "消息主体有签名“%s”但是没有签名首部" - --#: gio/gdbusmessage.c:2908 -+#: ../gio/gdbusmessage.c:2908 - #, c-format - msgid "" - "Message body has type signature “%s” but signature in the header field is " - "“%s”" - msgstr "消息主体有类型签名“%s”但首部字段的签名为“%s”" - --#: gio/gdbusmessage.c:2924 -+#: ../gio/gdbusmessage.c:2924 - #, c-format - msgid "Message body is empty but signature in the header field is “(%s)”" - msgstr "消息主体为空,但首部字段的签名为“(%s)”" - --#: gio/gdbusmessage.c:3479 -+#: ../gio/gdbusmessage.c:3479 - #, c-format - msgid "Error return with body of type “%s”" - msgstr "出错,返回了“%s”类型的主体" - --#: gio/gdbusmessage.c:3487 -+#: ../gio/gdbusmessage.c:3487 - msgid "Error return with empty body" - msgstr "出错,返回了空的主体" - --#: gio/gdbusprivate.c:2187 -+#: ../gio/gdbusprivate.c:2187 - #, c-format - msgid "(Type any character to close this window)\n" - msgstr "(按任意键关闭本窗口)\n" - --#: gio/gdbusprivate.c:2373 -+#: ../gio/gdbusprivate.c:2373 - #, c-format - msgid "Session dbus not running, and autolaunch failed" - msgstr "dbus 会话未运行,自动启动失败" - --#: gio/gdbusprivate.c:2396 -+#: ../gio/gdbusprivate.c:2396 - #, c-format - msgid "Unable to get Hardware profile: %s" - msgstr "无法获取硬件配置文件:%s" - - #. Translators: Both placeholders are file paths --#: gio/gdbusprivate.c:2447 -+#: ../gio/gdbusprivate.c:2447 - #, c-format - msgid "Unable to load %s or %s: " - msgstr "无法载入 %s 或 %s:" - --#: gio/gdbusproxy.c:1575 -+#: ../gio/gdbusproxy.c:1575 - #, c-format - msgid "Error calling StartServiceByName for %s: " - msgstr "为 %s 调用 StartServiceByName 时出错:" - --#: gio/gdbusproxy.c:1598 -+#: ../gio/gdbusproxy.c:1598 - #, c-format - msgid "Unexpected reply %d from StartServiceByName(\"%s\") method" - msgstr "从 StartServiceByName(\"%2$s\") 方法获得意外回复 %1$d" - --#: gio/gdbusproxy.c:2709 gio/gdbusproxy.c:2844 -+#: ../gio/gdbusproxy.c:2709 ../gio/gdbusproxy.c:2844 - #, c-format - msgid "" - "Cannot invoke method; proxy is for the well-known name %s without an owner, " -@@ -959,31 +972,31 @@ msgstr "" - "无法调用方法;代理名称为常见的无所有者的名称 %s,且代理使用 " - "G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START 标记构建" - --#: gio/gdbusserver.c:765 -+#: ../gio/gdbusserver.c:765 - msgid "Abstract namespace not supported" - msgstr "不支持抽象命名空间" - --#: gio/gdbusserver.c:857 -+#: ../gio/gdbusserver.c:857 - msgid "Cannot specify nonce file when creating a server" - msgstr "创建服务器时无法指定临时文件" - --#: gio/gdbusserver.c:939 -+#: ../gio/gdbusserver.c:939 - #, c-format - msgid "Error writing nonce file at “%s”: %s" - msgstr "写入“%s”处的临时文件时出错:%s" - --#: gio/gdbusserver.c:1114 -+#: ../gio/gdbusserver.c:1114 - #, c-format - msgid "The string “%s” is not a valid D-Bus GUID" - msgstr "字符串“%s”不是有效 D-Bus GUID" - --#: gio/gdbusserver.c:1152 -+#: ../gio/gdbusserver.c:1152 - #, c-format - msgid "Cannot listen on unsupported transport “%s”" - msgstr "无法监听不支持的传输“%s”" - - # 统一翻译 --#: gio/gdbus-tool.c:113 -+#: ../gio/gdbus-tool.c:113 - #, c-format - msgid "" - "Commands:\n" -@@ -1006,360 +1019,368 @@ msgstr "" - "\n" - "使用“%s 命令 --help”以获得每一个命令的帮助。\n" - --#: gio/gdbus-tool.c:204 gio/gdbus-tool.c:276 gio/gdbus-tool.c:348 --#: gio/gdbus-tool.c:372 gio/gdbus-tool.c:862 gio/gdbus-tool.c:1247 --#: gio/gdbus-tool.c:1734 -+#: ../gio/gdbus-tool.c:204 ../gio/gdbus-tool.c:276 ../gio/gdbus-tool.c:348 -+#: ../gio/gdbus-tool.c:372 ../gio/gdbus-tool.c:862 ../gio/gdbus-tool.c:1247 -+#: ../gio/gdbus-tool.c:1734 - #, c-format - msgid "Error: %s\n" - msgstr "错误:%s\n" - --#: gio/gdbus-tool.c:215 gio/gdbus-tool.c:289 gio/gdbus-tool.c:1750 -+#: ../gio/gdbus-tool.c:215 ../gio/gdbus-tool.c:289 ../gio/gdbus-tool.c:1750 - #, c-format - msgid "Error parsing introspection XML: %s\n" - msgstr "解析 Introspection XML 时出错:%s\n" - --#: gio/gdbus-tool.c:253 -+#: ../gio/gdbus-tool.c:253 - #, c-format - msgid "Error: %s is not a valid name\n" - msgstr "错误:%s 不是有效的名称\n" - --#: gio/gdbus-tool.c:258 gio/gdbus-tool.c:748 gio/gdbus-tool.c:1066 --#: gio/gdbus-tool.c:1900 gio/gdbus-tool.c:2140 -+#: ../gio/gdbus-tool.c:258 ../gio/gdbus-tool.c:748 ../gio/gdbus-tool.c:1066 -+#: ../gio/gdbus-tool.c:1900 ../gio/gdbus-tool.c:2140 - #, c-format - msgid "Error: %s is not a valid object path\n" - msgstr "错误:%s 不是有效的对象路径\n" - --#: gio/gdbus-tool.c:406 -+#: ../gio/gdbus-tool.c:406 - msgid "Connect to the system bus" - msgstr "连接到系统总线" - --#: gio/gdbus-tool.c:407 -+#: ../gio/gdbus-tool.c:407 - msgid "Connect to the session bus" - msgstr "连接到会话总线" - --#: gio/gdbus-tool.c:408 -+#: ../gio/gdbus-tool.c:408 - msgid "Connect to given D-Bus address" - msgstr "连接到给定的 D-Bus 地址" - --#: gio/gdbus-tool.c:418 -+#: ../gio/gdbus-tool.c:418 - msgid "Connection Endpoint Options:" - msgstr "连接端点选项:" - --#: gio/gdbus-tool.c:419 -+#: ../gio/gdbus-tool.c:419 - msgid "Options specifying the connection endpoint" - msgstr "指定连接端点的选项" - - # 没有>未,消歧义 --#: gio/gdbus-tool.c:442 -+#: ../gio/gdbus-tool.c:442 - #, c-format - msgid "No connection endpoint specified" - msgstr "未指定连接的端点" - --#: gio/gdbus-tool.c:452 -+#: ../gio/gdbus-tool.c:452 - #, c-format - msgid "Multiple connection endpoints specified" - msgstr "指定了多个连接端点" - --#: gio/gdbus-tool.c:525 -+#: ../gio/gdbus-tool.c:525 - #, c-format - msgid "" - "Warning: According to introspection data, interface “%s” does not exist\n" - msgstr "警告:根据 Introspection 数据,接口“%s”不存在\n" - --#: gio/gdbus-tool.c:534 -+#: ../gio/gdbus-tool.c:534 - #, c-format - msgid "" - "Warning: According to introspection data, method “%s” does not exist on " - "interface “%s”\n" - msgstr "警告:根据 Introspection 数据,接口“%2$s”中不存在方法“%1$s”\n" - --#: gio/gdbus-tool.c:596 -+#: ../gio/gdbus-tool.c:596 - msgid "Optional destination for signal (unique name)" - msgstr "信号的可选目标位置(唯一名称)" - --#: gio/gdbus-tool.c:597 -+#: ../gio/gdbus-tool.c:597 - msgid "Object path to emit signal on" - msgstr "要触发信号的对象路径" - --#: gio/gdbus-tool.c:598 -+#: ../gio/gdbus-tool.c:598 - msgid "Signal and interface name" - msgstr "信号和接口名称" - --#: gio/gdbus-tool.c:631 -+#: ../gio/gdbus-tool.c:631 - msgid "Emit a signal." - msgstr "发射信号。" - --#: gio/gdbus-tool.c:686 gio/gdbus-tool.c:1003 gio/gdbus-tool.c:1837 --#: gio/gdbus-tool.c:2069 gio/gdbus-tool.c:2289 -+#: ../gio/gdbus-tool.c:686 ../gio/gdbus-tool.c:1003 ../gio/gdbus-tool.c:1837 -+#: ../gio/gdbus-tool.c:2069 ../gio/gdbus-tool.c:2289 - #, c-format - msgid "Error connecting: %s\n" - msgstr "连接时出错:%s\n" - --#: gio/gdbus-tool.c:706 -+#: ../gio/gdbus-tool.c:706 - #, c-format - msgid "Error: %s is not a valid unique bus name.\n" - msgstr "错误:%s 不是有效的唯一总线名。\n" - --#: gio/gdbus-tool.c:725 gio/gdbus-tool.c:1046 gio/gdbus-tool.c:1880 -+#: ../gio/gdbus-tool.c:725 ../gio/gdbus-tool.c:1046 ../gio/gdbus-tool.c:1880 -+#, c-format - msgid "Error: Object path is not specified\n" - msgstr "错误:未指定对象路径\n" - --#: gio/gdbus-tool.c:768 -+#: ../gio/gdbus-tool.c:768 -+#, c-format - msgid "Error: Signal name is not specified\n" - msgstr "错误:未指定信号名\n" - --#: gio/gdbus-tool.c:782 -+#: ../gio/gdbus-tool.c:782 - #, c-format - msgid "Error: Signal name “%s” is invalid\n" - msgstr "错误:信号名“%s”无效\n" - --#: gio/gdbus-tool.c:794 -+#: ../gio/gdbus-tool.c:794 - #, c-format - msgid "Error: %s is not a valid interface name\n" - msgstr "错误:%s 不是有效的接口名称。\n" - --#: gio/gdbus-tool.c:800 -+#: ../gio/gdbus-tool.c:800 - #, c-format - msgid "Error: %s is not a valid member name\n" - msgstr "错误:%s 不是有效的成员名称。\n" - - #. Use the original non-"parse-me-harder" error --#: gio/gdbus-tool.c:837 gio/gdbus-tool.c:1178 -+#: ../gio/gdbus-tool.c:837 ../gio/gdbus-tool.c:1178 - #, c-format - msgid "Error parsing parameter %d: %s\n" - msgstr "解析第 %d 个选项时出错:%s\n" - --#: gio/gdbus-tool.c:869 -+#: ../gio/gdbus-tool.c:869 - #, c-format - msgid "Error flushing connection: %s\n" - msgstr "刷新连接时出错:%s\n" - --#: gio/gdbus-tool.c:897 -+#: ../gio/gdbus-tool.c:897 - msgid "Destination name to invoke method on" - msgstr "调用方法的目标位置名称" - --#: gio/gdbus-tool.c:898 -+#: ../gio/gdbus-tool.c:898 - msgid "Object path to invoke method on" - msgstr "调用方法的对象路径" - --#: gio/gdbus-tool.c:899 -+#: ../gio/gdbus-tool.c:899 - msgid "Method and interface name" - msgstr "方法和接口名称" - --#: gio/gdbus-tool.c:900 -+#: ../gio/gdbus-tool.c:900 - msgid "Timeout in seconds" - msgstr "超时(以秒计)" - --#: gio/gdbus-tool.c:901 -+#: ../gio/gdbus-tool.c:901 - msgid "Allow interactive authorization" - msgstr "允许交互式授权" - --#: gio/gdbus-tool.c:948 -+#: ../gio/gdbus-tool.c:948 - msgid "Invoke a method on a remote object." - msgstr "在远程对象上调用一个方法。" - --#: gio/gdbus-tool.c:1020 gio/gdbus-tool.c:1854 gio/gdbus-tool.c:2094 -+#: ../gio/gdbus-tool.c:1020 ../gio/gdbus-tool.c:1854 ../gio/gdbus-tool.c:2094 -+#, c-format - msgid "Error: Destination is not specified\n" - msgstr "错误:未指定目标位置名称\n" - --#: gio/gdbus-tool.c:1031 gio/gdbus-tool.c:1871 gio/gdbus-tool.c:2105 -+#: ../gio/gdbus-tool.c:1031 ../gio/gdbus-tool.c:1871 ../gio/gdbus-tool.c:2105 - #, c-format - msgid "Error: %s is not a valid bus name\n" - msgstr "错误:%s 不是有效的总线名称\n" - --#: gio/gdbus-tool.c:1081 -+#: ../gio/gdbus-tool.c:1081 -+#, c-format - msgid "Error: Method name is not specified\n" - msgstr "错误:方法名没有指定\n" - --#: gio/gdbus-tool.c:1092 -+#: ../gio/gdbus-tool.c:1092 - #, c-format - msgid "Error: Method name “%s” is invalid\n" - msgstr "错误:方法名“%s”无效\n" - --#: gio/gdbus-tool.c:1170 -+#: ../gio/gdbus-tool.c:1170 - #, c-format - msgid "Error parsing parameter %d of type “%s”: %s\n" - msgstr "解析\"%2$s\"类型的第 %1$d 个参数时发生错误:%3$s\n" - --#: gio/gdbus-tool.c:1196 -+#: ../gio/gdbus-tool.c:1196 - #, c-format - msgid "Error adding handle %d: %s\n" - msgstr "添加句柄 %d 时出错:%s\n" - --#: gio/gdbus-tool.c:1696 -+#: ../gio/gdbus-tool.c:1696 - msgid "Destination name to introspect" - msgstr "要 Introspect 的目标位置名称" - --#: gio/gdbus-tool.c:1697 -+#: ../gio/gdbus-tool.c:1697 - msgid "Object path to introspect" - msgstr "要 Introspect 的对象路径" - --#: gio/gdbus-tool.c:1698 -+#: ../gio/gdbus-tool.c:1698 - msgid "Print XML" - msgstr "输出 XML" - --#: gio/gdbus-tool.c:1699 -+#: ../gio/gdbus-tool.c:1699 - msgid "Introspect children" - msgstr "Introspect 子对象" - --#: gio/gdbus-tool.c:1700 -+#: ../gio/gdbus-tool.c:1700 - msgid "Only print properties" - msgstr "只打印属性" - - # 跟命令行里的统一翻译 --#: gio/gdbus-tool.c:1789 -+#: ../gio/gdbus-tool.c:1789 - msgid "Introspect a remote object." - msgstr "Introspect 一个远程对象。" - --#: gio/gdbus-tool.c:1995 -+#: ../gio/gdbus-tool.c:1995 - msgid "Destination name to monitor" - msgstr "要监视的目标位置名称" - --#: gio/gdbus-tool.c:1996 -+#: ../gio/gdbus-tool.c:1996 - msgid "Object path to monitor" - msgstr "要监视的对象路径" - --#: gio/gdbus-tool.c:2021 -+#: ../gio/gdbus-tool.c:2021 - msgid "Monitor a remote object." - msgstr "监视一个远程对象。" - --#: gio/gdbus-tool.c:2079 -+#: ../gio/gdbus-tool.c:2079 -+#, c-format - msgid "Error: can’t monitor a non-message-bus connection\n" - msgstr "错误:无法监视 non-message-bus 连接\n" - --#: gio/gdbus-tool.c:2203 -+#: ../gio/gdbus-tool.c:2203 - msgid "Service to activate before waiting for the other one (well-known name)" - msgstr "在等待另一服务前要激活的服务(常见名称)" - --#: gio/gdbus-tool.c:2206 -+#: ../gio/gdbus-tool.c:2206 - msgid "" - "Timeout to wait for before exiting with an error (seconds); 0 for no timeout " - "(default)" - msgstr "出现错误退出前的超时(秒); 0 为无超时(默认)" - --#: gio/gdbus-tool.c:2254 -+#: ../gio/gdbus-tool.c:2254 - msgid "[OPTION…] BUS-NAME" - msgstr "[选项…] 总线名称" - --#: gio/gdbus-tool.c:2255 -+#: ../gio/gdbus-tool.c:2255 - msgid "Wait for a bus name to appear." - msgstr "等待总线名称出现。" - --#: gio/gdbus-tool.c:2331 -+#: ../gio/gdbus-tool.c:2331 -+#, c-format - msgid "Error: A service to activate for must be specified.\n" - msgstr "错误:未指定需要激活的服务名称。\n" - --#: gio/gdbus-tool.c:2336 -+#: ../gio/gdbus-tool.c:2336 -+#, c-format - msgid "Error: A service to wait for must be specified.\n" - msgstr "错误:未指定需要等待的服务名称。\n" - --#: gio/gdbus-tool.c:2341 -+#: ../gio/gdbus-tool.c:2341 -+#, c-format - msgid "Error: Too many arguments.\n" - msgstr "错误:参数过多。\n" - --#: gio/gdbus-tool.c:2349 gio/gdbus-tool.c:2356 -+#: ../gio/gdbus-tool.c:2349 ../gio/gdbus-tool.c:2356 - #, c-format - msgid "Error: %s is not a valid well-known bus name.\n" - msgstr "错误:%s 不是有效的总线名称。\n" - --#: gio/gdebugcontrollerdbus.c:360 -+#: ../gio/gdebugcontrollerdbus.c:360 - #, c-format - msgid "Not authorized to change debug settings" - msgstr "未获认证以更改调试设置" - --#: gio/gdesktopappinfo.c:2182 gio/gdesktopappinfo.c:5112 -+#: ../gio/gdesktopappinfo.c:2182 ../gio/gdesktopappinfo.c:5122 - msgid "Unnamed" - msgstr "未命名" - --#: gio/gdesktopappinfo.c:2592 -+#: ../gio/gdesktopappinfo.c:2592 - msgid "Desktop file didn’t specify Exec field" - msgstr "桌面文件未指定 Exec 字段" - --#: gio/gdesktopappinfo.c:2891 -+#: ../gio/gdesktopappinfo.c:2893 - msgid "Unable to find terminal required for application" - msgstr "无法找到应用程序需要的终端" - --#: gio/gdesktopappinfo.c:3630 -+#: ../gio/gdesktopappinfo.c:3640 - #, c-format - msgid "Can’t create user application configuration folder %s: %s" - msgstr "无法创建用户应用程序配置文件夹 %s:%s" - --#: gio/gdesktopappinfo.c:3634 -+#: ../gio/gdesktopappinfo.c:3644 - #, c-format - msgid "Can’t create user MIME configuration folder %s: %s" - msgstr "无法创建用户 MIME 配置文件夹 %s:%s" - --#: gio/gdesktopappinfo.c:3876 gio/gdesktopappinfo.c:3900 -+#: ../gio/gdesktopappinfo.c:3886 ../gio/gdesktopappinfo.c:3910 - msgid "Application information lacks an identifier" - msgstr "应用程序信息缺少标志符" - --#: gio/gdesktopappinfo.c:4136 -+#: ../gio/gdesktopappinfo.c:4146 - #, c-format - msgid "Can’t create user desktop file %s" - msgstr "无法创建用户桌面文件 %s" - --#: gio/gdesktopappinfo.c:4272 -+#: ../gio/gdesktopappinfo.c:4282 - #, c-format - msgid "Custom definition for %s" - msgstr "%s 的自定义" - --#: gio/gdrive.c:419 -+#: ../gio/gdrive.c:419 - msgid "drive doesn’t implement eject" - msgstr "驱动器未实现弹出" - - #. Translators: This is an error - #. * message for drive objects that - #. * don't implement any of eject or eject_with_operation. --#: gio/gdrive.c:497 -+#: ../gio/gdrive.c:497 - msgid "drive doesn’t implement eject or eject_with_operation" - msgstr "驱动器未实现弹出或 eject_with_operation" - --#: gio/gdrive.c:573 -+#: ../gio/gdrive.c:573 - msgid "drive doesn’t implement polling for media" - msgstr "驱动器未实现介质的轮询" - --#: gio/gdrive.c:780 -+#: ../gio/gdrive.c:780 - msgid "drive doesn’t implement start" - msgstr "驱动器未实现启动" - --#: gio/gdrive.c:882 -+#: ../gio/gdrive.c:882 - msgid "drive doesn’t implement stop" - msgstr "驱动器未实现停止" - --#: gio/gdtlsconnection.c:1188 gio/gtlsconnection.c:957 -+#: ../gio/gdtlsconnection.c:1188 ../gio/gtlsconnection.c:957 - msgid "TLS backend does not implement TLS binding retrieval" - msgstr "TLS 后端没有实现 TLS 绑定获取" - --#: gio/gdummytlsbackend.c:197 gio/gdummytlsbackend.c:323 --#: gio/gdummytlsbackend.c:515 -+#: ../gio/gdummytlsbackend.c:197 ../gio/gdummytlsbackend.c:323 -+#: ../gio/gdummytlsbackend.c:515 - msgid "TLS support is not available" - msgstr "TLS 支持不可用" - --#: gio/gdummytlsbackend.c:425 -+#: ../gio/gdummytlsbackend.c:425 - msgid "DTLS support is not available" - msgstr "DTLS 支持不可用" - --#: gio/gemblem.c:325 -+#: ../gio/gemblem.c:325 - #, c-format - msgid "Can’t handle version %d of GEmblem encoding" - msgstr "无法处理版本为 %d 的 GEmblem 编码" - --#: gio/gemblem.c:335 -+#: ../gio/gemblem.c:335 - #, c-format - msgid "Malformed number of tokens (%d) in GEmblem encoding" - msgstr "GEmblem 编码中有不正确的符号数量(%d)" - --#: gio/gemblemedicon.c:364 -+#: ../gio/gemblemedicon.c:364 - #, c-format - msgid "Can’t handle version %d of GEmblemedIcon encoding" - msgstr "无法处理版本为 %d 的 GEmblemedIcon 编码" - --#: gio/gemblemedicon.c:374 -+#: ../gio/gemblemedicon.c:374 - #, c-format - msgid "Malformed number of tokens (%d) in GEmblemedIcon encoding" - msgstr "GEmblemedIcon 编码中有不正确的符号数量(%d)" - --#: gio/gemblemedicon.c:397 -+#: ../gio/gemblemedicon.c:397 - msgid "Expected a GEmblem for GEmblemedIcon" - msgstr "GEmblemedIcon 中应为 GEmblem" - -@@ -1367,218 +1388,230 @@ msgstr "GEmblemedIcon 中应为 GEmblem" - #. * trying to find the enclosing (user visible) - #. * mount of a file, but none exists. - #. --#: gio/gfile.c:1594 -+#: ../gio/gfile.c:1620 - msgid "Containing mount does not exist" - msgstr "包含的挂载不存在" - --#: gio/gfile.c:2641 gio/glocalfile.c:2500 -+#: ../gio/gfile.c:2667 ../gio/glocalfile.c:2519 - msgid "Can’t copy over directory" - msgstr "无法跨目录复制" - --#: gio/gfile.c:2701 -+#: ../gio/gfile.c:2727 - msgid "Can’t copy directory over directory" - msgstr "无法跨目录复制到目录" - --#: gio/gfile.c:2709 -+#: ../gio/gfile.c:2735 - msgid "Target file exists" - msgstr "目标文件已存在" - --#: gio/gfile.c:2728 -+#: ../gio/gfile.c:2754 - msgid "Can’t recursively copy directory" - msgstr "无法递归复制目录" - --#: gio/gfile.c:3029 -+#: ../gio/gfile.c:3055 - msgid "Splice not supported" - msgstr "不支持拼接" - --#: gio/gfile.c:3033 -+#: ../gio/gfile.c:3059 - #, c-format - msgid "Error splicing file: %s" - msgstr "拼接文件时出错:%s" - --#: gio/gfile.c:3185 -+#: ../gio/gfile.c:3211 - msgid "Copy (reflink/clone) between mounts is not supported" - msgstr "不支持在挂载之间复制(reflink/clone)" - --#: gio/gfile.c:3189 -+#: ../gio/gfile.c:3215 - msgid "Copy (reflink/clone) is not supported or invalid" - msgstr "复制(reflink/clone)操作不支持或无效" - --#: gio/gfile.c:3194 -+#: ../gio/gfile.c:3220 - msgid "Copy (reflink/clone) is not supported or didn’t work" - msgstr "复制(reflink/clone)操作不支持或者失败" - --#: gio/gfile.c:3259 -+#: ../gio/gfile.c:3285 - msgid "Can’t copy special file" - msgstr "无法复制特殊文件" - --#: gio/gfile.c:4153 -+#: ../gio/gfile.c:3567 -+msgid "" -+"The file is too large, the fat format file system only supports files within " -+"4G,can be imported in device after compression" -+msgstr "文件太大,fat格式文件系统只支持4G以内的文件,压缩后可以导入设备" -+ -+#: ../gio/gfile.c:3792 -+msgid "" -+"The file is too large, the fat format file system only supports files within " -+"4G,can be moved in device after compression" -+msgstr "文件太大,fat格式文件系统只支持4G以内的文件,压缩后可以导入设备" -+ -+#: ../gio/gfile.c:4223 - msgid "Invalid symlink value given" - msgstr "给定的符号链接值无效" - --#: gio/gfile.c:4163 glib/gfileutils.c:2335 -+#: ../gio/gfile.c:4233 ../glib/gfileutils.c:2360 - msgid "Symbolic links not supported" - msgstr "不支持符号链接" - --#: gio/gfile.c:4450 -+#: ../gio/gfile.c:4520 - msgid "Trash not supported" - msgstr "不支持回收站" - --#: gio/gfile.c:4562 -+#: ../gio/gfile.c:4632 - #, c-format - msgid "File names cannot contain “%c”" - msgstr "文件名不能包含“%c”" - --#: gio/gfile.c:6993 gio/gfile.c:7119 -+#: ../gio/gfile.c:7063 ../gio/gfile.c:7189 - #, c-format - msgid "Failed to create a temporary directory for template “%s”: %s" - msgstr "为模板“%s”创建临时目录失败:%s" - --#: gio/gfile.c:7408 gio/gvolume.c:366 -+#: ../gio/gfile.c:7478 ../gio/gvolume.c:366 - msgid "volume doesn’t implement mount" - msgstr "卷未实现挂载" - --#: gio/gfile.c:7522 gio/gfile.c:7599 -+#: ../gio/gfile.c:7592 ../gio/gfile.c:7669 - msgid "No application is registered as handling this file" - msgstr "没有应用程序注册为处理此文件的" - --#: gio/gfileenumerator.c:214 -+#: ../gio/gfileenumerator.c:214 - msgid "Enumerator is closed" - msgstr "枚举器已关闭" - --#: gio/gfileenumerator.c:221 gio/gfileenumerator.c:280 --#: gio/gfileenumerator.c:379 gio/gfileenumerator.c:478 -+#: ../gio/gfileenumerator.c:221 ../gio/gfileenumerator.c:280 -+#: ../gio/gfileenumerator.c:379 ../gio/gfileenumerator.c:478 - msgid "File enumerator has outstanding operation" - msgstr "文件枚举器有异常操作" - --#: gio/gfileenumerator.c:370 gio/gfileenumerator.c:469 -+#: ../gio/gfileenumerator.c:370 ../gio/gfileenumerator.c:469 - msgid "File enumerator is already closed" - msgstr "文件枚举器已关闭" - --#: gio/gfileicon.c:252 -+#: ../gio/gfileicon.c:252 - #, c-format - msgid "Can’t handle version %d of GFileIcon encoding" - msgstr "无法处理版本为 %d 的 GFileIcon 编码" - --#: gio/gfileicon.c:262 -+#: ../gio/gfileicon.c:262 - msgid "Malformed input data for GFileIcon" - msgstr "GFileIcon 有不正确的输入数据" - --#: gio/gfileinputstream.c:151 gio/gfileinputstream.c:396 --#: gio/gfileiostream.c:169 gio/gfileoutputstream.c:166 --#: gio/gfileoutputstream.c:499 -+#: ../gio/gfileinputstream.c:151 ../gio/gfileinputstream.c:396 -+#: ../gio/gfileiostream.c:169 ../gio/gfileoutputstream.c:166 -+#: ../gio/gfileoutputstream.c:499 - msgid "Stream doesn’t support query_info" - msgstr "流不支持 query_info" - --#: gio/gfileinputstream.c:327 gio/gfileiostream.c:381 --#: gio/gfileoutputstream.c:373 -+#: ../gio/gfileinputstream.c:327 ../gio/gfileiostream.c:381 -+#: ../gio/gfileoutputstream.c:373 - msgid "Seek not supported on stream" - msgstr "流不支持定位" - --#: gio/gfileinputstream.c:371 -+#: ../gio/gfileinputstream.c:371 - msgid "Truncate not allowed on input stream" - msgstr "输入流不允许截断" - --#: gio/gfileiostream.c:457 gio/gfileoutputstream.c:449 -+#: ../gio/gfileiostream.c:457 ../gio/gfileoutputstream.c:449 - msgid "Truncate not supported on stream" - msgstr "流不支持截断" - --#: gio/ghttpproxy.c:93 gio/gresolver.c:460 gio/gresolver.c:613 --#: glib/gconvert.c:1829 -+#: ../gio/ghttpproxy.c:93 ../gio/gresolver.c:460 ../gio/gresolver.c:613 -+#: ../glib/gconvert.c:1829 - msgid "Invalid hostname" - msgstr "无效的主机名" - --#: gio/ghttpproxy.c:145 -+#: ../gio/ghttpproxy.c:145 - msgid "Bad HTTP proxy reply" - msgstr "错误的 HTTP 代理回复" - --#: gio/ghttpproxy.c:161 -+#: ../gio/ghttpproxy.c:161 - msgid "HTTP proxy connection not allowed" - msgstr "不允许 HTTP 代理连接" - --#: gio/ghttpproxy.c:166 -+#: ../gio/ghttpproxy.c:166 - msgid "HTTP proxy authentication failed" - msgstr "HTTP 代理认证失败" - --#: gio/ghttpproxy.c:169 -+#: ../gio/ghttpproxy.c:169 - msgid "HTTP proxy authentication required" - msgstr "HTTP 代理需要认证" - --#: gio/ghttpproxy.c:173 -+#: ../gio/ghttpproxy.c:173 - #, c-format - msgid "HTTP proxy connection failed: %i" - msgstr "连接到 HTTP 代理失败: %i" - --#: gio/ghttpproxy.c:268 -+#: ../gio/ghttpproxy.c:268 - msgid "HTTP proxy response too big" - msgstr "HTTP 代理响应过大" - --#: gio/ghttpproxy.c:285 -+#: ../gio/ghttpproxy.c:285 - msgid "HTTP proxy server closed connection unexpectedly." - msgstr "HTTP 代理服务器意外关闭连接。" - --#: gio/gicon.c:300 -+#: ../gio/gicon.c:300 - #, c-format - msgid "Wrong number of tokens (%d)" - msgstr "错误的符号数量(%d)" - --#: gio/gicon.c:320 -+#: ../gio/gicon.c:320 - #, c-format - msgid "No type for class name %s" - msgstr "类名 %s 没有类型" - --#: gio/gicon.c:330 -+#: ../gio/gicon.c:330 - #, c-format - msgid "Type %s does not implement the GIcon interface" - msgstr "类型 %s 没有实现 GIcon 接口" - --#: gio/gicon.c:341 -+#: ../gio/gicon.c:341 - #, c-format - msgid "Type %s is not classed" - msgstr "类型 %s 不是类" - --#: gio/gicon.c:355 -+#: ../gio/gicon.c:355 - #, c-format - msgid "Malformed version number: %s" - msgstr "不正确的版本号:%s" - --#: gio/gicon.c:369 -+#: ../gio/gicon.c:369 - #, c-format - msgid "Type %s does not implement from_tokens() on the GIcon interface" - msgstr "类型 %s 没有实现 GIcon 接口的 from_tokens() 方法" - --#: gio/gicon.c:471 -+#: ../gio/gicon.c:471 - msgid "Can’t handle the supplied version of the icon encoding" - msgstr "无法处理提供版本的图标编码" - --#: gio/ginetaddressmask.c:184 -+#: ../gio/ginetaddressmask.c:184 - msgid "No address specified" - msgstr "没有指定地址" - --#: gio/ginetaddressmask.c:192 -+#: ../gio/ginetaddressmask.c:192 - #, c-format - msgid "Length %u is too long for address" - msgstr "对地址来说长度 %u 太长了" - --#: gio/ginetaddressmask.c:225 -+#: ../gio/ginetaddressmask.c:225 - msgid "Address has bits set beyond prefix length" - msgstr "地址有些位设置得超出了前缀长度" - --#: gio/ginetaddressmask.c:302 -+#: ../gio/ginetaddressmask.c:302 - #, c-format - msgid "Could not parse “%s” as IP address mask" - msgstr "不能将“%s”解析为 IP 地址掩码" - --#: gio/ginetsocketaddress.c:205 gio/ginetsocketaddress.c:222 --#: gio/gnativesocketaddress.c:111 gio/gunixsocketaddress.c:230 -+#: ../gio/ginetsocketaddress.c:205 ../gio/ginetsocketaddress.c:222 -+#: ../gio/gnativesocketaddress.c:111 ../gio/gunixsocketaddress.c:230 - msgid "Not enough space for socket address" - msgstr "没有足够的空间用于套接字地址" - --#: gio/ginetsocketaddress.c:237 -+#: ../gio/ginetsocketaddress.c:237 - msgid "Unsupported socket address" - msgstr "不支持的套接字地址" - --#: gio/ginputstream.c:190 -+#: ../gio/ginputstream.c:190 - msgid "Input stream doesn’t implement read" - msgstr "输入流未实现读取" - -@@ -1588,126 +1621,129 @@ msgstr "输入流未实现读取" - #. Translators: This is an error you get if there is - #. * already an operation running against this stream when - #. * you try to start one --#: gio/ginputstream.c:1251 gio/giostream.c:312 gio/goutputstream.c:2210 -+#: ../gio/ginputstream.c:1251 ../gio/giostream.c:312 -+#: ../gio/goutputstream.c:2210 - msgid "Stream has outstanding operation" - msgstr "流有异常操作" - --#: gio/gio-tool.c:162 -+#: ../gio/gio-tool.c:162 - msgid "Copy with file" - msgstr "复制文件时保留" - --#: gio/gio-tool.c:166 -+#: ../gio/gio-tool.c:166 - msgid "Keep with file when moved" - msgstr "移动时与文件一起" - --#: gio/gio-tool.c:207 -+#: ../gio/gio-tool.c:207 - msgid "“version” takes no arguments" - msgstr "“version”不接受参数" - --#: gio/gio-tool.c:209 gio/gio-tool.c:225 glib/goption.c:871 -+#: ../gio/gio-tool.c:209 ../gio/gio-tool.c:225 ../glib/goption.c:871 - msgid "Usage:" - msgstr "用法:" - --#: gio/gio-tool.c:212 -+#: ../gio/gio-tool.c:212 - msgid "Print version information and exit." - msgstr "打印版本信息并退出。" - --#: gio/gio-tool.c:228 -+#: ../gio/gio-tool.c:228 - msgid "Commands:" - msgstr "命令:" - --#: gio/gio-tool.c:231 -+#: ../gio/gio-tool.c:231 - msgid "Concatenate files to standard output" - msgstr "串接文件,写到标准输出" - --#: gio/gio-tool.c:232 -+#: ../gio/gio-tool.c:232 - msgid "Copy one or more files" - msgstr "复制文件" - --#: gio/gio-tool.c:233 -+#: ../gio/gio-tool.c:233 - msgid "Show information about locations" - msgstr "显示关于位置的信息" - --#: gio/gio-tool.c:234 -+#: ../gio/gio-tool.c:234 - msgid "Launch an application from a desktop file" - msgstr "从桌面文件启动应用程序" - --#: gio/gio-tool.c:235 -+#: ../gio/gio-tool.c:235 - msgid "List the contents of locations" - msgstr "列出某位置的内容" - --#: gio/gio-tool.c:236 -+#: ../gio/gio-tool.c:236 - msgid "Get or set the handler for a mimetype" - msgstr "获取或设置某种 MIME 类型的处理程序" - --#: gio/gio-tool.c:237 -+#: ../gio/gio-tool.c:237 - msgid "Create directories" - msgstr "创建目录" - --#: gio/gio-tool.c:238 -+#: ../gio/gio-tool.c:238 - msgid "Monitor files and directories for changes" - msgstr "监视文件和目录的更改" - --#: gio/gio-tool.c:239 -+#: ../gio/gio-tool.c:239 - msgid "Mount or unmount the locations" - msgstr "挂载或卸载位置" - --#: gio/gio-tool.c:240 -+#: ../gio/gio-tool.c:240 - msgid "Move one or more files" - msgstr "移动文件" - --#: gio/gio-tool.c:241 -+#: ../gio/gio-tool.c:241 - msgid "Open files with the default application" - msgstr "用默认应用打开文件" - --#: gio/gio-tool.c:242 -+#: ../gio/gio-tool.c:242 - msgid "Rename a file" - msgstr "重命名文件" - --#: gio/gio-tool.c:243 -+#: ../gio/gio-tool.c:243 - msgid "Delete one or more files" - msgstr "删除文件" - --#: gio/gio-tool.c:244 -+#: ../gio/gio-tool.c:244 - msgid "Read from standard input and save" - msgstr "从标准输入读取并保存" - --#: gio/gio-tool.c:245 -+#: ../gio/gio-tool.c:245 - msgid "Set a file attribute" - msgstr "设置文件属性" - --#: gio/gio-tool.c:246 -+#: ../gio/gio-tool.c:246 - msgid "Move files or directories to the trash" - msgstr "移动文件或目录到回收站" - --#: gio/gio-tool.c:247 -+#: ../gio/gio-tool.c:247 - msgid "Lists the contents of locations in a tree" - msgstr "在树中列出某位置的内容" - --#: gio/gio-tool.c:249 -+#: ../gio/gio-tool.c:249 - #, c-format - msgid "Use %s to get detailed help.\n" - msgstr "使用 %s 以获取详细帮助。\n" - --#: gio/gio-tool-cat.c:89 -+#: ../gio/gio-tool-cat.c:89 - msgid "Error writing to stdout" - msgstr "写入到标准输出时出错" - - #. Translators: commandline placeholder --#: gio/gio-tool-cat.c:135 gio/gio-tool-info.c:379 gio/gio-tool-list.c:173 --#: gio/gio-tool-mkdir.c:50 gio/gio-tool-monitor.c:39 gio/gio-tool-monitor.c:41 --#: gio/gio-tool-monitor.c:43 gio/gio-tool-monitor.c:45 --#: gio/gio-tool-monitor.c:206 gio/gio-tool-mount.c:1202 gio/gio-tool-open.c:72 --#: gio/gio-tool-remove.c:50 gio/gio-tool-rename.c:47 gio/gio-tool-set.c:95 --#: gio/gio-tool-trash.c:222 gio/gio-tool-tree.c:241 -+#: ../gio/gio-tool-cat.c:135 ../gio/gio-tool-info.c:379 -+#: ../gio/gio-tool-list.c:173 ../gio/gio-tool-mkdir.c:50 -+#: ../gio/gio-tool-monitor.c:39 ../gio/gio-tool-monitor.c:41 -+#: ../gio/gio-tool-monitor.c:43 ../gio/gio-tool-monitor.c:45 -+#: ../gio/gio-tool-monitor.c:206 ../gio/gio-tool-mount.c:1210 -+#: ../gio/gio-tool-open.c:72 ../gio/gio-tool-remove.c:50 -+#: ../gio/gio-tool-rename.c:47 ../gio/gio-tool-set.c:95 -+#: ../gio/gio-tool-trash.c:222 ../gio/gio-tool-tree.c:241 - msgid "LOCATION" - msgstr "位置" - --#: gio/gio-tool-cat.c:140 -+#: ../gio/gio-tool-cat.c:140 - msgid "Concatenate files and print to standard output." - msgstr "串接文件,写到标准输出。" - --#: gio/gio-tool-cat.c:142 -+#: ../gio/gio-tool-cat.c:142 - msgid "" - "gio cat works just like the traditional cat utility, but using GIO\n" - "locations instead of local files: for example, you can use something\n" -@@ -1716,60 +1752,63 @@ msgstr "" - "gio cat 如传统 cat 程序那样工作,但使用 GIO 位置而非本地文件:\n" - "例如,你可以指定 smb://server/resource/file.txt 之类的位置。" - --#: gio/gio-tool-cat.c:164 gio/gio-tool-info.c:410 gio/gio-tool-mkdir.c:78 --#: gio/gio-tool-monitor.c:231 gio/gio-tool-mount.c:1253 gio/gio-tool-open.c:98 --#: gio/gio-tool-remove.c:74 gio/gio-tool-trash.c:303 -+#: ../gio/gio-tool-cat.c:164 ../gio/gio-tool-info.c:410 -+#: ../gio/gio-tool-mkdir.c:78 ../gio/gio-tool-monitor.c:231 -+#: ../gio/gio-tool-mount.c:1261 ../gio/gio-tool-open.c:98 -+#: ../gio/gio-tool-remove.c:74 ../gio/gio-tool-trash.c:303 - msgid "No locations given" - msgstr "未给定位置" - --#: gio/gio-tool-copy.c:45 gio/gio-tool-move.c:40 -+#: ../gio/gio-tool-copy.c:45 ../gio/gio-tool-move.c:40 - msgid "No target directory" - msgstr "无目标目录" - --#: gio/gio-tool-copy.c:46 gio/gio-tool-move.c:41 -+#: ../gio/gio-tool-copy.c:46 ../gio/gio-tool-move.c:41 - msgid "Show progress" - msgstr "显示进度" - --#: gio/gio-tool-copy.c:47 gio/gio-tool-move.c:42 -+#: ../gio/gio-tool-copy.c:47 ../gio/gio-tool-move.c:42 - msgid "Prompt before overwrite" - msgstr "覆盖前提示" - --#: gio/gio-tool-copy.c:48 -+#: ../gio/gio-tool-copy.c:48 - msgid "Preserve all attributes" - msgstr "保留所有属性" - --#: gio/gio-tool-copy.c:49 gio/gio-tool-move.c:43 gio/gio-tool-save.c:51 -+#: ../gio/gio-tool-copy.c:49 ../gio/gio-tool-move.c:43 -+#: ../gio/gio-tool-save.c:51 - msgid "Backup existing destination files" - msgstr "备份现有的目标文件" - --#: gio/gio-tool-copy.c:50 -+#: ../gio/gio-tool-copy.c:50 - msgid "Never follow symbolic links" - msgstr "从不跟随符号链接" - --#: gio/gio-tool-copy.c:51 -+#: ../gio/gio-tool-copy.c:51 - msgid "Use default permissions for the destination" - msgstr "对目标使用默认权限" - --#: gio/gio-tool-copy.c:76 gio/gio-tool-move.c:69 -+#: ../gio/gio-tool-copy.c:76 ../gio/gio-tool-move.c:69 - #, c-format - msgid "Transferred %s out of %s (%s/s)" - msgstr "已复制 %2$s 中的 %1$s(%3$s/秒)" - - #. Translators: commandline placeholder --#: gio/gio-tool-copy.c:102 gio/gio-tool-move.c:96 -+#: ../gio/gio-tool-copy.c:102 ../gio/gio-tool-move.c:96 - msgid "SOURCE" - msgstr "来源" - - #. Translators: commandline placeholder --#: gio/gio-tool-copy.c:102 gio/gio-tool-move.c:96 gio/gio-tool-save.c:162 -+#: ../gio/gio-tool-copy.c:102 ../gio/gio-tool-move.c:96 -+#: ../gio/gio-tool-save.c:162 - msgid "DESTINATION" - msgstr "目标" - --#: gio/gio-tool-copy.c:107 -+#: ../gio/gio-tool-copy.c:107 - msgid "Copy one or more files from SOURCE to DESTINATION." - msgstr "将一个或多个文件从源头复制到目标。" - --#: gio/gio-tool-copy.c:109 -+#: ../gio/gio-tool-copy.c:109 - msgid "" - "gio copy is similar to the traditional cp utility, but using GIO\n" - "locations instead of local files: for example, you can use something\n" -@@ -1778,91 +1817,96 @@ msgstr "" - "gio copy 如传统 cp 程序那样工作,但使用 GIO 位置而非本地文件:\n" - "例如,你可以指定 smb://server/resource/file.txt 之类的位置。" - --#: gio/gio-tool-copy.c:151 -+#: ../gio/gio-tool-copy.c:151 - #, c-format - msgid "Destination %s is not a directory" - msgstr "目标“%s”不是目录" - --#: gio/gio-tool-copy.c:198 gio/gio-tool-move.c:188 -+#: ../gio/gio-tool-copy.c:198 ../gio/gio-tool-move.c:188 - #, c-format - msgid "%s: overwrite “%s”? " - msgstr "%s:要覆盖“%s”吗?" - --#: gio/gio-tool-info.c:39 -+#: ../gio/gio-tool-info.c:39 - msgid "List writable attributes" - msgstr "列出可写属性" - --#: gio/gio-tool-info.c:40 -+#: ../gio/gio-tool-info.c:40 - msgid "Get file system info" - msgstr "获取文件系统信息" - --#: gio/gio-tool-info.c:41 gio/gio-tool-list.c:37 -+#: ../gio/gio-tool-info.c:41 ../gio/gio-tool-list.c:37 - msgid "The attributes to get" - msgstr "要获取的属性" - --#: gio/gio-tool-info.c:41 gio/gio-tool-list.c:37 -+#: ../gio/gio-tool-info.c:41 ../gio/gio-tool-list.c:37 - msgid "ATTRIBUTES" - msgstr "属性" - --#: gio/gio-tool-info.c:42 gio/gio-tool-list.c:40 gio/gio-tool-set.c:37 -+#: ../gio/gio-tool-info.c:42 ../gio/gio-tool-list.c:40 ../gio/gio-tool-set.c:37 - msgid "Don’t follow symbolic links" - msgstr "不要跟随符号链接" - --#: gio/gio-tool-info.c:105 -+#: ../gio/gio-tool-info.c:105 -+#, c-format - msgid "attributes:\n" - msgstr "属性:\n" - --#: gio/gio-tool-info.c:165 gio/gio-tool-info.c:174 -+#: ../gio/gio-tool-info.c:165 ../gio/gio-tool-info.c:174 - #, c-format - msgid "display name: %s\n" - msgstr "显示名称:%s\n" - --#: gio/gio-tool-info.c:182 -+#: ../gio/gio-tool-info.c:182 - #, c-format - msgid "name: %s\n" - msgstr "名称:%s\n" - --#: gio/gio-tool-info.c:189 -+#: ../gio/gio-tool-info.c:189 - #, c-format - msgid "type: %s\n" - msgstr "类型:%s\n" - --#: gio/gio-tool-info.c:195 -+#: ../gio/gio-tool-info.c:195 -+#, c-format - msgid "size: " - msgstr "大小:" - --#: gio/gio-tool-info.c:200 -+#: ../gio/gio-tool-info.c:200 -+#, c-format - msgid "hidden\n" - msgstr "隐藏\n" - --#: gio/gio-tool-info.c:203 -+#: ../gio/gio-tool-info.c:203 - #, c-format - msgid "uri: %s\n" - msgstr "uri:%s\n" - --#: gio/gio-tool-info.c:210 -+#: ../gio/gio-tool-info.c:210 - #, c-format - msgid "local path: %s\n" - msgstr "本地路径: %s\n" - --#: gio/gio-tool-info.c:244 -+#: ../gio/gio-tool-info.c:244 - #, c-format - msgid "unix mount: %s%s %s %s %s\n" - msgstr "UNIX 挂载:%s%s %s %s %s\n" - --#: gio/gio-tool-info.c:325 -+#: ../gio/gio-tool-info.c:325 -+#, c-format - msgid "Settable attributes:\n" - msgstr "可设置的属性:\n" - --#: gio/gio-tool-info.c:349 -+#: ../gio/gio-tool-info.c:349 -+#, c-format - msgid "Writable attribute namespaces:\n" - msgstr "可写的属性命名空间:\n" - --#: gio/gio-tool-info.c:384 -+#: ../gio/gio-tool-info.c:384 - msgid "Show information about locations." - msgstr "显示位置信息。" - --#: gio/gio-tool-info.c:386 -+#: ../gio/gio-tool-info.c:386 - msgid "" - "gio info is similar to the traditional ls utility, but using GIO\n" - "locations instead of local files: for example, you can use something\n" -@@ -1876,60 +1920,60 @@ msgstr "" - "空间(如 unix),也可使用“*”匹配全部" - - #. Translators: commandline placeholder --#: gio/gio-tool-launch.c:56 -+#: ../gio/gio-tool-launch.c:56 - msgid "DESKTOP-FILE [FILE-ARG …]" - msgstr "桌面文件 [文件参数 …]" - --#: gio/gio-tool-launch.c:59 -+#: ../gio/gio-tool-launch.c:59 - msgid "" - "Launch an application from a desktop file, passing optional filename " - "arguments to it." - msgstr "从桌面文件启动应用程序,并向其传递可选的文件名参数。" - --#: gio/gio-tool-launch.c:79 -+#: ../gio/gio-tool-launch.c:79 - msgid "No desktop file given" - msgstr "未给定桌面文件" - --#: gio/gio-tool-launch.c:87 -+#: ../gio/gio-tool-launch.c:87 - msgid "The launch command is not currently supported on this platform" - msgstr "当前平台尚不支持该启动命令" - --#: gio/gio-tool-launch.c:100 -+#: ../gio/gio-tool-launch.c:100 - #, c-format - msgid "Unable to load ‘%s‘: %s" - msgstr "无法加载“%s”:%s" - --#: gio/gio-tool-launch.c:109 -+#: ../gio/gio-tool-launch.c:109 - #, c-format - msgid "Unable to load application information for ‘%s‘" - msgstr "无法加载“%s”的应用程序信息" - --#: gio/gio-tool-launch.c:121 -+#: ../gio/gio-tool-launch.c:121 - #, c-format - msgid "Unable to launch application ‘%s’: %s" - msgstr "无法启动应用程序“%s”: %s" - --#: gio/gio-tool-list.c:38 gio/gio-tool-tree.c:34 -+#: ../gio/gio-tool-list.c:38 ../gio/gio-tool-tree.c:34 - msgid "Show hidden files" - msgstr "显示隐藏文件" - --#: gio/gio-tool-list.c:39 -+#: ../gio/gio-tool-list.c:39 - msgid "Use a long listing format" - msgstr "使用长列表格式" - --#: gio/gio-tool-list.c:41 -+#: ../gio/gio-tool-list.c:41 - msgid "Print display names" - msgstr "显示名称" - --#: gio/gio-tool-list.c:42 -+#: ../gio/gio-tool-list.c:42 - msgid "Print full URIs" - msgstr "显示完整 URI" - --#: gio/gio-tool-list.c:178 -+#: ../gio/gio-tool-list.c:178 - msgid "List the contents of the locations." - msgstr "列出位置中的内容。" - --#: gio/gio-tool-list.c:180 -+#: ../gio/gio-tool-list.c:180 - msgid "" - "gio list is similar to the traditional ls utility, but using GIO\n" - "locations instead of local files: for example, you can use something\n" -@@ -1941,19 +1985,19 @@ msgstr "" - "文件属性,可使用其 GIO 名称(如 standard::icon)" - - #. Translators: commandline placeholder --#: gio/gio-tool-mime.c:73 -+#: ../gio/gio-tool-mime.c:73 - msgid "MIMETYPE" - msgstr "MIME 类型" - --#: gio/gio-tool-mime.c:73 -+#: ../gio/gio-tool-mime.c:73 - msgid "HANDLER" - msgstr "处理程序" - --#: gio/gio-tool-mime.c:78 -+#: ../gio/gio-tool-mime.c:78 - msgid "Get or set the handler for a mimetype." - msgstr "获取或设置某一 MIME 类型的处理程序。" - --#: gio/gio-tool-mime.c:80 -+#: ../gio/gio-tool-mime.c:80 - msgid "" - "If no handler is given, lists registered and recommended applications\n" - "for the mimetype. If a handler is given, it is set as the default\n" -@@ -1963,55 +2007,59 @@ msgstr "" - "应用程序。如果已给定处理程序,它将被设为 MIME 类型的\n" - "默认应用程序。" - --#: gio/gio-tool-mime.c:102 -+#: ../gio/gio-tool-mime.c:102 - msgid "Must specify a single mimetype, and maybe a handler" - msgstr "必须指定一个 MIME 类型,也可同时指定处理程序" - --#: gio/gio-tool-mime.c:118 -+#: ../gio/gio-tool-mime.c:118 - #, c-format - msgid "No default applications for “%s”\n" - msgstr "未设置用于“%s”的默认应用程序\n" - --#: gio/gio-tool-mime.c:124 -+#: ../gio/gio-tool-mime.c:124 - #, c-format - msgid "Default application for “%s”: %s\n" - msgstr "用于“%s”的默认应用程序:%s\n" - --#: gio/gio-tool-mime.c:129 -+#: ../gio/gio-tool-mime.c:129 -+#, c-format - msgid "Registered applications:\n" - msgstr "已注册的应用程序:\n" - --#: gio/gio-tool-mime.c:131 -+#: ../gio/gio-tool-mime.c:131 -+#, c-format - msgid "No registered applications\n" - msgstr "无已注册的应用程序\n" - --#: gio/gio-tool-mime.c:142 -+#: ../gio/gio-tool-mime.c:142 -+#, c-format - msgid "Recommended applications:\n" - msgstr "推荐的应用程序:\n" - --#: gio/gio-tool-mime.c:144 -+#: ../gio/gio-tool-mime.c:144 -+#, c-format - msgid "No recommended applications\n" - msgstr "无推荐的应用程序\n" - --#: gio/gio-tool-mime.c:164 -+#: ../gio/gio-tool-mime.c:164 - #, c-format - msgid "Failed to load info for handler “%s”" - msgstr "载入处理程序“%s”的信息失败" - --#: gio/gio-tool-mime.c:170 -+#: ../gio/gio-tool-mime.c:170 - #, c-format - msgid "Failed to set “%s” as the default handler for “%s”: %s\n" - msgstr "将“%s”设置为“%s”的默认处理程序失败:%s\n" - --#: gio/gio-tool-mkdir.c:33 -+#: ../gio/gio-tool-mkdir.c:33 - msgid "Create parent directories" - msgstr "创建上级目录" - --#: gio/gio-tool-mkdir.c:54 -+#: ../gio/gio-tool-mkdir.c:54 - msgid "Create directories." - msgstr "创建目录。" - --#: gio/gio-tool-mkdir.c:56 -+#: ../gio/gio-tool-mkdir.c:56 - msgid "" - "gio mkdir is similar to the traditional mkdir utility, but using GIO\n" - "locations instead of local files: for example, you can use something\n" -@@ -2020,132 +2068,132 @@ msgstr "" - "gio mkdir 如传统 mkdir 程序那样工作,但使用 GIO 位置而非本地文件:\n" - "例如,你可以指定 smb://server/resource/mydir 之类的位置。" - --#: gio/gio-tool-monitor.c:39 -+#: ../gio/gio-tool-monitor.c:39 - msgid "Monitor a directory (default: depends on type)" - msgstr "监视目录(默认:取决于类型)" - --#: gio/gio-tool-monitor.c:41 -+#: ../gio/gio-tool-monitor.c:41 - msgid "Monitor a file (default: depends on type)" - msgstr "监视文件(默认:取决于类型)" - --#: gio/gio-tool-monitor.c:43 -+#: ../gio/gio-tool-monitor.c:43 - msgid "Monitor a file directly (notices changes made via hardlinks)" - msgstr "直接监视文件(通过硬链接通知更改)" - --#: gio/gio-tool-monitor.c:45 -+#: ../gio/gio-tool-monitor.c:45 - msgid "Monitors a file directly, but doesn’t report changes" - msgstr "直接监视文件,但不报告更改" - --#: gio/gio-tool-monitor.c:47 -+#: ../gio/gio-tool-monitor.c:47 - msgid "Report moves and renames as simple deleted/created events" - msgstr "将移动和重命名报告为简单的删除/创建事件" - --#: gio/gio-tool-monitor.c:49 -+#: ../gio/gio-tool-monitor.c:49 - msgid "Watch for mount events" - msgstr "监视挂载事件" - --#: gio/gio-tool-monitor.c:211 -+#: ../gio/gio-tool-monitor.c:211 - msgid "Monitor files or directories for changes." - msgstr "监视文件和目录更改。" - --#: gio/gio-tool-mount.c:65 -+#: ../gio/gio-tool-mount.c:65 - msgid "Mount as mountable" - msgstr "挂载为可挂载项" - --#: gio/gio-tool-mount.c:66 -+#: ../gio/gio-tool-mount.c:66 - msgid "Mount volume with device file, or other identifier" - msgstr "使用设备文件或其他标识挂载卷" - --#: gio/gio-tool-mount.c:66 -+#: ../gio/gio-tool-mount.c:66 - msgid "ID" - msgstr "ID" - --#: gio/gio-tool-mount.c:67 -+#: ../gio/gio-tool-mount.c:67 - msgid "Unmount" - msgstr "卸载" - --#: gio/gio-tool-mount.c:68 -+#: ../gio/gio-tool-mount.c:68 - msgid "Eject" - msgstr "弹出" - --#: gio/gio-tool-mount.c:69 -+#: ../gio/gio-tool-mount.c:69 - msgid "Stop drive with device file" - msgstr "使用设备文件停止驱动器" - --#: gio/gio-tool-mount.c:69 -+#: ../gio/gio-tool-mount.c:69 - msgid "DEVICE" - msgstr "设备" - --#: gio/gio-tool-mount.c:70 -+#: ../gio/gio-tool-mount.c:70 - msgid "Unmount all mounts with the given scheme" - msgstr "按给定方案里卸载所有挂载项" - --#: gio/gio-tool-mount.c:70 -+#: ../gio/gio-tool-mount.c:70 - msgid "SCHEME" - msgstr "方案" - --#: gio/gio-tool-mount.c:71 -+#: ../gio/gio-tool-mount.c:71 - msgid "Ignore outstanding file operations when unmounting or ejecting" - msgstr "卸载或弹出时忽略正在进行的文件操作" - --#: gio/gio-tool-mount.c:72 -+#: ../gio/gio-tool-mount.c:72 - msgid "Use an anonymous user when authenticating" - msgstr "认证时使用匿名用户" - - #. Translator: List here is a verb as in 'List all mounts' --#: gio/gio-tool-mount.c:74 -+#: ../gio/gio-tool-mount.c:74 - msgid "List" - msgstr "列出" - --#: gio/gio-tool-mount.c:75 -+#: ../gio/gio-tool-mount.c:75 - msgid "Monitor events" - msgstr "监视事件" - --#: gio/gio-tool-mount.c:76 -+#: ../gio/gio-tool-mount.c:76 - msgid "Show extra information" - msgstr "显示附加信息" - --#: gio/gio-tool-mount.c:77 -+#: ../gio/gio-tool-mount.c:77 - msgid "The numeric PIM when unlocking a VeraCrypt volume" - msgstr "解锁 VeraCrypt 卷的数字 PIM" - --#: gio/gio-tool-mount.c:77 -+#: ../gio/gio-tool-mount.c:77 - msgid "PIM" - msgstr "PIM" - --#: gio/gio-tool-mount.c:78 -+#: ../gio/gio-tool-mount.c:78 - msgid "Mount a TCRYPT hidden volume" - msgstr "挂载 TCRYPT 隐藏卷" - --#: gio/gio-tool-mount.c:79 -+#: ../gio/gio-tool-mount.c:79 - msgid "Mount a TCRYPT system volume" - msgstr "挂载 TCRYPT 系统卷" - --#: gio/gio-tool-mount.c:268 gio/gio-tool-mount.c:300 -+#: ../gio/gio-tool-mount.c:276 ../gio/gio-tool-mount.c:308 - msgid "Anonymous access denied" - msgstr "匿名访问被拒绝" - --#: gio/gio-tool-mount.c:525 -+#: ../gio/gio-tool-mount.c:533 - msgid "No drive for device file" - msgstr "没有对应设备文件的驱动器" - --#: gio/gio-tool-mount.c:1017 -+#: ../gio/gio-tool-mount.c:1025 - msgid "No volume for given ID" - msgstr "没有对应ID的卷" - --#: gio/gio-tool-mount.c:1206 -+#: ../gio/gio-tool-mount.c:1214 - msgid "Mount or unmount the locations." - msgstr "挂载或卸载位置。" - --#: gio/gio-tool-move.c:44 -+#: ../gio/gio-tool-move.c:44 - msgid "Don’t use copy and delete fallback" - msgstr "不要使用复制和删除替代方案" - --#: gio/gio-tool-move.c:101 -+#: ../gio/gio-tool-move.c:101 - msgid "Move one or more files from SOURCE to DEST." - msgstr "将一个或多个文件从源头复制到目标。" - --#: gio/gio-tool-move.c:103 -+#: ../gio/gio-tool-move.c:103 - msgid "" - "gio move is similar to the traditional mv utility, but using GIO\n" - "locations instead of local files: for example, you can use something\n" -@@ -2154,12 +2202,12 @@ msgstr "" - "gio move 如传统 mv 程序那样工作,但使用 GIO 位置而非本地文件:\n" - "例如,你可以指定 smb://server/resource/file.txt 之类的位置" - --#: gio/gio-tool-move.c:145 -+#: ../gio/gio-tool-move.c:145 - #, c-format - msgid "Target %s is not a directory" - msgstr "目标 %s 不是目录" - --#: gio/gio-tool-open.c:77 -+#: ../gio/gio-tool-open.c:77 - msgid "" - "Open files with the default application that\n" - "is registered to handle files of this type." -@@ -2167,154 +2215,156 @@ msgstr "" - "使用已注册为处理此类型文件的\n" - "默认应用程序打开文件。" - --#: gio/gio-tool-remove.c:33 gio/gio-tool-trash.c:35 -+#: ../gio/gio-tool-remove.c:33 ../gio/gio-tool-trash.c:35 - msgid "Ignore nonexistent files, never prompt" - msgstr "忽略不存在的文件,从不提示" - --#: gio/gio-tool-remove.c:54 -+#: ../gio/gio-tool-remove.c:54 - msgid "Delete the given files." - msgstr "删除指定文件。" - --#: gio/gio-tool-rename.c:47 -+#: ../gio/gio-tool-rename.c:47 - msgid "NAME" - msgstr "名称" - --#: gio/gio-tool-rename.c:52 -+#: ../gio/gio-tool-rename.c:52 - msgid "Rename a file." - msgstr "重命名文件。" - --#: gio/gio-tool-rename.c:72 -+#: ../gio/gio-tool-rename.c:72 - msgid "Missing argument" - msgstr "缺少参数" - --#: gio/gio-tool-rename.c:78 gio/gio-tool-save.c:192 gio/gio-tool-set.c:150 -+#: ../gio/gio-tool-rename.c:78 ../gio/gio-tool-save.c:192 -+#: ../gio/gio-tool-set.c:150 - msgid "Too many arguments" - msgstr "参数过多" - --#: gio/gio-tool-rename.c:97 -+#: ../gio/gio-tool-rename.c:97 - #, c-format - msgid "Rename successful. New uri: %s\n" - msgstr "重命名成功。新 uri:%s\n" - --#: gio/gio-tool-save.c:52 -+#: ../gio/gio-tool-save.c:52 - msgid "Only create if not existing" - msgstr "不存在时才创建" - --#: gio/gio-tool-save.c:53 -+#: ../gio/gio-tool-save.c:53 - msgid "Append to end of file" - msgstr "追加到文件末尾" - --#: gio/gio-tool-save.c:54 -+#: ../gio/gio-tool-save.c:54 - msgid "When creating, restrict access to the current user" - msgstr "创建时限制当前用户的访问" - --#: gio/gio-tool-save.c:55 -+#: ../gio/gio-tool-save.c:55 - msgid "When replacing, replace as if the destination did not exist" - msgstr "替换时假定目标不存在" - - #. Translators: The "etag" is a token allowing to verify whether a file has been modified --#: gio/gio-tool-save.c:57 -+#: ../gio/gio-tool-save.c:57 - msgid "Print new etag at end" - msgstr "在末尾打印新 etag" - - #. Translators: The "etag" is a token allowing to verify whether a file has been modified --#: gio/gio-tool-save.c:59 -+#: ../gio/gio-tool-save.c:59 - msgid "The etag of the file being overwritten" - msgstr "文件的 etag 被覆盖" - --#: gio/gio-tool-save.c:59 -+#: ../gio/gio-tool-save.c:59 - msgid "ETAG" - msgstr "ETAG" - --#: gio/gio-tool-save.c:115 -+#: ../gio/gio-tool-save.c:115 - msgid "Error reading from standard input" - msgstr "读取标准输入时出错" - - #. Translators: The "etag" is a token allowing to verify whether a file has been modified --#: gio/gio-tool-save.c:141 -+#: ../gio/gio-tool-save.c:141 -+#, c-format - msgid "Etag not available\n" - msgstr "Etag 不可用\n" - --#: gio/gio-tool-save.c:165 -+#: ../gio/gio-tool-save.c:165 - msgid "Read from standard input and save to DEST." - msgstr "读取标准输入并保存到目标。" - --#: gio/gio-tool-save.c:185 -+#: ../gio/gio-tool-save.c:185 - msgid "No destination given" - msgstr "未给定目标" - --#: gio/gio-tool-set.c:36 -+#: ../gio/gio-tool-set.c:36 - msgid "Type of the attribute" - msgstr "属性类型" - --#: gio/gio-tool-set.c:36 -+#: ../gio/gio-tool-set.c:36 - msgid "TYPE" - msgstr "类型" - --#: gio/gio-tool-set.c:38 -+#: ../gio/gio-tool-set.c:38 - msgid "Unset given attribute" - msgstr "取消设置给定属性" - --#: gio/gio-tool-set.c:95 -+#: ../gio/gio-tool-set.c:95 - msgid "ATTRIBUTE" - msgstr "属性" - --#: gio/gio-tool-set.c:95 -+#: ../gio/gio-tool-set.c:95 - msgid "VALUE" - msgstr "值" - --#: gio/gio-tool-set.c:99 -+#: ../gio/gio-tool-set.c:99 - msgid "Set a file attribute of LOCATION." - msgstr "设置位置的文件属性。" - --#: gio/gio-tool-set.c:119 -+#: ../gio/gio-tool-set.c:119 - msgid "Location not specified" - msgstr "未指定位置" - --#: gio/gio-tool-set.c:126 -+#: ../gio/gio-tool-set.c:126 - msgid "Attribute not specified" - msgstr "未指定属性" - --#: gio/gio-tool-set.c:143 -+#: ../gio/gio-tool-set.c:143 - msgid "Value not specified" - msgstr "未指定值" - --#: gio/gio-tool-set.c:193 -+#: ../gio/gio-tool-set.c:193 - #, c-format - msgid "Invalid attribute type “%s”" - msgstr "无效的属性类型“%s”" - --#: gio/gio-tool-trash.c:36 -+#: ../gio/gio-tool-trash.c:36 - msgid "Empty the trash" - msgstr "清空回收站" - --#: gio/gio-tool-trash.c:37 -+#: ../gio/gio-tool-trash.c:37 - msgid "List files in the trash with their original locations" - msgstr "列出回收站中的文件以及它们的原始位置" - --#: gio/gio-tool-trash.c:38 -+#: ../gio/gio-tool-trash.c:38 - msgid "" - "Restore a file from trash to its original location (possibly recreating the " - "directory)" - msgstr "还原回收站文件到它的原始位置(如果需要,创建新目录)" - --#: gio/gio-tool-trash.c:108 -+#: ../gio/gio-tool-trash.c:108 - msgid "Unable to find original path" - msgstr "无法找到原始路径" - --#: gio/gio-tool-trash.c:125 -+#: ../gio/gio-tool-trash.c:125 - msgid "Unable to recreate original location: " - msgstr "无法创建原始位置:" - --#: gio/gio-tool-trash.c:138 -+#: ../gio/gio-tool-trash.c:138 - msgid "Unable to move file to its original location: " - msgstr "无法移动文件回它的原始位置:" - --#: gio/gio-tool-trash.c:227 -+#: ../gio/gio-tool-trash.c:227 - msgid "Move/Restore files or directories to the trash." - msgstr "移动/还原文件或目录到回收站。" - --#: gio/gio-tool-trash.c:229 -+#: ../gio/gio-tool-trash.c:229 - msgid "" - "Note: for --restore switch, if the original location of the trashed file \n" - "already exists, it will not be overwritten unless --force is set." -@@ -2322,44 +2372,44 @@ msgstr "" - "注意:对于 --restore 开关,如果回收站中的文件的原始路径已经存在,\n" - "除非额外指定了 --force 参数,已存在的文件将不会被覆盖。" - --#: gio/gio-tool-trash.c:260 -+#: ../gio/gio-tool-trash.c:260 - msgid "Location given doesn't start with trash:///" - msgstr "给定的位置没有以 trash:/// 开头" - --#: gio/gio-tool-tree.c:35 -+#: ../gio/gio-tool-tree.c:35 - msgid "Follow symbolic links, mounts and shortcuts" - msgstr "跟踪符号链接、挂载点及快捷方式" - --#: gio/gio-tool-tree.c:246 -+#: ../gio/gio-tool-tree.c:246 - msgid "List contents of directories in a tree-like format." - msgstr "使用树状格式列出目录内容。" - --#: gio/glib-compile-resources.c:142 gio/glib-compile-schemas.c:1516 -+#: ../gio/glib-compile-resources.c:142 ../gio/glib-compile-schemas.c:1520 - #, c-format - msgid "Element <%s> not allowed inside <%s>" - msgstr "在 <%2$s> 中不允许元素 <%1$s>" - --#: gio/glib-compile-resources.c:146 -+#: ../gio/glib-compile-resources.c:146 - #, c-format - msgid "Element <%s> not allowed at toplevel" - msgstr "顶层中不允许元素 <%s>" - --#: gio/glib-compile-resources.c:236 -+#: ../gio/glib-compile-resources.c:236 - #, c-format - msgid "File %s appears multiple times in the resource" - msgstr "文件 %s 在资源中出现了多次" - --#: gio/glib-compile-resources.c:247 -+#: ../gio/glib-compile-resources.c:247 - #, c-format - msgid "Failed to locate “%s” in any source directory" - msgstr "在所有源目录中定位“%s”失败" - --#: gio/glib-compile-resources.c:258 -+#: ../gio/glib-compile-resources.c:258 - #, c-format - msgid "Failed to locate “%s” in current directory" - msgstr "在当前目录定位“%s”失败" - --#: gio/glib-compile-resources.c:292 -+#: ../gio/glib-compile-resources.c:292 - #, c-format - msgid "Unknown processing option “%s”" - msgstr "未知的处理选项“%s”" -@@ -2368,94 +2418,94 @@ msgstr "未知的处理选项“%s”" - #. * the second %s is an environment variable, and the third - #. * %s is a command line tool - #. --#: gio/glib-compile-resources.c:312 gio/glib-compile-resources.c:369 --#: gio/glib-compile-resources.c:426 -+#: ../gio/glib-compile-resources.c:312 ../gio/glib-compile-resources.c:369 -+#: ../gio/glib-compile-resources.c:426 - #, c-format - msgid "%s preprocessing requested, but %s is not set, and %s is not in PATH" - msgstr "请求了 %s 预处理,但未设定 %s,且 %s 不在 PATH 内" - --#: gio/glib-compile-resources.c:459 -+#: ../gio/glib-compile-resources.c:459 - #, c-format - msgid "Error reading file %s: %s" - msgstr "读取文件 %s 出错:%s" - --#: gio/glib-compile-resources.c:479 -+#: ../gio/glib-compile-resources.c:479 - #, c-format - msgid "Error compressing file %s" - msgstr "压缩文件时出错:%s" - --#: gio/glib-compile-resources.c:543 -+#: ../gio/glib-compile-resources.c:543 - #, c-format - msgid "text may not appear inside <%s>" - msgstr "<%s> 内不应出现文本" - --#: gio/glib-compile-resources.c:821 gio/glib-compile-schemas.c:2174 -+#: ../gio/glib-compile-resources.c:821 ../gio/glib-compile-schemas.c:2178 - msgid "Show program version and exit" - msgstr "显示程序版本并退出" - --#: gio/glib-compile-resources.c:822 -+#: ../gio/glib-compile-resources.c:822 - msgid "Name of the output file" - msgstr "输出文件的名称" - --#: gio/glib-compile-resources.c:823 -+#: ../gio/glib-compile-resources.c:823 - msgid "" - "The directories to load files referenced in FILE from (default: current " - "directory)" - msgstr "FILE 中引用的要从其中载入文件的目录(默认为当前目录)" - --#: gio/glib-compile-resources.c:823 gio/glib-compile-schemas.c:2175 --#: gio/glib-compile-schemas.c:2204 -+#: ../gio/glib-compile-resources.c:823 ../gio/glib-compile-schemas.c:2179 -+#: ../gio/glib-compile-schemas.c:2208 - msgid "DIRECTORY" - msgstr "目录" - --#: gio/glib-compile-resources.c:824 -+#: ../gio/glib-compile-resources.c:824 - msgid "" - "Generate output in the format selected for by the target filename extension" - msgstr "以目标文件扩展名所选择的格式生成输出" - --#: gio/glib-compile-resources.c:825 -+#: ../gio/glib-compile-resources.c:825 - msgid "Generate source header" - msgstr "生成源码头文件" - --#: gio/glib-compile-resources.c:826 -+#: ../gio/glib-compile-resources.c:826 - msgid "Generate source code used to link in the resource file into your code" - msgstr "生成用于将资源文件链接到您代码的源代码" - --#: gio/glib-compile-resources.c:827 -+#: ../gio/glib-compile-resources.c:827 - msgid "Generate dependency list" - msgstr "生成依赖关系列表" - --#: gio/glib-compile-resources.c:828 -+#: ../gio/glib-compile-resources.c:828 - msgid "Name of the dependency file to generate" - msgstr "要生成的依赖文件名称" - --#: gio/glib-compile-resources.c:829 -+#: ../gio/glib-compile-resources.c:829 - msgid "Include phony targets in the generated dependency file" - msgstr "在生成的依赖关系文件中包含伪目标" - --#: gio/glib-compile-resources.c:830 -+#: ../gio/glib-compile-resources.c:830 - msgid "Don’t automatically create and register resource" - msgstr "不要自动创建和注册资源" - --#: gio/glib-compile-resources.c:831 -+#: ../gio/glib-compile-resources.c:831 - msgid "Don’t export functions; declare them G_GNUC_INTERNAL" - msgstr "不要导出函数;请将它们声明为 G_GNUC_INTERNAL" - --#: gio/glib-compile-resources.c:832 -+#: ../gio/glib-compile-resources.c:832 - msgid "" - "Don’t embed resource data in the C file; assume it's linked externally " - "instead" - msgstr "不要在 C 文件里嵌入资源数据;而假定它是以外部连接的" - --#: gio/glib-compile-resources.c:833 -+#: ../gio/glib-compile-resources.c:833 - msgid "C identifier name used for the generated source code" - msgstr "用于生成的源代码的 C 标识符名称" - --#: gio/glib-compile-resources.c:834 -+#: ../gio/glib-compile-resources.c:834 - msgid "The target C compiler (default: the CC environment variable)" - msgstr "目标 C 编译器(默认:CC 环境变量)" - --#: gio/glib-compile-resources.c:860 -+#: ../gio/glib-compile-resources.c:860 - msgid "" - "Compile a resource specification into a resource file.\n" - "Resource specification files have the extension .gresource.xml,\n" -@@ -2465,204 +2515,205 @@ msgstr "" - "资源规格文件以 .gresource.xml 为扩展名,\n" - "资源文件以 .gresource 为扩展名。" - --#: gio/glib-compile-resources.c:882 -+#: ../gio/glib-compile-resources.c:882 -+#, c-format - msgid "You should give exactly one file name\n" - msgstr "您应该给定一个且只能一个文件名\n" - --#: gio/glib-compile-schemas.c:94 -+#: ../gio/glib-compile-schemas.c:94 - #, c-format - msgid "nick must be a minimum of 2 characters" - msgstr "昵称必须至少 2 个字符" - --#: gio/glib-compile-schemas.c:105 -+#: ../gio/glib-compile-schemas.c:105 - #, c-format - msgid "Invalid numeric value" - msgstr "无效的数值" - --#: gio/glib-compile-schemas.c:113 -+#: ../gio/glib-compile-schemas.c:113 - #, c-format - msgid " already specified" - msgstr " 已指定" - --#: gio/glib-compile-schemas.c:121 -+#: ../gio/glib-compile-schemas.c:121 - #, c-format - msgid "value='%s' already specified" - msgstr "value='%s' 已指定" - --#: gio/glib-compile-schemas.c:135 -+#: ../gio/glib-compile-schemas.c:135 - #, c-format - msgid "flags values must have at most 1 bit set" - msgstr "标志值最多只能设置 1 位" - --#: gio/glib-compile-schemas.c:160 -+#: ../gio/glib-compile-schemas.c:160 - #, c-format - msgid "<%s> must contain at least one " - msgstr "<%s> 必须包含至少一个 " - --#: gio/glib-compile-schemas.c:316 -+#: ../gio/glib-compile-schemas.c:316 - #, c-format - msgid "<%s> is not contained in the specified range" - msgstr "<%s> 不在指定的范围内" - --#: gio/glib-compile-schemas.c:328 -+#: ../gio/glib-compile-schemas.c:328 - #, c-format - msgid "<%s> is not a valid member of the specified enumerated type" - msgstr "<%s> 不是指定枚举类型的有效成员" - --#: gio/glib-compile-schemas.c:334 -+#: ../gio/glib-compile-schemas.c:334 - #, c-format - msgid "<%s> contains string not in the specified flags type" - msgstr "<%s> 包含了不在指定标志类型里的字符串" - --#: gio/glib-compile-schemas.c:340 -+#: ../gio/glib-compile-schemas.c:340 - #, c-format - msgid "<%s> contains a string not in " - msgstr "<%s> 包含了不在 里的字符串" - --#: gio/glib-compile-schemas.c:374 -+#: ../gio/glib-compile-schemas.c:374 - msgid " already specified for this key" - msgstr "此键已被指定为 " - --#: gio/glib-compile-schemas.c:392 -+#: ../gio/glib-compile-schemas.c:392 - #, c-format - msgid " not allowed for keys of type “%s”" - msgstr "“%s”类型的键不允许 " - --#: gio/glib-compile-schemas.c:409 -+#: ../gio/glib-compile-schemas.c:409 - #, c-format - msgid " specified minimum is greater than maximum" - msgstr " 指定的最小值比最大值还大" - --#: gio/glib-compile-schemas.c:434 -+#: ../gio/glib-compile-schemas.c:434 - #, c-format - msgid "unsupported l10n category: %s" - msgstr "不支持的 l10n 目录:%s" - --#: gio/glib-compile-schemas.c:442 -+#: ../gio/glib-compile-schemas.c:442 - msgid "l10n requested, but no gettext domain given" - msgstr "已请求 l10n,但未给定 gettext 域" - --#: gio/glib-compile-schemas.c:454 -+#: ../gio/glib-compile-schemas.c:454 - msgid "translation context given for value without l10n enabled" - msgstr "值给定的翻译上下文未启用 l10n" - --#: gio/glib-compile-schemas.c:476 -+#: ../gio/glib-compile-schemas.c:476 - #, c-format - msgid "Failed to parse value of type “%s”: " - msgstr "解析类型“%s”的 值失败:" - --#: gio/glib-compile-schemas.c:493 -+#: ../gio/glib-compile-schemas.c:493 - msgid "" - " cannot be specified for keys tagged as having an enumerated type" - msgstr "无法为标记为枚举类型的键指定 " - --#: gio/glib-compile-schemas.c:502 -+#: ../gio/glib-compile-schemas.c:502 - msgid " already specified for this key" - msgstr "此键已被指定为 " - --#: gio/glib-compile-schemas.c:514 -+#: ../gio/glib-compile-schemas.c:514 - #, c-format - msgid " not allowed for keys of type “%s”" - msgstr "“%s”类型的键不允许 " - --#: gio/glib-compile-schemas.c:530 -+#: ../gio/glib-compile-schemas.c:530 - #, c-format - msgid " already given" - msgstr " 已给定" - --#: gio/glib-compile-schemas.c:545 -+#: ../gio/glib-compile-schemas.c:545 - #, c-format - msgid " must contain at least one " - msgstr " 必须包含至少一个 " - --#: gio/glib-compile-schemas.c:559 -+#: ../gio/glib-compile-schemas.c:559 - msgid " already specified for this key" - msgstr "此键已被指定为 " - --#: gio/glib-compile-schemas.c:563 -+#: ../gio/glib-compile-schemas.c:563 - msgid "" - " can only be specified for keys with enumerated or flags types or " - "after " - msgstr " 只能被指定在枚举或标志类型的键上,或是在 之后的键" - --#: gio/glib-compile-schemas.c:582 -+#: ../gio/glib-compile-schemas.c:582 - #, c-format - msgid "" - " given when “%s” is already a member of the enumerated " - "type" - msgstr "给定了 ,但“%s”已经是枚举类型的成员" - --#: gio/glib-compile-schemas.c:588 -+#: ../gio/glib-compile-schemas.c:588 - #, c-format - msgid " given when was already given" - msgstr "给定了 ,但 已给定" - --#: gio/glib-compile-schemas.c:596 -+#: ../gio/glib-compile-schemas.c:596 - #, c-format - msgid " already specified" - msgstr " 已指定" - --#: gio/glib-compile-schemas.c:606 -+#: ../gio/glib-compile-schemas.c:606 - #, c-format - msgid "alias target “%s” is not in enumerated type" - msgstr "别名目标“%s”不在枚举类型内" - --#: gio/glib-compile-schemas.c:607 -+#: ../gio/glib-compile-schemas.c:607 - #, c-format - msgid "alias target “%s” is not in " - msgstr "别名目标“%s”不在 内" - --#: gio/glib-compile-schemas.c:622 -+#: ../gio/glib-compile-schemas.c:622 - #, c-format - msgid " must contain at least one " - msgstr " 必须包含至少一个 " - --#: gio/glib-compile-schemas.c:799 -+#: ../gio/glib-compile-schemas.c:799 - msgid "Empty names are not permitted" - msgstr "不允许空名称" - --#: gio/glib-compile-schemas.c:809 -+#: ../gio/glib-compile-schemas.c:809 - #, c-format - msgid "Invalid name “%s”: names must begin with a lowercase letter" - msgstr "无效名称“%s”:名称必须以小写字母开始" - --#: gio/glib-compile-schemas.c:821 -+#: ../gio/glib-compile-schemas.c:821 - #, c-format - msgid "" - "Invalid name “%s”: invalid character “%c”; only lowercase letters, numbers " - "and hyphen (“-”) are permitted" - msgstr "无效名称“%s”:无效的字符“%c”;仅允许使用小写字母、数字和连字符(“-”)" - --#: gio/glib-compile-schemas.c:830 -+#: ../gio/glib-compile-schemas.c:830 - #, c-format - msgid "Invalid name “%s”: two successive hyphens (“--”) are not permitted" - msgstr "无效名称“%s”:不允许使用连续的连字符(“--”)" - --#: gio/glib-compile-schemas.c:839 -+#: ../gio/glib-compile-schemas.c:839 - #, c-format - msgid "Invalid name “%s”: the last character may not be a hyphen (“-”)" - msgstr "无效名称“%s”:最后一个字符串不应为连字符(“-”)。" - --#: gio/glib-compile-schemas.c:847 -+#: ../gio/glib-compile-schemas.c:847 - #, c-format - msgid "Invalid name “%s”: maximum length is 1024" - msgstr "无效名称“%s”:最大长度为 1024" - --#: gio/glib-compile-schemas.c:919 -+#: ../gio/glib-compile-schemas.c:919 - #, c-format - msgid " already specified" - msgstr " 已指定" - --#: gio/glib-compile-schemas.c:945 -+#: ../gio/glib-compile-schemas.c:945 - msgid "Cannot add keys to a “list-of” schema" - msgstr "无法添加键到一个“list-of”架构" - --#: gio/glib-compile-schemas.c:956 -+#: ../gio/glib-compile-schemas.c:956 - #, c-format - msgid " already specified" - msgstr " 已指定" - --#: gio/glib-compile-schemas.c:974 -+#: ../gio/glib-compile-schemas.c:974 - #, c-format - msgid "" - " shadows in ; use " -@@ -2671,69 +2722,69 @@ msgstr "" - " 重合; 请使用 " - " 修改其值" - --#: gio/glib-compile-schemas.c:985 -+#: ../gio/glib-compile-schemas.c:985 - #, c-format - msgid "" - "Exactly one of “type”, “enum” or “flags” must be specified as an attribute " - "to " - msgstr "“type”、“enum”或“flags”中必须有一个被指定为 的属性" - --#: gio/glib-compile-schemas.c:1004 -+#: ../gio/glib-compile-schemas.c:1004 - #, c-format - msgid "<%s id='%s'> not (yet) defined." - msgstr "<%s id='%s'> 尚未定义。" - --#: gio/glib-compile-schemas.c:1019 -+#: ../gio/glib-compile-schemas.c:1019 - #, c-format - msgid "Invalid GVariant type string “%s”" - msgstr "无效的 GVariant 类型字符串“%s”" - --#: gio/glib-compile-schemas.c:1049 -+#: ../gio/glib-compile-schemas.c:1049 - msgid " given but schema isn’t extending anything" - msgstr "已给定 但架构并未扩展" - --#: gio/glib-compile-schemas.c:1062 -+#: ../gio/glib-compile-schemas.c:1062 - #, c-format - msgid "No to override" - msgstr "无 可覆盖" - --#: gio/glib-compile-schemas.c:1070 -+#: ../gio/glib-compile-schemas.c:1070 - #, c-format - msgid " already specified" - msgstr " 已指定" - --#: gio/glib-compile-schemas.c:1143 -+#: ../gio/glib-compile-schemas.c:1143 - #, c-format - msgid " already specified" - msgstr " 已指定" - --#: gio/glib-compile-schemas.c:1155 -+#: ../gio/glib-compile-schemas.c:1155 - #, c-format - msgid " extends not yet existing schema “%s”" - msgstr " 扩展了尚不存在的架构“%s”" - --#: gio/glib-compile-schemas.c:1171 -+#: ../gio/glib-compile-schemas.c:1171 - #, c-format - msgid " is list of not yet existing schema “%s”" - msgstr " 是尚不存在的架构“%s”的列表" - --#: gio/glib-compile-schemas.c:1179 -+#: ../gio/glib-compile-schemas.c:1179 - #, c-format - msgid "Cannot be a list of a schema with a path" - msgstr "不能是带有路径架构的列表" - --#: gio/glib-compile-schemas.c:1189 -+#: ../gio/glib-compile-schemas.c:1189 - #, c-format - msgid "Cannot extend a schema with a path" - msgstr "无法扩展带有路径的架构" - --#: gio/glib-compile-schemas.c:1199 -+#: ../gio/glib-compile-schemas.c:1199 - #, c-format - msgid "" - " is a list, extending which is not a list" - msgstr " 是一个列表,扩展的 不是列表" - --#: gio/glib-compile-schemas.c:1209 -+#: ../gio/glib-compile-schemas.c:1209 - #, c-format - msgid "" - " extends but “%s” " -@@ -2742,75 +2793,66 @@ msgstr "" - " 扩展 ,但“%s”不扩" - "展“%s”" - --#: gio/glib-compile-schemas.c:1226 -+#: ../gio/glib-compile-schemas.c:1226 - #, c-format - msgid "A path, if given, must begin and end with a slash" - msgstr "一个路径,如果给定则必须以斜线(/)开始和结束" - --#: gio/glib-compile-schemas.c:1233 -+#: ../gio/glib-compile-schemas.c:1233 - #, c-format - msgid "The path of a list must end with “:/”" - msgstr "一个列表的路径必须以“:/”结束" - --#: gio/glib-compile-schemas.c:1242 --#, c-format --msgid "" --"Warning: Schema “%s” has path “%s”. Paths starting with “/apps/”, “/" --"desktop/” or “/system/” are deprecated." --msgstr "" --"警告:架构“%s”带有路径“%s”。以“/apps/”、“/desktop/”或“/system/”开头的路径已弃" --"用。" -- --#: gio/glib-compile-schemas.c:1272 -+#: ../gio/glib-compile-schemas.c:1276 - #, c-format - msgid "<%s id='%s'> already specified" - msgstr "<%s id='%s'> 已指定" - --#: gio/glib-compile-schemas.c:1422 gio/glib-compile-schemas.c:1438 -+#: ../gio/glib-compile-schemas.c:1426 ../gio/glib-compile-schemas.c:1442 - #, c-format - msgid "Only one <%s> element allowed inside <%s>" - msgstr "在 <%2$s> 中仅允许一个成员 <%1$s>" - --#: gio/glib-compile-schemas.c:1520 -+#: ../gio/glib-compile-schemas.c:1524 - #, c-format - msgid "Element <%s> not allowed at the top level" - msgstr "顶层中不允许元素 <%s>" - --#: gio/glib-compile-schemas.c:1538 -+#: ../gio/glib-compile-schemas.c:1542 - msgid "Element is required in " - msgstr " 里不需要元素 " - --#: gio/glib-compile-schemas.c:1628 -+#: ../gio/glib-compile-schemas.c:1632 - #, c-format - msgid "Text may not appear inside <%s>" - msgstr "<%s> 内不应出现文本" - --#: gio/glib-compile-schemas.c:1696 -+#: ../gio/glib-compile-schemas.c:1700 - #, c-format - msgid "Warning: undefined reference to " - msgstr "警告:到 的引用未定义" - - #. Translators: Do not translate "--strict". --#: gio/glib-compile-schemas.c:1835 gio/glib-compile-schemas.c:1914 -+#: ../gio/glib-compile-schemas.c:1839 ../gio/glib-compile-schemas.c:1918 - msgid "--strict was specified; exiting." - msgstr "指定了 --strict;正在退出。" - --#: gio/glib-compile-schemas.c:1847 -+#: ../gio/glib-compile-schemas.c:1851 - msgid "This entire file has been ignored." - msgstr "整个文件被忽略。" - --#: gio/glib-compile-schemas.c:1910 -+#: ../gio/glib-compile-schemas.c:1914 - msgid "Ignoring this file." - msgstr "正在忽略此文件。" - --#: gio/glib-compile-schemas.c:1965 -+#: ../gio/glib-compile-schemas.c:1969 - #, c-format - msgid "" - "No such key “%s” in schema “%s” as specified in override file “%s”; ignoring " - "override for this key." - msgstr "覆盖文件“%3$s”中指定的架构“%2$s”中没有键“%1$s”;正在忽略对此键的覆盖。" - --#: gio/glib-compile-schemas.c:1973 -+#: ../gio/glib-compile-schemas.c:1977 - #, c-format - msgid "" - "No such key “%s” in schema “%s” as specified in override file “%s” and --" -@@ -2818,7 +2860,7 @@ msgid "" - msgstr "" - "覆盖文件“%3$s”中指定的架构“%2$s”中没有键“%1$s”并且已指定 --strict;正在退出。" - --#: gio/glib-compile-schemas.c:1995 -+#: ../gio/glib-compile-schemas.c:1999 - #, c-format - msgid "" - "Cannot provide per-desktop overrides for localized key “%s” in schema " -@@ -2827,7 +2869,7 @@ msgstr "" - "无法为架构“%2$s”中的局部键“%1$s”提供每个桌面的覆盖(覆盖文件“%3$s”);正在忽" - "略对此键的覆盖。" - --#: gio/glib-compile-schemas.c:2004 -+#: ../gio/glib-compile-schemas.c:2008 - #, c-format - msgid "" - "Cannot provide per-desktop overrides for localized key “%s” in schema " -@@ -2836,7 +2878,7 @@ msgstr "" - "无法为架构“%2$s”中的局部键“%1$s”提供每个桌面的覆盖(覆盖文件“%3$s”)并且已指" - "定 --strict;正在退出。" - --#: gio/glib-compile-schemas.c:2028 -+#: ../gio/glib-compile-schemas.c:2032 - #, c-format - msgid "" - "Error parsing key “%s” in schema “%s” as specified in override file “%s”: " -@@ -2845,7 +2887,7 @@ msgstr "" - "解析覆盖文件“%3$s”所指定架构“%2$s”中的键“%1$s”时出错:%4$s。正在忽略对此键的" - "覆盖。" - --#: gio/glib-compile-schemas.c:2040 -+#: ../gio/glib-compile-schemas.c:2044 - #, c-format - msgid "" - "Error parsing key “%s” in schema “%s” as specified in override file “%s”: " -@@ -2854,7 +2896,7 @@ msgstr "" - "解析覆盖文件“%3$s”所指定架构“%2$s”中的键“%1$s”时出错:%4$s。已指定 --strict;" - "正在退出。" - --#: gio/glib-compile-schemas.c:2067 -+#: ../gio/glib-compile-schemas.c:2071 - #, c-format - msgid "" - "Override for key “%s” in schema “%s” in override file “%s” is outside the " -@@ -2863,7 +2905,7 @@ msgstr "" - "覆盖文件“%3$s”中架构“%2$s”的键“%1$s”的覆盖超出了架构给出的范围;正在忽略对此" - "键的覆盖。" - --#: gio/glib-compile-schemas.c:2077 -+#: ../gio/glib-compile-schemas.c:2081 - #, c-format - msgid "" - "Override for key “%s” in schema “%s” in override file “%s” is outside the " -@@ -2872,7 +2914,7 @@ msgstr "" - "覆盖文件“%3$s”中架构“%2$s”的键“%1$s”的覆盖超出了架构给出的范围并且已指定 --" - "strict;正在退出。" - --#: gio/glib-compile-schemas.c:2103 -+#: ../gio/glib-compile-schemas.c:2107 - #, c-format - msgid "" - "Override for key “%s” in schema “%s” in override file “%s” is not in the " -@@ -2881,7 +2923,7 @@ msgstr "" - "覆盖文件“%3$s”中架构“%2$s”的键“%1$s”的覆盖的值不在有效值列表内;正在忽略对此" - "键的覆盖。" - --#: gio/glib-compile-schemas.c:2113 -+#: ../gio/glib-compile-schemas.c:2117 - #, c-format - msgid "" - "Override for key “%s” in schema “%s” in override file “%s” is not in the " -@@ -2890,23 +2932,23 @@ msgstr "" - "覆盖文件“%3$s”中架构“%2$s”的键“%1$s”的覆盖的值不在有效值列表内并且已指定 --" - "strict;正在退出。" - --#: gio/glib-compile-schemas.c:2175 -+#: ../gio/glib-compile-schemas.c:2179 - msgid "Where to store the gschemas.compiled file" - msgstr "gschemas.compiled 文件存储于何处" - --#: gio/glib-compile-schemas.c:2176 -+#: ../gio/glib-compile-schemas.c:2180 - msgid "Abort on any errors in schemas" - msgstr "在架构里出现任何错误时中止" - --#: gio/glib-compile-schemas.c:2177 -+#: ../gio/glib-compile-schemas.c:2181 - msgid "Do not write the gschema.compiled file" - msgstr "不要对 gschema.compiled 进行写操作" - --#: gio/glib-compile-schemas.c:2178 -+#: ../gio/glib-compile-schemas.c:2182 - msgid "Do not enforce key name restrictions" - msgstr "不要强制键名的限制" - --#: gio/glib-compile-schemas.c:2207 -+#: ../gio/glib-compile-schemas.c:2211 - msgid "" - "Compile all GSettings schema files into a schema cache.\n" - "Schema files are required to have the extension .gschema.xml,\n" -@@ -2916,24 +2958,24 @@ msgstr "" - "要使用扩展 .gschema.xml,需要有架构文件,\n" - "缓存文件被称为 gschemas.compiled。" - --#: gio/glib-compile-schemas.c:2228 -+#: ../gio/glib-compile-schemas.c:2232 - msgid "You should give exactly one directory name" - msgstr "您应该给出一个且仅一个的目录名" - --#: gio/glib-compile-schemas.c:2271 -+#: ../gio/glib-compile-schemas.c:2275 - msgid "No schema files found: doing nothing." - msgstr "未找到架构文件:无事可做。" - --#: gio/glib-compile-schemas.c:2273 -+#: ../gio/glib-compile-schemas.c:2277 - msgid "No schema files found: removed existing output file." - msgstr "未找到架构文件:已删除存在的输出文件。" - --#: gio/glocalfile.c:563 gio/win32/gwinhttpfile.c:436 -+#: ../gio/glocalfile.c:563 ../gio/win32/gwinhttpfile.c:436 - #, c-format - msgid "Invalid filename %s" - msgstr "无效的文件名 %s" - --#: gio/glocalfile.c:996 -+#: ../gio/glocalfile.c:996 - #, c-format - msgid "Error getting filesystem info for %s: %s" - msgstr "读取 %s 文件系统信息时出错:%s" -@@ -2942,515 +2984,548 @@ msgstr "读取 %s 文件系统信息时出错:%s" - #. * the enclosing (user visible) mount of a file, but none - #. * exists. - #. --#: gio/glocalfile.c:1137 -+#: ../gio/glocalfile.c:1137 - #, c-format - msgid "Containing mount for file %s not found" - msgstr "找不到文件 %s 包含的挂载" - --#: gio/glocalfile.c:1160 -+#: ../gio/glocalfile.c:1160 - msgid "Can’t rename root directory" - msgstr "无法重命名根目录" - --#: gio/glocalfile.c:1178 gio/glocalfile.c:1201 -+#: ../gio/glocalfile.c:1178 ../gio/glocalfile.c:1201 - #, c-format - msgid "Error renaming file %s: %s" - msgstr "重命名文件 %s 时出错:%s" - --#: gio/glocalfile.c:1185 -+#: ../gio/glocalfile.c:1185 - msgid "Can’t rename file, filename already exists" - msgstr "无法重命名文件,该文件名已存在" - --#: gio/glocalfile.c:1198 gio/glocalfile.c:2394 gio/glocalfile.c:2422 --#: gio/glocalfile.c:2561 gio/glocalfileoutputstream.c:658 -+#: ../gio/glocalfile.c:1198 ../gio/glocalfile.c:2413 ../gio/glocalfile.c:2441 -+#: ../gio/glocalfile.c:2580 ../gio/glocalfileoutputstream.c:659 - msgid "Invalid filename" - msgstr "无效的文件名" - --#: gio/glocalfile.c:1366 gio/glocalfile.c:1377 -+#: ../gio/glocalfile.c:1366 ../gio/glocalfile.c:1377 - #, c-format - msgid "Error opening file %s: %s" - msgstr "打开文件 %s 时出错:%s" - --#: gio/glocalfile.c:1502 -+#: ../gio/glocalfile.c:1502 - #, c-format - msgid "Error removing file %s: %s" - msgstr "删除文件 %s 时出错:%s" - --#: gio/glocalfile.c:1996 gio/glocalfile.c:2007 gio/glocalfile.c:2034 -+#: ../gio/glocalfile.c:1999 ../gio/glocalfile.c:2010 ../gio/glocalfile.c:2037 - #, c-format - msgid "Error trashing file %s: %s" - msgstr "将文件 %s 丢到回收站时出错:%s" - --#: gio/glocalfile.c:2054 -+#: ../gio/glocalfile.c:2058 - #, c-format - msgid "Unable to create trash directory %s: %s" - msgstr "无法创建回收站目录 %s:%s" - --#: gio/glocalfile.c:2075 -+#: ../gio/glocalfile.c:2079 - #, c-format - msgid "Unable to find toplevel directory to trash %s" - msgstr "找不到回收站 %s 的顶级目录" - --#: gio/glocalfile.c:2083 -+#: ../gio/glocalfile.c:2087 - #, c-format - msgid "Trashing on system internal mounts is not supported" - msgstr "不支持在系统内部挂载上的丢弃到回收站操作" - --#: gio/glocalfile.c:2169 gio/glocalfile.c:2197 -+#: ../gio/glocalfile.c:2173 ../gio/glocalfile.c:2201 - #, c-format - msgid "Unable to find or create trash directory %s to trash %s" - msgstr "无法找到或创建回收站目录 %s 来丢弃 %s" - --#: gio/glocalfile.c:2243 -+#: ../gio/glocalfile.c:2247 - #, c-format - msgid "Unable to create trashing info file for %s: %s" - msgstr "为 %s 创建回收站信息文件失败:%s" - --#: gio/glocalfile.c:2305 -+#: ../gio/glocalfile.c:2324 - #, c-format - msgid "Unable to trash file %s across filesystem boundaries" - msgstr "无法跨越文件系统边界将文件 %s 丢到回收站" - --#: gio/glocalfile.c:2309 gio/glocalfile.c:2365 -+#: ../gio/glocalfile.c:2328 ../gio/glocalfile.c:2384 - #, c-format - msgid "Unable to trash file %s: %s" - msgstr "无法将文件 %s 丢到回收站:%s" - --#: gio/glocalfile.c:2371 -+#: ../gio/glocalfile.c:2390 - #, c-format - msgid "Unable to trash file %s" - msgstr "无法将文件 %s 丢到回收站" - --#: gio/glocalfile.c:2397 -+#: ../gio/glocalfile.c:2416 - #, c-format - msgid "Error creating directory %s: %s" - msgstr "创建目录 %s 时出错:%s" - --#: gio/glocalfile.c:2426 -+#: ../gio/glocalfile.c:2445 - #, c-format - msgid "Filesystem does not support symbolic links" - msgstr "文件系统不支持符号链接" - --#: gio/glocalfile.c:2429 -+#: ../gio/glocalfile.c:2448 - #, c-format - msgid "Error making symbolic link %s: %s" - msgstr "创建符号链接 %s 时出错:%s" - --#: gio/glocalfile.c:2472 gio/glocalfile.c:2507 gio/glocalfile.c:2564 -+#: ../gio/glocalfile.c:2491 ../gio/glocalfile.c:2526 ../gio/glocalfile.c:2583 - #, c-format - msgid "Error moving file %s: %s" - msgstr "移动文件 %s 时出错:%s" - --#: gio/glocalfile.c:2495 -+#: ../gio/glocalfile.c:2514 - msgid "Can’t move directory over directory" - msgstr "无法将目录移动到目录" - --#: gio/glocalfile.c:2521 gio/glocalfileoutputstream.c:1110 --#: gio/glocalfileoutputstream.c:1124 gio/glocalfileoutputstream.c:1139 --#: gio/glocalfileoutputstream.c:1156 gio/glocalfileoutputstream.c:1170 -+#: ../gio/glocalfile.c:2540 ../gio/glocalfileoutputstream.c:1133 -+#: ../gio/glocalfileoutputstream.c:1147 ../gio/glocalfileoutputstream.c:1162 -+#: ../gio/glocalfileoutputstream.c:1179 ../gio/glocalfileoutputstream.c:1193 - msgid "Backup file creation failed" - msgstr "备份文件创建失败" - --#: gio/glocalfile.c:2540 -+#: ../gio/glocalfile.c:2559 - #, c-format - msgid "Error removing target file: %s" - msgstr "移除目标文件出错:%s" - --#: gio/glocalfile.c:2554 -+#: ../gio/glocalfile.c:2573 - msgid "Move between mounts not supported" - msgstr "不支持在挂载之间移动" - --#: gio/glocalfile.c:2728 -+#: ../gio/glocalfile.c:2747 - #, c-format - msgid "Could not determine the disk usage of %s: %s" - msgstr "无法确定 %s 的磁盘使用情况:%s" - --#: gio/glocalfileinfo.c:775 -+#: ../gio/glocalfileinfo.c:778 - msgid "Attribute value must be non-NULL" - msgstr "属性值必须为非空" - --#: gio/glocalfileinfo.c:782 -+#: ../gio/glocalfileinfo.c:785 - msgid "Invalid attribute type (string or invalid expected)" - msgstr "无效的属性类型(应为字符串或无效)" - --#: gio/glocalfileinfo.c:789 -+#: ../gio/glocalfileinfo.c:792 - msgid "Invalid extended attribute name" - msgstr "无效的扩展属性名" - --#: gio/glocalfileinfo.c:840 -+#: ../gio/glocalfileinfo.c:843 - #, c-format - msgid "Error setting extended attribute “%s”: %s" - msgstr "设置扩展属性“%s”时出错:%s" - --#: gio/glocalfileinfo.c:1738 gio/win32/gwinhttpfile.c:191 -+#: ../gio/glocalfileinfo.c:1736 ../gio/win32/gwinhttpfile.c:191 - msgid " (invalid encoding)" - msgstr " (无效的编码)" - --#: gio/glocalfileinfo.c:1897 gio/glocalfileoutputstream.c:945 --#: gio/glocalfileoutputstream.c:997 -+#: ../gio/glocalfileinfo.c:1827 -+msgid "Desktop" -+msgstr "桌面" -+ -+#: ../gio/glocalfileinfo.c:1829 -+msgid "Documents" -+msgstr "文档" -+ -+#: ../gio/glocalfileinfo.c:1831 -+msgid "Download" -+msgstr "下载" -+ -+#: ../gio/glocalfileinfo.c:1833 -+msgid "Music" -+msgstr "音乐" -+ -+#: ../gio/glocalfileinfo.c:1835 -+msgid "Pictures" -+msgstr "图片" -+ -+#: ../gio/glocalfileinfo.c:1837 -+msgid "Public Share" -+msgstr "公共的" -+ -+#: ../gio/glocalfileinfo.c:1839 -+msgid "Templates" -+msgstr "模板" -+ -+#: ../gio/glocalfileinfo.c:1841 -+msgid "Videos" -+msgstr "视频" -+ -+#: ../gio/glocalfileinfo.c:1922 ../gio/glocalfileoutputstream.c:961 -+#: ../gio/glocalfileoutputstream.c:1013 - #, c-format - msgid "Error when getting information for file “%s”: %s" - msgstr "获取文件“%s”的信息时出错:%s" - --#: gio/glocalfileinfo.c:2163 -+#: ../gio/glocalfileinfo.c:2188 - #, c-format - msgid "Error when getting information for file descriptor: %s" - msgstr "获取文件描述符的信息时出错:%s" - --#: gio/glocalfileinfo.c:2208 -+#: ../gio/glocalfileinfo.c:2233 - msgid "Invalid attribute type (uint32 expected)" - msgstr "无效的属性类型(应为 uint32)" - --#: gio/glocalfileinfo.c:2226 -+#: ../gio/glocalfileinfo.c:2251 - msgid "Invalid attribute type (uint64 expected)" - msgstr "无效的属性类型(应为 uint64)" - --#: gio/glocalfileinfo.c:2245 gio/glocalfileinfo.c:2264 -+#: ../gio/glocalfileinfo.c:2270 ../gio/glocalfileinfo.c:2289 - msgid "Invalid attribute type (byte string expected)" - msgstr "无效的属性类型(应为字节字符串)" - --#: gio/glocalfileinfo.c:2311 -+#: ../gio/glocalfileinfo.c:2336 - msgid "Cannot set permissions on symlinks" - msgstr "无法为符号链接设置权限" - --#: gio/glocalfileinfo.c:2327 -+#: ../gio/glocalfileinfo.c:2352 - #, c-format - msgid "Error setting permissions: %s" - msgstr "设置访问权限出错:%s" - --#: gio/glocalfileinfo.c:2378 -+#: ../gio/glocalfileinfo.c:2403 - #, c-format - msgid "Error setting owner: %s" - msgstr "设置所有者出错:%s" - --#: gio/glocalfileinfo.c:2401 -+#: ../gio/glocalfileinfo.c:2426 - msgid "symlink must be non-NULL" - msgstr "符号链接必须是非空" - --#: gio/glocalfileinfo.c:2411 gio/glocalfileinfo.c:2430 --#: gio/glocalfileinfo.c:2441 -+#: ../gio/glocalfileinfo.c:2436 ../gio/glocalfileinfo.c:2455 -+#: ../gio/glocalfileinfo.c:2466 - #, c-format - msgid "Error setting symlink: %s" - msgstr "设置符号链接出错:%s" - --#: gio/glocalfileinfo.c:2420 -+#: ../gio/glocalfileinfo.c:2445 - msgid "Error setting symlink: file is not a symlink" - msgstr "设定符号链接出错:文件不是符号链接" - --#: gio/glocalfileinfo.c:2492 -+#: ../gio/glocalfileinfo.c:2537 - #, c-format - msgid "Extra nanoseconds %d for UNIX timestamp %lld are negative" - msgstr "额外的纳秒数字 %d 在 UNIX 时间戳 %lld 中是负值" - --#: gio/glocalfileinfo.c:2501 -+#: ../gio/glocalfileinfo.c:2546 - #, c-format - msgid "Extra nanoseconds %d for UNIX timestamp %lld reach 1 second" - msgstr "额外的纳秒数字 %d 在 UNIX 时间戳 %lld 中长度已达到一秒钟" - --#: gio/glocalfileinfo.c:2511 -+#: ../gio/glocalfileinfo.c:2556 - #, c-format - msgid "UNIX timestamp %lld does not fit into 64 bits" - msgstr "UNIX 时间戳 %lld 无法作为 64 比特数据存储" - --#: gio/glocalfileinfo.c:2522 -+#: ../gio/glocalfileinfo.c:2567 - #, c-format - msgid "UNIX timestamp %lld is outside of the range supported by Windows" - msgstr "UNIX 时间戳 %lld 位于 Windows 所支持的范围之外" - --#: gio/glocalfileinfo.c:2625 -+#: ../gio/glocalfileinfo.c:2699 - #, c-format - msgid "File name “%s” cannot be converted to UTF-16" - msgstr "文件名“%s”不能转换为 UTF-16" - --#: gio/glocalfileinfo.c:2644 -+#: ../gio/glocalfileinfo.c:2718 - #, c-format - msgid "File “%s” cannot be opened: Windows Error %lu" - msgstr "无法打开文件“%s”:Windows 错误 %lu" - --#: gio/glocalfileinfo.c:2657 -+#: ../gio/glocalfileinfo.c:2731 - #, c-format - msgid "Error setting modification or access time for file “%s”: %lu" - msgstr "设置文件“%s”的修改或访问时间时出错:%lu" - --#: gio/glocalfileinfo.c:2798 gio/glocalfileinfo.c:2810 -+#: ../gio/glocalfileinfo.c:2888 - #, c-format - msgid "Error setting modification or access time: %s" - msgstr "设置修改或访问时间时出错:%s" - --#: gio/glocalfileinfo.c:2833 -+#: ../gio/glocalfileinfo.c:2911 - msgid "SELinux context must be non-NULL" - msgstr "SELinux 上下文必须是非空" - --#: gio/glocalfileinfo.c:2840 -+#: ../gio/glocalfileinfo.c:2918 - msgid "SELinux is not enabled on this system" - msgstr "此系统尚未启用 SELinux" - --#: gio/glocalfileinfo.c:2850 -+#: ../gio/glocalfileinfo.c:2928 - #, c-format - msgid "Error setting SELinux context: %s" - msgstr "设置 SELinux 上下文出错:%s" - --#: gio/glocalfileinfo.c:2947 -+#: ../gio/glocalfileinfo.c:3025 - #, c-format - msgid "Setting attribute %s not supported" - msgstr "不支持设置属性 %s" - --#: gio/glocalfileinputstream.c:165 gio/glocalfileoutputstream.c:803 -+#: ../gio/glocalfileinputstream.c:165 ../gio/glocalfileoutputstream.c:804 - #, c-format - msgid "Error reading from file: %s" - msgstr "读取文件出错:%s" - --#: gio/glocalfileinputstream.c:196 gio/glocalfileoutputstream.c:355 --#: gio/glocalfileoutputstream.c:449 -+#: ../gio/glocalfileinputstream.c:196 ../gio/glocalfileoutputstream.c:356 -+#: ../gio/glocalfileoutputstream.c:450 - #, c-format - msgid "Error closing file: %s" - msgstr "关闭文件出错:%s" - --#: gio/glocalfileinputstream.c:274 gio/glocalfileoutputstream.c:565 --#: gio/glocalfileoutputstream.c:1188 -+#: ../gio/glocalfileinputstream.c:274 ../gio/glocalfileoutputstream.c:566 -+#: ../gio/glocalfileoutputstream.c:1211 - #, c-format - msgid "Error seeking in file: %s" - msgstr "在文件中定位时出错:%s" - --#: gio/glocalfilemonitor.c:882 -+#: ../gio/glocalfilemonitor.c:882 - msgid "Unable to find default local file monitor type" - msgstr "无法找到默认的本地文件监视器类型" - --#: gio/glocalfileoutputstream.c:222 gio/glocalfileoutputstream.c:300 --#: gio/glocalfileoutputstream.c:336 gio/glocalfileoutputstream.c:824 -+#: ../gio/glocalfileoutputstream.c:223 ../gio/glocalfileoutputstream.c:301 -+#: ../gio/glocalfileoutputstream.c:337 ../gio/glocalfileoutputstream.c:825 - #, c-format - msgid "Error writing to file: %s" - msgstr "写入文件出错:%s" - --#: gio/glocalfileoutputstream.c:382 -+#: ../gio/glocalfileoutputstream.c:383 - #, c-format - msgid "Error removing old backup link: %s" - msgstr "移除旧的备份链接出错:%s" - --#: gio/glocalfileoutputstream.c:396 gio/glocalfileoutputstream.c:409 -+#: ../gio/glocalfileoutputstream.c:397 ../gio/glocalfileoutputstream.c:410 - #, c-format - msgid "Error creating backup copy: %s" - msgstr "创建备份拷贝:%s" - --#: gio/glocalfileoutputstream.c:427 -+#: ../gio/glocalfileoutputstream.c:428 - #, c-format - msgid "Error renaming temporary file: %s" - msgstr "重命名临时文件出错:%s" - --#: gio/glocalfileoutputstream.c:611 gio/glocalfileoutputstream.c:1241 -+#: ../gio/glocalfileoutputstream.c:612 ../gio/glocalfileoutputstream.c:1265 - #, c-format - msgid "Error truncating file: %s" - msgstr "截断文件出错:%s" - --#: gio/glocalfileoutputstream.c:664 gio/glocalfileoutputstream.c:909 --#: gio/glocalfileoutputstream.c:1222 gio/gsubprocess.c:231 -+#: ../gio/glocalfileoutputstream.c:665 ../gio/glocalfileoutputstream.c:925 -+#: ../gio/glocalfileoutputstream.c:1246 ../gio/gsubprocess.c:231 - #, c-format - msgid "Error opening file “%s”: %s" - msgstr "打开文件“%s”出错:%s" - --#: gio/glocalfileoutputstream.c:959 -+#: ../gio/glocalfileoutputstream.c:975 - msgid "Target file is a directory" - msgstr "目标文件是目录" - --#: gio/glocalfileoutputstream.c:973 -+#: ../gio/glocalfileoutputstream.c:989 - msgid "Target file is not a regular file" - msgstr "目标文件不是普通文件" - --#: gio/glocalfileoutputstream.c:1015 -+#: ../gio/glocalfileoutputstream.c:1031 - msgid "The file was externally modified" - msgstr "文件已经被其他程序修改" - --#: gio/glocalfileoutputstream.c:1204 -+#: ../gio/glocalfileoutputstream.c:1228 - #, c-format - msgid "Error removing old file: %s" - msgstr "移除旧文件出错:%s" - --#: gio/gmemoryinputstream.c:476 gio/gmemoryoutputstream.c:764 -+#: ../gio/gmemoryinputstream.c:476 ../gio/gmemoryoutputstream.c:764 - msgid "Invalid GSeekType supplied" - msgstr "提供的 GSeekType 无效" - --#: gio/gmemoryinputstream.c:486 -+#: ../gio/gmemoryinputstream.c:486 - msgid "Invalid seek request" - msgstr "无效的搜寻请求" - --#: gio/gmemoryinputstream.c:510 -+#: ../gio/gmemoryinputstream.c:510 - msgid "Cannot truncate GMemoryInputStream" - msgstr "无法截断 GMemoryInputStream" - --#: gio/gmemoryoutputstream.c:570 -+#: ../gio/gmemoryoutputstream.c:570 - msgid "Memory output stream not resizable" - msgstr "内存输出流无法改变大小" - --#: gio/gmemoryoutputstream.c:586 -+#: ../gio/gmemoryoutputstream.c:586 - msgid "Failed to resize memory output stream" - msgstr "改变内存输出流大小失败" - --#: gio/gmemoryoutputstream.c:665 -+#: ../gio/gmemoryoutputstream.c:665 - msgid "" - "Amount of memory required to process the write is larger than available " - "address space" - msgstr "处理写入所需要的内存超过了可用的空间" - --#: gio/gmemoryoutputstream.c:774 -+#: ../gio/gmemoryoutputstream.c:774 - msgid "Requested seek before the beginning of the stream" - msgstr "请求的定位值在流的开始之前" - --#: gio/gmemoryoutputstream.c:789 -+#: ../gio/gmemoryoutputstream.c:789 - msgid "Requested seek beyond the end of the stream" - msgstr "请求的定位值在流的结束之后" - - #. Translators: This is an error - #. * message for mount objects that - #. * don't implement unmount. --#: gio/gmount.c:401 -+#: ../gio/gmount.c:401 - msgid "mount doesn’t implement “unmount”" - msgstr "挂载未实现“unmount”" - - #. Translators: This is an error - #. * message for mount objects that - #. * don't implement eject. --#: gio/gmount.c:477 -+#: ../gio/gmount.c:477 - msgid "mount doesn’t implement “eject”" - msgstr "挂载未实现“eject”" - - #. Translators: This is an error - #. * message for mount objects that - #. * don't implement any of unmount or unmount_with_operation. --#: gio/gmount.c:555 -+#: ../gio/gmount.c:555 - msgid "mount doesn’t implement “unmount” or “unmount_with_operation”" - msgstr "挂载未实现“unmount”或“unmount_with_operation”" - - #. Translators: This is an error - #. * message for mount objects that - #. * don't implement any of eject or eject_with_operation. --#: gio/gmount.c:640 -+#: ../gio/gmount.c:640 - msgid "mount doesn’t implement “eject” or “eject_with_operation”" - msgstr "挂载未实现“eject”或“eject_with_operation”" - - #. Translators: This is an error - #. * message for mount objects that - #. * don't implement remount. --#: gio/gmount.c:728 -+#: ../gio/gmount.c:728 - msgid "mount doesn’t implement “remount”" - msgstr "挂载未实现“remount”" - - #. Translators: This is an error - #. * message for mount objects that - #. * don't implement content type guessing. --#: gio/gmount.c:810 -+#: ../gio/gmount.c:810 - msgid "mount doesn’t implement content type guessing" - msgstr "挂载未实现内容类型猜测" - - #. Translators: This is an error - #. * message for mount objects that - #. * don't implement content type guessing. --#: gio/gmount.c:897 -+#: ../gio/gmount.c:897 - msgid "mount doesn’t implement synchronous content type guessing" - msgstr "挂载未实现同步内容类型猜测" - --#: gio/gnetworkaddress.c:417 -+#: ../gio/gnetworkaddress.c:417 - #, c-format - msgid "Hostname “%s” contains “[” but not “]”" - msgstr "主机名“%s”包含“[”但是缺少“]”" - --#: gio/gnetworkmonitorbase.c:221 gio/gnetworkmonitorbase.c:325 -+#: ../gio/gnetworkmonitorbase.c:221 ../gio/gnetworkmonitorbase.c:325 - msgid "Network unreachable" - msgstr "网络不可达" - --#: gio/gnetworkmonitorbase.c:259 gio/gnetworkmonitorbase.c:289 -+#: ../gio/gnetworkmonitorbase.c:259 ../gio/gnetworkmonitorbase.c:289 - msgid "Host unreachable" - msgstr "主机不可达" - --#: gio/gnetworkmonitornetlink.c:101 gio/gnetworkmonitornetlink.c:113 --#: gio/gnetworkmonitornetlink.c:132 -+#: ../gio/gnetworkmonitornetlink.c:101 ../gio/gnetworkmonitornetlink.c:113 -+#: ../gio/gnetworkmonitornetlink.c:132 - #, c-format - msgid "Could not create network monitor: %s" - msgstr "不能创建网络监视器:%s" - --#: gio/gnetworkmonitornetlink.c:122 -+#: ../gio/gnetworkmonitornetlink.c:122 - msgid "Could not create network monitor: " - msgstr "无法创建网络监视器:" - --#: gio/gnetworkmonitornetlink.c:185 -+#: ../gio/gnetworkmonitornetlink.c:185 - msgid "Could not get network status: " - msgstr "无法获取网络状态:" - --#: gio/gnetworkmonitornm.c:313 -+#: ../gio/gnetworkmonitornm.c:313 - #, c-format - msgid "NetworkManager not running" - msgstr "NetworkManager 未在运行" - --#: gio/gnetworkmonitornm.c:324 -+#: ../gio/gnetworkmonitornm.c:324 - #, c-format - msgid "NetworkManager version too old" - msgstr "NetworkManager 版本太老" - --#: gio/goutputstream.c:234 gio/goutputstream.c:777 -+#: ../gio/goutputstream.c:234 ../gio/goutputstream.c:777 - msgid "Output stream doesn’t implement write" - msgstr "输出流未实现写入" - --#: gio/goutputstream.c:474 gio/goutputstream.c:1535 -+#: ../gio/goutputstream.c:474 ../gio/goutputstream.c:1535 - #, c-format - msgid "Sum of vectors passed to %s too large" - msgstr "传递给 %s 的向量和太大" - --#: gio/goutputstream.c:738 gio/goutputstream.c:1763 -+#: ../gio/goutputstream.c:738 ../gio/goutputstream.c:1763 - msgid "Source stream is already closed" - msgstr "源流已经关闭" - --#: gio/gproxyaddressenumerator.c:324 gio/gproxyaddressenumerator.c:342 -+#: ../gio/gproxyaddressenumerator.c:324 ../gio/gproxyaddressenumerator.c:342 - msgid "Unspecified proxy lookup failure" - msgstr "未指定的代理查询失败" - - #. Translators: the first placeholder is a domain name, the - #. * second is an error message --#: gio/gresolver.c:403 gio/gthreadedresolver.c:152 gio/gthreadedresolver.c:170 --#: gio/gthreadedresolver.c:782 gio/gthreadedresolver.c:806 --#: gio/gthreadedresolver.c:831 gio/gthreadedresolver.c:846 -+#: ../gio/gresolver.c:403 ../gio/gthreadedresolver.c:152 -+#: ../gio/gthreadedresolver.c:170 ../gio/gthreadedresolver.c:782 -+#: ../gio/gthreadedresolver.c:806 ../gio/gthreadedresolver.c:831 -+#: ../gio/gthreadedresolver.c:846 - #, c-format - msgid "Error resolving “%s”: %s" - msgstr "解析“%s”时出错:%s" - - #. Translators: The placeholder is for a function name. --#: gio/gresolver.c:472 gio/gresolver.c:632 -+#: ../gio/gresolver.c:472 ../gio/gresolver.c:632 - #, c-format - msgid "%s not implemented" - msgstr "%s 尚未实现" - --#: gio/gresolver.c:1001 gio/gresolver.c:1053 -+#: ../gio/gresolver.c:1001 ../gio/gresolver.c:1053 - msgid "Invalid domain" - msgstr "无效的域" - --#: gio/gresource.c:683 gio/gresource.c:945 gio/gresource.c:985 --#: gio/gresource.c:1109 gio/gresource.c:1181 gio/gresource.c:1255 --#: gio/gresource.c:1336 gio/gresourcefile.c:478 gio/gresourcefile.c:601 --#: gio/gresourcefile.c:752 -+#: ../gio/gresource.c:683 ../gio/gresource.c:945 ../gio/gresource.c:985 -+#: ../gio/gresource.c:1109 ../gio/gresource.c:1181 ../gio/gresource.c:1255 -+#: ../gio/gresource.c:1336 ../gio/gresourcefile.c:478 -+#: ../gio/gresourcefile.c:601 ../gio/gresourcefile.c:752 - #, c-format - msgid "The resource at “%s” does not exist" - msgstr "位于“%s”的资源不存在" - --#: gio/gresource.c:850 -+#: ../gio/gresource.c:850 - #, c-format - msgid "The resource at “%s” failed to decompress" - msgstr "解压位于“%s”的资源失败" - --#: gio/gresourcefile.c:658 -+#: ../gio/gresourcefile.c:658 - msgid "Resource files cannot be renamed" - msgstr "无法重命名资源文件" - --#: gio/gresourcefile.c:748 -+#: ../gio/gresourcefile.c:748 - #, c-format - msgid "The resource at “%s” is not a directory" - msgstr "“%s”处的资源不是一个目录" - --#: gio/gresourcefile.c:956 -+#: ../gio/gresourcefile.c:956 - msgid "Input stream doesn’t implement seek" - msgstr "输入流未实现定位" - --#: gio/gresource-tool.c:502 -+#: ../gio/gresource-tool.c:502 - msgid "List sections containing resources in an elf FILE" - msgstr "列出 elf 文件中包含资源的段" - --#: gio/gresource-tool.c:508 -+#: ../gio/gresource-tool.c:508 - msgid "" - "List resources\n" - "If SECTION is given, only list resources in this section\n" -@@ -3460,15 +3535,16 @@ msgstr "" - "如果指定了段,则仅在此段中列出资源\n" - "如果指定了路径,则仅列出匹配的资源" - --#: gio/gresource-tool.c:511 gio/gresource-tool.c:521 -+#: ../gio/gresource-tool.c:511 ../gio/gresource-tool.c:521 - msgid "FILE [PATH]" - msgstr "文件 [路径]" - --#: gio/gresource-tool.c:512 gio/gresource-tool.c:522 gio/gresource-tool.c:529 -+#: ../gio/gresource-tool.c:512 ../gio/gresource-tool.c:522 -+#: ../gio/gresource-tool.c:529 - msgid "SECTION" - msgstr "段" - --#: gio/gresource-tool.c:517 -+#: ../gio/gresource-tool.c:517 - msgid "" - "List resources with details\n" - "If SECTION is given, only list resources in this section\n" -@@ -3480,15 +3556,15 @@ msgstr "" - "如果指定了文件,则仅列出匹配的资源\n" - "详细信息包括段、大小和压缩情况" - --#: gio/gresource-tool.c:527 -+#: ../gio/gresource-tool.c:527 - msgid "Extract a resource file to stdout" - msgstr "提取一个资源文件到标准输出" - --#: gio/gresource-tool.c:528 -+#: ../gio/gresource-tool.c:528 - msgid "FILE PATH" - msgstr "文件 路径" - --#: gio/gresource-tool.c:542 -+#: ../gio/gresource-tool.c:542 - msgid "" - "Usage:\n" - " gresource [--section SECTION] COMMAND [ARGS…]\n" -@@ -3516,7 +3592,7 @@ msgstr "" - "使用“gresoure help 命令”获取详细帮助。\n" - "\n" - --#: gio/gresource-tool.c:556 -+#: ../gio/gresource-tool.c:556 - #, c-format - msgid "" - "Usage:\n" -@@ -3531,19 +3607,19 @@ msgstr "" - "%s\n" - "\n" - --#: gio/gresource-tool.c:563 -+#: ../gio/gresource-tool.c:563 - msgid " SECTION An (optional) elf section name\n" - msgstr " 段 一个 elf 段名(可选)\n" - --#: gio/gresource-tool.c:567 gio/gsettings-tool.c:720 -+#: ../gio/gresource-tool.c:567 ../gio/gsettings-tool.c:720 - msgid " COMMAND The (optional) command to explain\n" - msgstr " 命令 要解释的命令(可选)\n" - --#: gio/gresource-tool.c:573 -+#: ../gio/gresource-tool.c:573 - msgid " FILE An elf file (a binary or a shared library)\n" - msgstr " 文件 一个 elf 文件(可执行文件或共享库)\n" - --#: gio/gresource-tool.c:576 -+#: ../gio/gresource-tool.c:576 - msgid "" - " FILE An elf file (a binary or a shared library)\n" - " or a compiled resource file\n" -@@ -3551,82 +3627,90 @@ msgstr "" - " 文件 一个 elf 文件(可执行文件或共享库)\n" - " 或已编译的资源文件\n" - --#: gio/gresource-tool.c:580 -+#: ../gio/gresource-tool.c:580 - msgid "[PATH]" - msgstr "[路径]" - --#: gio/gresource-tool.c:582 -+#: ../gio/gresource-tool.c:582 - msgid " PATH An (optional) resource path (may be partial)\n" - msgstr " 路径 (部分)资源路径(可选)\n" - --#: gio/gresource-tool.c:583 -+#: ../gio/gresource-tool.c:583 - msgid "PATH" - msgstr "路径" - --#: gio/gresource-tool.c:585 -+#: ../gio/gresource-tool.c:585 - msgid " PATH A resource path\n" - msgstr " 路径 一个资源路径\n" - --#: gio/gsettings-tool.c:51 gio/gsettings-tool.c:72 gio/gsettings-tool.c:925 -+#: ../gio/gsettings-tool.c:51 ../gio/gsettings-tool.c:72 -+#: ../gio/gsettings-tool.c:925 - #, c-format - msgid "No such schema “%s”\n" - msgstr "没有“%s”这个架构\n" - --#: gio/gsettings-tool.c:57 -+#: ../gio/gsettings-tool.c:57 - #, c-format - msgid "Schema “%s” is not relocatable (path must not be specified)\n" - msgstr "“%s”架构不可重定位(必须指定路径)\n" - --#: gio/gsettings-tool.c:78 -+#: ../gio/gsettings-tool.c:78 - #, c-format - msgid "Schema “%s” is relocatable (path must be specified)\n" - msgstr "“%s”架构可重定位(必须指定路径)\n" - --#: gio/gsettings-tool.c:92 -+#: ../gio/gsettings-tool.c:92 -+#, c-format - msgid "Empty path given.\n" - msgstr "给定的路径为空。\n" - --#: gio/gsettings-tool.c:98 -+#: ../gio/gsettings-tool.c:98 -+#, c-format - msgid "Path must begin with a slash (/)\n" - msgstr "路径必须以斜杠开头(/)\n" - --#: gio/gsettings-tool.c:104 -+#: ../gio/gsettings-tool.c:104 -+#, c-format - msgid "Path must end with a slash (/)\n" - msgstr "路径必须以斜杠结束(/)\n" - --#: gio/gsettings-tool.c:110 -+#: ../gio/gsettings-tool.c:110 -+#, c-format - msgid "Path must not contain two adjacent slashes (//)\n" - msgstr "路径中不能包含连续两个斜杠(//)\n" - --#: gio/gsettings-tool.c:555 -+#: ../gio/gsettings-tool.c:555 -+#, c-format - msgid "The provided value is outside of the valid range\n" - msgstr "提供的值不在有效范围内\n" - --#: gio/gsettings-tool.c:562 -+#: ../gio/gsettings-tool.c:562 -+#, c-format - msgid "The key is not writable\n" - msgstr "键不可写\n" - --#: gio/gsettings-tool.c:598 -+#: ../gio/gsettings-tool.c:598 - msgid "List the installed (non-relocatable) schemas" - msgstr "列出已安装的(不可重定位的)架构" - --#: gio/gsettings-tool.c:604 -+#: ../gio/gsettings-tool.c:604 - msgid "List the installed relocatable schemas" - msgstr "列出安装的可重定位的架构" - --#: gio/gsettings-tool.c:610 -+#: ../gio/gsettings-tool.c:610 - msgid "List the keys in SCHEMA" - msgstr "列出架构中的键" - --#: gio/gsettings-tool.c:611 gio/gsettings-tool.c:617 gio/gsettings-tool.c:660 -+#: ../gio/gsettings-tool.c:611 ../gio/gsettings-tool.c:617 -+#: ../gio/gsettings-tool.c:660 - msgid "SCHEMA[:PATH]" - msgstr "架构[:路径]" - --#: gio/gsettings-tool.c:616 -+#: ../gio/gsettings-tool.c:616 - msgid "List the children of SCHEMA" - msgstr "列出架构的子对象" - --#: gio/gsettings-tool.c:622 -+#: ../gio/gsettings-tool.c:622 - msgid "" - "List keys and values, recursively\n" - "If no SCHEMA is given, list all keys\n" -@@ -3634,48 +3718,49 @@ msgstr "" - "递归列出键和值\n" - "如果没有给出架构,列出所有键\n" - --#: gio/gsettings-tool.c:624 -+#: ../gio/gsettings-tool.c:624 - msgid "[SCHEMA[:PATH]]" - msgstr "架构[:路径]" - --#: gio/gsettings-tool.c:629 -+#: ../gio/gsettings-tool.c:629 - msgid "Get the value of KEY" - msgstr "获取键的值" - --#: gio/gsettings-tool.c:630 gio/gsettings-tool.c:636 gio/gsettings-tool.c:642 --#: gio/gsettings-tool.c:654 gio/gsettings-tool.c:666 -+#: ../gio/gsettings-tool.c:630 ../gio/gsettings-tool.c:636 -+#: ../gio/gsettings-tool.c:642 ../gio/gsettings-tool.c:654 -+#: ../gio/gsettings-tool.c:666 - msgid "SCHEMA[:PATH] KEY" - msgstr "架构[:路径] 键" - --#: gio/gsettings-tool.c:635 -+#: ../gio/gsettings-tool.c:635 - msgid "Query the range of valid values for KEY" - msgstr "查询键的有效值范围" - --#: gio/gsettings-tool.c:641 -+#: ../gio/gsettings-tool.c:641 - msgid "Query the description for KEY" - msgstr "查询键的描述" - --#: gio/gsettings-tool.c:647 -+#: ../gio/gsettings-tool.c:647 - msgid "Set the value of KEY to VALUE" - msgstr "将键的值设为给定的键值" - --#: gio/gsettings-tool.c:648 -+#: ../gio/gsettings-tool.c:648 - msgid "SCHEMA[:PATH] KEY VALUE" - msgstr "架构[:路径] 键 键值" - --#: gio/gsettings-tool.c:653 -+#: ../gio/gsettings-tool.c:653 - msgid "Reset KEY to its default value" - msgstr "将键重设为默认值" - --#: gio/gsettings-tool.c:659 -+#: ../gio/gsettings-tool.c:659 - msgid "Reset all keys in SCHEMA to their defaults" - msgstr "重置架构中所有键为默认值" - --#: gio/gsettings-tool.c:665 -+#: ../gio/gsettings-tool.c:665 - msgid "Check if KEY is writable" - msgstr "查看键是否可写" - --#: gio/gsettings-tool.c:671 -+#: ../gio/gsettings-tool.c:671 - msgid "" - "Monitor KEY for changes.\n" - "If no KEY is specified, monitor all keys in SCHEMA.\n" -@@ -3685,11 +3770,11 @@ msgstr "" - "如果没有指定键,则监视架构中的所有键。\n" - "使用 ^C 停止监视。\n" - --#: gio/gsettings-tool.c:674 -+#: ../gio/gsettings-tool.c:674 - msgid "SCHEMA[:PATH] [KEY]" - msgstr "架构[:路径] [键]" - --#: gio/gsettings-tool.c:686 -+#: ../gio/gsettings-tool.c:686 - msgid "" - "Usage:\n" - " gsettings --version\n" -@@ -3737,7 +3822,7 @@ msgstr "" - "使用“gsettings help 命令”查看详细的帮助。\n" - "\n" - --#: gio/gsettings-tool.c:710 -+#: ../gio/gsettings-tool.c:710 - #, c-format - msgid "" - "Usage:\n" -@@ -3752,11 +3837,11 @@ msgstr "" - "%s\n" - "\n" - --#: gio/gsettings-tool.c:716 -+#: ../gio/gsettings-tool.c:716 - msgid " SCHEMADIR A directory to search for additional schemas\n" - msgstr " 架构目录 一个用于搜索附加架构的目录\n" - --#: gio/gsettings-tool.c:724 -+#: ../gio/gsettings-tool.c:724 - msgid "" - " SCHEMA The name of the schema\n" - " PATH The path, for relocatable schemas\n" -@@ -3764,419 +3849,426 @@ msgstr "" - " 架构 架构的名称\n" - " 路径 可重定位架构的路径\n" - --#: gio/gsettings-tool.c:729 -+#: ../gio/gsettings-tool.c:729 - msgid " KEY The (optional) key within the schema\n" - msgstr " 键 架构中(可选)的键\n" - --#: gio/gsettings-tool.c:733 -+#: ../gio/gsettings-tool.c:733 - msgid " KEY The key within the schema\n" - msgstr " 键 架构中的键\n" - --#: gio/gsettings-tool.c:737 -+#: ../gio/gsettings-tool.c:737 - msgid " VALUE The value to set\n" - msgstr " 键值 要设的值\n" - --#: gio/gsettings-tool.c:792 -+#: ../gio/gsettings-tool.c:792 - #, c-format - msgid "Could not load schemas from %s: %s\n" - msgstr "无法从 %s 加载架构:%s\n" - --#: gio/gsettings-tool.c:804 -+#: ../gio/gsettings-tool.c:804 -+#, c-format - msgid "No schemas installed\n" - msgstr "没有安装架构\n" - --#: gio/gsettings-tool.c:883 -+#: ../gio/gsettings-tool.c:883 -+#, c-format - msgid "Empty schema name given\n" - msgstr "给定了空的架构名称\n" - --#: gio/gsettings-tool.c:938 -+#: ../gio/gsettings-tool.c:938 - #, c-format - msgid "No such key “%s”\n" - msgstr "没有“%s”这个键\n" - --#: gio/gsocket.c:419 -+#: ../gio/gsocket.c:419 - msgid "Invalid socket, not initialized" - msgstr "无效的套接字,尚未初始化" - --#: gio/gsocket.c:426 -+#: ../gio/gsocket.c:426 - #, c-format - msgid "Invalid socket, initialization failed due to: %s" - msgstr "无效的套接字,初始化失败的原因是:%s" - --#: gio/gsocket.c:434 -+#: ../gio/gsocket.c:434 - msgid "Socket is already closed" - msgstr "套接字已经关闭" - --#: gio/gsocket.c:449 gio/gsocket.c:3201 gio/gsocket.c:4434 gio/gsocket.c:4492 -+#: ../gio/gsocket.c:449 ../gio/gsocket.c:3201 ../gio/gsocket.c:4434 -+#: ../gio/gsocket.c:4492 - msgid "Socket I/O timed out" - msgstr "套接字 I/O 超时" - - # "fd" is abbr. of "File Descriptor", 文件描述符 --#: gio/gsocket.c:586 -+#: ../gio/gsocket.c:586 - #, c-format - msgid "creating GSocket from fd: %s" - msgstr "正在从文件描述符创建 GSocket:%s" - --#: gio/gsocket.c:615 gio/gsocket.c:679 gio/gsocket.c:686 -+#: ../gio/gsocket.c:615 ../gio/gsocket.c:679 ../gio/gsocket.c:686 - #, c-format - msgid "Unable to create socket: %s" - msgstr "无法创建套接字:%s" - --#: gio/gsocket.c:679 -+#: ../gio/gsocket.c:679 - msgid "Unknown family was specified" - msgstr "指定了未知协议族" - --#: gio/gsocket.c:686 -+#: ../gio/gsocket.c:686 - msgid "Unknown protocol was specified" - msgstr "指定了未知协议" - --#: gio/gsocket.c:1177 -+#: ../gio/gsocket.c:1177 - #, c-format - msgid "Cannot use datagram operations on a non-datagram socket." - msgstr "无法在非数据报套接字上使用数据报操作。" - --#: gio/gsocket.c:1194 -+#: ../gio/gsocket.c:1194 - #, c-format - msgid "Cannot use datagram operations on a socket with a timeout set." - msgstr "无法在已设置超时的套接字上使用数据报操作。" - --#: gio/gsocket.c:2001 -+#: ../gio/gsocket.c:2001 - #, c-format - msgid "could not get local address: %s" - msgstr "无法获取本地地址:%s" - --#: gio/gsocket.c:2047 -+#: ../gio/gsocket.c:2047 - #, c-format - msgid "could not get remote address: %s" - msgstr "无法获取远程地址: %s" - --#: gio/gsocket.c:2113 -+#: ../gio/gsocket.c:2113 - #, c-format - msgid "could not listen: %s" - msgstr "无法监听:%s" - --#: gio/gsocket.c:2217 -+#: ../gio/gsocket.c:2217 - #, c-format - msgid "Error binding to address %s: %s" - msgstr "绑定地址时出错:%s: %s" - --#: gio/gsocket.c:2392 gio/gsocket.c:2429 gio/gsocket.c:2539 gio/gsocket.c:2564 --#: gio/gsocket.c:2631 gio/gsocket.c:2689 gio/gsocket.c:2707 -+#: ../gio/gsocket.c:2392 ../gio/gsocket.c:2429 ../gio/gsocket.c:2539 -+#: ../gio/gsocket.c:2564 ../gio/gsocket.c:2631 ../gio/gsocket.c:2689 -+#: ../gio/gsocket.c:2707 - #, c-format - msgid "Error joining multicast group: %s" - msgstr "加入多播组时出错:%s" - --#: gio/gsocket.c:2393 gio/gsocket.c:2430 gio/gsocket.c:2540 gio/gsocket.c:2565 --#: gio/gsocket.c:2632 gio/gsocket.c:2690 gio/gsocket.c:2708 -+#: ../gio/gsocket.c:2393 ../gio/gsocket.c:2430 ../gio/gsocket.c:2540 -+#: ../gio/gsocket.c:2565 ../gio/gsocket.c:2632 ../gio/gsocket.c:2690 -+#: ../gio/gsocket.c:2708 - #, c-format - msgid "Error leaving multicast group: %s" - msgstr "退出多播组时出错:%s" - --#: gio/gsocket.c:2394 -+#: ../gio/gsocket.c:2394 - msgid "No support for source-specific multicast" - msgstr "不支持指定源的多播" - --#: gio/gsocket.c:2541 -+#: ../gio/gsocket.c:2541 - msgid "Unsupported socket family" - msgstr "不支持的套接字家族" - --#: gio/gsocket.c:2566 -+#: ../gio/gsocket.c:2566 - msgid "source-specific not an IPv4 address" - msgstr "指定源不是 IPv4 地址" - --#: gio/gsocket.c:2590 -+#: ../gio/gsocket.c:2590 - #, c-format - msgid "Interface name too long" - msgstr "接口名太长" - --#: gio/gsocket.c:2603 gio/gsocket.c:2657 -+#: ../gio/gsocket.c:2603 ../gio/gsocket.c:2657 - #, c-format - msgid "Interface not found: %s" - msgstr "未找到接口:%s" - --#: gio/gsocket.c:2633 -+#: ../gio/gsocket.c:2633 - msgid "No support for IPv4 source-specific multicast" - msgstr "不支持 IPv4 指定源的多播" - --#: gio/gsocket.c:2691 -+#: ../gio/gsocket.c:2691 - msgid "No support for IPv6 source-specific multicast" - msgstr "不支持 IPv6 指定源的多播" - --#: gio/gsocket.c:2900 -+#: ../gio/gsocket.c:2900 - #, c-format - msgid "Error accepting connection: %s" - msgstr "接受连接时出错:%s" - --#: gio/gsocket.c:3026 -+#: ../gio/gsocket.c:3026 - msgid "Connection in progress" - msgstr "连接进行中" - --#: gio/gsocket.c:3077 -+#: ../gio/gsocket.c:3077 - msgid "Unable to get pending error: " - msgstr "无法获取未决的错误:" - --#: gio/gsocket.c:3266 -+#: ../gio/gsocket.c:3266 - #, c-format - msgid "Error receiving data: %s" - msgstr "接收数据时出错:%s" - --#: gio/gsocket.c:3463 -+#: ../gio/gsocket.c:3463 - #, c-format - msgid "Error sending data: %s" - msgstr "发送数据时出错:%s" - --#: gio/gsocket.c:3650 -+#: ../gio/gsocket.c:3650 - #, c-format - msgid "Unable to shutdown socket: %s" - msgstr "无法关闭套接字:%s" - --#: gio/gsocket.c:3731 -+#: ../gio/gsocket.c:3731 - #, c-format - msgid "Error closing socket: %s" - msgstr "关闭套接字时出错:%s" - --#: gio/gsocket.c:4427 -+#: ../gio/gsocket.c:4427 - #, c-format - msgid "Waiting for socket condition: %s" - msgstr "等待套接字状态:%s" - --#: gio/gsocket.c:4817 gio/gsocket.c:4833 gio/gsocket.c:4846 -+#: ../gio/gsocket.c:4817 ../gio/gsocket.c:4833 ../gio/gsocket.c:4846 - #, c-format - msgid "Unable to send message: %s" - msgstr "无法发送信息:%s" - --#: gio/gsocket.c:4818 gio/gsocket.c:4834 gio/gsocket.c:4847 -+#: ../gio/gsocket.c:4818 ../gio/gsocket.c:4834 ../gio/gsocket.c:4847 - msgid "Message vectors too large" - msgstr "信息向量过大" - --#: gio/gsocket.c:4863 gio/gsocket.c:4865 gio/gsocket.c:5012 gio/gsocket.c:5097 --#: gio/gsocket.c:5275 gio/gsocket.c:5315 gio/gsocket.c:5317 -+#: ../gio/gsocket.c:4863 ../gio/gsocket.c:4865 ../gio/gsocket.c:5012 -+#: ../gio/gsocket.c:5097 ../gio/gsocket.c:5275 ../gio/gsocket.c:5315 -+#: ../gio/gsocket.c:5317 - #, c-format - msgid "Error sending message: %s" - msgstr "发送信息时出错:%s" - --#: gio/gsocket.c:5039 -+#: ../gio/gsocket.c:5039 - msgid "GSocketControlMessage not supported on Windows" - msgstr "Windows 不支持 GSocketControlMessage" - --#: gio/gsocket.c:5512 gio/gsocket.c:5588 gio/gsocket.c:5814 -+#: ../gio/gsocket.c:5512 ../gio/gsocket.c:5588 ../gio/gsocket.c:5814 - #, c-format - msgid "Error receiving message: %s" - msgstr "接受信息时出错:%s" - --#: gio/gsocket.c:6099 gio/gsocket.c:6110 gio/gsocket.c:6173 -+#: ../gio/gsocket.c:6099 ../gio/gsocket.c:6110 ../gio/gsocket.c:6173 - #, c-format - msgid "Unable to read socket credentials: %s" - msgstr "无法读取套接字认证信息:%s" - --#: gio/gsocket.c:6182 -+#: ../gio/gsocket.c:6182 - msgid "g_socket_get_credentials not implemented for this OS" - msgstr "此操作系统上没有实现 g_socket_get_credentials" - --#: gio/gsocketclient.c:193 -+#: ../gio/gsocketclient.c:193 - #, c-format - msgid "Could not connect to proxy server %s: " - msgstr "无法连接到代理服务器 %s:" - --#: gio/gsocketclient.c:207 -+#: ../gio/gsocketclient.c:207 - #, c-format - msgid "Could not connect to %s: " - msgstr "无法连接到 %s:" - --#: gio/gsocketclient.c:209 -+#: ../gio/gsocketclient.c:209 - msgid "Could not connect: " - msgstr "无法连接:" - --#: gio/gsocketclient.c:1204 gio/gsocketclient.c:1807 -+#: ../gio/gsocketclient.c:1204 ../gio/gsocketclient.c:1807 - msgid "Proxying over a non-TCP connection is not supported." - msgstr "不支持通过非 TCP 连接的代理。" - --#: gio/gsocketclient.c:1236 gio/gsocketclient.c:1836 -+#: ../gio/gsocketclient.c:1236 ../gio/gsocketclient.c:1836 - #, c-format - msgid "Proxy protocol “%s” is not supported." - msgstr "不支持代理协议“%s”。" - --#: gio/gsocketlistener.c:232 -+#: ../gio/gsocketlistener.c:232 - msgid "Listener is already closed" - msgstr "监听器已关闭" - --#: gio/gsocketlistener.c:278 -+#: ../gio/gsocketlistener.c:278 - msgid "Added socket is closed" - msgstr "添加的套接字已关闭" - --#: gio/gsocks4aproxy.c:120 -+#: ../gio/gsocks4aproxy.c:120 - #, c-format - msgid "SOCKSv4 does not support IPv6 address “%s”" - msgstr "SOCKSv4 不支持 IPv6 地址“%s”" - --#: gio/gsocks4aproxy.c:138 -+#: ../gio/gsocks4aproxy.c:138 - msgid "Username is too long for SOCKSv4 protocol" - msgstr "用户名对于 SOCKSv4 协议太长" - --#: gio/gsocks4aproxy.c:155 -+#: ../gio/gsocks4aproxy.c:155 - #, c-format - msgid "Hostname “%s” is too long for SOCKSv4 protocol" - msgstr "主机名“%s”对于 SOCKSv4 协议过长" - --#: gio/gsocks4aproxy.c:181 -+#: ../gio/gsocks4aproxy.c:181 - msgid "The server is not a SOCKSv4 proxy server." - msgstr "此服务器不是 SOCKSv4 代理服务器。" - --#: gio/gsocks4aproxy.c:188 -+#: ../gio/gsocks4aproxy.c:188 - msgid "Connection through SOCKSv4 server was rejected" - msgstr "通过 SOCKSv4 服务器连接被拒绝" - --#: gio/gsocks5proxy.c:155 gio/gsocks5proxy.c:340 gio/gsocks5proxy.c:350 -+#: ../gio/gsocks5proxy.c:155 ../gio/gsocks5proxy.c:340 -+#: ../gio/gsocks5proxy.c:350 - msgid "The server is not a SOCKSv5 proxy server." - msgstr "此服务器不是 SOCKSv5 代理服务器。" - --#: gio/gsocks5proxy.c:169 gio/gsocks5proxy.c:186 -+#: ../gio/gsocks5proxy.c:169 ../gio/gsocks5proxy.c:186 - msgid "The SOCKSv5 proxy requires authentication." - msgstr "SOCKSv5 代理服务器需要认证。" - --#: gio/gsocks5proxy.c:193 -+#: ../gio/gsocks5proxy.c:193 - msgid "" - "The SOCKSv5 proxy requires an authentication method that is not supported by " - "GLib." - msgstr "此 SOCKSv5 连接需要一种 GLib 不支持的认证方法。" - --#: gio/gsocks5proxy.c:222 -+#: ../gio/gsocks5proxy.c:222 - msgid "Username or password is too long for SOCKSv5 protocol." - msgstr "用户名或密码对于 SOCKSv5 协议太长。" - --#: gio/gsocks5proxy.c:252 -+#: ../gio/gsocks5proxy.c:252 - msgid "SOCKSv5 authentication failed due to wrong username or password." - msgstr "SOCKSv5 认证失败:用户名或密码错误。" - --#: gio/gsocks5proxy.c:302 -+#: ../gio/gsocks5proxy.c:302 - #, c-format - msgid "Hostname “%s” is too long for SOCKSv5 protocol" - msgstr "主机名“%s”对于 SOCKSv5 协议过长" - --#: gio/gsocks5proxy.c:364 -+#: ../gio/gsocks5proxy.c:364 - msgid "The SOCKSv5 proxy server uses unknown address type." - msgstr "SOCKSv5 代理服务器使用未知地址类型。" - --#: gio/gsocks5proxy.c:371 -+#: ../gio/gsocks5proxy.c:371 - msgid "Internal SOCKSv5 proxy server error." - msgstr "SOCKSv5 代理服务器内部错误。" - --#: gio/gsocks5proxy.c:377 -+#: ../gio/gsocks5proxy.c:377 - msgid "SOCKSv5 connection not allowed by ruleset." - msgstr "规则集不允许 SOCKSv5 连接。" - --#: gio/gsocks5proxy.c:384 -+#: ../gio/gsocks5proxy.c:384 - msgid "Host unreachable through SOCKSv5 server." - msgstr "通过 SOCKSv5 服务器主机不可达。" - --#: gio/gsocks5proxy.c:390 -+#: ../gio/gsocks5proxy.c:390 - msgid "Network unreachable through SOCKSv5 proxy." - msgstr "通过 SOCKSv5 代理网络不可达。" - --#: gio/gsocks5proxy.c:396 -+#: ../gio/gsocks5proxy.c:396 - msgid "Connection refused through SOCKSv5 proxy." - msgstr "通过 SOCKSv5 代理连接被拒绝。" - --#: gio/gsocks5proxy.c:402 -+#: ../gio/gsocks5proxy.c:402 - msgid "SOCKSv5 proxy does not support “connect” command." - msgstr "SOCKSv5 代理不支持“connect”命令。" - --#: gio/gsocks5proxy.c:408 -+#: ../gio/gsocks5proxy.c:408 - msgid "SOCKSv5 proxy does not support provided address type." - msgstr "SOCKSv5 代理不支持提供的地址类型。" - --#: gio/gsocks5proxy.c:414 -+#: ../gio/gsocks5proxy.c:414 - msgid "Unknown SOCKSv5 proxy error." - msgstr "未知 SOCKSv5 代理错误。" - --#: gio/gtestdbus.c:614 glib/gspawn-win32.c:354 -+#: ../gio/gtestdbus.c:614 ../glib/gspawn-win32.c:354 - #, c-format - msgid "Failed to create pipe for communicating with child process (%s)" - msgstr "创建与子进程通讯的管道失败(%s)" - --#: gio/gtestdbus.c:621 -+#: ../gio/gtestdbus.c:621 - #, c-format - msgid "Pipes are not supported in this platform" - msgstr "此平台不支持管道(pipe)" - --#: gio/gthemedicon.c:597 -+#: ../gio/gthemedicon.c:597 - #, c-format - msgid "Can’t handle version %d of GThemedIcon encoding" - msgstr "无法处理版本为 %d 的 GThemedIcon 编码" - --#: gio/gthreadedresolver.c:154 -+#: ../gio/gthreadedresolver.c:154 - msgid "No valid addresses were found" - msgstr "找不到合法的地址" - --#: gio/gthreadedresolver.c:339 -+#: ../gio/gthreadedresolver.c:339 - #, c-format - msgid "Error reverse-resolving “%s”: %s" - msgstr "反向解析“%s”时出错:%s" - - #. Translators: the placeholder is a DNS record type, such as ‘MX’ or ‘SRV’ --#: gio/gthreadedresolver.c:552 gio/gthreadedresolver.c:574 --#: gio/gthreadedresolver.c:612 gio/gthreadedresolver.c:659 --#: gio/gthreadedresolver.c:688 gio/gthreadedresolver.c:700 -+#: ../gio/gthreadedresolver.c:552 ../gio/gthreadedresolver.c:574 -+#: ../gio/gthreadedresolver.c:612 ../gio/gthreadedresolver.c:659 -+#: ../gio/gthreadedresolver.c:688 ../gio/gthreadedresolver.c:700 - #, c-format - msgid "Error parsing DNS %s record: malformed DNS packet" - msgstr "解析 DNS %s 记录时出错:畸形的 DNS 数据包" - --#: gio/gthreadedresolver.c:758 gio/gthreadedresolver.c:895 --#: gio/gthreadedresolver.c:993 gio/gthreadedresolver.c:1043 -+#: ../gio/gthreadedresolver.c:758 ../gio/gthreadedresolver.c:895 -+#: ../gio/gthreadedresolver.c:993 ../gio/gthreadedresolver.c:1043 - #, c-format - msgid "No DNS record of the requested type for “%s”" - msgstr "没有“%s”所请求类型的 DNS 记录" - --#: gio/gthreadedresolver.c:763 gio/gthreadedresolver.c:998 -+#: ../gio/gthreadedresolver.c:763 ../gio/gthreadedresolver.c:998 - #, c-format - msgid "Temporarily unable to resolve “%s”" - msgstr "暂时无法解析“%s”" - --#: gio/gthreadedresolver.c:768 gio/gthreadedresolver.c:1003 --#: gio/gthreadedresolver.c:1113 -+#: ../gio/gthreadedresolver.c:768 ../gio/gthreadedresolver.c:1003 -+#: ../gio/gthreadedresolver.c:1113 - #, c-format - msgid "Error resolving “%s”" - msgstr "解析“%s”时出错" - --#: gio/gthreadedresolver.c:782 gio/gthreadedresolver.c:806 --#: gio/gthreadedresolver.c:831 gio/gthreadedresolver.c:846 -+#: ../gio/gthreadedresolver.c:782 ../gio/gthreadedresolver.c:806 -+#: ../gio/gthreadedresolver.c:831 ../gio/gthreadedresolver.c:846 - msgid "Malformed DNS packet" - msgstr "畸形的 DNS 数据包" - --#: gio/gthreadedresolver.c:888 -+#: ../gio/gthreadedresolver.c:888 - #, c-format - msgid "Failed to parse DNS response for “%s”: " - msgstr "解析响应“%s”的 DNS 失败:" - --#: gio/gtlscertificate.c:480 -+#: ../gio/gtlscertificate.c:480 - msgid "No PEM-encoded private key found" - msgstr "未找到 PEM 加密的私钥" - --#: gio/gtlscertificate.c:490 -+#: ../gio/gtlscertificate.c:490 - msgid "Cannot decrypt PEM-encoded private key" - msgstr "无法解密 PEM 加密的私钥" - --#: gio/gtlscertificate.c:501 -+#: ../gio/gtlscertificate.c:501 - msgid "Could not parse PEM-encoded private key" - msgstr "无法解析 PEM 加密的私钥" - --#: gio/gtlscertificate.c:528 -+#: ../gio/gtlscertificate.c:528 - msgid "No PEM-encoded certificate found" - msgstr "未找到 PEM 加密的证书" - --#: gio/gtlscertificate.c:537 -+#: ../gio/gtlscertificate.c:537 - msgid "Could not parse PEM-encoded certificate" - msgstr "无法解析 PEM 加密的证书" - --#: gio/gtlscertificate.c:800 -+#: ../gio/gtlscertificate.c:800 - msgid "The current TLS backend does not support PKCS #12" - msgstr "当前的 TLS 后端不支持 PKCS #12" - --#: gio/gtlscertificate.c:1017 -+#: ../gio/gtlscertificate.c:1017 - msgid "This GTlsBackend does not support creating PKCS #11 certificates" - msgstr "本 GTlsBackend 不支持创建 PKCS #11 证书" - --#: gio/gtlspassword.c:113 -+#: ../gio/gtlspassword.c:113 - msgid "" - "This is the last chance to enter the password correctly before your access " - "is locked out." -@@ -4184,317 +4276,318 @@ msgstr "这是您的访问被锁定前最后一次机会输入正确的密码。 - - #. Translators: This is not the 'This is the last chance' string. It is - #. * displayed when more than one attempt is allowed. --#: gio/gtlspassword.c:117 -+#: ../gio/gtlspassword.c:117 - msgid "" - "Several passwords entered have been incorrect, and your access will be " - "locked out after further failures." - msgstr "密码多次输入错误,您的访问将在数次错误输入后锁定。" - --#: gio/gtlspassword.c:119 -+#: ../gio/gtlspassword.c:119 - msgid "The password entered is incorrect." - msgstr "输入的密码不正确。" - --#: gio/gunixconnection.c:127 -+#: ../gio/gunixconnection.c:127 - msgid "Sending FD is not supported" - msgstr "不支持发送 FD" - --#: gio/gunixconnection.c:180 gio/gunixconnection.c:598 -+#: ../gio/gunixconnection.c:180 ../gio/gunixconnection.c:598 - #, c-format - msgid "Expecting 1 control message, got %d" - msgid_plural "Expecting 1 control message, got %d" - msgstr[0] "应为 1 个控件消息,却得到 %d 个" - --#: gio/gunixconnection.c:196 gio/gunixconnection.c:610 -+#: ../gio/gunixconnection.c:196 ../gio/gunixconnection.c:610 - msgid "Unexpected type of ancillary data" - msgstr "非预期的辅助数据类型" - --#: gio/gunixconnection.c:214 -+#: ../gio/gunixconnection.c:214 - #, c-format - msgid "Expecting one fd, but got %d\n" - msgid_plural "Expecting one fd, but got %d\n" - msgstr[0] "应为 1 个文件描述符,却得到 %d 个\n" - --#: gio/gunixconnection.c:233 -+#: ../gio/gunixconnection.c:233 - msgid "Received invalid fd" - msgstr "收到无效文件描述符" - --#: gio/gunixconnection.c:240 -+#: ../gio/gunixconnection.c:240 - msgid "Receiving FD is not supported" - msgstr "不支持接收 FD" - --#: gio/gunixconnection.c:382 -+#: ../gio/gunixconnection.c:382 - msgid "Error sending credentials: " - msgstr "发送凭据时出错:" - --#: gio/gunixconnection.c:539 -+#: ../gio/gunixconnection.c:539 - #, c-format - msgid "Error checking if SO_PASSCRED is enabled for socket: %s" - msgstr "检查套接字是否启用 SO_PASSCRED 时出错:%s" - --#: gio/gunixconnection.c:555 -+#: ../gio/gunixconnection.c:555 - #, c-format - msgid "Error enabling SO_PASSCRED: %s" - msgstr "启用 SO_PASSCRED 时出错:%s" - --#: gio/gunixconnection.c:584 -+#: ../gio/gunixconnection.c:584 - msgid "" - "Expecting to read a single byte for receiving credentials but read zero bytes" - msgstr "期望为接收证书读到单个字节但是只读到了 0 字节" - --#: gio/gunixconnection.c:624 -+#: ../gio/gunixconnection.c:624 - #, c-format - msgid "Not expecting control message, but got %d" - msgstr "未期望控制信息,却得到 %d 个" - --#: gio/gunixconnection.c:649 -+#: ../gio/gunixconnection.c:649 - #, c-format - msgid "Error while disabling SO_PASSCRED: %s" - msgstr "禁用 SO_PASSCRED 时出错:%s" - --#: gio/gunixinputstream.c:359 gio/gunixinputstream.c:380 -+#: ../gio/gunixinputstream.c:359 ../gio/gunixinputstream.c:380 - #, c-format - msgid "Error reading from file descriptor: %s" - msgstr "从文件描述符读取时出错:%s" - --#: gio/gunixinputstream.c:413 gio/gunixoutputstream.c:522 --#: gio/gwin32inputstream.c:219 gio/gwin32outputstream.c:206 -+#: ../gio/gunixinputstream.c:413 ../gio/gunixoutputstream.c:522 -+#: ../gio/gwin32inputstream.c:219 ../gio/gwin32outputstream.c:206 - #, c-format - msgid "Error closing file descriptor: %s" - msgstr "关闭文件描述符时出错:%s" - --#: gio/gunixmounts.c:2815 gio/gunixmounts.c:2868 -+#: ../gio/gunixmounts.c:2815 ../gio/gunixmounts.c:2868 - msgid "Filesystem root" - msgstr "文件系统根目录" - --#: gio/gunixoutputstream.c:359 gio/gunixoutputstream.c:379 --#: gio/gunixoutputstream.c:466 gio/gunixoutputstream.c:486 --#: gio/gunixoutputstream.c:632 -+#: ../gio/gunixoutputstream.c:359 ../gio/gunixoutputstream.c:379 -+#: ../gio/gunixoutputstream.c:466 ../gio/gunixoutputstream.c:486 -+#: ../gio/gunixoutputstream.c:632 - #, c-format - msgid "Error writing to file descriptor: %s" - msgstr "写入文件描述符时出错:%s" - --#: gio/gunixsocketaddress.c:253 -+#: ../gio/gunixsocketaddress.c:253 - msgid "Abstract UNIX domain socket addresses not supported on this system" - msgstr "本系统不支持抽象 Unix 域套接字地址" - --#: gio/gvolume.c:440 -+#: ../gio/gvolume.c:440 - msgid "volume doesn’t implement eject" - msgstr "卷未实现弹出" - - #. Translators: This is an error - #. * message for volume objects that - #. * don't implement any of eject or eject_with_operation. --#: gio/gvolume.c:517 -+#: ../gio/gvolume.c:517 - msgid "volume doesn’t implement eject or eject_with_operation" - msgstr "卷未实现弹出或 eject_with_operation" - --#: gio/gwin32inputstream.c:187 -+#: ../gio/gwin32inputstream.c:187 - #, c-format - msgid "Error reading from handle: %s" - msgstr "读取句柄时出错:%s" - --#: gio/gwin32inputstream.c:234 gio/gwin32outputstream.c:221 -+#: ../gio/gwin32inputstream.c:234 ../gio/gwin32outputstream.c:221 - #, c-format - msgid "Error closing handle: %s" - msgstr "关闭句柄时出错:%s" - --#: gio/gwin32outputstream.c:174 -+#: ../gio/gwin32outputstream.c:174 - #, c-format - msgid "Error writing to handle: %s" - msgstr "写入句柄时出错:%s" - --#: gio/gzlibcompressor.c:396 gio/gzlibdecompressor.c:349 -+#: ../gio/gzlibcompressor.c:396 ../gio/gzlibdecompressor.c:349 - msgid "Not enough memory" - msgstr "内存不足" - --#: gio/gzlibcompressor.c:403 gio/gzlibdecompressor.c:356 -+#: ../gio/gzlibcompressor.c:403 ../gio/gzlibdecompressor.c:356 - #, c-format - msgid "Internal error: %s" - msgstr "内部错误:%s" - --#: gio/gzlibcompressor.c:416 gio/gzlibdecompressor.c:370 -+#: ../gio/gzlibcompressor.c:416 ../gio/gzlibdecompressor.c:370 - msgid "Need more input" - msgstr "需要更多输入" - --#: gio/gzlibdecompressor.c:342 -+#: ../gio/gzlibdecompressor.c:342 - msgid "Invalid compressed data" - msgstr "无效的压缩数据" - --#: gio/tests/gdbus-daemon.c:18 -+#: ../gio/tests/gdbus-daemon.c:18 - msgid "Address to listen on" - msgstr "要监听的地址" - --#: gio/tests/gdbus-daemon.c:19 -+#: ../gio/tests/gdbus-daemon.c:19 - msgid "Ignored, for compat with GTestDbus" - msgstr "已忽略,以与 GTestDbus 兼容" - --#: gio/tests/gdbus-daemon.c:20 -+#: ../gio/tests/gdbus-daemon.c:20 - msgid "Print address" - msgstr "打印地址" - --#: gio/tests/gdbus-daemon.c:21 -+#: ../gio/tests/gdbus-daemon.c:21 - msgid "Print address in shell mode" - msgstr "在 shell 模式中打印地址" - --#: gio/tests/gdbus-daemon.c:28 -+#: ../gio/tests/gdbus-daemon.c:28 - msgid "Run a dbus service" - msgstr "运行一个 dbus 服务" - --#: gio/tests/gdbus-daemon.c:42 -+#: ../gio/tests/gdbus-daemon.c:42 -+#, c-format - msgid "Wrong args\n" - msgstr "参数错误\n" - --#: glib/gbookmarkfile.c:779 -+#: ../glib/gbookmarkfile.c:779 - #, c-format - msgid "Unexpected attribute “%s” for element “%s”" - msgstr "元素“%2$s”的意外属性“%1$s”" - --#: glib/gbookmarkfile.c:790 glib/gbookmarkfile.c:870 glib/gbookmarkfile.c:880 --#: glib/gbookmarkfile.c:993 -+#: ../glib/gbookmarkfile.c:790 ../glib/gbookmarkfile.c:870 -+#: ../glib/gbookmarkfile.c:880 ../glib/gbookmarkfile.c:993 - #, c-format - msgid "Attribute “%s” of element “%s” not found" - msgstr "元素“%2$s”的属性“%1$s”未找到" - --#: glib/gbookmarkfile.c:1202 glib/gbookmarkfile.c:1267 --#: glib/gbookmarkfile.c:1331 glib/gbookmarkfile.c:1341 -+#: ../glib/gbookmarkfile.c:1202 ../glib/gbookmarkfile.c:1267 -+#: ../glib/gbookmarkfile.c:1331 ../glib/gbookmarkfile.c:1341 - #, c-format - msgid "Unexpected tag “%s”, tag “%s” expected" - msgstr "意外标签“%s”,需要标签“%s”" - --#: glib/gbookmarkfile.c:1227 glib/gbookmarkfile.c:1241 --#: glib/gbookmarkfile.c:1309 glib/gbookmarkfile.c:1355 -+#: ../glib/gbookmarkfile.c:1227 ../glib/gbookmarkfile.c:1241 -+#: ../glib/gbookmarkfile.c:1309 ../glib/gbookmarkfile.c:1355 - #, c-format - msgid "Unexpected tag “%s” inside “%s”" - msgstr "“%2$s”中有意外标签“%1$s”" - --#: glib/gbookmarkfile.c:1635 -+#: ../glib/gbookmarkfile.c:1635 - #, c-format - msgid "Invalid date/time ‘%s’ in bookmark file" - msgstr "书签文件中有无效的日期/时间“%s”" - --#: glib/gbookmarkfile.c:1838 -+#: ../glib/gbookmarkfile.c:1838 - msgid "No valid bookmark file found in data dirs" - msgstr "数据目录中没有找到有效的书签文件" - --#: glib/gbookmarkfile.c:2039 -+#: ../glib/gbookmarkfile.c:2039 - #, c-format - msgid "A bookmark for URI “%s” already exists" - msgstr "URI“%s”的书签已经存在" - --#: glib/gbookmarkfile.c:2088 glib/gbookmarkfile.c:2246 --#: glib/gbookmarkfile.c:2331 glib/gbookmarkfile.c:2411 --#: glib/gbookmarkfile.c:2496 glib/gbookmarkfile.c:2630 --#: glib/gbookmarkfile.c:2763 glib/gbookmarkfile.c:2898 --#: glib/gbookmarkfile.c:2940 glib/gbookmarkfile.c:3037 --#: glib/gbookmarkfile.c:3158 glib/gbookmarkfile.c:3352 --#: glib/gbookmarkfile.c:3493 glib/gbookmarkfile.c:3712 --#: glib/gbookmarkfile.c:3801 glib/gbookmarkfile.c:3890 --#: glib/gbookmarkfile.c:4009 -+#: ../glib/gbookmarkfile.c:2088 ../glib/gbookmarkfile.c:2246 -+#: ../glib/gbookmarkfile.c:2331 ../glib/gbookmarkfile.c:2411 -+#: ../glib/gbookmarkfile.c:2496 ../glib/gbookmarkfile.c:2630 -+#: ../glib/gbookmarkfile.c:2763 ../glib/gbookmarkfile.c:2898 -+#: ../glib/gbookmarkfile.c:2940 ../glib/gbookmarkfile.c:3037 -+#: ../glib/gbookmarkfile.c:3158 ../glib/gbookmarkfile.c:3352 -+#: ../glib/gbookmarkfile.c:3493 ../glib/gbookmarkfile.c:3712 -+#: ../glib/gbookmarkfile.c:3801 ../glib/gbookmarkfile.c:3890 -+#: ../glib/gbookmarkfile.c:4009 - #, c-format - msgid "No bookmark found for URI “%s”" - msgstr "未找到 URI“%s”的书签" - --#: glib/gbookmarkfile.c:2420 -+#: ../glib/gbookmarkfile.c:2420 - #, c-format - msgid "No MIME type defined in the bookmark for URI “%s”" - msgstr "URI“%s”的书签未定义 MIME 类型" - --#: glib/gbookmarkfile.c:2505 -+#: ../glib/gbookmarkfile.c:2505 - #, c-format - msgid "No private flag has been defined in bookmark for URI “%s”" - msgstr "URI“%s”的书签未定义私有标志" - --#: glib/gbookmarkfile.c:3046 -+#: ../glib/gbookmarkfile.c:3046 - #, c-format - msgid "No groups set in bookmark for URI “%s”" - msgstr "URI“%s”的书签未设定组" - --#: glib/gbookmarkfile.c:3514 glib/gbookmarkfile.c:3722 -+#: ../glib/gbookmarkfile.c:3514 ../glib/gbookmarkfile.c:3722 - #, c-format - msgid "No application with name “%s” registered a bookmark for “%s”" - msgstr "没有名为“%s”的应用程序为“%s”注册了书签" - --#: glib/gbookmarkfile.c:3745 -+#: ../glib/gbookmarkfile.c:3745 - #, c-format - msgid "Failed to expand exec line “%s” with URI “%s”" - msgstr "用 URI“%2$s”展开 exec 行“%1$s”失败" - --#: glib/gconvert.c:470 -+#: ../glib/gconvert.c:470 - msgid "Unrepresentable character in conversion input" - msgstr "转换输入中出现无法表达的字符" - --#: glib/gconvert.c:497 glib/gutf8.c:888 glib/gutf8.c:1101 glib/gutf8.c:1238 --#: glib/gutf8.c:1342 -+#: ../glib/gconvert.c:497 ../glib/gutf8.c:888 ../glib/gutf8.c:1101 -+#: ../glib/gutf8.c:1238 ../glib/gutf8.c:1342 - msgid "Partial character sequence at end of input" - msgstr "输入末尾出现未尽字符序列" - --#: glib/gconvert.c:768 -+#: ../glib/gconvert.c:768 - #, c-format - msgid "Cannot convert fallback “%s” to codeset “%s”" - msgstr "无法转换后备字符集“%s”到字符集“%s”" - --#: glib/gconvert.c:940 -+#: ../glib/gconvert.c:940 - msgid "Embedded NUL byte in conversion input" - msgstr "转换输入中出现嵌入的 NUL 字节" - --#: glib/gconvert.c:961 -+#: ../glib/gconvert.c:961 - msgid "Embedded NUL byte in conversion output" - msgstr "转换输出中出现嵌入的 NUL 字节" - --#: glib/gconvert.c:1692 -+#: ../glib/gconvert.c:1692 - #, c-format - msgid "The URI “%s” is not an absolute URI using the “file” scheme" - msgstr "URI“%s”不是使用“file”方案的绝对 URI" - --#: glib/gconvert.c:1702 -+#: ../glib/gconvert.c:1702 - #, c-format - msgid "The local file URI “%s” may not include a “#”" - msgstr "本地文件 URI“%s”不能包含“#”" - --#: glib/gconvert.c:1719 -+#: ../glib/gconvert.c:1719 - #, c-format - msgid "The URI “%s” is invalid" - msgstr "URI“%s”无效" - --#: glib/gconvert.c:1731 -+#: ../glib/gconvert.c:1731 - #, c-format - msgid "The hostname of the URI “%s” is invalid" - msgstr "URI“%s”中的主机名无效" - --#: glib/gconvert.c:1747 -+#: ../glib/gconvert.c:1747 - #, c-format - msgid "The URI “%s” contains invalidly escaped characters" - msgstr "URI“%s”中包含无效的转义字符" - --#: glib/gconvert.c:1819 -+#: ../glib/gconvert.c:1819 - #, c-format - msgid "The pathname “%s” is not an absolute path" - msgstr "路径名“%s”不是绝对路径" - - # 参考 coreutils 里 date 的翻译,时间格式应该保持“%H:%M:%S”,如果要使用单位,那么“%H时%M分%S秒”应该去掉占位的 0,不然就会出现“08时01分01秒”这种表达。因此我认为应该直接使用“%H:%M:%S”格式。 - #. Translators: this is the preferred format for expressing the date and the time --#: glib/gdatetime.c:228 -+#: ../glib/gdatetime.c:228 - msgctxt "GDateTime" - msgid "%a %b %e %H:%M:%S %Y" - msgstr "%Y年%-m月%-d日 %A %H:%M:%S" - - # 原来的格式是“%y/%m/%d”,但“/”这个符号会有误解。所以换成分隔符。 - #. Translators: this is the preferred format for expressing the date --#: glib/gdatetime.c:231 -+#: ../glib/gdatetime.c:231 - msgctxt "GDateTime" - msgid "%m/%d/%y" - msgstr "%Y-%m-%d" - - # 跟其他时间格式不统一 - #. Translators: this is the preferred format for expressing the time --#: glib/gdatetime.c:234 -+#: ../glib/gdatetime.c:234 - msgctxt "GDateTime" - msgid "%H:%M:%S" - msgstr "%H:%M:%S" - - # 同上面,去掉了时分秒单位。 - #. Translators: this is the preferred format for expressing 12 hour time --#: glib/gdatetime.c:237 -+#: ../glib/gdatetime.c:237 - msgctxt "GDateTime" - msgid "%I:%M:%S %p" - msgstr "%p %I:%M:%S" -@@ -4515,62 +4608,62 @@ msgstr "%p %I:%M:%S" - #. * non-European) there is no difference between the standalone and - #. * complete date form. - #. --#: glib/gdatetime.c:276 -+#: ../glib/gdatetime.c:276 - msgctxt "full month name" - msgid "January" - msgstr "一月" - --#: glib/gdatetime.c:278 -+#: ../glib/gdatetime.c:278 - msgctxt "full month name" - msgid "February" - msgstr "二月" - --#: glib/gdatetime.c:280 -+#: ../glib/gdatetime.c:280 - msgctxt "full month name" - msgid "March" - msgstr "三月" - --#: glib/gdatetime.c:282 -+#: ../glib/gdatetime.c:282 - msgctxt "full month name" - msgid "April" - msgstr "四月" - --#: glib/gdatetime.c:284 -+#: ../glib/gdatetime.c:284 - msgctxt "full month name" - msgid "May" - msgstr "五月" - --#: glib/gdatetime.c:286 -+#: ../glib/gdatetime.c:286 - msgctxt "full month name" - msgid "June" - msgstr "六月" - --#: glib/gdatetime.c:288 -+#: ../glib/gdatetime.c:288 - msgctxt "full month name" - msgid "July" - msgstr "七月" - --#: glib/gdatetime.c:290 -+#: ../glib/gdatetime.c:290 - msgctxt "full month name" - msgid "August" - msgstr "八月" - --#: glib/gdatetime.c:292 -+#: ../glib/gdatetime.c:292 - msgctxt "full month name" - msgid "September" - msgstr "九月" - --#: glib/gdatetime.c:294 -+#: ../glib/gdatetime.c:294 - msgctxt "full month name" - msgid "October" - msgstr "十月" - --#: glib/gdatetime.c:296 -+#: ../glib/gdatetime.c:296 - msgctxt "full month name" - msgid "November" - msgstr "十一月" - --#: glib/gdatetime.c:298 -+#: ../glib/gdatetime.c:298 - msgctxt "full month name" - msgid "December" - msgstr "十二月" -@@ -4592,132 +4685,132 @@ msgstr "十二月" - #. * other platform. Here are abbreviated month names in a form - #. * appropriate when they are used standalone. - #. --#: glib/gdatetime.c:330 -+#: ../glib/gdatetime.c:330 - msgctxt "abbreviated month name" - msgid "Jan" - msgstr "一月" - --#: glib/gdatetime.c:332 -+#: ../glib/gdatetime.c:332 - msgctxt "abbreviated month name" - msgid "Feb" - msgstr "二月" - --#: glib/gdatetime.c:334 -+#: ../glib/gdatetime.c:334 - msgctxt "abbreviated month name" - msgid "Mar" - msgstr "三月" - --#: glib/gdatetime.c:336 -+#: ../glib/gdatetime.c:336 - msgctxt "abbreviated month name" - msgid "Apr" - msgstr "四月" - --#: glib/gdatetime.c:338 -+#: ../glib/gdatetime.c:338 - msgctxt "abbreviated month name" - msgid "May" - msgstr "五月" - --#: glib/gdatetime.c:340 -+#: ../glib/gdatetime.c:340 - msgctxt "abbreviated month name" - msgid "Jun" - msgstr "六月" - --#: glib/gdatetime.c:342 -+#: ../glib/gdatetime.c:342 - msgctxt "abbreviated month name" - msgid "Jul" - msgstr "七月" - --#: glib/gdatetime.c:344 -+#: ../glib/gdatetime.c:344 - msgctxt "abbreviated month name" - msgid "Aug" - msgstr "八月" - --#: glib/gdatetime.c:346 -+#: ../glib/gdatetime.c:346 - msgctxt "abbreviated month name" - msgid "Sep" - msgstr "九月" - --#: glib/gdatetime.c:348 -+#: ../glib/gdatetime.c:348 - msgctxt "abbreviated month name" - msgid "Oct" - msgstr "十月" - --#: glib/gdatetime.c:350 -+#: ../glib/gdatetime.c:350 - msgctxt "abbreviated month name" - msgid "Nov" - msgstr "十一月" - --#: glib/gdatetime.c:352 -+#: ../glib/gdatetime.c:352 - msgctxt "abbreviated month name" - msgid "Dec" - msgstr "十二月" - --#: glib/gdatetime.c:367 -+#: ../glib/gdatetime.c:367 - msgctxt "full weekday name" - msgid "Monday" - msgstr "星期一" - --#: glib/gdatetime.c:369 -+#: ../glib/gdatetime.c:369 - msgctxt "full weekday name" - msgid "Tuesday" - msgstr "星期二" - --#: glib/gdatetime.c:371 -+#: ../glib/gdatetime.c:371 - msgctxt "full weekday name" - msgid "Wednesday" - msgstr "星期三" - --#: glib/gdatetime.c:373 -+#: ../glib/gdatetime.c:373 - msgctxt "full weekday name" - msgid "Thursday" - msgstr "星期四" - --#: glib/gdatetime.c:375 -+#: ../glib/gdatetime.c:375 - msgctxt "full weekday name" - msgid "Friday" - msgstr "星期五" - --#: glib/gdatetime.c:377 -+#: ../glib/gdatetime.c:377 - msgctxt "full weekday name" - msgid "Saturday" - msgstr "星期六" - --#: glib/gdatetime.c:379 -+#: ../glib/gdatetime.c:379 - msgctxt "full weekday name" - msgid "Sunday" - msgstr "星期日" - --#: glib/gdatetime.c:394 -+#: ../glib/gdatetime.c:394 - msgctxt "abbreviated weekday name" - msgid "Mon" - msgstr "周一" - --#: glib/gdatetime.c:396 -+#: ../glib/gdatetime.c:396 - msgctxt "abbreviated weekday name" - msgid "Tue" - msgstr "周二" - --#: glib/gdatetime.c:398 -+#: ../glib/gdatetime.c:398 - msgctxt "abbreviated weekday name" - msgid "Wed" - msgstr "周三" - --#: glib/gdatetime.c:400 -+#: ../glib/gdatetime.c:400 - msgctxt "abbreviated weekday name" - msgid "Thu" - msgstr "周四" - --#: glib/gdatetime.c:402 -+#: ../glib/gdatetime.c:402 - msgctxt "abbreviated weekday name" - msgid "Fri" - msgstr "周五" - --#: glib/gdatetime.c:404 -+#: ../glib/gdatetime.c:404 - msgctxt "abbreviated weekday name" - msgid "Sat" - msgstr "周六" - --#: glib/gdatetime.c:406 -+#: ../glib/gdatetime.c:406 - msgctxt "abbreviated weekday name" - msgid "Sun" - msgstr "周日" -@@ -4739,62 +4832,62 @@ msgstr "周日" - #. * (western European, non-European) there is no difference between the - #. * standalone and complete date form. - #. --#: glib/gdatetime.c:470 -+#: ../glib/gdatetime.c:470 - msgctxt "full month name with day" - msgid "January" - msgstr "一月" - --#: glib/gdatetime.c:472 -+#: ../glib/gdatetime.c:472 - msgctxt "full month name with day" - msgid "February" - msgstr "二月" - --#: glib/gdatetime.c:474 -+#: ../glib/gdatetime.c:474 - msgctxt "full month name with day" - msgid "March" - msgstr "三月" - --#: glib/gdatetime.c:476 -+#: ../glib/gdatetime.c:476 - msgctxt "full month name with day" - msgid "April" - msgstr "四月" - --#: glib/gdatetime.c:478 -+#: ../glib/gdatetime.c:478 - msgctxt "full month name with day" - msgid "May" - msgstr "五月" - --#: glib/gdatetime.c:480 -+#: ../glib/gdatetime.c:480 - msgctxt "full month name with day" - msgid "June" - msgstr "六月" - --#: glib/gdatetime.c:482 -+#: ../glib/gdatetime.c:482 - msgctxt "full month name with day" - msgid "July" - msgstr "七月" - --#: glib/gdatetime.c:484 -+#: ../glib/gdatetime.c:484 - msgctxt "full month name with day" - msgid "August" - msgstr "八月" - --#: glib/gdatetime.c:486 -+#: ../glib/gdatetime.c:486 - msgctxt "full month name with day" - msgid "September" - msgstr "九月" - --#: glib/gdatetime.c:488 -+#: ../glib/gdatetime.c:488 - msgctxt "full month name with day" - msgid "October" - msgstr "十月" - --#: glib/gdatetime.c:490 -+#: ../glib/gdatetime.c:490 - msgctxt "full month name with day" - msgid "November" - msgstr "十一月" - --#: glib/gdatetime.c:492 -+#: ../glib/gdatetime.c:492 - msgctxt "full month name with day" - msgid "December" - msgstr "十二月" -@@ -4816,318 +4909,319 @@ msgstr "十二月" - #. * month names almost ready to copy and paste here. In other systems - #. * due to a bug the result is incorrect in some languages. - #. --#: glib/gdatetime.c:557 -+#: ../glib/gdatetime.c:557 - msgctxt "abbreviated month name with day" - msgid "Jan" - msgstr "一月" - --#: glib/gdatetime.c:559 -+#: ../glib/gdatetime.c:559 - msgctxt "abbreviated month name with day" - msgid "Feb" - msgstr "二月" - --#: glib/gdatetime.c:561 -+#: ../glib/gdatetime.c:561 - msgctxt "abbreviated month name with day" - msgid "Mar" - msgstr "三月" - --#: glib/gdatetime.c:563 -+#: ../glib/gdatetime.c:563 - msgctxt "abbreviated month name with day" - msgid "Apr" - msgstr "四月" - --#: glib/gdatetime.c:565 -+#: ../glib/gdatetime.c:565 - msgctxt "abbreviated month name with day" - msgid "May" - msgstr "五月" - --#: glib/gdatetime.c:567 -+#: ../glib/gdatetime.c:567 - msgctxt "abbreviated month name with day" - msgid "Jun" - msgstr "六月" - --#: glib/gdatetime.c:569 -+#: ../glib/gdatetime.c:569 - msgctxt "abbreviated month name with day" - msgid "Jul" - msgstr "七月" - --#: glib/gdatetime.c:571 -+#: ../glib/gdatetime.c:571 - msgctxt "abbreviated month name with day" - msgid "Aug" - msgstr "八月" - --#: glib/gdatetime.c:573 -+#: ../glib/gdatetime.c:573 - msgctxt "abbreviated month name with day" - msgid "Sep" - msgstr "九月" - --#: glib/gdatetime.c:575 -+#: ../glib/gdatetime.c:575 - msgctxt "abbreviated month name with day" - msgid "Oct" - msgstr "十月" - --#: glib/gdatetime.c:577 -+#: ../glib/gdatetime.c:577 - msgctxt "abbreviated month name with day" - msgid "Nov" - msgstr "十一月" - --#: glib/gdatetime.c:579 -+#: ../glib/gdatetime.c:579 - msgctxt "abbreviated month name with day" - msgid "Dec" - msgstr "十二月" - - #. Translators: 'before midday' indicator --#: glib/gdatetime.c:596 -+#: ../glib/gdatetime.c:596 - msgctxt "GDateTime" - msgid "AM" - msgstr "上午" - - #. Translators: 'after midday' indicator --#: glib/gdatetime.c:599 -+#: ../glib/gdatetime.c:599 - msgctxt "GDateTime" - msgid "PM" - msgstr "下午" - --#: glib/gdir.c:158 -+#: ../glib/gdir.c:158 - #, c-format - msgid "Error opening directory “%s”: %s" - msgstr "打开目录“%s”时出错:%s" - --#: glib/gfileutils.c:735 glib/gfileutils.c:827 -+#: ../glib/gfileutils.c:735 ../glib/gfileutils.c:827 - #, c-format - msgid "Could not allocate %lu byte to read file “%s”" - msgid_plural "Could not allocate %lu bytes to read file “%s”" - msgstr[0] "无法分配 %lu 字节以读取文件“%s”" - --#: glib/gfileutils.c:752 -+#: ../glib/gfileutils.c:752 - #, c-format - msgid "Error reading file “%s”: %s" - msgstr "读取文件“%s”时出错:%s" - --#: glib/gfileutils.c:788 -+#: ../glib/gfileutils.c:788 - #, c-format - msgid "File “%s” is too large" - msgstr "文件“%s”过大" - --#: glib/gfileutils.c:852 -+#: ../glib/gfileutils.c:852 - #, c-format - msgid "Failed to read from file “%s”: %s" - msgstr "读取文件“%s”失败:%s" - --#: glib/gfileutils.c:902 glib/gfileutils.c:977 glib/gfileutils.c:1449 -+#: ../glib/gfileutils.c:902 ../glib/gfileutils.c:977 ../glib/gfileutils.c:1455 - #, c-format - msgid "Failed to open file “%s”: %s" - msgstr "打开文件“%s”失败:%s" - --#: glib/gfileutils.c:915 -+#: ../glib/gfileutils.c:915 - #, c-format - msgid "Failed to get attributes of file “%s”: fstat() failed: %s" - msgstr "获得文件“%s”的属性失败:fstat() 失败:%s" - --#: glib/gfileutils.c:946 -+#: ../glib/gfileutils.c:946 - #, c-format - msgid "Failed to open file “%s”: fdopen() failed: %s" - msgstr "打开文件“%s”失败:fdopen() 失败:%s" - --#: glib/gfileutils.c:1047 -+#: ../glib/gfileutils.c:1047 - #, c-format - msgid "Failed to rename file “%s” to “%s”: g_rename() failed: %s" - msgstr "将文件“%s”重命名为“%s”失败:g_rename() 失败:%s" - --#: glib/gfileutils.c:1156 -+#: ../glib/gfileutils.c:1162 - #, c-format - msgid "Failed to write file “%s”: write() failed: %s" - msgstr "写入文件“%s”失败:write() 失败:%s" - --#: glib/gfileutils.c:1177 -+#: ../glib/gfileutils.c:1183 - #, c-format - msgid "Failed to write file “%s”: fsync() failed: %s" - msgstr "写入文件“%s”失败:fsync() 失败:%s" - --#: glib/gfileutils.c:1338 glib/gfileutils.c:1753 -+#: ../glib/gfileutils.c:1344 ../glib/gfileutils.c:1759 - #, c-format - msgid "Failed to create file “%s”: %s" - msgstr "创建文件“%s”失败:%s" - --#: glib/gfileutils.c:1383 -+#: ../glib/gfileutils.c:1389 - #, c-format - msgid "Existing file “%s” could not be removed: g_unlink() failed: %s" - msgstr "无法删除已有文件“%s”:g_unlink() 失败:%s" - --#: glib/gfileutils.c:1718 -+#: ../glib/gfileutils.c:1724 - #, c-format - msgid "Template “%s” invalid, should not contain a “%s”" - msgstr "模板“%s”无效,不应该包含“%s”" - --#: glib/gfileutils.c:1731 -+#: ../glib/gfileutils.c:1737 - #, c-format - msgid "Template “%s” doesn’t contain XXXXXX" - msgstr "模板“%s”不包含 XXXXXX" - --#: glib/gfileutils.c:2291 glib/gfileutils.c:2320 -+#: ../glib/gfileutils.c:2316 ../glib/gfileutils.c:2345 - #, c-format - msgid "Failed to read the symbolic link “%s”: %s" - msgstr "读取符号链接“%s”失败:%s" - --#: glib/giochannel.c:1408 -+#: ../glib/giochannel.c:1408 - #, c-format - msgid "Could not open converter from “%s” to “%s”: %s" - msgstr "无法打开从“%s”到“%s”的转换器:%s" - --#: glib/giochannel.c:1761 -+#: ../glib/giochannel.c:1761 - msgid "Can’t do a raw read in g_io_channel_read_line_string" - msgstr "g_io_channel_read_line_string 函数无法进行原始读取" - --#: glib/giochannel.c:1808 glib/giochannel.c:2066 glib/giochannel.c:2153 -+#: ../glib/giochannel.c:1808 ../glib/giochannel.c:2066 -+#: ../glib/giochannel.c:2153 - msgid "Leftover unconverted data in read buffer" - msgstr "在读缓冲里留有未转换数据" - --#: glib/giochannel.c:1889 glib/giochannel.c:1966 -+#: ../glib/giochannel.c:1889 ../glib/giochannel.c:1966 - msgid "Channel terminates in a partial character" - msgstr "通道终止于未尽字符" - --#: glib/giochannel.c:1952 -+#: ../glib/giochannel.c:1952 - msgid "Can’t do a raw read in g_io_channel_read_to_end" - msgstr "g_io_channel_read_to_end 函数无法进行原始读取" - --#: glib/gkeyfile.c:796 -+#: ../glib/gkeyfile.c:815 - msgid "Valid key file could not be found in search dirs" - msgstr "在搜索目录中无法找到有效的键文件" - --#: glib/gkeyfile.c:833 -+#: ../glib/gkeyfile.c:852 - msgid "Not a regular file" - msgstr "不是普通文件" - --#: glib/gkeyfile.c:1291 -+#: ../glib/gkeyfile.c:1340 - #, c-format - msgid "" - "Key file contains line “%s” which is not a key-value pair, group, or comment" - msgstr "键文件包含不是键-值对、组或注释的行“%s”" - --#: glib/gkeyfile.c:1348 -+#: ../glib/gkeyfile.c:1397 - #, c-format - msgid "Invalid group name: %s" - msgstr "无效的组名:%s" - --#: glib/gkeyfile.c:1372 -+#: ../glib/gkeyfile.c:1421 - msgid "Key file does not start with a group" - msgstr "键文件不以组开始" - --#: glib/gkeyfile.c:1396 -+#: ../glib/gkeyfile.c:1445 - #, c-format - msgid "Invalid key name: %.*s" - msgstr "无效的键名:%.*s" - --#: glib/gkeyfile.c:1424 -+#: ../glib/gkeyfile.c:1473 - #, c-format - msgid "Key file contains unsupported encoding “%s”" - msgstr "键文件包含不支持的编码“%s”" - --#: glib/gkeyfile.c:1679 glib/gkeyfile.c:1852 glib/gkeyfile.c:3299 --#: glib/gkeyfile.c:3363 glib/gkeyfile.c:3493 glib/gkeyfile.c:3625 --#: glib/gkeyfile.c:3771 glib/gkeyfile.c:4006 glib/gkeyfile.c:4073 -+#: ../glib/gkeyfile.c:1728 ../glib/gkeyfile.c:1901 ../glib/gkeyfile.c:3402 -+#: ../glib/gkeyfile.c:3466 ../glib/gkeyfile.c:3596 ../glib/gkeyfile.c:3728 -+#: ../glib/gkeyfile.c:3874 ../glib/gkeyfile.c:4109 ../glib/gkeyfile.c:4176 - #, c-format - msgid "Key file does not have group “%s”" - msgstr "键文件没有组“%s”" - --#: glib/gkeyfile.c:1807 -+#: ../glib/gkeyfile.c:1856 - #, c-format - msgid "Key file does not have key “%s” in group “%s”" - msgstr "键文件在组“%2$s”中没有键“%1$s”" - --#: glib/gkeyfile.c:1969 glib/gkeyfile.c:2085 -+#: ../glib/gkeyfile.c:2018 ../glib/gkeyfile.c:2134 - #, c-format - msgid "Key file contains key “%s” with value “%s” which is not UTF-8" - msgstr "键文件包含键“%s”,其值“%s”不是 UTF-8" - --#: glib/gkeyfile.c:1989 glib/gkeyfile.c:2105 glib/gkeyfile.c:2544 -+#: ../glib/gkeyfile.c:2038 ../glib/gkeyfile.c:2154 ../glib/gkeyfile.c:2647 - #, c-format - msgid "" - "Key file contains key “%s” which has a value that cannot be interpreted." - msgstr "键文件包含键“%s”,其值无法解析。" - --#: glib/gkeyfile.c:2759 glib/gkeyfile.c:3128 -+#: ../glib/gkeyfile.c:2862 ../glib/gkeyfile.c:3231 - #, c-format - msgid "" - "Key file contains key “%s” in group “%s” which has a value that cannot be " - "interpreted." - msgstr "键文件包含组“%2$s”中的键“%1$s”,其值无法解释。" - --#: glib/gkeyfile.c:2837 glib/gkeyfile.c:2914 -+#: ../glib/gkeyfile.c:2940 ../glib/gkeyfile.c:3017 - #, c-format - msgid "Key “%s” in group “%s” has value “%s” where %s was expected" - msgstr "组“%2$s”中的键“%1$s”的值为“%3$s”,应为 %4$s" - --#: glib/gkeyfile.c:4326 -+#: ../glib/gkeyfile.c:4429 - msgid "Key file contains escape character at end of line" - msgstr "键文件在行尾含有转义字符" - --#: glib/gkeyfile.c:4348 -+#: ../glib/gkeyfile.c:4451 - #, c-format - msgid "Key file contains invalid escape sequence “%s”" - msgstr "键文件中包含无效的转义序列“%s”" - --#: glib/gkeyfile.c:4493 -+#: ../glib/gkeyfile.c:4596 - #, c-format - msgid "Value “%s” cannot be interpreted as a number." - msgstr "无法将值“%s”解释为数值。" - --#: glib/gkeyfile.c:4507 -+#: ../glib/gkeyfile.c:4610 - #, c-format - msgid "Integer value “%s” out of range" - msgstr "整数值“%s”超出范围" - --#: glib/gkeyfile.c:4540 -+#: ../glib/gkeyfile.c:4643 - #, c-format - msgid "Value “%s” cannot be interpreted as a float number." - msgstr "无法将值“%s”解释为浮点数。" - --#: glib/gkeyfile.c:4579 -+#: ../glib/gkeyfile.c:4682 - #, c-format - msgid "Value “%s” cannot be interpreted as a boolean." - msgstr "无法将值“%s”解释为布尔值。" - --#: glib/gmappedfile.c:131 -+#: ../glib/gmappedfile.c:131 - #, c-format - msgid "Failed to get attributes of file “%s%s%s%s”: fstat() failed: %s" - msgstr "获取文件“%s%s%s%s”的属性失败 : fstat() 失败:%s" - --#: glib/gmappedfile.c:197 -+#: ../glib/gmappedfile.c:197 - #, c-format - msgid "Failed to map %s%s%s%s: mmap() failed: %s" - msgstr "映射 %s%s%s%s 失败:mmap() 失败:%s" - --#: glib/gmappedfile.c:264 -+#: ../glib/gmappedfile.c:264 - #, c-format - msgid "Failed to open file “%s”: open() failed: %s" - msgstr "打开文件“%s”失败:open() 失败:%s" - --#: glib/gmarkup.c:400 glib/gmarkup.c:442 -+#: ../glib/gmarkup.c:400 ../glib/gmarkup.c:442 - #, c-format - msgid "Error on line %d char %d: " - msgstr "第 %d 行第 %d 个字符出错: " - --#: glib/gmarkup.c:464 glib/gmarkup.c:547 -+#: ../glib/gmarkup.c:464 ../glib/gmarkup.c:547 - #, c-format - msgid "Invalid UTF-8 encoded text in name — not valid “%s”" - msgstr "名称包含无效的 UTF-8 编码文本——无效的“%s”" - --#: glib/gmarkup.c:475 -+#: ../glib/gmarkup.c:475 - #, c-format - msgid "“%s” is not a valid name" - msgstr "“%s”不是有效的名称" - --#: glib/gmarkup.c:491 -+#: ../glib/gmarkup.c:491 - #, c-format - msgid "“%s” is not a valid name: “%c”" - msgstr "“%s”不是有效的名称:“%c”" - --#: glib/gmarkup.c:615 -+#: ../glib/gmarkup.c:615 - #, c-format - msgid "Error on line %d: %s" - msgstr "第 %d 行出错:%s" - --#: glib/gmarkup.c:692 -+#: ../glib/gmarkup.c:692 - #, c-format - msgid "" - "Failed to parse “%-.*s”, which should have been a digit inside a character " -@@ -5135,7 +5229,7 @@ msgid "" - msgstr "" - "解析“%-.*s”失败。它应该是字符引用中的数字(如 ê)——可能该数字太大了" - --#: glib/gmarkup.c:704 -+#: ../glib/gmarkup.c:704 - msgid "" - "Character reference did not end with a semicolon; most likely you used an " - "ampersand character without intending to start an entity — escape ampersand " -@@ -5144,22 +5238,22 @@ msgstr "" - "字符引用没有以分号结束。很可能您使用了与号(&)字符而又不是一个实体——将这个与" - "号变为 &" - --#: glib/gmarkup.c:730 -+#: ../glib/gmarkup.c:730 - #, c-format - msgid "Character reference “%-.*s” does not encode a permitted character" - msgstr "字符引用“%-.*s”没有编码一个允许的字符" - --#: glib/gmarkup.c:768 -+#: ../glib/gmarkup.c:768 - msgid "" - "Empty entity “&;” seen; valid entities are: & " < > '" - msgstr "发现空的实体“&;”。有效的实体为:& " < > '" - --#: glib/gmarkup.c:776 -+#: ../glib/gmarkup.c:776 - #, c-format - msgid "Entity name “%-.*s” is not known" - msgstr "未知的实体名“%-.*s”" - --#: glib/gmarkup.c:781 -+#: ../glib/gmarkup.c:781 - msgid "" - "Entity did not end with a semicolon; most likely you used an ampersand " - "character without intending to start an entity — escape ampersand as &" -@@ -5167,36 +5261,36 @@ msgstr "" - "实体没有以分号结束。很可能您使用了与号(&)字符而又不是一个实体——将这个与号变" - "为 &" - --#: glib/gmarkup.c:1195 -+#: ../glib/gmarkup.c:1195 - msgid "Document must begin with an element (e.g. )" - msgstr "文档必须以一个元素开始(例如 )" - --#: glib/gmarkup.c:1235 -+#: ../glib/gmarkup.c:1235 - #, c-format - msgid "" - "“%s” is not a valid character following a “<” character; it may not begin an " - "element name" - msgstr "“%s”出现在字符“<”后是无效字符;它不能作为元素名的开头" - --#: glib/gmarkup.c:1278 -+#: ../glib/gmarkup.c:1278 - #, c-format - msgid "" - "Odd character “%s”, expected a “>” character to end the empty-element tag " - "“%s”" - msgstr "字符“%s”无效,应该以字符“>”来结束空元素标记“%s”" - --#: glib/gmarkup.c:1348 -+#: ../glib/gmarkup.c:1348 - #, c-format - msgid "Too many attributes in element “%s”" - msgstr "元素“%s”中有过多参数" - --#: glib/gmarkup.c:1368 -+#: ../glib/gmarkup.c:1368 - #, c-format - msgid "" - "Odd character “%s”, expected a “=” after attribute name “%s” of element “%s”" - msgstr "字符“%s”无效,在属性名“%s”(元素“%s”)的后应该是字符“=”" - --#: glib/gmarkup.c:1410 -+#: ../glib/gmarkup.c:1410 - #, c-format - msgid "" - "Odd character “%s”, expected a “>” or “/” character to end the start tag of " -@@ -5206,834 +5300,835 @@ msgstr "" - "字符“%s”无效,应该以“>”或“/”结束元素“%s”的起始标记,或紧跟该元素的属性;可能" - "您在属性名中使用了无效字符" - --#: glib/gmarkup.c:1455 -+#: ../glib/gmarkup.c:1455 - #, c-format - msgid "" - "Odd character “%s”, expected an open quote mark after the equals sign when " - "giving value for attribute “%s” of element “%s”" - msgstr "字符“%1$s”无效,在给元素“%3$s”的属性“%2$s”赋值时,等号后应该是前引号" - --#: glib/gmarkup.c:1589 -+#: ../glib/gmarkup.c:1589 - #, c-format - msgid "" - "“%s” is not a valid character following the characters “”" - msgstr "“%s”字符出现在闭合元素名“%s”后无效;允许的字符是“>”" - --#: glib/gmarkup.c:1639 -+#: ../glib/gmarkup.c:1639 - #, c-format - msgid "Element “%s” was closed, no element is currently open" - msgstr "元素“%s”已经闭合,当前没有开放的元素" - --#: glib/gmarkup.c:1648 -+#: ../glib/gmarkup.c:1648 - #, c-format - msgid "Element “%s” was closed, but the currently open element is “%s”" - msgstr "元素“%s”已经闭合,当前仍开放的元素是“%s”" - --#: glib/gmarkup.c:1801 -+#: ../glib/gmarkup.c:1801 - msgid "Document was empty or contained only whitespace" - msgstr "文档为空或仅含空白字符" - --#: glib/gmarkup.c:1815 -+#: ../glib/gmarkup.c:1815 - msgid "Document ended unexpectedly just after an open angle bracket “<”" - msgstr "文档在一个左尖括号“<”后意外结束" - --#: glib/gmarkup.c:1823 glib/gmarkup.c:1868 -+#: ../glib/gmarkup.c:1823 ../glib/gmarkup.c:1868 - #, c-format - msgid "" - "Document ended unexpectedly with elements still open — “%s” was the last " - "element opened" - msgstr "文档在元素仍开放处意外结束——最后未结束的元素是“%s”" - --#: glib/gmarkup.c:1831 -+#: ../glib/gmarkup.c:1831 - #, c-format - msgid "" - "Document ended unexpectedly, expected to see a close angle bracket ending " - "the tag <%s/>" - msgstr "文档意外结束,应该以右尖括号“>”来结束标记 <%s/>" - --#: glib/gmarkup.c:1837 -+#: ../glib/gmarkup.c:1837 - msgid "Document ended unexpectedly inside an element name" - msgstr "文档在元素名中意外结束" - --#: glib/gmarkup.c:1843 -+#: ../glib/gmarkup.c:1843 - msgid "Document ended unexpectedly inside an attribute name" - msgstr "文档在属性名中意外结束" - --#: glib/gmarkup.c:1848 -+#: ../glib/gmarkup.c:1848 - msgid "Document ended unexpectedly inside an element-opening tag." - msgstr "文档在元素仍开放的标记中意外结束。" - --#: glib/gmarkup.c:1854 -+#: ../glib/gmarkup.c:1854 - msgid "" - "Document ended unexpectedly after the equals sign following an attribute " - "name; no attribute value" - msgstr "文档在跟在属性名后的等号后意外结束;没有属性值" - --#: glib/gmarkup.c:1861 -+#: ../glib/gmarkup.c:1861 - msgid "Document ended unexpectedly while inside an attribute value" - msgstr "文档在属性值中意外结束" - --#: glib/gmarkup.c:1878 -+#: ../glib/gmarkup.c:1878 - #, c-format - msgid "Document ended unexpectedly inside the close tag for element “%s”" - msgstr "文档在元素“%s”的闭合标记中意外结束" - --#: glib/gmarkup.c:1882 -+#: ../glib/gmarkup.c:1882 - msgid "" - "Document ended unexpectedly inside the close tag for an unopened element" - msgstr "文档在无起始元素的闭合标记中意外结束" - --#: glib/gmarkup.c:1888 -+#: ../glib/gmarkup.c:1888 - msgid "Document ended unexpectedly inside a comment or processing instruction" - msgstr "文档在注释或处理指令中意外结束" - --#: glib/goption.c:875 -+#: ../glib/goption.c:875 - msgid "[OPTION…]" - msgstr "[选项…]" - --#: glib/goption.c:991 -+#: ../glib/goption.c:991 - msgid "Help Options:" - msgstr "帮助选项:" - --#: glib/goption.c:992 -+#: ../glib/goption.c:992 - msgid "Show help options" - msgstr "显示帮助选项" - --#: glib/goption.c:998 -+#: ../glib/goption.c:998 - msgid "Show all help options" - msgstr "显示全部帮助选项" - --#: glib/goption.c:1061 -+#: ../glib/goption.c:1061 - msgid "Application Options:" - msgstr "应用程序选项:" - --#: glib/goption.c:1063 -+#: ../glib/goption.c:1063 - msgid "Options:" - msgstr "选项:" - --#: glib/goption.c:1127 glib/goption.c:1197 -+#: ../glib/goption.c:1127 ../glib/goption.c:1197 - #, c-format - msgid "Cannot parse integer value “%s” for %s" - msgstr "无法解析 %2$s 的整数值“%1$s”" - --#: glib/goption.c:1137 glib/goption.c:1205 -+#: ../glib/goption.c:1137 ../glib/goption.c:1205 - #, c-format - msgid "Integer value “%s” for %s out of range" - msgstr "%2$s 所用的整数值“%1$s”超出范围" - --#: glib/goption.c:1162 -+#: ../glib/goption.c:1162 - #, c-format - msgid "Cannot parse double value “%s” for %s" - msgstr "无法解析 %2$s 的双精度值“%1$s”" - --#: glib/goption.c:1170 -+#: ../glib/goption.c:1170 - #, c-format - msgid "Double value “%s” for %s out of range" - msgstr "%2$s 所用的双精度值“%1$s”超出范围" - --#: glib/goption.c:1462 glib/goption.c:1541 -+#: ../glib/goption.c:1462 ../glib/goption.c:1541 - #, c-format - msgid "Error parsing option %s" - msgstr "解析选项 %s 时出错" - --#: glib/goption.c:1563 glib/goption.c:1676 -+#: ../glib/goption.c:1563 ../glib/goption.c:1676 - #, c-format - msgid "Missing argument for %s" - msgstr "缺少 %s 的参数" - --#: glib/goption.c:2186 -+#: ../glib/goption.c:2186 - #, c-format - msgid "Unknown option %s" - msgstr "未知选项 %s" - --#: glib/gregex.c:436 -+#: ../glib/gregex.c:479 - msgid "corrupted object" - msgstr "无效对象" - --#: glib/gregex.c:438 -+#: ../glib/gregex.c:481 - msgid "out of memory" - msgstr "内存不足" - --#: glib/gregex.c:443 -+#: ../glib/gregex.c:487 - msgid "backtracking limit reached" - msgstr "达到回溯上限" - --#: glib/gregex.c:454 glib/gregex.c:707 glib/gregex.c:736 -+#: ../glib/gregex.c:498 - msgid "internal error" - msgstr "内部错误" - --#: glib/gregex.c:456 -+#: ../glib/gregex.c:500 - msgid "the pattern contains items not supported for partial matching" - msgstr "表达式包含不被部分匹配支持的项" - --#: glib/gregex.c:458 -+#: ../glib/gregex.c:502 - msgid "back references as conditions are not supported for partial matching" - msgstr "不完全匹配时作为条件的后向引用不被支持" - --#: glib/gregex.c:464 -+#: ../glib/gregex.c:508 - msgid "recursion limit reached" - msgstr "达到递归上限" - --#: glib/gregex.c:466 -+#: ../glib/gregex.c:510 - msgid "bad offset" - msgstr "错误的偏移值" - --#: glib/gregex.c:468 -+#: ../glib/gregex.c:512 - msgid "recursion loop" - msgstr "递归循环" - - #. should not happen in GRegex since we check modes before each match --#: glib/gregex.c:471 -+#: ../glib/gregex.c:515 - msgid "matching mode is requested that was not compiled for JIT" - msgstr "请求了匹配模式,但它未为 JIT 编译" - --#: glib/gregex.c:475 -+#: ../glib/gregex.c:536 ../glib/gregex.c:1838 - msgid "unknown error" - msgstr "未知错误" - --#: glib/gregex.c:496 -+#: ../glib/gregex.c:557 - msgid "\\ at end of pattern" - msgstr "\\ 在表达式末尾" - --#: glib/gregex.c:500 -+#: ../glib/gregex.c:561 - msgid "\\c at end of pattern" - msgstr "表达式末尾的 \\c" - --#: glib/gregex.c:505 -+#: ../glib/gregex.c:566 - msgid "unrecognized character following \\" - msgstr "\\ 后有无法识别的字符" - --#: glib/gregex.c:509 -+#: ../glib/gregex.c:570 - msgid "numbers out of order in {} quantifier" - msgstr "{} 量词里的数字次序颠倒了" - --#: glib/gregex.c:513 -+#: ../glib/gregex.c:574 - msgid "number too big in {} quantifier" - msgstr "{} 量词里的数字太大了" - --#: glib/gregex.c:517 -+#: ../glib/gregex.c:578 - msgid "missing terminating ] for character class" - msgstr "字符类缺少终结的 ]" - --#: glib/gregex.c:521 -+#: ../glib/gregex.c:582 - msgid "invalid escape sequence in character class" - msgstr "字符类包含无效的转义序列" - --#: glib/gregex.c:525 -+#: ../glib/gregex.c:586 - msgid "range out of order in character class" - msgstr "字符类的范围次序颠倒" - --#: glib/gregex.c:530 -+#: ../glib/gregex.c:591 - msgid "nothing to repeat" - msgstr "没有可以重复的内容" - --#: glib/gregex.c:534 -+#: ../glib/gregex.c:595 - msgid "unrecognized character after (? or (?-" - msgstr "(? 或 (?- 后有无法识别的字符" - --#: glib/gregex.c:538 -+#: ../glib/gregex.c:599 - msgid "POSIX named classes are supported only within a class" - msgstr "只有类里支持 POSIX 命名的类" - --#: glib/gregex.c:542 -+#: ../glib/gregex.c:603 - msgid "POSIX collating elements are not supported" - msgstr "不支持 POSIX 整理元素" - --#: glib/gregex.c:548 -+#: ../glib/gregex.c:609 - msgid "missing terminating )" - msgstr "缺少结束的 )" - --#: glib/gregex.c:552 -+#: ../glib/gregex.c:613 - msgid "reference to non-existent subpattern" - msgstr "引用了不存在的子表达式" - --#: glib/gregex.c:556 -+#: ../glib/gregex.c:617 - msgid "missing ) after comment" - msgstr "注释后缺少 )" - --#: glib/gregex.c:560 -+#: ../glib/gregex.c:621 - msgid "regular expression is too large" - msgstr "正则表达式过长" - --#: glib/gregex.c:564 -+#: ../glib/gregex.c:625 - msgid "malformed number or name after (?(" - msgstr "(?( 后有形式不正确的数字或名称" - --#: glib/gregex.c:568 -+#: ../glib/gregex.c:629 - msgid "lookbehind assertion is not fixed length" - msgstr "lookbehind 断言不是定长的" - --#: glib/gregex.c:572 -+#: ../glib/gregex.c:633 - msgid "conditional group contains more than two branches" - msgstr "条件组包含了超过两个分支" - --#: glib/gregex.c:576 -+#: ../glib/gregex.c:637 - msgid "assertion expected after (?(" - msgstr "(?( 后应该有断言" - --#: glib/gregex.c:580 -+#: ../glib/gregex.c:641 - msgid "a numbered reference must not be zero" - msgstr "编号引用不能为 0" - --#: glib/gregex.c:584 -+#: ../glib/gregex.c:645 - msgid "unknown POSIX class name" - msgstr "未知的 POSIX 类名" - --#: glib/gregex.c:589 -+#: ../glib/gregex.c:650 - msgid "character value in \\x{...} sequence is too large" - msgstr "\\x{...} 序列里的字符值太大了" - --#: glib/gregex.c:593 -+#: ../glib/gregex.c:654 - msgid "\\C not allowed in lookbehind assertion" - msgstr "lookbehind 断言里不允许使用 \\C" - --#: glib/gregex.c:597 -+#: ../glib/gregex.c:658 - msgid "missing terminator in subpattern name" - msgstr "子表达式名里缺少终结符" - --#: glib/gregex.c:601 -+#: ../glib/gregex.c:662 - msgid "two named subpatterns have the same name" - msgstr "两个有名子表达式有相同的名称" - --#: glib/gregex.c:605 -+#: ../glib/gregex.c:666 - msgid "malformed \\P or \\p sequence" - msgstr "形式不正确的 \\P 或 \\p 序列" - --#: glib/gregex.c:609 -+#: ../glib/gregex.c:670 - msgid "unknown property name after \\P or \\p" - msgstr "\\P 或 \\p 后有未知的属性名" - --#: glib/gregex.c:613 -+#: ../glib/gregex.c:674 - msgid "subpattern name is too long (maximum 32 characters)" - msgstr "子表达式名太长了(最多 32 个字符)" - --#: glib/gregex.c:617 -+#: ../glib/gregex.c:678 - msgid "too many named subpatterns (maximum 10,000)" - msgstr "有名子表达式太多了(最多 10,000 个)" - --#: glib/gregex.c:621 -+#: ../glib/gregex.c:682 - msgid "octal value is greater than \\377" - msgstr "八进制值大于 \\377" - --#: glib/gregex.c:625 -+#: ../glib/gregex.c:686 - msgid "DEFINE group contains more than one branch" - msgstr "定义组包含多于一个的分支" - --#: glib/gregex.c:629 -+#: ../glib/gregex.c:690 - msgid "inconsistent NEWLINE options" - msgstr "不一致的换行选项" - --#: glib/gregex.c:633 -+#: ../glib/gregex.c:694 - msgid "" - "\\g is not followed by a braced, angle-bracketed, or quoted name or number, " - "or by a plain number" - msgstr "\\g 后没有花括号、尖括号或引号括起来的名称或数字,或纯数字" - --#: glib/gregex.c:638 -+#: ../glib/gregex.c:699 - msgid "an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT)" - msgstr "(*ACCEPT)、(*FAIL) 和 (*COMMIT) 不允许带参数" - --#: glib/gregex.c:642 -+#: ../glib/gregex.c:703 - msgid "(*VERB) not recognized" - msgstr "无法识别 (*VERB)" - --#: glib/gregex.c:646 -+#: ../glib/gregex.c:707 - msgid "number is too big" - msgstr "数字太大" - --#: glib/gregex.c:650 -+#: ../glib/gregex.c:711 - msgid "missing subpattern name after (?&" - msgstr "(?& 后缺少子表达式名" - --#: glib/gregex.c:654 -+#: ../glib/gregex.c:715 - msgid "different names for subpatterns of the same number are not allowed" - msgstr "不允许两个号码相同的子表达式有不同的名称" - --#: glib/gregex.c:658 -+#: ../glib/gregex.c:719 - msgid "(*MARK) must have an argument" - msgstr "(*MARK) 必须有一个参数" - --#: glib/gregex.c:662 -+#: ../glib/gregex.c:723 - msgid "\\c must be followed by an ASCII character" - msgstr "\\c 后面必须跟一个 ASCII 字符" - --#: glib/gregex.c:666 -+#: ../glib/gregex.c:727 - msgid "\\k is not followed by a braced, angle-bracketed, or quoted name" - msgstr "\\k 后没有用花括号、尖括号或引号括起来的名称" - --#: glib/gregex.c:670 -+#: ../glib/gregex.c:731 - msgid "\\N is not supported in a class" - msgstr "类中不支持 \\N" - --#: glib/gregex.c:674 -+#: ../glib/gregex.c:735 - msgid "name is too long in (*MARK), (*PRUNE), (*SKIP), or (*THEN)" - msgstr "在 (*MARK)、(*PRUNE)、(*SKIP) 或者 (*THEN) 中的名称太长" - --#: glib/gregex.c:678 glib/gregex.c:809 -+#: ../glib/gregex.c:739 ../glib/gregex.c:875 - msgid "code overflow" - msgstr "代码溢出" - --#: glib/gregex.c:682 -+#: ../glib/gregex.c:743 - msgid "unrecognized character after (?P" - msgstr "(?P 有无法识别的字符" - --#: glib/gregex.c:686 -+#: ../glib/gregex.c:747 - msgid "overran compiling workspace" - msgstr "编译工作区超出正常范围" - --#: glib/gregex.c:690 -+#: ../glib/gregex.c:751 - msgid "previously-checked referenced subpattern not found" - msgstr "未找到之前检查过的引用过的子表达式" - --#: glib/gregex.c:808 glib/gregex.c:1041 glib/gregex.c:2342 -+#: ../glib/gregex.c:874 ../glib/gregex.c:1121 ../glib/gregex.c:2444 - #, c-format - msgid "Error while matching regular expression %s: %s" - msgstr "匹配正则表达式 %s 时出错:%s" - --#: glib/gregex.c:1618 -+#: ../glib/gregex.c:1721 - msgid "PCRE library is compiled without UTF8 support" - msgstr "PCRE 库编译时未包含 UTF8 支持" - --#: glib/gregex.c:1626 -+#: ../glib/gregex.c:1729 - msgid "PCRE library is compiled with incompatible options" - msgstr "PCRE 库编译时使用了不兼容的选项" - --#: glib/gregex.c:1751 -+#: ../glib/gregex.c:1847 - #, c-format - msgid "Error while compiling regular expression ‘%s’ at char %s: %s" - msgstr "编译正则表达式“%s”到字符 %s 处时出错:%s" - --#: glib/gregex.c:2786 -+#: ../glib/gregex.c:2887 - msgid "hexadecimal digit or “}” expected" - msgstr "期望十六进制数或“}”" - --#: glib/gregex.c:2802 -+#: ../glib/gregex.c:2903 - msgid "hexadecimal digit expected" - msgstr "期望十六进制数" - --#: glib/gregex.c:2842 -+#: ../glib/gregex.c:2943 - msgid "missing “<” in symbolic reference" - msgstr "在符号引用中缺少“<”" - --#: glib/gregex.c:2851 -+#: ../glib/gregex.c:2952 - msgid "unfinished symbolic reference" - msgstr "未完成的符号引用" - --#: glib/gregex.c:2858 -+#: ../glib/gregex.c:2959 - msgid "zero-length symbolic reference" - msgstr "零长符号引用" - --#: glib/gregex.c:2869 -+#: ../glib/gregex.c:2970 - msgid "digit expected" - msgstr "期望数字" - --#: glib/gregex.c:2887 -+#: ../glib/gregex.c:2988 - msgid "illegal symbolic reference" - msgstr "非法的符号引用" - --#: glib/gregex.c:2950 -+#: ../glib/gregex.c:3051 - msgid "stray final “\\”" - msgstr "丢失了最后的“\\”" - --#: glib/gregex.c:2954 -+#: ../glib/gregex.c:3055 - msgid "unknown escape sequence" - msgstr "未知的转义序列" - --#: glib/gregex.c:2964 -+#: ../glib/gregex.c:3065 - #, c-format - msgid "Error while parsing replacement text “%s” at char %lu: %s" - msgstr "解析替换文本“%s”到字符 %lu 处时出错:%s" - --#: glib/gshell.c:98 -+#: ../glib/gshell.c:98 - msgid "Quoted text doesn’t begin with a quotation mark" - msgstr "引用的文本不以引号开头" - --#: glib/gshell.c:188 -+#: ../glib/gshell.c:188 - msgid "Unmatched quotation mark in command line or other shell-quoted text" - msgstr "命令行或其他 shell 引用文本中出现不匹配的引号" - --#: glib/gshell.c:594 -+#: ../glib/gshell.c:594 - #, c-format - msgid "Text ended just after a “\\” character. (The text was “%s”)" - msgstr "文本在一个“\\”字符后结束。(文本为“%s”)" - --#: glib/gshell.c:601 -+#: ../glib/gshell.c:601 - #, c-format - msgid "Text ended before matching quote was found for %c. (The text was “%s”)" - msgstr "在找到为 %c 匹配的引用之前,文本已结束。(文本为“%s”)" - --#: glib/gshell.c:613 -+#: ../glib/gshell.c:613 - msgid "Text was empty (or contained only whitespace)" - msgstr "文本为空(或仅含空白字符)" - --#: glib/gspawn.c:314 -+#: ../glib/gspawn.c:310 - #, c-format - msgid "Failed to read data from child process (%s)" - msgstr "从子进程中读取数据失败(%s)" - --#: glib/gspawn.c:466 -+#: ../glib/gspawn.c:462 - #, c-format - msgid "Unexpected error in reading data from a child process (%s)" - msgstr "在从子进程中读取数据时出现异常错误(%s)" - --#: glib/gspawn.c:551 -+#: ../glib/gspawn.c:547 - #, c-format - msgid "Unexpected error in waitpid() (%s)" - msgstr "waitpid() 出现异常错误(%s)" - --#: glib/gspawn.c:1170 glib/gspawn-win32.c:1488 -+#: ../glib/gspawn.c:1166 ../glib/gspawn-win32.c:1488 - #, c-format - msgid "Child process exited with code %ld" - msgstr "子进程已退出,代码 %ld" - --#: glib/gspawn.c:1178 -+#: ../glib/gspawn.c:1174 - #, c-format - msgid "Child process killed by signal %ld" - msgstr "子进程已由信号 %ld 杀死" - --#: glib/gspawn.c:1185 -+#: ../glib/gspawn.c:1181 - #, c-format - msgid "Child process stopped by signal %ld" - msgstr "子进程已由信号 %ld 停止" - --#: glib/gspawn.c:1192 -+#: ../glib/gspawn.c:1188 - #, c-format - msgid "Child process exited abnormally" - msgstr "子进程异常中止" - --#: glib/gspawn.c:1885 glib/gspawn-win32.c:393 glib/gspawn-win32.c:401 -+#: ../glib/gspawn.c:1867 ../glib/gspawn-win32.c:393 ../glib/gspawn-win32.c:401 - #, c-format - msgid "Failed to read from child pipe (%s)" - msgstr "从子管道中读取失败(%s)" - --#: glib/gspawn.c:2248 -+#: ../glib/gspawn.c:2230 - #, c-format - msgid "Failed to spawn child process “%s” (%s)" - msgstr "生成子进程“%s”失败(%s)" - --#: glib/gspawn.c:2365 -+#: ../glib/gspawn.c:2347 - #, c-format - msgid "Failed to fork (%s)" - msgstr "fork 失败(%s)" - --#: glib/gspawn.c:2525 glib/gspawn-win32.c:424 -+#: ../glib/gspawn.c:2507 ../glib/gspawn-win32.c:424 - #, c-format - msgid "Failed to change to directory “%s” (%s)" - msgstr "切换到目录“%s”失败(%s)" - --#: glib/gspawn.c:2535 -+#: ../glib/gspawn.c:2517 - #, c-format - msgid "Failed to execute child process “%s” (%s)" - msgstr "执行子进程“%s”失败(%s)" - --#: glib/gspawn.c:2545 -+#: ../glib/gspawn.c:2527 - #, c-format - msgid "Failed to open file to remap file descriptor (%s)" - msgstr "打开文件以重新映射文件描述符失败(%s)" - --#: glib/gspawn.c:2553 -+#: ../glib/gspawn.c:2535 - #, c-format - msgid "Failed to duplicate file descriptor for child process (%s)" - msgstr "为子进程复制文件描述符失败(%s)" - --#: glib/gspawn.c:2562 -+#: ../glib/gspawn.c:2544 - #, c-format - msgid "Failed to fork child process (%s)" - msgstr "fork 子进程失败(%s)" - --#: glib/gspawn.c:2570 -+#: ../glib/gspawn.c:2552 - #, c-format - msgid "Failed to close file descriptor for child process (%s)" - msgstr "为子进程关闭文件描述符失败(%s)" - --#: glib/gspawn.c:2578 -+#: ../glib/gspawn.c:2560 - #, c-format - msgid "Unknown error executing child process “%s”" - msgstr "执行子进程“%s”时出现未知错误" - --#: glib/gspawn.c:2602 -+#: ../glib/gspawn.c:2584 - #, c-format - msgid "Failed to read enough data from child pid pipe (%s)" - msgstr "从子进程管道中读取足够的数据失败(%s)" - --#: glib/gspawn-win32.c:337 -+#: ../glib/gspawn-win32.c:337 - msgid "Failed to read data from child process" - msgstr "从子进程中读取数据失败" - --#: glib/gspawn-win32.c:430 glib/gspawn-win32.c:435 glib/gspawn-win32.c:561 -+#: ../glib/gspawn-win32.c:430 ../glib/gspawn-win32.c:435 -+#: ../glib/gspawn-win32.c:561 - #, c-format - msgid "Failed to execute child process (%s)" - msgstr "执行子进程失败(%s)" - --#: glib/gspawn-win32.c:440 -+#: ../glib/gspawn-win32.c:440 - #, c-format - msgid "Failed to dup() in child process (%s)" - msgstr "在子进程中 dup() 失败(%s)" - --#: glib/gspawn-win32.c:511 -+#: ../glib/gspawn-win32.c:511 - #, c-format - msgid "Invalid program name: %s" - msgstr "无效的程序名:%s" - --#: glib/gspawn-win32.c:521 glib/gspawn-win32.c:853 -+#: ../glib/gspawn-win32.c:521 ../glib/gspawn-win32.c:853 - #, c-format - msgid "Invalid string in argument vector at %d: %s" - msgstr "%d 处的参数向量中有无效的字符串:%s" - --#: glib/gspawn-win32.c:532 glib/gspawn-win32.c:869 -+#: ../glib/gspawn-win32.c:532 ../glib/gspawn-win32.c:869 - #, c-format - msgid "Invalid string in environment: %s" - msgstr "环境中有无效的字符串:%s" - --#: glib/gspawn-win32.c:849 -+#: ../glib/gspawn-win32.c:849 - #, c-format - msgid "Invalid working directory: %s" - msgstr "无效的工作目录:%s" - --#: glib/gspawn-win32.c:914 -+#: ../glib/gspawn-win32.c:914 - #, c-format - msgid "Failed to execute helper program (%s)" - msgstr "执行助手程序(%s)失败" - --#: glib/gspawn-win32.c:1143 -+#: ../glib/gspawn-win32.c:1143 - msgid "" - "Unexpected error in g_io_channel_win32_poll() reading data from a child " - "process" - msgstr "g_io_channel_win32_poll() 从子进程中读取数据时出现异常错误" - --#: glib/gstrfuncs.c:3366 glib/gstrfuncs.c:3468 -+#: ../glib/gstrfuncs.c:3372 ../glib/gstrfuncs.c:3474 - msgid "Empty string is not a number" - msgstr "空字符串不是数字" - --#: glib/gstrfuncs.c:3390 -+#: ../glib/gstrfuncs.c:3396 - #, c-format - msgid "“%s” is not a signed number" - msgstr "“%s”不是有效的有符号数值" - --#: glib/gstrfuncs.c:3400 glib/gstrfuncs.c:3504 -+#: ../glib/gstrfuncs.c:3406 ../glib/gstrfuncs.c:3510 - #, c-format - msgid "Number “%s” is out of bounds [%s, %s]" - msgstr "数字“%s”越界 [%s, %s]" - --#: glib/gstrfuncs.c:3494 -+#: ../glib/gstrfuncs.c:3500 - #, c-format - msgid "“%s” is not an unsigned number" - msgstr "“%s”不是有效的无符号数值" - --#: glib/guri.c:317 -+#: ../glib/guri.c:317 - #, no-c-format - msgid "Invalid %-encoding in URI" - msgstr "URI 中无效的 %-编码" - --#: glib/guri.c:334 -+#: ../glib/guri.c:334 - msgid "Illegal character in URI" - msgstr "URI 中有非法字符" - --#: glib/guri.c:368 -+#: ../glib/guri.c:368 - msgid "Non-UTF-8 characters in URI" - msgstr "URI 中存在非 UTF-8 字符" - --#: glib/guri.c:548 -+#: ../glib/guri.c:548 - #, c-format - msgid "Invalid IPv6 address ‘%.*s’ in URI" - msgstr "URI 中无效的 IPv6 地址“%.*s”" - --#: glib/guri.c:603 -+#: ../glib/guri.c:603 - #, c-format - msgid "Illegal encoded IP address ‘%.*s’ in URI" - msgstr "URI 中有编码方式非法的 IP 地址“%.*s”" - --#: glib/guri.c:615 -+#: ../glib/guri.c:615 - #, c-format - msgid "Illegal internationalized hostname ‘%.*s’ in URI" - msgstr "URI 中有非法的国际化主机名“%.*s”" - --#: glib/guri.c:647 glib/guri.c:659 -+#: ../glib/guri.c:647 ../glib/guri.c:659 - #, c-format - msgid "Could not parse port ‘%.*s’ in URI" - msgstr "无法解析 URI 中的端口“%.*s”" - --#: glib/guri.c:666 -+#: ../glib/guri.c:666 - #, c-format - msgid "Port ‘%.*s’ in URI is out of range" - msgstr "URI 中的端口“%.*s”超出范围" - --#: glib/guri.c:1226 glib/guri.c:1290 -+#: ../glib/guri.c:1226 ../glib/guri.c:1290 - #, c-format - msgid "URI ‘%s’ is not an absolute URI" - msgstr "URI“%s”不是绝对 URI" - --#: glib/guri.c:1232 -+#: ../glib/guri.c:1232 - #, c-format - msgid "URI ‘%s’ has no host component" - msgstr "URI“%s”没有主机部分" - --#: glib/guri.c:1462 -+#: ../glib/guri.c:1462 - msgid "URI is not absolute, and no base URI was provided" - msgstr "URI 不是绝对的,且未提供 base URI" - --#: glib/guri.c:2248 -+#: ../glib/guri.c:2248 - msgid "Missing ‘=’ and parameter value" - msgstr "缺少“=”和参数值" - --#: glib/gutf8.c:834 -+#: ../glib/gutf8.c:834 - msgid "Failed to allocate memory" - msgstr "分配内存失败" - --#: glib/gutf8.c:967 -+#: ../glib/gutf8.c:967 - msgid "Character out of range for UTF-8" - msgstr "字符超出 UTF-8 范围" - --#: glib/gutf8.c:1069 glib/gutf8.c:1078 glib/gutf8.c:1208 glib/gutf8.c:1217 --#: glib/gutf8.c:1356 glib/gutf8.c:1453 -+#: ../glib/gutf8.c:1069 ../glib/gutf8.c:1078 ../glib/gutf8.c:1208 -+#: ../glib/gutf8.c:1217 ../glib/gutf8.c:1356 ../glib/gutf8.c:1453 - msgid "Invalid sequence in conversion input" - msgstr "转换输入中出现无效序列" - --#: glib/gutf8.c:1367 glib/gutf8.c:1464 -+#: ../glib/gutf8.c:1367 ../glib/gutf8.c:1464 - msgid "Character out of range for UTF-16" - msgstr "字符超出 UTF-16 范围" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 kB" --#: glib/gutils.c:2857 -+#: ../glib/gutils.c:2857 - msgid "kB" - msgstr "kB" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 MB" --#: glib/gutils.c:2859 -+#: ../glib/gutils.c:2859 - msgid "MB" - msgstr "MB" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 GB" --#: glib/gutils.c:2861 -+#: ../glib/gutils.c:2861 - msgid "GB" - msgstr "GB" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 TB" --#: glib/gutils.c:2863 -+#: ../glib/gutils.c:2863 - msgid "TB" - msgstr "TB" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 PB" --#: glib/gutils.c:2865 -+#: ../glib/gutils.c:2865 - msgid "PB" - msgstr "PB" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 EB" --#: glib/gutils.c:2867 -+#: ../glib/gutils.c:2867 - msgid "EB" - msgstr "EB" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 KiB" --#: glib/gutils.c:2871 -+#: ../glib/gutils.c:2871 - msgid "KiB" - msgstr "KiB" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 MiB" --#: glib/gutils.c:2873 -+#: ../glib/gutils.c:2873 - msgid "MiB" - msgstr "MiB" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 GiB" --#: glib/gutils.c:2875 -+#: ../glib/gutils.c:2875 - msgid "GiB" - msgstr "GiB" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 TiB" --#: glib/gutils.c:2877 -+#: ../glib/gutils.c:2877 - msgid "TiB" - msgstr "TiB" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 PiB" --#: glib/gutils.c:2879 -+#: ../glib/gutils.c:2879 - msgid "PiB" - msgstr "PiB" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 EiB" --#: glib/gutils.c:2881 -+#: ../glib/gutils.c:2881 - msgid "EiB" - msgstr "EiB" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 kb" --#: glib/gutils.c:2885 -+#: ../glib/gutils.c:2885 - msgid "kb" - msgstr "kb" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 Mb" --#: glib/gutils.c:2887 -+#: ../glib/gutils.c:2887 - msgid "Mb" - msgstr "Mb" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 Gb" --#: glib/gutils.c:2889 -+#: ../glib/gutils.c:2889 - msgid "Gb" - msgstr "Gb" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 Tb" --#: glib/gutils.c:2891 -+#: ../glib/gutils.c:2891 - msgid "Tb" - msgstr "Tb" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 Pb" --#: glib/gutils.c:2893 -+#: ../glib/gutils.c:2893 - msgid "Pb" - msgstr "Pb" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 Eb" --#: glib/gutils.c:2895 -+#: ../glib/gutils.c:2895 - msgid "Eb" - msgstr "Eb" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 Kib" --#: glib/gutils.c:2899 -+#: ../glib/gutils.c:2899 - msgid "Kib" - msgstr "Kib" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 Mib" --#: glib/gutils.c:2901 -+#: ../glib/gutils.c:2901 - msgid "Mib" - msgstr "Mib" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 Gib" --#: glib/gutils.c:2903 -+#: ../glib/gutils.c:2903 - msgid "Gib" - msgstr "Gib" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 Tib" --#: glib/gutils.c:2905 -+#: ../glib/gutils.c:2905 - msgid "Tib" - msgstr "Tib" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 Pib" --#: glib/gutils.c:2907 -+#: ../glib/gutils.c:2907 - msgid "Pib" - msgstr "Pib" - - #. Translators: A unit symbol for size formatting, showing for example: "13.0 Eib" --#: glib/gutils.c:2909 -+#: ../glib/gutils.c:2909 - msgid "Eib" - msgstr "Eib" - --#: glib/gutils.c:2947 -+#: ../glib/gutils.c:2947 - msgid "byte" - msgid_plural "bytes" - msgstr[0] "字节" - --#: glib/gutils.c:2951 -+#: ../glib/gutils.c:2951 - msgid "bit" - msgid_plural "bits" - msgstr[0] "位" - - #. Translators: The "%u" is replaced with the size value, like "13"; it could - #. * be part of "13 bytes", but only the number is requested this time. --#: glib/gutils.c:2959 -+#: ../glib/gutils.c:2959 - #, c-format - msgctxt "format-size" - msgid "%u" -@@ -6041,7 +6136,7 @@ msgstr "%u" - - #. Translators: The first "%u" is replaced with the value, the "%s" with a unit of the value. - #. * The order can be changed with "%$2s %$1u". An example: "13 bytes" --#: glib/gutils.c:2964 -+#: ../glib/gutils.c:2964 - #, c-format - msgctxt "format-size" - msgid "%u %s" -@@ -6049,7 +6144,7 @@ msgstr "%u %s" - - #. Translators: The "%.1f" is replaced with the size value, like "13.0"; it could - #. * be part of "13.0 MB", but only the number is requested this time. --#: glib/gutils.c:3000 -+#: ../glib/gutils.c:3000 - #, c-format - msgctxt "format-size" - msgid "%.1f" -@@ -6058,27 +6153,27 @@ msgstr "%.1f" - #. Translators: The first "%.1f" is replaced with the value, the "%s" with a unit of the value. - #. * The order can be changed with "%$2s %$1.1f". Keep the no-break space between the value and - #. * the unit symbol. An example: "13.0 MB" --#: glib/gutils.c:3006 -+#: ../glib/gutils.c:3006 - #, c-format - msgctxt "format-size" - msgid "%.1f %s" - msgstr "%.1f %s" - - #. Translators: the %s in "%s bytes" will always be replaced by a number. --#: glib/gutils.c:3046 -+#: ../glib/gutils.c:3046 - #, c-format - msgid "%s byte" - msgid_plural "%s bytes" - msgstr[0] "%s 字节" - - #. Translators: the %s in "%s bits" will always be replaced by a number. --#: glib/gutils.c:3051 -+#: ../glib/gutils.c:3051 - #, c-format - msgid "%s bit" - msgid_plural "%s bits" - msgstr[0] "%s 位" - --#: glib/gutils.c:3092 -+#: ../glib/gutils.c:3092 - #, c-format - msgid "%u byte" - msgid_plural "%u bytes" -@@ -6089,37 +6184,43 @@ msgstr[0] "%u 字节" - #. * compatibility. Users will not see this string unless a program is using this deprecated function. - #. * Please translate as literally as possible. - #. --#: glib/gutils.c:3105 -+#: ../glib/gutils.c:3105 - #, c-format - msgid "%.1f KB" - msgstr "%.1f KB" - --#: glib/gutils.c:3110 -+#: ../glib/gutils.c:3110 - #, c-format - msgid "%.1f MB" - msgstr "%.1f MB" - --#: glib/gutils.c:3115 -+#: ../glib/gutils.c:3115 - #, c-format - msgid "%.1f GB" - msgstr "%.1f GB" - --#: glib/gutils.c:3120 -+#: ../glib/gutils.c:3120 - #, c-format - msgid "%.1f TB" - msgstr "%.1f TB" - --#: glib/gutils.c:3125 -+#: ../glib/gutils.c:3125 - #, c-format - msgid "%.1f PB" - msgstr "%.1f PB" - --#: glib/gutils.c:3130 -+#: ../glib/gutils.c:3130 - #, c-format - msgid "%.1f EB" - msgstr "%.1f EB" - --#, c-format -+#~ msgid "" -+#~ "Warning: Schema “%s” has path “%s”. Paths starting with “/apps/”, “/" -+#~ "desktop/” or “/system/” are deprecated." -+#~ msgstr "" -+#~ "警告:架构“%s”带有路径“%s”。以“/apps/”、“/desktop/”或“/system/”开头的路径" -+#~ "已弃用。" -+ - #~ msgid "edit name: %s\n" - #~ msgstr "编辑名称:%s\n" - -@@ -6171,99 +6272,75 @@ msgstr "%.1f EB" - #~ msgid "PCRE library is compiled without UTF8 properties support" - #~ msgstr "PCRE 库编译时未包含 UTF8 属性支持" - --#, c-format - #~ msgid "Error while optimizing regular expression %s: %s" - #~ msgstr "优化正则表达式 %s 时出错:%s" - --#, c-format - #~ msgid "%.1f MB" - #~ msgstr "%.1f MB" - --#, c-format - #~ msgid "%.1f GB" - #~ msgstr "%.1f GB" - --#, c-format - #~ msgid "%.1f TB" - #~ msgstr "%.1f TB" - --#, c-format - #~ msgid "%.1f PB" - #~ msgstr "%.1f PB" - --#, c-format - #~ msgid "%.1f EB" - #~ msgstr "%.1f EB" - --#, c-format - #~ msgid "%.1f KiB" - #~ msgstr "%.1f KiB" - --#, c-format - #~ msgid "%.1f MiB" - #~ msgstr "%.1f MiB" - --#, c-format - #~ msgid "%.1f GiB" - #~ msgstr "%.1f GiB" - --#, c-format - #~ msgid "%.1f TiB" - #~ msgstr "%.1f TiB" - --#, c-format - #~ msgid "%.1f PiB" - #~ msgstr "%.1f PiB" - --#, c-format - #~ msgid "%.1f EiB" - #~ msgstr "%.1f EiB" - --#, c-format - #~ msgid "%.1f kb" - #~ msgstr "%.1f kb" - --#, c-format - #~ msgid "%.1f Mb" - #~ msgstr "%.1f Mb" - --#, c-format - #~ msgid "%.1f Gb" - #~ msgstr "%.1f Gb" - --#, c-format - #~ msgid "%.1f Tb" - #~ msgstr "%.1f Tb" - --#, c-format - #~ msgid "%.1f Pb" - #~ msgstr "%.1f Pb" - --#, c-format - #~ msgid "%.1f Eb" - #~ msgstr "%.1f Eb" - --#, c-format - #~ msgid "%.1f Kib" - #~ msgstr "%.1f Kib" - --#, c-format - #~ msgid "%.1f Mib" - #~ msgstr "%.1f Mib" - --#, c-format - #~ msgid "%.1f Gib" - #~ msgstr "%.1f Gib" - --#, c-format - #~ msgid "%.1f Tib" - #~ msgstr "%.1f Tib" - --#, c-format - #~ msgid "%.1f Pib" - #~ msgstr "%.1f Pib" - --#, c-format - #~ msgid "%.1f Eib" - #~ msgstr "%.1f Eib" - diff --git a/debian/patches/update-changelog.patch b/debian/patches/update-changelog.patch deleted file mode 100644 index a7d5c58..0000000 --- a/debian/patches/update-changelog.patch +++ /dev/null @@ -1,2282 +0,0 @@ -From: Yue-Lan -Date: Wed, 19 Apr 2023 17:31:14 +0800 -Subject: update changelog. - ---- - subprojects/gvdb/COPYING | 504 ++++++++++++++++++++++++ - subprojects/gvdb/README.md | 25 ++ - subprojects/gvdb/gvdb.doap | 57 +++ - subprojects/gvdb/gvdb/gvdb-builder.c | 637 ++++++++++++++++++++++++++++++ - subprojects/gvdb/gvdb/gvdb-builder.h | 66 ++++ - subprojects/gvdb/gvdb/gvdb-format.h | 85 ++++ - subprojects/gvdb/gvdb/gvdb-reader.c | 736 +++++++++++++++++++++++++++++++++++ - subprojects/gvdb/gvdb/gvdb-reader.h | 78 ++++ - subprojects/gvdb/meson.build | 15 + - 9 files changed, 2203 insertions(+) - create mode 100644 subprojects/gvdb/COPYING - create mode 100644 subprojects/gvdb/README.md - create mode 100644 subprojects/gvdb/gvdb.doap - create mode 100644 subprojects/gvdb/gvdb/gvdb-builder.c - create mode 100644 subprojects/gvdb/gvdb/gvdb-builder.h - create mode 100644 subprojects/gvdb/gvdb/gvdb-format.h - create mode 100644 subprojects/gvdb/gvdb/gvdb-reader.c - create mode 100644 subprojects/gvdb/gvdb/gvdb-reader.h - create mode 100644 subprojects/gvdb/meson.build - -diff --git a/subprojects/gvdb/COPYING b/subprojects/gvdb/COPYING -new file mode 100644 -index 0000000..d129f48 ---- /dev/null -+++ b/subprojects/gvdb/COPYING -@@ -0,0 +1,504 @@ -+ GNU LESSER GENERAL PUBLIC LICENSE -+ Version 2.1, February 1999 -+ -+ Copyright (C) 1991, 1999 Free Software Foundation, Inc. -+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ Everyone is permitted to copy and distribute verbatim copies -+ of this license document, but changing it is not allowed. -+ -+(This is the first released version of the Lesser GPL. It also counts -+ as the successor of the GNU Library Public License, version 2, hence -+ the version number 2.1.) -+ -+ Preamble -+ -+ The licenses for most software are designed to take away your -+freedom to share and change it. By contrast, the GNU General Public -+Licenses are intended to guarantee your freedom to share and change -+free software--to make sure the software is free for all its users. -+ -+ This license, the Lesser General Public License, applies to some -+specially designated software packages--typically libraries--of the -+Free Software Foundation and other authors who decide to use it. You -+can use it too, but we suggest you first think carefully about whether -+this license or the ordinary General Public License is the better -+strategy to use in any particular case, based on the explanations below. -+ -+ When we speak of free software, we are referring to freedom of use, -+not price. Our General Public Licenses are designed to make sure that -+you have the freedom to distribute copies of free software (and charge -+for this service if you wish); that you receive source code or can get -+it if you want it; that you can change the software and use pieces of -+it in new free programs; and that you are informed that you can do -+these things. -+ -+ To protect your rights, we need to make restrictions that forbid -+distributors to deny you these rights or to ask you to surrender these -+rights. These restrictions translate to certain responsibilities for -+you if you distribute copies of the library or if you modify it. -+ -+ For example, if you distribute copies of the library, whether gratis -+or for a fee, you must give the recipients all the rights that we gave -+you. You must make sure that they, too, receive or can get the source -+code. If you link other code with the library, you must provide -+complete object files to the recipients, so that they can relink them -+with the library after making changes to the library and recompiling -+it. And you must show them these terms so they know their rights. -+ -+ We protect your rights with a two-step method: (1) we copyright the -+library, and (2) we offer you this license, which gives you legal -+permission to copy, distribute and/or modify the library. -+ -+ To protect each distributor, we want to make it very clear that -+there is no warranty for the free library. Also, if the library is -+modified by someone else and passed on, the recipients should know -+that what they have is not the original version, so that the original -+author's reputation will not be affected by problems that might be -+introduced by others. -+ -+ Finally, software patents pose a constant threat to the existence of -+any free program. We wish to make sure that a company cannot -+effectively restrict the users of a free program by obtaining a -+restrictive license from a patent holder. Therefore, we insist that -+any patent license obtained for a version of the library must be -+consistent with the full freedom of use specified in this license. -+ -+ Most GNU software, including some libraries, is covered by the -+ordinary GNU General Public License. This license, the GNU Lesser -+General Public License, applies to certain designated libraries, and -+is quite different from the ordinary General Public License. We use -+this license for certain libraries in order to permit linking those -+libraries into non-free programs. -+ -+ When a program is linked with a library, whether statically or using -+a shared library, the combination of the two is legally speaking a -+combined work, a derivative of the original library. The ordinary -+General Public License therefore permits such linking only if the -+entire combination fits its criteria of freedom. The Lesser General -+Public License permits more lax criteria for linking other code with -+the library. -+ -+ We call this license the "Lesser" General Public License because it -+does Less to protect the user's freedom than the ordinary General -+Public License. It also provides other free software developers Less -+of an advantage over competing non-free programs. These disadvantages -+are the reason we use the ordinary General Public License for many -+libraries. However, the Lesser license provides advantages in certain -+special circumstances. -+ -+ For example, on rare occasions, there may be a special need to -+encourage the widest possible use of a certain library, so that it becomes -+a de-facto standard. To achieve this, non-free programs must be -+allowed to use the library. A more frequent case is that a free -+library does the same job as widely used non-free libraries. In this -+case, there is little to gain by limiting the free library to free -+software only, so we use the Lesser General Public License. -+ -+ In other cases, permission to use a particular library in non-free -+programs enables a greater number of people to use a large body of -+free software. For example, permission to use the GNU C Library in -+non-free programs enables many more people to use the whole GNU -+operating system, as well as its variant, the GNU/Linux operating -+system. -+ -+ Although the Lesser General Public License is Less protective of the -+users' freedom, it does ensure that the user of a program that is -+linked with the Library has the freedom and the wherewithal to run -+that program using a modified version of the Library. -+ -+ The precise terms and conditions for copying, distribution and -+modification follow. Pay close attention to the difference between a -+"work based on the library" and a "work that uses the library". The -+former contains code derived from the library, whereas the latter must -+be combined with the library in order to run. -+ -+ GNU LESSER GENERAL PUBLIC LICENSE -+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -+ -+ 0. This License Agreement applies to any software library or other -+program which contains a notice placed by the copyright holder or -+other authorized party saying it may be distributed under the terms of -+this Lesser General Public License (also called "this License"). -+Each licensee is addressed as "you". -+ -+ A "library" means a collection of software functions and/or data -+prepared so as to be conveniently linked with application programs -+(which use some of those functions and data) to form executables. -+ -+ The "Library", below, refers to any such software library or work -+which has been distributed under these terms. A "work based on the -+Library" means either the Library or any derivative work under -+copyright law: that is to say, a work containing the Library or a -+portion of it, either verbatim or with modifications and/or translated -+straightforwardly into another language. (Hereinafter, translation is -+included without limitation in the term "modification".) -+ -+ "Source code" for a work means the preferred form of the work for -+making modifications to it. For a library, complete source code means -+all the source code for all modules it contains, plus any associated -+interface definition files, plus the scripts used to control compilation -+and installation of the library. -+ -+ Activities other than copying, distribution and modification are not -+covered by this License; they are outside its scope. The act of -+running a program using the Library is not restricted, and output from -+such a program is covered only if its contents constitute a work based -+on the Library (independent of the use of the Library in a tool for -+writing it). Whether that is true depends on what the Library does -+and what the program that uses the Library does. -+ -+ 1. You may copy and distribute verbatim copies of the Library's -+complete source code as you receive it, in any medium, provided that -+you conspicuously and appropriately publish on each copy an -+appropriate copyright notice and disclaimer of warranty; keep intact -+all the notices that refer to this License and to the absence of any -+warranty; and distribute a copy of this License along with the -+Library. -+ -+ You may charge a fee for the physical act of transferring a copy, -+and you may at your option offer warranty protection in exchange for a -+fee. -+ -+ 2. You may modify your copy or copies of the Library or any portion -+of it, thus forming a work based on the Library, and copy and -+distribute such modifications or work under the terms of Section 1 -+above, provided that you also meet all of these conditions: -+ -+ a) The modified work must itself be a software library. -+ -+ b) You must cause the files modified to carry prominent notices -+ stating that you changed the files and the date of any change. -+ -+ c) You must cause the whole of the work to be licensed at no -+ charge to all third parties under the terms of this License. -+ -+ d) If a facility in the modified Library refers to a function or a -+ table of data to be supplied by an application program that uses -+ the facility, other than as an argument passed when the facility -+ is invoked, then you must make a good faith effort to ensure that, -+ in the event an application does not supply such function or -+ table, the facility still operates, and performs whatever part of -+ its purpose remains meaningful. -+ -+ (For example, a function in a library to compute square roots has -+ a purpose that is entirely well-defined independent of the -+ application. Therefore, Subsection 2d requires that any -+ application-supplied function or table used by this function must -+ be optional: if the application does not supply it, the square -+ root function must still compute square roots.) -+ -+These requirements apply to the modified work as a whole. If -+identifiable sections of that work are not derived from the Library, -+and can be reasonably considered independent and separate works in -+themselves, then this License, and its terms, do not apply to those -+sections when you distribute them as separate works. But when you -+distribute the same sections as part of a whole which is a work based -+on the Library, the distribution of the whole must be on the terms of -+this License, whose permissions for other licensees extend to the -+entire whole, and thus to each and every part regardless of who wrote -+it. -+ -+Thus, it is not the intent of this section to claim rights or contest -+your rights to work written entirely by you; rather, the intent is to -+exercise the right to control the distribution of derivative or -+collective works based on the Library. -+ -+In addition, mere aggregation of another work not based on the Library -+with the Library (or with a work based on the Library) on a volume of -+a storage or distribution medium does not bring the other work under -+the scope of this License. -+ -+ 3. You may opt to apply the terms of the ordinary GNU General Public -+License instead of this License to a given copy of the Library. To do -+this, you must alter all the notices that refer to this License, so -+that they refer to the ordinary GNU General Public License, version 2, -+instead of to this License. (If a newer version than version 2 of the -+ordinary GNU General Public License has appeared, then you can specify -+that version instead if you wish.) Do not make any other change in -+these notices. -+ -+ Once this change is made in a given copy, it is irreversible for -+that copy, so the ordinary GNU General Public License applies to all -+subsequent copies and derivative works made from that copy. -+ -+ This option is useful when you wish to copy part of the code of -+the Library into a program that is not a library. -+ -+ 4. You may copy and distribute the Library (or a portion or -+derivative of it, under Section 2) in object code or executable form -+under the terms of Sections 1 and 2 above provided that you accompany -+it with the complete corresponding machine-readable source code, which -+must be distributed under the terms of Sections 1 and 2 above on a -+medium customarily used for software interchange. -+ -+ If distribution of object code is made by offering access to copy -+from a designated place, then offering equivalent access to copy the -+source code from the same place satisfies the requirement to -+distribute the source code, even though third parties are not -+compelled to copy the source along with the object code. -+ -+ 5. A program that contains no derivative of any portion of the -+Library, but is designed to work with the Library by being compiled or -+linked with it, is called a "work that uses the Library". Such a -+work, in isolation, is not a derivative work of the Library, and -+therefore falls outside the scope of this License. -+ -+ However, linking a "work that uses the Library" with the Library -+creates an executable that is a derivative of the Library (because it -+contains portions of the Library), rather than a "work that uses the -+library". The executable is therefore covered by this License. -+Section 6 states terms for distribution of such executables. -+ -+ When a "work that uses the Library" uses material from a header file -+that is part of the Library, the object code for the work may be a -+derivative work of the Library even though the source code is not. -+Whether this is true is especially significant if the work can be -+linked without the Library, or if the work is itself a library. The -+threshold for this to be true is not precisely defined by law. -+ -+ If such an object file uses only numerical parameters, data -+structure layouts and accessors, and small macros and small inline -+functions (ten lines or less in length), then the use of the object -+file is unrestricted, regardless of whether it is legally a derivative -+work. (Executables containing this object code plus portions of the -+Library will still fall under Section 6.) -+ -+ Otherwise, if the work is a derivative of the Library, you may -+distribute the object code for the work under the terms of Section 6. -+Any executables containing that work also fall under Section 6, -+whether or not they are linked directly with the Library itself. -+ -+ 6. As an exception to the Sections above, you may also combine or -+link a "work that uses the Library" with the Library to produce a -+work containing portions of the Library, and distribute that work -+under terms of your choice, provided that the terms permit -+modification of the work for the customer's own use and reverse -+engineering for debugging such modifications. -+ -+ You must give prominent notice with each copy of the work that the -+Library is used in it and that the Library and its use are covered by -+this License. You must supply a copy of this License. If the work -+during execution displays copyright notices, you must include the -+copyright notice for the Library among them, as well as a reference -+directing the user to the copy of this License. Also, you must do one -+of these things: -+ -+ a) Accompany the work with the complete corresponding -+ machine-readable source code for the Library including whatever -+ changes were used in the work (which must be distributed under -+ Sections 1 and 2 above); and, if the work is an executable linked -+ with the Library, with the complete machine-readable "work that -+ uses the Library", as object code and/or source code, so that the -+ user can modify the Library and then relink to produce a modified -+ executable containing the modified Library. (It is understood -+ that the user who changes the contents of definitions files in the -+ Library will not necessarily be able to recompile the application -+ to use the modified definitions.) -+ -+ b) Use a suitable shared library mechanism for linking with the -+ Library. A suitable mechanism is one that (1) uses at run time a -+ copy of the library already present on the user's computer system, -+ rather than copying library functions into the executable, and (2) -+ will operate properly with a modified version of the library, if -+ the user installs one, as long as the modified version is -+ interface-compatible with the version that the work was made with. -+ -+ c) Accompany the work with a written offer, valid for at -+ least three years, to give the same user the materials -+ specified in Subsection 6a, above, for a charge no more -+ than the cost of performing this distribution. -+ -+ d) If distribution of the work is made by offering access to copy -+ from a designated place, offer equivalent access to copy the above -+ specified materials from the same place. -+ -+ e) Verify that the user has already received a copy of these -+ materials or that you have already sent this user a copy. -+ -+ For an executable, the required form of the "work that uses the -+Library" must include any data and utility programs needed for -+reproducing the executable from it. However, as a special exception, -+the materials to be distributed need not include anything that is -+normally distributed (in either source or binary form) with the major -+components (compiler, kernel, and so on) of the operating system on -+which the executable runs, unless that component itself accompanies -+the executable. -+ -+ It may happen that this requirement contradicts the license -+restrictions of other proprietary libraries that do not normally -+accompany the operating system. Such a contradiction means you cannot -+use both them and the Library together in an executable that you -+distribute. -+ -+ 7. You may place library facilities that are a work based on the -+Library side-by-side in a single library together with other library -+facilities not covered by this License, and distribute such a combined -+library, provided that the separate distribution of the work based on -+the Library and of the other library facilities is otherwise -+permitted, and provided that you do these two things: -+ -+ a) Accompany the combined library with a copy of the same work -+ based on the Library, uncombined with any other library -+ facilities. This must be distributed under the terms of the -+ Sections above. -+ -+ b) Give prominent notice with the combined library of the fact -+ that part of it is a work based on the Library, and explaining -+ where to find the accompanying uncombined form of the same work. -+ -+ 8. You may not copy, modify, sublicense, link with, or distribute -+the Library except as expressly provided under this License. Any -+attempt otherwise to copy, modify, sublicense, link with, or -+distribute the Library is void, and will automatically terminate your -+rights under this License. However, parties who have received copies, -+or rights, from you under this License will not have their licenses -+terminated so long as such parties remain in full compliance. -+ -+ 9. You are not required to accept this License, since you have not -+signed it. However, nothing else grants you permission to modify or -+distribute the Library or its derivative works. These actions are -+prohibited by law if you do not accept this License. Therefore, by -+modifying or distributing the Library (or any work based on the -+Library), you indicate your acceptance of this License to do so, and -+all its terms and conditions for copying, distributing or modifying -+the Library or works based on it. -+ -+ 10. Each time you redistribute the Library (or any work based on the -+Library), the recipient automatically receives a license from the -+original licensor to copy, distribute, link with or modify the Library -+subject to these terms and conditions. You may not impose any further -+restrictions on the recipients' exercise of the rights granted herein. -+You are not responsible for enforcing compliance by third parties with -+this License. -+ -+ 11. If, as a consequence of a court judgment or allegation of patent -+infringement or for any other reason (not limited to patent issues), -+conditions are imposed on you (whether by court order, agreement or -+otherwise) that contradict the conditions of this License, they do not -+excuse you from the conditions of this License. If you cannot -+distribute so as to satisfy simultaneously your obligations under this -+License and any other pertinent obligations, then as a consequence you -+may not distribute the Library at all. For example, if a patent -+license would not permit royalty-free redistribution of the Library by -+all those who receive copies directly or indirectly through you, then -+the only way you could satisfy both it and this License would be to -+refrain entirely from distribution of the Library. -+ -+If any portion of this section is held invalid or unenforceable under any -+particular circumstance, the balance of the section is intended to apply, -+and the section as a whole is intended to apply in other circumstances. -+ -+It is not the purpose of this section to induce you to infringe any -+patents or other property right claims or to contest validity of any -+such claims; this section has the sole purpose of protecting the -+integrity of the free software distribution system which is -+implemented by public license practices. Many people have made -+generous contributions to the wide range of software distributed -+through that system in reliance on consistent application of that -+system; it is up to the author/donor to decide if he or she is willing -+to distribute software through any other system and a licensee cannot -+impose that choice. -+ -+This section is intended to make thoroughly clear what is believed to -+be a consequence of the rest of this License. -+ -+ 12. If the distribution and/or use of the Library is restricted in -+certain countries either by patents or by copyrighted interfaces, the -+original copyright holder who places the Library under this License may add -+an explicit geographical distribution limitation excluding those countries, -+so that distribution is permitted only in or among countries not thus -+excluded. In such case, this License incorporates the limitation as if -+written in the body of this License. -+ -+ 13. The Free Software Foundation may publish revised and/or new -+versions of the Lesser General Public License from time to time. -+Such new versions will be similar in spirit to the present version, -+but may differ in detail to address new problems or concerns. -+ -+Each version is given a distinguishing version number. If the Library -+specifies a version number of this License which applies to it and -+"any later version", you have the option of following the terms and -+conditions either of that version or of any later version published by -+the Free Software Foundation. If the Library does not specify a -+license version number, you may choose any version ever published by -+the Free Software Foundation. -+ -+ 14. If you wish to incorporate parts of the Library into other free -+programs whose distribution conditions are incompatible with these, -+write to the author to ask for permission. For software which is -+copyrighted by the Free Software Foundation, write to the Free -+Software Foundation; we sometimes make exceptions for this. Our -+decision will be guided by the two goals of preserving the free status -+of all derivatives of our free software and of promoting the sharing -+and reuse of software generally. -+ -+ NO WARRANTY -+ -+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. -+ -+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -+DAMAGES. -+ -+ END OF TERMS AND CONDITIONS -+ -+ How to Apply These Terms to Your New Libraries -+ -+ If you develop a new library, and you want it to be of the greatest -+possible use to the public, we recommend making it free software that -+everyone can redistribute and change. You can do so by permitting -+redistribution under these terms (or, alternatively, under the terms of the -+ordinary General Public License). -+ -+ To apply these terms, attach the following notices to the library. It is -+safest to attach them to the start of each source file to most effectively -+convey the exclusion of warranty; and each file should have at least the -+"copyright" line and a pointer to where the full notice is found. -+ -+ GVDB -+ Copyright (C) 2019 GNOME -+ -+ This library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ This library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with this library; if not, write to the Free Software -+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 -+ USA -+ -+Also add information on how to contact you by electronic and paper mail. -+ -+You should also get your employer (if you work as a programmer) or your -+school, if any, to sign a "copyright disclaimer" for the library, if -+necessary. Here is a sample; alter the names: -+ -+ Yoyodyne, Inc., hereby disclaims all copyright interest in the -+ library `Frob' (a library for tweaking knobs) written by James Random -+ Hacker. -+ -+ {signature of Ty Coon}, 1 April 1990 -+ Ty Coon, President of Vice -+ -+That's all there is to it! -diff --git a/subprojects/gvdb/README.md b/subprojects/gvdb/README.md -new file mode 100644 -index 0000000..2c53d77 ---- /dev/null -+++ b/subprojects/gvdb/README.md -@@ -0,0 +1,25 @@ -+GVDB -+==== -+ -+GVDB (GVariant Database) is a simple database file format that stores a -+mapping from strings to GVariant values in a way that is extremely -+efficient for lookups. -+ -+The code is intended to be pulled into projects as a submodule/subproject, -+and it is not shipped as a separately compiled library. It has no API -+guarantees. -+ -+A GVDB database table is a single file. It is designed to be memory mapped -+by one or more clients, with accesses to the stored data being fast. The -+storage format has low size overheads, assuming the GVariant formats for -+values do not require much padding or alignment. -+ -+Modifying a GVDB table requires writing out the whole file. This is -+relatively slow. `gvdb_table_write_contents()` does this by writing out -+the new file and atomically renaming it over the old one. This means -+that any clients who have memory mapped the old file will need to reload -+their memory mapping. -+ -+This means that if multiple clients are using a GVDB table, an external -+process is needed to synchronise writes and to notify clients to reload -+the table. `dconf-service` is an example of such a process. -diff --git a/subprojects/gvdb/gvdb.doap b/subprojects/gvdb/gvdb.doap -new file mode 100644 -index 0000000..8c5f3e8 ---- /dev/null -+++ b/subprojects/gvdb/gvdb.doap -@@ -0,0 +1,57 @@ -+ -+ -+ -+ -+ gvdb -+ GVariant Database file -+ -+ A simple database file format that stores a mapping from strings to -+ GVariant values in a way that is extremely efficient for lookups. -+ -+ The database is written once and can not be modified. -+ -+ Included here is reader code and a first-pass implementation of a -+ writer (that does not currently produce particularly optimised -+ output). -+ -+ It is intended that this code be used by copy-pasting into your -+ project or by making use of git-merge(1). -+ -+ -+ -+ -+ Matthias Clasen -+ -+ matthiasc -+ -+ -+ -+ -+ -+ Allison Ryan Lortie -+ -+ desrt -+ -+ -+ -+ -+ -+ Philip Withnall -+ -+ -+ pwithnall -+ -+ -+ -+ -+ -+ Emmanuele Bassi -+ -+ ebassi -+ -+ -+ -+ -diff --git a/subprojects/gvdb/gvdb/gvdb-builder.c b/subprojects/gvdb/gvdb/gvdb-builder.c -new file mode 100644 -index 0000000..5dae03e ---- /dev/null -+++ b/subprojects/gvdb/gvdb/gvdb-builder.c -@@ -0,0 +1,637 @@ -+/* -+ * Copyright © 2010 Codethink Limited -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, see . -+ * -+ * Author: Ryan Lortie -+ */ -+ -+#include "gvdb-builder.h" -+#include "gvdb-format.h" -+ -+#include -+#include -+#if !defined(G_OS_WIN32) || !defined(_MSC_VER) -+#include -+#endif -+#include -+ -+ -+struct _GvdbItem -+{ -+ gchar *key; -+ guint32 hash_value; -+ guint32_le assigned_index; -+ GvdbItem *parent; -+ GvdbItem *sibling; -+ GvdbItem *next; -+ -+ /* one of: -+ * this: -+ */ -+ GVariant *value; -+ -+ /* this: */ -+ GHashTable *table; -+ -+ /* or this: */ -+ GvdbItem *child; -+}; -+ -+static void -+gvdb_item_free (gpointer data) -+{ -+ GvdbItem *item = data; -+ -+ g_free (item->key); -+ -+ if (item->value) -+ g_variant_unref (item->value); -+ -+ if (item->table) -+ g_hash_table_unref (item->table); -+ -+ g_slice_free (GvdbItem, item); -+} -+ -+GHashTable * -+gvdb_hash_table_new (GHashTable *parent, -+ const gchar *name_in_parent) -+{ -+ GHashTable *table; -+ -+ table = g_hash_table_new_full (g_str_hash, g_str_equal, -+ g_free, gvdb_item_free); -+ -+ if (parent) -+ { -+ GvdbItem *item; -+ -+ item = gvdb_hash_table_insert (parent, name_in_parent); -+ gvdb_item_set_hash_table (item, table); -+ } -+ -+ return table; -+} -+ -+static guint32 -+djb_hash (const gchar *key) -+{ -+ guint32 hash_value = 5381; -+ -+ while (*key) -+ hash_value = hash_value * 33 + *(signed char *)key++; -+ -+ return hash_value; -+} -+ -+GvdbItem * -+gvdb_hash_table_insert (GHashTable *table, -+ const gchar *key) -+{ -+ GvdbItem *item; -+ -+ item = g_slice_new0 (GvdbItem); -+ item->key = g_strdup (key); -+ item->hash_value = djb_hash (key); -+ -+ g_hash_table_insert (table, g_strdup (key), item); -+ -+ return item; -+} -+ -+void -+gvdb_hash_table_insert_string (GHashTable *table, -+ const gchar *key, -+ const gchar *value) -+{ -+ GvdbItem *item; -+ -+ item = gvdb_hash_table_insert (table, key); -+ gvdb_item_set_value (item, g_variant_new_string (value)); -+} -+ -+void -+gvdb_item_set_value (GvdbItem *item, -+ GVariant *value) -+{ -+ g_return_if_fail (!item->value && !item->table && !item->child); -+ -+ item->value = g_variant_ref_sink (value); -+} -+ -+void -+gvdb_item_set_hash_table (GvdbItem *item, -+ GHashTable *table) -+{ -+ g_return_if_fail (!item->value && !item->table && !item->child); -+ -+ item->table = g_hash_table_ref (table); -+} -+ -+void -+gvdb_item_set_parent (GvdbItem *item, -+ GvdbItem *parent) -+{ -+ GvdbItem **node; -+ -+ g_return_if_fail (g_str_has_prefix (item->key, parent->key)); -+ g_return_if_fail (!parent->value && !parent->table); -+ g_return_if_fail (!item->parent && !item->sibling); -+ -+ for (node = &parent->child; *node; node = &(*node)->sibling) -+ if (strcmp ((*node)->key, item->key) > 0) -+ break; -+ -+ item->parent = parent; -+ item->sibling = *node; -+ *node = item; -+} -+ -+typedef struct -+{ -+ GvdbItem **buckets; -+ gsize n_buckets; -+} HashTable; -+ -+static HashTable * -+hash_table_new (gsize n_buckets) -+{ -+ HashTable *table; -+ -+ table = g_slice_new (HashTable); -+ table->buckets = g_new0 (GvdbItem *, n_buckets); -+ table->n_buckets = n_buckets; -+ -+ return table; -+} -+ -+static void -+hash_table_free (HashTable *table) -+{ -+ g_free (table->buckets); -+ -+ g_slice_free (HashTable, table); -+} -+ -+static void -+hash_table_insert (gpointer key, -+ gpointer value, -+ gpointer data) -+{ -+ guint32 hash_value, bucket; -+ HashTable *table = data; -+ GvdbItem *item = value; -+ -+ hash_value = djb_hash (key); -+ bucket = hash_value % table->n_buckets; -+ item->next = table->buckets[bucket]; -+ table->buckets[bucket] = item; -+} -+ -+static guint32_le -+item_to_index (GvdbItem *item) -+{ -+ if (item != NULL) -+ return item->assigned_index; -+ -+ return guint32_to_le ((guint32) -1); -+} -+ -+typedef struct -+{ -+ GQueue *chunks; -+ guint64 offset; -+ gboolean byteswap; -+} FileBuilder; -+ -+typedef struct -+{ -+ gsize offset; -+ gsize size; -+ gpointer data; -+} FileChunk; -+ -+static gpointer -+file_builder_allocate (FileBuilder *fb, -+ guint alignment, -+ gsize size, -+ struct gvdb_pointer *pointer) -+{ -+ FileChunk *chunk; -+ -+ if (size == 0) -+ return NULL; -+ -+ fb->offset += (guint64) (-fb->offset) & (alignment - 1); -+ chunk = g_slice_new (FileChunk); -+ chunk->offset = fb->offset; -+ chunk->size = size; -+ chunk->data = g_malloc (size); -+ -+ pointer->start = guint32_to_le (fb->offset); -+ fb->offset += size; -+ pointer->end = guint32_to_le (fb->offset); -+ -+ g_queue_push_tail (fb->chunks, chunk); -+ -+ return chunk->data; -+} -+ -+static void -+file_builder_add_value (FileBuilder *fb, -+ GVariant *value, -+ struct gvdb_pointer *pointer) -+{ -+ GVariant *variant, *normal; -+ gpointer data; -+ gsize size; -+ -+ if (fb->byteswap) -+ { -+ value = g_variant_byteswap (value); -+ variant = g_variant_new_variant (value); -+ g_variant_unref (value); -+ } -+ else -+ variant = g_variant_new_variant (value); -+ -+ normal = g_variant_get_normal_form (variant); -+ g_variant_unref (variant); -+ -+ size = g_variant_get_size (normal); -+ data = file_builder_allocate (fb, 8, size, pointer); -+ g_variant_store (normal, data); -+ g_variant_unref (normal); -+} -+ -+static void -+file_builder_add_string (FileBuilder *fb, -+ const gchar *string, -+ guint32_le *start, -+ guint16_le *size) -+{ -+ FileChunk *chunk; -+ gsize length; -+ -+ length = strlen (string); -+ -+ chunk = g_slice_new (FileChunk); -+ chunk->offset = fb->offset; -+ chunk->size = length; -+ chunk->data = g_malloc (length); -+ if (length != 0) -+ memcpy (chunk->data, string, length); -+ -+ *start = guint32_to_le (fb->offset); -+ *size = guint16_to_le (length); -+ fb->offset += length; -+ -+ g_queue_push_tail (fb->chunks, chunk); -+} -+ -+static void -+file_builder_allocate_for_hash (FileBuilder *fb, -+ gsize n_buckets, -+ gsize n_items, -+ guint bloom_shift, -+ gsize n_bloom_words, -+ guint32_le **bloom_filter, -+ guint32_le **hash_buckets, -+ struct gvdb_hash_item **hash_items, -+ struct gvdb_pointer *pointer) -+{ -+ guint32_le bloom_hdr, table_hdr; -+ guchar *data; -+ gsize size; -+ -+ g_assert (n_bloom_words < (1u << 27)); -+ -+ bloom_hdr = guint32_to_le (bloom_shift << 27 | n_bloom_words); -+ table_hdr = guint32_to_le (n_buckets); -+ -+ size = sizeof bloom_hdr + sizeof table_hdr + -+ n_bloom_words * sizeof (guint32_le) + -+ n_buckets * sizeof (guint32_le) + -+ n_items * sizeof (struct gvdb_hash_item); -+ -+ data = file_builder_allocate (fb, 4, size, pointer); -+ g_assert (data); -+ -+#define chunk(s) (size -= (s), data += (s), data - (s)) -+ memcpy (chunk (sizeof bloom_hdr), &bloom_hdr, sizeof bloom_hdr); -+ memcpy (chunk (sizeof table_hdr), &table_hdr, sizeof table_hdr); -+ *bloom_filter = (guint32_le *) chunk (n_bloom_words * sizeof (guint32_le)); -+ *hash_buckets = (guint32_le *) chunk (n_buckets * sizeof (guint32_le)); -+ *hash_items = (struct gvdb_hash_item *) chunk (n_items * -+ sizeof (struct gvdb_hash_item)); -+ g_assert (size == 0); -+#undef chunk -+ -+ memset (*bloom_filter, 0, n_bloom_words * sizeof (guint32_le)); -+ memset (*hash_buckets, 0, n_buckets * sizeof (guint32_le)); -+ memset (*hash_items, 0, n_items * sizeof (struct gvdb_hash_item)); -+ -+ /* NOTE - the code to actually fill in the bloom filter here is missing. -+ * Patches welcome! -+ * -+ * http://en.wikipedia.org/wiki/Bloom_filter -+ * http://0pointer.de/blog/projects/bloom.html -+ */ -+} -+ -+static void -+file_builder_add_hash (FileBuilder *fb, -+ GHashTable *table, -+ struct gvdb_pointer *pointer) -+{ -+ guint32_le *buckets, *bloom_filter; -+ struct gvdb_hash_item *items; -+ HashTable *mytable; -+ GvdbItem *item; -+ guint32 index; -+ gsize bucket; -+ -+ mytable = hash_table_new (g_hash_table_size (table)); -+ g_hash_table_foreach (table, hash_table_insert, mytable); -+ index = 0; -+ -+ for (bucket = 0; bucket < mytable->n_buckets; bucket++) -+ for (item = mytable->buckets[bucket]; item; item = item->next) -+ item->assigned_index = guint32_to_le (index++); -+ -+ file_builder_allocate_for_hash (fb, mytable->n_buckets, index, 5, 0, -+ &bloom_filter, &buckets, &items, pointer); -+ -+ index = 0; -+ for (bucket = 0; bucket < mytable->n_buckets; bucket++) -+ { -+ buckets[bucket] = guint32_to_le (index); -+ -+ for (item = mytable->buckets[bucket]; item; item = item->next) -+ { -+ struct gvdb_hash_item *entry = items++; -+ const gchar *basename; -+ -+ g_assert (index == guint32_from_le (item->assigned_index)); -+ entry->hash_value = guint32_to_le (item->hash_value); -+ entry->parent = item_to_index (item->parent); -+ entry->unused = 0; -+ -+ if (item->parent != NULL) -+ basename = item->key + strlen (item->parent->key); -+ else -+ basename = item->key; -+ -+ file_builder_add_string (fb, basename, -+ &entry->key_start, -+ &entry->key_size); -+ -+ if (item->value != NULL) -+ { -+ g_assert (item->child == NULL && item->table == NULL); -+ -+ file_builder_add_value (fb, item->value, &entry->value.pointer); -+ entry->type = 'v'; -+ } -+ -+ if (item->child != NULL) -+ { -+ guint32 children = 0, i = 0; -+ guint32_le *offsets; -+ GvdbItem *child; -+ -+ g_assert (item->table == NULL); -+ -+ for (child = item->child; child; child = child->sibling) -+ children++; -+ -+ offsets = file_builder_allocate (fb, 4, 4 * children, -+ &entry->value.pointer); -+ entry->type = 'L'; -+ -+ for (child = item->child; child; child = child->sibling) -+ offsets[i++] = child->assigned_index; -+ -+ g_assert (children == i); -+ } -+ -+ if (item->table != NULL) -+ { -+ entry->type = 'H'; -+ file_builder_add_hash (fb, item->table, &entry->value.pointer); -+ } -+ -+ index++; -+ } -+ } -+ -+ hash_table_free (mytable); -+} -+ -+static FileBuilder * -+file_builder_new (gboolean byteswap) -+{ -+ FileBuilder *builder; -+ -+ builder = g_slice_new (FileBuilder); -+ builder->chunks = g_queue_new (); -+ builder->offset = sizeof (struct gvdb_header); -+ builder->byteswap = byteswap; -+ -+ return builder; -+} -+ -+static void -+file_builder_free (FileBuilder *fb) -+{ -+ g_queue_free (fb->chunks); -+ g_slice_free (FileBuilder, fb); -+} -+ -+static GString * -+file_builder_serialise (FileBuilder *fb, -+ struct gvdb_pointer root) -+{ -+ struct gvdb_header header; -+ GString *result; -+ -+ memset (&header, 0, sizeof (header)); -+ -+ if (fb->byteswap) -+ { -+ header.signature[0] = GVDB_SWAPPED_SIGNATURE0; -+ header.signature[1] = GVDB_SWAPPED_SIGNATURE1; -+ } -+ else -+ { -+ header.signature[0] = GVDB_SIGNATURE0; -+ header.signature[1] = GVDB_SIGNATURE1; -+ } -+ -+ result = g_string_new (NULL); -+ -+ header.root = root; -+ g_string_append_len (result, (gpointer) &header, sizeof header); -+ -+ while (!g_queue_is_empty (fb->chunks)) -+ { -+ FileChunk *chunk = g_queue_pop_head (fb->chunks); -+ -+ if (result->len != chunk->offset) -+ { -+ gchar zero[8] = { 0, }; -+ -+ g_assert (chunk->offset > result->len); -+ g_assert (chunk->offset - result->len < 8); -+ -+ g_string_append_len (result, zero, chunk->offset - result->len); -+ g_assert (result->len == chunk->offset); -+ } -+ -+ g_string_append_len (result, chunk->data, chunk->size); -+ g_free (chunk->data); -+ -+ g_slice_free (FileChunk, chunk); -+ } -+ -+ return result; -+} -+ -+gboolean -+gvdb_table_write_contents (GHashTable *table, -+ const gchar *filename, -+ gboolean byteswap, -+ GError **error) -+{ -+ struct gvdb_pointer root; -+ gboolean status; -+ FileBuilder *fb; -+ GString *str; -+ -+ g_return_val_if_fail (table != NULL, FALSE); -+ g_return_val_if_fail (filename != NULL, FALSE); -+ g_return_val_if_fail (error == NULL || *error == NULL, FALSE); -+ -+ fb = file_builder_new (byteswap); -+ file_builder_add_hash (fb, table, &root); -+ str = file_builder_serialise (fb, root); -+ file_builder_free (fb); -+ -+ status = g_file_set_contents (filename, str->str, str->len, error); -+ g_string_free (str, TRUE); -+ -+ return status; -+} -+ -+typedef struct { -+ GBytes *contents; /* (owned) */ -+ GFile *file; /* (owned) */ -+} WriteContentsData; -+ -+static WriteContentsData * -+write_contents_data_new (GBytes *contents, -+ GFile *file) -+{ -+ WriteContentsData *data; -+ -+ data = g_slice_new (WriteContentsData); -+ data->contents = g_bytes_ref (contents); -+ data->file = g_object_ref (file); -+ -+ return data; -+} -+ -+static void -+write_contents_data_free (WriteContentsData *data) -+{ -+ g_bytes_unref (data->contents); -+ g_object_unref (data->file); -+ g_slice_free (WriteContentsData, data); -+} -+ -+static void -+replace_contents_cb (GObject *source_object, -+ GAsyncResult *result, -+ gpointer user_data) -+{ -+ GTask *task = user_data; -+ WriteContentsData *data = g_task_get_task_data (task); -+ GError *error = NULL; -+ -+ g_return_if_fail (g_task_get_source_tag (task) == gvdb_table_write_contents_async); -+ -+ if (!g_file_replace_contents_finish (data->file, result, NULL, &error)) -+ g_task_return_error (task, g_steal_pointer (&error)); -+ else -+ g_task_return_boolean (task, TRUE); -+ -+ g_object_unref (task); -+} -+ -+void -+gvdb_table_write_contents_async (GHashTable *table, -+ const gchar *filename, -+ gboolean byteswap, -+ GCancellable *cancellable, -+ GAsyncReadyCallback callback, -+ gpointer user_data) -+{ -+ struct gvdb_pointer root; -+ FileBuilder *fb; -+ WriteContentsData *data; -+ GString *str; -+ GBytes *bytes; -+ GFile *file; -+ GTask *task; -+ -+ g_return_if_fail (table != NULL); -+ g_return_if_fail (filename != NULL); -+ g_return_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable)); -+ -+ fb = file_builder_new (byteswap); -+ file_builder_add_hash (fb, table, &root); -+ str = file_builder_serialise (fb, root); -+ bytes = g_string_free_to_bytes (str); -+ file_builder_free (fb); -+ -+ file = g_file_new_for_path (filename); -+ data = write_contents_data_new (bytes, file); -+ -+ task = g_task_new (NULL, cancellable, callback, user_data); -+ g_task_set_task_data (task, data, (GDestroyNotify)write_contents_data_free); -+ g_task_set_source_tag (task, gvdb_table_write_contents_async); -+ -+ g_file_replace_contents_async (file, -+ g_bytes_get_data (bytes, NULL), -+ g_bytes_get_size (bytes), -+ NULL, FALSE, -+ G_FILE_CREATE_PRIVATE, -+ cancellable, replace_contents_cb, g_steal_pointer (&task)); -+ -+ g_bytes_unref (bytes); -+ g_object_unref (file); -+} -+ -+gboolean -+gvdb_table_write_contents_finish (GHashTable *table, -+ GAsyncResult *result, -+ GError **error) -+{ -+ g_return_val_if_fail (table != NULL, FALSE); -+ g_return_val_if_fail (g_task_is_valid (result, NULL), FALSE); -+ g_return_val_if_fail (error == NULL || *error == NULL, FALSE); -+ -+ return g_task_propagate_boolean (G_TASK (result), error); -+} -diff --git a/subprojects/gvdb/gvdb/gvdb-builder.h b/subprojects/gvdb/gvdb/gvdb-builder.h -new file mode 100644 -index 0000000..30757d0 ---- /dev/null -+++ b/subprojects/gvdb/gvdb/gvdb-builder.h -@@ -0,0 +1,66 @@ -+/* -+ * Copyright © 2010 Codethink Limited -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, see . -+ * -+ * Author: Ryan Lortie -+ */ -+ -+#ifndef __gvdb_builder_h__ -+#define __gvdb_builder_h__ -+ -+#include -+ -+typedef struct _GvdbItem GvdbItem; -+ -+G_GNUC_INTERNAL -+GHashTable * gvdb_hash_table_new (GHashTable *parent, -+ const gchar *key); -+ -+G_GNUC_INTERNAL -+GvdbItem * gvdb_hash_table_insert (GHashTable *table, -+ const gchar *key); -+G_GNUC_INTERNAL -+void gvdb_hash_table_insert_string (GHashTable *table, -+ const gchar *key, -+ const gchar *value); -+ -+G_GNUC_INTERNAL -+void gvdb_item_set_value (GvdbItem *item, -+ GVariant *value); -+G_GNUC_INTERNAL -+void gvdb_item_set_hash_table (GvdbItem *item, -+ GHashTable *table); -+G_GNUC_INTERNAL -+void gvdb_item_set_parent (GvdbItem *item, -+ GvdbItem *parent); -+ -+G_GNUC_INTERNAL -+gboolean gvdb_table_write_contents (GHashTable *table, -+ const gchar *filename, -+ gboolean byteswap, -+ GError **error); -+G_GNUC_INTERNAL -+void gvdb_table_write_contents_async (GHashTable *table, -+ const gchar *filename, -+ gboolean byteswap, -+ GCancellable *cancellable, -+ GAsyncReadyCallback callback, -+ gpointer user_data); -+G_GNUC_INTERNAL -+gboolean gvdb_table_write_contents_finish (GHashTable *table, -+ GAsyncResult *result, -+ GError **error); -+ -+#endif /* __gvdb_builder_h__ */ -diff --git a/subprojects/gvdb/gvdb/gvdb-format.h b/subprojects/gvdb/gvdb/gvdb-format.h -new file mode 100644 -index 0000000..ed6adab ---- /dev/null -+++ b/subprojects/gvdb/gvdb/gvdb-format.h -@@ -0,0 +1,85 @@ -+/* -+ * Copyright © 2010 Codethink Limited -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, see . -+ * -+ * Author: Ryan Lortie -+ */ -+ -+#ifndef __gvdb_format_h__ -+#define __gvdb_format_h__ -+ -+#include -+ -+typedef struct { guint16 value; } guint16_le; -+typedef struct { guint32 value; } guint32_le; -+ -+struct gvdb_pointer { -+ guint32_le start; -+ guint32_le end; -+}; -+ -+struct gvdb_hash_header { -+ guint32_le n_bloom_words; -+ guint32_le n_buckets; -+}; -+ -+struct gvdb_hash_item { -+ guint32_le hash_value; -+ guint32_le parent; -+ -+ guint32_le key_start; -+ guint16_le key_size; -+ gchar type; -+ gchar unused; -+ -+ union -+ { -+ struct gvdb_pointer pointer; -+ gchar direct[8]; -+ } value; -+}; -+ -+struct gvdb_header { -+ guint32 signature[2]; -+ guint32_le version; -+ guint32_le options; -+ -+ struct gvdb_pointer root; -+}; -+ -+static inline guint32_le guint32_to_le (guint32 value) { -+ guint32_le result = { GUINT32_TO_LE (value) }; -+ return result; -+} -+ -+static inline guint32 guint32_from_le (guint32_le value) { -+ return GUINT32_FROM_LE (value.value); -+} -+ -+static inline guint16_le guint16_to_le (guint16 value) { -+ guint16_le result = { GUINT16_TO_LE (value) }; -+ return result; -+} -+ -+static inline guint16 guint16_from_le (guint16_le value) { -+ return GUINT16_FROM_LE (value.value); -+} -+ -+#define GVDB_SIGNATURE0 1918981703 -+#define GVDB_SIGNATURE1 1953390953 -+#define GVDB_SWAPPED_SIGNATURE0 GUINT32_SWAP_LE_BE (GVDB_SIGNATURE0) -+#define GVDB_SWAPPED_SIGNATURE1 GUINT32_SWAP_LE_BE (GVDB_SIGNATURE1) -+ -+#endif /* __gvdb_format_h__ */ -diff --git a/subprojects/gvdb/gvdb/gvdb-reader.c b/subprojects/gvdb/gvdb/gvdb-reader.c -new file mode 100644 -index 0000000..820ce4c ---- /dev/null -+++ b/subprojects/gvdb/gvdb/gvdb-reader.c -@@ -0,0 +1,736 @@ -+/* -+ * Copyright © 2010 Codethink Limited -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, see . -+ * -+ * Author: Ryan Lortie -+ */ -+ -+#include "gvdb-reader.h" -+#include "gvdb-format.h" -+ -+#include -+ -+struct _GvdbTable { -+ GBytes *bytes; -+ -+ const gchar *data; -+ gsize size; -+ -+ gboolean byteswapped; -+ gboolean trusted; -+ -+ const guint32_le *bloom_words; -+ guint32 n_bloom_words; -+ guint bloom_shift; -+ -+ const guint32_le *hash_buckets; -+ guint32 n_buckets; -+ -+ struct gvdb_hash_item *hash_items; -+ guint32 n_hash_items; -+}; -+ -+static const gchar * -+gvdb_table_item_get_key (GvdbTable *file, -+ const struct gvdb_hash_item *item, -+ gsize *size) -+{ -+ guint32 start, end; -+ -+ start = guint32_from_le (item->key_start); -+ *size = guint16_from_le (item->key_size); -+ end = start + *size; -+ -+ if G_UNLIKELY (start > end || end > file->size) -+ return NULL; -+ -+ return file->data + start; -+} -+ -+static gconstpointer -+gvdb_table_dereference (GvdbTable *file, -+ const struct gvdb_pointer *pointer, -+ gint alignment, -+ gsize *size) -+{ -+ guint32 start, end; -+ -+ start = guint32_from_le (pointer->start); -+ end = guint32_from_le (pointer->end); -+ -+ if G_UNLIKELY (start > end || end > file->size || start & (alignment - 1)) -+ return NULL; -+ -+ *size = end - start; -+ -+ return file->data + start; -+} -+ -+static void -+gvdb_table_setup_root (GvdbTable *file, -+ const struct gvdb_pointer *pointer) -+{ -+ const struct gvdb_hash_header *header; -+ guint32 n_bloom_words; -+ guint32 n_buckets; -+ gsize size; -+ -+ header = gvdb_table_dereference (file, pointer, 4, &size); -+ -+ if G_UNLIKELY (header == NULL || size < sizeof *header) -+ return; -+ -+ size -= sizeof *header; -+ -+ n_bloom_words = guint32_from_le (header->n_bloom_words); -+ n_buckets = guint32_from_le (header->n_buckets); -+ n_bloom_words &= (1u << 27) - 1; -+ -+ if G_UNLIKELY (n_bloom_words * sizeof (guint32_le) > size) -+ return; -+ -+ file->bloom_words = (gpointer) (header + 1); -+ size -= n_bloom_words * sizeof (guint32_le); -+ file->n_bloom_words = n_bloom_words; -+ -+ if G_UNLIKELY (n_buckets > G_MAXUINT / sizeof (guint32_le) || -+ n_buckets * sizeof (guint32_le) > size) -+ return; -+ -+ file->hash_buckets = file->bloom_words + file->n_bloom_words; -+ size -= n_buckets * sizeof (guint32_le); -+ file->n_buckets = n_buckets; -+ -+ if G_UNLIKELY (size % sizeof (struct gvdb_hash_item)) -+ return; -+ -+ file->hash_items = (gpointer) (file->hash_buckets + n_buckets); -+ file->n_hash_items = size / sizeof (struct gvdb_hash_item); -+} -+ -+/** -+ * gvdb_table_new_from_bytes: -+ * @bytes: the #GBytes with the data -+ * @trusted: if the contents of @bytes are trusted -+ * @error: %NULL, or a pointer to a %NULL #GError -+ * -+ * Creates a new #GvdbTable from the contents of @bytes. -+ * -+ * This call can fail if the header contained in @bytes is invalid or if @bytes -+ * is empty; if so, %G_FILE_ERROR_INVAL will be returned. -+ * -+ * You should call gvdb_table_free() on the return result when you no -+ * longer require it. -+ * -+ * Returns: a new #GvdbTable -+ **/ -+GvdbTable * -+gvdb_table_new_from_bytes (GBytes *bytes, -+ gboolean trusted, -+ GError **error) -+{ -+ const struct gvdb_header *header; -+ GvdbTable *file; -+ -+ file = g_slice_new0 (GvdbTable); -+ file->bytes = g_bytes_ref (bytes); -+ file->data = g_bytes_get_data (bytes, &file->size); -+ file->trusted = trusted; -+ -+ if (file->size < sizeof (struct gvdb_header)) -+ goto invalid; -+ -+ header = (gpointer) file->data; -+ -+ if (header->signature[0] == GVDB_SIGNATURE0 && -+ header->signature[1] == GVDB_SIGNATURE1 && -+ guint32_from_le (header->version) == 0) -+ file->byteswapped = FALSE; -+ -+ else if (header->signature[0] == GVDB_SWAPPED_SIGNATURE0 && -+ header->signature[1] == GVDB_SWAPPED_SIGNATURE1 && -+ guint32_from_le (header->version) == 0) -+ file->byteswapped = TRUE; -+ -+ else -+ goto invalid; -+ -+ gvdb_table_setup_root (file, &header->root); -+ -+ return file; -+ -+invalid: -+ g_set_error_literal (error, G_FILE_ERROR, G_FILE_ERROR_INVAL, "invalid gvdb header"); -+ -+ g_bytes_unref (file->bytes); -+ -+ g_slice_free (GvdbTable, file); -+ -+ return NULL; -+} -+ -+/** -+ * gvdb_table_new: -+ * @filename: a filename -+ * @trusted: if the contents of @bytes are trusted -+ * @error: %NULL, or a pointer to a %NULL #GError -+ * -+ * Creates a new #GvdbTable using the #GMappedFile for @filename as the -+ * #GBytes. -+ * -+ * This function will fail if the file cannot be opened. -+ * In that case, the #GError that is returned will be an error from -+ * g_mapped_file_new(). -+ * -+ * An empty or corrupt file will result in %G_FILE_ERROR_INVAL. -+ * -+ * Returns: a new #GvdbTable -+ **/ -+GvdbTable * -+gvdb_table_new (const gchar *filename, -+ gboolean trusted, -+ GError **error) -+{ -+ GMappedFile *mapped; -+ GvdbTable *table; -+ GBytes *bytes; -+ -+ mapped = g_mapped_file_new (filename, FALSE, error); -+ if (!mapped) -+ return NULL; -+ -+ bytes = g_mapped_file_get_bytes (mapped); -+ table = gvdb_table_new_from_bytes (bytes, trusted, error); -+ g_mapped_file_unref (mapped); -+ g_bytes_unref (bytes); -+ -+ g_prefix_error (error, "%s: ", filename); -+ -+ return table; -+} -+ -+static gboolean -+gvdb_table_bloom_filter (GvdbTable *file, -+ guint32 hash_value) -+{ -+ guint32 word, mask; -+ -+ if (file->n_bloom_words == 0) -+ return TRUE; -+ -+ word = (hash_value / 32) % file->n_bloom_words; -+ mask = 1 << (hash_value & 31); -+ mask |= 1 << ((hash_value >> file->bloom_shift) & 31); -+ -+ return (guint32_from_le (file->bloom_words[word]) & mask) == mask; -+} -+ -+static gboolean -+gvdb_table_check_name (GvdbTable *file, -+ struct gvdb_hash_item *item, -+ const gchar *key, -+ guint key_length) -+{ -+ const gchar *this_key; -+ gsize this_size; -+ guint32 parent; -+ -+ this_key = gvdb_table_item_get_key (file, item, &this_size); -+ -+ if G_UNLIKELY (this_key == NULL || this_size > key_length) -+ return FALSE; -+ -+ key_length -= this_size; -+ -+ if G_UNLIKELY (memcmp (this_key, key + key_length, this_size) != 0) -+ return FALSE; -+ -+ parent = guint32_from_le (item->parent); -+ if (key_length == 0 && parent == 0xffffffffu) -+ return TRUE; -+ -+ if G_LIKELY (parent < file->n_hash_items && this_size > 0) -+ return gvdb_table_check_name (file, -+ &file->hash_items[parent], -+ key, key_length); -+ -+ return FALSE; -+} -+ -+static const struct gvdb_hash_item * -+gvdb_table_lookup (GvdbTable *file, -+ const gchar *key, -+ gchar type) -+{ -+ guint32 hash_value = 5381; -+ guint key_length; -+ guint32 bucket; -+ guint32 lastno; -+ guint32 itemno; -+ -+ if G_UNLIKELY (file->n_buckets == 0 || file->n_hash_items == 0) -+ return NULL; -+ -+ for (key_length = 0; key[key_length]; key_length++) -+ hash_value = (hash_value * 33) + ((signed char *) key)[key_length]; -+ -+ if (!gvdb_table_bloom_filter (file, hash_value)) -+ return NULL; -+ -+ bucket = hash_value % file->n_buckets; -+ itemno = guint32_from_le (file->hash_buckets[bucket]); -+ -+ if (bucket == file->n_buckets - 1 || -+ (lastno = guint32_from_le(file->hash_buckets[bucket + 1])) > file->n_hash_items) -+ lastno = file->n_hash_items; -+ -+ while G_LIKELY (itemno < lastno) -+ { -+ struct gvdb_hash_item *item = &file->hash_items[itemno]; -+ -+ if (hash_value == guint32_from_le (item->hash_value)) -+ if G_LIKELY (gvdb_table_check_name (file, item, key, key_length)) -+ if G_LIKELY (item->type == type) -+ return item; -+ -+ itemno++; -+ } -+ -+ return NULL; -+} -+ -+static gboolean -+gvdb_table_list_from_item (GvdbTable *table, -+ const struct gvdb_hash_item *item, -+ const guint32_le **list, -+ guint *length) -+{ -+ gsize size; -+ -+ *list = gvdb_table_dereference (table, &item->value.pointer, 4, &size); -+ -+ if G_LIKELY (*list == NULL || size % 4) -+ return FALSE; -+ -+ *length = size / 4; -+ -+ return TRUE; -+} -+ -+/** -+ * gvdb_table_get_names: -+ * @table: a #GvdbTable -+ * @length: (out) (optional): the number of items returned, or %NULL -+ * -+ * Gets a list of all names contained in @table. -+ * -+ * No call to gvdb_table_get_table(), gvdb_table_list() or -+ * gvdb_table_get_value() will succeed unless it is for one of the -+ * names returned by this function. -+ * -+ * Note that some names that are returned may still fail for all of the -+ * above calls in the case of the corrupted file. Note also that the -+ * returned strings may not be utf8. -+ * -+ * Returns: (array length=length): a %NULL-terminated list of strings, of length @length -+ **/ -+gchar ** -+gvdb_table_get_names (GvdbTable *table, -+ gsize *length) -+{ -+ gchar **names; -+ guint n_names; -+ guint filled; -+ guint total; -+ guint i; -+ -+ /* We generally proceed by iterating over the list of items in the -+ * hash table (in order of appearance) recording them into an array. -+ * -+ * Each item has a parent item (except root items). The parent item -+ * forms part of the name of the item. We could go fetching the -+ * parent item chain at the point that we encounter each item but then -+ * we would need to implement some sort of recursion along with checks -+ * for self-referential items. -+ * -+ * Instead, we do a number of passes. Each pass will build up one -+ * level of names (starting from the root). We continue to do passes -+ * until no more items are left. The first pass will only add root -+ * items and each further pass will only add items whose direct parent -+ * is an item added in the immediately previous pass. It's also -+ * possible that items get filled if they follow their parent within a -+ * particular pass. -+ * -+ * At most we will have a number of passes equal to the depth of the -+ * tree. Self-referential items will never be filled in (since their -+ * parent will have never been filled in). We continue until we have -+ * a pass that fills in no additional items. -+ * -+ * This takes an O(n) algorithm and turns it into O(n*m) where m is -+ * the depth of the tree, but typically the tree won't be very -+ * deep and the constant factor of this algorithm is lower (and the -+ * complexity of coding it, as well). -+ */ -+ -+ n_names = table->n_hash_items; -+ names = g_new0 (gchar *, n_names + 1); -+ -+ /* 'names' starts out all-NULL. On each pass we record the number -+ * of items changed from NULL to non-NULL in 'filled' so we know if we -+ * should repeat the loop. 'total' counts the total number of items -+ * filled. If 'total' ends up equal to 'n_names' then we know that -+ * 'names' has been completely filled. -+ */ -+ -+ total = 0; -+ do -+ { -+ /* Loop until we have filled no more entries */ -+ filled = 0; -+ -+ for (i = 0; i < n_names; i++) -+ { -+ const struct gvdb_hash_item *item = &table->hash_items[i]; -+ const gchar *name; -+ gsize name_length; -+ guint32 parent; -+ -+ /* already got it on a previous pass */ -+ if (names[i] != NULL) -+ continue; -+ -+ parent = guint32_from_le (item->parent); -+ -+ if (parent == 0xffffffffu) -+ { -+ /* it's a root item */ -+ name = gvdb_table_item_get_key (table, item, &name_length); -+ -+ if (name != NULL) -+ { -+ names[i] = g_strndup (name, name_length); -+ filled++; -+ } -+ } -+ -+ else if (parent < n_names && names[parent] != NULL) -+ { -+ /* It's a non-root item whose parent was filled in already. -+ * -+ * Calculate the name of this item by combining it with -+ * its parent name. -+ */ -+ name = gvdb_table_item_get_key (table, item, &name_length); -+ -+ if (name != NULL) -+ { -+ const gchar *parent_name = names[parent]; -+ gsize parent_length; -+ gchar *fullname; -+ -+ parent_length = strlen (parent_name); -+ fullname = g_malloc (parent_length + name_length + 1); -+ memcpy (fullname, parent_name, parent_length); -+ memcpy (fullname + parent_length, name, name_length); -+ fullname[parent_length + name_length] = '\0'; -+ names[i] = fullname; -+ filled++; -+ } -+ } -+ } -+ -+ total += filled; -+ } -+ while (filled && total < n_names); -+ -+ /* If the table was corrupted then 'names' may have holes in it. -+ * Collapse those. -+ */ -+ if G_UNLIKELY (total != n_names) -+ { -+ GPtrArray *fixed_names; -+ -+ fixed_names = g_ptr_array_sized_new (n_names + 1 /* NULL terminator */); -+ for (i = 0; i < n_names; i++) -+ if (names[i] != NULL) -+ g_ptr_array_add (fixed_names, names[i]); -+ -+ g_free (names); -+ n_names = fixed_names->len; -+ g_ptr_array_add (fixed_names, NULL); -+ names = (gchar **) g_ptr_array_free (fixed_names, FALSE); -+ } -+ -+ if (length) -+ { -+ G_STATIC_ASSERT (sizeof (*length) >= sizeof (n_names)); -+ *length = n_names; -+ } -+ -+ return names; -+} -+ -+/** -+ * gvdb_table_list: -+ * @file: a #GvdbTable -+ * @key: a string -+ * -+ * List all of the keys that appear below @key. The nesting of keys -+ * within the hash file is defined by the program that created the hash -+ * file. One thing is constant: each item in the returned array can be -+ * concatenated to @key to obtain the full name of that key. -+ * -+ * It is not possible to tell from this function if a given key is -+ * itself a path, a value, or another hash table; you are expected to -+ * know this for yourself. -+ * -+ * You should call g_strfreev() on the return result when you no longer -+ * require it. -+ * -+ * Returns: a %NULL-terminated string array -+ **/ -+gchar ** -+gvdb_table_list (GvdbTable *file, -+ const gchar *key) -+{ -+ const struct gvdb_hash_item *item; -+ const guint32_le *list; -+ gchar **strv; -+ guint length; -+ guint i; -+ -+ if ((item = gvdb_table_lookup (file, key, 'L')) == NULL) -+ return NULL; -+ -+ if (!gvdb_table_list_from_item (file, item, &list, &length)) -+ return NULL; -+ -+ strv = g_new (gchar *, length + 1); -+ for (i = 0; i < length; i++) -+ { -+ guint32 itemno = guint32_from_le (list[i]); -+ -+ if (itemno < file->n_hash_items) -+ { -+ const struct gvdb_hash_item *item; -+ const gchar *string; -+ gsize strsize; -+ -+ item = file->hash_items + itemno; -+ -+ string = gvdb_table_item_get_key (file, item, &strsize); -+ -+ if (string != NULL) -+ strv[i] = g_strndup (string, strsize); -+ else -+ strv[i] = g_malloc0 (1); -+ } -+ else -+ strv[i] = g_malloc0 (1); -+ } -+ -+ strv[i] = NULL; -+ -+ return strv; -+} -+ -+/** -+ * gvdb_table_has_value: -+ * @file: a #GvdbTable -+ * @key: a string -+ * -+ * Checks for a value named @key in @file. -+ * -+ * Note: this function does not consider non-value nodes (other hash -+ * tables, for example). -+ * -+ * Returns: %TRUE if @key is in the table -+ **/ -+gboolean -+gvdb_table_has_value (GvdbTable *file, -+ const gchar *key) -+{ -+ static const struct gvdb_hash_item *item; -+ gsize size; -+ -+ item = gvdb_table_lookup (file, key, 'v'); -+ -+ if (item == NULL) -+ return FALSE; -+ -+ return gvdb_table_dereference (file, &item->value.pointer, 8, &size) != NULL; -+} -+ -+static GVariant * -+gvdb_table_value_from_item (GvdbTable *table, -+ const struct gvdb_hash_item *item) -+{ -+ GVariant *variant, *value; -+ gconstpointer data; -+ GBytes *bytes; -+ gsize size; -+ -+ data = gvdb_table_dereference (table, &item->value.pointer, 8, &size); -+ -+ if G_UNLIKELY (data == NULL) -+ return NULL; -+ -+ bytes = g_bytes_new_from_bytes (table->bytes, ((gchar *) data) - table->data, size); -+ variant = g_variant_new_from_bytes (G_VARIANT_TYPE_VARIANT, bytes, table->trusted); -+ value = g_variant_get_variant (variant); -+ g_variant_unref (variant); -+ g_bytes_unref (bytes); -+ -+ return value; -+} -+ -+/** -+ * gvdb_table_get_value: -+ * @file: a #GvdbTable -+ * @key: a string -+ * -+ * Looks up a value named @key in @file. -+ * -+ * If the value is not found then %NULL is returned. Otherwise, a new -+ * #GVariant instance is returned. The #GVariant does not depend on the -+ * continued existence of @file. -+ * -+ * You should call g_variant_unref() on the return result when you no -+ * longer require it. -+ * -+ * Returns: a #GVariant, or %NULL -+ **/ -+GVariant * -+gvdb_table_get_value (GvdbTable *file, -+ const gchar *key) -+{ -+ const struct gvdb_hash_item *item; -+ GVariant *value; -+ -+ if ((item = gvdb_table_lookup (file, key, 'v')) == NULL) -+ return NULL; -+ -+ value = gvdb_table_value_from_item (file, item); -+ -+ if (value && file->byteswapped) -+ { -+ GVariant *tmp; -+ -+ tmp = g_variant_byteswap (value); -+ g_variant_unref (value); -+ value = tmp; -+ } -+ -+ return value; -+} -+ -+/** -+ * gvdb_table_get_raw_value: -+ * @table: a #GvdbTable -+ * @key: a string -+ * -+ * Looks up a value named @key in @file. -+ * -+ * This call is equivalent to gvdb_table_get_value() except that it -+ * never byteswaps the value. -+ * -+ * Returns: a #GVariant, or %NULL -+ **/ -+GVariant * -+gvdb_table_get_raw_value (GvdbTable *table, -+ const gchar *key) -+{ -+ const struct gvdb_hash_item *item; -+ -+ if ((item = gvdb_table_lookup (table, key, 'v')) == NULL) -+ return NULL; -+ -+ return gvdb_table_value_from_item (table, item); -+} -+ -+/** -+ * gvdb_table_get_table: -+ * @file: a #GvdbTable -+ * @key: a string -+ * -+ * Looks up the hash table named @key in @file. -+ * -+ * The toplevel hash table in a #GvdbTable can contain reference to -+ * child hash tables (and those can contain further references...). -+ * -+ * If @key is not found in @file then %NULL is returned. Otherwise, a -+ * new #GvdbTable is returned, referring to the child hashtable as -+ * contained in the file. This newly-created #GvdbTable does not depend -+ * on the continued existence of @file. -+ * -+ * You should call gvdb_table_free() on the return result when you no -+ * longer require it. -+ * -+ * Returns: a new #GvdbTable, or %NULL -+ **/ -+GvdbTable * -+gvdb_table_get_table (GvdbTable *file, -+ const gchar *key) -+{ -+ const struct gvdb_hash_item *item; -+ GvdbTable *new; -+ -+ item = gvdb_table_lookup (file, key, 'H'); -+ -+ if (item == NULL) -+ return NULL; -+ -+ new = g_slice_new0 (GvdbTable); -+ new->bytes = g_bytes_ref (file->bytes); -+ new->byteswapped = file->byteswapped; -+ new->trusted = file->trusted; -+ new->data = file->data; -+ new->size = file->size; -+ -+ gvdb_table_setup_root (new, &item->value.pointer); -+ -+ return new; -+} -+ -+/** -+ * gvdb_table_free: -+ * @file: a #GvdbTable -+ * -+ * Frees @file. -+ **/ -+void -+gvdb_table_free (GvdbTable *file) -+{ -+ g_bytes_unref (file->bytes); -+ g_slice_free (GvdbTable, file); -+} -+ -+/** -+ * gvdb_table_is_valid: -+ * @table: a #GvdbTable -+ * -+ * Checks if the table is still valid. -+ * -+ * An on-disk GVDB can be marked as invalid. This happens when the file -+ * has been replaced. The appropriate action is typically to reopen the -+ * file. -+ * -+ * Returns: %TRUE if @table is still valid -+ **/ -+gboolean -+gvdb_table_is_valid (GvdbTable *table) -+{ -+ return !!*table->data; -+} -diff --git a/subprojects/gvdb/gvdb/gvdb-reader.h b/subprojects/gvdb/gvdb/gvdb-reader.h -new file mode 100644 -index 0000000..79a97d3 ---- /dev/null -+++ b/subprojects/gvdb/gvdb/gvdb-reader.h -@@ -0,0 +1,78 @@ -+/* -+ * Copyright © 2010 Codethink Limited -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, see . -+ * -+ * Author: Ryan Lortie -+ */ -+ -+#ifndef __gvdb_reader_h__ -+#define __gvdb_reader_h__ -+ -+#include -+ -+/* We cannot enable the weak attribute unconditionally here because both -+ * gvdb/gvdb-reader.c and tests/dconf-mock-gvdb.c include this file. The -+ * intention of using weak symbols here is to allow the latter to override -+ * functions defined in the former, so functions in tests/dconf-mock-gvdb.c -+ * must have strong bindings. */ -+#ifdef GVDB_USE_WEAK_SYMBOLS -+# ifdef __GNUC__ -+# define GVDB_GNUC_WEAK __attribute__((weak)) -+# else -+# define GVDB_GNUC_WEAK -+# endif -+#else -+# define GVDB_GNUC_WEAK -+#endif -+ -+typedef struct _GvdbTable GvdbTable; -+ -+G_BEGIN_DECLS -+ -+G_GNUC_INTERNAL GVDB_GNUC_WEAK -+GvdbTable * gvdb_table_new_from_bytes (GBytes *bytes, -+ gboolean trusted, -+ GError **error); -+G_GNUC_INTERNAL GVDB_GNUC_WEAK -+GvdbTable * gvdb_table_new (const gchar *filename, -+ gboolean trusted, -+ GError **error); -+G_GNUC_INTERNAL GVDB_GNUC_WEAK -+void gvdb_table_free (GvdbTable *table); -+G_GNUC_INTERNAL GVDB_GNUC_WEAK -+gchar ** gvdb_table_get_names (GvdbTable *table, -+ gsize *length); -+G_GNUC_INTERNAL GVDB_GNUC_WEAK -+gchar ** gvdb_table_list (GvdbTable *table, -+ const gchar *key); -+G_GNUC_INTERNAL GVDB_GNUC_WEAK -+GvdbTable * gvdb_table_get_table (GvdbTable *table, -+ const gchar *key); -+G_GNUC_INTERNAL GVDB_GNUC_WEAK -+GVariant * gvdb_table_get_raw_value (GvdbTable *table, -+ const gchar *key); -+G_GNUC_INTERNAL GVDB_GNUC_WEAK -+GVariant * gvdb_table_get_value (GvdbTable *table, -+ const gchar *key); -+ -+G_GNUC_INTERNAL GVDB_GNUC_WEAK -+gboolean gvdb_table_has_value (GvdbTable *table, -+ const gchar *key); -+G_GNUC_INTERNAL GVDB_GNUC_WEAK -+gboolean gvdb_table_is_valid (GvdbTable *table); -+ -+G_END_DECLS -+ -+#endif /* __gvdb_reader_h__ */ -diff --git a/subprojects/gvdb/meson.build b/subprojects/gvdb/meson.build -new file mode 100644 -index 0000000..01c86b4 ---- /dev/null -+++ b/subprojects/gvdb/meson.build -@@ -0,0 +1,15 @@ -+project('gvdb', 'c', -+ version: '0.0', -+ meson_version: '>=0.54.0', -+) -+ -+libgvdb_sources = files( -+ 'gvdb/gvdb-builder.c', -+ 'gvdb/gvdb-reader.c', -+) -+ -+gvdb_dep = declare_dependency( -+ sources: libgvdb_sources, -+ include_directories: include_directories('.'), -+) -+meson.override_dependency('gvdb', gvdb_dep) diff --git a/debian/patches/user-directory-i18n.patch b/debian/patches/user-directory-i18n.patch new file mode 100644 index 0000000..ec65b13 --- /dev/null +++ b/debian/patches/user-directory-i18n.patch @@ -0,0 +1,75 @@ +From: Debian GNOME Maintainers + +Date: Wed, 29 Jun 2022 16:00:15 +0800 +Subject: user-directory-i18n + +=================================================================== +--- + gio/glocalfileinfo.c | 33 ++++++++++++++++++++++++++++++++- + 1 file changed, 32 insertions(+), 1 deletion(-) + +diff --git a/gio/glocalfileinfo.c b/gio/glocalfileinfo.c +index 7c2524e..ad5dfb8 100644 +--- a/gio/glocalfileinfo.c ++++ b/gio/glocalfileinfo.c +@@ -124,6 +124,9 @@ static GHashTable *gid_cache = NULL; + + #endif /* !G_OS_WIN32 */ + ++char* update_xdg_directory_display_name (const char *path, ++ char *display_name); ++ + char * + _g_local_file_info_create_etag (GLocalFileStat *statbuf) + { +@@ -1777,6 +1780,7 @@ _g_local_file_info_get_nostat (GFileInfo *info, + G_FILE_ATTRIBUTE_ID_STANDARD_DISPLAY_NAME)) + { + char *display_name = g_filename_display_basename (path); ++ char *xdg_display_name = NULL; + + /* look for U+FFFD REPLACEMENT CHARACTER */ + if (strstr (display_name, "\357\277\275") != NULL) +@@ -1785,7 +1789,9 @@ _g_local_file_info_get_nostat (GFileInfo *info, + display_name = g_strconcat (display_name, _(" (invalid encoding)"), NULL); + g_free (p); + } +- g_file_info_set_display_name (info, display_name); ++ xdg_display_name = update_xdg_directory_display_name (path, display_name); ++ g_file_info_set_display_name (info, xdg_display_name); ++ g_free (xdg_display_name); + g_free (display_name); + } + +@@ -1865,6 +1871,31 @@ get_icon_name (const char *path, + return name; + } + ++char *update_xdg_directory_display_name (const char *path, ++ char *display_name) ++{ ++ char *retval = g_strdup (display_name); ++ if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP)) == 0) ++ { ++ retval = g_strdup (_("Desktop")); ++ } else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_DOCUMENTS)) == 0) { ++ retval = g_strdup (_("Documents")); ++ } else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_DOWNLOAD)) == 0) { ++ retval = g_strdup (_("Download")); ++ } else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_MUSIC)) == 0) { ++ retval = g_strdup (_("Music")); ++ } else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_PICTURES)) == 0) { ++ retval = g_strdup (_("Pictures")); ++ } else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_PUBLIC_SHARE)) == 0) { ++ retval = g_strdup (_("Public Share")); ++ } else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_TEMPLATES)) == 0) { ++ retval = g_strdup (_("Templates")); ++ } else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_VIDEOS)) == 0) { ++ retval = g_strdup (_("Videos")); ++ } ++ return retval; ++} ++ + static GIcon * + get_icon (const char *path, + const char *content_type,