この_n();
関数の例(http://codex.wordpress.org/Function_Reference/_n)を参照してください。
sprintf( _n('%d comment.', '%d comments.', $number, 'text-domain'), $number );
英語で:
1 Comment
2 Comments
ポーランド語などの言語では、異なるパターンと複数形があります。
1 Komentarz
2 Komentarze
3 Komentarze
4 Komentarze
5 Komentarzy
6 Komentarzy
...
21 Komentarzy
22 Komentarze
23 Komentarze
24 Komentarze
25 Komentarzy
...
31 Komentarzy
32 Komentarze
...
91 Komentarzy
92 Komentarze
...
111 Komentarzy
112 Komentarzy (!)
...
121 Komentarzy
122 Komentarze
言語が複数形をサポートしている場合、翻訳者が独自のパターンを設定できるようにする方法を探しています。これを行うための創造的なPHPアプローチを思いつくことができますか?
私が考えることができるいくつかの解決策(しかし、それでも翻訳者はパターンを設定することができません):
if($number == 1){
$message = __(‘1 Komentarz’ , ‘text-domain’);
}else if($number == 2){
$message = __(‘2 Komentarze’ , ‘text-domain’);
}else if($number == 3){
$message = __(‘3 Komentarze’ , ‘text-domain’);
}
編集:これはポーランド語のPOファイルで見つかりました:しかし、それをサポートする関数を"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
準備する方法がまだわかりません。_n();