J-Pilot

Screen Shot(EUC locale, GNOME)
Screen Shot(Shift-JIS locale, CDE)

Introduction

J-Pilot is a palm desktop organizer written by Judd Montgomenry. It's primarily developed on Linux utilizing gtk+ but it works on Solaris quite well. You can enjoy J-Pilot in locales other than English by virtue of internationalization framework of gtk+ and Solaris. Let me show you that it works ok on Solaris in Japanese locale.

First of all, install it on Solaris (Installation Notes). It's pretty straight-forward now that 'configure' is adopted in its installation procedure.

On Palm devices running Japanese OS (either third-party "J-OS" or the Japanese Palm OS bundled with Japanese WorkPad), Japanese data is encoded in Shift-JIS (SJIS) character set. There are two options to handle SJIS Japanese data on Japanese Solaris operating environment.

Running J-Pilot in ja_JP.PCK (PC kanji) locale
In most configuration, Japanese Solaris runs in ja (Japanese EUC) locale. You can force J-Pilot to run in ja_JP.PCK (PC kanji, or Shift-JIS in general term) locale by explicitly specifying LC_ALL as ja_JP.PCK when invoking jpilot. In this scenario, ja_JP.PCK locale packages has to be installed on Solaris. Japanese data is completely maintained in Solaris multi-lingual framework. So, no modification onto J-Pilot is necessary and it's easily applicable to other locale's.
Building J-Pilot with Japanese option enabled
J-Pilot has --with-japanese configure option. By specifying this option, code conversion code (between Japanese EUC and SJIS, which is contributed by Hiroshi Kawashima) is built into jpilot executable.

Setting up SJIS locale

You can verify whether ja_JP.PCK locale has been installed on your system as follows:

% pkginfo SUNWjpck

If the following line is displayed:
system SUNWjpck Japanese (PCK) Feature Package usr files
ja_JP.PCK is already installed on your system.

If the following line is displayed:
ERROR: information for "SUNWjpck" was not found
I'm afraid ja_JP.PCK locale is not available on your current system configuration. Then you've got to have Solaris packages (in a CD-ROM media or an install server) ready, and install it as follows.

# pkgadd -d . SUNWjpck 

Processing package instance <SUNWjpck> from </usr/local/src/sys/ja_JP.PCK>

Japanese (PCK) Feature Package usr files
(sparc) 1.0,REV=1.0.78
Copyright 1997 Sun Microsystems, Inc. All rights reserved.
Using </> as the package base directory.
## Processing package information.
## Processing system information.
   9 package pathnames are already properly installed.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.

Installing Japanese (PCK) Feature Package usr files as <SUNWjpck>

## Installing part 1 of 1.
1788 blocks

Installation of <SUNWjpck> was successful.
# pkgadd -d . SUNWjpxpl
Processing package instance <SUNWjpxpl> from </usr/local/src/sys/ja_JP.PCK>

Japanese (PCK) X Window System platform software
(sparc) 1.0,REV=1.0.78
Copyright 1997 Sun Microsystems, Inc. All rights reserved.
Using </usr> as the package base directory.
## Processing package information.
## Processing system information.
   10 package pathnames are already properly installed.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.

Installing Japanese (PCK) X Window System platform software as <SUNWjpxpl>

## Installing part 1 of 1.
74 blocks

Installation of <SUNWjpxpl> was successful.
# exit

At least, I confirmed that Japanese data can be displayed by installing two packages (SUNWjpck and SUNWjpxpl). But, I installed every packages relevant to ja_JP.PCK locale.

% pkginfo | grep PCK
system SUNWjpbas Japanese (PCK) CDE application basic runtime environment
system SUNWjpck Japanese (PCK) Feature Package usr files
system SUNWjpckx Japanese (PCK) Feature Package usr files (64-bit)
system SUNWjpmfr Japanese (PCK) Motif RunTime Kit
system SUNWjprdm Japanese (PCK) On-Line Open Issues ReadMe
system SUNWjptlt Japanese (PCK) ToolTalk runtime
system SUNWjpwnu Japanese Input System - Wnn6 Messages, (PCK)
system SUNWjpxfa Japanese (PCK) X Window System Font Administrator
system SUNWjpxgd Japanese (PCK) XGL Generic Loadable Libraries
system SUNWjpxge Japanese (PCK) XGL Runtime Environment
system SUNWjpxir Japanese (PCK) XIL Runtime Environment
system SUNWjpxpl Japanese (PCK) X Window System platform software
system SUNWjpxpx Japanese (PCK) X Window System platform software (64-bit)

It's not necessarily required for you to install all these packages for the purpose of using J-Pilot in Japanese, but it doesn't occupies so much. If you have plenty of spare disk space. You may install them. You can refer to some useful information regarding various Japanese packages in /usr/share/release_info/Solaris_2.7/ja/package on Solaris 7 system.

Launching J-Pilot

Now that you're ready, let's get started with J-Pilot with some backup data you've got with pilot-xfer.

% cd $PILOT_LINK_BACKUP_DIR
% cp AddressDB.pdb DatebookDB.pdb MemoDB.pdb ToDoDB.pdb ~/.jpilot/
% env LC_ALL=ja_JP.PCK /usr/local/bin/jpilot & 
Now J-Pilot is coming up.

Screen Shot of ToDo in Japanese
(with imput method)

Congrats. You succeeded to display and edit Japanese data.

Now, HotSync!

Let's move to HotSync checking.

% which jpilot
/home/dxy/bin/jpilot
% cat `!!`
cat `which jpilot`
#!/bin/sh

env LC_ALL=ja_JP.PCK /usr/local/bin/jpilot
% jpilot
(Click "Sync" in J-Pilot window)
Syncing on device /dev/ttya
Press the HotSync button
(You do so just as you're told to)
username = [John Doe]
passwordlen = [0]
Syncing Datebook
Fetching 'DatebookDB'... OK
Syncing Addressbook
Fetching 'AddressDB'... OK
Syncing ToDo
Fetching 'ToDoDB'... OK
Syncing Memo
Deleteing Palm id=10354771,
dlp_DeleteRecord returned 0
Fetching 'MemoDB'... OK
Finished.
% 
Okay, HotSync just worked. I've deleted one record in Memo on J-Pilot and that change is correctly synchronized to Palm device. It seems jpilot exits after HotSync finishes as of 0.92. You have to restart JPilot.

Acknowledgement

Masahiko Tachizono pointed out that the cause of garbled jpilot output in ja locale is difference of two Japanese character code. (Yeah, I was so dumb that I completely forgot the most obvious of possible causes).
Yasunari Saito gave me an advise on procedure to add some ja_JP.PCK locale packages onto Solaris with ja locale installed.