https://wiki.mozilla.org/api.php?action=feedcontributions&user=StasM&feedformat=atomMozillaWiki - User contributions [en]2024-03-29T11:46:44ZUser contributionsMediaWiki 1.27.4https://wiki.mozilla.org/index.php?title=Fluent&diff=1215458Fluent2019-07-23T07:16:19Z<p>StasM: Add Firefox Dev Tools and New Tab</p>
<hr />
<div>Project Fluent is a localization system designed to improve how software is translated. See http://projectfluent.org/ for more information, including the links to the project's repositories and the GitHub wiki.<br />
<br />
==Mozilla Projects Using Fluent==<br />
<br />
=====fluent-react=====<br />
* https://github.com/mozilla/testpilot (the website)<br />
* https://github.com/mozilla-services/screenshots (the website)<br />
* https://github.com/mozilla/voice-web<br />
* https://github.com/mozilla-lockbox/lockbox-extension <span style="color: orange">(not actively localized)</span><br />
* https://github.com/coralproject/talk/tree/next<br />
* https://github.com/mozilla/activate.mozilla.community/<br />
* Firefox Dev Tools https://searchfox.org/mozilla-central/source/devtools/client<br />
* Firefox New Tab https://searchfox.org/mozilla-central/source/browser/components/newtab<br />
<br />
=====vanilla fluent=====<br />
*https://github.com/mozilla/send<br />
*https://github.com/mozilla/blurts-server</div>StasMhttps://wiki.mozilla.org/index.php?title=Fluent&diff=1214040Fluent2019-06-20T17:41:30Z<p>StasM: /* fluent-react */ Add Activate</p>
<hr />
<div>Project Fluent is a localization system designed to improve how software is translated. See http://projectfluent.org/ for more information, including the links to the project's repositories and the GitHub wiki.<br />
<br />
==Mozilla Projects Using Fluent==<br />
<br />
=====fluent-react=====<br />
* https://github.com/mozilla/testpilot (the website)<br />
* https://github.com/mozilla-services/screenshots (the website)<br />
* https://github.com/mozilla/voice-web<br />
* https://github.com/mozilla-lockbox/lockbox-extension <span style="color: orange">(not actively localized)</span><br />
* https://github.com/coralproject/talk/tree/next<br />
* https://github.com/mozilla/activate.mozilla.community/<br />
<br />
=====vanilla fluent=====<br />
*https://github.com/mozilla/send<br />
*https://github.com/mozilla/blurts-server</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Goals/H1-2019&diff=1209234L10n:Goals/H1-20192019-03-20T10:27:35Z<p>StasM: /* Stas */</p>
<hr />
<div>[[Category:L10n goals]]<br />
==Team Goals==<br />
<br />
==Roundtable==<br />
<br />
=== Axel ===<br />
Define elmo's role going forward.<br />
<br />
=== Delphine ===<br />
Create and maintain a “meta project” that tracks all Android projects part of cross-product l10n repo <br />
* Should track existing Github issues for at least the 5 projects initially planned for cross-product<br />
* Contain links to the 5 cross-functional teams’ release schedules and relevant available resources<br />
* List l10n main/relevant points of contacts from each team (Product, EPMs, etc)<br />
<br />
=== Flod ===<br />
<br />
Reduce the amount of work required by Fluent reviews for mozilla-central:<br />
* <span style="color: black"><strong>[]</strong></span> Identify tasks that can be automated via linting and tests.<br />
* <span style="color: black"><strong>[]</strong></span> Create documentation for reviewers describing common problems and expectations.<br />
* <span style="color: black"><strong>[]</strong></span> Drop the mandatory review for FTL files by end of H1.<br />
<br />
Ensure team’s productivity and success in Q2 while standing in as a manager.:<br />
* <span style="color: black"><strong>[]</strong></span> Ensure that at least 70% of the team OKR defined for Q2 are completed.<br />
* <span style="color: black"><strong>[]</strong></span> (Personal growth) Use feedback and experience to identify areas where I need to invest for personal growth, evaluate becoming a manager as a potential career path, and use this information to define an Individual Development Plan in H2.<br />
<br />
=== Jeff ===<br />
Publish new service level agreements for localization team.<br />
*Creating a new draft of the Localization Mana page around the team's purpose, processes, and SLAs.<br />
*Create official project request intake pipeline through standard Mozilla channels.<br />
*Managing feedback rounds with l10n team, eng ops leadership, executive leadership, and internal clients.<br />
*Refining Mana doc with each feedback round.<br />
*Creating comms strategy for the update.<br />
*Publishing doc and executing on comms strategy.<br />
<br />
=== Matjaž ===<br />
<br />
=== Peiying ===<br />
L10n documentation for internal customers and vendors<br />
* Set up customer facing documentation (on Mana)<br />
* Create and share l10n best practice documentation after l10n team review (on Mana)<br />
* Set up German localization style guide provided by Anika Dore for community (on GitHub) and vendors (on Mana)<br />
* Documentation on working with a self-service platform (on Mana)<br />
<br />
=== Stas ===<br />
<br />
Create the formatting specification for Fluent.<br />
<br />
In 2018 and early 2019, Fluent's specification work has focused on the file format. The Fluent 1.0 milestone encompasses the syntax specification and ships with a reference implementation of the parser. In H1 2019, I will extend the specification to include the process of formatting translations from the parsed syntax.<br />
<br />
'''Deliverables'''<br />
<br />
* A reference resolver in the projectfluent/fluent repo.<br />
* An inventory and description of possible errors and warnings.<br />
* A suite of reference test fixtures.<br />
<br />
'''Stretch sub-goals'''<br />
<br />
* Update the implementation of the resolver in fluent.js.<br />
* Update the implementation of the resolver in python-fluent.<br />
* Update the implementation of the resolver in fluent-rs.<br />
<br />
=== Adrian ===<br />
<br />
Release Translate.Next<br />
* Implement all missing features<br />
* Perform at least 3 rounds of testing with core users<br />
* Enable Translate.Next on prod by default for a small percentage of users<br />
<br />
Improve development processes of Pontoon<br />
* Update and improve developer documentation<br />
* Streamline and document the release process (stage and prod)<br />
* Audit, document and change (if needed) the bug triage process<br />
<br />
=== Theo (optional) ===</div>StasMhttps://wiki.mozilla.org/index.php?title=Fluent&diff=1202927Fluent2018-10-26T08:25:38Z<p>StasM: </p>
<hr />
<div>Project Fluent is a localization system designed to improve how software is translated. See http://projectfluent.org/ for more information, including the links to the project's repositories and the GitHub wiki.<br />
<br />
==Mozilla Projects Using Fluent==<br />
<br />
=====fluent-react=====<br />
* https://github.com/mozilla/testpilot (the website)<br />
* https://github.com/mozilla-services/screenshots (the website)<br />
* https://github.com/mozilla/voice-web<br />
* https://github.com/mozilla-lockbox/lockbox-extension <span style="color: orange">(not actively localized)</span><br />
* https://github.com/coralproject/talk/tree/next<br />
<br />
=====vanilla fluent=====<br />
*https://github.com/mozilla/send<br />
*https://github.com/mozilla/blurts-server</div>StasMhttps://wiki.mozilla.org/index.php?title=Fluent&diff=1202247Fluent2018-10-12T06:14:19Z<p>StasM: </p>
<hr />
<div>Project Fluent is a localization system designed to improve how software is translated. See http://projectfluent.org/ for more information, including the links to the project's repositories and the GitHub wiki.<br />
<br />
==Mozilla Projects Using Fluent==<br />
<br />
=====fluent-react=====<br />
* https://github.com/mozilla/testpilot (the website)<br />
* https://github.com/mozilla-services/screenshots (the website)<br />
* https://github.com/mozilla/voice-web<br />
* https://github.com/mozilla-lockbox/lockbox-extension <span style="color: orange">(not actively localized)</span><br />
<br />
=====vanilla fluent=====<br />
*https://github.com/mozilla/send<br />
*https://github.com/mozilla/blurts-server</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon&diff=1197522L10n:Pontoon2018-07-18T17:35:37Z<p>StasM: /* Get involved */ Update the link to devdocs</p>
<hr />
<div>== Introduction ==<br />
[https://pontoon.mozilla.org/ Pontoon] is Mozilla's Localization Platform. Development takes place on [https://github.com/mozilla/pontoon GitHub], where you can also find documentation, ways to get involved and contact information.<br />
<br />
This wiki page mainly serves as a development roadmap. We use Mozilla wiki, because it nicely integrates with [https://bugzilla.mozilla.org/buglist.cgi?product=Webtools&component=Pontoon&resolution=--- Bugzilla], which we use for tracking bugs.<br />
<br />
== Prioritizing bugs ==<br />
We use 5 bug priority levels, which effectively define the short term roadmap. Priority is usually set after the bug has been confirmed by one of the developers.<br />
* '''P1''': Must be fixed immediately, drop any other work.<br />
* '''P2''': We want to ship this soon, possibly in the current quarter.<br />
* '''P3''': Default starting point, possibly shipping in the following two quarters.<br />
* '''P4''': We expect it to be fixed someday.<br />
* '''P5''': A valid bug, but we might never fix it, unless you provide a patch.<br />
<br />
== Current quarter ==<br />
<br />
===OKR: Replace the existing Translate page with a new version based on React and recent Web technologies===<br />
<bugzilla><br />
{<br />
"id": "1473330,1473348,1476617",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
===OKR: Compare-locales runs automated quality checks within Pontoon===<br />
<bugzilla><br />
{<br />
"id": "1458345, 1458346, 1463173, 1463999, 1475960, 1475962",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
===Improve path to first contribution to localization at Mozilla (GSoC)===<br />
<bugzilla><br />
{<br />
"id": "1378471, 1473134, 1344457, 1468997",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
===Other goals===<br />
<bugzilla><br />
{<br />
"id": "1407016, 1465121, 1472793, 1472995, 1473022, 1456846, 1342613, 1464802, 1219431, 1468840, 1471354, 1473372, 1473866, 1350546",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
== Next quarter candidates ==<br />
<br />
=== [[L10n:Pontoon/API | Continue development of the Pontoon API]] ===<br />
<br />
=== [[L10n:Pontoon/Python_3 | Make Pontoon Python 3 compatible]] ===<br />
<bugzilla><br />
{<br />
"id": "1362323",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
=== Feedback loop ===<br />
<bugzilla><br />
{<br />
"id": "1203265, 1357499, 1361318",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
=== Notifications ===<br />
<bugzilla><br />
{<br />
"product": "Webtools",<br />
"component": "Pontoon",<br />
"summary": "[notifications]",<br />
"resolution": "---",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
=== Activity tracking ===<br />
<bugzilla><br />
{<br />
"id": "1473761, 1473760, 1225109, 1249470, 1468840",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
== Second Quarter ==<br />
<br />
===OKR: Pontoon has rich-editor Fluent support that maintains existing Pontoon functionality===<br />
<bugzilla><br />
{<br />
"id": "1433763, 1434536, 1447231, 1382686, 1450505, 1453231, 1453328, 1453319, 1453331, 1453879, 1454003, 1455099, 1455191",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
===OKR: Pontoon uses the same error reporting tool as ELMO (i.e., compare-locales running in Pontoon)===<br />
<bugzilla><br />
{<br />
"id": "1458343, 1458344, 1458347",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
===Other goals===<br />
<bugzilla><br />
{<br />
"id": "1426676, 1423679, 1377969, 1213346, 1452647, 1453018, 1453999, 1463073, 1455246, 1467391, 1468797, 1461630, 1398339, 1410619, 1459601",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
===Missed goals===<br />
<bugzilla><br />
{<br />
"id": "1243129, 1407016, 1453324, 1465121, 1458345, 1458346, 1463173, 1463999",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
== First Quarter ==<br />
<br />
===OKR: Implement string tiers to help localizers to determine the highest impact areas of the product for their contributions===<br />
<bugzilla><br />
{<br />
"id": "1416256",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
===OKR: Pontoon has rich-editor Fluent support that maintains existing Pontoon functionality===<br />
<bugzilla><br />
{<br />
"id": "1430941, 1429758, 1431436, 1431435, 1433499, 1434535, 1437989, 1405256, 1424381, 1436672, 1436671, 1441020, 1442201, 1445435, 1447095, 1437857, 1447103",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
===Other goals===<br />
<bugzilla><br />
{<br />
"id": "1219908, 1435010, 1305281, 1335331, 1229891, 1398852, 1434554, 1443584, 1389969, 1389724, 1410569, 1435258, 1418540, 1416528, 1432179, 1436149, 1439650, 1389820, 1389820, 1424845",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
===Missed goals===<br />
<bugzilla><br />
{<br />
"id": "1243140, 1237667, 1426676, 1243129, 1423679, 1377969, 1433763, 1434536, 1443551, 1447231",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
== Get involved ==<br />
Check out [https://mozilla-pontoon.readthedocs.io/en/latest/dev/setup.html developer docs] to learn how to set up Pontoon on your computer for development. Here are a few mentored bugs, good to start with for new contributors.<br />
<bugzilla><br />
{<br />
"product": "Webtools",<br />
"component": "Pontoon",<br />
"bug_mentor_type": "contains",<br />
"bug_mentor": "@",<br />
"resolution": "---"<br />
}<br />
</bugzilla><br />
<br />
== Feature Brainstorming ==<br />
If you want to present an idea that is not ready to be put on Bugzilla yet, please add it to [[L10n:Pontoon/Ideas|L10n:Pontoon/Ideas]].<br />
<br />
== Fun read from the past! ==<br />
* [http://ozten.com/psto/2009/08/14/a-sketch-of-po-liveedit/ A Sketch of PO LiveEdit (by Austin King)]<br />
* [http://diary.braniecki.net/tag/pontoon/ Posts on Pontoon (by Zbigniew Braniecki)]<br />
* [http://blog.mozilla.com/webdev/2009/08/17/improving-mozilla-web-localization-part-3-challenges-for-tools/ Improving Mozilla Web Localization, Part 3: Challenges for Tools (by Fred Wenzel)]<br />
* [https://etherpad.mozilla.org/pontoon-2011 Statement of work (2011)]<br />
<br />
[[Category:L10n]]</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Goals/H2-2018&diff=1197232L10n:Goals/H2-20182018-07-13T13:43:50Z<p>StasM: /* Stas */</p>
<hr />
<div>[[Category:L10n goals]]<br />
==Team Goals==<br />
Please ensure that individual goals (all or part) are contributing to our [https://docs.google.com/spreadsheets/d/1ZO4OfDZEA7zweUULaoxvmS8Vhyc1ZgXtl7v7pAIdoSg/edit#gid=0 2018 OKRs for localization]. Citing the OKR that your H2 goal contributes to in your goal section is preferred.<br />
* Fluent in Gecko - '''Zibi''', Ax, F, S<br />
* Multilingual Firefox - '''Flod''', Z, J, Ax <br />
* Fluent 1.0 - '''Stas''', Z, Ax<br />
* New brand translation policy - '''Peiying''', Z, F, D<br />
* compare-locales in Pontoon - '''Matjaz'''<br />
* Pontoon translate view in React/Fluent - '''Adrian'''<br />
* Android strings.xml - '''Axel''', M, D<br />
<br />
==Roundtable==<br />
<br />
=== Axel ===<br />
* '''Cross-channel for git and Android projects'''<br />
** Supporting Android strings.xml<br />
** Generate a single repository with ''all'' Android strings<br />
*** Focus/Klar, Firefox for TV<br />
*** Optional, TBC: Rocket<br />
* '''Support for Strings.xml in compare-locales'''<br />
** Supporting Android strings.xml<br />
** tier0 and tier1, https://bugzilla.mozilla.org/buglist.cgi?bug_id=1472157%2C1473577%2C1465342%2C1472150%2C1466088%2C1465341%2C1465517%2C1466836%2C1472149%2C1465711<br />
* Support for Android Components<br />
** Supporting Android strings.xml<br />
** Multiple strings.xml files against one cross-channel<br />
** Multiple reference files for one localized file support in compare-locales<br />
<br />
=== Delphine ===<br />
<br />
=== Flod ===<br />
<br />
=== Gandalf ===<br />
<br />
* '''Enable full Firefox migration to Fluent'''<br />
** Enable DTD->Fluent migration in all contexts<br />
** Enable fluent-react in Firefox<br />
** Enable properties->Fluent migration in all contexts<br />
** Experiment with fluent-rs in Gecko<br />
* '''Multilingual Firefox'''<br />
** Support Flod with M1-5.<br />
* '''Fluent 1.0'''<br />
** Support Stas with Fluent 1.0 release.<br />
<br />
=== Jeff ===<br />
;Workday goals<br />
<br />
'''Internal terminology management workflow will be streamlined.'''<br />
<br />
Corresponding OKR: ''Establish consistent practice of managing Mozilla terminology for all products and brand/product names.''<br />
<br />
This goal will be completed when:<br />
* We define requirements for a terminology management solution.<br />
* We evaluate at least 3 candidate solutions against our requirements.<br />
* We make a selection and formulate/execute a migration plan for existing terminology data.<br />
* We educate UX, SUMO, and others on using the solution and define an effective, streamlined pipeline for proposing, evaluating, and finalizing new terms.<br />
* We create a product requirement document (PRD) for terminology management in Mozilla l10n toolchain to determine the investment and its return if we were to build our own solution.<br />
<br />
'''L10n team is ready to scale localization for more mobile projects on faster timelines.'''<br />
<br />
Corresponding OKR: ''Android products can be rapidly bootstrapped and continuously localized.''<br />
<br />
This goal will be completed when:<br />
* Existing technical pain points in mobile l10n projects have been identified and scoped.<br />
* We can predict scale challenges in human overhead and technical inefficiencies.<br />
* We have a plan to account for scale challenges that is approved by leadership.<br />
<br />
=== Matjaž ===<br />
* Make localizer-critical data available in Pontoon<br />
** Implement support for errors and warnings in dashboards and filters<br />
** Implement file-level priorities<br />
** Implement file-level deadlines<br />
* Improve path to first contribution to localization at Mozilla<br />
** Implement new Pontoon homepage (mentor a GSoC student)<br />
** Implement new main menu for the translate view<br />
** Implement the ability to request a new locale through Pontoon<br />
* Organize a design sprint to design a translation feedback solution<br />
* Become comfortable with using Translate.next technologies<br />
* Add support for XML file format used in Android<br />
<br />
=== Peiying ===<br />
<br />
=== Stas ===<br />
<br />
* '''Release Fluent 1.0'''<br />
** Fluent Syntax 1.0 Spec is published.<br />
*** The reference parser is used to validate the spec.<br />
*** The Syntax Guide is up-to-date.<br />
** Implementations have been updated to Syntax 1.0.<br />
*** The runtime fluent module.<br />
*** The tooling fluent-syntax module.<br />
*** The python-fluent module.<br />
** L20n is deprecated.<br />
** Post-1.0 plan (end of 2017 and 2018) has been proposed.<br />
<br />
=== Adrian ===<br />
<br />
* [Translate.Next] Rewrite Translate into a Single Page Application<br />
** ''Key Result: All of Pontoon’s translate view UI is re-written using React and is internationalized using fluent-react.''<br />
** All features from current Translate application are ported to the new one<br />
** 100% of the code uses React and other efficient front-end technologies<br />
** All new code is fully localizable<br />
** All new code is unit tested and has decent code coverage (> 80%)<br />
<br />
* [Translate.Next] Improve the review process<br />
** ''Key Result: Translators and managers can give translation feedback when testing and reviewing translations within Pontoon.''<br />
** Design a better review process for translations<br />
*** Design 2 ideas for an improved review process<br />
*** Organize a local community meetup to test, improve, and choose the better option<br />
*** Define scope for the implementation of the chosen option<br />
<br />
* Non-Workday goals<br />
** Mentor a GSoC student<br />
** Implement the review process that has been chosen with the community<br />
** Organize testing of the new review process with the larger community<br />
<br />
=== Theo (optional) ===</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Goals/H2-2018&diff=1197169L10n:Goals/H2-20182018-07-12T14:29:56Z<p>StasM: /* Stas */</p>
<hr />
<div>[[Category:L10n goals]]<br />
==Team Goals==<br />
Please ensure that individual goals (all or part) are contributing to our [https://docs.google.com/spreadsheets/d/1ZO4OfDZEA7zweUULaoxvmS8Vhyc1ZgXtl7v7pAIdoSg/edit#gid=0 2018 OKRs for localization]. Citing the OKR that your H2 goal contributes to in your goal section is preferred.<br />
* Fluent in Gecko - '''Zibi''', Ax, F, S<br />
* Multilingual Firefox - '''Flod''', Ax, F, J<br />
* Fluent 1.0 - '''Stas''', Z, Ax<br />
* New brand translation policy - '''Peiying''', Z, F, D<br />
* compare-locales in Pontoon - '''Matjaz'''<br />
* Pontoon translate view in React/Fluent - '''Adrian'''<br />
* Android strings.xml - '''Axel''', M, D<br />
<br />
==Roundtable==<br />
<br />
=== Axel ===<br />
* '''Cross-channel for git and Android projects'''<br />
** Supporting Android strings.xml<br />
** Generate a single repository with ''all'' Android strings<br />
*** Focus/Klar, Firefox for TV<br />
*** Optional, TBC: Rocket<br />
* '''Support for Strings.xml in compare-locales'''<br />
** Supporting Android strings.xml<br />
** tier0 and tier1, https://bugzilla.mozilla.org/buglist.cgi?bug_id=1472157%2C1473577%2C1465342%2C1472150%2C1466088%2C1465341%2C1465517%2C1466836%2C1472149%2C1465711<br />
* Support for Android Components<br />
** Supporting Android strings.xml<br />
** Multiple strings.xml files against one cross-channel<br />
** Multiple reference files for one localized file support in compare-locales<br />
<br />
=== Delphine ===<br />
<br />
=== Flod ===<br />
<br />
=== Gandalf ===<br />
<br />
=== Jeff ===<br />
;Workday goals<br />
<br />
'''Internal terminology management workflow will be streamlined.'''<br />
<br />
Corresponding OKR: ''Establish consistent practice of managing Mozilla terminology for all products and brand/product names.''<br />
<br />
This goal will be completed when:<br />
* We define requirements for a terminology management solution.<br />
* We evaluate at least 3 candidate solutions against our requirements.<br />
* We make a selection and formulate/execute a migration plan for existing terminology data.<br />
* We educate UX, SUMO, and others on using the solution and define an effective, streamlined pipeline for proposing, evaluating, and finalizing new terms.<br />
* We create a product requirement document (PRD) for terminology management in Mozilla l10n toolchain to determine the investment and its return if we were to build our own solution.<br />
<br />
'''L10n team is ready to scale localization for more mobile projects on faster timelines.'''<br />
<br />
Corresponding OKR: ''Android products can be rapidly bootstrapped and continuously localized.''<br />
<br />
This goal will be completed when:<br />
* Existing technical pain points in mobile l10n projects have been identified and scoped.<br />
* We can predict scale challenges in human overhead and technical inefficiencies.<br />
* We have a plan to account for scale challenges that is approved by leadership.<br />
<br />
=== Matjaž ===<br />
* Make localizer-critical data available in Pontoon<br />
** Implement support for errors and warnings in dashboards and filters<br />
** Implement file-level priorities<br />
** Implement file-level deadlines<br />
* Improve path to first contribution to localization at Mozilla<br />
** Implement new Pontoon homepage (mentor a GSoC student)<br />
** Implement new main menu for the translate view<br />
** Implement the ability to request a new locale through Pontoon<br />
* Organize a design sprint to design a translation feedback solution<br />
* Become comfortable with using Translate.next technologies<br />
* Add support for XML file format used in Android<br />
<br />
=== Peiying ===<br />
<br />
=== Stas ===<br />
<br />
* '''Release Fluent 1.0'''<br />
** Fluent Syntax 1.0 Spec is published.<br />
*** The reference parser is used to validate the spec.<br />
*** The Syntax Guide is up-to-date.<br />
** Implementations have been updated to Syntax 1.0.<br />
*** The runtime fluent module.<br />
*** The tooling fluent-syntax module.<br />
*** The python-fluent module.<br />
** L20n is deprecated.<br />
<br />
=== Adrian ===<br />
<br />
* [Translate.Next] Rewrite Translate into a Single Page Application<br />
** ''Key Result: All of Pontoon’s translate view UI is re-written using React and is internationalized using fluent-react.''<br />
** All features from current Translate application are ported to the new one<br />
** 100% of the code uses React and other efficient front-end technologies<br />
** All new code is fully localizable<br />
** All new code is unit tested and has decent code coverage (> 80%)<br />
<br />
* [Translate.Next] Improve the review process<br />
** ''Key Result: Translators and managers can give translation feedback when testing and reviewing translations within Pontoon.''<br />
** Design a better review process for translations<br />
*** Design 2 ideas for an improved review process<br />
*** Organize a local community meetup to test, improve, and choose the better option<br />
*** Define scope for the implementation of the chosen option<br />
<br />
* Non-Workday goals<br />
** Mentor a GSoC student<br />
** Implement the review process that has been chosen with the community<br />
** Organize testing of the new review process with the larger community<br />
<br />
=== Theo (optional) ===</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Meetings/SF-All-Hands&diff=1195319L10n:Meetings/SF-All-Hands2018-06-07T09:48:38Z<p>StasM: /* Stas */</p>
<hr />
<div>[[Category:L10n goals]]<br />
==Team Goals==<br />
*<br />
<br />
==Roundtable==<br />
<br />
=== Delphine ===<br />
* [PMs] Community events discussion. Set firm dates for all of them<br />
* [PMs] Next steps since Brent won't be doing internship - what goals are we going to have to change<br />
* [PMs/Areej] Discussion about localization processes with Areej, and how she can bring new people in when she goes back to Jordan<br />
* [Flod/Zibi/Jeff] CLDR - What's next?<br />
* [Axel] Fenix - latest updates (if needed)<br />
* [Jeff] Video with Alcides<br />
* [Personal] Finish pending localizer/internal docs (or at least, get as much done as possible)<br />
* [Personal/OI] At least 4 meetings already set up about next steps for Open Innovation and l10n projects<br />
* [Personal/Emma] D&I meetings<br />
* [Personal/Mobile] Meeting with all Fenix/Rocket/Amazon/Focus/ etc (mobile) folks<br />
* [Persona] Chat with Lockbox folks<br />
<br />
=== Flod ===<br />
<br />
<br />
=== Gandalf ===<br />
<br />
<br />
=== Jeff ===<br />
* Advance Fluent and Multilingual Firefox stories.<br />
* Finalize list of H2 team OKRs.<br />
* Learn and plan for Rocket roadmap with Delphine.<br />
* Coordinate feedback discussions about community leadership roles and submit updates to descriptions in documentation.<br />
* Help Jakob achieve his goals.<br />
* Create final schedule for trips in H2 2018.<br />
<br />
=== Matjaž ===<br />
<br />
<br />
=== Pei ===<br />
<br />
<br />
=== Stas ===<br />
* Plan the release of Fluent 0.7, 0.8 and 1.0<br />
* Plan Q3 and Q4 for Fluent<br />
* Plan 2019 for Fluent<br />
* Move arewefluentyet.com forward<br />
* Gather fluent-react feedback from Common Voice, Devtools<br />
<br />
=== Axel ===<br />
<br />
<br />
=== Areej ===<br />
* Re-build the Mozilla community in Jordan and empower WoMoz<br />
* Learn what best practices of the successful communities, and involve in regional projects, so the contributions can be sustainable<br />
* Know more about localization process and reviewing<br />
* Communicate with the different teams and catch up with the latest projects<br />
<br />
=== Fauzan ===<br />
* Re-arrange Mozilla ID L10n community, due to the departure of Benny as manager<br />
* Planning ID community event in Indonesia<br />
* Do preparation on bringing Rocket to more Indonesian locale, such as Sundanese (su) and Javanese (jv)<br />
* Prepare a short guide for local community if they're interested to localize Rocket/Fennec to other Indonesian locale<br />
<br />
=== Jakob ===<br />
<br />
<br />
=== Michal ===<br />
<br />
<br />
=== Dan ===</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Meetings/2018_Ljubljana&diff=1191404L10n:Meetings/2018 Ljubljana2018-03-28T10:29:34Z<p>StasM: /* Tuesday */</p>
<hr />
<div>[[Category:L10n workdays|{{SUBPAGENAME}}]]<br />
[[Category:L10n meetings|{{SUBPAGENAME}}]]<br />
<br />
__NOTOC__<br />
==Logistics==<br />
;where:<br />
Grand Hotel Union Business (DO NOT BOOK)<br />
<br />
Miklošičeva cesta 1<br />
<br />
1000 Ljubljana<br />
<br />
Slovenia<br />
<br />
;meeting location:<br />
Lotus on the 7th floor<br />
<br />
;when: 26-29 March 2018<br />
<br />
;travel: Plan to arrive on Sunday evening (25th) and to leave as early as Thursday evening (29th).<br />
<br />
;airport transfer: [https://www.markun-shuttle.com/en/airtransfer/ljubljana-airport-lju/ljubljana.html?phpMyAdmin=BIaz2FdCBqdgJZwsXEh8tpiMkrb Book Here!]<br />
<br />
<br />
;arrivals:<br />
{| border="1"<br />
|-<br />
| Name <br />
| Date <br />
| Time <br />
| Airport <br />
| Flight<br />
|-<br />
| Jeff<br />
| 25 Mar<br />
| 14:35<br />
| LJU<br />
| DL8368<br />
|-<br />
| Zibi <br />
| Mar 25<br />
| 4:50pm<br />
| LJU<br />
| LH 6904<br />
|-<br />
| Pike<br />
| 25<br />
| 16:50<br />
| LJU<br />
| Adria 113<br />
|-<br />
| Matjaž <br />
| Mar 25<br />
| Afternoon<br />
| Automobile<br />
| Automobile<br />
|-<br />
| Stas<br />
| Mar 26<br />
| 11:25<br />
| LJU<br />
| LO 5561<br />
|-<br />
| Pei <br />
| Mar 24<br />
| 11:15<br />
| LJU<br />
| JP 377<br />
|-<br />
| Flod <br />
| Mar 25<br />
| Early afternoon<br />
| By car<br />
| <br />
|-<br />
| Delphine <br />
| Mar 24<br />
| 12:05 <br />
| LJU<br />
| KL 3651 (operated Adria) <br />
|-<br />
| Adrian <br />
| Mar 25<br />
| 16:50<br />
| LJU<br />
| LH 6904<br />
|-<br />
| Ryan <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
|}<br />
<br />
<br />
;departures:<br />
{| border="1"<br />
|-<br />
| Name <br />
| Date <br />
| Time <br />
| Airport <br />
| Flight<br />
|-<br />
| Jeff<br />
| 30 Mar<br />
| 17:10<br />
| LJU<br />
| AF6283<br />
|-<br />
| Zibi <br />
| Mar 30<br />
| 5:05pm<br />
| LJU<br />
| Adria 938<br />
|-<br />
| Pike<br />
| 30<br />
| 13:25<br />
| LJU<br />
| Adria 112<br />
|-<br />
| Matjaž <br />
| Mar 30<br />
| Evening<br />
| Automobile<br />
| Automobile<br />
|-<br />
| Stas<br />
| Mar 30<br />
| 13:40<br />
| LJU<br />
| LO 616<br />
|-<br />
| Pei <br />
| Mar 30<br />
| 07:05<br />
| LJU<br />
| JP 116<br />
|-<br />
| Flod <br />
| Mar 30<br />
| Morning<br />
| By Car<br />
| <br />
|-<br />
| Delphine <br />
| Mar 30<br />
| 15:15<br />
| LJU<br />
| AF 1187 <br />
|-<br />
| Adrian <br />
| Mar 30<br />
| 17:50<br />
| LJU<br />
| OS 7034<br />
|-<br />
| Ryan <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
|}<br />
<br />
===Goals of work week===<br />
;PM group<br />
*[https://docs.google.com/document/d/1Mh5vn-v7p_doPkk1ehvbQVy_ocVUFP9cqu4TKh8e0g4/edit#heading=h.sy17id4vd9mt Clear criteria for community health and framework for measuring it.]<br />
*[https://docs.google.com/document/d/1XaqGJbLSOFw9hUPzKe6gIYm3lL_AZMdE_dOqRZZ7Ptk/edit (stretch) PRD for terminology solution.]<br />
;Fluent group<br />
*Go/No Go for xchannel in ESR 60<br />
*Design the tracking process for Fluent and Fluent in Gecko.<br />
*Design the first iteration of arewefluentyet.com (PDF or paper)<br />
;Pontoon group<br />
*Land string tiers<br />
;Together<br />
*Work/life balance agreements<br />
*[https://docs.google.com/spreadsheets/d/1ij9GkjsmIC7SMheU4irdmVX8gJsQXkCph_onowgOzXU/edit#gid=0 All] [https://docs.google.com/spreadsheets/d/1ZFQc4RzGGMSFS-SUDquYNtiWKkFJbo_Sk1DVG-NmfFY/edit#gid=1836993926 Hands]<br />
<br />
==Schedule==<br />
====Sunday====<br />
* Arrivals<br />
* Dinner:<br />
====Monday====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 10:00<br />
| 13:00<br />
| 18:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Fluent Design Process<br />
**Cross-channel impacts the design of Fluent.<br />
***Any future syntax changes must consider the fact that xchannel takes the liberty to walk through the history of mozilla-central<br />
***Effectively, python-fluent must provide some sort of parsing support for all syntax starting from 0.4.<br />
***This will also benefit the use-case of mining the contribution <br />
**We are not going to do xchannel in ESR 60:<br />
***It allows us to migrate away from DTDs and remove them when not needed in release anymore.<br />
***Translations can be fixed in a single place (the FTL file).<br />
***We don’t have to work on adapting the sign-off process for release/ESR.<br />
***In Fluent, we can solve the indentation issue by implementing whitespace relaxation.<br />
***We can ask early adopters for feedback on Fluent and act on it.<br />
<br />
*Dinner:TBD<br />
<br />
====Tuesday====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 10:00<br />
| 13:00<br />
| 18:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Tracking Fluent work<br />
**Fluent spec and fluent.js continue to be tracked in github, with milestones<br />
**We file bugs in Bugzilla for use cases and features required by migration bugs<br />
***Corresponding feature design happen in a new or existing Github issue. Implementation happen in a PR. The issue is triaged into a milestone.<br />
***A new bug is filed to track updating the Fluent code in Gecko to the new milestone when it’s published.<br />
***In some case we might need to update Fluent in Gecko before the next milestone is released or without all other changes assigned to the milestone<br />
**Python-fluent will be tracked exclusively in Bugzilla<br />
**Migration code will move out of python-fluent into hmo/l10n and will be tracked in Bugzilla<br />
*Dinner:TBD<br />
<br />
====Wednesday====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 10:00<br />
| 13:00<br />
| 18:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
<br />
====Thursday====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 10:00<br />
| 13:00<br />
| 18:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
* Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
<br />
== Possible Group Activities ==<br />
*https://www.visitljubljana.com/en/visitors/events/open-kitchen-food-market/<br />
*http://www.travel-slovenia.com/day-tours/winter-tours-from-ljubljana-and-bled/ljubljana-food-tour/<br />
*https://www.aerodium.si/</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Meetings/2018_Ljubljana&diff=1191323L10n:Meetings/2018 Ljubljana2018-03-27T09:43:26Z<p>StasM: /* Goals of work week */</p>
<hr />
<div>[[Category:L10n workdays|{{SUBPAGENAME}}]]<br />
[[Category:L10n meetings|{{SUBPAGENAME}}]]<br />
<br />
__NOTOC__<br />
==Logistics==<br />
;where:<br />
Grand Hotel Union Business (DO NOT BOOK)<br />
<br />
Miklošičeva cesta 1<br />
<br />
1000 Ljubljana<br />
<br />
Slovenia<br />
<br />
;meeting location:<br />
Lotus on the 7th floor<br />
<br />
;when: 26-29 March 2018<br />
<br />
;travel: Plan to arrive on Sunday evening (25th) and to leave as early as Thursday evening (29th).<br />
<br />
;airport transfer: [https://www.markun-shuttle.com/en/airtransfer/ljubljana-airport-lju/ljubljana.html?phpMyAdmin=BIaz2FdCBqdgJZwsXEh8tpiMkrb Book Here!]<br />
<br />
<br />
;arrivals:<br />
{| border="1"<br />
|-<br />
| Name <br />
| Date <br />
| Time <br />
| Airport <br />
| Flight<br />
|-<br />
| Jeff<br />
| 25 Mar<br />
| 14:35<br />
| LJU<br />
| DL8368<br />
|-<br />
| Zibi <br />
| Mar 25<br />
| 4:50pm<br />
| LJU<br />
| LH 6904<br />
|-<br />
| Pike<br />
| 25<br />
| 16:50<br />
| LJU<br />
| Adria 113<br />
|-<br />
| Matjaž <br />
| Mar 25<br />
| Afternoon<br />
| Automobile<br />
| Automobile<br />
|-<br />
| Stas<br />
| Mar 26<br />
| 11:25<br />
| LJU<br />
| LO 5561<br />
|-<br />
| Pei <br />
| Mar 24<br />
| 11:15<br />
| LJU<br />
| JP 377<br />
|-<br />
| Flod <br />
| Mar 25<br />
| Early afternoon<br />
| By car<br />
| <br />
|-<br />
| Delphine <br />
| Mar 24<br />
| 12:05 <br />
| LJU<br />
| KL 3651 (operated Adria) <br />
|-<br />
| Adrian <br />
| Mar 25<br />
| 16:50<br />
| LJU<br />
| LH 6904<br />
|-<br />
| Ryan <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
|}<br />
<br />
<br />
;departures:<br />
{| border="1"<br />
|-<br />
| Name <br />
| Date <br />
| Time <br />
| Airport <br />
| Flight<br />
|-<br />
| Jeff<br />
| 30 Mar<br />
| 19:10<br />
| LJU<br />
| AF6283<br />
|-<br />
| Zibi <br />
| Mar 30<br />
| 5:05pm<br />
| LJU<br />
| Adria 938<br />
|-<br />
| Pike<br />
| 30<br />
| 13:25<br />
| LJU<br />
| Adria 112<br />
|-<br />
| Matjaž <br />
| Mar 30<br />
| Evening<br />
| Automobile<br />
| Automobile<br />
|-<br />
| Stas<br />
| Mar 30<br />
| 13:40<br />
| LJU<br />
| LO 616<br />
|-<br />
| Pei <br />
| Mar 30<br />
| 07:05<br />
| LJU<br />
| JP 116<br />
|-<br />
| Flod <br />
| Mar 30<br />
| Morning<br />
| By Car<br />
| <br />
|-<br />
| Delphine <br />
| Mar 30<br />
| 15:15<br />
| LJU<br />
| AF 1187 <br />
|-<br />
| Adrian <br />
| Mar 30<br />
| 17:50<br />
| LJU<br />
| OS 7034<br />
|-<br />
| Ryan <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
|}<br />
<br />
===Goals of work week===<br />
;PM group<br />
*[https://docs.google.com/document/d/1Mh5vn-v7p_doPkk1ehvbQVy_ocVUFP9cqu4TKh8e0g4/edit#heading=h.sy17id4vd9mt Clear criteria for community health and framework for measuring it.]<br />
*[https://docs.google.com/document/d/1XaqGJbLSOFw9hUPzKe6gIYm3lL_AZMdE_dOqRZZ7Ptk/edit (stretch) PRD for terminology solution.]<br />
;Fluent group<br />
*Go/No Go for xchannel in ESR 60<br />
*Design the tracking process for Fluent and Fluent in Gecko.<br />
*Design the first iteration of arewefluentyet.com (PDF or paper)<br />
;Pontoon group<br />
*Land string tiers<br />
;Together<br />
*Work/life balance agreements<br />
*[https://docs.google.com/spreadsheets/d/1ij9GkjsmIC7SMheU4irdmVX8gJsQXkCph_onowgOzXU/edit#gid=0 All] [https://docs.google.com/spreadsheets/d/1ZFQc4RzGGMSFS-SUDquYNtiWKkFJbo_Sk1DVG-NmfFY/edit#gid=1836993926 Hands]<br />
<br />
==Schedule==<br />
====Sunday====<br />
* Arrivals<br />
* Dinner:<br />
====Monday====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 10:00<br />
| 13:00<br />
| 18:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Fluent Design Process<br />
**Cross-channel impacts the design of Fluent.<br />
***Any future syntax changes must consider the fact that xchannel takes the liberty to walk through the history of mozilla-central<br />
***Effectively, python-fluent must provide some sort of parsing support for all syntax starting from 0.4.<br />
***This will also benefit the use-case of mining the contribution <br />
**We are not going to do xchannel in ESR 60:<br />
***It allows us to migrate away from DTDs and remove them when not needed in release anymore.<br />
***Translations can be fixed in a single place (the FTL file).<br />
***We don’t have to work on adapting the sign-off process for release/ESR.<br />
***In Fluent, we can solve the indentation issue by implementing whitespace relaxation.<br />
***We can ask early adopters for feedback on Fluent and act on it.<br />
<br />
*Dinner:TBD<br />
<br />
====Tuesday====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 10:00<br />
| 13:00<br />
| 18:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
<br />
====Wednesday====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 10:00<br />
| 13:00<br />
| 18:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
<br />
====Thursday====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 10:00<br />
| 13:00<br />
| 18:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
* Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
<br />
== Possible Group Activities ==<br />
*https://www.visitljubljana.com/en/visitors/events/open-kitchen-food-market/<br />
*http://www.travel-slovenia.com/day-tours/winter-tours-from-ljubljana-and-bled/ljubljana-food-tour/<br />
*https://www.aerodium.si/</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Meetings/2018_Ljubljana&diff=1191218L10n:Meetings/2018 Ljubljana2018-03-26T16:28:37Z<p>StasM: /* Monday */ Fluent Design Process</p>
<hr />
<div>[[Category:L10n workdays|{{SUBPAGENAME}}]]<br />
[[Category:L10n meetings|{{SUBPAGENAME}}]]<br />
<br />
__NOTOC__<br />
==Logistics==<br />
;where:<br />
Grand Hotel Union Business (DO NOT BOOK)<br />
<br />
Miklošičeva cesta 1<br />
<br />
1000 Ljubljana<br />
<br />
Slovenia<br />
<br />
;meeting location:<br />
Lotus on the 7th floor<br />
<br />
;when: 26-29 March 2018<br />
<br />
;travel: Plan to arrive on Sunday evening (25th) and to leave as early as Thursday evening (29th).<br />
<br />
;airport transfer: [https://www.markun-shuttle.com/en/airtransfer/ljubljana-airport-lju/ljubljana.html?phpMyAdmin=BIaz2FdCBqdgJZwsXEh8tpiMkrb Book Here!]<br />
<br />
<br />
;arrivals:<br />
{| border="1"<br />
|-<br />
| Name <br />
| Date <br />
| Time <br />
| Airport <br />
| Flight<br />
|-<br />
| Jeff<br />
| 25 Mar<br />
| 14:35<br />
| LJU<br />
| DL8368<br />
|-<br />
| Zibi <br />
| Mar 25<br />
| 4:50pm<br />
| LJU<br />
| LH 6904<br />
|-<br />
| Pike<br />
| 25<br />
| 16:50<br />
| LJU<br />
| Adria 113<br />
|-<br />
| Matjaž <br />
| Mar 25<br />
| Afternoon<br />
| Automobile<br />
| Automobile<br />
|-<br />
| Stas<br />
| Mar 26<br />
| 11:25<br />
| LJU<br />
| LO 5561<br />
|-<br />
| Pei <br />
| Mar 24<br />
| 11:15<br />
| LJU<br />
| JP 377<br />
|-<br />
| Flod <br />
| Mar 25<br />
| Early afternoon<br />
| By car<br />
| <br />
|-<br />
| Delphine <br />
| Mar 24<br />
| 12:05 <br />
| LJU<br />
| KL 3651 (operated Adria) <br />
|-<br />
| Adrian <br />
| Mar 25<br />
| 16:50<br />
| LJU<br />
| LH 6904<br />
|-<br />
| Ryan <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
|}<br />
<br />
<br />
;departures:<br />
{| border="1"<br />
|-<br />
| Name <br />
| Date <br />
| Time <br />
| Airport <br />
| Flight<br />
|-<br />
| Jeff<br />
| 30 Mar<br />
| 19:10<br />
| LJU<br />
| AF6283<br />
|-<br />
| Zibi <br />
| Mar 30<br />
| 5:05pm<br />
| LJU<br />
| Adria 938<br />
|-<br />
| Pike<br />
| 30<br />
| 13:25<br />
| LJU<br />
| Adria 112<br />
|-<br />
| Matjaž <br />
| Mar 30<br />
| Evening<br />
| Automobile<br />
| Automobile<br />
|-<br />
| Stas<br />
| Mar 30<br />
| 13:40<br />
| LJU<br />
| LO 616<br />
|-<br />
| Pei <br />
| Mar 30<br />
| 07:05<br />
| LJU<br />
| JP 116<br />
|-<br />
| Flod <br />
| Mar 30<br />
| Morning<br />
| By Car<br />
| <br />
|-<br />
| Delphine <br />
| Mar 30<br />
| 15:15<br />
| LJU<br />
| AF 1187 <br />
|-<br />
| Adrian <br />
| Mar 30<br />
| 17:50<br />
| LJU<br />
| OS 7034<br />
|-<br />
| Ryan <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
|}<br />
<br />
===Goals of work week===<br />
;PM group<br />
*[https://docs.google.com/document/d/1Mh5vn-v7p_doPkk1ehvbQVy_ocVUFP9cqu4TKh8e0g4/edit#heading=h.sy17id4vd9mt Clear criteria for community health and framework for measuring it.]<br />
*[https://docs.google.com/document/d/1XaqGJbLSOFw9hUPzKe6gIYm3lL_AZMdE_dOqRZZ7Ptk/edit (stretch) PRD for terminology solution.]<br />
;Fluent group<br />
*<br />
;Pontoon group<br />
*Land string tiers<br />
;Together<br />
*Work/life balance agreements<br />
*[https://docs.google.com/spreadsheets/d/1ij9GkjsmIC7SMheU4irdmVX8gJsQXkCph_onowgOzXU/edit#gid=0 All] [https://docs.google.com/spreadsheets/d/1ZFQc4RzGGMSFS-SUDquYNtiWKkFJbo_Sk1DVG-NmfFY/edit#gid=1836993926 Hands]<br />
<br />
==Schedule==<br />
====Sunday====<br />
* Arrivals<br />
* Dinner:<br />
====Monday====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 10:00<br />
| 13:00<br />
| 18:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Fluent Design Process<br />
**Cross-channel impacts the design of Fluent.<br />
***Any future syntax changes must consider the fact that xchannel takes the liberty to walk through the history of mozilla-central<br />
***Effectively, python-fluent must provide some sort of parsing support for all syntax starting from 0.4.<br />
***This will also benefit the use-case of mining the contribution <br />
**We are not going to do xchannel in ESR 60:<br />
***It allows us to migrate away from DTDs and remove them when not needed in release anymore.<br />
***Translations can be fixed in a single place (the FTL file).<br />
***We don’t have to work on adapting the sign-off process for release/ESR.<br />
***In Fluent, we can solve the indentation issue by implementing whitespace relaxation.<br />
***We can ask early adopters for feedback on Fluent and act on it.<br />
<br />
*Dinner:TBD<br />
<br />
====Tuesday====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 10:00<br />
| 13:00<br />
| 18:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
<br />
====Wednesday====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 10:00<br />
| 13:00<br />
| 18:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
<br />
====Thursday====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 10:00<br />
| 13:00<br />
| 18:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
* Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
<br />
== Possible Group Activities ==<br />
*https://www.visitljubljana.com/en/visitors/events/open-kitchen-food-market/<br />
*http://www.travel-slovenia.com/day-tours/winter-tours-from-ljubljana-and-bled/ljubljana-food-tour/<br />
*https://www.aerodium.si/</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Goals/H1-2018&diff=1190422L10n:Goals/H1-20182018-03-15T08:59:39Z<p>StasM: /* Stas */</p>
<hr />
<div>[[Category:L10n goals]]<br />
==Team Goals==<br />
Please ensure that individual goals (all or part) are contributing to our [https://docs.google.com/document/d/1frLayrTL0TOChoezK_i2mueYchXDiawvry4HSZJyauc/edit?ts=5a3940b2 2018 OKRs for localization]. Citing the OKR that your H1 goal contributes to in your goal section is preferred.<br />
* Rich editor UI for FTL - '''Matjaz''', S, Ax, Ad, Z<br />
* Community leadership pilot - '''Jeff''', D, P, T<br />
* Fluent in Gecko - '''Zibi''', Ax, F, S<br />
* Multilingual Firefox - '''Zibi''', Ax, F, J<br />
* Unified effort around language resources - '''Jeff''', F, D, P, T<br />
* Fluent 1.0 - '''Stas''', Z, Ax<br />
* New brand translation policy - '''Peiying''', Z, F, D<br />
* Translate/review modes - '''Adrian''', M, Ax, F, D, P, J<br />
* String tiers - '''Ryan''', M, Ad, Ax , F<br />
* AWS Migration - '''Axel''', J, F<br />
* Locale data in CLDR - '''Flod''', Z, F, D<br />
<br />
==Roundtable==<br />
<br />
=== Axel ===<br />
* [ ][Q1] Migrate elmo to AWS<br />
* [ ][Q2] Elmo support for github and Android/iOS formats<br />
* [ ][H1] Create organization understanding of continuous localization<br />
** prepare a slide deck<br />
** circulate said slide deck in the Firefox org<br />
<br />
I'll also be acting in a supporting rule for Fluent in Gecko, Fluent in Pontoon, and Translate.Next<br />
<br />
=== Delphine ===<br />
* Enable “all things l10n” for Firefox for Amazon Fire TV<br />
** Recruit at least 5 localizers for this new project<br />
** Work with flod and :boek on getting Firefox for Fire TV localizable and in Pontoon<br />
** Create project in Pontoon<br />
** Locale switcher is on the roadmap and in active development <br />
** Test plan for the first Mozilla localized version of ffTV<br />
** Test l10n on the upcoming builds for ffTV<br />
** L10n Screenshots are on the roadmap and being developed<br />
<br />
* CLDR<br />
** Work with Kekoa/Zibi/Flod to build a mechanism to collect data for new locales and submit it to CLDR<br />
** Compare Mozilla and CLDR data to identify potential issues with supported locales<br />
<br />
* Open Innovation and Community Health<br />
** Clearly defined process for gathering data on l10n communities, evaluating l10n community health, proposing solutions to community issues, and measuring their impact on the community.<br />
<br />
* Brent Internship (not in Workday)<br />
** Scope out work for Brent’s summer internship <br />
** Initiate and share a document reflecting what that work will look like<br />
** Collaborate with l10n-drivers on further refining this document<br />
<br />
* Firefox iOS RTL (not in Workday)<br />
** Still on roadmap<br />
** Community engagement<br />
<br />
* GSoC idea: Android XML support for Pontoon (not in Workday)<br />
** Identify opportunities there. Might be more of a H2 thing - need to further investigate<br />
<br />
=== Flod ===<br />
Firefox Desktop<br />
* <span style="color: black"><strong>[]</strong></span> Start shipping updates to dot releases and ESR channel (depending on Fluent status in 60).<br />
* <span style="color: black"><strong>[]</strong></span> Support migration of Preferences to Fluent:<br />
** FTL patch reviews and testing.<br />
** Run migration on l10n repositories.<br />
** Update and integrate documentation to cover FTL features and Pontoon UI updates.<br />
* <span style="color: black"><strong>[]</strong></span> Contribute to Project Medley with UX/Frontend/Zibi (Language Selector, multilingual Firefox)<br />
<br />
CLDR data - Language and Region names<br />
* <span style="color: black"><strong>[]</strong></span> Identify holes in CLDR data that would negatively affect migration to CLDR as datasource.<br />
* <span style="color: black"><strong>[]</strong></span> Compare Mozilla and CLDR data to identify potential issues with supported locales.<br />
* <span style="color: black"><strong>[]</strong></span> Support/test switch to CLDR as datasource.<br />
<br />
CLDR data - Other<br />
* <span style="color: black"><strong>[]</strong></span> Verify plural rules for Firefox locales, comparing Gecko setting with Pontoon and CLDR.<br />
* <span style="color: black"><strong>[]</strong></span> Support research/work on extending CLDR data (support for seed locales, or local sources in mozilla-data).<br />
* <span style="color: black"><strong>[]</strong></span> Work with Kekoa/Zibi/Delphine to build a mechanism to collect data for new locales and submit it to CLDR. <br />
<br />
Pontoon<br />
* <span style="color: black"><strong>[]</strong></span> Support string tiers implementation.<br />
* <span style="color: black"><strong>[]</strong></span> Contribute to Translate.Next discussion.<br />
<br />
Other products, tools, support for mozilla.org and mobile<br />
* <span style="color: black"><strong>[]</strong></span> Centralize search engine default and search order settings, clean up region.properties and update internal documentation.<br />
* <span style="color: black"><strong>[]</strong></span> Start assessing the impact of switching personal scripts and tools to Python 3.<br />
<br />
Back-burner<br />
* <span style="color: black"><strong>[]</strong></span> (from Q4-2017) Identify tool to localize documentation repositories.<br />
* <span style="color: black"><strong>[]</strong></span> Identify inactive locales, reach out to them, try to find new contributors, remove them from builds if that fails (long term goal for 2017/2018).<br />
* <span style="color: black"><strong>[]</strong></span> MDN l10n docs cleanup.<br />
<br />
=== Gandalf ===<br />
<br />
My planned work ('''in bold''' items put on my H1 goals list):<br />
<br />
* Fluent in Gecko<br />
** '''[][P1][Q1/Q2] Moving forward with milestones (complete Preferences migration at least?)'''<br />
** '''[][P2][Q2] Make Fluent work with unprivileged content'''<br />
** '''[][P2][Q2] Make Fluent work with System Addons'''<br />
** '''[][P2][Q2] Make Fluent fast enough to put on startup path'''<br />
** [][P2][Q1/Q2] Support Flod in CLDR in Gecko work<br />
** [][P2][Q2] Mentoring Kekoa<br />
** [][P3][Q2] Write "Fluent for Firefox Engineers" on MDN (covering best practices, test writing etc.)<br />
* Gecko Intl module peer work<br />
** JS Intl API (2018 edition and stage 3 proposals)<br />
*** '''[][P2][Q1] mozIntl.RelativeTimeFormat'''<br />
*** [][P2][Q1] Intl.Locale<br />
*** [][P4][Q2] Intl.ListFormat<br />
*** [][P4][Q1] Intl.RelativeTime updates for stage 4<br />
** Gecko Intl module<br />
*** [][P5][Q2] firstDay in OSPreferences<br />
*** [][P4][Q2] further BCP47 tightening (ja-JP-mac normalization)<br />
* Multilingual Firefox<br />
** '''[][P2][Q1] Support UX/FrontEnd/Addons/Flod with Language Selector in Preferences'''<br />
** [][P3][Q2] Pursue automatic langpack installation in Fennec<br />
** '''[][P3][Q2] Instigate Firefox Installer Language Selector work'''<br />
** '''[][P4][Q2] Propose changes to Firefox Download page UX to improve locale discoverability'''<br />
* ECMA<br />
** [][P2][Q1/Q2] Pursue Stage 4 for Intl.Locale<br />
** [][P3][Q2] Pursue Stage 4 for Intl.LocaleList<br />
** [][P5][Q2] Pursue Stage 2 for Intl.UnitFormat<br />
* Support Stas in work on Fluent 1.0<br />
** [][P3][Q1] Indentation relaxation decisions and parser patches (0.7)<br />
** [][P4][Q2] Post-0.7 feedback round<br />
** [][P3][Q2] Pseudolocales implementation<br />
** '''[][P3][Q1/Q2] Semantic comments (arguments, message versioning, context)'''<br />
** [][P3][Q2] Developer productivity (useful error messages, tooling)<br />
** [][P5][Q2] WASM parser exploration<br />
** [][P4][Q2] Testing infrastructure improvements<br />
** [][P4][Q1/Q2] fluent-rs updates toward 1.0<br />
<br />
=== Jeff ===<br />
* '''Multilingual Firefox is on the roadmap'''<br />
* '''Legal, Creative, and Firefox Product Management sign-off and begin implementing our recommended branding policy changes.'''<br />
* '''Fluent as l10n framework for Geckoview native apps.'''<br />
* Define community health criteria with Participation to be used to evaluate health pre-leadership agreements and post-leadership agreements.<br />
* Define all P1 terms with UX.<br />
* Evaluate ways to make use of new termbase data (e.g., Memsource, or other alternatives).<br />
* Determine which paid MT services we'll work to incorporate into Pontoon (and a strategy for long-tail locales).<br />
<br />
=== Matjaž ===<br />
<br />
=== Peiying ===<br />
*Drive the review of brand name localization policy<br />
**[]Draft documentation on current practice and the reasons for change.<br />
**[]Present 3 alternative solutions, their benefits, and implementation flows.<br />
**[]Review the final document with Legal and Creative contacts to get their buy-ins.<br />
**[]Drive the discussions of policy review with individual team product owners.<br />
**[]Communicate to l10n communities on the policy change and the implementation flows for each alternative solution. <br />
<br />
*SLA with marketing team<br />
**[]Service agreement with Marketing team on mozilla.org on detailed terms and other marketing projects tailored for each product team. <br />
<br />
*Legal documentation<br />
**[]Review current locale coverage for Firefox desktop, mobile and Mozilla. <br />
**[]Reference locale coverage in other tech companies of similar documentation<br />
**[]Work with localization agency to on locale expansion, cost estimate; balance between legal budget for the year and the requested coverage.<br />
<br />
*Others<br />
**[]Common Voice: be the POC for the team, communicate with the communities, set up process and have the web pages ready by end of H1.<br />
**[]Open Innovation and Community Health<br />
**[]Write new and update localization documentation on github<br />
<br />
=== Stas ===<br />
<br />
* '''Release Fluent 1.0'''<br />
** Fluent Syntax 1.0 Spec is published.<br />
** Implementations in JS, Python and Rust are published.<br />
** The developer experience of contributing to Fluent has improved:<br />
*** Fluent API documentation is autogenerated from source.<br />
*** Test fixtures are shared between fluent.js, python-fluent and fluent-rs.<br />
*** We have test coverage reporting in CI in fluent.js.<br />
** L20n is deprecated.<br />
* Fluent in Gecko<br />
** fluent-migrate is used for all Gecko UI migration work and doesn't block progress<br />
** fluent-migrate doesn't break localization files used in xchannel<br />
* Fluent in Pontoon<br />
** Editing source FTL is a viable alternative to using the rich editor.<br />
* Pontoon API<br />
** We have a strong foundation for building an API which will power Translate.Next.<br />
** The API doesn't fetch the same objects more than once during a single query.<br />
** The API doesn't suffer from the N+1 queries problem.<br />
<br />
=== Adrian ===<br />
<br />
* [Translate.Next] Rewrite Translate into a Single Page Application<br />
** Keep the same features as current app, do not break anything<br />
** Rewrite using React and other efficient front-end technologies<br />
** Build for flexibility, modularity and ease of maintenance<br />
** All new code is fully localizable<br />
** All new code is unit tested and has decent code coverage (> 80%)<br />
<br />
* [Translate.Next] Help build a rich Fluent editor for translation<br />
** Code infrastructure makes the integration of a rich Editor as easy as possible<br />
** Rich Editor supports the most important Fluent features<br />
<br />
* Non-Workday goals<br />
** Replace Suggested state with Missing and introduce Unreviewed Suggestions ([https://bugzilla.mozilla.org/show_bug.cgi?id=1377969 bug 1377969])<br />
** Improve Pontoon documentation for new contributors<br />
** Mentor a GSoC student<br />
<br />
* Stretch goals<br />
** Expand the Pontoon API [note: only if Stas cannot do it]<br />
<br />
=== Ryan ===<br />
<br />
=== Theo (optional) ===</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Meetings/2018_Ljubljana&diff=1189743L10n:Meetings/2018 Ljubljana2018-03-05T17:48:27Z<p>StasM: Ich komme!</p>
<hr />
<div>[[Category:L10n workdays|{{SUBPAGENAME}}]]<br />
[[Category:L10n meetings|{{SUBPAGENAME}}]]<br />
<br />
__NOTOC__<br />
==Logistics==<br />
;where: Grand Union Hotel<br />
Miklošičeva cesta 1<br />
<br />
1000 Ljubljana<br />
<br />
Slovenia<br />
<br />
;when: 26-29 March 2018<br />
;travel: Plan to arrive on Sunday evening (25th) and to leave as early as Thursday evening (29th).<br />
<br />
;arrivals:<br />
{| border="1"<br />
|-<br />
| Name <br />
| Date <br />
| Time <br />
| Airport <br />
| Flight<br />
|-<br />
| Jeff<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Zibi <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Pike<br />
| 25<br />
| 16:50<br />
| LJU<br />
| Adria 113<br />
|-<br />
| Matjaž <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Stas<br />
| Mar 26<br />
| 11:25<br />
| LJU<br />
| LO 5561<br />
|-<br />
| Pei <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Flod <br />
| <br />
|<br />
| <br />
| <br />
|-<br />
| Delphine <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Adrian <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Théo <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Ryan <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
|}<br />
<br />
<br />
;departures:<br />
{| border="1"<br />
|-<br />
| Name <br />
| Date <br />
| Time <br />
| Airport <br />
| Flight<br />
|-<br />
| Jeff<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Zibi <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Pike<br />
| 30<br />
| 13:25<br />
| LJU<br />
| Adria 112<br />
|-<br />
| Matjaž <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Stas<br />
| Mar 30<br />
| 13:40<br />
| LJU<br />
| LO 616<br />
|-<br />
| Pei <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Flod <br />
| <br />
|<br />
| <br />
| <br />
|-<br />
| Delphine <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Adrian <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Théo <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Ryan <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
|}<br />
<br />
===Goals of work week===<br />
<br />
==Schedule==<br />
====Sunday====<br />
* Arrivals<br />
* Dinner:<br />
====Monday====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
<br />
====Tuesday====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
====Wednesday====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
====Thursday====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
* Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
<br />
<br />
== Possible Group Activities ==</div>StasMhttps://wiki.mozilla.org/index.php?title=Fluent&diff=1188588Fluent2018-02-06T14:40:26Z<p>StasM: </p>
<hr />
<div>Project Fluent is a localization system designed to improve how software is translated. See http://projectfluent.org/ for more information, including the links to the project's repositories and the GitHub wiki.<br />
<br />
==Mozilla Projects Using Fluent==<br />
<br />
=====fluent-react=====<br />
*https://github.com/mozilla/testpilot (the website)<br />
*https://github.com/mozilla-services/screenshots (the website)<br />
*https://github.com/mozilla-lockbox/lockbox-extension<br />
*https://github.com/mozilla/voice-web<br />
<br />
=====vanilla fluent=====<br />
*https://github.com/mozilla/send</div>StasMhttps://wiki.mozilla.org/index.php?title=L20n/Localizable_XUL_Attributes&diff=1186942L20n/Localizable XUL Attributes2018-01-17T11:15:14Z<p>StasM: </p>
<hr />
<div>An inventory of <code>data-l10n-attrs</code> used while porting Firefox to Fluent.<br />
<br />
The default list of allowed localizable attributes is defined in https://github.com/projectfluent/fluent.js/blob/master/fluent-dom/src/overlay.js. The <code>data-l10n-attrs</code> attribute can be used to allow more attributes to be localized on an element-by-element basis.<br />
<br />
===browser/components/preferences/in-content/preferences.xul===<br />
<br />
{{Bug|1424682}} - Migrate the chrome of Preferences to the new Localization API<br />
<br />
;page<br />
:title<br />
;richlistitem<br />
:tooltiptext<br />
;textbox<br />
:style</div>StasMhttps://wiki.mozilla.org/index.php?title=L20n/Localizable_XUL_Attributes&diff=1186941L20n/Localizable XUL Attributes2018-01-17T11:15:01Z<p>StasM: Created page with "An inventory of <code>data-l10n-attrs</code> used while porting Firefox to Fluent. The default list of allowed localizable attributes is defined in https://github.com/project..."</p>
<hr />
<div>An inventory of <code>data-l10n-attrs</code> used while porting Firefox to Fluent.<br />
<br />
The default list of allowed localizable attributes is defined in https://github.com/projectfluent/fluent.js/blob/master/fluent-dom/src/overlay.js. The <code>data-l10n-attrs</code> attribute can be used to allow more attributes to be localized on an element-by-element basis.<br />
<br />
===browser/components/preferences/in-content/preferences.xul===<br />
<br />
{{Bug|1424682}} - Migrate the chrome of Preferences to the new Localization API<br />
<br />
;page<br />
:title<br />
;righlistitem<br />
:tooltiptext<br />
;textbox<br />
:style</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Goals/Q4_2017&diff=1186017L10n:Goals/Q4 20172017-12-21T16:50:38Z<p>StasM: /* Stas */ DOM overlays landed in fluent-react</p>
<hr />
<div>[[Category:L10n goals]]<br />
==Team Goals==<br />
Please ensure that individual goals (all or part) are contributing to our [https://docs.google.com/document/d/1s_b679LNzXcvNjA6K5pEnhnDhgH8DFCV1aVwyfCUSTc/edit#heading=h.m68mgmculzl8 2017 OKRs for localization]. Citing the OKR that your Q4 goal contributes to in your goal section is preferred.<br />
* Cross-channel - <b>Axel</b>, J, M, F, D<br />
* AWS Migration - <b>Axel</b>, J, F<br />
* UI for FTL in Pontoon - <b>Matjaz</b>, S, Ax, Ad, Z<br />
* Mobile at a glance - <b>Delphine</b><br />
* Community Workshops - <b>Jeff</b>, P, D, F, T<br />
* Firefox Quantum Marketing - <b>Peiying</b>, F, D<br />
* Predictable l10n Demand - <b>Peiying</b>, F, T<br />
* [16OCT] Pudelo stage 2 - <b>Ryan</b>, M, Ad, Ax <br />
* 2018 OKR planning - <b>Jeff</b>, all<br />
* Fluent in Gecko - <b>Zibi</b>, Ax, S, M, Ad<br />
* Pontoon.next - <b>Adrian</b>, M, Ax, PM group<br />
<br />
[https://docs.google.com/spreadsheets/d/14qGL9F_nbP-m5WHPQKWREDMn6DZZqgWKBUVT67n_jxc/edit#gid=0 Planning spreadsheet].<br />
<br />
==Roundtable==<br />
<br />
=== Axel ===<br />
<br />
=== Delphine ===<br />
* Update mobile competitor's spreadsheet with current and latest Google/iOS data available, in order to define 2018 mobile competitive strategy<br />
* Add at least 9 new locales to Fennec<br />
* Update current RTL Firefox iOS experience: look into current bugs attached to meta bug and update current status where relevant (since this has most surely changed since the last iOS update) - and then, possibly finding people to get some bugs fixed there<br />
* Focus: set-up clear new l10n process with both iOS and Android teams, given new sign-off criteria<br />
<br />
=== Flod ===<br />
Firefox Desktop<br />
* Support cross-channel repository initiative through:<br />
** <span style="color: green"><strong>[DONE]</strong></span> (from Q2) Initial testing and support.<br />
** <span style="color: green"><strong>[DONE]</strong></span> (from Q2) Creating documentation for new processes.<br />
** <span style="color: green"><strong>[DONE]</strong></span> (from Q2) Adding support for cross-channel repository in Transvision.<br />
** <span style="color: green"><strong>[DONE]</strong></span> (from Q2) Starting discussion with release management about shipping updates on release and ESR channels.<br />
* <span style="color: green"><strong>[DONE]</strong></span> Try to move at least one new locale to Beta (ne-NP).<br />
* <span style="color: green"><strong>[DONE]</strong></span> Improve quality, reduce number of errors like missing variables, translated keyboard shortcuts, out of length strings, number of plural forms.<br />
<br />
Other products, tools, support for mozilla.org and mobile<br />
* <span style="color: red"><strong>[Q1-2018]</strong></span> Identify tool to localize documentation repositories.<br />
* Transvision:<br />
** <span style="color: green"><strong>[DONE]</strong></span> Add Focus for Android and iOS, rationalize code around projects.<br />
** <span style="color: green"><strong>[DONE]</strong></span> Add view to check keyboard shortcuts.<br />
* <span style="color: green"><strong>[DONE]</strong></span> (ongoing) Support Test Pilot experiments and system add-ons (review, localization setup, infrastructure).<br />
<br />
Back-burner<br />
* <span style="color: orange"><strong>[in progress]</strong></span> (from Q2) Get string tiers implemented in tools (Pontoon).<br />
* <span style="color: green"><strong>[ongoing]</strong></span> Identify inactive locales, reach out to them, try to find new contributors, remove them from builds if that fails (long term goal for 2017/2018).<br />
<br />
=== Gandalf ===<br />
<br />
* [] Enable Fluent in Firefox<br />
* [] Release fluent-rs 0.1.0<br />
* [] Design a plan for Fluent in WebExtensions<br />
<br />
=== Jeff ===<br />
* [] Support landing Fluent in Firefox<br />
** This will be completed when the appropriate stakeholders have been gathered, release criteria has been defined, and Fluent is on the Firefox roadmap.<br />
* [] Finalize 2018 OKR doc<br />
* [] Identify l10n design sprints for H12017.<br />
* [] Create framework for defining l10n community leadership and contribution models with Open Innovation.<br />
<br />
=== Matjaž ===<br />
* FTL: Land advanced UI for FTL in Pontoon<br />
* Fix Bug 1305281: search across all projects<br />
* Work with Adrian on documenting the 2018 roadmap and technology choices for Pontoon.NEXT<br />
* Create proposal of new Pontoon development process.<br />
<br />
=== Stas ===<br />
<br />
1. Support Fluent in cross-channel localization.<br />
<br />
[✓] Adapt compare-locales to support Fluent Comments, Sections and whitespace.<br />
[✓] Enable merging FTL files across channels.<br />
<br />
2. Define a roadmap for Pontoon API and complete one milestone.<br />
<br />
[✓] Identify upcoming needs for exposing Pontoon data.<br />
[✓] Document the roadmap on the wiki.<br />
[ ] Complete one milestone on the roadmap.<br />
<br />
3. Add a solution for localizing DOM fragments to fluent-react. <sup>CARRY-OVER from Q3</sup><br />
<br />
[✓] Review the solution currently implemented in fluent-dom.<br />
[✓] Research current solutions in other i18n libraries for React<br />
[✓] Research approaches to parsing HTML in translations<br />
[✓] Implement<br />
[✓] Write tests and documentation<br />
<br />
=== Adrian ===<br />
<br />
* implement new source input for one-off projects<br />
* scope requirements for Pontoon.Next<br />
* design the architecture of Pontoon.Next<br />
* create a road-map for Pontoon.Next<br />
* build prototypes for key features and challenges of Pontoon.Next<br />
<br />
=== Theo (optional) ===</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Goals/Q4_2017&diff=1183619L10n:Goals/Q4 20172017-11-07T17:12:19Z<p>StasM: /* Stas */ Beginning of November update</p>
<hr />
<div>[[Category:L10n goals]]<br />
==Team Goals==<br />
Please ensure that individual goals (all or part) are contributing to our [https://docs.google.com/document/d/1s_b679LNzXcvNjA6K5pEnhnDhgH8DFCV1aVwyfCUSTc/edit#heading=h.m68mgmculzl8 2017 OKRs for localization]. Citing the OKR that your Q4 goal contributes to in your goal section is preferred.<br />
* Cross-channel - <b>Axel</b>, J, M, F, D<br />
* AWS Migration - <b>Axel</b>, J, F<br />
* UI for FTL in Pontoon - <b>Matjaz</b>, S, Ax, Ad, Z<br />
* Mobile at a glance - <b>Delphine</b><br />
* Community Workshops - <b>Jeff</b>, P, D, F, T<br />
* Firefox Quantum Marketing - <b>Peiying</b>, F, D<br />
* Predictable l10n Demand - <b>Peiying</b>, F, T<br />
* [16OCT] Pudelo stage 2 - <b>Ryan</b>, M, Ad, Ax <br />
* 2018 OKR planning - <b>Jeff</b>, all<br />
* Fluent in Gecko - <b>Zibi</b>, Ax, S, M, Ad<br />
* Pontoon.next - <b>Adrian</b>, M, Ax, PM group<br />
<br />
[https://docs.google.com/spreadsheets/d/14qGL9F_nbP-m5WHPQKWREDMn6DZZqgWKBUVT67n_jxc/edit#gid=0 Planning spreadsheet].<br />
<br />
==Roundtable==<br />
<br />
=== Axel ===<br />
<br />
=== Delphine ===<br />
* Update mobile competitor's spreadsheet with current and latest Google/iOS data available, in order to define 2018 mobile competitive strategy<br />
* Add at least 9 new locales to Fennec<br />
* Make progress on updating current RTL Firefox iOS meta-bug status (since this has changed) - and possibly finding people to get some bugs fixed there<br />
* Focus: set-up clear new l10n process with both iOS and Android teams, given new sign-off criteria<br />
<br />
=== Flod ===<br />
Firefox Desktop<br />
* Support cross-channel repository initiative through:<br />
** <span style="color: green"><strong>[DONE]</strong></span> (from Q2) Initial testing and support.<br />
** <span style="color: black"><strong>[]</strong></span> (from Q2) Creating documentation for new processes.<br />
** <span style="color: green"><strong>[DONE]</strong></span> (from Q2) Adding support for cross-channel repository in Transvision.<br />
** <span style="color: black"><strong>[]</strong></span> (from Q2) Starting discussion with release management about shipping updates on release and ESR channels.<br />
* <span style="color: green"><strong>[DONE]</strong></span> Try to move at least one new locale to Beta (ne-NP).<br />
<br />
Other products, tools, support for mozilla.org and mobile<br />
* <span style="color: black"><strong>[]</strong></span> Identify tool to localize documentation repositories.<br />
* Transvision:<br />
** <span style="color: green"><strong>[DONE]</strong></span> Add Focus for Android and iOS, rationalize code around projects.<br />
** <span style="color: green"><strong>[DONE]</strong></span> Add view to check keyboard shortcuts.<br />
* <span style="color: black"><strong> []</strong></span> (ongoing) Support Test Pilot experiments and system add-ons (review, localization setup, infrastructure).<br />
<br />
Back-burner<br />
* <span style="color: black"><strong>[]</strong></span> (from Q2, blocked by new project configurations) Get string tiers implemented in tools (Pontoon).<br />
* <span style="color: black"><strong>[]</strong></span> (ongoing) Identify inactive locales, reach out to them, try to find new contributors, remove them from builds if that fails (long term goal for 2017/2018).<br />
<br />
=== Gandalf ===<br />
<br />
* [] Enable Fluent in Firefox<br />
* [] Release fluent-rs 0.1.0<br />
* [] Design a plan for Fluent in WebExtensions<br />
<br />
=== Jeff ===<br />
'''[] Support landing Fluent in Firefox'''<br />
* This will be completed when the appropriate stakeholders have been gathered, release criteria has been defined, and Fluent is on the Firefox roadmap.<br />
'''[] Finalize 2018 OKR doc'''<br />
<br />
'''[] Identify l10n design sprints for H12017.'''<br />
<br />
'''[] Create framework for defining l10n community leadership and contribution models with Open Innovation.'''<br />
<br />
=== Matjaž ===<br />
* FTL: Land advanced UI for FTL in Pontoon<br />
* Fix Bug 1305281: search across all projects<br />
* Work with Adrian on documenting the 2018 roadmap and technology choices for Pontoon.NEXT<br />
* Create proposal of new Pontoon development process.<br />
<br />
=== Stas ===<br />
<br />
1. Support Fluent in cross-channel localization.<br />
<br />
[✓] Adapt compare-locales to support Fluent Comments, Sections and whitespace.<br />
[✓] Enable merging FTL files across channels.<br />
<br />
2. Define a roadmap for Pontoon API and complete one milestone.<br />
<br />
[✓] Identify upcoming needs for exposing Pontoon data.<br />
[✓] Document the roadmap on the wiki.<br />
[ ] Complete one milestone on the roadmap.<br />
<br />
3. Add a solution for localizing DOM fragments to fluent-react. <sup>CARRY-OVER from Q3</sup><br />
<br />
[Q3] Review the solution currently implemented in fluent-dom.<br />
[Q3] Research current solutions in other i18n libraries for React<br />
[Q3] Research approaches to parsing HTML in translations<br />
[ ] Implement<br />
[ ] Write tests and documentation<br />
<br />
=== Adrian ===<br />
<br />
* implement new source input for one-off projects<br />
* scope requirements for Pontoon.Next<br />
* design the architecture of Pontoon.Next<br />
* create a road-map for Pontoon.Next<br />
* build prototypes for key features and challenges of Pontoon.Next<br />
<br />
=== Theo (optional) ===</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Goals/Q4_2017&diff=1183618L10n:Goals/Q4 20172017-11-07T17:11:21Z<p>StasM: /* Stas */ Fluent linter has been postponed to 2018Q1. It is part of the last milestone of Fluent in Gecko which has delays. Some current syntax discussion might also make the linter less needed.</p>
<hr />
<div>[[Category:L10n goals]]<br />
==Team Goals==<br />
Please ensure that individual goals (all or part) are contributing to our [https://docs.google.com/document/d/1s_b679LNzXcvNjA6K5pEnhnDhgH8DFCV1aVwyfCUSTc/edit#heading=h.m68mgmculzl8 2017 OKRs for localization]. Citing the OKR that your Q4 goal contributes to in your goal section is preferred.<br />
* Cross-channel - <b>Axel</b>, J, M, F, D<br />
* AWS Migration - <b>Axel</b>, J, F<br />
* UI for FTL in Pontoon - <b>Matjaz</b>, S, Ax, Ad, Z<br />
* Mobile at a glance - <b>Delphine</b><br />
* Community Workshops - <b>Jeff</b>, P, D, F, T<br />
* Firefox Quantum Marketing - <b>Peiying</b>, F, D<br />
* Predictable l10n Demand - <b>Peiying</b>, F, T<br />
* [16OCT] Pudelo stage 2 - <b>Ryan</b>, M, Ad, Ax <br />
* 2018 OKR planning - <b>Jeff</b>, all<br />
* Fluent in Gecko - <b>Zibi</b>, Ax, S, M, Ad<br />
* Pontoon.next - <b>Adrian</b>, M, Ax, PM group<br />
<br />
[https://docs.google.com/spreadsheets/d/14qGL9F_nbP-m5WHPQKWREDMn6DZZqgWKBUVT67n_jxc/edit#gid=0 Planning spreadsheet].<br />
<br />
==Roundtable==<br />
<br />
=== Axel ===<br />
<br />
=== Delphine ===<br />
* Update mobile competitor's spreadsheet with current and latest Google/iOS data available, in order to define 2018 mobile competitive strategy<br />
* Add at least 9 new locales to Fennec<br />
* Make progress on updating current RTL Firefox iOS meta-bug status (since this has changed) - and possibly finding people to get some bugs fixed there<br />
* Focus: set-up clear new l10n process with both iOS and Android teams, given new sign-off criteria<br />
<br />
=== Flod ===<br />
Firefox Desktop<br />
* Support cross-channel repository initiative through:<br />
** <span style="color: green"><strong>[DONE]</strong></span> (from Q2) Initial testing and support.<br />
** <span style="color: black"><strong>[]</strong></span> (from Q2) Creating documentation for new processes.<br />
** <span style="color: green"><strong>[DONE]</strong></span> (from Q2) Adding support for cross-channel repository in Transvision.<br />
** <span style="color: black"><strong>[]</strong></span> (from Q2) Starting discussion with release management about shipping updates on release and ESR channels.<br />
* <span style="color: green"><strong>[DONE]</strong></span> Try to move at least one new locale to Beta (ne-NP).<br />
<br />
Other products, tools, support for mozilla.org and mobile<br />
* <span style="color: black"><strong>[]</strong></span> Identify tool to localize documentation repositories.<br />
* Transvision:<br />
** <span style="color: green"><strong>[DONE]</strong></span> Add Focus for Android and iOS, rationalize code around projects.<br />
** <span style="color: green"><strong>[DONE]</strong></span> Add view to check keyboard shortcuts.<br />
* <span style="color: black"><strong> []</strong></span> (ongoing) Support Test Pilot experiments and system add-ons (review, localization setup, infrastructure).<br />
<br />
Back-burner<br />
* <span style="color: black"><strong>[]</strong></span> (from Q2, blocked by new project configurations) Get string tiers implemented in tools (Pontoon).<br />
* <span style="color: black"><strong>[]</strong></span> (ongoing) Identify inactive locales, reach out to them, try to find new contributors, remove them from builds if that fails (long term goal for 2017/2018).<br />
<br />
=== Gandalf ===<br />
<br />
* [] Enable Fluent in Firefox<br />
* [] Release fluent-rs 0.1.0<br />
* [] Design a plan for Fluent in WebExtensions<br />
<br />
=== Jeff ===<br />
'''[] Support landing Fluent in Firefox'''<br />
* This will be completed when the appropriate stakeholders have been gathered, release criteria has been defined, and Fluent is on the Firefox roadmap.<br />
'''[] Finalize 2018 OKR doc'''<br />
<br />
'''[] Identify l10n design sprints for H12017.'''<br />
<br />
'''[] Create framework for defining l10n community leadership and contribution models with Open Innovation.'''<br />
<br />
=== Matjaž ===<br />
* FTL: Land advanced UI for FTL in Pontoon<br />
* Fix Bug 1305281: search across all projects<br />
* Work with Adrian on documenting the 2018 roadmap and technology choices for Pontoon.NEXT<br />
* Create proposal of new Pontoon development process.<br />
<br />
=== Stas ===<br />
<br />
1. Support Fluent in cross-channel localization.<br />
<br />
[ ] Adapt compare-locales to support Fluent Comments, Sections and whitespace.<br />
[ ] Enable merging FTL files across channels.<br />
<br />
2. Define a roadmap for Pontoon API and complete one milestone.<br />
<br />
[ ] Identify upcoming needs for exposing Pontoon data.<br />
[ ] Document the roadmap on the wiki.<br />
[ ] Complete one milestone on the roadmap.<br />
<br />
3. Add a solution for localizing DOM fragments to fluent-react. <sup>CARRY-OVER from Q3</sup><br />
<br />
[Q3] Review the solution currently implemented in fluent-dom.<br />
[Q3] Research current solutions in other i18n libraries for React<br />
[Q3] Research approaches to parsing HTML in translations<br />
[ ] Implement<br />
[ ] Write tests and documentation<br />
<br />
=== Adrian ===<br />
<br />
* implement new source input for one-off projects<br />
* scope requirements for Pontoon.Next<br />
* design the architecture of Pontoon.Next<br />
* create a road-map for Pontoon.Next<br />
* build prototypes for key features and challenges of Pontoon.Next<br />
<br />
=== Theo (optional) ===</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&diff=1182909L10n:Pontoon/API2017-10-26T12:49:40Z<p>StasM: /* Overview */ Add a link for filing new bugs</p>
<hr />
<div>==Description==<br />
<br />
Exposing Pontoon's data through an API will enable external consumers to build tools, extensions and reports about translations. In the future, the API will serve as the backend for Pontoon.NEXT's SPA front-end. We chose an iterative approach to exposing the data. We start small with a small number of clear-focused use-cases in mind and expand the scope in subsequent iterations. The API is based on [http://graphql.org/ GraphQL] (see [https://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&oldid=1181890#Technology discussion]).<br />
<br />
==Overview==<br />
{| class="wikitable"<br />
! style="text-align: center;" | Milestone<br />
! style="text-align: center;" | Theme<br />
! style="text-align: center;" | Date<br />
! style="text-align: center;" | Tracking bug<br />
! style="text-align: center;" | Status<br />
|-<br />
| M1<br />
| Projects and Locales<br />
| September 2017<br />
|<br />
| ✓<br />
|-<br />
| M2<br />
| Translations (Read-Only)<br />
| November 2017<br />
| {{bug|1409704}}<br />
|<br />
|-<br />
| M3<br />
| Translations (Write)<br />
| January 2018<br />
|<br />
|<br />
|-<br />
| M4<br />
| User Notifications<br />
| March 2018<br />
|<br />
|<br />
|-<br />
| M5<br />
| Contributors<br />
| May 2018<br />
|<br />
|<br />
|-<br />
|}<br />
<br />
[https://bugzilla.mozilla.org/enter_bug.cgi?assigned_to=nobody%40mozilla.org&bug_file_loc=http%3A%2F%2F&bug_ignored=0&bug_severity=normal&bug_status=NEW&cf_fx_iteration=---&cf_fx_points=---&cf_status_firefox56=---&cf_status_firefox57=---&cf_status_firefox58=---&cf_status_firefox_esr52=---&cf_tracking_firefox56=---&cf_tracking_firefox57=---&cf_tracking_firefox58=---&cf_tracking_firefox_esr52=---&cf_tracking_firefox_relnote=---&component=Pontoon&contenttypemethod=autodetect&contenttypeselection=text%2Fplain&defined_groups=1&flag_type-4=X&flag_type-607=X&flag_type-800=X&flag_type-803=X&flag_type-916=X&form_name=enter_bug&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=Unspecified&priority=--&product=Webtools&rep_platform=Unspecified&short_desc=%5BAPI%5D%20&target_milestone=---&version=Trunk File a new API bug.]<br />
[https://bugzilla.mozilla.org/buglist.cgi?list_id=13836645&short_desc=%5BAPI%5D&columnlist=short_desc%2Cbug_status%2Cassigned_to%2Cblocked%2Cdependson&resolution=---&query_based_on=pontoon-api-open&query_format=advanced&short_desc_type=allwords&component=Pontoon&known_name=pontoon-api-open All open API bugs.]<br />
<br />
[https://bugzilla.mozilla.org/showdependencytree.cgi?id=1395273&hide_resolved=1 Dependency tree for all milestones.]<br />
<br />
==Roadmap==<br />
<br />
===Milestone 1===<br />
<br />
''Complete, deployed on October 2, 2017.'' <br />
<br />
In the first iteration we'd like to make some data stored in Pontoon openly available for third-parties. The goals is to create an API endpoint supporting queries related to aggregate statistics per locale and per project. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
<bugzilla><br />
{<br />
"id": "1302053",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
===Milestone 2===<br />
<br />
Main theme: read-only translations and pagination.<br />
<br />
Use-cases:<br />
<br />
* Report translation status of a single page on mozilla.org<br />
* Read-only data required by Pontoon.Next's Translate app<br />
<br />
Queries:<br />
<br />
* Establish a good practice for paginating results.<br />
* List all Resources for a Project.<br />
* List all Entities for a Resource.<br />
* List all Translations into a given Locale for an Entity.<br />
** Include status: approved, suggested, fuzzy.<br />
** Allow filtering on status via params?<br />
** List all Translations for an Entity<br />
* List all TranslatedResources for a ProjectLocale<br />
** Include aggregate statistics.<br />
** List all TranslatedResources for a Resource.<br />
** List all TranslatedResources for a Locale.<br />
<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1409704",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}</bugzilla><br />
<br />
===Milestone 3===<br />
<br />
Main theme: authenticated mutations.<br />
<br />
Use-cases:<br />
<br />
* Editing translations via Pontoon.Next's Translate app<br />
<br />
Queries:<br />
<br />
* Add a translation for an Entity<br />
** "approved" if the permissions are high enough<br />
** "suggested" otherwise<br />
* Approve/reject a suggestion.<br />
<br />
===Milestone 4===<br />
<br />
Main theme: user notifications.<br />
<br />
Use-cases:<br />
<br />
* [https://github.com/MikkCZ/pontoon-tools/ Michal's Pontoon Tools extension]<br />
<br />
Queries:<br />
<br />
* List unread notifications for a logged-in user.<br />
<br />
===Milestone 5===<br />
<br />
Main theme: contributors.<br />
<br />
* Query a single contributor (by email? unique key?)<br />
** List recent activity: date, project, action, number of affected strings<br />
** Aggregate counts of: translated, suggested, fuzzy strings across all projects<br />
** List of projects they contribute to<br />
*** Aggregate counts of: translated, suggested, fuzzy strings for each project<br />
* List all contributors on Pontoon<br />
* List all contributors for a locale<br />
* List all contributors for a project<br />
* List all contributors for a localization (ProjectLocale)<br />
<br />
==Ideas==<br />
A list of ideas to consider for future milestones.<br />
* Translation Memory. Input parameters: source string, locale, minimum Levenshtein ratio, maximum number of results.<br />
* Statistics over time. [https://public.etherpad-mozilla.org/p/pontoon.api.historic.source.string.data Early rumblings and a use case].<br />
<br />
==Contact==<br />
<br />
{| class="wikitable"<br />
! style="text-align: center;" | Role<br />
! style="text-align: center;" | Name<br />
! style="text-align: center;" | IRC<br />
|-<br />
| Feature Owner<br />
| Staś Małolepszy<br />
| stas<br />
|-<br />
| Product Owner<br />
| Matjaž Horvat<br />
| mathjazz<br />
|-<br />
| Reviewer<br />
| Adrian Gaudebert<br />
| adrian<br />
|}<br />
<br />
;Mailing list<br />
:[https://groups.google.com/forum/#!forum/mozilla.tools.l10n tools-l10n]<br />
;IRC<br />
:[irc://irc.mozilla.org/pontoon #pontoon]</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&diff=1182461L10n:Pontoon/API2017-10-18T13:15:27Z<p>StasM: </p>
<hr />
<div>==Description==<br />
<br />
Exposing Pontoon's data through an API will enable external consumers to build tools, extensions and reports about translations. In the future, the API will serve as the backend for Pontoon.NEXT's SPA front-end. We chose an iterative approach to exposing the data. We start small with a small number of clear-focused use-cases in mind and expand the scope in subsequent iterations. The API is based on [http://graphql.org/ GraphQL] (see [https://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&oldid=1181890#Technology discussion]).<br />
<br />
==Overview==<br />
{| class="wikitable"<br />
! style="text-align: center;" | Milestone<br />
! style="text-align: center;" | Theme<br />
! style="text-align: center;" | Date<br />
! style="text-align: center;" | Tracking bug<br />
! style="text-align: center;" | Status<br />
|-<br />
| M1<br />
| Projects and Locales<br />
| September 2017<br />
|<br />
| ✓<br />
|-<br />
| M2<br />
| Translations (Read-Only)<br />
| November 2017<br />
| {{bug|1409704}}<br />
|<br />
|-<br />
| M3<br />
| Translations (Write)<br />
| January 2018<br />
|<br />
|<br />
|-<br />
| M4<br />
| User Notifications<br />
| March 2018<br />
|<br />
|<br />
|-<br />
| M5<br />
| Contributors<br />
| May 2018<br />
|<br />
|<br />
|-<br />
|}<br />
<br />
[https://bugzilla.mozilla.org/showdependencytree.cgi?id=1395273&hide_resolved=1 Dependency tree for all milestones.]<br />
[https://bugzilla.mozilla.org/buglist.cgi?list_id=13836645&short_desc=%5BAPI%5D&columnlist=short_desc%2Cbug_status%2Cassigned_to%2Cblocked%2Cdependson&resolution=---&query_based_on=pontoon-api-open&query_format=advanced&short_desc_type=allwords&component=Pontoon&known_name=pontoon-api-open All open API bugs.]<br />
<br />
==Roadmap==<br />
<br />
===Milestone 1===<br />
<br />
''Complete, deployed on October 2, 2017.'' <br />
<br />
In the first iteration we'd like to make some data stored in Pontoon openly available for third-parties. The goals is to create an API endpoint supporting queries related to aggregate statistics per locale and per project. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
<bugzilla><br />
{<br />
"id": "1302053",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
===Milestone 2===<br />
<br />
Main theme: read-only translations and pagination.<br />
<br />
Use-cases:<br />
<br />
* Report translation status of a single page on mozilla.org<br />
* Read-only data required by Pontoon.Next's Translate app<br />
<br />
Queries:<br />
<br />
* Establish a good practice for paginating results.<br />
* List all Resources for a Project.<br />
* List all Entities for a Resource.<br />
* List all Translations into a given Locale for an Entity.<br />
** Include status: approved, suggested, fuzzy.<br />
** Allow filtering on status via params?<br />
** List all Translations for an Entity<br />
* List all TranslatedResources for a ProjectLocale<br />
** Include aggregate statistics.<br />
** List all TranslatedResources for a Resource.<br />
** List all TranslatedResources for a Locale.<br />
<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1409704",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}</bugzilla><br />
<br />
===Milestone 3===<br />
<br />
Main theme: authenticated mutations.<br />
<br />
Use-cases:<br />
<br />
* Editing translations via Pontoon.Next's Translate app<br />
<br />
Queries:<br />
<br />
* Add a translation for an Entity<br />
** "approved" if the permissions are high enough<br />
** "suggested" otherwise<br />
* Approve/reject a suggestion.<br />
<br />
===Milestone 4===<br />
<br />
Main theme: user notifications.<br />
<br />
Use-cases:<br />
<br />
* [https://github.com/MikkCZ/pontoon-tools/ Michal's Pontoon Tools extension]<br />
<br />
Queries:<br />
<br />
* List unread notifications for a logged-in user.<br />
<br />
===Milestone 5===<br />
<br />
Main theme: contributors.<br />
<br />
* Query a single contributor (by email? unique key?)<br />
** List recent activity: date, project, action, number of affected strings<br />
** Aggregate counts of: translated, suggested, fuzzy strings across all projects<br />
** List of projects they contribute to<br />
*** Aggregate counts of: translated, suggested, fuzzy strings for each project<br />
* List all contributors on Pontoon<br />
* List all contributors for a locale<br />
* List all contributors for a project<br />
* List all contributors for a localization (ProjectLocale)<br />
<br />
===Milestone X===<br />
<br />
Main theme: statistics over time.<br />
<br />
* [https://public.etherpad-mozilla.org/p/pontoon.api.historic.source.string.data Use case and Early rumblings].<br />
<br />
==Contact==<br />
<br />
{| class="wikitable"<br />
! style="text-align: center;" | Role<br />
! style="text-align: center;" | Name<br />
! style="text-align: center;" | IRC<br />
|-<br />
| Feature Owner<br />
| Staś Małolepszy<br />
| stas<br />
|-<br />
| Product Owner<br />
| Matjaž Horvat<br />
| mathjazz<br />
|-<br />
| Reviewer<br />
| Adrian Gaudebert<br />
| adrian<br />
|}<br />
<br />
;Mailing list<br />
:[https://groups.google.com/forum/#!forum/mozilla.tools.l10n tools-l10n]<br />
;IRC<br />
:[irc://irc.mozilla.org/pontoon #pontoon]</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&diff=1182460L10n:Pontoon/API2017-10-18T12:50:35Z<p>StasM: Remove the main tracking table in favor of per-milestone ones</p>
<hr />
<div>==Description==<br />
<br />
Exposing Pontoon's data through an API will enable external consumers to build tools, extensions and reports about translations. In the future, the API will serve as the backend for Pontoon.NEXT's SPA front-end. We chose an iterative approach to exposing the data. We start small with a small number of clear-focused use-cases in mind and expand the scope in subsequent iterations. The API is based on [http://graphql.org/ GraphQL] (see [https://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&oldid=1181890#Technology discussion]).<br />
<br />
==Overview==<br />
{| class="wikitable"<br />
! style="text-align: center;" | Milestone<br />
! style="text-align: center;" | Theme<br />
! style="text-align: center;" | Date<br />
! style="text-align: center;" | Tracking bug<br />
! style="text-align: center;" | Status<br />
|-<br />
| M1<br />
| Projects and Locales<br />
| September 2017<br />
|<br />
| ✓<br />
|-<br />
| M2<br />
| Translations (Read-Only)<br />
| November 2017<br />
| {{bug|1409704}}<br />
|<br />
|-<br />
| M3<br />
| Translations (Write)<br />
| January 2018<br />
|<br />
|<br />
|-<br />
| M4<br />
| User Notifications<br />
| March 2018<br />
|<br />
|<br />
|-<br />
| M5<br />
| Contributors<br />
| May 2018<br />
|<br />
|<br />
|-<br />
|}<br />
<br />
==Roadmap==<br />
<br />
[https://bugzilla.mozilla.org/buglist.cgi?list_id=13836645&short_desc=%5BAPI%5D&columnlist=short_desc%2Cbug_status%2Cassigned_to%2Cblocked%2Cdependson&resolution=---&query_based_on=pontoon-api-open&query_format=advanced&short_desc_type=allwords&component=Pontoon&known_name=pontoon-api-open All open API bugs.]<br />
<br />
===Milestone 1===<br />
<br />
''Complete, deployed on October 2, 2017.'' <br />
<br />
In the first iteration we'd like to make some data stored in Pontoon openly available for third-parties. The goals is to create an API endpoint supporting queries related to aggregate statistics per locale and per project. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
<bugzilla><br />
{<br />
"id": "1302053",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
===Milestone 2===<br />
<br />
Main theme: read-only translations and pagination.<br />
<br />
Use-cases:<br />
<br />
* Report translation status of a single page on mozilla.org<br />
* Read-only data required by Pontoon.Next's Translate app<br />
<br />
Queries:<br />
<br />
* Establish a good practice for paginating results.<br />
* List all Resources for a Project.<br />
* List all Entities for a Resource.<br />
* List all Translations into a given Locale for an Entity.<br />
** Include status: approved, suggested, fuzzy.<br />
** Allow filtering on status via params?<br />
** List all Translations for an Entity<br />
* List all TranslatedResources for a ProjectLocale<br />
** Include aggregate statistics.<br />
** List all TranslatedResources for a Resource.<br />
** List all TranslatedResources for a Locale.<br />
<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1409704",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}</bugzilla><br />
<br />
===Milestone 3===<br />
<br />
Main theme: authenticated mutations.<br />
<br />
Use-cases:<br />
<br />
* Editing translations via Pontoon.Next's Translate app<br />
<br />
Queries:<br />
<br />
* Add a translation for an Entity<br />
** "approved" if the permissions are high enough<br />
** "suggested" otherwise<br />
* Approve/reject a suggestion.<br />
<br />
===Milestone 4===<br />
<br />
Main theme: user notifications.<br />
<br />
Use-cases:<br />
<br />
* [https://github.com/MikkCZ/pontoon-tools/ Michal's Pontoon Tools extension]<br />
<br />
Queries:<br />
<br />
* List unread notifications for a logged-in user.<br />
<br />
===Milestone 5===<br />
<br />
Main theme: contributors.<br />
<br />
* Query a single contributor (by email? unique key?)<br />
** List recent activity: date, project, action, number of affected strings<br />
** Aggregate counts of: translated, suggested, fuzzy strings across all projects<br />
** List of projects they contribute to<br />
*** Aggregate counts of: translated, suggested, fuzzy strings for each project<br />
* List all contributors on Pontoon<br />
* List all contributors for a locale<br />
* List all contributors for a project<br />
* List all contributors for a localization (ProjectLocale)<br />
<br />
===Milestone X===<br />
<br />
Main theme: statistics over time.<br />
<br />
* [https://public.etherpad-mozilla.org/p/pontoon.api.historic.source.string.data Use case and Early rumblings].<br />
<br />
==Contact==<br />
<br />
{| class="wikitable"<br />
! style="text-align: center;" | Role<br />
! style="text-align: center;" | Name<br />
! style="text-align: center;" | IRC<br />
|-<br />
| Feature Owner<br />
| Staś Małolepszy<br />
| stas<br />
|-<br />
| Product Owner<br />
| Matjaž Horvat<br />
| mathjazz<br />
|-<br />
| Reviewer<br />
| Adrian Gaudebert<br />
| adrian<br />
|}<br />
<br />
;Mailing list<br />
:[https://groups.google.com/forum/#!forum/mozilla.tools.l10n tools-l10n]<br />
;IRC<br />
:[irc://irc.mozilla.org/pontoon #pontoon]</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon&diff=1182459L10n:Pontoon2017-10-18T12:32:39Z<p>StasM: /* Current quarter roadmap */ Add API Milestone 2</p>
<hr />
<div>== Introduction ==<br />
[https://pontoon.mozilla.org/ Pontoon] is a localization tool. It specializes in translating websites in-place, but can handle virtually any project that uses one of the standard localization file formats. Development takes place on [https://github.com/mozilla/pontoon GitHub], where you can find documentation, ways to get involved and contact information.<br />
<br />
This wiki page mainly serves as development roadmap. We use Mozilla wiki, because it integrates with [https://bugzilla.mozilla.org/buglist.cgi?product=Webtools&component=Pontoon&resolution=--- Bugzilla] nicely, which we use for tracking bugs.<br />
<br />
== Prioritizing bugs ==<br />
We use 5 bug priority levels, which effectively define the short term roadmap. Priority is usually set after the bug has been confirmed by one of the developers.<br />
* '''P1''': Must be fixed immediately, drop any other work.<br />
* '''P2''': We want to ship this soon, possibly in the current quarter.<br />
* '''P3''': Default starting point, possibly shipping in the following two quarters.<br />
* '''P4''': We expect it to be fixed someday.<br />
* '''P5''': A valid bug, but we might never fix it, unless you provide a patch.<br />
<br />
== Current quarter roadmap ==<br />
<br />
===Deliver advanced Fluent UI in Pontoon===<br />
<bugzilla><br />
{<br />
"id": "1362072,1392255,1366259,1382348,1382536,1382778,1393523",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
===API Milestone 2===<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1409704",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}</bugzilla><br />
<br />
===Other bugs===<br />
<bugzilla><br />
{<br />
"id": "1219908,1305281,1350546,1377969,1397377,1407623",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
== Next quarter roadmap candidates ==<br />
<bugzilla><br />
{<br />
"id": "1203265,1237667,1243140,1293039,1361318",<br />
"include_fields": "id, summary, status, resolution, priority, assigned_to"<br />
}<br />
</bugzilla><br />
<br />
== Get involved ==<br />
Here's a few mentored bugs, good to start with for new contributors.<br />
<bugzilla><br />
{<br />
"product": "Webtools",<br />
"component": "Pontoon",<br />
"bug_mentor_type": "contains",<br />
"bug_mentor": "@",<br />
"resolution": "---"<br />
}<br />
</bugzilla><br />
<br />
Check out [http://mozilla-pontoon.readthedocs.io/en/latest/dev/install.html developer docs] to learn how to set up Pontoon on your computer for development.<br />
<br />
== Feature Brainstorming ==<br />
If you want to present an idea that is not ready to be put on Bugzilla yet, please add it to [[L10n:Pontoon/Ideas|L10n:Pontoon/Ideas]].<br />
<br />
== Fun read from the past! ==<br />
* [http://ozten.com/psto/2009/08/14/a-sketch-of-po-liveedit/ A Sketch of PO LiveEdit (by Austin King)]<br />
* [http://diary.braniecki.net/tag/pontoon/ Posts on Pontoon (by Zbigniew Braniecki)]<br />
* [http://blog.mozilla.com/webdev/2009/08/17/improving-mozilla-web-localization-part-3-challenges-for-tools/ Improving Mozilla Web Localization, Part 3: Challenges for Tools (by Fred Wenzel)]<br />
* [https://etherpad.mozilla.org/pontoon-2011 Statement of work (2011)]<br />
<br />
[[Category:L10n]]</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&diff=1182458L10n:Pontoon/API2017-10-18T12:30:04Z<p>StasM: </p>
<hr />
<div>==Description==<br />
<br />
Exposing Pontoon's data through an API will enable external consumers to build tools, extensions and reports about translations. In the future, the API will serve as the backend for Pontoon.NEXT's SPA front-end. We chose an iterative approach to exposing the data. We start small with a small number of clear-focused use-cases in mind and expand the scope in subsequent iterations. The API is based on [http://graphql.org/ GraphQL] (see [https://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&oldid=1181890#Technology discussion]).<br />
<br />
==Tracking==<br />
<br />
The tracking bug for all work related to the API for Pontoon is {{bug|pontoon-api}}.<br />
<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1395273",<br />
"include_fields": "id, summary, status, resolution, assigned_to, depends_on"<br />
}</bugzilla><br />
<br />
==Overview==<br />
{| class="wikitable"<br />
! style="text-align: center;" | Milestone<br />
! style="text-align: center;" | Theme<br />
! style="text-align: center;" | Date<br />
! style="text-align: center;" | Status<br />
|-<br />
| M1<br />
| Projects and Locales<br />
| September 2017<br />
| ✓<br />
|-<br />
| M2<br />
| Translations (Read-Only)<br />
| November 2017<br />
|<br />
|-<br />
| M3<br />
| Translations (Write)<br />
| January 2018<br />
|<br />
|-<br />
| M4<br />
| User Notifications<br />
| March 2018<br />
|<br />
|-<br />
| M5<br />
| Contributors<br />
| May 2018<br />
|<br />
|-<br />
|}<br />
<br />
==Roadmap==<br />
<br />
===Milestone 1===<br />
<br />
''Complete, deployed on October 2, 2017.'' <br />
<br />
In the first iteration we'd like to make some data stored in Pontoon openly available for third-parties. The goals is to create an API endpoint supporting queries related to aggregate statistics per locale and per project. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
===Milestone 2===<br />
<br />
Main theme: read-only translations and pagination.<br />
<br />
Use-cases:<br />
<br />
* Report translation status of a single page on mozilla.org<br />
* Read-only data required by Pontoon.Next's Translate app<br />
<br />
Queries:<br />
<br />
* Establish a good practice for paginating results.<br />
* List all Resources for a Project.<br />
* List all Entities for a Resource.<br />
* List all Translations into a given Locale for an Entity.<br />
** Include status: approved, suggested, fuzzy.<br />
** Allow filtering on status via params?<br />
** List all Translations for an Entity<br />
* List all TranslatedResources for a ProjectLocale<br />
** Include aggregate statistics.<br />
** List all TranslatedResources for a Resource.<br />
** List all TranslatedResources for a Locale.<br />
<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1409704",<br />
"include_fields": "id, summary, status, resolution, assigned_to, depends_on"<br />
}</bugzilla><br />
<br />
===Milestone 3===<br />
<br />
Main theme: authenticated mutations.<br />
<br />
Use-cases:<br />
<br />
* Editing translations via Pontoon.Next's Translate app<br />
<br />
Queries:<br />
<br />
* Add a translation for an Entity<br />
** "approved" if the permissions are high enough<br />
** "suggested" otherwise<br />
* Approve/reject a suggestion.<br />
<br />
===Milestone 4===<br />
<br />
Main theme: user notifications.<br />
<br />
Use-cases:<br />
<br />
* [https://github.com/MikkCZ/pontoon-tools/ Michal's Pontoon Tools extension]<br />
<br />
Queries:<br />
<br />
* List unread notifications for a logged-in user.<br />
<br />
===Milestone 5===<br />
<br />
Main theme: contributors.<br />
<br />
* Query a single contributor (by email? unique key?)<br />
** List recent activity: date, project, action, number of affected strings<br />
** Aggregate counts of: translated, suggested, fuzzy strings across all projects<br />
** List of projects they contribute to<br />
*** Aggregate counts of: translated, suggested, fuzzy strings for each project<br />
* List all contributors on Pontoon<br />
* List all contributors for a locale<br />
* List all contributors for a project<br />
* List all contributors for a localization (ProjectLocale)<br />
<br />
===Milestone X===<br />
<br />
Main theme: statistics over time.<br />
<br />
* [https://public.etherpad-mozilla.org/p/pontoon.api.historic.source.string.data Use case and Early rumblings].<br />
<br />
==Contact==<br />
<br />
{| class="wikitable"<br />
! style="text-align: center;" | Role<br />
! style="text-align: center;" | Name<br />
! style="text-align: center;" | IRC<br />
|-<br />
| Feature Owner<br />
| Staś Małolepszy<br />
| stas<br />
|-<br />
| Product Owner<br />
| Matjaž Horvat<br />
| mathjazz<br />
|-<br />
| Reviewer<br />
| Adrian Gaudebert<br />
| adrian<br />
|}<br />
<br />
;Mailing list<br />
:[https://groups.google.com/forum/#!forum/mozilla.tools.l10n tools-l10n]<br />
;IRC<br />
:[irc://irc.mozilla.org/pontoon #pontoon]</div>StasMhttps://wiki.mozilla.org/index.php?title=Fluent&diff=1182453Fluent2017-10-18T10:46:12Z<p>StasM: /* Mozilla Projects Using Fluent */</p>
<hr />
<div>Project Fluent is a localization system designed to improve how software is translated. See http://projectfluent.io/ for more information, including the links to the project's repositories and the GitHub wiki.<br />
<br />
==Mozilla Projects Using Fluent==<br />
<br />
=====fluent-react=====<br />
*https://github.com/mozilla/testpilot (the website)<br />
*https://github.com/mozilla-services/screenshots (the website)<br />
*https://github.com/mozilla-lockbox/lockbox-extension<br />
<br />
=====vanilla fluent=====<br />
*https://github.com/mozilla/send</div>StasMhttps://wiki.mozilla.org/index.php?title=Fluent&diff=1182443Fluent2017-10-18T07:51:14Z<p>StasM: </p>
<hr />
<div>Project Fluent is a localization system designed to improve how software is translated. See http://projectfluent.io/ for more information, including the links to the project's repositories and the GitHub wiki.<br />
<br />
==Mozilla Projects Using Fluent==<br />
<br />
=====fluent-react=====<br />
*https://github.com/mozilla/testpilot (the website)<br />
*https://github.com/mozilla-services/screenshots (the website)<br />
*https://github.com/mozilla-lockbox/lockbox-extension</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&diff=1182077L10n:Pontoon/API2017-10-10T21:30:36Z<p>StasM: /* Tracking */ Remove "Blocks" column</p>
<hr />
<div>==Description==<br />
<br />
Exposing Pontoon's data through an API will enable external consumers to build tools, extensions and reports about translations. In the future, the API will serve as the backend for Pontoon.NEXT's SPA front-end. We chose an iterative approach to exposing the data. We start small with a small number of clear-focused use-cases in mind and expand the scope in subsequent iterations. The API is based on [http://graphql.org/ GraphQL] (see [https://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&oldid=1181890#Technology discussion]).<br />
<br />
==Tracking==<br />
<br />
The tracking bug for all work related to the API for Pontoon is {{bug|pontoon-api}}.<br />
<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1395273",<br />
"include_fields": "id, summary, status, resolution, assigned_to, depends_on"<br />
}</bugzilla><br />
<br />
==Overview==<br />
{| class="wikitable"<br />
! style="text-align: center;" | Milestone<br />
! style="text-align: center;" | Theme<br />
! style="text-align: center;" | Date<br />
! style="text-align: center;" | Status<br />
|-<br />
| M1<br />
| Projects and Locales<br />
| September 2017<br />
| ✓<br />
|-<br />
| M2<br />
| Translations (Read-Only)<br />
| November 2017<br />
|<br />
|-<br />
| M3<br />
| Translations (Write)<br />
| January 2018<br />
|<br />
|-<br />
| M4<br />
| User Notifications<br />
| March 2018<br />
|<br />
|-<br />
| M5<br />
| Contributors<br />
| May 2018<br />
|<br />
|-<br />
|}<br />
<br />
==Roadmap==<br />
<br />
===Milestone 1===<br />
<br />
''Complete, deployed on October 2, 2017.'' <br />
<br />
In the first iteration we'd like to make some data stored in Pontoon openly available for third-parties. The goals is to create an API endpoint supporting queries related to aggregate statistics per locale and per project. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
===Milestone 2===<br />
<br />
Main theme: read-only translations and pagination.<br />
<br />
Use-cases:<br />
<br />
* Report translation status of a single page on mozilla.org<br />
* Read-only data required by Pontoon.Next's Translate app<br />
<br />
Queries:<br />
<br />
* Establish a good practice for paginating results.<br />
* List all Resources for a Project.<br />
* List all Entities for a Resource.<br />
* List all Translations into a given Locale for an Entity.<br />
** Include status: approved, suggested, fuzzy.<br />
** Allow filtering on status via params?<br />
** List all Translations for an Entity<br />
* List all TranslatedResources for a ProjectLocale<br />
** Include aggregate statistics.<br />
** List all TranslatedResources for a Resource.<br />
** List all TranslatedResources for a Locale.<br />
<br />
===Milestone 3===<br />
<br />
Main theme: authenticated mutations.<br />
<br />
Use-cases:<br />
<br />
* Editing translations via Pontoon.Next's Translate app<br />
<br />
Queries:<br />
<br />
* Add a translation for an Entity<br />
** "approved" if the permissions are high enough<br />
** "suggested" otherwise<br />
* Approve/reject a suggestion.<br />
<br />
===Milestone 4===<br />
<br />
Main theme: user notifications.<br />
<br />
Use-cases:<br />
<br />
* [https://github.com/MikkCZ/pontoon-tools/ Michal's Pontoon Tools extension]<br />
<br />
Queries:<br />
<br />
* List unread notifications for a logged-in user.<br />
<br />
===Milestone 5===<br />
<br />
Main theme: contributors.<br />
<br />
* Query a single contributor (by email? unique key?)<br />
** List recent activity: date, project, action, number of affected strings<br />
** Aggregate counts of: translated, suggested, fuzzy strings across all projects<br />
** List of projects they contribute to<br />
*** Aggregate counts of: translated, suggested, fuzzy strings for each project<br />
* List all contributors on Pontoon<br />
* List all contributors for a locale<br />
* List all contributors for a project<br />
* List all contributors for a localization (ProjectLocale)<br />
<br />
===Milestone X===<br />
<br />
Main theme: statistics over time.<br />
<br />
* [https://public.etherpad-mozilla.org/p/pontoon.api.historic.source.string.data Use case and Early rumblings].<br />
<br />
==Contact==<br />
<br />
{| class="wikitable"<br />
! style="text-align: center;" | Role<br />
! style="text-align: center;" | Name<br />
! style="text-align: center;" | IRC<br />
|-<br />
| Feature Owner<br />
| Staś Małolepszy<br />
| stas<br />
|-<br />
| Product Owner<br />
| Matjaž Horvat<br />
| mathjazz<br />
|-<br />
| Reviewer<br />
| Adrian Gaudebert<br />
| adrian<br />
|}<br />
<br />
;Mailing list<br />
:[https://groups.google.com/forum/#!forum/mozilla.tools.l10n tools-l10n]<br />
;IRC<br />
:[irc://irc.mozilla.org/pontoon #pontoon]</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&diff=1182066L10n:Pontoon/API2017-10-10T16:16:05Z<p>StasM: </p>
<hr />
<div>==Description==<br />
<br />
Exposing Pontoon's data through an API will enable external consumers to build tools, extensions and reports about translations. In the future, the API will serve as the backend for Pontoon.NEXT's SPA front-end. We chose an iterative approach to exposing the data. We start small with a small number of clear-focused use-cases in mind and expand the scope in subsequent iterations. The API is based on [http://graphql.org/ GraphQL] (see [https://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&oldid=1181890#Technology discussion]).<br />
<br />
==Tracking==<br />
<br />
The tracking bug for all work related to the API for Pontoon is {{bug|pontoon-api}}.<br />
<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1395273",<br />
"include_fields": "id, summary, status, resolution, assigned_to, depends_on, blocks"<br />
}</bugzilla><br />
<br />
==Overview==<br />
{| class="wikitable"<br />
! style="text-align: center;" | Milestone<br />
! style="text-align: center;" | Theme<br />
! style="text-align: center;" | Date<br />
! style="text-align: center;" | Status<br />
|-<br />
| M1<br />
| Projects and Locales<br />
| September 2017<br />
| ✓<br />
|-<br />
| M2<br />
| Translations (Read-Only)<br />
| November 2017<br />
|<br />
|-<br />
| M3<br />
| Translations (Write)<br />
| January 2018<br />
|<br />
|-<br />
| M4<br />
| User Notifications<br />
| March 2018<br />
|<br />
|-<br />
| M5<br />
| Contributors<br />
| May 2018<br />
|<br />
|-<br />
|}<br />
<br />
==Roadmap==<br />
<br />
===Milestone 1===<br />
<br />
''Complete, deployed on October 2, 2017.'' <br />
<br />
In the first iteration we'd like to make some data stored in Pontoon openly available for third-parties. The goals is to create an API endpoint supporting queries related to aggregate statistics per locale and per project. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
===Milestone 2===<br />
<br />
Main theme: read-only translations and pagination.<br />
<br />
Use-cases:<br />
<br />
* Report translation status of a single page on mozilla.org<br />
* Read-only data required by Pontoon.Next's Translate app<br />
<br />
Queries:<br />
<br />
* Establish a good practice for paginating results.<br />
* List all Resources for a Project.<br />
* List all Entities for a Resource.<br />
* List all Translations into a given Locale for an Entity.<br />
** Include status: approved, suggested, fuzzy.<br />
** Allow filtering on status via params?<br />
** List all Translations for an Entity<br />
* List all TranslatedResources for a ProjectLocale<br />
** Include aggregate statistics.<br />
** List all TranslatedResources for a Resource.<br />
** List all TranslatedResources for a Locale.<br />
<br />
===Milestone 3===<br />
<br />
Main theme: authenticated mutations.<br />
<br />
Use-cases:<br />
<br />
* Editing translations via Pontoon.Next's Translate app<br />
<br />
Queries:<br />
<br />
* Add a translation for an Entity<br />
** "approved" if the permissions are high enough<br />
** "suggested" otherwise<br />
* Approve/reject a suggestion.<br />
<br />
===Milestone 4===<br />
<br />
Main theme: user notifications.<br />
<br />
Use-cases:<br />
<br />
* [https://github.com/MikkCZ/pontoon-tools/ Michal's Pontoon Tools extension]<br />
<br />
Queries:<br />
<br />
* List unread notifications for a logged-in user.<br />
<br />
===Milestone 5===<br />
<br />
Main theme: contributors.<br />
<br />
* Query a single contributor (by email? unique key?)<br />
** List recent activity: date, project, action, number of affected strings<br />
** Aggregate counts of: translated, suggested, fuzzy strings across all projects<br />
** List of projects they contribute to<br />
*** Aggregate counts of: translated, suggested, fuzzy strings for each project<br />
* List all contributors on Pontoon<br />
* List all contributors for a locale<br />
* List all contributors for a project<br />
* List all contributors for a localization (ProjectLocale)<br />
<br />
===Milestone X===<br />
<br />
Main theme: statistics over time.<br />
<br />
* [https://public.etherpad-mozilla.org/p/pontoon.api.historic.source.string.data Use case and Early rumblings].<br />
<br />
==Contact==<br />
<br />
{| class="wikitable"<br />
! style="text-align: center;" | Role<br />
! style="text-align: center;" | Name<br />
! style="text-align: center;" | IRC<br />
|-<br />
| Feature Owner<br />
| Staś Małolepszy<br />
| stas<br />
|-<br />
| Product Owner<br />
| Matjaž Horvat<br />
| mathjazz<br />
|-<br />
| Reviewer<br />
| Adrian Gaudebert<br />
| adrian<br />
|}<br />
<br />
;Mailing list<br />
:[https://groups.google.com/forum/#!forum/mozilla.tools.l10n tools-l10n]<br />
;IRC<br />
:[irc://irc.mozilla.org/pontoon #pontoon]</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&diff=1182063L10n:Pontoon/API2017-10-10T15:41:15Z<p>StasM: Re-arrange milestones as per the Watercooler meeting from October 10, 2017</p>
<hr />
<div>==Description==<br />
<br />
Exposing Pontoon's data through an API will enable external consumers to build tools, extensions and reports about translations. In the future, the API will serve as the backend for Pontoon.NEXT's SPA front-end. We chose an iterative approach to exposing the data. We start small with a small number of clear-focused use-cases in mind and expand the scope in subsequent iterations. The API is based on [http://graphql.org/ GraphQL] (see [https://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&oldid=1181890#Technology discussion]).<br />
<br />
The tracking bug for all work related to the API for Pontoon is {{bug|pontoon-api}}.<br />
<br />
==Overview==<br />
{| class="wikitable"<br />
! style="text-align: center;" | Milestone<br />
! style="text-align: center;" | Theme<br />
! style="text-align: center;" | Date<br />
! style="text-align: center;" | Status<br />
|-<br />
| M1<br />
| Projects and Locales<br />
| September 2017<br />
| ✓<br />
|-<br />
| M2<br />
| Translations (Read-Only)<br />
| November 2017<br />
|<br />
|-<br />
| M3<br />
| Translations (Write)<br />
| January 2018<br />
|<br />
|-<br />
| M4<br />
| User Notifications<br />
| March 2018<br />
|<br />
|-<br />
| M5<br />
| Contributors<br />
| May 2018<br />
|<br />
|-<br />
|}<br />
<br />
==Roadmap==<br />
<br />
===Milestone 1===<br />
<br />
''Complete, deployed on October 2, 2017.'' <br />
<br />
In the first iteration we'd like to make some data stored in Pontoon openly available for third-parties. The goals is to create an API endpoint supporting queries related to aggregate statistics per locale and per project. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1395273",<br />
"include_fields": "id, summary, status, resolution, assigned_to, depends_on, blocks"<br />
}</bugzilla><br />
<br />
===Milestone 2===<br />
<br />
Main theme: read-only translations and pagination.<br />
<br />
Use-cases:<br />
<br />
* Report translation status of a single page on mozilla.org<br />
* Read-only data required by Pontoon.Next's Translate app<br />
<br />
Queries:<br />
<br />
* Establish a good practice for paginating results.<br />
* List all Resources for a Project.<br />
* List all Entities for a Resource.<br />
* List all Translations into a given Locale for an Entity.<br />
** Include status: approved, suggested, fuzzy.<br />
** Allow filtering on status via params?<br />
** List all Translations for an Entity<br />
* List all TranslatedResources for a ProjectLocale<br />
** Include aggregate statistics.<br />
** List all TranslatedResources for a Resource.<br />
** List all TranslatedResources for a Locale.<br />
<br />
===Milestone 3===<br />
<br />
Main theme: authenticated mutations.<br />
<br />
Use-cases:<br />
<br />
* Editing translations via Pontoon.Next's Translate app<br />
<br />
Queries:<br />
<br />
* Add a translation for an Entity<br />
** "approved" if the permissions are high enough<br />
** "suggested" otherwise<br />
* Approve/reject a suggestion.<br />
<br />
===Milestone 4===<br />
<br />
Main theme: user notifications.<br />
<br />
Use-cases:<br />
<br />
* [https://github.com/MikkCZ/pontoon-tools/ Michal's Pontoon Tools extension]<br />
<br />
Queries:<br />
<br />
* List unread notifications for a logged-in user.<br />
<br />
===Milestone 5===<br />
<br />
Main theme: contributors.<br />
<br />
* Query a single contributor (by email? unique key?)<br />
** List recent activity: date, project, action, number of affected strings<br />
** Aggregate counts of: translated, suggested, fuzzy strings across all projects<br />
** List of projects they contribute to<br />
*** Aggregate counts of: translated, suggested, fuzzy strings for each project<br />
* List all contributors on Pontoon<br />
* List all contributors for a locale<br />
* List all contributors for a project<br />
* List all contributors for a localization (ProjectLocale)<br />
<br />
===Milestone X===<br />
<br />
Main theme: statistics over time.<br />
<br />
* [https://public.etherpad-mozilla.org/p/pontoon.api.historic.source.string.data Use case and Early rumblings].<br />
<br />
==Contact==<br />
<br />
{| class="wikitable"<br />
! style="text-align: center;" | Role<br />
! style="text-align: center;" | Name<br />
! style="text-align: center;" | IRC<br />
|-<br />
| Feature Owner<br />
| Staś Małolepszy<br />
| stas<br />
|-<br />
| Product Owner<br />
| Matjaž Horvat<br />
| mathjazz<br />
|-<br />
| Reviewer<br />
| Adrian Gaudebert<br />
| adrian<br />
|}<br />
<br />
;Mailing list<br />
:[https://groups.google.com/forum/#!forum/mozilla.tools.l10n tools-l10n]<br />
;IRC<br />
:[irc://irc.mozilla.org/pontoon #pontoon]</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&diff=1182051L10n:Pontoon/API2017-10-10T14:18:05Z<p>StasM: /* Milestone 2 */</p>
<hr />
<div>==Description==<br />
<br />
Exposing Pontoon's data through an API will enable external consumers to build tools, extensions and reports about translations. In the future, the API will serve as the backend for Pontoon.NEXT's SPA front-end. We chose an iterative approach to exposing the data. We start small with a small number of clear-focused use-cases in mind and expand the scope in subsequent iterations. The API is based on [http://graphql.org/ GraphQL] (see [https://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&oldid=1181890#Technology discussion]).<br />
<br />
The tracking bug for all work related to the API for Pontoon is {{bug|pontoon-api}}.<br />
<br />
==Overview==<br />
{| class="wikitable"<br />
! style="text-align: center;" | Milestone<br />
! style="text-align: center;" | Theme<br />
! style="text-align: center;" | Date<br />
! style="text-align: center;" | Status<br />
|-<br />
| M1<br />
| Projects and Locales<br />
| September 2017<br />
| ✓<br />
|-<br />
| M2<br />
| Translations<br />
| November 2017<br />
|<br />
|-<br />
| M3<br />
| Contributors<br />
| January 2018<br />
|<br />
|-<br />
| M4<br />
| Authentication<br />
| March 2018<br />
|<br />
|-<br />
| M5<br />
| Mutations<br />
| May 2018<br />
|<br />
|-<br />
|}<br />
<br />
==Roadmap==<br />
<br />
===Milestone 1===<br />
<br />
''Complete, deployed on October 2, 2017.'' <br />
<br />
In the first iteration we'd like to make some data stored in Pontoon openly available for third-parties. The goals is to create an API endpoint supporting queries related to aggregate statistics per locale and per project. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1395273",<br />
"include_fields": "id, summary, status, resolution, assigned_to, depends_on, blocks"<br />
}</bugzilla><br />
<br />
===Milestone 2===<br />
<br />
Main theme: translations and pagination.<br />
<br />
Use-cases:<br />
<br />
* Report translation status of a single page on mozilla.org<br />
<br />
Queries:<br />
<br />
* Establish a good practice for paginating results.<br />
* List all Resources for a Project.<br />
* List all Entities for a Resource.<br />
* List all Translations into a given Locale for an Entity.<br />
** Include status: approved, suggested, fuzzy.<br />
** Allow filtering on status via params?<br />
** List all Translations for an Entity<br />
* List all TranslatedResources for a ProjectLocale<br />
** Include aggregate statistics.<br />
** List all TranslatedResources for a Resource.<br />
** List all TranslatedResources for a Locale.<br />
<br />
===Milestone 3===<br />
<br />
Main theme: contributors.<br />
<br />
* Query a single contributor (by email? unique key?)<br />
** List recent activity: date, project, action, number of affected strings<br />
** Aggregate counts of: translated, suggested, fuzzy strings across all projects<br />
** List of projects they contribute to<br />
*** Aggregate counts of: translated, suggested, fuzzy strings for each project<br />
* List all contributors on Pontoon<br />
* List all contributors for a locale<br />
* List all contributors for a project<br />
* List all contributors for a localization (ProjectLocale)<br />
<br />
===Milestone 4===<br />
<br />
Main theme: authentication.<br />
<br />
* List unread notifications for a logged-in user.<br />
<br />
===Milestone 5===<br />
<br />
Main theme: mutations.<br />
<br />
* Add a suggested translation for an Entity.<br />
<br />
===Milestone X===<br />
<br />
Main theme: statistics over time.<br />
<br />
* [https://public.etherpad-mozilla.org/p/pontoon.api.historic.source.string.data Use case and Early rumblings].<br />
<br />
==Contact==<br />
<br />
{| class="wikitable"<br />
! style="text-align: center;" | Role<br />
! style="text-align: center;" | Name<br />
! style="text-align: center;" | IRC<br />
|-<br />
| Feature Owner<br />
| Staś Małolepszy<br />
| stas<br />
|-<br />
| Product Owner<br />
| Matjaž Horvat<br />
| mathjazz<br />
|-<br />
| Reviewer<br />
| Adrian Gaudebert<br />
| adrian<br />
|}<br />
<br />
;Mailing list<br />
:[https://groups.google.com/forum/#!forum/mozilla.tools.l10n tools-l10n]<br />
;IRC<br />
:[irc://irc.mozilla.org/pontoon #pontoon]</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Goals/Q4_2017&diff=1181977L10n:Goals/Q4 20172017-10-09T13:45:47Z<p>StasM: /* Stas */ Q4, here we go</p>
<hr />
<div>[[Category:L10n goals]]<br />
==Team Goals==<br />
Please ensure that individual goals (all or part) are contributing to our [https://docs.google.com/document/d/1s_b679LNzXcvNjA6K5pEnhnDhgH8DFCV1aVwyfCUSTc/edit#heading=h.m68mgmculzl8 2017 OKRs for localization]. Citing the OKR that your Q4 goal contributes to in your goal section is preferred.<br />
* Cross-channel - <b>Axel</b>, J, M, F, D<br />
* AWS Migration - <b>Axel</b>, J, F<br />
* UI for FTL in Pontoon - <b>Matjaz</b>, S, Ax, Ad, Z<br />
* Mobile at a glance - <b>Delphine</b><br />
* Community Workshops - <b>Jeff</b>, P, D, F, T<br />
* Firefox Quantum Marketing - <b>Peiying</b>, F, D<br />
* Predictable l10n Demand - <b>Peiying</b>, F, T<br />
* [16OCT] Pudelo stage 2 - <b>Ryan</b>, M, Ad, Ax <br />
* 2018 OKR planning - <b>Jeff</b>, all<br />
* Fluent in Gecko - <b>Zibi</b>, Ax, S, M, Ad<br />
* Pontoon.next - <b>Adrian</b>, M, Ax, PM group<br />
<br />
==Roundtable==<br />
<br />
=== Axel ===<br />
<br />
=== Delphine ===<br />
<br />
=== Flod ===<br />
Firefox Desktop<br />
* Support cross-channel repository initiative through:<br />
** <span style="color: black"><strong>[]</strong></span> (from Q2) Initial testing and support.<br />
** <span style="color: black"><strong>[]</strong></span> (from Q2) Creating documentation for new processes.<br />
** <span style="color: black"><strong>[]</strong></span> (from Q2) Adding support for cross-channel repository in Transvision.<br />
** <span style="color: black"><strong>[]</strong></span> (from Q2) Starting discussion with release management about shipping updates on release and ESR channels.<br />
** <span style="color: black"><strong>[]</strong></span> (from Q2) Support DevTools move to an external GitHub repository.<br />
<br />
Other products, tools, support for mozilla.org and mobile<br />
* <span style="color: black"><strong>[]</strong></span> Identify tool to localize documentation repositories.<br />
* <span style="color: black"><strong>[]</strong></span> Transvision: Add Focus for Android and iOS, rationalize code around projects.<br />
* <span style="color: black"><strong>[]</strong></span> (ongoing) Support Test Pilot experiments and system add-ons (review, localization setup, infrastructure).<br />
<br />
Back-burner<br />
* <span style="color: black"><strong>[]</strong></span> (from Q2, blocked by new project configurations) Get string tiers implemented in tools (Pontoon).<br />
* <span style="color: black"><strong>[]</strong></span> (ongoing) Identify inactive locales, reach out to them, try to find new contributors, remove them from builds if that fails (long term goal for 2017).<br />
<br />
=== Gandalf ===<br />
<br />
=== Jeff ===<br />
'''[] Support landing Fluent in Firefox'''<br />
* This will be completed when the appropriate stakeholders have been gathered, release criteria has been defined, and Fluent is on the Firefox roadmap.<br />
'''[] Finalize 2018 OKR doc'''<br />
<br />
'''[] With help from Open Innovation, define the framework used to discuss re-designed alliance with community'''<br />
<br />
=== Matjaž ===<br />
* FTL: Land advanced UI for FTL in Pontoon<br />
* Fix Bug 1305281: search across all projects<br />
* Work with Adrian on documenting the 2018 roadmap and technology choices for Pontoon.NEXT<br />
* Create proposal of new Pontoon development process.<br />
<br />
=== Stas ===<br />
<br />
1. Support Fluent in cross-channel localization.<br />
<br />
[ ] Adapt compare-locales to support Fluent Comments, Sections and whitespace.<br />
[ ] Enable merging FTL files across channels.<br />
<br />
2. Create fluent-lint for linting FTL files and autofixing them<br />
<br />
[ ] Create a set of rules for formatting, whitespace and indentation, called Fluent Standard.<br />
[ ] Create a tool for reporting linting errors in FTL files.<br />
[ ] Add an option to autofix linting errors.<br />
<br />
3. Define a roadmap for Pontoon API and complete one milestone.<br />
<br />
[ ] Identify upcoming needs for exposing Pontoon data.<br />
[ ] Document the roadmap on the wiki.<br />
[ ] Complete one milestone on the roadmap.<br />
<br />
4. Add a solution for localizing DOM fragments to fluent-react. <sup>CARRY-OVER from Q3</sup><br />
<br />
[Q3] Review the solution currently implemented in fluent-dom.<br />
[Q3] Research current solutions in other i18n libraries for React<br />
[Q3] Research approaches to parsing HTML in translations<br />
[ ] Implement<br />
[ ] Write tests and documentation<br />
<br />
=== Adrian ===<br />
<br />
* implement new source input for one-off projects<br />
* scope requirements for Pontoon.Next<br />
* design the architecture of Pontoon.Next<br />
* create a road-map for Pontoon.Next<br />
* build prototypes for key features and challenges of Pontoon.Next<br />
<br />
=== Theo (optional) ===</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&diff=1181968L10n:Pontoon/API2017-10-09T11:32:44Z<p>StasM: /* Milestone 2 */</p>
<hr />
<div>==Description==<br />
<br />
Exposing Pontoon's data through an API will enable external consumers to build tools, extensions and reports about translations. In the future, the API will serve as the backend for Pontoon.NEXT's SPA front-end. We chose an iterative approach to exposing the data. We start small with a small number of clear-focused use-cases in mind and expand the scope in subsequent iterations. The API is based on [http://graphql.org/ GraphQL] (see [https://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&oldid=1181890#Technology discussion]).<br />
<br />
The tracking bug for all work related to the API for Pontoon is {{bug|pontoon-api}}.<br />
<br />
==Overview==<br />
{| class="wikitable"<br />
! style="text-align: center;" | Milestone<br />
! style="text-align: center;" | Theme<br />
! style="text-align: center;" | Date<br />
! style="text-align: center;" | Status<br />
|-<br />
| M1<br />
| Projects and Locales<br />
| September 2017<br />
| ✓<br />
|-<br />
| M2<br />
| Translations<br />
| November 2017<br />
|<br />
|-<br />
| M3<br />
| Contributors<br />
| January 2018<br />
|<br />
|-<br />
| M4<br />
| Authentication<br />
| March 2018<br />
|<br />
|-<br />
| M5<br />
| Mutations<br />
| May 2018<br />
|<br />
|-<br />
|}<br />
<br />
==Roadmap==<br />
<br />
===Milestone 1===<br />
<br />
''Complete, deployed on October 2, 2017.'' <br />
<br />
In the first iteration we'd like to make some data stored in Pontoon openly available for third-parties. The goals is to create an API endpoint supporting queries related to aggregate statistics per locale and per project. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1395273",<br />
"include_fields": "id, summary, status, resolution, assigned_to, depends_on, blocks"<br />
}</bugzilla><br />
<br />
===Milestone 2===<br />
<br />
Main theme: translations and pagination.<br />
<br />
* Establish a good practice for paginating results.<br />
* List all Resources for a Project.<br />
* List all Entities for a Resource.<br />
* List all Translations into a given Locale for an Entity.<br />
** Include status: approved, suggested, fuzzy.<br />
** Allow filtering on status via params?<br />
** List all Translations for an Entity<br />
* List all TranslatedResources for a ProjectLocale<br />
** Include aggregate statistics.<br />
** List all TranslatedResources for a Resource.<br />
** List all TranslatedResources for a Locale.<br />
<br />
===Milestone 3===<br />
<br />
Main theme: contributors.<br />
<br />
* Query a single contributor (by email? unique key?)<br />
** List recent activity: date, project, action, number of affected strings<br />
** Aggregate counts of: translated, suggested, fuzzy strings across all projects<br />
** List of projects they contribute to<br />
*** Aggregate counts of: translated, suggested, fuzzy strings for each project<br />
* List all contributors on Pontoon<br />
* List all contributors for a locale<br />
* List all contributors for a project<br />
* List all contributors for a localization (ProjectLocale)<br />
<br />
===Milestone 4===<br />
<br />
Main theme: authentication.<br />
<br />
* List unread notifications for a logged-in user.<br />
<br />
===Milestone 5===<br />
<br />
Main theme: mutations.<br />
<br />
* Add a suggested translation for an Entity.<br />
<br />
===Milestone X===<br />
<br />
Main theme: statistics over time.<br />
<br />
* [https://public.etherpad-mozilla.org/p/pontoon.api.historic.source.string.data Use case and Early rumblings].<br />
<br />
==Contact==<br />
<br />
{| class="wikitable"<br />
! style="text-align: center;" | Role<br />
! style="text-align: center;" | Name<br />
! style="text-align: center;" | IRC<br />
|-<br />
| Feature Owner<br />
| Staś Małolepszy<br />
| stas<br />
|-<br />
| Product Owner<br />
| Matjaž Horvat<br />
| mathjazz<br />
|-<br />
| Reviewer<br />
| Adrian Gaudebert<br />
| adrian<br />
|}<br />
<br />
;Mailing list<br />
:[https://groups.google.com/forum/#!forum/mozilla.tools.l10n tools-l10n]<br />
;IRC<br />
:[irc://irc.mozilla.org/pontoon #pontoon]</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&diff=1181967L10n:Pontoon/API2017-10-09T11:07:01Z<p>StasM: /* Milestone 2 */</p>
<hr />
<div>==Description==<br />
<br />
Exposing Pontoon's data through an API will enable external consumers to build tools, extensions and reports about translations. In the future, the API will serve as the backend for Pontoon.NEXT's SPA front-end. We chose an iterative approach to exposing the data. We start small with a small number of clear-focused use-cases in mind and expand the scope in subsequent iterations. The API is based on [http://graphql.org/ GraphQL] (see [https://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&oldid=1181890#Technology discussion]).<br />
<br />
The tracking bug for all work related to the API for Pontoon is {{bug|pontoon-api}}.<br />
<br />
==Overview==<br />
{| class="wikitable"<br />
! style="text-align: center;" | Milestone<br />
! style="text-align: center;" | Theme<br />
! style="text-align: center;" | Date<br />
! style="text-align: center;" | Status<br />
|-<br />
| M1<br />
| Projects and Locales<br />
| September 2017<br />
| ✓<br />
|-<br />
| M2<br />
| Translations<br />
| November 2017<br />
|<br />
|-<br />
| M3<br />
| Contributors<br />
| January 2018<br />
|<br />
|-<br />
| M4<br />
| Authentication<br />
| March 2018<br />
|<br />
|-<br />
| M5<br />
| Mutations<br />
| May 2018<br />
|<br />
|-<br />
|}<br />
<br />
==Roadmap==<br />
<br />
===Milestone 1===<br />
<br />
''Complete, deployed on October 2, 2017.'' <br />
<br />
In the first iteration we'd like to make some data stored in Pontoon openly available for third-parties. The goals is to create an API endpoint supporting queries related to aggregate statistics per locale and per project. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1395273",<br />
"include_fields": "id, summary, status, resolution, assigned_to, depends_on, blocks"<br />
}</bugzilla><br />
<br />
===Milestone 2===<br />
<br />
Main theme: translations and pagination.<br />
<br />
* Establish a good practice for paginating results.<br />
* List all Resources for a Project.<br />
* List all Entities for a Resource.<br />
* List all Translations for an Entity.<br />
** Include status: approved, suggested, fuzzy.<br />
** Allow filtering on status via params?<br />
** List all Translations into a given Locale for an Entity<br />
* List all TranslatedResources for a ProjectLocale<br />
** Include aggregate statistics.<br />
** List all TranslatedResources for a Resource.<br />
** List all TranslatedResources for a Locale.<br />
<br />
===Milestone 3===<br />
<br />
Main theme: contributors.<br />
<br />
* Query a single contributor (by email? unique key?)<br />
** List recent activity: date, project, action, number of affected strings<br />
** Aggregate counts of: translated, suggested, fuzzy strings across all projects<br />
** List of projects they contribute to<br />
*** Aggregate counts of: translated, suggested, fuzzy strings for each project<br />
* List all contributors on Pontoon<br />
* List all contributors for a locale<br />
* List all contributors for a project<br />
* List all contributors for a localization (ProjectLocale)<br />
<br />
===Milestone 4===<br />
<br />
Main theme: authentication.<br />
<br />
* List unread notifications for a logged-in user.<br />
<br />
===Milestone 5===<br />
<br />
Main theme: mutations.<br />
<br />
* Add a suggested translation for an Entity.<br />
<br />
===Milestone X===<br />
<br />
Main theme: statistics over time.<br />
<br />
* [https://public.etherpad-mozilla.org/p/pontoon.api.historic.source.string.data Use case and Early rumblings].<br />
<br />
==Contact==<br />
<br />
{| class="wikitable"<br />
! style="text-align: center;" | Role<br />
! style="text-align: center;" | Name<br />
! style="text-align: center;" | IRC<br />
|-<br />
| Feature Owner<br />
| Staś Małolepszy<br />
| stas<br />
|-<br />
| Product Owner<br />
| Matjaž Horvat<br />
| mathjazz<br />
|-<br />
| Reviewer<br />
| Adrian Gaudebert<br />
| adrian<br />
|}<br />
<br />
;Mailing list<br />
:[https://groups.google.com/forum/#!forum/mozilla.tools.l10n tools-l10n]<br />
;IRC<br />
:[irc://irc.mozilla.org/pontoon #pontoon]</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&diff=1181901L10n:Pontoon/API2017-10-06T12:31:57Z<p>StasM: Add Contact</p>
<hr />
<div>==Description==<br />
<br />
Exposing Pontoon's data through an API will enable external consumers to build tools, extensions and reports about translations. In the future, the API will serve as the backend for Pontoon.NEXT's SPA front-end. We chose an iterative approach to exposing the data. We start small with a small number of clear-focused use-cases in mind and expand the scope in subsequent iterations. The API is based on [http://graphql.org/ GraphQL] (see [https://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&oldid=1181890#Technology discussion]).<br />
<br />
The tracking bug for all work related to the API for Pontoon is {{bug|pontoon-api}}.<br />
<br />
==Overview==<br />
{| class="wikitable"<br />
! style="text-align: center;" | Milestone<br />
! style="text-align: center;" | Theme<br />
! style="text-align: center;" | Date<br />
! style="text-align: center;" | Status<br />
|-<br />
| M1<br />
| Projects and Locales<br />
| September 2017<br />
| ✓<br />
|-<br />
| M2<br />
| Translations<br />
| November 2017<br />
|<br />
|-<br />
| M3<br />
| Contributors<br />
| January 2018<br />
|<br />
|-<br />
| M4<br />
| Authentication<br />
| March 2018<br />
|<br />
|-<br />
| M5<br />
| Mutations<br />
| May 2018<br />
|<br />
|-<br />
|}<br />
<br />
==Roadmap==<br />
<br />
===Milestone 1===<br />
<br />
''Complete, deployed on October 2, 2017.'' <br />
<br />
In the first iteration we'd like to make some data stored in Pontoon openly available for third-parties. The goals is to create an API endpoint supporting queries related to aggregate statistics per locale and per project. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1395273",<br />
"include_fields": "id, summary, status, resolution, assigned_to, depends_on, blocks"<br />
}</bugzilla><br />
<br />
===Milestone 2===<br />
<br />
Main theme: translations and pagination.<br />
<br />
* Establish a good practice for paginating results.<br />
* List all Resources for a Project.<br />
* List all Entities for a Resource.<br />
* List all Translations for an Entity.<br />
** Include status: approved, suggested, fuzzy.<br />
* List all TranslatedResources for a Resource.<br />
** Include aggregate statistics.<br />
* List all TranslatedResources for a Locale.<br />
** List all TranslatedResources for a ProjectLocale?<br />
<br />
===Milestone 3===<br />
<br />
Main theme: contributors.<br />
<br />
* Query a single contributor (by email? unique key?)<br />
** List recent activity: date, project, action, number of affected strings<br />
** Aggregate counts of: translated, suggested, fuzzy strings across all projects<br />
** List of projects they contribute to<br />
*** Aggregate counts of: translated, suggested, fuzzy strings for each project<br />
* List all contributors on Pontoon<br />
* List all contributors for a locale<br />
* List all contributors for a project<br />
<br />
===Milestone 4===<br />
<br />
Main theme: authentication.<br />
<br />
* List unread notifications for a logged-in user.<br />
<br />
===Milestone 5===<br />
<br />
Main theme: mutations.<br />
<br />
* Add a suggested translation for an Entity.<br />
<br />
==Contact==<br />
<br />
{| class="wikitable"<br />
! style="text-align: center;" | Role<br />
! style="text-align: center;" | Name<br />
! style="text-align: center;" | IRC<br />
|-<br />
| Feature Owner<br />
| Staś Małolepszy<br />
| stas<br />
|-<br />
| Product Owner<br />
| Matjaž Horvat<br />
| mathjazz<br />
|-<br />
| Reviewer<br />
| Adrian Gaudebert<br />
| adrian<br />
|}<br />
<br />
;Mailing list<br />
:[https://groups.google.com/forum/#!forum/mozilla.tools.l10n tools-l10n]<br />
;IRC<br />
:[irc://irc.mozilla.org/pontoon #pontoon]</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&diff=1181900L10n:Pontoon/API2017-10-06T12:24:39Z<p>StasM: Add Overview</p>
<hr />
<div>Exposing Pontoon's data through an API will enable external consumers to build tools, extensions and reports about translations. In the future, the API will serve as the backend for Pontoon.NEXT's SPA front-end. We chose an iterative approach to exposing the data. We start small with a small number of clear-focused use-cases in mind and expand the scope in subsequent iterations. The API is based on [http://graphql.org/ GraphQL] (see [https://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&oldid=1181890#Technology discussion]).<br />
<br />
The tracking bug for all work related to the API for Pontoon is {{bug|pontoon-api}}.<br />
<br />
<br />
==Overview==<br />
{| class="wikitable"<br />
! style="text-align: center;" | Milestone<br />
! style="text-align: center;" | Theme<br />
! style="text-align: center;" | Date<br />
! style="text-align: center;" | Status<br />
|-<br />
| M1<br />
| Projects and Locales<br />
| September 2017<br />
| ✓<br />
|-<br />
| M2<br />
| Translations<br />
| November 2017<br />
|<br />
|-<br />
| M3<br />
| Contributors<br />
| January 2018<br />
|<br />
|-<br />
| M4<br />
| Authentication<br />
| March 2018<br />
|<br />
|-<br />
| M5<br />
| Mutations<br />
| May 2018<br />
|<br />
|-<br />
|}<br />
<br />
<br />
==Milestone 1==<br />
<br />
''Complete, deployed on October 2, 2017.'' <br />
<br />
In the first iteration we'd like to make some data stored in Pontoon openly available for third-parties. The goals is to create an API endpoint supporting queries related to aggregate statistics per locale and per project. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1395273",<br />
"include_fields": "id, summary, status, resolution, assigned_to, depends_on, blocks"<br />
}</bugzilla><br />
<br />
==Milestone 2==<br />
<br />
Main theme: translations and pagination.<br />
<br />
* Establish a good practice for paginating results.<br />
* List all Resources for a Project.<br />
* List all Entities for a Resource.<br />
* List all Translations for an Entity.<br />
** Include status: approved, suggested, fuzzy.<br />
* List all TranslatedResources for a Resource.<br />
** Include aggregate statistics.<br />
* List all TranslatedResources for a Locale.<br />
** List all TranslatedResources for a ProjectLocale?<br />
<br />
==Milestone 3==<br />
<br />
Main theme: contributors.<br />
<br />
* Query a single contributor (by email? unique key?)<br />
** List recent activity: date, project, action, number of affected strings<br />
** Aggregate counts of: translated, suggested, fuzzy strings across all projects<br />
** List of projects they contribute to<br />
*** Aggregate counts of: translated, suggested, fuzzy strings for each project<br />
* List all contributors on Pontoon<br />
* List all contributors for a locale<br />
* List all contributors for a project<br />
<br />
==Milestone 4==<br />
<br />
Main theme: authentication.<br />
<br />
* List unread notifications for a logged-in user.<br />
<br />
==Milestone 5==<br />
<br />
Main theme: mutations.<br />
<br />
* Add a suggested translation for an Entity.</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&diff=1181899L10n:Pontoon/API2017-10-06T12:16:53Z<p>StasM: Milestones 2-5</p>
<hr />
<div>Exposing Pontoon's data through an API will enable external consumers to build tools, extensions and reports about translations. In the future, the API will serve as the backend for Pontoon.NEXT's SPA front-end. We chose an iterative approach to exposing the data. We start small with a small number of clear-focused use-cases in mind and expand the scope in subsequent iterations. The API is based on [http://graphql.org/ GraphQL] (see [https://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&oldid=1181890#Technology discussion]).<br />
<br />
The tracking bug for all work related to the API for Pontoon is {{bug|pontoon-api}}.<br />
<br />
==Roadmap==<br />
<br />
In Q3 2017, we'd like to make some data stored in Pontoon openly available for third-parties. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
In future iterations, more use-case can be supported:<br />
<br />
* Exposing data which can be fetched by a SPA front-end<br />
** This will likely require pagination<br />
* Getting the stream of notifications per authorized user<br />
<br />
==Milestone 1==<br />
<br />
''Complete, deployed on October 2, 2017.'' <br />
<br />
In the first iteration we'd like to make some data stored in Pontoon openly available for third-parties. The goals is to create an API endpoint supporting queries related to aggregate statistics per locale and per project. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1395273",<br />
"include_fields": "id, summary, status, resolution, assigned_to, depends_on, blocks"<br />
}</bugzilla><br />
<br />
==Milestone 2==<br />
<br />
Main theme: translations and pagination.<br />
<br />
* Establish a good practice for paginating results.<br />
* List all Resources for a Project.<br />
* List all Entities for a Resource.<br />
* List all Translations for an Entity.<br />
** Include status: approved, suggested, fuzzy.<br />
* List all TranslatedResources for a Resource.<br />
** Include aggregate statistics.<br />
* List all TranslatedResources for a Locale.<br />
** List all TranslatedResources for a ProjectLocale?<br />
<br />
==Milestone 3==<br />
<br />
Main theme: contributors.<br />
<br />
* Query a single contributor (by email? unique key?)<br />
** List recent activity: date, project, action, number of affected strings<br />
** Aggregate counts of: translated, suggested, fuzzy strings across all projects<br />
** List of projects they contribute to<br />
*** Aggregate counts of: translated, suggested, fuzzy strings for each project<br />
* List all contributors on Pontoon<br />
* List all contributors for a locale<br />
* List all contributors for a project<br />
<br />
==Milestone 4==<br />
<br />
Main theme: authentication.<br />
<br />
* List unread notifications for a logged-in user.<br />
<br />
==Milestone 5==<br />
<br />
Main theme: mutations.<br />
<br />
* Add a suggested translation for an Entity.</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&diff=1181892L10n:Pontoon/API2017-10-06T11:17:31Z<p>StasM: </p>
<hr />
<div>Exposing Pontoon's data through an API will enable external consumers to build tools, extensions and reports about translations. In the future, the API will serve as the backend for Pontoon.NEXT's SPA front-end. We chose an iterative approach to exposing the data. We start small with a small number of clear-focused use-cases in mind and expand the scope in subsequent iterations. The API is based on [http://graphql.org/ GraphQL] (see [https://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&oldid=1181890#Technology discussion]).<br />
<br />
The tracking bug for all work related to the API for Pontoon is {{bug|pontoon-api}}.<br />
<br />
==Roadmap==<br />
<br />
In Q3 2017, we'd like to make some data stored in Pontoon openly available for third-parties. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
In future iterations, more use-case can be supported:<br />
<br />
* Exposing data which can be fetched by a SPA front-end<br />
** This will likely require pagination<br />
* Getting the stream of notifications per authorized user<br />
<br />
==Milestone 1==<br />
<br />
''Complete, deployed on October 2, 2017.'' <br />
<br />
In the first iteration we'd like to make some data stored in Pontoon openly available for third-parties. The goals is to create an API endpoint supporting queries related to aggregate statistics per locale and per project. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1395273",<br />
"include_fields": "id, summary, status, resolution, assigned_to, depends_on, blocks"<br />
}</bugzilla></div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&diff=1181891L10n:Pontoon/API2017-10-06T11:15:12Z<p>StasM: Remove the Technology discussion</p>
<hr />
<div>Exposing Pontoon's data through an API will enable external consumers to build tools, extensions and reports about translations. In the future, the API will serve as the backend for Pontoon.NEXT's SPA front-end. We chose an iterative approach to exposing the data. We start small with a small number of clear-focused use-cases in mind and expand the scope in subsequent iterations. The API is based on [http://graphql.org/ GraphQL] (see [https://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&oldid=1181890#Technology discussion]).<br />
<br />
The tracking bug for all work related to the API for Pontoon is {{bug|1395273}}.<br />
<br />
==Roadmap==<br />
<br />
In Q3 2017, we'd like to make some data stored in Pontoon openly available for third-parties. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
In future iterations, more use-case can be supported:<br />
<br />
* Exposing data which can be fetched by a SPA front-end<br />
** This will likely require pagination<br />
* Getting the stream of notifications per authorized user<br />
<br />
==Milestone 1==<br />
<br />
''Complete, deployed on October 2, 2017.'' <br />
<br />
In the first iteration we'd like to make some data stored in Pontoon openly available for third-parties. The goals is to create an API endpoint supporting queries related to aggregate statistics per locale and per project. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1395273",<br />
"include_fields": "id, summary, status, resolution, assigned_to, depends_on, blocks"<br />
}</bugzilla></div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&diff=1181890L10n:Pontoon/API2017-10-06T10:49:00Z<p>StasM: </p>
<hr />
<div>''For now, this page serves as a scratchpad for documenting the research into different API solutions for Pontoon. Once one solution is chosen and implemented, this page will feature the documentation about this solution.''<br />
<br />
High-level Q3 2017 goal: Create an API endpoint supporting queries related to aggregate statistics per locale and per project<br />
<br />
=Roadmap=<br />
<br />
In Q3 2017, we'd like to make some data stored in Pontoon openly available for third-parties. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
In future iterations, more use-case can be supported:<br />
<br />
* Exposing data which can be fetched by a SPA front-end<br />
** This will likely require pagination<br />
* Getting the stream of notifications per authorized user<br />
<br />
=Tracking=<br />
<br />
The tracking bug for all work related to the API for Pontoon is {{bug|1395273}}. Please make sure new bugs block it.<br />
<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1395273",<br />
"include_fields": "id, summary, status, resolution, assigned_to, depends_on, blocks"<br />
}</bugzilla><br />
<br />
=Technology=<br />
<br />
We'll be considering three solutions: REST, GraphQL and GraphQL with Relay. See https://groups.google.com/forum/#!topic/mozilla.tools.l10n/R1S7Pk-c6uU for more discussion on this topic.<br />
<br />
==REST==<br />
<br />
REST has been the ''de facto'' standard of API design for the last 10-15 years.<br />
<br />
====Pros====<br />
<br />
* Easy to implement thanks to the [http://www.django-rest-framework.org/ Django REST Framework] project<br />
* Browsable API: http://restframework.herokuapp.com/<br />
* Familiar to the consumers of the API<br />
* The developer has the exact control over which fields and relations are exposed<br />
<br />
====Cons====<br />
<br />
* By default, all fields as decided by the developer, are exposed and transferred, resulting in increased bandwidth<br />
** Work-arounds exists, e.g. <code>&fields=foo,bar</code><br />
* Only the relations expected by the developer can be queried in a single query, e.g. <code>project/1/locales</code><br />
** Other relations require multiple requests, which can't be optimized<br />
* Requires versioning and documentation<br />
<br />
<br />
==GraphQL==<br />
<br />
GraphQL is a query language in which the consumer describes the shape of the data they want back.<br />
<br />
====Pros====<br />
* Easy to learn syntax<br />
* Documentation generated out-of-the-box<br />
* GUI tool for browsing the API with a docs explorer (GraphiQL)<br />
* The consumer specifies exactly which fields they're interested in<br />
* A single query can span multiple types as long as they are connected in the graph<br />
* <code>graphene_django</code> automates a lot of integration, including support for Enum types<br />
<br />
====Cons====<br />
* Circular queries are possible (<code>{ projects { locales { projects } } }</code>)<br />
** In order to avoid them, we'd need to write code that inspects the query itself and checks if the fields don't repeat deeper in the query tree<br />
** See https://github.com/graphql-python/graphene/issues/348#issuecomment-267717809 and https://github.com/graphql-python/graphene/issues/462#issuecomment-298218524<br />
* Optimizations relying on <code>prefetch_selected</code> can be brittle.<br />
** I'm still trying to understand exactly what happens.<br />
** The best place to optimize seems to be the top-level Query Type.<br />
** For instance, when querying a list of projects, I can <code>ProjectModel.objects.prefetch_related('project_locale__locale')</code> in the top-level query in order to anticipate that the consumer will want to see the information about the related locales. In Django terms, this implies <code>project.project_locale.all()</code> which means that I now have to use <code>all()</code> in <code>resolve_locales</code> in the Project GraphQL type. Which in turn means that when asking for a single Project, I can't <code>prefetch_related</code> in its <code>resolve_locales</code>. The work-around is to <code>prefetch_related</code> in the top-level query for the single Project too.<br />
** The optimizations can be added dynamically depending on the exact query thanks to the introspection. This is similar to the approach to preventing circular queries<br />
*** See https://yacine.org/2017/02/27/graphqlgraphene-sqlalchemy-and-the-n1-problem/<br />
<br />
==GraphQL with Relay==<br />
<br />
Relay is a specification for cursor-based pagination which solves the problem of omitting items when switching between pages if items are being added quickly in real time to the DB. It works great for Facebook's use-case of showing a feed of news and updates.<br />
<br />
====Pros====<br />
* Pagination is guaranteed to not omit items which have been added to the DB while the user was looking at one page and then switched to another one<br />
* Relay has good integration with React<br />
* It's becoming a standard for pagination in GraphQL<br />
<br />
====Cons====<br />
* Pontoon's data doesn't change so quickly (projects, locales, entities) to actually require a solution this powerful.<br />
** Translations and suggestions may change more quickly, however.<br />
* <code>graphene_django</code> doesn't handle ManyToMany fields well with Relay enabled; by default the <code>through</code> table adds another layer of edges to the graph, which becomes verbose very quickly<br />
** See https://github.com/graphql-python/graphene/issues/83<br />
* Suffers from the N+1 queries problem for ForeignKeys and ManyToMany relationships<br />
** See https://github.com/graphql-python/graphene-django/issues/57<br />
* De-optimizes <code>prefetch_related</code> and <code>select_related</code><br />
** See https://github.com/graphql-python/graphene-django/issues/179</div>StasMhttps://wiki.mozilla.org/index.php?title=Template:L10n:Meetings/Planning&diff=1181732Template:L10n:Meetings/Planning2017-10-03T16:54:21Z<p>StasM: </p>
<hr />
<div>[[Category:L10n planning meetings|{{SUBPAGENAME}}]]<br />
[[Category:L10n meetings|{{SUBPAGENAME}}]]<br />
__NOTOC__<br />
<br />
<small><br />
[[L10n:Planning/{{#time: Y-m-d | {{SUBPAGENAME}} -1 week}}|&laquo; previous meeting]] — <br />
[[L10n:Planning|index]] – <br />
[[L10n:Planning/{{#time: Y-m-d | {{SUBPAGENAME}} +1 week}}|next week &raquo;]]<br />
<sup>[https://wiki.mozilla.org/index.php?title=L10n:Planning/{{#time: Y-m-d | {{SUBPAGENAME}} +1 week}}&action=edit&redlink=1&preload=Template:L10n:Meetings/Planning create?]</sup><br />
</small><br />
<br />
==Joint Meeting Details==<br />
<br />
* Time and location: Tuesday, 9:00 AM PST, Localization Vidyo room<br />
* irc.mozilla.org #l10n-drivers for back-channel <br />
<br />
====Joint Meeting Notes====<br />
<br />
* Attendees:<br />
* ''Put your talking points here.''<br />
<br />
==PM Meeting Details==<br />
<br />
* Time and location: Tuesday, 9:45 AM PST, Localization Vidyo room<br />
* irc.mozilla.org #l10n-drivers for back-channel <br />
<br />
====PM Meeting Notes====<br />
<br />
* Attendees:<br />
* ''Put your talking points here.''<br />
<br />
==Tech Meeting Details==<br />
<br />
* Time and location: Tuesday, 9:45 AM PST, Axel's Vidyo room<br />
* irc.mozilla.org #l10n-drivers for back-channel <br />
<br />
====Tech Meeting Notes====<br />
<br />
* Attendees:<br />
* ''Put your talking points here.''<br />
<br />
==Previous Action Items==<br />
<br />
{{:L10n:Planning/{{#time: Y-m-d | {{SUBPAGENAME}} -1 week}}}}<br />
<br />
==Action Items==<br />
<br />
<only<includeonly></includeonly>include><br />
* <br />
====carry-overs====<br />
* <br />
</only<includeonly></includeonly>include></div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Planning/2017-09-26&diff=1181731L10n:Planning/2017-09-262017-10-03T16:52:10Z<p>StasM: Created page with "{{SUBPAGENAME}} {{SUBPAGENAME}} __NOTOC__ <small> L10n:Planning/{{#time: Y-m-d | {{SUBPAGENAME}} -1 week}}|&l..."</p>
<hr />
<div>[[Category:L10n planning meetings|{{SUBPAGENAME}}]]<br />
[[Category:L10n meetings|{{SUBPAGENAME}}]]<br />
__NOTOC__<br />
<br />
<small><br />
[[L10n:Planning/{{#time: Y-m-d | {{SUBPAGENAME}} -1 week}}|&laquo; previous meeting]] — <br />
[[L10n:Planning|index]] – <br />
[[L10n:Planning/{{#time: Y-m-d | {{SUBPAGENAME}} +1 week}}|next week &raquo;]]<br />
<sup>[https://wiki.mozilla.org/index.php?title=L10n:Planning/{{#time: Y-m-d | {{SUBPAGENAME}} +1 week}}&action=edit&redlink=1&preload=Template:L10n:Meetings/Planning create?]</sup><br />
</small><br />
<br />
==Joint Meeting Details==<br />
<br />
* Time and location: Tuesday, 9:00 AM PST, Localization Vidyo room<br />
* irc.mozilla.org #l10n-drivers for back-channel <br />
<br />
====Joint Meeting Notes====<br />
<br />
* Attendees:<br />
* ''Put your talking points here.''<br />
<br />
==PM Meeting Details==<br />
<br />
* Time and location: Tuesday, 9:45 AM PST, Localization Vidyo room<br />
* irc.mozilla.org #l10n-drivers for back-channel <br />
<br />
====PM Meeting Notes====<br />
<br />
* Attendees:<br />
* ''Put your talking points here.''<br />
<br />
==Tech Meeting Details==<br />
<br />
* Time and location: Tuesday, 9:45 AM PST, Axel's Vidyo room<br />
* irc.mozilla.org #l10n-drivers for back-channel <br />
<br />
====Tech Meeting Notes====<br />
<br />
* Attendees:<br />
* ''Put your talking points here.''<br />
<br />
==Previous Action Items==<br />
<br />
{{:L10n:Planning/{{#time: Y-m-d | {{SUBPAGENAME}} -1 week}}}}<br />
<br />
==Action Items==<br />
<br />
<onlyinclude><br />
* <br />
====carry-overs====<br />
* <br />
</onlyinclude><br />
<br />
==Roundtable==<br />
<br />
===CocoMo===<br />
Goals for this week:<br />
* Loc Doc: complete MDN<br />
* PM Doc: how to remove a locale on mozilla.org<br />
* Meetings: Oliver Agency; Anne<br />
* mozilla.org: Fx57<br />
* Legal: Privacy landing page<br />
<br />
Struggles last week:<br />
*<br />
<br />
Achievements last week:<br />
* Pontoon/Google API discussion<br />
* id: figure out community/marketing agency collaboration process.<br />
* mozilla.org: Hindi (September); budget approval<br />
* Legal: Fx56 PN; Website PN update; Fx Cloud PN update<br />
* A/P: sourted our billing mixup <br />
<br />
===delphine===<br />
Goals for this week:<br />
* Update language competitors worksheet with Focus Android data<br />
* Q4 OKRs: get started with that<br />
* Send tshirts to a few members of l10n community that were in Berlin (last year's tshirt) <br />
* l10n Report: fill in mobile, publish Wed. morning<br />
* Add Bosnian to android single-locale<br />
<br />
Struggles last week:<br />
*<br />
<br />
Achievements last week:<br />
* Zerda mobile: string export / community outreach / discussing Indonesian UX staff suggestion to community about using more street language vs. formal language<br />
* String import/export: cak / trs / zam / mix / meh is not a valid locale #1148<br />
* [ONGOING] Working on Barbara to help fix areas in mobile where l10n process is wacjy<br />
* (done before my PTO, was still in Alfred) August 21: migrate Firefox Android locales to Pontoon<br />
* (done before my PTO, was still in Alfred) "vi" search plugins: got icon, can proceed to make patch<br />
* (done before my PTO, was still in Alfred) drop purepecha from fennec: tsz. Also drop pbb (paez)<br />
* .<br />
* (done before my PTO, was still in Alfred) l10n Report: fill in my part before I leave on PTO<br />
<br />
===flod===<br />
Goals for this week:<br />
*<br />
<br />
Struggles last week:<br />
*<br />
<br />
Achievements last week:<br />
* Look into eVisa for India (Nov 18-19)<br />
* File bugs for Interlingua (ia)<br />
* More work on Transvision, preparing tools for x-channel<br />
* Content review for mozilla.org<br />
* Fix last issue in documentation (how to drop a locale in Firefox desktop)<br />
<br />
===gandalf===<br />
Goals for this week:<br />
*<br />
<br />
Struggles last week:<br />
* [firefox57] finish the patch to remove flicker when opening a new tab (bug 1362774)<br />
* Write test262 tests for hourCycle<br />
<br />
Achievements last week:<br />
* Finish the patch to pick locale version for langpack from VCS (bug 1395459)<br />
* Finalize Firefox Quantum patches<br />
* [l20n] Place L20n on the release roadmap<br />
* [l20n]add a whitelist of FTL files in Gecko (bug 1394891)<br />
* Clean up my NI backlog for Gecko (bug 1389972)<br />
<br />
===mathjazz===<br />
Goals for this week:<br />
*<br />
<br />
Struggles last week:<br />
*<br />
<br />
Achievements last week:<br />
* Completed final Alfred report. #rip #love</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Planning/2017-09-19&diff=1181730L10n:Planning/2017-09-192017-10-03T16:50:44Z<p>StasM: Created page with "{{SUBPAGENAME}} {{SUBPAGENAME}} __NOTOC__ <small> L10n:Planning/{{#time: Y-m-d | {{SUBPAGENAME}} -1 week}}|&l..."</p>
<hr />
<div>[[Category:L10n planning meetings|{{SUBPAGENAME}}]]<br />
[[Category:L10n meetings|{{SUBPAGENAME}}]]<br />
__NOTOC__<br />
<br />
<small><br />
[[L10n:Planning/{{#time: Y-m-d | {{SUBPAGENAME}} -1 week}}|&laquo; previous meeting]] — <br />
[[L10n:Planning|index]] – <br />
[[L10n:Planning/{{#time: Y-m-d | {{SUBPAGENAME}} +1 week}}|next week &raquo;]]<br />
<sup>[https://wiki.mozilla.org/index.php?title=L10n:Planning/{{#time: Y-m-d | {{SUBPAGENAME}} +1 week}}&action=edit&redlink=1&preload=Template:L10n:Meetings/Planning create?]</sup><br />
</small><br />
<br />
==Joint Meeting Details==<br />
<br />
* Time and location: Tuesday, 9:00 AM PST, Localization Vidyo room<br />
* irc.mozilla.org #l10n-drivers for back-channel <br />
<br />
====Joint Meeting Notes====<br />
<br />
* Attendees:<br />
* ''Put your talking points here.''<br />
<br />
==PM Meeting Details==<br />
<br />
* Time and location: Tuesday, 9:45 AM PST, Localization Vidyo room<br />
* irc.mozilla.org #l10n-drivers for back-channel <br />
<br />
====PM Meeting Notes====<br />
<br />
* Attendees:<br />
* ''Put your talking points here.''<br />
<br />
==Tech Meeting Details==<br />
<br />
* Time and location: Tuesday, 9:45 AM PST, Axel's Vidyo room<br />
* irc.mozilla.org #l10n-drivers for back-channel <br />
<br />
====Tech Meeting Notes====<br />
<br />
* Attendees:<br />
* ''Put your talking points here.''<br />
<br />
==Previous Action Items==<br />
<br />
{{:L10n:Planning/{{#time: Y-m-d | {{SUBPAGENAME}} -1 week}}}}<br />
<br />
==Action Items==<br />
<br />
<onlyinclude><br />
* <br />
====carry-overs====<br />
* <br />
</onlyinclude></div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Goals/Q3_2017&diff=1181456L10n:Goals/Q3 20172017-09-29T14:12:33Z<p>StasM: /* Stas */ End of Q3 Update</p>
<hr />
<div>[[Category:L10n goals]]<br />
==Team Goals==<br />
Please ensure that individual goals (all or part) are contributing to our [https://docs.google.com/document/d/1s_b679LNzXcvNjA6K5pEnhnDhgH8DFCV1aVwyfCUSTc/edit#heading=h.m68mgmculzl8 2017 OKRs for localization]. Citing the OKR that your Q3 goal contributes to in your goal section is preferred.<br />
*Cross-channel - <b>Axel</b>, J, M, F, D<br />
*AWS Migration - <b>Axel</b>, J, F<br />
*UI for FTL in Pontoon - <b>Matjaz</b>, S, Ax, Ad, Z, D, J, F, P, T <br />
*Localizer-facing documentation - <b>Jeff, flod,</b> P, D, K<br />
*Agreement with relman to ship l10n updates on release & ESR - <b>flod</b>, J, Z, D, F<br />
*“Firefox in your language” community marketing kit - <b>Peiying</b>, T, F, J, D<br />
*Deliver the same localizations on Fx Mobile as our competitors. - <b>Delphine</b><br />
*Localization Asset Analysis Updates - <b>Kekoa, Delphine, Matjaz</b>, J, P, T, F<br />
*Community Workshops - <b>Jeff</b>, P, D, F, T<br />
*Pudelo - <b>Jeff</b>, Ax, Ad, M, F, D, P<br />
<br />
==Roundtable==<br />
<br />
=== Axel ===<br />
Deliver cross-channel localization infrastructure<br />
<br />
* [ ] Initial Repository for Fx, Fx Android, Thunderbird (w/ calendar), SeaMonkey<br />
* [ ] Update logic to incrementally update the initial repository with new landings<br />
* [ ] Test infrastructure on m-c to ensure all the constraints that x-channel brings<br />
* [ ] Automated updates to upstream repository<br />
* [ ] Support new config in elmo, add support for x-channel automation<br />
* [ ] (releng) Deploy changes in automation to pick up x-channel l10n repos<br />
<br />
Host l10n automation and l10n.m.o on the cloud<br />
<br />
* TBD on the scope of the action, options are existing infra on AWS, or new automation infra on TC<br />
<br />
=== Delphine ===<br />
*Complete localizer-facing documentation we defined during All-Hands<br />
*Create Pudelo-related documentation with corresponding doc and start necessary outreach, in regards to mobile (outreach not limited to mobile)<br />
*Investigate and scope out languages needed for the Zerda project. Work closely with mobile teams involved to advise on l10n (already started this week)<br />
*Train communities at Asuncion in view of Pudelo<br />
*Mentor Kekoa through his current goals<br />
*l10n report: continue improving the report based on community feedback (ongoing)<br />
*Support Photon mobile l10n (more detailed info coming next week)<br />
<br />
=== Flod ===<br />
Firefox Desktop<br />
* <span style="color: green"><strong>[OK]</strong></span> Support localization for Firefox 57: Photon, Activity Stream and Firefox Screenshots integration in the browser.<br />
* Support cross-channel repository initiative through:<br />
** <span style="color: black"><strong>[]</strong></span> (from Q2) Initial testing and support.<br />
** <span style="color: black"><strong>[]</strong></span> (from Q2) Creating documentation for new processes.<br />
** <span style="color: black"><strong>[]</strong></span> (from Q2) Adding support for cross-channel repository in Transvision.<br />
** <span style="color: black"><strong>[]</strong></span> (from Q2) Starting discussion with release management about shipping updates on release and ESR channels.<br />
* <span style="color: black"><strong>[]</strong></span> (from Q2) Support DevTools move to an external GitHub repository.<br />
<br />
Other products, tools, support for mozilla.org and mobile<br />
* Documentation:<br />
** <span style="color: black"><strong>[]</strong></span> Complete Q3 tasks in documentation: How to drop a locale.<br />
* <span style="color: green"><strong>[OK]</strong></span> Complete Q3 tasks in localizer-documentation: How to use Pontoon, How to test Firefox desktop.<br />
* <span style="color: green"><strong>[OK]</strong></span> Clean up documentation (Pootle removal).<br />
* <span style="color: green"><strong>[OK]</strong></span> (ongoing) Support Test Pilot experiments and system add-ons (review, localization setup, infrastructure).<br />
* <span style="color: green"><strong>[OK]</strong></span> Clean up tools (Pootle removal).<br />
<br />
Back-burner<br />
* <span style="color: black"><strong>[]</strong></span> (from Q2, blocked by new project configurations) Get string tiers implemented in tools (Pootle, Pontoon).<br />
* <span style="color: black"><strong>[]</strong></span> (ongoing) Identify inactive locales, reach out to them, try to find new contributors, remove them from builds if that fails (long term goal for 2017).<br />
<br />
=== Gandalf ===<br />
<br />
# Help ship Quantum Flow/Photon Flow by taking a few bugs from their list per week until 57<br />
# Run the 2nd round of feedback on Fluent (frameworks&platforms)<br />
# Develop an MVP version of Fluent Rust<br />
# Land Fluent Localization and FluentDOM in Gecko<br />
<br />
=== Jeff ===<br />
* Create and run pilots of new workshop formats for Asunción and Berlin.<br />
* Gather team input and create plan for our 5-day work week in Berlin.<br />
* Start cross-functional localization taskforce.<br />
* Planning for 2018 budget and team strategy.<br />
<br />
=== Matjaž ===<br />
OKRs<br />
* <span style="color: black"><strong>[]</strong></span> Add robust Terminology support to Pontoon.<br />
** <span style="color: black"><strong>[]</strong></span> Spec terminology translation UI (no adding of terms required).<br />
** <span style="color: black"><strong>[]</strong></span> Implement terminology translation UI ({{bug|1381959}}).<br />
** <span style="color: black"><strong>[]</strong></span> Implement terminology integration into translate process ({{bug|1243140}}).<br />
* <span style="color: black"><strong>[]</strong></span> Deliver advanced Fluent UI in Pontoon ({{bug|1362072}}).<br />
<br />
PP<br />
* <span style="color: black"><strong>[]</strong></span> Implement errors and warnings via compare-locales ({{bug|1237667}}).<br />
* <span style="color: black"><strong>[]</strong></span> Search across all team projects ({{bug|1305281}}).<br />
<br />
Miscellaneous<br />
* <span style="color: black"><strong>[]</strong></span> Complete Google Summer of Code 2nd & 3rd evaluation period.<br />
* <span style="color: black"><strong>[]</strong></span> Add ability to show suggestions from non-Pontoon locales in the "Locales" tab ({{bug|1350546}}).<br />
<br />
=== Pei ===<br />
* "Firefox in your language” community marketing kit<br />
** Make it a localizer-facing documentation and open to community for feedback. <br />
** Share marketing messages (not on mozilla.org) through social media and communication channels.<br />
** Solicit and share images that can be printed locally and templates that can duplicated with localized content.<br />
* Complete writing the localiser-facing documentation on github per assignment at SF all hands: SUMO, MDN, AMO, Snippets, Newsletter/email. <br />
* Participation in planning and organisation of community workshops for H2.<br />
* Marketing: create an onboarding process that involves multiple parties to collaborate, communicate, and create regional marketing content for the the fall campaigns in different regions. Parties include: l10n community volunteers, marketing hired agencies, Mozilla new hires, and localization agency.<br />
* Pudelo<br />
<br />
=== Stas ===<br />
<br />
1. Add a solution for localizing DOM fragments to fluent-react. (3 weeks)<br />
<br />
''Related objective: Prepare Firefox desktop for implementation of next gen l10n framework & new i18n standard specifications after launch of Quantum.''<br />
<br />
[✓] Review the solution currently implemented in fluent-dom.<br />
[✓] Research current solutions in other i18n libraries for React<br />
[✓] Research approaches to parsing HTML in translations<br />
[MISSED] Implement<br />
[MISSED] Write tests and documentation<br />
<br />
2. Implement Fluent 0.3 resolver spec in fluent-rs (3 weeks)<br />
<br />
''Related objective: Prepare Firefox desktop for implementation of next gen l10n framework & new i18n standard specifications after launch of Quantum.''<br />
<br />
[✓] Support ExternalArguments: only strings and numbers for now<br />
[✓] Support VariantExpression<br />
[✓] Support AttributeExpression<br />
[✓] Support SelectExpression<br />
[✓] Support Tags as selectors<br />
[DROPPED] Support CallExpression<br />
<br />
3. Create fluent-lint for linting FTL files and autofixing them (2 weeks)<br />
<br />
''Related objective: Prepare Firefox desktop for implementation of next gen l10n framework & new i18n standard specifications after launch of Quantum.''<br />
<br />
DROPPED in favor of x-channel.<br />
<br />
[DROPPED] Create a set of rules for formatting, whitespace and indentation, called Fluent Standard.<br />
[DROPPED] Create a tool for reporting linting errors in FTL files.<br />
[DROPPED] Add an option to autofix linting errors.<br />
<br />
4. Create a v1 of the API endpoint supporting queries related to aggregate statistics per locale and per project (2 weeks)<br />
<br />
''Related objective: Optimize and streamline the string life cycle for throughput efficiency to maximize community localizer impact, output, and quality (i.e., continuous localization).''<br />
<br />
[✓] Document research on REST and GraphQL<br />
[✓] Make an informed decision and choose one<br />
[✓] Implement the chosen solution<br />
[✓] Help build a simple dashboard (e.g. using processeer.io) to visualize the data described in {{bug|1302053}}<br />
<br />
=== Adrian ===<br />
<br />
* Improve performance of Pontoon<br />
* Add ability to reject suggestions, instead of deleting them<br />
* Use fluent-react on a side project and provide feedback<br />
* Help with Pudelo<br />
<br />
=== Kekoa ===<br />
Asset Analysis<br />
*[] Create general termbase for Mozilla.org and FireFox<br />
*[] Migrate current style guides to Gitbook<br />
*[] Make style guides accessible to and manageable by communities <br />
<br />
Documentation <br />
*[] Resources for Translation<br />
*[] How to Localize in Pontoon<br />
<br />
Pontoon <br />
*[] Design and implement terminology management in Pontoon UI<br />
<br />
=== Theo (optional) ===</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Meetings/2017_Berlin&diff=1181275L10n:Meetings/2017 Berlin2017-09-26T11:58:20Z<p>StasM: /* Tech Group */ Add Fluent Syntax, part 2</p>
<hr />
<div>[[Category:L10n workdays|{{SUBPAGENAME}}]]<br />
[[Category:L10n meetings|{{SUBPAGENAME}}]]<br />
<br />
__NOTOC__<br />
==Logistics==<br />
;where: [[File:Berlin_office_map.png|thumb]]<br />
Schlesische Straße 27<br />
<br />
10997 Berlin<br />
;when: 21-27 September 2017<br />
;travel: Plan to arrive on Wednesday morning (20th) and to leave on Thursday (28th)<br />
<br />
;arrivals:<br />
{| border="1"<br />
|-<br />
| Name <br />
| Date <br />
| Time <br />
| Airport <br />
| Flight<br />
|-<br />
| Jeff<br />
| Sept 20th<br />
| 1130<br />
| TXL<br />
| DL6026<br />
|-<br />
| Zibi <br />
| Sep 19th<br />
| 2pm<br />
| TLX<br />
| <br />
|-<br />
| Pike<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Matjaž <br />
| Wed, Sep 20<br />
| 14:15<br />
| TXL<br />
| OS 291<br />
|-<br />
| Stas<br />
| Wed, Sept 20<br />
| 12:00 (noon)<br />
| TXL<br />
| AB 8213<br />
|-<br />
| Pei <br />
| Wed, Sep 20<br />
| 12:55<br />
| TXL<br />
| LH 182<br />
|-<br />
| Flod <br />
| Wed, Sep 20<br />
| 10:55<br />
| SXF<br />
| FR4731 <br />
|-<br />
| Delphine <br />
| Sep 20<br />
| 14:25<br />
| TXL<br />
| AF 1534 <br />
|-<br />
| Adrian <br />
| Sep 20<br />
| 9:20am<br />
| SXF<br />
| easyJet 4371<br />
|-<br />
| Théo <br />
| Sept 20<br />
| 18:25<br />
| TXL<br />
| BA 986<br />
|-<br />
|}<br />
<br />
<br />
;departures:<br />
{| border="1"<br />
|-<br />
| Name <br />
| Date <br />
| Time <br />
| Airport <br />
| Flight<br />
|-<br />
| Jeff<br />
| 28th<br />
| 0650<br />
| TXL<br />
| AF1135<br />
|-<br />
| Zibi <br />
| 28th<br />
| ?<br />
| ?<br />
| ?<br />
|-<br />
| Pike<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Matjaž <br />
| Thu, Sep 28<br />
| 10:00<br />
| TXL<br />
| LH 2033<br />
|-<br />
| Stas<br />
| Thu, Sept 28<br />
| 13:10<br />
| TXL<br />
| AB 8214<br />
|-<br />
| Pei <br />
| Thu, Sep 28<br />
| 10:45<br />
| TXL<br />
| LH 183 <br />
|-<br />
| Flod <br />
| Thu, Sep 28<br />
| 18:50<br />
| SXF<br />
| FR4734<br />
|-<br />
| Delphine <br />
| Oct 3<br />
| 12:25<br />
| TXL<br />
| AF 1735<br />
|-<br />
| Adrian <br />
| Sep 28<br />
| 12:45pm<br />
| SXF<br />
| easyJet 4372<br />
|-<br />
| Théo <br />
| Sept 28<br />
| 20:55<br />
| TXL<br />
| BA 995<br />
|}<br />
<br />
===Goals of work week===<br />
* Create a long-term (3-5) year vision of l10n at Mozilla.<br />
* Define our 2018 OKRs.<br />
* Map out remaining 2017 OKRs.<br />
* Complete group-specific work that is most efficiently addressed when together.<br />
* Unite and bond with l10n communities at community workshop.<br />
<br />
==Schedule==<br />
====Wednesday====<br />
* Arrivals<br />
* Dinner:<br />
====Thursday - Group breakouts====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Fireside with Mitchell --1200<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
<br />
====Friday - Group breakouts====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
====Saturday-Sunday====<br />
*Community workshop<br />
====Monday - long-term vision====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
====Tuesday - break-outs====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
* Technical Vision (VCS vs. Pontoon as master data) [Everyone]<br />
* Pontoon Fluent UI Status & Planning [Everyone]<br />
* Lunch:TBD<br />
;Afternoon<br />
*The state of status for translations in Pontoon [Adrian, Matjaz, Axel, PM group] <br />
*Dinner:TBD<br />
<br />
====Wednesday 2018 OKRs & Q4====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
== Break Outs ==<br />
<br />
=== Tech Group ===<br />
* Multi-locale Firefox - what does it mean, and how will we get there. Building multilocale vs. installing langpacks on fly [Zibi, Axel, Stas, Flod, Jeff]<br />
* <s>Rewriting the Translate page of Pontoon [Adrian]</s> (canceled)<br />
* <s>New source for short time projects in Pontoon [Matjaz, Adrian]</s><br />
* The state of status for translations in Pontoon [Adrian, Matjaz, Axel, PM group]<br />
* Gecko Intl in Q4 [Zibi, Axel, Stas, Flod?]<br />
* <s>ECMA402 next steps [Zibi]</s><br />
* <s>projectfluent.io [Zibi]</s><br />
* Finalize new projectfluent.io [Zibi, Stas]<br />
* Fluent Syntax, Part Deux [Staś, Axel, Flod, Matjaž, Zibi]<br />
<br />
=== PM Group ===<br />
* Close all remaining issues for [https://github.com/mozilla-l10n/localizer-documentation/milestones localizer documentation project milestones].<br />
* Triage and possibly fix remaining issues for [https://github.com/mozilla-l10n/documentation/milestones documentation project milestones].<br />
* <s>PTO planning and hand-off.</s><br />
* <s>Discuss next year's workshops.</s><br />
* <s>Mobile iOS/Android (expected attendees: jeff (?), delphine, flod).</s><br />
* <s>October → mid-November localization planning, review of incoming requests (expected attendees: all PMs)</s><br />
* <s>Discuss how we might better anticipate high volumes/high number of requests and mitigate that (linked to the “What should we expose discussion)</s><br />
* <s>Planning refresh of “How to submit a localization request” documentation</s><br />
* <s>Marketing emails</s><br />
* <s>Transvision (flod, Théo)</s><br />
* Estimate mozilla.org l10n volume in word count per year (flod, Théo, pei)<br />
<br />
=== Mixed Groups ===<br />
* Shipping languages not currently supported by CLDR/ICU (e.g. Mozilla Nativo locales, but not only), and our involvement with Unicode (expected attendees: jeff, delphine, flod, zibi, axel, stas).<br />
* Sign-offs on elmo (expected attendees: jeff, delphine, flod, axel):<br />
** Sign-offs in a cross-channel world (no sign-offs on central, cleaning up existing sign-offs for 58).<br />
** Looking forward (shipping updates in release).<br />
* elmo data, the missing window and the window of wrong (expected attendees: axel, jeff, Delphine, flod)<br />
** x-channel makes it even harder to regenerate the data<br />
** options:<br />
*** leave as is<br />
*** regenerate piece-wise<br />
*** find bad stats, remove<br />
* <s>Planning and reporting tools</s><br />
** <s>Do we still use Gantt Planner?</s><br />
** <s>Is Alfred still helpful?</s><br />
** <s>Do we want to try Weekdone?</s><br />
* <s>Rethinking the Translate UI in Pontoon [Matjaz]</s><br />
* <s>Data and Privacy</s><br />
<br />
== Possible Group Activities ==<br />
*[http://en.wikipedia.org/wiki/Fernsehturm_Berlin Fernsehturm am Alexanderplatz] – best view of the city, but long waiting lines<br />
*[https://www.google.com/maps/place/Oranienstra%C3%9Fe Oranienstr. in Kreuzberg] – lots of cafes, bars and restaurants<br />
*Take one ride around the [http://en.wikipedia.org/wiki/Berlin_Ringbahn S-Bahn-Ring]. Train lines 41 or 42. A public transport ticket (region AB) is only 2.60 EUR. The full circle takes about an hour and will show you many facets of the city and you'll see people from all walks of life.<br />
*[http://berliner-teufelsberg.com/web/ Teufelsberg] – the old NSA listening post<br />
*[http://berliner-unterwelten.de/home.1.1.html Berliner Unterwelten] – awesome guided tours through old bunkers and other abandoned, mostly underground places<br />
*[https://www.museumsinsel-berlin.de/en/buildings/overview-of-the-buildings/ Museuminsel] - 'Museum Island' is a unique complex of 5 significant national museums on the Spree Island. It is on the UNESCO World Heritage List.</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Meetings/2017_Berlin&diff=1180721L10n:Meetings/2017 Berlin2017-09-19T10:13:20Z<p>StasM: /* Mixed Groups */ Planning and reporting tools</p>
<hr />
<div>[[Category:L10n workdays|{{SUBPAGENAME}}]]<br />
[[Category:L10n meetings|{{SUBPAGENAME}}]]<br />
<br />
__NOTOC__<br />
==Logistics==<br />
;where: [[File:Berlin_office_map.png|thumb]]<br />
Schlesische Straße 27<br />
<br />
10997 Berlin<br />
;when: 21-27 September 2017<br />
;travel: Plan to arrive on Wednesday morning (20th) and to leave on Thursday (28th)<br />
<br />
;arrivals:<br />
{| border="1"<br />
|-<br />
| Name <br />
| Date <br />
| Time <br />
| Airport <br />
| Flight<br />
|-<br />
| Jeff<br />
| Sept 20th<br />
| 1130<br />
| TXL<br />
| DL6026<br />
|-<br />
| Zibi <br />
| Sep 19th<br />
| 2pm<br />
| TLX<br />
| <br />
|-<br />
| Pike<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Matjaž <br />
| Wed, Sep 20<br />
| 14:15<br />
| TXL<br />
| OS 291<br />
|-<br />
| Stas<br />
| Wed, Sept 20<br />
| 12:00 (noon)<br />
| TXL<br />
| AB 8213<br />
|-<br />
| Pei <br />
| Wed, Sep 20<br />
| 12:55<br />
| TXL<br />
| LH 182<br />
|-<br />
| Flod <br />
| Wed, Sep 20<br />
| 10:55<br />
| SXF<br />
| FR4731 <br />
|-<br />
| Delphine <br />
| Sep 20<br />
| 14:25<br />
| TXL<br />
| AF 1534 <br />
|-<br />
| Adrian <br />
| Sep 20<br />
| 9:20am<br />
| SXF<br />
| easyJet 4371<br />
|-<br />
| Théo <br />
| Sept 20<br />
| 18:25<br />
| TXL<br />
| BA 986<br />
|-<br />
|}<br />
<br />
<br />
;departures:<br />
{| border="1"<br />
|-<br />
| Name <br />
| Date <br />
| Time <br />
| Airport <br />
| Flight<br />
|-<br />
| Jeff<br />
| 28th<br />
| 0650<br />
| TXL<br />
| AF1135<br />
|-<br />
| Zibi <br />
| 28th<br />
| ?<br />
| ?<br />
| ?<br />
|-<br />
| Pike<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Matjaž <br />
| Thu, Sep 28<br />
| 10:00<br />
| TXL<br />
| LH 2033<br />
|-<br />
| Stas<br />
| Thu, Sept 28<br />
| 13:10<br />
| TXL<br />
| AB 8214<br />
|-<br />
| Pei <br />
| Thu, Sep 28<br />
| 10:45<br />
| TXL<br />
| LH 183 <br />
|-<br />
| Flod <br />
| Thu, Sep 28<br />
| 18:50<br />
| SXF<br />
| FR4734<br />
|-<br />
| Delphine <br />
| Oct 3<br />
| 12:25<br />
| TXL<br />
| AF 1735<br />
|-<br />
| Adrian <br />
| Sep 28<br />
| 12:45pm<br />
| SXF<br />
| easyJet 4372<br />
|-<br />
| Théo <br />
| Sept 28<br />
| 20:55<br />
| TXL<br />
| BA 995<br />
|}<br />
<br />
===Goals of work week===<br />
* Create a long-term (3-5) year vision of l10n at Mozilla.<br />
* Define our 2018 OKRs.<br />
* Map out remaining 2017 OKRs.<br />
* Complete group-specific work that is most efficiently addressed when together.<br />
* Unite and bond with l10n communities at community workshop.<br />
<br />
==Schedule==<br />
====Wednesday====<br />
* Arrivals<br />
* Dinner:<br />
====Thursday - Group breakouts====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Fireside with Mitchell --1200<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
<br />
====Friday - Group breakouts====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
====Saturday-Sunday====<br />
*Community workshop<br />
====Monday - long-term vision====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
====Tuesday - long-term vision====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
====Wednesday 2018 OKRs & Q4====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
== Break Outs ==<br />
<br />
=== Tech Group ===<br />
* Multi-locale Firefox - what does it mean, and how will we get there. Building multilocale vs. installing langpacks on fly<br />
* Rethinking the Translate UI in Pontoon [Matjaz]<br />
* Rewriting the Translate page of Pontoon [Adrian]<br />
* New source for short time projects in Pontoon [Matjaz, Adrian]<br />
* The state of status for translations in Pontoon [Adrian]<br />
<br />
=== PM Group ===<br />
* Close all remaining issues for [https://github.com/mozilla-l10n/localizer-documentation/milestones localizer documentation project milestones].<br />
* Triage and possibly fix remaining issues for [https://github.com/mozilla-l10n/documentation/milestones documentation project milestones].<br />
* PTO planning and hand-off.<br />
* Discuss next year's workshops.<br />
* Mobile iOS/Android (expected attendees: jeff (?), delphine, flod).<br />
* October → mid-November localization planning, review of incoming requests (expected attendees: all PMs)<br />
* Discuss how we might better anticipate high volumes/high number of requests and mitigate that (linked to the “What should we expose discussion)<br />
* Planning refresh of “How to submit a localization request” documentation<br />
* Marketing emails<br />
* Transvision (flod, Théo)<br />
<br />
=== Mixed Groups ===<br />
* Shipping languages not currently supported by CLDR/ICU (e.g. Mozilla Nativo locales, but not only), and our involvement with Unicode (expected attendees: jeff, delphine, flod, zibi, axel, stas).<br />
* Sign-offs on elmo (expected attendees: jeff, delphine, flod, axel):<br />
** Sign-offs in a cross-channel world (no sign-offs on central, cleaning up existing sign-offs for 58).<br />
** Looking forward (shipping updates in release).<br />
* elmo data, the missing window and the window of wrong (expected attendees: jeff, Delphine, flod)<br />
** x-channel makes it even harder to regenerate the data<br />
** options:<br />
*** leave as is<br />
*** regenerate piece-wise<br />
*** find bad stats, remove<br />
* Planning and reporting tools<br />
** Do we still use Gantt Planner?<br />
** Is Alfred still helpful?<br />
** Do we want to try Weekdone?<br />
<br />
== Possible Group Activities ==<br />
*[http://en.wikipedia.org/wiki/Fernsehturm_Berlin Fernsehturm am Alexanderplatz] – best view of the city, but long waiting lines<br />
*[https://www.google.com/maps/place/Oranienstra%C3%9Fe Oranienstr. in Kreuzberg] – lots of cafes, bars and restaurants<br />
*Take one ride around the [http://en.wikipedia.org/wiki/Berlin_Ringbahn S-Bahn-Ring]. Train lines 41 or 42. A public transport ticket (region AB) is only 2.60 EUR. The full circle takes about an hour and will show you many facets of the city and you'll see people from all walks of life.<br />
*[http://berliner-teufelsberg.com/web/ Teufelsberg] – the old NSA listening post<br />
*[http://berliner-unterwelten.de/home.1.1.html Berliner Unterwelten] – awesome guided tours through old bunkers and other abandoned, mostly underground places<br />
*[https://www.museumsinsel-berlin.de/en/buildings/overview-of-the-buildings/ Museuminsel] - 'Museum Island' is a unique complex of 5 significant national museums on the Spree Island. It is on the UNESCO World Heritage List.</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Meetings/2017_Berlin&diff=1180331L10n:Meetings/2017 Berlin2017-09-12T16:34:21Z<p>StasM: /* Logistics */ Staś is coming too!</p>
<hr />
<div>[[Category:L10n workdays|{{SUBPAGENAME}}]]<br />
[[Category:L10n meetings|{{SUBPAGENAME}}]]<br />
<br />
__NOTOC__<br />
==Logistics==<br />
;where: [[File:Berlin_office_map.png|thumb]]<br />
Schlesische Straße 27<br />
<br />
10997 Berlin<br />
;when: 21-27 September 2017<br />
;travel: Plan to arrive on Wednesday morning (20th) and to leave on Thursday (28th)<br />
<br />
;arrivals:<br />
{| border="1"<br />
|-<br />
| Name <br />
| Date <br />
| Time <br />
| Airport <br />
| Flight<br />
|-<br />
| Jeff<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Zibi <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Pike<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Matjaž <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Stas<br />
| Wed, Sept 20<br />
| 12:00 (noon)<br />
| TXL<br />
| AB 8213<br />
|-<br />
| Pei <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Flod <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Delphine <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Adrian <br />
| Sep 20<br />
| 9:20am<br />
| SXF<br />
| easyJet 4371<br />
|-<br />
| Théo <br />
| Sept 20<br />
| 18:25<br />
| TXL<br />
| BA 986<br />
|-<br />
|}<br />
<br />
<br />
;departures:<br />
{| border="1"<br />
|-<br />
| Name <br />
| Date <br />
| Time <br />
| Airport <br />
| Flight<br />
|-<br />
| Jeff<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Zibi <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Pike<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Matjaž <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Stas<br />
| Thu, Sept 28<br />
| 13:10<br />
| TXL<br />
| AB 8214<br />
|-<br />
| Pei <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Flod <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Delphine <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Adrian <br />
| Sep 28<br />
| 12:45pm<br />
| SXF<br />
| easyJet 4372<br />
|-<br />
| Théo <br />
| Sept 28<br />
| 20:55<br />
| TXL<br />
| BA 995<br />
|}<br />
<br />
===Goals of work week===<br />
* Create a long-term (3-5) year vision of l10n at Mozilla.<br />
* Define our 2018 OKRs.<br />
* Map out remaining 2017 OKRs.<br />
* Complete group-specific work that is most efficiently addressed when together.<br />
* Unite and bond with l10n communities at community workshop.<br />
<br />
==Schedule==<br />
====Wednesday====<br />
* Arrivals<br />
* Dinner:<br />
====Thursday - Group breakouts====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
====Friday - Group breakouts====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
====Saturday-Sunday====<br />
*Community workshop<br />
====Monday - long-term vision====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
====Tuesday - long-term vision====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
====Wednesday 2018 OKRs & Q4====<br />
{| border="1"<br />
|-<br />
| Start <br />
| Lunch <br />
| End<br />
| Dinner<br />
|-<br />
| 09:00<br />
| 13:00<br />
| 17:00<br />
| <br />
|-<br />
|}<br />
;Morning<br />
*Lunch:TBD<br />
;Afternoon<br />
*Dinner:TBD<br />
== Break Outs ==<br />
<br />
=== Tech Group ===<br />
=== PM Group ===<br />
* Close all remaining issues for [https://github.com/mozilla-l10n/localizer-documentation/milestones localizer documentation project milestones.]<br />
<br />
== Possible Group Activities ==<br />
*</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Goals/Q3_2017&diff=1180166L10n:Goals/Q3 20172017-09-11T11:05:48Z<p>StasM: /* Stas */</p>
<hr />
<div>[[Category:L10n goals]]<br />
==Team Goals==<br />
Please ensure that individual goals (all or part) are contributing to our [https://docs.google.com/document/d/1s_b679LNzXcvNjA6K5pEnhnDhgH8DFCV1aVwyfCUSTc/edit#heading=h.m68mgmculzl8 2017 OKRs for localization]. Citing the OKR that your Q3 goal contributes to in your goal section is preferred.<br />
*Cross-channel - <b>Axel</b>, J, M, F, D<br />
*AWS Migration - <b>Axel</b>, J, F<br />
*UI for FTL in Pontoon - <b>Matjaz</b>, S, Ax, Ad, Z, D, J, F, P, T <br />
*Localizer-facing documentation - <b>Jeff, flod,</b> P, D, K<br />
*Agreement with relman to ship l10n updates on release & ESR - <b>flod</b>, J, Z, D, F<br />
*“Firefox in your language” community marketing kit - <b>Peiying</b>, T, F, J, D<br />
*Deliver the same localizations on Fx Mobile as our competitors. - <b>Delphine</b><br />
*Localization Asset Analysis Updates - <b>Kekoa, Delphine, Matjaz</b>, J, P, T, F<br />
*Community Workshops - <b>Jeff</b>, P, D, F, T<br />
*Pudelo - <b>Jeff</b>, Ax, Ad, M, F, D, P<br />
<br />
==Roundtable==<br />
<br />
=== Axel ===<br />
Deliver cross-channel localization infrastructure<br />
<br />
* [ ] Initial Repository for Fx, Fx Android, Thunderbird (w/ calendar), SeaMonkey<br />
* [ ] Update logic to incrementally update the initial repository with new landings<br />
* [ ] Test infrastructure on m-c to ensure all the constraints that x-channel brings<br />
* [ ] Automated updates to upstream repository<br />
* [ ] Support new config in elmo, add support for x-channel automation<br />
* [ ] (releng) Deploy changes in automation to pick up x-channel l10n repos<br />
<br />
Host l10n automation and l10n.m.o on the cloud<br />
<br />
* TBD on the scope of the action, options are existing infra on AWS, or new automation infra on TC<br />
<br />
=== Delphine ===<br />
*Complete localizer-facing documentation we defined during All-Hands<br />
*Create Pudelo-related documentation with corresponding doc and start necessary outreach, in regards to mobile (outreach not limited to mobile)<br />
*Investigate and scope out languages needed for the Zerda project. Work closely with mobile teams involved to advise on l10n (already started this week)<br />
*Train communities at Asuncion in view of Pudelo<br />
*Mentor Kekoa through his current goals<br />
*l10n report: continue improving the report based on community feedback (ongoing)<br />
*Support Photon mobile l10n (more detailed info coming next week)<br />
<br />
=== Flod ===<br />
Firefox Desktop<br />
* <span style="color: green"><strong>[OK]</strong></span> Support localization for Firefox 57: Photon, Activity Stream and Firefox Screenshots integration in the browser.<br />
* Support cross-channel repository initiative through:<br />
** <span style="color: black"><strong>[]</strong></span> (from Q2) Initial testing and support.<br />
** <span style="color: black"><strong>[]</strong></span> (from Q2) Creating documentation for new processes.<br />
** <span style="color: black"><strong>[]</strong></span> (from Q2) Adding support for cross-channel repository in Transvision.<br />
** <span style="color: black"><strong>[]</strong></span> (from Q2) Starting discussion with release management about shipping updates on release and ESR channels.<br />
* <span style="color: black"><strong>[]</strong></span> (from Q2) Support DevTools move to an external GitHub repository.<br />
<br />
Other products, tools, support for mozilla.org and mobile<br />
* Documentation:<br />
** <span style="color: black"><strong>[]</strong></span> Complete Q3 tasks in documentation: How to drop a locale.<br />
* <span style="color: green"><strong>[OK]</strong></span> Complete Q3 tasks in localizer-documentation: How to use Pontoon, How to test Firefox desktop.<br />
* <span style="color: green"><strong>[OK]</strong></span> Clean up documentation (Pootle removal).<br />
* <span style="color: green"><strong>[OK]</strong></span> (ongoing) Support Test Pilot experiments and system add-ons (review, localization setup, infrastructure).<br />
* <span style="color: green"><strong>[OK]</strong></span> Clean up tools (Pootle removal).<br />
<br />
Back-burner<br />
* <span style="color: black"><strong>[]</strong></span> (from Q2, blocked by new project configurations) Get string tiers implemented in tools (Pootle, Pontoon).<br />
* <span style="color: black"><strong>[]</strong></span> (ongoing) Identify inactive locales, reach out to them, try to find new contributors, remove them from builds if that fails (long term goal for 2017).<br />
<br />
=== Gandalf ===<br />
<br />
# Help ship Quantum Flow/Photon Flow by taking a few bugs from their list per week until 57<br />
# Run the 2nd round of feedback on Fluent (frameworks&platforms)<br />
# Develop an MVP version of Fluent Rust<br />
# Land Fluent Localization and FluentDOM in Gecko<br />
<br />
=== Jeff ===<br />
* Create and run pilots of new workshop formats for Asunción and Berlin.<br />
* Gather team input and create plan for our 5-day work week in Berlin.<br />
* Start cross-functional localization taskforce.<br />
* Planning for 2018 budget and team strategy.<br />
<br />
=== Matjaž ===<br />
OKRs<br />
* <span style="color: black"><strong>[]</strong></span> Add robust Terminology support to Pontoon.<br />
** <span style="color: black"><strong>[]</strong></span> Spec terminology translation UI (no adding of terms required).<br />
** <span style="color: black"><strong>[]</strong></span> Implement terminology translation UI ({{bug|1381959}}).<br />
** <span style="color: black"><strong>[]</strong></span> Implement terminology integration into translate process ({{bug|1243140}}).<br />
* <span style="color: black"><strong>[]</strong></span> Deliver advanced Fluent UI in Pontoon ({{bug|1362072}}).<br />
<br />
PP<br />
* <span style="color: black"><strong>[]</strong></span> Implement errors and warnings via compare-locales ({{bug|1237667}}).<br />
* <span style="color: black"><strong>[]</strong></span> Search across all team projects ({{bug|1305281}}).<br />
<br />
Miscellaneous<br />
* <span style="color: black"><strong>[]</strong></span> Complete Google Summer of Code 2nd & 3rd evaluation period.<br />
* <span style="color: black"><strong>[]</strong></span> Add ability to show suggestions from non-Pontoon locales in the "Locales" tab ({{bug|1350546}}).<br />
<br />
=== Pei ===<br />
* "Firefox in your language” community marketing kit<br />
** Make it a localizer-facing documentation and open to community for feedback. <br />
** Share marketing messages (not on mozilla.org) through social media and communication channels.<br />
** Solicit and share images that can be printed locally and templates that can duplicated with localized content.<br />
* Complete writing the localiser-facing documentation on github per assignment at SF all hands: SUMO, MDN, AMO, Snippets, Newsletter/email. <br />
* Participation in planning and organisation of community workshops for H2.<br />
* Marketing: create an onboarding process that involves multiple parties to collaborate, communicate, and create regional marketing content for the the fall campaigns in different regions. Parties include: l10n community volunteers, marketing hired agencies, Mozilla new hires, and localization agency.<br />
* Pudelo<br />
<br />
=== Stas ===<br />
<br />
1. Add a solution for localizing DOM fragments to fluent-react. (3 weeks)<br />
<br />
''Related objective: Prepare Firefox desktop for implementation of next gen l10n framework & new i18n standard specifications after launch of Quantum.''<br />
<br />
[✓] Review the solution currently implemented in fluent-dom.<br />
[✓] Research current solutions in other i18n libraries for React<br />
[✓] Research approaches to parsing HTML in translations<br />
[ ] Implement<br />
[ ] Write tests and documentation<br />
<br />
2. Implement Fluent 0.3 resolver spec in fluent-rs (3 weeks)<br />
<br />
''Related objective: Prepare Firefox desktop for implementation of next gen l10n framework & new i18n standard specifications after launch of Quantum.''<br />
<br />
[ ] Support ExternalArguments: only strings and numbers for now<br />
[ ] Support VariantExpression<br />
[ ] Support AttributeExpression<br />
[ ] Support SelectExpression<br />
[ ] Support Tags as selectors<br />
[ ] Support CallExpression<br />
<br />
3. Create fluent-lint for linting FTL files and autofixing them (2 weeks)<br />
<br />
''Related objective: Prepare Firefox desktop for implementation of next gen l10n framework & new i18n standard specifications after launch of Quantum.''<br />
<br />
DROPPED in favor of x-channel.<br />
<br />
[ ] Create a set of rules for formatting, whitespace and indentation, called Fluent Standard.<br />
[ ] Create a tool for reporting linting errors in FTL files.<br />
[ ] Add an option to autofix linting errors.<br />
<br />
4. Create a v1 of the API endpoint supporting queries related to aggregate statistics per locale and per project (2 weeks)<br />
<br />
''Related objective: Optimize and streamline the string life cycle for throughput efficiency to maximize community localizer impact, output, and quality (i.e., continuous localization).''<br />
<br />
[✓] Document research on REST and GraphQL<br />
[✓] Make an informed decision and choose one<br />
[✓] Implement the chosen solution<br />
[ ] Help build a simple dashboard (e.g. using processeer.io) to visualize the data described in {{bug|1302053}}<br />
<br />
=== Adrian ===<br />
<br />
* Improve performance of Pontoon<br />
* Add ability to reject suggestions, instead of deleting them<br />
* Use fluent-react on a side project and provide feedback<br />
* Help with Pudelo<br />
<br />
=== Kekoa ===<br />
Asset Analysis<br />
*[] Create general termbase for Mozilla.org and FireFox<br />
*[] Migrate current style guides to Gitbook<br />
*[] Make style guides accessible to and manageable by communities <br />
<br />
Documentation <br />
*[] Resources for Translation<br />
*[] How to Localize in Pontoon<br />
<br />
Pontoon <br />
*[] Design and implement terminology management in Pontoon UI<br />
<br />
=== Theo (optional) ===</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&diff=1179630L10n:Pontoon/API2017-08-30T18:33:40Z<p>StasM: </p>
<hr />
<div>''Italic text''''For now, this page serves as a scratchpad for documenting the research into different API solutions for Pontoon. Once one solution is chosen and implemented, this page will feature the documentation about this solution.''<br />
<br />
High-level Q3 2017 goal: Create an API endpoint supporting queries related to aggregate statistics per locale and per project<br />
<br />
=Discussion=<br />
<br />
See https://groups.google.com/forum/#!topic/mozilla.tools.l10n/R1S7Pk-c6uU for more discussion on this topic.<br />
<br />
=Roadmap=<br />
<br />
In Q3 2017, we'd like to make some data stored in Pontoon openly available for third-parties. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
In future iterations, more use-case can be supported:<br />
<br />
* Exposing data which can be fetched by a SPA front-end<br />
** This will likely require pagination<br />
* Getting the stream of notifications per authorized user<br />
<br />
=Tracking=<br />
<br />
The tracking bug for all work related to the API for Pontoon is {{bug|1395273}}. Please make sure new bugs block it.<br />
<br />
<bugzilla>{<br />
"f1":"blocked",<br />
"o1":"equals",<br />
"v1":"1395273",<br />
"include_fields": "id, summary, status, resolution, assigned_to, depends_on, blocks"<br />
}</bugzilla><br />
<br />
=Technology=<br />
<br />
We'll be considering three solutions: REST, GraphQL and GraphQL with Relay.<br />
<br />
==REST==<br />
<br />
REST has been the ''de facto'' standard of API design for the last 10-15 years.<br />
<br />
====Pros====<br />
<br />
* Easy to implement thanks to the [http://www.django-rest-framework.org/ Django REST Framework] project<br />
* Browsable API: http://restframework.herokuapp.com/<br />
* Familiar to the consumers of the API<br />
* The developer has the exact control over which fields and relations are exposed<br />
<br />
====Cons====<br />
<br />
* By default, all fields as decided by the developer, are exposed and transferred, resulting in increased bandwidth<br />
** Work-arounds exists, e.g. <code>&fields=foo,bar</code><br />
* Only the relations expected by the developer can be queried in a single query, e.g. <code>project/1/locales</code><br />
** Other relations require multiple requests, which can't be optimized<br />
* Requires versioning and documentation<br />
<br />
<br />
==GraphQL==<br />
<br />
GraphQL is a query language in which the consumer describes the shape of the data they want back.<br />
<br />
====Pros====<br />
* Easy to learn syntax<br />
* Documentation generated out-of-the-box<br />
* GUI tool for browsing the API with a docs explorer (GraphiQL)<br />
* The consumer specifies exactly which fields they're interested in<br />
* A single query can span multiple types as long as they are connected in the graph<br />
* <code>graphene_django</code> automates a lot of integration, including support for Enum types<br />
<br />
====Cons====<br />
* Circular queries are possible (<code>{ projects { locales { projects } } }</code>)<br />
** In order to avoid them, we'd need to write code that inspects the query itself and checks if the fields don't repeat deeper in the query tree<br />
** See https://github.com/graphql-python/graphene/issues/348#issuecomment-267717809 and https://github.com/graphql-python/graphene/issues/462#issuecomment-298218524<br />
* Optimizations relying on <code>prefetch_selected</code> can be brittle.<br />
** I'm still trying to understand exactly what happens.<br />
** The best place to optimize seems to be the top-level Query Type.<br />
** For instance, when querying a list of projects, I can <code>ProjectModel.objects.prefetch_related('project_locale__locale')</code> in the top-level query in order to anticipate that the consumer will want to see the information about the related locales. In Django terms, this implies <code>project.project_locale.all()</code> which means that I now have to use <code>all()</code> in <code>resolve_locales</code> in the Project GraphQL type. Which in turn means that when asking for a single Project, I can't <code>prefetch_related</code> in its <code>resolve_locales</code>. The work-around is to <code>prefetch_related</code> in the top-level query for the single Project too.<br />
** The optimizations can be added dynamically depending on the exact query thanks to the introspection. This is similar to the approach to preventing circular queries<br />
*** See https://yacine.org/2017/02/27/graphqlgraphene-sqlalchemy-and-the-n1-problem/<br />
<br />
==GraphQL with Relay==<br />
<br />
Relay is a specification for cursor-based pagination which solves the problem of omitting items when switching between pages if items are being added quickly in real time to the DB. It works great for Facebook's use-case of showing a feed of news and updates.<br />
<br />
====Pros====<br />
* Pagination is guaranteed to not omit items which have been added to the DB while the user was looking at one page and then switched to another one<br />
* Relay has good integration with React<br />
* It's becoming a standard for pagination in GraphQL<br />
<br />
====Cons====<br />
* Pontoon's data doesn't change so quickly (projects, locales, entities) to actually require a solution this powerful.<br />
** Translations and suggestions may change more quickly, however.<br />
* <code>graphene_django</code> doesn't handle ManyToMany fields well with Relay enabled; by default the <code>through</code> table adds another layer of edges to the graph, which becomes verbose very quickly<br />
** See https://github.com/graphql-python/graphene/issues/83<br />
* Suffers from the N+1 queries problem for ForeignKeys and ManyToMany relationships<br />
** See https://github.com/graphql-python/graphene-django/issues/57<br />
* De-optimizes <code>prefetch_related</code> and <code>select_related</code><br />
** See https://github.com/graphql-python/graphene-django/issues/179</div>StasMhttps://wiki.mozilla.org/index.php?title=L10n:Pontoon/API&diff=1179629L10n:Pontoon/API2017-08-30T18:27:27Z<p>StasM: </p>
<hr />
<div>''Italic text''''For now, this page serves as a scratchpad for documenting the research into different API solutions for Pontoon. Once one solution is chosen and implemented, this page will feature the documentation about this solution.''<br />
<br />
High-level Q3 2017 goal: Create an API endpoint supporting queries related to aggregate statistics per locale and per project<br />
<br />
=Discussion=<br />
<br />
See https://groups.google.com/forum/#!topic/mozilla.tools.l10n/R1S7Pk-c6uU for more discussion on this topic.<br />
<br />
=Roadmap=<br />
<br />
In Q3 2017, we'd like to make some data stored in Pontoon openly available for third-parties. The main driver is the use case from {{bug|1302053}}: <br />
<br />
* Stats for a locale: supported projects, status of each project.<br />
* Stats for a project: supported locales, incomplete locales, complete locales.<br />
<br />
In future iterations, more use-case can be supported:<br />
<br />
* Exposing data which can be fetched by a SPA front-end<br />
** This will likely require pagination<br />
* Getting the stream of notifications per authorized user<br />
<br />
=Technology=<br />
<br />
We'll be considering three solutions: REST, GraphQL and GraphQL with Relay.<br />
<br />
==REST==<br />
<br />
REST has been the ''de facto'' standard of API design for the last 10-15 years.<br />
<br />
====Pros====<br />
<br />
* Easy to implement thanks to the [http://www.django-rest-framework.org/ Django REST Framework] project<br />
* Browsable API: http://restframework.herokuapp.com/<br />
* Familiar to the consumers of the API<br />
* The developer has the exact control over which fields and relations are exposed<br />
<br />
====Cons====<br />
<br />
* By default, all fields as decided by the developer, are exposed and transferred, resulting in increased bandwidth<br />
** Work-arounds exists, e.g. <code>&fields=foo,bar</code><br />
* Only the relations expected by the developer can be queried in a single query, e.g. <code>project/1/locales</code><br />
** Other relations require multiple requests, which can't be optimized<br />
* Requires versioning and documentation<br />
<br />
<br />
==GraphQL==<br />
<br />
GraphQL is a query language in which the consumer describes the shape of the data they want back.<br />
<br />
====Pros====<br />
* Easy to learn syntax<br />
* Documentation generated out-of-the-box<br />
* GUI tool for browsing the API with a docs explorer (GraphiQL)<br />
* The consumer specifies exactly which fields they're interested in<br />
* A single query can span multiple types as long as they are connected in the graph<br />
* <code>graphene_django</code> automates a lot of integration, including support for Enum types<br />
<br />
====Cons====<br />
* Circular queries are possible (<code>{ projects { locales { projects } } }</code>)<br />
** In order to avoid them, we'd need to write code that inspects the query itself and checks if the fields don't repeat deeper in the query tree<br />
** See https://github.com/graphql-python/graphene/issues/348#issuecomment-267717809 and https://github.com/graphql-python/graphene/issues/462#issuecomment-298218524<br />
* Optimizations relying on <code>prefetch_selected</code> can be brittle.<br />
** I'm still trying to understand exactly what happens.<br />
** The best place to optimize seems to be the top-level Query Type.<br />
** For instance, when querying a list of projects, I can <code>ProjectModel.objects.prefetch_related('project_locale__locale')</code> in the top-level query in order to anticipate that the consumer will want to see the information about the related locales. In Django terms, this implies <code>project.project_locale.all()</code> which means that I now have to use <code>all()</code> in <code>resolve_locales</code> in the Project GraphQL type. Which in turn means that when asking for a single Project, I can't <code>prefetch_related</code> in its <code>resolve_locales</code>. The work-around is to <code>prefetch_related</code> in the top-level query for the single Project too.<br />
** The optimizations can be added dynamically depending on the exact query thanks to the introspection. This is similar to the approach to preventing circular queries<br />
*** See https://yacine.org/2017/02/27/graphqlgraphene-sqlalchemy-and-the-n1-problem/<br />
<br />
==GraphQL with Relay==<br />
<br />
Relay is a specification for cursor-based pagination which solves the problem of omitting items when switching between pages if items are being added quickly in real time to the DB. It works great for Facebook's use-case of showing a feed of news and updates.<br />
<br />
====Pros====<br />
* Pagination is guaranteed to not omit items which have been added to the DB while the user was looking at one page and then switched to another one<br />
* Relay has good integration with React<br />
* It's becoming a standard for pagination in GraphQL<br />
<br />
====Cons====<br />
* Pontoon's data doesn't change so quickly (projects, locales, entities) to actually require a solution this powerful.<br />
** Translations and suggestions may change more quickly, however.<br />
* <code>graphene_django</code> doesn't handle ManyToMany fields well with Relay enabled; by default the <code>through</code> table adds another layer of edges to the graph, which becomes verbose very quickly<br />
** See https://github.com/graphql-python/graphene/issues/83<br />
* Suffers from the N+1 queries problem for ForeignKeys and ManyToMany relationships<br />
** See https://github.com/graphql-python/graphene-django/issues/57<br />
* De-optimizes <code>prefetch_related</code> and <code>select_related</code><br />
** See https://github.com/graphql-python/graphene-django/issues/179</div>StasM