Translation Rules for Plurals

The table below shows the specific rules that are produced by Qt Linguist and lrelease for a selection of languages. Cells marked otherwise indicate the form used when none of the other rules are appropriate for a specific language.

LanguageRule 1Rule 2Rule 3
Englishn == 1otherwiseN/A
Frenchn < 2otherwiseN/A
Czechn % 100 == 1n % 100 >= 2 && n % 100 <= 4otherwise
Irishn == 1n == 2otherwise
Latviann % 10 == 1&& n % 100 != 11n != 0otherwise
Lithuaniann % 10 == 1&& n % 100 != 11n % 100 != 12 && n % 10 == 2otherwise
Macedoniann % 10 == 1n % 10 == 2otherwise
Polishn == 1n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 > 20)otherwise
Romaniann == 1n == 0|| (n % 100 >= 1 && n % 100 <= 20)otherwise
Russiann % 10 == 1&& n % 100 != 11n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 > 20)otherwise
Slovakn == 1n >= 2 && n <= 4otherwise
JapaneseotherwiseN/AN/A

The rules themselves are not documented and are internal to Qt Linguist and lrelease.