diff options
Diffstat (limited to 'kdecore/klocale.h')
-rw-r--r-- | kdecore/klocale.h | 1350 |
1 files changed, 0 insertions, 1350 deletions
diff --git a/kdecore/klocale.h b/kdecore/klocale.h deleted file mode 100644 index 9bca02077..000000000 --- a/kdecore/klocale.h +++ /dev/null @@ -1,1350 +0,0 @@ -// -*- c-basic-offset: 2 -*- -/* This file is part of the KDE libraries - Copyright (C) 1997 Stephan Kulow <coolo@kde.org> - Copyright (C) 1999-2003 Hans Petter Bieker <bieker@kde.org> - Copyright (c) 2002 Lukas Tinkl <lukas@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ -#ifndef _KLOCALE_H -#define _KLOCALE_H - -#include <tqstring.h> -#include <kdelibs_export.h> - -class TQStringList; -class TQTextCodec; -class TQDate; -class TQTime; -class TQDateTime; - -class KGlobal; -class KConfig; -class KConfigBase; -class KLocalePrivate; -class KCatalogue; -class KCalendarSystem; - -/** - * \file klocale.h - */ - -#ifndef I18N_NOOP -/** - * \relates KLocale - * I18N_NOOP marks a string to be translated without translating it. - * Do not use this unless you know you need it. - * http://developer.kde.org/documentation/other/developer-faq.html#q2.11.2 - */ -#define I18N_NOOP(x) x -#endif - -#ifndef I18N_NOOP2 -/** - * \relates KLocale - * If the string is too ambiguous to be translated well to a non-english - * language, use this instead of I18N_NOOP to separate lookup string and english. - * \warning You need to call i18n( comment, stringVar ) later on, not just i18n( stringVar ). - * \since 3.3 - */ -#define I18N_NOOP2(comment,x) x -#endif - -/** - * \relates KLocale - * i18n is the function that does everything you need to translate - * a string. You just wrap around every user visible string a i18n - * call to get a TQString with the string in the user's preferred - * language. - * - * The argument must be an UTF-8 encoded string (If you only use - * characters that are in US-ASCII, you're on the safe side. But - * for e.g. German umlauts or French accents should be recoded to - * UTF-8) - **/ -KDECORE_EXPORT TQString i18n(const char *text); - -/** - * \relates KLocale - * If the string is too ambiguous to be translated well to a non-english - * language, use this form of i18n to separate lookup string and english - * text. - * @see translate - **/ -KDECORE_EXPORT TQString i18n(const char *comment, const char *text); - -/** - * \relates KLocale - * If you want to handle plural forms, use this form of i18n. - * @param singular the singular form of the word, for example "file". - * @param plural the plural form of the word. Must contain a "%n" that will - * be replaced by the number @p n, for example "%n files" - * @param n the number - * @return the correct singular or plural for the selected language, - * depending on n - * @see translate - **/ -KDECORE_EXPORT TQString i18n(const char *singular, const char *plural, unsigned long n); - -/** - * \relates KLocale - * Qt3's uic generates i18n( "msg", "comment" ) calls which conflict - * with our i18n method. We use uic -tr tr2i18n to redirect - * to the right i18n() function -**/ -inline TQString tr2i18n(const char* message, const char* =0) { - return i18n(message); -} - -/** - * - * KLocale provides support for country specific stuff like - * the national language. - * - * KLocale supports translating, as well as specifying the format - * for numbers, currency, time, and date. - * - * @author Stephan Kulow <coolo@kde.org>, Preston Brown <pbrown@kde.org>, - * Hans Petter Bieker <bieker@kde.org>, Lukas Tinkl <lukas.tinkl@suse.cz> - * @short class for supporting locale settings and national language - */ -class KDECORE_EXPORT KLocale -{ - friend class KGlobal; // for initInstance() -public: - /** - * Constructs a KLocale with the given catalog name. - * The constructor looks for an entry Locale/Language in the - * configuration file. - * If no config file is specified, it will also look for languages - * using the environment variables (KDE_LANG, LC_MESSAGES, LC_ALL, LANG), - * as well as the global configuration file. If KLocale is not able to use - * any of the specified languages, the default language (en_US) will be - * used. - * - * If you specify a configuration file, it has to be valid until - * the KLocale object is destroyed. - * - * @param catalog The name of the main language file - * @param config The configuration file to use. - */ - KLocale( const TQString& catalog, KConfig *config = 0 ); - - /** - * Copy constructor. - */ - KLocale( const KLocale & rhs ); - - /** - * Assignment operator. - */ - KLocale& operator= ( const KLocale & rhs ); - - /** - * Destructor. - */ - ~KLocale(); - - /** - * Translates the string into the corresponding string in - * the national language, if available. If not, returns - * the string itself. - * There is a KDE wide message file that contains the most - * often used phrases, so we can avoid duplicating the - * translation of these phrases. If a phrase is not found - * in the catalog given to the constructor, it will search - * in the system catalog. This makes it possible to override - * some phrases for your needs. - * - * The argument must be an UTF-8 encoded string (If you only use - * characters that are in US-ASCII you're on the safe side. But - * for e.g. german umlauts or french accents should be recoded to - * UTF-8) - * - * @param index The lookup text and default text, if not found. - */ - TQString translate( const char *index ) const; - - /** - * Translates the string into the corresponding string in the - * national language, if available. - * - * The real contents of the string is in the argument fallback, - * but the meaning of it is coded into the argument index. - * In some cases you'll need this function, when english is - * too ambiguous to express it. - * - * Most of the times the translators will tell you if it can't - * be translated as it, but think of cases as "New", where the - * translations differs depending on what is New. - * Or simple cases as "Open", that can be used to express something - * is open or it can be used to express that you want something to - * open... There are tons of such examples. - * - * If translate("Open") is not enough to translate it well, use - * translate("To Open", "Open") or translate("Is Open", "Open"). - * The english user will see "Open" in both cases, but the translated - * version may vary. Of course you can also use i18n() - * - * @param comment the comment. The lookup text is made out of comment + @p fallback - * @param fallback the default text, if not found - * @return translation - */ - TQString translate( const char *comment, const char *fallback) const; - - /** - * Used to get the correct, translated singular or plural of a - * word. - * @param singular the singular form of the word, for example "file". - * @param plural the plural form of the word. Must contain a "%n" that will - * be replaced by the number @p n, for example "%n files" - * @param n the number - * @return the correct singular or plural for the selected language, - * depending on n - */ - TQString translate( const char *singular, const char *plural, - unsigned long n) const; - - /** - * Changes the current encoding. - * - * @param mibEnum The mib of the preferred codec - * - * @return True on success. - */ - bool setEncoding(int mibEnum); - - /** - * Changes the current language. The current language will be left - * unchanged if failed. It will force a reload of the country specific - * configuration as well. - * - * @param language The language code. - * - * @return True on success. - */ - bool setLanguage(const TQString & language); - - /** - * Changes the list of prefed languages for the locale. The first valid - * language in the list will be used, or the default (en_US) language - * will be used if non of the specified languages were available. - * - * @param languages The list of language codes. - * - * @return True if one of the specified languages were used. - */ - bool setLanguage(const TQStringList & languages); - - /** - * Changes the current country. The current country will be left - * unchanged if failed. It will force a reload of the country specific - * configuration. - * - * @param country The ISO 3166 country code. - * - * @return True on success. - */ - bool setCountry(const TQString & country); - - /** - * Various positions for where to place the positive or negative - * sign when they are related to a monetary value. - */ - enum SignPosition { ParensAround = 0, BeforeQuantityMoney = 1, - AfterQuantityMoney = 2, - BeforeMoney = 3, AfterMoney = 4 }; - - /** - * Returns what a decimal point should look like ("." or "," etc.) - * according to the current locale or user settings. - * - * @return The decimal symbol used by locale. - */ - TQString decimalSymbol() const; - - /** - * Returns what the thousands separator should look - * like ("," or "." etc.) - * according to the current locale or user settings. - * - * @return The thousands separator used by locale. - */ - TQString thousandsSeparator() const; - - /** - * Returns what the symbol denoting currency in the current locale - * as as defined by user settings should look like. - * - * @return The default currency symbol used by locale. - */ - TQString currencySymbol() const; - - /** - * Returns what a decimal point should look like ("." or "," etc.) - * for monetary values, according to the current locale or user - * settings. - * - * @return The monetary decimal symbol used by locale. - */ - TQString monetaryDecimalSymbol() const; - - /** - * Returns what a thousands separator for monetary values should - * look like ("," or " " etc.) according to the current locale or - * user settings. - * - * @return The monetary thousands separator used by locale. - */ - TQString monetaryThousandsSeparator() const; - - /** - * Returns what a positive sign should look like ("+", " ", etc.) - * according to the current locale or user settings. - * - * @return The positive sign used by locale. - */ - TQString positiveSign() const; - - /** - * Returns what a negative sign should look like ("-", etc.) - * according to the current locale or user settings. - * - * @return The negative sign used by locale. - */ - TQString negativeSign() const; - - /** - * The number of fractional digits to include in numeric/monetary - * values (usually 2). - * - * @return Default number of fractional digits used by locale. - */ - int fracDigits() const; - - /** - * If and only if the currency symbol precedes a positive value, - * this will be true. - * - * @return Where to print the currency symbol for positive numbers. - */ - bool positivePrefixCurrencySymbol() const; - - /** - * If and only if the currency symbol precedes a negative value, - * this will be true. - * - * @return True if the currency symbol precedes negative numbers. - */ - bool negativePrefixCurrencySymbol() const; - - /** - * Returns the position of a positive sign in relation to a - * monetary value. - * - * @return Where/how to print the positive sign. - * @see SignPosition - */ - SignPosition positiveMonetarySignPosition() const; - - /** - * Denotes where to place a negative sign in relation to a - * monetary value. - * - * @return Where/how to print the negative sign. - * @see SignPosition - */ - SignPosition negativeMonetarySignPosition() const; - - /** - * Given a double, converts that to a numeric string containing - * the localized monetary equivalent. - * - * e.g. given 123456, return "$ 123,456.00". - * - * @param num The number we want to format - * @param currency The currency symbol you want. - * @param digits Number of fractional digits, or -1 for the default - * value - * - * @return The number of money as a localized string - * @see fracDigits() - */ - TQString formatMoney(double num, - const TQString & currency = TQString::null, - int digits = -1) const; - - /** - * Given a double, converts that to a numeric string containing - * the localized numeric equivalent. - * - * e.g. given 123456.78F, return "123,456.78" (for some European country). - * If precision isn't specified, 2 is used. - * - * This function is a wrapper that is provided for convenience. - * - * @param num The number to convert - * @param precision Number of fractional digits used. - * - * @return The number as a localized string - * @see formatNumber(const TQString, bool, int) - */ - TQString formatNumber(double num, int precision = -1) const; - - /** - * @deprecated - * - * KDE 4.0: merge with formatNumber(const TQString int) - * - * calls formatNumber(numStr, 2) - */ - TQString formatNumber(const TQString &numStr) const KDE_DEPRECATED; - - /** - * Given a string representing a number, converts that to a numeric - * string containing the localized numeric equivalent. - * - * e.g. given 123456.78F, return "123,456.78" (for some European country). - * - * @param numStr The number to convert - * @param round Round fractional digits. - * @param precision Number of fractional digits used. - * - * @return The number as a localized string - * @since 3.5 - */ - TQString formatNumber(const TQString &numStr, bool round, int precision) const; - - /** - * Given an integer, converts that to a numeric string containing - * the localized numeric equivalent. - * - * e.g. given 123456L, return "123,456" (for some European country). - * - * @param num The number to convert - * - * @return The number as a localized string - * @since 3.2 - */ - TQString formatLong(long num) const; - - /** - * Use this to determine whether nouns are declined in - * locale's language. This property should remain - * read-only (no setter function) - * - * @return If nouns are declined - * @since 3.1 - */ - bool nounDeclension() const; - - /** - * Returns a string formatted to the current locale's conventions - * regarding dates. - * - * @param pDate The date to be formated. - * @param shortFormat True for non text dates. - * - * @return The date as a string - */ - TQString formatDate(const TQDate &pDate, bool shortFormat = false) const; - - /** - * Use this to determine whether in dates a possessive form of month - * name is preferred ("of January" rather than "January") - * - * @return If possessive form should be used - * @since 3.1 - */ - bool dateMonthNamePossessive() const; - - /** - * Returns a string formatted to the current locale's conventions - * regarding times. - * - * @param pTime The time to be formated. - * @param includeSecs if true, seconds are included in the output, - * otherwise only hours and minutes are formatted. - * @param isDuration if true, the given time is a duration, not a clock time. - * This means "am/pm" shouldn't be displayed. - * - * @return The time as a string - */ - TQString formatTime(const TQTime &pTime, bool includeSecs, bool isDuration /*=false*/) const; - - /** - * Returns a string formatted to the current locale's conventions - * regarding times. - * - * @param pTime The time to be formated. - * @param includeSecs if true, seconds are included in the output, - * otherwise only hours and minutes are formatted. - * - * @return The time as a string - */ - TQString formatTime(const TQTime &pTime, bool includeSecs = false) const; // BIC: merge with above - - /** - * Use this to determine if the user wants a 12 hour clock. - * - * @return If the user wants 12h clock - */ - bool use12Clock() const; - - /** - * @deprecated - * - * Please use the weekStartDay method instead. - * - * Use this to determine if the user wants the week to start on Monday. - * - * @return true if the week starts on Monday - */ - bool weekStartsMonday() const KDE_DEPRECATED; //### remove for KDE 4.0 - - /** - * Use this to determine which day is the first day of the week. - * - * @return an integer (Monday=1..Sunday=7) - * @since 3.1 - */ - int weekStartDay() const; - - /** - * @deprecated - * - * Returns a string containing the name of the month name used in the Gregorian calendar. - * - * @param i the month number of the year starting at 1/January. - * @param shortName we will return the short version of the string. - * - * @return The name of the month - * - * Typically the correct replacement for this deprecated class is - * calendar()->monthString(), which requires a TQDate (rather than an - * integer month) or both a month and a year. - * This will work across different calendars. - * Note that you also need to add - * \code - * #include <kcalendarsystem.h> - * \endcode - * to the applicable file. - */ - TQString monthName(int i, bool shortName = false) const KDE_DEPRECATED; - - /** - * @deprecated - * - * Returns a string containing the possessive form of the month name used in the Gregorian calendar. - * ("of January", "of February", etc.) - * It's needed in long format dates in some languages. - * - * @param i the month number of the year starting at 1/January. - * @param shortName we will return the short version of the string. - * - * @return The possessive form of the name of the month - * @since 3.1 - * - * Typically the correct replacement for this deprecated class is - * calendar()->monthNamePossessive(), which requires a TQDate (rather than - * an integer month) or both a month and a year. - * This will work across different calendars. - * Note that you also need to add - * \code - * #include <kcalendarsystem.h> - * \endcode - * to the applicable file. - */ - TQString monthNamePossessive(int i, bool shortName = false) const KDE_DEPRECATED; - - /** - * @deprecated use calendar()->weekDayName - * - * Returns a string containing the name of the week day used in the Gregorian calendar. - * - * @param i the day number of the week starting at 1/Monday. - * @param shortName we will return the short version of the string. - * - * @return The name of the day - */ - TQString weekDayName(int i, bool shortName = false) const KDE_DEPRECATED; - - /** - * Returns a pointer to the calendar system object. - * - * @return the current calendar system instance - * @since 3.2 - */ - const KCalendarSystem * calendar() const; - - /** - * Returns the name of the calendar system that is currently being - * used by the system. - * - * @return the name of the calendar system - * @since 3.2 - */ - TQString calendarType() const; - - /** - * Changes the current calendar system to the calendar specified. - * Currently "gregorian" and "hijri" are supported. If the calendar - * system specified is not found, gregorian will be used. - * - * @param calendarType the name of the calendar type - * @since 3.2 - */ - void setCalendar(const TQString & calendarType); - - /** - * Returns a string formated to the current locale's conventions - * regarding both date and time. - * - * @param pDateTime The date and time to be formated. - * @param shortFormat using the short date format. - * @param includeSecs using the short date format. - * - * @return The date and time as a string - */ - TQString formatDateTime(const TQDateTime &pDateTime, - bool shortFormat = true, - bool includeSecs = false) const; - - /** - * Converts a localized monetary string to a double. - * - * @param numStr the string we want to convert. - * @param ok the boolean that is set to false if it's not a number. - * If @p ok is 0, it will be ignored - * - * @return The string converted to a double - */ - double readMoney(const TQString &numStr, bool * ok = 0) const; - - /** - * Converts a localized numeric string to a double. - * - * @param numStr the string we want to convert. - * @param ok the boolean that is set to false if it's not a number. - * If @p ok is 0, it will be ignored - * - * @return The string converted to a double - */ - double readNumber(const TQString &numStr, bool * ok = 0) const; - - /** - * Converts a localized date string to a TQDate. - * The bool pointed by ok will be invalid if the date entered was not valid. - * - * @param str the string we want to convert. - * @param ok the boolean that is set to false if it's not a valid date. - * If @p ok is 0, it will be ignored - * - * @return The string converted to a QDate - */ - TQDate readDate(const TQString &str, bool* ok = 0) const; - - /** - * Converts a localized date string to a TQDate, using the specified format. - * You will usually not want to use this method. - */ - TQDate readDate( const TQString &intstr, const TQString &fmt, bool* ok = 0) const; - - enum ReadDateFlags { - NormalFormat = 1, - ShortFormat = 2 - }; - - /** - * Converts a localized date string to a TQDate. - * This method is stricter than readDate(str,&ok): it will either accept - * a date in full format or a date in short format, depending on @p flags. - * - * @param str the string we want to convert. - * @param flags whether the date string is to be in full format or in short format. - * @param ok the boolean that is set to false if it's not a valid date. - * If @p ok is 0, it will be ignored - * - * @return The string converted to a QDate - * @since 3.2 - */ - TQDate readDate(const TQString &str, ReadDateFlags flags, bool *ok = 0) const; - - /** - * Converts a localized time string to a TQTime. - * This method will try to parse it with seconds, then without seconds. - * The bool pointed to by @p ok will be set to false if the time entered was - * not valid. - * - * @param str the string we want to convert. - * @param ok the boolean that is set to false if it's not a valid time. - * If @p ok is 0, it will be ignored - * - * @return The string converted to a QTime - */ - TQTime readTime(const TQString &str, bool* ok = 0) const; - - enum ReadTimeFlags { - WithSeconds = 0, // default (no flag set) - WithoutSeconds = 1 - }; // (maybe use this enum as a bitfield, if adding independent features?) - /** - * Converts a localized time string to a TQTime. - * This method is stricter than readTime(str,&ok): it will either accept - * a time with seconds or a time without seconds. - * Use this method when the format is known by the application. - * - * @param str the string we want to convert. - * @param flags whether the time string is expected to contain seconds or not. - * @param ok the boolean that is set to false if it's not a valid time. - * If @p ok is 0, it will be ignored - * - * @return The string converted to a QTime - * @since 3.2 - */ - TQTime readTime(const TQString &str, ReadTimeFlags flags, bool *ok = 0) const; - - /** - * Returns the language used by this object. The domain AND the - * library translation must be available in this language. - * defaultLanguage() is returned by default, if no other available. - * - * @return The currently used language. - */ - TQString language() const; - - /** - * Returns the country code of the country where the user lives. - * defaultCountry() is returned by default, if no other available. - * - * @return The country code for the user. - */ - TQString country() const; - - /** - * Returns the preferred languages as ISO 639-1 codes. This means - * that information about country is removed. If the internal language - * code might be represented by more than one 639-1 code, they will all be - * listed (but only once). - * - * If the selected languages are "nn, nb, pt_BR", you will get: - * "nn, nb, pt". - * - * @return List of language codes - * - * @see languageList - */ - TQStringList languagesTwoAlpha() const; - - /** - * Returns the languages selected by user. The codes returned here is the - * internal language codes. - * - * @return List of language codes - * - * @see languagesTwoAlpha - */ - TQStringList languageList() const; - - /** - * Returns the user's preferred encoding. - * - * @return The name of the preferred encoding - * - * @see codecForEncoding - * @see encodingMib - */ - const char * encoding() const; - - /** - * Returns the user's preferred encoding. - * - * @return The Mib of the preferred encoding - * - * @see encoding - * @see codecForEncoding - */ - int encodingMib() const; - /** - * Returns the user's preferred encoding. Should never be NULL. - * - * @return The codec for the preferred encoding - * - * @see encoding - * @see encodingMib - */ - TQTextCodec * codecForEncoding() const; - - /** - * Returns the file encoding. - * - * @return The Mib of the file encoding - * - * @see TQFile::encodeName - * @see TQFile::decodeName - */ - int fileEncodingMib() const; - - /** - * Changes the current date format. - * - * The format of the date is a string which contains variables that will - * be replaced: - * @li %Y with the century (e.g. "19" for "1984") - * @li %y with the lower 2 digits of the year (e.g. "84" for "1984") - * @li %n with the month (January="1", December="12") - * @li %m with the month with two digits (January="01", December="12") - * @li %e with the day of the month (e.g. "1" on the first of march) - * @li %d with the day of the month with two digits(e.g. "01" on the first of march) - * @li %b with the short form of the month (e.g. "Jan" for January) - * @li %B with the long form of the month (e.g. "January") - * @li %a with the short form of the weekday (e.g. "Wed" for Wednesday) - * @li %A with the long form of the weekday (e.g. "Wednesday" for Wednesday) - * - * Everything else in the format string will be taken as is. - * For example, March 20th 1989 with the format "%y:%m:%d" results - * in "89:03:20". - * - * @param format The new date format - */ - void setDateFormat(const TQString & format); - /** - * Changes the current short date format. - * - * The format of the date is a string which contains variables that will - * be replaced: - * @li %Y with the century (e.g. "19" for "1984") - * @li %y with the lower 2 digits of the year (e.g. "84" for "1984") - * @li %n with the month (January="1", December="12") - * @li %m with the month with two digits (January="01", December="12") - * @li %e with the day of the month (e.g. "1" on the first of march) - * @li %d with the day of the month with two digits(e.g. "01" on the first of march) - * @li %b with the short form of the month (e.g. "Jan" for January) - * @li %B with the long form of the month (e.g. "January") - * @li %a with the short form of the weekday (e.g. "Wed" for Wednesday) - * @li %A with the long form of the weekday (e.g. "Wednesday" for Wednesday) - * - * Everything else in the format string will be taken as is. - * For example, March 20th 1989 with the format "%y:%m:%d" results - * in "89:03:20". - * - * @param format The new short date format - */ - void setDateFormatShort(const TQString & format); - /** - * Changes the form of month name used in dates. - * - * @param possessive True if possessive forms should be used - * @since 3.1 - */ - void setDateMonthNamePossessive(bool possessive); - /** - * Changes the current time format. - * - * The format of the time is string a which contains variables that will - * be replaced: - * @li %H with the hour in 24h format and 2 digits (e.g. 5pm is "17", 5am is "05") - * @li %k with the hour in 24h format and one digits (e.g. 5pm is "17", 5am is "5") - * @li %I with the hour in 12h format and 2 digits (e.g. 5pm is "05", 5am is "05") - * @li %l with the hour in 12h format and one digits (e.g. 5pm is "5", 5am is "5") - * @li %M with the minute with 2 digits (e.g. the minute of 07:02:09 is "02") - * @li %S with the seconds with 2 digits (e.g. the minute of 07:02:09 is "09") - * @li %p with pm or am (e.g. 17.00 is "pm", 05.00 is "am") - * - * Everything else in the format string will be taken as is. - * For example, 5.23pm with the format "%H:%M" results - * in "17:23". - * - * @param format The new time format - */ - void setTimeFormat(const TQString & format); - - /** - * @deprecated - * - * Please use setWeekStartDay instead. - * - * Changes how KLocale defines the first day in week. - * - * @param start True if Monday is the first day in the week - */ - void setWeekStartsMonday(bool start) KDE_DEPRECATED; //### remove for KDE 4.0 - - /** - * Changes how KLocale defines the first day in week. - * - * @param day first day of the week (Monday=1..Sunday=7) as integer - * @since 3.1 - */ - void setWeekStartDay(int day); - /** - * Returns the currently selected date format. - * - * @return Current date format. - * @see setDateFormat() - */ - TQString dateFormat() const; - /** - * Returns the currently selected short date format. - * - * @return Current short date format. - * @see setDateFormatShort() - */ - TQString dateFormatShort() const; - /** - * Returns the currently selected time format. - * - * @return Current time format. - * @see setTimeFormat() - */ - TQString timeFormat() const; - - /** - * Changes the symbol used to identify the decimal pointer. - * - * @param symbol The new decimal symbol. - */ - void setDecimalSymbol(const TQString & symbol); - /** - * Changes the separator used to group digits when formating numbers. - * - * @param separator The new thousands separator. - */ - void setThousandsSeparator(const TQString & separator); - /** - * Changes the sign used to identify a positive number. Normally this is - * left blank. - * - * @param sign Sign used for positive numbers. - */ - void setPositiveSign(const TQString & sign); - /** - * Changes the sign used to identify a negative number. - * - * @param sign Sign used for negative numbers. - */ - void setNegativeSign(const TQString & sign); - /** - * Changes the sign position used for positive monetary values. - * - * @param signpos The new sign position - */ - void setPositiveMonetarySignPosition(SignPosition signpos); - /** - * Changes the sign position used for negative monetary values. - * - * @param signpos The new sign position - */ - void setNegativeMonetarySignPosition(SignPosition signpos); - /** - * Changes the position where the currency symbol should be printed for - * positive monetary values. - * - * @param prefix True if the currency symbol should be prefixed instead of - * postfixed - */ - void setPositivePrefixCurrencySymbol(bool prefix); - /** - * Changes the position where the currency symbol should be printed for - * negative monetary values. - * - * @param prefix True if the currency symbol should be prefixed instead of - * postfixed - */ - void setNegativePrefixCurrencySymbol(bool prefix); - /** - * Changes the number of digits used when formating numbers. - * - * @param digits The default number of digits to use. - */ - void setFracDigits(int digits); - /** - * Changes the separator used to group digits when formating monetary values. - * - * @param separator The new thousands separator. - */ - void setMonetaryThousandsSeparator(const TQString & separator); - /** - * Changes the symbol used to identify the decimal pointer for monetary - * values. - * - * @param symbol The new decimal symbol. - */ - void setMonetaryDecimalSymbol(const TQString & symbol); - /** - * Changes the current currency symbol. - * - * @param symbol The new currency symbol - */ - void setCurrencySymbol(const TQString & symbol); - - /** - * Returns the preferred page size for printing. - * - * @return The preferred page size, cast it to TQPrinter::PageSize - */ - int pageSize() const; - - /** - * Changes the preferred page size when printing. - * - * @param paperFormat the new preferred page size in the format TQPrinter::PageSize - */ - void setPageSize(int paperFormat); - - /** - * The Metric system will give you information in mm, while the - * Imperial system will give you information in inches. - */ - enum MeasureSystem { Metric, Imperial }; - - /** - * Returns which measuring system we use. - * - * @return The preferred measuring system - */ - MeasureSystem measureSystem() const; - - /** - * Changes the preferred measuring system. - * - * @return value The preferred measuring system - */ - void setMeasureSystem(MeasureSystem value); - - /** - * Adds another catalog to search for translation lookup. - * This function is useful for extern libraries and/or code, - * that provide there own messages. - * - * If the catalog does not exist for the chosen language, - * it will be ignored and en_US will be used. - * - * @param catalog The catalog to add. - */ - void insertCatalogue(const TQString& catalog); - - /** - * Removes a catalog for translation lookup. - * @param catalog The catalog to remove. - * @see insertCatalogue() - */ - void removeCatalogue(const TQString &catalog); - - /** - * Sets the active catalog for translation lookup. - * @param catalog The catalog to activate. - */ - void setActiveCatalogue(const TQString &catalog); - - /** - * Translates a message as a QTranslator is supposed to. - * The parameters are similar to i18n(), but the result - * value has other semantics (it can be TQString::null) - * @since 3.1 - **/ - TQString translateQt(const char *context, - const char *sourceText, - const char *message) const; - - /** - * Returns list of all known ISO 639-1 codes. - * @return a list of all language codes - * @since 3.1 - */ - TQStringList allLanguagesTwoAlpha() const; - - /** - * Convert a ISO 639-1 code to a human readable form. - * @param code the language ISO 639-1 code - * @return the human readable form - * @since 3.1 - */ - TQString twoAlphaToLanguageName(const TQString &code) const; - - /** - * Returns list of all known country codes. - * @return a list of all country codes - * @since 3.1 - */ - TQStringList allCountriesTwoAlpha() const; - - /** - * Convert a country code to a human readable form. - * @param code the country code - * @return the human readable form of the country name - * @since 3.1 - */ - TQString twoAlphaToCountryName(const TQString &code) const; - - /** - * Returns the parts of the parameter str understood as language setting - * the format is language_COUNTRY.charset - * - * @param str The string to split. - * @param language This will be set to the language part of the string. - * @param country This will be set to the country part of the string. - * @param charset This will be set to the charset part of the string. - */ - static void splitLocale(const TQString & str, - TQString & language, - TQString & country, - TQString & charset); - - /** - * Use this as main catalog for *all* KLocales, if not the appname - * will be used. This function is best to be the very first instruction - * in your program's main function as it only has an effect before the - * first KLocale object is created. - * - * @param catalog Catalogue to override all other main catalogues. - */ - static void setMainCatalogue(const char *catalog); - - /** - * Finds localized resource in resourceDir( rtype ) + \<lang> + fname. - * - * @param fname relative path to find - * @param rtype resource type to use - */ - static TQString langLookup(const TQString &fname, const char *rtype = "html"); - - /** - * Returns the name of the internal language. - * - * @return Name of the default language - */ - static TQString defaultLanguage(); - - /** - * Returns the name of the default country. - * - * @return Name of the default country - */ - static TQString defaultCountry(); - - - /** - * @internal Called from KConfigBackend to initialize language. - */ - static TQString _initLanguage(KConfigBase *config); - -#ifdef KDE_NO_COMPAT -private: -#endif - /** - * @deprecated - * use formatMoney(double) - */ - TQString formatMoney(const TQString &numStr) const KDE_DEPRECATED; - - /** - * @deprecated - * Use languageList() - * - * @return String containing language codes separated by colons - */ - TQString languages() const KDE_DEPRECATED; - - /** - * @deprecated - * @return True - */ - bool setCharset(const TQString & charset) KDE_DEPRECATED; - - /** - * @deprecated - * @see encoding - */ - TQString charset() const KDE_DEPRECATED; - -protected: - /** - * @internal Creates a KLocale object for KGlobal and inits the locale - * pointer. - */ - static void initInstance(); - -private: - /** - * @internal Inits the localization part of the instance with the config - * object. - * - * @param config The configuration object used for init. - */ - void initFormat(KConfig *config); - - /** - * @internal Initializes the catalogs appname, kdelibs and kio for all chosen languages. - * - * @param config The configuration object used for init - * @param useEnv True if we should use environment variables - */ - void initMainCatalogues(const TQString & catalog); - - /** - * @internal Initializes the list of valid languages from the user's point of view. This is the list of - * languages that the user picks in kcontrol. The config object should be valid and contain the global - * entries. - * - * @param config The configuration object used for init - * @param useEnv True if we should use environment variables - */ - void initLanguageList(KConfig * config, bool useEnv); - - /** - * @internal Figures out which encoding the user prefers. - * - * @param config The configuration object used for init - */ - void initEncoding(KConfig * config); - - /** - * @internal Figures out which encoding the user prefers for filenames - * and sets up the appropriate TQFile encoding and decoding functions. - */ - void initFileNameEncoding(KConfig *config); - - /** - * @internal A TQFile filename encoding function (TQFile::encodeFn). - */ -#ifdef USE_QT3 - static TQCString encodeFileNameUTF8( const TQString & fileName ); -#endif // USE_QT3 -#ifdef USE_QT4 - static QByteArray encodeFileNameUTF8( const QString & fileName ); -#endif // USE_QT4 - - /** - * @internal TQFile filename decoding function (TQFile::decodeFn). - */ -#ifdef USE_QT3 - static TQString decodeFileNameUTF8( const TQCString & localFileName ); -#endif // USE_QT3 -#ifdef USE_QT4 - static QString decodeFileNameUTF8( const QByteArray & localFileName ); -#endif // USE_QT4 - - /** - * @internal Changes the file name of the catalog to the correct - * one. - */ - void initCatalogue( KCatalogue & catalog ); - - /** - * @internal Ensures that the format configuration is read. - */ - void doFormatInit() const; - - /** - * @internal Reads the format configuration from disk. - */ - void initFormat(); - - /** - * @internal function used by the two translate versions - */ - TQString translate_priv(const char *index, - const char *text, - const char ** original = 0, - int* pluralType = 0) const; - - /** - * @internal function used to determine if we are using the en_US translation - */ - bool useDefaultLanguage() const; - - /** - * @internal Checks if the specified language is installed - */ - bool isLanguageInstalled(const TQString & language) const; - - /** - * @internal evaluate the list of catalogs and check that all instances for all languages are loaded - * and that they are sorted according to the catalog names - */ - void updateCatalogues( ); - - /** - * @internal Find the plural type for all loaded catalogs - */ - void initPluralTypes( ); - /** - * @internal Find the plural type for a language. Look this up in the corresponding kdelibs.po. - * - * @param language The language to examine - */ - int pluralType( const TQString & language ); - - /** - * @internal Find the plural type information for a given catalog. This catalog will be a kdelibs.mo. Method - * just exists to make code more readable. - * - * @param language The language to examine - */ - int pluralType( const KCatalogue& catalog ); - /** - * @internal Find catalog for given language and given catalog name. - * - * @param language language of the catalog - * @param name name of the catalog - */ - // const KCatalogue * catalog( const TQString & language, const TQString & name ); - - - /** - * @internal Retrieves the file name of the catalog, or TQString::null - * if not found. - */ - static TQString catalogueFileName(const TQString & language, - const KCatalogue & catalog); -public: - /** - * @internal Checks whether or not theFind catalog for given language and given catalog name. - * - * @param language language to check - */ - bool isApplicationTranslatedInto( const TQString & language); - -private: - // Numbers and money - TQString m_decimalSymbol; - TQString m_thousandsSeparator; - TQString m_currencySymbol; - TQString m_monetaryDecimalSymbol; - TQString m_monetaryThousandsSeparator; - TQString m_positiveSign; - TQString m_negativeSign; - int m_fracDigits; - SignPosition m_positiveMonetarySignPosition; - SignPosition m_negativeMonetarySignPosition; - - // Date and time - TQString m_timeFormat; - TQString m_dateFormat; - TQString m_dateFormatShort; - - TQString m_language; - TQString m_country; - - bool m_weekStartsMonday; //### remove for KDE 4.0 - bool m_positivePrefixCurrencySymbol; - bool m_negativePrefixCurrencySymbol; - - KLocalePrivate *d; -}; - -#endif |