toRomaji method
- String input
Converts all kana characters of the input
to romaji.
The input
String
cannot be null. If an empty String
is provided,
an empty String
will be returned immediately.
If this config's KanaKitConfig.upcaseKatakana is true
, katakana
characters will be converted to uppercase characters.
ignored.
// With KanaKitConfig.upcaseKatakana == false (default)
toRomaji('ひらがな カタカナ'); // "hiragana katakana"
toRomaji('げーむ ゲーム'); // "ge-mu geemu"
// With KanaKitConfig.upcaseKatakana == true
toRomaji('ひらがな カタカナ'); // "hiragana KATAKANA"
toRomaji('げーむ ゲーム'); // "ge-mu GEEMU"
Implementation
String toRomaji(String input) {
assert(input != null);
if (input.isEmpty) {
return input;
}
final hiragana = _katakanaToHiragana(
input,
toRomaji: toRomaji,
destinationIsRomaji: true,
);
final romajiTokens =
_MappingParser(config.romanization.kanaToRomajiMap).apply(hiragana);
return romajiTokens.map((romajiToken) {
final start = romajiToken.start;
final end = romajiToken.end;
final romaji = romajiToken.value;
final makeUpperCase =
config.upcaseKatakana && isKatakana(input.substring(start, end));
if (makeUpperCase) {
return romaji.toUpperCase();
}
return romaji;
}).join();
}