No, [undefined=undefined]please don't[/undefined] do this. Most users don't even know what a system locale is, let alone how to set it. No computer on this Earth will come with a pre-selected Gaelic system locale, so my language will miss out. Also, Gaelic speakers and English speakers might share a computer, and having to change the system locale every time they want to play the game is not convenient. If you're interested, you can read more abut the problem
on this blog.
Scanning for available po/mo files would work perfectly fine for the menu. Alternatively, you could introduce a config file that lists the preferred font set as well as the native language name for each locale - this will come in handy for languages that don't use Latin script. You can steal from Battle for Wesnoth for that
If a message in a po/mo file is missing, gettext will default to English for that message, so partial translations are not a problem.
At the moment, we have the problem that po/mo files just aren't loaded - as I said, I tested for German and Gaelic with both the po and the mo file present. So, forcing the system locale won't fix this, I don't think. BTW I have set my system locale to Gaelic, and vdrift didn't load tha gd file. I did create the .mo file myself with the same file structure as the included mo file for German.