# Chinese (traditional) translation for gettext-runtime.
# Copyright (C) 1998, 2001, 2002, 2005 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
#
# Yuan-Chung Cheng <platin@ms.ccafps.khc.edu.tw>, 1998.
# Pofeng Lee <pofeng@linux.org.tw>, 2001-2002.
# Abel Cheung <abelcheung@gmail.com>, 2002, 2005.
# Wei-Lun Chao <bluebat@member.fsf.org>, 2013, 2015.
# Yi-Jyun Pan <pan93412@gmail.com>, 2019, 2020.
msgid ""
msgstr ""
"Project-Id-Version: gettext-runtime 0.20.2\n"
"Report-Msgid-Bugs-To: bug-gettext@gnu.org\n"
"POT-Creation-Date: 2020-07-26 21:56+0200\n"
"PO-Revision-Date: 2020-04-16 23:51+0800\n"
"Last-Translator: Yi-Jyun Pan <pan93412@gmail.com>\n"
"Language-Team: Chinese (traditional) <zh-l10n@lists.linux.org.tw>\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 2.3\n"

#: gnulib-lib/closeout.c:66
msgid "write error"
msgstr "寫入時發生錯誤"

#: gnulib-lib/error.c:195
msgid "Unknown system error"
msgstr "未知系統錯誤"

#: gnulib-lib/getopt.c:278
#, c-format
msgid "%s: option '%s%s' is ambiguous\n"
msgstr "%s：選項「%s%s」模稜兩可\n"

#: gnulib-lib/getopt.c:284
#, c-format
msgid "%s: option '%s%s' is ambiguous; possibilities:"
msgstr "%s：選項「%s%s」模稜兩可；可能選項包括："

#: gnulib-lib/getopt.c:319
#, c-format
msgid "%s: unrecognized option '%s%s'\n"
msgstr "%s：無法識別選項「%s%s」\n"

#: gnulib-lib/getopt.c:345
#, c-format
msgid "%s: option '%s%s' doesn't allow an argument\n"
msgstr "%s：選項「%s%s」不能有參數\n"

#: gnulib-lib/getopt.c:360
#, c-format
msgid "%s: option '%s%s' requires an argument\n"
msgstr "%s：選項「%s%s」需要一個參數\n"

#: gnulib-lib/getopt.c:621
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s：選項無效 --「%c」\n"

#: gnulib-lib/getopt.c:636 gnulib-lib/getopt.c:682
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s：選項需要一個參數 --「%c」\n"

#: gnulib-lib/xmalloc.c:38
#, c-format
msgid "memory exhausted"
msgstr "記憶體耗盡"

#: src/envsubst.c:110 src/gettext.c:135 src/ngettext.c:124
#, c-format, no-wrap
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
"License GPLv3+: GNU GPL version 3 or later <%s>\n"
"This is free software: you are free to change and redistribute it.\n"
"There is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
"著作權所有 (C) %s 自由軟體基金會\n"
"GPLv3+ 授權：GNU GPL 第三版或更新版本 <%s>。\n"
"此為自由軟體：您能修改與重散布它。\n"
"在法律允許的範圍內沒有任何擔保。\n"

#: src/envsubst.c:116 src/gettext.c:141 src/ngettext.c:130
#, c-format
msgid "Written by %s.\n"
msgstr "由 %s 編寫。\n"

#. This is a proper name. See the gettext manual, section Names.
#: src/envsubst.c:116
msgid "Bruno Haible"
msgstr "Bruno Haible"

#: src/envsubst.c:125 src/gettext.c:159 src/ngettext.c:142
#, c-format
msgid "too many arguments"
msgstr "參數過多"

#: src/envsubst.c:136 src/gettext.c:169 src/ngettext.c:154
#, c-format
msgid "missing arguments"
msgstr "缺少參數"

#: src/envsubst.c:174 src/gettext.c:246 src/ngettext.c:211
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "輸入「%s --help」取得更多資訊\n"

#: src/envsubst.c:179
#, c-format, no-wrap
msgid "Usage: %s [OPTION] [SHELL-FORMAT]\n"
msgstr "用法：%s [選項] [SHELL-格式]\n"

#: src/envsubst.c:184
#, c-format, no-wrap
msgid "Substitutes the values of environment variables.\n"
msgstr "替換環境變數的值。\n"

#: src/envsubst.c:188
#, c-format, no-wrap
msgid "Operation mode:\n"
msgstr "操作模式：\n"

#: src/envsubst.c:191
#, c-format, no-wrap
msgid "  -v, --variables             output the variables occurring in SHELL-FORMAT\n"
msgstr "  -v, --variables             顯示 <SHELL-格式> 中出現過的環境變數\n"

#: src/envsubst.c:195 src/gettext.c:275 src/ngettext.c:241
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "資訊輸出：\n"

#: src/envsubst.c:198
#, c-format, no-wrap
msgid "  -h, --help                  display this help and exit\n"
msgstr "  -h, --help                  顯示此說明訊息後結束\n"

#: src/envsubst.c:201
#, c-format, no-wrap
msgid "  -V, --version               output version information and exit\n"
msgstr "  -V, --version               輸出版本資訊並結束\n"

#: src/envsubst.c:205
#, c-format, no-wrap
msgid ""
"In normal operation mode, standard input is copied to standard output,\n"
"with references to environment variables of the form $VARIABLE or ${VARIABLE}\n"
"being replaced with the corresponding values.  If a SHELL-FORMAT is given,\n"
"only those environment variables that are referenced in SHELL-FORMAT are\n"
"substituted; otherwise all environment variables references occurring in\n"
"standard input are substituted.\n"
msgstr ""
"在正常模式下，會從標準輸入讀取資料，並將內容中的環境變數 (像 $VARIABLE 或\n"
"${VARIABLE}) 轉換為該變數的值，並在標準輸出顯示結果。如果指定了 SHELL-格式，\n"
"則只替換 SHELL-格式 中指定的變數，否則所有環境變數都會替換。\n"

#: src/envsubst.c:214
#, c-format, no-wrap
msgid ""
"When --variables is used, standard input is ignored, and the output consists\n"
"of the environment variables that are referenced in SHELL-FORMAT, one per line.\n"
msgstr ""
"如果使用 --variables 選項，將會忽略標準輸入，只會讀取 SHELL-格式 中的\n"
"環境變數並顯示變數名稱，每個一行。\n"

#. TRANSLATORS: The first placeholder is the web address of the Savannah
#. project of this package.  The second placeholder is the bug-reporting
#. email address for this package.  Please add _another line_ saying
#. "Report translation bugs to <...>\n" with the address for translation
#. bugs (typically your translation team's web or email address).
#: src/envsubst.c:223 src/gettext.c:299 src/ngettext.c:262
#, c-format
msgid ""
"Report bugs in the bug tracker at <%s>\n"
"or by email to <%s>.\n"
msgstr ""
"請在位於 <%s> 的臭蟲追蹤系統回報臭蟲\n"
"或寄電子郵件至 <%s>。\n"

#: src/envsubst.c:451
#, c-format
msgid "error while reading \"%s\""
msgstr "讀取「%s」時發生錯誤"

#: src/envsubst.c:451
msgid "standard input"
msgstr "標準輸入"

#. This is a proper name. See the gettext manual, section Names.
#: src/gettext.c:141 src/ngettext.c:130
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"

#: src/gettext.c:251
#, c-format, no-wrap
msgid ""
"Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
"or:    %s [OPTION] -s [MSGID]...\n"
msgstr ""
"用法：%s [選項] [[文字領域] MSGID]\n"
"或：  %s [選項] -s [MSGID]...\n"

#: src/gettext.c:257
#, c-format, no-wrap
msgid "Display native language translation of a textual message.\n"
msgstr "顯示某個文字訊息的原生語言翻譯。\n"

#: src/gettext.c:261
#, c-format, no-wrap
msgid "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
msgstr "  -d, --domain=文字領域     從 <文字領域> 取得已翻譯訊息\n"

#: src/gettext.c:263 src/ngettext.c:228
#, c-format
msgid "  -c, --context=CONTEXT     specify context for MSGID\n"
msgstr "  -c, --context=上下文      指定 MSGID 的上下文\n"

#: src/gettext.c:265 src/ngettext.c:230
#, c-format
msgid "  -e                        enable expansion of some escape sequences\n"
msgstr "  -e                        啟用部份跳脫序列的擴充\n"

#: src/gettext.c:267
#, c-format
msgid "  -n                        suppress trailing newline\n"
msgstr "  -n                        隱藏尾端換行\n"

#: src/gettext.c:269 src/ngettext.c:232
#, c-format
msgid "  -E                        (ignored for compatibility)\n"
msgstr "  -E                        （忽略，僅作相容）\n"

#: src/gettext.c:271
#, c-format
msgid ""
"  [TEXTDOMAIN] MSGID        retrieve translated message corresponding\n"
"                            to MSGID from TEXTDOMAIN\n"
msgstr ""
"  [文字領域] MSGID          從 <文字領域> 取得對應 MSGID 的已翻譯訊息\n"

#: src/gettext.c:277 src/ngettext.c:243
#, c-format
msgid "  -h, --help                display this help and exit\n"
msgstr "  -h, --help                顯示此說明訊息後結束\n"

#: src/gettext.c:279 src/ngettext.c:245
#, c-format
msgid "  -V, --version             display version information and exit\n"
msgstr "  -V, --version             顯示版本資訊並結束\n"

#: src/gettext.c:283
#, c-format, no-wrap
msgid ""
"If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
"environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
"regular directory, another location can be specified with the environment\n"
"variable TEXTDOMAINDIR.\n"
"When used with the -s option the program behaves like the 'echo' command.\n"
"But it does not simply copy its arguments to stdout.  Instead those messages\n"
"found in the selected catalog are translated.\n"
"Standard search directory: %s\n"
msgstr ""
"若未指定 <文字領域> 參數，將會依 TEXTDOMAIN 環境變數決定 <文字領域> 的值。\n"
"如果未在正常目錄中找到訊息資料檔，則可透過 TEXTDOMAINDIR 環境變數指定其他路徑。\n"
"使用 -s 選項時，程式將如「echo」指令般運作，但不單單只是把參數複製到標準輸出，\n"
"而是輸出選取資料檔中的已翻譯訊息。\n"
"標準搜尋路徑：%s\n"

#: src/ngettext.c:216
#, c-format, no-wrap
msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
msgstr "用法：%s [選項] [文字領域] MSGID MSGID-複數 數量\n"

#: src/ngettext.c:221
#, c-format, no-wrap
msgid ""
"Display native language translation of a textual message whose grammatical\n"
"form depends on a number.\n"
msgstr "顯示某文字訊息的原生語言翻譯，其文法受單複數影響。\n"

#: src/ngettext.c:226
#, c-format, no-wrap
msgid "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
msgstr "  -d, --domain=文字領域     從 <文字領域> 取得已翻譯訊息\n"

#: src/ngettext.c:234
#, c-format
msgid ""
"  [TEXTDOMAIN]              retrieve translated message from TEXTDOMAIN\n"
msgstr "  [文字領域]                從 <文字領域> 取得已翻譯訊息\n"

#: src/ngettext.c:236
#, c-format
msgid ""
"  MSGID MSGID-PLURAL        translate MSGID (singular) / MSGID-PLURAL "
"(plural)\n"
msgstr "  MSGID MSGID-複數          翻譯 MSGID (單數) / MSGID-複數 (複數)\n"

#: src/ngettext.c:238
#, c-format
msgid ""
"  COUNT                     choose singular/plural form based on this value\n"
msgstr "  數量                      基於此值選擇單複數型態\n"

#: src/ngettext.c:249
#, c-format, no-wrap
msgid ""
"If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
"environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
"regular directory, another location can be specified with the environment\n"
"variable TEXTDOMAINDIR.\n"
"Standard search directory: %s\n"
msgstr ""
"若未指定 <文字領域> 參數，將會依 TEXTDOMAIN 環境變數決定 <文字領域> 的值。\n"
"如果訊息資料檔未在正常目錄中找到，則可使用 TEXTDOMAINDIR 環境變數指定其他路徑。\n"
"標準搜尋路徑：%s\n"

#~ msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
#~ msgstr "請向 <bug-gnu-gettext@gnu.org> 回報臭蟲。\n"
