# Steam Store Page Localization > Localize Steam store pages with Crowdin URL: https://store.crowdin.com/steam-json Category: File Formats, Gaming Type: App Author: Awesome Crowdin > Note: Preview is unavailable at this point, plan to release it next week This Crowdin app facilitates the translation of content from the Steam store page that has been exported from Steamworks. As Steamworks does not have an API for automatic integration, it is necessary to manually export listing data and import translations. ## How It Works This app functions as a custom file format processor. When installed to a Crowdin project, every JSON file uploaded to that project will be processed by this app. We recommend carefully selecting which projects this app is installed to. Only install it on projects dedicated to Steam store page localization. ![How Steam localization works, a screenshot of Crowdin software](https://developers.app.crowdin.net/api/media/file/9c5752bf-f092-47db-8f6c-7b77f39ec29d.png) ## Workflow ### Step 1: Export from Steam In Steamworks, export your store page listing as multilingual JSON. Steam provides this option in the localization export dialog. Select **JSON** format and choose **all languages**. ### Step 2: Import Source Strings > Note: If necessary, review the app settings in Project > Settings > Parser configuration. Upload the exported JSON file to the Sources section of your Crowdin project. The app will extract all translatable strings. ### Step 3: Import Existing Translations If your Steam export contains existing translations, go to the Translations section in Crowdin and upload the same JSON file again. ### Step 5: Export Translations Download the translations from Crowdin. These files maintain the original Steam JSON structure and are ready to be imported into Steamworks. ## Configuration Access configuration in Project -> Settings -> File Processors when uploading the file. ![Connector configuration](https://developers.app.crowdin.net/api/media/file/d00c38a9-332c-41c1-8b03-0573298a35aa.png) ### BB Code Conversion Default: Enabled Steam uses BB codes for text formatting. When enabled, the app converts BB codes to HTML during import for better editing experience. On export, HTML is converted back to BB codes. Supported BB codes: p, b, i, u, s, h1, h2, h3, url, list, olist, quote, code, hr, spoiler, table, tr, td, th, img. ### HTML Segmentation Fields These settings control which fields are parsed as HTML for automatic sentence segmentation. **About This Game**: Default enabled. The main game description field. **Short Description**: Default disabled. When disabled, Crowdin enforces a 300 character maximum length. When enabled, segmentation is applied but max length is not enforced. **Review Quotes**: Default disabled. Review quote fields. ## Language Matching This app does not add target languages to the exported file. It only populates translations for languages that exist in the original Steam export. Ensure target languages in your Crowdin project match exactly with the languages configured in Steam. Mismatched languages will not appear in the export. ## Short Description Length Steam limits short descriptions to approximately 300 characters or 6 lines of text. Translations exceeding this limit are truncated on the store page. The app provides a WYSIWYG preview where linguists can see if their translation fits within the visible area. The preview attempts to replicate Steam store page styling but may not be 100% accurate. Consider instructing linguists to keep short description translations slightly shorter than the source when translating into languages that typically expand in length. If HTML segmentation is enabled for short description, the 300 character limit is not enforced by Crowdin. Keep segmentation disabled if character limit enforcement is important. ## Bundle Generator This app includes a bundle generator for single-language exports. Use this when you need to export translations for one language at a time instead of a multilingual file. The output matches Steam single-language JSON format. See Crowdin documentation on bundles: https://support.crowdin.com/bundles/ ## File Format Details | Attribute | Value | | --------- | ----- | | File Extension | .json | | [API Type](https://developer.crowdin.com/api/v2/#operation/api.projects.files.post) | steam-json | | Source can be edited in Crowdin | No | | Generating translated files via [Bundles](https://support.crowdin.com/bundles/) | [Search Crowdin Store](https://store.crowdin.com/tags/string-exporter) | | Supports pluralization | No | | WYSIWYG Preview in the editor | Yes | | Supported types of contextual information | Text comments, Screenshots, Live preview via SDK | | Custom attributes | No | | Existing translations import possibility | Key-value mapping | ## Sample File ```json { "itemid": "18435", "languages": { "english": { "app[content][about]": "[p]Commander Vance and his crew have a one-way ticket: They are tasked with colonizing the harshest moon in the sector... .[/i][\/p]", "app[content][short_description]": "A brutal survival strategy game set on a hostile moon. ", "app[content][sysreqs][mac][min][osversion]": "macOS 11.0+", "app[content][sysreqs][mac][min][processor]": "M1 Chip or higher", "app[content][sysreqs][mac][min][graphics]": "Metal capable GPU", "app[content][sysreqs][windows][min][osversion]": "Windows 10, 11 (64-bit)", "app[content][sysreqs][windows][min][processor]": "Intel Core i5-8400 / AMD Ryzen 5 2600", "app[content][sysreqs][windows][min][graphics]": "NVIDIA GTX 1060 6GB / AMD RX 580 8GB", "app[content][sysreqs][windows][min][soundcard]": "DirectX Compatible", "app[content][sysreqs][windows][min][notes]": "Headphones highly recommended for atmospheric horror.", "app[content][sysreqs][linux][min][osversion]": "SteamOS 3.0+", "app[content][sysreqs][linux][min][processor]": "Modern Quad Core", "app[content][sysreqs][linux][min][graphics]": "Vulkan support required", "app[content][sysreqs][linux][min][notes]": "Runs great on deck, just don't drop it when you get scared.", "app[content][reviews][0][quote]": "An absolutely suffocating atmosphere...", "app[content][reviews][1][quote]": "... The best survival mechanics I've seen in a decade.", "app[content][reviews][2][quote]": "I forgot to breathe. 10/10." }, "french": { "app[content][about]": "Le commandant Vance et son équipage ont un billet aller simple", "app[content][short_description]": "Un jeu de stratégie et de survie brutal sur une lune hostile.", "app[content][sysreqs][mac][min][osversion]": "macOS 11.0+", "app[content][sysreqs][mac][min][processor]": "Puce M1 ou supérieure", "app[content][sysreqs][mac][min][graphics]": "GPU compatible Metal", "app[content][sysreqs][windows][min][osversion]": "Windows 10, 11 (64-bit)", "app[content][sysreqs][windows][min][processor]": "Intel Core i5-8400 / AMD Ryzen 5 2600", "app[content][sysreqs][windows][min][graphics]": "NVIDIA GTX 1060 6GB / AMD RX 580 8GB", "app[content][sysreqs][windows][min][soundcard]": "Compatible DirectX", "app[content][sysreqs][windows][min][notes]": "Casque fortement recommandé pour l'ambiance horrifique.", "app[content][sysreqs][linux][min][osversion]": "SteamOS 3.0+", "app[content][sysreqs][linux][min][processor]": "Quad Core moderne", "app[content][sysreqs][linux][min][graphics]": "", "app[content][sysreqs][linux][min][notes]": "Fonctionne parfaitement sur Deck, essayez juste de ne pas le laisser tomber de peur.", "app[content][reviews][0][quote]": "Une atmosphère absolument étouffante...", "app[content][reviews][1][quote]": "… Les meilleures mécaniques de survie que j'ai vues depuis dix ans.", "app[content][reviews][2][quote]": "J'ai oublié de respirer. 10/10." } } } ```