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
lupdate.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4#ifndef LUPDATE_H
5#define LUPDATE_H
6
7#include <QtCore/qtcore-config.h>
8#include <QtTools/private/qttools-config_p.h>
9
10#include <QtCore/QList>
11#include <QtCore/QHash>
12#include <QtCore/QCoreApplication>
13#include <QtCore/QString>
14#include <QtCore/QStringList>
15#include <QtCore/QTranslator>
16
17QT_BEGIN_NAMESPACE
18
19class ConversionData;
20class Translator;
22
36
37Q_DECLARE_FLAGS(UpdateOptions, UpdateOption)
38Q_DECLARE_OPERATORS_FOR_FLAGS(UpdateOptions)
39
40Translator merge(
41 const Translator &tor, const Translator &virginTor, const QList<Translator> &aliens,
42 UpdateOptions options, QString &err);
43
44void loadCPP(Translator &translator, const QStringList &filenames, ConversionData &cd);
45bool loadJava(Translator &translator, const QString &filename, ConversionData &cd);
46bool loadPython(Translator &translator, const QString &fileName, ConversionData &cd);
47bool loadUI(Translator &translator, const QString &filename, ConversionData &cd);
48
49#ifndef QT_NO_QML
50bool loadQScript(Translator &translator, const QString &filename, ConversionData &cd);
51bool loadQml(Translator &translator, const QString &filename, ConversionData &cd);
52#endif
53
54#define LUPDATE_FOR_EACH_TR_FUNCTION(UNARY_MACRO)
55 /* from cpp.cpp */
56 UNARY_MACRO(Q_DECLARE_TR_FUNCTIONS)
57 UNARY_MACRO(QT_TR_N_NOOP)
58 UNARY_MACRO(QT_TRID_N_NOOP)
59 UNARY_MACRO(QT_TRANSLATE_N_NOOP)
60 UNARY_MACRO(QT_TRANSLATE_N_NOOP3)
61 UNARY_MACRO(QT_TR_NOOP)
62 UNARY_MACRO(QT_TRID_NOOP)
63 UNARY_MACRO(QT_TRANSLATE_NOOP)
64 UNARY_MACRO(QT_TRANSLATE_NOOP3)
65 UNARY_MACRO(QT_TR_NOOP_UTF8)
66 UNARY_MACRO(QT_TRANSLATE_NOOP_UTF8)
67 UNARY_MACRO(QT_TRANSLATE_NOOP3_UTF8)
68 UNARY_MACRO(findMessage) /* QTranslator::findMessage() has the same parameters as QApplication::translate() */
69 UNARY_MACRO(qtTrId)
70 UNARY_MACRO(tr)
71 UNARY_MACRO(trUtf8)
72 UNARY_MACRO(translate)
73 /* from qdeclarative.cpp: */
74 UNARY_MACRO(qsTr)
75 UNARY_MACRO(qsTrId)
76 UNARY_MACRO(qsTranslate)
77 /*end*/
78
80{
81public:
82 static QString transcode(const QString &str);
83};
84
86public:
89
91 // need to uglify names b/c most of the names are themselves macros:
92#define MAKE_ENTRY(F) Function_##F,
94#undef MAKE_ENTRY
96 };
97
99
101
102 int trFunctionByName(const QString &trFunctionName) const;
103
104 void modifyAlias(int trFunction, const QString &alias, Operation op);
105
106 bool isAliasFor(const QString &identifier, TrFunction trFunction) const
107 { return m_trFunctionAliases[trFunction].contains(identifier); }
108
110 QStringList listAliases() const;
111
113
114private:
115 void ensureTrFunctionHashUpdated() const;
116
117private:
118 QStringList m_trFunctionAliases[NumTrFunctions];
119 mutable NameToTrFunctionMap m_nameToTrFunctionMap;
120};
121
122QT_END_NAMESPACE
123
124extern QT_PREPEND_NAMESPACE(TrFunctionAliasManager) trFunctionAliasManager;
125
126#endif
int main(int argc, char *argv[])
[2]
Definition buffer.cpp:77
bool m_sourceIsUtf16
Definition translator.h:52
static QString transcode(const QString &str)
Definition main.cpp:140
void processProjects(bool topLevel, UpdateOptions options, const Projects &projects, bool nestComplain, Translator *parentTor, bool *fail) const
Definition main.cpp:622
ProjectProcessor(const QString &sourceLanguage, const QString &targetLanguage)
Definition main.cpp:615
bool hasError() const
Definition qrcreader.h:17
QStringList availableFunctionsWithAliases() const
Definition main.cpp:113
QStringList listAliases() const
Definition main.cpp:125
int trFunctionByName(const QString &trFunctionName) const
Definition main.cpp:68
void modifyAlias(int trFunction, const QString &alias, Operation op)
Definition main.cpp:76
const NameToTrFunctionMap & nameToTrFunctionMap() const
Definition main.cpp:98
bool isAliasFor(const QString &identifier, TrFunction trFunction) const
Definition lupdate.h:106
int messageCount() const
Definition translator.h:146
const TranslatorMessage & constMessage(int i) const
Definition translator.h:149
void loadCPP(Translator &translator, const QStringList &filenames, ConversionData &cd)
Definition cpp.cpp:2265
bool loadJava(Translator &translator, const QString &filename, ConversionData &cd)
Definition java.cpp:562
#define LUPDATE_FOR_EACH_TR_FUNCTION(UNARY_MACRO)
Definition lupdate.h:54
bool loadQml(Translator &translator, const QString &filename, ConversionData &cd)
bool loadPython(Translator &translator, const QString &fileName, ConversionData &cd)
Definition python.cpp:749
bool loadQScript(Translator &translator, const QString &filename, ConversionData &cd)
UpdateOption
Definition lupdate.h:23
@ NoLocations
Definition lupdate.h:32
@ Verbose
Definition lupdate.h:24
@ NoObsolete
Definition lupdate.h:25
@ PluralOnly
Definition lupdate.h:26
@ NoSort
Definition lupdate.h:27
@ HeuristicSimilarText
Definition lupdate.h:29
@ SourceIsUtf16
Definition lupdate.h:34
@ HeuristicSameText
Definition lupdate.h:28
@ AbsoluteLocations
Definition lupdate.h:30
@ RelativeLocations
Definition lupdate.h:31
@ NoUiLines
Definition lupdate.h:33
bool loadUI(Translator &translator, const QString &filename, ConversionData &cd)
Definition ui.cpp:157
std::vector< Project > Projects
Q_STATIC_ASSERT(sizeof(SharedImageHeader) % 4==0)
static void printUsage()
Definition main.cpp:60
static void printOut(const QString &out)
Definition main.cpp:18
static void printErr(const QString &out)
Definition main.cpp:23
static QStringList getResources(const QString &resourceFile)
Definition main.cpp:482
static void processSources(Translator &fetchedTor, const QStringList &sourceFiles, ConversionData &cd, bool *fail)
Definition main.cpp:544
static QString m_defaultExtensions
Definition main.cpp:191
QStringList rootDirs
Definition main.cpp:33
static QStringList availableFunctions()
Definition main.cpp:104
static int trFunctionByDefaultName(const QString &trFunctionName)
Definition main.cpp:51
static void removeExcludedSources(Projects &projects)
Definition main.cpp:467
static const QString defaultTrFunctionNames[]
Definition main.cpp:38
static void expandQrcFiles(Project &project)
Definition main.cpp:519
bool useClangToParseCpp
Definition main.cpp:30
static void recursiveFileInfoList(const QDir &dir, const QSet< QString > &nameFilters, QDir::Filters filter, QFileInfoList *fileinfolist)
Definition main.cpp:203
TrFunctionAliasManager trFunctionAliasManager
Definition main.cpp:138
static bool readFileContent(const QString &filePath, QByteArray *content, QString *errorString)
Definition main.cpp:447
QString commandLineCompilationDatabaseDir
Definition main.cpp:31
static void updateTsFiles(const Translator &fetchedTor, const QStringList &tsFileNames, const QStringList &alienFiles, const QString &sourceLanguage, const QString &targetLanguage, UpdateOptions options, bool *fail)
Definition main.cpp:338
static bool processTs(Translator &fetchedTor, const QString &file, ConversionData &cd)
Definition main.cpp:525
static QSet< QString > projectRoots(const QString &projectFile, const QStringList &sourceFiles)
Definition main.cpp:595
static bool handleTrFunctionAliases(const QString &arg)
Definition main.cpp:308
static QStringList extractQrcFiles(Project &project)
Definition main.cpp:501