npm
npm install interscript-ts import { transliterate } from "interscript-ts"
const out = transliterate(
"bgnpcgn-ukr-Cyrl-Latn-2019",
"Антон"
)
// → "Anton" API & playground
The Interscript REST API runs at https://interscript.org/api/ — open to all, no auth, no rate limits (yet). Three endpoints: /api/transliterate, /api/systems, /api/detect. Or run the same engine locally in JS, TypeScript, Ruby, or your terminal.
# Live, no install needed:
curl -G 'https://interscript.org/api/transliterate' \
--data-urlencode 'system=bgnpcgn-ukr-Cyrl-Latn-2019' \
--data-urlencode 'input=Антон'
# → {"system":"bgnpcgn-ukr-Cyrl-Latn-2019","input":"Антон","output":"Anton",…} Install
npm install interscript-ts import { transliterate } from "interscript-ts"
const out = transliterate(
"bgnpcgn-ukr-Cyrl-Latn-2019",
"Антон"
)
// → "Anton" gem install interscript require "interscript"
out = Interscript.transliterate(
"bgnpcgn-ukr-Cyrl-Latn-2019",
"Антон"
)
# → "Anton" npm install interscript-ts
# or: https://esm.sh/interscript-ts import {
transliterateAsync,
httpStrategy,
configure
} from "https://esm.sh/interscript-ts"
configure({
strategies: [httpStrategy({
baseUrl: "https://interscript.org/maps"
})]
})
const out = await transliterateAsync(
"bgnpcgn-ukr-Cyrl-Latn-2019",
"Антон"
) CLI & CI
The interscript-ts CLI runs anywhere Node does —
your laptop, a build pipeline, a GitHub Action. Same engine,
same maps, same byte-for-byte output.
npm install -g interscript-ts
# or use without installing:
npx interscript-ts --help # Transliterate from stdin
echo "Антон" | interscript-ts t bgnpcgn-ukr-Cyrl-Latn-2019
# → Anton
# Or from a file
interscript-ts t bgnpcgn-ukr-Cyrl-Latn-2019 \
-i input.txt -o output.txt # names.txt has one name per line
interscript-ts b bgnpcgn-ukr-Cyrl-Latn-2019 \
names.txt --csv > romanized.csv
# Or: list every BGN/PCGN Cyrillic system
interscript-ts list --authority bgnpcgn \
--source-script Cyrl --maps-dir ./maps # .github/workflows/romanize.yml
name: Romanize names
on: { push: { paths: ['names.txt'] } }
jobs:
romanize:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: '20' }
- run: npx interscript-ts@latest \
b bgnpcgn-ukr-Cyrl-Latn-2019 \
names.txt --csv \
--http https://interscript.org/maps \
> romanized.csv
- uses: actions/upload-artifact@v4
with: { name: romanized, path: romanized.csv }