Spanish phrases in the default translation with an incorrect use of grammatical gender.

Hello. I want to report that there are some phrases in the default translation with an incorrect use of grammatical gender.

Phrases like the following assume that the entity alluded to is masculine, and it is a relevant grammatical mistake to see these sentences when the entity is feminine. For example, “question” in Spanish is feminine, but with the article “El” it always assumes that the object is masculine:

msgid “The {name} “{obj}” was changed successfully.”
msgstr “El {name} “{obj}” se cambió correctamente.”

“The {name} “{obj}” was changed successfully. You may edit it again below.”
msgstr “”
"El {name} “{obj}” se cambió correctamente. Puede editarlo nuevamente a "
“continuación.”

msgid “The {name} “{obj}” was changed successfully.”
msgstr “El {name} “{obj}” se cambió correctamente.”

Nouns in Spanish have this fun thing of all being gendered.

The only reasonable way I see of fixing it is to remove the article in the translated version, for example:

msgid “The {name} “{obj}” was changed successfully.”
msgstr “{name} “{obj}” se cambió correctamente.”

This means that the translation is not a literal transaction anymore, but removing the article or rephrasing the sentence in the original English strings would have much bigger implications and issues.

I’d suggest also looking at how other frameworks or libraries fix this issue.

Thanks for your answer.

Yes, I agree with you about to remove “El” article in the translated/Spanish translation, could be a better approach. Seeing a word without the gender article is not a suitable expression in Spanish, but is better than seeing masculine articles when a feminine is, that in Spanish is a wrong translation. But I understand that there could be other opinions.

I found this source about how to contribute translations Localizing Django | Django documentation | Django, I think first there must be a discussion about this linguistic issue here, on this forum, in order to receive opinions and maybe a proper consensus/authorization from Django Spanish community, and if so, I will try to introduce this approach inside source translations, but discussion will be useful also, because could be that this discussion was already made, and the change is not suitable and decision has been taken, or maybe there are other alternatives to discuss.

I have seen in Spanish some translations that use the “/s” in those messages where the plurality of the sentence is not clear. For example: Eliminado/s

We could perhaps use “El/La” to replace “The” (singular). I’m not a fan of this, I would like to use a gender neutral “Le” but I know that is controversial and not officially supported by the “Real Academia Española”:

msgid “The {name} “{obj}” was changed successfully.”
msgstr “El/La {name} “{obj}” se cambió correctamente.”

The previously proposed solution:

msgid “The {name} “{obj}” was changed successfully.”
msgstr “{name} “{obj}” se cambió correctamente.”

also looks good and I think it’s acceptable, perhaps even better than my suggestion.

For context, this is an issue which was discussed in a django-developers “Django admin and messages” thread back in 2016. It seems back then the Spanish translations were using the el/la and o/a workaround.

I think your proposal is better than removing gender articles, “El/la” is a more suitable approach.

BTW, “Le” according RAE is “When the pronoun acts as an indirect object” https://www.rae.es/espanol-al-dia/uso-de-los-pronombres-los-las-les-leismo-laismo-loismo

ok, I saw, if I understand correctly, is recommended the approach indicated by @nessita , but seems was lost or was not applied.

For what it’s worth I’ve logged this case in the i18n requirements project:

% python print_improvements.py ../django es --module contrib/admin
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ current translation with examples                        ┃ enhanced translation                                   ┃ enhanced examples                                        ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ contrib/admin/options.py:1533                            │ gender:name:                                           │ El usuario “maciek” se cambió correctamente.             │
│ The {name} “{obj}” was changed successfully.             │   feminine: La {name} “{obj}” se cambió correctamente. │ El grupo “maciek” se cambió correctamente.               │
│ El {name} “{obj}” se cambió correctamente.               │   other: El {name} “{obj}” se cambió correctamente.    │ El permiso “maciek” se cambió correctamente.             │
│ El usuario “maciek” se cambió correctamente.             │                                                        │ La sesión “maciek” se cambió correctamente.              │
│ El grupo “maciek” se cambió correctamente.               │                                                        │ El sitio “maciek” se cambió correctamente.               │
│ El permiso “maciek” se cambió correctamente.             │                                                        │ La redirección “maciek” se cambió correctamente.         │
│ El sesión “maciek” se cambió correctamente.              │                                                        │ La página estática “maciek” se cambió correctamente.     │
│ El sitio “maciek” se cambió correctamente.               │                                                        │ La entrada de registro “maciek” se cambió correctamente. │
│ El redirección “maciek” se cambió correctamente.         │                                                        │ El tipo de contenido “maciek” se cambió correctamente.   │
│ El página estática “maciek” se cambió correctamente.     │                                                        │                                                          │
│ El entrada de registro “maciek” se cambió correctamente. │                                                        │                                                          │
│ El tipo de contenido “maciek” se cambió correctamente.   │                                                        │                                                          │
└──────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────┴──────────────────────────────────────────────────────────┘
1 Like

Sorry if I’m misunderstanding the point you are referring, it implies some kind of technique to handle gender correctly when the noun changes dynamically? please let me know it.

I am not sure if your message and examples are related with the scenario discussed here (or please let me know if I am wrong). If I understand correctly, the cases you are pointing are clear about what gender must be used (am I wrong?) because are nouns already known. What is discussed here is that the text {name} changes dynamically according to each model for each Django project (I guess that is used only in that scenario), and that implies on Spanish to display a correct gender according to each model of each project (or avoiding gender). That’s why in this thread are being suggested/discussed to handle both genders (or to remove the gender particle). For instance, on this string “El/La” is a proposal, Django does not know the gender because the noun changes dynamically on edit operations:

msgid “The {name} “{obj}” was changed successfully.”
msgstr “El/La {name} “{obj}” se cambió correctamente.”

@cigotete Sorry for confusion, I could have write more in my previous message. I am working on a proposal and implementation of a method to provide the gender and inflection to translated messages. I created a repository where I try to gather the requirements for different languages needs for improving current state of the translations in Django messages.

It’s a bit out of scope of this thread, as it’s not available currently in Django.

What is discussed here is that the text {name} changes dynamically according to each model for each Django project (I guess that is used only in that scenario), and that implies on Spanish to display a correct gender according to each model of each project (or avoiding gender).

The implementation I am working on would require the translator to provide a gender of a model name as part of translation work.