Wt  4.0.2
Public Member Functions | Static Public Member Functions | List of all members
Wt::WLocale Class Reference

A locale. More...

#include <Wt/WLocale.h>

Public Member Functions

 WLocale ()
 Default constructor. More...
 
 WLocale (const Wt::WLocale &locale)
 Copy constructor.
 
 WLocale (const std::string &locale)
 Creates a locale by name. More...
 
 WLocale (const char *locale)
 Creates a locale by name. More...
 
WLocaleoperator= (const WLocale &locale)
 Assignment operator.
 
void setDecimalPoint (std::string c)
 Sets the decimal point. More...
 
std::string decimalPoint () const
 Returns the decimal point. More...
 
void setGroupSeparator (std::string c)
 Sets the decimal group separator. More...
 
std::string groupSeparator () const
 Returns the decimal group separator. More...
 
void setTimeZone (const date::time_zone *zone)
 Sets the time zone. More...
 
const date::time_zone * timeZone () const
 Returns the user's time zone. More...
 
void setDateFormat (const WString &format)
 Sets the date format. More...
 
WString dateFormat () const
 Returns the date format. More...
 
void setTimeFormat (const WString &format)
 Sets the time format. More...
 
WString timeFormat () const
 Returns the time format. More...
 
void setDateTimeFormat (const WString &format)
 Sets the date/time format. More...
 
WString dateTimeFormat () const
 Returns the date/time format. More...
 
std::string name () const
 Returns the locale name. More...
 
double toDouble (const WString &value) const
 Parses a floating point number. More...
 
int toInt (const WString &value) const
 Parses an integer number. More...
 
WString toString (int value) const
 Formats an integer number.
 
WString toString (unsigned int value) const
 Formats an integer number.
 
WString toString (::int64_t value) const
 Formats an integer number.
 
WString toString (::uint64_t value) const
 Formats an integer number.
 
WString toString (double value) const
 Formats a floating point number.
 
WString toFixedString (double value, int precision) const
 Formats a floating point number with given precision.
 

Static Public Member Functions

static const WLocalecurrentLocale ()
 Returns the current (user) locale. More...
 
static void setCurrentLocale (const WLocale &locale)
 Sets the current (user) locale. More...
 

Detailed Description

A locale.

This class provides localization support for an application.

It can be used to determine the formatting of dates and numbers, and by WLocalDateTime to determine the time zone.

Note that only the name() parameter is automatically retrieved from the browser, if possible, and message resources are deduced based on that. All other parameters have to be configured.

We plan to leverage the C++ std::locale to deduce these parameters, but this is currently not implemented.

See also
WApplication::locale()

Constructor & Destructor Documentation

Wt::WLocale::WLocale ( )

Default constructor.

Configures a locale with an empty name, and US conventions:

  • "yyyy/MM/dd" format for dates.
  • "." as decimal point, and no group separator.
Wt::WLocale::WLocale ( const std::string &  locale)

Creates a locale by name.

The locale name is a string such as "en" (for English) or "en_GB" (for UK English).

Wt::WLocale::WLocale ( const char *  locale)

Creates a locale by name.

The locale name is a string such as "en" (for English) or "en_GB" (for UK English).

Member Function Documentation

const WLocale & Wt::WLocale::currentLocale ( )
static

Returns the current (user) locale.

This returns WApplication::instance()->locale() if the WApplication::instance() != 0, or a default locale otherwise.

WString Wt::WLocale::dateFormat ( ) const

Returns the date format.

Returns the date format.

WString Wt::WLocale::dateTimeFormat ( ) const

Returns the date/time format.

Returns the date/time format.

std::string Wt::WLocale::decimalPoint ( ) const

Returns the decimal point.

See also
setDecimalPoint()
std::string Wt::WLocale::groupSeparator ( ) const

Returns the decimal group separator.

See also
setGroupSeparator()
std::string Wt::WLocale::name ( ) const

Returns the locale name.

This is the name of the locale that was set through the constructor.

void Wt::WLocale::setCurrentLocale ( const WLocale locale)
static

Sets the current (user) locale.

This calls WApplication::setLocale().

When there is no session (e.i. WApplication::instance() == 0), for example in WResource::handleRequest(), then this sets the locale for the current request.

void Wt::WLocale::setDateFormat ( const WString format)

Sets the date format.

Sets the default format for date entry, e.g. as used in WDateValidator. See WDate::toString() for the supported syntax.

The default date format is "yyyy-MM-dd".

void Wt::WLocale::setDateTimeFormat ( const WString format)

Sets the date/time format.

Sets the format for a localized time stamp (using WLocalDateTime::toString()). See WDateTime::toString() for the supported syntax.

The default date/time format is "yyyy-MM-dd HH:mm:ss".

void Wt::WLocale::setDecimalPoint ( std::string  c)

Sets the decimal point.

Sets the character used to separate integral from fractional digits in a double.

Note
the argument is a UTF-8 encoded character and can thus be up to 4 byte.
void Wt::WLocale::setGroupSeparator ( std::string  c)

Sets the decimal group separator.

Sets the character used to separate thousands in a number.

Note
the argument is a UTF-8 encoded character and can thus be up to 4 byte.
void Wt::WLocale::setTimeFormat ( const WString format)

Sets the time format.

Sets the default format for time entry, eg. as used in WTimeValidator. See WTime::toString() for the supported syntax.

The default time format is "HH:mm:ss".

void Wt::WLocale::setTimeZone ( const date::time_zone *  zone)

Sets the time zone.

This sets the time zone (used by the client). The posixTimeZone must be an IEEE Std 1003.1 zone string in the form of: "std offset dst [offset],start[/time],end[/time]" and specifies all aspects of UTC to local time conversion for the user, including taking into account daylight savings time.

e.g. "EST-5EDT,M4.1.0,M10.5.0" represents the time zone configuration suitable for USA EastCoast (NYC).

The time zone is not provided by the browser and therefore you will need to ask the user to select an appropriate time zone. This can be done using for example boost::local_time::tz_database by asking the user to select his region from this database, and retrieving the corresponding time zone string. You may want to propose a suitable default time zone by using WEnvironment::timeZoneOffset() and pre-selecting a region that matches this offset.

The default value is empty.

The timezone is used by WLocalDateTime.

See also
WEnvironment::timeZoneOffset()
WString Wt::WLocale::timeFormat ( ) const

Returns the time format.

Returns the time format.

const date::time_zone* Wt::WLocale::timeZone ( ) const

Returns the user's time zone.

See also
setTimeZone()
double Wt::WLocale::toDouble ( const WString value) const

Parses a floating point number.

Throws a runtime exception if the number could not be parsed.

int Wt::WLocale::toInt ( const WString value) const

Parses an integer number.

Throws a runtime exception if the number could not be parsed.


Generated on Fri Nov 24 2017 for the C++ Web Toolkit (Wt) by doxygen 1.8.11