ok, so I've done everything to translate my app, as described here. And I got different versions working. But I'm confused on that ID's topic:
As the application evolves, you will change the i18n markup and re-run the ng-xi18n extraction tool many times. The new markup that you add is not a problem; but most changes to existing markup trigger generation of new ids for the affected translation units. After an id changes, the translation files are no longer in-sync. All translated versions of the application will fail during re-compilation. The error messages identify the old ids that are no longer valid but they don't tell you what the new ids should be. Commit all translation message files to source control, especially the English source messages.xlf. The difference between the old and the new messages.xlf file help you find and update id changes across your translation files.
I tried to add new paragraphs to my html templates and existing translate-units have not changed. So, when those ID change, how to prevent them from changing if I change component's templates, what is the best practice to maintain translations while developing app? I don't find answers to those questions anywhere.