Move where is the mouse

In this code when i hold W the player is move on Z Global axis, but i want, when i press w to move on Local Z axis, How i can do that?, Thanks.

Or where is the mouse, like at Turning.

using UnityEngine;
using System.Collections;

public class PlayerMovement : MonoBehaviour
{
    [System.Serializable]
    public class PlayerSettings
    {
        public float speed = 6f;
        public float runingSpeed = 10f;
    }

    [SerializeField]
    [Tooltip("Player Settings")]
    public PlayerSettings playerSettings;

    [System.Serializable]
    public class AnimationSettings
    {
        public string walkAnimBoolName = "IsWalking";
    }

    [SerializeField]
    [Tooltip("Add the Walk animation Boolean Name from animator")]
    public AnimationSettings playerAnimations;

    [System.Serializable]
    public class InputSettings
    {
        public string horizontalAxis = "Horizontal";
        public string verticalAxis = "Vertical";
    }

    [SerializeField]
    [Tooltip("Inputs")]
    public InputSettings input;

    [System.Serializable]
    public class PlayerAttributes
    {
        public bool canRun = true;
    }

    [SerializeField]
    [Tooltip("Set attribytes for Player")]
    public PlayerAttributes playerAttributes;

    [Tooltip("Floor layer")]
    public LayerMask floorLayer;

    Vector3 movement;
    Animator anim;
    Rigidbody playerRigidbody;
    int floorMask;
    float camRayLength = 100f;
    private float curSpeed;
    bool isRunning;

    void Start()
    {
        curSpeed = playerSettings.speed;

        isRunning = false;
    }

    void Awake()
    {
        floorMask = floorLayer;

        anim = GetComponent<Animator>();
        playerRigidbody = GetComponent<Rigidbody>();
    }

    void Update()
    {
        if (playerAttributes.canRun)
        {
            if (Input.GetButton("Run"))
            {
                isRunning = true;
            }
            else
            {
                isRunning = false;
            }
        }

        if (isRunning)
        {
            curSpeed = playerSettings.runingSpeed;
        }
        else if (!isRunning)
        {
            curSpeed = playerSettings.speed;
        }
    }

    bool IsGrounded()
    {
        return Physics.Raycast(transform.position, (Vector3.up * -1), 0f);
    }


    void FixedUpdate()
    {
        float h = Input.GetAxisRaw(input.horizontalAxis);
        float v = Input.GetAxisRaw(input.verticalAxis);

        Move(h, v);

        Turning();

        Animating(h, v);
    }

    void Move(float h, float v)
    {
        movement.Set(h, 0f, v);

        movement = movement.normalized * curSpeed * Time.deltaTime;

        playerRigidbody.MovePosition(transform.position + movement);
    }

    void Turning()
    {
        Ray camRay = Camera.main.ScreenPointToRay(Input.mousePosition);

        RaycastHit floorHit;

        if (Physics.Raycast(camRay, out floorHit, camRayLength, floorMask))
        {
            Vector3 playerToMouse = floorHit.point - transform.position;

            playerToMouse.y = 0f;

            Quaternion newRotation = Quaternion.LookRotation(playerToMouse);

            playerRigidbody.MoveRotation(newRotation);
        }
    }

    void Animating(float h, float v)
    {
        bool walking = h != 0f || v != 0f;

        anim.SetBool(playerAnimations.walkAnimBoolName, walking);
    }
}

I SOLVED:

        if(moveingType == MoveingType.Global)
        {
            movement = movement.normalized * curSpeed * Time.deltaTime;
            playerRigidbody.MovePosition(transform.position + movement);
        }
        else if (moveingType == MoveingType.Local)
        {
            movement = transform.TransformDirection(movement) * curSpeed * Time.deltaTime;
            playerRigidbody.MovePosition(transform.position + movement);
        }