From 096c995a915e31855a57868b383c617ef8ddbcc3 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Fri, 22 Feb 2019 20:38:23 +0100 Subject: [PATCH] Add src/core/potranslator.h --- src/core/potranslator.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/core/potranslator.h diff --git a/src/core/potranslator.h b/src/core/potranslator.h new file mode 100644 index 000000000..817d1d0d2 --- /dev/null +++ b/src/core/potranslator.h @@ -0,0 +1,38 @@ +/* + * Strawberry Music Player + * This file was part of Clementine. + * Copyright 2010, David Sansome + * + * Strawberry is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Strawberry is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Strawberry. If not, see . + * + */ + +#ifndef POTRANSLATOR_H +#define POTRANSLATOR_H + +#include + +// We convert from .po files to .qm files, which loses context information. +// This translator tries loading strings with an empty context if it can't find any others. + +class PoTranslator : public QTranslator { + public: + QString translate(const char *context, const char *source_text, const char *disambiguation = 0, int n = -1) const { + QString ret = QTranslator::translate(context, source_text, disambiguation); + if (!ret.isEmpty()) return ret; + return QTranslator::translate(nullptr, source_text, disambiguation); + } +}; + +#endif // POTRANSLATOR_H