Powerful localization tool for software developers

lang agent logo  
Download Order Other developer services Support & FAQ About us

How does it work?

LangAgent consists of three parts:

  • LangAgent Workshop (la.exe) LangAgent Workshop reference
    LangAgent Workshop operates in two modes: GUI and command line. You can run LangAgent Workshop as a plain application, and setup a LangAgent project, and adjust parameters. LangAgent Compiler (integrated into LangAgent Workshop) operates in the command line mode. Normally, you will add a call to LangAgent Compiler in the post-build step in your application. So, every time you compile your project, LangAgent Compiler will be invoked.

  • LangAgent Editor  (laedit.exe) LangAgent Editor reference
    LangAgent Editor  is a special editor for task files. Provide your translators with this tool so that they could translate task files.

  • LangAgent Run-time library  (lartl.dll, lartlu.dll) LangAgent runtime and API reference
    Run-time DLL should be included along with a message file into the installation package.

Here is a description how it works.

  • Run workshop and setup the project. This is a one-time task and will be described in details in the next chapter. Particularly you should specify the languages you are going to support in your application.
  • Prepare your project for LangAgent. This is a one-time task and will be described in details in the next chapter. You will have to add several lines of the code to the project and review all text messages. For each text message use the LSTR macro. For example:
    AfxMessageBox(LSTR("Hello world!"));
    Resource texts (strings and dialog boxes) are processed automatically.
  • Compile your project. LA Workshop is invoked in the post-build step. LA Workshop scans source files, extracts all text messages and creates or updates task files (.xmla) (this process is marked as LA phase 1 on the diagram). 
  • Send .xmla task files to translators.
  • Translators edit the .xmla files using LA Editor. When the translation work is done, they send .xmla files back to you.
  • Review the .xmla files and copy them back to the project directory.  Don't worry about overwriting the existing files.
  • Compile your project again. LA Compiler will create a message file for your application (this process is marked as LA phase 2 on the diagram). Message file contains all texts in all supported languages. Message file could be encrypted.
  • Build a distribution package. Don't forget to include laRTL.dll and message file (.la) into the package. LA Runtime will automatically handle all text messages in your application (including resources) and translate them on the fly.

Tips and tricks

  • LangAgent does NOT translate any string that contain a copyright sign (C). This is set by design.
  • LangAgent does not translate any control in a dialog if its text begins with the `(back apostrophe) symbol (back apostrophe will be removed at runtime).
  • Current version of LangAgent was designed for and tested on European languages. You may have some troubles with eastern languages. For example, some languages use right-to-left writing which is not yet supported by LangAgent.
  • English words are short enough, so the translated text can often turn out longer than the original one. Make sure, that a longer text can properly fit into your GUI. Pay special attention to checking all your dialog boxes if there is no control with a truncated text. We recommend you to leave some additional free space in every dialog control to avoid the translated text truncating.
  • LangAgent translates the strings which are loaded using the AfxLoadString function only. LangAgent does NOT translate a string if it is loaded via the WIN32 API functions (such as LoadString or LoadResource). To handle strings loaded by the LoadString function use the LaGetStr function as follows:

LoadString(hInst, ID_MYSTRING, StrBuffer, sizeof StrBuffer);
LPCTSTR translatedStr = LaGetStr(StrBuffer);
// use translatedStr

Next step. How do I attach it to my project?


How does
it work?

How do I attach it to my project

trial version

Licensing and ordering

Home //  How does it work? //  Download trial version //  Licensing and ordering //  Reference //  Support & FAQ //  About us
(C) 2004-2011 LastBit Software. All rights reserved.
Terms of use Privacy Policy