PDA

View Full Version : CliePet's VZ90 Review/Discussion - day 3 "Translation" (technology)


CliePet
11-01-2004, 07:50 PM
Day 3 - Translation - Technology

Did you go out and purchase a VZ-90, but now the Japanese UI is getting on your nerves, because you don't understand it at all?
How about changing some of the programs to have partial English menus, forms and other strings ?

This article ("Day 3") covers some of the technology and techniques for translation. The "Day 4" article includes some of the results, and other advice for making a "good enough" translated Japanese device.

-----
Background: How programs are built

The standard recommended way of building PalmOS applications is to separate the program code from the language specific user interface (strings, menus, forms etc).
This is done by placing the user interface parts in resources which can be edited using standard resource editors. Usually the language specific resources are stored in the same .PRC as the rest of the program. Sometimes the language specific resources are stored separately in an overlay file (common for some system parts).

There are other ways that some programs are built that don't follow this model (eg: hard coded strings, or application specific string database file). Since these are non-standard and relatively rare, I won't discuss them further in this article.

------
Issue: Duplication / Copyright

When translating menus and other strings, there is the problem of duplicating other (non-string) parts.
This duplication does eat up memory (program storage RAM), but for most programs, this is not a problem. Also the VZ90 has lots of storage RAM to fill up (compared to past CLIE models ;-)

BTW: posting the resulting translated programs is potentially a copyright violation (depending on what else is included besides the translated strings). A light gray are of piracy as I call it.

------
Chapter 2: the lazy approach - live with it

If you have spent the $$$ on a VZ90, I assume it is not your first PalmOS PDA. You can generally 'figure out' the Japanese user interface for many programs because the programs are very similar to their English counterparts.

For Japanese programs you don't use/need, you can hide them with SharkROM.

------
Chapter 3: How to translate: the lazy approach - find the same version on an English CLIE

The absolute easiest way to translate your CLIE is to find the same program on an English language CLIE and copy it over to the VZ90. Then run it and see if it works acceptably.

This is a good approach for the standard built-in apps (eg: ToDo, MemoPad, Address Book, etc). The best match for many programs is the UX40/50, since it has a landscape orientation. However for most of the simple built-in apps are the same for all recent PalmOS devices (ie. they run 320x320).

Sometimes copying the English program over will not run because of model differeces or other problems. Sometimes it runs mostly in English, but some things will remain in Japanese (usually parts of the user interface provided by the system).

-------
Chapter 4: How to translate: the lazy approach - find a 3rd party alternative

For more complicated programs, it is sometimes easier to install a 3rd party English version you are familar with.
For example, instead of worrying about translating the CLIEFiles and CardInfo utilities, I just use the English version of FileZ (free).

Similarly there are English replacement apps for many common system utilities, including big ones like NetFront, PicSelViewer and Organizer.

------
Chapter 5: How to translate: RsrcEdit Technique (on VZ90 itself)

If the lazy approaches listed above don't work for you, then you have to do a true translation.

The most direct way is to edit the resources in the program yourself, on the CLIE itself, using the RsrcEdit Palm program:
http://www.palmblvd.com/software/pc/OnBoard-RsrcEdit-1999-06-15-palm-pc.html

This works well if you have an application with a small number of strings, and you have a general idea what the Japanese program does.

Instructions:
Find the program you wish to translate, usually found in ROM.
Make a duplicate of it, now in RAM.
Edit the resources of the RAM copy.
Run that modified version of the program
(sometimes a soft reset is needed)
Repeat until you are happy with your new English translation.

Note: this is not a good answer for apps with many strings or if you don't understand the original Japanese app well enough to translate the strings.

------
Chapter 6: How to translate: PC technique and batch processing

For heavy-duty translation, the best way is to use a dictionary lookup of strings or other batch processing.

The process goes something like this:
a) copy the .PRC you wish to translate from the CLIE to your PC
b) dump the translatable resources (forms, strings, menus, etc) into a text readable form (eg: using prc2pilrc or other tools)
c) lookup the Japanese strings and replace with English strings (from a dictionary or other source)
d) re-compile the translated resource (now English)
e) merge with the original .prc (for the non-language parts)
f) install that modified .prc on your CLIE

NOTE: this approach changes the strings only, it does not adjust the location of text and controls in a form. Therefore in many cases, the English string should be the same length or shorter than the original Japanese string.

I won't go into the gorry detail in this article, but it does automate a lot of the more tedious translation. It also allows you to tweek the user interface in more detailed ways.
For example: copying over the English UX50 General Prefs panel user interface solves 99% of the problems. What is missing is the last color theme ("Black") that is unique to the VZ90. With a little resource editing this extra item can be added.

The harder part is knowing what the strings should be translated to.
I don't understand Japanese, and an automatic translation process is fastest.
Translation software can do a credible job of longer strings.
Translation software usually does a poor job on shorter strings. If the translated string is too large, it won't fit in the space

Fortunately you can get the best of both worlds, using existing PalmOS E<->J translations for many standard things (including short strings like those in menus and on buttons) and automatic translation for longer strings.

As mentioned, the resulting .prcs may contain significant copyrighted material (by Sony, PalmSource or whoever wrote the program) in addition to the translated strings.

------
Chapter 7: How to translate: standard overlay resources

The standard Prefs panel, Security, Calculator etc use an overlay technique.
The user interface resources are stored in a separate .PRC (eg: Boot_jpJP for the Japanese version, Boot_enUS for the US English version)

The technique for translation is the same as 'Chapter 6', with the added advantage there isn't an extra copy of the language independent code and data.
For many of the Prefs panels, I simply tweeked a few values in the UX50 versions and they work great on the VZ90.

------
That covers a lot of technical problems, intentionally glossed over.

Please check out "Day 4" report (to be posted soon) for the result of my translation.

It changes many of the commonly used core system features, and gives advice on how to live with the remaining Japanese parts.

I call this a "good enough" translation. More elaborate translations are possible, if you don't want to use the "lazy" techniques mentioned above (copying over English apps, or living with Japanese for some things).

Sharkk717
11-01-2004, 08:42 PM
excellent resource (a large amount of pun intended) CP! Hmm, as soon as I see the Day 4 report i may just have to buy it. Unfortunately, i don't happen to have $1000 bucks right now, but possibly if i sell a few (read: a lot) more copies of my programs it could be a reality. probably time to start working on SharkButton lol.

regards, sharky

Captain Cork
11-02-2004, 07:47 AM
Cliepet - thanks for your great review - very interesting - the following apps from my tj37 work fine and in landscape/portrait without problems on my vz90.

- clie files
- netfront
- all PIMs
- Data import
- Card Info

Problems with:
- MS Backup (only possible with Memorystick)

not working:
- all the preferences
- Hotsync
- Decuma



I think really helpful for everybody will be a translation of the preferences - and the meaning of the japanese words in the categorie-menu (e.g. ALL)
After that I think it will be nice if the status-windows (like recieving infrared, connecting wlan, errormessages ) will be translated.

greetings from germany (good old europe)

CliePet
11-02-2004, 03:27 PM
> I think really helpful for everybody will be a translation of the preferences ...
Correct, that's the main focus for "Day 4" - things that are system wide - and are a hassle to deal with when you don't understand the text or menus or a list of items.

On the other hand, I am ignoring graphical things like DataExport (if you don't already understand that you need to press the big button to start/stop the program -- then you are beyond help ;-)

I have most Prefs working now, and Category menu (All, Edit Categories..., but I haven't found 'Default' yet), many of the general system strings. Also the standard launcher, and a few other mini apps (HotSync, Security, Calculator, CardInfo).

The common Prefs are IMHO the most important (expecially if you guess the wrong Japanese word and start the darn stylus calibration...)

Sharkk717
11-02-2004, 03:32 PM
CliePet,

that's fantastic! if you'd like help with the translation, i'm very happy to give it a try (don't know japanese, but i DO know how to work a translator lol). regards, sharky

lmame
11-02-2004, 06:54 PM
Good work, I'll give it a try ;) :D

jeo4long
11-02-2004, 10:53 PM
So CliePet, the basic idea is to copy the program that you are going to translate from ROM to RAM? I believe that is the only way you can edit or alter the file right?

CliePet
11-03-2004, 10:09 AM
> the basic idea is to copy the program that you are going to translate from ROM to RAM? I believe that is the only way you can edit or alter the file right?

Correct, that's the approach for "Chapter 5: How to translate: RsrcEdit Technique (on VZ90 itself)". See above for the caveats to that approach.

For most of my conversions, I do changes on a PC (see Chapters 6 and 7) and then install new .PRCs using FileZ. My upcoming "Day 4" report will include a ZIP of those working .PRCs (so you don't have to do the work). Doesn't eat up much RAM.

The Mad Dog
11-03-2004, 01:18 PM
I translated (or used some stuff by CliePet (CP)*THANX*:

PIMS
Clié Organiser
Calculator (CP)
Clié Files
Clié Mail (deleted, because I dont use it)
HotSync (CP)
NetFront
Prefs (CP (BIG Thanks))
Sercurity (CP)

Added:
WA Clock
Flash Player

Sharkk717
11-03-2004, 07:47 PM
CliePet- just wondering, what do you think about editing the main status bar and VG area? would it be an ovly file or direct PRC tinkering? regards, sharky

CliePet
11-04-2004, 10:22 AM
> what do you think about editing the main status bar and VG area?
Like anything, it can be done with more work. The system hooks for some of these things can be tricky (BTW: there are two different versions of the VG - portrait with plugins, and landscape without plugins)

The status bar itself is graphical, but brings up Japanese forms (eg: Volume, Brightness etc). Similarly the VG area is mostly graphical. If you have used a CLIE before you should be able to figure it out.

My goal is not to remove all Japanese text (IMHO: it adds a little uniqueness to the device). My goal is to add English where you need it. If a button or graphic (that you already know how to use) has a little Japanese text beside it, that's fine by me.

Sharkk717
11-04-2004, 11:18 AM
right of course i totally understand the graphics. so then would it be possible to use a UX or NZ skin with the VZ? If so, the whole SB/VG issue would be terminated.

regards, sharky

Eddy
11-04-2004, 12:48 PM
nice day 3! thanks cliepet! :D