Continuous Localization Agenda Brief History Q&A 1. 4. How - - PowerPoint PPT Presentation

continuous localization agenda
SMART_READER_LITE
LIVE PREVIEW

Continuous Localization Agenda Brief History Q&A 1. 4. How - - PowerPoint PPT Presentation

Continuous Localization Agenda Brief History Q&A 1. 4. How we shipped Firefox Continuous L10n 2. Localizing Firefox Nightly 3. Android Analysis of our Android Apps Public 2 Shipping Localized Firefox over time Public 3 The


slide-1
SLIDE 1

Continuous Localization

slide-2
SLIDE 2

Public

Agenda

2

Android

Analysis of our Android Apps

Continuous L10n

Localizing Firefox Nightly

Brief History

How we shipped Firefox

Q&A 3. 2. 1. 4.

slide-3
SLIDE 3

Public 3

Shipping Localized Firefox

  • ver time
slide-4
SLIDE 4

Public

Firefox < 5

  • Localize mostly on the release branch
  • We all forgot most of that
  • It was year(s) per branch

The OLD Days

4

slide-5
SLIDE 5

Mozilla Confidential

Nightly

getting closer in 2011

  • small locale list
  • localized builds each day
  • directly what’s on central
  • localizers merge to Aurora

Rapid Release

5

Aurora

  • all locales
  • 6-ish weeks of string freeze
  • localized builds each day
  • l10n-drivers merge to Beta

Beta

  • release-ready locales
  • weekly builds
  • signed off by localizers
  • reviewed by l10n-drivers
  • release-engineering merges

to release

slide-6
SLIDE 6

Public

post-”Dawn”

  • one localization for Nightly, Beta, Release, ESR
  • “Herald” notifies on patches touching l10n
  • Localization of Nightly, Beta, Release in Pontoon
  • Nightly builds twice a day with latest localization
  • Beta twice a week with sign-offs by l10n-drivers
  • Release/ESR with latest state of that release during Beta, plus fixups

Today

6

slide-7
SLIDE 7

Public

  • Herald is part of Phabricator
  • CCs l10n-drivers on patches when they get submitted for review
  • Developers can’t hide ;-)
  • We don’t know when developers don’t touch l10n files, but should.
  • Use CODEOWNERS on github to achieve similar results

catching localization issues during review

Herald

7

slide-8
SLIDE 8

Public

  • problems for localization still reach mozilla-central
  • keep them to just a few localizers to verify
  • ask for help if problems arise
  • publish known-good states to gecko-strings

not everything is healthy

Quarantine

8

slide-9
SLIDE 9

Public

  • en-US strings
  • contains the unit (super-set) of
  • mozilla-central, mozilla-beta, mozilla-release
  • comm-central, comm-beta, comm-release
  • we localize this, and have strings for each

channel

  • thus cross-channel
  • used to build localized versions of Firefox,

Fennec, Thunderbird, SeaMonkey

  • will include ESR at some point in the future

gecko-strings

9

slide-10
SLIDE 10

Public 10

Android

Mobile Apps & More

slide-11
SLIDE 11

Public

  • Android app development puts localizable strings into strings.xml files
  • Strings have comments, and are maintained as part of the patch
  • Engineering teams are set on a linear history in git

All set for continuous localization!

The good parts

11

slide-12
SLIDE 12

Mozilla Confidential

<resources> <string name="app_name">Two Strings</string> <string name="textView1">one string" with &quot; apos"'"trophe</string> <string name="textView2">one string\" with \" apos\'trophe</string> </resources>

… if they’d ever fix that bug ...

… and the Ugly

12

slide-13
SLIDE 13

Public

app/src/main/res/values/strings.xml is localized in

  • app/src/main/res/values-de-rDE/strings.xml or
  • app/src/main/res/values-b+sr+Latn/strings.xml

Locale codes: in vs id, etc Documentation only describes best practices, but lacks definition of edge cases

Still Ugly

13

slide-14
SLIDE 14

Public 14

The Way Forward

  • Establish a mozilla-supported subset
  • Automated tests to enforce that

subset

  • Support some quirks like locale codes

=> Pontoon can localize Android projects directly.

slide-15
SLIDE 15

Public

Many Things Firefox

Mozilla’s Android Apps

15

And

  • Android Components
  • Firefox Lockbox
  • Firefox Reality
  • Firefox Lite
  • Fenix
  • ...
slide-16
SLIDE 16

Public

Workflow

16

Q xx-XX en-US Pontoon

Android product repos

1 2 3 4 5 6 7

slide-17
SLIDE 17

Public

  • Builds with all languages
  • Published on a developer channel with updates
  • Some projects will have automated screenshots for testing

Builds

17

slide-18
SLIDE 18

Thank You

Mozilla Confidential