[kde-doc-english] KAboutData::translators() returns nothing

Thomas Eschenbacher Thomas.Eschenbacher at gmx.de
Thu Oct 15 21:46:28 UTC 2015


Hi,

could someone please give me a hint what is the secret clue behind
KAboutData::translators() ?
I use that call in my help/about dialog to get a list of translators.

I see that extract-messages.sh produces two entries in my application's
pot file:

msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr ""

msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr ""

and in my po file I see the corresponding two entries, which IMHO are
correctly filled out:

msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Thomas Eschenbacher"

msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "Thomas.Eschenbacher at gmx.de"

But what could then be the reason for KAboutData::translators() to fail?
I looked at the source of that function to see what goes on there. The
core seems to ne a call to QCoreApplication::translate to get the
translated texts, so I hacked these lined into my main.cpp, just before
the call to app.exec():

    #define NAME_OF_TRANSLATORS "Your names"
    QString name = QCoreApplication::translate("KAboutPerson",
NAME_OF_TRANSLATORS, "NAME OF TRANSLATORS");
    qDebug("this fails: '%s'", name.toLocal8Bit().data()); // <- prints
"Your names"

But on the other hand: using i18n(...) works fine:
    qDebug("this works: '%s'", i18n("Your names").toLocal8Bit().data());
// <- prints my name!

What the heck goes wrong here???

kind regards,
   Thomas


More information about the kde-doc-english mailing list