The Ultimate Guide to Translating Magento (using Translation Memory software)

Last modified by Nightfly on Wed, June 23, 2010 17:32
Source|Old Revisions  

This is an old revision of the document!


Magento language files are stored in CSV files of the following structure:

source string,translated string

You can translate such files with a text editor or a spreadsheet but it has the following disadvantages:

  • lot of typing on repeated sentences
  • hard to stay consistent
  • issues when you want to use old translation in new Magento

This guide will show you how to use a free translation memory software to make it easier to translate and keep translations up to date.

Getting Started

  1. Download OmegaT
  2. Install it
  3. Unpack it to the installation directory of OmegaT
  4. Run OmegaT FROM THE INSTALLATION DIRECTORY (not with shortcut) using OmegaT.exe. (seems a bug in the software causes plugins not to be loaded when the program is launched from another directory). If you don’t like it that way, see Appendix A.
  5. Create a new project and save it.
  6. Define source (en_US) and target languages, uncheck “Enable Sentence-level segmenting”
  7. Click Import source files and browse for your Magento’s installation app/locale/en_US. Select all the CSV files there and click ok. Sometimes nothing is shown so just save project and reload.
  8. All the CSV files should show up with segment count:

Translation files

  1. Configure the editor: Options→Editing Behaviour Configure editor behaviour

The following steps are not necessary if you translate from scratch:

  1. Get an existing translation to be used as a base TM (for example translation from previous version). Download the full package from
  2. Unpack the existing translation in the directory of your choice. Go to app/locale of the unpacked file
  3. Download to app/locale the script to convert your existing translations into a database for TM and save it with extension .php
  4. Change lines

$dest_lang = ‘PL’; put your destination language code here $src = ‘pl_PL’; put name of your directory with CSV files here, under app/locale/

  1. Run the script to create a file all.tmx
  2. Copy the file all.tmx to your OmegaT’s project directory /TM and reload project


  1. Each time you are presented with a screen similar to the one shown below:

Translation screen

  1. You have 2 choices:
    1. translate the segment directly by just typing in the translation in the left window
    2. choose one of matching translations (Ctrl+1 .. Ctrl+5 chooses 1st to 5th from matches), placing it in the left windows (Ctrl+R) and editing so it matches the source string (make sure about special chars/html codes!)
    3. if the match is more than 95% compatible, it will be inserted automatically but with [!] (or whatever configured) - you need to delete this [!]
  2. When you are happy with the translation, go to next by hitting Enter or choosing Go To/Next untranslated segment
  3. You can also switch between files by selecting it in Project / Project Files.

Getting the result

When you want to try out:

  1. click Project/Create Translated Documents
  2. go to your OmegaT projects directory /target. There are your translated CSV files!
  3. Put them in your Magento app/locale/[LANG CODE], change the language in Magento to this one and enjoy!

Final notes

  • Try to remain consistent across all sentences
  • Carefully follow conventions used in original files - HTML codes, escape chars, placeholders
  • You can skip Mage_Admin* and some others files and start from the most important files that are used on the front-end.

Appendix A

Force OmegaT to correctly load plugins when called via desktop shortcut:

  1. Right-click on the shortcut
  2. Select properties
  3. Fill in “Start in” field

Edit OmegaT shortcut