5,666,979 members and growing! (16,143 online)
Email Password   helpLost your password?
Web Development » Applications & Tools » Tools with source code     Intermediate

Smart Translator

By Mike Walter

Application to aid in the language translation of another application's resources.
VC6, C++Windows, NT4, Win2K, MFC, VS6, Visual Studio, Dev

Posted: 18 Nov 2000
Updated: 30 Nov 2000
Views: 99,019
Bookmarked: 37 times
Announcements
Loading...



Search    
Advanced Search
Sitemap
27 votes for this Article.
Popularity: 5.73 Rating: 4.00 out of 5
1 vote, 14.3%
1
1 vote, 14.3%
2
1 vote, 14.3%
3
0 votes, 0.0%
4
4 votes, 57.1%
5
  • Download source files - 156 Kb
  • Download Installer - 620 Kb
  • Sample Image - SmartTranslator.jpg

    Description

    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.

    Introduction

    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 ftp.microsoft.com.

    Requirements

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

    Updates

      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

    License

    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



    Location: Germany Germany

    Other popular Applications & Tools articles:

    Article Top
    Sign Up to vote for this article
    You must Sign In to use this message board.
    FAQ FAQ Noise ToleranceSearch Search Messages 
     Layout  Per page   
     Msgs 1 to 25 of 40 (Total in Forum: 40) (Refresh)FirstPrevNext
    QuestionGreat Tool. but I got some problem at runtime.memberGorden21:30 12 Dec '06  
    QuestionGREAT tool - has anyone devised a word count method?memberuser200720:33 26 Oct '06  
    GeneralMaybe Some Corrupt Virusmembereaster_200713:56 2 May '05  
    GeneralRe: Maybe Some Corrupt VirusmemberMike Walter11:34 10 Jun '05  
    GeneralMulti file translationmemberNeil Scales2:35 14 Apr '04  
    GeneralTranslated DLL could be corruptedsussAnonymous12:12 30 Mar '04  
    GeneralRe: Translated DLL could be corruptedmemberMike Walter12:42 30 Mar '04  
    GeneralWonderful!memberH.Yoshimura19:16 16 Dec '03  
    GeneralHelp!!!!!! Don't know what to do??membermicky200317:38 16 Aug '03  
    GeneralRe: Help!!!!!! Don't know what to do??sussAnonymous16:33 18 Aug '03  
    GeneralBGC Controlmembermarkusschroth2:20 8 Aug '03  
    GeneralChanges only the StringFileInfomemberYoel Glick4:24 18 May '03  
    GeneralBCGControlBar library isn't free, so i cant d/l itmemberAnonymous14:22 20 Feb '02  
    GeneralWhere can I found dictionnary ?memberbiose3:04 5 Nov '01  
    GeneralSave As formatmemberAnonymous21:19 11 Sep '01  
    GeneralHow to do work on the Windows 95/98?memberjongmin cho15:59 13 Aug '01  
    GeneralRe: How to do work on the Windows 95/98?susschristi g15:36 3 Nov '02  
    GeneralInterestingmemberDe Nardis Andrea0:19 16 Jun '01  
    GeneralDictionnarymemberAnonymous7:04 12 May '01  
    GeneralDictionnarymemberAnonymous7:03 12 May '01  
    GeneralUsing a translated file as a starting pointmemberDean Grimm8:57 3 Jan '01  
    GeneralRe: Using a translated file as a starting pointmembersoundman320:52 14 Mar '02  
    GeneralDictionarymemberDaniel0:53 28 Nov '00  
    GeneralAssertion in UpdateResourcememberSaravanan9:55 27 Nov '00  
    GeneralRe: Assertion in UpdateResourcememberMike Walter10:31 27 Nov '00  

    General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

    PermaLink | Privacy | Terms of Use
    Last Updated: 30 Nov 2000
    Editor: Erik Thompson
    Copyright 2000 by Mike Walter
    Everything else Copyright © CodeProject, 1999-2008
    Web17 | Advertise on the Code Project