Re: Shopify Translate and Adapt

Solved

More than 2 auto-translation languages in Shopify Translate and Adapt

amolloy21
Visitor
1 0 2

Hello! We are thinking about moving our translations to Shopify Translate and Adapt and see that it translates 2 languages for free. Are we able to translate more than 2 languages for a fee? 

Accepted Solutions (2)

Erin
Shopify Staff
1116 138 179

This is an accepted solution.

Hi there @amolloy21. I'm happy to help you out with this! Do you mind if I ask why you'd like more languages translated? Is your online store targeting many different markets?

 

At this time automatic translations within the Shopify Translate and Adapt app are limited to two languages and there isn't a way to pay for more automatic translations. That being said, you would still be able to manually translate content following these steps if you hit your limit. I'm happy to share this and any more feedback you have about this with our team who work on improvements to the app. We're always looking for ways to improve features. Especially this one since the app was released recently.

 

Please let me know if you have any questions!

Erin | Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit the Shopify Help Center or the Shopify Blog

View solution in original post

richbrown_staff
Shopify Staff
652 96 165

This is an accepted solution.

Hi @joeybab3 @Mark1988 , additional auto-translated languages is being considered, but there is not confirmation or a timeline as yet. In the mean time there is a workaround to get a similar result of Google Translate translations of your store, including HTML content. It uses the Languages CSV (Settings > Languages > Export) and employs the Google Translate API inside Google Sheets, creating an API.

 

Video:

 

Steps:

  • Add the language you want to translate into in Settings > Languages
  • Export the Languages CSV for just that language. Open in Google Sheets
  • Filter the sheet to only show blank fields in column H (where no default translations exit)
  • Create a new translation function by going to Extensions, Apps Script, then paste this function:
     
function translation(text, froml, tol) {
  // Check if source and target languages are the same
  if (froml === tol) {
    return ''; // Return blank if source and target languages are the same
  }
  
  // Check if source text is only a number
  if (!isNaN(text)){
    return ''; // Return blank if source text is only a number
  }

  // Convert text to string if it's not already
  var inputText = String(text);
  
  // Extract the Liquid code by matching text inside double curly brackets
  var liquidCode = inputText.match(/{{\s*[\w\.]+\s*}}/g);
  
  // Replace the Liquid code with a placeholder for translation
  var cleanedText = inputText.replace(/{{\s*[\w\.]+\s*}}/g, '[[liquid_code_placeholder]]');
  
  // Translate the cleanedText
  var translatedText = LanguageApp.translate(cleanedText, froml, tol, {contentType: 'html'});
  
  // Restore the Liquid code in the translated text
  if (liquidCode) {
    liquidCode.forEach(function(code, index) {
      translatedText = translatedText.replace('[[liquid_code_placeholder]]', code);
    });
  }
  
  return translatedText;
}
  • Then go and deploy your API:

 

1s8lfx2a3krc4qizljau.png

  • Press "Run", and return to Sheets. Then you can use the function in the sheet, for example:
=translation(G2,"en",D2)
  • And copy that down across the column. This will take some time to process all cells.
  • Once complete, export the CSV. Go back to Settings > Languages > Import.
  • This should give you a translated storefront. Publish the language.

To learn more visit the Shopify Help Center or the Community Blog.

View solution in original post

Replies 23 (23)

Erin
Shopify Staff
1116 138 179

This is an accepted solution.

Hi there @amolloy21. I'm happy to help you out with this! Do you mind if I ask why you'd like more languages translated? Is your online store targeting many different markets?

 

At this time automatic translations within the Shopify Translate and Adapt app are limited to two languages and there isn't a way to pay for more automatic translations. That being said, you would still be able to manually translate content following these steps if you hit your limit. I'm happy to share this and any more feedback you have about this with our team who work on improvements to the app. We're always looking for ways to improve features. Especially this one since the app was released recently.

 

Please let me know if you have any questions!

Erin | Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit the Shopify Help Center or the Shopify Blog

joeybab3
Shopify Partner
126 16 32

I would definitely like to add a +1 to this for our store, right now we have a really janky auto translate with google thing going but it would be much better to be able to tailer the content on our own using our native speakers of the languages. At the current moment yes we ca manually go and find every section to translate but it would be much easier to just fix the ones that are not right rather than start from scratch.

Erin
Shopify Staff
1116 138 179

Hi, @joeybab3. I'm happy to look into this with you! I completely understand why you want to have more tailored translations. Can you tell me more about the translation adjustments you're hoping to make?

 

You are currently able to manually fix translations without needing to start all of your translations over from scratch. You can read more about how to do this using the Translate & Adapt app here. You can do this by locating the translation you want to fix directly in the Translate & Adapt app. You can also do this by going to the content page that you want to translate and clicking More actions > Localize.

 

For example, if you want to fix the translation for the name of a product you can locate that product directly within the app and type in the translation you would like instead. 

 

04-21-88918-79868

 

You could also go directly to the product page in your Shopify admin. If you click More actions > Localize on that page you'll be brought to the same page in the screenshot above where you can make translation adjustments.

 

04-27-55429-67277

 

 

Please let me know if you have any questions!

Erin | Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit the Shopify Help Center or the Shopify Blog

joeybab3
Shopify Partner
126 16 32

The adjustments are I would like to auto-translate more than 2 languages, that is all 🙂 

MVWebmaster
Visitor
2 0 3

+1 here. Having ability to translate into more than 2 languages (either free or for a fee) would be nice to have.

Mark1988
Excursionist
42 0 5

Hi,  does anyone know when the maximum of 2 automatic translations will be increased? Have 7 more languages which need to be translated. If the App gets updated/extended soon, we can wait. Otherwise we need to make an alternative plan. Thanks for the update

joeybab3
Shopify Partner
126 16 32

Shopify has not said whether they are even looking into doing that, everything here is what they've said.

Mark1988
Excursionist
42 0 5

Ok, thanks for your reply. Have studied this a bit, and actually it's not to hard to arrange the translations for the other languages. Several ways to arrange it in a swift and afforable way  🙂  Ofcourse need to double check, but then at least the base is there

richbrown_staff
Shopify Staff
652 96 165

This is an accepted solution.

Hi @joeybab3 @Mark1988 , additional auto-translated languages is being considered, but there is not confirmation or a timeline as yet. In the mean time there is a workaround to get a similar result of Google Translate translations of your store, including HTML content. It uses the Languages CSV (Settings > Languages > Export) and employs the Google Translate API inside Google Sheets, creating an API.

 

Video:

 

Steps:

  • Add the language you want to translate into in Settings > Languages
  • Export the Languages CSV for just that language. Open in Google Sheets
  • Filter the sheet to only show blank fields in column H (where no default translations exit)
  • Create a new translation function by going to Extensions, Apps Script, then paste this function:
     
function translation(text, froml, tol) {
  // Check if source and target languages are the same
  if (froml === tol) {
    return ''; // Return blank if source and target languages are the same
  }
  
  // Check if source text is only a number
  if (!isNaN(text)){
    return ''; // Return blank if source text is only a number
  }

  // Convert text to string if it's not already
  var inputText = String(text);
  
  // Extract the Liquid code by matching text inside double curly brackets
  var liquidCode = inputText.match(/{{\s*[\w\.]+\s*}}/g);
  
  // Replace the Liquid code with a placeholder for translation
  var cleanedText = inputText.replace(/{{\s*[\w\.]+\s*}}/g, '[[liquid_code_placeholder]]');
  
  // Translate the cleanedText
  var translatedText = LanguageApp.translate(cleanedText, froml, tol, {contentType: 'html'});
  
  // Restore the Liquid code in the translated text
  if (liquidCode) {
    liquidCode.forEach(function(code, index) {
      translatedText = translatedText.replace('[[liquid_code_placeholder]]', code);
    });
  }
  
  return translatedText;
}
  • Then go and deploy your API:

 

1s8lfx2a3krc4qizljau.png

  • Press "Run", and return to Sheets. Then you can use the function in the sheet, for example:
=translation(G2,"en",D2)
  • And copy that down across the column. This will take some time to process all cells.
  • Once complete, export the CSV. Go back to Settings > Languages > Import.
  • This should give you a translated storefront. Publish the language.

To learn more visit the Shopify Help Center or the Community Blog.

Billyjoe_Jarvis
Tourist
9 0 1

This is very useful. Do you have a similar solution that uses chatGPT, their translations are much more authentic given the correct prompt. 

 

richbrown_staff
Shopify Staff
652 96 165

Hey @Billyjoe_Jarvis , we haven't but you'd totally be able to do that if you work out how to call chatGPT translations in Google Sheets. The key thing that the above function does is translate HTML but preserve tags.

To learn more visit the Shopify Help Center or the Community Blog.

rv3
Excursionist
20 0 3

hi! any other options? this gives me an error code: 

rv3_0-1698889528701.png

Would like to translate our store to additional 5 languages, the maximum 2 is a bit frustrating to shops from the EU 😞

richbrown_staff
Shopify Staff
652 96 165

Looks like you exceeded your daily allowance yesterday on Google's API, did you try again today?

 

Your other alternative is a third party app. Translate & Adapt is built by Shopify (our team) and uses the native translations API. Which means that the translations don't 'belong' to Translate & Adapt, they're saved to Shopify's databases. Which means that other apps that also use the native API can be used alongside Translate & Adapt. This is a collection of those apps: https://apps.shopify.com/collections/apps-for-store-languages

To learn more visit the Shopify Help Center or the Community Blog.

marcoswata
Shopify Partner
123 10 39

If someone runs into this problem, like I did.

 

You can also use Google Translate, which is native to Google Spreadsheets.

I tested and I did not see any problems with numbers, JSON data, Liquid code or HTML code.

It won't be perfect, but works OK for some languages.

 

This is the way to do it:

=GOOGLETRANSLATE(<cell>,<translate_from>,<translate_to>)


Example: if you want to translate from English to German:

=GOOGLETRANSLATE(B5,"en","de")

 

 

If my answer was helpful then please Like and Accept Solution 🙂
If you need help with design, development or marketing your store, contact me!
richbrown_staff
Shopify Staff
652 96 165

Hey @marcoswata , that's where I started but unfortunately I found that tags and liquid aren't recognised for me. Example here I tried translating to Serbian, and you'll see tags are translated:

 

richbrown_staff_0-1710338756293.png

 

To learn more visit the Shopify Help Center or the Community Blog.

Matei86
Excursionist
20 0 5

Here's an updated version to prevent the translation service from escaping the quotation marks into &quot; or other Unicode characters:

function translation(text, froml, tol) {
  // Check if source and target languages are the same
  if (froml === tol) {
    return text; // Return the original text if source and target languages are the same
  }
  
  // Check if source text is only a number
  if (!isNaN(text)) {
    return text; // Return the original text if source text is only a number
  }

  // Convert text to string if it's not already
  var inputText = String(text);
  
  // Extract the Liquid code by matching text inside double curly brackets
  var liquidCode = inputText.match(/{{\s*[\w\.]+\s*}}/g);
  
  // Replace the Liquid code with a placeholder for translation
  var cleanedText = inputText.replace(/{{\s*[\w\.]+\s*}}/g, '[[liquid_code_placeholder]]');
  
  // Translate the cleanedText
  var translatedText = LanguageApp.translate(cleanedText, froml, tol, {contentType: 'html'});
  
  // Decode HTML entities in the translated text
  translatedText = decodeHtmlEntities(translatedText);
  
  // Restore the Liquid code in the translated text
  if (liquidCode) {
    liquidCode.forEach(function(code, index) {
      translatedText = translatedText.replace('[[liquid_code_placeholder]]', code);
    });
  }
  
  // Remove unwanted whitespace after commas
  translatedText = translatedText.replace(/,\s+/g, ',');
  
  return translatedText;
}

// Utility function to decode HTML entities and replace typographic quotes
function decodeHtmlEntities(str) {
  var entitiesMap = {
    '&quot;': '"',
    '&amp;': '&',
    '&lt;': '<',
    '&gt;': '>',
    '&apos;': "'",
    '&#39;': "'",
    '&nbsp;': ' ',
    // ... (other entities)
  };
  
  // Replace HTML entities with their corresponding characters
  str = str.replace(/&[#\w]+;/g, function(entity) {
    return entitiesMap[entity] || entity;
  });

  // Replace typographic quotes with standard double quotes
  str = str.replace(/[\u201C\u201D\u201E\u201F\u2033\u2036]/g, '"');
  // Replace typographic single quotes/apostrophes if needed
  str = str.replace(/[\u2018\u2019\u201A\u201B\u2032\u2035]/g, "'");
  
  return str;
}
Antonekstrom1
Shopify Partner
1 0 1

Hello Rich,

 

My name is Anton, from Iggy Agency. We have tried this solution above with some mixed results. Mainly that it seems to require that you buy the API-tokens wich ends up with a heavy-cost for the merchant.

 

Would love to connect with you and find ways to improve translate & adapt for our merchants. I think we can give you great insights, as well as maybe learn a few ways to make the most use of translate & adapt. Currently, there are a few obsticles that makes the manual work high, resulting in a un-effective way of working with a merchant that has 5+ langs in translate & adapt, also since the auto-translation is limited to 2 langs. Is the aut-translation a question of technical limitation, or would you mind sharing why it's only two? I also think 9/10 merchants would like to pay just as long as they get more autotranslations.

 

Look forward for your reply! 🙂

Tongkatbutiken
Visitor
2 0 0

I did manually translation with google sheets, but when i have uploaded a new country on import.

Everything is just showing loading..? And when i search in the file that were uploaded nothing were written in the translation with that?

What is wrong then?

Tiparts
Tourist
8 0 1

Hi Admin, after a year, this app still limit to 2 languages.
We need more please.

Juantrov
Shopify Partner
3 0 1

What has worked very well for me has been the following:

  1. Export one of the languages with which you have used the auto-translation.
  2. Delete the exported language (so that one of the two uses of auto-translation is free again).
  3. Create a new lang and use the (available again) auto translate.
  4. Import again the lang you exported and deleted.

I hope this is useful 🙂

Tiparts
Tourist
8 0 1
Thanks for sharing,
may I know how you handle the language domain behind your URL ? Example
www.sample.com/de
www.sample.com/es

because my ultimate goal is let Google index my page in different
languages, so end user can search in native language and reach my page.

thanks.

DonnaC
Shopify Partner
6 0 1

It's been some years, so is there any movement in adding more languages please? We have ten languages and the manual method is hideously cruel. With thousands of blog articles, douzens of pages at least, and products on top, that's a lot of opening URLs and clicking one at a time, and terrible for RSI.

 

Even if you're only shipping to the EU there are considerably more than two languages to add, and each new language added has the opportunity to boost merchant sales. So why would Shopify want to limit us and restrict our growth over a button. We're all willing to pay any costs involved.

Kuadros
Tourist
6 0 1

HI Donna, we agree Shopify really needs to fix this. In the meantime, out of desperation, I went and coded a script to automate the translation in mass using Chatgpt's new 4o model via API. I tried all the apps, and they provided me with a terrible translation which damaged the reputation of my store and made me drop sales significantly. The new neural translation done by Chatgpt 4o has basically no comparison, the translation is awesome. I'm now offering this service for a fee if you are interested, all you need to give me is the CSV file for the setion you need translated, for instance, Blogs, Pages, Theme, etc. This can easily be exported. I can record a short demo of your translation and if you like it we can proceed to the next stage until all your translation is finished. Unlike some apps, since this is still manual work, the translation will take 2-3 weeks depending on the size of the store, since I don't have an app and I am using google sheets to do the mass translations. You may drop me a line if you are interested at diego.bronstein@bronvy.com