{"id":5546,"date":"2019-05-04T13:23:44","date_gmt":"2019-05-04T13:23:44","guid":{"rendered":"https:\/\/max-drake.cc\/?p=5546"},"modified":"2022-05-17T07:57:55","modified_gmt":"2022-05-17T07:57:55","slug":"glide-app-for-translation-using-google-translate-in-google-sheets","status":"publish","type":"post","link":"https:\/\/max-drake.cc\/?p=5546","title":{"rendered":"Glide App for translation using Google Translate in Google Sheets"},"content":{"rendered":"\n<p>I have written a couple of posts about translation Glide apps for bus tour, art Gallery &amp; museums. Initially I used the web page to translate individual cells to a different language, then used uploading a whole document to do the translation. <\/p>\n\n\n\n<p>While looking through the Glide Apps community posts <strong><a rel=\"noreferrer noopener\" aria-label=\"here (opens in a new tab)\" href=\"https:\/\/spectrum.chat\/glideapps?tab=posts\" target=\"_blank\">here<\/a><\/strong> I came across this translation app: <strong> <\/strong><a rel=\"noreferrer noopener\" aria-label=\"https:\/\/translationbuddy.glideapp.io\/  (opens in a new tab)\" href=\"https:\/\/translationbuddy.glideapp.io\/\" target=\"_blank\"><strong>https:\/\/translationbuddy.glideapp.io\/ <\/strong><\/a> by Amit Sarda who was posting about Google Sheet Scripts onEdit(e) function. Item <strong><a rel=\"noreferrer noopener\" aria-label=\"here. (opens in a new tab)\" href=\"https:\/\/spectrum.chat\/glideapps\/help\/triggering-onedit-in-google-sheets-when-edits-are-made-from-the-app~858a7b4c-18b2-4164-9d1e-39b6da8346b0\" target=\"_blank\">here.<\/a><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1019\" height=\"1024\" data-src=\"https:\/\/max-drake.cc\/wp-content\/uploads\/2019\/05\/2019-05-05-12_33_13-Glide-Translation-made-with-Glide-1019x1024.jpg\" alt=\"\" class=\"wp-image-5562 lazyload\" data-srcset=\"https:\/\/max-drake.cc\/wp-content\/uploads\/2019\/05\/2019-05-05-12_33_13-Glide-Translation-made-with-Glide-1019x1024.jpg 1019w, https:\/\/max-drake.cc\/wp-content\/uploads\/2019\/05\/2019-05-05-12_33_13-Glide-Translation-made-with-Glide-150x150.jpg 150w, https:\/\/max-drake.cc\/wp-content\/uploads\/2019\/05\/2019-05-05-12_33_13-Glide-Translation-made-with-Glide-300x300.jpg 300w, https:\/\/max-drake.cc\/wp-content\/uploads\/2019\/05\/2019-05-05-12_33_13-Glide-Translation-made-with-Glide-768x772.jpg 768w, https:\/\/max-drake.cc\/wp-content\/uploads\/2019\/05\/2019-05-05-12_33_13-Glide-Translation-made-with-Glide.jpg 1279w\" data-sizes=\"(max-width: 1019px) 100vw, 1019px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1019px; --smush-placeholder-aspect-ratio: 1019\/1024;\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"558\" height=\"1024\" data-src=\"https:\/\/max-drake.cc\/wp-content\/uploads\/2019\/05\/2019-05-05-12_33_48-Glide-Translation-made-with-Glide-558x1024.jpg\" alt=\"\" class=\"wp-image-5563 lazyload\" data-srcset=\"https:\/\/max-drake.cc\/wp-content\/uploads\/2019\/05\/2019-05-05-12_33_48-Glide-Translation-made-with-Glide-558x1024.jpg 558w, https:\/\/max-drake.cc\/wp-content\/uploads\/2019\/05\/2019-05-05-12_33_48-Glide-Translation-made-with-Glide-164x300.jpg 164w, https:\/\/max-drake.cc\/wp-content\/uploads\/2019\/05\/2019-05-05-12_33_48-Glide-Translation-made-with-Glide.jpg 707w\" data-sizes=\"(max-width: 558px) 100vw, 558px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 558px; --smush-placeholder-aspect-ratio: 558\/1024;\" \/><\/figure>\n\n\n\n<p>First off, I thought it was a cool app. I liked the idea of choosing a from  language and a to language. Very well thought out. <\/p>\n\n\n\n<p>Second, I thought, there must be a function that is doing the translation, on the fly as such. <\/p>\n\n\n\n<p>Third,  Amit Sarda  is using Google Sheets Scripts, which is what I&#8217;ve been playing with for email notifications and moving rows between sheets. The onEdit(e) function is not working properly on his app. <\/p>\n\n\n\n<p>So, for the second item I thought I&#8217;d google to see if there is a translation function in Google Sheets, and there is. I found<a rel=\"noreferrer noopener\" aria-label=\" this article  (opens in a new tab)\" href=\"https:\/\/www.lifehacker.com.au\/2019\/04\/how-to-use-google-sheets-to-translate-languages-for-you\/\" target=\"_blank\"> <\/a><strong><a rel=\"noreferrer noopener\" aria-label=\" this article  (opens in a new tab)\" href=\"https:\/\/www.lifehacker.com.au\/2019\/04\/how-to-use-google-sheets-to-translate-languages-for-you\/\" target=\"_blank\">this article<\/a><\/strong><a rel=\"noreferrer noopener\" aria-label=\" this article  (opens in a new tab)\" href=\"https:\/\/www.lifehacker.com.au\/2019\/04\/how-to-use-google-sheets-to-translate-languages-for-you\/\" target=\"_blank\"> <\/a>that discusses it. You use , in a cell:<\/p>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background\"><strong>=googletranslate(B2,&#8221;en&#8221;,&#8221;es&#8221;)  <\/strong>   ,       =GOOGLETRANSLATE(text, [source_language, target_language]) <\/p>\n\n\n\n<p>This was great, until i tried guessing some different languages 2 letter code, eg Chinese, I thought &#8220;ch&#8221; (NOPE), in fact, some of them are quite wierd, Chinese is in fact ZH, go figure. So I went looking for the 2 letter language codes, and came across this article that shows them:<\/p>\n\n\n\n<p class=\"has-light-green-cyan-background-color has-background\">2 letter language  codes: <a rel=\"noreferrer noopener\" aria-label=\"https:\/\/www.sitepoint.com\/iso-2-letter-language-codes (opens in a new tab)\" href=\"https:\/\/www.sitepoint.com\/iso-2-letter-language-codes\" target=\"_blank\">https:\/\/www.sitepoint.com\/iso-2-letter-language-codes<\/a><\/p>\n\n\n\n<p>So, I had a wee play with those in a spreadsheet, just using the original text from one of the museum apps I was developing, pointing to a cell with all the English text in and setting the TO language option. It works well, but chews it over a bit. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Workflow process<\/h3>\n\n\n\n<p>I would set up a sheet with all the languages that you want to translate and let google chew through the functions , then I&#8217;d copy the contents of the sheet and save it to a different App spreadsheet and PASTE VALUES into that sheet (you do not want the sheet with all the functions in it or it may have to load and process them each time you use the app. This would be a high overhead for a mobile app, so use KISS principle.<\/p>\n\n\n\n<p>I&#8217;d possibly have a couple of cells that you could change from one language to another as there would not be too much processing for that to take place within the main mobile app sheet (although I&#8217;d have to test that).<\/p>\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>I have written a couple of posts about translation Glide apps for bus tour, art Gallery &amp; museums. Initially I used the web page to translate individual cells to a different language, then used uploading a whole document to do the translation. While looking through the Glide Apps community posts here I came across this [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":9028,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[441],"tags":[],"class_list":["post-5546","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-glide-apps"],"featured_image_src":"https:\/\/max-drake.cc\/wp-content\/uploads\/2019\/05\/2022-05-17-19_57_10-Edit-Post-Glide-App-for-translation-using-Google-Translate-in-Google-Sheets-\u2039--600x400.jpg","featured_image_src_square":"https:\/\/max-drake.cc\/wp-content\/uploads\/2019\/05\/2022-05-17-19_57_10-Edit-Post-Glide-App-for-translation-using-Google-Translate-in-Google-Sheets-\u2039--600x600.jpg","author_info":{"display_name":"Max Drake","author_link":"https:\/\/max-drake.cc\/?author=1"},"_links":{"self":[{"href":"https:\/\/max-drake.cc\/index.php?rest_route=\/wp\/v2\/posts\/5546","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/max-drake.cc\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/max-drake.cc\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/max-drake.cc\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/max-drake.cc\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5546"}],"version-history":[{"count":1,"href":"https:\/\/max-drake.cc\/index.php?rest_route=\/wp\/v2\/posts\/5546\/revisions"}],"predecessor-version":[{"id":9029,"href":"https:\/\/max-drake.cc\/index.php?rest_route=\/wp\/v2\/posts\/5546\/revisions\/9029"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/max-drake.cc\/index.php?rest_route=\/wp\/v2\/media\/9028"}],"wp:attachment":[{"href":"https:\/\/max-drake.cc\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5546"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/max-drake.cc\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5546"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/max-drake.cc\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5546"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}