Skip to content

udithperera-dev/frog-master

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Frog - Android String Resource Manager

Version Java License

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.

Frog Logo

✨ Features

πŸ” Smart Resource Scanning

  • 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

πŸ“Š Advanced Comparison View

  • 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

✏️ Intelligent Editing

  • 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

🎯 Powerful Management

  • 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

πŸ”„ Auto-Sync Technology

  • 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

πŸš€ Quick Start

Prerequisites

  • Java 8 or higher installed on your system
  • Android project with string resources

Installation

  1. Download the latest release from Releases
  2. Extract the ZIP file to your preferred location
  3. Run the application:
    # Windows
    run.bat
    
    # Linux/Mac
    ./run.sh

First Time Setup

  1. Launch Frog
  2. Browse to your Android project directory
  3. Click "Scan Module" to analyze your string resources
  4. Explore the comparison view to see all translations
  5. Start editing missing translations

πŸ“– User Guide

Basic Workflow

  1. Scan Project: Use the path selector to choose your Android module
  2. Review Resources: Switch to "Comparison View" to see all strings
  3. Fill Missing Values:
    • Right-click empty cells β†’ "Fill with nearby value"
    • Or double-click to edit directly
  4. Batch Operations: Use checkboxes to select multiple entries
  5. Delete Unwanted: Select entries and use "Delete Selected" button

Advanced Features

Language Filtering

  • Use the language chips to focus on specific languages
  • "All Languages" shows everything
  • Individual language selection filters the view

Search Functionality

  • Use the search box to find specific strings
  • Searches across all visible columns
  • Real-time filtering as you type

Right-Click Menu Options

  • 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

πŸ› οΈ Development

Building from Source

# 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.sh

Project Structure

Frog/
β”œβ”€β”€ 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

🎨 Customization

Adding Custom Icons

  1. Place your icon file in the resources/ directory
  2. Name it icon.png (256x256 recommended)
  3. Rebuild the application

Theming

The application uses a light green theme by default. Colors can be customized in the source code.

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

πŸ“‹ Requirements

  • Operating System: Windows 10+, macOS 10.12+, Ubuntu 16.04+
  • Java Runtime: Java 8 or higher
  • Memory: Minimum 256MB RAM
  • Storage: ~50MB for installation

πŸ› Known Issues & Troubleshooting

Common Issues

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

πŸ“„ License

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

πŸ™ Acknowledgments

  • Built with Java Swing for cross-platform compatibility
  • Uses standard Android project structure conventions
  • Inspired by the need for better Android localization workflows

πŸ“ž Support


Frog - Making Android localization effortless! πŸŒπŸ“±