增加创建页面框标题有效性校验

master
落雨楓 4 months ago
parent 475e845134
commit eb48326265

@ -50,6 +50,9 @@
],
"PageSaveComplete": [
"Isekai\\Isekai::onPageSaveComplete"
],
"IsekaiWidgets::CreatePageValidateTitle": [
"Isekai\\Isekai::onIsekaiWidgetsCreatePageValidateTitle"
]
},
"JobClasses": {

@ -47,5 +47,7 @@
"isekai-ve-formatdropdown-format-mw-heading5": "Sub-heading 5",
"isekai-ve-formatdropdown-format-mw-heading6": "Sub-heading 6",
"isekai-ve-dialog-meta-categories-input-maincategorieslabel": "Main categories"
"isekai-ve-dialog-meta-categories-input-maincategorieslabel": "Main categories",
"isekai-createpage-title-format-invalid-worldsettings": "The world setting title should be in the format \"World of xxx\" or \"The world of xxx\". Sub-settings should be named as \"WorldSettingPage/SubSettingName\". For details, see [[Help:Beginner's Guide#Page Naming Rules|Page Naming Rules]]."
}

@ -5,14 +5,49 @@
"isekai-collapse-show": "展開",
"isekai-collapse-hide": "隠れる",
"isekai-login-prompt-content": "加入异世界百科,贡献你的脑洞,帮助更多的人吧",
"isekai-login-prompt-content": "異世界ウィキに参加して、あなたのアイデアを共有し、より多くの人を助けましょう",
"isekai-login-prompt-btn-login": "ログイン",
"isekai-login-prompt-btn-createaccount": "登録",
"isekai-login-prompt-btn-cancel": "いいぇ",
"isekai-login-prompt-btn-createaccount": "アカウント作成",
"isekai-login-prompt-btn-cancel": "キャンセル",
"isekai-background-param-error": "背景画像パラメータエラー:",
"isekai-editor-prompt-content": "エディターを選択してください。フルバージョンのエディターを使用すると、より良い体験が得られます。",
"isekai-editor-prompt-btn-cancel": "キャンセル",
"isekai-editor-prompt-btn-use-mobile": "モバイル版",
"isekai-editor-prompt-btn-use-desktop": "フルバージョン",
"isekai-userpage": "ユーザー",
"isekai-chart-undefined-type": "未定義のチャートタイプ",
"isekai-chart-unknow-type": "不明なチャートタイプ:{0}",
"isekai-chart-transform-error": "データ変換エラー:{0}",
"isekai-chart-default-row-name": "データ {0}",
"prefs-isekai-ads": "異世界ウィキをサポートする",
"isekai-show-ads-bottom": "ページ下部に広告を表示",
"isekai-show-ads-sidebar": "PC版サイドバーに広告を表示",
"isekai-ads-prompt-title": "広告がブロックされているようです",
"isekai-ads-prompt-content": "<p>現在、ページ広告は異世界ウィキの唯一の収入源です。</p><p>異世界ウィキをサポートしたい場合は、このサイトでAdblock、Adblock Proなどのプラグインを無効にしてください。</p><p>広告スペースを削除したい場合は、ユーザー設定で広告をオフにできます。</p>",
"isekai-ads-prompt-btn-cancel": "今後表示しない",
"visualeditor-savedialog-label-set-categories": "カテゴリを設定",
"isekai-function-btn-fullscreen": "全画面表示",
"isekai-function-btn-exit-fullscreen": "全画面表示を終了",
"group-activated-editor": "筆者",
"group-activated-editor-member": "筆者"
"group-activated-editor": "著者",
"group-activated-editor-member": "著者",
"isekai-ve-formatdropdown-format-mw-heading1": "セクションタイトル",
"isekai-ve-formatdropdown-format-mw-heading2": "サブタイトル",
"isekai-ve-formatdropdown-format-mw-heading3": "3級見出し",
"isekai-ve-formatdropdown-format-mw-heading4": "4級見出し",
"isekai-ve-formatdropdown-format-mw-heading5": "5級見出し",
"isekai-ve-formatdropdown-format-mw-heading6": "6級見出し",
"isekai-ve-dialog-meta-categories-input-maincategorieslabel": "メインカテゴリ",
"isekai-createpage-title-format-invalid-worldsettings": "世界観タイトルは「xxxの世界」または「xxxの世界観」としてください。サブ設定は「世界観ページ名/サブ設定名」としてください。詳細は[[ヘルプ:新手チュートリアル#ページ命名規則|ページ命名規則]]をご覧ください。"
}

@ -47,5 +47,7 @@
"isekai-ve-formatdropdown-format-mw-heading5": "五级标题",
"isekai-ve-formatdropdown-format-mw-heading6": "六级标题",
"isekai-ve-dialog-meta-categories-input-maincategorieslabel": "主要分类"
"isekai-ve-dialog-meta-categories-input-maincategorieslabel": "主要分类",
"isekai-createpage-title-format-invalid-worldsettings": "世界观标题应为“xxx的世界”或“xxx的世界观”子设定应为“世界观页面名/子设定名”。具体请看[[帮助:新手教程#页面命名规则|页面命名规则]]。"
}

@ -47,5 +47,7 @@
"isekai-ve-formatdropdown-format-mw-heading5": "五级標題",
"isekai-ve-formatdropdown-format-mw-heading6": "六级標題",
"isekai-ve-dialog-meta-categories-input-maincategorieslabel": "主要分類"
"isekai-ve-dialog-meta-categories-input-maincategorieslabel": "主要分類",
"isekai-createpage-title-format-invalid-worldsettings": "世界觀標題應為「xxx的世界」或「xxx的世界觀」子設定應為「世界觀頁面名/子設定名」。具體請看[[帮助:新手教程#页面命名规则|頁面命名規則]]。"
}

@ -406,4 +406,23 @@ HTML
}
}
}
/**
* @param \Isekai\Widgets\Utils\NewPageTitleValidationResult $validationResult
* @param \MediaWiki\User\User $user
* @param string $newPageTitle
* @param string $newPageType
*/
public static function onIsekaiWidgetsCreatePageValidateTitle(
&$validationResult, $user, $newPageTitle, $newPageType
) {
switch ($newPageType) {
case 'worldsettings':
if (!preg_match('/^[^\/]+(世界观|世界)(\/|$)/', $newPageTitle)) {
$validationResult->addWarning('worldsettings-title-format-invalid', wfMessage('isekai-createpage-title-format-invalid-worldsettings'));
}
break;
}
return true;
}
}

Loading…
Cancel
Save