Documentation forSolarWinds Platform Self-Hosted

Extract UI texts and apply the translated texts to the SolarWinds Platform Web Console

This topic applies to all SolarWinds Platform (self-hosted) products.

Starting with Orion Platform 2020.2, you can run a set of PowerShell-based scripts to extract texts from the SolarWinds Platform Web Console, have the texts translated, and apply the translated version in the SolarWinds Platform Web Console.

Disclaimers

The scripts are not supported under any SolarWinds support program or service. The scripts are provided AS IS without warranty of any kind. SolarWinds further disclaims all warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The risk arising out of the use or performance of the scripts and documentation stays with you. In no event shall SolarWinds or anyone else involved in the creation, production, or delivery of the scripts be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the scripts or documentation.

The scripts only copy UI texts from the SolarWinds Platform Web Console. You need to translate the UI texts. Some texts are stored in the database and thus are not translated. Untranslated texts include Menu bar items, customized menu items, or texts in alerts and reports which can be edited and translated through the SolarWinds Platform Web Console.

What is NOT included in extracted texts?

The following texts are not part of the language pack archive:

Menu bar items

Widgets with customized titles/descriptions

You can either add new widgets with translated names or rename existing ones.

If you clear a custom label for a widget (widget name or description), the label is reverted to the default value, included in the language pack, and thus translated.

Alerts and reports

Alerts and reports remain untranslated. You can either rename them or create duplicates and rename the duplicate alerts/reports.

Learn more about editing alerts and reports.

Untranslatable strings

  • Event and Audit event types, such as Message Center filtering options
  • Syslog Severity and Facilities, such as Syslog filtering options
  • Status descriptions for entities, such as Up, Down, or Unknown on various views
  • Events and notifications generated before you deployed the language pack. These labels are stored in the database. After you deploy the language pack, events are translated.
  • Sample pictures for several web widgets, such as the Map widget

Requirements

  • Orion Platform 2020.2 or later
  • PowerShell installed on all servers hosting the SolarWinds Platform web server (both on main and additional web server).
  • Make sure the language pack version matches your deployment. Check the scripts to find out the version.

Extract the texts from the UI

  1. If you are deploying the Language Pack on SolarWinds Platform version 2020.2 - 2020.2.6, disable the pre-compilation of the Orion website.

    If you are deploying the scripts on SolarWinds Hybrid Cloud Observability 2022.2, skip this step.

    1. In your Orion installation folder, open the ConfigurationWizard.exe.config file. By default, the configuration file is located at C:\Program Files (x86)\SolarWinds\Orion.

    2. In the file, set the PrecompiledWebsiteDisabled property to true.

      To do so, find the PrecompiledWebsiteDisabled property and make sure it is set to true. If not available, add the following line to the config file:

      <add key="PrecompiledWebsiteDisabled" value="true"/>
  2. Download the LanguagePack archive and extract it on the server hosting your SolarWinds Platform web server.

    1. Log in to the Customer Portal.
    2. Click Downloads > Download Product.
    3. Select your product and license and scroll down to Additional Downloads.
    4. In Tools & Plugins, find the Language Pack tool and download it.
  3. Run the Command Line with Administrator privileges.

  4. Change the directory to that with unpacked LPtools.

    cd C:\LPtools
  5. Run the Collect-ResourcesFiles.ps1 script, and accept the disclaimer.

    In -outputPath, specify the full path to the target directory to save the file with exported UI text. If the script does not find the folder, it creates a new folder in the specified location.

    powershell -command .\Collect-ResourcesFiles.ps1 -outputPath C:\LPtools\output\

    If you do not provide the -outputPath parameter, you are prompted to specify it in the next step.

    To extract German or Japanese strings, add the appropriate language parameter to the script:

    -language de for German

    -language ja for Japanese

    When the script completes, you can see a LanguagePackTemplate.zip archive in the specified output folder.

    You can now extract the LanguagePackTemplate.zip and start translating the strings.

Translate the extracted files

The LanguagePackTemplate.zip archive contains the following files:

  • Multiple decompiled .resx files with English strings used by the SolarWinds Platform Web Console, placed in their corresponding directories.
  • LangPackInfo.json - a file to store general information about the language pack
  • ModulesInfo.json - this file holds records of all Orion product versions installed during the collection and is mandatory for LP deployment

Translate UI texts

  1. Extract the archive and analyze the .resx files. The files use XML formatting and you can open and edit them with text- or XML-editing applications.

  2. Translate texts enclosed withing the <value></value> tags. You don't need to translate comments because they are informative only and do not appear in the UI.

    Example: Translation files

    <data name="SamlDisabledMessage" xml:space="preserve">

    <value>SAML authentication is disabled.</value>

    <comment>Login error message</comment>

    </data>

    Do not change the directory tree structure. It is used to map files' location during the deployment process.

  3. Optional: When the translation is finished, SolarWinds recommends that the translator fills in the information in the LanguagePackInfo.json.
  4. Create a .zip file with the translated files and deploy the translated UI texts.

Deploy the translated texts in the SolarWinds Platform Web Console

Before you start the deployment:

  • SolarWinds Platform products include a German and a Japanese Language pack. If you are overwriting them, stop all SolarWinds services before you run the deployment script. You can use the SolarWinds Platform Service Manager.

Run the deployment script to unpack, compile, rename, and copy the localized files, set the required flags in the registry configuration and trigger SolarWinds NetPerfMon Website restart.

  1. If you are deploying the Language Pack on SolarWinds Platform version 2020.2 - 2020.2.6, disable the pre-compilation of the Orion website.

    If you are deploying the scripts on SolarWinds Hybrid Cloud Observability 2022.2, skip this step.

    1. In your Orion installation folder, open the ConfigurationWizard.exe.config file. By default, the configuration file is located at C:\Program Files (x86)\SolarWinds\Orion.

    2. In the file, set the PrecompiledWebsiteDisabled property to true.

      To do so, find the PrecompiledWebsiteDisabled property and make sure it is set to true. If not available, add the following line to the config file:

      <add key="PrecompiledWebsiteDisabled" value="true"/>

  2. Run the Command Line with Administrator privileges.

  3. Change the directory to that with unpacked LPtools.

    cd C:\LPtools
  4. Run the Deploy-ResourcesFiles.ps1 with PowerShell, and accept the disclaimer.

    powershell -command .\Deploy-ResourcesFiles.ps1 -langPackPath C:\output\FrenchLanguagePack.zip -language fr
    

    -langPackPath is a full path to the custom LP archive

    -language is a two/three-chars-long international code of the language that will be assigned to your custom LP

    For technical reasons, you cannot overwrite the English version of the UI. When using language -en, you are only informed that it does not work.

    If you don't specify -langPackPath and -language parameters, you are prompted for them in a next step.

    The script deploys the translated strings from the .zip archive. If any errors occur, the script prompts you to decide whether to skip the corrupted file or about the deployment process.

    When the deployment is complete, the script restarts the SolarWinds Platform Web Console.

  5. Open the SolarWinds Platform Web Console in a browser and set the browser's preferred Webpage Language to the language specified during the deployment (-language).

Revert UI texts back to the original version of the UI

Run a script to disable a custom language pack. This script simply clears the custom locale registry flag in the registry and restarts the SolarWinds NetPerfMon Website, while retaining all the custom LP files intact yet inactive. As a result, the website reverts to its original language specified during its installation (English by default, unless user specifically chose German or Japanese).

  1. Run the Command Line with Administrator privileges.

  2. Go to the folder with extracted language pack tools:

    cd C:\LPtools
  3. Run the Revert-CustomLanguage.ps1 script, and accept the disclaimer.

    powershell -command .\Revert-CustomLanguage.ps1
  4. Wait for script to change the required settings. Once done, it will restart SolarWinds NetPerfMon Website.
  5. Open SolarWinds Platform Web Console in a browser and verify that the content is shown in the default language.

Troubleshooting

Check whether you have a language pack deployed

In the SolarWinds Platform Web Console, click Settings > My Deployment. In the Deployment Health tab, search for Custom language pack, and click the arrow at the end to the test row to find out more.

Some UI texts are not translated

The language pack only translates texts in the SolarWinds Platform Web Console. Some of the texts that are stored in the database can be translated manually, some stay as is.

SolarWinds Platform Web Console is no longer translated after upgrade/running the Configuration Wizard

If you run the Configuration Wizard, SolarWinds Platform Web Console automatically reverts back to the primary locale. Re-deploy the language pack.

For upgrades, consider extracting UI texts again and updating the translation so that your language pack covers updated or new strings.

Can I apply a custom language pack created for the NPM + SAM to a deployment that only has NPM installed and vice versa?

Yes. Language packs for products that are not installed are not deployed. If the custom language pack lacks some files, the default locale is used.

For example, if you have NPM translated into French and deploy the language pack on an environment with NPM and SAM installed in English, NPM will be displayed in French and SAM-specific UI texts will be in English.

Can I apply more than one custom language pack to the SolarWinds Platform Web Console?

As of Orion Platform 2020.2, only one custom language per SolarWinds Platform deployment is supported.