Multi-Language FareHarbor Sites
Last updated: February 13, 2025
FareHarbor Sites can support translated content through Google Translate or FareHarbor Sites. For more information on implementing translated FareHarbor sites, reference this help page. For more information on eligibility for on-site translations, reference this help page.
Google Translate
All FareHarbor sites have the ability to add a Google Translate option. This will translate all the content on the site automatically.
Examples
On-Site Translations
FareHarbor Sites currently supports the following languages:
Catalan, Chinese(Simplified), Chinese(Traditional), Czech, Danish, Dutch, English, Finish, French, German, Greek, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, Portuguese, Russian, Slovenian, Spanish, Swedish, and Welsh.
If the client can provide translated content, we can create a dropdown menu with links to the corresponding translated versions of the site.
In order to do this, the sites team will build out the English version of the site and get it approved by the client. The WCS will create a document like this document with all of the English content from the site organized by page. This document will be sent by the PC to the client who will then fill in the translated content for each language the site will be translated into. Once the translated content is sent back to the PC, the WCS will duplicate the approved English site and will create the translated site.
FareHarbor Sites Subdirectory Translation
This form of translation involves duplicating pages within the same site and populating translated content on each individual page. The pages are then placed in a subdirectory for that language.
https://sitename.com/– English homepagehttps://sitename.com/faq– English FAQ pagehttps://sitename.com/jp/– Japanese homepagehttps://sitename.com/jp/faq– Japanese FAQ page
Examples
FareHarbor Sites Subdomain/Top-level Domain Translation
This form of translation involves building an entire site in one language, cloning the site, and populating translated content on the new site.
https://sitename.com/– English Homepagehttps://sitename.com/faq– English FAQ Pagehttps://jp.sitename.com/– Japanese Homepagehttps://jp.sitename.com/faq– Japanese FAQ Pagehttps://sitename.jp/– Japanese Homepagehttps://sitename.jp/faq– Japanese FAQ Page
Examples
While this option will provide the best translation, it means that every time the client wants to update the site they need to provide content translated in all languages.
The specifics on how to use FH Sites translations
For the purposes of the following examples, the presumption is that the primary language of a site is English. If it is not (and there is no region or language indicator in the URL), see the “Things to Remember” section at the bottom.
The Translation feature is for the purpose of helping users navigate to a translated version of the page (or site) that they are currently on. The 2 ways this works are:
- Certain pages are translated and need to link to one another
- Every page is translated, and translated pages have their own URL nesting structure that corresponds to the English site’s nesting structure
If only CERTAIN pages are translated…
If only specific pages are translated, the dropdown in the menu bar on any given page will need to correctly link to the corresponding translated page. To do this, follow these steps:
- Click the Page Options tab on the back end of any page that has an equivalent translated version
- Click the “Add New Translation” button
- In the menu that appears, choose “English – en” and the region “United States – us.” Then select the first bullet, “This Domain.” This signifies that the first item in the dropdown will say “English” and will refer to the current page.
Hit the “Add New Translation” button again to add a translation option. Select the language and the region of the translated page’s content, and then choose the translated page’s name from the dropdown. If the translated page lives on a different site than the current page, then the URL for the translated page may be pasted into the URL field.
Things to Note:
- Be sure to set the same page settings on the translated version as well, so that the user can navigate back to the English page the same way they got to the translated page.
- The FH Site builder should consider adding a custom main nav and footer menu to translated pages which would only show other pages that have been translated. If for some reason the activities are not translated, the menu should still include these for conversion reasons.
If THE MAJORITY OF PAGES are translated…
If every page on the site has a translated equivalent, navigate to the Settings > Translations Settings. This will function similarly to the Translations on individual pages, but it will create a language dropdown menu in the banner on EVERY page on the site, and will follow the nesting structure that is selected for each language.
There are two possible strategies for translating pages.
- The Onsite Translations Method: Each individual page is duplicated and translated (and navigable in a subdirectory of the root: [sitename.com/es/pagename/])
- The Offsite Translations Method: The site itself needs to be duplicated (and the content translated) and sent live on a different website (such as [es.sitename.com/] or [sitename.es/])
The Onsite method
- If the client wants to use a subdirectory for the translated language, the first step is to determine the nesting structure the subdirectory will use, and ensure the translation nesting structure is set correctly in Company Settings > Translations. Then, each translated page must be nested under the translated homepage consistent with the selected nesting structure. For instance, if the Spanish dropdown on the page [sitename.com/tours] will link to [sitename.com/es/tours], it is imperative that the Spanish “tours” page has a slug of [/tours/] and is nested under the Spanish homepage [sitename.com/es/].
- If a client wants to use translated slugs in the subdirectory, then each individual page would have to have a translation added in page settings, where the translated page is manually selected from a dropdown so that the correct page is found. This is so that if a client translates the page slugs, [sitename.com/about-us/] wouldn’t go to [sitename.com/es/about-us] where it would cause a 404 error, but instead to whatever the translated page’s URL actually is, for instance [sitename.com/es/sobre-nosotros/].
The Offsite method
- If the client wants to use a different site for translations, then the primary language site must be cloned and treated separately.
- For a Subdomain of the Root Domain
- In Cloudflare, look at the DNS settings for the primary language site. Create a CNAME for the subdomain (es) that is an alias of the root domain (@). This will ensure that a SSL Cert is issued for the Spanish language subdomain.
- For any other URL structure (such as [sitename.es/])
- The site will be taken live as a brand new site, the same as taking any FH site live.
- For a Subdomain of the Root Domain
- The nesting structure must exactly match the current site in order to use the global settings (i.e. [sitename.com/tours/10-mile-tour] will need the translated equivalent to live at [es.sitename.com/tours/10-mile-tour]).
- If the client wants to use translated page slugs, add a translation to each individual page of the primary language site. Select the language and region, but since the translated page lives on a different site it will be necessary to copy and paste the translated page’s full URL into the URL field to the right of the dropdown.
Note: To disable the language dropdown on a given page (for instance if there is no translated equivalent of this page), check the box in the Page Options that will disable the translations dropdown from appearing. Do this for all pages where there is no translated version.
Things to remember
- Ensure that the translated page/site also has translations enabled that allow the user to navigate back to the primary language content.
- If the primary language of the site is not English, and the language or region indicator is not included in the URL (“es” for Spanish, “fr” for French, etc.), then it is essential that a translation is added in Company Settings > Translations that signifies that “This Domain” is in a non-English language.
Additional settings needed for multi-language sites
These settings are collapsed in Translation Settings by default. To view additional settings per language, press the down arrow that appears in the top left corner of each language selection when hovering your cursor above it.
Post Translations
For each page, add post translations in the page options tab to make sure each language’s pages correspond correctly.
Language Taxonomy
It is very useful to create a language taxonomy for each language being used on your site. This taxonomy & its terms will appear nowhere on your site, but it is very useful for you as a builder for any activity grids you use.
- Go to Taxonomies tab & add a Taxonomy named “Language” – Check the boxes for 1. Don’t link terms to their pages, 2. Don’t list this taxonomy on activity pages & 3. Don’t list this taxonomy on activity blocks
- Create the terms for the languages used on your site, including English or whatever your main language is
- Attribute each activity to its correct language taxonomy
- On your All Activities page, or wherever you use an activity grid, you’ll now be able to select the option to “Filter by Taxonomy Terms” & select the correct language to display all activities in that language, no manual selection necessary
Other Taxonomies
Instead of creating new taxonomies for each language, you can translate taxonomies and their terms under Translation Settings. The taxonomies will show in the language that is set for each page.
Logo
You’ll need to set a separate logo with a custom link for each language on your site to ensure that clicking on the logo does not always take you back to the homepage of your main language.
- For example, if you have a site that is English and Spanish, add the logo a 2nd time, and enter /es, or whatever you’ve chosen as your slug for the Spanish homepage into the Logo Link Override field. Repeat for any additional languages.
- For each translation, set the custom logo under Translation Settings. Every page nested under the translated homepage will inherit this logo, so no need to set it at the page level.
Custom Menus & Footers
Create a menu and footer for each language and set those under each language in Translation Settings; each page nested under the translated homepage will inherit these custom settings.
Custom Banner Book Buttons
- For each banner book button you have in your original language, you’ll need to create a corresponding button under Banner & Menu > Buttons > Alternative Banner Buttons
- Then you’ll need to set the correct banner book buttons for each translation.
- You can set a Custom Banner Button and an Activity Banner Button for each language. However, you can still hide or override banner buttons at the page level.
Metadata & Related Activities
Be sure when duplicating activities that you swap out the meta title & description and Related Activities for content in the correct language.
Blog Translations
The blog can be translated into multiple languages by selecting “TRANSLATE the blog.” under Blog Options, and adding translated content. For more details about setting up translated blogs, see this help page.
Home Page Translation
The home page title should be translated to the following words for the following languages that we currently support:
- Danish
- Home – Hjem
- German
- Home – Startseite
- Spanish
- Home – Inicio
- Finnish
- Home- Kotisivu
- French
- Home-Accueil
- Italian
- Home – Inizio
- Japanese
- Home – ホーム
- Korean
- Home – 홈
- Dutch
- Home – Startpagina
- Norwegian
- Home – Hjem
- Portuguese
- Home – Início
- Russian
- Home – Домой
- Swedish
- Home – Start
- Chinese (Simplified)
- Home – 主页
- Traditional Chinese
- Home – 首頁
- Catalan
- Home – Inici
Translation project process for LIVE FH sites
Step 1: LSS, Support Agent or AM receives request for translation and posts translation request workflow in #fareharborwebsites.
Step 2: Designated translations approval PC will approve the project or not and comments as such on the workflow thread. * If not approved, LSS, Support Agent or AM will communicate this to the client.
Step 3: If the request is approved, the LSS, Support Agent, AM or whoever submitted the workflow request, will submit the Extended Updates Submission form, selecting “Translation” as the project type. Please be sure to include a link to the Slack thread with approval and the approved languages.
Step 4: The LSS, Support Agent or AM will let the client know that their request was approved and a Project Coordinator will reach out with a translation document once they are ready to start the project. The LSS, Support Agent or AM should also let the client know that in the meantime, the client can start to translate each page on the site into their approved languages.
- If the request came through support, the LSS or support agent will add the Slack link where the request was approved to the ticket as an internal note, and submit as “Solved.”
If client does not speak English AM will handle communication.
Step 5: The PC will submit a “Translation Doc Build” task. The WCS will be responsible for putting the translation doc together (adding in the English content or whatever original language content exists on the site that needs to be translated into additional languages). The PC will assist as needed. The translation doc template is here and an example is here.
Step 6: Once complete, the PC will send the translation doc to the client and wait for the client to fill in the translated content.
Step 7: Once the translations have been sent back, the PC will create another task, the actual translation task for the WCS to implement the translations on the site.
Step 8: At this point, the PC will coordinate which sprint is best for the project and change the status to Ready to Rip. The translation project gets assigned to the sprint and assigned to a WCS.
Step 9: The WCS implements translation and changes status to Ready for Review.