Google Cloud Translator Service Spoke text splitting does not work<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } When setting up Dynamic translation with Google Cloud Translator Service Spoke and when trying to translate long content such as an extensive KB, customers receive a 400 response. Part of the translate text subflow that customers expected to split a text to parts does not always do it and generates this response body in outbound http request logs:{ "error": { "code": 400, "message": "Text is too long.", "status": "INVALID_ARGUMENT"**body truncated** } } This limitation is already documented when long translations are requested:https://www.servicenow.com/docs/r/platform-administration/dynamic-translation/limitations-dynamic-translation.htmlThe translate text subflow is not supposed to split a text to parts in order to keep the translation accurateThese limitations are at the Google end.Outbound http response says text is too long:"code": 400,"message": "Text is too long."Below is the reference document:https://cloud.google.com/translate/quotas Purpose of the "splitInputTextsIntoBatches" method in the script include GoogleTranslationBatchingUtil GoogleTranslationBatchingUtil can split requests containing multiple texts into batches such that each batch contains texts with a total character limit < 30000.It does not, however, split a single text > 30000 characters into multiple pieces.If two single texts were submitted, the translation subflow will loop over two batches, making two valid requests (within limits) instead of a single invalid requestFor a single large text of 30000 characters, GoogleTranslationBatchingUtil cannot split this further as it is not aware of the content in the text (it could wrongly split up a single word / html tag etc affecting the context and hence output and we do not want this behaviour) thus we rely on the downstream translation provider to translate the entire text, and are hence bound by its limits.Why is it retrieving the character limitsGoogleTranslationBatchingUtil is retrieving the character limits to only track whether the total characters in the request (across all texts) is less than 30000 and break the request into multiple batches of texts and not multiple pieces of a single text.For more information about Google translation Spoke, please visit our documentation page below: Google Cloud Translator Service Spoke