Вы уверены, что вам возвращаются коды именно языков?
SP и PO - это коды стран, по стандарту FIPS 10-4, полный список вы найдёте тут List of FIPS country codes
Сводная таблица с кодами языков по различным стандартам Коды языков
АП.1 Справка FMX.Platform.IFMXLocaleService.GetCurrentLangID. Я не уверен до конца, но похоже этот метод возвращает значение именно по стандарту FIPS 10-4.
АП.2 (23:28) Смотрю исходники...
АП.3 (23:30) В исходниках используется метод getISO3Language, а значит значение должно быть по стандарту ISO 639-2/T, в этом стандарте все значения трёх символьные, так что получение "sp и po" как минимум странно... Надо дальше копать...
АП.4 Единственный совет, пока попробуйте использовать другие методы класса Locale