In-App Translator

All our SDKs come with ability to provide in-context translations.

Enabling Inline Translation Mode

You can enable inline translation mode by calling a JavaScript function from our client library (included with all SDKs)

Tml.Utils.toggleInlineTranslations();  

Alternatively, you can toggle the inline translation mode using a shortcut key: Ctrl+Shift+I

Translation Status Indicators

When inline translations are enabled, you will see all of the text on the site highlighted with different colored lines.

Red color indicates that the phrase has not been translated yet.

Green color indicates that translation suggestions are available and the highest ranked translation that meets your application criteria is automatically used.

Yellow color means that there are no translations in the current language, but there are translations in a fallback language, and the highest ranked fallback translation that meets your application criteria is automatically used. (Requires additional configuration)

Blue color means that the translation has been reviewed and locked by your team's proofreader or has been received from a professional translator. The locked translations become your application's translation memory.

You can provide your own decoration styles by overriding the following CSS classes:

<style>  
  .tml_not_translated { border-bottom: 1px dotted red; }
  .tml_translated { border-bottom: 1px dotted green; }
  .tml_fallback { border-bottom: 1px dotted #e90; }
  .tml_pending { border-bottom: 1px dotted #e90; }
  .tml_locked { border-bottom: 1px dotted blue; }
  .tml_language_case { padding:3px; border: 1px dotted blue; }
</style>  

Submitting Translations

If a phrase has not yet been translated, you can submit a new translation by right-mouse-clicking on the label underscored with red line. This will bring a translator popup that displays the original phrase and allows you to enter a translation.

You can click on any of the suggestions, which will copy the suggestion to the input box. Once you submit a translation it will immediately appear on the page.

If a phrase has already been translated, you can view its translations and choose the one you think works the best. Your app translators may view, submit and vote on translations. Your proofreaders can also lock and unlock translations.

If there are no locked translations for a specific phrase, a top ranked translation which meets your application threshold criteria will be used. You can disable this behavior in application settings and only use locked translations.

When translation is locked, it will always be used no matter if there are translations of higher ranks.

Reporting Translations

If you see a translation that uses inappropriate language or abusive, you can report it using the link with the exclamation icon. Once translation is reported, the translator will be put on a watch list and the app administrators will be notified. The translation will be immediately down-voted by 100 points and will be removed from your site. If necessary, app administrators can remove all translator's work or even lock him out of the system.

Translation Context Rules

If your translation depends on specific values of any of the tokens of the original label, you can either provide a single translation using TML, or you can provide multiple translations where each translation will be set for a specific context rule.

You can choose any rules that may apply for your translations. Once you submit the rules, all permutations of the rules will be generated and you can provide the translations according to the rules of each rule combination.

This approach may be the best solution for some languages, like Hebrew and Arabic, where it could be challenging to provide a TML translation for all rule combinations because of the mix of Right-To-Left and Left-To-Right parts in a single sentence.