locales                 package:base                 R Documentation

_Q_u_e_r_y _o_r _S_e_t _A_s_p_e_c_t_s _o_f _t_h_e _L_o_c_a_l_e

_D_e_s_c_r_i_p_t_i_o_n:

     Get details of or set aspects of the locale for the R process.

_U_s_a_g_e:

     Sys.getlocale(category = "LC_ALL")
     Sys.setlocale(category = "LC_ALL", locale = "")

_A_r_g_u_m_e_n_t_s:

category: character string.  The following categories should always be
          supported: '"LC_ALL"', '"LC_COLLATE"', '"LC_CTYPE"',
          '"LC_MONETARY"', '"LC_NUMERIC"' and '"LC_TIME"'.  Some
          systems will also support '"LC_MESSAGES"', '"LC_PAPER"' and
          '"LC_MEASUREMENT"'. 

  locale: character string.  A valid locale name on the system in use. 
          Normally '""' (the default) will pick up the default locale
          for the system.

_D_e_t_a_i_l_s:

     The locale describes aspects of the internationalization of a
     program. Initially most aspects of the locale of R are set to
     '"C"' (which is the default for the C language and reflects
     North-American usage). R sets '"LC_CTYPE"' and '"LC_COLLATE"',
     which allow the use of a different character set and alphabetic
     comparisons in that character set (including the use of 'sort'),
     '"LC_MONETARY"' (for use by 'Sys.localeconv') and '"LC_TIME"' may
     affect the behaviour of 'as.POSIXlt' and 'strptime' and functions
     which use them (but not 'date').

     R can be built with no support for locales, but it is normally
     available on Unix and is available on Windows.

     The first seven categories described here are those specified by
     POSIX.  '"LC_MESSAGES"' will be '"C"' on systems that do not
     support message translation, and is not supported on Windows. 
     Trying to use an unsupported category is an error for
     'Sys.setlocale'.

     Note that setting '"LC_ALL"' sets only '"LC_COLLATE"',
     '"LC_CTYPE"', '"LC_MONETARY"' and '"LC_TIME"'.

     Attempts to set an invalid locale are ignored.  There may or may
     not be a warning, depending on the OS.

     Attempts to change the character set (by 'Sys.setlocale("LC_TYPE",
     )', if that implies a different character set) during a session
     may not work and are likely to lead to some confusion.

_V_a_l_u_e:

     A character string of length one describing the locale in use
     (after setting for 'Sys.setlocale'), or an empty character string
     if the current locale settings are invalid or 'NULL' if locale
     information is unavailable.

     For 'category = "LC_ALL"' the details of the string are
     system-specific: it might be a single locale name or a set of
     locale names separated by '"/"' (Solaris, Mac OS X) or '";"'
     (Windows, Linux).  For portability, it is best to query categories
     individually: it is not necessarily the case that the result of
     'foo <- Sys.getlocale()' can be used in 'Sys.setlocale("LC_ALL",
     locale = foo)'.

_W_a_r_n_i_n_g:

     Setting '"LC_NUMERIC"' may cause R to function anomalously, so
     gives a warning.  Input conversions in R itself are unaffected,
     but the reading and writing of ASCII 'save' files will be, as may
     packages. Setting it temporarily to produce graphical or text
     output may work well enough, but 'options(OutDec)' is often
     preferable.

_N_o_t_e:

     Changing the values of locale categories whilst R is running ought
     to be noticed by the OS services, and usually is: known exceptions
     include systems using ICU (including Mac OS X), where the
     collation rules are cached when first used in a non-C locale (but
     can be reset by a call to 'icuSetCollate').

_S_e_e _A_l_s_o:

     'strptime' for uses of 'category = "LC_TIME"'. 'Sys.localeconv'
     for details of numerical and monetary representations.

     'l10n_info' gives some summary facts about the locale and its
     encoding.

_E_x_a_m_p_l_e_s:

     Sys.getlocale()
     Sys.getlocale("LC_TIME")
     ## Not run: 
     Sys.setlocale("LC_TIME", "de")     # Solaris: details are OS-dependent
     Sys.setlocale("LC_TIME", "de_DE.utf8")  # Modern Linux etc.
     Sys.setlocale("LC_TIME", "de_DE")  # Mac OS X
     Sys.setlocale("LC_TIME", "German") # Windows
     ## End(Not run)
     Sys.getlocale("LC_PAPER")          # may or may not be set

     Sys.setlocale("LC_COLLATE", "C")   # turn off locale-specific sorting, usually

