flask-appbuilder 3.2.1rc1__py3-none-any.whl → 5.0.2rc1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. flask_appbuilder/__init__.py +2 -3
  2. flask_appbuilder/_compat.py +0 -1
  3. flask_appbuilder/actions.py +14 -14
  4. flask_appbuilder/api/__init__.py +741 -527
  5. flask_appbuilder/api/convert.py +104 -98
  6. flask_appbuilder/api/manager.py +14 -8
  7. flask_appbuilder/api/schemas.py +12 -1
  8. flask_appbuilder/babel/manager.py +12 -16
  9. flask_appbuilder/base.py +353 -280
  10. flask_appbuilder/basemanager.py +1 -1
  11. flask_appbuilder/baseviews.py +241 -164
  12. flask_appbuilder/charts/jsontools.py +10 -10
  13. flask_appbuilder/charts/views.py +56 -60
  14. flask_appbuilder/cli.py +115 -70
  15. flask_appbuilder/const.py +52 -52
  16. flask_appbuilder/exceptions.py +67 -5
  17. flask_appbuilder/fields.py +32 -23
  18. flask_appbuilder/fieldwidgets.py +34 -27
  19. flask_appbuilder/filemanager.py +33 -45
  20. flask_appbuilder/filters.py +11 -13
  21. flask_appbuilder/forms.py +31 -35
  22. flask_appbuilder/hooks.py +90 -0
  23. flask_appbuilder/menu.py +35 -10
  24. flask_appbuilder/models/base.py +47 -57
  25. flask_appbuilder/models/decorators.py +13 -13
  26. flask_appbuilder/models/filters.py +42 -38
  27. flask_appbuilder/models/generic/__init__.py +29 -29
  28. flask_appbuilder/models/generic/filters.py +11 -3
  29. flask_appbuilder/models/generic/interface.py +1 -3
  30. flask_appbuilder/models/group.py +37 -39
  31. flask_appbuilder/models/mixins.py +22 -18
  32. flask_appbuilder/models/sqla/__init__.py +19 -72
  33. flask_appbuilder/models/sqla/base.py +24 -0
  34. flask_appbuilder/models/sqla/base_legacy.py +132 -0
  35. flask_appbuilder/models/sqla/filters.py +132 -19
  36. flask_appbuilder/models/sqla/interface.py +390 -276
  37. flask_appbuilder/security/api.py +31 -35
  38. flask_appbuilder/security/decorators.py +181 -83
  39. flask_appbuilder/security/forms.py +20 -31
  40. flask_appbuilder/security/manager.py +715 -489
  41. flask_appbuilder/security/registerviews.py +29 -112
  42. flask_appbuilder/security/schemas.py +43 -0
  43. flask_appbuilder/security/sqla/apis/__init__.py +8 -0
  44. flask_appbuilder/security/sqla/apis/group/__init__.py +1 -0
  45. flask_appbuilder/security/sqla/apis/group/api.py +227 -0
  46. flask_appbuilder/security/sqla/apis/group/schema.py +73 -0
  47. flask_appbuilder/security/sqla/apis/permission/__init__.py +1 -0
  48. flask_appbuilder/security/sqla/apis/permission/api.py +19 -0
  49. flask_appbuilder/security/sqla/apis/permission_view_menu/__init__.py +1 -0
  50. flask_appbuilder/security/sqla/apis/permission_view_menu/api.py +16 -0
  51. flask_appbuilder/security/sqla/apis/role/__init__.py +1 -0
  52. flask_appbuilder/security/sqla/apis/role/api.py +306 -0
  53. flask_appbuilder/security/sqla/apis/role/schema.py +27 -0
  54. flask_appbuilder/security/sqla/apis/user/__init__.py +1 -0
  55. flask_appbuilder/security/sqla/apis/user/api.py +292 -0
  56. flask_appbuilder/security/sqla/apis/user/schema.py +97 -0
  57. flask_appbuilder/security/sqla/apis/user/validator.py +27 -0
  58. flask_appbuilder/security/sqla/apis/view_menu/__init__.py +1 -0
  59. flask_appbuilder/security/sqla/apis/view_menu/api.py +18 -0
  60. flask_appbuilder/security/sqla/manager.py +421 -203
  61. flask_appbuilder/security/sqla/models.py +192 -57
  62. flask_appbuilder/security/utils.py +9 -0
  63. flask_appbuilder/security/views.py +232 -229
  64. flask_appbuilder/static/.DS_Store +0 -0
  65. flask_appbuilder/static/appbuilder/css/ab.css +20 -12
  66. flask_appbuilder/static/appbuilder/css/bootstrap-datepicker/bootstrap-datepicker3.min.css +7 -0
  67. flask_appbuilder/static/appbuilder/css/bootstrap.min.css.map +1 -0
  68. flask_appbuilder/static/appbuilder/css/flags/flags16.css +249 -245
  69. flask_appbuilder/static/appbuilder/css/fontawesome/all.min.css +6 -0
  70. flask_appbuilder/static/appbuilder/css/fontawesome/brands.min.css +6 -0
  71. flask_appbuilder/static/appbuilder/css/fontawesome/fontawesome.min.css +6 -0
  72. flask_appbuilder/static/appbuilder/css/fontawesome/regular.min.css +6 -0
  73. flask_appbuilder/static/appbuilder/css/fontawesome/solid.min.css +6 -0
  74. flask_appbuilder/static/appbuilder/css/fontawesome/svg-with-js.min.css +6 -0
  75. flask_appbuilder/static/appbuilder/css/fontawesome/v4-font-face.min.css +6 -0
  76. flask_appbuilder/static/appbuilder/css/fontawesome/v4-shims.min.css +6 -0
  77. flask_appbuilder/static/appbuilder/css/fontawesome/v5-font-face.min.css +6 -0
  78. flask_appbuilder/static/appbuilder/css/images/flags16.png +0 -0
  79. flask_appbuilder/static/appbuilder/css/select2/select2-bootstrap.min.css +7 -0
  80. flask_appbuilder/static/appbuilder/css/select2/select2.min.css +1 -0
  81. flask_appbuilder/static/appbuilder/css/swagger/swagger-ui.css +3 -0
  82. flask_appbuilder/static/appbuilder/css/webfonts/fa-brands-400.ttf +0 -0
  83. flask_appbuilder/static/appbuilder/css/webfonts/fa-brands-400.woff2 +0 -0
  84. flask_appbuilder/static/appbuilder/css/webfonts/fa-regular-400.ttf +0 -0
  85. flask_appbuilder/static/appbuilder/css/webfonts/fa-regular-400.woff2 +0 -0
  86. flask_appbuilder/static/appbuilder/css/webfonts/fa-solid-900.ttf +0 -0
  87. flask_appbuilder/static/appbuilder/css/webfonts/fa-solid-900.woff2 +0 -0
  88. flask_appbuilder/static/appbuilder/css/webfonts/fa-v4compatibility.ttf +0 -0
  89. flask_appbuilder/static/appbuilder/css/webfonts/fa-v4compatibility.woff2 +0 -0
  90. flask_appbuilder/static/appbuilder/js/ab.js +33 -23
  91. flask_appbuilder/static/appbuilder/js/ab_filters.js +91 -84
  92. flask_appbuilder/static/appbuilder/js/bootstrap-datepicker/bootstrap-datepicker.min.js +8 -0
  93. flask_appbuilder/static/appbuilder/js/jquery-latest.js +2 -2
  94. flask_appbuilder/static/appbuilder/js/select2/select2.min.js +2 -0
  95. flask_appbuilder/static/appbuilder/js/swagger-ui-bundle.js +3 -0
  96. flask_appbuilder/templates/appbuilder/baselib.html +9 -3
  97. flask_appbuilder/templates/appbuilder/general/lib.html +60 -34
  98. flask_appbuilder/templates/appbuilder/general/model/edit.html +1 -1
  99. flask_appbuilder/templates/appbuilder/general/model/edit_cascade.html +1 -1
  100. flask_appbuilder/templates/appbuilder/general/model/search.html +3 -2
  101. flask_appbuilder/templates/appbuilder/general/model/show.html +1 -1
  102. flask_appbuilder/templates/appbuilder/general/model/show_cascade.html +1 -1
  103. flask_appbuilder/templates/appbuilder/general/security/login_db.html +7 -7
  104. flask_appbuilder/templates/appbuilder/general/security/login_ldap.html +5 -5
  105. flask_appbuilder/templates/appbuilder/general/security/login_oauth.html +24 -49
  106. flask_appbuilder/templates/appbuilder/general/widgets/base_list.html +2 -1
  107. flask_appbuilder/templates/appbuilder/general/widgets/chart.html +4 -2
  108. flask_appbuilder/templates/appbuilder/general/widgets/direct_chart.html +4 -3
  109. flask_appbuilder/templates/appbuilder/general/widgets/multiple_chart.html +3 -2
  110. flask_appbuilder/templates/appbuilder/general/widgets/search.html +11 -10
  111. flask_appbuilder/templates/appbuilder/init.html +37 -43
  112. flask_appbuilder/templates/appbuilder/navbar_menu.html +1 -1
  113. flask_appbuilder/templates/appbuilder/navbar_right.html +2 -2
  114. flask_appbuilder/templates/appbuilder/swagger/swagger.html +22 -19
  115. flask_appbuilder/translations/de/LC_MESSAGES/messages.mo +0 -0
  116. flask_appbuilder/translations/de/LC_MESSAGES/messages.po +305 -161
  117. flask_appbuilder/translations/fa/LC_MESSAGES/messages.mo +0 -0
  118. flask_appbuilder/translations/fa/LC_MESSAGES/messages.po +802 -0
  119. flask_appbuilder/translations/fr/LC_MESSAGES/messages.po +461 -319
  120. flask_appbuilder/translations/pt_BR/LC_MESSAGES/messages.po +650 -650
  121. flask_appbuilder/translations/ru/LC_MESSAGES/messages.po +1 -1
  122. flask_appbuilder/translations/sl/LC_MESSAGES/messages.mo +0 -0
  123. flask_appbuilder/translations/sl/LC_MESSAGES/messages.po +690 -0
  124. flask_appbuilder/translations/tr/LC_MESSAGES/messages.mo +0 -0
  125. flask_appbuilder/translations/tr/LC_MESSAGES/messages.po +1015 -0
  126. flask_appbuilder/upload.py +20 -22
  127. flask_appbuilder/urltools.py +39 -19
  128. flask_appbuilder/utils/base.py +76 -0
  129. flask_appbuilder/utils/legacy.py +33 -0
  130. flask_appbuilder/utils/limit.py +20 -0
  131. flask_appbuilder/validators.py +73 -14
  132. flask_appbuilder/views.py +75 -424
  133. flask_appbuilder/widgets.py +50 -51
  134. {Flask_AppBuilder-3.2.1rc1.dist-info → flask_appbuilder-5.0.2rc1.dist-info}/METADATA +36 -76
  135. flask_appbuilder-5.0.2rc1.dist-info/RECORD +240 -0
  136. {Flask_AppBuilder-3.2.1rc1.dist-info → flask_appbuilder-5.0.2rc1.dist-info}/WHEEL +1 -1
  137. flask_appbuilder-5.0.2rc1.dist-info/entry_points.txt +2 -0
  138. Flask_AppBuilder-3.2.1rc1.dist-info/RECORD +0 -270
  139. Flask_AppBuilder-3.2.1rc1.dist-info/entry_points.txt +0 -6
  140. flask_appbuilder/console.py +0 -426
  141. flask_appbuilder/models/mongoengine/__init__.py +0 -0
  142. flask_appbuilder/models/mongoengine/fields.py +0 -65
  143. flask_appbuilder/models/mongoengine/filters.py +0 -145
  144. flask_appbuilder/models/mongoengine/interface.py +0 -328
  145. flask_appbuilder/security/mongoengine/__init__.py +0 -0
  146. flask_appbuilder/security/mongoengine/manager.py +0 -402
  147. flask_appbuilder/security/mongoengine/models.py +0 -120
  148. flask_appbuilder/static/appbuilder/css/font-awesome.min.css +0 -4
  149. flask_appbuilder/static/appbuilder/datepicker/bootstrap-datepicker.css +0 -9
  150. flask_appbuilder/static/appbuilder/datepicker/bootstrap-datepicker.js +0 -28
  151. flask_appbuilder/static/appbuilder/fonts/FontAwesome.otf +0 -0
  152. flask_appbuilder/static/appbuilder/fonts/fontawesome-webfont.eot +0 -0
  153. flask_appbuilder/static/appbuilder/fonts/fontawesome-webfont.svg +0 -2671
  154. flask_appbuilder/static/appbuilder/fonts/fontawesome-webfont.ttf +0 -0
  155. flask_appbuilder/static/appbuilder/fonts/fontawesome-webfont.woff +0 -0
  156. flask_appbuilder/static/appbuilder/fonts/fontawesome-webfont.woff2 +0 -0
  157. flask_appbuilder/static/appbuilder/img/aol.png +0 -0
  158. flask_appbuilder/static/appbuilder/img/flags/flags16.png +0 -0
  159. flask_appbuilder/static/appbuilder/img/flickr.png +0 -0
  160. flask_appbuilder/static/appbuilder/img/google.png +0 -0
  161. flask_appbuilder/static/appbuilder/img/myopenid.png +0 -0
  162. flask_appbuilder/static/appbuilder/img/yahoo.png +0 -0
  163. flask_appbuilder/static/appbuilder/js/_google_charts.js +0 -39
  164. flask_appbuilder/static/appbuilder/js/html5shiv.js +0 -8
  165. flask_appbuilder/static/appbuilder/js/respond.min.js +0 -6
  166. flask_appbuilder/static/appbuilder/select2/select2-spinner.gif +0 -0
  167. flask_appbuilder/static/appbuilder/select2/select2.css +0 -1205
  168. flask_appbuilder/static/appbuilder/select2/select2.js +0 -23
  169. flask_appbuilder/static/appbuilder/select2/select2.png +0 -0
  170. flask_appbuilder/static/appbuilder/select2/select2x2.png +0 -0
  171. flask_appbuilder/templates/appbuilder/general/security/login_oid.html +0 -129
  172. flask_appbuilder/templates/appbuilder/general/security/resetpassword.html +0 -29
  173. flask_appbuilder/tests/__init__.py +0 -0
  174. flask_appbuilder/tests/__pycache__/__init__.cpython-36.pyc +0 -0
  175. flask_appbuilder/tests/__pycache__/__init__.cpython-37.pyc +0 -0
  176. flask_appbuilder/tests/__pycache__/_test_auth_ldap.cpython-37.pyc +0 -0
  177. flask_appbuilder/tests/__pycache__/_test_auth_oauth.cpython-37.pyc +0 -0
  178. flask_appbuilder/tests/__pycache__/_test_ldapsearch.cpython-36.pyc +0 -0
  179. flask_appbuilder/tests/__pycache__/_test_oauth_registration_role.cpython-36.pyc +0 -0
  180. flask_appbuilder/tests/__pycache__/base.cpython-36.pyc +0 -0
  181. flask_appbuilder/tests/__pycache__/base.cpython-37.pyc +0 -0
  182. flask_appbuilder/tests/__pycache__/config_api.cpython-36.pyc +0 -0
  183. flask_appbuilder/tests/__pycache__/config_api.cpython-37.pyc +0 -0
  184. flask_appbuilder/tests/__pycache__/const.cpython-36.pyc +0 -0
  185. flask_appbuilder/tests/__pycache__/const.cpython-37.pyc +0 -0
  186. flask_appbuilder/tests/__pycache__/test_0_fixture.cpython-36.pyc +0 -0
  187. flask_appbuilder/tests/__pycache__/test_0_fixture.cpython-37.pyc +0 -0
  188. flask_appbuilder/tests/__pycache__/test_api.cpython-36.pyc +0 -0
  189. flask_appbuilder/tests/__pycache__/test_api.cpython-37.pyc +0 -0
  190. flask_appbuilder/tests/__pycache__/test_fab_cli.cpython-36.pyc +0 -0
  191. flask_appbuilder/tests/__pycache__/test_fab_cli.cpython-37.pyc +0 -0
  192. flask_appbuilder/tests/__pycache__/test_menu.cpython-36.pyc +0 -0
  193. flask_appbuilder/tests/__pycache__/test_menu.cpython-37.pyc +0 -0
  194. flask_appbuilder/tests/__pycache__/test_mongoengine.cpython-36.pyc +0 -0
  195. flask_appbuilder/tests/__pycache__/test_mvc.cpython-36.pyc +0 -0
  196. flask_appbuilder/tests/__pycache__/test_mvc.cpython-37.pyc +0 -0
  197. flask_appbuilder/tests/__pycache__/test_sqlalchemy.cpython-36.pyc +0 -0
  198. flask_appbuilder/tests/__pycache__/test_sqlalchemy.cpython-37.pyc +0 -0
  199. flask_appbuilder/tests/_test_auth_ldap.py +0 -1045
  200. flask_appbuilder/tests/_test_auth_oauth.py +0 -419
  201. flask_appbuilder/tests/_test_ldapsearch.py +0 -135
  202. flask_appbuilder/tests/_test_oauth_registration_role.py +0 -59
  203. flask_appbuilder/tests/app.db +0 -0
  204. flask_appbuilder/tests/base.py +0 -90
  205. flask_appbuilder/tests/config_api.py +0 -21
  206. flask_appbuilder/tests/const.py +0 -9
  207. flask_appbuilder/tests/mongoengine/__init__.py +0 -0
  208. flask_appbuilder/tests/mongoengine/__pycache__/__init__.cpython-36.pyc +0 -0
  209. flask_appbuilder/tests/mongoengine/__pycache__/__init__.cpython-37.pyc +0 -0
  210. flask_appbuilder/tests/mongoengine/__pycache__/models.cpython-36.pyc +0 -0
  211. flask_appbuilder/tests/mongoengine/models.py +0 -41
  212. flask_appbuilder/tests/sqla/__init__.py +0 -0
  213. flask_appbuilder/tests/sqla/__pycache__/__init__.cpython-36.pyc +0 -0
  214. flask_appbuilder/tests/sqla/__pycache__/__init__.cpython-37.pyc +0 -0
  215. flask_appbuilder/tests/sqla/__pycache__/models.cpython-36.pyc +0 -0
  216. flask_appbuilder/tests/sqla/__pycache__/models.cpython-37.pyc +0 -0
  217. flask_appbuilder/tests/sqla/models.py +0 -340
  218. flask_appbuilder/tests/test_0_fixture.py +0 -39
  219. flask_appbuilder/tests/test_api.py +0 -2790
  220. flask_appbuilder/tests/test_fab_cli.py +0 -72
  221. flask_appbuilder/tests/test_menu.py +0 -122
  222. flask_appbuilder/tests/test_mongoengine.py +0 -572
  223. flask_appbuilder/tests/test_mvc.py +0 -1710
  224. flask_appbuilder/tests/test_sqlalchemy.py +0 -24
  225. flask_appbuilder/translations/__pycache__/__init__.cpython-36.pyc +0 -0
  226. flask_appbuilder/translations/es/LC_MESSAGES/messages.po~ +0 -582
  227. {Flask_AppBuilder-3.2.1rc1.dist-info → flask_appbuilder-5.0.2rc1.dist-info}/LICENSE +0 -0
  228. {Flask_AppBuilder-3.2.1rc1.dist-info → flask_appbuilder-5.0.2rc1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,802 @@
1
+ # Persian translations for PROJECT.
2
+ # Copyright (C) 2024 ORGANIZATION
3
+ # This file is distributed under the same license as the PROJECT project.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
5
+ #
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: PROJECT VERSION\n"
9
+ "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10
+ "POT-Creation-Date: 2024-10-22 12:02+0330\n"
11
+ "PO-Revision-Date: 2024-10-22 12:20+0330\n"
12
+ "Last-Translator: Emad Rad <Codewithemad@gmail.com>\n"
13
+ "Language-Team: fa <LL@li.org>\n"
14
+ "Language: fa\n"
15
+ "MIME-Version: 1.0\n"
16
+ "Content-Type: text/plain; charset=utf-8\n"
17
+ "Content-Transfer-Encoding: 8bit\n"
18
+ "Plural-Forms: nplurals=1; plural=0\n"
19
+ "Generated-By: Babel 2.9.1\n"
20
+
21
+ #: examples/extendsecurity/app/sec_forms.py:10
22
+ #: examples/extendsecurity2/app/sec_forms.py:10
23
+ #: flask_appbuilder/security/forms.py:37 flask_appbuilder/security/forms.py:75
24
+ #: flask_appbuilder/security/forms.py:114
25
+ #: flask_appbuilder/security/views.py:155
26
+ msgid "First Name"
27
+ msgstr "نام کوچک"
28
+
29
+ #: examples/extendsecurity/app/sec_forms.py:13
30
+ #: examples/extendsecurity2/app/sec_forms.py:13
31
+ #: flask_appbuilder/security/forms.py:40
32
+ #: flask_appbuilder/security/views.py:172
33
+ msgid "Write the user first name or names"
34
+ msgstr "نام یا نام‌های کاربر را وارد کنید"
35
+
36
+ #: examples/extendsecurity/app/sec_forms.py:16
37
+ #: examples/extendsecurity2/app/sec_forms.py:16
38
+ #: flask_appbuilder/security/forms.py:43 flask_appbuilder/security/forms.py:80
39
+ #: flask_appbuilder/security/forms.py:119
40
+ #: flask_appbuilder/security/views.py:156
41
+ msgid "Last Name"
42
+ msgstr "نام خانوادگی"
43
+
44
+ #: examples/extendsecurity/app/sec_forms.py:19
45
+ #: examples/extendsecurity2/app/sec_forms.py:19
46
+ #: flask_appbuilder/security/forms.py:46
47
+ #: flask_appbuilder/security/views.py:173
48
+ msgid "Write the user last name"
49
+ msgstr "نام خانوادگی کاربر را وارد کنید"
50
+
51
+ #: examples/extendsecurity/app/sec_forms.py:22
52
+ #: examples/extendsecurity2/app/sec_forms.py:22
53
+ msgid "Emp. Number"
54
+ msgstr "شماره کارمندی"
55
+
56
+ #: examples/extendsecurity/app/sec_forms.py:25
57
+ #: examples/extendsecurity2/app/sec_forms.py:25
58
+ msgid "Employee Number"
59
+ msgstr "شماره کارمند"
60
+
61
+ #: examples/extendsecurity/app/sec_views.py:14
62
+ #: examples/extendsecurity/app/sec_views.py:39
63
+ #: examples/extendsecurity2/app/sec_views.py:14
64
+ #: examples/extendsecurity2/app/sec_views.py:39
65
+ #: examples/mongo_extendedsecurity/app/mysecurity.py:37
66
+ #: examples/mongo_extendedsecurity/app/mysecurity.py:62
67
+ #: examples/quickhowto2/app/sec_views.py:14
68
+ #: examples/quickhowto2/app/sec_views.py:39
69
+ #: flask_appbuilder/security/views.py:194
70
+ #: flask_appbuilder/security/views.py:219
71
+ msgid "User info"
72
+ msgstr "اطلاعات کاربر"
73
+
74
+ #: examples/extendsecurity/app/sec_views.py:18
75
+ #: examples/extendsecurity/app/sec_views.py:43
76
+ #: examples/extendsecurity2/app/sec_views.py:18
77
+ #: examples/extendsecurity2/app/sec_views.py:43
78
+ #: examples/mongo_extendedsecurity/app/mysecurity.py:41
79
+ #: examples/mongo_extendedsecurity/app/mysecurity.py:66
80
+ #: examples/quickhowto2/app/sec_views.py:18
81
+ #: examples/quickhowto2/app/sec_views.py:43
82
+ #: flask_appbuilder/security/views.py:198
83
+ #: flask_appbuilder/security/views.py:223
84
+ msgid "Personal Info"
85
+ msgstr "اطلاعات شخصی"
86
+
87
+ #: examples/extendsecurity/app/sec_views.py:22
88
+ #: examples/extendsecurity2/app/sec_views.py:22
89
+ #: examples/mongo_extendedsecurity/app/mysecurity.py:45
90
+ #: examples/quickhowto2/app/sec_views.py:22
91
+ #: flask_appbuilder/security/views.py:202
92
+ msgid "Audit Info"
93
+ msgstr "اطلاعات حسابرسی"
94
+
95
+ #: examples/masterdetail/app/views.py:87 examples/quickhowto3/app/views.py:96
96
+ msgid "List Groups"
97
+ msgstr "لیست گروه‌ها"
98
+
99
+ #: examples/masterdetail/app/views.py:88
100
+ msgid "Manage Groups"
101
+ msgstr "مدیریت گروه‌ها"
102
+
103
+ #: examples/masterdetail/app/views.py:89 examples/quickhowto3/app/views.py:97
104
+ msgid "List Contacts"
105
+ msgstr "لیست مخاطبان"
106
+
107
+ #: examples/masterdetail/app/views.py:90 examples/quickhowto3/app/views.py:98
108
+ msgid "Contacts Chart"
109
+ msgstr "نمودار مخاطبین"
110
+
111
+ #: examples/masterdetail/app/views.py:91 examples/quickhowto3/app/views.py:99
112
+ msgid "Contacts Birth Chart"
113
+ msgstr "نقشه تولد مخاطبین"
114
+
115
+ #: examples/oauth/app/forms.py:10
116
+ msgid "Tweet message"
117
+ msgstr "پیام توییت"
118
+
119
+ #: examples/quickhowto2/app/forms.py:10 examples/quickhowto2/app/forms.py:15
120
+ msgid "Test Field One"
121
+ msgstr "فیلد آزمایشی یک"
122
+
123
+ #: examples/quickhowto2/app/templates/list_angulajs.html:50
124
+ #: examples/quickhowto2/app/templates/list_angulajs.html:108
125
+ #: examples/quickhowto2/app/templates/list_angulajs.html:187
126
+ #: flask_appbuilder/templates/appbuilder/general/lib.html:382
127
+ msgid "Add a new record"
128
+ msgstr "یک رکورد جدید اضافه کنید"
129
+
130
+ #: examples/quickhowto2/app/templates/list_angulajs.html:51
131
+ #: examples/quickhowto2/app/templates/list_angulajs.html:131
132
+ #: examples/quickhowto2/app/templates/list_angulajs.html:210
133
+ #: flask_appbuilder/templates/appbuilder/general/lib.html:398
134
+ msgid "Show record"
135
+ msgstr "نمایش رکورد"
136
+
137
+ #: examples/quickhowto2/app/templates/list_angulajs.html:52
138
+ #: examples/quickhowto2/app/templates/list_angulajs.html:132
139
+ #: examples/quickhowto2/app/templates/list_angulajs.html:211
140
+ #: flask_appbuilder/templates/appbuilder/general/lib.html:390
141
+ msgid "Edit record"
142
+ msgstr "ویرایش رکورد"
143
+
144
+ #: examples/quickhowto2/app/templates/list_angulajs.html:53
145
+ #: examples/quickhowto2/app/templates/list_angulajs.html:133
146
+ #: examples/quickhowto2/app/templates/list_angulajs.html:212
147
+ #: flask_appbuilder/templates/appbuilder/general/lib.html:410
148
+ msgid "Delete record"
149
+ msgstr "حذف رکورد"
150
+
151
+ #: examples/quickhowto2/app/templates/list_angulajs.html:54
152
+ #: examples/quickhowto2/app/templates/list_angulajs.html:110
153
+ #: examples/quickhowto2/app/templates/list_angulajs.html:189
154
+ #: flask_appbuilder/templates/appbuilder/general/lib.html:333
155
+ msgid "Record Count"
156
+ msgstr "تعداد رکوردها"
157
+
158
+ #: examples/quickhowto2/app/templates/list_angulajs.html:55
159
+ #: examples/quickhowto2/app/templates/list_angulajs.html:105
160
+ #: examples/quickhowto2/app/templates/list_angulajs.html:184
161
+ #: flask_appbuilder/templates/appbuilder/general/lib.html:115
162
+ msgid "Page size"
163
+ msgstr "اندازه صفحه"
164
+
165
+ #: examples/quickhowto2/app/templates/list_angulajs.html:67
166
+ #: examples/quickhowto2/app/templates/list_angulajs.html:149
167
+ #: flask_appbuilder/templates/appbuilder/general/widgets/search.html:8
168
+ msgid "Add Filter"
169
+ msgstr "افزودن فیلتر"
170
+
171
+ #: examples/quickhowto2/app/templates/widgets/list.html:70
172
+ #: flask_appbuilder/messages.py:14
173
+ #: flask_appbuilder/templates/appbuilder/general/widgets/base_list.html:39
174
+ #: flask_appbuilder/templates/appbuilder/general/widgets/list_carousel.html:50
175
+ #: flask_appbuilder/templates/appbuilder/general/widgets/list_master.html:17
176
+ msgid "No records found"
177
+ msgstr "هیچ رکوردی یافت نشد"
178
+
179
+ #: examples/quickhowto2/app/templates/widgets/list_override.html:9
180
+ #: flask_appbuilder/messages.py:10
181
+ #: flask_appbuilder/templates/appbuilder/general/lib.html:373
182
+ #: flask_appbuilder/templates/appbuilder/general/lib.html:374
183
+ msgid "Back"
184
+ msgstr "بازگشت"
185
+
186
+ #: examples/quicktemplates/app/templates/mybase.html:44
187
+ #: flask_appbuilder/templates/appbuilder/baselib.html:116
188
+ #: flask_appbuilder/templates/appbuilder/navbar_right.html:38
189
+ msgid "Logout"
190
+ msgstr "خروج"
191
+
192
+ #: examples/quicktemplates/app/templates/mybase.html:49
193
+ #: flask_appbuilder/templates/appbuilder/baselib.html:122
194
+ #: flask_appbuilder/templates/appbuilder/navbar_right.html:43
195
+ msgid "Login"
196
+ msgstr "ورود"
197
+
198
+ #: examples/simpleform/app/views.py:26
199
+ msgid "My form View"
200
+ msgstr "نمایش فرم من"
201
+
202
+ #: examples/simpleform/app/templates/404.html:4
203
+ msgid "Page not found"
204
+ msgstr "صفحه پیدا نشد"
205
+
206
+ #: flask_appbuilder/const.py:126
207
+ msgid "Access is Denied"
208
+ msgstr "دسترسی برای شما مجاز نیست"
209
+
210
+ #: flask_appbuilder/fields.py:163 flask_appbuilder/fields.py:165
211
+ #: flask_appbuilder/fields.py:226 flask_appbuilder/fields.py:233
212
+ #: flask_appbuilder/fields.py:292
213
+ msgid "Not a valid choice"
214
+ msgstr "انتخاب نامعتبر است"
215
+
216
+ #: flask_appbuilder/fieldwidgets.py:159 flask_appbuilder/fieldwidgets.py:179
217
+ msgid "Select Value"
218
+ msgstr "انتخاب مقدار"
219
+
220
+ #: flask_appbuilder/messages.py:9
221
+ #: flask_appbuilder/templates/appbuilder/general/charts/chart.html:8
222
+ #: flask_appbuilder/templates/appbuilder/general/charts/chart_time.html:10
223
+ #: flask_appbuilder/templates/appbuilder/general/charts/jsonchart.html:8
224
+ #: flask_appbuilder/templates/appbuilder/general/lib.html:366
225
+ #: flask_appbuilder/templates/appbuilder/general/model/list.html:8
226
+ msgid "Search"
227
+ msgstr "جستجو"
228
+
229
+ #: flask_appbuilder/messages.py:11
230
+ #: flask_appbuilder/templates/appbuilder/general/lib.html:313
231
+ msgid "Save"
232
+ msgstr "ذخیره کنید"
233
+
234
+ #: flask_appbuilder/messages.py:12
235
+ msgid "This field is required."
236
+ msgstr "این فیلد الزامی است."
237
+
238
+ #: flask_appbuilder/messages.py:13
239
+ msgid "Not a valid date value"
240
+ msgstr "مقدار تاریخ معتبر نیست"
241
+
242
+ #: flask_appbuilder/upload.py:158 flask_appbuilder/upload.py:210
243
+ msgid "Invalid file extension"
244
+ msgstr "پسوند فایل نامعتبر است"
245
+
246
+ #: flask_appbuilder/validators.py:52
247
+ msgid "Already exists."
248
+ msgstr "قبلاً وجود دارد."
249
+
250
+ #: flask_appbuilder/validators.py:87
251
+ msgid ""
252
+ "Must have at least two capital letters, one special character, two digits, "
253
+ "three lower case letters and a minimal length of 10."
254
+ msgstr ""
255
+ "حداقل باید شامل دو حرف بزرگ، یک کاراکتر خاص، دو عدد، سه حرف کوچک و حداقل طول"
256
+ " ۱۰ باشد."
257
+
258
+ #: flask_appbuilder/charts/views.py:35
259
+ msgid "Group by"
260
+ msgstr "گروه‌بندی بر اساس"
261
+
262
+ #: flask_appbuilder/models/base.py:30
263
+ msgid "Added Row"
264
+ msgstr "سطر اضافه شد"
265
+
266
+ #: flask_appbuilder/models/base.py:31
267
+ msgid "Changed Row"
268
+ msgstr "ردیف تغییر یافته"
269
+
270
+ #: flask_appbuilder/models/base.py:32
271
+ msgid "Deleted Row"
272
+ msgstr "روند حذف شده"
273
+
274
+ #: flask_appbuilder/models/base.py:33
275
+ msgid "Associated data exists, please delete them first"
276
+ msgstr "داده‌های مرتبط وجود دارد، لطفاً ابتدا آن‌ها را حذف کنید."
277
+
278
+ #: flask_appbuilder/models/base.py:36 flask_appbuilder/models/base.py:39
279
+ msgid "Integrity error, probably unique constraint"
280
+ msgstr "خطای یکپارچگی، احتمالاً محدودیت یکتایی"
281
+
282
+ #: flask_appbuilder/models/base.py:42
283
+ msgid "General Error"
284
+ msgstr "خطای عمومی"
285
+
286
+ #: flask_appbuilder/models/base.py:44
287
+ msgid "Database Error"
288
+ msgstr "خطای پایگاه داده"
289
+
290
+ #: flask_appbuilder/models/group.py:32
291
+ msgid "Count of"
292
+ msgstr "تعداد"
293
+
294
+ #: flask_appbuilder/models/group.py:41
295
+ msgid "Sum of"
296
+ msgstr "جمع"
297
+
298
+ #: flask_appbuilder/models/group.py:50
299
+ msgid "Avg. of"
300
+ msgstr "به‌طور متوسط از"
301
+
302
+ #: flask_appbuilder/models/generic/filters.py:20
303
+ #: flask_appbuilder/models/mongoengine/filters.py:76
304
+ #: flask_appbuilder/models/sqla/filters.py:120
305
+ msgid "Contains"
306
+ msgstr "شامل می‌شود"
307
+
308
+ #: flask_appbuilder/models/generic/filters.py:31
309
+ msgid "Contains (insensitive)"
310
+ msgstr "شامل (بی‌احساس)"
311
+
312
+ #: flask_appbuilder/models/generic/filters.py:38
313
+ #: flask_appbuilder/models/mongoengine/filters.py:84
314
+ #: flask_appbuilder/models/sqla/filters.py:129
315
+ msgid "Not Contains"
316
+ msgstr "شامل نمی‌شود"
317
+
318
+ #: flask_appbuilder/models/generic/filters.py:45
319
+ #: flask_appbuilder/models/mongoengine/filters.py:22
320
+ #: flask_appbuilder/models/sqla/filters.py:138
321
+ msgid "Equal to"
322
+ msgstr "مساوی با"
323
+
324
+ #: flask_appbuilder/models/generic/filters.py:52
325
+ #: flask_appbuilder/models/mongoengine/filters.py:33
326
+ #: flask_appbuilder/models/sqla/filters.py:148
327
+ msgid "Not Equal to"
328
+ msgstr "نامساوی با"
329
+
330
+ #: flask_appbuilder/models/generic/filters.py:59
331
+ #: flask_appbuilder/models/mongoengine/filters.py:44
332
+ #: flask_appbuilder/models/sqla/filters.py:159
333
+ msgid "Greater than"
334
+ msgstr "بیشتر از"
335
+
336
+ #: flask_appbuilder/models/generic/filters.py:66
337
+ #: flask_appbuilder/models/mongoengine/filters.py:52
338
+ #: flask_appbuilder/models/sqla/filters.py:173
339
+ msgid "Smaller than"
340
+ msgstr "کوچک‌تر از"
341
+
342
+ #: flask_appbuilder/models/generic/filters.py:73
343
+ msgid "Start with"
344
+ msgstr "شروع کنید با"
345
+
346
+ #: flask_appbuilder/models/mongoengine/filters.py:60
347
+ #: flask_appbuilder/models/sqla/filters.py:84
348
+ msgid "Starts with"
349
+ msgstr "شروع می‌شود با"
350
+
351
+ #: flask_appbuilder/models/mongoengine/filters.py:68
352
+ #: flask_appbuilder/models/sqla/filters.py:93
353
+ msgid "Not Starts with"
354
+ msgstr "شروع نمی‌شود با"
355
+
356
+ #: flask_appbuilder/models/mongoengine/filters.py:92
357
+ #: flask_appbuilder/models/sqla/filters.py:187
358
+ msgid "Relation"
359
+ msgstr "رابطه"
360
+
361
+ #: flask_appbuilder/models/mongoengine/filters.py:101
362
+ #: flask_appbuilder/models/sqla/filters.py:229
363
+ msgid "Relation as Many"
364
+ msgstr "رابطه به صورت چندین"
365
+
366
+ #: flask_appbuilder/models/sqla/filters.py:102
367
+ msgid "Ends with"
368
+ msgstr "به پایان می‌رسد با"
369
+
370
+ #: flask_appbuilder/models/sqla/filters.py:111
371
+ msgid "Not Ends with"
372
+ msgstr "پایان‌نیافته با"
373
+
374
+ #: flask_appbuilder/models/sqla/filters.py:208
375
+ msgid "No Relation"
376
+ msgstr "هیچ رابطه‌ای"
377
+
378
+ #: flask_appbuilder/security/forms.py:25
379
+ msgid "OpenID"
380
+ msgstr "اوپن آیدی"
381
+
382
+ #: flask_appbuilder/security/forms.py:26 flask_appbuilder/security/forms.py:31
383
+ #: flask_appbuilder/security/forms.py:70
384
+ #: flask_appbuilder/security/forms.py:109
385
+ #: flask_appbuilder/security/views.py:157
386
+ #: flask_appbuilder/security/views.py:417
387
+ msgid "User Name"
388
+ msgstr "نام کاربری"
389
+
390
+ #: flask_appbuilder/security/forms.py:27
391
+ msgid "Remember me"
392
+ msgstr "مرا به خاطر بسپار"
393
+
394
+ #: flask_appbuilder/security/forms.py:32 flask_appbuilder/security/forms.py:52
395
+ #: flask_appbuilder/security/forms.py:90
396
+ #: flask_appbuilder/security/views.py:158
397
+ #: flask_appbuilder/security/views.py:316
398
+ #: flask_appbuilder/templates/appbuilder/general/security/login_db.html:30
399
+ #: flask_appbuilder/templates/appbuilder/general/security/login_ldap.html:27
400
+ msgid "Password"
401
+ msgstr "رمز عبور"
402
+
403
+ #: flask_appbuilder/security/forms.py:53 flask_appbuilder/security/forms.py:91
404
+ msgid ""
405
+ "Please use a good password policy, this application does not check this for "
406
+ "you"
407
+ msgstr ""
408
+ "لطفاً از یک سیاست گذرواژه خوب استفاده کنید، این برنامه این مورد را برای شما "
409
+ "بررسی نمی‌کند."
410
+
411
+ #: flask_appbuilder/security/forms.py:61 flask_appbuilder/security/forms.py:99
412
+ #: flask_appbuilder/security/views.py:322
413
+ msgid "Confirm Password"
414
+ msgstr "تأیید رمز عبور"
415
+
416
+ #: flask_appbuilder/security/forms.py:62
417
+ #: flask_appbuilder/security/forms.py:100
418
+ msgid "Please rewrite the password to confirm"
419
+ msgstr "لطفاً رمز عبور را دوباره بنویسید تا تأیید شود."
420
+
421
+ #: flask_appbuilder/security/forms.py:63
422
+ #: flask_appbuilder/security/forms.py:101
423
+ #: flask_appbuilder/security/views.py:326
424
+ msgid "Passwords must match"
425
+ msgstr "کلمات عبور باید مطابقت داشته باشند"
426
+
427
+ #: flask_appbuilder/security/forms.py:85
428
+ #: flask_appbuilder/security/forms.py:124
429
+ #: flask_appbuilder/security/views.py:160
430
+ msgid "Email"
431
+ msgstr "ایمیل"
432
+
433
+ #: flask_appbuilder/security/manager.py:831
434
+ #: flask_appbuilder/security/views.py:148
435
+ msgid "List Users"
436
+ msgstr "لیست کاربران"
437
+
438
+ #: flask_appbuilder/security/manager.py:834
439
+ msgid "Security"
440
+ msgstr "امنیت"
441
+
442
+ #: flask_appbuilder/security/manager.py:841
443
+ #: flask_appbuilder/security/views.py:453
444
+ msgid "List Roles"
445
+ msgstr "لیست نقش‌ها"
446
+
447
+ #: flask_appbuilder/security/manager.py:852
448
+ msgid "User's Statistics"
449
+ msgstr "آمار کاربران"
450
+
451
+ #: flask_appbuilder/security/manager.py:860
452
+ msgid "User Registrations"
453
+ msgstr "ثبت‌نام کاربران"
454
+
455
+ #: flask_appbuilder/security/manager.py:869
456
+ msgid "Base Permissions"
457
+ msgstr "مجوزهای پایه"
458
+
459
+ #: flask_appbuilder/security/manager.py:877
460
+ msgid "Views/Menus"
461
+ msgstr "نمایش‌ها/منوها"
462
+
463
+ #: flask_appbuilder/security/manager.py:887
464
+ msgid "Permission on Views/Menus"
465
+ msgstr "مجوز بر روی نمایه‌ها/منوها"
466
+
467
+ #: flask_appbuilder/security/registerviews.py:55
468
+ msgid "Account activation"
469
+ msgstr "فعال‌سازی حساب کاربری"
470
+
471
+ #: flask_appbuilder/security/registerviews.py:59
472
+ msgid "Registration sent to your email"
473
+ msgstr "ثبت نام به ایمیل شما ارسال شد"
474
+
475
+ #: flask_appbuilder/security/registerviews.py:61
476
+ msgid "Not possible to register you at the moment, try again later"
477
+ msgstr "در حال حاضر امکان ثبت‌نام شما وجود ندارد، لطفاً بعداً تلاش کنید."
478
+
479
+ #: flask_appbuilder/security/registerviews.py:65
480
+ msgid "Registration not found"
481
+ msgstr "ثبت نام یافت نشد"
482
+
483
+ #: flask_appbuilder/security/registerviews.py:67
484
+ msgid "Fill out the registration form"
485
+ msgstr "فرم ثبت‌نام را پر کنید"
486
+
487
+ #: flask_appbuilder/security/views.py:42
488
+ msgid "List Base Permissions"
489
+ msgstr "فهرست مجوزهای پایه"
490
+
491
+ #: flask_appbuilder/security/views.py:43
492
+ msgid "Show Base Permission"
493
+ msgstr "نمایش مجوز پایه"
494
+
495
+ #: flask_appbuilder/security/views.py:44
496
+ msgid "Add Base Permission"
497
+ msgstr "اجازه پایه را اضافه کنید"
498
+
499
+ #: flask_appbuilder/security/views.py:45
500
+ msgid "Edit Base Permission"
501
+ msgstr "ویرایش مجوز پایه"
502
+
503
+ #: flask_appbuilder/security/views.py:47 flask_appbuilder/security/views.py:59
504
+ #: flask_appbuilder/security/views.py:462
505
+ msgid "Name"
506
+ msgstr "نام"
507
+
508
+ #: flask_appbuilder/security/views.py:54
509
+ msgid "List View Menus"
510
+ msgstr "منوهای نمای فهرست"
511
+
512
+ #: flask_appbuilder/security/views.py:55
513
+ msgid "Show View Menu"
514
+ msgstr "نمایش منوی مشاهده"
515
+
516
+ #: flask_appbuilder/security/views.py:56
517
+ msgid "Add View Menu"
518
+ msgstr "منوی نمایش را اضافه کنید"
519
+
520
+ #: flask_appbuilder/security/views.py:57
521
+ msgid "Edit View Menu"
522
+ msgstr "ویرایش منوی مشاهده"
523
+
524
+ #: flask_appbuilder/security/views.py:66
525
+ msgid "List Permissions on Views/Menus"
526
+ msgstr "فهرست مجوزها برای نماها/منوها"
527
+
528
+ #: flask_appbuilder/security/views.py:67
529
+ msgid "Show Permission on Views/Menus"
530
+ msgstr "نمایش مجوزها بر روی نماها/منوها"
531
+
532
+ #: flask_appbuilder/security/views.py:68
533
+ msgid "Add Permission on Views/Menus"
534
+ msgstr "اجازه دسترسی بر روی نماها/منوها اضافه کنید"
535
+
536
+ #: flask_appbuilder/security/views.py:69
537
+ msgid "Edit Permission on Views/Menus"
538
+ msgstr "ویرایش مجوزها برای نماها/منوها"
539
+
540
+ #: flask_appbuilder/security/views.py:72
541
+ msgid "Permission"
542
+ msgstr "مجوز"
543
+
544
+ #: flask_appbuilder/security/views.py:73
545
+ msgid "View/Menu"
546
+ msgstr "نمایش/منو"
547
+
548
+ #: flask_appbuilder/security/views.py:85
549
+ #: flask_appbuilder/security/views.py:101
550
+ msgid "Reset Password Form"
551
+ msgstr "فرم بازنشانی رمز عبور"
552
+
553
+ #: flask_appbuilder/security/views.py:87
554
+ #: flask_appbuilder/security/views.py:103
555
+ msgid "Password Changed"
556
+ msgstr "رمز عبور تغییر کرد"
557
+
558
+ #: flask_appbuilder/security/views.py:113
559
+ msgid "Edit User Information"
560
+ msgstr "ویرایش اطلاعات کاربر"
561
+
562
+ #: flask_appbuilder/security/views.py:115
563
+ msgid "User information changed"
564
+ msgstr "اطلاعات کاربر تغییر یافت"
565
+
566
+ #: flask_appbuilder/security/views.py:149
567
+ msgid "Show User"
568
+ msgstr "نمایش کاربر"
569
+
570
+ #: flask_appbuilder/security/views.py:150
571
+ msgid "Add User"
572
+ msgstr "کاربر اضافه کنید"
573
+
574
+ #: flask_appbuilder/security/views.py:151
575
+ #: flask_appbuilder/security/views.py:260
576
+ msgid "Edit User"
577
+ msgstr "ویرایش کاربر"
578
+
579
+ #: flask_appbuilder/security/views.py:154
580
+ msgid "Full Name"
581
+ msgstr "نام کامل"
582
+
583
+ #: flask_appbuilder/security/views.py:159
584
+ msgid "Is Active?"
585
+ msgstr "آیا فعال است؟"
586
+
587
+ #: flask_appbuilder/security/views.py:161
588
+ msgid "Role"
589
+ msgstr "نقش"
590
+
591
+ #: flask_appbuilder/security/views.py:162
592
+ msgid "Last login"
593
+ msgstr "آخرین ورود"
594
+
595
+ #: flask_appbuilder/security/views.py:163
596
+ #: flask_appbuilder/security/views.py:418
597
+ msgid "Login count"
598
+ msgstr "تعداد ورود به سیستم"
599
+
600
+ #: flask_appbuilder/security/views.py:164
601
+ #: flask_appbuilder/security/views.py:419
602
+ msgid "Failed login count"
603
+ msgstr "تعداد تلاش‌های ناموفق برای ورود"
604
+
605
+ #: flask_appbuilder/security/views.py:165
606
+ msgid "Created on"
607
+ msgstr "ایجاد شده در"
608
+
609
+ #: flask_appbuilder/security/views.py:166
610
+ msgid "Created by"
611
+ msgstr "ایجاد شده توسط"
612
+
613
+ #: flask_appbuilder/security/views.py:167
614
+ msgid "Changed on"
615
+ msgstr "تغییر داده شده در"
616
+
617
+ #: flask_appbuilder/security/views.py:168
618
+ msgid "Changed by"
619
+ msgstr "تغییر یافته توسط"
620
+
621
+ #: flask_appbuilder/security/views.py:174
622
+ msgid "Username valid for authentication on DB or LDAP, unused for OID auth"
623
+ msgstr ""
624
+ "نام کاربری معتبر برای احراز هویت در پایگاه داده یا LDAP، برای احراز هویت OID"
625
+ " استفاده نشده است."
626
+
627
+ #: flask_appbuilder/security/views.py:177
628
+ #: flask_appbuilder/security/views.py:317
629
+ msgid "The user's password for authentication"
630
+ msgstr "رمز عبور کاربر برای احراز هویت"
631
+
632
+ #: flask_appbuilder/security/views.py:178
633
+ msgid "It's not a good policy to remove a user, just make it inactive"
634
+ msgstr ""
635
+ "این یک سیاست خوب نیست که یک کاربر را حذف کنید، فقط آن را غیرفعال کنید."
636
+
637
+ #: flask_appbuilder/security/views.py:181
638
+ msgid "The user's email, this will also be used for OID auth"
639
+ msgstr "ایمیل کاربر، این ایمیل همچنین برای احراز هویت OID استفاده خواهد شد."
640
+
641
+ #: flask_appbuilder/security/views.py:187
642
+ #: flask_appbuilder/security/views.py:323
643
+ msgid "Please rewrite the user's password to confirm"
644
+ msgstr "لطفاً رمز عبور کاربر را برای تأیید دوباره بنویسید."
645
+
646
+ #: flask_appbuilder/security/views.py:243
647
+ msgid "Your user information"
648
+ msgstr "اطلاعات کاربری شما"
649
+
650
+ #: flask_appbuilder/security/views.py:385
651
+ msgid "Reset my password"
652
+ msgstr "رمز عبور من را بازنشانی کنید"
653
+
654
+ #: flask_appbuilder/security/views.py:396
655
+ msgid "Reset Password"
656
+ msgstr "تنظیم مجدد رمز عبور"
657
+
658
+ #: flask_appbuilder/security/views.py:415
659
+ msgid "User Statistics"
660
+ msgstr "آمار کاربران"
661
+
662
+ #: flask_appbuilder/security/views.py:454
663
+ msgid "Show Role"
664
+ msgstr "نمایش نقش"
665
+
666
+ #: flask_appbuilder/security/views.py:455
667
+ msgid "Add Role"
668
+ msgstr "اضافه کردن نقش"
669
+
670
+ #: flask_appbuilder/security/views.py:456
671
+ msgid "Edit Role"
672
+ msgstr "ویرایش نقش"
673
+
674
+ #: flask_appbuilder/security/views.py:463
675
+ msgid "Permissions"
676
+ msgstr "مجوزها"
677
+
678
+ #: flask_appbuilder/security/views.py:473
679
+ msgid "Copy Role"
680
+ msgstr "کپی نقش"
681
+
682
+ #: flask_appbuilder/security/views.py:474
683
+ msgid "Copy the selected roles?"
684
+ msgstr "رول‌های انتخاب‌شده را کپی کنید؟"
685
+
686
+ #: flask_appbuilder/security/views.py:492
687
+ msgid "List of Registration Requests"
688
+ msgstr "لیست درخواست‌های ثبت‌نام"
689
+
690
+ #: flask_appbuilder/security/views.py:493
691
+ msgid "Show Registration"
692
+ msgstr "نمایش ثبت‌نام"
693
+
694
+ #: flask_appbuilder/security/views.py:502
695
+ msgid "Invalid login. Please try again."
696
+ msgstr "ورود نامعتبر. لطفاً دوباره تلاش کنید."
697
+
698
+ #: flask_appbuilder/security/views.py:503
699
+ #: flask_appbuilder/templates/appbuilder/general/security/login_db.html:46
700
+ #: flask_appbuilder/templates/appbuilder/general/security/login_ldap.html:40
701
+ #: flask_appbuilder/templates/appbuilder/general/security/login_oid.html:48
702
+ msgid "Sign In"
703
+ msgstr "ورود"
704
+
705
+ #: flask_appbuilder/templates/appbuilder/baselib.html:115
706
+ #: flask_appbuilder/templates/appbuilder/navbar_right.html:37
707
+ msgid "Profile"
708
+ msgstr "پروفایل"
709
+
710
+ #: flask_appbuilder/templates/appbuilder/general/security/activation.html:5
711
+ #: flask_appbuilder/templates/appbuilder/index.html:4
712
+ msgid "Welcome"
713
+ msgstr "خوش آمدید"
714
+
715
+ #: flask_appbuilder/templates/appbuilder/general/confirm.html:6
716
+ msgid "User confirmation needed"
717
+ msgstr "نیاز به تأیید کاربر است."
718
+
719
+ #: flask_appbuilder/templates/appbuilder/general/lib.html:76
720
+ msgid "Actions"
721
+ msgstr "عملیات"
722
+
723
+ #: flask_appbuilder/templates/appbuilder/general/lib.html:135
724
+ msgid "Order by"
725
+ msgstr "ترتیب بر اساس"
726
+
727
+ #: flask_appbuilder/templates/appbuilder/general/lib.html:383
728
+ msgid "Add"
729
+ msgstr "اضافه کردن"
730
+
731
+ #: flask_appbuilder/templates/appbuilder/general/lib.html:391
732
+ msgid "Edit"
733
+ msgstr "ویرایش"
734
+
735
+ #: flask_appbuilder/templates/appbuilder/general/lib.html:399
736
+ msgid "Show"
737
+ msgstr "نمایش بده"
738
+
739
+ #: flask_appbuilder/templates/appbuilder/general/lib.html:412
740
+ msgid "Delete"
741
+ msgstr "حذف کنید"
742
+
743
+ #: flask_appbuilder/templates/appbuilder/general/lib.html:419
744
+ msgid "Are you sure you want to delete this item?"
745
+ msgstr "آیا مطمئن هستید که می‌خواهید این مورد را حذف کنید؟"
746
+
747
+ #: flask_appbuilder/templates/appbuilder/general/charts/chart_time.html:17
748
+ msgid "Group by fields"
749
+ msgstr "گروه‌بندی بر اساس فیلدها"
750
+
751
+ #: flask_appbuilder/templates/appbuilder/general/model/edit.html:9
752
+ #: flask_appbuilder/templates/appbuilder/general/model/show.html:9
753
+ msgid "Detail"
754
+ msgstr "جزئیات"
755
+
756
+ #: flask_appbuilder/templates/appbuilder/general/security/activation.html:7
757
+ msgid "Your user is activated you can now proceed to login"
758
+ msgstr "کاربر شما فعال شده است، حالا می‌توانید به ورود به سیستم ادامه دهید."
759
+
760
+ #: flask_appbuilder/templates/appbuilder/general/security/login_db.html:18
761
+ #: flask_appbuilder/templates/appbuilder/general/security/login_ldap.html:16
762
+ msgid "Enter your login and password below"
763
+ msgstr "نام کاربری و رمز عبور خود را در زیر وارد کنید"
764
+
765
+ #: flask_appbuilder/templates/appbuilder/general/security/login_db.html:20
766
+ #: flask_appbuilder/templates/appbuilder/general/security/login_ldap.html:18
767
+ msgid "Username"
768
+ msgstr "نام کاربری"
769
+
770
+ #: flask_appbuilder/templates/appbuilder/general/security/login_db.html:49
771
+ #: flask_appbuilder/templates/appbuilder/general/security/login_oid.html:56
772
+ msgid "If you are not already a user, please register"
773
+ msgstr "اگر در حال حاضر کاربر نیستید، لطفاً ثبت‌نام کنید."
774
+
775
+ #: flask_appbuilder/templates/appbuilder/general/security/login_db.html:50
776
+ #: flask_appbuilder/templates/appbuilder/general/security/login_oid.html:57
777
+ msgid "Register"
778
+ msgstr "ثبت نام"
779
+
780
+ #: flask_appbuilder/templates/appbuilder/general/security/login_oauth.html:20
781
+ msgid "Sign In with "
782
+ msgstr "ورود با"
783
+
784
+ #: flask_appbuilder/templates/appbuilder/general/security/login_oid.html:15
785
+ msgid "Click on your OpenID provider below"
786
+ msgstr "روی ارائه‌دهنده OpenID خود در زیر کلیک کنید"
787
+
788
+ #: flask_appbuilder/templates/appbuilder/general/security/login_oid.html:29
789
+ msgid "Or enter your OpenID here"
790
+ msgstr "یا OpenID خود را در اینجا وارد کنید"
791
+
792
+ #: flask_appbuilder/templates/appbuilder/general/security/login_oid.html:33
793
+ msgid "Please choose a provider"
794
+ msgstr "لطفاً یک ارائه‌دهنده را انتخاب کنید."
795
+
796
+ #: flask_appbuilder/templates/appbuilder/general/security/login_oid.html:37
797
+ msgid "Enter your OpenID Username"
798
+ msgstr "نام کاربری OpenID خود را وارد کنید"
799
+
800
+ #: flask_appbuilder/templates/appbuilder/general/security/register_oauth.html:15
801
+ msgid "Sign in using:"
802
+ msgstr "با استفاده از وارد شوید:"