am out of definitive ideas. i think a character array passed and strcat() will work/ but is ugly.
For this application, why bother with assembling the string? Just pass 1 or 2 indices into the string table and print the string from PROGMEM. If two values are returned, print a "-" between strings.
No data copying, no strings needed.
Korman