Мне нужно создать программное обеспечение, которое должно работать на нескольких платформах * nix (Linux, AIX,...).
Мне нужно обработать интернационализацию, и мои строки перевода имеют следующий вид:
"Hi %1, you are %2." // English
"Vous êtes %2, bonjour %1 !" // French
Здесь %1
укажите имя и %2
для другого слова. Я могу изменить формат, это не проблема.
Я попытался использовать printf()
, но вы не можете указать порядок параметров, просто укажите их типы.
"Hi %s, you are %s"
"Vous êtes %s, bonjour %s !"
Теперь нет способа узнать, какой параметр использовать для замены %s
: printf()
использует только первый, затем следующий.
Есть ли альтернатива printf()
, которая имеет дело с этим?
Примечание: gettext()
не является параметром.