MeshCentral2 - Multi-Language Support

MeshCentral is already widely used and some from the GitHub community has already taken the step to translate MeshCentral into other languages. Until now MeshCentral did not support multiple languages but this is changing today as an updated version was just published that has multi-language support. As one can imagine, with about 1400 different strings (not including duplicates) the work required make MeshCentral support a different language is significant. We have come up with a new system that makes the process fairly painless. Here are the details:
  • First, the MeshCentral web pages including the main web application and mobile application have been changed so that all JavaScript strings that need to be translated are double-quoted “” and non-translatable strings are single quoted ‘’. This makes is possible to automatically parse and extract all strings that need translation.
  • Next, a new string extractor is packaged in MeshCentral that parses the HTML and JavaScript of all web pages and generates or updates the translation dictionary. When run, this extractor takes a few seconds to pulls all of the strings including from attributes in HTML elements and fully parses any JavaScript.
  • The Resource Translator is a Windows tool that was updated to load the MeshCentral translation dictionary and offer a user interface for translators. It makes it easy to click on a string and translate it to a different language. You can download the tool here.
  • Also included in MeshCentral, in the same tool that does string extraction is the Page Translator. It pulls MeshCentral web pages and uses the translation dictionary to generate translated versions of the web pages. Much like the string extractors, it does a full parse of HTML and JavaScript code to perform string substitution only at the right places.
  • Lastly, MeshCentral itself was updated to support multiple languages. By default, the browser settings determine what language is served, but this can be overridden using the localization settings in the “My Account” tab or by adding for example “?lang=fr” to the URL.
Since I am a French speaker myself, the start of the French translation is already available and as the community helps with this, we may get more languages. Moving forward, more work will need to be done to translate the event log and other items. For people who want to get started with translations, update to MeshCentral v0.4.2-w and look in the “node_modules/meshcentral/translate” folder. Note that multi-language support does not yet work with the server “minified” setting set to true.


Popular posts from this blog

MeshCentral2 - MeshCtrl, Windows Services, Events, Remote Typing, Time Localization

MeshCentral2 - Next Generation Mesh Agent

MeshCentral2 - OS support, Browser Tabs, Location & Security