Hi,
We are trying to add our products and translations (languages) to files under version control to be able to re-add them to a Store or even adding them to a new Store.
For the product export/import we are looking at the Matrixify app (https://apps.shopify.com/excel-export-import), which does a pretty good job of this, but it does not currently handle translations for the products.
Using the built in export of languages from settings it is possible to export all the translations, however the export links translations of product fields and metadata fields using the ID of the object. This could be fine for re-importing to the same Store, but since Shopify generates new ID’s on a new store, we cannot use this to import the translations to another store.
We could build this functionality ourselves using the Admin API’s, however it seems like a fairly basic requirement so I’m wondering if there is any easy way of solving this?
Any help will be appreciated!
1 Like
Hi @SorenSkyum thanks for this. A couple of things:
- If by version control you mean Git I’d warn that translations don’t currently work well with Git and you should avoid this approach.
- To move translations from one store to another, there isn’t a programmatic way of doing it because as you say the IDs all change. However I have put together a fairly easy workaround here. Follow the instructions here with the exception of filtering down to ONLINE_STORE_THEME (as you want all translations). This matches the default content and pulls in the relevant translation.
Let me know any problems, but this should get you up and running.
Rich
1 Like
Thanks Rich,
Very helpfull - that is actually the workaround we decided on as well.
Regards,
Søren.
1 Like
The link to the workaround is dead can you update the link or share the workaround elsewhere please? we are looking at the same problem
Here you go:
There isn’t a native way to move manual translations between stores, but you can do it with the languages CSV export. You’ll need the CSV for both the old store, with its translations in place, and the new one, without translations. Languages > Settings > Export - make sure it’s the right theme. Only do this for one language at a time. Column G = Source content (i.e. English, if your default language is set to English), Column H = Translations.
-
Put both CSV exports in one Google Sheets file as separate sheets, and rename the old store’s export Sheet2 and the new one Sheet1.
-
On Sheet 1 in cell H2 (which should be the first of an empty column), paste this formula:
-
=IFERROR(VLOOKUP(G2, SORT({Sheet2!G:H, LEN(Sheet2!H:H)}, 3, FALSE), 2, FALSE), "")
-
Then auto-fill all the way down. This formula is matching based on column G default content. Where it finds a match between column G in Sheet1 and column G in Sheet2 it copies over what it finds in column H in Sheet2 to column H in Sheet1.
-
Export Sheet1 as a CSV.
-
Go to the new store, make sure you have the relevant language added already, then import this CSV.
THANK YOU!! Will try this out
1 Like