gitee.com/larksuite/oapi-sdk-go/v3@v3.0.3/service/translation/v1/model.go (about) 1 // Package translation code generated by oapi sdk gen 2 /* 3 * MIT License 4 * 5 * Copyright (c) 2022 Lark Technologies Pte. Ltd. 6 * 7 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 8 * 9 * The above copyright notice and this permission notice, shall be included in all copies or substantial portions of the Software. 10 * 11 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 12 */ 13 14 package larktranslation 15 16 import ( 17 "gitee.com/larksuite/oapi-sdk-go/v3/core" 18 ) 19 20 type Term struct { 21 From *string `json:"from,omitempty"` // 原文 22 To *string `json:"to,omitempty"` // 译文 23 } 24 25 type TermBuilder struct { 26 from string // 原文 27 fromFlag bool 28 to string // 译文 29 toFlag bool 30 } 31 32 func NewTermBuilder() *TermBuilder { 33 builder := &TermBuilder{} 34 return builder 35 } 36 37 // 原文 38 // 39 // 示例值:飞书 40 func (builder *TermBuilder) From(from string) *TermBuilder { 41 builder.from = from 42 builder.fromFlag = true 43 return builder 44 } 45 46 // 译文 47 // 48 // 示例值:Lark 49 func (builder *TermBuilder) To(to string) *TermBuilder { 50 builder.to = to 51 builder.toFlag = true 52 return builder 53 } 54 55 func (builder *TermBuilder) Build() *Term { 56 req := &Term{} 57 if builder.fromFlag { 58 req.From = &builder.from 59 60 } 61 if builder.toFlag { 62 req.To = &builder.to 63 64 } 65 return req 66 } 67 68 type Text struct { 69 } 70 71 type DetectTextReqBodyBuilder struct { 72 text string // 需要被识别语种的文本 73 textFlag bool 74 } 75 76 func NewDetectTextReqBodyBuilder() *DetectTextReqBodyBuilder { 77 builder := &DetectTextReqBodyBuilder{} 78 return builder 79 } 80 81 // 需要被识别语种的文本 82 // 83 //示例值:你好 84 func (builder *DetectTextReqBodyBuilder) Text(text string) *DetectTextReqBodyBuilder { 85 builder.text = text 86 builder.textFlag = true 87 return builder 88 } 89 90 func (builder *DetectTextReqBodyBuilder) Build() *DetectTextReqBody { 91 req := &DetectTextReqBody{} 92 if builder.textFlag { 93 req.Text = &builder.text 94 } 95 return req 96 } 97 98 type DetectTextPathReqBodyBuilder struct { 99 text string // 需要被识别语种的文本 100 textFlag bool 101 } 102 103 func NewDetectTextPathReqBodyBuilder() *DetectTextPathReqBodyBuilder { 104 builder := &DetectTextPathReqBodyBuilder{} 105 return builder 106 } 107 108 // 需要被识别语种的文本 109 // 110 // 示例值:你好 111 func (builder *DetectTextPathReqBodyBuilder) Text(text string) *DetectTextPathReqBodyBuilder { 112 builder.text = text 113 builder.textFlag = true 114 return builder 115 } 116 117 func (builder *DetectTextPathReqBodyBuilder) Build() (*DetectTextReqBody, error) { 118 req := &DetectTextReqBody{} 119 if builder.textFlag { 120 req.Text = &builder.text 121 } 122 return req, nil 123 } 124 125 type DetectTextReqBuilder struct { 126 apiReq *larkcore.ApiReq 127 body *DetectTextReqBody 128 } 129 130 func NewDetectTextReqBuilder() *DetectTextReqBuilder { 131 builder := &DetectTextReqBuilder{} 132 builder.apiReq = &larkcore.ApiReq{ 133 PathParams: larkcore.PathParams{}, 134 QueryParams: larkcore.QueryParams{}, 135 } 136 return builder 137 } 138 139 // 机器翻译 (MT),支持 100 多种语言识别,返回符合 ISO 639-1 标准 140 func (builder *DetectTextReqBuilder) Body(body *DetectTextReqBody) *DetectTextReqBuilder { 141 builder.body = body 142 return builder 143 } 144 145 func (builder *DetectTextReqBuilder) Build() *DetectTextReq { 146 req := &DetectTextReq{} 147 req.apiReq = &larkcore.ApiReq{} 148 req.apiReq.Body = builder.body 149 return req 150 } 151 152 type DetectTextReqBody struct { 153 Text *string `json:"text,omitempty"` // 需要被识别语种的文本 154 } 155 156 type DetectTextReq struct { 157 apiReq *larkcore.ApiReq 158 Body *DetectTextReqBody `body:""` 159 } 160 161 type DetectTextRespData struct { 162 Language *string `json:"language,omitempty"` // 识别的文本语种,返回符合 ISO 639-1 标准 163 } 164 165 type DetectTextResp struct { 166 *larkcore.ApiResp `json:"-"` 167 larkcore.CodeError 168 Data *DetectTextRespData `json:"data"` // 业务数据 169 } 170 171 func (resp *DetectTextResp) Success() bool { 172 return resp.Code == 0 173 } 174 175 type TranslateTextReqBodyBuilder struct { 176 sourceLanguage string // 源语言 177 sourceLanguageFlag bool 178 text string // 源文本 179 textFlag bool 180 targetLanguage string // 目标语言 181 targetLanguageFlag bool 182 glossary []*Term // 请求级术语表,携带术语,仅在本次翻译中生效(最多能携带 128个术语词) 183 glossaryFlag bool 184 } 185 186 func NewTranslateTextReqBodyBuilder() *TranslateTextReqBodyBuilder { 187 builder := &TranslateTextReqBodyBuilder{} 188 return builder 189 } 190 191 // 源语言 192 // 193 //示例值:zh 194 func (builder *TranslateTextReqBodyBuilder) SourceLanguage(sourceLanguage string) *TranslateTextReqBodyBuilder { 195 builder.sourceLanguage = sourceLanguage 196 builder.sourceLanguageFlag = true 197 return builder 198 } 199 200 // 源文本 201 // 202 //示例值:尝试使用一下飞书吧 203 func (builder *TranslateTextReqBodyBuilder) Text(text string) *TranslateTextReqBodyBuilder { 204 builder.text = text 205 builder.textFlag = true 206 return builder 207 } 208 209 // 目标语言 210 // 211 //示例值:en 212 func (builder *TranslateTextReqBodyBuilder) TargetLanguage(targetLanguage string) *TranslateTextReqBodyBuilder { 213 builder.targetLanguage = targetLanguage 214 builder.targetLanguageFlag = true 215 return builder 216 } 217 218 // 请求级术语表,携带术语,仅在本次翻译中生效(最多能携带 128个术语词) 219 // 220 //示例值: 221 func (builder *TranslateTextReqBodyBuilder) Glossary(glossary []*Term) *TranslateTextReqBodyBuilder { 222 builder.glossary = glossary 223 builder.glossaryFlag = true 224 return builder 225 } 226 227 func (builder *TranslateTextReqBodyBuilder) Build() *TranslateTextReqBody { 228 req := &TranslateTextReqBody{} 229 if builder.sourceLanguageFlag { 230 req.SourceLanguage = &builder.sourceLanguage 231 } 232 if builder.textFlag { 233 req.Text = &builder.text 234 } 235 if builder.targetLanguageFlag { 236 req.TargetLanguage = &builder.targetLanguage 237 } 238 if builder.glossaryFlag { 239 req.Glossary = builder.glossary 240 } 241 return req 242 } 243 244 type TranslateTextPathReqBodyBuilder struct { 245 sourceLanguage string // 源语言 246 sourceLanguageFlag bool 247 text string // 源文本 248 textFlag bool 249 targetLanguage string // 目标语言 250 targetLanguageFlag bool 251 glossary []*Term // 请求级术语表,携带术语,仅在本次翻译中生效(最多能携带 128个术语词) 252 glossaryFlag bool 253 } 254 255 func NewTranslateTextPathReqBodyBuilder() *TranslateTextPathReqBodyBuilder { 256 builder := &TranslateTextPathReqBodyBuilder{} 257 return builder 258 } 259 260 // 源语言 261 // 262 // 示例值:zh 263 func (builder *TranslateTextPathReqBodyBuilder) SourceLanguage(sourceLanguage string) *TranslateTextPathReqBodyBuilder { 264 builder.sourceLanguage = sourceLanguage 265 builder.sourceLanguageFlag = true 266 return builder 267 } 268 269 // 源文本 270 // 271 // 示例值:尝试使用一下飞书吧 272 func (builder *TranslateTextPathReqBodyBuilder) Text(text string) *TranslateTextPathReqBodyBuilder { 273 builder.text = text 274 builder.textFlag = true 275 return builder 276 } 277 278 // 目标语言 279 // 280 // 示例值:en 281 func (builder *TranslateTextPathReqBodyBuilder) TargetLanguage(targetLanguage string) *TranslateTextPathReqBodyBuilder { 282 builder.targetLanguage = targetLanguage 283 builder.targetLanguageFlag = true 284 return builder 285 } 286 287 // 请求级术语表,携带术语,仅在本次翻译中生效(最多能携带 128个术语词) 288 // 289 // 示例值: 290 func (builder *TranslateTextPathReqBodyBuilder) Glossary(glossary []*Term) *TranslateTextPathReqBodyBuilder { 291 builder.glossary = glossary 292 builder.glossaryFlag = true 293 return builder 294 } 295 296 func (builder *TranslateTextPathReqBodyBuilder) Build() (*TranslateTextReqBody, error) { 297 req := &TranslateTextReqBody{} 298 if builder.sourceLanguageFlag { 299 req.SourceLanguage = &builder.sourceLanguage 300 } 301 if builder.textFlag { 302 req.Text = &builder.text 303 } 304 if builder.targetLanguageFlag { 305 req.TargetLanguage = &builder.targetLanguage 306 } 307 if builder.glossaryFlag { 308 req.Glossary = builder.glossary 309 } 310 return req, nil 311 } 312 313 type TranslateTextReqBuilder struct { 314 apiReq *larkcore.ApiReq 315 body *TranslateTextReqBody 316 } 317 318 func NewTranslateTextReqBuilder() *TranslateTextReqBuilder { 319 builder := &TranslateTextReqBuilder{} 320 builder.apiReq = &larkcore.ApiReq{ 321 PathParams: larkcore.PathParams{}, 322 QueryParams: larkcore.QueryParams{}, 323 } 324 return builder 325 } 326 327 // 机器翻译 (MT),支持以下语种互译:;"zh": 汉语;;"zh-Hant": 繁体汉语;;"en": 英语;;"ja": 日语;;"ru": 俄语;;"de": 德语;;"fr": 法语;;"it": 意大利语;;"pl": 波兰语;;"th": 泰语;;"hi": 印地语;;"id": 印尼语;;"es": 西班牙语;;"pt": 葡萄牙语;;"ko": 朝鲜语;;"vi": 越南语; 328 func (builder *TranslateTextReqBuilder) Body(body *TranslateTextReqBody) *TranslateTextReqBuilder { 329 builder.body = body 330 return builder 331 } 332 333 func (builder *TranslateTextReqBuilder) Build() *TranslateTextReq { 334 req := &TranslateTextReq{} 335 req.apiReq = &larkcore.ApiReq{} 336 req.apiReq.Body = builder.body 337 return req 338 } 339 340 type TranslateTextReqBody struct { 341 SourceLanguage *string `json:"source_language,omitempty"` // 源语言 342 Text *string `json:"text,omitempty"` // 源文本 343 TargetLanguage *string `json:"target_language,omitempty"` // 目标语言 344 Glossary []*Term `json:"glossary,omitempty"` // 请求级术语表,携带术语,仅在本次翻译中生效(最多能携带 128个术语词) 345 } 346 347 type TranslateTextReq struct { 348 apiReq *larkcore.ApiReq 349 Body *TranslateTextReqBody `body:""` 350 } 351 352 type TranslateTextRespData struct { 353 Text *string `json:"text,omitempty"` // 翻译后的文本 354 } 355 356 type TranslateTextResp struct { 357 *larkcore.ApiResp `json:"-"` 358 larkcore.CodeError 359 Data *TranslateTextRespData `json:"data"` // 业务数据 360 } 361 362 func (resp *TranslateTextResp) Success() bool { 363 return resp.Code == 0 364 }