Login Register Japanese Korean
Download All

Translating INI Files

The following translation method applies to ALZip, ALSee, and ALFTP. Please see DLL/EXE Based Translation for information on how to translate ALShow, ALSong, and ALPass.

The Language INI File

Each ALTool has a special directory called "Language" where you can find an INI file that has everything you need to translate the program. The INI files are heavily documented to make translation fast and easy. Each INI file follows this naming convention:


Program names are obvious, i.e. ALZip, ALSee, and ALFTP. (ALPass is not ready for translation yet, sorry.) Only ALSee uses modules, which are "Editor" and "Print" for the ALSee photo editor and the ALSee print organizer, respectively.

So, the English language file for ALZip is "ALZipEng.ini", the Japanese language file is "ALZipJpn.ini", and although there is no Gaelic translation, it would be named "ALZipGla.ini". For ALSee, a Spanish translation would be named "ALSeeSpa.ini" (ISO 639-2) and not "ALSeeEs.ini" (ISO 639-1). You can find a complete list of language codes at http://www.loc.gov/standards/iso639-2/englangn.html.

Choosing a Text Editor for Syntax Highlighting

We've compiled a short list of some of the best free text editors available for you if you don't already have one. We use Editplus (http://www.editplus.com), but you should choose whichever you feel most comfortable with. Editplus features some of the strongest syntax highlighting of any text editor available. To download the EditPlus syntax file along with installation instructions, please click here. Here's a screenshot of an INI file with syntax highlighting:

[ Language INI file with Syntax Highlighting ]

Syntax highlighting can really help to easily identify things quickly and we'd strongly recommend using something like EditPlus for it.

Click here to DOWNLOAD the syntax file and installation instructions.

The INI File and Special Considerations

If you are familiar with the Delphi programming language, and Delphi INI files, then you probably already know this. If you aren't familiar with Delphi or any other programming languages or configuration files, then please read the following carefully as it will answer most of the questions that come up as you translate the INI file. Also, there is a considerable amount of help and examples already in the INI file to help you.

The entries in the INI file that need to be translated are simple variables with values attached to them, also known as key/value pairs. e.g. VariableName=Some text goes here. They have a few special considerations:

  • Shortcuts
  • Special Characters
  • Conventions
  • Respositioning and Resizing

Shortcuts are easy. These are for keyboard shortcuts where users can press ALT+KEY or simply press the key when on a menu. You probably use them all the time to copy (Ctrl+C) and paste (CTRL+V). In the INI file, the letter is prefixed with an ampersand (&) character. In the program then, that letter is underlined to indicate that it is a shortcut letter. This also means that you cannot just use an ampersand normally - it is a special character.

Special Characters

Some characters require special treatment or have special meaning in an ALTools INI file. These include:

  • & - Ampersands
  • [ ... ] - Square brackets
  • ; - Semi-colons
  • ` - Reverse single quotes
  • " - Double quotes
  • ' - Single quotation marks
& - Ampersands

Ampersands are used exclusively for shortcut keys. If you wish to show an ampersand, as in "John & Mary", then you must use two ampersands, i.e. "&&".

[ ... ] Square brackets

These are used at the beginning of a line and they contain the name of a specific portion of the program. Do not change the text between the square brackets or move any of the key/value pairs from below a square bracket region to another square bracket region. Examine the following

key1 = Value 1

key1 = Value 2

Each region has an indentically named key, but each of those keys has different values. They are not interchangeable.

; - Semi-colons

Semi-colons at the beginning of a line start a comment. They may be indented with tabs. Anything following a semi-colon (that is at the start of a line or preceeded by tabs) is only for documentation and is ignored by the program. ALTools INI files are heavily commented to help you identify things inside the program quickly and easily. You may add your own comments to an INI file. For the sake of clarity for anyone who edits the file after you, it is a good idea to preface your comments with your name in parentheses or braces. e.g. :

; (Ryan) This my comment that I added.
key1 = Value 1

; (Ryan) This is another comment. 
key1 = Value 2

` - Reverse single quotes

Inside of message dialogs, these are used for line breaks. If you need to use them, it will be very clear where you need them inside of the INI file. The reverse single quote character is located in the upper left corner of a standard QWERTY keyboard, underneath the escape (Esc) key.

" - Double quotation marks

Quotes can be used to enclose strings in key/value pairs, but are most often omitted. Since white space is ignored, you must use quotes to insert a space at the beginning or end of a string.

In the remote case that you need to use quotation marks inside of a string, simple enclose the entire string in quotation marks then insert the quotes where you need them.

' - Single quotation marks

These function identically to double quotation marks.


Most programs follow a few standard conventions. It is best to adhere to these as strictly as possible in order to make using the program as easy as possible for the end-user. They are most common in menus, but also occur in dialogs. For simplicity, we'll only refer to menus here.

If clicking a menu item opens a new dialog, such as a "Save as" menu item, then an ellipsis (3 periods, i.e. ...) should follow the text entry, e.g. "Save as...". 

Shortcuts should appear in the text of an item if at all possible. e.g. "&File" is correct while "File (&F)" is poor form.

Shortcuts should follow standards that are common to most programs, e.g. "Cut (&X)" and "Paste (&V)" are fine, while "&Cut" and "&Paste" are wrong. Users expect that "C" means copy and "P" means print. Creative shortcuts only confuse users.

A single menu may only have 1 shortcut for any given letter. e.g. "&Print" and "&Preview" may not occur in the same menu but "&Print" and "Pre&view" may co-exist.

Always use the given standard terminology in your own language. e.g. "Copy" is good, but "Make a duplicate" is just silly.

In short, don't reinvent the wheel. Good places to look for examples of shortcuts include Microsoft Office and other Microsoft software.

Repositioning and Resizing

Undoubtably, this is the most advanced and most difficult part. If you encounter problems with this, you can always email us for help or simply ignore this part and let us know so that we can do this.

Space in the programs is limited, and sometimes you will need to be creative to write something that is small enough to fit in the allocated space. But there are some areas where you can reposition and resize the controls in the program so that you can force in some additional text.

One of the challenges in creating the first English versions of ALTools was fitting in English text. The originals are all in Korean, and Korean can express a great deal of information in a very small space. e.g. Where the English version has "delete" (6 characters) the Korean version has only 2 characters. In ALSee, the English text "Preserve Aspect Ratio" is 21 characters, but is only 6 characters in Korean, and "Shortest Edge" (13 characters) takes only 2 characters in Korean - a whopping 6.5x longer in English.

Most controls have several properties that you can change. The English versions already have many of these included, but not for every single one. The properties are:

  • Top
  • Left
  • Width
  • Height

Using the standard "dot" notation, you can change a control's position and size by setting it to an integer value (0, 1, 2, 3... n). e.g.:

key1 = Value 1
; Change the Y-axis position, i.e. the distance in pixels that the control is from the Top of its container
key1.Top = 15
; Change the X-axis position, i.e. the distance in pixels that the control is from the Left of its container
key1.Left = 30
; Change the Width of the control in pixels
key1.Width = 120
; Change the Height of the control in pixels
key1.Height = 24

Above, the control "key1" has a text value of "Value 1". Its position within its container has been changed to "15 pixels below the top edge" of its container. Its size has also been changed to 120 pixels wide by 24 pixels high.

Some controls cannot be changed, and some controls do not allow all of those 4 properties to be changed. Notably, spin controls (numeric up/down) controls can be repositioned (change .Top and .Left) but cannot be resized (cannot change .Width or .Height).

If a control does not already have these properties attached to it in an INI file, you can add them yourself. Just refer to the text entry, then take everything before the equals sign (=) and add ".Top", ".Left", ".Width", or ".Height" as necessary. You may need to fiddle with the values for the controls a little bit before you are happy with the positioning.

Restarting the Program

To view your changes to the program, save your changes to the INI file, then restart the application. When you restart the application, it will reload the changed INI file. Please note that not all areas require you to restart the program. Many dialogs can simply be closed and reopend to refresh themselves without restarting the program. This can save you a bit of time and frustration.

Final Comments

If you have any questions about anything here, please contact us either through the online Support Desk or by email through the Contact page. You can also post in the ALTools Forums


Your ALTools Team at ESTsoft


ALZip Language Switcher

The ALZip Language Switcher is a simple, fast utility to let you switch between languages in ALZip.

It is a standalone application and no installation is required. It requires the .NET 2.0 Framework.

The utility is very simple - just click a language in the list to change the language in ALZip then restart ALZip.

Click the screen shot to zoom, or click the download button to download it.

ALZip Language Switcher for translators

Download the ALZip Language Switcher