How to move and rotate a space ship

Hello,

I made a rotation of the ship but how to move it in the right direction? Plunker - [Wrong movement] Simple ship movement in Three.js and JavaScript (free model - link, free texture - link)

const playerMovementSpeed = 5;
const playerRotationSpeed = 3;

function keyboardHandler(dt) {
    if (keyboard.pressed("KeyW") || keyboard.pressed("ArrowUp")) {
        player.position.z += playerMovementSpeed * dt;
    }
    if (keyboard.pressed("KeyS") || keyboard.pressed("ArrowDown")) {
        player.position.z -= playerMovementSpeed * dt;
    }
    if (keyboard.pressed("KeyA") || keyboard.pressed("ArrowLeft")) {
        player.rotation.z += playerRotationSpeed * dt;
    }
    if (keyboard.pressed("KeyD") || keyboard.pressed("ArrowRight")) {
        player.rotation.z -= playerRotationSpeed * dt;
    }
}

Solution is translateY: Plunker - Simple ship movement in Three.js and JavaScript (plnkr.co)

const playerMovementSpeed = 5;
const playerRotationSpeed = 3;

function keyboardHandler(dt) {
    if (keyboard.pressed("KeyW") || keyboard.pressed("ArrowUp")) {
        // player.position.z += playerMovementSpeed * dt;
        player.translateY(-playerMovementSpeed * dt);
    }
    if (keyboard.pressed("KeyS") || keyboard.pressed("ArrowDown")) {
        // player.position.z -= playerMovementSpeed * dt;
        player.translateY(playerMovementSpeed * dt);
    }
    if (keyboard.pressed("KeyA") || keyboard.pressed("ArrowLeft")) {
        player.rotation.z += playerRotationSpeed * dt;
    }
    if (keyboard.pressed("KeyD") || keyboard.pressed("ArrowRight")) {
        player.rotation.z -= playerRotationSpeed * dt;
    }
}

It is difficult to make a collision detection for translateY. I replaced this movement with OimoPhysics: https://plnkr.co/edit/ENV8AfwIztG5YS7g?preview

ship-movement-oimophysics-rollup-threejs-js