Prev: panel method (from Java) in MFC
Next: How to show underlined menu shortcut letters by default for a context menu ?
From: Goran on 23 Jun 2010 04:15 On Jun 22, 8:39 pm, mfc <mfcp...(a)googlemail.com> wrote: > and how did such programm work as the appTranslator? > > I`ve seen the short video example on the webpage; if I`m right, this > application only generates the .rc files with different languages. But > I didn`t see any mechanism to provide these information directly to > the dialogs without using LocalString() functions, or did I miss > something... appTranslator does much better than generating *.rc files. It creates complete "translated" executables. We don't need no stinkin' *.rc files! :-) You can use appTranslator in different ways (e.g. modify the resources in your exe to produce another "translated" exe), but you should use satelite dlls. What you do is: * you create your base language resource DLL (in English, typically) * you create appTranslator "project" * in it, you add your languages * you translate your texts, re-layout dialogs etc (again, in appTranslator) * build your new resource DLLs (using appTranslator) * when you change your english resources (typically, you add new ones), you "update" your appTranslator project. appTranslator also ships with a free-of-charge translator tool that you give to paid translators. They can translate etc, but they can't e.g. bork other project settings. That needs only appTranslator project, nothing else. Now, with your resources ready... In your code, when you decide what language you need, use LoadLibrary and AfxSetResourceHandle to set it, that's it. I am sure that appTranslator help and web site explain that much better, and if I am not mistaken, there's jump-start, plug-in sample code, too. It's as simple as that. And I mean __SIMPLE__. Goran. P.S. other, inferior ;-) products in the space are e.g. WinTrans and Multilizer. No open-source solution AFAIK, not for native VC code. P.S. Serge, please read this, and know: if you get this sale, I want a commission! :-) |