ShotLattice workflow
Localize App Store screenshots with CSV copy
Use a simple UTF-8 CSV to keep language defaults reviewable, then add per-image overrides only after real screenshot filenames have been imported and mapped in ShotLattice.
Separate copy planning from screenshot capture
Localisation is easier to review when the copy plan is separate from the images, but still tied to a real screenshot order. Start with a short table outside the tool: the approved screenshot filename, the screen’s purpose, its default headline, and its default subtitle for each locale. Keep the mapping with the release rather than putting guessed filenames in a reusable template.
ShotLattice imports UTF-8 CSV copy with four required columns: code, label, headline, and subtitle. A fifth column, image_id, is optional and is used only for a specific image/language override. The downloadable template contains language defaults only. Its minimal shape is:
code,label,headline,subtitle,image_id
en,English,Your approved headline,Your approved supporting line,
sv,Svenska,Er godkända rubrik,Er godkända stödtext,Download the localisation template and open it in a spreadsheet or plain-text editor that preserves UTF-8 CSV. Replace the example copy with approved wording. Keep headings and subtitles concise enough to remain readable on their corresponding screen; the tool will block export if the chosen layout cannot contain the copy.
Import default language rows first
A row with a blank image_id sets the default headline and subtitle for that language. Begin with one such row for every language you intend to ship. Language codes must be unique and use letters, for example en, sv, or a language-region form such as en-GB. The full version supports up to five languages.
Import your screenshots first when you are preparing a live release, then import the CSV. Review the default wording against every screen in the preview. A default row is a controlled starting point, not a claim that every screenshot needs identical copy. The benefit is that a revision to a language default is made once, rather than copied into many independent text fields.
Use real review ownership: the person responsible for the product message approves the base language, and a qualified reviewer approves each locale. ShotLattice does not translate automatically. It preserves the copy you supply, including quoted CSV values and line breaks, so do not assume that imported text has been rewritten or localised for you.
Add overrides only with a real image mapping
Use an override only when the default copy does not accurately describe a particular image. An override row needs the existing image ID in image_id, and there must already be a default row for the same language. Each image ID/language pair can occur only once. This prevents a CSV from silently choosing between two different messages for the same screenshot.
The interface shows the filename and dimensions, but it does not display the internal image ID. Use this exact route: import the real screenshots, choose Save project, then open the downloaded shotlattice-project-v1.json in a text editor. In its images array, match each name to your screenshot filename and copy that object’s id value into the CSV image_id column. Keep working from that same saved project when you import the override CSV. If you replace an imported image, ShotLattice retains its existing ID, but a changed capture list still deserves a mapping review.
For each locale, preview the complete selected image × language × format set. The full version has three layouts: headline above the screenshot, text beside the screenshot, and screenshot with subtitle. It supports the iPhone 6.9-inch and iPad 13-inch portrait presets only. These are two supported export presets, not a complete App Store media matrix.
Check delivery requirements separately from copy
Before export, confirm Apple’s current device, orientation, image-format, and screenshot-count requirements for the app record. Apple accepts one to ten screenshots in JPEG, JPG, or PNG formats, and its required display sizes depend on the platforms and media wells involved. For example, the two ShotLattice portrait presets do not cover Mac, Apple Watch, Apple TV, Vision Pro, landscape variants, or every iPhone and iPad size.
When every selected preview is complete and fits, export the PNG ZIP. Inspect the output before a separate App Store Connect upload. ShotLattice has no App Store Connect upload flow, no device frames, no translation service, and no App Review guarantee. It prepares a local, reviewable image set; the release owner still chooses what to submit.
For the capture-and-export sequence, read How to prepare App Store screenshots on a Mac. See ShotLattice’s full workflow, demo, and supported limits.
Keep a working copy
Free resources
Download, adapt and use these examples in your own work. No signup is needed.