xref: /plugin/deletepageguard/lang/en/lang.php (revision bacaf98395dfe5da6c87ae6ce4a6b1b35aa59a89)
1e39ccd63SJonny Dee<?php
2e39ccd63SJonny Dee/**
30da69785SJohann Duscher * English language file for the Delete Page Guard plugin.
40da69785SJohann Duscher *
50da69785SJohann Duscher * @license GPL 2 (https://www.gnu.org/licenses/gpl-2.0.html) - see LICENSE.md
60da69785SJohann Duscher * @author  Johann Duscher <jonny.dee@posteo.net>
70da69785SJohann Duscher * @copyright 2025 Johann Duscher
8e39ccd63SJonny Dee */
9e39ccd63SJonny Dee
10e39ccd63SJonny Dee$lang['deny_msg'] = 'Deleting this page is not allowed.';
110da69785SJohann Duscher
120da69785SJohann Duscher// Configuration Manager labels
130da69785SJohann Duscher$lang['patterns'] = 'Protected page patterns (one PCRE per line). Examples: ^users:[^:]+:start$';
140da69785SJohann Duscher$lang['match_target'] = 'Match against (page ID or file path)';
150da69785SJohann Duscher$lang['exempt_groups'] = 'Exempt groups (comma‑separated)';
160da69785SJohann Duscher$lang['trim_mode'] = 'Treat whitespace‑only pages as empty';
170da69785SJohann Duscher
181a97af9eSJohann Duscher// Pattern validation messages for administrators
191a97af9eSJohann Duscher$lang['pattern_redos_warning'] = 'Pattern "%s" may cause performance issues (potential ReDoS attack)';
201a97af9eSJohann Duscher$lang['pattern_too_long'] = 'Pattern "%s" is too long (maximum 1000 characters allowed)';
211a97af9eSJohann Duscher$lang['pattern_invalid_syntax'] = 'Pattern "%s" has invalid regex syntax: %s';
221a97af9eSJohann Duscher$lang['config_validation_errors'] = 'Some regex patterns in Delete Page Guard configuration have validation errors. Please check the configuration.';
231a97af9eSJohann Duscher
241a97af9eSJohann Duscher// Admin interface
251a97af9eSJohann Duscher$lang['menu'] = 'Delete Page Guard';
261a97af9eSJohann Duscher$lang['admin_title'] = 'Delete Page Guard - Pattern Validation';
271a97af9eSJohann Duscher$lang['test_patterns_title'] = 'Test Pattern Configuration';
281a97af9eSJohann Duscher$lang['test_patterns_help'] = 'Enter one regular expression pattern per line to validate them. This helps you test patterns before saving them to the configuration.';
291a97af9eSJohann Duscher$lang['validate_button'] = 'Validate Patterns';
301a97af9eSJohann Duscher$lang['validation_results_title'] = 'Validation Results';
311a97af9eSJohann Duscher$lang['validation_results'] = 'Pattern Validation Results';
321a97af9eSJohann Duscher$lang['no_patterns'] = 'No patterns to validate.';
331a97af9eSJohann Duscher$lang['all_patterns_valid'] = 'All %d patterns are valid!';
341a97af9eSJohann Duscher$lang['some_patterns_invalid'] = 'Some patterns have issues. Please fix them before using.';
351a97af9eSJohann Duscher
36*bacaf983SJohann Duscher// Pattern matching
37*bacaf983SJohann Duscher$lang['show_matches_button'] = 'Show Matching Pages';
38*bacaf983SJohann Duscher$lang['matching_pages_title'] = 'Pages Matching Patterns';
39*bacaf983SJohann Duscher$lang['no_valid_patterns'] = 'No valid patterns to test. Please fix validation errors first.';
40*bacaf983SJohann Duscher$lang['no_pages_found'] = 'No pages found in wiki.';
41*bacaf983SJohann Duscher$lang['no_matching_pages'] = 'No pages match the patterns (scanned %d pages).';
42*bacaf983SJohann Duscher$lang['found_matching_pages'] = 'Found %d protected pages out of %d total pages.';
43*bacaf983SJohann Duscher$lang['page_id'] = 'Page ID';
44*bacaf983SJohann Duscher$lang['match_target'] = 'Match Target';
45*bacaf983SJohann Duscher$lang['matched_pattern'] = 'Matched Pattern';
46*bacaf983SJohann Duscher
471a97af9eSJohann Duscher// Detailed error messages for admin interface
481a97af9eSJohann Duscher$lang['error_pattern_too_long'] = 'Pattern is too long (maximum 1000 characters allowed)';
491a97af9eSJohann Duscher$lang['error_pattern_redos'] = 'Pattern may cause performance issues (potential ReDoS attack)';
501a97af9eSJohann Duscher$lang['error_pattern_syntax'] = 'Invalid regular expression syntax';
511a97af9eSJohann Duscher
520da69785SJohann Duscher// Legacy configuration keys (for backward compatibility)
53e39ccd63SJonny Dee$lang['cfg_patterns'] = 'Protected page patterns (one per line, as PCRE)';
54e39ccd63SJonny Dee$lang['cfg_match_target'] = 'Match against';
55e39ccd63SJonny Dee$lang['cfg_match_target_o_id'] = 'Page ID (e.g. users:john:start)';
56e39ccd63SJonny Dee$lang['cfg_match_target_o_filepath'] = 'Relative file path (e.g. users/john/start.txt)';
57e39ccd63SJonny Dee$lang['cfg_exempt_groups'] = 'Extra groups allowed to delete (comma separated)';
58e39ccd63SJonny Dee$lang['cfg_trim_mode'] = 'Treat whitespace‑only pages as empty';