CommunityImagemgithub.com

huihuisang/localize-app-store-screenshots

Localize o texto de marketing incorporado em capturas de tela PNG existentes da App Store, preservando pixel a pixel as imagens do produto fora das regiões explícitas de texto.

O que é localize-app-store-screenshots?

Esta skill permite localizar o texto de marketing em capturas de tela da App Store já aprovadas, substituindo apenas o texto promocional sem alterar o design original. Ela é útil para adaptar capturas de tela a novos idiomas da loja, especialmente quando o material gráfico já foi revisado e não pode ser modificado. A skill suporta a renderização determinística de texto usando fontes instaladas, garantindo que nenhum pixel fora da região de texto permitida seja alterado. Além disso, integra-se com o CLI `asc` para revisão e upload seguro, validando dimensões, regras de alpha, e evitando a substituição acidental de capturas remotas. O fluxo de trabalho inclui inventariar capturas existentes, preparar um mestre limpo, renderizar texto localizado, compor o patch final e realizar uploads seguros com validação rigorosa de mudanças de pixel fora da região permitida.

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

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Localizar Capturas de Tela da App Store

Preserve a arte aprovada e localize apenas seu texto de marketing. Renderize o texto final deterministicamente com fontes instaladas, componha apenas dentro da região de texto aprovada e use asc para revisão e envio remoto.

Fluxo de Trabalho

  1. Faça inventário dos PNGs de origem, ordenação, dimensões, famílias de dispositivos e capturas remotas existentes.
  2. Escreva o texto no idioma de destino. Preserve a ideia de venda; não traduza literalmente quando a frase ficar estranha. Mantenha as quebras de linha intencionais.
  3. Inspecione cada imagem de origem antes de editar.
  4. Prepare um mestre limpo removendo apenas o texto de marketing de origem. Prefira um mestre limpo aprovado existente. Se a limpeza for necessária, use uma máscara precisa e preserve cada pixel fora dela.
  5. Renderize o texto localizado exato com scripts/render_localized_text.py. Use uma fonte instalada com cobertura de glifos confirmada; nunca use geração de imagem para desenhar o texto final.
  6. Defina uma caixa de região de texto precisa e verifique se o bitmap final difere da origem aprovada apenas dentro dela.
  7. Revise uma folha de contato rotulada e inspecione cada título CJK em escala 100% para glifos exatos, ortografia, quebras de linha, hierarquia e artefatos de limpeza.
  8. Valide dimensões, opacidade RGB, contagem de arquivos, ordenação, texto exato do manifesto e zero pixels alterados fora de cada região permitida.
  9. Gere artefatos de revisão ASC, inspecione-os, aprove-os e faça upload com plan/apply somente quando os grupos planejados corresponderem exatamente à matriz de localidade/tipo de exibição pretendida. Nunca exclua ou substitua capturas de tela remotas sem autorização explícita.
  10. Liste as capturas remotas novamente e verifique localidade, família de dispositivos, contagem e estado de processamento.

Limitação de Geração de Imagem

Não peça a um modelo de imagem para renderizar o texto final localizado. Texto gerativo pode conter glifos substituídos, resquícios ou caracteres alucinados, mesmo quando o prompt diz o texto exato.

Use geração de imagem apenas quando um patch de fundo limpo não puder ser produzido localmente e solicite remoção, não substituição:

Caso de uso: edição precisa de objeto
Tipo de ativo: mestre limpo para captura de tela localizada da App Store
Imagem de entrada: alvo de edição
Solicitação principal: Remova apenas o texto de marketing existente e reconstrua o fundo.
Restrições: Preserve o fundo, mockup do dispositivo, perspectiva, iluminação, todos os pixels da tela do produto, cores, corte e proporção. Não traduza ou redesenhe a UI do produto.
Evite: qualquer texto, letras, símbolos, marca d'água, redesign, alterações de dispositivo, alterações de UI ou imagens do produto alteradas.

Rejeite o resultado se a composição ou a arte protegida for alterada. Nunca use o bitmap completo gerado; componha apenas um patch de limpeza revisado dentro da região permitida.

Composição Determinística

Prepare um mestre limpo localmente quando o texto de origem for claro sobre um fundo texturizado:

python scripts/prepare_clean_master.py \
  --source /caminho/para/aprovada.png \
  --output /caminho/para/mestre-limpo.png \
  --box x,y,largura,altura

Renderize o texto exato a partir de um manifesto JSON:

python scripts/render_localized_text.py --manifest /caminho/para/manifesto-texto.json
python scripts/verify_localized_text.py --manifest /caminho/para/manifesto-texto.json

Crie um manifesto JSON usando o esquema em references/manifest.md e execute:

python scripts/compose_localized_patch.py --manifest /caminho/para/manifesto.json

O script redimensiona a edição gerada para as dimensões exatas da origem, mescla apenas dentro do retângulo permitido mais borda suavizada, escreve PNG RGB opaco e verifica se os pixels decodificados fora da região permitida são idênticos à origem.

Não alargue uma caixa para esconder desvio do modelo. Aperte-a em torno do texto de marketing. Nunca inclua UI do produto na região permitida.

QA da App Store

  • Preserve as dimensões da origem, a menos que esteja segmentando um tipo de exibição Apple diferente.
  • Exija saída RGB opaca; rejeite PNGs com canal alpha.
  • Mantenha um conjunto ordenado por loja e tipo de exibição.
  • Use fontes/glifos apropriados ao mercado e inspecione visualmente a saída CJK.
  • Confirme cada título em escala de miniatura e cada subtítulo em escala 100%.
  • Compare o texto visível caractere por caractere com o manifesto revisado. OCR pode auxiliar na QA de escrita latina, mas nunca substitui a inspeção visual CJK.
  • Rejeite letras residuais da origem, traços duplicados, glifos de substituição, caixas de tofu, pontuação inesperada ou texto gerado por modelo.
  • Trate zero mudanças de pixel fora da região como um invariante rígido.

Segurança no Upload ASC

Leia as skills instaladas asc-shots-pipeline e asc-cli-usage antes do upload. Confirme os sinalizadores atuais com asc screenshots --help e --help específico de comando.

Prefira:

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

Se plan/apply não conseguir expressar o mapeamento de localidade pretendido, resolva o ID exato de versão-localização e use asc screenshots upload apenas para essa localidade. Liste as capturas antes e depois. Não presuma que upload substitui capturas existentes; inspecione o comportamento do CLI e os limites da Apple primeiro.

Algumas dimensões são aceitas por vários tipos de exibição Apple. Por exemplo, 1290x2796 pode ser validado como APP_IPHONE_67 e APP_IPHONE_69. Se a saída de plan duplicar os mesmos arquivos em vários tipos de exibição, não a aplique. Execute um upload no escopo do aplicativo com um --device-type explícito, após uma execução de teste correspondente:

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

Recursos

  • scripts/compose_localized_patch.py: composição e validação com bloqueio de pixel.
  • references/manifest.md: esquema e exemplo de manifesto.

Habilidades Relacionadas