Klaus Schmidinger wrote: > Apparently there are macros for this, like PRId64 and such. > But i don't like having to write something like > > int64_t n = ...; > printf("Some number %" PRId64 "\n", n); > > Don't know if the gettext mechanisms would be able to handle > > tr("Some number %" PRId64 "\n") > > I wonder why there ar no proper format specifiers for this. > Or are there?
The gettext info page says: > A similar case is compile time concatenation of strings. The ISO C > 99 include file `<inttypes.h>' contains a macro `PRId64' that can be > used as a formatting directive for outputting an `int64_t' integer > through `printf'. It expands to a constant string, usually "d" or "ld" > or "lld" or something like this, depending on the platform. Assume you > have code like > > printf ("The amount is %0" PRId64 "\n", number); > > The `gettext' tools and library have special support for these > `<inttypes.h>' macros. You can therefore simply write > > printf (gettext ("The amount is %0" PRId64 "\n"), number); > > The PO file will contain the string "The amount is %0<PRId64>\n". The > translators will provide a translation containing "%0<PRId64>" as well, > and at runtime the `gettext' function's result will contain the > appropriate constant string, "d" or "ld" or "lld". So translations should still work. The ugliness of those macros remains. cu Ludwig -- (o_ Ludwig Nussel //\ SUSE LINUX Products GmbH, Development V_/_ http://www.suse.de/ _______________________________________________ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr