中国にある工場や取引先に日本国内の適用業務を公開したいと
思いませんか?
最近は取引先に公開するためにAutoWebを導入する事例が
増えています。
国内の取引先だけでなく中国の取引先にも適用業務を
公開することができます。
でも中国語のインターフェースをどうやって作るのか?
ましてや中国語を知らないという開発者がほとんどです。
そんなときに役に立つAutoWebの機能を紹介しましょう。
次の5250画面をご覧ください。
部課マスターを登録 システム Sxxxxxxx 日付 2020/03/06 部課コード から 時刻 13:47:17 ユーザー QTR 言語 JPN № 部課コード 部課名 当月労働時間 時間当賃金 0001 11 役員 0002 12 総務部 0003 21 国内営業 0004 22 貿易部 0005 23 大型映像 0006 30 技術部 0007 50 原価係 0008 51 調達課 0009 52 汎用レン 0010 53 サービス 0011 54 精密研磨 0012 56 組立調整 0013 57 ソフト部 続く .. F3= 終了 F10= 更新 F23= 削除 F12= 前画面
この適用業務のデータはそのままで欄見出しだけを
中国語に変える方法をご紹介します。
これからの説明はAutoWebだけでなく一般的な国際言語の
知識となります。
この画面をCALLWEBを使ってAutoWebで表示すると次のようになります。
[解説]
右上に日本語を切替えるためのコンボボックスがあります。
これで中国語を選択すると画面は次のように変わります。
[解説]
言語切り替えのコンボボックスはデモのために用意したもので
実際はこのようなコンボボックスで言語を切替えることは
ないかも知れません。
[部課マスターの登録DSPF: PGM109FM ] ( http://218.44.135.18/QSYS.LIB/QTRSRC.LIB/QDSPSRC.FILE/PGM109FM.MBR )
ソースはこちらから
0001.00 A*%%TS SD 20080109 094723 QTR REL-V5R4M0 5722-WDS 0002.00 A*-----------------------------------------------* 0003.00 A* SFLENT : サブ・ファイル入力 0004.00 A* 0005.00 A* 部課マスターの登録 0006.00 A* 0007.00 A*-----------------------------------------------* 0008.00 A DSPSIZ(24 80 *DS3) 0009.00 A MSGLOC(24) 0010.00 A PRINT 0011.00 A R DSPHEAD 0012.00 A TEXT(' 初期画面 ') 0013.00 A*%%TS SD 19930612 135725 QUATTRO REL-V2R1M0 5738-PW1 0014.00 A CF03(03 ' 終了 ') 0015.00 A SETOF(99) 0016.00 A BLINK 0017.00 A*( この後に表示内容を記述しなさい ) 0018.00 A* 1 27' 部課マスターの登録 ' 0019.00 A TITLE_ 20A O 1 27MSGID(MSG0001 QTROBJ/USRMSG) 0020.00 A TEXT(' 部課マスターの登録 ') 0021.00 A DSPATR(HI) 0022.00 A* 2 2' 部課コード ' 0023.00 A BUKA_ 24G O 2 2MSGID(MSG0002 QTROBJ/USRMSG) 0024.00 A TEXT(' 部課コード ') 0025.00 A BKFROM 2A B 2 15TEXT(' 部課コード ') 0026.00 A* 11 15' 必要な項目を打鍵して実行キーを押 + 0027.00 A* して下さい。 ' 0028.00 A ENTMSG_ 46A O 11 15MSGID(MSG0009 QTROBJ/USRMSG) 0029.00 A DSPATR(HI) 0030.00 A* 23 2'F3= 終了 ' 0031.00 A F3_ 9A O 23 2MSGID(MSG0007 QTROBJ/USRMSG) 0032.00 A COLOR(BLU) 0033.00 A R SFREC01 SFL 0034.00 A*%%TS SD 20080109 094723 QTR REL-V5R4M0 5722-WDS 0035.00 A TEXT(' SFLレコード ') 0036.00 A 20 0037.00 AO 99 SFLNXTCHG 0038.00 A GYO 4A B 8 2TEXT(' № ') 0039.00 A 03 DSPATR(UL) 0040.00 A BKCODE 2A B 8 9TEXT(' 部課コード ') 0041.00 A BKNAME 10O B 8 21TEXT(' 部課名 ') 0042.00 A BKHOUR 3Y 0B 8 36TEXT(' 当月労働時間計 ') 0043.00 A EDTCDE(K) 0044.00 A CHECK(RB) 0045.00 A DSPATR(CS) 0046.00 A BKRATE 5Y 0B 8 49TEXT(' 時間当賃金 ') 0047.00 A EDTCDE(K) 0048.00 A CHECK(RB) 0049.00 A DSPATR(CS) 0050.00 A* 0051.00 A R SFCTL01 SFLCTL(SFREC01) 0052.00 A SFLSIZ(0014) 0053.00 A SFLPAG(0013) 0054.00 A TEXT(' SFLコントロール ') 0055.00 A OVERLAY 0056.00 A 41 SFLDSPCTL 0057.00 A 42 SFLDSP 0058.00 A 43 SFLINZ 0059.00 A SFLRNA 0060.00 A 44 SFLCLR 0061.00 A 45 SFLEND(*MORE) 0062.00 A 46 SFLDLT 0063.00 A ROLLUP(14 ' 次頁 ') 0064.00 A CF03(03 ' 終了 ') 0065.00 A CF10(10 ' 更新 ') 0066.00 A CF23(23 ' 削除 ') 0067.00 A CF12(12 ' 前画面 ') 0068.00 A SETOF(99) 0069.00 A BLINK 0070.00 A 61 SFLMSGID(EDT0411 QPDA/QEDTMSG 61) 0071.00 A 62 SFLMSGID(EDT0410 QPDA/QEDTMSG 62) 0072.00 A 63 SFLMSG(' 品種 コード の誤りです。 0073.00 A ' 63) 0074.00 A PGM 10A O 1 2TEXT(' プログラム名 ') 0075.00 A DSPREC 4S 0H SFLRCDNBR(CURSOR) 0076.00 A TEXT('SFL 表示 レコード № ') 0077.00 A* 1 27' 部課マスターの登録 ' 0078.00 A TITLE_ 20A O 1 27MSGID(MSG0001 QTROBJ/USRMSG) 0079.00 A TEXT(' 部課マスターの登録 ') 0080.00 A DSPATR(HI) 0081.00 A* 1 60' システム ' 0082.00 A SYSTEM_ 10A O 1 60MSGID(MSG0004 QTROBJ/USRMSG) 0083.00 A 1 71SYSNAME 0084.00 A* 2 60' 日付 ' 0085.00 A DATE_ 6A O 2 60MSGID(MSG0011 QTROBJ/USRMSG) 0086.00 A 2 68DATE(*YY) EDTCDE(W) 0087.00 A* 3 2' 部課コード ' 0088.00 A BUKA_ 12A O 3 2MSGID(MSG0002 QTROBJ/USRMSG) 0089.00 A BKFROM 2A O 3 15TEXT(' 部課コード ') 0090.00 A* 3 18' から ' 0091.00 A KARA_ 6A O 3 18MSGID(MSG0003 QTROBJ/USRMSG) 0092.00 A* 3 60' 時刻 ' 0093.00 A TIME_ 6A O 3 60MSGID(MSG0012 QTROBJ/USRMSG) 0094.00 A 3 68TIME EDTWRD(' : : ') 0095.00 A* 4 60' ユーザー ' 0096.00 A USER_ 10A O 4 60MSGID(MSG0005 QTROBJ/USRMSG) 0097.00 A 4 71USER 0098.00 A* 5 60' 言語 ' 0099.00 A LANG_ 6A O 5 60MSGID(MSG0013 QTROBJ/USRMSG) 0100.00 A LANG 3A B 5 67 0101.00 A VALUES('JPN' 'CHN') 0102.00 A TEXT('" 日本語 " " 中国語 " *SBM') 0103.00 A*( DSPF ソース・ボタン ) 0104.00 A 5 2HTML('') 0110.00 A*( RPG ソース・ボタン ) 0111.00 A 5 18HTML('') 0117.00 A*( 国旗 ) 0118.00 A 6 67HTML(&FLGIMG) 0119.00 A FLGIMG 128A P 0120.00 A*( 明細行の桁見出し ) 0121.00 A 7 2' № ' 0122.00 A DSPATR(HI) 0123.00 A* 7 7' 部課コード ' 0124.00 A BUKA__ 12A O 7 7MSGID(MSG0002 QTROBJ/USRMSG) 0125.00 A DSPATR(HI) 0126.00 A* 7 20' 部課名 ' 0127.00 A BUKANM_ 10A O 7 20MSGID(MSG0014 QTROBJ/USRMSG) 0128.00 A DSPATR(HI) 0129.00 A* 7 32' 当月労働時間 ' 0130.00 A WRKDAY_ 14A O 7 32MSGID(MSG0015 QTROBJ/USRMSG) 0131.00 A DSPATR(HI) 0132.00 A* 7 47' 時間当賃金 ' 0133.00 A WRKMON_ 12A O 7 47MSGID(MSG0016 QTROBJ/USRMSG) 0134.00 A DSPATR(HI) 0135.00 A*( 見出しの項目 ) 0136.00 A R DSPEND01 0137.00 A TEXT(' 機能キーの表示 ') 0138.00 A*----------------------------------------------------* 0139.00 A OVERLAY 0140.00 A CF03(03 ' 終了 ') 0141.00 A* 23 2'F3= 終了 ' 0142.00 A F3_ 9A O 23 2MSGID(MSG0007 QTROBJ/USRMSG) 0143.00 A COLOR(BLU) 0144.00 A* 23 34'F10= 更新 ' 0145.00 A F10_ 12A O 23 34MSGID(MSG0010 QTROBJ/USRMSG) 0146.00 A COLOR(BLU) 0147.00 A* 23 51'F23= 削除 ' 0148.00 A F23_ 12A O 23 51MSGID(MSG0008 QTROBJ/USRMSG) 0149.00 A COLOR(BLU) 0150.00 A* 23 68'F12= 前画面 ' 0151.00 A F12_ 12A O 23 68MSGID(MSG0006 QTROBJ/USRMSG) 0152.00 A COLOR(BLU) 0153.00 A R ENDOPT 0154.00 A TEXT(' 終了画面 ') 0155.00 A CF03(03 ' 終了 ') 0156.00 A 1 34' 終了 ' 0157.00 A DSPATR(HI) 0158.00 A 3 2' 処理されたレコード数 ' 0159.00 A 5 10' 追加 . . . . . :' 0160.00 A ADDREC 5Y 0O 5 35EDTCDE(4) 0161.00 A 6 10' 変更 . . . . . :' 0162.00 A CHGREC 5Y 0O 6 35EDTCDE(4) 0163.00 A 7 10' 削除 . . . . . :' 0164.00 A DLTREC 5Y 0O 7 35EDTCDE(4) 0165.00 A 11 2' 選択項目を打鍵して,実行キーを押 + 0166.00 A してください。 ' 0167.00 A COLOR(BLU) 0168.00 A 13 5' データ入力の終了 . . . . 0169.00 A ANS 1A B 13 39VALUES('Y' 'N') 0170.00 A 13 53'Y=YES, N=NO' 0171.00 A* 23 2'F3= 終了 ' 0172.00 A F3_ 9A O 23 2MSGID(MSG0007 QTROBJ/USRMSG) 0173.00 A COLOR(BLU) 0174.00 A* 23 15'F12= 前画面 ' 0175.00 A F12_ 12A O 23 15MSGID(MSG0006 QTROBJ/USRMSG) 0176.00 A COLOR(BLU)
[解説]
このDSPFで日本語/中国語を切替えているのはメッセージ・ファイル(*MSGF)です。
次の例をご覧ください。
0018.00 A* 1 27' 部課マスターの登録 ' 0019.00 A TITLE_ 20A O 1 27MSGID(MSG0001 QTROBJ/USRMSG) 0020.00 A TEXT(' 部課マスターの登録 ')
ライブラリーQTROBJのメッセージ・ファイル USRMSG には
メッセージID MSG001 は
メッセージ ID . . . . . . . : MSG0001 メッセージ・ファイル . . . . : USRMSG ライブラリー . . . . . . . : QTROBJ メッセージ・テキスト . . . . : 部課マスターを登録
として日本語表記で登録されています。
一方、中国語はライブラリーCHINALIBのメッセージ・ファイル USRMSG には
メッセージID MSG001 は
メッセージ ID . . . . . . . : MSG0001 メッセージ・ファイル . . . . : USRMSG ライブラリー . . . . . . . : CHINALIB メッセージ・テキスト . . . . : ・・・・・衡覇塑
として中国語で登録されています。(これは日本語環境のため正しい中国語が
表示されません)
一方RPGプログラムでは
: 0126.00 * ( 言語選択 ) 0127.00 C LANG IFNE CURLNG 0128.00 C LANG IFEQ 'CHN' 0129.00 * 中国語をセット 0130.00 C EXSR CHINA_ 0131.00 C ELSE 0132.00 * 日本語に戻す 0133.00 C EXSR JAPAN_ 0134.00 C ENDIF : 0232.00 C****************************************************** 0233.00 C CHINA_ BEGSR 0234.00 C****************************************************** 0235.00 *( 中国語 ) 0236.00 /FREE 0237.00 SYSTEM('OVRMSGF MSGF(USRMSG) TOMSGF(CHINALIB/USRMSG) SECURE(*YES)'); 0238.00 FLGIMG = BEGIMG + CHINA + ENDIMG; 0239.00 /END-FREE 0240.00 C ENDSR 0241.00 C****************************************************** 0242.00 C JAPAN_ BEGSR 0243.00 C****************************************************** 0244.00 *( 日本語 ) 0245.00 /FREE 0246.00 SYSTEM('DLTOVR FILE(USRMSG) LVL(*)'); 0247.00 FLGIMG = BEGIMG + JAPAN + ENDIMG; 0248.00 /END-FREE 0249.00 C ENDSR
のようにして OVRMSGF でどちらのメッセージ・ファイルを読むのかを選択しています。
さて中国語はどのようにして登録したのでしょうか?
それは簡単です。
AUTOWEBの製品メニューの中の「63. 国際言語の登録」(WRKLANG)を選択すると
次のようにAutoWebが起動されて表示されます。
[解説]
最初にF11=切替を押すと上のように左側に日本語を登録することができます。
次に例えば「部課マスターを登録」をコピーしてから「Google翻訳」ボタンを押して
次のように「部課マスターを登録」を貼り付けて中国語に翻訳します。
翻訳した中国語をコピーしてF11キーを押して中国語の欄に貼り付けます。
このようにすればたとえ中国語は知らなくてもMSGFに中国語を登録すれば
単語毎の翻訳であれば中国語の表記とすることができます。
この国際言語化はAutoWebの標準の機能です。
国際言語化の大事な知識
最後に国際言語化のために大切な情報をご紹介しましょう。
上記の説明で2次言語に中国語の導入が必要である、とかのお話は出てきませんでしたが
これは必要ありません。
IBM i 自体に2次言語としての中国語や日本語が導入されていなくても
クライアントつまり5250エミュレータを日本語や中国語とすれば
正しい言語は表示することができるのです。
2次言語が必要であるのは i5/OSのメニューやメッセージのためだけなのです。
中国語を扱いたいと言っても中国語をIBM iに導入する必要はありません。
弊社のお客様でも英語のみの環境のIBM iで弊社の日本語製品を導入して
支障なくお使いになっているユーザー様もおられます。
2次言語が必要であるというのは都市伝説程度に考えてよいのかも
知れません。
ご参考までに。