Настройка языка сообщений, выдаваемых компилятором

В описании фигурируют такие понятия как “английский язык с кодировкой KOI8-R” и “английский язык с кодировкой UTF-8”. В компиляторе есть русскоязычные сообщения, которые ещё не были переведены на английский язык. По смыслу эти два понятия означают “выдача на английском языке, но в случае, если нет перевода, выдача на русском языке в кодировке KOI8-R и UTF-8 соответственно”

Настройка языка сообщений, выдаваемых компилятором, осуществляется по следующему алгоритму:

  1. Если имеется непустая переменная окружения LC_ALL, то по её значению настраиваем язык и завершаем разбор. Значения:

    • ru_RU.KOI8-R, ru_RU.KOI8_R, ru_RU.KOI8R - язык русский, кодировка KOI8-R

    • ru_RU.UTF-8, ru_RU.UTF_8, ru_RU.UTF8, ru_RU - язык русский, кодировка UTF-8

    • en_US - язык английский, кодировка KOI8-R

    • прочие значения - язык английский, кодировка UTF-8

  2. Если имеется непустая переменная окружения LC_MESSAGES, то по её значению настраиваем язык и завершаем разбор. Значения:

    • ru_RU.KOI8-R, ru_RU.KOI8_R, ru_RU.KOI8R - язык русский, кодировка KOI8-R

    • ru_RU.UTF-8, ru_RU.UTF_8, ru_RU.UTF8, ru_RU - язык русский, кодировка UTF-8

    • en_US - язык английский, кодировка KOI8-R

    • прочие значения - язык английский, кодировка UTF-8

  3. Если имеется непустая переменная окружения LANG, то по её значению настраиваем язык и завершаем разбор. Значения:

    • ru_RU.KOI8-R, ru_RU.KOI8_R, ru_RU.KOI8R - язык русский, кодировка KOI8-R

    • ru_RU.UTF-8, ru_RU.UTF_8, ru_RU.UTF8, ru_RU - язык русский, кодировка UTF-8

    • en_US - язык английский, кодировка KOI8-R

    • прочие значения - язык английский, кодировка UTF-8

  4. Язык английский, кодировка UTF-8