There are standard internationalisation and localisation practices in software development. The operating system and its libraries already know how things like number and date formatting are done in its current locale. There is a very simple interface for software developers to adopt the local conventions without having to know all the gory details.
Properly written software normally uses the standard system facilities to format its numbers for presentation to users.
However, if the text is in English but numbers are in German (because the software is running in a German locale), that is confusing as well. Perhaps the right way is to use locale settings for numbers if the strings are also translated; and use English numbers when falling back to English text due to lack of translation.