1.12
package com.example.demo;
import com.example.demo.fanyi.demo.TransApi;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DemoApplication {
    private static final String APP_ID = "20241112002200111";
    private static final String SECURITY_KEY = "cPTv3dW2os6zPO0fmuv4";
private static TransApi api = new TransApi(APP_ID, SECURITY_KEY);
    //中译英
    public static String zhToen(String q){
        String result =  api.getTransResult(q, "auto", "en");
        int begin = result.indexOf("dst");
        String en = result.substring(begin + 6, result.length() - 4);
//        System.out.println(en);
        return en;
    }
    //英译中
    public static String enTozh(String q){
        String result =  api.getTransResult(q,"en","zh");
        int begin = result.indexOf("dst");
        String zh = result.substring(begin + 6, result.length() - 4);
//        System.out.println(zh);
        return convertUnicodeToCh(zh);
    }
    private static String convertUnicodeToCh(String str) {
        Pattern pattern = Pattern.compile("(\\\\u(\\w{4}))");
        Matcher matcher = pattern.matcher(str);
        // 迭代,将str中的所有unicode转换为正常字符
        while (matcher.find()) {
            String unicodeFull = matcher.group(1); // 匹配出的每个字的unicode,比如\u67e5
            String unicodeNum = matcher.group(2); // 匹配出每个字的数字,比如\u67e5,会匹配出67e5
            // 将匹配出的数字按照16进制转换为10进制,转换为char类型,就是对应的正常字符了
            char singleChar = (char) Integer.parseInt(unicodeNum, 16);
            // 替换原始字符串中的unicode码
            str = str.replace(unicodeFull, singleChar + "");
        }
        return str;
    }
    //测试
    public static void main(String[] args) {
        // 测试中译英
        String chineseText = "你好,世界!";
        String translatedToEnglish = zhToen(chineseText);
        System.out.println("汉译英: " + translatedToEnglish);
        // 测试英译中
        String englishText = "Hello, world!";
        String translatedToChinese = enTozh(englishText);
        System.out.println("英译汉: " + translatedToChinese);
        // 更多测试用例
        String chineseText2 = "今天天气真好,我们去公园散步吧。";
        String translatedToEnglish2 = zhToen(chineseText2);
        System.out.println("汉译英: " + translatedToEnglish2);
        String englishText2 = "The weather is nice today, let's go for a walk in the park.";
        String translatedToChinese2 = enTozh(englishText2);
        System.out.println("英译汉: " + translatedToChinese2);
        // 特殊字符测试
        String specialChars = "你好,世界!123 @#$%^&*()";
        String translatedSpecialChars = zhToen(specialChars);
        System.out.println("汉译英 (特殊字符): " + translatedSpecialChars);
        // 长句子测试
        String longSentence = "这是一个非常长的句子,用来测试翻译功能是否能够正确处理长文本。";
        String translatedLongSentence = zhToen(longSentence);
        System.out.println("汉译英 (长句子): " + translatedLongSentence);
    }
}
 
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号