@ -199,10 +199,6 @@ void WebApplication::translateDocument(QString &data)
@@ -199,10 +199,6 @@ void WebApplication::translateDocument(QString &data)
{
const QRegularExpression regex ( " QBT_TR \\ ((([^ \\ ) ] | \ \ ) ( ? ! QBT_TR ) ) + ) \ \ ) QBT_TR \ \ [ CONTEXT = ( [ a - zA - Z_ ] [ a - zA - Z0 - 9 _ ] * ) \ \ ] " ) ;
const bool isTranslationNeeded = ! m_currentLocale . startsWith ( " en " )
| | m_currentLocale . startsWith ( " en_AU " ) | | m_currentLocale . startsWith ( " en_GB " )
| | ! m_translator . isEmpty ( ) ;
int i = 0 ;
bool found = true ;
while ( i < data . size ( ) & & found ) {
@ -212,12 +208,12 @@ void WebApplication::translateDocument(QString &data)
@@ -212,12 +208,12 @@ void WebApplication::translateDocument(QString &data)
const QString sourceText = regexMatch . captured ( 1 ) ;
const QString context = regexMatch . captured ( 3 ) ;
QString translation = sourceText ;
if ( isTranslationNeeded ) {
const QString loadedText = m_translator . translate ( context . toUtf8 ( ) . constData ( ) , sourceText . toUtf8 ( ) . constData ( ) , nullptr , 1 ) ;
if ( ! loadedText . isEmpty ( ) )
translation = loadedText ;
}
const QString loadedText = m_translationFileLoaded
? m_translator . translate ( context . toUtf8 ( ) . constData ( ) , sourceText . toUtf8 ( ) . constData ( ) )
: QString ( ) ;
// `loadedText` is empty when translation is not provided
// it should fallback to `sourceText`
QString translation = loadedText . isEmpty ( ) ? sourceText : loadedText ;
// Use HTML code for quotes to prevent issues with JS
translation . replace ( ' \' ' , " ' " ) ;
@ -436,13 +432,14 @@ void WebApplication::configure()
@@ -436,13 +432,14 @@ void WebApplication::configure()
if ( m_currentLocale ! = newLocale ) {
m_currentLocale = newLocale ;
m_translatedFiles . clear ( ) ;
if ( m_translator . load ( m_rootFolder + QLatin1String ( " /translations/webui_ " ) + m_currentLocale ) ) {
LogMsg ( tr ( " Web UI translation for selected locale (%1) is successfully loaded. " )
. arg ( m_currentLocale ) ) ;
m_translationFileLoaded = m_translator . load ( m_rootFolder + QLatin1String ( " /translations/webui_ " ) + newLocale ) ;
if ( m_translationFileLoaded ) {
LogMsg ( tr ( " Web UI translation for selected locale (%1) has been successfully loaded. " )
. arg ( newLocale ) ) ;
}
else {
LogMsg ( tr ( " Couldn't load Web UI translation for selected locale (%1). Falling back to default (en). " )
. arg ( m_currentLocale ) , Log : : WARNING ) ;
LogMsg ( tr ( " Couldn't load Web UI translation for selected locale (%1). " ) . arg ( newLocale ) , Log : : WARNING ) ;
}
}