2013-08-17 4 views
0

나는 병음 (영어)을 입력으로 사용하고 사용자가 선택할 수있는 한자를 가져오고 싶습니다. 나는 이것이 많은 곳에서 구현되었다는 것을 알았지 만 (OS 키보드와 다양한 웹 사이트에 의한 지원), 라이브러리를 찾을 수는 없다.병음을 중국어 문자로 변환

복잡하지 않거나 많은 양의 데이터가 필요한 경우 나 혼자서 할 수도 있습니다.

답변

0

가벼운 중국어 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를 사용하는 것이 좋습니다.

참고 : Python Binding for sunpinyin.