
Android strings.xml, XLIFF, RESX, and custom schemas. Tags and attributes stay intact. Just the text content gets translated.
XML looks simple until you need to translate it. Tags get mangled, attributes get translated when they shouldn't be, CDATA sections disappear, and self-closing tags break. One misplaced angle bracket and your entire app crashes.
HTML and XML tags inside translatable strings get corrupted or stripped
Attributes that should stay untouched (IDs, names, formats) get translated by mistake
CDATA sections, processing instructions, and comments are mangled or removed
XML entities and special characters get double-encoded or lost
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">MyApp</string>
<string name="welcome">Welcome, %1$s!</string>
<string name="items_count">%d items</string>
<plurals name="inbox">
<item quantity="one">%d new message</item>
<item quantity="other">%d new messages</item>
</plurals>
</resources><?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">MyApp</string>
<string name="welcome">환영합니다, %1$s!</string>
<string name="items_count">%d개 항목</string>
<plurals name="inbox">
<item quantity="other">새 메시지 %d개</item>
</plurals>
</resources>Opening tags, closing tags, self-closing elements, and nested XML hierarchies stay exactly as defined
Element attributes like name, id, and translatable flags are recognized and left untouched
CDATA sections pass through unchanged. XML comments are preserved in their original positions
XML declarations, character encoding, and named entities are handled correctly for every target language

No manual copy-paste. No string extraction. Just translated files.
Still stuck on a TMS contract? Let's talk about migrating.