مدیاویکی:Gadget-Extra-Editbuttons-persiantools.js: تفاوت میان نسخهها
مدیاویکی:Gadget-Extra-Editbuttons-persiantools.js (نمایش مبدأ)
نسخهٔ ۲۶ فوریهٔ ۲۰۲۱، ساعت ۰۲:۳۵
، ۲۶ فوریهٔ ۲۰۲۱اعمال تغییر از Special:Permalink/31247454#نقطه_ویرگول_قبل_از_و_،_ولی_،_که
Nazarzadeh (بحث | مشارکتها) (خنثیسازی ویرایش 1634 از Nazarzadeh (بحث)) برچسب: خنثیسازی |
(اعمال تغییر از Special:Permalink/31247454#نقطه_ویرگول_قبل_از_و_،_ولی_،_که) |
||
خط ۳۹: | خط ۳۹: | ||
.replace(/([\w])[\u200B-\u200D\uFEFF]/g, '$1') | .replace(/([\w])[\u200B-\u200D\uFEFF]/g, '$1') | ||
// Clean ZWNJs before and after Persian characters | // Clean ZWNJs before and after Persian characters | ||
.replace(new RegExp('\[\\u200b\-\\u200d\\uFEFF\]([' + vowels + arabicIndicDigits + persianDigits + hamza+'])','g'), '$1') | .replace(new RegExp('\[\\u200b\-\\u200d\\uFEFF\]([' + vowels + arabicIndicDigits + persianDigits + hamza + '])','g'), '$1') | ||
.replace(new RegExp('(['+arabicIndicDigits+'])\[\\u200b\-\\u200d\\uFEFF\]','g'), '$1') | .replace(new RegExp('(['+arabicIndicDigits+'])\[\\u200b\-\\u200d\\uFEFF\]','g'), '$1') | ||
// Clean ZWNJs after and before punctuation | // Clean ZWNJs after and before punctuation | ||
خط ۱۵۲: | خط ۱۵۲: | ||
// جایگزینی ۀ غیراستاندار+حرف بعدی بدون فاصله به ه+همزه+فاصله | // جایگزینی ۀ غیراستاندار+حرف بعدی بدون فاصله به ه+همزه+فاصله | ||
.replace(/[ۂۀ](?![\s\n])/g, 'هٔ ') | .replace(/[ۂۀ](?![\s\n])/g, 'هٔ ') | ||
// Replace ه followed by ARABIC LETTER HIGH HAMZA with the correct one, ARABIC HAMZA ABOVE | |||
.replace(/هٴ([\s\n])/g, 'هٔ$1') | |||
// Replace ه followed by (space|ZWNJ|lrm) follow by ی with هٔ | // Replace ه followed by (space|ZWNJ|lrm) follow by ی with هٔ | ||
.replace(/ه[\u200c\u200e\s]+ی([\s\n])/g, 'هٔ$1') | .replace(/ه[\u200c\u200e\s]+ی([\s\n])/g, 'هٔ$1') | ||
خط ۱۷۴: | خط ۱۷۶: | ||
.replace(/ و یا /g, ' یا ')// replace «و یا» with «یا» | .replace(/ و یا /g, ' یا ')// replace «و یا» with «یا» | ||
//افزودن همزه | //افزودن همزه | ||
.replace(/درباره (ام|ات|اش|مان|تان|شان|ای)(\s|$)/g, 'درباره$1$2')//i برای جلوگیری از باگ احتمالی برای افزودن همزه به درباره | |||
.replace(/درباره /g, 'دربارهٔ ') | |||
.replace(new RegExp('صفحه(\\s|)(['+persianDigits+']+)(\\n|\\.|\\,|\\||\\<)', 'g'), 'صفحهٔ $2$3');//[[Special:PermaLink/15326391#افزودن همزه]] | |||
} | } | ||
خط ۳۱۶: | خط ۳۱۸: | ||
'$1$2\u200c$3$4$5' | '$1$2\u200c$3$4$5' | ||
) | ) | ||
// ماضی نقلی | // ماضی نقلی | ||
.replace( | .replace( | ||
new RegExp('(^|[^' + persianCharacters + '])(ن|)' + persianPastVerbs + | new RegExp('(^|[^' + persianCharacters + '])(ن|)' + persianPastVerbs + | ||
'ه (ام|ای|ایم|اید|اند)($|[^' + persianCharacters + '])', 'g'), | 'ه (ام|ای|ایم|اید|اند|است)($|[^' + persianCharacters + '])', 'g'), | ||
'$1$2$3ه\u200c$4$5' | '$1$2$3ه\u200c$4$5' | ||
) | ) | ||
خط ۳۷۰: | خط ۳۷۲: | ||
.replace(/ویکیپدیا/g, 'ویکیپدیا') | .replace(/ویکیپدیا/g, 'ویکیپدیا') | ||
.replace(new RegExp('می\u200cگوی($|[^' + persianCharacters + '\u200c])', 'g'), 'میگوی$1') // for میگوی دریایی | .replace(new RegExp('می\u200cگوی($|[^' + persianCharacters + '\u200c])', 'g'), 'میگوی$1') // for میگوی دریایی | ||
.replace(new RegExp('می\u200cدوی($|[^' + persianCharacters + '\u200c])', 'g'), 'میدوی$1')// for [[میدوی (ابهامزدایی)]] | .replace(new RegExp('می\u200cدوی($|[^' + persianCharacters + '\u200c])', 'g'), 'میدوی$1');// for [[میدوی (ابهامزدایی)]] | ||
} | } | ||
خط ۴۳۱: | خط ۴۳۲: | ||
.replace(new RegExp('([' + persianCharacters + '])(\\s|)[\\.،؛](\\s|)(\\))', 'g'), '$1$2$3$4') | .replace(new RegExp('([' + persianCharacters + '])(\\s|)[\\.،؛](\\s|)(\\))', 'g'), '$1$2$3$4') | ||
// در صورت وابستگی معنی جملات بهتر است نقطهویرگول فارسی قرار گیرد | // در صورت وابستگی معنی جملات بهتر است نقطهویرگول فارسی قرار گیرد | ||
.replace(new RegExp('([' + persianCharacters + '])(\\s|)(\\.)(\\s|)( | .replace(new RegExp('([' + persianCharacters + '])(\\s|)(\\.)(\\s|)(مثلاً|فرضاً|زیرا|یعنی|بنابراین|لذا)', 'g'), '$1؛ $5') | ||
/// Question & exclamation mark | /// Question & exclamation mark | ||
// علامت تعجب تکراری به دلیل وجود !! در عنوان جدولهای مدیاویکی نباید اصلاح شود. | // علامت تعجب تکراری به دلیل وجود !! در عنوان جدولهای مدیاویکی نباید اصلاح شود. | ||
خط ۴۴۶: | خط ۴۴۷: | ||
.replace(/(\(|)ه\. (ق|خ|ش)([\n\/ ]|\))/g, 'ه.$2$3')//iاصلاح تاریخ هجری | .replace(/(\(|)ه\. (ق|خ|ش)([\n\/ ]|\))/g, 'ه.$2$3')//iاصلاح تاریخ هجری | ||
// حذف فاصلهٔ میان دو عبارت مختصر که دارای نقطهٔ اختصار باشند | // حذف فاصلهٔ میان دو عبارت مختصر که دارای نقطهٔ اختصار باشند | ||
.replace(new RegExp('(\^|\\||\\(|«|\\}|"|\\s|\\*|\\#)(([' + persianCharacters + ']\{1,2\})\\. \?)\{2,6\}', 'g'), function (m) { return m.replace(/\. (.)/g, '.$1'); } | .replace(new RegExp('(\^|\\||\\(|«|\\}|"|\\s|\\*|\\#)(([' + persianCharacters + ']\{1,2\})\\. \?)\{2,6\}', 'g'), function (m) { return m.replace(/\. (.)/g, '.$1'); }); | ||
} | } | ||
return { | return { |