I would personally very appreciate this, after having enjoyed similar functionality on MacOS, with easy dictionary access and text translation.
I would personally very appreciate this, after having enjoyed similar functionality on MacOS, with easy dictionary access and text translation.
epiphany: https://gitlab.gnome.org/GNOME/epiphany/-/work_items/2889
papers: https://gitlab.gnome.org/GNOME/papers/-/work_items/454
gnome-text-editor: doesn't accept feature requests directly, wants them raised instead at https://gitlab.gnome.org/Teams/Design/whiteboards/-/work_ite... (no previous translation concepts found)
Translation within these apps is generally not an easy feature to implement. Do you automatically try and detect the language and suggest a translation? Do you make language translation controls obvious and put them front and centre, or hide them away assuming they're infrequently used? Do you show translations side-by-side, line-under-line, or just replace the original text with translated text? Then on more complex matters such as papers, do you try and preserve original formatting (very hard, particularly for things like tables), do you accommodate words split across lines, etc.
There does exist https://flathub.org/en/apps/dev.ters.LocalTranslate as a standalone offline text translation application for GNOME desktop environments but a user would have to copy+paste text between applications to use it.
Adding support to individual apps is specifically something that ruins good UX. You want all apps enjoy it independently.
1. Open bonjour.md and a banner automatically appears above the document asking whether you'd like to translate from French -> German (assuming the desktop environment language was set to German). This is more or less how Firefox handles offline translation of web pages.
2. Open bonjour.md and click a translate button, then get asked which language pair to choose from.
I can however see how the "highlight text -> context menu -> translate" UI pattern may make sense in multi-language settings, such as a chat room, or web browser where text in multiple language may be presented on the same page. For a terminal session however, it may be better to require the user to pipe text to a translation command line utility where possible--but there are exceptions to this too such as ncurses interfaces.