FashGate's picture
Upload 204 files
8a469fd
from scripts.physton_prompt.translator.base_tanslator import BaseTranslator
from scripts.physton_prompt.get_lang import get_lang
class AmazonTranslator(BaseTranslator):
def __init__(self):
super().__init__('amazon')
def translate(self, text):
if not text:
return ''
api_key_id = self.api_config.get('api_key_id', '')
api_key_secret = self.api_config.get('api_key_secret', '')
region = self.api_config.get('region', '')
if not api_key_id:
raise Exception(get_lang('is_required', {'0': 'API Key ID'}))
if not api_key_secret:
raise Exception(get_lang('is_required', {'0': 'API Key Secret'}))
if not region:
raise Exception(get_lang('is_required', {'0': 'Region'}))
import boto3
translate = boto3.client(service_name='translate', region_name=region, use_ssl=True,
aws_access_key_id=api_key_id, aws_secret_access_key=api_key_secret)
result = translate.translate_text(Text=text, SourceLanguageCode=self.from_lang, TargetLanguageCode=self.to_lang)
if 'TranslatedText' not in result:
raise Exception(get_lang('no_response_from', {'0': 'Amazon'}))
return result['TranslatedText']