I'm building a medical translation app that has thousands of pre-determined translations from English into a handful of languages. The translation will always be from English to a foreign language, and so the app itself does not require localization of buttons, headlines, text, etc. I will also have an mp3 recording of a human reading of each translation in each language (~30 KB file size).
Now I'm not sure if I should store the strings in Core data or use iOS localization, as the translations seem more like app data than true localization to me. I also need to link each translation with an mp3, and I believe core data could handle small binary files like these ok.
I will also need to place translations into one of 3 categories and show related translations, which seems more suited for a database. Eventually I need to add a backend to allow a non-technical person to manage this stuff, and I think a python script could be made to interface with Core data.
Localized strings are intended for localizing the UI of your app, not for supplying translation functionality to the end user.
Localized strings rely on the language setting of the OS to return the proper string. Your users will not be expected to set the language on their device in order to use your application. Therefore, localized strings should not be used to provide this functionality in your app.
Now, if you want to use Core Data, or something simpler like an NSDictionary, that's another story.
One disadvantage of using an NSDictionary is that it must fit in memory. So, if the entire data set for your translation is large, something like Core Data (or at least SQLite) seems like the right choice.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With