<?xml version="1.0" encoding="utf-8"?>
<resources>
  <resource id="PKGCLI_VERSION">
    <lang name="zh-CN"><![CDATA[Package Manager CLI [版本 {0}]
(C) Windows Modern。保留所有权利。]]></lang>
    <lang name="en-US"><![CDATA[Package Manager CLI [Version {0}]
(C) Windows Modern. All rights reserved.]]></lang>
  </resource>
  <resource id="PKGCLI_TOTALHELP">
    <lang name="zh-CN"><![CDATA[
用法：
    pkgcli <命令> [参数列表]

命令：
    /install        安装一个包。
    /update         更新一个包（必须已安装旧版本）。
    /register       注册一个应用程序清单文件。
    /stage          暂存一个包。
    /remove         移除包。
    /read           读取包信息。
    /get            列出所有已安装的应用。
    /find           查找已安装的应用。
    /active         启动一个应用。
    /config         配置设置。
    /version        显示版本信息。
    /encoding       设置控制台输出编码。可与其他命令一起使用。
    /?              显示本帮助信息。

您可以使用“pkgcli <命令> /?”来获取有关该命令的详细信息。
]]></lang>
    <lang name="en-US"><![CDATA[
Usage:
    pkgcli <command> [arguments]

Commands:
    /install        Install a package.
    /update         Update a package (previous version must be installed).
    /register       Register an app manifest file.
    /stage          Stage a package.
    /remove         Remove the package.
    /read           Read package information.
    /get            List all installed apps.
    /find           Find installed apps.
    /active         Launch an app.
    /config         Configure settings.
    /version        Display version information.
    /encoding       Set console output encoding. With other commands.
    /?              Show this help.

You can use "pkgcli <command> /?" to get the detail infomation about this command.
]]></lang>
  </resource>
  <resource id="PKGCLI_HELP_ENCODING">
    <lang name="zh-CN"><![CDATA[
用法：
    pkgcli /encoding:<代码页|名称>
    pkgcli /en:<代码页|名称>

操作说明：
    为当前会话设置控制台输出编码。
    当输出内容包含非 ASCII 字符时非常有用。

参数：
    <代码页>       数字代码页标识符（例如 65001 表示 UTF-8，936 表示 GB2312）。
    <名称>        编码名称（例如 utf-8、gb2312、windows-1252）。

示例：
    pkgcli /encoding:65001      （设置为 UTF-8）
    pkgcli /encoding:utf-8
    pkgcli /en:936              （设置为 GB2312/GBK）
    pkgcli /en:gb2312

注意：
    此设置仅影响当前 pkgcli 进程，不会持久保存。
]]></lang>
    <lang name="en-US"><![CDATA[
Usage:
    pkgcli /encoding:<code_page|name>
    pkgcli /en:<code_page|name>

Operation:
    Set the console output encoding for the current session.
    Useful when the output contains non-ASCII characters.

Arguments:
    <code_page>     Numeric code page identifier (e.g., 65001 for UTF-8, 936 for GB2312).
    <name>          Encoding name (e.g., utf-8, gb2312, windows-1252).

Examples:
    pkgcli /encoding:65001      (Set to UTF-8)
    pkgcli /encoding:utf-8
    pkgcli /en:936              (Set to GB2312/GBK)
    pkgcli /en:gb2312

Note:
    This setting only affects the current pkgcli process and does not persist.
]]></lang>
  </resource>
  <resource id="PKGCLI_HELP_IRUS">
    <lang name="zh-CN"><![CDATA[
用法：
    pkgcli <命令> <文件路径...> [/developmode] [/force] [/allres]

命令：
    /install        安装一个包。支持 .appx、.appxbundle、.msix、.msixbundle。
    /register       注册一个包。支持 AppxManifest.xml 或 *.appxmanifest。
    /update         更新已安装的应用。支持的格式与 /install 相同。
    /stage          暂存一个包（预部署）。支持的格式与 /install 相同。

选项（部署选项标志）：
    /developmode    以开发模式安装/注册。请勿与捆绑包一起使用。
    /force          当包或其依赖项正在使用时，强制关闭应用程序以允许注册。
    /allres         跳过资源适用性检查；暂存/注册捆绑包中的所有资源包。

参数：
    <文件路径...>   一个或多个包或清单文件路径。可以是：
                    - 直接指向 .appx、.msix、.appxbundle、.msixbundle 或 .xml 清单的路径。
                    - 一个包含此类路径列表的 .txt 文件（每行一个路径）。
                    - 如果命令没有重复，则该命令适用于所有列出的文件。

示例：
    pkgcli /install MyApp.appx
    pkgcli /register /manifest:AppxManifest.xml /developmode
    pkgcli /update MyApp.msixbundle /force
    pkgcli /stage MyApp.appx /allres
]]></lang>
    <lang name="en-US"><![CDATA[
Usage:
    pkgcli <command> <file_path...> [/developmode] [/force] [/allres]

Commands:
    /install        Install a package. Supports .appx, .appxbundle, .msix, .msixbundle.
    /register       Register a package. Supports AppxManifest.xml or *.appxmanifest.
    /update         Update an installed app. Supports same formats as /install.
    /stage          Stage a package (pre-deploy). Supports same formats as /install.

Options (DeploymentOptions flags):
    /developmode    Install/register in development mode. Do not use with bundle packages.
    /force          Force application shutdown to allow registration when the package or its dependencies are in use.
    /allres         Skip resource applicability checks; stage/register all resource packages in a bundle.

Arguments:
    <file_path...>  One or more package or manifest file paths. Can be:
                    - Direct path to .appx, .msix, .appxbundle, .msixbundle, or .xml manifest.
                    - A .txt file containing a list of such paths (one per line).
                    - If no command is repeated, the command applies to all listed files.

Examples:
    pkgcli /install MyApp.appx
    pkgcli /register /manifest:AppxManifest.xml /developmode
    pkgcli /update MyApp.msixbundle /force
    pkgcli /stage MyApp.appx /allres
]]></lang>
  </resource>
 <resource id="PKGCLI_HELP_REMOVE">
    <lang name="zh-CN"><![CDATA[
用法：
    pkgcli /remove <包全名> [<包全名>...] [/yes]

操作说明：
    移除一个或多个包。

参数：
    <包全名>        已安装包的全名 (Package Full Name)。
                    格式：<标识名>_<版本号>_<处理器架构>_<资源ID>_<发布者ID>
                    示例：Microsoft.WinJS.1.0_1.0.9200.20789_neutral__8wekyb3d8bbwe

选项：
    /yes                自动确认卸载，不进行提示。
                        别名：/y、/agree

您可以指定多个包全名，用空格分隔。

示例：
    pkgcli /remove MyPackage_1.0.0.0_x64__abcd1234
    pkgcli /remove PackageA_1.0.0.0_neutral__abcd1234 PackageB_2.0.0.0_x86__efgh5678 /yes
]]></lang>
    <lang name="en-US"><![CDATA[
Usage:
    pkgcli /remove <package_full_name> [<package_full_name>...] [/yes]

Operation:
    Remove one or more packages.

Arguments:
    <package_full_name>  The full name of the installed package.
                         Format: <identity_name>_<version>_<architecture>_<resource_id>_<publisher_id>
                         Example: Microsoft.WinJS.1.0_1.0.9200.20789_neutral__8wekyb3d8bbwe

Options:
    /yes                Automatically confirm the uninstallation without prompting.
                        Aliases: /y, /agree

You can specify multiple full names separated by spaces.

Examples:
    pkgcli /remove MyPackage_1.0.0.0_x64__abcd1234
    pkgcli /remove PackageA_1.0.0.0_neutral__abcd1234 PackageB_2.0.0.0_x86__efgh5678 /yes
]]></lang>
  </resource>
  <resource id="PKGCLI_HELP_GET">
    <lang name="zh-CN"><![CDATA[
用法：
    pkgcli /get [/filter:<筛选器1,筛选器2,...>]

操作说明：
    列出所有已安装包及其属性。

注意：
    若想执行此命令，请以管理员模式运行。

选项：
    /filter:<筛选器>   仅显示指定的属性。
                        筛选器不区分大小写，支持通配符“*”。
                        多个筛选器用逗号“,”或分号“;”分隔。
                        示例：
                            /filter:Identity:Name,Identity:Version
                            /filter:Identity:*                 （所有 Identity 属性）
                            /filter:Properties:DisplayName

输出：
    每个包以 [FullName] 节的形式输出，后跟 key = value 行。
    可将输出重定向到文件，以保存为类似 INI 的格式。

示例：
    pkgcli /get
    pkgcli /get /filter:Identity:FullName,Properties:DisplayName
]]></lang>
    <lang name="en-US"><![CDATA[
Usage:
    pkgcli /get [/filter:<filter1,filter2,...>]

Operation:
    List all installed packages with their properties.

Note:
    To run this command, please use Administrator mode.

Options:
    /filter:<filters>   Show only the specified properties.
                        Filters are case-insensitive and support '*' wildcard.
                        Multiple filters separated by comma ',' or semicolon ';'.
                        Examples:
                            /filter:Identity:Name,Identity:Version
                            /filter:Identity:*                 (all Identity properties)
                            /filter:Properties:DisplayName

Output:
    Each package is printed as a section [FullName] followed by key = value lines.
    Redirect output to a file to save as INI-like format.

Examples:
    pkgcli /get
    pkgcli /get /filter:Identity:FullName,Properties:DisplayName
]]></lang>
  </resource>
  <resource id="PKGCLI_HELP_FIND">
    <lang name="zh-CN"><![CDATA[
用法：
    pkgcli /find <包全名|包系列名> [/filter:<筛选器>]
    pkgcli /find <标识名> <标识发布者> [/filter:<筛选器>]

操作说明：
    查找与给定标识符匹配的已安装包。

注意：
    若想执行此命令，请以管理员模式运行。

参数：
    <包全名>              包的全名。
    <包系列名>            包的系列名。
    <标识名>              包标识的名称部分（例如 "Microsoft.WindowsStore"）。
    <标识发布者>          发布者部分（例如 "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"）。

选项：
    /filter:<筛选器>      与 /get 命令中的 /filter 相同。

示例：
    pkgcli /find Microsoft.WindowsStore_8wekyb3d8bbwe!App
    pkgcli /find Microsoft.WindowsStore
    pkgcli /find Microsoft.WindowsStore "CN=Microsoft Corporation, ..."
]]></lang>
    <lang name="en-US"><![CDATA[
Usage:
    pkgcli /find <package_full_name|package_family_name> [/filter:<filters>]
    pkgcli /find <identity_name> <identity_publisher> [/filter:<filters>]

Operation:
    Find installed packages matching the given identifier.

Note:
    To run this command, please use Administrator mode.

Arguments:
    <package_full_name>       Full name of a package.
    <package_family_name>     Family name of a package.
    <identity_name>           Name part of the package identity (e.g., "Microsoft.WindowsStore").
    <identity_publisher>      Publisher part (e.g., "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US").

Options:
    /filter:<filters>         Same as in /get command.

Examples:
    pkgcli /find Microsoft.WindowsStore_8wekyb3d8bbwe!App
    pkgcli /find Microsoft.WindowsStore
    pkgcli /find Microsoft.WindowsStore "CN=Microsoft Corporation, ..."
]]></lang>
  </resource>
  <resource id="PKGCLI_HELP_ACTIVATE">
    <lang name="zh-CN"><![CDATA[
用法：
    pkgcli /active <app_user_model_id> [args]

操作说明：
    启动一个 Windows 商店应用。

参数：
    <app_user_model_id>       App User Model ID (AUMID)。
                           格式：<包系列名>!<应用ID>
                           示例：Microsoft.WindowsStore_8wekyb3d8bbwe!App

    [args]                 传递给应用的可选命令行参数。

示例：
    pkgcli /active Microsoft.WindowsStore_8wekyb3d8bbwe!App
    pkgcli /active MyAppFamily!App --fullscreen --debug
]]></lang>
    <lang name="en-US"><![CDATA[
Usage:
    pkgcli /active <app_user_model_id> [arguments]

Operation:
    Launch a Windows Store app.

Arguments:
    <app_user_model_id>       The Application User Model ID (AUMID).
                              Format: <package_family_name>!<app_id>
                              Example: Microsoft.WindowsStore_8wekyb3d8bbwe!App

    [arguments]               Optional command-line arguments passed to the app.

Examples:
    pkgcli /active Microsoft.WindowsStore_8wekyb3d8bbwe!App
    pkgcli /active MyAppFamily!App --fullscreen --debug
]]></lang>
  </resource>
  <resource id="PKGCLI_HELP_READ">
    <lang name="zh-CN"><![CDATA[
用法：
    pkgcli /read [选项] [<文件>]

说明：
    读取 Appx/MSIX 包（.appx、.appxbundle、.msix、.msixbundle）或其清单文件（.xml、.appxpackage、.msixpackage）。
    提取包/清单信息，并以 JSON 格式输出到控制台，或保存为包含 info.json 或 info.xml 的 ZIP 压缩包。

选项：
    /manifest:<文件>        指定要读取的清单文件。
    /package:<文件>         指定要读取的包文件。
    <文件>                  如果未提供 /manifest 或 /package，则使用第一个无名参数作为输入文件。
                            文件类型根据扩展名自动检测：
                              .xml、.appxpackage、.msixpackage  → 使用清单读取器
                              .appx、.appxbundle、.msix、.msixbundle → 使用包读取器

    /item:<路径>            不输出整个 JSON 对象，仅输出给定路径下的值。
                            路径语法：使用 '.' 或 ':' 作为分隔符，不区分大小写。
                            支持索引器（例如 [0]）、集合的 .length 以及自动 Base64 访问（例如 LogoBase64）。
                            示例：
                                /item:Identity.Name
                                /item:Properties.Publisher
                                /item:applications[0]
                                /item:applications.length
                                /item:applications[0].LogoBase64

    /usepri                 启用 PRI 资源解析（本地化和缩放图片）。要正确解析资源字符串和图片，需要此选项。

    /savexml:<输出文件>     将提取的数据保存为 XML 文件，并放入 ZIP 压缩包中。
                            压缩包中将包含一个 info.xml 文件，内含结构化数据。

    /savejson:<输出文件>    将提取的数据保存为 JSON 文件，并放入 ZIP 压缩包中。
                            压缩包中将包含一个 info.json 文件，内含结构化数据。

    /help                   显示此帮助文本。

输出行为：
    - 如果既未指定 /savexml 也未指定 /savejson，则信息直接以 JSON 格式输出到控制台。
    - 如果使用了 /item，则仅输出指定路径下的值（以字符串、版本或格式化 JSON 的形式）。
    - 如果使用了 /savexml 或 /savejson，则数据将保存到指定的文件（ZIP 压缩包），并显示成功/失败信息。

示例：
    pkgcli /read MyApp.appx
    pkgcli /read /manifest:AppxManifest.xml /usepri
    pkgcli /read /package:MyApp.msixbundle /item:Identity.Name
    pkgcli /read /package:MyApp.appx /savejson:output.zip
    pkgcli /read MyApp.appx /item:applications[0].DisplayName
]]></lang>
    <lang name="en-US"><![CDATA[
Usage:
    pkgcli /read [options] [<file>]

Description:
    Read an Appx/MSIX package (.appx, .appxbundle, .msix, .msixbundle) or its manifest file (.xml, .appxpackage, .msixpackage).
    Extracts package/manifest information and outputs as JSON to the console, or saves as a ZIP archive containing either info.json or info.xml.

Options:
    /manifest:<file>        Specify a manifest file to read.
    /package:<file>         Specify a package file to read.
    <file>                  If no /manifest or /package is provided, the first unnamed parameter is used as the input file.
                            File type is auto-detected by extension:
                              .xml, .appxpackage, .msixpackage  → ManifestReader
                              .appx, .appxbundle, .msix, .msixbundle → PackageReader

    /item:<path>            Instead of outputting the whole JSON object, output only the value at the given path.
                            Path syntax: use '.' or ':' as separators, case-insensitive.
                            Supports indexers (e.g., [0]), .length for collections, and automatic Base64 access (e.g., LogoBase64).
                            Examples:
                                /item:Identity.Name
                                /item:Properties.Publisher
                                /item:applications[0]
                                /item:applications.length
                                /item:applications[0].LogoBase64

    /usepri                 Enable PRI resource resolution (localization and scaled images). Required for proper resource string and image resolution.

    /savexml:<output>       Save extracted data as an XML file wrapped in a ZIP archive.
                            The archive will contain an info.xml file with the structured data.

    /savejson:<output>      Save extracted data as a JSON file wrapped in a ZIP archive.
                            The archive will contain an info.json file with the structured data.

    /help                   Display this help text.

Output Behavior:
    - If neither /savexml nor /savejson is given, the information is printed directly to the console as JSON.
    - If /item is used, only the value at the specified path is printed (as a string, version, or formatted JSON).
    - If /savexml or /savejson is used, the data is saved to the specified file (ZIP archive) and a success/failure message is shown.

Examples:
    pkgcli /read MyApp.appx
    pkgcli /read /manifest:AppxManifest.xml /usepri
    pkgcli /read /package:MyApp.msixbundle /item:Identity.Name
    pkgcli /read /package:MyApp.appx /savejson:output.zip
    pkgcli /read MyApp.appx /item:applications[0].DisplayName
]]></lang>
  </resource>
  <resource id="PKGCLI_HELP_CONFIG">
    <lang name="zh-CN"><![CDATA[
用法：
    pkgcli /config                      显示当前配置（所有键值）。
    pkgcli /config /show:<键名>         显示指定配置键的值。
    pkgcli /config /set:<键名> <值>     将配置键设置为指定值。
    pkgcli /config /refresh             从 config.ini 重新加载配置。

配置键（部分）：
    AppMetadataItems    从清单中读取的应用元数据字段列表，用逗号分隔。
                        默认值："Id,BackgroundColor,DisplayName,ForegroundText,ShortName,SmallLogo,Square44x44Logo"

配置文件：
    位于 pkgcli.exe 同目录下的 config.ini。

示例：
    pkgcli /config
    pkgcli /config /show:AppMetadataItems
    pkgcli /config /set:AppMetadataItems "Id,DisplayName,Logo"
    pkgcli /config /refresh
]]></lang>
    <lang name="en-US"><![CDATA[
Usage:
    pkgcli /config                      Show current configuration (all keys).
    pkgcli /config /show:<key>          Show value of a specific configuration key.
    pkgcli /config /set:<key> <value>   Set configuration key to the given value.
    pkgcli /config /refresh             Reload configuration from config.ini.

Configuration keys (partial):
    AppMetadataItems    Comma-separated list of application metadata fields to read from manifests.
                        Default: ""Id,BackgroundColor,DisplayName,ForegroundText,ShortName,SmallLogo,Square44x44Logo""

Configuration file:
    config.ini in the same directory as pkgcli.exe.

Examples:
    pkgcli /config
    pkgcli /config /show:AppMetadataItems
    pkgcli /config /set:AppMetadataItems ""Id,DisplayName,Logo""
    pkgcli /config /refresh
]]></lang>
  </resource>
  <resource id="PKGCLI_HELP_VERSION">
    <lang name="zh-CN"><![CDATA[
用法：
    pkgcli /version
    pkgcli /ver

操作说明：
    显示 Package Manager CLI 的当前版本。

示例：
    pkgcli /version
    pkgcli /ver
]]></lang>
    <lang name="en-US"><![CDATA[
Usage:
    pkgcli /version
    pkgcli /ver

Operation:
    Display the current version of Package Manager CLI.

Examples:
    pkgcli /version
    pkgcli /ver
]]></lang>
  </resource>
  <resource id="PKGCLI_WARNING_ENCODING">
    <lang name="zh-CN"><![CDATA[警告：设置输出编码失败。异常：{0}
信息：
    {1}
将使用默认编码。]]></lang>
    <lang name="en-US"><![CDATA[Warning: Set encoding for output failed. Exception {0}
Message: 
    {1}
We will use default encoding.]]></lang>
  </resource>
  <resource id="PKGCLI_PROGRESS_OPERATION">
    <lang name="zh-CN">({0}/{1}) 正在执行操作...</lang>
    <lang name="en-US">({0}/{1}) Performing operation...</lang>
  </resource>
  <resource id="PKGCLI_PROGRESS_OPERATION_WITHPROGRESS">
    <lang name="zh-CN">({0}/{1}) 正在执行操作... {2}% of {3}%</lang>
    <lang name="en-US">({0}/{1}) Performing operation... {2}% of {3}%</lang>
  </resource>
  <resource id="PKGCLI_COMPLETE_OPERATION">
    <lang name="zh-CN">操作已完成。</lang>
    <lang name="en-US">All Done.</lang>
  </resource>
    <resource id="PKGCLI_ERROR_IRUS_EXCEPTION">
    <lang name="zh-CN"><![CDATA[包 {0} "{1}" 操作错误 ({2})：
{3}]]></lang>
    <lang name="en-US"><![CDATA[Package {0} "{1}" Operation Error ({2}):
{3}]]></lang>
  </resource>
  <resource id="PKGCLI_ASK_REMOVE">
    <lang name="zh-CN">我们将要移除 {0} 个应用。确定要继续吗？(Y/N) </lang>
    <lang name="en-US">We are about to remove {0} app(-s). Do you want to continue? (Y/N) </lang>
  </resource>
  <resource id="PKGCLI_ERROR_USERABORT">
    <lang name="zh-CN">用户取消操作</lang>
    <lang name="en-US">User canceled.</lang>
  </resource>
  <resource id="PKGCLI_ERROR_EXCEPTION">
    <lang name="zh-CN"><![CDATA[操作错误 ({0})：
{1}]]></lang>
    <lang name="en-US"><![CDATA[Operation Error ({0}):
{1}]]></lang>
  </resource>
  <resource id="PKGCLI_COMPLETE_DONE">
    <lang name="zh-CN">已完成。</lang>
    <lang name="en-US">Done.</lang>
  </resource>
  <resource id="PKGCLI_ERROR_CANNOTFINDKEY">
    <lang name="zh-CN">无法找到键 "{0}"。</lang>
    <lang name="en-US">Cannot find key "{0}".</lang>
  </resource>
  <resource id="PKGCLI_ERROR_KEYSTRINGEMPTY">
    <lang name="zh-CN">键为空值。</lang>
    <lang name="en-US">Key is empty.</lang>
  </resource>
    <resource id="PKGCLI_ERROR_FINALEXCEPTION">
    <lang name="zh-CN"><![CDATA[异常 {0}:
信息：
    {1}
堆栈轨迹：
    {2}]]></lang>
    <lang name="en-US"><![CDATA[Exception {0}:
Message: 
    {1}
Stack: 
    {2}]]></lang>
  </resource>
</resources>