Somebody asks what it would cost to run the course in four languages, and the vendor cannot answer until you give them a word count. So you need a number, and it needs to be right, because it becomes the budget and the budget becomes the promise.
The trouble is that the obvious ways of getting the number all miss something. Here is what belongs in the count, what your authoring tool leaves out of its own export, and the fastest honest way to produce the split a vendor quotes on.
What actually gets translated
A course is not one pile of words. It is several piles that are priced differently, which is why a single number is a poor answer and a split is a good one.
- On-screen text. Everything on the slides, including the text on layers and inside object states, which is invisible until you go looking.
- Narration. Priced by the minute for re-recording, or by the word if you are subtitling instead. Either way it is not the same line item as on-screen text, and lumping the two together is how quotes go wrong.
- Closed captions. A separate export in Storyline, translated separately, imported back separately.
- Quiz text. Stems, every choice, and the feedback for both right and wrong. Feedback layers are easy to forget and there are two of them per question.
- Player labels. The words around the course: Next, Submit, Resources, the quiz results text. Storyline does not include them in the translation export, so they are a separate pass in the player editor.
- Text baked into pictures and video. Diagrams with labels, screenshots of an English interface, titles burned into video. None of it is countable as words and all of it is work: it gets redrawn or re-shot, and it belongs in the quote as production, not translation.
- Attachments. The job aid, the policy PDF, the spreadsheet in the resources tab. Each is its own document with its own count.
- Alt text. Written for screen readers, invisible on screen, and part of the accessible course you are presumably still shipping in the other languages.
Three ways to get the number
1Storyline's own translation export
Storyline exports to Word or XLIFF, and the Word export opens with a summary table: scenes, slides, layers, strings, words and characters. If you already intend to translate through that export, that table is a perfectly good count and it costs you one publish.
Know what it leaves out, because Articulate documents this: player labels, trigger conditions, variable names and closed captions are all outside the export. A course with heavy captions can be a third larger than its export suggests.
2Read the project file directly
Faster, and it does not touch the project: drop the .story file into a tool that reads it and reports the split. No publish step, no export, nothing to clean up afterwards, and it works on a file a vendor sent you that you have not opened yet.
3Copy and paste into Word
It is what most people try first and it is the one to avoid. You will miss layers, states, feedback and anything that only appears on a trigger, and you will not notice, because missing text looks exactly like text that was never there.
A worked example
A real compliance course, 37 slides, narrated throughout and captioned on every track. Read out of the published package, it comes to:
- 2,200 words of on-screen text
- 1,611 words of narration, across 50 audio tracks
- 17 quiz questions with their choices and feedback
Two things fall out of that straight away. First, narration is 42 percent of the words in this course, so a quote that counted only the slides would have been wrong by nearly half. Second, the decision that actually moves the budget is not the word count at all: it is whether the other languages get re-recorded audio or subtitles, and that is a conversation to have before you ask for a price, not after.
Two things the count does not tell you
Repetition. If the same sentence appears on twenty slides, a vendor with translation memory charges you for it once and a discount applies to the rest. That is why the unique count matters as much as the total, and why handing over a per-slide breakdown gets you a better price than handing over one number.
Expansion. German and French run longer than English, often by a fifth to a third, and Finnish and Polish can go further. That is not a translation cost, it is a layout cost: text that fits the button in English overflows it in German. The Localization Expansion Preview shows you which strings break first, before the translated file comes back and the rework is a surprise.
When the translation comes back
Check it before you import it. The XLIFF Word Counter tells you what a returned file actually contains, and the Translation Completeness Checker finds the units that came back empty, identical to the source, or with a variable placeholder quietly dropped. Those three faults account for most of the bad surprises at import time, and all three are invisible until you look for them.