Steam gives you no API for store page text. The only path is Steamworks, Store page, Localization, export the JSON, translate it, import it back.
Two things broke every time I tried to shortcut that with a generic translator.
First, BBCode. Text inside [b]...[/b] often comes back untranslated, and some tools translate the URL inside [img] tags, which silently breaks your images. The {STEAM_APP_IMAGE} token gets mangled the same way.
Second, the 300-character limit on the short description. German and Russian run long, and Steam just refuses the upload with no useful explanation.
So I built SteamLoc. It splits the JSON so tags and image URLs never reach the translator at all, checks every output file tag by tag against the original, and warns you when a short description goes over 300. There is also a glossary field for item, skill and system names, so they stay spelled the same way in every language.
Two languages are free with no signup, so you can judge the output before paying anything. https://steamloc.onrender.com
The output is AI translation. It is a draft you review, not a page you post unread. Steam also asks developers to disclose AI-generated content, including translated store text, so factor that in.
Happy to answer questions about the JSON format if anyone else is poking at this.