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 I18N_NOOP2(context, text) text
55 #ifndef I18N_NOOP2_NOSTRIP
61 #define I18N_NOOP2_NOSTRIP(context, text) context, text
82 friend KLocalizedString KI18N_EXPORT
ki18ndcp (
const char *domain,
const char *context,
const char *singular,
const char *plural);
91 friend KLocalizedString KI18N_EXPORT
kxi18ndcp (
const char *domain,
const char *context,
const char *singular,
const char *plural);
135 QString toString ()
const;
147 QString toString (
const QStringList &languages)
const;
149 #if 0 // until locale system is ready
159 QString toString (
const KLocale *locale)
const;
170 QString toString (
const QString &domain)
const;
231 bool isEmpty ()
const;
246 const QChar &fillChar = QLatin1Char(
' '))
const;
261 const QChar &fillChar = QLatin1Char(
' '))
const;
276 const QChar &fillChar = QLatin1Char(
' '))
const;
291 const QChar &fillChar = QLatin1Char(
' '))
const;
306 const QChar &fillChar = QLatin1Char(
' '))
const;
321 const QChar &fillChar = QLatin1Char(
' '))
const;
336 char format =
'g',
int precision = -1,
337 const QChar &fillChar = QLatin1Char(
' '))
const;
350 const QChar &fillChar = QLatin1Char(
' '))
const;
363 const QChar &fillChar = QLatin1Char(
' '))
const;
376 const QChar &fillChar = QLatin1Char(
' '))
const;
407 const QString &text)
const;
423 static void setApplicationCatalog (
const QString &domain);
425 #if 0 // until locale system is ready
435 static void setLocale (
const KLocale &locale);
448 static void setLanguages (
const QStringList &languages);
458 static void clearLanguages ();
468 static bool isApplicationTranslatedInto (
const QString &language);
485 static QString localizedFilePath (
const QString &filePath);
501 static QString removeAcceleratorMarker (
const QString &label);
518 static QString translateQt (
const char* context,
const char *text,
520 #
if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
535 static void insertQtCatalog (
const QString &domain);
553 static void removeQtCatalog (
const QString &domain);
559 KLocalizedStringPrivate *
const d;
565 #ifdef DOXYGEN_PREPROC
575 QString
i18n (
const char *text,
const TYPE &arg...);
586 QString
i18nc (
const char *context,
const char *text,
const TYPE &arg...);
597 QString
i18np (
const char *singular,
const char *plural,
const TYPE &arg...);
609 QString
i18ncp (
const char *context,
const char *singular,
const char *plural,
621 QString
i18nd (
const char *domain,
const char *text,
const TYPE &arg...);
633 QString
i18ndc (
const char *domain,
const char *context,
const char *text,
646 QString
i18ndp (
const char *domain,
const char *singular,
const char *plural,
661 QString
i18ndcp (
const char *domain,
662 const char *context,
const char *singular,
const char *plural,
673 QString
xi18n (
const char *text,
const TYPE &arg...);
684 QString
xi18nc (
const char *context,
const char *text,
const TYPE &arg...);
695 QString
xi18np (
const char *singular,
const char *plural,
const TYPE &arg...);
708 QString
xi18ncp (
const char *context,
const char *singular,
const char *plural,
720 QString
xi18nd (
const char *domain,
const char *text,
const TYPE &arg...);
733 QString
xi18ndc (
const char *domain,
const char *context,
const char *text,
747 QString
xi18ndp (
const char *domain,
const char *singular,
const char *plural,
762 QString
xi18ndcp (
const char *domain,
763 const char *context,
const char *singular,
const char *plural,
766 #endif // DOXYGEN_PREPROC
842 extern KLocalizedString KI18N_EXPORT
ki18ndcp (
const char *domain,
const char *context,
const char *singular,
const char *plural);
920 extern KLocalizedString KI18N_EXPORT
kxi18ndcp (
const char *domain,
const char *context,
const char *singular,
const char *plural);
931 inline QString
tr2i18n (
const char *text,
const char *comment = 0)
933 if (comment && comment[0] && text && text[0]) {
936 else if (text && text[0]) {
944 #ifndef DOXYGEN_PREPROC
947 #define I18N_ERR_MSG String_literal_as_second_argument_to_i18n___Perhaps_you_need_i18nc_or_i18np
948 template <
typename T,
int s>
class I18nTypeCheck {
public:
static void I18N_ERR_MSG () {}};
949 template <
int s>
class I18nTypeCheck<char[s], s> {};
950 #define STATIC_ASSERT_NOT_LITERAL_STRING(T) I18nTypeCheck<T, sizeof(T)>::I18N_ERR_MSG ();
952 #define STATIC_ASSERT_NOT_LITERAL_STRING(T)
957 inline QString
i18n (
const char *text)
961 template <
typename A1>
962 inline QString
i18n (
const char *text,
const A1 &a1)
964 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
965 return
ki18n(text).subs(a1).toString();
967 template <typename A1, typename A2>
968 inline QString
i18n (const
char *text, const A1 &a1, const A2 &a2)
970 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
971 return
ki18n(text).subs(a1).subs(a2).toString();
973 template <typename A1, typename A2, typename A3>
974 inline QString
i18n (const
char *text, const A1 &a1, const A2 &a2, const A3 &a3)
976 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
977 return
ki18n(text).subs(a1).subs(a2).subs(a3).toString();
979 template <typename A1, typename A2, typename A3, typename A4>
980 inline QString
i18n (const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4)
982 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
983 return
ki18n(text).subs(a1).subs(a2).subs(a3).subs(a4).toString();
985 template <typename A1, typename A2, typename A3, typename A4, typename A5>
986 inline QString
i18n (const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5)
988 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
989 return
ki18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).toString();
991 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
992 inline QString
i18n (const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6)
994 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
995 return
ki18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).toString();
997 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
998 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)
1000 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1001 return
ki18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).toString();
1003 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
1004 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)
1006 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1007 return
ki18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).subs(a8).toString();
1009 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
1010 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)
1012 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1013 return
ki18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).subs(a8).subs(a9).toString();
1019 inline QString
i18nc (const
char *context, const
char *text)
1023 template <
typename A1>
1024 inline QString
i18nc (
const char *context,
const char *text,
const A1 &a1)
1028 template <
typename A1,
typename A2>
1029 inline QString
i18nc (
const char *context,
const char *text,
const A1 &a1,
const A2 &a2)
1033 template <
typename A1,
typename A2,
typename A3>
1034 inline QString
i18nc (
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1038 template <
typename A1,
typename A2,
typename A3,
typename A4>
1039 inline QString
i18nc (
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1043 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1044 inline QString
i18nc (
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5)
1048 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1049 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)
1053 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1054 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)
1058 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1059 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)
1063 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1064 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)
1072 template <
typename A1>
1073 inline QString
i18np (
const char *singular,
const char *plural,
const A1 &a1)
1077 template <
typename A1,
typename A2>
1078 inline QString
i18np (
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2)
1082 template <
typename A1,
typename A2,
typename A3>
1083 inline QString
i18np (
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1087 template <
typename A1,
typename A2,
typename A3,
typename A4>
1088 inline QString
i18np (
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1092 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1093 inline QString
i18np (
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5)
1097 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1098 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)
1102 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1103 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)
1107 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1108 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)
1112 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1113 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)
1121 template <
typename A1>
1122 inline QString
i18ncp (
const char *context,
const char *singular,
const char *plural,
const A1 &a1)
1126 template <
typename A1,
typename A2>
1127 inline QString
i18ncp (
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2)
1131 template <
typename A1,
typename A2,
typename A3>
1132 inline QString
i18ncp (
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1136 template <
typename A1,
typename A2,
typename A3,
typename A4>
1137 inline QString
i18ncp (
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1141 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1142 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)
1146 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1147 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)
1151 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1152 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)
1156 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1157 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)
1161 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1162 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)
1170 inline QString
i18nd (
const char *domain,
const char *text)
1174 template <
typename A1>
1175 inline QString
i18nd (
const char *domain,
const char *text,
const A1 &a1)
1177 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1178 return
ki18nd(domain, text).subs(a1).toString();
1180 template <typename A1, typename A2>
1181 inline QString
i18nd (const
char *domain, const
char *text, const A1 &a1, const A2 &a2)
1183 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1184 return
ki18nd(domain, text).subs(a1).subs(a2).toString();
1186 template <typename A1, typename A2, typename A3>
1187 inline QString
i18nd (const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3)
1189 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1190 return
ki18nd(domain, text).subs(a1).subs(a2).subs(a3).toString();
1192 template <typename A1, typename A2, typename A3, typename A4>
1193 inline QString
i18nd (const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4)
1195 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1196 return
ki18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).toString();
1198 template <typename A1, typename A2, typename A3, typename A4, typename A5>
1199 inline QString
i18nd (const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5)
1201 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1202 return
ki18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).toString();
1204 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
1205 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)
1207 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1208 return
ki18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).toString();
1210 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
1211 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)
1213 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1214 return
ki18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).toString();
1216 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
1217 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)
1219 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1220 return
ki18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).subs(a8).toString();
1222 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
1223 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)
1225 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1226 return
ki18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).subs(a8).subs(a9).toString();
1232 inline QString
i18ndc (const
char *domain, const
char *context, const
char *text)
1236 template <
typename A1>
1237 inline QString
i18ndc (
const char *domain,
const char *context,
const char *text,
const A1 &a1)
1241 template <
typename A1,
typename A2>
1242 inline QString
i18ndc (
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2)
1246 template <
typename A1,
typename A2,
typename A3>
1247 inline QString
i18ndc (
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1251 template <
typename A1,
typename A2,
typename A3,
typename A4>
1252 inline QString
i18ndc (
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1256 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1257 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)
1261 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1262 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)
1266 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1267 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)
1271 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1272 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)
1276 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1277 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)
1285 template <
typename A1>
1286 inline QString
i18ndp (
const char *domain,
const char *singular,
const char *plural,
const A1 &a1)
1290 template <
typename A1,
typename A2>
1291 inline QString
i18ndp (
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2)
1295 template <
typename A1,
typename A2,
typename A3>
1296 inline QString
i18ndp (
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1300 template <
typename A1,
typename A2,
typename A3,
typename A4>
1301 inline QString
i18ndp (
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1305 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1306 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)
1310 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1311 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)
1315 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1316 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)
1320 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1321 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)
1325 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1326 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)
1334 template <
typename A1>
1335 inline QString
i18ndcp (
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1)
1339 template <
typename A1,
typename A2>
1340 inline QString
i18ndcp (
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2)
1344 template <
typename A1,
typename A2,
typename A3>
1345 inline QString
i18ndcp (
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1349 template <
typename A1,
typename A2,
typename A3,
typename A4>
1350 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)
1354 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1355 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)
1359 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1360 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)
1364 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1365 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)
1369 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1370 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)
1374 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1375 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)
1383 inline QString
xi18n (
const char *text)
1387 template <
typename A1>
1388 inline QString
xi18n (
const char *text,
const A1 &a1)
1390 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1391 return
kxi18n(text).subs(a1).toString();
1393 template <typename A1, typename A2>
1394 inline QString
xi18n (const
char *text, const A1 &a1, const A2 &a2)
1396 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1397 return
kxi18n(text).subs(a1).subs(a2).toString();
1399 template <typename A1, typename A2, typename A3>
1400 inline QString
xi18n (const
char *text, const A1 &a1, const A2 &a2, const A3 &a3)
1402 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1403 return
kxi18n(text).subs(a1).subs(a2).subs(a3).toString();
1405 template <typename A1, typename A2, typename A3, typename A4>
1406 inline QString
xi18n (const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4)
1408 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1409 return
kxi18n(text).subs(a1).subs(a2).subs(a3).subs(a4).toString();
1411 template <typename A1, typename A2, typename A3, typename A4, typename A5>
1412 inline QString
xi18n (const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5)
1414 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1415 return
kxi18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).toString();
1417 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
1418 inline QString
xi18n (const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6)
1420 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1421 return
kxi18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).toString();
1423 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
1424 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)
1426 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1427 return
kxi18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).toString();
1429 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
1430 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)
1432 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1433 return
kxi18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).subs(a8).toString();
1435 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
1436 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)
1438 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1439 return
kxi18n(text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).subs(a8).subs(a9).toString();
1445 inline QString
xi18nc (const
char *context, const
char *text)
1449 template <
typename A1>
1450 inline QString
xi18nc (
const char *context,
const char *text,
const A1 &a1)
1454 template <
typename A1,
typename A2>
1455 inline QString
xi18nc (
const char *context,
const char *text,
const A1 &a1,
const A2 &a2)
1459 template <
typename A1,
typename A2,
typename A3>
1460 inline QString
xi18nc (
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1464 template <
typename A1,
typename A2,
typename A3,
typename A4>
1465 inline QString
xi18nc (
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1469 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1470 inline QString
xi18nc (
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5)
1474 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1475 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)
1479 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1480 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)
1484 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1485 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)
1489 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1490 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)
1498 template <
typename A1>
1499 inline QString
xi18np (
const char *singular,
const char *plural,
const A1 &a1)
1503 template <
typename A1,
typename A2>
1504 inline QString
xi18np (
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2)
1508 template <
typename A1,
typename A2,
typename A3>
1509 inline QString
xi18np (
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1513 template <
typename A1,
typename A2,
typename A3,
typename A4>
1514 inline QString
xi18np (
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1518 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1519 inline QString
xi18np (
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4,
const A5 &a5)
1523 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1524 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)
1528 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1529 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)
1533 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1534 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)
1538 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1539 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)
1547 template <
typename A1>
1548 inline QString
xi18ncp (
const char *context,
const char *singular,
const char *plural,
const A1 &a1)
1552 template <
typename A1,
typename A2>
1553 inline QString
xi18ncp (
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2)
1557 template <
typename A1,
typename A2,
typename A3>
1558 inline QString
xi18ncp (
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1562 template <
typename A1,
typename A2,
typename A3,
typename A4>
1563 inline QString
xi18ncp (
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1567 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1568 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)
1572 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1573 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)
1577 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1578 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)
1582 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1583 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)
1587 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1588 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)
1596 inline QString
xi18nd (
const char *domain,
const char *text)
1600 template <
typename A1>
1601 inline QString
xi18nd (
const char *domain,
const char *text,
const A1 &a1)
1603 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1604 return
kxi18nd(domain, text).subs(a1).toString();
1606 template <typename A1, typename A2>
1607 inline QString
xi18nd (const
char *domain, const
char *text, const A1 &a1, const A2 &a2)
1609 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1610 return
kxi18nd(domain, text).subs(a1).subs(a2).toString();
1612 template <typename A1, typename A2, typename A3>
1613 inline QString
xi18nd (const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3)
1615 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1616 return
kxi18nd(domain, text).subs(a1).subs(a2).subs(a3).toString();
1618 template <typename A1, typename A2, typename A3, typename A4>
1619 inline QString
xi18nd (const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4)
1621 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1622 return
kxi18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).toString();
1624 template <typename A1, typename A2, typename A3, typename A4, typename A5>
1625 inline QString
xi18nd (const
char *domain, const
char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5)
1627 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1628 return
kxi18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).toString();
1630 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
1631 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)
1633 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1634 return
kxi18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).toString();
1636 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
1637 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)
1639 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1640 return
kxi18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).toString();
1642 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
1643 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)
1645 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1646 return
kxi18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).subs(a8).toString();
1648 template <typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
1649 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)
1651 STATIC_ASSERT_NOT_LITERAL_STRING(A1)
1652 return
kxi18nd(domain, text).subs(a1).subs(a2).subs(a3).subs(a4).subs(a5).subs(a6).subs(a7).subs(a8).subs(a9).toString();
1658 inline QString
xi18ndc (const
char *domain, const
char *context, const
char *text)
1662 template <
typename A1>
1663 inline QString
xi18ndc (
const char *domain,
const char *context,
const char *text,
const A1 &a1)
1667 template <
typename A1,
typename A2>
1668 inline QString
xi18ndc (
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2)
1672 template <
typename A1,
typename A2,
typename A3>
1673 inline QString
xi18ndc (
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1677 template <
typename A1,
typename A2,
typename A3,
typename A4>
1678 inline QString
xi18ndc (
const char *domain,
const char *context,
const char *text,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1682 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1683 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)
1687 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1688 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)
1692 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1693 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)
1697 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1698 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)
1702 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1703 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)
1711 template <
typename A1>
1712 inline QString
xi18ndp (
const char *domain,
const char *singular,
const char *plural,
const A1 &a1)
1716 template <
typename A1,
typename A2>
1717 inline QString
xi18ndp (
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2)
1721 template <
typename A1,
typename A2,
typename A3>
1722 inline QString
xi18ndp (
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1726 template <
typename A1,
typename A2,
typename A3,
typename A4>
1727 inline QString
xi18ndp (
const char *domain,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3,
const A4 &a4)
1731 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1732 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)
1736 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1737 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)
1741 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1742 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)
1746 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1747 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)
1751 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1752 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)
1760 template <
typename A1>
1761 inline QString
xi18ndcp (
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1)
1765 template <
typename A1,
typename A2>
1766 inline QString
xi18ndcp (
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2)
1770 template <
typename A1,
typename A2,
typename A3>
1771 inline QString
xi18ndcp (
const char *domain,
const char *context,
const char *singular,
const char *plural,
const A1 &a1,
const A2 &a2,
const A3 &a3)
1775 template <
typename A1,
typename A2,
typename A3,
typename A4>
1776 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)
1780 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5>
1781 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)
1785 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6>
1786 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)
1790 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7>
1791 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)
1795 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8>
1796 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)
1800 template <
typename A1,
typename A2,
typename A3,
typename A4,
typename A5,
typename A6,
typename A7,
typename A8,
typename A9>
1801 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)
1807 #endif // DOXYGEN_PREPROC
1809 #endif // KLOCALIZEDSTRING_H
1811 #ifndef DOXYGEN_PREPROC
1816 #ifdef TRANSLATION_CATALOG
1817 #define i18n(...) i18nd(TRANSLATION_CATALOG, __VA_ARGS__)
1818 #define i18nc(...) i18ndc(TRANSLATION_CATALOG, __VA_ARGS__)
1819 #define i18np(...) i18ndp(TRANSLATION_CATALOG, __VA_ARGS__)
1820 #define i18ncp(...) i18ndcp(TRANSLATION_CATALOG, __VA_ARGS__)
1828 #endif // DOXYGEN_PREPROC