Table of Contents

VuFind® Community Call Minutes: May 2, 2023

Attending: Chris Hallberg, Demian Katz, André Lahmann, Ere Maijala, Susan Turkel, Thomas Wagener

Agenda

1. Development Planning

Newsletter Highlights

The April, 2023 Newsletter was discussed.

Release Update

Release 9.0 (and subsequently 9.0.1) were released on April 24. The 9.0.1 release addresses bugs in the Blowfish –> AES encryption conversion during the upgrade process and was released as soon as problems were discovered (during updating of the public demo instance) to reduce potential disruption to end users.

Pull Request Review (assigning milestones)

This month's goal was to review PR's without milestones assigned, and determine which should be scheduled for 9.1 and 10.0 (and identify whether any are obsolete).

Next Meeting Plans

We should review all tickets and PR's scheduled for 9.1 and begin assigning work to move the release development forward.

2. Technical Discussion: Internationalization with localise

André has been exploring the lokalise.com platform, which the Open Library Foundation uses for some of its projects. It imports languages from GitHub, makes it possible for users to collaboratively improve/expand them, and can then be configured to export data back into the project using pull requests.

The interface displays percentage done, number of words in need of translation, and “unverified” strings that might have problems and should be reviewed.

The system also has project management features built in, so you can assign work, create tasks, etc.

Some quirks may confuse the project (e.g. @parent_ini directives, use of language codes that don't exactly match lokalise's expectations – e.g. zh.ini had to be manually mapped to Chinese Traditional).

During import, lokalise is currently set up to ignore native.ini – this is a special file and would not benefit from management through the platform.

Text domains are imported using filename patterns, which enables us to keep domain-specific strings appropriately separated.

When translating, the platform automatically makes suggestions based on similar strings in the existing language files and using online translation tools, to help streamline the process (though of course, human verification/judgment is still needed).

André opened a German-specific example pull request as a proof of concept. This reveals some problems we need to overcome:

Possible solution: Custom processor – the ability to create a REST endpoint for pre- or post-processing of translations. Well documented with examples provided. One question: can the custom post-processor be combined with the “post PR to GitHub” option, or are these workflows incompatible?

We confirmed that our current lokalise account seems to support the custom processor.

There was some discussion about how/where to implement and host the processor: one option would be to create a repository that exposes a Laminas module containing the processing functionality, and then install that into the public demo instance to make it accessible.

Also discussion about where to get comments from: one option would be to have the API just pull the latest .ini files from GitHub using URL patterns (raw download).

Volunteers to work on the project: Demian will set up a vufind-org GitHub repo to build the module and will help with deployment to vufind.org. André will help with development of the code.

André will inquire about the “numeric keys” problem; Demian suggested a possible workaround (key prefix via custom processor) we can use if no proper solution is available.

3. Open Q&A / Other Topics?

None this month.

Next Call

The next call will be Tuesday, June 6, 2023 at 9am Eastern Daylight Time (13:00 GMT).