The development and future of GlotPress
-
Upload
marko-heijnen -
Category
Technology
-
view
802 -
download
0
description
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,