• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdelibs-4.10.5 API Reference
  • KDE Home
  • Contact Us
 

KDECore

  • kdecore
  • localization
klocale.cpp
Go to the documentation of this file.
1 /* This file is part of the KDE libraries
2  Copyright (c) 1997,2001 Stephan Kulow <coolo@kde.org>
3  Copyright (c) 1999 Preston Brown <pbrown@kde.org>
4  Copyright (c) 1999-2002 Hans Petter Bieker <bieker@kde.org>
5  Copyright (c) 2002 Lukas Tinkl <lukas@kde.org>
6  Copyright (C) 2007 Bernhard Loos <nhuh.put@web.de>
7  Copyright (C) 2009, 2010 John Layt <john@layt.net>
8 
9  This library is free software; you can redistribute it and/or
10  modify it under the terms of the GNU Library General Public
11  License as published by the Free Software Foundation; either
12  version 2 of the License, or (at your option) any later version.
13 
14  This library is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  Library General Public License for more details.
18 
19  You should have received a copy of the GNU Library General Public License
20  along with this library; see the file COPYING.LIB. If not, write to
21  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22  Boston, MA 02110-1301, USA.
23 */
24 
25 #include "klocale.h"
26 #if defined Q_WS_WIN
27  #include "klocale_win_p.h"
28 #elif defined Q_OS_MAC
29  #include "klocale_mac_p.h"
30 #else
31  #include "klocale_unix_p.h"
32 #endif
33 
34 #include <QtCore/QDateTime>
35 #include <QtCore/QTextCodec>
36 
37 #include "kcatalog_p.h"
38 #include "kglobal.h"
39 #include "kconfig.h"
40 #include "kdebug.h"
41 #include "kdatetime.h"
42 #include "kcalendarsystem.h"
43 #include "kdayperiod_p.h"
44 #include "kcurrencycode.h"
45 #include "kcatalogname_p.h"
46 #include "common_helpers_p.h"
47 
48 KLocale::KLocale(const QString &catalog, KSharedConfig::Ptr config)
49 #if defined Q_WS_WIN
50  : d(new KLocaleWindowsPrivate(this, catalog, config))
51 #elif defined Q_OS_MAC
52  : d(new KLocaleMacPrivate(this, catalog, config))
53 #else
54  : d(new KLocaleUnixPrivate(this, catalog, config))
55 #endif
56 {
57 }
58 
59 KLocale::KLocale(const QString& catalog, const QString &language, const QString &country, KConfig *config)
60 #if defined Q_WS_WIN
61  : d(new KLocaleWindowsPrivate(this, catalog, language, country, config))
62 #elif defined Q_OS_MAC
63  : d(new KLocaleMacPrivate(this, catalog, language, country, config))
64 #else
65  : d(new KLocaleUnixPrivate(this, catalog, language, country, config))
66 #endif
67 {
68 }
69 
70 KLocale::~KLocale()
71 {
72  delete d;
73 }
74 
75 bool KLocale::setCountry(const QString &country, KConfig *config)
76 {
77  return d->setCountry(country, config);
78 }
79 
80 bool KLocale::setCountryDivisionCode(const QString &countryDivisionCode)
81 {
82  return d->setCountryDivisionCode(countryDivisionCode);
83 }
84 
85 bool KLocale::setLanguage(const QString &language, KConfig *config)
86 {
87  return d->setLanguage(language, config);
88 }
89 
90 bool KLocale::setLanguage(const QStringList &languages)
91 {
92  return d->setLanguage(languages);
93 }
94 
95 void KLocale::setCurrencyCode(const QString &newCurrencyCode)
96 {
97  d->setCurrencyCode(newCurrencyCode);
98 }
99 
100 bool KLocale::isApplicationTranslatedInto(const QString &lang)
101 {
102  return d->isApplicationTranslatedInto(lang);
103 }
104 
105 void KLocale::splitLocale(const QString &locale, QString &language, QString &country, QString &modifier,
106  QString &charset)
107 {
108  KLocalePrivate::splitLocale(locale, language, country, modifier, charset);
109 }
110 
111 QString KLocale::language() const
112 {
113  return d->language();
114 }
115 
116 QString KLocale::country() const
117 {
118  return d->country();
119 }
120 
121 QString KLocale::countryDivisionCode() const
122 {
123  return d->countryDivisionCode();
124 }
125 
126 KCurrencyCode *KLocale::currency() const
127 {
128  return d->currency();
129 }
130 
131 QString KLocale::currencyCode() const
132 {
133  return d->currencyCode();
134 }
135 
136 void KLocale::insertCatalog(const QString &catalog)
137 {
138  d->insertCatalog(catalog);
139 }
140 
141 void KLocale::removeCatalog(const QString &catalog)
142 {
143  d->removeCatalog(catalog);
144 }
145 
146 void KLocale::setActiveCatalog(const QString &catalog)
147 {
148  d->setActiveCatalog(catalog);
149 }
150 
151 void KLocale::translateRawFrom(const char *catname, const char *ctxt, const char *singular, const char *plural,
152  unsigned long n, QString *lang, QString *trans) const
153 {
154  d->translateRawFrom(catname, ctxt, singular, plural, n, lang, trans);
155 }
156 
157 //Convenience versions
158 void KLocale::translateRawFrom(const char *catname, const char *msg, QString *lang, QString *trans) const
159 {
160  d->translateRawFrom(catname, 0, msg, 0, 0, lang, trans);
161 }
162 
163 void KLocale::translateRaw(const char *msg, QString *lang, QString *trans) const
164 {
165  d->translateRawFrom(0, 0, msg, 0, 0, lang, trans);
166 }
167 
168 void KLocale::translateRawFrom(const char *catname, const char *ctxt, const char *msg, QString *lang,
169  QString *trans) const
170 {
171  d->translateRawFrom(catname, ctxt, msg, 0, 0, lang, trans);
172 }
173 
174 void KLocale::translateRaw(const char *ctxt, const char *msg, QString *lang, QString *trans) const
175 {
176  d->translateRawFrom(0, ctxt, msg, 0, 0, lang, trans);
177 }
178 
179 void KLocale::translateRawFrom(const char *catname, const char *singular, const char *plural,
180  unsigned long n, QString *lang, QString *trans) const
181 {
182  d->translateRawFrom(catname, 0, singular, plural, n, lang, trans);
183 }
184 
185 void KLocale::translateRaw(const char *singular, const char *plural, unsigned long n, QString *lang,
186  QString *trans) const
187 {
188  d->translateRawFrom(0, 0, singular, plural, n, lang, trans);
189 }
190 
191 void KLocale::translateRaw(const char *ctxt, const char *singular, const char *plural,
192  unsigned long n, QString *lang, QString *trans) const
193 {
194  d->translateRawFrom(0, ctxt, singular, plural, n, lang, trans);
195 }
196 
197 QString KLocale::translateQt(const char *context, const char *sourceText, const char *comment) const
198 {
199  return d->translateQt(context, sourceText, comment);
200 }
201 
202 QList<KLocale::DigitSet> KLocale::allDigitSetsList() const
203 {
204  return d->allDigitSetsList();
205 }
206 
207 QString KLocale::digitSetToName(KLocale::DigitSet digitSet, bool withDigits) const
208 {
209  return d->digitSetToName(digitSet, withDigits);
210 }
211 
212 QString KLocale::convertDigits(const QString &str, DigitSet digitSet, bool ignoreContext) const
213 {
214  return d->convertDigits(str, digitSet, ignoreContext);
215 }
216 
217 bool KLocale::nounDeclension() const
218 {
219  return d->nounDeclension();
220 }
221 
222 bool KLocale::dateMonthNamePossessive() const
223 {
224  return d->dateMonthNamePossessive();
225 }
226 
227 int KLocale::weekStartDay() const
228 {
229  return d->weekStartDay();
230 }
231 
232 int KLocale::workingWeekStartDay() const
233 {
234  return d->workingWeekStartDay();
235 }
236 
237 int KLocale::workingWeekEndDay() const
238 {
239  return d->workingWeekEndDay();
240 }
241 
242 int KLocale::weekDayOfPray() const
243 {
244  return d->weekDayOfPray();
245 }
246 
247 int KLocale::decimalPlaces() const
248 {
249  return d->decimalPlaces();
250 }
251 
252 QString KLocale::decimalSymbol() const
253 {
254  return d->decimalSymbol();
255 }
256 
257 QString KLocale::thousandsSeparator() const
258 {
259  return d->thousandsSeparator();
260 }
261 
262 QString KLocale::currencySymbol() const
263 {
264  return d->currencySymbol();
265 }
266 
267 QString KLocale::monetaryDecimalSymbol() const
268 {
269  return d->monetaryDecimalSymbol();
270 }
271 
272 QString KLocale::monetaryThousandsSeparator() const
273 {
274  return d->monetaryThousandsSeparator();
275 }
276 
277 QString KLocale::positiveSign() const
278 {
279  return d->positiveSign();
280 }
281 
282 QString KLocale::negativeSign() const
283 {
284  return d->negativeSign();
285 }
286 
287 int KLocale::fracDigits() const
288 {
289  return monetaryDecimalPlaces();
290 }
291 
292 int KLocale::monetaryDecimalPlaces() const
293 {
294  return d->monetaryDecimalPlaces();
295 }
296 
297 bool KLocale::positivePrefixCurrencySymbol() const
298 {
299  return d->positivePrefixCurrencySymbol();
300 }
301 
302 bool KLocale::negativePrefixCurrencySymbol() const
303 {
304  return d->negativePrefixCurrencySymbol();
305 }
306 
307 KLocale::SignPosition KLocale::positiveMonetarySignPosition() const
308 {
309  return d->positiveMonetarySignPosition();
310 }
311 
312 KLocale::SignPosition KLocale::negativeMonetarySignPosition() const
313 {
314  return d->negativeMonetarySignPosition();
315 }
316 
317 QString KLocale::formatMoney(double num, const QString &symbol, int precision) const
318 {
319  return d->formatMoney(num, symbol, precision);
320 }
321 
322 QString KLocale::formatNumber(double num, int precision) const
323 {
324  return d->formatNumber(num, precision);
325 }
326 
327 QString KLocale::formatLong(long num) const
328 {
329  return d->formatLong(num);
330 }
331 
332 QString KLocale::formatNumber(const QString &numStr, bool round, int precision) const
333 {
334  return d->formatNumber(numStr, round, precision);
335 }
336 
337 QString KLocale::formatByteSize(double size, int precision, KLocale::BinaryUnitDialect dialect,
338  KLocale::BinarySizeUnits specificUnit) const
339 {
340  return d->formatByteSize(size, precision, dialect, specificUnit);
341 }
342 
343 QString KLocale::formatByteSize(double size) const
344 {
345  return d->formatByteSize(size);
346 }
347 
348 KLocale::BinaryUnitDialect KLocale::binaryUnitDialect() const
349 {
350  return d->binaryUnitDialect();
351 }
352 
353 void KLocale::setBinaryUnitDialect(KLocale::BinaryUnitDialect newDialect)
354 {
355  d->setBinaryUnitDialect(newDialect);
356 }
357 
358 QString KLocale::formatDuration(unsigned long mSec) const
359 {
360  return d->formatDuration(mSec);
361 }
362 
363 QString KLocale::prettyFormatDuration(unsigned long mSec) const
364 {
365  return d->prettyFormatDuration(mSec);
366 }
367 
368 QString KLocale::formatDate(const QDate &date, KLocale::DateFormat format) const
369 {
370  return d->formatDate(date, format);
371 }
372 
373 void KLocale::setMainCatalog(const char *catalog)
374 {
375  KLocalePrivate::setMainCatalog(catalog);
376 }
377 
378 double KLocale::readNumber(const QString &_str, bool * ok) const
379 {
380  return d->readNumber(_str, ok);
381 }
382 
383 double KLocale::readMoney(const QString &_str, bool *ok) const
384 {
385  return d->readMoney(_str, ok);
386 }
387 
388 QDate KLocale::readDate(const QString &intstr, bool *ok) const
389 {
390  return d->readDate(intstr, ok);
391 }
392 
393 QDate KLocale::readDate(const QString &intstr, ReadDateFlags flags, bool *ok) const
394 {
395  return d->readDate(intstr, flags, ok);
396 }
397 
398 QDate KLocale::readDate(const QString &intstr, const QString &fmt, bool *ok) const
399 {
400  return d->readDate(intstr, fmt, ok);
401 }
402 
403 QTime KLocale::readTime(const QString &intstr, bool *ok) const
404 {
405  return d->readTime(intstr, ok);
406 }
407 
408 QTime KLocale::readTime(const QString &intstr, KLocale::ReadTimeFlags flags, bool *ok) const
409 {
410  return d->readTime(intstr, flags, ok);
411 }
412 
413 QTime KLocale::readLocaleTime(const QString &intstr, bool *ok, TimeFormatOptions options,
414  TimeProcessingOptions processing) const
415 {
416  return d->readLocaleTime(intstr, ok, options, processing);
417 }
418 
419 QString KLocale::formatTime(const QTime &time, bool includeSecs, bool isDuration) const
420 {
421  return d->formatTime(time, includeSecs, isDuration);
422 }
423 
424 QString KLocale::formatLocaleTime(const QTime &time, TimeFormatOptions options) const
425 {
426  return d->formatLocaleTime(time, options);
427 }
428 
429 bool KLocale::use12Clock() const
430 {
431  return d->use12Clock();
432 }
433 
434 QString KLocale::dayPeriodText(const QTime &time, DateTimeComponentFormat format) const
435 {
436  return d->dayPeriodForTime(time).periodName(format);
437 }
438 
439 QStringList KLocale::languageList() const
440 {
441  return d->languageList();
442 }
443 
444 QStringList KLocale::currencyCodeList() const
445 {
446  return d->currencyCodeList();
447 }
448 
449 /* Just copy in for now to keep diff clean, remove later
450 QString KLocalePrivate::formatDateTime(const KLocale *locale, const QDateTime &dateTime, KLocale::DateFormat format,
451  bool includeSeconds, int daysTo, int secsTo)
452 {
453 }
454 */
455 
456 QString KLocale::formatDateTime(const QDateTime &dateTime, KLocale::DateFormat format, bool includeSeconds) const
457 {
458  return d->formatDateTime(dateTime, format, includeSeconds);
459 }
460 
461 QString KLocale::formatDateTime(const KDateTime &dateTime, KLocale::DateFormat format, DateTimeFormatOptions options) const
462 {
463  return d->formatDateTime(dateTime, format, options);
464 }
465 
466 QString KLocale::langLookup(const QString &fname, const char *rtype)
467 {
468  return KLocalePrivate::langLookup(fname, rtype);
469 }
470 void KLocale::setDateFormat(const QString &format)
471 {
472  d->setDateFormat(format);
473 }
474 
475 void KLocale::setDateFormatShort(const QString &format)
476 {
477  d->setDateFormatShort(format);
478 }
479 
480 void KLocale::setDateMonthNamePossessive(bool possessive)
481 {
482  d->setDateMonthNamePossessive(possessive);
483 }
484 
485 void KLocale::setTimeFormat(const QString &format)
486 {
487  d->setTimeFormat(format);
488 }
489 
490 void KLocale::setWeekStartDay(int day)
491 {
492  d->setWeekStartDay(day);
493 }
494 
495 void KLocale::setWorkingWeekStartDay(int day)
496 {
497  d->setWorkingWeekStartDay(day);
498 }
499 
500 void KLocale::setWorkingWeekEndDay(int day)
501 {
502  d->setWorkingWeekEndDay(day);
503 }
504 
505 void KLocale::setWeekDayOfPray(int day)
506 {
507  d->setWeekDayOfPray(day);
508 }
509 
510 QString KLocale::dateFormat() const
511 {
512  return d->dateFormat();
513 }
514 
515 QString KLocale::dateFormatShort() const
516 {
517  return d->dateFormatShort();
518 }
519 
520 QString KLocale::timeFormat() const
521 {
522  return d->timeFormat();
523 }
524 
525 void KLocale::setDecimalPlaces(int digits)
526 {
527  d->setDecimalPlaces(digits);
528 }
529 
530 void KLocale::setDecimalSymbol(const QString &symbol)
531 {
532  d->setDecimalSymbol(symbol);
533 }
534 
535 void KLocale::setThousandsSeparator(const QString &separator)
536 {
537  d->setThousandsSeparator(separator);
538 }
539 
540 void KLocale::setPositiveSign(const QString &sign)
541 {
542  d->setPositiveSign(sign);
543 }
544 
545 void KLocale::setNegativeSign(const QString &sign)
546 {
547  d->setNegativeSign(sign);
548 }
549 
550 void KLocale::setPositiveMonetarySignPosition(KLocale::SignPosition signpos)
551 {
552  d->setPositiveMonetarySignPosition(signpos);
553 }
554 
555 void KLocale::setNegativeMonetarySignPosition(KLocale::SignPosition signpos)
556 {
557  d->setNegativeMonetarySignPosition(signpos);
558 }
559 
560 void KLocale::setPositivePrefixCurrencySymbol(bool prefix)
561 {
562  d->setPositivePrefixCurrencySymbol(prefix);
563 }
564 
565 void KLocale::setNegativePrefixCurrencySymbol(bool prefix)
566 {
567  d->setNegativePrefixCurrencySymbol(prefix);
568 }
569 
570 void KLocale::setFracDigits(int digits)
571 {
572  setMonetaryDecimalPlaces(digits);
573 }
574 
575 void KLocale::setMonetaryDecimalPlaces(int digits)
576 {
577  d->setMonetaryDecimalPlaces(digits);
578 }
579 
580 void KLocale::setMonetaryThousandsSeparator(const QString &separator)
581 {
582  d->setMonetaryThousandsSeparator(separator);
583 }
584 
585 void KLocale::setMonetaryDecimalSymbol(const QString &symbol)
586 {
587  d->setMonetaryDecimalSymbol(symbol);
588 }
589 
590 void KLocale::setCurrencySymbol(const QString & symbol)
591 {
592  d->setCurrencySymbol(symbol);
593 }
594 
595 int KLocale::pageSize() const
596 {
597  return d->pageSize();
598 }
599 
600 void KLocale::setPageSize(int size)
601 {
602  d->setPageSize(size);
603 }
604 
605 KLocale::MeasureSystem KLocale::measureSystem() const
606 {
607  return d->measureSystem();
608 }
609 
610 void KLocale::setMeasureSystem(KLocale::MeasureSystem value)
611 {
612  d->setMeasureSystem(value);
613 }
614 
615 QString KLocale::defaultLanguage()
616 {
617  return KLocalePrivate::defaultLanguage();
618 }
619 
620 QString KLocale::defaultCountry()
621 {
622  return KLocalePrivate::defaultCountry();
623 }
624 
625 QString KLocale::defaultCurrencyCode()
626 {
627  return KLocalePrivate::defaultCurrencyCode();
628 }
629 
630 bool KLocale::useTranscript() const
631 {
632  return d->useTranscript();
633 }
634 
635 const QByteArray KLocale::encoding() const
636 {
637  return d->encoding();
638 }
639 
640 int KLocale::encodingMib() const
641 {
642  return d->encodingMib();
643 }
644 
645 int KLocale::fileEncodingMib() const
646 {
647  return d->fileEncodingMib();
648 }
649 
650 QTextCodec *KLocale::codecForEncoding() const
651 {
652  return d->codecForEncoding();
653 }
654 
655 bool KLocale::setEncoding(int mibEnum)
656 {
657  return d->setEncoding(mibEnum);
658 }
659 
660 QStringList KLocale::allLanguagesList() const
661 {
662  return d->allLanguagesList();
663 }
664 
665 QStringList KLocale::installedLanguages() const
666 {
667  return d->installedLanguages();
668 }
669 
670 QString KLocale::languageCodeToName(const QString &language) const
671 {
672  return d->languageCodeToName(language);
673 }
674 
675 QStringList KLocale::allCountriesList() const
676 {
677  return d->allCountriesList();
678 }
679 
680 QString KLocale::countryCodeToName(const QString &country) const
681 {
682  return d->countryCodeToName(country);
683 }
684 
685 void KLocale::setCalendar(const QString &calendarType)
686 {
687  d->setCalendar(calendarType);
688 }
689 
690 void KLocale::setCalendarSystem(KLocale::CalendarSystem calendarSystem)
691 {
692  d->setCalendarSystem(calendarSystem);
693 }
694 
695 QString KLocale::calendarType() const
696 {
697  return d->calendarType();
698 }
699 
700 KLocale::CalendarSystem KLocale::calendarSystem() const
701 {
702  return d->calendarSystem();
703 }
704 
705 const KCalendarSystem * KLocale::calendar() const
706 {
707  return d->calendar();
708 }
709 
710 void KLocale::setWeekNumberSystem(KLocale::WeekNumberSystem weekNumberSystem)
711 {
712  d->setWeekNumberSystem(weekNumberSystem);
713 }
714 
715 KLocale::WeekNumberSystem KLocale::weekNumberSystem()
716 {
717  return d->weekNumberSystem();
718 }
719 
720 KLocale::WeekNumberSystem KLocale::weekNumberSystem() const
721 {
722  return d->weekNumberSystem();
723 }
724 
725 KLocale::KLocale(const KLocale &rhs)
726  : d(new KLocalePrivate(*rhs.d))
727 {
728  d->q = this;
729 }
730 
731 KLocale & KLocale::operator=(const KLocale & rhs)
732 {
733  // the assignment operator works here
734  *d = *rhs.d;
735  d->q = this;
736  return *this;
737 }
738 
739 void KLocale::copyCatalogsTo(KLocale *locale)
740 {
741  d->copyCatalogsTo(locale);
742 }
743 
744 QString KLocale::localizedFilePath(const QString &filePath) const
745 {
746  return d->localizedFilePath(filePath);
747 }
748 
749 QString KLocale::removeAcceleratorMarker(const QString &label) const
750 {
751  return d->removeAcceleratorMarker(label);
752 }
753 
754 void KLocale::setDigitSet(KLocale::DigitSet digitSet)
755 {
756  d->setDigitSet(digitSet);
757 }
758 
759 KLocale::DigitSet KLocale::digitSet() const
760 {
761  return d->digitSet();
762 }
763 
764 void KLocale::setMonetaryDigitSet(KLocale::DigitSet digitSet)
765 {
766  d->setMonetaryDigitSet(digitSet);
767 }
768 
769 KLocale::DigitSet KLocale::monetaryDigitSet() const
770 {
771  return d->monetaryDigitSet();
772 }
773 
774 void KLocale::setDateTimeDigitSet(KLocale::DigitSet digitSet)
775 {
776  d->setDateTimeDigitSet(digitSet);
777 }
778 
779 KLocale::DigitSet KLocale::dateTimeDigitSet() const
780 {
781  return d->dateTimeDigitSet();
782 }
783 
784 void KLocale::reparseConfiguration()
785 {
786  d->initFormat();
787 }
This file is part of the KDE documentation.
Documentation copyright © 1996-2013 The KDE developers.
Generated on Mon Jul 15 2013 13:00:54 by doxygen 1.8.3.1 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KDECore

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

kdelibs-4.10.5 API Reference

Skip menu "kdelibs-4.10.5 API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal