parameterized translation strings; what is the solution?




How are parameterized translation strings commonly handled?

Suppose I need to create a string like:

"file %1 failed to open", where %1 exists at runtime, but I need to
create it in a way that can be internationalized.

If I do something like this

str = _("file ") + filename + _(" failed to open");

The string to be translated is broken into pieces and the translators
can't see what is going on. Besides different languages have different
word order. You can't necessarily hack tranlated phrases from a
different language together in the same way that you do in the native
language. Some things need to be translated as a whole.

Also there is UTF-8 and unicode.

Bjarne Stroustrup properly points out that sprintf and format
are not typesafe.

So what is the solution?

Gtkmm documentation recommends the compose library, but
that seems to be included in almost no Linux distributions,
so that can not be commonly used.

What is the solution that is used everyday in the real world?
-- 
Paul Elliott                       1(512)837-1096
pelliott io com                    PMB 181, 11900 Metric Blvd Suite J
http://www.io.com/~pelliott/pme/   Austin TX 78758-3117

Attachment: pgpmCN0tLgGLQ.pgp
Description: PGP signature



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