2017-25 Β© Pedro PelΓ‘ez
 

library wanakana

JS library for Japanese input and kana/romaji conversion

image

moodsdesign/wanakana

JS library for Japanese input and kana/romaji conversion

  • Friday, December 29, 2017
  • by moodsdesign
  • Repository
  • 1 Watchers
  • 0 Stars
  • 27 Installations
  • HTML
  • 0 Dependents
  • 0 Suggesters
  • 40 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

γƒ―γƒŠγ‚«γƒŠ <--> WanaKana <--> わγͺかγͺ

Javascript utility library for checking and converting between Kanji, Hiragana, Katakana, and Romaji

Demo

Visit the website to see WanaKana in action., (*1)

Documentation

Extended API reference, (*2)

Quick Start

Install

yarn add wanakana
# alternatively: npm install wanakana

Or to get the minified browser (umd) bundle

https://unpkg.com/wanakana, (*3)

HTML:

<input type="text" id="wanakana-input" autocapitalize="none" />
<script src="https://unpkg.com/wanakana"></script>
<script>
  const textInput = document.querySelector('#wanakana-input');
  wanakana.bind(textInput); // uses IMEMode toKana() as default
</script>

JavaScript:

/* UMD/CommonJS */
const wanakana = require('wanakana');

/* ES modules */
import wanakana from 'wanakana';
// with destructuring
import { toKana, isRomaji } from 'wanakana';
// or directly reference single methods for smaller builds:
import isKanji from 'wanakana/isKanji';

/*** DEFAULT OPTIONS ***/
{
  // Use obsolete kana characters, such as ゐ and γ‚‘.
  useObsoleteKana: false,
  // Pass through romaji when using toKatakana() or toHiragana()
  passRomaji: false,
  // Convert katakana to uppercase when using toRomaji()
  upcaseKatakana: false,
  // Convert characters from a text input while being typed.
  IMEMode: false, // alternatives are: true, 'toHiragana', or 'toKatakana'
}

/*** DOM HELPERS ***/
// Automatically converts text using an eventListener on input
// bind() uses option: { IMEMode: true } with `toKana()` by default
// Alternatives are: 'toHiragana' or 'toKatakana' to enforce kana type
wanakana.bind(domElement [, options]);

// Removes event listener
wanakana.unbind(domElement);


/*** TEXT CHECKING UTILITIES ***/
wanakana.isJapanese('ζ³£γθ™«γ€‚οΌγ€œοΌ’οΏ₯')
// => true

wanakana.isKana('あーを')
// => true

wanakana.isHiragana('げーむ')
// => true

wanakana.isKatakana('γ‚²γƒΌγƒ ')
// => true

wanakana.isKanji('εˆ‡θ…Ή')
// => true

wanakana.isMixed('γŠθ…ΉA')
// => true

wanakana.isRomaji('Tōkyō and Ōsaka')
// => true

/*
 * toKana notes:
 * Lowercase -> Hiragana.
 * Uppercase -> Katakana.
 * Non-romaji and _English_ punctuation is passed through: 123 @#$%
 * Limited Japanese equivalent punctuation is converted:
 * !?.:/,~-β€˜β€™β€œβ€[](){}
 * οΌοΌŸγ€‚οΌšγƒ»γ€γ€œγƒΌγ€Œγ€γ€Žγ€οΌ»οΌ½οΌˆοΌ‰ο½›ο½
 */
wanakana.toKana('ONAJI buttsuuji')
// => 'γ‚ͺγƒŠγ‚Έ γΆγ£γ€γ†γ˜'
wanakana.toKana('εΊ§η¦…β€˜zazen’スタむル')
// => 'εΊ§η¦…γ€Œγ–γœγ‚“γ€γ‚Ήγ‚Ώγ‚€γƒ«'
wanakana.toKana('batsuge-mu')
// => 'ば぀げーむ'

wanakana.toHiragana('toukyou, γ‚ͺγ‚ͺγ‚΅γ‚«')
// => 'γ¨γ†γγ‚‡γ†γ€γ€€γŠγŠγ•γ‹'
wanakana.toHiragana('only γ‚«γƒŠ', { passRomaji: true })
// => 'only かγͺ'
wanakana.toHiragana('wi', { useObsoleteKana: true })
// => 'ゐ'

wanakana.toKatakana('toukyou, γŠγŠγ•γ‹')
// => 'γƒˆγ‚¦γ‚­γƒ§γ‚¦γ€γ€€γ‚ͺγ‚ͺγ‚΅γ‚«'
wanakana.toKatakana('only かγͺ', { passRomaji: true })
// => 'only γ‚«γƒŠ'
wanakana.toKatakana('wi', { useObsoleteKana: true })
// => 'γƒ°'

wanakana.toRomaji('γ²γ‚‰γŒγͺγ€€γ‚«γ‚Ώγ‚«γƒŠ')
// => 'hiragana katakana'
wanakana.toRomaji('γ²γ‚‰γŒγͺγ€€γ‚«γ‚Ώγ‚«γƒŠ', { upcaseKatakana: true })
// => 'hiragana KATAKANA'


/*** EXTRA UTILITIES ***/
wanakana.stripOkurigana('おη₯γ„')
// => 'おη₯'
wanakana.stripOkurigana('踏み込む')
// => '踏み込'
wanakana.stripOkurigana('踏み込む', { all: true })
// => '踏込'

wanakana.tokenize('ちちフフ')
// => ['ちち', 'フフ']
wanakana.tokenize('ζ„Ÿγ˜')
// => ['ζ„Ÿ', 'じ']
wanakana.tokenize('I said "私は悲しい"')
// => ['I said "','私', 'は', 'ζ‚²', 'しい', '"']

Contributing

Please see CONTRIBUTING.md, (*4)

Contributors

Credits

Project sponsored by Tofugu & WaniKani, (*5)

Ports

The following are ports created by the community: - Java (MasterKale/WanaKanaJava), (*6)

The Versions

29/12 2017

dev-master

9999999-dev

JS library for Japanese input and kana/romaji conversion

  Sources   Download

MIT

The Development Requires

  • grunt ~0.4.1
  • grunt-contrib-clean ~0.5.0
  • grunt-contrib-coffee ~0.7.0
  • grunt-contrib-copy ~0.4.1
  • grunt-contrib-jshint ~0.6.4
  • grunt-contrib-qunit ~0.2.2
  • grunt-contrib-uglify ~0.2.4
  • grunt-contrib-watch ~0.5.3
  • grunt-coffeelint ~0.0.7
  • grunt-bump ~0.0.11
  • grunt-open ~0.2.2
  • grunt-text-replace ~0.3.9

by Mims H. Wright
by James McNamee
by Federico Mestrone

japanese hiragana katakana ime romaji kana

12/06 2016

1.3.10

1.3.10.0

JS library for Japanese input and kana/romaji conversion

  Sources   Download

MIT

The Development Requires

  • grunt ~0.4.1
  • grunt-contrib-clean ~0.5.0
  • grunt-contrib-coffee ~0.7.0
  • grunt-contrib-copy ~0.4.1
  • grunt-contrib-jshint ~0.6.4
  • grunt-contrib-qunit ~0.2.2
  • grunt-contrib-uglify ~0.2.4
  • grunt-contrib-watch ~0.5.3
  • grunt-coffeelint ~0.0.7
  • grunt-bump ~0.0.11
  • grunt-open ~0.2.2
  • grunt-text-replace ~0.3.9

by Mims H. Wright
by James McNamee
by Federico Mestrone

japanese hiragana katakana ime romaji kana

02/03 2016

1.3.9

1.3.9.0

JS library for Japanese input and kana/romaji conversion

  Sources   Download

MIT

The Development Requires

  • grunt ~0.4.1
  • grunt-contrib-clean ~0.5.0
  • grunt-contrib-coffee ~0.7.0
  • grunt-contrib-copy ~0.4.1
  • grunt-contrib-jshint ~0.6.4
  • grunt-contrib-qunit ~0.2.2
  • grunt-contrib-uglify ~0.2.4
  • grunt-contrib-watch ~0.5.3
  • grunt-coffeelint ~0.0.7
  • grunt-bump ~0.0.11
  • grunt-open ~0.2.2
  • grunt-text-replace ~0.3.9

by Mims H. Wright
by James McNamee
by Federico Mestrone

japanese hiragana katakana ime romaji kana