Adding languages...

Alexandre Oliva aoliva at redhat.com
Thu Dec 16 20:17:54 UTC 2004


On Dec 16, 2004, "Noah Silva [Mailing list]" <nsilva-list at aoi.atari-source.com> wrote:

> On Thu, 16 Dec 2004, Jeff Spaleta wrote:

>> 
>> Is there a mechanism by which you can add languages to your system
>> later... and then "reinstall" packages so that the new language
>> payloads from already installed packages get placed on the system?

> This is sometime I wondered too!  I often have people install Fedora only
> in English to "check it out."  Then later they say "ok, I like it.  How
> can I add the Russian" (or Chinese, etc.)  Besides poring over the package
> list, adding anything that looked appropriate, I didn't know what to tell
> them.

> Can anyone shed any light on this?

That's one of the reasons why the installer no longer sets
%_install_langs in say ~root/.rpmmacros according to the install-time
selection, otherwise the only way to add languages later is to
reinstall all packages that might have been only partially-installed.

This unfortunately doesn't solve the entire problem, since some
language-specific packages (kde-i18n-* comes to mind) still get
filtered out, since the package is only brought in if the language is
selected for installation.

I.e., we have two language exclusion mechanisms, and the installer is
inconsistent in the way it uses them.  Which is not to say that being
consistent would make everybody happy.  If we made it consistent in
that all langs were installed, some would complain even more about
spending disk space on translations they don't use.  If we made it
consistent in installing only what the user asked for, many would be
inconvenienced by the need for reinstalling packages to get additional
languages.

What would make things better IMHO would be to transparently break up
lang-specific bits into separate rpms, and have some form of
conditional dependency in rpm or in dep resolvers that would enable a
user to install additional language meta-packages later on, that would
bring in the localization packages by means of dependencies of the
form `if package X is installed, install X-lang'.

Or we could turn it around, and have a dependency in X such as `if
lang-L is installed, require X-L'.

Either way, it's more work for dep solvers, but I see other nice uses
for such conditional dependencies.

-- 
Alexandre Oliva             http://www.ic.unicamp.br/~oliva/
Red Hat Compiler Engineer   aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist  oliva@{lsd.ic.unicamp.br, gnu.org}




More information about the fedora-test-list mailing list