I’m working on automatic translating app for Shopify Store. When I was trying to translate OnlineStoreThemeLocaleContent I got an error that there’re too many Translation keys. Is there any rate limiting for Translatable units?
Because I didn’t reach general rate limiting. When I was pushing single Translation for one of failed keys it was pushed successfully. That’s why I think there’s a rate limit for Translations pushing.
Hey @EgorOkhotin At the moment, there is a limitation on the number of translation keys allowed for a theme, which at this time is a max amount of 3400. The error you’re seeing there is likely not a rate limit, but the limitation on the number of translation keys themselves. This 3400 limit is per theme locale file.
If you did want to add more, you will need to remove unwanted or unused translation keys from that specific locale file in order to keep them under 3400.
Hope this helps - let me know if I can clarify anything on our end here
Hi, we’re developing a translation app and keep running into a recurring issue across multiple stores, particularly with the Theme resource. Interestingly, other translation apps manage to handle these larger themes without problems, so we figure there must be a solution.
We’ve already optimized and cleaned up the locale file as much as possible, but with certain themes the number of elements is just overwhelming. In this situation, what’s the usual approach? Is there an alternative way of storing the data? We considered moving it outside or into JSON, but that runs into complications with Liquid variables, so it doesn’t seem viable.
Any suggestions or insights would be greatly appreciated. Thanks in advance!
I can’t say for sure how other translation apps handle this, but one possible route to look into that I can think of would be storing overflow translations in metafields and then swapping content client-side in the theme itself, or by leveraging theme app extensions to inject translations for specific sections.
The 3400 key constraint is a known platform limitation though, and for now, I’d recommend auditing which keys are truly essential and considering a hybrid approach where SEO-critical content stays in locale files while other translations are loaded dynamically. Hope this helps a bit - let me know if I can help out further!
Hi Alan, thank you for this! Can I just check, for example Shopify has already default translations for checkout in each of the languages available, how can we access that data? That would help I believe.
To be more precise, how can we access: “Cart, checkout, search, cookie banner, gift card, password, privacy policy, 404, and customer account” translations, which Shopify already has translated?