Multilingual Applications - Switching Languages

WEBINAR: On-demand webcast

How to Boost Database Development Productivity on Linux, Docker, and Kubernetes with Microsoft SQL Server 2017 REGISTER >

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
   ::SetThreadLocal(MAKELCID(MAKELANGID(LANG_GERMAN,SUBLANG_DEFAULT),SORT_DEFAULT));
   ...
   // or back to english
   ::SetThreadLocal(MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_DEFAULT),SORT_DEFAULT));

History



Comments

  • This API is not present in eMbedded VC++

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

    Originally posted by: Amit Shinde

    hi,

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

    Reply
  • 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

    Reply
  • Easy way for switching languages with DLLs

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

    Originally posted by: Robin Holenweger

    Hi

    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.
    Advantages:
    - 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?

      Reply
    Reply
  • 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
    Programmbeispiel

    Reply
  • 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.

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

Top White Papers and Webcasts

  • Chuze Fitness is a fast-growing fitness chain with over 21 locations spanning California, Arizona and Colorado. Chief information and marketing officer, Kris Peterson, explains why access to fast and reliable Wi-Fi is a "must have" service at their gyms and why they switched to Ruckus Cloud Wi-Fi. Chuze Fitness needed to provide a good user experience to the hundreds of guests streaming music, podcasts and videos as they worked out. They also needed to adequately cover their sprawling 20-40,000 square foot …

  • The software-defined data center (SDDC) and new trends in cloud and virtualization bring increased agility, automation, and intelligent services and management to all areas of the data center. Businesses can now more easily manage the entire lifecycle of their applications and services via the SDDC. This Aberdeen analyst report examines how a strong foundation in both the cloud and internal data centers is empowering organizations to fully leverage their IT infrastructure and is also preparing them to be able …

Most Popular Programming Stories

More for Developers

RSS Feeds

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