Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qtranslator.h
Go to the documentation of this file.
1// Copyright (C) 2020 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:header-decls-only
4
5#ifndef QTRANSLATOR_H
6#define QTRANSLATOR_H
7
8#include <QtCore/qobject.h>
9#include <QtCore/qbytearray.h>
10
11QT_BEGIN_NAMESPACE
12
13
14#ifndef QT_NO_TRANSLATION
15
16class QLocale;
18
19class Q_CORE_EXPORT QTranslator : public QObject
20{
21 Q_OBJECT
22public:
23 explicit QTranslator(QObject *parent = nullptr);
24 ~QTranslator();
25
26 virtual QString translate(const char *context, const char *sourceText,
27 const char *disambiguation = nullptr, int n = -1) const;
28
29 virtual bool isEmpty() const;
30
31 QString language() const;
32 QString filePath() const;
33
34 [[nodiscard]] bool load(const QString & filename,
35 const QString & directory = QString(),
36 const QString & search_delimiters = QString(),
37 const QString & suffix = QString());
38 [[nodiscard]] bool load(const QLocale & locale,
39 const QString & filename,
40 const QString & prefix = QString(),
41 const QString & directory = QString(),
42 const QString & suffix = QString());
43 [[nodiscard]] bool load(const uchar *data, int len,
44 const QString &directory = QString());
45
46private:
47 Q_DISABLE_COPY(QTranslator)
48 Q_DECLARE_PRIVATE(QTranslator)
49};
50
51#endif // QT_NO_TRANSLATION
52
53QT_END_NAMESPACE
54
55#endif // QTRANSLATOR_H
\inmodule QtCore
Definition qfile.h:96
\inmodule QtCore
Definition qresource.h:21
bool do_load(const QString &filename, const QString &directory)
const uchar * contextArray
bool do_load(const uchar *data, qsizetype len, const QString &directory)
const uchar * messageArray
QString do_translate(const char *context, const char *sourceText, const char *comment, int n) const
const uchar * offsetArray
bool load_translation(const QStringList &languages, const QString &filename, const QString &prefix, const QString &directory, const QString &suffix)
std::unique_ptr< QResource > resource
std::vector< std::unique_ptr< QTranslator > > subTranslators
const uchar * numerusRulesArray
\inmodule QtCore
Definition qtranslator.h:20
#define qCDebug(category,...)
#define Q_STATIC_LOGGING_CATEGORY(name,...)
#define QStringLiteral(str)
Definition qstring.h:1826
static const int MagicLength
static QString getMessage(const uchar *m, const uchar *end, const char *context, const char *sourceText, const char *comment, uint numerus)
static quint32 read32(const uchar *data)
static void elfHash_continue(const char *name, uint &h)
static bool isValidNumerusRules(const uchar *rules, uint rulesSize)
static QString dotQmLiteral()
static uint elfHash(const char *name)
static bool match(const uchar *found, uint foundLen, const char *target, uint targetLen)
static uint numerusHelper(int n, const uchar *rules, uint rulesSize)
static quint8 read8(const uchar *data)
static quint16 read16(const uchar *data)
static const uchar magic[MagicLength]
static void elfHash_finish(uint &h)