Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
validator.h
Go to the documentation of this file.
1
// Copyright (C) 2025 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
VALIDATOR_H
5
#
define
VALIDATOR_H
6
7
#
include
<
QHash
>
8
#
include
<
QLocale
>
9
#
include
<
QString
>
10
11
#
ifndef
LINGUIST_CONSOLE_APPLICATION
12
#
include
<
optional
>
13
#
endif
14
15
QT_BEGIN_NAMESPACE
16
17
class
Phrase;
18
class
TranslatorMessage
;
19
20
namespace
Ui
{
21
class
MainWindow;
22
}
23
24
struct
Validator
25
{
26
27
struct
Checks
28
{
29
bool
accelerator
=
true
;
30
bool
punctuation
=
true
;
31
bool
placeMarker
=
true
;
32
bool
surroundingWhiteSpace
=
true
;
33
#
ifndef
LINGUIST_CONSOLE_APPLICATION
34
bool
phraseMatch
=
true
;
35
#
endif
36
};
37
38
enum
ErrorType
{
39
SuperfluousAccelerator
,
40
MissingAccelerator
,
41
SurroundingWhitespaceDiffers
,
42
PunctuationDiffers
,
43
IgnoredPhrasebook
,
44
PlaceMarkersDiffer
,
45
NumerusMarkerMissing
46
};
47
48
enum
Ending
{
End_None
,
End_FullStop
,
End_Interrobang
,
End_Colon
,
End_Ellipsis
};
49
50
struct
Error
51
{
52
ErrorType
type
;
53
QString
message
;
54
};
55
56
static
Validator
fromSource
(
const
QString &source,
const
Checks
&checks,
57
const
QLocale::Language &locale,
58
const
QHash
<
QString
,
QList
<
Phrase
*>> &
phrases
);
59
60
QList
<
Error
>
validate
(QStringList translations,
const
TranslatorMessage
&msg,
61
const
QLocale::Language &locale, QList<
bool
> countRefNeeds);
62
63
private
:
64
Validator() =
default
;
65
QList<Error> validateTranslation(
const
QString &translation,
const
QLocale::Language &locale,
66
bool
needsRef);
67
std
::optional<
bool
> m_haveMnemonic;
68
std::optional<QString> m_leadingWhiteSpace;
69
std::optional<QString> m_trailingWhiteSpace;
70
std
::optional<
Ending
> m_ending;
71
std::optional<QHash<
int
,
int
>> m_placeMarkerCounts;
72
#
ifndef
LINGUIST_CONSOLE_APPLICATION
73
std::optional<QHash<QString, QStringList>> m_matchingPhraseTargets;
74
#
endif
75
};
76
77
QT_END_NAMESPACE
78
79
#
endif
// VALIDATOR_H
TranslatorMessage
Definition
translatormessage.h:17
Ui
Definition
deviceprofiledialog.h:24
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
Validator::Checks
Definition
validator.h:28
Validator::Checks::punctuation
bool punctuation
Definition
validator.h:30
Validator::Checks::accelerator
bool accelerator
Definition
validator.h:29
Validator::Checks::phraseMatch
bool phraseMatch
Definition
validator.h:34
Validator::Checks::surroundingWhiteSpace
bool surroundingWhiteSpace
Definition
validator.h:32
Validator::Checks::placeMarker
bool placeMarker
Definition
validator.h:31
Validator::Error
Definition
validator.h:51
Validator::Error::type
ErrorType type
Definition
validator.h:52
Validator::Error::message
QString message
Definition
validator.h:53
Validator
Definition
validator.h:21
Validator::fromSource
static Validator fromSource(const QString &source, const Checks &checks, const QLocale::Language &locale, const QHash< QString, QList< Phrase * > > &phrases)
Definition
validator.cpp:133
Validator::validate
QList< Error > validate(QStringList translations, const TranslatorMessage &msg, const QLocale::Language &locale, QList< bool > countRefNeeds)
Definition
validator.cpp:165
Validator::ErrorType
ErrorType
Definition
validator.h:38
Validator::PunctuationDiffers
@ PunctuationDiffers
Definition
validator.h:42
Validator::PlaceMarkersDiffer
@ PlaceMarkersDiffer
Definition
validator.h:44
Validator::NumerusMarkerMissing
@ NumerusMarkerMissing
Definition
validator.h:45
Validator::IgnoredPhrasebook
@ IgnoredPhrasebook
Definition
validator.h:43
Validator::SuperfluousAccelerator
@ SuperfluousAccelerator
Definition
validator.h:39
Validator::MissingAccelerator
@ MissingAccelerator
Definition
validator.h:40
Validator::SurroundingWhitespaceDiffers
@ SurroundingWhitespaceDiffers
Definition
validator.h:41
Validator::Ending
Ending
Definition
validator.h:48
Validator::End_Interrobang
@ End_Interrobang
Definition
validator.h:48
Validator::End_Ellipsis
@ End_Ellipsis
Definition
validator.h:48
Validator::End_FullStop
@ End_FullStop
Definition
validator.h:48
Validator::End_None
@ End_None
Definition
validator.h:48
Validator::End_Colon
@ End_Colon
Definition
validator.h:48
qttools
src
linguist
shared
validator.h
Generated on
for Qt by
1.18.0