Just in time for the holidays, Dr. International's e-mail account has been fixed. For a moment, he thought maybe he had been fired and they forgot to tell him? In any case, you can once again submit your international questions via Ask Dr. International form and the Doctor will do his best to answer them. And this way if any reindeer need directions, Dr. International will be able to oblige them.
| How does one find the time? | |
| Multilingual Addresses in Outlook? | |
| Setting up keyboards when you are not around |
I am developing an application that is going to be used by many people throughout the world, and I am worried about how to handle the issues with different time zones. How can I compare two different times from people that are in different parts of the world effectively?
Sincerely,
No Time
Well, No Time, the Doctor is glad you asked this question. The model adopted by many programs, including Exchange Server and Outlook, is to store data in the Coordinated Universal Time (UTC) and simply display the local time as needed in the user interface. This does require a few steps, though:
| • | When a time is entered, it must be converted from the local time to the UTC time. Assuming you are using the SYSTEMTIME format for times, this is done by calling the SystemTimeToFileTime , LocalFileTimeToFileTime, and FileTimeToSystemTime APIs. |
| • | When you need to display a time on a particular user's machine, you will reverse the operation and call the SystemTimeToFileTime, FileTimeToLocalFileTime, and FileTimeToSystemTime APIs. |
| • | If you are dealing with COM and databases, you will probably need to convert to and from the VT_DATE format, which you can easily do by calling the VariantTimeToSystemTime and SystemTimeToVariantTime APIs. |
You never need to worry about trying to do the math yourself to display dates and times properly, yet the dates and times you store can be easily compared!
I am having problems getting the Outlook Address book to support multilingual data. Is there something I need to install?
(from the Internet)
Unfortunately, there is not. Outlook does not support Unicode for its address book. Both your server's and client's default system code pages must be able to support the characters you wish to enter.
Unicode enabling is a constant struggle, and with each version of Microsoft products, they get a little better. But you can at least be reassured that the long term strategy is to have everyone in Unicode, following the example of Windows 2000, Word 2000, and many other applications that have provided such excellent multilingual support.
We need to prepare an unattended setup procedure that installs a Windows 2000 machine with multiple keyboard layouts available. Does someone know if this is possible in unattended mode ?
(from the Internet)
Under [Regional Settings] you modify the entry "InputLocale". For example:
InputLocale=0807:00000807,100c:0000100c,810:0000100c
This example installs Swiss German, Swiss French, and Italian on SwissFrench Keyboard. You can use this technique to assign any keyboard to any locale setting you choose.
Well, Dr. International is leaving early today (it is never too soon to start a three day weekend), but he will be back to help with international issues soon. Enjoy your holidays (whichever you celebrate!) and your new year (if your calendar has a new year coming up!).
See you next time!
Dr. International
Windows International Division