Languages and Localization

How to manage multi-lingual content and tailor text on the language to reflect your festival's terminology

Written by George Reese

Last published at: December 9th, 2022

Your festival web site can be localized to one or more languages that SparqFest supports as well as except user-generated content in any language, including dead languages and constructed languages. We also do automatic machine translations any time you enter text content and give you the option of reviewing and altering those translations.

Site Content vs User Content

Your SparqFest site displays two kinds of content:

  • Site content - the static text created by SparqFest that appears in site theme templates
  • User content - the dynamic content you and your creators enter in the Staff Portal and Creator Portal

Static Content

With a freshly deployed SparqFest site, all of the content is static content. We store static content on the server in SparqFest dictionaries that house all of the translations into the languages we support. We call the languages we support for static content “site languages”. 

Site languages require full and accurate translations for all text that appears on the site. We therefore limit our support to languages where we have made the manual effort to verify the translations.

We currently support the following languages for static content:

  • Basque (beta)
  • English
  • French
  • German
  • Italian
  • Spanish

Your festival site can be served in any or all of these supported languages.

User Content

When a creator enters the title, logline, and synopsis for their project, they are creating “user content”. Unlike static content, we will accept user content in any language that has ever existed as well as constructed languages such as Esperanto or Klingon. A creator may thus submit a work in Klingon to your festival and enter the title, logline, and synopsis in Klingon. We support 7,907 of these “content languages”.

Overview of an International Festival

To better understand how this all plays together, we'll look at an international festival with submissions in all kinds of languages and site content configured for English, French, and Spanish. In this example, English is the primary language for the site.

When this festival director signed up for SparqFest, they configured their site for English, French, and Spanish (we'll cover configuring your site later in this article). Visitors to the festival, of course come from all over the world and may have their browsers configured for any living language. We call these languages “user languages”.

Types of Languages

This article has now referenced three groupings of languages:

  • Site languages (SparqFest-supported language configurations)
  • Content languages (any language that has ever existed plus constructed languages)
  • User languages (any living language for which a browser may be configured)

You may encounter these terms periodically in SparqFest documentation.

 

When a French-speaking user visits this site, they see all the site content in French. Similarly, an English-speaker sees site content in English and a Spanish-speaker sees it in Spanish. But what about a speaker of German or Basque?

Because English is the default language, the German speaker will see the site in English. The site's primary language is the default “fallback language” when the user language does not match the site language and itself has no fallback.

The Basque speaker, however, will see the site in Spanish because SparqFest views Spanish as a fallback language for Basque.

One of the creators in this festival has a film in the Hawaiʻian language. When they enter their title, logline, and synopsis, they enter it in Hawaiʻian. SparqFest then automatically translates those fields into English, French, and Spanish. The creator reviews those translations and makes any preferred changes. If they market their film with the Hawaiʻian title in all languages, they can replace the machine translations of the title with the Hawaiʻian title.

When the English-speaking user visits the selection page for this project, they will see both the Hawaiʻian title with the English translation. If the title is marketed worldwide with the Hawaiʻian title, then the site will contain only the Hawaiʻian title. The visitor will also see both the Hawaiʻian synopsis and the English synopsis. Elsewhere on the site, they are presented only with the English synopsis.

Below is a sample selection page for a Russian-language film presented to a French audience member:

Video Content and Subtitles

We accept subtitles in any user language as sidecar files in either SRT or VTT formats.

If you remember back to your introduction to SparqFest where we discussed configuring your screener requirements for submissions in the article Submissions, you can indicate what languages you require for subtitles, closed, and open captions. When creators are uploading their exhibition copies, trailers, and other video content, they are first asked if the video contains any open captions and further prompted to upload whatever additional closed captions and subtitles they prefer. If you are requiring closed captions or subtitles in any language, we enforce that requirement for you.

Site Language Configuration

You might think, “I'll just configure my festival site to be in every language SparqFest supports.” Unfortunately, the more languages you select, the more complex managing user content becomes.

If you have spent some time in SparqFest already, you have noticed that there's a “Translation” section to every form that asks for text information. An example of this is the form for managing a selection. For every text field in a form, there is a corresponding translation field for each language of your site. As we will discuss later, we will perform an initial machine translation for you from your site's primary language into all the other languages, but reviewing these translations can become tedious—especially if you do not speak all of the languages yourself.

Language Settings

To change the languages your site will support, go to “Settings” > “Web Site” > “Dictionary”. You will select a primary language and then any secondary languages.

The language configuration form in the SparqFest Staff Portal

Do Not Add Languages Mid-Festival

Once creators have started entering information, you can create problems for them if you start adding languages. SparqFest requires translations of things like the selection title, logline, and synopsis into all site languages. When they initially entered their information, we did a machine translation that they could review.

If, however, you add a new language, their “complete” creator form will suddenly switch to “incomplete” thanks to the missing translation.

 

Primary Language vs Supported Languages

As noted above, you select one language as your “primary language” and then add other languages as supported languages. For the most part, the primary language is just another language. We use the primary language, however, as the “authoritative” translation when you enter data and do machine translations into the other languages. Another use of the primary language is that we will serve content to users in the primary language when we cannot determine an appropriate fallback language for their preferred language.

Translating User-Generated Content

As we noted earlier, our approach to user-generated content is to allow users to enter that content in the site's primary language (except in the case of the title, logline, and synopsis of selections). When they submit that information, we perform a machine translation of the text into all other supported languages. The user can then review the translations for quality if they happen to speak the other languages.

For selections, the primary language of the selection is the entry language for the title, logline, and synopsis. Because of this approach, the selection forms may require translations even if your site is configured for a single language.

On Machine Translation Quality

We have a very complex machine translation system that attempts to provide the highest quality translations. Our system uses three different cloud vendors (DeepL, Google, and Amazon) with bias to the highest quality vendor for a given language pair. 

Having said that, machine translation is imperfect. It works best if it is followed by a review from someone with some understanding of the target language. For user-generated content, however, it's a very solid solution.

 

If you make changes to any of the primary language text in the system, you have the following options:

  • If it was a minor change (typo in the original language), do nothing with the translations.
  • If it was a change requiring re-translation:
    • Blank out that field's translations. This will force a new machine translation.
    • Translate the field yourself.

Localization

Having translations that match the user language is all well and good, but failing to format data for the user can lead to confusion (especially in time and date sensitive sites like a festival site). SparqFest automatically performs localization of format-sensitive information like numbers, currencies, dates, and times.

Formatting

The simplest example of how we handle formatting appears on the ticketing page. When people review the tickets you have for sale, the prices will appear formatted to their locale. The example below shows a ticket to a French user for a French festival:

As you can see, the currency symbol is on the right and the decimal-separator is a comma. If they enter a donation, the system will also expect them to enter the donation with a comma as the decimal separator. A visitor from the United States, however, will see the following:

In both cases, not only is the ticket price formatting localized, but so is the date and time.

Timezones

Timezone management for online and in-person festivals can be quite complex. Fortunately, SparqFest simplifies that process.

Every time and date field in SparqFest is timezone-aware. When you setup a new edition of a festival, one of the things you do is specify the default timezone for that edition. As you add venues, you indicate the timezone for each venue as well. We can thus support festivals with venues that operate across a timezone boundary without any problem.

In the ticketing example above, the times are all associated with the festival timezone because they have no associated venue. When a visitor comes to the site, however, those dates will be displayed in their local time. In short, your audience does not need to do any “timezone math”.

The only times that are not displayed in the visitor's local time are in-person events. Those times are always displayed in the event time zone.

Another special feature of SparqFest is the ability to set virtual screenings to start either in the festival timezone or the user timezone. An example of this feature might be an online world premiere that you want to become available to everyone for a brief 4 hour period. If you set the start time for that period in the festival timezone, a good portion of the world would be asleep. You can thus set the start time to be in the user timezone so that it becomes available at from noon to 4pm in each timezone around the world.