如何通过Google Translate API获取单词翻译后的英文罗马化形式?
获取翻译结果的英文罗马化形式方案
一、基于你当前使用的Google Cloud Translate API实现
Google Cloud Translate API支持获取音译(罗马化)结果,无需切换服务,可通过以下两种方式实现:
1. 专用音译API(TransliterateText)
直接将目标语言字符转换为罗马化形式,以日语为例,Python客户端代码示例:
from google.cloud import translate_v3 as translate client = translate.TranslationServiceClient() parent = f"projects/[你的项目ID]/locations/global" response = client.transliterate_text( parent=parent, contents=["こんにちは"], source_language_code="ja", target_language_code="en" ) for transliteration in response.transliterations: print(transliteration.transliterated_text) # 输出:Kon'nichiwa
2. 翻译请求中同时获取音译
一次请求同时拿到翻译文本和罗马化形式,添加transliteration_config参数即可:
from google.cloud import translate_v3 as translate client = translate.TranslationServiceClient() parent = f"projects/[你的项目ID]/locations/global" transliteration_config = { "source_language_code": "en", "target_language_code": "ja", "transliteration_source_language_code": "ja", "transliteration_target_language_code": "en" } response = client.translate_text( parent=parent, contents=["hello"], target_language_code="ja", source_language_code="en", transliteration_config=transliteration_config ) for translation in response.translations: print("翻译结果:", translation.translated_text) print("罗马化形式:", translation.transliterated_text) # 输出: # 翻译结果: こんにちは # 罗马化形式: Kon'nichiwa
二、免费替代API选项
如果需要带免费额度的第三方服务,可考虑以下两个选项:
1. Yandex Translate API
免费版每月提供100万字符额度,支持返回音译结果。curl请求示例:
curl -X POST "https://translate.yandex.net/api/v1.5/tr.json/translate" \ -d "key=你的API密钥" \ -d "text=hello" \ -d "lang=en-ja" \ -d "format=plain" \ -d "options=1"
返回结果中的translit字段即为罗马化形式。
2. LibreTranslate
开源免费的翻译API,部分语言(如日语、韩语)支持罗马化,可使用公共实例或自行部署。curl请求示例:
curl -X POST "https://libretranslate.de/translate" \ -H "Content-Type: application/json" \ -d '{"q":"hello","source":"en","target":"ja","format":"text"}'
返回结果会附带对应语言的罗马化字段,具体取决于语言支持情况。
内容的提问来源于stack exchange,提问作者Ujjwal Kumar Maharana
相关产品推荐
相关产品推荐

