23#ifndef H2C_TRANSLATIONS_H
24#define H2C_TRANSLATIONS_H
29#include <QtCore/QString>
51 QStringList translations;
53 QStringList filter = QStringList( sFileName +
"_*.qm" );
55 for ( QString sEntry : d.entryList( filter ) ) {
57 sEntry.remove( 0, sFileName.size() + 1 );
58 sEntry.remove( sEntry.size() - 3, 3);
59 sEntry.replace(
'_',
'-' );
60 translations << sEntry;
82 for ( QString sLanguage : languages ) {
83 sLanguage.replace(
'-',
'_' );
86 QString sTransName = sFileName +
"_" + sLanguage +
".qm";
87 QFileInfo fi( sDirectory, sTransName );
88 if ( fi.exists() && fi.isFile() ) {
89 sLanguage.replace(
'_',
'-' );
92 int i = sLanguage.lastIndexOf(
'_' );
96 sLanguage.truncate( i );
104 QString sLanguage =
findTranslation( languages, sFileName, sDirectory );
105 if ( sLanguage.isNull() ) {
108 sLanguage.replace(
'-',
'_' );
109 QString sTransName = sFileName +
"_" + sLanguage +
".qm";
110 return tor.load( sTransName, sDirectory );
static QString i18n_dir()
returns internationalization path
static QStringList availableTranslations(QString sFileName, QString sDirectory=H2Core::Filesystem::i18n_dir())
static QString findTranslation(QStringList languages, QString sFileName, QString sDirectory=H2Core::Filesystem::i18n_dir())
The standard QTranslation::load will prefer an exact match of a languae-REGION pair,...
static bool loadTranslation(QStringList languages, QTranslator &tor, QString sFileName, QString sDirectory=H2Core::Filesystem::i18n_dir())