XXX: OpenBSD's locale support is very limited. This can probably be removed when support for LC_MESSAGES is added. $OpenBSD$ --- src/ports/unix/unix_main.c.orig Tue May 17 12:21:10 2011 +++ src/ports/unix/unix_main.c Tue May 17 12:32:54 2011 @@ -140,9 +140,14 @@ const char *Sys_SetLocale (const char *localeID) } # endif /* __APPLE__ */ +# ifdef __OpenBSD__ + if (Sys_Setenv("LC_ALL", localeID) != 0) + Com_Printf("...setenv for LC_ALL failed: %s\n", localeID); +# endif /* __OpenBSD__ */ + /* set to system default */ setlocale(LC_ALL, "C"); - locale = setlocale(LC_MESSAGES, localeID); + locale = setlocale(LC_ALL, localeID); if (!locale) { Com_DPrintf(DEBUG_CLIENT, "...could not set to language: %s\n", localeID); locale = setlocale(LC_MESSAGES, ""); @@ -160,7 +165,7 @@ const char *Sys_SetLocale (const char *localeID) const char *Sys_GetLocale (void) { /* Calling with NULL param should return current system settings. */ - const char *currentLocale = setlocale(LC_MESSAGES, NULL); + const char *currentLocale = setlocale(LC_ALL, NULL); if (currentLocale != NULL && currentLocale[0] != '\0') return currentLocale; else