The simplest way to by-pass gettext() cache, without restart apache nor change domain.
The fix is incredible simple, first create a dummy link to the locale folder where .mo files stored:
cd locale
ln -s . nocache
Then add one single line before bindtextdomain()
<?php
bindtextdomain('domain', './locale/nocache');
bindtextdomain('domain', './locale');
?>
Now the cache is forced to flush every time.