public load()

in src/nls.ts [142:176]


		public load(name: string, req: AMDLoader.IRelativeRequire, load: AMDLoader.IPluginLoadCallback, config: AMDLoader.IConfigurationOptions): void {
			config = config || {};
			if (!name || name.length === 0) {
				load({
					localize: this.localize
				});
			} else {
				let pluginConfig = config['vs/nls'] || {};
				let language = pluginConfig.availableLanguages ? findLanguageForModule(pluginConfig.availableLanguages, name) : null;
				let suffix = '.nls';
				if (language !== null && language !== NLSPlugin.DEFAULT_TAG) {
					suffix = suffix + '.' + language;
				}
				let messagesLoaded = (messages: string[] | IBundledStrings) => {
					if (Array.isArray(messages)) {
						(messages as any as IConsumerAPI).localize = createScopedLocalize(messages, this._env);
					} else {
						(messages as any as IConsumerAPI).localize = createScopedLocalize(messages[name], this._env);
					}
					load(messages);
				};
				if (typeof pluginConfig.loadBundle === 'function') {
					(pluginConfig.loadBundle as BundleLoader)(name, language, (err: Error, messages) => {
						// We have an error. Load the English default strings to not fail
						if (err) {
							req([name + '.nls'], messagesLoaded);
						} else {
							messagesLoaded(messages);
						}
					});
				} else {
					req([name + suffix], messagesLoaded);
				}
			}
		}