58 lines
1.2 KiB
C++
58 lines
1.2 KiB
C++
#include "config.hpp"
|
|
#include "translators.hpp"
|
|
|
|
#include <QCoreApplication>
|
|
#include <QLocale>
|
|
#include <QLibraryInfo>
|
|
|
|
namespace myx {
|
|
|
|
namespace qt {
|
|
|
|
void append_translators( QTranslatorsList& translators, const QString& appName )
|
|
{
|
|
auto* translator = new QTranslator( qApp );
|
|
|
|
if ( translator->load( QLocale(), appName, QStringLiteral( "_" ),
|
|
QStringLiteral( ":/qm" ) ) )
|
|
{
|
|
translators.append( translator );
|
|
}
|
|
else
|
|
{
|
|
translator->deleteLater();
|
|
}
|
|
|
|
translator = new QTranslator( qApp );
|
|
if ( translator->load( QLocale::system(),
|
|
QStringLiteral( "qt" ), QStringLiteral( "_" ),
|
|
QLibraryInfo::location( QLibraryInfo::TranslationsPath ) ) )
|
|
{
|
|
translators.append( translator );
|
|
}
|
|
else
|
|
{
|
|
translator->deleteLater();
|
|
}
|
|
|
|
translator = new QTranslator( qApp );
|
|
if ( translator->load( QStringLiteral( "qtbase_" ) + QLocale::system().name(),
|
|
QLibraryInfo::location( QLibraryInfo::TranslationsPath ) ) )
|
|
{
|
|
translators.append( translator );
|
|
}
|
|
else
|
|
{
|
|
translator->deleteLater();
|
|
}
|
|
|
|
for ( auto i : qAsConst( translators ) )
|
|
{
|
|
qApp->installTranslator( i );
|
|
}
|
|
} // install_translators
|
|
|
|
} // namespace qt
|
|
|
|
} // namespace myx
|