# Translation - Pages

**URL:** <https://community.glideapps.com/t/translation-pages/56898>\
**Category:** Ask for Help\
**Created:** [January 19, 2023, 10:35pm UTC](https://community.glideapps.com/t/translation-pages/56898 "2023-01-19T22:35:10Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![kabookie](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/kabookie/32/10994_2.png) [@kabookie](https://community.glideapps.com/u/kabookie)\
**Post date:** [January 19, 2023, 10:35pm UTC](https://community.glideapps.com/t/translation-pages/56898/1 "2023-01-19T22:35:10Z")

</div>

I am looking at [gtranslate.io](http://gtranslate.io) as a viewer translation tool. It can translate any HTML website, but I’m guessing that Glide is not in that category - can someone confirm this? I played around with the free version and can’t figure out any way of using the code that was generated. It looks like this:

\< div class=“gtranslate\_wrapper”\>  
\< script\>window.gtranslateSettings = {“default\_language”:“en”,“detect\_browser\_language”:true,“languages”:[“en”,“fr”,“de”,“it”,“es”,“zh-CN”],“wrapper\_selector”:“.gtranslate\_wrapper”,“switcher\_horizontal\_position”:“right”,“switcher\_vertical\_position”:“top”}  
\< script src=“[https://cdn.gtranslate.net/widgets/v1.0.0/dwf.js](https://cdn.gtranslate.net/widgets/v1.0.0/dwf.js)” defer\>

(I had to insert spaces after the \< for the code to show up here)

Any insight would be appreciated as to if this is even possible in Glide Pages. Thanks!

---

<div class="post-metadata">

**Author:** ![Uzo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/uzo/32/22639_2.png) [@Uzo](https://community.glideapps.com/u/Uzo)\
**Post date:** [January 19, 2023, 11:11pm UTC](https://community.glideapps.com/t/translation-pages/56898/2 "2023-01-19T23:11:46Z")

</div>

and where are you planning to insert that code? 😉

---

<div class="post-metadata">

**Author:** ![kabookie](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/kabookie/32/10994_2.png) [@kabookie](https://community.glideapps.com/u/kabookie)\
**Post date:** [January 19, 2023, 11:17pm UTC](https://community.glideapps.com/t/translation-pages/56898/3 "2023-01-19T23:17:52Z")

</div>

LOL I have no idea - not even sure if I can. Just looking for a way for a viewer to chose another language to translate an app. If I can’t use this, I may just make the page in wordpress.

---

<div class="post-metadata">

**Author:** ![Uzo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/uzo/32/22639_2.png) [@Uzo](https://community.glideapps.com/u/Uzo)\
**Post date:** [January 19, 2023, 11:24pm UTC](https://community.glideapps.com/t/translation-pages/56898/4 "2023-01-19T23:24:47Z")

</div>

yep… you can paste that code there at the beginning of HTML…

in Glide, you can translate text using fetch JSON, and substitute it with a template column

> **[Translator DEMO](https://translator-demo2.glideapp.io/dl/d0a5f4/s/39ddac/r/5Fg8DND3RD6dDKoBxphChg)**
>
> Translate a text choosing from 110 countries or 51 languages, it will auto-detect language and roll text in the proper direction.

---

<div class="post-metadata">

**Author:** ![kabookie](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/kabookie/32/10994_2.png) [@kabookie](https://community.glideapps.com/u/kabookie)\
**Post date:** [January 19, 2023, 11:56pm UTC](https://community.glideapps.com/t/translation-pages/56898/5 "2023-01-19T23:56:55Z")

</div>

Okay - so I think I’m supposed to paste the URL part into the URL field and this part into the JQ Query part  
window.gtranslateSettings = {“default\_language”:“en”,“detect\_browser\_language”:true,“languages”:[“en”,“fr”,“de”,“it”,“es”,“zh-CN”],“wrapper\_selector”:“.gtranslate\_wrapper”,“switcher\_horizontal\_position”:“right”,“switcher\_vertical\_position”:“top”}

But that doesn’t seem to be working. Not sure what I’m doing wrong.

---

<div class="post-metadata">

**Author:** ![Uzo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/uzo/32/22639_2.png) [@Uzo](https://community.glideapps.com/u/Uzo)\
**Post date:** [January 20, 2023, 12:00am UTC](https://community.glideapps.com/t/translation-pages/56898/6 "2023-01-20T00:00:57Z")

</div>

no… i don’t know this service so I would have to experiment with that… but this is not how Query works

---

<div class="post-metadata">

**Author:** ![kabookie](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/kabookie/32/10994_2.png) [@kabookie](https://community.glideapps.com/u/kabookie)\
**Post date:** [January 20, 2023, 12:29am UTC](https://community.glideapps.com/t/translation-pages/56898/7 "2023-01-20T00:29:38Z")

</div>

Thanks, I haven’t been able to find any instructions on how to do it so was hoping to make it work.

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [January 20, 2023, 1:46am UTC](https://community.glideapps.com/t/translation-pages/56898/8 "2023-01-20T01:46:39Z")

</div>

> [@kabookie](#):
>
> (I had to insert spaces after the \< for the code to show up here)

Just for future reference, you can format code blocks using triple back ticks.

So this:

 ![Screen Shot 2023-01-20 at 9.44.21 AM](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/a/3/a3d06ecd25a9cd726fa9bced63e920ab8efbad38.png)

Will render like this:

```auto
<div class=“gtranslate_wrapper”>
<script>window.gtranslateSettings = { 
  “default_language”:“en”,
  “detect_browser_language”:true,
  “languages”: [“en”,“fr”,“de”,“it”,“es”,“zh-CN”],
  “wrapper_selector”:“.gtranslate_wrapper”,
  “switcher_horizontal_position”:“right”,
  “switcher_vertical_position”:“top”
}
<script src=“https://cdn.gtranslate.net/widgets/v1.0.0/dwf.js” defer>

```

---

<div class="post-metadata">

**Author:** ![kabookie](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/kabookie/32/10994_2.png) [@kabookie](https://community.glideapps.com/u/kabookie)\
**Post date:** [January 20, 2023, 1:59am UTC](https://community.glideapps.com/t/translation-pages/56898/9 "2023-01-20T01:59:28Z")

</div>

Thanks. One of my sons is a software developer so I’m going to see if he can help me figure out the JSON stuff this weekend.

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [January 20, 2023, 2:00am UTC](https://community.glideapps.com/t/translation-pages/56898/10 "2023-01-20T02:00:27Z")

</div>

I can’t say for certain, but I don’t think it will be possible.

---

<div class="post-metadata">

**Author:** ![kabookie](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/kabookie/32/10994_2.png) [@kabookie](https://community.glideapps.com/u/kabookie)\
**Post date:** [January 20, 2023, 2:04am UTC](https://community.glideapps.com/t/translation-pages/56898/11 "2023-01-20T02:04:27Z")

</div>

Always worth a try. Uzo has something working on his demo so that might be my plan B

---

<div class="post-metadata">

**Author:** ![Uzo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/uzo/32/22639_2.png) [@Uzo](https://community.glideapps.com/u/Uzo)\
**Post date:** [January 20, 2023, 2:21am UTC](https://community.glideapps.com/t/translation-pages/56898/12 "2023-01-20T02:21:00Z")

</div>

buy me a beer o two… and ill make you a JSON translator 😉

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [January 20, 2023, 2:33am UTC](https://community.glideapps.com/t/translation-pages/56898/13 "2023-01-20T02:33:30Z")

</div>

@kabookie if you want something that will do dynamic translations at the Glide Table level, I have a code column that will do the job (I originally copied it from David).

It uses the Google Translation API and requires an API key.

I use it in together with static translations whenever I need to support multiple languages.

You’re welcome to use it (or fork it) if it suits your purpose.

> **[GitHub - mcdarren/glide-translate](https://github.com/mcdarren/glide-translate)**
>
> Contribute to mcdarren/glide-translate development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![Uzo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/uzo/32/22639_2.png) [@Uzo](https://community.glideapps.com/u/Uzo)\
**Post date:** [January 20, 2023, 2:58am UTC](https://community.glideapps.com/t/translation-pages/56898/14 "2023-01-20T02:58:59Z")

</div>

that is a complicated method, just fetch directly from google using the fetch column… no API key, and no quota limits 😉

 ![translator](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/b/2/b2f7cb90a65ced9ee150996b37e7723de281eef2.jpeg)

 ![Screen Shot 2023-01-19 at 10.28.39 PM](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/6/a/6a7a14986cdac482d4fb276614df8bbcb5efac9a.png)

really fast… instant translation while typing.

---

<div class="post-metadata">

**Author:** ![kabookie](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/kabookie/32/10994_2.png) [@kabookie](https://community.glideapps.com/u/kabookie)\
**Post date:** [January 20, 2023, 4:01am UTC](https://community.glideapps.com/t/translation-pages/56898/15 "2023-01-20T04:01:47Z")

</div>

I did see that but when I tried to implement, I got lost in the google API world - too many choices to make that I couldn’t figure out 🤪

---

<div class="post-metadata">

**Author:** ![kabookie](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/kabookie/32/10994_2.png) [@kabookie](https://community.glideapps.com/u/kabookie)\
**Post date:** [January 20, 2023, 4:03am UTC](https://community.glideapps.com/t/translation-pages/56898/16 "2023-01-20T04:03:55Z")

</div>

My goal is for the user to select a language and then be able to read the page in that language - not an entry based translation. That is why I liked what I saw with gtranslate

---

<div class="post-metadata">

**Author:** ![Uzo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/uzo/32/22639_2.png) [@Uzo](https://community.glideapps.com/u/Uzo)\
**Post date:** [January 20, 2023, 4:08am UTC](https://community.glideapps.com/t/translation-pages/56898/17 "2023-01-20T04:08:03Z")

</div>

I know, but you can’t do that in glide… so what you can do… is let users select their language… and then have all your text in your app, to be translated… you can also use a navigator or IP address to detect visitor language, so they don’t need to choose.

I did that in my book App:

 ![Screen Shot 2023-01-19 at 11.12.24 PM](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/3/9/39e7b7bfb4d00c7523f47952d19f57ec0c153707.jpeg)

> **[Holy Bible](https://holy-bible.glideapp.io/dl/da19fa/s/2f27ab/r/l9u5JFWLSa6ORvl0yLJd5A/s/9d758b/r/l9ROxO7gRj2Cp1ZhTJMDKQ)**
>
> Holy Bible in English, Spanish, Polish and Tagalog plus english audio. Easy to search and read with adjustable fonts size.

---

<div class="post-metadata">

**Author:** ![kabookie](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/kabookie/32/10994_2.png) [@kabookie](https://community.glideapps.com/u/kabookie)\
**Post date:** [January 20, 2023, 4:18am UTC](https://community.glideapps.com/t/translation-pages/56898/18 "2023-01-20T04:18:39Z")

</div>

Hmmm… I may be buying you those beers.

---

<div class="post-metadata">

**Author:** ![Uzo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/uzo/32/22639_2.png) [@Uzo](https://community.glideapps.com/u/Uzo)\
**Post date:** [January 20, 2023, 4:25am UTC](https://community.glideapps.com/t/translation-pages/56898/19 "2023-01-20T04:25:16Z")

</div>

[![beer button](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/6/2/628f80dbbf71c07ddb7269668578af4019f49e55.png)](https://code-book-desktop.glideapp.io/dl/54886d)

---

<div class="post-metadata">

**Author:** ![Uzo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/uzo/32/22639_2.png) [@Uzo](https://community.glideapps.com/u/Uzo)\
**Post date:** [January 21, 2023, 11:11pm UTC](https://community.glideapps.com/t/translation-pages/56898/20 "2023-01-21T23:11:01Z")

</div>

I made a sample for you 😉

> [@twisted\_rightwards\_arrows Translate a Page to Any Language and Create HTML elements](https://community.glideapps.com/t/translate-a-page-to-any-language-and-create-html-elements/56954):
>
> A new Template for Pages: Translate your Page and adjust elements with HTML… Glide Pages. No API key, and no quota limits. It takes only 1 row in the Glide table.

[Next page](https://community.glideapps.com/t/translation-pages/56898.md?page=2)
