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.

Language Rule 1 Rule 2 Rule 3
English n == 1 otherwise N/A
French n < 2 otherwise N/A
Czech n % 100 == 1 n % 100 >= 2 && n % 100 <= 4 otherwise
Irish n == 1 n == 2 otherwise
Latvian n % 10 == 1&& n % 100 != 11 n != 0 otherwise
Lithuanian n % 10 == 1&& n % 100 != 11 n % 100 != 12 && n % 10 == 2 otherwise
Macedonian n % 10 == 1 n % 10 == 2 otherwise
Polish n == 1 n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 > 20) otherwise
Romanian n == 1 n == 0|| (n % 100 >= 1 && n % 100 <= 20) otherwise
Russian n % 10 == 1&& n % 100 != 11 n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 > 20) otherwise
Slovak n == 1 n >= 2 && n <= 4 otherwise
Japanese otherwise N/A N/A

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

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/i18n-plural-rules.html