I'm in the process of speccing out a new Hubspot website design & build that will require 3 different regions: US, EMEA and APAC. All will need to be written in English and run on the same domain. The regional differences are mostly around product offerings and legal terms. For example, in APAC certain products/services aren't relevant and shouldn't appear in the main navigation. There will be some pages/sections which will be consistent across all sites, such as contact us and the blog.
I don't think Hubspot's multi-language feature is right for this, so I'm wondering if the community had any thoughts on the best way to approach it? Initially, I'm thinking that we'll need to treat the main content pages as separate pages (in folders) and use the US as the global language. For example:
US domain.com/ domain.com/products/ domain.com/about/
If you have specific questions or roadblocks you're working on, please let us know. The more information, screenshots and details you provide, the better the Community can assist!
It went live a few months ago. We ended up with a slightly clunky but effective solution which used Hubspot's Multi Language translations and Hubspot's Smart Content.
We had a couple of key problems that we needed to solve:
Each region uses different terminology, therefore need a different header bar/navigation, footer etc.
We wanted users to be prompted to switch region if they arrived at a page that didn't match their current region.
We're using translations for each language:
en-gb is used for EMEA
en-us is used for Americas
en-sg is used for APAC
My templates use the following logic when I want to display regionalised content for headers, footers etc:
{% set language = content.language.languageTag %}
{% if language == "en-us" %}
{# Americas content goes here (via an include) #}
{% elif language == "en-sg" %}
{# APAC content goes here (via an include) #}
{% else %}
{# EMEA content goes here (via an include) #}
{% endif %}
We then used Hubspot's Smart Content to display a pop-up modal for users outside of the region they're currently viewing. We have 3 options for the smart content, based on country. This where it got a bit clunky. Choosing all of the countries that fall into each region took a bit of time. The modal is embedded into our footer. Here is an example of the smart content that's rendered for EMEA:
{% set page_lang = content.language.languageTag %}
{% set user_region = "en-gb" %}
{% if page_lang != user_region %}
{# Display Region Modal #} {% endif %}
The above code sets page_lang to be the language tag of the current page translation. The user_region variable is set to en-gb because this code is only triggered for users in EMEA via the Smart Content rule. We then run a check to see if they match. If they do, we can assume that a user from EMEA is view an EMEA page – perfect. If they don't match, there's a strong possibilty that they're viewing a region that's not relevant to them, perhaps through following a search engine result or other link. We can then prompt them to switch using the modal. We then set a cookie that remember's their choice so they're not prompted again.
I've kinda simplifed this to give you a top-level overview. As I say, it's not the most elegant solution but it works quite well and it solves the problem of users straying into regions that aren't relevant to them.
Here's the site running:
https://www.opus2.com/ < If you're not in EMEA, you're prompted to switch to your region.
Once you've picked a region, you're not prompted again, assuming you have cookies enabled. Obviously, this check runs site wide, not just on the home page. You'll see that users can switch region in the footer. We haven't used Hubspot's language switcher.