Bladeren bron

Merge branch 'master' of https://github.com/visuddhinanda/mint

visuddhinanda 4 jaren geleden
bovenliggende
commit
8ef89c34dd

+ 1 - 1
app/install/db_insert_bookword_from_csv.php

@@ -64,7 +64,7 @@ if (($fpoutput = fopen(_DIR_CSV_PALI_CANON_WORD_ . "/{$from}_words.csv", "r")) !
 
 // 开始一个事务,关闭自动提交
 $dbh_word_index->beginTransaction();
-$query = "INSERT INTO bookword ('book','wordindex','count') VALUES ( ? , ? , ?  )";
+$query = "INSERT INTO "._TABLE_BOOK_WORD_." ('book','wordindex','count') VALUES ( ? , ? , ?  )";
 $stmt = $dbh_word_index->prepare($query);
 
 foreach ($bookword as $key => $value) {

+ 112 - 53
app/path.php

@@ -1,14 +1,5 @@
 <?php
-define("_DB_ENGIN_", "sqlite");
-
-define("_DB_HOST_", "localhost");
-define("_DB_USERNAME_", "");
-define("_DB_PASSWORD_", "");
-
-define("_DB_NAME_PALICANON_", "palicanon");
-define("_DB_NAME_DICTIONARY_", "dictionary");
-define("_DB_NAME_USERDATA_", "userdata");
-
+# 目录
 define("_DIR_APPDATA_", __DIR__ . "/../tmp/appdata");
 
 define("_DIR_PALICANON_", __DIR__ . "/../tmp/appdata/palicanon");
@@ -24,21 +15,6 @@ define("_DIR_IMAGES_COURSE_", __DIR__ . "/../tmp/images/course");
 define("_DIR_IMAGES_COURSE_A_", "../../tmp/images/course");
 define("_DIR_IMAGES_LESSON_", __DIR__ . "/../tmp/images/lesson");
 
-//pali canon db file 语料库
-define("_FILE_DB_PALICANON_TEMPLET_", __DIR__ . "/../tmp/appdata/palicanon/templet.db3");
-define("_FILE_DB_RESRES_INDEX_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/res.db3");
-define("_FILE_DB_PALITEXT_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/pali_text.db3");
-define("_FILE_DB_STATISTICS_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/word_statistics.db3");
-define("_FILE_DB_PALI_SENTENCE_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/pali_sent1.db3");
-define("_FILE_DB_PALI_SENTENCE_SIM_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/pali_sim.db3");
-define("_FILE_DB_PALI_TOC_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/pali_toc.db3");
-define("_FILE_DB_INDEX_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/index.db3");
-define("_FILE_DB_WORD_INDEX_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/wordindex.db3");
-define("_FILE_DB_PALI_INDEX_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/paliindex.db3");
-define("_FILE_DB_PAGE_INDEX_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/pagemap.db3");
-define("_FILE_DB_BOOK_WORD_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/bookword.db3");
-define("_FILE_DB_BOLD_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/bold.db3");
-
 //语料库
 
 define("_DIR_CSV_PALI_CANON_WORD_", __DIR__ . "/../paliword/book");
@@ -57,6 +33,63 @@ define("_DIR_DICT_SYSTEM_", __DIR__ . "/../tmp/appdata/dict/system");
 define("_DIR_DICT_3RD_", __DIR__ . "/../tmp/appdata/dict/3rd");
 define("_DIR_DICT_REF_", __DIR__ . "/../tmp/appdata/dict/ref");
 
+
+define("_DIR_FONT_", __DIR__ . "/../font");
+define("_DIR_PALI_HTML_", __DIR__ . "/../palihtml");
+define("_DIR_DICT_TEXT_", __DIR__ . "/../dicttext");
+
+define("_DIR_PALI_TITLE_", __DIR__ . "/../pali_title");
+define("_DIR_APP_", __DIR__ . "/../app");
+define("_DIR_LANGUAGE_", __DIR__ . "/../app/public/lang");
+define("_DIR_BOOK_INDEX_", __DIR__ . "/../app/public/book_index");
+
+/*user data*/
+define("_DIR_USER_BASE_", __DIR__ . "/../tmp/user");
+define("_DIR_USER_DOC_", __DIR__ . "/../tmp/user_doc");
+define("_DIR_USER_IMG_", __DIR__ . "/../tmp/user/media/3");
+define("_DIR_USER_IMG_LINK_", "../../tmp/user/media/3");
+define("_DIR_MYDOCUMENT_", "/my_document");
+
+#数据库
+# 数据库基本参数
+define("_DB_ENGIN_", "sqlite");
+
+define("_DB_HOST_", "localhost");
+define("_DB_PORT_", "5432");
+define("_DB_USERNAME_", "");
+define("_DB_PASSWORD_", "");
+define("_DB_NAME_", "mint");
+
+//语料库数据表 pali canon db file 
+//巴利语料模版表
+define("_FILE_DB_PALICANON_TEMPLET_", __DIR__ . "/../tmp/appdata/palicanon/templet.db3");
+//标题资源表
+define("_FILE_DB_RESRES_INDEX_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/res.db3");
+//巴利语料段落表
+define("_FILE_DB_PALITEXT_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/pali_text.db3");
+//单词分析表
+define("_FILE_DB_STATISTICS_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/word_statistics.db3");
+//巴利句子表
+define("_FILE_DB_PALI_SENTENCE_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/pali_sent1.db3");
+//相似句
+define("_FILE_DB_PALI_SENTENCE_SIM_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/pali_sim.db3");
+//标题表
+define("_FILE_DB_PALI_TOC_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/pali_toc.db3");
+//单词索引=92万词+单词索引
+define("_FILE_DB_INDEX_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/index.db3");
+//92万词
+define("_FILE_DB_WORD_INDEX_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/wordindex.db3");
+//单词索引
+define("_FILE_DB_PALI_INDEX_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/paliindex.db3");
+//页码对应
+define("_FILE_DB_PAGE_INDEX_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/pagemap.db3");
+//以书为单位的单词汇总表
+define("_FILE_DB_BOOK_WORD_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/bookword.db3");
+define("_TABLE_BOOK_WORD_", "bookword");
+//黑体字数据表
+define("_FILE_DB_BOLD_", "sqlite:" . __DIR__ . "/../tmp/appdata/palicanon/bold.db3");
+
+# 字典数据表 全部存入redis
 #巴缅字典
 define("_DICT_DB_PM_", "sqlite:" . __DIR__ . "/../tmp/appdata/dict/3rd/pm.db");
 define("_TABLE_DICT_PM_", "dict");
@@ -84,41 +117,67 @@ define("_TABLE_REF_INDEX_", "dict");
 define("_FILE_DB_PART_", "sqlite:" . __DIR__ . "/../tmp/appdata/dict/system/part.db3");
 define("_TABLE_PART_", "part");
 
-define("_DIR_FONT_", __DIR__ . "/../font");
-define("_DIR_PALI_HTML_", __DIR__ . "/../palihtml");
-define("_DIR_DICT_TEXT_", __DIR__ . "/../dicttext");
 
-define("_DIR_PALI_TITLE_", __DIR__ . "/../pali_title");
-define("_DIR_APP_", __DIR__ . "/../app");
-define("_DIR_LANGUAGE_", __DIR__ . "/../app/public/lang");
-define("_DIR_BOOK_INDEX_", __DIR__ . "/../app/public/book_index");
-
-/*user data*/
-define("_DIR_USER_BASE_", __DIR__ . "/../tmp/user");
-define("_DIR_USER_DOC_", __DIR__ . "/../tmp/user_doc");
-define("_DIR_USER_IMG_", __DIR__ . "/../tmp/user/media/3");
-define("_DIR_USER_IMG_LINK_", "../../tmp/user/media/3");
-define("_DIR_MYDOCUMENT_", "/my_document");
+# 用户数据表
 
+//读写频繁
+# 逐词解析表
 define("_FILE_DB_USER_WBW_", "sqlite:" . __DIR__ . "/../tmp/user/user_wbw.db3");
-define("_FILE_DB_COMMENTS_", "sqlite:" . __DIR__ . "/../tmp/user/comments.db3");
+# 译文
 define("_FILE_DB_SENTENCE_", "sqlite:" . __DIR__ . "/../tmp/user/sentence.db3");
-define("_FILE_DB_TERM_", "sqlite:" . __DIR__ . "/../tmp/user/dhammaterm.db");
-define("_FILE_DB_GROUP_", "sqlite:" . __DIR__ . "/../tmp/user/group.db3");
-define("_FILE_DB_USERINFO_", "sqlite:" . __DIR__ . "/../tmp/user/userinfo.db3");
-define("_FILE_DB_FILEINDEX_", "sqlite:" . __DIR__ . "/../tmp/user/fileindex.db");
+# 译文编辑历史
+define("_FILE_DB_USER_SENTENCE_HISTORAY_", "sqlite:" . __DIR__ . "/../tmp/user/usent_historay.db3");
+# 逐词解析字典
 define("_FILE_DB_WBW_", "sqlite:" . __DIR__ . "/../tmp/user/wbw.db3");
+# 逐词解析字典文件
 define("_FILE_DB_WBW1_",  __DIR__ . "/../tmp/user/wbw.db3");
-define("_FILE_DB_COURSE_", "sqlite:" . __DIR__ . "/../tmp/user/course.db3");
-define("_FILE_DB_MEDIA_", "sqlite:" . __DIR__ . "/../tmp/user/media.db3");
-define("_FILE_DB_MESSAGE_", "sqlite:" . __DIR__ . "/../tmp/user/message.db");
-define("_FILE_DB_USER_STATISTICS_", "sqlite:" . __DIR__ . "/../tmp/user/statistics.db3");
-define("_FILE_DB_CHANNAL_", "sqlite:" . __DIR__ . "/../tmp/user/channal.db3");
-define("_FILE_DB_USER_DICT_", "sqlite:" . __DIR__ . "/../tmp/user/udict.db3");
-define("_FILE_DB_USER_ARTICLE_", "sqlite:" . __DIR__ . "/../tmp/user/article.db3");
-define("_FILE_DB_HOSTSETTING_", "sqlite:" . __DIR__ . "/../tmp/user/hostsetting.db3");
-define("_FILE_DB_USER_SENTENCE_HISTORAY_", "sqlite:" . __DIR__ . "/../tmp/user/usent_historay.db3");
+
+//写入频繁 读取不频繁
+# 用户行为记录
 define("_FILE_DB_USER_ACTIVE_", "sqlite:" . __DIR__ . "/../tmp/user/user_active.db3");
 define("_FILE_DB_USER_ACTIVE_LOG_", "sqlite:" . __DIR__ . "/../tmp/user/user_active_log.db3");
+
+
+//读取频繁 写入不频繁 
+# 文章 文集
+define("_FILE_DB_USER_ARTICLE_", "sqlite:" . __DIR__ . "/../tmp/user/article.db3");
+
+# 术语
+define("_FILE_DB_TERM_", "sqlite:" . __DIR__ . "/../tmp/user/dhammaterm.db");
+# 版本风格 
+define("_FILE_DB_CHANNAL_", "sqlite:" . __DIR__ . "/../tmp/user/channal.db3");
+# 用户账号
+define("_FILE_DB_USERINFO_", "sqlite:" . __DIR__ . "/../tmp/user/userinfo.db3");
+# 协作
 define("_FILE_DB_USER_SHARE_", "sqlite:" . __DIR__ . "/../tmp/user/share.db3");
+
+# 工作组
+define("_FILE_DB_GROUP_", "sqlite:" . __DIR__ . "/../tmp/user/group.db3");
+# 逐词解析文件索引
+define("_FILE_DB_FILEINDEX_", "sqlite:" . __DIR__ . "/../tmp/user/fileindex.db");
+# 课程
+define("_FILE_DB_COURSE_", "sqlite:" . __DIR__ . "/../tmp/user/course.db3");
+# 用户自定义书
 define("_FILE_DB_USER_CUSTOM_BOOK_", "sqlite:" . __DIR__ . "/../tmp/user/custom_book.db3");
+# 逐词译和译文编辑消息
+define("_FILE_DB_MESSAGE_", "sqlite:" . __DIR__ . "/../tmp/user/message.db");
+
+
+
+//很少使用
+# 网站设置
+define("_FILE_DB_HOSTSETTING_", "sqlite:" . __DIR__ . "/../tmp/user/hostsetting.db3");
+
+# 用户图片数据 尚未启用
+define("_FILE_DB_MEDIA_", "sqlite:" . __DIR__ . "/../tmp/user/media.db3");
+
+# 用户字典 尚未启用
+define("_FILE_DB_USER_DICT_", "sqlite:" . __DIR__ . "/../tmp/user/udict.db3");
+
+
+
+# 评论 尚未启用
+define("_FILE_DB_COMMENTS_", "sqlite:" . __DIR__ . "/../tmp/user/comments.db3");
+
+
+define("_FILE_DB_USER_STATISTICS_", "sqlite:" . __DIR__ . "/../tmp/user/statistics.db3");

+ 1 - 1
app/pcdl/css/reader.css

@@ -53,7 +53,7 @@
   padding-left: 21em;
   padding-right: 20em;
   padding-top: 2.5em;
-  font-family: "Noto Sans", "Noto Sans SC", "Noto Sans TC", Arial, Verdana;
+  font-family: "Noto Sans", "Noto Sans SC", "Noto Sans TC","Noto Sans Tai Tham", "ATaiThamKHNewV3-Normal", Arial, Verdana;
 }
 
 button,

+ 2 - 0
app/pcdl/html_head.php

@@ -116,6 +116,8 @@ if (isset($_GET["language"])) {
 
 	<script src="../public/charcode/coverter_my.js"></script>
 	<script src="../public/charcode/converter_si.js"></script>
+	<script src="../public/charcode/converter_tai_tham.js"></script>
+	<script src="../public/charcode/converter_thai.js"></script>
 	<script>
 		<?php require_once '../public/load_lang_js.php'; ?>
 	</script>

+ 714 - 0
app/public/charcode/converter_tai_tham.js

@@ -0,0 +1,714 @@
+var char_roman_to_tai = [
+{ id: "ggho", value: "ᨣ᩠ᨣᩮᩤ" },
+{ id: "gghā", value: "ᨣ᩠ᨣᩤ" },
+{ id: "ddho", value: "ᨴ᩠ᨵᩮᩤ" },
+{ id: "ddhā", value: "ᨴ᩠ᨵᩤ" },
+{ id: "ppho", value: "ᨷ᩠ᨹᩮᩤ" },
+{ id: "pphā", value: "ᨷ᩠ᨹᩤ" },
+{ id: "ss", value: "ᩔ᩠" },
+{ id: "vh", value: "ᩅ᩠ᩉ᩠" },
+{ id: "vy", value: "ᩅ᩠ᨿ᩠" },
+{ id: "vr", value: "ᩅᩕ᩠" },
+{ id: "yh", value: "ᨿ᩠ᩉ᩠" },
+{ id: "yy", value: "ᨿ᩠ᨿ᩠" },
+{ id: "yr", value: "ᨿᩕ᩠" },
+{ id: "yv", value: "ᨿ᩠ᩅ᩠" },
+{ id: "hy", value: "ᩉ᩠ᨿ᩠" },
+{ id: "hr", value: "ᩉᩕ᩠" },
+{ id: "hv", value: "ᩉ᩠ᩅ᩠" },
+{ id: "rv", value: "ᩁ᩠ᩅ᩠" },
+{ id: "rh", value: "ᩁ᩠ᩉ᩠" },
+{ id: "ry", value: "ᩁ᩠ᨿ᩠" },
+{ id: "kh", value: "ᨡ᩠" },
+{ id: "gh", value: "ᨿ᩠" },
+{ id: "ch", value: "ᨨ᩠" },
+{ id: "jh", value: "ᨫ᩠" },
+{ id: "ññ", value: "ᨬ᩠ᨬ᩠" },
+{ id: "ṭh", value: "ᨮ᩠" },
+{ id: "ḍh", value: "ᨰ᩠" },
+{ id: "th", value: "ᨳ᩠" },
+{ id: "dh", value: "ᨵ᩠" },
+{ id: "ph", value: "ᨹ᩠" },
+{ id: "bh", value: "ᨽ᩠" },
+{ id: "k", value: "ᨠ᩠" },
+{ id: "g", value: "ᨣ᩠" },
+{ id: "c", value: "ᨧ᩠" },
+{ id: "j", value: "ᨩ᩠" },
+{ id: "ñ", value: "ᨬ᩠" },
+{ id: "ḷ", value: "ᩊ᩠" },
+{ id: "ṭ", value: "ᨭ᩠" },
+{ id: "ḍ", value: "ᨯ᩠" },
+{ id: "ṇ", value: "ᨱ᩠" },
+{ id: "t", value: "ᨲ᩠" },
+{ id: "d", value: "ᨴ᩠" },
+{ id: "n", value: "ᨶ᩠" },
+{ id: "p", value: "ᨷ᩠" },
+{ id: "b", value: "ᨻ᩠" },
+{ id: "m", value: "ᨾ᩠" },
+{ id: "l", value: "ᩃ᩠" },
+{ id: "s", value: "ᩈ᩠" },
+{ id: "ṅ", value: "ᩘ" },
+{ id: "္h", value: "᩠ᩉ" },
+{ id: "h", value: "ᩉ᩠" },
+{ id: "္y", value: "᩠ᨿ" },
+{ id: "y", value: "ᨿ᩠" },
+{ id: "္r", value: "ᩕ᩠" },
+{ id: "r", value: "ᩁ᩠" },
+{ id: "္v", value: "᩠ᩅ᩠" },
+{ id: "v", value: "ᩅ᩠" },
+{ id: "္aṃ", value: "ᩴ" },
+{ id: "္iṃ", value: "ᩥᩴ" },
+{ id: "္uṃ", value: "ᩩᩴ" },
+{ id: "္ā", value: "ᩣ" },
+{ id: "္i", value: "ᩥ" },
+{ id: "္ī", value: "ᩦ" },
+{ id: "္u", value: "ᩩ" },
+{ id: "္ū", value: "ᩪ" },
+{ id: "္e", value: "ᩮ" },
+{ id: "္o", value: "ᩮᩣ" },
+{ id: "aṃ", value: "ᩋᩴ" },
+{ id: "iṃ", value: "ᨠ᩠ᨠᩴ" },
+{ id: "uṃ", value: "ᩏᩴ" },
+{ id: "a", value: "ᩋ" },
+{ id: "ā", value: "ᩋᩣ" },
+{ id: "i", value: "ᩍ" },
+{ id: "ī", value: "ᩎ" },
+{ id: "u", value: "ᩏ" },
+{ id: "ū", value: "ᩐ" },
+{ id: "e", value: "ᩑ" },
+{ id: "o", value: "ᩒ" },
+{ id: "᩠᩼ᩋ", value: "" },
+{ id: "᩠ᩋ", value: "" },
+{ id: "ᨡᩮᩣ", value: "ᨡᩮᩤ" },
+{ id: "ᨡᩣ", value: " ᨡᩤ" },
+{ id: " ᨠ᩠ᨡᩮᩤ", value: " ᨠ᩠ᨡᩮᩤ" },
+{ id: "က္ခါ", value: " ᨠ᩠ᨡᩤ" },
+{ id: "ဂော", value: "ᨣᩮᩤ" },
+{ id: "ᨦᩮᩣ", value: "ᨦᩮᩤ" },
+{ id: "ᨴᩮᩣ", value: "ᨴᩮᩤ" },
+{ id: "ᨷᩮᩣ", value: "ᨷᩮᩤ" },
+{ id: "ᩅᩮᩣ", value: "ᩅᩮᩤ" },
+{ id: "ᨣᩣ", value: "ᨣᩤ" },
+{ id: "ᨦᩣ", value: "ᨦᩤ" },
+{ id: "ᨴᩣ", value: "ᨴᩤ" },
+{ id: "ᨷᩣ", value: "ᨷᩤ" },
+{ id: "ᩅᩣ", value: "ᩅᩤ" },
+{ id: "ᨴ᩠ᩅᩣ", value: "ᨴ᩠ᩅᩤ" },
+
+
+];
+
+
+
+
+var char_tai_to_roman_1 = [
+{ id: "ႁႏၵ", value: "ndra" }, //後加
+
+{ id: "ခ္", value: "kh" },
+{ id: "ဃ္", value: "gh" },
+{ id: "ဆ္", value: "ch" },
+{ id: "ဈ္", value: "jh" },
+{ id: "ည္", value: "ññ" },
+{ id: "ဌ္", value: "ṭh" },
+{ id: "ဎ္", value: "ḍh" },
+{ id: "ထ္", value: "th" },
+{ id: "ဓ္", value: "dh" },
+{ id: "ဖ္", value: "ph" },
+{ id: "ဘ္", value: "bh" },
+{ id: "က္", value: "k" },
+{ id: "ဂ္", value: "g" },
+{ id: "စ္", value: "c" },
+{ id: "ဇ္", value: "j" },
+{ id: "ဉ္", value: "ñ" },
+{ id: "ဠ္", value: "ḷ" },
+{ id: "ဋ္", value: "ṭ" },
+{ id: "ဍ္", value: "ḍ" },
+{ id: "ဏ္", value: "ṇ" },
+{ id: "တ္", value: "t" },
+{ id: "ဒ္", value: "d" },
+{ id: "န္", value: "n" },
+{ id: "ဟ္", value: "h" },
+{ id: "ပ္", value: "p" },
+{ id: "ဗ္", value: "b" },
+{ id: "မ္", value: "m" },
+{ id: "ယ္", value: "y" },
+{ id: "ရ္", value: "r" },
+{ id: "လ္", value: "l" },
+{ id: "ဝ္", value: "v" },
+{ id: "သ္", value: "s" },
+{ id: "င္", value: "ṅ" },
+{ id: "င်္", value: "ṅ" },
+{ id: "ဿ", value: "ssa" },
+{ id: "ခ", value: "kha" },
+{ id: "ဃ", value: "gha" },
+{ id: "ဆ", value: "cha" },
+{ id: "ဈ", value: "jha" },
+{ id: "ည", value: "ñña" },
+{ id: "ဌ", value: "ṭha" },
+{ id: "ဎ", value: "ḍha" },
+{ id: "ထ", value: "tha" },
+{ id: "ဓ", value: "dha" },
+{ id: "ဖ", value: "pha" },
+{ id: "ဘ", value: "bha" },
+{ id: "က", value: "ka" },
+{ id: "ဂ", value: "ga" },
+{ id: "စ", value: "ca" },
+{ id: "ဇ", value: "ja" },
+{ id: "ဉ", value: "ña" },
+{ id: "ဠ", value: "ḷa" },
+{ id: "ဋ", value: "ṭa" },
+{ id: "ဍ", value: "ḍa" },
+{ id: "ဏ", value: "ṇa" },
+{ id: "တ", value: "ta" },
+{ id: "ဒ", value: "da" },
+{ id: "န", value: "na" },
+{ id: "ဟ", value: "ha" },
+{ id: "ပ", value: "pa" },
+{ id: "ဗ", value: "ba" },
+{ id: "မ", value: "ma" },
+{ id: "ယ", value: "ya" },
+{ id: "ရ", value: "ra" },
+{ id: "႐", value: "ra" }, //后加
+{ id: "လ", value: "la" },
+{ id: "ဝ", value: "va" },
+{ id: "သ", value: "sa" },
+{ id: "aျ္", value: "ya" },
+{ id: "aွ္", value: "va" },
+{ id: "aြ္", value: "ra" },
+
+{ id: "ၱ", value: "္ta" }, //后加
+{ id: "ၳ", value: "္tha" }, //后加
+{ id: "ၵ", value: "္da" }, //后加
+{ id: "ၶ", value: "္dha" }, //后加
+
+{ id: "ၬ", value: "္ṭa" }, //后加
+{ id: "ၭ", value: "္ṭha" }, //后加
+
+{ id: "ၠ", value: "္ka" }, //后加
+{ id: "ၡ", value: "္kha" }, //后加
+{ id: "ၢ", value: "္ga" }, //后加
+{ id: "ၣ", value: "္gha" }, //后加
+
+{ id: "ၸ", value: "္pa" }, //后加
+{ id: "ၹ", value: "္pha" }, //后加
+{ id: "ၺ", value: "္ba" }, //后加
+{ id: "႓", value: "္bha" }, //后加
+
+{ id: "ၥ", value: "္ca" }, //后加
+{ id: "ၧ", value: "္cha" }, //后加
+{ id: "ၨ", value: "္ja" }, //后加
+{ id: "ၩ", value: "္jha" }, //后加
+
+{ id: "်", value: "္ya" }, //后加
+{ id: "ႅ", value: "္la" }, //后加
+{ id: "ၼ", value: "္ma" }, //后加
+{ id: "ွ", value: "္ha" }, //后加
+{ id: "ႆ", value: "ssa" }, //后加
+{ id: "ၷ", value: "na" }, //后加
+{ id: "ၲ", value: "ta" }, //后加
+
+{ id: "႒", value: "ṭṭha" }, //后加
+{ id: "႗", value: "ṭṭa" }, //后加
+{ id: "ၯ", value: "ḍḍha" }, //后加
+{ id: "ၮ", value: "ḍḍa" }, //后加
+{ id: "႑", value: "ṇḍa" }, //后加
+
+{ id: "kaၤ", value: "ṅka" }, //后加
+{ id: "gaၤ", value: "ṅga" }, //后加
+{ id: "khaၤ", value: "ṅkha" }, //后加
+{ id: "ghaၤ", value: "ṅgha" }, //后加
+
+{ id: "aှ္", value: "ha" },
+{ id: "aိံ", value: "iṃ" },
+{ id: "aုံ", value: "uṃ" },
+{ id: "aော", value: "o" },
+{ id: "aေါ", value: "o" },
+{ id: "aအံ", value: "aṃ" },
+{ id: "aဣံ", value: "iṃ" },
+{ id: "aဥံ", value: "uṃ" },
+{ id: "aံ", value: "aṃ" },
+{ id: "aာ", value: "ā" },
+{ id: "aါ", value: "ā" },
+{ id: "aိ", value: "i" },
+{ id: "aီ", value: "ī" },
+{ id: "aု", value: "u" },
+{ id: "aဳ", value: "u" }, //後加
+{ id: "aူ", value: "ū" },
+{ id: "aေ", value: "e" },
+{ id: "အါ", value: "ā" },
+{ id: "အာ", value: "ā" },
+{ id: "အ", value: "a" },
+{ id: "ဣ", value: "i" },
+{ id: "ဤ", value: "ī" },
+{ id: "ဥ", value: "u" },
+{ id: "ဦ", value: "ū" },
+{ id: "ဧ", value: "e" },
+{ id: "ဩ", value: "o" },
+{ id: "ႏ", value: "n" }, //後加
+{ id: "ၪ", value: "ñ" }, //後加
+{ id: "a္", value: "" }, //後加
+{ id: "္", value: "" }, //後加
+
+{ id: "ေss", value: "sse" }, //后加
+{ id: "ေkh", value: "khe" }, //后加
+{ id: "ေgh", value: "ghe" }, //后加
+{ id: "ေch", value: "che" }, //后加
+{ id: "ေjh", value: "jhe" }, //后加
+{ id: "ေññ", value: "ññe" }, //后加
+{ id: "ေṭh", value: "ṭhe" }, //后加
+{ id: "ေḍh", value: "ḍhe" }, //后加
+{ id: "ေth", value: "the" }, //后加
+{ id: "ေdh", value: "dhe" }, //后加
+{ id: "ေph", value: "phe" }, //后加
+{ id: "ေbh", value: "bhe" }, //后加
+{ id: "ေk", value: "ke" }, //后加
+{ id: "ေg", value: "ge" }, //后加
+{ id: "ေc", value: "ce" }, //后加
+{ id: "ေj", value: "je" }, //后加
+{ id: "ေñ", value: "ñe" }, //后加
+{ id: "ေḷ", value: "ḷe" }, //后加
+{ id: "ေṭ", value: "ṭe" }, //后加
+{ id: "ေḍ", value: "ḍe" }, //后加
+{ id: "ေṇ", value: "ṇe" }, //后加
+{ id: "ေt", value: "te" }, //后加
+{ id: "ေd", value: "de" }, //后加
+{ id: "ေn", value: "ne" }, //后加
+{ id: "ေh", value: "he" }, //后加
+{ id: "ေp", value: "pe" }, //后加
+{ id: "ေb", value: "be" }, //后加
+{ id: "ေm", value: "me" }, //后加
+{ id: "ေy", value: "ye" }, //后加
+{ id: "ေr", value: "re" }, //后加
+{ id: "ေl", value: "le" }, //后加
+{ id: "ေv", value: "ve" }, //后加
+{ id: "ေs", value: "se" }, //后加
+{ id: "ေy", value: "ye" }, //后加
+{ id: "ေv", value: "ve" }, //后加
+{ id: "ေr", value: "re" }, //后加
+
+{ id: "ea", value: "e" }, //后加
+{ id: "eā", value: "o" }, //后加
+
+{ id: "၁", value: "1" },
+{ id: "၂", value: "2" },
+{ id: "၃", value: "3" },
+{ id: "၄", value: "4" },
+{ id: "၅", value: "5" },
+{ id: "၆", value: "6" },
+{ id: "၇", value: "7" },
+{ id: "၈", value: "8" },
+{ id: "၉", value: "9" },
+{ id: "၀", value: "0" },
+{ id: "း", value: "”" },
+{ id: "့", value: "’" },
+{ id: "။", value: "." },
+{ id: "၊", value: "," },
+];
+
+var char_tai_to_roman_2 = [
+{ id: "ိၭ", value: "ၭိ" }, //後加
+{ id: "ီၭ", value: "ၭီ" }, //後加
+{ id: "ိၼ", value: "ၼိ" }, //後加
+{ id: "ုၤ", value: "ၤု" }, //後加
+{ id: "ၤ်", value: "်ၤ" }, //後加
+{ id: "ိ်", value: "်ိ" }, //後加
+{ id: "ိၬ", value: "ၬိ" }, //後加
+{ id: "ိၧ", value: "ၧိ" }, //後加
+{ id: "ိၰ", value: "ၰိ" }, //後加
+{ id: "ိၱ", value: "ၱိ" }, //後加
+{ id: "ိြ", value: "ြိ" }, //後加
+{ id: "ိႇ", value: "ႇိ" }, //後加
+
+{ id: "ာာ", value: "ာ" }, //後加
+{ id: "ဳဳ", value: "ဳ" }, //後加
+{ id: "ဳဴ", value: "ဳ" }, //後加
+{ id: "ဴူ", value: "ူ" }, //後加
+{ id: "ိီ", value: "ိ" }, //後加
+{ id: "ူု", value: "ူ" }, //後加
+{ id: "ုဳ", value: "ု" }, //後加
+{ id: "ုု", value: "ု" }, //後加
+{ id: "႓႓", value: "႓" }, //後加
+{ id: "ီီ", value: "ီ" }, //後加
+{ id: "ၡၡ", value: "ၡ" }, //後加
+{ id: "ွွ", value: "ွ" }, //後加
+
+{ id: "ႁႏၵ", value: "ndra" }, //後加
+{ id: "ၿႏၵ", value: "ndra" }, //後加
+
+{ id: "ၾတ", value: "tra" }, //後加
+{ id: "ၾဒ", value: "dra" }, //後加
+{ id: "ၾက", value: "kra" }, //後加
+{ id: "ၾဂ", value: "gra" }, //後加
+{ id: "ၾပ", value: "pra" }, //後加
+{ id: "ၾဗ", value: "bra" }, //後加
+
+{ id: "ႀတ", value: "tra" }, //後加
+{ id: "ႀက", value: "kra" }, //後加
+{ id: "ႀပ", value: "pra" }, //後加
+{ id: "ႀဗ", value: "bra" }, //後加
+{ id: "ႀဒ", value: "dra" }, //後加
+{ id: "ႀဂ", value: "gra" }, //後加
+
+{ id: "ျတ", value: "tra" }, //後加
+{ id: "ျက", value: "kra" }, //後加
+{ id: "ျပ", value: "pra" }, //後加
+{ id: "ျဗ", value: "bra" }, //後加
+{ id: "ျဒ", value: "dra" }, //後加
+{ id: "ျဂ", value: "gra" }, //後加
+
+{ id: "ၿတ", value: "tra" }, //後加
+{ id: "ၿက", value: "kra" }, //後加
+{ id: "ၿပ", value: "pra" }, //後加
+{ id: "ၿဗ", value: "bra" }, //後加
+{ id: "ၿဒ", value: "dra" }, //後加
+{ id: "ၿဂ", value: "gra" }, //後加
+
+{ id: "႖", value: "tva" }, //後加
+{ id: "ဗ်", value: "bya" }, //後加
+{ id: "ဝ်", value: "vya" }, //後加
+
+{ id: "ဥႇ", value: "ñha" }, //後加
+{ id: "သၷ", value: "sna" }, //後加
+{ id: "ၥ်", value: "jha" }, //後加
+
+{ id: "ဒြ", value: "dva" }, //後加
+
+{ id: "ခ္", value: "kh" },
+{ id: "ဃ္", value: "gh" },
+{ id: "ဆ္", value: "ch" },
+{ id: "ဈ္", value: "jh" },
+{ id: "ည္", value: "ññ" },
+{ id: "ဌ္", value: "ṭh" },
+{ id: "ဎ္", value: "ḍh" },
+{ id: "ထ္", value: "th" },
+{ id: "ဓ္", value: "dh" },
+{ id: "ဖ္", value: "ph" },
+{ id: "ဘ္", value: "bh" },
+{ id: "က္", value: "k" },
+{ id: "ဂ္", value: "g" },
+{ id: "စ္", value: "c" },
+{ id: "ဇ္", value: "j" },
+{ id: "ဉ္", value: "ñ" },
+{ id: "ဠ္", value: "ḷ" },
+{ id: "ဋ္", value: "ṭ" },
+{ id: "ဍ္", value: "ḍ" },
+{ id: "ဏ္", value: "ṇ" },
+{ id: "တ္", value: "t" },
+{ id: "ဒ္", value: "d" },
+{ id: "န္", value: "n" },
+{ id: "ဟ္", value: "h" },
+{ id: "ပ္", value: "p" },
+{ id: "ဗ္", value: "b" },
+{ id: "မ္", value: "m" },
+{ id: "ယ္", value: "y" },
+{ id: "ရ္", value: "r" },
+{ id: "လ္", value: "l" },
+{ id: "ဝ္", value: "v" },
+{ id: "သ္", value: "s" },
+{ id: "င္", value: "ṅ" },
+{ id: "ခ", value: "kha" },
+{ id: "ဃ", value: "gha" },
+{ id: "ဆ", value: "cha" },
+{ id: "ဈ", value: "jha" },
+{ id: "ည", value: "ñña" },
+{ id: "ဌ", value: "ṭha" },
+{ id: "ဎ", value: "ḍha" },
+{ id: "ထ", value: "tha" },
+{ id: "ဓ", value: "dha" },
+{ id: "ဖ", value: "pha" },
+{ id: "ဘ", value: "bha" },
+{ id: "က", value: "ka" },
+{ id: "ဂ", value: "ga" },
+{ id: "စ", value: "ca" },
+{ id: "ဇ", value: "ja" },
+{ id: "ဉ", value: "ña" },
+{ id: "ဠ", value: "ḷa" },
+{ id: "ဋ", value: "ṭa" },
+{ id: "ဍ", value: "ḍa" },
+{ id: "ဏ", value: "ṇa" },
+{ id: "တ", value: "ta" },
+{ id: "ဒ", value: "da" },
+{ id: "န", value: "na" },
+{ id: "ဟ", value: "ha" },
+{ id: "ပ", value: "pa" },
+{ id: "ဗ", value: "ba" },
+{ id: "မ", value: "ma" },
+{ id: "ယ", value: "ya" },
+{ id: "ရ", value: "ra" },
+{ id: "႐", value: "ra" }, //后加
+{ id: "လ", value: "la" },
+{ id: "ဝ", value: "va" },
+{ id: "သ", value: "sa" },
+
+{ id: "ီႇ", value: "ႇီ" }, //后加
+{ id: "ိႇ", value: "ႇိ" }, //后加
+
+{ id: "ျ", value: "္ra" }, //后加
+{ id: "ွ", value: "္ha" }, //后加
+{ id: "ှ", value: "္ha" }, //后加
+{ id: "ႇ", value: "္ha" }, //后加
+{ id: "ြ", value: "္va" }, //后加
+
+{ id: "ၱ", value: "္ta" }, //后加
+{ id: "ၳ", value: "္tha" }, //后加
+{ id: "ၵ", value: "္da" }, //后加
+{ id: "ၶ", value: "္dha" }, //后加
+
+{ id: "ၬ", value: "္ṭa" }, //后加
+{ id: "ၭ", value: "္ṭha" }, //后加
+
+{ id: "ၠ", value: "္ka" }, //后加
+{ id: "ၡ", value: "္kha" }, //后加
+{ id: "ၢ", value: "္ga" }, //后加
+{ id: "ၣ", value: "္gha" }, //后加
+
+{ id: "ၸ", value: "္pa" }, //后加
+{ id: "ၹ", value: "္pha" }, //后加
+{ id: "ၺ", value: "္ba" }, //后加
+{ id: "႓", value: "္bha" }, //后加
+
+{ id: "ၥ", value: "္ca" }, //后加
+{ id: "ၧ", value: "္cha" }, //后加
+{ id: "ၨ", value: "္ja" }, //后加
+{ id: "ၩ", value: "္jha" }, //后加
+
+{ id: "်", value: "္ya" }, //后加
+{ id: "ႅ", value: "္la" }, //后加
+{ id: "ၼ", value: "္ma" }, //后加
+{ id: "ွ", value: "္ha" }, //后加
+{ id: "ၲ", value: "ta" }, //后加
+
+{ id: "ႆ", value: "ssa" }, //后加
+{ id: "ၫ", value: "ñña" }, //后加
+{ id: "ၷ", value: "na" }, //后加
+
+{ id: "႒", value: "ṭṭha" }, //后加
+{ id: "႗", value: "ṭṭa" }, //后加
+{ id: "ၯ", value: "ḍḍha" }, //后加
+{ id: "ၮ", value: "ḍḍa" }, //后加
+{ id: "႑", value: "ṇḍa" }, //后加
+{ id: "ၴ", value: "tha" }, //后加
+
+{ id: "ႍ", value: "ၤṃ" }, //後加
+
+{ id: "kaၤ", value: "ṅka" }, //后加
+{ id: "gaၤ", value: "ṅga" }, //后加
+{ id: "khaၤ", value: "ṅkha" }, //后加
+{ id: "ghaၤ", value: "ṅgha" }, //后加
+
+{ id: "ိံ", value: "္iṃ" },
+{ id: "ုံ", value: "္uṃ" },
+{ id: "ံု", value: "္uṃ" }, //後加
+{ id: "ံဳ", value: "္uṃ" }, //後加
+{ id: "ော", value: "္o" },
+{ id: "ေါ", value: "္o" },
+{ id: "aအံ", value: "aṃ" },
+{ id: "aဣံ", value: "iṃ" },
+{ id: "ႎ", value: "္iṃ" }, //後加
+{ id: "aဥံ", value: "uṃ" },
+{ id: "ံ", value: "ṃ" },
+{ id: "ိ", value: "္i" },
+{ id: "ီ", value: "္ī" },
+{ id: "ု", value: "္u" },
+{ id: "ဳ", value: "္u" }, //後加
+{ id: "ူ", value: "္ū" },
+{ id: "ဴ", value: "္ū" },
+//{ "id":"aေ" , "value":"E" },
+{ id: "အါ", value: "ā" },
+{ id: "အာ", value: "ā" },
+{ id: "အ", value: "a" },
+{ id: "ဣ", value: "i" },
+{ id: "ဤ", value: "ī" },
+{ id: "ဧ", value: "E" },
+{ id: "ဥ", value: "u" },
+{ id: "ဦ", value: "ū" },
+{ id: "ဩ", value: "o" },
+{ id: "ႏ", value: "n" }, //後加
+{ id: "ၪ", value: "ñ" }, //後加
+{ id: "ၰ", value: "္ṇa" }, //後加
+{ id: "a္", value: "" }, //後加
+{ id: "္", value: "" }, //後加
+
+{ id: "kuၤ", value: "ṅku" }, //后加
+{ id: "guၤ", value: "ṅgu" }, //后加
+{ id: "khuၤ", value: "ṅkhu" }, //后加
+{ id: "ghuၤ", value: "ṅghu" }, //后加
+
+{ id: "kyaၤ", value: "ṅkya" }, //后加
+{ id: "gyaၤ", value: "ṅgya" }, //后加
+{ id: "khyaၤ", value: "ṅkhya" }, //后加
+{ id: "ghyaၤ", value: "ṅghya" }, //后加
+
+{ id: "kaႌ", value: "ṅkī" }, //后加
+{ id: "gaႌ", value: "ṅgī" }, //后加
+{ id: "khaႌ", value: "ṅkhī" }, //后加
+{ id: "ghaႌ", value: "ṅghī" }, //后加
+
+{ id: "kaႋ", value: "ṅki" }, //后加
+{ id: "gaႋ", value: "ṅgi" }, //后加
+{ id: "khaႋ", value: "ṅkhi" }, //后加
+{ id: "ghaႋ", value: "ṅghi" }, //后加
+
+{ id: "ာ", value: "္ā" },
+{ id: "ါ", value: "္ā" },
+{ id: "a္", value: "" }, //後加
+
+{ id: "ေṅkhy", value: "ṅkhyE" }, //后加
+{ id: "ေṅghy", value: "ṅghyE" }, //后加
+{ id: "ေṅky", value: "ṅkyE" }, //后加
+{ id: "ေṅgy", value: "ṅgyE" }, //后加
+
+{ id: "ေndr", value: "ndrE" }, //後加
+{ id: "ေntr", value: "ntrE" }, //後加
+{ id: "ေdr", value: "drE" }, //後加
+{ id: "ေtr", value: "trE" }, //後加
+{ id: "ေkr", value: "krE" }, //後加
+{ id: "ေgr", value: "grE" }, //後加
+{ id: "ေbr", value: "brE" }, //後加
+
+{ id: "ေky", value: "kyE" }, //後加
+{ id: "ေby", value: "byE" }, //後加
+{ id: "ေṇy", value: "ṇyE" }, //後加
+{ id: "ေby", value: "byE" }, //後加
+
+{ id: "ေtv", value: "tvE" }, //後加
+{ id: "ေdv", value: "dvE" }, //後加
+{ id: "ေsv", value: "svE" }, //後加
+{ id: "ေnv", value: "nvE" }, //後加
+
+{ id: "ေḷh", value: "ḷhE" }, //後加
+{ id: "ေlh", value: "lhE" }, //後加
+{ id: "ေṇh", value: "ṇhE" }, //後加
+{ id: "ေñh", value: "ñhE" }, //後加
+{ id: "ေmh", value: "mhE" }, //後加
+
+{ id: "ေsn", value: "snE" }, //後加
+{ id: "ေvh", value: "vhE" }, //後加
+{ id: "ေpl", value: "plE" }, //後加
+{ id: "ေkl", value: "klE" }, //後加
+
+{ id: "ေṅkh", value: "ṅkhE" }, //后加
+{ id: "ေṅgh", value: "ṅghE" }, //后加
+{ id: "ေṅk", value: "ṅkE" }, //后加
+{ id: "ေṅg", value: "ṅgE" }, //后加
+
+{ id: "ေmph", value: "mphE" }, //后加
+{ id: "ေmbh", value: "mbhE" }, //后加
+{ id: "ေmp", value: "mpE" }, //后加
+{ id: "ေmb", value: "mbE" }, //后加
+
+{ id: "ေnth", value: "nthE" }, //后加
+{ id: "ေndh", value: "ndhE" }, //后加
+{ id: "ေnt", value: "ntE" }, //后加
+{ id: "ေnd", value: "ndE" }, //后加
+
+{ id: "ေṇṭh", value: "ṇṭhE" }, //后加
+{ id: "ေṇḍh", value: "ṇḍhE" }, //后加
+{ id: "ေṇṭ", value: "ṇṭE" }, //后加
+{ id: "ေṇḍ", value: "ṇḍE" }, //后加
+
+{ id: "ေñch", value: "ñchE" }, //后加
+{ id: "ေñjh", value: "ñjhE" }, //后加
+{ id: "ေñc", value: "ñcE" }, //后加
+{ id: "ေñj", value: "ñjE" }, //后加
+
+{ id: "ေss", value: "ssE" }, //后加
+{ id: "ေkkh", value: "kkhE" }, //后加
+{ id: "ေggh", value: "gghE" }, //后加
+{ id: "ေcch", value: "cchE" }, //后加
+{ id: "ေjjh", value: "jjhE" }, //后加
+{ id: "ေññ", value: "ññE" }, //后加
+{ id: "ေṭṭh", value: "ṭṭhE" }, //后加
+{ id: "ေḍḍh", value: "ḍḍhE" }, //后加
+{ id: "ေtth", value: "tthE" }, //后加
+{ id: "ေddh", value: "ddhE" }, //后加
+{ id: "ေpph", value: "pphE" }, //后加
+{ id: "ေbbh", value: "bbhE" }, //后加
+{ id: "ေkk", value: "kkE" }, //后加
+{ id: "ေgg", value: "ggE" }, //后加
+{ id: "ေcc", value: "ccE" }, //后加
+{ id: "ေjj", value: "jjE" }, //后加
+{ id: "ေḷḷ", value: "ḷḷE" }, //后加
+{ id: "ေṭṭ", value: "ṭṭE" }, //后加
+{ id: "ေḍḍ", value: "ḍḍE" }, //后加
+{ id: "ေṇṇ", value: "ṇṇE" }, //后加
+{ id: "ေtt", value: "ttE" }, //后加
+{ id: "ေdd", value: "ddE" }, //后加
+{ id: "ေnn", value: "nnE" }, //后加
+{ id: "ေpp", value: "ppE" }, //后加
+{ id: "ေbb", value: "bbE" }, //后加
+{ id: "ေmm", value: "mmE" }, //后加
+{ id: "ေyy", value: "yyE" }, //后加
+{ id: "ေll", value: "llE" }, //后加
+
+{ id: "ေkh", value: "khE" }, //后加
+{ id: "ေgh", value: "ghE" }, //后加
+{ id: "ေch", value: "chE" }, //后加
+{ id: "ေjh", value: "jhE" }, //后加
+{ id: "ေṭh", value: "ṭhE" }, //后加
+{ id: "ေḍh", value: "ḍhE" }, //后加
+{ id: "ေth", value: "thE" }, //后加
+{ id: "ေdh", value: "dhE" }, //后加
+{ id: "ေph", value: "phE" }, //后加
+{ id: "ေbh", value: "bhE" }, //后加
+{ id: "ေk", value: "kE" }, //后加
+{ id: "ေg", value: "gE" }, //后加
+{ id: "ေc", value: "cE" }, //后加
+{ id: "ေj", value: "jE" }, //后加
+{ id: "ေñ", value: "ñE" }, //后加
+{ id: "ေḷ", value: "ḷE" }, //后加
+{ id: "ေṭ", value: "ṭE" }, //后加
+{ id: "ေḍ", value: "ḍE" }, //后加
+{ id: "ေṇ", value: "ṇE" }, //后加
+{ id: "ေt", value: "tE" }, //后加
+{ id: "ေd", value: "dE" }, //后加
+{ id: "ေn", value: "nE" }, //后加
+{ id: "ေh", value: "hE" }, //后加
+{ id: "ေp", value: "pE" }, //后加
+{ id: "ေb", value: "bE" }, //后加
+{ id: "ေm", value: "mE" }, //后加
+{ id: "ေy", value: "yE" }, //后加
+{ id: "ေr", value: "rE" }, //后加
+{ id: "ေl", value: "lE" }, //后加
+{ id: "ေv", value: "vE" }, //后加
+{ id: "ေs", value: "sE" }, //后加
+{ id: "ေy", value: "yE" }, //后加
+{ id: "ေv", value: "vE" }, //后加
+{ id: "ေr", value: "rE" }, //后加
+
+{ id: "Ea", value: "e" }, //后加
+{ id: "Eā", value: "o" }, //后加
+{ id: "E", value: "e" }, //后加
+//{ "id":"ūu" , "value":"ū" },//后加
+//{ "id":"uū" , "value":"ū" },//后加
+
+{ id: "၁", value: "1" },
+{ id: "၂", value: "2" },
+{ id: "၃", value: "3" },
+{ id: "၄", value: "4" },
+{ id: "၅", value: "5" },
+{ id: "၆", value: "6" },
+{ id: "၇", value: "7" },
+{ id: "၈", value: "8" },
+{ id: "၉", value: "9" },
+{ id: "၀", value: "0" },
+{ id: "း", value: "”" },
+{ id: "့", value: "’" },
+{ id: "။", value: "." },
+{ id: "၊", value: "," },
+];
+
+function roman_to_tai(input) {
+
+let txt = input.toLowerCase();
+
+try {
+for (r_to_t_i in char_roman_to_tai) {
+eval("txt=txt.replace(/" + char_roman_to_tai[r_to_t_i].id + "/g,char_roman_to_tai[r_to_t_i].value);");
+}
+} catch (err) {
+//error
+alert(err.message);
+}
+return txt;
+}

+ 714 - 0
app/public/charcode/converter_thai.js

@@ -0,0 +1,714 @@
+var char_roman_to_thai = [
+{ id: "ggho", value: "ᨣ᩠ᨣᩮᩤ" },
+{ id: "gghā", value: "ᨣ᩠ᨣᩤ" },
+{ id: "ddho", value: "ᨴ᩠ᨵᩮᩤ" },
+{ id: "ddhā", value: "ᨴ᩠ᨵᩤ" },
+{ id: "ppho", value: "ᨷ᩠ᨹᩮᩤ" },
+{ id: "pphā", value: "ᨷ᩠ᨹᩤ" },
+{ id: "ss", value: "ᩔ᩠" },
+{ id: "vh", value: "ᩅ᩠ᩉ᩠" },
+{ id: "vy", value: "ᩅ᩠ᨿ᩠" },
+{ id: "vr", value: "ᩅᩕ᩠" },
+{ id: "yh", value: "ᨿ᩠ᩉ᩠" },
+{ id: "yy", value: "ᨿ᩠ᨿ᩠" },
+{ id: "yr", value: "ᨿᩕ᩠" },
+{ id: "yv", value: "ᨿ᩠ᩅ᩠" },
+{ id: "hy", value: "ᩉ᩠ᨿ᩠" },
+{ id: "hr", value: "ᩉᩕ᩠" },
+{ id: "hv", value: "ᩉ᩠ᩅ᩠" },
+{ id: "rv", value: "ᩁ᩠ᩅ᩠" },
+{ id: "rh", value: "ᩁ᩠ᩉ᩠" },
+{ id: "ry", value: "ᩁ᩠ᨿ᩠" },
+{ id: "kh", value: "ᨡ᩠" },
+{ id: "gh", value: "ᨿ᩠" },
+{ id: "ch", value: "ᨨ᩠" },
+{ id: "jh", value: "ᨫ᩠" },
+{ id: "ññ", value: "ᨬ᩠ᨬ᩠" },
+{ id: "ṭh", value: "ᨮ᩠" },
+{ id: "ḍh", value: "ᨰ᩠" },
+{ id: "th", value: "ᨳ᩠" },
+{ id: "dh", value: "ᨵ᩠" },
+{ id: "ph", value: "ᨹ᩠" },
+{ id: "bh", value: "ᨽ᩠" },
+{ id: "k", value: "ᨠ᩠" },
+{ id: "g", value: "ᨣ᩠" },
+{ id: "c", value: "ᨧ᩠" },
+{ id: "j", value: "ᨩ᩠" },
+{ id: "ñ", value: "ᨬ᩠" },
+{ id: "ḷ", value: "ᩊ᩠" },
+{ id: "ṭ", value: "ᨭ᩠" },
+{ id: "ḍ", value: "ᨯ᩠" },
+{ id: "ṇ", value: "ᨱ᩠" },
+{ id: "t", value: "ᨲ᩠" },
+{ id: "d", value: "ᨴ᩠" },
+{ id: "n", value: "ᨶ᩠" },
+{ id: "p", value: "ᨷ᩠" },
+{ id: "b", value: "ᨻ᩠" },
+{ id: "m", value: "ᨾ᩠" },
+{ id: "l", value: "ᩃ᩠" },
+{ id: "s", value: "ᩈ᩠" },
+{ id: "ṅ", value: "ᩘ" },
+{ id: "္h", value: "᩠ᩉ" },
+{ id: "h", value: "ᩉ᩠" },
+{ id: "္y", value: "᩠ᨿ" },
+{ id: "y", value: "ᨿ᩠" },
+{ id: "္r", value: "ᩕ᩠" },
+{ id: "r", value: "ᩁ᩠" },
+{ id: "္v", value: "᩠ᩅ᩠" },
+{ id: "v", value: "ᩅ᩠" },
+{ id: "္aṃ", value: "ᩴ" },
+{ id: "္iṃ", value: "ᩥᩴ" },
+{ id: "္uṃ", value: "ᩩᩴ" },
+{ id: "္ā", value: "ᩣ" },
+{ id: "္i", value: "ᩥ" },
+{ id: "္ī", value: "ᩦ" },
+{ id: "္u", value: "ᩩ" },
+{ id: "္ū", value: "ᩪ" },
+{ id: "္e", value: "ᩮ" },
+{ id: "္o", value: "ᩮᩣ" },
+{ id: "aṃ", value: "ᩋᩴ" },
+{ id: "iṃ", value: "ᨠ᩠ᨠᩴ" },
+{ id: "uṃ", value: "ᩏᩴ" },
+{ id: "a", value: "ᩋ" },
+{ id: "ā", value: "ᩋᩣ" },
+{ id: "i", value: "ᩍ" },
+{ id: "ī", value: "ᩎ" },
+{ id: "u", value: "ᩏ" },
+{ id: "ū", value: "ᩐ" },
+{ id: "e", value: "ᩑ" },
+{ id: "o", value: "ᩒ" },
+{ id: "᩠᩼ᩋ", value: "" },
+{ id: "᩠ᩋ", value: "" },
+{ id: "ᨡᩮᩣ", value: "ᨡᩮᩤ" },
+{ id: "ᨡᩣ", value: " ᨡᩤ" },
+{ id: " ᨠ᩠ᨡᩮᩤ", value: " ᨠ᩠ᨡᩮᩤ" },
+{ id: "က္ခါ", value: " ᨠ᩠ᨡᩤ" },
+{ id: "ဂော", value: "ᨣᩮᩤ" },
+{ id: "ᨦᩮᩣ", value: "ᨦᩮᩤ" },
+{ id: "ᨴᩮᩣ", value: "ᨴᩮᩤ" },
+{ id: "ᨷᩮᩣ", value: "ᨷᩮᩤ" },
+{ id: "ᩅᩮᩣ", value: "ᩅᩮᩤ" },
+{ id: "ᨣᩣ", value: "ᨣᩤ" },
+{ id: "ᨦᩣ", value: "ᨦᩤ" },
+{ id: "ᨴᩣ", value: "ᨴᩤ" },
+{ id: "ᨷᩣ", value: "ᨷᩤ" },
+{ id: "ᩅᩣ", value: "ᩅᩤ" },
+{ id: "ᨴ᩠ᩅᩣ", value: "ᨴ᩠ᩅᩤ" },
+
+
+];
+
+
+
+
+var char_tai_to_roman_1 = [
+{ id: "ႁႏၵ", value: "ndra" }, //後加
+
+{ id: "ခ္", value: "kh" },
+{ id: "ဃ္", value: "gh" },
+{ id: "ဆ္", value: "ch" },
+{ id: "ဈ္", value: "jh" },
+{ id: "ည္", value: "ññ" },
+{ id: "ဌ္", value: "ṭh" },
+{ id: "ဎ္", value: "ḍh" },
+{ id: "ထ္", value: "th" },
+{ id: "ဓ္", value: "dh" },
+{ id: "ဖ္", value: "ph" },
+{ id: "ဘ္", value: "bh" },
+{ id: "က္", value: "k" },
+{ id: "ဂ္", value: "g" },
+{ id: "စ္", value: "c" },
+{ id: "ဇ္", value: "j" },
+{ id: "ဉ္", value: "ñ" },
+{ id: "ဠ္", value: "ḷ" },
+{ id: "ဋ္", value: "ṭ" },
+{ id: "ဍ္", value: "ḍ" },
+{ id: "ဏ္", value: "ṇ" },
+{ id: "တ္", value: "t" },
+{ id: "ဒ္", value: "d" },
+{ id: "န္", value: "n" },
+{ id: "ဟ္", value: "h" },
+{ id: "ပ္", value: "p" },
+{ id: "ဗ္", value: "b" },
+{ id: "မ္", value: "m" },
+{ id: "ယ္", value: "y" },
+{ id: "ရ္", value: "r" },
+{ id: "လ္", value: "l" },
+{ id: "ဝ္", value: "v" },
+{ id: "သ္", value: "s" },
+{ id: "င္", value: "ṅ" },
+{ id: "င်္", value: "ṅ" },
+{ id: "ဿ", value: "ssa" },
+{ id: "ခ", value: "kha" },
+{ id: "ဃ", value: "gha" },
+{ id: "ဆ", value: "cha" },
+{ id: "ဈ", value: "jha" },
+{ id: "ည", value: "ñña" },
+{ id: "ဌ", value: "ṭha" },
+{ id: "ဎ", value: "ḍha" },
+{ id: "ထ", value: "tha" },
+{ id: "ဓ", value: "dha" },
+{ id: "ဖ", value: "pha" },
+{ id: "ဘ", value: "bha" },
+{ id: "က", value: "ka" },
+{ id: "ဂ", value: "ga" },
+{ id: "စ", value: "ca" },
+{ id: "ဇ", value: "ja" },
+{ id: "ဉ", value: "ña" },
+{ id: "ဠ", value: "ḷa" },
+{ id: "ဋ", value: "ṭa" },
+{ id: "ဍ", value: "ḍa" },
+{ id: "ဏ", value: "ṇa" },
+{ id: "တ", value: "ta" },
+{ id: "ဒ", value: "da" },
+{ id: "န", value: "na" },
+{ id: "ဟ", value: "ha" },
+{ id: "ပ", value: "pa" },
+{ id: "ဗ", value: "ba" },
+{ id: "မ", value: "ma" },
+{ id: "ယ", value: "ya" },
+{ id: "ရ", value: "ra" },
+{ id: "႐", value: "ra" }, //后加
+{ id: "လ", value: "la" },
+{ id: "ဝ", value: "va" },
+{ id: "သ", value: "sa" },
+{ id: "aျ္", value: "ya" },
+{ id: "aွ္", value: "va" },
+{ id: "aြ္", value: "ra" },
+
+{ id: "ၱ", value: "္ta" }, //后加
+{ id: "ၳ", value: "္tha" }, //后加
+{ id: "ၵ", value: "္da" }, //后加
+{ id: "ၶ", value: "္dha" }, //后加
+
+{ id: "ၬ", value: "္ṭa" }, //后加
+{ id: "ၭ", value: "္ṭha" }, //后加
+
+{ id: "ၠ", value: "္ka" }, //后加
+{ id: "ၡ", value: "္kha" }, //后加
+{ id: "ၢ", value: "္ga" }, //后加
+{ id: "ၣ", value: "္gha" }, //后加
+
+{ id: "ၸ", value: "္pa" }, //后加
+{ id: "ၹ", value: "္pha" }, //后加
+{ id: "ၺ", value: "္ba" }, //后加
+{ id: "႓", value: "္bha" }, //后加
+
+{ id: "ၥ", value: "္ca" }, //后加
+{ id: "ၧ", value: "္cha" }, //后加
+{ id: "ၨ", value: "္ja" }, //后加
+{ id: "ၩ", value: "္jha" }, //后加
+
+{ id: "်", value: "္ya" }, //后加
+{ id: "ႅ", value: "္la" }, //后加
+{ id: "ၼ", value: "္ma" }, //后加
+{ id: "ွ", value: "္ha" }, //后加
+{ id: "ႆ", value: "ssa" }, //后加
+{ id: "ၷ", value: "na" }, //后加
+{ id: "ၲ", value: "ta" }, //后加
+
+{ id: "႒", value: "ṭṭha" }, //后加
+{ id: "႗", value: "ṭṭa" }, //后加
+{ id: "ၯ", value: "ḍḍha" }, //后加
+{ id: "ၮ", value: "ḍḍa" }, //后加
+{ id: "႑", value: "ṇḍa" }, //后加
+
+{ id: "kaၤ", value: "ṅka" }, //后加
+{ id: "gaၤ", value: "ṅga" }, //后加
+{ id: "khaၤ", value: "ṅkha" }, //后加
+{ id: "ghaၤ", value: "ṅgha" }, //后加
+
+{ id: "aှ္", value: "ha" },
+{ id: "aိံ", value: "iṃ" },
+{ id: "aုံ", value: "uṃ" },
+{ id: "aော", value: "o" },
+{ id: "aေါ", value: "o" },
+{ id: "aအံ", value: "aṃ" },
+{ id: "aဣံ", value: "iṃ" },
+{ id: "aဥံ", value: "uṃ" },
+{ id: "aံ", value: "aṃ" },
+{ id: "aာ", value: "ā" },
+{ id: "aါ", value: "ā" },
+{ id: "aိ", value: "i" },
+{ id: "aီ", value: "ī" },
+{ id: "aု", value: "u" },
+{ id: "aဳ", value: "u" }, //後加
+{ id: "aူ", value: "ū" },
+{ id: "aေ", value: "e" },
+{ id: "အါ", value: "ā" },
+{ id: "အာ", value: "ā" },
+{ id: "အ", value: "a" },
+{ id: "ဣ", value: "i" },
+{ id: "ဤ", value: "ī" },
+{ id: "ဥ", value: "u" },
+{ id: "ဦ", value: "ū" },
+{ id: "ဧ", value: "e" },
+{ id: "ဩ", value: "o" },
+{ id: "ႏ", value: "n" }, //後加
+{ id: "ၪ", value: "ñ" }, //後加
+{ id: "a္", value: "" }, //後加
+{ id: "္", value: "" }, //後加
+
+{ id: "ေss", value: "sse" }, //后加
+{ id: "ေkh", value: "khe" }, //后加
+{ id: "ေgh", value: "ghe" }, //后加
+{ id: "ေch", value: "che" }, //后加
+{ id: "ေjh", value: "jhe" }, //后加
+{ id: "ေññ", value: "ññe" }, //后加
+{ id: "ေṭh", value: "ṭhe" }, //后加
+{ id: "ေḍh", value: "ḍhe" }, //后加
+{ id: "ေth", value: "the" }, //后加
+{ id: "ေdh", value: "dhe" }, //后加
+{ id: "ေph", value: "phe" }, //后加
+{ id: "ေbh", value: "bhe" }, //后加
+{ id: "ေk", value: "ke" }, //后加
+{ id: "ေg", value: "ge" }, //后加
+{ id: "ေc", value: "ce" }, //后加
+{ id: "ေj", value: "je" }, //后加
+{ id: "ေñ", value: "ñe" }, //后加
+{ id: "ေḷ", value: "ḷe" }, //后加
+{ id: "ေṭ", value: "ṭe" }, //后加
+{ id: "ေḍ", value: "ḍe" }, //后加
+{ id: "ေṇ", value: "ṇe" }, //后加
+{ id: "ေt", value: "te" }, //后加
+{ id: "ေd", value: "de" }, //后加
+{ id: "ေn", value: "ne" }, //后加
+{ id: "ေh", value: "he" }, //后加
+{ id: "ေp", value: "pe" }, //后加
+{ id: "ေb", value: "be" }, //后加
+{ id: "ေm", value: "me" }, //后加
+{ id: "ေy", value: "ye" }, //后加
+{ id: "ေr", value: "re" }, //后加
+{ id: "ေl", value: "le" }, //后加
+{ id: "ေv", value: "ve" }, //后加
+{ id: "ေs", value: "se" }, //后加
+{ id: "ေy", value: "ye" }, //后加
+{ id: "ေv", value: "ve" }, //后加
+{ id: "ေr", value: "re" }, //后加
+
+{ id: "ea", value: "e" }, //后加
+{ id: "eā", value: "o" }, //后加
+
+{ id: "၁", value: "1" },
+{ id: "၂", value: "2" },
+{ id: "၃", value: "3" },
+{ id: "၄", value: "4" },
+{ id: "၅", value: "5" },
+{ id: "၆", value: "6" },
+{ id: "၇", value: "7" },
+{ id: "၈", value: "8" },
+{ id: "၉", value: "9" },
+{ id: "၀", value: "0" },
+{ id: "း", value: "”" },
+{ id: "့", value: "’" },
+{ id: "။", value: "." },
+{ id: "၊", value: "," },
+];
+
+var char_tai_to_roman_2 = [
+{ id: "ိၭ", value: "ၭိ" }, //後加
+{ id: "ီၭ", value: "ၭီ" }, //後加
+{ id: "ိၼ", value: "ၼိ" }, //後加
+{ id: "ုၤ", value: "ၤု" }, //後加
+{ id: "ၤ်", value: "်ၤ" }, //後加
+{ id: "ိ်", value: "်ိ" }, //後加
+{ id: "ိၬ", value: "ၬိ" }, //後加
+{ id: "ိၧ", value: "ၧိ" }, //後加
+{ id: "ိၰ", value: "ၰိ" }, //後加
+{ id: "ိၱ", value: "ၱိ" }, //後加
+{ id: "ိြ", value: "ြိ" }, //後加
+{ id: "ိႇ", value: "ႇိ" }, //後加
+
+{ id: "ာာ", value: "ာ" }, //後加
+{ id: "ဳဳ", value: "ဳ" }, //後加
+{ id: "ဳဴ", value: "ဳ" }, //後加
+{ id: "ဴူ", value: "ူ" }, //後加
+{ id: "ိီ", value: "ိ" }, //後加
+{ id: "ူု", value: "ူ" }, //後加
+{ id: "ုဳ", value: "ု" }, //後加
+{ id: "ုု", value: "ု" }, //後加
+{ id: "႓႓", value: "႓" }, //後加
+{ id: "ီီ", value: "ီ" }, //後加
+{ id: "ၡၡ", value: "ၡ" }, //後加
+{ id: "ွွ", value: "ွ" }, //後加
+
+{ id: "ႁႏၵ", value: "ndra" }, //後加
+{ id: "ၿႏၵ", value: "ndra" }, //後加
+
+{ id: "ၾတ", value: "tra" }, //後加
+{ id: "ၾဒ", value: "dra" }, //後加
+{ id: "ၾက", value: "kra" }, //後加
+{ id: "ၾဂ", value: "gra" }, //後加
+{ id: "ၾပ", value: "pra" }, //後加
+{ id: "ၾဗ", value: "bra" }, //後加
+
+{ id: "ႀတ", value: "tra" }, //後加
+{ id: "ႀက", value: "kra" }, //後加
+{ id: "ႀပ", value: "pra" }, //後加
+{ id: "ႀဗ", value: "bra" }, //後加
+{ id: "ႀဒ", value: "dra" }, //後加
+{ id: "ႀဂ", value: "gra" }, //後加
+
+{ id: "ျတ", value: "tra" }, //後加
+{ id: "ျက", value: "kra" }, //後加
+{ id: "ျပ", value: "pra" }, //後加
+{ id: "ျဗ", value: "bra" }, //後加
+{ id: "ျဒ", value: "dra" }, //後加
+{ id: "ျဂ", value: "gra" }, //後加
+
+{ id: "ၿတ", value: "tra" }, //後加
+{ id: "ၿက", value: "kra" }, //後加
+{ id: "ၿပ", value: "pra" }, //後加
+{ id: "ၿဗ", value: "bra" }, //後加
+{ id: "ၿဒ", value: "dra" }, //後加
+{ id: "ၿဂ", value: "gra" }, //後加
+
+{ id: "႖", value: "tva" }, //後加
+{ id: "ဗ်", value: "bya" }, //後加
+{ id: "ဝ်", value: "vya" }, //後加
+
+{ id: "ဥႇ", value: "ñha" }, //後加
+{ id: "သၷ", value: "sna" }, //後加
+{ id: "ၥ်", value: "jha" }, //後加
+
+{ id: "ဒြ", value: "dva" }, //後加
+
+{ id: "ခ္", value: "kh" },
+{ id: "ဃ္", value: "gh" },
+{ id: "ဆ္", value: "ch" },
+{ id: "ဈ္", value: "jh" },
+{ id: "ည္", value: "ññ" },
+{ id: "ဌ္", value: "ṭh" },
+{ id: "ဎ္", value: "ḍh" },
+{ id: "ထ္", value: "th" },
+{ id: "ဓ္", value: "dh" },
+{ id: "ဖ္", value: "ph" },
+{ id: "ဘ္", value: "bh" },
+{ id: "က္", value: "k" },
+{ id: "ဂ္", value: "g" },
+{ id: "စ္", value: "c" },
+{ id: "ဇ္", value: "j" },
+{ id: "ဉ္", value: "ñ" },
+{ id: "ဠ္", value: "ḷ" },
+{ id: "ဋ္", value: "ṭ" },
+{ id: "ဍ္", value: "ḍ" },
+{ id: "ဏ္", value: "ṇ" },
+{ id: "တ္", value: "t" },
+{ id: "ဒ္", value: "d" },
+{ id: "န္", value: "n" },
+{ id: "ဟ္", value: "h" },
+{ id: "ပ္", value: "p" },
+{ id: "ဗ္", value: "b" },
+{ id: "မ္", value: "m" },
+{ id: "ယ္", value: "y" },
+{ id: "ရ္", value: "r" },
+{ id: "လ္", value: "l" },
+{ id: "ဝ္", value: "v" },
+{ id: "သ္", value: "s" },
+{ id: "င္", value: "ṅ" },
+{ id: "ခ", value: "kha" },
+{ id: "ဃ", value: "gha" },
+{ id: "ဆ", value: "cha" },
+{ id: "ဈ", value: "jha" },
+{ id: "ည", value: "ñña" },
+{ id: "ဌ", value: "ṭha" },
+{ id: "ဎ", value: "ḍha" },
+{ id: "ထ", value: "tha" },
+{ id: "ဓ", value: "dha" },
+{ id: "ဖ", value: "pha" },
+{ id: "ဘ", value: "bha" },
+{ id: "က", value: "ka" },
+{ id: "ဂ", value: "ga" },
+{ id: "စ", value: "ca" },
+{ id: "ဇ", value: "ja" },
+{ id: "ဉ", value: "ña" },
+{ id: "ဠ", value: "ḷa" },
+{ id: "ဋ", value: "ṭa" },
+{ id: "ဍ", value: "ḍa" },
+{ id: "ဏ", value: "ṇa" },
+{ id: "တ", value: "ta" },
+{ id: "ဒ", value: "da" },
+{ id: "န", value: "na" },
+{ id: "ဟ", value: "ha" },
+{ id: "ပ", value: "pa" },
+{ id: "ဗ", value: "ba" },
+{ id: "မ", value: "ma" },
+{ id: "ယ", value: "ya" },
+{ id: "ရ", value: "ra" },
+{ id: "႐", value: "ra" }, //后加
+{ id: "လ", value: "la" },
+{ id: "ဝ", value: "va" },
+{ id: "သ", value: "sa" },
+
+{ id: "ီႇ", value: "ႇီ" }, //后加
+{ id: "ိႇ", value: "ႇိ" }, //后加
+
+{ id: "ျ", value: "္ra" }, //后加
+{ id: "ွ", value: "္ha" }, //后加
+{ id: "ှ", value: "္ha" }, //后加
+{ id: "ႇ", value: "္ha" }, //后加
+{ id: "ြ", value: "္va" }, //后加
+
+{ id: "ၱ", value: "္ta" }, //后加
+{ id: "ၳ", value: "္tha" }, //后加
+{ id: "ၵ", value: "္da" }, //后加
+{ id: "ၶ", value: "္dha" }, //后加
+
+{ id: "ၬ", value: "္ṭa" }, //后加
+{ id: "ၭ", value: "္ṭha" }, //后加
+
+{ id: "ၠ", value: "္ka" }, //后加
+{ id: "ၡ", value: "္kha" }, //后加
+{ id: "ၢ", value: "္ga" }, //后加
+{ id: "ၣ", value: "္gha" }, //后加
+
+{ id: "ၸ", value: "္pa" }, //后加
+{ id: "ၹ", value: "္pha" }, //后加
+{ id: "ၺ", value: "္ba" }, //后加
+{ id: "႓", value: "္bha" }, //后加
+
+{ id: "ၥ", value: "္ca" }, //后加
+{ id: "ၧ", value: "္cha" }, //后加
+{ id: "ၨ", value: "္ja" }, //后加
+{ id: "ၩ", value: "္jha" }, //后加
+
+{ id: "်", value: "္ya" }, //后加
+{ id: "ႅ", value: "္la" }, //后加
+{ id: "ၼ", value: "္ma" }, //后加
+{ id: "ွ", value: "္ha" }, //后加
+{ id: "ၲ", value: "ta" }, //后加
+
+{ id: "ႆ", value: "ssa" }, //后加
+{ id: "ၫ", value: "ñña" }, //后加
+{ id: "ၷ", value: "na" }, //后加
+
+{ id: "႒", value: "ṭṭha" }, //后加
+{ id: "႗", value: "ṭṭa" }, //后加
+{ id: "ၯ", value: "ḍḍha" }, //后加
+{ id: "ၮ", value: "ḍḍa" }, //后加
+{ id: "႑", value: "ṇḍa" }, //后加
+{ id: "ၴ", value: "tha" }, //后加
+
+{ id: "ႍ", value: "ၤṃ" }, //後加
+
+{ id: "kaၤ", value: "ṅka" }, //后加
+{ id: "gaၤ", value: "ṅga" }, //后加
+{ id: "khaၤ", value: "ṅkha" }, //后加
+{ id: "ghaၤ", value: "ṅgha" }, //后加
+
+{ id: "ိံ", value: "္iṃ" },
+{ id: "ုံ", value: "္uṃ" },
+{ id: "ံု", value: "္uṃ" }, //後加
+{ id: "ံဳ", value: "္uṃ" }, //後加
+{ id: "ော", value: "္o" },
+{ id: "ေါ", value: "္o" },
+{ id: "aအံ", value: "aṃ" },
+{ id: "aဣံ", value: "iṃ" },
+{ id: "ႎ", value: "္iṃ" }, //後加
+{ id: "aဥံ", value: "uṃ" },
+{ id: "ံ", value: "ṃ" },
+{ id: "ိ", value: "္i" },
+{ id: "ီ", value: "္ī" },
+{ id: "ု", value: "္u" },
+{ id: "ဳ", value: "္u" }, //後加
+{ id: "ူ", value: "္ū" },
+{ id: "ဴ", value: "္ū" },
+//{ "id":"aေ" , "value":"E" },
+{ id: "အါ", value: "ā" },
+{ id: "အာ", value: "ā" },
+{ id: "အ", value: "a" },
+{ id: "ဣ", value: "i" },
+{ id: "ဤ", value: "ī" },
+{ id: "ဧ", value: "E" },
+{ id: "ဥ", value: "u" },
+{ id: "ဦ", value: "ū" },
+{ id: "ဩ", value: "o" },
+{ id: "ႏ", value: "n" }, //後加
+{ id: "ၪ", value: "ñ" }, //後加
+{ id: "ၰ", value: "္ṇa" }, //後加
+{ id: "a္", value: "" }, //後加
+{ id: "္", value: "" }, //後加
+
+{ id: "kuၤ", value: "ṅku" }, //后加
+{ id: "guၤ", value: "ṅgu" }, //后加
+{ id: "khuၤ", value: "ṅkhu" }, //后加
+{ id: "ghuၤ", value: "ṅghu" }, //后加
+
+{ id: "kyaၤ", value: "ṅkya" }, //后加
+{ id: "gyaၤ", value: "ṅgya" }, //后加
+{ id: "khyaၤ", value: "ṅkhya" }, //后加
+{ id: "ghyaၤ", value: "ṅghya" }, //后加
+
+{ id: "kaႌ", value: "ṅkī" }, //后加
+{ id: "gaႌ", value: "ṅgī" }, //后加
+{ id: "khaႌ", value: "ṅkhī" }, //后加
+{ id: "ghaႌ", value: "ṅghī" }, //后加
+
+{ id: "kaႋ", value: "ṅki" }, //后加
+{ id: "gaႋ", value: "ṅgi" }, //后加
+{ id: "khaႋ", value: "ṅkhi" }, //后加
+{ id: "ghaႋ", value: "ṅghi" }, //后加
+
+{ id: "ာ", value: "္ā" },
+{ id: "ါ", value: "္ā" },
+{ id: "a္", value: "" }, //後加
+
+{ id: "ေṅkhy", value: "ṅkhyE" }, //后加
+{ id: "ေṅghy", value: "ṅghyE" }, //后加
+{ id: "ေṅky", value: "ṅkyE" }, //后加
+{ id: "ေṅgy", value: "ṅgyE" }, //后加
+
+{ id: "ေndr", value: "ndrE" }, //後加
+{ id: "ေntr", value: "ntrE" }, //後加
+{ id: "ေdr", value: "drE" }, //後加
+{ id: "ေtr", value: "trE" }, //後加
+{ id: "ေkr", value: "krE" }, //後加
+{ id: "ေgr", value: "grE" }, //後加
+{ id: "ေbr", value: "brE" }, //後加
+
+{ id: "ေky", value: "kyE" }, //後加
+{ id: "ေby", value: "byE" }, //後加
+{ id: "ေṇy", value: "ṇyE" }, //後加
+{ id: "ေby", value: "byE" }, //後加
+
+{ id: "ေtv", value: "tvE" }, //後加
+{ id: "ေdv", value: "dvE" }, //後加
+{ id: "ေsv", value: "svE" }, //後加
+{ id: "ေnv", value: "nvE" }, //後加
+
+{ id: "ေḷh", value: "ḷhE" }, //後加
+{ id: "ေlh", value: "lhE" }, //後加
+{ id: "ေṇh", value: "ṇhE" }, //後加
+{ id: "ေñh", value: "ñhE" }, //後加
+{ id: "ေmh", value: "mhE" }, //後加
+
+{ id: "ေsn", value: "snE" }, //後加
+{ id: "ေvh", value: "vhE" }, //後加
+{ id: "ေpl", value: "plE" }, //後加
+{ id: "ေkl", value: "klE" }, //後加
+
+{ id: "ေṅkh", value: "ṅkhE" }, //后加
+{ id: "ေṅgh", value: "ṅghE" }, //后加
+{ id: "ေṅk", value: "ṅkE" }, //后加
+{ id: "ေṅg", value: "ṅgE" }, //后加
+
+{ id: "ေmph", value: "mphE" }, //后加
+{ id: "ေmbh", value: "mbhE" }, //后加
+{ id: "ေmp", value: "mpE" }, //后加
+{ id: "ေmb", value: "mbE" }, //后加
+
+{ id: "ေnth", value: "nthE" }, //后加
+{ id: "ေndh", value: "ndhE" }, //后加
+{ id: "ေnt", value: "ntE" }, //后加
+{ id: "ေnd", value: "ndE" }, //后加
+
+{ id: "ေṇṭh", value: "ṇṭhE" }, //后加
+{ id: "ေṇḍh", value: "ṇḍhE" }, //后加
+{ id: "ေṇṭ", value: "ṇṭE" }, //后加
+{ id: "ေṇḍ", value: "ṇḍE" }, //后加
+
+{ id: "ေñch", value: "ñchE" }, //后加
+{ id: "ေñjh", value: "ñjhE" }, //后加
+{ id: "ေñc", value: "ñcE" }, //后加
+{ id: "ေñj", value: "ñjE" }, //后加
+
+{ id: "ေss", value: "ssE" }, //后加
+{ id: "ေkkh", value: "kkhE" }, //后加
+{ id: "ေggh", value: "gghE" }, //后加
+{ id: "ေcch", value: "cchE" }, //后加
+{ id: "ေjjh", value: "jjhE" }, //后加
+{ id: "ေññ", value: "ññE" }, //后加
+{ id: "ေṭṭh", value: "ṭṭhE" }, //后加
+{ id: "ေḍḍh", value: "ḍḍhE" }, //后加
+{ id: "ေtth", value: "tthE" }, //后加
+{ id: "ေddh", value: "ddhE" }, //后加
+{ id: "ေpph", value: "pphE" }, //后加
+{ id: "ေbbh", value: "bbhE" }, //后加
+{ id: "ေkk", value: "kkE" }, //后加
+{ id: "ေgg", value: "ggE" }, //后加
+{ id: "ေcc", value: "ccE" }, //后加
+{ id: "ေjj", value: "jjE" }, //后加
+{ id: "ေḷḷ", value: "ḷḷE" }, //后加
+{ id: "ေṭṭ", value: "ṭṭE" }, //后加
+{ id: "ေḍḍ", value: "ḍḍE" }, //后加
+{ id: "ေṇṇ", value: "ṇṇE" }, //后加
+{ id: "ေtt", value: "ttE" }, //后加
+{ id: "ေdd", value: "ddE" }, //后加
+{ id: "ေnn", value: "nnE" }, //后加
+{ id: "ေpp", value: "ppE" }, //后加
+{ id: "ေbb", value: "bbE" }, //后加
+{ id: "ေmm", value: "mmE" }, //后加
+{ id: "ေyy", value: "yyE" }, //后加
+{ id: "ေll", value: "llE" }, //后加
+
+{ id: "ေkh", value: "khE" }, //后加
+{ id: "ေgh", value: "ghE" }, //后加
+{ id: "ေch", value: "chE" }, //后加
+{ id: "ေjh", value: "jhE" }, //后加
+{ id: "ေṭh", value: "ṭhE" }, //后加
+{ id: "ေḍh", value: "ḍhE" }, //后加
+{ id: "ေth", value: "thE" }, //后加
+{ id: "ေdh", value: "dhE" }, //后加
+{ id: "ေph", value: "phE" }, //后加
+{ id: "ေbh", value: "bhE" }, //后加
+{ id: "ေk", value: "kE" }, //后加
+{ id: "ေg", value: "gE" }, //后加
+{ id: "ေc", value: "cE" }, //后加
+{ id: "ေj", value: "jE" }, //后加
+{ id: "ေñ", value: "ñE" }, //后加
+{ id: "ေḷ", value: "ḷE" }, //后加
+{ id: "ေṭ", value: "ṭE" }, //后加
+{ id: "ေḍ", value: "ḍE" }, //后加
+{ id: "ေṇ", value: "ṇE" }, //后加
+{ id: "ေt", value: "tE" }, //后加
+{ id: "ေd", value: "dE" }, //后加
+{ id: "ေn", value: "nE" }, //后加
+{ id: "ေh", value: "hE" }, //后加
+{ id: "ေp", value: "pE" }, //后加
+{ id: "ေb", value: "bE" }, //后加
+{ id: "ေm", value: "mE" }, //后加
+{ id: "ေy", value: "yE" }, //后加
+{ id: "ေr", value: "rE" }, //后加
+{ id: "ေl", value: "lE" }, //后加
+{ id: "ေv", value: "vE" }, //后加
+{ id: "ေs", value: "sE" }, //后加
+{ id: "ေy", value: "yE" }, //后加
+{ id: "ေv", value: "vE" }, //后加
+{ id: "ေr", value: "rE" }, //后加
+
+{ id: "Ea", value: "e" }, //后加
+{ id: "Eā", value: "o" }, //后加
+{ id: "E", value: "e" }, //后加
+//{ "id":"ūu" , "value":"ū" },//后加
+//{ "id":"uū" , "value":"ū" },//后加
+
+{ id: "၁", value: "1" },
+{ id: "၂", value: "2" },
+{ id: "၃", value: "3" },
+{ id: "၄", value: "4" },
+{ id: "၅", value: "5" },
+{ id: "၆", value: "6" },
+{ id: "၇", value: "7" },
+{ id: "၈", value: "8" },
+{ id: "၉", value: "9" },
+{ id: "၀", value: "0" },
+{ id: "း", value: "”" },
+{ id: "့", value: "’" },
+{ id: "။", value: "." },
+{ id: "၊", value: "," },
+];
+
+function roman_to_thai(input) {
+
+let txt = input.toLowerCase();
+
+try {
+for (r_to_t_i in char_roman_to_thai) {
+eval("txt=txt.replace(/" + char_roman_to_thai[r_to_t_i].id + "/g,char_roman_to_thai[r_to_t_i].value);");
+}
+} catch (err) {
+//error
+alert(err.message);
+}
+return txt;
+}

+ 1 - 1
app/public/charcode/coverter_my.js

@@ -700,7 +700,7 @@ function roman_to_my(input) {
 		{ id: "ဒာ", value: "ဒါ" }, //d
 		{ id: "ပာ", value: "ပါ" }, //p
 		{ id: "ဝာ", value: "ဝါ" }, //v
-
+		{ id: "ဒွာ", value: "ဒွါ" }, //dvā
 		{ id: "1", value: "၁" },
 		{ id: "2", value: "၂" },
 		{ id: "3", value: "၃" },

+ 2 - 2
app/public/charcode/tai_tham.js

@@ -699,8 +699,8 @@ function roman_to_tai(input) {
 let txt = input;
 
 try {
-for (r_to_m_i in char_roman_to_tai) {
-eval("txt=txt.replace(/" + char_roman_to_tai[r_to_m_i].id + "/g,char_roman_to_tai[r_to_m_i].value);");
+for (r_to_t_i in char_roman_to_tai) {
+eval("txt=txt.replace(/" + char_roman_to_tai[r_to_t_i].id + "/g,char_roman_to_tai[r_to_t_i].value);");
 }
 } catch (err) {
 //error

+ 2 - 2
app/search/dict_find3.php

@@ -141,7 +141,7 @@ switch ($op) {
 
         //查找这些词出现在哪些书中
         PDO_Connect(_FILE_DB_BOOK_WORD_);
-        $query = "SELECT book,sum(count) as co FROM bookword WHERE \"wordindex\" IN $strQueryWordId  GROUP BY book LIMIT 0,217";
+        $query = "SELECT book,sum(count) as co FROM "._TABLE_BOOK_WORD_." WHERE \"wordindex\" IN $strQueryWordId  GROUP BY book LIMIT 0,217";
         $Fetch = PDO_FetchAll($query);
         $iFetch = count($Fetch);
         if ($iFetch > 0) {
@@ -238,7 +238,7 @@ switch ($op) {
                 }
 
                 //查找这些词出现在哪些书中
-                $query = "select book,sum(count) as co from bookword where \"wordindex\" in $wordlist group by book order by co DESC";
+                $query = "SELECT book,sum(count) as co from "._TABLE_BOOK_WORD_." where \"wordindex\" in $wordlist group by book order by co DESC";
                 $Fetch = PDO_FetchAll($query);
                 $iFetch = count($Fetch);
                 if ($iFetch > 0) {

+ 1 - 1
app/search/search.php

@@ -35,7 +35,7 @@ function render_book_list($strWordlist, $booklist = null)
             $aInputBook["{$oneBook}"] = 1;
         }
     }
-    $query = "select book,sum(count) as co from bookword where \"wordindex\" in $strWordlist group by book order by co DESC";
+    $query = "SELECT book,sum(count) as co from "._TABLE_BOOK_WORD_." where \"wordindex\" in $strWordlist group by book order by co DESC";
     $Fetch = PDO_FetchAll($query);
     $iFetch = count($Fetch);
     $newBookList = array();

+ 3 - 3
app/search/word_function.php

@@ -16,7 +16,7 @@ function get_new_book_list($strWordlist, $booklist = null)
             $aInputBook["{$oneBook}"] = 1;
         }
     }
-    $query = "select book,sum(count) as co from bookword where \"wordindex\" in $strWordlist group by book order by co DESC";
+    $query = "SELECT book,sum(count) as co from "._TABLE_BOOK_WORD_." where \"wordindex\" in $strWordlist group by book order by co DESC";
     $Fetch = PDO_FetchAll($query);
     $iFetch = count($Fetch);
     $newBookList = array();
@@ -69,7 +69,7 @@ function get_book_tag($strWordlist, $booklist = null)
             $aInputBook["{$oneBook}"] = 1;
         }
     }
-    $query = "select book,sum(count) as co from bookword where \"wordindex\" in $strWordlist group by book order by co DESC";
+    $query = "SELECT book,sum(count) as co from "._TABLE_BOOK_WORD_." where \"wordindex\" in $strWordlist group by book order by co DESC";
     $Fetch = PDO_FetchAll($query);
     $iFetch = count($Fetch);
     $newBookList = array();
@@ -129,7 +129,7 @@ function render_book_list($strWordlist, $booklist = null)
             $aInputBook["{$oneBook}"] = 1;
         }
     }
-    $query = "select book,sum(count) as co from bookword where \"wordindex\" in $strWordlist group by book order by co DESC";
+    $query = "SELECT book,sum(count) as co from "._TABLE_BOOK_WORD_." where \"wordindex\" in $strWordlist group by book order by co DESC";
     $Fetch = PDO_FetchAll($query);
     $iFetch = count($Fetch);
     $newBookList = array();

+ 1 - 1
app/search/word_list.php

@@ -79,7 +79,7 @@ if (isset($booklist)) {
         $aInputBook["{$oneBook}"] = 1;
     }
 }
-$query = "select book, wordindex,count from bookword where \"wordindex\" in $strQueryWordId ";
+$query = "SELECT book, wordindex,count from "._TABLE_BOOK_WORD_." where \"wordindex\" in $strQueryWordId ";
 $Fetch = PDO_FetchAll($query);
 $iFetch = count($Fetch);
 $newBookList = array();

+ 1 - 1
app/search/word_statistics.php

@@ -85,7 +85,7 @@ if (isset($booklist)) {
         $aInputBook["{$oneBook}"] = 1;
     }
 }
-$query = "select book,sum(count) as co from bookword where \"wordindex\" in $strQueryWordId group by book order by co DESC";
+$query = "SELECT book,sum(count) as co from "._TABLE_BOOK_WORD_." where \"wordindex\" in $strQueryWordId group by book order by co DESC";
 $Fetch = PDO_FetchAll($query);
 $iFetch = count($Fetch);
 $newBookList = array();

+ 5 - 1
app/term/note.js

@@ -1860,7 +1860,11 @@ function set_pali_script(pos, script) {
 					return roman_to_my(oldcontent);
 				case "සිංහල":
 					return roman_to_si(oldcontent);
-				default:
+				case "ᨲ᩠ᩅᩫᨴᩱ᩠ᨿᨵᨾ᩠ᨾ᩼":
+					return roman_to_tai(oldcontent);
+				case "อักษรไทย":
+					return roman_to_thai(oldcontent);
+					default:
 					return(oldcontent);
 			}
 			

+ 1 - 1
app/ucenter/default.json

@@ -22,6 +22,6 @@
 	"lib.first_script": "Roman",
 	"lib.second_script": "none",
 	"lib.pali_script": ["none", "Roman", "မြန်မာ","සිංහල"],
-	"_lib.pali_script": ["none", "Roman", "မြန်မာ","සිංහල","tai"],
+	"_lib.pali_script": ["none", "Roman", "မြန်မာ","සිංහල","ᨲ᩠ᩅᩫᨴᩱ᩠ᨿᨵᨾ᩠ᨾ᩼","อักษรไทย"],
 	"term.template": ["[%mean%](%pali% %mean2% %mymean%)", "[%mean%]", "", ""]
 }

+ 2 - 2
app/ucenter/setting.js

@@ -182,13 +182,13 @@ function setting_paliscript_change(set) {
 }
 function setting_render_paliscript(set) {
 	let html = "";
-	html += "<select id='" + set + "' onchange=\"setting_paliscript_change('" + set + "')\">";
+	html += "<select id='" + set + "' onchange=\"setting_paliscript_change('" + set + "')\" style='font-family:\"Noto Sans\", \"Noto Sans SC\", \"Noto Sans TC\",\"Noto Sans Tai Tham\", \"ATaiThamKHNewV3-Normal\", Arial, Verdana'>";
 	for (const iterator of setting["_lib.pali_script"]) {
 		html += "<option value='" + iterator + "'";
 		if (iterator == setting[set]) {
 			html += "selected='selected'";
 		}
-		html += ">";
+		html += " style='font-family:\"Noto Sans\", \"Noto Sans SC\", \"Noto Sans TC\",\"Noto Sans Tai Tham\", \"ATaiThamKHNewV3-Normal\", Arial, Verdana'>";
 		html += iterator;
 		html += "</option>";
 	}

+ 4 - 4
app/ucenter/setting.php

@@ -48,12 +48,12 @@ require_once '../public/function.php';
 <head>
 	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
 	<meta name="viewport" content="width=device-width, initial-scale=1.0">
-	<link type="text/css" rel="stylesheet" href="../studio/css/font.css"/>
+	<link type="text/css" rel="stylesheet" href="../pcdl/css/font.css"/>
+
 	<link type="text/css" rel="stylesheet" href="../pcdl/css/reader.css"/>
 	<link type="text/css" rel="stylesheet" href="../pcdl/css/reader_mob.css" media="screen and (max-width:800px)">
 	<link type="text/css" rel="stylesheet" href="../public/css/notify.css"/>
-	<title id="page_title">Setting</title>
-
+	<title id="page_title"><?php echo $_local->gui->setting; ?></title>
 	<script src="../public/js/jquery-3.5.1.js"></script>
 	<script src="../public/js/jquery-ui-1.12.1/jquery-ui.js"></script>	
 	<script src="../public/js/fixedsticky.js"></script>
@@ -235,7 +235,7 @@ para:hover{
 				</button>
 			</div>
 			<div>
-				<span id="tool_bar_title" style="font-family: 'Noto Serif';"><?php echo $_local->gui->title; ?></span>
+				<span id="tool_bar_title" style="font-family: 'Noto Serif';"><?php echo $_local->gui->setting; ?></span>
 			</div>
 			<div style="display: flex;">	
 

+ 13 - 5
docker/README.md

@@ -26,17 +26,25 @@
   ./docker/ubuntu/first.sh
   # fot the next time start
   ./docker/ubuntu/next.sh
+  
   # start servers
   > sudo supervisord -c /etc/supervisor/supervisord.conf
-  > netstat -ant | grep 'LISTEN'
-  # connect to redis
-  > redis-cli
-  # connect to postgresql
-  > psql -U postgres -h 127.0.0.1 -p 5432
+
+  # enable rabbitmq Management Plugin 
+  > sudo rabbitmq-plugins enable rabbitmq_management
+
+  # enable redis clusters
+  > ./docker/redis.sh
   ```
 
   ![start](documents/start.png)
 
+  - RabbitMQ: `http://localhost:15672`, user `guest`, password `guest`
+  - Redis cluster ports `6371~6376`
+  - Minio server: `http://localhost:9001` user `admin`, password `12345678`
+  - PostgreSql: `psql -U postgres -h 127.0.0.1 -p 5432`
+  - ElasticSearch: `curl http://127.0.0.1:9200/`
+
 - For VSCode **Run in your local host**
 
 ```bash

BIN
docker/documents/start.png


+ 1 - 1
docker/first.sh

@@ -1,2 +1,2 @@
 #!/bin/sh
-podman run --name palm -it --userns=keep-id --user=$(id -ur):$(id -gr) --network host --events-backend=file -v $PWD:/workspace:z palm
+podman run --name mint -it --userns=keep-id --hostname=palm --user=$(id -ur):$(id -gr) --network host --events-backend=file -v $PWD:/workspace:z palm

+ 1 - 1
docker/next.sh

@@ -1,2 +1,2 @@
 #!/bin/sh
-podman start -i -a --events-backend=file palm
+podman start -i -a --events-backend=file mint

+ 18 - 0
docker/redis.sh

@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# https://redis.io/topics/cluster-tutorial
+set -e
+
+echo "setup redis clusters"
+redis-cli --cluster create \
+    127.0.0.1:6371 \
+    127.0.0.1:6372 \
+    127.0.0.1:6373 \
+    127.0.0.1:6374 \
+    127.0.0.1:6375 \
+    127.0.0.1:6376 \
+    --cluster-replicas 1
+    
+echo "done."
+
+exit 0

+ 77 - 0
documents/dev-doc.md

@@ -0,0 +1,77 @@
+# 巴利圣典教育开放平台 - IAPT Platform
+
+IAPT = International Academy Of Pali Tipitaka - 国际巴利三藏学院
+
+试运行地址:https://www.wikipali.org/
+
+# 平台愿景
+
+让巴利圣典的学习变得更容易,人人都能从巴利圣典中受益。
+
+# 当前功能
+
+- 巴利圣典阅读与翻译
+- 在线课程发布与学习
+- 在线巴利语学习工具
+
+# 重构计划
+
+随着平台功能的完善,以及用户量的增加,当前平台面临以下几个问题
+
+- 性能瓶颈
+  多用户并发操作以及全文检索效率低,难以支撑更多的用户
+- 代码维护
+  当前代码内含有相当量的冗余和临时解决方案,难以扩展和维护
+- 权限管理
+  权限管理模块有瑕疵,多人协作编辑功能有待优化
+
+// TODO 我的想法是先关注当下的问题,解决问题,分阶段来。
+
+// TODO 等这些解决之后,再着手扩充新的功能,比如课程、报名等等,您觉得怎么样?(很好)
+
+基于以上几个问题,现启动平台重构计划。
+
+以解决问题为目标,细化任务,逐步实施。
+
+具体任务拆分见页尾。
+
+# 关于我们
+
+国际巴利三藏学院致力于让佛陀所揭示的真理可以平等的被所有族群方便的学习与运用。希望在传统和现代、老师与学生、翻译者与读者之间假设桥梁。向他们提供教育平台,享受前沿的教学科技,实现各种信息及资源的有效共享。指导圣典在人类生命系统净化提升的实践与运用。让全世界所有族群都可以享受高品质的圣典教育,最终实现圣典教育全球化。
+
+- 巴利语文献语料库的建立
+- 相关参考文献的电子化
+- 巴利文献的整理翻译及研究
+- 基于项目培养相关人才,实现产学研一体化发展。
+
+# 参与开发
+
+关注此页面,发现有合适的待领取任务时,联系 Visuddhinanda(email:visuddhinanda@gmail.com) 加入。
+
+技术细节:暂时请先尝试阅读代码,重构结束后会有补充完整的开发文档。
+
+- 所有任务均有对应文档,点击任务标题查看详情,无链接或为空则表明文档尚未编写。
+
+- 已拆分的任务,点击任务状态可跳转至看板对应卡片。
+
+| 工作目标     | 任务编号 | 依赖项   | 任务标题                                                     | 任务状态 | 负责人           | 计划完成日     |
+| ------------ | -------- | -------- | ------------------------------------------------------------ | -------- | ---------------- | -------------- |
+| 解决性能瓶颈 | 01       | 无       | [SQLite 切换为 PostgreSQL](../task-design/sql-to-postgresql.md) | 待拆分   | Visuddhinanda    | 2021-8-20 |
+|              | 02       | 01       | 圣典全文检索方案优化                                         | 待拆分   | 待认领           | 待确定         |
+| 使代码可维护 | 03       | 01       | 百科模块重构                                                 | 待拆分   | 待认领           | 待确定         |
+|              | 04       | 01       | 词典模块重构                                                 | 待拆分   | 待认领           | 待确定         |
+|              | 05       | 01,03,04 | 译文编辑器重构                                                   | 待拆分   | Visuddhinanda    | 待确定         |
+|              |      06    |   05       | 逐词解析编辑器                                 |          |                  |                |
+| 权限管理优化 | 07       | 01       | 权限模块重构                                                 | 方案设计 | 豆沙猫 | // TODO 待确定 |
+|              |          |          |                                                              | 编码实施 | // 豆沙猫 | // TODO 待确定 |
+| 开发文档梳理 | 08       | 无       | 梳理平台开发文档                                             | 待拆分   | 豆沙猫           | 2021/07/30     |
+
+// TODO 译文编辑器重构 包含好几个子问题,如互动设计不完善,网络故障的错误处理不完善,大文章加载的性能问题。
+
+// TODO 此处任务中没有涉及到技术问题。
+
+// TODO 我考虑的还是从问题出发,解决对应问题的时候,先确定解决方案,方案中再包含技术选型和实施细节。您觉得可以吗?
+
+// TODO 是否合并看板?如果要的话,我们把原来的那几个项目关闭掉,新开项目,逐个任务拆分怎么样?
+
+// TODO 此处权限管理是不是应该放入「使代码可维护」的目标之一?还是应当拆离出来?我没有能很好的抉择。

+ 8 - 1
documents/zh/api/palicanon.md

@@ -35,4 +35,11 @@
 - `progress`: int 章节译文完成度  0-100
 - `trans_title` string, 根据lang查找对应的标题 如果没有查询到 无该变量
 
-## 
+## 
+
+## 书中的单词汇总表
+CREATE TABLE bookword (
+    book      INTEGER,
+    wordindex INTEGER,
+    count     INTEGER
+);

+ 3 - 3
documents/zh/api/readme.md

@@ -25,15 +25,15 @@ https://github.com/go-redis/redis
 
 ## 目录
 
+-   [用户](user.md)
 -   [版本](channel.md)
--   [课程](course.md)
+-   [术语](term.md)
 -   [字典](dict.md)
+-   [课程](course.md)
 -   [工作组](group.md)
 -   [语料库](palicanon.md)
--   [术语](term.md)
 -   [译文](translation.md)
 -   [文章文集](article.md)
--   [用户](user.md)
 -   [逐词解析](wbw.md)
 -   [全文搜索](search.md)
 -   [其他工具表](others.md)

+ 143 - 157
documents/zh/dashboard/readme.md

@@ -2,15 +2,15 @@
 
 本文档是网站页面的前端设计文档
 
-
 # 开发环境
-- React
-- Umijs
-- Ant Design
-- Type Script
 
+-   React
+-   Umijs
+-   Ant Design
+-   Type Script
 
 # 网站地图
+
 ```mermaid
 graph LR;
 
@@ -45,187 +45,173 @@ dict -->|嵌入| wbw
 reader -->wbw
 term -->|嵌入| wbw
 ```
-- 藏经阁-Libray
-  - [首页](home.md)
-  - [三藏](palicanon.md)  
-  - [课程](course.md)
-  - [字典](dict.md)
-  - [搜索](search.md)
-  - [个人空间](myzone.md)
-- 译经楼-Studio
-  - [首页](stu_home.md) 
-  - [三藏分类](stu_pali.md)
-  - [我的文档(最近打开)](stu_doc.md)
-  - [逐词解析编辑](stu_wbw.md)
-  - [协作文档](stu_coop.md)
-  - [群组管理](stu_group.md)
-  - [版本管理](stu_channel.md)
-  - [课程管理](stu_course.md)
-  - [单词本](stu_dict.md)
-  - [百科词条](stu_term.md)
-  - 统计数据
-- 用户中心- User Center
-  - [注册](sign_up.md)
-  - [登陆](sign_in.md)
-  - 找回密码
-  - 个性化设置
-- 实用工具
-  - 佛历
-  - 圣典编码转换
-- 后台管理
-  - 栏目内容管理
-  - 用户管理
-  - 数据表管理
 
-# 藏经阁-Libray
+-   藏经阁-Libray
+    -   [首页](home.md)
+    -   [三藏](palicanon.md)
+    -   [课程](course.md)
+    -   [字典](dict.md)
+    -   [搜索](search.md)
+    -   [个人空间](myzone.md)
+-   译经楼-Studio
+    -   [首页](stu_home.md)
+    -   [三藏分类](stu_pali.md)
+    -   [我的文档(最近打开)](stu_doc.md)
+    -   [逐词解析编辑](stu_wbw.md)
+    -   [协作文档](stu_coop.md)
+    -   [群组管理](stu_group.md)
+    -   [版本管理](stu_channel.md)
+    -   [课程管理](stu_course.md)
+    -   [单词本](stu_dict.md)
+    -   [百科词条](stu_term.md)
+    -   [文章](stu_article.md)
+    -   [文集](stu_collection.md)
+    -   统计数据
+-   用户中心- User Center
+    -   [注册](sign_up.md)
+    -   [登陆](sign_in.md)
+    -   找回密码
+    -   个性化设置
+-   实用工具
+    -   佛历
+    -   圣典编码转换
+-   后台管理
+    -   栏目内容管理
+    -   用户管理
+    -   数据表管理
+
+# 调用后端 API
 
-## 首页
+```mermaid
+graph LR
+
+subgraph 前端
+	subgraph 藏经阁-Libray
+    	home[首页]
+		palicanon[三藏]
+		course[课程]
+		dict[字典]
+		search[搜索]
+		myzone[个人空间]
+	end
+	subgraph 译经楼-Studio
+		stu_home[首页]
+		stu_pali[三藏分类]
+		stu_doc[我的文档]
+		stu_wbw[逐词解析编辑]
+		stu_coop[协作文档]
+		stu_group[群组管理]
+		stu_channel[版本管理]
+		stu_course[课程管理]
+		stu_dict[单词本]
+		stu_term[百科词条]
+		stu_article[文章]
+		stu_collection[文集]
+		统计数据
+	end
+	subgraph 用户-User
+		sign_up[注册]
+		sign_in[登陆]
+		找回密码
+		个性化设置
+	end
+	subgraph 实用工具
+		佛历
+		圣典编码转换
+	end
+	subgraph 后台管理
+		栏目内容管理
+		用户管理
+		数据表管理
+	end
+end
 
-www.wikipali.org
+subgraph API
+	api_user(用户)
+	api_channel(版本)
+	api_term[术语]
+	api_dict[字典]
+	api_course[课程]
+	api_group[工作组]
+	api_palicanon[语料库]
+	api_translation[译文]
+	api_article[文章文集]
+	api_wbw[逐词解析]
+	api_search[全文搜索]
+	api_history[浏览记录]
+	api_others[其他工具表]
+end
 
-### 已经实现的功能能
+home --> api_course
+home --> api_term
+home --> api_article
 
-- 最新课程列表
-- 最新百科词条列表
+palicanon --> api_palicanon
+palicanon --> api_term
 
-### 需要完善的功能
+course --> api_course
+course --> api_user
 
-#### 最新课程列表
+dict --> api_dict
+dict --> api_user
 
-- 返回数量是写死的。应该在栏目后台里可以设置。
+search --> api_palicanon
 
-### 尚未实现的功能(目前的需求)
+myzone --> api_user
+myzone --> api_course
 
-- **最新课程列表**-报名数字显示和报名功能
+stu_pali --> api_palicanon
 
-- 最新三藏译文列表
+stu_doc --> api_history
 
-- 手机版 css
-  - 写不同的 css 在手机端和 pc 看到不同的页面。
-  - 不一定用 css 切换,可以使用不同的技术实现方式。
+stu_wbw --> api_wbw
+stu_wbw --> api_palicanon
 
-### 未来可能的发展
+stu_group --> api_group
 
-- 实现类似 tweet 的文章推荐功能。根据用户阅读行为推荐不同类型和内容的文章。
-- 文章类型
-  - 逐词解析单词
-  - 词典词条
-  - 百科词条
-  - 句子
-  - 段落
-  - 章节
-- 文章属性标签
-  - 译文
-  - 新手试验田
-  - 雅正(希望大家提修改意见)
-  - 求助
-- 应用场景
-  - 当有学习者不知道某个词的拆分,他在编辑器(studio)中单词的位置选择“求助”按钮。会发布一个带有“求助”标签的“逐词解析”类型的文章。某老师或网友看到求助文章,可以以跟帖的方式回答。
+```
 
+# 藏经阁-Libray
 
-## 三藏分类
+## 首页
 
-www.wikipali.org/palicanon
+www.wikipali.org
 
 ### 已经实现的功能能
 
-- 章节标签过滤
-- 在阅读器中打开章节
+-   最新课程列表
+-   最新百科词条列表
 
 ### 需要完善的功能
 
-### 尚未实现的功能(目前的需求)
-
-### 未来可能的发展
-
-## 课程
-
-### 已经实现的功能能
+#### 最新课程列表
 
-### 需要完善的功能
+-   返回数量是写死的。应该在栏目后台里可以设置。
 
 ### 尚未实现的功能(目前的需求)
 
-### 未来可能的发展
-
-## 百科
-
-### 已经实现的功能能
+-   **最新课程列表**-报名数字显示和报名功能
 
-### 需要完善的功能
+-   最新三藏译文列表
 
-### 尚未实现的功能(目前的需求)
+-   手机版 css
+    -   写不同的 css 在手机端和 pc 看到不同的页面。
+    -   不一定用 css 切换,可以使用不同的技术实现方式。
 
 ### 未来可能的发展
 
-## 字典
-
-## 标题搜索
-
-## 全文搜索
-
-## 黑体字搜索
-
-## 经典阅读器
-
-# 译经楼 Studio
-
-## 欢迎页
-
-## 经文选择
-
-## 最近打开
-
-## 协作
-
-## 课程管理
-
-## 用户字典管理
-
-## 百科字典管理
-
-## 工作组管理
-
-# 用户中心
-
-## 登录
-
-## 注册
-
-## 用户设置
-
-# 网站后台管理
-
-## 栏目管理
-
-### 首页
-
-### 三藏
-
-### 课程
-
-### 百科
-
-### 字典
-
-### 搜索
-
-### 阅读器
-
-### 用户管理
-
-#### 修改权限
-
-#### 禁用账号
-
-### 数据表管理
-
-#### 查看
-
-#### 统计
-
-#### 添加
-
-#### 删除
-
-# 数据表与模块关系
+-   实现类似 tweet 的文章推荐功能。根据用户阅读行为推荐不同类型和内容的文章。
+-   文章类型
+    -   逐词解析单词
+    -   词典词条
+    -   百科词条
+    -   句子
+    -   段落
+    -   章节
+-   文章属性标签
+    -   译文
+    -   新手试验田
+    -   雅正(希望大家提修改意见)
+    -   求助
+-   应用场景
+    -   当有学习者不知道某个词的拆分,他在编辑器(studio)中单词的位置选择“求助”按钮。会发布一个带有“求助”标签的“逐词解析”类型的文章。某老师或网友看到求助文章,可以以跟帖的方式回答。

BIN
font/NotoSans/NotoSansTaiTham-Regular.ttf