Since you mentioned the train loss values are decreasing, it implies that your model is correctly implemented. However, you would still like to take your train loss to close to zero. Some of the things you can try to decrease validation loss:

Ensure your dataset is of high quality and nicely split between train and validation set.
Try and slightly overfit the model (before adding regularization techniques like dropout). You can feed in more data, train for more epochs and increase the complexity of the model (eg: use Bidirectional LSTM for encoder)
Hyperparameter tuning at the end.

Also, use BLEU score (or similar metric) for understanding the quality of machine translation.