How to set borders for image translation
What you observe in the image is the effect of the circular shift implied by the multiplication of the DFT of the image by the complex exponentials; i.e., the last (right most) sample becomes the first (left most) sample, hence circularly shift around the image, after a single pixel shift to the image is performed. 

Theoretically you cannot prevent the shift phenomenon if you use the same method to translate the image; i.e., by using the inverse DFT of the exponentially multiplied forward image DFT.

However you can practically make it unobservable if you pad the original image by enough number of zeros at the ends so that the shifts of zeros will be unnoticed and only the linear translation of the image will be apparent.

To do so requires the amount of shift to be known in advance. Then given the shift amount and direction, you must pad that number of zeros in the correct end of the image so that when those zeros are circulated to the opposite end, they will not create a noticeable effect and the image will seem to be linearly shifted all.