Cisco AnyConnect Secure Mobility Client Administrator Guide, Release 3.0
Customizing and Localizing the AnyConnect Client and Installer
Downloads: This chapterpdf (PDF - 956.0KB) The complete bookPDF (PDF - 8.89MB) | Feedback

Customizing and Localizing the AnyConnect Client and Installer

Table Of Contents

Customizing and Localizing the AnyConnect Client and Installer

Customizing the AnyConnect Client

Recommended Image Format for AnyConnect 3.0 and Later

Replacing Individual GUI Components with your Custom Components

Deploying Executables That Use the Client API

Customizing the GUI with a Transform

Sample Transform

Information for Creating your Custom Icons and Logos

Changing the Default AnyConnect English Messages

Localizing the AnyConnect Client GUI and Installer

Localizing the AnyConnect GUI

Translating using the ASDM Translation Table Editor

Translating by Exporting the Translation Table for Editing

Localizing the AnyConnect Installer Screens

Using Tools to Create Message Catalogs for Enterprise Deployment

AnyConnect Message Template Directories

Creating Message Catalogs

Merging a Newer Translation Template with your Translation Table


Customizing and Localizing the AnyConnect Client and Installer


You can customize the Cisco AnyConnect Secure Mobility client to display your own corporate image to remote users, including clients running on Windows, Linux, and Mac OS X computers.

You can localize (translate) the client and all optional modules for different languages. You can also localize the installer program for the core VPN client.

This chapter contains procedures for customizing and localizing in the following sections:

Customizing the AnyConnect Client

Changing the Default AnyConnect English Messages

Localizing the AnyConnect Client GUI and Installer

Customizing the AnyConnect Client

You can customize AnyConnect to display your own corporate image to remote users, including clients running on Windows, Linux, and Mac OS X computers.

You can use one of three methods to customize the client:

Rebrand the client by importing individual client GUI components, such as the corporate logo and icons, to the ASA which deploys them to remote computers with the installer.

Import your own program (Windows and Linux only) that provides its own GUI or CLI and uses the AnyConnect API.


Note The Network Access Manager and Web Security do not support the AnyConnect API. If you deploy Web Security or the Network Access Manager, you must deploy the core AnyConnect client.


Import a transform (Windows only) that you create for more extensive rebranding. The ASA deploys it with the installer.

The following sections describe procedures for these methods:

Recommended Image Format for AnyConnect 3.0 and Later

Replacing Individual GUI Components with your Custom Components

Deploying Executables That Use the Client API

Customizing the GUI with a Transform

Information for Creating your Custom Icons and Logos

Recommended Image Format for AnyConnect 3.0 and Later

For AnyConnect 3.0 and later, we recommend you use Portable Network Graphics (PNG) images with a maximum size of 62x33 pixels for the following reasons:

PNG images have smaller file sizes than other image formats and use less disk space.

PNG images support transparency natively.

The AnyConnect 3.0 and later GUI provides a title adjacent to the logo image in the Advanced window and the tray flyout. Therefore, any title you provided with your image for the earlier client may confuse the user.

Replacing Individual GUI Components with your Custom Components

You can customize AnyConnect by importing your own custom files to the security appliance, which deploys the new files with the client. Table 11-2, Table 11-3, and Table 11-4 contain sample images of the original GUI icons and information about their sizes.

To import and deploy your custom files with the client, follow this procedure:


Step 1 Go to Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Customization/Localization > Resources.

Click Import. The Import AnyConnect Customization Object window displays (Figure 11-1).

Figure 11-1 Importing a Customization Object

Step 2 Enter the Name of the file to import. See Table 11-2, Table 11-3, and Table 11-4 for the filenames of all the GUI components that you can replace.


Note The filenames of your custom components must match the filenames used by the AnyConnect GUI, which are different for each operating system and are case sensitive for Mac and Linux. For example, if you want to replace the corporate logo for Windows clients, you must import your corporate logo as company_logo.png. If you import it as a different filename, the AnyConnect installer does not change the component. However, if you deploy your own executable to customize the GUI, the executable can call resource files using any filename.


Step 3 Select a platform and specify the file to import. Click Import Now. The file now appears in the table (Figure 11-2).

Figure 11-2 The Imported File Displays in the Table


Note If you import an image as a resource file (such as company_logo.bmp), the image you import customizes AnyConnect until you reimport another image using the same filename. For example, if you replace company_logo.bmp with a custom image, and then delete the image, the client continues to display your image until you import a new image (or the original Cisco logo image) using the same filename.



Deploying Executables That Use the Client API

For Windows, Linux, or Mac computers, you can deploy your own User Interface (UI), by using the AnyConnect API. You replace the AnyConnect GUI or the AnyConnect CLI by replacing the client binary files.

You must distribute your custom UI, and manage AnyConnect software updates.

The following AnyConnect features are not compatible with custom AnyConnect UIs:

AnyConnect software deployment from ASA. If you update the version of the AnyConnect package on the ASA, the end user's clients may be updated, which would replace your custom UI. You must manage distributing AnyConnect software and your custom client. Although the ASDM Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Customization/Localization > Binary dialog allows you to upload binaries to replace the AnyConnect client, that function is not supported.

Network Access Manager and Web Security. If you deploy Web Security or the Network Access Manager, you must use the Cisco AnyConnect Secure Mobility Client GUI.

Start Before Logon is not supported.

The following table lists the filenames of the client executable files for the different operating systems.

Table 11-1 Filenames of Client Executables

Client OS
Client GUI File
Client CLI File

Windows

vpnui.exe

vpncli.exe

Linux

vpnui

vpn

Mac

Not supported1

vpn

1 Not supported by ASA deployment. However, you can deploy an executable for the Mac that replaces the client GUI using other means, such as Altiris Agent.


Your executable can call any resource files that you import to the ASA, such as logo images (see Figure 11-1). Unlike replacing the pre-defined GUI components, when you deploy your own executable, you can use any filenames for your resource files.

Customizing the GUI with a Transform

You can perform more extensive customizing of the AnyConnect GUI (Windows only) by creating your own transform that deploys with the client installer program. You import the transform to the ASA, which deploys it with the installer program.

To create an MSI transform, you can download and install the free database editor from Microsoft, named Orca. With this tool, you can modify existing installations and even add new files. The Orca tool is part of the Microsoft Windows Installer Software Development Kit (SDK) which is included in the Microsoft Windows SDK. The following link leads to the bundle containing the Orca program:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/orca_exe.asp.

After you install the SDK, the Orca MSI is located here:

C:\Program Files\Microsoft SDK SP1\Microsoft Platform SDK\Bin\Orca.msi.

Install the Orca software, then access the Orca program from your Start > All Programs menu.

To import your transform, follow these steps:


Step 1 Go to Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Customization/Localization > Customized Installer Transforms. Click Import. The Import AnyConnect Customization Objects windows displays (Figure 11-3).

Figure 11-3 Importing a Customizing Transform

Step 2 Enter the Name of the file to import. Unlike the names of other customizing objects, the name is not significant to the ASA and is for your own convenience.

Step 3 Select a platform and specify the file to import. Click Import Now. The file now appears in the table (Figure 11-4).


Note Windows is the only valid choice for applying a transform.


Figure 11-4 The Customizing Transform Appears in the Table

Sample Transform

While offering a tutorial on creating transforms is beyond the scope of this document, we provide the text below as representative of some entries in a transform. These entries replace company_logo.bmp with a local copy and install the custom profile MyProfile.xml.

DATA CHANGE - Component Component ComponentId
+ MyProfile.xml {39057042-16A2-4034-87C0-8330104D8180}
 
   
Directory_ Attributes Condition KeyPath
Profile_DIR 0 MyProfile.xml
 
   
DATA CHANGE - FeatureComponents Feature_ Component_
  + MainFeature MyProfile.xml
 
   
DATA CHANGE - File File Component_ FileName FileSize Version Language Attributes Sequence
  + MyProfile.xml MyProfile.xml MyProf~1.xml|MyProfile.xml 601 8192 35
 <> company_logo.bmp 37302{39430} 8192{0}
 
   
DATA CHANGE - Media DiskId LastSequence DiskPrompt Cabinet VolumeLabel Source
  + 2 35

Information for Creating your Custom Icons and Logos

The tables that follow list the files you can replace for each operating system supported by AnyConnect.


Note If you create your own custom images to replace the client icons, your images must be the same size as the original Cisco images.


For Windows

All files for Windows are located in:

%PROGRAMFILES%\Cisco\Cisco AnyConnect Secure Mobility Client\res\


Note %PROGRAMFILES% refers to the environment variable by the same name. In most Windows installation, this is C:\Program Files.


Table 11-2 lists the files you can replace and the client GUI area affected:

Table 11-2 AnyConnect for Windows—Icon Files 

Filename and Description in Windows Installation
Image Size (pixels, l x h) and Type

about.png

The About button in the upper right corner of the Advanced dialog.

The size is not adjustable.

24 x 24

PNG

about_hover.png

The About button in the upper right corner of the Advanced dialog.

The size is not adjustable.

24 x 24

PNG

ArrowDown.png

The button that allows the user to move networks down in the Networks list of the Network Access Manager Advanced window Configuration tab.

The size is not adjustable.

16 x 22

PNG

ArrowDownDisabled.png

The disabled button that allows the user to move networks down in the Networks list of the Network Access Manager Advanced window Configuration tab.

The size is not adjustable.

16 x 22

PNG

ArrowUp.png

The button that allows the user to move networks up in the Networks list of the Network Access Manager Advanced window Configuration tab.

The size is not adjustable.

16 x 22

PNG

ArrowUpDisabled.png

The disabled button that allows the user to move networks up in the Networks list of the Network Access Manager Advanced window Configuration tab.

The size is not adjustable.

16 x 22

PNG

company_logo.png

The company logo displayed in the top left corner of the tray flyout and Advanced dialog, and bottom right corner of the About dialog.

97x58 is the maximum size. If your custom file is not that size, it is resized to 97x58 in the application. If it is not in the same ratio, it is stretched.

97 x 58 (maximum)

PNG

attention.ico

System tray icon alerting the user to a condition requiring attention or interaction. For example, a dialog about the user credentials.

The size is not adjustable.

16 x 16

ICO

error.ico

System tray icon alerting the user that something is critically wrong with one or more components.

The size is not adjustable.

16 x 16

ICO

neutral.ico

System tray icon indicating client components are operating correctly.

The size is not adjustable.

16 x 16

ICO

vpn_connected.ico

System tray icon indicating the VPN is connected.

The size is not adjustable.

16 x 16

ICO

cues_bg.jpg

The background image for the tray flyout, Advanced window, and About dialog.

Because images are not stretched, using a replacement image that is too small results in black space.

1260 x 1024

JPEG

gradient.png

The gradient painted behind component titles in the Advanced window.

1 x 38

PNG

GUI.tif

The application and system tray icon.

 

mftogglebtn.png

The background of the inactive menu option in the Advanced window.

When the AnyConnect installation has multiple components (such as the Network Access Manager, Web Security, telemetry), the GUI Advanced window displays menu options for each component. This image is used as the background for the menu option when it is inactive.

300 x 40

PNG

mftogglebtn-down.png

The background of the Status Overview menu option (when active) in the Advanced window.

When the AnyConnect installation has multiple components (such as the Network Access Manager, Web Security, telemetry), the GUI Advanced window displays menu options for each component. This image is used as the background for the Status Overview when the Advanced window initially opens, and when the user clicks the menu option.

300 x 40

PNG

mftogglebtn-down-solid.png

The background used by Advanced window menu options, other than the Status Overview menu option, when the menu option is activated.

When the AnyConnect installation has multiple components (such as the Network Access Manager, Web Security, telemetry), the GUI Advanced window displays menu options for each component. This image is used as the background for all menu options, other than the Status Overview menu option, when the user clicks the menu option and activates it.

300 x 40

PNG

minimize.png

The minimize button for the tray flyout.

The size is not adjustable.

16 x 16

PNG

minimize-hover.png

The minimize button for the tray flyout when the user hovers over it.

The size is not adjustable.

16 x 16

PNG

pinned.png

The button in the Network Access Manager tray flyout tile that allows the user to automatically select a network.

The size is not adjustable.

38 x 30

PNG

pinned_button.png

The button in the Network Access Manager tray flyout tile, when the user hovers on it, that allows the user to automatically select a network.

The size is not adjustable.

38 x 30

PNG

status_ico_attention.png

Attention status icon used by each component in the tray flyout and Advanced window Status Overview pane indicating user attention is required.

The size is not adjustable.

16 x 16

PNG

status_ico_error.png

Error status icon used by each component in the tray flyout and Advanced window Status Overview pane indicating a serious error, such as the service being unreachable.

The size is not adjustable.

16 x 16

PNG

status_ico_good.png

Good status icon used by each component in the tray flyout and Advanced window Status Overview pane indicating each component is operating properly.

The size is not adjustable.

16 x 16

PNG

status_ico_neutral.png

Neutral status icon used by each component in the tray flyout and Advanced window Status Overview pane indicating the component is working, but is not necessarily active.

The size is not adjustable.

16 x 16

PNG

status_ico_transition.png

Transition status icon used by each component in the tray flyout and Advanced window Status Overview pane indicating the component is between states, such as between connected and disconnected.

The size is not adjustable.

16 x 16

PNG

status_ico_trusted.png

Trusted status icon used by each component in the tray flyout and Advanced window Status Overview pane indicating the component is operating properly but is disabled due to policy, such as set by the Trusted Network Detection (TND) feature.

The size is not adjustable.

16 x 16

PNG

transition_1.ico

System tray icon that displays along with transition_2.ico and transition_3.ico indicating one or more client components are in transition between states (for example, when the VPN is connecting or when Network Access Manager is connecting). The three icon files display in succession, appearing to be a single icon bouncing from left to right.

The size is not adjustable.

16 x 16

PNG

transition_2.ico

System tray icon that displays along with transition_1.ico and transition_3.ico indicating one or more client components are in transition between states (for example, when the VPN is connecting or when Network Access Manager is connecting). The three icon files display in succession, appearing to be a single icon bouncing from left to right.

The size is not adjustable.

16 x 16

PNG

transition_3.ico

System tray icon that displays along with transition_1.ico and transition_2.ico indicating one or more client components are in transition between states (for example, when the VPN is connecting or when the Network Access Manager is connecting). The three icon files display in succession, appearing to be a single icon bouncing from left to right.

The size is not adjustable.

16 x 16

PNG

unpinned.png

The button in the Network Access Manager tray flyout tile that allows the user to connect exclusively to the current network.

The size is not adjustable.

38 x 30

PNG

unpinned_button.png

The button in the Network Access Manager tray flyout tile, when the user hovers on it, that allows the user to connect exclusively to the current network.

The size is not adjustable.

38 x 30

PNG


For Linux

All files for Linux are located in:

/opt/cisco/anyconnect/pixmaps/

Table 11-3 lists the files that you can replace and the client GUI area affected.

Table 11-3 AnyConnect for Linux—Icon Files

Filename and Description in Linux Installation
Image Size (pixels, l x h) and Type

company-logo.png

Corporate logo that appears on each tab of the user interface.

For AnyConnect 3.0 and later, use PNG images no bigger than 62x33 pixels.

142 x 92

PNG

cvc-about.png

Icon that appears on the About tab.

16 x 16

PNG

cvc-connect.png

Icon that appears next to the Connect button, and on the Connection tab.

16 x 16

PNG

cvc-disconnect.png

Icon that appears next to the Disconnect button.

16 x 16

PNG

cvc-info.png

Icon that appears on the Statistics tab.

16 x 16

PNG

systray_connected.png

Tray icon that displays when the client is connected.

16 x 16

PNG

systray_notconnected.png

Tray icon that displays when the client is not connected.

16 x 16

PNG

systray_disconnecting.png

Tray icon that displays when the client is disconnecting.

16 x 16

PNG

systray_quarantined.png

Tray icon that displays when the client is quarantined.

16x16

PNG

systray_reconnecting.png

Tray icon that displays when the client is reconnecting.

16 x 16

PNG

vpnui48.png

Main program icon.

48 x 48

PNG


For Mac OS X

All files for OS X are located in:

/Applications/Cisco AnyConnect Secure Mobility Client/Contents/Resources


Note You will find the Resources folder by going to Applications > Cisco, clicking on Cisco AnyConnect Secure Mobility Client, and then choosing Show Package Contents.


Table 11-4 lists the files that you can replace and the client GUI area affected.

Table 11-4 AnyConnect for Mac OS X—Icon Files

Filename in Mac OS X Installation
Image Size (pixels, l x h)

bubble.png

Notification bubble that appears when the client connects or disconnects.

142 x 92

PNG

connected.png

Icon that displays under the disconnect button when the client is connected.

32 x 32

PNG

logo.png

Logo icon that appears on main screen in the top right corner.

50 x 33

PNG

menu_connected.png

Connected state menu bar icon.

16 x 16

PNG

menu_error.png

Error state menu bar icon.

16 x 16

PNG

menu_idle.png

Disconnected idle menu bar icon.

16 x 16

PNG

menu_quarantined.png

Quarantined state menu bar icon.

16 x 16

PNG

menu_reconnecting.png

Reconnection in process menu bar icon.

16 x 16

PNG

warning.png

Icon that replaces login fields on various authentication/certificate warnings.

40 x 40

PNG

vpngui.icns

Mac OS X icon file format that is used for all icon services, such as Dock, Sheets, and Finder.

128 x 128

PNG


Changing the Default AnyConnect English Messages

You can make changes to the English messages displayed on the AnyConnect GUI by adding an English translation table and changing message text within an editing window of ASDM.

The following procedure describes how to change the default English messages:


Step 1 Go to Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Customization/Localization > GUI Text and Messages. Click Add. The Add Language Localization Entry window displays (Figure 11-5).

Figure 11-5 Adding an English Translation Table

Step 2 Click the Language drop-list and specify the language as English (en). The translation table for English displays in the list of languages in the pane.

Step 3 Click Edit to begin editing the messages. The Edit Language Localization Entry window displays (Figure 11-6). The text between the quotes of msgid is the default English text displayed by the client and must not be changed. The msgstr string contains text the client uses to replace the default text in msgid. Insert you own text between the quotes of the msgstr.

In the example below, we insert "Call your network administrator at 800-553-2447."

Figure 11-6 Editing the Message Text

Step 4 Click OK and then Apply in the GUI Text and Messages pane to save your changes.


Localizing the AnyConnect Client GUI and Installer

You can localize (translate) the client and all optional modules for different languages. You can also localize the installer program for the core VPN client that provides VPN service.


Note If you are deploying AnyConnect using a corporate IT deployment software, such as Altiris Agent, you can only translate the installer. You cannot translate the client. Client translation is only available when the ASA deploys the client.


The following sections contain information and procedures for configuring this feature:

Localizing the AnyConnect GUI

Localizing the AnyConnect Installer Screens

Using Tools to Create Message Catalogs for Enterprise Deployment

Merging a Newer Translation Template with your Translation Table

Localizing the AnyConnect GUI

The security appliance uses translation tables to translate user messages displayed by AnyConnect. The translation tables are text files with strings to insert translated message text. The AnyConnect package file for Windows contains an English language template for AnyConnect messages. The ASA automatically imports this file when you load the client image. The file contains the latest changes to message strings, and you can use it to create new translation tables for other languages.

When the remote user connects to the ASA and downloads the client, the client detects the preferred language of the computer and applies the appropriate translation table. The client detects the locale specified during installation of the operating system. If you update the translation table on the ASA, the translated messages are not updated until the client is restarted and makes another successful connection.

For more information about language options for Windows, go to these URLs:

http://www.microsoft.com/windowsxp/using/setup/winxp/yourlanguage.mspx
http://www.microsoft.com/globaldev/reference/win2k/setup/changeUI.mspx


Note If you are not deploying the client with the ASA, and are using a corporate software deployment system such as Altiris Agent, you can manually convert the AnyConnect translation table (anyconnect.po) to a .mo file using a catalog utility such as Gettext and install the .mo file to the proper folder on the client computer. See the "Using Tools to Create Message Catalogs for Enterprise Deployment" section for more information.


The following sections contain detailed procedures for two different methods of translating GUI text:

Translating using the ASDM Translation Table Editor

Translating by Exporting the Translation Table for Editing

Translating using the ASDM Translation Table Editor

The following procedure describes how to localize the AnyConnect GUI using ASDM:


Step 1 Go to Configuration > Remote Access VPN > Language Localization. Click Add. The Add Language Localization Entry window displays (Figure 11-7).

Figure 11-7 Language Localization Pane

Step 2 Click the Translation Domain drop-list and choose AnyConnect (Figure 11-8). This choice ensures that only the messages relating to the AnyConnect GUI appear for editing purposes.

Figure 11-8 Translation Domain

Step 3 Specify a language for this translation table (Figure 11-9). ASDM tags this table with the standard abbreviations recognized for languages by Windows and browsers (for example, es for Spanish).

Figure 11-9 Choosing a Language

Step 4 The translation table now displays in the list of languages in the pane (es in our example). However, it has no translated messages. To begin adding translated text, click Edit. The Edit Language Localization Entry window displays (Figure 11-10).

Add your translated text between the quotes of the message strings (msgstr). In the example below, we insert Connectado, the Spanish word for Connected, between the quotes of its message string.

Be sure to click OK and then Apply in the Language Localization pane to save your changes.

Figure 11-10 Editing the Translation Table


Translating by Exporting the Translation Table for Editing

This procedure shows you how to export the AnyConnect translation template to a remote computer, where you can edit the table using an editor or using third-party tools such as Gettext or Poedit.

Gettext utilities from The GNU Project is available for Windows and runs in the command window. See the GNU website at gnu.org for more information. You can also use a GUI-based utility that uses Gettext, such as Poedit. This software is available at poedit.net.


Step 1 Export the AnyConnect translation template.

Go to Configuration > Remote Access VPN > Language Localization. The language localization pane displays (Figure 11-11). Click the Templates link to display a table of available templates. Select the AnyConnect template and click Export. The Export Language Localization window displays.

Figure 11-11 Exporting a Translation Template

Step 2 Choose a method to export and provide a filename. In Figure 11-11, we export to a local computer with the filename AnyConnect_translation_table.

Step 3 Edit the translation table.

The following example shows a portion of the AnyConnect template. The end of this output includes a message ID field (msgid) and a message string field (msgstr) for the message Connected, which appears on the AnyConnect GUI when the client establishes a VPN connection (the complete template contains many pairs of message fields):

# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-11-01 16:39-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
 
   
msgid "Connected"
msgstr ""
 
   

The msgid contains the default translation. The msgstr that follows msgid provides the translation. To create a translation, enter the translated text between the quotes of the msgstr string. For example, to translate the message "Connected" with a Spanish translation, insert the Spanish text between the quotes:

msgid "Connected"
msgstr "Conectado"
 
   

Be sure to save the file.

Step 4 Import the translation template as a new translation table for a specific language.

Go to Configuration > Remote Access VPN > Language Localization. The language localization pane displays (Figure 11-12). Click Import. The Import Language Localization window displays.

Step 5 Click the Language drop-list to choose the language (and the industry-recognized abbreviations) for this translation table. If you enter the abbreviation manually, be sure to use an abbreviation recognized by browsers and operating systems.

Step 6 Specify the Translation Domain as AnyConnect, choose a method to import, and provide a filename. Click Import Now. A message displays saying you successfully imported the table.

Be sure to click Apply to save your changes.

In Figure 11-11, we specify the language as Spanish (es) and import the same file we exported in Step 1 (AnyConnect_translation_table). Figure 11-13 shows the new translation table for Spanish in the list of Languages for AnyConnect.

Figure 11-12 Importing a Translation Template as a New Translation Table

Figure 11-13 New Language Displayed in Language Table


Localizing the AnyConnect Installer Screens

As with the AnyConnect GUI, you can translate messages displayed by the client installer program which installs the VPN service. The ASA uses transform to translate the messages displayed by the installer. The transform alters the installation but leaves the original security-signed MSI intact. These transforms only translate the installer screens and do not translate the client GUI screens.


Note Every release of AnyConnect includes a localized transform that administrators can upload to the ASA whenever they upload AnyConnect packages with new software. If you are using our localization transform, make sure to update them with the latest release from CCO whenever you upload a new AnyConnect package.


Each language has its own transform. You can edit a transform with a transform editor such as Orca and make changes to the message strings. Then you import the transform to the ASA. When the user downloads the client, the client detects the preferred language of the computer (the locale specified during installation of the operating system) and applies the appropriate transform.

We currently offer transforms for 30 languages. These transforms are available in the following .zip file on the AnyConnect software download page at cisco.com:

anyconnect-win-<VERSION>-web-deploy-k9-lang.zip

In this file, <VERSION> is the version of AnyConnect release (e.g. 2.2.103).

The package contains the transforms (.mst files) for the available translations. If you need to provide a language to remote users that is not one of the 30 languages we provide, you can create your own transform and import it to the ASA as a new language. With Orca, the database editor from Microsoft, you can modify existing installations and new files. Orca is part of the Microsoft Windows Installer Software Development Kit (SDK) which is included in the Microsoft Windows SDK. The following link leads to the bundle containing the Orca program:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/orca_exe.asp.

After you install the SDK, the Orca MSI is located here:

C:\Program Files\Microsoft SDK SP1\Microsoft Platform SDK\Bin\Orca.msi.

The following procedure shows how to import a transform to the ASA using ASDM:


Step 1 Import a Transform. Go to Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Customization/Localization > Localized Installer Transforms. Click Import. The Import MST Language Localization window opens (Figure 11-14):

Figure 11-14 Importing a Transform to Translate the Installer Program

Step 2 Click the Language drop-list to choose a language (and the industry-recognized abbreviation) for this transform. If you enter the abbreviation manually, be sure to use an abbreviation recognized by browsers and operating systems.

Step 3 Click Import Now. A message displays saying you successfully imported the table.

Be sure to click Apply to save your changes.

In Figure 11-14, we specify the language as Spanish (es). Figure 11-15 shows the new transform for Spanish in the list of Languages for AnyConnect.

Figure 11-15 Imported Transform Displays in the Table


Using Tools to Create Message Catalogs for Enterprise Deployment

If you are not deploying the client with the ASA, and are using an enterprise software deployment system such as Altiris Agent, you can manually convert the AnyConnect translation table to a message catalog using a utility such as Gettext. After converting the table from a .po file to a .mo file, you then place the file in the proper folder on the client computer.

Gettext is a utility from The GNU Project and runs in the command window. See the GNU website at gnu.org for more information. You can also use a GUI-based utility that uses Gettext, such as Poedit. This software is available at poedit.net.

AnyConnect Message Template Directories

AnyConnect message templates are located in these folders listed below.


Note The \l10n directory is part of each directory path listed below. The directory name is spelled: lower case l ("el"), one, zero, lower case n.


Windows 7 and Windows Vista

<DriveLetter>:\Program Data\Cisco\Cisco AnyConnect Secure Mobility 
Client\l10n\<LANGUAGE-CODE>\LC_MESSAGES

for example

<DriveLetter>:\Program Data\Cisco\Cisco AnyConnect Secure Mobility 
Client\l10n\en-us\LC_MESSAGES

Windows XP:

%ALLUSERSPROFILE%\Application Data\Cisco\Cisco AnyConnect Secure 
Mobility Client\l10n\<LANGUAGE-CODE>\LC_MESSAGES

Mac OS X and Linux:

/opt/cisco/anyconnect/l10n/<LANGUAGE-CODE>/LC_MESSAGES

Creating Message Catalogs

The following procedure creates a message catalog using Gettext:


Step 1 Download the Gettext utilities from http://www.gnu.org/software/gettext/ and install Gettext on a computer you use for administration (not a remote user computer).

Step 2 Retrieve a copy of the AnyConnect message template AnyConnect.po on a computer with AnyConnect installed.

Step 3 Edit the AnyConnect.po file (use notepad.exe or any plain text editor) to change strings as desired.

Step 4 Run the Gettext message file compiler to create the .mo file from the .po file:

msgfmt -o AnyConnect.mo AnyConnect.po

Step 5 Place a copy of the .mo file in the correct message template directory on the user's computer. See AnyConnect Message Template Directories for more information.


Merging a Newer Translation Template with your Translation Table

Occasionally, we add new messages displayed to AnyConnect users that provide helpful information about the client connection. To enable translation of these new messages, we create new message strings and include them in the translation template packaged with the latest client image. Therefore, if you upgrade to the latest available client, you also receive the template with the new messages. However, if you have created translation tables based on the template included with the previous client, the new messages are not automatically displayed to remote users. You must merge the latest template with your translation table to ensure your translation table has these new messages.

You can use convenient third party tools to perform the merge. Gettext utilities from The GNU Project is available for Windows and runs in the command window. See the GNU website at gnu.org for more information. You can also use a GUI-based utility that uses Gettext, such as Poedit. This software is available at poedit.net. Both methods are covered in the procedure below.


Step 1 Export the latest AnyConnect Translation Template from Remote Access VPN > Language Localization > Templates. Export the template with the filename as AnyConnect.pot. This filename ensures that the msgmerge.exe program recognizes the file as a message catalog template.


Note This step assumes you have already loaded the latest AnyConnect image package to the ASA. The template is not available for export until you do.


Step 2 Merge the AnyConnect Template and Translation Table.

If you are using the Gettext utilities for Windows, open a command prompt window and run the following command. The command merges the AnyConnect translation table (.po) and the template (.pot), creating the new AnyConnect_merged.po file:

msgmerge -o AnyConnect_merged.po AnyConnect.po AnyConnect.pot

The following example shows the results of the command:

C:\Program Files\GnuWin32\bin> msgmerge -o AnyConnect_merged.po AnyConnect.po 
AnyConnect.pot
....................................... done.
 
   

If you are using Poedit, first open the AnyConnect.po file; go to File > Open > <AnyConnect.po>.
Then merge it with the template; go to Catalog > Update from POT file <AnyConnect.pot>.
Poedit displays an Update Summary window with both new and obsolete strings. Save the file, which we will import in the next step.

Step 3 Import the Merged Translation Table from Remote Access VPN > Language Localization. Click Import, specify a language, and select AnyConnect as the Translation Domain. Specify the file to import as AnyConnect_merged.po.