Aras Innovator Platform

Populating a Language

Once a language has been defined, there are two main ways to populate the language. First, you can manually enter all language data through the UI. Second, you can import a language using the Aras Innovator Language Pack Management Utility.

Warning
Adding a new language should not be done in a live production system. The new language should be added off hours when no users are logged into the system.

All multi-lingual deployments of Aras Innovator eventually need to manually configure languages in Aras Innovator, to account for its specific customization.

Once you have defined a language, see the Aras Innovator 33 – Configuring Internationalization document, you can add values to this language for each of the UI elements.

ItemTypes

ItemType

Property

Use

Where to edit in the UI

Action Label Displays in the Action menu of the toolbars Administration\Actions
Activity Template Label Text to display the Activity message of a workflow Administration\Workflow Maps property on the Activity
Activity Template message Text to display the Activity label of a workflow Administration\Workflow Maps property on the Activity
Activity Template Task description Text to display the Task description of a Workflow Activity Administration\Workflow Maps under the Tasks label Relationship of an Activity
Activity Template Variable Label Text to display the label of an Activity Variable of a workflow Administration\Workflow Maps under the Variable label Relationship of an Activity
CommandBarButton Label Text to display the label of a command bar button Administration\Client Presentation\Global\Presentation Configuration\Command Bar Section\Command Bar Item
CommandBarButton Label Text to display the label of a command bar button Administration\ItemTypes\Client Styles on the Command Bar Section relationship
CommandBarButton tooltip_template Text to display the tooltip of a command bar button Administration\Client Presentation\Global\Presentation Configuration\Command Bar Section\Command Bar Item
CommandBarButton tooltip_template Text to display the tooltip of a command bar button Administration\ItemTypes\Client Styles on the Command Bar Section relationship
CommandBarDropdown Label Text to display the label of the command bar dropdown Administration\Client Presentation\Global\Presentation Configuration\Command Bar Section\Command Bar Item
CommandBarDropdown Label Text to display the label of the command bar dropdown Administration\ItemTypes\Client Styles on the Command Bar Section relationship
CommandBarDropdown tooltip_template Text to display the tooltip of the command bar dropdown Administration\Client Presentation\Global\Presentation Configuration\Command Bar Section\Command Bar Item
CommandBarDropdown tooltip_template Text to display the tooltip of the command bar dropdown Administration\ItemTypes\Client Styles on the Command Bar Section relationship
CommandBarEdit tooltip_template Text to display the edit tooltip of the command bar Administration\Client Presentation\Global\Presentation Configuration\Command Bar Section\Command Bar Item
CommandBarEdit tooltip_template Text to display the edit tooltip of the command bar Administration\ItemTypes\Client Styles on the Command Bar Section relationship
CommandBarMenu Label Text to display the label of the command bar menu Administration\Client Presentation\Global\Presentation Configuration\Command Bar Section\Command Bar Item
CommandBarMenu Label Text to display the label of the command bar menu Administration\ItemTypes\Client Styles on the Command Bar Section relationship
CommandBarMenuButton Label Text to display the label of command bar buttons Administration\Client Presentation\Global\Presentation Configuration\Command Bar Section\Command Bar Item
CommandBarMenuButton Label Text to display the label of command bar buttons Administration\ItemTypes\Client Styles on the Command Bar Section relationship
CommandBarMenuCheckbox Label Text to display the label of command bar checkboxes Administration\Client Presentation\Global\Presentation Configuration\Command Bar Section\Command Bar Item
CommandBarMenuCheckbox Label Text to display the label of command bar checkboxes Administration\ItemTypes\Client Styles on the Command Bar Section relationship
CommandBarSection Label Text to display the label of command bar section Administration\Client Presentation\Global\Presentation Configuration\Command Bar Section
CommandBarSection Label Text to display the label of command bar section Administration\ItemTypes\Client Styles on the Command Bar Section relationship
Business Calendar Exception description Text displayed to describe a Business Day exception. Administration\Calendars on the Exceptions label relationship
Field Label Text displayed to label a field in a form Administration\Forms on the Field Label relationship
Field legend Text displayed to label a field border in a form Administration\Forms on the Field Border relationship
Filter Value Label Text displayed in pick lists of a filtered list in the UI Administration\Lists on the Filter Value relationship
Grid Column Label Text displayed in Configurable Grid column headers Administration\Grids on the Grid Column relationship
History Action Label Text to display the label of history action ItemType not exposed through UI by default
History Action Comment_text Text to display the label of history action comment text ItemType not exposed through UI by default
ItemType label_plural Text used in TOC Administration\ItemTypes
ItemType Label Text used in item properties, and Item window title Administration\ItemTypes
Life Cycle State Label Text displayed to label a state of a lifecycle Administration->LifeCycles on the Life Cycle State properties
Message Text Text displayed for a notification message Administration->Notification Messages
Message Title Title of the notification message Administration->Notification Messages
PM_ProjectGridLayout Label Text displayed in the column header of the Project grid Administration\Preferences on the Project Grid Layout relationship of the World Preference
Property Label Text used in the search grid column headers Administration\ItemTypes on the Properties relationship
Property default_value Text used in the default value of a multi-lingual string property Administration\ItemTypes on the Properties relationship
RelationshipType Label Text used the relationship tabs in Item windows Administration\RelationshipTypes
Report Label Displays in the Report menu of the toolbars Administration\Reports
SearchMode Label Text used to display the different search modes ItemType not exposed through UI by default
SecureMessageViewTemplate Thumbnail_tooltip_template Text to display thumbnail tooltip Adninistration\Forms\SecureMessageViewTemplate on the Field Label relationship
SecureMessageViewTemplate Sketch_tooltip_template Text to display sketch tooltip Adninistration\Forms\SecureMessageViewTemplate on the Field Label relationship
SelfServiceReportHelp Rich_help_text Text to display help text ItemType not exposed through UI by default
SSVCPresentationConfiguration Form_tooltip_template Text to display form tooltip ItemType not exposed through UI by default
UserMessage Text Displays in custom error messages in the UI ItemType not exposed through UI by default
Value Label Text displayed in pick lists in the UI Administration\Lists on the Value relationship
Workflow Map description Text displayed for description of a workflow Administration\Workflow Maps
Workflow Map Label Text displayed in UI for name of a workflow Administration\Workflow Maps
Workflow Map Path Label Text to display the vote path between two Workflow Activities Administration\Workflow Maps on a path between two activities
Workflow Map Variable Label Text to display the label of a Wokflow variable Administration\Workflow Maps on the Process Variable relationship
xPropertyDefinition Label Text used in the default value of a multi-lingual string property. Administration\ItemTypes on the XPropertyDefinition relationship.

Each row in the table above represents a property in the user interface that has been defined as a multi-lingual string. The translator needs to edit each Item of that type that needs to display a non-English value.

To aid in the ability to move language packs from one database to the next, Aras has created a Language Pack Management Utility to export and import language values from a database. The Language Pack Management Utility is a command line utility that imports and exports language packs from the Aras Innovator database on a SQL level. The following explains how to use the utility available from the Language Pack Management Utility folder of the Aras Innovator CD Image or from the Aras Community Projects site at http://www.aras.com/communityProjects/default.aspx.

The Command Line

There are several elements to the Language Pack Management Utility command line tool. First, is the executable file for the Language Pack Management Utility itself, LanguageTool.exe. The details of the various options for running the executable at the command line are as follows:

Usage: LanguageTool.exe [-export/-import] [-config_file:<file path>]

[-folder:<folder path>] [-log_file:<file path>] [-log_level:<log level>

] [-server:<SQL server name>] [-db:<database name>] [-login:<login name>] [-pwd:<login password>]

Where:

  • -export/import: this is the required parameter to indicate if the operation is to export or import a language.
  • -config_file: (optional) the path to the configuration file for the current operation, ImportConfig.xml or ExportConfig.xml.
  • -folder: (optional) the path to the data folder. This is the output folder for the export operation, or the input folder for the import operation.
  • -log_file: (optional) the path to the log file.
  • -log_level: (optional) the logging level (high, medium, low).
  • -server: (optional) the name of the Microsoft SQL Server instance where the Aras Innovator database is installed.
  • -db: (optional) the name of the Aras Innovator database.
  • -login: (optional) the innovator login assigned to the Aras Innovator database.
  • -password: (optional) the password for the innovator login assigned to the Aras Innovator database.
Note
The optional parameters can be generally included in the LanguageTool.exe.config configuration file, but the command line parameters take precedence.

LanguageTool.exe.config

The LanguageTool.exe.config configuration file that is referenced by the Language Pack Management Utility is a straightforward xml file that defines the parameters for the batch load activity.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 <configSections>
 <sectionGroup name="userSettings”
 type="System.Configuration.UserSettingsGroup, System, 
 Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
 <section name="Aras.Tools.I18N.ExpImpMLData.Properties.Settings” 
 type="System.Configuration.ClientSettingsSection, System, 
 Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
 allowExeDefinition="MachineToLocalUser” requirePermission="false"/>
 </sectionGroup>
 </configSections>
 <userSettings>
 <Aras.Tools.I18N.ExpImpMLData.Properties.Settings>
 <setting name="config_file” serializeAs="String">
 <value>C:\German\ImportConfig.xml</value>
 </setting>
 <setting name="folder” serializeAs="String">
 <value>C:\German\data</value>
 </setting>
 <setting name="log_file” serializeAs="String">
 <value>C:\German\log.txt</value>
 </setting>
 <setting name="log_level” serializeAs="String">
 <value>high</value>
 </setting>
 <setting name="server” serializeAs="String">
 <value>localhost</value>
 </setting>
 <setting name="db” serializeAs="String">
 <value>InnovatorSolutions</value>
 </setting>
 <setting name="login” serializeAs="String">
 <value>innovator</value>
 </setting>
 <setting name="pwd” serializeAs="String">
 <value>innovator</value>
 </setting>
 </Aras.Tools.I18N.ExpImpMLData.Properties.Settings>
 </userSettings>
 <startup>
 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
 </startup>
</configuration>

To help understand how to configure this file, the example above can be broken down line by line:

<setting name="config_file” serializeAs="String">
<value>C:\German\ImportConfig.xml</value>
</setting>

This is the path to a configuration file for the current operation, ImportConfig.xml or ExportConfig.xml.

<setting name="folder” serializeAs="String">
<value>C:\German\data</value>
</setting>

The path to the data folder. This is the output folder for the export operation, or the input folder for the import operation.

<setting name="log_file” serializeAs="String">
<value>C:\German\log.txt</value>
</setting>

This is the path to the log file.

<setting name="log_level” serializeAs="String">
<value>high</value>
</setting>

This is the logging level, ‘high’ is recommended.

<setting name="server” serializeAs="String">
<value>localhost</value>
</setting>

The name of the Microsoft SQL Server instance where the Aras Innovator database is installed. This value can be found in the Aras Innovator InnovatorServerConfig.xml in DB-Connection tag (server="localhost”).

<setting name="db” serializeAs="String">
<value>InnovatorSolutions</value>
</setting>

This is the name of the Aras Innovator database in SQL Server. This value can be found in the Aras Innovator InnovatorServerConfig.xml in DB-Connection tag (database=‘InnovatorSolutions’).

<setting name="login” serializeAs="String">
<value>innovator</value>
</setting>

This is the login assigned to innovator user of the Aras Innovator database in SQL Server. This value can be found in the Aras Innovator InnovatorServerConfig.xml in DB-Connection tag (uid=‘innovator’).

<setting name="pwd” serializeAs="String">
<value>innovator</value>
</setting>

This is the name login assigned to innovator user of the Aras Innovator database in SQL Server. This value can be found in the Aras Innovator InnovatorServerConfig.xml in DB-Connection tag (pwd=‘innovator’).

Any of the parameters may be left out as long as the command line equivalent parameter is defined.

Export Configuration

In order to export a language pack from the Aras Innovator database, you need to define what languages and ItemTypes to export. The definitions of these settings are found in the ExportConfig.xml.

<export>
 <languages list="en, de” />
 <itemtype name="Action” /> 
 <itemtype name="Activity Template” /> 
 <itemtype name="Activity Template Task” /> 
 <itemtype name="CommandBarButton” /> 
 <itemtype name="CommandBarDropDown” /> 
 <itemtype name="CommandBarEdit” /> 
 <itemtype name="CommandBarMenu” /> 
 <itemtype name="CommandBarMenuButton” /> 
 <itemtype name="CommandBarMenuCheckbox” /> 
 <itemtype name="CommandBarMenuSeparator” /> 
 <itemtype name="CommandBarSection” /> 
 <itemtype name="CommandBarSeparator” /> 
 <itemtype name="Field” /> 
 <itemtype name="FileSelectorTemplate” /> 
 <itemtype name="Filter Value” /> 
 <itemtype name="Grid Column” /> 
 <itemtype name="History Action” /> 
 <itemtype name="ItemType” >
 <properties list="label,label_plural” />
 </itemtype>
 <itemtype name="Life Cycle State” /> 
 <itemtype name="PM_ProjectGridLayout” /> 
 <itemtype name="Property” >
 <properties list="label,default_value” />
 </itemtype> 
 <itemtype name="RelationshipType” /> 
 <itemtype name="Report” /> 
 <itemtype name="SearchMode” /> 
 <itemtype name="SecureMessageViewTemplate” /> 
 <itemtype name="SelfServiceReportHelp” /> 
 <itemtype name="SSVC_Preferences” /> 
 <itemtype name="SSVCPresentationConfiguration” /> 
 <itemtype name="UserMessage” /> 
 <itemtype name="Value” /> 
 <itemtype name="Workflow Map” /> 
 <itemtype name="Workflow Map Path” /> 
</export>

To help understand how to configure this file, the example above can be broken down line by line:

 <languages list="en, de” />

These are the languages by Language Item code property defined in Aras Innovator. The above example shows en (English) and fr (French).

 <itemtype name="Field” />

Each ItemType defined in this file contains all of its multi-lingual string properties exported from the database.

 <properties list="label,label_plural” />

If you want to select some, but not all multi-lingual string properties, add this tag with the properties to export.

Import Configuration

In order to import a language pack into the Aras Innovator database, you first need to define the Language Item in the database. See the Aras Innovator – Configuring Internationalization document. Next, you need to set up the ImportConfig.xml.

<import>
 <itemtype name="Action” /> 
 <itemtype name="Activity Template” /> 
 <itemtype name="Activity Template Task” /> 
 <itemtype name="CommandBarButton” /> 
 <itemtype name="CommandBarDropDown” /> 
 <itemtype name="CommandBarEdit” /> 
 <itemtype name="CommandBarMenu” /> 
 <itemtype name="CommandBarMenuButton” /> 
 <itemtype name="CommandBarMenuCheckbox” /> 
 <itemtype name="CommandBarMenuSeparator” /> 
 <itemtype name="CommandBarSection” /> 
 <itemtype name="CommandBarSeparator” /> 
 <itemtype name="Field” /> 
 <itemtype name="FileSelectorTemplate” /> 
 <itemtype name="Filter Value” /> 
 <itemtype name="Grid Column” /> 
 <itemtype name="History Action” /> 
 <itemtype name="ItemType” >
 <properties list="label,label_plural” />
 </itemtype>
 <itemtype name="Life Cycle State” /> 
 <itemtype name="PM_ProjectGridLayout” /> 
 <itemtype name="Property” >
 <properties list="label,default_value” />
 </itemtype> 
 <itemtype name="RelationshipType” /> 
 <itemtype name="Report” /> 
 <itemtype name="SearchMode” /> 
 <itemtype name="SecureMessageViewTemplate” /> 
 <itemtype name="SelfServiceReportHelp” /> 
 <itemtype name="SSVC_Preferences” /> 
 <itemtype name="SSVCPresentationConfiguration” /> 
 <itemtype name="UserMessage” /> 
 <itemtype name="Value” /> 
 <itemtype name="Workflow Map” /> 
 <itemtype name="Workflow Map Path” /> 
</import>

Each ItemType defined in this file should have a corresponding XML file containing the language values in the data folder.

The XML resources represent the static content of the Aras Innovator user interface, such as menu options and toolbar buttons. There is no automated tool for updating these resources. They must be done manually in a text editor.

For instance in the \Innovator\Client\xml\item_menu.xml file:

<?xml version="1.0" encoding="UTF-8"?>
<menuapplet on_load="onItemMenuLoad” on_select="onClickItem” on_check="onCheckMenu” show="item_menubar">
 <menubar id="item_menubar">
 <menu id="file_menu” name="File">

Would become:

<?xml version="1.0" encoding="UTF-8"?>
<menuapplet on_load="onItemMenuLoad” on_select="onClickItem” on_check="onCheckMenu” show="item_menubar">
 <menubar id="item_menubar">
 <menu id="file_menu” name="Datei">

In the \Innovator\Client\xml.de\item_menu.xml file.

Aras Innovator houses all the generic user interface XML resources in the \Innovator\Client\xml folder. However, each solution could have its own xml resources as well. See the Aras Innovator 33 Configuring Internationalization document.

The Resource.Config.xml located in \Innovator\Client\XML folder defines the language(s) that can be loaded on the Client. When you define the language pack, you need to update Resource.Config.xml file and add a reference to your language.

The following is an example of adding the German Language to the Resource.Config.xml:

<satelliteresources>
 ...
 <resource culture="neutral"/>
 <resource culture="ja"/>
 <resource culture="de"/>
 ...

Once you have updated the Resource.Config.xml and saved it, you need to Restart IIS on the Server.

The ‘where’ attribute condition can be used to limit the amount of exported data that is returned while using the Language Tool. So, in this scenario the ExportConfig.xml would contain XML that looks as follows:

<export>
<itemtype name="Field">
 <properties list="label,legend” />
 <where>
 SOURCE_ID in (
 select b.ID
 from Body as b
 where b.SOURCE_ID in
 (
 SELECT f.id
 FROM FORM AS f
 INNER JOIN [VIEW] AS v ON f.ID = v.RELATED_ID
 WHERE (v.SOURCE_ID IN
 (SELECT it.ID
 FROM ITEMTYPE AS it
 INNER JOIN TOC_ACCESS AS ta ON ta.SOURCE_ID = it.ID
 INNER JOIN [IDENTITY] AS idn ON ta.RELATED_ID = idn.ID
 WHERE (idn.NAME != ‘Innovator Admin’) AND (idn.NAME != ‘Administrators’) AND (idn.NAME != ‘Super User’)))))
 </where>
 </itemtype>
</export>
Note
The full sample XML can be found in Appendix A.