golang.zx2c4.com/wireguard/windows@v0.5.4-0.20230123132234-dcc0eb72a04b/locales/zh-TW/messages.gotext.json (about)

     1  {
     2      "language": "zh-TW",
     3      "messages": [
     4          {
     5              "id": "Error",
     6              "message": "Error",
     7              "translation": "錯誤",
     8              "translatorComment": "Copied from source."
     9          },
    10          {
    11              "id": "(no argument): elevate and install manager service",
    12              "message": "(no argument): elevate and install manager service",
    13              "translation": "(無參數):提升權限並安裝管理服務",
    14              "translatorComment": "Copied from source."
    15          },
    16          {
    17              "id": "Usage: {Args0} [\n{String}]",
    18              "message": "Usage: {Args0} [\n{String}]",
    19              "translation": "使用方法: {Args0} [\n{String}]",
    20              "translatorComment": "Copied from source.",
    21              "placeholders": [
    22                  {
    23                      "id": "Args0",
    24                      "string": "%[1]s",
    25                      "type": "string",
    26                      "underlyingType": "string",
    27                      "argNum": 1,
    28                      "expr": "os.Args[0]"
    29                  },
    30                  {
    31                      "id": "String",
    32                      "string": "%[2]s",
    33                      "type": "string",
    34                      "underlyingType": "string",
    35                      "argNum": 2,
    36                      "expr": "builder.String()"
    37                  }
    38              ]
    39          },
    40          {
    41              "id": "Command Line Options",
    42              "message": "Command Line Options",
    43              "translation": "命令列選項",
    44              "translatorComment": "Copied from source."
    45          },
    46          {
    47              "id": "Unable to determine whether the process is running under WOW64: {Err}",
    48              "message": "Unable to determine whether the process is running under WOW64: {Err}",
    49              "translation": "無法確定該處理程序是否在 WOW64 下執行: {Err}",
    50              "translatorComment": "Copied from source.",
    51              "placeholders": [
    52                  {
    53                      "id": "Err",
    54                      "string": "%[1]v",
    55                      "type": "error",
    56                      "underlyingType": "interface{Error() string}",
    57                      "argNum": 1,
    58                      "expr": "err"
    59                  }
    60              ]
    61          },
    62          {
    63              "id": "You must use the native version of WireGuard on this computer.",
    64              "message": "You must use the native version of WireGuard on this computer.",
    65              "translation": "您必須在此電腦上執行原生版本的 WireGuard。",
    66              "translatorComment": "Copied from source."
    67          },
    68          {
    69              "id": "Unable to open current process token: {Err}",
    70              "message": "Unable to open current process token: {Err}",
    71              "translation": "無法開啓目前處理程序的權杖: {Err}",
    72              "translatorComment": "Copied from source.",
    73              "placeholders": [
    74                  {
    75                      "id": "Err",
    76                      "string": "%[1]v",
    77                      "type": "error",
    78                      "underlyingType": "interface{Error() string}",
    79                      "argNum": 1,
    80                      "expr": "err"
    81                  }
    82              ]
    83          },
    84          {
    85              "id": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.",
    86              "message": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.",
    87              "translation": "WireGuard 可能只能被內建的「{AdminGroupName}」群組成員使用。",
    88              "translatorComment": "Copied from source.",
    89              "placeholders": [
    90                  {
    91                      "id": "AdminGroupName",
    92                      "string": "%[1]s",
    93                      "type": "string",
    94                      "underlyingType": "string",
    95                      "argNum": 1,
    96                      "expr": "elevate.AdminGroupName()"
    97                  }
    98              ]
    99          },
   100          {
   101              "id": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
   102              "message": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
   103              "translation": "WireGuard 正在執行,但 UI 只能從內建的內建的「{AdminGroupName}」群組成員的桌面存取。",
   104              "translatorComment": "Copied from source.",
   105              "placeholders": [
   106                  {
   107                      "id": "AdminGroupName",
   108                      "string": "%[1]s",
   109                      "type": "string",
   110                      "underlyingType": "string",
   111                      "argNum": 1,
   112                      "expr": "elevate.AdminGroupName()"
   113                  }
   114              ]
   115          },
   116          {
   117              "id": "WireGuard system tray icon did not appear after 30 seconds.",
   118              "message": "WireGuard system tray icon did not appear after 30 seconds.",
   119              "translation": "WireGuard 的工作列圖示在 30 秒後並沒有顯示。",
   120              "translatorComment": "Copied from source."
   121          },
   122          {
   123              "id": "Now",
   124              "message": "Now",
   125              "translation": "就是現在",
   126              "translatorComment": "Copied from source."
   127          },
   128          {
   129              "id": "System clock wound backward!",
   130              "message": "System clock wound backward!",
   131              "translation": "系統時鐘倒退了!",
   132              "translatorComment": "Copied from source."
   133          },
   134          {
   135              "id": "{Years} year(s)",
   136              "message": "{Years} year(s)",
   137              "translation": {
   138                  "select": {
   139                      "feature": "plural",
   140                      "arg": "Years",
   141                      "cases": {
   142                          "other": {
   143                              "msg": "{Years} 年"
   144                          }
   145                      }
   146                  }
   147              },
   148              "placeholders": [
   149                  {
   150                      "id": "Years",
   151                      "string": "%[1]d",
   152                      "type": "int64",
   153                      "underlyingType": "int64",
   154                      "argNum": 1,
   155                      "expr": "years"
   156                  }
   157              ]
   158          },
   159          {
   160              "id": "{Days} day(s)",
   161              "message": "{Days} day(s)",
   162              "translation": {
   163                  "select": {
   164                      "feature": "plural",
   165                      "arg": "Days",
   166                      "cases": {
   167                          "other": {
   168                              "msg": "{Days} 天"
   169                          }
   170                      }
   171                  }
   172              },
   173              "placeholders": [
   174                  {
   175                      "id": "Days",
   176                      "string": "%[1]d",
   177                      "type": "int64",
   178                      "underlyingType": "int64",
   179                      "argNum": 1,
   180                      "expr": "days"
   181                  }
   182              ]
   183          },
   184          {
   185              "id": "{Hours} hour(s)",
   186              "message": "{Hours} hour(s)",
   187              "translation": {
   188                  "select": {
   189                      "feature": "plural",
   190                      "arg": "Hours",
   191                      "cases": {
   192                          "other": {
   193                              "msg": "{Hours} 小時"
   194                          }
   195                      }
   196                  }
   197              },
   198              "placeholders": [
   199                  {
   200                      "id": "Hours",
   201                      "string": "%[1]d",
   202                      "type": "int64",
   203                      "underlyingType": "int64",
   204                      "argNum": 1,
   205                      "expr": "hours"
   206                  }
   207              ]
   208          },
   209          {
   210              "id": "{Minutes} minute(s)",
   211              "message": "{Minutes} minute(s)",
   212              "translation": {
   213                  "select": {
   214                      "feature": "plural",
   215                      "arg": "Minutes",
   216                      "cases": {
   217                          "other": {
   218                              "msg": "{Minutes} 分鐘"
   219                          }
   220                      }
   221                  }
   222              },
   223              "placeholders": [
   224                  {
   225                      "id": "Minutes",
   226                      "string": "%[1]d",
   227                      "type": "int64",
   228                      "underlyingType": "int64",
   229                      "argNum": 1,
   230                      "expr": "minutes"
   231                  }
   232              ]
   233          },
   234          {
   235              "id": "{Seconds} second(s)",
   236              "message": "{Seconds} second(s)",
   237              "translation": {
   238                  "select": {
   239                      "feature": "plural",
   240                      "arg": "Seconds",
   241                      "cases": {
   242                          "other": {
   243                              "msg": "{Seconds} 秒"
   244                          }
   245                      }
   246                  }
   247              },
   248              "placeholders": [
   249                  {
   250                      "id": "Seconds",
   251                      "string": "%[1]d",
   252                      "type": "int64",
   253                      "underlyingType": "int64",
   254                      "argNum": 1,
   255                      "expr": "seconds"
   256                  }
   257              ]
   258          },
   259          {
   260              "id": "{Timestamp} ago",
   261              "message": "{Timestamp} ago",
   262              "translation": "{Timestamp} 前",
   263              "translatorComment": "Copied from source.",
   264              "placeholders": [
   265                  {
   266                      "id": "Timestamp",
   267                      "string": "%[1]s",
   268                      "type": "string",
   269                      "underlyingType": "string",
   270                      "argNum": 1,
   271                      "expr": "timestamp"
   272                  }
   273              ]
   274          },
   275          {
   276              "id": "{Bytes} B",
   277              "message": "{Bytes} B",
   278              "translation": "{Bytes} B",
   279              "translatorComment": "Copied from source.",
   280              "placeholders": [
   281                  {
   282                      "id": "Bytes",
   283                      "string": "%[1]d",
   284                      "type": "golang.zx2c4.com/wireguard/windows/conf.Bytes",
   285                      "underlyingType": "uint64",
   286                      "argNum": 1,
   287                      "expr": "b"
   288                  }
   289              ]
   290          },
   291          {
   292              "id": "{Float64b__1024} KiB",
   293              "message": "{Float64b__1024} KiB",
   294              "translation": "{Float64b__1024} KiB",
   295              "translatorComment": "Copied from source.",
   296              "placeholders": [
   297                  {
   298                      "id": "Float64b__1024",
   299                      "string": "%.2[1]f",
   300                      "type": "float64",
   301                      "underlyingType": "float64",
   302                      "argNum": 1,
   303                      "expr": "float64(b) / 1024"
   304                  }
   305              ]
   306          },
   307          {
   308              "id": "{Float64b__1024__1024} MiB",
   309              "message": "{Float64b__1024__1024} MiB",
   310              "translation": "{Float64b__1024__1024} MiB",
   311              "translatorComment": "Copied from source.",
   312              "placeholders": [
   313                  {
   314                      "id": "Float64b__1024__1024",
   315                      "string": "%.2[1]f",
   316                      "type": "float64",
   317                      "underlyingType": "float64",
   318                      "argNum": 1,
   319                      "expr": "float64(b) / (1024 * 1024)"
   320                  }
   321              ]
   322          },
   323          {
   324              "id": "{Float64b__1024__1024__1024} GiB",
   325              "message": "{Float64b__1024__1024__1024} GiB",
   326              "translation": "{Float64b__1024__1024__1024} GiB",
   327              "translatorComment": "Copied from source.",
   328              "placeholders": [
   329                  {
   330                      "id": "Float64b__1024__1024__1024",
   331                      "string": "%.2[1]f",
   332                      "type": "float64",
   333                      "underlyingType": "float64",
   334                      "argNum": 1,
   335                      "expr": "float64(b) / (1024 * 1024 * 1024)"
   336                  }
   337              ]
   338          },
   339          {
   340              "id": "{Float64b__1024__1024__1024__1024} TiB",
   341              "message": "{Float64b__1024__1024__1024__1024} TiB",
   342              "translation": "{Float64b__1024__1024__1024__1024} TiB",
   343              "translatorComment": "Copied from source.",
   344              "placeholders": [
   345                  {
   346                      "id": "Float64b__1024__1024__1024__1024",
   347                      "string": "%.2[1]f",
   348                      "type": "float64",
   349                      "underlyingType": "float64",
   350                      "argNum": 1,
   351                      "expr": "float64(b) / (1024 * 1024 * 1024) / 1024"
   352                  }
   353              ]
   354          },
   355          {
   356              "id": "{Why}: {Offender}",
   357              "message": "{Why}: {Offender}",
   358              "translation": "{Why}: {Offender}",
   359              "translatorComment": "Copied from source.",
   360              "placeholders": [
   361                  {
   362                      "id": "Why",
   363                      "string": "%[1]s",
   364                      "type": "string",
   365                      "underlyingType": "string",
   366                      "argNum": 1,
   367                      "expr": "e.why"
   368                  },
   369                  {
   370                      "id": "Offender",
   371                      "string": "%[2]q",
   372                      "type": "string",
   373                      "underlyingType": "string",
   374                      "argNum": 2,
   375                      "expr": "e.offender"
   376                  }
   377              ]
   378          },
   379          {
   380              "id": "Invalid IP address",
   381              "message": "Invalid IP address",
   382              "translation": "無效的 IP 位址",
   383              "translatorComment": "Copied from source."
   384          },
   385          {
   386              "id": "Invalid network prefix length",
   387              "message": "Invalid network prefix length",
   388              "translation": "無效的網路位址首碼長度",
   389              "translatorComment": "Copied from source."
   390          },
   391          {
   392              "id": "Missing port from endpoint",
   393              "message": "Missing port from endpoint",
   394              "translation": "Endpoint 中沒有指定埠號",
   395              "translatorComment": "Copied from source."
   396          },
   397          {
   398              "id": "Invalid endpoint host",
   399              "message": "Invalid endpoint host",
   400              "translation": "無效的 Endpoint 位址",
   401              "translatorComment": "Copied from source."
   402          },
   403          {
   404              "id": "Brackets must contain an IPv6 address",
   405              "message": "Brackets must contain an IPv6 address",
   406              "translation": "括號中必須包含一個 IPv6 位址",
   407              "translatorComment": "Copied from source."
   408          },
   409          {
   410              "id": "Invalid MTU",
   411              "message": "Invalid MTU",
   412              "translation": "無效的 MTU",
   413              "translatorComment": "Copied from source."
   414          },
   415          {
   416              "id": "Invalid port",
   417              "message": "Invalid port",
   418              "translation": "無效的埠號",
   419              "translatorComment": "Copied from source."
   420          },
   421          {
   422              "id": "Invalid persistent keepalive",
   423              "message": "Invalid persistent keepalive",
   424              "translation": "無效的 Persistent Keepalive 設定",
   425              "translatorComment": "Copied from source."
   426          },
   427          {
   428              "id": "Invalid key: {Err}",
   429              "message": "Invalid key: {Err}",
   430              "translation": "無效的金鑰: {Err}",
   431              "translatorComment": "Copied from source.",
   432              "placeholders": [
   433                  {
   434                      "id": "Err",
   435                      "string": "%[1]v",
   436                      "type": "error",
   437                      "underlyingType": "interface{Error() string}",
   438                      "argNum": 1,
   439                      "expr": "err"
   440                  }
   441              ]
   442          },
   443          {
   444              "id": "Keys must decode to exactly 32 bytes",
   445              "message": "Keys must decode to exactly 32 bytes",
   446              "translation": "金鑰必須剛好長 32 bytes",
   447              "translatorComment": "Copied from source."
   448          },
   449          {
   450              "id": "Number must be a number between 0 and 2^64-1: {Err}",
   451              "message": "Number must be a number between 0 and 2^64-1: {Err}",
   452              "translation": "數值必須介於 0 到 2^64-1: {Err}",
   453              "translatorComment": "Copied from source.",
   454              "placeholders": [
   455                  {
   456                      "id": "Err",
   457                      "string": "%[1]v",
   458                      "type": "error",
   459                      "underlyingType": "interface{Error() string}",
   460                      "argNum": 1,
   461                      "expr": "err"
   462                  }
   463              ]
   464          },
   465          {
   466              "id": "Two commas in a row",
   467              "message": "Two commas in a row",
   468              "translation": "一行中有兩個逗號",
   469              "translatorComment": "Copied from source."
   470          },
   471          {
   472              "id": "Tunnel name is not valid",
   473              "message": "Tunnel name is not valid",
   474              "translation": "隧道名稱無效",
   475              "translatorComment": "Copied from source."
   476          },
   477          {
   478              "id": "Line must occur in a section",
   479              "message": "Line must occur in a section",
   480              "translation": "行必須出現在段落中",
   481              "translatorComment": "Copied from source."
   482          },
   483          {
   484              "id": "Config key is missing an equals separator",
   485              "message": "Config key is missing an equals separator",
   486              "translation": "設定的項目必須要有一個等號",
   487              "translatorComment": "Copied from source."
   488          },
   489          {
   490              "id": "Key must have a value",
   491              "message": "Key must have a value",
   492              "translation": "必須要有一個值",
   493              "translatorComment": "Copied from source."
   494          },
   495          {
   496              "id": "Invalid key for [Interface] section",
   497              "message": "Invalid key for [Interface] section",
   498              "translation": "[Interface] 中有無效選項",
   499              "translatorComment": "Copied from source."
   500          },
   501          {
   502              "id": "Invalid key for [Peer] section",
   503              "message": "Invalid key for [Peer] section",
   504              "translation": "[Peer] 中有無效選項",
   505              "translatorComment": "Copied from source."
   506          },
   507          {
   508              "id": "An interface must have a private key",
   509              "message": "An interface must have a private key",
   510              "translation": "Interface 中必須要有一把私鑰",
   511              "translatorComment": "Copied from source."
   512          },
   513          {
   514              "id": "[none specified]",
   515              "message": "[none specified]",
   516              "translation": "[未指定]",
   517              "translatorComment": "Copied from source."
   518          },
   519          {
   520              "id": "All peers must have public keys",
   521              "message": "All peers must have public keys",
   522              "translation": "每個 Peer 都必須要有公鑰",
   523              "translatorComment": "Copied from source."
   524          },
   525          {
   526              "id": "Error in getting configuration",
   527              "message": "Error in getting configuration",
   528              "translation": "讀取設定時發生錯誤",
   529              "translatorComment": "Copied from source."
   530          },
   531          {
   532              "id": "Invalid key for interface section",
   533              "message": "Invalid key for interface section",
   534              "translation": "Interface 中的金鑰無效",
   535              "translatorComment": "Copied from source."
   536          },
   537          {
   538              "id": "Protocol version must be 1",
   539              "message": "Protocol version must be 1",
   540              "translation": "協定版本必須為 1",
   541              "translatorComment": "Copied from source."
   542          },
   543          {
   544              "id": "Invalid key for peer section",
   545              "message": "Invalid key for peer section",
   546              "translation": "Peer 中的金鑰無效",
   547              "translatorComment": "Copied from source."
   548          },
   549          {
   550              "id": "[EnumerationSeparator]",
   551              "message": "[EnumerationSeparator]",
   552              "translation": "、",
   553              "comment": "Text to insert between items when listing - most western languages will translate ‘[EnumerationSeparator]’ into ‘, ’ to produce lists like ‘apple, orange, strawberry’. Eastern languages might translate into ‘、’ to produce lists like ‘リンゴ、オレンジ、イチゴ’."
   554          },
   555          {
   556              "id": "[UnitSeparator]",
   557              "message": "[UnitSeparator]",
   558              "translation": " ",
   559              "comment": "Text to insert when combining units of a measure - most languages will translate ‘[UnitSeparator]’ into ‘ ’ (space) to produce lists like ‘2 minuti 30 sekund’, or empty string ‘’ to produce ‘2分30秒’."
   560          },
   561          {
   562              "id": "About WireGuard",
   563              "message": "About WireGuard",
   564              "translation": "關於 WireGuard",
   565              "translatorComment": "Copied from source."
   566          },
   567          {
   568              "id": "WireGuard logo image",
   569              "message": "WireGuard logo image",
   570              "translation": "WireGuard logo 圖片",
   571              "translatorComment": "Copied from source."
   572          },
   573          {
   574              "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
   575              "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
   576              "translation": "應用程式版本: {Number}\n後端程式(Go 實作)版本: {WireGuardGoVersion}\nGo 版本: {Version_go}-{GOARCH}\n作業系統: {OsName}\n架構: {NativeArch}",
   577              "translatorComment": "Copied from source.",
   578              "placeholders": [
   579                  {
   580                      "id": "Number",
   581                      "string": "%[1]s",
   582                      "type": "string",
   583                      "underlyingType": "string",
   584                      "argNum": 1,
   585                      "expr": "version.Number"
   586                  },
   587                  {
   588                      "id": "WireGuardGoVersion",
   589                      "string": "%[2]s",
   590                      "type": "string",
   591                      "underlyingType": "string",
   592                      "argNum": 2,
   593                      "expr": "device.WireGuardGoVersion"
   594                  },
   595                  {
   596                      "id": "Version_go",
   597                      "string": "%[3]s",
   598                      "type": "string",
   599                      "underlyingType": "string",
   600                      "argNum": 3,
   601                      "expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
   602                  },
   603                  {
   604                      "id": "GOARCH",
   605                      "string": "%[4]s",
   606                      "type": "string",
   607                      "underlyingType": "string",
   608                      "argNum": 4,
   609                      "expr": "runtime.GOARCH"
   610                  },
   611                  {
   612                      "id": "OsName",
   613                      "string": "%[5]s",
   614                      "type": "string",
   615                      "underlyingType": "string",
   616                      "argNum": 5,
   617                      "expr": "version.OsName()"
   618                  },
   619                  {
   620                      "id": "NativeArch",
   621                      "string": "%[6]s",
   622                      "type": "string",
   623                      "underlyingType": "string",
   624                      "argNum": 6,
   625                      "expr": "version.NativeArch()"
   626                  }
   627              ]
   628          },
   629          {
   630              "id": "Close",
   631              "message": "Close",
   632              "translation": "關閉",
   633              "translatorComment": "Copied from source."
   634          },
   635          {
   636              "id": "♥ &Donate!",
   637              "message": "♥ &Donate!",
   638              "translation": "♥ 捐贈! (&D)",
   639              "translatorComment": "Copied from source."
   640          },
   641          {
   642              "id": "Status:",
   643              "message": "Status:",
   644              "translation": "狀態",
   645              "translatorComment": "Copied from source."
   646          },
   647          {
   648              "id": "&Deactivate",
   649              "message": "&Deactivate",
   650              "translation": "中斷連線 (&D)",
   651              "translatorComment": "Copied from source."
   652          },
   653          {
   654              "id": "&Activate",
   655              "message": "&Activate",
   656              "translation": "連線 (&A)",
   657              "translatorComment": "Copied from source."
   658          },
   659          {
   660              "id": "Public key:",
   661              "message": "Public key:",
   662              "translation": "公鑰",
   663              "translatorComment": "Copied from source."
   664          },
   665          {
   666              "id": "Listen port:",
   667              "message": "Listen port:",
   668              "translation": "監聽埠",
   669              "translatorComment": "Copied from source."
   670          },
   671          {
   672              "id": "MTU:",
   673              "message": "MTU:",
   674              "translation": "MTU",
   675              "translatorComment": "Copied from source."
   676          },
   677          {
   678              "id": "Addresses:",
   679              "message": "Addresses:",
   680              "translation": "位址",
   681              "translatorComment": "Copied from source."
   682          },
   683          {
   684              "id": "DNS servers:",
   685              "message": "DNS servers:",
   686              "translation": "DNS 伺服器",
   687              "translatorComment": "Copied from source."
   688          },
   689          {
   690              "id": "Scripts:",
   691              "message": "Scripts:",
   692              "translation": "指令碼:",
   693              "translatorComment": "Copied from source."
   694          },
   695          {
   696              "id": "Preshared key:",
   697              "message": "Preshared key:",
   698              "translation": "預交換金鑰",
   699              "translatorComment": "Copied from source."
   700          },
   701          {
   702              "id": "Allowed IPs:",
   703              "message": "Allowed IPs:",
   704              "translation": "允許的位址",
   705              "translatorComment": "Copied from source."
   706          },
   707          {
   708              "id": "Endpoint:",
   709              "message": "Endpoint:",
   710              "translation": "連接點",
   711              "translatorComment": "Copied from source."
   712          },
   713          {
   714              "id": "Persistent keepalive:",
   715              "message": "Persistent keepalive:",
   716              "translation": "Keepalive 間隔",
   717              "translatorComment": "Copied from source."
   718          },
   719          {
   720              "id": "Latest handshake:",
   721              "message": "Latest handshake:",
   722              "translation": "最後交握時間",
   723              "translatorComment": "Copied from source."
   724          },
   725          {
   726              "id": "Transfer:",
   727              "message": "Transfer:",
   728              "translation": "流量",
   729              "translatorComment": "Copied from source."
   730          },
   731          {
   732              "id": "pre-up",
   733              "message": "pre-up",
   734              "translation": "連接前",
   735              "translatorComment": "Copied from source."
   736          },
   737          {
   738              "id": "post-up",
   739              "message": "post-up",
   740              "translation": "連接後",
   741              "translatorComment": "Copied from source."
   742          },
   743          {
   744              "id": "pre-down",
   745              "message": "pre-down",
   746              "translation": "斷線前",
   747              "translatorComment": "Copied from source."
   748          },
   749          {
   750              "id": "post-down",
   751              "message": "post-down",
   752              "translation": "斷線後",
   753              "translatorComment": "Copied from source."
   754          },
   755          {
   756              "id": "disabled, per policy",
   757              "message": "disabled, per policy",
   758              "translation": "已關閉, 隨著策略",
   759              "translatorComment": "Copied from source."
   760          },
   761          {
   762              "id": "enabled",
   763              "message": "enabled",
   764              "translation": "已啓用",
   765              "translatorComment": "Copied from source."
   766          },
   767          {
   768              "id": "{String} received, {String_1} sent",
   769              "message": "{String} received, {String_1} sent",
   770              "translation": "已收到 {String};已傳送 {String_1}",
   771              "translatorComment": "Copied from source.",
   772              "placeholders": [
   773                  {
   774                      "id": "String",
   775                      "string": "%[1]s",
   776                      "type": "string",
   777                      "underlyingType": "string",
   778                      "argNum": 1,
   779                      "expr": "c.RxBytes.String()"
   780                  },
   781                  {
   782                      "id": "String_1",
   783                      "string": "%[2]s",
   784                      "type": "string",
   785                      "underlyingType": "string",
   786                      "argNum": 2,
   787                      "expr": "c.TxBytes.String()"
   788                  }
   789              ]
   790          },
   791          {
   792              "id": "Failed to determine tunnel state",
   793              "message": "Failed to determine tunnel state",
   794              "translation": "無法確認隧道狀態",
   795              "translatorComment": "Copied from source."
   796          },
   797          {
   798              "id": "Failed to activate tunnel",
   799              "message": "Failed to activate tunnel",
   800              "translation": "無法連接隧道",
   801              "translatorComment": "Copied from source."
   802          },
   803          {
   804              "id": "Failed to deactivate tunnel",
   805              "message": "Failed to deactivate tunnel",
   806              "translation": "無法斷開隧道連線",
   807              "translatorComment": "Copied from source."
   808          },
   809          {
   810              "id": "Interface: {Name}",
   811              "message": "Interface: {Name}",
   812              "translation": "[隧道] {Name}",
   813              "translatorComment": "Copied from source.",
   814              "placeholders": [
   815                  {
   816                      "id": "Name",
   817                      "string": "%[1]s",
   818                      "type": "string",
   819                      "underlyingType": "string",
   820                      "argNum": 1,
   821                      "expr": "config.Name"
   822                  }
   823              ]
   824          },
   825          {
   826              "id": "Peer",
   827              "message": "Peer",
   828              "translation": "節點",
   829              "translatorComment": "Copied from source."
   830          },
   831          {
   832              "id": "Create new tunnel",
   833              "message": "Create new tunnel",
   834              "translation": "建立新隧道",
   835              "translatorComment": "Copied from source."
   836          },
   837          {
   838              "id": "Edit tunnel",
   839              "message": "Edit tunnel",
   840              "translation": "編輯隧道設定",
   841              "translatorComment": "Copied from source."
   842          },
   843          {
   844              "id": "&Name:",
   845              "message": "&Name:",
   846              "translation": "名稱 (&N)",
   847              "translatorComment": "Copied from source."
   848          },
   849          {
   850              "id": "&Public key:",
   851              "message": "&Public key:",
   852              "translation": "公鑰 (&P)",
   853              "translatorComment": "Copied from source."
   854          },
   855          {
   856              "id": "(unknown)",
   857              "message": "(unknown)",
   858              "translation": "(未知)",
   859              "translatorComment": "Copied from source."
   860          },
   861          {
   862              "id": "&Block untunneled traffic (kill-switch)",
   863              "message": "&Block untunneled traffic (kill-switch)",
   864              "translation": "阻斷未經過隧道的流量(kill-switch) (&B)",
   865              "translatorComment": "Copied from source."
   866          },
   867          {
   868              "id": "&Save",
   869              "message": "&Save",
   870              "translation": "儲存 (&S)",
   871              "translatorComment": "Copied from source."
   872          },
   873          {
   874              "id": "Cancel",
   875              "message": "Cancel",
   876              "translation": "取消",
   877              "translatorComment": "Copied from source."
   878          },
   879          {
   880              "id": "&Configuration:",
   881              "message": "&Configuration:",
   882              "translation": "設定 (&C)",
   883              "translatorComment": "Copied from source."
   884          },
   885          {
   886              "id": "Invalid name",
   887              "message": "Invalid name",
   888              "translation": "無效的名稱",
   889              "translatorComment": "Copied from source."
   890          },
   891          {
   892              "id": "A name is required.",
   893              "message": "A name is required.",
   894              "translation": "必須填寫名稱。",
   895              "translatorComment": "Copied from source."
   896          },
   897          {
   898              "id": "Tunnel name ‘{NewName}’ is invalid.",
   899              "message": "Tunnel name ‘{NewName}’ is invalid.",
   900              "translation": "無效的隧道名稱「{NewName}」。",
   901              "translatorComment": "Copied from source.",
   902              "placeholders": [
   903                  {
   904                      "id": "NewName",
   905                      "string": "%[1]s",
   906                      "type": "string",
   907                      "underlyingType": "string",
   908                      "argNum": 1,
   909                      "expr": "newName"
   910                  }
   911              ]
   912          },
   913          {
   914              "id": "Unable to list existing tunnels",
   915              "message": "Unable to list existing tunnels",
   916              "translation": "無法列出現有隧道",
   917              "translatorComment": "Copied from source."
   918          },
   919          {
   920              "id": "Tunnel already exists",
   921              "message": "Tunnel already exists",
   922              "translation": "隧道已存在",
   923              "translatorComment": "Copied from source."
   924          },
   925          {
   926              "id": "Another tunnel already exists with the name ‘{NewName}’.",
   927              "message": "Another tunnel already exists with the name ‘{NewName}’.",
   928              "translation": "已有同名隧道「{NewName}」。",
   929              "translatorComment": "Copied from source.",
   930              "placeholders": [
   931                  {
   932                      "id": "NewName",
   933                      "string": "%[1]s",
   934                      "type": "string",
   935                      "underlyingType": "string",
   936                      "argNum": 1,
   937                      "expr": "newName"
   938                  }
   939              ]
   940          },
   941          {
   942              "id": "Unable to create new configuration",
   943              "message": "Unable to create new configuration",
   944              "translation": "無法建立新的隧道設定",
   945              "translatorComment": "Copied from source."
   946          },
   947          {
   948              "id": "Writing file failed",
   949              "message": "Writing file failed",
   950              "translation": "檔案寫入失敗",
   951              "translatorComment": "Copied from source."
   952          },
   953          {
   954              "id": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
   955              "message": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
   956              "translation": "檔案已存在: {FilePath}\n\n您確定要覆蓋嗎?",
   957              "translatorComment": "Copied from source.",
   958              "placeholders": [
   959                  {
   960                      "id": "FilePath",
   961                      "string": "%[1]s",
   962                      "type": "string",
   963                      "underlyingType": "string",
   964                      "argNum": 1,
   965                      "expr": "filePath"
   966                  }
   967              ]
   968          },
   969          {
   970              "id": "Active",
   971              "message": "Active",
   972              "translation": "已連線",
   973              "translatorComment": "Copied from source."
   974          },
   975          {
   976              "id": "Activating",
   977              "message": "Activating",
   978              "translation": "正在連線…",
   979              "translatorComment": "Copied from source."
   980          },
   981          {
   982              "id": "Inactive",
   983              "message": "Inactive",
   984              "translation": "已中斷連線",
   985              "translatorComment": "Copied from source."
   986          },
   987          {
   988              "id": "Deactivating",
   989              "message": "Deactivating",
   990              "translation": "正在中斷…",
   991              "translatorComment": "Copied from source."
   992          },
   993          {
   994              "id": "Unknown state",
   995              "message": "Unknown state",
   996              "translation": "未知",
   997              "translatorComment": "Copied from source."
   998          },
   999          {
  1000              "id": "Log",
  1001              "message": "Log",
  1002              "translation": "日誌",
  1003              "translatorComment": "Copied from source."
  1004          },
  1005          {
  1006              "id": "&Copy",
  1007              "message": "&Copy",
  1008              "translation": "複製 (&C)",
  1009              "translatorComment": "Copied from source."
  1010          },
  1011          {
  1012              "id": "Select &all",
  1013              "message": "Select &all",
  1014              "translation": "全選 (&A)",
  1015              "translatorComment": "Copied from source."
  1016          },
  1017          {
  1018              "id": "&Save to file…",
  1019              "message": "&Save to file…",
  1020              "translation": "匯出… (&S)",
  1021              "translatorComment": "Copied from source."
  1022          },
  1023          {
  1024              "id": "Time",
  1025              "message": "Time",
  1026              "translation": "時間",
  1027              "translatorComment": "Copied from source."
  1028          },
  1029          {
  1030              "id": "Log message",
  1031              "message": "Log message",
  1032              "translation": "日誌訊息",
  1033              "translatorComment": "Copied from source."
  1034          },
  1035          {
  1036              "id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
  1037              "message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
  1038              "translation": "純文字 (*.txt)|*.txt|所有檔案 (*.*)|*.*",
  1039              "translatorComment": "Copied from source."
  1040          },
  1041          {
  1042              "id": "Export log to file",
  1043              "message": "Export log to file",
  1044              "translation": "匯出日誌…",
  1045              "translatorComment": "Copied from source."
  1046          },
  1047          {
  1048              "id": "&About WireGuard…",
  1049              "message": "&About WireGuard…",
  1050              "translation": "關於 WireGuard (&A)",
  1051              "translatorComment": "Copied from source."
  1052          },
  1053          {
  1054              "id": "Tunnel Error",
  1055              "message": "Tunnel Error",
  1056              "translation": "隧道錯誤",
  1057              "translatorComment": "Copied from source."
  1058          },
  1059          {
  1060              "id": "{ErrMsg}\n\nPlease consult the log for more information.",
  1061              "message": "{ErrMsg}\n\nPlease consult the log for more information.",
  1062              "translation": "{ErrMsg}\n\n如需更多資訊,請查看日誌。",
  1063              "translatorComment": "Copied from source.",
  1064              "placeholders": [
  1065                  {
  1066                      "id": "ErrMsg",
  1067                      "string": "%[1]s",
  1068                      "type": "string",
  1069                      "underlyingType": "string",
  1070                      "argNum": 1,
  1071                      "expr": "errMsg"
  1072                  }
  1073              ]
  1074          },
  1075          {
  1076              "id": "{Title} (out of date)",
  1077              "message": "{Title} (out of date)",
  1078              "translation": "{Title}(已過時)",
  1079              "translatorComment": "Copied from source.",
  1080              "placeholders": [
  1081                  {
  1082                      "id": "Title",
  1083                      "string": "%[1]s",
  1084                      "type": "string",
  1085                      "underlyingType": "string",
  1086                      "argNum": 1,
  1087                      "expr": "mtw.Title()"
  1088                  }
  1089              ]
  1090          },
  1091          {
  1092              "id": "WireGuard Detection Error",
  1093              "message": "WireGuard Detection Error",
  1094              "translation": "偵測 WireGuard 錯誤",
  1095              "translatorComment": "Copied from source."
  1096          },
  1097          {
  1098              "id": "Unable to wait for WireGuard window to appear: {Err}",
  1099              "message": "Unable to wait for WireGuard window to appear: {Err}",
  1100              "translation": "無法等待 WireGuard 視窗開啓: {Err}",
  1101              "translatorComment": "Copied from source.",
  1102              "placeholders": [
  1103                  {
  1104                      "id": "Err",
  1105                      "string": "%[1]v",
  1106                      "type": "error",
  1107                      "underlyingType": "interface{Error() string}",
  1108                      "argNum": 1,
  1109                      "expr": "err"
  1110                  }
  1111              ]
  1112          },
  1113          {
  1114              "id": "WireGuard: Deactivated",
  1115              "message": "WireGuard: Deactivated",
  1116              "translation": "WireGuard - 未連線",
  1117              "translatorComment": "Copied from source."
  1118          },
  1119          {
  1120              "id": "Status: Unknown",
  1121              "message": "Status: Unknown",
  1122              "translation": "[狀態] 未知",
  1123              "translatorComment": "Copied from source."
  1124          },
  1125          {
  1126              "id": "Addresses: None",
  1127              "message": "Addresses: None",
  1128              "translation": "[位址] 無",
  1129              "translatorComment": "Copied from source."
  1130          },
  1131          {
  1132              "id": "&Manage tunnels…",
  1133              "message": "&Manage tunnels…",
  1134              "translation": "管理隧道 (&M)",
  1135              "translatorComment": "Copied from source."
  1136          },
  1137          {
  1138              "id": "&Import tunnel(s) from file…",
  1139              "message": "&Import tunnel(s) from file…",
  1140              "translation": "從檔案匯入… (&I)",
  1141              "translatorComment": "Copied from source."
  1142          },
  1143          {
  1144              "id": "E&xit",
  1145              "message": "E&xit",
  1146              "translation": "離開 (&X)",
  1147              "translatorComment": "Copied from source."
  1148          },
  1149          {
  1150              "id": "WireGuard Activated",
  1151              "message": "WireGuard Activated",
  1152              "translation": "WireGuard 已連線",
  1153              "translatorComment": "Copied from source."
  1154          },
  1155          {
  1156              "id": "The {Name} tunnel has been activated.",
  1157              "message": "The {Name} tunnel has been activated.",
  1158              "translation": "已連線至隧道 - {Name}",
  1159              "translatorComment": "Copied from source.",
  1160              "placeholders": [
  1161                  {
  1162                      "id": "Name",
  1163                      "string": "%[1]s",
  1164                      "type": "string",
  1165                      "underlyingType": "string",
  1166                      "argNum": 1,
  1167                      "expr": "tunnel.Name"
  1168                  }
  1169              ]
  1170          },
  1171          {
  1172              "id": "WireGuard Deactivated",
  1173              "message": "WireGuard Deactivated",
  1174              "translation": "WireGuard 已中斷連線",
  1175              "translatorComment": "Copied from source."
  1176          },
  1177          {
  1178              "id": "The {Name} tunnel has been deactivated.",
  1179              "message": "The {Name} tunnel has been deactivated.",
  1180              "translation": "已中斷與隧道的連線 - {Name}",
  1181              "translatorComment": "Copied from source.",
  1182              "placeholders": [
  1183                  {
  1184                      "id": "Name",
  1185                      "string": "%[1]s",
  1186                      "type": "string",
  1187                      "underlyingType": "string",
  1188                      "argNum": 1,
  1189                      "expr": "tunnel.Name"
  1190                  }
  1191              ]
  1192          },
  1193          {
  1194              "id": "WireGuard Tunnel Error",
  1195              "message": "WireGuard Tunnel Error",
  1196              "translation": "WireGuard 隧道錯誤",
  1197              "translatorComment": "Copied from source."
  1198          },
  1199          {
  1200              "id": "WireGuard: {TextForStateglobalState_true}",
  1201              "message": "WireGuard: {TextForStateglobalState_true}",
  1202              "translation": "WireGuard - {TextForStateglobalState_true}",
  1203              "translatorComment": "Copied from source.",
  1204              "placeholders": [
  1205                  {
  1206                      "id": "TextForStateglobalState_true",
  1207                      "string": "%[1]s",
  1208                      "type": "string",
  1209                      "underlyingType": "string",
  1210                      "argNum": 1,
  1211                      "expr": "textForState(globalState, true)"
  1212                  }
  1213              ]
  1214          },
  1215          {
  1216              "id": "Status: {StateText}",
  1217              "message": "Status: {StateText}",
  1218              "translation": "[狀態] {StateText}",
  1219              "translatorComment": "Copied from source.",
  1220              "placeholders": [
  1221                  {
  1222                      "id": "StateText",
  1223                      "string": "%[1]s",
  1224                      "type": "string",
  1225                      "underlyingType": "string",
  1226                      "argNum": 1,
  1227                      "expr": "stateText"
  1228                  }
  1229              ]
  1230          },
  1231          {
  1232              "id": "Addresses: {EnumerationSeparator}",
  1233              "message": "Addresses: {EnumerationSeparator}",
  1234              "translation": "位址: {EnumerationSeparator}",
  1235              "translatorComment": "Copied from source.",
  1236              "placeholders": [
  1237                  {
  1238                      "id": "EnumerationSeparator",
  1239                      "string": "%[1]s",
  1240                      "type": "string",
  1241                      "underlyingType": "string",
  1242                      "argNum": 1,
  1243                      "expr": "strings.Join(addrs, l18n.EnumerationSeparator())"
  1244                  }
  1245              ]
  1246          },
  1247          {
  1248              "id": "An Update is Available!",
  1249              "message": "An Update is Available!",
  1250              "translation": "更新",
  1251              "translatorComment": "Copied from source."
  1252          },
  1253          {
  1254              "id": "WireGuard Update Available",
  1255              "message": "WireGuard Update Available",
  1256              "translation": "WireGuard 更新",
  1257              "translatorComment": "Copied from source."
  1258          },
  1259          {
  1260              "id": "An update to WireGuard is now available. You are advised to update as soon as possible.",
  1261              "message": "An update to WireGuard is now available. You are advised to update as soon as possible.",
  1262              "translation": "更新的 WireGuard 已經為您準備好了。\n強烈建議您立即更新 WireGuard。",
  1263              "translatorComment": "Copied from source."
  1264          },
  1265          {
  1266              "id": "Tunnels",
  1267              "message": "Tunnels",
  1268              "translation": "隧道",
  1269              "translatorComment": "Copied from source."
  1270          },
  1271          {
  1272              "id": "&Edit",
  1273              "message": "&Edit",
  1274              "translation": "編輯 (&E)",
  1275              "translatorComment": "Copied from source."
  1276          },
  1277          {
  1278              "id": "Add &empty tunnel…",
  1279              "message": "Add &empty tunnel…",
  1280              "translation": "新增隧道精靈 (&E)",
  1281              "translatorComment": "Copied from source."
  1282          },
  1283          {
  1284              "id": "Add Tunnel",
  1285              "message": "Add Tunnel",
  1286              "translation": "新增隧道",
  1287              "translatorComment": "Copied from source."
  1288          },
  1289          {
  1290              "id": "Remove selected tunnel(s)",
  1291              "message": "Remove selected tunnel(s)",
  1292              "translation": "刪除選取隧道",
  1293              "translatorComment": "Copied from source."
  1294          },
  1295          {
  1296              "id": "Export all tunnels to zip",
  1297              "message": "Export all tunnels to zip",
  1298              "translation": "匯出所有隧道(ZIP 格式)",
  1299              "translatorComment": "Copied from source."
  1300          },
  1301          {
  1302              "id": "&Toggle",
  1303              "message": "&Toggle",
  1304              "translation": "切換連線狀態 (&T)",
  1305              "translatorComment": "Copied from source."
  1306          },
  1307          {
  1308              "id": "Export all tunnels to &zip…",
  1309              "message": "Export all tunnels to &zip…",
  1310              "translation": "匯出所有隧道至 &ZIP 壓縮檔",
  1311              "translatorComment": "Copied from source."
  1312          },
  1313          {
  1314              "id": "Edit &selected tunnel…",
  1315              "message": "Edit &selected tunnel…",
  1316              "translation": "編輯選取隧道 (&S)",
  1317              "translatorComment": "Copied from source."
  1318          },
  1319          {
  1320              "id": "&Remove selected tunnel(s)",
  1321              "message": "&Remove selected tunnel(s)",
  1322              "translation": "刪除已選取隧道 (&R)",
  1323              "translatorComment": "Copied from source."
  1324          },
  1325          {
  1326              "id": "no configuration files were found",
  1327              "message": "no configuration files were found",
  1328              "translation": "找不到設定檔",
  1329              "translatorComment": "Copied from source."
  1330          },
  1331          {
  1332              "id": "Could not import selected configuration: {LastErr}",
  1333              "message": "Could not import selected configuration: {LastErr}",
  1334              "translation": "無法匯入設定: {LastErr}",
  1335              "translatorComment": "Copied from source.",
  1336              "placeholders": [
  1337                  {
  1338                      "id": "LastErr",
  1339                      "string": "%[1]v",
  1340                      "type": "error",
  1341                      "underlyingType": "interface{Error() string}",
  1342                      "argNum": 1,
  1343                      "expr": "lastErr"
  1344                  }
  1345              ]
  1346          },
  1347          {
  1348              "id": "Could not enumerate existing tunnels: {LastErr}",
  1349              "message": "Could not enumerate existing tunnels: {LastErr}",
  1350              "translation": "無法列出隧道: {LastErr}",
  1351              "translatorComment": "Copied from source.",
  1352              "placeholders": [
  1353                  {
  1354                      "id": "LastErr",
  1355                      "string": "%[1]v",
  1356                      "type": "error",
  1357                      "underlyingType": "interface{Error() string}",
  1358                      "argNum": 1,
  1359                      "expr": "lastErr"
  1360                  }
  1361              ]
  1362          },
  1363          {
  1364              "id": "Another tunnel already exists with the name ‘{Name}’",
  1365              "message": "Another tunnel already exists with the name ‘{Name}’",
  1366              "translation": "已有另一個同名的隧道「{Name}」",
  1367              "translatorComment": "Copied from source.",
  1368              "placeholders": [
  1369                  {
  1370                      "id": "Name",
  1371                      "string": "%[1]s",
  1372                      "type": "string",
  1373                      "underlyingType": "string",
  1374                      "argNum": 1,
  1375                      "expr": "unparsedConfig.Name"
  1376                  }
  1377              ]
  1378          },
  1379          {
  1380              "id": "Unable to import configuration: {LastErr}",
  1381              "message": "Unable to import configuration: {LastErr}",
  1382              "translation": "無法匯入設定: {LastErr}",
  1383              "translatorComment": "Copied from source.",
  1384              "placeholders": [
  1385                  {
  1386                      "id": "LastErr",
  1387                      "string": "%[1]v",
  1388                      "type": "error",
  1389                      "underlyingType": "interface{Error() string}",
  1390                      "argNum": 1,
  1391                      "expr": "lastErr"
  1392                  }
  1393              ]
  1394          },
  1395          {
  1396              "id": "Imported tunnels",
  1397              "message": "Imported tunnels",
  1398              "translation": "已匯入隧道",
  1399              "translatorComment": "Copied from source."
  1400          },
  1401          {
  1402              "id": "Imported {M} tunnels",
  1403              "message": "Imported {M} tunnels",
  1404              "translation": {
  1405                  "select": {
  1406                      "feature": "plural",
  1407                      "arg": "M",
  1408                      "cases": {
  1409                          "other": {
  1410                              "msg": "已匯入 {M} 個隧道"
  1411                          }
  1412                      }
  1413                  }
  1414              },
  1415              "placeholders": [
  1416                  {
  1417                      "id": "M",
  1418                      "string": "%[1]d",
  1419                      "type": "int",
  1420                      "underlyingType": "int",
  1421                      "argNum": 1,
  1422                      "expr": "m"
  1423                  }
  1424              ]
  1425          },
  1426          {
  1427              "id": "Imported {M} of {N} tunnels",
  1428              "message": "Imported {M} of {N} tunnels",
  1429              "translation": {
  1430                  "select": {
  1431                      "feature": "plural",
  1432                      "arg": "N",
  1433                      "cases": {
  1434                          "other": {
  1435                              "msg": "已匯入 {M} 個隧道(共 {N} 個)"
  1436                          }
  1437                      }
  1438                  }
  1439              },
  1440              "placeholders": [
  1441                  {
  1442                      "id": "M",
  1443                      "string": "%[1]d",
  1444                      "type": "int",
  1445                      "underlyingType": "int",
  1446                      "argNum": 1,
  1447                      "expr": "m"
  1448                  },
  1449                  {
  1450                      "id": "N",
  1451                      "string": "%[2]d",
  1452                      "type": "int",
  1453                      "underlyingType": "int",
  1454                      "argNum": 2,
  1455                      "expr": "n"
  1456                  }
  1457              ]
  1458          },
  1459          {
  1460              "id": "Unable to create tunnel",
  1461              "message": "Unable to create tunnel",
  1462              "translation": "無法建立隧道",
  1463              "translatorComment": "Copied from source."
  1464          },
  1465          {
  1466              "id": "Delete {TunnelCount} tunnels",
  1467              "message": "Delete {TunnelCount} tunnels",
  1468              "translation": {
  1469                  "select": {
  1470                      "feature": "plural",
  1471                      "arg": "TunnelCount",
  1472                      "cases": {
  1473                          "other": {
  1474                              "msg": "刪除 {TunnelCount} 個隧道"
  1475                          }
  1476                      }
  1477                  }
  1478              },
  1479              "placeholders": [
  1480                  {
  1481                      "id": "TunnelCount",
  1482                      "string": "%[1]d",
  1483                      "type": "int",
  1484                      "underlyingType": "int",
  1485                      "argNum": 1,
  1486                      "expr": "tunnelCount"
  1487                  }
  1488              ]
  1489          },
  1490          {
  1491              "id": "Are you sure you would like to delete {TunnelCount} tunnels?",
  1492              "message": "Are you sure you would like to delete {TunnelCount} tunnels?",
  1493              "translation": {
  1494                  "select": {
  1495                      "feature": "plural",
  1496                      "arg": "TunnelCount",
  1497                      "cases": {
  1498                          "other": {
  1499                              "msg": "您確定要刪除 {TunnelCount} 個隧道嗎?"
  1500                          }
  1501                      }
  1502                  }
  1503              },
  1504              "placeholders": [
  1505                  {
  1506                      "id": "TunnelCount",
  1507                      "string": "%[1]d",
  1508                      "type": "int",
  1509                      "underlyingType": "int",
  1510                      "argNum": 1,
  1511                      "expr": "tunnelCount"
  1512                  }
  1513              ]
  1514          },
  1515          {
  1516              "id": "Delete tunnel ‘{TunnelName}’",
  1517              "message": "Delete tunnel ‘{TunnelName}’",
  1518              "translation": "刪除隧道 - {TunnelName}",
  1519              "translatorComment": "Copied from source.",
  1520              "placeholders": [
  1521                  {
  1522                      "id": "TunnelName",
  1523                      "string": "%[1]s",
  1524                      "type": "string",
  1525                      "underlyingType": "string",
  1526                      "argNum": 1,
  1527                      "expr": "tunnelName"
  1528                  }
  1529              ]
  1530          },
  1531          {
  1532              "id": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
  1533              "message": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
  1534              "translation": "您確定要刪除隧道「{TunnelName}」嗎?",
  1535              "translatorComment": "Copied from source.",
  1536              "placeholders": [
  1537                  {
  1538                      "id": "TunnelName",
  1539                      "string": "%[1]s",
  1540                      "type": "string",
  1541                      "underlyingType": "string",
  1542                      "argNum": 1,
  1543                      "expr": "tunnelName"
  1544                  }
  1545              ]
  1546          },
  1547          {
  1548              "id": "{Question} You cannot undo this action.",
  1549              "message": "{Question} You cannot undo this action.",
  1550              "translation": "{Question}\n\n您將無法復原此操作。",
  1551              "translatorComment": "Copied from source.",
  1552              "placeholders": [
  1553                  {
  1554                      "id": "Question",
  1555                      "string": "%[1]s",
  1556                      "type": "string",
  1557                      "underlyingType": "string",
  1558                      "argNum": 1,
  1559                      "expr": "question"
  1560                  }
  1561              ]
  1562          },
  1563          {
  1564              "id": "Unable to delete tunnel",
  1565              "message": "Unable to delete tunnel",
  1566              "translation": "無法刪除隧道",
  1567              "translatorComment": "Copied from source."
  1568          },
  1569          {
  1570              "id": "A tunnel was unable to be removed: {Error}",
  1571              "message": "A tunnel was unable to be removed: {Error}",
  1572              "translation": "無法刪除隧道: {Error}",
  1573              "translatorComment": "Copied from source.",
  1574              "placeholders": [
  1575                  {
  1576                      "id": "Error",
  1577                      "string": "%[1]s",
  1578                      "type": "string",
  1579                      "underlyingType": "string",
  1580                      "argNum": 1,
  1581                      "expr": "errors[0].Error()"
  1582                  }
  1583              ]
  1584          },
  1585          {
  1586              "id": "Unable to delete tunnels",
  1587              "message": "Unable to delete tunnels",
  1588              "translation": "無法刪除隧道",
  1589              "translatorComment": "Copied from source."
  1590          },
  1591          {
  1592              "id": "{Lenerrors} tunnels were unable to be removed.",
  1593              "message": "{Lenerrors} tunnels were unable to be removed.",
  1594              "translation": {
  1595                  "select": {
  1596                      "feature": "plural",
  1597                      "arg": "Lenerrors",
  1598                      "cases": {
  1599                          "other": {
  1600                              "msg": "無法刪除 {Lenerrors} 個隧道"
  1601                          }
  1602                      }
  1603                  }
  1604              },
  1605              "placeholders": [
  1606                  {
  1607                      "id": "Lenerrors",
  1608                      "string": "%[1]d",
  1609                      "type": "int",
  1610                      "underlyingType": "int",
  1611                      "argNum": 1,
  1612                      "expr": "len(errors)"
  1613                  }
  1614              ]
  1615          },
  1616          {
  1617              "id": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
  1618              "message": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
  1619              "translation": "隧道設定檔 (*.zip, *.conf)|*.zip;*.conf|所有檔案 (*.*)|*.*",
  1620              "translatorComment": "Copied from source."
  1621          },
  1622          {
  1623              "id": "Import tunnel(s) from file",
  1624              "message": "Import tunnel(s) from file",
  1625              "translation": "從檔案中匯入隧道…",
  1626              "translatorComment": "Copied from source."
  1627          },
  1628          {
  1629              "id": "Configuration ZIP Files (*.zip)|*.zip",
  1630              "message": "Configuration ZIP Files (*.zip)|*.zip",
  1631              "translation": "隧道設定檔 (*.zip)|*.zip",
  1632              "translatorComment": "Copied from source."
  1633          },
  1634          {
  1635              "id": "Export tunnels to zip",
  1636              "message": "Export tunnels to zip",
  1637              "translation": "匯出隧道設定至…",
  1638              "translatorComment": "Copied from source."
  1639          },
  1640          {
  1641              "id": "{Title} (unsigned build, no updates)",
  1642              "message": "{Title} (unsigned build, no updates)",
  1643              "translation": "{Title}(未簽署發行版本,無法自動更新)",
  1644              "translatorComment": "Copied from source.",
  1645              "placeholders": [
  1646                  {
  1647                      "id": "Title",
  1648                      "string": "%[1]s",
  1649                      "type": "string",
  1650                      "underlyingType": "string",
  1651                      "argNum": 1,
  1652                      "expr": "mtw.Title()"
  1653                  }
  1654              ]
  1655          },
  1656          {
  1657              "id": "Error Exiting WireGuard",
  1658              "message": "Error Exiting WireGuard",
  1659              "translation": "離開 WireGuard 失敗",
  1660              "translatorComment": "Copied from source."
  1661          },
  1662          {
  1663              "id": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.",
  1664              "message": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.",
  1665              "translation": "無法結束服務: {Err}。\n您可能需要手動從服務管理中結束 WireGuard 服務。",
  1666              "translatorComment": "Copied from source.",
  1667              "placeholders": [
  1668                  {
  1669                      "id": "Err",
  1670                      "string": "%[1]v",
  1671                      "type": "error",
  1672                      "underlyingType": "interface{Error() string}",
  1673                      "argNum": 1,
  1674                      "expr": "err"
  1675                  }
  1676              ]
  1677          },
  1678          {
  1679              "id": "An update to WireGuard is available. It is highly advisable to update without delay.",
  1680              "message": "An update to WireGuard is available. It is highly advisable to update without delay.",
  1681              "translation": "更新的 WireGuard 已經為您準備好了。\n強烈建議您立即進行更新。",
  1682              "translatorComment": "Copied from source."
  1683          },
  1684          {
  1685              "id": "Status: Waiting for user",
  1686              "message": "Status: Waiting for user",
  1687              "translation": "狀態:等待使用者",
  1688              "translatorComment": "Copied from source."
  1689          },
  1690          {
  1691              "id": "Update Now",
  1692              "message": "Update Now",
  1693              "translation": "立即更新",
  1694              "translatorComment": "Copied from source."
  1695          },
  1696          {
  1697              "id": "Status: Waiting for updater service",
  1698              "message": "Status: Waiting for updater service",
  1699              "translation": "狀態:等待更新服務",
  1700              "translatorComment": "Copied from source."
  1701          },
  1702          {
  1703              "id": "Error: {Err}. Please try again.",
  1704              "message": "Error: {Err}. Please try again.",
  1705              "translation": "錯誤: {Err}。請稍後再試。",
  1706              "translatorComment": "Copied from source.",
  1707              "placeholders": [
  1708                  {
  1709                      "id": "Err",
  1710                      "string": "%[1]v",
  1711                      "type": "error",
  1712                      "underlyingType": "interface{Error() string}",
  1713                      "argNum": 1,
  1714                      "expr": "err"
  1715                  }
  1716              ]
  1717          },
  1718          {
  1719              "id": "Status: Complete!",
  1720              "message": "Status: Complete!",
  1721              "translation": "狀態:已完成!",
  1722              "translatorComment": "Copied from source."
  1723          },
  1724          {
  1725              "id": "http2: Framer {F}: failed to decode just-written frame",
  1726              "message": "http2: Framer {F}: failed to decode just-written frame",
  1727              "translation": "http2: Framer {F}: failed to decode just-written frame",
  1728              "translatorComment": "Copied from source.",
  1729              "placeholders": [
  1730                  {
  1731                      "id": "F",
  1732                      "string": "%[1]p",
  1733                      "type": "*net/http.http2Framer",
  1734                      "underlyingType": "*net/http.http2Framer",
  1735                      "argNum": 1,
  1736                      "expr": "f"
  1737                  }
  1738              ]
  1739          },
  1740          {
  1741              "id": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
  1742              "message": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
  1743              "translation": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
  1744              "translatorComment": "Copied from source.",
  1745              "placeholders": [
  1746                  {
  1747                      "id": "F",
  1748                      "string": "%[1]p",
  1749                      "type": "*net/http.http2Framer",
  1750                      "underlyingType": "*net/http.http2Framer",
  1751                      "argNum": 1,
  1752                      "expr": "f"
  1753                  },
  1754                  {
  1755                      "id": "Http2summarizeFramefr",
  1756                      "string": "%[2]v",
  1757                      "type": "string",
  1758                      "underlyingType": "string",
  1759                      "argNum": 2,
  1760                      "expr": "http2summarizeFrame(fr)"
  1761                  }
  1762              ]
  1763          },
  1764          {
  1765              "id": "http2: Framer {Fr}: read {Http2summarizeFramef}",
  1766              "message": "http2: Framer {Fr}: read {Http2summarizeFramef}",
  1767              "translation": "http2: Framer {Fr}: read {Http2summarizeFramef}",
  1768              "translatorComment": "Copied from source.",
  1769              "placeholders": [
  1770                  {
  1771                      "id": "Fr",
  1772                      "string": "%[1]p",
  1773                      "type": "*net/http.http2Framer",
  1774                      "underlyingType": "*net/http.http2Framer",
  1775                      "argNum": 1,
  1776                      "expr": "fr"
  1777                  },
  1778                  {
  1779                      "id": "Http2summarizeFramef",
  1780                      "string": "%[2]v",
  1781                      "type": "string",
  1782                      "underlyingType": "string",
  1783                      "argNum": 2,
  1784                      "expr": "http2summarizeFrame(f)"
  1785                  }
  1786              ]
  1787          },
  1788          {
  1789              "id": "http2: decoded hpack field {HeaderField}",
  1790              "message": "http2: decoded hpack field {HeaderField}",
  1791              "translation": "http2: decoded hpack field {HeaderField}",
  1792              "translatorComment": "Copied from source.",
  1793              "placeholders": [
  1794                  {
  1795                      "id": "HeaderField",
  1796                      "string": "%+[1]v",
  1797                      "type": "vendor/golang.org/x/net/http2/hpack.HeaderField",
  1798                      "underlyingType": "struct{Name string; Value string; Sensitive bool}",
  1799                      "argNum": 1,
  1800                      "expr": "hf"
  1801                  }
  1802              ]
  1803          }
  1804      ]
  1805  }