7.2.13 Locales

Scheme Procedure: setlocale category [locale]
C Function: scm_setlocale (category, locale)

Get or set the current locale, used for various internationalizations. Locales are strings, such as ‘sv_SE’.

If locale is given then the locale for the given category is set and the new value returned. If locale is not given then the current value is returned. category should be one of the following values (see Categories of Activities that Locales Affect in The GNU C Library Reference Manual):

Variable: LC_ALL
Variable: LC_COLLATE
Variable: LC_CTYPE
Variable: LC_MESSAGES
Variable: LC_MONETARY
Variable: LC_NUMERIC
Variable: LC_TIME

A common usage is ‘(setlocale LC_ALL "")’, which initializes all categories based on standard environment variables (LANG etc). For full details on categories and locale names see Locales and Internationalization in The GNU C Library Reference Manual.

Note that setlocale affects locale settings for the whole process. See locale objects and make-locale, for a thread-safe alternative.