From df7ac31ec48f714244afb3ce70b042c2b8df2b57 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Fri, 21 Aug 2026 08:27:24 -0700 Subject: [PATCH 1/6] Allow admin to customize the Rule spage intro text Fixes and tweaks --- acp/boardrules_module.php | 5 ++ adm/style/boardrules_manage_rules.html | 22 +++++++ config/services.yml | 1 + controller/admin_controller.php | 61 ++++++++++++++++++- controller/admin_interface.php | 8 +++ controller/main_controller.php | 6 +- language/en/boardrules_acp.php | 4 ++ language/en/info_acp_boardrules.php | 1 + migrations/v30x/m18_ruleset_status.php | 1 + operators/ruleset.php | 54 ++++++++++++++-- operators/ruleset_interface.php | 19 ++++++ tests/controller/admin_controller_test.php | 55 +++++++++++++++++ tests/controller/main_controller_test.php | 6 ++ tests/functional/admin_controller_test.php | 38 ++++++++++++ .../functional/boardrules_controller_test.php | 43 +++++++++++++ tests/operators/ruleset_operator_test.php | 30 +++++++++ 16 files changed, 346 insertions(+), 8 deletions(-) diff --git a/acp/boardrules_module.php b/acp/boardrules_module.php index 48752f57..6130e62b 100644 --- a/acp/boardrules_module.php +++ b/acp/boardrules_module.php @@ -130,6 +130,11 @@ public function main($id, $mode) case 'draft': $admin_controller->set_ruleset_published($language, false, $return_to); break; + + case 'save_intro': + $admin_controller->save_ruleset_intro($language); + return; + break; } // Check if a language variable was submitted and display diff --git a/adm/style/boardrules_manage_rules.html b/adm/style/boardrules_manage_rules.html index 43a053b0..0ab56d3c 100644 --- a/adm/style/boardrules_manage_rules.html +++ b/adm/style/boardrules_manage_rules.html @@ -20,6 +20,28 @@

{{ lang('ACP_BOARDRULES_MANAGE') }}

+{% if S_RULESET_ROOT %} +
+
+ {{ lang('ACP_BOARDRULES_INTRO') }} +
+
+
+ {{ lang('ACP_BOARDRULES_INTRO_EXPLAIN', CURRENT_LANGUAGE) }} +
+
+ +
+
+

+ + +

+ {{ S_FORM_TOKEN }} +
+
+{% endif %} + {% if S_CAN_COPY_RULESET or S_RULESET_DRAFT or S_CAN_DRAFT_RULESET %}

{% if S_CAN_COPY_RULESET %} {{ lang('ACP_BOARDRULES_COPY_ACTION') }}{% endif %} diff --git a/config/services.yml b/config/services.yml index 8ca6b80c..334dd14f 100644 --- a/config/services.yml +++ b/config/services.yml @@ -22,6 +22,7 @@ services: - '@controller.helper' - '@dbal.conn' - '@language' + - '@language.loader' - '@log' - '@notification_manager' - '@request' diff --git a/controller/admin_controller.php b/controller/admin_controller.php index 2a618356..4638123e 100644 --- a/controller/admin_controller.php +++ b/controller/admin_controller.php @@ -32,6 +32,9 @@ class admin_controller implements admin_interface /** @var \phpbb\language\language */ protected $lang; + /** @var \phpbb\language\language_file_loader */ + protected $language_loader; + /** @var \phpbb\log\log */ protected $log; @@ -70,6 +73,7 @@ class admin_controller implements admin_interface * @param \phpbb\controller\helper $controller_helper Controller helper object * @param \phpbb\db\driver\driver_interface $db Database object * @param \phpbb\language\language $lang Language object + * @param \phpbb\language\language_file_loader $language_loader Language file loader * @param \phpbb\log\log $log Log object * @param \phpbb\notification\manager $notification_manager Notification manager * @param \phpbb\request\request $request Request object @@ -81,13 +85,14 @@ class admin_controller implements admin_interface * @param string $php_ext phpEx * @access public */ - public function __construct(\phpbb\config\config $config, ContainerInterface $container, \phpbb\controller\helper $controller_helper, \phpbb\db\driver\driver_interface $db, \phpbb\language\language $lang, \phpbb\log\log $log, \phpbb\notification\manager $notification_manager, \phpbb\request\request $request, \phpbb\boardrules\operators\rule $rule_operator, \phpbb\boardrules\operators\ruleset $ruleset_operator, \phpbb\template\template $template, \phpbb\user $user, $root_path, $php_ext) + public function __construct(\phpbb\config\config $config, ContainerInterface $container, \phpbb\controller\helper $controller_helper, \phpbb\db\driver\driver_interface $db, \phpbb\language\language $lang, \phpbb\language\language_file_loader $language_loader, \phpbb\log\log $log, \phpbb\notification\manager $notification_manager, \phpbb\request\request $request, \phpbb\boardrules\operators\rule $rule_operator, \phpbb\boardrules\operators\ruleset $ruleset_operator, \phpbb\template\template $template, \phpbb\user $user, $root_path, $php_ext) { $this->config = $config; $this->container = $container; $this->controller_helper = $controller_helper; $this->db = $db; $this->lang = $lang; + $this->language_loader = $language_loader; $this->log = $log; $this->notification_manager = $notification_manager; $this->request = $request; @@ -237,6 +242,9 @@ public function display_language_dashboard() */ public function display_rules($language, $parent_id = 0) { + add_form_key('boardrules_intro'); + $this->lang->add_lang('boardrules_controller', 'phpbb/boardrules'); + $languages = $this->assign_language_options($language); $current_language = $this->find_language($languages, $language); if ($current_language === null) @@ -302,6 +310,9 @@ public function display_rules($language, $parent_id = 0) 'U_COPY_RULESET' => "{$this->u_action}&action=copy&language={$language}", 'U_PUBLISH_RULESET' => "{$this->u_action}&action=publish&language={$language}", 'U_DRAFT_RULESET' => "{$this->u_action}&action=draft&language={$language}", + 'U_INTRO_ACTION' => "{$this->u_action}&action=save_intro&language={$language}&parent_id={$parent_id}", + 'BOARDRULES_INTRO_TEXT' => $this->ruleset_operator->get_intro_text($language), + 'BOARDRULES_INTRO_FALLBACK' => $this->get_intro_fallback($language), 'CURRENT_LANGUAGE' => $current_language['lang_local_name'], 'CURRENT_RULE_COUNT' => $current_language['rule_count'], 'S_RULESET_EMPTY' => $current_language['rule_count'] === 0, @@ -310,9 +321,57 @@ public function display_rules($language, $parent_id = 0) 'S_RULESET_DRAFT' => $current_language['rule_count'] > 0 && !$current_language['published'], 'S_CAN_DRAFT_RULESET' => $current_language['rule_count'] > 0 && $current_language['published'] && $language !== $this->config['default_lang'], 'S_CAN_COPY_RULESET' => $this->has_copy_source($languages, $language), + 'S_RULESET_ROOT' => $parent_id === 0, )); } + /** + * Get the translated built-in introduction for a selected ruleset language. + * + * @param string $language + * @return string + */ + protected function get_intro_fallback($language) + { + $lang = array(); + $locales = array_values(array_unique(array($language, $this->config['default_lang'], \phpbb\language\language::FALLBACK_LANGUAGE))); + $this->language_loader->load_extension('phpbb/boardrules', 'boardrules_controller', $locales, $lang); + $sitename = html_entity_decode($this->config['sitename'], ENT_QUOTES); + + return isset($lang['BOARDRULES_EXPLAIN']) + ? sprintf($lang['BOARDRULES_EXPLAIN'], $sitename) + : $this->lang->lang('BOARDRULES_EXPLAIN', $sitename); + } + + /** + * Save a language ruleset's custom introduction. + * + * @param string $language + * @return void + */ + public function save_ruleset_intro($language) + { + if (!check_form_key('boardrules_intro')) + { + trigger_error($this->lang->lang('FORM_INVALID') . adm_back_link($this->u_action), E_USER_WARNING); + } + + $intro_text = trim(html_entity_decode($this->request->variable('boardrules_intro_text', '', true), ENT_COMPAT)); + + try + { + $this->ruleset_operator->set_intro_text($language, $intro_text); + } + catch (\InvalidArgumentException $e) + { + trigger_error($this->lang->lang($e->getMessage()) . adm_back_link($this->u_action), E_USER_WARNING); + } + + $this->log->add('admin', $this->user->data['user_id'], $this->user->ip, 'ACP_BOARDRULES_INTRO_LOG', false, array($language)); + + trigger_error($this->lang->lang('ACP_BOARDRULES_INTRO_SAVED') . adm_back_link("{$this->u_action}&language={$language}")); + } + /** * Display and process the complete ruleset copy form. * diff --git a/controller/admin_interface.php b/controller/admin_interface.php index 7f73af2e..05004850 100644 --- a/controller/admin_interface.php +++ b/controller/admin_interface.php @@ -62,6 +62,14 @@ public function set_ruleset_published($language, $published, $return_to = ''); */ public function display_rules($language, $parent_id = 0); + /** + * Save a language ruleset's custom introduction. + * + * @param string $language + * @return void + */ + public function save_ruleset_intro($language); + /** * Add a rule * diff --git a/controller/main_controller.php b/controller/main_controller.php index 5a078130..2a30e8ed 100644 --- a/controller/main_controller.php +++ b/controller/main_controller.php @@ -94,12 +94,14 @@ public function display() // Grab all published rules in the current user's language $used_language = $this->lang->get_used_language(); + $display_language = $used_language; $entities = $this->ruleset_operator->is_published($used_language) ? $this->rule_operator->get_rules($used_language) : array(); // If no rules were found, it may be because no rules exist in the current user's // language, so let's look for rules in the board's default language as a fallback. if (empty($entities) && $used_language !== $this->config['default_lang'] && $this->ruleset_operator->is_published($this->config['default_lang'])) { + $display_language = $this->config['default_lang']; $entities = $this->rule_operator->get_rules($this->config['default_lang']); } @@ -174,13 +176,15 @@ public function display() } // Assign values to template vars for the rules page + $intro_text = (string) $this->ruleset_operator->get_intro_text($display_language); + $this->template->assign_vars(array( 'S_BOARD_RULES' => true, 'S_CATEGORIES' => $cat_counter > 1, 'S_LIST_UNORDERED' => $list_style === 'unordered', 'S_LIST_COMPOUND' => $list_style === 'compound', 'S_LIST_UNSTYLED' => $list_style === 'none', - 'BOARDRULES_EXPLAIN' => $this->lang->lang('BOARDRULES_EXPLAIN', $this->config['sitename']), + 'BOARDRULES_EXPLAIN' => $intro_text !== '' ? nl2br(utf8_htmlspecialchars($intro_text)) : $this->lang->lang('BOARDRULES_EXPLAIN', $this->config['sitename']), )); // Assign breadcrumb template vars for the rules page diff --git a/language/en/boardrules_acp.php b/language/en/boardrules_acp.php index 02eeef8e..e8ca68e1 100644 --- a/language/en/boardrules_acp.php +++ b/language/en/boardrules_acp.php @@ -63,6 +63,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Manage rules', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'From this page you can add, edit, delete and re-order categories and rules. A category is a group of related rules. Each category can have an unlimited number of rules.', + 'ACP_BOARDRULES_INTRO' => 'Rules page introduction', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Enter the introduction shown above the rules for users viewing the %s ruleset. Leave this empty to use the translated default shown as the placeholder.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Save introduction', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Rules page introduction saved.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Rule category', 'ACP_BOARDRULES_RULE' => 'Rule', diff --git a/language/en/info_acp_boardrules.php b/language/en/info_acp_boardrules.php index 0583940d..f19f1f5a 100644 --- a/language/en/info_acp_boardrules.php +++ b/language/en/info_acp_boardrules.php @@ -49,4 +49,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Copied board rules language set
» %1$s → %2$s (%3$d rules)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Published board rules language set
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Changed board rules language set to draft
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Changed board rules page introduction
» %s', )); diff --git a/migrations/v30x/m18_ruleset_status.php b/migrations/v30x/m18_ruleset_status.php index 623ba51d..82b3b1b3 100644 --- a/migrations/v30x/m18_ruleset_status.php +++ b/migrations/v30x/m18_ruleset_status.php @@ -33,6 +33,7 @@ public function update_schema() 'COLUMNS' => array( 'language_iso' => array('VCHAR:30', ''), 'rules_published' => array('BOOL', 1), + 'rules_intro_text' => array('TEXT_UNI', ''), ), 'PRIMARY_KEY' => 'language_iso', ), diff --git a/operators/ruleset.php b/operators/ruleset.php index c095e644..f8781368 100644 --- a/operators/ruleset.php +++ b/operators/ruleset.php @@ -194,6 +194,34 @@ public function is_published($language) return $published === false ? true : (bool) $published; } + /** + * {@inheritdoc} + */ + public function get_intro_text($language) + { + $sql = 'SELECT rules_intro_text + FROM ' . $this->rulesets_table . " + WHERE language_iso = '" . $this->db->sql_escape($language) . "'"; + $result = $this->db->sql_query_limit($sql, 1); + $intro_text = $this->db->sql_fetchfield('rules_intro_text'); + $this->db->sql_freeresult($result); + + return $intro_text === false ? '' : utf8_decode_ncr((string) $intro_text); + } + + /** + * {@inheritdoc} + */ + public function set_intro_text($language, $intro_text) + { + if (!$this->language_exists($language)) + { + throw new \InvalidArgumentException('ACP_BOARDRULES_INVALID_LANGUAGE'); + } + + $this->save_ruleset_value($language, 'rules_intro_text', utf8_encode_ucr((string) $intro_text)); + } + /** * {@inheritdoc} */ @@ -334,6 +362,19 @@ protected function get_rules_data($language) * @return void */ protected function save_published_state($language, $published) + { + $this->save_ruleset_value($language, 'rules_published', (int) $published); + } + + /** + * Save one language-level ruleset value without changing the others. + * + * @param string $language + * @param string $column + * @param mixed $value + * @return void + */ + protected function save_ruleset_value($language, $column, $value) { $sql = 'SELECT language_iso FROM ' . $this->rulesets_table . " @@ -342,19 +383,20 @@ protected function save_published_state($language, $published) $exists = (bool) $this->db->sql_fetchfield('language_iso'); $this->db->sql_freeresult($result); - $sql_data = array( - 'language_iso' => $language, - 'rules_published' => (int) $published, - ); - if ($exists) { $sql = 'UPDATE ' . $this->rulesets_table . ' - SET ' . $this->db->sql_build_array('UPDATE', array('rules_published' => (int) $published)) . " + SET ' . $this->db->sql_build_array('UPDATE', array($column => $value)) . " WHERE language_iso = '" . $this->db->sql_escape($language) . "'"; } else { + $sql_data = array( + 'language_iso' => $language, + 'rules_published' => 1, + 'rules_intro_text' => '', + ); + $sql_data[$column] = $value; $sql = 'INSERT INTO ' . $this->rulesets_table . ' ' . $this->db->sql_build_array('INSERT', $sql_data); } diff --git a/operators/ruleset_interface.php b/operators/ruleset_interface.php index 922c589d..dee30f03 100644 --- a/operators/ruleset_interface.php +++ b/operators/ruleset_interface.php @@ -39,6 +39,25 @@ public function copy($source_language, $target_language); */ public function is_published($language); + /** + * Get the custom introduction for a language ruleset. + * + * An empty value means the translated language string should be used. + * + * @param string $language + * @return string + */ + public function get_intro_text($language); + + /** + * Set the custom introduction for a language ruleset. + * + * @param string $language + * @param string $intro_text + * @return void + */ + public function set_intro_text($language, $intro_text); + /** * Set publication state for a populated language ruleset. * diff --git a/tests/controller/admin_controller_test.php b/tests/controller/admin_controller_test.php index 193e8f52..9dc882df 100644 --- a/tests/controller/admin_controller_test.php +++ b/tests/controller/admin_controller_test.php @@ -86,6 +86,7 @@ protected function setUp(): void 'boardrules_notification' => 4, 'boardrules.table_lock.boardrules_table' => 0, 'default_lang' => 'en', + 'sitename' => 'Test board', )); $phpbb_dispatcher = new \phpbb_mock_event_dispatcher(); $cache = new \phpbb_mock_cache(); @@ -103,6 +104,11 @@ protected function setUp(): void $language->set_default_language('en'); $language->set_user_language('en'); $language->add_lang('boardrules_acp', 'phpbb/boardrules'); + $language_loader = $this->createMock(\phpbb\language\language_file_loader::class); + $language_loader->method('load_extension') + ->willReturnCallback(function ($extension, $component, $locales, &$lang) { + $lang['BOARDRULES_EXPLAIN'] = 'Fallback for %s.'; + }); $user = new \phpbb\user($language, '\\phpbb\\datetime'); $user->data['user_id'] = 2; $user->data['user_options'] = 230271; @@ -163,6 +169,7 @@ protected function setUp(): void $helper, $this->db, $language, + $language_loader, $this->log, $this->notification_manager, $this->request, @@ -300,6 +307,18 @@ public function test_display_rules_uses_real_tree_and_skips_nested_children(): v self::assertSame('English', $this->assigned_vars['CURRENT_LANGUAGE']); self::assertSame(3, $this->assigned_vars['CURRENT_RULE_COUNT']); self::assertTrue($this->assigned_vars['S_DEFAULT_LANGUAGE']); + self::assertTrue($this->assigned_vars['S_RULESET_ROOT']); + self::assertSame('', $this->assigned_vars['BOARDRULES_INTRO_TEXT']); + self::assertSame('Fallback for Test board.', $this->assigned_vars['BOARDRULES_INTRO_FALLBACK']); + } + + public function test_display_rules_escapes_encoded_sitename_once(): void + { + $this->config->set('sitename', 'Extension "Development"'); + + $this->controller->display_rules('en'); + + self::assertSame('Fallback for Extension "Development".', $this->assigned_vars['BOARDRULES_INTRO_FALLBACK']); } public function test_display_rules_for_parent_builds_breadcrumb_and_direct_children(): void @@ -310,6 +329,42 @@ public function test_display_rules_for_parent_builds_breadcrumb_and_direct_child self::assertSame(array('Be kind', 'Stay on topic'), array_column($this->blocks['rules'], 'RULE_TITLE')); self::assertSame('General', $this->blocks['breadcrumb'][0]['RULE_TITLE']); self::assertTrue($this->blocks['breadcrumb'][0]['S_CURRENT_LEVEL']); + self::assertFalse($this->assigned_vars['S_RULESET_ROOT']); + } + + public function test_save_ruleset_intro_persists_and_logs(): void + { + $this->variables['boardrules_intro_text'] = ' Custom introduction. '; + $this->log->expects(self::once()) + ->method('add') + ->with('admin', 2, '127.0.0.1', 'ACP_BOARDRULES_INTRO_LOG', false, array('fr')); + $this->setExpectedTriggerError(E_USER_NOTICE, 'ACP_BOARDRULES_INTRO_SAVED'); + + $this->controller->save_ruleset_intro('fr'); + } + + public function test_save_empty_ruleset_intro_restores_fallback(): void + { + $this->ruleset_operator->set_intro_text('fr', 'Custom'); + $this->variables['boardrules_intro_text'] = ' '; + $this->setExpectedTriggerError(E_USER_NOTICE, 'ACP_BOARDRULES_INTRO_SAVED'); + + $this->controller->save_ruleset_intro('fr'); + } + + public function test_save_ruleset_intro_rejects_invalid_form(): void + { + admin_test_state::$valid_form = false; + $this->setExpectedTriggerError(E_USER_WARNING, 'The submitted form was invalid. Try submitting again.'); + + $this->controller->save_ruleset_intro('fr'); + } + + public function test_save_ruleset_intro_rejects_unknown_language(): void + { + $this->setExpectedTriggerError(E_USER_WARNING, 'ACP_BOARDRULES_INVALID_LANGUAGE'); + + $this->controller->save_ruleset_intro('xx'); } public function test_display_rules_rejects_unknown_language(): void diff --git a/tests/controller/main_controller_test.php b/tests/controller/main_controller_test.php index 8c32fdf2..ad01a9d9 100644 --- a/tests/controller/main_controller_test.php +++ b/tests/controller/main_controller_test.php @@ -104,6 +104,7 @@ public function test_display($status_code, $page_content, $rule_data, $language_ ->willReturnCallback(function ($language) use ($language_published) { return $language === 'fr' ? $language_published : true; }); + $ruleset_operator->method('get_intro_text')->willReturn('Custom & details'); // Mock the controller helper and return render response object $controller_helper = $this->getMockBuilder('\phpbb\controller\helper') @@ -118,6 +119,11 @@ public function test_display($status_code, $page_content, $rule_data, $language_ // Mock the template $template = $this->getMockBuilder('\phpbb\template\template') ->getMock(); + $template->expects(self::once()) + ->method('assign_vars') + ->with(self::callback(function ($vars) { + return $vars['BOARDRULES_EXPLAIN'] === 'Custom <intro> & details'; + })); /** @var \phpbb\controller\helper $controller_helper */ /** @var \phpbb\boardrules\operators\rule $rule_operator */ diff --git a/tests/functional/admin_controller_test.php b/tests/functional/admin_controller_test.php index 48592108..86cc4fc6 100644 --- a/tests/functional/admin_controller_test.php +++ b/tests/functional/admin_controller_test.php @@ -38,6 +38,44 @@ public function test_acp_module() return $crawler; } + /** + * Test the per-language rules page introduction editor and public output. + */ + public function test_acp_ruleset_intro() + { + $this->login(); + $this->admin_login(); + $this->get_db(); + + $intro_text = "Welcome to our community. 👋 مرحبًا こんにちは\nThis is plain text."; + $crawler = self::request('GET', "adm/index.php?i=\\phpbb\\boardrules\\acp\\boardrules_module&mode=manage&language=en&sid={$this->sid}"); + $form_node = $crawler->filter('#boardrules_intro_form'); + self::assertCount(1, $form_node); + self::assertSame('true', $form_node->attr('data-ajax')); + self::assertNotSame('', $form_node->filter('#boardrules_intro_text')->attr('placeholder')); + + try + { + $form = $form_node->selectButton($this->lang('ACP_BOARDRULES_INTRO_SAVE'))->form(array( + 'boardrules_intro_text' => $intro_text, + )); + $crawler = self::submit($form); + $this->assertContainsLang('ACP_BOARDRULES_INTRO_SAVED', $crawler->text()); + + $result = $this->db->sql_query("SELECT rules_intro_text FROM phpbb_boardrules_rulesets WHERE language_iso = 'en'"); + self::assertSame(utf8_encode_ucr($intro_text), $this->db->sql_fetchfield('rules_intro_text')); + $this->db->sql_freeresult($result); + + $crawler = self::request('GET', "adm/index.php?i=\\phpbb\\boardrules\\acp\\boardrules_module&mode=manage&language=en&sid={$this->sid}"); + self::assertSame($intro_text, $crawler->filter('#boardrules_intro_text')->text()); + + } + finally + { + $this->db->sql_query("UPDATE phpbb_boardrules_rulesets SET rules_intro_text = '' WHERE language_iso = 'en'"); + } + } + /** * Test Board Rules ACP Create Rule * @param $crawler \Symfony\Component\DomCrawler\Crawler diff --git a/tests/functional/boardrules_controller_test.php b/tests/functional/boardrules_controller_test.php index 911c6855..915892b4 100644 --- a/tests/functional/boardrules_controller_test.php +++ b/tests/functional/boardrules_controller_test.php @@ -29,6 +29,49 @@ public function test_boardrules_page() self::assertCount(1, $crawler->filter('ol.boardrules-rules > li > ol.br-list-style-lower-alpha')); } + public function test_custom_ruleset_intro() + { + $this->get_db(); + $intro_text = "Welcome to our community.\nThis is plain text."; + $result = $this->db->sql_query("SELECT rules_published, rules_intro_text FROM phpbb_boardrules_rulesets WHERE language_iso = 'en'"); + $original_ruleset = $this->db->sql_fetchrow($result); + $this->db->sql_freeresult($result); + + try + { + $sql = $original_ruleset + ? "UPDATE phpbb_boardrules_rulesets SET rules_intro_text = '" . $this->db->sql_escape($intro_text) . "' WHERE language_iso = 'en'" + : 'INSERT INTO phpbb_boardrules_rulesets ' . $this->db->sql_build_array('INSERT', array( + 'language_iso' => 'en', + 'rules_published' => 1, + 'rules_intro_text' => $intro_text, + )); + $this->db->sql_query($sql); + $this->purge_cache(); + + $crawler = self::request('GET', 'app.php/rules'); + $intro = $crawler->filter('#main p')->first(); + self::assertCount(1, $intro); + self::assertStringContainsString('Welcome to our community.', $intro->text()); + self::assertStringContainsString('This is plain text.', $intro->text()); + self::assertCount(0, $intro->filter('strong')); + self::assertStringContainsString('html()); + } + finally + { + if ($original_ruleset) + { + $sql = 'UPDATE phpbb_boardrules_rulesets SET ' . $this->db->sql_build_array('UPDATE', $original_ruleset) . " WHERE language_iso = 'en'"; + $this->db->sql_query($sql); + } + else + { + $this->db->sql_query("DELETE FROM phpbb_boardrules_rulesets WHERE language_iso = 'en'"); + } + $this->purge_cache(); + } + } + public function test_alternative_list_styles() { $this->get_db(); diff --git a/tests/operators/ruleset_operator_test.php b/tests/operators/ruleset_operator_test.php index d201a0c4..df2f30d1 100644 --- a/tests/operators/ruleset_operator_test.php +++ b/tests/operators/ruleset_operator_test.php @@ -162,6 +162,36 @@ public function test_publication_state_can_change(): void self::assertFalse($this->operator->is_published('fr')); } + public function test_ruleset_intro_defaults_to_empty_and_can_be_saved(): void + { + self::assertSame('', $this->operator->get_intro_text('en')); + + $this->operator->set_intro_text('en', 'Welcome to our rules. 👋'); + + self::assertSame('Welcome to our rules. 👋', $this->operator->get_intro_text('en')); + + $result = $this->db->sql_query("SELECT rules_intro_text FROM phpbb_boardrules_rulesets WHERE language_iso = 'en'"); + self::assertSame('Welcome to our rules. 👋', $this->db->sql_fetchfield('rules_intro_text')); + $this->db->sql_freeresult($result); + self::assertTrue($this->operator->is_published('en')); + } + + public function test_ruleset_intro_can_be_created_before_rules(): void + { + $this->operator->set_intro_text('fr', 'Bienvenue.'); + + self::assertSame('Bienvenue.', $this->operator->get_intro_text('fr')); + self::assertTrue($this->operator->is_published('fr')); + } + + public function test_unknown_ruleset_intro_language_is_rejected(): void + { + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('ACP_BOARDRULES_INVALID_LANGUAGE'); + + $this->operator->set_intro_text('xx', 'Unknown'); + } + public function test_empty_ruleset_cannot_be_published(): void { $this->expectException(\InvalidArgumentException::class); From ddb6f3576acfc976b84b2566ccf0759ea05102da Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Fri, 21 Aug 2026 15:46:42 -0700 Subject: [PATCH 2/6] Fixes --- acp/boardrules_module.php | 8 ++++---- migrations/v30x/m18_ruleset_status.php | 2 +- operators/ruleset.php | 2 +- tests/acp/boardrules_module_test.php | 14 ++++++++++++++ tests/functional/admin_controller_test.php | 2 +- tests/operators/ruleset_operator_test.php | 6 +++--- 6 files changed, 24 insertions(+), 10 deletions(-) diff --git a/acp/boardrules_module.php b/acp/boardrules_module.php index 6130e62b..d2399dc6 100644 --- a/acp/boardrules_module.php +++ b/acp/boardrules_module.php @@ -89,7 +89,7 @@ public function main($id, $mode) // Return to stop execution of this script return; - break; + // no break; case 'edit': // Set the page title for our ACP page @@ -100,7 +100,7 @@ public function main($id, $mode) // Return to stop execution of this script return; - break; + // no break; case 'move_down': // Move a rule down one position @@ -121,7 +121,7 @@ public function main($id, $mode) $this->page_title = 'ACP_BOARDRULES_COPY_RULESET'; $admin_controller->copy_ruleset($language, $return_to); return; - break; + // no break; case 'publish': $admin_controller->set_ruleset_published($language, true, $return_to); @@ -134,7 +134,7 @@ public function main($id, $mode) case 'save_intro': $admin_controller->save_ruleset_intro($language); return; - break; + // no break; } // Check if a language variable was submitted and display diff --git a/migrations/v30x/m18_ruleset_status.php b/migrations/v30x/m18_ruleset_status.php index 82b3b1b3..e0be345e 100644 --- a/migrations/v30x/m18_ruleset_status.php +++ b/migrations/v30x/m18_ruleset_status.php @@ -33,7 +33,7 @@ public function update_schema() 'COLUMNS' => array( 'language_iso' => array('VCHAR:30', ''), 'rules_published' => array('BOOL', 1), - 'rules_intro_text' => array('TEXT_UNI', ''), + 'rules_intro_text' => array('MTEXT_UNI', ''), ), 'PRIMARY_KEY' => 'language_iso', ), diff --git a/operators/ruleset.php b/operators/ruleset.php index f8781368..3ff02fe3 100644 --- a/operators/ruleset.php +++ b/operators/ruleset.php @@ -219,7 +219,7 @@ public function set_intro_text($language, $intro_text) throw new \InvalidArgumentException('ACP_BOARDRULES_INVALID_LANGUAGE'); } - $this->save_ruleset_value($language, 'rules_intro_text', utf8_encode_ucr((string) $intro_text)); + $this->save_ruleset_value($language, 'rules_intro_text', utf8_encode_ncr((string) $intro_text)); } /** diff --git a/tests/acp/boardrules_module_test.php b/tests/acp/boardrules_module_test.php index b950b499..3376501e 100644 --- a/tests/acp/boardrules_module_test.php +++ b/tests/acp/boardrules_module_test.php @@ -178,6 +178,20 @@ public function test_manage_mode_copy_action(): void $this->executeModeAndAssert('manage', self::TEMPLATE_MANAGE, 'ACP_BOARDRULES_COPY_RULESET'); } + public function test_manage_mode_save_intro_action(): void + { + $this->setupLanguageExpectation(); + $this->setupManageRequestVariables('save_intro', 'fr', 0, 0); + + $this->admin_controller->expects($this->once()) + ->method('save_ruleset_intro') + ->with('fr'); + $this->admin_controller->expects($this->never()) + ->method('display_rules'); + + $this->executeModeAndAssert('manage', self::TEMPLATE_MANAGE, 'ACP_BOARDRULES_MANAGE'); + } + /** * @dataProvider ruleset_status_data */ diff --git a/tests/functional/admin_controller_test.php b/tests/functional/admin_controller_test.php index 86cc4fc6..9bc0f908 100644 --- a/tests/functional/admin_controller_test.php +++ b/tests/functional/admin_controller_test.php @@ -63,7 +63,7 @@ public function test_acp_ruleset_intro() $this->assertContainsLang('ACP_BOARDRULES_INTRO_SAVED', $crawler->text()); $result = $this->db->sql_query("SELECT rules_intro_text FROM phpbb_boardrules_rulesets WHERE language_iso = 'en'"); - self::assertSame(utf8_encode_ucr($intro_text), $this->db->sql_fetchfield('rules_intro_text')); + self::assertSame(utf8_encode_ncr($intro_text), $this->db->sql_fetchfield('rules_intro_text')); $this->db->sql_freeresult($result); $crawler = self::request('GET', "adm/index.php?i=\\phpbb\\boardrules\\acp\\boardrules_module&mode=manage&language=en&sid={$this->sid}"); diff --git a/tests/operators/ruleset_operator_test.php b/tests/operators/ruleset_operator_test.php index df2f30d1..4c32cd51 100644 --- a/tests/operators/ruleset_operator_test.php +++ b/tests/operators/ruleset_operator_test.php @@ -166,12 +166,12 @@ public function test_ruleset_intro_defaults_to_empty_and_can_be_saved(): void { self::assertSame('', $this->operator->get_intro_text('en')); - $this->operator->set_intro_text('en', 'Welcome to our rules. 👋'); + $this->operator->set_intro_text('en', 'Welcome to our rules. 👋 مرحبًا こんにちは'); - self::assertSame('Welcome to our rules. 👋', $this->operator->get_intro_text('en')); + self::assertSame('Welcome to our rules. 👋 مرحبًا こんにちは', $this->operator->get_intro_text('en')); $result = $this->db->sql_query("SELECT rules_intro_text FROM phpbb_boardrules_rulesets WHERE language_iso = 'en'"); - self::assertSame('Welcome to our rules. 👋', $this->db->sql_fetchfield('rules_intro_text')); + self::assertSame('Welcome to our rules. 👋 مرحبًا こんにちは', $this->db->sql_fetchfield('rules_intro_text')); $this->db->sql_freeresult($result); self::assertTrue($this->operator->is_published('en')); } From 63f1a2a1a714361c328f6d181bc9facd813238cd Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Fri, 21 Aug 2026 15:54:27 -0700 Subject: [PATCH 3/6] Update translations --- language/ar/boardrules_acp.php | 4 ++++ language/ar/info_acp_boardrules.php | 1 + language/bg/boardrules_acp.php | 4 ++++ language/bg/info_acp_boardrules.php | 1 + language/cs/boardrules_acp.php | 4 ++++ language/cs/info_acp_boardrules.php | 1 + language/da/boardrules_acp.php | 4 ++++ language/da/info_acp_boardrules.php | 1 + language/de/boardrules_acp.php | 4 ++++ language/de/info_acp_boardrules.php | 1 + language/de_x_sie/boardrules_acp.php | 4 ++++ language/de_x_sie/info_acp_boardrules.php | 1 + language/el/boardrules_acp.php | 4 ++++ language/el/info_acp_boardrules.php | 1 + language/es/boardrules_acp.php | 4 ++++ language/es/info_acp_boardrules.php | 1 + language/et/boardrules_acp.php | 4 ++++ language/et/info_acp_boardrules.php | 1 + language/fi/boardrules_acp.php | 4 ++++ language/fi/info_acp_boardrules.php | 1 + language/fr/boardrules_acp.php | 4 ++++ language/fr/info_acp_boardrules.php | 1 + language/he/boardrules_acp.php | 4 ++++ language/he/info_acp_boardrules.php | 1 + language/hr/boardrules_acp.php | 4 ++++ language/hr/info_acp_boardrules.php | 1 + language/hu/boardrules_acp.php | 4 ++++ language/hu/info_acp_boardrules.php | 1 + language/it/boardrules_acp.php | 4 ++++ language/it/info_acp_boardrules.php | 1 + language/nb/boardrules_acp.php | 4 ++++ language/nb/info_acp_boardrules.php | 1 + language/nl/boardrules_acp.php | 4 ++++ language/nl/info_acp_boardrules.php | 1 + language/pl/boardrules_acp.php | 4 ++++ language/pl/info_acp_boardrules.php | 1 + language/pt/boardrules_acp.php | 4 ++++ language/pt/info_acp_boardrules.php | 1 + language/pt_br/boardrules_acp.php | 4 ++++ language/pt_br/info_acp_boardrules.php | 1 + language/pt_preao/boardrules_acp.php | 4 ++++ language/pt_preao/info_acp_boardrules.php | 1 + language/ro/boardrules_acp.php | 4 ++++ language/ro/info_acp_boardrules.php | 1 + language/ru/boardrules_acp.php | 4 ++++ language/ru/info_acp_boardrules.php | 1 + language/sk/boardrules_acp.php | 4 ++++ language/sk/info_acp_boardrules.php | 1 + language/sv/boardrules_acp.php | 4 ++++ language/sv/info_acp_boardrules.php | 1 + language/tr/boardrules_acp.php | 4 ++++ language/tr/info_acp_boardrules.php | 1 + language/uk/boardrules_acp.php | 4 ++++ language/uk/info_acp_boardrules.php | 1 + language/zh_cmn_hans/boardrules_acp.php | 4 ++++ language/zh_cmn_hans/info_acp_boardrules.php | 1 + 56 files changed, 140 insertions(+) diff --git a/language/ar/boardrules_acp.php b/language/ar/boardrules_acp.php index cac9d30e..2b97ff68 100644 --- a/language/ar/boardrules_acp.php +++ b/language/ar/boardrules_acp.php @@ -64,6 +64,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'إدارة القوانين', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'من هنا تستطيع إضافة, تعديل, حذف أو إعادة ترتيب الأقسام والقوانين. القسم عبارة عن مجموعة من القوانين التي لها علاقه بهذه القسم. يمكن إضافة عدد غير محدود من القوانين في كل قسم.', + 'ACP_BOARDRULES_INTRO' => 'مقدمة صفحة القوانين', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'أدخل المقدمة التي تظهر أعلى القوانين للمستخدمين الذين يشاهدون مجموعة قوانين %s. اترك هذا الحقل فارغًا لاستخدام النص الافتراضي المترجم الظاهر كعنصر نائب.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'حفظ المقدمة', + 'ACP_BOARDRULES_INTRO_SAVED' => 'تم حفظ مقدمة صفحة القوانين.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'القسم', 'ACP_BOARDRULES_RULE' => 'قانون', diff --git a/language/ar/info_acp_boardrules.php b/language/ar/info_acp_boardrules.php index 857189d1..29eff58c 100644 --- a/language/ar/info_acp_boardrules.php +++ b/language/ar/info_acp_boardrules.php @@ -50,4 +50,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'تم نسخ مجموعة قوانين المنتدى للغة
» %1$s → %2$s (%3$d قانون)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'تم نشر مجموعة قوانين المنتدى للغة
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'تم تحويل مجموعة قوانين المنتدى للغة إلى مسودة
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'تم تغيير مقدمة صفحة قوانين المنتدى
» %s', )); diff --git a/language/bg/boardrules_acp.php b/language/bg/boardrules_acp.php index 6344050a..b6da605c 100644 --- a/language/bg/boardrules_acp.php +++ b/language/bg/boardrules_acp.php @@ -63,6 +63,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Управлявай Правилата', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'На тази страница може да добавяте, променята, изтривате и ре-организирате категориите и правилата. Категорията е група от свързани правила. Всяка категория може да има неограничен брой правила.', + 'ACP_BOARDRULES_INTRO' => 'Въведение на страницата с правила', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Въведете въведението, което се показва над правилата за потребителите, разглеждащи набора от правила на %s. Оставете полето празно, за да използвате преведения текст по подразбиране, показан като подсказка.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Запази въведението', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Въведението на страницата с правила е запазено.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Категория на Правило', 'ACP_BOARDRULES_RULE' => 'Правило', diff --git a/language/bg/info_acp_boardrules.php b/language/bg/info_acp_boardrules.php index c9fed486..b860a864 100644 --- a/language/bg/info_acp_boardrules.php +++ b/language/bg/info_acp_boardrules.php @@ -49,4 +49,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Копиран езиков набор от правила на форума
» %1$s → %2$s (%3$d правила)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Публикуван езиков набор от правила на форума
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Езиковият набор от правила на форума е променен на чернова
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Променено въведение на страницата с правила
» %s', )); diff --git a/language/cs/boardrules_acp.php b/language/cs/boardrules_acp.php index abea30e3..afbad240 100644 --- a/language/cs/boardrules_acp.php +++ b/language/cs/boardrules_acp.php @@ -63,6 +63,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Spravovat pravidla', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Na této stránce můžeš přidávat, upravovat, mazat a reorganizovat kategorie a pravidla. Kategorie je skupina souvisejících pravidel. Každá kategorie může mít neomezený počet pravidel.', + 'ACP_BOARDRULES_INTRO' => 'Úvod stránky s pravidly', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Zadejte úvod zobrazený nad pravidly uživatelům, kteří si prohlížejí sadu pravidel %s. Ponechte pole prázdné, chcete-li použít přeložený výchozí text zobrazený jako zástupný text.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Uložit úvod', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Úvod stránky s pravidly byl uložen.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Kategorie pravidel', 'ACP_BOARDRULES_RULE' => 'Pravidlo', diff --git a/language/cs/info_acp_boardrules.php b/language/cs/info_acp_boardrules.php index c6bc0a93..de759932 100644 --- a/language/cs/info_acp_boardrules.php +++ b/language/cs/info_acp_boardrules.php @@ -49,4 +49,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Jazyková sada pravidel fóra zkopírována
» %1$s → %2$s (%3$d pravidel)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Jazyková sada pravidel fóra zveřejněna
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Jazyková sada pravidel fóra změněna na koncept
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Úvod stránky s pravidly změněn
» %s', )); diff --git a/language/da/boardrules_acp.php b/language/da/boardrules_acp.php index 19348b51..a12cc6e5 100644 --- a/language/da/boardrules_acp.php +++ b/language/da/boardrules_acp.php @@ -63,6 +63,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Håndter regler', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'På denne side kan du tilføje, redigere, slette og ændre på rækkefølgen af kategorier og regler. En kategori er en gruppe af relaterede regler. Hver kategori kan have et ubegrænset antal regler.', + 'ACP_BOARDRULES_INTRO' => 'Introduktion til regelsiden', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Indtast introduktionen, der vises over reglerne for brugere, som ser regelsættet %s. Lad feltet være tomt for at bruge den oversatte standardtekst, der vises som pladsholder.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Gem introduktion', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Introduktionen til regelsiden blev gemt.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Regelkategori', 'ACP_BOARDRULES_RULE' => 'Regel', diff --git a/language/da/info_acp_boardrules.php b/language/da/info_acp_boardrules.php index ae9c9f5f..eedd3c57 100644 --- a/language/da/info_acp_boardrules.php +++ b/language/da/info_acp_boardrules.php @@ -49,4 +49,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Sprogsæt med boardregler kopieret
» %1$s → %2$s (%3$d regler)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Sprogsæt med boardregler udgivet
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Sprogsæt med boardregler ændret til kladde
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Introduktionen til regelsiden blev ændret
» %s', )); diff --git a/language/de/boardrules_acp.php b/language/de/boardrules_acp.php index de9fcb1a..02d43ca4 100644 --- a/language/de/boardrules_acp.php +++ b/language/de/boardrules_acp.php @@ -64,6 +64,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Regeln verwalten', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Hier kannst du Kategorien und Regeln hinzufügen, ändern und löschen. Kategorien sind Regelblöcke mit ähnlichen Regeln. Jede Kategorie kann unendlich viele Regeln enthalten.', + 'ACP_BOARDRULES_INTRO' => 'Einleitung der Regelseite', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Gib die Einleitung ein, die Benutzern oberhalb der Regeln für den Regelsatz %s angezeigt wird. Lasse das Feld leer, um den übersetzten Standardtext zu verwenden, der als Platzhalter angezeigt wird.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Einleitung speichern', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Einleitung der Regelseite gespeichert.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Wählen Sie eine Sprache für Ihre Boardregeln. Die Benutzer sehen die Regeln, die Sie für ihre bevorzugte Sprache erstellen. Wenn Sie keine Regeln in der bevorzugten Sprache erstellen, sehen die Benutzer die Regeln, die in der Standardsprache des Forums erstellt wurden.', 'ACP_BOARDRULES_CATEGORY' => 'Regel-Kategorie', 'ACP_BOARDRULES_RULE' => 'Regel', diff --git a/language/de/info_acp_boardrules.php b/language/de/info_acp_boardrules.php index 21a08969..144ed1ec 100644 --- a/language/de/info_acp_boardrules.php +++ b/language/de/info_acp_boardrules.php @@ -50,4 +50,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Sprachregelsatz der Board-Regeln kopiert
» %1$s → %2$s (%3$d Regeln)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Sprachregelsatz der Board-Regeln veröffentlicht
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Sprachregelsatz der Board-Regeln auf Entwurf gesetzt
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Einleitung der Regelseite geändert
» %s', )); diff --git a/language/de_x_sie/boardrules_acp.php b/language/de_x_sie/boardrules_acp.php index ac3a94d6..7b54e6a8 100644 --- a/language/de_x_sie/boardrules_acp.php +++ b/language/de_x_sie/boardrules_acp.php @@ -64,6 +64,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Regeln verwalten', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Hier können Sie Kategorien und Regeln hinzufügen, ändern und löschen. Kategorien sind Regelblöcke mit ähnlichen Regeln. Jede Kategorie kann unendlich viele Regeln enthalten.', + 'ACP_BOARDRULES_INTRO' => 'Einleitung der Regelseite', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Geben Sie die Einleitung ein, die Benutzern oberhalb der Regeln für den Regelsatz %s angezeigt wird. Lassen Sie das Feld leer, um den übersetzten Standardtext zu verwenden, der als Platzhalter angezeigt wird.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Einleitung speichern', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Einleitung der Regelseite gespeichert.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Wählen Sie eine Sprache für Ihre Boardregeln. Die Benutzer sehen die Regeln, die Sie für ihre bevorzugte Sprache erstellen. Wenn Sie keine Regeln in der bevorzugten Sprache erstellen, sehen die Benutzer die Regeln, die in der Standardsprache des Forums erstellt wurden.', 'ACP_BOARDRULES_CATEGORY' => 'Regel-Kategorie', 'ACP_BOARDRULES_RULE' => 'Regel', diff --git a/language/de_x_sie/info_acp_boardrules.php b/language/de_x_sie/info_acp_boardrules.php index 5a5c8014..741c8f16 100644 --- a/language/de_x_sie/info_acp_boardrules.php +++ b/language/de_x_sie/info_acp_boardrules.php @@ -50,4 +50,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Sprachregelsatz der Board-Regeln kopiert
» %1$s → %2$s (%3$d Regeln)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Sprachregelsatz der Board-Regeln veröffentlicht
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Sprachregelsatz der Board-Regeln auf Entwurf gesetzt
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Einleitung der Regelseite geändert
» %s', )); diff --git a/language/el/boardrules_acp.php b/language/el/boardrules_acp.php index c7267663..395dbe9b 100644 --- a/language/el/boardrules_acp.php +++ b/language/el/boardrules_acp.php @@ -64,6 +64,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Διαχείριση Όρων Συμμετοχής', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Από εδώ μπορείτε να προσθέσετε, επεξεργαστείτε, διαγράψετε και να αναδιατάξετε κατηγορίες και όρους. Μια κατηγορία είναι μια ομάδα σχετικών όρων. Κάθε κατηγορία μπορεί να περιέχει απεριόριστο αριθμό όρων.', + 'ACP_BOARDRULES_INTRO' => 'Εισαγωγή σελίδας όρων', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Εισαγάγετε το κείμενο που εμφανίζεται πάνω από τους όρους για τους χρήστες που βλέπουν το σύνολο όρων %s. Αφήστε το πεδίο κενό για να χρησιμοποιηθεί το μεταφρασμένο προεπιλεγμένο κείμενο που εμφανίζεται ως υπόδειξη.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Αποθήκευση εισαγωγής', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Η εισαγωγή της σελίδας όρων αποθηκεύτηκε.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Κατηγορία όρων', 'ACP_BOARDRULES_RULE' => 'Όρος', diff --git a/language/el/info_acp_boardrules.php b/language/el/info_acp_boardrules.php index ce2e0e6d..960b3fd5 100644 --- a/language/el/info_acp_boardrules.php +++ b/language/el/info_acp_boardrules.php @@ -50,4 +50,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Το γλωσσικό σύνολο όρων συμμετοχής αντιγράφηκε
» %1$s → %2$s (%3$d κανόνες)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Το γλωσσικό σύνολο όρων συμμετοχής δημοσιεύτηκε
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Το γλωσσικό σύνολο όρων συμμετοχής άλλαξε σε πρόχειρο
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Η εισαγωγή της σελίδας όρων άλλαξε
» %s', )); diff --git a/language/es/boardrules_acp.php b/language/es/boardrules_acp.php index c16ec734..09f963e8 100644 --- a/language/es/boardrules_acp.php +++ b/language/es/boardrules_acp.php @@ -64,6 +64,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Gestionar Normas', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Desde esta página puede añadir, editar, borrar y re-ordenar categorías y normas. Una categoría es un grupo de normas relacionadas. Cada categoría puede tener un número ilimitado de normas.', + 'ACP_BOARDRULES_INTRO' => 'Introducción de la página de normas', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Introduzca el texto que se muestra sobre las normas a los usuarios que consultan el conjunto de normas %s. Deje este campo vacío para usar el texto predeterminado traducido que aparece como marcador de posición.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Guardar introducción', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Se ha guardado la introducción de la página de normas.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Categoría de Norma', 'ACP_BOARDRULES_RULE' => 'Norma', diff --git a/language/es/info_acp_boardrules.php b/language/es/info_acp_boardrules.php index 75992420..1937d9f0 100644 --- a/language/es/info_acp_boardrules.php +++ b/language/es/info_acp_boardrules.php @@ -50,4 +50,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Conjunto de normas del foro del idioma copiado
» %1$s → %2$s (%3$d normas)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Conjunto de normas del foro del idioma publicado
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Conjunto de normas del foro del idioma cambiado a borrador
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Introducción de la página de normas modificada
» %s', )); diff --git a/language/et/boardrules_acp.php b/language/et/boardrules_acp.php index 367cedc1..4a12537c 100644 --- a/language/et/boardrules_acp.php +++ b/language/et/boardrules_acp.php @@ -64,6 +64,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Halda reegleid', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Siin lehel saad lisada, muuta, kustutada ja muuta järjestust reeglitel. Kategooria on grupp, seotud reeglitega. Igal kategoorial võib olla piiramatu arv reegleid.', + 'ACP_BOARDRULES_INTRO' => 'Reeglite lehe sissejuhatus', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Sisesta sissejuhatus, mida näidatakse reeglite kohal kasutajatele, kes vaatavad reeglistikku %s. Jäta väli tühjaks, et kasutada kohatäitena kuvatavat tõlgitud vaiketeksti.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Salvesta sissejuhatus', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Reeglite lehe sissejuhatus salvestati.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Reegli kategooria', 'ACP_BOARDRULES_RULE' => 'Reegel', diff --git a/language/et/info_acp_boardrules.php b/language/et/info_acp_boardrules.php index 89b80b74..339204f6 100644 --- a/language/et/info_acp_boardrules.php +++ b/language/et/info_acp_boardrules.php @@ -50,4 +50,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Foorumi reeglite keelekomplekt kopeeritud
» %1$s → %2$s (%3$d reeglit)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Foorumi reeglite keelekomplekt avaldatud
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Foorumi reeglite keelekomplekt muudeti mustandiks
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Reeglite lehe sissejuhatust muudeti
» %s', )); diff --git a/language/fi/boardrules_acp.php b/language/fi/boardrules_acp.php index b18d5626..d3282457 100644 --- a/language/fi/boardrules_acp.php +++ b/language/fi/boardrules_acp.php @@ -63,6 +63,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Muokkaa sääntöjä', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Tällä sivulla voit lisätä, muokata, poistaa ja järjestää uudelleen kategorioita ja sääntöjä. Kategoria on joukko toisiinsa liittyviä sääntöjä. Jokaisella kategorialla voi olla rajoittamaton määrä sääntöjä.', + 'ACP_BOARDRULES_INTRO' => 'Sääntösivun johdanto', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Kirjoita johdanto, joka näytetään sääntöjen yläpuolella käyttäjille, jotka tarkastelevat sääntökokonaisuutta %s. Jätä kenttä tyhjäksi käyttääksesi paikkamerkkinä näkyvää käännettyä oletustekstiä.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Tallenna johdanto', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Sääntösivun johdanto tallennettu.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Valitse sääntöjen kieli. Käyttäjät näkevät heidän haluamalleen kielelle luomasi säännöt. Jos et luo sääntöjä halutulla kielellä, käyttäjät näkevät säännöt, jotka on luotu laudan oletuskielellä.', 'ACP_BOARDRULES_CATEGORY' => 'Sääntö kategoria', 'ACP_BOARDRULES_RULE' => 'Sääntö', diff --git a/language/fi/info_acp_boardrules.php b/language/fi/info_acp_boardrules.php index a0906bfa..dbf98d44 100644 --- a/language/fi/info_acp_boardrules.php +++ b/language/fi/info_acp_boardrules.php @@ -49,4 +49,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Foorumin sääntöjen kielikohtainen sääntökokonaisuus kopioitu
» %1$s → %2$s (%3$d sääntöä)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Foorumin sääntöjen kielikohtainen sääntökokonaisuus julkaistu
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Foorumin sääntöjen kielikohtainen sääntökokonaisuus muutettu luonnokseksi
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Sääntösivun johdanto muutettu
» %s', )); diff --git a/language/fr/boardrules_acp.php b/language/fr/boardrules_acp.php index e485c16a..7d9da92e 100644 --- a/language/fr/boardrules_acp.php +++ b/language/fr/boardrules_acp.php @@ -64,6 +64,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Gestion des règles', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Depuis cette page vous pouvez ajouter, modifier, supprimer et réordonner les catégories et les règles. Une catégorie est un ensemble de règles connexes. Chaque catégorie peut contenir un nombre illimité de règles.', + 'ACP_BOARDRULES_INTRO' => 'Introduction de la page des règles', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Saisissez l’introduction affichée au-dessus des règles pour les utilisateurs consultant l’ensemble de règles %s. Laissez ce champ vide pour utiliser le texte traduit par défaut affiché comme texte indicatif.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Enregistrer l’introduction', + 'ACP_BOARDRULES_INTRO_SAVED' => 'L’introduction de la page des règles a été enregistrée.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Catégorie des règles', 'ACP_BOARDRULES_RULE' => 'Règle', diff --git a/language/fr/info_acp_boardrules.php b/language/fr/info_acp_boardrules.php index dd15fabe..1109bdb7 100644 --- a/language/fr/info_acp_boardrules.php +++ b/language/fr/info_acp_boardrules.php @@ -50,4 +50,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Ensemble de règles du forum de la langue copié
» %1$s → %2$s (%3$d règles)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Ensemble de règles du forum de la langue publié
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Ensemble de règles du forum de la langue défini comme brouillon
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Introduction de la page des règles modifiée
» %s', )); diff --git a/language/he/boardrules_acp.php b/language/he/boardrules_acp.php index a139df26..1cb73f4e 100644 --- a/language/he/boardrules_acp.php +++ b/language/he/boardrules_acp.php @@ -63,6 +63,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'נהל חוקים', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'בעמוד זה אתה יכול לשנות חוקים וקטגוריות. קטגוריה היא אוסף של חוקים קשורים. בכל קטגוריה יכול להיות מספר לא מוגבל של חוקים.', + 'ACP_BOARDRULES_INTRO' => 'מבוא לדף החוקים', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'הזן את המבוא שיוצג מעל החוקים למשתמשים הצופים בערכת החוקים %s. השאר שדה זה ריק כדי להשתמש בטקסט ברירת המחדל המתורגם שמוצג כמציין מקום.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'שמור מבוא', + 'ACP_BOARDRULES_INTRO_SAVED' => 'המבוא לדף החוקים נשמר.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'קטגורית חוקים', 'ACP_BOARDRULES_RULE' => 'חוק', diff --git a/language/he/info_acp_boardrules.php b/language/he/info_acp_boardrules.php index 6fdf9cb2..9ffa43ea 100644 --- a/language/he/info_acp_boardrules.php +++ b/language/he/info_acp_boardrules.php @@ -49,4 +49,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'מערכת חוקי הפורום של השפה הועתקה
» %1$s → %2$s (%3$d חוקים)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'מערכת חוקי הפורום של השפה פורסמה
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'מערכת חוקי הפורום של השפה שונתה לטיוטה
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'המבוא לדף חוקי הפורום שונה
» %s', )); diff --git a/language/hr/boardrules_acp.php b/language/hr/boardrules_acp.php index edb29295..ef38614f 100644 --- a/language/hr/boardrules_acp.php +++ b/language/hr/boardrules_acp.php @@ -64,6 +64,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Upravljanje pravilima', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Ovdje možeš dod(av)ati, uređivati, izbrisivati i reorganizirati kategorije i pravila.
Kategorija je grupa povezanih pravila. Svaka kategorija može imati neograničen broj pravila.', + 'ACP_BOARDRULES_INTRO' => 'Uvod stranice s pravilima', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Unesite uvod koji se prikazuje iznad pravila korisnicima koji pregledavaju skup pravila %s. Ostavite polje prazno za uporabu prevedenog zadanog teksta prikazanog kao rezervirano mjesto.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Spremi uvod', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Uvod stranice s pravilima je spremljen.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Pravilo kategorije', 'ACP_BOARDRULES_RULE' => 'Pravilo', diff --git a/language/hr/info_acp_boardrules.php b/language/hr/info_acp_boardrules.php index 1db24c94..27787eb4 100644 --- a/language/hr/info_acp_boardrules.php +++ b/language/hr/info_acp_boardrules.php @@ -50,4 +50,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Kopiran jezični skup forumskih pravila
» %1$s → %2$s (%3$d pravila)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Objavljen jezični skup forumskih pravila
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Jezični skup forumskih pravila promijenjen u skicu
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Promijenjen uvod stranice s pravilima
» %s', )); diff --git a/language/hu/boardrules_acp.php b/language/hu/boardrules_acp.php index 4dabf87c..17435768 100644 --- a/language/hu/boardrules_acp.php +++ b/language/hu/boardrules_acp.php @@ -63,6 +63,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Szabályzat kezelése', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Ezen az oldalon hozzáadhat, szerkeszthet, törölhet és módosíthat kategóriákat és szabályzatokat. A kategória a kapcsolódó szabályzatok egy csoportja. Minden kategória korlátlan számú szabályzatot tartalmazhat.', + 'ACP_BOARDRULES_INTRO' => 'A szabályzat oldalának bevezetője', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Adja meg a %s szabálykészletet megtekintő felhasználóknak a szabályok felett megjelenő bevezetőt. Hagyja üresen ezt a mezőt a helyőrzőként megjelenő lefordított alapértelmezett szöveg használatához.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Bevezető mentése', + 'ACP_BOARDRULES_INTRO_SAVED' => 'A szabályzat oldalának bevezetője mentve.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Szabályzat kategória', 'ACP_BOARDRULES_RULE' => 'Szabályzat', diff --git a/language/hu/info_acp_boardrules.php b/language/hu/info_acp_boardrules.php index b1e2cb5c..2cce817a 100644 --- a/language/hu/info_acp_boardrules.php +++ b/language/hu/info_acp_boardrules.php @@ -49,4 +49,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Fórumszabályzat nyelvi szabálykészlete másolva
» %1$s → %2$s (%3$d szabály)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Fórumszabályzat nyelvi szabálykészlete közzétéve
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Fórumszabályzat nyelvi szabálykészlete piszkozatra állítva
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'A szabályzat oldalának bevezetője módosítva
» %s', )); diff --git a/language/it/boardrules_acp.php b/language/it/boardrules_acp.php index c263a3e8..bcf6d2c7 100644 --- a/language/it/boardrules_acp.php +++ b/language/it/boardrules_acp.php @@ -64,6 +64,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Gestisci Regole', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Da questa pagina è possibile aggiungere, modificare, eliminare e riordinare le categorie e le regole. Una categoria è un gruppo di regole correlate. Ogni categoria può avere un numero illimitato di regole.', + 'ACP_BOARDRULES_INTRO' => 'Introduzione alla pagina delle regole', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Inserisci l’introduzione mostrata sopra le regole agli utenti che visualizzano il set di regole %s. Lascia vuoto questo campo per usare il testo predefinito tradotto mostrato come segnaposto.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Salva introduzione', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Introduzione alla pagina delle regole salvata.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Categoria Regola', 'ACP_BOARDRULES_RULE' => 'Regola', diff --git a/language/it/info_acp_boardrules.php b/language/it/info_acp_boardrules.php index 9281b4f7..cb13b319 100644 --- a/language/it/info_acp_boardrules.php +++ b/language/it/info_acp_boardrules.php @@ -50,4 +50,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Set di regole del forum della lingua copiato
» %1$s → %2$s (%3$d regole)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Set di regole del forum della lingua pubblicato
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Set di regole del forum della lingua impostato come bozza
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Introduzione alla pagina delle regole modificata
» %s', )); diff --git a/language/nb/boardrules_acp.php b/language/nb/boardrules_acp.php index 463a1b95..c3cd6995 100644 --- a/language/nb/boardrules_acp.php +++ b/language/nb/boardrules_acp.php @@ -64,6 +64,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Behandle regler', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'På denne siden kan du opprette, oppdatere, slette og omorganisere kategorier og regler. En kategori er en gruppe av lignende regler. Hver kategori kan inneholde et ubegrenset antall regler.', + 'ACP_BOARDRULES_INTRO' => 'Introduksjon til regelsiden', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Skriv inn introduksjonen som vises over reglene for brukere som ser regelsettet %s. La feltet stå tomt for å bruke den oversatte standardteksten som vises som plassholder.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Lagre introduksjon', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Introduksjonen til regelsiden ble lagret.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Regelkategori', 'ACP_BOARDRULES_RULE' => 'Regel', diff --git a/language/nb/info_acp_boardrules.php b/language/nb/info_acp_boardrules.php index 1261cb77..83fb3815 100644 --- a/language/nb/info_acp_boardrules.php +++ b/language/nb/info_acp_boardrules.php @@ -50,4 +50,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Språksett med forumregler kopiert
» %1$s → %2$s (%3$d regler)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Språksett med forumregler publisert
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Språksett med forumregler endret til utkast
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Introduksjonen til regelsiden ble endret
» %s', )); diff --git a/language/nl/boardrules_acp.php b/language/nl/boardrules_acp.php index 23a3e3ca..5e1be639 100644 --- a/language/nl/boardrules_acp.php +++ b/language/nl/boardrules_acp.php @@ -64,6 +64,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Beheer regels', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Op deze pagina kan je regels en categorieën toevoegen, wijzigen, verwijderen en rangschikken. Een categorie is een groep gerelateerde regels. Elke categorie kan een onbeperkt aantal regels bevatten.', + 'ACP_BOARDRULES_INTRO' => 'Inleiding van de regelspagina', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Voer de inleiding in die boven de regels wordt getoond aan gebruikers die de regelset %s bekijken. Laat dit veld leeg om de vertaalde standaardtekst te gebruiken die als tijdelijke aanduiding wordt weergegeven.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Inleiding opslaan', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Inleiding van de regelspagina opgeslagen.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Regelcategorie', 'ACP_BOARDRULES_RULE' => 'Regel', diff --git a/language/nl/info_acp_boardrules.php b/language/nl/info_acp_boardrules.php index cc4ab9f3..58d53b13 100644 --- a/language/nl/info_acp_boardrules.php +++ b/language/nl/info_acp_boardrules.php @@ -50,4 +50,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Taalregelset voor forumregels gekopieerd
» %1$s → %2$s (%3$d regels)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Taalregelset voor forumregels gepubliceerd
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Taalregelset voor forumregels gewijzigd naar concept
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Inleiding van de regelspagina gewijzigd
» %s', )); diff --git a/language/pl/boardrules_acp.php b/language/pl/boardrules_acp.php index fd5cbf8c..a33eb928 100644 --- a/language/pl/boardrules_acp.php +++ b/language/pl/boardrules_acp.php @@ -64,6 +64,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Zarządzanie przepisami', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Z tej strony można dodać, zmienić, usunąć albo zmienić kolejność rozdziałów i przepisów. Rozdział jest grupą powiązanych przepisów. Każdy rozdział może składać się z nieograniczonej liczby przepisów.', + 'ACP_BOARDRULES_INTRO' => 'Wprowadzenie na stronie regulaminu', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Wprowadź tekst wyświetlany nad przepisami użytkownikom przeglądającym zestaw przepisów %s. Pozostaw to pole puste, aby użyć przetłumaczonego tekstu domyślnego wyświetlanego jako tekst zastępczy.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Zapisz wprowadzenie', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Wprowadzenie na stronie regulaminu zostało zapisane.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Rozdział regulaminu', 'ACP_BOARDRULES_RULE' => 'Przepis', diff --git a/language/pl/info_acp_boardrules.php b/language/pl/info_acp_boardrules.php index a59bdac4..b3658a15 100644 --- a/language/pl/info_acp_boardrules.php +++ b/language/pl/info_acp_boardrules.php @@ -50,4 +50,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Skopiowano zestaw językowy regulaminu witryny
» %1$s → %2$s (%3$d przepisów)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Opublikowano zestaw językowy regulaminu witryny
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Zmieniono zestaw językowy regulaminu witryny na szkic
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Zmieniono wprowadzenie na stronie regulaminu
» %s', )); diff --git a/language/pt/boardrules_acp.php b/language/pt/boardrules_acp.php index 918256dc..9f0ceb02 100644 --- a/language/pt/boardrules_acp.php +++ b/language/pt/boardrules_acp.php @@ -64,6 +64,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Gerir regras', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Nesta página pode adicionar, editar, apagar e reordenar as categorias e regras. A categoria é um conjunto de regras inter-relacionadas. Cada categoria pode ter um número ilimitado de regras.', + 'ACP_BOARDRULES_INTRO' => 'Introdução da página de regras', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Introduza o texto apresentado acima das regras aos utilizadores que consultam o conjunto de regras %s. Deixe este campo vazio para utilizar o texto predefinido traduzido apresentado como marcador de posição.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Guardar introdução', + 'ACP_BOARDRULES_INTRO_SAVED' => 'A introdução da página de regras foi guardada.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Categoria de regras', 'ACP_BOARDRULES_RULE' => 'Regra', diff --git a/language/pt/info_acp_boardrules.php b/language/pt/info_acp_boardrules.php index deab1841..87a3a758 100644 --- a/language/pt/info_acp_boardrules.php +++ b/language/pt/info_acp_boardrules.php @@ -50,4 +50,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Conjunto de regras do fórum do idioma copiado
» %1$s → %2$s (%3$d regras)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Conjunto de regras do fórum do idioma publicado
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Conjunto de regras do fórum do idioma alterado para rascunho
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Introdução da página de regras alterada
» %s', )); diff --git a/language/pt_br/boardrules_acp.php b/language/pt_br/boardrules_acp.php index 9bb71aa3..366c5ac6 100644 --- a/language/pt_br/boardrules_acp.php +++ b/language/pt_br/boardrules_acp.php @@ -64,6 +64,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Gerenciar regras', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Nesta página adicione, edite, apage e reordene as categorias e regras. A categoria é um conjunto de regras inter-relacionadas. Cada categoria pode ter um número ilimitado de regras.', + 'ACP_BOARDRULES_INTRO' => 'Introdução da página de regras', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Digite a introdução exibida acima das regras para os usuários que visualizam o conjunto de regras %s. Deixe este campo vazio para usar o texto padrão traduzido exibido como espaço reservado.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Salvar introdução', + 'ACP_BOARDRULES_INTRO_SAVED' => 'A introdução da página de regras foi salva.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Categoria de regras', 'ACP_BOARDRULES_RULE' => 'Regra', diff --git a/language/pt_br/info_acp_boardrules.php b/language/pt_br/info_acp_boardrules.php index 9619e316..9403a62a 100644 --- a/language/pt_br/info_acp_boardrules.php +++ b/language/pt_br/info_acp_boardrules.php @@ -50,4 +50,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Conjunto de regras do fórum do idioma copiado
» %1$s → %2$s (%3$d regras)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Conjunto de regras do fórum do idioma publicado
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Conjunto de regras do fórum do idioma alterado para rascunho
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Introdução da página de regras alterada
» %s', )); diff --git a/language/pt_preao/boardrules_acp.php b/language/pt_preao/boardrules_acp.php index e7af3f7d..1eeab3d4 100644 --- a/language/pt_preao/boardrules_acp.php +++ b/language/pt_preao/boardrules_acp.php @@ -64,6 +64,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Gerir regras', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Nesta página pode adicionar, editar, apagar e reordenar as categorias e regras. A categoria é um conjunto de regras inter-relacionadas. Cada categoria pode ter um número ilimitado de regras.', + 'ACP_BOARDRULES_INTRO' => 'Introdução da página de regras', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Introduza o texto apresentado acima das regras aos utilizadores que consultam o conjunto de regras %s. Deixe este campo vazio para utilizar o texto predefinido traduzido apresentado como marcador de posição.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Guardar introdução', + 'ACP_BOARDRULES_INTRO_SAVED' => 'A introdução da página de regras foi guardada.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Categoria de regras', 'ACP_BOARDRULES_RULE' => 'Regra', diff --git a/language/pt_preao/info_acp_boardrules.php b/language/pt_preao/info_acp_boardrules.php index deab1841..87a3a758 100644 --- a/language/pt_preao/info_acp_boardrules.php +++ b/language/pt_preao/info_acp_boardrules.php @@ -50,4 +50,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Conjunto de regras do fórum do idioma copiado
» %1$s → %2$s (%3$d regras)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Conjunto de regras do fórum do idioma publicado
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Conjunto de regras do fórum do idioma alterado para rascunho
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Introdução da página de regras alterada
» %s', )); diff --git a/language/ro/boardrules_acp.php b/language/ro/boardrules_acp.php index c69b8d7a..3ffaf0a4 100644 --- a/language/ro/boardrules_acp.php +++ b/language/ro/boardrules_acp.php @@ -63,6 +63,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Editeza Reguli', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'De aici poti edita ,adauga si sterge regurile impuse de tine, le poti pune pe categorii ele fiind nelimitate', + 'ACP_BOARDRULES_INTRO' => 'Introducerea paginii cu reguli', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Introduceți textul afișat deasupra regulilor pentru utilizatorii care consultă setul de reguli %s. Lăsați acest câmp necompletat pentru a utiliza textul implicit tradus afișat ca substituent.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Salvează introducerea', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Introducerea paginii cu reguli a fost salvată.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Caterorie Regula', 'ACP_BOARDRULES_RULE' => 'Regula', diff --git a/language/ro/info_acp_boardrules.php b/language/ro/info_acp_boardrules.php index ffc642d4..051a92bf 100644 --- a/language/ro/info_acp_boardrules.php +++ b/language/ro/info_acp_boardrules.php @@ -49,4 +49,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Setul de reguli al limbii a fost copiat
» %1$s → %2$s (%3$d reguli)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Setul de reguli al limbii a fost publicat
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Setul de reguli al limbii a fost schimbat în ciornă
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Introducerea paginii cu reguli a fost modificată
» %s', )); diff --git a/language/ru/boardrules_acp.php b/language/ru/boardrules_acp.php index 2ffd4a29..b8dc93dd 100644 --- a/language/ru/boardrules_acp.php +++ b/language/ru/boardrules_acp.php @@ -63,6 +63,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Редактирование правил', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'С помощью этой страницы вы можете добавлять, редактировать, удалять и менять порядок правил и категорий. Категория — набор связанных правил. В каждой категории может быть неограниченное количество правил.', + 'ACP_BOARDRULES_INTRO' => 'Введение на странице правил', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Введите текст, отображаемый над правилами для пользователей, просматривающих набор правил %s. Оставьте поле пустым, чтобы использовать переведённый текст по умолчанию, показанный в качестве заполнителя.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Сохранить введение', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Введение на странице правил сохранено.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Категория правил', 'ACP_BOARDRULES_RULE' => 'Правило', diff --git a/language/ru/info_acp_boardrules.php b/language/ru/info_acp_boardrules.php index 75bc8c2e..10a2370a 100644 --- a/language/ru/info_acp_boardrules.php +++ b/language/ru/info_acp_boardrules.php @@ -49,4 +49,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Скопирован языковой набор правил форума
» %1$s → %2$s (%3$d правил)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Опубликован языковой набор правил форума
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Языковой набор правил форума переведён в черновик
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Изменено введение на странице правил
» %s', )); diff --git a/language/sk/boardrules_acp.php b/language/sk/boardrules_acp.php index 6ef317c1..5e8f8e0a 100644 --- a/language/sk/boardrules_acp.php +++ b/language/sk/boardrules_acp.php @@ -63,6 +63,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Spravovať pravidlá', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Na tejto stránke môžeš pridávať, upravovať, mazať a reorganizovať kategórie a pravidlá. Kategória je skupina spoločných/súvisiacich pravidel. Každá kategória môže mať neobmedzený počet pravidiel.', + 'ACP_BOARDRULES_INTRO' => 'Úvod stránky s pravidlami', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Zadajte úvod zobrazený nad pravidlami používateľom, ktorí si prezerajú sadu pravidiel %s. Ponechajte pole prázdne, ak chcete použiť preložený predvolený text zobrazený ako zástupný text.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Uložiť úvod', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Úvod stránky s pravidlami bol uložený.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Kategória pravidiel', 'ACP_BOARDRULES_RULE' => 'Pravidlo', diff --git a/language/sk/info_acp_boardrules.php b/language/sk/info_acp_boardrules.php index e91002c4..e37921b1 100644 --- a/language/sk/info_acp_boardrules.php +++ b/language/sk/info_acp_boardrules.php @@ -49,4 +49,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Jazyková sada pravidiel fóra skopírovaná
» %1$s → %2$s (%3$d pravidiel)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Jazyková sada pravidiel fóra zverejnená
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Jazyková sada pravidiel fóra zmenená na koncept
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Úvod stránky s pravidlami zmenený
» %s', )); diff --git a/language/sv/boardrules_acp.php b/language/sv/boardrules_acp.php index 4ab35941..e4032a34 100644 --- a/language/sv/boardrules_acp.php +++ b/language/sv/boardrules_acp.php @@ -64,6 +64,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Hantera reglerna', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'På denna sidan kan du skapa, uppdatera, radera och omorganisera kategorier och regler. En kategori är en grupp av liknande regler. Varja kategori kan innehålla ett obegränsat antal regler.', + 'ACP_BOARDRULES_INTRO' => 'Introduktion till regelsidan', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Ange introduktionen som visas ovanför reglerna för användare som visar regeluppsättningen %s. Lämna fältet tomt för att använda den översatta standardtexten som visas som platshållare.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Spara introduktion', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Introduktionen till regelsidan har sparats.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', 'ACP_BOARDRULES_CATEGORY' => 'Regelkategori', 'ACP_BOARDRULES_RULE' => 'Regel', diff --git a/language/sv/info_acp_boardrules.php b/language/sv/info_acp_boardrules.php index a8ca2959..d84cc122 100644 --- a/language/sv/info_acp_boardrules.php +++ b/language/sv/info_acp_boardrules.php @@ -50,4 +50,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Språkuppsättning med forumregler kopierad
» %1$s → %2$s (%3$d regler)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Språkuppsättning med forumregler publicerad
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Språkuppsättning med forumregler ändrad till utkast
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Introduktionen till regelsidan ändrad
» %s', )); diff --git a/language/tr/boardrules_acp.php b/language/tr/boardrules_acp.php index 9757d7c4..54d25c01 100644 --- a/language/tr/boardrules_acp.php +++ b/language/tr/boardrules_acp.php @@ -64,6 +64,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Kuralları yönet', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Bu sayfadan kurallar ve kategoriler ekleyebilir, düzenleyebilir, silebilir ve yeniden sıralayabilirsiniz. Kategori, kurallar ile bağlantılı olan bir gruptur. Her kategori sınırsız sayıda mesaja sahip olabilir.', + 'ACP_BOARDRULES_INTRO' => 'Kurallar sayfası giriş metni', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => '%s kural kümesini görüntüleyen kullanıcılara kuralların üzerinde gösterilecek giriş metnini girin. Yer tutucu olarak gösterilen çevrilmiş varsayılan metni kullanmak için bu alanı boş bırakın.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Giriş metnini kaydet', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Kurallar sayfası giriş metni kaydedildi.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Mesaj Panosu kurallarınız için bir dil seçin. Kullanıcılar, tercih ettikleri dil için oluşturduğunuz kuralları göreceklerdir. Eğer kullanıcıların tercih ettikleri dilde herhangi bir kural oluşturmazsanız, o zaman kullanıcılar mesaj panosunun varsayılan dili kullanılarak oluşturulan kuralları görürler.', 'ACP_BOARDRULES_CATEGORY' => 'Kural kategorisi', 'ACP_BOARDRULES_RULE' => 'Kural', diff --git a/language/tr/info_acp_boardrules.php b/language/tr/info_acp_boardrules.php index 1a706973..275996db 100644 --- a/language/tr/info_acp_boardrules.php +++ b/language/tr/info_acp_boardrules.php @@ -50,4 +50,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Mesaj panosu kuralları dil kümesi kopyalandı
» %1$s → %2$s (%3$d kural)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Mesaj panosu kuralları dil kümesi yayınlandı
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Mesaj panosu kuralları dil kümesi taslak olarak değiştirildi
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Kurallar sayfası giriş metni değiştirildi
» %s', )); diff --git a/language/uk/boardrules_acp.php b/language/uk/boardrules_acp.php index 2021691d..7e2ef095 100644 --- a/language/uk/boardrules_acp.php +++ b/language/uk/boardrules_acp.php @@ -63,6 +63,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => 'Редагування правил', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'За допомогою цієї сторінки ви можете додавати, редагувати, видаляти та змінювати порядок правил та категорій. Категорія - набір пов\'язаних правил. У кожній категорії може бути необмежена кількість правил.', + 'ACP_BOARDRULES_INTRO' => 'Вступ на сторінці правил', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Введіть текст, який відображатиметься над правилами для користувачів, що переглядають набір правил %s. Залиште поле порожнім, щоб використати перекладений типовий текст, показаний як заповнювач.', + 'ACP_BOARDRULES_INTRO_SAVE' => 'Зберегти вступ', + 'ACP_BOARDRULES_INTRO_SAVED' => 'Вступ на сторінці правил збережено.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Виберіть мову для правил форуму. Користувачі побачать створені вами правила для їхньої мови. Якщо ви не створите жодних правил мовою, яку використовують користувачі, то вони побачать правила, створені з використанням мови форуму за замовчуванням.', 'ACP_BOARDRULES_CATEGORY' => 'Категорія правил', 'ACP_BOARDRULES_RULE' => 'Правило', diff --git a/language/uk/info_acp_boardrules.php b/language/uk/info_acp_boardrules.php index 8b5618ed..d76d367f 100644 --- a/language/uk/info_acp_boardrules.php +++ b/language/uk/info_acp_boardrules.php @@ -49,4 +49,5 @@ 'ACP_BOARDRULES_COPY_LOG' => 'Скопійовано мовний набір правил форуму
» %1$s → %2$s (%3$d правил)', 'ACP_BOARDRULES_PUBLISH_LOG' => 'Опубліковано мовний набір правил форуму
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => 'Мовний набір правил форуму переведено в чернетку
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => 'Змінено вступ на сторінці правил
» %s', )); diff --git a/language/zh_cmn_hans/boardrules_acp.php b/language/zh_cmn_hans/boardrules_acp.php index e1e727df..de9ac5e9 100644 --- a/language/zh_cmn_hans/boardrules_acp.php +++ b/language/zh_cmn_hans/boardrules_acp.php @@ -63,6 +63,10 @@ // Manage page 'ACP_BOARDRULES_MANAGE' => '管理章程', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => '在此页,您可以增加,编辑,删除或重新排序分类和章程。一个分类包含一组章程。分类内可以包含无限条章程。', + 'ACP_BOARDRULES_INTRO' => '章程页面介绍', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => '输入显示在章程上方的介绍,供查看 %s 章程集的用户阅读。留空此字段可使用占位符中显示的已翻译默认文本。', + 'ACP_BOARDRULES_INTRO_SAVE' => '保存介绍', + 'ACP_BOARDRULES_INTRO_SAVED' => '章程页面介绍已保存。', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => '给你的论坛章程选择一个语言。用户会看到您用他们的首选语言所创建的论坛章程。如果您没有用他们的首选语言创建论坛章程,那么他们看到的就是以论坛的默认语言写的章程。', 'ACP_BOARDRULES_CATEGORY' => '章程分类', 'ACP_BOARDRULES_RULE' => '章程', diff --git a/language/zh_cmn_hans/info_acp_boardrules.php b/language/zh_cmn_hans/info_acp_boardrules.php index 360f6a11..1c1f57e0 100644 --- a/language/zh_cmn_hans/info_acp_boardrules.php +++ b/language/zh_cmn_hans/info_acp_boardrules.php @@ -49,4 +49,5 @@ 'ACP_BOARDRULES_COPY_LOG' => '已复制论坛章程语言集
» %1$s → %2$s(%3$d 条章程)', 'ACP_BOARDRULES_PUBLISH_LOG' => '已发布论坛章程语言集
» %s', 'ACP_BOARDRULES_DRAFT_LOG' => '已将论坛章程语言集改为草稿
» %s', + 'ACP_BOARDRULES_INTRO_LOG' => '已更改论坛章程页面介绍
» %s', )); From 9bc3d5f82b93a9e185d06f5e3a229193479c5d38 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Fri, 21 Aug 2026 16:14:29 -0700 Subject: [PATCH 4/6] Fix form key collisions --- adm/style/boardrules_manage_rules.html | 4 ++-- controller/admin_controller.php | 3 ++- tests/controller/admin_controller_test.php | 5 +++++ tests/controller/admin_test_helpers.php | 5 ++++- tests/functional/admin_controller_test.php | 4 ++++ 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/adm/style/boardrules_manage_rules.html b/adm/style/boardrules_manage_rules.html index 0ab56d3c..8e61d49d 100644 --- a/adm/style/boardrules_manage_rules.html +++ b/adm/style/boardrules_manage_rules.html @@ -37,7 +37,7 @@

{{ lang('ACP_BOARDRULES_MANAGE') }}

- {{ S_FORM_TOKEN }} + {{ S_FORM_TOKEN_INTRO }} {% endif %} @@ -125,6 +125,6 @@

{{ lang(S_DEFAULT_LANGUAGE ? 'ACP_BOARDRULES_STATUS_NO_RULES' : 'ACP_BOARDRU - {{ S_FORM_TOKEN }} + {{ S_FORM_TOKEN_ADD_RULE }} diff --git a/controller/admin_controller.php b/controller/admin_controller.php index 4638123e..9ba50cb4 100644 --- a/controller/admin_controller.php +++ b/controller/admin_controller.php @@ -242,7 +242,8 @@ public function display_language_dashboard() */ public function display_rules($language, $parent_id = 0) { - add_form_key('boardrules_intro'); + add_form_key('boardrules_intro', '_INTRO'); + add_form_key('add_edit_rule', '_ADD_RULE'); $this->lang->add_lang('boardrules_controller', 'phpbb/boardrules'); $languages = $this->assign_language_options($language); diff --git a/tests/controller/admin_controller_test.php b/tests/controller/admin_controller_test.php index 9dc882df..e3f437ad 100644 --- a/tests/controller/admin_controller_test.php +++ b/tests/controller/admin_controller_test.php @@ -310,6 +310,11 @@ public function test_display_rules_uses_real_tree_and_skips_nested_children(): v self::assertTrue($this->assigned_vars['S_RULESET_ROOT']); self::assertSame('', $this->assigned_vars['BOARDRULES_INTRO_TEXT']); self::assertSame('Fallback for Test board.', $this->assigned_vars['BOARDRULES_INTRO_FALLBACK']); + self::assertSame(array('boardrules_intro', 'add_edit_rule'), admin_test_state::$form_keys); + self::assertSame(array( + 'boardrules_intro' => '_INTRO', + 'add_edit_rule' => '_ADD_RULE', + ), admin_test_state::$form_key_suffixes); } public function test_display_rules_escapes_encoded_sitename_once(): void diff --git a/tests/controller/admin_test_helpers.php b/tests/controller/admin_test_helpers.php index 2a2f4580..3420c30f 100644 --- a/tests/controller/admin_test_helpers.php +++ b/tests/controller/admin_test_helpers.php @@ -8,6 +8,7 @@ class admin_test_state public static $confirm = true; public static $valid_link_hash = true; public static $form_keys = array(); + public static $form_key_suffixes = array(); public static $confirmations = array(); public static $redirects = array(); public static $custom_bbcodes_displayed = 0; @@ -18,15 +19,17 @@ public static function reset(): void self::$confirm = true; self::$valid_link_hash = true; self::$form_keys = array(); + self::$form_key_suffixes = array(); self::$confirmations = array(); self::$redirects = array(); self::$custom_bbcodes_displayed = 0; } } -function add_form_key($name) +function add_form_key($name, $template_variable_suffix = '') { admin_test_state::$form_keys[] = $name; + admin_test_state::$form_key_suffixes[$name] = $template_variable_suffix; } function check_form_key($name) diff --git a/tests/functional/admin_controller_test.php b/tests/functional/admin_controller_test.php index 9bc0f908..6ca3050a 100644 --- a/tests/functional/admin_controller_test.php +++ b/tests/functional/admin_controller_test.php @@ -53,6 +53,10 @@ public function test_acp_ruleset_intro() self::assertCount(1, $form_node); self::assertSame('true', $form_node->attr('data-ajax')); self::assertNotSame('', $form_node->filter('#boardrules_intro_text')->attr('placeholder')); + self::assertNotSame( + $form_node->filter('input[name="form_token"]')->attr('value'), + $crawler->filter('#rules input[name="form_token"]')->attr('value') + ); try { From 68b0a18cae490774c2df3a4f3913d17bbd59dd1d Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Fri, 21 Aug 2026 16:27:28 -0700 Subject: [PATCH 5/6] Clean up language of intro text explanation --- language/ar/boardrules_acp.php | 2 +- language/bg/boardrules_acp.php | 2 +- language/cs/boardrules_acp.php | 2 +- language/da/boardrules_acp.php | 2 +- language/de/boardrules_acp.php | 2 +- language/de_x_sie/boardrules_acp.php | 2 +- language/el/boardrules_acp.php | 2 +- language/en/boardrules_acp.php | 2 +- language/es/boardrules_acp.php | 2 +- language/et/boardrules_acp.php | 2 +- language/fi/boardrules_acp.php | 2 +- language/fr/boardrules_acp.php | 2 +- language/he/boardrules_acp.php | 2 +- language/hr/boardrules_acp.php | 2 +- language/hu/boardrules_acp.php | 2 +- language/it/boardrules_acp.php | 2 +- language/nb/boardrules_acp.php | 2 +- language/nl/boardrules_acp.php | 2 +- language/pl/boardrules_acp.php | 2 +- language/pt/boardrules_acp.php | 2 +- language/pt_br/boardrules_acp.php | 2 +- language/pt_preao/boardrules_acp.php | 2 +- language/ro/boardrules_acp.php | 2 +- language/ru/boardrules_acp.php | 2 +- language/sk/boardrules_acp.php | 2 +- language/sv/boardrules_acp.php | 2 +- language/tr/boardrules_acp.php | 2 +- language/uk/boardrules_acp.php | 2 +- language/zh_cmn_hans/boardrules_acp.php | 2 +- 29 files changed, 29 insertions(+), 29 deletions(-) diff --git a/language/ar/boardrules_acp.php b/language/ar/boardrules_acp.php index 2b97ff68..978abcf1 100644 --- a/language/ar/boardrules_acp.php +++ b/language/ar/boardrules_acp.php @@ -65,7 +65,7 @@ 'ACP_BOARDRULES_MANAGE' => 'إدارة القوانين', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'من هنا تستطيع إضافة, تعديل, حذف أو إعادة ترتيب الأقسام والقوانين. القسم عبارة عن مجموعة من القوانين التي لها علاقه بهذه القسم. يمكن إضافة عدد غير محدود من القوانين في كل قسم.', 'ACP_BOARDRULES_INTRO' => 'مقدمة صفحة القوانين', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'أدخل المقدمة التي تظهر أعلى القوانين للمستخدمين الذين يشاهدون مجموعة قوانين %s. اترك هذا الحقل فارغًا لاستخدام النص الافتراضي المترجم الظاهر كعنصر نائب.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'خصص المقدمة التي تظهر للمستخدمين الذين يشاهدون صفحة قوانين %s. اترك هذا الحقل فارغًا لاستخدام المقدمة الافتراضية الظاهرة كنص نائب.', 'ACP_BOARDRULES_INTRO_SAVE' => 'حفظ المقدمة', 'ACP_BOARDRULES_INTRO_SAVED' => 'تم حفظ مقدمة صفحة القوانين.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/bg/boardrules_acp.php b/language/bg/boardrules_acp.php index b6da605c..3911d774 100644 --- a/language/bg/boardrules_acp.php +++ b/language/bg/boardrules_acp.php @@ -64,7 +64,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Управлявай Правилата', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'На тази страница може да добавяте, променята, изтривате и ре-организирате категориите и правилата. Категорията е група от свързани правила. Всяка категория може да има неограничен брой правила.', 'ACP_BOARDRULES_INTRO' => 'Въведение на страницата с правила', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Въведете въведението, което се показва над правилата за потребителите, разглеждащи набора от правила на %s. Оставете полето празно, за да използвате преведения текст по подразбиране, показан като подсказка.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Персонализирайте въведението, показвано на потребителите на страницата с правила %s. Оставете това поле празно, за да използвате въведението по подразбиране, показано като подсказка.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Запази въведението', 'ACP_BOARDRULES_INTRO_SAVED' => 'Въведението на страницата с правила е запазено.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/cs/boardrules_acp.php b/language/cs/boardrules_acp.php index afbad240..1af91fcc 100644 --- a/language/cs/boardrules_acp.php +++ b/language/cs/boardrules_acp.php @@ -64,7 +64,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Spravovat pravidla', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Na této stránce můžeš přidávat, upravovat, mazat a reorganizovat kategorie a pravidla. Kategorie je skupina souvisejících pravidel. Každá kategorie může mít neomezený počet pravidel.', 'ACP_BOARDRULES_INTRO' => 'Úvod stránky s pravidly', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Zadejte úvod zobrazený nad pravidly uživatelům, kteří si prohlížejí sadu pravidel %s. Ponechte pole prázdné, chcete-li použít přeložený výchozí text zobrazený jako zástupný text.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Upravte úvod zobrazený uživatelům stránky pravidel %s. Ponechte toto pole prázdné, chcete-li použít výchozí úvod zobrazený jako zástupný text.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Uložit úvod', 'ACP_BOARDRULES_INTRO_SAVED' => 'Úvod stránky s pravidly byl uložen.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/da/boardrules_acp.php b/language/da/boardrules_acp.php index a12cc6e5..c501b7bc 100644 --- a/language/da/boardrules_acp.php +++ b/language/da/boardrules_acp.php @@ -64,7 +64,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Håndter regler', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'På denne side kan du tilføje, redigere, slette og ændre på rækkefølgen af kategorier og regler. En kategori er en gruppe af relaterede regler. Hver kategori kan have et ubegrænset antal regler.', 'ACP_BOARDRULES_INTRO' => 'Introduktion til regelsiden', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Indtast introduktionen, der vises over reglerne for brugere, som ser regelsættet %s. Lad feltet være tomt for at bruge den oversatte standardtekst, der vises som pladsholder.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Tilpas introduktionen, der vises til brugere af regelsiden %s. Lad dette felt være tomt for at bruge standardintroduktionen, der vises som pladsholdertekst.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Gem introduktion', 'ACP_BOARDRULES_INTRO_SAVED' => 'Introduktionen til regelsiden blev gemt.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/de/boardrules_acp.php b/language/de/boardrules_acp.php index 02d43ca4..ca839a08 100644 --- a/language/de/boardrules_acp.php +++ b/language/de/boardrules_acp.php @@ -65,7 +65,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Regeln verwalten', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Hier kannst du Kategorien und Regeln hinzufügen, ändern und löschen. Kategorien sind Regelblöcke mit ähnlichen Regeln. Jede Kategorie kann unendlich viele Regeln enthalten.', 'ACP_BOARDRULES_INTRO' => 'Einleitung der Regelseite', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Gib die Einleitung ein, die Benutzern oberhalb der Regeln für den Regelsatz %s angezeigt wird. Lasse das Feld leer, um den übersetzten Standardtext zu verwenden, der als Platzhalter angezeigt wird.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Passe die Einleitung an, die Benutzern auf der Regelseite %s angezeigt wird. Lasse dieses Feld leer, um die als Platzhalter angezeigte Standardeinleitung zu verwenden.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Einleitung speichern', 'ACP_BOARDRULES_INTRO_SAVED' => 'Einleitung der Regelseite gespeichert.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Wählen Sie eine Sprache für Ihre Boardregeln. Die Benutzer sehen die Regeln, die Sie für ihre bevorzugte Sprache erstellen. Wenn Sie keine Regeln in der bevorzugten Sprache erstellen, sehen die Benutzer die Regeln, die in der Standardsprache des Forums erstellt wurden.', diff --git a/language/de_x_sie/boardrules_acp.php b/language/de_x_sie/boardrules_acp.php index 7b54e6a8..6ca36525 100644 --- a/language/de_x_sie/boardrules_acp.php +++ b/language/de_x_sie/boardrules_acp.php @@ -65,7 +65,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Regeln verwalten', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Hier können Sie Kategorien und Regeln hinzufügen, ändern und löschen. Kategorien sind Regelblöcke mit ähnlichen Regeln. Jede Kategorie kann unendlich viele Regeln enthalten.', 'ACP_BOARDRULES_INTRO' => 'Einleitung der Regelseite', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Geben Sie die Einleitung ein, die Benutzern oberhalb der Regeln für den Regelsatz %s angezeigt wird. Lassen Sie das Feld leer, um den übersetzten Standardtext zu verwenden, der als Platzhalter angezeigt wird.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Passen Sie die Einleitung an, die Benutzern auf der Regelseite %s angezeigt wird. Lassen Sie dieses Feld leer, um die als Platzhalter angezeigte Standardeinleitung zu verwenden.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Einleitung speichern', 'ACP_BOARDRULES_INTRO_SAVED' => 'Einleitung der Regelseite gespeichert.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Wählen Sie eine Sprache für Ihre Boardregeln. Die Benutzer sehen die Regeln, die Sie für ihre bevorzugte Sprache erstellen. Wenn Sie keine Regeln in der bevorzugten Sprache erstellen, sehen die Benutzer die Regeln, die in der Standardsprache des Forums erstellt wurden.', diff --git a/language/el/boardrules_acp.php b/language/el/boardrules_acp.php index 395dbe9b..80fc70ce 100644 --- a/language/el/boardrules_acp.php +++ b/language/el/boardrules_acp.php @@ -65,7 +65,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Διαχείριση Όρων Συμμετοχής', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Από εδώ μπορείτε να προσθέσετε, επεξεργαστείτε, διαγράψετε και να αναδιατάξετε κατηγορίες και όρους. Μια κατηγορία είναι μια ομάδα σχετικών όρων. Κάθε κατηγορία μπορεί να περιέχει απεριόριστο αριθμό όρων.', 'ACP_BOARDRULES_INTRO' => 'Εισαγωγή σελίδας όρων', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Εισαγάγετε το κείμενο που εμφανίζεται πάνω από τους όρους για τους χρήστες που βλέπουν το σύνολο όρων %s. Αφήστε το πεδίο κενό για να χρησιμοποιηθεί το μεταφρασμένο προεπιλεγμένο κείμενο που εμφανίζεται ως υπόδειξη.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Προσαρμόστε την εισαγωγή που εμφανίζεται στους χρήστες της σελίδας όρων %s. Αφήστε αυτό το πεδίο κενό για να χρησιμοποιήσετε την προεπιλεγμένη εισαγωγή που εμφανίζεται ως κείμενο υπόδειξης.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Αποθήκευση εισαγωγής', 'ACP_BOARDRULES_INTRO_SAVED' => 'Η εισαγωγή της σελίδας όρων αποθηκεύτηκε.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/en/boardrules_acp.php b/language/en/boardrules_acp.php index e8ca68e1..c7508240 100644 --- a/language/en/boardrules_acp.php +++ b/language/en/boardrules_acp.php @@ -64,7 +64,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Manage rules', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'From this page you can add, edit, delete and re-order categories and rules. A category is a group of related rules. Each category can have an unlimited number of rules.', 'ACP_BOARDRULES_INTRO' => 'Rules page introduction', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Enter the introduction shown above the rules for users viewing the %s ruleset. Leave this empty to use the translated default shown as the placeholder.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Customise the introduction shown to users viewing the %s rules page. Leave this field empty to use the default introduction shown as placeholder text.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Save introduction', 'ACP_BOARDRULES_INTRO_SAVED' => 'Rules page introduction saved.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/es/boardrules_acp.php b/language/es/boardrules_acp.php index 09f963e8..6710fe12 100644 --- a/language/es/boardrules_acp.php +++ b/language/es/boardrules_acp.php @@ -65,7 +65,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Gestionar Normas', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Desde esta página puede añadir, editar, borrar y re-ordenar categorías y normas. Una categoría es un grupo de normas relacionadas. Cada categoría puede tener un número ilimitado de normas.', 'ACP_BOARDRULES_INTRO' => 'Introducción de la página de normas', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Introduzca el texto que se muestra sobre las normas a los usuarios que consultan el conjunto de normas %s. Deje este campo vacío para usar el texto predeterminado traducido que aparece como marcador de posición.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Personalice la introducción que se muestra a los usuarios que consultan la página de normas %s. Deje este campo vacío para usar la introducción predeterminada que aparece como marcador de posición.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Guardar introducción', 'ACP_BOARDRULES_INTRO_SAVED' => 'Se ha guardado la introducción de la página de normas.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/et/boardrules_acp.php b/language/et/boardrules_acp.php index 4a12537c..beccd09b 100644 --- a/language/et/boardrules_acp.php +++ b/language/et/boardrules_acp.php @@ -65,7 +65,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Halda reegleid', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Siin lehel saad lisada, muuta, kustutada ja muuta järjestust reeglitel. Kategooria on grupp, seotud reeglitega. Igal kategoorial võib olla piiramatu arv reegleid.', 'ACP_BOARDRULES_INTRO' => 'Reeglite lehe sissejuhatus', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Sisesta sissejuhatus, mida näidatakse reeglite kohal kasutajatele, kes vaatavad reeglistikku %s. Jäta väli tühjaks, et kasutada kohatäitena kuvatavat tõlgitud vaiketeksti.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Kohanda sissejuhatust, mida näidatakse reeglilehe %s kasutajatele. Jäta see väli tühjaks, et kasutada kohatäitena kuvatavat vaikimisi sissejuhatust.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Salvesta sissejuhatus', 'ACP_BOARDRULES_INTRO_SAVED' => 'Reeglite lehe sissejuhatus salvestati.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/fi/boardrules_acp.php b/language/fi/boardrules_acp.php index d3282457..7b211bff 100644 --- a/language/fi/boardrules_acp.php +++ b/language/fi/boardrules_acp.php @@ -64,7 +64,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Muokkaa sääntöjä', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Tällä sivulla voit lisätä, muokata, poistaa ja järjestää uudelleen kategorioita ja sääntöjä. Kategoria on joukko toisiinsa liittyviä sääntöjä. Jokaisella kategorialla voi olla rajoittamaton määrä sääntöjä.', 'ACP_BOARDRULES_INTRO' => 'Sääntösivun johdanto', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Kirjoita johdanto, joka näytetään sääntöjen yläpuolella käyttäjille, jotka tarkastelevat sääntökokonaisuutta %s. Jätä kenttä tyhjäksi käyttääksesi paikkamerkkinä näkyvää käännettyä oletustekstiä.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Mukauta johdantoa, joka näytetään sääntösivun %s käyttäjille. Jätä tämä kenttä tyhjäksi käyttääksesi paikkamerkkinä näkyvää oletusjohdantoa.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Tallenna johdanto', 'ACP_BOARDRULES_INTRO_SAVED' => 'Sääntösivun johdanto tallennettu.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Valitse sääntöjen kieli. Käyttäjät näkevät heidän haluamalleen kielelle luomasi säännöt. Jos et luo sääntöjä halutulla kielellä, käyttäjät näkevät säännöt, jotka on luotu laudan oletuskielellä.', diff --git a/language/fr/boardrules_acp.php b/language/fr/boardrules_acp.php index 7d9da92e..c2a81573 100644 --- a/language/fr/boardrules_acp.php +++ b/language/fr/boardrules_acp.php @@ -65,7 +65,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Gestion des règles', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Depuis cette page vous pouvez ajouter, modifier, supprimer et réordonner les catégories et les règles. Une catégorie est un ensemble de règles connexes. Chaque catégorie peut contenir un nombre illimité de règles.', 'ACP_BOARDRULES_INTRO' => 'Introduction de la page des règles', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Saisissez l’introduction affichée au-dessus des règles pour les utilisateurs consultant l’ensemble de règles %s. Laissez ce champ vide pour utiliser le texte traduit par défaut affiché comme texte indicatif.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Personnalisez l’introduction affichée aux utilisateurs qui consultent la page des règles %s. Laissez ce champ vide pour utiliser l’introduction par défaut affichée comme texte indicatif.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Enregistrer l’introduction', 'ACP_BOARDRULES_INTRO_SAVED' => 'L’introduction de la page des règles a été enregistrée.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/he/boardrules_acp.php b/language/he/boardrules_acp.php index 1cb73f4e..2a089512 100644 --- a/language/he/boardrules_acp.php +++ b/language/he/boardrules_acp.php @@ -64,7 +64,7 @@ 'ACP_BOARDRULES_MANAGE' => 'נהל חוקים', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'בעמוד זה אתה יכול לשנות חוקים וקטגוריות. קטגוריה היא אוסף של חוקים קשורים. בכל קטגוריה יכול להיות מספר לא מוגבל של חוקים.', 'ACP_BOARDRULES_INTRO' => 'מבוא לדף החוקים', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'הזן את המבוא שיוצג מעל החוקים למשתמשים הצופים בערכת החוקים %s. השאר שדה זה ריק כדי להשתמש בטקסט ברירת המחדל המתורגם שמוצג כמציין מקום.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'התאם את המבוא המוצג למשתמשים הצופים בדף החוקים %s. השאר שדה זה ריק כדי להשתמש במבוא ברירת המחדל המוצג כטקסט מציין מקום.', 'ACP_BOARDRULES_INTRO_SAVE' => 'שמור מבוא', 'ACP_BOARDRULES_INTRO_SAVED' => 'המבוא לדף החוקים נשמר.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/hr/boardrules_acp.php b/language/hr/boardrules_acp.php index ef38614f..90e4c982 100644 --- a/language/hr/boardrules_acp.php +++ b/language/hr/boardrules_acp.php @@ -65,7 +65,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Upravljanje pravilima', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Ovdje možeš dod(av)ati, uređivati, izbrisivati i reorganizirati kategorije i pravila.
Kategorija je grupa povezanih pravila. Svaka kategorija može imati neograničen broj pravila.', 'ACP_BOARDRULES_INTRO' => 'Uvod stranice s pravilima', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Unesite uvod koji se prikazuje iznad pravila korisnicima koji pregledavaju skup pravila %s. Ostavite polje prazno za uporabu prevedenog zadanog teksta prikazanog kao rezervirano mjesto.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Prilagodite uvod koji se prikazuje korisnicima stranice pravila %s. Ostavite ovo polje prazno za uporabu zadanog uvoda prikazanog kao rezervirano mjesto.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Spremi uvod', 'ACP_BOARDRULES_INTRO_SAVED' => 'Uvod stranice s pravilima je spremljen.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/hu/boardrules_acp.php b/language/hu/boardrules_acp.php index 17435768..3d988f9f 100644 --- a/language/hu/boardrules_acp.php +++ b/language/hu/boardrules_acp.php @@ -64,7 +64,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Szabályzat kezelése', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Ezen az oldalon hozzáadhat, szerkeszthet, törölhet és módosíthat kategóriákat és szabályzatokat. A kategória a kapcsolódó szabályzatok egy csoportja. Minden kategória korlátlan számú szabályzatot tartalmazhat.', 'ACP_BOARDRULES_INTRO' => 'A szabályzat oldalának bevezetője', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Adja meg a %s szabálykészletet megtekintő felhasználóknak a szabályok felett megjelenő bevezetőt. Hagyja üresen ezt a mezőt a helyőrzőként megjelenő lefordított alapértelmezett szöveg használatához.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Szabja testre a %s szabályoldalt megtekintő felhasználóknak megjelenő bevezetőt. Hagyja üresen ezt a mezőt a helyőrzőként megjelenő alapértelmezett bevezető használatához.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Bevezető mentése', 'ACP_BOARDRULES_INTRO_SAVED' => 'A szabályzat oldalának bevezetője mentve.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/it/boardrules_acp.php b/language/it/boardrules_acp.php index bcf6d2c7..2fcd0100 100644 --- a/language/it/boardrules_acp.php +++ b/language/it/boardrules_acp.php @@ -65,7 +65,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Gestisci Regole', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Da questa pagina è possibile aggiungere, modificare, eliminare e riordinare le categorie e le regole. Una categoria è un gruppo di regole correlate. Ogni categoria può avere un numero illimitato di regole.', 'ACP_BOARDRULES_INTRO' => 'Introduzione alla pagina delle regole', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Inserisci l’introduzione mostrata sopra le regole agli utenti che visualizzano il set di regole %s. Lascia vuoto questo campo per usare il testo predefinito tradotto mostrato come segnaposto.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Personalizza l’introduzione mostrata agli utenti che visualizzano la pagina delle regole %s. Lascia vuoto questo campo per usare l’introduzione predefinita mostrata come segnaposto.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Salva introduzione', 'ACP_BOARDRULES_INTRO_SAVED' => 'Introduzione alla pagina delle regole salvata.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/nb/boardrules_acp.php b/language/nb/boardrules_acp.php index c3cd6995..cac06744 100644 --- a/language/nb/boardrules_acp.php +++ b/language/nb/boardrules_acp.php @@ -65,7 +65,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Behandle regler', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'På denne siden kan du opprette, oppdatere, slette og omorganisere kategorier og regler. En kategori er en gruppe av lignende regler. Hver kategori kan inneholde et ubegrenset antall regler.', 'ACP_BOARDRULES_INTRO' => 'Introduksjon til regelsiden', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Skriv inn introduksjonen som vises over reglene for brukere som ser regelsettet %s. La feltet stå tomt for å bruke den oversatte standardteksten som vises som plassholder.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Tilpass introduksjonen som vises til brukere av regelsiden %s. La dette feltet stå tomt for å bruke standardintroduksjonen som vises som plassholdertekst.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Lagre introduksjon', 'ACP_BOARDRULES_INTRO_SAVED' => 'Introduksjonen til regelsiden ble lagret.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/nl/boardrules_acp.php b/language/nl/boardrules_acp.php index 5e1be639..5b5d03ad 100644 --- a/language/nl/boardrules_acp.php +++ b/language/nl/boardrules_acp.php @@ -65,7 +65,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Beheer regels', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Op deze pagina kan je regels en categorieën toevoegen, wijzigen, verwijderen en rangschikken. Een categorie is een groep gerelateerde regels. Elke categorie kan een onbeperkt aantal regels bevatten.', 'ACP_BOARDRULES_INTRO' => 'Inleiding van de regelspagina', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Voer de inleiding in die boven de regels wordt getoond aan gebruikers die de regelset %s bekijken. Laat dit veld leeg om de vertaalde standaardtekst te gebruiken die als tijdelijke aanduiding wordt weergegeven.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Pas de inleiding aan die wordt getoond aan gebruikers van de regelspagina %s. Laat dit veld leeg om de standaardinleiding te gebruiken die als tijdelijke aanduiding wordt weergegeven.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Inleiding opslaan', 'ACP_BOARDRULES_INTRO_SAVED' => 'Inleiding van de regelspagina opgeslagen.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/pl/boardrules_acp.php b/language/pl/boardrules_acp.php index a33eb928..2030f39e 100644 --- a/language/pl/boardrules_acp.php +++ b/language/pl/boardrules_acp.php @@ -65,7 +65,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Zarządzanie przepisami', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Z tej strony można dodać, zmienić, usunąć albo zmienić kolejność rozdziałów i przepisów. Rozdział jest grupą powiązanych przepisów. Każdy rozdział może składać się z nieograniczonej liczby przepisów.', 'ACP_BOARDRULES_INTRO' => 'Wprowadzenie na stronie regulaminu', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Wprowadź tekst wyświetlany nad przepisami użytkownikom przeglądającym zestaw przepisów %s. Pozostaw to pole puste, aby użyć przetłumaczonego tekstu domyślnego wyświetlanego jako tekst zastępczy.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Dostosuj wprowadzenie wyświetlane użytkownikom strony przepisów %s. Pozostaw to pole puste, aby użyć domyślnego wprowadzenia wyświetlanego jako tekst zastępczy.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Zapisz wprowadzenie', 'ACP_BOARDRULES_INTRO_SAVED' => 'Wprowadzenie na stronie regulaminu zostało zapisane.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/pt/boardrules_acp.php b/language/pt/boardrules_acp.php index 9f0ceb02..86b306fc 100644 --- a/language/pt/boardrules_acp.php +++ b/language/pt/boardrules_acp.php @@ -65,7 +65,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Gerir regras', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Nesta página pode adicionar, editar, apagar e reordenar as categorias e regras. A categoria é um conjunto de regras inter-relacionadas. Cada categoria pode ter um número ilimitado de regras.', 'ACP_BOARDRULES_INTRO' => 'Introdução da página de regras', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Introduza o texto apresentado acima das regras aos utilizadores que consultam o conjunto de regras %s. Deixe este campo vazio para utilizar o texto predefinido traduzido apresentado como marcador de posição.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Personalize a introdução apresentada aos utilizadores que consultam a página de regras %s. Deixe este campo vazio para utilizar a introdução predefinida apresentada como marcador de posição.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Guardar introdução', 'ACP_BOARDRULES_INTRO_SAVED' => 'A introdução da página de regras foi guardada.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/pt_br/boardrules_acp.php b/language/pt_br/boardrules_acp.php index 366c5ac6..f0718934 100644 --- a/language/pt_br/boardrules_acp.php +++ b/language/pt_br/boardrules_acp.php @@ -65,7 +65,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Gerenciar regras', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Nesta página adicione, edite, apage e reordene as categorias e regras. A categoria é um conjunto de regras inter-relacionadas. Cada categoria pode ter um número ilimitado de regras.', 'ACP_BOARDRULES_INTRO' => 'Introdução da página de regras', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Digite a introdução exibida acima das regras para os usuários que visualizam o conjunto de regras %s. Deixe este campo vazio para usar o texto padrão traduzido exibido como espaço reservado.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Personalize a introdução exibida aos usuários que acessam a página de regras %s. Deixe este campo vazio para usar a introdução padrão exibida como texto de exemplo.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Salvar introdução', 'ACP_BOARDRULES_INTRO_SAVED' => 'A introdução da página de regras foi salva.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/pt_preao/boardrules_acp.php b/language/pt_preao/boardrules_acp.php index 1eeab3d4..c793072e 100644 --- a/language/pt_preao/boardrules_acp.php +++ b/language/pt_preao/boardrules_acp.php @@ -65,7 +65,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Gerir regras', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Nesta página pode adicionar, editar, apagar e reordenar as categorias e regras. A categoria é um conjunto de regras inter-relacionadas. Cada categoria pode ter um número ilimitado de regras.', 'ACP_BOARDRULES_INTRO' => 'Introdução da página de regras', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Introduza o texto apresentado acima das regras aos utilizadores que consultam o conjunto de regras %s. Deixe este campo vazio para utilizar o texto predefinido traduzido apresentado como marcador de posição.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Personalize a introdução apresentada aos utilizadores que consultam a página de regras %s. Deixe este campo vazio para utilizar a introdução predefinida apresentada como marcador de posição.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Guardar introdução', 'ACP_BOARDRULES_INTRO_SAVED' => 'A introdução da página de regras foi guardada.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/ro/boardrules_acp.php b/language/ro/boardrules_acp.php index 3ffaf0a4..a3dad194 100644 --- a/language/ro/boardrules_acp.php +++ b/language/ro/boardrules_acp.php @@ -64,7 +64,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Editeza Reguli', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'De aici poti edita ,adauga si sterge regurile impuse de tine, le poti pune pe categorii ele fiind nelimitate', 'ACP_BOARDRULES_INTRO' => 'Introducerea paginii cu reguli', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Introduceți textul afișat deasupra regulilor pentru utilizatorii care consultă setul de reguli %s. Lăsați acest câmp necompletat pentru a utiliza textul implicit tradus afișat ca substituent.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Personalizați introducerea afișată utilizatorilor care consultă pagina de reguli %s. Lăsați acest câmp necompletat pentru a utiliza introducerea implicită afișată ca substituent.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Salvează introducerea', 'ACP_BOARDRULES_INTRO_SAVED' => 'Introducerea paginii cu reguli a fost salvată.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/ru/boardrules_acp.php b/language/ru/boardrules_acp.php index b8dc93dd..10ca548c 100644 --- a/language/ru/boardrules_acp.php +++ b/language/ru/boardrules_acp.php @@ -64,7 +64,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Редактирование правил', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'С помощью этой страницы вы можете добавлять, редактировать, удалять и менять порядок правил и категорий. Категория — набор связанных правил. В каждой категории может быть неограниченное количество правил.', 'ACP_BOARDRULES_INTRO' => 'Введение на странице правил', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Введите текст, отображаемый над правилами для пользователей, просматривающих набор правил %s. Оставьте поле пустым, чтобы использовать переведённый текст по умолчанию, показанный в качестве заполнителя.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Настройте введение, отображаемое пользователям страницы правил %s. Оставьте это поле пустым, чтобы использовать введение по умолчанию, показанное в качестве заполнителя.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Сохранить введение', 'ACP_BOARDRULES_INTRO_SAVED' => 'Введение на странице правил сохранено.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/sk/boardrules_acp.php b/language/sk/boardrules_acp.php index 5e8f8e0a..50ee44e6 100644 --- a/language/sk/boardrules_acp.php +++ b/language/sk/boardrules_acp.php @@ -64,7 +64,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Spravovať pravidlá', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Na tejto stránke môžeš pridávať, upravovať, mazať a reorganizovať kategórie a pravidlá. Kategória je skupina spoločných/súvisiacich pravidel. Každá kategória môže mať neobmedzený počet pravidiel.', 'ACP_BOARDRULES_INTRO' => 'Úvod stránky s pravidlami', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Zadajte úvod zobrazený nad pravidlami používateľom, ktorí si prezerajú sadu pravidiel %s. Ponechajte pole prázdne, ak chcete použiť preložený predvolený text zobrazený ako zástupný text.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Upravte úvod zobrazený používateľom stránky pravidiel %s. Ponechajte toto pole prázdne, ak chcete použiť predvolený úvod zobrazený ako zástupný text.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Uložiť úvod', 'ACP_BOARDRULES_INTRO_SAVED' => 'Úvod stránky s pravidlami bol uložený.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/sv/boardrules_acp.php b/language/sv/boardrules_acp.php index e4032a34..c393e07b 100644 --- a/language/sv/boardrules_acp.php +++ b/language/sv/boardrules_acp.php @@ -65,7 +65,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Hantera reglerna', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'På denna sidan kan du skapa, uppdatera, radera och omorganisera kategorier och regler. En kategori är en grupp av liknande regler. Varja kategori kan innehålla ett obegränsat antal regler.', 'ACP_BOARDRULES_INTRO' => 'Introduktion till regelsidan', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Ange introduktionen som visas ovanför reglerna för användare som visar regeluppsättningen %s. Lämna fältet tomt för att använda den översatta standardtexten som visas som platshållare.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Anpassa introduktionen som visas för användare av regelsidan %s. Lämna detta fält tomt för att använda standardintroduktionen som visas som platshållartext.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Spara introduktion', 'ACP_BOARDRULES_INTRO_SAVED' => 'Introduktionen till regelsidan har sparats.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Choose a language for your Board Rules. Users will see the rules you create for their preferred language. If you do not create any rules in their preferred language, then users will see rules created using the board’s default language.', diff --git a/language/tr/boardrules_acp.php b/language/tr/boardrules_acp.php index 54d25c01..07cfd96f 100644 --- a/language/tr/boardrules_acp.php +++ b/language/tr/boardrules_acp.php @@ -65,7 +65,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Kuralları yönet', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'Bu sayfadan kurallar ve kategoriler ekleyebilir, düzenleyebilir, silebilir ve yeniden sıralayabilirsiniz. Kategori, kurallar ile bağlantılı olan bir gruptur. Her kategori sınırsız sayıda mesaja sahip olabilir.', 'ACP_BOARDRULES_INTRO' => 'Kurallar sayfası giriş metni', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => '%s kural kümesini görüntüleyen kullanıcılara kuralların üzerinde gösterilecek giriş metnini girin. Yer tutucu olarak gösterilen çevrilmiş varsayılan metni kullanmak için bu alanı boş bırakın.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => '%s kurallar sayfasını görüntüleyen kullanıcılara gösterilen giriş metnini özelleştirin. Yer tutucu metin olarak gösterilen varsayılan girişi kullanmak için bu alanı boş bırakın.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Giriş metnini kaydet', 'ACP_BOARDRULES_INTRO_SAVED' => 'Kurallar sayfası giriş metni kaydedildi.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Mesaj Panosu kurallarınız için bir dil seçin. Kullanıcılar, tercih ettikleri dil için oluşturduğunuz kuralları göreceklerdir. Eğer kullanıcıların tercih ettikleri dilde herhangi bir kural oluşturmazsanız, o zaman kullanıcılar mesaj panosunun varsayılan dili kullanılarak oluşturulan kuralları görürler.', diff --git a/language/uk/boardrules_acp.php b/language/uk/boardrules_acp.php index 7e2ef095..e167c3dd 100644 --- a/language/uk/boardrules_acp.php +++ b/language/uk/boardrules_acp.php @@ -64,7 +64,7 @@ 'ACP_BOARDRULES_MANAGE' => 'Редагування правил', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => 'За допомогою цієї сторінки ви можете додавати, редагувати, видаляти та змінювати порядок правил та категорій. Категорія - набір пов\'язаних правил. У кожній категорії може бути необмежена кількість правил.', 'ACP_BOARDRULES_INTRO' => 'Вступ на сторінці правил', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Введіть текст, який відображатиметься над правилами для користувачів, що переглядають набір правил %s. Залиште поле порожнім, щоб використати перекладений типовий текст, показаний як заповнювач.', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => 'Налаштуйте вступ, який відображається користувачам сторінки правил %s. Залиште це поле порожнім, щоб використати типовий вступ, показаний як заповнювач.', 'ACP_BOARDRULES_INTRO_SAVE' => 'Зберегти вступ', 'ACP_BOARDRULES_INTRO_SAVED' => 'Вступ на сторінці правил збережено.', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => 'Виберіть мову для правил форуму. Користувачі побачать створені вами правила для їхньої мови. Якщо ви не створите жодних правил мовою, яку використовують користувачі, то вони побачать правила, створені з використанням мови форуму за замовчуванням.', diff --git a/language/zh_cmn_hans/boardrules_acp.php b/language/zh_cmn_hans/boardrules_acp.php index de9ac5e9..be3e0024 100644 --- a/language/zh_cmn_hans/boardrules_acp.php +++ b/language/zh_cmn_hans/boardrules_acp.php @@ -64,7 +64,7 @@ 'ACP_BOARDRULES_MANAGE' => '管理章程', 'ACP_BOARDRULES_MANAGE_EXPLAIN' => '在此页,您可以增加,编辑,删除或重新排序分类和章程。一个分类包含一组章程。分类内可以包含无限条章程。', 'ACP_BOARDRULES_INTRO' => '章程页面介绍', - 'ACP_BOARDRULES_INTRO_EXPLAIN' => '输入显示在章程上方的介绍,供查看 %s 章程集的用户阅读。留空此字段可使用占位符中显示的已翻译默认文本。', + 'ACP_BOARDRULES_INTRO_EXPLAIN' => '自定义向查看 %s 章程页面的用户显示的介绍。留空此字段可使用占位文本中显示的默认介绍。', 'ACP_BOARDRULES_INTRO_SAVE' => '保存介绍', 'ACP_BOARDRULES_INTRO_SAVED' => '章程页面介绍已保存。', 'ACP_BOARDRULES_LANGUAGE_EXPLAIN' => '给你的论坛章程选择一个语言。用户会看到您用他们的首选语言所创建的论坛章程。如果您没有用他们的首选语言创建论坛章程,那么他们看到的就是以论坛的默认语言写的章程。', From a1789d6ec641bdf78a4e3398b7de38ea3d5aa27d Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Fri, 21 Aug 2026 16:35:33 -0700 Subject: [PATCH 6/6] Select language improved layout --- adm/style/boardrules_acp.css | 12 ++++++++++-- adm/style/boardrules_manage_rules.html | 3 ++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/adm/style/boardrules_acp.css b/adm/style/boardrules_acp.css index 7ad3e75b..f3c1b654 100644 --- a/adm/style/boardrules_acp.css +++ b/adm/style/boardrules_acp.css @@ -1,6 +1,6 @@ .boardrules-language-toolbar { display: flex; - align-items: flex-end; + align-items: center; flex-wrap: wrap; gap: 12px; margin: 14px 0; @@ -16,7 +16,15 @@ } .boardrules-language-picker label { - font-weight: bold; + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; } .boardrules-language-picker select { diff --git a/adm/style/boardrules_manage_rules.html b/adm/style/boardrules_manage_rules.html index 8e61d49d..9baea62c 100644 --- a/adm/style/boardrules_manage_rules.html +++ b/adm/style/boardrules_manage_rules.html @@ -5,8 +5,9 @@

{{ lang('ACP_BOARDRULES_MANAGE') }}

+ {{ lang('ACP_BOARDRULES_SELECT_LANGUAGE') }}
- +