Archive: Japanese


Japanese
Attached to this message is a .nsh file like that supplied in some of the latest versions of PiMP for Japanese installers.

To actually be able to create a Japanese installer though, I had to modify the resource.rc file to use the right language and code page obviously.

I'm sure there's probably a means of doing this through the script (setting a code page and locale) so that the dialog can be modified on the fly, but for now I've only taken the quick and easy way out.


I'm currently trying to make a japanese installer, but I'm having problems on windows 98, the text just displays at garbage. Can you tell me how you changed the codepage for the installer? I tried to change resource language in Project Settings and change all the dialogs to Japanese too. Then I get the following error when running the script:

WindowIcon: off
Error removing window icon: IDD_LICENSE doesn't exist!
Error in script "term01.nsi" on line 23 -- aborting creation process

MakeNSIS don't find the dialogs. If I remove the WindowIcon off part, there are other dialogs missing.

Could you give me some details about how you got it running?

I'm using NSIS 2.0.


Are you using a Japanese vesion of Windows? Do other Japanese applications work?

About the WindowIcon: can you attach the script?


NSIS looks for the English dialogs to remove. If you change the language it can't find any dialog.


I'm testing it on japanese windows and I still get garbled text on win98, but on japanese Win XP it works fine. On english windows the text is always garbled. It's the japanese distributer who tests it, so I guess they have their windows setup properly.

I attach the script with this reply if anyone can see any errors.

If NSIS can't find dialogs with other languages, then how are you supposed to be able to change the language for the installer? Or shouldn't you mess with the dialogs at all?

Hope anyone can help me out!


What is the exact version of NSIS you are using? To find out open MakeNSISw and look at the number on the bottom left corner. If there's no number there you are using a very old version and you shuold upgrade. Have a look at the FAQ for more details on that.


You did not change the language of the resources?


I'm using version 2.0b1, so I don't think that is the problem.

First I tried without changing the language of the resources, but the text got garbled. When I tried to change the resources to japanese, I couldn't even biuld the installer because MakeNSIS complained about not finding the dialogs.


Try b2 and the latest version and try to set the font to a Japanese font using SetFont. If you get it working with SetFont try the MUI too so we will know if it works with the MUI.


The default shell font for Win95/98 is MS Sans Serif.

Maybe that one doesn't support Japense. Use SetFont or !define MUI_FONT (for the MUI).


The problem is solved. It was just a matter of changing the language of the resources and using a font that is supported on all japanese OS.

Thanks alot for the help folks! =)


Can you please add a page to the NSIS Archive about Japanese installers on Win9x, so other people won't have all these troubles?


The problem is solved. It was just a matter of changing the language of the resources and using a font that is supported on all japanese OS.
How did you change the language of the resources without getting into trouble with makensis? AFAIK it should work with just changing the font.

The last fixes were made ny our distributor in Japan, so I don't have all the details. As far as I understand, all you really have to do is change the font in the resource file. Open exehead/resource.rc in your favourite text editor and replace all

FONT 8, "MS Sans Serif"

with

FONT 8, "‚l‚r ‚oƒSƒVƒbƒN"

Yes, it's supposed to look like that. Guess it's a multibyte name.

I also changed the language of the dialogs to japanese. I'm not sure if this is necessary and some script-commands have problems finding the dialogs after this. "WindowIcon off" didnät work, so I had to disable the icons in the resource editor. It looks alright but not very dynamic.

So, to summarize what I've learned. To get a japanese installer you have to:

- change the font to one supported by the japanese OS
- make some changes to the resources if scripting doesn't work

Hope this is helping anyone!


You don't have to change the font in the resources, you can use SetFont, much easier ;) And as I said, it works for me without changing the dialog language and I do remember it worked for other Japanese and Chinese users so I don't think you should change it. SetFont is enough.


I'm having a similar problem with Windows 98. I followed the suggestions and everything was good, except.
1) the first image on the welcome screen and finish screen of the mui is missing (even though I'm using the default one) (this happens on windows95 too for the english version)
2) the font for the title is garbled. (do I have to set MUI_FONT_HEADER ?)

I'll attach screenshots. Any ideas?
(how do you post screenshots)?


You have to set another font for the title (that supports Japanese), please check the MUI Readme.

Did you modify resource langauges? Try it with the normal language.


Yeah, I think I realized the font thing.

The missing image is a problem though, I've noticed it happening on windows 95 machines for english installs too. I posted about this awhile back and everyone said it worked for them, I modified the ioSpecial.ini file to accomodate more text in the intro section, it appears fine on win2k, xp, but on some 98 machines the image disappears.


tderouin: You can post screenshots in two ways:
1) By copying them to a website or something that is online and can be accessed trough the internet. Use the IMG button of your 'Post Reply' form to refer to the file.
2) By putting them all in a single zip file, ensure that it's size doesn't exceed the 10 kB, and upload it by selecting it at the 'Attach file:' part of the 'Post Reply' form. This file doesn't have to be online somewhere, as long as you can reach it.


Can you please link to the older bugreport?

So the image on the left side of the Welcome/Finish page disappears on older Windows versions?

Using the latest NSIS 2 version?


MakeNSIS v2.0b1

It wasn't a bug report, it was a posting on this board.
http://forums.winamp.com/showthread....hreadid=122191


Please upgrade to the latest version. The title can contain 3 lines now (beta 3) and no problems have been reported.


Upgrading to the latest version isn't as easy as that if I've made customizations to the source.


I found that resizing welcome.bmp to align with the size in the ioSpecial.ini file worked.


Did you modify the bitmap size in the INI file?

What kind of modifications did you make? Using CVS, you can merge changes.


For future info, the better fix is to keep the image the same size (314x164 or something), make that the image size in the ioSpecial.ini file and remove RESIZETOFIT. Then the image appears properly on win98 and win2k.


Would anyone know why packages built on a "Windows 2000 Server" machine would have the problem with fonts not showing up on win98 machines, and packages built on "Windows 2000 Professional" are fine?

Both are english OS's with their locale set to Japanese. I found that when the locale wasn't set to Japanese that the fonts wouldn't display properly, does anyone know why?

Thanks.


The OS that build the script should make no difference.

NSIS doesn't use Unicode (because that doesn't work on 9x), so you should set the language for non-Unicode applications to Japanese.

Removing RESIZETOFIT from ioSpecial.ini is not a good idea, because it won't work a custom DPI setting.


Ok, so I'm still trying futher to debug this problem. What is seems like is that there's a problem with the install options dll, because in custom dialogs that I implemented with InstallOptions don't show up either in the installation.

When I package the client on my windows 2000 pro machine at work and at home it works fine. But when I use our 2 different build machines (one is a win2k pro, the other is a win2k server). The only difference that I can immediately tell between these 4 machines is that on the 2 machines that it works is I've installed NSIS and NSIS workbench. In all situations our copy of NSIS is grabbed from source control to the machine and then is used to build the package. Does the NSIS installation update any system dlls that might be used by Install Options? I notice there's a comdlg32.dll dependency.


NSIS does not install any system files.


Ok, so do you have any other idea of what could be the root cause? I realize that it could be a configuration error on my part, but I've narrowed several possibilities and still have the problem so it's a possibility that there's something else going on.

Two packages built on two different machines using the same installer code base (NSIS), it's the exactly the same NSIS because it's checked into soure control. The resultant packages are exactly the same size - 1201KB. One package doesn't work properly on Japanese Windows 98, the text and image doesn't show up on the MUI welcome and finish page, and any custom dialogs don't have any text show up. The other package works as expected.


I've run into a new problem creating packages with japanese fonts. When I specify the font in the Japanese language and build on a machine whose locale is set to EN_US, the installer comes out with large windows. When I specify the font in English on an English machine, it works fine except for Windows 98 as above. When I specify the font in Japanese on machine whose system locale is JP, such as:

; japanese font
!define MUI_FONT "‚l‚r ‚oƒSƒVƒbƒN"
!define MUI_FONT_TITLE "‚l‚r ‚oƒSƒVƒbƒN"
!define MUI_FONT_HEADER "‚l‚r ‚oƒSƒVƒbƒN"
!define MUI_FONTSIZE 8
SetFont "‚l‚r ‚oƒSƒVƒbƒN" 8

Everything works as expected. The only problem with this is that our build machine handles builds for multiple locales, and I can't (through an Automated process) switch the locale because it requires rebooting. I think the problem is the font names are in English when the system's locale is set to English, even using the MS Windows 2k MUI and setting the user's locale to Japanese, the font names are still in English and somehow when the dialog properties are set they are either set incorrectly or just don't display properly on machines whose font names are in Japanese.

Any suggestions?

Thanks.


The problem is that NSIS converts the font name (and other texts in the resources) from MBCS to Unicode using CP_ACP and not the local code page. I do intend to add some more parameters to the language files so they can specify the code page, and a font name. For now you can create a special build of NSIS where every CP_ACP in DialogTemplate.cpp is replaced with the appropriate code page (you can find a list of code pages here).