[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Installer branding



Hi,

So, one of the things I ended up doing for the Ubuntu installer was
essentially grunt work: since it's a different distribution, we had to
make the installer say "Ubuntu" rather than "Debian" everywhere. (I know
not everyone likes branding like this, but I don't really get a choice,
and I can see that it *would* be confusing to users to see stuff talking
about a different distribution. Ubuntu certainly isn't the only
Debian-derived distribution that wants to do this kind of thing,
although not all derivatives care.) This sounds easy until you actually
try to do it.

The main issue is that over the years in d-i we've put the string
"Debian" into sixty-odd translated strings, each translated into thirty
or forty languages, and in many of those cases it appears in the middle
of a sentence in such a way that it affects the language around it. It's
important to preserve the translations as far as possible, and I don't
want to bother translators with sixty trivial changes each and then have
to figure out later how to resolve conflicts when the Ubuntu translator
decided to make some other tweaks and then the translation in Debian
changes differently. This means that I ended up making changes like:

  "Insert a Debian CD-ROM"
  "Insert an Ubuntu CD-ROM"

  "Serwer lustrzany z archiwum Debiana:"
  "Serwer lustrzany z archiwum Ubuntu:"

  "לא יכול להתקין את דביאן"
  "לא יכול להתקין את אובונטו"

(Yes, we have conjugation and transliteration, sometimes both at once,
and sometimes Debian and Ubuntu are conjugated in different ways because
of things like the differing vowel structures in the names. There are
still a lot of cases I don't know how to handle.)

Furthermore, every time I update a package with branding changes like
this, I have to do a merge step, and udeb uploads tend to have a lot of
translation changes. Resolving conflicts is *hell*. We've got tools that
use msgmerge to try to sort some of it out, but there are a lot of
corner cases: they don't cope well with the encoding changing, if
there's a genuine conflict then I have to go in and rebrand, and I have
to eyeball honking great diffs all the time to make sure that the tools
didn't go insane (since they sometimes do). Sometimes I end up just
giving up and redoing the branding from scratch. Because of the
linguistic issues, I don't see a way to automate it very much more than
we already do.

Basically this sort of thing takes up hours and hours of tedious work
every week in the phase of our release cycle when we're merging from
Debian, it's highly error-prone, it makes translations we do harder to
contribute back to Debian, and fundamentally it's just time I spend
effectively spinning wheels when I could be writing code or fixing bugs
instead. I think everyone agrees that having d-i hackers have more time
to spend hacking on d-i is a good thing. :-)


So, it would be really nice if we could make the whole translation
branding thing less of a problem. One easy approach is to observe that
not all those strings really need to mention Debian in the first place.
In a number of places, they could be replaced by "the system" or "the
installer" or whatever without losing any information: users already
have a pretty good idea they're installing Debian because they got this
CD with "Debian" printed on it, or they downloaded it from a Debian FTP
site.

Another approach is to try to avoid mentioning the distribution name in
the middle of sentences so that it doesn't have to appear in translated
strings at all. I've been toying with the idea of creating a udeb of
lsb-release and putting it in the installer initrd; it'd be very small,
and it would allow d-i to figure out who it is by looking in a single
central place. Having done that, we could even put the distribution name
in part of an info message or something so that we can have it displayed
throughout the installer but still be easily changed. With a little
effort, this could extend to stuff like what identifiers get put in
bootloader configuration files.

Of course, there'll always be cases where the installer needs to display
totally different translated text depending on which distribution it's
installing. The bit in choose-mirror that describes stable, testing, and
unstable is a good example. Still, those are easier to cope with in some
ways because they involve totally new strings, and for the most part
that sort of thing only shows up on expert paths anyway. I can live with
that.


I've been reluctant to just start quietly changing things, because I
don't want people to be thinking "oh, that evil Ubuntu hacker, he just
wants to take all the credit away from Debian". All the same, if we
could agree on some standards to make life easier for people who want to
do this kind of branding, that would be fantastic. Thoughts?

Thanks,

-- 
Colin Watson                                       [cjwatson@debian.org]



Reply to: