UX challenges for app translations
While implementing the UI design for the translation workflow from #58 (closed), several new challenges came up that still need to be solved:
Translation Overrides
The app's summary
and description
(maybe also the icon
and the name
) come in two flavors: localizable and non-localizable. If the user enters information in the non-localizable fields (or imports an app that has these filled out) all translations will be ignored by F-Droid and only the non-localizable texts will be shown to the user no matter what language choice she had made.
The UI design assumed that there would be only one sort of app information and doesn't account for the override. However, since apps from remote repositories frequently do use the override (the old way of doing repos), we need to handle these somehow to prevent unexpected results.
There is also a more extensive discussion about this in https://gitlab.com/fdroid/repomaker/issues/126#note_34382081.
Currently, we try to move overrides from remote apps to a translation, if possible. We only show the overriding fields in app edit mode if they could not be moved and contain text. Also, when viewing an app, we show the overriding summary and description with a light-red background if they have been used.
No source language
The UI mockups show the text to be translated above the input fields. However, in reality there is no clear source language to show there. For example, an app might only have a French and a Spanish translation. Now the user adds an English translation. What "source" texts should be shown above the input fields?
Currently, we just don't show any text and leave it to the user to fill the fields without further guidance.
Auto-save and image drag and drop for new translations
When adding a new translation to an app, we don't know the language code of this translation. However, due to technical reasons we need to know the language code when saving the information and any images such as screenshots and the feature graphic.
This is why we can not use auto-save and drag and drop before the user has chosen the language code for this new language.
Currently, we solve this by not doing any auto-save and by not showing the screenshot and feature graphic input areas when a new translation is created. They can still be added when the new translation is edited again.