from tencentcloud.common import credential from tencentcloud.common.profile.client_profile import ClientProfile from tencentcloud.common.profile.http_profile import HttpProfile from tencentcloud.tmt.v20180321 import tmt_client, models class Translator: def __init__(self, secret_id:str, secret_key:str, *, region: str = 'ap-guangzhou'): # 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密 # 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305 # 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取 # 实例化一个http选项,可选的,没有特殊需求可以跳过 httpProfile = HttpProfile() httpProfile.endpoint = "tmt.tencentcloudapi.com" # 实例化一个client选项,可选的,没有特殊需求可以跳过 clientProfile = ClientProfile() clientProfile.httpProfile = httpProfile cred = credential.Credential(secret_id=secret_id, secret_key=secret_key) self.client = tmt_client.TmtClient(credential=cred, region=region, profile=clientProfile) def translate(self, text: str, *, source: str|None = 'auto', target: str|None = 'zh', project_id: int|None = None, untranslated_text: str|None = None ) -> str: # 实例化一个请求对象,每个接口都会对应一个request对象 req = models.TextTranslateRequest() req.SourceText = text req.Source = source req.Target = target req.ProjectId = project_id or 0 req.UntranslatedText = untranslated_text # 返回的resp是一个TextTranslateResponse的实例,与请求对象对应 resp = self.client.TextTranslate(req) # 输出json格式的字符串回包 return resp.TargetText if __name__ == '__main__': import argparse parser = argparse.ArgumentParser() parser.add_argument('--secret_id', type=str, required=True) parser.add_argument('--secret_key', type=str, required=True) args = parser.parse_args() t = Translator(args.secret_id, args.secret_key) r = t.translate('branch_company | number_of_contracts | total_contract_amount'.replace('_', ' '), untranslated_text='|') print(r)