Line 114 of src/frontends/qt4/GuiApplication.cpp:

       language_name.truncate(5);
        if (qt_trans_.load(language_name,
                QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
        {

fails for language_name = qt_zh_CN because qt_trans_.load can not load
the truncated version qt_zh.pm, while I have qt_zh_CN.pm on my system.

According to qt manual http://doc.trolltech.com/4.1/qtranslator.html#load

-----------------------
For example, an application running in the fr_CA locale
(French-speaking Canada) might call load("foo.fr_ca", "/opt/foolib").
load() would then try to open the first existing readable file from
this list:

  1. /opt/foolib/foo.fr_ca.qm
  2. /opt/foolib/foo.fr_ca
  3. /opt/foolib/foo.fr.qm
  4. /opt/foolib/foo.fr
  5. /opt/foolib/foo.qm
  6. /opt/foolib/foo
------------------------

qt will find qt_zh.pm for language_name = qt_zh_CN, but the other way
around. Can I remove the language_name.truncate(5) line?

Note that 3971 is still not fixed, but this time, at least the qt
dialoags also shows blank (supposedly Chinese) characters.

Cheers,
Bo

Reply via email to