Skip to content

A tool for real-time localization testing with dynamic language switching, RTL layout support, and automated detection of text overflow and alignment issues, generating detailed QA reports.

License

Notifications You must be signed in to change notification settings

versi379/Localization-Manager-QA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iOS/macOS Localization QA Tool

License: MIT

A powerful Python-based tool for testing and validating iOS/macOS app localizations in .xcstrings files. Analyzes translations, identifies potential issues, and generates comprehensive QA reports to ensure your app's localization quality.

🚀 Features

  • 🔍 Smart .xcstrings file detection and parsing
  • 📏 Translation length analysis and UI impact prediction
  • 🔄 RTL language support and bidirectional text validation
  • 🚨 Missing translation detection across all languages
  • 🎯 Format specifier matching and validation
  • 📊 Multi-format reporting (Console, Markdown, JSON)
  • ⚡️ Real-time file watching for continuous QA
  • 🔠 Swift-powered text analysis for iOS/macOS

📋 Prerequisites

  • Python 3.8+
  • Xcode project with .xcstrings files
  • Swift toolchain (for the helper tool)

🛠 Installation

Clone the repository:

git clone https://github.com/yourusername/localization-testing-tool.git
cd localization-testing-tool

📚 Project Structure

├── LICENSE                 # License file for the project
├── README.md               # Project documentation and instructions
├── src
│   ├── localization_tester.py  # Main script to test localization functionality
│   ├── swift
│   │   └── LocalizationHelper  # Swift code for localization functionality
│   └── utils
│       ├── report_generator.py  # Script to generate reports
│       ├── string_parser.py  # Script to parse strings
│       └── swift_bridge.py  # Bridges Python and Swift code
└── tests
    ├── test_analyzer.py    # Unit tests for text_analyzer.py
    ├── test_parser.py      # Unit tests for string_parser.py
    └── test_swift_bridge.py  # Unit tests for swift_bridge.py

🎯 Usage

To test a single .xcstrings file, simply run the main script:

python localization_tester.py

This will:

  1. Open a file dialog that allows the user to select the .xcstrings file.
  2. Analyze the localization in the selected file.
  3. Generate a Markdown report and save it to a reports folder in the same directory as the .xcstrings file, with a filename that includes the current date and time.
  4. Print the report to the terminal.

🔍 Issue Detection

The tool identifies several categories of localization issues:

Missing Translations 🚫

  • Untranslated strings
  • Incomplete language coverage

Length Issues 📏

  • Excessive text length
  • UI overflow risks
  • Truncation potential

Format Issues ⚙️

  • Mismatched placeholders
  • Invalid format specifiers
  • Parameter order problems

RTL Considerations 🔄

  • Bidirectional text issues
  • Layout mirroring needs
  • RTL-specific formatting

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A tool for real-time localization testing with dynamic language switching, RTL layout support, and automated detection of text overflow and alignment issues, generating detailed QA reports.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published