PyPI localization + accessibility progress

Summary: This month, grant-funded contractors are focusing on accessibility and localisation/internationalization work. We aim to finish these milestones this month – PyPI will be accessible and standards-compliant, and users will be able to use the site in a language other than English.

Context:

As I talked about elsewhere, the Open Technology Fund gave PSF a grant to work on security, accessibility, and localization improvements to Warehouse.

Accessibility:

We’ve already made a lot of progress here – the milestone has 74 closed issues & PRs – in fixing Warehouse to comply with WCAG and other guidelines. A few days ago, @nlhkabu also ran an accessibility user test with a person who uses a screen reader, who had a very positive experience with no major issues, and we are fixing the few small issues that the test raised.

We anticipate finishing this milestone by the end of September.

Localisation:

The team began work on the Localisation milestone in August. @nlhkabu and @woodruffw have now converted the majority of our templates for string localisation and have a work-in-progress PR to add a localisation framework to Warehouse. We’ve also started progress on other related tasks, such as choosing a transation platform and setting up integration with it.

We anticipate starting to recruit translators in a few weeks, and aiming for a full translation (probably in French, to start) to be available and usable by the end of September. (A full translation means that all the strings that Warehouse produces for the user – buttons, menus, standard labels, etc. – are available in multiple languages. This doesn’t mean that the Project Descriptions/READMEs of individual projects will be available in multiple languages.)

You can help:

  • If you read/write a language that’s not English, and you’re willing to spend 30 minutes helping us translate, speak up in a comment here?
  • Check it out: now we have a sitemap! (PR #6564.) If this makes you think of pages we should have, but don’t, file an issue?

And thanks to Daniel Ip for frontend fixes in August!

As always, you can read our meeting agenda and notes on the wiki as we go.

1 Like

:raising_hand_man:t2: for Hindi.

For Czech; I can either contribute or find a volunteer :slight_smile:

Summary: We have finished our accessibility work and are nearly done with our localization/internationalisation work! PyPI is accessible and standards-compliant, and users will soon be able to use the site in Brazilian Portugese, Japanese, and (soon) other languages as well.

Accessibility:

Thank you to @nlhkabuour GitHub milestone has 83 closed issues & PRs – for fixing Warehouse to comply with WCAG and other guidelines. We are standards-compliant and plan to continue regularly checking with community members to learn more ways to improve.

Localisation:

We are nearly done with the technical work here! Volunteers can now use Weblate’s platform to translate parts of the PyPI interface, and soon we will deploy support for Brazilian Portugese, our first language with 100% coverage. Here’s a screenshot of what users will get to see soon, once we finish a small amount of deployment and policy work:

Japanese will be next as volunteers have also fully translated Warehouse’s UI into Japanese! Thanks to all our translators, especially Rafael Fontenelle who has done a ton of Brazilian Portugese translation!

(A full translation means that all the strings that Warehouse produces for the user – buttons, menus, standard labels, etc. – are available in multiple languages. This doesn’t mean that the Project Descriptions/READMEs of individual projects will be available in multiple languages.)

Translation status

Since our last update: we chose and integrated with a localization framework (pyramid.i18n and pybabel) in our codebase, chose and integrated with a translations platform (Weblate), replaced our English strings with translatable ones, added a language switcher UI in our page footer, and reached out to our community for translations. According to Weblate’s statistics, we have 738 source strings (most of which we had to convert from hardcoded). See the milestone on GitHub for more – thanks to @woodruffw and @nlhkabu for leading this work. We anticipate finishing that last bit of policy and deployment work, and thus this milestone, within a week or two.

You can help:

We’re looking forward to continuing to ship components of our project as we progress. Once the translation work goes live on PyPI we’ll be publicizing it in a lot of places (you’ll be seeing one or two emails to pypi-announce in the next several weeks, about the security, accessibility, AND internationalization work). And, as always, you can read our notes at our wiki page.

With this update we’re bringing our Open Technology Fund-supported work to a close, and progress on this feature shifts into volunteer mode. The contract project has taken a bit longer than we expected but we’re so happy to have made PyPI more secure, accessible, and usable for everyone. Thanks again to the OTF for making this work possible! And thanks to Will, Nicole, @EWDurbin, @dustin, @dstufft, @yeraydiazdiaz, and everyone else who contributed by coding, designing, testing, asking and answering questions, reporting bugs, translating, spreading the word, documenting, and just using the service.

4 Likes