ALLPROGS
Manage your documents and applications with ease !
For Windows 10, 8, 7.

How to translate AllProgs

You can translate AllProgs in your own language.
You just have to edit a few text files.

The procedure

In short, you export the translation files from AllProgs, rename them, translate them, then import them back to the application.

  1. On the upper side of AllProgs, click on the button

    Show options & actions

  2. Then click on the button

    Export the translations

  3. Choose a directory where the translation files will be copied to.
    An empty directory would facilitate things.
  4. A message will appear that says

    <number> files have been exported to directory "<the directory you choose>"
    Please note the language code for <the system language> is "<the language code>"

  5. As the message says, take note of the language code.
    It will be used in the new file names.

    This code represents the system language, in the form of
    <main language>_<secondary language>
    As for example en_us for US-English.
    Or it can be the main language alone. As for example en for English.

  6. In the destination directory, you will find the translation files.
    For example:
    AllProgs.texts.en.xml
    AllProgs.texts.fr.xml
    AllProgs_Installer.texts.en.xml
    AllProgs_Installer.texts.fr.xml
  7. Every file name follows this pattern:
    <Main name>.texts.<language code>.xml

  8. Choose a language that you will use as a source for your translation.

    That means you will not use all the files that have been exported, but only the files with the right language code in their name.

    This tutorial takes English as the source language for the examples. The language code is en.
  9. Copy the files that have the right source language code in their name,
    and rename the new files using the right language code.
    Let's take the Spanish language as the destination language for this example, with es_es as a language code.
    For example:
    Copy AllProgs.texts.en.xml to AllProgs.texts.es_es.xml
    Copy AllProgs_Installer.texts.en.xml to AllProgs_Installer.texts.es_es.xml
  10. Edit the first (new) destination file.
    [ You will find more information about the file format in the next chapter. ]

    I strongly recommend you to use a specialized xml editor. For example the free XML Notepad.
    Use a raw text editor only if you are familiarized with the edition of xml files.

  11. Edit and translate the other destination xml files.
  12. In AllProgs, click on the button

    Import translations

  13. Select your translation files, then validate.

    Importable files may already be listed in the file selection box. Check it before validating.

  14. Accept to restart AllProgs.
    That will close it completely, then open it again.
    It should be translated now.
  15. If any correction is needed, edit your xml files then import them again (then the application has to be restarted again too).
  16. When happy with your translation, I encourage you to share it with the community.
    Please send me an email with your xml files attached, in order to let me include them in the next versions of the software.

The translation file format

Depending on the xml editor you use, two descriptions are available:

Using XML Notepad as an xml editor

XML Notepad is a free specialized xml editor that makes your translation work as easy as possible.
You will find it on the author's website.

When editing a translation, XML Notepad looks like this:

  • The document to be translated is divided in lines/texts.
  • On the left column, we find the title of the texts. They are numbered.
    For example i0, i1, i2, and so on.

    These texts are all included in the texts section of the file.

  • On the right column, there is the corresponding text.
    This is the text you want to translate.
  • Double-click on a text to edit it and translate it.
  • Some lines are comments.
    On the left column, it says #comment.
    A comment applies to the next line.
    You may translate the comment texts (on the right column) as well, when possible.
  • Some texts can contain replacement blocks as {0},{1},{2} and so on.

    These blocks will be replaced by the application when it builds the final text to be displayed. For example, the message File {0} found can be displayed as File Hello.txt found at a time and File Start.txt found later.

    You have to insert these blocks in your translations.
    For example, in Spanish you can translate File {0} found by Archivo {0} encontrado.
  • Some texts contain several lines, but when you hit the Return key on your keyboard, XML Notepad only validates the text, in place of inserting a line feed.
    You can insert a line feed with this combination of keys: Control + Return.
  • In the comments, you may encounter proper nouns. Obviously, you do not translate them.
    For example, for ShowApplicationExceptions can be translated in spanish by para ShowApplicationExceptions.
    In case of a doubt, do not translate the comment at all.

Using a raw text editor

If you are not familiar with the XML format, UTF-8 and BOM, I strongly recommend you to use the XML Notepad editor and read the previous chapter instead of this one.

A translation file is a xml file like this:

<?xml version="1.0" encoding="utf-8" ?> 
<texts>
  <i0>Show options &amp; actions</i0>
  <i1>Hide options &amp; actions</i1>
  <i2>Options</i2><!-- area -->
</texts>
  • The file must be encoded as UTF-8 with BOM.
    Please ensure that, when you open or save it.
  • Every line that starts with <i...> is a translation.
    There is a number after the prefix i.
  • The text to be translated is between the opening tag <i...> and the closing tag </i...> on the same line. Both tags on a line share the same number (of course).
  • Some lines can have an additional comment on the line before them, inside this structure: <!-- ... -->
    You may translate it too, when possible.
  • If you use a raw text editor, some special characters will be displayed with a specific code.
    For example, the sign & will appear as &amp;.

    If you are reading this chapter, and not the XML Notepad chapter, I presume you know that, so I will not explain it.

  • Some texts can contain replacement blocks as {0},{1},{2} and so on.

    These blocks will be replaced by the application when it builds the final text to be displayed. For example, the message File {0} found can be displayed as File Hello.txt found at a time and File Start.txt found later.

    You have to insert these blocks in your translations.
    For example, in Spanish you can translate File {0} found by Archivo {0} encontrado.
  • In the comments, you may encounter proper nouns. Obviously, you do not translate them.
    For example, for ShowApplicationExceptions can be translated in spanish by para ShowApplicationExceptions.
    In case of a doubt, do not translate the comment at all.
  • Some lines contain linefeed codes: &#10;.
    You have to insert them in your translation, at the right place in the text, of course.