tencent cloud

文档反馈

Android&iOS&Windows&Mac

最后更新时间:2024-11-07 11:22:57

    功能描述

    消息翻译目前仅支持手动调接口翻译文本消息内容,图片、视频、文件、语音、自定义消息等非文本内容均不支持翻译。
    说明:
    文本翻译是增值付费功能,如需使用,您可通过 Telegram 技术交流群组 联系我们。
    该功能仅增强版 SDK 7.0 及以上版本支持。

    效果展示

    您可以使用文本消息翻译功能,实现如下图所示的翻译效果:
    
    
    
    说明:
    您也可以直接使用含 UI 的翻译插件 TUITranslationPlugin,快速获得翻译能力。

    接口说明

    翻译文本

    您可以调用 translateText (Android / iOS & Mac / Windows) 接口翻译文本。
    接口参数说明如下:
    入参
    含义
    说明
    sourceTextList
    待翻译文本列表
    1. 支持一次批量传入多条待翻译文本。
    2. 请使用 UTF-8 格式编码,非 UTF-8 格式编码字符会翻译失败。
    3. HTML 标记等非常规翻译文本可能会翻译失败。
    4. 单次请求的文本长度总和需要低于 2000 字符(1个汉字、1个字母、1个标点或空格都计为 1 个字符)。
    sourceLanguage
    源语言
    可以设置为特定语言或 “auto”。“auto” 表示自动识别源语言。传空默认为 “auto”。
    targetLanguage
    目标语言
    支持的目标语言有多种。详情参见下文 文本翻译语言支持
    callback
    翻译结果回调
    结果的 key 为待翻译文本, value 为翻译后文本。
    示例代码如下:
    Android
    iOS & Mac
    Windows
    List<String> textList = new ArrayList<>();
    textList.add("早上好");
    textList.add("中午好");
    textList.add("晚上好");
    String targetLanguage = "en";
    V2TIMManager.getMessageManager().translateText(textList, null, targetLanguage, new V2TIMValueCallback<HashMap<String, String>>() {
    @Override
    public void onSuccess(HashMap<String, String> translateHashMap) {
    // 翻译文本成功,translateHashMap 为 {"早上好": "Good morning", "中午好": "Good afternoon", "晚上好": "Good evening"}
    }
    
    @Override
    public void onError(int code, String desc) {
    // 翻译文本失败
    }
    });
    NSArray *sourceText = @[@"早上好", @"中午好", @"晚上好"];
    NSString *targetLanguage = @"en";
    [[V2TIMManager sharedInstance] translateText:sourceText
    sourceLanguage:nil
    targetLanguage:targetLanguage
    completion:^(int code, NSString *desc, NSDictionary<NSString *,NSString *> *result) {
    if (code == 0) {
    // 翻译文本成功,result 为 @{@"早上好": @"Good morning", @"中午好": @"Good afternoon", @"晚上好": @"Good evening"}
    } else {
    // 翻译文本失败
    }
    }];
    template <class T>
    class ValueCallback final : public V2TIMValueCallback<T> {
    public:
    using SuccessCallback = std::function<void(const T&)>;
    using ErrorCallback = std::function<void(int, const V2TIMString&)>;
    
    ValueCallback() = default;
    ~ValueCallback() override = default;
    
    void SetCallback(SuccessCallback success_callback, ErrorCallback error_callback) {
    success_callback_ = std::move(success_callback);
    error_callback_ = std::move(error_callback);
    }
    
    void OnSuccess(const T& value) override {
    if (success_callback_) {
    success_callback_(value);
    }
    }
    void OnError(int error_code, const V2TIMString& error_message) override {
    if (error_callback_) {
    error_callback_(error_code, error_message);
    }
    }
    
    private:
    SuccessCallback success_callback_;
    ErrorCallback error_callback_;
    };
    
    V2TIMStringVector textList;
    textList.PushBack(u8"早上好");
    textList.PushBack(u8"中午好");
    textList.PushBack(u8"晚上好");
    V2TIMString targetLanguage = u8"en";
    
    auto callback = new ValueCallback<V2TIMStringToV2TIMStringMap>{};
    callback->SetCallback(
    [=](const V2TIMStringToV2TIMStringMap& result) {
    // 翻译文本成功,result 为 {{"早上好", "Good morning"}, {"中午好", "Good afternoon"}, {"晚上好", "Good evening"}}
    delete callback;
    },
    [=](int error_code, const V2TIMString& error_message) {
    // 翻译文本失败
    delete callback;
    });
    
    V2TIMManager::GetInstance()->GetMessageManager()->TranslateText(textList, "", targetLanguage, callback);

    文本翻译语言支持

    源语言
    支持的目标语言
    zh(简体中文)
    en(英语)、ja(日语)、ko(韩语)、fr(法语)、es(西班牙语)、it(意大利语)、de(德语)、tr(土耳其语)、ru(俄语)、pt(葡萄牙语)、vi(越南语)、id(印尼语)、th(泰语)、ms(马来语)
    zh-TW(繁体中文)
    en(英语)、ja(日语)、ko(韩语)、fr(法语)、es(西班牙语)、it(意大利语)、de(德语)、tr(土耳其语)、ru(俄语)、pt(葡萄牙语)、vi(越南语)、id(印尼语)、th(泰语)、ms(马来语)
    en(英语)
    zh(中文)、ja(日语)、ko(韩语)、fr(法语)、es(西班牙语)、it(意大利语)、de(德语)、tr(土耳其语)、ru(俄语)、pt(葡萄牙语)、vi(越南语)、id(印尼语)、th(泰语)、ms(马来语)、ar(阿拉伯语)、hi(印地语)
    ja(日语)
    zh(中文)、en(英语)、ko(韩语)
    ko(韩语)
    zh(中文)、en(英语)、ja(日语)
    fr(法语)
    zh(中文)、en(英语)、es(西班牙语)、it(意大利语)、de(德语)、tr(土耳其语)、ru(俄语)、pt(葡萄牙语)
    es(西班牙语)
    zh(中文)、en(英语)、fr(法语)、it(意大利语)、de(德语)、tr(土耳其语)、ru(俄语)、pt(葡萄牙语)
    it(意大利语)
    zh(中文)、en(英语)、fr(法语)、es(西班牙语)、de(德语)、tr(土耳其语)、ru(俄语)、pt(葡萄牙语)
    de(德语)
    zh(中文)、en(英语)、fr(法语)、es(西班牙语)、it(意大利语)、tr(土耳其语)、ru(俄语)、pt(葡萄牙语)
    tr(土耳其语)
    zh(中文)、en(英语)、fr(法语)、es(西班牙语)、it(意大利语)、de(德语)、ru(俄语)、pt(葡萄牙语)
    ru(俄语)
    zh(中文)、en(英语)、fr(法语)、es(西班牙语)、it(意大利语)、de(德语)、tr(土耳其语)、pt(葡萄牙语)
    pt(葡萄牙语)
    zh(中文)、en(英语)、fr(法语)、es(西班牙语)、it(意大利语)、de(德语)、tr(土耳其语)、ru(俄语)
    vi(越南语)
    zh(中文)、en(英语)
    id(印尼语)
    zh(中文)、en(英语)
    th(泰语)
    zh(中文)、en(英语)
    ms(马来语)
    zh(中文)、en(英语)
    ar(阿拉伯语)
    en(英语)
    hi(印地语)
    en(英语)
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持