The technical implementation of internationalization in e-commerce: what is the best way to go about it? In the second part of our article on the shop software Magento, we focus on the problems that can arise when working with Magento and how to avoid some of the pitfalls. We also answer the question of how suitable Magento is for multilingual e-commerce projects.
Challenges and Technical Limitations
Based on what we learned in the first part of our Magento article, the shop software seems to be very well thought-out and well developed. The developers at Magento have obviously put a lot of effort into developing a system that is perfectly primed for multilingualism and cross-border commerce. However, Magento retailers too are confronted with problems and challenges in everyday use. We would like to introduce you to some of these problems, all of which can be attributed to very different causes:
Special Linguistic Cases
Most languages function according to similar principles and can be integrated seamlessly into Magento. For the widely used languages in particular, it is often enough to simply install a well translated language file. But the more complex or “exotic” a language, the more complicated it becomes. As an example, Magento recognizes only three shopping cart statuses: there are no items, there is one item or there are several items in the shopping cart. There are, however, some languages that use multiple plural forms that cannot be reproduced using these three shopping cart statuses alone. Languages with unusual sentence structures face a similar problem. While placeholders can be moved around relatively freely within a sentence in Magento, you cannot just divide them up however you like. Editing the codebase is the only real solution to this problem. Another problem is that of languages that make use of multiple forms of address. The best example of this is German with its informal “du” and formal “Sie” forms. As Magento only supports one set of language files, the retailer has to decide on one of the two variations.
CMS Pages Require a Lot of Manual Work
One linguistic problem that users are confronted with is completely of Magento’s own doing. Magento does not support language variants for CMS pages. While you can translate a product for all configured languages without any problems, CMS pages are not equipped with the same potential for multilingualism. If you want to display your “Legal notice” page in five different country shops, for example, you have to create five individual pages, fill these with the target-language text and then assign them to the corresponding store views.
In addition, care must be taken to link the pages correctly. When changing languages, Magento does not normally change the URL key, it simply switches to the other language variant and retains the URL key (i.e. the file name). So if a customer changes to the German version of the “Legal notice” page from the English website, he or she will most likely end up on a 404 error page, because the German page is not called “Legal notice” but “Impressum”. Therefore, a redirect must be added to the CMS page from every language into every other language. This can quickly become confusing in shops with a large number of language variants. If you want to avoid this, you can give the pages the same page name in all languages, but this will give you problems with search engines. Rico Neitzel, who is regularly confronted with this problem, notes: “Magento is not a CMS. That’s just a fact.”
Problems Exporting Language Files
Rico Neitzel is all too aware of another Magento feature that has attracted criticism. In Magento 1, all used language files, including those from third-party modules, were stored in a special folder. Translating the entire shop was simply a matter of sending this folder to a translation agency. Since Magento 2, however, this central file repository no longer exists. This makes things easier for programmers because they can organize the language files according to their needs. It means a lot of extra effort during the translation process, however. Magento does allow you to export all texts in a CSV file. However, the content of this file is not structured. For large projects it is near impossible to attribute context to the individual segments of this huge file.
To top it all off, Magento also exports the system language. In most modules, the system language is English, but other languages can sometimes be found in the mix. Büro 71a has developed a solution on behalf of Eurotext AG, that at least partially addresses this problem, but the current status is not yet ideal.
Should You Translate Images?
Regardless of the shop system, one major translation challenge that many retailers forget about is images. Modern shops often harbor huge quantities of images. And it is not uncommon for them to contain text: banners, buttons, photos with integrated product names, warnings, dimensions. Some of these things need translating, others not.
There are a couple of ways to translate images: Modern translation software can process open-format data (e.g. Photoshop files) directly and JPG or PNG files can be transferred to the target language by way of a caption and subsequent post-processing.
When it comes to translation, images mean a lot of manual work.
Rico Neitzel, Büro 71a
Before you can start translating, you first need to get an overview of which image files are actually relevant for translation. The complexity of this task varies depending on the shop or content management system. Magento offers two possibilities:
- Magento has a media folder on the server side in which the images of all shops and language variants are stored. Here you can check and select images for translation file by file.
- You can also view the files in the backend. Magento does not have a directly accessible media library, but if you want to insert an image into a CMS page, you can choose from all uploaded files and gain yourself an overview in this way.
When translating images, it is important not to forget about the metadata (e.g. alt attributes). Magento allows you to assign metadata to an image in different languages. So you can use one image for several shops. It is of course also possible to use a different product image for each shop.
Problems with Caching
Magento has a reputation for being one of the more “leisurely” shop systems. The numerous customization options and the hierarchical structure simply require more resources than “rigid” systems that do not offer as many possibilities. This is why large Magento shops in particular tend to rely on caching techniques and content delivery networks (CDN) to compensate for this shortcoming.
What does all of this mean? When a customer calls up a certain shop page in the browser, the shop software usually has to evaluate the inquiry and generate the desired page. This may take a little time depending on the system, page content and request. Caching not only delivers the websites created in this way to the customer, it also temporarily stores them on the server. If another visitor then calls up exactly the same page in the browser, the shop system doesn’t have to process the request again. Instead, the cached version is delivered directly. The page is displayed to the customer faster and the server has less work to do.
However, this type of system involves certain risks – not only with Magento. If not all parameters are taken into account when checking which web page has been requested, the wrong page may be displayed to the customer. Or the right page in the wrong language. The tricky thing here is that these types of cases are difficult to replicate. When support opens the page, the incorrect version may already have been deleted from the cache or parameters on the support side may cause the page to open correctly. Moreover, these sorts of problems often only arise during live operation because caching is not used during development. This can only be avoided by careful programming and thorough testing.
Most Failures Can Be Traced Back to the Initial Concept (or Lack Thereof)
According to Magento expert Rico Neitzel, the most common and most serious problem with Magento-based internationalization projects has nothing to do with technical or linguistic barriers, but with technical ignorance and a lack of planning on the part of the retailer. Many people take a naive approach to setting up the shop and make wrong decisions in the initial phase. This is of course also related to the vast array of features offered by Magento: those who can do a lot can also do a lot wrong.
Fundamental errors in the data structure can make the expansion of a shop extremely difficult or even impossible. The subsequent correction of structural errors is extremely time-consuming and in some cases the shop has to be completely rebuilt. The recommendation is therefore: pay an expert to build up a solid shop structure from day one rather than to repair the damage later. It is definitely worth planning a little bigger at the beginning. After all, even with all the money in the world it isn’t possible to turn a wooden hut into a skyscraper if the foundation is missing.
Let’s circle back to the original question: Does Magento make a good basis for building a multilingual shop or a network of country shops? The answer is a resounding yes – but with a small “but…”
Yes, because offering products in a flexible manner is exactly what Magento was programmed for. Product ranges, prices, taxes, delivery and payment options and output language – all of these can be freely configured and adapted to specific countries, markets or target groups within the framework of different websites and store views. The clever level structure is not only reliable; it also reduces the retailer’s workload.
But… it’s also the reason why Magento shouldn’t be taken too lightly. Such a versatile tool requires someone who knows how to use it. Otherwise, you can end up doing more harm than good. What is the point of having a freely configurable shop if it is not configured to your requirements? Retailers who do not have any experience with Magento should seek professional help, especially when it comes to planning and installation.
We would like to thank Rico Neitzel from Büro 71a for taking the time to talk to us and for providing us with some interesting insights.
Last edited: 2018-01-08, Magento-Version 2.1.5
Author: Eurotext Editorial Team
We explain how internationalization works, provide tips for your translation projects and outline some of the technology and processes used. We also report on current e-commerce developments and cover a range of language-related topics.