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

Table of Contents

Customizing and Localizing the AnyConnect Client and Installer

Customizing AnyConnect

What Can Be Customized?

Installer

AnyConnect UI

Replacing Individual GUI Components with your Custom Components

Customizing the GUI with a Transform

Sample Transform

Deploying Executables That Use the Client API

Information for Creating your Custom Icons and Logos

Recommended Image Format for AnyConnect 3.0 and Later

For Windows

For Linux

For Mac OS X

Creating and Uploading an AnyConnect Client Help File

Changing the Default AnyConnect English Messages

Localizing the AnyConnect Client GUI and Installer

Localizing the AnyConnect GUI

Specifying the AnyConnect Client Platform’s System Locale

Importing Available Translation Tables to the ASA

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 AnyConnect

You can customize AnyConnect client 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:


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.


You can also customize the AnyConnect installer, for both Web Deploy and Pre-deploy.

What Can Be Customized?

The AnyConnect client and installer can be customized.

Installer

Windows Predeploy

  • Predeploy - The predeploy installer can be modified by creating transforms or using msiexec.
  • ISO - In the ISO image, setup.hta is HTML, which can be edited, but since the ISO is for administrators, customization is not explicitly supported.
  • Uninstaller - The uninstall prompt is not customizable.

OSX Predeploy

  • OSX supports localization. The strings used by the installer come from Mac installer application, instead of from our installer.

Linux Predeploy

  • The installer is a shell script, so customization does not apply.

Web Deploy

  • Web deployment uses browser web launch provided by the clientless SSL portal. The clientless SSL portal can be customized, but not the AnyConnect parts of the portal. For example, the Start Anyconnect button can't be customized.

AnyConnect UI

  • Downloader - some status messages are not customizable, for example:

Status messages, when updating

Untrusted server

Deferred update

Note that all messages are localizable when they are displayed in the UI.

  • AnyConnect Dialog/UI

Messages can be customized by creating or updating PO or MO files.

UI components can be customized by replacing images and text with ASDM.

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 12-2 , Table 12-3 , and Table 12-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 12-1).

Figure 12-1 Importing a Customization Object

Step 2 Enter the Name of the file to import. See Table 12-2 , Table 12-3 , and Table 12-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 12-2).

Figure 12-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.



 

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 12-3).

Figure 12-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 12-4).


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


Figure 12-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

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 12-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 12-1). Unlike replacing the pre-defined GUI components, when you deploy your own executable, you can use any filenames for your resource files.

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. The images in the tables are used by AnyConnect VPN Client, Network Access Manager and Web Security modules.

AnyConnect version 3.1 adds two more UI dialogs, one to state network connection status, and one to allow a user to update a password for a network connection.

Recommended Image Format for AnyConnect 3.0 and Later

For AnyConnect 3.0 and later, we recommend you use Portable Network Graphics (PNG) images 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.

For Windows

All files for Windows in Table 12-2 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 12-2 lists the files you can replace and the client GUI area affected:

 

Table 12-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

app_logo.png

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

128 X 128

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

company_logo.png

The company logo displayed in the top left corner of the tray flyout and Advanced 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

company_logo_alt.png

The company logo displayed in the 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

PNG

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.

I

1260 x 1024

JPEG

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

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

vpn_connected.ico

System tray icon indicating the VPN is connected.

The size is not adjustable.

16 x 16

ICO

For Linux

All files for Linux are located in:

/opt/cisco/anyconnect/pixmaps/

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

 

Table 12-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 12-4 lists the files that you can replace and the client GUI area affected.

 

Table 12-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

logo.png

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

 

50 x 33

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

Mac OS X status icon.

 

16 X 16

PNG

Creating and Uploading an AnyConnect Client Help File

To provide AnyConnect users with help, create an HTML file with instructions about your site, and load it on the ASA. When users connect with AnyConnect, AnyConnect downloads the help file, and displays the help icon on the AnyConnect user interface. When the user clicks the help icon, the browser opens the help file.


Step 1 Create an HTML file named help_AnyConnect.html .

Step 2 Log on to the ASA using ASDM and select: Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Customization/Localization > Binary

Step 3 Import the help_AnyConnect.xxx file. The supported formats are: PDF, HTML, HTM, and MHT formats.

Step 4 On a PC, bring up AnyConnect and connect to your ASA. The help file will be downloaded to the client PC.

Step 5 You should see that the help icon was added to the UI automatically.

Step 6 Click the help icon, and the help file opens in the browser.

If the help icon does not appear, check the help directory to see if the AnyConnect downloader was able to retrieve the help file.

The “help_” part of the filename is removed by the downloader, so you should see AnyConnect.html in one of the following directories, depending on the operating system:

  • Windows 7 and Vista - C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Help
  • Windows XP - C:\Documents and Settings\All Users\Application Data\Cisco\Cisco AnyConnect Secure Mobility Client\Help
  • Mac OS - /opt/cisco/anyconnect/help


 

Changing the Default AnyConnect English Messages

You can make changes to the English messages displayed on the AnyConnect GUI by opening (adding or editing) the English translation table, and changing message text for one or more message IDs. After you open the message file, you can edit it by:

  • Typing your changes into the text in the open dialog.
  • Copying the text in the open dialog to a text editor, making your changes, and pasting the text back into the dialog.
  • Exporting the message file by clicking Save to File, editing the file, and importing it into the ASDM.

Note that the English translation table is also available under the Localization menu (Configuration > Remote Access VPN > Language Localization). Localization is described in Localizing the AnyConnect Client GUI and Installer.

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


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 12-5).

Figure 12-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 12-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 12-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. The following sections contain information and procedures for configuring this feature:

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 of 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. This file contains the latest changes to message strings in the AnyConnect software. You can use it to create new translation tables for other languages, or you can import one of the following translation tables available on www.cisco.com, see Importing Available Translation Tables to the ASA:

  • Japanese
  • French Canadian
  • German
  • Chinese
  • Korean
  • Spanish (Latin American)
  • Czech
  • Polish

The following sections contain procedures for translating GUI text and messages if the desired languages is not available or if you wish to further customize imported translation tables:

  • Translating using the ASDM Translation Table Editor. Using this method you can make changes to the message file by opening (adding or editing) the file, and changing message text for one or more message IDs. After you open the message file, you can edit it by:

Typing your changes into the text in the open dialog.

Copying the text in the open dialog to a text editor, making your changes, and pasting the text back into the dialog.

After you update the translation table on the ASA, the updated messages are not applied until the client is restarted and makes another successful connection.


Note If you are not deploying the client from 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.


Specifying the AnyConnect Client Platform’s System Locale

When the remote user connects to the ASA and downloads the client, AnyConnect detects the preferred language of the computer and applies the appropriate translation table by detecting the specified system locale.

To view or change the specified system locale on a Windows client platform:


Step 1 Navigate to the Control Panel > Region and Languages dialog box. If you are viewing your Control Panel by Category, choose Clock, Language, and Region > Change display language. Examples of the Windows XP and 7 dialogs are shown:

Step 2 Specify the language/locale setting, using the options circled in red for your version of Windows.

Step 3 Specify that these setting should be used as the default for all user accounts, using the options circled in yellow for your version of Windows.

Step 4 If your deployment is using Web Security, restart the Web Security agent , to pick up the new translations.


Note If a location is not specified, AnyConnect will default to just the language. For example, if the “fr-ca” directory is not found, AnyConnect will check for the “fr” directory. You do not need to change the display language, location, or keyboard to see the translations.


Importing Available Translation Tables to the ASA


Step 1 Download the desired translation table from www.cisco.com.

Step 2 On the ASA, go to Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Customization/Localization > GUI Text and Messages

Step 3 Click Import . The Import Language Localization Entry window displays.

Step 4 Choose the appropriate Language from the drop-down list.

Step 5 Specify where the translation table will be imported from.

Step 6 Click Import Now. This translation table will be deployed to AnyConnect clients with this preferred language. Localization will be applied after AnyConnect restarts and connects.


Note The Cisco Secure Desktop translation table, must also be imported onto the ASA for Host Scan messages to be localized, even if Cisco Secure Desktop is not being used.


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 12-7).

Figure 12-7 Language Localization Pane

 

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

Figure 12-8 Translation Domain

 

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

Figure 12-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 12-10).

Add your translated text between the quotes of the message strings (msgstr). In the example below, we inserted 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 12-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 a text 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 12-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 12-11 Exporting a Translation Template

 

Step 2 Choose a destination to export to and provide a filename. In Figure 12-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 12-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 destination to import from, 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 12-11, we specify the language as Spanish (es) and import the same file we exported in Step 1 (AnyConnect_translation_table). Figure 12-13 shows the new translation table for Spanish in the list of Languages for AnyConnect.

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

Figure 12-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 a 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. 3.1.xxxxx).

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 12-14):

Figure 12-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 12-14, we specify the language as Spanish (es). Figure 12-15 shows the new transform for Spanish in the list of Languages for AnyConnect.

Figure 12-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 to 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.