A powerful Qt-based desktop application for converting text between various writing systems and alphabets. Inspired by the Tower of Babel, this tool enables seamless translation between different scripts and writing systems.
- Multi-alphabet Conversion: Convert text between 30+ different writing systems
- Bidirectional Conversion: Convert from any alphabet to any other alphabet
- Real-time Preview: See conversion results instantly as you type
- Phonetic Chart: Visual reference for all supported alphabets and their mappings
- Latin (English, European languages)
- Cyrillic (Russian, Slavic languages)
- Greek (Modern Greek)
- Arabic (Arabic script)
- Persian (Farsi)
- Hebrew (Hebrew script)
- Devanagari (Hindi, Sanskrit)
- Tibetan (Tibetan script)
- Khmer (Cambodian)
- Syriac (Aramaic)
- Hangul (Korean)
- Kana (Japanese)
- Zhuyin (Chinese Bopomofo)
- And many more (30+ systems total)
- Multi-language UI: Arabic, Chinese, English, French, Russian, Spanish
- Persistent Language Settings: Remembers your preferred language
- Locale-aware: Automatically detects system language
- Clean Interface: Modern Qt-based GUI
- Font Adaptation: Automatically adjusts fonts for different scripts
- Progress Indicators: Visual feedback for large conversions
- Cross-platform: Runs on Windows, Linux, and macOS
- Qt 5.15+ or Qt 6.x
- C++17 compatible compiler
- CMake or qmake
-
Clone the repository
git clone <repository-url> cd Babel
-
Build with qmake
qmake Babel.pro make # or on Windows with MinGW mingw32-make -
Build with CMake (alternative)
mkdir build && cd build cmake .. cmake --build .
-
Run the application
./Babel # Linux/macOS Babel.exe # Windows
Check the Releases page for pre-compiled binaries for your platform.
- Select Source Alphabet: Choose the writing system of your input text
- Select Target Alphabet: Choose the writing system you want to convert to
- Enter Text: Type or paste text in the input field
- View Results: The converted text appears instantly in the output field
- Phonetic Chart: Access the phonetic reference chart via the menu
- Language Switching: Change UI language from the Settings menu
- Font Adaptation: The app automatically selects appropriate fonts for each script
- English to Cyrillic: "Hello" → "Хелло"
- Latin to Greek: "Alpha" → "Αλφα"
- Arabic to Latin: "مرحبا" → "mrḥbā"
Babel/
├── include/ # Header files
│ ├── MainWindow.h # Main application window
│ ├── LetterConverter.h # Core conversion logic
│ ├── aboutdialog.h # About dialog
│ └── phoneticchartdialog.h # Phonetic chart dialog
├── src/ # Source files
│ ├── main.cpp # Application entry point
│ ├── MainWindow.cpp # Main window implementation
│ ├── LetterConverter.cpp # Conversion implementation
│ ├── aboutdialog.cpp # About dialog implementation
│ └── phoneticchartdialog.cpp # Phonetic chart implementation
├── ui/ # Qt Designer UI files
├── resources/ # Application resources
│ ├── mappings.json # Alphabet conversion mappings
│ ├── app.ico # Application icon
│ └── res.qrc # Qt resource file
├── translations/ # Internationalization files
├── Babel.pro # Qt project file
├── LICENSE # GNU GPL v3 license
└── README.md # This file
- Model-View-Controller: Clean separation of UI, logic, and data
- Qt Framework: Cross-platform GUI development
- JSON Configuration: Alphabet mappings stored in external JSON file
- Plugin-ready: Designed for easy extension with new alphabets
- LetterConverter: Core conversion engine with 30+ alphabet systems
- MainWindow: Primary user interface with conversion controls
- PhoneticChartDialog: Visual reference for alphabet mappings
- Internationalization: Multi-language support via Qt translation system
We welcome contributions! Please see our Contributing Guidelines for details.
- Add the alphabet enum to
LetterConverter.h - Add mapping rules to
resources/mappings.json - Update the UI to support the new alphabet
- Submit a pull request
- Create new translation files in
translations/ - Use Qt Linguist tool for translation
- Test the translation in the application
- Submit translation files
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
- Qt Framework: For providing the excellent cross-platform development environment
- Unicode Consortium: For comprehensive character set standards
- Open Source Community: For inspiration and shared knowledge
- Issues: Report bugs and request features on our Issue Tracker
- Documentation: Check the Wiki for detailed guides
- Community: Join our Discussions for help and ideas