Last updated: 2017-05-01
Works with CiviCRM 4.7 and should work on CiviCRM 5.0 or higher
Extension with Belgian magic.
With this extension enabled, if you create or update a Belgian address, the province is determined based on the postal code. If the address belongs to a contact that doesn't have a preferred language, a preferred language is set based on the province. (This mainly applies when a contact was created using the API, otherwise CiviCRM will use the default language from the settings, I presume.)
This determination is not 100% correct, but I accept pull requests, as always.