public void setLanguage(String languageString) {
        Set<String> invalidCodes = new HashSet<>();
        Set<String> validCodes = new HashSet<>();
        getLangs(languageString, validCodes, invalidCodes);
        if (!invalidCodes.isEmpty()) {
            throw new IllegalArgumentException("Invalid language code(s): " + invalidCodes);
        }
        this.language = languageString;
        userConfigured.add("language");
    }
Set tesseract language dictionary to be used. Default is "eng".
languages are either:
<ol>
  <li>Nominally an ISO-639-2 code but compound codes are allowed separated by underscore:
  e.g., chi_tra_vert, aze_cyrl</li>
  <li>A file path in the script directory.  The name starts with upper-case letter.
      Some of them have underscores and other upper-case letters: e.g., script/Arabic,
      script/HanS_vert, script/Japanese_vert, script/Canadian_Aboriginal</li>
</ol>
Multiple languages may be specified, separated by plus characters.
e.g. "chi_tra+chi_sim+script/Arabic"
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-ocr-module/src/main/java/org/apache/tika/parser/ocr/TesseractOCRConfig.java