GlotPress as a Local Translation Plugin

Over the past months, we(1) have been working to improve some elements in the GlotPressGlotPress GlotPress is the translation management software that powers Translate.WordPress.org. More information is available at glotpress.org. pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party and in the translate.wordpress.org platform:

  • Feedback and discussions.
  • New “changes requested” status.
  • New tabs in the right sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme..

Now, we want to further improve the GlotPress functionality, enabling the users to use this plugin in their own installations to translate their whole system and to exchange these translations with the community. You can see the main workflow for the proposed functionality in the image below:

What do we propose?

We want to add functionality to the GlotPress plugin to:

  • Translate the WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., the plugins and the themes to the user’s language in the user’s installation.
  • DeployDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. these translations on the fly in the user’s installation, generating the .mo filesMO files MO, or Machine Object is a binary data file that contains object data referenced by a program. It is typically used to translate program code, and may be loaded or imported into the GNU gettext program. This is the format used in a WordPress install. These files are normally located inside .../wp-content/languages/ with one click (and/or automatically with each translating). Empower users to translate their WordPress UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing. without having to go through translate.wordpress.org.
  • Make it easier to contribute to translate.wordpress.org, sharing the new translations with the community, using an SSO login to access to translate.wordpress.org.
  • In the midterm, we want to add in-line translation, so you can translate the stringsString A string is a translatable part of the software. A translation consists of a multitude of localized strings. in the same user interface where they are shown, like we can with the WordPress.com Community Translator.
  • These new functionalities should be optional, so you should be able to disable them with a click in the backend, because you could be using GlotPress to translate elements not related with WordPress.

Benefits of a Local GlotPress

These are the main benefits we want to achieve with this new functionality:

Discoverability → Onboard new community members

For us as the WordPress community, it would be interesting to expose the surface of translation to wp-admin users since it will be discoverable on the sidebar:

We’re hoping to reach new audiences by not requiring people to come to translate.wordpress.org to do their first contribution.

Translating the plugins you are using → Better quality

On translate.wordpress.org there often is a disconnect between what you translate and what you use. On your local installLocal Install A local install of WordPress is a way to create a staging environment by installing a LAMP or LEMP stack on your local computer. you will only translate local plugins and themes, thus you know how they work and what is important to translate: seeing translations in context locally and adding inline translation will improve their quality.

Use your own translation right away, don’t have to wait for language packs →
Instant translations

Related to the previous point, since you can verify the translation on your own install right away, you can know that it works for you.

When translating on translate.wordpress.org, you can only easily use your translations as soon as you have reached the translation threshold (of I believe 90%) before the translations will be delivered to your own installation.

Safe Space / You don’t have to be part of the community

Some people don’t want to get exposed to a community or work in isolation. The plugin allows this and there could be the possibility to contribute your translations anonymously to translate.wordpress.orgtranslate.wordpress.org The platform for contributing to the translation of WordPress core, themes and plugins..

Also, people can explore translation in a safe local space, on translate.wordpress.org they need to create an account and anything they do is public.

Enables “Hyperlocal Translation” 

If you don’t need or want to share all of your translations, you can use local slang or very regional language that would not be accepted on translate.wordpress.org but would be able to be used for your instance of WordPress.

Private Plugin and Theme translation

On translate.wordpress.org you can only translate what’s in the plugin directory. This would open translation to private plugins. We need to explore if and how those translations could be leveraged, but it would be an exciting possibility.

Translate the high impact strings first

When there is a lot to be translated, it can be hard to know which translations are most important to translate. When translating locally (possibly using inline translation), you can immediately spot the most important strings because they are right in front of you.

Some Ideas around the Implementation

The screenshots below are mockups. The local content translation starts in the backend. When you install or update GlotPress, you will have a new menu on the sidebar. You can see all the plugins and themes that you have installed and with a click, you can start translating the core, a plugin or a theme.

When you click in one of these links, you will start or continue translating this element into your language. The original strings, from the .po file, will be imported and/or updated into the GlotPress tables in this step.

If you access to the GlotPress’ main page, you will see different projects:

  • Usual projects, as you currently use into GlotPress.
  • Local project, with an icon and without the edit button. You only can delete the project into GlotPress.

In a future iteration, we want to add inline translation, so you can translate the local elements into your native language without leaving the page, as we have in the WordPress.com Community Translator.

Eventually, in the dashboard, you will have a button to share your translations with the translate.wordpress.org community. This will require another screen that will show you what exactly you’d be sending, so this is still a little further away.

Feedback, please

We share our vision with the community to get feedback from the real users, so, please, give us your feedback in the comments, so we can develop the best tool that all the community need.

(1) Although several programmers are working on improving both GlotPress and translate.wordpress.org, I am referring to the 3 developers working full or part-time on improving the translation system, donated by Automattic to the 5ftf project: Alex Kirk, Tosin Oguntuyi and Jesús Amieiro.

#glotpress