当前位置: 首页 > news >正文

外贸企业网站建设邯郸双曜网络科技有限公司

外贸企业网站建设,邯郸双曜网络科技有限公司,dw设计个人网页,做个简单的导航网站最近我们一个商城项目涉及多语言切换#xff0c;默认中文。用户切换语言可选英语和阿拉伯语言#xff0c;前端APP和后端返回动态数据都要根据用户选择语言来展示。前端静态内容都做了三套语言#xff0c;后端商品为了适用这种多语言我们也进行了改造。每一件商品名称#x…最近我们一个商城项目涉及多语言切换默认中文。用户切换语言可选英语和阿拉伯语言前端APP和后端返回动态数据都要根据用户选择语言来展示。前端静态内容都做了三套语言后端商品为了适用这种多语言我们也进行了改造。每一件商品名称图片价格等等 分别都有三中语言对应字段根据前端公共参数(放请求header中的语言标识) 返回不同语言的字段值。 所以在商品的新增修改等等地方商品名称介绍等等就需要 根据中文翻译成英文和阿拉伯语保存下来。通过多方对比最终发现阿里云机器翻译专业版还是最准确的可能是阿里本来就有海量商品他们翻译引擎训练的比较智能。 接下来我们梳理下整个对接流程官方文档 什么是机器翻译JavaSDK_机器翻译(Machine Translation)-阿里云帮助中心 1,引入官方提供的java 版本 maven sdk !-- 阿里云翻译sdk -- !-- https://mvnrepository.com/artifact/com.aliyun/alimt20181012 -- dependencygroupIdcom.aliyun/groupIdartifactIdalimt20181012/artifactIdversion1.3.1/versionexclusionsexclusiongroupIdcom.aliyun/groupIdartifactIdopenplatform20191219/artifactId/exclusionexclusiongroupIdcom.aliyun/groupIdartifactIdtea-openapi/artifactId/exclusionexclusiongroupIdcom.aliyun/groupIdartifactIdcredentials-java/artifactId/exclusionexclusiongroupIdcom.aliyun/groupIdartifactIdtea-openapi/artifactId/exclusionexclusiongroupIdcom.aliyun/groupIdartifactIdopenapiutil/artifactId/exclusionexclusiongroupIdcom.aliyun/groupIdartifactIdoss-util/artifactId/exclusionexclusiongroupIdcom.aliyun/groupIdartifactIdtea/artifactId/exclusionexclusiongroupIdcom.aliyun/groupIdartifactIdtea-rpc/artifactId/exclusionexclusiongroupIdcom.aliyun/groupIdartifactIdtea-util/artifactId/exclusionexclusiongroupIdcom.aliyun/groupIdartifactIdtea-rpc/artifactId/exclusion/exclusions /dependency!-- 商品图片搜索 -- dependencygroupIdcom.aliyun/groupIdartifactIdimagesearch20201214/artifactIdversion4.0.2/version /dependency 因为我们后面又使用了阿里的图片搜索所以里面很多jar和图像搜索中的有冲突如果只接入翻译实际上不需要排除。 2,定义配置 建议使用一个ram账号 拿ram的accessKeyId 和secret给这个子账号开通对应权限 public class AliYunTranslateConfig {private String accessKeyId;private String accessKeySecret;/*** 华南深圳 mt.aliyuncs.com* 阿联酋迪拜 mt.aliyuncs.com**/private String endpoint; }3,封装 核心翻译方法 public class AliTranslamt20181012 {private AliYunTranslateConfig aliYunTranslateConfig;public AliTranslamt20181012(AliYunTranslateConfig aliYunTranslateConfig) {this.aliYunTranslateConfig aliYunTranslateConfig;}/*** bdescription/b :* p使用AKamp;SK初始化账号Client/p* return Client** throws Exception*/public com.aliyun.alimt20181012.Client createClient() {com.aliyun.teaopenapi.models.Config config new com.aliyun.teaopenapi.models.Config()// 必填请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID.setAccessKeyId(aliYunTranslateConfig.getAccessKeyId())// 必填请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。.setAccessKeySecret(aliYunTranslateConfig.getAccessKeySecret());// Endpoint 请参考 https://api.aliyun.com/product/alimtconfig.endpoint aliYunTranslateConfig.getEndpoint(); // 深圳// 阿联酋迪拜 mt.aliyuncs.comClient client null;try {client new Client(config);} catch (Exception e) {log.error(调用阿里云 翻译 初始化失败cause:{},。,errorMsg:{},e.getCause().getMessage(),e.getMessage());e.printStackTrace();}return client;}/*** 翻译api** return*/public ListTranslateResponseBodyDataFromThirdPartDTO translate(ListAliYunTranslateDTO dtoList) {StopWatch stopWatch new StopWatch();stopWatch.start(thirdPart_wordFromZh2ArAndEn);com.aliyun.alimt20181012.Client client this.createClient();ListTranslateResponseBodyDataFromThirdPartDTO resultList new java.util.ArrayList(dtoList.size());dtoList.forEach(dto - {com.aliyun.alimt20181012.models.TranslateRequest translateRequest new com.aliyun.alimt20181012.models.TranslateRequest().setFormatType(dto.getFormatType()).setTargetLanguage(dto.getTargetLanguage()).setSourceLanguage(dto.getSourceLanguage()).setSourceText(dto.getSourceText()).setScene(dto.getScene()).setContext(dto.getContext());com.aliyun.teautil.models.RuntimeOptions runtime new com.aliyun.teautil.models.RuntimeOptions();TranslateResponseBodyDataFromThirdPartDTO result new TranslateResponseBodyDataFromThirdPartDTO();result.setRequestKey(dto.getRequestKey());resultList.add(result);try {TranslateResponse translateResponse client.translateWithOptions(translateRequest, runtime);log.info(调用翻译 输入参数{},JSONUtil.parse(dto));if(ObjectUtil.isNotNull(translateResponse)){log.info(调用翻译 得到的结果为{}, JSONUtil.parse(translateResponse.getBody()));if(200translateResponse.getStatusCode()){TranslateResponseBody.TranslateResponseBodyData data translateResponse.getBody().getData();BeanUtils.copyProperties(data, result);}else {log.error(调用翻译出错了statusCode:{},translateResponse.getStatusCode());}}} catch (TeaException error) {log.error(调用阿里云翻译出错了errorMsg:{},error.getMessage());com.aliyun.teautil.Common.assertAsString(error.message);} catch (Exception _error) {TeaException error new TeaException(_error.getMessage(), _error);System.out.println(error.getMessage());log.error(调用阿里云翻译出错了 exception msg:{},error.getMessage());com.aliyun.teautil.Common.assertAsString(error.message);}});stopWatch.stop();log.info(stopWatch.getLastTaskName()耗时:{} 毫秒,stopWatch.getLastTaskTimeMillis());return resultList;} } 其中 请求的dto结构如下其中scene是识别翻译的使用场景是商品标题还是描述异或者是客服沟通过程中的交流文字不同场景的设置使翻译更贴近我们的预期翻译结果。 context也是很有用的上下文语境我们翻译某一段内容在不同场景下可能前后与其相搭配的额外词汇。比如title 下我们可以加上 我在网上商城搜索了 商品标题是****“的商品”。 总之这两个参数的设置都是为了设置商品不同属性 指定其大概范围的从而能更准确的获得翻译结果。可以自己多调试下找到适合自己业务的一些词汇。 public class AliYunTranslateDTO implements Serializable {public static String FROMTYPE_HTML html;public static String FROMTYPE_TEXT text;// from 语言public static String SOURCELANGUAGE_ZH zh;// 翻译目标语言public static String TARGETLANGUAGE_EN en;public static String TARGETLANGUAGE_AR ar;// 场景可选取值商品标题title商品描述description商品沟通communication医疗medical社交social)金融financepublic static String SCENE_TITLE title;public static String SCENE_DESCRIPTION description;public static String SCENE_COMMUNICATION communication;public static String SCENE_MEDICAL medical;public static String SCENE_SOCIAL social;public static String SCENE_FINANCE finance;/*** 用于标注 翻译的请求唯一标识**/ApiModelProperty(hidden true)private String requestKey ;/*** 翻译文本的格式html 网页格式。设置此参数将对待翻译文本以及翻译后文本按照 html 格式进行处理、text文本格式。设置此参数将对传入待翻译文本以及翻译后结果不做文本格式处理统一按纯文本格式处理。**/ApiModelProperty(name 译文本的格式html 或text)private String FormatType;/**** 原文语言-from* 英语 - en* 中文 - zh* 阿拉伯语 - ar**/ApiModelProperty(name 原文语言-from)private String SourceLanguage;/*** 译文语言 -to* 英语 - en* 中文 - zh* 阿拉伯语 - ar**/ApiModelProperty(name 译文语言 -to)private String TargetLanguage;/*** 待翻译内容**/ApiModelProperty(name 待翻译内容)private String SourceText;/*** 场景可选取值商品标题title商品描述description商品沟通communication医疗medical社交social)金融finance**/ApiModelProperty(name 场景可选取值商品标题title商品描述description商品沟通communication医疗medical社交social)金融finance)private String Scene;/*** 上下文信息可选填 语境* 如 我在商城买了一件 */ApiModelProperty(name 上下文信息可选填 语境)private String Context;} 返回结果 dto public class TranslateResponseBodyDataFromThirdPartDTO {/*** 请求中携带的请求唯一标识,这是我们自定义的一个批次id**/private String requestKey;/*** zh 源语言传入auto时语种识别后的源语言代码*/public String detectedLanguage;/*** 翻译结果*/public String translated;/*** 总单词数*/public String wordCount; }
http://www.w-s-a.com/news/435870/

相关文章:

  • 做网站首页多少钱免费版企业邮箱注册
  • ppp模式在网站建设的南昌专业做网站公司哪家好
  • 泰安网站建设制作电话号码百度sem竞价托管公司
  • 苏网站建设网页设计和网页美工
  • 跨境电商平台网站广州地铁站路线图
  • 吉林省交通建设集团有限公司网站企业网站推广的策略有哪些
  • 网站内链怎么做更好郑州网站建设哪家便宜
  • 建设大型购物网站运城哪里做网站
  • php企业网站通讯录管理系统做网站在线支付系统多少钱?
  • 怎么区分用vs和dw做的网站贝贝网网站开发背景
  • 无锡网站建设制作建设信息网查询
  • 彩票系统网站开发建设人力资源网官网
  • 有专门下载地图做方案的网站吗网站建设平台计划书
  • 网站闭站保护10个著名摄影网站
  • 安徽省建设工程信息网官网首页网站关键词排名优化工具
  • 深圳网站建设 百业网站专题教程
  • 公司seo是指什么意思如何来做网站优化
  • 化妆品网站建设平台的分析湖南网站搜索排名优化电话
  • 织梦网站修改教程视频教程管理类网站开发价格
  • 如何让新网站快速收录企业建站的作用是什么
  • 在线制作简历的网站做的最好的微电影网站
  • h5制作的网站网络游戏投诉平台
  • 做外贸网站好还是内贸网站好珠海新盈科技有限公 网站建设
  • php和网站开发网络软营销
  • 大型做网站的公司有哪些wordpress注册链接无效
  • 推荐门户网站建设公司网站开发移动端
  • 公司网站的栏目设置成都十大监理公司排名
  • 安溪住房和城乡建设网站关岭县建设局网站
  • 网站域名注销备案徐州房产网
  • 筑聘网windows优化大师自动安装