look into options for l10n
Open, Needs TriagePublic

Description

Problems

Translations

Installing Software

User Walpurgia uses German as language, she installs kmplot to get the application in german also kde-l10n-de needs to be installed. [This *may* be resolvable as far as discover is conerned, other means of installation won't benefit from that tho]

Software Installed by Another User

User Francois uses French as language. User Walpurgia installed kmplot which somehow installed kde-l10n-de. Later Francois logs in, to use kmplot in French he will need kde-l10n-fr to be installed. This is unknown at the time of Walpurgia installing the application.

Language Switch

Walpurgia realizes that she doesn't actually speak German. She opens system settings, hopefully finds the Language KCM, moves Dutch to the preferred languages. At this point a whole bunch of additional packages will need to be installed to actually result in a Dutch envrionment for Walpurgia.

Dictionaries

In any of the aforementioned circumstances dictionaries need to be installed in a suitable lanaguage. Technically speaking this isn't really different from the other localization packages.

Input Methods

Certain languages require a special input method helper to get installed. Nothing special should be needed.

System Installation

Upon installation of neon all necessary localization packages need to be installed assuming network connection is present.

UX (current in Kubuntu)

Kubuntu has a solution for all of the above using a super cheap blanket solution. A helper watches all installed packages, if a package is installed that requires additional packages a notification and tray icon appear informing the user that additional packages need to be installed to complete localization. Doing so will throw an auth dialog in the face of the user without any additional information or help, so if nothing else the UX of the installation is subpar. Additionally moving languages about in the Languages KCM will not install the packages, one has to wait for the notification to get to a working localization using the new language.

Installation

Currently when installing software, depending on the packaging relevant translations are not installed alongside the software. So if one is using a french system, installs thunderbird, thunderbird won't be localized. This may or may not be solvable by discover.

KCM

Currently does not on-demand ask for installation of required localization packages.

Notification

When it is detected that a package has incomplete localization an Icon appears. This can in particular appear when the user installs something in discover and that does not automatically install required localization packages.

When the user clicks on the notification/systray icon the installer pops up to install whatever the notification said

Techno

  • plasma l10n is in packages: yay
  • apps l10n is in separate l10n packages: eek
  • non-kde bits draw l10n from ubunut packs: eek
  • qttranslations5-l10n needed (Qt bases its right-to-left language detection on that): eek

libkubuntu implements heavy lifting for most of kde-l10n and the ubuntu stuff. What we are lacking for the most part is a UI/design on how to get the crap installed. Also it is currently using libqapt, which can block discover by holding the dpkg lock. Should be ported to packagekit?

kubuntu-notification-helper shows message when l10n support is incomplete. But this is terrible shit and ugly. Consult with VDG on how to notify the user that he has incomplete l10n (this in particular matters for a) offline installations b) user installs thunderbird and that doesn't drag in thunderbird-l10n).

needs looking into if drilling a hole in the KCM to on-demand add the ubuntu plunder when changing language is an option etc.

sitter added a subscriber: sitter.
sitter moved this task from Backlog to Discussing on the Neon board.Jun 9 2016, 10:26 AM
sitter moved this task from Discussing to Ready To Do on the Neon board.Jul 8 2016, 1:23 PM
sitter updated the task description. (Show Details)Aug 16 2016, 11:05 AM
sitter updated the task description. (Show Details)Aug 16 2016, 11:27 AM
sitter updated the task description. (Show Details)
sitter moved this task from Ready To Do to Discussing on the Neon board.

kde-l10n should be built in neon, with the right jobs being created for each release.

debian kde-l10n is one multiple tar source, not balanced and fails if there is 1 problem. better it to generate jenkins jobs on the fly one for each language.

appstream now supports this, kde-l10n needs meta data to say which applications it extends

discover needs to support appstream metadata to know to install kde-i10n for each app it extends

sitter updated the task description. (Show Details)Sep 14 2016, 10:18 AM
broulik updated the task description. (Show Details)Sep 14 2016, 12:16 PM

kde-l10n is going away
<sitter> tosky: can I help with translations in applications tars?
<tosky> sitter: it's almost done, I miss only the last part ("create the tag with the translations")
<tosky> which I should hopefully address during the upcoming holidays

but it would be good to package builds of l10n svn translations for dev editions
https://blog.martin-graesslin.com/blog/2014/06/how-to-test-and-fix-translations-for-frameworks-5-applications/

sitter updated the task description. (Show Details)Jan 31 2017, 2:41 PM
sitter updated the task description. (Show Details)Jan 31 2017, 2:47 PM

use releaseme bits to add it to dev packages
https://phabricator.kde.org/T5294

jriddell moved this task from Discussing to Review on the Neon board.Apr 21 2017, 1:13 PM
jriddell moved this task from Review to Discussing on the Neon board.

kde-l10n is going away
<sitter> tosky: can I help with translations in applications tars?
<tosky> sitter: it's almost done, I miss only the last part ("create the tag with the translations")
<tosky> which I should hopefully address during the upcoming holidays

Unfortunately it did not land for 16.12 (sorry) but we are there with 17.04!

Maybe @ngraham has an opinion

The point about additional language package is not an issue anymore, as kde-l10n* do not exist nowadays:

It's worth noting that the other issues are solved usually at the distribution level.

Plasma's language KCM should allow support for whatever the distro has for it.

libkubuntu task which includes logic to match needs to packages https://phabricator.kde.org/T2842

Sorry, I have zero knowledge of the translation infrastructure. Is there a UI design question that needs answering?

sitter added a comment.Oct 8 2018, 2:38 PM

@ngraham UI and user experience in general. When the user adds a language to their languages in the KCM but that language has not necessary packages to actually be usable something needs to happen.

Previously what we did in kubuntu was patch the KCM to lock part of the elements and show progress bars for package installation. We are now looking to build proper facilities for that into the KCM, but it's unclear what the user experience for this actually should look like. Should there be a prompt for the user informing them that stuff is incomplete and needs installing? What's the UI for the actual installation? What if the user doesn't have internet access just then? (that last case is covered by the notification-helper as seen in

but I think the UX of that random notification is fairly garbage; also it has no UI beyond the notification).

We have the technology to install translations/input-methods/dictionaries on-demand, what we lack is any understanding of what a good UX for actually doing that should be.

OK, I'll give it a shot. First, what are the use cases here? I can see:

  • User first changes language and then installs app. This seems conceptually simplest: always install the appropriate language package for the base package at the time of installation. No idea whether or not the tech for this is easy. Sounds like more of a packaging matter anyway.
  • User first installs apps (or whole OS) and then changes language. This seems to be the stumbling block. What we want is for the installation of necessary language packages to be as tightly coupled as possible to the act of changing your language, or else the connection in the user's mind is lost. This is why the seemingly random notification is so awkward. So here's an idea: when you change your language ordering in the KCM, and the new top language has missing packages for any installed software, it will show an InlineMessage/KMessageWidget at the top of the window saying something like, "Additional packages are needed use <language name> for installed software." The notification will have a helpful button on it that says, "Install <language name> language support". Clicking on it will perform the installation automatically using PackageKit, just like the neat thingy in KIO that will automatically install Samba packages when you try to share a folder.

Does that make any sense?

sitter moved this task from Discussing to Backlog on the Neon board.Aug 12 2019, 1:04 AM