8

gettext を使用して、複数の数値変数を含む文を翻訳可能にするにはどうすればよいですか? ngettext は、複数形のパラメーターとして 1 つの数値のみを取ります。

以下の文で許されるべき順列は、「大人と子供」、「大人と子供」、「大人と子供」、「大人と子供」です。

「#AVAILABILITYFROM から #AVAILABILITYTO まで、#NUMADULTS 人の大人と #NUMCHILDREN 人の子供のために」

4

1 に答える 1

10

英語以外の言語では文法が非常に複雑になる可能性があるため、このアプローチを使用して正しい複雑な文を生成することは実際には不可能であることに注意する必要があります。

複数の変数とジャンル (男性/女性) も多くの複雑さを追加することに注意してください。

解決策は、変数が 1 つしかない単純な文のみを生成することです。これは、によってサポートされているケースですngettext

ngettext は素晴らしいものであり、それはバグ ソフトウェア会社のほとんどの商用 i18n フレームワークがサポートさえしていないものであることを理解してください。それでも彼の限界があるので、すぐにあなたの質問の解決策は、複雑な文をいくつかの単純な文に分割して、1 つの変数のみを使用して翻訳できるようにすることです。

于 2009-12-12T16:36:47.797 に答える