GettextとICU MessageFormatについて読んだとき、どちらもローカリゼーションに対する反対のアプローチであると常に説明されています。
しかし、両方を組み合わせることは興味深いアイデアだと思いました。書式設定には MessageFormat を使用し、言語に基づいて適切なテンプレートを選択するには Gettext を使用します。次の行に沿って:
setlocale(LC_ALL, lang)
output = MessageFormat(lang, gettext("There is {number 1} Foo in bar."), [1])
この方法の明白な (またはそれほど明白ではない) 欠点はありますか? 翻訳されたテンプレートがどのように選択されるかについて、MessageFormat の中心的な部分が欠けていますか?