Skip to content

[Translations] Flash messages with grammatical gender issue in Polish and others #1115

@Rafikooo

Description

@Rafikooo

Problem

Flash messages that include %resource% placeholder don't work correctly in languages with grammatical gender because the verb/participle form must agree with the noun's gender.

This issue likely affects most European languages except English. Languages with grammatical gender include:

  • Slavic: Russian, Ukrainian, Czech, Slovak, Bulgarian, Serbian, Croatian (3 genders)
  • Romance: Italian, Portuguese, Romanian, Spanish, French (2 genders)
  • Germanic: German, Dutch (2-3 genders)
  • Other: Greek, Arabic, Hebrew, Hindi (2-3 genders)

Languages without grammatical gender (no issue): English, Turkish, Finnish, Hungarian, most Asian languages.

So this problem potentially affects almost all Sylius translations except English.

Current translations pattern:

sylius:
    resource:
        update: '%resource% został pomyślnie uaktualniony.'  # Polish

Polish example

  • Resource: "Stawka podatku" (Tax rate) - feminine gender
  • Current: "Stawka podatku został pomyślnie uaktualniony." (masculine form - incorrect)
  • Correct: "Stawka podatku została pomyślnie uaktualniona." (feminine form)

English doesn't have this problem since it has no grammatical gender for nouns.

Why generic neutral messages are fine

The user already knows the context - they are on a specific form (e.g., "Edit Tax Rate"). The flash message just needs to confirm the action result (success/failure), not repeat which resource was affected.

For custom/specific messages, each language defines them explicitly anyway, which is rare and acceptable.

Proposed Solution

Use gender-neutral verb forms that work for all resources:

# Polish (impersonal form)
sylius:
    resource:
        create: 'Pomyślnie utworzono.'
        update: 'Pomyślnie zaktualizowano.'
        delete: 'Pomyślnie usunięto.'

# Spanish (impersonal with "se")
sylius:
    resource:
        create: 'Se ha creado correctamente.'
        update: 'Se ha actualizado correctamente.'
        delete: 'Se ha eliminado correctamente.'

# French (nominalization)
sylius:
    resource:
        create: 'Création effectuée.'
        update: 'Mise à jour effectuée.'
        delete: 'Suppression effectuée.'

# German (adverbial participle - no gender inflection)
sylius:
    resource:
        create: 'Erfolgreich erstellt.'
        update: 'Erfolgreich aktualisiert.'
        delete: 'Erfolgreich gelöscht.'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions