December 4, 2011

Multiple Language Options in a Single Course with Adobe Captivate 5.5

When we create courses for global audience, oftentimes we come across a need for localized version of the course. The common workflow is to create the course in one language and then duplicate the course and then change the language for text/graphics/audio. This is the easiest way to localize content, but is an inefficient workflow for course maintenance, where you need to make the same edits in each version of the course.

To overcome this problem, Adobe Captivate provides you a way to create a single course with multiple language options. This can be done by using Advanced Actions and Variables.

Here’s an example of a course with multiple language options. Take a look…

If you know how to use advanced actions and variables in Adobe Captivate, it’s very easy to create such a course. The logic used here is that each language is associated with a variable. The default value of these variables is zero. When a learner clicks the button related to a particulate language, the value of the variable changes to one and he/she is taken to the next slide. On entering the next slide, Captivate checks for the value of the variable and shows/hides the captions accordingly.

Here are the detailed steps:

  1. Create the screen layout and add the common screen elements for the course.
  2. Add the buttons/click boxes related to each language on the first screen.
  3. Add text related to each language on the screen and label the text captions appropriately.
  4. Uncheck Visible for all the text captions.
  5. Select the text captions on the screen, right-click and select Align > Align and resize to the same size. This will place all the text captions on top of each other.
  6. Repeat this step for the rest of the screens.
  7. Click Project > Variables.
  8. Add a variable for each language and set their value to 0.
  9. Then define the advanced actions. Click Project > Advanced Actions.
  10. Define standard actions for each language button where if the learner clicks on a button, the variable value related to the button should change to 1.
  11. Now define a conditional action which will check the value of variables and display the captions accordingly. The limitation with Advanced Actions is that you can show an object on a slide only if it is present on that particular slide. But we will use it for our advantage by creating just one conditional action for all the slides. 🙂
  12. The conditional action should check if the variable values are equal to one and show all text captions for that particular language else hide all.
  13.  Select the English button on the slide. Set the On Success action to Execute Advanced Actions and select English as script.
  14. Select the French button on the slide. Set the On Success action to Execute Advanced Actions and select French as script.
  15. Select the Spanish button on the slide. Set the On Success action to Execute Advanced Actions and select Spanish as script.
  16. In the Filmstrip view, select slide 3, 4, and 5. Set the On Success action to Execute Advanced Actions and select Language as script.


Feel comfortable working if you have an example in front of you? Here’s the link to download the example project.

Happy captivating! 🙂

Posted by poojajaisingh10:58 PM
  • Too bad this example doesn’t address the complete localization process, which would include localized playerbar controls and TOC.

  • Beautiful… what are the properties of the restart button? Is that a native captivate function?

    • Miles, this is not a native captivate function in this example. Just jumping to the first slide with the button Restart will not be sufficient, because you have to ‘reset’ the user variables Eng, Frn, Spn. This can be done with an advanced action triggered by the Reset button. Personally I would use an other approach (hope Pooja will not curse me): would trigger an advanced action on Entering the first slide, setting those variables to value=0. In that case you do not need to add a default value on defining those variables, which I find more convenient.
      Even like to offer another approach: why use 3 variables, you can do it with one user variable v_lang which will store the language choice. If the user clicks on the button English, it will get the value 1 (or Eng if you prefer), for French value 2 (or Frn), for Spanish 3 (or Spn). Change the IF conditions in the conditional action to IF v_lang=1 (instead of IF Eng=1) etc… you get the same result. But you do not have to reset the variable v_lang, which is a timesaver. You can even add a button ‘Same choice’ to the first screen, so that the user keeps his first language choice?

      • Thanks for suggesting an alternate workflow Lieve. I was resetting the variable values to zero on clicking Restart, but setting the values at the first slide also sounds good. And using one variable is a great way to make the process lean. 🙂

  • Pooja, having created lot of courses in different languages, and despite being an advanced actions freak, I did not and will never use the approach you explain here. There is a lot more to be localized to offer the student an optimal experience: TOC and playbar have to be localized, quizzing environment has to be localized, those are only a few examples. Moreover this approach results in a file that is mostly way to big. If it is necessary to offer the language choice to the student, working with a menu file that offers the choice and linking to different files, each in their proper language, would be more efficient IMO. Sorry for my disagreement 🙂

    • Thanks for sharing your thoughts. I understand that we cannot localize the TOC and Playbar using this approach, but if we have shorter courses where we don’t use a TOC, this approach can be used.

  • Pingback: Multiple Language Options in a Single Course with Adobe Captivate 5.5 | elearning&knowledge_management |

  • What about the closed captioning? Would that require a separate course? I don’t believe CP allows you to store the CCing as an external XML.

  • Ping

    Anyone with experience developing courses in Mandarin? What are the advantages or challenges using Captivate vs. another tool such as Lectora?

  • Update for captivate 8 please, and for full project (buttons, quiz, master slides text interchanging languages). How to create one module in different languages so that candidate choose his on start and learns and solves the quiz after on the chossen language.

  • Amelia

    Is there a way to utilize something like this with quiz slides? Or do those not have this sort of customization? I’m in Captivate 9.

    • Dr. Pooja Jaisingh

      No, it’s not possible with default questions slides.

  • Bessie Pickard

    Hi Pooja, is there an updated version of this for Captivate 9?

    • Dr. Pooja Jaisingh

      Hi Bessie, you can use the multi-state objects in Captivate 9 instead of adding multiple objects.

  • Bessie Pickard

    Is there a tutorial or document I can reference.

  • rachel

    Hi Pooja, I’m going to be trying this with Captivate 9. The separate language courses have already been created and there are audio files for each language as well. Is this still a viable solution? This post only mentions text, not audio.
    Also, your downloadable example is no longer available. Do you think you still have it somewhere that I may take a look at it?

  • Darrell McElmurry

    I’m having trouble seeing the text captions using Captive Studio 8 to create a multiple language option in one course. Everything is configured correctly but the captions do not appear after selecting the language option. Can anyone provide insight why the captions do not appear? Navigation and all other function work well. It seems by un-checking “Visible” on the text caption box they simply do not appear at all now. If I check “Visible” on each of the text captions they appear but so do all the language captions. Thanks for anyones insight! 🙂

  • Loading
  • Categories

  • Archives

  • Authors

  • Recent Comments

    • Dev Agrawal_1987: Any solution for import 3D models into InDesign?
    • Anil Pan: I am a programmer. What tool(s) can I use to create an ebook that will allow me to embed code (Java, python...
    • zaman seo: Adobe photoshop, Is Awesome , Nice post and wonderful photoshop brushes collection with details describe...
    • Mahmud hasan: I agree with you Allen, as I actually have continually tried to bring humor into learning things I...
    • Su: I would like to change the play button position in the middle of forward and backward button. How can i do that?
  • Captivate & eLearning Videos

    Subscribe to Adobe eLearning on YouTube.

    Check out the latest eLearning Videos on AdobeTV