Using Translate, the expected behavior with using the Vector3.forward, but with Rotations when you Vector3.right, it isn't rotating right as you would expect, or is it and when you rotate are the axis different? Thanks
if (right)
transform.Rotate(Vector3.right * Time.deltaTime * 20, Space.World);
if (tforward)
transform.Translate(Vector3.forward * Time.deltaTime * 20, Space.World);
It does rotate as you'd expect, and the axes aren't different. You didn't say what behavior you actually want though...maybe you should use Space.Self instead of Space.World?
From the docs: "Rotates the transform around axis by angle degrees."
Vector3.right runs east/west. Spinning around it moves you like a foosball player. If you used Vector3.forwards, it would look like you were standing on a north/South rocking log (good for leaning into a turn.)
A usual game character turn is going to be like you are taped to a turning up/down rod, so use Vector3.up.
And, yeah, see the other answer about local/world rotation. Maybe also try transform.right instead of Vector3.right (right vs. East.)