Translate Splunk
Translate Splunk
Splunk supports the internationalization and localization of strings within the product. Use Splunk's localization tools to:
- Translate text generated by Python code, JavaScript code, views, menus and Mako templates.
- Set language/locale specific alternatives for static resources such as images, CSS, other media.
- Create new languages or locales.
- Format times, dates and other numerical strings.
When you log in to Splunk, Splunk uses the language that your browser is set to. If you'd want to switch languages, change your browser settings.
Splunk detects locale strings. A locale string contains two components: a language specifier and a localization specifier. This is usually presented as two lowercase letters and two uppercase letters linked by an underscore. For example, en_US means US English while en_GB means British English.
When looking for a suitable translation, Splunk first tries to find an exact match for the whole locale, but falls back to just the language specifier if the entire setting is not available. For example, translations for fr answer to requests for fr_CA and fr_FR (French, Canada and France respectively). The user's locale also affects the formatting of dates, times, numbers, and other localized settings. Different countries have differing standards on how to format these entities.
Configuration
Splunk uses the gettext internationalization and localization system. When using gettext, you typically use an editor to create, generate, and edit the files used to localize strings in an application. Splunk recommends Poedit, a free, open source editor for localization.
To translate Splunk, follow these directions:
1. Create a directory for the locale. For example, to create the fictional locale mz, create the following directory:
$SPLUNK_HOME/lib/python2.6/site-packages/splunk/appserver/mrsparkle/locale/mz_MZ/LC_MESSAGES/
2. Load the following messages.pot file into your PO editor.
$SPLUNK_HOME/lib/python2.6/site-packages/splunk/appserver/mrsparkle/locale/messages.pot
3. Use the PO editor to translate any strings you want to localize. Save the file as messages.po in the directory you created in step 2. The PO editor also saves a messages.mo file, which is the machine readable version of the PO file.
4. Restart Splunk. There are no other configuration files to edit. Splunk detects the new language files when it restarts.
Localization files
Splunk stores localization information at the following location:
$SPLUNK_HOME/lib/python<version>/site-packages/splunk/appserver/mrsparkle/locale
-
messages.pot: Holds the strings to translate. Use a PO editor to edit these files.
-
<locale>/LC_MESSAGES/messages.po: Contains the source strings specified for localization inmessages.pot. Using a PO editor, provide the translations for these strings.
-
locale/</locale>/LC_MESSAGES/messages.mo: A machine readable version ofmessages.pothat the system uses to find translated strings. The PO editor creates this for you at the same time as themessages.pofile
Translate Apps
You can also use gettext to translate apps. However, most apps must be translated in their own locale subdirectory. Apps that ship with Splunk are automatically extracted and their text included in Splunk's core messages.pot file. There's no need to handle them separately.
To extract the strings from an installed application, ready to be translated in a PO editor, run the following command from Splunk's command line:
splunk extract i18n -app <appname>
This creates a locale/ subdirectory in the app's root directory and populates it with a messages.pot file. Then, follow the steps above to translate the strings within the app. When using views from a different app, the new messages.pot file contains the strings for these views.
Locale-specific resources
Splunk stores static resources such as images, CSS files, and other media as subdirectories at the following location:
$SPLUNK_HOME/share/splunk/search_mrsparkle/exposed/
When serving these resources, Splunk checks to see whether a locale-specific version of the resource is available before falling back to the default resource. For example, if your locale is set to fr_FR, Splunk searches for the logo image file in the following order:
- exposed/img/skins/default/logo-mrsparkle-fr_FR.gif
- exposed/img/skins/default/logo-mrsparkle-fr.gif
- exposed/img/skins/default/logo-mrsparkle.gif
Splunk follows the same path to load HTML templates (including any views) that define each page in the UI. This can be useful for languages that require a modified layout that CSS alone can't accommodate (right to left text for example).
This documentation applies to the following versions of Splunk: 4.3 View the Article History for its revisions.