UNPKG

romanize-string

Version:

A fully typed, general-purpose utility for unidirectional string transliteration (non-Latin script => Latin script).

20 lines (19 loc) 802 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.romanizeJapanese = void 0; const kuroshiro_js_1 = require("../utils/kuroshiro.js"); const romanizeJapanese = async (input) => { if (!kuroshiro_js_1.kuroshiro._analyzer) { await (0, kuroshiro_js_1.initKuroshiro)(); } const transliteration = await kuroshiro_js_1.kuroshiro.convert(input, { to: "romaji", mode: "spaced", }); const standardizedTransliteration = transliteration .replace(/\b(\w+)\s+(ta|te|nai|masu|desu|da)\b/g, "$1$2") // Join common verb splits like "megumare ta" -> "megumareta". .replace(/\s+/g, " ") .replace(/\s+([.,!?!?。、])/g, "$1"); return standardizedTransliteration; }; exports.romanizeJapanese = romanizeJapanese;