Click here to Skip to main content
12,454,965 members (55,298 online)
Click here to Skip to main content
Add your own
alternative version


54 bookmarked

Smart Translator

, 30 Nov 2000
Rate this:
Please Sign up or sign in to vote.
Application to aid in the language translation of another application's resources.
<!-- Download Links -->
  • Download source files - 156 Kb
  • Download Installer - 620 Kb
  • <!-- Article image -->

    Sample Image - SmartTranslator.jpg

    <!-- Main HTML starts here -->


    I started writing SmartTranslator to provide the users of SmartFTP a simple way to translate their resource strings to other languages. First I looked on the web for an app that did this job, most cost money; since SmartFTP is Freeware, I didn’t want the users to have to pay for a third party product to be able to convert it. Thus, the idea for SmartTranslator was born and I started my first project that uses MFC.

    The Smart Translator Installer was kindly provided by Christian Skovdal Andersen.


    SmartTranslator demonstrates how to extract, update and write resources to executables. It uses the BeginUpdateResource, UpdateResource and EndUpdateResource functions, so it will only work on Windows NT 4.0 or Window 2000.

    Project Structure

    The classes are split into logical parts.

    CResourceInfo is the base class for any translatable resource item
    CResourceExtractor is the class for extracting the resources. Here you can add your own resource types if you want
    CResourceWriter is the class for writing the translated resource back to a new file. The original file first copied to the new file after this the old resource gets deleted and the new resources are written.
    CProject for the Project Management
    CDictonary is the class for building a simple Dictionary. The strings in the Dictionary are type dependent. This means one source string can have a translated string for each type or can use a common string.
    Note: the dictionary is not editable at this time. You can import some type of text using Glossary. Glossary is downloadable from


    • You have to install the BCG Controls Library to compile and use this code. You can get it here.
    • For Use under Windows NT4.0 or Windows 2000 due to API requirements.
    • You will also need to add to your Tools/Options/Directories in VC++ the directory paths to the BCG bin directory and the BCGCB source directory from which libraries/DLLs and header files are used respectively.
    • Requires the latest Platform SDK installed for compilation to work correctly.

    Thanks To

    • Stas Levin for his great BCG Control Library
    • Norm Almond and David Wulff for the Office2000 File Open/Save Dialog.
    • Ashley Laurent for the CChartWnd Control
    • The Developers from the Wine project, which is allways a good place to get some information about windows programming.


      November 27,2000
    • File Format changes old project file not longer working
    • Update resources works now for Version Informations
    • Fixed memleak Office2000Dlg
    • Version Updates now uses the orginal codepage
    • some other fixes


    This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

    A list of licenses authors might use can be found here


    About the Author

    Mike Walter
    Germany Germany
    No Biography provided

    You may also be interested in...


    Comments and Discussions

    QuestionGreat Tool. but I got some problem at runtime. Pin
    Gorden12-Dec-06 20:30
    memberGorden12-Dec-06 20:30 
    QuestionGREAT tool - has anyone devised a word count method? Pin
    user200726-Oct-06 19:33
    memberuser200726-Oct-06 19:33 
    GeneralMaybe Some Corrupt Virus Pin
    easter_20072-May-05 12:56
    membereaster_20072-May-05 12:56 
    GeneralRe: Maybe Some Corrupt Virus Pin
    Mike Walter10-Jun-05 10:34
    memberMike Walter10-Jun-05 10:34 
    GeneralMulti file translation Pin
    Neil Scales14-Apr-04 1:35
    memberNeil Scales14-Apr-04 1:35 
    GeneralTranslated DLL could be corrupted Pin
    Anonymous30-Mar-04 11:12
    sussAnonymous30-Mar-04 11:12 
    GeneralRe: Translated DLL could be corrupted Pin
    Mike Walter30-Mar-04 11:42
    memberMike Walter30-Mar-04 11:42 
    GeneralWonderful! Pin
    H.Yoshimura16-Dec-03 18:16
    memberH.Yoshimura16-Dec-03 18:16 
    QuestionHelp!!!!!! Don't know what to do?? Pin
    micky200316-Aug-03 16:38
    membermicky200316-Aug-03 16:38 
    AnswerRe: Help!!!!!! Don't know what to do?? Pin
    Anonymous18-Aug-03 15:33
    sussAnonymous18-Aug-03 15:33 
    GeneralBGC Control Pin
    markusschroth8-Aug-03 1:20
    membermarkusschroth8-Aug-03 1:20 
    GeneralChanges only the StringFileInfo Pin
    Yoel Glick18-May-03 3:24
    memberYoel Glick18-May-03 3:24 
    GeneralBCGControlBar library isn't free, so i cant d/l it Pin
    Anonymous20-Feb-02 13:22
    memberAnonymous20-Feb-02 13:22 
    QuestionWhere can I found dictionnary ? Pin
    biose5-Nov-01 2:04
    memberbiose5-Nov-01 2:04 
    GeneralSave As format Pin
    Anonymous11-Sep-01 20:19
    memberAnonymous11-Sep-01 20:19 
    QuestionHow to do work on the Windows 95/98? Pin
    jongmin cho13-Aug-01 14:59
    memberjongmin cho13-Aug-01 14:59 
    AnswerRe: How to do work on the Windows 95/98? Pin
    christi g3-Nov-02 14:36
    susschristi g3-Nov-02 14:36 
    GeneralInteresting Pin
    De Nardis Andrea15-Jun-01 23:19
    memberDe Nardis Andrea15-Jun-01 23:19 
    GeneralDictionnary Pin
    Anonymous12-May-01 6:04
    memberAnonymous12-May-01 6:04 
    GeneralDictionnary Pin
    Anonymous12-May-01 6:03
    memberAnonymous12-May-01 6:03 
    GeneralUsing a translated file as a starting point Pin
    Dean Grimm3-Jan-01 7:57
    memberDean Grimm3-Jan-01 7:57 
    GeneralRe: Using a translated file as a starting point Pin
    soundman3213-Mar-02 23:52
    membersoundman3213-Mar-02 23:52 
    GeneralDictionary Pin
    Daniel27-Nov-00 23:53
    memberDaniel27-Nov-00 23:53 
    GeneralAssertion in UpdateResource Pin
    Saravanan27-Nov-00 8:55
    memberSaravanan27-Nov-00 8:55 
    GeneralRe: Assertion in UpdateResource Pin
    Mike Walter27-Nov-00 9:31
    memberMike Walter27-Nov-00 9:31 
    QuestionWhat about a sample Project file? Pin
    Uwe Keim23-Nov-00 8:38
    memberUwe Keim23-Nov-00 8:38 
    GeneralGreat tool, just what i am looking for.. Pin
    Kevin Cao20-Nov-00 11:19
    memberKevin Cao20-Nov-00 11:19 
    General*.dic's galore :-) Pin
    David Wulff21-Nov-00 6:28
    memberDavid Wulff21-Nov-00 6:28 
    GeneralRe: *.dic's galore :-) Pin
    Anonymous26-Nov-00 23:12
    memberAnonymous26-Nov-00 23:12 
    GeneralRe: *.dic's galore :-) Pin
    Anonymous26-Nov-00 23:12
    memberAnonymous26-Nov-00 23:12 
    GeneralRe: *.dic's galore :-) Pin
    Anonymous20-Apr-01 2:24
    memberAnonymous20-Apr-01 2:24 
    GeneralCan't compile (missing definition for DS_SHELLFONT) Pin
    Michael Kuelshammer20-Nov-00 6:25
    memberMichael Kuelshammer20-Nov-00 6:25 
    GeneralRe: Can't compile (missing definition for DS_SHELLFONT) Pin
    Jason De Arte20-Nov-00 11:51
    memberJason De Arte20-Nov-00 11:51 
    GeneralRe: Can't compile (missing definition for DS_SHELLFONT) Pin
    Alberto Zanetti21-Nov-00 3:00
    memberAlberto Zanetti21-Nov-00 3:00 
    GeneralRe: Can't compile (missing definition for DS_SHELLFONT) Pin
    Jean Lavoie21-Nov-00 11:08
    memberJean Lavoie21-Nov-00 11:08 
    GeneralRe: Can't compile (missing definition for DS_SHELLFONT) Pin
    eunsil25-Sep-03 15:27
    membereunsil25-Sep-03 15:27 
    GeneralRe: Can't compile: the solution Pin
    Tadeusz Dracz28-Nov-00 0:41
    memberTadeusz Dracz28-Nov-00 0:41 
    GeneralRe: Can't compile (missing definition for DS_SHELLFONT) Pin
    Tadeusz Dracz28-Nov-00 0:45
    memberTadeusz Dracz28-Nov-00 0:45 
    GeneralReally excellent, but... Pin
    Holger Persch19-Nov-00 20:33
    memberHolger Persch19-Nov-00 20:33 
    GeneralGood Work Pin
    Anonymous19-Nov-00 9:31
    memberAnonymous19-Nov-00 9:31 

    General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

    Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

    | Advertise | Privacy | Terms of Use | Mobile
    Web02 | 2.8.160826.1 | Last Updated 1 Dec 2000
    Article Copyright 2000 by Mike Walter
    Everything else Copyright © CodeProject, 1999-2016
    Layout: fixed | fluid