mirror of
https://bitbucket.org/smil3y/kde-playground.git
synced 2025-02-24 10:52:52 +00:00
166 lines
6.1 KiB
Text
166 lines
6.1 KiB
Text
//
|
|
// Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
|
|
// Earlier copyrights 1998 - 2007 Jim Bublitz also apply
|
|
|
|
// Generated by twine
|
|
|
|
// This file is part of PyKDE4.
|
|
|
|
// PyKDE4 is free software; you can redistribute it and/or modify
|
|
// it under the terms of the GNU Lesser General Public License as
|
|
// published by the Free Software Foundation; either version 2.1 of
|
|
// the License, or (at your option) any later version.
|
|
|
|
// PyKDE4 is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
class KLocalizedString
|
|
{
|
|
%TypeHeaderCode
|
|
#include <klocalizedstring.h>
|
|
%End
|
|
|
|
|
|
public:
|
|
explicit KLocalizedString ();
|
|
KLocalizedString (const KLocalizedString& rhs);
|
|
QString toString () const;
|
|
QString toString (const KLocale* locale) const;
|
|
bool isEmpty () const;
|
|
//ig KLocalizedString subs (int a, int fieldWidth = 0, int base = 10, const QChar& fillChar = QLatin1Char(' ')) const;
|
|
//ig KLocalizedString subs (uint a, int fieldWidth = 0, int base = 10, const QChar& fillChar = QLatin1Char(' ')) const;
|
|
//ig KLocalizedString subs (long a, int fieldWidth = 0, int base = 10, const QChar& fillChar = QLatin1Char(' ')) const;
|
|
//ig KLocalizedString subs (ulong a, int fieldWidth = 0, int base = 10, const QChar& fillChar = QLatin1Char(' ')) const;
|
|
KLocalizedString subs (qlonglong a, int fieldWidth = 0, int base = 10, const QChar& fillChar = QLatin1Char(' ')) const;
|
|
//ig KLocalizedString subs (qulonglong a, int fieldWidth = 0, int base = 10, const QChar& fillChar = QLatin1Char(' ')) const;
|
|
//ig KLocalizedString subs (double a, int fieldWidth = 0, char format = 'g', int precision = -1, const QChar& fillChar = QLatin1Char(' ')) const;
|
|
KLocalizedString subs (QChar a, int fieldWidth = 0, const QChar& fillChar = QLatin1Char(' ')) const;
|
|
KLocalizedString subs (const QString& a, int fieldWidth = 0, const QChar& fillChar = QLatin1Char(' ')) const;
|
|
KLocalizedString inContext (const QString& key, const QString& text) const;
|
|
//ig static void notifyCatalogsUpdated (const QStringList& languages, const QList<KCatalogName>& catalogs);
|
|
|
|
private:
|
|
KLocalizedString (const char* ctxt, const char* msg, const char* plural);
|
|
public:
|
|
~KLocalizedString ();
|
|
QString toString (const QString& catalogName) const;
|
|
QString toString (const KLocale* locale, const QString& catalogName) const;
|
|
};
|
|
// KLocalizedString
|
|
|
|
KLocalizedString ki18n (const char* msg);
|
|
KLocalizedString ki18nc (const char* ctxt, const char* msg);
|
|
KLocalizedString ki18np (const char* singular, const char* plural);
|
|
KLocalizedString ki18ncp (const char* ctxt, const char* singular, const char* plural);
|
|
QString tr2i18n (const char* message, const char* comment = 0);
|
|
|
|
//ig class I18nTypeCheck;
|
|
|
|
%ModuleCode
|
|
QString klocalizedstring_i18n_template(KLocalizedString base, PyObject *list,int *sipIsErr) {
|
|
KLocalizedString result = base;
|
|
QString *arg;
|
|
long long_arg;
|
|
double double_arg;
|
|
int iserr = 0;
|
|
|
|
for (int i=0; i < PyTuple_Size(list); i++) {
|
|
PyObject *pyarg = PyTuple_GET_ITEM (list, i);
|
|
#if PY_MAJOR_VERSION >= 3
|
|
if (PyLong_Check(pyarg)) {
|
|
long_arg = PyLong_AsLong(pyarg);
|
|
#else
|
|
if (PyInt_Check(pyarg)) {
|
|
long_arg = PyInt_AsLong(pyarg);
|
|
#endif
|
|
if (long_arg==-1 && PyErr_Occurred()) {
|
|
*sipIsErr = 1;
|
|
return QString();
|
|
}
|
|
result = result.subs(long_arg);
|
|
|
|
#if PY_MAJOR_VERSION >= 3
|
|
} else if (PyNumber_Check(pyarg)) {
|
|
PyObject *long_py = PyNumber_Long(pyarg);
|
|
long_arg = PyLong_AsLong(long_py);
|
|
Py_DECREF(long_py);
|
|
#else
|
|
} else if (PyLong_Check(pyarg)) {
|
|
long_arg = PyLong_AsLong(pyarg);
|
|
#endif
|
|
if (long_arg==-1 && PyErr_Occurred()) {
|
|
*sipIsErr = 1;
|
|
return QString();
|
|
}
|
|
result = result.subs(long_arg);
|
|
|
|
} else if (PyFloat_Check(pyarg)) {
|
|
double_arg = PyFloat_AsDouble(pyarg);
|
|
result = result.subs(double_arg);
|
|
|
|
} else {
|
|
int state = 0;
|
|
arg = (QString *)sipForceConvertToType(pyarg, sipType_QString, NULL, SIP_NOT_NONE, &state, &iserr);
|
|
if (iserr) {
|
|
*sipIsErr = 1;
|
|
return QString();
|
|
}
|
|
|
|
result = result.subs(*arg);
|
|
sipReleaseType(arg,sipType_QString,state);
|
|
arg = 0;
|
|
}
|
|
}
|
|
|
|
return result.toString();
|
|
}
|
|
%End
|
|
|
|
//ig class I18nTypeCheck;
|
|
|
|
//force
|
|
QString i18n (const char* text, ...);
|
|
%MethodCode
|
|
QString result = klocalizedstring_i18n_template(ki18n(a0),a1,&sipIsErr);
|
|
if (!sipIsErr) {
|
|
sipRes = new QString(result);
|
|
}
|
|
%End
|
|
|
|
QString i18nc (const char* ctxt, const char* text, ...);
|
|
%MethodCode
|
|
QString result = klocalizedstring_i18n_template(ki18nc(a0,a1),a2,&sipIsErr);
|
|
if (!sipIsErr) {
|
|
sipRes = new QString(result);
|
|
}
|
|
%End
|
|
|
|
QString i18np (const char* sing, const char* plur, ...);
|
|
%MethodCode
|
|
QString result = klocalizedstring_i18n_template(ki18np(a0,a1),a2,&sipIsErr);
|
|
if (!sipIsErr) {
|
|
sipRes = new QString(result);
|
|
}
|
|
%End
|
|
|
|
QString i18ncp (const char* ctxt, const char* sing, const char* plur, ...);
|
|
%MethodCode
|
|
QString result = klocalizedstring_i18n_template(ki18ncp(a0,a1,a2),a3,&sipIsErr);
|
|
if (!sipIsErr) {
|
|
sipRes = new QString(result);
|
|
}
|
|
%End
|
|
//end
|
|
%ModuleHeaderCode
|
|
#include <klocalizedstring.h>
|
|
%End
|
|
|
|
|
|
//ig QString i18n (const char* text);
|
|
//ig QString i18nc (const char* ctxt, const char* text);
|