Welcome to the official blog of the translator team for the WordPress open sourceOpen SourceOpen Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. project. This is where we discuss all things related to translating WordPress. Follow our progress for general updates, status reports, and debates.
We’d love for you to help out!
Translate WordPress
You can help translate WordPress to your language by logging in to the translation platform with your WordPress.orgWordPress.orgThe community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ account and suggesting translations (more details).
We have meetings every week on SlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. in polyglots (the schedule is on the sidebarSidebarA 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. of this page). You are also welcome to ask questions on the same channel at any time!
Posting here
In order to post to this site, you will need to log in with your wordpress.org account. Your first post may take a while to show up, as it is moderated. Please follow our tag policy when posting.
In this post, I propose a new functionality to automatically create suggestions for untranslated stringsStringA string is a translatable part of the software. A translation consists of a multitude of localized strings..
This new functionality, only available to GTEGeneral Translation EditorA General Translation Editor (often referred to as GTE) is a person, who has global access to validate strings on all projects for a specific locale., PTEProject Translation EditorA Project Translation Editor (often referred to as PTE) is a person, who has access to validate strings on a specific project (for example BuddyPress, WooCommerce or Twenty Fourteen) for one specific locale. A project translation editor can approve strings that are added by translation contributors. Per project translation, editors are appointed by a general translation editor after a request by the project author or by the contributors themselves. and CLPTECross-locale Project Translation EditorA Cross-Locale Project Translation Editor is an account owned by a plugin or theme author (or the authoring organization), which uses professional translators to localize their product. The cross-locale project translation editor can import/validate strings on a specific project for more than one locale. This role has the same capabilities as a Project Translation Editor over multiple locales instead of one. Cross-Locale Project Translation Editors need to meet a set of criteria before being appointed by General Translation Editors., will suggest translations automatically, using translations from different sources.
These are the different options:
Tool to get the suggestions. The tool will try to get the translations from these tools:
The internal translation memory (TM).
OpenAIAPIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. (only available if the user has entered her OpenAI API key in the tool).
DeepL API (only available if the user has entered her DeepL API key in the tool).
All the available options, in cascade:
if the TM has a translation with an accuracy of 100%, it will use it.
Then it will try to use OpenAI.
And then DeepL.
Number of suggestions to generate. We need to limit the number of suggestions in each execution, to avoid timeouts.
A checkbox where the user agrees to manually review the automatically generated translations. This checkbox will be mandatory.
These are the different options to get the information:
Once the execution will finish, the localeLocaleLocale = language version, often a combination of a language code and a region code, for instance es_MX denotes Spanish as it’s used in Mexico. A list of all locales supported by WordPress in https://make.wordpress.org/polyglots/teams/ will have a number of translations (in waiting status) to review for this project. This review may be done by the author or by a different validatorValidatorSee translation editor. (GTE/PTE/CLPTE).
The checkboxes to select these autosuggestions will be disabled, so I propose to avoid bulk actions, so a GTE won’t be able to request an autosuggestion of 100 strings and then make a bulk approval. I think this is very important to avoid decreasing the translation quality.
Improvements with this new tool
This new tool will allow those languages with few translators, as well as those with many but no work pending validation, to advance much faster in the next translations, without losing quality in the translations, as they commit to validate them manually.
Also, being limited to GTE/PTE/CLPTE only, I think we will not have spam problems or a large amount of translations in the validation queue due to this new system. The validators will be responsible, not using the tool more than the other validators (or herself) can review manually.
Feedback
These mockups (colors, designs, …) are only to try to explain the new functionality. Please, contribute any ideas you may have.
If you order the translation stats by the order of waiting stringsStringA string is a translatable part of the software. A translation consists of a multitude of localized strings. in the plugins, you can see important languages like pt_BR (200 million speakers), de_DE (75 million speakers), fr_FR (63.5 million speakers),… with hundred of thousand of waiting strings.
It is unlikely that such large queues will ever be reviewed; it is also very discouraging:
For translators to continue translating, since these chains will most likely never be reviewed.
For the validators (GTEGeneral Translation EditorA General Translation Editor (often referred to as GTE) is a person, who has global access to validate strings on all projects for a specific locale., PTEProject Translation EditorA Project Translation Editor (often referred to as PTE) is a person, who has access to validate strings on a specific project (for example BuddyPress, WooCommerce or Twenty Fourteen) for one specific locale. A project translation editor can approve strings that are added by translation contributors. Per project translation, editors are appointed by a general translation editor after a request by the project author or by the contributors themselves., CLPTECross-locale Project Translation EditorA Cross-Locale Project Translation Editor is an account owned by a plugin or theme author (or the authoring organization), which uses professional translators to localize their product. The cross-locale project translation editor can import/validate strings on a specific project for more than one locale. This role has the same capabilities as a Project Translation Editor over multiple locales instead of one. Cross-Locale Project Translation Editors need to meet a set of criteria before being appointed by General Translation Editors.) to continue reviewing the pending strings, given their large number.
To try to improve this situation, I propose two actions, that I will explain below:
Automatically validate the strings we have in the TM with a high number of occurrences.
In the validation queue, don’t show a discouragingly big queue with hundreds of projects and hundreds of thousands of strings, but a reduced number of important projects instead.
I suggest to opt-out by default to these two actions, so the GTE for each localeLocaleLocale = language version, often a combination of a language code and a region code, for instance es_MX denotes Spanish as it’s used in Mexico. A list of all locales supported by WordPress in https://make.wordpress.org/polyglots/teams/ should opt-in for this new functionality.
Automatic validation
I propose to create a new tool to automatically validate the waiting strings that appear a lot of times (maybe 10 or more times) in the TM with the same original stringStringA string is a translatable part of the software. A translation consists of a multitude of localized strings. and with the same translation. Here, I propose to work always with a 100% of accuracy: if the original string from the TM is not full equal to the original string under review, the tool will not use it.
In the next example, we have 3 suggestions from the TM with 100% accuracy. In this example, we’d use the translation “off” since it has more than 10 usages (this is not displayed in the screenshot, but the number is available).
If none of the 100% translations is used more than 10 times, then it won’t be automatically validated.
Reduce the validation queue
The validation queue, only available for the validators, has a list with the projects having some waiting strings. It can be huge for some localesLocaleLocale = language version, often a combination of a language code and a region code, for instance es_MX denotes Spanish as it’s used in Mexico. A list of all locales supported by WordPress in https://make.wordpress.org/polyglots/teams/ (Emoji locale in the next screenshot).
I propose to reduce this queue to a few projects (maybe 12 is a good number), so the validators won’t feel overwhelmed when they review the projects. I suggest sorting the projects by importance: the WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress., MetaMetaMeta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress., … Once the project is fully reviewed, another one will appear in this queue.
This new queue will not prevent a validatorValidatorSee translation editor. from directly accessing a project and validating it if they want to do so.
Currently, when you are translating or validating stringsStringA string is a translatable part of the software. A translation consists of a multitude of localized strings. at translate.wordpress.orgtranslate.wordpress.orgThe platform for contributing to the translation of WordPress core, themes and plugins., you have some buttons in the metaMetaMeta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. tab.
If you select another tab in this right sidebarSidebarA 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., you hide these buttons, so if you want to make an action with the meta buttons, you need to change the selected tab another time.
In this post, I am proposing to copy these buttons in another place, so they will always be visible. The current buttons will remain in the same place. This approach is inspired by Magento, an e-commerce CMS, who has some interesting bars with the elements always visible, and by the GlotDictpluginPluginA 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.
I have made some mockups with different approaches, so we can discuss them.
The first one is to add the meta buttons (2 in this situation) in the sticky bar you can see in each row.
The second one is the same but with more visible colors.
The third one is to add a new sticky bar at the top of the page, just after the main bar. This new option takes up extra space that in the other options is available for translations.
Questions:
What do you think about adding these new elements?
We are working to bring some new tabs in the GlotPress right sidebar, so we think it is interesting to convert translate.wordpress.orgtranslate.wordpress.orgThe platform for contributing to the translation of WordPress core, themes and plugins. to full width. Below, you can see some screenshot from the new draft design.
We have added the full-width=true get parameter to be able to test this experiment. Please, take a look at this alpha changes, give us feedback and propose updates, if you think they are needed. To help you with the different URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org, we give a URL list with the current status and the full width:
PluginPluginA 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 list
Translating a stringStringA string is a translatable part of the software. A translation consists of a multitude of localized strings.. The full width design has to be adjusted later in the right sidebarSidebarA 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.
These screenshots were taken in a screen with a 1920×1080 resolution. You can see the PR here and the trac ticket here. We need your opinion. Please, add your feedback in the trac ticket, so we can have all the feedback in one place.