The development and future of GlotPress

Post on 01-Jul-2015

802 views 0 download

description

A talk about the history, the current status en future of GlotPress. GlotPress is a collaborative, web-based software translation tool used by WordPress and related projects.

Transcript of The development and future of GlotPress

THE DEVELOPMENT AND FUTURE OF GLOTPRESSWORDCAMP HAMBURG 2014 - MARKO HEIJNEN

What we discuss todayWho I am

What is GlotPress

History behind it

Tools we use

The future / Roadmap

Marko HeijnenFounder of CodeKitchen

WordPress specialist for 1&1

Lead developer of GlotPress

Core contributor for WordPress

Helping out the minority

PART OF THE DUTCH, SERBIAN AND I GUESS NOW THE GERMAN

COMMUNITY

What is GlotPress

GlotPress is a collaborative, web-based software

translation tool.

USED ON WORDPRESS.ORGWITH IT’S OWN HEADER AND FOOTER

USED ON WORDPRESS.COMWITH THE DEFAULT THEME

ON MY OWN PROJECTWITH A COMPLETE DIFFERENT THEME

FeaturesDifferent roles: Translators, Validators and Admins.

Translate strings.

Validate strings.

Manage strings by reject/approve them.

Having a glossary with common words.

Import/Export different formats.

History behind itStarted in April 2008 by Nikolay Bachiyski.

Uses BackPress as a framework.

And it’s OOP developed.

March 2013 I started managing GlotPress.

March this year Yoav Farhi has commit access.

This year we have our first GSoC project.

Commits during the year2008: 32

2009: 341

2010: 223

2011: 58

2012: 79

2013: 91

2014: 106 and counting

OOPUses BackPress which has a lot of classes.

And we build on top of that our features like routers, formats and things.

Those three objects always need to extend a generic class.

This class has shared functionality or has abstract methods the derived class needs.

OOPBecause of the generic classes we can make our code better.

You can define in a thing which fields are required to create a new item.

A thing is a project, user, translations etc.

GP_Glossary file has only 42 lines of code and has all validations in place.

FunctionsWe still use them a lot like WordPress does for in themes.

A lot of them are copied over from WordPress

This is a great thing cause if you are using GlotPress yourself you can “easily” add a feature to GlotPress because the hook system is in place and so many other great features.

CLIGlotPress has a lot of scripts that you can or must use.

Like adding a new admin is a must due missing user management. Will have an add user script soon.

Or things like import/export originals or translations.

Tools we use

We do have a certain amount of Unit tests

Travis to run our unit tests

https://scrutinizer-ci.com/g/GlotPress/GlotPress/ for Code quality scans

https://coveralls.io/ for code coverage history and stats

THE FUTURE / ROADMAPHOW SHOULD IT LOOK LIKE? AND HOW SHOULD IT BEHAVE?

Future problems

Currently we only have a limited amount of projects on translate.wordpress.org

~10.000 plugins are translatable

The UI needs a different approach

Managing translations will become key

How to translate stringsIs the current approach still the best.

Do we need a different flow that could speed things up.

Does it show you the information needed?

How to display the history of the translations and comments.

Is comments a high priority since we got glossaries?

Personal dashboardWhat are the projects you have worked on?

And are the new translations for it?

Or do you even need to approve strings

It’s part of the GSoC this year :)

E-mail notificationsYou can’t keep up what cores does. Stand alone if there are more projects you contribute too.

Sending out automatically e-mail is a key for this.

Obviously you should not get to much

Also part of GSoC.

Better string managementBe able to keep original translations and have them still approved or the string need to be approved again.

Better history of translations.

Indication when locales don’t have validators.

Be able to delete suggestions.

Better search/filterCurrently there are a lot of options to filter.

We should rethink this and check what the common cases are.

Like only searching on original or translation.

I would also say that it needs to be more obvious.

Do we need a new theme?With all this ideas and more do we need to rethink the whole theme?

Adding new features to the existing UI can be tricky depending on the feature.

I tried to put everything in Bootstrap and see how it looked.

QUESTIONS?

THIS WAS A BIT MY BRAINSTORM ABOUT THE FUTURE,