//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module tdecore  version KDE 3.5.3


// This software is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This software 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 library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


class TDELocale
{
%TypeHeaderCode
#include <tdelocale.h>
%End


public:
                         TDELocale (const TQString&, TDEConfig* = 0);
//ig                          TDELocale (const TDELocale&);
    TQString              translate (const char*) const;
    TQString              translate (const char*, const char*) const;
    TQString              translate (const char*, const char*, ulong) const;
    bool                 setEncoding (int);
    bool                 setLanguage (const TQString&);
    bool                 setLanguage (const TQStringList&);
    bool                 setCountry (const TQString&);

    enum SignPosition
    {
        ParensAround, 
        BeforeQuantityMoney, 
        AfterQuantityMoney, 
        BeforeMoney, 
        AfterMoney
    };

    TQString              decimalSymbol () const;
    TQString              thousandsSeparator () const;
    TQString              currencySymbol () const;
    TQString              monetaryDecimalSymbol () const;
    TQString              monetaryThousandsSeparator () const;
    TQString              positiveSign () const;
    TQString              negativeSign () const;
    int                  fracDigits () const;
    bool                 positivePrefixCurrencySymbol () const;
    bool                 negativePrefixCurrencySymbol () const;
    SignPosition         positiveMonetarySignPosition () const;
    SignPosition         negativeMonetarySignPosition () const;
    TQString              formatMoney (double, const TQString& = TQString ::null , int = -1) const;
    TQString              formatNumber (double, int = -1) const;
    TQString              formatNumber (const TQString&) const;

%If ( KDE_3_5_0 -  )
    TQString              formatNumber (const TQString&, bool, int) const;
%End


%If ( KDE_3_2_0 -  )
    TQString              formatLong (long) const;
%End


%If ( KDE_3_1_0 -  )
    bool                 nounDeclension () const;
%End

    TQString              formatDate (const TQDate&, bool = 0) const;

%If ( KDE_3_1_0 -  )
    bool                 dateMonthNamePossessive () const;

%If ( KDE_3_3_0 -  )
    TQString              formatTime (const TQTime&, bool, bool) const;
%End

%End

    TQString              formatTime (const TQTime&, bool = 0) const;
    bool                 use12Clock () const;
    bool                 weekStartsMonday () const;

%If ( KDE_3_1_0 -  )
    int                  weekStartDay () const;
%End

    TQString              monthName (int, bool = 0) const;

%If ( KDE_3_1_0 -  )
    TQString              monthNamePossessive (int, bool = 0) const;
%End

    TQString              weekDayName (int, bool = 0) const;

%If ( KDE_3_2_0 -  )
    const KCalendarSystem* calendar () const;
    TQString              calendarType () const;
    void                 setCalendar (const TQString&);
%End

    TQString              formatDateTime (const TQDateTime&, bool, bool = 0) const;
    double               readMoney (const TQString&, bool* = 0) const;
    double               readNumber (const TQString&, bool* = 0) const;
    TQDate                readDate (const TQString&, bool* = 0) const;
    TQDate                readDate (const TQString&, const TQString&, bool* = 0) const;

%If ( KDE_3_2_0 -  )

    enum ReadDateFlags
    {
        NormalFormat, 
        ShortFormat
    };

    TQDate                readDate (const TQString&, TDELocale::ReadDateFlags, bool* = 0) const;
%End

    TQTime                readTime (const TQString&, bool* = 0) const;

%If ( KDE_3_2_0 -  )

    enum ReadTimeFlags
    {
        WithSeconds, 
        WithoutSeconds
    };

    TQTime                readTime (const TQString&, TDELocale::ReadTimeFlags, bool* = 0) const;
%End

    TQString              language () const;
    TQString              country () const;
    TQStringList          languagesTwoAlpha () const;
    TQStringList          languageList () const;
    const char*          encoding () const;
    int                  encodingMib () const;
    TQTextCodec*          codecForEncoding () const;

%If ( KDE_3_2_0 -  )
    int                  fileEncodingMib () const;
%End

    void                 setDateFormat (const TQString&);
    void                 setDateFormatShort (const TQString&);

%If ( KDE_3_1_0 -  )
    void                 setDateMonthNamePossessive (bool);
%End

    void                 setTimeFormat (const TQString&);
    void                 setWeekStartsMonday (bool);

%If ( KDE_3_1_0 -  )
    void                 setWeekStartDay (int);
%End

    TQString              dateFormat () const;
    TQString              dateFormatShort () const;
    TQString              timeFormat () const;
    void                 setDecimalSymbol (const TQString&);
    void                 setThousandsSeparator (const TQString&);
    void                 setPositiveSign (const TQString&);
    void                 setNegativeSign (const TQString&);
    void                 setPositiveMonetarySignPosition (TDELocale::SignPosition);
    void                 setNegativeMonetarySignPosition (TDELocale::SignPosition);
    void                 setPositivePrefixCurrencySymbol (bool);
    void                 setNegativePrefixCurrencySymbol (bool);
    void                 setFracDigits (int);
    void                 setMonetaryThousandsSeparator (const TQString&);
    void                 setMonetaryDecimalSymbol (const TQString&);
    void                 setCurrencySymbol (const TQString&);
    int                  pageSize () const;
    void                 setPageSize (int);

    enum MeasureSystem
    {
        Metric, 
        Imperial
    };

    TDELocale::MeasureSystem measureSystem () const;
    void                 setMeasureSystem (TDELocale::MeasureSystem);
    void                 insertCatalogue (const TQString&);
    void                 removeCatalogue (const TQString&);
    void                 setActiveCatalogue (const TQString&);
    TQString              translateQt (const char*, const char*, const char*) const;

%If ( KDE_3_1_0 -  )
    TQStringList          allLanguagesTwoAlpha () const;
    TQString              twoAlphaToLanguageName (const TQString&) const;
    TQStringList          allCountriesTwoAlpha () const;
    TQString              twoAlphaToCountryName (const TQString&) const;
%End

    static void          splitLocale (const TQString&, TQString&, TQString&, TQString&);
    static void          setMainCatalogue (const char*);
    static TQString       langLookup (const TQString&, const char* = "html");
    static TQString       defaultLanguage ();
    static TQString       defaultCountry ();

%If ( KDE_3_0_1 -  )
    static TQString       _initLanguage (TDEConfigBase*);
%End

    TQString              formatMoney (const TQString&) const;
    TQString              languages () const;
//ig     bool                 setCharset (const TQString&);
//ig     TQString              charset () const;

protected:
//ig     static void          initInstance ();
//force

private:
                         TDELocale (const TDELocale&);
//end

};  // class TDELocale


%ModuleCode
#include <tdelocale.h>
%End

TQString              i18n (const char*);
TQString              i18n (const char*, const char*);
TQString              i18n (const char*, const char*, ulong);
