fix: Migrating project to the new Gitea Host.

main
KyMAN 3 months ago
parent 3b89a8fc44
commit 9aa3d5b66c
  1. 14
      .gitignore
  2. BIN
      Artbook/AnP_telegram.png
  3. 353
      Artbook/AnPv1.svg
  4. BIN
      Artbook/AnPv1.xcf
  5. 68
      Artbook/images.svg
  6. BIN
      Artbook/images.xcf
  7. 4
      Dockerfile
  8. 80
      HTML/app.html
  9. 182
      HTML/base.anp.html
  10. 112
      JSON/AnP.php.routes.json
  11. 103
      JSON/AnP.php.settings.json
  12. 7
      JSON/AnP.py.routes.json
  13. 74
      JSON/AnP.py.settings.json
  14. 3
      JSON/AnP.routes.globals.json
  15. 3
      JSON/I18N/PHP/AnP.php.i18n.english.json
  16. 3
      JSON/I18N/PHP/AnP.php.i18n.espanol.json
  17. 3
      JSON/I18N/PHP/AnP.php.i18n.galego.json
  18. 86
      JSON/I18N/Python/AnP.py.i18n.alarabiyah.json
  19. 90
      JSON/I18N/Python/AnP.py.i18n.azerbaycanca.json
  20. 95
      JSON/I18N/Python/AnP.py.i18n.catala.json
  21. 86
      JSON/I18N/Python/AnP.py.i18n.cestina.json
  22. 90
      JSON/I18N/Python/AnP.py.i18n.dansk.json
  23. 94
      JSON/I18N/Python/AnP.py.i18n.deutsch.json
  24. 90
      JSON/I18N/Python/AnP.py.i18n.ellinika.json
  25. 90
      JSON/I18N/Python/AnP.py.i18n.english.json
  26. 113
      JSON/I18N/Python/AnP.py.i18n.espanol.json
  27. 86
      JSON/I18N/Python/AnP.py.i18n.esperanto.json
  28. 86
      JSON/I18N/Python/AnP.py.i18n.farsi.json
  29. 90
      JSON/I18N/Python/AnP.py.i18n.francais.json
  30. 90
      JSON/I18N/Python/AnP.py.i18n.gaeilge.json
  31. 86
      JSON/I18N/Python/AnP.py.i18n.hangugeo.json
  32. 86
      JSON/I18N/Python/AnP.py.i18n.hindi.json
  33. 86
      JSON/I18N/Python/AnP.py.i18n.indonesia.json
  34. 90
      JSON/I18N/Python/AnP.py.i18n.italiano.json
  35. 86
      JSON/I18N/Python/AnP.py.i18n.ivrit.json
  36. 90
      JSON/I18N/Python/AnP.py.i18n.magyar.json
  37. 86
      JSON/I18N/Python/AnP.py.i18n.nederlands.json
  38. 86
      JSON/I18N/Python/AnP.py.i18n.nihongo.json
  39. 86
      JSON/I18N/Python/AnP.py.i18n.polski.json
  40. 90
      JSON/I18N/Python/AnP.py.i18n.portugues.json
  41. 86
      JSON/I18N/Python/AnP.py.i18n.russkiy.json
  42. 90
      JSON/I18N/Python/AnP.py.i18n.slovencina.json
  43. 86
      JSON/I18N/Python/AnP.py.i18n.suomi.json
  44. 90
      JSON/I18N/Python/AnP.py.i18n.svenska.json
  45. 86
      JSON/I18N/Python/AnP.py.i18n.thai.json
  46. 86
      JSON/I18N/Python/AnP.py.i18n.turkce.json
  47. 86
      JSON/I18N/Python/AnP.py.i18n.ukrainska.json
  48. 86
      JSON/I18N/Python/AnP.py.i18n.zhongwen.json
  49. 1461
      MariaDB/AnP.1.10.common.my.sql
  50. 656
      MariaDB/AnP.1.11.initial_data.my.sql
  51. 603
      MariaDB/AnP.1.12.errors.my.sql
  52. 550
      MariaDB/AnP.1.13.initial_sessions.my.sql
  53. 45
      MariaDB/AnP.4.20.base.my.sql
  54. 102
      MariaDB/AnP.5.01.users/AnP.5.01.users.01.builder.my.sql
  55. 106
      MariaDB/AnP.5.01.users/AnP.5.01.users.02.triggers.my.sql
  56. 89
      MariaDB/AnP.5.01.users/AnP.5.01.users.03.plains.my.sql
  57. 71
      MariaDB/AnP.5.01.users/AnP.5.01.users.04.view.my.sql
  58. 51
      MariaDB/AnP.5.01.users/AnP.5.01.users.05.list.my.sql
  59. 97
      MariaDB/AnP.5.01.users/AnP.5.01.users.07.insert.my.sql
  60. 19
      MariaDB/AnP.5.01.users/AnP.5.01.users.08.validate.my.sql
  61. 41
      MariaDB/AnP.5.01.users/AnP.5.01.users.09.load.my.sql
  62. 116
      MariaDB/AnP.5.01.users/AnP.5.01.users.10.edit.my.sql
  63. 59
      MariaDB/AnP.5.01.users/AnP.5.01.users.11.delete.my.sql
  64. 57
      MariaDB/AnP.5.01.users/AnP.5.01.users.12.deleted.my.sql
  65. 67
      MariaDB/AnP.5.01.users/AnP.5.01.users.13.undelete.my.sql
  66. 55
      MariaDB/AnP.5.01.users/AnP.5.01.users.14.history.my.sql
  67. 98
      MariaDB/AnP.5.01.users/AnP.5.01.users.15.restore.my.sql
  68. 66
      MariaDB/AnP.5.01.users/AnP.5.01.users.50.password.my.sql
  69. 109
      MariaDB/AnP.5.02.groups/AnP.5.02.groups.01.builder.my.sql
  70. 109
      MariaDB/AnP.5.02.groups/AnP.5.02.groups.02.triggers.my.sql
  71. 90
      MariaDB/AnP.5.02.groups/AnP.5.02.groups.03.plains.my.sql
  72. 74
      MariaDB/AnP.5.02.groups/AnP.5.02.groups.04.view.my.sql
  73. 51
      MariaDB/AnP.5.02.groups/AnP.5.02.groups.05.list.my.sql
  74. 92
      MariaDB/AnP.5.02.groups/AnP.5.02.groups.07.insert.my.sql
  75. 19
      MariaDB/AnP.5.02.groups/AnP.5.02.groups.08.validate.my.sql
  76. 41
      MariaDB/AnP.5.02.groups/AnP.5.02.groups.09.load.my.sql
  77. 99
      MariaDB/AnP.5.02.groups/AnP.5.02.groups.10.edit.my.sql
  78. 59
      MariaDB/AnP.5.02.groups/AnP.5.02.groups.11.delete.my.sql
  79. 57
      MariaDB/AnP.5.02.groups/AnP.5.02.groups.12.deleted.my.sql
  80. 54
      MariaDB/AnP.5.02.groups/AnP.5.02.groups.13.undelete.my.sql
  81. 55
      MariaDB/AnP.5.02.groups/AnP.5.02.groups.14.history.my.sql
  82. 146
      MariaDB/AnP.5.02.groups/AnP.5.02.groups.15.restore.my.sql
  83. 60
      MariaDB/AnP.5.03.emails/AnP.5.03.emails.01.builder.my.sql
  84. 34
      MariaDB/AnP.5.03.emails/AnP.5.03.emails.02.view.my.sql
  85. 51
      MariaDB/AnP.5.03.emails/AnP.5.03.emails.03.list.my.sql
  86. 19
      MariaDB/AnP.5.03.emails/AnP.5.03.emails.06.validate.my.sql
  87. 95
      MariaDB/AnP.5.04.ips/AnP.5.04.ips.01.builder.my.sql
  88. 103
      MariaDB/AnP.5.04.ips/AnP.5.04.ips.02.triggers.my.sql
  89. 88
      MariaDB/AnP.5.04.ips/AnP.5.04.ips.03.plains.my.sql
  90. 58
      MariaDB/AnP.5.04.ips/AnP.5.04.ips.04.view.my.sql
  91. 51
      MariaDB/AnP.5.04.ips/AnP.5.04.ips.05.list.my.sql
  92. 19
      MariaDB/AnP.5.04.ips/AnP.5.04.ips.08.validate.my.sql
  93. 55
      MariaDB/AnP.5.04.ips/AnP.5.04.ips.14.history.my.sql
  94. 76
      MariaDB/AnP.5.04.ips/AnP.5.04.ips.15.restore.my.sql
  95. 61
      MariaDB/AnP.5.04.ips/AnP.5.04.ips.50.accessible.my.sql
  96. 95
      MariaDB/AnP.5.05.permissions/AnP.5.05.permissions.01.builder.my.sql
  97. 103
      MariaDB/AnP.5.05.permissions/AnP.5.05.permissions.02.triggers.my.sql
  98. 88
      MariaDB/AnP.5.05.permissions/AnP.5.05.permissions.03.plains.my.sql
  99. 68
      MariaDB/AnP.5.05.permissions/AnP.5.05.permissions.04.view.my.sql
  100. 51
      MariaDB/AnP.5.05.permissions/AnP.5.05.permissions.05.list.my.sql
  101. Some files were not shown because too many files have changed in this diff Show More

14
.gitignore vendored

@ -0,0 +1,14 @@
PHP/AnP.Secrets.php
Public/data
AnP.apache2.conf
Public/dev
Public/es
Public/index.html
JSON/html.files.json
JSON/AnP.php.settings.*.json
JSON/AnP.php.routes.*.json
JSON/AnP.py.settings.*.json
JSON/AnP.py.routes.*.json
Tools/Secrets*
Data
Tools/.sass-cache

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

@ -0,0 +1,353 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="200mm"
height="200mm"
viewBox="0 0 200 200"
version="1.1"
id="svg8"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
sodipodi:docname="AnPv1.svg">
<style
id="style833"></style>
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="403.71853"
inkscape:cy="404.92376"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="1912"
inkscape:window-y="-8"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Capa 1"
inkscape:groupmode="layer"
id="layer1"
style="display:none"
sodipodi:insensitive="true">
<path
id="path835"
style="opacity:0.996;fill:#000000;stroke-width:5.72927;stroke-linecap:round;stroke-linejoin:round"
d="M 264.56641,0 A 264.56693,264.56693 0 0 0 0,264.56641 H 37.794922 A 226.77165,226.77165 0 0 1 264.18555,37.794922 a 226.77165,226.77165 0 0 1 0.38086,0 z"
transform="scale(0.26458333)" />
<path
id="path835-2"
style="opacity:0.996;fill:#000000;stroke-width:1.51587;stroke-linecap:round;stroke-linejoin:round"
d="m 0,130 a 70,70 0 0 0 69.99987,69.99987 v -9.99991 a 59.999999,59.999999 0 0 1 -59.9999601,-59.89919 59.999999,59.999999 0 0 1 0,-0.10077 z" />
<path
id="path835-6"
style="opacity:0.996;fill:#000000;stroke-width:1.51587;stroke-linecap:round;stroke-linejoin:round"
d="m 130,199.99987 a 70,70 0 0 0 69.99987,-69.99986 h -9.99991 a 59.999999,59.999999 0 0 1 -59.89919,59.99995 59.999999,59.999999 0 0 1 -0.10077,0 z" />
<path
id="path835-2-7"
style="opacity:0.996;fill:#000000;stroke-width:1.51587;stroke-linecap:round;stroke-linejoin:round"
d="M 199.99987,69.99987 A 70,70 0 0 0 130,0 v 9.99991 a 59.999999,59.999999 0 0 1 59.99996,59.89919 59.999999,59.999999 0 0 1 0,0.10077 z" />
<path
sodipodi:type="star"
style="opacity:0.996;fill:#000000;stroke-width:0.829;stroke-linecap:round;stroke-linejoin:round"
id="path909-2"
sodipodi:sides="3"
sodipodi:cx="71.8955"
sodipodi:cy="79.111778"
sodipodi:r1="39.848263"
sodipodi:r2="19.924133"
sodipodi:arg1="0.51165873"
sodipodi:arg2="1.5588563"
inkscape:flatsided="true"
inkscape:rounded="0"
inkscape:randomized="0"
d="M 106.64054,98.622453 37.626242,99.446526 71.419721,39.266356 Z"
inkscape:transform-center-x="-4.9775112"
inkscape:transform-center-y="-0.016887793"
transform="matrix(-0.00696336,0.43462046,-0.50129215,-0.00603725,175.18124,34.247249)" />
<rect
style="fill:#000000;fill-rule:evenodd;stroke-width:0.236261"
id="rect926"
width="10"
height="60"
x="0"
y="70" />
<rect
style="fill:#000000;fill-rule:evenodd;stroke-width:0.236261"
id="rect926-2"
width="10"
height="60"
x="190"
y="70" />
<path
id="path943"
style="opacity:0.996;fill:#000000;stroke-width:0.792813;stroke-linecap:round;stroke-linejoin:round"
d="M 90.000039,50.079065 A 19.999999,19.999999 0 0 0 109.99985,69.999814 V 59.999908 A 10,10 0 0 1 99.999943,50 h -9.999904 a 19.999999,19.999999 0 0 0 0,0.07906 z" />
<path
id="rect926-2-8"
style="fill:#000000;fill-rule:evenodd;stroke-width:0.236261"
d="m 96.457372,0 a 40.000287,40.000367 0 0 1 8.183998,9.9999063 h 20.35845 V 0 Z" />
<path
id="path943-4"
style="opacity:0.996;fill:#000000;stroke-width:0.792813;stroke-linecap:round;stroke-linejoin:round"
d="M 99.99982,19.920747 A 20,20 0 0 0 80,0 v 9.999905 a 10,10 0 0 1 9.999911,9.999912 h 9.999909 a 20,20 0 0 0 0,-0.0791 z" />
<rect
style="fill:#000000;fill-rule:evenodd;stroke-width:0.264583"
id="rect1056"
width="5.0001798"
height="9.9999104"
x="124.99982"
y="0" />
<rect
style="fill:#000000;fill-rule:evenodd;stroke-width:0.264583"
id="rect1058"
width="10.000138"
height="9.9999056"
x="69.999863"
y="0" />
<rect
style="fill:#000000;fill-rule:evenodd;stroke-width:0.264583"
id="rect1060"
width="10.000031"
height="30.000183"
x="89.999908"
y="19.999817" />
<rect
style="fill:#000000;fill-rule:evenodd;stroke-width:0.265902"
id="rect1062"
width="15"
height="10"
x="109.99985"
y="59.999905" />
<path
sodipodi:type="star"
style="opacity:0.996;fill:#000000;stroke-width:0.829;stroke-linecap:round;stroke-linejoin:round"
id="path909-2-4"
sodipodi:sides="3"
sodipodi:cx="71.8955"
sodipodi:cy="79.111778"
sodipodi:r1="39.848263"
sodipodi:r2="19.924133"
sodipodi:arg1="0.51165873"
sodipodi:arg2="1.5588563"
inkscape:flatsided="true"
inkscape:rounded="0"
inkscape:randomized="0"
d="M 106.64054,98.622453 37.626242,99.446526 71.419721,39.266356 Z"
inkscape:transform-center-x="4.9775137"
inkscape:transform-center-y="0.01688725"
transform="matrix(0.00696336,-0.43462046,0.50129215,0.00603725,24.818614,165.75262)" />
<path
id="path943-8"
style="opacity:0.996;fill:#000000;stroke-width:0.792813;stroke-linecap:round;stroke-linejoin:round"
d="M 109.99982,149.9208 A 19.999999,19.999999 0 0 0 90.000014,130.00005 v 9.99991 a 10,10 0 0 1 9.9999,9.99991 h 9.999906 a 19.999999,19.999999 0 0 0 0,-0.0791 z" />
<path
id="rect926-2-8-7"
style="fill:#000000;fill-rule:evenodd;stroke-width:0.236261"
d="m 103.54248,199.99987 a 40.000288,40.000367 0 0 1 -8.183986,-9.99991 h -20.35845 v 9.99991 z" />
<path
id="path943-4-5"
style="opacity:0.996;fill:#000000;stroke-width:0.792813;stroke-linecap:round;stroke-linejoin:round"
d="m 100.00004,180.07912 a 20,20 0 0 0 19.99982,19.92075 v -9.99991 a 10,10 0 0 1 -9.99991,-9.99991 h -9.99991 a 20,20 0 0 0 0,0.0791 z" />
<rect
style="fill:#000000;fill-rule:evenodd;stroke-width:0.264583"
id="rect1056-4"
width="5.0001798"
height="9.9999104"
x="-75.000053"
y="-199.99986"
transform="scale(-1)" />
<rect
style="fill:#000000;fill-rule:evenodd;stroke-width:0.264583"
id="rect1058-7"
width="10.000138"
height="9.9999056"
x="-129.99998"
y="-199.99986"
transform="scale(-1)" />
<rect
style="fill:#000000;fill-rule:evenodd;stroke-width:0.264583"
id="rect1060-9"
width="10.000031"
height="30.000183"
x="-109.99993"
y="-180.00005"
transform="scale(-1)" />
<rect
style="fill:#000000;fill-rule:evenodd;stroke-width:0.265901"
id="rect1062-5"
width="15"
height="10"
x="-90.000023"
y="-139.99997"
transform="scale(-1)" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Capa 2"
style="display:inline">
<path
id="path1101"
style="opacity:0.996;fill:#000000;stroke-width:4.90719;stroke-linecap:round;stroke-linejoin:round"
d="M 264.56641,0 A 264.56693,264.56693 0 0 0 0,264.56641 H 75.589844 A 188.97638,188.97638 0 0 1 264.56641,75.589844 Z"
transform="scale(0.26458333)" />
<path
id="path1101-5"
style="opacity:0.996;fill:#000000;stroke-width:1.29836;stroke-linecap:round;stroke-linejoin:round"
d="m 0,130 a 70,70 0 0 0 69.999863,69.99986 V 180.00005 A 50.000001,50.000001 0 0 1 19.999813,130 Z" />
<path
id="path1101-1"
style="opacity:0.996;fill:#000000;stroke-width:1.29836;stroke-linecap:round;stroke-linejoin:round"
d="M 130,199.99986 A 70,70 0 0 0 199.99986,130 H 180.00005 A 50.000001,50.000001 0 0 1 130,180.00005 Z" />
<path
id="path1101-5-1"
style="opacity:0.996;fill:#000000;stroke-width:1.29836;stroke-linecap:round;stroke-linejoin:round"
d="M 199.99986,69.99986 A 70,70 0 0 0 130,0 v 19.99981 a 50.000001,50.000001 0 0 1 50.00005,50.00005 z" />
<rect
style="fill:#000000;fill-rule:evenodd;stroke-width:0.264583"
id="rect1175"
width="19.999813"
height="60.000137"
x="0"
y="69.999863" />
<rect
style="fill:#000000;fill-rule:evenodd;stroke-width:0.264583"
id="rect1177"
width="19.999811"
height="60.000141"
x="180.00005"
y="69.999863" />
<path
id="rect1179"
style="fill:#000000;fill-rule:evenodd;stroke-width:0.999999"
d="m 400.63086,0 a 132.28346,132.28346 0 0 1 49.4082,75.589844 h 41.29883 V 0 Z"
transform="scale(0.26458333)" />
<path
sodipodi:type="star"
style="opacity:0.996;fill:#000000;stroke-width:0.829;stroke-linecap:round;stroke-linejoin:round"
id="path1183"
sodipodi:sides="3"
sodipodi:cx="82.051743"
sodipodi:cy="49.177593"
sodipodi:r1="52.311821"
sodipodi:r2="26.15591"
sodipodi:arg1="0.5185124"
sodipodi:arg2="1.56571"
inkscape:flatsided="true"
inkscape:rounded="0"
inkscape:randomized="0"
d="M 127.48756,75.102736 36.882001,75.563594 81.785666,-3.1335511 Z"
inkscape:transform-center-x="-6.6535474"
inkscape:transform-center-y="-0.014772187"
transform="matrix(-0.00302595,0.66219101,-0.50950409,-0.00393276,168.65092,20.874244)" />
<path
id="path1185"
style="opacity:0.996;fill:#000000;stroke-width:0.857951;stroke-linecap:round;stroke-linejoin:round"
d="m 90,55 a 30,30 0 0 0 29.99972,30.000236 V 64.999905 A 10,10 0 0 1 110.00033,55 Z" />
<path
id="path1185-5"
style="opacity:0.996;fill:#000000;stroke-width:0.857951;stroke-linecap:round;stroke-linejoin:round"
d="M 109.99971,30.000237 A 30.000001,30.000001 0 0 0 80,0 v 20.00033 a 10,10 0 0 1 9.999387,9.999907 z" />
<rect
style="fill:#000000;fill-rule:evenodd;stroke-width:0.264583"
id="rect1282"
width="10.000138"
height="20.00033"
x="69.999863"
y="0" />
<rect
style="fill:#000000;fill-rule:evenodd;stroke-width:0.264583"
id="rect1284"
width="20.000942"
height="24.999762"
x="89.999382"
y="30.000237" />
<rect
style="fill:#000000;fill-rule:evenodd;stroke-width:0.259485"
id="rect1286"
width="15.7732"
height="20"
x="119.99972"
y="64.999901" />
<path
id="rect1179-8"
style="fill:#000000;fill-rule:evenodd;stroke-width:0.264583"
d="m 93.999606,199.99986 a 34.999999,34.999999 0 0 1 -13.07258,-19.99981 h -10.92699 v 19.99981 z" />
<path
sodipodi:type="star"
style="opacity:0.996;fill:#000000;stroke-width:0.829;stroke-linecap:round;stroke-linejoin:round"
id="path1183-6"
sodipodi:sides="3"
sodipodi:cx="82.051743"
sodipodi:cy="49.177593"
sodipodi:r1="52.311821"
sodipodi:r2="26.15591"
sodipodi:arg1="0.5185124"
sodipodi:arg2="1.56571"
inkscape:flatsided="true"
inkscape:rounded="0"
inkscape:randomized="0"
d="M 127.48756,75.102736 36.882001,75.563594 81.785666,-3.1335511 Z"
inkscape:transform-center-x="6.6535476"
inkscape:transform-center-y="0.014771914"
transform="matrix(0.00302595,-0.66219102,0.50950408,0.00393276,31.348936,179.12562)" />
<path
id="path1185-8"
style="opacity:0.996;fill:#000000;stroke-width:0.857951;stroke-linecap:round;stroke-linejoin:round"
d="M 109.99986,144.99986 A 30.000001,30.000001 0 0 0 80.000136,114.99963 v 20.00033 a 10,10 0 0 1 9.99939,9.9999 z" />
<path
id="path1185-5-3"
style="opacity:0.996;fill:#000000;stroke-width:0.857951;stroke-linecap:round;stroke-linejoin:round"
d="m 90.000146,169.99963 a 30.000001,30.000001 0 0 0 29.999714,30.00023 v -20.00033 a 10,10 0 0 1 -9.99939,-9.9999 z" />
<rect
style="fill:#000000;fill-rule:evenodd;stroke-width:0.264583"
id="rect1282-5"
width="10.000138"
height="20.00033"
x="-130"
y="-199.99986"
transform="scale(-1)" />
<rect
style="fill:#000000;fill-rule:evenodd;stroke-width:0.264583"
id="rect1284-1"
width="20.000944"
height="24.999762"
x="-110.00047"
y="-169.99962"
transform="scale(-1)" />
<rect
style="fill:#000000;fill-rule:evenodd;stroke-width:0.259485"
id="rect1286-5"
width="15.7732"
height="20"
x="-80.000145"
y="-134.99997"
transform="scale(-1)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

@ -0,0 +1,4 @@
from debian
# run apt update && apt -y upgrade && apt -y autoremove
run apt update
run apt install -y apache2 php php-mysql

@ -0,0 +1,80 @@
<html lang="{language}" dir="{direction}">
<head>
<title data-i18n="{key}_title">{name}</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<link rel="icon" href="/images/{name}-32.{extension}" sizes="32x32" />
<link rel="icon" href="/images/{name}-192.{extension}" sizes="192x192" />
<link rel="icon" href="/images/{name}-512.{extension}" sizes="512x512" />
<link rel="apple-touch-icon-precomposed" href="/images/{name}-180.{extension}" />
<meta name="msapplication-TileImage" content="/images/{name}-270.{extension}" />
<meta name="licence:text" content="{license_text}" />
<meta name="licence:link" content="{license_link}" />
<meta name="licence:icon" content="{license_icon}" />
<meta name="xdoc:link" content="{url}/" />
<meta name="xdoc:author" content="{authors}" />
<meta name="xdoc:since" content="{since}" />
<meta name="xdoc:version" content="{version}" />
<meta name="xdoc:access" content="public" />
<meta name="description" data-i18n="{key}_description" content="{description}" />
<meta name="keywords" data-i18n="{key}_keywords" content="{keywords}" />
<meta name="author" content="{authors}" />
<meta name="copyright" content="{license_text}" />
<meta name="robots" content="index,follow" />
<meta name="googlebot" content="index,follow,max-snippet:-1,max-image-preview:large,max-video-preview:-1" />
<meta name="bingbot" content="index,follow,max-snippet:-1,max-image-preview:large,max-video-preview:-1" />
<!--<meta http-equiv="refresh" content="30" />-->
<!--<meta http-equiv="cache-control" content="no-cache" />-->
<!--<meta http-equiv="expires" content="0" />-->
<link rel="canonical" href="{url}/" />
<link rel="alternate" href="{url}/" hreflang="{language}" />
<meta property="og:locale:alternate" content="{language_code}" />
<meta name="referrer" content="origin" />
<meta name="fragment" content="!" /><!-- Para uso AJAX -->
<meta name="language" content="{language}" />
<meta name="revisit-after" content="7 days" /><!-- Regreso de las arañas. Información Crawl. -->
<meta name="rating" content="general" /><!-- Tipo de contenido: general, mature, restricted, adult, 14 years, safe for kids. -->
<meta name="author" content="{authors}" />
<meta name="owner" content="{authors}" />
<meta property="og:locale" content="{language_code}" />
<meta property="og:type" content="website" />
<meta property="og:title" data-i18n="{key}_title" content="{name}" />
<meta property="og:description" data-i18n="anp_description" content="{description}" />
<meta property="og:url" content="{url}/" />
<meta property="og:site_name" content="{name}" />
<meta property="og:image" content="{url}/images/{name}.png" />
<!--<meta property="fb:admins" content="FB-AppID" />-->
<meta name="twitter:card" content="summary" />
<meta name="twitter:description" data-i18n="{key}_description" content="{description}" />
<meta name="twitter:title" data-i18n="{key}_title" content="{name}" />
<!--<meta name="twitter:site" content="@{name}" />-->
<!--<meta name="twitter:creator" content="@{name}" />-->
<meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE" />
<!--<meta name="google-site-verification" content="123456789" />--><!-- Verificación en el Google Search Console. -->
<meta name="google" content="nositelinkssearchbox" />
<link rel="dns-prefetch" href="{url}/" />
<!--<link rel="amphtml" href="{url}/index.amp.html" />--><!-- Indica si tiene página para móviles. Tecnología AMP. -->
<style data-type="text/css" data-rel="stylesheet" data-language="CSS3" charset="utf-8">
html,body{
height : 100%;
margin : 0px;
overflow : hidden;
}
</style>{kstats}
<script data-type="text/javascript" data-language="ECMAScript 2015" src="https://anp.{domain}/ecma/AnPBuilder.ecma.js" data-crossorigin="anonymous" charset="utf-8"></script>
{script}
</head>
<body></body>
</html>

@ -0,0 +1,182 @@
<!DOCTYPE html>
<html lang="{language}" dir="ltr">
<head>
<title>{title}</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<link rel="icon" href="/images/AnP-32.png" sizes="32x32" />
<link rel="icon" href="/images/AnP-192.png" sizes="192x192" />
<link rel="icon" href="/images/AnP-512.png" sizes="512x512" />
<link rel="apple-touch-icon-precomposed" href="/images/AnP-180.png" />
<meta name="msapplication-TileImage" content="/images/AnP-270.png" />
<meta name="licence:text" content="© 2020-2021 CopyLeft. GPLv3" />
<meta name="licence:link" content="https://www.gnu.org/licenses/gpl-3.0.txt" />
<meta name="licence:icon" content="https://www.gnu.org/graphics/gplv3-88x31.png" />
<meta name="xdoc:link" content="{url}" />
<meta name="xdoc:author" content="{author}" />
<meta name="xdoc:since" content="{since}" />
<meta name="xdoc:version" content="{version}" />
<meta name="xdoc:access" content="public" />
<meta name="description" data-i18n="anp_description" content="{description}" />
<meta name="keywords" data-i18n="anp_keywords" content="{key_words}" />
<meta name="author" content="{author}" />
<meta name="copyright" content="© 2020-2021 CopyLeft" />
<meta name="robots" content="index,follow" />
<meta name="googlebot" content="index,follow,max-snippet:-1,max-image-preview:large,max-video-preview:-1" />
<meta name="bingbot" content="index,follow,max-snippet:-1,max-image-preview:large,max-video-preview:-1" />
<!--<meta http-equiv="refresh" content="30" />-->
<!--<meta http-equiv="cache-control" content="no-cache" />-->
<!--<meta http-equiv="expires" content="0" />-->
<link rel="canonical" href="{url}" />
<link rel="alternate" href="{url}" hreflang="es" />
<meta property="og:locale:alternate" content="es_ES" />
<meta name="referrer" content="origin" />
<meta name="fragment" content="!" /><!-- Para uso AJAX -->
<meta name="language" content="es" />
<meta name="revisit-after" content="7 days" /><!-- Regreso de las arañas. Información Crawl. -->
<meta name="rating" content="general" /><!-- Tipo de contenido: general, mature, restricted, adult, 14 years, safe for kids. -->
<meta name="author" content="{author}" />
<meta name="owner" content="{author}" />
<meta property="og:locale" content="es_ES" />
<meta property="og:type" content="website" />
<meta property="og:title" data-i18n="anp_title" content="{title}" />
<meta property="og:description" data-i18n="anp_description" content="{description}" />
<meta property="og:url" content="{url}" />
<meta property="og:site_name" content="{project}" />
<meta property="og:image" content="{logo}" />
<!--<meta property="fb:admins" content="FB-AppID" />-->
<meta name="twitter:card" content="summary" />
<meta name="twitter:description" data-i18n="anp_description" content="{description}" />
<meta name="twitter:title" data-i18n="anp_title" content="{title}" />
<!--<meta name="twitter:site" content="@AnP" />-->
<!--<meta name="twitter:creator" content="@AnP" />-->
<meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE" />
<!--<meta name="google-site-verification" content="123456789" />--><!-- Verificación en el Google Search Console. -->
<meta name="google" content="nositelinkssearchbox" />
<link rel="dns-prefetch" href="{url}" />
<!--<link rel="amphtml" href="{url}index.amp.html" />--><!-- Indica si tiene página para móviles. Tecnología AMP. -->
<script data-type="text/javascript" data-language="ECMAScript 2015" src="https://kstats.k3y.pw/ecma/KStats.ecma.js"></script>
<script>
kstats = new KStats({url : "https://kstats.k3y.pw/api/uCDY3brWxEJrJywm2sFcKo1d8oaUdmxTTrv3VGuhpyRDpPYXyKeHWeknh/{session}/json/set"});
</script>
<link type="text/css" rel="stylesheet" data-language="CSS3" href="https://cdn.k3y.pw/css/fonts/local/Roboto.css" data-crossorigin="anonymous" charset="utf-8" />
<link type="text/css" rel="stylesheet" data-language="CSS3" href="https://cdn.k3y.pw/css/fonts/local/RobotoMono.css" data-crossorigin="anonymous" charset="utf-8" />
<link type="text/css" rel="stylesheet" data-language="CSS3" href="https://cdn.k3y.pw/css/fonts/local/FontAwesome5Free.css" data-crossorigin="anonymous" charset="utf-8" />
<link type="text/css" rel="stylesheet" data-language="CSS3" href="https://unpkg.com/@highlightjs/cdn-assets@10.7.2/styles/default.min.css" data-crossorigin="anonymous" charset="utf-8" />
<script data-type="test/javascript" data-language="JavaScript 1.8.5" src="https://unpkg.com/mermaid@8.9.3/dist/mermaid.min.js" data-js-map="https://unpkg.com/mermaid@8.9.3/dist/mermaid.min.js.map" data-crossorigin="anonymous" charset="utf-8"></script>
<script data-type="test/javascript" data-language="JavaScript 1.8.5" src="https://unpkg.com/@highlightjs/cdn-assets@10.7.2/highlight.min.js" data-crossorigin="anonymous" charset="utf-8"></script>
<script data-type="test/javascript" data-language="ECMAScript 2015" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js" data-crossorigin="anonymous" charset="utf-8"></script>
<link type="text/css" rel="stylesheet" data-language="SASS/CSS3" href="https://wmarkdown.k3y.pw/scss/WMarkDown.css" data-scss="https://wmarkdown.k3y.pw/scss/WMarkDown.scss" data-css-map="https://wmarkdown.k3y.pw/scss/WMarkDown.css.map" data-crossorigin="anonymous" charset="utf-8" />
<link type="text/css" rel="stylesheet" data-language="CSS3" href="https://wmarkdown.k3y.pw/css/WMarkDown.icons.css" data-crossorigin="anonymous" charset="utf-8" />
<style data-type="text/css" data-rel="stylesheet" data-language="CSS3" charset="utf-8">
html,body{
height : 100%;
margin : 0px;
}
</style>
<script data-type="text/javascript" data-language="ECMAScript 2015" src="https://wmarkdown.k3y.pw/ecma/WMarkDown.ecma.js" data-crossorigin="anonymous" charset="utf-8"></script>
<script data-type="text/javascript" data-language="ECMAScript 2015" src="https://wmarkdown.k3y.pw/ecma/WMarkDown.Dictionary.ecma.js" data-crossorigin="anonymous" charset="utf-8"></script>
<script data-type="text/javascript" data-language="ECMAScript 2015" src="https://wmarkdown.k3y.pw/ecma/WMarkDown.Multimedia.ecma.js" data-crossorigin="anonymous" charset="utf-8"></script>
<script data-type="text/javascript" data-language="ECMAScript 2015" charset="utf-8">
wmarkdown = new WMarkDown({
dictionary_links : "https://wdictionaries.k3y.pw/?es/values,own_projects,projects,digital,common,files,kyman",
dictionary_title : "Diccionario"
});
</script>
</head>
<body class="wmarkdown">
<header>
<h1 class="logo">
<a href="https://anp.k3y.pw/#">
<span class="image">
<span style="background-image:url('/images/AnP.png');"></span>
<img src="/images/AnP.png" alt="AnP" />
</span>
<span class="text">AnP</span>
</a>
</h1>
<nav class="main-menu">
<ul>
<li><a href="/" data-i18n="home" data-i18n-without="true" title="Home" target="_self">
<span data-icon="home"></span>
<span data-i18n="home">Home</span>
</a></li>
<li><a href="/dev" data-i18n="developt" data-i18n-without="true" title="Desarrollo" target="_self">
<span data-icon="developt"></span>
<span data-i18n="developt">Desarrollo</span>
</a></li>
<li><a href="https://git.k3y.pw/AnP/AnP" data-i18n="git" data-i18n-without="true" title="Git" target="_blank">
<span data-icon="git"></span>
<span data-i18n="git">Git</span>
</a></li>
</ul>
</nav>
</header>
<div class="body" data-headers-menu-deployed="true" data-files-menu-deployed="true">
<fieldset class="headers-menu">
<legend data-i18n="headers_menu" title="Menu">Menu</legend>
<nav>
<ul>{menu}</ul>
</nav>
<div class="menu-buttons">
<button type="button" data-i18n="hide" data-i18n-without="true" title="Hide" onclick="wmarkdown.hide_menu(this, event);" data-visible="true">
<span data-icon="hide"></span>
<span data-i18n="hide">Hide</span>
</button>
<button type="button" data-i18n="show" data-i18n-without="true" title="Show" onclick="wmarkdown.show_menu(this, event);" data-visible="false">
<span data-icon="show"></span>
<span data-i18n="show">Show</span>
</button>
</div>
</fieldset>
<fieldset class="content">
<legend data-i18n="content" title="Content">Content</legend>
<div class="content-box">{content}</div>
</fieldset>
<fieldset class="files">
<legend data-i18n="files" title="Files">Files</legend>
<nav>
<ul>{files}</ul>
</nav>
<div class="menu-buttons">
<button type="button" data-i18n="hide" data-i18n-without="true" title="Hide" onclick="wmarkdown.hide_menu(this, event);" data-visible="true">
<span data-icon="hide"></span>
<span data-i18n="hide">Hide</span>
</button>
<button type="button" data-i18n="show" data-i18n-without="true" title="Show" onclick="wmarkdown.show_menu(this, event);" data-visible="false">
<span data-icon="show"></span>
<span data-i18n="show">Show</span>
</button>
</div>
</fieldset>
</div>
<footer>
<a href="https://www.gnu.org/licenses/gpl-3.0.txt" target="_blank" title="GPLv3" class="license">
<span data-i18n="license_text">© 2021-2022 CopyLeft.</span>
<img src="https://www.gnu.org/graphics/gplv3-127x51.png" alt="GPLv3" />
</a>
<div data-preload="wmarkdown-preloader"></div>
</footer>
</body>
</html>

@ -0,0 +1,112 @@
[
"post:/sessions/get get@sessions",
"post:/sessions/update get@sessions",
"post:/sessions/close close@sessions",
"post:/sessions/register register@sessions",
"post:/sessions/login login@sessions",
"post:/sessions/reset_password reset_password@sessions user",
"post:/sessions/languages get_languages_id@system",
"post:/administration/logs/list logs@sessions administrator",
"post:/administration/exceptions/list exceptions@sessions administrator",
"post:/administration/traces/list traces@sessions administrator",
"post:/administration/users/list list@anp_users administrator",
"post:/administration/users/add add@anp_users administrator",
"post:/administration/users/load load@anp_users administrator",
"post:/administration/users/edit edit@anp_users administrator",
"post:/administration/users/delete delete@anp_users administrator",
"post:/administration/users/deleted deleted@anp_users administrator",
"post:/administration/users/undelete undelete@anp_users administrator",
"post:/administration/users/history history@anp_users administrator",
"post:/administration/users/restore restore@anp_users administrator",
"post:/administration/users/reset_password reset_password@anp_users administrator",
"post:/administration/groups/list list@anp_groups administrator",
"post:/administration/groups/add add@anp_groups administrator",
"post:/administration/groups/load load@anp_groups administrator",
"post:/administration/groups/edit edit@anp_groups administrator",
"post:/administration/groups/delete delete@anp_groups administrator",
"post:/administration/groups/deleted deleted@anp_groups administrator",
"post:/administration/groups/undelete undelete@anp_groups administrator",
"post:/administration/groups/history history@anp_groups administrator",
"post:/administration/groups/restore restore@anp_groups administrator",
"post:/administration/emails/list list@anp_emails administrator",
"post:/administration/ips/list list@anp_ips administrator",
"post:/administration/ips/history history@anp_ips administrator",
"post:/administration/ips/restore restore@anp_ips administrator",
"post:/administration/ips/set_accessible set_accessible@anp_ips administrator",
"post:/administration/permissions/list list@anp_permissions administrator",
"post:/administration/permissions/add add@anp_permissions administrator",
"post:/administration/permissions/load load@anp_permissions administrator",
"post:/administration/permissions/edit edit@anp_permissions administrator",
"post:/administration/permissions/delete delete@anp_permissions administrator",
"post:/administration/permissions/deleted deleted@anp_permissions administrator",
"post:/administration/permissions/undelete undelete@anp_permissions administrator",
"post:/administration/permissions/history history@anp_permissions administrator",
"post:/administration/permissions/restore restore@anp_permissions administrator",
"post:/administration/settings/types/list list@anp_settings_types administrator",
"post:/administration/settings/types/add add@anp_settings_types administrator",
"post:/administration/settings/types/load load@anp_settings_types administrator",
"post:/administration/settings/types/edit edit@anp_settings_types administrator",
"post:/administration/settings/types/delete delete@anp_settings_types administrator",
"post:/administration/settings/types/deleted deleted@anp_settings_types administrator",
"post:/administration/settings/types/undelete undelete@anp_settings_types administrator",
"post:/administration/settings/types/history history@anp_settings_types administrator",
"post:/administration/settings/types/restore restore@anp_settings_types administrator",
"post:/administration/hashes/list list@anp_hashes administrator",
"post:/administration/files/types/list list@anp_files_types administrador",
"post:/administration/files/groups/list list@anp_files_groups administrador",
"post:/administration/locates/groups/list list@anp_locates_groups administrador",
"post:/administration/users/groups/list list@anp_users_groups administrator",
"post:/administration/users/groups/history history@anp_users_groups administrator",
"post:/administration/users/groups/restore restore@anp_users_groups administrator",
"post:/administration/ips/groups/list list@anp_ips_groups administrator",
"post:/administration/ips/groups/history history@anp_ips_groups administrator",
"post:/administration/ips/groups/restore restore@anp_ips_groups administrator",
"post:/administration/permissions/groups/list list@anp_permissions_groups administrator",
"post:/administration/permissions/groups/history history@anp_permissions_groups administrator",
"post:/administration/permissions/groups/restore restore@anp_permissions_groups administrator",
"post:/administration/settings/list list@anp_settings administrator",
"post:/administration/settings/basics basics@anp_settings administrator",
"post:/administration/settings/add add@anp_settings administrator",
"post:/administration/settings/load load@anp_settings administrator",
"post:/administration/settings/edit edit@anp_settings administrator",
"post:/administration/settings/delete delete@anp_settings administrator",
"post:/administration/settings/deleted deleted@anp_settings administrator",
"post:/administration/settings/undelete undelete@anp_settings administrator",
"post:/administration/settings/history history@anp_settings administrator",
"post:/administration/settings/restore restore@anp_settings administrator",
"post:/administration/files/list list@anp_files administrador",
"post:/administration/files/hashes/list list@anp_files_hashes administrador",
"post:/administration/countries/list list@anp_countries administrador",
"post:/administration/countries/add add@anp_countries administrador",
"post:/administration/countries/load load@anp_countries administrador",
"post:/administration/countries/edit edit@anp_countries administrador",
"post:/administration/countries/delete delete@anp_countries administrador",
"post:/administration/countries/deleted deleted@anp_countries administrador",
"post:/administration/countries/undelete undelete@anp_countries administrador",
"post:/administration/countries/history history@anp_countries administrador",
"post:/administration/countries/restore restore@anp_countries administrador",
"get:/administration/countries/flag/{file_id}/{file_name} get_flag_file@anp_countries administrador",
"post:/administration/languages/list list@anp_languages administrador",
"post:/administration/languages/basics basics@anp_languages administrador",
"post:/administration/languages/add add@anp_languages administrador",
"post:/administration/languages/load load@anp_languages administrador",
"post:/administration/languages/edit edit@anp_languages administrador",
"post:/administration/languages/delete delete@anp_languages administrador",
"post:/administration/languages/deleted deleted@anp_languages administrador",
"post:/administration/languages/undelete undelete@anp_languages administrador",
"post:/administration/languages/history history@anp_languages administrador",
"post:/administration/languages/restore restore@anp_languages administrador",
"get:/administration/languages/flag/{file_id}/{file_name} get_flag_file@anp_languages administrador",
"post:/administration/locates/list list@anp_locates administrador",
"post:/administration/users/emails/list list@anp_users_emails administrator",
"post:/administration/users/emails/history history@anp_users_emails administrator",
"post:/administration/users/emails/restore restore@anp_users_emails administrator",
"post:/administration/settings/groups/list list@anp_settings_groups administrator",
"post:/administration/settings/groups/basics basics@anp_settings_groups administrator",
"post:/administration/settings/groups/load load@anp_settings_groups administrator",
"post:/administration/settings/groups/history history@anp_settings_groups administrator",
"post:/administration/settings/groups/restore restore@anp_settings_groups administrator"
]

@ -0,0 +1,103 @@
{
"nulls" : false,
"default_value" : null,
"show_exceptions" : true,
"autostart" : true,
"default_settings_files" : "/JSON/AnP.php.settings.json",
"default_secrets_files" : "/JSON/AnP.php.settings.secrets.json",
"default_i18n_files" : [
"/JSON/I18N/PHP/AnP.php.i18n.english.json",
"/JSON/I18N/PHP/AnP.php.i18n.espanol.json",
"/JSON/I18N/PHP/AnP.php.i18n.galego.json"
],
"default_route_method" : "get",
"default_routes_files" : [
"/JSON/AnP.php.routes.json",
"/JSON/AnP.php.routes.secrets.json"
],
"ajax_send_mode" : "base64",
"ajax_variable_name" : "anp",
"method_name" : "__method",
"base64_alphabet" : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
"mysql_pdo_connection_string2" : "{engine}:dbname={database};host={host};port={port};charset={charset}",
"mysql_pdo_connection_string" : "{engine}:dbname={database};host={host};port={port}",
"mysql_pdo_engine" : "mysql",
"mysql_pdo_database" : "AnP",
"mysql_pdo_host" : "localhost",
"mysql_pdo_port" : 3306,
"mysql_pdo_charset2" : "utf8",
"mysql_pdo_charset" : "utf8mb4",
"mysql_pdo_user" : "root",
"password" : "Abc123..",
"connection_overwrite" : false,
"connection_type" : null,
"page" : 1,
"items_per_page" : 30,
"default_http_code" : 200,
"default_http_message" : "ok",
"default_connection_key" : "anp_mysql",
"default_controllers_paths" : ["/PHP/Controllers"],
"default_controllers_files" : {
"system" : "\\AnP\\Controllers\\System",
"sessions" : "\\AnP\\Controllers\\Sessions",
"anp_users" : "\\AnP\\Controllers\\Users",
"anp_groups" : "\\AnP\\Controllers\\Groups",
"anp_emails" : "\\AnP\\Controllers\\Emails",
"anp_ips" : "\\AnP\\Controllers\\Ips",
"anp_permissions" : "\\AnP\\Controllers\\Permissions",
"anp_settings_types" : "\\AnP\\Controllers\\SettingsTypes",
"anp_hashes" : "\\AnP\\Controllers\\Hashes",
"anp_files_types" : "\\AnP\\Controllers\\FilesTypes",
"anp_files_groups" : "\\AnP\\Controllers\\FilesGroups",
"anp_locates_groups" : "\\AnP\\Controllers\\LocatesGroups",
"anp_users_groups" : "\\AnP\\Controllers\\UsersGroups",
"anp_ips_groups" : "\\AnP\\Controllers\\IpsGroups",
"anp_permissions_groups" : "\\AnP\\Controllers\\PermissionsGroups",
"anp_settings" : "\\AnP\\Controllers\\Settings",
"anp_files" : "\\AnP\\Controllers\\Files",
"anp_files_hashes" : "\\AnP\\Controllers\\FilesHashes",
"anp_countries" : "\\AnP\\Controllers\\Countries",
"anp_languages" : "\\AnP\\Controllers\\Languages",
"anp_locates" : "\\AnP\\Controllers\\Locates",
"anp_users_emails" : "\\AnP\\Controllers\\UsersEmails",
"anp_settings_groups" : "\\AnP\\Controllers\\SettingsGroups"
},
"sessions" : true,
"session_key" : "anp_session",
"show_prints" : true,
"default_controllers_roots" : ["\\AnP\\Controllers\\"],
"transact_sql_pdo_connection_string_b" : "{engine}:Server={host},{port};Database={database};Encrypt=0;",
"transact_sql_pdo_connection_string" : "{engine}:Server={host},{port};Database={database};Encrypt=true;TrustServerCertificate=true;",
"transact_sql_pdo_connection_string4" : "{engine}:Server={host},{port};Database={database};",
"transact_sql_pdo_connection_string3" : "Data Source={host},{port};Network Library={library};Initial Catalog={database};User Id={user};Password={password};",
"transact_sql_pdo_connection_string2" : "sqlsrv:server={host},{port};Database={database}",
"transact_sql_url" : "localhost\\SQLEXPRESS",
"transact_sql_host" : "localhost\\SQLEXPRESS",
"transact_sql_engine" : "sqlsrv",
"transact_sql_engine2" : "SQLEXPRESS",
"transact_sql_port" : 1433,
"transact_sql_library" : "DBMSSOCN",
"transact_sql_user" : "sa",
"transact_sql_password" : "Abc123..",
"transact_sql_database" : "AnP",
"route_error_controller" : 501,
"route_error_method" : 510,
"route_error_exception" : 500,
"route_error_not_found" : 404,
"route_error_not_method" : 502,
"default_http_code_exception" : 500,
"default_http_code_no_tracer" : 503,
"default_http_code_json_null" : 500,
"default_http_code_json_not" : 500,
"default_http_code_json_not_error" : 500,
"default_http_code_json_error_null" : 500,
"default_http_code_json_invalid_error" : 500,
"default_http_code_json_sql_exception" : 500,
"data_connector" : "MariaDB",
"data_connectors_names" : {
"MariaDB" : "mariadb",
"SQLServer" : "sqlserver"
},
"project_name" : "AnP",
"anp_project_name" : "AnP"
}

@ -0,0 +1,7 @@
[
"post:/users/guest get_guest@users",
"post:/users/register register@users",
"post:/users/login login@users",
"post:/users/logout logout@users",
"post:/users/refresh refresh@users"
]

@ -0,0 +1,74 @@
{
"settings_nulls" : false,
"default_value" : null,
"autostart" : true,
"root" : "/mnt/d/git/AnP",
"application_root" : "/mnt/d/git/AnP",
"default_settings_files" : "/JSON/AnP.py.settings.json",
"settings_overwrite" : false,
"json_show_errors" : false,
"default_i18n_files" : "/JSON/I18N/Python/AnP.py.i18n.english.json",
"default_language" : "english",
"i18n_nulls" : false,
"default_text" : "",
"print_format" : "[ {type} ] {yyyy}{mm}{dd} {hh}{ii}{ss}.{nnn} {file}[{line}]: {message}",
"print_types" : {
"ok" : ["ok", "yes", "success", "correct"],
"erro" : ["error", "mistake"],
"warn" : ["warning"],
"info" : ["information", "data"],
"igno" : ["ignore"]
},
"threads_minimum_sleep" : 500.0,
"frames_per_second" : 24.0,
"threads_autostart" : false,
"terminals_autostart" : false,
"default_mime_extension" : "/Public/json/mime_to_extension.json",
"default_extension_mime" : "/Public/json/extension_to_mime.json",
"default_mime" : "application/json",
"default_extension" : "json",
"default_routes" : "/JSON/AnP.py.routes.json",
"routes_indexes" : ["index.html", "index.htm", "index.xhtml"],
"web_server_name" : "anp",
"web_server_thread" : true,
"hosts" : "localhost",
"web_server_port" : 23421,
"simultaneous_connections" : 5,
"web_server_exception" : true,
"web_server_post_timeout" : 100.0,
"web_server_cache_size" : 1024,
"web_servers" : [],
"web_server_autostart" : true,
"http_response_header" : [
"HTTP/1.1 200 OK",
"Date: {date}",
"Server: Whalers/2021.6.1",
"Last-Modified: {last_modified} ",
"Accept-Ranges: bytes",
"Content-Length: {response_length}",
"Access-Control-Max-Age: 84600",
"Keep-Alive: timeout=5, max=100",
"Connection: Keep-Alive",
"Content-type: {mime}; charset=UTF-8"
],
"web_server_variables_name" : "anp",
"http_default_code" : 200,
"logs_save_time" : 2000,
"print_sql_save" : true,
"web_server_full_prints" : false,
"logs_in_stream" : false,
"session_timeout" : 300,
"default_controllers" : {
"users" : "AnP.Controllers.Users"
},
"request_order" : ["custom", "get", "post"],
"web_server_variables_method" : "base64",
"sqlite_temporary_table_header" : "TMP_",
"hash_alphabet" : "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",
"hash_length" : 11,
"ips_accessible" : false,
"users_accessible" : false,
"session_cache_timeout" : 3600000,
"base64_alphabet" : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
"allow_print_logs" : true
}

@ -0,0 +1,3 @@
[
"get:/ /Public"
]

@ -0,0 +1,86 @@
{
"alarabiyah" : {
"starting_anp" : "بدء تطبيق AnP. من فضلك انتظر.",
"settings_loading" : "تم تحميل التشكيلة.",
"settings_loading_block" : "تشكيلة '{block}' يتم تحميلها...",
"settings_loaded" : "تم تحميل كامل التشكيلة بشكل صحيح.",
"i18n_loading" : "الـ \"آي 18 إن\" يتم تحميلها.",
"i18n_loading_block" : "\"مجمّع \"إ18N '{block}' يتم تحميله.",
"i18n_loaded" : "تم تحميل الشبكة بالكامل.",
"start_anp_trying" : "إنه يحاول أن يبدأ تطبيق \"إم كي بي زي\".",
"started_anp_app" : "The AnP application was already started.",
"starting_anp_app" : "The AnP application is starting. من فضلك انتظر.",
"settings_starting" : "وحدة الإدارة قامت بتشكيل تطبيق AnP.",
"settings_started" : "وبدأت وحدة إدارة تشكيلة AnP بالكامل.",
"i18n_starting" : "وحدة إدارة I18N من تطبيق AnP بدأت.",
"i18n_started" : "The I18N management module of the AnP application started completely.",
"i18n_set_default" : "إنشاء اللغة الافتراضية...",
"threads_starting" : "الـ \"إم في بيك\" يُفترض أن وحدة إدارة الخيط بدأت.",
"threads_started" : "The AnP precess thread management module was completely started.",
"terminals_starting" : "وحدة إدارة المحطة النهائية من تطبيق AnP بدأت...",
"terminals_started" : "وبدأت وحدة إدارة محطة AnP بالكامل.",
"threads_working" : ُططّ العملية يُجري الآن.",
"threads_already_working" : "خبز العملية كان يعمل بالفعل.",
"threads_already_stopped" : "تم إيقاف خبوط العملية.",
"threads_stopping" : "إيقاف عملية خيط...",
"threads_stopped" : "تم إيقاف خبوط العملية.",
"anp_closing" : "تطبيق AnP هو إغلاق...",
"setting_terminal_input" : "إنشاء المدخل النهائي.",
"terminals_already_started" : "لقد بدأت المحطة بالفعل.",
"terminals_stopping" : "إيقاف المحطة.",
"terminals_stopped" : "توقفت المحطة بالكامل.",
"terminals_already_stopped" : "المحطة كانت رهن الاعتقال.",
"unknown_command" : "القيادة مع أمر (إم كي بي إكس) غير معروفة.",
"threads_module_built" : "ويجري حالياً بناء وحدة تخطيط عمليات AnP.",
"terminals_module_build" : "وقد شُيدت بالكامل وحدة تخطيط العمليات في تطبيق MKVBNFR.",
"anp_help" : "هذه هي معلومات القيادة المكتوبة:\n{orders}",
"anp_help_full" : "هنا كل معلومات القيادة:\n{orders}",
"command_without_help" : "{order} [{synonymous}]: القيادة ليس لديها مساعدة.",
"help_help_text" : "{order} [{synonymous}]: يُظهرُ المساعدةَ a قيادة. يمكنك تحديد أمر أو أكثر لرؤية معلوماتك الكاملة.",
"help_commands_text" : "أوامر أخرى جاهزة لجمع كل المعلومات.",
"command_unknown" : "{order} [{synonymous}]: تم إيقاف هذا الأمر.",
"close_help_text" : "{order} [{synonymous}]: إغلاق تطبيق AnP الحالي تماما.",
"files_module_built" : "The AnP file management module was completely built.",
"controllers_module_built" : "The AnP driverr Management Module was completely built.",
"routes_module_built" : "The AnP route management module was completely built.",
"errors_module_built" : "وقد تم بناء وحدة إدارة الأخطاء في تطبيق AnP بالكامل.",
"web_server_starting" : "'{name}' خادم الشبكة بدأ.",
"web_server_already_started" : "'{name}' وقد بدأ بالفعل تشغيل حاسوب خدمة الشبكة.",
"web_server_building" : "A new web server named '{name}' is being built in '[{hosts}]: {port}...",
"web_server_built" : "'{name}' وقد تم بناء حاسوب خدمة على شبكة الإنترنت في \" {hosts} \" : {port}'.",
"web_server_starting_thread" : "'{name}' خادم الشبكة بدأ عملية متوازية ...",
"web_server_starting_node" : "'{name}' الخادم على الشبكة بدأ عملية خيط العقد.",
"web_server_started" : "'{name}' لقد بدأ خادم الشبكة بالكامل.",
"web_server_module_built" : "'{name}' تم بناء وحدة خدمة الشبكة بالكامل.",
"web_server_closing_socket" : "'{name}' الخادم على الانترنت يغلق شاحنه '{socket_type}'.",
"web_server_closed_socket" : "على '{name}' خادم الشبكة، الـ(سوكيت إم كي فيلد) قد أغلق...",
"web_server_closing" : "'{name}' خادم الشبكة يغلق.",
"web_server_already_closed" : "'{name}' خادم الشبكة قد أغلق بالفعل.",
"web_server_closed" : "'{name}' خادم الشبكة تم إغلاقه بالكامل ...",
"web_server_already_starting" : "الخادم على الانترنت كان مغلقا.",
"web_server_already_stopping" : "'{name}' خادم الشبكة كان رهن الاعتقال.",
"web_server_request" : "'{name}' وللخادم الشبكي طلب من \" {ip}: {port} \" .",
"web_server_request_empty" : "The '{ip}: {port} ' request from the '{name}' web server is empty",
"web_server_request_method" : "The request of '{ip}: {port} ' from the '{name}' server by the '{method}' method has '{cache}' information bytes from the '{route}' route.",
"web_server_waiting" : "'{name}' خادم الشبكة ينتظر طلبات جديدة من العملاء.",
"web_server_request_responding" : "'{name}' الخادم على الشبكة يستجيب لـ (م.ك.ب.ز.ج.ف).",
"anp_bye" : "كان تطبيق AnP مغلقا تماما. شكراً لكِ على استخدام (م.ك.ب.ب.س.ك).",
"web_server_full_print" : "هناك اتصال على شبكة الإنترنت بإسم '{name}' من \"{method}: {ip}: MKVBBBFV\" مع معلومات MKVBCMC من خلال معلومات عن الطلب ورد {response} من خلال المعلومات.",
"sqlite_building" : "تم بناء وصلة الـ (سي كي بي زيمي).",
"sqlite_building_error" : "هناك خطأ مع رمز '{error}' عند محاولة لبناء اتصال SQLite MKVHV.",
"sqlite_built" : "The SQLite '{name}' connection was completely built.",
"sqlite_closing" : "وصلة الـ (سي كي بي كيج) ستغلق.",
"sqlite_closing_error" : "هناك خطأ برمز '{error}' عند محاولة لإغلاق اتصال SQLite '{name}'.",
"sqlite_closed" : "وصلة الـ(سكيليت مفبيري) كانت مغلقة تماماً.",
"sqlite_no_input" : "ولا يوجد في وصلة SQLite MKVNLKS بارامتر للمدخلات.",
"sqlite_no_file" : "ولا يوجد في اتصال SQLite '{name}' درب لملف قاعدة البيانات.",
"logs_starting" : "AnP App Logs Management الوحدة بدأت.",
"logs_started" : "AnP App Logs Management وبدأت الوحدة بالكامل.",
"logs_stopping" : "AnP App Logs Management تم إيقاف الوحدة.",
"logs_already_stopped" : "AnP Logs Management الوحدة كانت تقف.",
"logs_stopped" : "AnP Logs Management الوحدة توقفت تماماً.",
"unaccessible_db_unit" : "قرص قاعدة البيانات غير متاح.",
"session_cleaned" : "تم تنظيف الدورة الرئيسية لـ MKVBPTL."
}
}

@ -0,0 +1,90 @@
{
"azerbaycanca" : {
"starting_anp" : "AnP proqramına başlayır. Bakı.",
"settings_loading" : "Konfiqurasiya yüklənir...",
"settings_loading_block" : "'{block}' konfiqurasiya blok yüklüdür ...",
"settings_loaded" : "Bütün konfiqurasiya düzgün yüklədi.",
"i18n_loading" : "I18N yüklüdür...",
"i18n_loading_block" : "I18N '{block}' blok yüklüdür ...",
"i18n_loaded" : "Bütün I18N düzgün yüklü idi.",
"start_anp_trying" : "AnP app başlamaq üçün çalışır ...",
"started_anp_app" : "AnP app artıq başladı.",
"starting_anp_app" : "AnP proqramı başlayır. Bakı.",
"settings_starting" : "AnP proqramını yapılandıran idarə modullaşdırılmışdır ...",
"settings_started" : "AnP proqram konfiqurasiya idarəetmə modulu tamamilə başladı.",
"i18n_starting" : "AnP proqramının I18N idarə modulları başlanğıc ...",
"i18n_started" : "AnP proqramının I18N idarə modulu tamamilə başladı.",
"i18n_set_default" : "İngilis dilinin yaradılması...",
"threads_starting" : "AnP precess ip idarəetmə modulunun başlanğıc ...",
"threads_started" : "AnP precess ip idarəetmə modulu tamamilə başladı.",
"terminals_starting" : "AnP proqramının terminal idarəetmə modulu...",
"terminals_started" : "AnP terminal idarəetmə modulu tamamilə başladı.",
"threads_working" : "Proses ipi hazırda işləyir.",
"threads_already_working" : "Proses ipi artıq çalışırdı.",
"threads_already_stopped" : "Proses ipi artıq durduruldu.",
"threads_stopping" : "Proses ipini qaldırmaq...",
"threads_stopped" : "Proses ipi artıq durduruldu.",
"anp_closing" : "AnP app çıxış ...",
"setting_terminal_input" : "Terminal girişin yaradılması.",
"terminals_already_started" : "Terminal başladı.",
"terminals_stopping" : "Terminalı qaldırmaq...",
"terminals_stopped" : "Terminal tamamilə qaldı.",
"terminals_already_stopped" : "Terminal artıq məlumat altında idi.",
"unknown_command" : "'{order}' sifarişi ilə komanda bilinməz...",
"threads_module_built" : "AnP prosesi iplik modul inşa edilir.",
"terminals_module_build" : "AnP proqramının proses iplik modulu tamamilə inşa edilmişdir.",
"anp_help" : "Burada yazılı komanda məlumat var:\n{orders}",
"anp_help_full" : "Burada bütün komanda məlumat:\n{orders}",
"command_without_help" : "{order} [{synonymous}]: komanda yardım yoxdur.",
"help_help_text" : "{order} [{synonymous}]: Bir komandanın kömək edir. Tam məlumatınızı baxmaq üçün bir və ya daha çox xidmət göstərir.",
"help_commands_text" : "Bütün məlumatlarınızı toplamaq üçün daha çox xidmətlər hazır.",
"command_unknown" : "{order} [{synonymous}]: Bu komanda istifadə edilir.",
"close_help_text" : "MKVBQGF [{synonymous}]: AnP proqramını tamamlayır.",
"files_module_built" : "AnP proqramının faylın idarə edilməsi tamamilə inşa edilmişdir.",
"controllers_module_built" : "AnP kontrol modulları tamamilə inşa edilmişdir.",
"routes_module_built" : "AnP rota idarəetmə modulu tam inşa edilmişdir.",
"errors_module_built" : "AnP proqramının hata idarəetmə modulu tamamilə inşa edilmişdir.",
"web_server_starting" : "'{name}' Web server başlayır...",
"web_server_already_started" : "'{name}' Web server artıq başladı.",
"web_server_building" : "'{name}' adlı yeni Web serveri [{hosts}]-da inşa edilir: {port}.",
"web_server_built" : "Yeni '{name}' Web server \"[{hosts}]: {port}.",
"web_server_starting_thread" : "'{name}' Web server paralel proses iplik başlayır. ..",
"web_server_starting_node" : "'{name}' Web server prosesinin node başlayır...",
"web_server_started" : "'{name}' Web server tamamilə başladı.",
"web_server_module_built" : "'{name}' Web server modulu tamamilə inşa edilmişdir.",
"web_server_closing_socket" : "'{name}' Web server Soket '{socket_type}' dəyişikdir ...",
"web_server_closed_socket" : "'{name}' Web server, Socket '{socket_type}' dəyişdirilmişdir ...",
"web_server_closing" : "'{name}' Web server çıxış edir ...",
"web_server_already_closed" : "'{name}' Web server artıq dəyişik idi ...",
"web_server_closed" : "'{name}' Web server tamamilə çıxdı. ..",
"web_server_already_starting" : "'{name}' Web server artıq dəyişik idi ...",
"web_server_already_stopping" : "'{name}' Web server artıq məlumat altında idi ...",
"web_server_request" : "'{name}' Web server \"{ip}: {port}\" tələb var.",
"web_server_request_empty" : "'{name}' Web server {port}'nin \"{port}\" tərəfindən istəyi boşdur",
"web_server_request_method" : "\"{ip}: {port}\" '{name}'-dan '{method}' metodunun internet serveri '{cache}' '{route}' marşrutundan məlumatlarına malikdir.",
"web_server_waiting" : "'{name}' Web server yeni müştəri məlumatları gözləyir...",
"web_server_request_responding" : "'{name}' Web server '{response}' tərəfindən cavab verir ...",
"anp_bye" : "AnP proqramı tamamilə çıxdı. AnP istifadə etmək üçün...",
"web_server_full_print" : [
"\"{method}\" {ip}-dən {port} adına {cache} məlumatları tərəfindən ",
"{response}-nin məlumatları və məlumatları tərəfindən MKVBQF ",
"adına bir Web bağlantısı var."
],
"sqlite_building" : "SQLite '{name}' bağlantısı inşa edilmişdir ...",
"sqlite_building_error" : "SQLite '{name}' bağlantısı yaratmaq üçün çalışır zaman '{error}' kodu ilə bir hata var.",
"sqlite_built" : "SQLite '{name}' bağlantısı tamamilə inşa edilmişdir.",
"sqlite_closing" : "SQLite '{name}' bağlantısı daxildir ...",
"sqlite_closing_error" : "SQLite '{name}' bağlantısını kapatmaq üçün çalışır zaman '{error}' kodu ilə bir hata var.",
"sqlite_closed" : "SQLite '{name}' bağlantısı tamamilə çıxdı.",
"sqlite_no_input" : "SQLite '{name}' bağlantısı heç bir giriş parametr edir.",
"sqlite_no_file" : "SQLite '{name}' bağlantısı baza faylları üçün yol yoxdur.",
"logs_starting" : "AnP proqramı Giriş Modul aparılır...",
"logs_started" : "MKVBXLYK Logs idarəetmə modulu tamamilə başladı.",
"logs_stopping" : "AnP App Giriş Modullar qorunur...",
"logs_already_stopped" : "AnP proqramı Logs Management modulu artıq dayandı.",
"logs_stopped" : "AnP proqramı Logs Management Modulu tamamilə durduruldu.",
"unaccessible_db_unit" : "ERROR: Database disk sürücüsü mövcuddur.",
"session_cleaned" : "{key} əsas sessiyası təmizlənmişdir."
}
}

@ -0,0 +1,95 @@
{
"catala" : {
"starting_anp" : "Inici de l'aplicació AnP. Si us plau, esperi...",
"settings_loading" : "La configuració s'està carregant...",
"settings_loading_block" : "El bloc de configuració '{block}' s'està carregant ...",
"settings_loaded" : "La configuració completa es carrega correctament.",
"i18n_loading" : "La I18N s'està carregant...",
"i18n_loading_block" : "El bloc I18N '{block}' s'està carregant ...",
"i18n_loaded" : "Tot el I18N estava ben carregat.",
"start_anp_trying" : "Es tracta d'iniciar l'aplicació AnP ...",
"started_anp_app" : "Ja s'ha iniciat l'aplicació AnP.",
"starting_anp_app" : "L'aplicació AnP està començant. Si us plau, esperi...",
"settings_starting" : "El mòdul de gestió configurat l'aplicació AnP s'està començant ...",
"settings_started" : "El mòdul de gestió de la configuració AnP es va iniciar completament.",
"i18n_starting" : "S'inicia el mòdul de gestió I18N de l'aplicació AnP...",
"i18n_started" : "El mòdul de gestió I18N de l'aplicació AnP va començar completament.",
"i18n_set_default" : "Establir l'idioma per defecte...",
"threads_starting" : "El mòdul de gestió de fil de precessió AnP s'està començant ...",
"threads_started" : "El mòdul de gestió de fil de precessió AnP va ser completament iniciat.",
"terminals_starting" : "El mòdul de gestió de terminals de l'aplicació AnP comença a...",
"terminals_started" : "El mòdul de gestió de terminals AnP va ser completament iniciat.",
"threads_working" : "El fil de procés s'executa ara mateix.",
"threads_already_working" : "El fil de procés ja estava funcionant.",
"threads_already_stopped" : "El fil de procés ja es va aturar.",
"threads_stopping" : "Aturar el fil de procés ...",
"threads_stopped" : "El fil de procés ja es va aturar.",
"anp_closing" : "L'aplicació AnP tanca...",
"setting_terminal_input" : "Establir l'entrada terminal.",
"terminals_already_started" : "Ja s'ha iniciat la terminal.",
"terminals_stopping" : "Aturar la terminal...",
"terminals_stopped" : "La terminal es va aturar completament.",
"terminals_already_stopped" : "El terminal ja estava aturat.",
"unknown_command" : "L'ordre amb l'ordre '{order}' és desconegut ...",
"threads_module_built" : "El mòdul de fil de procés AnP s'està construint.",
"terminals_module_build" : "El mòdul de fil de procés de l'aplicació AnP va ser completament construït.",
"anp_help" : "Aquí teniu la informació d'ordres escrita:\n{orders}",
"anp_help_full" : "Aquí teniu tota la informació d'ordres:\n{orders}",
"command_without_help" : "{order} [{synonymous}]: L'ordre no té ajuda.",
"help_help_text" : "{order} [{synonymous}]: Mostra l'ajuda d'una comanda. Podeu especificar una o més ordres per veure la vostra informació completa.",
"help_commands_text" : "Una comanda més llesta per recollir tota la informació.",
"command_unknown" : "{order} [{synonymous}]: Aquesta ordre s'interromp.",
"close_help_text" : "{order} [{synonymous}]: Tanqueu l'aplicació actual MKVBNMT completament.",
"files_module_built" : "El mòdul de gestió de fitxers AnP va ser completament construït.",
"controllers_module_built" : "El mòdul de gestió del controlador d'aplicacions AnP va ser completament construït.",
"routes_module_built" : "El mòdul de gestió de rutes AnP va ser completament construït.",
"errors_module_built" : "El mòdul de gestió d'errors de l'aplicació AnP va ser completament construït.",
"web_server_starting" : "El '{name}' El servidor web està començant...",
"web_server_already_started" : "El '{name}' Ja s'ha iniciat el servidor web.",
"web_server_building" : "Un nou servidor web anomenat '{name}' està sent construït en '[{hosts}]: {port}'...",
"web_server_built" : "El nou '{name}' Preguntes Freqüents - FAQ {port}'.",
"web_server_starting_thread" : "El '{name}' El servidor web està començant un fil de procés paral·lel. ..",
"web_server_starting_node" : "El '{name}' Preguntes Freqüents - FAQ.",
"web_server_started" : "'{name}' Recordar Dades d'usuari.",
"web_server_module_built" : "El '{name}' El mòdul del servidor web va ser completament construït.",
"web_server_closing_socket" : "El '{name}' Preguntes Freqüents - FAQ.",
"web_server_closed_socket" : "'{name}' Preguntes Freqüents - FAQ.",
"web_server_closing" : "El '{name}' El nostre lloc web.",
"web_server_already_closed" : "El '{name}' Ja està tancat el servidor web...",
"web_server_closed" : "El '{name}' El servidor web ha estat completament tancat. ..",
"web_server_already_starting" : "El '{name}' Ja està tancat el servidor web...",
"web_server_already_stopping" : "El '{name}' El servidor web ja està en detenció...",
"web_server_request" : [
"El '{name}' © 2019 Màrqueting digital de BookingSuite. ",
"BookingSuite és una marca de Booking.com. Estaràs en bones mans: ",
"pots confiar en el gran servei d'Atenció al client que ",
"proporciona Booking.com."
],
"web_server_request_empty" : "El servidor web 'MKVBMDQ: {port}' està buit",
"web_server_request_method" : "La sol·licitud de '{ip}: {port}' del '{name}' El servidor web del mètode '{method}' té els bytes '{cache}' d'informació de la ruta '{route}'.",
"web_server_waiting" : "El '{name}' El servidor web està esperant noves sol·licituds...",
"web_server_request_responding" : "El '{name}' Preguntes Freqüents - FAQ.",
"anp_bye" : "L'aplicació AnP estava completament tancada. Gràcies per utilitzar AnP ...",
"web_server_full_print" : [
"Hi ha una connexió web al nom '{name}' de '{method}: {ip}: ",
"{port}' amb els bytes d'informació {cache} a petició i una ",
"resposta {response} bytes informació."
],
"sqlite_building" : "La connexió SQLite '{name}' s'està construint ...",
"sqlite_building_error" : "Hi ha un error amb el codi '{error}' en intentar construir la connexió SQLite '{name}'.",
"sqlite_built" : "La connexió SQLite '{name}' es va construir completament.",
"sqlite_closing" : "La connexió SQLite '{name}' tanca ...",
"sqlite_closing_error" : "Hi ha un error amb el codi '{error}' en tractar de tancar la connexió SQLite '{name}'.",
"sqlite_closed" : "La connexió SQLite '{name}' es va tancar completament.",
"sqlite_no_input" : "La connexió SQLite '{name}' no té cap paràmetre d'entrada.",
"sqlite_no_file" : "La connexió SQLite '{name}' no té camí per al fitxer de base de dades.",
"logs_starting" : "La gestió de registres de l'aplicació AnP S'està iniciant el mòdul...",
"logs_started" : "La gestió de registres de l'aplicació AnP El mòdul va ser totalment iniciat.",
"logs_stopping" : "La implementació de AnP Gestió de registres El mòdul s'ha aturat...",
"logs_already_stopped" : "La Gestió de Registres AnP El mòdul ja estava dret.",
"logs_stopped" : "La gestió de registres AnP El mòdul es va aturar completament.",
"unaccessible_db_unit" : "ERROR: La unitat de disc de la base de dades és inaccessible.",
"session_cleaned" : "La sessió clau {key} ha estat netejada."
}
}

@ -0,0 +1,86 @@
{
"cestina" : {
"starting_anp" : "Zahájení aplikace AnP. Počkejte...",
"settings_loading" : "Konfigurace je nabitá...",
"settings_loading_block" : "Konfigurační blok '{block}' je načteno...",
"settings_loaded" : "Celá konfigurace byla načtena správně.",
"i18n_loading" : "I18N je načteno...",
"i18n_loading_block" : "Blok I18N '{block}' je načteno ...",
"i18n_loaded" : "Celý I18N byl správně načten.",
"start_anp_trying" : "Snaží se začít aplikaci AnP...",
"started_anp_app" : "Aplikace AnP byla již zahájena.",
"starting_anp_app" : "Aplikace AnP začíná. Počkejte...",
"settings_starting" : "Modul řízení nakonfiguroval aplikaci AnP je spuštěn...",
"settings_started" : "Modul AnP byl zcela spuštěn.",
"i18n_starting" : "Modul řízení I18N aplikace AnP je spuštěn...",
"i18n_started" : "Modul řízení I18N aplikace AnP začala zcela.",
"i18n_set_default" : "Nastavení výchozího jazyka...",
"threads_starting" : "Modul řízení závitů MKVRPBSK je spuštěn ...",
"threads_started" : "Modul řízení závitů AnP byl zcela zahájen.",
"terminals_starting" : "Modul správy terminálu aplikace AnP je spuštěn...",
"terminals_started" : "Modul správy terminálu AnP byl zcela spuštěn.",
"threads_working" : "Procesní závit běží hned teď.",
"threads_already_working" : "Procesní závit byl již spuštěn.",
"threads_already_stopped" : "Procesní závit byl již zastaven.",
"threads_stopping" : "Zastavení procesu závit ...",
"threads_stopped" : "Procesní závit byl již zastaven.",
"anp_closing" : "Aplikace AnP je uzavřena...",
"setting_terminal_input" : "Nastavení vstupu terminálu.",
"terminals_already_started" : "Terminál byl již zahájen.",
"terminals_stopping" : "Zastavení terminálu...",
"terminals_stopped" : "Terminál se zcela zastavil.",
"terminals_already_stopped" : "Terminál byl již za zatčen.",
"unknown_command" : "Příkaz s objednávkou '{order}' není znám...",
"threads_module_built" : "Procesní závitový modul aplikace AnP je vytvořen.",
"terminals_module_build" : "Procesní závitový modul aplikace AnP byl zcela postaven.",
"anp_help" : "Zde je zapsaný příkazové informace:\nČeština",
"anp_help_full" : "Zde je všechny informace o příkazu:\n{orders}",
"command_without_help" : "{order} [{synonymous}]: Příkaz nemá žádnou pomoc.",
"help_help_text" : "{order} [{synonymous}]: Zobrazuje pomoc příkazu. Můžete zadat jeden nebo více příkazů, které chcete zobrazit kompletní informace.",
"help_commands_text" : "Další příkazy jsou připraveni shromažďovat všechny vaše informace.",
"command_unknown" : "{order} [{synonymous}]: Tento příkaz je přerušen.",
"close_help_text" : "{order} [{synonymous}]: Zavřete aktuální aplikaci AnP zcela.",
"files_module_built" : "Modul správy souborů aplikace AnP byl zcela postaven.",
"controllers_module_built" : "Modul AnP Driver Management byl zcela postaven.",
"routes_module_built" : "Modul řízení tras AnP byl plně postaven.",
"errors_module_built" : "Modul pro správu chyb AnP byl zcela postaven.",
"web_server_starting" : "'{name}' Web server je spuštěn...",
"web_server_already_started" : "'{name}' Server byl již spuštěn.",
"web_server_building" : "Nový webový server s názvem '{name}' je postaven v '[{hosts}]: {port}'...",
"web_server_built" : "Nový '{name}' Webové server byl postaven v '[MKVBQFG]: {port}.",
"web_server_starting_thread" : "'{name}' Webový server je spuštěn paralelní procesní závit. V.",
"web_server_starting_node" : "'{name}' Web server je spuštění jeho procesního závitového uzlu...",
"web_server_started" : "'{name}' Web server byl zcela spuštěn.",
"web_server_module_built" : "'{name}' Modul webového serveru byl zcela postaven.",
"web_server_closing_socket" : "'{name}' Web server je zavírací zásuvka '{socket_type}' ...",
"web_server_closed_socket" : "Na '{name}' Web server, Socket '{socket_type}' byl uzavřen ...",
"web_server_closing" : "'{name}' Web server je zavírací...",
"web_server_already_closed" : "'{name}' Web server byl již uzavřen...",
"web_server_closed" : "'{name}' Server byl zcela uzavřen. V.",
"web_server_already_starting" : "'{name}' Web server byl již uzavřen...",
"web_server_already_stopping" : "Web server '{name}' byl již pod zatčení...",
"web_server_request" : "'{name}' Web server má žádost z '{ip}: {port}'.",
"web_server_request_empty" : "Žádost o '{ip}: {port}' '{name}' Web server je prázdný",
"web_server_request_method" : "Žádost o '{ip}: {port}' z webového serveru '{name}' prostřednictvím metody '{method}' má '{cache}' bajtů informací z trasy '{route}'.",
"web_server_waiting" : "'{name}' Web server čeká na nové požadavky zákazníků...",
"web_server_request_responding" : "'{name}' Webový server reaguje na '{response}'...",
"anp_bye" : "Aplikace AnP byla zcela uzavřena. Díky za použití AnP ...",
"web_server_full_print" : "Tam je webová připojení k názvu '{name}' z '{method}: {ip}: {port}' s {cache} bajtů informací na vyžádání a {response} informace o odpovědích.",
"sqlite_building" : "Připojení SQLite '{name}' je postaveno...",
"sqlite_building_error" : "Existuje chyba s kódem '{error}' při pokusu o vytvoření připojení SQLite '{name}'.",
"sqlite_built" : "Spojení SQLite '{name}' byla zcela postavena.",
"sqlite_closing" : "SQLite '{name}' připojení je uzavření...",
"sqlite_closing_error" : "Existuje chyba s kódem '{error}' při pokusu o uzavření připojení SQLite '{name}'.",
"sqlite_closed" : "Spojení SQLite '{name}' byla zcela uzavřena.",
"sqlite_no_input" : "SQLite '{name}' připojení nemá vstupní parametr.",
"sqlite_no_file" : "SQLite '{name}' připojení nemá cestu pro databázový soubor.",
"logs_starting" : "Správa protokolů AnP Modul je spuštěn...",
"logs_started" : "Správa protokolů AnP Modul byl plně zahájen.",
"logs_stopping" : "Správa protokolů AnP Modul je zastaven...",
"logs_already_stopped" : "Správa protokolů AnP Modul byl již stojící.",
"logs_stopped" : "Správa protokolů AnP Modul byl zcela zastaven.",
"unaccessible_db_unit" : "ERROR: Diskový disk databáze je nepřístupný.",
"session_cleaned" : "Byly vyčištěny klíčové relace {key}."
}
}

@ -0,0 +1,90 @@
{
"dansk" : {
"starting_anp" : "Starting af AnP ansøgning. Vent venligst...",
"settings_loading" : "Konfigurationen indlæses...",
"settings_loading_block" : "'{block}' konfiguration blok er indlæst...",
"settings_loaded" : "Hele konfigurationen blev indlæst korrekt.",
"i18n_loading" : "I18N indlæses...",
"i18n_loading_block" : "I18N '{block}' blok er indlæst...",
"i18n_loaded" : "Hele I18N var korrekt indlæst.",
"start_anp_trying" : "Du forsøger at starte AnP app...",
"started_anp_app" : "AnP ansøgning blev allerede startet.",
"starting_anp_app" : "AnP ansøgning starter. Vent venligst...",
"settings_starting" : "Ledelsesmodulet konfigureret AnP-applikationen starter...",
"settings_started" : "AnP app konfiguration ledelse modul startede helt.",
"i18n_starting" : "I18N ledelse modul af AnP ansøgning er begyndt at...",
"i18n_started" : "I18N ledelse modul af AnP-applikationen startede helt.",
"i18n_set_default" : "Etablering af standardsproget...",
"threads_starting" : "AnP precess tråd management modul er begyndt...",
"threads_started" : "AnP precess gevind management modul blev helt startet.",
"terminals_starting" : "Terminalstyringsmodulet for AnP-applikationen starter...",
"terminals_started" : "MKVBMST terminalstyringsmodulet blev helt startet.",
"threads_working" : "Procestråden kører lige nu.",
"threads_already_working" : "Procestråd var allerede kørende.",
"threads_already_stopped" : "Procestråden blev allerede standset.",
"threads_stopping" : "Stopning af procestråden...",
"threads_stopped" : "Procestråden blev allerede standset.",
"anp_closing" : "AnP app lukkes...",
"setting_terminal_input" : "Etablering af terminalindgangen.",
"terminals_already_started" : "Terminalen blev allerede startet.",
"terminals_stopping" : "Stopning af terminalen...",
"terminals_stopped" : "Terminalen stoppede helt.",
"terminals_already_stopped" : "Terminalen var allerede under arrestation.",
"unknown_command" : "Kommandoen med '{order}' ordre er ukendt...",
"threads_module_built" : "AnP procestrådmodulet er bygget.",
"terminals_module_build" : "Procestrådmodulet af AnP-applikationen blev helt konstrueret.",
"anp_help" : "Her er kommandooplysningerne skrevet:\nI nærheden af {orders}",
"anp_help_full" : "Her er alle kommandooplysningerne:\nI nærheden af {orders}",
"command_without_help" : "{order} [{synonymous}]: Kommandoen har ingen hjælp.",
"help_help_text" : "{order} [{synonymous}]: Viser hjælp fra en kommando. Du kan angive en eller flere kommandoer for at se dine komplette oplysninger.",
"help_commands_text" : "En anden kommandoer er klar til at indsamle alle dine oplysninger.",
"command_unknown" : "{order} [{synonymous}]: Denne kommando afbrydes.",
"close_help_text" : "{order} [{synonymous}]: Luk den nuværende AnP ansøgning helt.",
"files_module_built" : "Filhåndteringsmodulet af AnP-applikationen blev helt bygget.",
"controllers_module_built" : "AnP Driver Management Module er helt bygget.",
"routes_module_built" : "AnP rute management modul var helt bygget.",
"errors_module_built" : "Fejlhåndteringsmodulet af AnP-applikationen blev helt bygget.",
"web_server_starting" : "The '{name}' Web server starter...",
"web_server_already_started" : "The '{name}' Web server blev allerede startet.",
"web_server_building" : "En ny webserver er bygget med navnet '{name}' i '[{hosts}]: {port}...",
"web_server_built" : "Den nye '{name}' webserveren er bygget i \"[{hosts}]: .",
"web_server_starting_thread" : "The '{name}' Web server starter en parallel procestråd. ...",
"web_server_starting_node" : "The '{name}' Web server starter sin procestråd node...",
"web_server_started" : "The '{name}' Web server startede helt.",
"web_server_module_built" : "The MKVBHB Web server modul var helt bygget.",
"web_server_closing_socket" : "The '{name}' Web server lukkes af '{socket_type}' Socket...",
"web_server_closed_socket" : "På '{name}' Web server, Socket '{socket_type}' er blevet lukket...",
"web_server_closing" : "The '{name}' Web server lukkes...",
"web_server_already_closed" : "The '{name}' Web server var allerede lukket...",
"web_server_closed" : "The '{name}' Web server er blevet helt lukket. ...",
"web_server_already_starting" : "The '{name}' Web server var allerede lukket...",
"web_server_already_stopping" : "The '{name}' Web server var allerede under arrestation...",
"web_server_request" : "The '{name}' Web server har en anmodning fra '{ip}: {port} .",
"web_server_request_empty" : "Anmodningen om '{ip}: {port}’ af '{name}' webserveren er tom",
"web_server_request_method" : "Anmodningen om '{ip}: {port}' fra '{name}' serveren af '{method}' metoden har '{cache}' bytes af oplysninger fra '{route}' ruten.",
"web_server_waiting" : "The '{name}' Web server venter på nye anmodninger...",
"web_server_request_responding" : "The '{name}' Web server reagerer med MKVBRF bytes...",
"anp_bye" : "AnP app var helt lukket. Tak til brug af AnP...",
"web_server_full_print" : [
"Der er en web-forbindelse til MKVDMHs navn fra '{method}: {ip}: ",
"{port}’ med {cache} information bytes i anmodning og en ",
"{response} svar aftes oplysninger."
],
"sqlite_building" : "SQLite '{name}' forbindelsen er bygget...",
"sqlite_building_error" : "Der er en fejl med '{error}' kode, når du forsøger at opbygge SQLite '{name}' forbindelsen.",
"sqlite_built" : "SQLite MKVNQG forbindelsen blev helt bygget.",
"sqlite_closing" : "SQLite '{name}'-forbindelsen lukkes...",
"sqlite_closing_error" : "Der er en fejl med '{error}' kode, når du forsøger at lukke SQLite '{name}' forbindelsen.",
"sqlite_closed" : "SQLite '{name}' forbindelsen var helt lukket.",
"sqlite_no_input" : "SQLite '{name}' forbindelsen har ingen input parameter.",
"sqlite_no_file" : "SQLite '{name}' forbindelsen har ikke vej til databasefilen.",
"logs_starting" : "The AnP App Logs Management Modulet bliver lanceret...",
"logs_started" : "The AnP Logs Management Modulet blev fuldt igangsat.",
"logs_stopping" : "The AnP App Logs Management Modulet stoppes...",
"logs_already_stopped" : "AnP implementeringslogs Management modul var allerede stående.",
"logs_stopped" : "The AnP App Logs Management Modulet blev helt stoppet.",
"unaccessible_db_unit" : "ERROR: Diskdrevet af databasen er utilgængelig.",
"session_cleaned" : "{key}-tasten session er blevet renset."
}
}

@ -0,0 +1,94 @@
{
"deutsch" : {
"starting_anp" : "Starten Sie die AnP-Anwendung. Bitte warten Sie...",
"settings_loading" : "Die Konfiguration wird geladen...",
"settings_loading_block" : "Der Konfigurationsblock '{block}' wird geladen...",
"settings_loaded" : "Die gesamte Konfiguration wurde korrekt geladen.",
"i18n_loading" : "Die I18N wird geladen...",
"i18n_loading_block" : "Der I18N '{block}'-Block wird geladen...",
"i18n_loaded" : "Die gesamte I18N wurde richtig geladen.",
"start_anp_trying" : "Sie versuchen die AnP App zu starten...",
"started_anp_app" : "Die AnP-Anwendung wurde bereits gestartet.",
"starting_anp_app" : "Die AnP-Anwendung beginnt. Bitte warten Sie...",
"settings_starting" : "Das Managementmodul, das die AnP-Anwendung konfiguriert hat, wird gestartet...",
"settings_started" : "Das Konfigurationsmanagement-Modul AnP startete vollständig.",
"i18n_starting" : "Das I18N-Managementmodul der AnP-Anwendung beginnt...",
"i18n_started" : "Das I18N-Managementmodul der MKVBPKP-Anwendung startete vollständig.",
"i18n_set_default" : "Erstellung der Standardsprache...",
"threads_starting" : "Das AnP Precess Thread Management Modul wird gestartet...",
"threads_started" : "Das AnP Vorgewindemanagementmodul wurde komplett gestartet.",
"terminals_starting" : "Das Terminal-Management-Modul der AnP-Anwendung beginnt...",
"terminals_started" : "Das Terminalmanagementmodul AnP wurde komplett gestartet.",
"threads_working" : "Der Prozessfaden läuft gerade.",
"threads_already_working" : "Prozessgewinde lief bereits.",
"threads_already_stopped" : "Der Prozessfaden wurde bereits gestoppt.",
"threads_stopping" : "Stoppen des Prozessgewindes...",
"threads_stopped" : "Der Prozessfaden wurde bereits gestoppt.",
"anp_closing" : "Die AnP App schließt...",
"setting_terminal_input" : "Einrichtung des Terminaleingangs.",
"terminals_already_started" : "Das Terminal wurde bereits gestartet.",
"terminals_stopping" : "Anhalten des Terminals...",
"terminals_stopped" : "Das Terminal blieb völlig stehen.",
"terminals_already_stopped" : "Das Terminal war bereits verhaftet.",
"unknown_command" : "Der Befehl mit der '{order}'-Bestellung ist unbekannt...",
"threads_module_built" : "Das Prozessgewindemodul AnP wird gebaut.",
"terminals_module_build" : "Das Prozessgewindemodul der AnP Applikation wurde vollständig aufgebaut.",
"anp_help" : "Hier sind die Befehlsinformationen geschrieben:\n{orders}",
"anp_help_full" : "Hier sind alle Befehlsinformationen:\n{orders}",
"command_without_help" : "{order} [{synonymous}]: Der Befehl hat keine Hilfe.",
"help_help_text" : "{order} [{synonymous}]: Zeigt die Hilfe eines Befehls. Sie können einen oder mehrere Befehle angeben, um Ihre vollständigen Informationen anzuzeigen.",
"help_commands_text" : "Ein weiterer Befehl ist bereit, alle Ihre Informationen zu sammeln.",
"command_unknown" : "{order} [{synonymous}]: Dieser Befehl wird eingestellt.",
"close_help_text" : "{order} [{synonymous}]: Schließen Sie die aktuelle AnP-Anwendung vollständig.",
"files_module_built" : "Das AnP Dateimanagement-Modul wurde komplett gebaut.",
"controllers_module_built" : "Das Steuerungsmodul AnP wurde komplett gebaut.",
"routes_module_built" : "Das Streckenmanagementmodul AnP wurde komplett gebaut.",
"errors_module_built" : "Das Fehlermanagementmodul AnP wurde komplett gebaut.",
"web_server_starting" : "Die '{name}' Webserver startet...",
"web_server_already_started" : "Der '{name}' Webserver wurde bereits gestartet.",
"web_server_building" : "Ein neuer Webserver namens '{name}' wird in '[{hosts}] gebaut: {port}...",
"web_server_built" : "Der neue Webserver '{name}' wurde in '[{hosts}] gebaut: {port}'.",
"web_server_starting_thread" : "Der '{name}' Webserver startet einen parallelen Prozessfaden. .",
"web_server_starting_node" : "Der '{name}' Web-Server startet seinen Prozess Thread-Knoten...",
"web_server_started" : "Die '{name}' Webserver startete komplett.",
"web_server_module_built" : "Die '{name}' Webserver-Modul wurde komplett gebaut.",
"web_server_closing_socket" : "Der '{name}' Webserver schließt den '{socket_type}' Socket...",
"web_server_closed_socket" : "Auf dem '{name}' Webserver, der Socket '{socket_type}' wurde geschlossen...",
"web_server_closing" : "Die '{name}' Webserver schließt...",
"web_server_already_closed" : "Der '{name}' Webserver wurde bereits geschlossen...",
"web_server_closed" : "Der '{name}' Webserver wurde vollständig geschlossen. .",
"web_server_already_starting" : "Der '{name}' Webserver wurde bereits geschlossen...",
"web_server_already_stopping" : "Der '{name}' Webserver wurde bereits verhaftet...",
"web_server_request" : "Der '{name}' Webserver hat eine Anfrage von '{ip}: {port}'.",
"web_server_request_empty" : "Der Antrag von '{ip}: {port}' der '{name}' Webserver ist leer",
"web_server_request_method" : [
"Die Anfrage von '{ip}: {port}' vom '{name}' Der Webserver der ",
"'{method}'-Methode verfügt über '{cache}' Bytes von ",
"Informationen aus der '{route}'-Route."
],
"web_server_waiting" : "Die '{name}' Webserver wartet auf neue Kundenwünsche...",
"web_server_request_responding" : "Der '{name}' Webserver reagiert auf '{response}' Bytes...",
"anp_bye" : "Die AnP-Anwendung wurde vollständig geschlossen. Danke für die Verwendung von AnP...",
"web_server_full_print" : [
"Es gibt eine Web-Verbindung zu '{name}' Namen von '{method}: ",
"{ip}: {port}' mit {cache} Informationen Bytes auf Anfrage und ",
"eine {response} Antwort Bytes Informationen."
],
"sqlite_building" : "Die SQLite '{name}' Verbindung wird gebaut...",
"sqlite_building_error" : "Es gibt einen Fehler mit '{error}'-Code, wenn Sie versuchen, die SQLite '{name}'-Verbindung zu bauen.",
"sqlite_built" : "Die SQLite '{name}'-Verbindung wurde komplett gebaut.",
"sqlite_closing" : "Die SQLite '{name}' Verbindung schließt...",
"sqlite_closing_error" : "Es gibt einen Fehler mit '{error}'-Code, wenn Sie versuchen, die SQLite '{name}'-Verbindung zu schließen.",
"sqlite_closed" : "Die SQLite '{name}'-Verbindung wurde vollständig geschlossen.",
"sqlite_no_input" : "Die SQLite '{name}'-Verbindung hat keinen Eingabeparameter.",
"sqlite_no_file" : "Die SQLite '{name}'-Verbindung hat keinen Pfad für die Datenbankdatei.",
"logs_starting" : "Die AnP App Logs Management Modul wird gestartet...",
"logs_started" : "Das Logs Management-Modul der AnP-Anwendung wurde vollständig initiiert.",
"logs_stopping" : "Die AnP App Logs Management Modul wird gestoppt...",
"logs_already_stopped" : "AnP Implementierung Logs Management Modul stand bereits.",
"logs_stopped" : "Die AnP Implementierung Logs Management Das Modul wurde komplett gestoppt.",
"unaccessible_db_unit" : "ERROR: Das Laufwerk der Datenbank ist unzugänglich.",
"session_cleaned" : "Die {key} Schlüsselsitzung wurde gereinigt."
}
}

@ -0,0 +1,90 @@
{
"ellinika" : {
"starting_anp" : "Ξεκινώντας την εφαρμογή AnP. Παρακαλώ περιμένετε...",
"settings_loading" : "Η διαμόρφωση φορτώνεται...",
"settings_loading_block" : "Το μπλοκ διαμόρφωσης '{block}' φορτώνεται...",
"settings_loaded" : "Όλη η διαμόρφωση φορτώθηκε σωστά.",
"i18n_loading" : "Το I18N είναι φορτωμένο...",
"i18n_loading_block" : "Το μπλοκ I18N '{block}' φορτώνεται...",
"i18n_loaded" : "Το σύνολο I18N ήταν σωστά φορτωμένο.",
"start_anp_trying" : "Προσπαθεί να ξεκινήσει την εφαρμογή AnP.",
"started_anp_app" : "Η εφαρμογή AnP ξεκίνησε ήδη.",
"starting_anp_app" : "Η εφαρμογή AnP ξεκινά. Παρακαλώ περιμένετε...",
"settings_starting" : "Η μονάδα διαχείρισης που έχει διαμορφώσει την εφαρμογή AnP αρχίζει...",
"settings_started" : "Η μονάδα διαχείρισης εφαρμογών AnP ξεκίνησε εντελώς.",
"i18n_starting" : "Η μονάδα διαχείρισης I18N της εφαρμογής AnP αρχίζει να...",
"i18n_started" : "Η μονάδα διαχείρισης I18N της εφαρμογής AnP ξεκίνησε εντελώς.",
"i18n_set_default" : "Δημιουργία της προεπιλεγμένης γλώσσας...",
"threads_starting" : "The AnP Ξεκινάει η ενότητα διαχείρισης προβλημάτων...",
"threads_started" : "Η μονάδα διαχείρισης θεμάτων AnP ξεκίνησε εντελώς.",
"terminals_starting" : "Η μονάδα διαχείρισης τερματικών σταθμών της εφαρμογής AnP ξεκινά...",
"terminals_started" : "Η μονάδα διαχείρισης τερματικών σταθμών MKVQ ξεκίνησε εντελώς.",
"threads_working" : "Το νήμα της διαδικασίας τρέχει τώρα.",
"threads_already_working" : "Το νήμα της διαδικασίας λειτουργούσε ήδη.",
"threads_already_stopped" : "Το νήμα της διαδικασίας σταμάτησε ήδη.",
"threads_stopping" : "Σταματήστε το νήμα της διαδικασίας...",
"threads_stopped" : "Το νήμα της διαδικασίας σταμάτησε ήδη.",
"anp_closing" : "Η εφαρμογή AnP κλείνει...",
"setting_terminal_input" : "Δημιουργία της εισόδου τερματικού σταθμού.",
"terminals_already_started" : "Ο τερματικός σταθμός είχε ήδη ξεκινήσει.",
"terminals_stopping" : "Σταματήστε το τερματικό...",
"terminals_stopped" : "Ο τερματικός σταθμός σταμάτησε εντελώς.",
"terminals_already_stopped" : "Ο τερματικός σταθμός ήταν ήδη υπό σύλληψη.",
"unknown_command" : "Η εντολή '{order}' είναι άγνωστη...",
"threads_module_built" : "Η ενότητα της διαδικασίας νήμα της εφαρμογής AnP είναι χτισμένο.",
"terminals_module_build" : "Η μονάδα φιδιού της εφαρμογής AnP κατασκευάστηκε πλήρως.",
"anp_help" : "Εδώ είναι οι πληροφορίες εντολών γραπτές:\n{orders}",
"anp_help_full" : "Εδώ είναι όλες οι πληροφορίες εντολών:\n{orders}",
"command_without_help" : "{order} [{synonymous}]: Η εντολή δεν έχει καμία βοήθεια.",
"help_help_text" : "{order} [{synonymous}]: Δείχνει τη βοήθεια μιας εντολής. Μπορείτε να καθορίσετε μία ή περισσότερες εντολές για να δείτε τις πλήρεις πληροφορίες σας.",
"help_commands_text" : "Μία ακόμη εντολή είναι έτοιμη να συλλέξει όλες τις πληροφορίες σας.",
"command_unknown" : "{order} [{synonymous}]: Αυτή η εντολή διακόπτεται.",
"close_help_text" : "{order} [{synonymous}]: Κλείστε την τρέχουσα εφαρμογή AnP εντελώς.",
"files_module_built" : "Η μονάδα διαχείρισης αρχείων AnP χτίστηκε πλήρως.",
"controllers_module_built" : "Η μονάδα διαχείρισης εφαρμογών AnP κατασκευάστηκε πλήρως.",
"routes_module_built" : "Η μονάδα διαχείρισης διαδρομών AnP κατασκευάστηκε πλήρως.",
"errors_module_built" : "Η μονάδα διαχείρισης σφαλμάτων της εφαρμογής AnP κατασκευάστηκε πλήρως.",
"web_server_starting" : "The '{name}' Web server ξεκινά...",
"web_server_already_started" : "The '{name}' Ο web server είχε ήδη ξεκινήσει.",
"web_server_building" : "Ένας νέος web server που ονομάζεται '{name}' κατασκευάζεται στο \"[{hosts}]: {port}.",
"web_server_built" : "Ο νέος web server '{name}' έχει κατασκευαστεί στο \"[{hosts}]: {port}».",
"web_server_starting_thread" : "The '{name}' Ο web server ξεκινά ένα παράλληλο νήμα διαδικασίας. . .",
"web_server_starting_node" : "The '{name}' Ο διακομιστής ιστοσελίδων ξεκινά τη διαδικασία του νήμα node...",
"web_server_started" : "The '{name}' Ο web server ξεκίνησε εντελώς.",
"web_server_module_built" : "The '{name}' Η ενότητα web server κατασκευάστηκε πλήρως.",
"web_server_closing_socket" : "The '{name}' Web server κλείνει το MKVBDFT...",
"web_server_closed_socket" : "Στο Web server '{name}', το '{socket_type}' έχει κλείσει.",
"web_server_closing" : "The MKVBBBKL Web server κλείνει...",
"web_server_already_closed" : "The '{name}' Ο web server ήταν ήδη κλειστός...",
"web_server_closed" : "The '{name}' Ο web server έχει κλείσει εντελώς. . .",
"web_server_already_starting" : "The '{name}' Ο web server ήταν ήδη κλειστός...",
"web_server_already_stopping" : "The '{name}' Ο web server ήταν ήδη υπό σύλληψη...",
"web_server_request" : "The '{name}' Ο web server έχει ένα αίτημα από το \"{ip}: {port}\".",
"web_server_request_empty" : "Το αίτημα του {ip}: {port} από τον διακομιστή Web '{name}' είναι άδειο",
"web_server_request_method" : "Το αίτημα του \"{ip}: {port}\" του διακομιστή Web '{name}' από τη μέθοδο MKVBHNBBD έχει '{cache}' bytes πληροφοριών από τη διαδρομή '{route}'.",
"web_server_waiting" : "The '{name}'z Web server περιμένει νέα αιτήματα πελατών...",
"web_server_request_responding" : "The '{name}' Ο διακομιστής ιστοσελίδων ανταποκρίνεται στους πίνακες '{response}'...",
"anp_bye" : "Η εφαρμογή AnP ήταν εντελώς κλειστή. Χάρη στη χρήση του AnP...",
"web_server_full_print" : [
"Υπάρχει μια σύνδεση Web με το όνομα '{name}' από το \"{method}: ",
"{ip}: {port}\" με το {cache} bytes πληροφοριών στο αίτημα και ένα ",
"{response} απόκριση από πληροφορίες."
],
"sqlite_building" : "Η σύνδεση SQLite '{name}' κατασκευάζεται...",
"sqlite_building_error" : "Υπάρχει ένα λάθος με τον κωδικό '{error}' όταν προσπαθεί να χτίσει τη σύνδεση SQLite '{name}'.",
"sqlite_built" : "Η σύνδεση SQLite '{name}' κατασκευάστηκε πλήρως.",
"sqlite_closing" : "Η σύνδεση SQLite '{name}' κλείνει...",
"sqlite_closing_error" : "Υπάρχει ένα λάθος με τον κωδικό '{error}' όταν προσπαθεί να κλείσει τη σύνδεση SQLite '{name}'.",
"sqlite_closed" : "Η σύνδεση SQLite '{name}' ήταν εντελώς κλειστή.",
"sqlite_no_input" : "Η σύνδεση SQLite '{name}' δεν έχει παραμέτρο εισόδου.",
"sqlite_no_file" : "Η σύνδεση SQLite '{name}' δεν έχει Path για το αρχείο βάσης δεδομένων.",
"logs_starting" : "The AnP Logs Management Η ενότητα ξεκινά...",
"logs_started" : "The AnP Logs Management Η ενότητα ξεκίνησε πλήρως.",
"logs_stopping" : "Το AnP App Logs Management Η ενότητα σταματά...",
"logs_already_stopped" : "The AnP Logs Management Η ενότητα ήδη στέκεται.",
"logs_stopped" : "Η εφαρμογή AnP Η μονάδα διαχείρισης των αρχείων σταμάτησε εντελώς.",
"unaccessible_db_unit" : "ERROR: Η οδήγηση δίσκου της βάσης δεδομένων είναι απρόσιτη.",
"session_cleaned" : "Η βασική συνεδρία {key} έχει καθαριστεί."
}
}

@ -0,0 +1,90 @@
{
"english" : {
"starting_anp" : "Starting the AnP app. Please wait...",
"settings_loading" : "The configuration is being loaded...",
"settings_loading_block" : "The '{block}' configuration block is being loaded...",
"settings_loaded" : "The entire configuration was loaded correctly.",
"i18n_loading" : "The I18N is being loaded...",
"i18n_loading_block" : "The I18N '{block}' block is being loaded...",
"i18n_loaded" : "The entire I18N was properly loaded.",
"start_anp_trying" : "It's trying to start the AnP app...",
"started_anp_app" : "The AnP application was already started.",
"starting_anp_app" : "The AnP application is starting. Please wait...",
"settings_starting" : "The management module configured the AnP application is being started...",
"settings_started" : "The AnP application configuration management module started completely.",
"i18n_starting" : "The I18N management module of the AnP application is beginning to...",
"i18n_started" : "The I18N management module of the AnP application started completely.",
"i18n_set_default" : "Establishing the default language...",
"threads_starting" : "The AnP application precess thread management module is being started...",
"threads_started" : "The AnP precess thread management module was completely started.",
"terminals_starting" : "The terminal management module of the AnP application is initiating...",
"terminals_started" : "The AnP terminal management module was completely started.",
"threads_working" : "The process thread is running right now.",
"threads_already_working" : "Process thread was already running.",
"threads_already_stopped" : "The process thread was already stopped.",
"threads_stopping" : "Stopping the process thread...",
"threads_stopped" : "The process thread was already stopped.",
"anp_closing" : "The AnP application is closing...",
"setting_terminal_input" : "Establishing the terminal entrance.",
"terminals_already_started" : "The terminal was already started.",
"terminals_stopping" : "Stopping the terminal...",
"terminals_stopped" : "The terminal stopped completely.",
"terminals_already_stopped" : "The terminal was already under arrest.",
"unknown_command" : "The command with the MKVBLR command is unknown...",
"threads_module_built" : "The AnP process thread module is being built.",
"terminals_module_build" : "The AnP process yarn module was completely constructed.",
"anp_help" : "Here is the command information written:\n{orders}",
"anp_help_full" : "Here is all the command information:\n{orders}",
"command_without_help" : "{order} [{synonymous}]: The command has no help.",
"help_help_text" : "{order} [{synonymous}]: Shows the help of a command. You can specify one or more commands to view your complete information.",
"help_commands_text" : "One more commands are ready to collect all your information.",
"command_unknown" : "{order} [{synonymous}]: This command is discontinued.",
"close_help_text" : "{order} [{synonymous}]: Close the current AnP application completely.",
"files_module_built" : "The AnP file management module was completely built.",
"controllers_module_built" : "The AnP driver management module was completely built.",
"routes_module_built" : "The AnP route management module was fully constructed.",
"errors_module_built" : "The error management module of the AnP application was completely built.",
"web_server_starting" : "The '{name}' Web server is starting...",
"web_server_already_started" : "The '{name}' Web server was already started.",
"web_server_building" : "A new Web server named '{name}' is being built on '[{hosts}]: {port}'...",
"web_server_built" : "The new '{name}' Web server has been built in '[{hosts}]: {port}'.",
"web_server_starting_thread" : "The '{name}' Web server is starting a parallel process thread. ..",
"web_server_starting_node" : "The '{name}' Web server is starting its process thread node...",
"web_server_started" : "The '{name}' Web server started completely.",
"web_server_module_built" : "The '{name}' Web server module was completely built.",
"web_server_closing_socket" : "The '{name}' Web server is closing the Socket '{socket_type}'...",
"web_server_closed_socket" : "On the '{name}' Web server, Socket MKVBLPN has been closed...",
"web_server_closing" : "The '{name}' Web server is closing...",
"web_server_already_closed" : "The '{name}' Web server was already closed...",
"web_server_closed" : "The '{name}' Web server has been completely closed. ..",
"web_server_already_starting" : "The '{name}' Web server was already closed...",
"web_server_already_stopping" : "The '{name}' Web server was already detained...",
"web_server_request" : "The '{name}' Web server has a request from '{ip}: {port}'.",
"web_server_request_empty" : "The request of '{ip}: {port}' of the '{name}' Web server is empty",
"web_server_request_method" : "The request of '{ip}: {port}' of the '{name}' Web server by the '{method}' method has '{cache}' bytes of information from the '{route}' route.",
"web_server_waiting" : "The '{name}' Web server is waiting for new customer requests...",
"web_server_request_responding" : "The '{name}' Web server is responding to '{response}' bytes...",
"anp_bye" : "The AnP app was completely closed. Thanks for using AnP...",
"web_server_full_print" : [
"There is a Web connection to '{name}' name from '{method}: {ip}: ",
"{port}' with {cache} information bytes on the request and a ",
"{response} response bytes information."
],
"sqlite_building" : "The SQLite '{name}' connection is being built...",
"sqlite_building_error" : "There is an error with '{error}' code when trying to build the SQLite '{name}' connection.",
"sqlite_built" : "The SQLite '{name}' connection was completely built.",
"sqlite_closing" : "The SQLite '{name}' connection is closing...",
"sqlite_closing_error" : "There is an error with '{error}' code when trying to close the SQLite '{name}' connection.",
"sqlite_closed" : "The SQLite '{name}' connection was completely closed.",
"sqlite_no_input" : "The SQLite '{name}' connection has no input parameter.",
"sqlite_no_file" : "The SQLite '{name}' connection does not have Path for the database file.",
"logs_starting" : "The AnP application's Logs Management Module is being started...",
"logs_started" : "The AnP App's Logs Management Module was fully initiated.",
"logs_stopping" : "The AnP App Logs Management Module is being stopped...",
"logs_already_stopped" : "The AnP App Logs Management module was already standing.",
"logs_stopped" : "The AnP Logs Management Module was completely stopped.",
"unaccessible_db_unit" : "ERROR: The disk drive of the database is inaccessible.",
"session_cleaned" : "The {key} key session has been cleaned."
}
}

@ -0,0 +1,113 @@
{
"espanol" : {
"starting_anp" : "Iniciando la aplicación AnP. Por favor, espere...",
"settings_loading" : "La configuración está siendo cargada...",
"settings_loading_block" : "El bloque de configuración '{block}' está siendo cargado...",
"settings_loaded" : "Toda la configuración fue cargada correctamente.",
"i18n_loading" : "La I18N está siendo cargada...",
"i18n_loading_block" : "El bloque de la I18N '{block}' está siendo cargado...",
"i18n_loaded" : "Toda la I18N fue cargada correctamente.",
"start_anp_trying" : "Se está intentando iniciar la aplicación AnP...",
"started_anp_app" : "La aplicación AnP ya estaba iniciada.",
"starting_anp_app" : "La aplicación AnP se está iniciando. Por favor, espere...",
"settings_starting" : "El módulo de gestión configuradión de la aplicación AnP se está iniciando...",
"settings_started" : "El módulo de gestión configuración de la aplicación AnP se inició completamente.",
"i18n_starting" : "El módulo de gestión de la I18N de la aplicación AnP se está iniciando...",
"i18n_started" : "El módulo de gestión de la I18N de la aplicación AnP se inició completamente.",
"i18n_set_default" : "Estableciendo el idioma por defecto...",
"threads_starting" : "El módulo de gestión de hilos de preceso de la aplicación AnP se está iniciando...",
"threads_started" : "El módulo de gestión de hilos de preceso de la aplicación AnP se inició completamente.",
"terminals_starting" : "El módulo de gestión del terminal de la aplicación AnP se está iniciando...",
"terminals_started" : "El módulo de gestión del terminal de la aplicación AnP se inició completamente.",
"threads_working" : "El hilo de proceso está corriendo ahora mismo.",
"threads_already_working" : "El hilo de procesos ya estaba corriendo.",
"threads_already_stopped" : "El hilo de procesos ya estaba detenido.",
"threads_stopping" : "Deteniendo el hilo de proceso...",
"threads_stopped" : "El hilo de proceso ya estaba detenido.",
"anp_closing" : "La aplicación AnP se está cerrando...",
"setting_terminal_input" : "Estableciendo la entrada del terminal.",
"terminals_already_started" : "El terminal ya estaba iniciado.",
"terminals_stopping" : "Deteniendo el terminal...",
"terminals_stopped" : "El terminal se detuvo completamente.",
"terminals_already_stopped" : "El terminal ya estaba detenido.",
"unknown_command" : "El comando con la orden '{order}' es desconocido...",
"threads_module_built" : "El módulo de hilos de proceso de la aplicación AnP se está construyendo.",
"terminals_module_build" : "El módulo de hilos de proceso de la aplicación AnP se construyó completamente.",
"anp_help" : "Aquí tiene escrito la información del comando:\n{orders}",
"anp_help_full" : "Aquí tiene toda la información del comando:\n{orders}",
"command_without_help" : "{order} [{synonymous}]: El comando no tiene ayuda.",
"help_help_text" : [
"{order} [{synonymous}]: Muestra la ayuda de un comando. Puede especificar uno o más comandos para ver su información completa."
],
"help_commands_text" : "Uno más comandos están listos para recoger toda su información.",
"command_unknown" : "{order} [{synonymous}]: Este comando es desconicido.",
"close_help_text" : "{order} [{synonymous}]: Cierra la aplicación AnP actual completamente.",
"files_module_built" : "El módulo de gestión de ficheros de la aplicación AnP se construyó completamente.",
"controllers_module_built" : "El módulo de gestión de controladores de la aplicación AnP se construyó completamente.",
"routes_module_built" : "El módulo de gestión de rutas de la aplicación AnP se construyó completamente.",
"errors_module_built" : "El módulo de gestión de errores de la aplicación AnP se construyó completamente.",
"web_server_starting" : "El servidor Web '{name}' se está iniciando...",
"web_server_already_started" : "El servidor Web '{name}' ya estaba iniciado.",
"web_server_building" : [
"Se está construyendo un nuevo servidor Web con nombre '{name}' en '[{hosts}]:{port}'..."
],
"web_server_built" : "El nuevo servidor Web '{name}' ha sido construído en '[{hosts}]:{port}'.",
"web_server_starting_thread" : [
"El servidor Web '{name}' está iniciando un hilo de procesos paralelo..."
],
"web_server_starting_node" : [
"El servidor Web '{name}' está iniciando su nodo de hilo de procesos..."
],
"web_server_started" : "El servidor Web '{name}' se inició completamente.",
"web_server_module_built" : "El módulo del servidor Web '{name}' se construyó completamente.",
"web_server_closing_socket" : [
"El servidor Web '{name}' está cerrando el Socket '{socket_type}'..."
],
"web_server_closed_socket" : [
"En el servidor Web '{name}', el Socket '{socket_type}' ha sido cerrado..."
],
"web_server_closing" : "El servidor Web '{name}' se está cerrando...",
"web_server_already_closed" : "El servidor Web '{name}' ya estaba cerrado...",
"web_server_closed" : "El servidor Web '{name}' ha sido cerrado completamente...",
"web_server_already_starting" : "El servidor Web '{name}' ya estaba cerrado...",
"web_server_already_stopping" : "El servidor Web '{name}' ya estaba detenido...",
"web_server_request" : "El servidor Web '{name}' tiene una petición desde '{ip}:{port}'.",
"web_server_request_empty" : "La petición de '{ip}:{port}' del servidor Web '{name}' está vacía",
"web_server_request_method" : [
"La petición de '{ip}:{port}' del servidor Web '{name}' por el método '{method}' tiene '{cache}' ",
"bytes de información desde la ruta '{route}'."
],
"web_server_waiting" : "El servidor Web '{name}' está esperando por nuevas peticiones de clientes...",
"web_server_request_responding" : [
"El servidor Web '{name}' está respondiendo con '{response}' bytes..."
],
"anp_bye" : "La aplicación AnP se cerró completamente. Gracias por usar AnP...",
"web_server_full_print" : [
"Hay una conexión Web a nombre de '{name}' desde '{method}:{ip}:{port}' con {cache} ",
"bytes de información en la petición y una respuesta de {response} bytes información."
],
"sqlite_building" : "La conexión SQLite '{name}' se está construyendo...",
"sqlite_building_error" : [
"Hay un error con código '{error}' al intentar construir la conexión SQLite '{name}'."
],
"sqlite_built" : "La conexión SQLite '{name}' se construyó completamente.",
"sqlite_closing" : "La conexión SQLite '{name}' se está cerrando...",
"sqlite_closing_error" : [
"Hay un error con código '{error}' al intentar cerrar la conexión SQLite '{name}'."
],
"sqlite_closed" : "La conexión SQLite '{name}' se cerró completamente.",
"sqlite_no_input" : "La conexión SQLite '{name}' no tiene ningún parámetro de entrada.",
"sqlite_no_file" : "La conexión SQLite '{name}' no tiene Path para el fichero de la base de datos.",
"logs_starting" : "El módulo de gestión de Logs de la aplicación AnP se está iniciando...",
"logs_started" : "El módulo de gestión de Logs de la aplicación AnP se inicó completamente.",
"logs_stopping" : "El módulo de gestión de Logs de la aplicación AnP se está parando...",
"logs_already_stopped" : "El módulo de gestión de Logs de la aplicación AnP ya estaba parado.",
"logs_stopped" : "El módulo de gestión de Logs de la aplicación AnP se paró completamente.",
"unaccessible_db_unit" : "ERROR: La unidad de disco de la base de datos está inaccesible.",
"session_cleaned" : "La sesión con clave {key} ha sido limpiada."
}
}

@ -0,0 +1,86 @@
{
"esperanto" : {
"starting_anp" : "Komencante la AnP- aplikaĵon. Bonvolu atendi...",
"settings_loading" : "La konfiguracio estas ŝarĝita...",
"settings_loading_block" : "La '{block}'-konfiguraciobloko estas ŝarĝita.",
"settings_loaded" : "La tuta konfiguracio estis ŝarĝita ĝuste.",
"i18n_loading" : "La I18N estas ŝarĝita.",
"i18n_loading_block" : "La I18N '{block}' bloko estas ŝarĝita.",
"i18n_loaded" : "La tuta I18N estis konvene ŝarĝita.",
"start_anp_trying" : "La AnP-aplikaĵo estas iniciatita ...",
"started_anp_app" : "La AnP-programo jam estis komencita.",
"starting_anp_app" : "La AnP-aplikaĵo komencas. Bonvolu atendi...",
"settings_starting" : "La administradmodulo formis la AnP-aplikaĵon estas komencita.",
"settings_started" : "La AnP-konfiguraĵa administradmodulo estis tute komencita.",
"i18n_starting" : "La I18N-administra modulo de la AnP-aplikaĵo estas komencita.",
"i18n_started" : "La I18N-administra modulo de la AnP-aplikaĵo komenciĝis tute.",
"i18n_set_default" : "Establi la defaŭltan lingvon ...",
"threads_starting" : "La AnP Precesa fadenadministra modulo estas komencita ...",
"threads_started" : "La AnP-precesa fadenadministra modulo estis tute komencita.",
"terminals_starting" : "La fina administradmodulo de la AnP-aplikaĵo iniciatas ...",
"terminals_started" : "La fina administradmodulo de la MKVBCGZ-aplikaĵo estis tute komencita.",
"threads_working" : "Nun la tablo kuras.",
"threads_already_working" : "Proceduro jam kuris.",
"threads_already_stopped" : "La proceso jam ĉesis.",
"threads_stopping" : "Ŝparu la procezan fadenon...",
"threads_stopped" : "La proceso jam ĉesis.",
"anp_closing" : "La AnP app estas ferma...",
"setting_terminal_input" : "Establi la finan enirejon.",
"terminals_already_started" : "La terminalo jam komenciĝis.",
"terminals_stopping" : "Turnu la terminalon...",
"terminals_stopped" : "La terminalo ĉesis tute.",
"terminals_already_stopped" : "La terminalo jam estis sub aresto.",
"unknown_command" : "La komando kun la '{order}'-ordo estas nekonata.",
"threads_module_built" : "La AnP-proceso fadenmodulo estas konstruita.",
"terminals_module_build" : "La proceso yarn modulo de la MKVBYXY-aplikaĵo estis tute konstruita.",
"anp_help" : "Jen la komandaj informoj skribitaj:\n{orders}",
"anp_help_full" : "Jen ĉiuj komandaj informoj:\n{orders}",
"command_without_help" : "{order} [{synonymous}]: La komando havas neniun helpon.",
"help_help_text" : "{order} [{synonymous}]: Montru la helpon de komando. Vi povas precizigi unu aŭ pluraj komandojn por vidi viajn kompletajn informojn.",
"help_commands_text" : "Pli da komandoj estas pretaj kolekti ĉiujn viajn informojn.",
"command_unknown" : "{order} ({synonymous}): Tiu komando estas nuligita.",
"close_help_text" : "{order} [{synonymous}]: Fermu la nunan AnP- aplikaĵon tute.",
"files_module_built" : "La dosieradministradmodulo de la AnP-aplikaĵo estis tute konstruita.",
"controllers_module_built" : "La AnP-aplikaĵokontrolisto estro modulo estis tute konstruita.",
"routes_module_built" : "La AnP-vojadministra modulo estis plene konstruita.",
"errors_module_built" : "La eraradministradmodulo de la AnP-aplikaĵo estis tute konstruita.",
"web_server_starting" : "La '{name}' Reta servilo komencas ...",
"web_server_already_started" : "La '{name}' La servilo jam komenciĝis.",
"web_server_building" : "Nova Web-servilo nomita '{name}' estas konstruita sur {hosts}: {port}.",
"web_server_built" : "La nova Web-servilo '{name}' estis konstruita en {hosts}: {port}.",
"web_server_starting_thread" : "La '{name}' Web-servilo komencas paralelan procezfadenon..",
"web_server_starting_node" : "La '{name}' Web-servilo komencas sian procesan fadenon node.",
"web_server_started" : "'{name}' Reta servilo komenciĝis tute.",
"web_server_module_built" : "La '{name}' Web Server modulo estis tute konstruita.",
"web_server_closing_socket" : "'{name}' Web-servilo fermas la '{socket_type}' Socket.",
"web_server_closed_socket" : "La MKVBRXT Web-servilo, Socket '{socket_type}' estis fermita.",
"web_server_closing" : "La '{name}' Reta servilo estas fermo...",
"web_server_already_closed" : "La MKVBZRQ La servilo jam estis fermita...",
"web_server_closed" : "'{name}' La servilo estis tute fermita..",
"web_server_already_starting" : "'{name}' La servilo jam estis fermita...",
"web_server_already_stopping" : "'{name}' Web-servilo jam estis sub aresto ...",
"web_server_request" : "La '{name}' Web-servilo havas peton de {ip}: {port}.",
"web_server_request_empty" : "La peto por \"{ip}: {port}\" de la '{name}'-retservilo estas malplena",
"web_server_request_method" : "La peto de '{ip}: {port}' de la '{name}' Web-servilo de la '{method}'-metodo havas '{cache}' bajtojn de informoj de la '{route}'-itinero.",
"web_server_waiting" : "La '{name}'ĈP Web Server atendas novajn klientajn petojn.",
"web_server_request_responding" : "La '{name}' Web-servilo respondas al '{response}' bajtoj.",
"anp_bye" : "La AnP-aplikaĵo estis tute fermita. Dankon por uzi AnP.",
"web_server_full_print" : "Ekzistas retligo al la nomo de '{name}' de '{method}: {ip}: {port} kun {cache}-informoj bajtoj sur la peto kaj {response}-respondo bajas informojn.",
"sqlite_building" : "La SQLite '{name}'-ligo estas konstruita.",
"sqlite_building_error" : "Ekzistas eraro kun '{error}'-kodo dum provado konstrui la SQLite '{name}'-ligon.",
"sqlite_built" : "La SQLite '{name}'-ligo estis tute konstruita.",
"sqlite_closing" : "La SQLite '{name}'-ligo fermiĝas ...",
"sqlite_closing_error" : "Ekzistas eraro kun '{error}'-kodo dum provado fermi la SQLite '{name}'-ligon.",
"sqlite_closed" : "La SQLite '{name}'-ligo estis tute fermita.",
"sqlite_no_input" : "La SQLite '{name}'-ligo havas neniun enirparametron.",
"sqlite_no_file" : "La SQLite '{name}'-ligo ne havas Vojon por la databasedosiero.",
"logs_starting" : "AnP App Logs Management Modulo estas komencita ...",
"logs_started" : "AnP Logs Management Modulo estis plene iniciatita.",
"logs_stopping" : "AnP App Logs Management Modulo estas haltita...",
"logs_already_stopped" : "AnP Logs Management Modulo jam staris.",
"logs_stopped" : "La AnP-efektivigo Registri administradmodulon estis tute maldaŭrigita.",
"unaccessible_db_unit" : "ERROR: La disko veturado de la datumbazo estas nealirebla.",
"session_cleaned" : "La {key}-esenca sesio estis purigita."
}
}

@ -0,0 +1,86 @@
{
"farsi" : {
"starting_anp" : "شروع برنامه AnP لطفا صبر کنید ...",
"settings_loading" : "پیکربندی بارگذاری می شود ...",
"settings_loading_block" : "بلوک پیکربندی '{block}' بارگیری می شود ...",
"settings_loaded" : "کل پیکربندی به درستی بارگذاری شد.",
"i18n_loading" : "I18N بارگذاری شده است ...",
"i18n_loading_block" : "بلوک I18N '{block}' بارگیری شده است.",
"i18n_loaded" : "کل I18N به درستی بارگذاری شده است.",
"start_anp_trying" : "تلاش برای شروع برنامه AnP.",
"started_anp_app" : "برنامه AnP در حال حاضر آغاز شده است.",
"starting_anp_app" : "برنامه AnP شروع می شود. لطفا صبر کنید ...",
"settings_starting" : "ماژول مدیریت پیکربندی برنامه AnP آغاز شده است ...",
"settings_started" : "ماژول مدیریت پیکربندی برنامه AnP به طور کامل آغاز شد.",
"i18n_starting" : "ماژول مدیریت I18N برنامه AnP شروع به ...",
"i18n_started" : "ماژول مدیریت I18N برنامه AnP به طور کامل آغاز شد.",
"i18n_set_default" : "ایجاد زبان پیش فرض ...",
"threads_starting" : "AnP ماژول مدیریت موضوعات ضروری شروع می شود ...",
"threads_started" : "ماژول مدیریت پیش نیاز AnP به طور کامل آغاز شد.",
"terminals_starting" : "ماژول مدیریت ترمینال برنامه AnP شروع می شود ...",
"terminals_started" : "ماژول مدیریت ترمینال AnP به طور کامل آغاز شد.",
"threads_working" : "این روند در حال حاضر در حال اجرا است.",
"threads_already_working" : "روند در حال حاضر در حال اجرا بود.",
"threads_already_stopped" : "این روند در حال حاضر متوقف شده است.",
"threads_stopping" : "متوقف کردن موضوع فرآیند ...",
"threads_stopped" : "این روند در حال حاضر متوقف شده است.",
"anp_closing" : "برنامه AnP بسته شده است ...",
"setting_terminal_input" : "ایجاد ورودی ترمینال.",
"terminals_already_started" : "این ترمینال در حال حاضر آغاز شده است.",
"terminals_stopping" : "توقف ترمینال ...",
"terminals_stopped" : "ترمینال به طور کامل متوقف شد.",
"terminals_already_stopped" : "این ترمینال در حال حاضر تحت بازداشت بود.",
"unknown_command" : "فرماندهی با سفارش '{order}' ناشناخته است.",
"threads_module_built" : "ماژول نخ AnP ساخته شده است.",
"terminals_module_build" : "ماژول نخ فرآیند برنامه AnP به طور کامل ساخته شده است.",
"anp_help" : "در اینجا اطلاعات دستوری نوشته شده است:\n{orders}",
"anp_help_full" : "در اینجا همه اطلاعات فرمان وجود دارد:\n{orders}",
"command_without_help" : "{order} [{synonymous}]: فرمان هیچ کمکی ندارد.",
"help_help_text" : "{order} ({synonymous}) : کمک یک فرمان را نشان می دهد. شما می توانید یک یا چند دستور را برای مشاهده اطلاعات کامل خود مشخص کنید.",
"help_commands_text" : "یک فرمان دیگر آماده جمع آوری تمام اطلاعات شما است.",
"command_unknown" : "{order} [{synonymous}]: این فرمان متوقف شده است.",
"close_help_text" : "{order} ({synonymous}) برنامه فعلی AnP را به طور کامل ببندید.",
"files_module_built" : "ماژول مدیریت فایل AnP به طور کامل ساخته شده است.",
"controllers_module_built" : "ماژول کنترل کننده برنامه AnP کاملا ساخته شده است.",
"routes_module_built" : "ماژول مدیریت مسیر AnP به طور کامل ساخته شده است.",
"errors_module_built" : "ماژول مدیریت خطا از برنامه AnP به طور کامل ساخته شده است.",
"web_server_starting" : "'{name}' وب سرور شروع می شود ...",
"web_server_already_started" : "'{name}' سرور وب در حال حاضر شروع شده است.",
"web_server_building" : "یک سرور وب جدید با نام '{name}' در \"{hosts}\" ساخته شده است: {port}.",
"web_server_built" : "'{name}' وب سرور در \"{hosts}\" ساخته شده است: {port}.",
"web_server_starting_thread" : "'{name}' سرور وب یک روند موازی را شروع می کند. ...",
"web_server_starting_node" : "'{name}' وب سرور شروع به پردازش گره موضوع خود را...",
"web_server_started" : "'{name}' وب سرور به طور کامل شروع شد.",
"web_server_module_built" : "'{name}' ماژول سرور وب به طور کامل ساخته شده است.",
"web_server_closing_socket" : "'{name}' وب سرور بسته بندی سوکت '{socket_type}'.",
"web_server_closed_socket" : "در '{name}' سرور وب، سوکت '{socket_type}' بسته شده است.",
"web_server_closing" : "'{name}' سرور وب بسته می شود ...",
"web_server_already_closed" : "'{name}' وب سرور در حال حاضر بسته شده است ...",
"web_server_closed" : "'{name}' سرور وب به طور کامل بسته شده است. ...",
"web_server_already_starting" : "'{name}'zYQ وب سرور در حال حاضر بسته شده است ...",
"web_server_already_stopping" : "'{name}' وب سرور در حال حاضر تحت بازداشت...",
"web_server_request" : "'{name}' سرور وب یک درخواست از “{ip}: {port}” دارد.",
"web_server_request_empty" : "درخواست \"{ip}: {port} از '{name}' سرور وب خالی است",
"web_server_request_method" : "درخواست \"{ip}: {port}\" از '{name}'zT سرور وب توسط روش '{method}' دارای بایت اطلاعات '{cache}' از مسیر '{route}' است.",
"web_server_waiting" : "'{name}' وب سرور منتظر درخواست های جدید مشتری است...",
"web_server_request_responding" : "'{name}' سرور وب به '{response}' بایت پاسخ می دهد.",
"anp_bye" : "برنامه AnP کاملا بسته بود. ممنون از استفاده از AnP.",
"web_server_full_print" : "یک اتصال وب به نام '{name}' از \"{method}: {ip}: {port} \" با {cache} اطلاعات بایت در درخواست و اطلاعات پاسخ {response}.",
"sqlite_building" : "اتصال SQLite MKVXCS ساخته شده است.",
"sqlite_building_error" : "خطایی با کد '{error}' در هنگام تلاش برای ساخت اتصال SQLite '{name}' وجود دارد.",
"sqlite_built" : "اتصال SQLite '{name}' به طور کامل ساخته شده است.",
"sqlite_closing" : "اتصال SQLite '{name}' بسته شده است ...",
"sqlite_closing_error" : "خطایی با کد '{error}' در هنگام تلاش برای بستن اتصال SQLite '{name}' وجود دارد.",
"sqlite_closed" : "اتصال SQLite '{name}' کاملا بسته بود.",
"sqlite_no_input" : "اتصال SQLite '{name}' هیچ پارامتر ورودی ندارد.",
"sqlite_no_file" : "اتصال SQLite '{name}' مسیری برای فایل پایگاه داده ندارد.",
"logs_starting" : "مدیریت AnP ماژول شروع می شود ...",
"logs_started" : "مدیریت AnP ماژول به طور کامل آغاز شد.",
"logs_stopping" : "برنامه AnP Logs Management ماژول ایستاده ...",
"logs_already_stopped" : "ماژول اجرایی AnP در حال حاضر ایستاده بود.",
"logs_stopped" : "مدیریت AnP ماژول به طور کامل متوقف شد.",
"unaccessible_db_unit" : "ERROR: درایو دیسک پایگاه داده قابل دسترس نیست.",
"session_cleaned" : "جلسه کلیدی {key} تمیز شده است."
}
}

@ -0,0 +1,90 @@
{
"francais" : {
"starting_anp" : "En commençant l'application AnP. Attendez...",
"settings_loading" : "La configuration est chargée...",
"settings_loading_block" : "Le bloc de configuration '{block}' est chargé...",
"settings_loaded" : "Toute la configuration était chargée correctement.",
"i18n_loading" : "L'I18N est chargé...",
"i18n_loading_block" : "Le bloc I18N '{block}' est chargé...",
"i18n_loaded" : "Tout l'I18N était bien chargé.",
"start_anp_trying" : "C'est essayer de démarrer l'application AnP...",
"started_anp_app" : "L'application AnP a déjà été lancée.",
"starting_anp_app" : "L'application AnP commence. Attendez...",
"settings_starting" : "Le module de gestion configuré l'application AnP commence...",
"settings_started" : "Le module de gestion de la configuration d'applications AnP a été complètement démarré.",
"i18n_starting" : "Le module de gestion I18N de l'application AnP est lancé...",
"i18n_started" : "Le module de gestion I18N de l'application AnP a complètement commencé.",
"i18n_set_default" : "Établir la langue par défaut...",
"threads_starting" : "Le AnP Le module de gestion des fils précess...",
"threads_started" : "Le module de gestion des fils préréglé AnP a été complètement démarré.",
"terminals_starting" : "Le module de gestion terminale de l'application AnP commence...",
"terminals_started" : "Le module de gestion des terminaux AnP a complètement commencé.",
"threads_working" : "Le fil de process fonctionne maintenant.",
"threads_already_working" : "Le fil de process était déjà en marche.",
"threads_already_stopped" : "Le fil de process a déjà été arrêté.",
"threads_stopping" : "Arrêter le fil de process...",
"threads_stopped" : "Le fil de process a déjà été arrêté.",
"anp_closing" : "L'application AnP ferme...",
"setting_terminal_input" : "Établir l'entrée du terminal.",
"terminals_already_started" : "Le terminal a déjà commencé.",
"terminals_stopping" : "Arrête le terminal...",
"terminals_stopped" : "Le terminal s'est arrêté complètement.",
"terminals_already_stopped" : "Le terminal était déjà en état d'arrestation.",
"unknown_command" : "La commande avec l'ordre '{order}' est inconnue...",
"threads_module_built" : "Le module de fil de process de l'application AnP est en cours de construction.",
"terminals_module_build" : "Le module de fil de process de l'application AnP a été entièrement construit.",
"anp_help" : "Voici les informations de commande écrites:\n{orders}",
"anp_help_full" : "Voici toutes les informations de commande:\n{orders}",
"command_without_help" : "{order} [{synonymous}]: Le commandement n'a pas d'aide.",
"help_help_text" : "{order} [{synonymous}]: Affiche l'aide d'une commande. Vous pouvez spécifier une ou plusieurs commandes pour afficher vos informations complètes.",
"help_commands_text" : "Une autre commande est prête à recueillir toutes vos informations.",
"command_unknown" : "{order} [MKVBNFS]: Cette commande est discontinuée.",
"close_help_text" : "{order} [{synonymous}]: Fermez complètement l'application AnP actuelle.",
"files_module_built" : "Le module de gestion de fichiers de l'application AnP a été entièrement construit.",
"controllers_module_built" : "Le module de gestion du contrôleur d'application AnP a été entièrement construit.",
"routes_module_built" : "Le module de gestion de la route de l'application MKVBDSC a été entièrement construit.",
"errors_module_built" : "Le module de gestion des erreurs de l'application AnP a été entièrement construit.",
"web_server_starting" : "Le '{name}' Le serveur Web commence...",
"web_server_already_started" : "Le '{name}' Le serveur Web a déjà commencé.",
"web_server_building" : "Un nouveau serveur Web nommé '{name}' est construit sur '[{hosts}]: {port}'...",
"web_server_built" : "Le nouveau '{name}' Le serveur Web a été construit sur '[{hosts}]: {port}.",
"web_server_starting_thread" : "Le '{name}' Le serveur Web commence un fil de process parallèle. ..",
"web_server_starting_node" : "Le '{name}' Le serveur Web commence son nœud de fil de process...",
"web_server_started" : "Le '{name}' Le serveur Web a complètement commencé.",
"web_server_module_built" : "Le '{name}' Le module serveur Web a été entièrement construit.",
"web_server_closing_socket" : "Le '{name}' Le serveur Web ferme le Socket '{socket_type}'...",
"web_server_closed_socket" : "Sur le serveur Web '{name}', le Socket '{socket_type}' a été fermé...",
"web_server_closing" : "Le '{name}' Le serveur Web ferme...",
"web_server_already_closed" : "Le '{name}' Le serveur Web était déjà fermé...",
"web_server_closed" : "Le '{name}' Le serveur Web a été complètement fermé. ..",
"web_server_already_starting" : "Le serveur Web '{name}' était déjà fermé...",
"web_server_already_stopping" : "Le '{name}' Le serveur Web était déjà en état d'arrestation...",
"web_server_request" : "Le '{name}' Le serveur Web a une demande de '{ip}: {port}'.",
"web_server_request_empty" : "La demande de '{ip}: {port}' du '{name}' Le serveur Web est vide",
"web_server_request_method" : "La demande de '{ip}: {port}' du '{name}' Le serveur Web de la méthode '{method}' dispose d'octets d'information '{cache}' de la route '{route}'.",
"web_server_waiting" : "Le '{name}' Le serveur Web attend de nouvelles demandes de clients...",
"web_server_request_responding" : "Le '{name}' Le serveur Web répond aux octets '{response}'...",
"anp_bye" : "L'application AnP a été complètement fermée. Merci d'utiliser AnP...",
"web_server_full_print" : [
"Il y a une connexion Web au nom de '{name}' de '{method}: {ip}: ",
"{port}' avec des octets d'information {cache} dans la demande et ",
"une réponse de {response} bytes information."
],
"sqlite_building" : "La connexion SQLite '{name}' est en cours de construction...",
"sqlite_building_error" : "Il y a une erreur avec le code '{error}' lorsque vous essayez de construire la connexion SQLite '{name}'.",
"sqlite_built" : "La connexion SQLite '{name}' a été entièrement construite.",
"sqlite_closing" : "La connexion SQLite '{name}' se ferme...",
"sqlite_closing_error" : "Il y a une erreur avec le code '{error}' lorsque vous essayez de fermer la connexion SQLite '{name}'.",
"sqlite_closed" : "La connexion SQLite '{name}' a été complètement fermée.",
"sqlite_no_input" : "La connexion SQLite '{name}' n'a aucun paramètre d'entrée.",
"sqlite_no_file" : "La connexion SQLite '{name}' n'a pas de chemin pour le fichier de base de données.",
"logs_starting" : "Le AnP App Logs Management Le module est lancé...",
"logs_started" : "AnP Logs Management Le module a été complètement lancé.",
"logs_stopping" : "Gestion des registres de l'application AnP Le module est arrêté...",
"logs_already_stopped" : "Mise en œuvre du AnP Logs Le module Gestion était déjà debout.",
"logs_stopped" : "AnP Logs Management Le module a été complètement arrêté.",
"unaccessible_db_unit" : "ERROR: Le disque dur de la base de données est inaccessible.",
"session_cleaned" : "La session clé du {key} a été nettoyée."
}
}

@ -0,0 +1,90 @@
{
"gaeilge" : {
"starting_anp" : "Ag tosú an app AnP. Fan...",
"settings_loading" : "Tá an chumraíocht á luchtú...",
"settings_loading_block" : "Tá an bloc cumraíochta '{block}' á luchtú...",
"settings_loaded" : "Bhí luchtaithe an chumraíocht ar fad i gceart.",
"i18n_loading" : "Tá an I18N á luchtú...",
"i18n_loading_block" : "Tá an bloc I18N '{block}' á luchtú...",
"i18n_loaded" : "Bhí an I18N ar fad luchtaithe i gceart.",
"start_anp_trying" : "Tá sé ag iarraidh an t-iarratas AnP a thosú...",
"started_anp_app" : "Cuireadh tús leis an iarratas AnP cheana féin.",
"starting_anp_app" : "Tá an t-iarratas AnP ag tosú. Fan...",
"settings_starting" : "Tá an modúl bainistíochta cumraithe an t-iarratas AnP a thionscnamh...",
"settings_started" : "Cuireadh tús go hiomlán leis an modúl bainistíochta cumraíochta app AnP.",
"i18n_starting" : "Tá an modúl bainistíochta I18N an t-iarratas AnP á thosú...",
"i18n_started" : "Thosaigh modúl bainistíochta I18N an iarratais AnP go hiomlán.",
"i18n_set_default" : "An teanga réamhshocraithe a bhunú...",
"threads_starting" : "Tá tús á chur leis an modúl bainistíochta snáithe AnP...",
"threads_started" : "Cuireadh tús go hiomlán leis an modúl bainistíochta snáithe AnP.",
"terminals_starting" : "Tá an modúl bainistíochta críochfort an t-iarratas AnP ag tionscnamh...",
"terminals_started" : "Cuireadh tús go hiomlán leis an modúl bainistíochta críochfoirt AnP.",
"threads_working" : "Tá an snáithe próiseas ag rith anois.",
"threads_already_working" : "Bhí snáithe próiseála ag rith cheana féin.",
"threads_already_stopped" : "Stopadh an snáithe próiseas cheana féin.",
"threads_stopping" : "Conas an snáithe a...",
"threads_stopped" : "Stopadh an snáithe próiseas cheana féin.",
"anp_closing" : "Tá an app AnP dúnta...",
"setting_terminal_input" : "An bealach isteach críochfoirt a bhunú.",
"terminals_already_started" : "Cuireadh tús leis an gcríochfort cheana féin.",
"terminals_stopping" : "Stopadh an críochfort...",
"terminals_stopped" : "Stop an críochfort go hiomlán.",
"terminals_already_stopped" : "Bhí an críochfort faoi ghabháil cheana féin.",
"unknown_command" : "Is é an t-ordú leis an ordú '{order}' anaithnid...",
"threads_module_built" : "Tá modúl snáithe an iarratais AnP á thógáil.",
"terminals_module_build" : "Tógadh modúl snáithe an iarratais AnP go hiomlán.",
"anp_help" : "Seo an t-eolas ordú scríofa:\nComhpháirtithe",
"anp_help_full" : "Seo an t-eolas orduithe go léir:\nTUILLEADH",
"command_without_help" : "{order} [{synonymous}]: Tá an t-ordú aon chabhair.",
"help_help_text" : [
"{order} [{synonymous}]: Taispeáin cabhair ó ordú. Is féidir leat ",
"ceann amháin nó níos mó orduithe a shonrú chun féachaint ar do ",
"chuid faisnéise iomlán."
],
"help_commands_text" : "Tá ceann orduithe níos mó réidh a bhailiú do chuid faisnéise.",
"command_unknown" : "{order} [{synonymous}]: Tá an t-ordú scor.",
"close_help_text" : "{order} [{synonymous}]: Dún an t-iarratas reatha AnP go hiomlán.",
"files_module_built" : "Tógadh an modúl bainistíochta comhad AnP go hiomlán.",
"controllers_module_built" : "Tógadh Modúl Bainistíochta Tiománaí AnP go hiomlán.",
"routes_module_built" : "Tógadh modúl bainistíochta bealaigh an iarratais AnP go hiomlán.",
"errors_module_built" : "Tógadh an modúl bainistíochta earráide den iarratas AnP go hiomlán.",
"web_server_starting" : "Tá an freastalaí Gréasáin MKVBLV ag tosú...",
"web_server_already_started" : "An '{name}' Cuireadh tús le freastalaí gréasáin cheana féin.",
"web_server_building" : "Tá freastalaí Gréasáin nua darb ainm '{name}' á thógáil i '[{hosts}]: {port} '...",
"web_server_built" : "An '{name}' nua Tá freastalaí gréasáin tógtha ar '[MKVBFL]: {port}' .",
"web_server_starting_thread" : "An '{name}' Tá freastalaí gréasáin ag tosú snáithe próiseas comhthreomhar. ..",
"web_server_starting_node" : "An '{name}' Tá freastalaí gréasáin ag tosú a nod snáithe próiseas...",
"web_server_started" : "An '{name}' Thosaigh freastalaí gréasáin go hiomlán.",
"web_server_module_built" : "An '{name}' Tógadh modúl freastalaí Gréasáin go hiomlán.",
"web_server_closing_socket" : "An '{name}' Tá freastalaí gréasáin dúnta an '{socket_type}' Soicéad. ..",
"web_server_closed_socket" : "Ar an '{name}' freastalaí gréasáin, Soicéad '{socket_type}' dúnta...",
"web_server_closing" : "An '{name}' Tá freastalaí gréasáin dúnta...",
"web_server_already_closed" : "An '{name}' Bhí freastalaí gréasáin dúnta cheana féin...",
"web_server_closed" : "An '{name}' Tá freastalaí gréasáin dúnta go hiomlán. ..",
"web_server_already_starting" : "An '{name}' Bhí freastalaí gréasáin dúnta cheana féin...",
"web_server_already_stopping" : "An '{name}' Bhí freastalaí gréasáin faoi ghabháil cheana féin...",
"web_server_request" : "An '{name}' Tá freastalaí gréasáin iarraidh ó '{ip}: {port} ' .",
"web_server_request_empty" : "Is é an t-iarratas '{ip}: {port}' den fhreastalaí gréasáin '{name}' folamh",
"web_server_request_method" : "An t-iarratas '{ip}: {port}' ón '{name}' Freastalaí gréasáin ag an modh '{method}' Tá beart '{cache}' faisnéis ón mbealach '{route}'.",
"web_server_waiting" : "An '{name}' Tá freastalaí gréasáin ag fanacht le hiarratais nua do chustaiméirí...",
"web_server_request_responding" : "An '{name}' Tá freastalaí gréasáin ag freagairt do bytes '{response}'...",
"anp_bye" : "Dúnadh an app AnP go hiomlán. Go raibh maith agat as úsáid AnP...",
"web_server_full_print" : "Tá nasc gréasáin le ainm '{name}' ó '{method}: {ip}: {port}' le faisnéis {cache} bytes ar iarratas agus faisnéis {response} fhreagairt beart.",
"sqlite_building" : "Tá an nasc '{name}' SQLite á thógáil...",
"sqlite_building_error" : "Tá earráid le cód '{error}' nuair ag iarraidh a thógáil ar an '{name}' SQLite nasc.",
"sqlite_built" : "Tógadh an nasc '{name}' SQLite go hiomlán.",
"sqlite_closing" : "Tá an nasc '{name}' SQLite dúnta...",
"sqlite_closing_error" : "Tá earráid le '{error}' cód nuair ag iarraidh a dhúnadh an '{name}' SQLite.",
"sqlite_closed" : "Bhí an nasc '{name}' SQLite dúnta go hiomlán.",
"sqlite_no_input" : "Níl aon pharaiméadar ionchuir ag an nasc '{name}' SQLite.",
"sqlite_no_file" : "Ní dhéanann an nasc '{name}' SQLite Path don chomhad bunachar sonraí.",
"logs_starting" : "An AnP App Logs Bainistíochta Tá Modúl á thosú...",
"logs_started" : "Cuireadh tús go hiomlán leis an modúl bainistíochta Logaí den iarratas AnP.",
"logs_stopping" : "An AnP Logs Bainistíochta Tá Modúl seasamh...",
"logs_already_stopped" : "An AnP Cur i bhfeidhm Logaí Bainistíochta Bhí Modúl seasamh cheana féin.",
"logs_stopped" : "Cur i bhfeidhm AnP Stopadh modúl bainistíochta Logs go hiomlán.",
"unaccessible_db_unit" : "ERROR: Is é an tiomáint diosca an bhunachar sonraí inaccessible.",
"session_cleaned" : "Glanadh príomhsheisiúin MKVBFFFY."
}
}

@ -0,0 +1,86 @@
{
"hangugeo" : {
"starting_anp" : "AnP 응용 프로그램을 시작. 자세히보기.",
"settings_loading" : "구성은로드되고있다 ...",
"settings_loading_block" : "'{block}' 구성 블록은로드되고있다 ...",
"settings_loaded" : "전체 구성이 제대로로드되었습니다.",
"i18n_loading" : "I18N은로드되고 있습니다 ...",
"i18n_loading_block" : "I18N '{block}' 블록은로드되고있다 ...",
"i18n_loaded" : "전체 I18N은 제대로로드되었습니다.",
"start_anp_trying" : "AnP 앱을 시작하려고 ...",
"started_anp_app" : "AnP 앱이 이미 시작되었습니다.",
"starting_anp_app" : "AnP 앱이 시작되었습니다. 자세히보기.",
"settings_starting" : "관리 모듈은 AnP 응용 프로그램을 시작...",
"settings_started" : "AnP 애플리케이션 구성 관리 모듈은 완전히 시작되었습니다.",
"i18n_starting" : "AnP 애플리케이션의 I18N 관리 모듈이 시작되었습니다 ...",
"i18n_started" : "AnP 응용의 I18N 관리 모듈은 완전히 시작되었습니다.",
"i18n_set_default" : "기본 언어 설정 ...",
"threads_starting" : "AnP 사전 스레드 관리 모듈이 시작되었습니다 ...",
"threads_started" : "AnP는 나사 관리 단위 완전하게 시작되었습니다.",
"terminals_starting" : "AnP 응용의 터미널 관리 모듈은 시작 ...",
"terminals_started" : "AnP 터미널 관리 모듈은 완전히 시작되었습니다.",
"threads_working" : "공정 스레드가 지금 실행됩니다.",
"threads_already_working" : "공정 실은 이미 실행되었습니다.",
"threads_already_stopped" : "프로세스 스레드가 이미 중지되었습니다.",
"threads_stopping" : "공정 스레드를 중지 ...",
"threads_stopped" : "프로세스 스레드가 이미 중지되었습니다.",
"anp_closing" : "MKVBDLH 앱이 닫힙니다 ...",
"setting_terminal_input" : "터미널 입구를 설치합니다.",
"terminals_already_started" : "터미널이 이미 시작되었습니다.",
"terminals_stopping" : "터미널을 중지 ...",
"terminals_stopped" : "끝은 완전히 멈추었습니다.",
"terminals_already_stopped" : "터미널은 이미 체포되었습니다.",
"unknown_command" : "'{order}' 순서를 가진 명령은 알 수 없습니다...",
"threads_module_built" : "AnP 공정 나사 모듈은 내장되어 있습니다.",
"terminals_module_build" : "AnP 응용의 공정 나사 모듈은 완전히 건설되었습니다.",
"anp_help" : "여기에 작성된 명령 정보입니다:\n모형: {orders}",
"anp_help_full" : "모든 명령 정보가 있습니다:\n모델 번호: {orders}",
"command_without_help" : "{order} [{synonymous}]: 명령에는 도움이 없습니다.",
"help_help_text" : "{order} [{synonymous}]: 명령의 도움을 표시합니다. 완전한 정보를 볼 수 있는 하나 이상의 명령을 지정할 수 있습니다.",
"help_commands_text" : "더 많은 명령은 모든 정보를 수집 할 준비가되어 있습니다.",
"command_unknown" : "{order} [{synonymous}]: 이 명령은 중단됩니다.",
"close_help_text" : "{order} [{synonymous}]: 현재 MKVBLQG 응용 프로그램을 완전히 닫습니다.",
"files_module_built" : "AnP 신청의 파일 관리 단위는 완전하게 건축되었습니다.",
"controllers_module_built" : "AnP 신청 관제사 관리 단위는 완전하게 건축되었습니다.",
"routes_module_built" : "AnP 노선 관리 단위는 완전히 건설되었습니다.",
"errors_module_built" : "AnP 애플리케이션의 오류 관리 모듈은 완전히 구성되었습니다.",
"web_server_starting" : "'{name}'의 특징 웹 서버는 시작...",
"web_server_already_started" : "'{name}'의 특징 웹 서버가 이미 시작되었습니다.",
"web_server_building" : "'{name}'라는 새로운 웹 서버는 '[{hosts}]에 내장되어 있습니다. {port}'...",
"web_server_built" : "새로운 '{name}' 웹 서버는 '[{hosts}]에 내장되었습니다: {port}'.",
"web_server_starting_thread" : "'{name}' 소개 웹 서버는 병렬 프로세스 스레드를 시작합니다. ·.",
"web_server_starting_node" : "'{name}' 소개 웹 서버는 프로세스 스레드 노드를 시작 ...",
"web_server_started" : "'{name}' 소개 웹 서버가 완전히 시작되었습니다.",
"web_server_module_built" : "'{name}' 소개 웹 서버 모듈은 완전히 내장되었습니다.",
"web_server_closing_socket" : "'{name}'의 특징 웹 서버는 소켓 '{socket_type}'를 닫습니다 ...",
"web_server_closed_socket" : "'{name}'에서 웹 서버, 소켓 '{socket_type}'는 폐쇄되었습니다 ...",
"web_server_closing" : "'{name}' 정보 웹 서버가 닫힙니다 ...",
"web_server_already_closed" : "'{name}'는 웹 서버는 이미 닫혔습니다 ...",
"web_server_closed" : "'{name}'의 특징 웹 서버는 완전히 닫혔습니다. ·.",
"web_server_already_starting" : "'{name}' 소개 웹 서버는 이미 닫혔습니다 ...",
"web_server_already_stopping" : "'{name}'는 웹 서버는 이미 체포되었습니다 ...",
"web_server_request" : "'{name}' 소개 웹 서버는 '{ip}: {port}'에서 요청합니다.",
"web_server_request_empty" : "'{name}'의 '{ip}: {port}' 요청 웹 서버는 비어 있습니다",
"web_server_request_method" : "{port}의 {port}의 요청 '{method}' 메소드의 웹 서버에는 '{cache}' 바이트 정보가 '{route}' 루트에서 있습니다.",
"web_server_waiting" : "'{name}'의 특징 웹 서버는 새로운 고객 요청을 기다리고 있습니다 ...",
"web_server_request_responding" : "'{name}' 소개 웹 서버는 '{response}' 바이트에 응답하고 있습니다. ·.",
"anp_bye" : "AnP 앱이 완전히 닫혔습니다. AnP를 사용 하 여 감사...",
"web_server_full_print" : "'{name}' 이름에는 {method}: {ip}: {port}의 {cache} 정보 바이트와 {cache}BSQBP 응답 바이트 정보가 있습니다.",
"sqlite_building" : "SQLite '{name}' 연결은 ...",
"sqlite_building_error" : "SQLite '{name}' 연결을 구축하려고 할 때 '{error}' 코드와 오류가 있습니다.",
"sqlite_built" : "SQLite '{name}' 연결이 완전히 내장되었습니다.",
"sqlite_closing" : "SQLite '{name}' 연결이 닫힙니다 ...",
"sqlite_closing_error" : "SQLite '{name}' 연결을 닫을 때 '{error}' 코드와 오류가 있습니다.",
"sqlite_closed" : "SQLite '{name}' 연결이 완전히 닫혔습니다.",
"sqlite_no_input" : "SQLite '{name}' 연결에는 입력 매개변수가 없습니다.",
"sqlite_no_file" : "SQLite '{name}' 연결은 데이터베이스 파일에 대한 경로가 없습니다.",
"logs_starting" : "AnP 애플리케이션의 로그 관리 모듈이 시작되었습니다 ...",
"logs_started" : "AnP 로그 관리 모듈은 완전히 시작되었습니다.",
"logs_stopping" : "AnP 구현 로그 관리 모듈은 멈추지 않습니다 ...",
"logs_already_stopped" : "AnP 구현 로그 관리 모듈은 이미 서있다.",
"logs_stopped" : "AnP 구현 로그 관리 모듈은 완전히 중지되었습니다.",
"unaccessible_db_unit" : "ERROR: 데이터베이스의 디스크 드라이브는 inaccessible입니다.",
"session_cleaned" : "{key} 키 세션이 정리되었습니다."
}
}

@ -0,0 +1,86 @@
{
"hindi" : {
"starting_anp" : "AnP अनरयग श करन। कपयरत कर.",
"settings_loading" : "विस लड कि रह ...",
"settings_loading_block" : "'{block}' विस बक लड कि रह ...",
"settings_loaded" : "पिस क सहग सड कि गय।.",
"i18n_loading" : "I18N लड कि रह ...",
"i18n_loading_block" : "I18N '{block}' बक लड कि रह ...",
"i18n_loaded" : "प I18N कक सड कि गय।.",
"start_anp_trying" : "यह AnP अनरयग श करनिश कर रह ...",
"started_anp_app" : "AnP ऐप पहलि गय।.",
"starting_anp_app" : "AnP ऐप श रह। कपयरत कर.",
"settings_starting" : "परबधन मल न AnP अनरयग किगर कि ...",
"settings_started" : "AnP अनरयग विस परबधन मल प तरह सआ।.",
"i18n_starting" : "AnP अनरयग क I18N परबधन मल शि रह ...",
"i18n_started" : "AnP अनरयग क I18N परबधन मल प तरह सआ।.",
"i18n_set_default" : "डिट भपन ...",
"threads_starting" : "AnP Precess धरबधन मल शि रह ...",
"threads_started" : "एमकएसकववरड परबधन मल प तरह सि गय।.",
"terminals_starting" : "AnP अनरयग क टरिनल परबधन मल श रह ...",
"terminals_started" : "AnP टरिनल परबधन मल प तरह सि गय।.",
"threads_working" : "परकि अभ चल रह।.",
"threads_already_working" : "परकि पहल चल रह।.",
"threads_already_stopped" : "परकि पहलद कर दि गय।.",
"threads_stopping" : "परकिकन ...",
"threads_stopped" : "परकि पहलद कर दि गय।.",
"anp_closing" : "AnP अनरयग समपन ह ...",
"setting_terminal_input" : "टरिनल परवश कपन।.",
"terminals_already_started" : "टरिनल पहलि गय।.",
"terminals_stopping" : "टरिनल बद करन.",
"terminals_stopped" : "टरिनल प तरह बद कर दि।.",
"terminals_already_stopped" : "टरिनल पहलिरफ तहत थ।.",
"unknown_command" : "'{order}' आदश कथ आदश अजत ह ...",
"threads_module_built" : "AnP परकिल बन रह।.",
"terminals_module_build" : "AnP अनरयग करकिल प तरह स बन गय।.",
"anp_help" : "यहि गय कमड सचन:\n{orders}",
"anp_help_full" : "यह सभ कमड जनक:\n{orders}",
"command_without_help" : "{order} [{synonymous}]: आदश मई मदद नह।.",
"help_help_text" : "{order} [{synonymous}]: एक आदश क मदद स पत चलत। आप अपननकखनिए एक य अधिक आदश नििट कर सकत।.",
"help_commands_text" : "एक और कमड आपक सभनक एकतर करनिए तर ह।.",
"command_unknown" : "{order} [{synonymous}]: यह आदश बद कर दि गय।.",
"close_help_text" : "{order} [{synonymous}]: वरतमन AnP अनरयग प तरह बद कर।.",
"files_module_built" : "AnP फइल परबधन मल प तरह स बन गय।.",
"controllers_module_built" : "AnP अनरयग निरक परबधन मल प तरह स बन गय।.",
"routes_module_built" : "AnP मग परबधन मल प तरह स बन गय।.",
"errors_module_built" : "AnP अनरयग किरबधन मल प तरह स बन गय।.",
"web_server_starting" : "'{name}' वब सरवर श रह...",
"web_server_already_started" : "'{name}' वब सरवर पहलि गय।.",
"web_server_building" : "'{name}' नमक एक नयब सरवर '[{hosts}] म बन रह: {port}.",
"web_server_built" : "'{name}' वब सरवर '[{hosts}] म बन गय: {port}.",
"web_server_starting_thread" : "'{name}' वब सरवर समतर परकि कर रह। ..",
"web_server_starting_node" : "'{name}' वब सरवर अपनरकिड नड श कर रह ...",
"web_server_started" : "'{name}' वब सरवर प तरह सआ।.",
"web_server_module_built" : "'{name}' वब सरवर मल प तरह स बन गय।.",
"web_server_closing_socket" : "'{name}' वब सरवर '{socket_type}' सट बद कर रह ...",
"web_server_closed_socket" : "'{name}' पर वब सरवर, सट '{socket_type}' बद कर दि गय ...",
"web_server_closing" : "'{name}' वब सरवर बद ह...",
"web_server_already_closed" : "'{name}' वब सरवर पहलद ह गय ...",
"web_server_closed" : "'{name}' वब सरवर प तरह बद ह गय। ..",
"web_server_already_starting" : "'{name}' वब सरवर पहलद ह गय ...",
"web_server_already_stopping" : "'{name}' वब सरवर पहलिरफ तहत थ ...",
"web_server_request" : "'{name}' वब सरवर कस {ip}: {port}' स एक अनध ह।.",
"web_server_request_empty" : "{ip}: {port}' क अनध '{name}' वब सरवर ख",
"web_server_request_method" : "'{name}' स '{ip}: {port}' क अनध '{method}' वििब सरवर म '{cache}' बइटस कनक '{route}' मग स।.",
"web_server_waiting" : "'{name}' वब सरवर नए गहक अनध किए इतजर कर रह ...",
"web_server_request_responding" : "'{name}' वब सरवर '{response}' बइटस क जवब द रह। ..",
"anp_bye" : "AnP अनरयग प तरह बद ह गय। AnP क उपयग करनिए धनयवद ...",
"web_server_full_print" : "एमकडएचव: {ip}: {port}' स {cache} सचनइटस ऑन अनध और {response} परतििइटस सचनथ {ip}: {port}' कब कनशन ह।.",
"sqlite_building" : "SQLite '{name}' कनशन बन रह ...",
"sqlite_building_error" : "SQLite '{name}' कनशन बनिश करत समय '{error}' कड कथ एक ति।.",
"sqlite_built" : "SQLite '{name}' कनशन प तरह स बन गय।.",
"sqlite_closing" : "SQLite '{name}' कनशन बद ह रह ...",
"sqlite_closing_error" : "SQLite '{name}' कनशन कद करनिश करत समय '{error}' कड कथ एक ति।.",
"sqlite_closed" : "SQLite '{name}' कनशन प तरह बद कर दि गय।.",
"sqlite_no_input" : "SQLite '{name}' कनशन मई इनपट पटर नह।.",
"sqlite_no_file" : "SQLite '{name}' कनशन डस फइल किए पथ नह।.",
"logs_starting" : "AnP अनरयग लग परबधन मल शि रह...",
"logs_started" : "AnP कवयन लस परबधन मल प तरह सि गय।.",
"logs_stopping" : "AnP लग परबधन मल बद कि रह ...",
"logs_already_stopped" : "AnP कवयन लस परबधन मल पहल खड।.",
"logs_stopped" : "AnP कवयन लस परबधन मल प तरह सद कर दि गय।.",
"unaccessible_db_unit" : "ERROR: डस किक डइव दगम ह।.",
"session_cleaned" : "{key} क सतर सफ कि गय।."
}
}

@ -0,0 +1,86 @@
{
"indonesia" : {
"starting_anp" : "Memulai aplikasi AnP. Sitemap.",
"settings_loading" : "Konfigurasi sedang dimuat ...",
"settings_loading_block" : "Blok konfigurasi '{block}' dimuat ...",
"settings_loaded" : "Seluruh konfigurasi dimuat dengan benar.",
"i18n_loading" : "I18N sedang dimuat ...",
"i18n_loading_block" : "Blok I18N '{block}' sedang dimuat ...",
"i18n_loaded" : "Seluruh I18N dimuat dengan benar.",
"start_anp_trying" : "Ini mencoba untuk memulai aplikasi AnP ...",
"started_anp_app" : "Aplikasi AnP sudah dimulai.",
"starting_anp_app" : "Aplikasi AnP dimulai. Sitemap.",
"settings_starting" : "Modul manajemen dikonfigurasi aplikasi MKVBNLF dimulai ...",
"settings_started" : "Modul manajemen konfigurasi aplikasi AnP benar-benar dimulai.",
"i18n_starting" : "Modul manajemen I18N dari aplikasi AnP dimulai ...",
"i18n_started" : "Modul manajemen I18N dari aplikasi AnP dimulai sepenuhnya.",
"i18n_set_default" : "Membangun bahasa default...",
"threads_starting" : "Login Precess modul manajemen benang mulai ...",
"threads_started" : "AnP precess modul manajemen benang mulai sepenuhnya.",
"terminals_starting" : "Modul manajemen terminal aplikasi AnP ini...",
"terminals_started" : "Modul manajemen terminal aplikasi MKVBQBC benar-benar dimulai.",
"threads_working" : "Benang proses berjalan sekarang.",
"threads_already_working" : "Benang proses sudah berjalan.",
"threads_already_stopped" : "Benang proses sudah dihentikan.",
"threads_stopping" : "Menghentikan utas proses ...",
"threads_stopped" : "Benang proses sudah dihentikan.",
"anp_closing" : "Aplikasi AnP adalah penutupan...",
"setting_terminal_input" : "Membangun pintu masuk terminal.",
"terminals_already_started" : "Terminal sudah dimulai.",
"terminals_stopping" : "Menghentikan terminal ...",
"terminals_stopped" : "Terminal berhenti sepenuhnya.",
"terminals_already_stopped" : "Terminal sudah ada di bawah penangkapan.",
"unknown_command" : "Perintah dengan urutan '{order}' tidak diketahui ...",
"threads_module_built" : "Modul thread proses aplikasi AnP sedang dibangun.",
"terminals_module_build" : "Modul thread proses aplikasi AnP benar-benar dibangun.",
"anp_help" : "Berikut adalah informasi perintah yang ditulis:\nLogin",
"anp_help_full" : "Berikut adalah semua informasi perintah:\nLogin",
"command_without_help" : "{order} [{synonymous}]: Perintah tidak memiliki bantuan.",
"help_help_text" : "{order} [{synonymous}]: Tampilkan bantuan perintah. Anda dapat menentukan satu atau lebih perintah untuk melihat informasi lengkap Anda.",
"help_commands_text" : "Satu lagi perintah siap mengumpulkan semua informasi Anda.",
"command_unknown" : "{order} [{synonymous}]: Perintah ini dihentikan.",
"close_help_text" : "{order} [{synonymous}]: Tutup aplikasi AnP saat ini sepenuhnya.",
"files_module_built" : "Modul manajemen file AnP benar-benar dibangun.",
"controllers_module_built" : "Modul manajemen driver AnP benar-benar dibangun.",
"routes_module_built" : "Modul manajemen rute AnP sepenuhnya dibangun.",
"errors_module_built" : "Modul manajemen kesalahan aplikasi AnP benar-benar dibangun.",
"web_server_starting" : "Login Web server.",
"web_server_already_started" : "Login Web server sudah dimulai.",
"web_server_building" : "Server Web baru bernama '{name}' dibangun di '[{hosts}]: Login.",
"web_server_built" : "'{name}' baru Web server telah dibangun di '[{hosts}]: Login.",
"web_server_starting_thread" : "Login Web server memulai proses paralel benang. Sitemap.",
"web_server_starting_node" : "Login Web server memulai proses thread node...",
"web_server_started" : "Login Web server dimulai sepenuhnya.",
"web_server_module_built" : "Login Web server modul benar-benar dibangun.",
"web_server_closing_socket" : "Login Web server adalah menutup Socket '{socket_type}' ...",
"web_server_closed_socket" : "Di server Web '{name}', Socket '{socket_type}' telah ditutup ...",
"web_server_closing" : "Login Web server adalah penutupan...",
"web_server_already_closed" : "Login Web server sudah tertutup ...",
"web_server_closed" : "Login Web server telah sepenuhnya tertutup. Sitemap.",
"web_server_already_starting" : "Login Web server sudah tertutup ...",
"web_server_already_stopping" : "Login Web server sudah di bawah penangkapan...",
"web_server_request" : "Login Web server memiliki permintaan dari '{ip}: {port}'.",
"web_server_request_empty" : "Permintaan '{ip}: {port}' dari '{name}' Web server adalah kosong",
"web_server_request_method" : "Permintaan '{ip}: {port}' dari server Web '{name}' oleh metode MKVBPSP memiliki '{cache}' byte informasi dari rute '{route}'.",
"web_server_waiting" : "Login Web server menunggu permintaan pelanggan baru...",
"web_server_request_responding" : "Login Web server menanggapi '{response}' byte...",
"anp_bye" : "Aplikasi AnP benar-benar tertutup. Terima kasih untuk menggunakan AnP ...",
"web_server_full_print" : "Ada koneksi Web ke nama '{name}' dari '{method}: {ip}: {port}' dengan informasi {cache} byte atas permintaan dan {response} menjawab informasi byte.",
"sqlite_building" : "Koneksi SQLite '{name}' dibangun ...",
"sqlite_building_error" : "Ada kesalahan dengan kode '{error}' ketika mencoba membangun koneksi SQLite '{name}'.",
"sqlite_built" : "Koneksi SQLite '{name}' benar-benar dibangun.",
"sqlite_closing" : "Koneksi SQLite '{name}' penutupan ...",
"sqlite_closing_error" : "Ada kesalahan dengan kode '{error}' ketika mencoba menutup koneksi SQLite '{name}'.",
"sqlite_closed" : "Koneksi SQLite '{name}' benar-benar tertutup.",
"sqlite_no_input" : "Koneksi SQLite '{name}' tidak memiliki parameter input.",
"sqlite_no_file" : "Koneksi SQLite '{name}' tidak memiliki Path untuk file database.",
"logs_starting" : "Manajemen Logs aplikasi AnP Modul dimulai ...",
"logs_started" : "Manajemen Log AnP Modul diprakarsai sepenuhnya.",
"logs_stopping" : "Manajemen Logs aplikasi AnPXLXL Modul dihentikan ...",
"logs_already_stopped" : "Modul Manajemen Logs Implementasi AnP sudah berdiri.",
"logs_stopped" : "Manajemen Log Aplikasi AnP Modul benar-benar berhenti.",
"unaccessible_db_unit" : "ERROR: Disk drive database tidak dapat diakses.",
"session_cleaned" : "Sesi kunci {key} telah dibersihkan."
}
}

@ -0,0 +1,90 @@
{
"italiano" : {
"starting_anp" : "Avviare l'applicazione AnP. Aspetta...",
"settings_loading" : "La configurazione viene caricata...",
"settings_loading_block" : "Il blocco di configurazione '{block}' viene caricato...",
"settings_loaded" : "L'intera configurazione è stata caricata correttamente.",
"i18n_loading" : "La I18N e' carica...",
"i18n_loading_block" : "Il blocco I18N '{block}' viene caricato...",
"i18n_loaded" : "L'intero I18N fu caricato correttamente.",
"start_anp_trying" : "L'applicazione AnP sta iniziando...",
"started_anp_app" : "L'applicazione AnP è stata già avviata.",
"starting_anp_app" : "L'applicazione AnP sta iniziando. Aspetta...",
"settings_starting" : "Il modulo di gestione configurato l'applicazione AnP sta iniziando...",
"settings_started" : "Il modulo di gestione della configurazione AnP è iniziato completamente.",
"i18n_starting" : "Il modulo di gestione I18N dell'applicazione AnP sta iniziando a...",
"i18n_started" : "Il modulo di gestione I18N dell'applicazione AnP è iniziato completamente.",
"i18n_set_default" : "Stabilire la lingua di default...",
"threads_starting" : "Il MKVBCGP Il modulo di gestione del thread Precess sta iniziando...",
"threads_started" : "Il modulo di gestione filetti AnP è stato completamente avviato.",
"terminals_starting" : "Il modulo di gestione terminale dell'applicazione AnP sta iniziando...",
"terminals_started" : "Il modulo di gestione terminale AnP è stato completamente avviato.",
"threads_working" : "Il filo di processo è in esecuzione in questo momento.",
"threads_already_working" : "Il filo di processo era già in esecuzione.",
"threads_already_stopped" : "Il filo di processo era già fermato.",
"threads_stopping" : "Bloccare il filo di processo...",
"threads_stopped" : "Il filo di processo era già fermato.",
"anp_closing" : "L'applicazione AnP sta chiudendo...",
"setting_terminal_input" : "Stabilire l'ingresso terminale.",
"terminals_already_started" : "Il terminal era già iniziato.",
"terminals_stopping" : "Fermare il terminal...",
"terminals_stopped" : "Il terminal si è fermato completamente.",
"terminals_already_stopped" : "Il terminal era già in arresto.",
"unknown_command" : "Il comando con l'ordine '{order}' è sconosciuto...",
"threads_module_built" : "Il modulo filettato di processo AnP viene costruito.",
"terminals_module_build" : "Il modulo filettato di processo dell'applicazione AnP è stato completamente costruito.",
"anp_help" : "Ecco le informazioni di comando scritte:\n{orders}",
"anp_help_full" : "Ecco tutte le informazioni di comando:\n{orders}",
"command_without_help" : "{order} [{synonymous}]: Il comando non ha alcun aiuto.",
"help_help_text" : "{order} [{synonymous}]: Mostra l'aiuto di un comando. È possibile specificare uno o più comandi per visualizzare le informazioni complete.",
"help_commands_text" : "Altri comandi sono pronti a raccogliere tutte le tue informazioni.",
"command_unknown" : "{order} [{synonymous}]: Questo comando viene interrotto.",
"close_help_text" : "{order} [{synonymous}]: Chiudi completamente l'attuale applicazione AnP.",
"files_module_built" : "Il modulo di gestione file MKVBGHF è stato completamente costruito.",
"controllers_module_built" : "Il modulo di gestione del controller di applicazione AnP è stato completamente costruito.",
"routes_module_built" : "Il modulo di gestione del percorso AnP è stato completamente costruito.",
"errors_module_built" : "Il modulo di gestione degli errori AnP è stato completamente costruito.",
"web_server_starting" : "Il '{name}' Web server sta iniziando...",
"web_server_already_started" : "Il '{name}' Il server Web era già iniziato.",
"web_server_building" : "Un nuovo server Web chiamato '{name}' è stato costruito in '[{hosts}]: {port}...",
"web_server_built" : "Il nuovo '{name}' Web server è stato costruito in '[{hosts}]: {port}.",
"web_server_starting_thread" : "Il '{name}' Il server Web sta avviando un thread di processo parallelo. .",
"web_server_starting_node" : "Il '{name}' Web server sta avviando il suo processo nodo thread...",
"web_server_started" : "Il '{name}' Web server è iniziato completamente.",
"web_server_module_built" : "Il '{name}' Modulo server Web è stato completamente costruito.",
"web_server_closing_socket" : "Il '{name}' Web server sta chiudendo il socket '{socket_type}'...",
"web_server_closed_socket" : "Sulla '{name}' Web server, Socket '{socket_type}' è stato chiuso...",
"web_server_closing" : "Il '{name}' Web server sta chiudendo...",
"web_server_already_closed" : "Il '{name}' Web server era già chiuso...",
"web_server_closed" : "Il '{name}' Web server è stato completamente chiuso. .",
"web_server_already_starting" : "Il server Web '{name}' era già chiuso...",
"web_server_already_stopping" : "Il server Web '{name}' era già detenuto...",
"web_server_request" : "Il '{name}' Web server ha una richiesta da '{ip}: {port}'.",
"web_server_request_empty" : "La richiesta di '{ip}: {port}' del server Web '{name}' è vuota",
"web_server_request_method" : "La richiesta di '{ip}: {port}' dal '{name}' Il server Web tramite il metodo '{method}' ha byte di informazioni '{cache}' dal percorso '{route}'.",
"web_server_waiting" : "Il '{name}' Web server è in attesa di nuove richieste dei clienti...",
"web_server_request_responding" : "Il '{name}' Web server sta rispondendo a byte '{response}'...",
"anp_bye" : "L'applicazione AnP è stata completamente chiusa. Grazie per aver usato AnP...",
"web_server_full_print" : [
"C'è una connessione Web al nome di '{name}' da '{method}: {ip}: ",
"{port}' con byte {cache} di informazioni sulla richiesta e una ",
"risposta {response} da parte di informazioni."
],
"sqlite_building" : "La connessione SQLite '{name}' è stata costruita...",
"sqlite_building_error" : "C'è un errore con il codice '{error}' quando si cerca di costruire la connessione SQLite '{name}'.",
"sqlite_built" : "La connessione SQLite '{name}' è stata completamente costruita.",
"sqlite_closing" : "La connessione SQLite '{name}' sta chiudendo...",
"sqlite_closing_error" : "C'è un errore con il codice '{error}' quando si cerca di chiudere la connessione SQLite '{name}'.",
"sqlite_closed" : "La connessione SQLite '{name}' è stata completamente chiusa.",
"sqlite_no_input" : "La connessione SQLite '{name}' non ha parametri di input.",
"sqlite_no_file" : "La connessione SQLite '{name}' non dispone di Path per il file del database.",
"logs_starting" : "L'implementazione AnP Gestione dei registri Il modulo viene lanciato...",
"logs_started" : "Gestione dei registri dell'applicazione AnP Il modulo è stato completamente avviato.",
"logs_stopping" : "Gestione dei registri AnP Il modulo è in piedi...",
"logs_already_stopped" : "Gestione dei registri AnP Il modulo era già in piedi.",
"logs_stopped" : "Il modulo di gestione dei registri di implementazione AnP è stato completamente interrotto.",
"unaccessible_db_unit" : "ERROR: L'unità disco del database è inaccessibile.",
"session_cleaned" : "La sessione chiave {key} è stata pulita."
}
}

@ -0,0 +1,86 @@
{
"ivrit" : {
"starting_anp" : "החל את היישום AnP. חכה...",
"settings_loading" : "התצורה עמוסה...",
"settings_loading_block" : "בלוק התצורה של '{block}' טעון...",
"settings_loaded" : "כל התצורה הייתה נכונה.",
"i18n_loading" : "I18N טעון...",
"i18n_loading_block" : "בלוק I18N '{block}' טעון...",
"i18n_loaded" : "כל I18N היה טעון כראוי.",
"start_anp_trying" : "יישום AnP הוא יזם...",
"started_anp_app" : "אפליקציית AnP כבר החלה.",
"starting_anp_app" : "אפליקציית AnP מתחילה. חכה...",
"settings_starting" : "מודול ההנהלה הגדיר את היישום AnP הוא התחיל...",
"settings_started" : "מודול ניהול יישומים AnP הוקמה לחלוטין.",
"i18n_starting" : "מודול ניהול I18N של היישום AnP מתחיל...",
"i18n_started" : "מודול ניהול I18N של יישום AnP התחיל לחלוטין.",
"i18n_set_default" : "הקמת שפת ברירת המחדל...",
"threads_starting" : "מודול ניהול חוט AnP מתחיל...",
"threads_started" : "מודול ניהול חוטים של AnP התחיל לחלוטין.",
"terminals_starting" : "מודול ניהול הטרמינל של יישומי AnP הוא initating...",
"terminals_started" : "מודול ניהול מסוף AnP נפתח לחלוטין.",
"threads_working" : "רצף התהליך פועל כרגע.",
"threads_already_working" : "חוט תהליכים כבר רץ.",
"threads_already_stopped" : "חוט התהליך כבר נפסק.",
"threads_stopping" : "לעצור את חוט התהליך...",
"threads_stopped" : "חוט התהליך כבר נפסק.",
"anp_closing" : "אפליקציית AnP סגורה...",
"setting_terminal_input" : "הקמת הכניסה לטרמינל.",
"terminals_already_started" : "הטרמינל כבר התחיל.",
"terminals_stopping" : "לעצור את הטרמינל...",
"terminals_stopped" : "הטרמינל הפסיק לחלוטין.",
"terminals_already_stopped" : "הטרמינל כבר נעצר.",
"unknown_command" : "הפקודה עם פיקוד '{order}' אינה ידועה...",
"threads_module_built" : "מודול השבבים של AnP בנוי.",
"terminals_module_build" : "מודול חוט של יישום AnP נבנה לחלוטין.",
"anp_help" : "הנה פרטי הפקודה הכתובים:\n{orders}",
"anp_help_full" : "הנה כל מידע הפקודה:\n{orders}",
"command_without_help" : "{order}[עריכת קוד מקור | עריכה] לפקודה אין עזרה.",
"help_help_text" : "{order} [{synonymous}]: מציג את עזרת הפיקוד. באפשרותך לציין פקודה אחת או יותר להציג את המידע המלא שלך.",
"help_commands_text" : "עוד פקודות מוכנות לאסוף את כל המידע שלך.",
"command_unknown" : "MKV BDSNR [{synonymous}]: פקודה זו הופסקה.",
"close_help_text" : "{order}: סגור את היישום הנוכחי AnP לחלוטין.",
"files_module_built" : "מודול ניהול הקבצים AnP נבנה לחלוטין.",
"controllers_module_built" : "מודול ניהול בקר AnP נבנה לחלוטין.",
"routes_module_built" : "מודול ניהול המסלול AnP נבנה לחלוטין.",
"errors_module_built" : "מודול ניהול שגיאות של יישום AnP נבנה לחלוטין.",
"web_server_starting" : "'{name}' שרת האינטרנט מתחילה...",
"web_server_already_started" : "'{name}' שרת האינטרנט כבר החלה.",
"web_server_building" : "שרת אינטרנט חדשה בנויה עם השם '{name}' ב-\"{hosts}\": {port}...",
"web_server_built" : "ה- '{name}' שרת האינטרנט נבנתה ב\"{hosts}\": {port}.",
"web_server_starting_thread" : "'{name}' שרת אינטרנט מתחילה ערכת תהליכים מקבילים. .",
"web_server_starting_node" : "MKVBY שרת אינטרנט מתחילה את תהליך ה-Node...",
"web_server_started" : "'{name}' שרת האינטרנט התחילה לגמרי.",
"web_server_module_built" : "'{name}' מודול שרת אינטרנט נבנה לחלוטין.",
"web_server_closing_socket" : "'{name}' שרת אינטרנט סוגרת את '{socket_type}'...",
"web_server_closed_socket" : "על '{name}' שרת אינטרנט, Socket '{socket_type}' נסגר...",
"web_server_closing" : "'{name}' שרת האינטרנט סוגרת...",
"web_server_already_closed" : "'{name}' שרת האינטרנט כבר סגורה...",
"web_server_closed" : "'{name}' שרת האינטרנט נסגרה לחלוטין. .",
"web_server_already_starting" : "'{name}' שרת האינטרנט כבר סגורה...",
"web_server_already_stopping" : "'{name}' שרת האינטרנט כבר במעצר...",
"web_server_request" : "'{name}' שרת אינטרנט יש בקשה מ \"{ip}: MKVBMZF\".",
"web_server_request_empty" : "הבקשה של \"{ip}: {port}\" של שרת האינטרנט '{name}' ריקה",
"web_server_request_method" : "הבקשה ל-\"{ip}: {port}\" מה- '{name}' שרת אינטרנט של שיטת '{method}' יש '{cache}' Bytes של מידע מתוואי '{route}'.",
"web_server_waiting" : "'{name}' שרת האינטרנט מחכה לבקשות לקוחות חדשות...",
"web_server_request_responding" : "'{name}' שרת אינטרנט מגיבה ל- '{response}'. .",
"anp_bye" : "יישום AnP נסגר לחלוטין. תודה על השימוש ב- AnP.",
"web_server_full_print" : "יש חיבור לאינטרנט ל- '{name}' בשם \"{method}: {ip}: MKVBFK\" עם מידע {cache} על בקשה ותגובה MKVBTCY באמצעות מידע.",
"sqlite_building" : "חיבור SQLite '{name}' נבנה...",
"sqlite_building_error" : "יש שגיאה עם קוד '{error}' בעת ניסיון לבנות את חיבור SQLite '{name}'.",
"sqlite_built" : "חיבור SQLite '{name}' נבנה לחלוטין.",
"sqlite_closing" : "חיבור SQLite '{name}' נסגר...",
"sqlite_closing_error" : "יש שגיאה עם קוד '{error}' בעת ניסיון לסגור את חיבור SQLite '{name}'.",
"sqlite_closed" : "חיבור ה-SQLite '{name}' נסגר לחלוטין.",
"sqlite_no_input" : "חיבור SQLite '{name}' אין פרמטר קלט.",
"sqlite_no_file" : "חיבור SQLite '{name}' אין דרך לקובץ מסד הנתונים.",
"logs_starting" : "AnP Logs Management המודול מתחיל...",
"logs_started" : "AnP App Logs Management המודול התחיל באופן מלא.",
"logs_stopping" : "ניהול יישומי AnP המודול עומד...",
"logs_already_stopped" : "מודול הניהול של AnP כבר עומד.",
"logs_stopped" : "AnP Logs Management המודול הופסק לחלוטין.",
"unaccessible_db_unit" : "ERROR: כונן הדיסק של מסד הנתונים אינו נגיש.",
"session_cleaned" : "הפגישה המרכזית של {key} ננקה."
}
}

@ -0,0 +1,90 @@
{
"magyar" : {
"starting_anp" : "Az AnP alkalmazás megkezdése. Kérlek, várj...",
"settings_loading" : "A konfiguráció be van töltve...",
"settings_loading_block" : "Az '{block}' konfigurációs blokkot betöltik...",
"settings_loaded" : "Az egész konfigurációt helyesen rakták be.",
"i18n_loading" : "Az I18N-t betöltik...",
"i18n_loading_block" : "Az I18N '{block}' blokkot betöltik...",
"i18n_loaded" : "Az egész I18N-t megfelelően betöltötték.",
"start_anp_trying" : "Az AnP alkalmazás kezdeményezik...",
"started_anp_app" : "Az AnP alkalmazás már megkezdődött.",
"starting_anp_app" : "Az AnP alkalmazás megkezdődik. Kérlek, várj...",
"settings_starting" : "A menedzsment modul konfigurálta az AnP alkalmazást...",
"settings_started" : "Az AnP alkalmazáskonfigurációs menedzsment modul teljesen elindult.",
"i18n_starting" : "Az AnP alkalmazás I18N menedzsment modulja elkezdődik...",
"i18n_started" : "Az AnP alkalmazás I18N menedzsment modulja teljesen elindult.",
"i18n_set_default" : "Az alapértelmezett nyelv létrehozása...",
"threads_starting" : "Az AnP előzi meg a szálgazdálkodási modult...",
"threads_started" : "Az AnP A precess szálkezelő modul teljesen elkezdődött.",
"terminals_starting" : "Az AnP alkalmazás terminálkezelő modulja kezdeményezik...",
"terminals_started" : "Az AnP terminálkezelési modul teljesen elkezdődött.",
"threads_working" : "A folyamat szál jelenleg fut.",
"threads_already_working" : "Process szál már futott.",
"threads_already_stopped" : "A folyamat szála már megállt.",
"threads_stopping" : "A folyamat szálának leállítása...",
"threads_stopped" : "A folyamat szála már megállt.",
"anp_closing" : "Az AnP alkalmazás lezárul...",
"setting_terminal_input" : "A terminál bejárat létrehozása.",
"terminals_already_started" : "A terminál már elkezdődött.",
"terminals_stopping" : "A terminál leállítása...",
"terminals_stopped" : "A terminál teljesen megállt.",
"terminals_already_stopped" : "A terminál már letartóztatták.",
"unknown_command" : "A parancs az '{order}' rendtel ismeretlen...",
"threads_module_built" : "Az AnP folyamatmeneti szálmodul épül.",
"terminals_module_build" : "Az AnP alkalmazás yarn modulja teljesen felépült.",
"anp_help" : "Itt van az írott parancs:\n{orders}",
"anp_help_full" : "Itt van az összes parancs információ:\n{orders}",
"command_without_help" : "{order} [{synonymous}]: A parancsnak nincs segítsége.",
"help_help_text" : "{order} [{synonymous}]: Megmutatja a parancs segítségével. Megadhat egy vagy több parancsot, hogy megnézze a teljes információt.",
"help_commands_text" : "Egy újabb parancs készen áll arra, hogy összegyűjtse az összes információt.",
"command_unknown" : "{order} [{synonymous}]: Ez a parancs megszűnik.",
"close_help_text" : "{order} [{synonymous}]: A jelenlegi AnP alkalmazás teljesen bezárása.",
"files_module_built" : "Az AnP fájlkezelő modul teljesen épült.",
"controllers_module_built" : "Az AnP alkalmazásvezérlő menedzsment modul teljesen épült.",
"routes_module_built" : "Az AnP alkalmazás útvonalkezelési modulja teljesen épült.",
"errors_module_built" : "Az AnP alkalmazás hibakezelési modulja teljesen épült.",
"web_server_starting" : "Az '{name}' A webkiszolgáló indul...",
"web_server_already_started" : "Az '{name}' A webkiszolgáló már elkezdődött.",
"web_server_building" : "Egy új webkiszolgálót az '{name}' névvel építettek '[{hosts}]: {port}...",
"web_server_built" : "Az új '{name}' A webkiszolgálót „[{hosts}] építették: {port}.",
"web_server_starting_thread" : "Az '{name}' A webkiszolgáló párhuzamos folyamat szálat indít. ...",
"web_server_starting_node" : "'{name}' A webszerver elindítja a folyamat szál csomópontját...",
"web_server_started" : "Az '{name}' A webkiszolgáló teljesen elindult.",
"web_server_module_built" : "Az '{name}' A webkiszolgáló modul teljesen épült.",
"web_server_closing_socket" : "Az '{name}' A webkiszolgáló lezárja a Socket '{socket_type}'-t...",
"web_server_closed_socket" : "Az '{name}'-n Webszerver, Socket '{socket_type}' zárva van...",
"web_server_closing" : "Az '{name}' A webkiszolgáló lezárul...",
"web_server_already_closed" : "Az '{name}' A webkiszolgáló már lezárult...",
"web_server_closed" : "Az '{name}' A webkiszolgáló teljesen zárva volt. ...",
"web_server_already_starting" : "Az '{name}' A webkiszolgáló már lezárult...",
"web_server_already_stopping" : "A webkiszolgáló '{name}' már letartóztatott...",
"web_server_request" : "Az '{name}' A webkiszolgáló a \"{ip}: {port}\" kérelmével rendelkezik.",
"web_server_request_empty" : "A „{ip}: {port}” kérelme az '{name}'-től Webszerver üres",
"web_server_request_method" : "A \"{ip}: {port}\" kérése az '{name}' webkiszolgálótól az '{method}' módszerrel rendelkezik '{cache}' információs bytes az '{route}' útvonalról.",
"web_server_waiting" : "Az '{name}' A webkiszolgáló új ügyfélkérelmekre vár...",
"web_server_request_responding" : "Az '{name}' A webkiszolgáló válaszol az '{response}' bytes-re...",
"anp_bye" : "Az AnP alkalmazás teljesen zárva volt. Köszönjük az AnP használatát...",
"web_server_full_print" : [
"Van egy internetkapcsolat az '{name}' névvel a \"{method}: {ip}: ",
"{port}\" az {cache} információs bytes kérésre, és az {response} ",
"válasz idézi az információkat."
],
"sqlite_building" : "Az SQLite '{name}' kapcsolat épül...",
"sqlite_building_error" : "Van egy hiba az '{error}' kóddal, amikor megpróbálja felépíteni az SQLite '{name}' kapcsolatot.",
"sqlite_built" : "Az SQLite '{name}' kapcsolat teljesen épült.",
"sqlite_closing" : "Az SQLite '{name}' kapcsolat lezárul...",
"sqlite_closing_error" : "Van egy hiba az '{error}' kóddal, amikor megpróbálja lezárni az SQLite '{name}' kapcsolatot.",
"sqlite_closed" : "Az SQLite '{name}' kapcsolat teljesen lezárult.",
"sqlite_no_input" : "Az SQLite '{name}' kapcsolatnak nincs bemeneti paramétere.",
"sqlite_no_file" : "Az SQLite '{name}'-kapcsolatnak nincs Path az adatbázisfájlhoz.",
"logs_starting" : "Az AnP App Logs Management A modul elindul...",
"logs_started" : "Az AnP Logs Management A modul teljesen megindult.",
"logs_stopping" : "Az AnP App Logs Management A modul áll...",
"logs_already_stopped" : "Az AnP Logs Management A modul már állt.",
"logs_stopped" : "Az AnP App Log Management modul teljesen leállt.",
"unaccessible_db_unit" : "ERROR: Az adatbázis lemezmeghajtása elérhetetlen.",
"session_cleaned" : "Az {key} kulcsfontosságú ülését megtisztították."
}
}

@ -0,0 +1,86 @@
{
"nederlands" : {
"starting_anp" : "Begin met de MKVSGQ aanvraag. Wacht alsjeblieft...",
"settings_loading" : "Het vertrouwen wordt geladen...",
"settings_loading_block" : "De '{block}'lyDF configuration blokkeert...",
"settings_loaded" : "De hele configuratie was correct geladen.",
"i18n_loading" : "De I18N wordt geladen...",
"i18n_loading_block" : "Het I18N MKVBBDL blok wordt geladen...",
"i18n_loaded" : "De hele I18N was goed geladen.",
"start_anp_trying" : "Het probeert de AnP aanvraag te starten...",
"started_anp_app" : "De MKVXSZN-aanvraag was al begonnen.",
"starting_anp_app" : "De MKVPKVB-aanvraag begint. Wacht alsjeblieft...",
"settings_starting" : "De management module heeft de MKVNGPV-aanvraag in beslag genomen...",
"settings_started" : "De AnP beheersingsmodule was helemaal begonnen.",
"i18n_starting" : "De I18N management module van de AnP-aanvraag begint...",
"i18n_started" : "De I18N management module van de MKVFGZS aanvraag begon volledig.",
"i18n_set_default" : "De defecte taal onthullen...",
"threads_starting" : "De MKVGQBS precess draad managementmodule is begonnen...",
"threads_started" : "The MKVBKT Preces draad management module was volledig begonnen.",
"terminals_starting" : "De terminale management module van de MKVQSXK-aanvraag is initiatief...",
"terminals_started" : "De MKVBDR-terminal Management module was helemaal begonnen.",
"threads_working" : "De procesdraad loopt nu.",
"threads_already_working" : "Proces draad liep al.",
"threads_already_stopped" : "De drempel was al gestopt.",
"threads_stopping" : "De procedures stoppen...",
"threads_stopped" : "De drempel was al gestopt.",
"anp_closing" : "De MKVPXYT app sluit...",
"setting_terminal_input" : "De terminale ingang Establishen.",
"terminals_already_started" : "De terminal was al begonnen.",
"terminals_stopping" : "De terminal stoppen...",
"terminals_stopped" : "De terminal stopte helemaal.",
"terminals_already_stopped" : "De terminal was al gearresteerd.",
"unknown_command" : "Het bevel van de '{order}' is onbekend...",
"threads_module_built" : "De AnP verwerkingsmodule wordt gebouwd.",
"terminals_module_build" : "Het proces draadmodule van de AnP-aanvraag was volledig gebouwd.",
"anp_help" : "Hier is de commando-informatie geschreven:\nMKVBRYH",
"anp_help_full" : "Hier is alle commando informatie:\n{orders}",
"command_without_help" : "Het commando heeft geen hulp.",
"help_help_text" : "Laat de hulp van een bevel zien. Je kunt een of meer bevelen geven om je volledige informatie te bekijken.",
"help_commands_text" : "Nog één bevelen zijn klaar om al je informatie te verzamelen.",
"command_unknown" : "MKBKSHD. Dit bevel is verbroken.",
"close_help_text" : "MKVBYQL Sluit de huidige AnP aanvraag volledig.",
"files_module_built" : "De MKVPQTY bestand management module was volledig gebouwd.",
"controllers_module_built" : "De MKVHSXH applicatie beheersingsmodule was volledig gebouwd.",
"routes_module_built" : "De MKVBNM route management module was volledig gereconstrueerd.",
"errors_module_built" : "De foutbeheersingsmodule van de AnP-aanvraag was volledig gebouwd.",
"web_server_starting" : "De '{name}' Web server begint...",
"web_server_already_started" : "De '{name}' Web server was al begonnen.",
"web_server_building" : "Een nieuwe webserver wordt gebouwd met de naam MKHPTF in {hosts}: MKVBT.",
"web_server_built" : "De nieuwe MKVKGRN Webserver is gebouwd in {hosts}: {port}.",
"web_server_starting_thread" : "De '{name}' Web server begint een parallel proces draad. ..",
"web_server_starting_node" : "The '{name}' De webserver start zijn proces draad node...",
"web_server_started" : "De MKVKRS Webserver begon helemaal.",
"web_server_module_built" : "The '{name}' Web server module was volledig gebouwd.",
"web_server_closing_socket" : "De '{name}' Web server sluit de Socket '{socket_type}'...",
"web_server_closed_socket" : "Op de MKVPHS Web server, Socket '{socket_type}' is gesloten...",
"web_server_closing" : "De MKVNDH Web server sluit...",
"web_server_already_closed" : "The MKVBHLG Web server was al gesloten...",
"web_server_closed" : "De MKVMTQ Web server is volledig gesloten. ..",
"web_server_already_starting" : "De MKVMC Web server was al gesloten...",
"web_server_already_stopping" : "De webserver '{name}' is al vastgehouden...",
"web_server_request" : "De '{name}' Webserver heeft een verzoek van 'MKVSFD'.",
"web_server_request_empty" : "Het verzoek voor {ip}: {port} van de '{name}' server is leeg",
"web_server_request_method" : "Het verzoek van {ip}: Webserver van de MKVPLG-methode heeft '{cache}' informatie doortes van de MKVBPPNP route.",
"web_server_waiting" : "De MKVPKly Web server wacht op nieuwe klanten verzoeken...",
"web_server_request_responding" : "The '{name}' Web server reageert op '{response}' bytes...",
"anp_bye" : "De AnP-aanvraag was volledig gesloten. Bedankt voor het gebruiken van AnP...",
"web_server_full_print" : "Er is een Web-connectie met '{name}''s naam van MKVQQGQ:.",
"sqlite_building" : "De SQLite '{name}' verbinding wordt gebouwd...",
"sqlite_building_error" : "Er is een fout met '{error}' code als hij de SQLite MKBGCKN verbinding probeert te bouwen.",
"sqlite_built" : "De SQLite MKVBRN-connectie was volledig gebouwd.",
"sqlite_closing" : "De SQLite MKVBBH verbinding sluit...",
"sqlite_closing_error" : "Er is een fout met '{error}' code als je probeert de SQLite '{name}' te sluiten.",
"sqlite_closed" : "De SQLite '{name}'-verbinding was compleet gesloten.",
"sqlite_no_input" : "De SQLite '{name}'-verbinding heeft geen input parameter.",
"sqlite_no_file" : "De SQLite '{name}'-connectie heeft geen Path voor het databasebestand.",
"logs_starting" : "The MKVBHD Logs Management Module is begonnen...",
"logs_started" : "The MKVQST Logs Management Module was volledig gestart.",
"logs_stopping" : "De MKVSRPQ implementatie Logs Management module staat...",
"logs_already_stopped" : "De MKVMBSZ implementatie Logs Management module stond al.",
"logs_stopped" : "De MKVDMXQ Logs Management Module was volledig gestopt.",
"unaccessible_db_unit" : "De schijf van de database is ontoegankelijk.",
"session_cleaned" : "De MKVXZS sleutel sessie is schoongemaakt."
}
}

@ -0,0 +1,86 @@
{
"nihongo" : {
"starting_anp" : "AnPアプリケーションを起動します。 お問い合わせ.",
"settings_loading" : "設定はロードされています...",
"settings_loading_block" : "'{block}'の構成ブロックがロードされています...",
"settings_loaded" : "設定全体を正しく読み込みました。.",
"i18n_loading" : "I18Nがロードされています...",
"i18n_loading_block" : "I18N '{block}'ブロックがロードされています...",
"i18n_loaded" : "I18N全体が適切に読み込まれました。.",
"start_anp_trying" : "AnPアプリケーションを起動しようとしています...",
"started_anp_app" : "AnPのアプリケーションは既に開始されました。.",
"starting_anp_app" : "AnPアプリが始まります。 お問い合わせ.",
"settings_starting" : "AnPアプリケーションを設定した管理モジュールが始まります。.",
"settings_started" : "AnPアプリケーション構成管理モジュールが完全に始まりました。.",
"i18n_starting" : "AnPアプリケーションのI18N管理モジュールが始まります。.",
"i18n_started" : "AnPアプリケーションのI18N管理モジュールは完全に始まりました。.",
"i18n_set_default" : "デフォルト言語の確立...",
"threads_starting" : "AnP アプリケーション プレミス スレッド管理 モジュールが始まります。.",
"threads_started" : "AnPアプリケーションは、スレッド管理モジュールを完全に開始しました。.",
"terminals_starting" : "AnPアプリケーションの端末管理モジュールが始まります...",
"terminals_started" : "AnPターミナル管理モジュールは完全に始まりました。.",
"threads_working" : "プロセススレッドは、現在実行中です。.",
"threads_already_working" : "プロセススレッドは既に実行されていました。.",
"threads_already_stopped" : "プロセススレッドが止まりました。.",
"threads_stopping" : "プロセススレッドの停止...",
"threads_stopped" : "プロセススレッドが止まりました。.",
"anp_closing" : "AnPアプリが閉じられます...",
"setting_terminal_input" : "ターミナル入口の設置.",
"terminals_already_started" : "ターミナルは既に始まりました。.",
"terminals_stopping" : "端末の停止...",
"terminals_stopped" : "ターミナルは完全に停止しました。.",
"terminals_already_stopped" : "ターミナルは既に逮捕されてしまいました。.",
"unknown_command" : "'{order}'コマンドは不明です...",
"threads_module_built" : "AnPプロセススレッドモジュールが組み込まれています。.",
"terminals_module_build" : "AnPアプリケーションのプロセススレッドモジュールは完全に構築されました。.",
"anp_help" : "以下はコマンド情報です。\nプラットフォーム",
"anp_help_full" : "ここでは、すべてのコマンド情報です。\nプラットフォーム",
"command_without_help" : "{order} [{synonymous}]: コマンドはヘルプがありません。.",
"help_help_text" : "{order} [{synonymous}]: コマンドのヘルプを表示します。 完全な情報を表示するには、1つ以上のコマンドを指定できます。.",
"help_commands_text" : "より多くのコマンドがすべての情報を収集する準備ができています。.",
"command_unknown" : "{order} [{synonymous}]: このコマンドは廃止されます。.",
"close_help_text" : "{order} [{synonymous}]: 現在のAnPアプリケーションを完全に閉じます。.",
"files_module_built" : "AnPファイル管理モジュールは完全に構築されました。.",
"controllers_module_built" : "AnPドライバ管理モジュールは完全に構築されました。.",
"routes_module_built" : "AnPのルート管理モジュールは十分に組み立てられました。.",
"errors_module_built" : "AnPアプリケーションのエラー管理モジュールは完全に構築されました。.",
"web_server_starting" : "'{name}'の特長 ウェブサーバの起動.",
"web_server_already_started" : "'{name}'の特長 既にWebサーバが起動しました。.",
"web_server_building" : "'{name}'という名前の新しいWebサーバーは、'[{hosts}] で構築されています。 {port}の...",
"web_server_built" : "新しい'{name}' ウェブサーバは '[{hosts}] で構築されています。 {port}'。.",
"web_server_starting_thread" : "'{name}'の Webサーバは並列プロセススレッドを開始します。 お問い合わせ.",
"web_server_starting_node" : "'{name}'の特長 Webサーバは、プロセススレッドノードを開始します。.",
"web_server_started" : "'{name}'の ウェブサーバが完全に起動しました。.",
"web_server_module_built" : "'{name}'の特長 ウェブサーバモジュールを完全に構築しました。.",
"web_server_closing_socket" : "'{name}'の Webサーバーは'{socket_type}'ソケットを閉鎖しています...",
"web_server_closed_socket" : "'{name}' Webサーバーでは、Socket '{socket_type}'が閉鎖されました...",
"web_server_closing" : "'{name}'の特長 ウェブサーバは閉じる...",
"web_server_already_closed" : "'{name}'の特長 Webサーバーは既に閉鎖されました...",
"web_server_closed" : "'{name}'の特長 Webサーバーは完全に閉鎖されています。 お問い合わせ.",
"web_server_already_starting" : "'{name}'の Webサーバーは既に閉鎖されました...",
"web_server_already_stopping" : "'{name}'の特長 ウェブサーバは、既に逮捕された...",
"web_server_request" : "'{name}'の特長 MKVBKRG: {port}' からのリクエストを Web サーバーにインストールします。.",
"web_server_request_empty" : "{ip}のリクエスト:{port}の'{name}' ウェブサーバは空です",
"web_server_request_method" : "{ip}:'{name}'Dのリクエスト '{method}'メソッドによるWebサーバーは、'{route}'ルートから情報の'{cache}'バイトを持っています。.",
"web_server_waiting" : "'{name}'の特長 Webサーバーは、新しい顧客要求を待っています...",
"web_server_request_responding" : "'{name}' Webサーバーは'{response}'バイトに応答しています...",
"anp_bye" : "AnPアプリは完全に閉じられました。 AnPを使用していただきありがとうございます...",
"web_server_full_print" : "{method}:{ip}から'{name}'の名前へのWeb接続があります。 {port}は、要求の{cache}バイトと{response}の回答バイト情報です。.",
"sqlite_building" : "SQLite '{name}'接続が構築されています...",
"sqlite_building_error" : "SQLite '{name}'接続をビルドしようとすると、'{error}'コードにエラーがあります。.",
"sqlite_built" : "SQLite '{name}'接続は完全に構築されました。.",
"sqlite_closing" : "SQLite '{name}' 接続が閉じられます...",
"sqlite_closing_error" : "SQLite '{name}'接続を閉じようとすると、'{error}'コードにエラーがあります。.",
"sqlite_closed" : "SQLite '{name}'接続は完全に閉じられました。.",
"sqlite_no_input" : "SQLite '{name}'接続には入力パラメータはありません。.",
"sqlite_no_file" : "SQLite '{name}' 接続には、データベースファイルのパスはありません。.",
"logs_starting" : "AnPアプリログ管理 モジュールが始まりました。.",
"logs_started" : "AnPログ管理 モジュールは十分に開始されました。.",
"logs_stopping" : "AnPログ管理 モジュールが止まっている...",
"logs_already_stopped" : "AnP導入ログ管理モジュールは既に立っています。.",
"logs_stopped" : "AnPログ管理 モジュールは完全に止まりました。.",
"unaccessible_db_unit" : "ERROR: データベースのディスクドライブはアクセスできません。.",
"session_cleaned" : "{key}キーセッションをクリーンアップしました。."
}
}

@ -0,0 +1,86 @@
{
"polski" : {
"starting_anp" : "Począwszy od aplikacji AnP. Oczekuję...",
"settings_loading" : "Konfiguracja jest załadowana..",
"settings_loading_block" : "Blok konfiguracji '{block}' jest załadowany..",
"settings_loaded" : "Cała konfiguracja została poprawnie załadowana.",
"i18n_loading" : "I18N jest załadowany..",
"i18n_loading_block" : "Blok I18N '{block}' został załadowany..",
"i18n_loaded" : "Cała I18N została załadowana.",
"start_anp_trying" : "Próbujesz uruchomić aplikację AnP...",
"started_anp_app" : "Zaczął się już aplikacja AnP.",
"starting_anp_app" : "Początek aplikacji AnP. Oczekuję...",
"settings_starting" : "Program AnP został opracowany...",
"settings_started" : "AnP zostało całkowicie uruchomione.",
"i18n_starting" : "Założono moduł zarządzania AnP.",
"i18n_started" : "Zastosowanie modułu zarządzania AnP rozpoczęło się całkowicie.",
"i18n_set_default" : "Stworzenie domyślnego języka...",
"threads_starting" : "AnP Rozpoczęto budowę modułu zarządzania wątek..",
"threads_started" : "MKVBDMS został całkowicie uruchomiony.",
"terminals_starting" : "Moduł zarządzania terminalem aplikacji AnP jest inicjowany..",
"terminals_started" : "Budowa modułu terminalu AnP rozpoczęła się całkowicie.",
"threads_working" : "Obecnie wątek procesu jest uruchomiony.",
"threads_already_working" : "Wątek procesu był już uruchomiony.",
"threads_already_stopped" : "Wątek procesu został już zatrzymany.",
"threads_stopping" : "Przewiduje wątek procesu..",
"threads_stopped" : "Wątek procesu został już zatrzymany.",
"anp_closing" : "Aplikacja AnP...",
"setting_terminal_input" : "Ustanowić wejście do terminalu.",
"terminals_already_started" : "Terminal został już uruchomiony.",
"terminals_stopping" : "Stopping terminal...",
"terminals_stopped" : "Terminal został całkowicie zatrzymany.",
"terminals_already_stopped" : "Terminal był już w czasie aresztowania.",
"unknown_command" : "Komenda '{order}' nie jest znana.",
"threads_module_built" : "Zbudowany został moduł AnP.",
"terminals_module_build" : "Moduł AnP został całkowicie zbudowany.",
"anp_help" : "Wskazuje się, że jest to informacja dowodzenia:\n{orders}",
"anp_help_full" : "Wskazuje się, że jest to informacja dowodzenia:\nMKVBHGR",
"command_without_help" : "{order} (ang.). Dowództwo nie ma pomocy.",
"help_help_text" : "{order} (ang.). Wykazuje pomoc dowódcy. Można wyróżnić jeden lub więcej poleceń, aby uwzględnić swoje informacje.",
"help_commands_text" : "Inne rozkazy są gotowe do zebrania wszystkich informacji.",
"command_unknown" : "MKVBTDC (ang.). To polecenie zostało przerwane.",
"close_help_text" : "{order} (ang.). Zamknięto program AnP.",
"files_module_built" : "AnP został całkowicie zbudowany.",
"controllers_module_built" : "AnP zostało całkowicie zbudowane.",
"routes_module_built" : "AnP zostało w pełni skonstruowane.",
"errors_module_built" : "Moduł zarządzania błędów AnP został całkowicie zbudowany.",
"web_server_starting" : "'{name}' Serwer internetowy rozpoczyna się...",
"web_server_already_started" : "'{name}' Serwer internetowy został już uruchomiony.",
"web_server_building" : "Nowy serwer Web o nazwie '{name}' został zbudowany w '{hosts}. {port} (ang.).",
"web_server_built" : "Nowy '{name}'. Serwer internetowy został zbudowany w bazie '{hosts}. {port} (ang.).",
"web_server_starting_thread" : "'{name}' Serwer internetowy rozpoczyna się procesem równoległym..",
"web_server_starting_node" : "'{name}' (ang.). Serwer internetowy rozpoczyna swój węzeł procesowy..",
"web_server_started" : "'{name}' Serwer internetowy rozpoczął się całkowicie.",
"web_server_module_built" : "'{name}' (ang.). Komputer Web został całkowicie zbudowany.",
"web_server_closing_socket" : "'{name}' Serwer internetowy zamyka Socket '{socket_type}'...",
"web_server_closed_socket" : "'{name}' (ang.). Serwer internetowy Socket '{socket_type}' został zamknięty.",
"web_server_closing" : "'{name}' Serwer internetowy jest zamknięty...",
"web_server_already_closed" : "'{name}' (ang.). Serwer internetowy był już zamknięty...",
"web_server_closed" : "'{name}'. Serwer internetowy został całkowicie zamknięty..",
"web_server_already_starting" : "'{name}' Serwer internetowy był już zamknięty...",
"web_server_already_stopping" : "'{name}' Serwer internetowy był już aresztowany.",
"web_server_request" : "'{name}' Serwer internetowy ma żądanie od '{ip}: {port}'.",
"web_server_request_empty" : "{ip}: {port} (ang.). Serwer internetowy",
"web_server_request_method" : "{ip}: {port} (ang.). Serwer internetowy metodą '{method}' posiada bajty '{cache}' informacji z trasy MKVBVBVTLS.",
"web_server_waiting" : "'{name}' Serwer internetowy czeka na nowe żądania klienta..",
"web_server_request_responding" : "'{name}' Serwer internetowy odpowiada '{response}' bytes..",
"anp_bye" : "Aplikacja AnP została całkowicie zamknięta. Dzięki zastosowaniu AnP...",
"web_server_full_print" : "Istnieje połączenie internetowe do '{name}' z '{method}: {ip}: {port}' z {cache} i {response}.",
"sqlite_building" : "Zbudowano połączenie SQLite '{name}'...",
"sqlite_building_error" : "Istnieje błąd z kodem '{error}', który próbuje zbudować SQLite '{name}'.",
"sqlite_built" : "SQLite '{name}' została całkowicie zbudowana.",
"sqlite_closing" : "Kompleks SQLite '{name}' jest zamykany..",
"sqlite_closing_error" : "Istnieje błąd z kodem '{error}', gdy próbuje związać związek SQLite '{name}'.",
"sqlite_closed" : "Połączenie SQLite '{name}' zostało całkowicie zamknięte.",
"sqlite_no_input" : "SQLite '{name}' nie ma parametru wejściowego.",
"sqlite_no_file" : "SQLite '{name}' nie posiada Path dla pliku bazy danych.",
"logs_starting" : "AnP App Logs Management (ang.). Zaczyna się modulacja...",
"logs_started" : "AnP został całkowicie zainicjowany.",
"logs_stopping" : "AnP Logs Management (ang.). Moduł został zatrzymany..",
"logs_already_stopped" : "Model AnP, Logs Management moduł, był już dostępny.",
"logs_stopped" : "AnP Logs Management (ang.). Moduł został całkowicie zatrzymany.",
"unaccessible_db_unit" : "ERROR: dysk danych jest niedostępny.",
"session_cleaned" : "Część z nich została oczyszczona."
}
}

@ -0,0 +1,90 @@
{
"portugues" : {
"starting_anp" : "Iniciando o aplicativo AnP. Por favor, espere...",
"settings_loading" : "A configuração está sendo carregada...",
"settings_loading_block" : "O bloco de configuração '{block}' está sendo carregado...",
"settings_loaded" : "Toda a configuração foi carregada corretamente.",
"i18n_loading" : "O I18N está a ser carregado...",
"i18n_loading_block" : "O bloco I18N '{block}' está sendo carregado...",
"i18n_loaded" : "Todo o I18N foi devidamente carregado.",
"start_anp_trying" : "Você está tentando iniciar o aplicativo AnP...",
"started_anp_app" : "O aplicativo AnP já foi iniciado.",
"starting_anp_app" : "O aplicativo AnP está começando. Por favor, espere...",
"settings_starting" : "O módulo de gerenciamento configurou o aplicativo AnP está sendo iniciado...",
"settings_started" : "O módulo de gerenciamento de configuração AnP foi completamente iniciado.",
"i18n_starting" : "O módulo de gerenciamento I18N da aplicação AnP está sendo iniciado...",
"i18n_started" : "O módulo de gerenciamento I18N do aplicativo AnP começou completamente.",
"i18n_set_default" : "Estabelecer o idioma padrão...",
"threads_starting" : "O AnP Módulo de gerenciamento de threads está sendo iniciado...",
"threads_started" : "O módulo de gerenciamento de rosca pré-cessante AnP foi completamente iniciado.",
"terminals_starting" : "O módulo de gerenciamento terminal da aplicação AnP está iniciando...",
"terminals_started" : "O módulo de gerenciamento terminal AnP foi completamente iniciado.",
"threads_working" : "O fio de processo está sendo executado agora.",
"threads_already_working" : "O fio de processo já estava em execução.",
"threads_already_stopped" : "A linha de processo já foi interrompida.",
"threads_stopping" : "Parar a linha de processo...",
"threads_stopped" : "A linha de processo já foi interrompida.",
"anp_closing" : "O aplicativo AnP está fechando...",
"setting_terminal_input" : "Estabelecer a entrada terminal.",
"terminals_already_started" : "O terminal já foi iniciado.",
"terminals_stopping" : "Parar o terminal...",
"terminals_stopped" : "O terminal parou completamente.",
"terminals_already_stopped" : "O terminal já estava preso.",
"unknown_command" : "O comando com a ordem '{order}' é desconhecido...",
"threads_module_built" : "O módulo de rosca de processo AnP está sendo construído.",
"terminals_module_build" : "O módulo de fio de processo AnP foi completamente construído.",
"anp_help" : "Aqui está a informação de comando escrita:\n{orders}",
"anp_help_full" : "Aqui está toda a informação de comando:\n{orders}",
"command_without_help" : "{order} [MKVBPYX]: O comando não tem ajuda.",
"help_help_text" : "{order} [{synonymous}]: Mostra a ajuda de um comando. Você pode especificar um ou mais comandos para visualizar suas informações completas.",
"help_commands_text" : "Mais um comando está pronto para coletar todas as suas informações.",
"command_unknown" : "{order} [{synonymous}]: Este comando é descontinuado.",
"close_help_text" : "{order} [{synonymous}]: Feche a aplicação AnP atual completamente.",
"files_module_built" : "O módulo de gerenciamento de arquivos AnP foi completamente construído.",
"controllers_module_built" : "O AnP Driver Management Module foi completamente construído.",
"routes_module_built" : "O módulo de gerenciamento de rotas da aplicação AnP foi completamente construído.",
"errors_module_built" : "O módulo de gerenciamento de erro AnP foi completamente construído.",
"web_server_starting" : "O '{name}' Servidor Web está começando...",
"web_server_already_started" : "O '{name}' Servidor Web já foi iniciado.",
"web_server_building" : "Um novo servidor Web chamado '{name}' está sendo construído em '[{hosts}]: MKVBLBQ...",
"web_server_built" : "O novo '{name}' Servidor Web foi construído em '[{hosts}]: {port}.",
"web_server_starting_thread" : "O '{name}' O servidor Web está a iniciar um processo paralelo. ...",
"web_server_starting_node" : "O '{name}' Servidor Web está começando seu nó de linha de processo...",
"web_server_started" : "O '{name}' Servidor Web começou completamente.",
"web_server_module_built" : "O '{name}' O módulo do servidor Web foi completamente construído.",
"web_server_closing_socket" : "O '{name}' Servidor Web está fechando o soquete '{socket_type}'...",
"web_server_closed_socket" : "No '{name}' Servidor Web, o Soquete '{socket_type}' foi fechado...",
"web_server_closing" : "O '{name}' Servidor Web está fechando...",
"web_server_already_closed" : "O '{name}' Servidor Web já estava fechado...",
"web_server_closed" : "O '{name}' Servidor Web foi completamente fechado. ...",
"web_server_already_starting" : "O '{name}' Servidor Web já estava fechado...",
"web_server_already_stopping" : "O '{name}' Servidor Web já estava preso...",
"web_server_request" : "O '{name}' Servidor Web tem um pedido de '{ip}: {port}'.",
"web_server_request_empty" : "O pedido para '{ip}: {port}' do servidor Web '{name}' está vazio",
"web_server_request_method" : "O pedido de '{ip}: {port}' do servidor Web '{name}' pelo método '{method}' tem bytes de informação '{cache}' da rota '{route}'.",
"web_server_waiting" : "O '{name}' Servidor Web está esperando novos pedidos de clientes...",
"web_server_request_responding" : "O '{name}' Servidor Web está respondendo aos bytes '{response}'...",
"anp_bye" : "A aplicação AnP foi completamente fechada. Obrigado por usar AnP...",
"web_server_full_print" : [
"Há uma conexão Web com o nome '{name}' de '{method}: {ip}: ",
"{port}' com bytes de informações {cache} na solicitação e uma ",
"resposta {response} bytes informações."
],
"sqlite_building" : "A conexão SQLite '{name}' está sendo construída...",
"sqlite_building_error" : "Há um erro com o código '{error}' ao tentar construir a conexão SQLite '{name}'.",
"sqlite_built" : "A conexão SQLite '{name}' foi completamente construída.",
"sqlite_closing" : "A conexão SQLite '{name}' está fechando...",
"sqlite_closing_error" : "Há um erro com o código '{error}' ao tentar fechar a conexão SQLite '{name}'.",
"sqlite_closed" : "A conexão SQLite '{name}' foi completamente fechada.",
"sqlite_no_input" : "A conexão SQLite '{name}' não tem parâmetro de entrada.",
"sqlite_no_file" : "A conexão SQLite '{name}' não tem Path para o arquivo de banco de dados.",
"logs_starting" : "O gerenciamento de logs AnP O módulo está a ser iniciado...",
"logs_started" : "O AnP Logs Management O módulo foi completamente iniciado.",
"logs_stopping" : "O AnP Achievement Management Module está parando...",
"logs_already_stopped" : "A implementação AnP O módulo de gerenciamento de registros já estava em pé.",
"logs_stopped" : "O AnP Logs Management O módulo foi completamente parado.",
"unaccessible_db_unit" : "ERROR: A unidade de disco do banco de dados é inacessível.",
"session_cleaned" : "A sessão da chave {key} foi limpa."
}
}

@ -0,0 +1,86 @@
{
"russkiy" : {
"starting_anp" : "Запуск приложения AnP. Подождите...",
"settings_loading" : "Конфигурация загружается...",
"settings_loading_block" : "Блок конфигурации '{block}' загружается...",
"settings_loaded" : "Вся конфигурация была загружена правильно.",
"i18n_loading" : "I18N загружается...",
"i18n_loading_block" : "Блок I18N '{block}' загружается...",
"i18n_loaded" : "Весь I18N был должным образом загружен.",
"start_anp_trying" : "Он пытается запустить приложение AnP...",
"started_anp_app" : "Приложение AnP уже было запущено.",
"starting_anp_app" : "Начинается приложение AnP. Подождите...",
"settings_starting" : "Модуль управления, настроенный приложение MKVBQPC, инициирует...",
"settings_started" : "Модуль управления конфигурацией приложений AnP был полностью запущен.",
"i18n_starting" : "Начат модуль управления I18N приложения AnP...",
"i18n_started" : "Модуль управления I18N приложения AnP начался полностью.",
"i18n_set_default" : "Создание языка по умолчанию...",
"threads_starting" : "AnP Начался модуль управления строками.",
"threads_started" : "AnP был полностью запущен модуль управления потоками.",
"terminals_starting" : "Модуль управления терминалом приложения AnP инициирует...",
"terminals_started" : "Модуль управления терминалами AnP начался полностью.",
"threads_working" : "Процесс идет прямо сейчас.",
"threads_already_working" : "Процессная нить уже была запущена.",
"threads_already_stopped" : "Процессная нить уже была остановлена.",
"threads_stopping" : "Остановить процесс...",
"threads_stopped" : "Процессная нить уже была остановлена.",
"anp_closing" : "Приложение AnP закрывается...",
"setting_terminal_input" : "Установить вход в терминал.",
"terminals_already_started" : "Терминал уже был запущен.",
"terminals_stopping" : "Остановить терминал...",
"terminals_stopped" : "Терминал полностью остановился.",
"terminals_already_stopped" : "Терминал уже был арестован.",
"unknown_command" : "Командование приказом '{order}' неизвестно...",
"threads_module_built" : "В настоящее время строится модуль AnP.",
"terminals_module_build" : "Модуль технологических потоков приложения AnP был полностью построен.",
"anp_help" : "Вот командная информация, написанная:\n{orders}",
"anp_help_full" : "Вот вся командная информация:\n{orders}",
"command_without_help" : "{order} [{synonymous}]: У команды нет помощи.",
"help_help_text" : "{order} [{synonymous}]: Показывает помощь команды. Вы можете указать одну или несколько команд для просмотра вашей полной информации.",
"help_commands_text" : "Еще одна команда готова собрать всю вашу информацию.",
"command_unknown" : "{order} [{synonymous}]: Эта команда прекращена.",
"close_help_text" : "{order} [{synonymous}]: Закройте текущее приложение AnP полностью.",
"files_module_built" : "Модуль управления файлами AnP был полностью построен.",
"controllers_module_built" : "Модуль управления контроллером AnP был полностью построен.",
"routes_module_built" : "Модуль управления маршрутом приложения AnP был полностью построен.",
"errors_module_built" : "Модуль управления ошибками приложения AnP был полностью построен.",
"web_server_starting" : "'{name}' Веб-сервер начинает...",
"web_server_already_started" : "'{name}' Веб-сервер уже был запущен.",
"web_server_building" : "Новый веб-сервер под названием '{name}' строится в '[{hosts}]: {port}...",
"web_server_built" : "Новый '{name}' Веб-сервер был построен в '[{hosts}]: {port}'.",
"web_server_starting_thread" : "'{name}' Веб-сервер начинает параллельный процесс. ...",
"web_server_starting_node" : "MKVBRS Веб-сервер начинает свой узел нитей процесса...",
"web_server_started" : "'{name}' Веб-сервер начался полностью.",
"web_server_module_built" : "'{name}' Модуль веб-сервера был полностью построен.",
"web_server_closing_socket" : "'{name}' Веб-сервер закрывает Socket '{socket_type}'...",
"web_server_closed_socket" : "На веб-сервере '{name}' был закрыт Socket '{socket_type}'...",
"web_server_closing" : "'{name}' Веб-сервер закрывается...",
"web_server_already_closed" : "'{name}' Веб-сервер уже был закрыт...",
"web_server_closed" : "'{name}' Веб-сервер был полностью закрыт. ...",
"web_server_already_starting" : "'{name}' Веб-сервер уже был закрыт...",
"web_server_already_stopping" : "'{name}' Веб-сервер уже был арестован...",
"web_server_request" : "'{name}' Веб-сервер имеет запрос от '{ip}: {port}'.",
"web_server_request_empty" : "{ip}: {port} Веб-сервер пуст",
"web_server_request_method" : "Запрос \"{ip}: {port}\" веб-сервера '{name}' по методу '{method}' имеет байты информации от маршрута '{cache}'.",
"web_server_waiting" : "'{name}' Веб-сервер ждет новых запросов клиентов...",
"web_server_request_responding" : "'{name}' Веб-сервер отвечает на байты '{response}'...",
"anp_bye" : "Приложение AnP было полностью закрыто. Спасибо за использование AnP...",
"web_server_full_print" : "Существует веб-подключение к названию '{name}' от '{method}: {ip}: {port}' с информационными байтами {cache} в запросе и байтами ответа {response}.",
"sqlite_building" : "Строится соединение SQLite '{name}'...",
"sqlite_building_error" : "Существует ошибка с кодом '{error}' при попытке построить соединение SQLite '{name}'.",
"sqlite_built" : "Подключение SQLite '{name}' было полностью построено.",
"sqlite_closing" : "Подключение SQLite '{name}' закрывается...",
"sqlite_closing_error" : "Существует ошибка с кодом '{error}' при попытке закрыть соединение SQLite '{name}'.",
"sqlite_closed" : "Подключение SQLite '{name}' было полностью закрыто.",
"sqlite_no_input" : "Подключение SQLite '{name}' не имеет входного параметра.",
"sqlite_no_file" : "Подключение SQLite '{name}' не имеет Path для файла базы данных.",
"logs_starting" : "Управление журналами приложений AnP Модуль запускается...",
"logs_started" : "Управление журналами приложения AnP Модуль был полностью инициирован.",
"logs_stopping" : "AnP MKV Управление журналами Модуль останавливается...",
"logs_already_stopped" : "Модуль управления журналами реализации AnP уже стоял.",
"logs_stopped" : "Управление журналами AnP Модуль был полностью остановлен.",
"unaccessible_db_unit" : "ERROR: Диск базы данных недоступен.",
"session_cleaned" : "Ключевое заседание {key} было очищено."
}
}

@ -0,0 +1,90 @@
{
"slovencina" : {
"starting_anp" : "Začiatok aplikácie AnP. Prosím, počkajte...",
"settings_loading" : "Konfigurácia je nabitá...",
"settings_loading_block" : "Konfiguračný blok '{block}' je naložený...",
"settings_loaded" : "Celá konfigurácia bola naložená správne.",
"i18n_loading" : "I18N je naložený...",
"i18n_loading_block" : "I18N '{block}' blok je naložený...",
"i18n_loaded" : "Celý I18N bol správne naložený.",
"start_anp_trying" : "Snaží sa začať aplikáciu AnP ...",
"started_anp_app" : "Aplikácia AnP už začala.",
"starting_anp_app" : "Aplikácia AnP začína. Prosím, počkajte...",
"settings_starting" : "Modul riadenia nakonfigurovaný aplikáciu AnP sa začína ...",
"settings_started" : "Konfiguračný modul AnP bol úplne začal.",
"i18n_starting" : "I18N riadiaci modul AnP aplikácie sa začína ...",
"i18n_started" : "I18N riadiaci modul aplikácie AnP začal úplne.",
"i18n_set_default" : "Vytvorenie predvoleného jazyka...",
"threads_starting" : "AnP aplikácie precess vlákno riadiaci modul sa začína ...",
"threads_started" : "Modul AnP precess závit management bol úplne začal.",
"terminals_starting" : "Modul riadenia terminálu aplikácie AnP začína ...",
"terminals_started" : "Modul AnP sa začal úplne.",
"threads_working" : "Tento proces závit beží práve teraz.",
"threads_already_working" : "Proces vlákno už beží.",
"threads_already_stopped" : "Proces závit bol už zastavený.",
"threads_stopping" : "Zastavenie procesu vlákno ...",
"threads_stopped" : "Proces závit bol už zastavený.",
"anp_closing" : "Aplikácia AnP sa uzatvára...",
"setting_terminal_input" : "Založenie terminálu vstup.",
"terminals_already_started" : "Terminál bol už začal.",
"terminals_stopping" : "Zastavenie terminálu...",
"terminals_stopped" : "Terminál sa zastavil úplne.",
"terminals_already_stopped" : "Terminál bol už zatknutý.",
"unknown_command" : "Príkaz s objednávkou '{order}' nie je známy...",
"threads_module_built" : "Modul AnP je postavený.",
"terminals_module_build" : "Proces vlákno modul aplikácie AnP bol úplne postavený.",
"anp_help" : "Tu je uvedené informácie o príkaze:\n{orders}",
"anp_help_full" : "Tu je všetky informácie o príkaze:\n{orders}",
"command_without_help" : "{order} [{synonymous}]: príkaz nemá pomoc.",
"help_help_text" : "{order} [{synonymous}]: Zobrazuje pomoc príkazu. Môžete zadať jeden alebo viac príkazov pre zobrazenie vašich úplných informácií.",
"help_commands_text" : "Ďalšie príkazy sú pripravené na zhromažďovanie všetkých vašich informácií.",
"command_unknown" : "{order} [{synonymous}]: Tento príkaz je ukončený.",
"close_help_text" : "{order} [{synonymous}]: Zatvorte aktuálnu aplikáciu AnP úplne.",
"files_module_built" : "Modul AnP bol kompletne postavený.",
"controllers_module_built" : "Modul AnP Driver Management bol postavený úplne.",
"routes_module_built" : "Modul riadenia trasy aplikácie AnP bol úplne postavený.",
"errors_module_built" : "Modul správy chýb AnP bol úplne postavený.",
"web_server_starting" : "'{name}' Web server začína ...",
"web_server_already_started" : "'{name}' Web server bol už začal.",
"web_server_building" : "Nový Web server s názvom '{name}' je postavený v '[{hosts}]: {port}' ...",
"web_server_built" : "Nová '{name}' Web server bol postavený na '[{hosts}]: {port}'.",
"web_server_starting_thread" : "'{name}' Web server začína paralelný proces závit. ..",
"web_server_starting_node" : "'{name}' Web server začína svoj proces vlákno node ...",
"web_server_started" : "'{name}' Web server začal úplne.",
"web_server_module_built" : "'{name}' Web serverový modul bol kompletne postavený.",
"web_server_closing_socket" : "'{name}' Web server sa uzatvára '{socket_type}' Socket ...",
"web_server_closed_socket" : "Na '{name}' Web server, Socket MKVBQZQ bol uzavretý ...",
"web_server_closing" : "'{name}' Web server je zatvorený...",
"web_server_already_closed" : "'{name}' Web server bol už uzavretý...",
"web_server_closed" : "'{name}' Web server bol úplne uzavretý. ..",
"web_server_already_starting" : "'{name}' Web server bol už uzavretý...",
"web_server_already_stopping" : "'{name}' Web server bol už zatknutý...",
"web_server_request" : "'{name}' Web server má požiadavku od '{ip}: {port}'.",
"web_server_request_empty" : "Žiadosť o '{ip}: {port} ' '{name}' Web server je prázdny",
"web_server_request_method" : "Žiadosť o '{ip}: {port}' z '{name}' Web server '{method}' má '{cache}' bajtov informácií z trasy '{route}'.",
"web_server_waiting" : "'{name}' Web server čaká na nové požiadavky zákazníkov...",
"web_server_request_responding" : "'{name}' Web server reaguje na '{response}' batož...",
"anp_bye" : "Aplikácia AnP bola úplne uzavretá. Vďaka za používanie AnP ...",
"web_server_full_print" : [
"K dispozícii je Web pripojenie k '{name}' názov od '{method}: ",
"{ip}: {port}' s {cache} informácie bytes na požiadanie a ",
"{response} odpoveď podľa údajov."
],
"sqlite_building" : "SQLite '{name}' pripojenie je postavená...",
"sqlite_building_error" : "K dispozícii je chyba s '{error}' kód pri pokuse o vybudovanie pripojenia SQLite '{name}'.",
"sqlite_built" : "Pripojenie SQLite '{name}' bolo úplne postavené.",
"sqlite_closing" : "Pripojenie SQLite '{name}' sa uzatvára ...",
"sqlite_closing_error" : "Tam je chyba s '{error}' kód pri pokuse uzavrieť pripojenie SQLite '{name}'.",
"sqlite_closed" : "Pripojenie SQLite '{name}' bola úplne uzavretá.",
"sqlite_no_input" : "Pripojenie SQLite '{name}' nemá vstupný parameter.",
"sqlite_no_file" : "Pripojenie SQLite '{name}' nemá cestu pre súbor databázy.",
"logs_starting" : "AnP App Logs Management Modul je zahájený...",
"logs_started" : "AnP Logs Management Modul bol úplne iniciovaný.",
"logs_stopping" : "Implementačný modul AnP sa zastaví ...",
"logs_already_stopped" : "Správa AnP Modul bol už stojaci.",
"logs_stopped" : "Správa AnP Modul bol úplne zastavený.",
"unaccessible_db_unit" : "ERROR: Diskový disk databázy je nedostupný.",
"session_cleaned" : "Korekcia {key} bola očistená."
}
}

@ -0,0 +1,86 @@
{
"suomi" : {
"starting_anp" : "AnP-sovelluksen aloittaminen. Ole hyvä ja odota...",
"settings_loading" : "Konfiguraatio on ladattu...",
"settings_loading_block" : "'{block}'-kokoonpano on ladattu...",
"settings_loaded" : "Koko kokoonpano on ladattu oikein.",
"i18n_loading" : "I18N:ää ladataan...",
"i18n_loading_block" : "I18N '{block}' -lohko on ladattu...",
"i18n_loaded" : "Koko I18N-malli on ladattu oikein.",
"start_anp_trying" : "AnP-sovelluksen...",
"started_anp_app" : "AnP-hakemus on jo aloitettu.",
"starting_anp_app" : "AnP-sovellus alkaa. Ole hyvä ja odota...",
"settings_starting" : "Johtomoduuli AnP-sovellus on alkanut...",
"settings_started" : "AnP-sovellusten konfigurointimoduuli käynnistyi täysin.",
"i18n_starting" : "AnP-sovelluksen I18N-ohjausmoduuli käynnistyy...",
"i18n_started" : "AnP-sovelluksen I18N-ohjausmoduuli käynnistyi täysin.",
"i18n_set_default" : "Oletusarvoisen kielen...",
"threads_starting" : "AnP precess thread management moduuli käynnistyy...",
"threads_started" : "AnP-ohjausmoduuli käynnistyi täysin.",
"terminals_starting" : "AnP-sovelluksen terminaalinhallintamoduuli käynnistää...",
"terminals_started" : "AnP-terminaalinhallintamoduuli sai alkunsa.",
"threads_working" : "Prosessikierros on käynnissä juuri nyt.",
"threads_already_working" : "Prosessilanka oli jo käynnissä.",
"threads_already_stopped" : "Prosessiketju on jo lopetettu.",
"threads_stopping" : "Prosessin lankaaminen...",
"threads_stopped" : "Prosessiketju on jo lopetettu.",
"anp_closing" : "AnP-sovellus päättyy...",
"setting_terminal_input" : "Terminaalin sisäänkäynti.",
"terminals_already_started" : "Terminaali on jo aloitettu.",
"terminals_stopping" : "Terminaalin lopettaminen...",
"terminals_stopped" : "Terminaali pysähtyi kokonaan.",
"terminals_already_stopped" : "Terminaali on jo pidätetty.",
"unknown_command" : "'{order}'-komento ei ole tiedossa.",
"threads_module_built" : "AnP-prosessiohjausmoduuli rakennetaan.",
"terminals_module_build" : "AnP-sovellus on täysin rakennettu.",
"anp_help" : "Tässä ohjeet, jotka on kirjoitettu:\n{orders}",
"anp_help_full" : "Tässä kaikki komentotiedot:\n{orders}",
"command_without_help" : "{order} ({synonymous}): Komennolla ei ole mitään apua.",
"help_help_text" : "{order} ({synonymous}): Näyttää komennon avun. Voit määrittää yhden tai useamman komennon tarkastellaksesi täydellisiä tietojasi.",
"help_commands_text" : "Yksi lisäkomento on valmis keräämään kaikki tietosi.",
"command_unknown" : "{order} ({synonymous}): Tämä käsky on lopetettu.",
"close_help_text" : "{order} ({synonymous}): Sulje nykyinen AnP-sovellus kokonaan.",
"files_module_built" : "AnP-tiedostonhallintamoduuli rakennettiin täysin.",
"controllers_module_built" : "AnP-sovellustenhallintamoduuli rakennettiin täysin.",
"routes_module_built" : "AnP-reitinhallintamoduuli rakennettiin täysin.",
"errors_module_built" : "AnP-sovelluksen virheenhallintamoduuli rakennettiin täysin.",
"web_server_starting" : "'{name}' Web-palvelin alkaa...",
"web_server_already_started" : "'{name}' Verkkopalvelin on jo aloitettu.",
"web_server_building" : "Uusi web-palvelin nimeltään '{name}' on rakennettu ’[{hosts}]: {port}.",
"web_server_built" : "Uusi MKVBYGZ Web-palvelin on rakennettu ’[{hosts}]: {port}.",
"web_server_starting_thread" : "MKVBTYR Web-palvelin aloittaa rinnakkaisen prosessin. ..",
"web_server_starting_node" : "'{name}' Web-palvelin käynnistää prosessin thread node...",
"web_server_started" : "'{name}' Web-palvelin alkoi täysin.",
"web_server_module_built" : "'{name}' Web-palvelinmoduuli rakennettiin kokonaan.",
"web_server_closing_socket" : "'{name}' Web-palvelin sulkee Socket '{socket_type}':n.",
"web_server_closed_socket" : "'{name}' Socket '{socket_type}' on suljettu.",
"web_server_closing" : "'{name}' Web-palvelin sulkee...",
"web_server_already_closed" : "'{name}' Verkkopalvelin on jo suljettu...",
"web_server_closed" : "'{name}' Web-palvelin on täysin suljettu. ..",
"web_server_already_starting" : "'{name}' Verkkopalvelin on jo suljettu...",
"web_server_already_stopping" : "'{name}' Web-palvelin on jo pidätetty.",
"web_server_request" : "'{name}' Verkkopalvelimella on pyyntö ’{ip}: {port}’.",
"web_server_request_empty" : "’{ip}: {port}’ '{name}' Verkkopalvelin on tyhjä",
"web_server_request_method" : "{ip}: {port}:n pyyntö '{name}':ltä '{method}'-menetelmän verkkopalvelimella on '{cache}'-tavut '{route}'-reitiltä.",
"web_server_waiting" : "'{name}' Web-palvelin odottaa uusia asiakaspyyntöjä.",
"web_server_request_responding" : "'{name}' Web-palvelin vastaa '{response}'-tavuihin.",
"anp_bye" : "AnP-sovellus oli täysin suljettu. Kiitos AnP:stä...",
"web_server_full_print" : "Verkkoyhteys '{name}'-nimeen on ’{method}: {ip}: {port}’, jossa on {cache}-tietotavut pyynnöstä ja {response}-vastaussivut.",
"sqlite_building" : "SQLite '{name}' -yhteys on rakennettu...",
"sqlite_building_error" : "'{error}'-koodilla on virhe, kun SQLite '{name}' -yhteyttä yritetään rakentaa.",
"sqlite_built" : "SQLite '{name}' -yhteys on täysin rakennettu.",
"sqlite_closing" : "SQLite '{name}' -yhteys sulkeutuu...",
"sqlite_closing_error" : "'{error}'-koodilla on virhe, kun yrität sulkea SQLite '{name}' -yhteyden.",
"sqlite_closed" : "SQLite '{name}' -yhteys suljettiin kokonaan.",
"sqlite_no_input" : "SQLite '{name}' -yhteydellä ei ole syöttöparametria.",
"sqlite_no_file" : "SQLite '{name}' -yhteydellä ei ole Tietä tietokantaan.",
"logs_starting" : "AnP-sovellusten hallinta Moduuli alkaa...",
"logs_started" : "AnP Logs Management Moduuli oli täysin aloitettu.",
"logs_stopping" : "AnP Logs Management Moduuli seisoo...",
"logs_already_stopped" : "AnP Logs Management -moduuli on jo käytössä.",
"logs_stopped" : "AnP Log Management Moduuli pysäytettiin kokonaan.",
"unaccessible_db_unit" : "ERROR: Tietokannan levyasema ei ole käytettävissä.",
"session_cleaned" : "{key}-näppäin on puhdistettu."
}
}

@ -0,0 +1,90 @@
{
"svenska" : {
"starting_anp" : "Starta AnP-applikationen. Vänta...",
"settings_loading" : "Konfigurationen laddas...",
"settings_loading_block" : "'{block}'-konfigurationsblocket laddas...",
"settings_loaded" : "Hela konfigurationen laddades korrekt.",
"i18n_loading" : "I18N laddas...",
"i18n_loading_block" : "I18N '{block}' block laddas...",
"i18n_loaded" : "Hela I18N var korrekt laddad.",
"start_anp_trying" : "Det försöker starta AnP-applikationen...",
"started_anp_app" : "AnP-applikationen inleddes redan.",
"starting_anp_app" : "AnP-appen börjar. Vänta...",
"settings_starting" : "Ledningsmodulen konfigurerade AnP-applikationen initierar ...",
"settings_started" : "AnP-konfigurationshanteringsmodulen startades helt.",
"i18n_starting" : "I18N-hanteringsmodulen för AnP-applikationen startas...",
"i18n_started" : "I18N-hanteringsmodulen för AnP-applikationen började helt.",
"i18n_set_default" : "Etablera standardspråket...",
"threads_starting" : "AnP-precess trådhanteringsmodulen startas...",
"threads_started" : "AnP-applikationens precess trådhanteringsmodul började helt.",
"terminals_starting" : "Terminalhanteringsmodulen för AnP-applikationen initierar ...",
"terminals_started" : "AnP applikationsterminalhanteringsmodulen startades helt.",
"threads_working" : "Processtråden körs just nu.",
"threads_already_working" : "Processtråden var redan igång.",
"threads_already_stopped" : "Processtråden stoppades redan.",
"threads_stopping" : "Stoppa processtråden...",
"threads_stopped" : "Processtråden stoppades redan.",
"anp_closing" : "AnP-appen stänger...",
"setting_terminal_input" : "Etablera terminalentrén.",
"terminals_already_started" : "Terminalen startade redan.",
"terminals_stopping" : "Stoppa terminalen...",
"terminals_stopped" : "Terminalen stannade helt.",
"terminals_already_stopped" : "Terminalen var redan under arrestering.",
"unknown_command" : "MKVBGDM-kommandot är okänt...",
"threads_module_built" : "AnP process tråd modul byggs.",
"terminals_module_build" : "Processgarnmodulen i AnP-applikationen byggdes helt.",
"anp_help" : "Här är kommandoinformationen skriven:\n{orders}",
"anp_help_full" : "Här är all kommandoinformation:\n{orders}",
"command_without_help" : "{order} [{synonymous}]: kommandot har ingen hjälp.",
"help_help_text" : "{order} [{synonymous}]: Visar hjälp av ett kommando. Du kan ange ett eller flera kommandon för att visa din fullständiga information.",
"help_commands_text" : "Ytterligare ett kommandon är redo att samla in all din information.",
"command_unknown" : "{order} [{synonymous}]: Detta kommando upphör.",
"close_help_text" : "{order} [{synonymous}]: Stäng den nuvarande AnP-appen helt.",
"files_module_built" : "AnP-filhanteringsmodulen byggdes helt.",
"controllers_module_built" : "MKVBZLS applikationsstyrningsmodul byggdes helt.",
"routes_module_built" : "AnP-rutthanteringsmodulen byggdes helt.",
"errors_module_built" : "Felhanteringsmodulen för AnP-applikationen byggdes helt.",
"web_server_starting" : "'{name}' Webbserver börjar...",
"web_server_already_started" : "'{name}' Webserver startades redan.",
"web_server_building" : "En ny webbserver som heter '{name}' byggs i \"[{hosts}]: {port}...",
"web_server_built" : "Den nya '{name}' Webbservern har byggts i \"[{hosts}]: {port}.",
"web_server_starting_thread" : "'{name}' Webserver startar en parallell processtråd. ...",
"web_server_starting_node" : "'{name}' Webbserver börjar sin process trådnod...",
"web_server_started" : "'{name}' Webserver startade helt.",
"web_server_module_built" : "'{name}' Webbservermodulen byggdes helt.",
"web_server_closing_socket" : "'{name}' Webbserver stänger Socket MKVBLK...",
"web_server_closed_socket" : "På '{name}' Webbserver, Socket '{socket_type}' har stängts.",
"web_server_closing" : "'{name}' Webserver stänger...",
"web_server_already_closed" : "'{name}' Webbservern var redan stängd...",
"web_server_closed" : "'{name}' Webserver är helt stängd. ...",
"web_server_already_starting" : "'{name}' Webbservern var redan stängd...",
"web_server_already_stopping" : "'{name}' Webservern var redan under arrestering...",
"web_server_request" : "'{name}' Webbserver har en begäran från \"{ip}: {port}\".",
"web_server_request_empty" : "Begäran om \"{ip}: {port}\" från '{name}' webbserver är tom",
"web_server_request_method" : "Begäran om \"{ip}: {port}\" från '{name}' Webbserver av '{method}'-metoden har '{cache}' byte av information från '{route}'-rutten.",
"web_server_waiting" : "'{name}' Webbserver väntar på nya kundförfrågningar...",
"web_server_request_responding" : "'{name}' Webbserver svarar på '{response}' byte. ...",
"anp_bye" : "AnP-applikationen var helt stängd. Tack för att du använder AnP...",
"web_server_full_print" : [
"Det finns en webbanslutning till '{name}'-namn från \"{method}: ",
"{ip}: {port}\" med {cache}-informations byte på begäran och en ",
"{response}-respons bytesinformation."
],
"sqlite_building" : "SQLite '{name}'-anslutningen byggs...",
"sqlite_building_error" : "Det finns ett fel med '{error}'-kod när du försöker bygga SQLite '{name}'-anslutningen.",
"sqlite_built" : "SQLite '{name}'-anslutningen byggdes helt.",
"sqlite_closing" : "SQLite '{name}'-anslutningen stänger...",
"sqlite_closing_error" : "Det finns ett fel med '{error}'-kod när du försöker stänga SQLite '{name}'-anslutningen.",
"sqlite_closed" : "SQLite '{name}'-anslutningen stängdes helt.",
"sqlite_no_input" : "SQLite '{name}'-anslutningen har ingen ingångsparameter.",
"sqlite_no_file" : "SQLite '{name}'-anslutningen har inte Path för databasfilen.",
"logs_starting" : "AnP-applikationens Logs Management Modulen startas...",
"logs_started" : "AnP Logs Management Modulen initierades helt.",
"logs_stopping" : "AnP App Logs Management Modul står...",
"logs_already_stopped" : "AnP App Logs Management Modulen stod redan.",
"logs_stopped" : "AnP App Logs Management Modulen stoppades helt.",
"unaccessible_db_unit" : "ERROR: Databasens diskenhet är otillgänglig.",
"session_cleaned" : "{key}-nyckelsessionen har rensats."
}
}

@ -0,0 +1,86 @@
{
"thai" : {
"starting_anp" : "เรมตน AnP กรณา.",
"settings_loading" : "การกาหนดคาเปนการโหลด ...",
"settings_loading_block" : "ปลกอน '{block}' เปนการโหลด ...",
"settings_loaded" : "การกาหนดคาทงหมดถกตอง.",
"i18n_loading" : "I18N เปนการโหลด ...",
"i18n_loading_block" : "I18N MKVBRDYP เปนการโหลด ...",
"i18n_loaded" : "มนคา I18N เปนการโหลดทกตอง.",
"start_anp_trying" : "โปรแกรม AnP เปนเรมตน ...",
"started_anp_app" : "โปรแกรม AnP ไดเรมตน.",
"starting_anp_app" : "โปรแกรม AnP ไดเรมตน กรณา.",
"settings_starting" : "โมดลการจดการการกาหนดคา AnP เปนเรมตน ...",
"settings_started" : "โมดล MSVBRFLMFLM เปนเรมตนอยางสมบรณ.",
"i18n_starting" : "I18N การจดการโมดลของ MKVBNM เรมตนดวย ...",
"i18n_started" : "I18N การจดการโมดลของ MKVBXB.",
"i18n_set_default" : "การเปดใชงานภาษาเรมตน ...",
"threads_starting" : "AnP โมดลการแปลงดายทเรมตน ...",
"threads_started" : "โมดลของ AnP กอนเสรจสน.",
"terminals_starting" : "โมดลการจดการของ AnP เปนเรมตน ...",
"terminals_started" : "โมดลเครอขาย AnP ไดบการเรมตนอยางสมบรณ.",
"threads_working" : "กระบวนการดายจะทางานในขณะน.",
"threads_already_working" : "กระบวนการดายเสรจสน.",
"threads_already_stopped" : "กระบวนการดายจะถกหยด.",
"threads_stopping" : "หยดกระบวนการดาย ...",
"threads_stopped" : "กระบวนการดายจะถกหยด.",
"anp_closing" : "โปรแกรม AnP เปนปด ...",
"setting_terminal_input" : "ทางเขารถไฟ.",
"terminals_already_started" : "เทอรลเรมตน.",
"terminals_stopping" : "หยดขว ...",
"terminals_stopped" : "เทอรลหยดอยางรวดเรว.",
"terminals_already_stopped" : "เทอรลจะอยภายใตการโจมต.",
"unknown_command" : "คาสงกบ '{order}' ไมาเปน ...",
"threads_module_built" : "ขนตอนโมดลดายของ MKVBBRKH ถกสรางขน.",
"terminals_module_build" : "โมดลเสนดายของ AnP ถกสรางขนอยางสมบรณ.",
"anp_help" : "นอขอมลขอความเขยน:\n{orders}",
"anp_help_full" : "นอขอมลทงหมด:\n{orders}",
"command_without_help" : "{order} [MKVRPD] คาสงไมวย.",
"help_help_text" : "{order} [{synonymous}]: แสดงขอมล คณสามารถระบอความหรอคาสงเพมเตมเพอดอมลทเหมาะสม.",
"help_commands_text" : "หนงในคาสงทพรอมทจะรวบรวมขอมลของคณ.",
"command_unknown" : "{order} [{synonymous}] คาสงนจะหยด.",
"close_help_text" : "{order} [{synonymous}] ปดโปรแกรม AnP.",
"files_module_built" : "โมดล AnPCT ถกสรางขนอยางสมบรณ.",
"controllers_module_built" : "โมดล FMVBNYBQ ถกสรางขนอยางสมบรณ.",
"routes_module_built" : "เครอขาย AnPKSV ถกสรางขนอยางเตมท.",
"errors_module_built" : "โมดลขอผดพลาดของซอฟตแวร AnP ถกสรางขนอยางสมบรณ.",
"web_server_starting" : "'{name}' เซฟเวอรเรมตน ...",
"web_server_already_started" : "'{name}'012 เซฟเวอรเรมตน.",
"web_server_building" : "เซฟเวอรใหมอ '{name}' ถกสรางขนในชอ[{hosts}] {port}i ...",
"web_server_built" : "ใหม '{name}' เซฟเวอรกสรางขนใน \"{hosts}] {port}.",
"web_server_starting_thread" : "'{name}' เซฟเวอรเรมตนกระบวนการขนาน ..",
"web_server_starting_node" : "'{name}'ARAD เซฟเวอรเรมตนกระบวนการดายไม ...",
"web_server_started" : "'{name}' เซฟเวอรเรมตน.",
"web_server_module_built" : "'{name}' โมดลเซฟเวอรกสรางขนอยางสมบรณ.",
"web_server_closing_socket" : "MKVBRPVH เซฟเวอรเปนปด '{socket_type}'...",
"web_server_closed_socket" : "บน '{name}' เซฟเวอร, ซอกเกต MKVBZF ไดบการปด ...",
"web_server_closing" : "'{name}' เซฟเวอรจะถกปด ...",
"web_server_already_closed" : "'{name}' เซฟเวอรจะถกปด ...",
"web_server_closed" : "MKVBNP เซฟเวอรด ..",
"web_server_already_starting" : "'{name}'141 เซฟเวอรจะถกปด ...",
"web_server_already_stopping" : "MKVBFLCD เวบเซฟเวอร...",
"web_server_request" : "'{name}' เซฟเวอรการรองขอจากชอ \"MKVZZN: {port}.",
"web_server_request_empty" : "คาขอของ I{ip}: MKVBKGG จาก {port} เซฟเวอรเปนทางเปลา",
"web_server_request_method" : "คาขอของ I{ip}: {port} เวบเซฟเวอรโดย '{method}' ม '{cache}' โดยขอมลเกยวกบ '{route}'.",
"web_server_waiting" : "'{name}' เซฟเวอรจะรอลกคาใหม...",
"web_server_request_responding" : "'{name}' เซฟเวอรจะตอบสนองตอ MKVBGMF โดย ...",
"anp_bye" : "โปรแกรม AnP ถกปด ขอบคณสาหรบการใช AnP ...",
"web_server_full_print" : "มการเชอมตอเวบใน MKVBNV จากชอ \"MKVBVCH: {ip}: MKVBGMYMYA สอดคลองกบขอมลและคาขอจาก MKVBXBBPH โดยขอมล.",
"sqlite_building" : "ตวเชอมตอ SQLite '{name}' ถกสรางขน ...",
"sqlite_building_error" : "มอผดพลาดกบ '{error}' เมอพยายามทจะสรางฐานขอมล SQL MKVBTOP.",
"sqlite_built" : "แพลตฟอรม SQLite MKVBVZ ถกสรางขนอยางสมบรณ.",
"sqlite_closing" : "การเชอมตอ SQLite MKVBMB เปนการปด ...",
"sqlite_closing_error" : "มอผดพลาดกบ '{error}' รหสเมอพยายามทจะปด SQLVBPHQFH.",
"sqlite_closed" : "แพลตฟอรม SQLite '{name}' จะปด.",
"sqlite_no_input" : "SQLite '{name}' เชอมตอกบพารามเตอร.",
"sqlite_no_file" : "โปรโตคอล SQLite '{name}' ไมไมสถานะสาหรบฐานขอมล.",
"logs_starting" : "AnP App โมดลเรมตน ...",
"logs_started" : "AnP ตรวจสอบการจดการ โมดลไดบการเรมตน.",
"logs_stopping" : "โปรแกรม AnP App โมดลถกหยด ...",
"logs_already_stopped" : "ซอฟตแวร AnP โปรแกรมตรวจสอบโมดลจะยนอย.",
"logs_stopped" : "โปรแกรม AnP App โมดลถกหยดอยางรวดเรว.",
"unaccessible_db_unit" : "TOROR: ดสกของฐานขอมลทสามารถใชงานได.",
"session_cleaned" : "เซสชน {key} จะทาความสะอาด."
}
}

@ -0,0 +1,86 @@
{
"turkce" : {
"starting_anp" : "AnP uygulamasına başlayın. Lütfen bekleyin...",
"settings_loading" : "Yapılandırma yükleniyor...",
"settings_loading_block" : "'{block}' yapılandırma bloğu yükleniyor...",
"settings_loaded" : "Tüm konfigürasyon doğru yüklenmiştir.",
"i18n_loading" : "I18N yükleniyor...",
"i18n_loading_block" : "I18N '{block}' bloğu yükleniyor...",
"i18n_loaded" : "Tüm I18N uygun şekilde yüklendi.",
"start_anp_trying" : "AnP uygulamasını başlatmaya çalışıyor...",
"started_anp_app" : "AnP uygulaması çoktan başladı.",
"starting_anp_app" : "AnP uygulaması başlıyor. Lütfen bekleyin...",
"settings_starting" : "Yönetim modülü AnP uygulamasını yapılandırdı ...",
"settings_started" : "AnP yapılandırma yönetimi modülü tamamen başladı.",
"i18n_starting" : "AnP uygulamasının I18N yönetim modülü başlıyor...",
"i18n_started" : "AnPYM’nin I18N yönetim modülü tamamen başladı.",
"i18n_set_default" : "Varsayılan dili kurmak...",
"threads_starting" : "AnP ön şart yönetim modülü başladı ...",
"threads_started" : "AnP precess thread yönetim modülü tamamen başladı.",
"terminals_starting" : "AnP uygulamasının terminal yönetim modülü başlatılıyor...",
"terminals_started" : "AnP terminal yönetim modülü tamamen başladı.",
"threads_working" : "Süreç parçası şu anda çalışıyor.",
"threads_already_working" : "Process thread zaten çalışıyor.",
"threads_already_stopped" : "Süreç parçası çoktan durduruldu.",
"threads_stopping" : "Süreç threadini durdurun...",
"threads_stopped" : "Süreç parçası çoktan durduruldu.",
"anp_closing" : "AnP uygulaması kapanıyor...",
"setting_terminal_input" : "Terminal girişi kurmak.",
"terminals_already_started" : "Terminal çoktan başladı.",
"terminals_stopping" : "Terminali durdurun...",
"terminals_stopped" : "Terminal tamamen durdu.",
"terminals_already_stopped" : "Terminal zaten tutuklama altındaydı.",
"unknown_command" : "'{order}' düzeni ile komut bilinmiyor...",
"threads_module_built" : "AnP proses parçası modülü inşa edilmiştir.",
"terminals_module_build" : "AnP uygulamasının süreç parçası tamamen inşa edildi.",
"anp_help" : "İşte yazılı komut bilgileri:\nMVBDTXG",
"anp_help_full" : "İşte tüm komut bilgileri:\nMVBLQHV",
"command_without_help" : "{order} [{synonymous}]: Komutın yardıma ihtiyacı yoktur.",
"help_help_text" : "{order} [{synonymous}]: Bir komut yardımı gösterin. Tam bilgilerinizi görüntülemek için bir veya daha fazla komut belirtebilirsiniz.",
"help_commands_text" : "Daha fazla komut, tüm bilgilerinizi toplamak için hazırdır.",
"command_unknown" : "{order} [{synonymous}]: Bu komut kesildi.",
"close_help_text" : "{order} [{synonymous}]: Mevcut AnP uygulamasını tamamen kapatın.",
"files_module_built" : "AnP dosya yönetimi modülü tamamen inşa edildi.",
"controllers_module_built" : "AnP Sürücü Yönetimi Modül tamamen inşa edildi.",
"routes_module_built" : "AnP uygulamasının rota yönetimi modülü tamamen inşa edildi.",
"errors_module_built" : "AnP uygulamasının hata yönetimi modülü tamamen inşa edildi.",
"web_server_starting" : "'{name}' Web sunucusu başlıyor...",
"web_server_already_started" : "'{name}' Web sunucusu çoktan başladı.",
"web_server_building" : "'{name}' adı verilen yeni bir Web sunucusu \"[{hosts}]'de inşa edilmiştir: {port}'...",
"web_server_built" : "Yeni '{name}' Web sunucusu “[{hosts}] içinde inşa edilmiştir: {port}'.",
"web_server_starting_thread" : "'{name}' Web sunucusu paralel bir süreçtir. ...",
"web_server_starting_node" : "'{name}' Web sunucusu, sürecine Node'den başlıyor...",
"web_server_started" : "'{name}' Web sunucusu tamamen başladı.",
"web_server_module_built" : "'{name}' Web server modülü tamamen inşa edildi.",
"web_server_closing_socket" : "'{name}' Web sunucusu, Use '{socket_type}''yi kapatıyor...",
"web_server_closed_socket" : "'{name}' Web sunucusu, Use '{socket_type}' kapalı ...",
"web_server_closing" : "'{name}' Web sunucusu kapanıyor...",
"web_server_already_closed" : "'{name}' Web sunucusu zaten kapalıydı...",
"web_server_closed" : "'{name}' Web sunucusu tamamen kapalıydı. ...",
"web_server_already_starting" : "'{name}' Web sunucusu zaten kapalıydı...",
"web_server_already_stopping" : "'{name}' Web sunucusu zaten tutuklama altındaydı...",
"web_server_request" : "'{name}' Web sunucusu ‘{ip}’den bir istek var: {port}’.",
"web_server_request_empty" : "\"{ip}: {port} '{name}' Web sunucusu boş",
"web_server_request_method" : "“{ip}: {port}’nin '{name}' Web sunucusu '{method}' yöntemi '{cache}', '{route}' rotasından gelen bilgilere sahiptir.",
"web_server_waiting" : "'{name}' Web sunucusu yeni müşteri istekleri için bekliyor...",
"web_server_request_responding" : "'{name}' Web sunucusu '{response}''ye yanıt veriyor...",
"anp_bye" : "AnP uygulaması tamamen kapalıydı. AnP kullanmak için teşekkürler...",
"web_server_full_print" : "'{name}' adı ile ilgili bir Web bağlantısı var “{method}: MKVBBZP: {port}’nin {cache} ile ilgili bilgi talep ve MKVBGC yanıtları ile ilgili bilgiler.",
"sqlite_building" : "SQLite '{name}' bağlantısı inşa ediliyor...",
"sqlite_building_error" : "SQLite MKVGLBK bağlantısını kurmaya çalışırken '{error}' kodu ile bir hata var.",
"sqlite_built" : "SQLite '{name}' bağlantısı tamamen inşa edildi.",
"sqlite_closing" : "SQLite '{name}' bağlantısı kapanıyor...",
"sqlite_closing_error" : "SQLite '{name}' bağlantısını kapatmaya çalışırken '{error}' kodu ile bir hata var.",
"sqlite_closed" : "SQLite '{name}' bağlantısı tamamen kapalıydı.",
"sqlite_no_input" : "SQLite '{name}' bağlantısının giriş parametresi yoktur.",
"sqlite_no_file" : "SQLite '{name}' bağlantısı veritabanı dosyası için yol yoktur.",
"logs_starting" : "AnP uygulamasının Logs Yönetimi Modülleri başlatılıyor...",
"logs_started" : "AnP Logs Yönetimi Modül tamamen başlatıldı.",
"logs_stopping" : "AnP Logs Yönetimi Modül durduruluyor...",
"logs_already_stopped" : "AnP uygulaması Logs Management modülü zaten ayaktaydı.",
"logs_stopped" : "AnP Logs Management Modül tamamen durduruldu.",
"unaccessible_db_unit" : "ERROR: Veritabanın disk sürücüsü ulaşılamaz.",
"session_cleaned" : "{key} anahtar seansı temizlendi."
}
}

@ -0,0 +1,86 @@
{
"ukrainska" : {
"starting_anp" : "Почати програму AnP. Будь ласка, зв'яжіться з нами.",
"settings_loading" : "Конфігурація завантажується ...",
"settings_loading_block" : "Блок конфігурації '{block}' завантажується...",
"settings_loaded" : "Вся конфігурація була завантажена правильно.",
"i18n_loading" : "I18N завантажується ...",
"i18n_loading_block" : "Блок I18N '{block}' знаходиться на...",
"i18n_loaded" : "Весь I18N був належним чином завантажений.",
"start_anp_trying" : "Програма AnP ініціюється...",
"started_anp_app" : "Розпочато програму AnP.",
"starting_anp_app" : "Додаток AnP відчинено. Будь ласка, зв'яжіться з нами.",
"settings_starting" : "Модуль керування налаштовано програму AnP, яка є...",
"settings_started" : "Модуль керування конфігурацією AnP був повністю запущений.",
"i18n_starting" : "Стартує модуль керування I18N програми AnP.",
"i18n_started" : "Розпочався модуль керування I18N програми AnP.",
"i18n_set_default" : "Створення мови за замовчуванням...",
"threads_starting" : "МКВБКБГД Модуль управління попереднім рядком починається ...",
"threads_started" : "Розпочався модуль керування нитками AnP.",
"terminals_starting" : "Модуль керування терміналом програми AnP ініціюється...",
"terminals_started" : "Розпочався модуль керування терміналом програми AnP.",
"threads_working" : "Процес нитки працює прямо зараз.",
"threads_already_working" : "Процесна нитка була вже запущена.",
"threads_already_stopped" : "Припинено процесну нитку.",
"threads_stopping" : "Стопування технологічної нитки ...",
"threads_stopped" : "Припинено процесну нитку.",
"anp_closing" : "Додаток AnP закриває...",
"setting_terminal_input" : "Створення вхідних терміналів.",
"terminals_already_started" : "Розпочався термінал.",
"terminals_stopping" : "Стопування терміналу...",
"terminals_stopped" : "Термінал повністю зупинився.",
"terminals_already_stopped" : "Термінал вже під арештом.",
"unknown_command" : "Команда '{order}' невідомий...",
"threads_module_built" : "Модуль AnP побудовано.",
"terminals_module_build" : "Повно сконструйований модуль потоку AnP.",
"anp_help" : "Тут написано інформацію команди:\nМКВБКПКС",
"anp_help_full" : "Ось всі дані команди:\nМКВБДКГ",
"command_without_help" : "{order} [{synonymous}]: Команда не має допомоги.",
"help_help_text" : "{order} [{synonymous}]: Покажіть допомогу команди. Ви можете вказати одну або більше команд, щоб переглянути повну інформацію.",
"help_commands_text" : "Більше команд готові зібрати всю інформацію.",
"command_unknown" : "{order} [{synonymous}]: Ця команда припинена.",
"close_help_text" : "{order} [{synonymous}]: Закрити струм застосування AnP повністю.",
"files_module_built" : "Модуль керування файлами AnP був повністю побудований.",
"controllers_module_built" : "Модуль керування контролером додатків AnP був повністю побудований.",
"routes_module_built" : "Модуль керування маршрутами AnP був повністю побудований.",
"errors_module_built" : "Модуль управління похибкою програми AnP повністю побудовано.",
"web_server_starting" : "МКВБДК Веб-сервер.",
"web_server_already_started" : "МКВБИМКТ Розпочато веб-сервер.",
"web_server_building" : "У '[{hosts}]: {port}'...",
"web_server_built" : "Новий '{name}' Веб-сервер був побудований в '[{hosts}]: {port}'.",
"web_server_starting_thread" : "МКВБМСГК Веб сервер починає паралельну нитку процесу. ...",
"web_server_starting_node" : "МКВБРНКМ Веб-сервер починає процес різьблення вершини ...",
"web_server_started" : "'{name}' Веб-сервер почав повністю.",
"web_server_module_built" : "МКВБЛВФ Модуль веб-сервера повністю вбудований.",
"web_server_closing_socket" : "МКВБКСКФЗ Веб сервер закриває розетку '{socket_type}' ...",
"web_server_closed_socket" : "На МКВБЗКРИ English, Українська, Français...",
"web_server_closing" : "МКВБДРКС Веб-сервер.",
"web_server_already_closed" : "'{name}' Веб сервер вже закрито...",
"web_server_closed" : "МКВБФВДК Веб-сервер повністю закритий. ...",
"web_server_already_starting" : "МКВБКС Веб сервер вже закрито...",
"web_server_already_stopping" : "МКВБНДИТТ Веб-сервер вже під арештом...",
"web_server_request" : "МКВБКСЛВ Веб-сервер має запит від '{ip}: {port}'.",
"web_server_request_empty" : "Запит на '{ip}: {port}' від '{name}' Веб сервер порожній",
"web_server_request_method" : "Запит '{ip}: {port}' з веб-сервера '{name}' методом '{method}' має інформаційні байти '{cache}' з маршруту '{route}'.",
"web_server_waiting" : "МКВБХТРФ Веб-сервер чекає нових запитів клієнтів...",
"web_server_request_responding" : "'{name}' Статус на сервери.",
"anp_bye" : "Додаток AnP повністю закрито. Дякую за використання AnP ...",
"web_server_full_print" : "У зв'язку з назвою '{name}' від '{method}: {ip}: {port}' з мітками {cache} на запит та інформацією про байти {response}.",
"sqlite_building" : "З'єднання SQLite '{name}' будується...",
"sqlite_building_error" : "Існує помилка з кодом '{error}' при спробі побудувати з'єднання SQLite '{name}'.",
"sqlite_built" : "З'єднання SQLite '{name}' було повністю побудовано.",
"sqlite_closing" : "З'єднання SQLite '{name}' закриває...",
"sqlite_closing_error" : "Існує помилка з кодом '{error}' при спробі закрити підключення SQLite '{name}'.",
"sqlite_closed" : "З'єднання SQLite '{name}' повністю закрито.",
"sqlite_no_input" : "Підключення SQLite '{name}' не має параметра введення.",
"sqlite_no_file" : "Підключення SQLite '{name}' не має шляху до файлу бази даних.",
"logs_starting" : "Управління журналами додатків AnP Модуль починається...",
"logs_started" : "Управління журналами AnP Модуль повністю ініційований.",
"logs_stopping" : "Управління журналами AnP Модуль припиняється ...",
"logs_already_stopped" : "Управління журналами AnP Модуль вже стоячий.",
"logs_stopped" : "Управління журналами додатків AnP Модуль повністю зупинився.",
"unaccessible_db_unit" : "ERROR: Дисковий диск бази даних недоступний.",
"session_cleaned" : "Прибиральниця {key} була очищена."
}
}

@ -0,0 +1,86 @@
{
"zhongwen" : {
"starting_anp" : "开始应用AnP。 请等待.",
"settings_loading" : "配置正在装满......",
"settings_loading_block" : "'{block}'配置组正在装上......",
"settings_loaded" : "整个配置都是正确的。.",
"i18n_loading" : "I18N正在装上......",
"i18n_loading_block" : "I18N '{block}'组正在装上......",
"i18n_loaded" : "整个I18N的负荷是适当的。.",
"start_anp_trying" : "它试图启动AnP的申请......",
"started_anp_app" : "AnP的表已经启动。.",
"starting_anp_app" : "AnP公司正在开工。 请等待.",
"settings_starting" : "管理模块配置了AnP应用程序。.",
"settings_started" : "AnP配置管理模块已完全启动。.",
"i18n_starting" : "AnP应用的I18N管理模块正开始......",
"i18n_started" : "AnP应用程序的I18N管理模块完全启动。.",
"i18n_set_default" : "建立缺省语......",
"threads_starting" : "AnP 预设管理单元正在启动......",
"threads_started" : "“AnP”预修管理模块已完全启动。.",
"terminals_starting" : "AnP应用程序的终端管理模块正在启动......",
"terminals_started" : "AnP终端管理模块完全启动。.",
"threads_working" : "这一进程现已开始。.",
"threads_already_working" : "工艺线已经运行。.",
"threads_already_stopped" : "这一进程已经停止。.",
"threads_stopping" : " process process......",
"threads_stopped" : "这一进程已经停止。.",
"anp_closing" : "AnP的申请正在结束......",
"setting_terminal_input" : "建立终端入口。.",
"terminals_already_started" : "终端已经开工。.",
"terminals_stopping" : "停机坪......",
"terminals_stopped" : "终端完全停下。.",
"terminals_already_stopped" : "该码头已经被捕。.",
"unknown_command" : "“'{order}'”命令的指挥不为人知......",
"threads_module_built" : "正在建造AnP应用的校对模块。.",
"terminals_module_build" : "AnP应用的加工模块已经完全建成。.",
"anp_help" : "这里是书面指挥信息:\n{orders}",
"anp_help_full" : "这里是所有指挥信息:\n{orders}",
"command_without_help" : "{order} SubmissionKM [{synonymous}]: 指挥部没有帮助。.",
"help_help_text" : "{order} [{synonymous}]: 显示指挥官的帮助。 你可以指定一个或多个指挥机构来观察你的全部信息。.",
"help_commands_text" : "另有一名指挥员愿意收集你的所有信息。.",
"command_unknown" : "{order} [{synonymous}]: 该指挥部已停职。.",
"close_help_text" : "{order} [{synonymous}]: 完全接近目前AnP的申请。.",
"files_module_built" : "AnP 房舍管理模块已完全建成。.",
"controllers_module_built" : "AnP应用控制器管理模块已完全建成。.",
"routes_module_built" : "AnP线路管理模块已完全建成。.",
"errors_module_built" : "AnP应用的错误管理模块已完全建成。.",
"web_server_starting" : "'{name}' 网络服务器开始......",
"web_server_already_started" : "'{name}' 网络服务器已经启用。.",
"web_server_building" : "“{hosts}”正在建造一个名为'{name}'ERDP的新网络服务器: {port} ......",
"web_server_built" : "新的网络服务器'{name}'已经建在“[{hosts}]: {port}'。.",
"web_server_starting_thread" : "'{name}' 网络服务器正在开始一个平行的过程。 。.",
"web_server_starting_node" : "'{name}' 网络服务器正在开始其工艺线......",
"web_server_started" : "'{name}' 网络服务器完全投入使用。.",
"web_server_module_built" : "'{name}' 网络服务器模块已完全建成。.",
"web_server_closing_socket" : "'{name}' 网络服务器正在关闭'{socket_type}'。.",
"web_server_closed_socket" : "关于'{name}' 网络服务器已经关闭。.",
"web_server_closing" : "'{name}' 网络服务器关闭......",
"web_server_already_closed" : "'{name}' 网络服务器已经关闭......",
"web_server_closed" : "'{name}' HeadquartersM 网络服务器已完全关闭。 。.",
"web_server_already_starting" : "'{name}' 网络服务器已经关闭......",
"web_server_already_stopping" : "'{name}' 网络服务器已经被捕......",
"web_server_request" : "'{name}' 网络服务器要求“{ip}:{port}”。.",
"web_server_request_empty" : "'{name}'网络服务器的“{ip}:{port}”要求是空的。",
"web_server_request_method" : "“{ip}:'{name}'网络服务器的{port}”申请由'{method}'方法使用'{cache}'信息,由'{route}'线路的批量提供。.",
"web_server_waiting" : "'{name}' 网络服务器正在等待新的客户要求......",
"web_server_request_responding" : "'{name}' Golf 网络服务器与'{response}'公司对应......",
"anp_bye" : "AnP的申请完全关闭。 谢意.",
"web_server_full_print" : "“'{name}'”的名称:MKVBMVL:{port}'与{cache}有网络链接,通过索取资料和{response}信息。.",
"sqlite_building" : "正在建立KQKVBGYKB的连接。.",
"sqlite_building_error" : "在试图建立'{name}'的连接时,存在'{error}'编码的错误。.",
"sqlite_built" : "全面修建了KQite '{name}'的连接。.",
"sqlite_closing" : "KVBFVBV联线正在关闭......",
"sqlite_closing_error" : "'{error}'公司在试图关闭KQKVBLKFV公司关系时出现错误。.",
"sqlite_closed" : "卡列特'{name}'的连接完全关闭。.",
"sqlite_no_input" : "卡库特人'{name}'的连接没有投入参数。.",
"sqlite_no_file" : "KVBHZHK的连接没有数据库档案的通道。.",
"logs_starting" : "AnP 执行记录管理 模块正在启动......",
"logs_started" : "MKVBBHGLogs Management 模块完全启动。.",
"logs_stopping" : "AnP Applog Management 模块不变......",
"logs_already_stopped" : "AnP应用的Logs管理模块已经停止。.",
"logs_stopped" : "AnP Logs Management 模块完全停止。.",
"unaccessible_db_unit" : "ERROR:数据库的磁盘无法进入。.",
"session_cleaned" : "{key}关键会议已经清理完毕。."
}
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,656 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists procedures_get;^
create procedure procedures_get(
in `$database` varchar(64),
in `$procedure` varchar(64),
out $id integer
) begin
declare $database_id integer default (select id from `Databases` where date_out is null && name = `$database` limit 1);
if $database_id is null then begin
insert into `Databases`(name) values(`$database`);
set $database_id := last_insert_id();
end;end if;
set $id := (select id from Procedures where date_out is null && `database` = $database_id && name = `$procedure` limit 1);
if $id is null then begin
insert into Procedures(`database`, name) values($database_id, `$procedure`);
set $id := last_insert_id();
end;end if;
end;^
drop procedure if exists errors_get;^
create procedure errors_get(
in $error varchar(512),
out $id integer
) begin
set $id := (select id from Errors where date_out is null && code = ifnull($error, '') limit 1);
if $id is null then begin
insert into Errors(code) values(ifnull($error, ''));
set $id := last_insert_id();
end;end if;
end;^
drop procedure if exists parameters_get;^
create procedure parameters_get(
in $parameters text,
out $id integer
) begin
set $id := (select id from Parameters where date_out is null && json = $parameters limit 1);
if $id is null then begin
insert into Parameters(json) values($parameters);
set $id := last_insert_id();
end;end if;
end;^
drop procedure if exists messages_get;^
create procedure messages_get(
in $message text,
out $id integer
) begin
set $id := (select id from Messages where date_out is null && `text` = $message limit 1);
if $id is null then begin
insert into Messages(`text`) values($message);
set $id := last_insert_id();
end;end if;
end;^
drop procedure if exists projects_get;^
create procedure projects_get(
in $name varchar(64),
out $id integer
) begin
set $id := (select id from Projects where date_out is null && name = $name limit 1);
if $id is null then begin
insert into Projects(name) values($name);
set $id := last_insert_id();
end;end if;
end;^
drop procedure if exists traces_files_get;^
create procedure traces_files_get(
in `$path` varchar(512),
out $id integer
) begin
set $id := (select id from TracesFiles where date_out is null && `path` = `$path` limit 1);
if $id is null then begin
insert into TracesFiles(`path`) values(`$path`);
set $id := last_insert_id();
end;end if;
end;^
drop procedure if exists lines_get;^
create procedure lines_get(
in $trace text,
out $id integer
) begin
set $id := (select id from `Lines` where date_out is null && trace = $trace limit 1);
if $id is null then begin
insert into `Lines`(trace) values($trace);
set $id := last_insert_id();
end;end if;
end;^
drop function if exists bitwise;^
create function bitwise(
$code bigint,
$bits smallint
) returns bigint begin
return floor(case
when $bits > 0 then $code * power(2, $bits)
when $bits < 0 then $code / power(2, -$bits)
else $code end);
end;^
drop function if exists bw;^
create function bw(
$code bigint,
$bits smallint
) returns bigint begin
return bitwise($code, $bits);
end;^
drop function if exists settings_get;^
create function settings_get(
$name varchar(64),
`$nulls` bool
) returns text begin
declare $value text default (select value from _Settings where deleted is null && name = $name limit 1);
if $value is null && !`$nulls` then
set $value := (select value from _Settings where deleted is null && name = 'default_value' limit 1);
end if;
return $value;
end;^
drop function if exists string_to_integer;^
create function string_to_integer(
$string text
) returns integer begin
return if($string regexp '^[0-9]+$', convert($string, integer), null);
end;^
drop function if exists settings_get_int;^
create function settings_get_int(
$name varchar(64),
`$nulls` bool
) returns integer begin
return string_to_integer(settings_get($name, `$nulls`));
end;^
drop function if exists string_to_bool;^
create function string_to_bool(
$string text
) returns integer begin
set $string := lower($string);
return (case
when $string in ('1', 'true', 'yes') then true
when $string in ('0', 'false', 'no') then false
else null end);
end;^
drop function if exists settings_get_bool;^
create function settings_get_bool(
$name varchar(64),
`$nulls` bool
) returns bool begin
return string_to_bool(settings_get($name, `$nulls`));
end;^
drop function if exists sessions_get_machine;^
create function sessions_get_machine() returns integer begin
return (select id from Sessions where `user` = (
select entity from _Users where deleted is null && nick = settings_get('machine_user', false) limit 1
) limit 1);
end;^
drop function if exists sessions_get_unknown;^
create function sessions_get_unknown() returns integer begin
return (select id from Sessions where `user` = (
select entity from _Users where deleted is null && nick = settings_get('unknown_user', false) limit 1
) limit 1);
end;^
drop procedure if exists logs_set;^
create procedure logs_set(
in `$session` integer,
in `$database` varchar(64),
in `$procedure` varchar(64),
in $ip integer,
in $user_agent integer,
in $error varchar(512),
in $parameters text,
in `$level` tinyint
) begin
if `$level` is null || ifnull(settings_get_int('logs_level', false), ~-(1 << 3)) & (1 << `$level`) then begin
declare $procedure_id integer;
declare $error_id integer;
declare $parameters_id integer;
call procedures_get(`$database`, `$procedure`, $procedure_id);
call errors_get($error, $error_id);
call parameters_get($parameters, $parameters_id);
insert into Logs(`procedure`, `session`, ip, user_agent, own_error, own_parameters) values
($procedure_id, ifnull((
select id from Sessions where id = `$session` limit 1
), sessions_get_unknown()), $ip, $user_agent, $error_id, $parameters_id);
end;end if;
end;^
drop procedure if exists exceptions_set;^
create procedure exceptions_set(
in `$session` integer,
in `$database` varchar(64),
in `$procedure` varchar(64),
in $ip integer,
in $user_agent integer,
in $error varchar(512),
in $parameters text,
in $message text,
in $status varchar(16),
in $code integer
) begin
declare $procedure_id integer;
declare $error_id integer;
declare $parameters_id integer;
declare $message_id integer;
call procedures_get(`$database`, `$procedure`, $procedure_id);
call errors_get($error, $error_id);
call parameters_get($parameters, $parameters_id);
call messages_get($message, $message_id);
insert into Exceptions(`procedure`, `session`, ip, user_agent, own_error, own_parameters, message, status, code) values
($procedure_id, ifnull((
select id from Sessions where id = `$session` limit 1
), sessions_get_unknown()), $ip, $user_agent, $error_id, $parameters_id, $message_id, $status, $code);
end;^
drop procedure if exists common_tables_fill;^
create procedure common_tables_fill(
in `$session` text
) begin
declare `$database` varchar(64) default ifnull(settings_get('database_anp', false), 'AnP');
declare `$procedure` varchar(64) default 'common_tables_fill';
declare $procedure_id integer;
declare $machine varchar(32) default ifnull(settings_get('machine_user', false), 'machine');
declare `$unknown` varchar(32) default ifnull(settings_get('unknown_user', false), 'unknown');
declare $local_ip varchar(39) default ifnull(settings_get('local_ip', false), '::1');
declare $guest varchar(32) default ifnull(settings_get('guest_user', false), 'guest');
declare $user_agent text default ifnull(settings_get('user_agent', false), 'AnP Machine DB Server');
declare $machine_id integer default (select entity from _Users where deleted is null && nick = $machine limit 1);
declare $unknown_id integer default (select entity from _Users where deleted is null && nick = `$unknown` limit 1);
declare $guest_id integer default (select entity from _Users where deleted is null && nick = $guest limit 1);
declare $local_ip_id integer default (select entity from _Ips where deleted is null && address = $local_ip limit 1);
declare $machine_session integer default (select id from Sessions where `user` = $machine_id order by id asc limit 1);
declare $unknown_session integer default (select id from Sessions where `user` = $unknown_id order by id asc limit 1);
declare $user_agent_id integer default (select id from UsersAgents where `data` = $user_agent order by id asc limit 1);
declare $machine_add bool default $machine_id is null;
declare $local_ip_add bool default $local_ip_id is null;
drop temporary table if exists default_settings_temporary_anp;
create temporary table default_settings_temporary_anp(
id integer not null auto_increment,
`type` varchar(32) not null,
name varchar(64) not null,
`range` integer not null default (1 << 0),
value text,
description text,
date_in datetime not null default now(),
date_out datetime,
constraint default_settings_temporary_anp_id primary key(id)
);
call procedures_get(`$database`, `$procedure`, $procedure_id);
insert into default_settings_temporary_anp(`type`, name, `range`, value, description) values
('varchar', 'database_anp', 1 << 0, `$database`, 'Default AnP database name.'),
('varchar', 'machine_user', 1 << 0, $machine, 'Default AnP machine Bot user.'),
('varchar', 'unknown_user', 1 << 0, `$unknown`, 'Default AnP unknown user.'),
('varchar', 'guest_user', 1 << 0, $guest, 'Default AnP guest name user.'),
('varchar', 'local_ip', 1 << 0, $local_ip, 'Default local IP address.'),
('varchar', 'base64_alphabet', 1 << 0, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', 'Base64 alphabet without "=" fill character.'),
('varchar', 'default_value', 1 << 0, null, 'Default value for unknown settings items.'),
('integer', 'logs_level', 1 << 0, ~-(1 << 3), 'Default Logs level.'),
('integer', 'default_integer_value', 1 << 0, null, 'Default integer value for unknown settings items.'),
('json', 'users_excluded', 1 << 0, concat('["', $machine, '","', `$unknown`, '","', $guest, '"]'), 'Default excluded users for sessions validations.'),
('json', 'ips_excluded', 1 << 0, '[]', 'Default excluded IPs for sessions validations.'),
('integer', 'session_timeout', 1 << 1, 300, 'The session timeout for inactivity time in seconds.'),
('boolean', 'allow_any_new_ip', 1 << 0, true, 'Verifies if any new IP is allowed to access to application.'),
('boolean', 'allow_any_new_user', 1 << 0, true, 'Verifies if any new user is allowed to access to application.'),
('integer', 'password_minimum_length', 1 << 0, 4, 'The minimum password length.'),
('boolean', 'password_needs_lower', 1 << 0, true, 'Verifies if password needs at least 1 lower case.'),
('boolean', 'password_needs_upper', 1 << 0, true, 'Verifies if password needs at least 1 upper case.'),
('boolean', 'password_needs_digit', 1 << 0, true, 'Verifies if password needs at least 1 digit.'),
('boolean', 'password_needs_special', 1 << 0, true, 'Verifies if password needs at least 1 special character.'),
('boolean', 'mail_allow_reuse', 1 << 0, false, 'Verifies if allow reuse the E-Mails.'),
('varchar', 'password_hash_function', 1 << 0, 'sha2', 'Hash method for hashing passwords.'),
('integer', 'hash_sha2_length', 1 << 0, 512, 'Length for SHA2 function Hash.'),
('integer', 'ips_maximum_sessions', 1 << 1, 10, 'The maximum number of simultaneous actived sessions per IP.'),
('integer', 'users_maximum_sessions', 1 << 1, 1, 'The maximum number of simultaneous actived sessions per user.'),
('boolean', 'session_check_ip', 1 << 1, true, 'Verifies if session checks its IP address.'),
('boolean', 'session_check_user_agent', 1 << 1, true, 'Verifies if session checks its client User Agent.'),
('varchar', 'default_user_agent', 1 << 0, $user_agent, 'Default User Agent for internal Bot sessions.'),
('integer', 'user_login_bad_times', 1 << 1, 5, 'Default user Login tries before lock account temporary for lock brute force attack.'),
('integer', 'user_lock_time', 1 << 1, 900, 'Default user Login lock time for lock brute force attack before tries.'),
('integer', 'ip_login_bad_times', 1 << 1, 20, 'Default IP Login tries before lock account temporary for lock brute force attack.'),
('integer', 'ip_lock_time', 1 << 1, 3600, 'Default IP Login lock time for lock brute force attack before tries.'),
('integer', 'users_passwords_differents', 1 << 0, 3, 'Last differents passwords for user password changing.'),
('varchar', 'random_chain_alphabet', 1 << 0, '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz', 'Basic alphabet for random String chains.'),
('integer', 'random_chain_length', 1 << 0, 23, 'Default length for random String chains.');
if $machine_add then begin
insert into Users values();
set $machine_id := last_insert_id();
end;end if;
if $user_agent_id is null then begin
insert into UsersAgents(`data`) values($user_agent);
set $user_agent_id := last_insert_id();
end;end if;
if $local_ip_add then begin
insert into Ips values();
set $local_ip_id := last_insert_id();
end;end if;
if $machine_session is null then begin
insert into Sessions(`user`) values($machine_id);
set $machine_session := last_insert_id();
insert into SessionsIps values();
insert into SessionsIpsData(entity, `session`, ip, ok) values
(last_insert_id(), $machine_session, $local_ip_id, true);
insert into SessionsUsersAgents values();
insert into SessionsUsersAgentsData(entity, `session`, user_agent, ok) values
(last_insert_id(), $machine_session, $user_agent_id, true);
end;end if;
if $machine_add then
insert into UsersData(`session`, `procedure`, entity, nick, password, `accessible`) values
($machine_session, $procedure_id, $machine_id, $machine, '', false);
end if;
if $local_ip_add then
insert into IpsData(`session`, `procedure`, entity, address) values
($machine_session, $procedure_id, $local_ip_id, $local_ip);
end if;
if $guest_id is null then begin
insert into Users values();
insert into UsersData(`session`, `procedure`, entity, nick, password, `accessible`) values
($machine_session, $procedure_id, last_insert_id(), $guest, '', false);
end;end if;
if $unknown_id is null then begin
insert into Users values();
set $unknown_id := last_insert_id();
insert into UsersData(`session`, `procedure`, entity, nick, password, `accessible`) values
($machine_session, $procedure_id, $unknown_id, `$unknown`, '', false);
end;end if;
if $unknown_session is null then begin
insert into Sessions(`user`) values($unknown_id);
set $unknown_session := last_insert_id();
insert into SessionsIps values();
insert into SessionsIpsData(entity, `session`, ip, ok) values
(last_insert_id(), $unknown_session, $local_ip_id, true);
insert into SessionsUsersAgents values();
insert into SessionsUsersAgentsData(entity, `session`, user_agent, ok) values
(last_insert_id(), $unknown_session, $user_agent_id, true);
end;end if;
insert into default_settings_temporary_anp(`type`, name, `range`, value, description) values
('integer', 'machine_session', 1 << 0, $machine_session, 'Default machine session ID.'),
('integer', 'unknown_session', 1 << 0, $unknown_session, 'Default unknown user session ID.');
default_settings:begin
declare $done bool default false;
declare `$type` varchar(32);
declare $name varchar(64);
declare `$range` integer;
declare $value text;
declare $description text;
declare $type_id integer;
declare default_settings_cursor cursor for select `type`, name, `range`, value, description from default_settings_temporary_anp;
declare continue handler for not found set $done := true;
open default_settings_cursor;
default_settings_reader:loop
fetch default_settings_cursor into `$type`, $name, `$range`, $value, $description;
if $done then
leave default_settings_reader;
end if;
set $type_id := (select id from _SettingsTypes where deleted is null && name = `$type` limit 1);
if $type_id is null then begin
insert into SettingsTypes values();
set $type_id := last_insert_id();
insert into SettingsTypesData(`session`, `procedure`, entity, name) values
($machine_session, $procedure_id, $type_id, `$type`);
end;end if;
if (select 1 from _Settings where deleted is null && name = $name limit 1) is null then begin
insert into Settings values();
insert into SettingsData(`procedure`, `session`, entity, `type`, name, `range`, value, description) values
($procedure_id, $machine_session, last_insert_id(), $type_id, $name, `$range`, $value, $description);
end;end if;
end loop default_settings_reader;
close default_settings_cursor;
end default_settings;
drop temporary table default_settings_temporary_anp;
end;^
call common_tables_fill(null);^
drop view if exists SessionsFullView;^
create view SessionsFullView as select
sessions.id as id,
users.entity as user_id,
users.nick as nick,
users.`accessible` as user_accessible,
users.deleted as user_deleted,
ips.entity as ip_id,
ips.address as ip,
ips.`accessible` as ip_accessible,
ips.deleted as ip_deleted,
users_agents.id as user_agent_id,
users_agents.`data` as user_agent,
sessions.date_in as date_in,
sessions.date_out as date_out,
sessions.date_last as date_last
from Sessions sessions
left join _Users users on sessions.`user` = users.entity
left join _SessionsIps sessions_ips on sessions_ips.`session` = sessions.id
left join _Ips ips on sessions_ips.ip = ips.entity
left join _SessionsUsersAgents sessions_users_agents on sessions_users_agents.`session` = sessions.id
left join UsersAgents users_agents on sessions_users_agents.user_agent = users_agents.id;^
drop view if exists ProceduresFullView;^
create view ProceduresFullView as select
procedures.id as id,
`databases`.id as database_id,
`databases`.name as `database`,
procedures.name as `procedure`,
`databases`.date_in as database_date_in,
procedures.date_in as procedure_date_in,
`databases`.date_out as database_date_out,
procedures.date_out as procedure_date_out
from Procedures procedures
join `Databases` `databases` on procedures.`database` = `databases`.id;^
drop function if exists where_set;^
create function where_set(
$new_where text,
$old_where text
) returns text begin
return if(ifnull($new_where, '') = '', ifnull($old_where, ''), if(ifnull($old_where, '') = '', $new_where, concat('(', $new_where, ') && (', $old_where, ')')));
end;^
drop procedure if exists tables_list;^
create procedure tables_list(
in `$view` text,
in $page integer,
in $items_per_page integer,
in `$where` text,
in $order_by text,
in $error bool,
out $pages integer,
out $items integer,
out $results integer
) begin
declare $item_from integer;
-- declare exit handler
drop temporary table if exists AnPTTTableList;
drop temporary table if exists AnPTTTableListResults;
if $error then
set `$where` := where_set('false', `$where`);
end if;
-- set @i := 0;
-- prepare list_statement from concat('create temporary table AnPTTTableList as select *, @i := @i + 1 as `row` from (select * from ', `$view`, ' list_view', if(ifnull(`$where`, '') = '', '', concat(' where ', `$where`)), if(ifnull($order_by, '') = '', '', concat(' order by ', $order_by)), ') `table`;');
prepare list_statement from concat('create temporary table AnPTTTableList as select *, rownum() as `row` from (select * from ', `$view`, ' list_view', if(ifnull(`$where`, '') = '', '', concat(' where ', `$where`)), if(ifnull($order_by, '') = '', '', concat(' order by ', $order_by)), ') subtable;');
execute list_statement;
deallocate prepare list_statement;
set $items_per_page := (case
when $items_per_page is null then ifnull(settings_get_int('items_per_page', false), 30)
when $items_per_page < 1 then 1
else $items_per_page end);
set $items := (select count(1) from AnPTTTableList limit 1);
set $pages := ceil($items / $items_per_page);
set $page := (case
when ifnull($page, 0) < 1 then 1
when $pages > 0 and $page > $pages then $pages
else $page end);
set $item_from := ($page - 1) * $items_per_page;
prepare list_statement_results from concat('create temporary table AnPTTTableListResults as select * from AnPTTTableList limit ', $item_from, ',', $items_per_page, ';');
execute list_statement_results;
deallocate prepare list_statement_results;
set $results := (select count(1) from AnPTTTableListResults limit 1);
select * from AnPTTTableListResults;
drop temporary table if exists AnPTTTableList;
drop temporary table if exists AnPTTTableListResults;
end;^
drop function if exists machine_get_session_id;^
create function machine_get_session_id() returns integer begin
return settings_get_int('machine_session', false);
end;^
drop view if exists ErrorsView;^
create view ErrorsView as select * from Errors where date_out is null;^
drop view if exists ParametersView;^
create view ParametersView as select * from Parameters where date_out is null;^
drop view if exists MessagesView;^
create view MessagesView as select * from Messages where date_out is null;^
-- Las dos siguientes vistas est<EFBFBD>n puestas por culpa de las banderas de la I18N.
drop view if exists FilesSingleView;^
create view FilesSingleView as select
null as id,
null as `type`,
null as name,
null as weight,
null as date_in;^
drop view if exists LanguagesMultiView;^
create view LanguagesMultiView as select
null as id,
null as country_id,
null as country,
null as country_key,
null as country_code,
null as flag_id,
null as flag_type,
null as flag_name,
null as flag_weight,
null as name,
null as `key`,
null as code,
null as date_in;^
drop view if exists TerminalView;^
create view TerminalView as select
terminal.id as id,
sessions.id as session_id,
sessions.user_id as user_id,
sessions.nick as nick,
sessions.user_accessible as user_accessible,
sessions.user_deleted as user_deleted,
sessions.ip_id as ip_id,
sessions.ip as ip,
sessions.ip_accessible as ip_accessible,
sessions.ip_deleted as ip_deleted,
sessions.user_agent_id as user_agent_id,
sessions.user_agent as user_agent,
sessions.date_in as session_date_in,
sessions.date_out as session_date_out,
sessions.date_last as session_date_last,
procedures.id as procedure_id,
procedures.id as database_id,
procedures.`database` as `database`,
procedures.`procedure` as `procedure`,
procedures.database_date_in as database_date_in,
procedures.procedure_date_in as procedure_date_in,
`data`.id as data_id,
`data`.`data` as `data`,
`data`.date_in as data_date_in,
terminal.date_in as date_in
from Terminal terminal
left join SessionsFullView sessions on terminal.`session` = sessions.id
left join ProceduresFullView procedures on terminal.`procedure` = procedures.id
join TerminalData `data` on terminal.`data` = `data`.id
where terminal.date_out is null && `data`.date_out is null;^
drop procedure if exists terminal_set;^
create procedure terminal_set(
in `$session` integer,
in `$database` varchar(64),
in `$procedure` varchar(64),
in `$data` text
) begin
declare $data_id integer default (select id from TerminalData where `data` = `$data` limit 1);
declare $procedure_id integer default null;
if ifnull(`$database`, '') != '' && ifnull(`$procedure`, '') != '' then
call procedures_get(`$database`, `$procedure`, $procedure_id);
end if;
if ifnull(`$session`, 0) < 1 || (select 1 from Sessions where id = `$session` limit 1) is null then
set `$session` := null;
end if;
if $data_id is null then begin
insert into TerminalData(`data`) values(`$data`);
set $data_id := last_insert_id();
end;end if;
insert into Terminal(`session`, `procedure`, `data`) values(`$session`, $procedure_id, $data_id);
end;^
drop procedure if exists terminal_clean;^
create procedure terminal_clean() begin
delete from Terminal where true;
delete from TerminalData where true;
alter table Terminal auto_increment = 1;
alter table TerminalData auto_increment = 1;
end;^
delimiter ;

@ -0,0 +1,603 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop function if exists string_to_characters_array;^
create function string_to_characters_array(
$string varchar(16383)
) returns varchar(16383) begin
declare `$array` varchar(16383) default '';
declare $i integer default 1;
declare $l integer default length($string);
declare `$character` char(1);
while $i <= $l do
set `$character` := substring($string, $i, 1);
set `$array` := concat(`$array`, ',"', if(`$character` in ('"', '\\'), concat('\\', `$character`), `$character`), '"');
set $i := $i + 1;
end while;
return concat('[', substring(`$array`, 2, 16383), ']');
end;^
drop function if exists errors_to_integer;^
create function errors_to_integer(
$code varchar(2048)
) returns bigint begin
declare $alphabet char(64) default settings_get('base64_alphabet', false);
declare $results bigint default 0;
if substring($code, 1, 1) = '[' then
set $results := (select sum(bw(hexa, (i - 1) * 6)) from json_table($code, '$[*]' columns(
i for ordinality,
hexa tinyint path '$'
)) as b where i < 11);
else begin
declare $i tinyint default 0;
declare $l smallint default length($code);
declare `$position` integer;
while $i < $l && $i < 10 do
set `$position` := locate(substring($code, $i + 1, 1), binary $alphabet);
set $results := $results | if(`$position`, bw(`$position` - 1, $i * 6), 0);
set $i := $i + 1;
end while;
end;end if;
return $results;
end;^
drop function if exists errors_to_string;^
create function errors_to_string(
$code varchar(2048)
) returns varchar(512) begin
declare $alphabet char(64) default settings_get('base64_alphabet', false);
declare $results varchar(512) default '';
if substring($code, 1, 1) = '[' then
set $results := (select group_concat(substring($alphabet, hexa + 1, 1) separator '') from json_table($code, '$[*]' columns(
hexa tinyint path '$'
)) as b);
else begin
declare `$integer` bigint default $code + 0;
while $code do
set $results := concat($results, substring($alphabet, ($code & 0x3F) + 1, 1));
set $code := bw($code, -6);
end while;
end;end if;
return if($results = '', substring($alphabet, 1, 1), $results);
end;^
drop function if exists errors_to_array;^
create function errors_to_array(
$code varchar(512)
) returns varchar(2048) begin
declare $alphabet varchar(64) default settings_get('base64_alphabet', false);
declare $l integer default length($code) + 1;
declare $i integer default 1;
declare $results varchar(2048) default '';
while $i < $l do
set $results := concat($results, ',', (locate(substring($code, $i, 1), binary $alphabet) - 1));
set $i := $i + 1;
end while;
return concat('[', substring($results, 2, 2048), ']');
end;^
drop function if exists errors_to_array_back;^
create function errors_to_array_back(
$code varchar(2048)
) returns varchar(512) begin
declare $alphabet varchar(64) default settings_get('base64_alphabet', false);
return (select group_concat(substring($alphabet, hexa + 1, 1) separator '') from json_table($code, '$[*]' columns(
hexa tinyint path '$'
)) as b);
end;^
drop function if exists convert_to_base;^
create function convert_to_base(
`$integer` bigint,
$base tinyint
) returns varchar(2048) begin
declare $results varchar(2048) default '';
declare $alphabet varchar(64) default concat('0123456789', substring(settings_get('base64_alphabet', false), 1, 54));
while `$integer` do
set $results := concat(substring($alphabet, (`$integer` % $base) + 1, 1), $results);
set `$integer` := floor(`$integer` / $base);
end while;
return $results;
end;^
drop function if exists errors_to_array_binary;^
create function errors_to_array_binary(
$code varchar(2048)
) returns varchar(3584) begin
return concat('[', (select group_concat(concat('"', right(concat('000000', convert_to_base(hexa, 2)), 6), '"') separator ',') from json_table(if(substring($code, 1, 1) = '[', $code, errors_to_array($code)), '$[*]' columns(
hexa tinyint path '$'
)) as b), ']');
end;^
drop function if exists errors_has;^
create function errors_has(
$code varchar(512)
) returns boolean begin
return if(ifnull($code, '') = '', false, binary $code regexp concat('[^', substring(settings_get('base64_alphabet', null), 1, 1), ']'));
end;^
drop function if exists errors_get_hexa;^
create function errors_get_hexa(
$alphabet char(64),
$code varchar(512),
`$position` smallint
) returns tinyint begin
declare $i tinyint default locate(binary substring($code, `$position` + 1, 1), $alphabet) - 1;
return if($i < 0, null, $i);
end;^
drop function if exists errors_get_bit;^
create function errors_get_bit(
$code varchar(512),
`$position` smallint
) returns bool begin
return (errors_get_hexa(settings_get('base64_alphabet', 0), $code, floor(`$position` / 6)) & (1 << (`$position` % 6))) != 0;
end;^
drop function if exists errors_set_in;^
create function errors_set_in(
$alphabet char(64),
$code varchar(512),
$hexa tinyint,
`$position` smallint
) returns varchar(512) begin
declare $l smallint default length($code);
declare $zero char(1) default substring($alphabet, 1, 1);
while length($code) <= `$position` do
set $code := concat($code, $zero);
end while;
return if(
`$position` >= 0 && `$position` < $l && $hexa >= 0 && $hexa < 0x40,
concat(left($code, `$position`), substring($alphabet, $hexa + 1, 1), right($code, $l - `$position` - 1)),
$code
);
end;^
drop function if exists errors_bitwise;^
create function errors_bitwise(
$code varchar(512),
$bits smallint
) returns varchar(512) begin
declare $alphabet varchar(64) default settings_get('base64_alphabet', false);
declare `$first` char(1) default substring($alphabet, 1, 1);
declare $results varchar(512);
if ifnull($code, '') = '' then
set $results := `$first`;
elseif $bits = 0 then
set $results := $code;
else begin
declare $rest tinyint default abs($bits) % 6;
declare $r tinyint default 6 - $rest;
declare `$start` integer default floor(abs($bits) / 6);
if $bits > 0 then begin
declare $fill varchar(512) default '';
declare $l smallint default length($code);
declare $i smallint default $l;
declare `$last` tinyint default locate(substring($code, $l, 1), binary $alphabet) - 1 >> $r;
while length($fill) < `$start` do
set $fill := concat(`$first`, $fill);
end while;
if $bits % 6 then begin
declare $l smallint default length($code);
declare $i smallint default $l;
declare `$last` tinyint default locate(substring($code, $l, 1), binary $alphabet) - 1 >> $r;
if `$last` then
set $code := concat($code, substring($alphabet, `$last` + 1, 1));
end if;
while $i > 1 do
set $code := concat(substring($code, 1, $i - 1), substring($alphabet, (
((locate(substring($code, $i, 1), binary $alphabet) - 1 << $rest) & 0x3F) |
(locate(substring($code, $i - 1, 1), binary $alphabet) - 1 >> $r)
) + 1, 1), substring($code, $i + 1, 512));
set $i := $i - 1;
end while;
set $code := concat(substring($alphabet, ((locate(substring($code, 1, 1), binary $alphabet) - 1 << $rest) & 0x3F) + 1, 1), substring($code, 2, 512));
end;end if;
set $results := concat($fill, $code);
end;else begin
if `$start` > 0 then
set $code := substring($code, `$start` + 1, 512);
end if;
if abs($bits) % 6 then begin
declare $l smallint default length($code);
declare $i smallint default 1;
while $i < $l do
set $code := concat(substring($code, 1, $i - 1), substring($alphabet, (
(locate(substring($code, $i, 1), binary $alphabet) - 1 >> $rest) |
((locate(substring($code, $i + 1, 1), binary $alphabet) - 1 << $r) & 0x3F)
) + 1, 1), substring($code, $i + 1, 512));
set $i := $i + 1;
end while;
set $code := concat(substring($code, 1, $l - 1), substring($alphabet, (locate(substring($code, $l, 1), binary $alphabet) - 1 >> $rest) + 1, 1));
end;end if;
set $results := $code;
end;end if;
end;end if;
return if($results = '', `$first`, $results);
end;^
drop function if exists errors_compact;^
create function errors_compact(
$code varchar(512),
$alphabet char(64)
) returns varchar(512) begin
declare $l smallint default length($code);
declare $zero char(1) default substring(ifnull($alphabet, settings_get('base64_alphabet', 0)), 1, 1);
while $l > 1 && substring($code, $l, 1) = $zero do
set $l := $l - 1;
end while;
if $l then
set $code := substring($code, 1, $l);
end if;
return $code;
end;^
drop function if exists errors_length_code;^
create function errors_length_code(
$alphabet char(64),
`$bit` smallint,
`$length` smallint
) returns varchar(512) begin
declare $length_code varchar(512) default substring($alphabet, 1, 1);
declare $l smallint default floor(`$length` / 6);
if `$length` is not null && `$length` then begin
declare $k tinyint default `$length` % 6;
set $length_code := '';
while length($length_code) < $l do
set $length_code := concat(substring($alphabet, 64, 1), $length_code);
end while;
if $k then
set $length_code := concat(substring($alphabet, ~-(1 << $k) + 1, 1), $length_code);
end if;
if `$bit` then
set $length_code := errors_bitwise($length_code, `$bit`);
end if;
end;end if;
return $length_code;
end;^
drop function if exists errors_reset;^
create function errors_reset(
$code varchar(512),
`$bit` smallint,
`$length` smallint,
$alphabet char(64)
) returns varchar(512) begin
declare $zero char(1);
declare $l smallint;
if ifnull($alphabet, '') in ('', '0') then
set $alphabet := settings_get('base64_alphabet', false);
end if;
set $zero := substring($alphabet, 1, 1);
if $code is null then
set $code := '';
end if;
if `$length` > 0 then begin
declare $i smallint default floor(`$bit` / 6);
declare $rest tinyint default `$bit` % 6;
declare $subtotal smallint default `$length` - (6 - $rest);
declare `$last` tinyint default $subtotal % 6;
declare $start_fragment tinyint default if(`$length` + $rest < 6, (`$length` + $rest) % 6, 0);
declare $m smallint default length($code);
declare $total smallint default floor((`$bit` + `$length`) / 6);
set $l := $i + 1 + floor($subtotal / 6);
if `$length` || $rest then begin
set $code := errors_set_in($alphabet, $code, errors_get_hexa($alphabet, $code, $i) & (~-(1 << $rest) | if($start_fragment, ~-(1 << 6 - $start_fragment) << $start_fragment, 0)), $i);
set $i := $i + 1;
end;end if;
if $m < $total then begin
set $code := substring($code, 1, $i);
while length($code) < $total do
set $code := concat($code, $zero);
end while;
end;else begin
set $l := if($l > $m, $m, $l - 1);
while $i <= $l do
set $code := errors_set_in($alphabet, $code, 0, $i);
set $i := $i + 1;
end while;
if `$last` > 0 && $i < $m then
set $code = errors_set_in($alphabet, $code, errors_get_hexa($alphabet, $code, $i) & (~-(1 << 6 - `$last`) << `$last`), $i);
end if;
end;end if;
end;else begin
set $l := floor(`$bit` / 6);
while length($code) < $l do
set $code := concat($code, $zero);
end while;
end;end if;
return $code;
end;^
drop function if exists errors_join;^
create function errors_join(
$code varchar(512),
$error varchar(512),
`$bit` smallint,
`$length` smallint
) returns varchar(512) begin
declare $alphabet char(64) default settings_get('base64_alphabet', 0);
set $code := errors_reset($code, `$bit`, `$length`, $alphabet);
if errors_has($error) then begin
declare $l smallint;
declare $i smallint default 0;
declare $zero char(1) default substring($alphabet, 1, 1);
if ifnull(`$bit`, 0) then begin
set $error := errors_bitwise($error, `$bit`);
set $i := floor(`$bit` / 6);
end;end if;
set $l := length($error);
while length($code) <= $l do
set $code := concat($code, $zero);
end while;
while $i < $l do
set $code := errors_set_in($alphabet, $code, ifnull(errors_get_hexa($alphabet, $code, $i), 0) | errors_get_hexa($alphabet, $error, $i), $i);
set $i := $i + 1;
end while;
end;end if;
return errors_compact($code, $alphabet);
end;^
drop function if exists errors_set;^
create function errors_set(
$code varchar(512),
$error bigint,
`$bit` integer,
`$length` integer
) returns varchar(512) begin
return errors_join($code, errors_to_string($error), `$bit`, `$length`);
end;^
drop function if exists errors_messages_get_group;^
create function errors_messages_get_group(
$name varchar(64)
) returns integer begin
return (select id from ErrorsMessagesGroups where date_out is null && name = $name limit 1);
end;^
drop procedure if exists errors_messages_clean;^
create procedure errors_messages_clean(
in $name varchar(64)
) begin
declare $group_id integer default errors_messages_get_group($name);
delete from ErrorsMessages where `group` = $group_id;
delete from ErrorsMessagesGroups where id = $group_id;
end;^
drop procedure if exists errors_messages_add;^
create procedure errors_messages_add(
in $name varchar(64),
in $i smallint,
in $message varchar(64)
) begin
declare $group_id integer default errors_messages_get_group($name);
if $group_id is null then begin
insert into ErrorsMessagesGroups(name) values($name);
set $group_id := last_insert_id();
end;end if;
if (select 1 from ErrorsMessages where date_out is null && `group` = $group_id && i = $i && name = $message limit 1) is null then begin
if (select 1 from ErrorsMessages where date_out is null && `group` = $group_id && i = $i limit 1) is null then
insert into ErrorsMessages(`group`, i, name) values($group_id, $i, $message);
else
update ErrorsMessages set name := $message where date_out is null && `group` = $group_id && i = $i;
end if;
end;end if;
end;^
drop procedure if exists errors_get_data;^
create procedure errors_get_data(
in $name varchar(64),
in $code varchar(512),
in `$session` bool
) begin
declare `$length` smallint default length($code);
declare $bits smallint default `$length` * 6;
declare $group_id integer default (select id from ErrorsMessagesGroups where date_out is null && name = $name limit 1);
declare $session_id integer default if(`$session`, (select id from ErrorsMessagesGroups where date_out is null && name = 'sessions_validate_full' limit 1), null);
drop temporary table if exists default_errors_messages_temporary_anp;
create temporary table default_errors_messages_temporary_anp(
id integer not null auto_increment,
i smallint not null,
message varchar(64) not null,
constraint default_errors_messages_temporary_anp_id primary key(id)
);
if $group_id is not null then
insert into default_errors_messages_temporary_anp(i, message)
select i, name from ErrorsMessages where
date_out is null &&
`group` = $group_id &&
i >= 0 &&
name is not null;
end if;
if $session_id is not null then
insert into default_errors_messages_temporary_anp(i, message)
select i, name from ErrorsMessages where
date_out is null &&
`group` = $session_id &&
i >= 0 &&
name is not null &&
i not in (select i from default_errors_messages_temporary_anp);
end if;
set @i := -1;
insert into default_errors_messages_temporary_anp(i, message)
select unknown_messages.i, concat('message_', unknown_messages.i)
from (
select @i := @i + 1 as i from information_schema.columns
) unknown_messages
where unknown_messages.i not in (select i from default_errors_messages_temporary_anp)
limit $bits;
set @i := -1;
select
errors_messages.i as i,
`characters`.hexa as hexa,
errors_messages.message as message
from (
select
@i := @i + 1 as i,
errors_to_integer(substring($code, @i + 1, 1)) as hexa
from information_schema.columns a
join information_schema.columns b on true
limit `$length`
) `characters`
join default_errors_messages_temporary_anp errors_messages on
`characters`.hexa &&
floor(errors_messages.i / 6) = `characters`.i &&
(1 << (errors_messages.i % 6)) & `characters`.hexa;
drop temporary table default_errors_messages_temporary_anp;
end;^
drop procedure if exists errors_messages_set;^
create procedure errors_messages_set(
in `$session` text
) begin
declare $group_done bool default false;
declare $group_i integer;
declare $group_name varchar(64);
declare $counter integer;
declare group_cursor cursor for select i, name from ErrorsTemporaryGroups where date_out is null;
declare continue handler for not found set $group_done := true;
open group_cursor;
group_reader:loop
fetch group_cursor into $group_i, $group_name;
if $group_done then
leave group_reader;
end if;
call errors_messages_clean($group_name);
set $counter := 30;
messages_block:begin
declare $messages_done bool default false;
declare $i smallint default 30;
declare $message varchar(64);
declare messages_cursor cursor for select i, message from ErrorsTemporaryMessages where date_out is null && `group` = $group_i;
declare continue handler for not found set $messages_done := true;
open messages_cursor;
messages_reader:loop
fetch messages_cursor into $i, $message;
if $messages_done then
leave messages_reader;
end if;
call errors_messages_add($group_name, ifnull($i, $counter), $message);
set $counter := $counter + 1;
end loop messages_reader;
close messages_cursor;
end messages_block;
end loop group_reader;
close group_cursor;
delete from ErrorsTemporaryGroups where true;
delete from ErrorsTemporaryMessages where true;
end;^
delimiter ;

@ -0,0 +1,550 @@
use AnP;
delimiter ;^
drop view if exists SessionsIpsValidateView;^
create view SessionsIpsValidateView as select
ips.entity as entity,
ips.address as address,
ips.`accessible` as `accessible`,
ips.deleted as deleted,
sessions_ips.`session` as `session`
from _SessionsIps sessions_ips
join _Ips ips on sessions_ips.ip = ips.entity;^
drop view if exists SessionsUsersAgentsValidateView;^
create view SessionsUsersAgentsValidateView as select
users_agents.id as id,
users_agents.`data` as `data`,
sessions_users_agents.`session` as `session`
from _SessionsUsersAgents sessions_users_agents
join UsersAgents users_agents on sessions_users_agents.user_agent = users_agents.id;^
drop view if exists SessionsValidateView;^
create view SessionsValidateView as select
sessions.id as id,
users.entity as user_id,
users.nick as nick,
users.`accessible` as user_accessible,
users.deleted as user_deleted,
ips.entity as ip_id,
ips.address as ip,
ips.`accessible` as ip_accessible,
ips.deleted as ip_deleted,
users_agents.id as user_agent_id,
users_agents.`data` as user_agent,
sessions.date_out as date_out,
sessions.date_last as date_last
from Sessions sessions
left join _Users users on sessions.`user` = users.entity
left join _SessionsIps sessions_ips on sessions.id = sessions_ips.`session`
left join _Ips ips on sessions_ips.ip = ips.entity
left join _SessionsUsersAgents sessions_users_agents on sessions.id = sessions_users_agents.`session`
left join UsersAgents users_agents on sessions_users_agents.user_agent = users_agents.id;^
-- drop function if exists sessions_has_permissions;^
create function if not exists sessions_has_permissions(
`$session` integer,
$permissions text
) returns bool begin
return true;
end;^
-- drop function if exists sessions_is_banned;^
create function if not exists sessions_is_banned(
`$session` integer
) returns bool begin
return false;
end;^
-- drop function if exists sessions_timeout;^
create function if not exists sessions_timeout(
`$session` integer
) returns bool begin
return false;
end;^
-- drop function if exists sessions_is_guest;^
create function if not exists sessions_is_guest(
`$session` integer
) returns bool begin
return true;
end;^
-- drop function if exists users_settings_get;^
create function if not exists users_settings_get(
`$user` integer,
$name varchar(64)
) returns text begin
return (select value from _Settings where deleted is null && name = $name limit 1);
end;^
-- drop function if exists users_settings_get_int;^
create function if not exists users_settings_get_int(
`$user` integer,
$name varchar(64)
) returns bool begin
return string_to_integer(users_settings_get(`$user`, $name));
end;^
-- drop function if exists users_settings_get_bool;^
create function if not exists users_settings_get_bool(
`$user` integer,
$name varchar(64)
) returns bool begin
return string_to_bool(users_settings_get(`$user`, $name));
end;^
drop procedure if exists sessions_validate_full;^
create procedure sessions_validate_full(
in `$session` text,
in $permissions text,
out $error varchar(512),
out $session_id integer,
out $ip_id integer,
out $user_agent_id integer
) begin
declare `$database` varchar(64) default settings_get('database_anp', false);
declare `$procedure` varchar(64) default 'sessions_validate_full';
declare $procedure_id integer;
declare $error_integer integer;
call procedures_get(`$database`, `$procedure`, $procedure_id);
set $error_integer := (case
when `$session` is null then 1 << 0
when `$session` = '' then 1 << 1
when `$session` not like '%,%,%' then 1 << 2
else 0 end);
if !$error_integer then begin
declare $separator1 integer default locate(',', `$session`);
declare $separator2 integer default locate(',', `$session`, $separator1 + 1);
declare $session_text text default if($separator1, trim(substring(`$session`, 1, $separator1 - 1)), null);
declare $ip varchar(39) default if($separator2, trim(substring(`$session`, $separator1 + 1, $separator2 - $separator1 - 1)), null);
declare $user_agent text default if($separator2, trim(substring(`$session`, $separator2 + 1, 9999999)), null);
if $ip = 'null' then
set $ip := null;
end if;
if $user_agent = 'null' then
set $user_agent := null;
end if;
set $session_id := if($session_text regexp '^[0-9]+$', cast($session_text as integer), null);
set $error_integer := (
((case
when $session_id is null then 1 << 0
when $session_id < 1 then 1 << 1
else 0 end) << 0) |
((case
when $ip is null then 1 << 0
when $ip = '' then 1 << 1
-- when $ip not regexp '^[0-9]{1,3}?(\.[0-9]{1,3}){1,3}$' then 1 << 2
else 0 end) << 2) |
((case
when $user_agent is null then 0 -- 1 << 0
when $user_agent = '' then 0 -- 1 << 1
else 0 end) << 5) |
0) << 3;
set $ip_id := (select entity from _Ips where deleted is null && if($ip is null, address is null, address = $ip) limit 1);
set $user_agent_id := (select id from UsersAgents where date_out is null && if($user_agent is null, `data` is null, `data` = $user_agent) limit 1);
if $ip_id is null then begin
insert into Ips values();
set $ip_id := last_insert_id();
insert into IpsData(`procedure`, `session`, entity, address, `accessible`) values
($procedure_id, ifnull((
select id from Sessions where id = $session_id
), settings_get_int('unknown_session', false)), $ip_id, $ip, settings_get_bool('allow_any_new_ip', false));
end;end if;
if $user_agent_id is null then begin
insert into UsersAgents(`data`) values($user_agent);
set $user_agent_id := last_insert_id();
end;end if;
if !$error_integer then begin
declare $user_id integer default (select `user` from Sessions where id = $session_id limit 1);
declare $check_ip bool default users_settings_get_bool($user_id, 'session_check_ip');
declare $check_user_agent bool default users_settings_get_bool($user_id, 'session_check_user_agent');
set $error_integer := ifnull((
select (
(if(user_id is null, 1 << 0, (
if(user_accessible || sessions_is_guest($session_id), 0, 1 << 1) |
if(user_deleted is null, 0, 1 << 2) |
ifnull((select 1 << 3 from _Users where entity = user_id && concat('%"', nick, '"%') like settings_get('users_excluded', false) limit 1), 0) |
0)) << 1) |
(if(
$check_ip,
if($ip_id = ip_id, if(ip_id is null, 1 << 1, (
if(ip_accessible, 0, 1 << 3) |
if(ip_deleted is null, 0, 1 << 4) |
ifnull((select 1 << 5 from _Ips where entity = ip_id && concat('%"', ip, '"%') like settings_get('ips_excluded', false) limit 1), 0) |
0)), 1 << 0),
if($ip_id is null, 1 << 1, ifnull((
select (
if(`accessible`, 0, 1 << 3) |
if(deleted is null, 0, 1 << 4) |
if(concat('%"', address, '"%') like settings_get('ips_excluded', false), 1 << 5, 0) |
0) from _Ips where entity = $ip_id limit 1
), 1 << 2))
) << 5) |
(if(
$check_user_agent,
if($user_agent_id = user_agent_id, if(user_agent_id is null, 1 << 1, 0), 1 << 0),
if($user_agent_id is null, 1 << 1, ifnull((select 0 from UsersAgents where date_out is null && id = $user_agent_id limit 1), 1 << 2))
) << 11) |
((case
when date_out is not null then 1 << 0
when sessions_timeout(id) then 1 << 1
else 0 end) << 14) |
if(sessions_is_banned(id), 1 << 16, 0) |
0) from SessionsValidateView where id = $session_id limit 1
), 1 << 0) << 10;
if $check_ip && (select 1 from _SessionsIps where
`session` = $session_id &&
ip = $ip_id
limit 1) is null then begin
declare $session_ip_id integer default (select entity from _SessionsIps where `session` = $session_id limit 1);
if $session_ip_id is null then begin
insert into SessionsIps values();
insert into SessionsIpsData(entity, `session`, ip, ok) values
(last_insert_id(), $session_id, $ip_id, !$check_ip);
end;else
insert into SessionsIpsData(entity, `session`, ip, ok) values
($session_ip_id, $session_id, $ip_id, !$check_user_agent);
end if;
end;end if;
if $check_user_agent && (select 1 from _SessionsUsersAgents where
`session` = $session_id &&
user_agent = $user_agent_id
limit 1) is null then begin
declare $session_user_agent_id integer default (select entity from _SessionsUsersAgents where `session` = $session_id limit 1);
if $session_user_agent_id is null then begin
insert into SessionsUsersAgents values();
insert into SessionsUsersAgentsData(entity, `session`, user_agent, ok) values
(last_insert_id(), $session_id, $user_agent_id, !$check_user_agent);
end;else
insert into SessionsUsersAgentsData(entity, `session`, user_agent, ok) values
($session_user_agent_id, $session_id, $user_agent_id, !$check_user_agent);
end if;
end;end if;
end;end if;
set $session_id := (select id from Sessions where id = $session_id limit 1);
end;end if;
if !$error_integer then
set $error_integer := if(sessions_has_permissions($session_id, $permissions), 0, 1 << 27);
end if;
set $error := errors_set('', $error_integer, 1, 0);
end;^
drop function if exists sessions_get_id;^
create function sessions_get_id(
`$session` text
) returns integer begin
declare $session_text text default if(ifnull(`$session`, '') = '', null, substring(`$session`, 1, locate(',', `$session`) - 1));
return if($session_text regexp '^[0-9]+$', cast($session_text as integer), null);
end;^
drop procedure if exists anp_initial_sessions_set_errors_messages;^
create procedure anp_initial_sessions_set_errors_messages(
in `$session` text
) begin
declare `$database` varchar(64) default settings_get('database_anp', false);
declare `$procedure` varchar(64) default 'anp_initial_sessions_set_errors_messages';
declare $session_id integer default ifnull(sessions_get_id(`$session`), sessions_get_machine());
declare $ip_id integer;
declare $user_agent_id integer;
declare $error varchar(512) default '';
select ip_id, user_agent_id into $ip_id, $user_agent_id from SessionsFullView where id = $session_id limit 1;
insert into ErrorsTemporaryGroups(i, name) values
(1, 'sessions_validate_full');
insert into ErrorsTemporaryMessages(`group`, i, message) values
(1, 0, 'exception'),
(1, 1, 'session_null'),
(1, 2, 'session_empty'),
(1, 3, 'session_bad_format'),
(1, 4, 'session_id_null'),
(1, 5, 'session_id_bad'),
(1, 6, 'ip_null'),
(1, 7, 'ip_empty'),
(1, 8, 'ip_bad_format'),
(1, 9, 'user_agent_null'),
(1, 10, 'user_agent_empty'),
(1, 11, 'session_not_exists'),
(1, 12, 'user_id_null'),
(1, 13, 'user_unaccessible'),
(1, 14, 'user_deleted'),
(1, 15, 'user_excluded'),
(1, 16, 'ip_not_same'),
(1, 17, 'ip_id_null'),
(1, 18, 'ip_not_exists'),
(1, 19, 'ip_unaccessible'),
(1, 20, 'ip_deleted'),
(1, 21, 'ip_excluded'),
(1, 22, 'user_agent_not_same'),
(1, 23, 'user_agent_id_null'),
(1, 24, 'user_agent_not_exists'),
(1, 25, 'session_date_out'),
(1, 26, 'session_timeout'),
(1, 27, 'session_banned'),
(1, 28, 'session_not_perimssions');
call errors_messages_set(`$session`);
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, '{}', 1 << 1);
end;^
drop procedure if exists traces_set;^
create procedure traces_set(
in `$session` text,
in $project varchar(64),
in `$path` varchar(512),
in $own_error varchar(512),
in $own_parameters text,
in $trace text,
in $message text,
in $line integer,
out $error varchar(512),
out $id integer
) begin
declare `$database` varchar(64) default settings_get('database_anp', false);
declare `$procedure` varchar(64) default 'traces_set';
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare $project_id integer;
declare $path_id integer;
declare $error_id integer;
declare $parameters_id integer;
declare $trace_id integer;
declare $message_id integer;
declare $parameters text default json_set('{}',
'$.project', $project,
'$.path', `$path`,
'$.own_error', $own_error,
-- '$.own_parameters', $own_parameters,
-- '$.trace', $trace,
-- '$.message', $message,
'$.line', $line
);
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
set $id := 0;
call sessions_validate_full(`$session`, null, $error, $session_id, $ip_id, $user_agent_id);
call projects_get($project, $project_id);
call traces_files_get(`$path`, $path_id);
call errors_get($own_error, $error_id);
call parameters_get($own_parameters, $parameters_id);
call lines_get($trace, $trace_id);
call messages_get($message, $message_id);
insert into Traces(`session`, ip, user_agent, project, file, own_error, own_parameters, trace, message, line) values
($session_id, $ip_id, $user_agent_id, $project_id, $path_id, $error_id, $parameters_id, $trace_id, $message_id, $line);
set $id := last_insert_id();
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 0);
set $error := errors_set('', 0, 0, 0);
end;^
call anp_initial_sessions_set_errors_messages(null);^
drop function if exists password_validate;^
create function password_validate(
`$password` varchar(256)
) returns integer begin
return (case
when `$password` is null then 1 << 0
when `$password` = '' then 1 << 1
else (
if(length($password) < ifnull(settings_get_int('password_minimum_length', false), 1), 1 << 2, 0) |
if(ifnull(settings_get_bool('password_needs_lower', false), false) && binary `$password` not regexp binary '[a-z]', 1 << 3, 0) |
if(ifnull(settings_get_bool('password_needs_upper', false), false) && binary `$password` not regexp binary '[A-Z]', 1 << 4, 0) |
if(ifnull(settings_get_bool('password_needs_digit', false), false) && `$password` not regexp '[0-9]', 1 << 5, 0) |
if(ifnull(settings_get_bool('password_needs_special', false), false) && `$password` regexp '^[a-zA-Z0-9]+$', 1 << 6, 0) |
0) end);
end;^
drop function if exists sessions_password_hash;^
create function sessions_password_hash(
$password varchar(256)
) returns varchar(256) begin
return substring((case settings_get('password_hash_function', false)
when 'md5' then md5($password)
when 'sha' then sha($password)
when 'sha1' then sha1($password)
when 'sha2' then sha2($password, ifnull(settings_get_int('hash_sha2_length', false), 512))
when 'password' then password($password)
when 'old_password' then old_password($password)
when 'des' then des_encrypt($password)
when 'aes' then aes_encrypt($password, sha2($password, ifnull(settings_get_int('hash_sha2_length', false), 512)))
when 'encrypt' then encrypt($password)
else $password end), 1, 256);
end;^
drop procedure if exists users_groups_create;^
create procedure users_groups_create(
in $procedure_id integer,
in $session_id integer,
in $nick varchar(32),
in $id integer
) begin
declare $group_id integer;
insert into Groups values();
set $group_id := last_insert_id();
insert into GroupsData(`procedure`, `session`, entity, name, `default`, is_entity, description) values
($procedure_id, $session_id, $group_id, $nick, false, true, concat('Group for entity user "', $id, '".'));
insert into UsersGroups values();
insert into UsersGroupsData(`procedure`, `session`, entity, `user`, `group`, belongs) values
($procedure_id, $session_id, last_insert_id(), $id, $group_id, true);
default_groups:begin
declare $done bool default false;
declare `$group` integer;
declare default_groups_cursor cursor for select entity from _Groups where deleted is null && `default`;
declare continue handler for not found set $done := true;
open default_groups_cursor;
default_groups_reader:loop
fetch default_groups_cursor into `$group`;
if $done then
leave default_groups_reader;
end if;
insert into UsersGroups values();
insert into UsersGroupsData(`procedure`, `session`, entity, `user`, `group`, belongs) values
($procedure_id, $session_id, last_insert_id(), $id, `$group`, true);
end loop default_groups_reader;
close default_groups_cursor;
end default_groups;
end;^
drop function if exists users_get_entity_group;^
create function users_get_entity_group(
$entity integer
) returns integer begin
return (
select groups.entity
from _UsersGroups users_groups
join _Groups groups on users_groups.`group` = groups.entity
join _Users users on users_groups.`user` = users.entity
where
users.entity = $entity &&
users_groups.belongs &&
groups.is_entity &&
users.nick = groups.name
order by users_groups.entity asc
limit 1
);
end;^
drop procedure if exists users_update_group_data;^
create procedure users_update_group_data(
in $procedure_id integer,
in $session_id integer,
in $group_id integer,
in $nick varchar(32)
) begin
declare $group_name varchar(64);
declare $group_default bool;
declare $group_is_entity bool;
declare $group_description varchar(512);
select name, `default`, is_entity, description
into $group_name, $group_default, $group_is_entity, $group_description
from _Groups where entity = $group_id limit 1;
if $group_name != $nick then
insert into GroupsData(`procedure`, `session`, entity, name, `default`, is_entity, description) values
($procedure_id, $session_id, $group_id, $nick, $group_default, $group_is_entity, $group_description);
end if;
end;^
drop function if exists create_random_chain;^
create function create_random_chain(
`$length` smallint,
$alphabet varchar(256)
) returns varchar(256) begin
declare `$chain` varchar(256) default '';
declare $l integer;
if `$length` is null then
set `$length` := settings_get_int('random_chain_length', false);
end if;
if $alphabet is null then
set $alphabet := settings_get('random_chain_alphabet', false);
end if;
set $l := length($alphabet);
while length(`$chain`) < `$length` do
set `$chain` := concat(`$chain`, substring($alphabet, floor(rand() * $l) + 1, 1));
end while;
return `$chain`;
end;^
drop function if exists sessions_single_validate;^
create function sessions_single_validate(
$id integer
) returns integer begin
return (case
when $id is null then 1 << 0
when $id < 1 then 1 << 1
else ifnull((
select if(date_out is null, 0, 1 << 3) from Sessions where id = $id limit 1
), 1 << 2) end);
end;^
delimiter ;

@ -0,0 +1,45 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists anp_base_set;^
create procedure anp_base_set(
in `$session` integer
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'anp_base_set';
declare $procedure_id integer;
declare $id integer;
declare $has_database boolean default `$database` is not null;
declare $session_id integer default sessions_get_id(`$session`);
declare $ip_id integer;
declare $user_agent_id integer;
if $session_id is null then
set $session_id := sessions_get_machine();
end if;
select ip_id, user_agent_id into $ip_id, $user_agent_id from SessionsFullView where id = $session_id limit 1;
if `$database` is null then
set `$database` := 'AnP';
end if;
call procedures_get(`$database`, `$procedure`, $procedure_id);
if !$has_database then begin
insert into Settings values();
set $id := last_insert_id();
insert into SettingsData(`procedure`, `session`, entity, `type`, name, `range`, value) values
($procedure_id, $session_id, $id, 1, 'database_anp2', 1, 'AnP');
end;end if;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, 0, '{}', 1 << 1);
end;^
call anp_base_set(null);^
delimiter ;

@ -0,0 +1,102 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists users_tables_delete;^
create procedure users_tables_delete(
in `$session` text
) begin
drop table if exists _Users;
drop table if exists UsersData;
drop table if exists Users;
end;^
drop procedure if exists users_tables_create;^
create procedure users_tables_create(
in `$session` text
) begin
create table if not exists Users(
id integer not null auto_increment,
date_in datetime not null default now(),
date_out datetime,
constraint users_id primary key(id)
);
create table if not exists UsersData(
id integer not null auto_increment,
`procedure` integer not null,
`session` integer not null,
entity integer not null,
nick varchar(32) not null,
`password` varchar(256) not null,
`accessible` boolean not null default false,
deleted datetime,
date_in datetime not null default now(),
date_out datetime,
constraint users_data_id primary key(id),
constraint users_data_procedure foreign key(`procedure`) references Procedures(id),
constraint users_data_session foreign key(`session`) references Sessions(id),
constraint users_data_entity foreign key(entity) references Users(id)
);
create table if not exists _Users(
id integer not null auto_increment,
`procedure` integer not null,
`session` integer not null,
entity integer not null,
`data` integer not null,
nick varchar(32) not null,
`password` varchar(256) not null,
`accessible` boolean not null default false,
deleted datetime,
date_in datetime not null,
date_created datetime not null,
constraint _users_id primary key(id),
constraint _users_procedure foreign key(`procedure`) references Procedures(id),
constraint _users_session foreign key(`session`) references Sessions(id),
constraint _users_entity foreign key(entity) references Users(id)
);
end;^
drop procedure if exists users_tables_update;^
create procedure users_tables_update(
in `$session` text
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'users_tables_update';
declare $session_id integer default ifnull(sessions_get_id(`$session`), sessions_get_machine());
declare $ip_id integer;
declare $user_agent_id integer;
select ip_id, user_agent_id into $ip_id, $user_agent_id from SessionsFullView where id = $session_id limit 1;
if (select 1 from information_schema.columns where table_schema = `$database` && table_name = 'UsersData' && column_name = 'nick' limit 1) is null then begin
alter table UsersData add column nick varchar(32) not null after entity;
alter table _Users add column nick varchar(32) not null after `data`;
end;end if;
if (select 1 from information_schema.columns where table_schema = `$database` && table_name = 'UsersData' && column_name = 'password' limit 1) is null then begin
alter table UsersData add column `password` varchar(256) not null after nick;
alter table _Users add column `password` varchar(256) not null after nick;
end;end if;
if (select 1 from information_schema.columns where table_schema = `$database` && table_name = 'UsersData' && column_name = 'accessible' limit 1) is null then begin
alter table UsersData add column `accessible` boolean not null default false after `password`;
alter table _Users add column `accessible` boolean not null default false after `password`;
end;end if;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, '', '{}', 2);
end;^
-- call users_tables_delete(null);^
call users_tables_create(null);^
call users_tables_update(null);^
delimiter ;

@ -0,0 +1,106 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists users_data_update;^
create procedure users_data_update(
in $entity integer
) begin
if (
(select 1 from Users where id = $entity && date_out is null limit 1) is null ||
(select 1 from UsersData where entity = $entity && date_out is null limit 1) is null
) then
delete from _Users where entity = $entity;
else begin
if (select 1 from _Users where entity = $entity limit 1) is null then
insert into _Users(`procedure`, `session`, entity, `data`, nick, `password`, `accessible`, deleted, date_in, date_created)
select `procedure`, `session`, entity, id, nick, `password`, `accessible`, deleted, date_in, (select date_in from Users where id = $entity) from UsersData where id = (
select max(id) from UsersData where entity = $entity && date_out is null
);
else
update _Users plain
join (select `procedure`, `session`, entity, id, nick, `password`, `accessible`, deleted, date_in, (select date_in from Users where id = $entity) from UsersData where id = (
select max(id) from UsersData where entity = $entity && date_out is null
)) `data` on plain.entity = `data`.entity
set
plain.`procedure` := `data`.`procedure`,
plain.`session` := `data`.`session`,
plain.`data` := `data`.id,
plain.nick := `data`.nick,
plain.`password` := `data`.`password`,
plain.`accessible` := `data`.`accessible`,
plain.deleted := `data`.deleted,
plain.date_in := `data`.date_in
where plain.entity = $entity;
end if;
end;end if;
end;^
drop procedure if exists users_full_update;^
create procedure users_full_update(
in `$procedure` integer,
in `$session` integer,
in $entity integer,
in `$data` integer,
in $nick varchar(32),
in `$password` varchar(256),
in `$accessible` boolean,
in $deleted datetime,
in $date_in datetime
) begin
if (select 1 from Users where id = $entity && date_out is null limit 1) is null then
delete from _Users where entity = $entity;
else begin
if (select 1 from _Users where entity = $entity limit 1) then
update _Users set
`procedure` := `$procedure`,
`session` := `$session`,
`data` := `$data`,
nick := $nick,
`password` := `$password`,
`accessible` := `$accessible`,
deleted := $deleted,
date_in := $date_in
where entity = $entity;
else
insert into _Users(`procedure`, `session`, entity, `data`, nick, `password`, `accessible`, deleted, date_in, date_created) values
(`$procedure`, `$session`, $entity, `$data`, $nick, `$password`, `$accessible`, $deleted, $date_in, (select date_in from Users where id = $entity limit 1));
end if;
end;end if;
end;^
drop trigger if exists users_trigger_update_entity;^
create trigger users_trigger_update_entity after update on Users for each row begin
call users_data_update(new.id);
end;^
drop trigger if exists users_trigger_insert;^
create trigger users_trigger_insert after insert on UsersData for each row begin
if new.date_out is null then
call users_full_update(new.`procedure`, new.`session`, new.entity, new.id, new.nick, new.`password`, new.`accessible`, new.deleted, new.date_in);
end if;
end;^
drop trigger if exists users_trigger_update;^
create trigger users_trigger_update after update on UsersData for each row begin
if new.entity != old.entity then
call users_data_update(old.entity);
end if;
if new.date_out is null then
call users_full_update(new.`procedure`, new.`session`, new.entity, new.id, new.nick, new.`password`, new.`accessible`, new.deleted, new.date_in);
else
call users_data_update(new.entity);
end if;
end;^
drop trigger if exists users_trigger_delete;^
create trigger users_trigger_delete after delete on UsersData for each row begin
call users_data_update(old.entity);
end;^
delimiter ;

@ -0,0 +1,89 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop view if exists UsersDataView;^
create view UsersDataView as select
`data`.*,
entities.date_in as date_created
from (select * from UsersData where id in (
select max(id) from UsersData where date_out is null group by entity
)) `data`
join Users entities on `data`.entity = entities.id
where entities.date_out is null;^
drop procedure if exists users_plain_reset;^
create procedure users_plain_reset(
in `$session` text
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'users_plain_reset';
declare $session_id integer default ifnull(sessions_get_id(`$session`), sessions_get_machine());
declare $ip_id integer;
declare $user_agent_id integer;
if $session_id is null then
set $session_id := sessions_get_machine();
end if;
select ip_id, user_agent_id into $ip_id, $user_agent_id from SessionsFullView where id = $session_id limit 1;
start transaction;
delete from _Users where true;
alter table _Users auto_increment = 1;
insert into _Users(`procedure`, `session`, entity, `data`, nick, `password`, `accessible`, deleted, date_in, date_created)
select `procedure`, `session`, entity, id, nick, `password`, `accessible`, deleted, date_in, date_created from UsersDataView;
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, '', '{}', 1 << 1);
end;^
drop procedure if exists users_plain_update;^
create procedure users_plain_update(
in `$session` text
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'users_plain_update';
declare $session_id integer default ifnull(sessions_get_id(`$session`), sessions_get_machine());
declare $ip_id integer;
declare $user_agent_id integer;
if $session_id is null then
set $session_id := sessions_get_machine();
end if;
select ip_id, user_agent_id into $ip_id, $user_agent_id from SessionsFullView where id = $session_id limit 1;
start transaction;
delete from _Users where entity not in (select entity from UsersDataView);
update _Users plain
join UsersDataView `data` on plain.entity = `data`.entity
set
plain.`procedure` := `data`.`procedure`,
plain.`session` := `data`.`session`,
plain.`data` := `data`.id,
plain.nick := `data`.nick,
plain.`password` := `data`.`password`,
plain.`accessible` := `data`.`accessible`,
plain.deleted := `data`.deleted,
plain.date_in := `data`.date_in,
plain.date_created := `data`.date_created;
insert into _Users(`procedure`, `session`, entity, `data`, nick, `password`, `accessible`, deleted, date_in, date_created)
select `procedure`, `session`, entity, id, nick, `password`, `accessible`, deleted, date_in, date_created from UsersDataView where entity not in (
select entity from _Users
);
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, '', '{}', 1 << 1);
end;^
delimiter ;

@ -0,0 +1,71 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop view if exists UsersView;^
create view UsersView as select
users.id as plain_id,
users.entity as id,
users.`data` as `data`,
procedures.database_id as database_id,
procedures.id as procedure_id,
procedures.`database` as `database`,
procedures.`procedure` as `procedure`,
sessions.id as session_id,
sessions.user_id as user_id,
sessions.nick as nick,
sessions.ip_id as ip_id,
sessions.ip as ip,
users.nick as user_nick,
-- users.`password` as `password`,
users.`accessible` as `accessible`,
users.deleted as deleted,
users.date_in as date_in,
users.date_created as date_created
from _Users users
join SessionsFullView sessions on users.`session` = sessions.id
join ProceduresFullView procedures on users.`procedure` = procedures.id;^
drop view if exists UsersSelectView;^
create view UsersSelectView as select
users.entity as id,
users.nick as nick
from _Users users
;^
drop view if exists UsersHistoryView;^
create view UsersHistoryView as select
users.id as plain_id,
users.entity as id,
procedures.database_id as database_id,
procedures.id as procedure_id,
procedures.`database` as `database`,
procedures.`procedure` as `procedure`,
sessions.id as session_id,
sessions.user_id as user_id,
sessions.nick as nick,
sessions.ip_id as ip_id,
sessions.ip as ip,
users.nick as user_nick,
-- users.`password` as `password`,
users.`accessible` as `accessible`,
users.deleted as deleted,
users.date_in as date_in
from UsersData users
join SessionsFullView sessions on users.`session` = sessions.id
join ProceduresFullView procedures on users.`procedure` = procedures.id
where
users.date_out is null;^
drop view if exists UsersLoadView;^
create view UsersLoadView as select
users.entity as id,
users.nick as nick,
-- users.`password` as `password`,
users.`accessible` as `accessible`
from _Users users
where
users.deleted is null;^
delimiter ;

@ -0,0 +1,51 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop view if exists UsersListView;^
create view UsersListView as select * from UsersView where deleted is null;^
drop procedure if exists users_list;^
create procedure users_list(
in `$session` text,
in $page integer,
in $items_per_page integer,
in `$where` text,
in $order_by text,
out $items integer,
out $pages integer,
out $results integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'users_list';
declare $parameters text default json_set('{}',
'$.page', $page,
'$.items_per_page', $items_per_page,
'$.where', `$where`,
'$.order_by', $order_by
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare $has_errors boolean;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $has_errors := errors_has($error);
call tables_list(concat(`$database`, '.UsersListView'), $page, $items_per_page, `$where`, $order_by, $has_errors, $pages, $items, $results);
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 1 << 1);
end;^
delimiter ;

@ -0,0 +1,97 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop function if exists users_insert_validate;^
create function users_insert_validate(
$nick varchar(32),
`$password` varchar(256),
`$accessible` boolean
) returns varchar(512) begin
declare $error varchar(512) default '';
set $error := errors_set($error, (case
when $nick is null then 1 << 0
when $nick = '' then 1 << 1
else (
ifnull((select 1 << 2 from _Users where deleted is null && nick = $nick limit 1), 0) |
ifnull((select 1 << 3 from _Groups where deleted is null && name = $nick limit 1), 0) |
0) end), 0, 0);
set $error := errors_set($error, (password_validate(`$password`) >> 2) << 2, 4, 0);
set $error := errors_set($error, (case
when `$accessible` is null then 1 << 0
else 0 end), 11, 0);
return $error;
end;^
drop procedure if exists users_add;^
create procedure users_add(
in `$session` text,
in $nick varchar(32),
in `$password` varchar(256),
in `$accessible` boolean,
out $error varchar(512),
out $id integer
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'users_add';
declare $procedure_id integer;
declare $parameters text default json_set('{}',
'$.nick', $nick,
-- '$.password', `$password`,
'$.accessible', `$accessible`,
'$.entity', 0,
'$.id', 0
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
rollback;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
start transaction;
set $id := 0;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_join($error, users_insert_validate($nick, `$password`, `$accessible`), 30, 0);
if !errors_has($error) then begin
declare $group_id integer;
call procedures_get(`$database`, `$procedure`, $procedure_id);
insert into Users values();
set $id := last_insert_id();
insert into UsersData(`procedure`, `session`, entity, nick, `password`, `accessible`) values
($procedure_id, $session_id, $id, $nick, if(ifnull(`$password`, '') = '', '', sessions_password_hash(`$password`)), `$accessible`);
call users_groups_create($procedure_id, $session_id, $nick, $id);
set $parameters := json_set($parameters,
'$.entity', $id,
'$.id', last_insert_id()
);
end;end if;
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 0);
end;^
delimiter ;

@ -0,0 +1,19 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop function if exists users_validate;^
create function users_validate(
$entity integer,
$undeleted boolean
) returns integer begin
return (case
when $entity is null then 1 << 0
when $entity < 1 then 1 << 1
else ifnull((
select if($undeleted, if(deleted is null, 0, 1 << 3), if(deleted is null, 1 << 3, 0)) from _Users where entity = $entity limit 1
), 1 << 2) end);
end;^
delimiter ;

@ -0,0 +1,41 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists users_load;^
create procedure users_load(
in `$session` text,
in $id integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'users_load';
declare $parameters text default json_set('{}',
'$.id', $id
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare $has_errors boolean;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_set($error, users_validate($id, true), 30, 0);
set $has_errors := errors_has($error);
select * from UsersLoadView where !$has_errors && id = $id limit 1;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 1 << 1);
end;^
delimiter ;

@ -0,0 +1,116 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop function if exists users_edit_validate;^
create function users_edit_validate(
$entity integer,
$nick varchar(32),
`$password` varchar(256),
`$accessible` boolean
) returns varchar(512) begin
declare $error varchar(512) default errors_set('', users_validate($entity, true), 0, 0);
set $error := errors_set($error, (case
when $nick is null then 1 << 0
when $nick = '' then 1 << 1
else 0 end), 4, 0);
set $error := errors_set($error, (password_validate(`$password`) >> 2) << 2, 6, 0);
set $error := errors_set($error, (case
when `$accessible` is null then 1 << 0
else 0 end), 13, 0);
if !errors_has($error) then
set $error := errors_set($error, (
if((select 1 from _Users where entity = $entity && nick != $nick limit 1) is null, 0, (
ifnull((select 1 << 0 from _Users where deleted is null && entity != $entity && nick = $nick limit 1), 0) |
ifnull((select 1 << 1 from _Groups where deleted is null && name = $nick limit 1), 0) |
0)) |
ifnull((
select 1 << 2 from _Users where
entity = $entity &&
nick = $nick &&
`password` = if(ifnull(`$password`, '') = '', '', sessions_password_hash(`$password`)) &&
`accessible` = `$accessible`
limit 1
), 0) |
0), 14, 0);
end if;
return $error;
end;^
drop procedure if exists users_edit;^
create procedure users_edit(
in `$session` text,
in $entity integer,
in $nick varchar(32),
in `$password` varchar(256),
in `$accessible` boolean,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'users_edit';
declare $procedure_id integer;
declare $id integer;
declare $parameters text default json_set('{}',
'$.nick', $nick,
-- '$.password', `$password`,
'$.accessible', `$accessible`,
'$.entity', $entity,
'$.id', 0
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
rollback;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
start transaction;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_join($error, users_edit_validate($entity, $nick, `$password`, `$accessible`), 30, 0);
if !errors_has($error) then begin
declare $group_id integer default users_get_entity_group($entity);
call procedures_get(`$database`, `$procedure`, $procedure_id);
if ifnull(`$password`, '') = '' then
set `$password` := (select `password` from _Users where entity = $entity limit 1);
end if;
insert into UsersData(`procedure`, `session`, entity, nick, `password`, `accessible`) values
($procedure_id, $session_id, $entity, $nick, `$password`, `$accessible`);
set $id := last_insert_id();
if $group_id is not null then
call users_update_group_data($procedure_id, $session_id, $group_id, $nick);
end if;
set $parameters := json_set($parameters,
'$.id', $id
);
end;end if;
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 0);
end;^
delimiter ;

@ -0,0 +1,59 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists users_delete;^
create procedure users_delete(
in `$session` text,
in $entity integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'users_delete';
declare $procedure_id integer;
declare $data_id integer;
declare $parameters text default json_set('{}',
'$.entity', $entity,
'$.id', 0
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
rollback;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
start transaction;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_set($error, users_validate($entity, true), 30, 0);
if !errors_has($error) then begin
call procedures_get(`$database`, `$procedure`, $procedure_id);
set $data_id := (select `data` from _Users where entity = $entity limit 1);
insert into UsersData(`procedure`, `session`, entity, nick, `password`, `accessible`, deleted)
select $procedure_id, $session_id, entity, nick, `password`, `accessible`, now() from UsersData where id = $data_id limit 1;
set $parameters := json_set($parameters,
'$.id', last_insert_id()
);
end;end if;
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 0);
end;^
delimiter ;

@ -0,0 +1,57 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop view if exists UsersDeletedView;^
create view UsersDeletedView as select * from UsersView where deleted is not null;^
drop procedure if exists users_deleted_list;^
create procedure users_deleted_list(
in `$session` text,
in $page integer,
in $items_per_page integer,
in `$where` text,
in $order_by text,
out $items integer,
out $pages integer,
out $results integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'users_deleted_list';
declare $parameters text default json_set('{}',
'$.page', $page,
'$.items_per_page', $items_per_page,
'$.where', `$where`,
'$.order_by', $order_by
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare $has_errors boolean;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
rollback;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
start transaction;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $has_errors := errors_has($error);
call tables_list(concat(`$database`, '.UsersDeletedView'), $page, $items_per_page, `$where`, $order_by, $has_errors, $pages, $items, $results);
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 1 << 1);
end;^
delimiter ;

@ -0,0 +1,67 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists users_undelete;^
create procedure users_undelete(
in `$session` text,
in $entity integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'users_undelete';
declare $procedure_id integer;
declare $data_id integer;
declare $parameters text default json_set('{}',
'$.entity', $entity,
'$.id', 0
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_set($error, users_validate($entity, false), 30, 0);
if !errors_has($error) then begin
declare $nick varchar(32) default (select nick from _Users where entity = $entity limit 1);
declare $group_id varchar(64) default users_get_entity_group($entity);
set $error := errors_set($error, ifnull((select 1 << 0 from _Groups where
deleted is null &&
($group_id is null || entity != $group_id) &&
name = $nick
limit 1), 0), 34, 0);
if !errors_has($error) then begin
call procedures_get(`$database`, `$procedure`, $procedure_id);
set $data_id := (select `data` from _Users where entity = $entity limit 1);
insert into UsersData(`procedure`, `session`, entity, nick, `password`, `accessible`, deleted)
select $procedure_id, $session_id, entity, nick, `password`, `accessible`, null from UsersData where id = $data_id limit 1;
set $parameters := json_set($parameters,
'$.id', last_insert_id()
);
end;end if;
end;end if;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 0);
end;^
delimiter ;

@ -0,0 +1,55 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists users_history;^
create procedure users_history(
in `$session` text,
in $entity integer,
in $page integer,
in $items_per_page integer,
in `$where` text,
in $order_by text,
out $items integer,
out $pages integer,
out $results integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'users_history';
declare $has_errors boolean;
declare $parameters text default json_set('{}',
'$.entity', $entity,
'$.page', $page,
'$.items_per_page', $items_per_page,
'$.where', `$where`,
'$.order_by', $order_by
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_set($error, users_validate($entity, true), 30, 0);
set $has_errors := errors_has($error);
set `$where` := where_set(concat('id=', $entity), `$where`);
call tables_list(concat(`$database`, '.UsersHistoryView'), $page, $items_per_page, `$where`, $order_by, $has_errors, $pages, $items, $results);
select * from UsersView where !$has_errors && id = $entity limit 1;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 1 << 1);
end;^
delimiter ;

@ -0,0 +1,98 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop function if exists users_state_validate;^
create function users_state_validate(
$id integer
) returns integer begin
return (case
when $id is null then 1 << 0
when $id < 1 then 1 << 1
else ifnull((
select ifnull((
select 1 << 2 from _Users where `data` = $id limit 1
), 0) from UsersData where date_out is null && id = $id limit 1
), 1 << 3) end);
end;^
drop procedure if exists users_restore;^
create procedure users_restore(
in `$session` text,
in $id integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'users_restore';
declare $procedure_id integer;
declare $old_id integer;
declare $parameters text default json_set('{}',
'$.old', 0,
'$.new', $id,
'$.id', 0
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
rollback;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
start transaction;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_set($error, users_state_validate($id), 30, 0);
if !errors_has($error) then begin
declare $entity integer;
declare $nick varchar(32);
declare $group_id varchar(64);
select entity, nick into $entity, $nick from UsersData where id = $id limit 1;
set $group_id := users_get_entity_group($entity);
set $error := errors_set($error, ifnull((select 1 << 0 from _Groups where
deleted is null &&
($group_id is null || entity != $group_id) &&
name = $nick
limit 1), 0), 34, 0);
if !errors_has($error) then begin
call procedures_get(`$database`, `$procedure`, $procedure_id);
set $old_id := (select `data` from _Users where entity = (
select entity from UsersData where id = $id limit 1
));
insert into UsersData(`procedure`, `session`, entity, nick, `password`, `accessible`, deleted)
select $procedure_id, $session_id, entity, nick, `password`, `accessible`, deleted from UsersData where id = $id limit 1;
if $group_id is not null then
call users_update_group_data($procedure_id, $session_id, $group_id, $nick);
end if;
set $parameters := json_set($parameters,
'$.old', $old_id,
'$.id', last_insert_id()
);
end;end if;
end;end if;
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 0);
end;^
delimiter ;

@ -0,0 +1,66 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists users_reset_password;^
create procedure users_reset_password(
in `$session` text,
in $entity integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'users_reset_password';
declare $procedure_id integer;
declare $parameters text default json_set('{}',
'$.entity', $entity,
'$.id', 0
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_set($error, users_validate($entity, true), 30, 0);
if !errors_has($error) then begin
set $error := errors_set($error, if(ifnull((
select `password` from _Users where entity = $entity limit 1
), '') = '', 1 << 0, 0), 34, 0);
if !errors_has($error) then begin
declare $nick varchar(32);
declare `$accessible` bool;
declare $deleted datetime;
call procedures_get(`$database`, `$procedure`, $procedure_id);
select nick, `accessible`, deleted
into $nick, `$accessible`, $deleted
from _Users where entity = $entity limit 1;
insert into UsersData(`procedure`, `session`, entity, nick, `password`, `accessible`, deleted) values
($procedure_id, $session_id, $entity, $nick, '', `$accessible`, $deleted);
set $parameters := json_set($parameters, '$.id', last_insert_id());
end;end if;
end;end if;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 0);
end;^
delimiter ;

@ -0,0 +1,109 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists groups_tables_delete;^
create procedure groups_tables_delete(
in `$session` text
) begin
drop table if exists _Groups;
drop table if exists GroupsData;
drop table if exists Groups;
end;^
drop procedure if exists groups_tables_create;^
create procedure groups_tables_create(
in `$session` text
) begin
create table if not exists Groups(
id integer not null auto_increment,
date_in datetime not null default now(),
date_out datetime,
constraint groups_id primary key(id)
);
create table if not exists GroupsData(
id integer not null auto_increment,
`procedure` integer not null,
`session` integer not null,
entity integer not null,
name varchar(64) not null,
`default` boolean not null default false,
is_entity boolean not null default false,
description varchar(512),
deleted datetime,
date_in datetime not null default now(),
date_out datetime,
constraint groups_data_id primary key(id),
constraint groups_data_procedure foreign key(`procedure`) references Procedures(id),
constraint groups_data_session foreign key(`session`) references Sessions(id),
constraint groups_data_entity foreign key(entity) references Groups(id)
);
create table if not exists _Groups(
id integer not null auto_increment,
`procedure` integer not null,
`session` integer not null,
entity integer not null,
`data` integer not null,
name varchar(64) not null,
`default` boolean not null default false,
is_entity boolean not null default false,
description varchar(512),
deleted datetime,
date_in datetime not null,
date_created datetime not null,
constraint _groups_id primary key(id),
constraint _groups_procedure foreign key(`procedure`) references Procedures(id),
constraint _groups_session foreign key(`session`) references Sessions(id),
constraint _groups_entity foreign key(entity) references Groups(id)
);
end;^
drop procedure if exists groups_tables_update;^
create procedure groups_tables_update(
in `$session` text
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'groups_tables_update';
declare $session_id integer default ifnull(sessions_get_id(`$session`), sessions_get_machine());
declare $ip_id integer;
declare $user_agent_id integer;
select ip_id, user_agent_id into $ip_id, $user_agent_id from SessionsFullView where id = $session_id limit 1;
if (select 1 from information_schema.columns where table_schema = `$database` && table_name = 'GroupsData' && column_name = 'name' limit 1) is null then begin
alter table GroupsData add column name varchar(64) not null after entity;
alter table _Groups add column name varchar(64) not null after `data`;
end;end if;
if (select 1 from information_schema.columns where table_schema = `$database` && table_name = 'GroupsData' && column_name = 'default' limit 1) is null then begin
alter table GroupsData add column `default` boolean not null default false after name;
alter table _Groups add column `default` boolean not null default false after name;
end;end if;
if (select 1 from information_schema.columns where table_schema = `$database` && table_name = 'GroupsData' && column_name = 'is_entity' limit 1) is null then begin
alter table GroupsData add column is_entity boolean not null default false after `default`;
alter table _Groups add column is_entity boolean not null default false after `default`;
end;end if;
if (select 1 from information_schema.columns where table_schema = `$database` && table_name = 'GroupsData' && column_name = 'description' limit 1) is null then begin
alter table GroupsData add column description varchar(512) after is_entity;
alter table _Groups add column description varchar(512) after is_entity;
end;end if;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, '', '{}', 2);
end;^
-- call groups_tables_delete(null);^
call groups_tables_create(null);^
call groups_tables_update(null);^
delimiter ;

@ -0,0 +1,109 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists groups_data_update;^
create procedure groups_data_update(
in $entity integer
) begin
if (
(select 1 from Groups where id = $entity && date_out is null limit 1) is null ||
(select 1 from GroupsData where entity = $entity && date_out is null limit 1) is null
) then
delete from _Groups where entity = $entity;
else begin
if (select 1 from _Groups where entity = $entity limit 1) is null then
insert into _Groups(`procedure`, `session`, entity, `data`, name, `default`, is_entity, description, deleted, date_in, date_created)
select `procedure`, `session`, entity, id, name, `default`, is_entity, description, deleted, date_in, (select date_in from Groups where id = $entity) from GroupsData where id = (
select max(id) from GroupsData where entity = $entity && date_out is null
);
else
update _Groups plain
join (select `procedure`, `session`, entity, id, name, `default`, is_entity, description, deleted, date_in, (select date_in from Groups where id = $entity) from GroupsData where id = (
select max(id) from GroupsData where entity = $entity && date_out is null
)) `data` on plain.entity = `data`.entity
set
plain.`procedure` := `data`.`procedure`,
plain.`session` := `data`.`session`,
plain.`data` := `data`.id,
plain.name := `data`.name,
plain.`default` := `data`.`default`,
plain.is_entity := `data`.is_entity,
plain.description := `data`.description,
plain.deleted := `data`.deleted,
plain.date_in := `data`.date_in
where plain.entity = $entity;
end if;
end;end if;
end;^
drop procedure if exists groups_full_update;^
create procedure groups_full_update(
in `$procedure` integer,
in `$session` integer,
in $entity integer,
in `$data` integer,
in $name varchar(64),
in `$default` boolean,
in $is_entity boolean,
in $description varchar(512),
in $deleted datetime,
in $date_in datetime
) begin
if (select 1 from Groups where id = $entity && date_out is null limit 1) is null then
delete from _Groups where entity = $entity;
else begin
if (select 1 from _Groups where entity = $entity limit 1) then
update _Groups set
`procedure` := `$procedure`,
`session` := `$session`,
`data` := `$data`,
name := $name,
`default` := `$default`,
is_entity := $is_entity,
description := $description,
deleted := $deleted,
date_in := $date_in
where entity = $entity;
else
insert into _Groups(`procedure`, `session`, entity, `data`, name, `default`, is_entity, description, deleted, date_in, date_created) values
(`$procedure`, `$session`, $entity, `$data`, $name, `$default`, $is_entity, $description, $deleted, $date_in, (select date_in from Groups where id = $entity limit 1));
end if;
end;end if;
end;^
drop trigger if exists groups_trigger_update_entity;^
create trigger groups_trigger_update_entity after update on Groups for each row begin
call groups_data_update(new.id);
end;^
drop trigger if exists groups_trigger_insert;^
create trigger groups_trigger_insert after insert on GroupsData for each row begin
if new.date_out is null then
call groups_full_update(new.`procedure`, new.`session`, new.entity, new.id, new.name, new.`default`, new.is_entity, new.description, new.deleted, new.date_in);
end if;
end;^
drop trigger if exists groups_trigger_update;^
create trigger groups_trigger_update after update on GroupsData for each row begin
if new.entity != old.entity then
call groups_data_update(old.entity);
end if;
if new.date_out is null then
call groups_full_update(new.`procedure`, new.`session`, new.entity, new.id, new.name, new.`default`, new.is_entity, new.description, new.deleted, new.date_in);
else
call groups_data_update(new.entity);
end if;
end;^
drop trigger if exists groups_trigger_delete;^
create trigger groups_trigger_delete after delete on GroupsData for each row begin
call groups_data_update(old.entity);
end;^
delimiter ;

@ -0,0 +1,90 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop view if exists GroupsDataView;^
create view GroupsDataView as select
`data`.*,
entities.date_in as date_created
from (select * from GroupsData where id in (
select max(id) from GroupsData where date_out is null group by entity
)) `data`
join Groups entities on `data`.entity = entities.id
where entities.date_out is null;^
drop procedure if exists groups_plain_reset;^
create procedure groups_plain_reset(
in `$session` text
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'groups_plain_reset';
declare $session_id integer default ifnull(sessions_get_id(`$session`), sessions_get_machine());
declare $ip_id integer;
declare $user_agent_id integer;
if $session_id is null then
set $session_id := sessions_get_machine();
end if;
select ip_id, user_agent_id into $ip_id, $user_agent_id from SessionsFullView where id = $session_id limit 1;
start transaction;
delete from _Groups where true;
alter table _Groups auto_increment = 1;
insert into _Groups(`procedure`, `session`, entity, `data`, name, `default`, is_entity, description, deleted, date_in, date_created)
select `procedure`, `session`, entity, id, name, `default`, is_entity, description, deleted, date_in, date_created from GroupsDataView;
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, '', '{}', 1 << 1);
end;^
drop procedure if exists groups_plain_update;^
create procedure groups_plain_update(
in `$session` text
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'groups_plain_update';
declare $session_id integer default ifnull(sessions_get_id(`$session`), sessions_get_machine());
declare $ip_id integer;
declare $user_agent_id integer;
if $session_id is null then
set $session_id := sessions_get_machine();
end if;
select ip_id, user_agent_id into $ip_id, $user_agent_id from SessionsFullView where id = $session_id limit 1;
start transaction;
delete from _Groups where entity not in (select entity from GroupsDataView);
update _Groups plain
join GroupsDataView `data` on plain.entity = `data`.entity
set
plain.`procedure` := `data`.`procedure`,
plain.`session` := `data`.`session`,
plain.`data` := `data`.id,
plain.name := `data`.name,
plain.`default` := `data`.`default`,
plain.is_entity := `data`.is_entity,
plain.description := `data`.description,
plain.deleted := `data`.deleted,
plain.date_in := `data`.date_in,
plain.date_created := `data`.date_created;
insert into _Groups(`procedure`, `session`, entity, `data`, name, `default`, is_entity, description, deleted, date_in, date_created)
select `procedure`, `session`, entity, id, name, `default`, is_entity, description, deleted, date_in, date_created from GroupsDataView where entity not in (
select entity from _Groups
);
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, '', '{}', 1 << 1);
end;^
delimiter ;

@ -0,0 +1,74 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop view if exists GroupsView;^
create view GroupsView as select
groups.id as plain_id,
groups.entity as id,
groups.`data` as `data`,
procedures.database_id as database_id,
procedures.id as procedure_id,
procedures.`database` as `database`,
procedures.`procedure` as `procedure`,
sessions.id as session_id,
sessions.user_id as user_id,
sessions.nick as nick,
sessions.ip_id as ip_id,
sessions.ip as ip,
groups.name as name,
groups.`default` as `default`,
groups.is_entity as is_entity,
groups.description as description,
groups.deleted as deleted,
groups.date_in as date_in,
groups.date_created as date_created
from _Groups groups
join SessionsFullView sessions on groups.`session` = sessions.id
join ProceduresFullView procedures on groups.`procedure` = procedures.id;^
drop view if exists GroupsSelectView;^
create view GroupsSelectView as select
groups.entity as id,
groups.name as name
from _Groups groups
;^
drop view if exists GroupsHistoryView;^
create view GroupsHistoryView as select
groups.id as plain_id,
groups.entity as id,
procedures.database_id as database_id,
procedures.id as procedure_id,
procedures.`database` as `database`,
procedures.`procedure` as `procedure`,
sessions.id as session_id,
sessions.user_id as user_id,
sessions.nick as nick,
sessions.ip_id as ip_id,
sessions.ip as ip,
groups.name as name,
groups.`default` as `default`,
groups.is_entity as is_entity,
groups.description as description,
groups.deleted as deleted,
groups.date_in as date_in
from GroupsData groups
join SessionsFullView sessions on groups.`session` = sessions.id
join ProceduresFullView procedures on groups.`procedure` = procedures.id
where
groups.date_out is null;^
drop view if exists GroupsLoadView;^
create view GroupsLoadView as select
groups.entity as id,
groups.name as name,
groups.`default` as `default`,
groups.is_entity as is_entity,
groups.description as description
from _Groups groups
where
groups.deleted is null;^
delimiter ;

@ -0,0 +1,51 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop view if exists GroupsListView;^
create view GroupsListView as select * from GroupsView where deleted is null;^
drop procedure if exists groups_list;^
create procedure groups_list(
in `$session` text,
in $page integer,
in $items_per_page integer,
in `$where` text,
in $order_by text,
out $items integer,
out $pages integer,
out $results integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'groups_list';
declare $parameters text default json_set('{}',
'$.page', $page,
'$.items_per_page', $items_per_page,
'$.where', `$where`,
'$.order_by', $order_by
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare $has_errors boolean;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $has_errors := errors_has($error);
call tables_list(concat(`$database`, '.GroupsListView'), $page, $items_per_page, `$where`, $order_by, $has_errors, $pages, $items, $results);
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 1 << 1);
end;^
delimiter ;

@ -0,0 +1,92 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop function if exists groups_insert_validate;^
create function groups_insert_validate(
$name varchar(64),
`$default` boolean,
$is_entity boolean,
$description varchar(512)
) returns varchar(512) begin
declare $error varchar(512) default '';
set $error := errors_set($error, (case
when $name is null then 1 << 0
else 0 end), 0, 0);
set $error := errors_set($error, (case
when `$default` is null then 1 << 0
else 0 end), 1, 0);
set $error := errors_set($error, (case
when $is_entity is null then 1 << 0
else 0 end), 2, 0);
return $error;
end;^
drop procedure if exists groups_add;^
create procedure groups_add(
in `$session` text,
in $name varchar(64),
in `$default` boolean,
in $is_entity boolean,
in $description varchar(512),
out $error varchar(512),
out $id integer
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'groups_add';
declare $procedure_id integer;
declare $parameters text default json_set('{}',
'$.name', $name,
'$.default', `$default`,
'$.is_entity', $is_entity,
'$.description', $description,
'$.entity', 0,
'$.id', 0
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
rollback;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
start transaction;
set $id := 0;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_join($error, groups_insert_validate($name, `$default`, $is_entity, $description), 30, 0);
if !errors_has($error) then begin
call procedures_get(`$database`, `$procedure`, $procedure_id);
insert into Groups values();
set $id := last_insert_id();
insert into GroupsData(`procedure`, `session`, entity, name, `default`, is_entity, description) values
($procedure_id, $session_id, $id, $name, `$default`, $is_entity, $description);
set $parameters := json_set($parameters,
'$.entity', $id,
'$.id', last_insert_id()
);
end;end if;
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 0);
end;^
delimiter ;

@ -0,0 +1,19 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop function if exists groups_validate;^
create function groups_validate(
$entity integer,
$undeleted boolean
) returns integer begin
return (case
when $entity is null then 1 << 0
when $entity < 1 then 1 << 1
else ifnull((
select if($undeleted, if(deleted is null, 0, 1 << 3), if(deleted is null, 1 << 3, 0)) from _Groups where entity = $entity limit 1
), 1 << 2) end);
end;^
delimiter ;

@ -0,0 +1,41 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists groups_load;^
create procedure groups_load(
in `$session` text,
in $id integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'groups_load';
declare $parameters text default json_set('{}',
'$.id', $id
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare $has_errors boolean;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_set($error, groups_validate($id, true), 30, 0);
set $has_errors := errors_has($error);
select * from GroupsLoadView where !$has_errors && id = $id limit 1;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 1 << 1);
end;^
delimiter ;

@ -0,0 +1,99 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop function if exists groups_edit_validate;^
create function groups_edit_validate(
$entity integer,
$name varchar(64),
`$default` boolean,
$is_entity boolean,
$description varchar(512)
) returns varchar(512) begin
declare $error varchar(512) default errors_set('', groups_validate($entity, true), 0, 0);
set $error := errors_set($error, (case
when $name is null then 1 << 0
else 0 end), 4, 0);
set $error := errors_set($error, (case
when `$default` is null then 1 << 0
else 0 end), 5, 0);
set $error := errors_set($error, (case
when $is_entity is null then 1 << 0
else 0 end), 6, 0);
if !errors_has($error) then
set $error := errors_set($error, (
ifnull((
select 1 << 0 from _Groups where deleted is null && entity = $entity && name = $name && `default` = `$default` && is_entity = $is_entity && description = $description limit 1
), 0) |
0), 7, 0);
end if;
return $error;
end;^
drop procedure if exists groups_edit;^
create procedure groups_edit(
in `$session` text,
in $entity integer,
in $name varchar(64),
in `$default` boolean,
in $is_entity boolean,
in $description varchar(512),
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'groups_edit';
declare $procedure_id integer;
declare $id integer;
declare $parameters text default json_set('{}',
'$.name', $name,
'$.default', `$default`,
'$.is_entity', $is_entity,
'$.description', $description,
'$.entity', $entity,
'$.id', 0
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
rollback;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
start transaction;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_join($error, groups_edit_validate($entity, $name, `$default`, $is_entity, $description), 30, 0);
if !errors_has($error) then begin
call procedures_get(`$database`, `$procedure`, $procedure_id);
insert into GroupsData(`procedure`, `session`, entity, name, `default`, is_entity, description) values
($procedure_id, $session_id, $entity, $name, `$default`, $is_entity, $description);
set $id := last_insert_id();
set $parameters := json_set($parameters,
'$.id', $id
);
end;end if;
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 0);
end;^
delimiter ;

@ -0,0 +1,59 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists groups_delete;^
create procedure groups_delete(
in `$session` text,
in $entity integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'groups_delete';
declare $procedure_id integer;
declare $data_id integer;
declare $parameters text default json_set('{}',
'$.entity', $entity,
'$.id', 0
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
rollback;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
start transaction;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_set($error, groups_validate($entity, true), 30, 0);
if !errors_has($error) then begin
call procedures_get(`$database`, `$procedure`, $procedure_id);
set $data_id := (select `data` from _Groups where entity = $entity limit 1);
insert into GroupsData(`procedure`, `session`, entity, name, `default`, is_entity, description, deleted)
select $procedure_id, $session_id, entity, name, `default`, is_entity, description, now() from GroupsData where id = $data_id limit 1;
set $parameters := json_set($parameters,
'$.id', last_insert_id()
);
end;end if;
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 0);
end;^
delimiter ;

@ -0,0 +1,57 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop view if exists GroupsDeletedView;^
create view GroupsDeletedView as select * from GroupsView where deleted is not null;^
drop procedure if exists groups_deleted_list;^
create procedure groups_deleted_list(
in `$session` text,
in $page integer,
in $items_per_page integer,
in `$where` text,
in $order_by text,
out $items integer,
out $pages integer,
out $results integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'groups_deleted_list';
declare $parameters text default json_set('{}',
'$.page', $page,
'$.items_per_page', $items_per_page,
'$.where', `$where`,
'$.order_by', $order_by
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare $has_errors boolean;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
rollback;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
start transaction;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $has_errors := errors_has($error);
call tables_list(concat(`$database`, '.GroupsDeletedView'), $page, $items_per_page, `$where`, $order_by, $has_errors, $pages, $items, $results);
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 1 << 1);
end;^
delimiter ;

@ -0,0 +1,54 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists groups_undelete;^
create procedure groups_undelete(
in `$session` text,
in $entity integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'groups_undelete';
declare $procedure_id integer;
declare $data_id integer;
declare $parameters text default json_set('{}',
'$.entity', $entity,
'$.id', 0
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_set($error, groups_validate($entity, false), 30, 0);
if !errors_has($error) then begin
call procedures_get(`$database`, `$procedure`, $procedure_id);
set $data_id := (select `data` from _Groups where entity = $entity limit 1);
insert into GroupsData(`procedure`, `session`, entity, name, `default`, is_entity, description, deleted)
select $procedure_id, $session_id, entity, name, `default`, is_entity, description, null from GroupsData where id = $data_id limit 1;
set $parameters := json_set($parameters,
'$.id', last_insert_id()
);
end;end if;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 0);
end;^
delimiter ;

@ -0,0 +1,55 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists groups_history;^
create procedure groups_history(
in `$session` text,
in $entity integer,
in $page integer,
in $items_per_page integer,
in `$where` text,
in $order_by text,
out $items integer,
out $pages integer,
out $results integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'groups_history';
declare $has_errors boolean;
declare $parameters text default json_set('{}',
'$.entity', $entity,
'$.page', $page,
'$.items_per_page', $items_per_page,
'$.where', `$where`,
'$.order_by', $order_by
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_set($error, groups_validate($entity, true), 30, 0);
set $has_errors := errors_has($error);
set `$where` := where_set(concat('id=', $entity), `$where`);
call tables_list(concat(`$database`, '.GroupsHistoryView'), $page, $items_per_page, `$where`, $order_by, $has_errors, $pages, $items, $results);
select * from GroupsView where !$has_errors && id = $entity limit 1;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 1 << 1);
end;^
delimiter ;

@ -0,0 +1,146 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop function if exists groups_state_validate;^
create function groups_state_validate(
$id integer
) returns integer begin
return (case
when $id is null then 1 << 0
when $id < 1 then 1 << 1
when $id in (select `data` from _Groups) then 1 << 2
else ifnull((
select 0 from GroupsData where date_out is null && id = $id limit 1
), 1 << 3) end);
end;^
drop procedure if exists groups_restore;^
create procedure groups_restore(
in `$session` text,
in $id integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'groups_restore';
declare $procedure_id integer;
declare $old_id integer;
declare $parameters text default json_set('{}',
'$.old', 0,
'$.new', $id,
'$.id', 0
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
rollback;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
start transaction;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_set($error, groups_state_validate($id), 30, 0);
if !errors_has($error) then begin
call procedures_get(`$database`, `$procedure`, $procedure_id);
set $old_id := (select `data` from _Groups where entity = (
select entity from GroupsData where id = $id limit 1
));
insert into GroupsData(`procedure`, `session`, entity, name, `default`, is_entity, description, deleted)
select $procedure_id, $session_id, entity, name, `default`, is_entity, description, deleted from GroupsData where id = $id limit 1;
set $parameters := json_set($parameters,
'$.old', $old_id,
'$.id', last_insert_id()
);
end;end if;
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 0);
end;^
drop function if exists groups_state_i18n_validate;^
create function groups_state_i18n_validate(
$id integer
) returns integer begin
return (case
when $id is null then 1 << 0
when $id < 1 then 1 << 1
when $id in (select i18n from _GroupsI18N) then 1 << 2
else ifnull((
select 0 from GroupsI18N where date_out is null && id = $id limit 1
), 1 << 3) end);
end;^
drop procedure if exists groups_i18n_restore;^
create procedure groups_i18n_restore(
in `$session` text,
in $id integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'groups_i18n_restore';
declare $procedure_id integer;
declare $old_id integer;
declare $parameters text default json_set('{}',
'$.old', 0,
'$.new', $id,
'$.id', 0
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
rollback;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
start transaction;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_set($error, groups_state_i18n_validate($id), 30, 0);
if !errors_has($error) then begin
call procedures_get(`$database`, `$procedure`, $procedure_id);
set $old_id := (select i18n from _GroupsI18N where entity = (
select entity from GroupsI18N where id = $id limit 1
));
insert into GroupsI18N(`procedure`, `session`, entity)
select $procedure_id, $session_id, entity from GroupsI18N where id = $id limit 1;
set $parameters := json_set($parameters,
'$.old', $old_id,
'$.id', last_insert_id()
);
end;end if;
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 0);
end;^
delimiter ;

@ -0,0 +1,60 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists emails_tables_delete;^
create procedure emails_tables_delete(
in `$session` text
) begin
drop table if exists Emails;
end;^
drop procedure if exists emails_tables_create;^
create procedure emails_tables_create(
in `$session` text
) begin
create table if not exists Emails(
id integer not null auto_increment,
`procedure` integer not null,
`session` integer not null,
address varchar(256) not null,
deleted datetime,
date_in datetime not null default now(),
date_out datetime,
constraint emails_id primary key(id),
constraint emails_procedure foreign key(`procedure`) references Procedures(id),
constraint emails_session foreign key(`session`) references Sessions(id)
);
end;^
drop procedure if exists emails_tables_update;^
create procedure emails_tables_update(
in `$session` text
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'emails_tables_update';
declare $session_id integer default ifnull(sessions_get_id(`$session`), sessions_get_machine());
declare $ip_id integer;
declare $user_agent_id integer;
select ip_id, user_agent_id into $ip_id, $user_agent_id from SessionsFullView where id = $session_id limit 1;
if (select 1 from information_schema.columns where table_schema = `$database` && table_name = 'Emails' && column_name = 'address' limit 1) is null then begin
alter table Emails add column address varchar(256) not null after id;
end;end if;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, 0, '{}', 1 << 1);
end;^
-- call emails_tables_delete(null);^
call emails_tables_create(null);^
call emails_tables_update(null);^
delimiter ;

@ -0,0 +1,34 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop view if exists EmailsView;^
create view EmailsView as select
emails.id as id,
procedures.database_id as database_id,
procedures.id as procedure_id,
procedures.`database` as `database`,
procedures.`procedure` as `procedure`,
sessions.id as session_id,
sessions.user_id as user_id,
sessions.nick as nick,
sessions.ip_id as ip_id,
sessions.ip as ip,
emails.address as address,
emails.deleted as deleted,
emails.date_in as date_in
from Emails emails
join SessionsFullView sessions on emails.`session` = sessions.id
join ProceduresFullView procedures on emails.`procedure` = procedures.id
where
emails.date_out is null;^
drop view if exists EmailsSelectView;^
create view EmailsSelectView as select
emails.id as id,
emails.address as address
from Emails emails
;^
delimiter ;

@ -0,0 +1,51 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop view if exists EmailsListView;^
create view EmailsListView as select * from EmailsView where deleted is null;^
drop procedure if exists emails_list;^
create procedure emails_list(
in `$session` text,
in $page integer,
in $items_per_page integer,
in `$where` text,
in $order_by text,
out $items integer,
out $pages integer,
out $results integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'emails_list';
declare $parameters text default json_set('{}',
'$.page', $page,
'$.items_per_page', $items_per_page,
'$.where', `$where`,
'$.order_by', $order_by
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare $has_errors boolean;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $has_errors := errors_has($error);
call tables_list(concat(`$database`, '.EmailsListView'), $page, $items_per_page, `$where`, $order_by, $has_errors, $pages, $items, $results);
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 1 << 1);
end;^
delimiter ;

@ -0,0 +1,19 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop function if exists emails_validate;^
create function emails_validate(
$id integer,
$undeleted boolean
) returns integer begin
return (case
when $id is null then 1 << 0
when $id < 1 then 1 << 1
else ifnull((
select if($undeleted, if(deleted is null, 0, 1 << 3), if(deleted is null, 1 << 3, 0)) from Emails where id = $id limit 1
), 1 << 2) end);
end;^
delimiter ;

@ -0,0 +1,95 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists ips_tables_delete;^
create procedure ips_tables_delete(
in `$session` text
) begin
drop table if exists _Ips;
drop table if exists IpsData;
drop table if exists Ips;
end;^
drop procedure if exists ips_tables_create;^
create procedure ips_tables_create(
in `$session` text
) begin
create table if not exists Ips(
id integer not null auto_increment,
date_in datetime not null default now(),
date_out datetime,
constraint ips_id primary key(id)
);
create table if not exists IpsData(
id integer not null auto_increment,
`procedure` integer not null,
`session` integer not null,
entity integer not null,
address varchar(39) not null,
`accessible` boolean not null default true,
deleted datetime,
date_in datetime not null default now(),
date_out datetime,
constraint ips_data_id primary key(id),
constraint ips_data_procedure foreign key(`procedure`) references Procedures(id),
constraint ips_data_session foreign key(`session`) references Sessions(id),
constraint ips_data_entity foreign key(entity) references Ips(id)
);
create table if not exists _Ips(
id integer not null auto_increment,
`procedure` integer not null,
`session` integer not null,
entity integer not null,
`data` integer not null,
address varchar(39) not null,
`accessible` boolean not null default true,
deleted datetime,
date_in datetime not null,
date_created datetime not null,
constraint _ips_id primary key(id),
constraint _ips_procedure foreign key(`procedure`) references Procedures(id),
constraint _ips_session foreign key(`session`) references Sessions(id),
constraint _ips_entity foreign key(entity) references Ips(id)
);
end;^
drop procedure if exists ips_tables_update;^
create procedure ips_tables_update(
in `$session` text
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'ips_tables_update';
declare $session_id integer default ifnull(sessions_get_id(`$session`), sessions_get_machine());
declare $ip_id integer;
declare $user_agent_id integer;
select ip_id, user_agent_id into $ip_id, $user_agent_id from SessionsFullView where id = $session_id limit 1;
if (select 1 from information_schema.columns where table_schema = `$database` && table_name = 'IpsData' && column_name = 'address' limit 1) is null then begin
alter table IpsData add column address varchar(39) not null after entity;
alter table _Ips add column address varchar(39) not null after `data`;
end;end if;
if (select 1 from information_schema.columns where table_schema = `$database` && table_name = 'IpsData' && column_name = 'accessible' limit 1) is null then begin
alter table IpsData add column `accessible` boolean not null default true after address;
alter table _Ips add column `accessible` boolean not null default true after address;
end;end if;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, '', '{}', 2);
end;^
-- call ips_tables_delete(null);^
call ips_tables_create(null);^
call ips_tables_update(null);^
delimiter ;

@ -0,0 +1,103 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists ips_data_update;^
create procedure ips_data_update(
in $entity integer
) begin
if (
(select 1 from Ips where id = $entity && date_out is null limit 1) is null ||
(select 1 from IpsData where entity = $entity && date_out is null limit 1) is null
) then
delete from _Ips where entity = $entity;
else begin
if (select 1 from _Ips where entity = $entity limit 1) is null then
insert into _Ips(`procedure`, `session`, entity, `data`, address, `accessible`, deleted, date_in, date_created)
select `procedure`, `session`, entity, id, address, `accessible`, deleted, date_in, (select date_in from Ips where id = $entity) from IpsData where id = (
select max(id) from IpsData where entity = $entity && date_out is null
);
else
update _Ips plain
join (select `procedure`, `session`, entity, id, address, `accessible`, deleted, date_in, (select date_in from Ips where id = $entity) from IpsData where id = (
select max(id) from IpsData where entity = $entity && date_out is null
)) `data` on plain.entity = `data`.entity
set
plain.`procedure` := `data`.`procedure`,
plain.`session` := `data`.`session`,
plain.`data` := `data`.id,
plain.address := `data`.address,
plain.`accessible` := `data`.`accessible`,
plain.deleted := `data`.deleted,
plain.date_in := `data`.date_in
where plain.entity = $entity;
end if;
end;end if;
end;^
drop procedure if exists ips_full_update;^
create procedure ips_full_update(
in `$procedure` integer,
in `$session` integer,
in $entity integer,
in `$data` integer,
in $address varchar(39),
in `$accessible` boolean,
in $deleted datetime,
in $date_in datetime
) begin
if (select 1 from Ips where id = $entity && date_out is null limit 1) is null then
delete from _Ips where entity = $entity;
else begin
if (select 1 from _Ips where entity = $entity limit 1) then
update _Ips set
`procedure` := `$procedure`,
`session` := `$session`,
`data` := `$data`,
address := $address,
`accessible` := `$accessible`,
deleted := $deleted,
date_in := $date_in
where entity = $entity;
else
insert into _Ips(`procedure`, `session`, entity, `data`, address, `accessible`, deleted, date_in, date_created) values
(`$procedure`, `$session`, $entity, `$data`, $address, `$accessible`, $deleted, $date_in, (select date_in from Ips where id = $entity limit 1));
end if;
end;end if;
end;^
drop trigger if exists ips_trigger_update_entity;^
create trigger ips_trigger_update_entity after update on Ips for each row begin
call ips_data_update(new.id);
end;^
drop trigger if exists ips_trigger_insert;^
create trigger ips_trigger_insert after insert on IpsData for each row begin
if new.date_out is null then
call ips_full_update(new.`procedure`, new.`session`, new.entity, new.id, new.address, new.`accessible`, new.deleted, new.date_in);
end if;
end;^
drop trigger if exists ips_trigger_update;^
create trigger ips_trigger_update after update on IpsData for each row begin
if new.entity != old.entity then
call ips_data_update(old.entity);
end if;
if new.date_out is null then
call ips_full_update(new.`procedure`, new.`session`, new.entity, new.id, new.address, new.`accessible`, new.deleted, new.date_in);
else
call ips_data_update(new.entity);
end if;
end;^
drop trigger if exists ips_trigger_delete;^
create trigger ips_trigger_delete after delete on IpsData for each row begin
call ips_data_update(old.entity);
end;^
delimiter ;

@ -0,0 +1,88 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop view if exists IpsDataView;^
create view IpsDataView as select
`data`.*,
entities.date_in as date_created
from (select * from IpsData where id in (
select max(id) from IpsData where date_out is null group by entity
)) `data`
join Ips entities on `data`.entity = entities.id
where entities.date_out is null;^
drop procedure if exists ips_plain_reset;^
create procedure ips_plain_reset(
in `$session` text
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'ips_plain_reset';
declare $session_id integer default ifnull(sessions_get_id(`$session`), sessions_get_machine());
declare $ip_id integer;
declare $user_agent_id integer;
if $session_id is null then
set $session_id := sessions_get_machine();
end if;
select ip_id, user_agent_id into $ip_id, $user_agent_id from SessionsFullView where id = $session_id limit 1;
start transaction;
delete from _Ips where true;
alter table _Ips auto_increment = 1;
insert into _Ips(`procedure`, `session`, entity, `data`, address, `accessible`, deleted, date_in, date_created)
select `procedure`, `session`, entity, id, address, `accessible`, deleted, date_in, date_created from IpsDataView;
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, '', '{}', 1 << 1);
end;^
drop procedure if exists ips_plain_update;^
create procedure ips_plain_update(
in `$session` text
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'ips_plain_update';
declare $session_id integer default ifnull(sessions_get_id(`$session`), sessions_get_machine());
declare $ip_id integer;
declare $user_agent_id integer;
if $session_id is null then
set $session_id := sessions_get_machine();
end if;
select ip_id, user_agent_id into $ip_id, $user_agent_id from SessionsFullView where id = $session_id limit 1;
start transaction;
delete from _Ips where entity not in (select entity from IpsDataView);
update _Ips plain
join IpsDataView `data` on plain.entity = `data`.entity
set
plain.`procedure` := `data`.`procedure`,
plain.`session` := `data`.`session`,
plain.`data` := `data`.id,
plain.address := `data`.address,
plain.`accessible` := `data`.`accessible`,
plain.deleted := `data`.deleted,
plain.date_in := `data`.date_in,
plain.date_created := `data`.date_created;
insert into _Ips(`procedure`, `session`, entity, `data`, address, `accessible`, deleted, date_in, date_created)
select `procedure`, `session`, entity, id, address, `accessible`, deleted, date_in, date_created from IpsDataView where entity not in (
select entity from _Ips
);
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, '', '{}', 1 << 1);
end;^
delimiter ;

@ -0,0 +1,58 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop view if exists IpsView;^
create view IpsView as select
ips.id as plain_id,
ips.entity as id,
ips.`data` as `data`,
procedures.database_id as database_id,
procedures.id as procedure_id,
procedures.`database` as `database`,
procedures.`procedure` as `procedure`,
sessions.id as session_id,
sessions.user_id as user_id,
sessions.nick as nick,
sessions.ip_id as ip_id,
sessions.ip as ip,
ips.address as address,
ips.`accessible` as `accessible`,
ips.deleted as deleted,
ips.date_in as date_in,
ips.date_created as date_created
from _Ips ips
join SessionsFullView sessions on ips.`session` = sessions.id
join ProceduresFullView procedures on ips.`procedure` = procedures.id;^
drop view if exists IpsHistoryView;^
create view IpsHistoryView as select
ips.id as plain_id,
ips.entity as id,
procedures.database_id as database_id,
procedures.id as procedure_id,
procedures.`database` as `database`,
procedures.`procedure` as `procedure`,
sessions.id as session_id,
sessions.user_id as user_id,
sessions.nick as nick,
sessions.ip_id as ip_id,
sessions.ip as ip,
ips.address as address,
ips.`accessible` as `accessible`,
ips.deleted as deleted,
ips.date_in as date_in
from IpsData ips
join SessionsFullView sessions on ips.`session` = sessions.id
join ProceduresFullView procedures on ips.`procedure` = procedures.id
where
ips.date_out is null;^
drop view if exists IpsSelectView;^
create view IpsSelectView as select
ips.entity as id,
ips.address as address
from _Ips ips where deleted is null;^
delimiter ;

@ -0,0 +1,51 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop view if exists IpsListView;^
create view IpsListView as select * from IpsView where deleted is null;^
drop procedure if exists ips_list;^
create procedure ips_list(
in `$session` text,
in $page integer,
in $items_per_page integer,
in `$where` text,
in $order_by text,
out $items integer,
out $pages integer,
out $results integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'ips_list';
declare $parameters text default json_set('{}',
'$.page', $page,
'$.items_per_page', $items_per_page,
'$.where', `$where`,
'$.order_by', $order_by
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare $has_errors boolean;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $has_errors := errors_has($error);
call tables_list(concat(`$database`, '.IpsListView'), $page, $items_per_page, `$where`, $order_by, $has_errors, $pages, $items, $results);
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 1 << 1);
end;^
delimiter ;

@ -0,0 +1,19 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop function if exists ips_validate;^
create function ips_validate(
$entity integer,
$undeleted boolean
) returns integer begin
return (case
when $entity is null then 1 << 0
when $entity < 1 then 1 << 1
else ifnull((
select if($undeleted, if(deleted is null, 0, 1 << 3), if(deleted is null, 1 << 3, 0)) from _Ips where entity = $entity limit 1
), 1 << 2) end);
end;^
delimiter ;

@ -0,0 +1,55 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists ips_history;^
create procedure ips_history(
in `$session` text,
in $entity integer,
in $page integer,
in $items_per_page integer,
in `$where` text,
in $order_by text,
out $items integer,
out $pages integer,
out $results integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'ips_history';
declare $has_errors boolean;
declare $parameters text default json_set('{}',
'$.entity', $entity,
'$.page', $page,
'$.items_per_page', $items_per_page,
'$.where', `$where`,
'$.order_by', $order_by
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_set($error, ips_validate($entity, true), 30, 0);
set $has_errors := errors_has($error);
set `$where` := where_set(concat('id=', $entity), `$where`);
call tables_list(concat(`$database`, '.IpsHistoryView'), $page, $items_per_page, `$where`, $order_by, $has_errors, $pages, $items, $results);
select * from IpsView where !$has_errors && id = $entity limit 1;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 1 << 1);
end;^
delimiter ;

@ -0,0 +1,76 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop function if exists ips_state_validate;^
create function ips_state_validate(
$id integer
) returns integer begin
return (case
when $id is null then 1 << 0
when $id < 1 then 1 << 1
when $id in (select `data` from _Ips) then 1 << 2
else ifnull((
select 0 from IpsData where date_out is null && id = $id limit 1
), 1 << 3) end);
end;^
drop procedure if exists ips_restore;^
create procedure ips_restore(
in `$session` text,
in $id integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'ips_restore';
declare $procedure_id integer;
declare $old_id integer;
declare $parameters text default json_set('{}',
'$.old', 0,
'$.new', $id,
'$.id', 0
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
rollback;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
start transaction;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_set($error, ips_state_validate($id), 30, 0);
if !errors_has($error) then begin
call procedures_get(`$database`, `$procedure`, $procedure_id);
set $old_id := (select `data` from _Ips where entity = (
select entity from IpsData where id = $id limit 1
));
insert into IpsData(`procedure`, `session`, entity, `address`, `accessible`, deleted)
select $procedure_id, $session_id, entity, `address`, `accessible`, deleted from IpsData where id = $id limit 1;
set $parameters := json_set($parameters,
'$.old', $old_id,
'$.id', last_insert_id()
);
end;end if;
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 0);
end;^
delimiter ;

@ -0,0 +1,61 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists ips_set_accessible;^
create procedure ips_set_accessible(
in `$session` text,
in $entity integer,
in `$accessible` boolean,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'ips_set_accessible';
declare $parameters text default json_set('{}',
'$.entity', $entity,
'$.accessible', `$accessible`,
'$.id', 0
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
call sessions_validate_full(`$session`, 'administrator', $error, $session_id, $ip_id, $user_agent_id);
set $error := errors_set($error, (
(ips_validate($entity, true) << 0) |
((case
when `$accessible` is null then 1 << 0
else ifnull((
select if(`accessible` = `$accessible`, 1 << 1, 0) from _Ips where entity = $entity limit 1
), 0) end) << 4) |
0), 30, 0);
if !errors_has($error) then begin
declare $procedure_id integer;
declare $data_id integer default (select `data` from _Ips where entity = $entity limit 1);
call procedures_get(`$database`, `$procedure`, $procedure_id);
insert into IpsData(`procedure`, `session`, entity, `address`, `accessible`, deleted)
select $procedure_id, $session_id, $entity, `address`, `$accessible`, deleted from IpsData where id = $data_id limit 1;
set $parameters := json_set($parameters, '$.id', last_insert_id());
end;end if;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 0);
end;^
delimiter ;

@ -0,0 +1,95 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists permissions_tables_delete;^
create procedure permissions_tables_delete(
in `$session` text
) begin
drop table if exists _Permissions;
drop table if exists PermissionsData;
drop table if exists Permissions;
end;^
drop procedure if exists permissions_tables_create;^
create procedure permissions_tables_create(
in `$session` text
) begin
create table if not exists Permissions(
id integer not null auto_increment,
date_in datetime not null default now(),
date_out datetime,
constraint permissions_id primary key(id)
);
create table if not exists PermissionsData(
id integer not null auto_increment,
`procedure` integer not null,
`session` integer not null,
entity integer not null,
name varchar(64) not null,
description varchar(512),
deleted datetime,
date_in datetime not null default now(),
date_out datetime,
constraint permissions_data_id primary key(id),
constraint permissions_data_procedure foreign key(`procedure`) references Procedures(id),
constraint permissions_data_session foreign key(`session`) references Sessions(id),
constraint permissions_data_entity foreign key(entity) references Permissions(id)
);
create table if not exists _Permissions(
id integer not null auto_increment,
`procedure` integer not null,
`session` integer not null,
entity integer not null,
`data` integer not null,
name varchar(64) not null,
description varchar(512),
deleted datetime,
date_in datetime not null,
date_created datetime not null,
constraint _permissions_id primary key(id),
constraint _permissions_procedure foreign key(`procedure`) references Procedures(id),
constraint _permissions_session foreign key(`session`) references Sessions(id),
constraint _permissions_entity foreign key(entity) references Permissions(id)
);
end;^
drop procedure if exists permissions_tables_update;^
create procedure permissions_tables_update(
in `$session` text
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'permissions_tables_update';
declare $session_id integer default ifnull(sessions_get_id(`$session`), sessions_get_machine());
declare $ip_id integer;
declare $user_agent_id integer;
select ip_id, user_agent_id into $ip_id, $user_agent_id from SessionsFullView where id = $session_id limit 1;
if (select 1 from information_schema.columns where table_schema = `$database` && table_name = 'PermissionsData' && column_name = 'name' limit 1) is null then begin
alter table PermissionsData add column name varchar(64) not null after entity;
alter table _Permissions add column name varchar(64) not null after `data`;
end;end if;
if (select 1 from information_schema.columns where table_schema = `$database` && table_name = 'PermissionsData' && column_name = 'description' limit 1) is null then begin
alter table PermissionsData add column description varchar(512) after name;
alter table _Permissions add column description varchar(512) after name;
end;end if;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, '', '{}', 2);
end;^
-- call permissions_tables_delete(null);^
call permissions_tables_create(null);^
call permissions_tables_update(null);^
delimiter ;

@ -0,0 +1,103 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop procedure if exists permissions_data_update;^
create procedure permissions_data_update(
in $entity integer
) begin
if (
(select 1 from Permissions where id = $entity && date_out is null limit 1) is null ||
(select 1 from PermissionsData where entity = $entity && date_out is null limit 1) is null
) then
delete from _Permissions where entity = $entity;
else begin
if (select 1 from _Permissions where entity = $entity limit 1) is null then
insert into _Permissions(`procedure`, `session`, entity, `data`, name, description, deleted, date_in, date_created)
select `procedure`, `session`, entity, id, name, description, deleted, date_in, (select date_in from Permissions where id = $entity) from PermissionsData where id = (
select max(id) from PermissionsData where entity = $entity && date_out is null
);
else
update _Permissions plain
join (select `procedure`, `session`, entity, id, name, description, deleted, date_in, (select date_in from Permissions where id = $entity) from PermissionsData where id = (
select max(id) from PermissionsData where entity = $entity && date_out is null
)) `data` on plain.entity = `data`.entity
set
plain.`procedure` := `data`.`procedure`,
plain.`session` := `data`.`session`,
plain.`data` := `data`.id,
plain.name := `data`.name,
plain.description := `data`.description,
plain.deleted := `data`.deleted,
plain.date_in := `data`.date_in
where plain.entity = $entity;
end if;
end;end if;
end;^
drop procedure if exists permissions_full_update;^
create procedure permissions_full_update(
in `$procedure` integer,
in `$session` integer,
in $entity integer,
in `$data` integer,
in $name varchar(64),
in $description varchar(512),
in $deleted datetime,
in $date_in datetime
) begin
if (select 1 from Permissions where id = $entity && date_out is null limit 1) is null then
delete from _Permissions where entity = $entity;
else begin
if (select 1 from _Permissions where entity = $entity limit 1) then
update _Permissions set
`procedure` := `$procedure`,
`session` := `$session`,
`data` := `$data`,
name := $name,
description := $description,
deleted := $deleted,
date_in := $date_in
where entity = $entity;
else
insert into _Permissions(`procedure`, `session`, entity, `data`, name, description, deleted, date_in, date_created) values
(`$procedure`, `$session`, $entity, `$data`, $name, $description, $deleted, $date_in, (select date_in from Permissions where id = $entity limit 1));
end if;
end;end if;
end;^
drop trigger if exists permissions_trigger_update_entity;^
create trigger permissions_trigger_update_entity after update on Permissions for each row begin
call permissions_data_update(new.id);
end;^
drop trigger if exists permissions_trigger_insert;^
create trigger permissions_trigger_insert after insert on PermissionsData for each row begin
if new.date_out is null then
call permissions_full_update(new.`procedure`, new.`session`, new.entity, new.id, new.name, new.description, new.deleted, new.date_in);
end if;
end;^
drop trigger if exists permissions_trigger_update;^
create trigger permissions_trigger_update after update on PermissionsData for each row begin
if new.entity != old.entity then
call permissions_data_update(old.entity);
end if;
if new.date_out is null then
call permissions_full_update(new.`procedure`, new.`session`, new.entity, new.id, new.name, new.description, new.deleted, new.date_in);
else
call permissions_data_update(new.entity);
end if;
end;^
drop trigger if exists permissions_trigger_delete;^
create trigger permissions_trigger_delete after delete on PermissionsData for each row begin
call permissions_data_update(old.entity);
end;^
delimiter ;

@ -0,0 +1,88 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop view if exists PermissionsDataView;^
create view PermissionsDataView as select
`data`.*,
entities.date_in as date_created
from (select * from PermissionsData where id in (
select max(id) from PermissionsData where date_out is null group by entity
)) `data`
join Permissions entities on `data`.entity = entities.id
where entities.date_out is null;^
drop procedure if exists permissions_plain_reset;^
create procedure permissions_plain_reset(
in `$session` text
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'permissions_plain_reset';
declare $session_id integer default ifnull(sessions_get_id(`$session`), sessions_get_machine());
declare $ip_id integer;
declare $user_agent_id integer;
if $session_id is null then
set $session_id := sessions_get_machine();
end if;
select ip_id, user_agent_id into $ip_id, $user_agent_id from SessionsFullView where id = $session_id limit 1;
start transaction;
delete from _Permissions where true;
alter table _Permissions auto_increment = 1;
insert into _Permissions(`procedure`, `session`, entity, `data`, name, description, deleted, date_in, date_created)
select `procedure`, `session`, entity, id, name, description, deleted, date_in, date_created from PermissionsDataView;
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, '', '{}', 1 << 1);
end;^
drop procedure if exists permissions_plain_update;^
create procedure permissions_plain_update(
in `$session` text
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'permissions_plain_update';
declare $session_id integer default ifnull(sessions_get_id(`$session`), sessions_get_machine());
declare $ip_id integer;
declare $user_agent_id integer;
if $session_id is null then
set $session_id := sessions_get_machine();
end if;
select ip_id, user_agent_id into $ip_id, $user_agent_id from SessionsFullView where id = $session_id limit 1;
start transaction;
delete from _Permissions where entity not in (select entity from PermissionsDataView);
update _Permissions plain
join PermissionsDataView `data` on plain.entity = `data`.entity
set
plain.`procedure` := `data`.`procedure`,
plain.`session` := `data`.`session`,
plain.`data` := `data`.id,
plain.name := `data`.name,
plain.description := `data`.description,
plain.deleted := `data`.deleted,
plain.date_in := `data`.date_in,
plain.date_created := `data`.date_created;
insert into _Permissions(`procedure`, `session`, entity, `data`, name, description, deleted, date_in, date_created)
select `procedure`, `session`, entity, id, name, description, deleted, date_in, date_created from PermissionsDataView where entity not in (
select entity from _Permissions
);
commit;
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, '', '{}', 1 << 1);
end;^
delimiter ;

@ -0,0 +1,68 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop view if exists PermissionsView;^
create view PermissionsView as select
permissions.id as plain_id,
permissions.entity as id,
permissions.`data` as `data`,
procedures.database_id as database_id,
procedures.id as procedure_id,
procedures.`database` as `database`,
procedures.`procedure` as `procedure`,
sessions.id as session_id,
sessions.user_id as user_id,
sessions.nick as nick,
sessions.ip_id as ip_id,
sessions.ip as ip,
permissions.name as name,
permissions.description as description,
permissions.deleted as deleted,
permissions.date_in as date_in,
permissions.date_created as date_created
from _Permissions permissions
join SessionsFullView sessions on permissions.`session` = sessions.id
join ProceduresFullView procedures on permissions.`procedure` = procedures.id;^
drop view if exists PermissionsSelectView;^
create view PermissionsSelectView as select
permissions.entity as id,
permissions.name as name
from _Permissions permissions
;^
drop view if exists PermissionsHistoryView;^
create view PermissionsHistoryView as select
permissions.id as plain_id,
permissions.entity as id,
procedures.database_id as database_id,
procedures.id as procedure_id,
procedures.`database` as `database`,
procedures.`procedure` as `procedure`,
sessions.id as session_id,
sessions.user_id as user_id,
sessions.nick as nick,
sessions.ip_id as ip_id,
sessions.ip as ip,
permissions.name as name,
permissions.description as description,
permissions.deleted as deleted,
permissions.date_in as date_in
from PermissionsData permissions
join SessionsFullView sessions on permissions.`session` = sessions.id
join ProceduresFullView procedures on permissions.`procedure` = procedures.id
where
permissions.date_out is null;^
drop view if exists PermissionsLoadView;^
create view PermissionsLoadView as select
permissions.entity as id,
permissions.name as name,
permissions.description as description
from _Permissions permissions
where
permissions.deleted is null;^
delimiter ;

@ -0,0 +1,51 @@
create database if not exists AnP character set utf8mb4 collate utf8mb4_general_ci;
use AnP;
delimiter ;^
drop view if exists PermissionsListView;^
create view PermissionsListView as select * from PermissionsView where deleted is null;^
drop procedure if exists permissions_list;^
create procedure permissions_list(
in `$session` text,
in $page integer,
in $items_per_page integer,
in `$where` text,
in $order_by text,
out $items integer,
out $pages integer,
out $results integer,
out $error varchar(512)
) begin
declare `$database` varchar(64) default settings_get('database_anp2', false);
declare `$procedure` varchar(64) default 'permissions_list';
declare $parameters text default json_set('{}',
'$.page', $page,
'$.items_per_page', $items_per_page,
'$.where', `$where`,
'$.order_by', $order_by
);
declare $session_id integer;
declare $ip_id integer;
declare $user_agent_id integer;
declare $has_errors boolean;
declare exit handler for sqlexception begin
get diagnostics condition 1
@_status = returned_sqlstate,
@_code = mysql_errno,
@message = message_text;
set $error := errors_set($error, 1 << 0, 0, 0);
call exceptions_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, @message, @_status, @_code);
end;
call sessions_validate_full(`$session`, '["administrator"]', $error, $session_id, $ip_id, $user_agent_id);
set $has_errors := errors_has($error);
call tables_list(concat(`$database`, '.PermissionsListView'), $page, $items_per_page, `$where`, $order_by, $has_errors, $pages, $items, $results);
call logs_set($session_id, `$database`, `$procedure`, $ip_id, $user_agent_id, $error, $parameters, 1 << 1);
end;^
delimiter ;

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save