What is Transifex Live?

Transifex Live is a simple way of translating websites, documentation, and web apps without needing to internationalize code or use files. Just add a snippet of JavaScript to your site, translate the content in context, and then publish translations with the click of a button. Whether you use Transifex Live or the traditional file-based approach, you can still access our translation partners and other Transifex features such as Teams, Translation Memory, and Reports.


Can I use the in-context feature of Transifex Live with file-based projects?

The in-context feature of Transifex Live only works with Transifex Live projects. However, our Visual Context lets you translate file-based content using screenshots, while our context for files feature allows a translator to see a string translated on the production/staging website.


Can I download the finished translations in a file format of my choice?

As of right now, if you use Transifex Live, you can download your translations as a JSON Key-Value file. To do this, visit your resource details page and click on the target language of your choice. Inside the popup window, click on "Download only reviewed translations". Unfortunately, you cannot use Transifex for converting one file format to another.


Will Transifex Live affect my site's search ranking or SEO?

Transifex Live serves your translated website content through JavaScript. Historically, Google has only been able to crawl and index content served through JavaScript in a limited fashion; however, in the past couple of years, Google and other search engines have made significant strides, enabling their search bots to not only execute and index JavaScript but to render entire pages, including dynamically generated content. Google has officially stated that its bots can crawl and index content served through JavaScript, and tests have verified this is true.

Knowing that international SEO is a concern for many companies going global, we've also created the Transifex Live Translation Plugin for WordPress, the largest self-hosted blogging tool in the world, which allows you to assign unique URLs to the multilingual versions of your website and also adds hreflang tags where applicable to help increase indexability in global search engines.

We also recommend using a tool such as prerender.io to help with the optimization.

If you're still concerned about how Transifex Live will impact SEO, you can run a service on your server which pre-renders the content before serving it to search crawlers. Check out our Search Engine Optimization (SEO) article for more info.


How are translations served to end-users?

Translations are served through our Content Delivery Network (CDN), ensuring high uptime and low latency. We only serve the translations, not your site. This means you don't give up control of your site to a third party, and sensitive information like credit card numbers don't pass through our servers. Your website's reliability and security are totally in your hands.


What CDN does Transifex use?

Transifex uses Fastly's CDN. Knowing that application downtime often means the loss of customers and revenue, we carefully selected our CDN to provide our customers with a high level of performance that helps prevent applications from crashing.


What impact will Transifex Live have on site speed and end user performance?

We built Transifex Live with speed and reliability in mind, so you don't have to worry about end user performance being negatively impacted. When a user visits your website for the first time, translations are fetched from the Transifex CDN and stored locally on the user's machine (saved to the cache on their computer). This way, when a user reloads or visits your website in the future, the translations don't have to be downloaded again. Translations will load faster, and overall site speed will remain optimal.

When a user fetches translations from the Transifex CDN for the first time, they may briefly see the page in your source language before the translated content appears. To avoid this translation swapping on page load, you can implement what's suggested here.


What can you tell me about the JavaScript snippet?

Our JavaScript snippet is:

  • Small, weighing roughly 22kb to ensure optimal site speed.

  • Static, meaning it's only cached after the first request and is not loaded again until changes or updates are made to your translated content.

  • Delivered through our CDN (Fastly), allowing you to serve your website using your servers.


How do you handle Ajax calls?

We do not handle Ajax content; we handle dynamic changes in the HTML. So if the outcome of an Ajax call is to display new content in the browser, Transifex Live will capture that content (e.g. a popup) and try to translate it. More information can be found here.


Do my translators have to use Transifex Live?

No, your translators do not have to use Transifex Live to finish translations and can still work in the Web Editor or download XLIFF files and translate offline. However, we recommend at least using Transifex Live to review translations in context.


Who has the privileges to manage source strings in Transifex Live and publish them?

Approving/removing strings from a TX Live resource as well as publishing translations are actions that can only be performed by administrator users and maintainers.


How much technical knowledge is required to use Transifex Live?

Only a little bit of technical knowledge is required to use Transifex Live. One of the driving forces behind creating Transifex Live was to minimize the technical effort spent on extracting content from code for translation. All you need to do is copy the JavaScript snippet and paste it into your HTML pages. It's similar to installing Google Analytics on your site. Power users who want to customize Transifex Live's behaviour can use the JavaScript API.


How do I install the JavaScript snippet?

Installing the Transifex Live JavaScript snippet is similar to adding Google Analytics to your site. Once you get your unique JavaScript snippet, copy and paste it into your site's HTML element. You only need to do this once, allowing you to use Transifex Live and publish translations.

Alternatively, if you have a tag manager such as Google Tag Manager installed, you can use it to add Transifex Live to your site without editing any code. We also have guides on adding your JavaScript snippet to several popular publishing platforms.

Each domain you translate is its resource in Transifex and has its unique JavaScript snippet, so be sure you're adding the correct JavaScript snippet to your site.


When should I install the JavaScript snippet?

We suggest installing the JavaScript as soon as possible. There are few reasons for this:

  • You'll be able to use the Transifex Live sidebar and translate directly on your site.

  • Transifex Live will automatically detect content changes on your site when you install the JavaScript snippet.

  • Installing the JavaScript snippet lets you approve phrases from private pages.

  • To take translations live on your site, you'll need to have the JavaScript snippet installed.


Has the Transifex Live JavaScript code been tested on different browsers?

Yes! Transifex Live has been fully tested on Chrome, Safari, Firefox, and IE 9, 10, and 11.

Note that with Internet Explorer, hexadecimal colours in inline CSS are converted to RGB, thus creating a different signature for the same source string.

To fix this, you can:

  • Include styling in classes which works fine across browsers.

  • Add the notranslate class to elements containing inline CSS.

  • Define colour styling using RGB and not hex values.


Does Transifex Live handle dynamic content?

By default, Transifex Live automatically handles static content, i.e. HTML that's initially loaded from the first HTTP request. However, you can still translate dynamic content with Transifex Live using one of the following methods:

  1. Instruct the JavaScript library to monitor the page for dynamically injected content (recommended).

  2. For more complex scenarios, use the JavaScript API.

Refer to this article for details on using Transifex Live with dynamic content.


Can I use Transifex Live with private webpages (e.g. pages behind a login)?

Yes, you can. The Transifex Live sidebar works directly on your site, so you'll be able to navigate to pages behind a login.


Can I load each translation version on a different page?

Transifex Live automatically detects the URL and feeds the right language. Related information about this can be found here. However, you may want to create a custom language picker to redirect your visitors accordingly.

For example, when a user selects German from your home page using your site's language picker, they will be redirected to http://www.example.com/de instead of seeing the German content on the same page. If you need more information about creating a custom language picker, check this article here.


Strange strings are being detected by Live. Why does this happen? Does this affect my word count?

This is probably caused by the auto-collect feature of Live. When a user visits your website, and you have auto-collect enabled in the Javascript snippet, untranslated strings will be sent to Transifex for translation.

Sometimes, when you have dynamic content, such as user names, they will also be collected. However, you can disable the collection and translation of those strings by adding the "notranslate" class on the encapsulated HTML tags.

Also, strings appearing in the Detected tab do not affect your billing quota. Those are just strings that are candidates for translations. Only strings in the Approved tab affect billing, which are strings that have been approved for translations by you.

If you want to disable auto-collection entirely on your website, you can do it by settings "autocollect: false" in the Javascript you have injected into the website. However, you will have to go through every page in Transifex Live Tool and collect the strings manually.


Can I use Transifex Live with a staging server?

Yes, to access your staging server through Live, first provide access to the following IP addresses:

  • 52.210.102.183

  • 99.80.131.68

  • 99.80.229.48

Next, go to the Detailed view of your Web project, select Resources, pick the resource, and hit Settings. From there, you can set the staging domain. Note that content from the staging domain will be saved to the same resource as the production domain.

Be sure to install the JavaScript snippet on your staging site too! Use the same snippet like the one you used on your production site.

In the Publish widget, you can choose to make translations live either on your production site or your staging site. Publishing to a staging server is useful for testing if you have content on your staging site that's not ready to go public yet.


Does Transifex Live affect our use of the API?

Nope, nothing changes in the API.


Why is my website not displaying correctly in the Transifex Live Preview?

Certain website elements might not load properly within the Transifex Live Preview. This can happen if you have absolute URLs in CSS or JavaScript files or there is some other complex JavaScript functionality that misbehaves when running in the Transifex Live Preview. Most of the time, you can fix this by clicking the shield icon in the address bar of Chrome and Firefox and then choosing to load the script.

If your website is performing AJAX requests to show certain functionality or content, those requests might fail because, in the Transifex Live preview, your website is loaded under the live.transifex.com domain, yet you are requesting data from your.domain.com, which the browser will block for security reasons.

You can fix this by enabling Cross-Origin Resource Sharing (CORS) for the live.transifex.com domain on your web server, like so:

Access-Control-Allow-Origin: https://live.transifex.com

For more information on how to enable CORS on various web servers, look here.


Can I make POST requests to Transifex Live?

POST requests are not supported as HTTP servers usually have security checks preventing this. However, you can work around this by installing the JavaScript snippet and enabling "Automatically identify new strings when page content changes" in the settings.


Can I use Transifex Live in conjunction with Optimizely?

Yup. If you're running experiments in the source language, Transifex Live will not interfere at all.

To run experiments in translated languages, you should use Optimizely's custom JavaScript code feature to trigger the translation of the altered block.

For example:

$("h1").replaceWith("<h1>Localization doesn't<br> have to be hard</h1>"); window.Transifex && window.Transifex.live.translateNode($("h1").get(0));

For more details, check the JavaScript API documentation.


Are there any security implications to using Transifex Live?

When your site is being loaded through Transifex Live, it's loaded through one of our proxy servers. This requires white-labelling, and unfortunately, there isn't any documentation regarding security implications, but we haven't had any reported issues. Transifex has no intention of accessing your code or making changes to your website.

Our goal is simple: to provide you with the easiest way to localize content quickly and efficiently.


How does Transifex Live handle sensitive data that shouldn't be saved for translation?

You can prevent sensitive data from ever going to Transifex by doing the following:

  • Turn off auto-detection of content by going to the Transifex Live settings and unchecking Identify new strings when page content changes. When auto-detect is off, you'll have to visit a page directly while logged in to Transifex for content to be detected.

  • Transifex Live, by default, doesn't save any data present in input fields, such as signup forms. The only way sensitive data would be detected is if the content is displayed in the HTML. In that case, you can tell Transifex Live to ignore a block in your HTML containing sensitive data using a notranslate class.


What kind of licenses is being used for Transifex Live?

Transifex Live JavaScript loads an external library for error reporting licensed under a BSD license. Development tools used during the localization process load several external libraries, all under an MIT license. So good news isn't any issue regarding your Open Source license with Transifex Live and live.js!


Will translations be removed if we change the website URL?

The approved strings and translations will not be removed if you change the website URL - if the content/strings remain the same.


How to remove strings that are not on the website anymore.

Strings removed from your website are designated as 'not on page' in the Transifex Live Editor. Using the manage strings widget and the overview screen (which shows all of the strings on your pages), you can filter for strings that are 'not on page' and subsequently delete them.

This removes these strings from Transifex and subsequently removes the translations and lowers your word count accordingly. More information can be found here.

back to top


Continue Reading

Introduction

Working with Projects

Resources and Content

TX Editors and Translations

Transifex Native

Transifex Live

Languages and Locals

Did this answer your question?