Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ikeikeikeike/exromaji

A Elixir library for translating between hiragana, katakana, romaji and sound.
https://github.com/ikeikeikeike/exromaji

elixir katakana romaji

Last synced: 24 days ago
JSON representation

A Elixir library for translating between hiragana, katakana, romaji and sound.

Awesome Lists containing this project

README

        

# Exromaji

[![Build Status](http://img.shields.io/travis/ikeikeikeike/exromaji.svg?style=flat-square)](http://travis-ci.org/ikeikeikeike/exromaji)
[![Hex version](https://img.shields.io/hexpm/v/exromaji.svg "Hex version")](https://hex.pm/packages/exromaji)
[![Hex downloads](https://img.shields.io/hexpm/dt/exromaji.svg "Hex downloads")](https://hex.pm/packages/exromaji)
[![Inline docs](https://inch-ci.org/github/ikeikeikeike/exromaji.svg)](http://inch-ci.org/github/ikeikeikeike/exromaji)
[![hex.pm](https://img.shields.io/hexpm/l/ltsv.svg)](https://github.com/ikeikeikeike/exromaji/blob/master/LICENSE)

A Elixir library for translating between hiragana, katakana, romaji and sound.

## Installation

If [available in Hex](https://hex.pm/docs/publish), the package can be installed as:

1. Add exromaji to your list of dependencies in `mix.exs`:

```elixir
def deps do
[{:exromaji, "~> x.x"}]
end
```

2. Exromaji package needs `nkf` command and it needs to install that in your environment when you don't have `nkf`.

```zsh
$ brew install nkf
```

## Usage

Exromaji provides some convinient functions in Exromaji module through Exromaji.Translator and Exromaji.Table.
Those provided functions are able to translate into hiragana(ひらがな), katakana(カタカナ), romaji(ローマ字) and sound(五十音).

Into hiragana(ひらがな)
```Elixir
iex(1)> Exromaji.hiragana "a a A ア ア ァ ァ あ ぁ 亜"
"あ あ あ あ あ ぁ ぁ あ ぁ 亜"
iex(2)> Exromaji.hiragana "ヒラガナ hiragana"
"ひらがな ひらがな"
```

Into katakana(カタカナ)
```Elixir
iex(3)> Exromaji.katakana "a a A ア ア ァ ァ あ ぁ 亜"
"ア ア ア ア ア ァ ァ ア ァ 亜"
iex(4)> Exromaji.katakana "かたかな katakana"
"カタカナ カタカナ"
```

Into romaji(ローマ字)
```Elixir
iex(5)> Exromaji.romaji "a a A ア ア ァ ァ あ ぁ 亜"
"a a a a a ァ ァ a ァ 亜"
iex(6)> Exromaji.romaji "ローマジ ろーまじ"
"ro-maji ro-maji"
```

Into sound(五十音)
```Elixir
iex(7)> Exromaji.sound "よろしく"
"や"
```

Those provided functions cannot detect Kanji(漢字) in translation working, like this.

```Elixir
iex(9)> Exromaji.romaji "ローマ字"
"ro-ma字"
```

```Elixir
iex(10)> Exromaji.sound "夜露死苦"
nil
```

However [exkanji package](https://github.com/ikeikeikeike/exkanji) are detecting Kanji(漢字). It also inspires a imitational interfaces from exromaji.
I suppose that you'll install [exkanji package](https://github.com/ikeikeikeike/exkanji) in your development as required.

```Elixir
iex(11)> Exkanji.romaji "ローマ字"
"ro-maji"
```

```Elixir
iex(12)> Exkanji.sound "夜露死苦"
"や"
```

[API Reference](http://hexdocs.pm/exromaji/api-reference.html).

## Inspiration

- [mojinizer](https://github.com/ikayzo/mojinizer)
- [romaji](https://github.com/makimoto/romaji)
- [kana](https://github.com/gojp/kana)