Newton's Principia Mathematica

    wanakana
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/wanakana package

    4.0.2 • Public • Published

    ワナカナ <--> WanaKana <--> わなかな

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

    Demo

    Visit the website to see WanaKana in action.

    Usage

    Browser

    Use the minified (UMD) bundle (with legacy browser polyfills)

    https://unpkg.com/wanakana

    <head>
      <meta charset="UTF-8">
      <script src="https://unpkg.com/wanakana"></script> 
    </head>
    <body>
      <input type="text" id="wanakana-input" />
      <script>
        var textInput = document.getElementById('wanakana-input');
        wanakana.bind(textInput, /* options */); // uses IMEMode with toKana() as default
        // to remove event listeners: wanakana.unbind(textInput);
      </script> 
    </body>

    Node

    Install

    npm install wanakana
    import wanakana from 'wanakana';
    // or
    import { toKana, isRomaji } from 'wanakana';

    Documentation

    Extended API reference

    Quick Reference

    /*** DOM HELPERS ***/
    // Automatically converts text using an eventListener on input
    // Sets option: { IMEMode: true } with toKana() as converter by default
    wanakana.bind(domElement [, options]);
     
    // Removes event listener
    wanakana.unbind(domElement);
     
    /*** TEXT CHECKING UTILITIES ***/
    wanakana.isJapanese('泣き虫。!〜2¥zenkaku')
    // => true
     
    wanakana.isKana('あーア')
    // => true
     
    wanakana.isHiragana('げーむ')
    // => true
     
    wanakana.isKatakana('ゲーム')
    // => true
     
    wanakana.isKanji('切腹')
    // => true
     
    wanakana.isRomaji('Tōkyō and Ōsaka')
    // => true
     
    wanakana.toKana('ONAJI buttsuuji')
    // => 'オナジ ぶっつうじ'
    wanakana.toKana('座禅‘zazen’スタイル')
    // => '座禅「ざぜん」スタイル'
    wanakana.toKana('batsuge-mu')
    // => 'ばつげーむ'
    wanakana.toKana('wanakana', { customKanaMapping: { na: '', ka: 'bana' }});
    // => 'わにbanaに'
     
    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'
    wanakana.toRomaji('つじぎり', { customRomajiMapping: { じ: 'zi', つ: 'tu', り: 'li' }};
    // => 'tuzigili'
     
    /*** EXTRA UTILITIES ***/
    wanakana.stripOkurigana('お祝い')
    // => 'お祝'
    wanakana.stripOkurigana('踏み込む')
    // => '踏み込'
    wanakana.stripOkurigana('お腹', { leading: true });
    // => '腹'
    wanakana.stripOkurigana('ふみこむ', { matchKanji: '踏み込む' });
    // => 'ふみこ'
    wanakana.stripOkurigana('おみまい', { matchKanji: 'お祝い', leading: true });
    // => 'みまい'
     
    wanakana.tokenize('ふふフフ')
    // => ['ふふ', 'フフ']
    wanakana.tokenize('hello 田中さん')
    // => ['hello', ' ', '田中', 'さん']
    wanakana.tokenize('I said 私はすごく悲しい', { compact: true })
    // => [ 'I said ', '私はすごく悲しい']

    Important

    Only the browser build via unpkg or wanakana/umd/*.js includes full polyfills for older browsers.

    Contributing

    Please see CONTRIBUTING.md

    Contributors

    Credits

    Project sponsored by Tofugu & WaniKani

    Ports

    The following are ports created by the community:

    Install

    npm i wanakana

    DownloadsWeekly Downloads

    4,278

    Version

    4.0.2

    License

    MIT

    Unpacked Size

    826 kB

    Total Files

    52

    Last publish

    Collaborators

    • cuongcua90
    • djtb
    • mimshwright
    • viethoang