#ifndef MYX_QT_TRANSLATORS_INL_HPP_ #define MYX_QT_TRANSLATORS_INL_HPP_ #pragma once #include #ifndef MYXLIB_HEADER_ONLY #include #endif #include #include #include namespace myx { namespace qt { MYXLIB_INLINE 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( "qtbase_" + QLocale::system().name(), QLibraryInfo::location( QLibraryInfo::TranslationsPath ) ) ) { translators.append( translator ); } else { translator->deleteLater(); } for ( auto* i : qAsConst( translators ) ) { qApp->installTranslator( i ); } } // append_translators } // namespace qt } // namespace myx #endif // MYX_QT_TRANSLATORS_INL_HPP_