A powerful, user-friendly desktop application for managing Android string resources across multiple languages and build variants. Built with Java Swing for cross-platform compatibility.
- Automatically scans Android projects for string resources
- Supports multiple build flavors and product variants
- Detects all language qualifiers (en, ar, fr, de, es, etc.)
- Real-time project monitoring with auto-scan
- Side-by-side comparison of translations across languages
- Visual highlighting of missing translations (red background)
- Color-coded language indicators
- Interactive table with sorting and filtering
- Direct Cell Editing: Click any empty cell to add translations
- Smart Fill: Right-click to fill with nearby values
- Batch Operations: Fill entire columns or rows at once
- Clipboard Integration: Paste translations from anywhere
- Checkbox Selection: Select multiple entries for batch operations
- Delete Operations: Remove unwanted entries with confirmation
- Search & Filter: Find specific strings instantly
- Language Filtering: Focus on specific languages or see all
- Real-time XML Updates: Changes saved immediately to XML files
- Multi-file Support: Handles complex Android project structures
- Backup Safety: Maintains XML formatting and structure
- Cross-platform: Works on Windows, Mac, and Linux
- Java 8 or higher installed on your system
- Android project with string resources
- Download the latest release from Releases
- Extract the ZIP file to your preferred location
- Run the application:
# Windows run.bat # Linux/Mac ./run.sh
- Launch Frog
- Browse to your Android project directory
- Click "Scan Module" to analyze your string resources
- Explore the comparison view to see all translations
- Start editing missing translations
- Scan Project: Use the path selector to choose your Android module
- Review Resources: Switch to "Comparison View" to see all strings
- Fill Missing Values:
- Right-click empty cells β "Fill with nearby value"
- Or double-click to edit directly
- Batch Operations: Use checkboxes to select multiple entries
- Delete Unwanted: Select entries and use "Delete Selected" button
- Use the language chips to focus on specific languages
- "All Languages" shows everything
- Individual language selection filters the view
- Use the search box to find specific strings
- Searches across all visible columns
- Real-time filtering as you type
- Fill with nearby value: Copies from adjacent cells
- Paste: Inserts clipboard content
- Fill all missing in column: Batch fills entire columns
- Fill entire row: Copies values across all languages
- Delete this entry: Removes single entry
- Add new string resource: Creates new entries
# Clone the repository
git clone https://github.com/yourusername/Frog.git
cd Frog
# Build the application
# Windows
build.bat
# Linux/Mac
chmod +x build.sh
./build.sh
# Run the application
# Windows
run.bat
# Linux/Mac
./run.shFrog/
βββ src/
β βββ AndroidStringScanner.java # Main application
βββ resources/
β βββ icon.png # Application icon
βββ build/ # Compiled classes (generated)
βββ dist/
β βββ Frog.jar # Executable JAR (generated)
βββ MANIFEST.MF # JAR manifest
βββ build.bat # Windows build script
βββ build.sh # Linux/Mac build script
βββ run.bat # Windows launcher
βββ run.sh # Linux/Mac launcher
βββ README.md # This file
- Place your icon file in the
resources/directory - Name it
icon.png(256x256 recommended) - Rebuild the application
The application uses a light green theme by default. Colors can be customized in the source code.
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
- Operating System: Windows 10+, macOS 10.12+, Ubuntu 16.04+
- Java Runtime: Java 8 or higher
- Memory: Minimum 256MB RAM
- Storage: ~50MB for installation
Application won't start
- Ensure Java 8+ is installed:
java -version - Check if JAR file is not corrupted
- Try running from command line:
java -jar Frog.jar
XML files not updating
- Ensure write permissions on the Android project directory
- Check if XML files are not locked by other applications
- Verify the project structure matches Android standards
Performance issues with large projects
- Use language filtering to reduce data load
- Close other memory-intensive applications
- Consider increasing Java heap size:
java -Xmx1024m -jar Frog.jar
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Java Swing for cross-platform compatibility
- Uses standard Android project structure conventions
- Inspired by the need for better Android localization workflows
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: akurupela@gmail.com
Frog - Making Android localization effortless! ππ±