Howdy All,
Just curious ... Has any further consideration been given to the internationalization of Celestia text, from the initial topic a year ago (http://shatters.net/forum/viewtopic.php?t=1348)?
If I remember correctly, Windows supports (or used to support) multiple languages in its user interface elements (menus, dialog boxes, etc.), via specific, individual language files, no? I'm not sure about Linux and Mac stuff though.
-Don G.
Edit: Ahhh, I see Linux is on it's way (http://63.224.48.65/forum/viewtopic.php?t=2543).
Internationalization of Celestia Text
Hi Don, it is a very hard stuff.
Multilanguage is the feature request #2 in my website.
I've discussed a lot in other threads specially with Christophe about this argument.
I think that since a multiplatform UI based on openGL won't be implemented we won't see multilanguage outside of Linux version of Celestia.
Bye - Paolo
By the way I'm implementing a simple multiplatform ui based on OpenGL. Perhaps one day will be enough powerful to be used in Celestia.
Multilanguage is the feature request #2 in my website.
I've discussed a lot in other threads specially with Christophe about this argument.
I think that since a multiplatform UI based on openGL won't be implemented we won't see multilanguage outside of Linux version of Celestia.
Bye - Paolo
By the way I'm implementing a simple multiplatform ui based on OpenGL. Perhaps one day will be enough powerful to be used in Celestia.
-
Topic authordon
- Posts: 1709
- Joined: 12.07.2003
- With us: 21 years 4 months
- Location: Colorado, USA (7000 ft)
Howdy Paolo,
Thanks for your reply.
Regarding Windows, I may have been thinking of Borland's old Paradox for Windows program. I remember being able to create text files containing different translations of control text, whereby the Windows controls would obtain their text from these files. It was all 9 or 10 years ago, so my memory is a bit faint on it.
-Don G.
Thanks for your reply.
Regarding Windows, I may have been thinking of Borland's old Paradox for Windows program. I remember being able to create text files containing different translations of control text, whereby the Windows controls would obtain their text from these files. It was all 9 or 10 years ago, so my memory is a bit faint on it.
-Don G.
Hi Don.
I think that the problem is exactly this. You can't use a plain text file.
Windows programs made with VC++ are built using Resource Files.
So all the widgets, controls and relative captions are contained in these "resources". Obviously the system is already capable of managing multilanguage (MS office is available in every language). So creating the resource files properly and recompiling you should be able to create various versions of the executable program with different ui languages, or you should create different DLL's distribute with the main executable. But the resource files are not suitable to be used immediately by Linux and Mac developers, so different translation files are required.
On the other side to use a plain text file in VC++ you must to hard code for every widget and control a caption loading routine at runtime. This operation should sound painful for the windows version of Celestia. Christophe has used a similar approach for the Linux version, but was much more easy because he used some libraries and functionalities already present in that environment.
The approach on my openGL ui is the unicode text file so even Russian, Hebrew and other languages with non Latin Charsets should be supported.
Bye - Paolo.
I think that the problem is exactly this. You can't use a plain text file.
Windows programs made with VC++ are built using Resource Files.
So all the widgets, controls and relative captions are contained in these "resources". Obviously the system is already capable of managing multilanguage (MS office is available in every language). So creating the resource files properly and recompiling you should be able to create various versions of the executable program with different ui languages, or you should create different DLL's distribute with the main executable. But the resource files are not suitable to be used immediately by Linux and Mac developers, so different translation files are required.
On the other side to use a plain text file in VC++ you must to hard code for every widget and control a caption loading routine at runtime. This operation should sound painful for the windows version of Celestia. Christophe has used a similar approach for the Linux version, but was much more easy because he used some libraries and functionalities already present in that environment.
The approach on my openGL ui is the unicode text file so even Russian, Hebrew and other languages with non Latin Charsets should be supported.
Bye - Paolo.
-
Topic authordon
- Posts: 1709
- Joined: 12.07.2003
- With us: 21 years 4 months
- Location: Colorado, USA (7000 ft)
Howdy Paolo,
The on-line MSDN Library has an entry regarding what I had remembered as a text file ... it's called a string table (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcresed/html/_asug_Overview.3a_.String_Editor.asp). I would assume that all other hard-coded text (display, messages, errors, etc.) in the source code files would also need to be converted to use the string table.
There are also several other sections on MSDN regarding internationalization. However, the use of Unicode seems (at first glance) to depend on using the MFC library. I do not know if the STC library supports Unicode or not.
This is what the Unicode character set provides in Windows.
Cheers,
-Don G.
The on-line MSDN Library has an entry regarding what I had remembered as a text file ... it's called a string table (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcresed/html/_asug_Overview.3a_.String_Editor.asp). I would assume that all other hard-coded text (display, messages, errors, etc.) in the source code files would also need to be converted to use the string table.
There are also several other sections on MSDN regarding internationalization. However, the use of Unicode seems (at first glance) to depend on using the MFC library. I do not know if the STC library supports Unicode or not.
Correct. The developers made a decision to keep the various platform UIs separate, and this is one of the drawbacks <frown>.Paolo wrote:But the resource files are not suitable to be used immediately by Linux and Mac developers, so different translation files are required.
Paolo wrote:The approach on my openGL ui is the unicode text file so even Russian, Hebrew and other languages with non Latin Charsets should be supported.
This is what the Unicode character set provides in Windows.
Cheers,
-Don G.