%PDF- %PDF-
Direktori : /var/www/projetos/stb.ind.br/wp-content/themes/stb/node_modules/node-wp-i18n/lib/ |
Current File : //var/www/projetos/stb.ind.br/wp-content/themes/stb/node_modules/node-wp-i18n/lib/msgmerge.js |
/** * node-wp-i18n * https://github.com/cedaro/node-wp-i18n * * @copyright Copyright (c) 2015 Cedaro, LLC * @license MIT */ 'use strict'; var glob = require('glob'); var path = require('path'); var Promise = require('bluebird'); var util = require('./util'); module.exports = { merge: mergeFiles, updatePoFiles: updatePoFiles }; /** * Uses gettext msgmerge to merge a .pot file into a .po. * * @param {string} from File to merge from (generally a .pot file). * @param {string} to File to merge to (generally a .po file). * @returns {Promise} */ function mergeFiles(from, to) { return util.execFile('msgmerge', [ '--update', '--backup=none', to, from ]); } /** * Set multiple headers at once. * * Magically expands certain values to add Poedit headers. * * @param {string} filename Full path to a POT file. * @param {string} pattern Optional. Glob pattern of PO files to update. * @returns {Promise} */ function updatePoFiles(filename, pattern) { var merged = []; var searchPath = path.dirname(filename); pattern = pattern || '*.po'; glob.sync(pattern, { cwd: path.dirname(filename) }).forEach(function(file) { var poFile = path.join(searchPath, file); merged.push(mergeFiles(filename, poFile)); }); return Promise.all(merged); }