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;
}