File size: 982 Bytes
f8d1af2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

// Android Integration for CTranslate2 Helsinki-NLP/opus-mt-zh-nl
// Requires: CTranslate2 Java bindings + SentencePiece JNI

public class CTranslate2Translator {
    private Translator translator;
    private SentencePieceProcessor sourceProcessor;
    private SentencePieceProcessor targetProcessor;

    public CTranslate2Translator(String modelPath, String sourceSpm, String targetSpm) {
        translator = new Translator(modelPath);
        sourceProcessor = new SentencePieceProcessor();
        targetProcessor = new SentencePieceProcessor();
        sourceProcessor.load(sourceSpm);
        targetProcessor.load(targetSpm);
    }

    public String translate(String text) {
        String[] srcTokens = sourceProcessor.encode(text);
        TranslationResult result = translator.translateBatch(Arrays.asList(srcTokens)).get(0);
        return targetProcessor.decode(result.getHypotheses().get(0));
    }
}

// Model: Helsinki-NLP/opus-mt-zh-nl
// Language pair: ZH -> NL