I am currently reviving an iPad app based on the StoryTellers kit by adding at least one additional language and making it viewable on iPhone.
As it turns out simply using different cameras for iPhone/iPad didn’t produce great results, so I am recreating each .sks file and .plist entry for each device.
For each additional language I then have to duplicate and adjust all these files and plist entries, swapping out labels and sound files, which seems like a complex and laborious effort and prone to errors. Is there any better way to create multilingual book without duplicating all the files?
You shouldn’t really need to do anything different in the property list for each device. Definitely at times you’ll want a different SKS file per device, but as long as the elements in the SKS have the same names, usually the property list can treat the scenes the same.
But about the multi-language support, that can be done easier than you’re making it as well. I would have your initial menu page give users an option like “English” or “Spanish”. This should set a value for “Language”. Here’s info on the SetValues property. Setting values is just saving a variable basically. But it will also be a persistent variable so the next time the user opens the app, it will still remember that Language = Spanish.
Every label can set a different value depending on that saved value of “Language”. See the TextFromLanguage property here. And you can define as many languages as you want.
If you want to get fancier than just setting labels, you can do that through an Event Listener. Those just listen for a particular value (again Language = Spanish for example) and does any number of Events accordingly. So you could change images or do a text-to-speak event.