The development and future of GlotPress

25
THE DEVELOPMENT AND FUTURE OF GLOTPRESS WORDCAMP HAMBURG 2014 - MARKO HEIJNEN

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

Page 1: The development and future of GlotPress

THE DEVELOPMENT AND FUTURE OF GLOTPRESSWORDCAMP HAMBURG 2014 - MARKO HEIJNEN

Page 2: The development and future of GlotPress

What we discuss todayWho I am

What is GlotPress

History behind it

Tools we use

The future / Roadmap

Page 3: The development and future of GlotPress

Marko HeijnenFounder of CodeKitchen

WordPress specialist for 1&1

Lead developer of GlotPress

Core contributor for WordPress

Helping out the minority

Page 4: The development and future of GlotPress

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

COMMUNITY

Page 5: The development and future of GlotPress

What is GlotPress

GlotPress is a collaborative, web-based software

translation tool.

Page 6: The development and future of GlotPress

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

Page 7: The development and future of GlotPress

USED ON WORDPRESS.COMWITH THE DEFAULT THEME

Page 8: The development and future of GlotPress

ON MY OWN PROJECTWITH A COMPLETE DIFFERENT THEME

Page 9: The development and future of GlotPress

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.

Page 10: The development and future of GlotPress

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.

Page 11: The development and future of GlotPress

Commits during the year2008: 32

2009: 341

2010: 223

2011: 58

2012: 79

2013: 91

2014: 106 and counting

Page 12: The development and future of GlotPress

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.

Page 13: The development and future of GlotPress

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.

Page 14: The development and future of GlotPress

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.

Page 15: The development and future of GlotPress

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.

Page 16: The development and future of GlotPress

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

Page 17: The development and future of GlotPress

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

Page 18: The development and future of GlotPress

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

Page 19: The development and future of GlotPress

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?

Page 20: The development and future of GlotPress

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 :)

Page 21: The development and future of GlotPress

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.

Page 22: The development and future of GlotPress

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.

Page 23: The development and future of GlotPress

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.

Page 24: The development and future of GlotPress

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.

Page 25: The development and future of GlotPress

QUESTIONS?

THIS WAS A BIT MY BRAINSTORM ABOUT THE FUTURE,