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,2164 @@
1
+ ---
2
+ sq:
3
+ permission_forge:
4
+ api:
5
+ errors:
6
+ action_not_authorized: Veprimi nuk është i autorizuar
7
+ assignment_not_authorized: Caktimi nuk është i autorizuar
8
+ field_generation_failed: Fushat për këtë burim nuk mund të gjenerohen
9
+ forbidden: E ndaluar
10
+ not_editable: Ky regjistrim nuk mund të redaktohet
11
+ not_found: Regjistrimi nuk u gjet
12
+ tenant_required: Kjo kërkesë nuk ka qiramarrës. API-ja e administrimit shërben
13
+ një qiramarrës në një kohë.
14
+ assignments:
15
+ confirm_destroy:
16
+ body: "%{name} do të humbasë qasjen në %{resources}, përveç nëse një Grup
17
+ lejesh tjetër e jep atë. Kjo vlen menjëherë."
18
+ body_muting: "%{name} nuk do të kufizohet më nga %{set}. Grupet e tjera të
19
+ lejeve vlejnë plotësisht. Kjo vlen menjëherë."
20
+ body_nothing: Ky grup nuk i jep %{name} asnjë burim, kështu që asgjë nuk ndryshon
21
+ në atë që sheh.
22
+ crumb: Hiq qasjen
23
+ title: Të hiqet “%{set}” nga %{name}?
24
+ new:
25
+ already: E ka tashmë
26
+ applies_now: Caktimi vlen menjëherë.
27
+ assign: Cakto
28
+ assign_many:
29
+ one: Cakto %{count} grup
30
+ other: Cakto %{count} grupe
31
+ change: Ndrysho
32
+ expires: Skadon
33
+ filter_sets: Filtro Grupet e lejeve
34
+ forever: pa datë përfundimi
35
+ muting_notice: "⊘ Heshtës. %{sets} i heq qasjen %{name}, pavarësisht çfarë
36
+ lejojnë grupet e tjera."
37
+ no_sets: Asnjë Grup lejesh nuk përputhet.
38
+ person: Personi
39
+ summary: "%{name} merr %{sets}, %{until}. Kjo vlen menjëherë."
40
+ this_person: këtij personi
41
+ title: Cakto një Grup lejesh
42
+ title_person: Cakto një Grup lejesh për %{name}
43
+ title_set: Cakto “%{set}”
44
+ until: deri më %{date}
45
+ person_options:
46
+ capped: Po shfaqen %{shown} nga %{total} rezultate. Vazhdo të shkruash për
47
+ ta ngushtuar.
48
+ label: Personat
49
+ no_match: Askush nuk përputhet me “%{query}”. Kontrollo drejtshkrimin ose
50
+ kërko me email.
51
+ nobody: Nuk ka persona për të shfaqur.
52
+ audit_events:
53
+ index:
54
+ empty_filtered: Asnjë ngjarje nuk përputhet me këta filtra.
55
+ export: Eksporto
56
+ export_title: Shkarko si %{kind} çdo ngjarje që përputhet me këta filtra
57
+ filters:
58
+ actor_id: Aktori (id e personit)
59
+ actor_type: Lloji i aktorit
60
+ any_actor_type: Çdo lloj
61
+ any_category: Çdo kategori
62
+ any_event: Çdo ngjarje
63
+ any_set: Çdo Grup lejesh
64
+ apply: Zbato filtrat
65
+ category: Kategoria
66
+ clear: Pastro filtrat
67
+ correlation_id: Veprimi (id e korrelacionit)
68
+ deleted_set: 'Grup lejesh i fshirë #%{id}'
69
+ event: Ngjarja
70
+ from: Nga
71
+ id_placeholder: Id
72
+ label: Filtro regjistrin e auditimit
73
+ permission_set: Grup lejesh
74
+ record_id: Id e regjistrimit
75
+ record_type: Lloji i regjistrimit
76
+ record_uuid: Uuid e regjistrimit
77
+ subject_user_id: Personi (id)
78
+ time_zone: Datat janë ditë sipas zonës %{zone}.
79
+ to: Deri
80
+ views: Përfshi shikimet e regjistrit (audit.viewed)
81
+ holdings: Kush ka çfarë (CSV)
82
+ holdings_title: Çdo caktim siç është tani, me kush e dha, kur mbaron dhe rishikimin
83
+ e fundit
84
+ invalid:
85
+ blank: "%{field} duhet plotësuar për këtë filtër."
86
+ invalid: "%{field}: kjo vlerë nuk është e vlefshme."
87
+ invalid_value: "%{field}: “%{value}” nuk është e vlefshme."
88
+ title: Kontrollo filtrat
89
+ newest_first: Më të rejat në fillim
90
+ results:
91
+ one: "%{count} ngjarje"
92
+ other: "%{count} ngjarje"
93
+ subtitle: Ndryshimet e lejeve, caktimeve dhe rishikimeve të regjistruara kur
94
+ regjistri është aktiv, dhe kush e pa ose e eksportoi atë. Këto faqe nuk
95
+ ndryshojnë e nuk fshijnë kurrë një ngjarje (fshirja e të dhënave pastron
96
+ vetëm etiketat e emrave).
97
+ title: Regjistri i auditimit
98
+ views_hidden: Shikimet e regjistrit të auditimit fshihen këtu, që të mos mbulojnë
99
+ ndryshimet. Eksportet i përfshijnë gjithmonë.
100
+ views_show: Përfshi shikimet e regjistrit
101
+ show:
102
+ actor: Aktori
103
+ after: Pas
104
+ all_by_actor: Të gjitha ngjarjet nga ky aktor
105
+ all_for_person: Të gjitha ngjarjet për këtë person
106
+ all_for_record: Të gjitha ngjarjet e këtij regjistrimi
107
+ all_for_set: Të gjitha ngjarjet e këtij Grupi lejesh
108
+ all_in_action: Të gjitha ngjarjet e këtij veprimi
109
+ attribute: Atributi
110
+ before: Para
111
+ changes: Para dhe pas
112
+ changes_desc:
113
+ one: "%{count} atribut u ndryshua"
114
+ other: "%{count} atribute u ndryshuan"
115
+ correlation: Veprimi
116
+ data: Më shumë hollësi
117
+ id: id %{id}
118
+ ip: Adresa IP
119
+ key: Çelësi
120
+ no_data: Nuk u regjistruan hollësi të tjera.
121
+ no_reason: Nuk u dha arsye
122
+ open_person: Hap personin
123
+ permission_set: Grup lejesh
124
+ person: Personi
125
+ reason: Arsyeja
126
+ record: Regjistrimi
127
+ request_id: Id e kërkesës
128
+ snapshot: Gjendja
129
+ snapshot_desc: Regjistrimi siç u krijua.
130
+ snapshot_destroyed: Regjistrimi siç ishte kur u hoq.
131
+ source: Ku
132
+ title: Ngjarje auditimi %{event}
133
+ uuid: Id e ngjarjes
134
+ value: Vlera
135
+ what: Çfarë
136
+ who: Kush, ku dhe pse
137
+ audit_log:
138
+ actor_named:
139
+ api: "%{name} (API)"
140
+ basic_auth: "%{name} (dritarja e fjalëkalimit)"
141
+ actor_types:
142
+ api: Klient API
143
+ basic_auth: Dritarja e fjalëkalimit
144
+ system: Sistemi
145
+ unknown: I panjohur
146
+ user: Person
147
+ boolean:
148
+ 'false': Jo
149
+ 'true': Po
150
+ categories:
151
+ access: Qasje
152
+ admin: Administrim
153
+ change: Ndryshim
154
+ system: Sistem
155
+ deleted_group: 'Grupim #%{id}'
156
+ deleted_set: 'Grup lejesh #%{id}'
157
+ details: Hollësi
158
+ empty: Ende nuk është regjistruar asnjë ngjarje.
159
+ empty_text: "(tekst bosh)"
160
+ filter_actor: Shfaq çdo ngjarje nga ky aktor
161
+ filter_event: Shfaq çdo ngjarje %{event}
162
+ first_page: E para
163
+ last_page: E fundit
164
+ list_label: Ngjarjet e auditimit, më të rejat në fillim
165
+ no_value: asnjë
166
+ 'off':
167
+ disabled: Regjistrimi është i çaktivizuar (audit_events = false). Ndryshimet
168
+ e bëra tani nuk hyjnë në regjistër.
169
+ failing: audit_events është true, por tabela e auditimit nuk ekziston, ndaj
170
+ çdo ndryshim i lejeve dështon. Ekzekuto bin/rails generate permission_forge:upgrade
171
+ dhe migrimet.
172
+ missing_table: Tabela e auditimit nuk ekziston ende, ndaj nuk regjistrohet
173
+ asgjë. Ekzekuto bin/rails generate permission_forge:upgrade dhe migrimet.
174
+ title: Regjistri i auditimit nuk po regjistron
175
+ page_of: Faqja %{page} nga %{pages}
176
+ pages_label: Faqet
177
+ person_id: 'Personi #%{id}'
178
+ reason_inline: 'Arsyeja: %{reason}'
179
+ refused:
180
+ body: Leximi i regjistrit të auditimit kufizohet nga cilësimi audit_log_authorization,
181
+ dhe kjo kërkesë nuk u lejua. Refuzimi regjistrohet në regjistrin e auditimit
182
+ kur regjistrimi është aktiv.
183
+ title: Nuk mund ta lexoni regjistrin e auditimit
184
+ sentence_variants:
185
+ assignment_revoked_expired: "%{actor} i hoqi %{person} Grupin e lejeve %{set}
186
+ pasi kishte skaduar më %{date}."
187
+ field_access_limited: "%{actor} lexoi %{record} me këto fusha të fshehura
188
+ ose të maskuara: %{fields}."
189
+ sentences:
190
+ access:
191
+ denied: Qasja e %{actor} te %{record} u refuzua.
192
+ action:
193
+ denied: Një veprim i %{actor} mbi %{record} u refuzua.
194
+ admin:
195
+ auth_failed: Një kërkesë e %{actor} në ekranet e administrimit u refuzua.
196
+ effective_access_viewed: "%{actor} pa qasjen efektive të %{person}."
197
+ lock_refused: "%{actor} provoi të ndryshojë regjistrimin e kyçur %{record}."
198
+ api:
199
+ auth_failed: Një kërkesë API e %{actor} u refuzua.
200
+ assignment:
201
+ changed: "%{actor} ndryshoi caktimin e %{person} te %{set}."
202
+ granted: "%{actor} i dha %{person} Grupin e lejeve %{set}."
203
+ reviewed: "%{actor} rishikoi qasjen e %{person} te %{set}."
204
+ revoked: "%{actor} i hoqi %{person} Grupin e lejeve %{set}."
205
+ audit:
206
+ exported: "%{actor} eksportoi të dhëna auditimi."
207
+ purged: "%{actor} fshiu ngjarjet e auditimit më të vjetra se periudha e
208
+ ruajtjes."
209
+ settings_observed: U regjistruan cilësimet e auditimit në fuqi.
210
+ viewed: "%{actor} pa të dhëna auditimi."
211
+ cache:
212
+ cleared: "%{actor} pastroi lejet e ruajtura në cache të të gjithë përdoruesve."
213
+ cleanup:
214
+ expired_assignments: "%{actor} hoqi caktimet e skaduara."
215
+ consent:
216
+ withdrawn: "%{actor} regjistroi se %{person} tërhoqi pëlqimin; qasja që
217
+ varej prej tij u hoq."
218
+ erasure:
219
+ performed: "%{actor} fshiu të dhënat e lejeve të %{person}."
220
+ fallback: "%{actor}: %{event}"
221
+ field:
222
+ access: "%{actor} lexoi %{record}."
223
+ sensitive_acknowledged: "%{actor} konfirmoi që fusha %{record} te %{set}
224
+ duhet të lexohet pa maskë."
225
+ group_membership:
226
+ added: "%{actor} shtoi %{person} te %{group}."
227
+ changed: "%{actor} ndryshoi anëtarësinë e %{person} te %{group}."
228
+ removed: "%{actor} hoqi %{person} nga %{group}."
229
+ params:
230
+ filtered: Fushat e %{model} që %{actor} nuk lejohet t'i ndryshojë u hoqën
231
+ nga një kërkesë.
232
+ permission_set:
233
+ cloned: "%{actor} krijoi Grupin e lejeve %{record} si kopje."
234
+ created: "%{actor} krijoi Grupin e lejeve %{record}."
235
+ destroyed: "%{actor} fshiu Grupin e lejeve %{record}."
236
+ updated: "%{actor} ndryshoi Grupin e lejeve %{record}."
237
+ permission_set_group:
238
+ cloned: "%{actor} krijoi grupimin %{record} si kopje."
239
+ created: "%{actor} krijoi grupimin %{record}."
240
+ destroyed: "%{actor} fshiu grupimin %{record}."
241
+ updated: "%{actor} ndryshoi grupimin %{record}."
242
+ permission_set_rule:
243
+ created: "%{actor} shtoi rregullin e regjistrimeve %{record} te %{set}."
244
+ destroyed: "%{actor} hoqi rregullin e regjistrimeve %{record} nga %{set}."
245
+ updated: "%{actor} ndryshoi rregullin e regjistrimeve %{record} te %{set}."
246
+ permissions:
247
+ invalidated: Lejet e ruajtura të %{person} u pastruan.
248
+ rebuilt: Lejet e %{person} u rindërtuan.
249
+ query:
250
+ unscoped: Një pyetje mbi %{model} për %{actor} u ekzekutua pa rregullat
251
+ e regjistrimeve.
252
+ report:
253
+ generated: "%{actor} krijoi një raport."
254
+ resource:
255
+ created: "%{actor} shtoi burimin %{record} te %{set}."
256
+ destroyed: "%{actor} hoqi burimin %{record} nga %{set}."
257
+ updated: "%{actor} ndryshoi burimin %{record} te %{set}."
258
+ resource_action:
259
+ created: "%{actor} shtoi veprimin %{record} te %{set}."
260
+ destroyed: "%{actor} hoqi veprimin %{record} nga %{set}."
261
+ updated: "%{actor} ndryshoi veprimin %{record} te %{set}."
262
+ resource_field:
263
+ created: "%{actor} shtoi fushën %{record} te %{set}."
264
+ destroyed: "%{actor} hoqi fushën %{record} nga %{set}."
265
+ updated: "%{actor} ndryshoi fushën %{record} te %{set}."
266
+ rule:
267
+ bypassed: Rregullat e regjistrimeve për %{model} u anashkaluan për %{actor}.
268
+ write:
269
+ masked_skipped: Një vlerë e maskuar e %{model} nuk u ruajt për %{actor}.
270
+ showing:
271
+ one: "%{from}–%{to} nga %{count} ngjarje"
272
+ other: "%{from}–%{to} nga %{count} ngjarje"
273
+ sources:
274
+ admin_ui: Ekranet e administrimit
275
+ api: API
276
+ console: Konsola
277
+ job: Punë në sfond
278
+ rake: Detyrë rake
279
+ runtime: Aplikacioni (gjatë punës)
280
+ service: Kodi
281
+ unknown: i panjohur
282
+ unknown_group: një grupim
283
+ bulk_assignments:
284
+ confirm_revoke:
285
+ body: Ata humbasin atë që u jep ky grup, përveç nëse një grup tjetër e jep.
286
+ Kjo vlen menjëherë.
287
+ confirm:
288
+ one: Hiq nga %{count} person
289
+ other: Hiq nga %{count} persona
290
+ crumb: Hiq
291
+ none: Zgjidh së pari të paktën një person.
292
+ title:
293
+ one: Të hiqet “%{set}” nga %{count} person?
294
+ other: Të hiqet “%{set}” nga %{count} persona?
295
+ new:
296
+ already:
297
+ one: "%{count} e ka tashmë"
298
+ other: "%{count} e kanë tashmë"
299
+ assign: Cakto
300
+ assign_count:
301
+ one: Cakto për %{count} person
302
+ other: Cakto për %{count} persona
303
+ check: Kontrollo emrat
304
+ crumb: Caktim në grup
305
+ errors:
306
+ nobody: Nuk ka kë të caktosh. Ngjit email-e ose emra, ose zgjidh persona.
307
+ not_found:
308
+ one: "%{count} nuk u gjet"
309
+ other: "%{count} nuk u gjetën"
310
+ paste: Ngjit email-e ose emra
311
+ paste_hint: Një për rresht, ose të ndarë me presje. Përdoren vetëm përputhjet
312
+ e sakta.
313
+ paste_placeholder: |-
314
+ ana@acme.com
315
+ Mark Peterson
316
+ pick: Ose zgjidh persona
317
+ title: Caktim në grup i “%{set}”
318
+ will_assign:
319
+ one: "%{count} do të caktohet"
320
+ other: "%{count} do të caktohen"
321
+ errors:
322
+ admin:
323
+ action_format: Përdor shkronja të vogla, numra dhe nënviza, duke filluar me
324
+ shkronjë (për shembull export).
325
+ action_taken: Ky burim ka tashmë një veprim me këtë emër.
326
+ expiry_missing: Zgjidh një datë përfundimi, ose zgjidh “Pa skadim”.
327
+ expiry_not_future: Data e përfundimit duhet të jetë pas sot.
328
+ flag: Flamujt e sesionit mund të përmbajnë vetëm shkronja, numra, pika, dy
329
+ pika, viza dhe nënviza.
330
+ group_blank: Jepi një emër grupimit.
331
+ ip: 'Rreshti %{line}: “%{ip}” nuk është adresë IP ose diapazon CIDR i vlefshëm.'
332
+ person: Zgjidh së pari një person.
333
+ resource_model: Zgjidh një model nga lista.
334
+ resource_taken: Ky model është tashmë në këtë Grup lejesh.
335
+ set_name_blank: Jepi një emër Grupit të lejeve.
336
+ set_name_taken: Ekziston tashmë një Grup lejesh me këtë emër.
337
+ sets: Zgjidh të paktën një Grup lejesh.
338
+ no_authenticated_user: Nuk ka përdorues të autentikuar
339
+ rls_requires_postgres: PermissionForge RLS kërkon PostgreSQL — adapteri aktual
340
+ i bazës së të dhënave nuk mbështet politika të sigurisë në nivel rreshti.
341
+ tenant_required: 'Kjo kërkesë nuk ka qiramarrës. Këto ekrane shfaqin dhe ndryshojnë
342
+ lejet e një qiramarrësi në një kohë: caktoni qiramarrësin në kontrolluesin
343
+ nga i cili trashëgojnë (base_controller_class), ose lejojeni me config.admin_tenantless_access
344
+ = :allow.'
345
+ unscoped_query: Kërkesë e pakufizuar në tabelën e mbrojtur '%{table}'. Përdorni
346
+ permission_scoped / find_by, aktivizoni auto_query_scoping, ose mbështillni
347
+ qasjen e qëllimshme në PermissionForge.without_permission_scope { }.
348
+ field_lookups:
349
+ show:
350
+ field: Fusha
351
+ hint: Listohen vetëm grupet që e përfshijnë këtë burim. Zgjidh një rresht
352
+ për ta hapur fushën në atë grup.
353
+ intro: Zgjidhni një burim dhe një fushë për të parë nivelin e qasjes në çdo
354
+ grup lejesh.
355
+ no_resources: Asnjë Grup lejesh nuk ka ende burime.
356
+ pick_field: Zgjidh një fushë…
357
+ pick_resource: Zgjidh një burim…
358
+ who_can_see: Kush mund ta shohë %{field}?
359
+ flash:
360
+ actions:
361
+ created: U shtua veprimi “%{action}”.
362
+ deleted: U hoq veprimi “%{action}”.
363
+ updated: U ruajt “%{action}”. Vlen menjëherë.
364
+ assignment_not_authorized: Nuk lejoheni ta bëni këtë ndryshim caktimi. Asgjë
365
+ nuk u ndryshua.
366
+ assignments:
367
+ assigned: "%{name} tani ka %{sets}."
368
+ assigned_until: "%{name} tani ka %{sets}, deri më %{date}."
369
+ end_changed: 'Qasja e %{name} në %{set}: %{when}.'
370
+ kept: Qasja e %{name} në %{set} u shënua si e rishikuar sot.
371
+ removed: U hoq %{set} nga %{name}.
372
+ restored: U rikthye %{set} për %{name}.
373
+ undone: U anulua. Caktimi u hoq.
374
+ bulk_assignments:
375
+ assigned:
376
+ one: "%{set} iu caktua %{count} personi."
377
+ other: "%{set} iu caktua %{count} personave."
378
+ revoked:
379
+ one: "%{set} iu hoq %{count} personi."
380
+ other: "%{set} iu hoq %{count} personave."
381
+ fields:
382
+ acknowledged: Në rregull. “%{field}” nuk do të shënohet më në auditimin e
383
+ privatësisë.
384
+ recommendation_applied: U aplikua maskimi i rekomanduar te “%{field}”.
385
+ groups:
386
+ created: U krijua grupimi “%{name}”.
387
+ deleted: U fshi grupimi “%{name}”. Grupet e tij të lejeve tani nuk janë në
388
+ asnjë grupim.
389
+ duplicated: U dublikua “%{name}” me të gjitha Grupet e lejeve.
390
+ member_added: "%{name} u shtua si anëtar. Kjo nuk i jep asnjë Grup lejesh."
391
+ set_added: "“%{set}” u zhvendos në këtë grupim."
392
+ set_removed: "“%{set}” u hoq nga ky grupim."
393
+ updated: Grupimi u ruajt. Qasja e askujt nuk ndryshoi.
394
+ locked_widening: 'Ky grup lejesh është i kyçur: qasja mund të hiqet ose të shkurtohet,
395
+ jo të jepet ose të zgjatet.'
396
+ locked_widening_muting: 'Ky grup lejesh heshtës është i kyçur: mbajtësit mund
397
+ të shtohen ose të mbahen më gjatë, jo të hiqen ose t’u jepet një datë mbarimi
398
+ më e hershme.'
399
+ maintenance:
400
+ cleaned:
401
+ one: U hoq %{count} caktim i skaduar.
402
+ other: U hoqën %{count} caktime të skaduara.
403
+ not_editable: Ky regjistrim nuk mund të ndryshohet.
404
+ people:
405
+ cache_refresh_failed: Lejet e ruajtura të %{name} nuk mund të rifreskoheshin.
406
+ Ruajtja e cache-it nuk e konfirmoi, prandaj lejet e vjetra mund të mbeten
407
+ në përdorim derisa të mbarojë jetëgjatësia e cache-it. Provo përsëri.
408
+ cache_refreshed: U rifreskuan lejet e ruajtura të %{name}.
409
+ consent_withdrawn:
410
+ one: U hoq %{count} Grup lejesh që kërkon %{flag}.
411
+ other: U hoqën %{count} Grupe lejesh që kërkojnë %{flag}.
412
+ consent_withdrawn_cache_kept:
413
+ one: U hoq %{count} Grup lejesh që kërkon %{flag}, por ruajtja e cache-it
414
+ nuk konfirmoi që lejet e ruajtura u pastruan. Lejet e vjetra mund të mbeten
415
+ në përdorim derisa të mbarojë jetëgjatësia e cache-it.
416
+ other: U hoqën %{count} Grupe lejesh që kërkojnë %{flag}, por ruajtja e
417
+ cache-it nuk konfirmoi që lejet e ruajtura u pastruan. Lejet e vjetra
418
+ mund të mbeten në përdorim derisa të mbarojë jetëgjatësia e cache-it.
419
+ erased: U fshinë caktimet dhe lejet e ruajtura të %{name}.
420
+ erased_cache_kept: U fshinë caktimet e %{name}, por ruajtja e cache-it nuk
421
+ konfirmoi që lejet e ruajtura u pastruan. Lejet e vjetra mund të mbeten
422
+ në përdorim derisa të mbarojë jetëgjatësia e cache-it.
423
+ removed_all:
424
+ one: U hoq %{count} caktim. %{name} tani nuk ka qasje përmes PermissionForge.
425
+ other: U hoqën %{count} caktime. %{name} tani nuk ka qasje përmes PermissionForge.
426
+ removed_all_cache_kept:
427
+ one: U hoq %{count} caktim, por ruajtja e cache-it nuk konfirmoi që lejet
428
+ e ruajtura të %{name} u pastruan. Lejet e vjetra mund të mbeten në përdorim
429
+ derisa të mbarojë jetëgjatësia e cache-it.
430
+ other: U hoqën %{count} caktime, por ruajtja e cache-it nuk konfirmoi që
431
+ lejet e ruajtura të %{name} u pastruan. Lejet e vjetra mund të mbeten
432
+ në përdorim derisa të mbarojë jetëgjatësia e cache-it.
433
+ permission_set_group_users:
434
+ add_failed: Përdoruesi nuk mund të shtohej.
435
+ removed: Përdoruesi u hoq nga grupimi.
436
+ user_not_found: Përdoruesi nuk u gjet.
437
+ permission_sets:
438
+ conditions_saved: Kushtet e aktivizimit u ruajtën. Vlejnë menjëherë.
439
+ created: U krijua “%{name}”. Ende nuk e ka askush.
440
+ deleted: U fshi “%{name}”.
441
+ duplicated: 'U dublikua “%{name}”: u kopjuan burimet, fushat, veprimet dhe
442
+ rregullat. Caktimet nuk u kopjuan.'
443
+ duplicated_outside_group: 'U dublikua “%{name}”: u kopjuan burimet, fushat,
444
+ veprimet dhe rregullat. Caktimet nuk u kopjuan. Kopja nuk është në “%{group}”,
445
+ që është i kyçur.'
446
+ no_changes: Nuk ka ndryshime për të ruajtur.
447
+ save_failed: 'Asgjë nuk u ruajt: %{errors}'
448
+ saved:
449
+ one: U ruajt %{count} ndryshim. Tani vlen për %{people}.
450
+ other: U ruajtën %{count} ndryshime. Tani vlejnë për %{people}.
451
+ switched_granting: "“%{name}” tani jep qasje."
452
+ switched_muting: "“%{name}” tani është Grup lejesh heshtës."
453
+ resources:
454
+ added:
455
+ one: U shtua %{resource} me %{count} fushë.
456
+ other: U shtua %{resource} me %{count} fusha.
457
+ columns_added:
458
+ one: U shtua %{count} kolonë.
459
+ other: U shtuan %{count} kolona.
460
+ missing_removed:
461
+ one: U hoq %{count} fushë, kolona e së cilës nuk ekziston më.
462
+ other: U hoqën %{count} fusha, kolonat e të cilave nuk ekzistojnë më.
463
+ removed: U hoq %{resource} nga “%{set}”.
464
+ rules:
465
+ created: U shtua rregulli “%{rule}”.
466
+ deleted: U hoq rregulli “%{rule}”.
467
+ turned_off: U çaktivizua “%{rule}”.
468
+ turned_on: U aktivizua “%{rule}”.
469
+ updated: U ruajt rregulli “%{rule}”.
470
+ home:
471
+ audit_card:
472
+ failing: Tabela e auditimit mungon dhe audit_events është true, ndaj çdo ndryshim
473
+ i lejeve dështon. Ekzekuto gjeneratorin e përditësimit dhe migrimet.
474
+ missing_table: Tabela e auditimit mungon, ndaj asnjë ndryshim nuk regjistrohet.
475
+ Ekzekuto gjeneratorin e përditësimit dhe migrimet.
476
+ 'off': Regjistrimi është çaktivizuar në inicializues (audit_events = false).
477
+ Asnjë ndryshim nuk regjistrohet.
478
+ title: Regjistri i auditimit nuk po regjistron
479
+ ending_card:
480
+ description: Caktime që përfundojnë në 7 ditët e ardhshme.
481
+ extend: Zgjat 30 ditë
482
+ title: Qasje që përfundon këtë javë
483
+ expired_card:
484
+ description:
485
+ one: "%{count} caktim i skaduar nuk jep më qasje. Heqja e tij i mban listat
486
+ dhe auditimet të rregullta."
487
+ other: "%{count} caktime të skaduara nuk japin më qasje. Heqja e tyre i
488
+ mban listat dhe auditimet të rregullta."
489
+ dry_run: Provë · asgjë nuk ka ndryshuar ende
490
+ item: "%{person} · %{set}"
491
+ preview: Shiko pastrimin paraprakisht
492
+ remove:
493
+ one: Hiq %{count}
494
+ other: Hiq %{count}
495
+ title: Pastro caktimet e skaduara
496
+ index:
497
+ all_good:
498
+ body: Asnjë qasje nuk përfundon këtë javë, nuk ka caktime të skaduara për
499
+ t'u pastruar, çdo caktim i përhershëm është rishikuar në %{days} ditët
500
+ e fundit dhe auditimi i privatësisë nuk gjeti asgjë.
501
+ title: Asgjë nuk kërkon vëmendjen tënde
502
+ field_lookup_title: Kush mund ta shohë një fushë? Zgjidhni një burim dhe një
503
+ fushë.
504
+ first_run:
505
+ body: PermissionForge vendos kush mund të shohë dhe të ndryshojë të dhënat
506
+ në këtë aplikacion. Ende askush nuk ka qasje përmes tij.
507
+ cta: Krijo Grupin tënd të parë të lejeve
508
+ steps:
509
+ add:
510
+ body: Zgjidh modele nga aplikacioni, pastaj zgjidh Lexo, Krijo, Ndrysho,
511
+ Fshi dhe cilat fusha shohin njerëzit.
512
+ title: Shto burime
513
+ assign:
514
+ body: Jepua grupin njerëzve, me datë përfundimi nëse qasja është e përkohshme.
515
+ title: Caktoje
516
+ create:
517
+ body: Një paketë qasjesh që ua cakton njerëzve, si “Agjent shitjesh”.
518
+ title: Krijo një Grup lejesh
519
+ title: Konfiguro qasjen në 3 hapa
520
+ lookup: 'Kërko një person: çfarë mund të shohë dhe pse?'
521
+ people:
522
+ one: "%{count} person ka"
523
+ other: "%{count} persona kanë"
524
+ search_placeholder: Kërkoni një person sipas emrit ose email-it për të parë
525
+ çfarë mund të shohë dhe pse
526
+ sets:
527
+ one: "%{count} Grup lejesh aktiv"
528
+ other: "%{count} Grupe lejesh aktive"
529
+ subtitle: "%{things} · %{people} qasje përmes %{sets}."
530
+ things:
531
+ one: "%{count} gjë për t'u rishikuar"
532
+ other: "%{count} gjëra për t'u rishikuar"
533
+ title: Kërkon vëmendje
534
+ privacy_card:
535
+ description: "%{unmasked}, %{unconfigured}."
536
+ fix: Rregullo
537
+ intended: Kjo është e qëllimshme
538
+ per_set_note: Çdo rresht shikon një Grup lejesh më vete. Një person që ka
539
+ edhe një grup tjetër që e konfiguron fushën ndjek atë grup.
540
+ show_all: Shfaq të %{count}
541
+ title: Auditimi i privatësisë
542
+ turned_off:
543
+ one: "%{count} fushë e ndjeshme e ka cilësimin të çaktivizuar."
544
+ other: "%{count} fusha të ndjeshme e kanë cilësimin të çaktivizuar."
545
+ unconfigured:
546
+ one: "%{count} kolonë e ndjeshme nuk është konfiguruar fare"
547
+ other: "%{count} kolona të ndjeshme nuk janë konfiguruar fare"
548
+ unmasked:
549
+ one: "%{count} fushë e ndjeshme shfaqet pa maskim"
550
+ other: "%{count} fusha të ndjeshme shfaqen pa maskim"
551
+ where: "%{resource} · Lexohet pa maskim në “%{set}” · %{people}"
552
+ where_turned_off: "%{resource} · Cilësimi në “%{set}” është i çaktivizuar,
553
+ prandaj fusha kalon pa maskim · %{people}"
554
+ where_turned_off_virtual: "%{resource} · Cilësimi në “%{set}” është i çaktivizuar,
555
+ prandaj fusha është e lexueshme dhe e ndryshueshme si parazgjedhje (fushë
556
+ virtuale) · %{people}"
557
+ where_unconfigured: "%{resource} · E pakonfiguruar në “%{set}”, prandaj kalon
558
+ pa maskim · %{people}"
559
+ where_virtual: "%{resource} · E pakonfiguruar në “%{set}”, prandaj është e
560
+ lexueshme dhe e ndryshueshme si parazgjedhje (fushë virtuale) · %{people}"
561
+ rules_card:
562
+ join_rules: Kufizimi automatik i kërkesave është aktiv, por këto rregulla
563
+ ndjekin një lidhje, prandaj ai i anashkalon. Ato vlejnë vetëm aty ku aplikacioni
564
+ përdor find_by ose permission_scoped.
565
+ open: Hap rregullat
566
+ people:
567
+ one: "%{count} person e ka këtë grup."
568
+ other: "%{count} persona e kanë këtë grup."
569
+ rules:
570
+ one: "%{count} rregull për %{resource} në “%{name}”"
571
+ other: "%{count} rregulla për %{resource} në “%{name}”"
572
+ scoping_off: Kufizimi automatik i kërkesave është joaktiv, prandaj këto rregulla
573
+ vlejnë vetëm aty ku aplikacioni përdor find_by ose permission_scoped. Kërkesat
574
+ e tjera (where, all, lidhjet) kthejnë të gjitha regjistrimet.
575
+ title: Rregulla regjistrimesh që nuk zbatohen kudo
576
+ stale_card:
577
+ assigned: Caktuar më %{date} nga %{by}
578
+ description: Nuk janë rishikuar prej më shumë se %{days} ditësh. Konfirmo
579
+ që këta persona e kanë ende nevojë për këtë qasje.
580
+ title: Caktime të vjetruara
581
+ tidy_card:
582
+ inactive_with_people:
583
+ one: "“%{name}” është i çaktivizuar, por %{count} person e ka ende."
584
+ other: "“%{name}” është i çaktivizuar, por %{count} persona e kanë ende."
585
+ inactive_with_people_hint: Nuk u jep asgjë sa kohë është i çaktivizuar. Aktivizoje
586
+ përsëri, ose hiq caktimet.
587
+ no_people: "“%{name}” nuk ka asnjë person."
588
+ no_people_hint: Caktoje, ose fshije nëse nuk nevojitet më.
589
+ open: Hap grupin
590
+ title: Grupe lejesh për t'u rregulluar
591
+ layouts:
592
+ application:
593
+ skip_to_content: Kalo te përmbajtja
594
+ title: PermissionForge
595
+ nav:
596
+ audit_log: Regjistri i auditimit
597
+ badge_aria:
598
+ one: "%{count} element kërkon vëmendje"
599
+ other: "%{count} elemente kërkojnë vëmendje"
600
+ groups: Grupime të grupeve të lejeve
601
+ home: Kreu
602
+ people: Personat
603
+ permission_sets: Grupet e lejeve
604
+ settings: Cilësimet
605
+ people:
606
+ access_tab:
607
+ assigned: Caktuar më %{date} nga %{by}
608
+ change_end: Ndrysho datën e përfundimit
609
+ empty: "%{name} nuk mund të shohë asgjë përmes PermissionForge për momentin."
610
+ groups_html: Është gjithashtu anëtar i %{groups}. Anëtarësia në grupim nuk
611
+ jep asnjë Grup lejesh.
612
+ set_off: Ky grup është i çaktivizuar, prandaj aktualisht nuk jep asgjë.
613
+ audit_tab:
614
+ assigned_by: Caktuar nga %{who} · %{date}
615
+ created: 'Krijuar: %{value}'
616
+ disabled: Nuk regjistrohet kush krijoi dhe kush ndryshoi (audit_trail_enabled
617
+ është i çaktivizuar te Cilësimet).
618
+ edited: 'Ndryshuar: %{value}'
619
+ events_about: Ngjarjet për %{name}
620
+ events_by: Veprimet e %{name}
621
+ kind_group: Anëtarësi në grupim (pa qasje)
622
+ kind_muting: Grup lejesh heshtës
623
+ kind_set: Grup lejesh
624
+ made_by: Ndryshime të bëra nga %{name}
625
+ made_by_desc:
626
+ one: Regjistrime që %{name} krijoi ose ndryshoi së fundi, më të rejat në
627
+ fillim. %{count} regjistrim.
628
+ other: Regjistrime që %{name} krijoi ose ndryshoi së fundi, më të rejat
629
+ në fillim. %{count} regjistrime.
630
+ made_capped: Shfaqen %{count} regjistrimet e ndryshuara më së fundi për çdo
631
+ lloj. Eksporti CSV i përmban të gjitha.
632
+ made_none: "%{name} nuk ka krijuar ose ndryshuar asnjë regjistrim të PermissionForge."
633
+ no_assignments: Nuk ka caktime.
634
+ received: Qasja e marrë
635
+ timeline: Kronologjia e %{name}
636
+ timeline_desc: Çdo ngjarje e regjistruar që përmend %{name}, dhe ndryshimet
637
+ që bëri %{name} kur ishte i identifikuar.
638
+ confirm_remove_all:
639
+ body: "%{name} do të humbasë qasjen në %{resources}. Kjo vlen menjëherë."
640
+ body_no_resources: "%{name} do të humbasë çdo Grup lejesh më poshtë. Kjo vlen
641
+ menjëherë."
642
+ confirm:
643
+ one: Hiq %{count} caktim
644
+ other: Hiq të %{count} caktimet
645
+ crumb: Hiq të gjithë qasjen
646
+ kept: "%{sets} mbeten: një grup lejesh heshtës i kyçur i mban mbajtësit e
647
+ tij, sepse heqja e tyre do t’u kthente qasjen."
648
+ nothing: "%{name} nuk ka caktime për t'u hequr."
649
+ title: Të hiqet e gjithë qasja për %{name}?
650
+ consent_preview:
651
+ confirm:
652
+ one: Hiq %{count}
653
+ other: Hiq %{count}
654
+ flag: Flamur pëlqimi ose sesioni
655
+ intro: Heq %{name} nga çdo Grup lejesh që kërkon flamurin që zgjedh.
656
+ no_flags: "%{name} nuk ka Grupe lejesh që kërkojnë flamur pëlqimi ose sesioni."
657
+ nothing: "%{name} nuk ka Grupe lejesh që kërkojnë %{flag}. Asgjë nuk do të
658
+ ndryshonte."
659
+ preview: Shiko paraprakisht
660
+ title: Tërhiq pëlqimin
661
+ would_remove:
662
+ one: 'Provë: do të hiqej %{count} Grup lejesh. Asgjë nuk ka ndryshuar ende.'
663
+ other: 'Provë: do të hiqeshin %{count} Grupe lejesh. Asgjë nuk ka ndryshuar
664
+ ende.'
665
+ effective_field_source:
666
+ and_more:
667
+ one: " dhe %{count} tjetër"
668
+ other: " dhe %{count} të tjera"
669
+ from: nga %{set}
670
+ muted_by: I fshehur nga %{set}
671
+ none: Asnjë grup nuk e shfaq
672
+ unconfigured: E pakonfiguruar · %{behaviour}
673
+ virtual: Fushë virtuale, e lexueshme si parazgjedhje
674
+ effective_tab:
675
+ conditional: "%{sets} vlejnë vetëm kur kushtet e tyre të aktivizimit plotësohen.
676
+ Ato janë përfshirë këtu."
677
+ fields_visible: "%{visible} nga %{total} fusha të dukshme"
678
+ grid_label: Qasja efektive
679
+ hidden_by_muting: I fshehur nga heshtja
680
+ intro: Çfarë mund të bëjë %{name} tani, me të gjitha grupet bashkë. Zgjidh
681
+ çdo qelizë për të parë pse.
682
+ legend: Legjenda
683
+ legend_muted: I heshtur
684
+ legend_none: Nuk jepet
685
+ why: Pse
686
+ why_empty: Zgjidh një qelizë, fushë ose veprim për të parë cili Grup lejesh
687
+ e shkaktoi.
688
+ why_label: Shpjegimi
689
+ effective_why:
690
+ action_granted: "%{set} e lejon këtë veprim."
691
+ action_muted: "%{set} e bllokon këtë veprim."
692
+ action_none: Asnjë Grup lejesh nuk e lejon këtë veprim.
693
+ field_capped: Shfaqet si Vetëm lexim sepse Ndrysho nuk lejohet për këtë burim.
694
+ field_from: "%{set} e shfaq këtë fushë."
695
+ field_muted: "%{set} e fsheh ose e maskon këtë fushë."
696
+ field_none: Asnjë Grup lejesh nuk e shfaq këtë fushë.
697
+ field_unconfigured: 'Asnjë grup nuk e konfiguron këtë kolonë: %{behaviour}.'
698
+ field_variant: Ndjek cilësimin e %{base}.
699
+ field_virtual: Fushë virtuale nga modeli, e lexueshme përveç nëse një grup
700
+ e konfiguron.
701
+ flag_granted: "%{set} jep %{flag}."
702
+ flag_muted: "%{set} hesht %{flag}."
703
+ flag_none: Asnjë Grup lejesh nuk jep %{flag}.
704
+ no_rules: Nuk ka rregulla regjistrimesh, prandaj shfaqet çdo regjistrim.
705
+ note_add_up: 'Grupet e lejeve mblidhen: mjafton një leje.'
706
+ note_fields: Nëse disa grupe e shfaqin një fushë, fiton cilësimi më i hapur.
707
+ note_muting: Grupet e lejeve heshtës fitojnë gjithmonë mbi grupet që japin
708
+ qasje.
709
+ note_rules: Rregullat nga çdo grup vlejnë së bashku.
710
+ records_none: Lexo nuk lejohet, prandaj nuk shfaqet asnjë regjistrim.
711
+ records_title: Cilat %{resource}
712
+ view_all_from: "%{set} jep Shiko të gjitha: çdo regjistrim, rregullat e regjistrimeve
713
+ anashkalohen."
714
+ erasure_preview:
715
+ assignments:
716
+ one: "%{count} caktim"
717
+ other: "%{count} caktime"
718
+ confirm: Fshi përgjithmonë
719
+ counts: "%{assignments} · %{groups} · lejet e ruajtura"
720
+ eyebrow: GDPR Neni 17 · I pakthyeshëm
721
+ groups:
722
+ one: "%{count} anëtarësi në grupim"
723
+ other: "%{count} anëtarësi në grupime"
724
+ intro: Fshin caktimet dhe anëtarësimet në grupe të këtij personi në këtë qiramarrës
725
+ dhe pastron emrin e tij nga regjistri i auditimit. Ngjarjet e auditimit
726
+ (id-të, kohët, IP-të, arsyet) ruhen.
727
+ mismatch: Emri nuk përputhet. Asgjë nuk u fshi.
728
+ title: Fshirja e të dhënave të subjektit
729
+ title_for: Të fshihen të dhënat e qasjes së %{name}?
730
+ type_to_confirm_html: Shkruaj %{name} për ta konfirmuar
731
+ untouched: Llogaria e personit në aplikacion nuk preket. Fushat krijuar-nga
732
+ dhe ndryshuar-nga që tregojnë tek ai ruhen.
733
+ index:
734
+ columns:
735
+ ends: Qasja përfundon
736
+ person: Personi
737
+ sets: Grupet e lejeve
738
+ empty_filter: Askush në këtë pamje.
739
+ empty_query: Askush nuk përputhet me “%{query}”.
740
+ export_holdings: Kush ka çfarë (CSV)
741
+ filter_label: Filtro personat
742
+ filters:
743
+ all: Të gjithë
744
+ ending: Përfundon brenda 7 ditëve
745
+ expired: Të skaduar
746
+ muting: Ka një grup heshtës
747
+ no_access: Pa qasje
748
+ no_sets: Pa Grupe lejesh
749
+ showing: Po shfaqen %{from}–%{to} nga %{total}. Kërko me emër ose email për
750
+ ta ngushtuar.
751
+ subtitle: Të gjithë në aplikacion dhe Grupet e lejeve që u janë caktuar.
752
+ show:
753
+ actions: Veprimet
754
+ actions_label: Veprimet për personin
755
+ add_set: "+ Shto Grup lejesh"
756
+ menu:
757
+ add:
758
+ desc: Jep më shumë qasje, me datë përfundimi opsionale.
759
+ title: Shto një Grup lejesh
760
+ consent:
761
+ desc: Hiq grupet që kërkojnë flamur pëlqimi ose sesioni.
762
+ title: Tërhiq pëlqimin…
763
+ erasure:
764
+ desc: GDPR Neni 17. Fshin caktimet dhe anëtarësimet në grupe në këtë qiramarrës
765
+ dhe pastron emrin nga regjistri i auditimit.
766
+ title: Fshirja e të dhënave të subjektit…
767
+ refresh:
768
+ desc: 'Rrallë nevojitet: ndryshimet vlejnë tashmë menjëherë.'
769
+ title: Rifresko lejet e ruajtura
770
+ remove_all:
771
+ desc: 'Largim nga puna: heq çdo caktim.'
772
+ title: Hiq të gjithë qasjen
773
+ troubleshooting: Zgjidhja e problemeve
774
+ tabs:
775
+ access: Qasja
776
+ audit: Auditimi
777
+ effective: Qasja efektive
778
+ tabs_label: Seksionet e personit
779
+ why_item:
780
+ open_set: Hap %{set} →
781
+ permission_set_groups:
782
+ confirm_destroy:
783
+ body:
784
+ one: "%{count} Grupi i tij i lejeve mbetet dhe kalon te “Jo në grupim”.
785
+ Qasja e askujt nuk ndryshon."
786
+ other: "%{count} Grupet e tij të lejeve mbeten dhe kalojnë te “Jo në grupim”.
787
+ Qasja e askujt nuk ndryshon."
788
+ confirm: Fshi grupimin
789
+ crumb: Fshi
790
+ title: Të fshihet “%{name}”?
791
+ index:
792
+ create: Krijo grupim
793
+ empty: Ende nuk ka grupime. Grupimet organizojnë Grupet e lejeve. Shtimi i
794
+ dikujt në një grupim nuk i jep grupet e tij.
795
+ help_term: Grupim i grupeve të lejeve
796
+ help_text: Organizon grupet e lejeve. Shtimi i dikujt në një grupim nuk i
797
+ jep grupet e tij.
798
+ members_warning:
799
+ one: "%{count} anëtar (nuk i merr këto grupe)"
800
+ other: "%{count} anëtarë (nuk i marrin këto grupe)"
801
+ name: Emri i grupimit
802
+ new: Grupim i ri
803
+ sets_count:
804
+ one: "%{count} Grup lejesh"
805
+ other: "%{count} Grupe lejesh"
806
+ subtitle: Organizon Grupet e lejeve.
807
+ ungrouped: Jo në grupim
808
+ show:
809
+ add_member: Shto anëtar
810
+ add_set: Shto ose zhvendos një grup këtu
811
+ description: Përshkrimi i grupimit
812
+ description_placeholder: Shto një përshkrim
813
+ duplicate: Dublikim i plotë
814
+ duplicate_title:
815
+ one: Kopjon grupimin dhe %{count} Grupin e tij të lejeve me të gjitha burimet,
816
+ fushat, veprimet dhe rregullat.
817
+ other: Kopjon grupimin dhe %{count} Grupet e tij të lejeve me të gjitha
818
+ burimet, fushat, veprimet dhe rregullat.
819
+ in_group: në %{group}
820
+ members: Anëtarët
821
+ members_note_html: Anëtarët <b>nuk</b> i marrin Grupet e lejeve të këtij grupimi.
822
+ Për t'i dhënë qasje dikujt, caktoji një Grup lejesh nga faqja e tij te Personat.
823
+ name: Emri i grupimit
824
+ no_members: Nuk ka anëtarë.
825
+ no_sets: Nuk ka Grupe lejesh në këtë grupim.
826
+ organisational: Ndryshimet e grupimit janë organizative. Nuk ndryshojnë kurrë
827
+ qasjen e askujt.
828
+ remove_set: Hiq nga grupimi
829
+ save: Ruaj
830
+ sets: Grupet e lejeve në këtë grupim
831
+ permission_set_rules:
832
+ builder:
833
+ active: Rregulli është aktiv
834
+ advanced: Të avancuara
835
+ advanced_hint: Lloji i bashkimit, aktiv
836
+ condition: Kushti
837
+ errors:
838
+ field: Zgjidh fushën për t'u kontrolluar.
839
+ list: Shto të paktën një vlerë në listë.
840
+ name_blank: Jepi një emër rregullit.
841
+ range: Plotëso të dy skajet e diapazonit.
842
+ value: Shkruaj një vlerë, ose zgjidh “përdoruesi aktual”.
843
+ field: Fusha për t'u kontrolluar
844
+ follow: Ndiq një lidhje
845
+ ignored_warning: Shiko të gjitha është aktiv për këtë burim, prandaj rregullat
846
+ e regjistrimeve injorohen derisa të çaktivizohet.
847
+ include_nulls: Shfaq edhe regjistrimet ku %{field} është bosh
848
+ join: Lloji i bashkimit
849
+ join_note: Ka rëndësi vetëm kur rregulli ndjek një lidhje.
850
+ joins:
851
+ auto:
852
+ desc: Përdor “%{choice}” për këtë rregull.
853
+ title: Automatik (i rekomanduar)
854
+ joins:
855
+ desc: Regjistrimet pa regjistrimin e lidhur lihen jashtë.
856
+ title: Vetëm regjistrimet që kanë regjistrimin e lidhur
857
+ left_joins:
858
+ desc: Regjistrimet pa regjistrimin e lidhur mbahen.
859
+ title: Edhe regjistrimet pa të
860
+ message: Mesazhi i bllokimit
861
+ message_placeholder: Shfaqet kur dikush hap një regjistrim që ky rregull e
862
+ fsheh.
863
+ model_missing: Ky model ose lidhje nuk ekziston më në aplikacion.
864
+ name: Emri i rregullit
865
+ name_placeholder: p.sh. Klientët e mi
866
+ operator: Kushti
867
+ optional: opsionale
868
+ pick_field: Zgjidh një fushë…
869
+ preview: Pamja paraprake
870
+ preview_empty: Zgjidh një fushë për ta parë rregullin si fjali.
871
+ relationship: Lidhja
872
+ remove_step: Hiq këtë hap të lidhjes
873
+ save: Ruaj rregullin
874
+ this_field: kjo fushë
875
+ update_form: Përditëso
876
+ confirm_destroy:
877
+ body: Personat me “%{set}” do të shohin regjistrimet që ky rregull i fshihte.
878
+ Kjo vlen menjëherë.
879
+ title: Të hiqet rregulli “%{rule}”?
880
+ edit:
881
+ title: Ndrysho rregullin për %{resource}
882
+ new:
883
+ title: Rregull i ri për %{resource}
884
+ value_input:
885
+ from: Nga
886
+ no_value: Nuk nevojitet vlerë për këtë kusht.
887
+ or: ose
888
+ pick_value: Zgjidh një vlerë…
889
+ to: Deri
890
+ value: Vlera
891
+ values: Vlerat
892
+ values_placeholder: draft, sent
893
+ permission_sets:
894
+ assignments_tab:
895
+ assign: Caktoja dikujt
896
+ assigned_on: "%{date} · nga %{by}"
897
+ bulk: Caktim në grup…
898
+ columns:
899
+ actions: Veprimet
900
+ assigned: Caktuar
901
+ expires: Skadon
902
+ person: Personi
903
+ empty: Ende askush nuk e ka këtë Grup lejesh.
904
+ immediate: Caktimi ose heqja vlen menjëherë.
905
+ label: Caktimet
906
+ revoke_selected: Hiq nga të zgjedhurit
907
+ select_all: Zgjidh të gjithë të shfaqurit
908
+ select_hint: Zgjidh persona për ta hequr këtë grup nga disa njëkohësisht.
909
+ select_person: Zgjidh %{name}
910
+ selected:
911
+ one: "%{count} i zgjedhur"
912
+ other: "%{count} të zgjedhur"
913
+ audit_tab:
914
+ all_types: Të gjitha llojet e regjistrimeve
915
+ any_time: Çdo kohë
916
+ anyone: Kushdo
917
+ columns:
918
+ created: Krijuar
919
+ edited: Ndryshuar së fundi
920
+ record: Regjistrimi
921
+ type: Lloji
922
+ count:
923
+ one: "%{count} regjistrim"
924
+ other: "%{count} regjistrime"
925
+ days: Periudha
926
+ empty: Asnjë regjistrim nuk përputhet me këta filtra.
927
+ label: Auditimi
928
+ last_days:
929
+ one: "%{count} ditën e fundit"
930
+ other: "%{count} ditët e fundit"
931
+ newest_first: Më të rejat në fillim ↓
932
+ oldest_first: Më të vjetrat në fillim ↑
933
+ open_log: Hape në regjistrin e auditimit
934
+ records: Regjistrimet në këtë grup
935
+ timeline: Kronologjia e ndryshimeve
936
+ timeline_desc: Çdo ngjarje e regjistruar e këtij grupi dhe e burimeve, fushave,
937
+ veprimeve, rregullave dhe caktimeve të tij (caktimet e drejtpërdrejta; anëtarësimet
938
+ në grupe janë te grupi), më të rejat në fillim. Hap një ngjarje për të parë
939
+ si ishte para dhe pas.
940
+ type: Lloji i regjistrimit
941
+ who: Personi
942
+ conditions_tab:
943
+ flag: Flamuri i sesionit
944
+ flag_custom: Ose shkruaj emrin e një flamuri
945
+ flag_hint_html: Emrat e lexueshëm vijnë nga %{setting} në initializer.
946
+ flag_intro: Grupi vlen vetëm kur kërkesa e mbart këtë flamur (për shembull
947
+ pas hyrjes me dy faktorë).
948
+ from: Nga
949
+ hours: Orët e lejuara
950
+ hours_only: Vetëm gjatë orëve të caktuara
951
+ intro: Kur vendosen kushte aktivizimi, ky Grup lejesh vlen vetëm kur të gjitha
952
+ plotësohen.
953
+ ips: IP ose diapazone CIDR të lejuara
954
+ ips_hint: Mbështeten IPv4 dhe IPv6, p.sh. 10.0.0.0/8 ose 2001:db8::/32.
955
+ no_flag: Nuk nevojitet flamur sesioni
956
+ one_per_line: një për rresht
957
+ overnight: 'Gjatë natës: aktiv nga %{from} deri në %{to} të nesërmen në mëngjes.'
958
+ reset: Rivendos
959
+ save: Ruaj kushtet · vlen për %{people}
960
+ server_time: Ora e serverit (%{zone})
961
+ to: deri
962
+ confirm_destroy:
963
+ body: "%{people} humbasin atë që u jep ky grup (%{resources}), përveç nëse
964
+ një grup tjetër e jep."
965
+ body_muting: "%{people} nuk do të kufizohen më nga ky grup."
966
+ body_nobody: Askush nuk e ka këtë grup, prandaj qasja e askujt nuk ndryshon.
967
+ confirm: Fshi Grupin e lejeve
968
+ crumb: Fshi
969
+ irreversible: Kjo nuk mund të zhbëhet.
970
+ title: Të fshihet “%{name}”?
971
+ confirm_switch_mode:
972
+ to_granting:
973
+ body: Çdo cilësim përmbyset. Çdo ⊘ që hiqte qasje do t'u japë qasje %{people}
974
+ në këtë grup.
975
+ confirm: Kalo në dhënie qasjeje
976
+ title: Të kalohet “%{name}” në grup që jep qasje?
977
+ to_muting:
978
+ body: Çdo cilësim përmbyset. Çdo ✓ që jepte qasje do t'ua heqë atë %{people}
979
+ në këtë grup, duke anashkaluar grupet e tjera.
980
+ confirm: Kalo në heshtës
981
+ title: Të kalohet “%{name}” në Grup lejesh heshtës?
982
+ copy_name: "%{name} (kopje)"
983
+ header:
984
+ description: Përshkrimi
985
+ description_placeholder: Shto një përshkrim që të tjerët ta dinë kur ta përdorin
986
+ group: Grupimi
987
+ name: Emri
988
+ index:
989
+ columns:
990
+ actions: Veprimet
991
+ group: Grupimi
992
+ people: Personat
993
+ set: Grup lejesh
994
+ status: Statusi
995
+ duplicate_aria: Dublikoje %{name}
996
+ empty_body: Një Grup lejesh është një paketë qasjesh që ua cakton njerëzve.
997
+ Krijo një si “Agjent shitjesh”, shto burime, pastaj caktoje.
998
+ empty_title: Ende nuk ka Grupe lejesh
999
+ filter_label: Filtro Grupet e lejeve
1000
+ filters:
1001
+ all: Të gjitha
1002
+ conditional: Me kushte
1003
+ granting: Jep qasje
1004
+ muting: Heshtës
1005
+ 'off': Të çaktivizuara
1006
+ help_term: Grup lejesh
1007
+ help_text: Një paketë qasjesh që ua cakton njerëzve. Një Grup lejesh heshtës
1008
+ heq qasje; ai mbizotëron mbi çdo gjë që japin grupet e tjera.
1009
+ new: Grup i ri lejesh
1010
+ no_match: Asnjë Grup lejesh nuk përputhet. Provo një kërkim ose filtër tjetër.
1011
+ search: Kërko Grupe lejesh
1012
+ subtitle: Mënyra më e shpejtë për të krijuar një grup të ri është të dublikosh
1013
+ një të ngjashëm.
1014
+ new:
1015
+ blank: Bosh
1016
+ copy_of: Kopje e %{name}
1017
+ create: Krijo Grupin e lejeve
1018
+ granting:
1019
+ desc: 'Grup lejesh: një paketë qasjesh që ua cakton njerëzve.'
1020
+ example: 'Shembull: “Agjent shitjesh” mund të lexojë dhe ndryshojë klientët
1021
+ e vet.'
1022
+ title: Jep qasje
1023
+ group: Grupimi
1024
+ muting:
1025
+ desc: 'Grup lejesh heshtës: heq qasje. Mbizotëron mbi çdo gjë që japin grupet
1026
+ e tjera.'
1027
+ example: 'Shembull: “Kontraktorë — pa të dhëna financiare” fsheh IBAN-in
1028
+ dhe bllokon Eksportin.'
1029
+ title: Heq qasje
1030
+ name: Emri
1031
+ name_placeholder: p.sh. Agjent shitjesh
1032
+ note: Kopjon burimet, fushat, veprimet, rregullat dhe kushtet. Caktimet nuk
1033
+ kopjohen. Mund të kalosh mes dhënies dhe heshtjes më vonë, por çdo cilësim
1034
+ përmbyset.
1035
+ start_from_granting: Fillo nga
1036
+ start_from_muting: Fillo nga
1037
+ title: Grup i ri lejesh
1038
+ type: Çfarë duhet të bëjë ky grup?
1039
+ records_summary:
1040
+ ignored:
1041
+ one: "%{count} rregull i injoruar"
1042
+ other: "%{count} rregulla të injoruara"
1043
+ no_rules: Pa rregulla · çdo regjistrim
1044
+ view_modify_all: Shiko të gjitha · Ndrysho të gjitha
1045
+ resource_summary:
1046
+ fields:
1047
+ one: "%{count} fushë"
1048
+ other: "%{count} fusha"
1049
+ masked:
1050
+ one: "%{count} e maskuar"
1051
+ other: "%{count} të maskuara"
1052
+ muting: "%{hidden} të fshehura · %{masked} të maskuara me detyrim"
1053
+ new:
1054
+ one: "%{count} e re"
1055
+ other: "%{count} të reja"
1056
+ resources_tab:
1057
+ add: Shto burim
1058
+ empty: Ende nuk ka burime. Një burim është një model nga aplikacioni, si Customer.
1059
+ Shto një për të zgjedhur çfarë mund të bëjnë personat me këtë grup.
1060
+ label: Burimet
1061
+ open: Hap
1062
+ open_resource: Hap %{resource}
1063
+ review:
1064
+ affected: 'Të prekur: %{names}.'
1065
+ back: Kthehu
1066
+ body: Ruajtja i aplikon këto menjëherë për %{people}.
1067
+ body_nobody: Ende askush nuk e ka këtë grup, prandaj ruajtja nuk prek askënd
1068
+ derisa ta caktosh.
1069
+ crumb: Rishiko
1070
+ save: Ruaj ndryshimet
1071
+ title:
1072
+ one: Rishiko %{count} ndryshim
1073
+ other: Rishiko %{count} ndryshime
1074
+ show:
1075
+ and_more:
1076
+ one: "%{count} tjetër"
1077
+ other: "%{count} të tjerë"
1078
+ impact: "%{people} të prekur. Ndryshimet vlejnë menjëherë: %{names}."
1079
+ impact_none: Ende askush nuk e ka këtë grup, prandaj ndryshimet nuk prekin
1080
+ askënd derisa ta caktosh.
1081
+ 'on': aktiv
1082
+ switch_to_granting: Kalo në dhënie qasjeje…
1083
+ switch_to_muting: Kalo në heshtës…
1084
+ tabs:
1085
+ assignments: Caktimet
1086
+ audit: Auditimi
1087
+ conditions: Kushtet
1088
+ resources: Burimet
1089
+ tabs_label: Seksionet e Grupit të lejeve
1090
+ resource_actions:
1091
+ add_select:
1092
+ block: Shto dhe blloko
1093
+ none: Mos e shto
1094
+ not_permitted: Shto, pa e lejuar
1095
+ permitted: Shto dhe lejo
1096
+ confirm_destroy:
1097
+ body: Veprimi hiqet nga “%{set}”. Kjo vlen menjëherë.
1098
+ title: Të hiqet veprimi “%{action}”?
1099
+ effect:
1100
+ managed_elsewhere: Menaxhohet nga grupe të tjera — nuk lejohet këtu
1101
+ managed_elsewhere_muting: Menaxhohet nga grupe të tjera — nuk bllokohet këtu
1102
+ permitted_by: 'Grupet që e lejojnë: %{sets}.'
1103
+ permitted_by_nobody: Asnjë Grup lejesh nuk e lejon ende.
1104
+ right_now: 'Tani:'
1105
+ unmanaged_allowed: I pamenaxhuar — të gjithë mund ta kryejnë
1106
+ unmanaged_blocked: I pamenaxhuar — i bllokuar derisa një grup ta lejojë
1107
+ endpoints:
1108
+ guarded: I mbrojtur
1109
+ guarded_title: Ky kontrollues e përfshin kontrollin e veprimeve, ndaj veprimi
1110
+ kontrollohet në çdo kërkesë.
1111
+ not_guarded: I pambrojtur
1112
+ not_guarded_title: Ky kontrollues nuk e përfshin kontrollin e veprimeve, ndaj
1113
+ veprimi kontrollohet vetëm aty ku kodi yt thërret can?.
1114
+ form:
1115
+ block: Blloko këtë veprim
1116
+ description: Përshkrimi
1117
+ label: Etiketa
1118
+ label_placeholder: p.sh. Eksporto në CSV
1119
+ name: Çelësi
1120
+ name_hint: Emri që aplikacioni yt kontrollon me can?(:export, …). Me shkronja
1121
+ të vogla dhe nënviza.
1122
+ name_suggestions: Zgjidh nga sugjerimet një nga veprimet e kontrolluesve të
1123
+ këtij burimi, ose shkruaj një çelës që e kontrollon kodi yt.
1124
+ permitted: I lejuar
1125
+ managed_note:
1126
+ body: Sapo një Grup lejesh aktiv ka një rresht për një veprim, vetëm personat
1127
+ që e kanë të lejuar nga Grupet e tyre të lejeve mund ta kryejnë. Të gjithë
1128
+ të tjerëve u refuzohet.
1129
+ title: Shtimi i një veprimi e bën të menaxhuar për të gjithë
1130
+ unmanaged_allowed: Një veprim që nuk e menaxhon asnjë Grup lejesh mund ta
1131
+ kryejnë të gjithë.
1132
+ unmanaged_blocked: Një veprim që nuk e menaxhon asnjë Grup lejesh është i
1133
+ bllokuar për të gjithë.
1134
+ new:
1135
+ add: Shto veprim
1136
+ intro: Veprimet janë folje specifike të aplikacionit që kodi yt kontrollon,
1137
+ si Eksporto ose Sinkronizo me kontabilitetin.
1138
+ title: Veprim i ri për %{resource}
1139
+ where: Ku ekzekutohet %{action}
1140
+ show:
1141
+ unlinked: Nuk është i lidhur me një veprim kontrolluesi. Kjo pritet për një
1142
+ veprim që kodi yt e kontrollon me can?.
1143
+ where: Ku ekzekutohet
1144
+ states:
1145
+ blocked: I bllokuar
1146
+ not_permitted: Nuk lejohet
1147
+ permitted: I lejuar
1148
+ unchanged: Pa ndryshim
1149
+ resource_fields:
1150
+ explain:
1151
+ capped: Shfaqet si Vetëm lexim sepse Ndrysho nuk lejohet për këtë burim.
1152
+ full_picture: Shiko gjithçka që %{name} mund të shohë →
1153
+ granted: "%{name} e sheh përmes %{sets}."
1154
+ muted: "%{name} nuk e sheh të plotë sepse %{sets} e fsheh ose e maskon."
1155
+ no_access: "%{name} nuk mund të lexojë %{resources}."
1156
+ none: Asnjë grup nuk ia shfaq këtë fushë %{name}.
1157
+ unconfigured: Asnjë grup nuk e konfiguron këtë kolonë, prandaj për %{name}
1158
+ vendos cilësimi për fushat e pakonfiguruara.
1159
+ virtual_default: "%{name} e merr këtë fushë virtuale si parazgjedhje, të lexueshme
1160
+ dhe të ndryshueshme: njëri nga grupet që i janë caktuar nuk ka cilësim për
1161
+ të."
1162
+ show:
1163
+ access_level: Niveli i qasjes
1164
+ across: Në të gjitha Grupet e lejeve
1165
+ applied: U aplikua
1166
+ apply_recommendation: Apliko rekomandimin
1167
+ column: Emri (kolona)
1168
+ custom: "(i personalizuar)"
1169
+ custom_link: Strategji të personalizuara te Cilësimet
1170
+ description: Përshkrimi
1171
+ details: Detajet
1172
+ explain: Shpjego për një person
1173
+ explain_button: Shpjego
1174
+ explain_nobody: Ende askush nuk mund ta lexojë këtë burim.
1175
+ flags_muting_note: Në grupet heshtëse këta flamuj do të thonë “hiq”.
1176
+ impact: Ruajtja vlen menjëherë për %{people}.
1177
+ label: Etiketa
1178
+ mask_strategy: Strategjia e maskimit
1179
+ muting_note: Ky është Grup lejesh heshtës. Zgjedhjet këtu heqin qasje.
1180
+ no_rules: Asnjë rregull në këtë grup nuk filtron sipas kësaj fushe.
1181
+ not_configured: 'Nuk ka cilësim për këtë kolonë në “%{set}”. Me konfigurimin
1182
+ aktual është: %{behaviour}.'
1183
+ not_configured_implicit: 'Nuk ka cilësim për këtë fushë në “%{set}”. Ndjek
1184
+ “Fushat virtuale pa cilësim”: me konfigurimin aktual është e lexueshme dhe
1185
+ e ndryshueshme si parazgjedhje.'
1186
+ pick_person: Zgjidh një person…
1187
+ save: Ruaj
1188
+ sensitive: 'Përputhet me modelin e privatësisë “%{pattern}”. Rekomandohet:
1189
+ I maskuar (%{strategy}).'
1190
+ turned_off: 'Cilësimi për këtë fushë në “%{set}” është i çaktivizuar, prandaj
1191
+ nuk zbatohet. Me konfigurimin aktual fusha është: %{behaviour}.'
1192
+ turned_off_implicit: 'Cilësimi për këtë fushë në “%{set}” është i çaktivizuar,
1193
+ prandaj nuk zbatohet. Fusha ndjek “Fushat virtuale pa cilësim”: me konfigurimin
1194
+ aktual është e lexueshme dhe e ndryshueshme si parazgjedhje.'
1195
+ used_by_rules: Përdoret nga rregullat
1196
+ variants: 'Vlen edhe për:'
1197
+ variants_muting: 'Heshtja e kësaj hesht edhe:'
1198
+ virtual_discovered_html: 'Fushë virtuale: nuk është kolonë e bazës së të dhënave.
1199
+ U gjet në model dhe nuk është e listuar te %{method}, prandaj nuk merr kurrë
1200
+ qasje si parazgjedhje.'
1201
+ virtual_html: 'Fushë virtuale: nuk është kolonë e bazës së të dhënave. Modeli
1202
+ e ekspozon përmes %{method}.'
1203
+ virtual_model_masking_off: Ky nivel vlen aty ku aplikacioni filtron parametrat
1204
+ dhe përgjigjet. Kodi që e lexon fushën drejtpërdrejt nga modeli merr vlerën
1205
+ e vërtetë.
1206
+ virtual_model_masking_on: Ky nivel vlen edhe kur kodi e lexon fushën drejtpërdrejt
1207
+ nga modeli.
1208
+ resources:
1209
+ actions_tab:
1210
+ add: Shto veprim
1211
+ add_aria: Shto %{action} në këtë grup
1212
+ bulk_label:
1213
+ one: 'Shto %{count} veprim të zbuluar:'
1214
+ other: 'Shto të %{count} veprimet e zbuluara:'
1215
+ details_aria: Detajet për %{action}
1216
+ empty: Ende nuk ka veprime. Shto foljet që aplikacioni yt kontrollon, si export
1217
+ ose sync.
1218
+ empty_discovery: Asnjë veprim kontrolluesi nuk lidhet me këtë burim dhe ende
1219
+ nuk është shtuar asnjë veprim.
1220
+ intro: Lejo ose blloko veprime specifike të aplikacionit për personat me këtë
1221
+ grup.
1222
+ intro_muting: Blloko veprime specifike të aplikacionit për personat me këtë
1223
+ grup, pavarësisht çfarë lejojnë grupet e tjera.
1224
+ no_guard_body_html: Lejimi ose bllokimi i një veprimi vlen vetëm aty ku kodi
1225
+ yt thërret can?. Përfshi %{guard} në kontrolluesit e tu që të kontrollohet
1226
+ çdo kërkesë.
1227
+ no_guard_title: Asnjë kontrollues nuk e përfshin ende kontrollin e veprimeve
1228
+ unlinked: Nuk është i lidhur me një veprim kontrolluesi
1229
+ unlinked_title: Asnjë veprim kontrolluesi nuk lidhet me këtë çelës. Kjo pritet
1230
+ për një veprim që kodi yt e kontrollon me can?.
1231
+ confirm_destroy:
1232
+ body: "%{people} humbasin atë që u jep ky grup për %{resources}, përveç nëse
1233
+ një grup tjetër e jep."
1234
+ body_muting: "%{people} nuk do të kufizohen më nga ky grup për këtë burim."
1235
+ confirm: Hiq burimin
1236
+ title: Të hiqet %{resource} nga “%{set}”?
1237
+ fields_tab:
1238
+ details: Detajet ›
1239
+ details_aria: Detajet për %{field}
1240
+ field: Fusha
1241
+ filter_label: Filtro fushat
1242
+ filters:
1243
+ all: Të gjitha
1244
+ edit: I ndryshueshëm
1245
+ hidden: I fshehur
1246
+ hide: I fshehur
1247
+ leave: Pa ndryshim
1248
+ mask: Maskim i detyruar
1249
+ masked: I maskuar
1250
+ read: Vetëm lexim
1251
+ sensitive: E ndjeshme
1252
+ unconfigured: E pakonfiguruar
1253
+ implicit_grant: E ndryshueshme si parazgjedhje
1254
+ level: Niveli i qasjes
1255
+ level_aria: Niveli i qasjes për %{field}
1256
+ no_match: Asnjë fushë nuk përputhet.
1257
+ not_configured: E pakonfiguruar · %{behaviour}
1258
+ read_off: Aktivizo Lexo për %{resource} për të zgjedhur cilat fusha shohin
1259
+ personat.
1260
+ search: Kërko fusha
1261
+ select_all: Zgjidh të gjitha fushat e shfaqura
1262
+ select_field: Zgjidh %{field}
1263
+ select_hint: Zgjidh fusha për të ndryshuar disa njëkohësisht.
1264
+ selected:
1265
+ one: "%{count} e zgjedhur"
1266
+ other: "%{count} të zgjedhura"
1267
+ set_to: Vendos në
1268
+ turned_off: E çaktivizuar · %{behaviour}
1269
+ new:
1270
+ add: Shto
1271
+ already: Tashmë në këtë grup
1272
+ columns:
1273
+ one: "%{count} kolonë"
1274
+ other: "%{count} kolona"
1275
+ intro: Zgjidh një model nga %{app}. Listohen vetëm modelet reale.
1276
+ models: Modelet
1277
+ no_models: Asnjë model nuk përputhet.
1278
+ note: Fushat do të krijohen nga kolonat dhe fushat virtuale të modelit.
1279
+ note_gdpr: Fushat do të krijohen nga kolonat dhe fushat virtuale të modelit.
1280
+ Parazgjedhjet e privatësisë janë aktive, prandaj kolonat e ndjeshme fillojnë
1281
+ si të maskuara.
1282
+ presets:
1283
+ block_changes:
1284
+ desc: Hesht Krijo, Ndrysho, Fshi dhe çdo veprim.
1285
+ title: Blloko të gjitha ndryshimet
1286
+ full:
1287
+ desc: Lexo, krijo, ndrysho dhe fshi. Të gjitha fushat të ndryshueshme.
1288
+ title: Qasje e plotë
1289
+ hide_sensitive:
1290
+ desc: Fsheh çdo kolonë që duket si e dhënë personale.
1291
+ title: Fshih fushat e ndjeshme
1292
+ leave:
1293
+ desc: Ende asgjë e heshtur. Konfiguroje vetë.
1294
+ title: Lëri të gjitha pa ndryshim
1295
+ nothing:
1296
+ desc: Gjithçka e çaktivizuar. Konfiguroje vetë.
1297
+ title: Asgjë
1298
+ read:
1299
+ desc: Vetëm lexim. Të gjitha fushat vetëm për lexim.
1300
+ title: Vetëm lexim
1301
+ search: Kërko modele
1302
+ sensitive:
1303
+ one: "%{count} duket e ndjeshme"
1304
+ other: "%{count} duken të ndjeshme"
1305
+ start_from: Fillo nga
1306
+ the_app: aplikacioni
1307
+ title: Shto një burim
1308
+ rules_tab:
1309
+ add: Shto rregull
1310
+ all_queries: vlen për të gjitha kërkesat
1311
+ blocked_message: 'Mesazhi i bllokimit: “%{message}”'
1312
+ empty: 'Ende nuk ka rregulla, prandaj regjistrimet nuk kufizohen: kushdo me
1313
+ këtë grup sheh çdo %{resources} që mund të lexojë.'
1314
+ empty_muting: Grupet e lejeve heshtës nuk shtojnë rregulla regjistrimesh.
1315
+ empty_view_all: Pa rregulla. Shiko të gjitha është aktiv, prandaj çdo regjistrim
1316
+ përfshihet gjithsesi.
1317
+ filter_rule: Rregull filtrimi · %{applies}
1318
+ ignored: 'Injoruar: Shiko të gjitha është aktiv'
1319
+ ignored_both: 'Injoruar: Shiko të gjitha dhe Ndrysho të gjitha janë aktive'
1320
+ join_rule: Ndjek një lidhje · vlen vetëm për kërkimet e kufizuara
1321
+ join_rules_warning: Këto rregulla ndjekin një lidhje, prandaj kufizimi automatik
1322
+ i kërkesave i anashkalon. Ato vlejnë vetëm aty ku aplikacioni përdor find_by
1323
+ ose permission_scoped.
1324
+ muting: Grupet e lejeve heshtës vetëm heqin qasje; rregullat e regjistrimeve
1325
+ vijnë nga grupet që japin qasje.
1326
+ scoped_lookups: vlen vetëm për kërkimet e kufizuara
1327
+ scoping_off: 'Kufizimi automatik i kërkesave është joaktiv: rregullat vlejnë
1328
+ për kërkimet me find_by dhe permission_scoped.'
1329
+ scoping_off_warning: Kufizimi automatik i kërkesave është joaktiv, prandaj
1330
+ këto rregulla vlejnë vetëm aty ku aplikacioni përdor find_by ose permission_scoped.
1331
+ Kërkesat e tjera kthejnë të gjitha regjistrimet.
1332
+ scoping_on: 'Kufizimi automatik i kërkesave është aktiv (filter_only): rregullat
1333
+ e filtrimit vlejnë për të gjitha kërkesat; rregullat që ndjekin një lidhje
1334
+ vlejnë vetëm për kërkimet e kufizuara.'
1335
+ turn_off: Çaktivizo
1336
+ turn_on: Aktivizo
1337
+ show:
1338
+ description: Përshkrimi
1339
+ description_placeholder: Shto një përshkrim
1340
+ help_term: Burim
1341
+ help_text: një model nga aplikacioni (këtu %{model}). Brenda tij zgjedh fushat,
1342
+ veprimet dhe rregullat e regjistrimeve.
1343
+ impact: "%{people} të prekur · vlen menjëherë pas ruajtjes"
1344
+ modify_all_html: "<b>Ndrysho të gjitha</b>: ndrysho dhe fshi çdo regjistrim
1345
+ të %{resource}. Anashkalon të gjitha rregullat e regjistrimeve për ndryshimet."
1346
+ modify_all_needs: Kërkon Shiko të gjitha dhe Ndrysho.
1347
+ muting_hint: Veprimet e heshtura u hiqen personave me këtë grup, pavarësisht
1348
+ çfarë lejojnë grupet e tjera.
1349
+ muting_note: Cilësimet këtu u heqin qasje personave të %{set}.
1350
+ needs_read_hint: Ndrysho dhe Fshi kërkojnë Lexo.
1351
+ record_scope: Shtrirja e regjistrimeve
1352
+ remove: Hiq %{resource} nga ky grup…
1353
+ rules_ignored:
1354
+ one: "%{count} rregull aktualisht injorohet sepse Shiko të gjitha është
1355
+ aktiv."
1356
+ other: "%{count} rregulla aktualisht injorohen sepse Shiko të gjitha është
1357
+ aktiv."
1358
+ tabs_label: Seksionet e burimit
1359
+ view_all_html: "<b>Shiko të gjitha</b>: lexo çdo regjistrim të %{resource}.
1360
+ Anashkalon të gjitha rregullat e regjistrimeve për leximin."
1361
+ view_all_needs: Kërkon Lexo.
1362
+ what_can_do: Çfarë mund të bëjnë personat
1363
+ sync:
1364
+ add_as:
1365
+ edit: Shto të gjitha të rejat me qasje të plotë
1366
+ hidden: Shto të gjitha të rejat si të fshehura
1367
+ hide: Shto të gjitha të rejat si të fshehura
1368
+ read: Shto të gjitha të rejat si Vetëm lexim
1369
+ gdpr_off: Parazgjedhjet e privatësisë janë joaktive.
1370
+ gdpr_on: 'Parazgjedhjet e privatësisë janë aktive: kolonat e ndjeshme shtohen
1371
+ si të maskuara.'
1372
+ ignored_count:
1373
+ one: "%{count} e injoruar"
1374
+ other: "%{count} të injoruara"
1375
+ ignored_link: Cilësimet › Kolonat e injoruara
1376
+ ignored_title: Të injoruara nga konfigurimi
1377
+ missing_count:
1378
+ one: "%{count} fushë e konfiguruar, kolona e së cilës nuk ekziston më"
1379
+ other: "%{count} fusha të konfiguruara, kolonat e të cilave nuk ekzistojnë
1380
+ më"
1381
+ missing_title: E konfiguruar, por kolona nuk ekziston më
1382
+ new_count:
1383
+ one: "%{count} kolonë e re e pakonfiguruar"
1384
+ other: "%{count} kolona të reja të pakonfiguruara"
1385
+ new_title: Kolona të reja, të pakonfiguruara
1386
+ none: Asnjë
1387
+ remove_missing: Hiq fushat që mungojnë
1388
+ review: Rishiko
1389
+ sensitive_rec: E ndjeshme → I maskuar (%{strategy})
1390
+ title: Sinkronizo fushat me modelin
1391
+ settings:
1392
+ items:
1393
+ action_guard_bypass:
1394
+ desc: Personat për të cilët veprimet e kontrolluesve nuk kontrollohen kurrë,
1395
+ për shembull administratorët.
1396
+ name: Kush e anashkalon kontrollin e veprimeve
1397
+ action_guard_nil_user_strategy:
1398
+ desc: Çfarë bën roja e kontrolluesit me një veprim të ruajtur kur askush
1399
+ nuk është i identifikuar. Pa vlerë, ndjek “Rregullat e regjistrimeve kur
1400
+ askush nuk ka hyrë”.
1401
+ name: Veprime të ruajtura pa përdorues të identifikuar
1402
+ admin_app_name:
1403
+ desc: Emri i aplikacionit që shfaqet nën logon në këto ekrane.
1404
+ name: Emri i aplikacionit
1405
+ admin_assignment_authorization:
1406
+ desc: Kod që vendos nëse një kërkesë mund të ndryshojë kush ka një Grup
1407
+ lejesh ose kush bën pjesë në një grupim, në këto ekrane dhe në API. Thirret
1408
+ me (controller, target, user_ids, action); action është :grant, :revoke,
1409
+ :change_expiry, :review, :add_member ose :remove_member. E pavendosur
1410
+ do të thotë pa kontroll shtesë.
1411
+ name: Kush mund të ndryshojë caktimet
1412
+ admin_back_url:
1413
+ desc: 'Ku të çon lidhja nën logo (parazgjedhja: faqja kryesore e aplikacionit).'
1414
+ name: Lidhja "Kthehu te aplikacioni"
1415
+ admin_docs_url:
1416
+ desc: Ku të çojnë lidhjet “Dokumentacioni i konfigurimit” në këtë faqe.
1417
+ name: Lidhja e dokumentacionit të konfigurimit
1418
+ admin_model_resolver:
1419
+ desc: Cilat modele ofrohen kur shton një burim.
1420
+ name: Modelet që ofrohen në admin
1421
+ admin_session_flags:
1422
+ desc: Emra të lexueshëm për flamujt e sesionit që ofrohen në skedën Kushtet.
1423
+ name: Emrat e flamujve të sesionit
1424
+ admin_stale_assignment_days:
1425
+ desc: Caktimet e përhershme që nuk janë rishikuar për kaq kohë shfaqen te
1426
+ Caktime të vjetruara.
1427
+ name: Rishiko caktimet pas
1428
+ admin_tenantless_access:
1429
+ desc: Çfarë bëjnë ekranet dhe API-ja e administrimit me një kërkesë pa qiramarrës
1430
+ kur qiramarrësit janë aktivë.
1431
+ name: Kërkesat pa qiramarrës
1432
+ api_action_authorization:
1433
+ desc: Vendos cilat thirrje API mund të bëjë secili thirrës.
1434
+ name: Kontrolli i lejeve të API-së
1435
+ api_assignment_authorization:
1436
+ desc: Vendos kush mund të caktojë Grupe lejesh përmes API-së.
1437
+ name: Kontrolli i caktimeve të API-së
1438
+ api_auth:
1439
+ desc: Si e vërtetojnë identitetin thirrësit e API-së.
1440
+ name: Hyrja në API
1441
+ api_base_controller_class:
1442
+ desc: Kontrolluesi nga i cili trashëgojnë pikat fundore të API-së.
1443
+ name: Kontrolluesi i API-së
1444
+ api_default_per_page:
1445
+ desc: Regjistrime për faqe API kur thirrësi nuk e specifikon.
1446
+ name: Madhësia e parazgjedhur e faqes
1447
+ api_enabled:
1448
+ desc: U lejon sistemeve të tjera të menaxhojnë Grupet e lejeve përmes HTTP.
1449
+ name: JSON API
1450
+ api_max_per_page:
1451
+ desc: Kufiri i sipërm i regjistrimeve për faqe API.
1452
+ name: Madhësia maksimale e faqes
1453
+ api_pagination_handler:
1454
+ desc: Si ndahen rezultatet e API-së në faqe.
1455
+ name: Faqosja
1456
+ api_record_identifier:
1457
+ desc: Cilin identifikues përdor API-ja në URL.
1458
+ name: Identifikuesi i regjistrimit në API
1459
+ api_redact_rule_field_values:
1460
+ desc: Vlerat e rregullave fshihen në përgjigjet e API-së.
1461
+ name: Fshih vlerat e rregullave në API
1462
+ api_require_authorization:
1463
+ desc: Refuzon ndryshimet përmes API-së kur nuk është konfiguruar kontroll
1464
+ lejesh.
1465
+ name: Kërko kontrolle lejesh për API-në
1466
+ api_serializer_overrides:
1467
+ desc: Zëvendësime për mënyrën si shkruhen regjistrimet në përgjigjet e API-së.
1468
+ name: Serializues të personalizuar
1469
+ api_stats_require_admin:
1470
+ desc: Vetëm administratorët mund të lexojnë statistikat e përdorimit përmes
1471
+ API-së.
1472
+ name: Statistikat vetëm për administratorët
1473
+ audit_actor_resolver:
1474
+ desc: Kod që përcakton kush vepron në një kërkesë drejt këtyre ekraneve
1475
+ ose API-së. E pavendosur do të thotë personi i kyçur; me fjalëkalim bazik,
1476
+ emri i përdoruesit.
1477
+ name: Kush regjistrohet si veprues
1478
+ audit_change_failure_strategy:
1479
+ desc: 'Çfarë ndodh kur një ndryshim nuk mund të regjistrohet: ndryshimi
1480
+ kthehet mbrapsht (raise), kalon dhe raportohet (report), ose kalon dhe
1481
+ vetëm shënohet në log (log).'
1482
+ name: Kur një ndryshim nuk mund të regjistrohet
1483
+ audit_events:
1484
+ desc: 'Regjistron çdo ndryshim të bërë përmes modeleve të lejeve — aktorin
1485
+ siç u përcaktua (ndoshta i panjohur), kur, dhe vlerat e mëparshme — në
1486
+ regjistrin e auditimit. Auto: aktiv kur tabela e auditimit ekziston.'
1487
+ name: Regjistri i auditimit
1488
+ audit_hook_failure_strategy:
1489
+ desc: 'Çfarë ndodh kur një abonent ose hook dështon gjatë dorëzimit të një
1490
+ ngjarjeje: raportohet, vetëm shënohet në log, ose ngrihet gabim.'
1491
+ name: Kur një abonent dështon
1492
+ audit_log_authorization:
1493
+ desc: Kod që vendos kush mund të lexojë faqet, skedat, eksportet dhe API-në
1494
+ e regjistrit të auditimit. E pavendosur do të thotë kushdo me akses në
1495
+ këto ekrane. Fundfaqet 'Ndryshuar së fundi nga' dhe etiketat 'Caktuar
1496
+ nga' ia tregojnë përsëri aktorin e fundit kujtdo që hap administrimin.
1497
+ name: Kush mund të lexojë regjistrin e auditimit
1498
+ audit_log_subscriber:
1499
+ desc: Shkruan çdo ngjarje auditimi edhe në log-un e aplikacionit.
1500
+ name: Kopjo ngjarjet në log
1501
+ audit_request_context:
1502
+ desc: Kod që jep ID-në e kërkesës dhe adresën IP që ruhen me çdo ngjarje.
1503
+ E pavendosur do të thotë ID-ja e kërkesës dhe IP-ja e largët.
1504
+ name: Detajet e kërkesës në ngjarje
1505
+ audit_retention_period:
1506
+ desc: Sa kohë ruhen ngjarjet e auditimit para se detyra e pastrimit të mund
1507
+ t'i fshijë. E pavendosur do të thotë përgjithmonë.
1508
+ name: Ruaj ngjarjet e auditimit për
1509
+ audit_runtime_events:
1510
+ desc: 'Cilat vendime gjatë ekzekutimit ruhen, jo vetëm publikohen: denied,
1511
+ bypass, field_read, params_filtered, cache.'
1512
+ name: Ngjarjet e ruajtura gjatë ekzekutimit
1513
+ audit_trail_enabled:
1514
+ desc: Ruan krijuar-nga / ndryshuar-së-fundi-nga në regjistrimet e PermissionForge
1515
+ kur aktori është një përdorues i identifikuar.
1516
+ name: Regjistro kush krijoi dhe kush ndryshoi së fundi
1517
+ audit_user_class:
1518
+ desc: Modeli që përdoret për “krijuar nga” dhe “ndryshuar nga”.
1519
+ name: Modeli i personave për auditim
1520
+ auto_apply_masked_attributes:
1521
+ desc: Aplikon maskimin kur aplikacioni lexon atributet drejtpërdrejt, jo
1522
+ vetëm në përgjigje.
1523
+ name: Masko automatikisht atributet e modelit
1524
+ auto_query_scoping:
1525
+ desc: Rregullat filtruese shtohen automatikisht në çdo kërkesë. Rregullat
1526
+ që ndjekin një lidhje zbatohen vetëm në kërkimet e kufizuara.
1527
+ name: Zbato rregullat në të gjitha kërkesat
1528
+ available_locales:
1529
+ desc: Gjuhët në të cilat janë të disponueshme këto ekrane.
1530
+ name: Gjuhët
1531
+ base_controller_class:
1532
+ desc: Kontrolluesi i aplikacionit nga i cili trashëgojnë këto ekrane. Këtu
1533
+ ekzekutohet kontrolli yt i hyrjes.
1534
+ name: Kontrolluesi i adminit
1535
+ cache_backend:
1536
+ desc: Ku ruhen në cache lejet e llogaritura.
1537
+ name: Ruajtja e cache-it
1538
+ cache_key_prefix:
1539
+ desc: Parashtesa për çdo hyrje në cache.
1540
+ name: Parashtesa e çelësave të cache-it
1541
+ cache_ttl:
1542
+ desc: Sa kohë mbahen lejet e llogaritura. Një vlerë e re vlen për hyrjet
1543
+ që ruhen në cache pas ndryshimit.
1544
+ name: Jetëgjatësia e cache-it
1545
+ conditional_set_cache_ttl:
1546
+ desc: Sa kohë mbahen lejet për personat me grupe me kushte.
1547
+ name: Jetëgjatësia e cache-it për grupet me kushte
1548
+ conditional_sets_strict_mode:
1549
+ desc: Kur mungojnë detajet e kërkesës, modaliteti strikt i trajton grupet
1550
+ me kushte si joaktive.
1551
+ name: Kushte aktivizimi strikte
1552
+ controller_action_discovery:
1553
+ desc: Shfaq veprimet e kontrolluesve të aplikacionit në skedën Veprimet
1554
+ të një burimi, që të lejohen ose të bllokohen.
1555
+ name: Listo veprimet e kontrolluesve
1556
+ controller_action_resolver:
1557
+ desc: Vendos se cilit burim dhe cilit veprim i përket një veprim i kontrolluesit.
1558
+ name: Lidhja e veprimeve të kontrolluesve
1559
+ controller_discovery_exclude:
1560
+ desc: Kontrollues që nuk listohen dhe nuk kontrollohen kurrë.
1561
+ name: Kontrolluesit e lënë jashtë
1562
+ current_user_resolver:
1563
+ desc: I tregon PermissionForge kush ka hyrë në çdo kërkesë.
1564
+ name: Si gjendet përdoruesi aktual
1565
+ custom_mask_strategies:
1566
+ desc: Stile shtesë maskimi të përcaktuara në kod, që ofrohen pranë atyre
1567
+ të integruara.
1568
+ name: Stile maskimi të personalizuara
1569
+ database_row_level_security:
1570
+ desc: I lejon vetë bazës së të dhënave të zbatojë rregullat e regjistrimeve
1571
+ si mbrojtje e fundit.
1572
+ name: Siguria në nivel rreshti në bazën e të dhënave
1573
+ extra_fields_default_access:
1574
+ desc: Nëse një fushë virtuale që askush nuk e ka konfiguruar është e ndryshueshme
1575
+ si parazgjedhje apo ndjek “Fushat pa cilësim”.
1576
+ name: Fushat virtuale pa cilësim
1577
+ extra_fields_method:
1578
+ desc: Metoda e modelit që liston fusha shtesë, jo të bazës së të dhënave,
1579
+ për t'u mbrojtur.
1580
+ name: Metoda e fushave virtuale
1581
+ field_variant_mappings:
1582
+ desc: Cilësimi i një fushe vlen edhe për këto emra kolonash të lidhura.
1583
+ name: Variante të lidhura fushash
1584
+ filter_parameters_integration:
1585
+ desc: Shton modelet e privatësisë te filter_parameters të Rails që regjistrat
1586
+ të mos i shfaqin.
1587
+ name: Filtro vlerat e ndjeshme nga regjistrat
1588
+ gdpr_defaults:
1589
+ desc: Kolonat që duken personale maskohen si parazgjedhje kur shtohen.
1590
+ name: Parazgjedhjet e privatësisë
1591
+ gdpr_field_patterns:
1592
+ desc: Emrat e kolonave që përputhen me një model shënohen si të ndjeshëm
1593
+ dhe marrin këtë stil maskimi.
1594
+ name: Modele emrash të ndjeshëm
1595
+ gdpr_require_explicit_choice:
1596
+ desc: Aplikacioni refuzon të niset derisa parazgjedhjet e privatësisë të
1597
+ aktivizohen ose çaktivizohen shprehimisht.
1598
+ name: Kërko zgjedhje për parazgjedhjet e privatësisë
1599
+ hidden_attribute_value:
1600
+ desc: Çfarë kthen një atribut i fshehur kur kodi e lexon.
1601
+ name: Vlera për atributet e fshehura
1602
+ http_basic_auth_enabled:
1603
+ desc: Kërkon një emër përdoruesi dhe fjalëkalim të përbashkët para se dikush
1604
+ të hapë këto ekrane.
1605
+ name: Mbro adminin me fjalëkalim
1606
+ http_basic_auth_password:
1607
+ desc: Fjalëkalimi për kërkesën e fjalëkalimit më lart. Nuk shfaqet kurrë
1608
+ këtu.
1609
+ name: Fjalëkalimi i adminit
1610
+ http_basic_auth_user:
1611
+ desc: Emri i përdoruesit për kërkesën e fjalëkalimit më lart.
1612
+ name: Emri i përdoruesit të adminit
1613
+ ignored_fields:
1614
+ desc: Kolona që PermissionForge nuk i menaxhon kurrë. Nuk shfaqen në listat
1615
+ e fushave.
1616
+ name: Kolonat e injoruara
1617
+ mask_virtual_attributes:
1618
+ desc: Fsheh ose maskon edhe fushat e llogaritura, jo të bazës së të dhënave,
1619
+ kur kodi yt i lexon nga modeli.
1620
+ name: Masko fushat virtuale në modele
1621
+ masked_attributes_nil_user_strategy:
1622
+ desc: 'Nëse modelet e maskuara kthejnë vlerat e ruajtura apo të fshehura
1623
+ kur nuk ka përdorues aktual (punë në sfond, email-e, konsola). Modeli
1624
+ i përdoruesit mbetet i lexueshëm: hyrja e lexon para se dikush të ketë
1625
+ hyrë.'
1626
+ name: Atributet e maskuara kur askush nuk ka hyrë
1627
+ masked_write_protection:
1628
+ desc: Ndalon që një vlerë e maskuar si “•••• 4821” të ruhet mbi vlerën e
1629
+ vërtetë.
1630
+ name: Ruajtja e vlerave të maskuara
1631
+ nil_user_strategy:
1632
+ desc: Nëse rregullat anashkalohen, mohojnë gjithçka ose ngrenë gabim kur
1633
+ nuk ka përdorues aktual.
1634
+ name: Rregullat e regjistrimeve kur askush nuk ka hyrë
1635
+ omit_hidden_in_attributes_hash:
1636
+ desc: Fushat e fshehura hiqen nga hash-et e atributeve në vend që të vendosen
1637
+ bosh.
1638
+ name: Lëri jashtë fushat e fshehura nga listat e atributeve
1639
+ on_cache_failure:
1640
+ desc: Kod që ekzekutohet kur lejet në cache nuk mund të pastroheshin, për
1641
+ shembull për të të njoftuar. Derisa të mbarojë jetëgjatësia e cache-it,
1642
+ ai person mund t'i mbajë lejet e vjetra.
1643
+ name: Kur dështon ruajtja e cache-it
1644
+ on_field_filtered:
1645
+ desc: Kod që ekzekutohet sa herë filtrohet një fushë, për shembull për ta
1646
+ regjistruar.
1647
+ name: Kur një fushë fshihet ose maskohet
1648
+ on_rule_bypass:
1649
+ desc: Kod që ekzekutohet kur Shiko të gjitha ose Ndrysho të gjitha anashkalon
1650
+ rregullat e regjistrimeve.
1651
+ name: Kur rregullat anashkalohen
1652
+ preset:
1653
+ desc: ":strict mbyll cilësimet që si parazgjedhje e lënë qasjen të hapur
1654
+ (lista e forcimit për prodhim në README), përveç maskimit kur askush nuk
1655
+ ka hyrë, që mbetet zgjedhje e qartë; :compat mban parazgjedhjet e bibliotekës.
1656
+ Një cilësim i vendosur në inicializues fiton gjithmonë mbi paracaktimin."
1657
+ name: Paracaktimi i cilësimeve
1658
+ profile_builder:
1659
+ desc: Detajet e profilit që ruhen në cache me lejet e çdo personi.
1660
+ name: Detajet e profilit
1661
+ request_context_resolver:
1662
+ desc: Nga vijnë adresa IP, ora dhe flamujt e sesionit.
1663
+ name: Burimi i detajeve të kërkesës
1664
+ response_filter_nil_user_strategy:
1665
+ desc: Nëse filtrimi i fushave anashkalohet apo bllokohet gjithçka kur nuk
1666
+ ka përdorues aktual.
1667
+ name: Përgjigjet kur askush nuk ka hyrë
1668
+ rls_session_variable:
1669
+ desc: Emri i variablit që i tregon bazës së të dhënave kush është përdoruesi
1670
+ aktual.
1671
+ name: Variabli i sesionit në bazën e të dhënave
1672
+ snapshot_transactions:
1673
+ desc: 'Nëse një transaksion i bazës së të dhënave vazhdon t''i shohë të
1674
+ dhënat siç ishin kur filloi. Lejet e llogaritura brenda një transaksioni
1675
+ të tillë nuk ruhen në cache. Auto vendos sipas bazës së të dhënave: MySQL
1676
+ dhe SQLite po, PostgreSQL vetëm me repeatable read ose më të fortë.'
1677
+ name: Transaksionet lexojnë nga një pamje e çastit
1678
+ table_name_prefix:
1679
+ desc: Parashtesa për tabelat e vetë PermissionForge në bazën e të dhënave.
1680
+ name: Parashtesa e tabelave
1681
+ tenant_column:
1682
+ desc: Kolona që mban qiramarrësin në çdo regjistrim.
1683
+ name: Kolona e qiramarrësit
1684
+ tenant_model:
1685
+ desc: Modeli që ndan klientët e një aplikacioni me shumë qiramarrës.
1686
+ name: Modeli i qiramarrësit
1687
+ unconfigured_action_strategy:
1688
+ desc: Çfarë ndodh me një veprim kontrolluesi që nuk e përmend asnjë Grup
1689
+ lejesh.
1690
+ name: Veprimet pa cilësim
1691
+ unconfigured_field_strategy:
1692
+ desc: Çfarë ndodh me një kolonë që nuk e përmend asnjë Grup lejesh.
1693
+ name: Fushat pa cilësim
1694
+ unscoped_query_detection:
1695
+ desc: Vëren kërkesat që anashkalojnë rregullat e regjistrimeve.
1696
+ name: Zbulo kërkesat e pambrojtura
1697
+ unscoped_query_detection_environments:
1698
+ desc: Mjediset ku zbulimi i kërkesave të pambrojtura është aktiv.
1699
+ name: Zbulimi ekzekutohet në
1700
+ user_active_check:
1701
+ desc: I tregon PermissionForge nëse llogaria e një personi të caktuar është
1702
+ ende aktive.
1703
+ name: Kontrolli i personit aktiv
1704
+ user_class:
1705
+ desc: Modeli që përfaqëson një person që mund të marrë Grupe lejesh.
1706
+ name: Modeli i personave
1707
+ user_label_formatter:
1708
+ desc: Si shfaqet një person në lista, për shembull emri dhe email-i.
1709
+ name: Etiketa e personit
1710
+ user_list_limit:
1711
+ desc: Numri maksimal i personave që ngarkohen në një listë para se të të
1712
+ kërkohet të kërkosh.
1713
+ name: Kufiri i listës së personave
1714
+ user_list_resolver:
1715
+ desc: Cilët persona shfaqen në zgjedhësit e këtyre ekraneve.
1716
+ name: Burimi i listës së personave
1717
+ uuid_generator:
1718
+ desc: Si krijohen UUID-të e regjistrimeve.
1719
+ name: Gjeneruesi i UUID-ve
1720
+ virtual_field_discovery:
1721
+ desc: Liston edhe store accessors dhe atributet e attribute API si fusha
1722
+ virtuale.
1723
+ name: Zbulo fushat virtuale
1724
+ ladder:
1725
+ active: Aktiv
1726
+ database: Baza e të dhënave
1727
+ detect: Zbulo
1728
+ enforce: Zbato
1729
+ intro: '3 nivele mbrojtjeje: zbato rregullat në kërkesa, zbulo kërkesat që
1730
+ i anashkalojnë dhe lëre bazën e të dhënave t''i zbatojë.'
1731
+ 'off': Joaktiv
1732
+ oks:
1733
+ action_guard_nil_user_strategy: Veprimet e ruajtura të kontrolluesve refuzohen
1734
+ kur askush nuk është i identifikuar.
1735
+ admin_tenantless_access: Kërkesat e administrimit pa qiramarrës refuzohen.
1736
+ api_require_authorization: Ndryshimet përmes API-së kërkojnë kontroll lejesh.
1737
+ audit_events: Kush ndryshoi çfarë regjistrohet në regjistrin e auditimit.
1738
+ audit_trail_enabled: Ruan krijuar-nga / ndryshuar-së-fundi-nga në regjistrimet
1739
+ e PermissionForge kur aktori është një përdorues i identifikuar.
1740
+ conditional_sets_strict_mode: Grupet me kushte mbyllen kur mungojnë informacionet
1741
+ e kërkesës.
1742
+ extra_fields_default_access: Fushat virtuale që askush nuk i ka konfiguruar
1743
+ ndjekin “Fushat pa cilësim”.
1744
+ gdpr_defaults: Kolonat e reja të ndjeshme fillojnë të maskuara.
1745
+ http_basic_auth_enabled: Qasja në këto ekrane është e mbrojtur.
1746
+ masked_attributes_nil_user_strategy: Modelet e maskuara i fshehin vlerat kur
1747
+ askush nuk ka hyrë (modeli i përdoruesit mbetet i lexueshëm për hyrjen).
1748
+ masked_write_protection: Vlerat e maskuara nuk ruhen kurrë mbrapsht.
1749
+ nil_user_strategy: Kodi pa përdorues të hyrë nuk sheh asnjë regjistrim.
1750
+ preset: Paracaktimi :strict mbyll cilësimet që si parazgjedhje e lënë qasjen
1751
+ të hapur.
1752
+ unconfigured_action_strategy: Veprimet e kontrolluesve që askush nuk i ka
1753
+ konfiguruar bllokohen.
1754
+ risks:
1755
+ admin_tenantless_access: Kërkesat e administrimit pa qiramarrës shërbehen,
1756
+ për të gjithë qiramarrësit.
1757
+ api_require_authorization: API-ja është aktive dhe ndryshimet lejohen edhe
1758
+ pa kontroll lejesh.
1759
+ audit_events: Ndryshimet nuk regjistrohen në regjistrin e auditimit (është
1760
+ çaktivizuar, ose tabela e auditimit mungon). Me audit_events = true dhe
1761
+ pa tabelë, çdo ndryshim dështon (me strategjinë e parazgjedhur :raise).
1762
+ audit_trail_enabled: Askush nuk regjistrohet si krijues ose redaktues i regjistrimeve.
1763
+ conditional_sets_strict_mode: Grupet me kushte trajtohen si aktive kur mungojnë
1764
+ informacionet e kërkesës (fail-open).
1765
+ http_basic_auth_enabled: Këto ekrane janë ose të bllokuara (kërkesa për fjalëkalim
1766
+ aktive, por pa kredenciale) ose të pambrojtura (pa fjalëkalim dhe pa kontrollues
1767
+ admini të personalizuar).
1768
+ masked_write_protection: Vlerat e maskuara mund të ruhen mbi të dhënat e vërteta.
1769
+ unconfigured_field_strategy: Kolonat që askush nuk i ka konfiguruar u shfaqen
1770
+ pa maskim kujtdo që mund ta lexojë burimin.
1771
+ row:
1772
+ changed: Ndryshuar
1773
+ default: 'Parazgjedhje: %{value}'
1774
+ docs: 'Dokumentacioni i konfigurimit: %{key} ↗'
1775
+ how_to_change: Si ta ndryshosh
1776
+ risk: Rrezik
1777
+ secure: I sigurt
1778
+ snippet_current: Fragmenti tregon vlerën aktuale.
1779
+ snippet_recommended: Fragmenti tregon vlerën e rekomanduar.
1780
+ step_deploy: Bëj commit dhe deploy (ose rinis serverin lokalisht).
1781
+ step_edit: Ndrysho skedarin më lart.
1782
+ step_reload: Rifresko këtë faqe për ta konfirmuar.
1783
+ sections:
1784
+ activation_conditions: Kushtet e aktivizimit
1785
+ admin_access: Qasja në admin
1786
+ admin_api: JSON API i adminit
1787
+ admin_ui: Ekranet e adminit
1788
+ audit_trail: Regjistri i auditimit
1789
+ caching: Cache
1790
+ controller_actions: Veprimet e kontrolluesve
1791
+ database: Baza e të dhënave dhe sistemi
1792
+ field_protection: Mbrojtja e fushave
1793
+ masked_attributes: Atribute të maskuara në modele
1794
+ multi_tenancy: Shumë qiramarrës
1795
+ people: Personat
1796
+ preset: Paracaktimi
1797
+ privacy: Privatësia (GDPR)
1798
+ record_rules: Rregullat e regjistrimeve dhe kufizimi i kërkesave
1799
+ show:
1800
+ api_disabled_html: API-ja është e çaktivizuar (%{key}).
1801
+ changed_count:
1802
+ one: "%{count} i ndryshuar"
1803
+ other: "%{count} të ndryshuar"
1804
+ changed_only: Shfaq vetëm ato të ndryshuara nga parazgjedhja
1805
+ has_risk: Ka një cilësim të rrezikshëm
1806
+ health: Përmbledhja e gjendjes
1807
+ how_to_fix: Si ta rregullosh
1808
+ intro_html: Cilësimet përcaktohen në %{file}. Ndryshimet kërkojnë deploy/rinisje.
1809
+ Kjo faqe tregon vlerat aktuale dhe si t'i ndryshosh.
1810
+ no_match: Asnjë cilësim nuk përputhet.
1811
+ read_only: Vetëm lexim
1812
+ search: Kërko cilësime
1813
+ section_meta: "%{settings} · %{changed}"
1814
+ secure_count:
1815
+ one: "%{count} cilësim sigurie dhe privatësie duket në rregull."
1816
+ other: "%{count} cilësime sigurie dhe privatësie duken në rregull."
1817
+ settings_count:
1818
+ one: "%{count} cilësim"
1819
+ other: "%{count} cilësime"
1820
+ units:
1821
+ days:
1822
+ one: "%{count} ditë"
1823
+ other: "%{count} ditë"
1824
+ hours:
1825
+ one: "%{count} orë"
1826
+ other: "%{count} orë"
1827
+ minutes:
1828
+ one: "%{count} minutë"
1829
+ other: "%{count} minuta"
1830
+ people:
1831
+ one: person
1832
+ other: persona
1833
+ records:
1834
+ one: regjistrim
1835
+ other: regjistrime
1836
+ values:
1837
+ disabled: Joaktiv
1838
+ empty: Asnjë
1839
+ hook_custom: I personalizuar (i përcaktuar në kod)
1840
+ hook_default: Parazgjedhje
1841
+ hook_none: I pavendosur
1842
+ never_displayed: nuk shfaqet kurrë
1843
+ nil: nil (i pavendosur)
1844
+ not_set: I pavendosur
1845
+ 'off': Joaktiv
1846
+ 'on': Aktiv
1847
+ set: I vendosur
1848
+ shared:
1849
+ across_sets:
1850
+ muted_hidden: 'I heshtur: i fshehur'
1851
+ none: Asnjë Grup lejesh nuk e përfshin këtë burim.
1852
+ active: Aktiv
1853
+ audit_footer:
1854
+ created: Krijuar nga %{created_by} · %{created_at}
1855
+ disabled: Nuk regjistrohet kush krijoi dhe kush ndryshoi.
1856
+ edited: Ndryshuar së fundi nga %{updated_by} · %{updated_at}
1857
+ history: Historiku
1858
+ crud_cell:
1859
+ allowed: Lejohet
1860
+ muted: I heshtur
1861
+ needs_read: Aktivizo së pari Lexo
1862
+ needs_read_short: Kërkon Lexo
1863
+ 'no': Jo
1864
+ unchanged: Pa ndryshim
1865
+ expiry_picker:
1866
+ custom_label: Data e përfundimit
1867
+ default: Parazgjedhje
1868
+ label: Kur përfundon kjo qasje
1869
+ pick_date: Zgjidh një datë
1870
+ presets:
1871
+ 1d: 1 ditë
1872
+ 1w: 1 javë
1873
+ 30d: 30 ditë
1874
+ custom: Datë e personalizuar
1875
+ eom: Fundi i muajit
1876
+ never: Pa skadim
1877
+ help_banner:
1878
+ got_it: Në rregull
1879
+ inactive: Joaktiv
1880
+ level_control:
1881
+ needs_edit: Aktivizo së pari Ndrysho për %{resource}
1882
+ mode_banners:
1883
+ duplicate_to_edit: Dublikoje për ta ndryshuar
1884
+ locked_body_html: Ky regjistrim ka %{flag}, prandaj këtu është vetëm për lexim.
1885
+ Dublikoje për të krijuar një kopje të ndryshueshme.
1886
+ muting_body: Mbizotëron mbi çdo gjë që japin grupet e tjera. Çdo gjë që hesht
1887
+ ose fsheh këtu u hiqet personave të tij. Lëre një cilësim në “Pa ndryshim”
1888
+ që të vendosin grupet e tjera.
1889
+ muting_title: 'Grup lejesh heshtës: heq qasje'
1890
+ preferences:
1891
+ language: Gjuha
1892
+ signed_in_as: Hyrë si %{name}
1893
+ theme: Tema
1894
+ themes:
1895
+ auto: Automatike
1896
+ dark: E errët
1897
+ light: E çelët
1898
+ reason_field:
1899
+ hint: Ruhet bashkë me ndryshimin në regjistrin e auditimit.
1900
+ label: Arsyeja
1901
+ placeholder: p.sh. bileta SEC-142
1902
+ summary: Shto një arsye (opsionale)
1903
+ summary_short: Arsye
1904
+ savebar:
1905
+ clean: Nuk ka ndryshime të paruajtura
1906
+ count:
1907
+ one: "%{count} ndryshim i paruajtur"
1908
+ other: "%{count} ndryshime të paruajtura"
1909
+ discard: Hidh poshtë
1910
+ label: Ndryshime të paruajtura
1911
+ note: Ruajtja i aplikon menjëherë për %{people}.
1912
+ note_nobody: Ende askush nuk e ka këtë grup, prandaj ruajtja nuk prek askënd.
1913
+ review: Rishiko dhe ruaj
1914
+ sidebar:
1915
+ aria: PermissionForge
1916
+ back_to_app: Kthehu te %{app}
1917
+ back_to_app_generic: Kthehu te aplikacioni
1918
+ brand: PermissionForge
1919
+ tech_details:
1920
+ copied: U kopjua
1921
+ copy: Kopjo
1922
+ summary: Detaje teknike
1923
+ time_ago: "%{time} më parë"
1924
+ time_nil: "—"
1925
+ toasts:
1926
+ dismiss: Mbyll
1927
+ undo: Zhbëj
1928
+ topbar:
1929
+ menu: Menyja
1930
+ user: Përdoruesi
1931
+ user_fallback: 'Përdoruesi #%{id}'
1932
+ user_select_prompt: Zgjidh një person...
1933
+ user_select_truncated: Shfaqen vetëm %{count} përdoruesit e parë. Konfiguro
1934
+ user_list_resolver për ta ngushtuar listën.
1935
+ ui:
1936
+ actions: Veprimet
1937
+ apply: Apliko
1938
+ assign_set: Cakto një Grup lejesh
1939
+ assignment:
1940
+ never_reviewed: Nuk është rishikuar kurrë
1941
+ reviewed: Rishikuar %{when}
1942
+ reviewed_by: Rishikuar nga %{who} më %{date}
1943
+ reviewed_on: Rishikuar më %{date}
1944
+ audit:
1945
+ system: Sistemi
1946
+ types:
1947
+ action: Veprim
1948
+ assignment: Caktim
1949
+ field: Fushë
1950
+ group: Grupim
1951
+ group_membership: Anëtarësi në grupim
1952
+ permission_set: Grup lejesh
1953
+ resource: Burim
1954
+ rule: Rregull
1955
+ who_when: "%{who} · %{when}"
1956
+ badges:
1957
+ column_missing: Kolona mungon
1958
+ conditional: Me kushte
1959
+ expired: Skaduar
1960
+ fail_open: Fail-open
1961
+ fail_open_long: 'Fail-open: aktiv kur mungojnë informacionet e kërkesës'
1962
+ fail_open_title: conditional_sets_strict_mode është joaktiv
1963
+ locked: I kyçur
1964
+ muting: Heshtës
1965
+ not_configured: E pakonfiguruar
1966
+ 'off': Joaktiv
1967
+ sensitive: E ndjeshme
1968
+ virtual: Virtuale
1969
+ breadcrumb: Navigimi
1970
+ cancel: Anulo
1971
+ changes:
1972
+ action_managed_already: "(tashmë i menaxhuar; grupet që e lejojnë: %{sets})"
1973
+ action_managed_first: "(kjo e bën të menaxhuar: tani e tutje vetëm personat
1974
+ që e kanë të lejuar nga Grupet e tyre të lejeve mund ta kryejnë)"
1975
+ action_managed_later: "(hyn në fuqi sapo ky grup dhe ky burim të aktivizohen)"
1976
+ action_managed_nobody: "(tashmë i menaxhuar; asnjë Grup lejesh nuk e lejon
1977
+ ende)"
1978
+ action_muted: "%{resource}: %{action} u bllokua"
1979
+ action_new_muted: "%{resource}: %{action} u shtua dhe u bllokua"
1980
+ action_new_off: "%{resource}: %{action} u shtua, nuk lejohet"
1981
+ action_new_on: "%{resource}: %{action} u shtua dhe lejohet"
1982
+ action_new_unmuted: "%{resource}: %{action} u shtua, nuk bllokohet"
1983
+ action_off: "%{resource}: %{action} nuk lejohet më"
1984
+ action_on: "%{resource}: %{action} lejohet"
1985
+ action_unmuted: "%{resource}: %{action} nuk bllokohet më"
1986
+ attributes:
1987
+ description: përshkrimi
1988
+ label: etiketa
1989
+ name: emri
1990
+ cascaded: "(ndryshuar automatikisht)"
1991
+ cascaded_field: "(ulur sepse Ndrysho është joaktiv)"
1992
+ field_level: "%{resource} › %{field}: %{from} → %{to}"
1993
+ field_new: "%{resource} › %{field}: vendosur në %{to}"
1994
+ field_off: "%{resource} › %{field}: çaktivizuar"
1995
+ field_on: "%{resource} › %{field}: aktivizuar"
1996
+ field_text: "%{resource} › %{field}: %{attribute} ndryshoi"
1997
+ flag_off: "%{resource}: %{flag} u hoq"
1998
+ flag_off_muting: "%{resource}: %{flag} nuk heshtet më"
1999
+ flag_on: "%{resource}: %{flag} u lejua"
2000
+ flag_on_muting: "%{resource}: %{flag} u hesht"
2001
+ resource_text: "%{resource}: %{attribute} ndryshoi"
2002
+ set_group: U zhvendos në grupimin “%{group}”
2003
+ set_no_group: U hoq nga grupimi i tij
2004
+ set_off: Grupi u çaktivizua
2005
+ set_on: Grupi u aktivizua
2006
+ set_text: "%{attribute} i Grupit të lejeve ndryshoi"
2007
+ close: Mbyll
2008
+ conditions:
2009
+ always: Gjithmonë aktiv. Pa kushte aktivizimi.
2010
+ flag_generic: kur %{flag} është vendosur
2011
+ flags:
2012
+ marketing_consent: kur është dhënë pëlqimi për marketing
2013
+ mfa_verified: pas hyrjes me dy faktorë
2014
+ sso_login: pas hyrjes me SSO të kompanisë
2015
+ from_ips: nga %{ips}
2016
+ hours: ndërmjet %{from} dhe %{to}
2017
+ hours_overnight: ndërmjet %{from} dhe %{to} (gjatë natës)
2018
+ only_works: Funksionon vetëm %{parts}.
2019
+ or: " ose "
2020
+ dates:
2021
+ days_ago:
2022
+ one: "%{count} ditë më parë"
2023
+ other: "%{count} ditë më parë"
2024
+ never: "—"
2025
+ today: sot
2026
+ yesterday: dje
2027
+ delete: Fshi
2028
+ dry_run: Provë
2029
+ duplicate: Dublikoje
2030
+ edit: Ndrysho
2031
+ expiry:
2032
+ ends_in:
2033
+ one: Përfundon pas %{count} dite · %{date}
2034
+ other: Përfundon pas %{count} ditësh · %{date}
2035
+ expired: Skadoi më %{date}
2036
+ none: Pa skadim
2037
+ today: Përfundon sot
2038
+ until: Deri më %{date}
2039
+ expiry_change:
2040
+ 1w: 1 javë nga sot
2041
+ 30d: 30 ditë nga sot
2042
+ eom: Fundi i muajit
2043
+ never: Pa skadim
2044
+ export_csv: Eksporto CSV
2045
+ field_lookup: Kërkimi i fushës
2046
+ fields: Fushat
2047
+ flags:
2048
+ marketing_consent: Ka dhënë pëlqimin për marketing
2049
+ mfa_verified: Ka hyrë me dy faktorë
2050
+ sso_login: Ka hyrë përmes SSO-së së kompanisë
2051
+ flags_short:
2052
+ create_access: Krijo
2053
+ delete_access: Fshi
2054
+ edit_access: Ndrysho
2055
+ is_active: Aktiv
2056
+ modify_all: Ndrysho të gjitha
2057
+ read_access: Lexo
2058
+ view_all: Shiko të gjitha
2059
+ keep: Mbaje
2060
+ levels:
2061
+ edit: I ndryshueshëm
2062
+ hidden: I fshehur
2063
+ hide: Fshih
2064
+ leave: Pa ndryshim
2065
+ mask: Maskim i detyruar
2066
+ masked: I maskuar
2067
+ muted: I heshtur
2068
+ none: E pakonfiguruar
2069
+ read: Vetëm lexim
2070
+ locked:
2071
+ title: 'I kyçur: menaxhohet nga sistemi/API'
2072
+ mask_strategies:
2073
+ email: Email
2074
+ first1_last4: 1 e para + 4 të fundit
2075
+ full: I plotë
2076
+ last4: 4 të fundit
2077
+ months:
2078
+ apr: Pri
2079
+ aug: Gsh
2080
+ dec: Dhj
2081
+ feb: Shk
2082
+ jan: Jan
2083
+ jul: Kor
2084
+ jun: Qer
2085
+ mar: Mar
2086
+ may: Maj
2087
+ nov: Nën
2088
+ oct: Tet
2089
+ sep: Sht
2090
+ next: Tjetër
2091
+ no_group: Jo në grupim
2092
+ open_person: Hap personin
2093
+ open_setting: Hap cilësimin
2094
+ operators:
2095
+ between: është ndërmjet
2096
+ contains: përmban
2097
+ ends_with: përfundon me
2098
+ equal: është
2099
+ greater_than: është më i madh se
2100
+ greater_than_or_equal: është të paktën
2101
+ in: është një nga
2102
+ is_not_null: nuk është bosh
2103
+ is_null: është bosh
2104
+ less_than: është më i vogël se
2105
+ less_than_or_equal: është më së shumti
2106
+ not_contains: nuk përmban
2107
+ not_equal: nuk është
2108
+ not_in: nuk është një nga
2109
+ starts_with: fillon me
2110
+ people_count:
2111
+ one: "%{count} person"
2112
+ other: "%{count} persona"
2113
+ previous: I mëparshmi
2114
+ records: Regjistrimet
2115
+ remove: Hiq
2116
+ resource: Burim
2117
+ rules:
2118
+ and: dhe
2119
+ current_user: përdoruesi aktual
2120
+ only_show: Shfaq vetëm
2121
+ or_empty: ose %{field} është bosh
2122
+ where: ku
2123
+ rules_count:
2124
+ one: Rregullat (%{count})
2125
+ other: Rregullat (%{count})
2126
+ rules_tab: Rregullat
2127
+ search: Kërko
2128
+ search_people: Kërko me emër ose email
2129
+ setting: Cilësimi
2130
+ states:
2131
+ blocked: I bllokuar
2132
+ granted: Lejohet
2133
+ none: Jo
2134
+ unconfigured:
2135
+ block: Bllokohet si parazgjedhje
2136
+ mask_all: I maskuar plotësisht
2137
+ pass_through: Kalon pa maskim
2138
+ warn: Kalon dhe regjistrohet
2139
+ view_all: Shiko të gjitha
2140
+ validations:
2141
+ name_blank: nuk mund të jetë bosh
2142
+ permission_set:
2143
+ group_missing: duhet të jetë një grupim ekzistues i grupeve të lejeve
2144
+ permission_set_rule:
2145
+ between_requires_two_values: duhet të përmbajë saktësisht 2 vlera të ndara
2146
+ me presje për operatorin between
2147
+ field_value_required: kërkohet për këtë operator
2148
+ in_requires_values: duhet të përmbajë të paktën 1 vlerë të ndarë me presje
2149
+ invalid_field_name: duhet të jetë emër i vlefshëm kolone (shkronja, numra,
2150
+ nënviza, pika)
2151
+ invalid_join_type: nuk është lloj i vlefshëm bashkimi
2152
+ invalid_operator: nuk është operator i vlefshëm
2153
+ numeric_or_date_required: duhet të jetë vlerë numerike ose datë për operatorët
2154
+ e krahasimit
2155
+ value_not_expected: nuk kërkon vlerë për këtë operator
2156
+ value_required: nuk duhet të jetë bosh për këtë operator
2157
+ resource:
2158
+ invalid_name: duhet të jetë emër i vlefshëm klase modeli (p.sh. Customer ose
2159
+ Admin::Report)
2160
+ resource_field:
2161
+ invalid_mask_strategy: nuk është strategji e vlefshme maskimi
2162
+ mask_strategy_required: duhet të jetë e pranishme kur aksesi i maskimit është
2163
+ i aktivizuar
2164
+ too_long: është shumë i gjatë (të shumtën %{count} karaktere)