permission_forge 0.14.1 → 0.15.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +2372 -0
- data/README.md +76 -25
- data/app/controllers/concerns/permission_forge/api/crud_actions.rb +3 -2
- data/app/controllers/concerns/permission_forge/api/input_shapes.rb +200 -0
- data/app/controllers/concerns/permission_forge/api/pagination.rb +12 -5
- data/app/controllers/concerns/permission_forge/api/response_renderer.rb +37 -1
- data/app/controllers/concerns/permission_forge/api_authentication.rb +13 -2
- data/app/controllers/concerns/permission_forge/cache_confirmation.rb +42 -11
- data/app/controllers/concerns/permission_forge/change_review.rb +42 -0
- data/app/controllers/concerns/permission_forge/copy_refusal.rb +39 -0
- data/app/controllers/concerns/permission_forge/param_shapes.rb +207 -7
- data/app/controllers/concerns/permission_forge/save_notice.rb +69 -0
- data/app/controllers/permission_forge/api/audit_events_controller.rb +1 -1
- data/app/controllers/permission_forge/api/base_controller.rb +163 -12
- data/app/controllers/permission_forge/api/dashboard_controller.rb +29 -4
- data/app/controllers/permission_forge/api/permission_set_group_users_controller.rb +5 -2
- data/app/controllers/permission_forge/api/permission_set_groups_controller.rb +5 -4
- data/app/controllers/permission_forge/api/permission_set_rules_controller.rb +7 -5
- data/app/controllers/permission_forge/api/permission_set_users_controller.rb +80 -19
- data/app/controllers/permission_forge/api/permission_sets_controller.rb +12 -6
- data/app/controllers/permission_forge/api/resource_actions_controller.rb +1 -1
- data/app/controllers/permission_forge/api/resource_fields_controller.rb +3 -4
- data/app/controllers/permission_forge/api/resources_controller.rb +26 -12
- data/app/controllers/permission_forge/api/unmatched_routes_controller.rb +20 -0
- data/app/controllers/permission_forge/application_controller.rb +39 -5
- data/app/controllers/permission_forge/assignments_controller.rb +36 -34
- data/app/controllers/permission_forge/bulk_assignments_controller.rb +8 -4
- data/app/controllers/permission_forge/field_lookups_controller.rb +1 -1
- data/app/controllers/permission_forge/maintenance_controller.rb +6 -2
- data/app/controllers/permission_forge/people_controller.rb +14 -14
- data/app/controllers/permission_forge/permission_set_editor.rb +20 -6
- data/app/controllers/permission_forge/permission_set_group_users_controller.rb +3 -1
- data/app/controllers/permission_forge/permission_set_groups_controller.rb +23 -9
- data/app/controllers/permission_forge/permission_set_rules_controller.rb +20 -10
- data/app/controllers/permission_forge/permission_sets_controller.rb +23 -24
- data/app/controllers/permission_forge/resource_actions_controller.rb +11 -6
- data/app/controllers/permission_forge/resource_fields_controller.rb +37 -19
- data/app/controllers/permission_forge/resources_controller.rb +12 -11
- data/app/frontend/permission_forge/pf_admin.css +99 -17
- data/app/frontend/permission_forge/pf_admin.js +36 -0
- data/app/helpers/permission_forge/application_helper.rb +22 -72
- data/app/helpers/permission_forge/audit_attribution_helper.rb +77 -0
- data/app/helpers/permission_forge/audit_helper.rb +57 -119
- data/app/helpers/permission_forge/audit_records_helper.rb +103 -0
- data/app/helpers/permission_forge/audit_sentences_helper.rb +56 -2
- data/app/helpers/permission_forge/badges_helper.rb +74 -17
- data/app/helpers/permission_forge/changes_helper.rb +24 -6
- data/app/helpers/permission_forge/conditions_helper.rb +119 -0
- data/app/helpers/permission_forge/labels_helper.rb +134 -0
- data/app/helpers/permission_forge/people_helper.rb +11 -19
- data/app/helpers/permission_forge/rule_problems_helper.rb +73 -0
- data/app/helpers/permission_forge/sentences_helper.rb +119 -98
- data/app/helpers/permission_forge/settings_helper.rb +2 -2
- data/app/helpers/permission_forge/ui_helper.rb +65 -4
- data/app/models/permission_forge/audit_event.rb +5 -1
- data/app/models/permission_forge/permission_set.rb +208 -18
- data/app/models/permission_forge/permission_set_group.rb +10 -4
- data/app/models/permission_forge/permission_set_group_user.rb +3 -1
- data/app/models/permission_forge/permission_set_rule.rb +254 -17
- data/app/models/permission_forge/permission_set_user.rb +38 -3
- data/app/models/permission_forge/resource.rb +18 -8
- data/app/models/permission_forge/resource_action.rb +15 -6
- data/app/models/permission_forge/resource_field.rb +97 -11
- data/app/views/permission_forge/assignments/confirm_destroy.html.erb +4 -4
- data/app/views/permission_forge/assignments/new.html.erb +10 -6
- data/app/views/permission_forge/audit_events/index.html.erb +1 -1
- data/app/views/permission_forge/audit_events/show.html.erb +16 -9
- data/app/views/permission_forge/bulk_assignments/confirm_revoke.html.erb +3 -3
- data/app/views/permission_forge/bulk_assignments/new.html.erb +3 -3
- data/app/views/permission_forge/field_lookups/show.html.erb +2 -2
- data/app/views/permission_forge/home/_broken_rules_card.html.erb +35 -0
- data/app/views/permission_forge/home/_conditions_card.html.erb +28 -0
- data/app/views/permission_forge/home/_ending_card.html.erb +11 -5
- data/app/views/permission_forge/home/_expired_card.html.erb +1 -1
- data/app/views/permission_forge/home/_mask_strategies_card.html.erb +27 -0
- data/app/views/permission_forge/home/_privacy_card.html.erb +21 -7
- data/app/views/permission_forge/home/_rules_card.html.erb +1 -1
- data/app/views/permission_forge/home/_secret_rules_card.html.erb +33 -0
- data/app/views/permission_forge/home/_stale_card.html.erb +7 -5
- data/app/views/permission_forge/home/_tidy_card.html.erb +1 -1
- data/app/views/permission_forge/home/index.html.erb +5 -6
- data/app/views/permission_forge/people/_access_tab.html.erb +26 -19
- data/app/views/permission_forge/people/_audit_tab.html.erb +8 -8
- data/app/views/permission_forge/people/_effective_field_source.html.erb +13 -7
- data/app/views/permission_forge/people/_effective_tab.html.erb +16 -15
- data/app/views/permission_forge/people/_effective_why.html.erb +20 -16
- data/app/views/permission_forge/people/_why_item.html.erb +1 -1
- data/app/views/permission_forge/people/confirm_remove_all.html.erb +3 -3
- data/app/views/permission_forge/people/erasure_preview.html.erb +1 -1
- data/app/views/permission_forge/permission_set_groups/confirm_destroy.html.erb +3 -3
- data/app/views/permission_forge/permission_set_groups/index.html.erb +3 -3
- data/app/views/permission_forge/permission_set_groups/show.html.erb +28 -19
- data/app/views/permission_forge/permission_set_rules/_builder.html.erb +35 -15
- data/app/views/permission_forge/permission_set_rules/_preview.html.erb +17 -0
- data/app/views/permission_forge/permission_set_rules/confirm_destroy.html.erb +3 -3
- data/app/views/permission_forge/permission_set_rules/preview.html.erb +12 -0
- data/app/views/permission_forge/permission_sets/_assignments_tab.html.erb +37 -22
- data/app/views/permission_forge/permission_sets/_audit_tab.html.erb +4 -4
- data/app/views/permission_forge/permission_sets/_condition_problems.html.erb +15 -0
- data/app/views/permission_forge/permission_sets/_conditions_tab.html.erb +14 -8
- data/app/views/permission_forge/permission_sets/_header.html.erb +6 -5
- data/app/views/permission_forge/permission_sets/_records_summary.html.erb +2 -2
- data/app/views/permission_forge/permission_sets/_resources_tab.html.erb +4 -4
- data/app/views/permission_forge/permission_sets/confirm_destroy.html.erb +4 -4
- data/app/views/permission_forge/permission_sets/confirm_switch_mode.html.erb +3 -3
- data/app/views/permission_forge/permission_sets/index.html.erb +6 -6
- data/app/views/permission_forge/permission_sets/new.html.erb +2 -2
- data/app/views/permission_forge/permission_sets/review.html.erb +13 -3
- data/app/views/permission_forge/permission_sets/show.html.erb +7 -5
- data/app/views/permission_forge/resource_actions/_across_sets.html.erb +7 -10
- data/app/views/permission_forge/resource_actions/_effect.html.erb +5 -5
- data/app/views/permission_forge/resource_actions/_form.html.erb +1 -1
- data/app/views/permission_forge/resource_actions/_managed_note.html.erb +5 -3
- data/app/views/permission_forge/resource_actions/confirm_destroy.html.erb +1 -1
- data/app/views/permission_forge/resource_actions/new.html.erb +1 -1
- data/app/views/permission_forge/resource_actions/show.html.erb +2 -2
- data/app/views/permission_forge/resource_fields/_explain.html.erb +19 -15
- data/app/views/permission_forge/resource_fields/show.html.erb +21 -12
- data/app/views/permission_forge/resources/_actions_tab.html.erb +4 -4
- data/app/views/permission_forge/resources/_fields_tab.html.erb +17 -9
- data/app/views/permission_forge/resources/_rules_tab.html.erb +9 -6
- data/app/views/permission_forge/resources/_sync.html.erb +8 -5
- data/app/views/permission_forge/resources/confirm_destroy.html.erb +3 -3
- data/app/views/permission_forge/resources/new.html.erb +3 -2
- data/app/views/permission_forge/resources/show.html.erb +6 -6
- data/app/views/permission_forge/settings/_row.html.erb +2 -2
- data/app/views/permission_forge/settings/show.html.erb +10 -1
- data/app/views/permission_forge/shared/_across_sets.html.erb +8 -9
- data/app/views/permission_forge/shared/_audit_events.html.erb +2 -2
- data/app/views/permission_forge/shared/_audit_footer.html.erb +13 -2
- data/app/views/permission_forge/shared/_crud_cell.html.erb +6 -6
- data/app/views/permission_forge/shared/_mode_banners.html.erb +1 -1
- data/app/views/permission_forge/shared/_savebar.html.erb +4 -2
- data/config/locales/permission_forge.en.yml +480 -69
- data/config/locales/permission_forge.mk.yml +499 -79
- data/config/locales/permission_forge.sq.yml +509 -80
- data/config/routes.rb +38 -23
- data/lib/generators/permission_forge/install/install_generator.rb +21 -0
- data/lib/generators/permission_forge/install/templates/initializer.rb.tt +35 -34
- data/lib/generators/permission_forge/install/templates/migration.rb.tt +5 -5
- data/lib/permission_forge/activation_conditions.rb +200 -0
- data/lib/permission_forge/admin/action_label.rb +33 -0
- data/lib/permission_forge/admin/action_rows.rb +3 -1
- data/lib/permission_forge/admin/actor_label.rb +52 -0
- data/lib/permission_forge/admin/attention_items.rb +152 -31
- data/lib/permission_forge/admin/audit_log.rb +4 -7
- data/lib/permission_forge/admin/audit_trail.rb +33 -17
- data/lib/permission_forge/admin/bulk_people_matcher.rb +32 -14
- data/lib/permission_forge/admin/chain_entries.rb +42 -0
- data/lib/permission_forge/admin/change_set.rb +12 -1
- data/lib/permission_forge/admin/change_set_parts/base.rb +5 -4
- data/lib/permission_forge/admin/change_set_parts/context.rb +3 -1
- data/lib/permission_forge/admin/change_set_parts/field_edit.rb +4 -1
- data/lib/permission_forge/admin/change_set_parts/field_levels.rb +1 -1
- data/lib/permission_forge/admin/change_set_parts/new_actions.rb +1 -1
- data/lib/permission_forge/admin/change_set_parts/new_fields.rb +38 -11
- data/lib/permission_forge/admin/change_set_parts/resource_edit.rb +17 -1
- data/lib/permission_forge/admin/change_set_parts/resource_flags.rb +1 -1
- data/lib/permission_forge/admin/change_set_parts/set_attrs.rb +4 -0
- data/lib/permission_forge/admin/change_set_parts/values.rb +10 -4
- data/lib/permission_forge/admin/column_fields.rb +22 -21
- data/lib/permission_forge/admin/conditions_form.rb +47 -15
- data/lib/permission_forge/admin/controller_catalog.rb +42 -14
- data/lib/permission_forge/admin/editable_lock.rb +83 -3
- data/lib/permission_forge/admin/effective_access.rb +147 -48
- data/lib/permission_forge/admin/effective_fields.rb +75 -67
- data/lib/permission_forge/admin/error_sentence.rb +47 -0
- data/lib/permission_forge/admin/expiry_presets.rb +17 -0
- data/lib/permission_forge/admin/exports/holdings.rb +6 -3
- data/lib/permission_forge/admin/field_across_sets.rb +7 -4
- data/lib/permission_forge/admin/field_chain.rb +109 -0
- data/lib/permission_forge/admin/field_detail.rb +24 -11
- data/lib/permission_forge/admin/field_label.rb +109 -0
- data/lib/permission_forge/admin/field_level.rb +4 -68
- data/lib/permission_forge/admin/field_provenance.rb +132 -0
- data/lib/permission_forge/admin/field_rows.rb +26 -11
- data/lib/permission_forge/admin/last_changes.rb +14 -0
- data/lib/permission_forge/admin/list_sentence.rb +32 -0
- data/lib/permission_forge/admin/mask_strategy_choices.rb +57 -0
- data/lib/permission_forge/admin/model_catalog.rb +83 -39
- data/lib/permission_forge/admin/model_label.rb +66 -0
- data/lib/permission_forge/admin/people_candidates.rb +21 -9
- data/lib/permission_forge/admin/people_directory.rb +23 -5
- data/lib/permission_forge/admin/permission_set_factory.rb +6 -15
- data/lib/permission_forge/admin/person_label.rb +105 -16
- data/lib/permission_forge/admin/prefill.rb +92 -0
- data/lib/permission_forge/admin/record_name.rb +45 -0
- data/lib/permission_forge/admin/rule_builder.rb +77 -3
- data/lib/permission_forge/admin/rule_form.rb +44 -10
- data/lib/permission_forge/admin/rule_form_input.rb +27 -11
- data/lib/permission_forge/admin/rule_notes.rb +43 -0
- data/lib/permission_forge/admin/rule_preview.rb +96 -0
- data/lib/permission_forge/admin/sensitive_columns.rb +10 -62
- data/lib/permission_forge/admin/settings_catalog.rb +64 -12
- data/lib/permission_forge/admin/state_label.rb +97 -0
- data/lib/permission_forge/admin_method_override.rb +44 -0
- data/lib/permission_forge/api/schema.rb +322 -0
- data/lib/permission_forge/api/serializers/base_serializer.rb +87 -1
- data/lib/permission_forge/api/serializers/permission_set_group_user_serializer.rb +1 -1
- data/lib/permission_forge/api/serializers/permission_set_rule_serializer.rb +1 -1
- data/lib/permission_forge/api/serializers/permission_set_serializer.rb +5 -2
- data/lib/permission_forge/api/serializers/permission_set_user_serializer.rb +1 -1
- data/lib/permission_forge/api/serializers/resource_action_serializer.rb +1 -1
- data/lib/permission_forge/api/serializers/resource_field_serializer.rb +1 -1
- data/lib/permission_forge/api/serializers/resource_serializer.rb +1 -1
- data/lib/permission_forge/api_authorizations.rb +59 -0
- data/lib/permission_forge/api_only_admin.rb +81 -0
- data/lib/permission_forge/audit/actor_codes.rb +32 -0
- data/lib/permission_forge/audit/actor_resolver.rb +1 -2
- data/lib/permission_forge/audit/boot_warnings.rb +29 -9
- data/lib/permission_forge/audit/event_catalog.rb +16 -6
- data/lib/permission_forge/audit/event_query.rb +3 -3
- data/lib/permission_forge/audit/reason_codes.rb +25 -0
- data/lib/permission_forge/audit/runtime.rb +9 -2
- data/lib/permission_forge/audit/settings_observer.rb +2 -2
- data/lib/permission_forge/audit/unmasked_without_user.rb +169 -0
- data/lib/permission_forge/audit.rb +24 -10
- data/lib/permission_forge/boot_checks.rb +180 -63
- data/lib/permission_forge/cache/base.rb +10 -0
- data/lib/permission_forge/cache/null_cache.rb +5 -0
- data/lib/permission_forge/cache/outcome.rb +119 -0
- data/lib/permission_forge/cache/rails_cache.rb +6 -0
- data/lib/permission_forge/cache/report.rb +150 -0
- data/lib/permission_forge/cache/user_keys.rb +8 -4
- data/lib/permission_forge/cache_warnings.rb +140 -0
- data/lib/permission_forge/concerns/auto_permission_scoping.rb +19 -2
- data/lib/permission_forge/concerns/has_tenant_scoping.rb +1 -1
- data/lib/permission_forge/concerns/has_uuid.rb +1 -1
- data/lib/permission_forge/concerns/keeps_copied_values.rb +48 -0
- data/lib/permission_forge/concerns/masked_attributes/alias_access.rb +12 -2
- data/lib/permission_forge/concerns/masked_attributes/virtual_readers.rb +6 -4
- data/lib/permission_forge/concerns/masked_attributes.rb +150 -34
- data/lib/permission_forge/concerns/normalizes_label.rb +78 -0
- data/lib/permission_forge/concerns/permission_cache_accessor.rb +3 -3
- data/lib/permission_forge/concerns/permission_scoped_findable.rb +121 -29
- data/lib/permission_forge/concerns/permissioned_user.rb +1 -1
- data/lib/permission_forge/concerns/records_audit_events.rb +13 -6
- data/lib/permission_forge/concerns/requires_name.rb +37 -0
- data/lib/permission_forge/concerns/validates_column_lengths.rb +24 -0
- data/lib/permission_forge/concerns/validates_dependency.rb +5 -2
- data/lib/permission_forge/concerns/validates_required_columns.rb +74 -0
- data/lib/permission_forge/conditional_sets.rb +13 -6
- data/lib/permission_forge/configuration/admin_ui_settings.rb +18 -4
- data/lib/permission_forge/configuration/audit_settings.rb +2 -1
- data/lib/permission_forge/configuration/controller_action_settings.rb +5 -4
- data/lib/permission_forge/configuration/masked_attributes_settings.rb +73 -19
- data/lib/permission_forge/configuration/presets.rb +20 -11
- data/lib/permission_forge/configuration/query_scoping_settings.rb +55 -0
- data/lib/permission_forge/configuration/strategy_values.rb +2 -1
- data/lib/permission_forge/configuration.rb +41 -18
- data/lib/permission_forge/controller_actions/managed_index.rb +8 -7
- data/lib/permission_forge/database_reach.rb +93 -0
- data/lib/permission_forge/deprecation.rb +1 -1
- data/lib/permission_forge/docs/api_samples.rb +250 -0
- data/lib/permission_forge/docs/configuration_reference.rb +172 -0
- data/lib/permission_forge/encrypted_attributes.rb +150 -0
- data/lib/permission_forge/engine.rb +46 -14
- data/lib/permission_forge/execution_state/restore.rb +74 -0
- data/lib/permission_forge/execution_state.rb +8 -1
- data/lib/permission_forge/field_level.rb +123 -0
- data/lib/permission_forge/field_names.rb +145 -0
- data/lib/permission_forge/field_variants.rb +96 -0
- data/lib/permission_forge/generated_text.rb +95 -0
- data/lib/permission_forge/inspection_filters.rb +83 -0
- data/lib/permission_forge/managed_fields.rb +66 -0
- data/lib/permission_forge/masked_models.rb +25 -19
- data/lib/permission_forge/masking_sync.rb +100 -25
- data/lib/permission_forge/model_bindings.rb +30 -19
- data/lib/permission_forge/model_lookup.rb +42 -0
- data/lib/permission_forge/operators/encrypted_alias.rb +67 -0
- data/lib/permission_forge/operators/registry.rb +6 -0
- data/lib/permission_forge/operators/rule_column.rb +242 -27
- data/lib/permission_forge/operators/rule_path.rb +179 -0
- data/lib/permission_forge/operators/rule_problem.rb +309 -0
- data/lib/permission_forge/operators/rule_sources.rb +96 -0
- data/lib/permission_forge/operators/value_casters/postgresql_types.rb +237 -0
- data/lib/permission_forge/operators/value_casters/temporal.rb +9 -20
- data/lib/permission_forge/operators/value_casters.rb +61 -13
- data/lib/permission_forge/operators/value_typing.rb +83 -7
- data/lib/permission_forge/query_scoping_warnings.rb +22 -17
- data/lib/permission_forge/rake_audit.rb +5 -4
- data/lib/permission_forge/rake_dry_run.rb +32 -0
- data/lib/permission_forge/rake_output.rb +189 -0
- data/lib/permission_forge/record_read_access.rb +51 -0
- data/lib/permission_forge/resource_chain.rb +14 -2
- data/lib/permission_forge/schema_read/ordered_types.rb +72 -0
- data/lib/permission_forge/schema_read.rb +335 -0
- data/lib/permission_forge/secret_columns.rb +49 -0
- data/lib/permission_forge/sensitive_columns.rb +114 -0
- data/lib/permission_forge/services/attribute_access_guard.rb +22 -14
- data/lib/permission_forge/services/bulk_permission_set_assignment.rb +16 -8
- data/lib/permission_forge/services/concerns/clonable.rb +9 -0
- data/lib/permission_forge/services/concerns/settles_cache.rb +58 -0
- data/lib/permission_forge/services/consent_withdrawal_handler.rb +37 -19
- data/lib/permission_forge/services/data_subject_erasure.rb +83 -45
- data/lib/permission_forge/services/expired_assignment_cleaner.rb +62 -25
- data/lib/permission_forge/services/extra_field_defaults.rb +1 -1
- data/lib/permission_forge/services/field_permission_merger.rb +44 -17
- data/lib/permission_forge/services/filters_response_attributes.rb +20 -5
- data/lib/permission_forge/services/gdpr_field_auditor/text_report.rb +33 -5
- data/lib/permission_forge/services/gdpr_field_auditor.rb +68 -48
- data/lib/permission_forge/services/host_key_guard.rb +8 -5
- data/lib/permission_forge/services/mask_value.rb +72 -11
- data/lib/permission_forge/services/permission_cache_clearer.rb +36 -15
- data/lib/permission_forge/services/permission_hash_builder.rb +48 -19
- data/lib/permission_forge/services/permission_rule_applier.rb +131 -68
- data/lib/permission_forge/services/permission_set_cloner.rb +32 -8
- data/lib/permission_forge/services/permission_set_condition_evaluator.rb +38 -36
- data/lib/permission_forge/services/permission_set_group_cloner.rb +2 -1
- data/lib/permission_forge/services/permits_attributes/result.rb +31 -0
- data/lib/permission_forge/services/permits_attributes.rb +48 -27
- data/lib/permission_forge/services/resource_field_generator/row_builder.rb +96 -0
- data/lib/permission_forge/services/resource_field_generator.rb +71 -42
- data/lib/permission_forge/services/resource_with_fields_builder.rb +2 -1
- data/lib/permission_forge/services/rls_operator_sql.rb +83 -24
- data/lib/permission_forge/services/rls_policy_generator.rb +83 -39
- data/lib/permission_forge/services/rls_read_access_sql.rb +131 -0
- data/lib/permission_forge/services/security_audit/action_check.rb +49 -5
- data/lib/permission_forge/services/security_audit/assignment_check.rb +2 -1
- data/lib/permission_forge/services/security_audit/audit_trail_check.rb +1 -3
- data/lib/permission_forge/services/security_audit/conditions_check.rb +92 -0
- data/lib/permission_forge/services/security_audit/config_check.rb +41 -18
- data/lib/permission_forge/services/security_audit/integrity_check.rb +71 -4
- data/lib/permission_forge/services/security_audit/masking_without_user.rb +66 -0
- data/lib/permission_forge/services/security_audit/personal_data_check.rb +7 -11
- data/lib/permission_forge/services/security_audit/rule_check.rb +180 -50
- data/lib/permission_forge/services/security_audit/text_report.rb +14 -2
- data/lib/permission_forge/services/security_audit/unmanaged_actions.rb +145 -0
- data/lib/permission_forge/services/security_audit/user_model_check.rb +4 -3
- data/lib/permission_forge/services/security_audit.rb +16 -4
- data/lib/permission_forge/services/stale_assignment_auditor.rb +8 -5
- data/lib/permission_forge/timestamp_fields.rb +60 -0
- data/lib/permission_forge/unique_conflict.rb +117 -0
- data/lib/permission_forge/version.rb +1 -1
- data/lib/permission_forge/virtual_fields/discovery.rb +2 -1
- data/lib/permission_forge/virtual_fields.rb +15 -5
- data/lib/permission_forge/warnings.rb +263 -0
- data/lib/permission_forge/web_request.rb +248 -0
- data/lib/permission_forge.rb +54 -0
- data/lib/tasks/permission_forge.rake +26 -6
- data/lib/tasks/permission_forge_audit_events.rake +8 -4
- data/lib/tasks/permission_forge_cache.rake +12 -12
- data/lib/tasks/permission_forge_docs.rake +48 -0
- data/lib/tasks/permission_forge_expiration.rake +11 -5
- data/lib/tasks/permission_forge_gdpr.rake +36 -20
- metadata +84 -1
|
@@ -3,14 +3,51 @@ sq:
|
|
|
3
3
|
permission_forge:
|
|
4
4
|
api:
|
|
5
5
|
errors:
|
|
6
|
+
action_authorization_missing: Ndryshimet përmes API-së kërkojnë config.api_action_authorization;
|
|
7
|
+
refuzohen sa kohë që nuk është vendosur dhe config.api_require_authorization
|
|
8
|
+
është aktiv
|
|
6
9
|
action_not_authorized: Veprimi nuk është i autorizuar
|
|
10
|
+
assignment_authorization_missing: Caktimet përmes API-së kërkojnë config.api_assignment_authorization;
|
|
11
|
+
refuzohen sa kohë që nuk është vendosur dhe config.api_require_authorization
|
|
12
|
+
është aktiv
|
|
7
13
|
assignment_not_authorized: Caktimi nuk është i autorizuar
|
|
14
|
+
body_unreadable: Përmbajtja e kërkesës nuk mund të lexohet. Dërgoni JSON të
|
|
15
|
+
vlefshëm me Content-Type application/json.
|
|
16
|
+
boolean_invalid: duhet të jetë true ose false
|
|
17
|
+
bulk_action_invalid: duhet të jetë assign ose revoke
|
|
18
|
+
expires_at_past: duhet të jetë në të ardhmen
|
|
8
19
|
field_generation_failed: Fushat për këtë burim nuk mund të gjenerohen
|
|
20
|
+
field_value_shape: duhet të jetë varg, numër, true ose false; listë e tyre
|
|
21
|
+
(asnjë me presje) vetëm për in, not_in dhe between
|
|
22
|
+
flag_shape: duhet të jetë varg ose null
|
|
9
23
|
forbidden: E ndaluar
|
|
24
|
+
hour_shape: duhet të jetë numër i plotë nga 0 deri në 23, ose null
|
|
25
|
+
integer_shape: duhet të jetë numër i plotë
|
|
26
|
+
ip_list_empty: nuk ka asnjë hyrje; dërgoni null për ta hequr kushtin
|
|
27
|
+
ip_list_shape: duhet të jetë varg ose listë vargjesh (adresa IP ose diapazone
|
|
28
|
+
CIDR), ose null
|
|
10
29
|
not_editable: Ky regjistrim nuk mund të redaktohet
|
|
11
30
|
not_found: Regjistrimi nuk u gjet
|
|
31
|
+
not_iso8601_time: nuk është datë ose kohë ISO 8601
|
|
32
|
+
not_null: Mungon një vlerë e detyrueshme. Asgjë nuk u ruajt.
|
|
33
|
+
record_not_unique: Një kërkesë tjetër e ruajti të njëjtin regjistrim një çast
|
|
34
|
+
më parë; ai ekziston tashmë
|
|
35
|
+
resource_names_no_model: nuk emërton asnjë model që ky aplikacion mund ta
|
|
36
|
+
ngarkojë
|
|
37
|
+
route_not_found: Asnjë pikë fundore e API-së nuk i përgjigjet këtij shtegu
|
|
38
|
+
dhe kësaj metode
|
|
39
|
+
section_missing: mungon, është bosh ose nuk është objekt
|
|
40
|
+
stats_authorization_missing: GET /api/stats kërkon config.api_stats_authorization,
|
|
41
|
+
ose config.api_stats_require_admin = false
|
|
12
42
|
tenant_required: Kjo kërkesë nuk ka qiramarrës. API-ja e administrimit shërben
|
|
13
43
|
një qiramarrës në një kohë.
|
|
44
|
+
text_shape: duhet të jetë varg
|
|
45
|
+
unauthorized: Nuk jeni i autentikuar
|
|
46
|
+
user_id_invalid: nuk është id përdoruesi
|
|
47
|
+
user_id_missing: mungon
|
|
48
|
+
user_ids_missing: duhet të emërtojë të paktën një përdorues
|
|
49
|
+
user_ids_not_list: duhet të jetë listë id-sh përdoruesish
|
|
50
|
+
user_not_found: nuk emërton askënd që mund të caktohet
|
|
14
51
|
assignments:
|
|
15
52
|
confirm_destroy:
|
|
16
53
|
body: "%{name} do të humbasë qasjen në %{resources}, përveç nëse një Grup
|
|
@@ -32,6 +69,7 @@ sq:
|
|
|
32
69
|
expires: Skadon
|
|
33
70
|
filter_sets: Filtro Grupet e lejeve
|
|
34
71
|
forever: pa datë përfundimi
|
|
72
|
+
locked_hint: 'Menaxhohet nga sistemi/API: këtu nuk mund të shtohen mbajtës.'
|
|
35
73
|
muting_notice: "⊘ Heshtës. %{sets} i heq qasjen %{name}, pavarësisht çfarë
|
|
36
74
|
lejojnë grupet e tjera."
|
|
37
75
|
no_sets: Asnjë Grup lejesh nuk përputhet.
|
|
@@ -106,6 +144,7 @@ sq:
|
|
|
106
144
|
all_for_record: Të gjitha ngjarjet e këtij regjistrimi
|
|
107
145
|
all_for_set: Të gjitha ngjarjet e këtij Grupi lejesh
|
|
108
146
|
all_in_action: Të gjitha ngjarjet e këtij veprimi
|
|
147
|
+
all_unknown_actor: Të gjitha ngjarjet pa aktor të njohur
|
|
109
148
|
attribute: Atributi
|
|
110
149
|
before: Para
|
|
111
150
|
changes: Para dhe pas
|
|
@@ -130,23 +169,31 @@ sq:
|
|
|
130
169
|
snapshot_destroyed: Regjistrimi siç ishte kur u hoq.
|
|
131
170
|
source: Ku
|
|
132
171
|
title: Ngjarje auditimi %{event}
|
|
172
|
+
unknown_actor_html: Për këtë ndryshim nuk u emërtua asnjë aktor (kod i ekzekutuar
|
|
173
|
+
jashtë një kërkese, si një runner ose një punë në sfond). Emërtojeni me
|
|
174
|
+
%{method}.
|
|
133
175
|
uuid: Id e ngjarjes
|
|
134
176
|
value: Vlera
|
|
135
177
|
what: Çfarë
|
|
136
178
|
who: Kush, ku dhe pse
|
|
137
179
|
audit_log:
|
|
180
|
+
actor_codes:
|
|
181
|
+
api_client: Klient API
|
|
182
|
+
boot: Nisja e aplikacionit
|
|
138
183
|
actor_named:
|
|
139
184
|
api: "%{name} (API)"
|
|
140
185
|
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
186
|
boolean:
|
|
148
187
|
'false': Jo
|
|
149
188
|
'true': Po
|
|
189
|
+
cache_scope:
|
|
190
|
+
own_process: 'Lejet e ruajtura në cache u pastruan vetëm në procesin që e
|
|
191
|
+
kreu (një ruajtje në memorie): çdo proces tjetër i mbajti të tyret.'
|
|
192
|
+
server_process: 'Lejet e ruajtura në cache u pastruan vetëm në këtë proces
|
|
193
|
+
të serverit (një ruajtje në memorie): punëtorët e tjerë të uebit dhe proceset
|
|
194
|
+
e punëve i mbajtën të tyret.'
|
|
195
|
+
unconfirmed: 'Ruajtja e cache-it jeton në secilin proces (një ruajtje në memorie):
|
|
196
|
+
proceset e tjera i mbajnë lejet e tyre të ruajtura sido që të jetë.'
|
|
150
197
|
categories:
|
|
151
198
|
access: Qasje
|
|
152
199
|
admin: Administrim
|
|
@@ -175,6 +222,8 @@ sq:
|
|
|
175
222
|
page_of: Faqja %{page} nga %{pages}
|
|
176
223
|
pages_label: Faqet
|
|
177
224
|
person_id: 'Personi #%{id}'
|
|
225
|
+
reason_codes:
|
|
226
|
+
expired: Data e mbarimit kishte kaluar
|
|
178
227
|
reason_inline: 'Arsyeja: %{reason}'
|
|
179
228
|
refused:
|
|
180
229
|
body: Leximi i regjistrit të auditimit kufizohet nga cilësimi audit_log_authorization,
|
|
@@ -184,8 +233,17 @@ sq:
|
|
|
184
233
|
sentence_variants:
|
|
185
234
|
assignment_revoked_expired: "%{actor} i hoqi %{person} Grupin e lejeve %{set}
|
|
186
235
|
pasi kishte skaduar më %{date}."
|
|
236
|
+
cache_cleared_unconfirmed: "%{actor} kërkoi të pastrohen lejet e ruajtura
|
|
237
|
+
në cache të çdo përdoruesi, por ruajtja e cache-it nuk e konfirmoi: lejet
|
|
238
|
+
e vjetra mund të mbeten në përdorim derisa të mbarojë jetëgjatësia e cache-it."
|
|
239
|
+
cache_settled_unconfirmed: 'Lejet e ruajtura në cache të %{person} duhej të
|
|
240
|
+
pastroheshin pas ndryshimit nga %{actor}, por ruajtja e cache-it nuk e konfirmoi:
|
|
241
|
+
të vjetrat mund të mbeten në përdorim derisa të mbarojë jetëgjatësia e cache-it.'
|
|
187
242
|
field_access_limited: "%{actor} lexoi %{record} me këto fusha të fshehura
|
|
188
243
|
ose të maskuara: %{fields}."
|
|
244
|
+
permissions_invalidated_unconfirmed: 'Lejet e ruajtura në cache të %{person}
|
|
245
|
+
duhej të pastroheshin, por ruajtja e cache-it nuk e konfirmoi: të vjetrat
|
|
246
|
+
mund të mbeten në përdorim derisa të mbarojë jetëgjatësia e cache-it.'
|
|
189
247
|
sentences:
|
|
190
248
|
access:
|
|
191
249
|
denied: Qasja e %{actor} te %{record} u refuzua.
|
|
@@ -210,6 +268,8 @@ sq:
|
|
|
210
268
|
viewed: "%{actor} pa të dhëna auditimi."
|
|
211
269
|
cache:
|
|
212
270
|
cleared: "%{actor} pastroi lejet e ruajtura në cache të të gjithë përdoruesve."
|
|
271
|
+
settled: Lejet e ruajtura në cache të %{person} u pastruan pas ndryshimit
|
|
272
|
+
nga %{actor}.
|
|
213
273
|
cleanup:
|
|
214
274
|
expired_assignments: "%{actor} hoqi caktimet e skaduara."
|
|
215
275
|
consent:
|
|
@@ -222,6 +282,8 @@ sq:
|
|
|
222
282
|
access: "%{actor} lexoi %{record}."
|
|
223
283
|
sensitive_acknowledged: "%{actor} konfirmoi që fusha %{record} te %{set}
|
|
224
284
|
duhet të lexohet pa maskë."
|
|
285
|
+
unmasked_without_user: Një fushë e %{model} u lexua pa maskë në një kërkesë
|
|
286
|
+
web kur askush nuk kishte hyrë.
|
|
225
287
|
group_membership:
|
|
226
288
|
added: "%{actor} shtoi %{person} te %{group}."
|
|
227
289
|
changed: "%{actor} ndryshoi anëtarësinë e %{person} te %{group}."
|
|
@@ -318,6 +380,9 @@ sq:
|
|
|
318
380
|
will_assign:
|
|
319
381
|
one: "%{count} do të caktohet"
|
|
320
382
|
other: "%{count} do të caktohen"
|
|
383
|
+
denials:
|
|
384
|
+
no_read_access: Nuk keni leje për të lexuar regjistrimet e %{resource}.
|
|
385
|
+
rule_default: Nuk keni leje për të kryer këtë veprim.
|
|
321
386
|
errors:
|
|
322
387
|
admin:
|
|
323
388
|
action_format: Përdor shkronja të vogla, numra dhe nënviza, duke filluar me
|
|
@@ -328,6 +393,10 @@ sq:
|
|
|
328
393
|
flag: Flamujt e sesionit mund të përmbajnë vetëm shkronja, numra, pika, dy
|
|
329
394
|
pika, viza dhe nënviza.
|
|
330
395
|
group_blank: Jepi një emër grupimit.
|
|
396
|
+
hours_equal: Ora e fillimit dhe e mbarimit duhet të ndryshojnë (një dritare
|
|
397
|
+
nga 9 në 9 është bosh).
|
|
398
|
+
hours_incomplete: Zgjidhni edhe orën e fillimit, edhe atë të mbarimit.
|
|
399
|
+
hours_range: Zgjidhni orë ndërmjet 00:00 dhe 23:00.
|
|
331
400
|
ip: 'Rreshti %{line}: “%{ip}” nuk është adresë IP ose diapazon CIDR i vlefshëm.'
|
|
332
401
|
person: Zgjidh së pari një person.
|
|
333
402
|
resource_model: Zgjidh një model nga lista.
|
|
@@ -375,9 +444,40 @@ sq:
|
|
|
375
444
|
assigned:
|
|
376
445
|
one: "%{set} iu caktua %{count} personi."
|
|
377
446
|
other: "%{set} iu caktua %{count} personave."
|
|
447
|
+
assigned_cache_kept:
|
|
448
|
+
one: "%{set} iu caktua %{count} personi, por ruajtja e cache-it nuk konfirmoi
|
|
449
|
+
që lejet e tij të ruajtura u pastruan. Lejet e vjetra mund të mbeten në
|
|
450
|
+
përdorim derisa të mbarojë jetëgjatësia e cache-it."
|
|
451
|
+
other: "%{set} iu caktua %{count} personave, por ruajtja e cache-it nuk
|
|
452
|
+
konfirmoi që lejet e tyre të ruajtura u pastruan. Lejet e vjetra mund
|
|
453
|
+
të mbeten në përdorim derisa të mbarojë jetëgjatësia e cache-it."
|
|
378
454
|
revoked:
|
|
379
455
|
one: "%{set} iu hoq %{count} personi."
|
|
380
456
|
other: "%{set} iu hoq %{count} personave."
|
|
457
|
+
revoked_cache_kept:
|
|
458
|
+
one: "%{set} iu hoq %{count} personi, por ruajtja e cache-it nuk konfirmoi
|
|
459
|
+
që lejet e tij të ruajtura u pastruan. Lejet e vjetra mund të mbeten në
|
|
460
|
+
përdorim derisa të mbarojë jetëgjatësia e cache-it."
|
|
461
|
+
other: "%{set} iu hoq %{count} personave, por ruajtja e cache-it nuk konfirmoi
|
|
462
|
+
që lejet e tyre të ruajtura u pastruan. Lejet e vjetra mund të mbeten
|
|
463
|
+
në përdorim derisa të mbarojë jetëgjatësia e cache-it."
|
|
464
|
+
cache_not_confirmed: 'Ruajtja e cache-it nuk konfirmoi që lejet e ruajtura u
|
|
465
|
+
pastruan: lejet e vjetra mund të mbeten në përdorim derisa të mbarojë jetëgjatësia
|
|
466
|
+
e cache-it.'
|
|
467
|
+
cache_process_local: 'Ruajtja e cache-it jeton vetëm në këtë proces të serverit
|
|
468
|
+
(një ruajtje në memorie): punëtorët e tjerë të uebit dhe proceset e punëve
|
|
469
|
+
i mbajnë lejet e tyre të ruajtura derisa të rinisen ose derisa hyrjet të skadojnë.'
|
|
470
|
+
copy_refused:
|
|
471
|
+
kinds:
|
|
472
|
+
permission_set: Grupi i lejeve “%{name}”
|
|
473
|
+
permission_set_group: Permission Set Group “%{name}”
|
|
474
|
+
permission_set_rule: rregulli “%{name}”
|
|
475
|
+
record: një rresht
|
|
476
|
+
resource: Resource “%{name}”
|
|
477
|
+
resource_action: veprimi “%{name}”
|
|
478
|
+
resource_field: fusha “%{name}”
|
|
479
|
+
message: "“%{name}” nuk u kopjua: %{record} mban diçka që një rresht i ri
|
|
480
|
+
nuk mund ta mbajë (%{errors}). Korrigjojeni, pastaj kopjoni përsëri."
|
|
381
481
|
fields:
|
|
382
482
|
acknowledged: Në rregull. “%{field}” nuk do të shënohet më në auditimin e
|
|
383
483
|
privatësisë.
|
|
@@ -391,6 +491,7 @@ sq:
|
|
|
391
491
|
set_added: "“%{set}” u zhvendos në këtë grupim."
|
|
392
492
|
set_removed: "“%{set}” u hoq nga ky grupim."
|
|
393
493
|
updated: Grupimi u ruajt. Qasja e askujt nuk ndryshoi.
|
|
494
|
+
invalid_param: "%{param} %{detail}. Asgjë nuk u ndryshua."
|
|
394
495
|
locked_widening: 'Ky grup lejesh është i kyçur: qasja mund të hiqet ose të shkurtohet,
|
|
395
496
|
jo të jepet ose të zgjatet.'
|
|
396
497
|
locked_widening_muting: 'Ky grup lejesh heshtës është i kyçur: mbajtësit mund
|
|
@@ -400,7 +501,17 @@ sq:
|
|
|
400
501
|
cleaned:
|
|
401
502
|
one: U hoq %{count} caktim i skaduar.
|
|
402
503
|
other: U hoqën %{count} caktime të skaduara.
|
|
504
|
+
cleaned_cache_kept:
|
|
505
|
+
one: U hoq %{count} caktim i skaduar, por ruajtja e cache-it nuk konfirmoi
|
|
506
|
+
që lejet e ruajtura të personave të prekur u pastruan. Lejet e vjetra
|
|
507
|
+
mund të mbeten në përdorim derisa të mbarojë jetëgjatësia e cache-it.
|
|
508
|
+
other: U hoqën %{count} caktime të skaduara, por ruajtja e cache-it nuk
|
|
509
|
+
konfirmoi që lejet e ruajtura të personave të prekur u pastruan. Lejet
|
|
510
|
+
e vjetra mund të mbeten në përdorim derisa të mbarojë jetëgjatësia e cache-it.
|
|
511
|
+
no_changes: Nuk ka ndryshime për të ruajtur.
|
|
403
512
|
not_editable: Ky regjistrim nuk mund të ndryshohet.
|
|
513
|
+
not_null: Mungonte një vlerë e detyrueshme. Asgjë nuk u ndryshua; faqja tregon
|
|
514
|
+
çfarë ka tani.
|
|
404
515
|
people:
|
|
405
516
|
cache_refresh_failed: Lejet e ruajtura të %{name} nuk mund të rifreskoheshin.
|
|
406
517
|
Ruajtja e cache-it nuk e konfirmoi, prandaj lejet e vjetra mund të mbeten
|
|
@@ -443,23 +554,33 @@ sq:
|
|
|
443
554
|
duplicated_outside_group: 'U dublikua “%{name}”: u kopjuan burimet, fushat,
|
|
444
555
|
veprimet dhe rregullat. Caktimet nuk u kopjuan. Kopja nuk është në “%{group}”,
|
|
445
556
|
që është i kyçur.'
|
|
446
|
-
|
|
557
|
+
nothing_applied: 'Asgjë për të ruajtur: %{reasons}.'
|
|
447
558
|
save_failed: 'Asgjë nuk u ruajt: %{errors}'
|
|
448
559
|
saved:
|
|
449
560
|
one: U ruajt %{count} ndryshim. Tani vlen për %{people}.
|
|
450
561
|
other: U ruajtën %{count} ndryshime. Tani vlejnë për %{people}.
|
|
451
562
|
switched_granting: "“%{name}” tani jep qasje."
|
|
452
563
|
switched_muting: "“%{name}” tani është Grup lejesh heshtës."
|
|
564
|
+
record_not_unique: Një kërkesë tjetër e ruajti të njëjtën gjë një çast më parë.
|
|
565
|
+
Asgjë nuk u ndryshua; faqja tregon gjendjen e tanishme.
|
|
566
|
+
record_not_unique_detail: "%{detail} — një kërkesë tjetër e ruajti një çast
|
|
567
|
+
më parë. Asgjë nuk u ndryshua; faqja tregon gjendjen e tanishme."
|
|
453
568
|
resources:
|
|
454
569
|
added:
|
|
455
570
|
one: U shtua %{resource} me %{count} fushë.
|
|
456
571
|
other: U shtua %{resource} me %{count} fusha.
|
|
572
|
+
added_muting: U shtua %{resource}. Heq %{what}.
|
|
573
|
+
added_muting_nothing: 'U shtua %{resource}. Ende nuk heq asgjë: zgjidhni më
|
|
574
|
+
poshtë çfarë heq.'
|
|
457
575
|
columns_added:
|
|
458
576
|
one: U shtua %{count} kolonë.
|
|
459
577
|
other: U shtuan %{count} kolona.
|
|
460
578
|
missing_removed:
|
|
461
579
|
one: U hoq %{count} fushë, kolona e së cilës nuk ekziston më.
|
|
462
580
|
other: U hoqën %{count} fusha, kolonat e të cilave nuk ekzistojnë më.
|
|
581
|
+
muted_fields:
|
|
582
|
+
one: "%{count} fushë"
|
|
583
|
+
other: "%{count} fusha"
|
|
463
584
|
removed: U hoq %{resource} nga “%{set}”.
|
|
464
585
|
rules:
|
|
465
586
|
created: U shtua rregulli “%{rule}”.
|
|
@@ -476,6 +597,29 @@ sq:
|
|
|
476
597
|
'off': Regjistrimi është çaktivizuar në inicializues (audit_events = false).
|
|
477
598
|
Asnjë ndryshim nuk regjistrohet.
|
|
478
599
|
title: Regjistri i auditimit nuk po regjistron
|
|
600
|
+
broken_rules_card:
|
|
601
|
+
description: 'Këto rregulla regjistrimesh përmendin një fushë, tabelë, lidhje
|
|
602
|
+
ose kusht që nuk ekziston, ose një vlerë që fusha e tyre nuk mund ta mbajë.
|
|
603
|
+
Secili nuk përputhet me asgjë: kujtdo që i zbatohet i refuzohet çdo regjistrim
|
|
604
|
+
i burimit.'
|
|
605
|
+
fix: Rregullo rregullin
|
|
606
|
+
locked_fix_html: 'I kyçur (%{flag}): menaxhohet nga sistemi ose API që e krijoi,
|
|
607
|
+
prandaj rregullojeni rregullin atje (ose zhbllokojeni grupin në kod). Një
|
|
608
|
+
kopje e bërë këtu e lë këtë rregull siç është.'
|
|
609
|
+
open: Hap rregullat
|
|
610
|
+
people:
|
|
611
|
+
one: "%{count} person e ka këtë grup."
|
|
612
|
+
other: "%{count} persona e kanë këtë grup."
|
|
613
|
+
rule: "“%{rule}” te %{resource} në “%{set}”"
|
|
614
|
+
title: Rregulla që nuk përputhen me asgjë
|
|
615
|
+
conditions_card:
|
|
616
|
+
description: Këto grupe kanë një kusht që nuk mund të gjykohet (një IP që
|
|
617
|
+
nuk është adresë, asnjë hyrje, ose një dritare orësh e prishur).
|
|
618
|
+
open: Rregullo kushtet
|
|
619
|
+
people:
|
|
620
|
+
one: "%{count} person e ka këtë grup."
|
|
621
|
+
other: "%{count} persona e kanë këtë grup."
|
|
622
|
+
title: Kushte aktivizimi që askush nuk mund t’i gjykojë
|
|
479
623
|
ending_card:
|
|
480
624
|
description: Caktime që përfundojnë në 7 ditët e ardhshme.
|
|
481
625
|
extend: Zgjat 30 ditë
|
|
@@ -521,8 +665,9 @@ sq:
|
|
|
521
665
|
people:
|
|
522
666
|
one: "%{count} person ka"
|
|
523
667
|
other: "%{count} persona kanë"
|
|
524
|
-
|
|
525
|
-
|
|
668
|
+
search_help: Kërkoni një person sipas emrit ose email-it për të parë çfarë
|
|
669
|
+
mund të shohë dhe pse
|
|
670
|
+
search_placeholder: Emër ose email
|
|
526
671
|
sets:
|
|
527
672
|
one: "%{count} Grup lejesh aktiv"
|
|
528
673
|
other: "%{count} Grupe lejesh aktive"
|
|
@@ -531,10 +676,25 @@ sq:
|
|
|
531
676
|
one: "%{count} gjë për t'u rishikuar"
|
|
532
677
|
other: "%{count} gjëra për t'u rishikuar"
|
|
533
678
|
title: Kërkon vëmendje
|
|
679
|
+
mask_strategies_card:
|
|
680
|
+
description: Asnjë strategji maskimi e integruar dhe asnjë strategji e personalizuar
|
|
681
|
+
nuk ka këto emra, ndaj vlerat e tyre maskohen plotësisht derisa të zgjidhni
|
|
682
|
+
një strategji ose të ktheni atë të personalizuarën.
|
|
683
|
+
field: "“%{field}” te %{resource} në “%{set}”"
|
|
684
|
+
fix: Rregullo fushën
|
|
685
|
+
people:
|
|
686
|
+
one: "%{count} person e ka këtë grup."
|
|
687
|
+
other: "%{count} persona e kanë këtë grup."
|
|
688
|
+
strategy_html: Strategjia %{strategy}
|
|
689
|
+
title: Fusha të maskuara me një strategji të panjohur
|
|
534
690
|
privacy_card:
|
|
691
|
+
by_name_note: Fushat shënohen sipas emrit të kolonës, prandaj disa mund të
|
|
692
|
+
mos jenë të dhëna personale (p.sh. emri i një kompanie).
|
|
535
693
|
description: "%{unmasked}, %{unconfigured}."
|
|
536
694
|
fix: Rregullo
|
|
537
695
|
intended: Kjo është e qëllimshme
|
|
696
|
+
intended_note: Nëse një fushë mund të shihet pa maskë, zgjidhni Kjo është
|
|
697
|
+
e qëllimshme.
|
|
538
698
|
per_set_note: Çdo rresht shikon një Grup lejesh më vete. Një person që ka
|
|
539
699
|
edhe një grup tjetër që e konfiguron fushën ndjek atë grup.
|
|
540
700
|
show_all: Shfaq të %{count}
|
|
@@ -548,6 +708,7 @@ sq:
|
|
|
548
708
|
unmasked:
|
|
549
709
|
one: "%{count} fushë e ndjeshme shfaqet pa maskim"
|
|
550
710
|
other: "%{count} fusha të ndjeshme shfaqen pa maskim"
|
|
711
|
+
view: Shiko fushën
|
|
551
712
|
where: "%{resource} · Lexohet pa maskim në “%{set}” · %{people}"
|
|
552
713
|
where_turned_off: "%{resource} · Cilësimi në “%{set}” është i çaktivizuar,
|
|
553
714
|
prandaj fusha kalon pa maskim · %{people}"
|
|
@@ -573,6 +734,18 @@ sq:
|
|
|
573
734
|
vlejnë vetëm aty ku aplikacioni përdor find_by ose permission_scoped. Kërkesat
|
|
574
735
|
e tjera (where, all, lidhjet) kthejnë të gjitha regjistrimet.
|
|
575
736
|
title: Rregulla regjistrimesh që nuk zbatohen kudo
|
|
737
|
+
secret_rules_card:
|
|
738
|
+
column_html: Krahason %{column}
|
|
739
|
+
description: Këto rregulla regjistrimesh krahasojnë një kolonë që mban një
|
|
740
|
+
sekret. Ato ende zbatohen, por kush sheh cilin regjistrim e zbulon sekretin.
|
|
741
|
+
Krahasoni një kolonë tjetër ose hiqni rregullin.
|
|
742
|
+
fix: Rregullo rregullin
|
|
743
|
+
open: Hap rregullat
|
|
744
|
+
people:
|
|
745
|
+
one: "%{count} person e ka këtë grup."
|
|
746
|
+
other: "%{count} persona e kanë këtë grup."
|
|
747
|
+
rule: "“%{rule}” te %{resource} në “%{set}”"
|
|
748
|
+
title: Rregulla mbi kolona sekrete
|
|
576
749
|
stale_card:
|
|
577
750
|
assigned: Caktuar më %{date} nga %{by}
|
|
578
751
|
description: Nuk janë rishikuar prej më shumë se %{days} ditësh. Konfirmo
|
|
@@ -667,21 +840,20 @@ sq:
|
|
|
667
840
|
one: " dhe %{count} tjetër"
|
|
668
841
|
other: " dhe %{count} të tjera"
|
|
669
842
|
from: nga %{set}
|
|
670
|
-
|
|
843
|
+
masked_by: E maskuar nga %{set}
|
|
844
|
+
muted_by: E fshehur nga %{set}
|
|
671
845
|
none: Asnjë grup nuk e shfaq
|
|
672
|
-
|
|
846
|
+
read_only_by: E kufizuar në Vetëm lexim nga %{set}
|
|
847
|
+
unconfigured: "%{state} · %{behaviour}"
|
|
673
848
|
virtual: Fushë virtuale, e lexueshme si parazgjedhje
|
|
674
849
|
effective_tab:
|
|
675
850
|
conditional: "%{sets} vlejnë vetëm kur kushtet e tyre të aktivizimit plotësohen.
|
|
676
851
|
Ato janë përfshirë këtu."
|
|
677
852
|
fields_visible: "%{visible} nga %{total} fusha të dukshme"
|
|
678
853
|
grid_label: Qasja efektive
|
|
679
|
-
hidden_by_muting: I fshehur nga heshtja
|
|
680
854
|
intro: Çfarë mund të bëjë %{name} tani, me të gjitha grupet bashkë. Zgjidh
|
|
681
855
|
çdo qelizë për të parë pse.
|
|
682
856
|
legend: Legjenda
|
|
683
|
-
legend_muted: I heshtur
|
|
684
|
-
legend_none: Nuk jepet
|
|
685
857
|
why: Pse
|
|
686
858
|
why_empty: Zgjidh një qelizë, fushë ose veprim për të parë cili Grup lejesh
|
|
687
859
|
e shkaktoi.
|
|
@@ -690,10 +862,16 @@ sq:
|
|
|
690
862
|
action_granted: "%{set} e lejon këtë veprim."
|
|
691
863
|
action_muted: "%{set} e bllokon këtë veprim."
|
|
692
864
|
action_none: Asnjë Grup lejesh nuk e lejon këtë veprim.
|
|
865
|
+
action_title: "%{action} · %{resource}"
|
|
866
|
+
field_base_unreadable: 'E fshehur: trashëgon nga %{resource}, ku Lexo nuk
|
|
867
|
+
lejohet.'
|
|
693
868
|
field_capped: Shfaqet si Vetëm lexim sepse Ndrysho nuk lejohet për këtë burim.
|
|
694
|
-
|
|
695
|
-
|
|
869
|
+
field_decided_by: 'Vendoset nga %{resource}, nga i cili trashëgon: fiton cilësimi
|
|
870
|
+
më i rreptë përgjatë trashëgimisë.'
|
|
871
|
+
field_hidden_on: E fshehur te %{resource}, nga i cili trashëgon.
|
|
696
872
|
field_none: Asnjë Grup lejesh nuk e shfaq këtë fushë.
|
|
873
|
+
field_own_unreadable: E fshehur sepse Lexo nuk lejohet për këtë burim.
|
|
874
|
+
field_title: "%{resource} › %{field}"
|
|
697
875
|
field_unconfigured: 'Asnjë grup nuk e konfiguron këtë kolonë: %{behaviour}.'
|
|
698
876
|
field_variant: Ndjek cilësimin e %{base}.
|
|
699
877
|
field_virtual: Fushë virtuale nga modeli, e lexueshme përveç nëse një grup
|
|
@@ -701,6 +879,7 @@ sq:
|
|
|
701
879
|
flag_granted: "%{set} jep %{flag}."
|
|
702
880
|
flag_muted: "%{set} hesht %{flag}."
|
|
703
881
|
flag_none: Asnjë Grup lejesh nuk jep %{flag}.
|
|
882
|
+
flag_title: "%{flag} %{resource}"
|
|
704
883
|
no_rules: Nuk ka rregulla regjistrimesh, prandaj shfaqet çdo regjistrim.
|
|
705
884
|
note_add_up: 'Grupet e lejeve mblidhen: mjafton një leje.'
|
|
706
885
|
note_fields: Nëse disa grupe e shfaqin një fushë, fiton cilësimi më i hapur.
|
|
@@ -765,7 +944,10 @@ sq:
|
|
|
765
944
|
dhe pastron emrin nga regjistri i auditimit.
|
|
766
945
|
title: Fshirja e të dhënave të subjektit…
|
|
767
946
|
refresh:
|
|
768
|
-
desc: '
|
|
947
|
+
desc: 'Nevojitet pas një ndryshimi nga konsola, një runner ose një punë
|
|
948
|
+
në sfond kur cache-i është për proces (memory store): ai proces pastroi
|
|
949
|
+
vetëm hyrjet e veta, kështu që ky proces web vazhdon të japë lejet e
|
|
950
|
+
vjetra derisa të skadojnë.'
|
|
769
951
|
title: Rifresko lejet e ruajtura
|
|
770
952
|
remove_all:
|
|
771
953
|
desc: 'Largim nga puna: heq çdo caktim.'
|
|
@@ -838,10 +1020,12 @@ sq:
|
|
|
838
1020
|
field: Zgjidh fushën për t'u kontrolluar.
|
|
839
1021
|
list: Shto të paktën një vlerë në listë.
|
|
840
1022
|
name_blank: Jepi një emër rregullit.
|
|
1023
|
+
operator: Zgjidhni një kusht nga lista.
|
|
841
1024
|
range: Plotëso të dy skajet e diapazonit.
|
|
842
1025
|
value: Shkruaj një vlerë, ose zgjidh “përdoruesi aktual”.
|
|
843
1026
|
field: Fusha për t'u kontrolluar
|
|
844
1027
|
follow: Ndiq një lidhje
|
|
1028
|
+
ignored_field: pa rresht fushe (ignored_fields)
|
|
845
1029
|
ignored_warning: Shiko të gjitha është aktiv për këtë burim, prandaj rregullat
|
|
846
1030
|
e regjistrimeve injorohen derisa të çaktivizohet.
|
|
847
1031
|
include_nulls: Shfaq edhe regjistrimet ku %{field} është bosh
|
|
@@ -858,19 +1042,36 @@ sq:
|
|
|
858
1042
|
desc: Regjistrimet pa regjistrimin e lidhur mbahen.
|
|
859
1043
|
title: Edhe regjistrimet pa të
|
|
860
1044
|
message: Mesazhi i bllokimit
|
|
861
|
-
|
|
862
|
-
|
|
1045
|
+
message_help: Shfaqet kur dikush hap një regjistrim që ky rregull e fsheh.
|
|
1046
|
+
model_error: "%{field} %{message}"
|
|
863
1047
|
model_missing: Ky model ose lidhje nuk ekziston më në aplikacion.
|
|
864
1048
|
name: Emri i rregullit
|
|
865
1049
|
name_placeholder: p.sh. Klientët e mi
|
|
1050
|
+
notes:
|
|
1051
|
+
secret_column:
|
|
1052
|
+
body_html: "%{column} mban një sekret, ndaj një rregull i ri mbi të refuzohet.
|
|
1053
|
+
Ky rregull ende zbatohet, por kush sheh cilin regjistrim e zbulon sekretin:
|
|
1054
|
+
krahasoni një kolonë tjetër ose hiqni rregullin."
|
|
1055
|
+
title: Ky rregull krahason një kolonë që mban një sekret
|
|
866
1056
|
operator: Kushti
|
|
867
1057
|
optional: opsionale
|
|
1058
|
+
path_html: 'Shtegu i lidhjeve: %{path}'
|
|
868
1059
|
pick_field: Zgjidh një fushë…
|
|
1060
|
+
pick_relationship: Zgjidh një lidhje…
|
|
869
1061
|
preview: Pamja paraprake
|
|
870
1062
|
preview_empty: Zgjidh një fushë për ta parë rregullin si fjali.
|
|
1063
|
+
preview_refused: Nuk do të ruhet
|
|
1064
|
+
problem_fixes:
|
|
1065
|
+
field: Zgjidhni sërish fushën për ta korrigjuar.
|
|
1066
|
+
join: Zgjidhni sërish mënyrën e kombinimit, te Të avancuara, për ta korrigjuar.
|
|
1067
|
+
operator: Zgjidhni sërish kushtin për ta korrigjuar.
|
|
1068
|
+
path: Zgjidhni sërish lidhjen për ta korrigjuar.
|
|
1069
|
+
value: Shkruani një vlerë që kjo fushë mund ta mbajë, për ta korrigjuar.
|
|
1070
|
+
problem_title: Ky rregull nuk përputhet me asgjë
|
|
871
1071
|
relationship: Lidhja
|
|
872
1072
|
remove_step: Hiq këtë hap të lidhjes
|
|
873
1073
|
save: Ruaj rregullin
|
|
1074
|
+
stored_field: "%{name} (siç është ruajtur)"
|
|
874
1075
|
this_field: kjo fushë
|
|
875
1076
|
update_form: Përditëso
|
|
876
1077
|
confirm_destroy:
|
|
@@ -881,6 +1082,9 @@ sq:
|
|
|
881
1082
|
title: Ndrysho rregullin për %{resource}
|
|
882
1083
|
new:
|
|
883
1084
|
title: Rregull i ri për %{resource}
|
|
1085
|
+
preview:
|
|
1086
|
+
back: Kthehu te rregullat
|
|
1087
|
+
title: Pamje paraprake e një rregulli për %{resource}
|
|
884
1088
|
value_input:
|
|
885
1089
|
from: Nga
|
|
886
1090
|
no_value: Nuk nevojitet vlerë për këtë kusht.
|
|
@@ -982,7 +1186,7 @@ sq:
|
|
|
982
1186
|
copy_name: "%{name} (kopje)"
|
|
983
1187
|
header:
|
|
984
1188
|
description: Përshkrimi
|
|
985
|
-
description_placeholder: Shto një përshkrim
|
|
1189
|
+
description_placeholder: 'Shto një përshkrim: kur përdoret'
|
|
986
1190
|
group: Grupimi
|
|
987
1191
|
name: Emri
|
|
988
1192
|
index:
|
|
@@ -1067,6 +1271,7 @@ sq:
|
|
|
1067
1271
|
body_nobody: Ende askush nuk e ka këtë grup, prandaj ruajtja nuk prek askënd
|
|
1068
1272
|
derisa ta caktosh.
|
|
1069
1273
|
crumb: Rishiko
|
|
1274
|
+
not_applied: 'Nuk u zbatua:'
|
|
1070
1275
|
save: Ruaj ndryshimet
|
|
1071
1276
|
title:
|
|
1072
1277
|
one: Rishiko %{count} ndryshim
|
|
@@ -1123,10 +1328,15 @@ sq:
|
|
|
1123
1328
|
këtij burimi, ose shkruaj një çelës që e kontrollon kodi yt.
|
|
1124
1329
|
permitted: I lejuar
|
|
1125
1330
|
managed_note:
|
|
1126
|
-
|
|
1127
|
-
që e kanë të lejuar nga Grupet e tyre të lejeve mund ta kryejnë.
|
|
1128
|
-
të tjerëve u refuzohet.
|
|
1129
|
-
|
|
1331
|
+
body_allowed: Sapo një Grup lejesh aktiv ka një rresht për një veprim, vetëm
|
|
1332
|
+
personat që e kanë të lejuar nga Grupet e tyre të lejeve mund ta kryejnë.
|
|
1333
|
+
Të gjithë të tjerëve u refuzohet.
|
|
1334
|
+
body_blocked: Derisa një Grup lejesh aktiv të ketë një rresht për një veprim,
|
|
1335
|
+
askush nuk mund ta kryejë. Pasi ta ketë, mund ta kryejnë personat që e kanë
|
|
1336
|
+
të lejuar nga Grupet e tyre të lejeve; të gjithëve të tjerëve vazhdon t'u
|
|
1337
|
+
refuzohet.
|
|
1338
|
+
title_allowed: Shtimi i një veprimi e bën të menaxhuar për të gjithë
|
|
1339
|
+
title_blocked: Shtimi i një veprimi ua hap atë personave që e kanë të lejuar
|
|
1130
1340
|
unmanaged_allowed: Një veprim që nuk e menaxhon asnjë Grup lejesh mund ta
|
|
1131
1341
|
kryejnë të gjithë.
|
|
1132
1342
|
unmanaged_blocked: Një veprim që nuk e menaxhon asnjë Grup lejesh është i
|
|
@@ -1151,9 +1361,17 @@ sq:
|
|
|
1151
1361
|
capped: Shfaqet si Vetëm lexim sepse Ndrysho nuk lejohet për këtë burim.
|
|
1152
1362
|
full_picture: Shiko gjithçka që %{name} mund të shohë →
|
|
1153
1363
|
granted: "%{name} e sheh përmes %{sets}."
|
|
1154
|
-
|
|
1364
|
+
hidden_by:
|
|
1365
|
+
one: "%{name} nuk e sheh: %{sets} e fsheh."
|
|
1366
|
+
other: "%{name} nuk e sheh: %{sets} e fshehin."
|
|
1367
|
+
masked_by:
|
|
1368
|
+
one: "%{name} e sheh të maskuar: %{sets} e maskon."
|
|
1369
|
+
other: "%{name} e sheh të maskuar: %{sets} e maskojnë."
|
|
1155
1370
|
no_access: "%{name} nuk mund të lexojë %{resources}."
|
|
1156
1371
|
none: Asnjë grup nuk ia shfaq këtë fushë %{name}.
|
|
1372
|
+
read_only_by:
|
|
1373
|
+
one: "%{name} nuk mund ta ndryshojë: %{sets} heq mundësinë e ndryshimit."
|
|
1374
|
+
other: "%{name} nuk mund ta ndryshojë: %{sets} heqin mundësinë e ndryshimit."
|
|
1157
1375
|
unconfigured: Asnjë grup nuk e konfiguron këtë kolonë, prandaj për %{name}
|
|
1158
1376
|
vendos cilësimi për fushat e pakonfiguruara.
|
|
1159
1377
|
virtual_default: "%{name} e merr këtë fushë virtuale si parazgjedhje, të lexueshme
|
|
@@ -1175,6 +1393,7 @@ sq:
|
|
|
1175
1393
|
flags_muting_note: Në grupet heshtëse këta flamuj do të thonë “hiq”.
|
|
1176
1394
|
impact: Ruajtja vlen menjëherë për %{people}.
|
|
1177
1395
|
label: Etiketa
|
|
1396
|
+
locked_impact: E kyçur, kështu që asgjë këtu nuk mund të ruhet.
|
|
1178
1397
|
mask_strategy: Strategjia e maskimit
|
|
1179
1398
|
muting_note: Ky është Grup lejesh heshtës. Zgjedhjet këtu heqin qasje.
|
|
1180
1399
|
no_rules: Asnjë rregull në këtë grup nuk filtron sipas kësaj fushe.
|
|
@@ -1183,15 +1402,20 @@ sq:
|
|
|
1183
1402
|
not_configured_implicit: 'Nuk ka cilësim për këtë fushë në “%{set}”. Ndjek
|
|
1184
1403
|
“Fushat virtuale pa cilësim”: me konfigurimin aktual është e lexueshme dhe
|
|
1185
1404
|
e ndryshueshme si parazgjedhje.'
|
|
1405
|
+
not_configured_muting: Asnjë cilësim për këtë kolonë në “%{set}”, prandaj
|
|
1406
|
+
ky Grup lejesh heshtës nuk heq asgjë prej saj.
|
|
1186
1407
|
pick_person: Zgjidh një person…
|
|
1187
1408
|
save: Ruaj
|
|
1188
|
-
sensitive: 'Përputhet me modelin e privatësisë “%{pattern}
|
|
1189
|
-
I maskuar (%{strategy}).'
|
|
1409
|
+
sensitive: 'Përputhet me modelin e privatësisë “%{pattern}”, prandaj mund
|
|
1410
|
+
të jetë e dhënë personale. Rekomandohet: I maskuar (%{strategy}).'
|
|
1190
1411
|
turned_off: 'Cilësimi për këtë fushë në “%{set}” është i çaktivizuar, prandaj
|
|
1191
1412
|
nuk zbatohet. Me konfigurimin aktual fusha është: %{behaviour}.'
|
|
1192
1413
|
turned_off_implicit: 'Cilësimi për këtë fushë në “%{set}” është i çaktivizuar,
|
|
1193
1414
|
prandaj nuk zbatohet. Fusha ndjek “Fushat virtuale pa cilësim”: me konfigurimin
|
|
1194
1415
|
aktual është e lexueshme dhe e ndryshueshme si parazgjedhje.'
|
|
1416
|
+
turned_off_muting: Cilësimi për këtë fushë në “%{set}” është i fikur, prandaj
|
|
1417
|
+
ky Grup lejesh heshtës nuk heq asgjë prej saj.
|
|
1418
|
+
unknown_strategy: "(e panjohur — maskohet plotësisht derisa të zgjidhni një)"
|
|
1195
1419
|
used_by_rules: Përdoret nga rregullat
|
|
1196
1420
|
variants: 'Vlen edhe për:'
|
|
1197
1421
|
variants_muting: 'Heshtja e kësaj hesht edhe:'
|
|
@@ -1241,20 +1465,12 @@ sq:
|
|
|
1241
1465
|
filter_label: Filtro fushat
|
|
1242
1466
|
filters:
|
|
1243
1467
|
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
1468
|
implicit_grant: E ndryshueshme si parazgjedhje
|
|
1254
1469
|
level: Niveli i qasjes
|
|
1255
1470
|
level_aria: Niveli i qasjes për %{field}
|
|
1471
|
+
mutes_nothing: Nuk heq asgjë
|
|
1256
1472
|
no_match: Asnjë fushë nuk përputhet.
|
|
1257
|
-
not_configured:
|
|
1473
|
+
not_configured: "%{state} · %{behaviour}"
|
|
1258
1474
|
read_off: Aktivizo Lexo për %{resource} për të zgjedhur cilat fusha shohin
|
|
1259
1475
|
personat.
|
|
1260
1476
|
search: Kërko fusha
|
|
@@ -1276,15 +1492,17 @@ sq:
|
|
|
1276
1492
|
models: Modelet
|
|
1277
1493
|
no_models: Asnjë model nuk përputhet.
|
|
1278
1494
|
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.
|
|
1495
|
+
note_gdpr: 'Fushat do të krijohen nga kolonat dhe fushat virtuale të modelit.
|
|
1280
1496
|
Parazgjedhjet e privatësisë janë aktive, prandaj kolonat e ndjeshme fillojnë
|
|
1281
|
-
si të maskuara
|
|
1497
|
+
si të maskuara, përveç me Qasje e plotë: atëherë vetëm shënohen si të ndjeshme,
|
|
1498
|
+
që t''i maskoni ju.'
|
|
1282
1499
|
presets:
|
|
1283
1500
|
block_changes:
|
|
1284
1501
|
desc: Hesht Krijo, Ndrysho, Fshi dhe çdo veprim.
|
|
1285
1502
|
title: Blloko të gjitha ndryshimet
|
|
1286
1503
|
full:
|
|
1287
|
-
desc: Lexo, krijo, ndrysho dhe fshi. Të gjitha fushat të ndryshueshme
|
|
1504
|
+
desc: Lexo, krijo, ndrysho dhe fshi. Të gjitha fushat të ndryshueshme,
|
|
1505
|
+
asnjë e maskuar.
|
|
1288
1506
|
title: Qasje e plotë
|
|
1289
1507
|
hide_sensitive:
|
|
1290
1508
|
desc: Fsheh çdo kolonë që duket si e dhënë personale.
|
|
@@ -1310,7 +1528,7 @@ sq:
|
|
|
1310
1528
|
all_queries: vlen për të gjitha kërkesat
|
|
1311
1529
|
blocked_message: 'Mesazhi i bllokimit: “%{message}”'
|
|
1312
1530
|
empty: 'Ende nuk ka rregulla, prandaj regjistrimet nuk kufizohen: kushdo me
|
|
1313
|
-
këtë grup sheh çdo %{
|
|
1531
|
+
këtë grup sheh çdo regjistrim të %{resource} që mund të lexojë.'
|
|
1314
1532
|
empty_muting: Grupet e lejeve heshtës nuk shtojnë rregulla regjistrimesh.
|
|
1315
1533
|
empty_view_all: Pa rregulla. Shiko të gjitha është aktiv, prandaj çdo regjistrim
|
|
1316
1534
|
përfshihet gjithsesi.
|
|
@@ -1346,7 +1564,7 @@ sq:
|
|
|
1346
1564
|
modify_all_needs: Kërkon Shiko të gjitha dhe Ndrysho.
|
|
1347
1565
|
muting_hint: Veprimet e heshtura u hiqen personave me këtë grup, pavarësisht
|
|
1348
1566
|
çfarë lejojnë grupet e tjera.
|
|
1349
|
-
muting_note: Cilësimet këtu u heqin qasje
|
|
1567
|
+
muting_note: Cilësimet këtu u heqin qasje të gjithë atyre që kanë “%{set}”.
|
|
1350
1568
|
needs_read_hint: Ndrysho dhe Fshi kërkojnë Lexo.
|
|
1351
1569
|
record_scope: Shtrirja e regjistrimeve
|
|
1352
1570
|
remove: Hiq %{resource} nga ky grup…
|
|
@@ -1368,7 +1586,7 @@ sq:
|
|
|
1368
1586
|
read: Shto të gjitha të rejat si Vetëm lexim
|
|
1369
1587
|
gdpr_off: Parazgjedhjet e privatësisë janë joaktive.
|
|
1370
1588
|
gdpr_on: 'Parazgjedhjet e privatësisë janë aktive: kolonat e ndjeshme shtohen
|
|
1371
|
-
si të maskuara.'
|
|
1589
|
+
si të maskuara, përveç me qasje të plotë (atëherë vetëm shënohen si të ndjeshme).'
|
|
1372
1590
|
ignored_count:
|
|
1373
1591
|
one: "%{count} e injoruar"
|
|
1374
1592
|
other: "%{count} të injoruara"
|
|
@@ -1382,6 +1600,9 @@ sq:
|
|
|
1382
1600
|
new_count:
|
|
1383
1601
|
one: "%{count} kolonë e re e pakonfiguruar"
|
|
1384
1602
|
other: "%{count} kolona të reja të pakonfiguruara"
|
|
1603
|
+
new_count_muting:
|
|
1604
|
+
one: "%{count} kolonë pa cilësim, prandaj nuk heq asgjë"
|
|
1605
|
+
other: "%{count} kolona pa cilësim, prandaj nuk heqin asgjë"
|
|
1385
1606
|
new_title: Kolona të reja, të pakonfiguruara
|
|
1386
1607
|
none: Asnjë
|
|
1387
1608
|
remove_missing: Hiq fushat që mungojnë
|
|
@@ -1466,6 +1687,9 @@ sq:
|
|
|
1466
1687
|
api_serializer_overrides:
|
|
1467
1688
|
desc: Zëvendësime për mënyrën si shkruhen regjistrimet në përgjigjet e API-së.
|
|
1468
1689
|
name: Serializues të personalizuar
|
|
1690
|
+
api_stats_authorization:
|
|
1691
|
+
desc: Vendos kush mund të lexojë statistikat e përdorimit përmes API-së.
|
|
1692
|
+
name: Kontrolli i statistikave të API-së
|
|
1469
1693
|
api_stats_require_admin:
|
|
1470
1694
|
desc: Vetëm administratorët mund të lexojnë statistikat e përdorimit përmes
|
|
1471
1695
|
API-së.
|
|
@@ -1586,7 +1810,8 @@ sq:
|
|
|
1586
1810
|
të mos i shfaqin.
|
|
1587
1811
|
name: Filtro vlerat e ndjeshme nga regjistrat
|
|
1588
1812
|
gdpr_defaults:
|
|
1589
|
-
desc: Kolonat që duken personale maskohen si parazgjedhje kur shtohen
|
|
1813
|
+
desc: Kolonat që duken personale maskohen si parazgjedhje kur shtohen, përveç
|
|
1814
|
+
kur shtohen me qasje të plotë.
|
|
1590
1815
|
name: Parazgjedhjet e privatësisë
|
|
1591
1816
|
gdpr_field_patterns:
|
|
1592
1817
|
desc: Emrat e kolonave që përputhen me një model shënohen si të ndjeshëm
|
|
@@ -1619,10 +1844,13 @@ sq:
|
|
|
1619
1844
|
kur kodi yt i lexon nga modeli.
|
|
1620
1845
|
name: Masko fushat virtuale në modele
|
|
1621
1846
|
masked_attributes_nil_user_strategy:
|
|
1622
|
-
desc: '
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1847
|
+
desc: 'Çfarë kthejnë modelet e maskuara kur nuk ka përdorues aktual. bypass:
|
|
1848
|
+
vlerat e ruajtura kudo (çdo lexim në një kërkesë web regjistrohet në log
|
|
1849
|
+
dhe publikohet si ngjarje auditimi). hide_in_requests: vlera të fshehura
|
|
1850
|
+
në kërkesat web (një faqe publike, një kontrollues që harroi hyrjen),
|
|
1851
|
+
vlerat e ruajtura në punët në sfond, detyrat rake dhe konsolë. hide: vlera
|
|
1852
|
+
të fshehura kudo. Modeli i përdoruesit mbetet i lexueshëm: hyrja e lexon
|
|
1853
|
+
para se dikush të ketë hyrë.'
|
|
1626
1854
|
name: Atributet e maskuara kur askush nuk ka hyrë
|
|
1627
1855
|
masked_write_protection:
|
|
1628
1856
|
desc: Ndalon që një vlerë e maskuar si “•••• 4821” të ruhet mbi vlerën e
|
|
@@ -1632,6 +1860,11 @@ sq:
|
|
|
1632
1860
|
desc: Nëse rregullat anashkalohen, mohojnë gjithçka ose ngrenë gabim kur
|
|
1633
1861
|
nuk ka përdorues aktual.
|
|
1634
1862
|
name: Rregullat e regjistrimeve kur askush nuk ka hyrë
|
|
1863
|
+
no_read_access_strategy:
|
|
1864
|
+
desc: 'Çfarë kthejnë kërkimet e regjistrimeve për një përdorues të hyrë,
|
|
1865
|
+
Grupet e lejeve të të cilit nuk japin Lexim mbi burimin: rreshtat që lejojnë
|
|
1866
|
+
rregullat e regjistrimeve (pa asnjë rregull, çdo rresht), ose asnjë.'
|
|
1867
|
+
name: Regjistrimet pa qasje leximi
|
|
1635
1868
|
omit_hidden_in_attributes_hash:
|
|
1636
1869
|
desc: Fushat e fshehura hiqen nga hash-et e atributeve në vend që të vendosen
|
|
1637
1870
|
bosh.
|
|
@@ -1669,6 +1902,11 @@ sq:
|
|
|
1669
1902
|
desc: Emri i variablit që i tregon bazës së të dhënave kush është përdoruesi
|
|
1670
1903
|
aktual.
|
|
1671
1904
|
name: Variabli i sesionit në bazën e të dhënave
|
|
1905
|
+
rule_secret_column_patterns:
|
|
1906
|
+
desc: Rregullat e regjistrimeve nuk mund të krahasojnë kolona që përputhen
|
|
1907
|
+
me këto modele (përmbledhje fjalëkalimesh, tokene, kolona encrypted_*).
|
|
1908
|
+
Një listë bosh i lejon.
|
|
1909
|
+
name: Modele kolonash sekrete
|
|
1672
1910
|
snapshot_transactions:
|
|
1673
1911
|
desc: 'Nëse një transaksion i bazës së të dhënave vazhdon t''i shohë të
|
|
1674
1912
|
dhënat siç ishin kur filloi. Lejet e llogaritura brenda një transaksioni
|
|
@@ -1744,9 +1982,12 @@ sq:
|
|
|
1744
1982
|
gdpr_defaults: Kolonat e reja të ndjeshme fillojnë të maskuara.
|
|
1745
1983
|
http_basic_auth_enabled: Qasja në këto ekrane është e mbrojtur.
|
|
1746
1984
|
masked_attributes_nil_user_strategy: Modelet e maskuara i fshehin vlerat kur
|
|
1747
|
-
askush nuk ka
|
|
1985
|
+
askush nuk ka hyrë, të paktën në kërkesat web (modeli i përdoruesit mbetet
|
|
1986
|
+
i lexueshëm për hyrjen).
|
|
1748
1987
|
masked_write_protection: Vlerat e maskuara nuk ruhen kurrë mbrapsht.
|
|
1749
1988
|
nil_user_strategy: Kodi pa përdorues të hyrë nuk sheh asnjë regjistrim.
|
|
1989
|
+
no_read_access_strategy: Përdoruesit e hyrë pa Lexim mbi një burim nuk shohin
|
|
1990
|
+
asnjë nga regjistrimet e tij.
|
|
1750
1991
|
preset: Paracaktimi :strict mbyll cilësimet që si parazgjedhje e lënë qasjen
|
|
1751
1992
|
të hapur.
|
|
1752
1993
|
unconfigured_action_strategy: Veprimet e kontrolluesve që askush nuk i ka
|
|
@@ -1760,24 +2001,31 @@ sq:
|
|
|
1760
2001
|
çaktivizuar, ose tabela e auditimit mungon). Me audit_events = true dhe
|
|
1761
2002
|
pa tabelë, çdo ndryshim dështon (me strategjinë e parazgjedhur :raise).
|
|
1762
2003
|
audit_trail_enabled: Askush nuk regjistrohet si krijues ose redaktues i regjistrimeve.
|
|
2004
|
+
auto_query_scoping: 'Rregullat e regjistrimeve janë në përdorim, por zbatohen
|
|
2005
|
+
vetëm te kërkimet find_by dhe permission_scoped: pyetjet e tjera kthejnë
|
|
2006
|
+
çdo regjistrim.'
|
|
1763
2007
|
conditional_sets_strict_mode: Grupet me kushte trajtohen si aktive kur mungojnë
|
|
1764
|
-
informacionet e kërkesës (
|
|
2008
|
+
informacionet e kërkesës (mungesa e tyre e lë aksesin të hapur).
|
|
1765
2009
|
http_basic_auth_enabled: Këto ekrane janë ose të bllokuara (kërkesa për fjalëkalim
|
|
1766
2010
|
aktive, por pa kredenciale) ose të pambrojtura (pa fjalëkalim dhe pa kontrollues
|
|
1767
2011
|
admini të personalizuar).
|
|
1768
2012
|
masked_write_protection: Vlerat e maskuara mund të ruhen mbi të dhënat e vërteta.
|
|
2013
|
+
unconfigured_action_strategy: Veprimet e kontrolluesve që askush nuk i ka
|
|
2014
|
+
konfiguruar mund t'i kryejë çdo përdorues i identifikuar (zgjedhje e qartë
|
|
2015
|
+
kundër parazgjedhjes :block).
|
|
1769
2016
|
unconfigured_field_strategy: Kolonat që askush nuk i ka konfiguruar u shfaqen
|
|
1770
2017
|
pa maskim kujtdo që mund ta lexojë burimin.
|
|
1771
2018
|
row:
|
|
1772
2019
|
changed: Ndryshuar
|
|
1773
|
-
|
|
1774
|
-
|
|
2020
|
+
default_html: 'Parazgjedhje: %{value}'
|
|
2021
|
+
docs_html: 'Dokumentacioni i konfigurimit: %{key} ↗'
|
|
1775
2022
|
how_to_change: Si ta ndryshosh
|
|
1776
2023
|
risk: Rrezik
|
|
1777
2024
|
secure: I sigurt
|
|
1778
2025
|
snippet_current: Fragmenti tregon vlerën aktuale.
|
|
1779
2026
|
snippet_recommended: Fragmenti tregon vlerën e rekomanduar.
|
|
1780
|
-
step_deploy:
|
|
2027
|
+
step_deploy: Ruaj ndryshimin në kod dhe publiko aplikacionin (ose rinis serverin
|
|
2028
|
+
lokalisht).
|
|
1781
2029
|
step_edit: Ndrysho skedarin më lart.
|
|
1782
2030
|
step_reload: Rifresko këtë faqe për ta konfirmuar.
|
|
1783
2031
|
sections:
|
|
@@ -1798,6 +2046,9 @@ sq:
|
|
|
1798
2046
|
record_rules: Rregullat e regjistrimeve dhe kufizimi i kërkesave
|
|
1799
2047
|
show:
|
|
1800
2048
|
api_disabled_html: API-ja është e çaktivizuar (%{key}).
|
|
2049
|
+
attention:
|
|
2050
|
+
one: Faqja kryesore tregon %{count} gjë që kërkon vëmendje.
|
|
2051
|
+
other: Faqja kryesore tregon %{count} gjëra që kërkojnë vëmendje.
|
|
1801
2052
|
changed_count:
|
|
1802
2053
|
one: "%{count} i ndryshuar"
|
|
1803
2054
|
other: "%{count} të ndryshuar"
|
|
@@ -1805,15 +2056,19 @@ sq:
|
|
|
1805
2056
|
has_risk: Ka një cilësim të rrezikshëm
|
|
1806
2057
|
health: Përmbledhja e gjendjes
|
|
1807
2058
|
how_to_fix: Si ta rregullosh
|
|
1808
|
-
intro_html: Cilësimet përcaktohen në %{file}. Ndryshimet kërkojnë
|
|
1809
|
-
Kjo faqe tregon vlerat aktuale dhe si t'i ndryshosh.
|
|
2059
|
+
intro_html: Cilësimet përcaktohen në %{file}. Ndryshimet kërkojnë publikim
|
|
2060
|
+
të ri ose rinisje. Kjo faqe tregon vlerat aktuale dhe si t'i ndryshosh.
|
|
1810
2061
|
no_match: Asnjë cilësim nuk përputhet.
|
|
2062
|
+
open_home: Hap faqen kryesore
|
|
1811
2063
|
read_only: Vetëm lexim
|
|
1812
2064
|
search: Kërko cilësime
|
|
1813
2065
|
section_meta: "%{settings} · %{changed}"
|
|
1814
2066
|
secure_count:
|
|
1815
2067
|
one: "%{count} cilësim sigurie dhe privatësie duket në rregull."
|
|
1816
2068
|
other: "%{count} cilësime sigurie dhe privatësie duken në rregull."
|
|
2069
|
+
secure_count_set:
|
|
2070
|
+
one: "%{count} cilësim sigurie dhe privatësie është vendosur siç rekomandohet."
|
|
2071
|
+
other: "%{count} cilësime sigurie dhe privatësie janë vendosur siç rekomandohet."
|
|
1817
2072
|
settings_count:
|
|
1818
2073
|
one: "%{count} cilësim"
|
|
1819
2074
|
other: "%{count} cilësime"
|
|
@@ -1847,18 +2102,17 @@ sq:
|
|
|
1847
2102
|
set: I vendosur
|
|
1848
2103
|
shared:
|
|
1849
2104
|
across_sets:
|
|
1850
|
-
muted_hidden: 'I heshtur: i fshehur'
|
|
1851
2105
|
none: Asnjë Grup lejesh nuk e përfshin këtë burim.
|
|
1852
2106
|
active: Aktiv
|
|
1853
2107
|
audit_footer:
|
|
1854
2108
|
created: Krijuar nga %{created_by} · %{created_at}
|
|
1855
2109
|
disabled: Nuk regjistrohet kush krijoi dhe kush ndryshoi.
|
|
1856
2110
|
edited: Ndryshuar së fundi nga %{updated_by} · %{updated_at}
|
|
2111
|
+
edited_at: Ndryshuar së fundi %{updated_at}
|
|
1857
2112
|
history: Historiku
|
|
1858
2113
|
crud_cell:
|
|
1859
2114
|
allowed: Lejohet
|
|
1860
2115
|
muted: I heshtur
|
|
1861
|
-
needs_read: Aktivizo së pari Lexo
|
|
1862
2116
|
needs_read_short: Kërkon Lexo
|
|
1863
2117
|
'no': Jo
|
|
1864
2118
|
unchanged: Pa ndryshim
|
|
@@ -1920,8 +2174,6 @@ sq:
|
|
|
1920
2174
|
copied: U kopjua
|
|
1921
2175
|
copy: Kopjo
|
|
1922
2176
|
summary: Detaje teknike
|
|
1923
|
-
time_ago: "%{time} më parë"
|
|
1924
|
-
time_nil: "—"
|
|
1925
2177
|
toasts:
|
|
1926
2178
|
dismiss: Mbyll
|
|
1927
2179
|
undo: Zhbëj
|
|
@@ -1932,6 +2184,11 @@ sq:
|
|
|
1932
2184
|
user_select_prompt: Zgjidh një person...
|
|
1933
2185
|
user_select_truncated: Shfaqen vetëm %{count} përdoruesit e parë. Konfiguro
|
|
1934
2186
|
user_list_resolver për ta ngushtuar listën.
|
|
2187
|
+
support:
|
|
2188
|
+
array:
|
|
2189
|
+
last_word_connector: " dhe "
|
|
2190
|
+
two_words_connector: " dhe "
|
|
2191
|
+
words_connector: ", "
|
|
1935
2192
|
ui:
|
|
1936
2193
|
actions: Veprimet
|
|
1937
2194
|
apply: Apliko
|
|
@@ -1942,7 +2199,14 @@ sq:
|
|
|
1942
2199
|
reviewed_by: Rishikuar nga %{who} më %{date}
|
|
1943
2200
|
reviewed_on: Rishikuar më %{date}
|
|
1944
2201
|
audit:
|
|
1945
|
-
|
|
2202
|
+
csv:
|
|
2203
|
+
created_at: Krijuar më
|
|
2204
|
+
created_by: Krijuar nga
|
|
2205
|
+
edited_at: Ndryshuar së fundi më
|
|
2206
|
+
edited_by: Ndryshuar së fundi nga
|
|
2207
|
+
record: Regjistrimi
|
|
2208
|
+
type: Lloji
|
|
2209
|
+
where: Ku
|
|
1946
2210
|
types:
|
|
1947
2211
|
action: Veprim
|
|
1948
2212
|
assignment: Caktim
|
|
@@ -1957,21 +2221,25 @@ sq:
|
|
|
1957
2221
|
column_missing: Kolona mungon
|
|
1958
2222
|
conditional: Me kushte
|
|
1959
2223
|
expired: Skaduar
|
|
1960
|
-
fail_open:
|
|
1961
|
-
fail_open_long: '
|
|
2224
|
+
fail_open: Aktiv në mungesë
|
|
2225
|
+
fail_open_long: 'Aktiv në mungesë: vlen edhe kur mungojnë informacionet e
|
|
2226
|
+
kërkesës'
|
|
1962
2227
|
fail_open_title: conditional_sets_strict_mode është joaktiv
|
|
1963
|
-
locked: I kyçur
|
|
1964
2228
|
muting: Heshtës
|
|
1965
|
-
not_configured: E pakonfiguruar
|
|
1966
2229
|
'off': Joaktiv
|
|
1967
2230
|
sensitive: E ndjeshme
|
|
2231
|
+
unknown_mask_strategy: Strategji maskimi e panjohur — maskohet plotësisht
|
|
2232
|
+
derisa të rregullohet
|
|
1968
2233
|
virtual: Virtuale
|
|
1969
2234
|
breadcrumb: Navigimi
|
|
1970
2235
|
cancel: Anulo
|
|
1971
2236
|
changes:
|
|
1972
2237
|
action_managed_already: "(tashmë i menaxhuar; grupet që e lejojnë: %{sets})"
|
|
1973
|
-
|
|
1974
|
-
që e kanë të lejuar nga Grupet e tyre të lejeve mund ta kryejnë)"
|
|
2238
|
+
action_managed_first_allowed: "(kjo e bën të menaxhuar: tani e tutje vetëm
|
|
2239
|
+
personat që e kanë të lejuar nga Grupet e tyre të lejeve mund ta kryejnë)"
|
|
2240
|
+
action_managed_first_blocked: "(rreshti i parë për të: tani e tutje mund ta
|
|
2241
|
+
kryejnë personat që e kanë të lejuar nga Grupet e tyre të lejeve; deri tani
|
|
2242
|
+
askush nuk mundte)"
|
|
1975
2243
|
action_managed_later: "(hyn në fuqi sapo ky grup dhe ky burim të aktivizohen)"
|
|
1976
2244
|
action_managed_nobody: "(tashmë i menaxhuar; asnjë Grup lejesh nuk e lejon
|
|
1977
2245
|
ende)"
|
|
@@ -1998,6 +2266,10 @@ sq:
|
|
|
1998
2266
|
flag_off_muting: "%{resource}: %{flag} nuk heshtet më"
|
|
1999
2267
|
flag_on: "%{resource}: %{flag} u lejua"
|
|
2000
2268
|
flag_on_muting: "%{resource}: %{flag} u hesht"
|
|
2269
|
+
not_applied_read: "%{resource}: %{flag} nuk u aktivizua, sepse “Lexo” është
|
|
2270
|
+
i fikur"
|
|
2271
|
+
not_applied_view_all_and_edit: "%{resource}: %{flag} nuk u aktivizua, sepse
|
|
2272
|
+
kërkon “Shiko të gjitha” dhe “Ndrysho”"
|
|
2001
2273
|
resource_text: "%{resource}: %{attribute} ndryshoi"
|
|
2002
2274
|
set_group: U zhvendos në grupimin “%{group}”
|
|
2003
2275
|
set_no_group: U hoq nga grupimi i tij
|
|
@@ -2007,6 +2279,9 @@ sq:
|
|
|
2007
2279
|
close: Mbyll
|
|
2008
2280
|
conditions:
|
|
2009
2281
|
always: Gjithmonë aktiv. Pa kushte aktivizimi.
|
|
2282
|
+
effect:
|
|
2283
|
+
granting: Nuk plotësohet kurrë, ndaj nuk jep asgjë.
|
|
2284
|
+
muting: 'Grup lejesh heshtës: vlen për çdo kërkesë.'
|
|
2010
2285
|
flag_generic: kur %{flag} është vendosur
|
|
2011
2286
|
flags:
|
|
2012
2287
|
marketing_consent: kur është dhënë pëlqimi për marketing
|
|
@@ -2014,9 +2289,27 @@ sq:
|
|
|
2014
2289
|
sso_login: pas hyrjes me SSO të kompanisë
|
|
2015
2290
|
from_ips: nga %{ips}
|
|
2016
2291
|
hours: ndërmjet %{from} dhe %{to}
|
|
2292
|
+
hours_broken: ndërmjet %{from} dhe %{to} (një dritare që askush s'mund ta
|
|
2293
|
+
gjykojë — rregullojeni te skeda Kushtet)
|
|
2294
|
+
hours_broken_here: ndërmjet %{from} dhe %{to} (një dritare që askush s'mund
|
|
2295
|
+
ta gjykojë)
|
|
2017
2296
|
hours_overnight: ndërmjet %{from} dhe %{to} (gjatë natës)
|
|
2297
|
+
ips_broken: nga %{ips} (një listë që askush s'mund ta gjykojë — rregullojeni
|
|
2298
|
+
te skeda Kushtet)
|
|
2299
|
+
ips_broken_here: nga %{ips} (një listë që askush s'mund ta gjykojë)
|
|
2300
|
+
no_hour: pa orë
|
|
2018
2301
|
only_works: Funksionon vetëm %{parts}.
|
|
2019
2302
|
or: " ose "
|
|
2303
|
+
problems:
|
|
2304
|
+
flag_unusable_html: Flamuri i sesionit %{flag} përmban një karakter kontrolli,
|
|
2305
|
+
ndaj asnjë kërkesë nuk e mbart.
|
|
2306
|
+
hours_equal: Ora e fillimit dhe e mbarimit janë të njëjta, ndaj dritarja
|
|
2307
|
+
është bosh.
|
|
2308
|
+
hours_incomplete: Është vendosur vetëm njëra nga dy orët.
|
|
2309
|
+
hours_range: Një orë është jashtë 00:00–23:00.
|
|
2310
|
+
ip_empty: Lista e IP-ve ka vetëm ndarës, asnjë hyrje.
|
|
2311
|
+
ip_entry_html: "%{entry} nuk është adresë IP ose diapazon CIDR."
|
|
2312
|
+
problems_title: Këto kushte nuk mund të gjykohen
|
|
2020
2313
|
dates:
|
|
2021
2314
|
days_ago:
|
|
2022
2315
|
one: "%{count} ditë më parë"
|
|
@@ -2057,16 +2350,13 @@ sq:
|
|
|
2057
2350
|
read_access: Lexo
|
|
2058
2351
|
view_all: Shiko të gjitha
|
|
2059
2352
|
keep: Mbaje
|
|
2060
|
-
|
|
2061
|
-
edit:
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
muted: I heshtur
|
|
2068
|
-
none: E pakonfiguruar
|
|
2069
|
-
read: Vetëm lexim
|
|
2353
|
+
level_sentences:
|
|
2354
|
+
edit: "%{set} e shfaq këtë fushë dhe lejon ndryshimin e saj."
|
|
2355
|
+
hide: "%{set} e fsheh këtë fushë."
|
|
2356
|
+
mask: "%{set} e detyron maskimin e kësaj fushe."
|
|
2357
|
+
masked: "%{set} e shfaq këtë fushë të maskuar (%{strategy})."
|
|
2358
|
+
no_edit: "%{set} heq mundësinë e ndryshimit të kësaj fushe."
|
|
2359
|
+
read: "%{set} e shfaq këtë fushë vetëm për lexim."
|
|
2070
2360
|
locked:
|
|
2071
2361
|
title: 'I kyçur: menaxhohet nga sistemi/API'
|
|
2072
2362
|
mask_strategies:
|
|
@@ -2087,6 +2377,7 @@ sq:
|
|
|
2087
2377
|
nov: Nën
|
|
2088
2378
|
oct: Tet
|
|
2089
2379
|
sep: Sht
|
|
2380
|
+
needs_read_first: Aktivizo së pari Lexo
|
|
2090
2381
|
next: Tjetër
|
|
2091
2382
|
no_group: Jo në grupim
|
|
2092
2383
|
open_person: Hap personin
|
|
@@ -2114,51 +2405,189 @@ sq:
|
|
|
2114
2405
|
records: Regjistrimet
|
|
2115
2406
|
remove: Hiq
|
|
2116
2407
|
resource: Burim
|
|
2408
|
+
resource_plural:
|
|
2409
|
+
one: regjistrimi %{name}
|
|
2410
|
+
other: regjistrimet %{name}
|
|
2117
2411
|
rules:
|
|
2118
2412
|
and: dhe
|
|
2119
2413
|
current_user: përdoruesi aktual
|
|
2414
|
+
matches_nothing: Nuk përputhet me asgjë
|
|
2415
|
+
notes:
|
|
2416
|
+
secret_column: Kolonë sekrete
|
|
2120
2417
|
only_show: Shfaq vetëm
|
|
2121
2418
|
or_empty: ose %{field} është bosh
|
|
2419
|
+
problems:
|
|
2420
|
+
empty_association: Shtegu i lidhjeve ka një hap bosh (dy pika njëra pas
|
|
2421
|
+
tjetrës, ose një pikë në fillim)
|
|
2422
|
+
encrypted_column: "%{name} e %{model} është e enkriptuar: baza e të dhënave
|
|
2423
|
+
mban tekstin e saj të shifruar, ndaj një rregull mund të kontrollojë vetëm
|
|
2424
|
+
nëse është bosh"
|
|
2425
|
+
foreign_table_html: "%{name} është tabelë e një modeli tjetër: një rregull
|
|
2426
|
+
filtri krahason vetëm kolonat e %{model}"
|
|
2427
|
+
missing_column_html: "%{name} nuk është kolonë e %{model}"
|
|
2428
|
+
pattern_on_non_text: "%{name} e %{model} nuk është tekst: një kusht modeli
|
|
2429
|
+
(përmban, fillon me, mbaron me) nuk mund ta përputhë"
|
|
2430
|
+
unjoinable_association: "%{name} është lidhje e %{model} që një rregull
|
|
2431
|
+
nuk mund ta ndjekë"
|
|
2432
|
+
unjoinable_class_not_loadable: "%{name} është lidhje e %{model}, modeli
|
|
2433
|
+
i së cilës nuk mund të ngarkohet"
|
|
2434
|
+
unjoinable_invalid_definition: "%{name} është lidhje e %{model}, :through,
|
|
2435
|
+
:source ose inverse_of i së cilës përmend një lidhje që nuk ekziston"
|
|
2436
|
+
unjoinable_polymorphic: "%{name} është lidhje polimorfike e %{model}: një
|
|
2437
|
+
rregull nuk mund ta ndjekë"
|
|
2438
|
+
unjoinable_record_dependent_scope: "%{name} është lidhje e %{model}, fusha
|
|
2439
|
+
e së cilës varet nga regjistrimi: një rregull nuk mund ta ndjekë"
|
|
2440
|
+
unknown_association_html: "%{name} nuk është lidhje e %{model}"
|
|
2441
|
+
unknown_join_type_html: "%{name} nuk është mënyrë bashkimi që ky version
|
|
2442
|
+
e njeh"
|
|
2443
|
+
unknown_operator_html: "%{name} nuk është kusht që ky version e njeh"
|
|
2444
|
+
unknown_table_html: "%{name} nuk është tabelë e kësaj baze të dhënash"
|
|
2445
|
+
unusable_value_html: "%{value} nuk është vlerë që %{name} e %{model} mund
|
|
2446
|
+
ta mbajë"
|
|
2122
2447
|
where: ku
|
|
2123
2448
|
rules_count:
|
|
2124
2449
|
one: Rregullat (%{count})
|
|
2125
2450
|
other: Rregullat (%{count})
|
|
2126
2451
|
rules_tab: Rregullat
|
|
2127
2452
|
search: Kërko
|
|
2128
|
-
search_people:
|
|
2453
|
+
search_people: Emër ose email
|
|
2129
2454
|
setting: Cilësimi
|
|
2130
2455
|
states:
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2456
|
+
actor:
|
|
2457
|
+
api: Klient API
|
|
2458
|
+
basic_auth: Dritarja e fjalëkalimit
|
|
2459
|
+
system: Sistemi
|
|
2460
|
+
unknown: I panjohur
|
|
2461
|
+
user: Person
|
|
2462
|
+
effective:
|
|
2463
|
+
blocked: I bllokuar
|
|
2464
|
+
granted: Lejohet
|
|
2465
|
+
hidden_by_muting: I fshehur nga heshtja
|
|
2466
|
+
none: Jo
|
|
2467
|
+
field_level:
|
|
2468
|
+
edit: I ndryshueshëm
|
|
2469
|
+
hidden: I fshehur
|
|
2470
|
+
hide: Fshih
|
|
2471
|
+
leave: Pa ndryshim
|
|
2472
|
+
mask: Maskim i detyruar
|
|
2473
|
+
masked: I maskuar
|
|
2474
|
+
none: E pakonfiguruar
|
|
2475
|
+
read: Vetëm lexim
|
|
2476
|
+
lock:
|
|
2477
|
+
locked: I kyçur
|
|
2134
2478
|
unconfigured:
|
|
2135
2479
|
block: Bllokohet si parazgjedhje
|
|
2136
2480
|
mask_all: I maskuar plotësisht
|
|
2137
2481
|
pass_through: Kalon pa maskim
|
|
2138
2482
|
warn: Kalon dhe regjistrohet
|
|
2483
|
+
untitled:
|
|
2484
|
+
permission_set: Grup lejesh pa emër
|
|
2485
|
+
permission_set_group: Grupim grupesh lejesh pa emër
|
|
2486
|
+
permission_set_rule: Rregull pa emër
|
|
2139
2487
|
view_all: Shiko të gjitha
|
|
2140
2488
|
validations:
|
|
2489
|
+
attributes:
|
|
2490
|
+
allowed_hours_end: Ora e mbarimit
|
|
2491
|
+
allowed_hours_start: Ora e fillimit
|
|
2492
|
+
allowed_ips: IP-të e lejuara
|
|
2493
|
+
create_access: Krijim
|
|
2494
|
+
delete_access: Fshirje
|
|
2495
|
+
description: Përshkrimi
|
|
2496
|
+
edit_access: Ndryshim
|
|
2497
|
+
expires_at: Data e mbarimit
|
|
2498
|
+
failure_message: Mesazhi i bllokimit
|
|
2499
|
+
field_accessor_path: Lidhja
|
|
2500
|
+
field_name: Fusha
|
|
2501
|
+
field_value: Vlera
|
|
2502
|
+
include_nulls: Përfshi vlerat bosh
|
|
2503
|
+
is_active: Aktiv
|
|
2504
|
+
is_editable: I ndryshueshëm
|
|
2505
|
+
is_muting: Heshtës
|
|
2506
|
+
is_permitted: I lejuar
|
|
2507
|
+
join_type: Bashkimi
|
|
2508
|
+
label: Etiketa
|
|
2509
|
+
mask_access: Maskim
|
|
2510
|
+
mask_strategy: Strategjia e maskimit
|
|
2511
|
+
modify_all: Ndrysho të gjitha
|
|
2512
|
+
name: Emri
|
|
2513
|
+
operator: Kushti
|
|
2514
|
+
permission_set_group: Permission Set Group
|
|
2515
|
+
read_access: Lexim
|
|
2516
|
+
requires_session_flag: Flamuri i sesionit
|
|
2517
|
+
user_id: Personi
|
|
2518
|
+
uuid: UUID
|
|
2519
|
+
view_all: Shiko të gjitha
|
|
2520
|
+
blank: nuk mund të jetë bosh
|
|
2521
|
+
full_message: "%{attribute} %{message}"
|
|
2522
|
+
invalid: nuk është e vlefshme
|
|
2141
2523
|
name_blank: nuk mund të jetë bosh
|
|
2524
|
+
nul_byte: nuk duhet të përmbajë bajt NUL
|
|
2142
2525
|
permission_set:
|
|
2526
|
+
flag_unusable: 'nuk duhet të përmbajë karakter kontrolli (rresht i ri, tabulator):
|
|
2527
|
+
asnjë kërkesë nuk e mbart një flamur të tillë'
|
|
2143
2528
|
group_missing: duhet të jetë një grupim ekzistues i grupeve të lejeve
|
|
2529
|
+
hours_equal: duhet të ndryshojë nga ora e fillimit (një dritare nga një orë
|
|
2530
|
+
në të njëjtën orë është bosh; lërini të dyja bosh për asnjë dritare)
|
|
2531
|
+
hours_incomplete: duhet të vendoset bashkë me orën tjetër (ose të dyja të
|
|
2532
|
+
lihen bosh)
|
|
2533
|
+
hours_range: duhet të jetë midis 0 dhe 23
|
|
2534
|
+
invalid_ip_entry: përmban “%{entry}”, që nuk është adresë IP ose diapazon
|
|
2535
|
+
CIDR
|
|
2536
|
+
name_taken: përdoret tashmë nga një Grup lejesh tjetër
|
|
2537
|
+
permission_set_group_user:
|
|
2538
|
+
taken: është tashmë anëtar i këtij grupi
|
|
2144
2539
|
permission_set_rule:
|
|
2145
2540
|
between_requires_two_values: duhet të përmbajë saktësisht 2 vlera të ndara
|
|
2146
2541
|
me presje për operatorin between
|
|
2542
|
+
empty_association: ka një emër bosh lidhjeje (dy pika njëra pas tjetrës, ose
|
|
2543
|
+
një pikë në fillim)
|
|
2544
|
+
encrypted_column: 'emërton %{name}, një atribut të enkriptuar të %{model}:
|
|
2545
|
+
baza e të dhënave mban tekstin e tij të shifruar, ndaj një rregull mund
|
|
2546
|
+
të kontrollojë vetëm nëse është bosh (is_null, is_not_null)'
|
|
2147
2547
|
field_value_required: kërkohet për këtë operator
|
|
2548
|
+
foreign_table: 'emërton %{name}, një tabelë që nuk është e %{model}: një rregull
|
|
2549
|
+
filtri krahason tabelën e vet. Për një kolonë të një tabele tjetër, përdorni
|
|
2550
|
+
një rregull bashkimi (një lloj bashkimi dhe shtegun e lidhjes)'
|
|
2148
2551
|
in_requires_values: duhet të përmbajë të paktën 1 vlerë të ndarë me presje
|
|
2149
2552
|
invalid_field_name: duhet të jetë emër i vlefshëm kolone (shkronja, numra,
|
|
2150
2553
|
nënviza, pika)
|
|
2151
2554
|
invalid_join_type: nuk është lloj i vlefshëm bashkimi
|
|
2152
2555
|
invalid_operator: nuk është operator i vlefshëm
|
|
2556
|
+
nul_byte: nuk duhet të përmbajë bajt NUL
|
|
2153
2557
|
numeric_or_date_required: duhet të jetë vlerë numerike ose datë për operatorët
|
|
2154
2558
|
e krahasimit
|
|
2559
|
+
pattern_on_non_text: 'përputh vetëm tekst, dhe %{model}.%{name} është kolonë
|
|
2560
|
+
e llojit %{type}: përdorni një kusht që krahason vlera'
|
|
2561
|
+
secret_column: 'përmend një kolonë që mban një sekret (përmbledhje fjalëkalimi,
|
|
2562
|
+
token, kolonë encrypted_*): një rregull regjistrimesh nuk krahason kurrë
|
|
2563
|
+
një të tillë'
|
|
2564
|
+
unjoinable_association: përmend %{association}, një lidhje e %{model} që një
|
|
2565
|
+
rregull nuk mund ta bashkojë
|
|
2566
|
+
unjoinable_class_not_loadable: përmend %{association}, një lidhje e %{model}
|
|
2567
|
+
klasa e së cilës nuk mund të ngarkohet
|
|
2568
|
+
unjoinable_invalid_definition: përmend %{association}, një lidhje e %{model}
|
|
2569
|
+
:through, :source ose inverse_of i së cilës përmend një lidhje që nuk ekziston
|
|
2570
|
+
unjoinable_polymorphic: 'përmend %{association}, një lidhje polimorfike e
|
|
2571
|
+
%{model}: një rregull nuk mund ta bashkojë'
|
|
2572
|
+
unjoinable_record_dependent_scope: 'përmend %{association}, një lidhje e %{model}
|
|
2573
|
+
fusha e së cilës (ose një përgjatë :through) merr regjistrimin: një rregull
|
|
2574
|
+
nuk mund ta bashkojë'
|
|
2575
|
+
unknown_association: përmend %{association}, që nuk është lidhje e %{model}
|
|
2576
|
+
unknown_column: përmend %{name}, që nuk është kolonë e %{model}
|
|
2577
|
+
unknown_table: emërton %{name}, që nuk është tabelë e kësaj baze të dhënash
|
|
2578
|
+
unusable_value: nuk është vlerë që %{model}.%{name} mund ta mbajë
|
|
2155
2579
|
value_not_expected: nuk kërkon vlerë për këtë operator
|
|
2156
2580
|
value_required: nuk duhet të jetë bosh për këtë operator
|
|
2581
|
+
permission_set_user:
|
|
2582
|
+
taken: e ka tashmë këtë Grup lejesh
|
|
2583
|
+
requires: kërkon që %{requires} të jetë e aktivizuar
|
|
2157
2584
|
resource:
|
|
2158
2585
|
invalid_name: duhet të jetë emër i vlefshëm klase modeli (p.sh. Customer ose
|
|
2159
2586
|
Admin::Report)
|
|
2587
|
+
name_taken: ekziston tashmë në këtë Grup lejesh
|
|
2160
2588
|
resource_field:
|
|
2161
2589
|
invalid_mask_strategy: nuk është strategji e vlefshme maskimi
|
|
2162
2590
|
mask_strategy_required: duhet të jetë e pranishme kur aksesi i maskimit është
|
|
2163
2591
|
i aktivizuar
|
|
2592
|
+
taken: është marrë tashmë
|
|
2164
2593
|
too_long: është shumë i gjatë (të shumtën %{count} karaktere)
|