Localization, Part 1: How localization works in TYPO3
A lot of CMSs promise multilingual features, but the quality and range of features vary. TYPO3 comes with a full set of localization features, right out of the box, and b13 can help you implement them.
When it comes to their CMS, people often get confused about localization, internationalization, and translation—what’s the difference between the three? And which should they care about? At b13, we understand that all three terms are interrelated, so we think about it in terms of our users’ precise needs and use cases. Whether you work for a global company with multiple field offices or are launching a small business in a multilingual region, b13 can configure TYPO3 to address your translation requirements and regional needs. And with TYPO3, you get a rich set of localization features, right out-of-the-box.
A regional approach to translation
In TYPO3, when we discuss different locales, we think about region first and language second. For example, defining a region as Portugal, Angola, or Brazil matters more than selecting Portuguese as a language. The region will affect dialect choices, language fallbacks, and other elements of translation like currencies and units of measurement.
In TYPO3, we think about translation in terms of the following units:
- Labels: the default text that comes with extensions and buttons, e.g., “login”, “subscribe”, “next page,” etc.
- Text: any content you write yourself, which might require translation into different languages
- Images: assets can be switched out for other images, depending on the locale
- Regional-specific units: Currency, time-formats, and numerical formatting will vary by region.
Choose between a Single-Tree or Multi-Tree approach in TYPO3
A lot of CMSs claim they have multilingual support, but what they really mean is multisite. This can be useful, but also means more effort when it comes to maintaining different versions of your website. Depending on your business needs, TYPO3 allows you to choose between a Single-Tree or Multi-Tree approach:
- In a Multi-Tree approach, you create a different, independent website for each locale, with its own navigation menu, layouts, and page hierarchy. In TYPO3 this functions as a separate site with its own Page Tree. If you update one locale’s “About” page, for example, you’ll need to update the other locale’s “About” page separately.
- In a Single-Tree approach, different, locale-based versions of the website all live under the same Page Tree. The Single-Tree allows for connected translations, so if you update a description on one locale’s “About” page, you can update the other locales’ descriptions from within the same UI.
While multi-tree is the right choice in some cases, at b13 we usually recommend the Single Tree approach for businesses and organizations aiming to maintain uniformity across their website. The Single-Tree UI allows you to view what pieces of content have been translated, and which haven’t—a unique feature of TYPO3!
A full set of localization features
Every installation of TYPO3 comes with a great set of localization features, out-of-the-box. Through the CrowdIn translation server, the entire TYPO3 Core is translated by TYPO3’s open source community. This means that all third-party extensions and labels are translated as well. With one click, you can download a label language pack for one of the more than 50 supported languages from CrowdIn.
TYPO3 also offers different character sets and script directions so that any website can be translated from a base language like Arabic into other alphabets like Chinese, Russian, Japanese, or Spanish. Even URLs can be implemented in different character-sets.
How TYPO3 enforces good localization practices through a Single-Tree setup
Generally, the TYPO3 philosophy on translation is that, if the content is not translated, it should not be shown. In a Single Tree localization setup, your TYPO3 administrator chooses a source (default) language for your website. Each element is then connected to that source language.
TYPO3 offers several different modes of translation, which you can select on a page-by-page basis:
- In Connected mode, every element must be available in the source language first. Only translated elements in the non-source language are visible. E.g., If the source language is English but your website is also available in French, every content element must be available in English before you can translate it into French. If an element is not translated, it won’t be visible on the French website.
- Fallback mode is similar to Connected mode but allows you to set fallback languages for untranslated content, so the content elements can appear. This is useful when you have regional variants of languages. E.g. you might set German as a fallback language for Swiss German to save time and share content across some translations.
- In Free or Mixed mode, you can add any element in any language. This is great for when you need flexibility, but it’s important to preview websites in each locale to make sure key elements aren’t missing. We recommend using this when you have a locale-specific promotion or landing page.
By the way, none of these modes require any extensions—and setting them up requires very little work on your part. And with TYPO3’s built-in SEO features, search engines are automatically informed of which translations are available for multilingual content.
When you add a new language, you can make it invisible for end-users. This is useful for when you’re first drafting translations and haven’t had a chance to preview your website as a whole.
Come to b13 with your localization issues
B13 and our team members have expanded localization functionality in the TYPO3 Core and have experience creating custom localization features for our clients. For example, a recent customer with worldwide offices needed to account for multiple country websites offering different combinations of multilingual services. We built them a custom country switcher: once a user selects their country, a language switcher appears based on each country’s languages.
If you need help figuring out your localization needs, get in touch—and look ahead to our next post in our localization series, on how to set up your translation workflow in TYPO3.