Data format

ANDROIDXML converter

An Android string resource file — catalogued here as .androidxml — is the res/values/strings.xml of an Android application: a <resources> element containing <string name=…> entries, plus optional <plurals> and <string-array> groups. Because every Android project names the file strings.xml, there is no real extension to key on, so Novus Convert recognises these by the .android.xml suffix and files them under .androidxml to keep them distinct from generic XML.

Private for supported formats — processed in your browser

Convert supported files

Runs on your device

Drop ANDROIDXML files here

Batch files can each use a different output. Nothing uploads for local conversions.

Working inputs include camera RAW, browser-local audio/video, PDF, CBZ/CBR comics, office documents, ebooks, markup, 3D models, structured text, images, and archives.

Where ANDROIDXML comes from

Android's resource system dates to the platform's 2008 launch and was designed around configuration qualifiers rather than around translation: values/, values-fr/, values-fr-rCA/ and dozens of non-language dimensions all resolve through the same mechanism. That made localisation a special case of a general system, which is why Android strings carry no language attribute inside the document — the directory name is the locale.

How ANDROIDXML works

  • Entries are <string name=…> with the translatable text as element content; the name is the R.string identifier the code references.
  • Plurals use <plurals> with <item quantity=…> children keyed by the CLDR categories zero, one, two, few, many and other.
  • Escaping is fussy: apostrophes and double quotes must be escaped or the string is wrapped in quotes, and @ and ? are resource-reference sigils.
  • Positional formatting uses printf-style specifiers such as %1$s, and translations must keep the positional index to reorder safely.
  • A translatable="false" attribute marks strings that must not be sent out for translation.
  • The locale is expressed by the containing values-* directory, never inside the file.

When to use ANDROIDXML

  • Localising an Android application
  • Exporting Android strings for a translation platform or vendor
  • Migrating strings between Android and iOS or a shared cross-platform catalog
  • Checking that every locale has the strings the default locale defines

Strengths and limitations

Strengths

  • Integrated with Android's whole resource-qualifier system, so locale selection is automatic
  • Real plural support using the CLDR categories rather than a bolted-on convention
  • Compile-time identifiers catch typos in string names

Limitations

  • Escaping rules are a common source of subtly broken translations
  • The locale lives in the directory name, so a file alone is ambiguous
  • String arrays and plurals do not map cleanly onto flat key-value formats

Compatibility

Android Studio and the Gradle build read these natively, and translation platforms support them widely. Novus Convert parses the <resources>/<string> structure locally, rejects documents carrying a doctype or custom entities, and converts to and from the other localization formats; plurals and string arrays are outside the flat one-string-per-key model and are not carried across.

String names and their text are preserved. Plural groups, string arrays, the translatable attribute and the directory-derived locale are not represented in flat catalog targets.