- Notifications
You must be signed in to change notification settings - Fork1
A Elixir library for translating between hiragana, katakana, romaji, kanji and sound. It uses Mecab.
License
ikeikeikeike/exkanji
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A Elixir library for translating between hiragana, katakana, romaji, kanji and sound. It uses Mecab.
Ifavailable in Hex, the package can be installed as:
- Add exkanji to your list of dependencies in
mix.exs
:
defdepsdo[{:exkanji,"~> x.x"}]end
- Exkanji package needs
nkf
andmecab
command and it needs to install those in your environment when you don't have those.
$ brew install nkf$ brew install mecab mecab-ipadic
Exkanji provides some convinient functions in Exkanji module through Exkanji.Translator and Exkanji.Mecab.Those provided functions are able to translate into hiragana(ひらがな), katakana(カタカナ), romaji(ローマ字) and sound(五十音).
Into hiragana(ひらがな)
iex(1)>Exkanji.hiragana"a a A ア ア ァ ァ あ ぁ 亜""あ あ あ あ あ ぁ ぁ あ ぁ あ"iex(2)>Exkanji.hiragana"平仮名 ひらがな hiragana""ひらがな ひらがな ひらがな"
Into katakana(カタカナ)
iex(3)>Exkanji.katakana"a a A ア ア ァ ァ あ ぁ 亜""ア ア ア ア ア ァ ァ ア ァ ア"iex(4)>Exkanji.katakana"片仮名 かたかな katakana""カタカナ カタカナ カタカナ"
Into romaji(ローマ字)
iex(5)>Exkanji.romaji"a a A ア ア ァ ァ あ ぁ 亜""a a a a a ァ ァ a ァ a"iex(6)>Exkanji.romaji"ローマ字 ろーまじ ローマジ""ro-maji ro-maji ro-maji"
Into sound(五十音)
iex(7)>Exkanji.sound"よろしく""や"iex(8)>Exkanji.sound"夜露死苦""や"
Exkanji is capable of detecting Part-of-Speech from text, As a Morphological Analyzer. It uses Mecab.
iex(1)>Exkanji.parse"エモい"{:ok,[%Exkanji.Mecab{base:"*",cform:"*",ctype:"*",feature:"名詞,一般,*,*,*,*,*",hiragana:nil,pos:"名詞",pos1:"一般",pos2:"*",pos3:"*",pron:nil,read:nil,romaji:nil,surface:"エモ"},%Exkanji.Mecab{base:"いる",cform:"一段",ctype:"連用形",feature:"動詞,自立,*,*,一段,連用形,いる,イ,イ",hiragana:nil,pos:"動詞",pos1:"自立",pos2:"*",pos3:"*",pron:"イ",read:"イ",romaji:nil,surface:"い"}]}
It also makes to change that sets Mecab's dictionaly into second arguments in Exkanji.parse function.
iex(2)>Exkanji.parse"エモい",dict:"/opt/local/lib/mecab/dic/neologd-utf8"{:ok,[%Exkanji.Mecab{base:"エモい",cform:"*",ctype:"*",feature:"名詞,固有名詞,一般,*,*,*,エモい,エモイ,エモイ",hiragana:nil,pos:"名詞",pos1:"固有名詞",pos2:"一般",pos3:"*",pron:"エモイ",read:"エモイ",romaji:nil,surface:"エモい"}]}
About
A Elixir library for translating between hiragana, katakana, romaji, kanji and sound. It uses Mecab.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.