Direct translations + word order transformations: a German example

Very often the direct translation of chunks within a SentenceBuilder into English can produce L1 English sentences that are far from ideal.

Here's a German example:

In this example the English translation for the sentence (e.g. I ate ice cream) has been split across the first SB row so that it matches the German, as we would expect. In fact, though, the sentences generated by the SB are, for example:

Ich habe Eis gegessen >> I ice cream ate
Du hast Fußball gespielt >> You football played
Sie hat eine Tour gemacht >> She a tour did

This is logical and inevitable if the language is entered into the SB in this way and the sentences are not transformed.

So how can we improve on this?