一、功能描述
注意:说明:
二、效果展示
你可以使用文本消息翻译功能,实现如下所示的翻译效果:
经典版简约版
注意:说明:
注意:你也可以直接使用含 UI 的翻译插件 TUITranslationPlugin,快速获得翻译能力。详情请参见文档:文本消息翻译插件。
三、翻译文本
你可以调用 translateText (Java / Swift / Objective-C / C++) 接口翻译文本。
接口参数说明如下:
| 入参 | 含义 | 说明 |
| sourceTextList | 待翻译文本列表 | 1. 支持一次批量传入多条待翻译文本。2. 请使用 UTF-8 格式编码,非 UTF-8 格式编码字符会翻译失败。3. HTML 标记等非常规翻译文本可能会翻译失败。4. 单次请求的文本长度总和需要低于 2000 字符(1个汉字、1个字母、1个标点或空格都计为 1 个字符)。 |
| sourceLanguage | 源语言 | 可以设置为特定语言或 “auto”。“auto” 表示自动识别源语言。传空默认为 “auto”。 |
| targetLanguage | 目标语言 | 支持的目标语言有多种。详情参见下文 文本翻译语言支持。 |
| callback | 翻译结果回调 | 结果的 key 为待翻译文本, value 为翻译后文本。 |
示例代码如下:
JavaSwiftObjective-CC++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) { // 翻译文本失败 }});V2TIMManager.shared.translateText(sourceTextList: ["你好","再见"], sourceLanguage: "zh", targetLanguage: "en") { code, desc, map in print("translateText result, code: \\(code), desc: \\(desc)") map.forEach { (key: String, value: String) in print( "\\(key): \\(value)") }}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(英语) |