Prueft App-Texte auf Internationalisierung, Cross-Platform-Konsistenz, ungenutzte Keys und Accessibility-Label-Konsistenz...
Systematische Pruefung der Lokalisierung auf beiden Plattformen (iOS + Android).
Dieser Skill wird automatisch geladen wenn der User fragt nach:
/review-localizationFrage den User nach dem Scope:
iOS:
ios/StillMoment/Resources/en.lproj/Localizable.stringsios/StillMoment/Resources/de.lproj/Localizable.stringsAndroid:
android/app/src/main/res/values/strings.xmlandroid/app/src/main/res/values-de/strings.xmlAlle 4 Dateien mit dem Read-Tool lesen und Keys extrahieren.
Fuehre bestehende Validierungs-Scripts aus (nur fuer iOS):
cd ios && make check-localization # Hardcoded Strings finden
cd ios && make validate-localization # Syntax + en/de Parity
Fuer Android manuell pruefen:
checklists/vollstaendigkeit.mdVergleiche iOS und Android Keys:
checklists/cross-platform.mdNormalisierung:
welcome.title → welcome_titleErwartete Differenzen dokumentieren:
tab.*, Android Navigation)Suche nach Keys die definiert aber nicht verwendet werden:
checklists/unused-keys.mdiOS Grep-Patterns:
Text("KEY"
NSLocalizedString("KEY"
.accessibilityLabel("KEY"
.accessibilityHint("KEY"
Android Grep-Patterns:
R.string.KEY
stringResource(R.string.KEY
Pruefe ob Accessibility-Labels und sichtbare Labels konsistent sind:
checklists/accessibility.mdErstelle strukturierten Report nach templates/report.md:
| Plattform | Sprache | Pfad |
|---|---|---|
| iOS | English | ios/StillMoment/Resources/en.lproj/Localizable.strings |
| iOS | German | ios/StillMoment/Resources/de.lproj/Localizable.strings |
| Android | English | android/app/src/main/res/values/strings.xml |
| Android | German | android/app/src/main/res/values-de/strings.xml |
| Script | Funktion |
|---|---|
ios/scripts/check-localization.sh |
Findet hardcoded Strings in SwiftUI |
ios/scripts/validate-localization.sh |
Validiert Syntax und en/de Parity |
CLAUDE.md - Internationalization Guidelinesdev-docs/architecture/overview.md - Architektur-Uebersicht| Plattform | Format | Beispiel |
|---|---|---|
| iOS | dot-notation | welcome.title, button.start |
| Android | underscore | welcome_title, button_start |
Diese Keys sind absichtlich nur auf einer Plattform:
Nur iOS:
tab.* - iOS Tab Bar spezifisch.hint Suffix - iOS Accessibility HintsNur Android:
app_name - Android ManifestDomain-Model LocalizedStrings (nicht in Resource Bundles):
GongSound.LocalizedString - Inline-LokalisierungBackgroundSound.LocalizedString - Inline-Lokalisierung