File indexing completed on 2024-06-23 03:53:42

0001 /*
0002     SPDX-FileCopyrightText: 2014 Kevin Ottens <ervin@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-or-later
0005 */
0006 
0007 #ifndef TRANSLATIONCONTEXT_H
0008 #define TRANSLATIONCONTEXT_H
0009 
0010 #include <QObject>
0011 
0012 class TranslationContext : public QObject
0013 {
0014     Q_OBJECT
0015     Q_PROPERTY(QString domain READ domain WRITE setDomain NOTIFY domainChanged)
0016 
0017 public:
0018     explicit TranslationContext(QObject *parent = nullptr);
0019     ~TranslationContext() override;
0020 
0021     QString domain() const;
0022 
0023 public Q_SLOTS:
0024     void setDomain(const QString &domain);
0025 
0026 Q_SIGNALS:
0027     void domainChanged(const QString &domain);
0028 
0029 public:
0030     Q_INVOKABLE QString i18n(const QString &message,
0031                              const QString &param1 = QString(),
0032                              const QString &param2 = QString(),
0033                              const QString &param3 = QString(),
0034                              const QString &param4 = QString(),
0035                              const QString &param5 = QString(),
0036                              const QString &param6 = QString(),
0037                              const QString &param7 = QString(),
0038                              const QString &param8 = QString(),
0039                              const QString &param9 = QString(),
0040                              const QString &param10 = QString()) const;
0041 
0042     Q_INVOKABLE QString i18nc(const QString &context,
0043                               const QString &message,
0044                               const QString &param1 = QString(),
0045                               const QString &param2 = QString(),
0046                               const QString &param3 = QString(),
0047                               const QString &param4 = QString(),
0048                               const QString &param5 = QString(),
0049                               const QString &param6 = QString(),
0050                               const QString &param7 = QString(),
0051                               const QString &param8 = QString(),
0052                               const QString &param9 = QString(),
0053                               const QString &param10 = QString()) const;
0054 
0055     Q_INVOKABLE QString i18np(const QString &singular,
0056                               const QString &plural,
0057                               const QString &param1 = QString(),
0058                               const QString &param2 = QString(),
0059                               const QString &param3 = QString(),
0060                               const QString &param4 = QString(),
0061                               const QString &param5 = QString(),
0062                               const QString &param6 = QString(),
0063                               const QString &param7 = QString(),
0064                               const QString &param8 = QString(),
0065                               const QString &param9 = QString(),
0066                               const QString &param10 = QString()) const;
0067 
0068     Q_INVOKABLE QString i18ncp(const QString &context,
0069                                const QString &singular,
0070                                const QString &plural,
0071                                const QString &param1 = QString(),
0072                                const QString &param2 = QString(),
0073                                const QString &param3 = QString(),
0074                                const QString &param4 = QString(),
0075                                const QString &param5 = QString(),
0076                                const QString &param6 = QString(),
0077                                const QString &param7 = QString(),
0078                                const QString &param8 = QString(),
0079                                const QString &param9 = QString(),
0080                                const QString &param10 = QString()) const;
0081 
0082 private:
0083     Q_DISABLE_COPY(TranslationContext)
0084 
0085     QString m_domain;
0086 };
0087 
0088 #endif // TRANSLATIONCONTEXT_H