Your question is not related to programming, but it may be relevant to everybody who develops software that is intended for users that speak different languages, so I will try to answer it here.
You mention that you have an IDML and an XLIFF file and you want to translate the IDML file. This approach does not really make sense: a typical translation workflow would be
- extract translatables from native format (IDML in your case) into XLIFF
- send XLIFF to a translator
- get translated XLIFF back
- import translated XLIFF into native format
- do post-translation processing (adapt fonts, resize text boxes, update tables of content, to name just a few)
Okapi Rainbow is a tool that you can use for steps 1 and 4 in the process above. It will not perform automatic translation for you.
Actually the first thing you should do is ask your translator if he can process IDML. Some translation environments have built-in support for IDML, in which case you don't have to bother with providing XLIFF.