Multilingual Applications - Switching Languages

Environment: Windows NT 4, Windows 2000

The support for multiple languages within one application has always been a drag, for NT 4.0 and Window 2000 I have fond a simple solution. Unfortunatley this does not work for Windows 95 or 98 :-(

1. Add all the resources (dialogs, strings, menues etc.) in all of the desired languages in your project.

2. Add a menu, or language selection dialog in your project which calls the code shown below.

3. Thats it.

   // switch language to german
   // or back to english



  • This API is not present in eMbedded VC++

    Posted by Legacy on 08/07/2003 12:00am

    Originally posted by: Amit Shinde


    this api is not present in evc++ so how can i implement this functionality.

  • Don't you mean SetThreadLocale

    Posted by Legacy on 05/29/2003 12:00am

    Originally posted by: Will

    Don't you mean SetThreadLocale instead of SetThreadLocal
    It really bugs me when people don't post example projects.
    SORT IT OUT you fool

  • Easy way for switching languages with DLLs

    Posted by Legacy on 06/27/2001 12:00am

    Originally posted by: Robin Holenweger


    In my last project I was responsible for GUI development and NLS. I've found another way. The only disadvantage is, that you have to buy another software: a so called "localization tool".
    What I did is to extract all resources into a DLL which can be loaded at runtime (on-the-fly). So it's possible to load any language specific resource DLL at any time to change the language. No modifications to other code than just unloading the current and loading the new DLL.
    - you only have to make a resource change once, e.g. if you change a dialog, you don't have to do this change in all other languages. Just generate the new DLLs
    - it's easy to give a text file or excel sheet to a translator and to use these files as a glossary to generate destination DLLs.
    - often there exist the possibility in these tools to autotranslate

    For those who don't want to buy another software: it's also possible to modify the DLLs with Visual Studio but then it's almost the same as in this article.

    • Multilingual application.

      Posted by purish87 on 04/08/2009 02:18am

      Your solution is quite interesting. Can u provide any sample application for help? Is there any way to change the text of Afxmessagebox() using this?

  • Multilingual Applications - Switching Languages

    Posted by Legacy on 12/16/1999 12:00am

    Originally posted by: Peter Boenigk

    Es will nicht funktionieren, haben Sie Bitte evtl. ein

  • Changing language in Windows 9x

    Posted by Legacy on 06/22/1999 12:00am

    Originally posted by: Pierre Couderc

    Ok, it is impossible.

    The way we have found is to change in the registry HKEY_USERS,".DEFAULT\\Control Panel\\Desktop\\ResourceLocale"

    which is filled with a MAKELANGID()

    Changed there, it seems to keep the new language after... a reboot of Win9x.

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Anthony Christie, the Chief Marketing Officer for Level Communications, is responsible for customer experience, worldwide marketing and product management. In this informative asset, he shares his insights into why a private network connection to cloud-bases applications is the right decision for your enterprise. Download now to find out more.

  • Enterprises are increasingly looking to platform as a service (PaaS) to lower their costs and speed their time to market for new applications. Developing, deploying, and managing applications in the cloud eliminates the time and expense of managing a physical infrastructure to support them. PaaS offerings must deliver additional long-term benefits, such as a lower total cost of ownership (TCO), rapid scalability, and ease of integration, all while providing robust security and availability. This report …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date