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

Last modified by undecided on Fri, July 23, 2010 12:15
Source|Old Revisions  

This is an old revision of the document!


Background

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. Download a filter to allow reading/writing CSV files ATTENTION: protected directory → not downloadable...
  4. Unpack it to the installation directory of OmegaT
  5. 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.
  6. Create a new project and save it.
  7. Define source (en_US) and target languages, uncheck “Enable Sentence-level segmenting”
  8. 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.
  9. 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 http://www.magentocommerce.com/langs
  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

Translating

  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




 

Magento 2 GitHub Repository

Magento Job Board - Some sort of tag line goes here

Latest Posts| View all Jobs