This was my first experience in testing localization of a web app. In this blog post, I decided to capture some things I learned that I could use in the future. I included the most common types of issues related to translation, things that helped me to understand risks and expected behaviour, some useful links and examples of translation problems.
Where to start
1.Understand testing mission and start asking question. Here are some important things to understand or ask if there is not enough clarity
- How much time do we have to build and test localisation?
- What is the scope? What are the parts of the product that must be translated and tested? For example, do we translate absolutely all pages and user flows including areas related to 3rd party services like authentication, tech support, and emails?
- What is out of scope? What is out of scope for the current stage of the project?
- What is the plan? Do we break down the process into several phases? Some might be translated in the next phase of the project.
- Do we have enough resources (testers) to complete testing within the planned period?
- Web app/website localization is usually a combination of automatic and human translation. What translation service do we use and how does it works? Who will be our translators and how they will work, and help us fix issues?
- What testing environment we will be using?
2.If translation is available in testing environment, start from simple things. Do not wait until you clarified all questions.
I started going through the most common user flows. Immediately I came across multiple pretty obvious translation issues. Reporting first bugs helped me collect new questions and understand gaps in my knowledge. Sometimes, I was not sure what is expected (e.g. should this be translated or not?). I raised those questions in the meeting or did my research
3.There are always materials online shared by people who did localization testing before you.
I started to build my knowledge base, capture notes and links. I use markdown notes every day in my work. On the first day of translation testing I created MOC (map of content) for all my notes related to this task and started to capture all the information I came across, risks and my own testing ideas.
I will provide below some useful links I googled which helped me to learn from other testers how to test better and what kind of risks to consider.
Most common translation issues
I’ll try to outline below the most common translation issues based on my experience in this project
- Selected language is not preserved when user navigates to another page. For example, you selected French language on Home page, then navigated to sign up and now the page is displayed in English.
- Broken UI. For example, translated text quite often is longer than original. Thant can cause visual issues, like too big buttons. Also, translation tools for web apps often manipulate DOM to inject translated text. This can mess up with CSS and again cause visual issues.
- Some text is not translated. Sometimes it is an entire page or just a section or text inside components/elements. Breaking down UI into pieces helps to understand what are the elements which should be tested for translation. For example, iframes, dynamic content, interactive elements, like calendar pickers, dropdowns, filters, pagination, cookies consent banner, notifications, error messages etc.
- Not translated content in other types of media and resources: videos, audio recordings, text in images, file attachments.
- Static exceptions. Some text should not be translated. For example, organisation names, metric units, currencies, names of the apps ("Microsoft teams"), etc. It is very helpful when developers, translators and testers have a shared document or requirement with a list of exclusions from translation.
- Dynamic exception. For example, user content like comments, names or titles, etc, entered by users. You probably do not want "Tiger Woods" translated to French as "tigre les bois"
- Incorrect behaviour of search fields and fields with suggestions.
- Dates.
- Punctuation. For example, in French, inverted commas
" "
are not used in quotes. Instead,« »
"guillemets" are used as quotation marks. There are specific rules for each language. It is better to be aware of them. - " Automatic translation is incorrect". In many cases, machine translation does not translate correctly in a specific context. This is where human translators should fix the issues. Ideally, all machine translations should be reviewed by translators and necessary amendments are made.
Other translation issues, risks
I will just list the other important areas to pay attention to.
- Consistency.
- Grammar, spelling, punctuation, and typos.
- Handling of non-latin characters.
- Handling of text, copying/pasting.
- Issues related to cultural context.
- Accessibility
- Security
- Performance
- Compatibility