Я думал Я нашел простой способ для "текущей локали".
В system.pas
определены глобальные массивы LongDayNames [] и ShortDayNames [].
Так ..
Label.Text = LongDayName[DayMonday];
должно работать, например. За исключением того, что возвращается "воскресенье" . Это связано с тем, что Delphi внутренне поддерживает двухдневные схемы нумерации, а DayMonday является константой ISO8601, равной 1, а массив LongDayName ожидает воскресенье в качестве первого дня недели. C ++ Builder еще больше сбивает с толку, потому что массив строк начинается с нуля, а не с единицы.