英小文字メッセージの扱い

By 神居 - Posted: 2009/10/16 Last updated: 2009/10/16 - Leave a Comment

海外のISV製品のほとんどは、コンソール、ターミナル、などへの出力メッセージに英小文字(lowercase character)が使われている。国産OSでは基本的にカタカナを使うEBCDICコードを使うため、「abcdefghijkl」は「アイウエオカキクケタチツ」となる。「Iinitialization completed.」は「Iケトケホケアツケヤアホケナト ウナテニツオホオエ.」になる。何とも間の抜けたことである。実際、笑い話だけでは済まない。インフォメーションだけなら無視できるが、エラーメッセージなどの場合、これでは使い物にならない。
IBMユーザーの場合、3270エミュレーターで英小文字←→カタカナ切り替え(例えばPcommならCtrl+F3キーでトグルできる)が可能であるが、富士通、日立のユーザーではそうはいかない。日立のEBCDICはEBCDIKと呼ばれ、カタカナも英小文字も両方サポートされているが、EBCDICの英小文字のコードにカタカナを割り当てているため、化けることに違いはない。


英小文字→大文字変換

アルファベットの大文字A?Zは、EBCDICコードのxC1?E9に割り当てられている(途中に文字を割り当てない抜け番はある)。一方小文字はa?zは、x81?xA9に割り当てられている。x81にx40を足すとxC1となり、xA9にx40を足すとxE9となる。小文字(lowercase)から大文字(uppercase)への変換は簡単で、文字コードにx40をORすればよい。

EBCDICコード表

EBCDICコード表


製品によっては、言語タイプをパラメーターに設定することで、各国語によるメッセージ・セットやパネル・セットなどを定義できるものもあるかも知れない。そのような場合は、プログラムの修正ではなく、ローカライズされたメッセージやパネルなどを外部に用意することでの対応をまず考えたい。

Posted in ポーティング、ローカライズ手法 • • Top Of Page