1 of 28

Polyglots Team

Evangelos Athanasiadis

General Translation Editor, Larissa WordPress Meetup Organizer

Lena Stergatou

General Translation Editor, Patras WordPress Meetup Organizer

This presentation was prepared by the #el Greek team for a local event in June 2022 and can be used as a template presentation for other needs.Some factual adjustments have been made by @tobifjellner

2 of 28

Who we are

3 of 28

What we do

4 of 28

What we do as Polyglots Team

We do NOT DO Internationalization

Internationalization I18n is a process of making your plugin, theme translatable. This is the job of the developer to get it ready. It’s often abbreviated as i18n because there are 18 letters between the i and the n.

We do Localization

Localization L10n is the process of actually translating your software to another language. This can be done by users. In order to localize the plugin, theme it has to be internationalized first. Localization is abbreviated as l10n because there are 10 letters between the l and the n.

5 of 28

Internationalization Mumbo-jumbo for developers

More info in https://developer.wordpress.org/plugins/internationalization/

PHP code in WordPress uses gettext libraries to load the translations. Main editing work is usually done against a .po file (which is a text format). For use on a site, however, a compiled version, .mo is used. Sometimes you may also see .pot files, which are template files for a .po file.

Since WordPress 5.0, the core also includes similar commands for handling of translations in Javascript code. Translations for Javascript are distributed in a .json format.

The platform https://translate.wordpress.org/ extracts source strings for translation and generates the needed .po; .mo; and .json files for language packages.

WordPress already provides handy wrapping/polyfill functions for i18n.

6 of 28

Internationalization Mumbo-jumbo for developers

More info in https://developer.wordpress.org/plugins/internationalization/

In order to make strings translatable they should not be hardcoded. Wrap the original strings in one of the WordPress functions. The most commonly used functions are:

__() /* returns the translation of its argument */

_e() /* echos the string to the browser */

esc_html__() /* escapes and returns the translation of its argument */

esc_html_e() /* escapes and echos the translation of its argument */

Example:

<h1><?php __( 'Translatable text goes here', 'theme-domain' ); ?></h1>

<h3><?php esc_html__( 'Translatable text goes here', 'theme-domain' ); ?></h3>

Several other functions and methods are available for various cases (context flagging, plural handling of strings that include numeric variables, comments to translators, corresponding functions for translations in Javascript environment, etc. See the developer documentation for more information.

7 of 28

What we do

WordPress is translated into 200+ languages which are translated by volunteer community members.

The Polyglots Team is responsible for both translating and managing this process.

All the job is done in the https://translate.wordpress.org

8 of 28

Responsibilities

  • WordPress core
  • themes in WordPress.org
  • Plugins (i.e. WooCommerce, Akismet, BuddyPress, bbPress) in WordPress.org
  • Rosetta (localized websites and forums)

9 of 28

Why we do it

Polyglots Team make WordPress accessible for users who don’t speak English

4.8%

of the world population speaksEnglish as the first language

https://www.ethnologue.com/guides/most-spoken-languages

just

10 of 28

Polyglots Team Structure

11 of 28

Teams & Roles

The Polyglots team is organized into translation teams per locale focused on specific languages. Each team has three roles :

  • General Translation Editors,
  • Project Editors
  • Translation Contributors

12 of 28

Translation Contributors

Translation Contributors are volunteers that focus on translating WordPress into their language.

They contribute to improving their language either in a small way, like fixing a typo, or a large way, likes translating entire parts of WordPress core, plugins or themes.

13 of 28

Greek Contributors. Yeah, you!

Current Translation Contributors (334) a1pha, ACTUS anima, AcyMailing Newsletter Team, Adam from Trustindex, aevmorfop, agafanja, aggelakisg, aimiliaselinidou, akkis, Al, Alex Cicovic, Alex Kirk, Alex Seidanis, algeorgiadis, alichani, Alin Marcu, alkis76, amitrakos, Anax, Andreas Brain, andreasmonios, Andreas Panag, angelinagiakoumi, Another WP Classifieds Plugin, anzach, apostolos g.icegtx, apostolosgkekas, Apostolos P. Tsompanopoulos, arcanant, argigoni, arisgian, Ari Stathopoulos, aristot3lis, arosoft, artsgreece, astefanOS, athicon, athineos, athsal, avgoulea, bafakos, baptistikarouxa, basile67, batikiotis, BedBooking, bestwebsoft, billdia, bitsisc, blockart, Blossom Themes Support, bobbymenas, bpap5240dh, btriant, c3ris, Catch Themes, cdesp72, chriskara, chrisknks, Chrisletis, christheo97, christoschiotis, christosletsios, Christos Pappas, christosvl, Comm100, Complianz Translations (CLPTE), compufix, cpappa, CrestaProject, daddin, dali13gr, danis1986, dantekavala, Develop IT, deviator, deyil, dforlan9, diamantius, dichagr, diktyo2001, dimiskap, dimitrap, Dimitris, Dimitris, Dimitris - WPMU DEV Support, Dimitris Mitsis, dimitristho, Dmitry N. Giannopulos, DNHost.gr, dodopoulosc, Dominik Schilling, Dritsas Dimitrios - Adamantios, dschooleme, efstraatios, Eftichia Mavridaki, eirini7, ekonstadoudakis, eleanna83, elenif, Elli Mouchtari, elliv1989, eltarny, Emmanouil, endurancescience, esarakinos, Eteoklis, Evangelia Pappa, Evangelos Athanasiadis, Filippos Sdr., Fotis Pastrakis, Frankie Jarrett, freemason33, garakatsamol, gasmas75, gegeor, geomandas, geopal, George Alexakis, georgegrillakis, George Kapsalakis, George Pattihis, George Stavropoulos, George Tsotoulidis, giannisilio, gigsakos, giorgosm, gnikolaidis, gnikolou, gorfeas, gr8266, greekslash, harris.anas, Heracles Michailidis, honoluluman, hupe13, Iakovos Frountas, ikokkos14, iliasklou, immortalgeor, infosyn, ipit82, Jason Hendriks, jdran, Jepeteo23, jgeorg, jogigr, jospk, kanenas, katakalos, katerinamolyva, katrine29, kefallinosv, kiourki, kiriakos118, klipitkas, Konstantinos Kouratoras, Konstantinos Megas, Konstantinos Papadakis, Konstantinos Raktivan, Konstantinos Xenos, konstantinoz, kosmasm, Kostas Chasiotis, kostaskoum, Kostas Stathakos, Kostas Thermoyiannis, Kostas Vrouvas, kostsi, Kye, kyla81975, Kyle Gilman, Lefteris Toumanidis, lenasterg, leyterhs gekas, lianalekanidou, lion2486, LMP, louigi_gr, Loukia Kotsibou, Luka2013, MakeWebBetter, Makewebgr, manosdet, Marc Tönsing, Maria Dossiou, Maria Gerolymatou, marikamitsos, mariossa, MASAAKI, masteriyo, mavman, mbacalis, merianos, Michael_KS, mikedgr, millaspan, mitsos, mtsouk, nanatsouma2021, Nauriskolats, nautilus7, Neokazis Charalampos, Niall Kennedy, niath7, NickT, Nikhil G, nikos9matsankos, nikosag, nikoskakavoulis, nmakry, noiso, npainezis, nstoukas, Ntetsikas Sotiris, ololdmrp, openbookgr, orestis.mammis, orestissam, over-engineer, Panagiotis Androulidakis, Panagiotis Synetos, Panagiotis Tabakis, pandragon2311, Panos Sakalakis, pansotdev, papoutsis vasileios, pappasadrian, Paraskevas Leivadaros, Paris Koutroumanos, parmenion, Pawel - WPMU DEV Support, perists, Pexle Chris, pickme, pmarkatos, pmng, pnsfakos, primersoftware, prodexxpharmacy, pvicky071, raniagr, Rara Themes Support, Really Simple SSL, regunus, rstathopoulou, rwxnikos, sakis1914, Savvas, Sekander Badsha, Sid, simosedessa, sirapa, sitsero, snikos, Sofia, Softscale, solidsnakegr, Sotiris Alexakis, souvlaki42, spimer, spirossm, spyalekos, spyros, spyrosam, spytzo, sraft, stathismellios, steliosbenos, stom1, stratosjl, Streamline, styllasfurniture, takis96, Takis Bouyouris, tanker65, tapanda.gr, tatoinos, testsavvas, than1981, thanasis09gr, theanobnbbnb, The Good Omen, themeansar, ThemeGrill Translations, theo93, theodotos, Theo Gkitsos, theotheo, Thomas.Davliakos, Thomas Lartaud, tobifjellner (Tor-Bjorn Fjellner), tokmakidou, Tolis, tomwolf, Translations by GoDaddy, tropicalista, Trustindex, tsioug, tzinis7, Ugyen Dorji, Ultimate Member, VAG, Vagelis, vaggelis80, vaggosmindfx, Vangelis Chirmpilidis, vas019, vbaimas, visionca, vkouvelis, vlasmar, vpapakir, vvountourakis, wantedstarling, Webdados (Marco Almeida), WP-Translations, wpgc, WP Royal Translation, WP Swings, xdanaskos, Xenophon Venios, xinomilo, xornik, xtor, Yannis Develekos, yannispittakidis, yiannisdesp, Yiannis Iliopoulos, ymcrodos, Yossi Aharon, Zisis Folias, zooxor, zsugyongy, and Παναγιώτης Τσολακόπουλος.

And more than 800+ Past Translation Contributors

14 of 28

Project Translation Editors - PTE

Before your translations become part of the WordPress core, plugin or theme, they will need to be approved by a Project Translation Editor – 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/reject strings that are added by translation contributors. Want to become PTE?? Start as translation contributor and then ask: https://make.wordpress.org/polyglots/handbook/translating/after-your-contribution/#2-polyglots-global-team-blog-p2-2

15 of 28

Greek Project Translation Editors - PTE

Project Translation Editors (111)

aevmorfop, agafanja, akaxrimanis, Alex Seidanis, alextselegidis, alichani, alistat, Andreas Panag, Antreas Georgiou, Apostolos P. Tsompanopoulos, Ari Stathopoulos, astefanOS, bigdrop.gr, Bookwize, calci, carrotbits, chriskara, christinatsaousi, demetris (Demetris Kikizas), dichagr, Dimitris, Dimitris Arkolakis, Dimitris Mavroudis, Dmitry N. Giannopulos, Eftichia Mavridaki, elpak, European School Radio, exentric, exilzes, Filippos Sdr., Fotis Pastrakis, g.georgopoulos, gasmas75, geepalik, gegeor, George Kapsalakis, George Papadopoulos, George Pattihis, George Stavropoulos, George Tsotoulidis, georgia1981, Giorgos Sarigiannidis, Haris Kaklamanos, ikokkos14, Ilias P, Ioannis Kastorinis, jdran, kanenas, katsaros, kiourki, Konstantinos, Konstantinos Galanakis, Konstantinos Kouratoras, Konstantinos Megas, Konstantinos Tsiropoulos, Konstantinos Voloudakis, kostas2020, kostaspsilop, leviathan8, LuciaRed, Lumiverse Dynamic, Manux_oS, Maria Dossiou, mckladie, Michael_KS, multipetros, Nick Papazetis, nickboss, Nikos Kavvadas, nikoskakavoulis, NikosTsolakos, npainezis, over-engineer, Panagiotis, Panagiotis Tabakis, Panos Sakalakis, pansotdev, Pantelis Orfanos, Papaki (Enartia S.A.), pappasadrian, Paris Koutroumanos, Pawel - WPMU DEV Support, Pexle Chris, pickme, primersoftware, rwxnikos, Savvas, skapator, SP - Booking.com, spirossm, Stefanos Togoulidis, Stergos Zamagias, Takis Bouyouris, than1981, The CSSIgniter Team, Theo Gkitsos, theodotos, titanas, Vagelis, vaggelis80, Vassilis Mastorostergios, vbaimas, vpapakir, webnestors, xinomilo, Yiannis Christodoulou, Yiannis Iliopoulos, yiannisdesp4, yptyup, ziogaschr, Zisis Folias,

16 of 28

General Translation Editors - GTE

A General Translation Editor  GTE , has global access to validate strings on all projects for a specific locale. He/she can add new users with the “Project Translation Editor” role that can approve translations for specific projects.

GTE for Greek locale:

Evangelos Athanasiadis, Iakovos Frountas, Konstantinos Xenos, Kostas Vrouvas, lenasterg

17 of 28

Want to join the Translationteam as a Contributor?

18 of 28

But Wait!!!

Before you join as Translation Contributor:

19 of 28

Join as Translation Contributor - Our tool

We use https://translate.wordpress.org (based on GlotPress)

  • Login or register
  • Search for ‘Greek’
  • Find the “Greek” locale andclick on“Contribute Translation”

20 of 28

Join as Translation contributor

In the https://translate.wordpress.org/locale/el/default/ choose what you want to translate. This is GlotPress, an open-source engine that powers the translation of WordPress.

21 of 28

What to translate

And select untranslated or fuzzy

22 of 28

How to join

And start translating strings!

23 of 28

Keep in mind…A successful translation...

  • Plays a major role in accessibility and UX
  • Is correct based on the context
  • Is accurate and easy to understand
  • Has consistency in vocabulary, terminology, style & tone of voice
  • Is clear and gives confidence to users

24 of 28

A failed translation can be like …

  • Αγγλικός όρος
  • Δεν εννοούμε στο WordPress
  • Top
  • Μπλούζα
  • Excerpt
  • Εξαίρεση
  • Thumbnail
  • Ονυξ του αντίχειρος
  • Twitter
  • Κελαϊδισμα
  • Slack
  • Χαλαρότητα
  • BookPress
  • ΒιβλιοΠρέσσα

slug

  • γυμνοσάλιαγκας
  • Book Now
  • βιβλίο τώρα

Letter spacing

  • Επιστολή διάστημα

Trial

  • Δίκη
  • Zip and place
  • Φερμουάρ και τόπος
  • Image extension
  • εικόνας το επέκταμα

25 of 28

After translating WHAT??

WAIT.. After you, a PTE or GTE will review the suggested translations. He/she is also a volunteer, so it may take some time.

What to contact him/her? Join our Slack and go to #translation channel More about it in https://wpgreece.org/wordpress-greece-slack/

After the review, your translation would be either accepted or rejected.

26 of 28

For WordPress Core Only - Time to push

For each WordPress core version a GTE has to ‘push’ to release the translation with SVN

(Only for Core)

27 of 28

Tips of the day

  • Don’t use Google Translate, only for as additional help
  • Follow the Translator’s Handbook and the locale's translation guidelines and glossary
  • Quality is more important than quantity
  • Translate only what you know
  • Take consistency seriously
  • Connect with the Polyglots team and your local team:https://el.wordpress.org/, https://wpgreece.org/wordpress-greece-slack

28 of 28

Thank you!

Evangelos Athanasiadis@dyrer

Lena Stergatou

@lenasterg

Συνοψίζοντας: