Assigning Taxonomy Terms Based on Locale

Overview

This solution sets up a Taxonomy called “Region” that contains a list of countries, and each country has term UID. Then an Automation is created that does the following:

  1. Listens to the “Create Entry” event for a particular content type.
  2. Sets up mappings from locale codes to country term UIDs.
  3. If the country does not have the mapping, it will set the default term UID as 'usa'.

Example: Country “Netherlands” term UID is netherlands.

Tactical Rundown

  1. Create the following Taxonomy in a stack:
    Click to enlarge
  2. Create a Content Type which also has the Taxonomy field where the locale can be stored.
    Click to enlarge
  3. Create an Automation to fill the Region term based on the present entry's language.
    1. With the Contentstack connector create an Entry Trigger for any new entry created based on the particular Content Type.
      Click to enlarge
    2. Use the CodeBlock connector with the following JavaScript Code:
      const mapping = {'sw':'sweden', 'en-us':'usa', 'en-uk':'england', 'nl-nl':'netherlands', 'de-de':'germany'}; return mapping[input.locale] || 'usa';
      Here's how it looks:
      Click to enlarge
    3. Use the HTTP connector to update an entry based on the localized country of the entry.
      Click to enlarge

Examples:

  • When the entry created in default locale, the term is set as “usa,” and when the entry gets localized into Dutch, the term is set as “netherlands.”
  • Based on the above automation steps, when the entry is localized in Germany, the term is automatically added.
    Click to enlarge