Closed Bug 1453594 Opened 7 years ago Closed 6 years ago

Support Android's strings.xml localization format as first-class citizen in our l10n toolchain

Categories

(Localization Infrastructure and Tools :: General, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: Pike, Unassigned)

References

()

Details

User Story

Work needs to happen on both pontoon and compare-locales.

compare-locales is needed for basic stats of translation completion, but also for linting localized files for builds.

pontoon is needed to edit the localized files, integrate the error checks from c-l, and create good localizer experience for the advanced features in strings.xml.

Basic support:
* we can read the xml file in both tools, find and identify English and localized strings
* we can write localized files back in pontoon
* we can cross-channel merge localized files in compare-locales
* escaping quotes work

Features to triage:

Plurals:
Android comes with its own way of doing plurals, based on cldr plural forms.
https://developer.android.com/guide/topics/resources/string-resource.html#Plurals
Tasks include:
* validate plural forms on some set of supported Android versions, cross check with the plurals.py in compare-locales.
* add plurals check to compare-locales
* add plurals support to pontoon, creating a consistent experience with fluent and gettext

Formatting:
Android support printf-style formatting.
Tasks include:
* reverse-engineer a strict definition of what happens if you screw up the syntax
* implement checks accordingly in compare-locales
* highlight printf in pontoon and protect it as required
* create developer-facing tests to make it hard to screw up (explicitly numbering, for example)

Styling:
Android supports using HTML to format strings.
https://developer.android.com/guide/topics/resources/string-resource.html#FormattingAndStyling
Tasks include:
* validating permitted and forbidden styling in compare-locales
* highlighting styling in pontoon

XLIFF:
Android supports some level of xliff hints.
https://developer.android.com/guide/topics/resources/localization.html
Tasks include:
* specify set to support
* create compare-locales checks to ensure the set
* create developer-facing tests to ensure the set and its use
* highlighting and editing support in pontoon
For our Android-targetting software projects, it'd be nice to support the Android's strings.xml l10n format directly. We'll need more phases here to actually do something, starting a user story to track that.
Depends on: 1465341
Depends on: 1472150

All dependencies are fixed here, let's resolve this.

Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.