Using closed captions to translate audio script.

One of the most challenging aspects of creating a course for other languages is than translation process.  I am looking for any suggestions or comments on your experience.

I have several courses that are going to be delieverd to other countries,  the entire course (audio, text) will be in English.  My intent is to have a user select their language at the start of the course.  Whichever language they choose, the CC tab will populate with that language.  Using CC translation will prevent us from having to translate audio and text.

17 Replies
Jesse Kramer

I did something similar a few years ago when I was working in Studio 09. We had no audio in ours but we did have to get the entire course translated into 29 languages. I created markers in my published Word document and our translation company translated everything but those markers. I then copied and pasted all the text back into Articulate. What I wouldn't have given for the xml export feature that Storyline has now. It sounds like you are using text to speech software. What software are you using? This is something I'd like to explore for my own use.

B K

Jesse -
An outside company is going to translate the audio for us into a .txt document that will be reviewed by several of our employees who are native to the language.

Below I have outlined a summary of what we are attempting to achieve.  Keep in mind that the first slide of the course the user will be asked to select their language.

Jesse Kramer

Have you explored text to speech software. One my colleagues uses Captivate 6 and says it's text to speech capabilities are actually pretty good. I'd be curious to know your opinion if this is something you've explored. Most of my experience has involved hiring audio talent or doing the recording myself but where I am now I'm not sure that I can do my own recording much anymore.

Jesse

B K

I have not had any experience with text to speech software.  Typically all of our audio is done by outside talent and in some cases we will record in house.  I will look into Captivate for future projects, but at this time our challenge is creating a way to launch a specified language in the CC tab based on a selection.  Most likely this will have to be done using variables and some type of coding.

Steve Flowers

OK. This was a little complicated. It was probably me but I couldn't get the XMLHTTPRequest to work in IE so I moved to a JQuery Ajax load. See the attached zip for a published example. I'll post another response with the story file and an explanation of how it works.

Steve Flowers

Alrighty, this was tricky. But it's kind of neat how it works. Here's an explanation in a nutshell:


  1. I added a jquery include to the story.html file. There are a couple of ways to do this. You can edit the player.html "template" file in your Storyline install folder (mine was here: c:\Program Files(x86)\Articulate\Articulate Storyline\Content) to make this addition to every publish if you like. Take care to make a copy of player.html if you do this. Also be aware that if you don't have a connection to the internet, the jquery load will fail and might cause other problems. If you're worried about that, you'll need to either add the jquery.js file as a resource (which will load it into your storyline_files directory) or add it by hand after publish. For now, it works OK when added as a remote include from google.

  2. I created several variables. The cSlide variable is changed on every slide and forms the first part of the filename. The language variable forms the language suffix of the filename. The transcript is a holder variable for the transcript value (where I stuff the contents of the .txt file when they load).


  3. On the master slide, I added a block to hold and display the %transcript% variable. I also added two triggers. These are both JavaScript triggers and they contain the same functions. I added two to listen for changes in either the language or the screen ID. If any of these change, it fires the "go look for the txt file by the name slideID+language and jam the contents of that file into the transcript variable.

  4. AFTER publish you need to add your transcript files into your published folder. Be careful not keep your only version of these files in the published folder since they'll be overwritten every publish

Here's the function that executes on the master slide "change listeners" - 

var player=GetPlayer();
var t1=player.GetVar("cSlide");
var t2=player.GetVar("language");

 $.ajax({
            url : t1+t2+'.txt',
            dataType: "text",
            success : function (data) {

                player.SetVar("transcript",data);

            }

});

That was fun Tricky but fun. 

B K

Steve-

This is very helpful.  I understand steps 2-4 highlighted above but are lost on where to begin with editing the player.html "template" file to include the jquery.js file.  If you could provide further clarification that would be appreciated.  I have located the file on my drive but not quite sure where/how to install the file when opening the player.html file in Dreamweaver.

B K

I think I may have figured it out by adding the code below to the the player.html file in Dreamweaver.

Now I want to figure out the possibilities of adding the %transcript% variable to the Notes section while using the triggers from the master for each slide (Notes Section).

This has been a huge help!  Thanks Steve.