Michal Čihař - Archive for Jan. 1, 2016

Gammu 1.37.2

Yesterday, Gammu 1.37.1 and Gammu 1.37.2 have been released. As usual it collects bug fixes and minor improvements.

Full list of changes in 1.37.1:

  • Properly report errors in HEX encoded strings from SMSD SQL backends.
  • Configurable SMSD table names.
  • Improved support for Huawei E303.
  • Improved support for Vodafone K4511.
  • Improved support for Telit M2M modules.

Full list of changes in 1.37.2:

  • Fixed compilation of SMSD.

Would you like to see more features in Gammu? You an support further Gammu development at Bountysource salt or by direct donation.

Weekly phpMyAdmin contributions 2016-W14

Last week was focused on our SQL parser as several issues have been found there. If was for me also first release of SQL parser to packagist repository.

Besides code changes, there was quite some time spent on reviewing incoming issues. Most of they have been already fixed and users will get fixes in the 4.6.1 release.

Handled issues:

API for Weblate

The long requested feature for Weblate is here - it now has API which you can use to control it. It's scope is currently limited, but it will expand in future releases. The API is currently available in Git, deployed on both Demo server and Hosted Weblate, our hosted solution. It will be also part of 2.6 release, which should be released by end of April.

Anyway the API now provides basic operations up to translation level - you can not edit individual translations, handle suggestions or other advanced features. However what you can do includes:

  • Manipulating with the underlaying VCS repository (commit, push, pull, reset)
  • Download or upload translation files
  • Get information about translations, components, projects and languages
  • Lock or unlock components for translation

As you can see this really covers the basic operations which were most frequently requested, more will come in future. You can see more detailed the Weblate API documentation.

Ukolovnik 1.5

There were quite some translation and code fixes in the repository, so I guess it's time to release it as well. So here comes Ukolovnik 1.5, released almost four years since last release.

Full list of changes:

  • Translations update.
  • Changed licence to GPL 3 or later.
  • Various code cleanup.
  • Development moved to GitHub.

PS: I don't plan any further development of this tool, this is just to bring all (few) users to current code in git.

Weekly phpMyAdmin contributions 2016-W12

Last week we've finally released phpMyAdmin 4.6.0. That also means that 4.5.5 is out of maintenance now (however 4.4.15 and 4.0.10 are still supported if you're stuck with older PHP or MySQL versions for some reason).

The biggest focus was spent on handling incoming issues and checking if they are still present in 4.6.0 what in most cases proven not to be true.

Handled issues:

stardicter 0.9

For quite some time I maintain set of scripts to convert some freely available dictionaries to StarDict format. I think it's time to make it easily available to others as well, so it has seen first release on PyPI after the code is almost 10 years old.

The project originally started for English - Czech dictionary, but over the time support for more sources have been introduced and you can generate StarDict dictionaries from many other sources. So we now have German - Czech dictionary as well. There is also support for dicts.info which provides many bilingual dictionaries, unfortunately it's license doesn't allow to distribute them.

Weekly phpMyAdmin contributions 2016-W11

Last week was a bit less working for me as I had few days off. The 4.6.0 is about to be released in the time as this blog post will be published, so the focus was obviously on fixing bugs.

Most of annoying issues I've fixed were caused by our SQL Parser which we need to generate some export statements and which didn't properly understand some more complex syntax. Most of the export issues are now fixed, but there are still situations where it doesn't parse the query right, usually this is true for nested SELECT statements or some more complex constructs (CASE). Anyway it's being improved and works better with every release.

Handled issues:

Weekly phpMyAdmin contributions 2016-W10

Last week was quite equally split between refactoring and bug fixing. As we're getting closer to 4.6.0 release more people give feedback on it and some corner case issues are being discovered.

However the biggest challenge was strange bug that was reported long time ago - it affected only Italian translation on Windows server. After lot of debugging, I've realized that trying to encode Cardinalità</td> to json (using json_encode) causes this problem. Obviously there have to be more conditions met as this string only doesn't cause it, however removing it or placing x between à and < fixes the problem. In the end I've workarounded it in our code and hopefully I will get to create proper bugreport for php so that it can be fixed upstream as well.

The refactoring was mostly focused on encoding conversion part which is now all embedded in the Encoding class. It was quite simplified and should also speed up pages a bit as it does the initialization only when needed not on every phpMyAdmin's page.

Handled issues:

Weblate 2.5

After almost six months of development Weblate 2.5 has been released. It brings lot of improvements and it's quite hard to point few ones. The most important ones include support for Python 3, reports generators, placeables highlighting, extended keyboard shortcuts, configurable dashboard or group based ACLs.

Full list of changes for 2.5:

  • Fixed automatic translation for project owners.
  • Improved performance of commit and push operations.
  • New management command to add suggestions from command line.
  • Added support for merging comments on file upload.
  • Added support for some GNU extensions to C printf format.
  • Documentation improvements.
  • Added support for generating translator credits.
  • Added support for generating contributor stats.
  • Site wide search can search only in one language.
  • Improve quality checks for Armenian.
  • Support for starting translation components without existing translations.
  • Support for adding new transations in Qt TS.
  • Improved support for translating PHP files.
  • Performance improvements for quality checks.
  • Fixed sitewide search for failing checks.
  • Added option to specify source language.
  • Improved support for XLIFF files.
  • Extended list of options for import_project.
  • Improved targeting for whiteboard messages.
  • Support for automatic translation across projects.
  • Optimized fulltext search index.
  • Added management command for auto translation.
  • Added placeables highlighting.
  • Added keyboard shortcuts for placeables, checks and machine translations.
  • Improved translation locking.
  • Added quality check for AngularJS interpolation.
  • Added extensive group based ACLs.
  • Clarified terminology on strings needing review (formerly fuzzy).
  • Clarified terminology on strings needing action and not translated strings.
  • Support for Python 3.
  • Dropped support for Django 1.7.
  • Dropped dependency on msginit for creating new Gettext po files.
  • Added configurable dashboard views.
  • Improved notifications on parse erorrs.
  • Added option to import components with duplicate name to import_project.
  • Improved support for translating PHP files
  • Added XLIFF export for dictionary.
  • Added XLIFF and Gettext PO export for all translations.
  • Documentation improvements.
  • Added support for configurable automatic group assignments.
  • Improved adding of new translations.

If you are upgrading from older version, please follow our upgrading instructions.

You can find more information about Weblate on https://weblate.org, the code is hosted on Github. If you are curious how it looks, you can try it out on demo server. You can login there with demo account using demo password or register your own user. Weblate is also being used https://hosted.weblate.org/ as official translating service for phpMyAdmin, OsmAnd, Aptoide, FreedomBox, Weblate itself and many other projects.

Should you be looking for hosting of translations for your project, I'm happy to host them for you or help with setting it up on your infrastructure.

Further development of Weblate would not be possible without people providing donations, thanks to everybody who have helped so far! The roadmap for next release is just being prepared, you can influence this by expressing support for individual issues either by comments or by providing bounty for them.