以 SLIB 格式(gettext 方案格式)说明符指定第 n 个操作数

Specify nth operand in SLIB format (gettext scheme-format) specifier

我正在为 guix 开发 zh_CN l10n,它使用 scheme-format 消息。我试图在 c-format to specify the nth operand for the string formatter in scheme-format, but was somehow confused by the description in SLIB manual section Format Specification.

中寻找类似 "Only %2$d bytes free on '%1$s'." 的方法

那么,有没有办法用 slib 的 (format fmt ..) 实现一些类似的效果,我可以将其与 GNU gettext 一起使用?

我应该更仔细地阅读文档——显然有一种方法可以跳转参数:

~* Argument Jumping (jumps 1 argument forward).

  • ~n* jumps n arguments forward.
  • ~:* jumps 1 argument backward.
  • ~n:* jumps n arguments backward.
  • ~@* jumps to the 0th argument.
  • ~n@* jumps to the nth argument (beginning from 0)