|
|||
|
.NET, Delphi, ... - Sisulizer Localization Tool Support > Technical Support (You need to be registered at the forum to write) > Bugs and Quirks in Sisulizer > Compile of Japanese Chm fails
|
| Moderated by: Renate.Reinartz, Markus.Kreisel, Jaakko.Salmenius, Ilkka.Salmenius |
|
||||||||||||||||
| Compile of Japanese Chm fails - Bugs and Quirks in Sisulizer - Technical Support (You need to be registered at the forum to write) - .NET, Delphi, ... - Sisulizer Localization Tool Support | |||||||||||||||||
| Author | Post | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||||||||
|
Gs Member
|
Hi, using build 300 to translate an English Chm-file to Japanese. After importing a partial Japanese translation, it fails to compile, with following error: Could not compile the localized HTML files into a CHM file. Error code 255: runtime error R6002 - floating point not loaded Please send "T:\SimaPro\Release\Distributables\HelpFiles\SimaPro.zip" file to Sisulizer support team. The error seems to be connected to a specific page 'Opening a project.htm' but apart from some non-matching tags, I don't see any noticeable anomalies there. I will send the zip via private upload. This has some urgency! Advance thanks for investigating this, Gerard
|
||||||||||||||||
| |||||||||||||||||
| |||||||||||||||||
|
Janusz Grzybek Super Moderator
|
Hi Gerard, Could you also upload your source CHM and SLP for this help file? BTW: If you send these files, I'll also check issue described in this http://www.sisulizer.net/forum4/1962.html thread. Best, Janusz
____________________ http://www.sisulizer.com - Three simple steps to localize |
||||||||||||||||
| |||||||||||||||||
|
|||||||||||||||||
|
Gs Member
|
Done, slp + chm in 1 archive 'temp.rar'.
|
||||||||||||||||
| |||||||||||||||||
| |||||||||||||||||
|
Janusz Grzybek Super Moderator
|
Hello Gerard, Seem to me that your issue is related to non installed support of Shift JIS (932) encoding on your Windows XP. If you haven't installed Suplemental language support (support for East Asian languages) on your Windows XP, go to Windows Control Panel -> Regional and Language Options and check both checkboxes in Suplemental language support section (it require Windows XP CD). I think it should solve your issue. Next restart your OS, open your Sisulizer project and try build Japanese version of CHM file. I'll be appreciated, if you let me know about results. Best regards, Janusz Attachment: screen.png (Downloaded 48 times)
____________________ http://www.sisulizer.com - Three simple steps to localize |
||||||||||||||||
| |||||||||||||||||
|
|||||||||||||||||
|
Markus.Kreisel Administrator
|
Here are some screen shots showing where to install this Windows extension for far each languages: http://www.sisulizer.com/localization/support/codepages-xp.shtml Markus
____________________ http://www.sisulizer.com - Three simple steps to localize |
||||||||||||||||
| |||||||||||||||||
| |||||||||||||||||
|
Gs Member
|
Alas, support for East Asian languages was already installed on my machine, so that probably is not the problem. The checkbox for support of complex script and right-to-left is not checked, but when doing that it doesnt mention anything about it being relevant to Japanese. Did you actually succeed in compiling the help on the files I sent you? I need a solution to this really urgent..
|
||||||||||||||||
| |||||||||||||||||
|
|||||||||||||||||
|
Janusz Grzybek Super Moderator
|
Hello,The checkbox for support of complex script and right-to-left is not checked, but when doing that it doesnt mention anything about it being relevant to Japanese. Yes, RTL support in Windows is not necessary, if you don't localize your files to e.g Hebrew or Arabic. Did you actually succeed in compiling the help on the files I sent you? I need a solution to this really urgent.. Yes, I can compile without errors Japanese version of your CHM file and for this reason I asked about support for East Asian languages, because non installed supplemental language support can cause similar errors. However, I found in your project lot of new, changed and unused items. So, maybe you upload to us other (older or newer) version of your project. Could you check it and optionally upload your SLP file again? Best regards, Janusz
____________________ http://www.sisulizer.com - Three simple steps to localize |
||||||||||||||||
| |||||||||||||||||
| |||||||||||||||||
|
Gs Member
|
Uploaded again. Would it be possible that you send me your translated CHM so taht I can gain some trust that we can proceed with Sisulizer as the translation tool for our East Asian helpfiles? Best regards, Gerard
|
||||||||||||||||
| |||||||||||||||||
|
|||||||||||||||||
|
Janusz Grzybek Super Moderator
|
Thank you for files. Now, (after import from Japanese version of project) I can reproduce errors. Sisulizer correctly build localized Japanese HTML files, but Microsoft HTML Workshop used to CHM compilation is old tool with not fully support for non-ANSI codepages (e.g. Shift-JIS) and probably it can't read correctly strings with </b> tag e.g:
However, you can correctly compile Japanese CHM file, if you change encoding from Shift-JIS to UTF-8. If you would like do it, you should go to "Project" menu -> "Edit" source -> SimaPro.chm -> "Encodings" tab. Next right click on Japanese row in "Output encodings" box and select "UTF-8" in context menu (on below screenshot). Sisulizer ask you about keep existing encoding and you should click "No". Next use build feature. This solution should resolve your issue. Best regards, Janusz Attachment: screen.png (Downloaded 41 times)
____________________ http://www.sisulizer.com - Three simple steps to localize |
||||||||||||||||
| |||||||||||||||||
| |||||||||||||||||
|
Gs Member
|
OK, with this change of encoding thankfully it's building now! Question remains: does this change of encoding have any disadvantage or other collateral effect?? Best regards, Gerard.
|
||||||||||||||||
| |||||||||||||||||
|
|||||||||||||||||
|
Markus.Kreisel Administrator
|
Gerard, In general I would always prefer using UTF-8 if possible. It is often much better supported. Markus
____________________ http://www.sisulizer.com - Three simple steps to localize |
||||||||||||||||
| |||||||||||||||||
| |||||||||||||||||
|
Janusz Grzybek Super Moderator
|
I agree with Markus. UTF-8 should work on all Windows locales with different regional and language settings, while using of non-unicode encodings can't guarantee it. So I recommend using (when it is possible) Unicode encodings. Best, Janusz
____________________ http://www.sisulizer.com - Three simple steps to localize |
||||||||||||||||
| |||||||||||||||||
|
|||||||||||||||||
|
Gs Member
|
Thanks for your answer. However, what I really meant to ask was this: 1. Since you say 'if possible', I gather that it is not always possible. In what circumstances would it not be possible, i.o.w what are the decision criteria to choose either Shift-JIS or Unicode. 2. Or if Unicode is always preferable, why is Shift-JIS the *default* encoding for a Japanese CHM (at least I don't remember having actively chosen Shift-JIS) 3. In an MSDN blog (http://social.msdn.microsoft.com/forums/en-US/devdocs/thread/2e17127a-8742-4997-bcfc-b1396aab5443/ and http://blogs.msdn.com/sandcastle/archive/2007/09/29/chm-localization-and-unicode-issues-dbcsfix-exe.aspx) there was a discussion about a bug that I think referred specifically to the TOC being mojibaked. To quote: 'There is a bug in HTML Help that will cause the index tab to show incorrect character encodings depending on your default locale. For example, you'll see this problem if you build a Japanese .chm file on a machine with the default locale set to English. If you change the default locale to Japanese (which requires a reboot) and rebuild the .chm file, it won't show this problem (even on an English machine).' I wonder if this is still relevant. 4. On the H&M support forum I see statements like: 'Actually, you don't need UTF-8 for CHM files because CHM doesn't support UTF-8 or Unicode. CHM is an ancient format that Microsoft has not really changed since Windows 98, and it has a number of quirks and restrictions like this. To handle Unicode-based languages it needs the text to be converted to double-byte format with the correct codepage, which is what Help & Manual does. In addition to this, for the creaky old CHM compiler to produce a usable CHM from Unicode source you also need to set the Windows System Locale ("Language for non-Unicode programs") to match the language of the CHM you are producing. If you don't do this the text in the topics may be OK but the Table of Contents in the Microsoft CHM viewer will be displayed as question marks or garbage text.' (http://helpman.it-authoring.com/viewtopic.php?t=9382&view=next&sid=f6008b42ec24e6fba461aa4907530b32). Is this just a load of rubbish then? 5. Should our Japanese translator know that the encoding is now UTF-8 instead of Shift-JIS? Regards, Gerard
|
||||||||||||||||
| |||||||||||||||||
| |||||||||||||||||
|
Gs Member
|
Indeed I do find that for the index to be displayed correctly, it is necessary to set the locale 'Language for non-Unicode programs' to Japanese. (see image bottom: left mojibaked, right OK). Since my machine reboots excruciatingly slow, this is not very convenient at all. Perhaps it is possible to use the workaround in one of MSDN-blogs (to use in your build procedure)? Regards, Gerard Attachment: IndexMojibakings.JPG (Downloaded 25 times)
|
||||||||||||||||
| |||||||||||||||||
|
|||||||||||||||||
|
Markus.Kreisel Administrator
|
Gs wrote: 1. Since you say 'if possible', I gather that it is not always possible. In what circumstances would it not be possible, i.o.w what are the decision criteria to choose either Shift-JIS or Unicode. The answer was in general for all platforms and system. It does not make sense to use UTF-8 if a system does not support it. E.g. it would not make sense to use UTF-8 on Windows 3. And if it does not work with your help files you also should not use it. CHM is simply an old compiler. 2. Or if Unicode is always preferable, why is Shift-JIS the *default* encoding for a Japanese CHM (at least I don't remember having actively chosen Shift-JIS) Since it is preferred to use UTF-8 when possible Japanese writers would prefer to choose Shift-JIS if they create documents. If the build process would be done on a Japanese machine that should work. Nevertheless I still would prefer UTF-8 for all documents in a globalized world since no conversation is needed. 'There is a bug in HTML Help that will cause the index tab to show incorrect character encodings depending on your default locale. For example, you'll see this problem if you build a Japanese .chm file on a machine with the default locale set to English. If you change the default locale to Japanese (which requires a reboot) and rebuild the .chm file, it won't show this problem (even on an English machine).' Following this topics your Japanese translator would not have seen the issue on his system. For you that means, that you always had to reboot with Japanese code page as default. This is a limitation of the CHM compiler. 4. On the H&M support forum I see statements like: The underlying HTML pages in the Help file of Sisulizer are all UTF-8 encoded. Sisulizer is sold worldwide, icnl. Japan, and we did not hear any complains. For us the old CHM compiler does the UTF-8 trick. Off course there is never a 100% guarantee. If you encounter you still have the possibility that your translator creates the localized help for on his machine using Shift-JIS. All he needs is a license of a Translator Edition. Or you can use run a Windows with Japanese code page in a virtual machine to compile the Japanese help. At the time the Help Workshop was presented 1997 (if I remember well) in San Diego at the Help University nobody thought about UTF-8. Everybody was happy to get rid of the very old hlp compiler. A shame that there was no real improvement since then. 5. Should our Japanese translator know that the encoding is now UTF-8 instead of Shift-JIS? In Sisulizer all strings are always saved as UNICODE. This is the only way to handle multi-language data without code page problems. So for him nothing changes. Btw: Shift-JIS and UTF-8 are both 8-Bit encodings: http://en.wikipedia.org/wiki/Shift_JIS http://en.wikipedia.org/wiki/Utf-8 Hope this helps Markus
____________________ http://www.sisulizer.com - Three simple steps to localize |
||||||||||||||||
| |||||||||||||||||
| |||||||||||||||||
|
Markus.Kreisel Administrator
|
Hi, Or you could get a Translator License and your translator compiles the help files for you with Sisulizer. This would be the safest solution. Markus
____________________ http://www.sisulizer.com - Three simple steps to localize |
||||||||||||||||
| |||||||||||||||||
|
|||||||||||||||||
|
Gs Member
|
Hi Markus, thank you very much for the extensive answer. My concerns are largely alleviated. Regards, Gerard
|
||||||||||||||||
| |||||||||||||||||
| |||||||||||||||||
|
Janusz Grzybek Super Moderator
|
Generally I agree with Markus, but I would like add some supplement to his answer:2. Or if Unicode is always preferable, why is Shift-JIS the *default* encoding for a Japanese CHM (at least I don't remember having actively chosen Shift-JIS) Sisulizer always try use encoding types for output files related to source encoding type, for example if your English source use UTF-8, output file also will be UTF-8, if your source is Windows-1252, Sisulizer by default use Windows-1250 for Polish output file or Shift-JIS for Japanese, when your source use ISO, Sisulizer by default set appropriated ISO encodings for output file. Usually we recommend using default settings, but in your case it produce errors. I recommend always using UTF-8 for creation of documents (e.g. HTML files), because this good step to globalization of software. 1. Since you say 'if possible', I gather that it is not always possible. In what circumstances would it not be possible, i.o.w what are the decision criteria to choose either Shift-JIS or Unicode. Generally, UTF-8 topics should be correctly displayed by HTML Help Viewer, because this tool use IE components for displaying topic content, but this encoding can cause problems with fulltext search index and index files on non Japanese locales, but you already found it... BTW: I tried compile your CHM with Shift-JIS on virtual machine (English Win XP) with Japanese regional settings and I got these same errors during compilation. Since my machine reboots excruciatingly slow, this is not very convenient at all. I also recommend using of virtual machine software. This is flexible and comfortable solution. You can use e.g. free MS Virtual PC or free Sun (currently Oracle) VirtualBox. 5. Should our Japanese translator know that the encoding is now UTF-8 instead of Shift-JIS? As Markus told this setting is transparent for your translator. Additional this setting is used during build feature, while your translator doesn’t use this feature. Best regards, Janusz
____________________ http://www.sisulizer.com - Three simple steps to localize |
||||||||||||||||
| |||||||||||||||||
|
|||||||||||||||||
|
Jaakko.Nieminen Administrator
|
Microsoft HTML Help can correctly handly only two encoding: Windows code pages and UTF-8. Your HTML files use ISO encoding. On western languages they are basically same as Windows code pages but on Asian languages they differ a lot. The current Sisulizer uses the same encoding as used in the original HTML files. This is why it used ISO 2022 instead of Shift-JIS (= Windows code page 932). This is considered as bug in Sisulizer. I fixed this in build 306 such way that if the original encoding is not using Windowes code pages or UTF-8 Sisulizer automatically uses either one. I tested your file on build 306 and now when Sisulizer used Shift-JIS instead of ISO 2022 HTML Help compiler managed to compile it. Jaakko
|
||||||||||||||||
| |||||||||||||||||
| Current time is 08:03 am | |
| .NET, Delphi, ... - Sisulizer Localization Tool Support > Technical Support (You need to be registered at the forum to write) > Bugs and Quirks in Sisulizer > Compile of Japanese Chm fails | |
Sisulizer software localization tool - Three simple steps to localize