Forum Discussion
localization strategy and variables
A follow-on question. I've been using this strategy to build multi-language SCORM packages. If the original English course has 3 screens, I make a copy of that course and localized to Spanish, create my multi-language SCORM package, launch English, go to screen 2, quit, launch Spanish, I am asked if I want to Resume, I say yes, and I am taken to screen 2, all is well. I can start in one language and finish in another language. I've been speculating that it Resumes successfully no matter which language you are in because the suspend data has screen IDs and because one package was a copy of the other it has the same screen IDs so both packages can successfully use/interpret the same suspend data. So I have a problem if I want a new screen in another language.
Say screen 2 needs to be completely different in Spanish. 1 and 3 are fine, but 2 needs to be completely different. I delete screen 2 in the Spanish version and create a new screen. I reassemble my mulit-language SCORM package.
I launch English, go to screen 3 and exit. I launch Spanish and am asked if I want to Resume, I say yes and am taken to screen 3. If I then click PREV (doesn't matter if it is set to go to generic previous screen or if a specific screen is selected in the trigger) not only does it not go to the previous screen, the course freezes. If I leave off in screen 2 of English, close, launch Spanish, say yes to return to last-visited screen, I get an empty stage and a frozen course. I assume it is because Storyline is trying to go back to a screen that doesn't exist in the Spanish version.
I assumed this would work for the following reason: Push multi-language SCORM packages aside for a moment. With a normal course SCORM package, 3-screen course: launch, go to screen 2, exit. Now delete screen 2 from the course, create a new SCORM package and put it in the LMS replacing the old one. Launch the course and say yes to be taken to last-visited screen which is no longer there. I am taken to screen 3 (which is now the 2nd screen in my course). It does not freeze, I get a stage of content. So you can see why I assumed a similar thing would happen in my multi-language package. I want to understand: why not?
So it seems what I'll have to do is keep the original screen, delete all objects in the screen, build new objects, so I still have that same screen ID. What I'd really like to understand better is that screen ID concept I made up. To further complicate things, if the screen has interactivity, like a button with states, under normal circumstances when I go back to the screen it remembers the states because the screen is set to resume saved state. So it seems I must keep the interactive objects as well. If I keep the screen and build new objects, will I successfully get back to the screen except it won't know what the last state of the objects was because these objects didn't exist in the other language, or will I get a blank stage again? You see where I'm going... What exactly do I have to save from the original screen in order for this to work? Just the shell of the screen? Every single object? Only certain kinds of objects?
Thanks for any insight you can provide.