Movement Script help. Script won't make my 3D object move,Why wont this movement script work.

Im trying to make this 3D Object (cube) move on a terrain, the terrain is flat nothing added to it. The 3D object had rigidBody and this script attached to it.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
public float playerSpeed = 10.0f;
public float playerRotationSpeed = 100.0f;

void update()
{
// Get the horizontal and vertical axis using arrow keys.
// The value is in the range -1 to 1
// make it move 10 meters per second instead of 10 meters per frame…
float translation = Input.GetAxis(“Vertical”) * playerSpeed * Time.deltaTime;
float rotation = Input.GetAxis(“Horizontal”) * playerRotationSpeed * Time.deltaTime;

    // Move Translation along object's z-axis
    transform.Translate(0, 0, translation);

    // Rotate around our y-axis
    transform.Rotate(0, rotation, 0);
}

}

You’ve added rigidbody to your object but trying to move it with transform.translate methods which is pretty much teleportation but rigidbody component kind of disables that movement since it wants physics interaction instead of teleportation-like movements.

Try to use rigidbody.moveposition