Actually, it's qa_lang_html_sub_split(...) that splits into 3 sections.
The purpose is to allow a language independent way to combine some data (e.g. a time gap, in bold below) with some padding around that data. For example:
3 days ago (English)
il ya 3 jours (French)
In some languages, the padding comes before the data, and in some languages, it comes after. Some might even have padding on either side. By splitting into 3 sections, the padding can be set in the language string, and everything is passed through as appropriate to the theme layer, in which the output_split(...) function is used to generate the final HTML.