Is it possible to have multiple components that have their separate localizations in an app?
For example I want to localize strings in my app but also use ShareKit w
It is not possible to do what you are asking. You can have multiple Localizable.strings files, but only one per language in their respective .lproj folders.
I understand that you do not want to edit the ShareKit Localizable.strings files because that would be a pain when updating but I think you need to look at how much work it would actually take. Depending on how many languages you need to support it may be less work to localize your own strings and add them to the bottom of the ShareKit Localizable.strings files than to implement your own localization scheme.
BTW, to detect what language the device is currently set to you can use:
NSArray *preferedLocalizations = [[NSBundle mainBundle] preferredLocalizations];
This gives you an array of two letter language code strings. The item at index 0 is the currently selected language. This could be helpful if you need to make logic decisions based on the language.