19 #ifndef KLOCALIZEDSTRING_H
20 #define KLOCALIZEDSTRING_H
22 #include <ki18n_export.h>
24 #include <QtCore/QChar>
25 #include <QtCore/QLatin1Char>
26 #include <QtCore/QString>
27 #include <QtCore/QStringList>
29 #include <kuitmarkup.h>
31 class KLocalizedStringPrivate;
43 #define I18N_NOOP(text) text
52 #define I18NC_NOOP(context, text) context, text
61 #define I18N_NOOP2(context, text) text
64 #ifndef I18N_NOOP2_NOSTRIP
70 #define I18N_NOOP2_NOSTRIP(context, text) context, text
91 friend KLocalizedString KI18N_EXPORT
ki18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural);
100 friend KLocalizedString KI18N_EXPORT
kxi18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural);
144 QString toString()
const;
156 QString toString(
const QStringList &languages)
const;
158 #if 0 // until locale system is ready
168 QString toString(
const KLocale *locale)
const;
179 QString toString(
const QString &domain)
const;
240 bool isEmpty()
const;
255 QChar fillChar = QLatin1Char(
' '))
const;
270 QChar fillChar = QLatin1Char(
' '))
const;
285 QChar fillChar = QLatin1Char(
' '))
const;
300 QChar fillChar = QLatin1Char(
' '))
const;
315 QChar fillChar = QLatin1Char(
' '))
const;
330 QChar fillChar = QLatin1Char(
' '))
const;
345 char format =
'g',
int precision = -1,
346 QChar fillChar = QLatin1Char(
' '))
const;
359 QChar fillChar = QLatin1Char(
' '))
const;
372 QChar fillChar = QLatin1Char(
' '))
const;
385 QChar fillChar = QLatin1Char(
' '))
const;
416 const QString &text)
const;
431 static void setApplicationDomain(
const QString &domain);
433 #if 0 // until locale system is ready
443 static void setLocale(
const KLocale &locale);
456 static void setLanguages(
const QStringList &languages);
466 static void clearLanguages();
477 static bool isApplicationTranslatedInto(
const QString &language);
494 static QString localizedFilePath(
const QString &filePath);
510 static QString removeAcceleratorMarker(
const QString &label);
527 static QString translateQt(
const char* context,
const char *text,
529 #
if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
544 static void insertQtDomain(
const QString &domain);
562 static void removeQtDomain(
const QString &domain);
568 KLocalizedStringPrivate *
const d;
574 #ifdef DOXYGEN_PREPROC
584 QString
i18n(
const char *text,
const TYPE &arg...);
595 QString
i18nc(
const char *context,
const char *text,
const TYPE &arg...);
606 QString
i18np(
const char *singular,
const char *plural,
const TYPE &arg...);
618 QString
i18ncp(
const char *context,
const char *singular,
const char *plural,
630 QString
i18nd(
const char *domain,
const char *text,
const TYPE &arg...);
642 QString
i18ndc(
const char *domain,
const char *context,
const char *text,
655 QString
i18ndp(
const char *domain,
const char *singular,
const char *plural,
670 QString
i18ndcp(
const char *domain,
671 const char *context,
const char *singular,
const char *plural,
682 QString
xi18n(
const char *text,
const TYPE &arg...);
693 QString
xi18nc(
const char *context,
const char *text,
const TYPE &arg...);
704 QString
xi18np(
const char *singular,
const char *plural,
const TYPE &arg...);
717 QString
xi18ncp(
const char *context,
const char *singular,
const char *plural,
729 QString
xi18nd(
const char *domain,
const char *text,
const TYPE &arg...);
742 QString
xi18ndc(
const char *domain,
const char *context,
const char *text,
756 QString
xi18ndp(
const char *domain,
const char *singular,
const char *plural,
771 QString
xi18ndcp(
const char *domain,
772 const char *context,
const char *singular,
const char *plural,
775 #endif // DOXYGEN_PREPROC
851 KLocalizedString KI18N_EXPORT
ki18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural);
929 KLocalizedString KI18N_EXPORT
kxi18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural);
940 inline QString
tr2i18n(
const char *text,
const char *comment = 0)
942 if(comment && comment[0] && text && text[0]) {
944 }
else if (text && text[0]) {
962 const char *text,
const char *comment = 0)
964 if(comment && comment[0] && text && text[0]) {
966 }
else if(text && text[0]) {
982 inline QString
tr2xi18n(
const char *text,
const char *comment = 0)
984 if(comment && comment[0] && text && text[0]) {
986 }
else if(text && text[0]) {
1004 const char *text,
const char *comment = 0)
1006 if(comment && comment[0] && text && text[0]) {
1008 }
else if(text && text[0]) {
1015 #ifndef DOXYGEN_PREPROC
1018 #define I18N_ERR_MSG String_literal_as_second_argument_to_i18n___Perhaps_you_need_i18nc_or_i18np
1019 template <
typename T,
int s>
class I18nTypeCheck {
public:
static void I18N_ERR_MSG() {}};
1020 template <
int s>
class I18nTypeCheck<char[s], s> {};
1021 #define STATIC_ASSERT_NOT_LITERAL_STRING(T) I18nTypeCheck<T, sizeof(T)>::I18N_ERR_MSG();
1023 #define STATIC_ASSERT_NOT_LITERAL_STRING(T)
1028 inline QString
i18n(
const char *text)
1032 template <
typename A1>
1033 inline QString
i18n(
const char *text,
const A1 &a1)
1035 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1036 return
ki18n(text).subs(a1).toString();
1038 template <typename A1, typename A2>
1039 inline QString
i18n(const
char *text, const A1 &a1, const A2 &a2)
1041 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1042 return
ki18n(text).subs(a1).subs(a2).toString();
1044 template <typename A1, typename A2, typename A3>
1045 inline QString
i18n(const
char *text, const A1 &a1, const A2 &a2, const A3 &a3)
1047 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1048 return
ki18n(text).subs(a1).subs(a2).subs(a3).toString();
1050 template <typename A1, typename A2, typename A3, typename A4>
1051 inline QString
i18n(const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4)
1053 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1054 return
ki18n(text).subs(a1).subs(a2).subs(a3).subs(a4).toString();
1056 template <typename A1, typename A2, typename A3, typename A4, typename A5>
1057 inline QString
i18n(const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5)
1059 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1060 return
ki18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).toString();
1062 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
1063 inline QString
i18n(const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6)
1065 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1066 return
ki18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).toString();
1068 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
1069 inline QString
i18n(const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6, const A7 &a7)
1071 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1072 return
ki18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).toString();
1074 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
1075 inline QString
i18n(const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6, const A7 &a7, const A8 &a8)
1077 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1078 return
ki18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).subs(a8).toString();
1080 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
1081 inline QString
i18n(const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6, const A7 &a7, const A8 &a8, const A9 &a9)
1083 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1084 return
ki18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).subs(a8).subs(a9).toString();
1090 inline QString
i18nc(const
char *context, const
char *text)
1094 template <
typename A1>
1095 inline QString
i18nc(
const char *context,
const char *text,
const A1 &a1)
1099 template <
typename A1,
typename A2>
1100 inline QString
i18nc(
const char *context,
const char *text,
const A1 &a1,
const A2 &a2)
1104 template <
typename A1,
typename A2,
typename A3>
1105 inline QString
i18nc(
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1109 template <
typename A1,
typename A2,
typename A3,
typename A4>
1110 inline QString
i18nc(
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1114 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1115 inline QString
i18nc(
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5)
1119 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1120 inline QString
i18nc(
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6)
1124 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1125 inline QString
i18nc(
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7)
1129 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1130 inline QString
i18nc(
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8)
1134 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1135 inline QString
i18nc(
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8,
const A9 &a9)
1143 template <
typename A1>
1144 inline QString
i18np(
const char *singular,
const char *plural,
const A1 &a1)
1148 template <
typename A1,
typename A2>
1149 inline QString
i18np(
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2)
1153 template <
typename A1,
typename A2,
typename A3>
1154 inline QString
i18np(
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1158 template <
typename A1,
typename A2,
typename A3,
typename A4>
1159 inline QString
i18np(
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1163 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1164 inline QString
i18np(
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5)
1168 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1169 inline QString
i18np(
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6)
1173 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1174 inline QString
i18np(
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7)
1178 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1179 inline QString
i18np(
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8)
1183 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1184 inline QString
i18np(
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8,
const A9 &a9)
1192 template <
typename A1>
1193 inline QString
i18ncp(
const char *context,
const char *singular,
const char *plural,
const A1 &a1)
1197 template <
typename A1,
typename A2>
1198 inline QString
i18ncp(
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2)
1202 template <
typename A1,
typename A2,
typename A3>
1203 inline QString
i18ncp(
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1207 template <
typename A1,
typename A2,
typename A3,
typename A4>
1208 inline QString
i18ncp(
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1212 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1213 inline QString
i18ncp(
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5)
1217 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1218 inline QString
i18ncp(
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6)
1222 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1223 inline QString
i18ncp(
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7)
1227 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1228 inline QString
i18ncp(
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8)
1232 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1233 inline QString
i18ncp(
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8,
const A9 &a9)
1241 inline QString
i18nd(
const char *domain,
const char *text)
1245 template <
typename A1>
1246 inline QString
i18nd(
const char *domain,
const char *text,
const A1 &a1)
1248 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1249 return
ki18nd(domain, text).subs(a1).toString();
1251 template <typename A1, typename A2>
1252 inline QString
i18nd(const
char *domain, const
char *text, const A1 &a1, const A2 &a2)
1254 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1255 return
ki18nd(domain, text).subs(a1).subs(a2).toString();
1257 template <typename A1, typename A2, typename A3>
1258 inline QString
i18nd(const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3)
1260 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1261 return
ki18nd(domain, text).subs(a1).subs(a2).subs(a3).toString();
1263 template <typename A1, typename A2, typename A3, typename A4>
1264 inline QString
i18nd(const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4)
1266 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1267 return
ki18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).toString();
1269 template <typename A1, typename A2, typename A3, typename A4, typename A5>
1270 inline QString
i18nd(const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5)
1272 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1273 return
ki18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).toString();
1275 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
1276 inline QString
i18nd(const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6)
1278 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1279 return
ki18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).toString();
1281 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
1282 inline QString
i18nd(const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6, const A7 &a7)
1284 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1285 return
ki18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).toString();
1287 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
1288 inline QString
i18nd(const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6, const A7 &a7, const A8 &a8)
1290 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1291 return
ki18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).subs(a8).toString();
1293 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
1294 inline QString
i18nd(const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6, const A7 &a7, const A8 &a8, const A9 &a9)
1296 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1297 return
ki18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).subs(a8).subs(a9).toString();
1303 inline QString
i18ndc(const
char *domain, const
char *context, const
char *text)
1307 template <
typename A1>
1308 inline QString
i18ndc(
const char *domain,
const char *context,
const char *text,
const A1 &a1)
1312 template <
typename A1,
typename A2>
1313 inline QString
i18ndc(
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2)
1317 template <
typename A1,
typename A2,
typename A3>
1318 inline QString
i18ndc(
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1322 template <
typename A1,
typename A2,
typename A3,
typename A4>
1323 inline QString
i18ndc(
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1327 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1328 inline QString
i18ndc(
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5)
1332 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1333 inline QString
i18ndc(
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6)
1337 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1338 inline QString
i18ndc(
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7)
1342 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1343 inline QString
i18ndc(
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8)
1347 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1348 inline QString
i18ndc(
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8,
const A9 &a9)
1356 template <
typename A1>
1357 inline QString
i18ndp(
const char *domain,
const char *singular,
const char *plural,
const A1 &a1)
1361 template <
typename A1,
typename A2>
1362 inline QString
i18ndp(
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2)
1366 template <
typename A1,
typename A2,
typename A3>
1367 inline QString
i18ndp(
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1371 template <
typename A1,
typename A2,
typename A3,
typename A4>
1372 inline QString
i18ndp(
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1376 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1377 inline QString
i18ndp(
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5)
1381 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1382 inline QString
i18ndp(
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6)
1386 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1387 inline QString
i18ndp(
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7)
1391 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1392 inline QString
i18ndp(
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8)
1396 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1397 inline QString
i18ndp(
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8,
const A9 &a9)
1405 template <
typename A1>
1406 inline QString
i18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1)
1410 template <
typename A1,
typename A2>
1411 inline QString
i18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2)
1415 template <
typename A1,
typename A2,
typename A3>
1416 inline QString
i18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1420 template <
typename A1,
typename A2,
typename A3,
typename A4>
1421 inline QString
i18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1425 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1426 inline QString
i18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5)
1430 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1431 inline QString
i18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6)
1435 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1436 inline QString
i18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7)
1440 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1441 inline QString
i18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8)
1445 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1446 inline QString
i18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8,
const A9 &a9)
1454 inline QString
xi18n(
const char *text)
1458 template <
typename A1>
1459 inline QString
xi18n(
const char *text,
const A1 &a1)
1461 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1462 return
kxi18n(text).subs(a1).toString();
1464 template <typename A1, typename A2>
1465 inline QString
xi18n(const
char *text, const A1 &a1, const A2 &a2)
1467 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1468 return
kxi18n(text).subs(a1).subs(a2).toString();
1470 template <typename A1, typename A2, typename A3>
1471 inline QString
xi18n(const
char *text, const A1 &a1, const A2 &a2, const A3 &a3)
1473 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1474 return
kxi18n(text).subs(a1).subs(a2).subs(a3).toString();
1476 template <typename A1, typename A2, typename A3, typename A4>
1477 inline QString
xi18n(const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4)
1479 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1480 return
kxi18n(text).subs(a1).subs(a2).subs(a3).subs(a4).toString();
1482 template <typename A1, typename A2, typename A3, typename A4, typename A5>
1483 inline QString
xi18n(const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5)
1485 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1486 return
kxi18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).toString();
1488 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
1489 inline QString
xi18n(const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6)
1491 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1492 return
kxi18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).toString();
1494 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
1495 inline QString
xi18n(const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6, const A7 &a7)
1497 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1498 return
kxi18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).toString();
1500 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
1501 inline QString
xi18n(const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6, const A7 &a7, const A8 &a8)
1503 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1504 return
kxi18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).subs(a8).toString();
1506 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
1507 inline QString
xi18n(const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6, const A7 &a7, const A8 &a8, const A9 &a9)
1509 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1510 return
kxi18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).subs(a8).subs(a9).toString();
1516 inline QString
xi18nc(const
char *context, const
char *text)
1520 template <
typename A1>
1521 inline QString
xi18nc(
const char *context,
const char *text,
const A1 &a1)
1525 template <
typename A1,
typename A2>
1526 inline QString
xi18nc(
const char *context,
const char *text,
const A1 &a1,
const A2 &a2)
1530 template <
typename A1,
typename A2,
typename A3>
1531 inline QString
xi18nc(
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1535 template <
typename A1,
typename A2,
typename A3,
typename A4>
1536 inline QString
xi18nc(
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1540 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1541 inline QString
xi18nc(
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5)
1545 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1546 inline QString
xi18nc(
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6)
1550 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1551 inline QString
xi18nc(
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7)
1555 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1556 inline QString
xi18nc(
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8)
1560 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1561 inline QString
xi18nc(
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8,
const A9 &a9)
1569 template <
typename A1>
1570 inline QString
xi18np(
const char *singular,
const char *plural,
const A1 &a1)
1574 template <
typename A1,
typename A2>
1575 inline QString
xi18np(
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2)
1579 template <
typename A1,
typename A2,
typename A3>
1580 inline QString
xi18np(
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1584 template <
typename A1,
typename A2,
typename A3,
typename A4>
1585 inline QString
xi18np(
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1589 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1590 inline QString
xi18np(
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5)
1594 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1595 inline QString
xi18np(
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6)
1599 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1600 inline QString
xi18np(
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7)
1604 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1605 inline QString
xi18np(
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8)
1609 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1610 inline QString
xi18np(
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8,
const A9 &a9)
1618 template <
typename A1>
1619 inline QString
xi18ncp(
const char *context,
const char *singular,
const char *plural,
const A1 &a1)
1623 template <
typename A1,
typename A2>
1624 inline QString
xi18ncp(
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2)
1628 template <
typename A1,
typename A2,
typename A3>
1629 inline QString
xi18ncp(
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1633 template <
typename A1,
typename A2,
typename A3,
typename A4>
1634 inline QString
xi18ncp(
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1638 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1639 inline QString
xi18ncp(
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5)
1643 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1644 inline QString
xi18ncp(
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6)
1648 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1649 inline QString
xi18ncp(
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7)
1653 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1654 inline QString
xi18ncp(
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8)
1658 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1659 inline QString
xi18ncp(
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8,
const A9 &a9)
1667 inline QString
xi18nd(
const char *domain,
const char *text)
1671 template <
typename A1>
1672 inline QString
xi18nd(
const char *domain,
const char *text,
const A1 &a1)
1674 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1675 return
kxi18nd(domain, text).subs(a1).toString();
1677 template <typename A1, typename A2>
1678 inline QString
xi18nd(const
char *domain, const
char *text, const A1 &a1, const A2 &a2)
1680 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1681 return
kxi18nd(domain, text).subs(a1).subs(a2).toString();
1683 template <typename A1, typename A2, typename A3>
1684 inline QString
xi18nd(const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3)
1686 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1687 return
kxi18nd(domain, text).subs(a1).subs(a2).subs(a3).toString();
1689 template <typename A1, typename A2, typename A3, typename A4>
1690 inline QString
xi18nd(const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4)
1692 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1693 return
kxi18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).toString();
1695 template <typename A1, typename A2, typename A3, typename A4, typename A5>
1696 inline QString
xi18nd(const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5)
1698 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1699 return
kxi18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).toString();
1701 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
1702 inline QString
xi18nd(const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6)
1704 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1705 return
kxi18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).toString();
1707 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
1708 inline QString
xi18nd(const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6, const A7 &a7)
1710 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1711 return
kxi18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).toString();
1713 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
1714 inline QString
xi18nd(const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6, const A7 &a7, const A8 &a8)
1716 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1717 return
kxi18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).subs(a8).toString();
1719 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
1720 inline QString
xi18nd(const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6, const A7 &a7, const A8 &a8, const A9 &a9)
1722 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1723 return
kxi18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).subs(a8).subs(a9).toString();
1729 inline QString
xi18ndc(const
char *domain, const
char *context, const
char *text)
1733 template <
typename A1>
1734 inline QString
xi18ndc(
const char *domain,
const char *context,
const char *text,
const A1 &a1)
1738 template <
typename A1,
typename A2>
1739 inline QString
xi18ndc(
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2)
1743 template <
typename A1,
typename A2,
typename A3>
1744 inline QString
xi18ndc(
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1748 template <
typename A1,
typename A2,
typename A3,
typename A4>
1749 inline QString
xi18ndc(
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1753 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1754 inline QString
xi18ndc(
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5)
1758 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1759 inline QString
xi18ndc(
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6)
1763 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1764 inline QString
xi18ndc(
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7)
1768 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1769 inline QString
xi18ndc(
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8)
1773 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1774 inline QString
xi18ndc(
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8,
const A9 &a9)
1782 template <
typename A1>
1783 inline QString
xi18ndp(
const char *domain,
const char *singular,
const char *plural,
const A1 &a1)
1787 template <
typename A1,
typename A2>
1788 inline QString
xi18ndp(
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2)
1792 template <
typename A1,
typename A2,
typename A3>
1793 inline QString
xi18ndp(
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1797 template <
typename A1,
typename A2,
typename A3,
typename A4>
1798 inline QString
xi18ndp(
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1802 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1803 inline QString
xi18ndp(
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5)
1807 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1808 inline QString
xi18ndp(
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6)
1812 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1813 inline QString
xi18ndp(
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7)
1817 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1818 inline QString
xi18ndp(
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8)
1822 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1823 inline QString
xi18ndp(
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8,
const A9 &a9)
1831 template <
typename A1>
1832 inline QString
xi18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1)
1836 template <
typename A1,
typename A2>
1837 inline QString
xi18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2)
1841 template <
typename A1,
typename A2,
typename A3>
1842 inline QString
xi18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1846 template <
typename A1,
typename A2,
typename A3,
typename A4>
1847 inline QString
xi18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1851 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1852 inline QString
xi18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5)
1856 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1857 inline QString
xi18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6)
1861 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1862 inline QString
xi18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7)
1866 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1867 inline QString
xi18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8)
1871 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1872 inline QString
xi18ndcp(
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5,
const A6 &a6,
const A7 &a7,
const A8 &a8,
const A9 &a9)
1878 #endif // DOXYGEN_PREPROC
1880 #endif // KLOCALIZEDSTRING_H
1882 #ifndef DOXYGEN_PREPROC
1887 #ifdef TRANSLATION_DOMAIN
1888 #define i18n(...) i18nd(TRANSLATION_DOMAIN, __VA_ARGS__)
1889 #define i18nc(...) i18ndc(TRANSLATION_DOMAIN, __VA_ARGS__)
1890 #define i18np(...) i18ndp(TRANSLATION_DOMAIN, __VA_ARGS__)
1891 #define i18ncp(...) i18ndcp(TRANSLATION_DOMAIN, __VA_ARGS__)
1892 #define ki18n(...) ki18nd(TRANSLATION_DOMAIN, __VA_ARGS__)
1893 #define ki18nc(...) ki18ndc(TRANSLATION_DOMAIN, __VA_ARGS__)
1894 #define ki18np(...) ki18ndp(TRANSLATION_DOMAIN, __VA_ARGS__)
1895 #define ki18ncp(...) ki18ndcp(TRANSLATION_DOMAIN, __VA_ARGS__)
1896 #define tr2i18n(...) tr2i18nd(TRANSLATION_DOMAIN, __VA_ARGS__)
1897 #define xi18n(...) xi18nd(TRANSLATION_DOMAIN, __VA_ARGS__)
1898 #define xi18nc(...) xi18ndc(TRANSLATION_DOMAIN, __VA_ARGS__)
1899 #define xi18np(...) xi18ndp(TRANSLATION_DOMAIN, __VA_ARGS__)
1900 #define xi18ncp(...) xi18ndcp(TRANSLATION_DOMAIN, __VA_ARGS__)
1901 #define kxi18n(...) kxi18nd(TRANSLATION_DOMAIN, __VA_ARGS__)
1902 #define kxi18nc(...) kxi18ndc(TRANSLATION_DOMAIN, __VA_ARGS__)
1903 #define kxi18np(...) kxi18ndp(TRANSLATION_DOMAIN, __VA_ARGS__)
1904 #define kxi18ncp(...) kxi18ndcp(TRANSLATION_DOMAIN, __VA_ARGS__)
1905 #define tr2xi18n(...) tr2i18nd(TRANSLATION_DOMAIN, __VA_ARGS__)
1927 #endif // DOXYGEN_PREPROC