From Transifex

What’s Your Fun, Crazy, or Funny Holiday Tradition?

The holidays are known to be seeped in tradition. It’s the time of year when friends, family, and loved ones gather to overindulge in delicious holiday treats, exchange gifts, and share stories of the year that’s passed. But these are very general traditions. If you ask anyone what they do for the holidays, you might be surprised at the responses you get. Instead of diving into the holiday traditions of the Transifex team, we thought we’d share some of the unique, fun, and even wacky holiday traditions that take place around the world. And of course, we invite you to share your own traditions in the comments section below!

35 Bizarrest Christmas Traditions

Infographic courtesy of LoveHomeSwap.

More Supported Languages for TextMaster Orders

When you order translations from TextMaster, you’ll now find support for more languages, including Brazilian Portuguese, Chinese (Hong Kong), Danish, Japanese, and Korean, among others.


We’ve also added the Enterprise level as a translation quality option above Premium. The Enterprise tier is best suited for translating more complex content such as whitepapers, ebooks, advanced web content, and even legal documents.

Here’s the full list of 46 languages and 87 locales you can now order translations for: ar, ar-sa, bg, bg-bg, bs, bs-ba, ca, ca-es, cs, cs-cz, da, da-dk, de, de-de, el, el-gr, en, en-gb, en-us, es, es-es, es-sa, et, et-ee, fi, fi-fi, fr, fr-fr, he, he-il, hi, hi-in, hr, hr-hr, hu, hu-hu, id, id-id, is, is-is, it, it-it, ja, ja-jp, ko, ko-kr, lt, lt-lt, lv, lv-lv, mn, mn-mn, nl, nl-be, nl-nl, no, no-no, pl, pl-pl, pt, pt-br, pt-pt, ro, ro-ro, ru, ru-ru, sk, sk-sk, sl, sl-si, sq, sq-al, sr, sr-rs, sv, sv-se, th, th-th, tr, tr-tr, uk, uk-ua, vi, vi-vn, zh, zh-cn, zh-hk.

Happy translating!

Moving From Spreadsheet-Based Translations to Transifex

For years, spreadsheets have been the go-to for solution for managing localization projects. While they may work for simpler projects, scaling a spreadsheet to fit a large, distributed project can quickly become a nightmare. Shifting from a spreadsheet to Transifex isn’t as difficult as you might think, and we’re certain it will simplify your localization process.

What’s So Bad About Spreadsheets?

Spreadsheets are a static solution to a dynamic problem. Localization is a constantly changing process that spans multiple parties, uses historical and contextual information, and relies on constant back-and-forth communication. While this can be accomplished using spreadsheets and email, things can quickly get out of hand. A developer could accidentally forget to update his or her project with the latest translations, or a translator working on a copy of the spreadsheet could send the wrong version by mistake. The team localizing also has to maintain a set of policies for organizing, modifying, and marking text based on where it is in the localization process. The act of constantly updating, adding to, and reorganizing a spreadsheet can lead even the best plans astray.

How to Get Started on Transifex

Making the leap from a spreadsheet to Transifex may seem daunting, but the initial effort will greatly reduce your future workload.

1. Export Excel Strings to Plain Text

The first step is to get your source strings into Transifex. While Transifex doesn’t currently import spreadsheet files, it can import a variety of other files including plain text files. With plain text files, Transifex treats each new line as a different string, which is ideal for spreadsheets where each string is stored in a separate row. To create a new source file, simply highlight the column that you want to copy and paste it in an empty text file. When creating a new source file, we need to be sure that the character encoding of our text file matches the encoding used in Excel. The best way to do this is to export the spreadsheet to text using UTF-8 encoding, then copy the translations to a new text file. Be sure to remove column headers and delimiters if necessary.

Repeat this process for each of your columns. Keep in mind that Transifex matches localized strings with their source strings based on the line number that they occupy. This means that all translations of “Hello” should appear on line 1, translations matching “Goodbye” should appear on line 2, and so on. We also recommend naming each text file after the name of the target locale (en_US.txt for English translations, es_ES.txt for Spanish translations, etc.).

Preserving Keys

If you need to preserve a key associated with each entry (for instance, if your developers use a key to identify each string in software), you’ll want to use a more structured file type such as Resx. Otherwise, Transifex generates a key based on the string provided in the source file.

2. Create a New Transifex Project

In Transifex, create a new File-based project using your source file. This will create a new project using the source file as the default language. Each line in the source file is treated as a separate string.


3. Upload Your Translations

To upload your translated text, click on the target language in your Transifex project. You should see your source file listed with 0% completion. Click on the name of the source file to open the Resource dialog:


Click on Upload file. This opens the File Upload dialog where you can select your language file. In this case, we’ll upload es_ES.txt to populate the project with our Spanish translations. Once the upload is complete, the en_US.txt resource file displays 100%. Reopen the Resource dialog, then click View Strings Online to verify the translated text.


Repeat this process for each language in your spreadsheet.

Preserving Metadata
One downside to this method is that it won’t copy over comments, notes, memos, or other metadata. While there are file formats that support metadata, converting between those formats involves additional steps and goes beyond the scope of this post. In the meantime, you can manually copy metadata by opening the target language in Transifex, navigating to the specific string, and selecting the appropriate tab underneath the translated text.

At this point, the contents of your Transifex project should mirror those of your spreadsheet. Next, we’ll show you how to share your project with translators and coordinators.

3. Add Translators and Coordinators

When creating your new project in Transifex, you also created a new team. At the moment, the team consists of a single user: you. You can add other users to your team by inviting them and assigning them a role.

First, we’ll add our translators. Open your project in Transifex and click the collaborator invite icon:


Select the user’s role, their assigned language, and enter the user’s email or username. Once the user receives your invitation, he or she will be able to contribute to the project. Repeat this process for any other users you would like to include in your project. You can always modify a user’s role after they’ve been added to the team. Click here to learn more about how teams work in Transifex.

4. Start Translating

Once you’ve completed steps 1 – 3, you’re ready to drop your old spreadsheet for good. Any changes made to your Transifex project are automatically saved and shared across the team. You can update your source file by navigating to the file in Transifex and clicking the Update content button.

Other Features

In addition to translation and collaboration, Transifex provides a host of features designed to ease the localization process. While none of these are required for using Transifex, they do make it easier to manage translations across your team.

Translation Memory

Translation Memory (TM) provides automatic translation suggestions for similar source strings. Not only does it let your translators leverage previous translations, but it also lets you reuse translations across your projects. Each Transifex project comes with its own separate TM instance. Organization administrators can share a single TM instance across multiple projects by creating a TM group and adding each project to the group. TM can also automatically populate translations for source strings that have a 100% match. For more information, see the Translation Memory documentation.

The Transifex Client

The Transifex Client is a command line tool for managing translation files within a project. It lets you easily synchronize and share text between the Transifex website and a directory on your local machine. For instance, you can use the Transifex Client to automatically update a software project with the latest localizations.You can also use the Transifex Client to export your localized strings to different file types such as JSON, XML, or gettext. This way, you can convert from simple plain text files to more compatible formats.

The Transifex Client integrates easily with file-sharing tools such as Dropbox and Google Drive, continuous integration tools such as Jenkins and Bamboo, and even code repositories such as BitBucket and Git.


Public or community-driven projects can benefit from crowdsourcing, which brings the community into the localization process. It’s a way for companies to not only engage with users, but also source translations for larger projects. The process isn’t entirely community-driven as users still need to be manually approved by a coordinator. However, organizations can use Transifex to crowdsource translations for free.

Video Subtitles

If your project contains video, Transifex’s Video Subtitle Editor lets you view and edit subtitles directly in your browser. Transifex stores each subtitle as a separate string and synchronizes it using the timecodes provided. A built-in video player loads the video from an external URL and displays the localized subtitles during playback. For more information, visit the Translating Subtitles page in the Transifex Documentation.

It’s Time to Move On

Spreadsheet localization might have worked in the past, but it’s time to move on to a better solution. Transifex turns a slow, difficult, and error-prone process into a fast, flexible, real-time solution. Please let us know if you need help dropping your spreadsheet in favor of a more flexible localization solution!

Localization Process for Javascript Web Applications

Last week, Transifex software engineer, Matt Jackowski (@mjjacko) spoke at Bitmatica’s Code and Cookies event in San Francisco, sharing his insights about Javascript development. For readers who couldn’t make the event, Matt recaps the localization story shared at Code and Cookies!

“Localization can often be a scary process, especially if you haven’t done it before. In this post I’ll walk through the a basic agile process that can be used for any Javascript web application.”

An Agile process for Javascript development

When we are building Javascript applications, we move from ideation to application very quickly. Therefore, we need an agile approach that can be used to quickly enable us.


We often skip this step and go directly to coding. But it’s important to pause a minute and consider the decisions we must make before building our app.

  1. Internationalization Support – We’ll want to leverage existing i18n functionality either in our framework, or pick a library that supports multilingual functionalities. Unfortunately, support for i18n is not as mature as most other languages. Depending on the structure of your application, it might be difficult to find a good supporting i18n library. ReactJS and AngularJS currently have the best support, however this support comes from external libraries. Some integration will be needed.
  2. Linguistic Guides – During planning, it’s a great time to define style guides for your translated copy. A typical translation style guide contains the application’s standards and expectations that must be followed when writing copy.


1: NodeJS i18n will allow you to process formatting on the server-side. This is great from a performance perspective, but can be tricky with client-side views.

2: Build tools can be used in place for a more formal i18n approach. However, this approach primarily works well for static content.


There are 2 key parts to build step:

  1. Tagging the code– For most frameworks, we can use our templating language to designate the text that needs translations. Similarly, dates and numbers should be passed to an internationalization format before displayed in the view.

  1. Translation – As soon as we start tagging strings for our text, we also want to start sending this to our translators. Waiting until the entire site is complete and THEN doing translation, isn’t very efficient and certainly isn’t agile.


Now we want to bring the code and the translations together into a working application.
Reliable automation is the key in this step.

We can accomplish much of this automation with Grunt and if we integrate with a translation management tool (like Transifex), that setup allows us to run our application in other languages before translation is fully completed.



The last step in this process is our final quality check. Here we can run any time consuming acceptance tests, keeping in mind that we’ll likely need to run these multiple times for each language. Also on the linguistic side, it’s recommend that a quality check should be performed by professional translators who really understand our application.

Next Steps

Here are some additional resources to help you get started:

Matt shared some great tips for companies interested in taking their web apps to a global audience. For more information about localizing Javascript web apps, don’t hesitate to visit our website at or request a personalized demo with one of our team members today!

Code and Cookies Sneak Peek

Transifex software engineer, Matt Jackowski, will be speaking at the upcoming Code and Cookies event in San Francisco. Hosted by design and development company, Bitmatica, Code and Cookies is a free event that aims to provide small and medium-size businesses with new technologies that can help with the conceptualization, development, and deployment of mobile and web applications.

Localizing Javascript Web Applications

Matt is passionate about building software with open source technologies, and will be sharing his knowledge and a few insider tips about localizing Javascript web applications. If you’re not familiar with the localization process, it’s important to understand why localization matters in the first place!

Studies show that of the 7.2 billion people in the world, nearly two thirds speak one of the below twelve languages as their native language. For businesses interested in increasing user base, customer engagement, and profits (what business isn’t?), all digital content should be viewable by a potential customer in his or her native language. And this often means translating your website, app, or software into multiple languages and localizing it for cultural differences.

Languages for Localization

Building and Integrating

There are four key parts to the localization process:

  1. File Format
  2. Directory Organization
  3. Continuous Translation
  4. Automation

We don’t want to give everything away! Matt will be speaking about each of the above localization components and providing a demo at the event so attendees can get started on localizing their Javascript applications as soon as possible. You can also check our localization blog for more information about going global, as well as a post Code and Cookies update that will include answers to some of the questions asked at the event and details from Matt himself!

Event Information

Date: October 28th, 2015
Location: WeWork
Located at 535 Mission Street, San Francisco, CA 94105
Admission: Free

Click here for more details and register to save your seat. We hope to see you there!

Another Year of FbStart

A year ago, we partnered with Facebook’s FbStart program to help mobile startups expand globally. In its first year, FbStart gave out over $100 million in benefits to more than 3,800 companies. Hundreds of startups joined Transifex to localize their apps. As year two of the program begins, we’re stoked to share that we’ve been invited to be a partner again.

FbStart Transifex

This time around, there’s a third track in the program – Pre-Launch – for companies that haven’t launched their apps yet. Startups have limited budgets and resources, so we want to make going global not only as easy as possible, but accessible too. It’s because of FbStart that Chromatik was able to localize their sheet-music apps to 8 languages. Check out their story.

If you’re an early-stage mobile startup and want access to Transifex along with other awesome tools such as Workable and Parse, take a look at FbStart and apply!

Day in the Life of Dimitris Glezos, CEO of Transifex

This post initially appeared on SaaScribe.

Dimitris Glezos in the Transifex, Athens Office

For the last few years, I’ve been fortunate enough to have two homes and two “lives”. One is in California, where we’re working primarily on Customers and Growth. The second is with Transifex’s Product & Engineering team in beautiful, sunny Greece.

Which one do I like the most? To be honest, I’m not sure, really. When I’m in the US, I don’t miss Greece, and when I’m in Greece, I’m not in a hurry to return to the US. Living in two countries gives you access to a variety of different activities, personalities and ways to have fun.

As I’m writing this, I’m in Greece. It’s a gorgeous 29°C (84°F) day; I’m working from home, with our cat sitting on my lap. So let’s go through what a typical day looks while in Greece.

It’s a brand new day

Wake-up time is adjusted to the Engineering team’s schedule. You see, in Greece, people go out at 9pm (that’s considered early), so you start the day later too. A typical wake-up time for me is 8am-ish, almost 2 hours later than when I’m in the US.

Checking emails before properly waking up and experiencing a good start to the day is a no-no. The first thing I like to do is to put some fresh, vivid music on the stereo, welcome our cat in the living room and prepare a rich breakfast. Depending on the day that might range from a big jug of mixed fruit juice with delicious cheese and prosciutto on the side, to a good-ol’ eggs-with-5-sides plate. Before leaving for work, I put on my outfit. Typically, it’s a pair of jeans and a shirt with lightweight, cool materials by brands such as Prana or Arc’teryx. Then I check emails and spend 30 minutes answering stuff.

At the Office

During the drive to work, I’ll have a call with friends or family and do some finger exercises, preparing for rock climbing on the weekend.

I arrive at the office around 10:30am. Before even making coffee, I’ll walk around and chat with the people in the office, listening to stories about adorable kids, gym workouts or an amazing gourmet dinner experienced the night before. If I’m lucky, I’m at the office early enough to see Elena from our Customer Success team arrive and say “Good Morning!” with a wide smile and a royal salutation.

Walking around the office is one of my favorite things to do. I’ll openly ask colleagues to tell me what they’re working on and encourage them to get into the details – and I love it when they do the same. If someone is really concentrated, I might walk by and hit random keys on their keyboard.

For the first couple hours of the day, I’ll read articles from other cool, inspiring startups (some of my favorites are Help Scout, Groove and Unbounce). Afterwards, I’ll dive into one of the many things that have been keeping me busy the last couple of weeks:

  • I am jumping into planned (and sometimes impromptu) brainstorming sessions with Antoine from Product. Our discussions involve big scribbles on whiteboards that never have enough space and heated discussions about button placements. In these discussions, we’re pulling people in to better understand how a user would interact with a design choice, how it might be implemented and how it’ll scale.
  • I am learning how well we’re performing in fields like customer acquisition, customer satisfaction and growth. I do this by first collecting data myself from tools like Mixpanel, KISSmetrics and consolidating in a dashboard and a spreadsheet. When I find something interesting, I’ll go to someone’s desk with my laptop to show them and then we’ll try to refine the data and share them with more people.
  • More often than I want to, I deal with paperwork, like documents a bank needs signed and other frustrating items. Oh well… you gotta do what you gotta do.


Our Greek team eats lunch together at 1:30pm. We order food from nearby family-owned restaurants and share salads and pies which people bring from home. Lunch is a sacred part of Greek culture and our team has some of its best moments during our lunch break. Every now and then, we’ll have lunch outside or bring pans of galaktobureko (semolina custard pie in phyllo) and share.

Then it’s foosball time for anyone interested. Things get very noisy.

Second half of the day

During this part of the day, I’m doing a number of things:

  • I’m isolating myself from the rest of the gang for 1 to 2 hours every day to focus on strategic stuff. Product positioning, what our users really need and what they’ll need three years from now, and what are the real problems behind the proposed solutions from customers or other companies.
  • Growing our team is one of the top recurring items I have in my week – I typically work on this in the afternoons. I’ll invest at least 1 hour every day identifying interesting people. The key questions I ask myself when meeting someone are “Is she a doer?”, “Do we have a lot to learn from her?” and “What would it be like working with her every day for the next 5 years?”
  • At around 3pm, I’ll take an afternoon break and make a decaf coffee and eat some apples or bananas.
  • At 5pm, our California team wakes up. Late afternoon is reserved for any kind of discussion with our Sales, Marketing and Business Development folks. I’m most often working to remove roadblocks from people’s paths, such as a team waiting for something from another team, a clarification on why we’re not implementing support for Microsoft Office files.

Wrapping up the day

I’m usually back at home at 7:30pm.

On the way back home, I reflect about the day. What went well, what went wrong and how to fix it tomorrow. I also take time to remember all the big things happening in my life other than Transifex: girlfriend, family, friends. Some serious context switching happening there.

After getting home, we’ll cook something, watch a movie with popcorn, hit the gym or play a few games of StarCraft as Zerg. On the weekends, it’s either rock climbing, inviting friends over for barbecue, or a day-long trip to a nearby town or village for some good, local food.

Follow Dimitris on Twitter (@glezos) to keep up with the latest updates and thoughts.

On Giving Back

Transifex Social Responsibility

Recently, we added a Social Responsibility section to our website. Before you click on that link, pause and think about what Social Responsibility means to you and why it exists. Then put that into context in terms of tech companies. Here’s our take on it.

It’s easy to argue that tech companies should be giving back to the community. There are plenty of stories that prove it’s been a boom time for the tech sector. Many companies are attracting the best talent, providing enviable work environments, and perhaps most importantly, they are adding value to the communities in which they work in and beyond through their day-to-day operations.

From the outside looking in, life is very good for these companies.

Talk with anyone in the non-profit sector, and the situation isn’t as rosy. They face daily challenges across almost every facet of their organization. Resources are often scarce, appealing to the public for support is never easy in a crowded market, and the nature of their work and the causes they support are more often than not, an endless cycle (alleviating poverty, protecting human rights, etc.). These challenge faced by the non-profits are prime opportunities for companies to help.

Helping looks different for every company. When we came up with our Social Responsibility program, we decided to focus on what we do best. We localize. Our platform helps companies and organizations grow by expanding their presence into new markets. So localizing the websites and expanding the reach of non-profits seemed like the most natural way for us to give back. This became the foundation of our Social Responsibility program: by providing our translation tools, we’re able to support the causes of many non-profits and help them reach a larger audience and connect with people who may not speak English.

Transifex’s own growth came about through the support of other people, organizations, and companies, especially in the Open Source community. We want to do the same for others. If you’re interested, the Social Responsibility section of our website highlights some of the organizations we work with, how we work with them, and why we work with them. Check it out! We’ll be adding more stories as time goes on.

Cool Community Projects on Transifex: GlobalLeaks, StoryMaker, Martus, Gnu Privacy Guard

We’ve partnered with Localization Lab to bring you community translation projects that support internet freedom and privacy. We hope you’ll take a look and get involved!


GlobalLeaksGlobaLeaks is an Open Source project that empowers anyone to easily set up and maintain an anonymous, censorship-resistant whistleblowing platform.

Go to project »



StoryMaker enables existing and aspiring journalists all over the world to produce and publish professional-grade news with their Android phone, as safely and securely as possible.

Go to project »


Martus logo

Martus is a tool used across the globe by human rights workers, attorneys, journalists, and others to securely document human rights abuses.

Go to project »

Gnu Privacy Guard (GPG)

Gnu Privacy Guard (GPG)

GPG brings the widespread standard in OpenPGP encryption to Android, providing encryption for keeping emails and files private, and for verifying that emails and files are from who you think they are from.

Go to project »


P.S. You can discover more internet freedom-related projects here.

Announcing General Availability of Transifex Live

Today, Transifex Live moves out of Beta and is open for everyone. The feedback we received from all of our Beta users was instrumental in getting Transifex Live to this point. A big thanks to everyone who gave it a try and provided such valuable feedback.

Transifex has always had a focus on developers and technical teams. We designed the platform to manage localization content and workflow, to provide a robust user experience for small start-up teams, and to be powerful and customizable for larger corporations. It’s a great platform for companies with experienced teams of international developers or localization managers. But the localization process is still hard for smaller companies just getting started with localization or who want to achieve a lot in a short time. The net-net is that localization is hard.

Localization is hard for developers. It’s a bit of an alien process for them because it requires close collaboration with an external agency who, pretty much, ‘owns’ the global content. Developers typically don’t like someone else to own their content. You lose control over the the user experience which sometimes feels like you’re giving your ‘baby’ to an external company. Plus, the agency is now involved in your product development and release schedule, so they can possibly impact the speed of your team and even your time-to-market.

Localization is hard for marketers too. Automating workflows is a very detailed and technical job. Marketers tend to be more creative and want to spend less time on these types of details. Plus, they have to fight for IT and developer resources for their localization projects which are never at the top of the list of things to be done next. There always seem to be bigger fires to fight. Preparing content for localization is a boring job and error-prone (you might forget phrases) so it tends to get done last.

Our goal with Transifex Live is to make localization accessible to everyone. A few years ago, we took a step back and thought, what technologies can we leverage to make everything about the localization process an order of magnitude easier? To shrink the time needed to take a website global from months to days?

The problem was the fact that today internationalization and localization are separate, disparate processes. There’s a wall between them. This does not allow a seamless experience from content creation to translated content delivery. This is how Translfex Live was born.

Transifex Live addresses this problem head-on with a completely new way of thinking about localization. We designed it to easily integrate into your development process so localization can serve as a strategic investment, rather than an after thought. The new technology stack takes advantage of powerful client-side scripting with JavaScript, allowing developers to have full control over the localized experience of the user. You add a snippet of JavaScript to your code (just like Google Analytics) and it does its thing in the background while you continue to do your thing. Transifex Live collects phrases from live or staging websites so they can be translated, either by freelance translators, an agency or crowdsourced, and then publishes them (via the browser) as visitors hit the site. When someone from Poland visits your site, they dynamically receive Polish content. When you update your content, changes are detected automatically so you never miss a translation.

There’s obviously a lot more to it than that. If you want to learn more check out the Transifex Live documentation. Or view this short video that gives a good overview of how it works.

Transifex Live is helping fulfill our vision of making localization really accessible for everyone. Localization is going to be the key to growth for most companies and it needs to be fully integrated into the core business processes. Transifex Live helps make that possible. Companies will be able to deliver localized experiences which will make customers happy. And when customers are happy, everyone is happy.