cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Steve_McCrea
Level 4

Czech localization problem

I have a Czech version of an installer and when I try to run the installation in Czech some of the characters are not properly rendered. In particular one character is consistently rendered as a block graphic, the accented z in words like: Služba
Labels (1)
0 Kudos
(11) Replies
Steve_McCrea
Level 4

Attached image shows garbled text
0 Kudos
Steve_McCrea
Level 4

Can I change the code page used by IS for a particular language? I suspect it is using 1252 and would work better with 1250.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

I just built a single-language installer using Czech, and it uses code page 1250. I see no problems displaying the character ž on a Windows 7 system. What scenario do you see this in - is it a multiple language installer, or are you using a different OS?

(I should probably mention I tried with InstallShield 2012 Spring, but I don't think we've made any changes that are relevant to this behavior.)
0 Kudos
Steve_McCrea
Level 4

It looks like we are using IS 2011. Is it different thatn 2012 and can I change the code page because I think it is using 1252?
Windows 7 and multi-language installation.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

I think all our relevant changes went in place in IS2010 for MSI and IS2011 for InstallScript. And even the ones I'm thinking of are unlikely to have changed this.

I just tried including both English and Czech, and it still displays correctly on my system. While the underlying .msi uses code pages, the display logic is actually a Unicode program which only uses the code page to translate the stored strings back to Unicode. Have you changed the fonts from the defaults? You can check this, for example, by testing if a new sample project works correctly. If it doesn't, we can cross-check if it works correctly on my or another system.
0 Kudos
Steve_McCrea
Level 4

I tried a simple test installer of type InstallScript with English and Czech and the result is the same. I attached a screenshot. Also, when I browse 0x0405.ini (czech) the dialog text looks good.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Ahah, using InstallScript was the key. I'd been trying Basic MSI projects (as my last comment indicated). On first blush it looks like a font issue, as if I include the ž character in my product name, it appears fine in the title bar but not in the text in the wizard.

I confirmed this is the font by adding the following code to the DLG_INIT in an override of SdWelcome, which fixes the symptom on the controls specified, but is an incomplete solution.
hFont = GetFont("Tahoma", 8, STYLE_NORMAL); // note: declared HWND hFont above
CtrlSetFont(szDlg, hFont, SD_STA_MSG);
CtrlSetFont(szDlg, hFont, NEXT);
0 Kudos
Steve_McCrea
Level 4

What would be a complete solution?
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

You could apply this call for all controls on all of the dialog boxes you show; I personally think that would be too painful to be realistic. Alternately, you can edit the resources to specify the alternative font.

However it may be worth verifying whether the behavior exists on a system that is likely to select Czech by default; it's possible that it would use a different font by default that does not have this problem.
0 Kudos
Steve_McCrea
Level 4

Thanks for your help but it looks like I failed to mention that I was unable to repro on Windows 7 - our customer reports it was happening on Window 8. Do you know if it is possible that code page 1252 is not present on early releases of Windows 8? Our app specifies that code page in the Win32 resource. I have not been able to get my hands on a Czech Win 8 yet to try it out.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

I'm not aware of any such change in Windows 8, and it would strongly surprise me. For what it's worth, the control panel > Region Settings includes Czech (Czech Republic) in the list of options for the current system locale on the release preview. I think this indicates the code page is present.
0 Kudos