Multilingual shows
This page is for producers who publish a show in more than one language, or several shows for different language audiences on one site. Exponential stores translations of every item and serves each language through its own siteaccess (Content languages). How that maps to a show depends on whether the episodes are really the same in each language.
Contents
Two models
| Model | When | In Exponential |
|---|---|---|
| Translated episodes | the same episode exists in several languages (dubbed, or re-recorded from one script) | one item per episode, with a translation per language |
| Separate shows | each language has its own content and rhythm | one show folder per language, each with its own episodes |
Mixing is possible, but decide per show; a feed lists items, and each model gives a clean feed.
Translated episodes
- The site has the languages and a siteaccess for each (Building a multilingual site).
- In the episode class, the media field is translatable, so each translation carries its own audio file (Building an episode class). Title, notes and transcript are translatable too.
- Publish the episode in its main language, then translate it: choose the language next to Edit, upload that language's audio and translate the notes (Languages).
The translations of one item share its remote id, so in each language's feed the episode has the same guid. Apps
treat feeds as separate shows, so that does no harm, but keep it in mind if you merge feeds later.
If the audio is the same in every language (music, a language-neutral recording), make the media field not translatable and translate only the text.
Separate shows per language
Create one show folder per language, each with its own episodes in that language, and treat each as its own show: its own feed, artwork, description and directory listing. This is simpler when the content differs, and each feed holds only one language.
One feed per language
Make one podcast export per language:
| Field | Set |
|---|---|
| Name, Description, Summary | in that language |
| Language (Apple Podcasts section) | that language's code, for example de or fr-ca; empty uses the siteaccess language |
| Site URL | the address of that language's site, so links and enclosures point to it (the RSS card's Links point to shows which siteaccess an empty Site URL uses) |
| Access URL | distinct per language, for example example-show-de |
| Source | the show folder (translated model) or that language's show folder (separate model) |
Which translation the feed shows depends on the siteaccess that serves it: each siteaccess has its own language list
(SiteLanguageList), and the feed cache is kept per siteaccess and feed (kernel/private/classes/views/rss/feed.php).
Open each feed through its own language's host.
Episodes not yet translated may be shown in another language where the siteaccess's fallback languages allow it (Fallbacks and untranslated content). For a feed, publish the translation before relying on it.
Checks
- To do: Each feed's
languageelement says the right language. - To do: Each item's title and description are in that language.
- To do: Each enclosure is that language's audio file.
- To do: Links in each feed point to that language's site.
- To do: The episode page offers a language switcher to the other versions (Language switcher and language URLs).
Related pages
- Content languages
- Translation routine
- Building a multilingual site
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.