Automation isn't only a fancy word we use to refer to machine translation-powered translation or, for that matter, to any technical novelties that make our job easier. In processes like localization, keeping multilingual projects up to date is an essential piece of the puzzle. 🧩 Automation allows the translation to be completed quickly without requiring excessive work from the client, and it also helps to maximize the efficiency of human resources by allowing them to focus on more important aspects of the project while the localization processes are constantly up and running.

After all, investing in localization also means keeping your product or service up to date for every market you choose to cater to. In this tutorial, we'll see how Localazy can simplify this process - so you can start automating immediately and enjoy the benefits of true continuous localization.

πŸš€ What is Localazy? πŸ”—

Localazy is a web-based translation management system (TMS) that aims to make software localization and translation more efficient and hopefully enjoyable for all product teams while providing a clean interface for translators and managers. This allows them to stay in control of the localization process. Localazy is a highly automated platform that can help everyone save time by reducing repetitive tasks and excessive file handling.

article-image

πŸƒβ€β™€οΈ Getting started with translation automation πŸ”—

As with any other translation platform, your texts can be manually uploaded to the Localazy web interface, and you can download translated files back and put them where you need them. πŸ“² However, more tech-savvy users and developers should opt for Localazy CLI, which offers the highest level of automation options, or the Localazy API, which allows users to manipulate almost all aspects of their translation projects within Localazy programmatically.

In this article, we will use the Localazy CLI, which is the command-line interface for Localazy projects. It is the best option for developers who want to automate their content and translation workflow, as it offers easy uploads and updates.

The first step is to install the Localazy CLI on your device. Installation instructions are included in the official documentation for all major operating systems.

This time, we will install it in a macOS environment. The Localazy CLI is available through Brew. Navigate to the terminal and execute the following commands:

brew tap localazy/tools

brew install localazy

Now you need to create a new Localazy project. Register or log in to the Localazy platform to access your dashboard. Here, we are going to start a new project called AutomateContent. Before uploading our content, we can set up our first automation to save valuable time.

➑️ How to translate content automatically? πŸ”—

Before creating a new workflow, decide which translation approach you prefer. Localazy offers multiple options to choose from and blend:

  1. πŸ’ͺ🏻 Translate on your own or invite contributors - You can start translating on your own and use our built-in suggestion system or invite your team of translators to work on your project within Localazy.
  2. 🚩 Fully automate professional translations with the Continuous Localization services - Once your Localazy integration is set up, you can order translations from our vetted translators and automatically get your project translated by professionals. The service is also proactive, so you don't have to micromanage translators, and you can visit Localazy only once in a while to check the progress.
  3. 🦾 Pre-translate everything in bulk via machine translation - With the Localazy Autopilot plan, you can instantly translate all strings by running a machine translation over the content. This is great for your software or website's first iteration of localization testing. You can even set up an automated workflow that will do this for you immediately after each upload. Because we want to save time, our content will constantly change, and quality is not a concern for our first iteration, let's set it up this way!

Now you can start creating your workflow from scratch. In this case, we'll generate one that automatically applies machine translations to all uploaded content in two languages.

First, navigate to the workflow console, where the newly created project should be visible. Click on Create a new workflow, and pick Automatic MT pre-translate from the dropdown that appears. A dialog appears asking you to name your workflow. Let's name ours Pre-translate on content upload.

article-image

We can see the workflow was added to our list, but it is not currently active or running.

article-image

Click on the pencil icon and edit the following settings, as seen below.

article-image

Remember to check the Enable Workflow option. You can also change the name here and add a description (optional). In the Action section, Pre-translate using MT engine should be already pre-selected.

πŸ“„ Learn more about Automated Workflows in the docs.

Scroll down to find the Action Configuration:

article-image

The action configuration has several machine translation engine options, including Amazon Translate, Google Translate, DeepL Translator, and Azure Translator. We can keep it on Amazon Translate for now.

Let's add our target languages as well, e.g., we can pick French (fr) and Czech (cs). Find the language code in the dropdown selector and make sure to click the green plus button to add the languages to the selection. Leave the rest of the options on their default setting.

Save the changes, and your new workflow will now be enabled and operational.

article-image

Add content to your project πŸ”—

Now we can upload our content to Localazy. πŸ₯³ We're going to create a new node project called AutomateContent. The project can be initialized using the npm command.

npm init -y
Initialize a node project

The next step is to create a configuration script called localazy.json. This file contains commands instructing the CLI on how to handle content uploads to the Localazy platform. The localazy.json file contains the following code snippets:

{
 
  "writeKey": "your-apps-write-key", 
  "readKey": "your-apps-read-key",
 
  "upload": {
    "type": "json",
    "files": "public/locales/test_en.json"
  }
  
}
  • The writeKey and readKey are used to authorize the operations that can be carried out within your application. These keys are obtained from your Localazy dashboard. Select the project from your Dashboard and navigate to your project's Settings. Click on the Access Keys tab to get these keys.
  • The upload command defines how to collect files that you want to upload to the Localazy platform for localization and what metadata to include. It also defines how to process uploaded data.
  • The type key in the upload object defines the type of files you are about to upload. Examples of supported file formats include JSON, YAML, and PHP, amongst others. All supported file formats can be found in the official documentation. In our sample project, we will use a JSON file to store our content.
  • Lastly, the file key in the upload object defines the path to the file to be used for the upload. In our project, our file will be located in the public/locales/test_en.json directory.

The file structure is similar to the one shown below:

article-image
Image of file structure.

In the test_en.json file, you should find the file content that will be translated.

// test_en.json

{
  "title": "This is an English content that will be updated to localazy automatically",
  "info": "This is an information to test automated update",
  "authoredBy": "Johannes Brown"
}
JSON file content.

Now that all is clear, the next step is to upload our content using the Localazy CLI command:

localazy upload 

Running this command will upload the content in test_en.json to the project created earlier on Localazy.

When new keys are uploaded or existing ones are updated, the workflow will be triggered (it may take a few seconds), and the Czech and French translations will be ready. They'll already be available to be reviewed and improved! πŸ˜€

article-image

Review the results πŸ”—

The review process allows you to check and confirm that the translations are ready to be downloaded. You can choose to accept or reject the version. In this instance, we will accept the versions for each translated language.

article-image
article-image

Checking back on the workflow, we can now see that it has been successfully completed. πŸ‘

Skipping the review process πŸ”—

You can skip the review process to use the machine translation results in your project immediately. Just go back to the workflow settings and uncheck the "Send translations to the review process" checkbox.

πŸ€” Updating translated content, what now? πŸ”—

So, is that it? Well, not exactly. When the need arises to update your content to change or improve the messaging, you will inevitably have to translate it again. Luckily, with Localazy, the process will be a breeze thanks to automation.

Let's see how the content update process goes. You need to take into account that, when making translation changes, it is only essential to modify and upload the source language and use the Localazy platform to manage the rest of the translations.

In the example below, we have added a new field to the source file and uploaded the source language. The workflow resumes and translations to French and Czech are completed automatically. Done!

article-image
article-image

βœ‚οΈ Improving the translations later πŸ”—

If you decide to skip the review but still would like to go over the translations later to check the quality of MT results, you can set up another automation.

Create a new workflow, and select the action "Set as needs improvement." You can use Filters only to include the LocalazyMT user, so all machine translations will be set as needing improvement, but translations from humans will follow the usual workflow. This approach can also be combined with professional translation services provided by our Continuous Localization Team.

πŸ€– Automating human translators πŸ”—

You might be interested in adding professional translators to your project. They can handle translation services and offer human-assisted localization within the application. To make an order, simply click on Order Translations in your project dashboard.

article-image

The next step is to add the language you want the source language translated to. There are four available services to select from:

  • Professional Translations
  • Professional Proofreading
  • Human-Assisted Machine translations
  • Human Translation Validation

You can check the differences between each type of service in our ultimate translation guide. For now, we will be selecting Professional Translations and Professional Proofreading.

article-image

After adding the languages, you will be prompted to place an order, at which point you will be required to purchase credits. In the details, you can see an estimate of how many credits it will take to complete each service, with the total estimate displayed in the top section, along with your current balance and an INCREASE button to purchase credits.

After purchasing the credits and verifying everything is in order, you will see a green dot next to the app icon. The translation service will start working in the background, scanning your project and delivering new translations as soon as possible. Now, you and your team can focus on other important tasks while localization is up and running. πŸ’ͺ

article-image

βœ”οΈ Conclusion πŸ”—

Localization is not just about translating languages but also about improving the quality of the products and services that are being translated. And that takes time and effort. With Localazy's automated features, you'll be able to make this process a lot easier.

Are you ready to set up your first Automated Workflow? Or would you rather automate human professional translations? Sign up, choose your approach, and never worry about translations again!