Transifex

  • Documentation
  • FAQ
  • Translating Content

Translating Content

No, they don't get paid by Transifex. Professional translators are paid by the company they work for.

If you’re looking to translate a public project on Transifex, check out our Getting Started Guide for Translators.

If you’re looking to translate a private project, please contact the Project’s Maintainers and ask them to invite you to the team that’s translating the project.

Requests to add a new language to a project are not always accepted. This is a decision made by the project's Maintainers and may have happened for a number of reasons. Here are some common ones:

  • A project maintainer decided to not support that language due to the lack of interest in the product from users who speak that language.
  • There were not enough translators who volunteered to translate the project to that language.
  • Another variant of that language is already in the project. In this case, a project maintainer might want to avoid translating the project to two similar languages, e.g. Danish and Danish (Denmark).

If you would still like to request a language be added, or better understand why the request was not accepted, please message the Project Maintainer or Organization Administrator directly.

Transifex lets you watch (follow) projects you're working on and get notified whenever one of these events happen:

  • A new source file is added.
  • An existing source file has been updated.
  • A source file has been deleted.

To watch a project, select it from your dashboard and click the Watch icon in the header, above the Translate or Live button.

Explanation

If you try to translate it in a target language you may get a message in Transifex's Web Editor that states:

Error: The expression "% o" is not present in the original phrase.

The pattern that triggers this message is a percentage sign followed by a whitespace and a letter that is different from the one in the source string.

Let's say you have a source string that is "99% done". Why does the editor think that the phrase is something that must be present in the translation?

The "%" symbol has a double usage. It can work as a variable substitution specifier or it can be a percentage.

In some file formats, a space between "%" and a valid format specifier does not cancel the variable place holder. That means that the phrase "99% done" is identical to "99%done".

In the first case "%" is used literally whereas in the second case it is used as a placeholder (%d). Unfortunately, there's no way to tell which is the case so it is always considered a placeholder. This is a known issue with formats specifiers in many programming languages.

A placeholder should preserved in the translation as is. So, since the phrase "% d" is considered to be a placeholder this is why the Web Editor complains and tries to tell you that you need to preserve it in order your translation to be correct.

Solution for Admins

There are three solutions to this error:

  1. If you're an Administrator, you can change the translation check "Variable substitution specifiers (like "%s") are preserved in the translations." to act as a Warning. From the Settings tab on the Dashboard → Translation checks. By doing so, you will be able to save the translation. If you use a PO file keep in mind that you are not able to disable that check if the string in your source file is flagged as "#, python-format".
  2. If you want to use the "%" literally as a percentage, you can explicitly escape it. That said, you just need to precede it with another percentage symbol in the source file.

    Example:

    "99%% done."

    Doing so the editor won't complain about the expression "% d", it will only complain if the expression "%%" is not present in the translation. Your framework probably supports "%" escaping.

  3. Finally, the last solution will let you use the "%" both as a placeholder and a literal symbol as desired each time. Additionally, the functionality of the translation check for the placeholder will not be affected. So it's a good solution regarding every aspect.

    You can try to modify the string in your source file with the following way:

    "%s done."" % "99%""

Since all modern web browsers and operating systems have built-in spell checkers, we've left this functionality to them.

To add spell checking for different languages, please see the documentation pages for Chrome, Firefox, and Internet Explorer.