Internationalization (i18n), Unicode - Questions
i'm turning to you because i run into a wall concerning simple unicode questions (to you pros they might be simple, i suppose), maybe you can help me on (please!).
i'm not an absolute beginner coder but absolutely new to internationalization (i18n). in particular and to make things worse, i also want to code for different systems (windows9x up to xp).
i have some basic questions which i can't aswer myself also after hours (days) of googling - either i search for the wrong things or the things i look for just aren't stated anywhere in a summed up form. i find zillions of pages about string/wstring-usage, unicode vs vc++ multibyte etc.
but my questions are far more fundamental... i guess that's why they are not answered anywhere, a japanese user takes things for granted ("how does a .txt-file look like") and doesn't write about it or think about differences to other systems.
- could somebody sum up in a few sentences, what "unicode-support" really means? i know all the nt-apis exist doubled (an ...A and a ...W version) so everything doable with apis (including file names with, for example, japanese signs) must be possible with unicode as well.
- windows9x doesn't support unicode (there is an addon unicode layer, but you can't count on it) - how does japanese windows 95, for example, work? does it only rely on fonts (there is an IME for non-japanese users wanting to use japanese signs and stuff)? if it is only fonts, then how do japanese w95 users deal with FILES, can they use their signs or only ascii for filenames and folders?
- if i look at a .txt file created with notepad on a japanese system with a hex-editor, will i see double-byte representations, though it's only a simple .txt? is a .txt file of a windows 95 japanese system only ascii? can somebody provide links to such files (a windows95/98/xp .txt file created on a japanese system - or any other unicode, like russian, i guess?)?
- i want to provide easy localisation to users, they should be able to use an .ini file to change language easily. if i look at other solutions to this, like nirsoft.nets excellent programs, for example a russian .ini file looks like this:
i don't understand this, it seems like unicode and ascii is mixed up in one .ini, how does this work? what does a unicode .ini look like, the keys still look ascii-only to me, the values seem to be able to contain unicode, but not all do so.
- what is the easiest (most robust etc.) way to accomplish cross-version working of my apps in just ONE .exe (not an extra unicode build)? do i have to LoadLibrary the ...W unicode apis on nt-systems in order the prog also runs on 9x (complicated... debugging=argh)? the unicode layer for 9x is no option as it adds too much bloat and i don't trust it.
i would really appreciate help on this, maybe i'd also write the stuff down for future coders beginning in this area who will have the same "dumb" questions as i do now.
thanks a lot in advance,