Segmentation
Done in JavaScript
function split_punct(s) { return s.split(/([.!?]+[ \t\n]+|\n\n+|[ \t\n]*[-•*+#]+[ \t\n]+)/) }
Multiple segments can be sent to the server and translated in parallel
But it seems ad-hoc: it should be part of the grammar...