Spaces:
Running
Running
import json, os | |
from tencentcloud.common import credential | |
from tencentcloud.common.profile.client_profile import ClientProfile | |
from tencentcloud.common.profile.http_profile import HttpProfile | |
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException | |
from tencentcloud.tmt.v20180321 import tmt_client, models | |
def get_tmt_client(): | |
try: | |
# 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密 | |
# 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305 | |
# 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取 | |
SecretId = os.environ.get("TENCENTCLOUD_SECRET_ID") | |
SecretKey = os.environ.get("TENCENTCLOUD_SECRET_KEY") | |
cred = credential.Credential(SecretId, SecretKey) | |
# 实例化一个http选项,可选的,没有特殊需求可以跳过 | |
httpProfile = HttpProfile() | |
httpProfile.endpoint = "tmt.tencentcloudapi.com" | |
# 实例化一个client选项,可选的,没有特殊需求可以跳过 | |
clientProfile = ClientProfile() | |
clientProfile.httpProfile = httpProfile | |
# 实例化要请求产品的client对象,clientProfile是可选的 | |
client = tmt_client.TmtClient(cred, "ap-shanghai", clientProfile) | |
print(f'client_{client}') | |
return client | |
except TencentCloudSDKException as err: | |
print(f'client_err_{err}') | |
return None | |
def getTextTrans_tmt(tmt_client, text, source='zh', target='en'): | |
def is_chinese(string): | |
for ch in string: | |
if u'\u4e00' <= ch <= u'\u9fff': | |
return True | |
return False | |
if tmt_client is None: | |
return text | |
if not is_chinese(text) and target == 'en': | |
return text | |
try: | |
req = models.TextTranslateRequest() | |
params = { | |
"SourceText": text, | |
"Source": source, | |
"Target": target, | |
"ProjectId": 0 | |
} | |
req.from_json_string(json.dumps(params)) | |
resp = tmt_client.TextTranslate(req) | |
return resp.TargetText | |
except Exception as e: | |
return text |