我想翻译一个列出文件夹内容的脚本。包含文件、文件夹和显示的总大小的摘要。到目前为止,我使用 翻译了所有字符串gettext
,但我被困在这里并寻找一种优雅的方法来解决翻译可能包含多个复数的字符串。可能不用说,但由于每种语言都不同,我想避免连接字符串。
$summary = sprintf(_('%1$s folders and %2$s files, %3$s %4$s in total'), $total_folders, $total_files, $total_size, $unit);
可能的状态(0-cases 被有意遗漏):
- 1 个文件夹和 1 个文件,共 100 KB
- 1 个文件夹和 2 个文件,共 200 KB
- 2 个文件夹和 1 个文件,共 100 KB
- 2 个文件夹和 2 个文件,共 200 KB
我认为ngettext()
这将是 的适当替代品_()
,但将其与我的示例结合起来让我无法理解。