It isn't too bad. I have a script that figures out most of the changes between v0.29 russian and v0.29 english and have categorized those changes. So, for example, I know what all the $data['russian_name'] to $data['english_name'] changes are, and all the changes to locations/sublocations (e.g. tech_alyona -> tech_alena). So I can easily make those same changes to v0.30 in russian. Same for the character_RussianNPC (these changes are needed to keep the cheats/mods working). I've also isolated all the changes to implement the cheats and add the extra scenes in the English version. As a result, I can now have two nearly identical files, differing only in that one has Russian text displayed to the user, and the other English. So, I can say, for example, line X in the Russian version is translated to whatever's in line Y of the English version.
Now it's just a matter of first making the same non-dialog changes to the new Russian versions as were made to the old Russian version (eg changing $data['russian'] to $data['english'] everywhere), and mapping dialog lines in the v.30 Russian version to the v.29 Russian version, so I can look up the translated text. Then I can translate the newly added Russian text and I'm done.
In theory, at least. In practice, in lots of cases Avenger folder two dialog lines into one, and I'm having trouble figuring out when I need to pull two lines of English instead of just one.
And, I'm trying to not actually do any of this myself. I'm trying to write a program that will do the whole conversion (except of the new translations) automatically.