Git Product home page Git Product logo

archived-roadmap's People

Contributors

pike avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

archived-roadmap's Issues

Documentation

  • Inline code comments
  • docstrings
    • src/lib/dom
    • src/lib/observer
    • src/lib/format
    • src/intl
    • src/ftl
  • usage docs (restructured text, gecko RTD)

Localizer Documentation - Pontoon Edition

For localizers using pontoon, we'll need to document selectors and traits.

This will depend on how much the pontoon UI is helping with each of the facets of l20n at the time strings hit aurora/pontoon, see issue #14.

Migration DTD/properties -> FTL

Input Data

The Migration process uses

  • en-US ftl
  • l10n ftl existing state
  • legacy l10n data in DTDs, properties, etc
  • Operations

Operations

The current list of operations are

  • COPY with unescaping of < and \u00a0
  • PLACABLE REFORMAT, &brandShortName;, %S, %1$S, { name }, #1
  • PLURAL reconstruction, analyze existing plural string, map PluralForms.jsm numbers to CLDR keys, iterate over strings, create selector
  • CONCAT all of the above, plus literals
  • DELETE id_or_trait, in case we want to delete existing messages or one of their traits

Message Generation

Messages are generated with an extended AST, which creates the AST of a message with the operations and data above.

Message Merge

Message merge takes the new (and to be deleted) messages, along with their attribution. It then executes a merge algorithm for each author and commits that.

The merge algorithm takes the en-US ftl as template, to create sections, comments, and order messages. It creates a minimal edit based on top of the (existing or newly created) l10n ftl file. It doesn't reformat outside of messages that are given by the operations for the current author.

In case of doubt, strings are inserted last into the section they belong to.

Much of this will be implemented as part of python-l20n.

Tests

  • parser
  • resolver
  • Localization
  • DOM
  • Mochi tests for mozilla-central

Landing Decision

When we have a good understanding of our potential performance impact, we need to come to a decision with the rest of the org on next steps.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.