Let me end this automation chapter with an efficient workflow to translate a project into different languages. Let’s assume, for example, you’ve created an animation in English and now also need a version in German, French, Spanish and Japanese. Everything we discussed in the Automatic Layout section is useful in this scenario - if your designs automatically adapt to any text changes, all you’ll need to worry about for the translation is replacing the texts themselves.
So, what’s a good way to replace all the texts in your After Effects project with translations into another language? Of course, you could simply do it manually. But this is not just tedious, it’s also error prone. If you have a complex project with many nested compositions, it’s easy to forget some of the texts. This is particularly true if you work with languages you don’t understand, as you can very easily mix up texts and not notice it. Six years ago, a client contacted us who was having exactly this issue and was looking for ways to automate his translation process. We came up with a solution that eventually turned into our After Effects extension Text2Spreadsheet.
Text2Spreadsheet is an extension that can export all the texts in your After Effects project into a spreadsheet file, which you can then edit with Microsoft Excel, Apple Numbers, Open Office, Google Docs or any other spreadsheet application. Just launch Text2Spreadsheet, click the Make Spreadsheet button, and you’re done.
The resulting spreadsheet has a column with your original texts - you can then simply add more columns with translations into other languages.
So in this example, our original After Effects project contained English texts, so Text2Spreadsheet created a document containing columns A and B. We then manually added translations for German and Japanese in columns C and D.
Once the translation work is done, Text2Spreadsheet can import the texts from the spreadsheet again. Simply switch to the Import tab in the tool, then click the Load Spreadsheet button. After you choose the spreadsheet file, Text2Spreadsheet offers you a list of all the translations it found in the file so you can pick which one should be applied to the project.
Text2Spreadsheet then replaces all the texts in the project with the respective translations it found in the spreadsheet.
Text2Spreadsheet works very effectively, so you usually won’t need to worry about the details. But sometimes it’s good to know exactly what’s happening behind the scenes - in particular what the first column of the spreadsheet (named ‘ID’) is used for.
When Text2Spreadsheet exports the spreadsheet, it assigns each text a unique ID. It then saves this ID not just in the spreadsheet, but also as a layer comment in the text layer of the Ae project. In this way, Text2Spreadsheet always knows which text belongs to which layer, even if you move the layer somewhere else (say, into a different comp) or change the original English text (for example to correct a typo). This is very important, since in real life these things often happen in parallel. Say you’ve already sent the spreadsheet to your translator, but then your client wants you to make some last minute changes to the design. You can continue working on your project, and will still be able to import the spreadsheet later - even if it was exported from an earlier version of the project.
Let’s take a quick look at the various export options in Text2Spreadsheet.If you export a spreadsheet from a project several times, when you start the second export, each text will already have an ID from the first export. So, let’s go back to the scenario where you’ve already sent a spreadsheet to your translator and want to add some text to the project while you’re waiting for the translation. Those new texts don’t yet have IDs, but all the others will. If you now do a second export with the option to preserve existing IDs, your new spreadsheet will contain both the old and the new texts. No problem – just choose the option to skip existing IDs, and your second export will only contain the texts that didn’t exist when you exported the first time. This can be very handy, because now you can send your translator a new spreadsheet containing only the texts you didn’t send them already. When you get both spreadsheets back, you can simply combine them into a single document by appending the content of the second document to the first. One thing to note: the Replace option for IDs is something I would never recommend, as it assigns fresh IDs to each text, meaning you‘ll no longer be able to import data from previous exports.
The option to Avoid Duplicates is very handy if several text layers in your Ae project have exactly the same text (for example if you duplicated a text layer for a text shadow). If the avoid duplicates option is enabled, both layers will get the same ID and only show up once in the spreadsheet.
Finally, there’s an option to exclude texts. This is useful if you have a project where there are some random number patterns as part of the background that you don’t want to be translated. In the screenshot above, we’ve specified the option that layers with IGNORE in their name shouldn’t be exported. So, if there’s any text you don’t want to end up in the spreadsheet, just add IGNORE to its name.
Even if your project involves only one language, Text2Spreadsheet is also very useful for proofreading. The average proofreader doesn’t have After Effects installed on his machine, but he’ll definitely be able to open and edit a spreadsheet file, so he can simply proofread the spreadsheet. If you’d like to keep the original text as a reference, he can put the corrected texts in a separate column, but he can also directly edit the original texts. Once the proofreading is done, you can apply all the changes to your After Effects project with a single import.
More Spreadsheet Tools
From time to time, we get feature requests for Text2Spreadsheet to be able to handle more complex changes in the project, like also being able to change images, for example. We hesitate to add these features, however, since they inevitably make the process more complex. When you start to include images or other parts of your project into the spreadsheet, they will become more complex, harder to read and harder to edit. So, by adding these features the tool would become more powerful, but would also be less useful for its core tasks of translating and proofreading.
Fortunately, there are several spreadsheet solutions for After Effects that offer these advanced features. Let’s take a quick look at these.
CompsFromSpreadsheet can make more complex changes to the project, like replacing footage files, but you have to manually mark each layer that you want to appear in the spreadsheet.
Templater is like a Deluxe version of CompsFromSpreadsheet, which also supports intelligent layout, for example. It’s very powerful when you want to render many variants of a project, but if you want to quickly export all the text from your project, you’ll first need to apply a specific effect to each of them.
Open Sesame exports and imports entire projects into a spreadsheet. As with Text2Spreadsheet, you don't need to manually label each element that you want to show up in the spreadsheet, but you also have some control over which parts should be exported. In contrast to Text2Spreadsheet, even if you decide to only export the texts, the spreadsheets generated are more complex, containing comp IDs, layer IDs and a variety of extra data. If you accidentally edit any of these, you can easily break something. You also can’t change the Ae project and the spreadsheet in parallel – once you’ve inserted, deleted or moved layers, for example, the data from the spreadsheet can no longer be applied to the project. Open Sesame also doesn't offer the detailed status information that Text2Spreadsheet provides, so it’s more difficult to figure out what’s been changed after you reimport a spreadsheet into your project.
The power of Open Sesame lies in its ability to export way more than just text, so if you need access to every single keyframe in your project, Open Sesame is your tool of choice.