How to update the GUI translation files?

One topic of the last developer meeting was the upcoming Octave 7 release.

In the release checklist there is the item:

  • Call for translations
    • Call for translations for GUI strings on Octave Discourse.
    • Update language translation files (*.ts).
    • Create issue report on Savannah as a centralized location for uploading files.
    • Collect and push all translated files.

@ttl you managed this process for the 6.1 release, was it possible for you to work on this task again after the default branch was merged to stable? :slightly_smiling_face:

Furthermore, in the developer meeting we had some bus factor discussions, i.e. it was agreed that the Octave project needs to document the release procedures.

@rik remembered, that scripts are used for the translation file update, but otherwise nobody knows how to do this task. Could those scripts with an usage explanation be maintained in the Octave development repository (“build-aux” or “etc” directory, for example)?

An update, jwe merged default to stable this morning and so the 7.1 release is very much in progress.

Sure, I will do this for 7.1, too. Does the merge of default into stable mean that there already is a string freeze?

1 Like

Perfect! Thank you.

I’m not aware of any pending GUI updates that would require changing strings. But you are right: It’s probably a good idea to wait another five days or so to give people a chance to point to bugs or patches that we could still merge to Octave 7 with very little risk of breakage.

In general, which steps are required to update the translation files? Would it be possible to automate those? E.g., with a makefile target?

1 Like

The steps for updating the translations fot the GUI are the following:

  1. Update the files libgui/languages/*.ts with the strings used in the GUI
  2. Ask the translators in libgui/languages/translators to add or update the related translation in these files accordingly
  3. Finally, the files .build/libgui/languages/*.qm are updated during the next build from the *.ts files mentioned above.

For step 1, I am using the following script, which has to be run in the directory libgui/languages/. The script is designed for working in my environment but a generalization for building a target should be possible.

oct-upd-lang (1.4 KB)

2 Likes