مدیاویکی:Gadget-twinklespeedy-2020.js: تفاوت میان نسخه‌ها

جز
۱ نسخه واردشده
جز (۱ نسخه واردشده)
جز (۱ نسخه واردشده)
 
(۳ نسخهٔ میانی ویرایش شده توسط ۲ کاربر نشان داده نشد)
خط ۶۹۳: خط ۶۹۳:
type: 'input',
type: 'input',
label: 'پیوند به ویکی دیگری که باید به آن منتقل شود: ', // localized
label: 'پیوند به ویکی دیگری که باید به آن منتقل شود: ', // localized
tooltip: 'For example, https://en.wiktionary.org/wiki/twinkle or [[wikt:twinkle]]'
tooltip: 'برای مثال، https://en.wiktionary.org/wiki/twinkle یا [[wikt:twinkle]]'
}
}
},
},
خط ۷۷۵: خط ۷۷۵:
label: 'ع۸: رده‌های مربوط به الگوی حذف شده یا تغییرمسیر یافته', // localized
label: 'ع۸: رده‌های مربوط به الگوی حذف شده یا تغییرمسیر یافته', // localized
value: 'templatecat',
value: 'templatecat',
tooltip: 'This is for situations where a category is effectively empty, because the template(s) that formerly placed pages in that category are now deleted. This excludes categories that are still in use.'
tooltip: 'رده‌هایی که به‌طور مؤثر خالی هستند؛ زیرا الگو(ها)یی که قبلاً صفحه‌ها را در رده قرار می‌داده حذف شده(اند). رده‌هایی که هنوز مورد استفادهٔ الگوها هستند مشمول این معیار نمی‌شوند.'
},
},
{
{
label: 'ع۸: تغییرمسیر به هدف ناموجود', // localized
label: 'ع۸: تغییرمسیر به هدف ناموجود', // localized
value: 'redirnone',
value: 'redirnone',
tooltip: 'This excludes any page that is useful to the project, and in particular: deletion discussions that are not logged elsewhere, user and user talk pages, talk page archives, plausible redirects that can be changed to valid targets, and file pages or talk pages for files that exist on Wikimedia Commons.',
tooltip: 'این معیار شامل هر صفحه‌ای که برای پروژه مفید باشد، نمی‌شود؛ به‌ویژه: نظرخواهی‌های حذف که جای دیگری فهرست نشده‌اند، صفحه‌های کاربری و بحث کاربر، بایگانی‌های صفحه‌های بحث، تغییر مسیرهای محتمل که می‌تواند هدف آن‌ها را به صفحه‌ای معتبر تغییر داد و صفحه‌های پرونده یا بحث پرونده‌ای که در ویکی‌انبار موجود است.',
hideWhenMultiple: true
hideWhenMultiple: true
}
}
خط ۷۸۹: خط ۷۸۹:
label: 'ک۱: درخواست کاربر', // localized
label: 'ک۱: درخواست کاربر', // localized
value: 'userreq',
value: 'userreq',
tooltip: 'Personal subpages, upon request by their user. In some rare cases there may be administrative need to retain the page. Also, sometimes, main user pages may be deleted as well. See Wikipedia:User page for full instructions and guidelines',
tooltip: 'زیرصفحه‌های شخصی، مطابق با درخواست کاربر صاحب صفحه. در برخی موارد نادر، ممکن است ماندن صفحه به دلایل مدیریتی لازم باشد. همچنین در بعضی مواقع، صفحه‌های اصلی کاربری نیز می‌توانند حذف شوند. برای مشاهدهٔ رهنمودها و راه‌کارهای کامل، ویکی‌پدیا:صفحه‌های کاربری را ببینید',
subgroup: mw.config.get('wgNamespaceNumber') === 3 && mw.config.get('wgTitle').indexOf('/') === -1 ? {
subgroup: mw.config.get('wgNamespaceNumber') === 3 && mw.config.get('wgTitle').indexOf('/') === -1 ? {
name: 'userreq_rationale',
name: 'userreq_rationale',
type: 'input',
type: 'input',
label: 'A mandatory rationale to explain why this user talk page should be deleted: ',
label: 'استدلال (اجباری) در توضیح دلیل حذف این صفحهٔ بحث کاربر: ',
tooltip: 'User talk pages are deleted only in highly exceptional circumstances. See WP:DELTALK.',
tooltip: 'صفحه‌های بحث کاربری تنها در شرایطی بسیار استثنائی حذف می‌شوند. وپ:حذف بحث را ببینید.',
size: 60
size: 60
} : null,
} : null,
خط ۸۰۲: خط ۸۰۲:
label: 'ک۲: کاربر ناموجود', // localized
label: 'ک۲: کاربر ناموجود', // localized
value: 'nouser',
value: 'nouser',
tooltip: 'User pages of users that do not exist (Check Special:Listusers)'
tooltip: 'صفحه‌های کاربری حساب‌هایی که ایجاد نشده‌اند (ویژه:فهرست کاربران را بررسی کنید)'
},
},
{
{
label: 'ک۳: نگارخانه غیر آزاد', // localized
label: 'ک۳: نگارخانه غیر آزاد', // localized
value: 'gallery',
value: 'gallery',
tooltip: 'Galleries in the userspace which consist mostly of "fair use" or non-free files. Wikipedia\'s non-free content policy forbids users from displaying non-free files, even ones they have uploaded themselves, in userspace. It is acceptable to have free files, GFDL-files, Creative Commons and similar licenses along with public domain material, but not "fair use" files',
tooltip: 'نگارخانه‌هایی در فضای کاربری که بیشتر شامل پرونده‌های «استفادهٔ منصفانه» یا غیرآزاد هستند.سیاست محتوای آزاد ویکی‌پدیا کاربران را از نمایش پرونده‌های غیرآزاد، حتی آن‌هایی که خودشان بارگذاری کرده‌اند، در صفحه‌های کاربری منع می‌کند. استفاده از پرونده‌های آزاد، پرونده‌های مبتنی بر اجازه‌نامهٔ مستندات آزاد گنو، کریتیو کامنز و اجازه‌نامه‌های مشابه در کنار محتوای تحت مالکیت عمومی مجاز است، اما از پرونده‌های استفادهٔ منصفانه نباید در فضای کاربری استفاده کرد',
hideWhenRedirect: true
hideWhenRedirect: true
},
},
{
{
label: 'U5: Blatant WP:NOTWEBHOST violations',
label: 'ک۵: نقض آشکار «وپ:میزبان وب نیست»',
value: 'notwebhost',
value: 'notwebhost',
tooltip: 'Pages in userspace consisting of writings, information, discussions, and/or activities not closely related to Wikipedia\'s goals, where the owner has made few or no edits outside of userspace, with the exception of plausible drafts and pages adhering to WP:UPYES.',
tooltip: 'صفحه‌هایی در فضای کاربری شامل نوشته‌ها، اطلاعات، گفتگوها و/یا فعالیت‌هایی که مطابقت چندانی با اهداف ویکی‌پدیا ندارند و صاحب صفحه در خارج از فضای کاربری ویرایشی نداشته یا ویرایش‌های بسیار کمی دارد. به‌استثناء پیش‌نویس‌های قابل پذیرش و صفحه‌هایی که تناقضی با «وپ:کاربر هست» ندارند.',
hideWhenRedirect: true
hideWhenRedirect: true
},
},
خط ۸۱۹: خط ۸۱۹:
label: 'ک۱۱: صفحهٔ کاربری تبلیغاتی با نام کاربری تبلیغاتی', // localized
label: 'ک۱۱: صفحهٔ کاربری تبلیغاتی با نام کاربری تبلیغاتی', // localized
value: 'spamuser',
value: 'spamuser',
tooltip: 'A promotional user page, with a username that promotes or implies affiliation with the thing being promoted. Note that simply having a page on a company or product in one\'s userspace does not qualify it for deletion. If a user page is spammy but the username is not, then consider tagging with regular G11 instead.',
tooltip: 'صفحهٔ کاربری تبلیغاتی با نام کاربری که ترویج‌دهندهٔ موضوع مورد اشارهٔ تبلیغات است یا نشانهٔ ارتباط کاربر با آن است. دقت کنید که صرف داشتن یک صفحه دربارهٔ یک شرکت یا محصول در فضای کاربری یک کاربر، دلیلی برای حذف آن صفحه نیست. اگر صفحهٔ کاربری تبلیغاتی است، اما نام کاربری چنین نیست، در عوض از برچسب ع۱۱ استفاده کنید.',
hideWhenMultiple: true,
hideWhenMultiple: true,
hideWhenRedirect: true
hideWhenRedirect: true
},
},
{
{
label: 'G13: AfC draft submission or a blank draft, stale by over 6 months',
label: 'ع۱۳: درخواست‌های پیش‌نویس مبا یا پیش‌نویس خالی که برای بیشتر از ۶ ماه رها شده‌است',
value: 'afc',
value: 'afc',
tooltip: 'Any rejected or unsubmitted AfC draft submission or a blank draft, that has not been edited in over 6 months (excluding bot edits).',
tooltip: 'هرگونه درخواست پیش‌نویس ردشده یا ارسال‌نشدهٔ مبا یا یک پیش نویس خالی که بیش از ۶ ماه است که ویرایش نشده‌است (به‌استثناء ویرایش‌های ربات).',
hideWhenMultiple: true,
hideWhenMultiple: true,
hideWhenRedirect: true
hideWhenRedirect: true
خط ۸۳۶: خط ۸۳۶:
label: 'ال۲. نمایش نادرست ویکی‌پدیا:سیاست‌ها و رهنمودها', // localized
label: 'ال۲. نمایش نادرست ویکی‌پدیا:سیاست‌ها و رهنمودها', // localized
value: 'policy',
value: 'policy',
tooltip: 'This includes "speedy deletion" templates for issues that are not speedy deletion criteria and disclaimer templates intended to be used in articles',
tooltip: 'شامل الگوهای «حذف سریع» برای مشکلاتی که مشمول معیارهای حذف سریع نیستند و الگوهای تکذیب‌نامه که برای استفاده در مقاله‌ها ایجاد شده‌اند',
subgroup: {
subgroup: {
name: 'policy_rationale',
name: 'policy_rationale',
خط ۸۴۸: خط ۸۴۸:
label: 'ال۳. الگوهای تکراری و دارای کدنویسی سخت', // localized
label: 'ال۳. الگوهای تکراری و دارای کدنویسی سخت', // localized
value: 'duplicatetemplate',
value: 'duplicatetemplate',
tooltip: 'Templates that are either substantial duplications of another template or hardcoded instances of another template where the same functionality could be provided by that other template',
tooltip: 'الگوهایی که بخش بزرگی از آن‌ها رونوشت‌برداری از یک الگوی دیگر است یا نمونه‌هایی با کدنویسی سخت از الگوی دیگری هستند که می‌تواند کار مشابهی را انجام دهد',
subgroup: {
subgroup: {
name: 'duplicatetemplate_2',
name: 'duplicatetemplate_2',
type: 'input',
type: 'input',
label: 'Template this is redundant to: ',
label: 'الگویی که این الگو مازاد آن است: ',
tooltip: 'The "Template:" prefix is not needed.'
tooltip: 'به استفاده از پیشوند «الگو:» نیازی نیست.'
},
},
hideWhenMultiple: true
hideWhenMultiple: true
خط ۸۶۱: خط ۸۶۱:
Twinkle.speedy.portalList = [
Twinkle.speedy.portalList = [
{
{
label: 'P1: Portal that would be subject to speedy deletion if it were an article',
label: 'د۱: هر درگاهی که اگر مقاله می‌بود، با معیارهای حذف سریع مقاله‌ها حذف می‌شد',
value: 'p1',
value: 'p1',
tooltip: 'You must specify a single article criterion that applies in this case (A1, A3, A7, or A10).',
tooltip: 'لازم است که یک معیار حذف مقاله که در این مورد صادق است را مشخص کنید (م۱، م۳، م۷, یا م۱۰).',
subgroup: {
subgroup: {
name: 'p1_criterion',
name: 'p1_criterion',
type: 'input',
type: 'input',
label: 'Article criterion that would apply: '
label: 'معیار مقاله‌ای که در این مورد صادق است: '
}
}
},
},
{
{
label: 'P2: Underpopulated portal (fewer than three non-stub articles)',
label: 'د۲: درگاه کم مقاله (کمتر از سه مقالهٔ غیر خرد)',
value: 'emptyportal',
value: 'emptyportal',
tooltip: 'Any Portal based on a topic for which there is not a non-stub header article, and at least three non-stub articles detailing subject matter that would be appropriate to discuss under the title of that Portal'
tooltip: 'هر درگاهی که برای موضوع اصلی آن تنها یک مقالهٔ سرآیند خُرد وجود داشته باشد یا مقالات غیر خردی که به موضوع درگاه می‌پردازند و برای عنوان درگاه مناسب هستند، کمتر از سه مقاله باشد'
}
}
];
];
خط ۸۸۱: خط ۸۸۱:
label: 'ع۱: عبارت‌های نامفهوم', // localized
label: 'ع۱: عبارت‌های نامفهوم', // localized
value: 'nonsense',
value: 'nonsense',
tooltip: 'This does not include poor writing, partisan screeds, obscene remarks, vandalism, fictional material, material not in English, poorly translated material, implausible theories, or hoaxes. In short, if you can understand it, G1 does not apply.',
tooltip: 'این معیار شامل نوشتار ضعیف، نوشته‌های طرفدارانه، نوشته‌های تحریک‌آمیز یا توهین‌آمیز، شایعات، نوشته‌های تخیلی و ترجمه‌های بد نمی‌شود. به اختصار، اگر می‌شود فهمیدش، ع۱ قابل اعمال نیست.',
hideInNamespaces: [ 2 ] // Not applicable in userspace
hideInNamespaces: [ 2 ] // Not applicable in userspace
},
},
خط ۸۸۷: خط ۸۸۷:
label: 'ع۲: صفحه‌های آزمایشی', // localized
label: 'ع۲: صفحه‌های آزمایشی', // localized
value: 'test',
value: 'test',
tooltip: 'A page created to test editing or other Wikipedia functions. Pages in the User namespace are not included, nor are valid but unused or duplicate templates (although criterion T3 may apply).',
tooltip: 'صفحه‌های ایجاد شده برای ویرایش‌های آزمایشی یا آشنایی با سایر عملکردهای ویکی‌پدیا. زیرصفحاتی از صفحه تمرین که به عنوان آزمایش ایجاد شده را نیز شامل می‌شود اما خود صفحهٔ تمرین و زیرصفحه‌های فضای کاربری را که برای تمرین ساخته شده‌اند، شامل نمی‌شود.',
hideInNamespaces: [ 2 ] // Not applicable in userspace
hideInNamespaces: [ 2 ] // Not applicable in userspace
},
},
خط ۸۹۳: خط ۸۹۳:
label: 'ع۳: خرابکاری محض', // localized
label: 'ع۳: خرابکاری محض', // localized
value: 'vandalism',
value: 'vandalism',
tooltip: 'Plain pure vandalism (including redirects left behind from pagemove vandalism)'
tooltip: 'خرابکاری محض و آشکار (از جمله تغییرمسیرهایی که در حین انتقال خرابکارانهٔ صفحه‌ها ایجاد شده‌اند)'
},
},
{
{
label: 'ع۳: کلک‌زنی آشکار', // localized
label: 'ع۳: کلک‌زنی آشکار', // localized
value: 'hoax',
value: 'hoax',
tooltip: 'Blatant and obvious hoax, to the point of vandalism',
tooltip: 'کلک‌زنی آشکار و واضح، در حد خرابکاری',
hideWhenMultiple: true
hideWhenMultiple: true
},
},
خط ۹۰۴: خط ۹۰۴:
label: 'ع۴: ساخت دوبارهٔ صفحه‌ای که بر پایهٔ نظرخواهیِ حذف حذف شده‌است', // localized
label: 'ع۴: ساخت دوبارهٔ صفحه‌ای که بر پایهٔ نظرخواهیِ حذف حذف شده‌است', // localized
value: 'repost',
value: 'repost',
tooltip: 'A copy, by any title, of a page that was deleted via an XfD process or Deletion review, provided that the copy is substantially identical to the deleted version. This clause does not apply to content that has been "userfied", to content undeleted as a result of Deletion review, or if the prior deletions were proposed or speedy deletions, although in this last case, other speedy deletion criteria may still apply',
tooltip: 'رونوشت‌هایی از یک صفحهٔ حذف‌شده که بنا بر تازه‌ترین نظرخواهی حذفش حذف گردیده‌است و نسخهٔ جدید آن به اندازهٔ کافی با آن یکسان است، ولو در هر عنوان دیگری. این معیار به محتوایی که مشخصاً برای بهبود به فضای نام کاربری یا پیش‌نویس منتقل شده است، یا مطالب احیاشده از راه بررسی حذف یا حذف‌شده از راه حذف زمان‌دار یا حذف سریع (هرچند در مورد حذف سریع امکان دارد معیار حذف سریع قبلی یا دیگر معیارهای حذف سریع قابل استفاده باشند) اعمال نمی‌شود',
subgroup: {
subgroup: {
name: 'repost_xfd',
name: 'repost_xfd',
خط ۹۱۶: خط ۹۱۶:
label: 'ع۵: ساختهٔ کاربران تحریم‌شده یا بسته‌شده', // localized
label: 'ع۵: ساختهٔ کاربران تحریم‌شده یا بسته‌شده', // localized
value: 'banned',
value: 'banned',
tooltip: 'Pages created by banned or blocked users in violation of their ban or block, and which have no substantial edits by others',
tooltip: 'صفحه‌هایی که توسط کاربران تحریم‌شده یا بسته‌شده و با نقض تحریم یا قطع دسترسی ساخته می‌شوند و دیگران هیچ ویرایش عمده‌ای (ویرایشی که جزئی نباشد و منجر به تغییر اساسی صفحه شده باشد) در آن‌ها نکرده‌اند',
subgroup: {
subgroup: {
name: 'banned_user',
name: 'banned_user',
خط ۹۳۲: خط ۹۳۲:
name: 'move_page',
name: 'move_page',
type: 'input',
type: 'input',
label: 'Page to be moved here: '
label: 'صفحه برای انتقال به اینجا: '
},
},
{
{
name: 'move_reason',
name: 'move_reason',
type: 'input',
type: 'input',
label: 'Reason: ',
label: 'دلیل: ',
size: 60
size: 60
}
}
خط ۹۵۰: خط ۹۵۰:
name: 'xfd_fullvotepage',
name: 'xfd_fullvotepage',
type: 'input',
type: 'input',
label: 'Page where the deletion discussion was held: ',
label: 'صفحه‌ای که گفتگو پیرامون حذف در آن انجام شده: ',
tooltip: 'Must start with "Wikipedia:"',
tooltip: 'باید با «ویکی‌پدیا:» آغاز شود',
size: 40
size: 40
},
},
خط ۹۵۹: خط ۹۵۹:
label: 'ع۶: انتقال از طریق کپی پیست', // localized
label: 'ع۶: انتقال از طریق کپی پیست', // localized
value: 'copypaste',
value: 'copypaste',
tooltip: 'This only applies for a copy-and-paste page move of another page that needs to be temporarily deleted to make room for a clean page move.',
tooltip: 'این معیار تنها به انتقال حاصل از کپی‌کردن محتوای یک صفحهٔ دیگر که نیازمند حذف دائمی جهت بازکردن فضا برای انتقال صحیح یک صفحه است، اعمال می‌شود.',
subgroup: {
subgroup: {
name: 'copypaste_sourcepage',
name: 'copypaste_sourcepage',
type: 'input',
type: 'input',
label: 'Original page that was copy-pasted here: '
label: 'صفحهٔ اولیه که محتوایش به اینجا کپی شده: '
},
},
hideWhenMultiple: true
hideWhenMultiple: true
خط ۹۷۰: خط ۹۷۰:
label: 'ع۶: حذف‌های فنی', // localized
label: 'ع۶: حذف‌های فنی', // localized
value: 'g6',
value: 'g6',
tooltip: 'Other routine maintenance tasks',
tooltip: 'سایر وظایف نگهداری روزانه',
subgroup: {
subgroup: {
name: 'g6_rationale',
name: 'g6_rationale',
خط ۹۸۱: خط ۹۸۱:
label: 'ع۷: درخواست از طرف نویسنده', // localized
label: 'ع۷: درخواست از طرف نویسنده', // localized
value: 'author',
value: 'author',
tooltip: 'Any page for which deletion is requested by the original author in good faith, provided the page\'s only substantial content was added by its author. If the author blanks the page, this can also be taken as a deletion request.',
tooltip: 'این معیار تنها در صورتی اعمال می‌شود که درخواست با حسن نیت مطرح شده باشد و مشخص باشد که محتوای اصلی صفحه و صفحهٔ بحث وابسته به آن تنها اثر یک نویسنده است. خالی کردن صفحه (پاک کردن تمام نوشته‌ها) توسط نویسندهٔ اصلی را هم می‌توان درخواست حذف تلقی کرد.',
subgroup: {
subgroup: {
name: 'author_rationale',
name: 'author_rationale',
type: 'input',
type: 'input',
label: 'Optional explanation: ',
label: 'توضیحات اختیاری: ',
tooltip: 'Perhaps linking to where the author requested this deletion.',
tooltip: 'می‌تواند شامل صفحه‌ای باشد که نویسندهٔ صفحه در آن درخواست حذف داده‌است.',
size: 60
size: 60
},
},
خط ۹۹۴: خط ۹۹۴:
label: 'ع۸: صفحه‌های وابسته به صفحه‌ای حذف‌شده یا ناموجود', // localized
label: 'ع۸: صفحه‌های وابسته به صفحه‌ای حذف‌شده یا ناموجود', // localized
value: 'g8',
value: 'g8',
tooltip: 'such as talk pages with no corresponding subject page; subpages with no parent page; file pages without a corresponding file; redirects to non-existent targets; or categories populated by deleted or retargeted templates. This excludes any page that is useful to the project, and in particular: deletion discussions that are not logged elsewhere, user and user talk pages, talk page archives, plausible redirects that can be changed to valid targets, and file pages or talk pages for files that exist on Wikimedia Commons.',
tooltip: 'مانند صفحه‌های بحثی که مقاله‌شان وجود نداشته باشد، زیرصفحه‌های بدون صفحه مادر، صفحه‌های تصویر بدون هیچ تصویر، تغییرمسیرهایی که هدف معتبری ندارند، تغییرمسیرهای حلقه‌ای یا رده‌های مربوط به الگوهای حذف‌شده. این معیار شامل صفحه‌هایی که برای پروژه مفید هستند، و به‌ویژه نظرخواهی‌های حذفی که جای دیگری فهرست نشده‌اند، صفحه‌های کاربری و صفحه‌های بحث کاربری، بایگانی بحث‌ها، تغییرمسیرهای محتملی که بتوان آن‌ها را به هدف‌های معتبری تغییر داد، و صفحهٔ پرونده یا بحث پرونده مربوط به تصویری که در ویکی‌انبار بارگذاری شده است، نمی‌شود.',
subgroup: {
subgroup: {
name: 'g8_rationale',
name: 'g8_rationale',
type: 'input',
type: 'input',
label: 'Optional explanation: ',
label: 'توضیحات اختیاری: ',
size: 60
size: 60
},
},
خط ۱٬۰۰۶: خط ۱٬۰۰۶:
label: 'ع۸: زیرصفحه‌های فاقد صفحهٔ مادر', // localized
label: 'ع۸: زیرصفحه‌های فاقد صفحهٔ مادر', // localized
value: 'subpage',
value: 'subpage',
tooltip: 'This excludes any page that is useful to the project, and in particular: deletion discussions that are not logged elsewhere, user and user talk pages, talk page archives, plausible redirects that can be changed to valid targets, and file pages or talk pages for files that exist on Wikimedia Commons.',
tooltip: 'این معیار شامل صفحه‌هایی که برای پروژه مفید هستند، و به‌ویژه نظرخواهی‌های حذفی که جای دیگری فهرست نشده‌اند، صفحه‌های کاربری و صفحه‌های بحث کاربری، بایگانی بحث‌ها، تغییرمسیرهای محتملی که بتوان آن‌ها را به هدف‌های معتبری تغییر داد، و صفحهٔ پرونده یا بحث پرونده مربوط به تصویری که در ویکی‌انبار بارگذاری شده است، نمی‌شود.',
hideWhenMultiple: true,
hideWhenMultiple: true,
hideInNamespaces: [ 0, 6, 8 ]  // hide in main, file, and mediawiki-spaces
hideInNamespaces: [ 0, 6, 8 ]  // hide in main, file, and mediawiki-spaces
خط ۱٬۰۱۳: خط ۱٬۰۱۳:
label: 'ع۱۰: صفحه‌های حمله', // localized
label: 'ع۱۰: صفحه‌های حمله', // localized
value: 'attack',
value: 'attack',
tooltip: 'Pages that serve no purpose but to disparage or threaten their subject or some other entity (e.g., "John Q. Doe is an imbecile"). This includes a biography of a living person that is negative in tone and unsourced, where there is no NPOV version in the history to revert to. Administrators deleting such pages should not quote the content of the page in the deletion summary!'
tooltip: 'صفحه‌هایی که تنها هدف از ایجادشان حمله به یک شخص یا سازمان یا نظایر آن باشد (مثل ایجاد مقاله‌ای با عنوان فلانی یک احمق است). این معیار همچنین شامل صفحه‌های زندگی‌نامه افراد زنده نیز می‌شود؛ به شرطی که لحنی منفی داشته باشند، منبع کافی نداشته باشند و نسخهٔ بی‌طرفانه‌ای در تاریخچهٔ آن‌ها برای واگردانی موجود نباشد. مدیرانی که چنین صفحه‌هایی را حذف می‌کنند نباید محتوای صفحه را در خلاصهٔ حذف درج کنند!'
},
},
{
{
label: 'ع۱۰: زندگی‌نامه افراد زندهٔ کاملاً منفی و بدون منبع', // localized
label: 'ع۱۰: زندگی‌نامه افراد زندهٔ کاملاً منفی و بدون منبع', // localized
value: 'negublp',
value: 'negublp',
tooltip: 'A biography of a living person that is entirely negative in tone and unsourced, where there is no neutral version in the history to revert to.',
tooltip: 'صفحه‌های زندگی‌نامهٔ افراد زنده که لحنی منفی داشته باشند، منبع کافی نداشته باشند و نسخهٔ بی‌طرفانه‌ای در تاریخچهٔ آن‌ها برای واگردانی موجود نباشد.',
hideWhenMultiple: true
hideWhenMultiple: true
},
},
خط ۱٬۰۲۴: خط ۱٬۰۲۴:
label: 'ع۱۱: تبلیغات واضح', // localized
label: 'ع۱۱: تبلیغات واضح', // localized
value: 'spam',
value: 'spam',
tooltip: 'Pages which exclusively promote a company, product, group, service, or person and which would need to be fundamentally rewritten in order to become encyclopedic. Note that an article about a company or a product which describes its subject from a neutral point of view does not qualify for this criterion; an article that is blatant advertising should have inappropriate content as well'
tooltip: 'صفحه‌هایی که منحصراً به تبلیغ برای یک شرکت، محصول، گروه، خدمات، یا شخص می‌پردازند و برای دانشنامه‌ای شدن، نیازمند بازنویسی عمده هستند. دقت کنید که اگر یک مقاله موضوعش را از دیدگاهی بی‌طرف توصیف کند، برای این معیار مناسب نیست؛ مقاله‌ای که شامل تبلیغات آشکار است، باید دربردارندهٔ محتوای نامناسب نیز باشد'
},
},
{
{
label: 'ع۱۲: نقض آشکار حق تکثیر', // localized
label: 'ع۱۲: نقض آشکار حق تکثیر', // localized
value: 'copyvio',
value: 'copyvio',
tooltip: 'Either: (1) Material was copied from another website that does not have a license compatible with Wikipedia, or is photography from a stock photo seller (such as Getty Images or Corbis) or other commercial content provider; (2) There is no non-infringing content in the page history worth saving; or (3) The infringement was introduced at once by a single person rather than created organically on wiki and then copied by another website such as one of the many Wikipedia mirrors',
tooltip: 'هر یک از این موارد: (۱) نقض حق تکثیر در یک نوبت و توسط یک نفر انجام شده باشد (پس توجه داشته باشید در مواردی که صفحه‌ای در ویکی‌پدیا و با مشارکت ویرایشگران ایجاد می‌شود، بعداً توسط یک وبسایت دیگر کپی می‌شود، در صورتی که به ٱن وبسایت برخورد کردید، اشتباهاً تصور نکنید که مقاله از آن‌جا به ویکی‌پدیا کپی شده‌است؛ (۲) نسخهٔ دیگری در تاریخچهٔ مقاله نباشد که ناقض حق تکثیر نبوده ارزش نگهداری داشته باشد؛ (۳) کسی که محتوا (اعم از متن یا تصویر) را بارگذاری می‌کند، شواهدی از مجاز بودن تکثیر محتوا ارائه نکند، یا ادعای وی مشکوک به نظر برسد؛ یا (۴) متن مقاله از جایی کپی شده باشد که اجازه نامهٔ انتشار آن با ویکی‌پدیا سازگاری نداشته باشد.',
subgroup: [
subgroup: [
{
{
name: 'copyvio_url',
name: 'copyvio_url',
type: 'input',
type: 'input',
label: 'URL (if available): ',
label: 'نشانی (در صورت وجود): ',
tooltip: 'If the material was copied from an online source, put the URL here, including the "http://" or "https://" protocol.',
tooltip: 'اگر محتوا از یک منبع برخط کپی شده‌است، نشانی وبگاه را اینجا قرار دهید و پروتکل‌های «http://» یا «https://» را هم از نشانی حذف نکنید.',
size: 60
size: 60
},
},
خط ۱٬۰۴۱: خط ۱٬۰۴۱:
name: 'copyvio_url2',
name: 'copyvio_url2',
type: 'input',
type: 'input',
label: 'Additional URL: ',
label: 'نشانی بیشتر: ',
tooltip: 'Optional. Should begin with "http://" or "https://"',
tooltip: 'اختیاری. باید با «http://» یا «https://» آغاز شود',
size: 60
size: 60
},
},
خط ۱٬۰۴۸: خط ۱٬۰۴۸:
name: 'copyvio_url3',
name: 'copyvio_url3',
type: 'input',
type: 'input',
label: 'Additional URL: ',
label: 'نشانی بیشتر: ',
tooltip: 'Optional. Should begin with "http://" or "https://"',
tooltip: 'اختیاری. باید با «http://» یا «https://» آغاز شود',
size: 60
size: 60
}
}
خط ۱٬۰۵۷: خط ۱٬۰۵۷:
label: 'ع۱۳: پیش‌نویس رهاشده', // localized
label: 'ع۱۳: پیش‌نویس رهاشده', // localized
value: 'afc',
value: 'afc',
tooltip: 'Any rejected or unsubmitted AfC submission in userspace or any non-redirect page in draft namespace, that has not been edited for more than 6 months. Blank drafts in either namespace are also included.',
tooltip: 'هرگونه درخواست ردشده یا ارسال‌نشدهٔ مبا در فضای کاربری یا هرگونه صفحهٔ غیر تغییرمسیر در فضای نام پیش نویس که ظرف شش ماه گذشته ویرایش نشده‌است. پیش‌نویس‌های خالی در هریک از این فضاهای نام را نیز شامل می‌شود.',
hideWhenRedirect: true,
hideWhenRedirect: true,
showInNamespaces: [2, 118]  // user, draft namespaces only
showInNamespaces: [2, 118]  // user, draft namespaces only
خط ۱٬۰۶۴: خط ۱٬۰۶۴:
label: 'ع۱۴: صفحهٔ ابهام‌زدایی نالازم', // localized
label: 'ع۱۴: صفحهٔ ابهام‌زدایی نالازم', // localized
value: 'disambig',
value: 'disambig',
tooltip: 'This only applies for orphaned disambiguation pages which either: (1) disambiguate only one existing Wikipedia page and whose title ends in "(disambiguation)" (i.e., there is a primary topic); or (2) disambiguate no (zero) existing Wikipedia pages, regardless of its title. It also applies to orphan "Foo (disambiguation)" redirects that target pages that are not disambiguation or similar disambiguation-like pages (such as set index articles or lists)'
tooltip: 'این معیار به صفحه‌های ابهام‌زدایی اعمال می‌شود که ۱) عنوانشان با «(ابهام‌زدایی)» پایان می‌یابد ولی فقط یک صفحهٔ موجود در ویکی‌پدیا را ابهام‌زدایی می‌کنند؛ یا ۲) بدون توجه به عنوان، هیچ صفحهٔ موجود در ویکی‌پدیا را ابهام‌زدایی نمی‌کنند. اگر یک صفحهٔ ابهام‌زدایی فقط به یک مقاله پیوند داده و عنوانش با «(ابهام‌زدایی)» پایان نیابد، باید به یک تغییرمسیر تبدیل شود. ع۱۴ همچنین به تغییرمسیرهای یتیم «مثال (ابهام‌زدایی)» اعمال می‌شود که صفحهٔ هدف تغییرمسیرشان، صفحهٔ ابهام‌زدایی نبوده یا صفحه‌ای با کارکرد مشابه ابهام‌زدایی (مثل مقالات مجموعه‌نمایه یا فهرست) نباشد'
}
}
];
];
خط ۱٬۰۷۲: خط ۱٬۰۷۲:
label: 'ت۲: تغییرمسیر به فضای نام دیگر', // localized
label: 'ت۲: تغییرمسیر به فضای نام دیگر', // localized
value: 'rediruser',
value: 'rediruser',
tooltip: 'This does not include the pseudo-namespace shortcuts. If this was the result of a page move, consider waiting a day or two before deleting the redirect',
tooltip: 'شامل میانبرهای شبه‌فضای نام («وپ:») نمی‌شود. اگر صفحهٔ تغییرمسیر بر جا مانده از انتقال یک مقاله است، بهتر است یک یا دو روز قبل از حذف صفحهٔ تغییرمسیر صبر کرد',
showInNamespaces: [ 0 ]
showInNamespaces: [ 0 ]
},
},
خط ۱٬۰۷۸: خط ۱٬۰۷۸:
label: 'ت۳: غلط‌های املایی نامحتمل', // localized
label: 'ت۳: غلط‌های املایی نامحتمل', // localized
value: 'redirtypo',
value: 'redirtypo',
tooltip: 'However, redirects from common misspellings or misnomers are generally useful, as are redirects in other languages'
tooltip: 'تغییرمسیرها از غلط املایی یا عنوان بی‌مسمای رایج عموماً مفیدند، همان‌طور که تغییرمسیرها از زبانی دیگر نیز گاهی مفیدند'
},
},
{
{
خط ۱٬۰۸۷: خط ۱٬۰۸۷:
},
},
{
{
label: 'G6: Redirect to malplaced disambiguation page',
label: 'ع۶: تغییرمسیر به صفحهٔ ابهام‌زدایی قرار گرفته در جای اشتباه',
value: 'movedab',
value: 'movedab',
tooltip: 'This only applies for redirects to disambiguation pages ending in (disambiguation) where a primary topic does not exist.',
tooltip: 'این معیار تنها بر تغییرمسیرها به صفحه‌های ابهام‌زدایی که عنوانشان با (ابهام‌زدایی) پایان می‌یابد و کاربرد اصلی برای آن موجود نیست، اعمال می‌شود.',
hideWhenMultiple: true
hideWhenMultiple: true
},
},
خط ۱٬۰۹۵: خط ۱٬۰۹۵:
label: 'ع۸: تغییرمسیر به هدف ناموجود', // localized
label: 'ع۸: تغییرمسیر به هدف ناموجود', // localized
value: 'redirnone',
value: 'redirnone',
tooltip: 'This excludes any page that is useful to the project, and in particular: deletion discussions that are not logged elsewhere, user and user talk pages, talk page archives, plausible redirects that can be changed to valid targets, and file pages or talk pages for files that exist on Wikimedia Commons.',
tooltip: 'این معیار شامل صفحه‌هایی که برای پروژه مفید هستند، و به‌ویژه نظرخواهی‌های حذفی که جای دیگری فهرست نشده‌اند، صفحه‌های کاربری و صفحه‌های بحث کاربری، بایگانی بحث‌ها، تغییرمسیرهای محتملی که بتوان آن‌ها را به هدف‌های معتبری تغییر داد، و صفحهٔ پرونده یا بحث پرونده مربوط به تصویری که در ویکی‌انبار بارگذاری شده است، نمی‌شود.',
hideWhenMultiple: true
hideWhenMultiple: true
}
}
خط ۱٬۲۱۵: خط ۱٬۲۱۵:


var statusIndicator = new Morebits.status('ایجاد خلاصهٔ حذف'); // localized
var statusIndicator = new Morebits.status('ایجاد خلاصهٔ حذف'); // localized
var api = new Morebits.wiki.api('Parsing deletion template', query, function(apiObj) {
var api = new Morebits.wiki.api('تجزیهٔ الگوی حذف', query, function(apiObj) {
var reason = decodeURIComponent($(apiObj.getXML().querySelector('text').childNodes[0].nodeValue).find('#delete-reason').text()).replace(/\+/g, ' ');
var reason = decodeURIComponent($(apiObj.getXML().querySelector('text').childNodes[0].nodeValue).find('#delete-reason').text()).replace(/\+/g, ' ');
if (!reason) {
if (!reason) {
خط ۱٬۲۳۸: خط ۱٬۲۳۸:
// don't notify users when their user talk page is nominated/deleted
// don't notify users when their user talk page is nominated/deleted
} else if (initialContrib === mw.config.get('wgTitle') && mw.config.get('wgNamespaceNumber') === 3) {
} else if (initialContrib === mw.config.get('wgTitle') && mw.config.get('wgNamespaceNumber') === 3) {
Morebits.status.warn('Notifying initial contributor: this user created their own user talk page; skipping notification');
Morebits.status.warn('آگاه‌سازی مشارکت‌کنندهٔ اولیه: این کاربر صفحهٔ بحث خودش را ایجاد کرده‌است؛ صرف نظر از آگاه‌سازی');
initialContrib = null;
initialContrib = null;


// quick hack to prevent excessive unwanted notifications, per request. Should actually be configurable on recipient page...
// quick hack to prevent excessive unwanted notifications, per request. Should actually be configurable on recipient page...
} else if ((initialContrib === 'Cyberbot I' || initialContrib === 'SoxBot') && params.normalizeds[0] === 'f2') {
} else if ((initialContrib === 'Cyberbot I' || initialContrib === 'SoxBot') && params.normalizeds[0] === 'f2') {
Morebits.status.warn('Notifying initial contributor: page created procedurally by bot; skipping notification');
Morebits.status.warn('آگاه‌سازی مشارکت‌کنندهٔ اولیه: صفحه به‌صورت رویه‌ای توسط ربات ایجاد شده‌است؛ صرف نظر از آگاه‌سازی');
initialContrib = null;
initialContrib = null;


// Check for already existing tags
// Check for already existing tags
} else if (Twinkle.speedy.hasCSD && params.warnUser && !confirm('The page is has a deletion-related tag, and thus the creator has likely been notifiedDo you want to notify them for this deletion as well?')) {
} else if (Twinkle.speedy.hasCSD && params.warnUser && !confirm('صفحه از پیش برچسب مرتبط با حذف را در خود دارد و بنابراین احتمالاً ایجادکننده قبلاً آگاه‌سازی شده‌استآیا می‌خواهید کاربر را از این حذف نیز باخبر کنید؟')) {
Morebits.status.info('Notifying initial contributor', 'canceled by user; skipping notification.');
Morebits.status.info('آگاه‌سازی مشارکت‌کنندهٔ اولیه', 'توسط کاربر لغو شد؛ صرف نظر از آگاه‌سازی.');
initialContrib = null;
initialContrib = null;
}
}


if (initialContrib) {
if (initialContrib) {
var usertalkpage = new Morebits.wiki.page('User talk:' + initialContrib, 'Notifying initial contributor (' + initialContrib + ')'),
var usertalkpage = new Morebits.wiki.page('بحث کاربر:' + initialContrib, 'آگاه‌سازی مشارکت‌کنندهٔ اولیه (' + initialContrib + ')'),
notifytext, i, editsummary;
notifytext, i, editsummary;


خط ۱٬۳۱۴: خط ۱٬۳۱۴:
var reason;
var reason;
if (!params.normalizeds.length && params.normalizeds[0] === 'db') {
if (!params.normalizeds.length && params.normalizeds[0] === 'db') {
reason = prompt('Enter the deletion summary to use, which will be entered into the deletion log:', '');
reason = prompt('خلاصهٔ حذف برای استفاده، که در سیاههٔ حذف درج خواهد شد را وارد کنید:', '');
Twinkle.speedy.callbacks.sysop.deletePage(reason, params);
Twinkle.speedy.callbacks.sysop.deletePage(reason, params);
} else {
} else {
خط ۱٬۳۲۰: خط ۱٬۳۲۰:
Twinkle.speedy.callbacks.parseWikitext(code, function(reason) {
Twinkle.speedy.callbacks.parseWikitext(code, function(reason) {
if (params.promptForSummary) {
if (params.promptForSummary) {
reason = prompt('Enter the deletion summary to use, or press OK to accept the automatically generated one.', reason);
reason = prompt('خلاصهٔ حذف برای استفاده را وارد کنید یا برای تأیید خلاصهٔ تولیدشده به‌صورت خودکار، روی OK کلیک کنید تا.', reason);
}
}
Twinkle.speedy.callbacks.sysop.deletePage(reason, params);
Twinkle.speedy.callbacks.sysop.deletePage(reason, params);
خط ۱٬۳۶۰: خط ۱٬۳۶۰:
// delete talk page
// delete talk page
if (params.deleteTalkPage &&
if (params.deleteTalkPage &&
params.normalized !== 'f8' &&
params.normalized !== 'پ۸' &&
document.getElementById('ca-talk').className !== 'new') {
document.getElementById('ca-talk').className !== 'new') {
var talkpage = new Morebits.wiki.page(mw.config.get('wgFormattedNamespaces')[mw.config.get('wgNamespaceNumber') + 1] + ':' + mw.config.get('wgTitle'), 'حذف صفحهٔ بحث'); // localized
var talkpage = new Morebits.wiki.page(mw.config.get('wgFormattedNamespaces')[mw.config.get('wgNamespaceNumber') + 1] + ':' + mw.config.get('wgTitle'), 'حذف صفحهٔ بحث'); // localized
talkpage.setEditSummary('[[WP:CSD#G8|G8]]: Talk page of deleted page "' + Morebits.pageNameNorm + '"' + Twinkle.getPref('deletionSummaryAd'));
talkpage.setEditSummary('[[وپ:محس#ع۸|ع۸]]: بحث صفحهٔ حذف‌شدهٔ  «'+ Morebits.pageNameNorm + '»' + Twinkle.getPref('deletionSummaryAd'));
talkpage.deletePage();
talkpage.deletePage();
// this is ugly, but because of the architecture of wiki.api, it is needed
// this is ugly, but because of the architecture of wiki.api, it is needed
خط ۱٬۳۸۳: خط ۱٬۳۸۳:
'rdlimit': 'max' // 500 is max for normal users, 5000 for bots and sysops
'rdlimit': 'max' // 500 is max for normal users, 5000 for bots and sysops
};
};
var wikipedia_api = new Morebits.wiki.api('getting list of redirects...', query, Twinkle.speedy.callbacks.sysop.deleteRedirectsMain,
var wikipedia_api = new Morebits.wiki.api('دریافت فهرست تغییرمسیرها...', query, Twinkle.speedy.callbacks.sysop.deleteRedirectsMain,
new Morebits.status('در حال حذف تغییرمسیرها')); // localized
new Morebits.status('در حال حذف تغییرمسیرها')); // localized
wikipedia_api.params = params;
wikipedia_api.params = params;
خط ۱٬۳۹۱: خط ۱٬۳۹۱:
// promote Unlink tool
// promote Unlink tool
var $link, $bigtext;
var $link, $bigtext;
if (mw.config.get('wgNamespaceNumber') === 6 && params.normalized !== 'f8') {
if (mw.config.get('wgNamespaceNumber') === 6 && params.normalized !== 'پ۸') {
$link = $('<a/>', {
$link = $('<a/>', {
'href': '#',
'href': '#',
'text': 'click here to go to the Unlink tool',
'text': 'برای رفتن به ابزار قطع پیوند اینجا کلیک کنید',
'css': { 'fontSize': '130%', 'fontWeight': 'bold' },
'css': { 'fontSize': '130%', 'fontWeight': 'bold' },
'click': function() {
'click': function() {
Morebits.wiki.actionCompleted.redirect = null;
Morebits.wiki.actionCompleted.redirect = null;
Twinkle.speedy.dialog.close();
Twinkle.speedy.dialog.close();
Twinkle.unlink.callback('Removing usages of and/or links to deleted file ' + Morebits.pageNameNorm);
Twinkle.unlink.callback('حذف کاربردها و/یا پیوندها به پروندهٔ ' + Morebits.pageNameNorm);
}
}
});
});
$bigtext = $('<span/>', {
$bigtext = $('<span/>', {
'text': 'To orphan backlinks and remove instances of file usage',
'text': 'برای پیوندهای ورودی یتیم و حذف موارد کاربرد پرونده',
'css': { 'fontSize': '130%', 'fontWeight': 'bold' }
'css': { 'fontSize': '130%', 'fontWeight': 'bold' }
});
});
Morebits.status.info($bigtext[0], $link[0]);
Morebits.status.info($bigtext[0], $link[0]);
} else if (params.normalized !== 'f8') {
} else if (params.normalized !== 'پ۸') {
$link = $('<a/>', {
$link = $('<a/>', {
'href': '#',
'href': '#',
'text': 'click here to go to the Unlink tool',
'text': 'برای رفتن به ابزار قطع پیوند اینجا کلیک کنید',
'css': { 'fontSize': '130%', 'fontWeight': 'bold' },
'css': { 'fontSize': '130%', 'fontWeight': 'bold' },
'click': function() {
'click': function() {
Morebits.wiki.actionCompleted.redirect = null;
Morebits.wiki.actionCompleted.redirect = null;
Twinkle.speedy.dialog.close();
Twinkle.speedy.dialog.close();
Twinkle.unlink.callback('Removing links to deleted page ' + Morebits.pageNameNorm);
Twinkle.unlink.callback('حذف ییوندها به صفحهٔ حذف‌شدهٔ ' + Morebits.pageNameNorm);
}
}
});
});
$bigtext = $('<span/>', {
$bigtext = $('<span/>', {
'text': 'To orphan backlinks',
'text': 'جهت قطع پیوندهای ورودی',
'css': { 'fontSize': '130%', 'fontWeight': 'bold' }
'css': { 'fontSize': '130%', 'fontWeight': 'bold' }
});
});
خط ۱٬۴۳۶: خط ۱٬۴۳۶:
}
}


statusIndicator.status('0%');
statusIndicator.status('');


var current = 0;
var current = 0;
خط ۱٬۴۴۴: خط ۱٬۴۴۴:
apiobjInner.statelem.unlink();
apiobjInner.statelem.unlink();
if (current >= total) {
if (current >= total) {
statusIndicator.info(now + ' (کامل شد)'); // localized
statusIndicator.info(mw.language.convertNumber(now) + ' (کامل شد)'); // localized
Morebits.wiki.removeCheckpoint();
Morebits.wiki.removeCheckpoint();
}
}
خط ۱٬۴۵۳: خط ۱٬۴۵۳:
$snapshot.each(function(key, value) {
$snapshot.each(function(key, value) {
var title = $(value).attr('title');
var title = $(value).attr('title');
var page = new Morebits.wiki.page(title, 'در حال حذف تغییرمسیر "' + title + '"'); // localized
var page = new Morebits.wiki.page(title, 'در حال حذف تغییرمسیر «' + title + '»'); // localized
page.setEditSummary('[[WP:CSD#G8|G8]]: Redirect to deleted page "' + Morebits.pageNameNorm + '"' + Twinkle.getPref('deletionSummaryAd'));
page.setEditSummary('[[وپ:محس#ع۸|ع۸]]: تغییرمسیر به صفحهٔ حذف‌شدهٔ «' + Morebits.pageNameNorm + '»' + Twinkle.getPref('deletionSummaryAd'));
page.deletePage(onsuccess);
page.deletePage(onsuccess);
});
});
خط ۱٬۴۶۶: خط ۱٬۴۶۶:
// defaults to /doc for lua modules, which may not exist
// defaults to /doc for lua modules, which may not exist
if (!pageobj.exists() && mw.config.get('wgPageContentModel') !== 'Scribunto') {
if (!pageobj.exists() && mw.config.get('wgPageContentModel') !== 'Scribunto') {
statelem.error("It seems that the page doesn't exist; perhaps it has already been deleted");
statelem.error("به‌نظر می‌رسد که صفحه موجود نیست؛ ممکن است که قبلاً حذف شده‌باشد");
return;
return;
}
}
خط ۱٬۴۷۶: خط ۱٬۴۷۶:


// check for existing deletion tags
// check for existing deletion tags
var tag = /(?:\{\{\s*(db|delete|db-.*?|speedy deletion-.*?)(?:\s*\||\s*\}\}))/.exec(text);
var tag = /(?:\{\{\s*(db|حس|delete|(db|حس)-.*?|(speedy deletion|حذف سریع)-.*?)(?:\s*\||\s*\}\}))/.exec(text);
// This won't make use of the db-multiple template but it probably should
// This won't make use of the db-multiple template but it probably should
if (tag && !confirm('یک الگوی {{' + tag[1] + '}} برای حذف سریع از پیش در صفحه قرار داده شده‌است. آیا می‌خواهید یک الگوی حذف سریع دیگر هم اضافه کنید؟')) { // localized
if (tag && !confirm('یک الگوی {{' + tag[1] + '}} برای حذف سریع از پیش در صفحه قرار داده شده‌است. آیا می‌خواهید یک الگوی حذف سریع دیگر هم اضافه کنید؟')) { // localized
خط ۱٬۴۸۲: خط ۱٬۴۸۲:
}
}


var xfd = /\{\{((?:article for deletion|proposed deletion|prod blp|template for discussion)\/dated|[cfm]fd\b)/i.exec(text) || /#invoke:(RfD)/.exec(text);
var xfd = /\{\{((?:نظرخواهی برای حذف|article for deletion|proposed deletion|حذف زماندار|حز|حز زنز|prod blp|template for discussion)\/dated|[cfm]fd\b)/i.exec(text) || /#invoke:(RfD)/.exec(text);
if (xfd && !confirm('The deletion-related template {{' + xfd[1] + '}} was found on the page. Do you still want to add a CSD template?')) {
if (xfd && !confirm('الگوی مرتبط با حذف {{' + xfd[1] + '}} در صفحه یافت شد. آیا همچنان میال به افزودن برچسب حذف سریع هستید؟')) {
return;
return;
}
}
خط ۱٬۵۰۵: خط ۱٬۵۰۵:


// Remove tags that become superfluous with this action
// Remove tags that become superfluous with this action
text = text.replace(/\{\{\s*([Uu]serspace draft)\s*(\|(?:\{\{[^{}]*\}\}|[^{}])*)?\}\}\s*/g, '');
text = text.replace(/\{\{\s*(پیش‌نویس صفحه کاربری|[Uu]serspace draft)\s*(\|(?:\{\{[^{}]*\}\}|[^{}])*)?\}\}\s*/g, '');
if (mw.config.get('wgNamespaceNumber') === 6) {
if (mw.config.get('wgNamespaceNumber') === 6) {
// remove "move to Commons" tag - deletion-tagged files cannot be moved to Commons
// remove "move to Commons" tag - deletion-tagged files cannot be moved to Commons
text = text.replace(/\{\{(mtc|(copy |move )?to ?commons|move to wikimedia commons|copy to wikimedia commons)[^}]*\}\}/gi, '');
text = text.replace(/\{\{(mtc|(copy |move )?to ?commons|انتقال به ویکی‌انبار|انتقال به انبار|move to wikimedia commons|copy to wikimedia commons)[^}]*\}\}/gi, '');
}
}


خط ۱٬۵۲۴: خط ۱٬۵۲۴:
editsummary = 'ثبت درخواست حذف سریع ('; // localized
editsummary = 'ثبت درخواست حذف سریع ('; // localized
$.each(params.normalizeds, function(index, norm) {
$.each(params.normalizeds, function(index, norm) {
editsummary += '[[وپ:محس#' + norm.toUpperCase() + '|محس ' + norm.toUpperCase() + ']], '; // localized
editsummary += '[[وپ:محس#' + norm + '|محس ' + norm + ']], '; // localized
});
});
editsummary = editsummary.substr(0, editsummary.length - 2); // remove trailing comma
editsummary = editsummary.substr(0, editsummary.length - 2); // remove trailing comma
editsummary += ').';
editsummary += ').';
} else if (params.normalizeds[0] === 'db') {
} else if (params.normalizeds[0] === 'حذف سریع') {
editsummary = 'ثبت درخواست [[وپ:محس|حذف سریع]] با معیار «' + params.templateParams[0]['1'] + '».'; // localized
editsummary = 'ثبت درخواست [[وپ:محس|حذف سریع]] با معیار «' + params.templateParams[0]['1'] + '».'; // localized
} else {
} else {
editsummary = 'ثبت درخواست حذف سریع ([[وپ:محس#' + params.normalizeds[0].toUpperCase() + '|محس ' + params.normalizeds[0].toUpperCase() + ']]).'; // localized
editsummary = 'ثبت درخواست حذف سریع ([[وپ:محس#' + params.normalizeds[0] + '|محس ' + params.normalizeds[0] + ']]).'; // localized
}
}


// Set the correct value for |ts= parameter in {{db-g13}}
// Set the correct value for |ts= parameter in {{db-g13}}
if (params.normalizeds.indexOf('g13') !== -1) {
if (params.normalizeds.indexOf('ع۱۳') !== -1) {
code = code.replace('$TIMESTAMP', pageobj.getLastEditTime());
code = code.replace('$TIMESTAMP', pageobj.getLastEditTime());
}
}


pageobj.setPageText(code + (params.normalizeds.indexOf('g10') !== -1 ? '' : '\n' + text)); // cause attack pages to be blanked
pageobj.setPageText(code + (params.normalizeds.indexOf('ع۱۰') !== -1 ? '' : '\n' + text)); // cause attack pages to be blanked
pageobj.setEditSummary(editsummary + Twinkle.getPref('summaryAd'));
pageobj.setEditSummary(editsummary + Twinkle.getPref('summaryAd'));
pageobj.setWatchlist(params.watch);
pageobj.setWatchlist(params.watch);
خط ۱٬۵۵۱: خط ۱٬۵۵۱:
token: mw.user.tokens.get('watchToken')
token: mw.user.tokens.get('watchToken')
};
};
new Morebits.wiki.api('Adding Module to watchlist', watch_query).post();
new Morebits.wiki.api('افزودن پودمان به فهرست پی‌گیری', watch_query).post();
}
}
}
}
خط ۱٬۵۷۸: خط ۱٬۵۷۸:
var usl = new Morebits.userspaceLogger(Twinkle.getPref('speedyLogPageName'));
var usl = new Morebits.userspaceLogger(Twinkle.getPref('speedyLogPageName'));
usl.initialText =
usl.initialText =
"This is a log of all [[WP:CSD|speedy deletion]] nominations made by this user using [[WP:TW|Twinkle]]'s CSD module.\n\n" +
"این صفحه شامل سیاهه‌ای از تمام نامزدی‌های [[وپ:محس|حذف سریع]] انجام‌شده توسط این کاربر با استفاده از پودمان حذف سریع [[وپ:توینکل|توینکل]] است.\n\n" +
'If you no longer wish to keep this log, you can turn it off using the [[Wikipedia:Twinkle/Preferences|preferences panel]], and ' +
'اگر دیگر مایل به نگهداری این سیاهه نیستید، می‌توانید از طریق [[ویکی‌پدیا:توینکل/ترجیحات|پنل ترجیحات]] آن را غیرفعال کنید و ' +
'nominate this page for speedy deletion under [[WP:CSD#U1|CSD U1]].' +
'این صفحه را تحت معیار [[وپ:محس#ک۱|محس ک۱]] نامزد حذف کنید.' +
(Morebits.userIsSysop ? '\n\nThis log does not track outright speedy deletions made using Twinkle.' : '');
(Morebits.userIsSysop ? '\n\nاین سیاهه، حذف‌های سریع کاملی که با توینکل انجام شده‌اند را رهگیری نمی‌کند.' : '');


var formatParamLog = function(normalize, csdparam, input) {
var formatParamLog = function(normalize, csdparam, input) {
if ((normalize === 'G4' && csdparam === 'xfd') ||
if ((normalize === 'ع۴' && csdparam === 'xfd') ||
(normalize === 'G6' && csdparam === 'page') ||
(normalize === 'ع۶' && csdparam === 'page') ||
(normalize === 'G6' && csdparam === 'fullvotepage') ||
(normalize === 'ع۶' && csdparam === 'fullvotepage') ||
(normalize === 'G6' && csdparam === 'sourcepage') ||
(normalize === 'ع۶' && csdparam === 'sourcepage') ||
(normalize === 'A2' && csdparam === 'source') ||
(normalize === 'م۲' && csdparam === 'source') ||
(normalize === 'A10' && csdparam === 'article') ||
(normalize === 'م۱۰' && csdparam === 'article') ||
(normalize === 'F1' && csdparam === 'filename') ||
(normalize === 'پ۱' && csdparam === 'filename') ||
(normalize === 'F5' && csdparam === 'replacement')) {
(normalize === 'پ۵' && csdparam === 'replacement')) {
input = '[[:' + input + ']]';
input = '[[:' + input + ']]';
} else if (normalize === 'G5' && csdparam === 'user') {
} else if (normalize === 'ع۵' && csdparam === 'user') {
input = '[[:User:' + input + ']]';
input = '[[:کاربر:' + input + ']]';
} else if (normalize === 'G12' && csdparam.lastIndexOf('url', 0) === 0 && input.lastIndexOf('http', 0) === 0) {
} else if (normalize === 'ع۱۲' && csdparam.lastIndexOf('url', 0) === 0 && input.lastIndexOf('http', 0) === 0) {
input = '[' + input + ' ' + input + ']';
input = '[' + input + ' ' + input + ']';
} else if (normalize === 'T3' && csdparam === 'template') {
} else if (normalize === 'ال۳' && csdparam === 'template') {
input = '[[:Template:' + input + ']]';
input = '[[:الگو:' + input + ']]';
} else if (normalize === 'F8' && csdparam === 'filename') {
} else if (normalize === 'پ۸' && csdparam === 'filename') {
input = '[[commons:' + input + ']]';
input = '[[commons:' + input + ']]';
} else if (normalize === 'P1' && csdparam === 'criterion') {
} else if (normalize === 'پ۱' && csdparam === 'criterion') {
input = '[[WP:CSD#' + input + ']]';
input = '[[وپ:محس#' + input + ']]';
}
}
return ' {' + normalize + ' ' + csdparam + ': ' + input + '}';
return ' {' + normalize + ' ' + csdparam + ': ' + input + '}';
خط ۱٬۶۱۰: خط ۱٬۶۱۰:


// If a logged file is deleted but exists on commons, the wikilink will be blue, so provide a link to the log
// If a logged file is deleted but exists on commons, the wikilink will be blue, so provide a link to the log
var fileLogLink = mw.config.get('wgNamespaceNumber') === 6 ? ' ([{{fullurl:Special:Log|page=' + mw.util.wikiUrlencode(mw.config.get('wgPageName')) + '}} log])' : '';
var fileLogLink = mw.config.get('wgNamespaceNumber') === 6 ? ' ([{{fullurl:ویژه:سیاهه‌ها|page=' + mw.util.wikiUrlencode(mw.config.get('wgPageName')) + '}} سیاهه])' : '';


var editsummary = 'Logging speedy deletion nomination';
var editsummary = 'ثبت سیاههٔ نامزدی حذف سریع';
var appendText = '# [[:' + Morebits.pageNameNorm;
var appendText = '# [[:' + Morebits.pageNameNorm;


if (params.fromDI) {
if (params.fromDI) {
appendText += ']]' + fileLogLink + ': DI [[WP:CSD#' + params.normalized.toUpperCase() + '|CSD ' + params.normalized.toUpperCase() + ']] ({{tl|di-' + params.templatename + '}})';
appendText += ']]' + fileLogLink + ': حپ [[وپ:محس#' + params.normalized + '|محس ' + params.normalized.toUpperCase() + ']] ({{الگو|di-' + params.templatename + '}})';
// The params data structure when coming from DI is quite different,
// The params data structure when coming from DI is quite different,
// so this hardcodes the only interesting items worth logging
// so this hardcodes the only interesting items worth logging
خط ۱٬۶۲۷: خط ۱٬۶۲۷:
editsummary += ' [[:' + Morebits.pageNameNorm + ']].'; // localized
editsummary += ' [[:' + Morebits.pageNameNorm + ']].'; // localized
} else {
} else {
if (params.normalizeds.indexOf('g10') === -1) {  // no article name in log for G10 taggings
if (params.normalizeds.indexOf('ع۱۰') === -1) {  // no article name in log for G10 taggings
appendText += ']]' + fileLogLink + ': ';
appendText += ']]' + fileLogLink + ': ';
editsummary += ' [[:' + Morebits.pageNameNorm + ']].'; // localized
editsummary += ' [[:' + Morebits.pageNameNorm + ']].'; // localized
خط ۱٬۶۳۷: خط ۱٬۶۳۷:
appendText += 'چند معیار ('; // localized
appendText += 'چند معیار ('; // localized
$.each(params.normalizeds, function(index, norm) {
$.each(params.normalizeds, function(index, norm) {
appendText += '[[WP:CSD#' + norm.toUpperCase() + '|' + norm.toUpperCase() + ']], ';
appendText += '[[وپ:محس#' + norm + '|' + norm + ']], ';
});
});
appendText = appendText.substr(0, appendText.length - 2);  // remove trailing comma
appendText = appendText.substr(0, appendText.length - 2);  // remove trailing comma
appendText += ')';
appendText += ')';
} else if (params.normalizeds[0] === 'db') {
} else if (params.normalizeds[0] === 'db') {
appendText += '{{tl|db-reason}}';
appendText += '{{الگو|db-reason}}';
} else {
} else {
appendText += '[[WP:CSD#' + params.normalizeds[0].toUpperCase() + '|CSD ' + params.normalizeds[0].toUpperCase() + ']] ({{tl|db-' + params.values[0] + '}})';
appendText += '[[وپ:محس#' + params.normalizeds[0] + '|محس ' + params.normalizeds[0] + ']] ({{الگو|db-' + params.values[0] + '}})';
}
}


خط ۱٬۶۵۱: خط ۱٬۶۵۱:
// Treat custom rationale individually
// Treat custom rationale individually
if (params.normalizeds[0] && params.normalizeds[0] === 'db') {
if (params.normalizeds[0] && params.normalizeds[0] === 'db') {
extraInfo += formatParamLog('Custom', 'rationale', params.templateParams[0]['1']);
extraInfo += formatParamLog('سفارشی', 'rationale', params.templateParams[0]['1']);
} else {
} else {
params.templateParams.forEach(function(item, index) {
params.templateParams.forEach(function(item, index) {
خط ۱٬۶۷۶: خط ۱٬۶۷۶:
}
}
if (initialContrib) {
if (initialContrib) {
appendText += '؛ {{user|1=' + initialContrib + '}} آگاه شد'; // localized
appendText += '؛ {{Userv|1=' + initialContrib + '}} آگاه شد'; // localized
}
}
appendText += ' ~~~~~\n';
appendText += ' ~~~~~\n';
خط ۱٬۷۱۰: خط ۱٬۷۱۰:
if (mw.config.get('wgNamespaceNumber') === 3 && !(/\//).test(mw.config.get('wgTitle')) &&
if (mw.config.get('wgNamespaceNumber') === 3 && !(/\//).test(mw.config.get('wgTitle')) &&
(!u1rationale || !u1rationale.trim())) {
(!u1rationale || !u1rationale.trim())) {
alert('CSD U1Please specify a rationale when nominating user talk pages.');
alert('محس ک۱لطفاً در زمان نامزد کردن صفحه‌های بحث کاربری، استدلالی ارائه دهید.');
parameters = null;
parameters = null;
return false;
return false;
خط ۱٬۷۲۳: خط ۱٬۷۲۳:
if (deldisc) {
if (deldisc) {
if (!/^(?:وپ|ویکی‌پدیا):/i.test(deldisc)) { // localized
if (!/^(?:وپ|ویکی‌پدیا):/i.test(deldisc)) { // localized
alert('محس ع۴: صفحه نظرخواهی حذف باید با "ویکی‌پدیا:" آغاز شود.'); // localized
alert('محس ع۴: صفحه نظرخواهی حذف باید با «ویکی‌پدیا:» آغاز شود.'); // localized
parameters = null;
parameters = null;
return false;
return false;
خط ۱٬۷۴۳: خط ۱٬۷۴۳:
movereason = form['csd.move_reason'].value;
movereason = form['csd.move_reason'].value;
if (!movepage || !movepage.trim()) {
if (!movepage || !movepage.trim()) {
alert('محس ع۶ (انتقال):  لطفاً نام صفحه‌ای که باید به اینجا انتقال یابد مشخص کنید.'); // localized
alert('محس ع۶ (انتقال):  لطفاً نام صفحه‌ای که باید به اینجا انتقال یابد را مشخص کنید.'); // localized
parameters = null;
parameters = null;
return false;
return false;
خط ۱٬۷۶۲: خط ۱٬۷۶۲:
if (xfd) {
if (xfd) {
if (!/^(?:wp|wikipedia):/i.test(xfd)) {
if (!/^(?:wp|wikipedia):/i.test(xfd)) {
alert('CSD G6 (XFD):  The deletion discussion page name, if provided, must start with "Wikipedia:".');
alert('محس ع۶ (نبح):  عنوان صفحهٔ نظرخواهی برای حذف، اگر وارد شده‌باشد، باید با «ویکی‌پدیا:» آغاز شود.');
parameters = null;
parameters = null;
return false;
return false;
خط ۱٬۸۲۶: خط ۱٬۸۲۶:
var redimage = form['csd.redundantimage_filename'].value;
var redimage = form['csd.redundantimage_filename'].value;
if (!redimage || !redimage.trim()) {
if (!redimage || !redimage.trim()) {
alert('CSD F1Please specify the filename of the other file.');
alert('محس پ۱لطفاً نام پروندهٔ دیگر را مشخص کنید.');
parameters = null;
parameters = null;
return false;
return false;
}
}
currentParams.filename = /^\s*(Image|File):/i.test(redimage) ? redimage : 'File:' + redimage;
currentParams.filename = /^\s*(پرونده|تصویر|Image|File):/i.test(redimage) ? redimage : 'پرونده:' + redimage;
}
}
break;
break;
خط ۱٬۸۴۴: خط ۱٬۸۴۴:
var filename = form['csd.commons_filename'].value;
var filename = form['csd.commons_filename'].value;
if (filename && filename.trim() && filename !== Morebits.pageNameNorm) {
if (filename && filename.trim() && filename !== Morebits.pageNameNorm) {
currentParams.filename = /^\s*(Image|File):/i.test(filename) ? filename : 'File:' + filename;
currentParams.filename = /^\s*(پرونده|تصویر|Image|File):/i.test(filename) ? filename : 'پرونده:' + filename;
}
}
}
}
خط ۱٬۸۵۴: خط ۱٬۸۵۴:
var f9rationale = form['csd.imgcopyvio_rationale'].value;
var f9rationale = form['csd.imgcopyvio_rationale'].value;
if ((!f9url || !f9url.trim()) && (!f9rationale || !f9rationale.trim())) {
if ((!f9url || !f9url.trim()) && (!f9rationale || !f9rationale.trim())) {
alert('CSD F9: You must enter a url or reason (or both) when nominating a file under F9.');
alert('محس پ۹: در زمان نامزد کردن پرونده با معیار پ۹، باید یک نشانی یا دلیل (یا هردو) را وارد کنید.');
parameters = null;
parameters = null;
return false;
return false;
خط ۱٬۸۷۱: خط ۱٬۸۷۱:
var foreignlink = form['csd.foreign_source'].value;
var foreignlink = form['csd.foreign_source'].value;
if (!foreignlink || !foreignlink.trim()) {
if (!foreignlink || !foreignlink.trim()) {
alert('CSD A2Please specify an interwiki link to the article of which this is a copy.');
alert('محس م۲لطفاً یک پیوند میان‌ویکی به مقاله‌ای که این صفحه از آن کپی شده‌است، ارائه دهید.');
parameters = null;
parameters = null;
return false;
return false;
خط ۱٬۹۱۲: خط ۱٬۹۱۲:
}
}
currentParams.ts = '~~~~~';
currentParams.ts = '~~~~~';
currentParams.template = t3template.replace(/^\s*Template:/i, '');
currentParams.template = t3template.replace(/^\s*الگو:/i, '');
}
}
break;
break;
خط ۱٬۹۲۰: خط ۱٬۹۲۰:
var criterion = form['csd.p1_criterion'].value;
var criterion = form['csd.p1_criterion'].value;
if (!criterion || !criterion.trim()) {
if (!criterion || !criterion.trim()) {
alert('CSD P1Please specify a single criterion.');
alert('محس د۱لطفاً یک معیار واحد را مشخص کنید.');
parameters = null;
parameters = null;
return false;
return false;
خط ۱٬۹۴۳: خط ۱٬۹۴۳:


// Special cases
// Special cases
if (normalized === 'db') {
if (normalized === 'حذف سریع') {
utparams['2'] = parameters['1'];
utparams['2'] = parameters['1'];
} else if (normalized === 'g6') {
} else if (normalized === 'ع۶') {
utparams.key1 = 'to';
utparams.key1 = 'to';
utparams.value1 = Morebits.pageNameNorm;
utparams.value1 = Morebits.pageNameNorm;
} else if (normalized === 'g12') {
} else if (normalized === 'ع۱۲') {
['url', 'url2', 'url3'].forEach(function(item, idx) {
['url', 'url2', 'url3'].forEach(function(item, idx) {
if (parameters[item]) {
if (parameters[item]) {
خط ۱٬۹۶۰: خط ۱٬۹۶۰:
var param;
var param;
switch (normalized) {
switch (normalized) {
case 'g4':
case 'ع۴':
param = 'xfd';
param = 'xfd';
break;
break;
case 'a2':
case 'م۲':
param = 'source';
param = 'source';
break;
break;
case 'a5':
case 'م۵':
param = 'location';
param = 'location';
break;
break;
case 'a10':
case 'م۱۰':
param = 'article';
param = 'article';
break;
break;
case 'f9':
case 'پ۹':
param = 'url';
param = 'url';
break;
break;
case 'p1':
case 'د۱':
param = 'criterion';
param = 'criterion';
break;
break;
خط ۱٬۹۹۴: خط ۱٬۹۹۴:
var values = (e.target.form ? e.target.form : e.target).getChecked('csd');
var values = (e.target.form ? e.target.form : e.target).getChecked('csd');
if (values.length === 0) {
if (values.length === 0) {
alert('Please select a criterion!');
alert('لطفاً یک معیار را انتخاب کنید!');
return null;
return null;
}
}
خط ۲٬۰۴۲: خط ۲٬۰۴۲:
$.each(normalizeds, function(index, norm) {
$.each(normalizeds, function(index, norm) {
if (Twinkle.getPref('warnUserOnSpeedyDelete').indexOf(norm) !== -1) {
if (Twinkle.getPref('warnUserOnSpeedyDelete').indexOf(norm) !== -1) {
if (norm === 'g6' && values[index] !== 'copypaste') {
if (norm === 'ع۶' && values[index] !== 'copypaste') {
return true;
return true;
}
}
خط ۲٬۱۱۷: خط ۲٬۱۱۷:
$.each(normalizeds, function(index, norm) {
$.each(normalizeds, function(index, norm) {
if (Twinkle.getPref('notifyUserOnSpeedyDeletionNomination').indexOf(norm) !== -1) {
if (Twinkle.getPref('notifyUserOnSpeedyDeletionNomination').indexOf(norm) !== -1) {
if (norm === 'g6' && values[index] !== 'copypaste') {
if (norm === 'ع۶' && values[index] !== 'copypaste') {
return true;
return true;
}
}
خط ۲٬۱۶۱: خط ۲٬۱۶۱:


Morebits.wiki.actionCompleted.redirect = mw.config.get('wgPageName');
Morebits.wiki.actionCompleted.redirect = mw.config.get('wgPageName');
Morebits.wiki.actionCompleted.notice = 'Tagging complete';
Morebits.wiki.actionCompleted.notice = 'برچسب‌زدن کامل شد';


// Modules can't be tagged, follow standard at TfD and place on /doc subpage
// Modules can't be tagged, follow standard at TfD and place on /doc subpage
params.scribunto = mw.config.get('wgPageContentModel') === 'Scribunto';
params.scribunto = mw.config.get('wgPageContentModel') === 'Scribunto';
var wikipedia_page = params.scribunto ? new Morebits.wiki.page(mw.config.get('wgPageName') + '/doc', 'Tagging module documentation page') : new Morebits.wiki.page(mw.config.get('wgPageName'), 'Tagging page');
var wikipedia_page = params.scribunto ? new Morebits.wiki.page(mw.config.get('wgPageName') + '/توضیحات', 'برچسب‌زدن صفحهٔ مستندات پودمان') : new Morebits.wiki.page(mw.config.get('wgPageName'), 'برچسب‌زدن صفحه');
wikipedia_page.setCallbackParameters(params);
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.speedy.callbacks.user.main);
wikipedia_page.load(Twinkle.speedy.callbacks.user.main);