regionalization problems

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • bigturtle
    New Member
    • Apr 2007
    • 19

    regionalization problems

    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.
  • JosAH
    Recognized Expert MVP
    • Mar 2007
    • 11453

    #2
    I did the following once myself (and I had forgotten all about it until I read your
    post ;-) Suppose a Japanese string takes up 'n' bytes. Also suppose you can
    come up with an English translation for that string taking up m <= n bytes.

    If this is true for all Japanese strings you can patch them with their English
    translation 'in situ' of the .dll or .exe file. It still is a tedious job that nobody
    wants to do and you have to backup frequently in case of an error but it is
    doable. if m < n you can set the n-m trailing bytes to zero. If there is a string
    length in front of the string data bytes you have to update those as well.

    Best of luck.

    kind regards,

    Jos

    Comment

    • bigturtle
      New Member
      • Apr 2007
      • 19

      #3
      Ughh!! I was afraid the answer would be something like this.

      Of course it is useful to know that horrible tweaking of this kind is unavoidable. And so my credibility with my client will be increased, if nothing else.

      Thanks for your help, JosAH.

      Comment

      • JosAH
        Recognized Expert MVP
        • Mar 2007
        • 11453

        #4
        Originally posted by bigturtle
        Ughh!! I was afraid the answer would be something like this.

        Of course it is useful to know that horrible tweaking of this kind is unavoidable. And so my credibility with my client will be increased, if nothing else.

        Thanks for your help, JosAH.
        Yep, if you don't have the sources to (partially) rewrite all you can do is the sort
        of hacking I described. I hope you have/can find a decent binary editor. Best of luck.

        kind regards,

        Jos

        Comment

        Working...