• Skip to content
  • Skip to link menu
KDE 4.2 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 
00031 class QStringList;
00032 class QTextCodec;
00033 class QDate;
00034 class QTime;
00035 class QDateTime;
00036 
00037 class KDateTime;
00038 class KCalendarSystem;
00039 
00040 class KLocalePrivate;
00041 
00067 class KDECORE_EXPORT KLocale
00068 {
00069 public:
00090   explicit KLocale(const QString& catalog, KSharedConfig::Ptr config = KSharedConfig::Ptr());
00091 
00105   KLocale(const QString& catalog, const QString &language, const QString &country = QString(), KConfig *config = 0);
00106 
00110   KLocale( const KLocale & rhs );
00111 
00115   KLocale& operator= ( const KLocale & rhs );
00116 
00120   virtual ~KLocale();
00121 
00138   void translateRaw(const char* msg,
00139                     QString *lang, QString *trans) const;
00140 
00159   void translateRaw(const char *ctxt, const char *msg,
00160                     QString *lang, QString *trans) const;
00161 
00182   void translateRaw(const char *singular, const char *plural,  unsigned long n,
00183                     QString *lang, QString *trans) const;
00184 
00207   void translateRaw(const char *ctxt, const char *singular, const char *plural,
00208                     unsigned long n, QString *lang, QString *trans) const;
00209 
00217   bool setEncoding(int mibEnum);
00218 
00223   enum SignPosition {
00227     ParensAround = 0,
00231     BeforeQuantityMoney = 1,
00235     AfterQuantityMoney = 2,
00239     BeforeMoney = 3,
00243     AfterMoney = 4
00244   };
00245 
00252   QString decimalSymbol() const;
00253 
00261   QString thousandsSeparator() const;
00262 
00269   QString currencySymbol() const;
00270 
00278   QString monetaryDecimalSymbol() const;
00279 
00287   QString monetaryThousandsSeparator() const;
00288 
00295   QString positiveSign() const;
00296 
00303   QString negativeSign() const;
00304 
00311   int fracDigits() const;
00312 
00319   bool positivePrefixCurrencySymbol() const;
00320 
00327   bool negativePrefixCurrencySymbol() const;
00328 
00336   SignPosition positiveMonetarySignPosition() const;
00337 
00345   SignPosition negativeMonetarySignPosition() const;
00346 
00361   QString formatMoney(double num,
00362               const QString & currency = QString(),
00363               int digits = -1) const;
00364 
00380   QString formatNumber(double num, int precision = -1) const;
00381 
00394   QString formatNumber(const QString &numStr, bool round=true, int precision=2) const;
00395 
00406   QString formatLong(long num) const;
00407 
00418   QString formatByteSize( double size ) const;
00419 
00429   QString formatDuration( unsigned long mSec) const;
00430 
00446   QString prettyFormatDuration( unsigned long mSec ) const;
00447 
00457    bool nounDeclension() const;
00458 
00462   enum DateFormat {
00463     ShortDate,      
00464     LongDate,       
00465     FancyShortDate, 
00468     FancyLongDate   
00471   };
00472 
00482   QString formatDate(const QDate &date, DateFormat format = LongDate) const;
00483 
00495   QString formatDateTime(const QDateTime &dateTime, DateFormat format = ShortDate,
00496                          bool includeSecs = false) const;
00497 
00501   enum DateTimeFormatOption {
00502     TimeZone = 0x01,    
00503     Seconds  = 0x02     
00504   };
00505   Q_DECLARE_FLAGS(DateTimeFormatOptions, DateTimeFormatOption)
00506 
00507   
00517   QString formatDateTime(const KDateTime &dateTime, DateFormat format = ShortDate,
00518                          DateTimeFormatOptions options = 0) const;
00519 
00526   bool dateMonthNamePossessive() const;
00527 
00540   QString formatTime(const QTime &pTime, bool includeSecs = false,
00541                      bool isDuration = false) const;
00542 
00548   bool use12Clock() const;
00549 
00555   int weekStartDay() const;
00556 
00563   int workingWeekStartDay() const;
00564 
00571   int workingWeekEndDay() const;
00572 
00579   int weekDayOfPray() const;
00580 
00586   const KCalendarSystem * calendar() const;
00587 
00594   QString calendarType() const;
00595 
00603   void setCalendar(const QString & calendarType);
00604 
00614   double readMoney(const QString &numStr, bool * ok = 0) const;
00615 
00625   double readNumber(const QString &numStr, bool * ok = 0) const;
00626 
00637   QDate readDate(const QString &str, bool* ok = 0) const;
00638 
00643   QDate readDate( const QString &intstr, const QString &fmt, bool* ok = 0) const;
00644 
00648   enum ReadDateFlags {
00649       NormalFormat = 1,  
00650       ShortFormat = 2    
00651   };
00652 
00665   QDate readDate(const QString &str, ReadDateFlags flags, bool *ok = 0) const;
00666 
00679   QTime readTime(const QString &str, bool* ok = 0) const;
00680 
00684   enum ReadTimeFlags {
00685       WithSeconds = 0,    
00686       WithoutSeconds = 1  
00687   }; // (maybe use this enum as a bitfield, if adding independent features?)
00701   QTime readTime(const QString &str, ReadTimeFlags flags, bool *ok = 0) const;
00702 
00715   QString language() const;
00716 
00728   QString country() const;
00729 
00741   QStringList languageList() const;
00742 
00751   const QByteArray encoding() const;
00752 
00761   int encodingMib() const;
00770   QTextCodec * codecForEncoding() const;
00771 
00780   int fileEncodingMib() const;
00781 
00804   void setDateFormat(const QString & format);
00827   void setDateFormatShort(const QString & format);
00833   void setDateMonthNamePossessive(bool possessive);
00853   void setTimeFormat(const QString & format);
00854 
00855 
00861   void setWeekStartDay(int day);
00862 
00869   void setWorkingWeekStartDay(int day);
00870 
00877   void setWorkingWeekEndDay(int day);
00878 
00885   void setWeekDayOfPray(int day);
00886 
00893   QString dateFormat() const;
00900   QString dateFormatShort() const;
00907   QString timeFormat() const;
00908 
00914   void setDecimalSymbol(const QString & symbol);
00920   void setThousandsSeparator(const QString & separator);
00927   void setPositiveSign(const QString & sign);
00933   void setNegativeSign(const QString & sign);
00939   void setPositiveMonetarySignPosition(SignPosition signpos);
00945   void setNegativeMonetarySignPosition(SignPosition signpos);
00953   void setPositivePrefixCurrencySymbol(bool prefix);
00961   void setNegativePrefixCurrencySymbol(bool prefix);
00967   void setFracDigits(int digits);
00973   void setMonetaryThousandsSeparator(const QString & separator);
00980   void setMonetaryDecimalSymbol(const QString & symbol);
00986   void setCurrencySymbol(const QString & symbol);
00987 
00993   int pageSize() const;
00994 
01000   void setPageSize(int paperFormat);
01001 
01006   enum MeasureSystem {
01007     Metric,    
01008     Imperial   
01009   };
01010 
01016   MeasureSystem measureSystem() const;
01017 
01023   void setMeasureSystem(MeasureSystem value);
01024 
01035   void insertCatalog(const QString& catalog);
01036 
01042   void removeCatalog(const QString &catalog);
01043 
01048   void setActiveCatalog(const QString &catalog);
01049 
01055   QString translateQt(const char *context,
01056               const char *sourceText,
01057               const char *comment) const;
01058 
01069   QStringList allLanguagesList() const;
01070 
01086   QString languageCodeToName(const QString &language) const;
01087 
01098   QStringList allCountriesList() const;
01099 
01114   QString countryCodeToName(const QString &country) const;
01115 
01126   static void splitLocale(const QString &locale,
01127                           QString &language,
01128                           QString &country,
01129                           QString &modifier,
01130                           QString &charset);
01131 
01140   static void setMainCatalog(const char *catalog);
01141 
01158   static QString langLookup(const QString &fname, const char *rtype = "html");
01159 
01165   static QString defaultLanguage();
01166 
01172   static QString defaultCountry();
01173 
01179   bool useTranscript() const;
01180 
01186   bool isApplicationTranslatedInto( const QString & language);
01187 
01193   void copyCatalogsTo(KLocale *locale);
01194 
01207   bool setCountry(const QString & country, KConfig *config);
01208  
01221   bool setLanguage(const QString &language, KConfig *config);
01222 
01232   bool setLanguage(const QStringList &languages);
01233 
01256   QString localizedFilePath(const QString &filePath) const;
01257 
01274   QString removeAcceleratorMarker(const QString &label) const;
01275 
01276 private:
01277   KLocalePrivate * const d;
01278 };
01279 
01280 Q_DECLARE_OPERATORS_FOR_FLAGS(KLocale::DateTimeFormatOptions)
01281 
01282 #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
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.7
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