
A modern internationalization string management tool designed specifically for macOS,
helping Apple developers efficiently manage multilingual localization files for their applications.
π¨π³δΈζ | π¬π§English
- π Intuitive Editing Interface: Built with SwiftUI, providing a modern interface with complete editing capabilities for .xcstrings files
- π€ AI-Powered Translation: Integrated AI translation service supporting batch string translation, significantly improving localization efficiency
- π Multi-language Management: Simultaneously manage multiple language versions with support for search, filtering, and status tracking
- ποΈ Real-time Preview: Instantly view translation progress and results to ensure localization quality
- π― Translation prompts optimized specifically for Apple developers, ensuring results comply with Apple design guidelines
- βοΈ Support for custom AI service configuration, flexibly adapting to different development needs
- π Intelligent status management, tracking translation status of each string (translated/untranslated/don't translate)
- π Efficient search functionality for quickly locating strings that need editing
- πΎ Real-time saving and editing with automatic file synchronization



Click the download button at the top or follow these steps:
- Open the Mac App Store
- Search for "String Studio" or visit: String Studio on App Store
- Click "Get" to download and install
- Clone this repository:
git clone https://github.com/yourusername/String-Studio.git cd String-Studio
- Open
String Studio.xcodeproj
in Xcode - Build and run the project
- Launch String Studio and create a new document or open an existing
.xcstrings
file - Set up your source language - this is typically English (en) for most projects
- Add target languages you want to translate to using the language sidebar
- Select strings from the main table view
- Edit translations directly in the target language columns
- Use AI Translation for batch processing:
- Select multiple strings or use "Select All"
- Click the AI translation button
- Choose your target languages
- Confirm to start batch translation
- Search bar: Find specific strings by key or content
- Status filter: Filter by translation status (New, Translated, Needs Review, Don't Translate)
- Language filter: Focus on specific target languages
- Open Settings (β,)
- Configure your AI service:
- Enter your API key
- Choose your preferred AI provider
- Customize translation prompts if needed
- Test connection to verify your setup
- Platform: macOS (built with SwiftUI)
- File Format:
.xcstrings
(Apple's standard localization format) - Architecture Pattern: MVVM (Model-View-ViewModel)
- Document Management: Uses SwiftUI's
DocumentGroup
for file handling
XCStringsDocument
: Root structure for localization dataStringEntry
: Individual string entries with metadataLocalization
: Translation data for specific languagesTranslationState
: Enum for tracking translation status
AITranslationService
: Handles AI-powered translationsStringStudioDocument
: Manages file I/O operationsDefaults+Keys
: Application settings and preferences
MainContentView
: Main application interfaceTranslationView
: String editing and translation interfaceLanguageSidebarView
: Language management sidebarSettingsView
: Application configuration
String Studio works with Apple's .xcstrings
format, which supports:
- String entries with keys and values
- Multiple language translations
- Translation states (new, translated, needs review, don't translate)
- Comments and context for translators
- Device-specific variations
- Extraction states for development workflow
- macOS: 15.0 or later
We welcome contributions! Here's how you can help:
- Use the GitHub Issues tracker
- Provide detailed information about the bug
- Include steps to reproduce the issue
- Attach screenshots if applicable
- Open an issue with the "enhancement" label
- Describe the feature in detail
- Explain the use case and benefits
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name
- Make your changes and test thoroughly
- Commit your changes:
git commit -m "Add your feature"
- Push to the branch:
git push origin feature/your-feature-name
- Open a Pull Request
- Follow Swift naming conventions
- Use SwiftUI best practices
- Add comments for complex logic
- Include unit tests where applicable
This project is licensed under the MIT License - see the LICENSE file for details.
- Apple for the SwiftUI framework and .xcstrings format
- The open-source community for various libraries and tools
- All beta testers and early adopters for their valuable feedback
- Email: albert.abdilim@foxmail.com
- GitHub Issues: Report issues here
String Studio - Making app localization simple and efficient π