1. Home
  2. Knowledge Base
  3. General Program Functions
  4. General Program Functions: Program Language Menu

General Program Functions: Program Language Menu

Program Language Menu

Program Language Menu

From V4.10 of Caliach Vision the program can be dynamically translated into one of many major languages as you work with it. This menu controls which language is currently in use.

Note NOTE: As of V4.10 Caliach has released all supported languages free-of any additional cost. However, Caliach Limited reserves the right to introduce additional license charges for language support in future major versions of the program.

How Program Language Works

First, do not confuse Program Language with Language Swap. Program Language switches the language the program appears to the user in, whereas Language Swap is a way of having multiple language versions of text in your data. The two can be used together to provide all sorts of configurations and results but they are completely independent of one another

Caliach Vision has a number of language-sensitive texts which are as follows:


Location and function

Source of non-English Language

Library Literals

The text embedded on windows, menus and reports are all stored in specific locations in the library Vision.lbs. They can be specifically identified by a notation path. For example, on the Parts Maintenance window the phrase “Part number” has a path of wPtmEdit.$objs.Tab.$bobjs.1260.$text. This uniquely identifies the text in the library. All these library texts are in English and without intervention, when an object, such as a menu, window or report, opens, English texts will show. However, if a database of Library Texts is available for non-English, then the English texts can be substituted in memory as the object opens. Each language supported must have the language database in the Extras folder, either locally or on the server.

ExtrasDynamicLang-<locale>.db. There is no Engleish database.


Strings are used in the program code whenever texts are needed dynamically. Typically this is for OK, Yes/No and Working messages, logging messages making up Alert Messages, option help, report descriptions, workflow defaults and common tooltips. They can be maintained in File — Advanced — String Maintenance. Where the program uses language-sensitive texts in generating data, for instance texts in automatically generated inventory history comments or ledger transactions, these texts are typically pulled from the String file.

Warning WARNING: You must be careful with this: If you usually work in English, data comments will come from English String data. If you then switch to French, comments data generated at that time will be in French.



The help system is made up of HTML pages in a file and folder structure in Help/vision-<locale>. This is compiled into a vision-<locale>.ohf file by the Help Project Manager tool of Omnis Studio. The vision-<locale>.odf provides the word search and tree structure displayed in the Help — Vision Help Topics and other help functions.

Help in non-English languages is available during the installation process as optional additional download componets. If you have any non-English help, when you change to that language you will subsequently see help in that language.

Note NOTE: Graphic images are unlikely to contain anything other than English.

Help/vision-<locale> help file tree

Omnis Studio

Omnis Studio itself contains text resources that are language-sensitive. These are stored in the Omnis folder tree under localstudio.stb and studioomnisloc.df1. The former contains message texts for the runtime environment and some menus such as Omnis Help and Windows. The later contains language versions of such things as days of the week, months of the year, button texts on Yes/No and OK messages, etc.

Note NOTE: Some texts cannot be translated as they are drawn from the operating system Theme, for example, a list scrollbar context menu and some external devices. Also be aware that many server database errors are coming from the server, the language of which is independent of Caliach Vision.

Omnis tree: localstudio.stb and studioomnisloc.df1


There are other texts that can appear in non-English languages and can effect certain functions.

  • CustomHelpData-<locale>.df1
  • NotesDemoLicense-<locale>.txt
  • NotesDemoNotes-<locale>.txt
  • NotesLicense-<locale>.txt
  • NotesReadMe-<locale>.txt
  • InternetHelpGroupIndexTemplate-<locale>
  • InternetHelpMainIndexTemplate-<locale>
  • InternetHelpTemplate-<locale>
  • InternetTemplate-<locale>.htm

The HelpData and Internet files are used in Help Maintenance, by default they will be chosen from the language currently selected.

Individual files.


The installers are fully multi-lingual. Choosing a language to install in has a number of effects on the resulting installation:

  • The installer itself will show texts in the selected language.
  • The License will be in the selected language.
  • The ReadMe will be in the selected language.
  • If non-English, the selected language Help download option will be set (you can uncheck it).
  • On installation the appropriate language omnisloc.df1 version is used, so that Omnis localisation is appropriate to your selection.
  • On installation the appropriate language TrainingDemo.df1 file set is used, so that training data is appropriate to your selection.
  • After installation the Terminal/Terminal.inf optLocaleDefault option is set to the language, so Caliach Vision will start in that language.

All the above, with the exception of Training Data, can be changed after installation.


Switching Program Language

Switching from one Language to another has the following effects:

  • If the Close Tasks When Changing menu option is checked (the default), all current open tasks and all windows, menus and toolbars opened in those tasks are closed. If they can not be closed because data hasn’t been saved, the language change will not be made. This is a safe option. If you un-check the option, while dynamic language change still takes place, you will find that the context-based copies of menus are not translated from the previous language. This is caused by a quirk in the Omnis environment. There are other texts that may not change also, typically any that are set on opening from the Strings file.
  • If the target language is non-English the system will switch to the appropriate DynamicLang-<locale>.db file in the Extras folder.
  • Any open objects – windows, menus, sub-menus and toolbars – are translated into the target language. The more objects that are open and the more complex they are, the more time it will take.
  • The system will switch to the appropriate Strings-<locale>.db file in the Extras folder, that will apply thereafter.
  • The flag icon will change on the File menu to indicate the current language.
  • If the Do Not Change Localisation menu option is un-checked (the default), an attempt is made to change the Omnis localisation settings (date days/months/etc.). Omnis insists all windows are closed for this change and you will be presented with a Yes/No message to that effect. If you answer Yes, any open windows will close and the change will be made. If No, windows will not close and no change will be made.
  • Thereafter, any object – window, report, menu, sub-menu and toolbar – opening will be translated as it opens.

Note NOTE: If you want truely uninterupted language change un-check the Close Tasks When Changing menu option and check the Do Not Change Localisation menu option. This will mean no tasks or windows will close and all menus, windows, toolbars will flip language as you view. You will not see date months and days change, or other localisation, nor will task context menus change. And you will find some texts on windows will not change if they are derived from the Strings file when originally opened (for example report selection lists).

Customisation CUSTOM CAPABILITY: Site customised reports typically start as a duplicate of one of the standard reports with much of the contents unaltered. They too will be traslated based on their original class name if, and only if, there is a method named $MasterClass in the report which returns the original standard class name with a single code line of:

Quit method 'rPtmInventory'

Upgrades to Translations

Caliach has a sophistigated system of maintaining Translation Databases in line with upgrades to the program and contributions from the Crowd-Source Language Improvement system.

With the Change Management System (ProgCode.upt) program upgrades contain all supported languages for text that may have changed and during upgrade the the DynamicLang-<locale>.db and Strings-<locale>.stb files will be updated automatically to accomodate the new improved texts.

When you change language to non-English for the first time each day a check will be made to see if there are any language text enhancements on the server. If the server has not recently been updated, and you have Internet access, a check will be made to the Caliach web site for any recent improvements. If such improvements are found for the language they will be downloaded and the server will be updated, then finally your local database will be updated too. This approach both minimises wasted Internet traffic while ensuring you have the most up-to-date translations and user contributions.

Program Language Menu

This menu appears before login under the File menu and also under the File menu after you have logged on to the data file. You can set the program language from this menu at any time.

The Languages listed in the menu are only those for which the program has a DynamicLang-<locale>.db file in the Extras folder. If a file is not there the menu will omit that language. If you do not want the menu to show a language, simply remove the database file for that locale.




English English

Translates the program into English.


German German

Translates the program into German.


Spanish Spanish

Translates the program into Spanish.


French French

Translates the program into French.


Indonesian Indonesian

Translates the program into Indonesian.


Korean Korean

Translates the program into Korean.


Portuguese Portuguese

Translates the program into Portuguese.


Thai Thai

Translates the program into Thai.


Vietnamese Vietnamese

Translates the program into Vietnamese.


Chinese (Simplified) Chinese (Simplified)

Translates the program into Chinese (Simplified).


Close Tasks When Changing

Select this option to control whether all tasks are closed before changing the language.


Do Not Change Localisation

Localisation of the runtime environment includes such things a date words, Ok, Yes, No etc. This option will prevent these changing.


Set the Current Language as Default

Operate this to make the current language the default in your Terminal Preferences and thus the language the program will next start in.


See also: –

Compiled in Program Version 5.10. Help data last modified 6 Jul 2017 05:19:00.00. Class mProgLang last modified 18 Feb 2015 01:54:09.

Was this article helpful?

Related Articles

Get started.

Try our state-of-the-art ERP Manufacturing Software today.