First version.

This commit is contained in:
Oleksandr Kozachuk
2025-06-08 15:52:56 +02:00
parent 40c624a2b8
commit 68e487e54c
2 changed files with 408 additions and 2 deletions
+59 -2
View File
@@ -1,3 +1,60 @@
# LiveTransliterator
# Live Transliterator
A lightweight browser-based tool for real-time and on-demand transliteration from Latin-script sequences into Russian, Ukrainian, or Esperanto characters.
A lightweight web application that converts Latin-script input into Cyrillic (Russian or Ukrainian) or Esperanto characters in real time or on demand. Ideal for linguistic tools, learning aids, or any project requiring fast, accurate transliteration directly in the browser.
## Features
- **Real-time transliteration**: Automatically converts as you type when Live mode is enabled.
- **On-demand transliteration**: Select text and click a button to transliterate specific blocks.
- **Multiple schemes**: Supports Russian, Ukrainian, and Esperanto mapping.
- **Bash-style shortcuts**: Familiar `Ctrl+A`, `Ctrl+E`, `Ctrl+K`, and `Ctrl+U` editing commands.
- **Clipboard integration**: Automatically copies transliterated text to the clipboard after pauses.
- **Easy customization**: Pure HTML, CSS, and vanilla JavaScript—zero dependencies.
## Demo
![Demo Screenshot](demo.png)
## Installation
1. **Clone the repository**
```bash
git clone https://github.com/your-username/live-transliterator.git
cd live-transliterator
```
2. **Open in browser**
Simply open `index.html` in your favorite browser. No build steps required.
## Usage
1. **Select a scheme**
Choose **Russian**, **Ukrainian**, or **Esperanto** from the dropdown.
2. **Toggle Live mode**
Enable the switch to transliterate as you type.
3. **Type or paste text**
Your Latin-script input will be converted according to the selected scheme.
4. **On-demand**
Disable Live, select a text range, then click **Transliterate** to process only that segment.
5. **Keyboard shortcuts**
* `Ctrl+O`: Swap between Off and your last used scheme
* `Ctrl+A/E/K/U`: Bash-style navigation and deletion
## Customization
* **Add new schemes**: Extend the `comboList`, `comboStarters`, and `map` definitions in `index.html`.
* **Styling**: Modify the embedded CSS or replace with your own themes.
* **Clipboard timing**: Adjust the debounce delay (`500ms`) in the `resetCopyTimer()` function.
## Contributing
1. Fork the repo.
2. Create a feature branch: `git checkout -b feature-name`.
3. Commit your changes: `git commit -m "Add new feature"`.
4. Push to the branch: `git push origin feature-name`.
5. Open a pull request.
## License
WTFPL