/** * Creates a Lang object using id1's ID and id2's pattern * * @param id1 * @param id2 * @return */ public static Lang getLang(String id1, String id2) { Lang lang1 = getLang(id1); if (lang1 == null) return null; Lang lang2 = getLang(id2); if (lang2 == null) return null; Lang lang = new Lang(); lang.setName(lang1.getName() + " + " + lang2.getName()); lang.setId(lang1.getId()); // web page retrieval langId lang.setPattern(lang2.getPattern()); // text extraction langId return lang; }
/** * Auto-detect the language of the input string in the same order as in the Lang list * * @param s input string * @return a Lang object, or null if the language is unrecognizable */ public static Set<Lang> detect(String s) { Set<Lang> langSet = new LinkedHashSet<Lang>(); for (Lang lang : langList) if (lang.getPattern().matcher(s.trim()).matches()) langSet.add(lang); return langSet; }