Just now I receive a project about changing a software to support internationalization, but I have no experience in multilanguage programing. After searching in Google, I get the following scheme: 1. Resource scheme. Every language has a RC, which will be compiled to dll (pure resource dll). 2. Dictionary file (plug) scheme. The dictionary file stores "Lable-Message" pair. Programme reads the message-string once starts up, and then, GetDlgItem(ResourceID)- >SetWindowText(MessageString). 3. Any others??? Resource scheme is really troublesome because you should maintain multiple resources, and the data-coherence is difficult to solve. So in my idea the dictionary scheme is better. But it still has lot of problems, just like the width of the Static Lable (CStatic), and the popup menu item has no ID. In one word, I've no experience. What and how should I do, and what I must pay attention to... Thanks a lot!