function parseI18n(namespaces, languages, froms, sort) {
	const foldersToParse = [].concat(froms);

	namespaces.forEach(namespace => {
		let i18nKeys = new Map();
		const name = namespace.name;
		const extractPath = namespace.extractPath || namespace.path;

		foldersToParse.forEach(from => {
			i18nKeys = new Map([
				...i18nKeys,
				...getLocalesFromNamespaceInFolder(path.join(process.cwd(), ...from.split('/')), name),
			]);
		});

		updateLocales(i18nKeys, languages, name, extractPath, sort);
	});
}
/**
 * parseI18n - parse a folder to extract key/values for all given namespace and languages
 *
 * @param  {Array<Namespace>} namespaces Array of Namespace to extract (name, path)
 * @param  {array<string>} languages              Locales to extract
 * @param  {string} froms                         Folders to parse
 */
parse a folder to extract key/values for all given namespace and languages
@param  {Array} namespaces Array of Namespace to extract (name, path)
@param  {array} languages              Locales to extract
@param  {string} froms                         Folders to parse
parse a folder to extract key / values for all given namespace and languages @param { Array } namespaces Array of Namespace to extract ( name path ) @param { array } languages Locales to extract @param { string } froms Folders to parse
function parseI18n(namespaces, languages, froms, sort) {
	const foldersToParse = [].concat(froms);
	namespaces.forEach(namespace => {
		let i18nKeys = new Map();
		const name = namespace.name;
		const extractPath = namespace.extractPath || namespace.path;
		foldersToParse.forEach(from => {
			i18nKeys = new Map([
				...i18nKeys,
				...getLocalesFromNamespaceInFolder(path.join(process.cwd(), ...from.split('/')), name),
			]);
		});
		updateLocales(i18nKeys, languages, name, extractPath, sort);
	});
}
function parseI18n ( namespaces , languages , froms , sort ) { const foldersToParse = [ ] . concat ( froms ) ; namespaces . forEach ( namespace => { let i18nKeys = new Map ( ) ; const name = namespace . name ; const extractPath = namespace . extractPath || namespace . path ; foldersToParse . forEach ( from => { i18nKeys = new Map ( [ ... i18nKeys , ... getLocalesFromNamespaceInFolder ( path . join ( process . cwd ( ) , ... from . split ( '/' ) ) , name ) , ] ) ; } ) ; updateLocales ( i18nKeys , languages , name , extractPath , sort ) ; } ) ; }
parseI18n - parse a folder to extract key/values for all given namespace and languages
 @param  {Array<Namespace>} namespaces Array of Namespace to extract (name, path)
 @param  {array<string>} languages              Locales to extract
 @param  {string} froms                         Folders to parse
parseI18n - parse a folder to extract key / values for all given namespace and languages @param { Array<Namespace > } namespaces Array of Namespace to extract ( name path ) @param { array<string > } languages Locales to extract @param { string } froms Folders to parse