Skip to content

Commit

Permalink
Bug 35103: Add option to gulp tasks to pass a list of tasks
Browse files Browse the repository at this point in the history
You can now generate the messages.po for all languages with:
  gulp po:update --task messages

or for only es-ES
  gulp po:update --task messages --lang es-ES

It may be helpful for the "update po" script that will be used on
weblate.

Signed-off-by: Jonathan Druart <[email protected]>
  • Loading branch information
joubu committed Nov 14, 2023
1 parent 3f01f6c commit 6be4e96
Showing 1 changed file with 26 additions and 4 deletions.
30 changes: 26 additions & 4 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,29 @@ const poTasks = {
},
};

const poTypes = Object.keys(poTasks);
function getPoTasks () {
let tasks = [];

let all_tasks = Object.keys(poTasks);

if (args.task) {
tasks = [args.task].flat(Infinity);
} else {
return all_tasks;
}

let invalid_tasks = tasks.filter( function( el ) {
return all_tasks.indexOf( el ) < 0;
});

if ( invalid_tasks.length ) {
console.error("Invalid task");
return [];
}

return tasks;
}
const poTypes = getPoTasks();

function po_extract_marc (type) {
return src(`koha-tmpl/*-tmpl/*/en/**/*${type}*`, { read: false, nocase: true })
Expand Down Expand Up @@ -387,11 +409,11 @@ function getLanguages () {
return [args.lang];
}

const filenames = fs.readdirSync('misc/translator/po')
.filter(filename => filename.endsWith('.po'))
const filenames = fs.readdirSync('misc/translator/po/')
.filter(filename => filename.endsWith('-installer.po'))
.filter(filename => !filename.startsWith('.'))

const re = new RegExp('-(' + poTypes.join('|') + ')\.po$');
const re = new RegExp('-installer.po');
languages = filenames.map(filename => filename.replace(re, ''))

return Array.from(new Set(languages));
Expand Down

0 comments on commit 6be4e96

Please sign in to comment.