The reason the rotation was missing after your previous attempt was that you were using the static 'translation' function, which creates a new translation. You should have instead been using 'translated', which is not static, and returns a translated version of the object it is called on.
Have another look at the docs, and compare the static and non-static functions to get an idea of how they should be used :)
[of course your final solution is fine too - the other functions are basically just a shorthand for that]