| 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 = os.environ.get("TENCENTCLOUD_SECRET_ID") |
| SecretKey = os.environ.get("TENCENTCLOUD_SECRET_KEY") |
| cred = credential.Credential(SecretId, SecretKey) |
| |
| httpProfile = HttpProfile() |
| httpProfile.endpoint = "tmt.tencentcloudapi.com" |
|
|
| |
| clientProfile = ClientProfile() |
| clientProfile.httpProfile = httpProfile |
| |
| 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 |