Версия Windows, на которую вы нацелены, важна, API-интерфейс NLS был значительно улучшен для Vista. EnumSystemLocalesEx (), вероятно, то, что вы ищете, он возвращает имена локалей в виде строки <language> <REGION>
, где language - это строчный код языка ISO 639, а REGION - страна ISO 3166 / идентификатор региона. Немецкий или английский не имеет значения, эти коды не зависят от языка. Посмотрите на NLS api docs , чтобы увидеть, что доступно.