printf-about = 根据格式字符串及后续的参数进行打印输出。
printf-usage =
    printf 格式 [参数]...
    printf 选项
printf-error-missing-operand = 缺少操作数
printf-warning-ignoring-excess-arguments = 忽略多余的参数，从 "{ $arg }" 开始
printf-help-version = 输出版本信息
printf-help-help = 输出帮助信息
printf-after-help =
    基本匿名字符串模板：

    至少打印一次格式字符串，只要还有剩余的参数就会重复打
    印。 输出时将格式字符串中的转义字面量作为字符字面量输出，
    并将匿名字段替换为下一个未使用的参数，并按照字段格式化。

    打印格式字符串，将其中的转义字符序列替换为字符字面量，
    并将替换字段序列替换为传入的参数

    输出与格式字符串字面内容相同，但以下两种情况除外：
    下文描述的转义字符序列，以及下文描述的替换序列。

    ### 转义序列

    以下转义序列（按字母顺序排列）
    将打印对应的字符字面量：

    - \" 双引号

    - \\ 反斜杠

    - \\a 响铃（BEL）

    - \\b 退格

    - \\c 输入结束

    - \\e 转义

    - \\f 换页

    - \\n 换行

    - \\r 回车

    - \\t 水平制表符

    - \\v 垂直制表符

    - \\NNN 以八进制 NNN 表示的字节（1 到 3 位数字）
              大于 256 的值将被处理

    - \\xHH 以十六进制 HH 表示的字节（1 到 2 位数字）

    - \\uHHHH 以十六进制 HHHH 表示的 Unicode（IEC 10646）字符（4 位数字）

    - \\uHHHH 以十六进制 HHHH 表示的 Unicode 字符（8 位数字）

    - %% 单个百分号 %

    ### 替换

    #### 替换速查

    字段

    - %s：字符串
    - %b：解析其中字面量的字符串，第二个参数是最大长度

    - %c：字符，没有第二个参数

    - %i 或 %d：64 位有符号整数
    - %u：64 位无符号整数
    - %x 或 %X：以十六进制表示的 64 位无符号整数
    - %o：以八进制表示的 64 位无符号整数
                第二个参数是最小宽度（整数），
                输出若小于此宽度将以前导零填充

    - %q：以一种可以被作为 shell 的输入的格式打印 参数，并使用
                POSIX 提议的 $'' 语法转义非打印字符。

    - %f 或 %F：十进制浮点值
    - %e 或 %E：科学记数法表示的浮点值
    - %g 或 %G：十进制浮点值与科学记数法浮点值中较短者
                第二个参数是
                  -对于浮点数输出，指小数点后的最大位数
                  -对于科学记数法输出，指最大有效数字的位数

    参数化字段

    示例：

    printf '%4.3i' 7

    它的第一个参数是 4，第二个参数是 3，结果将是 “ 007”

    printf '%.1s' abcde

    它没有第一个参数，第二个参数是 1，结果将是 “a”

    printf '%4c' q

    它的第一个参数是 4，没有第二个参数，结果将是 “   q”

    字段的第一个参数是填充输出的最小宽度，
    如果输出小于此宽度的绝对值，
    将用前导空格（如果参数为负数，
    则用尾随空格）填充。默认值为零。

    字段的第二个参数特定于输出字段类型。
    默认值可以在下面的完整替换帮助一节找到

    数字参数的特殊前缀

    - 0：（如 010）将参数解释为八进制（仅限整数输出字段）
    - 0x：（如 0xABC）将参数解释为十六进制（仅限数字输出字段）
    - \'：（如 \'a）将参数解释为字符常量

    #### 如何使用替换

    替换用于将额外的参数传递到格式字符串中，并以特定方式进行
    格式化。例如：

    printf '字母 %X 在字母 %X 之前' 10 11

    将会打印

    字母 A 在字母 B 之前

    因为替换字段 %X 表示
    “接受一个整数参数并将其以十六进制数字输出”

    传递的参数数量多余格式字符串中的字段数将用剩余
    参数重复执行替换

    printf '气温为 %i 华氏度，城市：%s \n' 22 Portland 25 Boston 27 New York

    将会打印

    气温为 22 华氏度，城市：Portland
    气温为 25 华氏度，城市：Boston
    气温为 27 华氏度，城市：New York

    如果打印格式字符串时，剩余参数少于
    替换字段数，没有对应参数的替换字段
    将默认为空字符串，对于数字字段则
    默认值为 0

    #### 可用的替换

    本程序类似与 GNU coreutils 的 printf，
    解释 POSIX C printf 规范的修改子集，
    替换字段的快速参考如下。

    #### 字符串替换

    所有字符串字段有一个“最大宽度”参数
    %.3s 表示“打印原始输入，但不超过三个字符”

    - %s：字符串

    - %b：已转义的字符串 - 此字符串将检查之前列出的转义字面量
          列表中的任何转义字面量，并将他们转换为字面量字符。
          例如，\\n 将被转换为换行符。
          %b 模式的一个特殊规则是八进制字面量的解释方式不同，
          在通过 %b 传递的参数中，必须将解释为八进制的字面量以 \\0NNN 的形式传递，
          而不是 \\NNN。（不过，由于历史原因，以 \\NNN 形式
          传递的八进制字面量仍然会被解释且不会产生警告，但如果将其
          用于以零开头的字面量，则可能会出现问题，因为它会被视为 \\0NNN 形式。）

    - %q：已转义的字符串 - 以一种可以被大多数 shell 重新用作输入的格式打印的字符串。
          非打印字符使用 POSIX 议题的 ‘$''’ 语法进行转义，
          并且 shell 元字符被正确地引用。
          这是一种等效于 ls --quoting=shell-escape 输出的格式。

    #### 字符替换

    字符字段没有第二个参数。

    - %c：单个字符

    #### 整数替换

    所有整数字段都有一个“用零填充”参数，
    %.4i 表示一个整数，如果其长度小于四位数字，
    则用前导零填充到四位。

    - %d 或 %i：64 位有符号整数

    - %u：64 位无符号整数

    - %x 或 %X：以十六进制（基数为 16）打印的 64 位无符号整数
                %X 与 %x 的区别在于使用大写字母表示“a”到“f”

    - %o：以八进制（基数为 8）打印的 64 位无符号整数

    #### 浮点数替换

    所有浮点数字段都有一个“最大小数位数/最大有效数字位数”参数。
    %.10f 表示一个具有 7 位小数的十进制浮点数
    %.10e 表示一个具有 10 位有效数字的科学记数法数字
    %.10g 表示具有十进制和科学记数法相同的行为，并
    使用两者中更短的一个作为输出。

    与 GNU coreutils 一样，这些输出中小数点后的值首先被解析为
    双精度浮点数，然后才被渲染为文本。对于这两种实现，不要期望
    超过 18 位小数的精度是有意义的。当使用小数位数为 18 或
    更高时，可以预料到在 GNU coreutils printf 和此 printf 之间，
    第 18 位小数的输出会有 +/- 1 的差异

    - %f：以十进制表示的浮点值，默认情况下截断并显示 6 位
          小数。在双精度浮点数以外的行为方面，与 Coreutils printf
          没有一致性，不会对超出输入值的值进行估算或调整。

    - %e 或 %E：以科学记数法表示的浮点值
                默认为 7 位有效数字
                %E 意味着在尾数中使用大写 E。

    - %g或 %G：以十进制和科学记数法中最短形式表示的浮点值
                其行为与 %f 和 %E 不同，有关完整详细信息，请参阅 posix printf 规范，
                以下是一些不同行为的示例：
                科学记数法默认具有 6 位有效数字
                尾随零被移除
                最后一位数字后的数字是四舍五入的，而不是截断的

    与本工具集中的其他行为一样，浮点数行为的设计选择
    旨在从输入和输出的角度
    精确地重现 GNU coreutils。

    ### 使用参数

    大多数替换字段可以使用最多 2 个数字进行参数化，
    这些数字可以在百分号 % 和字段字母之间传递给字段。

    第 1 个参数始终表示输出的最小宽度，这对于创建
    列式输出非常有用。任何小于此最小宽度的输出都将用
    前导空格填充；
    第 2 个参数前面有一个点号。
    这是一个可选参数。

    ### 输入的特殊形式

    对于数字输入，除了十进制之外，还接受以下其他形式的输入：

    八进制（仅限整数）：如果参数以 0 开头，则接下来的字符
    将被解释为八进制（基数为 8），适用于整数字段

    十六进制：如果参数以 0x 开头，则接下来的字符将被解释
    为十六进制（基数为 16），适用于任何
    数字字段。对于浮点字段，十六进制输入会导致转换
    小数点后的输入时的精度限制为 10^-15

    字符常量：如果参数以单引号字符开头，则下一个字符的
    第一个字节将被解释为 8 位无符号整数。如果有
    额外的字节，它们将抛出错误（除非设置了环境变量
    POSIXLY_CORRECT）
