Is it possible to translate a program having some original-language material hard-coded in the original code?
My client is Dr. S, a medical doctor from Japan specializing in occupational health, who is working as a postdoctoral fellow here in Canada. He has done a study in Japan using an aptitude test developed under the direction of Dr. K, a well-known Japanese occupational health specialist, in collaboration with a Japanese government ministry. Dr. S asked me to try and translate this test into English for the purpose of making comparative studies between Japanese and North American workers.
The test, which evaluates cognitive and mechanical ability, is an interactive Windows computer program, in which user interaction takes place entirely via the mouse (except for entering the user’s name in the registration screen). In the various sub-tests, the user enters numbers by clicking on a numeric-pad screen display, performs a tracking test using click-and-drag, and answers multiple-choice questions by clicking on the correct choice as displayed on-screen. The program, as distributed, displays instructions, results, and commentary in Japanese.
The program is distributed on a CD containing an .EXE file, some .DLL’s, and a number of data files. The data files include text files in .CSV format containing all the Japanese instructions and commentary, as well as all the test items: short phrases to be compared, number sequences to be extrapolated, and so on. Another file contains all the displayed graphics, many of which include Japanese text: buttons, subtest headings and backgrounds and the like. All of this material is easily converted to English. The .CSV files can be treated using a standard text editor, and the graphic items are easily edited with Photoshop.
Unfortunately, some of the material displayed in Japanese doesn’t appear in the data files. This material includes the headings on the registration screen, the results display of each subtest, and program responses RIGHT/WRONG on one subtest.
In the Memory subtest in particular, a sequence of digits is displayed, then erased from the screen. After this, either the command FORWARD or REVERSE appears, and the user must re-enter the sequence under time constraint, either in forward or reverse order depending on the command. The words FORWARD and REVERSE do not appear in the data files, so it seems that they are hard-coded in the original program.
It appears that the program was originally written in 2001 by subcontractors under Dr. K’s direction, and that the original program code may not exist anymore: it was not given to Dr. K at the time.
I have told Dr. S that in the absence of the original program code, the elements which do not appear in the data files cannot display in anything other than the original Japanese. If the entire test cannot be translated into English in a usable way, this of course puts a significant kink in his project. He does not have the budget or the time to have the original program rewritten from scratch or to have a new program written.
My question is, have I told Dr. S the truth? Is there some magic deconstructor which would make it possible to easily isolate the hard-coded Japanese in the original program and replace it by English? Is there any other way around this problem? I don’t want Dr. S just to take my word for this: though I am a programmer, I have never tried this kind of reverse engineering and I don’t want to claim knowledge I don’t have.
Thank you in advance for your comments. I hope this is in the right forum... please relocate if you think appropriate.
My client is Dr. S, a medical doctor from Japan specializing in occupational health, who is working as a postdoctoral fellow here in Canada. He has done a study in Japan using an aptitude test developed under the direction of Dr. K, a well-known Japanese occupational health specialist, in collaboration with a Japanese government ministry. Dr. S asked me to try and translate this test into English for the purpose of making comparative studies between Japanese and North American workers.
The test, which evaluates cognitive and mechanical ability, is an interactive Windows computer program, in which user interaction takes place entirely via the mouse (except for entering the user’s name in the registration screen). In the various sub-tests, the user enters numbers by clicking on a numeric-pad screen display, performs a tracking test using click-and-drag, and answers multiple-choice questions by clicking on the correct choice as displayed on-screen. The program, as distributed, displays instructions, results, and commentary in Japanese.
The program is distributed on a CD containing an .EXE file, some .DLL’s, and a number of data files. The data files include text files in .CSV format containing all the Japanese instructions and commentary, as well as all the test items: short phrases to be compared, number sequences to be extrapolated, and so on. Another file contains all the displayed graphics, many of which include Japanese text: buttons, subtest headings and backgrounds and the like. All of this material is easily converted to English. The .CSV files can be treated using a standard text editor, and the graphic items are easily edited with Photoshop.
Unfortunately, some of the material displayed in Japanese doesn’t appear in the data files. This material includes the headings on the registration screen, the results display of each subtest, and program responses RIGHT/WRONG on one subtest.
In the Memory subtest in particular, a sequence of digits is displayed, then erased from the screen. After this, either the command FORWARD or REVERSE appears, and the user must re-enter the sequence under time constraint, either in forward or reverse order depending on the command. The words FORWARD and REVERSE do not appear in the data files, so it seems that they are hard-coded in the original program.
It appears that the program was originally written in 2001 by subcontractors under Dr. K’s direction, and that the original program code may not exist anymore: it was not given to Dr. K at the time.
I have told Dr. S that in the absence of the original program code, the elements which do not appear in the data files cannot display in anything other than the original Japanese. If the entire test cannot be translated into English in a usable way, this of course puts a significant kink in his project. He does not have the budget or the time to have the original program rewritten from scratch or to have a new program written.
My question is, have I told Dr. S the truth? Is there some magic deconstructor which would make it possible to easily isolate the hard-coded Japanese in the original program and replace it by English? Is there any other way around this problem? I don’t want Dr. S just to take my word for this: though I am a programmer, I have never tried this kind of reverse engineering and I don’t want to claim knowledge I don’t have.
Thank you in advance for your comments. I hope this is in the right forum... please relocate if you think appropriate.
Comment