Your browser does not support JavaScript and this site utilizes JavaScript to build content and provide links to additional information. You should either enable JavaScript in your browser settings or use a browser that supports JavaScript in order to take full advantage of this site.
1 4 package org.contineo.core.text.lili; 5 6 7 11 public class LanguageIdentifier { 12 13 private long germanValue; 14 private long englishValue; 15 private long frenchValue; 16 17 public LanguageIdentifier() { 18 germanValue = 0; 19 englishValue = 0; 20 frenchValue = 0; 21 } 22 23 29 public String identify(String text) { 30 Weighter deWeighter = new GermanWeighter(); 31 Weighter enWeighter = new EnglishWeighter(); 32 Weighter frWeighter = new FrenchWeighter(); 33 char cbuf[] = text.toLowerCase().toCharArray(); 34 for (int i = 2; i<text.length(); i++) { 35 StringBuffer trigram = new StringBuffer (); 36 trigram.append(cbuf[i-2]); 37 trigram.append(cbuf[i-1]); 38 trigram.append(cbuf[i]); 39 germanValue += deWeighter.getWeight(trigram.toString().toLowerCase()); 40 englishValue += enWeighter.getWeight(trigram.toString().toLowerCase()); 41 frenchValue += frWeighter.getWeight(trigram.toString().toLowerCase()); 42 } 43 if (germanValue > englishValue && germanValue > frenchValue) 44 return "de"; 45 else 46 if (frenchValue > englishValue && frenchValue > germanValue) 47 return "fr"; 48 else 49 return "en"; 50 } 51 } 52
| Popular Tags
|