virtual tour example

home gallery product info downloads buy now support learn more search

product info

system requirements
screen shots
what's new

what they're saying
batch module
batch license

Language localization instructions -- V4 to V5 upgrade


In order to support multiple platforms (Windows, Mac and eventually Linux), The Panorama Factory V5 was developed using wxWidgets, an open-source, cross-platform toolkit.  WxWidgets uses a format for its language files that is different from the format used in The Panorama Factory V4.  It uses the GNU gettext package for language localization.

The GNU gettext package allows The Panorama Factory to use a single method for storing translations on Windows and on Mac.  It also allows The Panorama Factory to use the Unicode character set so that all characters can be displayed on any computer system.  This is an improvement from V4 which could only display characters in the default Windows Code page.


Differences between V4 and V5

Those of you who worked on the V4 translation may be surprised at how different the V5 system is.

In V4, you edited the translation files with a plain text editor.  The translation files were stored using the Windows Code Page of your own computer system.  This meant that The Panorama Factory could not correctly display your translations on a computer with a different Windows Code Page.  For example, Cyrillic characters did not display properly on an English Windows system and perhaps certain characters from other translations did not display properly on a Russian Windows system.

The Panorama Factory V5 uses Unicode for all text information.  This means that it can correctly display almost all translations on any Windows or Mac computer.  Russian characters now display properly on an English Windows system.

This change requires the translation translation files to be stored differently.  They are now stored in GNU gettext message catalogs.  The message catalogs can be stored as plain text using UTF-8 encoding, but they must be converted into a binary format for use by The Panorama Factory.  The plain text message catalogs are files with a .po extension.  Binary message catalogs are files with a .mo file extension.

This means that it is still possible to use a plain text editor to edit the message catalogs.  However, the text file format required by GNU gettext is not as convenient for editing by hand.  Therefore, we provide an editor program for gettext message catalogs called poTree, a tree structured editor for gettext message catalogs stored in po files.

Also, in V4 the language files were all stored in the same folder.  In V5, each language is stored in its own folder using the ISO code for the language.  For example, the German language files are now stored in the following folder:

c:\Program Files\Smoky City Design\The Panorama Factory V5\languages\de_DE\


Menu commands are stored slightly differently in V5.  In V4, each menu command had a single line that contained the name of the command, the (optional) shortcut and accelerator keys and the prompt string (tool tip or balloon help).  In V5, the prompt string for the command is stored separately from the command name and shortcut.  Refer to Translating menu commands for a complete description of the way menu commands are stored.

IMPORTANT NOTE 1: In V4 you were allowed to translate the names of the CTRL, ALT, etc. modifier keys when entering accelerator keys into the menu commands.  For example, Ctrl+N (New project) could be translated to Strg+N for the German version.  In V5, if you do this, you must also provide a translation for "ctrl" (for example, to "strg" in German), and the translation must be entered in lower case.  You must type the translation of the modifier key in lower case. However, when you use it in a menu entry, case is not significant. For example, you may type “Strg+n” or “STRG+N”.  On Mac, the CTRL modifier is automatically converted to the COMMAND modifier.

IMPORTANT NOTE 2: In V4 you were not allowed to translate the letter used for the accelerator.  But in V5, you may select a letter that makes sense in your local language--you do not have to use the same letter as the English command.  For example, you are allowed to translate "Ctrl+E" for "Example" to "Strg+B" for "Beispiel" in German.

IMPORTANT NOTE 3: In V4 you were allowed to translate the names of special keys such as Home, Left cursor arrow, etc.  For example, "Right arrow" could be translated to "PfeilRechts" for the German version.  Unfortunately, in V5 this is no longer possible.  This is a restriction of wxWidgets for which I do not have a workaround (please tell me if this is important to fix and I will try).  You must use the following names when referring to special keys in menu items:

  DEL, Del, DELETE or Delete   Delete key
  INS, Ins, INSERT or Insert   Insert key
  ENTER, Enter, RETURN or Return   Enter key
  LEFT or Left   Left cursor arrow key
  RIGHT or Right   Right cursor arrow key
  UP or Up   Up cursor arrow key
  DOWN or Down   Down cursor arrow key
  HOME or Home   Home key
  END or End   End key
  SPACE or Space   Space
  TAB or Tab   Tab key
  F1 ... F12 or f1 ... f12   Function keys
  ESC, Esc, ESCAPE or Escape   DO NOT USE (available on Windows only)


Download and install V5

Download and install the most recent release of The Panorama Factory V5 from the Download web page.

You may should use the Windows m32, Windows x64 or Mac Edition of The Panorama Factory.  It's possible to use the Legacy Edition, but its support for Unicode is not as complete as the other Editions and may create problems for certain languages (e.g. Asian languages).


Download and install poTree

Download and install the poTree program.

    Windows Edition: potree_win_46.msi (3.50 MB)
    Mac Edition: potree_mac_46.dmg (5.8 MB)


Download the initial version of the translation file

I have converted the V4 translation files to the new V5 format.  These files already contain the translated strings from V4, but only have placeholders for the new V5 strings.

  • Catalan:  (conversion to V5 already complete)
  • Czech:  (conversion to V5 already complete)
  • German:  (conversion to V5 already complete)
  • Spanish:  (conversion to V5 already complete)
  • French:  (conversion to V5 already complete)
  • Hungarian:  (conversion to V5 already complete)
  • Italian:  (conversion to V5 already complete)
  • Dutch (Belgium):  (conversion to V5 already complete)
  • Russian:  (conversion to V5 already complete)
  • Slovak:
  • Chinese (Simplified):  (conversion to V5 already complete)

Each ZIP file contains two files: pfactory.po and wxstd.poPfactory.po contains the translations that are specific to The Panorama Factory.  The wxstd.po files were created by the wxWidgets developers.  They contains translations for standard controls and messages like OK", "Cancel", etc.  (Note, the wxWidgets developers did not provide a wxstd.po file for Slovak.)

You can store the files on your computer wherever you wish, but I think it will be most convenient to put them in The Panorama Factory's languages folder under the ISO language code.


Start the poTree program and browse its online help

Start poTree from the Windows Start Menu --> Program Files --> Smoky City Design.  Use the open command (File menu) to open your pfactory.po file.

I recommend you begin by browsing the poTree online help.  Read at least the Introduction sections.  The section Using poTree for The Panorama Factory describes workflow specific to The Panorama Factory.

If you wish, you may enlarge the font size used in poTree from the Options dialog box (File menu).  I recommend you do not change any other settings on the Options dialog box.


Update the file header

Before editing any strings, you should open the Header dialog box (File menu) in poTree and update the file header.  Change the file header comment and the translator name and translator team name to list yourself as you wish.



Here are the glossaries from V4.  I have not updated them for V5 and I would appreciate your help with this.  When you see terms that are new to you, let me know and I will add them to the glossaries.


Start editing

Then you can use these toolbar buttons to find strings that need to be translated or reviewed:


Find the next translation line that has not been translated yet or is flagged with an error condition.

Lines with errors are shown with a pink background in the translation grid.


Find the next translation line that is marked as needing to be reviewed.  The GNU gettext package uses the term fuzzy to describe lines that need to be reviewed.

If I change the English text of a line, it is automatically marked fuzzy to indicate that you need to review the translation.  Also, new translation lines are always fuzzy until you translate and review them.

if you want to remind yourself to update or review a translation later, you can also mark it as fuzzy yourself.

Fuzzy lines (that do not have other errors) are shown with a light yellow background in the translation grid.


Runs the Find dialog box so that you can search for specific text in the English strings, in the translations and in comment lines.


Finds the next string matching the conditions on the Find dialog box.

Work your way through the file, translating the lines.

You use this toolbar button to remove (or add) the fuzzy condition:


Toggles the Translation is fuzzy status (Edit menu) on the selected line or lines.

A summary of the number of completed lines, untranslated lines, lines with errors and fuzzy lines is available in the upper right corner of the Header dialog box (File menu).


Toolbar indicators

These indicators on the toolbar tell what formatting rules apply to the string:


Indicates that the string follows the rules for pf-format, The Panorama Factory's formatted-string substitutions.


Indicates that the string follows the rules for c-format, the c-language's formatted-string substitutions.

Refer to Formatting and string substitutions for more information about c-format and pf-format.

Other indicators on the toolbar tell about error conditions:









Whenever you want to test your translation, use the Save command (File menu) to save pfactory.po.  It will automatically be compiled into the binary format used by The Panorama Factory.  If you have stored pfactory.po in The Panorama Factory's languages folder, you can immediately load it using The Panorama Factory's Options dialog box.

Here are test sequences for The Panorama Factory V5.  I have begun updating these, but I am sure they are not complete.  If you see things that are missing, please let me know and I will add them:



Revised: February 01, 2008

© 1999-2008 Smoky City Design, LLC and John Strait