Home_greyopenFATE - openSUSE feature tracking > #302955
Dashboard | Search | Sign up | Login

Please login or register to be able to edit or vote this feature.

Split translations out of installation system

Feature state

openSUSE-11.0
Done

Description

The translations of yast are the biggest part of the installation image.

These should not be part of the image, but should be pulled in from the product media as the user selects them.

Discussion


icons/user_comment.png J. S. wrote: (10 years ago)

Duncan, we will need a Linuxrc support for this. Can Steffen look into this feature? What comes to my mind is:

Linuxrc needs to download and mount the language image for the language which user selected in bootloader menu (or English as fallback)

Linuxrc needs to provide a support (eg. a script) which YaST can call when Language changes and downloads and "mounts" the new translation image

It is questionable whether it should be YaST or Linuxrc who makes checks if the asked image is already downloaded, IMO it should be Linurc...

icons/user_comment.png S. W. wrote: (10 years ago)

I don't see linuxrc involved at all. YaST can just donwload he required files. Doesn't look
that tricky to me.

icons/user_comment.png J. S. wrote: (10 years ago)

Maybe, but I do not know how. Lukas, don't we have some API in yast2-installation for that (copying target package from media to inst-sys, if I understand it correctly)?

icons/user_comment.png S. W. wrote: (10 years ago)

We've had exactly that discussion when we talked about loading the licenses. I think now is a good
time to fix yast. I really don't see why other programs have to download various files for yast when
yast could as well do it itself. And when this means doing the repo init earlier, then, well, do it earlier.

icons/user_comment.png J. S. wrote: (10 years ago)

YaST can only fetch data from instlalation sources. Inst-sys can come from completly different location than installation sources do. YaST has no information where to get these images from. YaST would have to reimplement getting data from all kind of locations on its own (it cannot use libzypp, since at the location, there needn't be any valid source.

That's why I'd like to reuse functionality which Linuxrc already has.

icons/user_comment.png S. K. wrote: (10 years ago)

Duncan, is it feasible to make the download functionality of libzypp seperate from valid sources.

E.g. RepoManager::download(theurl_I_got_from_linuxrc, "/suse/translations/de.tar");

icons/user_comment.png D. M. wrote: (10 years ago)

Yes, MediaSetAccess or even MediaAccess can be used to get a file directly from an Url.

The design is layered, MediaAccess sits on top of MediaManager(curl, iso, etc), MediaSetAccess on top, adding multiple media and media changing support, and RepoProvideFile on top, using the repos urls and trying different mirrors.

There is also Fetcher which also sits on top of MediaSetAccess which provide queues and using already downloaded files.

I think it is already used in YaST, YaST does transfer the content file from media independently from ZYpp.

icons/user_comment.png L. O. wrote: (10 years ago)

As already written by snwint, there is no way how to download anything from sources before they are initialized. So: no, there is no Installation API for that.

As there can be an installation-(zypp)-source and a different inst-sys, Installation could either initialize the source as soon as possible but it still wouldn't know where to download inst-sys extensions. On the other hand, Linuxrc doesn't know which translations will be needed. So maybe inst-sys could provide some functionality (API) for downloading these extensions and merging them (downloaddir + adddir), YaST could then use that API. Just an idea...

icons/user_comment.png M. L. wrote: (10 years ago)

We should come down to tier1 languages here.

icons/user_comment.png L. O. wrote: (10 years ago)

For jsuchome/country (possibly-buggy behavior reported by jsuchome):

If user selects another language in the 'installation overview' (former 'proposal'), language selection needs to call this:

if (Stage::initial()) { 
WFM::call ("integrate_translation_extension", [$["requested_language":language]]);
}
You should call it
before
Language::Set (language)
is called.

This is used only in inst-sys /Stage::initial()/, client
integrate_translation_extension
has been added to
yast2-installation-2.6.18

icons/user_comment.png J. S. wrote: (10 years ago)

Actually, I would like to have this call (+all the checks when it is necessary of course)
inside Language::Set call, so that no code that wants to change the language needs to care about this.

icons/user_comment.png L. O. wrote: (10 years ago)

Hmm, that sounds reasonable...

We had better move the client from installation to country then...

icons/user_comment.png J. S. wrote: (10 years ago)

I moved the functionality of "integrate_translation_extension" into Language::Set. Available in
yast2-country-2.16.11 .

I hope this is all for this feature, see you in bugzilla.

icons/user_comment.png L. O. wrote: (10 years ago)

We've agreed on moving the functionality to module
Language because of the transparency for all usage. It's easier to call Language::Set() which handles all the needed stuff than calling some ycp script with a parameter. It's less error-prone and also faster.

Anyway, the package is
yast2-country-data (not yast2-country (typo) - that would bring another circle of dependencies again). I've already adjusted the installation spec file.

Last change: 10 years ago
Voting
Score: 0
  • Negative: 1
  • Neutral: 1
  • Positive: 1
Tags
Feature Export
Application-xmlXML   Text-x-logPlaintext   PrinterPrint