Community影像github.com

huihuisang/localize-app-store-screenshots

將現有 App Store 截圖 PNG 中的行銷文字在地化,同時在指定文字區域之外逐像素保留原始產品圖像。適用於將已設計好的截圖改編為其他商店語言、在不重新設計圖稿的情況下更換截圖標題、驗證 Apple 截圖尺寸與 Alpha 規則,或使用 asc CLI 準備已審核的截圖上傳。

localize-app-store-screenshots 是什麼?

此技能專注於精準地將 App Store 截圖中的行銷文案進行在地化,同時嚴格保護原始產品圖像的完整性。它提供了一套完整的工作流程,從盤點原始 PNG、編寫在地化文案,到使用 Python 腳本渲染文字、合成圖像,並最終透過 asc CLI 上傳至 App Store Connect。其核心原則是「確定性合成」:所有最終文字必須使用已安裝的字體以腳本渲染,嚴禁使用影像生成模型繪製文字,以避免產生幻覺字元或殘留的原始文字。此外,它強制要求所有像素變動僅限於指定的文字區域,無法容忍區域外的任何更動,確保上傳的截圖在視覺上完全符合審核要求。技能也包含了詳細的上傳安全檢查,例如避免因顯示類型重複而錯誤上傳,並支援 dry-run 模式以降低風險。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/huihuisang/ajigu-skills/tree/HEAD/skills/localize-app-store-screenshots

Installed? Explore more 影像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

在地化 App Store 截圖

保留已核准的圖稿,僅在地化其行銷文案。使用已安裝字體確定性地渲染最終文字,僅在已核准的複製區域內進行合成,並使用 asc 進行遠端交付的審查與套用。

工作流程

  1. 盤點來源 PNG 檔案、排序、尺寸、裝置系列以及現有的遠端截圖。
  2. 撰寫市場在地化文案。保留銷售概念;當措辭變得彆扭時,不要逐字翻譯。保持換行是有意為之。
  3. 在編輯前檢查每一張來源圖像。
  4. 準備一個乾淨的主版,僅移除來源行銷文案。優先使用現有的已核准乾淨主版。如果需要清理,請使用緊密遮罩,並保留其外部的每個像素。
  5. 使用 scripts/render_localized_text.py 渲染精確的在地化文案。使用已安裝且確認字元涵蓋範圍的字型;絕對不要使用影像生成來繪製最終文字。
  6. 定義一個緊密的文字區域框,並驗證最終點陣圖與已核准來源相比,僅在該框內有差異。
  7. 審查一個帶有標籤的概覽表,然後以 100% 比例檢查每個 CJK 標題,確認精確的字元、拼寫、換行、層級結構以及清理接縫。
  8. 驗證尺寸、RGB 不透明度、檔案數量、排序、確切的清單文案,以及每個允許區域外部的零像素變動。
  9. 產生 ASC 審查工件、檢查它們、核准它們,並僅在規劃的群組與預期的語言環境/顯示類型矩陣完全匹配時,才使用 plan/apply 上傳。未經明確授權,絕不刪除或取代遠端截圖。
  10. 再次列出遠端截圖,並驗證語言環境、裝置系列、數量和處理狀態。

影像生成界限

不要要求影像模型渲染最終的在地化文案。即使提示詞明確要求,生成式文字也可能包含被替換的字元、殘留物或幻覺字元。

僅在無法本地生成乾淨的背景修補程式時才使用影像生成,並請求移除而非替換:

用例:精確物件編輯
資產類型:在地化 App Store 截圖的乾淨主版
輸入圖像:編輯目標
主要請求:僅移除現有的行銷文案並重建背景。
限制條件:保留背景、裝置模型、透視、燈光、每個產品螢幕像素、色彩、裁切和長寬比。不要翻譯或重繪產品 UI。
避免:任何文字、字母、符號、浮水印、重新設計、裝置變更、UI 變更或產品圖像變更。

如果構圖或受保護的圖稿發生變化,請拒絕結果。絕對不要使用完整的生成點陣圖;僅在允許的區域內合成一個已審查的清理修補程式。

確定性合成

當來源文案在紋理背景上較淺時,請在本地準備一個乾淨主版:

python scripts/prepare_clean_master.py \
  --source /path/to/approved.png \
  --output /path/to/clean-master.png \
  --box x,y,width,height

從 JSON 清單渲染精確文字:

python scripts/render_localized_text.py --manifest /path/to/text-manifest.json
python scripts/verify_localized_text.py --manifest /path/to/text-manifest.json

使用 references/manifest.md 中的結構建立一個 JSON 清單,然後執行:

python scripts/compose_localized_patch.py --manifest /path/to/manifest.json

此腳本會將生成的編輯內容調整為確切的來源尺寸,僅在允許的矩形加上羽化邊緣內混合,寫入不透明的 RGB PNG,並驗證允許區域外部的解碼像素是否與來源相同。

不要為了隱藏模型漂移而加寬框。將框緊貼行銷文案。切勿將產品 UI 包含在允許區域內。

App Store 品質保證

  • 保留來源尺寸,除非目標是不同的 Apple 顯示類型。
  • 要求不透明的 RGB 輸出;拒絕帶有 Alpha 通道的 PNG。
  • 每個商店前端和顯示類型保留一組有序的截圖。
  • 使用符合市場的字型/字元,並目視檢查 CJK 輸出。
  • 以縮圖比例確認每個標題,並以 100% 比例確認每個副標題。
  • 將可見文案與已審查的清單逐字元進行比較。OCR 可能有助於拉丁文字品質檢查,但絕不能取代 CJK 的目視檢查。
  • 拒絕殘留的來源字母、重複筆畫、替代字元、豆腐框、意外的標點符號或模型生成的文字。
  • 將區域外的零像素變更視為硬性不變量。

ASC 上傳安全

在上傳前,請閱讀已安裝的 asc-shots-pipeline 和 asc-cli-usage 技能。使用 asc screenshots --help 和特定命令的 --help 確認當前標誌。

偏好使用:

asc screenshots review-generate --framed-dir OUTPUT_ROOT --output-dir REVIEW_DIR
asc screenshots review-open --output-dir REVIEW_DIR
asc screenshots review-approve --all-ready --output-dir REVIEW_DIR
asc screenshots plan --app APP_ID --version VERSION --review-output-dir REVIEW_DIR --output json
asc screenshots apply --app APP_ID --version VERSION --review-output-dir REVIEW_DIR --confirm --output json

如果 plan/apply 無法表達預期的語言環境映射,請解析出確切的版本-在地化 ID,並僅對該語言環境使用 asc screenshots upload。在上傳前後列出截圖。不要假設上傳會取代現有截圖;請先檢查 CLI 行為和 Apple 限制。

某些尺寸會被多個 Apple 顯示類型接受。例如,1290x2796 可能會同時驗證為 APP_IPHONE_67 和 APP_IPHONE_69。如果 plan 輸出將相同檔案重複顯示在不同的顯示類型下,請不要套用它。在進行匹配的試運行後,以明確的 --device-type 執行應用程式範圍的上傳:

asc screenshots upload --app APP_ID --version-id VERSION_ID --path OUTPUT_ROOT --device-type APP_IPHONE_67 --dry-run
asc screenshots upload --app APP_ID --version-id VERSION_ID --path OUTPUT_ROOT --device-type APP_IPHONE_67

資源

  • scripts/compose_localized_patch.py:像素鎖定的合成與驗證。
  • references/manifest.md:清單結構與範例。

相關技能