Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Translating Ios

ASecurity

Use when localizing Apple-platform resources and UI copy for String Catalogs, SwiftUI, UIKit, VoiceOver, and Apple locale behavior.

4 stars
0 votes
0 copies
0 views
Added 9/22/2026
ai-agentsgoswiftapidocumentation

Works with

cliapi

Security Analysis

A100/100

Scanned 9/22/2026

Install to Claude Code

$npx -y skills add BrunoMiguens/translating-products-skill --skill translating-ios --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Translating Ios?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Translating Ios
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/brunomiguens-translating-ios/badge)](https://www.skillsdirectory.com/skills/brunomiguens-translating-ios)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: translating-ios
description: Use when localizing Apple-platform resources and UI copy for String Catalogs, SwiftUI, UIKit, VoiceOver, and Apple locale behavior.
---

# Translating iOS

## Overview

Define the Apple-platform resource and runtime contract around localized copy. Preserve catalog identity, substitutions, and UI behavior while routing wording to core and installed language or script specialists.

Do not produce target copy until the orchestrator confirms project setup and approval. This skill owns Apple engineering semantics, not linguistic decisions.

## Capabilities

- `platform:ios`
- `xcstrings`
- `swiftui`
- `apple-locales`

## Inspect the Shipped Configuration

Inspect source, String Catalogs (`.xcstrings`), build settings, targets, and consuming UI together:

- record target and source locales, development language, catalog membership, fallback behavior, and every shipped app, extension, widget, or package target
- inventory stable resource keys, source/default values, comments, catalog state, extraction state, substitutions, variations, and protected values
- classify each call site: SwiftUI localization inferred through `LocalizedStringKey`, explicit localized resolution such as `String(localized:)`, UIKit lookup, accessibility API, or verbatim runtime `String`
- record screen, component, state, grammatical purpose, placeholder type, example, layout constraint, and accessibility intent

A string literal accepted as `LocalizedStringKey` can participate in localization and interpolation; a runtime `String` does not become localized merely because it is shown by SwiftUI. Confirm the actual initializer and catalog extraction rather than relying on visual similarity.

Do not delete a stale catalog entry automatically. Reconcile it with call sites, key migrations, and retained translations. Treat new, untranslated, stale, or review-needed state according to the project's explicit release policy, and block raw keys or unintended fallback values in shipped UI.

## Preserve Resource Identity

Follow the project's established key strategy. Keep semantic keys, table or catalog selection, bundle, placeholder types, protected identifiers, and source meaning stable. When migrating an English-as-key entry to a semantic key, map existing translations deliberately and verify the old entry is no longer live; do not create duplicate identities or discard approved work.

Send complete phrases and their comments to `translating-core`. Allow translators to reorder typed substitutions inside the complete phrase. Never assemble target sentences from localized fragments or translate resource keys, placeholder names, receipt IDs, URLs, or code.

## Interpolation and Locale Formatting

- Keep interpolation inside the localizable message so target grammar can reorder values.
- Use typed substitutions and Apple `FormatStyle` APIs for numbers, dates, currency, measurements, and lists under the explicit target locale and business-owned value/currency contract.
- Do not use string concatenation, `String(describing:)`, hard-coded currency symbols, manual separators, or preformatted source-locale values as localization.
- Use `String(localized:)` or the project's resource-oriented API when a resolved `String` is required outside a localization-aware SwiftUI initializer. Avoid resolving early when a view or API can retain localized resource context.
- Preserve opaque runtime identifiers exactly. Test their punctuation and bidirectional placement rather than translating or reformatting them.

## Pluralization and Variations

Model a count as one localizable message with a typed count substitution and String Catalog plural variation. Do not concatenate a count and noun, branch only on English singular/other, or require target categories to mirror the source.

Use the target locale categories supported by the shipped Apple runtime. Preserve required substitutions in every applicable variation and exercise representative boundary values, including zero and larger counts. Product context must say what is being counted.

Use device, platform, or other catalog variations only when product meaning or platform presentation truly differs. Variants must remain one coherent resource contract rather than unrelated translations hidden under the same key.

## Comments and Accessibility

Developer comments must explain the screen, component, state, action meaning, grammatical role, placeholder meaning/type, count semantics, protected spans, and meaningful length constraint. Split identical English source text into separate resources when its meaning or grammatical context differs.

Let visible labels provide default accessibility names when they are complete. Create a distinct localized VoiceOver label, hint, value, or announcement resource when spoken purpose differs. Keep visible, spoken, and executed values consistent; never build accessibility prose by runtime concatenation.

Test VoiceOver role, name, value, hint, announcement timing, pronunciation, reading order, focus movement, and updates after state changes. Do not claim human or native-speaker review that did not occur.

## Layout and RTL

Use leading/trailing semantics and adaptable SwiftUI or Auto Layout behavior. Test iPhone and iPad, compact and regular widths, rotation or multitasking where supported, safe areas, and all supported Dynamic Type sizes. Required actions, facts, and status must not clip, overlap, disappear, or truncate into ambiguity.

For RTL locales, test actual RTL layout, navigation and directional imagery, mixed Arabic/Hebrew with numbers, currency, punctuation, and opaque LTR identifiers. Route language mechanics and bidirectional decisions to installed specialists; do not insert direction marks by guesswork.

## Targeted Research

Use project configuration and pinned knowledge first. Research only a specific unresolved current Apple API or platform behavior that materially affects the artifact. Prefer Apple documentation, record the decision through the orchestrator, and do not browse for routine wording or grammar. Never download another skill at runtime.

## Authority Boundary

Explicit user requirements, approved project configuration, and semantic fidelity outrank platform convenience. Product owns meaning and state; engineering owns targets, resource APIs, value contracts, and fallback; accessibility ownership supplies interaction intent.

This skill owns Apple resource classification, catalog/extraction state, formatting and platform QA. `translating-core` owns target copy; language and script specialists own linguistic mechanics; `translating-mobile` owns shared mobile constraints; `reviewing-translations` owns final review.

## QA Handoff and Release Gates

Pass catalogs, source and target resources, target/build matrix, call-site inventory, screenshots, accessibility intent, and these checks to `reviewing-translations` and CI:

- build and extract every shipped target; reconcile missing, duplicate, stale, untranslated, and review-needed entries under the approved policy
- preserve resource keys, tables/catalogs, substitutions, variation topology, protected identifiers, and source meaning
- compile catalogs and execute localized strings with representative plural, number, date, currency, and identifier values
- verify no raw key, source-language fallback, runtime concatenation, hard-coded formatting, or accidental mixed-language output reaches visible or VoiceOver content
- test screenshots and interaction on required iPhone/iPad sizes, Dynamic Type ranges, VoiceOver, and RTL layouts
- confirm visible, spoken, formatted, and business-executed values remain consistent

Block release on catalog or extraction drift without disposition, resource-key or substitution corruption, incomplete target plural behavior, unintended fallback, raw keys, incorrect locale formatting, misleading VoiceOver output, RTL ordering defects, or required content hidden by layout. Route the exact key, call site, state, and evidence to its responsible installed skill.

Attribution

BrunoMiguensBrunoMiguens
View sourceMore from BrunoMiguens →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1066601 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

686011 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

651 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →