Python中gettext转换中单词的动态格式

问题描述

我有一些字符串需要翻译,但是我只知道字符串的某些部分,而其他部分却是动态的,不需要翻译。我们这样说:

msgid "We found {something} in the hallway"
msgstr "They lost {something} somewhere"

因此,如果这是PO文件,而我想翻译“我们在走廊上发现一个球”,那么我最终会得到“他们在某个地方丢了一个球”。

如果{something}实际上是一个变量,其后值为.format(),则可以。但是我需要翻译的句子是在其他地方生成的,因此没有翻译后无法格式化的变量,除非我将原始句子与其组成部分分开。

有什么想法可以解决这个问题吗?

解决方法

将sprintf()与占位符一起使用。 This is for WordPress,但原则适用于您的问题。看第二个例子。