I'm making a top-down RPG for iPhone. I'm using tilemaps (CCTMXTileMap) and the cocos2d-iphone engine.
I've made a class that can handle loading maps and NPCs onto the screen, a class that handles input, and, a class that is supposed to display dialog. The dialog class takes a single string, or an array, and displays it onscreen inside a neat dialog box, hiding the controls until the user taps on the screen, when it cycles to the next message, or if it's the last/only message, hides the dialog.
My NPCs are currently stored in Core Data. Their strings will need to be updated based on quest progress. Also, there are other bits of dialog, like signposts and other messages.
So, where do I put my game's textual content? I don't think Core Data is the right place, because of three reasons:
If my strings are stored in Core Data, I will probably have a harder time translating them.
If my strings are in Core Data, that only leaves me with strings for NPCs (which would be attached to the NPCs in Core Data). Where does that leave everything else?
If I leave my strings in Core Data, it's a bit heavy on the loading operations, no?
Given all of this background information, where do I put my strings and dialog in my game?
What's an efficient way to store strings for an iOS game so that they can be easily accessed, translated and referenced at various parts of the game?