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