나는 병음 (영어)을 입력으로 사용하고 사용자가 선택할 수있는 한자를 가져오고 싶습니다. 나는 이것이 많은 곳에서 구현되었다는 것을 알았지 만 (OS 키보드와 다양한 웹 사이트에 의한 지원), 라이브러리를 찾을 수는 없다.병음을 중국어 문자로 변환
복잡하지 않거나 많은 양의 데이터가 필요한 경우 나 혼자서 할 수도 있습니다.
나는 병음 (영어)을 입력으로 사용하고 사용자가 선택할 수있는 한자를 가져오고 싶습니다. 나는 이것이 많은 곳에서 구현되었다는 것을 알았지 만 (OS 키보드와 다양한 웹 사이트에 의한 지원), 라이브러리를 찾을 수는 없다.병음을 중국어 문자로 변환
복잡하지 않거나 많은 양의 데이터가 필요한 경우 나 혼자서 할 수도 있습니다.
가벼운 중국어 Pinyin 입력 방법 인 javachinesepinyin을 사용하는 가장 간단한 방법입니다. 관련 코드 here을 찾을 수 있습니다. 영어
private String[] pinyinToWord(String[] o) {
Result ret = null;
try {
ret = ptw.labelStateOfNodes(Arrays.asList(o));
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
Map<Double, String> results = new HashMap<Double, String>();
if (null != ret && ret.states() != null) {
for (int pos = 0; pos < ret.states()[o.length - 1].length; pos++) {
StringBuilder sb = new StringBuilder();
int[] statePath = Viterbi.getStatePath(ret.states(), ret.psai(), o.length - 1, o.length, pos);
for (int state : statePath) {
Character name = ptw.getStateBy(state);
sb.append(name).append(" ");
}
results.put(ret.delta()[o.length - 1][pos], sb.toString());
}
List<Double> list = new ArrayList<Double>(results.keySet());
Collections.sort(list);
Collections.reverse(list);
return results.get(list.get(0)).trim().split(" ");
}
return null;
}
소개 슬라이드 : http://docs.google.com/present/edit?id=0AbbbdNFzwcADZGR3Z3N0NG1fMTk4M2hraGZjNmRw&hl=en
라이브 데모 : 고급 기능이 필요한 경우 http://951438.appspot.com/pinyin.jsp?txt=zhongwenpinyinshurufa
, 어쩌면 당신이 Rime Input Method Engine 또는 sunpinyin를 사용하는 것이 좋습니다.