Transifex Manual History

Transifex is a third party translation platform used by Waze.

  • General Transifex Structure
  • Overview of Main Transifex Projects
  • Translation Memory
  • The translation editor
  • Editor Modes
  • Getting to know Waze parameters
  • Some more tricks!

General Transifex Structure

Project -> Resources -> Strings

Strings - the text units that should be translated. A string can be a word, sentence or paragraph. There are no limitations on a string’s length.

Resources - A source text to be translated along with it’s translations. The resource contains all the strings that belong to that source text.

Project - A container of one or more resources that usually share the same topic + a set of languages they are translated into.

For example: the project Waze App translations has 5 resources. The common topic for all 5 is that they relate to the core application services. This project contains the following:

1.Client strings resource -has all the strings related to the Waze app (core Waze)

2. Core Server Strings resource - has all the strings related to the Waze app (Core) that come from different servers (like the routing server).

3. Places category resource - has all the strings related to adding a place to the Waze map and the different categories you can tag a place as.

4. Search categories resource- has all the strings related to the different search categories in Waze.

5. Usage description resource- system permission requests (only in iOS).

We can compare this structure to a filing cabinet. The project is a drawer, the resources are the different folders in the drawer and the strings are the pages in each folder.

Overview of Main Transifex Project :

Core user communications - has a push messages resource and an engagement messages resource (includes strings for banners, takeovers, encouragement, ETA pop ups, ETA cards). Both resources are related to features of the Waze app (non Carpool). This project is translated to all 54 Waze languages.

Waze App Translations - has resources related to the Core Waze app. Is translated to all 54 Waze languages.

Waze mails - has emails for Waze Core. Is translated to all 54 Waze languages.

Waze Web Translations - has resources related to the Waze website (non Carpool) and other resources like inbox messages and different types of server messages. Is translated to all 54 Waze languages.

Translation memory

The Transifex translation memory (TM) is a feature that helps save time for translators and prevents them from needing to translate a string again if an identical one exists. It works as follows: each time a translation is saved, it’s added to a database. The database collects the source string and it’s translations. When new strings are uploaded they are compared against the existing ones to see if there are similarities. If a new string is identical to an already translated existing string, then the existing string’s translations are automatically applied to the new string by the TM. If there are strings that are not identical but are similar then they and their translations are displayed in the suggestion tab for the translator to consult while translating.

The translation editor


The translation Editor is made of a few areas:
1. Filters

This area of the editor allows the user to filter the text by many parameters:

Main filters: show all strings, show only untranslated strings, show only unreviewed strings.

Text filter: search by source text, translation text, text that doesn’t contain a certain word or phrase and a translation text that doesn’t contain a certain word or phrase.

Status filter: search only translated or untranslated texts or only reviewed or reviewed texts.

Tag filter: search for strings with a specific tag or for strings that doesn’t contain any tag or any specific tag.

Users tag: search for strings that were translated or reviewed by a specific user.

Date tag: search for strings translated before or after a certain date or for strings that were uploaded for translation before or after a certain date.

Label tag: allows the user to search for strings with the following characteristics:

Issue - search for strings with no issues or with open or resolved issues.

Translation checks - search for strings that have no translation checks problems, strings with all translation checks problems or for strings with either the warning or error translation check problem.

Pluralized - search for strings with or without pluralization.

Screenshots - search for strings with or without screenshots.

More tag: allows the user to search for strings with the following characteristics:

Key - search for a string by key.

Key doesn’t contain - search for text that is not contained in a string’s key.

Comment - search for strings with comment, either all comments by searching for * or by entering a specific comment. Use double quotes for whole word match (e.g. "term") or brackets (e.g. [term]) for exact match.

Instructions - search for all strings with instructions by writing * or for specific instructions. Use double quotes for whole word match (e.g. "term") or brackets (e.g. [term]) for exact match.

2. Strings list

The string lists displays the list of strings according to the filters chosen. The English text appears on the left and if a translation exists it appears opposite it.

A string that has a grey dot next to it (to the left of the source text) is an untranslated string.

A string that has a blue dot next to it is a translated string that hasn’t been reviewed.

A string that has a blue check is a string that has been reviewed.

If a string has tags or is mapped to a screenshot, then additional icons will be displayed next to the source strings.

3. Source text area

The source text area is where the string that needs to be translated is located. If the string is translated there is an additional information like who translated / reviewed it and when.

If the string has instructions they will be displayed in a separate section directly under the source string area.

4. Translation box

The translation box is where the translation of the source string is entered. There are two buttons in it: save translation and review. If a string is already reviewed the “review” button turns to “unreview”.

If the string has character limitations then they are displayed inside the translation box to the left of the buttons.

The actions toolbar is above the translation box. Available actions are:

  • Copy source string (first to the left)
  • Revert translation (3rd from the left)
  • Add special character
  • RTL - switch right to left writing

The actions toolbar also displays the plural toggle buttons for strings that have plural forms.

5. Context area

The context area contains more information about the string. This is where the string’s key is displayed and also a screenshot if one is available (clicking on the screenshot will open up a bigger picture of it). If the string has character limitations they are also displayed there.



6. Additional (Other) tabs

Transifex has more tabs on the right hand side of the screen or beneath the translation box depending on the screen size (if the additional tabs appear beneath the translation box, then the context area becomes one of the tabs).

The tabs are as follows:

  • Suggestions - this is where Transifex displays strings that are similar to strings that were previously translated along with their translation. The suggestions are sorted from the most to the least relevant. A string that is completely identical will be displayed as a 100% match. The translator can use the suggested translation by clicking on the “use this” icon (is the second option from the left that appears when you put the cursor on the suggestion).
  • History - shows the previous translations that key had.
  • Glossary - shows information about any glossary terms found in the selected string.
  • Comments - a place for translators to talk to each other or raise questions. To address a specific user write @username for example: @miked01
  • It’s also possible to open an issue and that will send an email to the project maintainers. If opening an issue, make sure to also tag the users you want an answer from, to make sure they get it (in case they are not maintainers).

Editor Modes

The transifex Editor can be used in regular or raw mode. In regular mode the editor displays the parameters in the text (both source and translation) in a protected way. Each parameter in a string is numbered and to add a parameter to the translation it’s necessary to click on it.

In raw mode the editor displays the parameter as it is in the actual source text. It can be added to the translation by clicking on it or by writing it.

To switch between editor modes:

  • Click on the gear icon on the top right side hand of the screen.
  • Click on “editor preferences”
  • Enable raw editor mode

Getting to know Waze parameters

Parameters are used to store information and to label data with a descriptive name. They are sometimes referred to as variables or place holders. While the app is running the parameters are replaced with the actual data stored in them. It can be a user’s name, date, route etc..

Parameters shouldn’t be translated and should be copied as is from the English text. When translating emails or UComms to RTL languages parameters can’t come at the beginning of the sentence since it usually breaks the RTL.

Different format of parameters used in Waze
Client (Rider / Driver )

mostly use %s , %d. Sometimes also the following formats are used: <PARAMETER> , {0} {1} {2}. %n is used in the client to represent a line break.

%s is usually replaced by a string and %d is usually replaced by a number but that is not a must and developers sometimes use them interchangeably. These types of parameters are “non named parameters”. That has implications for instances where a sentence has both %d and %s parameters. For example: %d min extra (%s)

In these cases the client expects the parameters in the translations to be in the same order as they are in the English text.

Parameters that look like this: <NAME> (between <>) or like this: {0} {1} {2} are “named parameters”. If there is more than one of them in a sentence, their order can be changed to suit the language. For example: Can <NAME> ride with you <DAY> morning? View ride details.

Here the translation can have <DAY> before <NAME> to suit the translation.

The same is true of parameters like {0} {1} and {2}. If there is more than one of them in a sentence their order can be changed to suit the translation.

Example: Source string: A newer version of Waze is available. Please go to the %s to perform an upgrade. Translated string: Una versión más nueva de Waze está disponible. Por favor ve al %s para realizar la actualización.

WEB (Website / Waze Map Editor)

The web texts are all named. Their format is %{parameter} - % symbol followed by an opening curly bracket, the parameter’s name and a closing curly bracket.

They should be copied as is from the English text and if there is more than one of them in a sentence their order in the translation can be changed.

One web resource uses the following parameter format: {{ .parameter }} - two curly brackets followed by a space, a dot, the parameter’s name, a space and two ending curly brackets.

Emails

The parameters in emails are also named. Their format is as follows: ${parameter} - dollar symbol followed by an opening curly bracket, the parameter’s name and a closing curly bracket.

Some more tricks:

Untranslatable strings

There are Strings that can not be translated, and need to be directly copied from the English source text.

Untranslatable strings are marked by a red ‘notranslate’ tag.

Tip! To quickly copy these strings, click on the copy icon that appears at the top right side of the translation box.

Transifex manual 3.png
Units of measurement

Units of measurement can not be changed from the source language, please do not convert any units of measurement to any other unit measurement.

New Line

⏎ = New line

If ⏎ appears in the source string, press enter and begin a new line.

HTML tags

Strings with HTML tags should be translated, and the HTLM tags should remain in the same place.

Example: Source string: Select <b>Privacy</b> / Translated string: Seleccina <b>Privacidad</b>

No Exrtra Spaces

DO NOT press enter or space at the end of a string. This causes an error message and you won’t be able to save the string.

Have Fun!

We want all our translators to enjoy the process of translating for Waze and be sure to reach out with any questions.