private void ensureSupportedLanguages(TaskMonitor monitor) throws IOException {
		try {
			if (supportedLanguages == null || supportedLanguages.isEmpty()) {
				supportedLanguages = getSupportedLanguages(monitor);
				if (supportedLanguages != null && !supportedLanguages.isEmpty()) {
					supportedLanguages.add(0,
						new SupportedLanguage("Autodetect", "auto", List.of()));
				}
			}
		}
		catch (CancelledException e) {
			throw new IOException("Failed to get supported language list: request cancelled");
		}
	}
Information about a language supported by LibreTranslate
@param name language name
@param langCode 2 digit code
@param targets list of other languages that this language can be translated into
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/string/translate/libretranslate/LibreTranslateStringTranslationService.java