• Skip to content
  • Skip to link menu
KDE 4.3 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

KDECore

klocale.h

Go to the documentation of this file.
00001 // -*- c-basic-offset: 2 -*-
00002 /* This file is part of the KDE libraries
00003     Copyright (C) 1997 Stephan Kulow <coolo@kde.org>
00004     Copyright (C) 1999-2003 Hans Petter Bieker <bieker@kde.org>
00005     Copyright (c) 2002 Lukas Tinkl <lukas@kde.org>
00006 
00007     This library is free software; you can redistribute it and/or
00008     modify it under the terms of the GNU Library General Public
00009     License as published by the Free Software Foundation; either
00010     version 2 of the License, or (at your option) any later version.
00011 
00012     This library is distributed in the hope that it will be useful,
00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015     Library General Public License for more details.
00016 
00017     You should have received a copy of the GNU Library General Public License
00018     along with this library; see the file COPYING.LIB.  If not, write to
00019     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00020     Boston, MA 02110-1301, USA.
00021 */
00022 #ifndef KLOCALE_H
00023 #define KLOCALE_H
00024 
00025 #include <kdecore_export.h>
00026 #include <klocalizedstring.h>
00027 #include <ksharedconfig.h>
00028 
00029 #include <QtCore/QString>
00030 #include <QtCore/QList>
00031 
00032 class QStringList;
00033 class QTextCodec;
00034 class QDate;
00035 class QTime;
00036 class QDateTime;
00037 
00038 class KDateTime;
00039 class KCalendarSystem;
00040 
00041 class KLocalePrivate;
00042 
00068 class KDECORE_EXPORT KLocale
00069 {
00070 public:
00091   explicit KLocale(const QString& catalog, KSharedConfig::Ptr config = KSharedConfig::Ptr());
00092 
00106   KLocale(const QString& catalog, const QString &language, const QString &country = QString(), KConfig *config = 0);
00107 
00111   KLocale( const KLocale & rhs );
00112 
00116   KLocale& operator= ( const KLocale & rhs );
00117 
00121   virtual ~KLocale();
00122 
00139   void translateRaw(const char* msg,
00140                     QString *lang, QString *trans) const;
00141 
00160   void translateRaw(const char *ctxt, const char *msg,
00161                     QString *lang, QString *trans) const;
00162 
00183   void translateRaw(const char *singular, const char *plural,  unsigned long n,
00184                     QString *lang, QString *trans) const;
00185 
00208   void translateRaw(const char *ctxt, const char *singular, const char *plural,
00209                     unsigned long n, QString *lang, QString *trans) const;
00210 
00218   bool setEncoding(int mibEnum);
00219 
00224   enum SignPosition {
00228     ParensAround = 0,
00232     BeforeQuantityMoney = 1,
00236     AfterQuantityMoney = 2,
00240     BeforeMoney = 3,
00244     AfterMoney = 4
00245   };
00246 
00252   enum DigitSet {
00253     ArabicDigits,             
00255     ArabicIndicDigits,        
00256     EasternArabicIndicDigits, 
00257     DevenagariDigits          
00258   };
00259 
00272   QString digitSetToName(DigitSet digitSet, bool withDigits = false) const;
00273 
00283   QList<DigitSet> allDigitSetsList () const;
00284 
00291   QString decimalSymbol() const;
00292 
00300   QString thousandsSeparator() const;
00301 
00311   DigitSet digitSet() const;
00312 
00319   QString currencySymbol() const;
00320 
00328   QString monetaryDecimalSymbol() const;
00329 
00337   QString monetaryThousandsSeparator() const;
00338 
00345   QString positiveSign() const;
00346 
00353   QString negativeSign() const;
00354 
00361   int fracDigits() const;
00362 
00369   bool positivePrefixCurrencySymbol() const;
00370 
00377   bool negativePrefixCurrencySymbol() const;
00378 
00386   SignPosition positiveMonetarySignPosition() const;
00387 
00395   SignPosition negativeMonetarySignPosition() const;
00396 
00406   DigitSet monetaryDigitSet() const;
00407 
00422   QString formatMoney(double num,
00423               const QString & currency = QString(),
00424               int digits = -1) const;
00425 
00441   QString formatNumber(double num, int precision = -1) const;
00442 
00455   QString formatNumber(const QString &numStr, bool round=true, int precision=2) const;
00456 
00467   QString formatLong(long num) const;
00468 
00479   QString formatByteSize( double size ) const;
00480 
00490   QString formatDuration( unsigned long mSec) const;
00491 
00507   QString prettyFormatDuration( unsigned long mSec ) const;
00508 
00518    bool nounDeclension() const;
00519 
00523   enum DateFormat {
00524     ShortDate,      
00525     LongDate,       
00526     FancyShortDate, 
00529     FancyLongDate   
00532   };
00533 
00543   QString formatDate(const QDate &date, DateFormat format = LongDate) const;
00544 
00556   QString formatDateTime(const QDateTime &dateTime, DateFormat format = ShortDate,
00557                          bool includeSecs = false) const;
00558 
00562   enum DateTimeFormatOption {
00563     TimeZone = 0x01,    
00564     Seconds  = 0x02     
00565   };
00566   Q_DECLARE_FLAGS(DateTimeFormatOptions, DateTimeFormatOption)
00567 
00568   
00578   QString formatDateTime(const KDateTime &dateTime, DateFormat format = ShortDate,
00579                          DateTimeFormatOptions options = 0) const;
00580 
00587   bool dateMonthNamePossessive() const;
00588 
00601   QString formatTime(const QTime &pTime, bool includeSecs = false,
00602                      bool isDuration = false) const;
00603 
00613   DigitSet dateTimeDigitSet() const;
00614 
00620   bool use12Clock() const;
00621 
00627   int weekStartDay() const;
00628 
00635   int workingWeekStartDay() const;
00636 
00643   int workingWeekEndDay() const;
00644 
00651   int weekDayOfPray() const;
00652 
00658   const KCalendarSystem * calendar() const;
00659 
00666   QString calendarType() const;
00667 
00675   void setCalendar(const QString & calendarType);
00676 
00686   double readMoney(const QString &numStr, bool * ok = 0) const;
00687 
00697   double readNumber(const QString &numStr, bool * ok = 0) const;
00698 
00709   QDate readDate(const QString &str, bool* ok = 0) const;
00710 
00715   QDate readDate( const QString &intstr, const QString &fmt, bool* ok = 0) const;
00716 
00720   enum ReadDateFlags {
00721       NormalFormat = 1,  
00722       ShortFormat = 2    
00723   };
00724 
00737   QDate readDate(const QString &str, ReadDateFlags flags, bool *ok = 0) const;
00738 
00751   QTime readTime(const QString &str, bool* ok = 0) const;
00752 
00756   enum ReadTimeFlags {
00757       WithSeconds = 0,    
00758       WithoutSeconds = 1  
00759   }; // (maybe use this enum as a bitfield, if adding independent features?)
00773   QTime readTime(const QString &str, ReadTimeFlags flags, bool *ok = 0) const;
00774 
00787   QString language() const;
00788 
00800   QString country() const;
00801 
00813   QStringList languageList() const;
00814 
00823   const QByteArray encoding() const;
00824 
00833   int encodingMib() const;
00842   QTextCodec * codecForEncoding() const;
00843 
00852   int fileEncodingMib() const;
00853 
00876   void setDateFormat(const QString & format);
00899   void setDateFormatShort(const QString & format);
00905   void setDateMonthNamePossessive(bool possessive);
00925   void setTimeFormat(const QString & format);
00926 
00935   void setDateTimeDigitSet(DigitSet digitSet);
00936 
00942   void setWeekStartDay(int day);
00943 
00950   void setWorkingWeekStartDay(int day);
00951 
00958   void setWorkingWeekEndDay(int day);
00959 
00966   void setWeekDayOfPray(int day);
00967 
00974   QString dateFormat() const;
00981   QString dateFormatShort() const;
00988   QString timeFormat() const;
00989 
00995   void setDecimalSymbol(const QString & symbol);
01001   void setThousandsSeparator(const QString & separator);
01008   void setPositiveSign(const QString & sign);
01014   void setNegativeSign(const QString & sign);
01023   void setDigitSet(DigitSet digitSet);
01029   void setPositiveMonetarySignPosition(SignPosition signpos);
01035   void setNegativeMonetarySignPosition(SignPosition signpos);
01043   void setPositivePrefixCurrencySymbol(bool prefix);
01051   void setNegativePrefixCurrencySymbol(bool prefix);
01057   void setFracDigits(int digits);
01063   void setMonetaryThousandsSeparator(const QString & separator);
01070   void setMonetaryDecimalSymbol(const QString & symbol);
01076   void setCurrencySymbol(const QString & symbol);
01085   void setMonetaryDigitSet(DigitSet digitSet);
01086 
01092   int pageSize() const;
01093 
01099   void setPageSize(int paperFormat);
01100 
01105   enum MeasureSystem {
01106     Metric,    
01107     Imperial   
01108   };
01109 
01115   MeasureSystem measureSystem() const;
01116 
01122   void setMeasureSystem(MeasureSystem value);
01123 
01134   void insertCatalog(const QString& catalog);
01135 
01141   void removeCatalog(const QString &catalog);
01142 
01147   void setActiveCatalog(const QString &catalog);
01148 
01154   QString translateQt(const char *context,
01155               const char *sourceText,
01156               const char *comment) const;
01157 
01168   QStringList allLanguagesList() const;
01169 
01185   QString languageCodeToName(const QString &language) const;
01186 
01197   QStringList allCountriesList() const;
01198 
01213   QString countryCodeToName(const QString &country) const;
01214 
01225   static void splitLocale(const QString &locale,
01226                           QString &language,
01227                           QString &country,
01228                           QString &modifier,
01229                           QString &charset);
01230 
01239   static void setMainCatalog(const char *catalog);
01240 
01257   static QString langLookup(const QString &fname, const char *rtype = "html");
01258 
01264   static QString defaultLanguage();
01265 
01271   static QString defaultCountry();
01272 
01278   bool useTranscript() const;
01279 
01285   bool isApplicationTranslatedInto( const QString & language);
01286 
01292   void copyCatalogsTo(KLocale *locale);
01293 
01306   bool setCountry(const QString & country, KConfig *config);
01307 
01320   bool setLanguage(const QString &language, KConfig *config);
01321 
01331   bool setLanguage(const QStringList &languages);
01332 
01355   QString localizedFilePath(const QString &filePath) const;
01356 
01373   QString removeAcceleratorMarker(const QString &label) const;
01374 
01393   QString convertDigits(const QString &str, DigitSet digitSet,
01394                         bool ignoreContext = false) const;
01395 
01396 private:
01397   KLocalePrivate * const d;
01398 };
01399 
01400 Q_DECLARE_OPERATORS_FOR_FLAGS(KLocale::DateTimeFormatOptions)
01401 
01402 #endif

KDECore

Skip menu "KDECore"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.6.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal