From MozillaWiki
(Redirected from Pontoon)
Jump to: navigation, search


Pontoon is a localization platform, used and developed by the Mozilla localization community. Some links:

This wiki page mainly serves as a development roadmap. We use Mozilla wiki, because it nicely integrates with our bug tracker.

Get involved

Check out The Guide to your First Contribution to Pontoon 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:

Full Query
ID Summary Status Priority Assigned to
1468840 [sync] Obsolete Resources instead of deleting them ASSIGNED P2 Vishal Sharma [:vishalcr7]
1693321 [notifications] Link for new strings should point to missing strings NEW P3
1698636 Pontoon picks the wrong folder format for locales (underscore instead of hyphens) NEW P3
1703773 Sync should run locales in order of locale code, not language name NEW P3

4 Total; 4 Open (100%); 0 Resolved (0%); 0 Verified (0%);

2021 Roadmap

This is a high-level overview of Pontoon Roadmap for the current year. For more information, check out the DETAILED ROADMAP.


  • [✓] Search all strings while translating (1W)


  • [ ] Notification experiments (1M)
  • [ ] Pontoon Add-on promotion (1W)
  • [ ] Documentation Overhaul (1Q)


  • [ ] Custom themes (1M)
  • [ ] Development Process (1W)


  • [ ] Project Admin UI (1M)

Non-Roadmap goals

A collection of bugs we'd like to see fixed soon, but didn't make it to the Roadmap.

Full Query
ID Summary Status Resolution Priority Assigned to
1703748 [sync] Sync breaks with TypeError: 'builtin_function_or_method' object is not subscriptable ASSIGNED P1 Matjaz Horvat [:mathjazz]
1686402 [checks] Warnings behave inconsistently when working with FTL string ASSIGNED P1 Matjaz Horvat [:mathjazz]
1691770 Add Time to review suggestions chart to Community health dashboard ASSIGNED P2 Matjaz Horvat [:mathjazz]
1695231 Implement infinite scrolling in concordance search NEW P2
1666320 Make distinction between Pretranslated and Fuzzy strings NEW P2
1699610 Notifications page takes forever to load, or causes application error ASSIGNED P2 Matjaz Horvat [:mathjazz]
1584178 Google Translate modifies whitespace within placeables, causing translation errors ASSIGNED P2 Jarek Śmiejczak [:jotes]
1676336 Revisit sync process for XLIFF files NEW P2
1692619 Only list pinned comments under all comments where posted NEW P2
1586822 [translate] Add ability to drag/toggle columns ASSIGNED P2 Vishal Sharma [:vishalcr7]
1703666 [sync] IntegrityError: duplicate key value violates unique constraint "entity_locale_active" REOPENED P2 Matjaz Horvat [:mathjazz]
1615458 android-l10n should escape straight apostrophes or double quotes when user submits a translation NEW P2
1618841 [cleanup] Fluent translations stored in database without the trailing newline NEW P2
1697583 Concordance search not reset properly after translation submission REOPENED P2 Vishal Sharma [:vishalcr7]
1690978 IntegrityError: new row for relation "base_locale" violates check constraint UNCONFIRMED P2
1370173 Ability to view adjacent strings to a search result ASSIGNED P3 Mitchell Oliver
1566476 [FTL] Run checks when switching Fluent Editor mode NEW P3
1370200 Linked strings should be displayed on their corresponding page ASSIGNED P3 Jarek Śmiejczak [:jotes]
1708744 Permissions: search is unusable when locale has many active contributors NEW P3
1695479 Layout issue when copying text in the comment area NEW P3
1391592 [notifications] Exclude disabled locales ASSIGNED P3 Vishal Sharma [:vishalcr7]
1683539 Add ability to disable a locale NEW P3
1581911 [FTL] Improve Fluent source editor with syntax highlighting, error annotations NEW P3
1399839 [translate] Perform search on filtered translations only NEW P3
1696486 Use compare-locales instead of silme for serialization of dtd, inc, ini, properties NEW P3
1468997 Add a way to request a new locale directly through Pontoon REOPENED P3 Vishal Sharma [:vishalcr7]
1701174 [dashboard] Sort tags on dashboard by priority NEW P3
1713058 [XLIFF] Stop rewriting locale codes in target-language for non iOS projects NEW P3
1696722 [FTL] Autogrow multiple edit field(s) when large string is copied into them NEW P3
1486391 GitHub services are being deprecated NEW P3
1714369 Incorporate type definitions for react-linkify NEW P3
1588465 Switch to Google Translate API v3 NEW P3
1267548 [translate] Add a "copy original as translation" batch action NEW P3
1268841 Provide a way to insert placeables via shortcuts NEW P3
1325525 [translate] Show indication for good results from Translation Memory NEW P3
1350542 Pontoon special character shortcuts NEW P3
1546091 [translate] Improve saved translation pop-up NEW P3
1688835 Simplify translation process for similar locales NEW P3
1578235 [Translate.Next] Add ability to switch locales and projects NEW P4
1689716 Add ability to Re-apply existing filter NEW P4
1586234 [Translate.Next] Localize search input placeholder UNCONFIRMED P5
1513104 Create portable Docker image NEW P5
1536884 [translate] Add support for in-context localization NEW P5
1691956 Optimize generation of data for tags NEW --
1714370 Incorporate type definitions for react-tabs NEW --
1681296 URLs truncation in resource comments lead to broken URLs NEW --
1707819 Machinery fails to display results RESOLVED FIXED P1 Matjaz Horvat [:mathjazz]
1691805 Lots of "400 Client Error" reported for Google API in the logs. RESOLVED FIXED P1 Matjaz Horvat [:mathjazz]
1710384 Batch editor layout broken RESOLVED FIXED P1 Matjaz Horvat [:mathjazz]
1681688 Input area becomes empty for strings already translated RESOLVED FIXED P1 Adrian Gaudebert
1704859 Request for data: translation throughput RESOLVED FIXED P1 Matjaz Horvat [:mathjazz]
1699455 manage.py is asking env. but it's not exist RESOLVED FIXED P2 Fabien LOISON
1673043 Data request: word count and TM hits for mozilla.org strings in 2020 RESOLVED FIXED P2 Matjaz Horvat [:mathjazz]
1690336 Don't run machinery queries when user is not logged in RESOLVED FIXED P2 Matjaz Horvat [:mathjazz]
1687328 Unable to navigate fields with Tab key RESOLVED FIXED P2 Matjaz Horvat [:mathjazz]
1702396 Impossible to mention some usernames in comments RESOLVED FIXED P2 abowler2
1688395 Microsoft Terminology Service API: Server Error RESOLVED FIXED P2 Matjaz Horvat [:mathjazz]
1694504 Find & Replace fails for some strings RESOLVED FIXED P2 Matjaz Horvat [:mathjazz]
1629968 Extract data to determine impact of COVID-19 on contributions RESOLVED FIXED P2 Matjaz Horvat [:mathjazz]
1697587 Add "Concordance Search" MachinerySource on backend RESOLVED FIXED P2 Matjaz Horvat [:mathjazz]
1691180 Shortcut conflict between Firefox and Pontoon RESOLVED FIXED P2 Julen Ruiz Aizpuru
1695226 Sort projects in concordance search by priority RESOLVED FIXED P2 Matjaz Horvat [:mathjazz]
1682033 Improve visibility of pinned comments RESOLVED FIXED P3 Mitchell Oliver
1686569 Use Element.scrollIntoView() to scroll to the selected entity RESOLVED FIXED P3 Mitchell Oliver
1644202 [Translate] Typing in the editor has poor performance RESOLVED FIXED P3 Julen Ruiz Aizpuru
1689653 [Translate] Lightbox always listens to events even if closed RESOLVED FIXED P3 Julen Ruiz Aizpuru
1686690 Modify get_translations_from_other_locales() output structure to fit frontend needs RESOLVED FIXED P3 Julen Ruiz Aizpuru
1696146 Modernize python code in pontoon RESOLVED FIXED P3 Axel Hecht
1686711 Add unit test for Translation.machinery_sources_values RESOLVED FIXED P3 Matjaz Horvat [:mathjazz]
1692423 Replace broken CSS compressor with a no-op compressor RESOLVED FIXED P3 Matjaz Horvat [:mathjazz]
1684693 [admin] Exclude selected Read-only locales from Available locales RESOLVED FIXED P3 Matjaz Horvat [:mathjazz]
1687112 Remove fullpage.js dependency RESOLVED FIXED P3 Julen Ruiz Aizpuru
1690485 Switch to HTTPS for Microsoft Terminology service RESOLVED FIXED P3 Matjaz Horvat [:mathjazz]
1692539 Implementing dark background on hover for all panels RESOLVED FIXED P3 Anuj Pandey
1685558 Coverage reports should carry forward if test runs are skipped RESOLVED FIXED P3 Axel Hecht
1696517 Rolling upgrade to flow in frontend RESOLVED FIXED P3 abowler2
1690486 Remove support for Transvision API RESOLVED FIXED P3 Matjaz Horvat [:mathjazz]
1478554 [translate] Add filter for missing strings without suggestions or fuzzy imports RESOLVED FIXED P3 Vishal Sharma [:vishalcr7]
1685565 Switch from FlowType to Typescript RESOLVED FIXED P3 Axel Hecht
1687371 Support ES6+ everywhere RESOLVED FIXED P3 Julen Ruiz Aizpuru
1678462 Use new Django enumeration types RESOLVED FIXED P3 Philipp Fischbeck
1690500 Do not pass user data down from the EntityDetails component twice RESOLVED FIXED P3 Matjaz Horvat [:mathjazz]
1692888 Drop caighdean library RESOLVED FIXED P3 Matjaz Horvat [:mathjazz]
1685799 Add make command to compile requirements in Docker RESOLVED FIXED P3 Matjaz Horvat [:mathjazz]
1688174 Unify prettier configuration RESOLVED FIXED P3 Matjaz Horvat [:mathjazz]
1679565 Title missing in Terms panel and popup RESOLVED FIXED P3 Anuj Pandey
1690563 Translation Memory search is broken on custom Machinery search RESOLVED FIXED P3 Matjaz Horvat [:mathjazz]
1693319 [notifications] Rethink links in comment notifications RESOLVED FIXED P3 Vishal Sharma [:vishalcr7]
1686278 Drop can_commit logic RESOLVED FIXED P3 Philipp Fischbeck
1697462 Update node dependencies RESOLVED FIXED P3 Axel Hecht
1690642 Cleanup main.js RESOLVED FIXED P3 Matjaz Horvat [:mathjazz]
1686369 Add ability to copy Locales items into the editor using Tab RESOLVED FIXED P3 Julen Ruiz Aizpuru
1688570 [Translate] Changing textarea contents from/to initial values is slow RESOLVED FIXED P3 Julen Ruiz Aizpuru
1704038 Upgrade to Django 3.2 RESOLVED FIXED P3 Philipp Fischbeck
1686370 When navigating Machinery with Tab, scroll to make selected item visible if needed RESOLVED FIXED P3 Julen Ruiz Aizpuru
1688571 [Translate] Clicking anywhere negatively affects performance RESOLVED FIXED P3 Julen Ruiz Aizpuru
1543344 [Translate.Next] Implement the Tab shortcut in Editor RESOLVED FIXED P4 Julen Ruiz Aizpuru
1633150 Add ability to enable projects with read-only locales only RESOLVED FIXED P4 Mitchell Oliver
1699655 Update to latest Django - 3.1.7 RESOLVED FIXED -- Matjaz Horvat [:mathjazz]
1712086 Make addon promotion message handler fault tolerant RESOLVED FIXED -- Michal Stanke (Mozilla.cz) [:mstanke][:MikkCZ] (use needinfo)
1701043 Multilingual terminology export RESOLVED FIXED -- Matjaz Horvat [:mathjazz]
1712446 Incorporate @types/foo for dependencies of frontend code RESOLVED FIXED --
1681653 Pontoon generates invalid XML for TMX RESOLVED FIXED -- Vishal Sharma [:vishalcr7]
1699381 Media path is not configurable RESOLVED FIXED -- Fabien LOISON
1677173 Attribute xml:space="preserve" is lost when translating XLIFF strings RESOLVED INVALID P2 Matjaz Horvat [:mathjazz]
1694598 Having Pontoon installable on "standard" Linux Distro RESOLVED WONTFIX -- Fabien LOISON
1682225 Blank page after searching twice RESOLVED DUPLICATE P1 Matjaz Horvat [:mathjazz]
1696723 Prevent Translation saved notification to cover progress bar RESOLVED DUPLICATE P3

108 Total; 46 Open (42.59%); 62 Resolved (57.41%); 0 Verified (0%);

Prioritizing bugs

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.

  • P1: Must be fixed immediately, drop any other work.
  • P2: We want to ship this soon, possibly in the current quarter.
  • P3: Default starting point, possibly shipping in the following two quarters.
  • P4: We expect it to be fixed someday.
  • P5: A valid bug, but we might never fix it, unless you provide a patch.

Fun read from the past!