#include #include #include #include int main(void) { locale_t locale; setlocale(LC_MESSAGES, ""); locale = newlocale(LC_MESSAGES_MASK, "uk_UA.UTF-8", (locale_t)0); printf("%s\n", strerror_l(EINVAL, locale)); printf("%s\n", strerror(EINVAL)); } ========== strerror_l() uses created uk_UA based locale. strerror() uses jp_JP from environment: vbox# env LC_MESSAGES=ja_JP.UTF-8 ./strerror_l Недозволений аргумент 無効な引数です vbox#