package org.lodder.subtools.sublibrary; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import me.champeau.ld.UberLanguageDetector; import org.apache.commons.io.FileUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class DetectLanguage { private static final Logger LOGGER = LoggerFactory.getLogger(DetectLanguage.class); public static String execute(File file) throws Exception { String text = readText(file); /* * text = text.substring(0, 500); Detect.setKey("D6D3A40EDC77276322060DCC2004F50B6CCA351F"); * Language detectedLanguage = null; try { detectedLanguage = Detect.execute(text); } catch * (Exception e) { Logger.instance.error(e.getMessage()); } if (detectedLanguage == null){ * Logger.instance.log("Cannot detect language pause for 15 seconds before retry!"); try { // * Pause for 15 seconds TimeUnit.SECONDS.sleep(15); } catch (InterruptedException e) { * Thread.currentThread().interrupt(); // restore // interrupted // status } return * execute(file); } return detectedLanguage.toString(); */ UberLanguageDetector detector = UberLanguageDetector.getInstance(); return detector.detectLang(text); } private static String readText(File file) { String text = ""; try { text = FileUtils.readFileToString(file); } catch (FileNotFoundException e) { LOGGER.error("File not found to detect language", e); } catch (IOException e) { LOGGER.error("", e); } return text; } }