aboutsummaryrefslogtreecommitdiff
path: root/src/mnemonics/japanese.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mnemonics/japanese.h')
-rw-r--r--src/mnemonics/japanese.h2098
1 files changed, 2098 insertions, 0 deletions
diff --git a/src/mnemonics/japanese.h b/src/mnemonics/japanese.h
new file mode 100644
index 000000000..47476e849
--- /dev/null
+++ b/src/mnemonics/japanese.h
@@ -0,0 +1,2098 @@
+#include <vector>
+#include <unordered_map>
+
+std::vector<std::string>& word_list_japanese()
+{
+ static std::vector<std::string> word_list(
+ "あい",
+ "あいこくしん",
+ "あう",
+ "あお",
+ "あおぞら",
+ "あか",
+ "あかちゃん",
+ "あき",
+ "あきる",
+ "あく",
+ "あさ",
+ "あさひ",
+ "あし",
+ "あずき",
+ "あせ",
+ "あそぶ",
+ "あたる",
+ "あつい",
+ "あな",
+ "あに",
+ "あね",
+ "あひる",
+ "あまい",
+ "あみ",
+ "あめ",
+ "あめりか",
+ "あやまる",
+ "あゆむ",
+ "あらいぐま",
+ "あらし",
+ "あり",
+ "ある",
+ "あれ",
+ "あわ",
+ "あんこ",
+ "いう",
+ "いえ",
+ "いおん",
+ "いか",
+ "いがい",
+ "いかいよう",
+ "いけ",
+ "いけん",
+ "いこく",
+ "いこつ",
+ "いさん",
+ "いし",
+ "いじゅう",
+ "いす",
+ "いせい",
+ "いせえび",
+ "いせかい",
+ "いせき",
+ "いそうろう",
+ "いそがしい",
+ "いたりあ",
+ "いてざ",
+ "いてん",
+ "いと",
+ "いない",
+ "いなか",
+ "いぬ",
+ "いね",
+ "いのち",
+ "いのる",
+ "いはつ",
+ "いはん",
+ "いびき",
+ "いひん",
+ "いふく",
+ "いへん",
+ "いほう",
+ "いま",
+ "いみ",
+ "いみん",
+ "いも",
+ "いもうと",
+ "いもたれ",
+ "いもり",
+ "いや",
+ "いやす",
+ "いよかん",
+ "いよく",
+ "いらい",
+ "いらすと",
+ "いりぐち",
+ "いりょう",
+ "いりょうひ",
+ "いる",
+ "いれい",
+ "いれもの",
+ "いれる",
+ "いろ",
+ "いろえんぴつ",
+ "いわ",
+ "いわう",
+ "いわかん",
+ "いんげんまめ",
+ "うえ",
+ "うおざ",
+ "うかぶ",
+ "うきわ",
+ "うく",
+ "うくらいな",
+ "うくれれ",
+ "うけつぐ",
+ "うけつけ",
+ "うける",
+ "うごく",
+ "うこん",
+ "うさぎ",
+ "うし",
+ "うしなう",
+ "うしろ",
+ "うしろがみ",
+ "うすい",
+ "うすぎ",
+ "うせつ",
+ "うそ",
+ "うた",
+ "うちあわせ",
+ "うちがわ",
+ "うちき",
+ "うつ",
+ "うなぎ",
+ "うなじ",
+ "うに",
+ "うねる",
+ "うのう",
+ "うぶげ",
+ "うぶごえ",
+ "うま",
+ "うまれる",
+ "うみ",
+ "うむ",
+ "うめ",
+ "うめる",
+ "うもう",
+ "うやまう",
+ "うよく",
+ "うら",
+ "うらない",
+ "うる",
+ "うるさい",
+ "うれしい",
+ "うろこ",
+ "うわき",
+ "うわさ",
+ "えい",
+ "えいえん",
+ "えいが",
+ "えいぎょう",
+ "えいご",
+ "えおり",
+ "えき",
+ "えきたい",
+ "えくせる",
+ "えさ",
+ "えしゃく",
+ "えすて",
+ "えつらん",
+ "えと",
+ "えのぐ",
+ "えび",
+ "えほうまき",
+ "えほん",
+ "えま",
+ "えまき",
+ "えもじ",
+ "えもの",
+ "えらい",
+ "えらぶ",
+ "えり",
+ "えりあ",
+ "える",
+ "えん",
+ "えんえん",
+ "おきる",
+ "おく",
+ "おけ",
+ "おこる",
+ "おしえる",
+ "おやゆび",
+ "おらんだ",
+ "かあつ",
+ "かい",
+ "かう",
+ "かお",
+ "かがし",
+ "かき",
+ "かく",
+ "かこ",
+ "かさ",
+ "かす",
+ "かち",
+ "かつ",
+ "かなざわし",
+ "かに",
+ "かね",
+ "かのう",
+ "かほう",
+ "かほご",
+ "かまぼこ",
+ "かみ",
+ "かむ",
+ "かめれおん",
+ "かも",
+ "かゆい",
+ "からい",
+ "かるい",
+ "かろう",
+ "かわ",
+ "かわら",
+ "きあい",
+ "きあつ",
+ "きいろ",
+ "ぎいん",
+ "きうい",
+ "きうん",
+ "きえる",
+ "きおう",
+ "きおく",
+ "きおち",
+ "きおん",
+ "きか",
+ "きかい",
+ "きかく",
+ "きかん",
+ "きかんしゃ",
+ "きぎ",
+ "ききて",
+ "きく",
+ "きくばり",
+ "きくらげ",
+ "きけん",
+ "きけんせい",
+ "きこう",
+ "きこえる",
+ "きこく",
+ "きさい",
+ "きさく",
+ "きさま",
+ "きさらぎ",
+ "きし",
+ "きしゅ",
+ "きす",
+ "きすう",
+ "きせい",
+ "きせき",
+ "きせつ",
+ "きそ",
+ "きそう",
+ "きそく",
+ "きぞく",
+ "ぎそく",
+ "きぞん",
+ "きた",
+ "きたえる",
+ "きち",
+ "きちょう",
+ "きつえん",
+ "きつつき",
+ "きつね",
+ "きてい",
+ "きどう",
+ "きどく",
+ "きない",
+ "きなが",
+ "きぬ",
+ "きぬごし",
+ "きねん",
+ "きのう",
+ "きはく",
+ "きびしい",
+ "きひん",
+ "きふ",
+ "ぎふ",
+ "きふく",
+ "ぎぼ",
+ "きほう",
+ "きぼう",
+ "きほん",
+ "きまる",
+ "きみ",
+ "きみつ",
+ "ぎむ",
+ "きむずかしい",
+ "きめ",
+ "きめる",
+ "きもだめし",
+ "きもち",
+ "きやく",
+ "きよう",
+ "きらい",
+ "きらく",
+ "きり",
+ "きる",
+ "きれい",
+ "きれつ",
+ "きろく",
+ "ぎろん",
+ "きわめる",
+ "ぐあい",
+ "くい",
+ "くいず",
+ "くうかん",
+ "くうき",
+ "くうぐん",
+ "くうこう",
+ "くうそう",
+ "くうふく",
+ "くうぼ",
+ "くかん",
+ "くき",
+ "くきょう",
+ "くげん",
+ "ぐこう",
+ "くさ",
+ "くさい",
+ "くさき",
+ "くさばな",
+ "くさる",
+ "くし",
+ "くしゃみ",
+ "くしょう",
+ "くすのき",
+ "くすり",
+ "くすりゆび",
+ "くせ",
+ "くせげ",
+ "くせん",
+ "くたびれる",
+ "くち",
+ "くちこみ",
+ "くちさき",
+ "くつ",
+ "くつした",
+ "くつろぐ",
+ "くとうてん",
+ "くどく",
+ "くなん",
+ "くに",
+ "くねくね",
+ "くのう",
+ "くふう",
+ "くま",
+ "くみあわせ",
+ "くみたてる",
+ "くむ",
+ "くめる",
+ "くやくしょ",
+ "くらす",
+ "くり",
+ "くれる",
+ "くろ",
+ "くろう",
+ "くわしい",
+ "ぐんじょ",
+ "けあな",
+ "けいけん",
+ "けいこ",
+ "けいさい",
+ "けいさつ",
+ "げいのうじん",
+ "けいれき",
+ "けいれつ",
+ "けいれん",
+ "けいろ",
+ "けおとす",
+ "けおりもの",
+ "けが",
+ "げき",
+ "げきか",
+ "げきげん",
+ "げきだん",
+ "げきちん",
+ "げきど",
+ "げきは",
+ "げきやく",
+ "げこう",
+ "げこくじょう",
+ "けさ",
+ "げざい",
+ "けさき",
+ "げざん",
+ "けしき",
+ "けしごむ",
+ "けしょう",
+ "けす",
+ "げすと",
+ "けた",
+ "げた",
+ "けたば",
+ "けち",
+ "けちゃっぷ",
+ "けちらす",
+ "けつ",
+ "けつあつ",
+ "けつい",
+ "けつえき",
+ "けっこん",
+ "けつじょ",
+ "けってい",
+ "けつまつ",
+ "げつようび",
+ "げつれい",
+ "けつろん",
+ "げどく",
+ "けとばす",
+ "けとる",
+ "けなげ",
+ "けなす",
+ "けなみ",
+ "けぬき",
+ "げねつ",
+ "けねん",
+ "けはい",
+ "げひん",
+ "けぶかい",
+ "げぼく",
+ "けまり",
+ "けみかる",
+ "けむし",
+ "けむり",
+ "けもの",
+ "けらい",
+ "ける",
+ "げろ",
+ "けろけろ",
+ "けわしい",
+ "けんい",
+ "けんえつ",
+ "けんお",
+ "けんか",
+ "げんき",
+ "けんきゅう",
+ "けんきょ",
+ "けんけい",
+ "けんけつ",
+ "けんげん",
+ "けんこう",
+ "けんさ",
+ "けんさく",
+ "けんしゅう",
+ "けんしゅつ",
+ "けんしん",
+ "けんすう",
+ "けんそう",
+ "げんそう",
+ "けんそん",
+ "げんち",
+ "けんちく",
+ "けんてい",
+ "げんてい",
+ "けんとう",
+ "けんない",
+ "けんにん",
+ "げんぶつ",
+ "けんま",
+ "けんみん",
+ "けんめい",
+ "けんらん",
+ "けんり",
+ "けんりつ",
+ "こあくま",
+ "こい",
+ "ごい",
+ "こいびと",
+ "こうい",
+ "こうえん",
+ "こうか",
+ "こうかい",
+ "こうかん",
+ "こうさい",
+ "こうさん",
+ "こうしん",
+ "こうず",
+ "こうすい",
+ "こうせん",
+ "こうそう",
+ "こうそく",
+ "こうたい",
+ "こうちゃ",
+ "こうつう",
+ "こうてい",
+ "こうとうぶ",
+ "こうない",
+ "こうはい",
+ "こうはん",
+ "こうもく",
+ "こえ",
+ "こえる",
+ "こおり",
+ "ごがつ",
+ "こかん",
+ "こく",
+ "こくご",
+ "こくない",
+ "こくはく",
+ "こけい",
+ "こける",
+ "ここ",
+ "こころ",
+ "ごさ",
+ "こさめ",
+ "こし",
+ "こしつ",
+ "こす",
+ "こすう",
+ "こせい",
+ "こせき",
+ "こぜん",
+ "こそだて",
+ "こたい",
+ "こたえる",
+ "こたつ",
+ "こちょう",
+ "こっか",
+ "こつこつ",
+ "こつばん",
+ "こつぶ",
+ "こてい",
+ "こてん",
+ "こと",
+ "ことがら",
+ "ことし",
+ "こなごな",
+ "こねこね",
+ "このまま",
+ "このみ",
+ "このよ",
+ "こはん",
+ "ごはん",
+ "ごび",
+ "こひつじ",
+ "こふう",
+ "こふん",
+ "こぼれる",
+ "ごま",
+ "こまかい",
+ "こまつし",
+ "こまつな",
+ "こまる",
+ "こむ",
+ "こむぎこ",
+ "こめ",
+ "こもじ",
+ "こもち",
+ "こもの",
+ "こもん",
+ "こや",
+ "こやく",
+ "こやま",
+ "こゆう",
+ "こゆび",
+ "こよい",
+ "こよう",
+ "こりる",
+ "こる",
+ "これくしょん",
+ "ころっけ",
+ "こわもて",
+ "こわれる",
+ "こん",
+ "こんいん",
+ "こんかい",
+ "こんき",
+ "こんしゅう",
+ "こんしゅん",
+ "こんすい",
+ "こんだて",
+ "こんだん",
+ "こんとん",
+ "こんなん",
+ "こんびに",
+ "こんぽう",
+ "こんぽん",
+ "こんまけ",
+ "こんや",
+ "こんやく",
+ "こんれい",
+ "こんわく",
+ "さいかい",
+ "さいがい",
+ "さいきん",
+ "さいご",
+ "さいこん",
+ "さいしょ",
+ "さうな",
+ "さお",
+ "さかいし",
+ "さかな",
+ "さかみち",
+ "さき",
+ "さく",
+ "さくし",
+ "さくじょ",
+ "さくひん",
+ "さくら",
+ "さけ",
+ "さこく",
+ "さこつ",
+ "さたん",
+ "さつえい",
+ "さっか",
+ "さっきょく",
+ "さつじん",
+ "さつたば",
+ "さつまいも",
+ "さてい",
+ "さといも",
+ "さとう",
+ "さとおや",
+ "さとる",
+ "さのう",
+ "さば",
+ "さばく",
+ "さべつ",
+ "さほう",
+ "さほど",
+ "さます",
+ "さみしい",
+ "さみだれ",
+ "さむけ",
+ "さめ",
+ "さめる",
+ "さやえんどう",
+ "さゆう",
+ "さよう",
+ "さよく",
+ "さら",
+ "さらだ",
+ "さる",
+ "さわやか",
+ "さわる",
+ "さんいん",
+ "さんか",
+ "さんきゃく",
+ "さんこう",
+ "さんさい",
+ "さんざん",
+ "さんすう",
+ "さんせい",
+ "さんそ",
+ "さんそん",
+ "さんち",
+ "さんちょう",
+ "さんま",
+ "さんみ",
+ "さんらん",
+ "しあい",
+ "しあげ",
+ "しあさって",
+ "しあわせ",
+ "しいく",
+ "しいん",
+ "しうち",
+ "しえい",
+ "しお",
+ "しおけ",
+ "しか",
+ "しかい",
+ "しかく",
+ "じかん",
+ "した",
+ "したぎ",
+ "したて",
+ "したみ",
+ "しちょう",
+ "しちょうそん",
+ "しちりん",
+ "じつじ",
+ "してい",
+ "してき",
+ "してつ",
+ "してん",
+ "しとう",
+ "じどう",
+ "しなぎれ",
+ "しなもの",
+ "しなん",
+ "しねま",
+ "しねん",
+ "しのぐ",
+ "しのぶ",
+ "しはい",
+ "しばかり",
+ "しはつ",
+ "じはつ",
+ "しはらい",
+ "しはん",
+ "しひょう",
+ "じふ",
+ "しふく",
+ "じぶん",
+ "しへい",
+ "しほう",
+ "しほん",
+ "しま",
+ "しまう",
+ "しまる",
+ "しみ",
+ "じみ",
+ "しみん",
+ "じむ",
+ "しむける",
+ "しめい",
+ "しめる",
+ "しもん",
+ "しゃいん",
+ "しゃうん",
+ "しゃおん",
+ "しゃかい",
+ "じゃがいも",
+ "しやくしょ",
+ "しゃくほう",
+ "しゃけん",
+ "しゃこ",
+ "しゃこう",
+ "しゃざい",
+ "しゃしん",
+ "しゃせん",
+ "しゃそう",
+ "しゃたい",
+ "しゃたく",
+ "しゃちょう",
+ "しゃっきん",
+ "じゃま",
+ "じゃり",
+ "しゃりょう",
+ "しゃりん",
+ "しゃれい",
+ "しゅうえん",
+ "しゅうかい",
+ "しゅうきん",
+ "しゅうけい",
+ "しゅうりょう",
+ "しゅらば",
+ "しょうか",
+ "しょうかい",
+ "しょうきん",
+ "しょうじき",
+ "しょくざい",
+ "しょくたく",
+ "しょっけん",
+ "しょどう",
+ "しょもつ",
+ "しん",
+ "しんか",
+ "しんこう",
+ "しんせいじ",
+ "しんちく",
+ "しんりん",
+ "すあげ",
+ "すあし",
+ "すあな",
+ "ずあん",
+ "すいか",
+ "すいとう",
+ "すう",
+ "すうがく",
+ "すうじつ",
+ "すうせん",
+ "すおどり",
+ "すき",
+ "すきま",
+ "すく",
+ "すくう",
+ "すくない",
+ "すける",
+ "すこし",
+ "ずさん",
+ "すし",
+ "すずしい",
+ "すすめる",
+ "すそ",
+ "ずっしり",
+ "ずっと",
+ "すで",
+ "すてき",
+ "すてる",
+ "すな",
+ "すなっく",
+ "すなっぷ",
+ "すね",
+ "すねる",
+ "すのこ",
+ "すはだ",
+ "すばらしい",
+ "ずひょう",
+ "ずぶぬれ",
+ "すぶり",
+ "すふれ",
+ "すべて",
+ "すべる",
+ "ずほう",
+ "すぼん",
+ "すまい",
+ "すみ",
+ "すむ",
+ "すめし",
+ "すもう",
+ "すやき",
+ "すらいす",
+ "すらいど",
+ "すらすら",
+ "すり",
+ "する",
+ "するめ",
+ "すれちがう",
+ "すろっと",
+ "すわる",
+ "すんぜん",
+ "すんぽう",
+ "せあぶら",
+ "せいか",
+ "せいかい",
+ "せいかつ",
+ "せおう",
+ "せかい",
+ "せかいかん",
+ "せかいし",
+ "せかいじゅう",
+ "せき",
+ "せきにん",
+ "せきむ",
+ "せきゆ",
+ "せきらんうん",
+ "せけん",
+ "せこう",
+ "せすじ",
+ "せたい",
+ "せたけ",
+ "せっかい",
+ "せっかく",
+ "せっき",
+ "せっきゃく",
+ "せっきょく",
+ "せっきん",
+ "ぜっく",
+ "せっけん",
+ "せっこつ",
+ "せっさたくま",
+ "せつぞく",
+ "せつだん",
+ "せつでん",
+ "せっぱん",
+ "せつび",
+ "せつぶん",
+ "せつめい",
+ "せつりつ",
+ "せと",
+ "せなか",
+ "せのび",
+ "せはば",
+ "せぼね",
+ "せまい",
+ "せまる",
+ "せみ",
+ "せめる",
+ "せもたれ",
+ "せりふ",
+ "せわ",
+ "せん",
+ "ぜんあく",
+ "せんい",
+ "せんえい",
+ "せんか",
+ "せんきょ",
+ "せんく",
+ "せんけつ",
+ "せんげん",
+ "ぜんご",
+ "せんさい",
+ "せんし",
+ "せんしゅ",
+ "せんす",
+ "せんすい",
+ "せんせい",
+ "せんぞ",
+ "せんそう",
+ "せんたく",
+ "せんち",
+ "せんちゃ",
+ "せんちゃく",
+ "せんちょう",
+ "せんてい",
+ "せんとう",
+ "せんぬき",
+ "せんねん",
+ "ぜんぶ",
+ "せんぷうき",
+ "せんぷく",
+ "ぜんぽう",
+ "せんむ",
+ "せんめい",
+ "せんめんじょ",
+ "せんもん",
+ "せんやく",
+ "せんゆう",
+ "せんよう",
+ "ぜんら",
+ "ぜんりゃく",
+ "せんりょく",
+ "せんれい",
+ "せんろ",
+ "そあく",
+ "そいとげる",
+ "そいね",
+ "そう",
+ "ぞう",
+ "そうがんきょう",
+ "そうき",
+ "そうご",
+ "そうなん",
+ "そうび",
+ "そうひょう",
+ "そうめん",
+ "そうり",
+ "そうりょ",
+ "そえもの",
+ "そえん",
+ "そかい",
+ "そがい",
+ "そぐ",
+ "そげき",
+ "そこう",
+ "そこそこ",
+ "そざい",
+ "そし",
+ "そしな",
+ "そせい",
+ "そせん",
+ "そそぐ",
+ "そだてる",
+ "そつう",
+ "そつえん",
+ "そっかん",
+ "そつぎょう",
+ "そっけつ",
+ "そっこう",
+ "そっせん",
+ "そっと",
+ "そで",
+ "そと",
+ "そとがわ",
+ "そとづら",
+ "そなえる",
+ "そなた",
+ "そば",
+ "そふ",
+ "そふぼ",
+ "そぼ",
+ "そぼく",
+ "そぼろ",
+ "そまつ",
+ "そまる",
+ "そむく",
+ "そむりえ",
+ "そめる",
+ "そもそも",
+ "そよかぜ",
+ "そら",
+ "そらまめ",
+ "そり",
+ "そる",
+ "そろう",
+ "そんかい",
+ "そんけい",
+ "そんざい",
+ "そんしつ",
+ "そんしょう",
+ "そんぞく",
+ "そんちょう",
+ "ぞんび",
+ "ぞんぶん",
+ "そんみん",
+ "たあい",
+ "たいいん",
+ "たいうん",
+ "たいえき",
+ "たいおう",
+ "だいおう",
+ "たいか",
+ "たいかい",
+ "たいき",
+ "たいきけん",
+ "たいぐう",
+ "たいくつ",
+ "たいけい",
+ "たいけつ",
+ "たいけん",
+ "たいこ",
+ "たいこう",
+ "たいさ",
+ "たいさん",
+ "たいしゅつ",
+ "だいじょうぶ",
+ "たいしょく",
+ "だいず",
+ "だいすき",
+ "たいせい",
+ "たいせつ",
+ "たいせん",
+ "たいそう",
+ "たいちょう",
+ "だいちょう",
+ "たいとう",
+ "たいない",
+ "たいねつ",
+ "たいのう",
+ "たいは",
+ "たいはん",
+ "たいひ",
+ "たいふう",
+ "たいへん",
+ "たいほ",
+ "たいまつばな",
+ "たいまん",
+ "たいみんぐ",
+ "たいむ",
+ "たいめん",
+ "たいやき",
+ "たいやく",
+ "たいよう",
+ "たいら",
+ "たいりょう",
+ "たいりょく",
+ "たいる",
+ "たいわ",
+ "たいわん",
+ "たうえ",
+ "たえる",
+ "たおす",
+ "たおる",
+ "たかい",
+ "たかね",
+ "たき",
+ "たきび",
+ "たくさん",
+ "たけ",
+ "たこ",
+ "たこく",
+ "たこやき",
+ "たさい",
+ "ださい",
+ "たしざん",
+ "たす",
+ "たすける",
+ "たそがれ",
+ "たたかう",
+ "たたく",
+ "たちば",
+ "たちばな",
+ "たつ",
+ "だっかい",
+ "だっきゃく",
+ "だっこ",
+ "だっしめん",
+ "だっしゅつ",
+ "だったい",
+ "たて",
+ "たてる",
+ "たとえる",
+ "たな",
+ "たにん",
+ "たぬき",
+ "たね",
+ "たのしみ",
+ "たはつ",
+ "たび",
+ "たぶん",
+ "たべる",
+ "たぼう",
+ "たほうめん",
+ "たま",
+ "たまご",
+ "たまる",
+ "だむる",
+ "ためいき",
+ "ためす",
+ "ためる",
+ "たもつ",
+ "たやすい",
+ "たよる",
+ "たら",
+ "たらす",
+ "たりきほんがん",
+ "たりょう",
+ "たりる",
+ "たる",
+ "たると",
+ "たれる",
+ "たれんと",
+ "たろっと",
+ "たわむれる",
+ "たん",
+ "だんあつ",
+ "たんい",
+ "たんおん",
+ "たんか",
+ "たんき",
+ "たんけん",
+ "たんご",
+ "たんさく",
+ "たんさん",
+ "たんし",
+ "たんしゅく",
+ "たんじょうび",
+ "だんせい",
+ "たんそく",
+ "たんたい",
+ "たんち",
+ "だんち",
+ "たんちょう",
+ "たんてい",
+ "たんてき",
+ "たんとう",
+ "だんな",
+ "たんにん",
+ "だんねつ",
+ "たんのう",
+ "たんぴん",
+ "たんまつ",
+ "たんめい",
+ "だんれつ",
+ "だんろ",
+ "だんわ",
+ "ちあい",
+ "ちあん",
+ "ちい",
+ "ちいき",
+ "ちいさい",
+ "ちえ",
+ "ちえん",
+ "ちか",
+ "ちかい",
+ "ちきゅう",
+ "ちきん",
+ "ちけい",
+ "ちけいず",
+ "ちけん",
+ "ちこく",
+ "ちさい",
+ "ちしき",
+ "ちしりょう",
+ "ちず",
+ "ちせい",
+ "ちそう",
+ "ちたい",
+ "ちたん",
+ "ちちおや",
+ "ちつじょ",
+ "ちてき",
+ "ちてん",
+ "ちぬき",
+ "ちぬり",
+ "ちのう",
+ "ちひょう",
+ "ちへいせん",
+ "ちほう",
+ "ちまた",
+ "ちみつ",
+ "ちみどろ",
+ "ちめいど",
+ "ちゅうい",
+ "ちゅうおう",
+ "ちゅうおうく",
+ "ちゅうがっこう",
+ "ちゅうごく",
+ "ちゆりょく",
+ "ちょうさ",
+ "ちょうし",
+ "ちらし",
+ "ちらみ",
+ "ちり",
+ "ちりがみ",
+ "ちる",
+ "ちるど",
+ "ちわわ",
+ "ちんたい",
+ "ちんもく",
+ "ついか",
+ "つうか",
+ "つうじょう",
+ "つうじる",
+ "つうはん",
+ "つうわ",
+ "つえ",
+ "つかう",
+ "つかれる",
+ "つき",
+ "つく",
+ "つくね",
+ "つくる",
+ "つけね",
+ "つける",
+ "つごう",
+ "つた",
+ "つたえる",
+ "つち",
+ "つつじ",
+ "つとめる",
+ "つな",
+ "つながる",
+ "つなみ",
+ "つねづね",
+ "つの",
+ "つのる",
+ "つば",
+ "つぶ",
+ "つぶす",
+ "つぼ",
+ "つま",
+ "つまらない",
+ "つまる",
+ "つみ",
+ "つみき",
+ "つむ",
+ "つめたい",
+ "つもる",
+ "つや",
+ "つよい",
+ "つり",
+ "つるぼ",
+ "つるみく",
+ "つわもの",
+ "つわり",
+ "てあし",
+ "てあて",
+ "てあみ",
+ "ていか",
+ "ていき",
+ "ていけい",
+ "ていけつ",
+ "ていけつあつ",
+ "ていこく",
+ "ていさつ",
+ "ていし",
+ "ていしゃ",
+ "ていせい",
+ "ていたい",
+ "ていど",
+ "ていねい",
+ "ていひょう",
+ "ていへん",
+ "ていぼう",
+ "てうち",
+ "ておくれ",
+ "てき",
+ "てくび",
+ "てこ",
+ "てさぎょう",
+ "てさげ",
+ "でし",
+ "てすり",
+ "てそう",
+ "てちがい",
+ "てちょう",
+ "てつがく",
+ "てつづき",
+ "てつや",
+ "でぬかえ",
+ "てぬき",
+ "てぬぐい",
+ "てのひら",
+ "てはい",
+ "てふだ",
+ "てほどき",
+ "てほん",
+ "てま",
+ "てまえ",
+ "てまきずし",
+ "てみじか",
+ "てみやげ",
+ "てら",
+ "てらす",
+ "でる",
+ "てれび",
+ "てろ",
+ "てわけ",
+ "てわたし",
+ "でんあつ",
+ "てんい",
+ "てんいん",
+ "てんかい",
+ "てんき",
+ "てんぐ",
+ "てんけん",
+ "でんげん",
+ "てんごく",
+ "てんさい",
+ "てんすう",
+ "でんち",
+ "てんてき",
+ "てんとう",
+ "てんない",
+ "てんぷ",
+ "てんぷら",
+ "てんぼうだい",
+ "てんめつ",
+ "てんらく",
+ "てんらんかい",
+ "でんりゅう",
+ "でんりょく",
+ "でんわ",
+ "どあ",
+ "どあい",
+ "といれ",
+ "とうむぎ",
+ "とおい",
+ "とおす",
+ "とかい",
+ "とかす",
+ "ときおり",
+ "ときどき",
+ "とくい",
+ "とくてい",
+ "とくてん",
+ "とくべつ",
+ "とけい",
+ "とける",
+ "とさか",
+ "とし",
+ "としょかん",
+ "とそう",
+ "とたん",
+ "とち",
+ "とちゅう",
+ "とつぜん",
+ "とつにゅう",
+ "ととのえる",
+ "とない",
+ "となえる",
+ "となり",
+ "とのさま",
+ "とばす",
+ "とぶ",
+ "とほ",
+ "とほう",
+ "どま",
+ "とまる",
+ "とら",
+ "とり",
+ "とる",
+ "とんかつ",
+ "ない",
+ "ないか",
+ "ないかく",
+ "ないこう",
+ "ないしょ",
+ "ないす",
+ "ないせん",
+ "ないそう",
+ "ないぞう",
+ "なおす",
+ "なく",
+ "なこうど",
+ "なさけ",
+ "なし",
+ "なす",
+ "なぜ",
+ "なぞ",
+ "なたでここ",
+ "なつ",
+ "なっとう",
+ "なつやすみ",
+ "ななおし",
+ "なにごと",
+ "なにもの",
+ "なにわ",
+ "なは",
+ "なび",
+ "なふだ",
+ "なべ",
+ "なまいき",
+ "なまえ",
+ "なまみ",
+ "なみ",
+ "なみだ",
+ "なめらか",
+ "なめる",
+ "なやむ",
+ "ならぶ",
+ "なる",
+ "なれる",
+ "なわ",
+ "なわとび",
+ "なわばり",
+ "にあう",
+ "にいがた",
+ "にうけ",
+ "におい",
+ "にかい",
+ "にがて",
+ "にきび",
+ "にく",
+ "にくしみ",
+ "にくまん",
+ "にげる",
+ "にさんかたんそ",
+ "にし",
+ "にしき",
+ "にす",
+ "にせもの",
+ "にちじ",
+ "にちじょう",
+ "にちようび",
+ "にっか",
+ "にっき",
+ "にっけい",
+ "にっこう",
+ "にっさん",
+ "にっしょく",
+ "にっすう",
+ "にっせき",
+ "にってい",
+ "になう",
+ "にほん",
+ "にまめ",
+ "にもつ",
+ "にやり",
+ "にゅういん",
+ "にゅうか",
+ "にゅうし",
+ "にゅうしゃ",
+ "にゅうだん",
+ "にゅうぶ",
+ "にら",
+ "にりんしゃ",
+ "にる",
+ "にわ",
+ "にわとり",
+ "にんい",
+ "にんか",
+ "にんき",
+ "にんげん",
+ "にんしき",
+ "にんしょう",
+ "にんしん",
+ "にんずう",
+ "にんそう",
+ "にんたい",
+ "にんち",
+ "にんてい",
+ "にんにく",
+ "にんぷ",
+ "にんまり",
+ "にんむ",
+ "にんめい",
+ "にんよう",
+ "ぬう",
+ "ぬか",
+ "ぬく",
+ "ぬくもり",
+ "ぬし",
+ "ぬの",
+ "ぬま",
+ "ぬめり",
+ "ぬらす",
+ "ぬる",
+ "ぬんちゃく",
+ "ねあげ",
+ "ねいき",
+ "ねいる",
+ "ねいろ",
+ "ねぎ",
+ "ねぐせ",
+ "ねくたい",
+ "ねくら",
+ "ねこ",
+ "ねこぜ",
+ "ねこむ",
+ "ねさげ",
+ "ねすごす",
+ "ねそべる",
+ "ねつい",
+ "ねつぞう",
+ "ねったい",
+ "ねったいぎょ",
+ "ねぶそく",
+ "ねふだ",
+ "ねぼう",
+ "ねほりはほり",
+ "ねまき",
+ "ねまわし",
+ "ねみみ",
+ "ねむい",
+ "ねもと",
+ "ねらう",
+ "ねる",
+ "ねわざ",
+ "ねんいり",
+ "ねんおし",
+ "ねんかん",
+ "ねんき",
+ "ねんきん",
+ "ねんぐ",
+ "ねんざ",
+ "ねんし",
+ "ねんちゃく",
+ "ねんちょう",
+ "ねんど",
+ "ねんぴ",
+ "ねんぶつ",
+ "ねんまく",
+ "ねんまつ",
+ "ねんりき",
+ "ねんりょう",
+ "ねんれい",
+ "のいず",
+ "のう",
+ "のおづま",
+ "のがす",
+ "のきなみ",
+ "のこぎり",
+ "のこす",
+ "のせる",
+ "のぞく",
+ "のぞむ",
+ "のたまう",
+ "のちほど",
+ "のっく",
+ "のばす",
+ "のはら",
+ "のべる",
+ "のぼる",
+ "のむ",
+ "のやま",
+ "のらいぬ",
+ "のらねこ",
+ "のり",
+ "のる",
+ "のれん",
+ "のんき",
+ "ばあい",
+ "はあく",
+ "ばあさん",
+ "はい",
+ "ばいか",
+ "ばいく",
+ "はいけん",
+ "はいご",
+ "はいこう",
+ "はいし",
+ "はいしゅつ",
+ "はいしん",
+ "はいすい",
+ "はいせつ",
+ "はいせん",
+ "はいそう",
+ "はいち",
+ "ばいばい",
+ "はう",
+ "はえ",
+ "はえる",
+ "はおる",
+ "はか",
+ "ばか",
+ "はかい",
+ "はかる",
+ "はき",
+ "はく",
+ "はくしゅ",
+ "はけん",
+ "はこ",
+ "はこぶ",
+ "はさみ",
+ "はさん",
+ "はし",
+ "はしご",
+ "はしる",
+ "ばす",
+ "はせる",
+ "ぱそこん",
+ "はそん",
+ "はたん",
+ "はち",
+ "はちみつ",
+ "はっか",
+ "はっかく",
+ "はっき",
+ "はっきり",
+ "はっくつ",
+ "はっけん",
+ "はっこう",
+ "はっさん",
+ "はっしゃ",
+ "はっしん",
+ "はったつ",
+ "はっちゃく",
+ "はっちゅう",
+ "はってん",
+ "はっぴょう",
+ "はっぽう",
+ "はて",
+ "はな",
+ "はなす",
+ "はなび",
+ "はにかむ",
+ "はね",
+ "はは",
+ "はぶらし",
+ "はま",
+ "はみがき",
+ "はむ",
+ "はむかう",
+ "はめつ",
+ "はやい",
+ "はら",
+ "はらう",
+ "はり",
+ "はる",
+ "はれ",
+ "はろうぃん",
+ "はわい",
+ "はんい",
+ "はんえい",
+ "はんえん",
+ "はんおん",
+ "はんかく",
+ "はんかち",
+ "はんきょう",
+ "はんこ",
+ "はんこう",
+ "はんしゃ",
+ "はんしん",
+ "はんすう",
+ "はんたい",
+ "はんだん",
+ "ぱんち",
+ "ぱんつ",
+ "はんてい",
+ "はんてん",
+ "はんとし",
+ "はんのう",
+ "はんぱ",
+ "はんぶん",
+ "はんぺん",
+ "はんぼうき",
+ "はんめい",
+ "はんめん",
+ "はんらん",
+ "はんろん",
+ "ひいき",
+ "ひうん",
+ "ひえる",
+ "ひかく",
+ "ひかり",
+ "ひかん",
+ "ひく",
+ "ひくい",
+ "ひけつ",
+ "ひこうき",
+ "ひこく",
+ "ひざ",
+ "ぴざ",
+ "ひさい",
+ "ひさしぶり",
+ "ひさん",
+ "ひし",
+ "ひじ",
+ "ひしょ",
+ "ひじょう",
+ "ひそか",
+ "ひそむ",
+ "ひたむき",
+ "ひたる",
+ "ひつぎ",
+ "ひっこし",
+ "ひっし",
+ "ひっす",
+ "ひつぜん",
+ "ひつよう",
+ "ひてい",
+ "ひと",
+ "ひとごみ",
+ "ひな",
+ "ひなん",
+ "ひねる",
+ "ひはん",
+ "ひびく",
+ "ひひょう",
+ "ひふ",
+ "ひほう",
+ "ひま",
+ "ひまん",
+ "ひみつ",
+ "ひめ",
+ "ひめい",
+ "ひめじし",
+ "ひも",
+ "ひやけ",
+ "ひやす",
+ "ひゆ",
+ "ひよう",
+ "びょうき",
+ "ひらく",
+ "ひりつ",
+ "ひりょう",
+ "ひる",
+ "ひれい",
+ "ひろい",
+ "ひろう",
+ "ひわ",
+ "ひんかく",
+ "ひんけつ",
+ "ひんこん",
+ "ひんし",
+ "ひんしつ",
+ "ひんしゅ",
+ "ひんそう",
+ "ぴんち",
+ "ひんぱん",
+ "びんぼう",
+ "ふあん",
+ "ふいうち",
+ "ふうけい",
+ "ふうせん",
+ "ふうとう",
+ "ふうふ",
+ "ふえ",
+ "ふえる",
+ "ふおん",
+ "ふか",
+ "ふかい",
+ "ふきん",
+ "ふく",
+ "ふくざつ",
+ "ふこう",
+ "ふさい",
+ "ふざい",
+ "ふしぎ",
+ "ふじみ",
+ "ふすま",
+ "ふせい",
+ "ふせぐ",
+ "ふそく",
+ "ふた",
+ "ふたん",
+ "ふち",
+ "ふちょう",
+ "ふつう",
+ "ふっかつ",
+ "ふっき",
+ "ふっきん",
+ "ふっこく",
+ "ふとる",
+ "ふとん",
+ "ふね",
+ "ふのう",
+ "ふはい",
+ "ふひょう",
+ "ふへん",
+ "ふまん",
+ "ふみん",
+ "ふむ",
+ "ふめつ",
+ "ふめん",
+ "ふゆ",
+ "ふよう",
+ "ふりこ",
+ "ふりる",
+ "ふる",
+ "ふるい",
+ "ふろ",
+ "ふんいき",
+ "ふんか",
+ "ぶんか",
+ "ぶんぐ",
+ "ふんしつ",
+ "ぶんせき",
+ "ふんそう",
+ "へい",
+ "へいき",
+ "へいさ",
+ "へいわ",
+ "へきが",
+ "へこむ",
+ "へそ",
+ "へた",
+ "べつ",
+ "べっど",
+ "ぺっと",
+ "へび",
+ "へや",
+ "へる",
+ "へんか",
+ "へんかん",
+ "へんきゃく",
+ "へんきん",
+ "へんさい",
+ "へんたい",
+ "ほあん",
+ "ほいく",
+ "ほうほう",
+ "ほえる",
+ "ほおん",
+ "ほかん",
+ "ほきょう",
+ "ぼきん",
+ "ほくろ",
+ "ほけつ",
+ "ほけん",
+ "ほこう",
+ "ほこる",
+ "ほさ",
+ "ほし",
+ "ほしつ",
+ "ほしゅ",
+ "ほしょう",
+ "ほす",
+ "ほせい",
+ "ぼせい",
+ "ほそい",
+ "ほそく",
+ "ほたて",
+ "ほたる",
+ "ぼち",
+ "ほっきょく",
+ "ほっさ",
+ "ほったん",
+ "ほとんど",
+ "ほめる",
+ "ほる",
+ "ほんい",
+ "ほんき",
+ "ほんけ",
+ "ほんしつ",
+ "まいにち",
+ "まう",
+ "まかい",
+ "まかせる",
+ "まく",
+ "まける",
+ "まこと",
+ "まさつ",
+ "ますく",
+ "まぜる",
+ "まち",
+ "まつ",
+ "まつり",
+ "まとめ",
+ "まなぶ",
+ "まぬけ",
+ "まね",
+ "まねく",
+ "まひ",
+ "まほう",
+ "まめ",
+ "まもる",
+ "まゆげ",
+ "まよう",
+ "まる",
+ "まろやか",
+ "まわす",
+ "まわり",
+ "まんが",
+ "まんかい",
+ "まんきつ",
+ "まんぞく",
+ "みいら",
+ "みうち",
+ "みかた",
+ "みかん",
+ "みぎ",
+ "みけん",
+ "みこん",
+ "みすい",
+ "みすえる",
+ "みせ",
+ "みそ",
+ "みち",
+ "みてい",
+ "みとめる",
+ "みなみかさい",
+ "みねらる",
+ "みのう",
+ "みほん",
+ "みみ",
+ "みもと",
+ "みやげ",
+ "みらい",
+ "みりょく",
+ "みる",
+ "みわく",
+ "むえき",
+ "むえん",
+ "むかし",
+ "むく",
+ "むこ",
+ "むさぼる",
+ "むし",
+ "むすこ",
+ "むすめ",
+ "むせる",
+ "むせん",
+ "むだ",
+ "むち",
+ "むなしい",
+ "むね",
+ "むのう",
+ "むやみ",
+ "むよう",
+ "むら",
+ "むり",
+ "むりょう",
+ "むれ",
+ "むろん",
+ "もうどうけん",
+ "もえる",
+ "もぎ",
+ "もくし",
+ "もくてき",
+ "もし",
+ "もんく",
+ "もんだい",
+ "やすい",
+ "やすみ",
+ "やそう",
+ "やたい",
+ "やちん",
+ "やね",
+ "やぶる",
+ "やま",
+ "やみ",
+ "やめる",
+ "ややこしい",
+ "やよい",
+ "やり",
+ "やわらかい",
+ "ゆけつ",
+ "ゆしゅつ",
+ "ゆせん",
+ "ゆそう",
+ "ゆたか",
+ "ゆちゃく",
+ "ゆでる",
+ "ゆび",
+ "ゆびわ",
+ "ゆめ",
+ "ゆれる",
+ "よう",
+ "よかぜ",
+ "よかん",
+ "よきん",
+ "よくせい",
+ "よくぼう",
+ "よけい",
+ "よさん",
+ "よそう",
+ "よそく",
+ "よち",
+ "よてい",
+ "よどがわく",
+ "よねつ",
+ "よむ",
+ "よめ",
+ "よやく",
+ "よゆう",
+ "よる",
+ "よろこぶ",
+ "らいう",
+ "らくがき",
+ "らくご",
+ "らくさつ",
+ "らくだ",
+ "らくたん",
+ "らしんばん",
+ "らせん",
+ "らぞく",
+ "らたい",
+ "らち",
+ "らっか",
+ "らっかせい",
+ "られつ",
+ "りえき",
+ "りか",
+ "りかい",
+ "りきさく",
+ "りきせつ",
+ "りく",
+ "りくぐん",
+ "りくつ",
+ "りけん",
+ "りこう",
+ "りし",
+ "りす",
+ "りせい",
+ "りそう",
+ "りそく",
+ "りてん",
+ "りねん",
+ "りゅう",
+ "りゆう",
+ "りゅうがく",
+ "りゅうこう",
+ "りゅうし",
+ "りゅうねん",
+ "りよう",
+ "りょうかい",
+ "りょうきん",
+ "りょうしん",
+ "りょうて",
+ "りょうど",
+ "りょうほう",
+ "りょうり",
+ "りりく",
+ "りれき",
+ "りろん",
+ "りんご",
+ "るいじ",
+ "るす",
+ "れいかん",
+ "れいぎ",
+ "れいせい",
+ "れいぞうこ",
+ "れいとう",
+ "れきし",
+ "れきだい",
+ "れんあい",
+ "れんけい",
+ "れんけつ",
+ "れんこう",
+ "れんこん",
+ "れんさ",
+ "れんさい",
+ "れんさく",
+ "れんしゃ",
+ "れんしゅう",
+ "れんぞく",
+ "ろうか",
+ "ろうご",
+ "ろうじん",
+ "ろうそく",
+ "ろか",
+ "ろくが",
+ "ろこつ",
+ "ろしゅつ",
+ "ろせん",
+ "ろてん",
+ "ろめん",
+ "ろれつ",
+ "ろんぎ",
+ "ろんぱ",
+ "ろんぶん",
+ "ろんり",
+ "わじまし"
+ );
+ return word_list;
+}
+
+std::unordered_map<std::string, unsigned int>& word_map_japanese()
+{
+ static std::unordered_map<std::string, unsigned int> word_map;
+ if (word_map.size() > 0)
+ {
+ return word_map;
+ }
+ std::vector<std::string> word_list = word_list_japanese();
+ int ii;
+ std::vector<std::string>::iterator it;
+ for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++)
+ {
+ word_map[*it] = ii;
+ }
+ return word_map;
+}
+
+std::unordered_map<std::string, unsigned int>& trimmed_word_map_japanese()
+{
+ static std::unordered_map<std::string, unsigned int> trimmed_word_map;
+ if (trimmed_word_map.size() > 0)
+ {
+ return trimmed_word_map;
+ }
+ std::vector<std::string> word_list = word_list_japanese();
+ int ii;
+ std::vector<std::string>::iterator it;
+ for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++)
+ {
+ if (it->length() > 4)
+ {
+ trimmed_word_map[it->substr(0, 4)] = ii;
+ }
+ else
+ {
+ trimmed_word_map[*it] = ii;
+ }
+ }
+ return trimmed_word_map;
+}