Translations are contributed by the community. They are managed on the translation website http://www.ransifex.net. When a translation reaches a certain point (I think 50% completion), we include it in the main civicrm-l10n.tar.gz. In the mean time, it is also possible to get the "civicrm.mo" file from the github repository: https://github.com/civicrm/l10n/tree/master/po/fa_IR

The Persian translations seem to not have been updated in a while. Also, strangely there is a "fa" translation, but also a "fa_IR" translation, and both have a very little activity:

The language code "fa" versus "fa_IR" indicates that fa_IR is a regional translation specific to Iran. For example, we also have fr_CA or es_MX. However, in general, I would recommend to converge as much as possible towards one translation, since translating CiviCRM is a huge task.

In short, you can create an account on transifex.net, join the fa_IR team, say hi to the current team coordinator and see if he is still actively translating. You can export the translation files from transifex (.po -> .mo), but it may be easier to wait one night and it will be merged into the github repository. Once a week (saturday, I think), the civicrm.mo is re-compiled in the github repo.

Easier way: strings are synchronised from Transifex to github every day. You can then clone only that repository and compile, or wait until the next Wednesday 9:45 Pacific time, and the civicrm.mo will be re-compiled automatically and published on github at https://github.com/civicrm/l10n/tree/master/po/fa_IR