- Qt 6.9
- Qt Overviews
- Internationalization with Qt
- Translation Rules for Plural Forms
- Qt 6.9.2 Reference Documentation

Writing Source Code for Translation ◦ Localizing Applications

# Translation Rules for Plural Forms

Qt Linguist and `lrelease` support plural forms for all languages that are supported by QLocale.

The table below shows the specific rules for a small selection of languages. Cells marked otherwise indicate the form the tools use 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

Writing Source Code for Translation ◦ Localizing Applications