Final Report - The PrestaShop Project
This contribution reflects my final report for the PrestaShop Project, I will try to highlight the most important information about the whole work that I did on this project. In addition to the issues I faced while working on the project. I also believe that this report can be of huge help to all translators and language moderators out there who are working on big projects, and as I already mentioned before, I will link this report to the PO and managers since their cooperation is really important to solve many issues and enhance the quality of the translation.
PrestaShop is what we call in the world of the open-source development, a freemium solution. A gamer myself, I believe that most gamers out there know very well the meaning of freemium games/software. (1) But this is not the case here, because we are dealing with something totally different. I personally did not know that we can pair the concept of a freemium solution/product, with an open source e-commerce. First, to make things clear, let’s start first with the official definition of this platform directly from the company itself, and the information is as the following: (2)
“PrestaShop is an efficient and innovative e-commerce solution with all the features you need to create an online store and grow your business.”
And according to the website, this platform aims for one important thing which is “Our mission is to develop world-class eCommerce software through open source innovation. Together with our community, we provide software that enables everyone to have a successful eCommerce business”. (3)
And this is exactly where things get interesting, PrestaShop does not have something really revolutionary compared to the other FOSS that I worked on. But by digging deeper, I discovered that this project has something that not all the projects I've worked on have. A big and dedicated, diversified and loyal community. The project on Crowdin has over 240k words now; but still, people are competing me in finishing the translation of my own language, which I personally find very great and very encouraging.
Projects are always easier to tackle when there is a huge community around it. I am pretty sure that at the time of writing these words, strings are being pushed for my language. The sense of collectivism is really strong around this project, and I really wish all projects hade the same dedication from the PO. With approximatively 200-250k shops around the world, and used in more than 163 countries, with more than 60 languages available. (4)
This platform is really a big player in the field of the eCommerce industry. PrestaShop has also more than 300 built-in features for managing the product lists, payments, shipping, manufacturers and suppliers. In addition to this, it uses a web template system that allows users to customize their stores and add new features by adding the add-ons. (5)
One other interesting thing I stated above is that the platform proposes and I quote “A Powerful Freemium Open Source Solution with International Reach”. The company is really trying all the possible capabilities and services to enhance the experience of the users/customers, and at the same time, the profitability of the stores. To find our way in this maze, I will directly quote the point of view that the company stated about this model: (6)
"With its completely free solution that is available for download, PrestaShop offers endless opportunities to help merchants succeed! The company has teamed up with more than 80 industry-leading partners, such as PayPal and OVH, and offers 3,500 modules for payments, logistics, sales promotions, and more, all aimed at improving a store's features."
The PrestaShop is one of the biggest projects available for translation, with a total word count of 242 946. Although the project is not really hard and can be easily translated by everyone, the strategy and methodology that the translators and proofreaders are going to use to finish the project, can in the other hand, transform the whole experience to a pure nightmare for everyone. I will try in this segment to list a few of the most important problems that are mainly related to the translation, hoping that this will make things easier for people who are facing the same issues.
Firstly, we can say that the first issue that I face when I start working on any specific project, is trying to find out how the project is dealing with the gender concept. Especially, how the project is using the gender characteristics to function normally. For instance, my native language, as probably most of the Semitic languages, deals differently with the gender concept while translating a project since the whole text can be very affected. Thanks to our meticulous language moderator @libanista, we decided to start a real discussion about this problem to find a solution for it. Or at least to create a methodological system that we can use to approach this issue in the future. The reason behind this is that it is almost impossible to work on a project without having a clear idea about how to deal with genders.
I believe that I already highlighted this problem in one of my old contributions, and tried to explain the issue profoundly for the readers. And I will try in the suggestion section to demonstrate the approach that we used to deal with the gender problem. Below is a simple table that describes how difficult it is to deal wiht and incorporate the proper intended gender in the target language.
|1 Person (M)||You||Need||أنت||تَحْتَاجُ|
|2 people (M)||You||Need||أنتما||تَحْتَاجَانِ|
|3 people (M)||You||Need||أنتم||تَحْتَاجُونَ|
|1 Person (F)||You||Need||أنتِ||تَحْتَاجِينَ|
|2 people (F)||You||Need||أنتما||تَحْتَاجَانِ|
|3 people (F)||You||Need||أنتن||تَحْتَجْنَ|
Secondly, I am sure that the problem with the overall cohesion was the most difficult problem to deal with. Before I start working on the PrestaShop project, I was able to review a few contributions done by our translators on that project. I remember that I always told my translators to present something that is consistent with the older translations provided by the other translators. Specifically, the importance of giving special care to the approved translations by the proofreaders since they are the people who are supposed to know what is best for the project.
The first round was not really good, I was in a situation where the translators in my team were pushing wrong translations, not because they wanted to or did not know how to translate, but just because there are many approved stings that contained many wrong translations.
I found out a few weeks later when I started working on the project, that the whole project is completely rigged with incoherencies. The project itself is really easy and fun to work on and has a huge community of dedicated people. However, the proofreaders did not do a very good job to maintain the overall cohesiveness. The project now has many situations such as having 3 or 4 different translations for the same string or word, all of them approved. Some of the strings are completely wrong yet they are approved. I believe in the end that this situation played a domino effect on the project since other translators started to randomly use translation memory of the previously approved bad strings.
The problem with the overall consistency and cohesion was time-consuming and very hard to deal with, especially that this project is quite big. I did end up trying to uniform thousands of words without really using them for contributions. But there is a reality that we need to understand here, I was well aware that my interventions can be seen as trivial if the people who are doing the proofreading are going to make the same mistakes again. Hence the idea behind a solution that we decided to create as a team for the project' proofreaders, and anyone who may be interested in working on the project in the future. In the suggestion section, I will try to explain the few steps that we did to present a solution to the PO.
In this section, I will try to explain a few things that I did with my team in my aim to overcome many issues that we faced. Nonetheless, these suggestions should be taken very carefully and with caution since each project can have different characteristics as we are going to see with the gender questions. I personally consider working on a project as having a workshop, where people learn new things and try to find solutions to other things. The whole thing, in the end, should be documented as people out there can use and benefit from our experiences in dealing with unforeseen problems that can pop-out at any moment.
As I mentioned before with the gender question, we tried to find a unique solution and system of working that we can use on projects without having to struggle again. We actually ended up with many possibilities that we should take into consideration while translating to capture the meaning according to each context. To make it short, here is a list of the important things that people should pay attention too if their language has the same similar properties as the Semitic languages:
- First, we have a situation where it is almost impossible to tamper with the gender. I believe many other teams faced the same issue while working on the Curious Expedition Project. If the gender is set as a variable, the translator must take this into consideration because the player is the one responsible for choosing the gender of his character. In addition to this, the translator must contact the project owner to see if he does not have any issue with adding more variables to describe the differences between genders since the gender choice will affect the whole string syntax. Working on this kind of projects can be very tricky and will for sure need the cooperation of the project owner and managers. Fortunately, the managers of the CEP were very helpful, and provided us will all the key information that we needed. They even told us that they can change the code of the game if it was needed for a perfect translation. In this case, the translation of the project can be difficult, even if the language used in the project is really easy to translate. This case also shows the granularity of freedom, the translator has, to deal with the gender question since everything is predefined according to specific variables. Hence, the translator should never hesitate to investigate the situation, before he starts working on the project. The translators should also understand that managers are not experts in all languages, meaning that managers can't find the solution to all translation problems.
- Second, We have situations where it is mandatory for the translator to investigate the context. Most of these situations can be found on eCommerce and eGovernment projects, hence the importance of always paying attention if the string aims to speak about a specific gender. The translator will also need to know if the strings that offer no gender indicator are linked to other strings that deal with a specific gender.
- To conclude, we have a case where the project does not give a gender indicator at all, which means that the project can be translated with only one specific gender. This is why we decided to only use one specific gender in those cases or 1 person 'M' (look at the table above). That being said, translators should always pay more attention to the fact that the strings do not contain any form of plural references, because "You/your" can also refer to a group of people.
We can move on now to the cohesion issue. As I mentioned above, to deal with the overall cohesion issue, I contacted the managers to share my concerns. The project contains a very high level of inconsistency and thousands of approved strings that are clearly incorrect (Google translation). The fact that many bad strings were approved has severely affected the project as users are now using translation memory suggestions for their translations. In addition to this, and I really think this is the root of the problem, the proofreaders are not working uniformly. I believe that everyone has his own style of writing, and many different words can in some cases reflect the same thing. But if people are going to work in one single project together, they will for sure need a clear framework to avoid cases of inconsistency.
Thankfully, I received positive feedback from the project managers telling me that I can correct the incorrect strings even if they are approved. Which I did to a certain level since the project is really big. But to overcome the eventuality that the proofreaders are going to approve non-uniform strings/words. I decided to create a table that managers and proofreaders can refer themselves to, in order to work in perfect harmony. I also want to thank the second moderator for helping me to detect the anomalies to list them in the table. Everything was honestly very difficult. If the string were not wrong, I hade on many occasion to choose between 3 choices that are all correct. The current state of the project is not really encouraging, and as I said, I am ready to help to uniform the whole project as long as all proofreaders start working according to a unique framework, hence the goal of the table below.
[The table below is only unique to the PrestaShop project]
|MB - Megabyte|
ميجابايت - ميجا
المنتج - المنتجات
المستودع - المستودعات
Even though I am well aware that more words can be added to be properly unformed, I believe that this can be a good start since I lost many hours trying to solve this puzzling issue. All the translations that I provided can be regarded as very accurate, and I am sure that people can use them as a reference for their future endeavor to make this project great again. Honestly, the project needs a serious language tweaking to reach perfection. I also have a strong believe now that a perfect translation for a project can never be achieved if the project owner and managers are completely absent, a subject that I will try to cover very soon in a future contribution.
- This contribution contains segments from my older contributions.