• Announcements

    • xper

      MSFN Sponsorship and AdBlockers!   07/10/2016

      Dear members, MSFN is made available via subscriptions, donations and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, become a site sponsor and ads will be disabled automatically and by subscribing you get other sponsor benefits.
Sign in to follow this  
Followers 0
Petr

Localized Q311561

9 posts in this topic

As it was several times mentioned here, Microsoft put US English IO.SYS (WINBOOT.SYS) files to all language versions of Q311561 based on US English code.

Apparently Chinese (Simplified), Chinese (Traditional), Japan, Korean, Arabic and Hebrew versions are correctly localized and Thai version is in English even in the original Windows because it is "Enabled" only.

Now I have localized remaining updates, just moved the strings from original files to the Q311561 update:

Brazilian

Czech

Danish

Dutch

Finnish

French

German

Greek

Hungarian

Italian

Norwegian

Polish

Portugal

Russian

Slovak

Slovenian

Spanish

Swedish

Turkish

Please let me know if everything is OK.

There may be one problem, even in originally localized files by Microsoft. There are three sections containig localized strings, the first and the second (that contain most of the strings) start at 16-byte page boundary so there are correct for sure. But the third, small part does not start on 16-byte page boundary and the system how offsets are calculated is different for US English version and for localized versions.

In US English version the offsets are relative to 16-byte page boundary after the real start of the localized resources, while the offsets in the localized version is relative to the real start of the localization block here is the example. The first column is relative position to the beginning of the localized strings, the second colum is the offset from the beginning of the WINBOOT.SYS file.

Original Windows 98 SE US English version:

2F4AE DW 0006, 000A, 0100, 00B1, 0, 12, 25, 88, 9F, A8, AD
0000 2F4C4 DB "None of the above", 0
0012 2F4D6 DB "Enter your choice:", 0
0025 2F4E9 DB "Windows cannot determine what configuration your computer is in.", 0D, 0A
"Select one of the following:", 0D, 0A, 0D, 0A, 0
0088 2F54C DB "Original Configuration", 0
009F 2F563 DB "Undocked",0
00A8 2F56C DB "Dock",0
00AD 2F571 DW "MSDCMMSG", 00C3

00C3 = 2F571 - 2F4AE, but what means 00B1 as the fourth word?

Only if you consider as a start not 2F4AE, but the second 16-byte boundary after this real start, then:

2F571 - 2F4C0 = 00B1

Original Windows 98 SE Czech version:

2F4AE DW 0006, 0016, 0100, 00B0, 0, 10, 1F, 73, 8A, 93, 9A
0000 2F4C4 DB "Nic z uvedeného", 0
0010 2F4D4 DB " Zadejte volbu:", 0
001F 2F4E3 DB "Nelze zjistit konfiguraci tohoto systému.", 0D, 0A
"Vyberte jednu z následujících voleb:", 0D, 0A, 0D, 0A, 0
0073 2F537 DB "Originální konfigurace", 0
008A 2F54E DB "Mimo dok",0
0093 2F557 DB "V doku",0
009A 2F55E DW "MSDCMMSG", 00B0
2F568 (padding)

00B0 = 2F55E - 2F4AE, the same number is both as the fourth word and at the end of the localization block.

This rule is valid for all 19 languages with except of US English.

Q311561 US English version:

2F574 DW 0006, 000A, 0100, 00B7, 0, 12, 25, 88, 9F, A8, AD
0000 2F58A DB "None of the above", 0
0012 2F59C DB "Enter your choice:", 0
0025 2F5AF DB "Windows cannot determine what configuration your computer is in.", 0D, 0A
"Select one of the following:", 0D, 0A, 0D, 0A, 0
0088 2F612 DB "Original Configuration", 0
009F 2F629 DB "Undocked",0
00A8 2F632 DB "Dock",0
00AD 2F637 DW "MSDCMMSG", 00C3

2F637 - 2F574 = 00C3, but this time is the fourth word 00B7. Why?

Only if you consider as a start not 2F574, but the 16-byte boundary after this real start, then:

2F637 - 2F580 = 00B7

So the correct contents of the fourth word is unknown. As well as the correct contents of the second word, it is 0010 for US English and 0016 for all other languages.

I'm not sure if these wors are used anywher at all so maybe it is absolutely irrelevant to try to figure out what are the right numbers.

But if anybody encounters any problem with displaying the right message when using the notebook docked or undocked we know what to check. In that case pleae let me know and I will try to find the right solution.

Q311561 WINBOOT.SYS files are identical for both Windows 98 (Gold) and for Windows 98 Second Edition.

Unfortunately I have no idea how to localize Windows Me WINBOOT.SYS and WINBOOT.EBD files - all text resources are packed with code and compressed so the only way would be to find out how to uncompress this part of the WINBOOT.SYS file, localize it, and then to pack it again.

Petr

0

Share this post


Link to post
Share on other sites

I have tested winboot.98s Dutch on my system. It does work as far as I can see. I compared it with mine translation. Might be interesting to spot differences:

winboot.98s:

054D0h: 5347 6A02	"SGj."

11EA0h: 5347 FA14 "SG.."

2F574h: 0600 1600 0001 C400 0000 1900 2B00 8900 A000 A900 AE00 "............+........."

2f63eh: 5347 C400 "SG.."

io.sys (mine):

054D0h: 5347 5802	"SGX."

11EA0h: 5347 9F12 "SG.."

2F574h: 0600 0A00 0001 B700 0000 1200 2500 8800 9F00 A800 AD00 "............%........."

2f63eh: 5347 C300 "SG.."

Edited by hp38guser
0

Share this post


Link to post
Share on other sites
I have tested winboot.98s Dutch on my system. It does work as far as I can see. I compared it with mine translation. Might be interesting to spot differences:

winboot.98s:

054D0h: 5347 6A02	"SGj."

11EA0h: 5347 FA14 "SG.."

2F574h: 0600 1600 0001 C400 0000 1900 2B00 8900 A000 A900 AE00 "............+........."

2f63eh: 5347 C400 "SG.."

io.sys (mine):

054D0h: 5347 5802	"SGX."

11EA0h: 5347 9F12 "SG.."

2F574h: 0600 0A00 0001 B700 0000 1200 2500 8800 9F00 A800 AD00 "............%........."

2f63eh: 5347 C300 "SG.."

English Q311561:

5266 dw 258

54b8 dw "IOSYSMSG", 258

Dutch Q311561 - mine

5266 dw 26a

54ca dw "IOSYSMSG", 26a

Dutch Q311561 - your

5266 dw 26a

54ca dw "IOSYSMSG", 258

Dutch - original

5256 dw 26a

54ba dw "IOSYSMSG", 26a

The word after the ISSYSMSG string is the length of the localized block, but you have left the length of the English block here.

The same for

11EA0h: 5347 FA14	"SG.."
2f63eh: 5347 C400 "SG.."

and

11EA0h: 5347 9F12	"SG.."
2f63eh: 5347 C300 "SG.."

Regarding the remaining difference:

2F574h: 0600 1600 0001 C400 0000 1900 2B00 8900 A000 A900 AE00		"............+........."

2F574h: 0600 0A00 0001 B700 0000 1200 2500 8800 9F00 A800 AD00	"............%........."

it seem you have left values valid for English version again.

Petr

0

Share this post


Link to post
Share on other sites

Great work Petr, italian Q311561 works perfectly on my 98SE during boot with entries of menu localized! :P

Thank you. :)

0

Share this post


Link to post
Share on other sites

Petr do you localise these files manually? Or do you have some patcher to automate things. Meaby we can work on a new Windows 98SE Service Pack for all languages! You have come a long way already :)

0

Share this post


Link to post
Share on other sites
Petr do you localise these files manually? Or do you have some patcher to automate things. Meaby we can work on a new Windows 98SE Service Pack for all languages! You have come a long way already :)

I wrote some scripts or small programs in foxpro - the only language I know a bit.

I'm also able to transfer localized portions of VXD files and 16-bit DLL/EXE files from old localized file to new updated file that it is in English only. It would be nice to have somebody who could write such tools with much higher professionality and much quicker than me.

Regarding the most popular Windows SE servicepack, there was no update for almost a year already. Gape wrote me few days ago that he will wrote longer message so I will see.

I think it would be much better to have complete list of necessary files for all (fe/se/me/95) servicepacks before localizing all files to all languages - because it not very good to go back and localize again different versions or additional files. It would be hard work anyway.

Unfortnately I see not many people wanting to work on the new servicepacks.

Petr

0

Share this post


Link to post
Share on other sites

Petr do you localise these files manually? Or do you have some patcher to automate things. Meaby we can work on a new Windows 98SE Service Pack for all languages! You have come a long way already :)

I wrote some scripts or small programs in foxpro - the only language I know a bit.

I'm also able to transfer localized portions of VXD files and 16-bit DLL/EXE files from old localized file to new updated file that it is in English only. It would be nice to have somebody who could write such tools with much higher professionality and much quicker than me.

Regarding the most popular Windows SE servicepack, there was no update for almost a year already. Gape wrote me few days ago that he will wrote longer message so I will see.

I think it would be much better to have complete list of necessary files for all (fe/se/me/95) servicepacks before localizing all files to all languages - because it not very good to go back and localize again different versions or additional files. It would be hard work anyway.

Unfortnately I see not many people wanting to work on the new servicepacks.

Petr

My translation differs from yours. I thought I had to see the text blocks as kind of containers. So all I had to do is move my dutch code into it. However if this is not ok I have to rework my entire Service Pack.

I'm still working on a combination of a kind of 98Lite project with totally upgraded components. A service pack is not my first priority.

This weekend I'm also working on transforming newest Nero 7 bloat update to Nero 7 Lite.

Edited by hp38guser
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.