permission_forge 0.14.1

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 (406) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +1138 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +356 -0
  5. data/app/controllers/concerns/permission_forge/acting_admin.rb +17 -0
  6. data/app/controllers/concerns/permission_forge/api/crud_actions.rb +84 -0
  7. data/app/controllers/concerns/permission_forge/api/nested_resource_lookup.rb +18 -0
  8. data/app/controllers/concerns/permission_forge/api/pagination.rb +50 -0
  9. data/app/controllers/concerns/permission_forge/api/response_renderer.rb +65 -0
  10. data/app/controllers/concerns/permission_forge/api/serializer_resolver.rb +30 -0
  11. data/app/controllers/concerns/permission_forge/api_authentication.rb +40 -0
  12. data/app/controllers/concerns/permission_forge/assignment_authorization.rb +97 -0
  13. data/app/controllers/concerns/permission_forge/audit_log_gate.rb +55 -0
  14. data/app/controllers/concerns/permission_forge/basic_authentication.rb +77 -0
  15. data/app/controllers/concerns/permission_forge/cache_confirmation.rb +32 -0
  16. data/app/controllers/concerns/permission_forge/forgery_protection.rb +29 -0
  17. data/app/controllers/concerns/permission_forge/html_format.rb +40 -0
  18. data/app/controllers/concerns/permission_forge/param_shapes.rb +87 -0
  19. data/app/controllers/concerns/permission_forge/tenant_required.rb +42 -0
  20. data/app/controllers/permission_forge/api/audit_events_controller.rb +33 -0
  21. data/app/controllers/permission_forge/api/base_controller.rb +220 -0
  22. data/app/controllers/permission_forge/api/dashboard_controller.rb +30 -0
  23. data/app/controllers/permission_forge/api/permission_set_group_users_controller.rb +51 -0
  24. data/app/controllers/permission_forge/api/permission_set_groups_controller.rb +71 -0
  25. data/app/controllers/permission_forge/api/permission_set_rules_controller.rb +37 -0
  26. data/app/controllers/permission_forge/api/permission_set_users_controller.rb +105 -0
  27. data/app/controllers/permission_forge/api/permission_sets_controller.rb +87 -0
  28. data/app/controllers/permission_forge/api/resource_actions_controller.rb +58 -0
  29. data/app/controllers/permission_forge/api/resource_fields_controller.rb +30 -0
  30. data/app/controllers/permission_forge/api/resources_controller.rb +56 -0
  31. data/app/controllers/permission_forge/application_controller.rb +198 -0
  32. data/app/controllers/permission_forge/assets_controller.rb +97 -0
  33. data/app/controllers/permission_forge/assignments_controller.rb +266 -0
  34. data/app/controllers/permission_forge/audit_events_controller.rb +94 -0
  35. data/app/controllers/permission_forge/bulk_assignments_controller.rb +108 -0
  36. data/app/controllers/permission_forge/field_lookups_controller.rb +38 -0
  37. data/app/controllers/permission_forge/home_controller.rb +24 -0
  38. data/app/controllers/permission_forge/maintenance_controller.rb +13 -0
  39. data/app/controllers/permission_forge/people_controller.rb +190 -0
  40. data/app/controllers/permission_forge/permission_set_editor.rb +71 -0
  41. data/app/controllers/permission_forge/permission_set_group_users_controller.rb +57 -0
  42. data/app/controllers/permission_forge/permission_set_groups_controller.rb +111 -0
  43. data/app/controllers/permission_forge/permission_set_rules_controller.rb +97 -0
  44. data/app/controllers/permission_forge/permission_sets_controller.rb +227 -0
  45. data/app/controllers/permission_forge/preferences_controller.rb +26 -0
  46. data/app/controllers/permission_forge/resource_actions_controller.rb +106 -0
  47. data/app/controllers/permission_forge/resource_fields_controller.rb +129 -0
  48. data/app/controllers/permission_forge/resources_controller.rb +189 -0
  49. data/app/controllers/permission_forge/settings_controller.rb +33 -0
  50. data/app/frontend/permission_forge/brand/apple-touch-icon.png +0 -0
  51. data/app/frontend/permission_forge/brand/chevron.svg +1 -0
  52. data/app/frontend/permission_forge/brand/favicon.ico +0 -0
  53. data/app/frontend/permission_forge/brand/favicon.svg +1 -0
  54. data/app/frontend/permission_forge/brand/logo-horizontal-dark.svg +1 -0
  55. data/app/frontend/permission_forge/brand/logo-horizontal-light.svg +1 -0
  56. data/app/frontend/permission_forge/brand/mark-small.svg +1 -0
  57. data/app/frontend/permission_forge/brand/mark.svg +1 -0
  58. data/app/frontend/permission_forge/pf_admin.css +766 -0
  59. data/app/frontend/permission_forge/pf_admin.js +482 -0
  60. data/app/helpers/permission_forge/application_helper.rb +167 -0
  61. data/app/helpers/permission_forge/audit_helper.rb +230 -0
  62. data/app/helpers/permission_forge/audit_sentences_helper.rb +84 -0
  63. data/app/helpers/permission_forge/badges_helper.rb +134 -0
  64. data/app/helpers/permission_forge/changes_helper.rb +117 -0
  65. data/app/helpers/permission_forge/people_helper.rb +118 -0
  66. data/app/helpers/permission_forge/sentences_helper.rb +175 -0
  67. data/app/helpers/permission_forge/settings_helper.rb +152 -0
  68. data/app/helpers/permission_forge/ui_helper.rb +184 -0
  69. data/app/models/permission_forge/audit_event.rb +159 -0
  70. data/app/models/permission_forge/permission_set.rb +100 -0
  71. data/app/models/permission_forge/permission_set_group.rb +83 -0
  72. data/app/models/permission_forge/permission_set_group_user.rb +43 -0
  73. data/app/models/permission_forge/permission_set_rule.rb +99 -0
  74. data/app/models/permission_forge/permission_set_user.rb +158 -0
  75. data/app/models/permission_forge/resource.rb +100 -0
  76. data/app/models/permission_forge/resource_action.rb +58 -0
  77. data/app/models/permission_forge/resource_field.rb +69 -0
  78. data/app/views/layouts/permission_forge/application.html.erb +30 -0
  79. data/app/views/layouts/permission_forge/fragment.html.erb +2 -0
  80. data/app/views/permission_forge/assignments/_person_options.html.erb +26 -0
  81. data/app/views/permission_forge/assignments/confirm_destroy.html.erb +24 -0
  82. data/app/views/permission_forge/assignments/new.html.erb +99 -0
  83. data/app/views/permission_forge/audit_events/index.html.erb +161 -0
  84. data/app/views/permission_forge/audit_events/show.html.erb +146 -0
  85. data/app/views/permission_forge/bulk_assignments/confirm_revoke.html.erb +21 -0
  86. data/app/views/permission_forge/bulk_assignments/new.html.erb +69 -0
  87. data/app/views/permission_forge/field_lookups/show.html.erb +32 -0
  88. data/app/views/permission_forge/home/_audit_card.html.erb +19 -0
  89. data/app/views/permission_forge/home/_ending_card.html.erb +32 -0
  90. data/app/views/permission_forge/home/_expired_card.html.erb +34 -0
  91. data/app/views/permission_forge/home/_privacy_card.html.erb +67 -0
  92. data/app/views/permission_forge/home/_rules_card.html.erb +23 -0
  93. data/app/views/permission_forge/home/_stale_card.html.erb +39 -0
  94. data/app/views/permission_forge/home/_tidy_card.html.erb +18 -0
  95. data/app/views/permission_forge/home/index.html.erb +69 -0
  96. data/app/views/permission_forge/people/_access_tab.html.erb +58 -0
  97. data/app/views/permission_forge/people/_audit_tab.html.erb +93 -0
  98. data/app/views/permission_forge/people/_effective_field_source.html.erb +11 -0
  99. data/app/views/permission_forge/people/_effective_tab.html.erb +118 -0
  100. data/app/views/permission_forge/people/_effective_why.html.erb +48 -0
  101. data/app/views/permission_forge/people/_why_item.html.erb +19 -0
  102. data/app/views/permission_forge/people/confirm_remove_all.html.erb +27 -0
  103. data/app/views/permission_forge/people/consent_preview.html.erb +39 -0
  104. data/app/views/permission_forge/people/erasure_preview.html.erb +28 -0
  105. data/app/views/permission_forge/people/index.html.erb +78 -0
  106. data/app/views/permission_forge/people/show.html.erb +54 -0
  107. data/app/views/permission_forge/permission_set_groups/confirm_destroy.html.erb +12 -0
  108. data/app/views/permission_forge/permission_set_groups/index.html.erb +55 -0
  109. data/app/views/permission_forge/permission_set_groups/show.html.erb +100 -0
  110. data/app/views/permission_forge/permission_set_rules/_builder.html.erb +145 -0
  111. data/app/views/permission_forge/permission_set_rules/_value_input.html.erb +42 -0
  112. data/app/views/permission_forge/permission_set_rules/confirm_destroy.html.erb +13 -0
  113. data/app/views/permission_forge/permission_set_rules/edit.html.erb +3 -0
  114. data/app/views/permission_forge/permission_set_rules/new.html.erb +3 -0
  115. data/app/views/permission_forge/permission_sets/_assignments_tab.html.erb +74 -0
  116. data/app/views/permission_forge/permission_sets/_audit_tab.html.erb +80 -0
  117. data/app/views/permission_forge/permission_sets/_conditions_tab.html.erb +83 -0
  118. data/app/views/permission_forge/permission_sets/_header.html.erb +36 -0
  119. data/app/views/permission_forge/permission_sets/_records_summary.html.erb +16 -0
  120. data/app/views/permission_forge/permission_sets/_resource_summary.html.erb +11 -0
  121. data/app/views/permission_forge/permission_sets/_resources_tab.html.erb +49 -0
  122. data/app/views/permission_forge/permission_sets/confirm_destroy.html.erb +23 -0
  123. data/app/views/permission_forge/permission_sets/confirm_switch_mode.html.erb +15 -0
  124. data/app/views/permission_forge/permission_sets/index.html.erb +83 -0
  125. data/app/views/permission_forge/permission_sets/new.html.erb +63 -0
  126. data/app/views/permission_forge/permission_sets/review.html.erb +26 -0
  127. data/app/views/permission_forge/permission_sets/show.html.erb +50 -0
  128. data/app/views/permission_forge/resource_actions/_across_sets.html.erb +24 -0
  129. data/app/views/permission_forge/resource_actions/_add_select.html.erb +12 -0
  130. data/app/views/permission_forge/resource_actions/_effect.html.erb +25 -0
  131. data/app/views/permission_forge/resource_actions/_endpoints.html.erb +16 -0
  132. data/app/views/permission_forge/resource_actions/_form.html.erb +44 -0
  133. data/app/views/permission_forge/resource_actions/_managed_note.html.erb +11 -0
  134. data/app/views/permission_forge/resource_actions/confirm_destroy.html.erb +13 -0
  135. data/app/views/permission_forge/resource_actions/new.html.erb +31 -0
  136. data/app/views/permission_forge/resource_actions/show.html.erb +39 -0
  137. data/app/views/permission_forge/resource_fields/_explain.html.erb +24 -0
  138. data/app/views/permission_forge/resource_fields/show.html.erb +186 -0
  139. data/app/views/permission_forge/resources/_actions_tab.html.erb +88 -0
  140. data/app/views/permission_forge/resources/_fields_tab.html.erb +89 -0
  141. data/app/views/permission_forge/resources/_rules_tab.html.erb +55 -0
  142. data/app/views/permission_forge/resources/_sync.html.erb +57 -0
  143. data/app/views/permission_forge/resources/confirm_destroy.html.erb +17 -0
  144. data/app/views/permission_forge/resources/new.html.erb +57 -0
  145. data/app/views/permission_forge/resources/show.html.erb +117 -0
  146. data/app/views/permission_forge/settings/_ladder.html.erb +15 -0
  147. data/app/views/permission_forge/settings/_row.html.erb +38 -0
  148. data/app/views/permission_forge/settings/show.html.erb +67 -0
  149. data/app/views/permission_forge/shared/_across_sets.html.erb +31 -0
  150. data/app/views/permission_forge/shared/_audit_events.html.erb +36 -0
  151. data/app/views/permission_forge/shared/_audit_footer.html.erb +16 -0
  152. data/app/views/permission_forge/shared/_audit_off_note.html.erb +15 -0
  153. data/app/views/permission_forge/shared/_audit_pagination.html.erb +19 -0
  154. data/app/views/permission_forge/shared/_audit_refused_note.html.erb +7 -0
  155. data/app/views/permission_forge/shared/_audit_timeline.html.erb +29 -0
  156. data/app/views/permission_forge/shared/_crud_cell.html.erb +18 -0
  157. data/app/views/permission_forge/shared/_dialog_frame.html.erb +11 -0
  158. data/app/views/permission_forge/shared/_expiry_picker.html.erb +27 -0
  159. data/app/views/permission_forge/shared/_head_extra.html.erb +3 -0
  160. data/app/views/permission_forge/shared/_help_banner.html.erb +10 -0
  161. data/app/views/permission_forge/shared/_level_control.html.erb +18 -0
  162. data/app/views/permission_forge/shared/_mode_banners.html.erb +22 -0
  163. data/app/views/permission_forge/shared/_nav.html.erb +12 -0
  164. data/app/views/permission_forge/shared/_preferences.html.erb +24 -0
  165. data/app/views/permission_forge/shared/_reason_field.html.erb +20 -0
  166. data/app/views/permission_forge/shared/_savebar.html.erb +13 -0
  167. data/app/views/permission_forge/shared/_sheet_frame.html.erb +22 -0
  168. data/app/views/permission_forge/shared/_sidebar.html.erb +18 -0
  169. data/app/views/permission_forge/shared/_tech_details.html.erb +20 -0
  170. data/app/views/permission_forge/shared/_toasts.html.erb +27 -0
  171. data/app/views/permission_forge/shared/_topbar.html.erb +15 -0
  172. data/app/views/permission_forge/shared/_user_select.html.erb +16 -0
  173. data/app/views/permission_forge/shared/audit_refused.html.erb +7 -0
  174. data/config/locales/permission_forge.en.yml +2115 -0
  175. data/config/locales/permission_forge.mk.yml +2166 -0
  176. data/config/locales/permission_forge.sq.yml +2164 -0
  177. data/config/routes.rb +143 -0
  178. data/lib/generators/permission_forge/install/install_generator.rb +105 -0
  179. data/lib/generators/permission_forge/install/templates/initializer.rb.tt +148 -0
  180. data/lib/generators/permission_forge/install/templates/migration.rb.tt +198 -0
  181. data/lib/generators/permission_forge/rls/rls_generator.rb +57 -0
  182. data/lib/generators/permission_forge/rls/templates/enable_permission_forge_rls.rb.tt +15 -0
  183. data/lib/generators/permission_forge/upgrade/templates/add_admin_ui_columns.rb.tt +8 -0
  184. data/lib/generators/permission_forge/upgrade/templates/add_audit_events.rb.tt +98 -0
  185. data/lib/generators/permission_forge/upgrade/templates/add_resource_fields_unique_index.rb.tt +69 -0
  186. data/lib/generators/permission_forge/upgrade/upgrade_generator.rb +66 -0
  187. data/lib/permission_forge/admin/action_across_sets.rb +76 -0
  188. data/lib/permission_forge/admin/action_rows.rb +156 -0
  189. data/lib/permission_forge/admin/attention_items.rb +207 -0
  190. data/lib/permission_forge/admin/audit_event_detail.rb +75 -0
  191. data/lib/permission_forge/admin/audit_log.rb +193 -0
  192. data/lib/permission_forge/admin/audit_log_days.rb +41 -0
  193. data/lib/permission_forge/admin/audit_lookups.rb +105 -0
  194. data/lib/permission_forge/admin/audit_name_history.rb +85 -0
  195. data/lib/permission_forge/admin/audit_trail.rb +169 -0
  196. data/lib/permission_forge/admin/bulk_people_matcher.rb +109 -0
  197. data/lib/permission_forge/admin/change_set.rb +123 -0
  198. data/lib/permission_forge/admin/change_set_parts/actions.rb +27 -0
  199. data/lib/permission_forge/admin/change_set_parts/base.rb +58 -0
  200. data/lib/permission_forge/admin/change_set_parts/context.rb +50 -0
  201. data/lib/permission_forge/admin/change_set_parts/field_edit.rb +67 -0
  202. data/lib/permission_forge/admin/change_set_parts/field_levels.rb +71 -0
  203. data/lib/permission_forge/admin/change_set_parts/new_actions.rb +91 -0
  204. data/lib/permission_forge/admin/change_set_parts/new_fields.rb +63 -0
  205. data/lib/permission_forge/admin/change_set_parts/resource_edit.rb +55 -0
  206. data/lib/permission_forge/admin/change_set_parts/resource_flags.rb +19 -0
  207. data/lib/permission_forge/admin/change_set_parts/set_attrs.rb +45 -0
  208. data/lib/permission_forge/admin/change_set_parts/values.rb +20 -0
  209. data/lib/permission_forge/admin/column_fields.rb +48 -0
  210. data/lib/permission_forge/admin/conditions_form.rb +78 -0
  211. data/lib/permission_forge/admin/controller_catalog.rb +166 -0
  212. data/lib/permission_forge/admin/csv.rb +41 -0
  213. data/lib/permission_forge/admin/editable_lock.rb +157 -0
  214. data/lib/permission_forge/admin/effective_access.rb +158 -0
  215. data/lib/permission_forge/admin/effective_fields.rb +176 -0
  216. data/lib/permission_forge/admin/expiry_presets.rb +51 -0
  217. data/lib/permission_forge/admin/exports/document.rb +89 -0
  218. data/lib/permission_forge/admin/exports/events.rb +51 -0
  219. data/lib/permission_forge/admin/exports/holdings.rb +118 -0
  220. data/lib/permission_forge/admin/exports.rb +37 -0
  221. data/lib/permission_forge/admin/field_across_sets.rb +51 -0
  222. data/lib/permission_forge/admin/field_detail.rb +112 -0
  223. data/lib/permission_forge/admin/field_level.rb +74 -0
  224. data/lib/permission_forge/admin/field_rows.rb +137 -0
  225. data/lib/permission_forge/admin/last_changes.rb +94 -0
  226. data/lib/permission_forge/admin/model_catalog.rb +216 -0
  227. data/lib/permission_forge/admin/people_candidates.rb +108 -0
  228. data/lib/permission_forge/admin/people_directory.rb +158 -0
  229. data/lib/permission_forge/admin/permission_set_factory.rb +48 -0
  230. data/lib/permission_forge/admin/person_label.rb +95 -0
  231. data/lib/permission_forge/admin/record_id.rb +19 -0
  232. data/lib/permission_forge/admin/rule_builder.rb +58 -0
  233. data/lib/permission_forge/admin/rule_form.rb +175 -0
  234. data/lib/permission_forge/admin/rule_form_input.rb +74 -0
  235. data/lib/permission_forge/admin/sensitive_columns.rb +68 -0
  236. data/lib/permission_forge/admin/settings_catalog.rb +261 -0
  237. data/lib/permission_forge/admin/settings_values.rb +130 -0
  238. data/lib/permission_forge/api/serializers/audit_event_serializer.rb +27 -0
  239. data/lib/permission_forge/api/serializers/base_serializer.rb +36 -0
  240. data/lib/permission_forge/api/serializers/permission_set_group_serializer.rb +12 -0
  241. data/lib/permission_forge/api/serializers/permission_set_group_user_serializer.rb +11 -0
  242. data/lib/permission_forge/api/serializers/permission_set_rule_serializer.rb +25 -0
  243. data/lib/permission_forge/api/serializers/permission_set_serializer.rb +13 -0
  244. data/lib/permission_forge/api/serializers/permission_set_user_serializer.rb +11 -0
  245. data/lib/permission_forge/api/serializers/resource_action_serializer.rb +13 -0
  246. data/lib/permission_forge/api/serializers/resource_field_serializer.rb +14 -0
  247. data/lib/permission_forge/api/serializers/resource_serializer.rb +15 -0
  248. data/lib/permission_forge/audit/actor.rb +144 -0
  249. data/lib/permission_forge/audit/actor_resolver.rb +103 -0
  250. data/lib/permission_forge/audit/audited_views.rb +208 -0
  251. data/lib/permission_forge/audit/boot_warnings.rb +58 -0
  252. data/lib/permission_forge/audit/column_values.rb +56 -0
  253. data/lib/permission_forge/audit/context.rb +98 -0
  254. data/lib/permission_forge/audit/detached.rb +62 -0
  255. data/lib/permission_forge/audit/event_catalog.rb +110 -0
  256. data/lib/permission_forge/audit/event_query.rb +192 -0
  257. data/lib/permission_forge/audit/failure.rb +47 -0
  258. data/lib/permission_forge/audit/field_access.rb +186 -0
  259. data/lib/permission_forge/audit/gate.rb +167 -0
  260. data/lib/permission_forge/audit/job_context.rb +32 -0
  261. data/lib/permission_forge/audit/log_access.rb +36 -0
  262. data/lib/permission_forge/audit/recorder.rb +168 -0
  263. data/lib/permission_forge/audit/refusals.rb +61 -0
  264. data/lib/permission_forge/audit/request_context.rb +152 -0
  265. data/lib/permission_forge/audit/runtime.rb +178 -0
  266. data/lib/permission_forge/audit/runtime_emission.rb +135 -0
  267. data/lib/permission_forge/audit/settings_observer.rb +70 -0
  268. data/lib/permission_forge/audit/source.rb +54 -0
  269. data/lib/permission_forge/audit/subscribers/base.rb +69 -0
  270. data/lib/permission_forge/audit/subscribers/legacy_hooks.rb +97 -0
  271. data/lib/permission_forge/audit/subscribers/log.rb +45 -0
  272. data/lib/permission_forge/audit/subscribers.rb +58 -0
  273. data/lib/permission_forge/audit.rb +302 -0
  274. data/lib/permission_forge/boot_checks.rb +184 -0
  275. data/lib/permission_forge/cache/backlog.rb +142 -0
  276. data/lib/permission_forge/cache/base.rb +200 -0
  277. data/lib/permission_forge/cache/bulk_invalidation.rb +131 -0
  278. data/lib/permission_forge/cache/failure.rb +171 -0
  279. data/lib/permission_forge/cache/handled_errors.rb +82 -0
  280. data/lib/permission_forge/cache/holder_invalidation.rb +85 -0
  281. data/lib/permission_forge/cache/invalidation.rb +180 -0
  282. data/lib/permission_forge/cache/memory_cache.rb +77 -0
  283. data/lib/permission_forge/cache/null_cache.rb +40 -0
  284. data/lib/permission_forge/cache/rails_cache.rb +231 -0
  285. data/lib/permission_forge/cache/rebuild.rb +149 -0
  286. data/lib/permission_forge/cache/settlement.rb +63 -0
  287. data/lib/permission_forge/cache/user_keys.rb +206 -0
  288. data/lib/permission_forge/cache/variant_removal.rb +55 -0
  289. data/lib/permission_forge/cache/withheld_notice.rb +60 -0
  290. data/lib/permission_forge/concerns/audited_collection.rb +34 -0
  291. data/lib/permission_forge/concerns/auto_permission_scoping.rb +158 -0
  292. data/lib/permission_forge/concerns/controller_action_guard.rb +106 -0
  293. data/lib/permission_forge/concerns/field_mask_checker.rb +45 -0
  294. data/lib/permission_forge/concerns/has_active_scope.rb +12 -0
  295. data/lib/permission_forge/concerns/has_audit_trail.rb +59 -0
  296. data/lib/permission_forge/concerns/has_permission_set_users.rb +115 -0
  297. data/lib/permission_forge/concerns/has_tenant_scoping.rb +86 -0
  298. data/lib/permission_forge/concerns/has_uuid.rb +24 -0
  299. data/lib/permission_forge/concerns/invalidates_in_batch.rb +207 -0
  300. data/lib/permission_forge/concerns/invalidates_managed_actions.rb +80 -0
  301. data/lib/permission_forge/concerns/masked_attributes/alias_access.rb +280 -0
  302. data/lib/permission_forge/concerns/masked_attributes/store_access.rb +100 -0
  303. data/lib/permission_forge/concerns/masked_attributes/validation_reads.rb +153 -0
  304. data/lib/permission_forge/concerns/masked_attributes/virtual_readers.rb +242 -0
  305. data/lib/permission_forge/concerns/masked_attributes.rb +576 -0
  306. data/lib/permission_forge/concerns/permission_cache_accessor.rb +416 -0
  307. data/lib/permission_forge/concerns/permission_scoped_findable.rb +337 -0
  308. data/lib/permission_forge/concerns/permissioned_user.rb +78 -0
  309. data/lib/permission_forge/concerns/permissions_memo.rb +160 -0
  310. data/lib/permission_forge/concerns/permissions_per_context.rb +288 -0
  311. data/lib/permission_forge/concerns/permissions_regenerator.rb +43 -0
  312. data/lib/permission_forge/concerns/records_audit_events.rb +286 -0
  313. data/lib/permission_forge/concerns/resource_permission_checker.rb +116 -0
  314. data/lib/permission_forge/concerns/validates_column_lengths.rb +69 -0
  315. data/lib/permission_forge/concerns/validates_dependency.rb +54 -0
  316. data/lib/permission_forge/conditional_sets.rb +361 -0
  317. data/lib/permission_forge/configuration/admin_ui_settings.rb +108 -0
  318. data/lib/permission_forge/configuration/audit_settings.rb +184 -0
  319. data/lib/permission_forge/configuration/cache_settings.rb +76 -0
  320. data/lib/permission_forge/configuration/controller_action_settings.rb +112 -0
  321. data/lib/permission_forge/configuration/gdpr_settings.rb +70 -0
  322. data/lib/permission_forge/configuration/masked_attributes_settings.rb +83 -0
  323. data/lib/permission_forge/configuration/permits_attributes_settings.rb +26 -0
  324. data/lib/permission_forge/configuration/presets.rb +139 -0
  325. data/lib/permission_forge/configuration/query_scoping_settings.rb +107 -0
  326. data/lib/permission_forge/configuration/strategy_values.rb +57 -0
  327. data/lib/permission_forge/configuration/virtual_attributes_settings.rb +65 -0
  328. data/lib/permission_forge/configuration.rb +624 -0
  329. data/lib/permission_forge/controller_actions/authorizer.rb +171 -0
  330. data/lib/permission_forge/controller_actions/managed_index.rb +213 -0
  331. data/lib/permission_forge/controller_actions/mapping.rb +167 -0
  332. data/lib/permission_forge/controller_actions.rb +122 -0
  333. data/lib/permission_forge/deprecation.rb +86 -0
  334. data/lib/permission_forge/engine.rb +113 -0
  335. data/lib/permission_forge/execution_state.rb +318 -0
  336. data/lib/permission_forge/invalidation_batch.rb +206 -0
  337. data/lib/permission_forge/masked_models.rb +226 -0
  338. data/lib/permission_forge/masking_sync.rb +271 -0
  339. data/lib/permission_forge/model_bindings.rb +90 -0
  340. data/lib/permission_forge/open_transaction.rb +303 -0
  341. data/lib/permission_forge/operators/constants.rb +41 -0
  342. data/lib/permission_forge/operators/registry.rb +300 -0
  343. data/lib/permission_forge/operators/rule_column.rb +120 -0
  344. data/lib/permission_forge/operators/validations.rb +111 -0
  345. data/lib/permission_forge/operators/value_casters/number.rb +68 -0
  346. data/lib/permission_forge/operators/value_casters/temporal.rb +69 -0
  347. data/lib/permission_forge/operators/value_casters.rb +80 -0
  348. data/lib/permission_forge/operators/value_typing.rb +115 -0
  349. data/lib/permission_forge/query_scoping_warnings.rb +68 -0
  350. data/lib/permission_forge/rake_audit.rb +65 -0
  351. data/lib/permission_forge/resource_chain.rb +190 -0
  352. data/lib/permission_forge/rls.rb +209 -0
  353. data/lib/permission_forge/services/attribute_access_guard.rb +138 -0
  354. data/lib/permission_forge/services/audit_event_purger.rb +150 -0
  355. data/lib/permission_forge/services/bulk_permission_set_assignment.rb +108 -0
  356. data/lib/permission_forge/services/concerns/across_tenants.rb +69 -0
  357. data/lib/permission_forge/services/concerns/audited_operation.rb +43 -0
  358. data/lib/permission_forge/services/concerns/clonable.rb +29 -0
  359. data/lib/permission_forge/services/consent_withdrawal_handler.rb +135 -0
  360. data/lib/permission_forge/services/dashboard_stats.rb +43 -0
  361. data/lib/permission_forge/services/data_subject_erasure.rb +306 -0
  362. data/lib/permission_forge/services/expired_assignment_cleaner.rb +152 -0
  363. data/lib/permission_forge/services/extra_field_defaults.rb +71 -0
  364. data/lib/permission_forge/services/field_permission_merger.rb +83 -0
  365. data/lib/permission_forge/services/filters_response_attributes.rb +144 -0
  366. data/lib/permission_forge/services/gdpr_field_auditor/text_report.rb +63 -0
  367. data/lib/permission_forge/services/gdpr_field_auditor.rb +223 -0
  368. data/lib/permission_forge/services/host_key_guard.rb +110 -0
  369. data/lib/permission_forge/services/mask_value.rb +93 -0
  370. data/lib/permission_forge/services/permission_cache_clearer.rb +174 -0
  371. data/lib/permission_forge/services/permission_hash_builder.rb +305 -0
  372. data/lib/permission_forge/services/permission_rule_applier.rb +192 -0
  373. data/lib/permission_forge/services/permission_set_cloner.rb +89 -0
  374. data/lib/permission_forge/services/permission_set_condition_evaluator.rb +102 -0
  375. data/lib/permission_forge/services/permission_set_group_cloner.rb +52 -0
  376. data/lib/permission_forge/services/permits_attributes/nested_records.rb +106 -0
  377. data/lib/permission_forge/services/permits_attributes.rb +270 -0
  378. data/lib/permission_forge/services/resource_field_generator.rb +93 -0
  379. data/lib/permission_forge/services/resource_with_fields_builder.rb +47 -0
  380. data/lib/permission_forge/services/rls_operator_sql.rb +131 -0
  381. data/lib/permission_forge/services/rls_policy_generator.rb +365 -0
  382. data/lib/permission_forge/services/security_audit/action_check.rb +157 -0
  383. data/lib/permission_forge/services/security_audit/assignment_check.rb +120 -0
  384. data/lib/permission_forge/services/security_audit/audit_trail_check.rb +166 -0
  385. data/lib/permission_forge/services/security_audit/base_check.rb +57 -0
  386. data/lib/permission_forge/services/security_audit/config_check.rb +212 -0
  387. data/lib/permission_forge/services/security_audit/integrity_check.rb +105 -0
  388. data/lib/permission_forge/services/security_audit/personal_data_check.rb +79 -0
  389. data/lib/permission_forge/services/security_audit/privilege_check.rb +67 -0
  390. data/lib/permission_forge/services/security_audit/rule_check.rb +141 -0
  391. data/lib/permission_forge/services/security_audit/text_report.rb +46 -0
  392. data/lib/permission_forge/services/security_audit/user_model_check.rb +67 -0
  393. data/lib/permission_forge/services/security_audit.rb +75 -0
  394. data/lib/permission_forge/services/stale_assignment_auditor.rb +68 -0
  395. data/lib/permission_forge/services/unscoped_query_detector.rb +132 -0
  396. data/lib/permission_forge/version.rb +3 -0
  397. data/lib/permission_forge/virtual_fields/discovery.rb +65 -0
  398. data/lib/permission_forge/virtual_fields.rb +102 -0
  399. data/lib/permission_forge.rb +464 -0
  400. data/lib/tasks/permission_forge.rake +31 -0
  401. data/lib/tasks/permission_forge_audit_events.rake +28 -0
  402. data/lib/tasks/permission_forge_cache.rake +26 -0
  403. data/lib/tasks/permission_forge_expiration.rake +30 -0
  404. data/lib/tasks/permission_forge_gdpr.rake +69 -0
  405. data/lib/tasks/permission_forge_rls.rake +38 -0
  406. metadata +515 -0
@@ -0,0 +1,2166 @@
1
+ ---
2
+ mk:
3
+ permission_forge:
4
+ api:
5
+ errors:
6
+ action_not_authorized: Акцијата не е авторизирана
7
+ assignment_not_authorized: Доделувањето не е авторизирано
8
+ field_generation_failed: Не може да се генерираат полиња за овој ресурс
9
+ forbidden: Забрането
10
+ not_editable: Овој запис не може да се уредува
11
+ not_found: Записот не е пронајден
12
+ tenant_required: Ова барање нема закупец. API-то за администрација служи по
13
+ еден закупец.
14
+ assignments:
15
+ confirm_destroy:
16
+ body: "%{name} ќе го изгуби пристапот до %{resources}, освен ако друг сет
17
+ на дозволи не го дава. Ова важи веднаш."
18
+ body_muting: "%{name} повеќе нема да биде ограничен од %{set}. Другите сетови
19
+ на дозволи важат во целост. Ова важи веднаш."
20
+ body_nothing: Овој сет не му дава ниеден ресурс на %{name}, па ништо од она
21
+ што го гледа не се менува.
22
+ crumb: Отстрани пристап
23
+ title: Да се отстрани „%{set}“ од %{name}?
24
+ new:
25
+ already: Веќе го има
26
+ applies_now: Доделувањето важи веднаш.
27
+ assign: Додели
28
+ assign_many:
29
+ one: Додели %{count} сет
30
+ other: Додели %{count} сетови
31
+ change: Промени
32
+ expires: Истекува
33
+ filter_sets: Филтрирај сетови на дозволи
34
+ forever: без краен датум
35
+ muting_notice: "⊘ Пригушувачки. %{sets} му одзема пристап на %{name}, без
36
+ оглед на тоа што дозволуваат другите сетови."
37
+ no_sets: Ниеден сет на дозволи не одговара.
38
+ person: Корисник
39
+ summary: "%{name} добива %{sets}, %{until}. Ова важи веднаш."
40
+ this_person: овој корисник
41
+ title: Додели сет на дозволи
42
+ title_person: Додели сет на дозволи на %{name}
43
+ title_set: Додели „%{set}“
44
+ until: до %{date}
45
+ person_options:
46
+ capped: Прикажани се %{shown} од %{total} резултати. Продолжете да пишувате
47
+ за да го стесните изборот.
48
+ label: Корисници
49
+ no_match: Никој не одговара на „%{query}“. Проверете го правописот или пребарајте
50
+ по е-пошта.
51
+ nobody: Нема корисници за прикажување.
52
+ audit_events:
53
+ index:
54
+ empty_filtered: Ниеден настан не одговара на овие филтри.
55
+ export: Извези
56
+ export_title: Преземи го секој настан што одговара на овие филтри како %{kind}
57
+ filters:
58
+ actor_id: Извршител (id на лицето)
59
+ actor_type: Вид на извршител
60
+ any_actor_type: Секој вид
61
+ any_category: Секоја категорија
62
+ any_event: Секој настан
63
+ any_set: Секој сет на дозволи
64
+ apply: Примени филтри
65
+ category: Категорија
66
+ clear: Исчисти филтри
67
+ correlation_id: Акција (id на корелација)
68
+ deleted_set: 'Избришан сет на дозволи #%{id}'
69
+ event: Настан
70
+ from: Од
71
+ id_placeholder: Id
72
+ label: Филтрирај го ревизискиот дневник
73
+ permission_set: Сет на дозволи
74
+ record_id: Id на записот
75
+ record_type: Вид на запис
76
+ record_uuid: Uuid на записот
77
+ subject_user_id: Лице (id)
78
+ time_zone: Датумите се денови во зоната %{zone}.
79
+ to: До
80
+ views: Вклучи ги прегледите на дневникот (audit.viewed)
81
+ holdings: Кој што има (CSV)
82
+ holdings_title: Секое доделување како што е сега, со тоа кој го доделил, кога
83
+ истекува и последниот преглед
84
+ invalid:
85
+ blank: "%{field} е потребно за овој филтер."
86
+ invalid: "%{field}: оваа вредност не е важечка."
87
+ invalid_value: "%{field}: „%{value}“ не е важечко."
88
+ title: Проверете ги филтрите
89
+ newest_first: Најновите прво
90
+ results:
91
+ one: "%{count} настан"
92
+ other: "%{count} настани"
93
+ subtitle: Промените на дозволите, доделувањата и прегледите забележани додека
94
+ дневникот е вклучен, и кој го прегледал или извезол. Овие страници никогаш
95
+ не менуваат ниту бришат настан (бришењето на податоци ги чисти само ознаките
96
+ со имиња).
97
+ title: Ревизиски дневник
98
+ views_hidden: Прегледите на ревизискиот дневник се скриени овде за да не ги
99
+ затрупаат промените. Извозите секогаш ги вклучуваат.
100
+ views_show: Вклучи ги прегледите на дневникот
101
+ show:
102
+ actor: Извршител
103
+ after: По
104
+ all_by_actor: Сите настани од овој извршител
105
+ all_for_person: Сите настани за ова лице
106
+ all_for_record: Сите настани на овој запис
107
+ all_for_set: Сите настани на овој сет на дозволи
108
+ all_in_action: Сите настани од оваа акција
109
+ attribute: Атрибут
110
+ before: Пред
111
+ changes: Пред и по
112
+ changes_desc:
113
+ one: "%{count} атрибут е променет"
114
+ other: "%{count} атрибути се променети"
115
+ correlation: Акција
116
+ data: Повеќе детали
117
+ id: id %{id}
118
+ ip: IP адреса
119
+ key: Клуч
120
+ no_data: Не се забележани други детали.
121
+ no_reason: Нема дадена причина
122
+ open_person: Отвори го лицето
123
+ permission_set: Сет на дозволи
124
+ person: Лице
125
+ reason: Причина
126
+ record: Запис
127
+ request_id: Id на барањето
128
+ snapshot: Состојба
129
+ snapshot_desc: Записот како што бил креиран.
130
+ snapshot_destroyed: Записот како што бил кога бил отстранет.
131
+ source: Каде
132
+ title: Ревизиски настан %{event}
133
+ uuid: Id на настанот
134
+ value: Вредност
135
+ what: Што
136
+ who: Кој, каде и зошто
137
+ audit_log:
138
+ actor_named:
139
+ api: "%{name} (API)"
140
+ basic_auth: "%{name} (прозорец за лозинка)"
141
+ actor_types:
142
+ api: API клиент
143
+ basic_auth: Прозорец за лозинка
144
+ system: Систем
145
+ unknown: Непознат
146
+ user: Лице
147
+ boolean:
148
+ 'false': Не
149
+ 'true': Да
150
+ categories:
151
+ access: Пристап
152
+ admin: Администрација
153
+ change: Промена
154
+ system: Систем
155
+ deleted_group: 'Група #%{id}'
156
+ deleted_set: 'Сет на дозволи #%{id}'
157
+ details: Детали
158
+ empty: Сè уште нема забележани настани.
159
+ empty_text: "(празен текст)"
160
+ filter_actor: Прикажи го секој настан од овој извршител
161
+ filter_event: Прикажи го секој настан %{event}
162
+ first_page: Прва
163
+ last_page: Последна
164
+ list_label: Ревизиски настани, најновите прво
165
+ no_value: ништо
166
+ 'off':
167
+ disabled: Бележењето е исклучено (audit_events = false). Промените направени
168
+ сега не влегуваат во дневникот.
169
+ failing: audit_events е true, но ревизиската табела не постои, па секоја промена
170
+ на дозволите не успева. Извршете bin/rails generate permission_forge:upgrade
171
+ и миграциите.
172
+ missing_table: Ревизиската табела сè уште не постои, па ништо не се бележи.
173
+ Извршете bin/rails generate permission_forge:upgrade и миграциите.
174
+ title: Ревизискиот дневник не бележи
175
+ page_of: Страница %{page} од %{pages}
176
+ pages_label: Страници
177
+ person_id: 'Лице #%{id}'
178
+ reason_inline: 'Причина: %{reason}'
179
+ refused:
180
+ body: Читањето на ревизискиот дневник е ограничено со поставката audit_log_authorization,
181
+ и ова барање не беше дозволено. Одбивањето се бележи во ревизискиот дневник
182
+ додека бележењето е вклучено.
183
+ title: Не можете да го читате ревизискиот дневник
184
+ sentence_variants:
185
+ assignment_revoked_expired: "%{actor} му го отстрани на %{person} сетот на
186
+ дозволи %{set} откако истече на %{date}."
187
+ field_access_limited: "%{actor} го прочита %{record} со овие полиња скриени
188
+ или маскирани: %{fields}."
189
+ sentences:
190
+ access:
191
+ denied: На %{actor} му беше одбиен пристапот до %{record}.
192
+ action:
193
+ denied: На %{actor} му беше одбиена акција врз %{record}.
194
+ admin:
195
+ auth_failed: Барање од %{actor} до админ екраните беше одбиено.
196
+ effective_access_viewed: "%{actor} го прегледа ефективниот пристап на %{person}."
197
+ lock_refused: "%{actor} се обиде да го промени заклучениот запис %{record}."
198
+ api:
199
+ auth_failed: API барање од %{actor} беше одбиено.
200
+ assignment:
201
+ changed: "%{actor} го промени доделувањето на %{person} за %{set}."
202
+ granted: "%{actor} му го додели на %{person} сетот на дозволи %{set}."
203
+ reviewed: "%{actor} го прегледа пристапот на %{person} до %{set}."
204
+ revoked: "%{actor} му го отстрани на %{person} сетот на дозволи %{set}."
205
+ audit:
206
+ exported: "%{actor} извезе ревизиски податоци."
207
+ purged: "%{actor} ги избриша ревизиските настани постари од периодот на
208
+ чување."
209
+ settings_observed: Беа забележани важечките ревизиски поставки.
210
+ viewed: "%{actor} прегледа ревизиски податоци."
211
+ cache:
212
+ cleared: "%{actor} ги исчисти кешираните дозволи на сите корисници."
213
+ cleanup:
214
+ expired_assignments: "%{actor} ги отстрани истечените доделувања."
215
+ consent:
216
+ withdrawn: "%{actor} забележа дека %{person} ја повлече согласноста; пристапот
217
+ што зависеше од неа е отстранет."
218
+ erasure:
219
+ performed: "%{actor} ги избриша податоците за дозволи на %{person}."
220
+ fallback: "%{actor}: %{event}"
221
+ field:
222
+ access: "%{actor} го прочита %{record}."
223
+ sensitive_acknowledged: "%{actor} потврди дека полето %{record} во %{set}
224
+ треба да се чита без маска."
225
+ group_membership:
226
+ added: "%{actor} го додаде %{person} во %{group}."
227
+ changed: "%{actor} го промени членството на %{person} во %{group}."
228
+ removed: "%{actor} го отстрани %{person} од %{group}."
229
+ params:
230
+ filtered: Полињата од %{model} што %{actor} не смее да ги уредува беа отстранети
231
+ од барање.
232
+ permission_set:
233
+ cloned: "%{actor} го креираше сетот на дозволи %{record} како копија."
234
+ created: "%{actor} го креираше сетот на дозволи %{record}."
235
+ destroyed: "%{actor} го избриша сетот на дозволи %{record}."
236
+ updated: "%{actor} го промени сетот на дозволи %{record}."
237
+ permission_set_group:
238
+ cloned: "%{actor} ја креираше групата %{record} како копија."
239
+ created: "%{actor} ја креираше групата %{record}."
240
+ destroyed: "%{actor} ја избриша групата %{record}."
241
+ updated: "%{actor} ја промени групата %{record}."
242
+ permission_set_rule:
243
+ created: "%{actor} го додаде правилото за записи %{record} во %{set}."
244
+ destroyed: "%{actor} го отстрани правилото за записи %{record} од %{set}."
245
+ updated: "%{actor} го промени правилото за записи %{record} во %{set}."
246
+ permissions:
247
+ invalidated: Кешираните дозволи на %{person} беа исчистени.
248
+ rebuilt: Дозволите на %{person} беа повторно изградени.
249
+ query:
250
+ unscoped: Барање врз %{model} за %{actor} се изврши без правилата за записи.
251
+ report:
252
+ generated: "%{actor} генерираше извештај."
253
+ resource:
254
+ created: "%{actor} го додаде ресурсот %{record} во %{set}."
255
+ destroyed: "%{actor} го отстрани ресурсот %{record} од %{set}."
256
+ updated: "%{actor} го промени ресурсот %{record} во %{set}."
257
+ resource_action:
258
+ created: "%{actor} ја додаде акцијата %{record} во %{set}."
259
+ destroyed: "%{actor} ја отстрани акцијата %{record} од %{set}."
260
+ updated: "%{actor} ја промени акцијата %{record} во %{set}."
261
+ resource_field:
262
+ created: "%{actor} го додаде полето %{record} во %{set}."
263
+ destroyed: "%{actor} го отстрани полето %{record} од %{set}."
264
+ updated: "%{actor} го промени полето %{record} во %{set}."
265
+ rule:
266
+ bypassed: Правилата за записи за %{model} беа прескокнати за %{actor}.
267
+ write:
268
+ masked_skipped: Маскирана вредност од %{model} не беше зачувана за %{actor}.
269
+ showing:
270
+ one: "%{from}–%{to} од %{count} настан"
271
+ other: "%{from}–%{to} од %{count} настани"
272
+ sources:
273
+ admin_ui: Админ екрани
274
+ api: API
275
+ console: Конзола
276
+ job: Задача во позадина
277
+ rake: Rake задача
278
+ runtime: Апликацијата (при работа)
279
+ service: Код
280
+ unknown: непознато
281
+ unknown_group: група
282
+ bulk_assignments:
283
+ confirm_revoke:
284
+ body: Го губат она што им го дава овој сет, освен ако друг сет не го дава.
285
+ Ова важи веднаш.
286
+ confirm:
287
+ one: Одземи од %{count} корисник
288
+ other: Одземи од %{count} корисници
289
+ crumb: Одземи
290
+ none: Прво изберете барем еден корисник.
291
+ title:
292
+ one: Да се одземе „%{set}“ од %{count} корисник?
293
+ other: Да се одземе „%{set}“ од %{count} корисници?
294
+ new:
295
+ already:
296
+ one: "%{count} веќе го има"
297
+ other: "%{count} веќе го имаат"
298
+ assign: Додели
299
+ assign_count:
300
+ one: Додели на %{count} корисник
301
+ other: Додели на %{count} корисници
302
+ check: Провери ги имињата
303
+ crumb: Групно доделување
304
+ errors:
305
+ nobody: Нема кому да се додели. Залепете е-пошти или имиња, или изберете
306
+ корисници.
307
+ not_found:
308
+ one: "%{count} не е пронајден"
309
+ other: "%{count} не се пронајдени"
310
+ paste: Залепете е-пошти или имиња
311
+ paste_hint: По еден во ред, или одделени со запирки. Се користат само точни
312
+ совпаѓања.
313
+ paste_placeholder: |-
314
+ ana@acme.com
315
+ Mark Peterson
316
+ pick: Или изберете корисници
317
+ title: Групно доделување на „%{set}“
318
+ will_assign:
319
+ one: "%{count} ќе биде доделен"
320
+ other: "%{count} ќе бидат доделени"
321
+ errors:
322
+ admin:
323
+ action_format: Користете мали букви, бројки и долни црти, почнувајќи со буква
324
+ (на пример export).
325
+ action_taken: Овој ресурс веќе има акција со тоа име.
326
+ expiry_missing: Изберете краен датум или изберете „Без истекување“.
327
+ expiry_not_future: Крајниот датум мора да биде по денешниот.
328
+ flag: Флеговите на сесија можат да содржат само букви, бројки, точки, две
329
+ точки, цртички и долни црти.
330
+ group_blank: Дајте ѝ име на групата.
331
+ ip: 'Ред %{line}: „%{ip}“ не е валидна IP адреса или CIDR опсег.'
332
+ person: Прво изберете корисник.
333
+ resource_model: Изберете модел од листата.
334
+ resource_taken: Овој модел веќе е во овој сет на дозволи.
335
+ set_name_blank: Дајте му име на сетот на дозволи.
336
+ set_name_taken: Веќе постои сет на дозволи со ова име.
337
+ sets: Изберете барем еден сет на дозволи.
338
+ no_authenticated_user: Нема автентициран корисник
339
+ rls_requires_postgres: PermissionForge RLS бара PostgreSQL — тековниот адаптер
340
+ за база на податоци не поддржува политики за безбедност на ниво на ред.
341
+ tenant_required: 'Ова барање нема закупец. Овие екрани ги прикажуваат и менуваат
342
+ дозволите на еден закупец истовремено: поставете го закупецот во контролерот
343
+ од кој наследуваат (base_controller_class), или дозволете го со config.admin_tenantless_access
344
+ = :allow.'
345
+ unscoped_query: Неограничено барање на заштитената табела '%{table}'. Користете
346
+ permission_scoped / find_by, овозможете auto_query_scoping, или завиткајте
347
+ намерен пристап во PermissionForge.without_permission_scope { }.
348
+ field_lookups:
349
+ show:
350
+ field: Поле
351
+ hint: Наведени се само сетовите што го содржат овој ресурс. Изберете ред за
352
+ да го отворите полето во тој сет.
353
+ intro: Изберете ресурс и поле за да го видите нивото на пристап во секој сет
354
+ на дозволи.
355
+ no_resources: Ниеден сет на дозволи сè уште нема ресурси.
356
+ pick_field: Изберете поле…
357
+ pick_resource: Изберете ресурс…
358
+ who_can_see: Кој може да го види %{field}?
359
+ flash:
360
+ actions:
361
+ created: Додадена е акцијата „%{action}“.
362
+ deleted: Отстранета е акцијата „%{action}“.
363
+ updated: Зачувано „%{action}“. Важи веднаш.
364
+ assignment_not_authorized: Не ви е дозволено да ја направите оваа промена на
365
+ доделување. Ништо не е променето.
366
+ assignments:
367
+ assigned: "%{name} сега има %{sets}."
368
+ assigned_until: "%{name} сега има %{sets}, до %{date}."
369
+ end_changed: 'Пристапот на %{name} до %{set}: %{when}.'
370
+ kept: Пристапот на %{name} до %{set} е означен како прегледан денес.
371
+ removed: Отстранет е %{set} од %{name}.
372
+ restored: Вратен е %{set} за %{name}.
373
+ undone: Поништено. Доделувањето е отстрането.
374
+ bulk_assignments:
375
+ assigned:
376
+ one: "%{set} е доделен на %{count} корисник."
377
+ other: "%{set} е доделен на %{count} корисници."
378
+ revoked:
379
+ one: "%{set} е одземен од %{count} корисник."
380
+ other: "%{set} е одземен од %{count} корисници."
381
+ fields:
382
+ acknowledged: Во ред. „%{field}“ нема повторно да биде означено во ревизијата
383
+ на приватност.
384
+ recommendation_applied: Применета е препорачаната маска на „%{field}“.
385
+ groups:
386
+ created: Креирана е групата „%{name}“.
387
+ deleted: Избришана е групата „%{name}“. Нејзините сетови на дозволи сега не
388
+ се во група.
389
+ duplicated: Дуплирано е „%{name}“ со сите негови сетови на дозволи.
390
+ member_added: "%{name} е додаден како член. Ова не му дава ниеден сет на дозволи."
391
+ set_added: "„%{set}“ е преместен во оваа група."
392
+ set_removed: "„%{set}“ е отстранет од оваа група."
393
+ updated: Групата е зачувана. Ничиј пристап не е променет.
394
+ locked_widening: 'Овој сет на дозволи е заклучен: пристапот може да се отстрани
395
+ или скрати, но не и да се даде или продолжи.'
396
+ locked_widening_muting: 'Овој пригушувачки сет на дозволи е заклучен: носителите
397
+ може да се додадат или задржат подолго, но не и да се отстранат или да добијат
398
+ порано крајно време.'
399
+ maintenance:
400
+ cleaned:
401
+ one: Отстрането е %{count} истечено доделување.
402
+ other: Отстранети се %{count} истечени доделувања.
403
+ not_editable: Овој запис не може да се уредува.
404
+ people:
405
+ cache_refresh_failed: Кешираните дозволи на %{name} не можеше да се освежат.
406
+ Складиштето за кеш не го потврди тоа, па старите дозволи може да останат
407
+ во употреба додека не истече траењето на кешот. Обидете се повторно.
408
+ cache_refreshed: Освежени се кешираните дозволи на %{name}.
409
+ consent_withdrawn:
410
+ one: Отстранет е %{count} сет на дозволи што бара %{flag}.
411
+ other: Отстранети се %{count} сетови на дозволи што бараат %{flag}.
412
+ consent_withdrawn_cache_kept:
413
+ one: Отстранет е %{count} сет на дозволи што бара %{flag}, но складиштето
414
+ за кеш не потврди дека кешираните дозволи се исчистени. Старите дозволи
415
+ може да останат во употреба додека не истече траењето на кешот.
416
+ other: Отстранети се %{count} сетови на дозволи што бараат %{flag}, но складиштето
417
+ за кеш не потврди дека кешираните дозволи се исчистени. Старите дозволи
418
+ може да останат во употреба додека не истече траењето на кешот.
419
+ erased: Избришани се доделувањата и кешираните дозволи на %{name}.
420
+ erased_cache_kept: Доделувањата на %{name} се избришани, но складиштето за
421
+ кеш не потврди дека кешираните дозволи се исчистени. Старите дозволи може
422
+ да останат во употреба додека не истече траењето на кешот.
423
+ removed_all:
424
+ one: Отстрането е %{count} доделување. %{name} сега нема пристап преку PermissionForge.
425
+ other: Отстранети се %{count} доделувања. %{name} сега нема пристап преку
426
+ PermissionForge.
427
+ removed_all_cache_kept:
428
+ one: Отстрането е %{count} доделување, но складиштето за кеш не потврди
429
+ дека кешираните дозволи на %{name} се исчистени. Старите дозволи може
430
+ да останат во употреба додека не истече траењето на кешот.
431
+ other: Отстранети се %{count} доделувања, но складиштето за кеш не потврди
432
+ дека кешираните дозволи на %{name} се исчистени. Старите дозволи може
433
+ да останат во употреба додека не истече траењето на кешот.
434
+ permission_set_group_users:
435
+ add_failed: Не можеше да се додаде корисникот.
436
+ removed: Корисникот е отстранет од групата.
437
+ user_not_found: Корисникот не е пронајден.
438
+ permission_sets:
439
+ conditions_saved: Условите за активирање се зачувани. Важат веднаш.
440
+ created: Креирано е „%{name}“. Сè уште никој го нема.
441
+ deleted: Избришано е „%{name}“.
442
+ duplicated: 'Дуплирано е „%{name}“: ресурсите, полињата, акциите и правилата
443
+ се копирани. Доделувањата не се.'
444
+ duplicated_outside_group: 'Дуплирано е „%{name}“: ресурсите, полињата, акциите
445
+ и правилата се копирани. Доделувањата не се. Копијата не е во „%{group}“,
446
+ која е заклучена.'
447
+ no_changes: Нема промени за зачувување.
448
+ save_failed: 'Ништо не е зачувано: %{errors}'
449
+ saved:
450
+ one: Зачувана е %{count} промена. Сега важи за %{people}.
451
+ other: Зачувани се %{count} промени. Сега важат за %{people}.
452
+ switched_granting: "„%{name}“ сега дава пристап."
453
+ switched_muting: "„%{name}“ сега е пригушувачки сет на дозволи."
454
+ resources:
455
+ added:
456
+ one: Додаден е %{resource} со %{count} поле.
457
+ other: Додаден е %{resource} со %{count} полиња.
458
+ columns_added:
459
+ one: Додадена е %{count} колона.
460
+ other: Додадени се %{count} колони.
461
+ missing_removed:
462
+ one: Отстрането е %{count} поле чија колона веќе не постои.
463
+ other: Отстранети се %{count} полиња чии колони веќе не постојат.
464
+ removed: "%{resource} е отстранет од „%{set}“."
465
+ rules:
466
+ created: Додадено е правилото „%{rule}“.
467
+ deleted: Отстрането е правилото „%{rule}“.
468
+ turned_off: Исклучено е „%{rule}“.
469
+ turned_on: Вклучено е „%{rule}“.
470
+ updated: Зачувано е правилото „%{rule}“.
471
+ home:
472
+ audit_card:
473
+ failing: Ревизиската табела недостасува, а audit_events е true, па секоја
474
+ промена на дозволите не успева. Извршете го генераторот за надградба и миграциите.
475
+ missing_table: Ревизиската табела недостасува, па ниедна промена не се бележи.
476
+ Извршете го генераторот за надградба и миграциите.
477
+ 'off': Бележењето е исклучено во иницијализаторот (audit_events = false).
478
+ Ниедна промена не се бележи.
479
+ title: Ревизискиот дневник не бележи
480
+ ending_card:
481
+ description: Доделувања што завршуваат во следните 7 дена.
482
+ extend: Продолжи за 30 дена
483
+ title: Пристап што завршува оваа недела
484
+ expired_card:
485
+ description:
486
+ one: "%{count} истечено доделување веќе не дава пристап. Со отстранување,
487
+ листите и ревизиите остануваат уредни."
488
+ other: "%{count} истечени доделувања веќе не даваат пристап. Со отстранување,
489
+ листите и ревизиите остануваат уредни."
490
+ dry_run: Пробно извршување · сè уште ништо не е променето
491
+ item: "%{person} · %{set}"
492
+ preview: Преглед на чистењето
493
+ remove:
494
+ one: Отстрани %{count}
495
+ other: Отстрани %{count}
496
+ title: Исчисти истечени доделувања
497
+ index:
498
+ all_good:
499
+ body: Ниеден пристап не завршува оваа недела, нема истечени доделувања за
500
+ чистење, секое трајно доделување е прегледано во последните %{days} дена,
501
+ а ревизијата на приватност не најде ништо.
502
+ title: Ништо не бара ваше внимание
503
+ field_lookup_title: Кој може да го види полето? Изберете ресурс и поле.
504
+ first_run:
505
+ body: PermissionForge одлучува кој може да ги гледа и менува податоците
506
+ во оваа апликација. Сè уште никој нема пристап преку него.
507
+ cta: Креирајте го вашиот прв сет на дозволи
508
+ steps:
509
+ add:
510
+ body: Изберете модели од апликацијата, потоа изберете Читање, Креирање,
511
+ Уредување, Бришење и кои полиња ги гледаат корисниците.
512
+ title: Додадете ресурси
513
+ assign:
514
+ body: Доделете го сетот на корисници, со краен датум ако пристапот е
515
+ привремен.
516
+ title: Доделете го
517
+ create:
518
+ body: Пакет пристап што го доделувате на корисници, како „Продавач“.
519
+ title: Креирајте сет на дозволи
520
+ title: Поставете пристап во 3 чекори
521
+ lookup: 'Пребарајте корисник: до што има пристап и зошто?'
522
+ people:
523
+ one: "%{count} корисник има"
524
+ other: "%{count} корисници имаат"
525
+ search_placeholder: Пребарајте корисник по име или е-пошта за да видите до
526
+ што има пристап и зошто
527
+ sets:
528
+ one: "%{count} активен сет на дозволи"
529
+ other: "%{count} активни сетови на дозволи"
530
+ subtitle: "%{things} · %{people} пристап преку %{sets}."
531
+ things:
532
+ one: "%{count} работа за преглед"
533
+ other: "%{count} работи за преглед"
534
+ title: Бара внимание
535
+ privacy_card:
536
+ description: "%{unmasked}, %{unconfigured}."
537
+ fix: Поправи
538
+ intended: Ова е намерно
539
+ per_set_note: Секој ред гледа еден сет на дозволи сам за себе. Корисник што
540
+ има и друг сет што го конфигурира полето го следи тој сет.
541
+ show_all: Прикажи ги сите %{count}
542
+ title: Ревизија на приватност
543
+ turned_off:
544
+ one: "%{count} чувствително поле има исклучена поставка."
545
+ other: "%{count} чувствителни полиња имаат исклучена поставка."
546
+ unconfigured:
547
+ one: "%{count} чувствителна колона воопшто не е конфигурирана"
548
+ other: "%{count} чувствителни колони воопшто не се конфигурирани"
549
+ unmasked:
550
+ one: "%{count} чувствително поле се прикажува немаскирано"
551
+ other: "%{count} чувствителни полиња се прикажуваат немаскирани"
552
+ where: "%{resource} · Читливо немаскирано во „%{set}“ · %{people}"
553
+ where_turned_off: "%{resource} · Поставката во „%{set}“ е исклучена, па полето
554
+ се прикажува немаскирано · %{people}"
555
+ where_turned_off_virtual: "%{resource} · Поставката во „%{set}“ е исклучена,
556
+ па полето е читливо и уредливо по основно (виртуелно поле) · %{people}"
557
+ where_unconfigured: "%{resource} · Не е конфигурирано во „%{set}“, па се прикажува
558
+ немаскирано · %{people}"
559
+ where_virtual: "%{resource} · Не е конфигурирано во „%{set}“, па е читливо
560
+ и уредливо по основно (виртуелно поле) · %{people}"
561
+ rules_card:
562
+ join_rules: Автоматското ограничување на барањата е вклучено, но овие правила
563
+ следат релација, па тоа ги прескокнува. Важат само каде апликацијата користи
564
+ find_by или permission_scoped.
565
+ open: Отвори правила
566
+ people:
567
+ one: "%{count} лице го има овој сет."
568
+ other: "%{count} лица го имаат овој сет."
569
+ rules:
570
+ one: "%{count} правило за %{resource} во „%{name}“"
571
+ other: "%{count} правила за %{resource} во „%{name}“"
572
+ scoping_off: Автоматското ограничување на барањата е исклучено, па овие правила
573
+ важат само каде апликацијата користи find_by или permission_scoped. Другите
574
+ барања (where, all, релации) ги враќаат сите записи.
575
+ title: Правила за записи што не се применуваат насекаде
576
+ stale_card:
577
+ assigned: Доделено на %{date} од %{by}
578
+ description: Не се прегледани повеќе од %{days} дена. Потврдете дека на овие
579
+ корисници сè уште им е потребен овој пристап.
580
+ title: Застарени доделувања
581
+ tidy_card:
582
+ inactive_with_people:
583
+ one: "„%{name}“ е исклучен, но %{count} корисник сè уште го има."
584
+ other: "„%{name}“ е исклучен, но %{count} корисници сè уште го имаат."
585
+ inactive_with_people_hint: Додека е исклучен, не им дава ништо. Вклучете го
586
+ повторно или отстранете ги доделувањата.
587
+ no_people: "„%{name}“ нема корисници."
588
+ no_people_hint: Доделете го или избришете го ако повеќе не е потребен.
589
+ open: Отвори сет
590
+ title: Сетови на дозволи за средување
591
+ layouts:
592
+ application:
593
+ skip_to_content: Скокни до содржината
594
+ title: PermissionForge
595
+ nav:
596
+ audit_log: Ревизиски дневник
597
+ badge_aria:
598
+ one: "%{count} ставка бара внимание"
599
+ other: "%{count} ставки бараат внимание"
600
+ groups: Групи на сетови на дозволи
601
+ home: Почетна
602
+ people: Корисници
603
+ permission_sets: Сетови на дозволи
604
+ settings: Поставки
605
+ people:
606
+ access_tab:
607
+ assigned: Доделено %{date} од %{by}
608
+ change_end: Промени краен датум
609
+ empty: "%{name} моментално не гледа ништо преку PermissionForge."
610
+ groups_html: Исто така член на %{groups}. Членството во група не дава сетови
611
+ на дозволи.
612
+ set_off: Овој сет е исклучен, па моментално не дава ништо.
613
+ audit_tab:
614
+ assigned_by: Доделено од %{who} · %{date}
615
+ created: 'Креирано: %{value}'
616
+ disabled: Не се бележи кој креирал и кој уредувал (audit_trail_enabled е исклучено
617
+ во Поставки).
618
+ edited: 'Уредено: %{value}'
619
+ events_about: Настани за %{name}
620
+ events_by: Дејства на %{name}
621
+ kind_group: Членство во група (без пристап)
622
+ kind_muting: Пригушувачки сет на дозволи
623
+ kind_set: Сет на дозволи
624
+ made_by: Промени направени од %{name}
625
+ made_by_desc:
626
+ one: Записи што %{name} ги креирал или последен ги уредил, најновите прво.
627
+ %{count} запис.
628
+ other: Записи што %{name} ги креирал или последен ги уредил, најновите прво.
629
+ %{count} записи.
630
+ made_capped: Се прикажуваат %{count} најскоро уредени записи од секој вид.
631
+ CSV извозот ги содржи сите.
632
+ made_none: "%{name} не креирал ниту уредувал записи во PermissionForge."
633
+ no_assignments: Нема доделувања.
634
+ received: Добиен пристап
635
+ timeline: Хронологија на %{name}
636
+ timeline_desc: Секој забележан настан што го споменува %{name}, и промените
637
+ што %{name} ги направил додека бил најавен.
638
+ confirm_remove_all:
639
+ body: "%{name} ќе го изгуби пристапот до %{resources}. Ова важи веднаш."
640
+ body_no_resources: "%{name} ќе ги изгуби сите сетови на дозволи подолу. Ова
641
+ важи веднаш."
642
+ confirm:
643
+ one: Отстрани %{count} доделување
644
+ other: Отстрани ги сите %{count} доделувања
645
+ crumb: Отстрани го целиот пристап
646
+ kept: "%{sets} остануваат: заклучен пригушувачки сет на дозволи ги задржува
647
+ своите носители, бидејќи нивното отстранување би им го вратило пристапот."
648
+ nothing: "%{name} нема доделувања за отстранување."
649
+ title: Да се отстрани целиот пристап за %{name}?
650
+ consent_preview:
651
+ confirm:
652
+ one: Отстрани %{count}
653
+ other: Отстрани %{count}
654
+ flag: Флег за согласност или сесија
655
+ intro: Го отстранува %{name} од секој сет на дозволи што го бара флегот што
656
+ ќе го изберете.
657
+ no_flags: "%{name} нема сетови на дозволи што бараат флег за согласност или
658
+ сесија."
659
+ nothing: "%{name} нема сетови на дозволи што бараат %{flag}. Ништо нема да
660
+ се промени."
661
+ preview: Преглед
662
+ title: Повлечи согласност
663
+ would_remove:
664
+ one: 'Пробно извршување: %{count} сет на дозволи би бил отстранет. Сè уште
665
+ ништо не е променето.'
666
+ other: 'Пробно извршување: %{count} сетови на дозволи би биле отстранети.
667
+ Сè уште ништо не е променето.'
668
+ effective_field_source:
669
+ and_more:
670
+ one: " и уште %{count}"
671
+ other: " и уште %{count}"
672
+ from: од %{set}
673
+ muted_by: Скриено од %{set}
674
+ none: Ниеден сет не го прикажува
675
+ unconfigured: Не е конфигурирано · %{behaviour}
676
+ virtual: Виртуелно поле, читливо по основно
677
+ effective_tab:
678
+ conditional: "%{sets} важат само додека нивните услови за активирање се исполнети.
679
+ Тука се вклучени."
680
+ fields_visible: "%{visible} од %{total} полиња се видливи"
681
+ grid_label: Ефективен пристап
682
+ hidden_by_muting: Скриено со пригушување
683
+ intro: Што може %{name} да прави во моментов, со сите сетови заедно. Изберете
684
+ која било ќелија за да видите зошто.
685
+ legend: Легенда
686
+ legend_muted: Пригушено
687
+ legend_none: Не е дадено
688
+ why: Зошто
689
+ why_empty: Изберете ќелија, поле или акција за да видите кој сет на дозволи
690
+ го предизвикал тоа.
691
+ why_label: Објаснување
692
+ effective_why:
693
+ action_granted: "%{set} ја дозволува оваа акција."
694
+ action_muted: "%{set} ја блокира оваа акција."
695
+ action_none: Ниеден сет на дозволи не ја дозволува оваа акција.
696
+ field_capped: Се прикажува како Само читање бидејќи Уредување не е дозволено
697
+ на овој ресурс.
698
+ field_from: "%{set} го прикажува ова поле."
699
+ field_muted: "%{set} го скрива или маскира ова поле."
700
+ field_none: Ниеден сет на дозволи не го прикажува ова поле.
701
+ field_unconfigured: 'Ниеден сет не ја конфигурира оваа колона: %{behaviour}.'
702
+ field_variant: Ја следи поставката на %{base}.
703
+ field_virtual: Виртуелно поле од моделот, читливо освен ако некој сет не го
704
+ конфигурира.
705
+ flag_granted: "%{set} дава %{flag}."
706
+ flag_muted: "%{set} го пригушува %{flag}."
707
+ flag_none: Ниеден сет на дозволи не дава %{flag}.
708
+ no_rules: Нема правила за записи, па се прикажува секој запис.
709
+ note_add_up: 'Сетовите на дозволи се собираат: доволно е едно доделување.'
710
+ note_fields: Ако повеќе сетови прикажуваат едно поле, победува најотворената
711
+ поставка.
712
+ note_muting: Пригушувачките сетови на дозволи секогаш победуваат над сетовите
713
+ што даваат пристап.
714
+ note_rules: Правилата од сите сетови важат заедно.
715
+ records_none: Читање не е дозволено, па не се прикажуваат записи.
716
+ records_title: Кои %{resource}
717
+ view_all_from: "%{set} дава Прикажи ги сите: секој запис, правилата за записи
718
+ се прескокнуваат."
719
+ erasure_preview:
720
+ assignments:
721
+ one: "%{count} доделување"
722
+ other: "%{count} доделувања"
723
+ confirm: Избриши трајно
724
+ counts: "%{assignments} · %{groups} · кеширани дозволи"
725
+ eyebrow: GDPR чл. 17 · Неповратно
726
+ groups:
727
+ one: "%{count} членство во група"
728
+ other: "%{count} членства во групи"
729
+ intro: Ги брише доделувањата и членствата во групи на овој корисник во овој
730
+ закупец и го чисти неговото име од ревизискиот дневник. Ревизиските настани
731
+ (ид, времиња, IP-адреси, причини) се зачувуваат.
732
+ mismatch: Името не се совпаѓа. Ништо не е избришано.
733
+ title: Бришење на податоци за субјектот
734
+ title_for: Да се избришат податоците за пристап на %{name}?
735
+ type_to_confirm_html: Внесете %{name} за потврда
736
+ untouched: Сметката на корисникот во апликацијата не се допира. Полињата креирал
737
+ и уредил што покажуваат кон него се зачувуваат.
738
+ index:
739
+ columns:
740
+ ends: Пристапот завршува
741
+ person: Корисник
742
+ sets: Сетови на дозволи
743
+ empty_filter: Нема никој во овој приказ.
744
+ empty_query: Никој не одговара на „%{query}“.
745
+ export_holdings: Кој што има (CSV)
746
+ filter_label: Филтрирај корисници
747
+ filters:
748
+ all: Сите
749
+ ending: Завршува во рок од 7 дена
750
+ expired: Истечени
751
+ muting: Има пригушувачки сет
752
+ no_access: Без пристап
753
+ no_sets: Нема сетови на дозволи
754
+ showing: Прикажани %{from}–%{to} од %{total}. Пребарајте по име или е-пошта
755
+ за да го стесните изборот.
756
+ subtitle: Сите во апликацијата и сетовите на дозволи што им се доделени.
757
+ show:
758
+ actions: Акции
759
+ actions_label: Акции за корисникот
760
+ add_set: "+ Додади сет на дозволи"
761
+ menu:
762
+ add:
763
+ desc: Дајте повеќе пристап, со опционален краен датум.
764
+ title: Додади сет на дозволи
765
+ consent:
766
+ desc: Отстранете сетови што бараат флег за согласност или сесија.
767
+ title: Повлечи согласност…
768
+ erasure:
769
+ desc: GDPR чл. 17. Ги брише доделувањата и членствата во групи во овој
770
+ закупец и го чисти името од ревизискиот дневник.
771
+ title: Бришење на податоци за субјектот…
772
+ refresh:
773
+ desc: 'Ретко потребно: промените веќе важат веднаш.'
774
+ title: Освежи кеширани дозволи
775
+ remove_all:
776
+ desc: 'При заминување: го отстранува секое доделување.'
777
+ title: Отстрани го целиот пристап
778
+ troubleshooting: Решавање проблеми
779
+ tabs:
780
+ access: Пристап
781
+ audit: Ревизија
782
+ effective: Ефективен пристап
783
+ tabs_label: Делови за корисникот
784
+ why_item:
785
+ open_set: Отвори %{set} →
786
+ permission_set_groups:
787
+ confirm_destroy:
788
+ body:
789
+ one: Неговиот %{count} сет на дозволи останува и се преместува во „Не е
790
+ во група“. Ничиј пристап не се менува.
791
+ other: Неговите %{count} сетови на дозволи остануваат и се преместуваат
792
+ во „Не е во група“. Ничиј пристап не се менува.
793
+ confirm: Избриши група
794
+ crumb: Избриши
795
+ title: Да се избрише „%{name}“?
796
+ index:
797
+ create: Креирај група
798
+ empty: Сè уште нема групи. Групите ги организираат сетовите на дозволи. Додавањето
799
+ некого во група не му ги дава нејзините сетови.
800
+ help_term: Група на сетови на дозволи
801
+ help_text: Ги организира сетовите на дозволи. Додавањето некого во група не
802
+ му ги дава нејзините сетови.
803
+ members_warning:
804
+ one: "%{count} член (не ги добива овие сетови)"
805
+ other: "%{count} члена (не ги добиваат овие сетови)"
806
+ name: Име на групата
807
+ new: Нова група
808
+ sets_count:
809
+ one: "%{count} сет на дозволи"
810
+ other: "%{count} сетови на дозволи"
811
+ subtitle: Ги организира сетовите на дозволи.
812
+ ungrouped: Не е во група
813
+ show:
814
+ add_member: Додади член
815
+ add_set: Додади или премести сет тука
816
+ description: Опис на групата
817
+ description_placeholder: Додадете опис
818
+ duplicate: Целосно дуплирање
819
+ duplicate_title:
820
+ one: Ја копира групата и нејзиниот %{count} сет на дозволи со сите ресурси,
821
+ полиња, акции и правила.
822
+ other: Ја копира групата и нејзините %{count} сетови на дозволи со сите
823
+ ресурси, полиња, акции и правила.
824
+ in_group: во %{group}
825
+ members: Членови
826
+ members_note_html: Членовите <b>не</b> ги добиваат сетовите на дозволи на
827
+ оваа група. За да дадете пристап некому, доделете му сет на дозволи од неговата
828
+ страница во Корисници.
829
+ name: Име на групата
830
+ no_members: Нема членови.
831
+ no_sets: Нема сетови на дозволи во оваа група.
832
+ organisational: Промените на групите се организациски. Никогаш не го менуваат
833
+ ничиј пристап.
834
+ remove_set: Отстрани од групата
835
+ save: Зачувај
836
+ sets: Сетови на дозволи во оваа група
837
+ permission_set_rules:
838
+ builder:
839
+ active: Правилото е активно
840
+ advanced: Напредно
841
+ advanced_hint: Тип на спојување, активно
842
+ condition: Услов
843
+ errors:
844
+ field: Изберете поле за проверка.
845
+ list: Додадете барем една вредност во листата.
846
+ name_blank: Дајте му име на правилото.
847
+ range: Внесете ги двата краја на опсегот.
848
+ value: Внесете вредност или изберете „тековниот корисник“.
849
+ field: Поле за проверка
850
+ follow: Следи врска
851
+ ignored_warning: Прикажи ги сите е вклучено за овој ресурс, па правилата за
852
+ записи се игнорираат додека не се исклучи.
853
+ include_nulls: Прикажи ги и записите каде %{field} е празно
854
+ join: Тип на спојување
855
+ join_note: Важно е само кога правилото следи врска.
856
+ joins:
857
+ auto:
858
+ desc: Користи „%{choice}“ за ова правило.
859
+ title: Автоматски (препорачано)
860
+ joins:
861
+ desc: Записите без поврзаниот запис се изоставаат.
862
+ title: Само записи што го имаат поврзаниот запис
863
+ left_joins:
864
+ desc: Записите без поврзаниот запис се задржуваат.
865
+ title: И записи без него
866
+ message: Порака при блокирање
867
+ message_placeholder: Се прикажува кога некој отвора запис што ова правило
868
+ го скрива.
869
+ model_missing: Овој модел или врска веќе не постои во апликацијата.
870
+ name: Име на правилото
871
+ name_placeholder: пр. Сопствени клиенти
872
+ operator: Услов
873
+ optional: опционално
874
+ pick_field: Изберете поле…
875
+ preview: Преглед
876
+ preview_empty: Изберете поле за да го видите правилото како реченица.
877
+ relationship: Врска
878
+ remove_step: Отстрани го овој чекор на врската
879
+ save: Зачувај правило
880
+ this_field: ова поле
881
+ update_form: Ажурирај
882
+ confirm_destroy:
883
+ body: Корисниците со „%{set}“ ќе ги гледаат записите што ова правило ги криеше.
884
+ Ова важи веднаш.
885
+ title: Да се отстрани правилото „%{rule}“?
886
+ edit:
887
+ title: Уреди правило за %{resource}
888
+ new:
889
+ title: Ново правило за %{resource}
890
+ value_input:
891
+ from: Од
892
+ no_value: Не е потребна вредност за овој услов.
893
+ or: или
894
+ pick_value: Изберете вредност…
895
+ to: До
896
+ value: Вредност
897
+ values: Вредности
898
+ values_placeholder: draft, sent
899
+ permission_sets:
900
+ assignments_tab:
901
+ assign: Додели некому
902
+ assigned_on: "%{date} · од %{by}"
903
+ bulk: Групно доделување…
904
+ columns:
905
+ actions: Акции
906
+ assigned: Доделено
907
+ expires: Истекува
908
+ person: Корисник
909
+ empty: Сè уште никој го нема овој сет на дозволи.
910
+ immediate: Доделувањето или одземањето важи веднаш.
911
+ label: Доделувања
912
+ revoke_selected: Одземи од избраните
913
+ select_all: Избери ги сите прикажани
914
+ select_hint: Изберете корисници за да го одземете овој сет од повеќе одеднаш.
915
+ select_person: Избери %{name}
916
+ selected:
917
+ one: "%{count} избран"
918
+ other: "%{count} избрани"
919
+ audit_tab:
920
+ all_types: Сите типови записи
921
+ any_time: Било кога
922
+ anyone: Било кој
923
+ columns:
924
+ created: Креирано
925
+ edited: Последно уредено
926
+ record: Запис
927
+ type: Тип
928
+ count:
929
+ one: "%{count} запис"
930
+ other: "%{count} записи"
931
+ days: Временски опсег
932
+ empty: Ниеден запис не одговара на овие филтри.
933
+ label: Ревизија
934
+ last_days:
935
+ one: Последниот %{count} ден
936
+ other: Последните %{count} дена
937
+ newest_first: Најновите прво ↓
938
+ oldest_first: Најстарите прво ↑
939
+ open_log: Отвори во ревизискиот дневник
940
+ records: Записи во овој сет
941
+ timeline: Хронологија на промени
942
+ timeline_desc: Секој забележан настан на овој сет и неговите ресурси, полиња,
943
+ акции, правила и доделувања (директни доделувања; членствата во групи се
944
+ на групата), најновите прво. Отворете настан за да видите пред и по.
945
+ type: Тип на запис
946
+ who: Корисник
947
+ conditions_tab:
948
+ flag: Флег на сесија
949
+ flag_custom: Или внесете име на флег
950
+ flag_hint_html: Пријателските имиња доаѓаат од %{setting} во иницијализаторот.
951
+ flag_intro: Сетот важи само кога барањето го носи овој флег (на пример по
952
+ најава со два фактори).
953
+ from: Од
954
+ hours: Дозволени часови
955
+ hours_only: Само во одредени часови
956
+ intro: Кога се поставени услови за активирање, овој сет на дозволи важи само
957
+ додека сите се исполнети.
958
+ ips: Дозволени IP адреси или CIDR опсези
959
+ ips_hint: Поддржани се IPv4 и IPv6, пр. 10.0.0.0/8 или 2001:db8::/32.
960
+ no_flag: Не е потребен флег на сесија
961
+ one_per_line: по еден во ред
962
+ overnight: 'Преку ноќ: активно од %{from} до %{to} следното утро.'
963
+ reset: Ресетирај
964
+ save: Зачувај услови · важи за %{people}
965
+ server_time: Време на серверот (%{zone})
966
+ to: до
967
+ confirm_destroy:
968
+ body: "%{people} го губат она што им го дава овој сет (%{resources}), освен
969
+ ако друг сет не го дава."
970
+ body_muting: "%{people} повеќе нема да бидат ограничени од овој сет."
971
+ body_nobody: Никој го нема овој сет, па ничиј пристап не се менува.
972
+ confirm: Избриши сет на дозволи
973
+ crumb: Избриши
974
+ irreversible: Ова не може да се врати.
975
+ title: Да се избрише „%{name}“?
976
+ confirm_switch_mode:
977
+ to_granting:
978
+ body: Секоја поставка се превртува. Секое ⊘ што одземаше пристап наместо
979
+ тоа ќе им дава пристап на %{people} во овој сет.
980
+ confirm: Префрли во доделувачки
981
+ title: Да се префрли „%{name}“ во доделувачки сет?
982
+ to_muting:
983
+ body: Секоја поставка се превртува. Секое ✓ што даваше пристап наместо тоа
984
+ ќе им го одзема на %{people} во овој сет, надвладувајќи ги нивните други
985
+ сетови.
986
+ confirm: Префрли во пригушувачки
987
+ title: Да се префрли „%{name}“ во пригушувачки сет на дозволи?
988
+ copy_name: "%{name} (копија)"
989
+ header:
990
+ description: Опис
991
+ description_placeholder: Додадете опис за другите да знаат кога да го користат
992
+ group: Група
993
+ name: Име
994
+ index:
995
+ columns:
996
+ actions: Акции
997
+ group: Група
998
+ people: Корисници
999
+ set: Сет на дозволи
1000
+ status: Статус
1001
+ duplicate_aria: Дуплирај %{name}
1002
+ empty_body: Сетот на дозволи е пакет пристап што го доделувате на корисници.
1003
+ Креирајте еден како „Продавач“, додадете ресурси, па доделете го.
1004
+ empty_title: Сè уште нема сетови на дозволи
1005
+ filter_label: Филтрирај сетови на дозволи
1006
+ filters:
1007
+ all: Сите
1008
+ conditional: Условени
1009
+ granting: Даваат пристап
1010
+ muting: Пригушувачки
1011
+ 'off': Исклучени
1012
+ help_term: Сет на дозволи
1013
+ help_text: Пакет пристап што го доделувате на корисници. Пригушувачкиот сет
1014
+ на дозволи одзема пристап; ги надвладува сите дозволи од другите сетови.
1015
+ new: Нов сет на дозволи
1016
+ no_match: Ниеден сет на дозволи не одговара. Пробајте друго пребарување или
1017
+ филтер.
1018
+ search: Пребарај сетови на дозволи
1019
+ subtitle: Најбрзиот начин да направите нов сет е да дуплирате сличен.
1020
+ new:
1021
+ blank: Празен
1022
+ copy_of: Копија од %{name}
1023
+ create: Креирај сет на дозволи
1024
+ granting:
1025
+ desc: 'Сет на дозволи: пакет пристап што го доделувате на корисници.'
1026
+ example: 'Пример: „Продавач“ може да ги чита и уредува своите клиенти.'
1027
+ title: Дава пристап
1028
+ group: Група
1029
+ muting:
1030
+ desc: 'Пригушувачки сет на дозволи: одзема пристап. Ги надвладува сите дозволи
1031
+ од другите сетови.'
1032
+ example: 'Пример: „Надворешни соработници — без финансиски податоци“ го
1033
+ скрива IBAN и го блокира Извозот.'
1034
+ title: Одзема пристап
1035
+ name: Име
1036
+ name_placeholder: пр. Продавач
1037
+ note: Ги копира ресурсите, полињата, акциите, правилата и условите. Доделувањата
1038
+ не се копираат. Подоцна можете да префрлате помеѓу доделувачки и пригушувачки,
1039
+ но секоја поставка се превртува.
1040
+ start_from_granting: Почни од
1041
+ start_from_muting: Почни од
1042
+ title: Нов сет на дозволи
1043
+ type: Што треба да прави овој сет?
1044
+ records_summary:
1045
+ ignored:
1046
+ one: "%{count} правило се игнорира"
1047
+ other: "%{count} правила се игнорираат"
1048
+ no_rules: Нема правила · секој запис
1049
+ view_modify_all: Прикажи ги сите · Уреди ги сите
1050
+ resource_summary:
1051
+ fields:
1052
+ one: "%{count} поле"
1053
+ other: "%{count} полиња"
1054
+ masked:
1055
+ one: "%{count} маскирано"
1056
+ other: "%{count} маскирани"
1057
+ muting: "%{hidden} скриени · %{masked} присилно маскирани"
1058
+ new:
1059
+ one: "%{count} ново"
1060
+ other: "%{count} нови"
1061
+ resources_tab:
1062
+ add: Додади ресурс
1063
+ empty: Сè уште нема ресурси. Ресурсот е модел од апликацијата, како Customer.
1064
+ Додадете еден за да изберете што можат да прават корисниците со овој сет.
1065
+ label: Ресурси
1066
+ open: Отвори
1067
+ open_resource: Отвори %{resource}
1068
+ review:
1069
+ affected: 'Засегнати: %{names}.'
1070
+ back: Назад
1071
+ body: Со зачувување, ова веднаш важи за %{people}.
1072
+ body_nobody: Сè уште никој го нема овој сет, па зачувувањето не влијае на
1073
+ никого додека не го доделите.
1074
+ crumb: Преглед
1075
+ save: Зачувај промени
1076
+ title:
1077
+ one: Прегледај %{count} промена
1078
+ other: Прегледај %{count} промени
1079
+ show:
1080
+ and_more:
1081
+ one: уште %{count}
1082
+ other: уште %{count}
1083
+ impact: "%{people} засегнати. Промените важат веднаш: %{names}."
1084
+ impact_none: Сè уште никој го нема овој сет, па промените не влијаат на никого
1085
+ додека не го доделите.
1086
+ 'on': вклучено
1087
+ switch_to_granting: Префрли во доделувачки…
1088
+ switch_to_muting: Префрли во пригушувачки…
1089
+ tabs:
1090
+ assignments: Доделувања
1091
+ audit: Ревизија
1092
+ conditions: Услови
1093
+ resources: Ресурси
1094
+ tabs_label: Делови на сетот на дозволи
1095
+ resource_actions:
1096
+ add_select:
1097
+ block: Додади и блокирај
1098
+ none: Не додавај
1099
+ not_permitted: Додади, без дозвола
1100
+ permitted: Додади и дозволи
1101
+ confirm_destroy:
1102
+ body: Акцијата се отстранува од „%{set}“. Ова важи веднаш.
1103
+ title: Да се отстрани акцијата „%{action}“?
1104
+ effect:
1105
+ managed_elsewhere: Управувано од други сетови — не е дозволено тука
1106
+ managed_elsewhere_muting: Управувано од други сетови — не е блокирано тука
1107
+ permitted_by: 'Сетови што ја дозволуваат: %{sets}.'
1108
+ permitted_by_nobody: Ниеден сет на дозволи сè уште не ја дозволува.
1109
+ right_now: 'Во моментов:'
1110
+ unmanaged_allowed: Не е управувано — секој може да ја изврши
1111
+ unmanaged_blocked: Не е управувано — блокирано додека некој сет не ја дозволи
1112
+ endpoints:
1113
+ guarded: Заштитено
1114
+ guarded_title: Овој контролер ја вклучува проверката на акции, па акцијата
1115
+ се проверува при секое барање.
1116
+ not_guarded: Незаштитено
1117
+ not_guarded_title: Овој контролер не ја вклучува проверката на акции, па акцијата
1118
+ се проверува само таму каде што вашиот код повикува can?.
1119
+ form:
1120
+ block: Блокирај ја оваа акција
1121
+ description: Опис
1122
+ label: Ознака
1123
+ label_placeholder: пр. Извоз во CSV
1124
+ name: Клуч
1125
+ name_hint: Името што вашата апликација го проверува со can?(:export, …). Мали
1126
+ букви, со долни црти.
1127
+ name_suggestions: Изберете од предлозите една од акциите на контролерите за
1128
+ овој ресурс, или внесете клуч што го проверува вашиот код.
1129
+ permitted: Дозволено
1130
+ managed_note:
1131
+ body: Штом еден активен сет на дозволи има ред за некоја акција, само корисниците
1132
+ чии сетови на дозволи ја дозволуваат можат да ја извршат. Сите други се
1133
+ одбиваат.
1134
+ title: Додавањето акција ја прави управувана за сите
1135
+ unmanaged_allowed: Акција со која не управува ниеден сет на дозволи може да
1136
+ ја изврши секој.
1137
+ unmanaged_blocked: Акција со која не управува ниеден сет на дозволи е блокирана
1138
+ за сите.
1139
+ new:
1140
+ add: Додади акција
1141
+ intro: Акциите се глаголи специфични за апликацијата што вашиот код ги проверува,
1142
+ како Извоз или Синхронизација со сметководство.
1143
+ title: Нова акција за %{resource}
1144
+ where: Каде се извршува %{action}
1145
+ show:
1146
+ unlinked: Не е поврзана со акција на контролер. Тоа е очекувано за акција
1147
+ што вашиот код ја проверува со can?.
1148
+ where: Каде се извршува
1149
+ states:
1150
+ blocked: Блокирано
1151
+ not_permitted: Не е дозволено
1152
+ permitted: Дозволено
1153
+ unchanged: Непроменето
1154
+ resource_fields:
1155
+ explain:
1156
+ capped: Се прикажува како Само читање бидејќи Уредување не е дозволено на
1157
+ овој ресурс.
1158
+ full_picture: Види сè до што %{name} има пристап →
1159
+ granted: "%{name} го гледа преку %{sets}."
1160
+ muted: "%{name} не го гледа во целост бидејќи %{sets} го скрива или маскира."
1161
+ no_access: "%{name} не може да чита %{resources}."
1162
+ none: Ниеден сет не го прикажува ова поле на %{name}.
1163
+ unconfigured: Ниеден сет не ја конфигурира оваа колона, па поставката за неконфигурирани
1164
+ полиња одлучува за %{name}.
1165
+ virtual_default: "%{name} го добива ова виртуелно поле по основно, читливо
1166
+ и уредливо: еден од доделените сетови нема поставка за него."
1167
+ show:
1168
+ access_level: Ниво на пристап
1169
+ across: Низ сите сетови на дозволи
1170
+ applied: Применето
1171
+ apply_recommendation: Примени препорака
1172
+ column: Име (колона)
1173
+ custom: "(прилагодено)"
1174
+ custom_link: Прилагодени стратегии во Поставки
1175
+ description: Опис
1176
+ details: Детали
1177
+ explain: Објасни за корисник
1178
+ explain_button: Објасни
1179
+ explain_nobody: Сè уште никој не може да го чита овој ресурс.
1180
+ flags_muting_note: Во пригушувачките сетови овие флегови значат „отстрани“.
1181
+ impact: Со зачувување, ова веднаш важи за %{people}.
1182
+ label: Ознака
1183
+ mask_strategy: Стратегија за маскирање
1184
+ muting_note: Ова е пригушувачки сет на дозволи. Изборите тука одземаат пристап.
1185
+ no_rules: Ниедно правило во овој сет не филтрира по ова поле.
1186
+ not_configured: 'Нема поставка за оваа колона во „%{set}“. Со тековната конфигурација
1187
+ е: %{behaviour}.'
1188
+ not_configured_implicit: 'Нема поставка за ова поле во „%{set}“. Ја следи
1189
+ поставката „Виртуелни полиња без поставка“: со тековната конфигурација е
1190
+ читливо и уредливо по основно.'
1191
+ pick_person: Изберете корисник…
1192
+ save: Зачувај
1193
+ sensitive: 'Одговара на шаблонот за приватност „%{pattern}“. Препорачано:
1194
+ Маскирано (%{strategy}).'
1195
+ turned_off: 'Поставката за ова поле во „%{set}“ е исклучена, па не се применува.
1196
+ Со тековната конфигурација полето е: %{behaviour}.'
1197
+ turned_off_implicit: 'Поставката за ова поле во „%{set}“ е исклучена, па не
1198
+ се применува. Полето ја следи поставката „Виртуелни полиња без поставка“:
1199
+ со тековната конфигурација е читливо и уредливо по основно.'
1200
+ used_by_rules: Се користи во правила
1201
+ variants: 'Важи и за:'
1202
+ variants_muting: 'Пригушувањето на ова ги пригушува и:'
1203
+ virtual_discovered_html: 'Виртуелно поле: не е колона во базата на податоци.
1204
+ Пронајдено е на моделот и не е наведено во %{method}, па никогаш не добива
1205
+ пристап по основно.'
1206
+ virtual_html: 'Виртуелно поле: не е колона во базата на податоци. Моделот
1207
+ го изложува преку %{method}.'
1208
+ virtual_model_masking_off: Ова ниво важи таму каде што апликацијата ги филтрира
1209
+ параметрите и одговорите. Кодот што го чита полето директно од моделот ја
1210
+ добива вистинската вредност.
1211
+ virtual_model_masking_on: Ова ниво важи и кога кодот го чита полето директно
1212
+ од моделот.
1213
+ resources:
1214
+ actions_tab:
1215
+ add: Додади акција
1216
+ add_aria: Додади %{action} во овој сет
1217
+ bulk_label:
1218
+ one: 'Додади %{count} откриена акција:'
1219
+ other: 'Додади ги сите %{count} откриени акции:'
1220
+ details_aria: Детали за %{action}
1221
+ empty: Сè уште нема акции. Додадете ги глаголите што вашата апликација ги
1222
+ проверува, како export или sync.
1223
+ empty_discovery: Ниедна акција на контролер не е поврзана со овој ресурс и
1224
+ сè уште нема додадени акции.
1225
+ intro: Дозволете или блокирајте акции специфични за апликацијата за корисниците
1226
+ со овој сет.
1227
+ intro_muting: Блокирајте акции специфични за апликацијата за корисниците со
1228
+ овој сет, без оглед на тоа што дозволуваат другите сетови.
1229
+ no_guard_body_html: Дозволувањето или блокирањето акција важи само таму каде
1230
+ што вашиот код повикува can?. Вклучете го %{guard} во вашите контролери
1231
+ за да се проверува секое барање.
1232
+ no_guard_title: Ниеден контролер сè уште не ја вклучува проверката на акции
1233
+ unlinked: Не е поврзана со акција на контролер
1234
+ unlinked_title: Ниедна акција на контролер не одговара на овој клуч. Тоа е
1235
+ очекувано за акција што вашиот код ја проверува со can?.
1236
+ confirm_destroy:
1237
+ body: "%{people} го губат она што им го дава овој сет за %{resources}, освен
1238
+ ако друг сет не го дава."
1239
+ body_muting: "%{people} повеќе нема да бидат ограничени на овој ресурс од
1240
+ овој сет."
1241
+ confirm: Отстрани ресурс
1242
+ title: Да се отстрани %{resource} од „%{set}“?
1243
+ fields_tab:
1244
+ details: Детали ›
1245
+ details_aria: Детали за %{field}
1246
+ field: Поле
1247
+ filter_label: Филтрирај полиња
1248
+ filters:
1249
+ all: Сите
1250
+ edit: Може да се уредува
1251
+ hidden: Скриено
1252
+ hide: Скриено
1253
+ leave: Непроменето
1254
+ mask: Присилно маскирање
1255
+ masked: Маскирано
1256
+ read: Само читање
1257
+ sensitive: Чувствително
1258
+ unconfigured: Не е конфигурирано
1259
+ implicit_grant: Уредливо по основно
1260
+ level: Ниво на пристап
1261
+ level_aria: Ниво на пристап за %{field}
1262
+ no_match: Ниедно поле не одговара.
1263
+ not_configured: Не е конфигурирано · %{behaviour}
1264
+ read_off: Вклучете Читање за %{resource} за да изберете кои полиња ги гледаат
1265
+ корисниците.
1266
+ search: Пребарај полиња
1267
+ select_all: Избери ги сите прикажани полиња
1268
+ select_field: Избери %{field}
1269
+ select_hint: Изберете полиња за да промените повеќе одеднаш.
1270
+ selected:
1271
+ one: "%{count} избрано"
1272
+ other: "%{count} избрани"
1273
+ set_to: Постави на
1274
+ turned_off: Исклучено · %{behaviour}
1275
+ new:
1276
+ add: Додади
1277
+ already: Веќе е во овој сет
1278
+ columns:
1279
+ one: "%{count} колона"
1280
+ other: "%{count} колони"
1281
+ intro: Изберете модел од %{app}. Наведени се само вистински модели.
1282
+ models: Модели
1283
+ no_models: Ниеден модел не одговара.
1284
+ note: Полињата ќе бидат креирани од колоните и виртуелните полиња на моделот.
1285
+ note_gdpr: Полињата ќе бидат креирани од колоните и виртуелните полиња на
1286
+ моделот. Стандардите за приватност се вклучени, па чувствителните колони
1287
+ почнуваат како Маскирано.
1288
+ presets:
1289
+ block_changes:
1290
+ desc: Ги пригушува Креирање, Уредување, Бришење и секоја акција.
1291
+ title: Блокирај ги сите промени
1292
+ full:
1293
+ desc: Читање, креирање, уредување и бришење. Сите полиња може да се уредуваат.
1294
+ title: Целосен пристап
1295
+ hide_sensitive:
1296
+ desc: Ја скрива секоја колона што личи на лични податоци.
1297
+ title: Скриј ги чувствителните полиња
1298
+ leave:
1299
+ desc: Сè уште ништо не е пригушено. Поставете го сами.
1300
+ title: Остави сè непроменето
1301
+ nothing:
1302
+ desc: Сè е исклучено. Поставете го сами.
1303
+ title: Ништо
1304
+ read:
1305
+ desc: Само читање. Сите полиња се само за читање.
1306
+ title: Само читање
1307
+ search: Пребарај модели
1308
+ sensitive:
1309
+ one: "%{count} изгледа чувствително"
1310
+ other: "%{count} изгледаат чувствително"
1311
+ start_from: Почни од
1312
+ the_app: апликацијата
1313
+ title: Додади ресурс
1314
+ rules_tab:
1315
+ add: Додади правило
1316
+ all_queries: важи за сите барања
1317
+ blocked_message: 'Порака при блокирање: „%{message}“'
1318
+ empty: 'Сè уште нема правила, па записите не се ограничени: секој со овој
1319
+ сет ги гледа сите %{resources} што може да ги чита.'
1320
+ empty_muting: Пригушувачките сетови на дозволи не додаваат правила за записи.
1321
+ empty_view_all: Нема правила. Прикажи ги сите е вклучено, па секој запис е
1322
+ вклучен во секој случај.
1323
+ filter_rule: Правило за филтрирање · %{applies}
1324
+ ignored: 'Се игнорира: Прикажи ги сите е вклучено'
1325
+ ignored_both: 'Се игнорира: Прикажи ги сите и Уреди ги сите се вклучени'
1326
+ join_rule: Следи врска · важи само за ограничени пребарувања
1327
+ join_rules_warning: Овие правила следат релација, па автоматското ограничување
1328
+ на барањата ги прескокнува. Важат само каде апликацијата користи find_by
1329
+ или permission_scoped.
1330
+ muting: Пригушувачките сетови на дозволи само одземаат пристап; правилата
1331
+ за записи доаѓаат од доделувачките сетови.
1332
+ scoped_lookups: важи само за ограничени пребарувања
1333
+ scoping_off: 'Автоматското ограничување на барањата е исклучено: правилата
1334
+ важат за find_by и permission_scoped пребарувања.'
1335
+ scoping_off_warning: Автоматското ограничување на барањата е исклучено, па
1336
+ овие правила важат само каде апликацијата користи find_by или permission_scoped.
1337
+ Другите барања ги враќаат сите записи.
1338
+ scoping_on: 'Автоматското ограничување на барањата е вклучено (filter_only):
1339
+ правилата за филтрирање важат за сите барања; правилата што следат врска
1340
+ важат само за ограничени пребарувања.'
1341
+ turn_off: Исклучи
1342
+ turn_on: Вклучи
1343
+ show:
1344
+ description: Опис
1345
+ description_placeholder: Додадете опис
1346
+ help_term: Ресурс
1347
+ help_text: модел од апликацијата (тука %{model}). Во него ги избирате полињата,
1348
+ акциите и правилата за записи.
1349
+ impact: "%{people} засегнати · важи веднаш по зачувувањето"
1350
+ modify_all_html: "<b>Уреди ги сите</b>: уредување и бришење на секој запис
1351
+ од %{resource}. Ги прескокнува сите правила за записи при промени."
1352
+ modify_all_needs: Бара Прикажи ги сите и Уредување.
1353
+ muting_hint: Пригушените акции им се одземаат на корисниците со овој сет,
1354
+ без оглед на тоа што дозволуваат другите сетови.
1355
+ muting_note: Поставките тука им одземаат пристап на корисниците на %{set}.
1356
+ needs_read_hint: Уредување и Бришење бараат Читање.
1357
+ record_scope: Опсег на записи
1358
+ remove: Отстрани %{resource} од овој сет…
1359
+ rules_ignored:
1360
+ one: "%{count} правило моментално се игнорира бидејќи Прикажи ги сите е
1361
+ вклучено."
1362
+ other: "%{count} правила моментално се игнорираат бидејќи Прикажи ги сите
1363
+ е вклучено."
1364
+ tabs_label: Делови на ресурсот
1365
+ view_all_html: "<b>Прикажи ги сите</b>: читање на секој запис од %{resource}.
1366
+ Ги прескокнува сите правила за записи при читање."
1367
+ view_all_needs: Бара Читање.
1368
+ what_can_do: Што можат корисниците да прават
1369
+ sync:
1370
+ add_as:
1371
+ edit: Додај ги сите нови со целосен пристап
1372
+ hidden: Додај ги сите нови како Скриено
1373
+ hide: Додај ги сите нови како Скриено
1374
+ read: Додај ги сите нови како Само читање
1375
+ gdpr_off: Стандардите за приватност се исклучени.
1376
+ gdpr_on: 'Стандардите за приватност се вклучени: чувствителните колони се
1377
+ додаваат како Маскирано.'
1378
+ ignored_count:
1379
+ one: "%{count} се игнорира"
1380
+ other: "%{count} се игнорираат"
1381
+ ignored_link: Поставки › Игнорирани колони
1382
+ ignored_title: Игнорирано според конфигурацијата
1383
+ missing_count:
1384
+ one: "%{count} конфигурирано поле чија колона веќе не постои"
1385
+ other: "%{count} конфигурирани полиња чии колони веќе не постојат"
1386
+ missing_title: Конфигурирано, но колоната веќе не постои
1387
+ new_count:
1388
+ one: "%{count} нова колона не е конфигурирана"
1389
+ other: "%{count} нови колони не се конфигурирани"
1390
+ new_title: Нови колони, неконфигурирани
1391
+ none: Нема
1392
+ remove_missing: Отстрани ги полињата што недостасуваат
1393
+ review: Прегледај
1394
+ sensitive_rec: Чувствително → Маскирано (%{strategy})
1395
+ title: Синхронизирај полиња со моделот
1396
+ settings:
1397
+ items:
1398
+ action_guard_bypass:
1399
+ desc: Корисници за кои акциите на контролерите никогаш не се проверуваат,
1400
+ на пример администратори.
1401
+ name: Кој ја прескокнува проверката на акции
1402
+ action_guard_nil_user_strategy:
1403
+ desc: Што прави чуварот на контролерот со заштитена акција кога никој не
1404
+ е најавен. Ако не е поставено, го следи „Правила за записи кога никој
1405
+ не е најавен“.
1406
+ name: Заштитени акции без најавен корисник
1407
+ admin_app_name:
1408
+ desc: Името на апликацијата прикажано под логото на овие екрани.
1409
+ name: Име на апликацијата
1410
+ admin_assignment_authorization:
1411
+ desc: Код што одлучува дали барањето смее да промени кој има сет на дозволи
1412
+ или кој припаѓа на група, во овие екрани и во API. Се повикува со (controller,
1413
+ target, user_ids, action); action е :grant, :revoke, :change_expiry, :review,
1414
+ :add_member или :remove_member. Непоставено значи без дополнителна проверка.
1415
+ name: Кој смее да ги менува доделувањата
1416
+ admin_back_url:
1417
+ desc: 'Каде води врската под логото (стандардно: почетната страница на апликацијата).'
1418
+ name: Врска „Назад кон апликацијата“
1419
+ admin_docs_url:
1420
+ desc: Каде водат врските „Документација за конфигурација“ на оваа страница.
1421
+ name: Врска до документацијата
1422
+ admin_model_resolver:
1423
+ desc: Кои модели се нудат кога додавате ресурс.
1424
+ name: Модели понудени во администрацијата
1425
+ admin_session_flags:
1426
+ desc: Пријателски имиња за флеговите на сесија понудени во картичката Услови.
1427
+ name: Имиња на флегови на сесија
1428
+ admin_stale_assignment_days:
1429
+ desc: Трајните доделувања што не се прегледани толку долго се појавуваат
1430
+ под Застарени доделувања.
1431
+ name: Прегледај доделувања по
1432
+ admin_tenantless_access:
1433
+ desc: Што прават екраните и API-то за администрација со барање без закупец
1434
+ кога закупците се вклучени.
1435
+ name: Барања без закупец
1436
+ api_action_authorization:
1437
+ desc: Одлучува кои API повици смее да ги прави секој повикувач.
1438
+ name: Проверка на дозволи за API
1439
+ api_assignment_authorization:
1440
+ desc: Одлучува кој смее да доделува сетови на дозволи преку API.
1441
+ name: Проверка на доделување за API
1442
+ api_auth:
1443
+ desc: Како API повикувачите докажуваат кои се.
1444
+ name: Најава за API
1445
+ api_base_controller_class:
1446
+ desc: Контролерот од кој наследуваат API крајните точки.
1447
+ name: API контролер
1448
+ api_default_per_page:
1449
+ desc: Записи по API страница кога повикувачот не наведува.
1450
+ name: Стандардна големина на страница
1451
+ api_enabled:
1452
+ desc: Овозможува други системи да управуваат со сетовите на дозволи преку
1453
+ HTTP.
1454
+ name: JSON API
1455
+ api_max_per_page:
1456
+ desc: Горна граница на записи по API страница.
1457
+ name: Максимална големина на страница
1458
+ api_pagination_handler:
1459
+ desc: Како API резултатите се делат на страници.
1460
+ name: Страничење
1461
+ api_record_identifier:
1462
+ desc: Кој идентификатор го користи API во URL-адресите.
1463
+ name: Идентификатор на записи во API
1464
+ api_redact_rule_field_values:
1465
+ desc: Вредностите на правилата се скриени во API одговорите.
1466
+ name: Скриј ги вредностите на правилата во API
1467
+ api_require_authorization:
1468
+ desc: Одбива API промени кога не е конфигурирана проверка на дозволи.
1469
+ name: Барај API проверки на дозволи
1470
+ api_serializer_overrides:
1471
+ desc: Замени за тоа како записите се запишуваат во API одговорите.
1472
+ name: Прилагодени серијализатори
1473
+ api_stats_require_admin:
1474
+ desc: Само администраторите можат да ја читаат статистиката за користење
1475
+ преку API.
1476
+ name: Статистика само за администратори
1477
+ audit_actor_resolver:
1478
+ desc: Код што определува кој дејствува во барање кон овие екрани или API-то.
1479
+ Непоставено значи најавеното лице; со основна лозинка, корисничкото име.
1480
+ name: Кој се бележи како извршител
1481
+ audit_change_failure_strategy:
1482
+ desc: 'Што се случува кога промената не може да се забележи: промената се
1483
+ враќа назад (raise), поминува и се пријавува (report), или поминува и
1484
+ само се запишува во логот (log).'
1485
+ name: Кога промената не може да се забележи
1486
+ audit_events:
1487
+ desc: 'Ја бележи секоја промена направена преку моделите на дозволи — актерот
1488
+ како што е утврден (можеби непознат), кога, и претходните вредности —
1489
+ во ревизискиот дневник. Auto: вклучено кога постои ревизиската табела.'
1490
+ name: Ревизиски дневник
1491
+ audit_hook_failure_strategy:
1492
+ desc: 'Што се случува кога претплатник или hook ќе откаже при доставување
1493
+ на настан: се пријавува, само се запишува во логот, или се крева грешка.'
1494
+ name: Кога претплатник ќе откаже
1495
+ audit_log_authorization:
1496
+ desc: Код што одлучува кој смее да ги чита страниците, јазичињата, извозите
1497
+ и API-то на ревизискиот дневник. Непоставено значи секој со пристап до
1498
+ овие екрани. Подножјата „Последно уредено од“ и ознаките „Доделено од“
1499
+ сепак му го прикажуваат последниот актер на секој што може да ја отвори
1500
+ администрацијата.
1501
+ name: Кој смее да го чита ревизискиот дневник
1502
+ audit_log_subscriber:
1503
+ desc: Го запишува секој ревизиски настан и во логот на апликацијата.
1504
+ name: Копирај настани во логот
1505
+ audit_request_context:
1506
+ desc: Код што ги дава ID на барањето и IP адресата што се чуваат со секој
1507
+ настан. Непоставено значи ID на барањето и далечната IP.
1508
+ name: Детали за барањето на настаните
1509
+ audit_retention_period:
1510
+ desc: Колку долго се чуваат ревизиските настани пред задачата за чистење
1511
+ да може да ги избрише. Непоставено значи засекогаш.
1512
+ name: Чувај ревизиски настани
1513
+ audit_runtime_events:
1514
+ desc: 'Кои одлуки при извршување се чуваат, не само се објавуваат: denied,
1515
+ bypass, field_read, params_filtered, cache.'
1516
+ name: Зачувани настани при извршување
1517
+ audit_trail_enabled:
1518
+ desc: Чува креирал / последно уредил на записите на PermissionForge кога
1519
+ актерот е најавен корисник.
1520
+ name: Бележи кој креирал и кој последен уредил
1521
+ audit_user_class:
1522
+ desc: Моделот што се користи за „креирано од“ и „уредено од“.
1523
+ name: Модел на корисници за ревизија
1524
+ auto_apply_masked_attributes:
1525
+ desc: Применува маскирање кога апликацијата ги чита атрибутите директно,
1526
+ не само во одговорите.
1527
+ name: Автоматски маскирај ги атрибутите на моделот
1528
+ auto_query_scoping:
1529
+ desc: Правилата за филтрирање автоматски се додаваат на секое барање. Правилата
1530
+ што следат релација важат само за ограничени пребарувања.
1531
+ name: Примени ги правилата на сите барања
1532
+ available_locales:
1533
+ desc: Јазици на кои се достапни овие екрани.
1534
+ name: Јазици
1535
+ base_controller_class:
1536
+ desc: Контролерот на апликацијата од кој наследуваат овие екрани. Тука се
1537
+ извршува вашата проверка за најава.
1538
+ name: Администраторски контролер
1539
+ cache_backend:
1540
+ desc: Каде се кешираат пресметаните дозволи.
1541
+ name: Складиште за кеш
1542
+ cache_key_prefix:
1543
+ desc: Префикс за секој запис во кешот.
1544
+ name: Префикс на клучот за кеш
1545
+ cache_ttl:
1546
+ desc: Колку долго се чуваат пресметаните дозволи. Новата вредност важи за
1547
+ записите зачувани во кешот по промената.
1548
+ name: Траење на кешот
1549
+ conditional_set_cache_ttl:
1550
+ desc: Колку долго се чуваат дозволите за корисници со условени сетови.
1551
+ name: Траење на кешот за условени сетови
1552
+ conditional_sets_strict_mode:
1553
+ desc: Кога недостасуваат детали за барањето, строгиот режим ги третира условените
1554
+ сетови како неактивни.
1555
+ name: Строги услови за активирање
1556
+ controller_action_discovery:
1557
+ desc: Ги прикажува акциите на контролерите на апликацијата во картичката
1558
+ Акции на ресурсот, за да се дозволат или блокираат.
1559
+ name: Прикажи акции на контролери
1560
+ controller_action_resolver:
1561
+ desc: Одлучува на кој ресурс и на која акција припаѓа една акција на контролер.
1562
+ name: Поврзување на акции на контролери
1563
+ controller_discovery_exclude:
1564
+ desc: Контролери што никогаш не се прикажуваат ниту проверуваат.
1565
+ name: Изоставени контролери
1566
+ current_user_resolver:
1567
+ desc: Му кажува на PermissionForge кој е најавен при секое барање.
1568
+ name: Како се наоѓа тековниот корисник
1569
+ custom_mask_strategies:
1570
+ desc: Дополнителни стилови на маскирање дефинирани во кодот, понудени покрај
1571
+ вградените.
1572
+ name: Прилагодени стилови на маскирање
1573
+ database_row_level_security:
1574
+ desc: Дозволува самата база на податоци да ги спроведува правилата за записи
1575
+ како последна линија на одбрана.
1576
+ name: Безбедност на ниво на ред во базата
1577
+ extra_fields_default_access:
1578
+ desc: Дали виртуелно поле што никој не го конфигурирал е уредливо по основно
1579
+ или ја следи поставката „Полиња без поставка“.
1580
+ name: Виртуелни полиња без поставка
1581
+ extra_fields_method:
1582
+ desc: Метод на моделот што наведува дополнителни полиња надвор од базата
1583
+ за заштита.
1584
+ name: Метод за виртуелни полиња
1585
+ field_variant_mappings:
1586
+ desc: Поставката на полето важи и за овие поврзани имиња на колони.
1587
+ name: Поврзани варијанти на полиња
1588
+ filter_parameters_integration:
1589
+ desc: Ги додава шаблоните за приватност во filter_parameters на Rails за
1590
+ да не се прикажуваат во дневниците.
1591
+ name: Филтрирај чувствителни вредности од дневниците
1592
+ gdpr_defaults:
1593
+ desc: Колоните што изгледаат лични се маскираат по основно кога се додаваат.
1594
+ name: Стандарди за приватност
1595
+ gdpr_field_patterns:
1596
+ desc: Имињата на колони што одговараат на шаблон се означуваат како чувствителни
1597
+ и го добиваат овој стил на маскирање.
1598
+ name: Шаблони за чувствителни имиња
1599
+ gdpr_require_explicit_choice:
1600
+ desc: Апликацијата одбива да се стартува додека стандардите за приватност
1601
+ не се експлицитно вклучат или исклучат.
1602
+ name: Барај избор за стандардите за приватност
1603
+ hidden_attribute_value:
1604
+ desc: Што враќа скриениот атрибут кога кодот го чита.
1605
+ name: Вредност за скриени атрибути
1606
+ http_basic_auth_enabled:
1607
+ desc: Бара заедничко корисничко име и лозинка пред некој да ги отвори овие
1608
+ екрани.
1609
+ name: Заштити ја администрацијата со лозинка
1610
+ http_basic_auth_password:
1611
+ desc: Лозинка за барањето лозинка погоре. Никогаш не се прикажува тука.
1612
+ name: Администраторска лозинка
1613
+ http_basic_auth_user:
1614
+ desc: Корисничко име за барањето лозинка погоре.
1615
+ name: Администраторско корисничко име
1616
+ ignored_fields:
1617
+ desc: Колони со кои PermissionForge никогаш не управува. Не се појавуваат
1618
+ во листите на полиња.
1619
+ name: Игнорирани колони
1620
+ mask_virtual_attributes:
1621
+ desc: Ги крие или маскира и пресметаните полиња надвор од базата кога вашиот
1622
+ код ги чита од моделот.
1623
+ name: Маскирај виртуелни полиња на моделите
1624
+ masked_attributes_nil_user_strategy:
1625
+ desc: 'Дали маскираните модели ги враќаат зачуваните или скриените вредности
1626
+ кога нема тековен корисник (задачи, е-пошта, конзола). Моделот на корисникот
1627
+ останува читлив: најавувањето го чита пред некој да е најавен.'
1628
+ name: Маскирани атрибути кога никој не е најавен
1629
+ masked_write_protection:
1630
+ desc: Спречува маскирана вредност како „•••• 4821“ да се зачува врз вистинската.
1631
+ name: Зачувување маскирани вредности
1632
+ nil_user_strategy:
1633
+ desc: Дали правилата се прескокнуваат, сè се одбива, или се јавува грешка
1634
+ кога нема тековен корисник.
1635
+ name: Правила за записи кога никој не е најавен
1636
+ omit_hidden_in_attributes_hash:
1637
+ desc: Скриените полиња се отстрануваат од хеш-мапите на атрибути наместо
1638
+ да се постават како празни.
1639
+ name: Изостави ги скриените полиња од листите на атрибути
1640
+ on_cache_failure:
1641
+ desc: Код што се извршува кога кешираните дозволи не можеле да се исчистат,
1642
+ на пример за да ве извести. Додека не истече траењето на кешот, тој корисник
1643
+ може да ги задржи старите дозволи.
1644
+ name: Кога складиштето за кеш ќе откаже
1645
+ on_field_filtered:
1646
+ desc: Код што се извршува секој пат кога поле е филтрирано, на пример за
1647
+ да се запише во дневник.
1648
+ name: Кога поле е скриено или маскирано
1649
+ on_rule_bypass:
1650
+ desc: Код што се извршува кога Прикажи ги сите или Уреди ги сите ги прескокнува
1651
+ правилата за записи.
1652
+ name: Кога правилата се прескокнуваат
1653
+ preset:
1654
+ desc: ":strict ги затвора поставувањата што стандардно оставаат отворен
1655
+ пристап (листата за зајакнување за продукција во README), освен маскирањето
1656
+ кога никој не е најавен, кое останува изричен избор; :compat ги задржува
1657
+ стандардните вредности на библиотеката. Поставување направено во иницијализаторот
1658
+ секогаш има предност пред однапред поставените вредности."
1659
+ name: Однапред поставени вредности
1660
+ profile_builder:
1661
+ desc: Деталите за профилот кеширани со дозволите на секој корисник.
1662
+ name: Детали за профилот
1663
+ request_context_resolver:
1664
+ desc: Од каде доаѓаат IP адресата, времето и флеговите на сесија.
1665
+ name: Извор на детали за барањето
1666
+ response_filter_nil_user_strategy:
1667
+ desc: Дали филтрирањето полиња се прескокнува или сè се блокира кога нема
1668
+ тековен корисник.
1669
+ name: Одговори кога никој не е најавен
1670
+ rls_session_variable:
1671
+ desc: Име на променливата што ѝ кажува на базата кој е тековниот корисник.
1672
+ name: Променлива на сесија во базата
1673
+ snapshot_transactions:
1674
+ desc: 'Дали една трансакција во базата продолжува да ги гледа податоците
1675
+ како што биле кога започнала. Дозволите пресметани во таква трансакција
1676
+ не се кешираат. Auto одлучува според базата: MySQL и SQLite да, PostgreSQL
1677
+ само со repeatable read или посилно.'
1678
+ name: Трансакциите читаат од снимка
1679
+ table_name_prefix:
1680
+ desc: Префикс за сопствените табели на PermissionForge во базата.
1681
+ name: Префикс на табели
1682
+ tenant_column:
1683
+ desc: Колона што го содржи закупецот на секој запис.
1684
+ name: Колона за закупец
1685
+ tenant_model:
1686
+ desc: Модел што ги одделува клиентите на апликација со повеќе закупци.
1687
+ name: Модел за закупец
1688
+ unconfigured_action_strategy:
1689
+ desc: Што се случува со акција на контролер што ниеден сет на дозволи не
1690
+ ја спомнува.
1691
+ name: Акции без поставка
1692
+ unconfigured_field_strategy:
1693
+ desc: Што се случува со колона што ниеден сет на дозволи не ја спомнува.
1694
+ name: Полиња без поставка
1695
+ unscoped_query_detection:
1696
+ desc: Забележува барања што ги прескокнуваат правилата за записи.
1697
+ name: Откривај незаштитени барања
1698
+ unscoped_query_detection_environments:
1699
+ desc: Околини во кои е вклучено откривањето незаштитени барања.
1700
+ name: Откривањето работи во
1701
+ user_active_check:
1702
+ desc: Му кажува на PermissionForge дали сметката на доделениот корисник
1703
+ е сè уште активна.
1704
+ name: Проверка на активен корисник
1705
+ user_class:
1706
+ desc: Моделот што претставува корисник кој може да добива сетови на дозволи.
1707
+ name: Модел на корисници
1708
+ user_label_formatter:
1709
+ desc: Како се прикажува корисникот во листите, на пример име и е-пошта.
1710
+ name: Ознака на корисникот
1711
+ user_list_limit:
1712
+ desc: Максимален број корисници вчитани во листа пред да ви се побара да
1713
+ пребарувате.
1714
+ name: Ограничување на листата корисници
1715
+ user_list_resolver:
1716
+ desc: Кои корисници се појавуваат во изборниците на овие екрани.
1717
+ name: Извор на листата корисници
1718
+ uuid_generator:
1719
+ desc: Како се создаваат UUID-ата на записите.
1720
+ name: UUID генератор
1721
+ virtual_field_discovery:
1722
+ desc: Ги прикажува и store accessors и атрибутите од attribute API како
1723
+ виртуелни полиња.
1724
+ name: Откриј виртуелни полиња
1725
+ ladder:
1726
+ active: Активно
1727
+ database: База на податоци
1728
+ detect: Откривај
1729
+ enforce: Спроведувај
1730
+ intro: '3 нивоа на одбрана: спроведување на правилата врз барањата, откривање
1731
+ барања што ги прескокнуваат, и спроведување од самата база.'
1732
+ 'off': Исклучено
1733
+ oks:
1734
+ action_guard_nil_user_strategy: Заштитените акции на контролерите се одбиваат
1735
+ кога никој не е најавен.
1736
+ admin_tenantless_access: Администраторските барања без закупец се одбиваат.
1737
+ api_require_authorization: API промените бараат проверка на дозволи.
1738
+ audit_events: Кој што променил се бележи во ревизискиот дневник.
1739
+ audit_trail_enabled: Чува креирал / последно уредил на записите на PermissionForge
1740
+ кога актерот е најавен корисник.
1741
+ conditional_sets_strict_mode: Условените сетови се затвораат безбедно кога
1742
+ недостасуваат информации за барањето.
1743
+ extra_fields_default_access: Виртуелните полиња што никој не ги конфигурирал
1744
+ ја следат поставката „Полиња без поставка“.
1745
+ gdpr_defaults: Новите чувствителни колони почнуваат маскирани.
1746
+ http_basic_auth_enabled: Пристапот до овие екрани е заштитен.
1747
+ masked_attributes_nil_user_strategy: Маскираните модели ги кријат вредностите
1748
+ кога никој не е најавен (моделот на корисникот останува читлив за најавување).
1749
+ masked_write_protection: Маскираните вредности никогаш не се запишуваат назад.
1750
+ nil_user_strategy: Кодот без најавен корисник не гледа записи.
1751
+ preset: Однапред поставените вредности :strict ги затвораат поставувањата
1752
+ што стандардно оставаат отворен пристап.
1753
+ unconfigured_action_strategy: Акциите на контролери што никој не ги конфигурирал
1754
+ се блокираат.
1755
+ risks:
1756
+ admin_tenantless_access: Администраторските барања без закупец се опслужуваат,
1757
+ за секој закупец.
1758
+ api_require_authorization: API е вклучен, а промените се дозволени дури и
1759
+ без проверка на дозволи.
1760
+ audit_events: Промените не се бележат во ревизискиот дневник (исклучено е,
1761
+ или ревизиската табела недостасува). Со audit_events = true и без табела,
1762
+ секоја промена не успева (со стандардната стратегија :raise).
1763
+ audit_trail_enabled: Никој не се бележи како креатор или уредувач на записите.
1764
+ conditional_sets_strict_mode: Условените сетови се третираат како активни
1765
+ кога недостасуваат информации за барањето (fail-open).
1766
+ http_basic_auth_enabled: Овие екрани се или заклучени (барањето лозинка е
1767
+ вклучено, но нема податоци за најава) или незаштитени (нема лозинка ниту
1768
+ прилагоден администраторски контролер).
1769
+ masked_write_protection: Маскираните вредности може да се зачуваат врз вистинските
1770
+ податоци.
1771
+ unconfigured_field_strategy: Колоните што никој не ги конфигурирал се прикажуваат
1772
+ немаскирани на секој што може да го чита ресурсот.
1773
+ row:
1774
+ changed: Променето
1775
+ default: 'Стандардно: %{value}'
1776
+ docs: 'Документација за конфигурација: %{key} ↗'
1777
+ how_to_change: Како да се промени
1778
+ risk: Ризик
1779
+ secure: Безбедно
1780
+ snippet_current: Примерот ја прикажува тековната вредност.
1781
+ snippet_recommended: Примерот ја прикажува препорачаната вредност.
1782
+ step_deploy: Направете commit и deploy (или рестартирајте го серверот локално).
1783
+ step_edit: Уредете ја датотеката погоре.
1784
+ step_reload: Освежете ја оваа страница за потврда.
1785
+ sections:
1786
+ activation_conditions: Услови за активирање
1787
+ admin_access: Пристап до администрацијата
1788
+ admin_api: Администраторски JSON API
1789
+ admin_ui: Администраторски екрани
1790
+ audit_trail: Ревизиски дневник
1791
+ caching: Кеширање
1792
+ controller_actions: Акции на контролери
1793
+ database: База на податоци и систем
1794
+ field_protection: Заштита на полиња
1795
+ masked_attributes: Маскирани атрибути на моделите
1796
+ multi_tenancy: Повеќе закупци
1797
+ people: Корисници
1798
+ preset: Однапред поставени вредности
1799
+ privacy: Приватност (GDPR)
1800
+ record_rules: Правила за записи и ограничување на барањата
1801
+ show:
1802
+ api_disabled_html: API е исклучен (%{key}).
1803
+ changed_count:
1804
+ one: "%{count} променета"
1805
+ other: "%{count} променети"
1806
+ changed_only: Прикажи само променетите од стандардното
1807
+ has_risk: Има ризична поставка
1808
+ health: Преглед на состојбата
1809
+ how_to_fix: Како да се поправи
1810
+ intro_html: Поставките се дефинирани во %{file}. Промените бараат deploy/рестарт.
1811
+ Оваа страница ги прикажува тековните вредности и како да се променат.
1812
+ no_match: Ниедна поставка не одговара.
1813
+ read_only: Само читање
1814
+ search: Пребарај поставки
1815
+ section_meta: "%{settings} · %{changed}"
1816
+ secure_count:
1817
+ one: "%{count} поставка за безбедност и приватност изгледа добро."
1818
+ other: "%{count} поставки за безбедност и приватност изгледаат добро."
1819
+ settings_count:
1820
+ one: "%{count} поставка"
1821
+ other: "%{count} поставки"
1822
+ units:
1823
+ days:
1824
+ one: "%{count} ден"
1825
+ other: "%{count} дена"
1826
+ hours:
1827
+ one: "%{count} час"
1828
+ other: "%{count} часа"
1829
+ minutes:
1830
+ one: "%{count} минута"
1831
+ other: "%{count} минути"
1832
+ people:
1833
+ one: корисник
1834
+ other: корисници
1835
+ records:
1836
+ one: запис
1837
+ other: записи
1838
+ values:
1839
+ disabled: Исклучено
1840
+ empty: Нема
1841
+ hook_custom: Прилагодено (дефинирано во кодот)
1842
+ hook_default: Стандардно
1843
+ hook_none: Не е поставено
1844
+ never_displayed: никогаш не се прикажува
1845
+ nil: nil (не е поставено)
1846
+ not_set: Не е поставено
1847
+ 'off': Исклучено
1848
+ 'on': Вклучено
1849
+ set: Поставено
1850
+ shared:
1851
+ across_sets:
1852
+ muted_hidden: 'Пригушено: скриено'
1853
+ none: Ниеден сет на дозволи не го содржи овој ресурс.
1854
+ active: Активен
1855
+ audit_footer:
1856
+ created: Креирано од %{created_by} · %{created_at}
1857
+ disabled: Не се бележи кој креирал и кој уредувал.
1858
+ edited: Последно уредено од %{updated_by} · %{updated_at}
1859
+ history: Историја
1860
+ crud_cell:
1861
+ allowed: Дозволено
1862
+ muted: Пригушено
1863
+ needs_read: Прво вклучете Читање
1864
+ needs_read_short: Бара Читање
1865
+ 'no': Не
1866
+ unchanged: Непроменето
1867
+ expiry_picker:
1868
+ custom_label: Краен датум
1869
+ default: Стандардно
1870
+ label: Кога завршува овој пристап
1871
+ pick_date: Изберете датум
1872
+ presets:
1873
+ 1d: 1 ден
1874
+ 1w: 1 недела
1875
+ 30d: 30 дена
1876
+ custom: Прилагоден датум
1877
+ eom: Крај на месецот
1878
+ never: Без истекување
1879
+ help_banner:
1880
+ got_it: Разбрав
1881
+ inactive: Неактивен
1882
+ level_control:
1883
+ needs_edit: Прво вклучете Уредување за %{resource}
1884
+ mode_banners:
1885
+ duplicate_to_edit: Дуплирај за уредување
1886
+ locked_body_html: Овој запис има %{flag}, па тука е само за читање. Дуплирајте
1887
+ го за да направите копија што може да се уредува.
1888
+ muting_body: Ги надвладува сите дозволи од другите сетови. Сè што ќе пригушите
1889
+ или скриете тука им се одзема на неговите корисници. Оставете поставка на
1890
+ „Непроменето“ за да одлучат другите сетови.
1891
+ muting_title: 'Пригушувачки сет на дозволи: одзема пристап'
1892
+ preferences:
1893
+ language: Јазик
1894
+ signed_in_as: Најавени сте како %{name}
1895
+ theme: Тема
1896
+ themes:
1897
+ auto: Автоматски
1898
+ dark: Темна
1899
+ light: Светла
1900
+ reason_field:
1901
+ hint: Се чува со промената во ревизискиот дневник.
1902
+ label: Причина
1903
+ placeholder: на пр. тикет SEC-142
1904
+ summary: Додај причина (опционално)
1905
+ summary_short: Причина
1906
+ savebar:
1907
+ clean: Нема незачувани промени
1908
+ count:
1909
+ one: "%{count} незачувана промена"
1910
+ other: "%{count} незачувани промени"
1911
+ discard: Отфрли
1912
+ label: Незачувани промени
1913
+ note: Со зачувување, тие веднаш важат за %{people}.
1914
+ note_nobody: Сè уште никој го нема овој сет, па зачувувањето не влијае на
1915
+ никого.
1916
+ review: Прегледај и зачувај
1917
+ sidebar:
1918
+ aria: PermissionForge
1919
+ back_to_app: Назад кон %{app}
1920
+ back_to_app_generic: Назад кон апликацијата
1921
+ brand: PermissionForge
1922
+ tech_details:
1923
+ copied: Копирано
1924
+ copy: Копирај
1925
+ summary: Технички детали
1926
+ time_ago: пред %{time}
1927
+ time_nil: "—"
1928
+ toasts:
1929
+ dismiss: Затвори
1930
+ undo: Врати
1931
+ topbar:
1932
+ menu: Мени
1933
+ user: Корисник
1934
+ user_fallback: 'Корисник #%{id}'
1935
+ user_select_prompt: Изберете корисник...
1936
+ user_select_truncated: Прикажани се само првите %{count} корисници. Конфигурирајте
1937
+ user_list_resolver за да ја стесните листата.
1938
+ ui:
1939
+ actions: Акции
1940
+ apply: Примени
1941
+ assign_set: Додели сет на дозволи
1942
+ assignment:
1943
+ never_reviewed: Никогаш не е прегледано
1944
+ reviewed: Прегледано %{when}
1945
+ reviewed_by: Прегледано од %{who} на %{date}
1946
+ reviewed_on: Прегледано на %{date}
1947
+ audit:
1948
+ system: Систем
1949
+ types:
1950
+ action: Акција
1951
+ assignment: Доделување
1952
+ field: Поле
1953
+ group: Група
1954
+ group_membership: Членство во група
1955
+ permission_set: Сет на дозволи
1956
+ resource: Ресурс
1957
+ rule: Правило
1958
+ who_when: "%{who} · %{when}"
1959
+ badges:
1960
+ column_missing: Колоната недостасува
1961
+ conditional: Условен
1962
+ expired: Истечено
1963
+ fail_open: Fail-open
1964
+ fail_open_long: 'Fail-open: активен кога недостасуваат информации за барањето'
1965
+ fail_open_title: conditional_sets_strict_mode е исклучен
1966
+ locked: Заклучено
1967
+ muting: Пригушувачки
1968
+ not_configured: Не е конфигурирано
1969
+ 'off': Исклучено
1970
+ sensitive: Чувствително
1971
+ virtual: Виртуелно
1972
+ breadcrumb: Патека
1973
+ cancel: Откажи
1974
+ changes:
1975
+ action_managed_already: "(веќе е управувано; сетови што го дозволуваат: %{sets})"
1976
+ action_managed_first: "(со ова станува управувано: отсега само корисниците
1977
+ чии сетови на дозволи го дозволуваат можат да го извршат)"
1978
+ action_managed_later: "(ќе важи штом овој сет и овој ресурс бидат вклучени)"
1979
+ action_managed_nobody: "(веќе е управувано; ниеден сет на дозволи сè уште
1980
+ не го дозволува)"
1981
+ action_muted: "%{resource}: %{action} блокирано"
1982
+ action_new_muted: "%{resource}: %{action} додадено и блокирано"
1983
+ action_new_off: "%{resource}: %{action} додадено, не е дозволено"
1984
+ action_new_on: "%{resource}: %{action} додадено и дозволено"
1985
+ action_new_unmuted: "%{resource}: %{action} додадено, не е блокирано"
1986
+ action_off: "%{resource}: %{action} веќе не е дозволено"
1987
+ action_on: "%{resource}: %{action} дозволено"
1988
+ action_unmuted: "%{resource}: %{action} веќе не е блокирано"
1989
+ attributes:
1990
+ description: опис
1991
+ label: ознака
1992
+ name: име
1993
+ cascaded: "(префрлено автоматски)"
1994
+ cascaded_field: "(намалено бидејќи Уредување е исклучено)"
1995
+ field_level: "%{resource} › %{field}: %{from} → %{to}"
1996
+ field_new: "%{resource} › %{field}: поставено на %{to}"
1997
+ field_off: "%{resource} › %{field}: исклучено"
1998
+ field_on: "%{resource} › %{field}: вклучено"
1999
+ field_text: "%{resource} › %{field}: %{attribute} е променето"
2000
+ flag_off: "%{resource}: %{flag} отстрането"
2001
+ flag_off_muting: "%{resource}: %{flag} веќе не е пригушено"
2002
+ flag_on: "%{resource}: %{flag} дозволено"
2003
+ flag_on_muting: "%{resource}: %{flag} пригушено"
2004
+ resource_text: "%{resource}: %{attribute} е променето"
2005
+ set_group: Преместено во групата „%{group}“
2006
+ set_no_group: Отстрането од својата група
2007
+ set_off: Сетот е исклучен
2008
+ set_on: Сетот е вклучен
2009
+ set_text: Сет на дозволи — %{attribute} е променето
2010
+ close: Затвори
2011
+ conditions:
2012
+ always: Секогаш активен. Нема услови за активирање.
2013
+ flag_generic: кога е поставен %{flag}
2014
+ flags:
2015
+ marketing_consent: кога е дадена согласност за маркетинг
2016
+ mfa_verified: по најава со два фактори
2017
+ sso_login: по најава преку SSO на компанијата
2018
+ from_ips: од %{ips}
2019
+ hours: помеѓу %{from} и %{to}
2020
+ hours_overnight: помеѓу %{from} и %{to} (преку ноќ)
2021
+ only_works: Работи само %{parts}.
2022
+ or: " или "
2023
+ dates:
2024
+ days_ago:
2025
+ one: пред %{count} ден
2026
+ other: пред %{count} дена
2027
+ never: "—"
2028
+ today: денес
2029
+ yesterday: вчера
2030
+ delete: Избриши
2031
+ dry_run: Пробно извршување
2032
+ duplicate: Дуплирај
2033
+ edit: Уреди
2034
+ expiry:
2035
+ ends_in:
2036
+ one: Завршува за %{count} ден · %{date}
2037
+ other: Завршува за %{count} дена · %{date}
2038
+ expired: Истечено %{date}
2039
+ none: Без истекување
2040
+ today: Завршува денес
2041
+ until: До %{date}
2042
+ expiry_change:
2043
+ 1w: 1 недела од денес
2044
+ 30d: 30 дена од денес
2045
+ eom: Крај на месецот
2046
+ never: Без истекување
2047
+ export_csv: Извези CSV
2048
+ field_lookup: Пребарување поле
2049
+ fields: Полиња
2050
+ flags:
2051
+ marketing_consent: Дал согласност за маркетинг
2052
+ mfa_verified: Најавен со два фактори
2053
+ sso_login: Најавен преку SSO на компанијата
2054
+ flags_short:
2055
+ create_access: Креирање
2056
+ delete_access: Бришење
2057
+ edit_access: Уредување
2058
+ is_active: Активен
2059
+ modify_all: Уреди ги сите
2060
+ read_access: Читање
2061
+ view_all: Прикажи ги сите
2062
+ keep: Задржи
2063
+ levels:
2064
+ edit: Може да се уредува
2065
+ hidden: Скриено
2066
+ hide: Скриј
2067
+ leave: Непроменето
2068
+ mask: Присилно маскирање
2069
+ masked: Маскирано
2070
+ muted: Пригушено
2071
+ none: Не е конфигурирано
2072
+ read: Само читање
2073
+ locked:
2074
+ title: 'Заклучено: управувано од системот/API'
2075
+ mask_strategies:
2076
+ email: Е-пошта
2077
+ first1_last4: Прв 1 + последни 4
2078
+ full: Целосно
2079
+ last4: Последни 4
2080
+ months:
2081
+ apr: апр
2082
+ aug: авг
2083
+ dec: дек
2084
+ feb: фев
2085
+ jan: јан
2086
+ jul: јул
2087
+ jun: јун
2088
+ mar: мар
2089
+ may: мај
2090
+ nov: ное
2091
+ oct: окт
2092
+ sep: сеп
2093
+ next: Следно
2094
+ no_group: Не е во група
2095
+ open_person: Отвори корисник
2096
+ open_setting: Отвори поставка
2097
+ operators:
2098
+ between: е помеѓу
2099
+ contains: содржи
2100
+ ends_with: завршува со
2101
+ equal: е
2102
+ greater_than: е поголемо од
2103
+ greater_than_or_equal: е најмалку
2104
+ in: е едно од
2105
+ is_not_null: не е празно
2106
+ is_null: е празно
2107
+ less_than: е помало од
2108
+ less_than_or_equal: е најмногу
2109
+ not_contains: не содржи
2110
+ not_equal: не е
2111
+ not_in: не е едно од
2112
+ starts_with: започнува со
2113
+ people_count:
2114
+ one: "%{count} корисник"
2115
+ other: "%{count} корисници"
2116
+ previous: Претходно
2117
+ records: Записи
2118
+ remove: Отстрани
2119
+ resource: Ресурс
2120
+ rules:
2121
+ and: и
2122
+ current_user: тековниот корисник
2123
+ only_show: Прикажи само
2124
+ or_empty: или %{field} е празно
2125
+ where: каде
2126
+ rules_count:
2127
+ one: Правила (%{count})
2128
+ other: Правила (%{count})
2129
+ rules_tab: Правила
2130
+ search: Пребарај
2131
+ search_people: Пребарајте по име или е-пошта
2132
+ setting: Поставка
2133
+ states:
2134
+ blocked: Блокирано
2135
+ granted: Дозволено
2136
+ none: Не
2137
+ unconfigured:
2138
+ block: Блокирано по основно
2139
+ mask_all: Целосно маскирано
2140
+ pass_through: Се прикажува немаскирано
2141
+ warn: Се прикажува и се запишува во дневник
2142
+ view_all: Прикажи ги сите
2143
+ validations:
2144
+ name_blank: не смее да биде празно
2145
+ permission_set:
2146
+ group_missing: мора да биде постоечка група на сетови на дозволи
2147
+ permission_set_rule:
2148
+ between_requires_two_values: мора да содржи точно 2 вредности одделени со
2149
+ запирка за операторот between
2150
+ field_value_required: е потребна за овој оператор
2151
+ in_requires_values: мора да содржи барем 1 вредност одделена со запирка
2152
+ invalid_field_name: мора да биде валидно име на колона (букви, бројки, долни
2153
+ црти, точки)
2154
+ invalid_join_type: не е валиден тип на спојување
2155
+ invalid_operator: не е валиден оператор
2156
+ numeric_or_date_required: мора да биде нумеричка или датумска вредност за
2157
+ оператори за споредба
2158
+ value_not_expected: не бара вредност за овој оператор
2159
+ value_required: не смее да биде празно за овој оператор
2160
+ resource:
2161
+ invalid_name: мора да биде валидно име на класа модел (пр. Customer или Admin::Report)
2162
+ resource_field:
2163
+ invalid_mask_strategy: не е валидна стратегија за маскирање
2164
+ mask_strategy_required: мора да биде присутна кога е овозможен пристап со
2165
+ маска
2166
+ too_long: е предолго (најмногу %{count} знаци)