Prevent WordPress updates from overriding custom language translations?

Modify your installation such that your custom Farsi language files are associated with a non-standard WPLANG value. For example, instead of the standard ‘fa_IR’, maybe try something non-standard like ‘farsi_IR’ (or even ‘myCustomFarsi_IR’).

This way, when new WordPress versions are released for the “official” Farsi version, you will no longer get updated.