Community Knowledge Base

Translation Guide

Upon installation, SmarterMail offers translations for over 15 different languages. While the majority of the most popular languages are covered, there may be instances where a specific regional language or other language isn't represented with our default installation. That's where the SmarterMail translation files come into play.

SmarterMail includes an English language file that contains each word, phrase and sentence used in SmarterMail. For every translation key, there is an associated text value, and each value would need to be translated.

System administrators, therefore, have the ability to either edit existing translation files to correct errors or change the way something is referenced, or create entirely new translations using the English language file that's provided. These new translations can account for dialects or colloquialisms, making translation more friendly and usable for specific customers. Ideally, any changes, updates or new translations that are created should be shared with SmarterTools. That's because with each update we role out, the previous (unchanged) files will be used in the update process, overwriting any changes made to the installed files. If we have current, updated translations, we can provide those along with any updated Builds we release.

Creating a New Translation

To begin, navigate to the translations folder (the default location is C:\Program Files(x86)\SmarterTools\SmarterMail\MRS\App_Data\Translations) and save a copy of the English language file found there. Then, title the copy according to your locale abbreviation. (E.g., Zh-TW.json for Taiwanese.) A list of the different locale abbreviations can be found here: http://msdn.microsoft.com/en-us/goglobal/bb896001.aspx.

As you edit each language string in the new file, once you've saved your changes you can see the changes immediately in your browser when you switch the interface language to your specific translation.

Styling Notes for JSON Files

Note that some characters require special encoding to preserve the integrity of the JSON file. If you're unfamiliar with this programming language, you can use an JSON editor to modify and validate the file. If at any point your language stops showing up, there is likely a problem with JSON formatting. Look at the items you just changed to ensure they don't have any invalid characters, missing commas or mismatched tags. There are two important things to remember when editing the JSON file:

  1. Avoid using double quotes when editing a line that already uses double quotes.
  2. Avoid translating any variable names, as these are used by the SmarterMail backend in order to properly display information.

Here are some examples:

  1. If a string value includes quotation marks, use single quotes, not double quotes. For example, these formats are acceptable:
                    TRANSLATION_KEY: "This is the translated text, and this is how 'quoted text' should appear.",

    TRANSLATION_KEY: "This is more translated text, and \"quoted text\" can also be formatted like so.",
    But this format will break the file:
                    TRANSLATION_KEY: "This is translated text, and this is NOT how "quoted text" should appear.",
                
  2. Any words within curly brackets {} should not be translated, unless those words are encompassed by apostrophes. Here are 3 examples of how to properly translate the variables:
    • The following string should remain as is, since each word in this string is within the curly brackets without accompanying apostrophes.
    • DISK_SPACE_WITH_PERCENT: "{{used | bytes}} {{percent ? ('(' + (percent|number:0) + '%)') : ''}}"
    • In the following string, each word is contained in the curly brackets. However, because Alias and Aliases are encompassed by apostrophes, you would need to translate only those words .
    • DOMAIN_MANAGEMENT_ALIASES: "{{count}} {{count == 1 ? 'Alias' : 'Aliases'}}"
    • In the following string, both of and Used should be translated.
    • DISK_SPACE_USED_OF:	"{{used | bytes}} {{total ? ('of ' + (total | bytes)) : ''}} Used"

When the Translation is Complete

Once you've completed your translation, you can validate the JSON formatting here: https://jsonlint.com. Once it validates, PLEASE contact sales@smartertools.com and let us know. We'd be happy to include your translation along with our installation files.