乘风破浪,遇见最美Windows 11之现代Windows桌面应用开发 - Azure认知服务翻译器及支持语言清单
什么是Azure认知服务翻译器
https://azure.microsoft.com/zh-cn/services/cognitive-services/translator/
Azure认知服务翻译器是一种基于云的机器翻译服务,你通过简单的REST API调用便可使用该服务来翻译文本。该服务使用先进的神经机器翻译技术并提供统计机器翻译技术。“自定义翻译器”是“翻译器”的扩展,用于构建神经翻译系统。可以将自定义的翻译系统与“翻译器”或Microsoft语音服务配合使用来翻译文本。
支持语言清单
https://docs.microsoft.com/en-us/azure/cognitive-services/translator/language-support
https://docs.microsoft.com/zh-cn/azure/cognitive-services/translator/language-support
英语描述 | 英语代号 | 语言编码 | 中文描述 |
---|---|---|---|
Detect language | Detect | N/A | 自动检测 |
Afrikaans | Afrikaans | af |
南非荷兰语 |
Albanian | Albanian | sq |
阿尔巴尼亚语 |
Amharic | Amharic | am |
阿姆哈拉语 |
Arabic | Arabic | ar |
阿拉伯语 |
Armenian | Armenian | hy |
亚美尼亚语 |
Assamese | Assamese | as |
阿萨姆语 |
Azerbaijani (Latin) | Azerbaijani_Latin | az |
阿塞拜疆语(拉丁语) |
Bangla | Bengali | bn |
孟加拉语 |
Bashkir | Bashkir | ba |
巴什基尔语 |
Basque | Basque | eu |
巴斯克语 |
Bosnian (Latin) | Bosnian_Latin | bs |
波斯尼亚语(拉丁语系) |
Bulgarian | Bulgarian | bg |
保加利亚语 |
Cantonese (Traditional) | Cantonese | yue |
粤语(繁体) |
Catalan | Catalan | ca |
加泰罗尼亚语 |
Chinese (Literary) | Chinese_Literature | lzh |
中文(文学) |
Chinese Simplified | Simplified_Chinese | zh-Hans |
简体中文 |
Chinese Traditional | Chinese_Traditional | zh-Hant |
中文(繁体) |
Croatian | Croatian | hr |
克罗地亚语 |
Czech | Czech | cs |
捷克语 |
Danish | Danish | da |
丹麦语 |
Dari | Dari | prs |
达里语 |
Divehi | Divehi | dv |
马尔代夫语 |
Dutch | Dutch | nl |
荷兰语 |
English | English | en |
英语 |
Estonian | Estonian | et |
爱沙尼亚语 |
Faroese | Faroese | fo |
法罗语 |
Fijian | Fijian | fj |
斐济语 |
Filipino | Filipino | fil |
菲律宾语 |
Finnish | Finnish | fi |
芬兰语 |
French | French | fr |
法语 |
French (Canada) | French_Canada | fr-CA |
法语(加拿大) |
Galician | Galician | gl |
加利西亚语 |
Georgian | Georgian | ka |
格鲁吉亚语 |
German | German | de |
德语 |
Greek | Greek | el |
希腊语 |
Gujarati | Gujarati | gu |
古吉拉特语 |
Haitian Creole | Haitian_Creole | ht |
海地克里奥尔语 |
Hebrew | Hebrew | he |
希伯来语 |
Hindi | Hindi | hi |
印地语 |
Hmong Daw (Latin) | White_Hmong | mww |
白苗语(拉丁语) |
Hungarian | Hungarian | hu |
匈牙利语 |
Icelandic | Icelandic | is |
冰岛语 |
Indonesian | Indonesian | id |
印度尼西亚语 |
Inuinnaqtun | Inuktun_language | ikt |
因纽纳敦语 |
Inuktitut | Inuktitut | iu |
因纽特语 |
Inuktitut (Latin) | Inuktitut_Latin | iu-Latn |
因纽特语(拉丁语) |
Irish | Irish_language | ga |
爱尔兰语 |
Italian | Italian | it |
意大利语 |
Japanese | Japanese | ja |
日语 |
Kannada | Kannada | kn |
卡纳达语 |
Kazakh | Kazakh | kk |
哈萨克语 |
Khmer | Khmer | km |
高棉语 |
Klingon | Klingon | tlh-Latn |
克林贡语 |
Klingon (plqaD) | Klingon_plqaD | tlh-Piqd |
克林贡语(plqaD) |
Korean | Korean | ko |
朝鲜语 |
Kurdish (Central) | Kurdish_Central | ku |
中库尔德语(阿拉伯语) |
Kurdish (Northern) | Kurdish_Northern | kmr |
南库尔德语(拉丁语) |
Kyrgyz (Cyrillic) | Kyrgyz_Cyrillic | ky |
吉尔吉斯语(西里尔语) |
Lao | Laotian | lo |
老挝语 |
Latvian | Latvian | lv |
拉脱维亚语 |
Lithuanian | Lithuanian | lt |
立陶宛语 |
Macedonian | Macedonian | mk |
马其顿语 |
Malagasy | Malagasy | mg |
马达加斯加语 |
Malay (Latin) | Malay | ms |
马来语(拉丁语系) |
Malayalam | Malayalam | ml |
马拉雅拉姆语 |
Maltese | Maltese | mt |
马耳他语 |
Maori | Maori | mi |
毛利语 |
Marathi | Marathi | mr |
马拉地语 |
Mongolian (Cyrillic) | Mongolian_Cyrillic | mn-Cyrl |
蒙古语(西里尔文) |
Mongolian (Traditional) | Mongolian_Traditional | mn-Mong |
蒙古语(传统) |
Myanmar | Burmese | my |
缅甸(缅甸语) |
Nepali | Nepali | ne |
尼泊尔语 |
Norwegian | Norwegian | nb |
挪威语 |
Odia | Odia_language | or |
奥里亚语 |
Pashto | Pashto | ps |
普什图语 |
Persian | Persian | fa |
波斯语 |
Polish | Polish | pl |
波兰语 |
Portuguese (Brazil) | Portuguese_Brazil | pt |
葡萄牙语(巴西) |
Portuguese (Portugal) | Portuguese_Portugal | pt-PT |
葡萄牙语(葡萄牙) |
Punjabi | Punjabi | pa |
旁遮普语 |
Queretaro Otomi | Queretaro_Otomi | otq |
克雷塔罗奥托米语 |
Romanian | Romanian | ro |
罗马尼亚语 |
Russian | Russian | ru |
俄语 |
Samoan (Latin) | Samoan_Latin | sm |
萨摩亚语(拉丁语) |
Serbian (Cyrillic) | Serbian_Cyrillic | sr-Cyrl |
塞尔维亚语(西里尔) |
Serbian (Latin) | Serbian_Latin | sr-Latn |
塞尔维亚语(拉丁) |
Slovak | Slovakian | sk |
斯洛伐克语 |
Slovenian | Slovenian | sl |
斯洛文尼亚语 |
Somali (Arabic) | Somali_Arabic | so |
索马里语 |
Spanish | Spanish | es |
西班牙语 |
Swahili (Latin) | Swahili_Latin | sw |
斯瓦希里语(拉丁语) |
Swedish | Swedish | sv |
瑞典语 |
Tahitian | Tahitian | ty |
塔希提语 |
Tamil | Tamil | ta |
泰米尔语 |
Tatar (Latin) | Tatar_Latin | tt |
鞑靼语(拉丁语) |
Telugu | Telugu | te |
泰卢固语 |
Thai | Thai | th |
泰语 |
Tibetan | Tibetan | bo |
藏语 |
Tigrinya | Tigrinya | ti |
提格里尼亚语 |
Tongan | Tonga | to |
汤加语 |
Turkish | Turkish | tr |
土耳其语 |
Turkmen (Latin) | Turkmen_Latin | tk |
土库曼语(拉丁语) |
Ukrainian | Ukrainian | uk |
乌克兰语 |
Upper Sorbian | Kamisobe_language | hsb |
上索布语 |
Urdu | Urdu | ur |
乌尔都语 |
Uyghur (Arabic) | Uyghur_Arabic | ug |
维吾尔语(阿拉伯语) |
Uzbek (Latin) | Uzbek_Latin | uz |
乌兹别克语(拉丁文) |
Vietnamese | Vietnamese | vi |
越南语 |
Welsh | Welsh | cy |
威尔士语 |
Yucatec Maya | Yucatan_Mayan | yua |
尤卡坦玛雅语 |
Zulu | Zulu | zu |
祖鲁语 |
如果你是把语言编码做枚举值,那么需要把其中的-
换成_
,使用的时候,再转换回来。
另外,这里面有些语言编码属于C#的关键词,做枚举使用的时候,需要加@符号。属于关键词的包括:
@as
@is
API对接
API根节点
string EndPoint = "https://api.cognitive.microsofttranslator.com";
API相对路径
string TransApiPath = "/translate"
请求地址
string GetApiAddress(string fromLangCode, string toLangCode)
{
var apiAddress = $"{EndPoint}{TransApiPath}?api-version=3.0&from={fromLangCode}&to={toLangCode}";
return apiAddress;
}
示例:
POST https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=zh-Hans&to=yue
如果需要自动检测源语言,那么fromLangCode
就直接不传即可。
string GetApiAddress(string toLangCode)
{
var apiAddress = $"{EndPoint}{TransApiPath}?api-version=3.0&to={toLangCode}";
return apiAddress;
}
示例:
POST https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=yue
请求信息
请求方式
POST
请求头:
ContentType
:application/json
Accept
:application/json
请求授权:
在请求头里面添加授权信息:
Ocp-Apim-Subscription-Key
:xxxxxxxxxxxxxxxxxxxx
Ocp-Apim-Subscription-Region
:xxxx
上行结构
public class TransTextItem
{
public string Text;
}
var transBody = new List<TransTextItem>();
var transTextItem = new TransTextItem
{
Text = "你是中国人吗?"
};
transBody.add(transTextItem);
示例:
[
{
"text": "你是中国人吗?"
},
{
"text": "你是中国人吗?"
}
]
下行结构
public class TransResultItem
{
public string Text { get; set; }
public string To { get; set; }
}
public class TransDetectItem
{
public string Language { get; set; }
public string Score { get; set; }
}
public class TransResultGroup
{
public TransResultItem Translations { get; set; }
public TransDetectItem DetectedLanguage { get; set; }
}
var transResult = HttpClient.Result as TransResultGroup[];
示例:
[
{
"translations": [
{
"text": "Are you Chinese?",
"to": "en"
}
]
},
{
"translations": [
{
"text": "Are you Chinese?",
"to": "en"
}
]
}
]
或者:
[
{
"detectedLanguage": {
"language": "zh-Hans",
"score": 1.0
},
"translations": [
{
"text": "É chinês?",
"to": "pt-PT"
}
]
},
{
"detectedLanguage": {
"language": "zh-Hans",
"score": 1.0
},
"translations": [
{
"text": "É chinês?",
"to": "pt-PT"
}
]
}
]
异常情况的结构:
public class TransErrorItem
{
public string Code { get; set; }
public string Message { get; set; }
}
public class TransResultError
{
public TransErrorItem Error { get; set; }
}
var transResult = HttpClient.Result as TransResultError;
{
"error": {
"code": 400035,
"message": "The source language is not valid."
}
}
历史小知识
波斯尼亚语和克罗地亚语
波斯尼亚语是波斯尼亚和黑塞哥维那的官方语言,属于印欧语系斯拉夫语族的南斯拉夫语支,基于舒特方言。在南斯拉夫社会主义联邦共和国因为内战瓦解前,并没有波斯尼亚语这样的说法,当时塞尔维亚人、克罗地亚人与波斯尼亚人,都是使用一种称为塞尔维亚-克罗地亚语的南斯拉夫官方语言。在内战的过程当中语言也产生了变化,虽然各族群在语言上的差异极微小,但是克罗地亚人主张其语言为不同于塞尔维亚语的克罗地亚语,波斯尼亚人也开始称他们所使用的语言为波斯尼亚语。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」