Using
phrase one;phrase two;another phrase;phrase with a [variable;random] sub phrase
as input for the "Say Something with Text-To-Speech" action, will result in
Say, 'phrase one' or 'phrase two' or 'another phrase' or 'phrase with a [variable' or 'random] sub phrase'
displayed in the action list.
This does not reflect what will actually be spoken, as the segment in square brackets will always be part of its parent segment, instead of dividing the parent segment.
Say, 'phrase one' or 'phrase two' or 'another phrase' or 'phrase with a variable sub phrase' or 'phrase with a random sub phrase'
Would be the correct and complete representation of the automatically generated random phrases, and how they will be spoken.
To save space and processing time, perhaps
Say, 'phrase one' or 'phrase two' or 'another phrase' or 'phrase with a [variable;random] sub phrase'
would be an alternative.
EDIT: Checked in v1.7.2.21, behavior is still present.