Parcourir la source

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

visuddhinanda il y a 4 ans
Parent
commit
87491738a1
53 fichiers modifiés avec 998 ajouts et 366 suppressions
  1. 2 2
      api/README.md
  2. 2 0
      api/go.mod
  3. 92 2
      api/go.sum
  4. 1 1
      app/pcdl/html_head.php
  5. 334 0
      app/public/charcode/converter_si.js
  6. 8 6
      app/public/charcode/myanmar.js
  7. 1 0
      app/public/charcode/sinhala.js
  8. 11 0
      app/public/images/favicon/wikipali_hand.svg
  9. BIN
      app/public/images/favicon/wikipali_without_studio.png
  10. 21 0
      app/public/images/favicon/wikipali_without_studio.svg
  11. 0 0
      app/public/images/图标.md
  12. 1 1
      app/studio/pc_get_word_num.php
  13. 9 1
      app/term/note.js
  14. 1 1
      app/term/term.css
  15. 2 1
      app/ucenter/default.json
  16. 1 1
      app/ucenter/setting.js
  17. 7 6
      dashboard/src/pages/index.tsx
  18. 0 225
      documents/development/functions.md
  19. 0 0
      documents/readme.md
  20. 0 0
      documents/zh/api/channel.md
  21. 50 0
      documents/zh/api/course.md
  22. 0 0
      documents/zh/api/dict.md
  23. 0 0
      documents/zh/api/group.md
  24. 7 9
      documents/zh/api/palicanon.md
  25. 29 0
      documents/zh/api/readme.md
  26. 0 0
      documents/zh/api/search.md
  27. 0 0
      documents/zh/api/term.md
  28. 0 0
      documents/zh/api/translation.md
  29. 65 0
      documents/zh/api/user.md
  30. 61 0
      documents/zh/api/wbw.md
  31. 0 1
      documents/zh/course.md
  32. 0 0
      documents/zh/dashboard/auth.md
  33. 0 0
      documents/zh/dashboard/collection.md
  34. 1 0
      documents/zh/dashboard/course.md
  35. 0 0
      documents/zh/dashboard/dict.md
  36. 0 0
      documents/zh/dashboard/home.md
  37. 1 0
      documents/zh/dashboard/myzone.md
  38. 23 0
      documents/zh/dashboard/palicanon.md
  39. 5 0
      documents/zh/dashboard/public.md
  40. 231 0
      documents/zh/dashboard/readme.md
  41. 0 0
      documents/zh/dashboard/stu_course.md
  42. 0 0
      documents/zh/dashboard/stu_dict.md
  43. 0 0
      documents/zh/dashboard/stu_doc.md
  44. 0 0
      documents/zh/dashboard/stu_group.md
  45. 0 0
      documents/zh/dashboard/stu_term.md
  46. 0 0
      documents/zh/dashboard/studio.md
  47. 0 0
      documents/zh/dashboard/term.md
  48. 0 61
      documents/zh/database.md
  49. 9 0
      documents/zh/db/readme.md
  50. 0 0
      documents/zh/deploy/语料库.md
  51. 19 1
      documents/zh/readme.md
  52. 4 0
      documents/zh/summary.md
  53. 0 47
      documents/功能完善列表.md

+ 2 - 2
api/README.md

@@ -1,8 +1,6 @@
 # USAGE
 
 ```bash
-# Install third dependices
-go mod tidy
 # start http server
 go run .
 ```
@@ -12,6 +10,7 @@ go run .
 - [Gin Web Framework](https://github.com/gin-gonic/gin)
 - [PostgreSQL client and ORM for Golang](https://github.com/go-pg/pg)
 - [Introduction to Object-relational mapping](https://pg.uptrace.dev/orm/intro/)
+- [Redis client for Golang](https://github.com/go-redis/redis)
 
 ## SOP
 
@@ -20,3 +19,4 @@ go run .
 - Gin: Querystring parameters
 - Gin: Model binding and validation
 - Pg: Quickstart(**ingore createSchema**)
+- Redis: Quickstart

+ 2 - 0
api/go.mod

@@ -6,6 +6,7 @@ require (
 	github.com/gin-gonic/gin v1.7.2
 	github.com/go-pg/pg/v10 v10.10.1
 	github.com/go-playground/validator/v10 v10.6.1 // indirect
+	github.com/go-redis/redis/v8 v8.11.0 // indirect
 	github.com/golang/protobuf v1.5.2 // indirect
 	github.com/json-iterator/go v1.1.11 // indirect
 	github.com/leodido/go-urn v1.2.1 // indirect
@@ -14,6 +15,7 @@ require (
 	github.com/modern-go/reflect2 v1.0.1 // indirect
 	github.com/ugorji/go v1.2.6 // indirect
 	github.com/vmihailenco/msgpack/v5 v5.3.4 // indirect
+	go.opentelemetry.io/otel v0.14.0 // indirect
 	golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e // indirect
 	golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect
 	golang.org/x/text v0.3.6 // indirect

+ 92 - 2
api/go.sum

@@ -1,10 +1,22 @@
 cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
+github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE=
 github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
+github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
+github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
+github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
+github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
+github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU=
+github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I=
+github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
+github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g=
 github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
 github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
 github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
@@ -24,9 +36,21 @@ github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8c
 github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8=
 github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no=
 github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA=
+github.com/go-playground/validator v9.31.0+incompatible h1:UA72EPEogEnq76ehGdEDp4Mit+3FDh548oRqwVgNsHA=
+github.com/go-playground/validator v9.31.0+incompatible/go.mod h1:yrEkQXlcI+PugkyDjY2bRrL/UBU4f3rvrgkN3V8JEig=
 github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4=
 github.com/go-playground/validator/v10 v10.6.1 h1:W6TRDXt4WcWp4c4nf/G+6BkGdhiIo0k417gfr+V6u4I=
 github.com/go-playground/validator/v10 v10.6.1/go.mod h1:xm76BBt941f7yWdGnI2DVPFFg1UK3YY04qifoXU3lOk=
+github.com/go-redis/redis/v8 v8.11.0 h1:O1Td0mQ8UFChQ3N9zFQqo6kTU2cJ+/it88gDB+zg0wo=
+github.com/go-redis/redis/v8 v8.11.0/go.mod h1:DLomh7y2e3ggQXQLd1YgmvIfecPJoFl7WU5SOQ/r06M=
+github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
+github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
+github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE=
+github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
+github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
+github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
+github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
+github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
 github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
 github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
@@ -48,8 +72,9 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw
 github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
 github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
+github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
 github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
@@ -81,10 +106,32 @@ github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W
 github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
 github.com/onsi/ginkgo v1.14.2 h1:8mVmC9kjFFmA8H4pKMUhcblgifdkOIXPvbhN1T36q1M=
 github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
+github.com/onsi/ginkgo v1.15.0/go.mod h1:hF8qUzuuC8DJGygJH3726JnCZX4MYbRB8yFfISqnKUg=
+github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
 github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
 github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
 github.com/onsi/gomega v1.10.3 h1:gph6h/qe9GSUw1NhH1gp+qb+h8rXD8Cy60Z32Qw3ELA=
 github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc=
+github.com/onsi/gomega v1.10.5/go.mod h1:gza4q3jKQJijlu05nKWRCW/GavJumGt8aNRxWg7mt48=
+github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
+github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis=
+github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74=
+github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
+github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
+github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA=
+github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw=
+github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=
+github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=
+github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM=
+github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
+github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
+github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac=
+github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc=
+github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
+github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
+github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
@@ -112,6 +159,27 @@ github.com/vmihailenco/tagparser v0.1.2 h1:gnjoVuB/kljJ5wICEEOpx98oXMWPLj22G67Vb
 github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
 github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g=
 github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds=
+github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
+github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
+go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
+go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg=
+go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
+go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
+go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
+go.opentelemetry.io/otel v0.14.0/go.mod h1:vH5xEuwy7Rts0GNtsCW3HYQoZDY+OmBJ6t1bFGGlxgw=
+go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
+go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
+go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
+go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
+go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
+go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
+go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
+go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
+go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
+go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
+go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
+golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
@@ -122,6 +190,10 @@ golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL
 golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
 golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
 golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
+golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
+golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -130,12 +202,16 @@ golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn
 golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
 golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 h1:qWPm9rbaAMKs8Bq/9LRpbMqxWRVUAQwMI9fVrssnTfw=
+golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -148,6 +224,7 @@ golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I=
@@ -163,8 +240,21 @@ golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGm
 golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=

+ 1 - 1
app/pcdl/html_head.php

@@ -115,7 +115,7 @@ if (isset($_GET["language"])) {
 	<link type="text/css" rel="stylesheet" href="../widget/click_dropdown.css" />
 
 	<script src="../public/charcode/coverter_my.js"></script>
-
+	<script src="../public/charcode/converter_si.js"></script>
 	<script>
 		<?php require_once '../public/load_lang_js.php'; ?>
 	</script>

+ 334 - 0
app/public/charcode/converter_si.js

@@ -0,0 +1,334 @@
+function roman_to_si(input) {
+        let char_unicode_to_si=[
+            { "id":"bbhr" , "value":"බ්භ්ර්" },
+            { "id":"bbhv" , "value":"බ්භ්ව්" },
+            { "id":"bbhy" , "value":"බ්භ්ය්" },
+            { "id":"cchr" , "value":"ච්ඡ්ර්" },
+            { "id":"cchv" , "value":"ච්ඡ්ව්" },
+            { "id":"cchy" , "value":"ච්ඡ්ය්" },
+            { "id":"ddhr" , "value":"ද්ධ්ර්" },
+            { "id":"ddhv" , "value":"ද්ධ්ව්" },
+            { "id":"ddhy" , "value":"ද්ධ්ය්" },
+            { "id":"ḍḍhr" , "value":"ඩ්ඪ්ර්" },
+            { "id":"ḍḍhv" , "value":"ඩ්ඪ්ව්" },
+            { "id":"ḍḍhy" , "value":"ඩ්ඪ්ය්" },
+            { "id":"gghr" , "value":"ග්ඝ්ර්" },
+            { "id":"gghv" , "value":"ග්ඝ්ව්" },
+            { "id":"gghy" , "value":"ග්ඝ්ය්" },
+            { "id":"ṅkhr" , "value":"ඞ්ඛ්ර්" },
+            { "id":"ṅkhv" , "value":"ඞ්ඛ්ව්" },
+            { "id":"ṅkhy" , "value":"ඞ්ඛ්ය්" },
+            { "id":"ṅghr" , "value":"ඞ්ඝ්ර්" },
+            { "id":"ṅghv" , "value":"ඞ්ඝ්ව්" },
+            { "id":"ṅghy" , "value":"ඞ්ඝ්ය්" },
+            { "id":"jjhr" , "value":"ජ්ඣ්ර්" },
+            { "id":"jjhv" , "value":"ජ්ඣ්ව්" },
+            { "id":"jjhy" , "value":"ජ්ඣ්ය්" },
+            { "id":"kkhr" , "value":"ක්ඛ්ර්" },
+            { "id":"kkhv" , "value":"ක්ඛ්ව්" },
+            { "id":"kkhy" , "value":"ක්ඛ්ය්" },
+            { "id":"ñchr" , "value":"ඤ්ඡ්ර්" },
+            { "id":"ñchv" , "value":"ඤ්ඡ්ව්" },
+            { "id":"ñchy" , "value":"ඤ්ඡ්ය්" },
+            { "id":"ñjhr" , "value":"ඤ්ඣ්ර්" },
+            { "id":"ñjhv" , "value":"ඤ්ඣ්ව්" },
+            { "id":"ñjhy" , "value":"ඤ්ඣ්ය්" },
+            { "id":"ṇṭhr" , "value":"ණ්ඨ්ර්" },
+            { "id":"ṇṭhv" , "value":"ණ්ඨ්ව්" },
+            { "id":"ṇṭhy" , "value":"ණ්ඨ්ය්" },
+            { "id":"ṇḍhr" , "value":"ණ්ඪ්ර්" },
+            { "id":"ṇḍhv" , "value":"ණ්ඪ්ව්" },
+            { "id":"ṇḍhy" , "value":"ණ්ඪ්ය්" },
+            { "id":"nthr" , "value":"න්ථ්ර්" },
+            { "id":"nthv" , "value":"න්ථ්ව්" },
+            { "id":"nthy" , "value":"න්ථ්ය්" },
+            { "id":"ndhr" , "value":"න්ධ්ර්" },
+            { "id":"ndhv" , "value":"න්ධ්ව්" },
+            { "id":"ndhy" , "value":"න්ධ්ය්" },
+            { "id":"pphr" , "value":"ප්ඵ්ර්" },
+            { "id":"pphv" , "value":"ප්ඵ්ව්" },
+            { "id":"pphy" , "value":"ප්ඵ්ය්" },
+            { "id":"mphr" , "value":"ම්ඵ්ර්" },
+            { "id":"mphv" , "value":"ම්ඵ්ව්" },
+            { "id":"mphy" , "value":"ම්ඵ්ය්" },
+            { "id":"mbhr" , "value":"ම්භ්ර්" },
+            { "id":"mbhv" , "value":"ම්භ්ව්" },
+            { "id":"mbhy" , "value":"ම්භ්ය්" },
+            { "id":"tthr" , "value":"ත්ථ්ර්" },
+            { "id":"tthv" , "value":"ත්ථ්ව්" },
+            { "id":"tthy" , "value":"ත්ථ්ය්" },
+            { "id":"ṭṭhr" , "value":"ට්ඨ්ර්" },
+            { "id":"ṭṭhv" , "value":"ට්ඨ්ව්" },
+            { "id":"ṭṭhy" , "value":"ට්ඨ්ය්" },
+            { "id":"bbr" , "value":"බ්බ්ර්" },
+            { "id":"bbv" , "value":"බ්බ්ව්" },
+            { "id":"bby" , "value":"බ්බ්ය්" },
+            { "id":"ccr" , "value":"ච්ච්ර්" },
+            { "id":"ccv" , "value":"ච්ච්ව්" },
+            { "id":"ccy" , "value":"ච්ච්ය්" },
+            { "id":"ddr" , "value":"ද්ද්ර්" },
+            { "id":"ddv" , "value":"ද්ද්ව්" },
+            { "id":"ddy" , "value":"ද්ද්ය්" },
+            { "id":"ḍḍr" , "value":"ඩ්ඩ්ර්" },
+            { "id":"ḍḍv" , "value":"ඩ්ඩ්ව්" },
+            { "id":"ḍḍy" , "value":"ඩ්ඩ්ය්" },
+            { "id":"ggr" , "value":"ග්ග්ර්" },
+            { "id":"ggv" , "value":"ග්ග්ව්" },
+            { "id":"ggy" , "value":"ග්ග්ය්" },
+            { "id":"jjr" , "value":"ජ්ජ්ර්" },
+            { "id":"jjv" , "value":"ජ්ජ්ව්" },
+            { "id":"jjy" , "value":"ජ්ජ්ය්" },
+            { "id":"ṅkr" , "value":"ඞ්ක්ර්" },
+            { "id":"ṅkv" , "value":"ඞ්ක්ව්" },
+            { "id":"ṅky" , "value":"ඞ්ක්ය්" },
+            { "id":"ṅgr" , "value":"ඞ්ග්ර්" },
+            { "id":"ṅgv" , "value":"ඞ්ග්ව්" },
+            { "id":"ṅgy" , "value":"ඞ්ග්ය්" },
+            { "id":"kkr" , "value":"ක්ක්ර්" },
+            { "id":"kkv" , "value":"ක්ක්ව්" },
+            { "id":"kky" , "value":"ක්ක්ය්" },
+            { "id":"ñcr" , "value":"ඤ්ච්ර්" },
+            { "id":"ñcv" , "value":"ඤ්ච්ව්" },
+            { "id":"ñcy" , "value":"ඤ්ච්ය්" },
+            { "id":"ñjr" , "value":"ඤ්ජ්ර්" },
+            { "id":"ñjv" , "value":"ඤ්ජ්ව්" },
+            { "id":"ñjy" , "value":"ඤ්ජ්ය්" },
+            { "id":"mmr" , "value":"ම්ම්ර්" },
+            { "id":"mmv" , "value":"ම්ම්ව්" },
+            { "id":"mmy" , "value":"ම්ම්ය්" },
+            { "id":"nnr" , "value":"න්න්ර්" },
+            { "id":"nnv" , "value":"න්න්ව්" },
+            { "id":"nny" , "value":"න්න්ය්" },
+            { "id":"ṇṭr" , "value":"ණ්ට්ර්" },
+            { "id":"ṇṭv" , "value":"ණ්ට්ව්" },
+            { "id":"ṇṭy" , "value":"ණ්ට්ය්" },
+            { "id":"ṇḍr" , "value":"ණ්ඩ්ර්" },
+            { "id":"ṇḍv" , "value":"ණ්ඩ්ව්" },
+            { "id":"ṇḍy" , "value":"ණ්ඩ්ය්" },
+            { "id":"ññr" , "value":"ඤ්ඤ්ර්" },
+            { "id":"ññv" , "value":"ඤ්ඤ්ව්" },
+            { "id":"ññy" , "value":"ඤ්ඤ්ය්" },
+            { "id":"ṇṇr" , "value":"ණ්ණ්ර්" },
+            { "id":"ṇṇv" , "value":"ණ්ණ්ව්" },
+            { "id":"ṇṇy" , "value":"ණ්ණ්ය්" },
+            { "id":"ppr" , "value":"ප්ප්ර්" },
+            { "id":"ppv" , "value":"ප්ප්ව්" },
+            { "id":"ppy" , "value":"ප්ප්ය්" },
+            { "id":"ntr" , "value":"න්ත්ර්" },
+            { "id":"ntv" , "value":"න්ත්ව්" },
+            { "id":"nty" , "value":"න්ත්ය්" },
+            { "id":"ndr" , "value":"න්ද්ර්" },
+            { "id":"ndv" , "value":"න්ද්ව්" },
+            { "id":"ndy" , "value":"න්ද්ය්" },
+            { "id":"ttr" , "value":"ත්ත්ර්" },
+            { "id":"ttv" , "value":"ත්ත්ව්" },
+            { "id":"tty" , "value":"ත්ත්ය්" },
+            { "id":"mpr" , "value":"ම්ප්ර්" },
+            { "id":"mpv" , "value":"ම්ප්ව්" },
+            { "id":"mpy" , "value":"ම්ප්ය්" },
+            { "id":"mbr" , "value":"ම්බ්ර්" },
+            { "id":"mbv" , "value":"ම්බ්ව්" },
+            { "id":"mby" , "value":"ම්බ්ය්" },
+            { "id":"ṭṭr" , "value":"ට්ට්ර්" },
+            { "id":"ṭṭv" , "value":"ට්ට්ව්" },
+            { "id":"ṭṭy" , "value":"ට්ට්ය්" },
+            { "id":"llr" , "value":"ල්ල්ර්" },
+            { "id":"llv" , "value":"ල්ල්ව්" },
+            { "id":"lly" , "value":"ල්ල්ය්" },
+            { "id":"ssr" , "value":"ස්ස්ර්" },
+            { "id":"ssv" , "value":"ස්ස්ව්" },
+            { "id":"ssy" , "value":"ස්ස්ය්" },
+            { "id":"yyr" , "value":"ය්ය්ර්" },
+            { "id":"yyv" , "value":"ය්ය්ව්" },
+            { "id":"yyy" , "value":"ය්ය්ය්" },
+            { "id":"bbh" , "value":"බ්භ්" },
+            { "id":"cch" , "value":"ච්ඡ්" },
+            { "id":"ddh" , "value":"ද්ධ්" },
+            { "id":"ḍḍh" , "value":"ඩ්ඪ්" },
+            { "id":"ggh" , "value":"ග්ඝ්" },
+            { "id":"jjh" , "value":"ජ්ඣ්" },
+            { "id":"kkh" , "value":"ක්ඛ්" },
+            { "id":"mbh" , "value":"ම්භ්" },
+            { "id":"mph" , "value":"ම්ඵ්" },
+            { "id":"ñch" , "value":"ඤ්ඡ්" },
+            { "id":"bhr" , "value":"භ්ර්" },
+            { "id":"bhv" , "value":"භ්ව්" },
+            { "id":"bhy" , "value":"භ්ය්" },
+            { "id":"chr" , "value":"ඡ්ර්" },
+            { "id":"chv" , "value":"ඡ්ව්" },
+            { "id":"chy" , "value":"ඡ්ය්" },
+            { "id":"dhr" , "value":"ධ්ර්" },
+            { "id":"dhv" , "value":"ධ්ව්" },
+            { "id":"dhy" , "value":"ධ්ය්" },
+            { "id":"ḍhr" , "value":"ඪ්ර්" },
+            { "id":"ḍhv" , "value":"ඪ්ව්" },
+            { "id":"ḍhy" , "value":"ඪ්ය්" },
+            { "id":"ghr" , "value":"ඝ්ර්" },
+            { "id":"ghv" , "value":"ඝ්ව්" },
+            { "id":"ghy" , "value":"ඝ්ය්" },
+            { "id":"jhr" , "value":"ඣ්ර්" },
+            { "id":"jhv" , "value":"ඣ්ව්" },
+            { "id":"jhy" , "value":"ඣ්ය්" },
+            { "id":"khr" , "value":"ඛ්ර්" },
+            { "id":"khv" , "value":"ඛ්ව්" },
+            { "id":"khy" , "value":"ඛ්ය්" },
+            { "id":"phr" , "value":"ඵ්ර්" },
+            { "id":"phv" , "value":"ඵ්ව්" },
+            { "id":"phy" , "value":"ඵ්ය්" },
+            { "id":"thr" , "value":"ථ්ර්" },
+            { "id":"thv" , "value":"ථ්ව්" },
+            { "id":"thy" , "value":"ථ්ය්" },
+            { "id":"ṭhr" , "value":"ඨ්ර්" },
+            { "id":"ṭhv" , "value":"ඨ්ව්" },
+            { "id":"ṭhy" , "value":"ඨ්ය්" },
+            { "id":"ndh" , "value":"න්ධ්" },
+            { "id":"ṇḍh" , "value":"ණ්ඪ්" },
+            { "id":"ṅgh" , "value":"ඞ්ඝ්" },
+            { "id":"ñjh" , "value":"ඤ්ඣ්" },
+            { "id":"ṅkh" , "value":"ඞ්ඛ්" },
+            { "id":"nth" , "value":"න්ථ්" },
+            { "id":"ṇṭh" , "value":"ණ්ඨ්" },
+            { "id":"pph" , "value":"ප්ඵ්" },
+            { "id":"tth" , "value":"ත්ථ්" },
+            { "id":"ṭṭh" , "value":"ට්ඨ්" },
+            { "id":"bb" , "value":"බ්බ්" },
+            { "id":"bh" , "value":"භ්" },
+            { "id":"cc" , "value":"ච්ච්" },
+            { "id":"ch" , "value":"ඡ්" },
+            { "id":"dd" , "value":"ද්ද්" },
+            { "id":"ḍḍ" , "value":"ඩ්ඩ්" },
+            { "id":"dh" , "value":"ධ්" },
+            { "id":"ḍh" , "value":"ඪ්" },
+            { "id":"gg" , "value":"ග්ග්" },
+            { "id":"gh" , "value":"ඝ්" },
+            { "id":"jh" , "value":"ඣ්" },
+            { "id":"jj" , "value":"ජ්ජ්" },
+            { "id":"kh" , "value":"ඛ්" },
+            { "id":"kk" , "value":"ක්ක්" },
+            { "id":"ll" , "value":"ල්ල්" },
+            { "id":"mb" , "value":"ම්බ්" },
+            { "id":"mm" , "value":"ම්ම්" },
+            { "id":"mp" , "value":"ම්ප්" },
+            { "id":"ñc" , "value":"ඤ්ච්" },
+            { "id":"nd" , "value":"න්ද්" },
+            { "id":"ṇḍ" , "value":"ණ්ඩ්" },
+            { "id":"ṅg" , "value":"ඞ්ග්" },
+            { "id":"ñj" , "value":"ඤ්ජ්" },
+            { "id":"ṅk" , "value":"ඞ්ක්" },
+            { "id":"nn" , "value":"න්න්" },
+            { "id":"ññ" , "value":"ඤ්ඤ්" },
+            { "id":"ṇṇ" , "value":"ණ්ණ්" },
+            { "id":"nt" , "value":"න්ත්" },
+            { "id":"br" , "value":"බ්ර්" },
+            { "id":"bv" , "value":"බ්ව්" },
+            { "id":"by" , "value":"බ්ය්" },
+            { "id":"cr" , "value":"ච්ර්" },
+            { "id":"cv" , "value":"ච්ව්" },
+            { "id":"cy" , "value":"ච්ය්" },
+            { "id":"dr" , "value":"ද්ර්" },
+            { "id":"dv" , "value":"ද්ව්" },
+            { "id":"dy" , "value":"ද්ය්" },
+            { "id":"ḍr" , "value":"ඩ්ර්" },
+            { "id":"ḍv" , "value":"ඩ්ව්" },
+            { "id":"ḍy" , "value":"ඩ්ය්" },
+            { "id":"gr" , "value":"ග්ර්" },
+            { "id":"gv" , "value":"ග්ව්" },
+            { "id":"gy" , "value":"ග්ය්" },
+            { "id":"jr" , "value":"ජ්ර්" },
+            { "id":"jv" , "value":"ජ්ව්" },
+            { "id":"jy" , "value":"ජ්ය්" },
+            { "id":"kr" , "value":"ක්ර්" },
+            { "id":"kv" , "value":"ක්ව්" },
+            { "id":"ky" , "value":"ක්ය්" },
+            { "id":"pr" , "value":"ප්ර්" },
+            { "id":"pv" , "value":"ප්ව්" },
+            { "id":"py" , "value":"ප්ය්" },
+            { "id":"tr" , "value":"ත්ර්" },
+            { "id":"tv" , "value":"ත්ව්" },
+            { "id":"ty" , "value":"ත්ය්" },
+            { "id":"ṭr" , "value":"ට්ර්" },
+            { "id":"ṭv" , "value":"ට්ව්" },
+            { "id":"ṭy" , "value":"ට්ය්" },
+            { "id":"ñh" , "value":"ඤ්හ්" },
+            { "id":"ṇh" , "value":"ණ්හ්" },
+            { "id":"nh" , "value":"න්හ්" },
+            { "id":"mh" , "value":"ම්හ්" },
+            { "id":"yh" , "value":"ය්හ්" },
+            { "id":"ly" , "value":"ල්ය්" },
+            { "id":"lh" , "value":"ල්හ්" },
+            { "id":"vh" , "value":"ව්හ්" },
+            { "id":"sm" , "value":"ස්ම්" },
+            { "id":"sv" , "value":"ස්ව්" },
+            { "id":"hm" , "value":"හ්ම්" },
+            { "id":"hv" , "value":"හ්ව්" },
+            { "id":"ḷh" , "value":"ළ්හ්" },
+            { "id":"ṇṭ" , "value":"ණ්ට්" },
+            { "id":"ph" , "value":"ඵ්" },
+            { "id":"pp" , "value":"ප්ප්" },
+            { "id":"ss" , "value":"ස්ස්" },
+            { "id":"th" , "value":"ථ්" },
+            { "id":"ṭh" , "value":"ඨ්" },
+            { "id":"tt" , "value":"ත්ත්" },
+            { "id":"ṭṭ" , "value":"ට්ට්" },
+            { "id":"yy" , "value":"ය්ය්" },
+            { "id":"b" , "value":"බ්" },
+            { "id":"c" , "value":"ච්" },
+            { "id":"d" , "value":"ද්" },
+            { "id":"ḍ" , "value":"ඩ්" },
+            { "id":"g" , "value":"ග්" },
+            { "id":"h" , "value":"හ්" },
+            { "id":"j" , "value":"ජ්" },
+            { "id":"k" , "value":"ක්" },
+            { "id":"l" , "value":"ල්" },
+            { "id":"ḷ" , "value":"ළ්" },
+            { "id":"m" , "value":"ම්" },
+            { "id":"n" , "value":"න්" },
+            { "id":"ṅ" , "value":"ඞ්" },
+            { "id":"ñ" , "value":"ඤ්" },
+            { "id":"ṇ" , "value":"ණ්" },
+            { "id":"p" , "value":"ප්" },
+            { "id":"r" , "value":"‍ර්" },
+            { "id":"s" , "value":"ස්" },
+            { "id":"t" , "value":"ත්" },
+            { "id":"ṭ" , "value":"ට්" },
+            { "id":"v" , "value":"ව්" },
+            { "id":"y" , "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":"්ē" , "value":"ේ" },
+            { "id":"්o" , "value":"ො" },
+            { "id":"්ō" , "value":"ෝ" },
+            { "id":"්" , "value":"්" },
+            { "id":"aṃ" , "value":"අං" },
+            { "id":"iṃ" , "value":"ඉං" },
+            { "id":"uṃ" , "value":"උං" },
+            { "id":"්a" , "value":"" },
+            { "id":"a" , "value":"අ" },
+            { "id":"ā" , "value":"ආ" },
+            { "id":"i" , "value":"ඉ" },
+            { "id":"ī" , "value":"ඊ" },
+            { "id":"u" , "value":"උ" },
+            { "id":"ū" , "value":"ඌ" },
+            { "id":"e" , "value":"එ" },
+            { "id":"o" , "value":"ඔ" }
+            ];
+
+	let txt = input.toLowerCase();
+
+	try {
+		for (r_to_m_i in char_unicode_to_si) {
+			eval("txt=txt.replace(/" + char_unicode_to_si[r_to_m_i].id + "/g,char_unicode_to_si[r_to_m_i].value);");
+		}
+	} catch (err) {
+		//error
+		alert(err.message);
+	}
+	return txt;
+}

+ 8 - 6
app/public/charcode/myanmar.js

@@ -96,12 +96,14 @@ var char_roman_to_myn = [
 	{ id: "ငော", value: "ငေါ" },
 	{ id: "ဒော", value: "ဒေါ" },
 	{ id: "ပော", value: "ပေါ" },
-	{ id: "ဝော", value: "ဝေါ" },
-	{ id: "ဂာ", value: "ဂါ" }, //g
-	{ id: "ငာ", value: "ငါ" }, //ṅ
-	{ id: "ဒာ", value: "ဒါ" }, //d
-	{ id: "ပာ", value: "ပါ" }, //p
-	{ id: "ဝာ", value: "ဝါ" }, //v
+	{ id: "ဝော", value: "ဝေါ" },//vo
+	{ id: "ဂာ", value: "ဂါ" }, //gā
+	{ id: "ငာ", value: "ငါ" }, //ṅā
+	{ id: "ဒာ", value: "ဒါ" }, //dā
+	{ id: "ပာ", value: "ပါ" }, //pā
+	{ id: "ဝာ", value: "ဝါ" }, //vā
+	{ id: "ဒွာ", value: "ဒွါ" }, //dvā
+	
 ];
 
 var char_myn_to_roman_1 = [

+ 1 - 0
app/public/charcode/sinhala.js

@@ -1220,3 +1220,4 @@ var char_unicode_to_si_n=[
 { "id":"e" , "value":"එ" },
 { "id":"o" , "value":"ඔ" }
 ];
+

+ 11 - 0
app/public/images/favicon/wikipali_hand.svg

@@ -0,0 +1,11 @@
+<svg id="wikipali_without_studio" xmlns="http://www.w3.org/2000/svg"  viewBox="0 0 81 134">
+  <g id="Group_12" data-name="Group 12" transform="translate(-396 -319)">
+    <g id="Group_2" data-name="Group 2" transform="translate(396 319)">
+      <path id="Path_9" data-name="Path 9" d="M127.853,155.309a3.752,3.752,0,0,1-3.753-3.753V138c0-21.139,10.126-33.265,27.786-33.265a3.753,3.753,0,0,1,0,7.506c-13.457,0-20.284,8.666-20.284,25.763V151.56A3.745,3.745,0,0,1,127.853,155.309Z" transform="translate(-75.636 -63.837)" fill="#f1ca23"/>
+      <path id="Path_10" data-name="Path 10" d="M146.943,223.7a3.753,3.753,0,1,1,0-7.506c7.318,0,12.434-9.8,12.434-23.83v-40.3a3.753,3.753,0,0,1,7.506,0v40.3C166.879,214.011,156.866,223.7,146.943,223.7Z" transform="translate(-87.271 -90.392)" fill="#f1ca23"/>
+      <path id="Path_11" data-name="Path 11" d="M86.483,91.472a3.752,3.752,0,0,1-3.753-3.753V3.753a3.753,3.753,0,0,1,7.506,0v83.97A3.751,3.751,0,0,1,86.483,91.472Z" transform="translate(-50.422)" fill="#f1ca23"/>
+      <path id="Path_12" data-name="Path 12" d="M45.113,91.472a3.752,3.752,0,0,1-3.753-3.753V3.753a3.753,3.753,0,0,1,7.506,0v83.97A3.751,3.751,0,0,1,45.113,91.472Z" transform="translate(-25.208)" fill="#f1ca23"/>
+      <path id="Path_13" data-name="Path 13" d="M3.753,91.472A3.752,3.752,0,0,1,0,87.719V3.753a3.753,3.753,0,0,1,7.506,0v83.97A3.756,3.756,0,0,1,3.753,91.472Z" fill="#f1ca23"/>
+    </g>
+  </g>
+</svg>

BIN
app/public/images/favicon/wikipali_without_studio.png


+ 21 - 0
app/public/images/favicon/wikipali_without_studio.svg

@@ -0,0 +1,21 @@
+<svg id="wikipali_without_studio" xmlns="http://www.w3.org/2000/svg"  viewBox="0 0 336.454 134">
+  <g id="Group_12" data-name="Group 12" transform="translate(-396 -319)">
+    <g id="Group_2" data-name="Group 2" transform="translate(396 319)">
+      <g id="Group_1" data-name="Group 1" transform="translate(96.697 30.301)">
+        <path id="Path_1" data-name="Path 1" d="M258.951,153.873a2.9,2.9,0,0,1-1.8-.6,2.8,2.8,0,0,1-1.039-1.543l-8.443-31.183a2.022,2.022,0,0,1-.062-.5,1.673,1.673,0,0,1,.379-1.008,1.6,1.6,0,0,1,1.32-.629h3.023a2.765,2.765,0,0,1,1.765.6,2.869,2.869,0,0,1,1.008,1.543l4.159,17.074q.064.252,1.953,9.954a.113.113,0,0,0,.129.125.112.112,0,0,0,.125-.125q2.267-9.7,2.331-9.954l4.413-17.074a2.908,2.908,0,0,1,2.773-2.14h2.456a2.908,2.908,0,0,1,2.769,2.14l4.534,17.074q.375,1.576,1.164,4.882t1.23,5.073a.112.112,0,0,0,.125.125.206.206,0,0,0,.191-.125q.187-1.136.883-4.569t1.133-5.385l4.034-17.074a2.908,2.908,0,0,1,2.773-2.14H294.8a1.618,1.618,0,0,1,1.324.629,1.772,1.772,0,0,1,.379,1.07,1.99,1.99,0,0,1-.062.441l-8,31.183a2.8,2.8,0,0,1-1.039,1.543,2.876,2.876,0,0,1-1.8.6h-4.413a2.765,2.765,0,0,1-1.765-.6,2.855,2.855,0,0,1-1.008-1.543L274.447,136.3q-.633-2.519-2.2-10.079a.232.232,0,0,0-.223-.125.222.222,0,0,0-.219.125q-1.259,6.678-2.206,10.146l-3.78,15.371a2.855,2.855,0,0,1-1.008,1.543,2.743,2.743,0,0,1-1.765.6h-4.093Z" transform="translate(-247.61 -102.469)" fill="#fff"/>
+        <path id="Path_2" data-name="Path 2" d="M399.972,86.4a4.869,4.869,0,0,1-3.4,1.23,4.758,4.758,0,0,1-3.37-1.23,4.069,4.069,0,0,1-1.32-3.12A4.145,4.145,0,0,1,393.2,80.1a4.752,4.752,0,0,1,3.37-1.23,4.845,4.845,0,0,1,3.4,1.23,4.1,4.1,0,0,1,1.355,3.179A4.027,4.027,0,0,1,399.972,86.4Zm-4.819,43.375a2.254,2.254,0,0,1-2.269-2.269V96.514a2.117,2.117,0,0,1,.66-1.543,2.186,2.186,0,0,1,1.609-.66h2.835a2.193,2.193,0,0,1,1.609.66,2.119,2.119,0,0,1,.664,1.543v30.992a2.26,2.26,0,0,1-2.273,2.269Z" transform="translate(-335.539 -78.37)" fill="#fff"/>
+        <path id="Path_3" data-name="Path 3" d="M445.639,128.994a2.253,2.253,0,0,1-2.269-2.269V79.793a2.13,2.13,0,0,1,.66-1.543,2.186,2.186,0,0,1,1.609-.66h2.71a2.214,2.214,0,0,1,1.609.66,2.115,2.115,0,0,1,.66,1.543v30.871c0,.043.031.062.094.062a.224.224,0,0,0,.16-.062L463.345,95.23a4.484,4.484,0,0,1,3.655-1.7h3.718a.947.947,0,0,1,.914.6.935.935,0,0,1-.156,1.1L461.018,107.7a.409.409,0,0,0,0,.441l12.094,18.96a1.2,1.2,0,0,1,.191.629,1.179,1.179,0,0,1-.191.629,1.1,1.1,0,0,1-1.07.629h-3.589a3.8,3.8,0,0,1-3.4-1.89l-8.318-13.922c-.082-.168-.187-.187-.316-.062l-5.6,6.49a.823.823,0,0,0-.191.5v6.615a2.254,2.254,0,0,1-2.269,2.269h-2.714Z" transform="translate(-366.921 -77.59)" fill="#fff"/>
+        <path id="Path_4" data-name="Path 4" d="M545.4,86.4a4.869,4.869,0,0,1-3.4,1.23,4.752,4.752,0,0,1-3.37-1.23,4.069,4.069,0,0,1-1.32-3.12,4.145,4.145,0,0,1,1.32-3.179A4.758,4.758,0,0,1,542,78.87a4.845,4.845,0,0,1,3.4,1.23,4.1,4.1,0,0,1,1.355,3.179A4.04,4.04,0,0,1,545.4,86.4Zm-4.819,43.375a2.26,2.26,0,0,1-2.273-2.269V96.514a2.106,2.106,0,0,1,.664-1.543,2.186,2.186,0,0,1,1.609-.66h2.835a2.193,2.193,0,0,1,1.609.66,2.115,2.115,0,0,1,.66,1.543v30.992a2.254,2.254,0,0,1-2.269,2.269Z" transform="translate(-424.176 -78.37)" fill="#fff"/>
+        <path id="Path_5" data-name="Path 5" d="M591.075,167.236a2.253,2.253,0,0,1-2.265-2.265V119.612a2.253,2.253,0,0,1,2.265-2.269h1.574a2.488,2.488,0,0,1,1.671.629,2.784,2.784,0,0,1,.914,1.574l.187,1.574c.043.086.094.129.156.129a.234.234,0,0,0,.16-.062q5.67-4.727,10.837-4.725a12.237,12.237,0,0,1,10.364,4.882q3.685,4.885,3.687,13.2a24.893,24.893,0,0,1-1.261,8.1,17.127,17.127,0,0,1-3.4,6.049,15.857,15.857,0,0,1-4.881,3.687,13.081,13.081,0,0,1-5.764,1.324q-4.534,0-9.134-3.843a.077.077,0,0,0-.125,0,.182.182,0,0,0-.062.129l.187,5.8v9.2a2.253,2.253,0,0,1-2.269,2.265h-2.839Zm12.852-19.655a7.724,7.724,0,0,0,6.491-3.433q2.519-3.433,2.519-9.482,0-12.032-8.314-12.032-3.843,0-8.252,4.159a.6.6,0,0,0-.191.441v16.82a.6.6,0,0,0,.191.441A11.6,11.6,0,0,0,603.927,147.581Z" transform="translate(-455.564 -101.28)" fill="#fff"/>
+        <path id="Path_6" data-name="Path 6" d="M697.7,134.522a10.445,10.445,0,0,1-7.529-2.8,10.46,10.46,0,0,1,2.081-16.191q5.008-3.116,15.968-4.378c.168,0,.25-.1.25-.316q-.252-7.428-6.74-7.432a17.534,17.534,0,0,0-8.377,2.456,2.118,2.118,0,0,1-1.64.219,1.987,1.987,0,0,1-1.32-1.039l-.629-1.133a2.339,2.339,0,0,1-.219-1.73,2.015,2.015,0,0,1,1.039-1.355A25.533,25.533,0,0,1,702.994,97.3q6.491,0,9.7,3.905t3.214,11.149v19.089a2.26,2.26,0,0,1-2.273,2.269h-1.574a2.471,2.471,0,0,1-1.668-.629,2.74,2.74,0,0,1-.914-1.574l-.25-1.765c-.043-.082-.094-.129-.16-.129s-.113.043-.156.129Q703.244,134.522,697.7,134.522ZM695.3,90.362a2.253,2.253,0,0,1-2.269-2.269v-.5A2.253,2.253,0,0,1,695.3,85.32h15.433A2.253,2.253,0,0,1,713,87.589v.5a2.253,2.253,0,0,1-2.265,2.269Zm4.663,38.306q3.907,0,8.318-3.909a.681.681,0,0,0,.187-.5v-8.127c0-.211-.082-.293-.25-.25q-7.5.943-10.646,2.866a5.723,5.723,0,0,0-3.152,5.01,4.458,4.458,0,0,0,1.511,3.718A6.324,6.324,0,0,0,699.967,128.668Z" transform="translate(-515.555 -82.301)" fill="#fff"/>
+        <path id="Path_7" data-name="Path 7" d="M796.443,129.811q-3.907,0-5.639-2.331t-1.734-6.807V79.793a2.119,2.119,0,0,1,.664-1.543,2.186,2.186,0,0,1,1.609-.66h2.835a2.208,2.208,0,0,1,1.609.66,2.119,2.119,0,0,1,.664,1.543v41.263a2.744,2.744,0,0,0,1.008,2.519c.082.043.269.148.566.316s.5.293.629.379.293.2.5.344a1.693,1.693,0,0,1,.473.473,1.072,1.072,0,0,1,.156.566l.25,1.386a1.808,1.808,0,0,1,.062.441,2.351,2.351,0,0,1-.379,1.324,1.94,1.94,0,0,1-1.449.945C797.681,129.791,797.072,129.811,796.443,129.811Z" transform="translate(-577.618 -77.59)" fill="#fff"/>
+        <path id="Path_8" data-name="Path 8" d="M845.452,86.4a4.869,4.869,0,0,1-3.4,1.23,4.752,4.752,0,0,1-3.37-1.23,4.069,4.069,0,0,1-1.32-3.12,4.145,4.145,0,0,1,1.32-3.179,4.752,4.752,0,0,1,3.37-1.23,4.845,4.845,0,0,1,3.4,1.23,4.1,4.1,0,0,1,1.355,3.179A4.04,4.04,0,0,1,845.452,86.4Zm-4.819,43.375a2.254,2.254,0,0,1-2.269-2.269V96.514a2.117,2.117,0,0,1,.66-1.543,2.186,2.186,0,0,1,1.609-.66h2.835a2.193,2.193,0,0,1,1.609.66,2.119,2.119,0,0,1,.664,1.543v30.992a2.26,2.26,0,0,1-2.273,2.269Z" transform="translate(-607.05 -78.37)" fill="#fff"/>
+      </g>
+      <path id="Path_9" data-name="Path 9" d="M127.853,155.309a3.752,3.752,0,0,1-3.753-3.753V138c0-21.139,10.126-33.265,27.786-33.265a3.753,3.753,0,0,1,0,7.506c-13.457,0-20.284,8.666-20.284,25.763V151.56A3.745,3.745,0,0,1,127.853,155.309Z" transform="translate(-75.636 -63.837)" fill="#f1ca23"/>
+      <path id="Path_10" data-name="Path 10" d="M146.943,223.7a3.753,3.753,0,1,1,0-7.506c7.318,0,12.434-9.8,12.434-23.83v-40.3a3.753,3.753,0,0,1,7.506,0v40.3C166.879,214.011,156.866,223.7,146.943,223.7Z" transform="translate(-87.271 -90.392)" fill="#f1ca23"/>
+      <path id="Path_11" data-name="Path 11" d="M86.483,91.472a3.752,3.752,0,0,1-3.753-3.753V3.753a3.753,3.753,0,0,1,7.506,0v83.97A3.751,3.751,0,0,1,86.483,91.472Z" transform="translate(-50.422)" fill="#f1ca23"/>
+      <path id="Path_12" data-name="Path 12" d="M45.113,91.472a3.752,3.752,0,0,1-3.753-3.753V3.753a3.753,3.753,0,0,1,7.506,0v83.97A3.751,3.751,0,0,1,45.113,91.472Z" transform="translate(-25.208)" fill="#f1ca23"/>
+      <path id="Path_13" data-name="Path 13" d="M3.753,91.472A3.752,3.752,0,0,1,0,87.719V3.753a3.753,3.753,0,0,1,7.506,0v83.97A3.756,3.756,0,0,1,3.753,91.472Z" fill="#f1ca23"/>
+    </g>
+  </g>
+</svg>

+ 0 - 0
documents/图标.md → app/public/images/图标.md


+ 1 - 1
app/studio/pc_get_word_num.php

@@ -11,7 +11,7 @@ $db_file = _DIR_PALICANON_TEMPLET_ . "/p" . $get_book . "_tpl.db3";
 
 //open database
 PDO_Connect("sqlite:{$db_file}");
-if ($get_par_end == -1 || ($get_par_end - $get_par_begin) > 500) {
+if (($get_par_end == -1 || ($get_par_end - $get_par_begin) > 500) {
     echo "0,0,0,0";
     exit;
 } else {

+ 9 - 1
app/term/note.js

@@ -1855,7 +1855,15 @@ function set_pali_script(pos, script) {
 			.wrap("<pl" + pos + "></pl" + pos + ">");
 
 		$("pl" + pos).html(function (index, oldcontent) {
-			return roman_to_my(oldcontent);
+			switch(script){
+				case "မြန်မာ":
+					return roman_to_my(oldcontent);
+				case "සිංහල":
+					return roman_to_si(oldcontent);
+				default:
+					return(oldcontent);
+			}
+			
 		});
 	}
 }

+ 1 - 1
app/term/term.css

@@ -758,7 +758,7 @@ li.active {
 .sent_tran .preview p {
 	line-height: normal;
 	margin: 0;
-	font-family: "Noto Sans", "Noto Sans", "Noto Sans SC", "Noto Sans TC", "Padauk", "ATaiThamKHNewV1-Normal", "Arial",
+	font-family: "Noto Sans", "Noto Sans", "Noto Sans SC", "Noto Sans TC", "Padauk", "ATaiThamKHNewV3-Normal", "Arial",
 		"Verdana";
 }
 .pop_menu .icon {

+ 2 - 1
app/ucenter/default.json

@@ -21,6 +21,7 @@
 	"dict.blacklist": ["@all", "bhmf"],
 	"lib.first_script": "Roman",
 	"lib.second_script": "none",
-	"lib.pali_script": ["none", "Roman", "မြန်မာ"],
+	"lib.pali_script": ["none", "Roman", "မြန်မာ","සිංහල"],
+	"_lib.pali_script": ["none", "Roman", "မြန်မာ","සිංහල"],
 	"term.template": ["[%mean%](%pali% %mean2% %mymean%)", "[%mean%]", "", ""]
 }

+ 1 - 1
app/ucenter/setting.js

@@ -183,7 +183,7 @@ function setting_paliscript_change(set) {
 function setting_render_paliscript(set) {
 	let html = "";
 	html += "<select id='" + set + "' onchange=\"setting_paliscript_change('" + set + "')\">";
-	for (const iterator of setting["lib.pali_script"]) {
+	for (const iterator of setting["_lib.pali_script"]) {
 		html += "<option value='" + iterator + "'";
 		if (iterator == setting[set]) {
 			html += "selected='selected'";

+ 7 - 6
dashboard/src/pages/index.tsx

@@ -1,9 +1,10 @@
 
 
-export default function IndexPage() {
-  return (
-    <div>
-      <h1>Page index</h1>
-    </div>
-  );
+export default function IndexPage(props) {
+	console.log(props.location)
+	return (
+		<div>
+			<h1>Page index</h1>
+		</div>
+	);
 }

+ 0 - 225
documents/development/functions.md

@@ -1,225 +0,0 @@
-# 说明
-
-本文档是网站页面的功能介绍。每个功能模块包含四个部分的描述:
-
-- 已经实现的功能能
-- 需要完善的功能
-- 尚未实现的功能(目前的需求)
-- 未来可能的发展(后续版本可能添加的功能)
-
-紧迫程度由低到高。
-
-# PCD Suite 设计原则
-
-- **可重用的数据** 从逐词解析到整篇译文。所有的数据应该是可重用的。可重用意味着在技术层面应该存储计算机可辨识的格式的数据。
-
-```
-应该存储
-{
-    word:"citta",
-    grammar:"nt.",
-    meaning:['心','缤纷']
-}
-
-不应存储
-citta:中性 心;缤纷;
-```
-
-- **智能重用** 程序应根据经文类型(经藏或律藏)或其他特征,提供提供不同的数据给用户。或将数据列表按信心指数排序。以减少不必要的人工劳动。
-- **公共版权** 有版权的信息与前两条原则违背。所以,一切在本平台公开的数据都应使用公共版权。
-- **平等的发言权** 每个平台的使用者都有权发表自己的观点。平台不应以官方的角度用人工的方式评价观点的正确性或给予排名靠前或靠后的操作。但是平台应该记录和向所有人提供统计数据,如:信息发布者的使用经验数值(使用平台时间,发表信息量,被点赞量等),阅读者的阅读数据(阅读量,收藏量)供阅读者自己判断信息的可用性。没有实质内容的信息(如:“很好”;“太差了”等)将对读者造成困扰,增加读者搜寻有用信息的时间。管理员应根据判定规则,将信息隐藏。在读者选择“查看隐藏的内容”时展示。
-
-# 程序架构设计
-
-- 除了对安全性和性能要求较高的部分以外。业务逻辑应尽量放在前端。
-- 所有前端业务逻辑功能应该由扩展(extension)提供。
-- 系统应提供可扩展的内核框架。供扩展调用。以实现相关功能及业务逻辑。
-- 扩展可由本软件的编写者或其他人创建和维护。
-- 任何人创建的扩展无需通过 pr 挂接系统。
-- 任何人创建的扩展应该由创建者在平台上注册和上传,供用户自行选择使用。
-- 平台的创建者应提供最基本的扩展。
-- 所有后端功能不使用公开上传的方式扩展功能。应使用 pr and review 方式。
-- 扩展程序只能包含 js css setting.json 和少量图片
-
-# 平台结构 map
-
-- 藏经阁-Libray
-  - 首页
-  - 课程
-  - 三藏
-  - 字典
-  - 搜索
-  - 个人空间
-- 译经楼-Studio
-  - 三藏分类
-  - 我的文档(最近打开)
-  - 协作文档
-  - 群组管理
-  - 课程管理
-  - 单词本
-  - 百科词条
-  - 统计数据
-- 用户中心- User Center
-  - 注册
-  - 登陆
-  - 个性化设置
-- 实用工具
-  - 佛历
-  - 圣典编码转换
-- 后台管理
-  - 栏目管理
-  - 用户管理
-  - 数据表管理
-
-# 藏经阁-Libray
-
-## 首页
-
-www.wikipali.org
-
-### 已经实现的功能能
-
-- 最新课程列表
-- 最新百科词条列表
-
-### 需要完善的功能
-
-#### 最新课程列表
-
-- 返回数量是写死的。应该在栏目后台里可以设置。
-
-### 尚未实现的功能(目前的需求)
-
-- **最新课程列表**-报名数字显示和报名功能
-
-- 最新三藏译文列表
-
-- 手机版 css
-  - 写不同的 css 在手机端和 pc 看到不同的页面。
-  - 不一定用 css 切换,可以使用不同的技术实现方式。
-
-### 未来可能的发展
-
-- 实现类似 tweet 的文章推荐功能。根据用户阅读行为推荐不同类型和内容的文章。
-- 文章类型
-  - 逐词解析单词
-  - 词典词条
-  - 百科词条
-  - 句子
-  - 段落
-  - 章节
-- 文章属性标签
-  - 译文
-  - 新手试验田
-  - 雅正(希望大家提修改意见)
-  - 求助
-- 应用场景
-  - 当有学习者不知道某个词的拆分,他在编辑器(studio)中单词的位置选择“求助”按钮。会发布一个带有“求助”标签的“逐词解析”类型的文章。某老师或网友看到求助文章,可以以跟帖的方式回答。
-  - 某人翻译了一篇经文。希望大家给个修改意见。他在编辑器(studio)中标题的位置选择“发布”按钮,发布带有“雅正;译文;”标签的“段落”类型的文章。某老师或网友看到文章,可以以跟帖的方式回答。
-
-## 三藏分类
-
-www.wikipali.org/palicanon
-
-### 已经实现的功能能
-
-- 章节标签过滤
-- 在阅读器中打开章节
-
-### 需要完善的功能
-
-### 尚未实现的功能(目前的需求)
-
-### 未来可能的发展
-
-## 课程
-
-### 已经实现的功能能
-
-### 需要完善的功能
-
-### 尚未实现的功能(目前的需求)
-
-### 未来可能的发展
-
-## 百科
-
-### 已经实现的功能能
-
-### 需要完善的功能
-
-### 尚未实现的功能(目前的需求)
-
-### 未来可能的发展
-
-## 字典
-
-## 标题搜索
-
-## 全文搜索
-
-## 黑体字搜索
-
-## 经典阅读器
-
-# 译经楼 Studio
-
-## 欢迎页
-
-## 经文选择
-
-## 最近打开
-
-## 协作
-
-## 课程管理
-
-## 用户字典管理
-
-## 百科字典管理
-
-## 工作组管理
-
-# 用户中心
-
-## 登录
-
-## 注册
-
-## 用户设置
-
-# 网站后台管理
-
-## 栏目管理
-
-### 首页
-
-### 三藏
-
-### 课程
-
-### 百科
-
-### 字典
-
-### 搜索
-
-### 阅读器
-
-### 用户管理
-
-#### 修改权限
-
-#### 禁用账号
-
-### 数据表管理
-
-#### 查看
-
-#### 统计
-
-#### 添加
-
-#### 删除
-
-# 数据表与模块关系

+ 0 - 0
documents/about.md → documents/readme.md


+ 0 - 0
documents/zh/api/channel.md


+ 50 - 0
documents/zh/api/course.md

@@ -0,0 +1,50 @@
+# Course课程
+
+## Table
+
+```
+CREATE TABLE course 
+( 
+    id SERIAL PRIMARY KEY, 
+    cover BYTEA, 
+    title VARCHAR(32) NOT NULL, 
+    subtitle VARCHAR(32),
+    summary VARCHAR(255),
+    teacher UUID NOT NULL, 
+    tag VARCHAR(255), 
+    lang VARCHAR (8), 
+    speech_lang VARCHAR (8), 
+    status INTEGER, 
+    lesson_num INTEGER, 
+    creator UUID NOT NULL, 
+    create_time INTEGER, 
+    update_time INTEGER, 
+    delete_time INTEGER , 
+    content TEXT
+)
+```
+
+```
+CREATE TABLE 'lesson' 
+( 
+    id SERIAL PRIMARY KEY, 
+    course_id INTEGER,
+    title VARCHAR(32) NOT NULL, 
+    subtitle VARCHAR(32), 
+    creator CHAR (36), 
+    tag VARCHAR(255), 
+    summary VARCHAR(255), 
+    status INTEGER, 
+    cover BYTEA, 
+    teacher UUID NOT NULL, 
+    lang VARCHAR (8), 
+    speech_lang VARCHAR (8), 
+    create_time INTEGER, 
+    modify_time INTEGER, 
+    receive_time INTEGER , 
+    'date' INTEGER, 
+    'duration' INTEGER, 
+    'content' TEXT
+)
+
+```

+ 0 - 0
documents/zh/api/dict.md


+ 0 - 0
documents/zh/api/group.md


+ 7 - 9
documents/zh/palicanon.md → documents/zh/api/palicanon.md

@@ -1,20 +1,18 @@
-# 主题:Palicanon-巴利三藏 
+# 主题:语料库
 
-## API
-
-### book_tag.php
-
-#### 功能
+## 用标签查段落
+> 参照:book_tag.php
+### 功能
 根据输入标签,输出符合这个标签的标题
-#### 参数
+### 参数
 - GET
 - `tag` 以逗号分隔的标签字符串
 - `lang`  语言 如 en, zh-hans
   
-#### rest api
+### rest api
     api/palicanon/[lang]/[tag]
 
-#### 返回
+### 返回
 
 格式:json
 ```

+ 29 - 0
documents/zh/api/readme.md

@@ -0,0 +1,29 @@
+# 后端开发文档
+## 开发环境
+- golang
+- PostgreSQL
+- Redis
+- ES
+
+给vscode用的go
+```
+sudo apt install yarnpkg golang-go
+```
+## 文档资源
+
+
+## 依赖
+https://github.com/go-redis/redis
+
+
+## 目录
+* [版本](channel.md)
+* [课程](course.md)
+* [字典](dict.md)
+* [工作组](group.md)
+* [语料库](palicanon.md)
+* [术语](term.md)
+* [译文](translation.md)
+* [用户管理](user.md)
+* [逐词解析](wbw.md)
+* [全文搜索](search.md)

+ 0 - 0
documents/zh/api/search.md


+ 0 - 0
documents/zh/api/term.md


+ 0 - 0
documents/zh/api/translation.md


+ 65 - 0
documents/zh/api/user.md

@@ -0,0 +1,65 @@
+## 用户认证
+### user
+用户信息
+```
+CREATE TABLE user_info (
+    id           INTEGER    PRIMARY KEY AUTOINCREMENT,
+    userid       TEXT       UNIQUE,
+    path         CHAR (36),
+    username     TEXT (64)  NOT NULL,
+    password     TEXT       NOT NULL,
+    nickname     TEXT (64)  NOT NULL,
+    email        TEXT (256),
+    create_time  INTEGER,
+    modify_time  INTEGER,
+    receive_time INTEGER,
+    setting      TEXT
+);
+```
+#### `id`
+INTEGER 唯一自增id 
+#### `userid`
+CHAR (36)  uuid
+#### `path`
+CHAR (36) 用户在服务器上私有文件的路径
+#### `username`
+TEXT (64) 用户登录名
+#### `password`
+TEXT 密码 md5加密
+#### `nickname`
+TEXT (64) 昵称
+#### `email`
+TEXT (256) 电邮地址
+#### create_time
+INTEGER 账户建立时间
+#### `modify_time`
+INTEGER 数据修改时间
+#### `receive_time`
+INTEGER 服务器收到此数据时间
+#### `setting`
+TEXT 用户设置 json 数据
+
+### profile
+用户简历
+```
+CREATE TABLE user_profile (
+    id        INTEGER   PRIMARY KEY AUTOINCREMENT,
+    user_id   CHAR (36),
+    bio       TEXT,
+    lang      CHAR (8),
+    isdefault INTEGER,
+    email     TEXT
+);
+```
+#### `id`
+INTEGER 唯一自增id 
+#### `user_id`
+CHAR (36)  uuid
+#### `bio`
+TEXT 
+#### `lang`
+简介语言,一个用户可以建立多个语言版本的简历。用户的显示与用户的语言设置有关。不能匹配到相同语言时,匹配相同语族,还是不行,就显示默认记录。
+#### `isdefault`
+是否是默认记录。
+#### `email`
+电邮地址

+ 61 - 0
documents/zh/api/wbw.md

@@ -0,0 +1,61 @@
+## 逐词解析
+### wbw_block
+```
+CREATE TABLE wbw_block (
+    id             UUID    PRIMARY KEY,
+    parent_id      UUID,
+    channal        UUID,
+    parent_channel UUID,
+    owner          UUID,
+    book           INTEGER,
+    paragraph      INTEGER,
+    style          VARCHAR (16),
+    lang           VARCHAR (8),
+    status         INTEGER,
+    update_time  INTEGER,
+    delete_time  INTEGER,
+    create_time  INTEGER
+);
+```
+#### `parent_id`
+上游id
+#### `channal`
+channel
+#### `parent_channel`
+从哪个channel 复制的
+#### `owner`
+最初拥有者
+#### `book`
+书号
+#### 'paragraph'
+段落号
+
+
+### wbw-data
+```
+CREATE TABLE wbw_data (
+    id           UUID PRIMARY KEY,
+    block_id     UUID,
+    book         INTEGER,
+    paragraph    INTEGER,
+    wid          INTEGER,
+    word         TEXT,
+    data         XML,
+    status       INTEGER,
+    owner        UUID,
+    update_time  INTEGER,
+    delete_time  INTEGER,
+    create_time  INTEGER
+);
+
+```
+#### `block_id`
+与wbw_block表关联的字段
+#### `data`
+单词数据 xml格式
+
+### API
+GET api/wbw/:channel/:book/:para/
+PUT api/wbw/:channel/:book/:para/
+POST api/wbw/:channel/:book/:para/
+DELETE api/wbw/:channel/:book/:para/

+ 0 - 1
documents/zh/course.md

@@ -1 +0,0 @@
-# API

+ 0 - 0
documents/zh/dashboard/auth.md


+ 0 - 0
documents/zh/dashboard/collection.md


+ 1 - 0
documents/zh/dashboard/course.md

@@ -0,0 +1 @@
+# 课程栏目前端设计

+ 0 - 0
documents/zh/dashboard/dict.md


+ 0 - 0
documents/zh/dashboard/home.md


+ 1 - 0
documents/zh/dashboard/myzone.md

@@ -0,0 +1 @@
+# 个人空间

+ 23 - 0
documents/zh/dashboard/palicanon.md

@@ -0,0 +1,23 @@
+# 三藏经文选择
+
+## 功能一览
+- 利用标签选择三藏经文
+- 根据用户界面语言设定显示相应的标题语言
+- 在服务器端记录用户浏览历史并在页面显示
+- 点击书或章节名称打开[经文阅读界面](reader.md)
+- 显示最新更新列表
+- 作者过滤
+
+> 注意:章节只显示到第一个层级
+
+## 公共组件
+- 网站导航
+- 网站页脚
+
+## 标签选择三藏经文
+以列表和书封面两种模式显示所选择的经文。
+
+## 阅读历史记录
+## 最新更新
+以列表
+## 贡献者列表

+ 5 - 0
documents/zh/dashboard/public.md

@@ -0,0 +1,5 @@
+# 公共组件与资源
+
+## 网站导航组件
+
+## 网站页脚组件

+ 231 - 0
documents/zh/dashboard/readme.md

@@ -0,0 +1,231 @@
+# 说明
+
+本文档是网站页面的前端设计文档
+
+
+# 开发环境
+- React
+- Umijs
+- Ant Design
+- Type Script
+
+
+# 网站地图
+```mermaid
+graph LR;
+
+subgraph 藏经阁
+home(藏经阁首页) --> palicanon(圣典)
+home --> course(课程)
+home --> dict(字典)
+home --> collection(文集)
+home --> term(术语百科)
+collection --> article(文章)
+article --> article-reader(文章阅读器)
+dict -->|嵌入| reader
+dict -->|嵌入| article-reader
+palicanon --> reader(阅读器)
+term -->|嵌入| reader
+
+end
+
+subgraph 译经楼
+studio(译经楼首页) --> pali(经文选择)
+studio --> filelist("逐词解析<br>编辑历史记录")
+filelist --> wbw(逐词解析)
+studio --> course1(课程管理)
+studio --> channel(版本管理)
+studio --> group(群组)
+studio --> article1(文章管理)
+studio --> collection1(文集管理)
+end
+
+home -->studio
+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
+
+## 首页
+
+www.wikipali.org
+
+### 已经实现的功能能
+
+- 最新课程列表
+- 最新百科词条列表
+
+### 需要完善的功能
+
+#### 最新课程列表
+
+- 返回数量是写死的。应该在栏目后台里可以设置。
+
+### 尚未实现的功能(目前的需求)
+
+- **最新课程列表**-报名数字显示和报名功能
+
+- 最新三藏译文列表
+
+- 手机版 css
+  - 写不同的 css 在手机端和 pc 看到不同的页面。
+  - 不一定用 css 切换,可以使用不同的技术实现方式。
+
+### 未来可能的发展
+
+- 实现类似 tweet 的文章推荐功能。根据用户阅读行为推荐不同类型和内容的文章。
+- 文章类型
+  - 逐词解析单词
+  - 词典词条
+  - 百科词条
+  - 句子
+  - 段落
+  - 章节
+- 文章属性标签
+  - 译文
+  - 新手试验田
+  - 雅正(希望大家提修改意见)
+  - 求助
+- 应用场景
+  - 当有学习者不知道某个词的拆分,他在编辑器(studio)中单词的位置选择“求助”按钮。会发布一个带有“求助”标签的“逐词解析”类型的文章。某老师或网友看到求助文章,可以以跟帖的方式回答。
+
+
+## 三藏分类
+
+www.wikipali.org/palicanon
+
+### 已经实现的功能能
+
+- 章节标签过滤
+- 在阅读器中打开章节
+
+### 需要完善的功能
+
+### 尚未实现的功能(目前的需求)
+
+### 未来可能的发展
+
+## 课程
+
+### 已经实现的功能能
+
+### 需要完善的功能
+
+### 尚未实现的功能(目前的需求)
+
+### 未来可能的发展
+
+## 百科
+
+### 已经实现的功能能
+
+### 需要完善的功能
+
+### 尚未实现的功能(目前的需求)
+
+### 未来可能的发展
+
+## 字典
+
+## 标题搜索
+
+## 全文搜索
+
+## 黑体字搜索
+
+## 经典阅读器
+
+# 译经楼 Studio
+
+## 欢迎页
+
+## 经文选择
+
+## 最近打开
+
+## 协作
+
+## 课程管理
+
+## 用户字典管理
+
+## 百科字典管理
+
+## 工作组管理
+
+# 用户中心
+
+## 登录
+
+## 注册
+
+## 用户设置
+
+# 网站后台管理
+
+## 栏目管理
+
+### 首页
+
+### 三藏
+
+### 课程
+
+### 百科
+
+### 字典
+
+### 搜索
+
+### 阅读器
+
+### 用户管理
+
+#### 修改权限
+
+#### 禁用账号
+
+### 数据表管理
+
+#### 查看
+
+#### 统计
+
+#### 添加
+
+#### 删除
+
+# 数据表与模块关系

+ 0 - 0
documents/zh/dashboard/stu_course.md


+ 0 - 0
documents/zh/dashboard/stu_dict.md


+ 0 - 0
documents/zh/dashboard/stu_doc.md


+ 0 - 0
documents/zh/dashboard/stu_group.md


+ 0 - 0
documents/zh/dashboard/stu_term.md


+ 0 - 0
documents/zh/dashboard/studio.md


+ 0 - 0
documents/zh/dashboard/term.md


+ 0 - 61
documents/zh/database.md

@@ -1,61 +0,0 @@
-# 数据库指南
-
-## 语料库
-
-## 字典
-
-
-## 用户认证
-### userinfo
-
-#### `id`
-INTEGER 唯一自增id 
-#### `userid`
-CHAR (36)  uuid
-#### `path`
-CHAR (36) 用户在服务器上私有文件的路径
-#### `username`
-TEXT (64) 用户登录名
-#### `password`
-TEXT 密码 md5加密
-#### `nickname`
-TEXT (64) 昵称
-#### `email`
-TEXT (256) 电邮地址
-#### create_time
-INTEGER 账户建立时间
-#### `modify_time`
-INTEGER 数据修改时间
-#### `receive_time`
-INTEGER 服务器收到此数据时间
-#### `setting`
-TEXT 用户设置 json 数据
-
-### projile
-用户简历
-#### `id`
-INTEGER 唯一自增id 
-#### `user_id`
-CHAR (36)  uuid
-#### `bio`
-TEXT 
-
-## 用户字典
-
-## 逐词解析
-
-## 译文
-
-
-## 工作组
-
-
-## Channel
-
-
-## 文章
-
-
-## 权限管理
-
-

+ 9 - 0
documents/zh/db/readme.md

@@ -0,0 +1,9 @@
+# 数据库
+
+## 语料库
+
+## 字典
+
+
+
+

+ 0 - 0
documents/zh/deploy/语料库.md


+ 19 - 1
documents/zh/readme.md

@@ -1 +1,19 @@
-# 欢迎来到 wikipali
+# wikipali 开发文档
+
+## 概述
+## 价值观
+- **可重用的数据** 从逐词解析到整篇译文。所有的数据应该是可重用的。可重用意味着在技术层面应该存储计算机可辨识的格式的数据。
+- **智能重用** 程序应根据经文类型(经藏或律藏)或其他特征,提供提供不同的数据给用户。或将数据列表按信心指数排序。以减少不必要的人工劳动。
+- **公共版权** 有版权的信息与前两条原则违背。所以,一切在本平台公开的数据都应使用公共版权。
+- **平等的发言权** 每个平台的使用者都有权发表自己的观点。平台不应以官方的角度用人工的方式评价观点的正确性或给予排名靠前或靠后的操作。但是平台应该记录和向所有人提供统计数据,如:信息发布者的使用经验数值(使用平台时间,发表信息量,被点赞量等),阅读者的阅读数据(阅读量,收藏量)供阅读者自己判断信息的可用性。没有实质内容的信息(如:“很好”;“太差了”等)将对读者造成困扰,增加读者搜寻有用信息的时间。管理员应根据判定规则,将信息隐藏。在读者选择“查看隐藏的内容”时展示。
+
+## 开发文档包含
+
+* [API 接口](api/readme.md)
+* [前端文档](dashboard/readme.md)
+* [数据库设计](db/readme.md)
+* [运维](deploy/readme.md)
+
+git commit message格式 请参见https://gitmoji.dev/
+
+用户手册请参考https://github.com/iapt-platform/help.zh-hans

+ 4 - 0
documents/zh/summary.md

@@ -0,0 +1,4 @@
+* [API 接口](api/readme.md)
+* [前端文档]](dashboard/readme.md)
+* [数据库设计]](db/readme.md)
+* [运维]](deploy/readme.md)

+ 0 - 47
documents/功能完善列表.md

@@ -1,47 +0,0 @@
-# 功能列表
-
-```mermaid
-graph LR;
-subgraph 首页
-A(帮助页面);
-end
-subgraph 逐词译
-B1(查词结果智能排序)
-B2(计算公式)-->B1
-B3(拼写)-->B2
-B4(值)-->B2
-B5(类型)-->B2
-B6(书号)-->B2
-B7(段落号)-->B2
-B8(贡献者)-->B2
-
-B11(编辑框bug)
-B11(编辑框bug)-->B12(拆分意思联动)
-end
-subgraph studio译文
-C1(历史功能)
-C2(译文隐私状态)-->C3
-C3(公开)
-C2-->C4(链接)
-C2-->C5(私密)
-C4-->C6(可见范围)
-C7(默认前N个channal)
-C8(消息收发)
-C9(自动术语)
-end
-subgraph 术语
-D1(外部添加)
-D2(外部修改)
-end
-subgraph 文章文集
-F1(协作)-->F2(历史)
-F3(优化导入操作)
-F4(拖拽混排)
-end
-subgraph 阅读器
-E1(添加字典功能)
-E2(加载范围)
-E2-->E3(黑体数字)
-end
-
-```