move i18n of UserActions to JS-side and make sentences translatable (take 3) (PR #735)

Follow up of #677 and #689. Now the strings look like this:

you_replied_to_topic: "<a href='{{userUrl}}'>You</a> replied to <a href='{{topicUrl}}'>the topic</a>"
user_mentioned_user: "<a href='{{user1Url}}'>{{user}}</a> mentioned <a href='{{user2Url}}'>{{another_user}}</a>"


You’ve signed the CLA, kubabrecka. Thank you! This pull request is ready for review.

A commit that appears in this pull request is being discussed here.

@kubabrecka was wanting to merge, just trying to figure out why that extra join is in there

Sorry for taking so long to reply, quite busy now… The extra join is because the result of the JSON does not contain the “current user”, which is needed to build the correct sencence, when “you” is present in it. The original code didn’t need it, because this extracted the “current user” from some kind of parent.parent.parent.username thing… this was terrible. Now since the sentence building mechanism is autonomous (and separated from the view hierarchy), it needs to have all the information in the data.

I hope it’s clear… Anyway, I am also planning to do some refactoring of this code, because the returned JSON is IMHO too complex and also has too many (redundant) data in it.