Adding additional languages to NetScaler RfWebUI Theme

There might be a time when the default shipped languages aren’t enough and you need to add additional language support – in my case Italian. Here’s how.

Change to the custom themes directory

cd /var/netscaler/logon/themes/Italian-Test/

Create a copy of the custom strings .js and .json file. Those aren’t really necessary but help to prevent overrides from the default English custom strings that otherwise would appear.

cp strings.en.js
cp strings.en.json

Now create a copy of the actual language file

cp ../../LogonPoint/receiver/js/localization/en/ctxs.strings.js

Within this file you can now perform your translations. Most basic variables for the login mask start with nsg_

root@ns-lab# cat | grep nsg_
"nsg_username":"Nome utente",
"nsg_password1":"Parola d'ordine",
"nsg_LogOnbutton":"Log On",
"nsg_loginHeading":"Si prega di accedere",
"nsg_GoBack":"Go Back",
"nsg_oldpass": "Old Password :",
"nsg_newpass": "New Password :",
"nsg_confirmpass": "Confirm Password :",
"nsg_changepass": "Change Password",

Up until this point – nothing will happen.

What we finally need to do is to introduce the new files as a new “culture”. This happens in the script.js file

(function ($) {
$.globalization.availableCulture("it", {
name: "it",
englishName: "Italian",
nativeName: "Italiano",
stringBundle: "custom/",
customStringBundle: "custom/"

And there you go…

Adding additional language to NetScaler RfWebUI Theme

*my Italian visitors please excuse the (potentially) horrible Google Translator sample!

2 Replies to “Adding additional languages to NetScaler RfWebUI Theme”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.