kzouのBenQ P50日記 このページをアンテナに追加 RSSフィード

2005-07-10

[]リアル日本語化への道(第3回)

前の第2回までで日本語のResourceを持ったmuiファイルを作成するところまで書きましたが、今回は実際に前回作ったmuiファイルを実際に別言語OSに導入する方法と、もし失敗してもリカバリーできる手段を書きたいと思います。

毎回書きますがリスクは必ず付き物ですので自己責任とか理解できない人、本体や周辺機器が壊れたら困るという人も絶対に行わないでください。

やり方及び実行もグレーゾーンなのか黒なのか白なのか解りませんことをまず自覚してください。

また、作成したファイルを自己管理のもと以外で配ったり(二次配布)するのはグレーとか黒以前に黒だと思われます。

しつこく書きますが全て自己責任でお願いいたします。

<<日本語のResourceを実際に導入してみる>>

用意するもの

流れとしてはこんな感じ

OSのコア部分の変更をしたmuiファイルファイルパス、Shellが呼び出すパスフォルダ名が各言語によって違います。予め予期されるフォルダファイルを作っておかないとエラーが出てリセットだけでは戻りません。ファイラーなどでmuiファイルリネームしてリセットをすると元に戻せますのでそこら辺の情報まとめて書いていきます。

日本語化するための下準備

実際の作業(Shell等OSのコア部分のmui導入)

  • shellres.dll、tshres.dll、shellresapps.dll導入前の準備

なぜ、上記のようなフォルダを作成するかというとshellres.dll、tshres.dll、shellresapps.dllの3つがOSのかなりの部分の表示を担っているdllファイルがあるのですが、それを第2回での方法でshellres.dll.0411.mui、tshres.dll.0411.mui、shellresapps.dll.0411.muiと仮に作ったとするとShellのパスフォルダの名称などでエラーが起こってしまうからです。

  • 関連するレジストリの作成
    • 導入する前に必ず上記にのフォルダを作成してからそれと同時に下記のレジストリもTascal RegEditなどでインポートしておきます。
[HKEY_LOCAL_MACHINE\Explorer\Shell Folders]
"Application Data"="\\Application Data"
"Desktop"="\\Windows\\デスクトップ"
"Favorites"="\\Windows\\お気に入り"
"Fonts"="\\Windows\\Fonts"
"My Documents"="\\My Documents"
"Program Files"="\\Program Files"
"Programs"="\\Windows\\プログラム"
"Recent"="\\Windows\\最近使ったファイル"
"StartUp"="\\Windows\\スタートアップ"
"Windows"="\\Windows"
  • 言語の読み込み設定を変更する。
    • 下記のレストリをインポートするか、"SysLang"の値を404から411に変更する。(BenQ P50の場合)
[HKEY_LOCAL_MACHINE\MUI]
"SysLang"=dword:00000411
"Enable"=dword:00000001
  • 準備が出来たらソフトリセットして表示などを確認してください。

実際の作業(その他の部分のmuiの導入)

注意点

日本語化の状態の確認

  • 変更したmuiに記述されているアプリケーション(文字列で殆ど勘を頼りに・・・)を起動して実際に動作するか確認してください。
  • 起動しないものはmuiファイルの作成に失敗している場合があります。
  • 起動しても設定などが出来ない場合にはmuiで書き換えては行けない場所や、関連するdllやexeファイルがあったり、レジストリの記述などが足りなかったり、間違えている可能性がありますので、地道に調べながら修正する必要があるかも知れません・・・。
    作成したmuiが使用されているアプリケーションリモートプロセスビューアで確認できるそうです。
    原因が解らなければ場合によってはmuiによる日本語化を諦めないといけないかも知れませんけど・・・。

以上でmuiファイルの導入手順と注意事項編は終わりですが、現在試行錯誤している部分もあるので後日追記または修正加筆する場合もあります。

最後に・・・・

この方法を使うとPocketPC 2003及びPocketPC 2003SEでは流用する日本語エミュレータを変更したり、言語に合わせたレジストリを書き出し、muiファイルさえ作って設定すれば、どんな言語のPocketPC2003以降のデバイスでも日本語の表記にすることが出来そうです。

また、海外のアプリケーションもmuiファイルを作成することで、同一のフォルダ日本語で記述したmuiを置けば元ファイルを弄らなくても簡単に日本語の表記にすることが出来ると思います。

時間があれば、Skypeパッチをmui化して導入を楽にしたり、よく使うPhatNoteなどの日本語化muiを作成してみようかと思っています。

また、今回の作業において便利なツールを同時に開発してくれたホーミンさん、ROMの扱い方のヒントを教えていただいたAsukalさんには深く感謝をいたします。<(__)>

ホーミンホーミン2005/07/10 17:05作成したmuiが使用されているアプリケーションはリモートプロセスビューアで確認できます。一応参考まで。

nmijinmiji2005/07/10 18:59連載ご苦労様でした、目からうろこ状態ですm(__)m スキルはそれほどないですがチャレンジしたいですね。最終目標はLOOX720まで日本語化できるといいなと思ってます(^^ゞ

kzoukzou2005/07/10 20:55ホーミンさん 追記しました<(__)>

kzoukzou2005/07/10 20:56nmijiさん 私もスキルは全然無かったのですが、今回色々と教えてもらってなんとか出来るようになりましたから、大丈夫ですよ~♪

NARiNARi2005/07/10 21:45kzouさん、ホーミンさん、Asukalさん、お疲れさまです~m(_ _)m

AsukalAsukal2005/07/10 23:01BAの場合で気がついた件;コンパネの各設定の名前ですが通常shellres.dllで日本語になります。一部それでは変更できない物=ROMに焼き付けておらずPDAからそのままコピ・ぺ可能な物=これはMyCPL.cplにありました(BAではバッテリーやBacklight).
これを編集してmuiにすれば英語から日本語に変更可能でした。今日一日すべてのdllを開いてみておりました。目が痛い!<あ、Kzouさん、ご苦労様!>

AsuaklAsuakl2005/07/10 23:44HKEY_CURRENT_USER\MUIは411(1041)西無くてもよいでしょうか?私は409(WWE=英語モードのMUIでやっていますので不明ですが)

kzoukzou2005/07/10 23:48NARiさん 頑張ってくださいね~~!

kzoukzou2005/07/10 23:51Asuaklさん P50も一部違うファイルを書き換えていますよ!(MyPower.exeとか) 私も目がシバシバしております(^^ゞ
あ、muiの値はBenQ P50の場合ですね? なんでも良いのではないでしょうか?(^^ゞ

ホーミンホーミン2005/07/11 01:22Asuaklさん レジストリ値とmuiファイルがあってれば良いんで好きな値でいいです。(当然muiファイル名をxxx.レジストリSysLang値.muiの形で作成する必要はあります)
ただ何語用のmuiか訳がわかんなくなるんで表示する言語IDにあわせた方がいいと思います。

AsukalAsukal2005/07/11 02:03私の言い方がおかしかったようです。(#^.^#)
[HKEY_LOCAL_MACHINE\MUI]
[HKEY_LOCAL_USER\MUI]両方共に数値を変更する必要は無いでしょうか?と言う意味でした。日本語がへたくそになってきたようです。(^^ゞ

ホーミンホーミン2005/07/11 02:53Asuaklさん すいません自分が勘違いしてました。確かHKEY_CURRENT_USER\MUIの方は変えなくても使われるmuiには影響しなかったと思います。まあ揃えておいた方が無用の混乱を防げると思いますが。

AsukalAsukal2005/07/11 10:09TESTしました。HKEY_CURRENT_USER\MUIは変えなくてもMUIは認識しましたが変えた方がなぜか動作がキビキビするような・・体感的に。

kzoukzou2005/07/11 11:01ホーミンさん、Asukalさん ちょっとレジストリを見て私も試して見ます(^^ゞ やはりそろえておいたほうが良いかもですね?

AsukalAsukal2005/07/11 13:06日本ではワイアレスONにできないので(できても使えない)意味ないかもしれませんがBAの場合下記レジストリを書き込んでやるとSMS受信の時、日本語で噴出しが表示されシブイです!(後電話の部分-Notificationもやるつもり)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Inbox\Svc\SMS]
"MessageSent"="SMS送信完了"
"DeleteMessages"="SMS削除"
"SendMessage"="SMS送信"
"NewMessage"="新着SMS"
"FriendlyName"="SMS"
"ReceivedMessages"="SMS"
"UserCannotCreate"=dword:00000001
"DLL"="tpcutil.dll"
"Abbreviation"="txt"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Inbox\Svc\SMS\MsgClasses]
"IPM.SMStext"=dword:00000001

EugineEugine2013/08/03 10:29That saves me. Thanks for being so sesbnile!

VictorVictor2013/08/11 10:30Grazi for maknig it nice and EZ. http://pipvxkmew.com [url=http://zuykpvpi.com]zuykpvpi[/url] [link=http://agspgu.com]agspgu[/link]

HermenegildeHermenegilde2013/08/13 12:01I've been <a href="http://xonmryihx.com">loionkg</a> for a post like this for an age