Recent Updates Toggle Comment Threads | Keyboard Shortcuts

  • Marko Heijnen 7:38 pm on February 13, 2015 Permalink | Reply
    Tags: theme   

    Rebuilding our theme 

    In the last year there were several discussions about the design of GlotPress. I tried to use bootstrap to make it nicer but what we really need is a complete rewrite of the theme. For this purpose I created a repo on GitHub where we can build a fresh new theme that fits our needs. Also Aris Blevins already created some mockups how the translation flow could work. This is also linked on the GitHub channel.

    If you want to help out just leave a comment and check out You can create tickets with ideas and things you would like to change.

  • Marko Heijnen 12:06 am on February 5, 2015 Permalink | Reply

    Status update 

    So it has been quiet for the last two months. Only some small changes have been made to the code. But before going into this years plans I first want to thank all the contributors from last year: yoavf, Secretmapper, vanillalounge, nacin, nbachiyski, DJPaul, koke, dimadin, juanramondiaz, wonderboymusic, stuwest, extendwings, Nao, ocean90, knome, joostdevalk, waclawjacek, cfoellmann, ramiy, hew. And that is without mentioning the people who submitted still waiting patches and tickets. It was a good year where great improvements where made.

    So for this year already quite some tickets and patches have been created and I will try to review this month. There will be three focus topics for this year which are increasing contributions, build a new default theme and rebuild part of core (to increase performance).

    To increase the amount of contributors we will try to be more proactive when tickets, patches and issues are raised so people feel more connected to the project. Also from March there will be a weekly meeting where we can sync planning and work on new ideas. currently I’m thinking to do this meeting on Thursdays at 15:00 UTC. If you have suggestions then please let my know. I will create blog posts for the other two topics.

    As last, from this point on I will be actively leading the project. Due to the fact that we have active contributors now, it also means that my role need to be active instead of committing things that I like to work on. Also GlotPress has become more important for open source projects and there is a lot of things that could increase the usability of GlotPress.

    • Japh 12:17 am on February 5, 2015 Permalink | Reply

      Thanks for the update, Marko! :)

      I’d really like to contribute more this year. 15:00 UTC will be 02:00 AEST, so if that’s the time meetings happen, us Aussies will need to just catch up on scrollback.

  • Marko Heijnen 7:04 pm on November 30, 2014 Permalink | Reply

    Process November 2014 

    As promised in last update we will now have monthly update post. The biggest change is that since this weekend we moved to PHP 5.3. While we adding new features, we also clean up the code and this time we starting to deprecate our lambda function and now moving to anonymous functions which got added in PHP 5.3.

    Unfortunately we didn’t manage to do the things on our roadmap due to fixing some important bugs. But I’m sure that some of those bugs will make you guys happy. I finally had the time to dig into the caching issue of the translation set counts and fixed it.  We also currently hidden public profiles but that will be back in a few days.

    Changes made

    • Invalidate the translation set cache when approving/rejecting a string.
    • Increased performance of profile pages.
    • Disregard context if it’s any falsy value.
    • Fix going to the previous translation with the keyboard.
    • Move to the next translation when approving/rejecting a string.
    • Reduce the size of index ‘singular_plural_context’ for originals.
    • Added a link on users profile page to his translations of that translation set.
    • Fix guess_uri() for subdirectory installations.
    • Fixed not exporting translation comments for PO files.
    • Don’t fatal when hitting a projects page where the parent project has been deleted (work in progress).
    • Remove RRC format.
    • Stop using lambda function and start switching to anonymous or normal functions.
    • Add support for Oriya and Lingala.
    • Update Kinyarwanda.

    Thanks to: yoavf, joostdevalk, nbachiyski and waclawjacek

    Changesets 970 – 999

  • Marko Heijnen 9:55 pm on November 23, 2014 Permalink | Reply  

    Moving to PHP 5.3+ 

    In the last year things got changed and improved. Lately things are speeding up and part of that we decided to move to PHP 5.3+ because we want to move away from create_function() and start using anonymous functions. For the current patch you can check out

    The current patch will be committed this week and from there we will start looking at other functions that are still calling create_function().

  • Marko Heijnen 9:43 am on November 5, 2014 Permalink | Reply  

    Survey for Translators & Validators 

    Hey all,

    So lately we are moving forward in making GlotPress better and we would love to hear your feedback. teamadesign made 2 surveys to see how you guys translate/validate strings and how the design of GlotPress should reflect that.

    For translators:
    For validators:

    It would be great if you can fill it out so GlotPress becomes the translation tool you like.

    • slaFFik 10:07 am on November 5, 2014 Permalink | Reply

      Answered. But why results are private?

    • Petya 11:52 am on November 5, 2014 Permalink | Reply

      Marko, post this on the Polyglots P2, it will raise the response rate :)

      • Petya 11:53 am on November 5, 2014 Permalink | Reply

        Also, agree about the results – they should be public.

      • Marko Heijnen 2:29 pm on November 5, 2014 Permalink | Reply

        I left a comment on Slack about that ;) but now I did posted it.

  • Marko Heijnen 3:18 pm on November 2, 2014 Permalink | Reply

    In the last couple of months some great features got added like profiles and locale pages. Also we created a roadmap and try to keep up with that one. So from last month only profiles got added and we still need to do a bit more work for fixing the SQL issues and cleaning up locales.php. Also since we now have a roadmap, I will post by the end of every month an update about what got done.

    Changes made

    • Added locale pages (in progress).
    • Added public profiles (in progress).
    • Fixes to Glossary.
    • Fixes for branching.
    • Complete overhaul of the installation process. You can now fill in your username, password and email address.
    • Return percent_translated and wp_locale when using the API to retrieve the translation sets of a project.
    • Add last_modified to the API and cache it.
    • Show by default references again and add a filter to hide them if needed.
    • Exclude old strings from the untranslated translations query.
    • Add filter to the import method to allow selective import over existing translations.
    • Add action in the translation set filters form.
    • Add filter to import translation status.
    • Small design changes
    • Cleanup locales.php a bit
    • Proper native name for Sakha.
    • Update native names for zh_CN and zh_TW.

    Thanks to yoavf, nacin, nbachiyski, secretmapper, knome, extendwings, vanillalounge, stuwest and ocean90

    Changesets 931 – 969

  • Marko Heijnen 6:18 pm on October 8, 2014 Permalink | Reply  

    Managing the things you do 

    It has always been a pain to manage the projects and locales you care about. When locale pages got added it has been made easier but on the moment a GlotPress installation has a lot of active projects it will become unmanageable again.


    So part of the GSoC project Adrian worked on was adding profile pages. This will show which projects / translation sets you recently worked on and highlights the locales the person translated in. It also shows the projects the user can validate. To me as a public profile this works good but it isn’t yet something you can use to follow the projects you want. As a reminder below you see the screenshot of his current patch, do note that badges is out of scope. See for future patches

    ss (2014-06-25 at 09.15.32)


    So instead of adding more things to the profile edit page of a user, I want to pick up the Dashboard idea described here: Same approach as the profiles but then a dedicated page for it. But instead of guessing what the user wants, let the user decide by “staring” a translation set. It will still show the projects the user explicitly can validate. Also for in the future it will show the projects the user owns like the plugins and themes on


    I will continue working on this and hoping to have a patch ready in 24 hours. I do wonder what you guys want to see on your own profile/dashboard and what you want to see on someone else his profile.

  • secretmapper 1:56 pm on August 17, 2014 Permalink | Reply

    GSOC 2014 – 08/17 Update – Wrapup 

    Hello everyone! I’m Arian, a Computer Science student, one of the students accepted in the Google Summer of Code Program. This is my 9th (and last) GSOC update, and you can view my other GSOC posts here.

    This week I’ve integrated ‘feedback messages’ into profiles, providing users a quick easy-to-access stream of details to their recent translations.

    As you’re probably aware, last week, I’ve added the ‘feedback’ feature, allowing validators to give feedback to translations (such as pointing out a minor mistake). The feedback feature is nice, but is pretty useless if users aren’t informed of it.

    Now, feedback and warnings appear on the user’s dashboard!

    Along with recent projects is a list of recent feedback and warning messages, coupled with proper context and direct links to action for this problematic translations.

    This new addition really brings the dashboard as an ‘action center’ to full circle!

    Related Tickets:

    So that’s a wrap for GSOC! It has all been a very fun and fulfilling experience to develop for Glotpress, knowing that the work is going be used by such an enthusiastic community, whilst also shaping me up with necessary experience to prepare myself as a developer in the real world.

    Over the last few weeks, we’ve seen various additions to Glotpress, such as the User Dashboard, Email Notification Script, Public Profiles, User API and Wordpress Widget, a Reworked Installation Form, Feedback Messages, and other small changes.

    As GSOC went on some setbacks were also faced, most notable of which is the two simultaneous typhoons that had left us with no electricity for a week. Resilience and hard work paid off, and I’m proud to have been able to complete the scope of the GSOC project, and then some.

    Of course, all of this would not have been possible without my two mentors, Yoav Farhi and Marko Heijnen, who have helped me all through out the stages of development, from conception, to planning, development and debugging. These guys are the real brains that made it all possible.

    So as GSOC closes, I just want to say, Thank you to all of you, for giving me such an experience and allowing me to contribute in the small way that I have. It has been a really amazing thing to have been able to help create something that is going to be used by the community we have here.


    However, GSOC’s Hard Pencil’s down does not mean an actual ‘pencil’s down’! The beauty of Open Source is that those who are willing to contribute can, and I am actually planning to continue what I have been doing here – help make Glotpress more awesome!

    So whilst GSOC’s end will mean I will no longer carry a GSOC participant moniker, I would be an OSS contributor!

    So for everyone out there, just feel free to drop a comment for a feature request you think Glotpress would benefit from, and always remember that our developers always review your suggestions posted in the trac! Also keep posted, as I may still have a trick or two under my sleave :)

    Thanks and Ciao~!

    • netweb 10:33 pm on August 17, 2014 Permalink | Reply


      Congrats and I look forward to seeing the improvements you’ve made filtering through to

      Thanks for choosing to participate in GSoC and thanks also to your mentors Yoav and Marko.


      Stephen Edgar

    • Robert 5:39 am on August 18, 2014 Permalink | Reply

      Thanks a lot for all your contributions Arian! You really made great improvements which will benefit lots of projects!

    • Petya 7:00 am on August 18, 2014 Permalink | Reply

      Cheers, Arian!

      Thanks for your hard work and enthusiasm, I really hope you continue your contributions to the GlotPress project.

      Can’t wait to use all the new features.

    • Caspar Hübinger 7:10 am on August 18, 2014 Permalink | Reply

      Thanks, Arian! It’s been exciting following your updates. Wishing you all the best for the future!

    • Torsten 8:30 am on August 18, 2014 Permalink | Reply

      I can’t wait to see these huge improvements live. Thank you very much! And thank you Yoav and Marko, too!

    • Marko Heijnen 7:03 pm on August 18, 2014 Permalink | Reply

      Thank you Arian for the time you spent on making GlotPress better.

    • Patrice 5:10 pm on August 27, 2014 Permalink | Reply

      Hello, I am using your tool on another site, and i would love to use it for my project, where is the download link on your site ? Why do you make me suffer :D !!!! Fantastic Work !!!!

  • secretmapper 9:06 am on August 6, 2014 Permalink | Reply

    GSOC 2014 – 08/06 Update 

    Hello everyone! I’m Arian, a Computer Science student, one of the students accepted in the Google Summer of Code Program. This is my 8th update, and you can view my other posts here.

    This week I’ve managed to streamline a bunch of code written in the past, culminating in small changes that serve to make development easier, such as proper error messages on Install Unit Tests.

    The major addition for this week however, is the “Decline with Feedback” feature.

    Related Tickets:

    Sometimes people make mistakes. Take this very basic example of John Smith, who typed one s too many:

    In John Smith’s hurry, he mistyped the correct translation, Glotpress, into Glotpresss!

    Validators seeing these kind of mistake face a dilemma. While they could just reject the translation outright and add the correct translation themselves, this is not ideal sometimes, as that will involve fixing the translation and robbing the original translator’s credit that he/she deserves.

    This is made more prominent by the profiles feature, which tracks user translation statistics among other things.

    Decline with Feedback alleviates this problem, by allowing validators to still reject a translation, whilst providing proper context/instruction on how to fix it.

    After rejecting and adding proper feedback, here is the view on Anon’s side:

    While this example is fairly trivial, there are usecases where this feature can be especially helpful, such as explaining a non-evident grammatical error, or pinpointing words that are out of context.

    The patch as it stands now shows the warning on the translation table. It will be even more useful once its integrated to profiles, allowing users to see a stream of feedback to their recent translations, as well as possibly receiving email notifications for it (opt-in option).

    That’s it for this week. Thanks and ciao~!

  • secretmapper 11:15 am on July 28, 2014 Permalink | Reply
    Tags: ,   

    GSOC 2014 – 07/28 Update 

    Hello everyone! I’m Arian, a Computer Science student, one of the students accepted in the Google Summer of Code Program. This is my 7th update, and you can view my other posts here.

    This week I’ve made changes to previous features implemented, specifically, the Public Profiles and the Installation Script.

    Related Tickets:

    Most of the changes has been internal, setting up proper functions/API, and reconstructing the code flow to fallback to sensible defaults.

    This week I also managed to add a small change: you can now view the validators of a translation set, with their names linking to their profiles!

    The next weeks will be interesting, where general polish, closing down standing tickets in the trac, and more comprehensive unit tests to features added will be the main focus for development.


    • Those who have been tracking my updates may notice that I skipped a weekly update – this July the strongest typhoon to hit our country so far in the year yet, Typhoon Ramassun, has caused a wide area blackout. Our country was then consecutively hit again by Typhoon Matmo, rain and wind made stronger by the Southwest Monsoon. Because of the power interruption and general bad weather, I had been unable to properly update last July 21, and for this week too, but I will surely try to make up for it in the coming weeks! Thanks :)
    • Caspar Hübinger 2:30 pm on July 28, 2014 Permalink | Reply

      you can now view the validators of a translation set, with their names linking to their profiles!

      Yay, thanks so much!! :)

      • Naoko Takano 9:38 am on July 29, 2014 Permalink | Reply

        @secretmapper maybe I’m simply missing something, but where is the validator view located on

        P.S. I hope you stay safe during the typhoon season!

        • secretmapper 9:41 am on July 29, 2014 Permalink

          Sorry, but like most of the changes it may take some time until it is incorporated/committed into the Glotpress base :( Hopefully soon :)

          P.S. Thanks!

        • Naoko Takano 9:44 am on July 29, 2014 Permalink

          No problem, I’ll be patient :) Thanks for all your hard work!

        • Marko Heijnen 1:25 pm on July 30, 2014 Permalink

          They will be included soon. Most stuff I would love to get committed August and from there we can continue making improvements. Some stuff I test on

Compose new post
Next post/Next comment
Previous post/Previous comment
Show/Hide comments
Go to top
Go to login
Show/Hide help
shift + esc

Get every new post delivered to your Inbox.

Join 459 other followers