Leavn Multi-Language UX Verification Skill
Leavn Multi-Language UX Verification Skill
Skill Metadata
- Name: leavn-language-ux-verify
- Category: Testing, Localization, UX
- Description: Comprehensive verification of Leavn app UX across 6 supported languages (English, Spanish, German, Chinese Simplified, Arabic, Hebrew)
- Author: Claude
- Version: 1.0.0
- Last Updated: 2025-10-25
Purpose
Systematically test language switching, localization, RTL support, and content rendering across all supported languages in the Leavn iOS app. Generates a detailed report of what works vs what doesn't.
Supported Languages
- English (en) - LTR
- Spanish (es) - LTR
- German (de) - LTR
- Chinese Simplified (zh-Hans) - LTR
- Arabic (ar) - RTL
- Hebrew (he) - RTL
Instructions
Phase 1: Code Analysis
-
Locate Localization Infrastructure
- Find
I18nfacade implementation - Locate
.lprojdirectories or localization files - Check
PreferencesStorefor language preference storage - Find Settings view for language selection UI
- Find
-
Identify Key Screens for Testing
- Home screen (DailyVerseCard, quick actions, etc.)
- Bible reader (BookSelectionView, verse display, search)
- Community tab (prayer requests, groups)
- Library tab (sermons, devotionals)
- Guided tab (meditation, audio experiences)
- Onboarding flow
- Settings screen
-
Check RTL Support Implementation
- Search for
.environment(\.layoutDirection, ...)usage - Check for hardcoded leading/trailing vs proper semantic layout
- Verify Material Design icons flip correctly for RTL
- Check text alignment attributes
- Search for
Phase 2: Test Execution Plan
Test 1: Language Switching Mechanism
What to verify:
- Settings has language picker UI
- All 6 languages are listed
- Selection persists in PreferencesStore
- App reflects change immediately or requires restart
- No crashes or console errors on switch
How to verify:
- Read Settings view implementation
- Check if language change triggers app-wide update
- Look for notification center broadcasts or observable changes
- Verify persistence mechanism
Test 2: Tab Bar & Navigation
What to verify:
- Tab labels translate correctly
- Navigation titles update per language
- Back button text localizes
- Modal/sheet titles translate
Key files:
ContentView.swift(tab bar)AppCoordinator.swift(navigation)- Feature view files
Test 3: Home Screen Content
What to verify:
- Daily verse card UI text
- Greeting messages
- Section headers
- Quick action buttons
- Date/time formatting matches locale
Key files:
Features/Home/directoryDailyVerseCard.swift
Test 4: Bible Reader Experience
What to verify:
- Book names translate (Genesis, Exodus, etc.)
- Chapter/verse labels
- Search placeholder text
- Empty states
- Bible content API returns correct translation
- Verse numbers render properly in RTL
Key files:
Features/Bible/directoryBookSelectionView.swiftBibleServiceimplementation
Test 5: Community Features
What to verify:
- Prayer request form labels
- Group names/descriptions
- Messaging UI
- Timestamp formatting per locale
- Empty states
Key files:
Features/Community/directoryCloudKitCommunityClient.swift
Test 6: Library Content
What to verify:
- Sermon list UI text
- Devotional cards
- Filter/sort options
- Playback controls text
Key files:
Features/Library/directory- Audio playback views
Test 7: Guided Experiences
What to verify:
- Meditation instructions
- Audio controls
- Timer/duration displays
Key files:
Features/Guided/directory
Test 8: Onboarding Flow
What to verify:
- Welcome screens
- Permission requests (notifications, audio)
- Skip/Continue buttons
- Feature explanation text
Key files:
- Look for
Onboardingin Features/ - Check
UserDefaultsfor onboarding completion flag
Test 9: RTL Layout Verification (Arabic/Hebrew)
What to verify:
- UI mirrors correctly (back buttons, chevrons, etc.)
- Text alignment flips (right-aligned for RTL)
- Icons flip appropriately (not all should flip)
- Navigation flows right-to-left
- Tab bar icons stay in correct order
- Verse references format correctly (Arabic numerals vs Eastern Arabic)
How to verify:
- Check for hardcoded
.leading/.trailingthat should be semantic - Look for
.flipsForRightToLeftLayoutDirection()on images - Verify no absolute positioning that breaks RTL
Test 10: Date/Time Formatting
What to verify:
- Date formats match locale (MM/DD vs DD/MM vs YYYY-MM-DD)
- Time formats (12h vs 24h)
- Relative time ("2 hours ago" translates)
- Calendar system (Gregorian vs others)
How to verify:
- Search for
DateFormatterusage - Check if
.localeis set properly - Look for hardcoded date strings
Test 11: Search Functionality
What to verify:
- Search placeholder translates
- Search results render correctly in all languages
- Bible search works with translated book names
- Search suggestions localize
Key files:
UnifiedSearchService.swift- Search UI components
Test 12: AI-Generated Content
What to verify:
- Devotionals generate in selected language
- AI prompts include language context
- Generated content displays properly in RTL
Key files:
UnifiedAIService.swift- Devotional generation logic
Phase 3: Report Generation
Create a structured markdown report with this format:
# Leavn Multi-Language UX Verification Report
**Generated**: [timestamp]
**Tested By**: Claude Code
**App Version**: [from project]
## Executive Summary
- Total Tests: X
- Passed: Y
- Failed: Z
- Warnings: W
## Test Results by Language
### English (en)
#### Fully Working
- [List features that work perfectly]
#### Issues Found
- [List problems with severity: P0/P1/P2]
#### Not Tested
- [List untestable items with reason]
### Spanish (es)
[Same structure]
### German (de)
[Same structure]
### Chinese Simplified (zh-Hans)
[Same structure]
### Arabic (ar)
#### RTL-Specific Issues
- [List RTL layout problems]
[Same structure as above]
### Hebrew (he)
#### RTL-Specific Issues
- [List RTL layout problems]
[Same structure as above]
## Critical Issues (P0)
[Blockers that break UX in any language]
## High Priority Issues (P1)
[Major UX problems, workarounds exist]
## Medium Priority Issues (P2)
[Polish items, minor inconsistencies]
## Recommendations
1. [Prioritized action items]
2. [Architecture suggestions]
3. [Testing infrastructure needs]
## Coverage Analysis
- **Localization Files**: [% of strings covered]
- **RTL Support**: [% of views verified]
- **Date/Time Formatting**: [consistency score]
- **Bible Content**: [translation availability]
## Appendix: Code Locations
- Localization system: [file paths]
- Settings language picker: [file path]
- RTL configuration: [file path]
- Key issues found: [file:line references]
Phase 4: Execution Steps
-
Analyze Codebase
- Glob for localization files: *.lproj, *.strings, I18n* - Read Settings views for language picker - Read PreferencesStore for persistence - Read key feature views -
Check Localization Coverage
- Count strings in each .lproj directory - Compare English vs other languages - Find missing translations -
Verify RTL Implementation
- Grep for hardcoded .leading/.trailing - Check for .environment(\.layoutDirection) - Find views that need RTL fixes -
Test Date/Time Formatting
- Find all DateFormatter instances - Verify .locale is set - Check for hardcoded formats -
Analyze Bible Service
- Read BibleService implementation - Check translation parameter handling - Verify API supports all languages -
Generate Report
- Compile findings - Categorize by severity - Create actionable recommendations
Output Deliverables
- Comprehensive Markdown Report (as detailed above)
- Issue List (importable to todo list or GitHub issues)
- Code Snippets showing problematic patterns
- File Path Reference for all issues found
Success Criteria
- All 6 languages tested across 12 test categories
- RTL languages verified for layout correctness
- Critical issues clearly identified with P0/P1/P2 severity
- Actionable recommendations provided
- Code locations documented for all issues
Notes
- This skill performs static analysis of code - it doesn't run the simulator
- For runtime testing, consider creating a complementary UI test suite
- Focus on finding architectural issues, not just missing translations
- Pay special attention to RTL - it's often the most broken area
- Check for hardcoded strings that bypass localization system
Example Usage
User: "Run the language UX verification skill"
Claude: *Executes this skill, generates comprehensive report*
Maintenance
Update this skill when:
- New languages are added to Leavn
- New major features are added (new tabs, flows)
- Localization architecture changes (e.g., new I18n system)
- RTL support implementation changes
End of Skill Definition
More from willsigmon/sigstack
fastlane expert
Fastlane automation - build, test, deploy iOS apps, TestFlight, App Store Connect
39swiftlint-autofix
Run SwiftFormat and fix all auto-correctable SwiftLint issues
30manus ai agent integration
Use this skill when delegating complex autonomous tasks to Manus AI - an AI agent that can browse the web, execute code, generate files, and comple...
24find-bug-root-cause
Deep investigation to find actual root cause (not just symptoms)
23dead code eliminator
Find and delete unused files, disabled code blocks, Enhanced variants, deprecated features, test files in production for Leavn app
22bitrise expert
Bitrise CI/CD - iOS builds, automated testing, deployment, managed macOS runners
21