View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 20780 | Bug reports | Translation | public | 2026-10-20 17:48 | 2026-10-26 16:40 |
| Reporter | c_schmitz | Assigned To | c_schmitz | ||
| Priority | none | Severity | minor | ||
| Status | resolved | Resolution | fixed | ||
| Product Version | 7.5.x | ||||
| Summary | 20780: Texts that depend on a number can only be translated with two forms, so languages like Polish or Czech show wrong grammar | ||||
| Description | Texts that change with a number (for example "1 file" / "5 files") can only be translated with a singular and a plural form. Many languages, such as Polish, Czech, Russian or Arabic, need more forms, so these texts show wrong grammar for many numbers. The new survey editor has the same problem. | ||||
| Tags | No tags attached. | ||||
| Bug heat | 2 | ||||
| Complete LimeSurvey version number (& build) | 7.7.0+261020 | ||||
| I will donate to the project if issue is resolved | No | ||||
| Browser | |||||
| Database type & version | - | ||||
| Server OS (if known) | |||||
| Webserver software & version (if known) | |||||
| PHP Version | - | ||||
| Git branch / Pull Request URL | |||||
|
Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=41067 |
|
|
LimeSurvey: master a9c3eaa5 2026-10-20 18:01 Details Diff |
Fixed issue 20780: Texts that depend on a number could only be translated with two forms, so languages like Polish or Czech showed wrong grammar Dev New gTPlural()/eTPlural() use real gettext plural entries (msgid/msgid_plural), the form is picked by the Plural-Forms rule of the language file, evaluated without eval() Dev ngT()/neT() are deprecated, all core calls converted to gTPlural(), {n} placeholders replaced by %d with sprintf() Dev Before merging, the POT extractor must know gTPlural/eTPlural as plural keywords and the existing pipe translations must be converted, otherwise these strings fall back to English |
Affected Issues 20780 |
|
| mod - application/config/internal.php | Diff File | ||
| mod - application/controllers/ResponsesController.php | Diff File | ||
| mod - application/controllers/admin/ParticipantsAction.php | Diff File | ||
| mod - application/controllers/admin/Tokens.php | Diff File | ||
| add - application/core/LSGettextPluralForms.php | Diff File | ||
| mod - application/core/LSMessageSource.php | Diff File | ||
| mod - application/core/QuestionTypes/FileUpload/RenderFileUpload.php | Diff File | ||
| mod - application/helpers/common_helper.php | Diff File | ||
| mod - application/helpers/expressions/em_manager_helper.php | Diff File | ||
| mod - application/helpers/expressions/warnings/EMWarningHTMLBaker.php | Diff File | ||
| mod - application/models/User.php | Diff File | ||
| mod - application/views/admin/participants/attributeMapCSV_view.php | Diff File | ||
| mod - application/views/admin/participants/modal_subviews/_addToSurvey.php | Diff File | ||
| mod - application/views/admin/token/emailwarning.php | Diff File | ||
| mod - application/views/admin/token/managetokenattributes.php | Diff File | ||
| mod - application/views/survey/questions/answer/file_upload/answer.twig | Diff File | ||
| add - tests/unit/LSGettextPluralFormsTest.php | Diff File | ||
| add - tests/unit/LSMessageSourceTranslatePluralTest.php | Diff File | ||
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-10-20 17:48 | c_schmitz | New Issue | |
| 2026-10-26 16:40 | c_schmitz | Changeset attached | => LimeSurvey master a9c3eaa5 |
| 2026-10-26 16:40 | c_schmitz | Note Added: 86860 | |
| 2026-10-26 16:40 | c_schmitz | Assigned To | => c_schmitz |
| 2026-10-26 16:40 | c_schmitz | Status | new => resolved |
| 2026-10-26 16:40 | c_schmitz | Resolution | open => fixed |
| 2026-10-26 16:40 | guest | Bug heat | 0 => 2 |