Help us understand the problem. What is going on with this article?

Swift:ローマ字の文字列をひらがな・カタカナに変換するクラス作った

More than 1 year has passed since last update.

背景

iOSのCustom Keyboard Extensionでカスタムキーボードを作っている際に日本語入力を行いたくなりました。
しかし、なぜか日本語だけはぶられておりAPIがまともに整っていない状況であることに気づき、絶望しました。
そこで、自然言語処理の単位がCだった残念な自分が、漢字混じり文への変換はできなくてもせめてひらがな・カタカナへの変換くらいはしたいと奮起し、 今回紹介するクラスを作成するに至りました。

ソースコード

JapaneseというクラスファイルをGithubに載せてあります。
参照・利用ご自由にどうぞ。ただし、商用利用の際はREADMEを一読してほしいです。

用例

let jp = Japanese()

// ローマ字 -> ひらがな の時は getHiragana()
print(jp.getHiragana(roman: "axa^~kokorogapyonpyonsurunjaxa^~"))

// ローマ字 -> カタカナ の時は getKatakana()
print(jp.getKatakana(roman: "axa^~kokorogapyonpyonsurunjaxa^~"))

// ローマ字 -> 半角カタカナ の時は getHalfKatakana()
print(jp.getHalfKatakana(roman: "axa^~kokorogapyonpyonsurunjaxa^~"))

// 出力結果
// >> あぁ^~こころがぴょんぴょんするんじゃぁ^~
// >> アァ^~ココロガピョンピョンスルンジャァ^~
// >> アァ^~ココロガピョンピョンスルンジャァ^~

余談

ローマ字を日本語に変換する方法にCFStringTransformkCFStringTransformLatinHiraganaを用いる方法がありますが、これは完璧ではなかったです。"wye"で「ゑ」と変換できないし、子音続きの場合:例えば"wktksuru"のときは「うくてくする」になってしまいます。(ほんらいなら「wktkする」になってほしい。)

Kyome
火星に住む犬です。 趣味でmacOS アプリを開発しています。
https://kyome.io
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away