Assuming your code base is already internationalized (strings are separated from code, you're using libraries for things like plurals and number/date formats), then localizing your app is mainly about maintaining translated versions of the strings.
Your choice of tool should probably be informed by whether or not you will use paid translators and/or you hope that users will contribute some of the translations.
- If your users are passionate enough that you can get multiple users contributing/checking translations for each language, then you could subscribe to CrowdIn or Transifex to host your strings. Your only cost will be the monthly fee.
- If you need to pay translators for some/all language pairs, then you could use one of the platforms above, along with translators you find, or you could get a complete-ish service (platform + translations) from a single provider. ISTR both Smartling and Transifex do this.
In any case, think about:
- How often strings will change, and what you'll do when they do
- How you'll make sure that you don't translate the same strings multiple times (and pay multiple times). Most platforms that also provide translation will also have a Translation Memory for this purpose.
- Whether and how you'll check the quality of translation
- Whether you want to store the translation on your server (probably) or whether you want the translations served dynamically from a separate server (worth considering, IMO not worth it).
(I am a Product Manager at Google, working on our app translation service for Google Play developers. This service doesn't cover your use case, and the opinions above are my own, not Google's.)