Showcase your achievements in the Maveryx Community by submitting a Success Story now!
SUBMISSION INSTRUCTIONSAs we started growing internationally, we wanted to make it easier for analysts and data scientists around the globe to experience the thrill of solving. We currently offer Alteryx Designer in multiple languages and the number continues to grow each year. To properly localize our Designer (and ancillary projects), we need a way to "scrape" all of our code bases for strings, check which strings are "new", send said strings off to our translation vendor, and finally embed all strings into the Alteryx Designer GUI. And, there was no better way to localize Alteryx Designer than using Alteryx Designer!
Different code bases, repositories, and file formats where "scraping" needed to occur
We use Designer to parse through all file formats (C#, C++, html, xml, and others) in source code to extract strings. Each string has a message key assigned to it and is written out to SQLite file that our product must use to display strings in our GUI dynamically, based on language. These workflows also have nested batch macros which call out to various APIs that send / receive strings to / from our translation vendor.
We store "change logs" (i.e. the strings that are deemed "new strings") and artifacts from our vendor in Gitlab and store a copy of our "one source of truth" string dictionary in Artifactory where they can be retrieved by our workflows and integrated into the product.
See below the beautiful Alteryx that makes localizing in all our supported languages possible: