Jump to content
  • Advertisement
Sign in to follow this  
beebs1

Localization

This topic is 3987 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hiya, I'm trying to design my localization plan for error messages, and I was hoping someone could check over it and let me know if there are any obvious problems. The project is a small game engine. The idea is to have a string table containing all the english error messages attached to the engine DLL itself. Other languages will be supported through additional DLL's, each containing a string table. When the game application is deployed, the appropriate language DLL (or none, for english) will be copied to the application's directory. Then, when the engine DLL loads, it will try to load 'Lang.dll' (or whatever). The external DLL will be used if this succeeds, otherwise the local english string table will be used by default. Finally, an internal function will take a string ID, and show the user the appropriate error message. I will probably group the error messages in each DLL into several string tables, to save compilation time when I add/modify one, but that's a small detail at this point. I hope that was clear enough! Thanks for any suggestions [smile] James.

Share this post


Link to post
Share on other sites
Advertisement
Error messages are typically one thing you should consider not localizing at all. Let's say your program puts the error messages into the log file, also. What are you going to do when you receive a bug report with a log file containing error messages in Swahili? Are you going to look up the error code to figure out what went wrong? You could display the error in the local language and log it in English, but that seems somewhat inelegant.

Share this post


Link to post
Share on other sites
That's a good point, thanks.

Perhaps I'd do better to just localize in-game captions/subtitles.

As you can probably guess, I've never done localization before...

Thanks again.

Share this post


Link to post
Share on other sites
[opinion]
I am going to have to disagree with lightbringer on this one. There are two different issues here, because he added one. One is a UI issue and the other is a log issue. The UI is used by your customers, the log is used by you and maybe them. The worse thing in the world is an error dialog popping up and you having no idea what it means. Just think how bad it would be if you didn't even speak the language? So the UI error message NEEDS to be localized. So what do we do about the log file. Well a log file in a different language would not help you much, and a log file they don't understand won't help them much. So I see two possible solutions. When the language is set to something you don't understand then create two log files, errorlog.english.txt, errorlog.japanese.txt. The other solution is always produce the error log in the local language and then just have a log file parser that uses the same localized .dlls to make it back to English for you.

theTroll
[/opinion]

Share this post


Link to post
Share on other sites
Right, I don't mean it's automatically a bad idea to localize them, I mean that you should consider whether it's worth it for you. There is no clear answer here, but localizing adds some complexity to your exception throwing mechanism, which might not be what you want to focus on right now. The issue is not just about GUI vs log, it's also about who will benefit from error messages. In the same vein, I would think twice before throwing specific error message boxes at the user - if it's not something the user can fix by changing preferences or system configuration or some such, there's no real reason for the user to be informed in detail about it. On the other hand, you as the developer will benefit more from an English log file if it details some problem with the code. It's all good that the user can see a log entry "XYZZYfoo() failed on line 123 because DirectGL could not create OpenX context", but he ain't gonna be able to do anything about it - while you as the developer can.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!