Просмотр исходного кода

Merge branch 'laravel' into laravel-migrate-wbw

visuddhinanda@gmail.com 4 лет назад
Родитель
Сommit
e95f151a9b
37 измененных файлов с 1796 добавлено и 65 удалено
  1. 1 0
      .gitignore
  2. 33 0
      app/Http/Controllers/DhammaTermController.php
  3. 10 0
      deploy/mint.yml
  4. 1 1
      deploy/roles/certbot-nginx/tasks/main.yml
  5. 14 16
      deploy/roles/mint-clone/tasks/main.yml
  6. 2 2
      deploy/roles/mint-clone/templates/config-v1.js.j2
  7. 3 3
      deploy/roles/mint-clone/templates/config-v1.php.j2
  8. 6 3
      deploy/roles/mint-clone/templates/env-v2.j2
  9. 27 0
      deploy/roles/mint-main/tasks/main.yml
  10. 8 0
      deploy/roles/mint-main/templates/index.html.j2
  11. 14 0
      deploy/roles/mint-main/templates/nginx.conf.j2
  12. 1 1
      deploy/roles/mint-www/templates/nginx.conf.j2
  13. 8 0
      deploy/roles/mint-zone/tasks/main.yml
  14. 24 0
      deploy/roles/mint-zone/templates/nginx.conf.j2
  15. 0 1
      deploy/roles/os/tasks/main.yml
  16. 0 0
      deploy/roles/ubuntu/tasks/init.yml
  17. 27 4
      deploy/roles/ubuntu/tasks/main.yml
  18. 6 0
      deploy/roles/ubuntu/tasks/zsh.yml
  19. 13 0
      deploy/scripts/sim_sent.sh
  20. 20 0
      deploy/scripts/sqlite_fix.sh
  21. 19 7
      public/app/palicanon/palicanon.js
  22. 6 0
      public/app/pcdl/head_bar.php
  23. 1 1
      public/app/studio/editor.php
  24. 1505 0
      public/app/studio/js/relation_list.js
  25. 19 5
      public/app/term/note.js
  26. 12 5
      public/app/term/term.js
  27. 1 1
      v1/scripts/migrations/20211204120600_wbw_blocks_copy.php
  28. 1 1
      v1/scripts/migrations/20211207052901_sent_copy.php
  29. 1 1
      v1/scripts/migrations/20211207164600_sent_pr_copy.php
  30. 1 1
      v1/scripts/migrations/20211207171500_sent_historay_copy.php
  31. 2 2
      v1/scripts/migrations/20211214181900_user_operation_log_copy.php
  32. 2 2
      v1/scripts/migrations/20211214190200_user_operation_frames_copy.php
  33. 2 2
      v1/scripts/migrations/20211214191900_user_operation_dailys_copy.php
  34. 1 1
      v1/scripts/migrations/20211215214400_channel_copy.php
  35. 1 1
      v1/scripts/migrations/20211218093500_articles_copy.php
  36. 1 1
      v1/scripts/migrations/20211218132000_collections_copy.php
  37. 3 3
      v1/scripts/migrations/20211218133000_article_collection_copy.php

+ 1 - 0
.gitignore

@@ -17,3 +17,4 @@ yarn-error.log
 /package-lock.json
 /yarn.lock
 /composer.lock
+*.swp

+ 33 - 0
app/Http/Controllers/DhammaTermController.php

@@ -4,6 +4,8 @@ namespace App\Http\Controllers;
 
 use App\Models\DhammaTerm;
 use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Cache;
+use Illuminate\Support\Facades\DB;
 
 class DhammaTermController extends Controller
 {
@@ -50,6 +52,37 @@ class DhammaTermController extends Controller
 									->orderBy('created_at','desc')
 									->get();
 				break;
+            case 'hot-meaning':
+                $key='term/hot_meaning';
+                $value = Cache::get($key, function()use($request) {
+                    $hotMeaning=[];
+                    $words = DhammaTerm::select('word')
+                                ->where('language',$request->get("language"))
+                                ->groupby('word')
+                                ->get();
+                    
+                    foreach ($words as $key => $word) {
+                        # code...
+                        $result = DhammaTerm::select(DB::raw('count(*) as word_count, meaning'))
+                                ->where('language',$request->get("language"))
+                                ->where('word',$word['word'])
+                                ->groupby('meaning')
+                                ->orderby('word_count','desc')
+                                ->first();
+                        if($result){
+                            $hotMeaning[]=[
+                                'word'=>$word['word'],
+                                'meaning'=>$result['meaning'],
+                                'language'=>$request->get("language"),
+                                'owner'=>'',
+                            ];
+                        }
+                    }
+                    Cache::put($key, $hotMeaning, 3600);
+                    return $hotMeaning;
+                });
+                return $this->ok(["rows"=>$value,"count"=>count($value)]);
+                break;
 			default:
 				# code...
 				break;

+ 10 - 0
deploy/mint.yml

@@ -19,3 +19,13 @@
 - hosts: db
   roles:
     - mint-db
+
+- hosts: zone
+  roles:
+    - mint-zone
+    - certbot-nginx
+
+- hosts: main
+  roles:
+    - mint-main
+    - certbot-nginx

+ 1 - 1
deploy/roles/certbot-nginx/tasks/main.yml

@@ -7,7 +7,7 @@
 - name: add Let's Encrypt support
   become: true
   ansible.builtin.shell:
-    cmd: certbot --nginx --non-interactive --agree-tos -m {{ app_master_email }} --domains {{ inventory_hostname }}
+    cmd: certbot --nginx --non-interactive --agree-tos -m {{ app_master_email }} --domains {{ inventory_hostname }} "{{ '--redirect' if app_nginx_force_https else '' }}"
 
 - name: restart nginx
   become: true

+ 14 - 16
deploy/roles/mint-clone/tasks/main.yml

@@ -26,15 +26,14 @@
   args:
     chdir: "{{ app_deploy_target }}"
 
-# - name: Install v2 nodejs dependencies
-#   ansible.builtin.shell: npm install
-#   args:
-#     chdir: "{{ app_deploy_target }}"
 - name: Install v2 nodejs dependencies
-  ansible.builtin.file:
-    src: "/var/www/{{ inventory_hostname }}/node_modules/v2"
-    dest: "{{ app_deploy_target }}/node_modules"
-    state: link
+  # ansible.builtin.file:
+  #   src: "/var/www/{{ inventory_hostname }}/node_modules/v2"
+  #   dest: "{{ app_deploy_target }}/node_modules"
+  #   state: link
+  ansible.builtin.shell: npm install
+  args:
+    chdir: "{{ app_deploy_target }}"
 
 # TODO will remove in future
 - name: Install v1 php dependencies
@@ -43,15 +42,14 @@
     chdir: "{{ app_deploy_target }}/public"
 
 # TODO will remove in future
-# - name: Install v1 nodejs dependencies
-#   ansible.builtin.shell: npm install
-#   args:
-#     chdir: "{{ app_deploy_target }}/public"
 - name: Install v1 nodejs dependencies
-  ansible.builtin.file:
-    src: "/var/www/{{ inventory_hostname }}/node_modules/v1"
-    dest: "{{ app_deploy_target }}/public/node_modules"
-    state: link
+  # ansible.builtin.file:
+  #   src: "/var/www/{{ inventory_hostname }}/node_modules/v1"
+  #   dest: "{{ app_deploy_target }}/public/node_modules"
+  #   state: link
+  ansible.builtin.shell: npm install
+  args:
+    chdir: "{{ app_deploy_target }}/public"
 
 # TODO will remove in future
 - name: Install v1 tmp

+ 2 - 2
deploy/roles/mint-clone/templates/config-v1.js.j2

@@ -1,4 +1,4 @@
-var RPC_SERVER="https://rpc.wikipali.org";
+var RPC_SERVER="https://{{ app_rpc_host }}";
 
 /*
   |---------------
@@ -11,4 +11,4 @@ var RPC_SERVER="https://rpc.wikipali.org";
   |------------------------
 */
 
-var ASSETS_SERVER = "https://assets-{{ app_cluster_id }}.wikipali.org"
+var ASSETS_SERVER = "https://assets-{{ app_cluster_domain }}"

+ 3 - 3
deploy/roles/mint-clone/templates/config-v1.php.j2

@@ -1,8 +1,8 @@
 <?php
 
 #域名设置
-define("RPC_SERVER","https://rpc.wikipali.org");
-define("ASSETS_SERVER","https://assets-{{ app_cluster_id }}.wikipali.org");
+define("RPC_SERVER","https://{{ app_rpc_host }}");
+define("ASSETS_SERVER","https://assets-{{ app_cluster_domain }}");
 /*
 电子邮件设置
 PHPMailer
@@ -38,7 +38,7 @@ define("Redis",[
 	"host" => "{{ app_redis_host }}",
 	"port" => 6379,
 	"password" => "",
-	"prefix"=>"mint://"
+	"namespace" => "{{ app_redis_namespace }}"
 ]);
 
 # 雪花id

+ 6 - 3
deploy/roles/mint-clone/templates/env-v2.j2

@@ -12,7 +12,7 @@ LOG_CHANNEL=stack
 LOG_DEPRECATIONS_CHANNEL=null
 LOG_LEVEL=info
 
-DB_CONNECTION=postgresql
+DB_CONNECTION=pgsql
 DB_HOST={{ app_postgresql_host }}
 DB_PORT={{ app_postgresql_port }}
 DB_DATABASE={{ app_postgresql_name }}
@@ -31,6 +31,7 @@ MEMCACHED_HOST=127.0.0.1
 REDIS_HOST={{ app_redis_host }}
 REDIS_PASSWORD=null
 REDIS_PORT=6379
+REDIS_NAMESPACE="{{ app_redis_namespace }}"
 
 MAIL_MAILER=smtp
 MAIL_HOST=smtp.gmail.com
@@ -55,5 +56,7 @@ PUSHER_APP_CLUSTER=mt1
 MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
 MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
 
-ASSETS_SERVER="https://assets-{{ app_cluster_id }}.wikipali.org"
-RPC_SERVER="https://rpc.wikipali.org"
+ASSETS_SERVER="https://assets-{{ app_cluster_domain }}"
+RPC_SERVER="https://{{ app_rpc_host }}"
+SNOWFLAKE_DATA_CENTER_ID=1
+SNOWFLAKE_WORKER_ID=1

+ 27 - 0
deploy/roles/mint-main/tasks/main.yml

@@ -0,0 +1,27 @@
+- name: Creates deploy directory
+  become: true
+  file:
+    path: "{{ app_deploy_target }}"
+    state: directory
+    owner: "{{ ansible_user }}"
+
+- name: upload index.html
+  ansible.builtin.template:
+    src: index.html.j2
+    dest: "{{ app_deploy_target }}/index.html"
+    mode: '0444'
+
+- name: Create a current link
+  ansible.builtin.file:
+    src: "{{ app_deploy_target }}"
+    dest: /var/www/{{ inventory_hostname }}/current
+    state: link
+
+- name: upload nginx.conf
+  become: true
+  ansible.builtin.template:
+    src: nginx.conf.j2
+    dest: "/etc/nginx/sites-enabled/{{ inventory_hostname }}.conf"
+    owner: www-data
+    group: www-data
+    mode: '0400'

+ 8 - 0
deploy/roles/mint-main/templates/index.html.j2

@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta http-equiv="refresh" content="0; url='https://www-{{ app_cluster_domain }}'" />
+  </head>
+  <body>
+  </body>
+</html>

+ 14 - 0
deploy/roles/mint-main/templates/nginx.conf.j2

@@ -0,0 +1,14 @@
+server {
+    listen 80;
+    listen [::]:80;
+
+    gzip on;
+    server_name {{ inventory_hostname }};
+    root {{ app_deploy_target }};
+    client_max_body_size 16M;
+    index index.html;
+    charset utf-8;
+
+    access_log off;
+    error_log /var/log/nginx/{{ inventory_hostname }}.error.log warn;
+}

+ 1 - 1
deploy/roles/mint-www/templates/nginx.conf.j2

@@ -8,7 +8,7 @@ server {
     add_header X-Content-Type-Options "nosniff";
 
     gzip on;
-    server_name {{ inventory_hostname }};
+    server_name {{ inventory_hostname }} {% for it in groups['zone'] %} {{ it }} {% endfor %};
     root {{ app_deploy_target }}/public;
     client_max_body_size 16M;
     index index.php;

+ 8 - 0
deploy/roles/mint-zone/tasks/main.yml

@@ -0,0 +1,8 @@
+- name: upload nginx.conf
+  become: true
+  ansible.builtin.template:
+    src: nginx.conf.j2
+    dest: "/etc/nginx/sites-enabled/{{ inventory_hostname }}.conf"
+    owner: www-data
+    group: www-data
+    mode: '0400'

+ 24 - 0
deploy/roles/mint-zone/templates/nginx.conf.j2

@@ -0,0 +1,24 @@
+upstream {{ app_cluster_domain }} {
+{% for it in groups['www'] %}
+    server {{ it }};
+{% endfor %}
+    fair;
+}
+
+server {
+    listen 80;
+    listen [::]:80;
+
+    gzip on;
+    server_name {{ inventory_hostname }};
+    client_max_body_size 16M;
+    charset utf-8;
+
+    access_log off;
+    error_log /var/log/nginx/{{ inventory_hostname }}.error.log warn;
+
+    location / {
+        proxy_set_header Host $host;
+        proxy_pass http://{{ app_cluster_domain }};
+    }
+}

+ 0 - 1
deploy/roles/os/tasks/main.yml

@@ -1,4 +1,3 @@
-- import_tasks: init.yml
 - import_tasks: sshd.yml
 - import_tasks: ulimits.yml
 

+ 0 - 0
deploy/roles/os/tasks/init.yml → deploy/roles/ubuntu/tasks/init.yml


+ 27 - 4
deploy/roles/ubuntu/tasks/main.yml

@@ -19,6 +19,20 @@
 #     state: absent
 #     path: /etc/apt/sources.list.d
 
+- import_tasks: init.yml
+
+# https://github.com/nodesource/distributions#deb
+# - name: Download nodejs-ppa installer
+#   get_url:
+#     url: https://deb.nodesource.com/setup_lts.x
+#     dest: "{{ app_downloads }}/setup_node_lts.sh"
+#     mode: '0755'
+
+# - name: Install nodejs ppa
+#   become: true
+#   ansible.builtin.shell: "{{ app_downloads }}/setup_node_lts.sh"
+
+
 - name: add PPA for Ubuntu Toolchain
   become: true
   ansible.builtin.apt_repository:
@@ -78,26 +92,35 @@
       - zip
       - unzip
       - nginx
+      - libnginx-mod-http-upstream-fair
       - certbot
       - python3-certbot-nginx
       - openvpn
       - snmpd
+      - mutt
       - systemd-cron
-      - systemd-timesyncd
       - screen
       - tmux
       - hugo
+      - nodejs
       - python3
       - python3-pip
       - python3-distutils
       - python3-dev
-      - nodejs
-      - npm
-      - yarnpkg
       - libssl-dev
       - libpq-dev
       - libmysqlclient-dev
 
+- name: Install dependicy packages(>bionic)
+  become: true
+  apt:
+    pkg:
+      - systemd-timesyncd
+      - yarnpkg
+  # ansible_facts['distribution'] == "Ubuntu"
+  when: ansible_facts['distribution_major_version'] | int >= 20
+
+
 
 - import_tasks: locales.yml
 

+ 6 - 0
deploy/roles/ubuntu/tasks/zsh.yml

@@ -26,6 +26,12 @@
     path: "{{ansible_env.HOME}}/.zshrc"
     line: 'export PATH=$HOME/.local/bin:$PATH'
 
+
+- name: Setup EDITOR
+  ansible.builtin.lineinfile:
+    path: "{{ansible_env.HOME}}/.zshrc"
+    line: 'export EDITOR=vim'
+
 - name: Use zsh
   become: true
   shell: chsh -s /bin/zsh {{ansible_user}}

+ 13 - 0
deploy/scripts/sim_sent.sh

@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+export SIM=$(pgrep -f "php sim_sent")
+
+echo "find pid $SIM"
+renice +19 $SIM
+ionice -c 2 -n 7 -p $SIM
+
+echo "done."
+
+exit 0

+ 20 - 0
deploy/scripts/sqlite_fix.sh

@@ -0,0 +1,20 @@
+#!/bin/sh
+
+set -e
+if [ $# -ne 1 ]
+then
+	echo "Usage: $0 DB"
+	exit 1
+fi
+
+if [ ! -f $1 ]
+then
+	echo "$1 not exists"
+	exit 1
+fi
+
+echo '.dump'|sqlite3 $1|sqlite3 $1_repaired
+mv -v $1 $1_corrupt
+mv -v $1_repaired $1
+
+exit 0

+ 19 - 7
public/app/palicanon/palicanon.js

@@ -22,18 +22,30 @@ function palicanon_onload() {
 }
 
 function palicanon_load_term() {
-	$.post(
-		"../term/get_term_index.php",
+    let lang =getCookie("language");
+    switch (lang) {
+        case 'zh-cn':
+            lang = 'zh-hans';
+            break;
+        case 'zh-tw':
+            lang = 'zh-hant';
+            break;    
+        case '':
+            lang = 'en';
+            break;  
+    }
+	$.get(
+		"/api/v2/terms",
 		{
-			lang: getCookie("language"),
+            view:'hot-meaning',
+			language: lang,
 		},
 		function (data) {
-			let result = JSON.parse(data);
-			if (result.status == 0) {
-				arrMyTerm = result.data;
+			if (data.ok) {
+				arrMyTerm = data.data.rows;
 				render_main_tag();
 			} else {
-				alert(result.error);
+				alert(data.message);
 			}
 		}
 	);

+ 6 - 0
public/app/pcdl/head_bar.php

@@ -472,6 +472,12 @@ switch($_COOKIE['language']){
 				<span class="goto-platform"> ▸ <?php echo $_local->gui->studio; ?></span></a>
 		</div>
 	</div>
+    <?php 
+        $host = $_SERVER ['HTTP_HOST']; 
+        if(stripos('staging',$host)>0){
+            echo "<span style='backgroud-color:red;color:white;padding:0.5em;font-size:120%;' title='本服务器仅仅作为功能测试之用,所有用户数据均不保留。'>测试服务器</span>";
+        }
+    ?>
 	<input type="checkbox" id="nav-toggle" class="nav-toggle">
 	<nav>
 		<ul>

+ 1 - 1
public/app/studio/editor.php

@@ -58,7 +58,7 @@ else{$currDevice="computer";}
 	<script language="javascript" src="js/dict.js"></script>
 	<script language="javascript" src="js/relation.js"></script>
 
-	<script language="javascript" src="js/relation_list.json"></script>
+	<script language="javascript" src="js/relation_list.js"></script>
 	
 	<script language="javascript" src="sent/sent.js"></script>
 	<script language="javascript" src="../public/js/notify.js"></script>

+ 1505 - 0
public/app/studio/js/relation_list.js

@@ -0,0 +1,1505 @@
+var list_relation=[
+    {
+        "id": "IAD",
+        "case": "",
+        "note": "Identical Adjective relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "IAD",
+        "case": "",
+        "note": "同类修饰",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "IAD",
+        "case": "",
+        "note": "tulyādhikaraṇavisesana -> visesya",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "ASV",
+        "case": "",
+        "note": "Active Subject Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "ASV",
+        "case": "",
+        "note": "施动者<主格> -> 动词<br>XX把…",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "ASV",
+        "case": "",
+        "note": "vuttakattar -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "AOV",
+        "case": ".nom.",
+        "note": "Active Object Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "AOV",
+        "case": ".nom.",
+        "note": "受动者<主格> -> 动词<br>XX被…",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "AOV",
+        "case": ".nom.",
+        "note": "vuttakamma -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "DASO-P",
+        "case": ".nom.",
+        "note": "Double Active Subject <Ordinary> relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "DASO-P",
+        "case": ".nom.",
+        "note": "<字面>主语 -> 系动词<br>XX是…",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "DASO-P",
+        "case": ".nom.",
+        "note": "pakati <vuttakattar> -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "DASO-S",
+        "case": ".nom.",
+        "note": "Double Active Subject <Secondary> relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "DASO-S",
+        "case": ".nom.",
+        "note": "<字面>表语 -> 系动词<br>…是XX",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "DASO-S",
+        "case": ".nom.",
+        "note": "vikati <vuttakattar> -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "NIO",
+        "case": ".nom.",
+        "note": "被描述 -> 定性<br>XX有…",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "NIO",
+        "case": ".nom.",
+        "note": "tulyattha -> liṅgattha",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "NID",
+        "case": ".nom.",
+        "note": "Nominal Identity <Denominative> Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "NID",
+        "case": ".nom.",
+        "note": "待命名 -> 命名<br>XX叫做…",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "NID",
+        "case": ".nom.",
+        "note": "saññin <nāmin> -> saññā <nāma>",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "DASD-P",
+        "case": ".nom.",
+        "note": "Double Active Subject <Denominative> Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "DASD-P",
+        "case": ".nom.",
+        "note": "<命名>主 -> 系<br>XX叫做…",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "DASD-P",
+        "case": ".nom.",
+        "note": "pakati<saññin, nāmin> -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "DASD-S",
+        "case": ".nom.",
+        "note": "Double Active Subject <Denominative> Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "DASD-S",
+        "case": ".nom.",
+        "note": "<命名>表 -> 系<br>…叫做XX",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "DASD-S",
+        "case": ".nom.",
+        "note": "vikati<saññā,nāma> -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "DAO",
+        "case": ".nom.",
+        "note": "Double Active Object Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "DAO",
+        "case": ".nom.",
+        "note": "双宾语主动",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "DAO",
+        "case": ".nom.",
+        "note": "pakati <vuttakamma> -> vikati <vuttakamma>",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "IOV",
+        "case": ".acc.",
+        "note": "Inactive Object Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "IOV",
+        "case": ".acc.",
+        "note": "受动者<非主格> -> 动词<br>…把XX",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "IOV",
+        "case": ".acc.",
+        "note": "avuttakamma -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "DIO-P",
+        "case": ".acc.",
+        "note": "Double Inactive Object -> Verb Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "DIO-P",
+        "case": ".acc.",
+        "note": "双宾语<主要> -> 动词",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "DIO-P",
+        "case": ".acc.",
+        "note": "pakati <avuttakamma> -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "DIO-S",
+        "case": ".acc.",
+        "note": "Double Inactive Object -> Verb Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "DIO-S",
+        "case": ".acc.",
+        "note": "双宾语<次要> -> 动词",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "DIO-S",
+        "case": ".acc.",
+        "note": "vikati <avuttakamma> -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "STC",
+        "case": ".acc.",
+        "note": "Spatio-Temporal Continuity Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "STC",
+        "case": ".acc.",
+        "note": "时空连续 -> 持续动作",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "STC",
+        "case": ".acc.",
+        "note": "accantasaṃyoga -> accantasaṃyogavant",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "ADV",
+        "case": ".acc.",
+        "note": "Adverbial Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "ADV",
+        "case": ".acc.",
+        "note": "动词修饰词 -> 动词",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "ADV",
+        "case": ".acc.",
+        "note": "kiriyāvisesana -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "IMP",
+        "case": ".inst.",
+        "note": "Implemental Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "IMP",
+        "case": ".inst.",
+        "note": "方式 -> 动词<br>以XX",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "IMP",
+        "case": ".inst.",
+        "note": "karaṇa -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "SOE",
+        "case": ".inst.",
+        "note": "Sociative <Explicit> Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "SOE",
+        "case": ".inst.",
+        "note": "<带连词>伴随关系<br>跟XX一起",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "SOE",
+        "case": ".inst.",
+        "note": "sahayoga <sahādiyoga> -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "SOI",
+        "case": ".inst.",
+        "note": "Sociative <Implicit> Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "SOI",
+        "case": ".inst.",
+        "note": "<无连词>伴随关系<br>与XX",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "SOI",
+        "case": ".inst.",
+        "note": "sahatthayoga",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "ISV",
+        "case": ".inst.",
+        "note": "Inactive Subject Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "ISV",
+        "case": ".inst.",
+        "note": "非主格施动者 -> 动词<br>被XX",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "ISV",
+        "case": ".inst.",
+        "note": "avuttakattar -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "CAU",
+        "case": ".inst.",
+        "note": "Causality Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "CAU",
+        "case": ".inst.",
+        "note": "因 -> 果<br>根据XX",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "CAU",
+        "case": ".inst.",
+        "note": "hetu -> phala",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "IOV",
+        "case": ".inst.",
+        "note": "被使役宾语 -> 动词<br>令XX…",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "IOV",
+        "case": ".inst.",
+        "note": "avuttakamma -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "IOV",
+        "case": ".inst.",
+        "note": "Inactive Object Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "ADJ",
+        "case": ".inst.",
+        "note": "Adjectival Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "ADJ",
+        "case": ".inst.",
+        "note": "名词的形容 -> 被形容",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "ADJ",
+        "case": ".inst.",
+        "note": "nāmavisesana -> visesya",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "ADV",
+        "case": ".inst.",
+        "note": "Adverbial Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "ADV",
+        "case": ".inst.",
+        "note": "修饰动作的副词 -> 动词",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "ADV",
+        "case": ".inst.",
+        "note": "kiriyāvisesana -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "REC",
+        "case": ".dat.",
+        "note": "Receptive Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "REC",
+        "case": ".dat.",
+        "note": "接收者 -> 授予<br>向XX",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "REC",
+        "case": ".dat.",
+        "note": "sampadāna -> sampadānin",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "PUR",
+        "case": ".dat.",
+        "note": "Purposive Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "PUR",
+        "case": ".dat.",
+        "note": "目的 -> 动词<br>为了…",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "PUR",
+        "case": ".dat.",
+        "note": "tadattha <tumattha> sampadāna -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "DET",
+        "case": ".abl.",
+        "note": "Detachment Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "DET",
+        "case": ".abl.",
+        "note": "出发地 -> 出发<br>从XX",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "DET",
+        "case": ".abl.",
+        "note": "apādāna -> apādānin",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "COC",
+        "case": ".abl.",
+        "note": "Contrastive Comparison Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "COC",
+        "case": ".abl.",
+        "note": "区分比较<br>比XX",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "COC",
+        "case": ".abl.",
+        "note": "Vibhattāpādāna -> Vibhattāpādānin",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "CAU",
+        "case": ".abl.",
+        "note": "Causality Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "CAU",
+        "case": ".abl.",
+        "note": "因 -> 果<br>由于XX",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "CAU",
+        "case": ".abl.",
+        "note": "hetu -> phala",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "ADJ",
+        "case": ".abl.",
+        "note": "Adjectival Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "ADJ",
+        "case": ".abl.",
+        "note": "名词的形容 -> 被形容",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "ADJ",
+        "case": ".abl.",
+        "note": "nāmavisesana -> visesya",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "POS",
+        "case": ".gen.",
+        "note": "Possessor Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "POS",
+        "case": ".gen.",
+        "note": "所有 -> 被所有<br>属于XX的",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "POS",
+        "case": ".gen.",
+        "note": "sambandha -> sambandhin",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "COI",
+        "case": ".gen.",
+        "note": "Collection -> Individual Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "COI",
+        "case": ".gen.",
+        "note": "包含[全集] -> 被包含[子集]元素<br>XX中的",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "COI",
+        "case": ".gen.",
+        "note": "niddhāraṇasamudāya -> niddhāraṇīya",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "ISV",
+        "case": ".gen.",
+        "note": "Inactive Subject Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "ISV",
+        "case": ".gen.",
+        "note": "施动者<非主格> -> 动词<br>XX的…<动作>",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "ISV",
+        "case": ".gen.",
+        "note": "avuttakattar -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "IOV",
+        "case": ".gen.",
+        "note": "Inactive Object Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "IOV",
+        "case": ".gen.",
+        "note": "受动者<非主格> -> 动词<br>XX的被…",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "IOV",
+        "case": ".gen.",
+        "note": "avuttakamma -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "LOV",
+        "case": ".loc.",
+        "note": "Locus -> Verb Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "LOV",
+        "case": ".loc.",
+        "note": "容器 -> 动词<br>在…",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "LOV",
+        "case": ".loc.",
+        "note": "ādhāra -> ādheyya",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "MOT",
+        "case": ".loc.",
+        "note": "Motivational Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "MOT",
+        "case": ".loc.",
+        "note": "表现 -> 有表现",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "MOT",
+        "case": ".loc.",
+        "note": "nimitta -> nimittavant",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "WHP",
+        "case": ".loc.",
+        "note": "Whole -> Part Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "WHP",
+        "case": ".loc.",
+        "note": "整体 -> 局部<br>XX中的",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "WHP",
+        "case": ".loc.",
+        "note": "samudāya -> samudāyin",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "COI",
+        "case": ".loc.",
+        "note": "Collection -> Individual Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "COI",
+        "case": ".loc.",
+        "note": "集合 -> 个体元素<br>XXX中的一个",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "COI",
+        "case": ".loc.",
+        "note": "niddhāraṇasamudāya -> nidhāraṇīya",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "IAD",
+        "case": ".caus.",
+        "note": "Identical Adjective relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "IAD",
+        "case": ".caus.",
+        "note": "同类修饰",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "IAD",
+        "case": ".caus.",
+        "note": "tulyādhikaraṇavisesana -> visesya",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "PUR",
+        "case": ".inf.",
+        "note": "Purposive Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "PUR",
+        "case": ".inf.",
+        "note": "目的<br>用来XX",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "PUR",
+        "case": ".inf.",
+        "note": "Purposive Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "ASV",
+        "case": ".inf.",
+        "note": "Active Subject Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "ASV",
+        "case": ".inf.",
+        "note": "施动者<主格> -> 动词",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "ASV",
+        "case": ".inf.",
+        "note": "vuttakattar -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "ADV",
+        "case": ".abs.",
+        "note": "Adverbial Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "ADV",
+        "case": ".abs.",
+        "note": "副词",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "ADV",
+        "case": ".abs.",
+        "note": "Adverbial Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "CAU",
+        "case": ".abs.",
+        "note": "Causality Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "CAU",
+        "case": ".abs.",
+        "note": "使役",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "CAU",
+        "case": ".abs.",
+        "note": "Causality Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "DASO-P",
+        "case": ".abs.",
+        "note": "Double Active Subject <Ordinary> relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "DASO-P",
+        "case": ".abs.",
+        "note": "<字面>主语 -> 系动词",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "DASO-P",
+        "case": ".abs.",
+        "note": "pakati <vuttakattar> -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "DASO-S",
+        "case": ".abs.",
+        "note": "Double Active Subject <Secondary> relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "DASO-S",
+        "case": ".abs.",
+        "note": "<字面>表语 -> 系动词",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "DASO-S",
+        "case": ".abs.",
+        "note": "vikati <vuttakattar> -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "DASD-P",
+        "case": ".abs.",
+        "note": "Double Active Subject <Denominative> Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "DASD-P",
+        "case": ".abs.",
+        "note": "<命名>主 -> 系",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "DASD-P",
+        "case": ".abs.",
+        "note": "pakati<saññin, nāmin> -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "DASD-S",
+        "case": ".abs.",
+        "note": "Double Active Subject <Denominative> Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "DASD-S",
+        "case": ".abs.",
+        "note": "<命名>表 -> 系",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "DASD-S",
+        "case": ".abs.",
+        "note": "vikati<saññā,nāma> -> kiriyā",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "DEF",
+        "case": "",
+        "note": "Definitive Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "DEF",
+        "case": "",
+        "note": "特征限定<br>当…",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "DEF",
+        "case": "",
+        "note": "lakkhaṇa -> lakkhya",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "AC",
+        "case": "",
+        "note": "Absolute Clause",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "AC",
+        "case": "",
+        "note": "绝对从句",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "AC",
+        "case": "",
+        "note": "Absolute Clause",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "AVC",
+        "case": "",
+        "note": "Absolute Voice Clause",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "AVC",
+        "case": "",
+        "note": "绝对语态从句",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "AVC",
+        "case": "",
+        "note": "Absolute Voice Clause",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "ADV",
+        "case": "",
+        "note": "Adverbial Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "ADV",
+        "case": "",
+        "note": "副词",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "ADV",
+        "case": "",
+        "note": "Adverbial Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "QUS",
+        "case": "",
+        "note": "Quoted Speech Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "QUS",
+        "case": "",
+        "note": "引号内 -> 引号",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "QUS",
+        "case": "",
+        "note": "nidassetabba -> nidassana",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "QUM",
+        "case": "",
+        "note": "Quotation Marker relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "QUM",
+        "case": "",
+        "note": "引号 -> 引号外",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "QUM",
+        "case": "",
+        "note": "nidassana -> nidassanavant",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "ENU",
+        "case": ".adv.",
+        "note": "enumerative relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "ENU",
+        "case": ".adv.",
+        "note": "罗列 -> 破折号",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "ENU",
+        "case": ".adv.",
+        "note": "enumerative relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "ENM",
+        "case": ".adv.",
+        "note": "enumeration marker Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "ENM",
+        "case": ".adv.",
+        "note": "破折号 -> 被罗列<br>- XXX",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "ENM",
+        "case": ".adv.",
+        "note": "enumeration marker Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "LOV",
+        "case": ".adv.",
+        "note": "Locus -> Verb Relation",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "LOV",
+        "case": ".adv.",
+        "note": "容纳 -> 被容纳<br>在…",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "LOV",
+        "case": ".adv.",
+        "note": "ādhāra -> ādheyya",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    },
+    {
+        "id": "CAU",
+        "case": ".adv.",
+        "note": "Causative particle",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "en"
+    },
+    {
+        "id": "CAU",
+        "case": ".adv.",
+        "note": "归因",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "zh-cn"
+    },
+    {
+        "id": "CAU",
+        "case": ".adv.",
+        "note": "Causative particle",
+        "sys_name": "Sadda Pan Goun",
+        "author": "Ven. Pandita Pariyatti Faculty ITBMU",
+        "editor": "Bhikkhu Kosalla sy1987",
+        "language": "default"
+    }
+];

+ 19 - 5
public/app/term/note.js

@@ -6,6 +6,7 @@ var _channal = "";
 var _lang = "";
 var _author = "";
 
+
 var _arrData = new Array();
 var _channalData;
 
@@ -115,12 +116,17 @@ function note_update_background_style() {
 }
 //
 function note_refresh_new(callback = null) {
+    let Params={
+        maxSentenceOneRequest:0
+    };
 	note_update_background_style();
 	let objNotes = document.querySelectorAll("note");
 	let arrSentInfo = new Array();
+    let noteCounter = 0;
 	for (const iterator of objNotes) {
 		let id = iterator.id;
 		if (id == null || id == "") {
+            
 			//查看这个节点是第几层note嵌套。大于预定层数退出。
 			let layout = 1;
 			let parent = iterator.parentNode;
@@ -135,6 +141,7 @@ function note_refresh_new(callback = null) {
 				}
 				parent = parent.parentNode;
 			}
+            
 			id = com_guid();
 			iterator.id = id;
 			if (iterator.hasAttribute("info")) {
@@ -151,6 +158,10 @@ function note_refresh_new(callback = null) {
 					arrSentInfo.push({ id: id, data: info });
 				}
 			}
+            noteCounter++;
+            if(Params.maxSentenceOneRequest>0 && noteCounter>=Params.maxSentenceOneRequest){
+                break;
+            }
 		}
 	}
 	if (arrSentInfo.length > 0) {
@@ -167,6 +178,7 @@ function note_refresh_new(callback = null) {
 				if (status == "success") {
 					try {
 						let sentData = JSON.parse(data);
+                        //开始渲染句子
 						for (const iterator of sentData) {
 							let id = iterator.id;
 							let strHtml = "<a name='" + id + "'></a>";
@@ -180,6 +192,7 @@ function note_refresh_new(callback = null) {
 								$("#" + id).html(strHtml);
 							}
 						}
+                        //句子渲染完毕
 						//处理<code>标签作为气泡注释
 						popup_init();
 
@@ -190,7 +203,7 @@ function note_refresh_new(callback = null) {
 						_arrData = _arrData.concat(sentData);
 						note_ref_init();
 						//获取术语字典
-						term_get_dict();
+						term_get_dict(callback);
 						//刷新channel列表
 						note_channal_list();
 						//显示不同的巴利语脚本
@@ -199,9 +212,7 @@ function note_refresh_new(callback = null) {
 						splite_pali_word();
 						//处理编辑框消息
 						tran_sent_textarea_event_init();
-						if (callback) {
-							callback();
-						}
+
 						//初始化mermaid
 						mermaid.initialize({startOnLoad:true});
 
@@ -209,11 +220,14 @@ function note_refresh_new(callback = null) {
 						console.error(e);
 					}
 				}
+                
 			}
 		);
 	} else {
-		term_get_dict();
+		term_get_dict(callback);
 	}
+
+    return arrSentInfo.length;
 }
 
 //渲染巴利原文句子

+ 12 - 5
public/app/term/term.js

@@ -405,8 +405,12 @@ function term_array_updata() {
 		);
 	}
 }
-
-function term_updata_translation() {
+/*
+*-----------------------
+*更新术语显示
+*-----------------------
+*/
+function term_updata_translation(callback=null) {
 	termCounter = new Array();
 	noteCounter = 1;
 	//计算有效模版数量
@@ -551,6 +555,9 @@ function term_updata_translation() {
 		}
 	});
 	term_popup_init();
+    if(callback){
+        callback();
+    }
 }
 
 function term_show_win(guid, keyWord = "",channel="",lang="") {
@@ -674,9 +681,9 @@ function term_show_new() {
 	guide_init();
 }
 
-function term_get_dict() {
+function term_get_dict(callback=null) {
 	if (arrMyTerm.length > 0) {
-		term_updata_translation();
+		term_updata_translation(callback);
 		return;
 	}
 	let termwordlist = new Array();
@@ -707,7 +714,7 @@ function term_get_dict() {
 			if (data.length > 0) {
 				try {
 					arrMyTerm = JSON.parse(data);
-					term_updata_translation();
+					term_updata_translation(callback);
 				} catch (e) {
 					console.error(e.error + " data:" + data);
 				}

+ 1 - 1
v1/scripts/migrations/20211204120600_wbw_blocks_copy.php

@@ -83,7 +83,7 @@ $allSrcCount = 0;
 $count = 0;
 
 #从源数据表中读取
-$query = "SELECT *  FROM ".$src_table." WHERE true ";
+$query = "SELECT *  FROM ".$src_table;
 $stmtSrc = $PDO_SRC->prepare($query);
 $stmtSrc->execute();
 

+ 1 - 1
v1/scripts/migrations/20211207052901_sent_copy.php

@@ -69,7 +69,7 @@ $allInsertCount = 0;
 $allSrcCount = 0;
 $count = 0;
 #从源数据表中读取
-$query = "SELECT *  FROM ".$src_table." WHERE true ";
+$query = "SELECT *  FROM ".$src_table;
 $stmtSrc = $PDO_SRC->prepare($query);
 $stmtSrc->execute();
 

+ 1 - 1
v1/scripts/migrations/20211207164600_sent_pr_copy.php

@@ -66,7 +66,7 @@ $allSrcCount = 0;
 $count = 0;
 
 #从源数据表中读取
-$query = "SELECT *  FROM ".$src_table." WHERE true ";
+$query = "SELECT *  FROM ".$src_table;
 $stmtSrc = $PDO_SRC->prepare($query);
 $stmtSrc->execute();
 while($srcData = $stmtSrc->fetch(PDO::FETCH_ASSOC)){

+ 1 - 1
v1/scripts/migrations/20211207171500_sent_historay_copy.php

@@ -56,7 +56,7 @@ $allSrcCount = 0;
 $count = 0;
 
 #从源数据表中读取
-$query = "SELECT *  FROM ".$src_table." WHERE true ";
+$query = "SELECT *  FROM ".$src_table;
 $stmtSrc = $PDO_SRC->prepare($query);
 $stmtSrc->execute();
 while($srcData = $stmtSrc->fetch(PDO::FETCH_ASSOC)){

+ 2 - 2
v1/scripts/migrations/20211214181900_user_operation_log_copy.php

@@ -66,7 +66,7 @@ fwrite(STDOUT,"open dest table".PHP_EOL);
 #删除源数据表中全部数据
 fwrite(STDOUT,"delete dest".PHP_EOL);
 
-$query = "delete from $dest_table where true;";
+$query = "delete from $dest_table";
 $stmtDest = $PDO_DEST->prepare($query);
 $stmtDest->execute();
 
@@ -93,7 +93,7 @@ $query = "SELECT id  FROM ".$user_table." WHERE userid = ? ";
 $stmtUser = $PDO_USER->prepare($query);
 
 #从源数据表中读取
-$query = "SELECT *  FROM ".$src_table." WHERE true ";
+$query = "SELECT *  FROM ".$src_table;
 $stmtSrc = $PDO_SRC->prepare($query);
 $stmtSrc->execute();
 while($srcData = $stmtSrc->fetch(PDO::FETCH_ASSOC)){

+ 2 - 2
v1/scripts/migrations/20211214190200_user_operation_frames_copy.php

@@ -49,7 +49,7 @@ fwrite(STDOUT,"open dest table".PHP_EOL);
 #删除目标数据表中全部数据
 fwrite(STDOUT,"delete dest".PHP_EOL);
 
-$query = "delete from $dest_table where true;";
+$query = "delete from $dest_table";
 $stmtDest = $PDO_DEST->prepare($query);
 $stmtDest->execute();
 
@@ -77,7 +77,7 @@ $query = "SELECT id  FROM ".$user_table." WHERE userid = ? ";
 $stmtUser = $PDO_USER->prepare($query);
 
 #从源数据表中读取
-$query = "SELECT *  FROM ".$src_table." WHERE true ";
+$query = "SELECT *  FROM ".$src_table;
 $stmtSrc = $PDO_SRC->prepare($query);
 $stmtSrc->execute();
 while($srcData = $stmtSrc->fetch(PDO::FETCH_ASSOC)){

+ 2 - 2
v1/scripts/migrations/20211214191900_user_operation_dailys_copy.php

@@ -49,7 +49,7 @@ fwrite(STDOUT,"open dest table".PHP_EOL);
 #删除目标数据表中全部数据
 fwrite(STDOUT,"delete dest".PHP_EOL);
 
-$query = "delete from $dest_table where true;";
+$query = "delete from $dest_table";
 $stmtDest = $PDO_DEST->prepare($query);
 $stmtDest->execute();
 
@@ -75,7 +75,7 @@ $query = "SELECT id  FROM ".$user_table." WHERE userid = ? ";
 $stmtUser = $PDO_USER->prepare($query);
 
 #从源数据表中读取
-$query = "SELECT *  FROM ".$src_table." WHERE true ";
+$query = "SELECT *  FROM ".$src_table;
 $stmtSrc = $PDO_SRC->prepare($query);
 $stmtSrc->execute();
 while($srcData = $stmtSrc->fetch(PDO::FETCH_ASSOC)){

+ 1 - 1
v1/scripts/migrations/20211215214400_channel_copy.php

@@ -75,7 +75,7 @@ $query = "SELECT id ,userid FROM ".$user_table." WHERE userid = ? or username =
 $stmtUser = $PDO_USER->prepare($query);
 
 #从源数据表中读取
-$query = "SELECT *  FROM ".$src_table." WHERE true ";
+$query = "SELECT *  FROM ".$src_table;
 $stmtSrc = $PDO_SRC->prepare($query);
 $stmtSrc->execute();
 while($srcData = $stmtSrc->fetch(PDO::FETCH_ASSOC)){

+ 1 - 1
v1/scripts/migrations/20211218093500_articles_copy.php

@@ -78,7 +78,7 @@ $query = "SELECT id  FROM ".$user_table." WHERE userid = ? ";
 $stmtUser = $PDO_USER->prepare($query);
 
 #从源数据表中读取
-$query = "SELECT *  FROM ".$src_table." WHERE true ";
+$query = "SELECT *  FROM ".$src_table;
 $stmtSrc = $PDO_SRC->prepare($query);
 $stmtSrc->execute();
 while($srcData = $stmtSrc->fetch(PDO::FETCH_ASSOC)){

+ 1 - 1
v1/scripts/migrations/20211218132000_collections_copy.php

@@ -77,7 +77,7 @@ $query = "SELECT id  FROM ".$user_table." WHERE userid = ? ";
 $stmtUser = $PDO_USER->prepare($query);
 
 #从源数据表中读取
-$query = "SELECT *  FROM ".$src_table." WHERE true ";
+$query = "SELECT *  FROM ".$src_table;
 $stmtSrc = $PDO_SRC->prepare($query);
 $stmtSrc->execute();
 while($srcData = $stmtSrc->fetch(PDO::FETCH_ASSOC)){

+ 3 - 3
v1/scripts/migrations/20211218133000_article_collection_copy.php

@@ -34,12 +34,12 @@ fwrite(STDOUT,"migarate _TABLE_ARTICLE_COLLECTION_".PHP_EOL);
 
 #打开源数据库
 $PDO_SRC = new PDO($src_db,_DB_USERNAME_,_DB_PASSWORD_,array(PDO::ATTR_PERSISTENT=>true));
-$PDO_SRC->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
+$PDO_SRC->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 fwrite(STDOUT,"open src table".PHP_EOL);
 
 #打开目标数据库
 $PDO_DEST = new PDO($dest_db,_DB_USERNAME_,_DB_PASSWORD_,array(PDO::ATTR_PERSISTENT=>true));
-$PDO_DEST->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
+$PDO_DEST->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 fwrite(STDOUT,"open dest table".PHP_EOL);
 
 #删除目标数据表中全部数据
@@ -70,7 +70,7 @@ $count = 0;
 
 
 #从源数据表中读取
-$query = "SELECT *  FROM ".$src_table." WHERE true order by id ASC";
+$query = "SELECT *  FROM ".$src_table." order by id ASC";
 $stmtSrc = $PDO_SRC->prepare($query);
 $stmtSrc->execute();
 while($srcData = $stmtSrc->fetch(PDO::FETCH_ASSOC)){