Lance, I would think the first step would be to include variables in the strings, rather than appending "is discussing", "are discussing", as separate strings. If variables (that stand for user names) are part of a string, and if the string is representative of a full sentence, that helps a lot already.
So something along the lines below would cover Western and Eastern European languages, who would be able to control the punctuation and the word order:
%x is discussing.
%x and %y are discussing.
%x, %y, and %z are discussing.
%x, %y, %z, and one other person are discussing.
%x, %y, %z, and %n others are discussing. (Here you would enable plural forms translation, since "others" can be translated differently depending on what "n" is.)
(Currently, even the English version displays "X, and Y are discussing" in case of two commenters - which is not correct grammar because of the comma in front of "and".)
As for non-European languages, I am not able to tell you exactly, unfortunately. At the same time, having strings for full sentences, rather than assembling them from short chunks (since "assembly process" varies vastly depending on the language), always works better from the localization standpoint.
I hope I am not creating too much extra work for you :) as I am not a coder myself, at this point I can contribute feedback, but not actual code. Hope it helps!