[sf-perl] Internationalization aka "i18n"

Joe Brenner doom at kzsu.stanford.edu
Tue Aug 25 09:57:56 PDT 2009


I'm interested in hearing Jeff Goff's talk tonight, because once
upon a time I was doing that kind of work for a living, but that was
back in the dark days before the web...

Just in case the title is a little obscure, the process of translating
software into another human language (e.g. English to French) has
traditionally been split up into "internationalization" and
"localization", or "i18n/l10n" for short.

One of the main tasks of someone doing "i18n" work used to be combing
through the C code for double quoted strings that contain embedded
human messages, and moving them to some sort of data file which can
then be given to linguists to translate.

And one of the main troubles with this was always the tendency of C
programmers to get too clever in re-using strings.  If you create a
plural by tacking on an "s", you've just written some English-only
code.  If you build-up strings in *any* way, you're likely to cause
problems, e.g. "Can not find the %s" can't be localized, because other
languages have different words for "the" depending on what noun gets
swapped in for "%s".

The thing is, in the web-oriented world, we've (mostly) all bought in
to some form of the "MVC pattern": we try to separate language and code
already, so, hypothetically, if things are done The Right Way, the
"i18n" process shouldn't be that hard, right?

But I don't believe it: this whole area has an amazing ability to
produce head-aches.  Despite Jeff Goff's title ("Oops! I i18n'd your
app"), I bet what we're really going to hear is a tale of suprising
problems...



More information about the SanFrancisco-pm mailing list