Indeed it doesn't work due to the fact that strings cannot be PublicVariable'd.
In this case it's helpful to use a global array, where you put all your chat texts inside.
Initialize the array in init.sqs:
msg_array = ["Hey you, what are you looking at","why do you care about it","because you should secure the area","but you ordered me to watch a nasty Saddam Picture"]
Then you can use a numeric variable to select the chat lines from the array and publicVariable it:
msg_selector = 0; publicVariable msg_selector
:note - off course you set msg_selector to the message you want to broadcast - the first element of the
array would be 0, the second one would be 1 and so on.
msg1 = msg_array select msg_selector
soldier1 globalchat msg1
~S~ CD