src/iterate_googleapis_translate.workflows.yaml (40 lines of code) (raw):

# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # [START workflows_iterate_googleapis_translate] - init: assign: - textAndSourceLang: "Hello": "en" "Ciao": "it" "Auf wiedersehen": "de" "Goodbye": "en" "Bonjour": "fr" "lkajshflkj": "unknown" - allowedSourceLang: ["en", "de", "it", "fr"] - translateToFrench: for: value: text in: ${keys(textAndSourceLang)} steps: - verifySource: switch: - condition: ${not(textAndSourceLang[text] in allowedSourceLang)} next: continue - condition: ${textAndSourceLang[text] == "fr"} next: skipFrenchTranslation - translate: call: googleapis.translate.v2.translations.translate args: q: ${text} target: "fr" format: "text" source: ${textAndSourceLang[text]} result: translation - getTranslation: assign: - translated: ${translation.data.translations[0].translatedText} next: print - skipFrenchTranslation: assign: - translated: ${text} - print: call: sys.log args: text: '${"Original: " + text + ", Translation: " + translated}' # [END workflows_iterate_googleapis_translate]