diff --git a/docs/docs/contributor-guide/i18n.md b/docs/docs/contributor-guide/i18n.md index d5d98f28f..5e4261886 100644 --- a/docs/docs/contributor-guide/i18n.md +++ b/docs/docs/contributor-guide/i18n.md @@ -28,6 +28,43 @@ There are two main components in the `Launcher` category, `i18n` and `units`: There are also some other components that are related to plugin apps, but they are less important, as they are not part of the main app. +## Gender-specific variants + +In some languages, you need to know the user's gender in order to address them correctly. For +example, in French, if you want to tell a user, that they are not logged in, you could say: + +> Vous n'êtes pas connecté. + +But this assumes that the user is male. The correct form to address a female user is: + +> Vous n'êtes pas connecté**e**. + +This is because in French, adjectives need to agree with the subject's gender. + +While some languages have developed workarounds for this problem (for example, in French there is +the *point médian*, i.e. "connecté·e"), in others it's simply not possible to write UI texts in a +gender-neutral way. + +Fortunately, there is a pretty simple solution to this problem: Since Android 14, Android has a +[Grammar Infliction API](https://developer.android.com/about/versions/14/features/grammatical-inflection). +Apps can offer their users an option to pick their preferred form of address, and the system will +load a different set of string resources depending to that choice. + +Unfortunately, Weblate has pretty poor support for Android's gender-infliction API. The masculine +and feminine string variants are simply displayed as separate languages. For example, there is +**French**, **French (fr_FEMININE)**, and **French (fr_MASCULINE)**. + +> [!NOTE] +> New variants can't be created from within Weblate. Please open an issue if you need new gender +> specific variants for your language. + +The masculine and feminine variants do not need to be completed. They inherit all strings from their +base variant. So ignore them until you encounter a string in the base variant that requires a +gender-specific variant. When you encounter a string that implies the user's gender, you can press +the "Other languages" button and find the gendered variants of your language. **Make sure to add +a translation in all three variants**: one masculine version, one feminine version, and one base +version for older Android versions, and for users who prefer a neutral form of address. + ## Icons and other resources There are currently no icons that would require localization but in case there were you could simply