If you have contributed to Mozilla’s localization in the past few years, chances are high that you have interacted with Pontoon’s translation page. That page is the most important one of the Pontoon web app, as it is where people can create, review and manage translations for most of the products Mozilla makes. Today we are happy to announce that we are soon going to release an entirely re-written version of that page, nicknamed “Translate.Next”. This post shares all the details about this release, and should answer the questions you might have about it.
What is Translate.Next?
Pontoon was started in 2011, and has grown quite a lot since then. Most of the back-end, using Python and Django, has been kept up-to-date and is still doing mostly fine, but the front-end, and specifically the Translate app, is in a terrible shape. Our code has accumulated a lot of technical debt, and is very difficult to maintain and evolve.
After I joined the Pontoon team in the summer of 2017, I spent some time auditing the translate application code, and it quickly became clear to me that a full rewrite would bring a lot of value. Here are some of the benefits this brings:
- removing technical debt and making our code saner;
- adding better test coverage for our front-end;
- enabling the localization of Pontoon, starting with the Translate page;
- structurally enabling some of the many improvements our users have been asking for.
Over the last year and a half, Matjaž and myself have been spending a lot of our time working on rewriting the Translate page from scratch, using more recent, better adapted technologies, making our code a lot more modular and maintainable. (If you are interested in knowing more about the technologies we used, it is described in our github repository — there’s some React, redux, Jest and Flow in there. )
How is it different from the current page?
Translate.Next is just the first part of our effort to improve Pontoon’s translation page, while the second part will be the functional changes we’ll start working on now. For the time being though, translation page should be as much as possible the same in terms of features, interface and usability as the current Translate page. We have done our best to reproduce the same layouts and behaviors so that the switch would be as transparent as possible to everyone.
However, there are a few things that we decided to change already. The most visible of them is the navigation menu, which now requires less clicks to navigate localizable resources thanks to the removal of the infamous Go button.
Here’s what it looks like now:
And here is what it looks like with Translate.Next:
The other changes should be fairly inoffensive. We have removed the Tab shortcut in the Editor, as well as support for in-context localization, as it seems both were hardly ever used. It’s also not possible to resize the columns yet, as we have plans to evolve the page layout very soon and the behavior of this feature will change.
If you notice something not mentioned here is different, then it’s very probably a bug, and we would like to hear from you. More on that later in this post!
When will I see the new page?
We intend to do a “rollout” release, meaning that we will turn the feature on for a small percentage of users, and then will increase that number over time until we reach 100%. The users who get to experience the new Translate.Next page will be chosen randomly by a tool we use.
However, we can, and will, add exceptions. Namely, everyone who participated in our last round of testing and has Translate.Next turned on will keep it on. And we can add more exceptions, so if you don’t want to wait for your turn, you can simply contact us (Adrian or Matjaž) with the email address you use to log in to Pontoon, and we’ll give you access.
Note that we will not allow users to opt out, unless there is a very good reason for that. We will take your feedback and categorize it into two buckets: regressions, and the rest. Regressions are big issues that prevent localizers from performing their tasks. They are blockers to advancing Mozilla’s mission and thus we want to take quick action to unblock people if that happens. A regression will very likely mean that we will turn Translate.Next off for everyone until we have fixed it.
Every other issue will be treated as a bug, and we will do our best to solve these in a timely manner, but we kindly ask that you bear with us in the meantime. We do not want to revert everyone back to the old Translate page for a problem that is not blocking you.
The release schedule, baring we don’t find any regressions, is as follow:
Wednesday, October 2: release to a random 10% of users.
Monday, October 7: release to a random 30% of users.
Wednesday, October 9: release to a random 50% of users.
Monday, October 14: release to all users.
Bugs and regressions found along the way will delay that schedule. We will keep you updated if any such thing happens.
How do I report issues?
If you notice that something works differently than before, or if you find that something is broken, we strongly encourage you to tell us as soon as possible. There are several ways you can do that.
The easiest is to simply add a comment here, below this blog post. Please write a description of your problem, and ideally steps to reproduce it.
If you enjoy using the Mozilla Community discourse forum, you can also describe your issue in the dedicated Translate.Next topic.
And finally, if you are comfortable using Bugzilla, you can go straight there and file a bug.
If you want to check our list of known issues, or follow the status of a reported bug, we keep an updated list on Pontoon’s Wiki page.
How do I know I’m using Translate.Next?
There are 2 ways to know: first, the menu will look a bit different (see above). Second, and probably simpler: there will be a message in the top right corner saying you are using Translate.Next. 🙂
Can I revert back to the old Translate page?
No, once you’re on Translate.Next, the only way to get back to the old Translate page is if we find a critical regression and revert everyone. We cannot revert individuals to the old page.
Can I opt-in to Translate.Next?
Yes, absolutely. Just contact us (Adrian or Matjaž) asking that you want in, and give us the email address that you use to login on Pontoon.
Thank you for helping with this release. We hope you will enjoy the new Translate page, and all the cool changes we will be able to make in the future thanks to that. And keep an eye out for the new page to show up on your Pontoon. 😉