function createNLSBundle()

in src/node/main.ts [233:261]


function createNLSBundle(header: MetadataHeader, metaDataPath: string): NlsBundle | undefined {
	let languagePackLocation = options.translationsConfig[header.id];
	if (!languagePackLocation) {
		return undefined;
	}
	let languagePack: I18nBundle = readJsonFileSync(languagePackLocation).contents;
	let metaData: MetaDataFile = readJsonFileSync(path.join(metaDataPath, 'nls.metadata.json'));
	let result: NlsBundle = Object.create(null);
	for (let module in metaData) {
		let entry = metaData[module];
		let translations = languagePack[`${header.outDir}/${module}`];
		if (translations) {
			let resultMessages: string[] = [];
			for (let i = 0; i < entry.keys.length; i++) {
				let messageKey = entry.keys[i];
				let key = isString(messageKey) ? messageKey : messageKey.key;
				let translatedMessage = translations[key];
				if (translatedMessage === undefined) {
					translatedMessage = entry.messages[i];
				}
				resultMessages.push(translatedMessage);
			}
			result[module] = resultMessages;
		} else {
			result[module] = entry.messages;
		}
	}
	return result;
}