Soluling home   Document home

Subtitle File Localization and Internationalization

Subtitle File Localization and Internationalization

Subtitle files add subtitles to videos. Soluling Desktop and Soluling Cloud support the following subtitle file formats.

Name Description
SubRip SubRip subtitle files (.srt)
WebVTT WebVTT files (.vtt)

The end of the document contains links to get the full source code of the samples. After reading this document, we recommend reading a tutorial about how to use Soluling.

Subtitle files

A subtitle file contains one or more subtitles. Here is the Samples\SRT\Simple.srt sample file.

1
00:00:01,600 --> 00:00:03,200
Hello world.

2
00:00:04,900 --> 00:00:06,999
This is a sample subtitle.

3
00:00:09,000 --> 00:00:13,000
Adding subtitles is very easy to do.

The file contains three subtitles. A SubRip subtitle has three parts: an index, a time range, and the text. An empty line separates the subtitles. A WebVTT file has a WEBVTT header, and a subtitle has no index. Soluling localizes only the text and keeps everything else unchanged. Here is the Finnish file, fi\Simple.srt.

1
00:00:01,600 --> 00:00:03,200
Moi maailma.

2
00:00:04,900 --> 00:00:06,999
Tämä on esimerkkitekstitys.

3
00:00:09,000 --> 00:00:13,000
Tekstityksen lisääminen on erittäin helppoa.

Soluling writes the localized file into a language subdirectory next to the original file. WebVTT notes (NOTE) are not localized.

Scan each subtitle in its own row

By default, Soluling scans each subtitle into its own row. This works well if each subtitle contains complete sentences, as in the sample above. Each row then contains a complete sentence that is easy to translate.

A simple subtitle project

However, in most subtitle files, a sentence continues over two or more subtitles. Here is the Samples\SRT\SimpleSegment.srt sample file.

1
00:00:01,600 --> 00:00:03,200
Hello world. This is

2
00:00:04,900 --> 00:00:06,999
a sample subtitle. Adding

3
00:00:09,000 --> 00:00:13,000
subtitles is very easy to do.

It contains the same text, but the sentences continue from one subtitle to the next. The SimpleRequiresSegmentation.ntp project scans the file subtitle by subtitle.

A subtitle project requiring segmentation

The rows are hard to translate because they do not contain complete sentences. The solution is to use segmentation.

Use segmentation

With segmentation, Soluling combines the text of the subtitles and splits the combined text into sentences. The translator works on complete sentences. When Soluling builds the localized file, it splits the translated sentences back into the subtitles in proportion to the original text, so the localized file has the same subtitles and time ranges as the original file.

To use segmentation, select Combine all items and then use segmentation on the Options sheet when you create the project, or later when you edit the source options. The Segmentation sheet sets the segmentation rules.

Turn subtitle segmentation on

Now the rows contain complete sentences, and the project is much easier to translate.

A subtitle project using segmentation

The SimpleSegment.ntp project uses segmentation. Here is its Finnish file.

1
00:00:01,600 --> 00:00:03,200
Moi maailma. Tämä on

2
00:00:04,900 --> 00:00:06,999
esimerkkitekstitys.
Tekstityksen

3
00:00:09,000 --> 00:00:13,000
lisääminen on erittäin
helppoa.

When segmentation is used, the localized file does not contain the WebVTT notes.

Line breaks and line length

A subtitle can have several lines. By default, Soluling keeps the line breaks of a subtitle in the row, so the translator can break the translation in the same way. If you uncheck Keep new lines on the Options sheet, Soluling combines the lines into one line.

A translation is often longer than the original text. Set the maximum line length on the Write options sheet, and Soluling splits longer lines of the localized file after a word. By default, the line length is unlimited. When segmentation is used, Soluling splits the lines at the length of the longest original line. The MultiLine.ntp sample uses a maximum line length of 20 characters.

Desktop process Desktop process

  1. Start Soluling. Drag the subtitle file (e.g., Simple.srt) on Soluling or click the New from File or Files button and select the file.
  2. Project Wizard appears. Select the original language and the target languages, for example, Finnish. If the sentences of the file continue over several subtitles, select Combine all items and then use segmentation on the Options sheet. Complete the wizard.
  3. Translate the project.
  4. Choose Home | Build All to build the localized subtitle files, for example, fi\Simple.srt.

When you change the original subtitle file, open the Soluling project and choose Home | Scan. Soluling keeps the existing translations, and you only translate the subtitles that were added or changed.

Cloud process Cloud process

With Soluling Cloud, you localize the subtitle file in your browser: upload the file, translate it in Translate, and download the localized files. You need a Soluling account. See the available Cloud plans.

When you upload a subtitle file, Soluling Cloud scans each subtitle into its own row. If you want to use segmentation, create the project in Soluling Desktop, and upload it to Soluling Cloud. See below.

Create a project

  1. Sign in at www.soluling.com and open Cloud > Dashboard for Projects, Users and Terminology.
  2. Click Add a new project, then Select files and pick the subtitle file (e.g., Simple.srt), or drag and drop the file onto the page. Click Create.
  3. On the next page, check the project's Name. It defaults to the file's name.
  4. Set the Original language to the language of the file, for example, English.
  5. Under Target languages, check the languages you want to translate to, for example, Finnish and German.
  6. Under Source type, select Subtitle file (.srt) for a SubRip file or WebVTT file (.vtt) for a WebVTT file.
  7. Click Create. The project appears on the dashboard, and its status changes to Ready once the file has been processed.

Translate the project

Click the project's green Translate button on the dashboard. Translate opens the project, and you can type the translations into the grid. Machine translation suggestions, translation memory, and spell checking are available there. You do not have to finish every language before moving on to the next step.

Get the localized files

  1. In Translate's top bar, click the project's name. It opens the project's Manage page, the same page that the project's Manage button on the dashboard opens.
  2. If you have translated something since the localized files were last built, the page says Localized files need to be built. Click Build localized files and wait until it finishes.
  3. The Files section lists the subtitle file with a download button for each target language. Save each localized file next to your video, for example, as Simple.fi.srt, or where your video player reads it.

Update the project

When you change the subtitles, upload the new original file, translate what is new or changed, and download the localized files again. On the dashboard, click the project's Update file button (the upload arrow), select the new file or drop it onto the page, and click Update. Existing translations are kept, so you only translate the subtitles that were added or changed.

Use segmentation with Soluling Cloud

  1. Create the project in Soluling Desktop as described in the Desktop process, select Combine all items and then use segmentation, and save the project. This creates the Soluling project file (.ntp).
  2. On the Translate tab, in the Send and Receive group, click Configure Cloud. Log in with your Soluling account, and click OK to create the cloud project. When Soluling asks whether to upload the local project to the cloud, click Yes, and Yes again to wait until the cloud has processed it.
  3. Click the project's green Translate button on the dashboard and translate, or click the project's Manage button and invite a translator for each language.
  4. In Soluling Desktop, on the Translate tab, click Import from Cloud to get the translations, and choose Home | Build All to build the localized subtitle files.

When the subtitles change, choose Home | Scan in Soluling Desktop, click Upload to Cloud, translate the new and changed subtitles, and import and build again.

The dashboard is one of four ways to use Soluling Cloud. You can also use the SoluCLI command-line tool, Soluling Desktop, or SoluMake, which can run the update and build steps in your build pipeline. See the Cloud tutorial for all of them.

Samples

GitHub and <data-dir>\Samples\SRT contain the following SubRip samples. Each .ntp file is a Soluling project that localizes the subtitle file into Finnish. The localized files are in the fi subdirectory after you build the project.

File Description Notes
Simple.srt
Simple.ntp
Three subtitles that each contain complete sentences. Each subtitle is scanned into its own row. Try this first!
SimpleSegment.srt
SimpleSegment.ntp
SimpleRequiresSegmentation.ntp
The same text as above, but the sentences continue over the subtitles. SimpleSegment.ntp uses segmentation, and SimpleRequiresSegmentation.ntp scans each subtitle into its own row.  
Segment.srt
Segment.ntp
A longer subtitle file that uses segmentation.  
MultiLine.srt
MultiLine.ntp
Subtitles with several lines. The project uses a maximum line length of 20 characters.  
Blackbird.srt
Blackbird.ntp
A long subtitle file of a video. The project uses segmentation and does not keep the line breaks. It contains no translations.  

GitHub and <data-dir>\Samples\WebVTT contain the following WebVTT samples.

File Description Notes
Simple.vtt
Simple.ntp
Three subtitles that each contain complete sentences. Try this first!
SimpleSegment.vtt
SimpleSegment.ntp
The same text as above, but the sentences continue over the subtitles. The project uses segmentation.  
Segment.vtt
Segment.ntp
A longer subtitle file that uses segmentation. The project uses a maximum line length of 32 characters.  
Note.vtt
Note.ntp
Subtitles and notes. The notes are not localized.  

Configuring subtitle localization

You create a subtitle localization project by adding a subtitle file (e.g., D:\Sample\Simple.srt) into your Soluling project. You can configure how to localize your subtitle file by selecting the item in the project tree, right-clicking, and choosing the Options menu. A source dialog appears that lets you edit the options. This source uses the following option sheets.