Wikipedia
sowiki
https://so.wikipedia.org/wiki/Bogga_Hore
MediaWiki 1.47.0-wmf.24
first-letter
Media
Special
Talk
User
User talk
Wikipedia
Wikipedia talk
File
File talk
MediaWiki
MediaWiki talk
Template
Template talk
Help
Help talk
Category
Category talk
Portal
Portal talk
TimedText
TimedText talk
Module
Module talk
Event
Event talk
MediaWiki:Monobook.css
8
2445
310842
7448
2026-10-25T10:17:09Z
Isma4l
41797
Cusboonaysiin
310842
css
text/css
/* Don't display some stuff on the main page */
body.page-Main_Page #deleteconfirm,
body.page-Main_Page #t-cite,
body.page-Main_Page #lastmod,
body.action-view.page-Main_Page #siteSub,
body.action-view.page-Main_Page #contentSub {
display: none !important;
}
#siteNotice {
margin-top: 5px;
margin-bottom: -.5em;
}
#mw-dismissable-notice {
background: transparent;
}
/* Make non-articles light blue
* Make content area light blue in all namespaces except articles (main namespace).
* This is done by setting the background color for all #content areas
* to light blue, and then overriding it back to white for any #content
* enclosed in a .ns-0 (main namespace). We do the same for the "tab"
* backgrounds and some other objects.
*/
@media screen {
body:not(.ns-0) #content,
body:not(.ns-0) #p-cactions li a:hover,
body:not(.ns-0) #p-cactions li.selected a,
body:not(.ns-0) #content div.thumb { /* "Margin" for thumbs, padding for galleries */
background-color: #F8FCFF; /* Light blue */
}
body:not(.ns-0) #p-cactions li a {
background-color: #F7F9FB; /* Light blue-gray inactive tabs */
}
}
/* Talk page tab "+" / "new section".
Sets the same padding as the other tabs have. */
div#p-cactions #ca-addsection a {
padding-left: .8em;
padding-right: .8em;
}
/* Make "From Wikipedia, the free encyclopedia" a bit smaller */
#siteSub {
font-size: 92%;
}
div#footer #lastmod,
div#footer #copyright {
display: block;
}
p.error {
font-weight: bold;
}
/* Remove default styles for [[MediaWiki:Noarticletext]]. */
div.noarticletext {
border: none;
background: transparent;
padding: 0;
}
/* add .toccolours because monobook/main.css wasn't being used by the print style */
.toccolours {
border: 1px solid #aaa;
background-color: #f9f9f9;
padding: 5px;
font-size: 95%;
}
/* Don't underline links in portlets/specialchars even with pref "Underline links:Always" */
.portlet a,
#editpage-specialchars a {
text-decoration: none;
}
.portlet a:hover,
#editpage-specialchars a:hover {
text-decoration: underline;
}
/* Position coordinates */
#coordinates {
position: absolute;
z-index: 1;
border: none;
background: none;
right: 0;
top: 3.7em;
float: right;
margin: 0;
padding: 0;
padding-right: 30px;
line-height: 1.5em;
text-align: right;
text-indent: 0;
font-size: 85%;
text-transform: none;
white-space: nowrap;
}
/* Prep for moving coordinates into mw-indicator */
#mw-indicator-attached-kml,
#mw-indicator-coordinates {
font-size: 13px;
}
.ve-ce-surface #coordinates {
margin-top: -3em;
top: 0;
padding: 0;
}
/* FR topicon position */
div.flaggedrevs_short {
position: absolute;
z-index: 10;
top: 10px;
right: 110px;
}
/* Add bolding to ooui destructive buttons */
#mw-prefs-restoreprefs,
#wpConfirmB,
#mw-editform-cancel,
#oo-ui-flaggedElement-destructive,
.oo-ui-buttonElement-frameless.oo-ui-flaggedElement-destructive,
.oo-ui-buttonElement-framed.oo-ui-flaggedElement-destructive,
.oo-ui-buttonElement-framed.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button,
.oo-ui-buttonElement-frameless.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button > .oo-ui-labelElement-label {
font-weight: 700;
}
@media (max-width:550px) {
/* Break long words when they cause overflow */
.mw-body {
overflow-wrap: break-word;
}
}
/* Workaroud for [[phab:T309948]] */
.ext-ipinfo-button {
height: 1em;
}
/* Styling for tags in changes pages */
.mw-tag-markers {
font-style: italic;
}
gi5us45to9lfuwlx5ildpjrpasl6zwx
Template:Infobox political post
10
9350
310845
162053
2026-10-25T10:26:30Z
Xqbot
914
Hagaajin u rogid labalaaban ee [[Template:Infobox official post]]
310845
wikitext
text/x-wiki
#REDIRECT [[Template:Infobox official post]]
ezmad0wlacjd24scf62nxe9ch1yqnde
MediaWiki:Common.css
8
9352
310838
310379
2026-10-25T10:04:39Z
Isma4l
41797
Cusboonaysiin
310838
css
text/css
/*
* Styling inside .mw-parser-output should generally use TemplateStyles.
*/
/* Reset italic styling set by user agent */
cite,
dfn {
font-style: inherit;
}
/* Straight quote marks for <q> */
q {
quotes: '"' '"' "'" "'";
}
/* Avoid collision of blockquote with floating elements by swapping margin and padding */
blockquote {
overflow: hidden;
margin: 1em 0;
padding: 0 40px;
}
/* Consistent size for <small>, <sub> and <sup> */
small {
font-size: 85%;
}
.mw-body-content sub,
.mw-body-content sup {
font-size: 80%;
}
/* Same spacing for indented and unindented paragraphs on talk pages (T436428) */
.ext-discussiontools-replytool-enabled .mw-body-content dd,
.ns-talk .mw-body-content dd {
margin-top: 0.4em;
margin-bottom: 0.4em;
}
/* Reduce page jumps by hiding collapsed/dismissed content */
.client-js .collapsible:not( .mw-made-collapsible).collapsed > tbody > tr:not(:first-child),
/* This copies MediaWiki's solution for T42812 to apply to innercollapse/outercollapse (T325115). */
/* Reference: https://gerrit.wikimedia.org/g/mediawiki/core/+/ecda06cb2aef55b77c4b4d7ecda492d634419ead/resources/src/jquery/jquery.makeCollapsible.styles.less#75 */
.client-js .outercollapse .innercollapse.mw-collapsible:not( .mw-made-collapsible ) > :is(p, table, thead + tbody),
.client-js .outercollapse .innercollapse.mw-collapsible:not( .mw-made-collapsible ) :is(tr:not( :first-child ), .mw-collapsible-content),
/* Hide charinsert base for those not using the gadget */
#editpage-specialchars {
display: none;
}
/* Different margin on references */
.references {
margin-bottom: 0.5em;
}
/* Cite customizations */
span[ rel="mw:referencedBy" ] {
counter-reset: mw-ref-linkback 0;
}
span[ rel='mw:referencedBy' ] > a::before {
content: counter( mw-ref-linkback, lower-alpha );
font-size: 80%;
font-weight: bold;
font-style: italic;
}
a[ rel="mw:referencedBy" ]::before {
font-weight: bold;
content: "^";
}
span[ rel="mw:referencedBy" ]::before {
content: "^ ";
}
/* Styling for jQuery makeCollapsible, matching that of collapseButton */
.mw-parser-output .mw-collapsible-toggle:not(.mw-ui-button) {
font-weight: normal;
padding-right: 0.2em;
padding-left: 0.2em;
}
.mw-collapsible-leftside-toggle .mw-collapsible-toggle {
/* @noflip */
float: left;
}
/* Lists in wikitable data cells are always left-aligned */
.wikitable td ul,
.wikitable td ol,
.wikitable td dl {
/* @noflip */
text-align: left;
}
/* Change the external link icon to a PDF icon for all PDF files */
.mw-parser-output a[href$=".pdf"].external,
.mw-parser-output a[href*=".pdf?"].external,
.mw-parser-output a[href*=".pdf#"].external,
.mw-parser-output a[href$=".PDF"].external,
.mw-parser-output a[href*=".PDF?"].external,
.mw-parser-output a[href*=".PDF#"].external {
background: url("//upload.wikimedia.org/wikipedia/commons/4/4d/Icon_pdf_file.png") no-repeat right;
/* @noflip */
padding: 8px 18px 8px 0;
}
/* System messages styled similarly to fmbox */
/* for .mw-warning-with-logexcerpt, behavior of this line differs between
* the edit-protected notice and the special:Contribs for blocked users
* The latter has specificity of 3 classes so we have to triple up here.
*/
.mw-warning-with-logexcerpt.mw-warning-with-logexcerpt.mw-warning-with-logexcerpt,
div.mw-lag-warn-high,
div.mw-cascadeprotectedwarning,
div#mw-protect-cascadeon {
clear: both;
margin: 0.2em 0;
border: 1px solid #bb7070;
background-color: var(--background-color-error-subtle, #ffdbdb);
padding: 0.25em 0.9em;
box-sizing: border-box;
}
/* default colors for partial block message */
/* gotta get over the hump introduced by the triple class above */
.mw-contributions-blocked-notice-partial .mw-warning-with-logexcerpt.mw-warning-with-logexcerpt {
border-color: var(--border-color-warning, #ab7f2a);
background-color: var(--background-color-warning-subtle, #fef6e7);
}
/* Minimum thumb width */
@media (min-width: 640px) {
figure[typeof~='mw:File/Thumb'],
figure[typeof~='mw:File/Frame'],
.thumbinner {
min-width: 100px;
}
}
/* Prevent floating boxes from overlapping any category listings,
file histories, edit previews, and edit [Show changes] views. */
#mw-subcategories,
#mw-pages,
#mw-category-media,
#filehistory,
#wikiPreview,
#wikiDiff {
clear: both;
}
/* Hide stuff meant for accounts with special permissions. Made visible again in
[[MediaWiki:Group-checkuser.css]], [[MediaWiki:Group-sysop.css]], [[MediaWiki:Group-abusefilter.css]],
[[MediaWiki:Group-abusefilter-helper.css]], [[MediaWiki:Group-patroller.css]],
[[MediaWiki:Group-templateeditor.css]], [[MediaWiki:Group-extendedmover.css]],
[[MediaWiki:Group-extendedconfirmed.css]], [[Mediawiki:Group-autoconfirmed.css]], and [[MediaWiki:Group-user.css]] */
.checkuser-show,
.sysop-show,
.abusefilter-show,
.abusefilter-helper-show,
.patroller-show,
.templateeditor-show,
.extendedmover-show,
.extendedconfirmed-show,
.autoconfirmed-show,
.user-show {
display: none;
}
/* Hide the redlink generated by {{Editnotice}},
this overrides the ".sysop-show { display: none; }" above that applies
to the same link as well. See [[phab:T45013]]
Hide the images in editnotices to keep them readable in VE view.
Long term, editnotices should become a core feature so that they can be designed responsive. */
.ve-ui-mwNoticesPopupTool-item .editnotice-redlink,
.ve-ui-mwNoticesPopupTool-item .mbox-image,
.ve-ui-mwNoticesPopupTool-item .mbox-imageright {
display: none !important;
}
/* Remove bullets when there are multiple edit page warnings */
ul.permissions-errors {
margin: 0;
}
ul.permissions-errors > li {
list-style: none;
}
/* larger inline math */
.mwe-math-mathml-inline {
font-size: 118%;
}
/* consistentish top/bottom margins for math */
.mwe-math-fallback-image-display,
.mwe-math-element-block {
margin-top: 0.7em;
margin-bottom: 0.7em;
}
/* left aligned block math */
mjx-container[display].MathJax {
margin-left: 1.6em;
text-align: left;
padding-left: 0;
}
.mwe-math-fallback-image-display {
margin-left: 1.6em !important;
}
math.mwe-math-element-block {
display: flex;
margin-left: 1.6em;
}
@media screen {
/* Put a chequered background behind images, only visible if they have transparency,
* except on main, user, and portal namespaces
*/
body:not(.ns-0):not(.ns-2):not(.ns-100) .gallerybox .thumb img {
background: #fff url(//upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png) repeat;
}
/* Display "From Wikipedia, the free encyclopedia" in skins that support it,
do not apply to print mode */
#siteSub {
display: block;
}
/* Make the list of references smaller
* Keep in sync with Template:Refbegin/styles.css
* And Template:Reflist/styles.css
*/
.references {
font-size: 90%;
}
}
/* Hide FlaggedRevs notice UI when there are no pending changes */
.flaggedrevs_draft_synced,
.flaggedrevs_stable_synced,
/* "Temporary" to remove links in sidebar T255381 */
#t-upload,
/* Hide broken download box on Special:Book pending T285400 */
.mw-special-Book #coll-downloadbox {
display: none;
}
/*
* BELOW HERE THERE BE SOONTOBE TEMPLATESTYLES THINGS;
* SEE [[MediaWiki talk:Common.css/to do]]
* CSS is separated by component (which is why media queries are not joined)
*/
/* Infoboxes */
.infobox {
border: 1px solid var(--border-color-base, #a2a9b1);
color: var(--color-base, #000);
padding: 0.2em;
font-size: 88%;
line-height: 1.5em;
border-spacing: 3px;
margin: 0.5em 0;
}
@media screen {
.infobox {
background-color: var(--background-color-neutral-subtle, #f8f9fa);
}
}
@media (max-width: 640px) {
.infobox {
width: 100%;
}
.infobox .nowrap {
white-space: normal;
}
}
@media (min-width: 640px) {
.infobox {
/* @noflip */
margin-left: 1em;
/* @noflip */
float: right;
/* @noflip */
clear: right;
width: 22em;
}
}
.infobox-header,
.infobox-label,
.infobox-above,
.infobox-full-data,
.infobox-data,
.infobox-below,
.infobox-subheader,
.infobox-image,
.infobox-navbar,
/* Remove element selector when every .infobox thing is using the standard module/templates */
.infobox th,
.infobox td {
vertical-align: top;
}
.infobox-label,
.infobox-data,
/* Remove element selector when every .infobox thing is using the standard module/templates */
.infobox th,
.infobox td {
/* @noflip */
text-align: left;
}
/* Remove .infobox when element selectors above are removed */
.infobox .infobox-above,
.infobox .infobox-title,
/* Remove element selector when every .infobox thing is using the standard module/templates */
.infobox caption {
font-size: 125%;
font-weight: bold;
text-align: center;
}
.infobox-title,
/* Remove element selector when every .infobox thing is using the standard module/templates */
.infobox caption {
padding: 0.2em;
}
/* Remove .infobox when element selectors above are removed */
.infobox .infobox-header,
.infobox .infobox-subheader,
.infobox .infobox-image,
.infobox .infobox-full-data,
.infobox .infobox-below {
text-align: center;
}
/* Remove .infobox when element selectors above are removed */
.infobox .infobox-navbar {
/* @noflip */
text-align: right;
}
/* Normal font styling for wikitable row headers with scope="row" tag */
.wikitable.plainrowheaders th[scope=row],
.wikitable.plainrowheaders th[scope=rowgroup] {
font-weight: normal;
/* @noflip */
text-align: left;
}
/* Remove underlines from certain links */
.nounderlines a,
.IPA a:link,
.IPA a:visited {
text-decoration: none !important;
}
/* Prevent line breaks in silly places where desired (nowrap)
and links when we don't want them to (nowraplinks a) */
.nowrap,
.nowraplinks a {
white-space: nowrap;
}
/* But allow wrapping where desired: */
.wrap,
.wraplinks a {
white-space: normal;
}
/* texhtml class for inline math (based on generic times-serif class) */
/* remove spans when this is TemplateStyled */
span.texhtml {
font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif;
font-size: 118%;
line-height: 1;
/* Force tabular and lining display for texhtml */
font-variant-numeric: lining-nums tabular-nums;
font-kerning: none;
}
span.texhtml span.texhtml {
font-size: 100%;
}
@media (min-width: 420px) {
span.texhtml {
white-space: nowrap;
}
}
/* Prevent flags in tables from collapsing: Fix for T116318
* TODO: Remove when [[phab:T368469]] merges [[phab:T367463]] for the other skins
*/
@media (max-width: 640px) {
.flagicon a > img,
.flagicon noscript > img {
max-width: none !important;
}
}
@media screen {
.nochecker .gallerybox .thumb img {
background-image: none;
}
}
/*
* Put anything you mean to be a sitewide addition above the TemplateStyles
* comment above.
*/
kolc1319c8lnl5wu8abvhnssyg8456v
MediaWiki:Common.js
8
10399
310840
200017
2026-10-25T10:10:27Z
Isma4l
41797
Cusboonaysiin
310840
javascript
text/javascript
/**
* Ku hay koodka ku jira MediaWiki:Common.js heerka ugu hooseeya maadaama si toos ah loogu rabo
* dhammaan isticmaaleyaasha bog kasta oo wiki ah. Haddii ay suurtagal tahay samee qalab oo
* si toos ah u shaqeeya halkii aad halkan ku dari lahayd (maadaama qalabku ay yihiin modules
* ResourceLoader ah oo si buuxda loo hagaajiyay oo leh suurtagalnimada in lagu daro ku-tiirsanaanta iwm.)
*
* Maaddaama Common.js aysan ahayn qalab, ma jiro meel lagu dhawaaqo ku-tiirsanaanteeda,
* markaa waa inaan si tartiib ah ugu shubnaa mw.loader.using marka loo baahdo kadibna
* aan fulinnaa inta kale ee ku jirta jawaabta. Xaaladaha badankood ku-tiirsanaantan ayaa horay
* loo soo dejin doonaa (ama soo dejin doonta) oo jawaabta dib looma dhigi doono. Haddii ay dhacdo
* in ku tiirsanaan aysan weli imaan waxay hubineysaa in kuwaas la soo dejiyo ka hor tan.
*/
/* global mw, $ */
/* jshint strict:false, browser:true */
mw.loader.using( [ 'mediawiki.util' ] ).done( function () {
/* Bilaabowga mw.loader.using callback */
/**
* Khariidadda addPortletLink ee mw.util
* @deprecated: Isticmaal mw.util.addPortletLink halkii.
*/
mw.log.deprecate( window, 'addPortletLink', mw.util.addPortletLink, 'Isticmaal mw.util.addPortletLink halkii' );
/**
* @source www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL
* @rev 6
*/
var extraCSS = mw.util.getParamValue( 'withCSS' ),
extraJS = mw.util.getParamValue( 'withJS' );
if ( extraCSS ) {
if ( extraCSS.match( /^MediaWiki:[^&<>=%#]*\.css$/ ) ) {
mw.loader.load( '/w/index.php?title=' + extraCSS + '&action=raw&ctype=text/css', 'text/css' );
} else {
mw.notify( 'Kaliya bogagga ka socda MediaWiki namespace ayaa la oggol yahay.', { title: 'Qiimaha withCSS ee khaldan' } );
}
}
if ( extraJS ) {
if ( extraJS.match( /^MediaWiki:[^&<>=%#]*\.js$/ ) ) {
mw.loader.load( '/w/index.php?title=' + extraJS + '&action=raw&ctype=text/javascript' );
} else {
mw.notify( 'Kaliya bogagga ka socda MediaWiki namespace ayaa la oggol yahay.', { title: 'Qiimaha withJS ee khaldan' } );
}
}
/**
* Miisaska la laabi karo; waxaa dib loogu hirgeliyay mw-collapsible
* Qaabeynta sidoo kale waa ay jirtaa si looga fogaado FOUC
*
* Oggolaanshaha miisaska in la laabo, iyadoo la tusayo madaxa oo keliya. Eeg [[Help:Collapsing]].
* @version 3.0.0 (2018-05-20)
* @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-collapsibleTables.js
* @author [[User:R. Koot]]
* @author [[User:Krinkle]]
* @author [[User:TheDJ]]
* @deprecated Tan iyo MediaWiki 1.20: Isticmaal class="mw-collapsible" halkii taas oo
* laga taageero MediaWiki core. Shimmable tan iyo MediaWiki 1.32
*
* @param {jQuery} $content
*/
function makeCollapsibleMwCollapsible( $content ) {
var $tables = $content
.find( 'table.collapsible:not(.mw-collapsible)' )
.addClass( 'mw-collapsible' );
$.each( $tables, function ( index, table ) {
// mw.log.warn( 'Boggan wuxuu isticmaalayaa fasalka duqoobay ee collapsible. Fadlan ku beddel mw-collapsible.');
if ( $( table ).hasClass( 'collapsed' ) ) {
$( table ).addClass( 'mw-collapsed' );
// mw.log.warn( 'Boggan wuxuu isticmaalayaa fasalka duqoobay ee collapsed. Fadlan ku beddel mw-collapsed.');
}
} );
if ( $tables.length > 0 ) {
mw.loader.using( 'jquery.makeCollapsible' ).then( function () {
$tables.makeCollapsible();
} );
}
}
mw.hook( 'wikipage.content' ).add( makeCollapsibleMwCollapsible );
/**
* Ku dar taageerada mw-collapsible ee autocollapse, innercollapse iyo outercollapse
*
* Ilaaliyeyaasha: TheDJ
*/
function mwCollapsibleSetup( $collapsibleContent ) {
var $element,
$toggle,
autoCollapseThreshold = 2;
$.each( $collapsibleContent, function ( index, element ) {
$element = $( element );
if ( $element.hasClass( 'collapsible' ) ) {
$element.find( 'tr:first > th:first' ).prepend( $element.find( 'tr:first > * > .mw-collapsible-toggle' ) );
}
if ( $collapsibleContent.length >= autoCollapseThreshold && $element.hasClass( 'autocollapse' ) ) {
$element.data( 'mw-collapsible' ).collapse();
} else if ( $element.hasClass( 'innercollapse' ) ) {
if ( $element.parents( '.outercollapse' ).length > 0 ) {
$element.data( 'mw-collapsible' ).collapse();
}
}
// sababta oo ah asalka midabada leh, qaabee xiriirka midabka qoraalka
// si loo xaqiijiyo is-barbardhigga la heli karo
$toggle = $element.find( '.mw-collapsible-toggle' );
if ( $toggle.length ) {
// Ka dhig toggle-ka inuu dhaxlo midabka qoraalka (La cusboonaysiiyay T333357 2023-04-29)
if ( $toggle.parent()[ 0 ].style.color ) {
$toggle.css( 'color', 'inherit' );
$toggle.find( '.mw-collapsible-text' ).css( 'color', 'inherit' );
}
}
} );
}
mw.hook( 'wikipage.collapsibleContent' ).add( mwCollapsibleSetup );
/* Dhamaadka mw.loader.using callback */
} );
/* HAA KU DAR KOODKA HOOS KANALKAAN */
kzg6h8tri5rol84hh7e10xqfz1woefy
MediaWiki:Gadgets-definition
8
11363
310847
308559
2026-10-25T10:30:02Z
Isma4l
41797
/* */ Ku dar qaybo
310847
wikitext
text/x-wiki
<noinclude>'''Wax ka beddelka boggan waa in meesha ugu horreysa lagaga wada hadlaa.'''
Isku xidhka si loo eego oo loo maamulo sharraxaadaha qalabka waxay ka muuqdaan [[Special:Gadgets]].
{{#invoke:Validate gadgets|validate}}</noinclude>
== daalacashada ==
* modrollback [rights=rollback] |modrollback.js
* confirmationRollback-mobile [default |rights=rollback |dependencies=mediawiki.util] |confirmationRollback-mobile.js
* removeAccessKeys [dependencies=user, mediawiki.util] |removeAccessKeys.js
* searchFocus |searchFocus.js
* GoogleTrans |GoogleTrans.js
* ImageAnnotator |ImageAnnotator.js
* imagelinks [dependencies=mediawiki.util] |imagelinks.js
* Navigation_popups [dependencies=mediawiki.api, mediawiki.user, mediawiki.util, user.options, mediawiki.jqueryMsg] |popups.js |navpop.css
* exlinks [dependencies=mediawiki.util] |exlinks.js
* search-new-tab |search-new-tab.js
* PrintOptions |PrintOptions.js
* revisionjumper |revisionjumper.js
* Twinkle [dependencies=ext.gadget.morebits, ext.gadget.select2, mediawiki.language |rights=autoconfirmed |peers=Twinkle-pagestyles] |Twinkle.js |Twinkle.css |twinklearv.js |twinklewarn.js |twinkleblock.js |twinklewelcome.js |twinkletalkback.js |twinklespeedy.js |twinkleprod.js |twinklexfd.js |twinkleimage.js |twinkleprotect.js |twinkletag.js |twinklediff.js |twinkleunlink.js |twinklerollback.js |twinkledeprod.js |twinklebatchdelete.js |twinklebatchprotect.js |twinklebatchundelete.js |twinkleconfig.js
* morebits [dependencies=mediawiki.user, mediawiki.util, mediawiki.Title, mediawiki.api |hidden] |morebits.js |morebits.css
* Twinkle-pagestyles [hidden |skins=vector, vector-2022] |Twinkle-pagestyles.css
* select2 [hidden] |select2.min.js |select2.min.css
* HideCentralNotice |HideCentralNotice.js |HideCentralNotice.css
* ReferenceTooltips [default |skins=vector, vector-2022, monobook, timeless, modern, cologneblue |dependencies=mediawiki.cookie, jquery.client] |ReferenceTooltips.js |ReferenceTooltips.css
* formWizard [default |rights=minoredit |namespaces=4] |formWizard.js
* formWizard-core [hidden |dependencies=mediawiki.api, mediawiki.cookie, mediawiki.user, jquery.chosen, jquery.ui, user.options] |formWizard-core.js |formWizard.css
* Prosesize [dependencies=mediawiki.api, mediawiki.util] |Prosesize.js |Prosesize.css
* find-archived-section |find-archived-section.js
== liiska ilaalada ==
<!-- rights=viewmywatchlist limits these default gadgets to logged-in users. -->
* geonotice [default |rights=viewmywatchlist] |geonotice.js
* geonotice-core [dependencies=mediawiki.util, mediawiki.storage |hidden] |geonotice-list.js |geonotice-core.js |geonotice-core.css
* watchlist-notice [default |rights=viewmywatchlist |namespaces=-1] |watchlist-notice.js
* watchlist-notice-core [dependencies=mediawiki.storage |hidden] |watchlist-notice-core.js
* WatchlistBase [default |rights=viewmywatchlist |skins=vector, vector-2022, monobook, modern |namespaces=-1] |WatchlistBase.css
* WatchlistGreenIndicators [default |rights=viewmywatchlist |peers=WatchlistBase |skins=vector, vector-2022 |namespaces=-1] |WatchlistGreenIndicators.css
* WatchlistGreenIndicatorsMono [default |rights=viewmywatchlist |peers=WatchlistBase |skins=monobook, modern |namespaces=-1] |WatchlistGreenIndicatorsMono.css
* WatchlistChangesBold [peers=WatchlistBase |namespaces=-1] |WatchlistChangesBold.css
* SubtleUpdatemarker [default |rights=viewmywatchlist |skins=vector, vector-2022, monobook, modern] |SubtleUpdatemarker.css
== wax ka beddelka ==
* defaultsummaries [dependencies=oojs-ui-core] |defaultsummaries.js
* citations [dependencies=mediawiki.util] |citations.js
* DotsSyntaxHighlighter [actions=edit] |DotsSyntaxHighlighter.js
* HotCat [rights=edit, minoredit] |HotCat.js
* wikEdDiff |wikEdDiff.js
* ProveIt [namespaces=0, 2, 10, 118] |ProveIt.js
* ProveIt-classic [dependencies=jquery.ui, jquery.textSelection, mediawiki.util |actions=edit] |ProveIt-classic.css |ProveIt-classic.js
* Shortdesc-helper [dependencies=mediawiki.api, user.options, mediawiki.util, ext.gadget.libSettings |skins=vector, vector-2022, monobook, modern, timeless |peers=Shortdesc-helper-pagestyles-vector] |Shortdesc-helper.js |Shortdesc-helper.css
* Shortdesc-helper-pagestyles-vector [hidden |skins=vector, vector-2022] |Shortdesc-helper-pagestyles-vector.css
* libSettings [hidden |dependencies=user.options] |libSettings.js
* wikEd [dependencies=jquery.textSelection, user.options] |wikEd.js
* afchelper [dependencies=mediawiki.api, mediawiki.util, mediawiki.user, jquery.chosen, jquery.spinner, jquery.ui |namespaces=2, 118] |afchelper.js |afchelper.css
* charinsert [default |actions=edit] |charinsert.js
* charinsert-core [hidden |dependencies=jquery.textSelection, user, mediawiki.storage] |charinsert-styles.css |charinsert-core.js
* legacyToolbar |legacyToolbar.js |extra-toolbar-buttons-core.js
* refToolbar [default |dependencies=mediawiki.util |actions=edit |contentModels=wikitext] |refToolbar.js
* refToolbarBase [hidden] |refToolbarBase.js
== muuqaalka ==
* edittop [dependencies=user.options, mediawiki.util] |edittop.js |edittop.css
* UTCLiveClock [supportsUrlLoad |dependencies=mediawiki.util, mediawiki.api |peers=UTCLiveClock-pagestyles] |UTCLiveClock.js |UTCLiveClock.css
* UTCLiveClock-pagestyles [hidden |skins=vector, vector-2022, monobook] |UTCLiveClock-pagestyles.css
* purgetab [dependencies=mediawiki.util, mediawiki.api] |purgetab.js
* ExternalSearch [namespaces=-1] |externalsearch.js
* CollapsibleNav [dependencies=jquery.makeCollapsible, mediawiki.storage |skins=vector, vector-2022] |CollapsibleNav.js |CollapsibleNav.css
* MenuTabsToggle [dependencies=mediawiki.cookie |skins=vector, vector-2022] |MenuTabsToggle.js |MenuTabsToggle.css
* dropdown-menus [dependencies=mediawiki.api, mediawiki.util, mediawiki.Title, user.options |peers=dropdown-menus-pagestyles |skins=vector, vector-2022, monobook, timeless, modern, cologneblue] |MoreMenu.enwiki.js |dropdown-menus.js
* dropdown-menus-pagestyles [hidden] |dropdown-menus-pagestyles.css
* CategoryAboveAll [skins=monobook] |CategoryAboveAll.js
* addsection-plus |addsection-plus.js
* CommentsInLocalTime |CommentsInLocalTime.js
* OldDiff |OldDiff.css
* NoAnimations |NoAnimations.js
* disablesuggestions |disablesuggestions.js
* NoSmallFonts |NoSmallFonts.css
* topalert |topalert.js |topalert.css
* metadata [dependencies=mediawiki.util] |metadata.js |metadata.css
* JustifyParagraphs |JustifyParagraphs.css
* righteditlinks |righteditlinks.css
* PrettyLog [dependencies=mediawiki.util] |PrettyLog.js |PrettyLog.css
* switcher [default] |switcher.js
* SidebarTranslate |SidebarTranslate.js |SidebarTranslate.css
* Blackskin [skins=monobook, vector, vector-2022 |supportsUrlLoad] |Blackskin.css
* dark-mode-toggle [dependencies=mediawiki.util, mediawiki.api, mediawiki.storage |peers=dark-mode-toggle-pagestyles] |dark-mode-toggle.js
* dark-mode-toggle-pagestyles [hidden |skins=vector, vector-2022, minerva, monobook] |dark-mode-toggle-pagestyles.css
* VectorClassic [skins=vector, vector-2022] |VectorClassic.css
* widensearch [skins=vector, vector-2022] |widensearch.css
* DisambiguationLinks |DisambiguationLinks.css
* markblocked [dependencies=mediawiki.util, mediawiki.page.ready, mediawiki.Title] |markblocked.js
* responsiveContent [skins=vector |peers=responsiveContentBase] |responsiveContent.js
* responsiveContentTimeless [skins=timeless |default |peers=responsiveContentBaseTimeless] |responsiveContentTimeless.js
* responsiveContentBase [hidden |skins=vector] |responsiveContentBase.css
* responsiveContentBaseTimeless [hidden |skins=timeless] |responsiveContentBaseTimeless.css
* HideInterwikiSearchResults |HideInterwikiSearchResults.css
* XTools-ArticleInfo |XTools-ArticleInfo.js
* remove-sticky-decoration |remove-sticky-decoration.css
* InterProjectLinks [skins=vector, vector-2022, monobook, timeless, modern, cologneblue] |InterProjectLinks.js |InterProjectLinks.css
== horumarsan ==
* RegexMenuFramework [hidden] |RegexMenuFramework.js
* ShowMessageNames [dependencies=mediawiki.util] |ShowMessageNames.js
* DebugMode [dependencies=mediawiki.util] |DebugMode.js
* contribsrange [dependencies=mediawiki.util, jquery.spinner] |contribsrange.js
* BugStatusUpdate |BugStatusUpdate.js
* RTRC |RTRC.js
* script-installer [dependencies=mediawiki.ui.button] |script-installer.js
== dayactirka ==
* XFDcloser [dependencies=mediawiki.user |rights=extendedconfirmed] |XFDcloser.js
* XFDcloser-core [dependencies=mediawiki.util, mediawiki.api, mediawiki.Title, oojs-ui-core, oojs-ui-widgets, oojs-ui-windows, oojs-ui.styles.icons-interactions, oojs-ui.styles.icons-content, oojs-ui.styles.icons-moderation, oojs-ui.styles.icons-alerts |hidden] |XFDcloser-core.js |XFDcloser-core.css
* XFDcloser-core-beta [dependencies=mediawiki.util, mediawiki.api, mediawiki.Title, oojs-ui-core, oojs-ui-widgets, oojs-ui-windows, oojs-ui.styles.icons-interactions, oojs-ui.styles.icons-content, oojs-ui.styles.icons-moderation, oojs-ui.styles.icons-alerts |hidden] |XFDcloser-core-beta.js |XFDcloser-core-beta.css
* libExtraUtil [hidden] |libExtraUtil.js
== tijaabo ==
* mobile-sidebar [skins=vector, vector-2022] |mobile-sidebar.js |mobile-sidebar.css
* addMe |addMe.js |addMe.css
* NewImageThumb [skins=vector, vector-2022] |NewImageThumb.js |NewImageThumb.css
* StickyTableHeaders |StickyTableHeaders.js |StickyTableHeaders.css
* MobileMaps [skins=minerva] |mobilemaps.js
* ShowJavascriptErrors |ShowJavascriptErrors.js
* PageDescriptions [dependencies=mediawiki.api |skins=vector, vector-2022, monobook, modern] |Page_descriptions.js
* autonum |autonum.css |autonum.js
== qalabka-Tusaalooyinka ==
* Vivarium[default|categories=Pages using gadget Vivarium]|Vivarium.js|Vivarium.css
* WikiMiniAtlas [ default | categories = Pages using gadget WikiMiniAtlas] | WikiMiniAtlas.js
* ImageStackPopup [ default | categories = Pages using gadget ImageStackPopup ] | ImageStackPopup.js | ImageStackPopup.css
* Calculator [ default | categories = Pages using gadget Calculator ] | calculator.js |calculator.css
* owidslider [default|categories=Pages using gadget owidslider]|owidslider.js|owidslider.css
* OWIDPopup [default|categories=Pages using gadget OWIDPopup]|OWIDPopup.js
== qaybaha ==
* libLua [dependencies=mediawiki.api |hidden] |libLua.js
* libSensitiveIPs [dependencies=ext.gadget.libLua |hidden] |libSensitiveIPs.js
* dark-mode [supportsUrlLoad |skins=vector, vector-2022, monobook, modern, minerva, timeless] |dark-mode.css
819zmotx1mx5uo0exknmeohs7r6tyks
310848
310847
2026-10-25T10:30:51Z
Isma4l
41797
/* */
310848
wikitext
text/x-wiki
<noinclude>'''Wax ka beddelka boggan waa in meesha ugu horreysa lagaga wada hadlaa.'''
Isku xidhka si loo eego oo loo maamulo sharraxaadaha qalabka waxay ka muuqdaan [[Special:Gadgets]].
</noinclude>
== daalacashada ==
* modrollback [rights=rollback] |modrollback.js
* confirmationRollback-mobile [default |rights=rollback |dependencies=mediawiki.util] |confirmationRollback-mobile.js
* removeAccessKeys [dependencies=user, mediawiki.util] |removeAccessKeys.js
* searchFocus |searchFocus.js
* GoogleTrans |GoogleTrans.js
* ImageAnnotator |ImageAnnotator.js
* imagelinks [dependencies=mediawiki.util] |imagelinks.js
* Navigation_popups [dependencies=mediawiki.api, mediawiki.user, mediawiki.util, user.options, mediawiki.jqueryMsg] |popups.js |navpop.css
* exlinks [dependencies=mediawiki.util] |exlinks.js
* search-new-tab |search-new-tab.js
* PrintOptions |PrintOptions.js
* revisionjumper |revisionjumper.js
* Twinkle [dependencies=ext.gadget.morebits, ext.gadget.select2, mediawiki.language |rights=autoconfirmed |peers=Twinkle-pagestyles] |Twinkle.js |Twinkle.css |twinklearv.js |twinklewarn.js |twinkleblock.js |twinklewelcome.js |twinkletalkback.js |twinklespeedy.js |twinkleprod.js |twinklexfd.js |twinkleimage.js |twinkleprotect.js |twinkletag.js |twinklediff.js |twinkleunlink.js |twinklerollback.js |twinkledeprod.js |twinklebatchdelete.js |twinklebatchprotect.js |twinklebatchundelete.js |twinkleconfig.js
* morebits [dependencies=mediawiki.user, mediawiki.util, mediawiki.Title, mediawiki.api |hidden] |morebits.js |morebits.css
* Twinkle-pagestyles [hidden |skins=vector, vector-2022] |Twinkle-pagestyles.css
* select2 [hidden] |select2.min.js |select2.min.css
* HideCentralNotice |HideCentralNotice.js |HideCentralNotice.css
* ReferenceTooltips [default |skins=vector, vector-2022, monobook, timeless, modern, cologneblue |dependencies=mediawiki.cookie, jquery.client] |ReferenceTooltips.js |ReferenceTooltips.css
* formWizard [default |rights=minoredit |namespaces=4] |formWizard.js
* formWizard-core [hidden |dependencies=mediawiki.api, mediawiki.cookie, mediawiki.user, jquery.chosen, jquery.ui, user.options] |formWizard-core.js |formWizard.css
* Prosesize [dependencies=mediawiki.api, mediawiki.util] |Prosesize.js |Prosesize.css
* find-archived-section |find-archived-section.js
== liiska ilaalada ==
<!-- rights=viewmywatchlist limits these default gadgets to logged-in users. -->
* geonotice [default |rights=viewmywatchlist] |geonotice.js
* geonotice-core [dependencies=mediawiki.util, mediawiki.storage |hidden] |geonotice-list.js |geonotice-core.js |geonotice-core.css
* watchlist-notice [default |rights=viewmywatchlist |namespaces=-1] |watchlist-notice.js
* watchlist-notice-core [dependencies=mediawiki.storage |hidden] |watchlist-notice-core.js
* WatchlistBase [default |rights=viewmywatchlist |skins=vector, vector-2022, monobook, modern |namespaces=-1] |WatchlistBase.css
* WatchlistGreenIndicators [default |rights=viewmywatchlist |peers=WatchlistBase |skins=vector, vector-2022 |namespaces=-1] |WatchlistGreenIndicators.css
* WatchlistGreenIndicatorsMono [default |rights=viewmywatchlist |peers=WatchlistBase |skins=monobook, modern |namespaces=-1] |WatchlistGreenIndicatorsMono.css
* WatchlistChangesBold [peers=WatchlistBase |namespaces=-1] |WatchlistChangesBold.css
* SubtleUpdatemarker [default |rights=viewmywatchlist |skins=vector, vector-2022, monobook, modern] |SubtleUpdatemarker.css
== wax ka beddelka ==
* defaultsummaries [dependencies=oojs-ui-core] |defaultsummaries.js
* citations [dependencies=mediawiki.util] |citations.js
* DotsSyntaxHighlighter [actions=edit] |DotsSyntaxHighlighter.js
* HotCat [rights=edit, minoredit] |HotCat.js
* wikEdDiff |wikEdDiff.js
* ProveIt [namespaces=0, 2, 10, 118] |ProveIt.js
* ProveIt-classic [dependencies=jquery.ui, jquery.textSelection, mediawiki.util |actions=edit] |ProveIt-classic.css |ProveIt-classic.js
* Shortdesc-helper [dependencies=mediawiki.api, user.options, mediawiki.util, ext.gadget.libSettings |skins=vector, vector-2022, monobook, modern, timeless |peers=Shortdesc-helper-pagestyles-vector] |Shortdesc-helper.js |Shortdesc-helper.css
* Shortdesc-helper-pagestyles-vector [hidden |skins=vector, vector-2022] |Shortdesc-helper-pagestyles-vector.css
* libSettings [hidden |dependencies=user.options] |libSettings.js
* wikEd [dependencies=jquery.textSelection, user.options] |wikEd.js
* afchelper [dependencies=mediawiki.api, mediawiki.util, mediawiki.user, jquery.chosen, jquery.spinner, jquery.ui |namespaces=2, 118] |afchelper.js |afchelper.css
* charinsert [default |actions=edit] |charinsert.js
* charinsert-core [hidden |dependencies=jquery.textSelection, user, mediawiki.storage] |charinsert-styles.css |charinsert-core.js
* legacyToolbar |legacyToolbar.js |extra-toolbar-buttons-core.js
* refToolbar [default |dependencies=mediawiki.util |actions=edit |contentModels=wikitext] |refToolbar.js
* refToolbarBase [hidden] |refToolbarBase.js
== muuqaalka ==
* edittop [dependencies=user.options, mediawiki.util] |edittop.js |edittop.css
* UTCLiveClock [supportsUrlLoad |dependencies=mediawiki.util, mediawiki.api |peers=UTCLiveClock-pagestyles] |UTCLiveClock.js |UTCLiveClock.css
* UTCLiveClock-pagestyles [hidden |skins=vector, vector-2022, monobook] |UTCLiveClock-pagestyles.css
* purgetab [dependencies=mediawiki.util, mediawiki.api] |purgetab.js
* ExternalSearch [namespaces=-1] |externalsearch.js
* CollapsibleNav [dependencies=jquery.makeCollapsible, mediawiki.storage |skins=vector, vector-2022] |CollapsibleNav.js |CollapsibleNav.css
* MenuTabsToggle [dependencies=mediawiki.cookie |skins=vector, vector-2022] |MenuTabsToggle.js |MenuTabsToggle.css
* dropdown-menus [dependencies=mediawiki.api, mediawiki.util, mediawiki.Title, user.options |peers=dropdown-menus-pagestyles |skins=vector, vector-2022, monobook, timeless, modern, cologneblue] |MoreMenu.enwiki.js |dropdown-menus.js
* dropdown-menus-pagestyles [hidden] |dropdown-menus-pagestyles.css
* CategoryAboveAll [skins=monobook] |CategoryAboveAll.js
* addsection-plus |addsection-plus.js
* CommentsInLocalTime |CommentsInLocalTime.js
* OldDiff |OldDiff.css
* NoAnimations |NoAnimations.js
* disablesuggestions |disablesuggestions.js
* NoSmallFonts |NoSmallFonts.css
* topalert |topalert.js |topalert.css
* metadata [dependencies=mediawiki.util] |metadata.js |metadata.css
* JustifyParagraphs |JustifyParagraphs.css
* righteditlinks |righteditlinks.css
* PrettyLog [dependencies=mediawiki.util] |PrettyLog.js |PrettyLog.css
* switcher [default] |switcher.js
* SidebarTranslate |SidebarTranslate.js |SidebarTranslate.css
* Blackskin [skins=monobook, vector, vector-2022 |supportsUrlLoad] |Blackskin.css
* dark-mode-toggle [dependencies=mediawiki.util, mediawiki.api, mediawiki.storage |peers=dark-mode-toggle-pagestyles] |dark-mode-toggle.js
* dark-mode-toggle-pagestyles [hidden |skins=vector, vector-2022, minerva, monobook] |dark-mode-toggle-pagestyles.css
* VectorClassic [skins=vector, vector-2022] |VectorClassic.css
* widensearch [skins=vector, vector-2022] |widensearch.css
* DisambiguationLinks |DisambiguationLinks.css
* markblocked [dependencies=mediawiki.util, mediawiki.page.ready, mediawiki.Title] |markblocked.js
* responsiveContent [skins=vector |peers=responsiveContentBase] |responsiveContent.js
* responsiveContentTimeless [skins=timeless |default |peers=responsiveContentBaseTimeless] |responsiveContentTimeless.js
* responsiveContentBase [hidden |skins=vector] |responsiveContentBase.css
* responsiveContentBaseTimeless [hidden |skins=timeless] |responsiveContentBaseTimeless.css
* HideInterwikiSearchResults |HideInterwikiSearchResults.css
* XTools-ArticleInfo |XTools-ArticleInfo.js
* remove-sticky-decoration |remove-sticky-decoration.css
* InterProjectLinks [skins=vector, vector-2022, monobook, timeless, modern, cologneblue] |InterProjectLinks.js |InterProjectLinks.css
== horumarsan ==
* RegexMenuFramework [hidden] |RegexMenuFramework.js
* ShowMessageNames [dependencies=mediawiki.util] |ShowMessageNames.js
* DebugMode [dependencies=mediawiki.util] |DebugMode.js
* contribsrange [dependencies=mediawiki.util, jquery.spinner] |contribsrange.js
* BugStatusUpdate |BugStatusUpdate.js
* RTRC |RTRC.js
* script-installer [dependencies=mediawiki.ui.button] |script-installer.js
== dayactirka ==
* XFDcloser [dependencies=mediawiki.user |rights=extendedconfirmed] |XFDcloser.js
* XFDcloser-core [dependencies=mediawiki.util, mediawiki.api, mediawiki.Title, oojs-ui-core, oojs-ui-widgets, oojs-ui-windows, oojs-ui.styles.icons-interactions, oojs-ui.styles.icons-content, oojs-ui.styles.icons-moderation, oojs-ui.styles.icons-alerts |hidden] |XFDcloser-core.js |XFDcloser-core.css
* XFDcloser-core-beta [dependencies=mediawiki.util, mediawiki.api, mediawiki.Title, oojs-ui-core, oojs-ui-widgets, oojs-ui-windows, oojs-ui.styles.icons-interactions, oojs-ui.styles.icons-content, oojs-ui.styles.icons-moderation, oojs-ui.styles.icons-alerts |hidden] |XFDcloser-core-beta.js |XFDcloser-core-beta.css
* libExtraUtil [hidden] |libExtraUtil.js
== tijaabo ==
* mobile-sidebar [skins=vector, vector-2022] |mobile-sidebar.js |mobile-sidebar.css
* addMe |addMe.js |addMe.css
* NewImageThumb [skins=vector, vector-2022] |NewImageThumb.js |NewImageThumb.css
* StickyTableHeaders |StickyTableHeaders.js |StickyTableHeaders.css
* MobileMaps [skins=minerva] |mobilemaps.js
* ShowJavascriptErrors |ShowJavascriptErrors.js
* PageDescriptions [dependencies=mediawiki.api |skins=vector, vector-2022, monobook, modern] |Page_descriptions.js
* autonum |autonum.css |autonum.js
== qalabka-Tusaalooyinka ==
* Vivarium[default|categories=Pages using gadget Vivarium]|Vivarium.js|Vivarium.css
* WikiMiniAtlas [ default | categories = Pages using gadget WikiMiniAtlas] | WikiMiniAtlas.js
* ImageStackPopup [ default | categories = Pages using gadget ImageStackPopup ] | ImageStackPopup.js | ImageStackPopup.css
* Calculator [ default | categories = Pages using gadget Calculator ] | calculator.js |calculator.css
* owidslider [default|categories=Pages using gadget owidslider]|owidslider.js|owidslider.css
* OWIDPopup [default|categories=Pages using gadget OWIDPopup]|OWIDPopup.js
== qaybaha ==
* libLua [dependencies=mediawiki.api |hidden] |libLua.js
* libSensitiveIPs [dependencies=ext.gadget.libLua |hidden] |libSensitiveIPs.js
* dark-mode [supportsUrlLoad |skins=vector, vector-2022, monobook, modern, minerva, timeless] |dark-mode.css
8aw59a3pl1xjp716c5m8yldkq3t5o2g
Itaala'aanta maskaxda
0
18570
310836
310069
2026-10-24T17:37:12Z
InternetArchiveBot
28368
Add 2 books for [[en:Wikipedia:Verifiability|verifiability]] (20261024) #IABot (v2.0.9.6) ([[User:GreenC bot|GreenC bot]])
310836
wikitext
text/x-wiki
{{Infobox medical condition
| caption =
| field = [[so.wikipedia.org/wiki/Dhimmeerka|Dhimmeerka]], [[so.wikipedia.org/wiki/Cilmiga_nafsadda_dhaqtariga|cilmiga nafsadda dhaqtariga]]
| synonyms = Mental breakdown, mental disability, mental disease, mental health condition, mental illness, nervous breakdown, psychiatric disability, psychiatric disorder, psychological disability, psychological disorder<ref>{{cite web |url=https://www.mhamd.org/information-and-help/paying-for-care/applying-for-disability-benefits-with-a-mental-illness/ |title=Applying for Disability Benefits with a Mental Illness |website=mhamd.org |publisher=Mental Health Association of Maryland |access-date=10 August 2022 }}</ref><ref name="psychiatric">{{cite report |title=Psychiatric Disabilities |url=https://www.courts.ca.gov/partners/documents/psych_dis.pdf |publisher=Judicial Branch of California |access-date=2 May 2023 }}</ref><ref name="psychological">{{cite web |url=https://www.ws.edu/student-services/disability/teaching/psychological.shtm |title=Psychological Disabilities |website=ws.edu |publisher=Walters State Community College |access-date=10 August 2022 }}</ref><ref name="Mayo Clinic 2019">{{cite web | title=Mental illness – Symptoms and causes | website=Mayo Clinic | date=8 June 2019 | url=https://www.mayoclinic.org/diseases-conditions/mental-illness/symptoms-causes/syc-20374968 | access-date=3 May 2020}}</ref>
| symptoms = [[Psychomotor agitation|Agitation]], [[anxiety]], [[Depression (mood)|depression]], [[mania]], [[paranoia]], [[psychosis]]
| complications = Cognitive impairment, social problems, suicide
| onset =
| duration =
| types = [[Anxiety disorders]], [[eating disorder]]s, [[mood disorder]]s, [[personality disorder]]s, [[psychotic disorders]], [[substance use disorder]]s
| causes = [[Genetics|Genetic]] and [[environmental factor]]s
| risks =
| diagnosis =
| differential =
| prevention =
| treatment = [[Psychotherapy]] and [[Psychiatric medication|medications]]
| medication = [[Antidepressant]]s, [[antipsychotic]]s, [[anxiolytic]]s, [[mood stabilizer]]s, [[stimulant]]s
| prognosis =
| frequency = 18% per year (United States)<ref>{{cite web|title=Any Mental Illness (AMI) Among U.S. Adults|url=https://www.nimh.nih.gov/health/statistics/prevalence/any-mental-illness-ami-among-us-adults.shtml|website=National Institute of Mental Health|publisher=U.S. Department of Health and Human Services|access-date=28 April 2017}}</ref>
| deaths =
| name =
| image =
| alt =
}}
<!-- Definition and symptoms -->
Cudurka dhimmeerka ('''mental disorder'''), oo sidoo kale loogu yeero xanuunka dhimmeerka ('''mental illness'''),<ref>{{cite web|title=Mental Disorders|date=15 September 2014|publisher=U.S. National Library of Medicine|website=Medline Plus|url=https://www.medlineplus.gov/mentaldisorders.html|access-date=10 June 2016|url-status=live}}</ref> xaaladda caafimaadka dhimmeerka,<ref>{{Cite journal |last1=Phelan |first1=Jo C. |last2=Link |first2=Bruce G. |last3=Stueve |first3=Ann |last4=Pescosolido |first4=Bernice A. |date=2000 |title=Public Conceptions of Mental Illness in 1950 and 1996: What Is Mental Illness and Is It to be Feared? |url=https://archive.org/details/sim_journal-of-health-and-social-behavior_2000-06_41_2/page/188 |journal=Journal of Health and Social Behavior |volume=41 |issue=2 |pages=188–207 |doi=10.2307/2676305 |issn=0022-1465 |jstor=2676305 }}</ref> ama naafanimada dhimmeerka,<ref name="psychiatric"/> waa hab-dhaqan ama qaab dhimmeer oo sababa dhib muuqda ama daciifnimo ku timaada shaqada qofka.<ref>{{cite book | vauthors = Bolton D |title=What is Mental Disorder?: An Essay in Philosophy, Science, and Values|date=2008|publisher=OUP Oxford|isbn=978-0-19-856592-5|page=6|url=https://books.google.com/books?id=Ohzt1HBilXcC&pg=PA6}}</ref> Cudurka dhimmeerka waxaa lagu gartaa sidoo kale [[Clinical significance|muhiimad kiliiniko]] oo khalkhal ku haysa garashada qofka, nidaaminta shucuurta, ama hab-dhaqanka, inta badan [[society|muddada bulshada dhexdeeda ah]].<ref>{{Cite journal |last=Hofmann |first=Stefan G. |date=2014-07-01 |title=Toward a Cognitive-Behavioral Classification System for Mental Disorders |journal=Behavior Therapy |language=en |volume=45 |issue=4 |pages=576–587 |doi=10.1016/j.beth.2014.03.001 |issn=0005-7894 |pmc=4234113 |pmid=24912469}}</ref><ref name="WHO2018" /> Khalkhalkan oo kale wuxuu dhici karaa iyagoo ah dhacdooyin keliya, wuxuu noqon karaa mid joogto ah, ama wuxuu noqon karaa mid [[relapsing–remitting]]. Waxaa jira noocyo badan oo kala duwan oo ah cudurada dhimmeerka, oo leh [[signs and symptoms|calaamado iyo astaamo]] aad ugu kala duwan cudurrada gaarka ah.<ref name="WHO2018">{{cite web|title=Mental disorders|website=World Health Organization|url=https://www.who.int/en/news-room/fact-sheets/detail/mental-disorders|date=22 June 2022 |url-status=live}}</ref><ref>{{cite web|title=Mental disorders|url=https://www.who.int/topics/mental_disorders/en/|website=World Health Organization|access-date=9 April 2016|url-status=live|date = 2016 }}</ref> Cudurka dhimmeerka waa hal dhinac oo ka mid ah [[mental health|caafimaadka dhimmeerka]].
<!-- Cause and diagnosis -->
[[causes of mental disorders|Sababaha cudurada dhimmeerka]] inta badan ma cadda. Aragtiyuhu waxay ku jiraan natiijooyin ka soo baxay qaybo kala duwan. Xanuunada waxaa laga yaabaa inay la xiriiraan goobo gaar ah ama shaqooyin ka tirsan maskaxda. Xanuunada waxaa caadi ahaan [[Medical diagnosis|lagu baaraa]] ama lagu qiimeeyaa [[mental health professional|khabiir ku takhasusay caafimaadka dhimmeerka]], sida [[Clinical psychology#Professional practice|cilmi-nafsiga kiliinikada]], [[psychiatrist|dhakhtarka dhimmeerka]], kalkaalisada dhimmeerka, ama [[social work|shaqaalaha bulshada ee kiliinikada]], iyadoo la adeegsanayo habab kala duwan sida [[psychometric tests|imtixaannada cilmi-nafsiga]], laakiin inta badan waxay ku tiirsan yihiin fiirinta iyo su'aalaha. Caadooyinka dhaqameed iyo kuwa diimeed, iyo sidoo kale [[Norm (social)|shuruucda bulshada]], waa in la tixgeliyo marka la samaynayo baaritaanka.<ref name=DSM5pg101>{{cite book | title=Diagnostic and statistical manual of mental disorders |edition = 5th |publisher=American Psychiatric Association |location=Arlington, VA | doi = 10.1176/appi.books.9780890425596|isbn=978-0-89042-554-1|pages= [https://archive.org/details/diagnosticstatis0005unse/page/101 101–05] |year= 2013 |last1 = American Psychiatric Association }}</ref>
<!-- Treatment and prevention -->
[[Services for mental disorders|Adeegyada cudurada dhimmeerka]] waxaa badanaa saldhig u ah [[psychiatric hospitals|isbitaallada dhimmeerka]], [[outpatient clinics|klinikada bukaan-socodka]], ama [[community mental health services|adeegyada caafimaadka dhimmeerka ee bulshada]]. Daawooyinka waxaa bixiya khubaro ku takhasusay caafimaadka dhimmeerka. Ikhtiyaarrada daawaynta ee caadiga ah waa [[psychotherapy|daawaynta cilmi-nafsiga]] ama [[psychiatric medication|dawooyinka dhimmeerka]], halka isbeddellada qaab-nololeedka, faragelinta bulshada, [[peer support|taageerada dhigaha]], iyo [[self-help|is-caawinta]] ay sidoo kale yihiin ikhtiyaarro. Kiisaska tirada yar, waxaa jiri kara [[involuntary commitment|xabsi qasab ah]] ama [[involuntary treatment|daawayn qasab ah]]. Barnaamijyada ka hortagga waxaa la tusay inay yareeyaan niyad-jabka.<ref name=WHO2018/><ref name="Jacka2017" />
<!-- Epidemiology -->
Sannadkii 2019, cudurrada dhimmeerka ee caadiga ah ee adduunka oo dhan waxaa ka mid ah: [[major depressive disorder|niyad-jabka daran]], kaas oo saameeya ku dhowaad 264 [[Million|milyan]] oo qof; [[dementia|waalida]], taas oo saameeya ku dhowaad 50 milyan; [[bipolar disorder|xanuunka labada-cirifoodka]], kaas oo saameeya ku dhowaad 45 milyan; iyo [[schizophrenia|skisofireeniya]] iyo [[psychosis|psychoses-ka]] kale, kuwaas oo saameeya ku dhowaad 20 milyan oo qof.<ref name="WHO2018" /> [[Neurodevelopmental disorders|Cudurada horumarinta neerfaha]] waxaa ka mid ah [[attention deficit hyperactivity disorder]] (ADHD), [[Autism|xanuunka dusha autism-ka]] (autism), iyo [[intellectual disability|naafanimada maskaxda]], kuwaas oo bilowgoodu dhaco horraanta xilliga horumarinta.<ref name="APA1">{{cite book |title=Diagnostic and statistical manual of mental disorders |url=https://archive.org/details/diagnosticstatis0005unse |edition = 5th |date=2013 |publisher=American Psychiatric Association |location=Arlington, VA |doi = 10.1176/appi.books.9780890425596|isbn=978-0-89042-554-1 |page=[https://archive.org/details/diagnosticstatis0005unse/page/31 31] |last1 = American Psychiatric Association }}</ref><ref name="WHO2018" /> [[Social stigma|Sumcad-xumada]] iyo [[mentalism (discrimination)|takoorka]] waxay ku dari karaan dhibaatada iyo naafanimada la xiriirta cudurada dhimmeerka, taas oo horseedaysa [[social movements|dhaqdhaqaaqyo bulsho]] oo kala duwan oo isku dayaya inay kordhiyaan fahamka oo ay caqabad ku noqdaan [[social exclusion|saaridda bulshada]].
{{TOC limit}}
==Qeexitaan==
Qeexitaanka iyo kala-soocidda cudurada dhimmeerka waa arrimo muhiim u ah cilmi-baarayaasha iyo sidoo kale bixiyeyaasha adeegga iyo kuwa laga yaabo in la baaro. Si xaaladda dhimmeerku u noqoto mid loo kala saaro cudur ahaan, inta badan waxay u baahan tahay inay sababto shaqo-xumo.<ref>{{cite journal | vauthors = Stein DJ | title = What is a mental disorder? A perspective from cognitive-affective science | journal = Canadian Journal of Psychiatry | volume = 58 | issue = 12 | pages = 656–62 | date = December 2013 | pmid = 24331284 | doi = 10.1177/070674371305801202 | doi-access = free }}</ref> Dokumentiyada kiliinikada caalamiga ah ee badankood waxay adeegsadaan erayga "disorder" (xanuun/khalkhal) dhimmeer, halka "illness" (cudur) ay sidoo kale caadi tahay. Waxaa la xusay in adeegsiga erayga "dhimmeer" (oo ah kan [[Mind|maskaxda]]) uusan si dhab ah uga dhignayn inuu ka soocan yahay maskaxda ama [[Human body|jirka]], inkastoo kala-soocidda u dhaxaysa [[Mind–body problem|maskaxda iyo jidhka]], iyo sidoo kale su'aasha dabeecaddooda aasaasiga ah, inta badan aan si ku filan loo baarin cilmiga dhimmeerka.<ref name=Karunamuni2025>{{cite journal |last1=Karunamuni |first1=N |last2=Wood |first2=T |last3=Galante |first3=J. |title=Exploring the mind-brain relationship to advance mental health research and practice |journal=Current Psychology |date=December 2025 |volume=44 |issue=24 |pages=19088–19108 |doi=10.1007/s12144-025-08345-2 }}</ref>
Sida laga soo xigtay daabacaaddii afraad ee Buug-gacmeedka Diagnostic iyo Statistical ee Cudurada Dhimmeerka ([[DSM-IV]]), oo la daabacay 1964, cudurka dhimmeerku waa [[syndrome|sindrome]] ama qaab cilmi-nafsiga ah oo la xiriira [[mental distress|dhibaatada dhimmeerka]] (tusaale ahaan, iyada oo la marayo [[symptom|calaamad xanuun badan]]), [[disability|naafannimo]] (daciifnimo hal ama in ka badan oo ah meelaha muhiimka ah ee shaqada), khatarta dhimashada oo kordhay, ama sababa khasaare weyn oo xagga madaxbannaanida ah; si kastaba ha ahaatee, waxay ka saaraysaa jawaabaha caadiga ah sida [[grief|tacsi/baroor]] ka timid luminta qof lo jecel yahay waxayna sidoo kale ka saaraysaa [[Deviance (sociology)|dabeecadda leexsan]] ee sababo siyaasadeed, diineed, ama bulsho oo aan ka soo bixin shaqo-xumo ku jirta qofka.<ref name=psychol-med>{{cite journal | vauthors = Stein DJ, Phillips KA, Bolton D, Fulford KW, Sadler JZ, Kendler KS | title = What is a mental/psychiatric disorder? From DSM-IV to DSM-V | publisher = Cambridge University Press | location = UK | issn = 0033-2917 | eissn =1469-8978 |oclc = 01588231 | journal = Psychological Medicine | volume = 40 | issue = 11 | pages = 1759–65 | date = November 2010 | pmid = 20624327 | pmc = 3101504 | doi = 10.1017/S0033291709992261 | quote = <!--long quote per fair use and to mitigate linkrot due to robots exclusion-->In DSM-IV, each of the mental disorders is conceptualized as a clinically significant behavioral or psychological syndrome or pattern that occurs in an individual and that is associated with present distress (e.g., a painful symptom) or disability (i.e., impairment in one or more important areas of functioning) or with a significantly increased risk of suffering death, pain, disability, or an important loss of freedom. In addition, this syndrome or pattern must not be merely an expectable and culturally sanctioned response to a particular event, for example, the death of a loved one. Whatever its original cause, it must currently be considered a manifestation of behavioral, psychological, or biological dysfunction in the individual. Neither deviant behavior (e.g., political, religious, or sexual) nor conflicts that are primarily between the individual and society are mental disorders unless the deviance or conflict is a symptom of a dysfunction in the individual, as described above.}}</ref>
Qeexitaanka DSM-IV wuxuu sheegayaa in, sida erayada caafimaadka badan, ''cudurka dhimmeerku'' "uu ka maqan yahay qeexitaan hawleed oo joogto ah oo daboolaya dhammaan xaaladaha". Waxay xusaysaa in heerar kala sooc oo kala duwan loo isticmaali karo qeexitaannada caafimaadka, oo ay ku jiraan cudur-sidaha, astaamaha, leexashada xadka caadiga ah, ama [[etiology|sababta asaasiga ah]], iyo in sida oo kale ay tahay cudurada dhimmeerka, sidaas darteed mararka qaarkood hal nooc oo qeexitaan ah ayaa habboon oo mararka qaarkood mid kalena ah, iyadoo ku xiran xaaladda.<ref>{{cite journal | vauthors = Stein DJ, Phillips KA, Bolton D, Fulford KW, Sadler JZ, Kendler KS | title = What is a mental/psychiatric disorder? From DSM-IV to DSM-V | publisher = Cambridge University Press | location = UK | issn = 0033-2917 | eissn =1469-8978 |oclc = 01588231 | journal = Psychological Medicine | volume = 40 | issue = 11 | pages = 1759–65 | date = November 2010 | pmid = 20624327 | pmc = 3101504 | doi = 10.1017/S0033291709992261 | quote = <!--long quote per fair use and to mitigate linkrot due to robots exclusion-->... although this manual provides a classification of mental disorders, it must be admitted that no definition adequately specifies precise boundaries for the concept of 'mental disorder.' The concept of mental disorder, like many other concepts in medicine and science, lacks a consistent operational definition that covers all situations. All medical conditions are defined on various levels of abstraction—for example, structural pathology (e.g., ulcerative colitis), symptom presentation (e.g., migraine), deviance from a physiological norm (e.g., hypertension), and etiology (e.g., pneumococcal pneumonia). Mental disorders have also been defined by a variety of concepts (e.g., distress, dyscontrol, disadvantage, disability, inflexibility, irrationality, syndromal pattern, etiology, and statistical deviation). Each is a useful indicator for a mental disorder, but none is equivalent to the concept, and different situations call for different definitions. }}</ref>
Sannadkii 2013, [[American Psychiatric Association]] (APA) waxay dib u qeexday cudurada dhimmeerka ee [[DSM-5]] iyada oo ah "sindrome lagu garto khalkhal muhiim ah oo kiliiniko ku jira garashada qofka, nidaaminta shucuurta, ama hab-dhaqanka kaas oo ka tarjumaya shaqo-xumo habraacyada nafsadda, bayoolajiga, ama horumarinta ee hooseeya shaqada dhimmeerka."<ref>{{cite book |chapter=Use of the Manual |title=Diagnostic and statistical manual of mental disorders |edition=5th |publisher=American Psychiatric Association |location=Arlington, VA |isbn=978-0-89042-554-1 |chapter-url=http://dsm.psychiatryonline.org/doi/book/10.1176/appi.books.9780890425596 |doi=10.1176/appi.books.9780890425596.UseofDSM5 |year=2013 |access-date=2 August 2017 }}</ref> Qoraalka ugu dambeeya ee [[ICD-11]] wuxuu ka kooban yahay qeexitaan aad u eg kan.<ref>{{Cite web|url=https://icd.who.int/browse11/l-m/en#/http%3a%2f%2fid.who.int%2ficd%2fentity%2f334423054|title=Chapter 6 on mental, behavioural and neurodevelopmental disorders|website=ICD-11 for Mortality and Morbidity Statistics, 2018 version|access-date=2 November 2018}}</ref>
===Cudurka neerfaha===
{{redirect|Nervous breakdown}}
'''Burburka dhimmeerka''', '''burburka neerfaha''' ama '''dhibaato xagga caafimaadka dhimmeerka ah''' waa cudur dhimmeer oo daran, xadidan wakhti ahaan, kaas oo si kooban u muuqda sida niyad-jab daran oo walbahaar keeno, walwal, fikrado xun oo paranoid ah, ama kala tagid (dissociation) oo ku dhacda qof hore u shaqeynayay, ilaa heer uusan hadda awood u lahayn inuu shaqeeyo maalin-maalin ilaa cudurka laga xalliyo.<ref>{{Cite web|url=https://www.healthdirect.gov.au/nervous-breakdown|title=Nervous breakdown|author=Healthdirect Australia|date=14 February 2019|website=www.healthdirect.gov.au|language=en-AU|access-date=25 March 2019}}</ref>
Burburka neerfaha waxaa inta badan si dhow loola xiriiriyaa gubashada nafsadda, culays shaqo oo xad-dhaaf ah, seexasho la'aan, iyo [[stressor|culaysyo]] la mid ah, kuwaas oo isku dari kara si ku-meel-gaar ah ugu buuxiya qof leh shaqooyin dhimmeer oo caafimaad qaba.<ref name="Rapport"/> Burburka dhimmeerku wuxuu socon karaa saacado hal mar ah, ilaa bilo hal mar ah. Iyadoo waqtiyadan ay ku kala duwanaan karaan dad kala duwan, falcelintooda ku aaddan burburka dhimmeerku sidoo kale way kala duwanaan kartaa. Erayadan si rasmi ah looma qeexin iyada oo la marinayo habka baaritaanka caafimaadka sida DSM-5 ama [[ICD-10]] waana kuwo ku dhow inay ka maqan yihiin suugaanta sayniska ee ku saabsan xanuunka dhimmeerka.<ref name="Rapport">{{cite journal | vauthors = Rapport LJ, Todd RM, Lumley MA, Fisicaro SA | title = The diagnostic meaning of "nervous breakdown" among lay populations | url = https://archive.org/details/sim_journal-of-personality-assessment_1998-10_71_2/page/242 | journal = Journal of Personality Assessment | volume = 71 | issue = 2 | pages = 242–52 | date = October 1998 | pmid = 9857496 | doi = 10.1207/s15327752jpa7102_11 }}</ref><ref name="Mayo">Hall-Flavin, Daniel K. (26 October 2016). [http://www.mayoclinic.com/health/nervous-breakdown/AN00476 "Nervous Breakdown"] ''Mayo Clinic''.</ref> Marka lagu daro fikradda cudurka dhimmeerka, dadka qaar ayaa ku dooday in lagu laabto fikraddii hore ee cudurka neerfaha. Buuggiisa ''How Everyone Became Depressed: The Rise and Fall of the Nervous Breakdown'' (2013), Edward Shorter, oo ah borofisar ku takhasusay cilmiga dhimmeerka iyo taariikhda daawada, ayaa yiri:
{{blockquote|Waxaan lahayn cudurka neerfaha qarniyo. Markaad aad u neerfoobto oo aadan shaqayn karin ... waa burbur neerfaha. Laakiin eraygaas wuxuu ka baxay daawada, inkasta oo uusan ka bixin habka aan u hadlayno.... Bukaan-socodka neerfaha ee wakhti hore waa kuwa niyad-jabka qaba ee maanta. Taasi waa war xun.... Waxaa jira cudur qoto dheer oo wsta niyad-jabka iyo astaamaha shucuurta. Waxaan cudurkan qoto dheer ugu yeeri karnaa wax kale, ama aan abuuri karnaa kelmado cusub, laakiin waxay u baahanahay inaan wadahadalka ka saarno niyad-jabka oo aan u wareejino cudurkan qoto dheer ee maskaxda iyo jirka. Taasi waa barta.|Edward Shorter, Jaamacadda Toronto<ref name=shorter>{{cite book | vauthors = Shorter E |title=How Everyone Became Depressed: The Rise and Fall of the Nervous Breakdown | url = https://archive.org/details/howeveryonebecam0000shor |date=2013 |publisher=Oxford University Press |isbn=978-0-19-997825-0 }}</ref>|title=|source=}}
{{blockquote|Marka la tirtirayo burburka neerfaha, cilmiga dhimmeerku wuxuu ku sigtay inuu yeesho burburkiisa neerfaha ee u gaarka ah.|[[David Healy (psychiatrist)|David Healy]], MD, FRCPsych, Borofisarka Cilmiga Dhimmeerka, Jaamacadda Cardiff, Wales<ref>David Healy (2013) ''Pharmageddon'', University of California Press {{ISBN|978-0-520-27576-8}}</ref>|title=|source=}}
==Tixraac==
{{Reflist}}
lqie21v0ocnmodw8o4dhypxtwu2xil9
Dawlada Falastiin
0
36314
310835
309125
2026-10-24T17:36:02Z
InternetArchiveBot
28368
Add 1 book for [[en:Wikipedia:Verifiability|verifiability]] (20261024) #IABot (v2.0.9.6) ([[User:GreenC bot|GreenC bot]])
310835
wikitext
text/x-wiki
'''Falastiin''' ,si rasmi ah '''Dawladda Falastiin''' , waa waddan ku yaal Galbeedka [[Aasiya]] . Waxa aqoonsaday 147 ka mid ah 193-ka waddan ee [[Qaramada Midoobay]] ka kooban yahay , waxa ay ka kooban tahay Daanta Galbeed ee ay [[Israaiil]] haysato , oo ay ku jiraan Bariga Quddus iyo Marinka Qaza , oo loo wada yaqaanno dhulka Falastiiniyiinta ee la haysto. Dhulalku waxay wadaagaan inta badan xudduudaha ay la leeyihiin Israa'iil , iyadoo Daanta Galbeed ay xuduud la leedahay Urdun oo bari ah iyo Marinka Qasa oo xuduud la leh Masar oo ka xigta koonfur-galbeed. Waxay leedahay bedka dhul dhan 6,020 kiiloomitir laba jibaaran (2,320 sq mi) halka dadkeedu ay ka badan yihiin shan milyan. Caasimadeeda lagu dhawaaqay waa Jerusalem , halka Ramallah ay u adeegto sidii xarunteeda dhabta ah ee maamulka. Gaza waxay ahayd magaaladeedii ugu weyneyd ka hor daad-gureynta 2023 . {{Infobox country
| conventional_long_name = Dawladda Falastiin
| common_name = Falastiin
| native_name = دولة فلسطين [[Carabi]]
| image_flag = Flag of Palestine.svg
| image_coat = Coat of arms of Palestine.svg
| symbol_width = 70px
| national_anthem = "{{lang|ar|{{big|فدائي}}}}"<br />{{lower|0.1em|"[[Fida'i]]"<ref>{{cite web|title=Palestine |access-date=8 June 2014 |website=nationalanthems.info |url=http://www.nationalanthems.info/ps.htm |archive-url=https://web.archive.org/web/20140331034257/http://www.nationalanthems.info/ps.htm |archive-date=31 March 2014 |format=includes audio |url-status=live }}</ref>}}<br />"Fedayeen Warrior"
[[File:Anthem of Palestine.ogg]]
| image_map = State of Palestine (orthographic projection).svg
| map_width = 220px
| map_caption = [[w:Dhulka Falastiin|Dhul ay sheegatay Falastiin]] (Cagaar).<br />Dhul ay sheegtay Israa'iil (cagaar khafiif ah).
| capital = {{unbulleted list
|item1_style=margin-bottom:2px;|[[Jerusalem]] ([[w:Status of Jerusalem|limited recognition]]){{efn|The Palestinian Declaration of Independence ku dhawaaqo the "establishment of the State of Palestine on our Palestinian territory with its capital Jerusalem (Al-Quds Ash-Sharif)." Israel exercises ''de facto'' control over Jerusalem, but [[w:Status of Jerusalem|neither state’s claims to Jerusalem are widely recognized by the international community]]. [[Ramallah]] is the administrative capital where government institutions and [[List of diplomatic missions to Palestine|foreign representative offices]] are located, while most countries maintain their [[List of diplomatic missions in Israel|embassies to Israel]] in [[Tel Aviv]]. In [[Oslo I Accord]], few parts of Jerusalem went under control of the Palestinian government, but did not solved overall [[status of Jerusalem]].}}
|[[Ramallah]]
}}
| status = [[w:United Nations General Assembly observers|UN observer state]] under [[w:Israeli occupation of Palestine|Israeli occupation]]<br />[[w:International recognition of the State of Palestine|Recognized by 145 UN member states]]
| religion_year = 2023
| capital_type = {{unbulleted list
|item1_style=margin-top:2px;margin-bottom:2px;|Caasimada lagu dhawaaqay
|Xarunta<br />Maamulka
}}
| largest_city = [[Rafax]]{{efn|Before 2023, [[Gaza City]] was the largest city in the State of Palestine. Following attacks by Israel, a large amount of refugees from Gaza City and elsewhere in [[Gaza Strip|the Strip]] evacuated into the border city of Rafah, effectively making it the most populous city.}}<ref>{{cite web|url= https://english.wafa.ps/Pages/Details/140699#:~:text=ActionAid%3A%20Conditions%20in%20Rafah%20at,over%20one%20million%20displaced%20people | title= ActionAid: Conditions in Rafah at breaking point, with over one million displaced people
|work=wafa agency}}</ref>
| official_languages = [[Carabi|Carabi]]
| religion = {{ublist
| 98% [[Islam]] ([[State religion|official]])
| 2% other
}}
| demonym = [[Falastiiniyiinta|Falastiin]]
| government_type = Jamhuuriyad [[madax-weyne midaysan]]<ref name=declaration1988>{{cite web|title=Declaration of Independence (1988) (UN Doc) |date=18 November 1988 |access-date=8 June 2014 |website=State of Palestine Permanent Observer Mission to the United Nations |url=http://www.un.int/wcm/content/site/palestine/cache/offonce/pid/12353 |archive-url=https://web.archive.org/web/20140608203237/http://www.un.int/wcm/content/site/palestine/cache/offonce/pid/12353 |archive-date=8 June 2014 |url-status=dead |publisher=United Nations }}</ref><!-- Articles in Wikipedia may not be used as citations; I have cited the published document -->
| leader_title1 = [[Madaxweynaha Dawladda Falastiin|Madaxweyne]]
| leader_name1 = [[Maxamuud Cabaas]]{{{efn|name=PLOchair|Both presidents of the State of Palestine, [[Yasser Arafat]] and his successor [[Mahmoud Abbas]], were chosen beforehand as [[Chairman of the Executive Committee of the Palestine Liberation Organization]], the [[Executive Committee of the Palestine Liberation Organization|committee]] performing the roles of State of Palestine government.<ref name="A67L28">{{UN document |docid=A/67/L.28 |body=A |type=A |session=67 |document_number=37 |title=Question of Palestine |date=26 November 2012 |accessdate=11 June 2014}} and {{UN document |docid=A/RES/67/19 |body=A |type=R |session=67 |resolution_number=67/19 |title=Status of Palestine in the United Nations |date=29 November 2012 |accessdate=11 June 2014}}</ref><ref name="GiE">{{Cite book |last1=Sayigh |first1=Yezid |title=Armed Struggle and the Search for State: The Palestinian National Movement, 1949–1993 |url=https://archive.org/details/armedstrugglesea0000yazi |publisher=[[Oxford University Press]] |year=1999 |isbn=978-0-19-829643-0 |edition=illustrated |page=[https://archive.org/details/armedstrugglesea0000yazi/page/624 624] |quote=The Palestinian National Council also empowered the central council to form a government-in-exile when appropriate, and the [[Executive Committee of the Palestine Liberation Organization|executive committee]] to perform the functions of government until such time as a government-in-exile was established.}}</ref> See also [[Leaders of Palestinian institutions]].}}
| leader_title2 = [[Ra'iisul Wasaaraha Dowladda Falastiin|Ra'iisul Wasaare]]
| leader_name2 = [[w:Mohammad Mustafa (economist)|Mohammad Mustafa]]
| leader_title3 = [[w:Speaker of the Palestinian Legislative Council|Gudoomiyaha Baarlamaanka]]
| leader_name3 = [[w:Aziz Dweik|Aziz Dweik]]
| legislature = [[w:Golaha Qaranka Falastiin|Golaha Qaranka]]
| sovereignty_type = [[#History|Saameynta]]
| established_event1 = [[w:Ku dhawaaqida Madaxbanaanida Falastiin|Ku dhawaaqida Madaxbanaanida]]
| established_date1 = 15 November 1988
| established_event2 = [[w:United Nations General Assembly resolution 67/19|UNGA observer state resolution]]
| established_date2 = 29 November 2012
| established_event3 = Qaranimada oo lagu muransan yahay[[Israa'iil]]
| established_date3 = [[w:Israeli–Colaadda Falastiin|Soconaya]]{{efn|Israel lets the [[Palestinian National Authority]] have some power in the Palestinian territories. This depends on the [[West Bank Areas in the Oslo II Accord|area classification]]. The Palestinian National Authority has some power (control of borders: [[National airspace|air]],<ref name=GazaSeaAir>[http://www.btselem.org/english/Gaza_Strip/Control_on_Air_space_and_territorial_waters.asp Israel's control of the airspace and the territorial waters of the Gaza Strip] {{Webarchive|url=https://web.archive.org/web/20110605005942/http://www.btselem.org/english/Gaza_Strip/Control_on_Air_space_and_territorial_waters.asp |date=5 June 2011 }}.</ref> sea beyond [[internal waters]],<ref name=GazaSeaAir /><ref>[http://dissidentvoice.org/wp-content/uploads/2009/12/Gaza-map-08s-fishing-limits-20090119.jpg Map of Gaza fishing limits, "security zones"] {{Wayback|url=http://dissidentvoice.org/wp-content/uploads/2009/12/Gaza-map-08s-fishing-limits-20090119.jpg |date=20110726000805 }} {{Webarchive|url=https://web.archive.org/web/20110726000805/http://dissidentvoice.org/wp-content/uploads/2009/12/Gaza-map-08s-fishing-limits-20090119.jpg |date=26 July 2011 }}.</ref> [[European Union Border Assistance Mission Rafah|land]]<ref>[http://www.mfa.gov.il/MFA/Peace+Process/Guide+to+the+Peace+Process/Israels+Disengagement+Plan-+Renewing+the+Peace+Process+Apr+2005.htm Israel's Disengagement Plan: Renewing the Peace Process] {{Webarchive|url=https://web.archive.org/web/20070302014936/http://www.mfa.gov.il/MFA/Peace%20Process/Guide%20to%20the%20Peace%20Process/Israels%20Disengagement%20Plan-%20Renewing%20the%20Peace%20Process%20Apr%202005.htm |date=2 March 2007 }}: "Israel will guard the perimeter of the Gaza Strip, continue to control Gaza air space, and continue to patrol the sea off the Gaza coast. ... Israel will continue to maintain its essential military presence to prevent arms smuggling along the border between the Gaza Strip and Egypt ([[Philadelphi Route]]), until the security situation and cooperation with Egypt permit an alternative security arrangement."</ref>) in the Gaza Strip (its land and Egypt part of the land border are under [[Governance of the Gaza Strip|Hamas control]])<ref name=HumanRightsWatch>{{cite web |title=Israel: 'Disengagement' Will Not End Gaza Occupation |publisher=[[Human Rights Watch]] |date=29 October 2004 |url=https://www.hrw.org/english/docs/2004/10/29/isrlpa9577.htm |access-date=16 July 2010 |archive-url=https://web.archive.org/web/20081101210931/http://hrw.org/english/docs/2004/10/29/isrlpa9577.htm |archive-date=1 November 2008 |url-status=live}}</ref><ref>{{cite journal |author=[[Dore Gold|Gold, Dore]] |title=Legal Acrobatics: The Palestinian Claim that Gaza Is Still 'Occupied' Even After Israel Withdraws |journal=Jerusalem Issue Brief |volume=5 |issue=3 |publisher=[[Jerusalem Center for Public Affairs]] |date=26 August 2005 |url=http://www.jcpa.org/brief/brief005-3.htm |access-date=16 July 2010 |archive-url=https://web.archive.org/web/20100621082606/http://jcpa.org/brief/brief005-3.htm |archive-date=21 June 2010 |url-status=live}}</ref><ref>{{cite journal |author=[[Avi Bell|Bell, Abraham]] |title=International Law and Gaza: The Assault on Israel's Right to Self-Defense |journal=Jerusalem Issue Brief |volume=7 |issue=29 |publisher=[[Jerusalem Center for Public Affairs]] |date=28 January 2008 |url=http://www.jcpa.org/brief/brief005-3.htm |access-date=16 July 2010 |archive-url=https://web.archive.org/web/20100621082606/http://jcpa.org/brief/brief005-3.htm |archive-date=21 June 2010 |url-status=live}}</ref><ref>{{Cite news |author=Transcript |title=Address by FM Livni to the 8th Herzliya Conference |publisher=[[Ministry of Foreign Affairs (Israel)|Israeli Ministry of Foreign Affairs]] |date=22 January 2008 |url=http://www.mfa.gov.il/MFA/Government/Speeches+by+Israeli+leaders/2008/Address+by+FM+Livni+to+the+8th+Herzliya+Conference+22-Jan-2008.htm?DisplayMode=print |access-date=26 September 2011 |archive-url=https://web.archive.org/web/20111026025009/http://www.mfa.gov.il/MFA/Government/Speeches%2Bby%2BIsraeli%2Bleaders/2008/Address%2Bby%2BFM%2BLivni%2Bto%2Bthe%2B8th%2BHerzliya%2BConference%2B22-Jan-2008.htm?DisplayMode=print |archive-date=26 October 2011 |url-status=live}}</ref><ref>{{cite web |author=Salih, Zak M. |title=Panelists Disagree Over Gaza's Occupation Status |publisher=[[University of Virginia School of Law]] |date=17 November 2005 |url=http://www.law.virginia.edu/html/news/2005_fall/gaza.htm |access-date=26 September 2011 |archive-url=https://web.archive.org/web/20160303200844/http://www.law.virginia.edu/html/news/2005_fall/gaza.htm |archive-date=3 March 2016 |url-status=dead }}</ref> See also ''[[Israeli-occupied territories]]''.|name=control}}
<ref>{{cite web|first1=Maayana |last1=Miskin |title=PA Weighs 'State of Palestine' Passport |date=5 December 2012 |access-date=8 June 2014 |website=israelnationalnews.com |url=http://www.israelnationalnews.com/News/News.aspx/162844#.U5TD6vmICm6 |archive-url=https://web.archive.org/web/20121207082503/http://www.israelnationalnews.com/News/News.aspx/162844 |archive-date=7 December 2012 |url-status=live |publisher=Arutz Sheva |quote=A senior PA official revealed the plans in an interview with ''Al-Quds'' newspaper. The change to 'state' status is important because it shows that 'the state of Palestine is occupied,' he said. }}</ref><ref name="Limitations">{{cite news|title=State of Palestine name change shows limitations|url=https://news.yahoo.com/state-palestine-name-change-shows-limitations-200641448.html|agency=AP|date=17 January 2013|quote=Israel remains in charge of territories the world says should one day make up that state.|archive-url=https://web.archive.org/web/20130110025703/http://news.yahoo.com/state-palestine-name-change-shows-limitations-200641448.html |archive-date=10 January 2013 }}</ref>
| area_km2 = 6,020<ref name="UN Stats-2012">{{cite book |chapter-url=https://unstats.un.org/unsd/demographic/products/dyb/dyb2012/Table03.pdf |chapter=Table 3, Population by sex, annual rate of population increase, surface area and density |title=Demographic Yearbook |url=https://unstats.un.org/unsd/demographic/products/dyb/dyb2012.htm |date=2012 |publisher=[[United Nations Statistics Division]] |access-date=28 January 2018 |archive-url=https://web.archive.org/web/20171015114145/https://unstats.un.org/unsd/demographic/products/dyb/dyb2012.htm |archive-date=15 October 2017 |url-status=live }}</ref> <!-- Area should match [[List of countries and dependencies by area]] -->
| area_rank = 163rd <!-- Area rank should match [[List of countries and dependencies by area]] -->
| area_footnote =
| area_sq_mi = 2,320 <!-- Area should match [[List of countries and dependencies by area]] -->
| percent_water = 3.5<ref>{{cite web |url=https://www.cia.gov/the-world-factbook/countries/west-bank/ |title=The World Factbook: Middle East: West Bank |website=cia.gov |publisher=Central Intelligence Agency |date=7 April 2014 |access-date=8 June 2014 |archive-date=22 July 2021 |archive-url=https://web.archive.org/web/20210722231029/https://www.cia.gov/the-world-factbook/countries/west-bank/ |url-status=live }}</ref>
| area_label2 = [[West Bank]]
| area_data2 = 5,655 km{{smallsup|2}}
| area_label3 = [[Gaza Strip]]
| area_data3 = 365 km{{smallsup|2}}<ref>{{cite web |url=https://www.cia.gov/the-world-factbook/countries/gaza-strip/ |title=The World Factbook: Middle East: Gaza Strip |website=cia.gov |publisher=Central Intelligence Agency |date=12 May 2014 |access-date=8 June 2014 |archive-date=12 January 2021 |archive-url=https://web.archive.org/web/20210112082940/https://www.cia.gov/the-world-factbook/countries/gaza-strip |url-status=live }}</ref>
| population_estimate = 5,483,450<ref name="census">{{cite web| url=https://www.pcbs.gov.ps/statisticsIndicatorsTables.aspx?lang=en&table_id=676| title=Estimated Population in the Palestine Mid-Year by Governorate,1997-2026| publisher=Palestinian Central Bureau of Statistics| access-date=7 December 2022| archive-date=7 December 2022| archive-url=https://web.archive.org/web/20221207112233/https://www.pcbs.gov.ps/statisticsIndicatorsTables.aspx?lang=en&table_id=676| url-status=live}}</ref>
| population_estimate_year = 2023
| population_estimate_rank = 121aad
| population_census_year =
| population_density_km2 = 731
| population_density_sq_mi = 1,895
| population_density_rank =
| GDP_PPP = {{increase}} $36.391 billion<ref name="IMFWEO.PS">{{cite web |url=https://www.imf.org/en/Publications/WEO/weo-database/2023/October/weo-report?c=487,&s=NGDPD,PPPGDP,NGDPDPC,PPPPC,&sy=2020&ey=2028&ssm=0&scsm=1&scc=0&ssd=1&ssc=0&sic=0&sort=country&ds=.&br=1 |title=World Economic Outlook Database, October 2023 Edition. (Palestine) |publisher=[[International Monetary Fund]] |website=IMF.org |date=10 October 2023 |access-date=16 October 2023 |archive-date=23 October 2023 |archive-url=https://web.archive.org/web/20231023133432/https://www.imf.org/en/Publications/WEO/weo-database/2023/October/weo-report?c=487,&s=NGDPD,PPPGDP,NGDPDPC,PPPPC,&sy=2020&ey=2028&ssm=0&scsm=1&scc=0&ssd=1&ssc=0&sic=0&sort=country&ds=.&br=1 |url-status=live }}</ref>
| GDP_PPP_year = 2023
| GDP_PPP_rank = 138aad
| GDP_PPP_per_capita = {{increase}} $6,642<ref name="IMFWEO.PS" />
| GDP_nominal_per_capita_rank = 131aad
| GDP_nominal = {{increase}} $18.109 billion<ref name="IMFWEO.PS" />
| GDP_nominal_year = 2021
| GDP_nominal_rank = 121aad
| GDP_nominal_per_capita = {{increase}} $3,464<ref name="IMFWEO.PS" />
| GDP_PPP_per_capita_rank = 140aad
| Gini_year = 2016
| Gini_change = decrease<!--increase/decrease/steady-->
| Gini = 33.7 <!--number only-->
| Gini_ref = <ref name=gini-index>{{cite web|title=GINI index coefficient: West Bank & Gaza|url=https://www.cia.gov/the-world-factbook/field/gini-index-coefficient-distribution-of-family-income/country-comparison|publisher=CIA Factbook|access-date=12 August 2021|archive-date=30 June 2021|archive-url=https://web.archive.org/web/20210630032239/https://www.cia.gov/the-world-factbook/field/gini-index-coefficient-distribution-of-family-income/country-comparison/|url-status=live}}</ref>
| HDI = [[File:Decrease2.svg|12px|border]]0.674<!--number only, between 0 and 1-->
| HDI_year = 2023<!-- Please use the year to which the data refers, not the publication year-->
| HDI_change = <!--increase/decrease/steady-->
| HDI_ref = <ref name="UNHDR">{{cite book|title=Human Development Report 2020 The Next Frontier: Human Development and the Anthropocene|date=15 December 2020|publisher=United Nations Development Programme|isbn=978-92-1-126442-5|pages=343–346|url=http://hdr.undp.org/sites/default/files/hdr2020.pdf|access-date=16 December 2020|archive-date=15 December 2020|archive-url=https://web.archive.org/web/20201215063955/http://hdr.undp.org/sites/default/files/hdr2020.pdf|url-status=live}}</ref>
| HDI_rank = 106aad
| currency = {{unbulleted list |Pound Masar ([[ISO 4217|EGP]]) |[[Israeli new shekel]] (ILS) |[[Jordanian dinar]] (JOD) |(''[[xaqiiqo]]'')<ref>According to [https://web.archive.org/web/20161001065601/http://www.mfa.gov.il/MFA/Peace%2BProcess/Guide%2Bto%2Bthe%2BPeace%2BProcess/Gaza-Jericho%2BAgreement%2BAnnex%2BIV%2B-%2BEconomic%2BProtoco.htm Article 4 of the 1994 Paris Protocol], the State of Palestine has no official currency. The Protocol allows the Palestinian Authority to adopt multiple currencies. In the [[West Bank]], the Israeli new sheqel and Jordanian dinar are widely accepted, while in the [[Gaza Strip]] the Israeli new sheqel and Egyptian pound are widely accepted.</ref>}}
| time_zone = Waqtiga caadiga ah ee Falastiin
| utc_offset = +2
| utc_offset_DST = +3
| time_zone_DST = [[Waqtiga Xagaaga ee Falastiin]]
| date_format = dd/mm/yyyy<!--numeric dates (dd-mm-yyyy, yyyy.mm.dd, etc.) plus era (CE, AD, AH, etc.)-->
| drives_on = Sax
| calling_code = +970
| iso3166code =
| cctld = [[.ps]]
| footnote_a =
| footnote_b =
| footnote_c }}
Waxay ku taal meel isgoys ah oo qaaradda ah , gobolka Falastiin waxaa xukumayay boqortooyo kala duwan waxayna la kulmeen isbeddello bulsho oo kala duwan laga soo bilaabo waayihii hore ilaa casrigan. Waxa ay cagta saartay ciidamada Niilka iyo Mesobotaamiya iyo baayacmushtar ka yimid Waqooyiga Afrika, Shiinaha iyo Hindiya. Gobolku wuxuu leeyahay muhiimad diineed . Colaadda Israa’iil iyo Falastiin ee socota waxay soo bilaabatay soo ifbaxa dhaqdhaqaaqa Sahyuuniyadda , oo ay taageerto Boqortooyada Ingiriiska intii lagu jiray dagaalkii 1aad ee Adduunka . Dagaalku wuxuu arkay in Ingiriisku gumaysanayo Falastiin oo uu ka haysto Boqortooyadii Cusmaaniyiinta halkaas oo ay ka dhisteen Falastiin Qasab ah oo hoos imanaysa ururka League of Nations . Soo galootiga Yuhuuda oo kordhay ayaa sababay iska hor imaad dhex maray Yuhuuda iyo Carabta Falastiiniyiinta , kaas oo isu bedelay dagaal sokeeye 1947 ka dib markii ay Qaramada Midoobay soo jeedisay in la kala qaybiyo ay diideen Falastiiniyiinta iyo dalalka kale ee Carabta .
Dagaalkii Falastiin ee 1948 wuxuu arkay barakicin xoog leh oo badan oo ka mid ah dadka Carabta, oo sidaas darteed la aasaasay Israa'iil; Dhacdooyinkan waxa ay falastiiniyiintu u yaqaaniin Nakba ('masiibo'). Dagaalkii lixda maalmood socday ee 1967, Israa'iil waxay qabsatay Daanta Galbeed iyo Marinka Gaza , oo ay kala haysteen Jordan iyo Masar siday u kala horreeyaan. Ururka Xoraynta Falastiin (PLO) wuxuu ku dhawaaqay madax-bannaani 1988. 1993, PLO waxay heshiis Oslo la saxiixday Israel, abuurista maamulka PLO ee Daanta Galbeed iyo Marinka Gaza iyada oo loo marayo Maamulka Falastiin (PA). Israa'iil ayaa Gaza isaga baxday sannadkii 2005-tii oo ay ka go'day , balse dhulkaas ayaa weli loo arkaa in uu ku jiro qabsasho ciidan, waxaana go'doomiyay Israa'iil. Sannadkii 2007dii, kala qaybsanaan gudaha ah oo u dhaxaysa kooxaha siyaasadda ayaa horseeday in Xamaas ay la wareegto Gaza . Tan iyo markaas, Daanta Galbeed waxaa maamula qayb kamid ah ururka Fatax uu hoggaamiyo, halka Marinka Qaza uu weli ku sii jiro gacanta Xamaas .
Israa'iil ayaa tan iyo 1967-dii ka dhisatay deegaamayn ballaaran oo ay ka dhisatay Daanta Galbeed iyo Bariga Quddus, kuwaas oo hadda ay ku nool yihiin in ka badan 670,000 oo Israa'iil ah oo degganaa, kuwaas oo sharci darro ah marka loo eego sharciga caalamiga ah . Weeraradii ay qaadeen kooxaha hubaysan ee Xamaas ay hogaaminayso bishii Oktoobar 2023 ee Israa’iil waxaa ku xigay dagaalka Gaza , kaas oo sababay khasaare nafeed oo baaxad leh, barokac dadwayne , dhibaato bini’aadantinimo , iyo macaluul ka socota Marinka Gaza. Sida laga soo xigtay guddi gaar ah oo Qaramada Midoobay ah , Amnesty International iyo khubaro kale iyo hay'adaha xuquuqul insaanka, Israa'iil waxay geysatay xasuuq ka dhan ah dadka reer Falastiin intii ay socotay duullaanka iyo duqeymaha ay ku hayso marinka Qaza .
Qaar ka mid ah caqabadaha haysta Falastiin waxaa ka mid ah dawlad aan waxtar lahayn, qabsashada Israa'iil, xannibaado, xannibaado dhaqdhaqaaqa , deegaamaynta Israa'iil iyo rabshadaha degayaasha , iyo sidoo kale xaalad ammaan guud oo liidata. Su'aalaha xuduudaha Falastiin , sharciga iyo xaaladda diblomaasiyadeed ee Jerusalem, iyo xuquuqda soo celinta qaxootiga Falastiin ayaa weli aan la xalin. Iyadoo ay jiraan caqabadahaas, waddanku waxa uu sii wadaa dhaqaale soo koraya oo wuxuu arkaa dalxiis joogto ah . Carabiga waa luqadda rasmiga ah ee dalka. Iyadoo inta badan Falastiiniyiintu ay ku dhaqmaan diinta Islaamka , Masiixiyadda sidoo kale waxay leedahay joogitaan . Falastiin ayaa sidoo kale xubin ka ah dhowr urur oo caalami ah oo ay ku jiraan Jaamacadda Carabta iyo Ururka Iskaashiga Islaamka , UNESCO iyo wafdi xildhibaanno ah oo fadhiya Golaha Baarlamaanka ee Golaha Yurub.
==Asalka erayga==
Erayga "Falastiin" (Laatiin, Palæstina ) wuxuu ka yimid Giriiggii hore oo ka yimid magac-sare oo Semitic ah oo loogu talagalay guud ahaan aagga guud ee soo noqnoqda dabayaaqadii qarnigii labaad ee BCE, falcelintaas oo sidoo kale laga helayo qowmiyadda Baybalka ee Falastiin . Erayga "Falastiin" waxa loo adeegsaday in lagu tilmaamo aagga koonfur-bari ee badda Mediterranean-ka ee ka xigta Suuriya .Qarnigii 5-aad ee BCE, shaqadiisa Taariikhda , Herodotus wuxuu adeegsaday ereyga si uu u qeexo "degmada Suuriya, oo loo yaqaan Palaistine" kaas oo Fenishiyan ay la falgaleen dadyowga kale ee badda.
===Eray bixinta===
Maqaalkani waxa uu adeegsanayaa ereyada "Falastiin", "Dawladda Falastiin", "Dhulka Falastiin ee la haysto (oPt ama OPT)" si is beddel ah iyadoo ku xidhan macnaha guud. Gaar ahaan, ereyga "dhulka Falastiin ee la haysto" waxaa loola jeedaa guud ahaan aagga juqraafi ee dhulka falastiiniyiinta ee ay qabsato Israa'iil tan iyo 1967. Falastiin waxay ku xiran tahay xaaladaha, waxaa loo tixraaci karaa waddan ama dawlad, maamulkeedana guud ahaan waxaa loo aqoonsan karaa inay tahay Dawladda Falastiin
==Taariikhda==
===Laga soo bilaabo taariikhdii hore ilaa waagii Cusmaaniyiinta===
Gobolka Falastiin waa qayb ka mid ah gobolka ballaadhan ee Levant , kaas oo u taagan buundada dhulka ee u dhaxaysa Afrika iyo Eurasia . Meelaha Levant dhaqan ahaan waxay u adeegaan sidii "isgoysyada Galbeedka Aasiya , Bariga Mediterranean-ka , iyo Waqooyi Bari Afrika ", iyo ereyada tectonic waxay ku yaalaan "waqooyi-galbeed ee saxanka Carabta ". Falastiin lafteedu waxay ka mid ahayd gobollada ugu horreeya si ay u arkaan deegaanka aadanaha, bulshooyinka beeraha iyo ilbaxnimada . Meesha ay ku taallo awgeed, waxaa taariikh ahaan loo arkayay inay tahay jid-goynta diinta, dhaqanka, ganacsiga iyo siyaasadda. Qarnigii Bronze-ka , reer Kancaanku waxay dhisteen dawlado-magaalo oo ay saamaysay ilbaxnimooyinka ku xeeran, oo ay ka mid yihiin Masar, oo xukumaysay aagga qarniyadii naxaasta. Intii lagu jiray xilligii birta , laba boqortooyo oo Israa'iil ah oo xidhiidh la lahaa , Israa'iil iyo Yahuudda , ayaa gacanta ku hayay inta badan Falastiin, halka Falastiiniyiintuna ay qabsadeen xeebta koonfureed. Reer Ashuur waxay qabsadeen gobolka qarnigii 8aad ee BC, ka dibna Baabiyloon c. 601 BCE , waxaa ku xigay Boqortooyadii Achaemenid ee Faaris oo qabsatay Boqortooyadii Baabiyloon 539 BCE. Alexander the Great wuxuu qabsaday boqortooyadii Faaris dabayaaqadii 330-meeyadii BC, isagoo bilaabay Hellenization .
Dabayaaqadii qarnigii 2aad ee BCE Kacdoonkii Maccabean , Boqortooyada Hasmonean ee Yuhuuddu waxay qabsatay Falastiin inteeda badan; Boqortooyadu ka dib waxay noqotay vassal Rome , kaas oo ku daray 63 BCE. Yahuudiya Roomaanka waxaa dhibay kacdoonadii Yuhuuda 66 CE, sidaas darteed Rome waxay burburisay Yeruusaalem iyo Macbadka Labaad ee Yuhuudda 70 CE. Qarnigii 4aad, markii Boqortooyada Roomaanka ay qaadatay diinta Masiixiga , Falastiin waxay noqotay xarun diinta, soo jiidata xujaajta, suufiyada iyo culimada. Ka dib qabsashadii Muslimiinta ee Levant 636-641, boqortooyadii xukumayay ayaa midba midka kale ka dambeeyay: Rashiduns ; Umayyad , Cabbaasiyiinta ; Tuluniyiinta iyo Ikhshidiid kuwa madaxa banaan ; Faadimiyiinta ; iyo Seljuks . Sanadkii 1099, Saliibiyadii Koowaad waxay keentay in Saliibiyiintu ay dhistaan Boqortooyada Jerusalem , taas oo ay dib u qabsadeen Ayyubid Sultanate 1187. Ka dib duulaankii Boqortooyada Mongol ee dabayaaqadii 1250-meeyadii, Mamluks Masar waxay dib ula midoobeen Falastiin iyada oo ay maamusho , ka hor inta aan gobolka la qabsan Boqortooyadii 1aad ee Suuriya. Qarnigii 20aad inta badan muran la'aan
===Kor u kaca qarannimada Falastiin===
In kasta oo dadka Falastiiniyiinta ah, gaar ahaan qoysaska caanka ah ee magaalooyinka ka shaqeeya gudaha xafiiska Ottoman, guud ahaan waxay sii hayaan daacadnimadooda Ottomans, waxay sidoo kale door muhiim ah ka ciyaareen kor u kaca wadaninimada Carabta , iyo dhaqdhaqaaqa Pan-Arabic kuwaas oo ka jawaabay labadaba soo ifbaxa dhaqdhaqaaqa dhalinyarada Turkiga iyo daciifinta dambe ee dagaalka ee Sion ee awoodda 7 . kuwaas oo doonayey in ay ka dhisaan dhulka Yuhuuda ee Falastiin, sidoo kale waxay saameyn xooggan ku yeesheen miyir-qabka qaranka Falastiin.
Cabdul Xamiid , oo ahaa suldaankii ugu dambeeyay ee Boqortooyadii Cusmaaniyiinta, ayaa ka horyimid dadaallada dhaqdhaqaaqa Sahyuuniyadda ee Falastiin. Dhammaadkii taliskii Boqortooyadii Cusmaaniyiinta ee Falastiin waxay ku soo beegantay markii uu dhammaaday dagaalkii 1aad ee Adduunka . Fashilka Amiir Faysal ee ku guul daraystay in la dhiso Suuriya-weyn iyada oo la eegayo sheegashada gumaystaha Faransiiska iyo Ingiriiska ee aaggaas, waxa kale oo ay qaabaysay dedaallada madaxda falastiiniyiinta si ay u helaan madaxbannaani maxalli ah. Ka dib dagaalkii, Falastiin waxay soo gashay gacanta Ingiriiska iyada oo la fulinayo Waajibaadka Ingiriiska ee Falastiin 1920.
===Waajibaadka Ingiriiska===
[[File:Deir Yassin 1930s.jpg|thumb|Xasuuqa Deyr Yaasiin ee tuulooyinka Falastiin waxaa fuliyay malayshiyaadka Sahyuuniyadda, Irgun iyo Lehi intii lagu jiray dagaalkii Falastiin 1948-kii .]]
Jabkii Boqortooyadii Cusmaaniyiinta ee dagaalkii 1aad ee Adduunka waxa ay keentay in xukunkoodii la burburiyo. Sannadkii 1920-kii, Ururka Qarammada Midoobay waxa ay siisay Britain awoodda ay ku maamusho Falastiin, taas oo horseedaysa xilliga xiga ee maamulka Ingiriiska. Sannadkii 1917kii, Quddus waxa qabsaday ciidammo Ingiriis ah oo uu hoggaaminayey General Allenby , taasoo calaamad u ahayd dhammaadka xukunkii Cusmaaniyiinta ee magaalada. Sannadkii 1920-kii, xiisado ayaa ka dhex qarxay beelaha Yuhuudda iyo Carabta, taasoo keentay isku dhacyo rabshado wata iyo rabshado ka dhacay guud ahaan Falastiin.
Jamciyadda Quruumuhu waxay ansixiyeen Mandate-ka Ingiriiska ee Falastiin 1922-kii, iyaga oo u wakiishay Ingiriiska maamulka gobolka. Intii lagu jiray 1920-meeyadii, Falastiin waxay la kulantay iska caabin sii kordheysa oo ka timid labada dhaqdhaqaaq ee wadaninimada Yuhuudda iyo Carabta, kuwaas oo ka muuqday rabshado goos goos ah iyo mudaaharaadyo ka dhan ah siyaasadaha Ingiriiska. Sannadkii 1929-kii, rabshado rabshado wata ayaa ka qarxay Falastiin sababo la xidhiidha murannada socdaalka Yuhuudda iyo gelitaanka gidaarka Galbeed ee Qudus.
1930-meeyadii ayaa goob joog u ahaa kacdoonkii Carabta , iyadoo wadaniyiinta Carabta ay dalbadeen in la joojiyo socdaalka Yahuudda iyo in la dhiso dowlad Carab ah oo madax banaan. Iyaga oo ka jawaabaya kacdoonka Carabta, Ingiriisku waxa uu geeyay ciidamo millatari waxana uu fuliyay tallaabooyin adag oo amniga ah si uu u damiyo kacdoonka.
Kooxaha wadaniiyiinta Carabta, oo uu hogaaminayo guddiga sare ee Carabta ,ayaa ku baaqay in la joojiyo socdaalka Yuhuuda iyo iibinta dhulka ee Yuhuuda. Soo saarista 1939-kii warqad cad oo ay soo saartay dawladda Ingiriisku waxay ujeedadeedu ahayd in ay wax ka qabato xiisadaha sii kordhaya ee Carabta iyo Yuhuudda ee Falastiin. Dukumeenti siyaasadeedkan ayaa xayiraad ku soo rogay socdaalka Yuhuudda iyo iibsashada dhulka, iyada oo ujeedadu tahay in la xaddido samaynta dawlad Yuhuudi ah. Waxay la kulantay mucaaradad xooggan oo ka timid dhaqdhaqaaqa Sionist, Warqadda cad waxaa loo arkay inay tahay khiyaano ku dhawaaqida Balfour iyo rabitaanka Sionist ee dhulkii Yuhuudda
Iyaga oo ka jawaabaya warqadda cad, bulshada Sahyuuniyadda ee Falastiin waxay soo abaabushay shaqo joojin 1939-kii, oo ay kaga soo horjeedeen xannibaadaha socdaalka Yuhuudda iyo la wareegidda dhulka. Shaqo joojintan ka dhanka ah warqada cad waxay ku lug lahayd mudaaharaadyo, caasinimo shacab, iyo xidhidh ganacsiyo. Waxaa taageeraya ururada kala duwan ee Sahyuuniyadda, oo ay ku jiraan Hay'adda Yuhuudda iyo Histadrut (Xiriirka Guud ee Shaqada Yuhuudda), shaqo-joojinta warqadda cad ee ka-hortagga ah waxay ujeeddadeedu tahay in ay ka mudaaharaadaan oo ay ka hortagaan xaddidaadaha ay soo rogtay dawladda Ingiriiska.
Dabayaaqadii 1930-meeyadii iyo 1940-meeyadii, kooxo badan oo Sahyuuniyadda Sahyuuniyadda ah, oo ay ku jiraan Irgun , Hagana , iyo Lehi , waxa ay fuliyeen falal rabshado ah oo ka dhan ah millatariga Ingiriiska iyo bartilmaameedyadii rayidka ahaa ee ay ku baadigoobayeen dowlad madax bannaan oo Yahuudda ah. Iyadoo Muftiga weyn ee Jerusalem, Haj Amin al-Husseini , uu la kaashaday Nazi Germany xilligii dagaalkii labaad ee aduunka, dhammaan muslimiintu ma taageereen ficilladiisa, waxaana jiray dhacdooyin ay Muslimiintu gacan ka geysteen badbaadinta Yuhuudda xilligii Holocaust.
Sannadkii 1946-kii, duqeyn ay soo agaasimeen Irgun oo ka dhacay hotelka King David ee magaalada Jerusalem ayaa sababay dhimashada 91 qof oo ay ku jiraan saraakiil British ah, dad rayid ah iyo shaqaalihii hoteelka. Menachem Begin iyo Yitzhak Shamir , oo markii dambe noqday hoggaamiyeyaasha siyaasadda ee dawladda Israa'iil, ayaa ka dambeeyay weerarradan argaggixiso.
Dhacdadii Baxniintii 1947-kii waxay soo shaacbaxday markii markab siday dad ka badbaaday Holocaust oo Yuhuudi ah, kuwaas oo magangelyo u soo doontay Falastiin, ay ciidammada badda ee Britain soo dhex-galeen, taasoo keentay isku dhacyo, ugu dambayntiina dib loogu masaafurinayo qaxootigii Yurub. Intii lagu jiray dagaalkii labaad ee aduunka , Falastiin waxay u adeegtay goob istiraatijiyad ahaan muhiim u ah hawlgalada militari ee Ingiriiska ee ka dhanka ah ciidamada Axis ee Waqooyiga Afrika . 1947, Qaramada Midoobay waxay soo jeedisay qorshe qaybsan oo Falastiin ah, soo jeedinta Yuhuudda iyo Carabta kala duwan, laakiin waxaa diiday dalalka Carabta halka ay aqbaleen hoggaamiyeyaasha Yuhuudda
===Dagaalkii Carabta iyo Israa'iil===
1947kii, UN-tu waxay ansixisay qorshe qaybsi oo ah in xal laba dawladood ah laga gaadho dhulka ka haray ee loo igmaday. Qorshahaas waxaa aqbalay Hoggaanka Yahuudda balse waxaa ku gacan seyray madaxda Carabta, Ingiriiskana wuu diiday inuu fuliyo qorshahaas. Habeenimadii ugu dambaysay ee bixitaanka Ingiriisku, Hay'adda Yuhuudda ee Israa'iil , oo uu madax ka yahay David Ben-Gurion , ayaa ku dhawaaqday aasaaska Dawladda Israa'iil sida uu qabo qorshaha Qaramada Midoobay. Guddiga Sare ee Carabtu kuma dhawaaqin dawlad ay iyagu leeyihiin, taas beddelkeedna, oo ay weheliyaan Transjordan , Masar, iyo xubnihii kale ee Jaamacadda Carabta ee wakhtigaas, waxay bilaabeen tallaabo millatari oo ka dhalatay dagaalkii Carabta iyo Israa’iil ee 1948-kii .
Intii uu dagaalka socday, Israa'iil waxay heshay dhulal dheeri ah oo loo qoondeeyay inay ka mid noqdaan dawladda Carabta ee qorshaha Qaramada Midoobay. Masar waxa ay qabsatay marinka Qaza , Transjordan waxa ay qabsatay ka dibna ku darsatay daanta galbeed . Masar markii hore waxay taageertay abuuritaanka dawlad dhan Falastiin laakiin waxay kala dirtay 1959. Transjordan waligeed ma aqoonsanin taas beddelkeeda waxay go'aansatay inay ku darto Daanta Galbeed dhulkeeda si ay u sameyso Jordan . Ku-darka waxa la ansixiyay 1950-kii balse waxaa diiday beesha caalamka.
Sannadkii 1964-kii, markii Daanta Galbeed ay gacanta ku haysay Urdun, waxaa halkaas laga aasaasay Ururka Xoreynta Falastiin, ujeeddaduna tahay in ay iska horkeento Israa’iil. Axdiga Qaranka Falastiin ee PLO wuxuu qeexayaa xuduudaha Falastiin inay yihiin dhammaan dhulka haray ee loo igmaday, oo ay ku jirto Israel. Dagaalkii lixda maalmood socday ee 1967, markii Israa'iil ay la dagaalantay Masar, Urdun iyo Suuriya, waxay ku dhammaatay Israa'iil oo qabsatay Daanta Galbeed iyo Marinka Qaza, marka laga reebo dhulal kale. Ka dib Dagaalkii Lixda Maalmood, PLO waxay u guurtay Urdun, laakiin waxay u guurtay Lubnaan 1971.
Bishii Oktoobar 1974-kii shirkii Jaamacadda Carabta ayaa PLO u aqoonsaday inay tahay "matelada kaliya ee sharciga ah ee dadka Falastiiniyiinta" waxayna dib u xaqiijiyeen "xuquuqda ay u leeyihiin inay dhistaan dowlad madax-bannaan oo degdeg ah". Bishii Noofambar 1974, PLO waxaa loo aqoonsaday inay ku habboon tahay dhammaan arrimaha khuseeya su'aasha Falastiin Golaha Guud ee Qaramada Midoobay iyaga oo siinaya xaalad goobjooge ah "mid aan dawli ahayn" ee Qaramada Midoobay. Iyadoo loo marayo Heshiisyada Camp David ee 1979, Masar waxay calaamadisay soo afjarida sheegasho kasta oo ay ku leedahay Marinka Gaza. Bishii Luulyo 1988-kii, Urdun waxa ay sheegashadiisa ku wareejisay Daanta Galbeed -marka laga reebo ilaalinta Xaram al-Shariif - PLO.
Kadib markii ay Israa’iil qabsatay oo qabsatay Daanta Galbeed ee Urdun iyo Marinka Qaza ee Masar, waxa ay bilowday in ay deegaamayn ka samaysato Israa’iil . Maamulka dadka Carabta ah ee dhulalkan waxaa fulinayey Maamulka Madaniga ah ee Israa'iil ee Isku-duwaha Hawlaha Dawladda ee Territories iyo golayaasha degaanka ee degaanka ee joogay tan iyo ka hor intaanay la wareegin Israel. Sannadkii 1980-kii, Israa'iil waxay go'aansatey in ay hakiso doorashooyinka golayaashan iyo in ay dhisto ururro Tuulo , kuwaas oo saraakiishooda ay ku hoos jireen saamaynta Israa'iil. Ka dib qaabkani wuxuu noqday mid aan waxtar u lahayn Israa'iil iyo Falastiin labadaba, iyo Tuulooyinka Leegada waxay bilaabeen inay burburaan, oo ay ugu dambaysay Hebron League, oo la kala diray Febraayo 1988
===Kacdoon, ku dhawaaqid iyo heshiis nabadeed===
Intifada koowaad waxay soo baxday 1987, oo lagu garto mudaaharaadyo baahsan, shaqo joojin iyo falal gadood shacab oo falastiiniyiin ah oo ku sugan Marinka Gaza iyo Daanta Galbeed ee ka dhanka ah qabsashada Israel. Bishii Nofeembar 1988, sharci-dejinta PLO, inta lagu jiro dibad-baxa, ayaa ku dhawaaqay aasaaska "Dowladda Falastiin" . Bishii ku xigtay, waxaa si degdeg ah u aqoonsaday dawlado badan, oo ay ku jiraan Masar iyo Urdun. Baaqa Falastiin ee Madax-bannaanida, Dawladda Falastiin waxaa lagu tilmaamay in lagu dhisay "dhulka Falastiin", iyada oo aan si cad loo sheegin.
Kadib ku dhawaaqistii madax banaanida 1988, Golaha Guud ee Qaramada Midoobay wuxuu si rasmi ah u aqoonsaday ku dhawaaqista wuxuuna go'aansaday inuu isticmaalo magaca "Falastiin" halkii "Ururka Xoreynta Falastiin" ee Qaramada Midoobay. In kasta oo go'aankan, PLO kamay qaybgelin UN awooddeeda dawladda Falastiin. Isku dhacyada rabshadaha wata ee u dhexeeya dibad-baxayaasha Falastiiniyiinta iyo ciidamada Israel ayaa sii xoogaystay 1989kii, taas oo keentay khasaare nafeed oo la taaban karo iyo xiisadda sii kordheysa ee dhulalka la haysto. 1990 ayaa goob joog ka ahaa soo rogida tillaabooyin adag oo ay ku soo rogtay dawladda Israa’iil, oo ay ku jiraan bandow iyo xidhidh, isku day lagu cabudhinayo Intifada iyo in lagu ilaaliyo xukunka dhulalka la haysto
[[File:Intifada in Gaza Strip (FL45956496).jpg|thumb|Intifada ugu horeysay ee Gaza, 1987]]
Dagaalkii Gacanka 1990-1991 wuxuu keenay dareenka dheeraadka ah ee khilaafka, taasoo keentay dadaallo dublamaasiyadeed oo la xoojiyay si loo helo xal nabadeed. Saddam Hussein waxa uu ahaa taageere qadiyada falastiiniyiinta waxana uu taageero ka helay Carafaat xiligii dagaalka. Ka dib duulaankii Kuwait , Saddam ayaa ka yaabiyay beesha caalamka isagoo u soo bandhigay yabooh nabadeed Israa'iil iyo ka soo bixitaanka ciidamada Ciraaq ee Kuwait, taas oo beddelkeeda ka bixista Daanta Galbeed, Marinka Gaza, Bariga Jerusalem iyo Golan Heights. In kasta oo yabooha nabadeed la diiday, haddana Saddam wuxuu amray in gantaallo lagu rido dhulka Israa'iil. Dhaqdhaqaaqan waxaa taageeray Falastiiniyiinta. sidoo kale dagaalku wuxuu horseeday in Falastiiniyiinta laga saaro Kuwait iyo Sacuudi Carabiya , maadaama ay dawladoodu taageertay Ciraaq .
Sannadkii 1993-kii, heshiiskii Oslo waxa ay wada saxeexdeen Israa’iil iyo Ururka Xoraynta Falastiin (PLO), kaas oo horseeday in la aasaaso maamulka Falastiiniyiinta (PA) iyo jid nabadeed oo suurtagal ah. Yaasir Carafaat waxaa loo doortay madaxweynaha maamulka cusub ee Falastiin ee la sameeyay 1994, taasoo calaamad u ah tallaabo muhiim ah oo loo qaaday ismaamul.
[[File:Arafat saluda 3.jpg|thumb|Yaasir Carafaat]]
Israa'iil waxay qiratay kooxda wada xaajoodka ee PLO inay "matalayso dadka Falastiiniyiinta", taas beddelkeeda PLO waxay aqoonsanaysaa xaqa ay Israa'iil u leedahay inay nabad ku jirto, oggolaanshaha qaraarrada Golaha Ammaanka ee Qaramada Midoobay ee 242 iyo 338 , iyo diidmada "rabshad iyo argagixisanimo". Natiijo ahaan, 1994-kii PLO waxay dhistay Maamulka Qaranka Falastiiniyiinta (PNA ama PA) maamulka dhuleed, kaas oo ku shaqeeya qaar ka mid ah hawlaha dawladda qaybo ka mid ah Daanta Galbeed iyo Marinka Gaza. Sida ku cad heshiiskii Oslo, Israa'iil waxay ogolaatay PLO inay dhisto hay'ado maamul oo ku meel gaar ah dhulka Falastiiniyiinta, kuwaas oo ku yimid qaabka PNA. Waxaa la siiyay maamulka rayidka ee Aagga B iyo ilaalinta rayidka iyo amniga ee Aagga A, waxayna ku sii jirtay iyada oo aan lug ku lahayn aagga C.
[[File:Clashes following the Cave of the Patriarchs massacre, 1994 Dan Hadani Archive V.jpg|thumb|Kacdoono shacab oo ka dhacay Qudus oo ka dhashay xasuuqii 1994kii]]
Geedi-socodka nabadda waxa uu kasbaday diidmo ka timid labada Falastiin iyo Israa’iil. Ururada islaamiga ah sida Xamaas iyo Islamic Jihad ayaa ka soo horjeestay weerarka waxayna ka jawaabeen weeraro ka dhan ah dadka rayidka ah ee ku nool Israa’iil. Sannadkii 1994-kii, Baruch Goldstein , oo Israa’iili ah oo xag-jir ah, ayaa 29 qof ku dilay Hebron, oo loo yaqaanay Godka Wadaadka . Dhacdooyinkaasi waxay horseedeen kororka mucaaradka Falastiin ee geeddi-socodka nabadda. Nasiib darro, 1995, Ra'iisul Wasaarihii Israa'iil Yitzhak Rabin waxaa dilay Yigal Amir - oo ahaa xagjir, taas oo gobolka u horseeday xasillooni darro siyaasadeed.
Doorashadii guud ee Falastiin ee ugu horeysay abid waxay dhacday 1996, taasoo keentay in Carafaat dib loogu doorto madaxweynaha iyo samaynta golaha sharci dejinta ee Falastiin . Bilawga hirgelinta heshiiskii Oslo, Israa'iil waxay bilowday inay dib u daabusho ciidamadeeda magaalooyinka Falastiiniyiinta ee la doortay ee Daanta Galbeed 1997 .
Sannadkii 1997dii, dawladda Israa’iil oo uu hoggaaminayey Benjamin Netanyahu iyo dawladda Falastiin waxay saxeexeen hab-maamuuska Hebron , kaas oo qeexayey in ciidammada Israa’iil ay dib uga hawl-galaan qaybo ka mid ah Xebroon ee daanta galbeed, taas oo dawladda siisay in ay si weyn u maamusho magaalada. Israa'iil iyo dawladda Falastiin waxay saxeexeen Memorandum-ka Wye River Memorandum 1998, iyaga oo ujeedadoodu tahay in la horumariyo fulinta heshiiskii Oslo. Heshiiska waxaa ku jiray qodobbo ku saabsan ka bixitaanka Israel iyo iskaashiga amniga.
Muddadii sannadaha Oslo waxay barwaaqo weyn u horseedday degaannada ay dawladdu maamusho, inkastoo ay jiraan arrimo dhaqaale. Maamulka Falastiin ayaa dhistay garoonkii labaad ee dalkaasi ee Gaza, kadib garoonka caalamiga ah ee Qudus . Xafladii lagu daah furayay garoonka ayaa waxaa ka soo qeyb galay Bill Clinton iyo Nelson Mandela . Sannadkii 1999-kii, Ehud Barak waxa uu la wareegay jagada Ra’iisal-wasaaraha Israa’iil, isaga oo dib u soo cusboonaysiiyay dadaalladii lagu doonayay in heshiis maqaam oo kama dambays ah lala gaadho Falastiiniyiinta. Shirweynihii Camp David ee 2000 ayaa ujeeddadiisu ahayd in lagu xalliyo arrimaha haray balse waxa uu ku dhammaaday iyada oo aan la helin heshiis dhammaystiran, taas oo u adeegta sidii guul u ahayd geeddi-socodka nabadda.
===Intifada labaad iyo dagaal sokeeye===
[[File:אוקטובר 2000 1.jpg|thumb|Kacdoon shacab oo ka dhacay Xebroon, 2000]]
Shir madaxeed nabadeed oo dhex maray Yaasir Carafaat iyo Ehud Barak waxa dhexdhexaadinayey Bill Clinton 2000 . Si kastaba ha ahaatee heshiiska ayaa ku guuldareystay in uu ka hadlo arrimaha qaxootiga Falastiiniyiinta, xaaladda Qudus iyo walaaca ammaanka ee Israel. Labada dhinac ayaa midba midka kale ku eedeeyay fashilka shirka. Tani waxay noqotay mid ka mid ah sababaha ugu waaweyn ee kacdoonka dhici doona soo socda.
Bishii Sebtembar 2000, hogaamiyaha mucaaradka ee xisbiga Likud , Ariel Sharon , ayaa booqasho firfircoon ku tagay Temple Mount, wuxuuna jeediyay khudbad muran badan dhalisay, taasoo ka cadhaysiisay Falastiiniyiinta reer Qudus . Xiisaddii waxay isu rogtay rabshado. Iskudhacyo dhiig ayaa ka dhacay hareeraha Yeruusaalem. Rabshadaha sii kordhaya ayaa sababay in la xiro Gegida Diyaaradaha ee magaalada Jerusalem , kaas oo aan shaqayn ilaa maanta. Rabshado badan oo u dhexeeya Yuhuuda iyo Carabta ayaa ka dhacay bishii Oktoobar 2000 gudaha Israa'iil.
[[File:חומת מגן 21.jpg|thumb|Kaniisadda Dhalashada ee la hareereeyey 2002dii]]
Isla bishaas, laba askari oo Israa'iiliyiin ah ayaa lagu dilay Ramallah . Intii u dhaxaysay Nofeembar iyo Disembar isku dhacyada u dhexeeya Falastiiniyiinta iyo Israa'iiliyiinta ayaa sii kordhay. Sannadkii 2001dii shir madaxeedka Taba ayaa dhex maray Israa'iil iyo Falastiin. Laakiin shirwaynaha ayaa ku guuldareystay inuu fuliyo, Ariel Sharon wuxuu noqday ra'iisul wasaare doorashadii 2001. Sannadkii 2001dii, weerarrada kooxaha Falastiiniyiinta ee ku wajahan Israa'iil ayaa kordhay. Gegida dayuuradaha ee Qaza ayaa lagu burburiyay duqayn cirka ah oo ay geysteen ciidamada Israa'iil 2001, iyaga oo isku sheegay in ay uga aargoosanayaan weerarradii hore ee Xamaas.
Bishii Janaayo 2002, IDF Shayetet 13 kumaandooska badda waxay qabteen Karine A , oo ah xamuul siday hub ka yimid Iran una socday Israa'iil. Qaraarkii UNSC ee tirsigiisu ahaa 1397 ayaa la meel mariyay, kaas oo dib u xaqiijiya in xal laba dawladood ah la helo , isla markaana dhidibbada u taagay khariidadda nabadda . Weerar kale oo ay qaadeen Xamaas ayaa waxaa ku dhintay 30 qof .68
Sannadkii 2002, Israa'iil waxay bilawday Hawlgalka Difaaca Difaaca ka dib xasuuqii Kormaridda . Dagaal culus oo u dhexeeya IDF iyo dagaalyahannada Falastiin ayaa ka dhacay Jenin . Kaniisadda Dhalashada waxaa go'doomiyay IDF hal usbuuc ilaa wadahadallo guul leh ay dhaceen , taasoo keentay in ciidamada Israa'iil laga saaro kaniisadda. Intii u dhaxaysay 2003 iyo 2004, dad ka soo jeeda qabiilka Qawasameh ee Xebroon ayaa la dilay ama isku qarxiyay is qarxin. Ariel Sharon wuxuu amar ku bixiyay in la dhiso xayndaabyo laga dhisayo dhulka Falastiiniyiinta ay maamusho iyo deegaamaynta Israa'iil ee Daanta Galbeed si looga hortago weeraro mustaqbalka.
Saddaam Xuseen waxa uu taageero dhaqaale u fidiyay dagaalyahannada Falastiiniyiinta ee Ciraaq ka soo qaxay xilligii intifada, laga soo bilaabo 2000 ilaa la afgambiyay 2003. Waxa la soo jeediyay hindise nabadeed 2003, taas oo uu taageeray Carafaat oo uu diiday Sharon. Sannadkii 2004tii hogaamiyihii Xamaas iyo aasaasihii ururka Xamaas Axmed Yaasiin waxaa lagu dilay ciidamada Israa’iil ee Gaza. Yaasir Carafaat waxa uu ku xidhnaa xaruntiisa Ramallah. Noofambar 11, Yaasir Carafaat wuxuu ku dhintay Paris
[[File:Demonstration against road block, Kafr Qaddum, March 2012 3.JPG|Mudaaharaad lagaga soo horjeedo jid-gooyo, Kafr Qaddum , March 2012]]
Todobaadkii ugu horeeyey ee 2005, Maxamuud Cabbaas ayaa loo doortay inuu noqdo madaxweynaha Dawladda Falastiin. Sannadkii 2005, Israa'iil waxay si buuxda uga baxday Marinka Qaza iyagoo burburiyay degaannadii ay ku noolaayeen. Sannadkii 2005tii, xaaladdu waxay bilowday inay sii xumaato. Sannadkii 2006, Xamaas ayaa ku guulaysatay doorashooyinkii sharci dejinta ee Falastiin. Tani waxay keentay khilaaf siyaasadeed oo ka dhexeeya Fatah. Iska horimaad hubaysan ayaa ka dhacay guud ahaan Daanta Galbeed iyo Marinka Qaza labadaba. Iska horimaadyadu waxay isu beddeleen dagaal sokeeye, kaasoo ku dhammaaday iska-horimaadyo dhiig badan ku daatay oo ka dhacay Marinka Qaza. Natiijo ahaan, Xamaas waxay gacanta ku dhigtay dhammaan dhulka Gaza.
Boqolaal qof ayaa ku dhintay dagaalka sokeeye oo ay ku jiraan maleeshiyaad iyo dad rayid ah. Tan iyo markaas Xamaas waxay heshay madax-bannaani dheeraad ah hab-dhaqankeeda milatari. Tan iyo 2007, Israa'iil waxay hogaaminaysay go'doomin qayb ka mid ah Gaza. Shir madaxeed kale oo nabadeed ayaa waxaa soo qabanqaabiyay Jaamacadda Carabta 2007, iyadoo isla dalabkaas lagu soo bandhigay shirkii 2002. Si kastaba ha ahaatee geeddi-socodkii nabadeed wuu socon waayay. PNA waxay si buuxda u maamusho Marinka Gaza marka laga reebo xudduudaheeda, hawadeeda, iyo dhul-badeedkeeda
===Colaad sii socota===
[[File:Westbank Control & Access Restrictions Dec 2012.png|thumb|Degsiimooyinka Israa'iil ee Daanta Galbeed, 2012]]
Kala qaybsanaanta u dhaxaysa Daanta Galbeed iyo Qaza waxay sii adkeysay dadaallada lagu doonayo in lagu gaaro midnimada Falastiin iyo in heshiis nabadeed oo dhamaystiran lala galo Israa'iil . Wareegyo badan oo dib-u-heshiisiin ah ayaa la qabtay, laakiin lama gaarin heshiis waara. Kala qaybsanaantu waxay kaloo caqabad ku noqotay in la dhiso dawlad midaysan oo falastiiniyiin ah, waxayna u horseedday hannaan dawladeed iyo siyaasado kala duwan oo labada dhul ah.
Ka dib iskahorimaadkii Falastiiniyiinta ee 2006, Xamaas waxay la wareegtay gacan ku haynta Marinka Gaza (waxay hore u haysatay aqlabiyadda PLC), Fatah waxay la wareegtay maamulka Daanta Galbeed. Laga soo bilaabo 2007, Marinka Gaza waxaa maamuli jiray Xamaas, Daanta Galbeedna waxaa maamuli jiray xisbiga Fatax ee uu hoggaamiyo maamulka Falastiin.
Dadaalka caalamiga ah ee dib u soo noolaynta geeddi-socodka nabadda ayaa sii socday. Mareykanka oo ay hogaaminayaan maamulo kala duwan ayaa sameeyay isku dayo kala duwan oo lagu doonayo in lagu dhexdhexaadiyo Israa’iil iyo Falastiiniyiinta.
Caqabado la taaban karo sida ballaarinta dejinta, xaaladda Qudus, xudduudaha , iyo xaqa u noqoshada qaxootiga Falastiin , ayaa ahaa kuwo aan la xallin. Sanadihii la soo dhaafay, hindisayaal diblomaasiyadeed ayaa soo baxay, oo ay ku jiraan heshiisyada caadiga ah ee u dhexeeya Israa'iil iyo dhowr waddan oo Carbeed , oo loo yaqaan heshiiskii Abraham . Heshiisyadan, inkastoo aan si toos ah looga hadlin iskahorimaadka Israel iyo Falastiin, waxay dib u habeyn ku sameeyeen dhaqdhaqaaqa gobolka waxayna keeneen su'aalo ku saabsan mustaqbalka rabitaanka Falastiin ee dawladnimada. Xaaladda hadda jirta ayaa weli ah mid caqabad ku ah Falastiiniyiinta, iyada oo arrimaha socda ee la qabsiga, ballaarinta dejinta, dhaqdhaqaaqa xaddidan, iyo dhibaatooyinka dhaqaale.
Weeraro ay qaadeen kooxaha hubaysan ee Xamaas ay hogaamiso bishii Oktoobar 2023 ee Israa’iil waxaa xigay dagaalka Gaza . Dagaalku wuxuu sababay burbur baahsan, dhibaato bini'aadantinimo , iyo macaluul ka socota marinka Qaza. Inta badan dadka ayaa si qasab ah lagu barakiciyey . Dhowr hay'adood oo xuquuqul insaanka ah sida Amnesty International iyo B'Tselem , cilmi-baarisyo kala duwan oo xasuuq iyo sharci-yaqaanno caalami ah , iyo khubaro kale ayaa sheegaya in xasuuq uu ka socdo Gaza , inkastoo qaar taas ku muransan. Tan iyo bilowgii dagaalka, in ka badan 60,000 falastiiniyiin ah oo ku sugan Gaza ayaa lagu dilay , ku dhawaad kala bar waa haween iyo caruur , iyo in ka badan 148,000 oo dhaawacmay. Daraasad lagu sameeyay The Lancet ayaa lagu qiyaasay dhimashada 64,260 ee Gaza ee dhaawacyada dhaawaca ah June 2024, iyada oo la xusayo dhimashada suurtagalka ah ee dhimashada marka "dadka aan tooska ahayn" lagu daro. Laga bilaabo Maajo 2025, tirada la midka ah ee dhimashada dhaawaca dhaawacyada waxay noqon doontaa 93,000. Waxaa sidoo kale jiray daadad dagaal oo ka dhacay Daanta Galbeed .
==Juqraafiga==
[[File:פנורמה ירושלים22.jpg|thumb|Muuqaal magaalada oo casri ah oo ku yaal Yeruusaalem oo dhan , oo leh aragtida Temple Mount iyo Al Aqsa]]
Juqraafiga
[[File:Mt-Grizim-national-park-7920.jpg|thumb|Waxay ku taal agagaarka Nablus , Buur Gerizim waa goobta ugu quduusan ee reer Samaariya .]]
Aagagga uu waddanku sheeganayo, ee loo yaqaan dhulalka falastiiniyiinta , waxay ku yaallaan Levant ee Koonfureed ee gobolka Bariga Dhexe . Falastiin waa qayb ka mid ah Bisha Barwaaqada ah , oo ay weheliso Israel, Urdun, Lubnaan, Ciraaq iyo Suuriya. Marinka Qaza waxa uu xaduud la leeyahay badda Mediterranean-ka galbeed, Masar oo dhanka koonfureed ah, iyo Israa'iil waqooyi iyo bari. Daanta Galbeed waxa xuddun u ah Urdun oo bari ka xigta, Israa'iilna waxa ay xuduud ka leedahay woqooyi, koonfur iyo galbeed. Falastiin waxay xuduud badeed la wadaagtaa Israa'iil , Masar iyo Qubrus . Haddaba, labada gole ee ka kooban dhulka ay sheeganayso Dawladda Falastiin ma laha xuduud juqraafi ah oo midba midka kale la leeyahay, oo ay kala qaybiso Israel. Meelahaasi waxay noqon doonaan dalka 163aad ee aduunka ugu wayn dhul ahaan .
Daanta Galbeed waa gobol buuraley ah. Waxay u qaybsantaa saddex gobol, oo kala ah Buurta Nablus ( Jabal Nablus ), Buuraha Xebroon iyo Buuraha Qudus ( Jibal al-Qudus ). Buuraha Samaariya iyo Buuraha Yahuudda waa silsilado buuro ah oo ku yaal Daanta Galbeed, iyadoo Buur Nabi Yuunis ku taal joog dhan 1,030 mitir (3,380 ft) oo ku taal Gobolka Xebroon oo ah meesha ugu sarreysa. Ilaa qarnigii 19aad, Xebroon waxay ahayd magaalada ugu sarreysa Bariga Dhexe.
Quddus waxay ku taal meel bannaan ah oo ku taal badhtamaha buuraha, waxaana ku hareeraysan dooxooyin. Dhulku wuxuu ka kooban yahay dooxooyin barwaaqo ah, sida dooxada Yesreceel iyo dooxada webiga Urdun . Falastiin waxay hoy u tahay geedka saytuunka ee ugu weyn adduunka, oo ku yaal Jerusalem. Qiyaastii 45% dhulka Falastiin waxa u heellan beerista geedaha saytuunka.
Falastiin waxay leedahay harooyin iyo wabiyo muhiim ah kuwaas oo door muhiim ah ka ciyaara juqraafiyada iyo hab-nololeedkeeda. Webiga Urdun wuxuu u socdaa dhinaca koonfureed, isagoo ka dhigaya qayb ka mid ah xudduudda bari ee Falastiin wuxuuna sii maraa badda Galili ka hor inta uusan gaarin badda dhintay. Marka loo eego caadooyinka Masiixiyiinta, waa goobtii baabtiiska Ciise . Badda Dhimatay , oo xuduud la leh bariga dalka waa meesha ugu hooseeya dhulka. Jericho , oo ku taal meel u dhow, waa magaalada ugu hooseysa adduunka. Tuulooyinka iyo xaafadaha ku hareeraysan Yeruusaalem ayaa hoy u ah biyo qadiimi ah. Dalka waxa ku yaal dhawr dooxood oo wabiyo ah . Marin-biyoodyadani waxay bixiyaan agabka lagama maarmaanka u ah beeraha iyo madadaalada iyagoo taageeraya nidaamyada deegaanka ee kala duwan.
Saddex dhul-beereedka ayaa laga helay aagga: Bariga Mediterranean-ka conifer-sclerophyllous-kaynta-broadleaf , lamadegaanka Carabta , iyo saxaraha geedaha Mesobotaamiya . Falastiin waxay leedahay dhowr arrimood oo deegaanka ah; Arrimaha ku wajahan marinka Qaza waxaa ka mid ah xaalufka ; cusbada biyaha cusub; daaweynta bulaacadaha ; cudurada ka dhasha biyaha ; xaalufka ciidda ; iyo xaalufka iyo wasakhaynta kheyraadka biyaha dhulka hoostiisa. Daanta Galbeed, arrimo badan oo isku mid ah ayaa khuseeya; inkastoo biyaha macaan ay aad u badan yihiin, helitaankooda waxaa xaddiday khilaafka socda .
===Cimilada===
Heerkulka Falastiin aad buu u kala duwan yahay. Cimilada ku taal Daanta Galbeed inta badan waa Mediterranean-ka , wax yar ka qabow meelaha sare marka loo eego xeebta, galbeed ilaa aagga. Dhanka bari, Daanta Galbeed waxaa ku jira inta badan saxaraha Yahuudda oo ay ku jiraan xeebta galbeed ee Badda Dhimatay, oo lagu garto cimilada qalalan iyo kulul. Qasa waxay leedahay cimilo kuleyl badheed-oomane ah ( Köppen : BS) oo leh jiilaal khafiif ah iyo kulayl qalalan. Gu'gu wuxuu yimaadaa qiyaastii Maarso-Abriil. Bilaha ugu kulul waa Julaay iyo Agoosto, iyadoo celceliska sare uu yahay 33 °C (91 °F). Bisha ugu qabow waa Janaayo, iyadoo heerkulku caadiyan yahay 7 ° C (45 ° F). Roobabku waa yar yihiin waxayna guud ahaan da'aan inta u dhaxaysa Noofembar iyo Maarso. Roobabka sannadlaha ah waa qiyaastii 4.57 inji (116 mm).
===Kala duwanaanshaha noolaha===
[[File:Camel - panoramio.jpg|thumb|Geela ku sugan Saxaraha Yahuudda]]
Falastiin ma laha jardiinooyin qaran oo si rasmi ah loo aqoonsan yahay ama meelo la ilaaliyo. Si kastaba ha ahaatee, waxa jira meelo ka mid ah Daanta Galbeed oo loo tixgaliyo inay leeyihiin muhiimad deegaan iyo dhaqan waxaana lagu maareeyaa dedaallo ilaalin ah. Meelahan waxaa badanaa loo yaqaan kaydka dabiiciga ah ama aagagga la ilaaliyo.
Waxay ku taal meel u dhow Jericho oo ku taal Daanta Galbeed, Wadi Qelt waa dooxo saxare ah oo leh dhir iyo xayawaan gaar ah. Kaydka waxaa lagu yaqaanaa muuqaalkiisa qallafsan, ilo dabiici ah, iyo goobo taariikhi ah sida Monastery St. George . Waxaa la sameeyay dadaal lagu ilaalinayo kala duwanaanshaha noolaha iyo quruxda dabiiciga ah ee deegaanka. Saxaraha Yahuudda waxa loo yaqaan Geela Yahuudda. Beerta lagu xanaaneeyo ee Qalqilya ee ku taal gobolka Qalqily , waa beerta kaliya ee hadda ka hawlgasha dalka. Xayawaanka Xayawaanka ee Gaza ayaa loo xiray xaalad xumo awgeed. Dawladda Israa'iil waxay deegaanka C ka samaysay jardiinooyin kala duwan oo qaran , kuwaas oo loo arko sharci-darro marka loo eego sharciga caalamiga ah .
==Dowladda iyo siyaasadda==
[[File:Mahmoud Abbas 2026-01-22.jpg|thumb|Madaxweyne Maxamuud Cabaas]]
[[File:Mohammad Mustafa January 2025.jpg|thumb|Ra'iisul Wasaare Maxamed Mustafa]]
[[File:Ramallah PLC.jpg|thumb|Golaha Sharci-dejinta ee Falastiin , oo ay degan yihiin baarlamaanka Falastiin]]
[[File:Mausoleo Arafat (Muqata, Ramallah) 02.JPG|thumb|Mowliidka Yaasir Carafaat oo ku taal xarunta dhexe ee maamulka Falastiin ee Ramallah]]
Falastiin waxay ku shaqaysaa nidaam dawladeed oo badh-madaxweyne ah . Dalku wuxuu ka kooban yahay hay'ado xiriir la leh Ururka Xoreynta Falastiin (PLO), oo ay ku jiraan Madaxweynaha Dawladda Falastiin , oo uu magacaabo Golaha Dhexe ee Falastiiniyiinta , Golaha Qaranka Falastiin , iyo Guddiga Fulinta ee Ururka Xoreynta Falastiin , oo qabta hawlaha dawladda ee dibad - baxa ilaalinta shabakad xiriir shisheeye oo ballaaran. PLO waxa ay isugu jiraan dhowr xisbi siyaasadeed.
Kuwani waa in laga soocaa Madaxweynaha Maamulka Qaranka Falastiin , Golaha Sharci-dejinta ee Falastiin, iyo Golaha Xukuumadda PNA ,kuwaas oo dhammaantood ku xiran yihiin Maamulka Qaranka ee Falastiiniyiinta (PNA). Dukumeentiga aasaasiga ah ee Falastiin waa Baaqa Falastiin ee Madax-bannaanida, kaas oo ah in laga sooco PLO Axdiga Qaranka Falastiin ee aan la xidhiidhin iyo Sharciga Aasaasiga ah ee Falastiin PNA .
Dawladda Falastiin waxa ay u qaybsantaa laba qaybood oo kala ah – Maamulka Falastiiniyiinta oo ay maamusho Fatah, oo qayb ahaan gacanta ku haysa Daanta Galbeed, iyo Marinka Gaza, oo ay gacanta ku hayso kooxda xagjirka ah ee Xamaas. Fatah waa xisbi cilmaani ah oo uu aasaasay Yaasir Carafaat, xiriir wanaagsanna la leh quwadaha reer galbeedka. Dhanka kale Xamaas waa koox mintidiin ah oo ku dhisan wadaniyad iyo fikir Islaami ah oo falastiiniyiin ah oo ay dhiiri galiyeen Ikhwaanul Muslimiin .
Xamaas ayaa xiriir xun la leh Mareykanka, balse waxay taageero ka heshaa Iran. Front Popular for the Liberation of Palestine waa xisbi kale oo caan ah oo cilmaani ah, kaas oo uu aasaasay George Habash . Mahmoud Abbas waa madaxweynaha dalka tan iyo 2005. Mohammad Shtayyeh wuxuu ahaa ra'iisul wasaaraha Falastiin, oo is casilay 2024.
Sanadkii 2024, Mohammad Mustafa ayaa loo magacaabay ra'iisul wasaaraha cusub ee dalka, ka dib markii uu iska casilay Shtayyeh. Yahya Sinwar waxa uu ahaa hoggaamiyihii xukuumadda Xamaas ee Marinka Gaza ka hor dhimashadiisa Oktoobar 2024. Sida laga soo xigtay Freedom House , PNA waxay u maamushaa Falastiin hab kali-talisnimo ah , oo ay ku jiraan caburinta dhaqdhaqaaqayaasha iyo saxafiyiinta dhaleeceeya dawladda.
Quddus oo ay ku jirto Haram ash-Shariif , waxaa caasimad u ah Falastiin oo ay Israa’iil haysato . Xarunta ku meel gaarka ah ee maamulka waxay ku taal Ramallah , oo 10 km u jirta Jerusalem. Muqata waxay martigelisaa wasaaradaha gobolka iyo xafiisyada wakiillada. Sannadkii 2000, dhismo dawladeed ayaa laga dhisay xaafadda Jerusalem ee Abu Dis , si uu u shaqeeyo xafiiska Yaasir Carafaat iyo baarlamaanka Falastiin. Tan iyo intifada labaad , xaaladda magaaladu waxay ka dhigtay goobtan mid aan ku habboonayn inay u shaqeyso caasimad ahaan, si ku meel gaar ah ama si joogto ah. Si kastaba ha ahaatee, maamulka falastiiniyiintu waxay ku adkaysteen joogitaankooda magaalada. Iyadoo qaybo yar oo magaalada ka mid ah ay sidoo kale gacanta ku hayaan Falastiiniyiinta, dalal badanna ay qunsuliyadooda ku leeyihiin magaalada Qudus
===Qaybaha maamulka===
[[File:West Bank and Gaza Strip location map.svg|thumb|Maamullada Falastiiniyiinta (rasmiga ah)]]
[[File:Zones A and B in the occupied Palestinian territories.svg|thumb|Dhulka Falastiin ee ay maamusho]]
Dawladda Falastiin waxay u qaybsantaa lix iyo toban qaybood oo maamul . Maamul goboleedyada ku yaal daanta galbeed ayaa loo qaybiyay saddex qaybood sida uu dhigayo heshiiskii Oslo II . Aagga A wuxuu ka kooban yahay 18% Daanta Galbeed marka loo eego aagga, waxaana maamula dawladda Falastiin. Aagga B wuxuu ka kooban yahay 22% ee Daanta Galbeed, wuxuuna hoos yimaadaa xukunka madaniga ah ee Falastiin, iyo xakamaynta amniga ee Israel-Falastiin.
Aagga C , marka laga reebo Bariga Jerusalem, wuxuu ka kooban yahay 60% Daanta Galbeed, waxaana maamula Maamulka Madaniga ah ee Israa'iil . Dawladda Falastiin waxay siisaa adeegyada waxbarashada iyo caafimaadka 150,000 Falastiiniyiinta ah ee aagga, habayn lagu heshiiyey heshiiskii Oslo II ee hoggaanka Israel iyo Falastiiniyiinta.
In ka badan 99% ee Aagga C ayaa ka mamnuuc ah Falastiiniyiinta, iyadoo ay ugu wacan tahay welwelka amniga oo waa qodob wada xaajoodka socda. Waxaa jira ilaa 330,000 Israa'iiliyiin ah oo ku nool degsiimooyinka Aagga C. Dhulka Falastiiniyiinta ee hadda hoos yimaada maamulka Falastiiniyiinta ee casaanka ah ( Aagagga A iyo B ; oo aan ku jirin Marinka Gaza, oo hoos yimaada xukunka Hamas).
[[File:Palestine election map.PNG|thumb|Maamulada Falastiin]]
Bariga Jerusalem, oo ka kooban degmada Quddus ee qaybta bari ka hor 1967, oo ay weheliso aag muhiim ah oo ka mid ah Daanta Galbeed ee ka hor 1967 ee ay Israa'iil xadaysay 1967, ayaa loo maamulaa iyada oo qayb ka ah degmada Jerusalem ee Israa'iil. Waxaa sheegtay Falastiin oo qayb ka ah Maamulka Jerusalem . Waxaa si wax ku ool ah u raacay Israa'iil 1967, iyada oo la adeegsanayo sharciga Israa'iil, xukunka iyo maamulka ee hoos yimaada sharciga 1948 ee wax laga beddelay ujeedada, tan la sheegay in ku darista si dastuuri ah loo xaqiijiyay (macnaha) Sharciga Aasaasiga ah: Jerusalem 1980 , laakiin ku darsigan ma aqoonsana waddan kale.
Sannadkii 2010-kii, 456,000 oo qof oo ku nool Bariga Jerusalem, qiyaastii 60% waxay ahaayeen Falastiiniyiin iyo 40% waxay ahaayeen Israa'iil. Si kastaba ha ahaatee, laga soo bilaabo dabayaaqadii 2000-meeyadii, Barwaaqada Amniga ee Daanta Galbeed ee Israa'iil ayaa si wax ku ool ah dib ugu daray tobanaan kun oo Falastiiniyiin ah oo sita kaararka aqoonsiga Israa'iil ee Daanta Galbeed, taasoo ka dhigaysa Bariga Jerusalem xayndaabka iyada oo aqlabiyad yar oo Israa'iil ah (60%).
Sida uu dhigayo heshiiskii Oslo, Jerusalem waxaa la soo jeediyay in lagu daro wada xaajoodyada mustaqbalka. Sida ay sheegtay Israa’iil, heshiiskii Oslo waxa uu mamnuucayaa in maamulka Falastiin uu ka shaqeeyo magaalada Qudus. Si kastaba ha ahaatee, qaybo ka mid ah Quddus, xaafadahaas oo ku yaalla meel ka baxsan magaaladii hore ee taariikhiga ahayd, balse qayb ka ah Bariga Quddus, ayaa loo qoondeeyey maamulka Falastiiniyiinta.
===Xiriirka dibadda===
Xidhiidhka dibadeed waxa lagu ilaaliyaa hab dhismeedka wasaaradda arrimaha dibadda . Ururka Xoraynta Falastiin (PLO) wuxuu matalaa Dawladda Falastiin waxayna safaarado ku leeyihiin wadamada aqoonsan. Waxa kale oo ay uga qaybgashaa ururada caalamiga ah xubin ahaan, wehel ama goob-jooge ahaan. Xaaladaha qaarkood, sababtoo ah ilo is khilaafaya, way adagtahay in la go'aamiyo haddii ka qaybqaadashadu ay tahay magaca Dawladda Falastiin, PLO oo ah hay'ad aan dawli ahayn, ama Maamulka Qaranka Falastiin (PNA). Vatican-ku waxay aqoonsi u wareejisay Dawladda Falastiin bishii Maajo 2015, ka dib codbixintii Qaramada Midoobay ee 2012 . Isbeddelkan wuxuu la jaan qaadayaa aragtida Quduuska ah ee booska kobcinta.
[[File:The Prime Minister, Shri Narendra Modi and the President of the State of Palestine, Mr. Mahmoud Abbas, at the joint Press meet, at Ramallah, Palestine on February 10, 2018 (2).jpg|Raiisel wasaaraha Hindiya Narendra Modi iyo Mahmoud Abbas oo ku sugan Ramallah sanadka 2018]]
Hadda, 146 dal oo ka tirsan Qaramada Midoobay (75%) waxay aqoonsan yihiin Dawladda Falastiin. Inkastoo qaarkood aysan aqoonsanayn, haddana waxay PLO u aqoonsan yihiin inay tahay wakiilka dadka Falastiiniyiinta. Guddiga fulinta ee PLO waxa uu u shaqeeyaa sidii dawladda oo kale, waxaana awood u siinaya PNC. Waa xubin buuxda oo ka tirsan Jaamacadda Carabta , Ururka Iskaashiga Islaamka iyo Midowga Badda Mediterranean-ka . Sweden ayaa sanadkii 2013 qaaday tallaabo muhiim ah iyadoo sare u qaadaysa maqaamka xafiiska wakiilka Falastiiniyiinta oo ay ka dhigtay safaarad buuxda. Waxay noqdeen waddankii ugu horreeyay ee xubin ka ah Midowga Yurub oo ka baxsan ururkii shuuciga ahaa ee si rasmi ah u aqoonsaday Dawlada
Xubnaha ururka Jaamacadda Carabta iyo xubnaha ururka iskaashiga Islaamka ayaa si weyn u taageeray mowqifka dalkaas ee colaadda Israa'iil .Iran waxa ay xulafo xooggan la ahayd Falastiin tan iyo kacdoonkii Islaamiga ahaa , waxayna taageero millatari u fidisay fedayeenka Falastiin iyo kooxaha mintidka ah, oo ay ku jiraan Xamaas iyada oo loo marayo Axis of Resistance , oo ay ku jiraan isbahaysiga milatari ee dawladaha iyo fallaagada Ciraaq , Suuriya , Lubnaan iyo Yemen . Hamas sidoo kale waa qayb ka mid ah dhidibka iska caabinta. Xataa ka hor intaysan soo shaac bixin iska caabin Islaami ah oo ay Iran taageerto Ciraaq , Ciraaq waxa ay si weyn u taageeri jirtay Falastiin markii ay hoos imanaysay dawladdii Bacathiyiinta ee Saddaam Xuseen . Turkiga waa taageeraha Xamaas Qatar waxay ahayd taageere dhaqaale oo muhiim ah waxayna martigelisay hogaamiyayaasha Hamas. Sannadkii 1988, iyada oo qayb ka ah codsigii ahaa in lagu ogolaado UNESCO, qoraal sharraxaad ah ayaa la diyaariyey oo lagu taxay 92 dawladood oo aqoonsaday Dawladda Falastiin, oo ay ku jiraan labadaba Carabta iyo kuwa aan Carabta ahayn sida Hindiya. : 19 Markii ay xulafo xooggan la ahayd Falastiin , Hindiya waxay xoojisay xidhiidhka ay la leedahay Israa'iil tan iyo 1991.
Mucamar Al-Qadaafi ee Liibiya waxa uu ahaa taageere madax-bannaanida falastiiniyiinta, waxaana loo raadinayey dhex-dhexaadiye colaadda Carabta iyo Israa’iil, markii uu soo bandhigay yabooh nabadeed oo hal waddan ah oo uu cinwaan uga dhigay Israa’iil sannadkii 2000 . Intii uu socday dagaalkii sokeeye ee Sri Lanka , PLO waxa ay tababar siisay fallaagada Tamil si ay ula dagaalamaan dowladda Sri Lanka . Jamhuuriyadda Ireland , Venezuela iyo Koonfur Afrika waa xulafada siyaasadeed ee Falastiin waxayna si adag ugu ololeeyeen in la aasaaso Falastiin madaxbannaan. Natiijadii dagaalka socda waxaa kordhay taageerada dalka. Tan iyo markii Israa’iil ay duulaanka ku qaaday Qaza , dalal badan oo taageera Falastiiniyiinta ayaa si rasmi ah u aqoonsaday dalkaasi. Tan waxaa ku jira Armenia , Spain , Norway , Bahamas , Jamaica , Barbados iyo Trinidad and Tobago
===Heerka iyo aqoonsiga===
Ururka Xoraynta Falastiin (PLO) wuxuu ku dhawaaqay aasaaska Dawladda Falastiin 15-kii Noofambar 1988. Waxaa jira aragtiyo kala duwan oo ku saabsan xaaladda sharci ee Dawladda Falastiin, labadaba dawladaha caalamiga ah iyo culimada sharciga. Jiritaanka dowlad Falastiin waxaa aqoonsan dowladaha la sameeyay xiriir diblomaasiyadeed oo laba geesood ah. ishii Janaayo 2015, Maxkamadda Caalamiga ah ee Dambiyada waxay xaqiijisay xaaladda Falastiin "Dawlad" ka dib markii ay aqoonsatay kormeerayaasha Qaramada Midoobay, tallaabo ay cambaareeyeen hoggaamiyeyaasha Israa'iil oo ah nooc ka mid ah "argagixiso diblomaasiyadeed".
Bishii Disembar 2015, Golaha loo dhan yahay ee Qaramada Midoobay ayaa meel mariyay qaraar ay ku dalbanayaan madaxbannaanida Falastiiniyiinta ee kheyraadka dabiiciga ah ee dhulka la haysto. Waxay ugu yeertay Israa'iil inay joojiso dhiig-miirashada iyo waxyeelada iyadoo la siinayo Falastiiniyiinta xaqa ay u leeyihiin inay soo celiyaan. Sannadkii 1988-kii, Qaraarkii 43/177 waxa aqoonsaday Dawladda Falastiin ku dhawaaqida madaxbanaanida . Sannadkii 2012, Golaha Guud ee Qaramada Midoobay wuxuu soo saaray Qaraar tirsigiisu yahay 67/19 , siinaya Falastiin " dal aan xubin ka ahayn goobjoogeyaal " status , si wax ku ool ah loogu aqoonsado dal madax-bannaan .
Bishii Agoosto 2015, wakiilada Falastiin ee Qaramada Midoobay ayaa soo bandhigay qaraar qabyo ah oo u oggolaanaya wadamada aan xubinta ka ahayn goobjoogayaasha Falastiin iyo Quduuska Quduuska ah inay calankooda ka taagaan xarunta Qaramada Midoobay. Markii hore, Falastiiniyiintu waxay soo bandhigeen hindisahooda sidii dadaal wadajir ah oo ay la leeyihiin Seefta Quduuska ah, taas oo ay Quduuska ah beenisay. Warqad uu u diray Xoghayaha Guud iyo Madaxweynaha Golaha Guud, Safiirka Israa'iil ee UN Ron Prosor wuxuu ugu yeeray tallaabada "ku-takri-falka kale ee UN-ka ... si loo helo dhibco siyaasadeed". Kadib codeynta, oo 119 cod u qaadeen 8 iyadoo 45 dal ay ka aamuseen, Safiirka Mareykanka Samantha Power ayaa sheegtay in "kor u qaadista calanka Falastiin aysan isu soo dhaweyn doonin Israel iyo Falastiiniyiinta". Afhayeenka Waaxda Arrimaha Dibedda ee Maraykanka Mark Toner ayaa ku tilmaamay "isku day aan faa'iido lahayn" oo lagu raadinayo sheegashooyinka dawlad-goboleedka oo ka baxsan heshiis wada-xaajood ah.
Xafladda lafteeda, Xoghayaha Guud ee Qaramada Midoobay, Ban Ki-Moon ayaa sheegay in munaasabaddan ay tahay "maalin ay ku faani karaan dadka reer Falastiin ee ku nool dunida oo dhan, waa maalin rajo ah", wuxuuna ku dhawaaqay "Hadda waa waqtigii dib loo soo celin lahaa kalsoonida labada Israel iyo Falastiiniyiinta si loo helo heshiis nabadeed iyo, ugu dambeyntii, xaqiijinta laba dawladood oo laba shacab ah."
===Aqoonsiga caalamiga ah===
[[File:Palestine recognition only.svg|thumb|Dawladda Falastiin
Waddamada aqoonsaday Falastiin
Wadamada ku dhawaaqay inay dhawaan aqoonsan doonaan Falastiin ( France Malta , Portugal , San Marino , Australia )
Wadamada ku dhawaaqay shuruudahooda, aqoonsiga soo socda ee Falastiin ( United Kingdom , CanadaWadamada aan aqoonsaneyn Falastiin]]
Dawladda Falastiin waxa aqoonsaday 146 ka mid ah 193-ka xubnood ee Qaramada Midoobay tan iyo 2012-kii waxa ay lahayd xaalad ah waddan aan xubin ka ahayn kormeerayaasha Qaramada Midoobay. Xaaladdan xaddidan waxaa inta badan sabab u ah xaqiiqda ah in Maraykanka , oo ah xubin joogta ah oo ka tirsan Golaha Ammaanka ee Qaramada Midoobay oo leh awoodda diidmada qayaxan, uu si joogto ah u isticmaalo diidmada qayaxan ama ku hanjabay inuu sidaas sameeyo si uu u xannibo xubinnimada Falastiin ee buuxda ee Qaramada Midoobay.
On 29 November 2012, in a 138-9 cod (iyada 41 ka aamuseen iyo 5 maqan), Golaha Guud ee Qaramada Midoobay ayaa soo saaray qaraarka 67/19 , kor u Falastiin ka "xub goobjooge" in a " non-xubin goobjooge ah gobolka " gudaha nidaamka Qaramada Midoobay , kaas oo lagu tilmaamay aqoonsiga PLO. Xaaladda Falastiin ee Qaramada Midoobay waxay u dhigantaa tan Quduuska ah . Qaramada Midoobay waxa ay u ogolaatay Falastiin in ay ku magacawdo xafiiskeeda wakiilka Qaramada Midoobay oo ah "Howlgalka Joogtada ah ee Joogtada ah ee Dawladda Falastiin ee Qaramada Midoobay". Falastiin waxay ku amartay dublamaasiyiinteeda inay si rasmi ah u matalaan "Dawladda Falastiin" - oo aan hadda ahayn Maamulka Qaranka Falastiin.
On 17 December 2012, Madaxa Hab-maamuuska Qaramada Midoobay Yeocheol Yoon ayaa shaaca ka qaaday in "magacaabidda 'State of Palestine' waxaa loo isticmaali doonaa by Xoghaynta dhammaan waraaqaha rasmiga ah ee Qaramada Midoobay", sidaas darteed aqoonsanaya cinwaanka 'State of Falastiin' sida magaca rasmiga ah ee gobolka ee dhammaan ujeedooyinka Qaramada Midoobay. 21kii Diisambar 2012, qoraal Qaramada Midoobay ah ayaa ka hadlay ereybixin habboon oo la isticmaalo ka dib GA 67/19. Waxaa lagu xusay in aysan jirin wax caqabad ah oo dhanka sharciga ah oo ku wajahan adeegsiga magacaabista Falastiin si ay u tixraacdo aagga juqraafi ee dhulka Falastiin. Isla mar ahaantaana, waxaa lagu macneeyay in sidoo kale aysan jirin wax xannibaya isticmaalka ereyga "Dhulka Falastiin ee la haysto oo ay ku jirto Bariga Jerusalem" ama erey-bixinno kale oo la mid ah sida caadada u ah Golaha.
Laga bilaabo 21-kii Maarso 2025, 147 ( 76.2%) 193 ka waddan ee xubnaha ka ah Qaramada Midoobay ayaa aqoonsaday Dawladda Falastiin . Qaar badan oo ka mid ah wadamada aan aqoonsanayn Dawladda Falastiin si kastaba ha ahaatee waxay PLO u aqoonsan yihiin "wakiilka dadka Falastiiniyiinta ". Guddiga Fulinta ee PLO waxaa awood u siinaya Golaha Qaranka Falastiin si ay u qabtaan hawlaha dawladda ee Gobolka Falastiin.
2dii Abriil 2024, Riyad Mansour , oo ah safiirka Falastiin ee Qaramada Midoobay, ayaa codsaday in Golaha Ammaanku uu tixgeliyo codsiga xubinnimada ee la cusboonaysiiyay. Laga bilaabo Abriil 7 xubnood oo ka tirsan UNSC waxay aqoonsan yihiin Falastiin laakiin Maraykanku wuxuu muujiyay inuu ka soo horjeedo codsigaas waxaana intaa dheer, sharciga Maraykanku wuxuu dhigayaa in dhaqaalaha Maraykanku uu ka gooyo Qaramada Midoobay haddii ay dhacdo aqoonsi buuxa haddii aan la helin heshiis Israel iyo Falastiin. 18kii Abriil, Maraykanku wuxuu diidey qaraar Qaramada Midoobay si weyn loo taageeray kaas oo u ogolaan lahaa Falastiin inay xubin buuxda ka tahay Qaramada Midoobay.
Qaraarka UNGA ee May 2024 wuxuu dhaqan galay shirweynaha guud ee 2024. Qaraarkan oo aqoonsaday in Falastiin ay xaq u leedahay inay xubin buuxda ka noqoto, ayaa sidoo kale xaq u siinaya Falastiiniyiinta inay soo gudbiyaan soo jeedinta iyo wax ka bedelka iyo in Falastiin loo ogolaado inay la fadhiistaan dalalka kale ee xubnaha ka ah golaha.
===Milatari===
[[File:25th anniversary of Hamas (13).jpg|thumb|Sanadguuradii 25aad ee Xamaas oo ka dhacday Gaza, 2012]]
Hay’adda Nabadsugidda Falastiin waxay ka kooban tahay ciidamada qalabka sida iyo hay’adaha sirdoonka, kuwaas oo la aas aasay intii lagu jiray heshiiskii Oslo. Shaqadoodu waa ilaalinta amniga gudaha iyo ilaalinta sharciga meelaha PA ay maamusho. Uma hawlgalo sidii ciidan hubaysan oo dal madax banaan. Heshiiskii Oslo ka hor, PLO waxay hogaamisay jabhad hubaysan oo ka soo horjeeday Israa'iil, oo ay ku jiraan isbahaysiga kooxaha xagjirka ah oo ay ku jiraan laanteeda milatariga - Ciidanka Xoraynta Falastiin . Tan iyo heshiisyadii 1993-1995, waxay ahayd mid aan shaqayn oo waxay ka shaqaysaa oo keliya Suuriya. Fedayeenka Falastiin waa dagaalyahannada Falastiiniyiinta iyo ciidamada jabhadda. Falastiiniyiintu waxay u haystaan "dagaalyahan xornimo doon" iyo "argagixiso" Israa'iiliyiinta.
Xamaas waxay isu haysataa inay tahay ciidan madax-bannaan, oo ka awood iyo saamayn badan PSF, oo ay weheliyaan ururrada kale ee mayalka adag sida Islamic Jihad (Al-Quds Bridage). Waa ciidan jabhad ah, oo ay taageerayaan Iran, Qatar iyo Turkiga. Sida laga soo xigtay CIA World Factbook, Guutada Qassam waxay leeyihiin 20,000 ilaa 25,000 xubnood, inkastoo tiradan lagu muransan yahay. Ka bixitaanka Israel ee 2005 ee Gaza waxay siisay Hamas fursad ay ku horumariyaan garabkeeda militari.
Iran iyo Hezbollah ayaa hub sharci darro ah u soo galiyay Xamaas iyaga oo sii mara gacanka Sinai Peninsula iyaga oo sii maray Suudaan iyo Liibiya iyo sidoo kale dhinaca badda. Tababar millatari oo xoog leh iyo hub uruursi ayaa u oggolaaday Xamaas in ay si tartiib tartiib ah u abaabulaan cutubyo goboleed oo waaweyn sida guutooyin ka kooban 2,500–3,500 dagaalyahan midkiiba. Tan iyo 2020, dhoolatus wadajir ah oo lala sameeyay kooxaha kale ee ka dagaalama Gaza sida Falastiin Islamic Jihad (PIJ) waxay caadeysteen unugyo si ay ugu shaqeeyaan qaab isku dubaridan, taageera taliska iyo xakamaynta Hamas, waxayna fududeeyeen iskaashiga Xamaas iyo kooxaha yaryar. Dadaallada noocan oo kale ah waxay si dhab ah u bilowdeen sannadkii 2007-dii, markii Xamaas ay la wareegtay awoodda Marinka Gaza. Iran ayaa tan iyo markii ay Xamaas siisay agab iyo aqoon ay ku dhisto gantaallo waaweyn, iyadoo in ka badan 10,000 oo gantaallo ah iyo madaafiic lagu garaacay dagaalka hadda socda. Caawinta Iran, Xamaas waxay samaysay wax soo saar gantaallo gudaha ah oo xooggan oo u adeegsada tuubooyinka, fiilooyinka korantada, iyo agabka kale ee maalinlaha ah ee wax soo saarka la hagaajiyay.
===Sharciga iyo amniga===
Dawladda Falastiin waxay leedahay tiro ciidamo ah oo ammaan ah, oo ay ku jiraan Booliska madaniga ah , Ciidamada Ammaanka Qaranka iyo Adeegyada Sirdoonka, oo leh shaqada ilaalinta amniga iyo ilaalinta muwaadiniinta Falastiiniyiinta iyo Dawladda Falastiin. Dhammaan ciidamadan ayaa qayb ka ah hay’adaha ammaanka Falastiiniyiinta . PSF ayaa ugu horrayn mas'uul ka ah ilaalinta amniga gudaha, fulinta sharciga, iyo howlgallada ka hortagga argagixisanimada ee meelaha ay maamusho maamulka Falastiin.
Ciidanka Xoraynta Falastiin (PLA) waa ciidanka joogtada ah ee Ururka Xoraynta Falastiin (PLO). Waxaa la aasaasay sannadihii ugu horreeyay ee dhaqdhaqaaqa qaranka Falastiin, laakiin inta badan waxay ahayd mid aan firfircoonayn tan iyo heshiiskii Oslo. PLA doorkeeda waxaa loogu talagalay inay noqoto ciidan caadi ah laakiin waxay u wareegtay door astaan iyo door siyaasadeed.
==Dhaqaalaha==
Falastiin waxa ay IMF ku tilmaantay in ay tahay waddan dakhligoodu dhexe yahay iyo mid soo koraya. Sannadkii 2023, GDP-ga waddanku wuxuu ahaa $40 bilyan iyo qofkiiba ilaa $4,500. Xaaladdeeda lagu muransan yahay awgeed, xaaladda dhaqaale ayaa saamaysay. Sii daynta kaarboon-dioxide waxay ahayd 0.6 metric ton qofkiiba 2010. Sannadkii 2011, heerka saboolnimada Falastiin wuxuu ahaa 25.8%. Sida lagu sheegay warbixin cusub oo uu soo saaray Bangiga Adduunka , kobaca dhaqaalaha Falastiin ayaa la filayaa inuu jilco sanadka 2023. Dhaqaalaha Falastiin wuxuu si weyn ugu tiirsan yahay gargaarka caalamiga ah , xawaaladaha Falastiiniyiinta iyo warshadaha maxalliga ah.
[[File:Rawabi - industrial area.jpg|thumb|Dhismaha Rawabi iyo agagaarka warshadaha]]
Sida lagu sheegay warbixin uu soo saaray Bangiga Adduunka , saamaynta dhaqaale ee siyaasadda xidhitaanka Israa’iil ayaa ahayd mid qoto dheer, taasoo si toos ah uga qayb qaadatay hoos u dhac weyn oo ku yimid dhaqdhaqaaqa dhaqaalaha, shaqo la’aanta baahsan, iyo kor u kaca faqriga tan iyo bilowgii Intifada Labaad ee Sebtembar 2000 . Xayiraadahani waxay si ba'an u hakiyeen kobaca dhaqaalaha iyo horumarka gobolka. Ka dib Dagaalkii Gaza ee 2014 , halkaas oo dhismayaal badan ay waxyeeloobeen ama burburiyeen, socodka dhismaha iyo alaabta ceeriin ee Gaza ayaa si aad ah loo xaddiday. Dhoofinta joogtada ah ee gobolka ayaa gebi ahaanba la joojiyay, taas oo uga sii dareysa caqabadaha dhaqaale ee soo food saaray dadweynaha.
[[File:Flickr - Israel Defense Forces - Gaza by Night.jpg|thumb|Gaza ka hor dagaalkii 2023]]
Mid ka mid ah tallaabooyinka culeyska leh ee ay Israa'iil soo rogtay ayaa ah nidaamka "dib-u-celinta" ee lagu dhaqan geliyo meelaha laga gudbo ee gudaha dhulka Falastiiniyiinta . Siyaasaddani waxay ku khasabtaa alaab-qeybiyeyaasha inay badeecadahooda ka dejiyaan oo ay dib ugu raraan hal baabuur oo kale, taasoo keentay kharashaad gaadiid oo aad u badan iyo waqti dheer oo ay ku sii maraan badeecadaha la dhammeeyey iyo alaabta ceeriin. Kharashyadan dheeraadka ah waxay sii carqaladeynayaan kobaca dhaqaalaha iyo jiritaanka. Sida uu dhigayo 1995 Oslo II Accord , waxaa lagu heshiiyey in maamulka Aagga C lagu wareejiyo maamulka Falastiiniyiinta 18 bilood gudahood, marka laga reebo arrimaha lagu go'aaminayo heshiiska heerka kama dambaysta ah. Si kastaba ha ahaatee, Israa'iil waxay ku guuldareysatay inay fuliso waajibaadkeeda ku xusan heshiiskii Oslo, taasoo muujineysa baahida degdegga ah ee xisaabtanka iyo soo afjarida isla xisaabtan la'aanta. Komishanka Yurub ayaa muujiyay saamaynta xun ee xannibaadda West Bank ee Israa'iil , iyada oo ku qiyaastay in ay keentay saboolnimada dhaqaale ee sanadlaha ah ee Falastiiniyiinta 2-3% ee GDP. Intaa waxaa dheer, tirada sii kordheysa ee xiritaanka gudaha iyo dibedda ayaa sii socota inay saameyn xun ku yeelato rajada laga qabo soo kabashada dhaqaalaha gobolka.
Sannadkii 2015, saamaynta dhaqaale ee isticmaalka sharci darrada ah ee Israa’iil ee khayraadka dabiiciga ah ee Falastiin waxa si muxaafid ah loogu qiyaasay US$1.83 bilyan, oo u dhiganta 22% GDP-ga Falastiin sannadkaas. Warbixinta 2015 ee Bangiga Adduunka, qaybta wax soo saarka ee GDP ayaa hoos uga dhacday 19% ilaa 10 % inta u dhaxaysa saxeexa Heshiisyada Oslo ilaa 2011 . 22% ilaa GDP Falastiin. Warbixintu waxay xustay in Israa'iil iyo Urdun ay si wada jir ah u soo saaraan $4.2 bilyan sannadkii iibka alaabtan, taasoo ka dhigan 6% sahayda potash-ka caalamiga ah iyo 73% wax soo saarka bromine-ka caalamiga ah.
Guud ahaan, haddii Falastiiniyiintu ay si aan xaddidnayn u heli lahaayeen dhulkooda ee Aagga 'C', faa'iidooyinka dhaqaale ee Falastiin waxay kordhin karaan 35% GDP, oo gaaraya ugu yaraan $3.4 bilyan sannadkii. Sidoo kale, xayiraadaha biyuhu waxay ku kaceen kharash dhan US $ 1.903, oo u dhiganta 23.4% GDP, halka xayiraadda joogtada ah ee Israel ee Marinka Gaza ay keentay kharash dhan $ 1.908 bilyan US $, oo ka dhigan 23.5% GDP ee 2010 . xaqa loo leeyahay in la horumariyo bulsho barwaaqo ah oo leh dhaqaale deggan iyo kobac waara.
Wax soo saarka guud ee guud ee Falastiin (GDP) ayaa hoos u dhacay 35% rubuci hore ee 2024, sababtoo ah dagaalka ka socda Gaza, Xafiiska Dhexe ee Tirakoobka Falastiin (PCBS) ayaa sheegay. Waxaa jiray farqi weyn oo u dhexeeya Daanta Galbeed, kaas oo arkay hoos u dhac 25% ah iyo Marinka Gaza, tiradu waa 86% iyada oo uu socdo dagaalka. Qaybta wax soo saarka ayaa hoos u dhacday 29% ee Daanta Galbeed iyo 95% ee Gaza, halka qaybta dhismuhu hoos u dhacday 42% ee Daanta Galbeed oo asal ahaan ku burburtay Gaza, iyada oo 99% hoos u dhacday.
===Beeraha===
Ka dib markii Israa'iil ay qabsatay Daanta Galbeed iyo Marinka Qaza 1967-dii, beeralayda falastiiniyiinta waxaa soo gaaray dib u dhac weyn. Wax ku biirinta waaxdu ee GDP ayaa hoos u dhacday, xooggii shaqaale ee beeralaydana wuu yaraaday. Meelaha la beero ee Daanta Galbeed ayaa si joogto ah hoos ugu dhacay tan iyo 1967. Beeralayda Falastiiniyiinta ayaa caqabad ku ah suuqgeynta iyo qaybinta alaabtooda, xayiraadaha Israel ee isticmaalka biyaha ayaa si weyn u saameeyay beeraha Falastiiniyiinta. In ka badan 85% biyaha falastiiniyiinta ee ka yimaada daanta galbeed waxaa adeegsata Israel, falastiiniyiintana waxaa loo diiday inay helaan kheyraadka biyaha ee webiyada Urdun iyo Yarmuuk.
Qaza, biyo-mareenada xeebta waxay la il daran tahay soo gelitaanka biyaha cusbada. Xayiraadaha Israel ayaa xaddiday waraabka dhulka falastiiniyiinta, iyadoo kaliya 6% dhulka Daanta Galbeed ee ay falastiiniyiintu beeran yihiin la waraabiyo, halka dadka Israa’iil degan ay waraabiyaan qiyaastii 70% dhulkooda. Dagaalkii Khaliijka ee 1991 wuxuu saameyn ba'an ku yeeshay beeralayda falastiiniyiinta, maadaama inta badan loo dhoofiyo wadamada Khaliijka Carabta. Dhoofinta Falastiiniyiinta ee Wadamada Khaliijka ayaa hoos u dhacay 14% natiijada dagaalka, taasoo keentay saameyn dhaqaale oo weyn.
===Biyo-helidda iyo nadaafadda===
Biyo gelinta iyo fayadhowrka dhulka falastiiniyiinta waxaa lagu gartaa biyo la’aan aad u daran waxaana saameyn weyn ku leh gumeysiga Israel. Khayraadka biyaha ee Falastiin waxaa qayb ahaan gacanta ku haya Israa'iil sababtoo ah qayb ahaan kakanaanta taariikheed iyo juquraafi ahaaneed iyadoo Israa'iil ay siisay madaxbannaani qaybeed 2017 . Israa'iil waxay siisaa dhulalka falastiiniyiinta biyaha sahaydeeda biyaha iyo sahayda biyaha sasarka leh, 2012 oo bixisa 52 MCM .
Guud ahaan, tayada biyuhu aad bay uga xun yihiin Marinka Gaza marka la barbar dhigo Daanta Galbeed. Qiyaastii saddex meelood meel meel ka mid ah biyaha la geeyey dhulka falastiiniyiinta ayaa ku lumay shabakada qaybinta . Go’doominta joogtada ah ee marinka Qaza iyo dagaalka Gaza ayaa sababay burbur xooggan oo soo gaaray kaabayaasha dhaqaalaha ee marinka Qaza. Ku saabsan biyaha wasakhda ah, dhirta daaweynta ee hadda jirta ma laha awood ay ku daaweeyaan dhammaan biyaha wasakhda ah ee la soo saaro, taasoo keenta wasakhowga biyaha daran. Horumarinta qaybta aad ayey ugu xidhan tahay maalgelinta dibadda.
===Wax-soo-saarka===
Qaybaha wax soo saarka ee Falastiin waxaa ka mid ah dunta, habaynta cuntada, dawooyinka, qalabka dhismaha, alaabta guriga, alaabta caaga ah, dhagaxa, iyo elektarooniga. Alaabooyinka xusidda mudan waxaa ka mid ah dharka, saliidda saytuunka, caanaha, alaabta guriga, ceramics, iyo qalabka dhismaha. Kahor Intifada Labaad, Falastiin waxay lahayd saldhig warshadeed oo xoog leh oo ku yaal Jerusalem iyo Gaza. Caqabadaha laga taagay Daanta Galbeed ayaa ka dhigay dhaqdhaqaaq adag; go’doominta marinka Qaza ayaa si weyn u saamaysay xaaladda dhaqaale ee dhulka. Laga bilaabo 2023 , sida laga soo xigtay Wasaaradda Dhaqaalaha , waaxda wax soo saarka ayaa la filayaa inay koraan 2.5% ayna abuuraan 79,000 shaqo lixda sano ee soo socota. Falastiin waxay inta badan dhoofisaa alaabta dhagaxa ah (limestone, marble - 13.3%), alaabta guriga (11.7%), balaastikada (10.2%) iyo birta iyo birta (9.1%). Badeecadahaas intooda badan waxaa loo dhoofiyaa Jordan, Maraykanka, Israa'iil iyo Masar.
Hebron waa magaalada ugu horumarsan dhanka warshadaha ee gobolka waxayna u adeegtaa sidii xudunta dhoofinta wax soo saarka Falastiin. In ka badan 40% dhaqaalaha qaranka ayaa soo saara halkaas. Madbacada ugu horumarsan Bariga Dhexe waa Xebroon. Dhagaxyo badan ayaa ku yaal gobolka ku xeeran. Kaydadka Silikoon ayaa laga helay dhulka Gaza. Dhagaxa Jerusalem, oo laga soo saaray Daanta Galbeed, ayaa loo isticmaalay dhismayaal badan oo ku yaala Jerusalem. Hebron waxa aad loogu yaqaanaa wax-soo-saarka dhalada. Nablus waxaa lagu xusay saabuunteeda Nablus . Qaar ka mid ah shirkadaha ka shaqeeya dhulka Falastiin waxaa ka mid ah Siniora Foods , Sinokrot Industries , Schneider Electric , PepsiCo iyo Coca-Cola .
Dadaalada nabadeed ee dhaqaalaha Israel-Falastiin waxay keeneen dhowr hindise, sida Dooxada Nabadda iyo Jebinta Impasse , kuwaas oo kor u qaadaya mashaariicda warshadaha ee u dhexeeya Israel, Falastiin iyo dalalka kale ee Carabta, iyada oo ujeedadu tahay horumarinta nabadda iyo soo afjarida colaadda. Kuwaas waxaa ka mid ah jardiinooyin warshadeed oo wadajir ah oo laga furay Falastiin. Maamulka Falastiin ayaa magaalooyin warshadeed ka dhisay Gaza, Beytlaxam, Jericho, Jenin iyo Hebron. Qaarkood waxay iskaashi wadajir ah la leeyihiin wadamada Yurub
===Tamarta===
[[File:Solar_Plant_in_Jericho.jpg|thumb|Warshada qorraxda ee Jeriko]]
Falastiin ma soo saarto saliid iyo gaas u gaar ah. Laakiin sida laga soo xigtay warbixinnada Qaramada Midoobay, " kaydka saliidda iyo gaasta ee baaxadda leh" ayaa ku yaal dhulka Falastiiniyiinta. Xaalada colaadeed ee ay ku sugan tahay awgeed, tamarta iyo shidaalka ugu badan ee Falastiin waxaa laga keenaa Israa’iil iyo dhammaan dalalka kale ee dariska ah sida Masar, Urdun iyo Sucuudiga.
Sannadkii 2012, korontada laga heli karo Daanta Galbeed iyo Gaza waxay ahayd 5,370 GW-saac (3,700 ee Daanta Galbeed iyo 1,670 ee Gaza), halka isticmaalka sannadlaha ah ee qof kasta oo koronto ah (ka dib markii laga jaray khasaaraha gudbinta) uu ahaa 950 kWh. Warshada Korontada ee Qaza waa warshadda tamarta kaliya ee ku taal marinka Gaza. Waxaa iska leh Shirkadda Korontada ee Gaza (GPGC), oo hoos timaada Shirkadda Korontada ee Falastiin (PEC). Shirkadda Korontada Degmada Jerusalem , oo hoos timaada PEC, waxay siisaa koronto dadka Falastiiniyiinta ah ee deggan Yeruusaalem.
Saraakiisha dawladda ayaa si isa soo taraysa diiradda u saaray tamarta qorraxda si loo yareeyo ku tiirsanaanta Israel ee tamarta. Sanduuqa Maalgelinta Falastiin ayaa bilaabay "Noor Palestine", mashruuc ujeedadiisu tahay in lagu bixiyo awoodda Falastiin. Qudra Energy, oo ay iska kaashadeen Bank of Falastiin iyo NAPCO ayaa aasaasay warshado koronto qoraxda oo dhan Jammala , Nablus, Birzeit iyo Ramallah. Sannadkii 2019, ee ololaha Noor Palestine, warshaddii ugu horreysay ee tamarta qoraxda iyo beerta qorraxda ayaa laga furay Jenin. Laba jardiinooyin kale oo cadceedda ayaa loo qorsheeyay Jeriko iyo Tubas. Warshad koronto oo cadceedda cusub ayaa laga dhisayaa xarunta Abu Dis ee Jaamacadda Al-Quds , taas oo loogu adeegayo Falastiiniyiinta Qudus.
===Saliid iyo gaas===
Falastiin waxa ay haysataa kayd shidaal iyo gaas oo baaxad leh. [ 243 ] In ka badan 3 bilyan oo fuusto (480,000,000 m 3 ) oo saliid ah ayaa lagu qiyaasay inay ka jiraan xeebaha iyo dhulka Falastiiniyiinta ee la haysto. Levant Basin waxa ay haysaa ilaa 1.7 bilyan fuusto (270,000,000 m 3 ) oo saliid ah, oo leh 1.5 bilyan oo foosto (240,000,000 m 3 ) oo ka hooseysa dhulka la haysto ee Daanta Galbeed. [ 244] Around 2 billion barrels (320,000,000 m3) of oil reserves are believed to exist in shore of the Gaza Strip.[244][245] According to a report by the UNCTAD, around 1,250 billion barrels (1.99×1011 m3) of oil reserves are in the occupied Palestinian territory of the West Bank, probably the Meged oil field. As per the Palestinian Authority, 80% of this oil field falls under the lands owned by Palestinians.
Masadder, oo ah qayb ka mid ah Sanduuqa Maalgelinta Falastiin ayaa horumarinaya saliidda ee Daanta Galbeed. [ 245 ] Goobta Block-1, oo ku fidsan dhul dhan 432 kiiloomitir laba jibaaran (167 sq mi) waqooyi-galbeed Ramallah ilaa Qalqilya ee Falastiin, waxay leedahay awood la taaban karo oo laga heli karo kheyraadka hydrocarbon . Waxaa lagu qiyaasaa in ay haysato P90 (heerka hubaal) ee 0.03 bilyan fuusto (4,800,000 m 3 ) saliid dib loo soo celin karo iyo 6,000,000,000 cubic feet (170,000,000 m 3 ) oo ah gaas la soo kaban karo. Kharashka ku baxaya horumarinta beertan ayaa lagu qiyaasay $390 milyan, waxaana lagu fulin doonaa heshiis wax-soo-saar la wadaago dawladda Falastiin . Waqtigan xaadirka ah, barnaamijka shaqo ee hore ee sahaminta ka hor ayaa socda si loogu diyaariyo naqshadaynta qorshaha sahaminta si loo ansixiyo, kaas oo ka hor marin doona horumarinta buuxda ee goobta.
Gaaska dabiiciga ah ee Falastiin ayaa inta badan laga helaa Marinka Gaza. Marinka Gaza waa gaaska dabiiciga ah , oo ku yaal agagaarka 32 kiiloomitir (20 mi) xeebta dhulka ee xeebta Mediterranean. Waxay haysaa kayd gaas u dhexeeya 28 bilyan kuyuubik mitir (990 bilyan cubic feet) ilaa 32 bilyan cubic mitir (1.1 trillion cubic feet). Qiyaasahani waxay aad uga badan yihiin baahida dhulka Falastiiniyiinta ee tamarta . Goobta gaaska waxaa helay kooxda British Gas Group 1999. Markii la helay gaaska, Yaasir Carafaat wuxuu ku ammaanay Yaasir Carafaat oo ah "Hadyad Eebbe". Iskaashiga gobolka ee u dhexeeya maamulka Falastiiniyiinta , Israel iyo Masar ayaa lagu saxiixay horumarinta beerta iyo Xamaas ayaa sidoo kale siisay ogolaansho maamulka Falastiin. Si kastaba ha ahaatee, tan iyo dagaalka ka socda Gaza , mashruucan ayaa dib loo dhigay
===Gaadiidka===
[[File:To_Hebron.jpg|thumb|Boodhadh luqado badan ku qoran oo ku yaal Gobolka Xebroon]]
Laba garoon diyaaradeed oo Falastiiniyiin ah - Gegida Caalamiga ah ee Jerusalem iyo Gegida Caalamiga ah ee Gaza - ayay Israel burburisay sanadihii hore ee intifada labaad. Tan iyo markaas ma jirin garoon diyaaradeed oo ka shaqeeya dalka. Falastiiniyiintu waxay ku safri jireen garoomada diyaaradaha ee Israel – Ben Gurion Airport iyo Ramon Airport – iyo madaarka caalamiga ah ee Queen Alia ee Amman , caasimadda Jordan. Soo jeedin badan ayaa laga soo jeediyay dowladda iyo hay’adaha gaarka ah si loo dhiso garoomada diyaaradaha ee dalka. Sanadkii 2021, soo jeedintii ugu dambeysay waxaa sameeyay dowladda Falastiin iyo dowladda Israa’iil labadaba si dib loogu horumariyo Gegida diyaaradaha ee Qalandia si uu u noqdo garoon caalami ah oo ay wadaagaan Israa’iiliyiinta iyo Falastiiniyiinta.
Marinka Qaza waa gobolka kaliya ee xeebta ah ee Falastiin, halkaas oo ay ku taal Dekedda Gaza . Waxay ku jirtaa go'doomin dhinaca badda ah oo ay Israa'iil ku hayso, tan iyo markii ay dhulkaas go'doomisay. Sanadihii Oslo, dawladda Falastiin waxay iskaashi la samaysay Nederland iyo Faransiiska si ay u dhistaan deked caalami ah laakiin mashruuca waa laga tagay. Sannadkii 2021, ra'iisul wasaarihii Israa'iil Naftali Bennett ayaa bilaabay mashruuc horumarineed oo Gaza ah, kaas oo ay ku jirto deked.
===Dalxiiska===
[[File:Gaza_by_Mujaddara_-_panoramio_(3400).jpg|thumb|Al Mashtal Hotel ee Gaza, ka hor dagaalkii Gaza]]
[[File:Jerusalem_Dome_of_the_rock_BW_14.JPG|thumb|Quddus waxay quduus u tahay saddexda diimood ee ugu waaweyn adduunka - Masiixiyadda, Islaamka iyo Yuhuudda, iyo sidoo kale Mandaeism.]]
Dalxiiska dalka waxaa loola jeedaa dalxiiska ee Bariga Jerusalem, Daanta Galbeed iyo Marinka Gaza. Sanadkii 2010, 4.6 milyan oo qof ayaa booqday dhulka Falastiin, marka la barbar dhigo 2.6 milyan sanadkii 2009. Tiradaas, 2.2 milyan ayaa ahaa dalxiisayaal ajnabi ah, halka 2.7 milyan ay ahaayeen gudaha. Dalxiisayaasha intooda badani waxay yimaadaan saacado yar oo keliya ama qayb ka mid ah safarka maalinlaha ah. Rubucii u dambeeyay ee 2012 in ka badan 150,000 oo marti ah ayaa joogay huteelada Daanta Galbeed. 40% waxay ahaayeen Yurub halka 9% ay ka yimaadeen Maraykanka iyo Kanada. Hagaha safarka ee Lonely Planet wuxuu qoray in "Daanta Galbeedku maaha meesha ugu fudud ee lagu safro laakiin dadaalka ayaa lagu abaalmariyey." Goobaha xurmada leh sida gidaarka galbeed , Kaniisada Quddus Quddus , iyo Masjidka Al-Aqsa ayaa sanad walba soo jiitaan xujey iyo booqde aan tiro lahayn
Sannadkii 2013, wasiirka dalxiiska ee maamulka Falastiin Rula Ma'ay'a ayaa sheegtay in dawladeeda ay doonayso inay dhiirigeliso booqashooyinka caalamiga ah ee Falastiin, laakiin qabsashadu waa qodobka ugu muhiimsan ee ka hortagaya waaxda dalxiiska inay noqoto il dhaqaale oo weyn oo Falastiiniyiinta. Ma jiraan wax shuruudo fiisooyin ah oo lagu soo rogay muwaadiniinta ajnabiga ah marka laga reebo kuwa ay soo rogtay siyaasadda fiisaha ee Israa'iil. Gelitaanka Qudus, Daanta Galbeed, iyo Qaza waxaa si buuxda u maamula dawladda Israa'iil . Gelitaanka dhulka Falastiiniyiinta ee la haysto wuxuu u baahan yahay oo keliya baasaboor caalami ah oo sax ah . Dalxiiska ayaa inta badan xuddun u ah Yeruusaalem iyo Beytlaxam hareeraheeda. Jericho waa goob dalxiis oo caan ah oo loogu talagalay Falastiiniyiinta maxalliga ah.
===Isgaarsiinta===
Falastiin waxa loo yaqaan "Silicon Valley of NGOs". Warshadaha farsamada sare ee Falastiin, waxay la kulmeen koboc wanaagsan tan iyo 2008. Sannadkii 2020, Xafiiska Dhexe ee Tirakoobka Falastiin (PCBS) iyo Wasaaradda Isgaarsiinta iyo Teknolojiyada ayaa sheegay in Falastiiniyiinta ay joogeen 4.2 milyan oo macaamiil mobilada ah marka la barbar dhigo 2.6 milyan dhamaadka 2010. ee 2019, laga bilaabo 119 kun isla muddadaas. Sanadka 2020, 97% qoysaska falastiiniyiintu waxay lahaayeen ugu yaraan hal khad mobilka gacanta ah. Ugu yaraan hal taleefan oo casriga ah waxaa iska leh 86% qoysaska (91% Daanta Galbeed iyo 78% ee Marinka Gaza). Qiyaastii 80% qoysaska reer Falastiin waxay heli karaan internetka guryahooda halka saddex meelood meel ay haystaan kombuyuutar.
Bishii Juun 2020, Bangiga Adduunka ayaa ansixiyay $ 15 milyan deeq ah Mashruuca Teknolojiyadda Dhallinyarada iyo Shaqooyinka ( TechStart ) ee ujeeddadiisu tahay in lagu caawiyo waaxda IT-ga Falastiiniyiinta kor u qaadista awoodda shirkadaha iyo abuurista shaqooyin tayo sare leh. Kanthan Shankar, Agaasimaha Bangiga Adduunka ee Daanta Galbeed iyo Gaza ayaa sheegay in waaxda IT ay awood u leedahay inay gacan xooggan ka geysato kobaca dhaqaalaha. Waxay siin kartaa fursado dhalinyarada Falastiiniyiinta, kuwaas oo ka kooban 30% dadweynaha oo ay haysato shaqo la'aan ba'an.
===Adeegyada maaliyadeed===
[[File:Palestine_Islamic_Bank,_Salfit_01.jpg|thumb|Bangi ku yaal Salfit]]
Maamulka Lacagta ee Falastiin ayaa soo saaray hab-raacyo loogu talagalay hawlgalka iyo bixinta adeegyada lacag-bixinta elegtarooniga ah oo ay ku jiraan jeebka elektaroonigga ah iyo kaararka prepaid-ka ah. Hab -maamuuska Xidhiidhka Dhaqaalaha , oo sidoo kale loo yaqaano hab-maamuuska Paris waxaa kala saxeexday PLO iyo Israel, kaas oo ka mamnuucaya maamulka Falastiiniyiinta inay yeeshaan lacag u gaar ah. Heshiiskani waxa uu u gogol xaarayey in dawladdu ay qaaddo cashuuraha.
Kahor 1994, dhulka Falastiiniyiinta ee la haysto waxay lahaayeen ikhtiyaaro bangi oo xadidan, iyadoo Falastiiniyiintu ay ka fogaanayeen bangiyada Israel . Tani waxay keentay gobol aan bangi lahayn iyo dhaqaale ku salaysan lacag caddaan ah . Hadda, waxaa jira bangiyada 14 ee ka shaqeeya Falastiin, oo ay ku jiraan bangiyada Falastiin, Jordan iyo Masar, marka la barbardhigo 21 ee 2000 . Debaajiga bangiyada Falastiin waxay arkeen kobac weyn, oo ka kordhay US $ 1.2 bilyan 2007 ilaa US $ 6.9 ee 2018, oo u dhiganta 475% korodhka. Qaybta bangiyada ayaa muujisay heerarka kobaca sanadlaha ah ee la taaban karo ee dhigaalka iyo faylalka amaahda, oo dhaaftay celceliska caalamiga ah. Isku darka tas - hiilaadka amaahda ee ay bixiyeen dhammaan bangiyada 31 December 2018, ayaa gaadhay US$8.4 bilyan, taasoo muujinaysa koror laxaad leh oo boqolkiiba 492 ah marka la barbar dhigo US $ 1.42 bilyan ee 2007. US$5.02 bilyan, taasoo ka dhigan 61 boqolkiiba wadarta deymaha. Tani waxay muujinaysaa koror cajiib ah oo 737 ah oo u dhexeeya 2007 iyo 2018. Hadda, bangiyada diiwaangashan ee Falastiiniyiinta waxay hayaan 57 boqolkiiba dhigaalka macaamiisha waxayna bixiyaan 61 boqolkiiba deynta, marka la barbardhigo 26 boqolkiiba dhigaalka iyo 42 boqolkiiba deynta 2007.
==Tirakoobka dadweynaha==
Marka loo eego Xafiiska Tirakoobka Dhexe ee Falastiin (PCBS), laga bilaabo 26 Maajo 2021, Dawladda Falastiin 2021 badhtamaha sannadka dadku waa 5,227,193. Ala Owad, madaxweynaha PCBS, ayaa lagu qiyaasey dad gaaraya 5.3 milyan dhamaadka sanadka, 2021. Gudaha aagga 6,020 kiiloomitir laba jibaaran (2,320 sq mi ), waxaa jira cufnaanta dadweynaha ee ku saabsan 827 qof halkii kiiloomitir laba jibaaran. Si loo dhigo tan si guud, celceliska cufnaanta dadweynaha ee adduunka waxay ahayd 25 qof halkii kiiloomitir laba jibaaran 2017.
Kala bar dadka reer Falastiin waxay ku nool yihiin qurbaha , ama waa qaxooti . Iyadoo ay ugu wacan tahay in ay ku jirto xaalad colaadeed oo ay la leedahay Israa'iil, dagaalladii xigay waxay keeneen barokac baahsan oo Falastiiniyiin ah , oo loo yaqaan Nakba ama Naksa . Dagaalkii 1948 , ku dhawaad 700,000 oo falastiiniyiin ah ayaa laga saaray . Intooda badan waxa ay magangalyo ka raadsadaan dalalka deriska la ah Carabta sida Urdun, Ciraaq, Lubnaan iyo Masar, halka kuwa kalena ay ku nool yihiin sida dibad-bax ku nool Sucuudiga, Qatar, Cumaan iyo Kuwait. Tiro badan oo Falastiiniyiin ah ayaa ku sugan Maraykanka, Boqortooyada Ingiriiska iyo Yurub inteeda kale
===Diinta===
Dalku waxa uu caan ku ahaa muhiimadda diineed iyo meelo badan oo barakeysan, iyadoo diintu ay door muhiim ah ka qaadatay qaabaynta bulshada iyo dhaqanka dalka. Dhaqan ahaan waa qayb ka mid ah Dhulka Quduuska ah , kaas oo loo tixgeliyo dhul muqadas ah diimaha Ibraahim iyo sidoo kale diimaha kale. Sharciga aasaasiga ah wuxuu dhigayaa in Islaamku yahay diinta rasmiga ah laakiin sidoo kale wuxuu bixiyaa xorriyadda diinta, isagoo ku baaqaya in la ixtiraamo diimaha kale. Diimaha laga tirada badan yahay ayaa wakiil ka ah sharci-dejinta Maamulka Qaranka Falastiin.
98% falastiiniyiintu waa Muslim , kuwaas oo intooda badan ay yihiin kuwa raacsan laanta Islaamka Sunniga iyo tiro yar oo Axmadiya . 15% waa muslimiin aan magac-raac ahayn . Masiixiyiinta Falastiin waxay matalaan tiro aad u tiro yar oo ah 1%, oo ay ku xigto bulshooyin diimeed oo aad u yaryar , oo ay ku jiraan Baha'is iyo Samaritans . Tirada ugu badan ee Masiixiyiintu waxay ku sugan yihiin Beytlaxam , Beit Sahour , iyo Beit Jala oo ku taal Daanta Galbeed, iyo sidoo kale marinka Gaza. Diin ahaan, Masiixiyiinta Falastiiniyiinta intooda badan waxay ka tirsan yihiin Kaniisadaha Ortodokska Bari ama Oriental Ortodokska , oo ay ku jiraan Kaniisadda Ortodokska ee Giriiga , Kaniisadda Rasuullada ee Armenia , iyo Kaniisadda Ortodokska Suuriya . Waxaa jira koox muhiim ah oo Roman Catholics ah , Catholics Greek ( Melkites ), iyo diimaha Protestant .
Dadka ku nool 350 qof, reer Samaariya waxay aad isugu urursadeen agagaarka Buurta Gerizim . Isku ekaanshaha u dhexeeya Samaritanism iyo yuhuudda awgeed , Samaritanka waxaa badanaa loogu yeeraa "Yuhuudda Falastiin". PLO waxay u aragtaa Yuhuuda inay yihiin Falastiiniyiin , kuwaas oo ku noolaa gobolka si nabad ah ka hor sarakicida Sionism. Shakhsiyaadka qaarkood, gaar ahaan kuwa ka soo horjeeda Sahyuuniyiinta, waxay isu haystaan Yuhuud Falastiiniyiin ah, sida Ilan Halevi iyo Uri Davis . Qiyaastii 600,000 oo Israa'iil ah, oo u badan Yuhuud, ayaa ku nool degsiimooyinka Israa'iil , sharci-darro ah marka loo eego sharciga caalamiga ah, oo dhan Daanta Galbeed. Sunagogga Jericho , oo ku yaal Jericho waa sunagogga kaliya ee ay maamusho Maamulka Falastiin.
===Goobaha Quduuska ah ee Falastiin===
[[File:Al-Aqsa is a silver-domed mosque inside a 35-acre compound referred to as al-Haram al-Sharif by Muslims in the Old City of Jerusalem, A UNESCO world heritage site. It is considered as 3rd most holy site in Islam. (6).jpg|thumb|Qudus waa hoyga Masjidka Al-Aqsa oo ah goobta 3aad ee ugu barakeysan Islaamka]]
[[File:Bethlehem-Nativity-140.jpg|thumb|Kaniisadda Dhalashadu waa mid ka mid ah goobaha ugu muhiimsan ee Masiixiyiinta.]]
[[File:Archaeological_site_Mount_Gerizim_IMG_2181.JPG|thumb|Buur Gerizim waa muqadas reer Samaariya]]
[[File:PikiWiki_Israel_43143_Cave_of_the_Patriarchs.JPG|thumb|Godka Wadaadka waa goob barakeysan oo ay ku nool yihiin Yahuudda , Muslimiinta iyo Kiristaanka]]
[[File:مقام النبي موسى في اريحا.jpg|thumb|Nabi Muuse waxa lagu tiriyaa inuu yahay " Qabriga Muuse " dhaqamada Islaamka.]]
[[File:PikiWiki_Israel_15003_Jericho_synagogue_mosaic.JPG|thumb|Sunagogga Jericho waxaa maamula maamulka Falastiiniyiinta .]]
[[File:Sebastia-2-179.jpg|thumb|Masjidka Nabi Yahya waxa ku jira qabriga dhaqanka ee Yooxanaa Baabtiisaha .]]
===Luuqad===
[[File:Armenian_parade_in_Jerusalem_2018-04-07_(40611059614).jpg|thumb|Armaniyiinta Yeruusaalem]]
Falastiiniyiinta asal ahaan waa Carab , waxayna ku hadlaan luqadda Carabiga . Jaaliyadaha Bedouin ee dhalashada Falastiin waxay ka kooban yihiin tiro yar oo ku nool Daanta Galbeed, gaar ahaan agagaarka Hebron Hills iyo miyiga Yeruusaalem. Laga bilaabo 2013, qiyaastii 40,000 Bedouins ayaa degan Daanta Galbeed iyo 5,000 Bedouins waxay ku nool yihiin Marinka Gaza. Jahalin iyo Ta'amireh waa laba qabiil oo reer Baadiyaha ah oo dalka ku nool. Tiro badan oo ka mid ah qowmiyadaha aan Carabta ahayn ayaa sidoo kale ku nool dalka, iyada oo xubnahooda ay haystaan sidoo kale dhalashada Falastiin. Kuwaas waxaa ka mid ah kooxaha Kurdiyiinta , Nawar , Assyrians , Romani , Druze , Afrikaan , Dom , Ruush , Turki iyo Armenian .
Inta badan bulshooyinka aan Carabta ahayn ee Falastiin waxay deggan yihiin hareeraha Jerusalem . Qiyaastii 5,000 oo Ashuur ah ayaa ku nool Falastiin, inta badan magaalooyinka barakeysan ee Yeruusaalem iyo Beytlaxam . Dad lagu qiyaasay inta u dhaxaysa 200 iyo 450 Afrikaan madow, oo loo yaqaan Afro-Falastiin , ayaa ku nool Yeruusaalem. Beel yar oo Kurdiyiin ah ayaa deggan Xebroon . Nawar waa bulsho yar oo Dom iyo Romani ah , oo ku nool Yeruusaalem, kuwaas oo asal ahaan ka soo jeeda Hindiya . Qurba -joogta Ruushka ayaa sidoo kale laga helaa Falastiin, gaar ahaan Xarunta Ruushka ee Jerusalem iyo Hebron . Intooda badani waa Masiixiyiin ka tirsan Kaniisadda Ortodokska ee Ruushka .
2022, qiyaasta qiyaastii 5,000-6,000 Armenian ayaa ku noolaa guud ahaan Israa'iil iyo Falastiin , kuwaas oo ku dhawaad 1,000 Armeeniyiin ah ay ku noolaayeen Yeruusaalem ( Quarter Armenian ) inta kalena waxay ku noolaayeen Beytlaxam. Laga soo bilaabo 1987, 400,000 ilaa 500,000 oo Turki ah ayaa ku nool Falastiin . Sababo la xiriira dagaaladii sokeeye ee 1947-1949 , qoysas badan oo Turki ah ayaa ka qaxay gobolka waxayna degeen Urdun , Suuriya iyo Lubnaan . Sida laga soo xigtay wargayska 2022 ee Al Monitor , qoysas badan oo asal ahaan Turki ah oo ku nool Gaza ayaa u haajiray Turkiga sababtoo ah "xaaladda dhaqaale ee sii xumaanaysa ee go'doominta". [ 305 ] Dadka laga tirada badan yahay ee dalka ayaa sidoo kale lagu soo rogay qabsasho iyo xannibaadyo Israel
===Waxbarashada===
[[File:Wikipedia_education_program_birzeit_university_2016_ceremoney_15.jpg|thumb|Ardayda Jaamacadda Birzeit]]
[[File:IUG_administration_building.jpg|thumb|Dhismaha maamulka Jaamacadda Islaamiga ee Gaza]]
Heerka wax-akhris ee Falastiin wuxuu ahaa 96.3% sida lagu sheegay warbixin 2014 ah oo ay soo saartay Barnaamijka Horumarinta ee Qaramada Midoobay , taas oo heer sare ah marka loo eego heerarka caalamiga ah. Waxaa jira farqi jinsi oo dadka da'doodu ka sarreyso 15 iyadoo 5.9% haweenka loo arko kuwo aan waxna akhriyin marka la barbardhigo 1.6% ragga. Wax-akhris la'aanta haweenka ayaa hoos uga dhacday 20.3% 1997 ilaa in ka yar 6% 2014. Gobolka Falastiin, Marinka Gaza ayaa leh heerka ugu sarreeya ee wax-akhris. Sida laga soo xigtay blog-saxaafadeed ee Jaamacadda Columbia , Falastiiniyiintu waa qaxootiga ugu aqoonta badan.
Nidaamka waxbarasho ee Falastiin wuxuu ka kooban yahay Daanta Galbeed iyo Marinka Gaza labadaba, waxaana maamula Wasaaradda Waxbarashada iyo Tacliinta Sare . Waxbarashada aasaasiga ah ee Falastiin waxaa ka mid ah dugsiga hoose (fasalada 1-4) iyo dugsiga diyaarinta (fasalada 5-10). Waxbarashada dugsiga sare waxay ka kooban tahay waxbarashada guud ee dugsiga sare (fasalada 11-12) iyo waxbarashada farsamada gacanta. Manhajka waxaa ku jira maaddooyin sida Carabi, Ingiriisi, xisaab, saynis, cilmiga bulshada, iyo jirdhiska. Cilmi-baarista diinta Islaamka iyo Masiixiga ayaa sidoo kale qayb ka ah manhajka sida ay sheegtay wasaaradda waxbarashadu.
Daanta Galbeed iyo Marinka Qasa waxay wada leeyihiin 14 jaamacadood, 18 kulliyadood oo jaamacadeed, 20 kulliyadood oo bulshada ah, iyo dugsiyada 3,000. Jaamacadda Umadda ee An-Najah oo ku taal Nablus waa jaamacadda ugu weyn dalka, waxaa ku xiga Jaamacadda Al-Qudus ee Qudus iyo Jaamacadda Birzeit oo ku taal Birzeit oo u dhow Ramallah. Jaamacadda Al-Quds waxay ku guulaysatay qiimaynta 5-xiddigaha tayada tayada , waxaana lagu naanaysaa "jaamacadda ugu mas'uulka ah bulsho ahaan dunida Carabta ". Sannadkii 2018, Jaamacadda Birzeit waxaa lagu qiimeeyay mid ka mid ah 2.7% ugu sarreeya jaamacadaha adduunka oo dhan daabacaadda 2019 ee Qiimaynta Jaamacadda Adduunka
===Caafimaadka===
[[File:Beit Jala Hospital 002.jpg|thumb|Isbitaal ku yaal Beytlaxam]]
Sida laga soo xigtay Wasaaradda Caafimaadka Falastiiniyiinta (MOH), laga bilaabo 2017, waxaa jiray 743 xarumaha daryeelka caafimaadka aasaasiga ah ee Falastiin (583 ee Daanta Galbeed iyo 160 ee Gaza), iyo 81 isbitaallada (51 ee Daanta Galbeed, oo ay ku jiraan Bariga Jerusalem, iyo 30 ee Gaza). Cisbitaalka ugu weyn Daanta Galbeed waxa uu ku yaala Nablus, halka Al-Shifa Hospital uu ku yaalo Marinka Gaza.
Ka shaqaynta hoos imanaysa Ururka Caafimaadka Adduunka (WHO), Kooxda Caafimaadka ee dhulka Falastiiniyiinta la haysto (oPt) waxaa la aasaasay 2009 oo ka dhigan iskaashi ka badan 70 ururada maxaliga ah iyo kuwa caalamiga ah ee aan dawliga ahayn iyo hay'adaha Qaramada Midoobay oo bixiya qaab loogu talagalay jilayaasha caafimaadka ee ku lug leh jawaabta bini'aadantinimo ee oPt. Kooxda waxaa wada guddoominaya MOH si loo hubiyo in la waafajiyo siyaasadaha iyo qorshayaasha qaranka. Warbixinta Agaasimaha Guud ee WHO ee 1 May 2019 waxay qeexaysaa xaaladaha waaxda caafimaadka ee oPt ee tilmaamaya mudnaanta istaraatiijiga ah iyo caqabadaha hadda jira ee ku wajahan guulahooda iyada oo la raacayo istaraatiijiyadda iskaashiga dalka ee WHO iyo Dhulka Falastiiniyiinta ee la haysto 2017-2020.
==Dhaqanka==
[[File:Streets_of_Jerusalem_by_night_029_-_Aug_2011.jpg|thumb|Waddooyinka Magaalada Qadiimiga ah, Quddus Habeenkii Ramadaanta]]
Falastiiniyiinta asal ahaan iyo luqad ahaanba waxaa lagu tiriyaa inay ka mid yihiin dunida Carabta. Dhaqanka Falastiin ayaa saameyn culus ku yeeshay diinta, farshaxanka, suugaanta, qaab dhismeedka isboortiga, iyo shineemo. UNESCO waxay aqoonsatay dhaqanka Falastiiniyiinta. Bandhiga Falastin ee Suugaanta ( PalFest ) waxay isu keentaa qorayaasha Falastiiniyiinta iyo kuwa caalamiga ah, fannaaniinta, iyo fannaaniinta dabaaldega suugaanta iyo dhaqanka. Bandhiga Maalmaha Shineemooyinka Falastiin ee sanadlaha ah ayaa soo bandhiga filimada Falastiiniyiinta iyo filim sameeyayaasha.
Dhaqanka Falastiin waa isku-dhafka caadooyinka asaliga ah, caadooyinka Carabta, iyo dhaxalka boqortooyooyinkii kala duwanaa ee xukumay gobolka. Dhulka falastiin waxa uu goob joog ka ahaa xadaarado qadiimi ah sida Kancaaniyiinta, Falastiiniyiinta iyo Israa’iiliyiinta, mid walbana waxa uu wax ku soo kordhinayaa dhaqankiisa. Qabsashadii Carabtu ee qarnigii 7aad waxay keentay saamaynta Islaamka, taas oo tan iyo wakhtigaas laf dhabar u ahayd aqoonsiga Falastiin. Caadooyinka Islaamka, oo ay ku jiraan luqadda, farshaxanka, iyo naqshadaha, ayaa dhaqanka galiyay astaamo kala duwan.
Muujinta dhaqanka Falastiin waxay inta badan u adeegtaa qaab iska caabin ah oo ka dhan ah shaqada iyo dulmiga. Farshaxanka waddooyinka, sida shaqada Banksy ee Beytlaxam, iyo bandhig faneedka Falastiiniyiinta ee sannadlaha ah, Al-Mahatta, ayaa ah tusaalayaal caabbintan dhaqameed. Magaalada qadiimiga ah ee Jerusalem, oo leh goobaheedii diimeed sida gidaarka Galbeed , Masjidka Al-Aqsa , iyo Kaniisadda Qudduuska Qudduuska ah , waxay haysaa muhiimad dhaqameed iyo taariikheed oo baaxad leh. Goobaha kale ee dhaqameed ee caanka ah waxaa ka mid ah magaalada qadiimiga ah ee Yerixoo, goobta qadiimiga ah ee Sebastia , iyo magaalada Beytlaxam .
Tiro badan oo xarumo dhaqameed ayaa laga helaa dalka oo dhan, ku dhawaad dhammaan magaalooyinka waaweyn. 2009, Yeruusaalem waxaa loo magacaabay inay noqoto Caasimadda Dhaqanka ee Carabta , Beytlaxamna waxay ka qayb qaadatay Caasimadda Dhaqanka ee Carabta 2020.
===Dhismaha===
[[File:IHM רוואבי - Wadina.jpeg|thumb|Rawabi waa hoyga ugu weyn ee amphitheater Roman ee Bariga Dhexe.]]
Qaab dhismeedka Falastiin wuxuu ka kooban yahay dhaxal qani ah oo ka tarjumaya kala duwanaanshaha dhaqan iyo taariikheed ee gobolka. Taariikhda oo dhan, dhismaha Falastiiniyiinta waxaa saameeyay ilbaxnimooyin kala duwan, oo ay ku jiraan Islaamka , Byzantine , Crusader , iyo Ottoman . Dhismaha dhaqameed ee Falastiiniyiinta waxaa lagu gartaa isticmaalka qalabka maxaliga ah sida dhagaxa iyo farsamooyinka dhismaha dhaqameed. Qaabka qaabdhismeedku wuu ku kala duwan yahay gobollo kala duwan, oo leh astaamo muuqda oo ay ka mid yihiin albaabbada qadiimiga ah, qubanaha, iyo qaababka joomatari ee adag. Qaab dhismeedka Islaamku wuxuu ka tagay saameyn weyn dhismayaasha Falastiiniyiinta. Masaajidada , mowlacyada , iyo madarasadaha ayaa lagu soo bandhigay farshaxanno aad u qurux badan, oo leh tusaalooyin xusid mudan oo ay ka mid yihiin Masjidka Al-Aqsa ee Jerusalem iyo Masjidka weyn ee Nablus . Rawabi waa hoyga amphitheater-ka Roomaanka ee ugu weyn bariga dhexe iyo dunida carabta .
Falastiin waxay hoy u tahay dhowr dhisme oo Byzantine ah iyo Crusader. Kaniisadda Qudduuska Qudduuska ah ee Yeruusaalem, taas oo dib u soo celinaysa qarnigii 4aad, waa goob muhiim ah oo xaj ah. Qalcadda Crusader ee Krak des Chevaliers ee Golan Heights waa tusaale kale oo cajiib ah. Intii lagu jiray xilligii Cusmaaniyiinta, masaajidyo, daaro iyo dhismayaal dadweyne ayaa laga dhisay guud ahaan Falastiin. Halyeyga caanka ah ee Qubbada Dhagaxa ee Yeruusaalem waxa lagu sameeyay dib-u-habayn iyo dib-u-cusboonaysiin xilligii Cusmaaniyiinta, isaga oo soo bandhigay isku-dhafka Islaamka iyo walxaha dhismaha ee Byzantine.
Rasem Badran iyo Mohamed Hadid waa naqshad-yaqaan Falastiini ah oo caan ah. Sanadihii la soo dhaafay, qaab dhismeedka casriga ah ayaa ka soo baxay Falastiin, isaga oo isku daraya waxyaabo dhaqameed oo leh naqshado casri ah. Matxafka Falastiiniyiinta ee Birzeit , oo uu naqshadeeyay Heneghan Peng Architects , ayaa tusaale u ah isku-dhafkan, oo ku daraya motifs maxalliga ah iyo habdhaqanka dhismaha ee waara. Xarunta Shirarka Caalamiga ah ee Beytlaxam, waa qaab dhismeed caan ah oo muujinaya qaab-dhismeedka Falastiiniyiinta ee casriga ah. Dhisme kale oo xusid mudan waa Tiyaatarka Qaranka Falastiin ee Yeruusaalem. Qaybaha qaab dhismeedka casriga ah waxaa laga heli karaa xarumaha dukaamaysiga, hoteelada raaxada, jardiinooyinka tignoolajiyada iyo dhismooyinka dhaadheer ee dhaadheer. Taawarka ganacsiga Falastiin ee Ramallah waa dhismaha ugu dheer Falastiin.
===Farshaxan, muusig, iyo dhar===
[[File:Mohamamd_Assaf.jpg|thumb|Maxamed Assad]]
Muusigga dhaqameed ee Falastiin waxay si qoto dheer ugu xididaysan yihiin taariikhda iyo dhaqanka gobolka. Waxa ay ka kooban tahay qalab ay ka mid yihiin cuud (qalabka xadhkaha leh), qanuun (nooc ka mid ah xadhkaha) iyo qalabyada garaaca ee kala duwan. Heesaha hiddaha iyo dhaqanka waxay inta badan muujinayaan mawduucyada jacaylka, hilowga, iyo waayaha nolol maalmeedka. Fanaaniinta sida Mohammad Assaf , oo ku guulaystey tartanka Arab Idol, ayaa aqoonsi caalami ah ka helay qaab dhismeedka heesaha Falastiiniyiinta.
Dabke waa qaab qoob-ka-ciyaarka falastiiniyiinta oo caan ah oo ay weheliso muusig Muusigga firfircoon ee laxanka leh waxaa lagu gartaa adeegsiga mijwiz (Flute cawsduur), tablah (durbaan), iyo sacabka qoob-ka-ciyaarka. Heesaha Dabke waxaa inta badan lagu qaadaa aroosyada, xafladaha, iyo munaasabadaha dhaqanka, taasoo kobcisa dareenka bulshada iyo aqoonsiga la wadaago. Muusigga pop-ga Falastiin ayaa caan ka helay sannadihii ugu dambeeyay, isaga oo isku daraya walxaha casriga ah ee saamaynta dhaqameed. Fanaaniinta sida Mohammed Assaf, Amal Murkus , iyo Rim Banna ayaa wax ku biiriyay goobta pop-ga ee casriga ah iyaga oo wata habab gaar ah iyo codad xoog leh. Heesahoodu waxay ka hadlayaan mawduucyada shakhsi ahaaneed iyo kuwa siyaasadeed labadaba, iyaga oo la falcelinaya Falastiiniyiinta iyo dhagaystayaasha adduunka oo dhan.
[[File:Free_Palestine_-2_(53253567471).jpg|thumb|Caruurta falastiiniyiinta oo wata dhar dhaqameedkooda]]
Hip-hop-ka falastiiniyiinta ayaa u soo baxday sidii dhexdhexaadin awood leh oo lagu muujinayo xaqiiqooyinka iyo halganka ay wajahayaan Falastiiniyiinta. Farshaxannada sida DAM, Shadia Mansour , iyo Tamer Nafar waxay heleen aqoonsi caalami ah oo ku saabsan ereyada miyir-qabka ah ee bulshada, iyaga oo ka hadlaya mawduucyada sida shaqada, aqoonsiga, iyo iska caabinta. Falastiin Hip-hop waxay u adeegtaa nooc ka mid ah caabbinta dhaqameed, kor u qaadida codadka dhalinyarada Falastiiniyiinta. Rim Banna waxay ahayd heesaa falastiiniyiin ah oo caan ku ahayd codadkeeda ethereal iyo sida ay ugu heelan tahay ilaalinta muusiga reer Falastiin. Reem Kelani , oo ah fannaanad Falastiini ah oo fadhigeedu yahay Boqortooyada Ingiriiska, ayaa caan ku ah codkeeda xoogga badan iyo dib u tarjumiddeeda heesaha dhaqanka Falastiin. Dalal Abu Amneh waa heesaa iyo abwaan Falastiini ah oo caan ah
===Warbaahinta===
Waxaa jira tiro wargeysyo ah , wakaalado wararka iyo telefishinada Satellite-ka ee Falastiin . Wakaaladeeda wararka waxaa ka mid ah Wakaaladda Wararka Macaan , Wafa , iyo Shabakadda Wararka Falastiin. TV-ga Al-Aqsa , Al-Quds TV , iyo Sanabel TV ayaa ah kuwa ugu waaweyn ee baahiya satalaytka.
===Shineemo===
Soo saarista shineemo Falastiin waxay udub dhexaad u tahay Jerusalem, oo leh muuqaalo maxalli ah oo caan ah Ramallah, Beytlaxam, iyo Nablus.
Makram Khoury , Mohammad Bakri , Hiam Abbass , iyo Amal Murkus ayaa u soo baxay waji caan ah shaleemada Falastiin intii lagu jiray 1970-meeyadii iyo 1980-meeyadii. Areen Omari , Valantina Abu Oqsa , Saleh Bakri , Tawfeek Barhom , iyo Ashraf Barhom waxa ay caan noqdeen bartamihii 1990-meeyadii, halka Leem Lubany iyo Clara Khoury ay heleen sumcad tan iyo 2000 . Maqnaanshaha (1996), Faragelinta Rabbaaniga ah (2002), Jannada Hadda (2005), Waqtiga Hadhay (2009), iyo Cumar (2013).
Filim samaynta Documentary ayaa door weyn ka ciyaartay qabashada iyo diiwaan gelinta khibradda Falastiin. Filimada sida 5 Cameras jabay ee Emad Burnat iyo Guy Davidi ayaa helay amaano muhiim ah. Filim-sameeyayaasha Falastiin waxay inta badan la kulmaan caqabado gaar ah sababtoo ah xaaladda siyaasadeed ee gobolka, iyada oo filimo badan oo lagu sameeyay sharciyada iyo halganka shaqada. Bandhiga Filimada Falastiiniyiinta, oo sanad walba lagu qabto magaalooyin kala duwan oo adduunka ah, ayaa soo bandhiga shaleemada falastiiniyiinta waxayna siisaa madal loogu talagalay filim sameeyayaasha Falastiiniyiinta inay ku wadaagaan sheekadooda.
===Ciyaaraha===
[[File:East_Jerusalem_by_Mujaddara_-_panoramio_(3434).jpg|thumb|Faisal Al-Husseini International Stadium oo ku yaala Al-Ram , Jerusalem]]
Falastiin ayaa tan iyo sanadkii 1996-kii ka qeyb qaadaneysay Ciyaaraha Olombikada , iyadoo ciyaartooydu ay ku tartamayaan ciyaaro kala duwan oo ay ka mid yihiin ciyaaraha fudud, dabaasha, judo-ga iyo taekwondo-ga. Olimbikada Falastiin waxay u taagan yihiin qarankooda masraxa caalamiga ah. Dalku wuxuu xubin ka yahay guddiga Olombikada Adduunka. Kubadda cagta ka sokow, kubbadda koleyga, kubbadda gacanta, iyo kubbadda laliska ayaa sidoo kale ah ciyaaraha caanka ah ee Falastiin. Xiriirka Kubadda Koleyga ee Falastiiniyiinta iyo Xiriirka Kubadda Gacanta ee Falastiiniyiinta ayaa kormeera horumarinta iyo abaabulka ciyaarahan.
Kubadda cagta (kubadda cagta) waa isboortiga ugu caansan Falastiin , oo leh kooxda kubbadda cagta qaranka ee Falastiin oo matalaya gobolka kubbadda cagta caalamiga ah oo ay maamusho FIFA adduunka oo dhan. Koobka Falastiin waa tartanka ugu horeeya ee kubada cagta gudaha Falastiin. Waxay ka kooban tahay kooxo ka socda Daanta Galbeed iyo Marinka Qaza, guushana waxay u taagan tahay Falastiin koobka AFC . Garoonka caalamiga ah ee Faysal Al-Xuseeni , oo ku yaalla magaalada Qudus, ayaa u taagan sidii garoonka ugu weyn ee Falastiin. Waxay u adeegtaa sidii garoonkii kooxda kubbadda cagta qaranka. Garoomada kale ee caanka ah waxaa ka mid ah Dora International Stadium ee Hebron, Garoonka Falastiin ee Gaza iyo Nablus Football Stadium ee Nablus.
Mohammed Hamada waa miisaan-qaadihii ugu horreeyay ee Falastiin, kaasoo ku guuleystay dahab 2022 International Weightlifting Federation International Championship Junior World Championship
==Tixraac==
[https://press.un.org/en/2024/sc15670.doc.htm "Golaha Ammaanku wuu ku guul daraystay inuu soo jeediyo in Qaramada Midoobay ay si buuxda uga mid noqoto dawladda Falastiin, iyada oo ay ugu wacan tahay diidmada qayaxan ee Maraykanku] {{Wayback|url=https://press.un.org/en/2024/sc15670.doc.htm |date=20240423110923 }}
[https://english.wafa.ps/Pages/Details/140699#:~:text=ActionAid%3A%20Conditions%20in%20Rafah%20at,over%20one%20million%20displaced%20people "ActionAid: Xaaladaha Rafah oo ah meesha burbursan, oo ay ku nool yihiin in ka badan hal milyan oo qof"]
[https://www.npr.org/2024/05/24/g-s1-741/rafah-gaza-israel-hamas-war "Ku dhawaad 1 milyan oo falastiiniyiin ah ayaa ka qaxaya Rafah iyo waqooyiga Gaza"]
[https://reliefweb.int/report/occupied-palestinian-territory/opt-west-bank-and-gaza-strip-population-census-2007-briefing OPT: Tirakoobka Dadweynaha ee Daanta Galbeed iyo Marinka Gaza ee 2007]
[https://unstats.un.org/unsd/demographic/products/dyb/dyb2012/Table03.pdf "Shaxda 3, Tirada dadka ee jinsiga, heerka korodhka dadweynaha ee sanadlaha ah, bedka dhulka iyo cufnaanta"]
[https://www.ipcinfo.org/fileadmin/user_upload/ipcinfo/docs/IPC_Gaza_Strip_Acute_Food_Insecurity_Malnutrition_July_Sept2025_Special_Snapshot.pdf "GAZA STRIP: Macaluul ayaa laga xaqiijiyey Gobolka Gaza, oo la saadaaliyey inay sii fidi doonto | 1 Luulyo - 30 Sebtembar 2025"]
[https://web.archive.org/web/20250220090442/https://www.un.org/unispal/document/un-special-committee-press-release-19nov24/ "Xasuus ayaa ka dhacaya indhahayaga hortooda: Taariikhdu ma cafin doonto waxqabad la'aantayada, Guddiga Gaarka ah ee Qaramada Midoobay ayaa ka digay warbixintii guddiga 4-aad ee Golaha Guud]
[https://press.un.org/en/2024/gapal1473.doc.htm 'Waa Muhiim in Xasuuqa loogu yeero Xasuuq', Ka fiirso in la laalo aqoonsiga Israa'iil oo ah dal xubin ka ah Qaramada Midoobay, Khubaradu waxay u sheegeen Guddiga Xuquuqda Falastiin] {{Wayback|url=https://press.un.org/en/2024/gapal1473.doc.htm |date=20241105122046 }}
[https://www.latimes.com/archives/la-xpm-1993-09-10-mn-33546-story.html Israa'iil iyo PLO, ee Bid Taariikhiga ah ee Nabadda, waxay ku heshiiyaan aqoonsiga labada dhinac: Mideast: Ka dib tobanaan sano oo colaad ah, heshiisku wuxuu hoosta ka xariiqayaa u diyaargarowga labada dhinac ee ah inay wada noolaadaan.]
[https://web.archive.org/web/20160303200844/http://www.law.virginia.edu/html/news/2005_fall/gaza.htm "Guddiyeyaashu waxay isku khilaafeen Xaaladda la wareegidda Gaza"]
[https://apnews.com/article/palestinians-death-toll-war-health-ministry-816d592952814db869924f9626ca8876 In ka badan 60,000 oo Falastiiniyiin ah ayaa lagu dilay dagaalka 21-ka bilood ah ee Israel iyo Xamaas, sida ay sheegtay Wasaaradda Caafimaadka ee Gaza]
[http://www2.ohchr.org/english/bodies/cerd/docs/CERD.C.ISR.CO.14-16.pdf Tixgelinta warbixinnada ay soo gudbiyaan xisbiyada Dawladdu sida waafaqsan qodobka 9 ee Axdiga]
[https://www.un.org/unispal/document/oic-committee-of-six-on-palestine-considers-launching-global-action-to-support-the-rights-of-the-palestinian-people-and-end-the-occupation-press-release-non-un-document/ "Guddiga OIC ee Lixda Falastiin waxay tixgelinayaan bilaabista Tallaabo caalami ah si ay u taageeraan xuquuqda dadka Falastiiniyiinta iyo joojinta shaqada - War-saxaafadeed (Dukumenti aan UN-ka ahayn)"]
[https://tamilnation.org/tamileelam/shankarrajee "Xiriir gaar ah la yeelo Madaxweynihii hore ee Falastiin Yaasir Carafaat] {{Dead link|date=Bisha Sagaalaad 2026 |bot=InternetArchiveBot |fix-attempted=yes }}
[https://www.icc-cpi.int/Pages/item.aspx?name=pr1083 "Xeer-ilaaliyaha Maxkamadda Caalamiga ah ee Dambiyada, Fatou Bensouda, ayaa furaysa baaritaan horudhac ah oo ku saabsan xaaladda Falastiin"]
[https://undocs.org/A/RES/70/225 Madax-bannaanida Joogtada ah ee dadka Falastiiniyiinta ah ee ku nool dhulka la haysto ee Falastiin, oo ay ku jirto Bariga Jerusalem, iyo dadka Carabta ah ee ku nool Golan Suuriya ee la haysto ee ku saabsan kheyraadkooda dabiiciga ah A/RES/70/225]
[https://www.un.org/News/Press/docs/2012/ga11317.doc.htm "Qaramada Midoobay Golaha Guud ee Toddoba iyo Lixdan: Golaha Guud ee Guud, Kulamada 44aad & 45aad (PM & Habeenkii). GA/11317: Golaha Guud wuxuu si aqlabiyad ah ugu codeeyay in Falastiin 'Xaaladda Kormeerayaasha aan Xubin ka ahayn' ee Qaramada Midoobay"]
[https://www.independent.co.uk/news/world/middle-east/israel-defies-un-after-vote-on-palestine-with-plans-for-3000-new-homes-in-the-west-bank-8372494.html "Israa'iil ayaa diidday Qaramada Midoobay ka dib markii ay u codaysay Falastiin iyadoo qorsheynaysa 3,000 oo guri oo cusub oo ku yaal Daanta Galbeed]
[https://apnews.com/article/un-resolution-palestinians-membership-rights-us-assembly-875560e897f27d6600090420f36404e4 "Golaha Qaramada Midoobay ayaa ansixiyay qaraar siinaya Falastiin xuquuq cusub iyo dib u soo nooleynta xubinnimadeeda Qaramada Midoobay"]
[https://www.alquds.edu/en/news/staff-news/38806/al-quds-university-wins-a-five-star-rating-in-all-qs-international-indicators-as-the-first-university-in-the-history-of-palestinian-higher-education/ "Jaamacada Al-Quds waxay ku guulaysatay Qiimaynta Shanta Xiddig ee dhammaan QS International tilmaamayaasha sida Jaamacaddii ugu horeysay ee Taariikhda Waxbarashada Sare ee Falastiin"]
[https://www.aljazeera.com/sports/2024/1/29/palestine-bow-out-of-asian-cup-after-spirited-display-against-qatar "Falastiin ayaa ka hartay koobka Asia ka dib markii ay soo bandhigeen ciyaar aad u xiiso badan oo ay la ciyaareen Qatar]
[https://www.onlinebettingacademy.com/stats/venue/palestine/faisal-al-husseini-international-stadium/7829 "Faisal Al-Husseini International Stadium | Falastiin, Falastiin, Jabal Al Mukaber, Shabab Al Am'ari, Hilal Al-Quds • Stats"]
[https://www.aljazeera.com/features/2024/8/11/the-gaza-man-a-palestinians-quest-to-make-it-to-the-olympics "Ninka Gaza: Doonista Falastiiniyiinta si ay ugu soo baxdo Olombikada Paris"]
[https://www.nli.org.il/he/maps/NNL_ALEPH990038051210205171/NLI#$FL27975722 "Khariidadda gobolka Hebron oo ay soo saartay Sahanka Falastiin, oo muujinaya dhismaha 'El Moskobiya'] {{Wayback|url=https://www.nli.org.il/he/maps/NNL_ALEPH990038051210205171/NLI#$FL27975722 |date=20240525051131 }}
[https://www.pcbs.gov.ps/portals/_pcbs/PressRelease/Press_En_Preliminary_Results_Report-en.pdf#page=14.67 "Natiijooyinka horudhaca ah ee Tirakoobka Dadweynaha, Guryaha iyo Dhismaha, 2017"]
[https://thewire.in/world/trapped-in-indefinite-exile-the-history-of-palestinian-refugees-over-last-seven-decades "Ku xayiran masaafuris aan xad lahayn: Taariikhda Qaxootiga Falastiiniyiinta Todobaatankii sano ee la soo dhaafay"]
[https://www.fifa.com/football-development/fifa-forward/news/origin1904-p.cxm.fifa.com/palestinian-football-set-for-the-future-with-refreshed-stadium-and-new-modern-fa "Kubadda cagta Falastiin ayaa loo dejiyay mustaqbalka oo leh garoon dib loo cusbooneysiiyey iyo qalab cusub oo casri ah"]
[https://www.pcbs.gov.ps/statisticsIndicatorsTables.aspx?lang=en&table_id=676 "Qiyaastii dadka reer Falastiin badhtamihii sanadka ee maamul goboleedka, 1997-2026"]{{reflist}}
{{western Asia}}
812fvtvwmg6m8b6oz4k4mpzn7poi7m5
Soomaaliya
0
36928
310850
307980
2026-10-25T10:39:02Z
Isma4l
41797
/* */
310850
wikitext
text/x-wiki
'''Soomaaliya''', sida rasmiga ah Jamhuuriyadda '''Federaalka Soomaaliya''' waa dalka bari ee qaaradda Afrika . Waxay ku fidsan tahay Geeska Afrika , waxay xad la wadaagtaa [[Itoobiya]] galbeed, [[Jabuuti]] waqooyi galbeed, [[Kenya]] dhanka koonfur galbeed, Gacanka Cadmeed oo waqooyi, iyo bari [[badweynta Hindiya]] . Soomaaliya waxay leedahay xeebta ugu dheer badweynta Afrika. Soomaaliya waxaa lagu qiyaasaa 18.1 milyan, kuwaas oo 2.7 milyan ay ku nool yihiin caasimadda iyo magaalada ugu weyn ee [[Muqdisho]] . Mid ka mid ah wadamada Afrika ee isku isir ahaan isku hayb ah, ku dhawaad 85% dadka Soomaaliya deggan waa qowmiyad Soomaali ah . Luuqadaha rasmiga ah ee dalka waa [[Af Soomaali|af-soomaali]] iyo [[carabi]] in kastoo [[Af Soomaali|af-soomaaligu]] yahay luuqadda koowaad . Soomaaliya waxay xiriir taariikhi ah iyo mid diimeed la leedahay dalalka Carabta . Dadku waa muslimiin , oo raacsan laanta sunniga .
{{Infobox country
| conventional_long_name = Somalia
| common_name = Somalia
| native_name = {{native name|so|Jamhuuriyadda Federaalka Soomaaliya}}<br />{{native name|ar|جمهورية الصومال الفيدرالية|italics=off}}<br />
Jumhūriyah aṣ-Ṣūmāl al-Fīdirāliyah
| image_flag = Flag of Somalia.svg
| image_coat = Coat of arms of Somalia.svg
| coa_size = 100
| languages2_type = Luuqada labaad
| languages2 = [[Carabi]]
| national_anthem = {{lang|so|[[Qolobaa Calankeed]]}}<br /><br /><div style="display:inline-block;margin-top:0.4em;">[[File:Somalian national anthem, performed by the United States Navy Band.oga]]</div>
| image_map = {{Switcher|[[File:Somalia_svg_map.svg|frameless]]<br />{{Legend|#336830|Dhulka gacanta lagu hayo}}{{Legend|#61E760|[[Somaliland|Dhul sheegta balse aan la xakameyn]]}}|Muuji adduunka|[[File:Somalia - Location Map (2011) - SOM - UNOCHA.svg|frameless]]|Muuji khariidadda Soomaaliya|default=1}}
| capital = [[Muqdisho]]
| coordinates = {{Coord|2|2|N|45|21|E|type:city}}
| largest_city = [[Muqdisho]]
| official_languages = {{hlist|[[Af Soomaali|Soomaali]] <ref name=MFA>{{cite web|url=https://web.mfa.gov.so/the-government/|title=The Government|publisher=Ministry of Foreign Affairs & International Cooperation|access-date=27 February 2025}}</ref><ref name=Ali>{{cite book|last=Ali|first=Maryan|title=The Palgrave Handbook of Language Policies in Africa|editor1-first=Esther Mukewa|editor1-last=Lisanza|editor2-first=Leonard|editor2-last=Muaka|chapter=Language Policy in Somaliland and Somalia|publisher=Palgrave Macmillan|location=Cham|year=2024|isbn=9783031573071|doi=10.1007/978-3-031-57308-8_24|pages=511–524}}</ref><ref name="factbook">{{cite web |title=Somalia |url=https://www.cia.gov/the-world-factbook/countries/somalia |website=The World Factbook |publisher=Central Intelligence Agency |language=en |date=10 November 2021 |access-date=24 January 2021 |archive-date=25 January 2021 |archive-url=https://web.archive.org/web/20210125103534/https://www.cia.gov/the-world-factbook/countries/somalia/ |url-status=live }}</ref>}}
| religion = [[Islaam|Sunni Islaam]] (Rasmiga ah)<ref name="factbook"/> <!-- check factbook references before changing! -->
| demonym = [[Soomaalida|Soomaali]] <ref name="factbook"/>
| government_type = [[Baarlamaanka Federaalka Soomaaliya|Jamhuuriyadda baarlamaanka Federal]]
| leader_title1 = [[Madaxwaynaha Soomaaliya|Madaxwaynaha]]
| leader_name1 = [[Xasan Sheekh Maxamuud]]
| leader_title2 = [[Baarlamaanka Federaalka Soomaaliya|Ra'iisul Wasaare]]
| leader_name2 = [[Xamse cabdi barre]]
| legislature = [[Ra'iisul wasaarayaashii Soomaaliya|Baarlamaanka Federaalka]]
| upper_house = [[Aqalka Sare ee Baarlamaanka Federaalka Soomaaliya|Guurtida]]
| lower_house = Golaha Shacabka
| sovereignty_type =Dhisidda
| established_event1 = [[Dhul Udug]]
| established_date1 = 2350 BC
| established_event2 = [[Macrobians|Macrobia]]
| established_date2 = 980 BC
| established_event3 = [[Barbaria (region)|Barbaria]]
| established_date3 = 100 BC
| established_event4 = [[Saldanadii Cadal]]
| established_date4 = Qarniga 9aad <ref>{{Cite book |last=Lewis |first=I. M. |url=https://books.google.com/books?id=Cd0mAQAAMAAJ |title=Peoples of the Horn of Africa: Somali, Afar and Saho |date=1969 |publisher=International African Institute |pages=140 |language=en}}</ref>
| established_event5 = [[Muqdisho|Saldanadii Muqdisho]]
| established_date5 = Qarniga 10aad
| established_event6 = [[Saldanadi Ifat]]
| established_date6 = Qarniga 13aad
| established_event7 = [[Saldanadii Ajuuraan]]
| established_date7 = Qarniga 13aad
| established_event8 = [[Hiraab|Hiraab Imamate]]
| established_date8 = Qarniga 16aad
| established_event9 = [[Geledi|Saldanadii Geledi]]
| established_date9 = 1695–1911
| established_event10 = [[ Majeerteen |Saldanadii Majeerteen]]
| established_date10 = 1648–1927
| established_event11 = [[Hobyo|Saldanadii Hobyo]]
| established_date11 = 1878–1927
| established_event12 = [[Isimtooyada Isaaq|Saldanadii isaaq]]
| established_date12 = 1749–1884
| established_event13 = [[Dhulka Biritishka ee Somaliland|Somaliland-kii Ingiriiska]]
| established_date13 = 1884
| established_event14 = [[Mustacmarka Talyaani Soomaaliya|Somaliland-kii Talyaaniga]]
| established_date14 = 1889
| established_event15 = [[Maalinta Madaxbanaanida Soomaaliya|Xorriyadda]] iyo midowga la leh [[Dawladii Somaliland (1960)|Dawlada Somaliland]]
| established_date15 = 1 July 1960
| established_event16 = [[Dastuurka Soomaaliya|Dastuurka hadda jira]]
| established_date16 = 1 Ogosto 2012
| area_km2 = 637,657<ref name="factbook"/>
| area_rank = 43aad <!--should be same as listed on [[List of countries and dependencies by area]]-->
| area_sq_mi = 246,200 <!--Do not remove per [[WP:Manual of Style/Dates and numbers]]-->
| percent_water =
| population_estimate = 19,280,850<ref name="data.humdata.org">{{Cite web |title=OCHA Somalia - Subnational Population Statistics |url=https://data.humdata.org/dataset/cod-ps-som}}</ref>
| population_estimate_year = 2025
| population_estimate_rank = 66aad
| population_density_km2 = 27.2<ref name="WPP_2022">{{cite web|url=https://population.un.org/wpp/Download/Standard/MostUsed/|title=United Nations, Department of Economic and Social Affairs, Population Division (2022). World Population Prospects |edition=online |publisher=United Nations, Department of Economic and Social Affairs, Population Division|website=population.un.org|access-date=16 July 2022|archive-date=11 July 2022|archive-url=https://web.archive.org/web/20220711213112/https://population.un.org/wpp/Download/Standard/MostUsed/|url-status=live}}</ref>
| population_density_sq_mi = 41.73 <!--Do not remove per [[WP:Manual of Style/Dates and numbers]]-->
| population_density_rank =
| GDP_PPP = {{increase}} $34.118 bilyan<ref name="auto">{{cite web |title=Somalia – IMF DataMapper |url=https://www.imf.org/external/datamapper/profile/SOM |website=imf.org |publisher=[[IMF]] |date=April 2026 |access-date=July 8, 2026}}</ref>
| GDP_PPP_year = 2026
| GDP_PPP_rank = 147aad
| GDP_PPP_per_capita = {{increase}} $1,965<ref name="auto"/>
| GDP_PPP_per_capita_rank = 179aad
| GDP_nominal = {{increase}} $14.174 bilyan<ref name="auto"/>
| GDP_nominal_year = 2026
| GDP_nominal_rank = 145aad
| GDP_nominal_per_capita = {{increase}} $813<ref name="auto"/>
| Gini = 36.8<!--number only-->
| Gini_year = 2017
| Gini_change = <!--increase/decrease/steady-->
| Gini_ref = <ref>{{cite web|url=https://www.cia.gov/the-world-factbook/field/gini-index-coefficient-distribution-of-family-income/country-comparison/|title=Gini Index coefficient|publisher=[[The World Factbook]]|access-date=24 September 2024|archive-date=17 Bisha Todobaad 2021|archive-url=https://web.archive.org/web/20210717071854/https://www.cia.gov/the-world-factbook/field/gini-index-coefficient-distribution-of-family-income/country-comparison|url-status=dead}}</ref>
| Gini_rank =
| HDI = <!--number only-->0.404
| HDI_year = 2023<!-- Please use the year to which the data refers, not the publication year-->
| HDI_change = increase <!--increase/decrease/steady-->
| HDI_ref = <ref name="UNHDR">{{Cite web |date=6 May 2025 |title=Human Development Report 2025 |url=https://hdr.undp.org/system/files/documents/global-report-document/hdr2025reporten.pdf|url-status=live |archive-url=https://web.archive.org/web/20250506051232/https://hdr.undp.org/system/files/documents/global-report-document/hdr2025reporten.pdf |archive-date=6 May 2025 |access-date=6 May 2025 |publisher=[[United Nations Development Programme]]}}</ref>
| HDI_rank = 192aad
| currency = [[Shilin Soomaali|Soomaali shillin]]
| currency_code = SOS
| time_zone = [[East Africa Time|EAT]]
| utc_offset = +3
| utc_offset_DST =
| time_zone_DST =
| drives_on = Sax
| calling_code = [[+252]]
| cctld = [[.so]]
| ethnic_groups = {{plainlist|
* [[Soomaalida|Soomaali]]: 85%
* [[Tirakoobka daljoogaha Soomaaliya|Kuwa kale ]]: 15%
}}
| ethnic_groups_ref = <ref name="factbook"/><ref>{{Cite book|last=Lewis|first=I. M.|url=https://books.google.com/books?id=k3QwAQAAIAAJ|title=Peoples of the Horn of Africa: Somali, Afar, and Saho|date=1998|publisher=Red Sea Press|isbn=978-1-56902-104-0|language=en}}</ref>
| ethnic_groups_year = 2021
}}
Waagii hore, Soomaaliya waxay ahayd xarun ganacsi oo muhiim ah. Intii lagu guda jiray qarniyadii dhexe, dhowr boqortooyo oo xoog badan ayaa ka talinayay ganacsiga gobolka, oo ay ku jiraan [[Saldanadii Ajuuraan|Suldaanka Ajuran]] , [[Adal Sultanate]] , iyo Suldaanka Geledi . Dabayaaqadii qarnigii 19-aad, suldaanadii Soomaaliyeed waxa gumaystay boqortooyadii [[Talyaaniga]] iyo [[Ingiriiska]] kuwaas oo dhammaan dhulalkaas qabyaaladda isugu daray laba gumaysi oo kala ah : Somaliland-kii Talyaaniga iyo [[Dhulka Biritishka ee Somaliland|Somaliland-kii Ingiriiska]] . 1960kii, labada dhul ayaa midoobay si ay u dhistaan Jamhuuriyad Soomaaliyeed oo madax bannaan oo hoos timaada dowlad rayid ah. Siyaad Barre oo ka tirsanaa Golaha Sare ee Kacaanka (SRC) ayaa xukunka la wareegay 1969-kii, wuxuuna aasaasay [[Jamhuuriyadda Dimuqraadiga Soomaaliya|Jamhuuriyaddii Dimuqraadiga]] ahayd ee Soomaaliya , isagoo isku dayay inuu si naxariis darro ah u burburiyo Dagaalkii Madax-bannaanida [[Soomaaliland|Somaliland]] ee waqooyiga dalka. SRC waxay burburtay 1991 markii uu bilaabmay dagaalkii sokeeye ee Soomaaliya . Dawladdii ku meel gaadhka ahayd ee Soomaaliya (TNG) waxaa la aas aasay 2000, ka dibna waxaa la dhisay dawladda ku meel gaadhka ah ee Soomaaliya (TFG) 2004tii, taasoo dib u soo celisay ciidamadii qalabka sida ee Soomaaliya .
Dhamaadkii 2006dii, duullaan ay Xabashida Maraykanku dabada ka riixayeen ayaa afgambiyay Maxkamadihii Islaamiga ahaa (ICU), taasoo keentay in ay dawladda ku meel gaadhka ah ee [[Muqdisho]] ka dhisto Muqdisho oo ay ciidammada Itoobiya qabsadeen . Kacdoonkii xigay ee soo shaac baxay ayaa maxaakiimta u kala jabay jabhado kala duwan, oo ay ku jirto kooxda xagjirka ah ee [[al-Shabaab]] , kuwaas oo dagaal daba dheeraaday kula jiray ciidamada Itoobiya. Al-Shabaab waxay markiiba bilawday inay xaqiijiso in ay ka talinayso dhuleed markii ugu horaysay, iyadoo dabayaaqadii 2008 ay jabhadu ka saartay ciidamada Itoobiya inta badan Soomaaliya. Sannadkii 2009, dawlad cusub oo TFG ah ayaa la dhisay. Bartamihii 2012, al-Shabaab waxay lumisay inta badan dhulalkeeda intii ay socdeen dagaalladii ka dhanka ahaa TFG iyo [[ciidamada Midowga Afrika]] . Isla sanadkaas, al-Shabaab waxay ballan-qaadday inay la midoobayaan al-Qaacida . Muqaawamada ayaa weli gacanta ku haysa inta badan bartamaha iyo koonfurta Soomaaliya, waxayna saameyn ku leeyihiin meelaha ay dowladdu maamusho, iyadoo magaalada Jilib ay u tahay caasimadda u ah fallaagada. Dastuur cusub oo ku meel gaar ah ayaa la ansixiyay Agoosto 2012, dib u habeyn lagu sameeyay Soomaaliya sida federaal . Isla bishaas, waxaa la dhisay Dowladda Federaalka Soomaaliya , waxaana dib u dhis lagu sameeyay Muqdisho.
Soomaaliya waxa ay ka mid tahay dalalka ugu horumarsan caalamka, waxaana daliil u ah sida ay u qiimeeyeen mitirka mitirka sida GDP qofkiiba iyo halka ay ku dhowdahay halka ugu hooseysa ee Tilmaanta Horumarinta Aadanaha , waxa ay ka sareysaa oo kaliya Koonfurta Suudaan . Waxay ilaalisay dhaqaale aan rasmi ahayn oo inta badan ku salaysan xoolaha nool, xawaaladaha Soomaalida ee dibadda ka shaqeeya iyo isgaarsiinta. Waa xubin ka tirsan Qaramada Midoobay , [[Jaamacada Carabta|Jaamacadda Carabta]] , Midowga Afrika , Dhaqdhaqaaq aan Isbahaysi ahayn , Bulshada Bariga Afrika , iyo Ururka [[Islaam|Iskaashiga Islaamka]]
==Asalka erayga==
Samaale, oo ah awoowaha ugu da'da weyn dhowr qabiil oo Soomaaliyeed, ayaa guud ahaan loo tixgeliyaa inuu yahay halka uu ka soo jeedo magaca Soomaali. Aragti kale ayaa ah in magaca loo haysto inuu ka soo jeedo ereyada "soo" iyo "maal", kuwaas oo marka la isu geeyo macnahoodu yahay "tag" iyo "caano". Fasiraaddani way kala duwan tahay iyadoo ku xiran gobolka, iyadoo Soomaalida waqooyi ay tilmaamayso inay ula jeedaan "tag iyo caano" oo la xiriira caanaha geela, halka Soomaalida koonfureed ay adeegsadaan tarjumaadda "sa' maal" oo tilmaamaysa caanaha lo'da. Tani waxay tilmaan u tahay xoolo-dhaqatada meel walba leh ee dadka Soomaaliyeed. Aragtiyo kale ayaa soo jeedinaya in ereyga Soomaali uu ka yimid erey Carabi ah oo macnihiisu yahay "hodan", taas oo mar kale tilmaamaysa hodantinimada Soomaalida ee xoolaha.
Taa beddelkeeda, magaca Soomaaliga waxaa la rumeysan yahay inuu ka yimid Automoli (Asmach), oo ahayd koox dagaalyahanno ah oo ka timid Masar hore, kuwaas oo uu ku tilmaamay Herodotus. Asmach waxaa loo maleynayaa inuu ahaa magacooda Masaariga, halka Automoli uu yahay asal Giriig ah oo ka yimid ereyga Cibraaniga ah ee S'mali (macnaha "dhinaca bidixda").
Dukumeenti Shiinees ah oo laga soo xigtay qarnigii 9-aad Miilaadiga ayaa tilmaamaya xeebaha waqooyiga Soomaaliya, oo markaas ka mid ahaa gobolka ballaaran ee Waqooyi-bari Afrika ee loo yaqaan Barbaria, iyada oo loola jeedo dadka deggan Barbars (Kuushitik) ee deegaanka, sida Po-pa-li.
Tixraac qoraaleedkii ugu horreeyay ee cad ee magaca Soomaalida wuxuu soo bilaabmay horraantii qarnigii 15-aad Miilaadiga xilligii boqortooyadii Itoobiya ee Isxaaq I, kaas oo mid ka mid ah saraakiisha maxkamaddiisu qoray hees uu ugu dabaaldegayo guushii milatari ee ay ka gaareen Saldanadda Ifat. Simur wuxuu kaloo ahaa magac Harari qadiimi ah oo loogu yeeri jiray dadka Soomaaliyeed.
Soomaalidu waxay si weyn u door bidaan ereyga "Soomaali" marka loo eego "Soomaaliga", maadaama kan hore uu yahay halqabsi, halka kan dambe uu yahay qaab laba-jibbaaran ah.
Ereyga af-Soomaaliga marka laga eego juqraafi-siyaasadeed ahaan waxaa loola jeedaa dadka Horn of Africa, kuwaas oo ka tirsan qowmiyadda Kuush.
==Taariikhda==
===Taariikhda ka hor===
[[File:Laas Geel single cow.jpg|thumb|Farshaxanka Neolithic ee dhismaha Laas Geel oo muujinaya sac gees-dheer]]
Soomaaliya waxay u badan tahay inay ka mid ahayd dhulkii ugu horreeyay ee ay dageen bini'aadam hore, iyadoo loo eegayo meesha ay ku taal. Ugaarsadayaasha oo hadhow Afrika ka haajiray waxay u badan tahay inay halkan degeen ka hor intaanay guurin. Intii lagu jiray xilligii dhagaxa, dhaqamada Dooyan iyo reer Hargeysa ayaa halkan ku soo barbaaray. Caddaynta ugu da'da weyn ee caadooyinka aaska Geeska Afrika waxay ka timid qabuuraha Soomaaliya ilaa qarnigii 4aad ee BC. Qalabka dhagaxa ah ee laga soo qaaday goobta Jaleelo ee waqooyiga ayaa sidoo kale lagu tilmaamay 1909 inay yihiin farshaxanno muhiim ah oo muujinaya caalimnimada qadiimiga ah inta lagu jiro Paleolithic ee u dhexeeya Bariga iyo Galbeedka.
Sida laga soo xigtay khubarada afafka, dadkii ugu horreeyay ee ku hadla Afafka ayaa yimid gobolka intii lagu jiray xilligii Neolithic ee xigay oo ka yimid qoyska urheimat ee la soo jeediyay ("Dhulka asalka ah") ee dooxada Niil , ama Bariga dhow .
Dhismaha Laas -geel oo ku yaalla duleedka magaalada Hargeysa ee Waqooyi-galbeed Soomaaliya ayaa soo jirtay qiyaastii 5,000 oo sano, waxaana ku yaalla farshaxanno dhagax ah oo muujinaya xayawaanka duur-joogta ah iyo lo'da la qurxiyay. Sawirro kale oo godad ah ayaa laga helay gobolka Dhambalin ee woqooyiga , kaas oo ka muuqda mid ka mid ah sawirradii ugu horreeyay ee loo yaqaan ugaarsiga fardaha. Farshaxanka dhagaxa waxa uu taariikhdiisu ahayd 1,000 ilaa 3,000 BCE. Intaa waxaa dheer, inta u dhaxaysa magaalooyinka Laas-Khorey iyo Ceel Ayo ee waqooyiga Soomaaliya waxaa ku taal Karinhegane , oo ah goobta lagu sawiray godad fara badan, kuwaas oo wadar ahaan lagu qiyaasay ilaa 2,500 oo sano
Geela waxa la rumaysan yahay in uu ku dhaqmi jiray gobolka Geeska intii u dhaxaysay qarnigii 2aad iyo 3aad ee BC. Halkaa waxa ay ku fiday Masar iyo Maghrib .
===Waagii qadiimiga iyo qadiimiga ahaa===
[[File:Men from Punt Carrying Gifts, Tomb of Rekhmire MET 30.4.152 EGDP013029.jpg|thumb|Rag reer Punt ah oo sita hadiyado, Qabriga Rekhmire .]]
Dhismayaasha Ahraamta qadiimiga ah , Mowlacyo , magaalooyin burburay iyo gidaaryo dhagax ah, sida darbigii Wargade , waxay daliil u yihiin ilbaxnimo hore oo ka hanaqaadi jirtay gayiga Soomaaliyeed. Ilbaxnimadani waxay ku naaloonaysay xidhiidh ganacsi oo ay la lahayd Masar hore iyo Giriiggii Mycenaean tan iyo qarnigii labaad ee BC . Puntites oo u dhashay gobolka waxay ka ganacsan jireen malmalka , xawaashka, dahabka, eboniga, lo'da gees-gaaban, fool-maroodi iyo fooxa oo ay la socdeen Masaarida, Finiisiyaanka, Baabiliyiinta, Hindida, Shiinaha iyo Roomaanka iyaga oo u maraya dekedahooda ganacsi. Duulaan Masri ah oo ay u soo dirtay boqortooyadii 18-aad ee boqorad Hatshepsut ayaa lagu duubay macbudka Deir el-Bahari , xilligii boqortooyadii Boqorka Puntite Parahu iyo Queen Ati.
Waagii qadiimiga ahaa , Macrobiyaanka , oo laga yaabo in ay awoow u ahaayeen Soomaalida, ayaa aasaasay boqortooyo awood leh oo ka talinaysay qaybo badan oo ka mid ah Soomaaliya casriga ah. Waxaa lagu magacaabi jiray cimrigooda iyo maalkooda, waxaana la sheegay inay ahaayeen kuwa ugu dheer oo ugu quruxda badan ragga oo dhan. Macrobiyadu waxay ahaayeen dagaalyahanno xoolo-dhaqato ah iyo badmaaxayaal. Sida laga soo xigtay xisaabta Herodotus, Imbaraadoorkii Faaris Cambyses II , markii uu qabsaday Masar 525 BC, wuxuu u diray safiirro Macrobia, isagoo u keenay hadiyado qaali ah boqorka Macrobiya si uu u soo gudbiyo. Hogaamiyihii Macrobiya oo lagu doortay dhererkiisa iyo quruxdiisa, waxa uu taa beddelkeeda kaga jawaabay loolan uu dhiggiisa Beershiya uga dhigay qaanso aan xidhnayn: haddii Faaris ay awoodaan in ay sawiraan, waxa ay xaq u yeelan lahaayeen in ay dalkiisa ku soo duulaan; laakiin ilaa iyo markaas, waa in ay u mahad naqayaa ilaahyada in Macrobians waligood go'aansan in ay ku duulaan boqortooyadooda. Macrobians-ku waxay ahaayeen awood gobol oo lagu asteeyay qaab-dhismeedkooda horumarsan iyo hantidooda dahabka ah , taas oo aad u badan oo ay maxaabiistooda ku xidheen silsilado dahab ah.
Inta lagu jiro xilliga qadiimiga ah, gobollada Barbara ee Mosylon , Opone , Mundus , Isis , Malao , Avalites , Essina , Nikon iyo Sarapion waxay sameeyeen shabakad ganacsi oo faa'iido leh, oo ku xiran ganacsato ka timid Ptolemaic Masar , Giriiggii hore , Fenisiya , Parthian Persian , Boqortooyadii Roomaanka , Boqortooyada Saban , Nabata . Waxay isticmaali jireen markabkii qadiimiga ahaa ee badda Soomaaliya ee loo yaqaanay beden si ay shixnadooda u daabulaan.
[[File:Beden.jpg|thumb|Beden waa mid dheereeya, oo qadiimi ah markab badeed keligiis ah ama laba-jibbaaran.]]
Ka dib qabsashadii Roomaanku ee Boqortooyadii Nabataean iyo joogitaankii ciidamada badda ee Roomaanka ee Cadan si ay u xakameeyaan budhcad-badeedda, ganacsato Carbeed iyo Soomaali ah waxay ku heshiiyeen Roomaanku in maraakiibta Hindiya laga mamnuuco inay ka ganacsadaan magaalooyinka dekedaha xorta ah ee Jasiiradda Carabta si loo ilaaliyo danaha ganacsatada Soomaalida iyo Carabta ee ganacsiga faa'iidada badan leh ee u dhexeeya badaha Cas iyo Mediterranean. Si kastaba ha ahaatee, ganacsatadii Hindidu waxay sii wadeen ganacsiga magaalooyinka dekedaha ah ee jasiiradda Soomaalida, kuwaas oo ka madax bannaan faragelinta Roomaanka. Qarniyo badan, ganacsatadii Hindidu waxay Soomaaliya iyo Carabta u keeni jireen tiro badan oo qorfe ah Ceylon iyo Jasiiradaha Spice . Meesha laga helo qorfaha iyo xawaashka kale waxa la sheegaa in ay ahayd sirta ugu fiican ee ay ka heli jireen ganacsatadii Carabta iyo Soomaalida ee ka ganacsan jiray Rome iyo Giriigga; Roomaanka iyo Giriiggu waxay rumaysnaayeen in isha laga soo xigtay ay ahayd jasiiradda Soomaalida. Heshiiskii wada shaqayneed ee dhexmaray ganacsatada Soomaalida iyo Carabta ayaa sicir barar ku keenay qiimaha qorfaha Hindiya iyo Shiinaha ee Waqooyiga Afrika, Bariga dhow iyo Yurub, wuxuuna ganacsiga qorfaha ka dhigay mid dakhli abuur ah oo faa'iido badan leh, gaar ahaan ganacsatada Soomaaliyeed.
===Dhalashada Islaamka iyo qarniyadii dhexe===
[[File:Silk route.jpg|thumb|Waddada xariirta oo ku fidsan Shiinaha ilaa koonfurta Yurub, Carabta, Soomaaliya, Masar, Faaris, Hindiya, iyo Java]]
Islamka waxa deegaanka soo galiyay horraantii muslimiintii ugu horaysay ee ka soo carartay dacwooyinkii xiijii ugu horaysay iyada oo Masjid al-Qiblatayn ee Saylac laga dhisay ka hor inta aanu Qiblada u socon dhanka Maka . Waa mid ka mid ah masaajidda ugu faca weyn Afrika. Dabayaaqadii qarnigii 9aad, Al-Yaqubi waxa uu qoray in Muslimiintu ay ku noolaayeen hareeraha badda woqooyi ee Soomaaliya. Waxa kale oo uu xusay in Boqortooyada Adal ay caasimad u ahayd magaalada. Sida uu qabo Leo Africanus , Adal Sultanate waxa maamuli jiray boqortooyo Soomaaliyeed oo deegaanka ah , dhulkeeduna waxa uu ka koobnaa dhulka juqraafi ahaan u dhexeeya Bab el Mandeb iyo Gacanka Gardafuu. Sidaas waxaa dhanka koonfureed uga xigay Boqortooyadii Ajuuraan , dhanka galbeedna waxaa ka xigay Boqortooyadii Xabashida .
Qarniyadii dhexe oo dhan waxa Somaliland yimi dad Carbeed, waayo-aragnimo taariikhi ah oo hadhow horseedi doonta sheekooyinka halyeyga ah ee sheekhyadii Muslimiinta sida Daarood iyo Isxaaq Binu Axmed (oo la sheegay in ay ka soo jeedaan beelaha Daarood iyo Isaaq , siday u kala horreeyaan) iyaga oo ka soo socdaalay Carabta una socdaalay Soomaaliya kuna guursaday qabiilka Dir ee deegaanka .
Sannadkii 1332-kii, Boqorkii Adal ee Saylac ahaa ayaa lagu dilay olole millatari oo ujeedkiisu ahaa in la hakiyo socodkii ay magaalada ku soo jeedday Amda Seyon 1aad ee Xabashida. Markii Suldaankii ugu dambeeyay ee Ifat, Sacad Ad-Diin II, lagu dilay Saylac 1410 , caruurtiisii waxay u baxsadeen Yaman, ka hor intaysan ku soo laaban 1415 . II, oo saldhig cusub ka samaystay Yemen ka dib
[[File:Imaam Ahmed Gurey.jpg|thumb|Taalada Axmed ibn Ibrahim al-Ghazi , Imaamkii Boqortooyada Adal]]
Xarunteedii Adal ayaa mar kale loo raray qarnigii xigay, markan dhanka koonfureed waxa loo raray Harar . Caasimaddan cusub, Adal waxa uu abaabulay ciidan wax ku ool ah oo uu hoggaaminayo Imaam Axmad ibn Ibrahim al-Ghazi , (Ahmad "Gurey" ama "Gran"; labaduba waxay ka dhigan yihiin "gacanta bidix") iyo Jeneraalka ugu dhow dhow iyo seedigii Garaad Mataan . Qabiilka Imaam Axmed waxaa la caddeeyey inay ka soo jeedaan Geri Koombe , oo ah jifada Daarood. Ololahan qarniga 16-aad waxaa taariikh ahaan loo yaqaanaa Gumeysiga Xabashida ( Futuh al-Habash). Intii uu dagaalka socday, Imaam Axmad waxa uu hormood u noqday adeegsiga madfac ay ka heli jirtay Boqortooyadii Cusmaaniyiinta, kuwaas oo uu ka soo waariday Saylac oo uu ku soo daad-gureeyey ciidamadii Xabashida iyo xulafadooda Bortuqiisku ee uu hoggaaminayay Cristovão da Gama .
Xilligii Ajuuraan Saldanada , magaalooyinka iyo jamhuuriyadaha
Marka , Muqdisho , Baraawa , Hobyo iyo dekedooda waxay lahaayeen ganacsi faa'iido badan oo shisheeye ah oo ay ka heli jireen maraakiib u kala goosha dalalka Carabta, Hindiya, Venetia , Paris, Masar, Portugal iyo ilaa Shiinaha. Vasco da Gama , oo soo maray Muqdisho qarnigii 15-aad, ayaa xusay inay ahayd magaalo weyn oo ay ku yaallaan dhowr dabaq oo dhaadheer iyo daaro waaweyn oo ku yaalla bartamaha magaalada, iyadoo ay u dheer tahay masaajidyo badan oo leh minaarado cylindrical ah. Harla , oo ah koox hore oo Hamitic ah oo dhererkeedu dheeraa oo degi jiray qaybo ka mid ah Soomaaliya, Tchertcher iyo meelo kale oo Geeska ah, waxay sidoo kale dhiseen tuuli kala duwan . Dhagarqabayaashan ayaa la rumeysan yahay inay awoow u ahaayeen qowmiyadaha Soomaalida.
[[File:ShenDuGiraffePainting.jpg|thumb|[[Saldanadii Ajuuraan|Ajuran Sultanate]] waxa ay sii waday xidhiidh ganacsi oo ay la lahayd boqortooyadii Ming iyo boqortooyooyinkii kale.]]
Qarnigii 16-aad, Duarte Barboosa waxa uu xusay in maraakiib badan oo ka timid Boqortooyadii Cambaya ee waqtigan casriga ah ee Hindiya ay u shiraacdeen Muqdisho iyagoo wata maryo iyo xawaash, taas beddelkeedana ay heleen dahab, dhux iyo fool maroodi. Barbosa waxa kale oo ay iftiimisay hilibka, sarreenka, shaciga, fardaha iyo khudaarta ee suuqyada xeebaha, kuwaas oo ganacsatadu ka soo saarteen hanti aad u badan. Muqdisho, oo ah xarunta warshadaha dharka ee kobcaya ee loo yaqaan toob benadir ( oo ku takhasusay suuqyada Masar, iyo meelo kale , oo ay weheliyaan Merca iyo Barawa, waxay sidoo kale u ahayd meel ay ku sii maraan ganacsatada Sawaaxiliga ee Mombasa iyo Malindi iyo ganacsiga dahabka ee Kilwa . Ganacsato Yuhuudi ah oo ka timid Hormuz waxay keeneen dharkoodii Hindida iyo miraha badda Soomaaliya si ay ugu beddelaan hadhuudh iyo alwaax.
Xiriirka ganacsiga waxaa la aasaasay Malacca qarnigii 15aad, oo leh maro, ambergris iyo porcelain oo ah badeecadaha ugu muhiimsan ee ganacsiga. Geri, zebras iyo fooxa ayaa loo dhoofin jiray Boqortooyadii Ming ee Shiinaha, taasoo ka dhigtay ganacsatada Soomaalida inay hormuud ka noqdaan ganacsiga u dhexeeya Bariga Aasiya iyo Geeska. Ganacsato Hinduuga ah oo ka soo jeeda Surat iyo ganacsatada Koonfur-bari Afrikaanka ee Pate , iyagoo doonaya inay ka gudbaan labada go'doominta Boortaqiiska ee Hindiya (iyo markii dambe faragelintii Cumaan), waxay adeegsadeen dekedaha Soomaaliya ee Merca iyo Barawa (kuwaas oo ka baxsan xukunka tooska ah ee labada awoodood) si ay ganacsigooda ugu sameeyaan ammaan iyo faragelin la'aan.
===Waagii hore ee casriga ah iyo u halgamidda Afrika===
[[File:Mogadishu1936.jpg|thumb|magaalada Muqdisho ee xarunta dalka Talyaaniga ayaa waxaa ku yaalla xarunta kaniisada Kathedral-ka ee Catholic-ga iyo taallada weyn ee lagu maamuusayo Boqor Umberto I ee Talyaaniga.]]
Waagii hore ee casriga ahaa , dawladihii bedeli lahaa Adal Sultanate iyo Ajuran Sultanate waxay bilaabeen inay ka koraan Soomaaliya. Waxaa ka mid ahaa Imaamyadii Hiraab , Suldaan Isaaq oo uu hoggaaminayay reer Guuleed , Suldaankii Habr Yuunis oo uu hoggaaminayey reer Caynaanshe , Suldaankii Geledi (Boqortooyadii Gobroon), Saldanada Majeerteen (Migiurtinia), iyo Saldanadda Hobyo . Waxay sii wateen dhaqankii qalcado-dhisidda iyo ganacsiga badda mara ee ay aasaaseen boqortooyooyinkii hore ee Soomaaliya.
Suldaan Yusuf Mahamud Ibrahim oo ahaa Suldaankii Sadexaad ee Golaha Deegaanka Gobroon ayaa Bilaabay Taariikhdii dahabiga ahayd ee Boqortooyadii Gobroon. Ciidankiisu waxay guulo ka soo hoyeen Jihaadka Baardheere, kaasoo dib u soo celiyay xasiloonidii Gobolka, dib u soo nooleeyay ganacsigii fool-maroodiga ee Bariga Afrika . Waxa kale oo uu lahaa xidhiidh wanaagsan oo uu hadiyado ka heli jiray saldanada boqortooyooyinka dariska iyo kuwa fog sida Cumaan, Witu iyo salaadiinta Yemen.
Inankii Suldaan Ibraahim Axmed Yuusuf waxa uu ku beddelay mid ka mid ah shakhsiyaadkii ugu muhiimsanaa ee qarnigii 19-aad ee Bariga Afrika, isaga oo ka heli jiray abaal-marinno guddoomiyeyaasha Cumaan, isla markaana abuuray isbahaysi qoysas Muslimiin ah oo muhiim ah oo ku nool xeebaha Bariga Afrika
Somaliland waxa la aas aasay Suldaanka Isaaq 1750. Suldaanka Isaaq waxa uu ahaa boqortooyo Somaliyeed oo ka talinaysay qaybo ka mid ah Geeska Afrika qarniyadii 18aad iyo 19aad. Waxay ku teedsantay dhulka beesha Isaaq , oo ka soo farcamay qabiilka Banu Haashim , ee Somaliland iyo Itoobiya maanta. Suldaanka waxaa maamuli jiray garabka Rer Guuleed oo uu aasaasay suldaankii ugu horeeyay ee beesha Ciidagale Suldaan Guuleed Cabdi . Sida dhaqanka afka ah lagu sheegay, ka hor reer Guuleed beesha Isaaq waxaa ka talin jiray boqortooyo laanta Toljeclo oo ka soo jeeda reer Axmed oo lagu naanaysi jiray Tol Jeelo, oo ahaa curadkii Sheekh Isxaaq xaaskiisii Harari . Guud ahaan waxa jiray sideed taliye Toljelo ah oo uu ugu horreeyo Boqor Haaruun ( Soomaali : Boqor Haaruun ) oo soo xukumayay Suldaan Isaaq qarniyo laga soo bilaabo qarnigii 13aad. Garaad Dhux Barar ( Somali : Dhuux Baraar ) waxaa afgambiyay isbahaysigii beelaha Isaaq. Toljeelo oo berigii hore xoog lahaa way kala firxadeen oo waxay gabaad ka dhigteen Habr Awal oo ay ilaa hadda inta badan la nool yihiin.
Dabayaaqadii qarnigii 19-aad, shirkii Berlin ee 1884 ka dib, quwadaha reer Yurub waxay bilaabeen inay u halgamaan Afrika . Sannadkaas, maxmiyad Ingiriis ayaa lagaga dhawaaqay qayb ka mid ah Soomaaliya, oo ku taal xeebta Afrika ee ka soo horjeeda Yementa Koonfureed. Bilowgii, gobolkani wuxuu ku hoos jiray xukunka Xafiiska Hindiya, sidaas darteedna loo maamulay qayb ka mid ah Boqortooyada Hindiya; 1898-kii waxa loo wareejiyay maamulka London. 1889kii, maxmiyaddii iyo gumaysigii Soomaaliya ee Talyaanigu si rasmi ah u aasaasay Talyaanigu iyadoo loo marayo heshiisyo kala duwan oo ay la saxeexdeen madax iyo suldaanno badan; Suldaan Yuusuf Cali Keenadiid ayaa markii ugu horreysay codsi u diray Talyaaniga dabayaaqadii Diseembar 1888 si uu Suldaannimadiisa Hobyo uga dhigo maxmiyad Talyaani ah ka hor inta uusan markii dambe saxiixin heshiis 1889
[[File:Hobyo Sultanate Cavalry And Fort.jpg|thumb|Fardooley iyo dhufeyskii Hobyo Sultanate]]
Dhaqdhaqaaqa Dervish ayaa si guul leh u celiyay Boqortooyada Ingiriiska afar jeer waxayna ku qasbeen inay dib ugu noqdaan gobolka xeebta. Daraawiishtu waxay jebisay gumaystihii Talyaaniga, Ingiriiska, Xabashida marar badan, gaar ahaan, guushii 1903-dii ee Cagaarweyne ee uu hoggaaminayey Suleymaan Aaden Galaydh , waxay ku khasabtay Boqortooyadii Ingriiska inay dib ugu gurtaan gobolka xeebta horraantii 1900aadkii. Dervishes ayaa ugu dambeyntii laga adkaaday 1920-kii xoogga hawada Ingiriiska.
Bilawgii Faashiistaha horraantii 1920-aadkii waxa ay ku bishaaraysay is-beddelka istiraatijiyadda Talyaanigu, iyadoo suldaannada waqooyi-bari dhawaan lagu khasbi lahaa soohdinta La Grande Somalia (" Soomaali-weyn ") sida uu qorshuhu ahaa Talyaanigii Faashiistaha ahaa. Markii uu yimid Badhasaab Cesare Maria De Vecchi 15-kii December 1923kii, waxa bilaabmay in wax iska beddelaan qayb ka mid ah Somaliland oo loo yaqaanay Italian Somaliland . Dhulkii ugu dambeeyay ee Talyaanigu ka helo Soomaaliya wuxuu ahaa Oltre Giuba , gobolka Jubaland ee maanta , 1925.
[[File:Sayyid Mohammed Abdullah Hassan.jpeg|thumb|Taalada Mohammed Abdullah Hassan , Hogaamiyihii Daraawiishta]]
Talyaanigu wuxuu bilaabay mashruucyo kaabayaasha deegaanka ah, oo ay ku jiraan dhismaha isbitaallo, beero iyo dugsiyo. Talyaanigii Faashiistaha ahaa , ee Benito Mussolini , wuxuu weeraray Xabashida (Itoobiya) 1935, ujeeddadiisuna ahayd inay gumeysato. Duulaankaas waxaa cambaareeyey Ururka Jimciyadda Quruumaha ka dhaxaysa , balse wax yar lagama qaban sidii loo joojin lahaa ama looga xorayn lahaa gumaysiga Itoobiya. 1936kii, Soomaaliyadii Talyaanigu waxay ku biirtay Bariga Afrika ee Talyaanigu , oo ay weheliso Ereteriya iyo Itoobiya, oo ah Maamul-goboleedka Soomaaliya . 3-dii Agoosto 1940-kii, ciidamadii Talyaanigu oo ay ku jireen cutubyo ka tirsan gumaystaha Soomaaliya, ayaa ka soo tallaabay Itoobiya si ay u soo galaan Somaliland , 14kii Agoosto, waxay ku guuleysteen inay Berbera ka qabsadaan Ingiriiska.
Ciidan Ingiriis ah oo ay ku jiraan ciidamo ka socda dalal badan oo Afrikaan ah ayaa bishii January 1941kii ka bilaabay Kenya ololihii ay ku xorreeyeen British Somaliland iyo Itoobiya oo Talyaanigu gumaysan jiray, una qabsan lahaa Somaliland Talyaani. Bishii Feebarweri inta badan Somaliland Talyaanigu waa la qabsaday, bishii Maarj, Somaliland-kii Ingiriiska waa lagala wareegay badda. Ciidamadii Boqortooyadii Ingiriiska ee ka hawl-gala Somaliland waxay ka koobnaayeen saddex qaybood oo kala ahaa Koonfur Afrika, Galbeedka Afrika iyo Ciidamada Bariga Afrika. Waxa kaalmaynayay ciidammadii Somaliyeed ee uu hogaaminayay C/laahi Xasan iyadoo ay si wayn uga qayb galeen Somalida beesha Isaaq , Dhulbahante iyo Warsangali . Tirada Soomaalida Talyaanigu waxay bilawday inay hoos u dhacdo ka dib dagaalkii labaad ee aduunka, iyada oo in ka yar 10,000 ay soo hartay 1960.
===Madaxbanaanidii (1960-1969)===
Dagaalkii IIaad ee Adduunka ka dib, Ingiriisku waxa uu sii haystay gacan ku haynta British Somaliland iyo Somaliland Somaliland oo ah maxmiyad. 1945kii, intii lagu jiray shirkii Potsdam , Qaramada Midoobay waxay u oggolaatay Talyaanigu inuu Talyaanigu u dhiibo Talyaani Somaliland inuu noqdo dhul-xakameedka Somaliland , iyadoo shuruud looga dhigay markii ugu horreysay ee ay soo jeediyaan xisbigii SYL iyo ururradii kale ee curdinka ahaa ee siyaasadda Soomaaliya, sida Xizbiya DigilMirifle Soomaali (HDMS) iyo Ururka Qaranka Soomaalida (SNL) — gudaha Soomaaliya ay ku hesho madaxbannaani toban sano gudahood. British Somaliland waxay ahaan jirtay maxmiyad Ingiriiska ilaa 1960
[[File:Chieftains of the Isaaq clan cropped.jpg|thumb|Madaxdii beesha Isaaq oo Hargeysa lagu sawiray 1958 kii markii Duke & Duchess of Gloucester booqasho ku yimaadeen Somaliland.]]
Ilaa heer uu Talyaanigu dhulkaas ku haysto amarka Qaramada Midoobay, qodobbada ammaanadu waxay siiyeen Soomaalida fursad ay khibrad ugu yeeshaan waxbarashada siyaasadda reer galbeedka iyo is-xukunka. Waxa ay ahaayeen faa’iidooyin aanay lahayn British Somaliland, oo la rabay in lagu daro dawladnimada cusub ee Soomaaliya. In kasta oo 1950-meeyadii saraakiisha gumaystaha Ingiriiska ay isku dayeen, dadaallo horumarineed oo maamul oo kala duwan, si ay uga soo kabtaan dayacaadii hore, maxmiyadku waxa ay fadhiid ku noqotay horumarka maamulka siyaasadda. Farqiga u dhexeeya labada dhul ee horumarinta dhaqaalaha iyo waayo-aragnimada siyaasadeed ayaa hadhow keeni doonta dhibaatooyin culus oo isku dhafan labada qaybood.
[[File:Mogadishu city centre - 1960s.jpg|thumb|1963kii oo ku yaal bartamaha magaalada Muqdisho]]
Dhanka kale, 1948-kii, cadaadis kaga yimid xulafadooda Dagaalkii Labaad ee Adduunka, Soomaalidana ay aad uga xumaadeen, Ingriisku wuxuu dib u soo celiyay Haud (Dhul daaqsimeed Soomaaliyeed oo muhiim ah oo loo maleynayo inuu ilaalinayay heshiisyadii Ingiriiska uu la galay Soomaalida 1884 iyo 1886) iyo Gobolka Soomaalida ee Itoobiya, taasoo ku saleysan heshiis ay saxiixeen 1897-kii oo ay ka soo horjeedaan Boqortooyadii Itoobiya ee Menelik oo ay suurtagal tahay in Boqortooyadii Itoobiya ay ku beddesho Imbaraadoor. Faransiisku.
Ingriiska ayaa ku daray shuruud ah in dadka Soomaalida ah ay sii haysanayaan ismaamulkooda, laakiin Itoobiya ayaa isla markiiba sheegatay inay iyadu leedahay madax-bannaanideeda. Taasi waxay keentay in 1956-kii uu Ingiriisku ku guul darraystay inuu dib u iibsado dhulkii Soomaaliyeed ee uu la wareegay. Ingriisku waxa uu sidoo kale siiyay maamulka ku dhawaad Soomaalida ay degto Waqooyiga xudduudaha Waqooyi (NFD) wadaniiyiinta Kenya. Tani waxay ahayd in kasta oo ay raali ka tahay , sida laga soo xigtay guddigii gumaystaha Ingiriiska, ku dhawaad dhammaan qowmiyadaha Soomaalida ee dhulkaas degganaa waxay door bideen inay ku biiraan Jamhuuriyaddii Soomaaliya ee dhawaan la sameeyay.
Waxa sannadkii 1958- kii ka qabsoontay dalka aynu jaarka nahay ee Jabuuti (oo loo yaqaannay Faransiiska Somaliland ) sannadkii 1958-kii, maalintii ay Soomaaliya xornimada qaadatay sannadkii 1960-kii, si go'aan looga gaadho in lagu biiro Jamhuuriyaddii Soomaaliya iyo in kale iyo inay ka sii mid ahaato Faransiiska. Aftidu waxay u soo baxday in la sii wado xidhiidhka Faransiiska, taas oo ay ugu wacan tahay isku-darka haa ee ay ku codeeyeen qoomiyada Canfarta iyo dadka degan Yurub. Waxa kale oo jirtay ku shubasho codbixineed oo baahsan, iyada oo Faransiisku uu ka eryay kumannaan Soomaali ah ka hor inta aanay aftidu gaadhin goobaha codbixinta.
Inta badan dadka 'maya' ku codeeyay waxay ahaayeen Soomaali aad u taageersan inay ku biiraan Soomaaliya oo mid ah, sida uu soo jeediyay Maxamuud Xarbi , Madaxweyne ku xigeenka Golaha Xukuumadda. Xarbi ayaa ku dhintay shil diyaaradeed labo sano kadib. Djibouti ugu dambayntii waxay xornimada ka qaadatay Faransiiska 1977, iyo Hassan Gouled Aptidoon , oo ahaa Soomaali oo u ololaynayey "haa" codbixintii 1976, aakhirkii wuxuu noqday madaxweynihii ugu horreeyay ee Jabuuti (1977-1999).
[[File:President Aden Adde alongside Prime minister Sharmarke.jpg|thumb|Madaxweyne Aadan Cadde oo uu weheliyo Ra’iisul Wasaare Cabdirashiid Cali Sharma’arke oo Salaaddii Ciidda 1964-kii ku Tukaday Masjidka Arbaca Rukun]]
26 June 1960 -kii Maxmiyadda Somaliland ee Ingiriiska waxa ay xornimadeeda qaadatay 26 June 1960. 1dii Luulyo 1960kii waxa xornimada qaatay dhulkii la isku halayn lahaa ee Somaliland, labadoodiina waxay ku midoobeen dhismihii Jamhuuriyaddii Soomaaliya , in kasta oo ay ku jireen xuduud ay kala sameeyeen Talyaaniga iyo Ingiriiska. Dawlad ay dhiseen Cabdullaahi Ciise iyo Muxammad Xaaji Ibraahim Cigaal oo ay weheliyaan xubno kale oo ka tirsan dawladihii ammaanada iyo maxmiyad ahaa, iyadoo Cabdulqaadir Muxamed Aadan uu noqday Madaxweynaha Golaha Shacbiga Soomaaliyeed , Aadan Cabdallah Cismaan Daar oo ahaa Madaxweynihii Jamhuriyadda Soomaaliya, Cabdirashiid Cali Sharmaarkena wuxuu noqday Ra'iisul Wasaare (kadibna noqday Madaxweyne 1967 ilaa 1969). 20kii Luulyo 1961kii iyo afti dadweyne oo dadweynihii Soomaaliyeed ay ku ansixiyeen talyaanigu, badi dadkii ka soo jeeday Maxmiyadii hore ee Somaliland ayaan ka qaybgelin aftida, in kasta oo tiro yar oo reer Somaliland ah oo ka qaybqaatay aftida ay ka soo horjeesteen dastuurkii cusbaa , oo markii ugu horreysay la sameeyay 1367kii , Muxammad . Wasiir, xilkaas oo uu u magacaabay Sharmaarke. Cigaal waxa uu mar dambe noqon lahaa Madaxweynaha maamul-goboleedka Somaliland ee waqooyi-galbeed ee Soomaaliya
===Jamhuuriyadda Dimuqraadiga Soomaaliya (1969-1991)===
===Inqilaab===
15kii Oktoobar, isaga oo madaxweyne Cabdirashiid Cali Sharma'arke socdaal ku marayay magaalada Laascaanood ee ay abaaruhu ku dhufteen, ayaa ilaaladiisa gaarka ahi toogasho ku dileen. Xoghayihii hore ee arrimaha dibadda ee Mareykanka Henry Kissinger ayaa hadalkiisa ku soo gabagabeeyay in ilaaladu uu iskiis u dhaqmayo. Lix maalmood ka dib, 21kii Oktoobar, Jeneraal Siyaad Barre wuxuu hoggaaminayey afgambi militari, wuxuuna ku guuleystay afgambigii dowladdii baarlamaanka. Falanqeeyayaasha siyaasadda casriga ah ayaa sheegaya in afgambiga uu ka dambeeyay musuqmaasuqa ka dhex jira xukuumadda baarlamaanka. Waardiyihii waxaa maxkamadeeyay, jirdilay oo toogtay Golaha Sare ee Kacaanka (SRC). Waxa ay kasoo jeedaan madaxweynaha uu dilay.
[[File:Mohamed Ainanshe and Kim Il Sung -1970.jpg|thumb|Maxamed Caynaanshe Guuleed oo Waqooyiga Kuuriya kula kulmay Madaxweyne Kim Il Sung 1970kii]]
Dhinaca Barre, SRC oo xukunka la wareegtay dilkii Madaxweyne Sharma’arke ka dib waxaa hoggaaminayay Sarreeye Guuto Maxamed Caynaanshe Guuleed , Gaashaanle Sare Salaad Gabeyre Kediye iyo Taliyaha Booliska Jaamac Korsheel . Kediye waxa uu si rasmi ah u haystay magaca “Aabihii Kacaanka”, wax yar ka dibna Barre waxa uu noqday madaxa SRC. SRC dabadeed waxay u bixisay magaca dalka Jamhuuriyadda Dimuqraadiga ee Soomaaliya, waxay kala dirtay baarlamaanka iyo maxkamadda sare, oo laalay dastuurkii.
Dawladdii kacaanku waxay dejisay barnaamijyo ballaaran oo hawlaha guud waxayna si guul leh u hirgelisay olole wax-qoris oo magaalo iyo miyi ah , kaasoo gacan ka geystay inuu si weyn u kordhiyo heerka wax-akhris-qoraalka. Jamhuuriyadda Dimuqraadiga Soomaaliya waxay gaartay heerka wax-akhris 70%, taasoo ka mid ahayd kuwa ugu sarreeya Afrika waagaas.
Marka laga soo tago barnaamijka qarameynta warshadaha iyo dhulka, siyaasadda arrimaha dibadda ee maamulka cusub waxay xoogga saartay xiriirka soo jireenka ah iyo diinta ee Soomaaliya ay la leedahay dunida Carabta , ugu dambeyntii waxay ku biirtay Jaamacadda Carabta bishii Febraayo 1974. Isla sanadkaas, Barre wuxuu sidoo kale noqday guddoomiyaha Ururka Midowga Afrika (OAU), oo ah hoggaamiyihii ka horreeyay Midowga Afrika (AU).
Bishii Luulyo 1976-kii, SRC-da Barre ayaa iskeed u kala dirtay, waxayna halkeeda ka dhistay Xisbigii Hantiwadaaga Kacaanka Soomaaliyeed (XDSHSI), dowlad hal xisbi ah oo ku dhisan hantiwadaag cilmiyeed iyo caqiidada Islaamka. SRSP waxa ay ahayd isku day lagu heshiisiinayo fikirka dawladda ee rasmiga ah iyo diinta rasmiga ah ee dawladda iyada oo la waafajinayo xeerarkii Marxist xaaladaha deegaanka. Waxa xoogga la saaray mabaadi’da Muslimka ee horumarka bulshada, sinnaanta iyo caddaaladda, taas oo ay dawladdu ku doodday in ay aasaas u tahay udub-dhexaadka hantiwadaagga cilmiyeed iyo lahjad u gaar ah oo ku aaddan isku filnaansho, ka qayb-qaadashada dadweynaha iyo xakamaynta dadweynaha, iyo sidoo kale lahaanshaha tooska ah ee habka wax-soo-saarka. Iyadoo SRSP ay dhiirigelisay maalgashiga gaarka ah ee xad xaddidan, jihada guud ee maamulku waxay ahayd mid shuuci ah .
Bishii Luulyo 1977, dagaalkii Ogaadeeniya wuxuu qarxay ka dib markii dawladdii Barre adeegsatay codsi ku saabsan midnimada qaranka si ay u caddeyso ku darista gardarrada ah ee gobolka Ogaadeeniya ee ay Soomaalida u badan tahay ee Itoobiya oo lagu daray Soomaali- weyn oo dhan , oo ay weheliso dhul-beereedyo hodan ah oo ku yaal koonfurta-bari ee Itoobiya, kaabayaasha dhaqaalaha, iyo meelaha istiraatiijiga ah ee woqooyiga ilaa Jabuuti. Todobaadkii ugu horeeyey ee colaada ayaa xoogag hubaysan oo Soomaali ahi qabsadeen koonfurta iyo badhtamaha Ogadenia, dagaalka intiisa badana waxay ciidanka Soomaalidu guulo isdaba joog ah ka gaadheen ciidanka gumaysiga Itoobiya waxayna daba socdeen ilaa Sidamo . Bishii Sebtembar 1977kii, Soomaaliya waxay gacanta ku dhigtay 90% dhulka Ogaadeeniya waxayna qabsatay magaalooyin istiraatiiji ah sida Jijiga waxayna cadaadis xoog leh saartay Diridhaba , waxayna halis geliyeen wadadii tareenka ee magaalada dambe ee Jabuuti. Go’doomintii Harar ka dib, waxaa u soo gurmaday taliskii Shuuciga ahaa ee Dergiga Itoobiya faragelin baaxad leh oo aan hore loo arag oo ka kooban 20,000 oo ciidamada Kuuba ah iyo dhowr kun oo khubaro ah oo Soofiyeedka ah . Sannadkii 1978-kii, ciidamadii Soomaalida ayaa laga saaray Ogadenya. Isbeddelka taageerada ee Midowgii Soofiyeeti ayaa ku kallifay dowladdii Barre inay xulafo ka raadsato meelo kale. Aakhirkii waxa ay ku degtay dagaalkii qaboobaa ee Soofiyeedka oo ay xafiiltamaan, Maraykanka , kaas oo in muddo ah ku haminayey dawladdii Soomaaliya. Saaxiibtinimada ugu horreysay ee Soomaaliya ay la yeelato Midowgii Soofiyeeti iyo iskaashigii dambe ee ay la yeelatay Mareykanka ayaa u sahashay in ay dhisto ciidanka ugu badan ee Afrika.
[[File:Muhammad Siad Barre - 40866X9X9.jpg|thumb|Sareeye Gaas Maxamed Siyaad Barre , Guddoomiyaha Golaha Sare ee Kacaanka , oo la kulmay Madaxweynaha Romania Nicolae Ceauşescu]]
Dastuur cusub ayaa la soo saaray 1979kii kaas oo lagu qabtay doorashada Golaha Shacabka. Si kastaba ha ahaatee, Xisbigii Hantiwadaaga Kacaanka Soomaaliyeed ee Barre ayaa sii waday xukunka. Bishii Oktoobar 1980, SRSP waa la kala diray, Golaha Sare ee Kacaanka ayaa dib loo dhisay booskiisii. Waqtigaas, dawladdii Barre waxay noqotay mid aan la jeclayn. Soomaali badan ayaa ka niyad jabay nolosha ay ku hoos nool yihiin kalitalis ciidan.
Waxaa sii wiiqmay taliskii 1980-meeyadii markii dagaalkii qaboobaa uu soo dhawaaday, waxaana hoos u dhacay muhiimaddii istiraatijiyadeed ee Soomaaliya. Dawladdu waxay noqotay mid sii xoogaysata , waxaana dalka oo dhan ka curtay dhaqdhaqaaqyo iska caabin ah oo ay dhiirigelisay Itoobiya, taasoo keentay in Soomaaliya dagaal sokeeye ka dhacdo . Kooxahan malayshiyaadka ah waxaa ka mid ahaa Jabhadda Dimuqraadiga Badbaadada Soomaaliyeed (SSDF), Golaha Soomaaliyeed ee Midowga (USC), Dhaqdhaqaaqa Waddaniga Soomaaliyeed (SNM) iyo Dhaqdhaqaaqa Waddaniga Soomaaliyeed (SPM) oo ay weheliyaan Mucaarad aan Rabshado lahayn oo ka kala tirsan Dhaqdhaqaaqa Dimuqraadiga Soomaaliyeed (SDM), Isbahaysiga Dimuqraadiga Soomaaliyeed (SDA) iyo Kooxda Kooxda Manifeestada Soomaaliyeed (SMG).
===Dagaalkii Sokeeye ee Soomaaliya===
[[File:Somali Civil War (Google Live Map).svg|thumb|Qiyaasta khariidadda marxaladda hadda ee Dagaalkii Sokeeye ee Soomaaliya (La cusbooneysiiyay Luulyo 2025)]]
Markii ay si aayar aayar aayar aayar ah u yaraatay hankii iyo akhlaaqdii dowladdii Barre, ayaa dad badan oo Soomaaliyeed ay ka niyad jabeen nolosha xukunkii militariga. Bartamihii 1980-aadkii, dhaqdhaqaaqyo iska caabin ah oo uu taageerayey maamulkii Dergiga ee shuuciga ahaa ee Itoobiya ayaa ka curtay dalka oo dhan. Barre ayaa ku jawaabay in uu amar ku bixiyay in tallaabo laga qaado dadka uu u arko in ay deegaan ahaan taageersan yihiin jabhadda, gaar ahaan gobollada Waqooyi. Xakamayntaas waxaa ka mid ahaa in la duqeeyo magaalooyinka, oo ay ku taal xarunta maamulka waqooyi-galbeed ee Hargeysa , oo ah xaruntii SNM , oo ka mid ahayd goobihii la beegsaday 1988.
Xakamaynta ay bilawday dawladdii Barre waxay gaadhsiisay in ka badan qaraxyadii hore ee woqooyiga si ay u koobto gobollo kala duwan oo dalka ah. Soo saariddan xeeladaha gardarada ah ee looga dan leeyahay in lagu caburiyo dadka ka soo jeeda iyo in lagu sii hayo awoodda dadweynaha waxay astaan u ahayd tallaabooyinka caburinta ah ee dowladdu ay ka waddo Koonfurta. Mid ka mid ah dhacdooyinka ugu caansan ayaa dhacay 1991-kii, markii taliskii Barre bilaabay weerar cirka ah oo sababay dhimashada dad badan oo aan waxba galabsan magaalada Beledweyn , oo ku taal koonfurta Soomaaliya. Arxan-darrada iyo baaxadda falkan waxashnimada ah waxa ay iftiimisay heerka ay dawladdu u diyaar-garowday in ay meesha ka saarto nooc kasta oo mucaarad ah ama wax iska caabin ah, iyada oo ay muujinayso in aan tix-gelin badheedh ah u lahayn xuquuqda aadamaha iyo qiimaha nolosha bani’aadamka.
Mid kale oo xusid mudan siyaasaddii caburinta Barre ayaa ka dhacday magaalada Baydhabo oo lagu naaneeso ‘Magaalada dhimashada’ taasoo ay ugu wacan tahay dhacdooyinkii murugada lahaa ee ka dhacay halkaasi xilliyadii abaarta iyo dagaalada sokeeye . Boqolaal kun oo qof ayaa naftooda ku waayey istiraatijiyad dawladeed oo gaar ahaan loogu talagalay bulshada Raxanweyn ee deggan deegaannadaas.
1990kii, magaalada caasimadda ah ee Muqdisho, dadka deggan waxaa laga mamnuucay inay meel fagaare ah isugu yimaadaan kooxo ka badan saddex ama afar. Shidaal yaraan, sicir-bararka, iyo qiima dhaca lacagta ayaa saameeyay dhaqaalaha. Suuq madoow oo aad u wanaagsan ayaa ka jiray bartamaha magaalada iyadoo bangiyada ay la kulmeen gabaabsi lacagta gudaha ah ee lagu sarifto. Waxaa la soo saaray sharciyo lagu xakameynayo sarifka lacagaha qalaad si looga hortago dhoofinta lacagaha qalaad. Inkastoo aan la saarin xayiraad dhanka socdaalka ah oo lagu soo rogay ajaanibta, sawir qaadista goobo badan ayaa la mamnuucay. Xilliyada maalinlaha ah ee magaalada Muqdisho, muuqaalka ciidan kasta oo dowladda ayaa ahaa mid naadir ah. Hawlgallada habeenkii dambe ee ay sameeyeen mas'uuliyiinta dowladda, ayaa waxaa ka mid ahaa "la'aanta" shaqsiyaadka guryahooda.
1991kii, maamulkii Barre waxaa xukunka ka tuuray isbahaysi mucaarad ku ah qabiil, oo ay taageerayeen taliskii Itoobiya ee Dergiga iyo Liibiya . Ka dib shir ay yeesheen Dhaqdhaqaaqa Waddaniga Somaliyeed iyo odayaasha beelaha waqooyi, qaybtii waqooyi ee Ingiriisku ka talin jiray dalka waxay ku dhawaaqday in ay gooni isu taagtay jamhuuriyadda Somaliland May 1991. In kasta oo ay madax bannaani tahay oo xasiloon tahay marka loo eego koonfurta qalalaasaha ah, haddana dawlad shisheeye ma aqoonsan.
[[File:Mogadishu.jpg|thumb|Dagaaladii sokeeye ka hor, Muqdisho waxaa loo yaqaannay "Luul cad oo badweynta Hindiya]]
In badan oo ka mid ah kooxaha mucaaradka ayaa markii dambe bilaabay inay u tartamaan sidii ay saamayn ugu yeelan lahaayeen awood la'aanta ka dib markii la riday taliskii Barre. Koonfurta, waxaa isku dhacay kooxo hubaysan oo ay kala hogaaminayaan taliyayaasha USC General Maxamed Faarax Ceydiid iyo Cali Mahdi Maxamed , gaar ahaan, iyadoo mid walba uu doonayo inuu awood ku yeesho caasimadda. 1991kii, shir caalami ah oo wajiyo badan lahaa ayaa lagu qabtay dalka aynu jaarka nahay ee Jabuuti. Iyadoo loo eegayo sharcinimada uu Muxammad ku siiyey shirkii Jabuuti, ayaa beesha caalamku u aqoonsatay inuu yahay madaxweynaha cusub ee Soomaaliya. Ma uu awoodin in uu awoodiisa ku dhaqmo meelo ka baxsan caasimadda. Awoodda ayaa taas beddelkeeda lagu heshiiyey hoggaamiye kooxeedyadii kale ee koonfurta Soomaaliya iyo maamul-goboleedyo ka madax bannaan waqooyiga. Shirkii Jibouti waxaa ku xigay laba heshiis oo aan la iska dhicin oo dib-u-heshiisiin qaran iyo hub ka dhigis, oo ay saxeexeen 15 daneeyayaal siyaasadeed: heshiis in la qabto shir aan rasmi ahayn oo diyaarinta dib-u-heshiisiinta qaranka, iyo heshiiskii Addis Ababa 1993 ee lagu sameeyay shirkii dib u heshiisiinta qaranka.
Horraantii 1990-meeyadii, la'aanta daba-dheeraatay ee la'aanta maamul dhexe oo joogto ah, Soomaaliya waxay billowday inay ku sifowdo " Qaran guuldarreystay .
===Hay'adaha ku meel gaarka ah===
[[File:Abdullahi Yusuf Ahmed (28-03-2006).jpg|thumb|C/llaahi Yuusuf Axmed , Madaxweynaha Dowladda KMG ah ee Soomaaliya]]
Dawladda Ku-Meel-Gaarka ah (TNG) waxaa la aas aasay bilihii April-May 2000 shirkii Nabadda Qaranka Soomaaliyeed (SNPC) ee lagu qabtay Carta, Jabuuti. Cabdiqaasim Salaad Xasan ayaa loo doortay in uu noqdo Madaxweynaha dowladda KMG ah ee cusub ee qaranka, maamul ku meel gaar ah oo loo sameeyay in uu Soomaaliya ku hago dowlad Jamhuuriyad rasmi ah oo saddexaad. Dhibaatooyinka gudaha ee TNG ayaa keenay in la bedelo Ra'iisul Wasaaraha afar jeer saddex sano gudahood, iyo hay'adda maamulka ayaa sheegay inay kacday December 2003. Waqtigeediina isku mar wuu dhamaaday.
10kii Oktoobar 2004tii, sharci-dajiyayaashu waxay u doorteen Cabdullaahi Yuusuf Axmed inuu noqdo Madaxweynihii ugu horreeyay ee Dawladda Federaalka Ku Meel Gaarka ah (TFG), oo beddelaya Dawladdii Ku Meel Gaarka ahayd. DFKMG waxay ahayd maamulkii labaad ee ku meel gaadhka ahaa ee hiigsanayay in dib loo soo celiyo hay’adihii qaranka ee Soomaaliya kadib burburkii taliskii Siyaad Barre 1991 iyo dagaaladii sokeeye ee xigay.
DFKMG waxay ahayd dowladda Soomaaliya oo caalamku aqoonsan yahay ilaa 20kii Agoosto 2012, markaas oo ay si rasmi ah u dhammaatay waqtigeedii.
Waxaa loo asaasay mid ka mid ah Hay'adaha Federaalka Ku Meel Gaarka ah (TFIs) ee dowladda sida lagu qeexay Axdiga Federaalka Ku Meel Gaarka ah (TFC) ee uu ansixiyay Baarlamaanka Federaalka Ku Meel Gaarka ah (TFP) bishii Nofembar 2004. Dowladda Federaalka Ku Meel Gaarka ah waxay si rasmi ah uga koobneyd waaxda fulinta ee dowladda, iyadoo TFP ay tahay waaxda sharci dejinta. Xukuumadda ayaa waxaa madax ka ahaa Madaxweynaha Soomaaliya, iyadoo golaha wasiirradu ay warbixin ka siiyeen Ra’iisul Wasaaraha. Si kastaba ha ahaatee, waxa sidoo kale loo adeegsaday erey guud si loo tixraaco dhammaan saddexda laan si wadajir ah.
===Midowga Maxkamadaha Islaamiga===
[[File:Icu somalia map.png|thumb|Khariidad muujinaysa ICU marka ugu sarraysa saamaynteeda]]
Sanadkii 2006, Midowga Maxkamadaha Islaamiga ah (ICU) waxay la wareegeen gacan ku haynta inta badan koonfurta dalka muddo 6 bilood ah waxayna soo rogeen ku dhaqanka shareecada Islaamka . Mas’uuliyiinta ugu sareysa Qaramada Midoobay ayaa ku tilmaamay muddadan kooban in ay tahay xilli dahab ah oo ku jira taariikhda siyaasadda Soomaaliya.
===Dowladda Kumeeel Gaarka ah===
Dowladda Federaalka Ku Meel Gaarka ah waxay isku dayday inay dib u soo ceshato awoodeeda, iyadoo kaashanaysa ciidamada Itoobiya , ciidamada nabad ilaalinta Midowga Afrika iyo taageerada hawada ee Mareykanka, waxay ka saartay maxaakiimta oo ay xoojisay xukunkeeda. January 8, 2007, Madaxweynaha DFKMG, Cabdullaahi Yuusuf Axmed ayaa markii ugu horeysay soo galay Muqdisho isagoo taageero ka helaya ciidamada Itoobiya tan iyo markii xilka loo doortay. Dawladdu waxay markaas u guurtay xarunta Villa Soomaaliya ee caasimadda oo ay si ku meel gaar ah uga ahayd Baydhabo . Tani waxay noqonaysaa markii ugu horeysay tan iyo burburkii taliskii Siyaad Barre sanadkii 1991-kii oo ay dowladda Federaalka gacanta ku hayso inta badan dalka.
===Falaagada Al-Shabaab===
Al-Shabaab ayaa ka soo horjeestay joogitaanka ciidamada Itoobiya ee Soomaaliya, waxaana ay sii wadeen dagaallada ka dhanka ah dowladda KMG ah. Intii u dhaxaysay 2007 iyo 2008, Al-Shabaab waxay dhalisay guulo ciidan, iyagoo la wareegay gacan ku haynta magaalooyin iyo dekedo muhiim ah oo ku yaal bartamaha iyo koonfurta Soomaaliya. Bishii Janaayo 2009, Al-Shabaab iyo maleeshiyaadkii kale waxay ku qasbeen ciidamada Itoobiya inay dib u gurtaan, iyagoo ka tagay ciidan aan qalabeyn oo nabad ilaalin ah oo Midowga Afrika ah si ay u caawiyaan ciidamada dowladda KMG ah.
Dhaqaale la’aan iyo dhaqaale la’aan, cunaqabatayn dhanka hubka ah oo adkeyd in dib loo yagleelo ciidan qaran oo suga amniga, iyo danayn la’aanta guud ee beesha caalamka, Yuusuf waxa uu ku qasbanaaday in kumannaan ciidamo ah oo Puntland ka socda la geeyo Muqdisho si ay u sii joogteeyaan dagaalka ka dhanka ah kooxaha nabad-diidka ah ee ku sugan Koonfurta dalka. Taageerada maaliyadeed ee dadaalkan waxaa bixisay dawladda ismaamulka. Taasi waxay keentay in dakhli yar oo soo galo ciidamada ammaanka Puntland iyo shaqaalaha rayidka ah, taasoo ka dhigtay dhul u nugul burcad-badeedda iyo weerarrada argagixisada.
29-kii December 2008, Yuusuf wuxuu kaga dhawaaqay baarlamaanka ku midoobay Baydhabo inuu iska casilayo xilka madaxweynaha Soomaaliya. Khudbadiisa oo laga sii daayay Idaacadda Qaranka, ayuu Yuusuf ku sheegay inuu ka xun yahay inuu ku guul-darreystay inuu soo afjaro colaaddii dalka ka jirtay toddoba iyo tobankii sano ee la soo dhaafay, sidii dowladdiisa loo igmaday. Wuxuu kaloo ku eedeeyay beesha caalamka inay ka gaabiyeen taageerada dowladda, wuxuuna sheegay in guddoomiyaha baarlamaanka uu xilka ku wareejin doono sida uu qabo Axdiga KMG ah
===Dhamaadka xilliga ku meel gaarka===
Intii u dhaxaysay 31 May iyo 9 June 2008, wakiilo ka socday dawladda federaalka ah ee Soomaaliya iyo Isbahaysiga Dib u xoraynta Soomaaliya (ARS) ayaa ka qayb galay wada-hadallo nabadeed oo Jabuuti ka dhacay oo uu garwadeen ka ahaa ergeygii hore ee Qaramada Midoobay u qaabilsanaa Soomaaliya, Ahmedou Ould-Abdallah . Shirka ayaa ku soo idlaaday heshiis la kala saxiixday oo dhigaya in ciidamada Itoobiya laga saaro dalka si loo joojiyo iska hor imaadyada hubeysan. Baarlamaanka ayaa ka dib la balaariyay oo la gaarsiiyay 550 kursi si ay u helaan xubnaha ARS, oo markaas madaxweyne u doortay Sheekh Shariif Sheekh Axmed .Iyadoo gacan ka heleysa koox yar oo ka tirsan ciidamada Midowga Afrika, dowladda KMG ayaa biloowday weerar rogaal celis ah bishii Febraayo 2009 si ay si buuxda ula wareegto maamulka qeybta koonfureed ee dalka. DFKMG si ay xukunkeeda u xoojiso waxay isbahaysi la samaysatay Midowga Maxaakiimta Islaamiga ah, Xubnihii kale ee Isbaheysiga Dib u xoreynta Soomaaliya iyo Ahlu Sunna Waljamaaca oo ah Maleeshiyo Suufi ah oo qunyar socod ah . Intaa waxaa dheer, Al-Shabaab iyo Xisbul Islaam, oo ah labada kooxood ee Islaamiyiinta ah ee mucaaradka ah, waxay bilaabeen inay dhexdooda dagaallamaan bartamihii 2009kii. Xabbad ahaan, bishii Maarso 2009, dawladda ku meel gaarka ah waxay ku dhawaaqday inay dib u dhaqan gelinayso Shareecada oo ah nidaamka garsoorka rasmiga ah ee qaranka. Si kastaba ha ahaatee, colaaddu waxay ka sii socotay koonfurta iyo badhtamaha dalka. Muddo bilo gudahood ah, dawladda ku meel gaarka ah waxay ka baxday in ay gacanta ku dhigto ilaa 70% koonfurta iyo badhtamaha Soomaaliya aagagga iskahorimaadyada, oo ay 80% dhulka lagu muransan yahay ku lumisay xoogaga Islaamiyiinta ah.
Bishii Oktoobar 2011, hawlgal qorsheysan, Hawlgalka Linda Nchi oo u dhexeeya militariga Soomaaliya iyo Kenya iyo ciidamada caalamiga ah ayaa ka billowday Al-Shabaab ee koonfurta Soomaaliya. Bishii Sebtembar 2012, ciidamada Soomaaliya, Kenya, iyo Raaskaambooni waxay ku guulaysteen inay qabsadaan Al-Shabaab xaruntii ugu dambaysay ee ugu weynayd, dekedda koonfurta ee Kismaayo. Bishii Luulyo 2012, saddex hawlgal oo Midowga Yurub ayaa la bilaabay si ay ula macaamilaan Soomaaliya: EUTM Somalia , Hawlgalka Ciidamada Badda ee Midowga Yurub ee Soomaaliya Atalanta off the Horn of Africa, iyo EUCAP Nestor.
[[File:Parlament of Somalia 2012-2016.svg|thumb|Dhismaha Baarlamaanka Federaalka Soomaaliya]]
Iyada oo qayb ka ah "Khariidadda Waddada Dhammaadka Ku meel gaarka" ee rasmiga ah, oo ah geeddi socod siyaasadeed oo siinaya jaan-gooyo cad-cad oo horseedaya samaynta hay'ado dimoqraadi ah oo joogto ah oo Soomaaliya ah, xilliga ku-meel-gaarka ah ee Dowladda Federaalka Ku-meel-gaarka ah ayaa dhammaaday 20kii Agoosto 2012
===Dowladda Federaalka===
Dowladda Federaalka ah ee Soomaaliya , oo ah dowladdii dhexe ee ugu horreysay oo joogto ah oo dalka yeelato tan iyo markii ay bilowdeen dagaallada sokeeye, ayaa la aas aasay Agoosto 2012. Bishii Agoosto 2014-kii, howlgalka Badweynta Hindiya ee ay hormuudka ka tahay dowladda Soomaaliya ayaa la bilaabay ka hortagga jeebabka kooxaha nabad-diidka ah ee ku sugan baadiyaha
===2021-2023 abaar===
Abaarta Soomaaliya ee 2021-2023 ayaa ahayd abaartii ugu darneyd ee Soomaaliya soo marta muddo 40 sano ah, waxaana ay saameysay 7.8 milyan oo qof.
=== Qalalaasihii dastuuriga ee 2024 ===
30-kii Maarso 2024, isbeddello dastuuri ah oo taxane ah oo ay ansixisay [[Dowlada Federaalka Soomaaliya]] ayaa sababay khilaafyo lala galay qaar ka mid ah dowlad-goboleedyada federaalka, taas oo dhalisay xiisad siyaasadeed. Saddex ka mid ah lixda dowlad-goboleed ayaa ka laabtay aqoonsigii ay siinayeen awoodda dowladda federaalka, waxaana dagaallo maxalli ah oo [[Jubaland|Jubbaland]] iyo [[Koonfur Galbeed|Dowlad Goboleedka Koonfur Galbeed Soomaaliya|Koonfur Galbeed Soomaaliya]] ka dhacay.<ref>{{Cite web |last=Review |first=Horn |title=Analysis of Somalia's constitution crisis |url=https://hornreview.org/2026/04/21/analysis-of-somalias-constitution-crisis/ |access-date=2026-06-09 |website=HORN REVIEW |language=en-US}}</ref><ref>{{Cite web |last=Staff |first=Al Jazeera |title=Somali army takes over key city in Southwest as state leader resigns |url=https://www.aljazeera.com/news/2026/3/31/somali-army-takes-over-key-city-in-southwest-as-state-leader-resigns |access-date=2026-06-09 |website=Al Jazeera |language=en}}</ref>
==Juqraafiga==
Soomaaliya waxa ay xad la wadaagtaa Jabuuti dhanka waqooyi-galbeed, galbeedna Itoobiya , waqooyiga Gacanka Cadmeed , badda Soomaaliya iyo kanaalka Guardafui oo bari ah, iyo Koonfur-galbeed Kenya . Baaxadda dhuleedku waa 637,657 kiiloo mitir laba jibaaran, dhulka Soomaaliya wuxuu ka kooban yahay badiyaa taagga , bannaanka iyo buuraha . Xeebteedu waxay dhererkeedu ka badan tahay 3,333 kiiloomitir, waana tan ugu dheer dhul weynaha Afrika. Waxaa lagu tilmaamay inay tahay mid si qiyaas ah u qaabaysan "sida lambar foorarsan oo toddoba ah". Waqooyiga fog, safafka bari-galbeed ee buuraleyda Oogo waxay ku yaalaan masaafo kala duwan oo u jirta xeebta Gacanka Cadmeed. Xaalado kulul ayaa jira sanadka oo dhan, oo ay la socdaan dabaylaha monsoon iyo roobab aan joogto ahayn. Geology waxay soo jeedinaysaa joogitaanka kaydka macdanta qiimaha leh. Soomaaliya waxaa Seychelles ka go'ay badda Soomaaliya, waxaana ka go'ay Socotra oo lagu magacaabo Guardafui Channel
===Qaybaha maamulka===
Soomaaliya waxay si rasmi ah u qaybsantaa siddeed iyo toban gobol ( sara , gobol keli ah ), oo iyana loo qaybiyo degmooyin.
[[File:Somalia States and Regions.svg|thumb|Maabka gobollada Soomaaliya]]
Waqooyiga Soomaaliya hadda waa goorma ? Waxay u kala qaybsameen maamul-goboleedka Puntland ( oo isku haysta maamul-goboleedka ), Somaliland ( maamul-goboleed iskeed ugu dhawaaqday balse aan la aqoonsan ) iyo Maamulka Khaatumo ee Soomaaliya oo dhawaan la dhisay . Bartamaha Soomaaliya, Galmudug waa maamul-goboleed kale oo ka soo baxay koonfurta Puntland. Jubaland oo ku taal koonfurta fog waa ismaamulka afaraad ee federaalka.Sannadkii 2014-kii, ayaa sidoo kale la dhisay maamul-goboleedka cusub ee Koonfur-galbeed . Bishii Abriil 2015, waxaa sidoo kale la daah furay shirweyne lagu dhisayo dowlad goboleedka cusub ee Hirshabeelle .
Baarlamaanka Federaalka waxaa loo xilsaaray 2012-kii in uu soo xulo tirada ugu dambeysa iyo xuduudaha dowlad goboleedyada is-maamul goboleedyada (sida rasmiga ah ee xubnaha ka ah Federaalka ) ee Jamhuuriyadda Federaalka Soomaaliya.
===Goobta===
{{Multiple image
| align = right
| direction = vertical
| width = 250
| footer_align = left
| image1 = Horn of africa.jpg
| class1 = bg-transparent
| image2 = ISS062-E-51247 - View of Earth.jpg
| footer = Muuqaallo laga qaaday [[Geeska Afrika|Jasiiradda Soomaalida]] oo laga soo qaaday Dayax gacmeedka ''Columbia'' sannadkii 1993 (kor) iyo Saldhigga Hawada Caalamiga ah sannadkii 2020 (hoose)
}}
Soomaaliya waxay xuduud la leedahay [[Kenya]] dhanka koonfur-galbeed, [[Gacanka Cadmeed]] dhanka waqooyi, [[Marinka Gardafuul|Marinka Gardafuu]] iyo Badweynta Hindiya dhanka bari, iyo [[Itoobiya]] dhanka galbeed. Dalka wuxuu sidoo kale xuduud la leeyahay [[Jabuuti]]. Waxay ku taallaa inta u dhexeysa loolalka 2°S iyo 12°N, iyo dhigaha 41° iyo 52°E. Iyada oo si istaraatiiji ah ugu taalla afka laga galo Bab el Mandeb ee u dhexeeya [[Bada Cas]] iyo [[Kanaalka Suweys|Kanaalka Suweys]], dalku wuxuu ku yaallaa cirifka gobol u eg khariidadda [[Wiyil|geeska wiyisha]], taas oo inta badan loogu yeero [[Geeska Afrika]].<ref name="factbook"/><ref name="Hadden">Hadden, Robert Lee. 2007. [https://web.archive.org/web/20090327102547/http://handle.dtic.mil/100.2/ADA464006 "The Geology of Somalia: A Selected Bibliography of Somalian Geology, Geography and Earth Science"]. Engineer Research and Development Laboratories, Topographic Engineering Center</ref>
===Biyaha===
Soomaaliya waxay leedahay xeebta ugu dheer badweynta Afrika, oo leh boodh badeed dhererkeedu yahay 3,333 kiiloomitir (2,071 mi). Dhulkeedu waxa uu ka kooban yahay badiyaa taagga , bannaanka iyo dhulka sare . Qaranku wuxuu leeyahay bedka guud ee 637,657 kiiloomitir laba jibaaran (246,201 sq mi) kaas oo ka kooban dhul, oo leh 10,320 kiiloomitir laba jibaaran (3,980 sq mi) oo biyo ah. Soohdimaha dhulka ee Soomaaliya ayaa gaaraya ilaa 2,340 kiiloomitir (1,450 mi); 58 kiiloomitir (36 mi) ka mid ah waxaa la wadaaga Jabuuti, 682 kiiloomitir (424 mi) Kenya, iyo 1,626 kiiloomitir (1,010 mi) Itoobiya. Sheegashadeeda badda waxaa ka mid ah dhul-badeed dhan 200 nautical miles (370 km; 230 mi).
Soomaaliya waxaa xeebaheeda ku yaal jasiirado iyo jaziirado dhowr ah oo ay ku jiraan Jaziiradaha Bajuuni iyo Jaziiradaha Sacad-Diin : eeg jasiiradaha Soomaaliya .
[[File:Juba river downstream Jamaame.jpg|thumb|Webiga Jubba]]
===Degaan===
Soomaaliya waxay ka kooban tahay todobo dhuleed oo kala ah: Xabashida montane kaymaha , Waqooyiga Zanzibar–Inhambane mosaic kaynta xeebta , Somali Acacia–Commiphora bushlands iyo kayn , dhul daaqsimeed Xabashi ah iyo dhir dhireed , dhul daaqsimeed hobyo iyo geedo yaryar , Somali montane xeric woodlands , iyo mangroves Bariga Afrika
Dhanka waqooyi, bannaan saxare-meel-mareen ah oo xoqan, oo loo yaqaan Guban ayaa barbar-socda Gacanka Cadmeed . Iyada oo ballaciisu yahay laba iyo toban kiiloomitir galbeedka ilaa in yar oo laba kiiloomitir ah oo bari ah, bannaanka waxaa u kala qaybiya maro-biyoodyo asal ahaan ah sariiro ciid qallalan marka laga reebo xilliyada roobaadka. Marka roobabku da'aan, Guban's duurka hooseeya iyo cawska cawska ayaa isu beddela dhir cagaaran. Xariggaan xeebeedku waa qayb ka mid ah dhul- daaqsimeedkii Xabashida iyo dhir-dhireedka .
Cal Madow waa silsilad buuraley ah oo ku taal waqooyi bari ee dalka. Waxay ku dherersan tahay dhowr kiilo mitir dhanka galbeed ee magaalada Boosaaso ilaa waqooyi-galbeed ee Ceerigaabo , waxay ku taal meesha ugu sarreysa Soomaaliya , Shimbiris , oo ku fadhida meel sare ah ilaa 2,416 mitir (7,927 ft). Silsilada bari-galbeed ee buuraleyda Karkaar waxay sidoo kale ku yaalliin gudaha gudaha Gacanka Cadmeed. Gobollada dhexe, silsiladaha buuraha waqooyi ee dalka waxay u baneeyaan dhul-badeed-gacmeedyo iyo marin-biyoodyo qallalan oo deegaan ahaan loogu yeero Oogo . Dhulka galbeedka ee Oogo, ayaa isna si tartiib tartiib ah ugu biira Haud , oo ah aag muhiim u ah daaqa xoolaha.
Soomaaliya waxay leedahay laba webi oo kala ah Jubba iyo Shabeele oo labaduba ka bilaabma buuraleyda Itoobiya . Wabiyadan ayaa inta badan u socda dhanka koofureed, iyadoo webiga Jubba uu ka galo badweynta Hindiya ee magaalada Kismaayo . Wabiga Shabeelle ayaa mar sida muuqata gali jiray badda u dhow magaalada Marka , balse hadda waxa uu gaaray meel dhanka Koonfur-galbeed ka xigta magaalada Muqdisho. Intaa ka dib, waxa ay ka kooban tahay dhiiqo iyo meelo qallalan ka hor inta aan aakhirka lagu waayin dhulka saxaraha ah ee bariga Jilib , una dhow webiga Jubba.
===Deegaanka===
[[File:Somcoralreef.jpg|thumb|Xeebaha Soomaaliya , jardiinooyinka deegaanka iyo meelaha la ilaaliyo]]
Soomaaliya waa dal oomane ah oo leh qiyaastii 1.6% dhul beereed . Ururada deegaanka ee ugu horeeya waxay ahaayeen Ecoterra Soomaaliya iyo Bulshada Deegaanka Soomaali, labaduba waxay gacan ka geysteen kor u qaadista wacyiga ku saabsan walaaca deegaanka iyo abaabulida barnaamijyada deegaanka ee dhammaan qaybaha dawladda iyo sidoo kale bulshada rayidka ah. Laga soo bilaabo 1971-kii, olole ballaaran oo dhir beeris ah oo heer qaran ah ayaa dowladdii Siyaad Barre bilowday si ay u joojiso horu-marintii kumannaanka hektar ee dunta bacaadka ah ee ay dabeyshu kaxeyso oo halis ku ah inay qariso magaalooyinka, waddooyinka iyo dhul beereed. Sannadkii 1988-kii, 265 hektar oo ah 336 hektar oo la saadaaliyay ayaa la daweeyay, iyadoo 39 goobood oo kayd ah iyo 36 goobood oo kaymo ah la aasaasay. 1986, Xarunta Badbaadinta Duurjoogta, Cilmi-baarista iyo Kormeerka waxaa aasaasay Ecoterra International, iyada oo ujeedadu tahay in lagu wacyigeliyo dadweynaha arrimaha deegaanka. Dadaalkaas waxbarasho waxa uu horseeday 1989 kii waxa loogu yeero "soo jeedinta Soomaaliya" iyo go'aan ay dowladda Soomaaliya ku gaartay in ay raacdo Axdiga ganacsiga caalamiga ah ee dabar-goynta xayawaanka duurjoogta iyo dhirta (CITES), kaas oo markii ugu horreysay aasaasay adduunka oo dhan mamnuucidda ka ganacsiga Maroodiga Maroodiga .
[[File:Aerial views of Kismayo 06 (8071381265).jpg|thumb|Xeebta koofureed ee Muqdisho]]
Ka dib, Faadumo Jibrell , oo ah dhaqdhaqaaqe caan ah oo Soomaaliyeed oo u dhaqdhaqaaqa deegaanka, ayaa qaaday olole guul leh oo lagu ilaalinayo kaymaha geedaha qudhaca ah ee koray ee waqooyi-bari ee Soomaaliya. Geedahan, oo noolaan kara 500 oo sano, ayaa la jari jiray si looga sameeyo dhuxusha oo aad looga doonayay Jasiiradda Carabta, halkaas oo qabaa'ilka Baadiyaha ee gobolka ay aaminsan yihiin in qudhacdu ay tahay mid muqadas ah. Inaad noqoto shidaal aan qaali ahayn, soo saarista dhuxusha waxay inta badan keentaa xaalufka iyo xaalufka . Si wax looga qabto dhibaatadan, Jibrell iyo Horn of Africa Relief and Development Organisation (Horn Relief; hadda Adeso ), oo ah hay'ad ay aasaasaha iyo agaasimaha fulinta ka ahayd, waxay tababareen koox dhalinyaro ah si ay bulshada uga wacyigeliyaan waxyeelada joogtada ah ee soo saarista dhuxusha ay abuuri karto. 1999kii, Horn Relief waxay isku dubariday socod nabadeed waqooyi-bari Puntland ee Soomaaliya si loo soo afjaro waxa loogu yeero "dagaallada dhuxusha". Natiijadii ololaha Jibrell iyo dadaalkii waxbarashada, dawladda Puntland 2000 waxay mamnuucday dhoofinta dhuxusha. Dowladda ayaa sidoo kale tan iyo markii ay dhaqan galisay mamnuucidaasi, taasoo la sheegay inay keentay in 80% hoos u dhac ku yimaado dhoofinta badeecada. Jibrell waxaa lagu abaalmariyay Abaalmarinta Deegaanka Goldman ee 2002 dadaalkeeda ka dhanka ah xaalufka deegaanka iyo xaalufka. Sannadkii 2008, waxay sidoo kale ku guulaysatay Abaalmarinta Mu'asasada Qaranka ee Juqraafiga / Buffett ee Hoggaanka Ilaalinta.
Ka dib tsunamigii weynaa ee Diisambar 2004 , waxaa sidoo kale soo baxay eedeymo sheegaya in ka dib markii uu qarxay dagaalkii sokeeye ee Soomaaliya dabayaaqadii 1980-meeyadii, in xeebta dheer ee Soomaaliya ee fog fog loo isticmaalay goob qashin ah oo lagu aaso qashinka sunta ah. Mowjadaha waaweyn ee ku dhuftay waqooyiga Soomaaliya kadib tsunamigii ayaa la rumeysan yahay inay kiciyeen tan oo ah haraadiga sunta nukliyeerka ah oo laga yaabo inay si sharci darro ah dalka ugu daadiyeen shirkado shisheeye.
Xisbiga Cagaaran ee Yurub waxa uu daba socday cadaymahaas isagoo horgeeyay saxaafadda iyo baarlamaanka Yurub ee Strasbourg nuqulo qandaraasyo ah oo ay kala saxiixdeen laba shirkadood oo reer Yurub ah - Shirkadda Swiss Swiss, Achair Partners, iyo dilaaliinta qashinka Talyaaniga Progresso - iyo wakiillo ka socday Madaxweynihii hore ee Soomaaliya, Hogaamiye kooxeed Cali Mahdi Maxamed, si ay u qaataan 10 milyan oo tan oo qashinka sunta ah oo ay ku bedesheen 80 milyan oo gini.
Sida lagu sheegay warbixin ay soo saartay hay’adda Qaramada Midoobay u qaabilsan deegaanka (UNEP), qashinka ayaa sababay in uu aad uga sarreeyo xaaladaha caadiga ah ee caabuqyada neef-mareenka, boogaha afka iyo dhiig-baxa, dhiigbaxa caloosha iyo caabuqa maqaarka oo aan caadi ahayn oo ku dhacay dad badan oo deggan deegaannada ku teedsan waqooyi-bari ee magaalooyinka Hobyo iyo Banaadir ee xeebta Badweynta Hindiya - cudurro la socda xanuunka shucaaca. UNEP waxay intaas ku dartay in xaaladda xeebaha Soomaaliya ay khatar deegaan oo aad u daran aysan ka jirin Soomaaliya oo keliya, balse sidoo kale gobolka bariga Afrika.
===Cimilada===
[[File:Koppen-Geiger Map v2 SOM 1991–2020.svg|thumb|Köppen–Geiger map-ka kala soocida cimilada ee 1-km xallinta Soomaaliya 1991-2020]]
Sababo la xiriira u dhawaanshaha Soomaaliya ee dhulbaraha , ma jiro isbeddel xilliyeed badan oo cimiladeeda ah. Xaalado kulul ayaa sanadka oo dhan jira oo ay la socdaan dabaylaha monsoon iyo roobab aan joogto ahayn. Celceliska heerkulka ugu sarreeya ee maalin kasta wuxuu u dhexeeyaa 30 ilaa 40 ° C (86 ilaa 104 °F), marka laga reebo meelaha sare ee xeebta bari, halkaasoo laga dareemi karo saamaynta qabow ee hadda taagan. Muqdisho, tusaale ahaan, celceliska heerka galabnimada wuxuu u dhexeeyaa 28 ilaa 32 °C (82 ilaa 90 °F) bisha Abriil. Qaar ka mid ah heerkulka celceliska sannadlaha ah ee ugu sarreeya adduunka ayaa laga diiwaan geliyay waddanka; Berbera oo ku taal xeebta waqooyi-galbeed waxay leedahay galab sare oo celcelis ahaan ka badan 38 °C (100 °F) laga bilaabo Juun ilaa Sebtembar. Qaran ahaan, celceliska celceliska maalinlaha ahi badanaa way kala duwan yihiin qiyaastii 15 ilaa 30 ° C (59 ilaa 86 ° F). Kala duwanaanshaha ugu badan ee cimiladu waxay ka dhacdaa waqooyiga Soomaaliya, halkaas oo heerkulku mararka qaarkood dhaafo 45 ° C (113 ° F) bisha Luulyo ee bannaanka litoral oo hoos uga dhaco barta qabowga bisha Disembar ee buuraha sare. Gobolkan, qoyaanka qaraabada ahi wuxuu u dhexeeyaa 40% badhtamaha galabnimada ilaa 85% habeenkii, isbeddelaya waxoogaa marka loo eego xilliga. Si ka duwan cimilada dalalka kale ee ugu badan ee loolkan, xaaladaha Soomaaliya waxay u dhexeeyaan oomane waqooyi-bari iyo gobollada dhexe ilaa waqooyi -galbeed iyo koonfurta. Waqooyi-bari, roobka sannadlaha ahi wuxuu ka yar yahay 100 mm (4 in); Taagga dhexe, waa qiyaastii 200 ilaa 300 mm (8 ilaa 12 inji). Qaybaha waqooyi-galbeed iyo koonfur-galbeed ee qaranka, si kastaba ha ahaatee, waxay helaan roobab aad u badan, iyadoo celcelis ahaan 510 ilaa 610 mm (20 ilaa 24 in) ay dhacaan sannadkii. Inkasta oo gobollada xeebuhu ay kulul yihiin oo qoyan yihiin sannadka oo dhan, dhul-badeedku caadi ahaan waa qalalan oo kulul.
Waxa jira afar xilli oo nolosha xoolo-dhaqatada iyo beeralayda ah ku wareegsan yihiin, kuwaasna waxa lagu maamulaa isbeddellada dabaysha. Laga bilaabo Disembar ilaa Maarso waa Jiilaalka , xilliga xagaaga ee ugu adag sanadka. Xilli-roobaadka ugu muhiimsan, oo loo yaqaan Gu'ga , wuxuu socdaa Abriil ilaa Juunyo. Xilligan waxaa lagu gartaa dabeylaha koonfur-galbeed, kuwaas oo dib u soo nooleeya dhul-daaqsimeedka, gaar ahaan dhul-daaqsimeedka dhexe, oo muddo kooban saxaraha u beddela dhir cagaaran. Laga bilaabo Luulyo ilaa Sebtembar waa xilliga labaad ee qalalan, Xagaa (waxaa loogu dhawaaqaa "Xagaa"). Dayr , oo ah xilli-roobaadka ugu gaaban, wuxuu socdaa Oktoobar ilaa Disembar. Xilliyada tangambili ee dhexgala labada dabaylaha (Oktoobar-Noofambar iyo Maarso-May) waa kulayl iyo qoyaan.
===Duurjoogta===
[[File:Sambalaxx.jpg|thumb|Geela buuraha waqooyi]]
Soomaaliya waxaa ku nool naasley kala duwan, taas oo ay sabab u tahay kala duwanaanshaha cimilada iyo deegaanka. Duurjoogta dalka waxaa ka mid ah haramcadka, libaaxa, geriga, baboonka, servalka, maroodiga, doofaarka duurjoogta ah, cawska, kudu, dik-dik, oribi, dabada duurjoogta Soomaalida, reedbuck, zebra, maroodi-shrew iyo dhagax-dhagax.
Soomaaliya waxay hoy u tahay ilaa 727 nooc oo shimbiro ah. Siddeed ka mid ah waa noocyo ku faafa dalka, mid waxaa keenay aadanaha, midna waa dhif ama si kama' ah u yimaada. Afar iyo toban nooc ayaa caalamka khatar ku ah. Noocyada shimbiraha ee si gaar ah looga helo Soomaaliya waxaa ka mid ah xamaamka Soomaalida; Alaemon hamertoni (Alaudidae), Hoopoe-Lark; Heteromirafra archeri (Alaudidae), Archer's Lark; Mirafra ashi (Alaudidae), Ash's Bushlark; Mirafra somalica (Alaudidae), Somali Bushlark; Spizocorys obbiensis (Alaudidae), Obbia Lark; Carduelis johannis (Fringillidae); iyo Warsangli Linenet.
Xeebaha Soomaaliya ayaa ka mid ah goobaha ugu muhiimsan ee kalluumeysiga noocyada badda ee aad u guura, sida tuna. Qalfoofka qaaradda ee cidhiidhiga ah balse wax-soo-saarka leh wuxuu ka kooban yahay noocyo badan oo kalluun-demersal ah iyo qolofley. Noocyada kalluunka si gaar ah looga helo Soomaaliya waxaa ka mid ah Cirrhitichthys randalli (Cirrhitidae), Symphurus fuscus (Cynoglossidae), Parapercis simulata (Pinguipedidae), Cociella somaliensis (Platycephalidae), iyo Pseudochromis melanotus (Pseudochromidae).
Waxaa jira qiyaastii 235 nooc oo xamaarato ah. Ku dhowaad kala bar waxay ku nool yihiin aagga waqooyi. Xamaaratada ku baahsan Soomaaliya waxaa ka mid ah Viper-ka Hughes, Maska Garter-ka Koonfurta Soomaaliya, orodyahan (Platyceps messanai), mas diadem (Spalerosophis josephscorteccii), ciidda Soomaaliyeed, qorraxda gooryaanka xaglaha leh, qorraxda aagagga dhabarka leh, qorraxda ciidda Soomaaliyeed (Mesalina ama Eremias), gecko (Hemidactylus granchii), gecko-ga Soomaaliyeed ee semaphore, iyo qorratada ciidda.
Mas colubrid (Aprosdoketophis andreonei) iyo maqaarka Haacke-Greer (Haackgreerius miopus) waa noocyo si gaar ah ugu kooban Soomaaliya.
==Siyaasadda iyo dawladnimada==
<!-- legislative leadership - executive leadership below -->{{Multiple image
| direction = horizontal
| total_width = 350
| image1 = Somali President Hassan Sheikh Mohamud at Djiboutian presidential palace in Djibouti, Djibouti, September 24, 2023 - (cropped).jpg
| caption1 = [[Xasan Sheekh Maxamuud]]<br /><small>[[Madaxweynaha Soomaaliya|Madaxweyne]] tan iyo 2022</small>
| image2 = Hamza Abdi Barre 2025 official portrait.jpg
| caption2 = [[Xamse cabdi barre]]<br /><small>Ra'iisul Wasaare tan iyo 2022</small>
}}
jamhuuriyad dimuqraadi ah oo wakiil ka ah baarlamaanka . Madaxweynaha Soomaaliya ayaa ah madaxa qaranka iyo taliyaha guud ee ciidamada qalabka sida ee Soomaaliya , waxaana uu soo xulaa Ra’iisul wasaare si uu u noqdo madaxa xukuumadda .
Baarlamaanka Federaalka Soomaaliya waa baarlamaanka qaranka Soomaaliya. Labada Aqal ee Sharci-dejinta Qaranka waxa ay ka kooban yihiin Golaha Shacabka (Aqalka Hoose) iyo Senatka (Aqalka Sare), kuwaas oo xubnahooda loo doortay in ay qabtaan muddo afar sano ah. Baarlamaanka ayaa dooranaya Madaxweynaha, Guddoomiyaha Baarlamaanka iyo ku xigeenadiisa. Waxa kale oo ay awood u leedahay in ay ansixiso oo diido sharciyada.
[[File:Adan Mohamed Nuur.jpg|thumb|[[Aaden Nuur|Aadan Madoobe]], [[Liiska Afhayeenada Baarlamaanka Soomaaliya|Guddoomiyaha Baarlamaanka]]]]
Garsoorka Soomaaliya waxaa qeexaya Dastuurka kumeel gaarka ah ee Jamhuuriyadda Federaalka Soomaaliya. Waxaa 1-dii Agoosto 2012 ku ansixiyay Golaha Dastuurka Qaranka ee Muqdisho, dukumeentiga waxaa dejiyay guddi khubaro ah oo uu guddoomiye u yahay qareenka iyo Guddoomiyaha Baarlamaanka Federaalka, Maxamed Cismaan Jawaari . Waxay bixisaa aasaaska sharciga ah ee jiritaanka Jamhuuriyadda Federaalka iyo isha awood sharci.
Qaab dhismeedka maxkamadaha qaranka waxaa loo habeeyay saddex heer: Maxkamada Dastuuriga ah, Maxkamadaha heer Federaal iyo maxkamado heer dowlad goboleed . Golaha Adeegga Garsoorka oo ka kooban sagaal xubnood ayaa magacaabaya xubin kasta oo heer Federaal ah oo ka tirsan garsoorka. Waxa kale oo ay soo xulaysaa oo ay horgeynaysaa golaha shacabka ee baarlamaanka federaalka ah garsoorayaasha maxkamadda dastuuriga ah si ay u ansixiyaan. Haddii la ansixiyo, Madaxweynuhu wuxuu musharraxa u magacaabayaa garsoore Maxkamadda Dastuuriga ah. Maxkamadda Dastuuriga ah oo ka kooban shan xubnood ayaa ka garnaqsa arrimaha dastuurka, marka laga soo tago arrimo kala duwan oo heer federaal iyo heer maamul goboleed ah.
Sharciga Soomaalidu waxa uu ka soo jeedaa saddex hab oo isku dhafan oo kala ah: Sharciga Madaniga ah , Shareecada Islaamka iyo Xeer-dhaqameedka .
Marka loo eego 2023 V-Dem Democracy tilmaanta Soomaaliya waa dalka 5-aad ee ugu dimuqraadiga yar Afrika . Burburkii Soomaaliya ka dib 1991 ma jirin wax xidhiidh ah ama xidhiidh dhex maray dawladda Somaliland oo ku dhawaaqday in ay dal tahay iyo dawladda Soomaaliya
===Qaybaha maamulka===
{{Main|Gobolada Soomaaliya|Maamulgoboleedka Soomaaliya}}
Soomaaliya si rasmi ah waxay u qaybsantaa toddoba [[Maamulgoboleedka Soomaaliya|dawlad goboleed]] iyo siddeed iyo toban [[Gobolada Soomaaliya|gobol]] (''gobollada'', kaligeed waa ''gobol''),<ref name="factbook"/> kuwaas oo iyana u sii qaybsama degmooyin. Gobolladu waa:
{|
|rowspan="2"|[[File:Somalia States and Regions.svg|thumb|center|upright=1.3|Gobollada Soomaaliya oo leh dowlad-goboleedyo midabbo leh]]
|style="padding-right:1em; padding-left:2em; vertical-align:top;"|
<div class="center">{{flag icon|Somaliland}}{{color box|#72FE6E}}'''[[Somaliland]]'''</div>
----
[[Awdal]]{{pb}}
[[Maroodi Jeex|Woqooyi Galbeed]] {{pb}}
[[Togdheer]] {{pb}}
[[Sanaag]] {{pb}}
[[Sool]]*{{pb}}
|style="padding-right:1em; vertical-align:top;"|
<div class="center">{{flag icon|Khatumo}}'''{{color box|#6CCAFE}} [[Waqooyibari|Waqooyi Bari]]'''</div>
----
[[Togdheer]] {{pb}}
[[Sanaag]] {{pb}}
[[Sool]] {{pb}}
|style="padding-right:1em; vertical-align:top;"|
<div class="center">{{flag icon|Puntland}}'''{{color box|#AEA9FE}} [[Puntland]]'''</div>
----
[[Bari (Gobol)|Bari]]{{pb}}
[[Nugaal|Nugaal]]{{pb}}
[[Mudug]] {{pb}}
|style="padding-right:1em; vertical-align:top;"|
<div class="center">{{flag icon|Galmudug}}'''{{color box|#DFA9FE}} [[Galmudug]]'''</div>
----
[[Galguduud]]{{pb}}
[[Mudug]] {{pb}}
|-
|style="padding-right:1em; padding-left:2em; vertical-align:top;"|
<div class="center">'''{{flag icon|Hirshabeelle}}{{color box|#FE3A46}} [[Hirshabeelle]]'''</div>
----
[[Hiiraan|Hiiraan]]{{pb}}
[[Shabeellaha Dhexe|Shabeellaha Dhexe]]{{pb}}
|style="padding-right:1em; vertical-align:top;"|
<div class="center">{{flag icon|South West State of Somalia}}'''{{color box|#FE9C5A}} [[Koonfur Galbeed|Koonfur Galbeed]]'''</div>
----
[[Bakool]]{{pb}}
[[Baay|Baay]]{{pb}}
[[Shabeellaha Hoose|Shabeellaha Hoose]]{{pb}}
|style="padding-right:1em; vertical-align:top;"|
<div class="center">{{flag icon|Jubaland}}'''{{color box|#FEBB5A}} [[Jubaland]]'''</div>
----
[[Gedo]]{{pb}}
[[Jubbada Dhexe|Jubbada Dhexe]]{{pb}}
[[Jubbada Hoose|Jubbada Hoose]]{{pb}}
|style="padding-right:1em; vertical-align:top;"|
<div class="center">{{flagicon image|Flag of Mogadishu, Somalia.svg}}'''{{color box|#F5F601}} [[Banaadir]]'''</div>
----
[[Muqdisho|Muqdisho]]{{pb}}
|}
<small> * Lagu muransan yahay</small>
<small> ** Waxaa Somaliland u kala saartay [[Maroodi Jeex]] iyo [[Saaxil|Saaxil]]</small>
<small> *** Waxaa wadaaga Puntland iyo Galmudug</small>
** Waxay Somaliland u qaybisay [[Maroodi Jeex]] iyo [[Saaxil|Saaxil]]</small>
<small> *** Waxaa wadaaga Puntland iyo Galmudug</small>
Waqooyiga Soomaaliya hadda ''de facto'' waxay u qaybsan tahay [[Maamulgoboleedka Soomaaliya|gobollada ismaamulka]] ee [[Puntland]] (oo isu tixgelisa dawlad goboleed ismaamul ah), [[Somaliland]] (dawlad iskeed ugu dhawaaqday madax-bannaani, aqoonsi xaddidan leh) iyo [[Waqooyibari|Dawlad Goboleedka Woqooyi Bari ee Soomaaliya]] oo dhowaan la aasaasay. Bartamaha Soomaaliya, [[Galmudug]] waa maamul goboleed kale oo ka soo baxay koonfurta Puntland. [[Jubaland]] oo ku taal koonfurta fog waa gobolka afaraad ee ismaamul ee ka tirsan federaalka.<ref name="factbook"/> Sannadkii 2014-kii, waxaa sidoo kale la aasaasay [[Koonfur Galbeed|Dawlad Goboleedka Koonfur Galbeed]].<ref>{{cite news|title=International community welcomes newly-elected President of Somalia's Interim South West Administration|url=http://goobjoog.com/english/?p=6410|access-date=5 January 2015|newspaper=Goobjoog|date=19 November 2014|archive-date=9 January 2015|archive-url=https://web.archive.org/web/20150109002414/http://goobjoog.com/english/?p=6410|url-status=dead}}</ref> Bishii Abriil 2015, waxaa sidoo kale la furay shirka dhismaha ee dawlad goboleedka cusub ee [[Hirshabeelle |Hirshabeelle]].<ref>{{cite news|title=Adado conference kicks off in central Somalia|url=http://www.garoweonline.com/page/show/post/2322/adado-conference-kicks-off-in-central-somalia|access-date=15 May 2015|agency=Garowe Online|date=16 April 2015|archive-date=11 August 2015|archive-url=https://web.archive.org/web/20150811104021/http://www.garoweonline.com/page/show/post/2322/adado-conference-kicks-off-in-central-somalia|url-status=dead}}</ref>
[[Baarlamaanka Federaalka Soomaaliya|Baarlamaanka Federaalka]] waxaa loo xilsaaray sannadkii 2012-kii inay soo xulaan tirada kama dambaysta ah iyo xuduudaha dawlad goboleedyada ismaamulka (si rasmi ah ''[[Maamulgoboleedka Soomaaliya|Dawlad Goboleedyada xubnaha ka ah Federaalka]]'') ee ka tirsan Jamhuuriyadda Federaalka Soomaaliya.<ref name="Frspc">{{cite web|title=Guidebook to the Somali Draft Provisional Constitution|url=http://unpos.unmissions.org/LinkClick.aspx?fileticket=v067edqd7a8%3D&tabid=9705&language=en-US|access-date=2 August 2012|url-status=dead|archive-url=https://web.archive.org/web/20130120021547/http://unpos.unmissions.org/LinkClick.aspx?fileticket=v067edqd7a8%3D&tabid=9705&language=en-US|archive-date=20 January 2013}}</ref>
===Xiriirka dibadda===
[[File:2015 01 25 Turkish President Visit to Somalia-1 (16176887607).jpg|thumb|Madaxweynaha Soomaaliya Xasan Sheekh Maxamuud iyo Madaxweynaha Turkiga Recep Tayyip Erdogan ayaa xariga ka jaray Terminalka cusub ee Garoonka Diyaaradaha Aadan Cabdulle ee magaalada Muqdisho. (25 Janaayo 2015)]]
Xiriirka dibadda ee Soomaaliya waxaa maamula madaxweynaha sida madaxa dowladda, Ra’iisul wasaaraha oo ah madaxa xukuumadda, iyo wasaaradda arrimaha dibadda ee federaalka .
Sida ku cad qodobka 54-aad ee dastuurka qaranka, qeybsiga awoodaha iyo kheyraadka ee dowladda federaalka iyo dowlad goboleedyada xubnaha ka ah dowladda federaalka Soomaaliya waa in ay ka wadahadlaan oo ay ku heshiiyaan dowladda federaalka iyo dowlad goboleedyada, marka laga reebo arrimaha la xiriira arrimaha dibadda, difaaca qaranka, jinsiyadda iyo socdaalka iyo siyaasadda lacagta. Qodobka 53-aad ayaa sidoo kale dhigaya in Dowladda Federaalka ay kala tashato Dowladaha xubnaha ka ah Dowladda Federaalka arrimaha waaweyn ee la xiriira heshiisyada caalamiga ah oo ay ku jiraan wada-xaajoodka ganacsiga dibadda, maaliyadda iyo heshiisyada. Dowladda Federaalka waxay xiriir laba geesood ah la leedahay dhowr dowladood oo dhexe oo ka tirsan beesha caalamka. Waxaa ka mid ah Jabuuti , Itoobiya , Masar , Imaaraadka Carabta , Yemen , Turkiga , Talyaaniga , Ingiriiska , Denmark , Faransiiska , Maraykanka , Jamhuuriyadda Shacbiga Shiinaha , Japan , Federaalka Ruushka iyo Koonfurta Kuuriya .
Intaa waxaa dheer, Soomaaliya waxay leedahay dhowr safaaradood oo dibadda ah. Waxaa sidoo kale jira safaarado iyo qunsuliyado shisheeye oo kala duwan oo fadhigoodu yahay caasimadda Muqdisho iyo meelo kale oo dalka ah.
Soomaaliya waxay kaloo xubin ka tahay ururo badan oo caalami ah, sida Qaramada Midoobay , Midowga Afrika iyo Jaamacadda Carabta . Waxay xubin ka ahayd Ururka Iskaashiga Islaamka 1969. Xubnaha kale waxaa ka mid ah Bangiga Horumarinta Afrika , Bulshada Bariga Afrika , Kooxda 77 , Urur Goboleedka IGAD , Bangiga Caalamiga ah ee Dib-u-dhiska iyo Horumarinta , Hay'adda Duulista Rayidka Caalamiga ah , Ururka Horumarinta Caalamiga ah , Hay'adda Maaliyadda Caalamiga ah , Dhaqdhaqaaqa aan Isbahaysiga ahayn iyo Ururka Ganacsiga Adduunka ee Ururka Ganacsiga Adduunka
===Milatari===
[[File:Colonel Abdullahi Ahmed Irro - 1977.jpg|thumb|Gaashaanle Sare C/laahi Axmed Cirro oo ahaa Taliyihii Ciidanka Xoogga Dalka Soomaaliyeed 1977kii.]]
Ciidamada Qalabka Sida ee Soomaaliya (SAF) waa ciidamada milateriga ee Jamhuuriyadda Federaalka Soomaaliya. Isagoo Madaxwaynuhu ka yahay Taliyaha Guud ee Qaranka, waxa dastuurku u igmaday inay sugaan qarannimada, madaxbannaanida iyo wadajirka dhuleed ee qaranka.
SAF waxa ay markii hore ka koobnaayeen Ciidanka , Ciidanka Badda , Ciidanka Cirka , Ciidanka Booliska iyo Nabadsugida . Muddadii xorriyadda ka dib, waxay kortay inay ka mid noqoto ciidamada waaweyn ee qaaradda. Kaddib markii uu qarxay dagaalkii sokeeye ee 1991kii wuxuu horseeday in la kala diro ciidankii xoogga dalka Soomaaliyeed.
Sannadkii 2004-tii, waxaa si tartiib-tartiib ah dib-u-dhis ciidan loogu sameeyay dhismihii KMG ahaa. Ciidamada qalabka sida ee Soomaaliya ayaa hadda waxaa dusha kala socda Wasaaradda Gaashaandhigga Xukuumadda Federaalka Soomaaliya oo la dhisay bartamihii sanadkii hore ee 2012-ka. Bishii Janaayo 2013, dowladda federaalka ah ee Soomaaliya ayaa sidoo kale dib u howlgelisay hay’addii sirdoonka qaranka ee Muqdisho, iyadoo magaca hay’addaas loo bixiyay NISA . Dawlad- goboleedka Somaliland iyo Puntland waxay ilaashadaan ammaankooda iyo ciidamadooda booliiska.
===Xuquuqda Aadanaha===
Xuquuqda aadanaha waxaa lagu damaanad qaaday [[Dastuurka Soomaaliya|Dastuurka Federaalka]]. Waxay hoos yimaadaan Wasaaradda Xuquuqda Aadanaha oo la aasaasay bishii Agoosto 2013.<ref name="Usthrs">{{cite news|title=Somalia takes human rights steps|url=http://www.upi.com/Top_News/Special/2013/09/03/Somalia-takes-human-rights-steps/UPI-34071378218185/|access-date=20 February 2014|newspaper=UPI|date=3 September 2013}}</ref> Isla waqtigaas, maamulka dhexe wuxuu bilaabay Maalinta Qaranka ee Xuquuqda Aadanaha, ansixiyay Khariidadda Rasmiga ah ee Xuquuqda Aadanaha,<ref name=Suehhrebubcp>{{cite news|title=Somalia: UN expert hails human rights effort but urges broader consultation process |url=https://www.un.org/apps/news/story.asp/www.wmo.int/html/story.asp?NewsID=45759&Cr=somalia&Cr1=#.UwVrE5gju1E |archive-url=https://archive.today/20140220063126/http://www.un.org/apps/news/story.asp/www.wmo.int/html/story.asp?NewsID=45759&Cr=somalia&Cr1=%23.UwVrE5gju1E |url-status=dead|access-date=20 February 2014 |newspaper=UN News Centre |date=3 September 2013 |archive-date = 2014-02-20}}</ref> wuxuuna dhameystiray Siyaasadda Qaranka ee Jinsiga ee ugu horreysay Soomaaliya.<ref name="Sasrracptrwvms">{{cite web|title=SOMALIA: AU Special Representative reiterates AMISOM's commitment in protecting the rights of women and vulnerable members of Society|url=http://horseedmedia.net/2013/08/14/somalia-au-special-representative-reiterates-amisoms-commitment-in-protecting-the-rights-of-women-and-vulnerable-members-of-society/|publisher=AMISOM|access-date=19 February 2014|archive-url=https://web.archive.org/web/20140302122017/http://horseedmedia.net/2013/08/14/somalia-au-special-representative-reiterates-amisoms-commitment-in-protecting-the-rights-of-women-and-vulnerable-members-of-society/|archive-date=2 March 2014|url-status=dead}}</ref>
Galmada lab iyo dhedig labadaba waxay ku muteysanayaan dil Soomaaliya gudaheeda. Oktoobar 3, 2020, baadhaha xuquuqul insaanka ee Qaramada Midoobay ayaa walaac ka muujiyay dib u dhigista dowladda Soomaaliya ee ballanqaadyada xuquuqda aadanaha.
==Dhaqaalaha==
[[File:Air Somalia Tupolev Tu-154.jpg|thumb|Diyaaradda Air Somalia Tupolev Tu-154 ee magaalada Sharjah ee dalka Imaaraadka Carabta. Soomaaliya maanta waxay leedahay diyaarado dhowr ah oo gaar loo leeyahay.]]
Sida laga soo xigtay CIA-da iyo Bangiga Dhexe ee Soomaaliya , iyadoo ay socdaan kacdoono sokeeye, dhaqaalaha Soomaaliya wuxuu ku kooban yahay marka hore xoolaha iyo xawaaladaha / xawaaladaha Soomaalida ee ku nool wadamada dhaqaalahoodu horumaray, iyo isgaarsiinta gudaha . Iyadoo ay ugu wacan tahay yaraanta tirakoobka rasmiga ah ee dawladda iyo soo noqnoqoshada dagaalka sokeeye ee tobanaan sano socday , way adagtahay in la qiyaaso xajmiga ama kobaca dhaqaalaha. Sannadkii 1994-kii, CIA waxay ku qiyaastay GDP-ga $3.3 bilyan. Sannadkii 2001, waxa lagu qiyaasay inay dhan tahay $4.1 bilyan. Sannadkii 2009, CIA waxay ku qiyaastay in GDP-gu uu koray $5.731 bilyan, iyada oo la saadaaliyay heerka kobaca dhabta ah ee 2.6%. Sida laga soo xigtay warbixintii Rugta Ganacsiga ee Ingiriiska 2007 , intii lagu jiray dagaal gudaha ah oo aad u yar, qaybta gaarka loo leeyahay ayaa sidoo kale koray, gaar ahaan qaybta adeegga. Si ka duwan xilligii dagaalka sokeeye ka hor, oo inta badan adeegyada iyo waaxda warshaduhu ay ahaayeen kuwo ay dowladdu maamusho , warbixintii 2007dii waxay xustay maalgashi gaar ah oo la taaban karo, inkastoo aan la qiyaasi karin, ee hawlaha ganacsiga; Taas waxaa inta badan maalgeliyay qurbajoogta Soomaaliyeed , waxaana ka mid ahaa ganacsiga iyo suuqgeynta, adeegyada xawilaadaha, gaadiidka, isgaarsiinta, qalabka kalluumeysiga, shirkadaha diyaaradaha, isgaarsiinta, waxbarashada, caafimaadka, dhismaha iyo hoteellada. Sannadkii 2007, dhaqaaleyahan Libertarian Peter Leeson waxa uu dhaqdhaqaaqa dhaqaale ee korodhay u sababeeyay xeer dhaqameedka Soomaalida (oo loo yaqaan Xeer ), kaas oo uu soo jeediyay in uu helo jawi xasiloon oo ganacsi lagu sameeyo.
Sida laga soo xigtay Bangiga Dhexe ee Soomaaliya, GDP qofkiiba sanadkii 2012 wuxuu ahaa $226, wax yar ayaa hoos u dhacay marka la eego 1990. Qiyaastii 43% dadweynaha waxay ku nool yihiin wax ka yar 1 doolarka Mareykanka ah maalintii, qiyaastii 24% dadka laga helo magaalooyinka iyo 54% waxay ku nool yihiin miyiga.
Dhaqaalaha Soomaaliya wuxuu ka kooban yahay wax-soo-saar dhaqameed iyo mid casri ah, iyadoo si tartiib-tartiib ah loogu guurayo farsamada casriga ah ee warshadaha. Soomaaliya ayaa leh geela ugu badan adduunka. Sida laga soo xigtay Bangiga Dhexe ee Soomaaliya, qiyaastii 80% dadku waa xoolo-dhaqato reer-guuraa ah, oo xoolo dhaqato ari, ido, geel iyo lo'. Reer guuraagu waxa kale oo ay ururiyaan xabag iyo xabag si ay u kabaan dakhligooda.
===Beeraha===
Beeraha ayaa ah qaybta ugu muhiimsan dhaqaalaha Soomaaliya. Waxay ka dhigan tahay qiyaastii 65% GDP waxayna shaqaaleysiisaa 65% xoogga shaqada. Xooluhu waxay ka qaybqaataan qiyaastii 40% GDP iyo in ka badan 50% dakhliga dhoofinta. dhoofinta ugu muhiimsan waxaa ka mid ah kalluunka , dhuxusha iyo muuska ; Sonkorta , hadhuudhka iyo galleyda waa wax soo saarka suuqa gudaha. Sida laga soo xigtay Bangiga Dhexe ee Soomaaliya , badeecadaha la soo dejiyo waxay dhan yihiin $460 milyan sannadkii, taasoo ka badan wadarta guud ee la soo dejiyo ka hor bilowgii dagaalkii sokeeye ee 1991. Dhoofinta, oo dhan $270 milyan sannadkii, ayaa sidoo kale kor u dhaaftay wadarta guud ee dhoofinta wadarta guud ee dagaalka ka hor. Soomaaliya waxaa ka jirta hoos u dhac ganacsi oo gaaraya ilaa 190 milyan oo dollar sanadkii, balse taasi waxaa dhaaftay lacagaha ay soo diraan Soomaalida qurbaha ku nool, taasoo lagu qiyaasay ilaa hal bilyan oo dollar.
Iyada oo laga faa'ideysanayo in ay ku yaallaan meel u dhow Jasiiradda Carabta, ganacsatada Soomaaliyeed ayaa si isa soo taraysa u billaabay in ay ka hor yimaadaan dhaqanka Australia ee ku aaddan suuqa xoolaha iyo hilibka Carbeed, iyaga oo siinaya xoolo tayo leh qiimo aad u jaban. Taas oo taas ka duulaysa, dalalka Khaliijka Carabta ayaa bilaabay inay dalka ku sameeyaan maalgashi istiraatijiyad ah, iyadoo Sucuudigu dhisay kaabayaashii dhoofinta xoolaha, Imaaraadkuna iibsaday dhul beereed aad u ballaadhan. Soomaaliya sidoo kale waa dalka ugu badan ee keena Beeyada iyo Malmalka
[[File:Mogadishu Sea Port.jpg|thumb|Dekada Muqdisho]]
Qaybta warshadaha ee dhexdhexaadka ah , oo ku salaysan habaynta wax soo saarka beeraha, ayaa 10% ka ah GDP-ga Soomaaliya. Sida laga soo xigtay Rugta Ganacsiga iyo Warshadaha Soomaaliyeed , in ka badan lix shirkadood oo diyaaradeed oo gaar loo leeyahay ayaa sidoo kale bixiya duulimaadyo ganacsi oo gudaha iyo dibadda ah, oo ay ku jiraan shirkadaha Diyaaradaha ee Daallo, shirkadaha Diyaaradaha ee Jubba, shirkadaha Diyaaradaha ee Afrikaan Express , Bariga Afrika 540, Xarunta Hawada Dhexe iyo Hajara. Sannadkii 2008, dawladda Puntland waxay heshiis malaayiin doollar ah la saxeexatay Dubai ' Kooxda Lootah, oo ah koox warshadeed goboleed oo ka hawlgasha Bariga Dhexe iyo Afrika. Heshiiskan ayaa dhigaya in wajiga koowaad ee maalgelinta uu ku kacayo 170 m, waxaana lagu wadaa in la dhiso shirkado cusub oo ka howlgala, maamula iyo dhismaha suuqa ganacsiga xorta ah ee magaalada Boosaaso iyo dhismaha badda iyo garoonka diyaaradaha. Shirkadda Garoonka Diyaaradaha ee Boosaaso ayaa loo qorsheeyay inay dhisto dhismaha garoonka si ay u buuxiso heerarka caalamiga ah, oo ay ku jiraan waddo cusub oo 3,400 m (11,200 fuudh) ah, dhismayaal waaweyn iyo kuwo caawiye ah, tagaasida iyo garoonnada, iyo hareeraha ammaanka.
Kahor inta uusan dillaacin dagaalkii sokeeye ee 1991, qiyaastii 53 shirkadood oo yar yar, dhexe iyo waaweyn oo wax soo saar ah oo ay dowladdu leedahay ayaa aasaasay, iyada oo iskahorimaadkii xigay uu burburiyay qaar badan oo ka mid ah warshadaha soo haray. Si kastaba ha ahaatee, ugu horrayn natiijada maalgashi maxalli ah oo la taaban karo oo ay sameeyeen qurba joogta Soomaaliyeed, in badan oo ka mid ah dhirtan yar yar ayaa dib loo furay kuwa cusubna waa la abuuray. Kuwa dambe waxaa ka mid ah warshado ka sameysan kalluunka oo ku yaalla gobollada waqooyi, sidoo kale waxaa ku yaalla 25 warshadood oo ku yaalla agagaarka Muqdisho, kuwaas oo soo saara baastada, biyaha macdanta, macmacaanka, bacaha, dharka , hargaha iyo saabuunta, saabuunta iyo saabuunta, aluminium, furaashyo xumbo ah iyo barkimo, doonyo kalluumeysi, oo sameeya baakadaha, iyo kuwa dhagxaanta lagu farsameeyo . Sannadkii 2004tii, waxaa sidoo kale magaalada laga furay warshad lagu shubo Coca-cola oo dhan $8.3 milyan, iyadoo maalgashadayaasha ay ka kala yimaaddeen degaanno kala duwan oo Soomaaliya ah. Maalgelinta shisheeye waxaa sidoo kale ku jiray dad caalami ah oo ay ku jiraan General Motors iyo Dole Fruit .
===Habka lacagta iyo lacag bixinta===
[[File:Obverse 2022 Somalia 1 oz Silver coin Leopard.jpg|thumb|2022 Soomaaliya 1 oz lacag ah Leopard (100 shilin)]]
Bangiga dhexe ee Soomaaliya waa maamulka rasmiga ah ee lacagta Soomaaliya. Xagga maamulka maaliyadda, waxa ay ku guda jirtaa hawsha dejinta iyo hirgelinta siyaasadda lacagta .
Kalsooni la’aanta lagu qabo lacagta dalka ayaa keentay in sarifka lacagaha doolarka ah si weyn loo qaato marka la barbar dhigo shilinka Soomaaliga. Si kastaba ha ahaatee, lacag- is-weydaarsiga lacagta shilinka Soomaaliga oo aad u badan ayaa sare u kac ku yimid, gaar ahaan wax kala iibsiga oo aad u hooseeya. Sida uu sheegay Baanka Dhexe, deegaankan sicir-bararka ayaa la filayaa inuu soo afjarmo isla marka uu bangigu si buuxda ula wareego siyaasadda lacagta oo uu beddelo lacagta hadda wareegta ah ee ay shirkaduhu soo kordhiyeen.
In kasta oo Soomaaliya aysan lahayn awood lacageed oo dhexe muddo ka badan 15 sano intii u dhaxeysay markii uu qarxay dagaalladii sokeeye ee 1991-kii iyo dib-u-soo-celinta Bankiga Dhexe ee Soomaaliya 2009-kii, nidaamka lacag-bixinta ee qaranka ayaa si cadaalad ah u horumaray iyadoo ay ugu horreyso jiritaanka baahsanaanta shirkadaha xawaaladaha ee gaarka loo leeyahay (MTO) oo u dhaqmay sidii shabakado bangi oo aan rasmi ahayn.
Xawaaladahan ( xawaaladaha ) ayaa noqday warshado waaweyn oo Soomaaliya ka jira, waxaana lagu qiyaasaa US$1.6 bilyan in ay sanad walba gobolka u soo xawilaan dadka Soomaaliyeed ee qurbaha ku nool oo ay u soo marsiiyaan shirkadaha xawaaladaha. Intooda badan waxa ay xubno ka yihiin Ururka Xawaaladaha Soomaaliyeed (SOMTA), oo ah dallad maamusha xawaaladaha bulshada, ama ururka ka horreeyay ee Ururka Adeegyada Maaliyadeed ee Soomaaliya (SFSA). MTO-yada Soomaalida ugu weyn waa Dahabshiil , oo ah shirkad ay Soomaalidu leedahay oo ay ka shaqeeyaan in ka badan 2,000 oo qof oo ku kala nool 144 waddan oo laamo ku leh London iyo Dubai
[[File:Somshil5r.jpg|thumb|500 oo shilin Soomaali ah]]
Horumar la taaban karo oo laga gaaray amniga gudaha, qurbajoogta Soomaaliyeed waxay bilaabeen inay dalka ugu soo laabtaan fursado maalgashi. Marka lagu daro maal-gashi yar oo shisheeye ah, dhaqaalaha soo gala ayaa ka caawiyay shilinka Soomaaliga inuu si aad ah u kordho qiimihiisu. Bishii Maarso 2014, lacagtu waxay qiimaysay ku dhawaad 60% marka loo eego dollarka Maraykanka 12 bilood ee la soo dhaafay. Shilinka Soomaaliga ayaa ahaa kan ugu xooggan 175-ka lacag ee caalamka ee ay iibgeyso Bloomberg , taasoo kor ugu kacday ku dhawaad 50-dhibcood marka loo eego lacagta soo socota ee ugu xoogga badan isla muddadaas.
Sarrifka saamiyada Soomaaliya (SSE) waa deymaha qaranka Soomaaliya. Waxaa la aasaasay 2012 si ay u soo jiitaan maalgashi ay ka helaan shirkado ay Soomaalidu leedahay iyo shirkado caalami ah si loo dardargeliyo dib u dhiska ka socda Soomaaliya kadib colaadaha.
===Tamarta iyo kheyraadka dabiiciga ah===
Baanka Adduunka waxa uu sheegay in, 2007-dii, in korontadu ay inta badan bixiyeen ganacsiyo maxalli ah. Shirkadahan gudaha waxaa ka mid ah Shirkadda Tamarta Soomaaliyeed , oo qabata abuurista, gudbinta iyo qaybinta korontada.Sannadkii 2010, qaranku wuxuu soo saaray 310 milyan kWh wuxuuna cunay 288.3 milyan kWh oo koronto ah, oo kala galay 170aad iyo 177aad, siday u kala horreeyaan, sida ay CIA-du sheegtay.
[[File:Puntland oil.png|thumb|Shidaalkii Puntland]]
Soomaaliya waxay leedahay kayd khayraad badan oo dabiici ah oo ay ka mid yihiin Yuuraaniyam , Bir ore , tin , gypsum , bauxite , copper , cusbo iyo gaaska dabiiciga ah . CIA-da ayaa sheegtay in ay jiraan 5.663 bilyan cubic mitir oo kayd gaas dabiici ah oo la xaqiijiyey.
Lama hubo joogitaanka iyo inta uu le'eg yahay kaydka kaydka shidaalka ee Soomaaliya. CIA-da waxa ay cadaysay in laga bilaabo 2011 aanay dalka ka jirin kayd shidaal oo la xaqiijiyey, halka UNCTAD ay soo jeedinayso in kaydka kaydka shidaalka ee Soomaaliya ugu badan uu ku yaal xeebaha waqooyi-galbeed ee Somaliland. Koox saliideed ah oo ku taxan Sydney , Kheyraadka Buuraleyda , waxay ku qiyaaseen in gobolka Puntland ee waqooyi-bari uu awood u leeyahay inuu soo saaro 5 bilyan oo fuusto (790 × 10 6 m 3 ) ilaa 10 bilyan fuusto (1.6 × 10 9 m 3 ) oo saliid ah, ayaa caddeeyey in kaydka saliidda ee Suudaan uu yahay 6.7 bilyan. Horumarradaas dartood, Shirkadda Batroolka Soomaaliya waxaa dhistay dowladda federaalka.
Dabayaaqadii 1960-aadkii, khubarada juqraafi ee Qaramada Midoobay waxa ay Soomaaliya ka heleen kayd weyn oo Yuraaniyaam ah iyo kayd macdaneed oo naadir ah. Helitaanka ayaa ahayd tii ugu waynayd ee nooceeda ah, iyada oo khubarada warshadaha ay qiyaaseen in cadadka kaydka ahi ay noqon karto in ka badan 25% kaydka uranium-ka adduunka ee wakhtigaas la yaqaan ee 800,000 oo tan. Sannadkii 1984kii, Hawlgalka Wajiga Hanuuninta IUREP ee Soomaaliya wuxuu soo sheegay in waddanku leeyahay 5,000 tan oo uranium ah oo si macquul ah loo dammaanad qaaday (RAR), 11,000 tan oo uranium ah ayaa lagu qiyaasay kheyraad dheeraad ah (EAR) ee kaydka calcrete , iyo sidoo kale 0-150,000 oo kheyraad ah oo uranium ah. kaydka calcrete. Soomaaliya waxa ay u xuub-siibatay soo saarista Yuraaniyaamka adduunka ugu weyn, iyada oo ay ku tartamayaan shirkado macdano ah oo Maraykan ah, Imaaraadka, Talyaaniga iyo Baraasiil. Xiriir Kheyraadka Dabiiciga ah waxay saami ku leedahay gobollada dhexe, Kilimanjaro Capital waxay saami ku leedahay 1,161,400 acres (470,002 ha) ee Amsas-Coriole-Afgoi (ACA), oo ay ku jirto sahaminta Yuuraaniyam.
Shirkadda Korontada iyo Gaaska warshadaha ee Is dhexgalka Caalamiga ah waa shirkad tamareed oo fadhigeedu yahay Muqdisho. Waxaa ku midoobay shan shirkadood oo waaweyn oo Soomaali ah oo ka kala socda dhinacyada ganacsiga , maaliyadda , amniga iyo isgaarsiinta , kaddib heshiiskii wadajirka ahaa ee 2010-kii lagu saxiixay magaalada Istanbul ee dalka Turkiga si ay u bixiyaan kaabayaasha korontada iyo gaaska ee Soomaaliya. Iyada oo miisaaniyadii hore ee maalgelinta ahayd $1 bilyan, shirkaddu waxay bilawday Mashruuca Kala qaybinta Nabadda Soomaaliya, oo ah barnaamij tamar xoog leh oo xoog leh oo loogu talagalay in lagu fududeeyo hindisayaasha warshadaynta gudaha.
Sida uu sheegay Bankiga dhexe ee Soomaaliya, marka ay qarankani cagta saartay wadadii dib u dhiska dalka, waxaa laga filayaa in dhaqaalaha uusan la jaanqaadi karin heerarkii uu soo maray dagaalladii sokeeye ka hor, balse waxaa la filayaa in la dardargeliyo kobaca iyo horumarka dalka maadaama aan laga faa’ideysan kheyraadka dabiiciga ah ee Soomaaliya.
===Isgaarsiinta iyo warbaahinta===
[[File:Hormuud.jpg|thumb|Dhismaha Hormuud Telecom ee Muqdisho]]
Bilawgii dagaalkii sokeeye ka dib, shirkado isgaarsiineed oo kala duwan ayaa bilaabay in ay abuurmaan oo u tartamaan sidii ay u heli lahaayeen kaabayaal dhaqaale oo maqan. Shirkadahan isgaarsiineed ee curdinka ah oo ay maalgaliyeen ganacsato Soomaaliyeed ayna taageerayaan khubaro ka kala socota Shiinaha , Kuuriyada Koonfureed iyo Yurub, shirkadahan isgaarsiineed ee curdinka ah ayaa bixiya adeegyo taleefoonnada gacanta iyo internetka ah oo jaban oo aan laga helin meelo badan oo kale oo qaaradda ah. Macaamiishu waxa ay ku samayn karaan xawaaladaha lacagaha (sida Dahabshiil-ka caanka ah ) iyo hawlaha kale ee bangiyada iyaga oo isticmaalaya telefoonnada gacanta, iyo sidoo kale in ay si fudud u helaan internet wireless.
Ka dib markii ay iskaashi la sameeyeen shirkado caalami ah sida Sprint , ITT iyo Telenor , shirkadahani hadda waxay bixiyaan wicitaanada telefoonka ugu jaban uguna nadiifsan Afrika. Shirkadahan isgaarsiinta Soomaalida ayaa sidoo kale adeegyo u fidiya magaalo kasta iyo magaalo kasta oo Soomaaliya ka mid ah. Hadda waxa jira ilaa 25 khadadka ugu muhiimsan 1,000kii qofba, helida khadadka taleefoonada ee maxaliga ah ( Cufnaanta taleefannada ) ayaa ka sarreeya kuwa wadamada deriska ah; saddex jeer in ka badan Itoobiya dariska la ah. Shirkadaha Isgaarsiinta Soomaaliya ee caanka ah waxaa ka mid ah Kooxda Golis Telecom, Hormuud Telecom, Somafone, Nationlink, Netco, Telcom iyo Kooxda Somali Telecom. Shirkadda Hormuud Telecom oo kaliya ayaa sanadkii soo xareeysa ilaa 40 milyan oo dollar. Inkasta oo ay xafiiltamaan, dhowr shirkadood oo kuwan ka mid ah ayaa saxiixay heshiis isku xirnaanta 2005 kaas oo u oggolaanaya inay dejiyaan qiimaha, ilaalinta iyo ballaarinta shabakadahooda, iyo hubinta in tartanka uusan ka bixin xakamaynta.
Telefishinka Qaranka Soomaaliyeed ee ay dowladdu maamusho waa kan ugu weyn ee adeegga dadweynaha ee qaranka. Muddo labaatan sano ah ka dib, waxaa si rasmi ah dib loo howlgeliyay idaacadda 4 - tii Abriil 2011 . TV-ga Qaranka Somaliland iyo Puntland TV iyo Radio hawada gobolada waqooyi.
Intaa waxaa dheer, Soomaaliya waxay leedahay dhowr telefishin iyo shabakado raadiyo oo gaar loo leeyahay. Waxaana ka mid ah Telefishanka Horn Cable iyo Telefishanka Universal . Wargeysyada Xog Doon iyo Xog Ogaal iyo Horyaal Ciyaaraha oo ka soo baxa caasimadda dalka dibaddiisa. Waxa kale oo jira tiro warbaahin oo online ah oo tabisa wararka gudaha, oo ay ku jiraan Garoowe Onlayn , Wardheernews, iyo Boostada Puntland.
Koodhka dalka internetka ee heerka sare (ccTLD) ee Soomaaliya waa .so . Waxa si rasmi ah dib u hawl-galiyey 1-dii November 2010-kii oo ay samaysay Diiwaanka .SO, kaas oo ay nidaamisay Wasaaradda Boosaha iyo Isgaadhsiinta Qaranka.
Bishii Nofembar 2013, ka dib Heshiis Is-afgarad ah oo lala saxiixday Boostada imaaraadka bishii Abriil ee sanadka, Wasaaradda Boostada iyo Isgaarsiinta dowladda federaalka ayaa si rasmi ah dib ugu dhistay Adeegga Boostada Soomaaliyeed (Boostada Soomaaliyeed). Bishii Oktoobar 2014, wasaaraddu waxay sidoo kale dib u bilawday keenista boostada ee dibadda.
===Dalxiiska===
[[File:Laas Geel.jpg|thumb|Sawirro qadiimi ah oo ku yaal Laas Geel , Hargeysa]]
Soomaaliya waxay leedahay meelo soo jiidasho leh oo maxalli ah, oo ka kooban goobo taariikhi ah, xeebo, biyo-dhacyo, silsilado buuro iyo jardiinooyin qaran. Warshadaha dalxiiska waxa maamusha wasaaradda dalxiiska ee qaranka. Maamulada Puntland iyo Somaliland waxay leeyihiin xafiisyo dalxiis oo u gaar ah. Ururka Dalxiiska Soomaaliyeed (SOMTA) ayaa sidoo kale bixiya adeegyo la-talin ah oo dalka gudihiisa ah oo ku saabsan warshadaha dalxiiska qaranka. Laga bilaabo Maarso 2015, Wasaaradda Dalxiiska iyo Duurjoogta ee Dowlad Goboleedka Koonfur Galbeed ayaa ku dhawaaqday in la qorsheeyay in la sameeyo kaydad dheeri ah iyo noocyada duurjoogta. Dowladda Mareykanka waxay kula talisay dadka safarka ah inaysan u safrin Soomaaliya. Muuqaallada xusidda mudan waxaa ka mid ah godadka Laas-geel oo ay ku jiraan fanka dhagaxa Neolithic ; Cal Madow , Buuraha Golis iyo Buuraha Oogo ; biyo-dhacyada Isku -shuban iyo Lamadaya ; iyo Seeraha Qaranka ee Hargeysa , Jilibka Qaranka , Beerta Qaranka ee Kismaayo iyo Beerta Qaranka ee Lag Badana .
===Gaadiidka===
[[File:Aden Abdullah Airport.jpg|thumb|Garoonka Diyaaradaha Aadan Cadde]]
Shabakadda waddooyinka Soomaaliya waa 22,100 km (13,700 mi). Laga bilaabo 2000 , 2,608 km (1,621 mi) jidad ayaa la saaray 19,492 km (12,112 mi) lama laami ah. Waddo dheer oo dhererkeedu yahay 750 km (470 mi) ayaa isku xirta magaalooyinka waaweyn ee waqooyiga dalka, sida Boosaaso , Gaalkacyo iyo Garoowe iyo magaalooyin ku yaal koonfurta.
Laba iyo lixdan garoon diyaaradeed oo Soomaaliya oo dhan ah ayaa qaada gaadiidka hawada; toddobo ka mid ah kuwan ayaa laami la saaray. Kuwa dambe, afar garoon diyaaradeed ayaa leh dhabbaha dayuuradaha ee ka badan 3,047 mitir (9,997 ft); laba waxay u dhexeeyaan 2,438 iyo 3,047 m (7,999 iyo 9,997 ft) midna waa 1,524 ilaa 2,437 m (5,000 ilaa 7,995 ft) dheer. Waxa jira shan iyo konton garoon diyaaradeed oo leh meelo ay ka soo degaan oo aan laami ahayn. Mid waxa uu leeyahay dhabo diyaaradeed oo ka badan 3,047 m; afar waxay u dhexeeyaan 2,438 m iyo 3,047 m dherer; labaatan waa 1,524 m ilaa 2,437 m; afar iyo labaatan waa 914 m ilaa 1,523 m; lixna waxay ka hooseeyaan 914 mitir (2,999 ft). Garoomada ugu waaweyn ee dalka waxaa ka mid ah Garoonka Diyaaradaha Aadan Cadde ee Muqdisho, Garoonka Diyaaradaha Hargeysa ee Hargeysa, Garoonka Kismaayo ee Kismaayo , Garoonka Baydhabo ee Baydhabo iyo Garoonka Caalamiga ah ee Bender Qaasim ee Boosaaso.
Somali Airlines oo la aas aasay 1964-tii, waxay ahayd duulimaadka calanka Soomaaliya. Waxa ay joojisay hawlihii ay ka shaqayn jirtay intii lagu jiray dagaalladii sokeeye. Si kastaba ha ahaatee , dawladdii Soomaaliya ee dib loo dhisay ayaa markii dambe bilowday diyaargarow loogu jiro dib u hawlgelinta shirkadii la filayey in dib loo bilaabo sannadkii 2012 . In ka badan lix ka mid ah shirkadahan diyaaradeed ee gaarka loo leeyahay waxay bixiyaan duulimaadyo ganacsi oo gudaha iyo dibadda ah, oo ay ku jiraan Daallo Airlines , Jubba Airways , African Express Airways , Bariga Afrika 540, Central Air iyo Hajara.
Iyadoo leh xeebta ugu dheer qaaradda, Soomaaliya waxay leedahay dhowr dekedood oo waaweyn . Gaadiidka badda ayaa laga helaa dekedaha Muqdisho, Boosaaso, Berbera , Kismaayo iyo Marka . Waxaa kaloo jira hal badeecooyin badeed ah . Waxa la aasaasay 2008, waxa ay ku salaysan tahay xamuulka.
==Tirakoobka dadweynaha==
{{Further|Liiska magaalooyinka Soomaaliya dadka ku nool}}
{|class="wikitable" style="float: right; margin-left: 10px"
! colspan="4" style="text-align:center; background:#cfb;"|Tirada Dadka{{UN_Population|ref}}
|-
! style="background:#cfb;"|Sano
! style="background:#cfb;"|Milyan
|-
|style="text-align:left;"|1950 ||style="text-align:right;"|2.3
|-
|style="text-align:left;"|2000 ||style="text-align:right;"|9.0
|-
|style="text-align:left;"|{{UN_Population|Year}} ||style="text-align:right;"|{{#expr:{{formatnum:{{UN_Population|Somalia}}|R}}/1e6 round 1}}
|}
Soomaaliya waxaa ka maqan xog la isku halayn karo. Wadanku waxa lagu qiyaasaa dad lagu qiyaasay 17.1 milyan oo degan 2021; wadarta dadka marka loo eego tirakoobkii 1975 waxay ahaayeen 3.3 milyan. Sahan ay samaysay Sanduuqa Dadweynaha ee Qaramada Midoobay oo la sameeyay 2013 iyo 2014 ayaa lagu qiyaasay tirada guud ee dadka inay tahay 12,316,895.
Qiyaastii 85% dadka deegaanka waa qowmiyad Soomaali ah , kuwaas oo taariikh ahaan deggenaa qaybta waqooyi ee dalka. Waxay dhaqan ahaan u abaabulan yihiin reer guuraa xoolo-dhaqato ah, boqortooyo dabacsan, suldaanno iyo dawlad-goboleedyo. Dagaalladii sokeeye ee billowgii sagaashamaadkii waxay si weyn u kordhiyeen tirada qurbo-joogta Soomaalida , iyadoo in badan oo ka mid ah Soomaalidii aqoonta sare lahayd ay dalka ka tageen.
Qowmiyadaha laga tirada badan yahay ee aan Soomaalida ahayn ayaa ah inta ka hartay shacabka Soomaaliyeed, waxayna inta badan ku badan yihiin gobollada koonfureed. Waxaa ka mid ah Bravanese , Bantus , Bajuuni , Xabashi (gaar ahaan Oromo ) Yamaniyiin , Hindi , Faaris , Talyaani iyo Ingiriis . Qowmiyadda Bantus oo ah qowmiyadda ugu badan ee laga tirada badan yahay Soomaaliya, waa faracii addoomo laga keenay Koonfur-bari Afrika oo ay lahaayeen ganacsato Carab iyo Soomaali ah. 1940kii, waxa ku noolaa Somaliland Talyaani ilaa 50,000 Talyaani ah . Inta badan reer Yurub waxay ka tageen xorriyadda ka dib, iyadoo tiro yar oo reer galbeed ah ay weli joogaan Soomaaliya oo u badan kuwa u shaqeeya hay'adaha caalamiga ah ee ka hawlgala Soomaaliya.
[[File:Population pyramid of Somalia 2015.png|thumb|Dadka da' kasta]]
Qurba joog Soomaaliyeed oo aad u tiro badan ayaa ka jira wadamo kala duwan oo reer galbeed ah sida Maraykanka (gaar ahaan gobolka Minnesota ) iyo Ingiriiska (gaar ahaan London ), Iswidhan, Kanada, Norway, Nederland, Jarmalka, Denmark, Finland, Australia, Switzerland, Austria, Talyaaniga, iyo sidoo kale Jasiiradda Carabta , iyo dalal dhowr ah oo Afrikaan ah sida Uganda iyo Koonfur Afrika . Qurba-joogta Soomaaliyeed ayaa si weyn ugu lug leh siyaasadda iyo horumarka Soomaaliya. Madaxweynihii hore ee Soomaaliya, Maxamed Cabdullaahi Maxamed , ayaa horay u ahaa qurbo-joog, wuxuuna heystay dhalashada Mareykanka oo uu si iskii ah uga tanaasulay 2019.
Dadka Soomaaliya waxa ay ku sii fidayaan kobac dhan 1.75% sanadkii, halka 1,000 qofba ay dhallaan 40.87. Wadarta heerka bacriminta Soomaaliya waa 6.08 carruur ah oo dhashey haweeneydiiba (qiyaastii 2014), waana tan afaraad ee ugu sareysa adduunka, sida uu qabo Buugga Xaqiiqooyinka Adduunka ee CIA . Inta badan dadka deegaanka ayaa ah dhalinyaro, da'da dhexdhexaadka ah waa 17.7 sano; Qiyaastii 44% dadku waxay da'doodu u dhaxaysaa 0-14 sano, 52% waxay u dhexeeyaan da'da 15-64 sano, kaliya 2% waa 65 sano ama ka weyn. Saamiga lab iyo dheddig waa qiyaas dheelli tiran, iyadoo saami ahaan lagu qiyaaso inta ragga ah sida dumarka.
Ma jiraan xog la isku halayn karo oo ku saabsan magaalooyinka Soomaaliya. Qiyaaso adag ayaa la sameeyay oo tilmaamaya heerka magaalaynta 4.8% sanadkii (2005–2010 qiyaas ahaan.), iyadoo magaalooyin badan ay si degdeg ah u korayaan magaalooyinka. Qowmiyadaha laga tirada badan yahay ayaa sidoo kale ka soo guuray miyiga una guuray magaalooyinka tan iyo markii ay bilowdeen dagaalladii sokeeye, gaar ahaan Muqdisho iyo Kismaayo . Laga soo bilaabo 2008 , 37.7% dadweynaha qaranku waxay ku nool yihiin magaalooyinka iyo magaalooyinka, iyadoo boqolkiiba ay si degdeg ah u kordheyso.
===Luuqadaha===
Af-Soomaaligu waa luqadda rasmiga ah ee ugu horreysa ee Soomaaliya halka Carabiga uu yahay luqadda labaad ee rasmiga ah ee dastuurka. Af-Soomaaligu waa afkii hooyo ee dadka Soomaaliyeed oo ah qowmiyadda ugu tirada badan qaranka. Waa xubin ka tirsan laanta Kushitigga ee qoyska afafka Afro-Aasiyatiga, qaraabada ugu dhowna waa afafka Oromada, Canfarta iyo Saho. Af-Soomaaligu waa kan ugu wanaagsan ee laga diiwaan geliyo luqadaha Kushitigga, iyada oo daraasado tacliimeed lagu sameeyay laga soo bilaabo 1900 ka hor.
[[File:Somali Stone.jpg|thumb|Looxa dhagaxa ah ee laga soo bilaabo qarnigii 14-aad ee suugaanta Wadaad]]
Af-Soomaaligu wuxuu u qaybsamaa saddex qaybood oo waaweyn: Waqooyi, Banaadir iyo Maayga. Soomaali-waqooyi (ama Waqooyi-Bartamaha Soomaaliya) ayaa saldhig u ah heerka Soomaaliga. Benaadir (sidoo kale loo yaqaan Xeebta Soomaaliya) waxaa looga hadlaa xeebta Banaadir, laga bilaabo Cadale ilaa koonfurta magaalada Marka oo ay ku jirto Muqdisho, iyo sidoo kale dhulka hoose ee dhow. Lahjadaha xeebuhu waxay leeyihiin telefoono dheeraad ah oo aan ku qornayn Soomaali caadi ah. Maayga waxaa ku hadla inta badan beelaha Digil iyo Mirifle (Raxanweyn) ee dega deegaanada koonfurta Soomaaliya. Banaadiri waa lahjada ugu weyn ee looga hadlo dalka, marka la barbardhigo Waqooyiga Soomaaliya oo ah lahjada ugu weyn ee looga hadlo Somaliland.
Sanado badan ayaa habab qoris kala duwan loo adeegsaday qorista afka Soomaaliga. Kuwaas waxaa ka mid ah alifbeetada Soomaaliga, oo ah tan ugu badan ee la isticmaalo, isla markaana noqotay qoraalka rasmiga ah ee Soomaaliya tan iyo markii Golaha Sare ee Kacaanku si rasmi ah u hirgeliyay bishii Oktoobar 1972.<ref>Economist Intelligence Unit (Great Britain) ''Middle East annual review'' (1975) p. 229</ref> Qoraallo kale oo qarniyo badan loo adeegsanayay qorista Soomaaliga waxaa ka mid ah qoraalka Carabiga iyo qoraalka Wadaadka. Habab qoraal oo asal ahaan Soomaaliyeed oo la sameeyay qarnigii 20-aad waxaa ka mid ah qoraalka Cusmaaniya, qoraalka Borama iyo qoraalka Kaddare.<ref>{{Harvnb|Laitin|1977|pp=86–87}}.</ref>
[[Carabi|Carabiga]], oo ah luqadda labaad ee Soomaaliya,<ref name="Frspc"/> waxaa ku hadla ku dhowaad hal milyan oo Soomaali ah<ref name="ethnologue.com">{{Cite web |title=Somalia |url=https://www.ethnologue.com/country/so/languages |url-status=live |archive-url=https://web.archive.org/web/20210308060654/https://www.ethnologue.com/country/so/languages |archive-date=8 March 2021 |access-date=2 February 2020 |website=Ethnologue}}</ref> sababo la xiriira xiriirrada qarniyada badan jiray ee ay la leedahay Dunida Carabta, saameynta ballaaran ee warbaahinta Carabiga, iyo waxbarashada diinta.<ref name="Dubnov">Helena Dubnov (2003) ''A grammatical sketch of Somali'', Kِppe, pp. 70–71.</ref><ref>Diana Briton Putman, Mohamood Cabdi Noor (1993) ''The Somalis: their history and culture'', Center for Applied Linguistics, p. 15.</ref><ref>Fiona MacDonald et al. (2000) ''Peoples of Africa'', Vol. 10, Marshall Cavendish, p. 178.</ref><ref>{{Cite book |author=((American University (Washington, D.C.). Foreign Area Studies)) |url=https://books.google.com/books?id=R0pyAAAAMAAJ&dq=Somali+arab+ties&pg=PA235 |title=Area Handbook for Somalia |date=1969 |publisher=U.S. Government Printing Office |location=Washington, D.C. |page=235 |language=en}}</ref><ref>{{cite web |date=1 December 2005 |title=Middle East Policy Council – Muslim Populations Worldwide |url=http://www.mepc.org/workshops/popstat.asp |archive-url=https://web.archive.org/web/20061214023655/http://www.mepc.org/workshops/popstat.asp |archive-date=14 December 2006 |access-date=27 June 2010 |publisher=Mepc.org}}</ref><ref name="Abdullahi 2001 12">{{Harvnb|Diriye Abdullahi|2001|p=1}}.</ref> SIL Global waxay qiyaastaa tirada guud ee dadka ku hadla, iyadoo aan loo eegin heerka aqoontooda, inay ka badan tahay laba milyan.<ref>{{Cite web|url=https://www.ethnologue.com/country/so/languages|title=Somalia|website=Ethnologue}}</ref> Waxaa loo adeegsadaa luqad cibaado maadaama uu yahay afka [[Qur'aan|Qur'aanka]]. Soomaalidu waxay bartaan akhriska iyo qorista Carabiga iyagoo da' yar.
[[File:Arabic in Somalia Graph.png|thumb|280px|left|Qiyaasta aqoonta Carabiga ee dadka Soomaaliyeed, iyadoo la kala saarayo akhriska qoraalka Qur'aanka iyo ku hadalka Carabiga.<ref name="Salad2025">{{cite journal |last=Salad |first=Hussein Ahmed |title=Somali community perception on Arabic language |journal=Horn of Africa Journal of Social Science |volume=3 |issue=2 |pages=50–60 |year=2025 |doi=10.70806/frz04z80}}</ref>]]
[[Af-Ingiriis|Ingiriisiga]] si weyn ayaa looga hadlaa loona dhigaa. Wuxuu ahaan jiray luqad maamul xilligii maxmiyadda Somaliland ee Ingiriiska, waxaana sabab u ah caalamiyeynta uu hadda caan ka yahay guud ahaan Soomaaliya. Ingiriisigu waa luqadda waxbarashada ee jaamacado badan oo Soomaaliya ku yaalla, waana mid ka mid ah luqadaha shaqada ee ugu waaweyn hay'adaha aan dawliga ahayn ee ka hawlgala Soomaaliya.
[[Af-Taliyaani|Talyaaniga]] wuxuu ahaa luqad rasmi ah xilligii Somaliland Talyaaniga iyo muddadii wakiillimada, laakiin isticmaalkiisa aad ayuu hoos ugu dhacay kaddib xorriyadda. Hadda waxaa inta badan laga maqlaa jiilalka waaweyn, saraakiisha dowladda, iyo dadka aqoonta leh.
Luqadaha kale ee laga tirada badan yahay waxaa ka mid ah Bravanese, oo ah nooc ka mid ah luqadda Bantu ee Sawaaxiliga oo laga hadlo xeebaha ay deggan yihiin dadka Bravanese, iyo Kibajuni, oo ah lahjad Sawaaxili ah oo ah afka hooyo ee kooxda qowmiyadeed ee laga tirada badan yahay ee Bajuni.
{{clear}}
===Gobolada iyo magaalooyinka===
{{Magaalooyinka Soomaaliya}}
===Diinta===
{{bar box|float=right
|title=[[Diinta Soomaalida]] 2010<ref name="Pew">{{cite web |title=The Global Religious Landscape|url=http://www.pewforum.org/files/2012/12/globalReligion-full.pdf|archive-url=https://web.archive.org/web/20130806002044/http://www.pewforum.org/files/2012/12/globalReligion-full.pdf|archive-date=6 August 2013|publisher=Pew Research Center|access-date=27 December 2013|page=49}}</ref>|titlebar=#ddd
|left1=Diin|right1=Boqolkiiba
|bars=
{{bar percent|[[Islaam|Islaam]]|green|99.8}}
{{bar percent|Mid Kale|red|0.2}}
}}
{{Main|Diinta Soomaalida}}
'''Diinta Soomaaliya 2010'''
Diinta Boqolkiiba
Islaamka 99.8%
Mid kale 0.2%
[[File:Mosislsol2.jpg|thumb|Masjidka Isbaheysiga Islaamka ee magaalada Muqdisho ayaa ah masjidka ugu weyn gobolka Geeska.]]
Sida ay sheegtay xarunta cilmi baarista ee Pew , 99.8% dadka Soomaaliya waa Muslim 315. Inta badan waxay ka tirsan yihiin laanta Islaamka ee sunniga iyo mad-habta shaaficiga ee fiqiga islaamka . suufiyada , dariiqada suufiga ah ee Islaamka, ayaa sidoo kale si fiican u dhisan, oo leh jamacooyin badan oo maxalli ah zawiya ama jameeco ka mid ah tariiqooyinka kala duwan ama suufiyada. Dastuurka Soomaaliya wuxuu kaloo qeexayaa diinta Islaamka inay tahay diinta dowladda ee Jamhuuriyadda Federaalka Soomaaliya, shareecada Islaamkana ay tahay isha aasaasiga ah ee sharci-dejinta qaranka. Waxa kale oo uu dhigayaa in aan la samayn karin xeer aan waafaqsanayn mabaadi’da aasaasiga ah ee shareecada.
Diinta Masiixiga waa diimo laga tiro badan yahay Soomaaliya, dadka raacsani waxay matalaan in ka yar 0.1% dadweynaha sanadka 2010 sida ay sheegtay xarunta cilmi baarista ee Pew. Tirada Masiixiyiinta Soomaaliya waxa lagu qiyaasaa 1,000 qof. Waxaa jira hal dariiqo Katoolik ah oo dalka oo dhan u yaal, Diocese-ka Muqdisho , taas oo ku qiyaastay in 2004 ay jireen ku dhawaad boqol dhakhaatiir Katoolik ah.
Sannadkii 1913kii, waagii hore ee gumaystaha, ma jirin wax Masiixiyiin ah oo ku noolaa dhulka Soomaalida, iyada oo ilaa 100-200 oo keliya ay ka yimaaddeen dugsiyada iyo xarumaha agoomaha ee hawlgalladii Kaatooligga ee Maxmiyadda Somaliland ee Ingiriiska . Sidoo kale ma jirin hawl wadeenno Katoolik ah oo la yaqaan oo ka socday Somaliland Talyaani isla muddadaas. Sannadihii 1970-aadkii, xilligii ay Soomaaliya ka talinaysay dowladdii Marxist-ta , waxaa la xiray iskuulladii ay kaniisaddu maamuli jirtay, adeegayaashana waxaa loo diray guryahooda. Tan iyo 1989-kii ma jirin wax Baasaboor ah oo dalka ka howlgala, waxaana cathedral- ka Muqdisho ka dhacay burbur xooggan oo soo gaaray dagaalladii sokeeye. Bishii Disembar 2013, Wasaaradda Caddaaladda iyo Arrimaha Diinta ayaa sidoo kale soo saartay awaamiir mamnuucaysa in dalka laga qabto xafladaha Kiristaanka.
Marka loo eego xarunta cilmi baarista ee Pew, in ka yar 0.1% dadka Soomaaliya sanadkii 2010 waxay ahaayeen kuwo raacsan diimaha dadweynaha . Kuwaas oo u badnaan ka koobnaa qaar ka mid ah qowmiyadaha tirada yar ee aan Soomaalida ahayn ee ku nool qaybaha koonfureed ee dalka, kuwaas oo ku dhaqma nacayb . Dhanka Bantuda , dhaqamadaas diineed waxay ka dhaxleen awoowayaashood Koonfur Bari Afrika .
Intaa waxaa dheer, marka loo eego Xarunta Cilmi-baarista ee Pew, in ka yar 0.1% dadka Soomaaliya sannadkii 2010 waxay ahaayeen kuwo raacsan diinta Yuhuudda , Hinduismka , Budhiismka , ama aan ku xidhnayn diin kasta .
===Caafimaadka===
[[File:Life expectancy in Somalia.png|thumb|Cimriga Soomaaliya, 1950 ilaa 2023]]
Ilaa burburkii dawladdii dhexe ee sannadkii 1991-kii, haykalka hab-dhismeedka iyo hab-dhismeedka maamulka ee waaxda daryeelka caafimaadka ee Soomaaliya waxa dusha kala socday Wasaaradda Caafimaadka. Saraakiisha caafimaadka ee gobolku waxay ku raaxaysanayeen xoogaa awood ah, laakiin daryeelka caafimaadku wuxuu ahaa mid si weyn u dhexeya. Dawladii hantiwadaaga ee Madaxweynihii hore ee Soomaaliya Siyaad Barre waxay joojisay dhaq-dhaqaaqii caafimaadka ee gaarka ahaa 1972 .
Nidaamkii daryeelka bulshada ee Soomaaliya ayaa si weyn u burburay dagaalladii sokeeye ee xigay. Sida waaxaha kale ee hore loo qarameeyay, bixiyayaasha aan rasmiga ahayn ayaa buuxiyey booskii banaanaa waxayna bedeleen kalidii dawladii hore ee daryeelka caafimaadka, iyada oo helitaanka tas-hiilaadka ay markhaati ka tahay koror weyn. Xarumo daryeel caafimaad oo badan, rugo caafimaad, isbitaallo iyo farmasiyo ayaa howsha lagu dhisay iyadoo loo marayo dadaallo Soomaaliyeed oo gurigooda lagu beeray. Qiimaha la-talinta caafimaadka iyo daaweynta xarumahan waa mid hooseeya, $ 5.72 booqasho kasta oo xarumaha caafimaadka ah (oo leh daboolida dadweynaha ee 95%), iyo $ 1.89-3.97 booqasho bukaan-socod iyo $ 7.83-13.95 maalintii sariiraha aasaasiga ah ilaa isbitaallada sare.
Isbarbardhigga muddada 2005-2010 iyo tobankii sano ee badhkii ka hor dillaaca iskahorimaadka (1985-1990), rajada nolosha ayaa dhab ahaantii kor u kacday celcelis ahaan 47 sano ragga iyo dumarka ilaa 48.2 sano ragga iyo 51 sano haweenka. Sidoo kale, tirada hal sano jirka ah ee si buuxda looga tallaalay jadeecada ayaa kor uga kacday 30% 1985-1990 ilaa 40% 2000-2005, iyo qaaxada , waxay kor u kacday ku dhawaad 20% ilaa 50% isla muddadaas.
Tirada dhallaanka miisaankoodu hooseeyo ayaa hoos uga dhacay min 16 1,000kiiba ilaa 0.3, taasoo ah 15% hoos u dhac ku yimid wadar ahaan isla waqtigaas. Intii u dhaxaysay 2005 iyo 2010 marka la barbardhigo 1985-1990, dhimashada dhallaanka ee 1,000 dhalasho waxay sidoo kale hoos uga dhacday 152 ilaa 109.6. Muhiimad weyn, dhimashada hooyada 100,000 ee dhallaanka waxay ka dhacday 1,600 dagaalkii ka hor 1985-1990 tobankii sano ee la soo dhaafay ilaa 1,100 muddadii 2000-2005. Tirada dhakhaatiirta 100,000 ee qof ayaa sidoo kale ka kacay 3.4 ilaa 4 isla waqti isku mid ah, sida boqolkiiba dadka helay adeegyada fayadhowrka, kuwaas oo ka kordhay 18% ilaa 26%.
Marka loo eego xogta Sanduuqa Dadweynaha ee Qaramada Midoobay ee shaqaalaha umulisooyinka, wadar ahaan 429 umulisooyin ah (oo ay ku jiraan kalkaalisooyin- umulisooyin) Soomaaliya, oo leh cufnaanta hal umuliso 1,000kii carruur ah ee nool. Siddeed xarumood oo umulisooyin ah ayaa hadda dalka ka jira, oo laba ka mid ah ay yihiin kuwo gaar loo leeyahay. Umulisada waxaa nidaamisa dowladda, waxaana loo baahan yahay shatiga si loogu shaqeeyo si xirfadeysan. Diiwaangelin toos ah ayaa sidoo kale jirta si loola socdo umulisooyinka shatiga haysta. Intaa waxaa dheer, umulisooyinka dalka waxaa si rasmi ah uga wakiil ah ururka umulisooyinka maxalliga ah, oo ka diiwaangashan 350 xubnood
Marka loo eego qiyaasta hay'adda caafimaadka adduunka ee 2005, qiyaastii 97.9% haweenka iyo gabdhaha Soomaaliya ayaa lagu sameeyay gudniinka fircooniga ah, caadada guurka ka hor inta badan waxay ku dhacdaa Geeska Afrika iyo qaybo ka mid ah Bariga dhow. Waxaa dhiirigeliyay haweenka bulshada dhexdeeda, waxaa ugu horayn loogu talagalay in la ilaaliyo dhawrsanaanta, laga hortago sinada, lagana ilaaliyo weerarka. Sannadkii 2013, UNICEF oo kaashanaysa maamullada Soomaaliya ayaa sheegtay in heerka baahsanaanta ee gabdhaha da'doodu u dhaxayso 1- ilaa 14-sano ee ku nool gobollada waqooyi ee Puntland iyo Somaliland ay hoos ugu dhacday 25% ka dib olole wacyigelin bulsho iyo diineed ah. Qiyaastii 93% ragga Soomaaliyeed ayaa sidoo kale la sheegay in la guday
Soomaaliya ayaa ka mid ah kuwa ugu hooseeya heerka caabuqa HIV ee qaaradda. Taasna waxaa loo aaneynayaa dabeecadda Muslimka ah ee bulshada Soomaaliyeed iyo ku-dhaqanka Soomaalida ku dhaqanka akhlaaqda Islaamka. Iyadoo lagu qiyaasay heerka faafidda HIV ee Soomaaliya 1987 (sannadkii warbixinta kiiskii ugu horreeyay) uu ahaa 1% dadka waaweyn, warbixin 2012 ka soo baxday UNAIDS ayaa sheegaysa in tan iyo 2004, qiyaasaha laga soo bilaabo 0.7% ilaa 1.0% la qiyaasay.
In kasta oo daryeelka caafimaadku hadda inta badan ku urursan yahay ganacsiga gaarka loo leeyahay, nidaamka daryeelka caafimaadka guud ee dalku waxa uu ku socdaa dib-u-dhiskiisa, waxaana dusha kala socota wasaaradda caafimaadka. Wasiirka caafimaadka Qamar Aadan Cali. Ismaamulka Puntland waxa uu leeyahay Wasaarad u gaar ah Caafimaadka, sida gobolka Somaliland ee waqooyi-galbeed ee Soomaaliya.
Xarumaha caafimaadka ee dalka caanka ka ah ayaa waxaa ka mid ah Isbitaalka Hooyada iyo Dhallaanka ee Bariga Baardheere , Isbitaalka Hooyada iyo Dhallaanka ee Caabudwaaq , Isbitaalka Hooyada ee Edna Aadan iyo qeybta Hooyada ee Galbeedka Baardheere .
===Waxbarashada===
Wasaaradda Waxbarashada ayaa si rasmi ah uga mas’uul ah waxbarashada Soomaaliya, waxaana ay dusha kala socotaa dugsiyada hoose dhexe , sare ,farsamada iyo farsamada gacanta , iyo sidoo kale tababaridda macallimiinta hoose iyo kuwa farsamada iyo waxbarashada dadban . Qiyaastii 15% ee miisaaniyadda dawladda waxa loo qoondeeyey hab-waxbarasho. Maamul-goboleedka Puntland iyo Somaliland ayaa iska leh wasaaradaha waxbarashada.
[[File:Mogauniv1.jpg|thumb|Xarunta ugu weyn ee Jaamacadda Muqdisho ee Muqdisho]]
Waxbarashada sare ee Soomaaliya hadda waa mid gaar loo leeyahay. Dhawr jaamacadood oo dalka ku yaala oo ay ku jirto jaamacadda Muqdisho ayaa lagu qiimeeyay 100-ka jaamacadood ee ugu wanaagsan qaaradda Afrika in kasta oo ay jiraan deegaan qallafsan, taasoo lagu tilmaamay inay tahay guul laga gaaray hindisayaal salka ku haya . Jaamacadaha kale ee sidoo kale bixiya tacliinta sare ee koonfurta waxaa ka mid ah Jaamacadda Banaadir , Jaamacadda Ummadda Soomaaliyeed , Jaamacadda Kismaayo iyo Jaamacadda Gedo . Puntland waxbarashada sare waxaa bixiya Jaamacadaha Puntland iyo Jaamacadda Bariga Afrika . Somaliland waxa bixiya Jaamacada Camuud , Jaamacada Hargeysa , Somaliland Jaamacadda Teknolojiyadda iyo Jaamacadda Burco .
Dugsiyada Qur'aanka (sidoo kale loo yaqaan dugsi quran ama malcamad quran ) ayaa ah nidaamka aasaasiga ah ee barashada diinta dhaqameed. Loo yaqaan habka ugu xasilloon ee deegaanka, nidaamka aan tooska ahayn ee waxbarashada oo bixiya waxbarashada aasaasiga ah ee diinta iyo akhlaaqda, xooggoodu waxay ku tiirsan yihiin taageerada bulshada iyo adeegsigooda agab waxbarasho oo gudaha laga sameeyay oo si weyn loo heli karo. Nadaamka Qur’aanka oo wax lagu baro tirada ugu badan ee ardayda marka loo eego qeybaha kale ee waxbarashada, ayaa inta badan ah nidaamka kaliya ee ay heli karaan Soomaalida reer guuraaga ah marka loo eego magaalooyinka. Si wax looga qabto khaladaadka dhanka culuumta diinta, dowladda Soomaaliya ayaa dhankeeda sidoo kale ka dib dhistay Wasaaradda Awqaafta iyo Arrimaha Islaamka, taasoo hadda lagu maamulo waxbarashada Qur’aanka.
==Dhaqanka==
===Cunto===
[[File:Banadir3.jpg|thumb|Noocyada kala duwan ee cuntooyinka caanka ah ee Soomaalida]]
Cunnada Soomaalidu waa isku dhaf noocyo kala duwan oo cuntooyin ah kuwaas oo laga soo dheegtay dhadhanka Carabta , Hindida iyo Talyaaniga taas oo si toos ah uga dhalatay taariikhda baaxadda leh ee Soomaaliya ee ganacsiga iyo ganacsiga. Tusaalooyinka cuntooyinka Soomaalida waxaa ka mid ah cunnooyinka sida bariiska iyo baasto , iyo hilibka sida wan , lo'da , iyo digaagga . Xawaashyada udgoonka ah sida cumin , karoomada , iyo kiraanta ayaa inta badan loo isticmaalaa in lagu siiyo dhadhan kala duwan suxuunta.
Waxaa barbar socda maraqa , rootiga fidsan , iyo rootiga , cunnada kale ee Soomaalida waa Canjeero /Laxooh , oo ah nooc canjeero khamiir leh oo u eg roodhida fidsan ee laga dhadhamiyo Soomaaliya iyo dalalka deriska ah sida Itoobiya , Eritera iyo Yemen . Additionally, camel meat and milk are considered a delicacy.
Bariiska Soomaaliya oo ah cuntada caadiga ah ee cashada ama qadada , ayaa sida caadiga ah la dhadhamiyey waxaana lagu daraa maaddooyin kala duwan sida hilibka , khudaarta , iyo, si xoogaa gaar ah, sabiib . Maaha wax aan caadi ahayn in saxankan loo soo bandhigo qaab muuqaal ah iyadoo lagu darayo midabyo badan, sababtoo ah qaybo gaar ah ayaa laga yaabaa in si macmal ah loogu dhejiyo hadhka jaalaha ah ama orange-ka iyadoo la adeegsanayo saffron iyo dhir kale si kor loogu qaado bilicdeeda
[[File:Djiboutian rice (bariis) and fish (kalluun), Liver (beerka) with vegetable also (Sabaayad) pancakes.jpg|thumb|Bariis Soomaali ah (bariis) iyo kalluun (kalluun), Beerka (biir) khudaar leh sidoo kale (Sabaayad) canjeelo]]
Xiligii gumaystaha talyaanigu waxa si wayn loo qaatay baastada iyo laasgaabka gaar ahaan koonfurta.
Shaaha iyo kafeega ayaa sidoo kale runtii caan ah. Soomaalida ayaa ka mid ahaa dadkii hore u qaatay cunista kafeega , waxaana ganacsatada Soomaaliyeed ay ka mid ahaayeen ganacsatadii ugu horreysay ee dhoofisa digirta Kafeega. Qaxwaha Soomaalida, oo gudaha loo yaqaan ' Qahwo ' iyo shaaha 'Shah', ayaa aad uga dhex muuqda habka diyaarinta, kaas oo ku lug leh xulashada xawaashka kala duwan si kor loogu qaado muuqaalkeeda dhadhanka.
'Xalwo', oo si dhow ula xiriirta Cumaan ' Xalwaa ', waa daweyn jelly-la mid ah oo siman oo lagu sameeyay xawaash , iniin, laws , iyo sonkor la shiiday . Macmacaankan waxa si caadi ah loogu wada adeegaa " Qahwo ". Cunto ka dib, guryaha sida dhaqameedka ah waxaa lagu cadariyaa fooxa ama fooxa ( unsi ), kaas oo lagu diyaariyo gudaha fooxa r loo yaqaan dabqaad .
===Muusiga===
Soomaaliya waxay leedahay hiddaha faneed hodanka ah oo ku qotoma suugaan-dhaqameedka Soomaalida . Heesaha Soomaalida intooda badan waa hal-abuur . Muusiga Soomaaliyeed waxaa laga yaabaa in lagu qaldo dhawaaqyada gobollada u dhow sida Itoobiya, Suudaan ama Jasiiradda Carabta, laakiin ugu dambeyntii waxaa lagu aqoonsan karaa laxankeeda iyo qaababka gaarka ah. Aaladaha dhaqameed ee sida weyn looga dhex muuqday fanka Soomaaliya waxaa ka mid ah oud lute . Inta badan waxaa la socda durbaan yaryar iyo biibiile cawsduur ah oo gadaal ka ah. Heesaha Soomaalidu inta badan waa wax ka dhasha wada shaqaynta ka dhaxaysa hal-abuurayaasha ( midho ), abwaannada ( laxan ) iyo fannaaniinta ( codka ama "codadka")
===Suugaanta===
Bulshada Soomaaliyeed ayaa sanadihii lasoo dhaafay ahaa ilo ay ka soo jeedaan abwaanno, qorayaal iyo hal-abuuro caan ah, kuwaas oo qayb weyn ka qaatay soo saarista iyo qaabaynta hab-raacyada aqoonta iyo dhaqanka Muslimiinta, mana aha oo kaliya Geeska Afrika ee waxa ay gaadheen meelo fog-fog oo ka mid ah Jasiiradda Carabta iyo gobollada kale ee adduunka. Soomaaliya waxaa sidoo kale loogu yeeraa, oo ay ka mid yihiin, qoraaga Kanadiyaan ah iyo aqoonyahanada Margaret Laurence , "Qaranka Abwaanada " iyo "Qaranka Baadiyada ". Sahmiye iyo qoraa Ingiriis oo caan ah Richard Burton ayaa si hufan wax uga qoray Soomaaliya:
Dalku wuxuu la socdaa, 'Abwaanada, nin kastaa wuxuu leeyahay mawqifkiisa la aqoonsan yahay ee suugaanta sida saxda ah ee loo qeexay sida in dib loo eegay qarniyo joornaal ah - dhegta wanaagsan ee dadkani waxay keenaysaa in ay qaataan raaxada ugu weyn ee dhawaaqyada iswaafaqsan iyo tibaaxaha maansada, halka tiro been ah ama weedh qallafsan ay ku kicinayaan."
===Casri ah===
[[File:Hadrawi.jpg|thumb|Abwaan , faylasuuf iyo hal-abuure, Maxamed Ibraahim Warsame (Hadraawi)]]
Markii la qaatay farta laatiinka sannadkii 1972-kii oo laga dhigay halbeegga alifbeetada qaranka, waxaa kaloo soo saaray qorayaal Soomaali ah oo aad u tiro badan, kuwaas oo qaarkood sumcad weyn ku helay caalamka oo dhan. Qorayaashan casriga ah, Nuruddin Farah waa kan ugu caansan, isagoo helay, abaal-marinno kale, 1998-kii Neustadt ee abaalmarinta caalamiga ah ee suugaanta . Faarax MJ Cawl waa qoraa kale oo caan ah oo Soomaaliyeed oo caan ku ahaa sheeko-qoraalkiisii xilligii Dervish , Jahligu waa cadowga jacaylka . Waxa kale oo maansada Soomaalidu aad u kobcaysay wakhtigan iyadoo Hadraawi uu sumcad qaran ku helay tiraabtiisa iyo maansadiisa.
===Ciyaaraha===
Kubadda cagta waa ciyaaraha ugu caansan Soomaaliya. Tartamada gudaha ee muhiimka ah ayaa ah horyaalka Soomaaliya iyo koobka Soomaaliya , iyadoo xulka qaranka Soomaaliya uu ciyaaro heer caalami.
Kubadda kolayga ayaa sidoo kale laga ciyaaraa dalka. Horyaalkii FIBA Africa 1981 ayaa lagu qabtay magaalada Muqdisho 15 ilaa 23 December 1981, xiligaasi oo xulka qaranka kubada koleyga ay heleen bilada maarta ah.
Sannadkii 2013-kii, waxaa magaalada Borlänge laga dhisay koox qaran oo ka tirsan kooxaha burcad badeeda Soomaalida . Waxa ay ka qaybgashay tartankii Horyaalka Adduunka ee Bandy 2014.
Dhanka fanka dagaalka waxaa billad qalin ah iyo kaalinta afraad ku qaatay Faysal Jeylaani Aweys iyo Maxamed Deeq Cabdulle oo ka tirsan xulka qaranka Teekwondo-ga , waxayna ku guuleysteen koobka Taekwondo-ga Adduunka ee 2013 ee Tongeren Intaa waxaa dheer, Maxamed Jaamac waxa uu ku guuleystay labada koob ee adduunka iyo Yurub ee K-1 iyo feerka Thai .
===Dhismaha===
[[File:Gondereshe2008.jpg|thumb|Qasriga Gondershe]]
Qaab-dhismeedka Soomaalidu waa dhaqan qani ah oo kala duwan oo xagga injineernimada iyo naqshadeynta ah. Iyadoo la eegayo wakhtiyadii hore ee qadiimiga ahaa, dhexe iyo kuwii hore ee casriga ahaa ee dalka, waxa kale oo ay soo dhawaynaysaa isku dhafka qaab dhismeedka Somali-Islaamka oo leh nashqado casri ah oo reer galbeed ah.
Soomaalidii hore, dhismooyinka haramka ah ee Soomaalidu u taqaan Taalo waxay ahaayeen qaab caan ah oo lagu aaso, iyadoo boqolaal ka mid ah taallooyinkii dhagaxaanta qallalan ay maanta ku baahsan yihiin dalka. Guryo ayaa laga dhisay dhagxaan lebisan oo la mid ah kuwii Masar hore . Waxa kale oo jira tusaaleyaal barxadaha iyo darbiyada waaweyn ee dhagaxa ah ee lagu soo dejiyey deegaamada, sida darbiga Wargade.
Qaadashada Islaamka ee taariikhda dhexe ee hore ee Soomaaliya waxa ay Islaamku ka keentay Carabta iyo Faaris . Tani waxay kicisay isbeddelka dhismaha ee dhagaxa engegan iyo agabka kale ee la xidhiidha oo loo beddelay dhagaxa kooraska , lebennada qorraxda qallalan , iyo isticmaalka baahsan ee dhagaxa nuuradda ee dhismaha Soomaalida. Qaar badan oo ka mid ah naqshadaha cusub ee naqshadaha, sida masaajidda, ayaa lagu dhisay burburka dhismooyinkii hore, dhaqankaas oo socon doona qarniyada soo socda.
==Sidoo kale eeg==
[[Warbixin Soomaaliya]]
==Taariikh nololeed==
{{Refbegin|30em}}
* {{Cite book
|last=Diriye Abdullahi |first=Mohamed |author-link=Mohamed Diriye Abdullahi
|url=https://books.google.com/books?id=VOPEEAAAQBAJ
|title=Dhaqanka iyo Caadooyinka Soomaaliya
|publisher=[[Greenwood Press]]
|year=2001
|isbn=978-0-313-31333-2
|series=Dhaqanka iyo caadooyinka Afrika
|location=Westport, Conn}}
* {{Cite journal
|last= Alpers |first= Edward A. |year= 1976
|title= Gujarat iyo Ganacsiga Bariga Afrika, c. 1500–1800
|journal=[[The International Journal of African Historical Studies]] |volume= 9 |issue= 1 |pages= 22–44
|doi= 10.2307/217389 |jstor= 217389 }}
* {{Cite book
|author= Gebru Tareke |year= 2009
|title= Kacaankii Itoobiya: Dagaalka Geeska Afrika
|url= https://archive.org/details/ethiopianrevolut0000gebr |location= New Haven, CT |publisher=[[Yale University Press]]
|isbn= 978-0-300-14163-4}}
* {{Cite book
|last= Laitin |first= David D. |year= 1977
|title= Siyaasad, Luuqad, iyo Fikir: Khibradda Soomaalida
|location= Chicago |publisher=[[University of Chicago Press]]
|isbn= 978-0-226-46791-7 }}
* {{Cite journal
|last1= Lecarme |first1= Jacqueline |last2= Maury |first2= Carole |year= 1987
|title= Qalab Software ah oo loogu talagalay Cilmi-baarista Luuqadda iyo Qaamuusyada: Codsiga Soomaaliga
|journal= Computers and Translation |volume= 2 |issue= 1 |pages= 21–36
|doi= 10.1007/BF01540131 |s2cid= 6515240 }}
* {{Cite book
|last=Mauri |first=Arnaldo
|chapter-url=https://ssrn.com/abstract=958442
|title=Nidaamyada Bangiyada Afrika
|publisher=[[Cariplo]] – Finafrica
|year=1971
|editor-last=Dell'Amore |editor-first=Giordano
|location=Milan
|pages=209–217
|chapter=Horumarinta Bangiyada Soomaaliya}}
* {{Cite book
|last= Samatar |first= Said S. |year= 1982
|title = Gabayada Afka iyo Qaranimada Soomaaliyeed
|location= Cambridge |publisher=[[Cambridge University Press]]
|isbn= 978-0-521-10457-9 }}
* {{Cite book
|last= Schraeder |first= Peter J. |year= 2006
|editor-last=Barrington |editor-first=Lowell W.
|chapter-url=https://press.umich.edu/pdf/0472098985-ch5.pdf
|title=Ka Dib Xorriyadda: Samaynta iyo Ilaalinta Qaranka ee Dowladaha Dhacdooyinka Kadib
|pages=107–137
|chapter=Laga bilaabo Irredentism ilaa Kala-go'id: Hoos u dhaca Qaranimada Pan-Soomaali
|location= Ann Arbor |publisher=[[University of Michigan Press]]
|isbn= 978-0-472-09898-9 }}
* {{Cite book
|last=Shay |first=Shaul
|url=https://books.google.com/books?id=uqw0DwAAQBAJ
|title=Soomaaliya oo is-beddelaysa Tan iyo 2006
|date=2014
|publisher=[[Transaction Publishers]]
|isbn=978-1-4128-5390-3
|location=New Brunswick}}
* {{Cite book
|last= Warmington |first= Eric Herbert |year= 1995
|title= Ganacsiga u dhexeeya Boqortooyadii Roomaanka iyo Hindiya
|publisher= South Asia Books
|isbn= 81-215-0670-0 }}
* {{Cite book
|last1= Zolberg |first1= Aristide R. |author-link1=Aristide Zolberg
|last2= Suhrke |first2= Astri
|last3= Aguayo |first3= Sergio |author-link3= Sergio Aguayo |year= 1989
|title= Ka Baxsiga Rabshadaha: Khilaafaadka iyo Qaxootiga Dalalka Horumarka
|location= New York |publisher=[[Oxford University Press]]
|isbn= 978-0-19-505592-4 }}
* {{Cite book
|last1=Rosati |first1=A.
|url=https://books.google.com/books?id=av8qvZ-0sHUC&pg=PA169
|title=Soosaarista Xoolaha iyo Sayniska Xoolaha Caalamka
|last2=Tewolde |first2=A.
|last3=Mosconi |first3=C.
|date=2007
|publisher=[[Wageningen Academic Publishers]]
|isbn=978-90-8686-034-0
|series=WAAP buugga sanadka
|location=Wageningen
|page=169}}
{{Refend}}
==Xusuusin==
{{lang-so|Soomaaliya}}
{{IPAc-en|s|ə|ˈ|m|ɑː|l|i|ə|audio=Somalia pronunciation (English).wav}}
'''Soomaali:''' Soomaaliya [soːmaːlija], qoraalka Osmanya: 𐒈𐒝𐒑𐒛𐒐𐒘𐒕𐒖; Carabi: الصومال, la turjumay: aṣ-Ṣūmāl
'''Soomaali rasmi ah:''' Jamhuuriyadda Federaalka Soomaaliya; Carabi: جمهورية الصومال الفيدرالية
Xuduudka Jabuuti–Soomaaliya waxaa si sharci ah u maamula Jamhuuriyadda Federaalka Soomaaliya oo si caalami ah loo aqoonsan yahay, laakiin dhab ahaan waxaa gacanta ku haya
==Tixraacyo==
{{Reflist}}
*
[https://population.un.org/wpp/Download/Standard/MostUsed/ "Qaramada Midoobay, Waaxda Dhaqaalaha iyo Arrimaha Bulshada, Qaybta Dadweynaha (2022). Rajada Dadweynaha Adduunka"] {{Wayback|url=https://population.un.org/wpp/Download/Standard/MostUsed/ |date=20220711213112 }}
*
[https://www.imf.org/en/Publications/WEO/weo-database/2025/april "Database-ka Muuqaalka Dhaqaalaha Adduunka, Abriil 2025"]
*[https://www.imf.org/en/Publications/WEO/weo-database/2025/april "Database-ka Muuqaalka Dhaqaalaha Adduunka, Abriil 2025"]
*[https://hdr.undp.org/system/files/documents/global-report-document/hdr2025reporten.pdf "Warbixinta Horumarinta Aadanaha 2025"]
*[https://en.m.wikipedia.org/wiki/United_Nations_Department_of_Economic_and_Social_Affairs Waaxda Dhaqaalaha iyo Arrimaha Bulshada ee Qaramada Midoobay]
*[https://population.un.org/wpp/Download/Files/1_Indicators%20(Standard)/EXCEL_FILES/1_General/WPP2022_GEN_F01_DEMOGRAPHIC_INDICATORS_COMPACT_REV1.xlsx "Rajada Dadweynaha Adduunka 2022: Tusiyeyaasha tirakoobka ee gobol, degaan iyo waddan, sannad kasta 1950-2100"] {{Wayback|url=https://population.un.org/wpp/Download/Files/1_Indicators%20(Standard)/EXCEL_FILES/1_General/WPP2022_GEN_F01_DEMOGRAPHIC_INDICATORS_COMPACT_REV1.xlsx |date=20230306213755 }}
*[https://books.google.com/books?id=R0pyAAAAMAAJ&dq=Somali+arab+ties&pg=PA235 <nowiki>Buug-gacmeedka Aagga Soomaaliya: La-qorayaasha: Irving Kaplan [et al.] Cilmi-baadhis iyo qoraal ayaa la dhammaystiray Juun 15, 1969</nowiki>]
*[https://www.theguardian.com/world/2008/dec/29/somali-president-resigns "Madaxweynihii Soomaaliya oo is-casilay iyadoo lagu jiro loolan dhanka awoodda ah"]
*[http://edition.cnn.com/2009/WORLD/africa/01/31/somalia.election.president/ Islaam qunyar socod ah ayaa loo doortay madaxweynaha Soomaaliya"] {{Wayback|url=http://edition.cnn.com/2009/WORLD/africa/01/31/somalia.election.president/ |date=20090202115625 }}
*[https://www.aa.com.tr/en/world/kenyan-troops-seize-al-shabaab-base-in-somalia/455875 "Ciidamada Kenya oo la wareegay saldhigii Al-Shabaab ee Soomaaliya]
*[http://allafrica.com/stories/201208220474.html "Soomaaliya: Ergayga Qaramada Midoobay oo sheegay in la furayo baarlamaanka cusub ee Soomaaliya "Xilligii Taariikhiga ahaa"]
*[https://books.google.com/books?id=L2vXPfRsf04C Dimuqraadiyad Xoolo dhaqato: Daraasad lagu sameeyay Xoolo-dhaqatada iyo Siyaasadda Soomaalida Waqooyi ee Geeska Afrika]
*[https://books.google.com/books?id=hCb6xzeydigC&q=somalia+stillbay+culture&pg=PA201 Dhaqamada Horyaala ee Geeska Afrika: Falanqaynta Casrigii Dhagaxa ee Dhaqanka iyo Cimilada ee Somaliland iyo Qaybaha Bari ee Xabashida]
*[https://archive.org/stream/geographyofherod00whee/geographyofherod00whee_djvu.txt Juqraafiga Herodotus: Waxaa laga soo sawiray Cilmi-baadhisyo Casri ah iyo daahfurkii]
*[https://books.google.com/books?id=YUoNEQAAQBAJ&dq=isaaq+sultanate&pg=PA274 Dabeecadda Is-dilitaanka ee Waddamada Muslinka ah ee u badan: Cudurrada faafa, Waxyaabaha halista ah, iyo Ka-hortagga]
*[https://web.archive.org/web/20210111020220/http://togdheernews.com/articles/31/05/2016/taariikhda-saldanada-reer-guuleed-ee-somaliland-abwaanibraahim-rashiid-cismaan-guure-aboor/ "Taariikhda Saldanada Reer Guuleed Ee Somaliland.Abwaan:Ibraahim-rashiid Cismaan Guure (aboor). | Togdheer News Network"]
*[https://web.archive.org/web/20210811205734/https://www.hubaalmedia.net/degmada-cusub-ee-dacarta-oo-loogu-wanqalay-munaasibad-kulmisay-madaxda-iyo-haldoorka-somaliland/ "Degmada Cusub Ee Dacarta Oo Loogu Wanqalay Munaasibad Kulmisay Madaxda Iyo Haldoorka Somaliland"]
*[https://web.archive.org/web/20231002022805/https://sites.tufts.edu/reinventingpeace/2013/10/22/state-sponsored-violence-and-conflict-under-mahamed-siyad-barre-the-emergence-of-path-dependent-patterns-of-violence/ "Rabshadaha iyo colaadaha ay dowladdu soo qabanqaabisay ee Mahamed Siyaad Barre: soo ifbaxa qaabab rabshado ah oo ku tiirsan waddada"]
*[https://webarchive.archive.unhcr.org/20230604082615/https://www.refworld.org/docid/3ae6acb654.html "Somalia: Warbixin ku saabsan qabsashadii magaalada Beled Uen ee United Somali Congress (USC) ee dhamaadkii 1990 ama horraantii 1991 iyo dhibaatadii Daarood ee Beled Uen ee askarta USC"]
*[https://inis.iaea.org/collection/NCLCollectionStore/_Public/40/087/40087878.pdf "Mashruuca Qiimaynta Khayraadka Uranium-ka Caalamiga ah (IUREP) Warbixinta Hawlgalka Wajiga ee Hanuuninta, Soomaaliya"] {{Wayback|url=https://inis.iaea.org/collection/NCLCollectionStore/_Public/40/087/40087878.pdf |date=20200119113709 }}
*[https://books.google.com/books?id=cscbDgqCsOMC&q=harar Cadan oo hoos imanaysa Gumaysiga Ingiriiska, 1839–1967]
*[https://web.archive.org/web/20131022175949/http://horseedmedia.net/2013/03/06/somalia-moves-forward-at-world-taekwondo-pictures/ "Soomaaliya waxay horay ugu socotaa ciyaaraha Taekwondo-ga aduunka"]
*[http://www.independent.com.mt/articles/2010-02-10/others/great-victory-for-malta-in-k1-kickboxing-270164/ "Guul weyn Malta ee K1 Kickboxing"]
*[http://www.cid.harvard.edu/neudc07/docs/neudc07_s1_p02_ahuja.pdf Gudniinka Labka ah iyo AIDS-ka: Saamaynta Dhaqaale-dhaqaale ee Dhibaatada Caafimaadka ee Eric Werker, Amrita Ahuja, iyo Brian Wendell :: NEUDC 2007 Waraaqaha :: Shirarka Horumarinta Jaamacadaha Waqooyi Bari"]
*[https://web.archive.org/web/20131006071502/http://www.ameinfo.com/176786.html "Dowladda Puntland ee Soomaaliya, Maal-gashiga Lootah ayaa kala saxiixday heshiisyo istiraatijiyadeed oo ku kacaya 170-Dhs]
*[https://web.archive.org/web/20130928150305/http://www.garoweonline.com/artman2/publish/Somalia_27/Somalia_Guide_to_Puntland_Election_2009_printer.shtml "Soomaaliya: Hagaha Doorashada Puntland 2009"]
*[https://www.nytimes.com/2007/11/20/world/africa/20somalia.html "Iyadoo dhibaatada Soomaaliya ay sii kordhayso, ayay khubaradu u arkaan in ay meesha ka maqan tahay gargaarka"]
*[https://web.archive.org/web/20150109002414/http://goobjoog.com/english/?p=6410 "Beesha Caalamka Oo Soo Dhaweysay Madaxweynaha Cusub Ee Maamulka Kumeel Gaarka Ah Ee Koonfur Galbeed Soomaaliya"]
*[http://news.bbc.co.uk/2/hi/africa/7802622.stm "Madaxweynihii Soomaaliya oo xilka ka dagay"]
*[http://www.unis.unvienna.org/unis/pressrels/2005/ga10386.html "Furitaanka Doodda Shirka Sannadlaha ah ee Sannadlaha, Xoghayaha Guud ee Qaramada Midoobay wuxuu ku booriyay Dawladaha xubnaha ka ah inay saxafada u sheegaan wax ka qabashada faqriga, argagixisanimada, xadgudubyada xuquuqda aadanaha, colaadaha"]
*[https://books.google.com/books?id=eJR3RAAACAAJ Dhaxalkii Gumeysiga ee Soomaaliya: Rome iyo Muqdisho: Laga soo bilaabo Maamulkii Gumeysiga ilaa Howlgalkii Rajada soo celinta]
*[http://archive.wikiwix.com/cache/20120810180135/http://english.alarabiya.net/views/2012/08/08/231008.html "Soomaaliya oo kor u kacaysa labaatan sano oo dagaal sokeeye iyo qalalaase ka socday"]
*
[https://www.ponarseurasia.org/de-facto-states-unbound/ "Mylonas, Harris. De Facto States Unbound – PONARS Eurasia"]
*
[https://www.cfr.org/backgrounder/Somaliland_Parade "Council on Foreign Relations. Somaliland Parade"] {{Wayback|url=https://www.cfr.org/backgrounder/Somaliland_Parade |date=20180509080323 }}
[https://www.cfr.org/backgrounder/al-shabab "Al-Shabab. Council on Foreign Relations"] {{Wayback|url=https://www.cfr.org/backgrounder/al-shabab |date=20210202020617 }}
*
[https://www.aa.com.tr/en/world/kenyan-troops-seize-al-shabaab-base-in-somalia/455875 "Kenyan troops seize al-Shabaab base in Somalia. Anadolu Agency"]
*
[https://www.un.org/development/desa/dpad/least-developed-country-category/ldcs-at-a-glance.html "LDCs at a Glance | Department of Economic and Social Affairs"]
*
[http://www.howwemadeitinafrica.com/mogadishu-east-africas-newest-business-destination/17661/ "Dinfin Mulupi. Mogadishu: East Africa's newest business destination?"] {{Wayback|url=http://www.howwemadeitinafrica.com/mogadishu-east-africas-newest-business-destination/17661/ |date=20120627101741 }}
[https://doi.org/10.1093/acprof:oso/9780199698394.001.0001 "James Ker-Lindsay (2012). The Foreign Policy of Counter Secession"]
*
[https://books.google.com/books?id=9iu6AAAAIAAJ "Lionel Casson (1984). Ancient Trade and Society"]
"Jorge Alejandro Suárez. Geopolítica de lo Desconocido: Una visión diferente de la Política International"
"Abdisalam M. Issa-Salwe (1996). The Collapse of the Somali State: The Impact of the Colonial Legacy"
*
[https://books.google.com/books?id=PBvfTmzsZ-0C "Lidwien Kapteijns (2012). Clan Cleansing in Somalia: The Ruinous Legacy of 1991"]
*
[https://books.google.com/books?id=D97AEAAAQBAJ "Joana Cook (2023). The Rule Is For None But Allah. Oxford University Press"]
[https://books.google.com/books?id=XpdAzRYruCwC "Ali Jimale Ahmed (1995). The Invention of Somalia"]
*
[https://books.google.com/books?id=L2vXPfRsf04C "I. M. Lewis & Said Samatar (1999). A Pastoral Democracy"]
*
[https://books.google.com/books?id=kREOAQAAMAAJ "Anita Suleiman (1991). Somali studies: early history"]
*
[https://books.google.com/books?id=GWjxR61xAe0C "J.D. Fage (1975). The Cambridge History of Africa, Volume 3"]
*
[https://archive.org/details/historyofafrican0000unse_j3c5/page/105 "Peter Robertshaw (1990). A History of African Archaeology"]
*
[https://books.google.com/books?id=lRDYAW4wXOYC "D. W. Phillipson (2005). African Archaeology"]
[https://books.google.com/books?id=6GFGsswTIO8C "Eric Delson (2004). Encyclopedia of Human Evolution and Prehistory"]
*
[https://books.google.com/books?
id=x6o4XLIKN0UC "Michael D. Petraglia (2009). The Evolution of Human Populations in Arabia"]
[https://books.google.com/books?id=FlL2vE_qRQ8C "Raphael Chijioke Njoku (2013). The History of Somalia"]
*
[https://books.google.com/books?id=RO4kS1IR71sC "Roshen Dalal (2011). The Illustrated Timeline of the History of the World"]
[https://books.google.com/books?id=M6NI2FejIuwC "Phillip Briggs (2012). Somaliland"]
*
[https://books.google.com/books?id=OP5LAAAAMAAJ "Encyclopedia Americana (1965). Volume 25"]
[https://archive.org/details/peoplesofthehorn007763mbp "I. M. Lewis (1955). Peoples of the Horn of Africa"]
*
[https://archive.org/stream/historyanddescr03porygoog#page/n180/mode/2up "Leo Africanus (1526). The History and Description of Africa"]
[https://books.google.com/books?id=9fAjtruUXjEC "Ioan M. Lewis (1994). Blood and Bone: The Call of Kinship in Somali Society"]
*
[https://books.google.com/books?id=zJU3AAAAIAAJ "M. Th. Houtsma (1987). E.J. Brill's First Encyclopaedia of Islam, 1913–1936"]
*
[https://books.google.com/books?id=eK6SBJIckIsC&pg=PA17 "I. M. Lewis (1999). A Pastoral Democracy"]
"Enrico Cerulli (1957). Somalia: Storia della Somalia. L'Islām in Somalia"
*
[https://books.google.com/books?id=DNHvb6nSN-AC&pg=PA79 "Edward A. Alpers (2009). East Africa and the Indian Ocean"]
*
[https://books.google.com/books?id=S3oyoVIIlMQC&pg=PA22 "Nigel Harris (2003). The Return of Cosmopolitan Capital"]
"Aleksi Ylönen (2023). The Horn Engaging the Gulf. Bloomsbury"
*
[https://books.google.com/books?id=YUoNEQAAQBAJ "S. M. Yasir Arafat (2024). Suicidal Behavior in Muslim Majority Countries"]
"Truhart, P. (1984). Regents of nations: systematic chronology of states. p. 72"
"I. M. Lewis. A pastoral democracy (1999), p. 157."
"Genealogies of the Somal (1896). Eyre and Spottiswoode (London)"
*
[https://books.google.com/books?id=pGkMAQAAIAAJ "Roland Anthony Oliver. History of East Africa, Volume 2 (1976)"]
*
[https://books.google.com/books?id=iMRf1RZ9zkAC "Roland Anthony (2007). Somalia in Pictures"]
[https://books.google.com/books?id=cereWkyNJckC "Kwame Anthony Appiah & Henry Louis Gates (2003). Africana"]
*
[https://books.google.com/books?id=eJR3RAAACAAJ "Paolo Tripodi (1999). The Colonial Legacy in Somalia"]
"Christopher L. Daniels (2012). Somali Piracy and Terrorism in the Horn of Africa"
"Mohamed Adan Sheikh (1991). Arrivederci a Mogadiscio"
"Kaplan Irving (1977). Area Handbook for Somalia. Volume 550"
"Raphael Chijioke Njoku (2013). The History of Somalia. ABC-CLIO"
"Muuse Yuusuf (2022). The Genesis of the Civil War in Somalia"
*
[https://afjn.org/somalia-mourns-a-golden-era-as-crisis-worsens/ "Somalia Mourns a 'Golden Era' as Crisis Worsens. Africa Faith and Justice Network"]
*
[http://www.globalpolicy.org/component/content/article/153/26334.html "Ethiopian Invasion of Somalia. Global Policy Forum"]
*
[http://www.garoweonline.com/english/index.php?option=com_content&view=article&id=558 "Somalia President, Parliament Speaker dispute over TFG term. Garowe Online"]{{Dead link|date=Bisha Saddexaad 2026 |bot=InternetArchiveBot |fix-attempted=yes }}
*
[http://www.unhcr.org/refworld/publisher,USCIRF,,,4a4f272bc,0.html "USCIRF Annual Report 2009 – The Commission's Watch List: Somalia"]
*
[http://www.garoweonline.com/artman2/publish/Somalia_27/Somalia_Guide_to_Puntland_Election_2009_printer.shtml "Somalia: Guide to Puntland Election 2009. Garowe Online"] {{Wayback|url=http://www.garoweonline.com/artman2/publish/Somalia_27/Somalia_Guide_to_Puntland_Election_2009_printer.shtml |date=20130928150305 }}
[http://www.unis.unvienna.org/unis/pressrels/2005/ga10386.html "Opening Annual General Assembly Debate. UNIS Vienna (2005)"]
[http://horseedmedia.net/2010/05/22/un-boss-urges-support-for-somalia-ahead-of-istanbul-summit/ "Kamaal. UN boss urges support for Somalia. Horseed Media"]
[http://kenyahighcomtz.org/?action=event-read-more.html&id=1 "Joint Communique – Operation Linda Nchi. Kenya High Commission"] {{Wayback|url=http://kenyahighcomtz.org/?action=event-read-more.html&id=1 |date=20120816100759 }}
*
[http://www.globalgovernance.eu/index.php/p-s-publications/246-new-analysis-the-somali-crisis-and-the-eu-3.html "Analysis of EUCAP Nestor by the Global Governance Institute"] {{Wayback|url=http://www.globalgovernance.eu/index.php/p-s-publications/246-new-analysis-the-somali-crisis-and-the-eu-3.html |date=20130402205646 }}
[https://blogs.worldbank.org/en/africacan/partnerships-and-data-sharing-enhance-delivery-of-somalia-drought-relief-afe-0624 "Partnerships and Data Sharing Enhance Delivery of Somalia Drought Relief. World Bank"]
*
[https://www.cia.gov/library/publications/the-world-factbook/geos/so.html "Somalia. The World Factbook (2009)"] {{Wayback|url=https://www.cia.gov/library/publications/the-world-factbook/geos/so.html |date=20160701194614 }}
*
[https://www.cia.gov/library/publications/the-world-factbook/fields/2060.html "Coastline. The World Factbook"] {{Wayback|url=https://www.cia.gov/library/publications/the-world-factbook/fields/2060.html |date=20170716042040 }}
*
[http://countrystudies.us/somalia/34.htm "Somalia – Climate. Country Studies"]
[http://www.goldmanprize.org/node/113 "Fatima Jibrell. Goldman Environmental Prize"]
*
[https://www.nytimes.com/2007/11/20/world/africa/20somalia.html "Jeffrey Gettleman. As Somali Crisis Swells, Experts See a Void in Aid. The New York Times"]
*
[http://news.bbc.co.uk/2/hi/africa/8318798.stm "Islamists break Somali port truce. BBC News"]
*
[https://www.theguardian.com/world/2012/sep/28/kenyan-soldiers-capture-kismayo-somalia "Clar Ni Chonghaile. Kenyan troops launch beach assault on Somali city of Kismayo. The Guardian"]
*
[http://english.alarabiya.net/views/2012/08/08/231008.html "Muddassar Ahmed. Somalia rising after two decades of civil war and unrest. Al Arabiya"] {{Wayback|url=http://english.alarabiya.net/views/2012/08/08/231008.html |date=20120809223608 }}
*
[http://www.timesonline.co.uk/tol/news/world/article418665.ece "Jonathan Clayton. Somalia's secret dumps of toxic waste. The Times"] {{Wayback|url=http://www.timesonline.co.uk/tol/news/world/article418665.ece |date=20110810033244 }}
*[http://www.somalbanca.org/monetary-policy.html "Central Bank of Somalia – Monetary policy"] {{Wayback|url=http://www.somalbanca.org/monetary-policy.html |date=20090125062011 }}
* [http://somalbanca.org/payment-system.html "Central Bank of Somalia – Payment system"] {{Wayback|url=http://somalbanca.org/payment-system.html |date=20090122232449 }}
* [http://www.diaspora-centre.org/DOCS/UK_Somali_Remittan.pdf "UK Somali Remittances Survey"] {{Wayback|url=http://www.diaspora-centre.org/DOCS/UK_Somali_Remittan.pdf |date=20201109191722 }}
* [http://www.threcorder.co.uk/content/towerhamlets/recorder/news/story.aspx?brand=REConline&category=newsTowerHam&tBrand=northlondon24&tCategory=newstower&itemid=WeED13%20Apr%202010%2010%3A02%3A08%3A730 "Decades of community service recognised with award - Tower Hamlets Recorder"] {{Wayback|url=https://web.archive.org/web/20110511205333/http://www.threcorder.co.uk/content/towerhamlets/recorder/news/story.aspx?brand=REConline&category=newsTowerHam&tBrand=northlondon24&tCategory=newstower&itemid=WeED13%20Apr%202010%2010%3A02%3A08%3A730 |date=20110511205333 }}
* [http://blogs.ft.com/beyond-brics/2014/03/20/the-curious-tale-of-the-world-beating-somali-shilling/ "The curious tale of the world-beating Somali shilling - Financial Times"] {{Wayback|url=https://web.archive.org/web/20170815142257/http://blogs.ft.com/beyond-brics/2014/03/20/the-curious-tale-of-the-world-beating-somali-shilling/ |date=20170815142257 }}
* [https://www.reuters.com/article/kenya-somalia-investment-idUSL6E8J8D1J20120808 "Diplomat to start Somalia's first stock market - Reuters"] {{Wayback|url=https://web.archive.org/web/20150930100728/http://www.reuters.com/article/2012/08/08/kenya-somalia-investment-idUSL6E8J8D1J20120808 |date=20150930100728 }}
* [http://www.somenergy.com/Mission-Vision.php "Mission & Vision - Somali Energy Company"] {{Wayback|url=https://web.archive.org/web/20230522182434/http://www.somenergy.com/Mission-Vision.php |date=20230522182434 }}
* [http://unctad.org/sections/dite_fdistat/docs/wid_cp_so_en.pdf "UNCTAD: Somalia Investment Data"] {{Wayback|url=https://web.archive.org/web/20160306075656/http://unctad.org/sections/dite_fdistat/docs/wid_cp_so_en.pdf |date=20160306075656 }}
* [http://www.oilmarketer.co.uk/2007/07/18/exploration-rights-in-somalia-for-chinese-oil-giant-cnooc/ "Exploration rights in Somalia for Chinese oil giant CNOOC"] {{Wayback|url=https://web.archive.org/web/20070917005212/http://www.oilmarketer.co.uk/2007/07/18/exploration-rights-in-somalia-for-chinese-oil-giant-cnooc/ |date=20070917005212 }}
* [http://www.opec.org/library/Annual%20Statistical%20Bulletin/interactive/current/FileZ/XL/T31.HTM "OPEC: World proven crude oil reserves by country"] {{Wayback|url=https://web.archive.org/web/20130905210305/http://www.opec.org/library/Annual%20Statistical%20Bulletin/interactive/current/FileZ/XL/T31.HTM |date=20130905210305 }}
* [http://www.businessweek.com/news/2013-08-08/soma-oil-and-gas-may-invest-20-million-to-survey-war-torn-somalia "Soma Oil & Gas May Invest $20 Million to Survey Somalia - Bloomberg"] {{Wayback|url=https://web.archive.org/web/20130825065126/http://www.businessweek.com/news/2013-08-08/soma-oil-and-gas-may-invest-20-million-to-survey-war-torn-somalia |date=20130825065126 }}
* [https://news.google.com/newspapers?id=hbVWAAAAIBAJ&pg=7276,235261 "Big Uranium Find Announced in Somalia - The New York Times"] {{Wayback|url=https://web.archive.org/web/20200709212617/https://news.google.com/newspapers?id=hbVWAAAAIBAJ&pg=7276,235261 |date=20200709212617 }}
* [https://inis.iaea.org/collection/NCLCollectionStore/_Public/40/087/40087878.pdf "International Uranium Resources Evaluation Project (IUREP) - Somalia Report"] {{Wayback|url=https://web.archive.org/web/20200119113709/https://inis.iaea.org/collection/NCLCollectionStore/_Public/40/087/40087878.pdf |date=20200119113709 }}
* [http://www.marketwatch.com/story/long-forgotten-uranium-bonanza-rediscovered-kilimanjaro-unleashes-somalia-uranium-exploration-initiative-2014-04-15-71733149 "Long Forgotten Uranium Bonanza Rediscovered - MarketWatch"] {{Wayback|url=https://web.archive.org/web/20140517211900/http://www.marketwatch.com/story/long-forgotten-uranium-bonanza-rediscovered-kilimanjaro-unleashes-somalia-uranium-exploration-initiative-2014-04-15-71733149 |date=20140517211900 }}
* [https://www.reuters.com/article/world/somalia-business-keen-to-join-forces-for-peace-idUSTRE64M158/ "Somalia business keen to join forces for peace - Reuters"]
* [https://www.wsj.com/articles/SB10001424052748704608104575220570113266984 "Telecom Firms Thrive in Somalia Despite War - The Wall Street Journal"] {{Wayback|url=https://web.archive.org/web/20170718221707/https://www.wsj.com/articles/SB10001424052748704608104575220570113266984 |date=20170718221707 }}
* [http://sabahionline.com/en_GB/articles/hoa/articles/features/2012/12/11/feature-01 "Radio and electronic media edge out newspapers in Somalia - Sabahi"] {{Wayback|url=https://web.archive.org/web/20121213045204/http://sabahionline.com/en_GB/articles/hoa/articles/features/2012/12/11/feature-01 |date=20121213045204 }}
* [http://www.soregistry.so/ "SO Registry - Official .so Domain"] {{Wayback|url=https://web.archive.org/web/20141031021901/http://www.soregistry.so/ |date=20141031021901 }}
* [http://news.upu.int/no_cache/nd/international-mail-services-officially-resume-in-somalia/ "International mail services officially resume in Somalia - UPU"] {{Wayback|url=https://web.archive.org/web/20131109172506/http://news.upu.int/no_cache/nd/international-mail-services-officially-resume-in-somalia/ |date=20131109172506 }}
* [https://www.bbc.com/news/world-africa-29606447?print=true "Somalia's government launches postal service - BBC News"] {{Wayback|url=https://web.archive.org/web/20220103224919/https://www.bbc.com/news/world-africa-29606447?print=true |date=20220103224919 }}
* [http://sabahionline.com/en_GB/articles/hoa/articles/newsbriefs/2012/11/01/newsbrief-06 "New tourism ministry under construction in Garowe - Sabahi"] {{Wayback|url=https://web.archive.org/web/20160304042703/http://sabahionline.com/en_GB/articles/hoa/articles/newsbriefs/2012/11/01/newsbrief-06 |date=20160304042703 }}
* [http://somta.so/ "Somali Tourism Association (SOMTA)"] {{Wayback|url=https://web.archive.org/web/20190123131425/http://somta.so/ |date=20190123131425 }}
* [http://goobjoog.com/english/?p=12161 "South West State to renovate Government Hotels - Goobjoog"] {{Wayback|url=https://web.archive.org/web/20230411145528/https://goobjoog.com/english/?p=12161 |date=20230411145528 }}
* [https://travelmaps.state.gov/TSGMap/ "Travel Advisory: Somalia - Travel.State.Gov"] {{Wayback|url=https://web.archive.org/web/20200311235850/https://travelmaps.state.gov/TSGMap/?extent=32.829980986%2C-1.783760626%2C59.54518237%2C12.077308381 |date=20200311235850 }}
* [http://laanta.net/2012/07/24/somalia-to-revive-national-airline-after-21-years/ "Somalia to revive national airline after 21 years - Laanta"] {{Wayback|url=https://web.archive.org/web/20141102150005/http://laanta.net/2012/07/24/somalia-to-revive-national-airline-after-21-years/ |date=20141102150005 }}
* [http://www.keydmedia.net/en/news/article/the_long_awaited_somali_airlines_is_coming_back/ "The long awaited Somali Airlines is Coming Back! - Keydmedia Online"] {{Wayback|url=https://web.archive.org/web/20131202231315/http://www.keydmedia.net/en/news/article/the_long_awaited_somali_airlines_is_coming_back/ |date=20131202231315 }}
* [https://data.worldbank.org/country/SO "World Bank Open Data: Somalia"] {{Wayback|url=https://web.archive.org/web/20231130043543/https://data.worldbank.org/country/SO |date=20231130043543 }}
* [https://somalia.unfpa.org/sites/default/files/pub-pdf/Population-Estimation-Survey-of-Somalia-PESS-2013-2014.pdf "UNFPA: Population Estimation Survey of Somalia 2014"] {{Wayback|url=https://web.archive.org/web/20170804014649/http://somalia.unfpa.org/sites/default/files/pub-pdf/Population-Estimation-Survey-of-Somalia-PESS-2013-2014.pdf |date=20170804014649 }}
* [http://webdev.cal.org/development/co/bantu/sbpeop.html "The Somali Bantu: Their History and Culture"] {{Wayback|url=https://web.archive.org/web/20140416191857/http://webdev.cal.org/development/co/bantu/sbpeop.html |date=20140416191857 }}
* [http://www.pewforum.org/files/2012/12/globalReligion-full.pdf "The Global Religious Landscape - Pew Research Center"] {{Wayback|url=https://web.archive.org/web/20130806002044/http://www.pewforum.org/files/2012/12/globalReligion-full.pdf |date=20130806002044 }}
* [http://www.wes.org/ca/wedb/somalia/soedov.htm "Somalia – Education Overview - WES"] {{Wayback|url=https://web.archive.org/web/20110511075522/http://www.wes.org/ca/wedb/somalia/soedov.htm |date=20110511075522 }}
* [http://www.unfpa.org/sowmy/report/home.html "The State Of The World's Midwifery - UNFPA"] {{Wayback|url=https://web.archive.org/web/20120120184853/http://www.unfpa.org/sowmy/report/home.html |date=20120120184853 }}
* [https://www.britannica.com/place/Somalia "Somalia"] {{Wayback|url=https://www.britannica.com/place/Somalia |date=20211112230316 }}
* [https://ethnomed.org/resource/report-on-somali-diet/ "Report on Somali Diet"]
* [https://hooyoshouse.medium.com/exploring-the-aromatic-world-of-traditional-somali-spice-blends-3ab93879b74e "Exploring the Aromatic World of Traditional Somali Spice Blends"]
* [https://www.deliciousisrael.com/blog/lahoh "Yemenite Lahoh (Lachoch)"]
* [http://xawaash.com/?p=1548 "Somali Anjero (Canjeero) Anjero Somali | Xawaash.com"] {{Wayback|url=http://xawaash.com/?p=1548 |date=20231004063819 }}
* [http://journals.sagepub.com/doi/10.5367/000000007780223669 "Role of Camels ( Camelus Dromedarius ) in the Traditional Lifestyle of Somali Pastoralists in Northern Kenya"]
* [http://xawaash.com/?p=5892 "Somali Rice Pilaf (Bariis Maraq) Riz Pilaf Somali البيلاف الصومالي"] {{Wayback|url=http://xawaash.com/?p=5892 |date=20230923064942 }}
* [https://www.saveur.com/how-lasagna-landed-africa/ "How Lasagna Landed in Africa"]
* [https://www.vice.com/en/article/spaghetti-and-bananas-is-somali-comfort-food/ "Spaghetti and Bananas Is Somali Comfort Food"]
* [https://www.cafedirect.co.uk/shop/the-history-of-coffee/ "The History of Coffee"]
* [https://books.google.com/books?id=cscbDgqCsOMC&q=harar "Aden Under British Rule, 1839–1967"]
* [https://www.mysomalifood.com/qahwe/ "Qahwe"]
* [https://archive-stories.com/Halwa-Mahyawa-and-Multiple-Registers-of-Life-in-the-Gulf "Halwa, Mahyawa and Multiple Registers of Life in the Gulf"]
* [https://archive.fiba.com/pages/eng/fa/event/p/cid/AFMSM/sid/2399/_/1981_African_Championship_for_Men/index.html "1981 African Championship for Men"] {{Wayback|url=http://archive.fiba.com/pages/eng/fa/event/p/cid/AFMSM/sid/2399/_/1981_African_Championship_for_Men/index.html |date=20090907182902 }}
* [http://horseedmedia.net/2013/03/06/somalia-moves-forward-at-world-taekwondo-pictures/ "Somalia moves forward at world Taekwondo"] {{Wayback|url=http://horseedmedia.net/2013/03/06/somalia-moves-forward-at-world-taekwondo-pictures/ |date=20131022175949 }}
* [http://www.independent.com.mt/articles/2010-02-10/others/great-victory-for-malta-in-k1-kickboxing-270164/ "Great Victory for Malta in K1 Kickboxing"]
* [https://www.britannica.com/place/Somalia "Somalia"] {{Wayback|url=https://www.britannica.com/place/Somalia |date=20211112230316 }}
* {{Harvnb|Diriye Abdullahi|2001|pp=170–1}}
* {{Harvnb|Diriye Abdullahi|2001|p=109}}
* [https://ethnomed.org/resource/report-on-somali-diet/ "Report on Somali Diet"]
* [https://hooyoshouse.medium.com/exploring-the-aromatic-world-of-traditional-somali-spice-blends-3ab93879b74e "Exploring the Aromatic World of Traditional Somali Spice Blends"]
* [https://www.deliciousisrael.com/blog/lahoh "Yemenite Lahoh (Lachoch)"]
* {{Harvnb|Diriye Abdullahi|2001|page=113}}
* [http://xawaash.com/?p=1548 "Somali Anjero (Canjeero) Anjero Somali | Xawaash.com"] {{Wayback|url=http://xawaash.com/?p=1548 |date=20231004063819 }}
* [http://journals.sagepub.com/doi/10.5367/000000007780223669 "Role of Camels ( Camelus Dromedarius ) in the Traditional Lifestyle of Somali Pastoralists in Northern Kenya"]
* [http://xawaash.com/?p=5892 "Somali Rice Pilaf (Bariis Maraq) Riz Pilaf Somali البيلاف الصومالي"] {{Wayback|url=http://xawaash.com/?p=5892 |date=20230923064942 }}
* [https://www.saveur.com/how-lasagna-landed-africa/ "How Lasagna Landed in Africa"]
* [https://www.vice.com/en/article/spaghetti-and-bananas-is-somali-comfort-food/ "Spaghetti and Bananas Is Somali Comfort Food"]
* [https://www.cafedirect.co.uk/shop/the-history-of-coffee/ "The History of Coffee"]
* [https://books.google.com/books?id=cscbDgqCsOMC&q=harar "Aden Under British Rule, 1839–1967"]
* [https://www.mysomalifood.com/qahwe/ "Qahwe"]
* [https://archive-stories.com/Halwa-Mahyawa-and-Multiple-Registers-of-Life-in-the-Gulf "Halwa, Mahyawa and Multiple Registers of Life in the Gulf"]
* {{Cite book |last=Abdullahi |first=Mohammed |title=Culture and Customs of Somalia (Culture and Customs of Africa) |url=https://archive.org/details/culturecustomsof00diri |publisher=Greenwood Press |date=2012 |isbn=9780313313332 |pages=[https://archive.org/details/culturecustomsof00diri/page/98 98]–99}}
* [https://archive.fiba.com/pages/eng/fa/event/p/cid/AFMSM/sid/2399/_/1981_African_Championship_for_Men/index.html "1981 African Championship for Men"] {{Wayback|url=http://archive.fiba.com/pages/eng/fa/event/p/cid/AFMSM/sid/2399/_/1981_African_Championship_for_Men/index.html |date=20090907182902 }}
* [http://horseedmedia.net/2013/03/06/somalia-moves-forward-at-world-taekwondo-pictures/ "Somalia moves forward at world Taekwondo"] {{Wayback|url=http://horseedmedia.net/2013/03/06/somalia-moves-forward-at-world-taekwondo-pictures/ |date=20131022175949 }}
* [http://www.independent.com.mt/articles/2010-02-10/others/great-victory-for-malta-in-k1-kickboxing-270164/ "Great Victory for Malta in K1 Kickboxing"]
* [https://www.britannica.com/place/Somalia "Somalia - Britannica"] {{Wayback|url=https://www.britannica.com/place/Somalia |date=20211112230316 }}
* [https://www.ponarseurasia.org/de-facto-states-unbound/ "De Facto States Unbound – PONARS Eurasia"] {{Wayback|url=https://www.ponarseurasia.org/de-facto-states-unbound/ |date=20221014163003 }}
* {{cite book |last1=Ker-Lindsay |first1=James |title=The Foreign Policy of Counter Secession |date=2012 |isbn=978-0-19-969839-4 |pages=58–59}}
* [https://books.google.com/books?id=9iu6AAAAIAAJ "Ancient Trade and Society - Lionel Casson"] {{Wayback|url=https://books.google.com/books?id=9iu6AAAAIAAJ |date=20160805112006 }}
* {{cite book|last1=Suárez|first1=Jorge Alejandro|title=Geopolítica de lo Desconocido|isbn=979-8393720292|page=227}}
* {{Harvnb|Laitin|1977|p=8}}
* {{cite book|author=Abdisalam M. Issa-Salwe|title=The Collapse of the Somali State|year=1996|isbn=1-874209-91-X|pages=34–35}}
* [https://books.google.com/books?id=PBvfTmzsZ-0C&pg=PA84 "Clan Cleansing in Somalia: The Ruinous Legacy of 1991"] {{Wayback|url=https://books.google.com/books?id=PBvfTmzsZ-0C&pg=PA84 |date=20230207231426 }}
* [https://www.cfr.org/backgrounder/Somaliland_Parade "Council on Foreign Relations - Somaliland"] {{Wayback|url=https://web.archive.org/web/20180509080323/https://www.cfr.org/backgrounder/Somaliland_Parade |date=20180509080323 }}
* [https://www.nytimes.com/2011/06/24/world/africa/24somalia.html "Harvard-Educated Technocrat Chosen as Somalia Premier - NYT"] {{Wayback|url=https://www.nytimes.com/2011/06/24/world/africa/24somalia.html |date=20181128005934 }}
* [[suspicious link removed] "Ethiopian Invasion of Somalia, US Warlordism & AU Shame"]
* [https://www.tandfonline.com/doi/full/10.1080/09546553.2016.1165213 "The Evolution of Political Violence: The Case of Somalia's Al-Shabaab"]
* {{Cite book |title=The Rule Is For None But Allah |publisher=Oxford University Press |year=2023 |isbn=9780197690390 |page=111}}
* [[suspicious link removed] "The Production of Somali Conflict and the Role of Internal and External Actors"]
* [https://www.theguardian.com/world/2008/dec/29/somali-president-resigns "Somali president resigns amid power struggle - The Guardian"]
* [http://edition.cnn.com/2009/WORLD/africa/01/31/somalia.election.president/ "Moderate Islamist picked as Somali president - CNN"] {{Wayback|url=http://edition.cnn.com/2009/WORLD/africa/01/31/somalia.election.president/ |date=20090202115625 }}
* [https://www.bbc.com/news/world-africa-16979440 "Somalia's al-Shabab join al-Qaeda - BBC News"]
* [https://www.bbc.com/news/world-africa-54690561 "Somalia conflict: Al-Shabab 'collects more revenue than government'"] {{Wayback|url=https://www.bbc.com/news/world-africa-54690561 |date=20220928121250 }}
* [https://www.cfr.org/backgrounder/al-shabab "Al-Shabab - Council on Foreign Relations"] {{Wayback|url=https://www.cfr.org/backgrounder/al-shabab |date=20210202020617 }}
* [https://www.aa.com.tr/en/world/kenyan-troops-seize-al-shabaab-base-in-somalia/455875 "Kenyan troops seize al-Shabaab base in Somalia - Anadolu Agency"] {{Wayback|url=https://www.aa.com.tr/en/world/kenyan-troops-seize-al-shabaab-base-in-somalia/455875 |date=20230930234435 }}
* [http://news.xinhuanet.com/english/indepth/2012-08/02/c_131757152.htm "Somalia's newly-endorsed constitution widely hailed"] {{Wayback|url=http://news.xinhuanet.com/english/indepth/2012-08/02/c_131757152.htm |date=20131007224547 }}
* [http://www.howwemadeitinafrica.com/mogadishu-east-africas-newest-business-destination/17661/ "Mogadishu: East Africa's newest business destination?"] {{Wayback|url=http://www.howwemadeitinafrica.com/mogadishu-east-africas-newest-business-destination/17661/ |date=20120627101741 }}
* [https://www.un.org/development/desa/dpad/least-developed-country-category/ldcs-at-a-glance.html "LDCs at a Glance - United Nations"] {{Wayback|url=https://www.un.org/development/desa/dpad/least-developed-country-category/ldcs-at-a-glance.html |date=20220329160054 }}
* [http://horseedmedia.net/2013/03/06/somalia-moves-forward-at-world-taekwondo-pictures/ "Somalia moves forward at world Taekwondo"] {{Wayback|url=http://horseedmedia.net/2013/03/06/somalia-moves-forward-at-world-taekwondo-pictures/ |date=20131022175949 }}
* [http://www.independent.com.mt/articles/2010-02-10/others/great-victory-for-malta-in-k1-kickboxing-270164/ "Great Victory for Malta in K1 Kickboxing"]
==Xiriirinta dibadda==
{{Library resources box}}
* [https://www.ifs.du.edu/ifs/frm_CountryProfile.aspx?Country=SO Saadaasha Horumarka Muhiimka ah ee Soomaaliya] laga helay [[International Futures]]
=== Dawladda ===
* [https://www.somalia.gov.so Albaabka rasmiga ah ee dowladda] – albaabka u furmaya bogagga dowladda
* [https://villasomalia.gov.so/en Madaxtooyada] {{Wayback|url=https://villasomalia.gov.so/en |date=20250715221010 }} – bogga rasmiga ah ee madaxweynaha Soomaaliya
* [https://opm.gov.so Ra’iisul Wasaaraha] – bogga rasmiga ah ee ra’iisul wasaaraha Soomaaliya
* [https://senate.gov.so Aqalka Sare] – bogga rasmiga ah ee Aqalka Sare ee Soomaaliya
* [http://www.parliament.gov.so Baarlamaanka] – bogga rasmiga ah ee Baarlamaanka Federaalka Soomaaliya
* [https://nbs.gov.so Xog-ururin] – bogga rasmiga ah ee Xafiiska Qaranka ee Xog-ururinta Soomaaliya
=== Taariikh ===
* [https://www.somalia.gov.so/about-somalia "Taariikh"] – Taariikhda Soomaaliya ee bogga Dowladda Federaalka Soomaaliya
=== Dalxiis ===
* [https://tourism.gov.so Waaxda Dalxiiska] {{Wayback|url=https://tourism.gov.so/ |date=20230506225038 }} – bogga rasmiga ah ee Waaxda Dalxiiska, Wasaaradda Warfaafinta, Dhaqanka & Dalxiiska
=== Khariidado ===
* {{Wikiatlas}}
* {{Osmrelation-inline|192799}}
{{Navboxes
|list =
{{Midowga Afrika}}
}}
{{Coord|10|N|49|E|display=title}}
{{Subject bar|Soomaaliya|Afrika|Dalalka|auto=yes|voy=Soomaaliya}}
{{Authority control}}
{{Ururka Iskaashiga Islaamka}}
{{Dalalka Afrika}}
<!-- ugu hooseeya per [[WP:SUBCAT]] - hoosaadka dalalka ee hoostaga qaybaha gobolka -->
[[Category:Wadamada Afrika]]
3zvpw9b6qrc2gov431eena0qor0uk2o
Heerka Koowaad ee Soomaali
0
38302
310831
310827
2026-10-24T13:17:44Z
Isma4l
41797
310831
wikitext
text/x-wiki
{{Infobox football league
| logo=
| pixels=
| country={{flagicon|SOM}} [[Soomaaliya]]
| confed=[[Xiriirka Kubadda Cagta Afrika|CAF]]
| founded=1967
| teams=12
| promotion=
| relegation=[[Heerka Labaad ee Soomaaliya]]
| levels=1
| domest_cup=[[Koobka Soomaaliya]]
| champions=[[Gaadiidka FC]]
| season=[[Horyaalka Heerka Koowaad ee Soomaaliya 2025/26|2025–2026]]
| top goalscorer= {{flagicon|Somalia}} [[Ciise Aden Abshir]] (103 gool)
| tv=Astaan TV <br> Asal TV <br> Bile TV
| website=
| current=[[Horyaalka Heerka Koowaad ee Soomaaliya 2025/26]]
}}
[[File:2014_12_19_Somali_Football-20_(16145412865).jpg | thumb | right | Ciyaar u dhaxaysa kooxaha heerka koowaad ee Elman iyo Horseed ee Garoonka Banaadir sannadkii 2014]]
Horyaalka Qaranka Soomaaliyeed ({{langx|so|Heerka Koowaad ee Soomaali}}), oo hore loo oran jiray Horyaalka Premier League ee Soomaaliya, waa horyaalka xirfadleyda Soomaaliyeed ee [[kubadda cagta]] ragga. Wuxuu shaqaynayay in ka badan 50 sano, isagoo la aasaasay 1967.
Soomaaliya waxay leedahay 12 kooxood oo xirfadlayaal ah oo u ciyaara Heerka Koowaad ee Soomaaliya. Kubadda cagta waa ciyaarta ugu caansan Soomaaliya. Sannadku markuu ahaa 1930-meeyadii, maamuladii gumeystaha Talyaanigu waxay dalka ka aasaaseen kooxo ka mid ah kuwii ugu horreeyay. Xilli ciyaareedkii 2025–26, [[Gaadiidka FC|Gaadiidka]] ayaa ku guuleystay Heerka Koowaad ee Soomaaliya.
==Ciyaartooyda Ajaanibta ah==
Koox kasta oo ka qayb qaadanaysa horyaalka waxaa loo oggol yahay oo kaliya in ay diiwaangeliso afar ciyaaryahan oo ajaanib ah hal mar.<ref>{{Cite web|url=https://www.aljazeera.com/features/2015/7/1/somalias-football-revival-lures-foreign-players|title=Somalia’s football revival lures foreign players|first=Hamza|last=Mohamed|website=Al Jazeera}}</ref>
==Kooxaha==
''Laga soo bilaabo xilli ciyaareedkii 2024-2025:''
{| class="wikitable sortable"
! width="150" scope="col" |Kooxda
! width="150" scope="col" |Goobta
! width="200" scope="col" |Garoonka
|-
|[[Mogadishu City Club|Mogadishu City]] ||[[Muqdisho]]||[[Garoonka Muqdisho]]
|-
|{{sort|Dekedaha|[[Dekedaha FC|Dekedaha]]}}||[[Muqdisho]]||[[Garoonka Banaadir]]
|-
|{{sort|Gaadiidka|[[Gaadiidka FC|Gaadiidka]]}} ||[[Muqdisho]]||[[Garoonka Banaadir]]
|-
|{{sort|Heegan|[[Heegan FC|Heegan]]}}||[[Muqdisho]]||[[Garoonka Banaadir]]
|-
|{{sort|Horseed|[[Horseed FC]]}}||[[Horseed]]||[[Garoonka Horseed]]
|-
|{{sort|Raadsan|[[Raadsan SC]]}}||[[Muqdisho]]||[[Garoonka Banaadir]]
|-
|{{sort|Jeenyo United|[[Jeenyo United FC]]}}||[[Muqdisho]]||[[Garoonka Banaadir]]
|-
|[[Gasko FC]]||[[Muqdisho]]||[[Garoonka Banaadir]]
|-
| {{sort |[[Elman SC]] ||[[Muqdisho]]||[[Garoonka Banaadir]]
|-
| {{sort |[[KIGS SC]]||[[Muqdisho]]||[[Garoonka Banaadir]]
|-
|[[National Printing Agency FC|Madbacada FC]] ||[[Muqdisho]]||[[Garoonka Banaadir]]
|-
|[[Badbaado FC]] ||[[Muqdisho]]||[[Garoonka Muqdisho]]
|}
==Kuwii horay u guuleystay==
Kuwii hore u guuleystay waxay ahaayeen:<ref>{{cite web|title=Somalia Champions|website=[[RSSSF]]|url=https://www.rsssf.org/tabless/somachamp.html|access-date=22 December 2013}}</ref>
{| class="wikitable"
|+
! Sannadka
! Horyaalka
|-
|1967
|[[Booliska Soomaaliyeed]] (1)
|-
|1968
|[[Hoga]] (1)
|-
|1969
|[[Lavori Pubblici]] (1)
|-
|1970
|[[Lavori Pubblici]] (2)
|-
|1971
|[[Lavori Pubblici]] (3)
|-
|1971–72
|[[Horseed Football Club|Horseed]] (1)
|-
|1972–73
|[[Horseed Football Club|Horseed]] (2)
|-
|1973–74
|[[Horseed Football Club|Horseed]] (3)
|-
|1975
|[[Mogadiscio Municipality]] (1)
|-
|1976–77
|[[Horseed Football Club|Horseed]] (4)
|-
|1977–78
|[[Horseed Football Club|Horseed]] (5)
|-
|1978–79
|[[Horseed Football Club|Horseed]] (6)
|-
|1979–80
|[[Horseed Football Club|Horseed]] (7)
|-
|1980–81
|[[Lavori Pubblici]] (4)
|-
|1982
|[[Wagad]] (1)
|-
|1983
|[[National Printing Agency]] (1)
|-
|1984
|Marine Club (1)
|-
|1985
|[[Wagad]] (2)
|-
|1986
|[[Mogadiscio Municipality]] (2)
|-
|1987
|[[Wagad]] (3)
|-
|1988
|[[Wagad]] (4)
|-
|1989
|[[Mogadiscio Municipality]] (3)
|-
|1990
|[[Gaadiidka FC|Gaadiidka]] (1)
|-
| colspan="2" |''Lama qaban intii u dhaxeysay 1991 iyo 1993''
|-
|1994
|Morris Supplies (1)
|-
|1995
|[[Alba FC|Alba]] (1)
|-
| colspan="2" |''Lama qaban 1996 iyo 1997''
|-
|1998
|[[Dekedaha FC|Dekedaha]] (1)
|-
|1999
|[[Banaadir Sports Club|Banaadir]] (1)
|-
|2000
|[[Elman Football Club|Elman]] (1)
|-
|2001
|[[Elman Football Club|Elman]] (2)
|-
|2002
|[[Elman Football Club|Elman]] (3)
|-
|2003
|[[Elman Football Club|Elman]] (4)
|-
|2004–06
|[[Banaadir Sports Club|Banaadir]] (2)
|-
|2007
|[[Dekedaha FC|Dekedaha]] (2)
|-
|2008
|''Lama qaban''
|-
|2008–09
|[[Banaadir Sports Club|Banaadir]] (3)
|-
|2009–10
|[[Banaadir Sports Club|Banaadir]] (4)
|-
|2011
|[[Elman Football Club|Elman]] (5)
|-
|2012
|[[Elman Football Club|Elman]] (6)
|-
|[[2013–14 Somali First Division|2013–14]]
|[[Banaadir Sports Club|Banaadir]] (5)
|-
|2014–15
|[[Heegan Football Club|Heegan]]
|-
|[[2015–16 Somali First Division|2015–16]]
|[[Banaadir Sports Club|Banaadir]] (6)
|-
|[[2016–17 Somali First Division|2016–17]]
|[[Dekedaha FC|Dekedaha]] (3)
|-
|[[2018 Somali First Division|2018]]
|[[Dekedaha FC|Dekedaha]] (4)
|-
|[[2019 Somali First Division|2019]]
|[[Dekedaha FC|Dekedaha]] (5)
|-
|[[2019–20 Somali First Division|2019–20]]
|[[Mogadishu City Club|Mogadishu City]] (1)
|-
|2021
|[[Horseed Football Club|Horseed]] (8)
|-
|2022
|[[Gaadiidka FC|Gaadiikdka]] (2)
|-
|2023–24
|[[Dekedaha FC|Dekedaha]] (6)
|-
|2024–25
|[[Mogadishu City Club|Mogadishu City]] (2)
|-
|2025–26
|[[Gaadiidka FC|Gaadiikdka]] (3)
|}
==Jadwalkii Heerka Koowaad ee Soomaaliya 2021==
Natiijadii ugu dambeysay:<ref>{{Cite web | title=Somalia 2021 | url=https://www.rsssf.org/tabless/soma2021.html | access-date=2025-08-22 | website=www.rsssf.org}}</ref>
{{row counter|{| class{{=}}"wikitable sortable"
|-
! Pos. !! Kooxda Kubadda Cagta !! Celceliska Daawadayaasha !! W !! D !! L !! Dhibcaha
|-
| 1 || [[Horseed FC|Horseed SC]] || 7,533 || 11 || 5 || 2 || 38
|-
| 2 || [[Mogadishu City Club]] || 2,512 || 11 || 5 || 2 || 38
|-
| 3 || [[Heegan FC]] || 2,032 || 9 || 6 || 3 || 33
|-
| 4 || [[Raadsan SC]] || 917 || 9 || 6 || 3 || 33
|-
| 5 || [[Dekedaha FC]] || 907 || 6 || 5 || 7 || 23
|-
| 6 || [[Midnimo FC]] || 654 || 7 || 1 || 10 || 22
|-
| 7 || [[Gaadiidka FC]] || 698 || 6 || 3 || 9 || 21
|-
| 8 || [[Jeenyo United FC]] || 567 || 5 || 5 || 8 || 20
|-
| 9 || [[Elman FC|Elman SC]] || 520 || 5 || 2 || 11 || 17
|-
| 10 || [[Geeska Afrika FC]] || 321 || 1 || 2 || 15 || 5
|-
|} }}
Daawadayaasha ugu badan: 65,000 oo ka tirsan [[Horseed FC|Horseed SC]] vs [[Mogadishu City Club]].<ref>https://wardheernews.com/tanks-gone-somalis-fill-mogadishu-stadium-with-65000-fans-for-first-time-since-2004/</ref>
==Waxqabadka kooxda==
{| class="wikitable"
|-
! Kooxda
! Horyaallada
! Horyaalkii ugu dambeeyay
|-
| [[Mogadishu City Club]] (waxaa ku jira Mogadishu Municipality, Banaadir) || 11 || 2024–25
|-
| [[Horseed FC]] || 8 || 2020–21
|-
|[[Elman FC]]|| 6 || 2012–13
|-
| [[Dekedda FC|Dekedda]] (waxaa ku jira Ports Authority) || 6 || 2023–24
|-
| [[Wagad]] || 4 || 1988
|-
| [[Jeenyo United FC|Jeenyo United]] (waxaa ku jira Lavori Pubblici) || 4 || 1980–81
|-
| [[Gaadiidka FC|Gaadiidka]] || 3 || 2025–26
|-
| [[Heegan FC|Heegan]] (waxaa ku jira Booliska Soomaaliyeed) || 2 || 2014–15
|-
| Deledda FC || 1 || 1998
|-
| [[Alba FC|Alba]] || 1 || 1995
|-
| Merca New Supplies || 1 || 1994
|-
| Marine Club || 1 || 1984
|-
| [[Madbacadda Qaranka|Printing Agency]] || 1 || 1983
|-
| [[Hoga]] || 1 || 1968
|}
==Ciyaartooyda goolasha ugu badan dhaliyay ==
{|class="wikitable" style="text-align:center"
!Xilli-ciyaareedka!!Ciyaaryahanka!!Kooxda!!Goolasha
|-
|2023–24||align=left|{{flagicon|NGA}} Adepoju Oluwaseun||[[Gaadiidka]]||22
|-
|2024–25||align=left|{{flagicon|SOM}} Abdulqadir Eenow||[[Mogadishu City Club]]||23
|}
==Tixraacyada==
{{reflist}}
==Xiriiriyeyaasha dibadda==
*[https://footballsomalia.so/so/ Footballsomialia]
*[https://web.archive.org/web/20071118200321/http://www.fifa.com/associations/association=som/nationalleague/standings.html League at FIFA.com]
*[https://int.soccerway.com/national/somalia/first-division/20132014/regular-season/r23101/ League at Soccerway.com]
*[https://www.flashscore.com/football/somalia/national-league/ League at Flashcore.com]
dg53og8vhwbrdrsdifwoqmglpjuiv3p
Module:Infobox/styles.css
828
40075
310839
303788
2026-10-25T10:06:29Z
Isma4l
41797
310839
sanitized-css
text/css
/* {{pp|small=y}} */
/*
* This TemplateStyles sheet deliberately does NOT include the full set of
* infobox styles. We are still working to migrate all of the manual
* infoboxes. See [[MediaWiki talk:Common.css/to do#Infobox]]
* DO NOT ADD THEM HERE
*/
/* NOTE: This is maintained both here and in [[MediaWiki:Common.css]] until migration is complete.
* Starting with bare minimum for the benefit of [[mw:Manual:Safemode]]. */
@media (min-width: 640px) {
.infobox {
/* @noflip */
margin-left: 1em;
/* @noflip */
float: right;
/* @noflip */
clear: right;
width: 22em;
}
}
/*
* not strictly certain these styles are necessary since the modules now
* exclusively output infobox-subbox or infobox, not both
* just replicating the module faithfully
*/
.infobox-subbox {
padding: 0;
border: none;
margin: -3px;
width: auto;
min-width: 100%;
font-size: 100%;
clear: none;
float: none;
background-color: transparent;
color:inherit;
}
.infobox-3cols-child {
margin: -3px;
}
.infobox .navbar {
font-size: 100%;
}
/* remove when infobox is not a table anymore */
.infobox-hiddenrow,
/* we mean it, Minerva. but also Vector 2022 in the future at some point */
body.skin--responsive.skin--responsive .infobox .infobox-hiddenrow {
display: none;
}
/* Dark theme: [[William Wragg]], [[Coral Castle]] */
@media screen {
html.skin-theme-clientpref-night .infobox-full-data:not(.notheme) > div:not(.notheme)[style] {
background: #1f1f23 !important;
/* switch with var( --color-base ) when supported. */
color: #f8f9fa;
}
}
@media screen and (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .infobox-full-data:not(.notheme) > div:not(.notheme)[style] {
background: #1f1f23 !important;
/* switch with var( --color-base ) when supported. */
color: #f8f9fa;
}
}
/* Since infobox is a table, many infobox templates take advantage of this to
* add columns and rows to the infobox itself rather than as part of a new table
* inside them. This class should be discouraged and removed on the long term,
* but allows us to at least identify these tables going forward
* Currently in use on: [[Module:Infobox3cols]]
* Fixes issue described in [[phab:F55300125]] on Vector 2022.
*/
@media (min-width: 640px) {
body.skin--responsive .infobox-table {
display: table !important;
}
body.skin--responsive .infobox-table > caption {
display: table-caption !important;
}
body.skin--responsive .infobox-table > tbody {
display: table-row-group;
}
body.skin--responsive .infobox-table th,
body.skin--responsive .infobox-table td {
padding-left: inherit;
padding-right: inherit;
}
}
bi1nsztkx4350a55cuzjhaotvp5h216
Harada Rukwa
0
48308
310837
300234
2026-10-24T17:39:03Z
InternetArchiveBot
28368
Add 1 book for [[en:Wikipedia:Verifiability|verifiability]] (20261024) #IABot (v2.0.9.6) ([[User:GreenC bot|GreenC bot]])
310837
wikitext
text/x-wiki
{{Infobox body of water
| name = Harada Rukwa
| image = Lake Rukwa.png
| alt = Satellite image of Lake Rukwa.
| caption = Harada Rukwa, marka laga arko hawada sare.
| image_bathymetry = Lake Rukwa Basin OSM.png
| alt_bathymetry = Lake Rukwa in center with Lake Tanganyika to left. Four rivers flowing into Rukwa two in north west and two in south.
| caption_bathymetry =
| location = [[Rukwa Region|Gobolka Rukwa]], [[Songwe Region|Gobolka Songwe]] iyo [[Katavi Region|Gobolka Katavi]], Tanzania
| coords = {{coord|8|00|S|32|25|E|region:TZ_type:waterbody|display=inline,title}}
| type = [[alkaline lake|alkaline (biyo-ashitada yar)]]
| inflow =
| outflow =
|pushpin_map=Tanzania
| pushpin_map_alt = Located in south west Tanzania near Lake Tanganyika.
| catchment = {{convert|88000|km2|sqmi|abbr=on}}<ref>[http://www.lakerukwabasin.co.tz/Lake%20Rukwa_Bathymetry_Survey_Final_Report.pdf Lake Rukwa Bathymetry Survey Final Report 2014]</ref>
| basin_countries = Tanzania
| length =
| width =
| area =
| depth =
| max-depth =
| volume =
| residence_time =
| shore =
| elevation = {{convert|800|m|ft}}
| islands =
| cities =
}}
'''Harada Rukwa''' waa haro [[endorheic]] ah oo ku taal dooxada [[Rukwa Valley]] ee [[Rukwa Region|Gobolka Rukwa]], [[Songwe Region|Gobolka Songwe]] iyo [[Katavi Region|Gobolka Katavi]] ee dalka koonfur-galbeed [[Tanzania]]. Haradan waa biyaha labaad ee ugu weyn gudaha dalka.
== Juqraafiyada ==
Harada alkaline-ka ah ee Rukwa waxay ku taal inta u dhaxaysa [[Lake Tanganyika]] iyo [[Lake Malawi]] iyadoo leh dherer qiyaastii {{convert|800|m|ft}} ah, waxayna ku taal laan barbar socota nidaamka rift-iga. Ku dhawaad kala badh harada waxay ku taal gudaha deegaanka dabiiciga ah ee [[Uwanda Game Reserve]].<ref>{{cite web|url=http://www.utalii.com/Rukwa/Uwanda_Game_Reserve.htm|title=Rukwa Uwanda Game Reserve|publisher=Utalii Travel and Safari|access-date=29 October 2010|archive-date=22 November 2011|archive-url=https://web.archive.org/web/20111122200601/http://www.utalii.com/Rukwa/Uwanda_Game_Reserve.htm}}</ref>
== Hydrology ==
Haradu waxay aragtay isbeddello waaweyn oo dhinaca baaxadeeda ah sannadihii la soo dhaafay, sababtoo ah isbeddelka qulqulka durdurrada biyaha. Hadda dhererkeedu waa qiyaastii {{convert|180|km|mi}} celcelis ahaanna ballaceedu waa qiyaastii {{convert|32|km|mi}}, taasoo ka dhigaysa baaxadeeda qiyaastii {{convert|5760|km2|mi2}}.<ref>Google Earth accessed 6 February 2007</ref> Sanadkii 1929 waxay ahayd oo keliya qiyaastii {{convert|48|km|mi}} oo dherer ah, laakiin sanadkii 1939 waxay ahayd qiyaastii {{convert|128|km|mi}} oo dherer ah iyo {{convert|40|km|mi}} oo ballac ah.<ref name="Britannica">[http://www.britannica.com/EBchecked/topic/512554/Lake Encyclopædia Britannica Online/Lake Rukwa]</ref> Intii lagu guda jiray dillaacii hore ee qaybtaan Afrika, biyo-qabatinka Harada Rukwa waxaa laga yaabaa inay mararka qaar qayb ka ahayd biyo-qabatinka aad u weyn oo ay sidoo kale ku jireen biyo-qabatinka Harada Tanganyika iyo Harada Malawi; xeebaha qadiimiga ah waxay soo jeedinayaan taariikhda u dambaysa ee ay ku kor qulqushay Harada Tanganyika inay ahayd 33,000 {{abbrlink|BP|Before Present}}.<ref>{{cite book |last=Lévêque |first=Christian |title=Biodiversity Dynamics and Conservation: The Freshwater Fish of Tropical Africa |url=https://archive.org/details/biodiversitydyna0000leve |year=1997 |publisher=[[Cambridge University Press]] |page=[https://archive.org/details/biodiversitydyna0000leve/page/110 110]}}</ref> Si ay taasi mar kale u dhacdo, dhererka harada wuxuu u baahan yahay inuu ka sarreeyo 900 mitir. Ku kor qulqulka Harada Malawi hadda suurtogal ma aha, maadaama marinka u dhexeeya labada biyo-qabatinka uu yahay mid ka sarreeya dhererka 2000 mitir.<ref>Google Maps</ref> (Haddana Harada Tanganyika ama Harada Malawi midna kuma kor qulquli karaan Harada Rukwa maadaama ay mar hore ku kala shubmaan badaha Atlantic-ga iyo Badweynta Hindiya siday u kala horreeyaan.)
Waxaa jira urursanaan [[heavy metals|biraha culus]] ah sida zinc, meerkuri, naxaas, rasas, chromium, iyo nickel ee ku jira fadhiisiga, biyaha, iyo unugyada hilibka ee [[Clarias gariepinus|''Clarias gariepinus'' (Kalluunka shamiitada ee Afrika)]] iyo [[Oreochromis esculentus|''Oreochromis esculentus'' (Singida tilapia)]] ee gudaha Harada Rukwa.<ref>{{Cite journal|last1=Mapenzi|first1=Levinus Leonard|last2=Shimba|first2=Moses Joel|last3=Moto|first3=Edward Angelo|last4=Maghembe|first4=Reuben Silas|last5=Mmochi|first5=Aviti John|date=January 2020|title=Heavy metals bio-accumulation in tilapia and catfish species in Lake Rukwa ecosystem Tanzania|journal=Journal of Geochemical Exploration|volume=208|article-number=106413|doi=10.1016/j.gexplo.2019.106413|issn=0375-6742|doi-access=}}</ref>
==Daahfurka Helium==
Sanadkii 2016, mug lagu qiyaasay 1.53 bilyan oo cubic mitir (54.2 bilyan oo cubic feet oo caadiga ah) oo gaaska [[helium]] ah ayaa laga helay Harada Rukwa kaas oo qiimihiisu ku kacayo $3.5 bilyan.<ref>{{cite web|url=http://www.thecitizen.co.tz/News/Helium--could-earn-Tanzania--3-5bn-/-/1840340/3284646/-/awfffj/-/index.html|title=Helium 'could earn Tanzania $3.5bn'|work=www.thecitizen.co.tz|date=July 8, 2016|access-date=July 10, 2016|archive-date=August 28, 2016|archive-url=https://web.archive.org/web/20160828202951/http://www.thecitizen.co.tz/News/Helium--could-earn-Tanzania--3-5bn-/-/1840340/3284646/-/awfffj/-/index.html}}</ref>
==Sidoo kale eeg==
* [[Rift Valley lakes]]
==Tixraacyo ==
{{Reflist|30em}}
{{DEFAULTSORT:Rukwa}}
13h4cfccprist0wksqk2ou3ad636zjk
Ahrensburg
0
49225
310833
310017
2026-10-24T15:07:36Z
Mef.ellingen
47983
310833
wikitext
text/x-wiki
{{Infobox German place
|type = Stadt
|image_photo = P1400196-Bearbeitet, Ahrensburg, Wasserschloss.jpg
|image_caption = Qasriga Ahrensburg
|image_coa = Wappen_Ahrensburg.svg
|image_flag=Flagge_Ahrensburg.svg|coordinates = {{coord|53|40|29|N|10|14|28|E|format=dms|display=inline,title}}
|image_plan = Ahrensburg in OD.svg
|state =
|district = Stormarn
|elevation = 46
|area = 35.29
|postal_code = 22926
|area_code = 04102
|licence = OD
|Gemeindeschlüssel = 01 0 62 001
|divisions = 5
|website = [https://www.ahrensburg.de/ www.ahrensburg.de]
|mayor = Eckart Boege
|party = SPD
}}
'''Ahrensburg''' ({{IPA|de|ˈaːʁənsˌbʊʁk|-|Ahrensburg.ogg}}; [[Northern Low Saxon]]: ''Ahrensborg'') waa [[town|magaalo]] ka tirsan [[Stormarn (district)|degmada Stormarn]] ee [[German state|gobolka Jarmalka]] ee [[Schleswig-Holstein]]. Waxay ku taallaa waqooyi-bari ee [[Hamburg]] waana qayb ka mid ah [[Hamburg Metropolitan Region]]. Dadkeedu waa qiyaastii 31,000. ''Schloss Ahrensburg'', oo ah astaanta magaalada, waa qasriga [[Renaissance|Renaissance]] oo soo taxnaa sanadkii 1595.
==Juqraafi==
Ahrensburg waxay ku taallaa ''Tunneltal'', halkaas oo [[Alfred Rust]] uu ka qoday waxyaabo badan oo soo taxnaa ilaa [[ice age|xilligii barafka]].
Ahrensburg waxay ku taallaa agteeda [[Autobahn]] ''A1'' iyo khadka tareenka ee u dhexeeya magaalooyinka Hanseatic ee [[Hamburg]] iyo [[Lübeck]].
==Taariikh==
===Taariikhdii hore===
Ahrensburger ''Tunneltal'' waa meel laga helay qoditaanno badan oo ka tirsan dhaqanka [[Upper Paleolithic]]. Dhaqankan waxaa loo yaqaan [[Ahrensburg culture]] oo ay qoreen dadka cilmiga qadiimiga barata.
===Dhexe ee qarniyadii===
Magaaladu waxay soo taxnayd qarnigii 13-aad, markii [[Counts of Schauenburg and Holstein|Counts of Schauenburg]] ay aasaaseen tuulada Woldenhorn (oo markii dambe noqotay magaalada Ahrensburg) iyo tuulooyinka deriska la ah ee Ahrensfelde, Meilsdorf iyo Beimoor. Woldenhorn waxaa markii ugu horreysay lagu sheegay sanadkii 1314. Tuuladu waxay timid hantida [[Cistercians|Cistercian]] [[Reinfeld Abbey]] sanadkii 1327, Woldenhorn waxay noqotay xarunta [[Vogt|reeve]] ee kaniisadda ilaa bartamihii qarnigii 16-aad.
"Arx Arnsburga", oo sidoo kale loo yaqaan qasriga Arnesvelde, waxaa la dhisay qiyaastii sanadkii 1200. Burburka qasriga ayaa weli laga arki karaa kaynta Hagen ee koonfurta magaalada. Astaanta magaaladu waxay muujinaysaa qasriga oo ku yaal garoonka sare. Waxaa jira diiwaanno reeves ah oo ku salaysan qasriga 1295 iyo 1304. Sanadkii 1326, Count [[John III, Count of Holstein-Plön|John III]] oo ka tirsan Schauenburg ayaa u raray reevekii [[Trittau]] wuxuuna ka tagay qasriga.
===Xilligii casriga===
Ka dib kala diristii kaniisadaha sababtoo ah [[Protestant Reformation|Dib-u-habaynta]], dhammaan aagga ayaa ku yimid hantida boqorka [[Denmark]]. Wuxuu ku abaalmariyay guudarkiisa [[Daniel Rantzau]] 1567 oo leh sayidnimada tuulooyinkan. Walaalkiis iyo dhaxalkiisii Peter Rantzau wuxuu dhisay [[Renaissance|Renaissance]] [[Schloss Ahrensburg|Qasriga Ahrensburg]] oo ah qaab qasri biyo ah, hadda waa astaanta magaalada, iyo kaniisadda qasriga qiyaastii 1595. Dhismaha almshouses si toos ah kaniisadda waxay ahayd mid tusaale ah.
"Hantida Ahrensburg" waxay ka tirsan tahay waxa loogu yeero [[Noble Estate|Noble Estates]], oo haystay xorriyad iyo is-maamul badan.
Hantida Rantzaus ayaa si weyn loo daahiyay bartamihii qarnigii 18-aad iyo, 1759, waxaa helay ganacsade [[Heinrich Carl von Schimmelmann]]. Schimmelmann wuxuu dib u qaabeeyay qasriga iyo tuulada qaabka [[baroque]] iyo qaabeynta hadda ee magaalada ayaa ka tarjumaysa qorshayaashan.
7 Juun 1867 tuulada hantida Woldenhorn waxay noqotay bulsho madax-bannaan oo [[Prussia|Prussia]] ah waxayna u magacawday nafteeda ''Ahrensburg'' ka dib go'aan ka soo baxay golaha bulshada. Waxay ka tirsanayd "Amt Ahrensburg", oo laga soo bilaabo "amtsfreie" bulshada mar kale ka go'day 1912.
Dhismaha tareenka u dhexeeya [[Hamburg]] iyo [[Lübeck]] sanadkii 1865 ayaa ka dhigay Ahrensburg meel caan ah oo loogu talagalay safarada ka baxsan Hamburg iyo tirada dadka deggan ayaa kordhay. Sanadkii 1910, dadku waxay gaareen 2,750. Midowga tuulooyinka ku hareeraysan sanadkii 1928 waxay keentay koror ku yimid aagga magaalada ilaa qiyaastii 5 km<sup>2</sup>.
Dhismaha degsiimooyinka "Daheim/Heimgarten" (oo qayb ahaan ku yaal dhulka bulshada hadda ee [[Ammersbek]]) iyo "Am Hagen" (asal ahaan loo yaqaan "[[Franz Seldte]] Settlement") ayaa bilaabmay 1933. Degdegta dadka deggan oo ka yimid agagaarka Hamburg waxay horseeday abuurista qaabka guriyeynta hadda.
Markii Ahrensburg ay heshay [[city rights|xuquuqda magaalada]] 1949, magaaladu waxay lahayd qiyaastii 17,775 oo qof - qiyaastii kala badh oo ay ahaayeen qaxooti ka yimid gobollada Jarmalka ee bari ee hore.
Erica Keck, oo loo doortay duqa magaalada 1950, waxay noqotay haweenaydii ugu horreysay ee loo doorto duqa magaalada Jarmalka.
Shirkadda Hela Gewürzwerk Hermann Laue waxay u raray kursigeeda Hamburg ilaa Ahrensburg intii u dhaxaysay 1989 iyo 1991.<ref name=":0">{{Cite web |last=Albrod |first=Bettina |date=2025-12-14 |title=Ahrensburg: Die Stormarner Ketchup-Firma Hela wird 120 Jahre alt |url=https://www.ln-online.de/lokales/stormarn/ahrensburg-die-stormarner-ketchup-firma-hela-wird-120-jahre-alt-5SWY2E6LVRGWXMKWZ2WH4DVWEM.html |access-date=2025-12-17 |website=www.ln-online.de |language=de}}</ref><ref>{{Cite web |date=2024-07-24 |title=Geschichte - Hela.eu |url=https://www.hela.eu/unternehmen/geschichte/ |access-date=2025-12-17 |language=de-DE}}</ref>
==Diinta==
Ahrensburg waxay ahayd xarunta Stormarn [[Provost (religion)|Provost]] ee kaniisadda Lutheran laga bilaabo 1823 ilaa 1899.
Magaaladu waxay lahayd [[Jewish community|bulsho Yuhuudi ah]] oo yar ilaa bilowgii 1930-meeyadii. [[Synagogue|Synagoga]] waa la gubay intii lagu jiray [[Kristallnacht]] 1938 intii lagu jiray xilligii [[Nazism|Nazism-ka]].<ref>{{cite web |url=http://cad-cook.architektur.tu-darmstadt.de/synagogen/main.php?SYN=f3827676e086e0088b8d863bd8000edf&page=Synagogen/Detail&id=1457 |archive-url=https://web.archive.org/web/20110813011805/http://cad-cook.architektur.tu-darmstadt.de/synagogen/main.php?SYN=f3827676e086e0088b8d863bd8000edf&page=Synagogen%2FDetail&id=1457 |url-status=dead |archive-date=2011-08-13 |title=Internet-Archiv "Synagogen in Deutschland" der TU Darmstadt |publisher=Cad-cook.architektur.tu-darmstadt.de |access-date=2014-03-11 }}</ref> [[Jewish cemetery|Qabuuraha]] Yuhuudda (oo la furay 1822) ayaa weli laga arki karaa geeska magaalada (Ahrensburg-West).
==Siyaasadda==
Tan iyo doorashadii deegaanka ee 26 Maajo 2013,<ref>{{Cite web|url=http://www.ahrensburg.de/B%C3%BCrger-Stadt/Politik/Wahlen/index.php?La=1&NavID=2603.35&object=tx,1483.1533.1&kat=&kuo=2&sub=0|title=Wahlen / Ahrensburg|date=2017-05-31|website=www.ahrensburg.de|access-date=2017-01-05}} {{Dead link|date=Bisha Tobnaad 2026 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> golaha magaalada wuxuu ka kooban yahay sida soo socota:
{| class="wikitable"
|+ Qaybinta codka iyo kuraasta golaha deegaanka
|-
! Xisbi
! Boqolkiiba codka guud
! Tirada kuraasta golaha
|-
| [[Christian Democratic Union (Germany)|CDU]]
| 34.5%
| 11 kursi
|-
| [[Social Democratic Party of Germany|SPD]]
| 27.8%
| 8 kursi
|-
| WAB
| 12.0%
| 4 kursi
|-
| [[Alliance '90/The Greens|GRÜNE]]
| 19.3%
| 6 kursi
|-
| [[Free Democratic Party (Germany)|FDP]]
| 6.4%
| 2 kursi
|}
==Magaalooyinka mataanaha ah – magaalooyinka walaalaha ah==
{{See also|List of twin towns and sister cities in Germany}}
Ahrensburg waa [[Sister city|mataano]] la leh:<ref>{{cite web |title=Ahrensburgs Partnerstädte|url=https://www.ahrensburg.de/B%C3%BCrger-Stadt/St%C3%A4dtepartnerschaften|website=ahrensburg.de|publisher=Ahrensburg|language=de|access-date=2020-11-04}}</ref>
*{{flagicon|ESP}} [[Esplugues de Llobregat]], Spain
*{{flagicon|AUT}} [[Feldkirchen in Kärnten]], Austria
*{{flagicon|GER}} [[Ludwigslust]], Germany
*{{flagicon|EST}} [[Viljandi]], Estonia
==Dadka caanka ah==
* [[Waldemar Bonsels]] (1880–1952), qoraaga '' Maya the Bee and her adventures ''
* [[Jonathan Meese]] (dhashay 1970), farshaxan. Wuxuu ku koray Ahrensburg, wuxuu dhigtay Iskuulka Stormarn wuxuuna ku nool yahay Ahrensburg.
===Dadka la xiriira magaalada===
* [[Dagmar Berghoff]] (dhashay 1943), soo-jeediye telefishan iyo atariisho
* [[Wolfgang Kieling]] (1924–1987), atoore
* [[Hellmuth von Mücke]] (1881–1957), sarkaal badda, siyaasi iyo qoraa
* [[Benedikt Pliquett]] (dhashay 1984), goolhayaha
* [[Christian Tümpel]] (1937–2009), bare jaamacadeed, culimada diinta iyo taariikhyahan farshaxan ee [[Nijmegen]]
* [[Daniela Ziegler]] (dhashay 1948), atariisho
* [[Axel Zwingenberger]] (dhashay 1955), boogie-woogie pianist
=== Muwaadin sharaf leh ===
* 1965 – [[Alfred Rust]] (1900–1983), [[archeologist|cilmiga qadiimiga]], muran ka dhashay xubinnimadiisa kooxda NS [[Ahnenerbe]].
==Tixraacyo==
{{Reflist}}
==Xiriirinta dibadda==
{{Commons category}}
*{{in lang|de}} [http://www.evj-ahrensburg.de/ evj-ahrensburg.de]
*{{in lang|de}} {{Official website}}
*{{in lang|de|en}} [https://www.schloss-ahrensburg.de/ Schloss Ahrensburg]
*{{in lang|de}} [https://ahrensburg.city ahrensburg.wiki]
{{Authority control}}
1pp1fre29ubdpf06coj05bs0obnnqv8
Ismaaciil Cali Abokor
0
53635
310834
310706
2026-10-24T17:28:40Z
InternetArchiveBot
28368
Add 1 book for [[en:Wikipedia:Verifiability|verifiability]] (20261024) #IABot (v2.0.9.6) ([[User:GreenC bot|GreenC bot]])
310834
wikitext
text/x-wiki
{{Infobox officeholder
| name = Ismaaciil Cali Abokor
| image = Ismail.png
| image_size = 190px
| office = Guddoomiyihii 5aad ee [[Liiska Afhayeenada Baarlamaanka Soomaaliya|Golaha Shacabka]]
| predecessor =
| successor = [[Maxamed Ibraahim Liqliiqato]]
| deputy =
| term_start = 1 Nofeembar 1979
| term_end = 26 Janaayo 1982
| office1 = [[Madaxweyne Ku-xigeenka Saddexaad ee Soomaaliya]]
| president1 = [[Maxamed Siyaad Barre]]
| term_start1 = 1971
| term_end1 = Oktoobar 1982
| predecessor1 =
| successor1 =
| birth_date = 1937
| birth_place = [[Burao|Burco]], [[British Somaliland|Somaaliya Ingiriiska]] (hadda [[Somaliland]])
| death_date =
| death_place =
| party = [[Supreme Revolutionary Council (Somalia)|Golaha Sare ee Kacaanka]]
| alma_mater =
| rank = [[File:14-Somali Army-BG.svg|10px]] [[Brigadier General|Sareeye Guuto]]
}}
'''Ismaaciil Cali Abokor''' ({{langx|so|Ismaaciil Cali Abokor}}; dhashay 1937) waa siyaasi Soomaaliyeed oo horey u ahaa Sareeye Guuto. Wuxuu ahaa xubin sare oo ka tirsan [[Supreme Revolutionary Council (Somalia)|Golaha Sare ee Kacaanka]],<ref>{{cite news|title=8 Somalis Sentenced to Die; Charge Is Plotting Sabotage|url=https://www.nytimes.com/1988/02/09/world/8-somalis-sentenced-to-die-charge-is-plotting-sabotage.html |date=9 February 1988|agency=NYT}}</ref> Sidoo kale wuxuu soo noqday [[Vice President of Somalia|Madaxweyne Ku-xigeenka Soomaaliya]] xilligii dowladdii [[Siad Barre|Siyaad Barre]] int u dhaxaysay 1971 iyo 1982.<ref name="histdict">{{cite book |last1=Mukhtar |first1=Mohamed Haji |last2=Castagno |first2=Margaret |title=Historical dictionary of Somalia |url=https://archive.org/details/historicaldictio0000mukh |date=2003 |publisher=Scarecrow Press |location=Lanham, Md |isbn=0-8108-4344-7 |edition=New}}</ref> Wuxuu kaloo ahaa Guddoomiyihii [[List of speakers of the Parliament of Somalia|Golaha Shacabka]] int u dhaxaysay 1979 ilaa 1982.
==Nolosha hore iyo waxbarashada==
Abokor wuxuu ku dhashay 1937 magaalada [[Burao|Burco]], ee haatan ka tirsan [[Somaliland]]. Markii uu dhameystiray waxbarashadiisa sare, wuxuu u safray dalka [[England]] tababar ciidan. Wuxuu ka qalin jabiyay Kulliyadda Millatariga ee Boqortooyada ee [[Royal Military Academy Sandhurst|Sandhurst]].
==Xirfadda==
===Xirfaddii hore===
Ismaaciil Cali Abokor wuxuu ku laabtay [[Somali Republic|Soomaaliya]] 1960 isagoo ah mid ka mid ah saraakiishii ugu horreysay ee u tababartay [[British Somaliland|Somaaliya Ingiriiska]]. 1961, Abokor wuxuu noqday taliye ku-xigeenka dugsiga tababarka saraakiisha.
1962, wuxuu madax ka ahaa xerada Ciidanka Xoogga Dalka Soomaaliyeed ee bariga, 1963-na waxaa loo magacaabay taliye ku-xigeen guuto ku sugan magaalada [[Kismayo|Kismaayo]].
1965, wuxuu tababar ku qaatay magaalada [[Mogadishu|Muqdisho]], ka dibna waxaa loo magacaabay taliyaha guuto ku taal [[Kismayo|Kismaayo]], waxaana loo dalacsiiyay darajada Gaashaanle.
1967 wuxuu noqday madaxa tababarayaasha dugsiga tababarka ee Xalane, oo loo yaqaaan "Bootiko".
===Jamhuuriyadda Dimuqraadiga Soomaaliya===
Ismaaciil Cali Abokor wuxuu ka shaqeeyay [[Somali National Army|Ciidanka Xoogga Dalka Soomaaliyeed]]. Isagoo wata darajada Gaashaanle Dhexe wuxuu ka qayb qaatay afgambigii Oktoobar 21, 1969, ee horseeday xukunka Jeneraal [[Mohammed Siad Barre|Maxamed Siyaad Barre]], wuxuuna noqday xubin ka tirsan [[Supreme Revolutionary Council (Somalia)|Golaha Sare ee Kacaanka]] ee Jamhuuriyadda Dimuqraadiga Soomaaliya.
Wuxuu haystay xilka mid ka mid ah [[Vice President of Somalia|madaxweyne ku-xigeedyada]] Jamhuuriyadda Dimuqraadiga Soomaaliya, waxaana la siiyay darajada Gashaanle Sare. Nofeembar 1971 wuxuu booqday dalkii [[USSR|Midowga Soofiyeeti]]. Wuxuu ahaa mid ka mid ah ragga ugu muhiimsan ee maamulkii [[Siad Barre|Siyaad Barre]], wuxuu haystay darajada Sareeye Guuto 1971-na waxaa loo magacaabay mid ka mid ah madaxweyne ku-xigeedyada Soomaaliya. Wuxuu kaloo haystay xilka Wasiirka Warfaafinta iyo Hanuuninta Dadweynaha laga soo bilaabo 1971 ilaa 1973.<ref name="histdict" /> Laga soo bilaabo Luulyo 1976 (laga bilaabo taariikhdii la aas-aasay xisbiga) wuxuu noqday xubin ka tirsan Guddiga Dhexe iyo xubin ka tirsan Siyaasadda ee [[Somali Revolutionary Socialist Party|Xisbiga Hantiwadaagga Kacaanka Soomaaliyeed]].
== Riditaanka xilka iyo mucaaradada ==
Ka dib markii uu isku khilaafeen Siyaad Barre, waxaa lagu xiray xabsiga 1982-kii, ka dibna la sii daayay 1988-kii, taas oo ka dib ay ku biirtay ururkii [[Somali National Movement|Dhaqdhaqaaqa Waddaniga Soomaaliyeed (SNM)]] ee saldhiggiisu ahaa waqooyiga Soomaaliya waqtigaas.<ref>{{Cite web|date=2016-08-31|title=Taariikh nololeedkii S/Guuto Ismaaciil Cali Obokor|url=http://snaradio.net/so/articles/1603/Taariikh-nololeedkii-S-Guuto-Ismaaciil-Cali-Obokor|access-date=2021-01-29|website=snaradio.net|language=English}}</ref> Sidoo kale wuxuu u guuray dalka Isku-ダークka Imaaraadka Carabta.<ref name="histdict" />
==Tixraacyada==
<references />
{{DEFAULTSORT:Abokor, Ismail Ali}}
c415jj134jezclj6nlb7b9kx4x0lo7n
Template:Infobox football league
10
53656
310828
2026-10-24T13:12:34Z
Isma4l
41797
/* */
310828
wikitext
text/x-wiki
<includeonly>{{Short description|Horyaal kubbadda cagta|noreplace}}</includeonly>{{Infobox
| bodystyle = width:auto; min-width:21em; max-width:25em
| title = {{if empty|{{{name|}}}|{{PAGENAMEBASE}}}}
| image = {{#invoke:InfoboxImage|InfoboxImage|image={{if empty|{{{logo|}}}|{{{image|}}}}}|size={{{pixels|}}}|upright={{{upright|}}}|sizedefault=frameless|alt={{{alt|}}}}}
| caption = {{{caption|}}}
| labelstyle =
| label1 = {{#if:{{{American|}}}|Hay'adaha abaabulka|Hay'adda abaabulka}} {{#if:{{{organisers|}}}||}}
| data1 = {{if empty|{{{organiser|}}}|{{{organisers|}}}}}
| label2 = La aasaasay
| data2 = {{{founded|}}}
| label3 = Xilli ciyaareedkii ugu horreeyay
| data3 = {{{first|}}}
| label4 = La baabi'iyay
| data4 = {{{folded|}}}
| label5 = Waxaa beddelay
| data5 = {{{successor|}}}
| label6 = {{#if:{{{countries|}}}|Dalalka|Dalka}}
| data6 = {{if empty|{{{countries|}}}|{{{country|}}}}}
| label7 = {{#if:{{{province type|}}}|{{{province type}}}|{{#if:{{{provinces|}}}|Gobollada|Gobolka}}}}
| data7 = {{if empty|{{{province|}}}|{{{provinces|}}}}}
| label8 = {{#if:{{{state type|}}}|{{{state type}}}|{{#if:{{{states|}}}|Dawlad-goboleedyada|Dawlad-goboleedka}}}}
| data8 = {{if empty|{{{state|}}}|{{{states|}}}}}
| label9 = {{#if:{{{region type|}}}|{{{region type}}}|{{#if:{{{regions|}}}|Gobollada|Gobolka}}}}
| data9 = {{if empty|{{{region|}}}|{{{regions|}}}}}
| label10 = Naadiyo kale oo ka socda {{pluralize from text|{{{other countries|}}}|likely=(s)|plural=s}}
| data10 = {{{other countries|}}}
| label11 = Isbahaysiga
| data11 = {{{confed|}}}
| label12 = {{if empty|{{{leader_title|}}}|{{{leader title|}}}|Hoggaamiyaha}}
| data12 = {{{leader|}}}
| label13 = {{if empty|{{{leader2_title|}}}|{{{leader2 title|}}}|Hoggaamiyaha}}
| data13 = {{{leader2|}}}
| label14 = Horyaallada
| data14 = {{{leagues|}}}
| label15 = {{if empty|{{{divisions type|}}}|Qaybaha}}
| data15 = {{{divisions|}}}
| label16 = Shirarka
| data16 = {{{conferences|}}}
| label17 = Tirada naadiyada
| data17 = {{{teams|}}}
| label18 = Heerka ku jira {{#if:{{{pyramid|}}}|{{{pyramid}}}|Ahraamta}}
| data18 = {{if empty|{{{level|}}}|{{{levels|}}}}}
| label19 = U gudbiya
| data19 = {{{feeds|}}}
| label20 = Kor loogu dallacayo
| data20 = {{{promotion|}}}
| label21 = Hoos loogu dhicayo
| data21 = {{{relegation|}}}
| label22 = Koobka gudaha{{pluralize from text|{{if empty|{{{domest_cup|}}}|{{{domest cup|}}}|{{{domest_cups|}}}}}|likely=(s)|plural=s}}
| data22 = {{if empty|{{{domest_cup|}}}|{{{domest cup|}}}|{{{domest_cups|}}}}}
| label23 = Koobka horyaalka{{pluralize from text|{{if empty|{{{league_cup|}}}|{{{league cup|}}}}}|likely=(s)|plural=s}}
| data23 = {{if empty|{{{league_cup|}}}|{{{league cup|}}}}}
| label24 = Koobka caalamiga ah{{pluralize from text|{{{confed_cup|}}}|likely=(s)|plural=s}}
| data24 = {{{confed_cup|}}}
| label25 = {{#if:{{{folded|}}}|Horyaalkii ugu dambeeyay|Horyaalka hadda jira}} {{#if:{{{American|}}}|(yada)|}}
| data25 = {{#if:{{{champions|}}}|{{{champions}}} {{#if:{{{season|}}}|<br />({{{season}}})}}}}
| label26 = Ku guuleystayaasha hadda jira
| data26 = {{#if:{{{premiers|}}}|{{{premiers}}} {{#if:{{{prem_season|}}}|<br />({{{prem_season}}})}}}}
| label27 = Koobka MLS ee hadda jira
| data27 = {{#if:{{{mlscupchamps|}}}|{{{mlscupchamps}}} {{#if:{{{mlscupseason}}}|<br />({{{mlscupseason}}})}}}}
| label28 = Gaashaanka taageerayaasha ee hadda jira
| data28 = {{#if:{{{shieldchamps|}}}|{{{shieldchamps|}}} {{#if:{{{shieldseason}}}|<br />({{{shieldseason}}})}}}}
| label29 = {{#if:{{{shieldtitle|}}}|{{{shieldtitle}}}|Gaashaanka}} hadda jira
| data29 = {{#if:{{{shield|}}}|{{{shield|}}} {{#if:{{{shieldseason|}}}|<br />({{{shieldseason}}})|{{#if:{{{season|}}}|<br />({{{season}}})}}}}}}
| label30 = Horyaallada ugu badan
| data30 = {{if empty|{{{most_champs|}}}|{{{most_successful_club|}}}|{{{most successful club|}}}|{{{most_successful|}}}}}
| label31 = Horyaallada ugu badan ee heerka koowaad
| data31 = {{if empty|{{{most_prems|}}}|{{{most_premierships|}}}}}
| label32 = Koobabka MLS ee ugu badan
| data32 = {{if empty|{{{most_mlscups|}}}|{{{most mlscups|}}}}}
| label33 = {{#if:{{{shieldtitle|}}}|{{{shieldtitle}}}yada|Gaashaannada taageerayaasha}} ugu badan
| data33 = {{if empty|{{{most_shields|}}}|{{{most shields|}}}}}
| label34 = Kulamada ugu badan ee uu ciyaaray
| data34 = {{if empty|{{{most_appearances|}}}|{{{most appearances|}}}}}
| label35 = Gooldhaliyaha ugu sarreeya
| data35 = {{if empty|{{{top_scorer|}}}|{{{top scorer|}}}|{{{top_goalscorer|}}}|{{{top goalscorer|}}}}}
| label36 = Baahiye{{Pluralize from text|{{if empty|{{{broadcaster|}}}|{{{tv|}}}}}|plural=s}}
| data36 = {{if empty|{{{broadcaster|}}}|{{{tv|}}}}}
| label37 = Kafaala-qaade{{Pluralize from text|{{{sponsor|}}}|plural=s}}
| data37 = {{{sponsor|}}}
| label38 = Bogga internetka
| data38 = {{{website|}}}
| data39 = {{#if:{{{current|}}}{{{current_season|}}}|''Hadda: {{#if:{{{current|}}}|{{{current}}}|{{{current_season}}}}}''}}
}}{{#if:{{{shield|}}}|{{main other|[[Category:Articles with shield param]]}}}}{{#if:{{{province|}}}{{{state|}}}{{{region|}}}|[[Category:Pages using infobox football league with province, state, or region]]}}{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:Pages using infobox football league with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview=Bog isticmaalaya xog aan la aqoon oo ku jirta xogta horyaalka kubbadda cagta "_VALUE_" | ignoreblank = y | alt | American | broadcaster | caption | champions | confed | confed_cup | conferences | countries | country | current | current_season | divisions | divisions type | domest cup | domest_cup | domest_cups | feeds | first | folded | founded | image | leader | leader title | leader_title | leader2 | leader2 title | leader2_title | league cup | league_cup | leagues | level | levels | logo | mlscupchamps | mlscupseason | most appearances | most mlscups | most shields | most successful club | most_appearances | most_champs | most_mlscups | most_premierships | most_prems | most_shields | most_successful | most_successful_club | name | organiser | organisers | other countries | pixels | prem_season | premiers | promotion | province | province type | provinces | pyramid | region | region type | regions | relegation | season | shield | shieldchamps | shieldseason | shieldtitle | sponsor | state | state type | states | successor | teams | top goalscorer | top scorer | top_goalscorer | top_scorer | tv | upright | website }}{{#invoke:Check for conflicting parameters|check
| template = [[Template:Infobox football league]]
| cat = {{main other|Category:Pages using infobox football league with conflicting parameters}}
| logo; image
| organiser; organisers
| countries; country
| province; provinces
| state; states
| region; regions
| leader_title; leader title
| leader2_title; leader2 title
| level; levels
| domest_cup; domest cup; domest_cups
| league_cup; league cup
| most_champs; most_successful_club; most successful club; most_successful
| most_prems; most_premierships
| most_mlscups; most mlscups
| most_shields; most shields
| most_appearances; most appearances
| top_scorer; top scorer; top_goalscorer; top goalscorer
| broadcaster; tv
}}<noinclude>
{{documentation}}<!-- FADLAN QAYBAHA KU DAR BOGGA /doc, MAHADSANID -->
</noinclude>
ogm57jmhnw4deamwqeoqu5to248obs6
Template:Infobox sports league
10
53657
310829
2026-10-24T13:15:45Z
Isma4l
41797
/* */
310829
wikitext
text/x-wiki
{{#invoke:Infobox|infoboxTemplate
| title = {{if empty|{{{title|}}}|{{{name|}}}|{{BASEPAGENAME}}}}
| headerstyle = background: {{if empty|{{{color|}}}|#EDEDED}}; color: {{if empty|{{{font_color|}}}|#000000}};
| subheader = {{#if: {{{current_season|}}} | '''Xilliga, tartanka ama daabacaadda hadda:'''<br />{{Current sports event icon|sport={{{sport}}}|size=31px}} ''{{#iferror:{{#expr:{{{current_season}}}}}|{{{current_season}}}|{{{current_season}}}}}'' | {{#if: {{{last_season|}}} | '''Xilligii ama tartankii ugu dambeeyay:'''<br />''{{#iferror:{{#expr:{{{last_season}}}}}|{{{last_season}}}|{{{last_season}}}}}'' | {{#if: {{{upcoming_season|}}} | '''Xilliga ama tartanka soo socda:'''<br />{{Current sports event icon|sport={{{sport}}}|size=31px}} ''{{#iferror:{{#expr:{{{upcoming_season}}}}}|{{{upcoming_season}}}|{{{upcoming_season}}}}}''}} }} }}{{#if: {{{current_season2|}}} | <br/>''{{#iferror:{{#expr:{{{current_season2}}}}}|{{{current_season2}}}|{{{current_season2}}}}}''}}
| labelstyle = white-space: nowrap
| image = {{#invoke:InfoboxImage|InfoboxImage|image={{{logo|}}}|size={{{logo_size|}}}|upright={{{logo_upright|}}}|alt={{{alt|}}}}}
| caption = {{{caption|}}}
| label2 = Hore
| data2 = {{{formerly|}}}
| label3 = Urur
| data3 = {{{association|}}}
| label4 = Shir
| data4 = {{{conference|}}}
| label5 = Horyaal
| data5 = {{{league|}}}
| label6 = Kala soocid
| data6 = {{{classification|}}}
| label7 = {{#if:{{{game|}}}|Ciyaar|Isboorti}}
| data7 = {{#if:{{{game|}}}|{{{game}}}|{{#switch: {{lc: {{{sport}}}}} | amfootball | americanfootball = Kubadda cagta Maraykanka | aussie rules | australian football = Kubadda cagta xeerarka Australia | squash = Squash | soccer = Kubadda cagta | {{#ifexist:{{{sport|}}}|{{{sport|}}}|{{{sport|}}}}} }} }}
| label8 = La aasaasay
| data8 = {{{founded|}}}
| label9 = Aasaasaha
| data9 = {{{founder|}}}
| label10 = Xilligii koowaad
| data10 = {{{first|}}}
| label11 = {{#if: {{{folded|}}} | Xilligii ugu dambeeyay | Xilligii ugu dambeeyay }}
| data11 = {{if empty|{{{most_recent|}}}|{{{last|}}}}}
| label12 = La kala diray
| data12 = {{{folded|}}}
| label13 = Waxaa beddelay
| data13 = {{{replaced|}}}
| label14 = Milkiile{{pluralize from text|{{{owner|}}}|plural=s}}
| data14 = {{{owner|}}}
| label15 = Madaxa fulinta
| data15 = {{{ceo|}}}
| label16 = Madaxa hawlgalka
| data16 = {{{coo|}}}
| label17 = Agaasime
| data17 = {{{director|}}}
| label18 = Madaxweyne
| data18 = {{{president|}}}
| label19 = Maareeyaha guud
| data19 = {{{general_manager|}}}
| label20 = Guddoomiye
| data20 = {{{commissioner|}}} {{#if:{{{since|}}}| (laga soo bilaabo {{{since}}}) }}
| label21 = Maamule
| data21 = {{{administrator|}}}
| label22 = Hay'adda qabanqaabisa
| data22 = {{if empty|{{{organizer|}}}|{{{organiser|}}}}}
| label29 = Waxa lagu yaqaan
| data29 = {{{fame|}}}
| label30 = Hal-ku-dheg
| data30 = {{{motto|}}}
| label37 = Ciyaaraha la qabto
| class37 = {{#if:{{{sports|}}}|hlist|plainlist}}
| data37 = {{#if:{{{sports|}}}|
* {{{sports}}}
{{#if:{{{mens|}}}|** ragga: {{{mens}}}
}}{{#if:{{{womens|}}}|** dumarka: {{{womens}}}
}}{{#if:{{{coed|}}}|** ragga iyo dumarka: {{{coed}}} }}
|{{#if:{{{mens|}}}{{{womens|}}}{{{coed|}}}|
{{#if:{{{mens|}}}|* ragga: {{{mens}}}
}}{{#if:{{{womens|}}}|* dumarka: {{{womens}}}
}}{{#if:{{{coed|}}}|* ragga iyo dumarka: {{{coed}}} }}
}}}}
| label40 = Qayb
| data40 = {{{division|}}}
| label50 = {{#if:{{{subdivision|}}}|Qayb-hoosaad|Qaybaha-hoosaadka}}
| data50 = {{if empty|{{{subdivision|}}}|{{{subdivisions|}}}}}
| label51 = Qaybaha
| data51 = {{{divisions|}}}
| label52 = Tirada kooxaha
| data52 = {{{teams|}}}
| label53 = Ka qaybgalayaasha tartanka kali-tartanka
| data53 = {{{singles|}}}
| label54 = Tartamayaasha
| data54 = {{{competitors|}}}
| label55 = {{#if:{{{countries|}}}|Dalalka|Dalka}}
| data55 = {{if empty|{{{countries|}}}|{{{country|}}}}}
| label56 = Xarunta dhexe
| data56 = {{{headquarters|}}}
| label57 = Gobol
| data57 = {{{region|}}}
| label58 = Goobta{{pluralize from text|{{{venue|}}}|plural=s}}
| data58 = {{{venue|}}}
| label59 = Isbahaysiga
| data59 = {{{confederation|}}}
| label60 = {{#if:{{{continents|}}}|Qaaradaha|Qaaradda}}
| data60 = {{if empty|{{{continents|}}}|{{{continent|}}}}}
| label63 = {{if empty|{{{titles_label|}}}|Horyaallada}}
| data63 = {{{titles|}}}
| label70 = {{longitem|{{#if: {{{folded|}}} | Horyaalka ugu dambeeyay| Horyaalka ugu dambeeyay<br />}}{{#if:{{{champion|}}}{{{champions|}}}|guuleystay{{pluralize from text|{{if empty|{{{champion|}}}|{{{champions|}}}}}|plural=s}}}}}}
| data70 = {{if empty|{{{champion|}}}|{{{champions|}}}}} {{#if:{{{champ_season|}}}|<br />({{{champ_season}}})}}
| label71 = Horyaallada ugu badan
| data71 = {{{most_titles|}}}
| label77 = Horyaallada hadda haysta
| data77 = {{#if:{{{premiers|}}}|{{{premiers|}}} {{#if:{{{prem_season|}}}|({{{prem_season}}})}}}}
| label78 = Tirada ugu badan ee horyaallada
| data78 = {{{most_prems|}}}
| label79 = MLS Cup-ka hadda
| data79 = {{{mls_cup_champs|}}}{{#if:{{{mls_cup_season|}}}|<br />({{{mls_cup_season|}}})}}
| label80 = Supporters' Shield-ka hadda
| data80 = {{{shield_champs|}}}{{#if:{{{shield_season|}}}|<br />({{{shield_season|}}})}}
| label81 = Gaashaanka hadda
| data81 = {{#if:{{{current_shield|}}}|{{{current_shield|}}} {{#if:{{{current_shield_season|}}}|({{{current_shield_season}}})}}}}
| label83 = MLS Cups-ka ugu badan
| data83 = {{{most_mlscups|}}}
| label84 = Supporters' Shields-ka ugu badan
| data84 = {{{most_shields|}}}
| label85 = U-qalmitaanka
| data85 = {{{qualification|}}}
| label86 = Baahiye{{pluralize from text|{{{broadcaster|}}}|plural=s}}
| data86 = {{{broadcaster|}}}
| label87 = Lammaanaha baahinta tooska ah{{pluralize from text|{{{streaming|}}}|plural=s}}
| data87 = {{{streaming|}}}
| label88 = Kafiile{{pluralize from text|{{{sponsor|}}}|plural=s}}
| data88 = {{{sponsor|}}}
| label89 = U gudba
| data89 = {{{feeds|}}}
| label90 = Heerka ku jira {{#if:{{{pyramid|}}}|{{{pyramid}}}|Ahraamta}}
| data90 = {{{level|}}}
| label91 = U dallacsiinta
| data91 = {{{promotion|}}}
| label92 = U laabashada heer hoose
| data92 = {{{relegation|}}}
| label93 = Koobka gudaha{{pluralize from text|{{{domestic_cup|}}}|plural=s}}
| data93 = {{{domestic_cup|}}}
| label94 = Koobka caalamiga ah{{pluralize from text|{{{confed_cup|}}}|plural=s}}
| data94 = {{{confed_cup|}}}
| label95 = Tartamada<br>la xiriira
| data95 = {{{related_comps|}}}
| label96 = Qaabka tartanka
| data96 = {{{tournament_format|}}}
| label97 = Mareegta
| data97 = {{{website|}}}
| data98 = {{#if:{{{current|}}}|{{Current sports event icon|sport={{{sport}}}|size=31px}} ''{{{current}}}''}}
| header99 = {{#if:{{{footnotes|}}}|Qoraallo}}
| data100 = {{{footnotes|}}}
| header101 = {{#if:{{{map|}}}|Goobaha}}
| data102 = {{#if:{{{map|}}}
|{{#invoke:InfoboxImage|InfoboxImage|image={{{map}}}|size={{{map_size|}}}|sizedefault=250px|upright={{{map_upright|}}}|alt={{{map_alt|}}}|title={{if empty|{{{map_caption|}}}|Goobaha kooxaha ee {{{title}}}}}}}{{#if:{{{map_caption|}}}|{{{map_caption}}} }}
}}
}}{{#invoke:Check for unknown parameters|check|unknown={{main other|Category:Pages using infobox sports league with unknown parameters|_VALUE_{{PAGENAME}}}}|preview=Page using Infobox sports league with unknown parameter "_VALUE_"|ignoreblank=y| administrator | alt | association | broadcaster | caption | ceo | champ_season | champion | champions | classification | coed | color | commissioner | competitors | confed_cup | confederation | conference | continent | continents | coo | countries | country | current | current_season | current_season2 | current_shield | current_shield_season | director | division | divisions | domestic_cup | fame | feeds | first | folded | font_color | footnotes | formerly | founded | founder | game | general_manager | headquarters | last | last_season | league | level | logo | logo_size | logo_upright | map | map_alt | map_caption | map_size | map_upright | mens | mls_cup_champs | mls_cup_season | most_mlscups | most_prems | most_recent | most_shields | most_titles | motto | name | organiser | organizer | owner | prem_season | premiers | president | promotion | pyramid | qualification | region | related_comps | relegation | replaced | shield_champs | shield_season | since | singles | sponsor | sport | sports | streaming | subdivision | subdivisions | teams | title | titles | titles_label | tournament_format | upcoming_season | venue | website | womens }}{{#invoke:Check for conflicting parameters|check
| template = Template:Infobox sports league
| cat = Category:Pages using infobox sports league with conflicting parameters
| most_recent; last
| organizer; organiser
| subdivision; subdivisions
| countries; country
| continents; continent
| champion; champions
}}<noinclude>
{{documentation}}
</noinclude>
6p3yc9xlcodud57he3puqkz4hv4actf
Template:Infobox basketball league
10
53658
310830
2026-10-24T13:17:34Z
Isma4l
41797
/* */
310830
wikitext
text/x-wiki
{{#invoke:Infobox|infoboxTemplate
| title = {{if empty|{{{title|}}}|{{{name|}}}|{{BASEPAGENAME}}}}
| headerstyle = background: {{if empty|{{{color|}}}|#EDEDED}}; color: {{if empty|{{{font_color|}}}|#000000}};
| subheader = {{#if: {{{current_season|}}} | '''Xilliga, tartanka ama daabacaadda hadda:'''<br />{{Current sports event icon|sport={{{sport}}}|size=31px}} ''{{#iferror:{{#expr:{{{current_season}}}}}|{{{current_season}}}|{{{current_season}}}}}'' | {{#if: {{{last_season|}}} | '''Xilligii ama tartankii ugu dambeeyay:'''<br />''{{#iferror:{{#expr:{{{last_season}}}}}|{{{last_season}}}|{{{last_season}}}}}'' | {{#if: {{{upcoming_season|}}} | '''Xilliga ama tartanka soo socda:'''<br />{{Current sports event icon|sport={{{sport}}}|size=31px}} ''{{#iferror:{{#expr:{{{upcoming_season}}}}}|{{{upcoming_season}}}|{{{upcoming_season}}}}}''}} }} }}{{#if: {{{current_season2|}}} | <br/>''{{#iferror:{{#expr:{{{current_season2}}}}}|{{{current_season2}}}|{{{current_season2}}}}}''}}
| labelstyle = white-space: nowrap
| image = {{#invoke:InfoboxImage|InfoboxImage|image={{{logo|}}}|size={{{logo_size|}}}|upright={{{logo_upright|}}}|alt={{{alt|}}}}}
| caption = {{{caption|}}}
| label2 = Hore
| data2 = {{{formerly|}}}
| label3 = Urur
| data3 = {{{association|}}}
| label4 = Shir
| data4 = {{{conference|}}}
| label5 = Horyaal
| data5 = {{{league|}}}
| label6 = Kala soocid
| data6 = {{{classification|}}}
| label7 = {{#if:{{{game|}}}|Ciyaar|Isboorti}}
| data7 = {{#if:{{{game|}}}|{{{game}}}|{{#switch: {{lc: {{{sport}}}}} | amfootball | americanfootball = Kubadda cagta Maraykanka | aussie rules | australian football = Kubadda cagta xeerarka Australia | squash = Squash | soccer = Kubadda cagta | {{#ifexist:{{{sport|}}}|{{{sport|}}}|{{{sport|}}}}} }} }}
| label8 = La aasaasay
| data8 = {{{founded|}}}
| label9 = Aasaasaha
| data9 = {{{founder|}}}
| label10 = Xilligii koowaad
| data10 = {{{first|}}}
| label11 = {{#if: {{{folded|}}} | Xilligii ugu dambeeyay | Xilligii ugu dambeeyay }}
| data11 = {{if empty|{{{most_recent|}}}|{{{last|}}}}}
| label12 = La kala diray
| data12 = {{{folded|}}}
| label13 = Waxaa beddelay
| data13 = {{{replaced|}}}
| label14 = Milkiile{{pluralize from text|{{{owner|}}}|plural=s}}
| data14 = {{{owner|}}}
| label15 = Madaxa fulinta
| data15 = {{{ceo|}}}
| label16 = Madaxa hawlgalka
| data16 = {{{coo|}}}
| label17 = Agaasime
| data17 = {{{director|}}}
| label18 = Madaxweyne
| data18 = {{{president|}}}
| label19 = Maareeyaha guud
| data19 = {{{general_manager|}}}
| label20 = Guddoomiye
| data20 = {{{commissioner|}}} {{#if:{{{since|}}}| (laga soo bilaabo {{{since}}}) }}
| label21 = Maamule
| data21 = {{{administrator|}}}
| label22 = Hay'adda qabanqaabisa
| data22 = {{if empty|{{{organizer|}}}|{{{organiser|}}}}}
| label29 = Waxa lagu yaqaan
| data29 = {{{fame|}}}
| label30 = Hal-ku-dheg
| data30 = {{{motto|}}}
| label37 = Ciyaaraha la qabto
| class37 = {{#if:{{{sports|}}}|hlist|plainlist}}
| data37 = {{#if:{{{sports|}}}|
* {{{sports}}}
{{#if:{{{mens|}}}|** ragga: {{{mens}}}
}}{{#if:{{{womens|}}}|** dumarka: {{{womens}}}
}}{{#if:{{{coed|}}}|** ragga iyo dumarka: {{{coed}}} }}
|{{#if:{{{mens|}}}{{{womens|}}}{{{coed|}}}|
{{#if:{{{mens|}}}|* ragga: {{{mens}}}
}}{{#if:{{{womens|}}}|* dumarka: {{{womens}}}
}}{{#if:{{{coed|}}}|* ragga iyo dumarka: {{{coed}}} }}
}}}}
| label40 = Qayb
| data40 = {{{division|}}}
| label50 = {{#if:{{{subdivision|}}}|Qayb-hoosaad|Qaybaha-hoosaadka}}
| data50 = {{if empty|{{{subdivision|}}}|{{{subdivisions|}}}}}
| label51 = Qaybaha
| data51 = {{{divisions|}}}
| label52 = Tirada kooxaha
| data52 = {{{teams|}}}
| label53 = Ka qaybgalayaasha tartanka kali-tartanka
| data53 = {{{singles|}}}
| label54 = Tartamayaasha
| data54 = {{{competitors|}}}
| label55 = {{#if:{{{countries|}}}|Dalalka|Dalka}}
| data55 = {{if empty|{{{countries|}}}|{{{country|}}}}}
| label56 = Xarunta dhexe
| data56 = {{{headquarters|}}}
| label57 = Gobol
| data57 = {{{region|}}}
| label58 = Goobta{{pluralize from text|{{{venue|}}}|plural=s}}
| data58 = {{{venue|}}}
| label59 = Isbahaysiga
| data59 = {{{confederation|}}}
| label60 = {{#if:{{{continents|}}}|Qaaradaha|Qaaradda}}
| data60 = {{if empty|{{{continents|}}}|{{{continent|}}}}}
| label63 = {{if empty|{{{titles_label|}}}|Horyaallada}}
| data63 = {{{titles|}}}
| label70 = {{longitem|{{#if: {{{folded|}}} | Horyaalka ugu dambeeyay| Horyaalka ugu dambeeyay<br />}}{{#if:{{{champion|}}}{{{champions|}}}|guuleystay{{pluralize from text|{{if empty|{{{champion|}}}|{{{champions|}}}}}|plural=s}}}}}}
| data70 = {{if empty|{{{champion|}}}|{{{champions|}}}}} {{#if:{{{champ_season|}}}|<br />({{{champ_season}}})}}
| label71 = Horyaallada ugu badan
| data71 = {{{most_titles|}}}
| label77 = Horyaallada hadda haysta
| data77 = {{#if:{{{premiers|}}}|{{{premiers|}}} {{#if:{{{prem_season|}}}|({{{prem_season}}})}}}}
| label78 = Tirada ugu badan ee horyaallada
| data78 = {{{most_prems|}}}
| label79 = MLS Cup-ka hadda
| data79 = {{{mls_cup_champs|}}}{{#if:{{{mls_cup_season|}}}|<br />({{{mls_cup_season|}}})}}
| label80 = Supporters' Shield-ka hadda
| data80 = {{{shield_champs|}}}{{#if:{{{shield_season|}}}|<br />({{{shield_season|}}})}}
| label81 = Gaashaanka hadda
| data81 = {{#if:{{{current_shield|}}}|{{{current_shield|}}} {{#if:{{{current_shield_season|}}}|({{{current_shield_season}}})}}}}
| label83 = MLS Cups-ka ugu badan
| data83 = {{{most_mlscups|}}}
| label84 = Supporters' Shields-ka ugu badan
| data84 = {{{most_shields|}}}
| label85 = U-qalmitaanka
| data85 = {{{qualification|}}}
| label86 = Baahiye{{pluralize from text|{{{broadcaster|}}}|plural=s}}
| data86 = {{{broadcaster|}}}
| label87 = Lammaanaha baahinta tooska ah{{pluralize from text|{{{streaming|}}}|plural=s}}
| data87 = {{{streaming|}}}
| label88 = Kafiile{{pluralize from text|{{{sponsor|}}}|plural=s}}
| data88 = {{{sponsor|}}}
| label89 = U gudba
| data89 = {{{feeds|}}}
| label90 = Heerka ku jira {{#if:{{{pyramid|}}}|{{{pyramid}}}|Ahraamta}}
| data90 = {{{level|}}}
| label91 = U dallacsiinta
| data91 = {{{promotion|}}}
| label92 = U laabashada heer hoose
| data92 = {{{relegation|}}}
| label93 = Koobka gudaha{{pluralize from text|{{{domestic_cup|}}}|plural=s}}
| data93 = {{{domestic_cup|}}}
| label94 = Koobka caalamiga ah{{pluralize from text|{{{confed_cup|}}}|plural=s}}
| data94 = {{{confed_cup|}}}
| label95 = Tartamada<br>la xiriira
| data95 = {{{related_comps|}}}
| label96 = Qaabka tartanka
| data96 = {{{tournament_format|}}}
| label97 = Mareegta
| data97 = {{{website|}}}
| data98 = {{#if:{{{current|}}}|{{Current sports event icon|sport={{{sport}}}|size=31px}} ''{{{current}}}''}}
| header99 = {{#if:{{{footnotes|}}}|Qoraallo}}
| data100 = {{{footnotes|}}}
| header101 = {{#if:{{{map|}}}|Goobaha}}
| data102 = {{#if:{{{map|}}}
|{{#invoke:InfoboxImage|InfoboxImage|image={{{map}}}|size={{{map_size|}}}|sizedefault=250px|upright={{{map_upright|}}}|alt={{{map_alt|}}}|title={{if empty|{{{map_caption|}}}|Goobaha kooxaha ee {{{title}}}}}}}{{#if:{{{map_caption|}}}|{{{map_caption}}} }}
}}
}}{{#invoke:Check for unknown parameters|check|unknown={{main other|Pages using infobox sports league with unknown parameters|_VALUE_{{PAGENAME}}}}|preview=Page using Infobox sports league with unknown parameter "_VALUE_"|ignoreblank=y| administrator | alt | association | broadcaster | caption | ceo | champ_season | champion | champions | classification | coed | color | commissioner | competitors | confed_cup | confederation | conference | continent | continents | coo | countries | country | current | current_season | current_season2 | current_shield | current_shield_season | director | division | divisions | domestic_cup | fame | feeds | first | folded | font_color | footnotes | formerly | founded | founder | game | general_manager | headquarters | last | last_season | league | level | logo | logo_size | logo_upright | map | map_alt | map_caption | map_size | map_upright | mens | mls_cup_champs | mls_cup_season | most_mlscups | most_prems | most_recent | most_shields | most_titles | motto | name | organiser | organizer | owner | prem_season | premiers | president | promotion | pyramid | qualification | region | related_comps | relegation | replaced | shield_champs | shield_season | since | singles | sponsor | sport | sports | streaming | subdivision | subdivisions | teams | title | titles | titles_label | tournament_format | upcoming_season | venue | website | womens }}{{#invoke:Check for conflicting parameters|check
| template = Template:Infobox sports league
| cat = Pages using infobox sports league with conflicting parameters
| most_recent; last
| organizer; organiser
| subdivision; subdivisions
| countries; country
| continents; continent
| champion; champions
}}<noinclude>
{{documentation}}
</noinclude>
8gsfr1mq2s427ihdzfe03q1uoavsabp
Template:Current sports event icon
10
53659
310832
2026-10-24T13:19:35Z
Isma4l
41797
/* */
310832
wikitext
text/x-wiki
[[File:{{#switch:{{lc:{{{sport|}}}}}
| americanfootball | american football | amfootball | college football | canadian football | arena football | indoor american football
= AmericanFootball current event.svg
| association football | football | soccer
= Soccerball current event.svg
| athletics
= Athletics current event.svg
| australian rules football | aussie rules | australian football
= AFL current event.svg
| badminton
= Badminton_current_event.png
| bandy
= Bandy_current_event.svg
| baseball | women's baseball
= Baseball current event.svg
| basket | basketball | women's basketball | college basketball | 3x3 basketball
= Basketball current event.svg
| boxing
= Boxing current event.svg
| chess
= Chess current event.svg
| cricket
= Cricket current event.svg
| cue sports | cuesports | pool | billiard | billiards | snooker
= Cue sports current event.svg
| curling
= Curling current event.svg
| cycling
= Cycling current event.svg
| esport | eSport | esports | eSports
= Controller current.svg
| field hockey | indoor hockey | hockey5s
= Field hockey current event.svg
| figure skating | skating
= Figure Skating current event.svg
| floorball
= Floorball current event.svg
| golf
= Golf current event.svg
| gymnastics | artistic gymnastics | rhythmic gymnastics | aerobic gymnastics | acrobatic gymnastics | trampoline gymnastics | parkour
= Gymnastics current event.svg
| handball |field handball | beach handball | wheelchair handball | korfball
= Handball current event 2.svg
| hockey | ice hockey
= Hockey current event.svg
| lacrosse | field lacrosse | box lacrosse | women's lacrosse | lacrosse sixes
= Lacrosse current event.svg
| kabaddi
= Kabaddi current event.svg
| korfball
= Handball current event 2.svg
| motorsport | motorsports
= Motorsport current event.svg
| netball
= Netball current event.svg
| olympic | olympic games | olympics
= Olympics current event.svg
| poker | texas hold 'em | omaha hold 'em
= Poker current event.svg
| prowrestling | pro wrestling
= Prowrestling current event.svg
| roller hockey
= Roller hockey current event.png
| rugby league | rugby union | rugby sevens | rugby
= Rugby football current event.svg
| softball | fastpitch softball
= Softball current event.svg
| speed skating
= Speed skating current event.svg
| squash
= Squash current event.svg
| swimming
= Swimming current event.svg
| table tennis | ping pong | ping-pong
= TableTennis current event.svg
| team tennis | tennis
= tennisball current event.svg
| volley | volleyball | beach volleyball
= Volleyball current event.svg
| water polo
= Waterpolo current event.svg
| #default
= Sports current event.svg
}}|{{#if:{{{size|}}}|{{{size}}}|32px}}|alt=Current sports event]]<noinclude>
{{Documentation}}</noinclude>
l97nfwpxmfavdrrzmq4w737lugr7nw9
MediaWiki:Vector-2022.css
8
53660
310841
2026-10-25T10:12:55Z
Isma4l
41797
Abuuray
310841
css
text/css
/**
* Note: [[MediaWiki:Common.css]] is loaded in addition to these styles
* Please use [[Extension:TemplateStyles]] where possible.
*/
#coordinates {
line-height: 2;
font-size: 92%;
white-space: nowrap;
}
/* Don't display some stuff on the main page */
.page-Main_Page #deleteconfirm,
.page-Main_Page #t-cite,
.page-Main_Page #footer-info-lastmod,
.action-view.page-Main_Page #siteSub,
.action-view.page-Main_Page #contentSub,
.action-view.page-Main_Page #contentSub2 {
display: none !important;
}
/* Override [[phab:T265947]] */
.mw-body-content blockquote {
border-left: none;
}
/* Styling for tags in changes pages */
.mw-tag-markers {
font-style: italic;
font-size: 90%;
}
/* Wikipedia 25, remove somewhen */
.mw-logo-icon {
display: none;
}
.mw-logo {
margin: 6px 0;
}
@media screen {
html.skin-theme-clientpref-night .navbox a:not(.new):not(.mw-selflink):link,
html.skin-theme-clientpref-night .infobox a:not(.new):not(.mw-selflink):link {
color: var( --color-progressive ) !important;
}
/* T370074 */
html.skin-theme-clientpref-night .mw-parser-output > figure img {
background: var( --background-color-disabled-fixed, #C8CCD1 );
}
}
@media screen and (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .navbox a:not(.new):not(.mw-selflink):link,
html.skin-theme-clientpref-os .infobox a:not(.new):not(.mw-selflink):link {
color: var( --color-progressive ) !important;
}
/* T370074 */
html.skin-theme-clientpref-os .mw-parser-output > figure img {
background: var( --background-color-disabled-fixed, #C8CCD1 );
}
}
mq731q7ofywhjdc5zkfudgqpofyigr8
MediaWiki:Vector.css
8
53661
310843
2026-10-25T10:18:44Z
Isma4l
41797
Abuuray
310843
css
text/css
/* Don't display some stuff on the main page */
.page-Main_Page #deleteconfirm,
.page-Main_Page #t-cite,
.page-Main_Page #footer-info-lastmod,
.action-view.page-Main_Page #siteSub,
.action-view.page-Main_Page #contentSub,
.action-view.page-Main_Page #contentSub2 {
display: none !important;
}
#coordinates {
position: absolute;
top: 3.5em;
right: 0;
line-height: 1.6;
text-align: right;
font-size: 92%;
white-space: nowrap;
float: right;
margin: 0;
padding: 0;
text-indent: 0;
text-transform: none;
}
/* correct position for VE */
.ve-ce-surface #coordinates {
margin-right: 2em;
margin-top: -1em;
}
/* FR topicon position */
div.flaggedrevs_short {
position: absolute;
top: -3em;
right: 100px;
z-index: 1;
}
/* Make "From Wikipedia, the free encyclopedia" a bit smaller */
#siteSub {
font-size: 92%;
}
/* Move page status indicators down slightly */
.mw-indicators {
padding-top: 0.4em;
}
/* Override [[phab:T265947]] */
.mw-body-content blockquote {
border-left: none;
}
/* Styling for tags in changes pages */
.mw-tag-markers {
font-style: italic;
font-size: 90%;
}
d1rpc5mne4adac1jz9svu5y252sj3dl
MediaWiki:Gadget-switcher.js
8
53662
310844
2026-10-25T10:23:20Z
Isma4l
41797
Abuuray
310844
javascript
text/javascript
'use strict';
$( function () {
$.each( document.querySelectorAll( '.switcher-container' ), function ( i, container ) {
if ( i == 0 ) { mw.loader.using(['mediawiki.util'], function(){mw.util.addCSS('.switcher-container label input{margin-right:0.5em}')}) }
var selected, $radio;
var switchers = [];
var radioName = 'switcher-' + i;
var first = true;
$.each( container.children, function ( j, switcher ) {
var label = switcher.querySelector( '.switcher-label' );
if ( !label || !label.childNodes.length ) {
return;
}
switchers.push( switcher );
$radio = $( '<input>' ).prop({ type: 'radio', name: radioName }).on( 'click', function () {
$( selected ).hide();
$( switcher ).show();
selected = switcher;
} );
if ( !selected ) {
// Calaamadi kan koowaad inuu yahay kan la doortay
selected = switcher;
$radio.prop( 'checked', true );
} else if ( label.getAttribute( 'data-switcher-default' ) !== null ) {
// Kan caadiga ah ee la doortay
$radio.click();
} else {
// Qari kan aan caadiga ahayn
$( switcher ).hide();
}
$( '<label style="display:' + (first ? "inline-block" : "block") + '"></label>' ).append( $radio, label.childNodes ).appendTo( container );
first = false;
$( label ).remove();
} );
if ( switchers.length > 1 ) {
$( '<label style="display:block">Muuji ' + (switchers.length === 2 ? 'labadaba' : 'dhammaantood') + '</label>' ).prepend(
$( '<input>' ).prop({ type: 'radio', name: radioName }).on( 'click', function () {
$( switchers ).show();
selected = switchers;
} )
).appendTo( container );
}
if ( switchers.length === 1 ) {
$radio.remove();
}
} );
} );
ma7touo9rgckitvz0wwbw8ylijspf1d
Module:Validate gadgets
828
53663
310846
2026-10-25T10:28:25Z
Isma4l
41797
Abuuray
310846
Scribunto
text/plain
local MessageBox = require('Module:Message box')
local Gadgets = require('Module:Gadgets')
local p = {}
local function arr_contains(array, val)
for _, value in ipairs(array) do
if value == val then
return true
end
end
return false
end
local BOOLEAN_OPTIONS = {
'default', 'package', 'hidden', 'supportsUrlLoad', 'requiresES6'
}
-- Diyaamiryada qoraalka ee la aqbali karo
local STRING_OPTIONS = {
'type', 'dependencies', 'peers', 'namespaces', 'actions',
'contentModels', 'categories', 'targets', 'skins', 'rights'
}
-- Liiska xulashooyinka saxda ah ee aan laga heli karin Lua
-- (si ka duwan namespaces oo laga heli karo mw.site.namespaces)
local VALID_CONTENT_MODELS = {'wikitext', 'javascript', 'css', 'json', 'vue', 'MassMessageListContent', 'Scribunto', 'sanitized-css', 'SecurePoll'}
local VALID_ACTIONS = {'view', 'edit', 'history', 'info', 'move', 'delete', 'undelete', 'protect', 'block' } -- aan dhammaystirnayn
p.validate = function ()
local text = mw.title.new('MediaWiki:Gadgets-definition'):getContent()
local lines = mw.text.split(text, '\n', false)
local repo = {}
local allWarnings = {}
-- Qayb ka mid ah falanqaynta (parsing) ayaa halkan dib loogu hirgeliyay maadaama [[Module:Gadgets]] uusan soo saarin digniino
-- khadadka khaldan
for _, line in ipairs(lines) do
if line:sub(1, 1) == '*' then
local name, options, pages = Gadgets.parse_line(line)
if not name or #pages == 0 then
table.insert(allWarnings, '* Qeexid khaldan: '..line)
else
repo[name] = { options = options, pages = pages }
end
end
end
for name, conf in pairs(repo) do
local warnings = p.create_warnings(name, conf.options, conf.pages, repo)
for _, warning in ipairs(warnings) do
table.insert(allWarnings, '*'..name..': '..warning)
end
end
if #allWarnings ~= 0 then
return MessageBox.main('ombox', {
text = '<b>Cillado ku jira qeexitaannada qalabka:</b>\n' .. table.concat(allWarnings, '\n'),
type = 'delete',
class = 'gadgets-validation'
})
elseif require('Module:If preview/configuration').preview then
return MessageBox.main('ombox', {
text = '<b>Cillado ku jira qeexitaannada qalabka:</b> <i>Wax cillad ah lama helin!</i>',
type = 'notice',
image = '[[File:Check-green.svg|30px]]',
class = 'gadgets-validation'
})
else
return ''
end
end
p.create_warnings = function(name, options, pages, repo)
local warnings = {}
-- Magaca RL module (ext.gadget.<name>) waa inuusan dhaafin 245 bytes
-- sidaa darteed xadka waa 255 - 11 = 244 bytes oo ah magaca qalabka
if string.len(name) > 244 then
table.insert(warnings, 'Magaca qalabku waa inuusan ka badnaan 244 bytes')
end
-- Sida uu qabo ResourceLoader::isValidModuleName
if name:gsub('[|,!]', '') ~= name then
table.insert(warnings, 'Magaca qalabku waa inuusan yeelan tuubooyin (|), hakadyo (,) ama calaamadaha la yaabka (!)')
end
-- Qaabka uu qabo MediaWikiGadgetDefinitionsRepo::newFromDefinition
if not string.match(name, "^[a-zA-Z][-_:%.%w ]*[a-zA-Z0-9]?$") then
table.insert(warnings, 'Magaca qalabka waxaa loo isticmaalaa qayb ka mid ah magaca goobta foomka, waana inuu raacaa xeerarka lagu qeexay https://www.w3.org/TR/html4/types.html#type-cdata')
end
-- Raadi xulashooyinka aan saxda ahayn
for key, value in pairs(options) do
if arr_contains(BOOLEAN_OPTIONS, key) then
if value ~= true then
table.insert(warnings, 'Xulashada '..key..' waa boolean: waa inaysan lahayn qiime')
end
elseif arr_contains(STRING_OPTIONS, key) then
if value == true then
table.insert(warnings, 'Xulashada '..key..' waa in ay leedahay qiime')
end
else
table.insert(warnings, 'Xulashada '..key..' waa mid aan la aqoonsan')
end
end
if options.type ~= nil and options.type ~= 'general' and options.type ~= 'styles' then
table.insert(warnings, 'Qiimayaasha la oggol yahay ee nooca (type) waa: general, styles')
end
if options.targets ~= nil then
table.insert(warnings, 'Dejinta bartilmaameedyada (targets) ee qeexitaanka qalabka waa midduqoobay oo mar dambe wax saamayn ah ma leh')
end
if options.namespaces ~= nil then
for _, id in ipairs(mw.text.split(options.namespaces, ',', false)) do
if not string.match(id, '^-?%d+$') then
table.insert(warnings, 'Aqoonsiga namespace-ka khaldan: '..id..' - waa inuu ahaadaa tiro')
elseif mw.site.namespaces[tonumber(id)] == nil then
table.insert(warnings, 'Aqoonsiga namespace '..id..' waa mid khaldan')
end
end
end
if options.actions ~= nil then
for _, action in ipairs(mw.text.split(options.actions, ',', false)) do
if not arr_contains(VALID_ACTIONS, action) then
table.insert(warnings, 'Ficilka '..action..' waa mid aan la aqoonsan')
end
end
end
if options.contentModels ~= nil then
for _, model in ipairs(mw.text.split(options.contentModels, ',', false)) do
if not arr_contains(VALID_CONTENT_MODELS, model) then
table.insert(warnings, 'Qaabka nuxurka '..model..' waa mid aan la aqoonsan')
end
end
end
if options.skins ~= nil then
for _, skin in ipairs(mw.text.split(options.skins, ',', false)) do
if not mw.message.new('skinname-' .. skin):exists() then
table.insert(warnings, 'Maqaarka '..skin..' la heli karo ma aha')
end
end
end
if options.rights ~= nil then
for _, right in ipairs(mw.text.split(options.rights, ',', false)) do
if not mw.message.new('right-' .. right):exists() then
table.insert(warnings, 'Xuquuqda isticmaalaha '..right..' ma jirto')
end
end
end
if options.categories ~= nil then
for _, category in ipairs(mw.text.split(options.categories, ',', false)) do
local title = mw.title.new(category, 14)
if title == nil or title.namespace ~= 14 then
table.insert(warnings, 'Qaybta '..category..' waa ciwaan khaldan')
end
if not title.exists then
table.insert(warnings, 'Qaybta '..category..' ma jirto')
end
end
end
local hasScripts = false
local hasJsons = false
local hasVues = false
for _, page in ipairs(pages) do
page = 'MediaWiki:Gadget-' .. page
local title = mw.title.new(page)
if title == nil or not title.exists then
table.insert(warnings, 'Bogga [['..page..']] ma jiro')
else
local ext = title.text:match("%.([^%.]+)$")
if ext == 'js' then
if title.contentModel ~= 'javascript' then
table.insert(warnings, 'Bogga [['..page..']] ma aha nooca nuxurka JavaScript')
else
hasScripts = true
end
elseif ext == 'css' then
if title.contentModel ~= 'css' then
table.insert(warnings, 'Bogga [['..page..']] ma aha nooca nuxurka CSS')
end
elseif ext == 'json' then
if title.contentModel ~= 'json' then
table.insert(warnings, 'Bogga [['..page..']] ma aha nooca nuxurka JSON')
else
hasJsons = true
end
elseif ext == 'vue' then
if title.contentModel ~= 'vue' then
table.insert(warnings, 'Bogga [['..page..']] ma aha nooca nuxurka Vue')
else
hasVues = true
end
else
table.insert(warnings, 'Bogga [['..page..']] ma aha JS/CSS/JSON/Vue, waa la iska indhatiri doonaa')
end
end
end
if not options.hidden then
local description_page = mw.title.new('MediaWiki:Gadget-'..name)
if description_page == nil or not description_page.exists then
table.insert(warnings, 'Sharaxaada [['..description_page.fullText..']] ee loogu talagalay in lagu isticmaalo Special:Preferences ma jirto')
end
end
if options.package == nil and hasJsons then
table.insert(warnings, 'Bogagga JSON lama isticmaali karo qalabka aan ahayn xirmada (non-package gadgets)')
end
if options.package == nil and hasVues then
table.insert(warnings, 'Bogagga Vue lama isticmaali karo qalabka aan ahayn xirmada (non-package gadgets)')
end
if options.requiresES6 ~= nil and options.default ~= nil then
table.insert(warnings, 'Qalabka caadiga ah (default gadget) ma isticmaali karo calanka requiresES6')
end
if options.type == 'styles' and hasScripts then
table.insert(warnings, 'Bogagga JS waa la iska indhatiri doonaa maadaama qalabku dejiyay type=styles')
end
if options.type == 'styles' and options.peers ~= nil then
table.insert(warnings, 'Qalabka qaabka-kaliya ah (styles-only gadget) ma yeelan karo lammaane (peers)')
end
if options.type == 'styles' and options.dependencies ~= nil then
table.insert(warnings, 'Qalabka qaabka-kaliya ah (styles-only gadget) ma yeelan karo ku-tiirsanaan (dependencies)')
end
if options.package ~= nil and not hasScripts then
table.insert(warnings, 'Qalabka xirmada (package gadget) waa inuu leeyahay ugu yaraan hal bog oo JS ah')
end
if options.peers ~= nil then
for _, peer in ipairs(mw.text.split(options.peers, ',', false)) do
if repo[peer] == nil then
table.insert(warnings, 'Qalabka lammaanaha ah '..peer..' lama qeexin')
elseif Gadgets.get_type(repo[peer]) == 'general' then
table.insert(warnings, 'Qalabka lammaanaha ah '..peer..' waa inuu ahaadaa qalab qaabka-kaliya ah (styles-only gadget)')
end
end
end
if options.dependencies ~= nil then
for _, dep in ipairs(mw.text.split(options.dependencies, ',', false)) do
if dep:sub(1, 11) == 'ext.gadget.' then
local dep_gadget = dep:sub(12)
if repo[dep_gadget] == nil then
table.insert(warnings, 'Qalabka ku-tiirsanaanta '..dep_gadget..' lama qeexin')
end
end
end
end
return warnings
end
return p
99adv4dbcgjqyk3mejn2fy7ou8bfqs2
MediaWiki:Gadget-switcher
8
53664
310849
2026-10-25T10:37:07Z
Isma4l
41797
/* */ Abuuray
310849
wikitext
text/x-wiki
<sup><abbr title="{{int:gadgets-default}}">(D)</abbr></sup> Muuji badhannada raadiyaha si aad ugu kala beddesho aragtida nuxurka qaar, sida khariidadaha qaar
18ttlgm8q9ni4ok19j7hbvzgjxmb2t3
MediaWiki:Gadget-dark-mode-toggle-pagestyles.css
8
53665
310851
2026-10-25T10:40:45Z
Isma4l
41797
Abuuray
310851
css
text/css
/* Fixes for empty icons in Vector 2022 and Minerva */
.mw-ui-icon-vector-gadget-pt-darkmode,
.mw-ui-icon-vector-gadget-pt-darkmode-sticky-header,
.minerva-icon-portletlink-pt-darkmode {
background-image: url(/w/load.php?modules=oojs-ui.styles.icons-accessibility&image=moon);
}
.minerva-icon-portletlink-pt-darkmode {
opacity: 0.65;
}
.client-dark-mode .mw-ui-icon-vector-gadget-pt-darkmode,
.client-dark-mode .mw-ui-icon-vector-gadget-pt-darkmode-sticky-header,
.client-dark-mode .minerva-icon-portletlink-pt-darkmode {
background-image: url(/w/load.php?modules=oojs-ui.styles.icons-accessibility&image=bright);
}
/* These same rules should also be in [[MediaWiki:Gadget-dark-mode.css]] but with higher specificity. */
.skin-vector-legacy :not(#pt-darkmode) + #pt-watchlist::before,
.skin-monobook :not(#pt-darkmode) + #pt-watchlist::before {
content: "Dark mode";
visibility: hidden;
margin-left: inherit;
}
/* Avoid showing "report an issue" - can be removed in 1.43.0-wmf.13 */
.skin-vector-2022 .skin-theme-exclusion-notice ~ span {
display: none;
}
5asy68narj04sixbw12v8wgh5n2h8c3
MediaWiki:Gadget-ProveIt.js
8
53666
310852
2026-10-25T10:42:34Z
Isma4l
41797
Bog cusub: /** * ProveIt waa maareeye tixraac oo loogu talagalay Wikipedia iyo wixii wiki MediaWiki ah * Dokumentashinka: https://www.mediawiki.org/wiki/ProveIt * Koodka isha: https://www.mediawiki.org/wiki/MediaWiki:Gadget-Global-ProveIt.js */ function loadProveIt() { mw.config.set( { // Foomamka tixraaca (adigoo aan wadan namespace) 'proveit-templates': [ 'Citation', 'Cite arXiv', 'Cite AV media', 'Cite AV media notes', 'Cite book', 'Cite bioRxiv', 'Cite con...
310852
javascript
text/javascript
/**
* ProveIt waa maareeye tixraac oo loogu talagalay Wikipedia iyo wixii wiki MediaWiki ah
* Dokumentashinka: https://www.mediawiki.org/wiki/ProveIt
* Koodka isha: https://www.mediawiki.org/wiki/MediaWiki:Gadget-Global-ProveIt.js
*/
function loadProveIt() {
mw.config.set( {
// Foomamka tixraaca (adigoo aan wadan namespace)
'proveit-templates': [
'Citation',
'Cite arXiv',
'Cite AV media',
'Cite AV media notes',
'Cite book',
'Cite bioRxiv',
'Cite conference',
'Cite comic',
'Cite encyclopedia',
'Cite episode',
'Cite Hansard',
'Cite Instagram',
'Cite interview',
'Cite journal',
'Cite magazine',
'Cite mailing list',
'Cite map',
'Cite Metacritic',
'Cite news',
'Cite newsgroup',
'Cite newspaper The Times',
'Cite ODNB',
'Cite paper',
'Cite podcast',
'Cite press release',
'Cite report',
'Cite Rotten Tomatoes',
'Cite serial',
'Cite sign',
'Cite speech',
'Cite techreport',
'Cite thesis',
'Cite tweet',
'Cite video',
'Cite video game',
'Cite ssrn',
'Cite wikisource',
'Cite web',
'Cite Q',
'R',
'Sfn',
'Sfnm'
],
// Foomamka tixraaca ee aysan tahayn inay galaan calaamadaha dhexdooda <ref>
'proveit-templates-noref': [ 'R', 'Sfn', 'Sfnm' ],
// Qaabka taariikhda la door biday, eeg https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat#using_options
'proveit-date-format': { year: 'numeric', month: 'long', day: 'numeric' },
// Calaamadda dib-u-eegista ee laga qeexay Special:Tags
'proveit-tag': 'ProveIt edit',
// Soo koobidda wax-ka-beddelka tooska ah
'proveit-summary': 'Tixraac waxaa wax ka beddelay [[:en:Wikipedia:ProveIt|ProveIt]]',
} );
// Ka soo raraan nooca dhexe ee caalamiga ah ee MediaWiki.org
mw.loader.load( '//www.mediawiki.org/w/load.php?modules=ext.gadget.Global-ProveIt' );
}
// Kaliya soo rari marka wax la badalayo
mw.hook( 'wikipage.editform' ).add( () => window.ProveIt || loadProveIt() );
mw.hook( 've.newTarget' ).add( target => target.constructor.static.name === 'article' && target.on( 'surfaceReady', loadProveIt ) );
h9bhp7w8614k0vhsj5mhrpqa2noa97b
MediaWiki:Gadget-ProveIt
8
53667
310853
2026-10-25T10:43:58Z
Isma4l
41797
/* */
310853
wikitext
text/x-wiki
<sup><abbr title="{{int:gadgets-sister}}">(S)</abbr></sup> [[:en:Wikipedia:ProveIt|ProveIt]] waa qalab ku daraya interface-ka garaafaad ee isticmaalaha si loo helo, wax looga beddelo, loogu daro loona xigto tixraacyada (<span class="plainlinks">[{{fullurl:Fallacy|action=edit&withJS=MediaWiki:Gadget-ProveIt.js&withCSS=MediaWiki:Gadget-ProveIt.css}} tusaale]</span>)
dxliidko31qbvxng071bo8y2efcr7kx
MediaWiki:Gadget-WikiMiniAtlas.js
8
53668
310854
2026-10-25T10:45:37Z
Isma4l
41797
Abuuray
310854
javascript
text/javascript
/******************************************************************************/
/**** BOGGAN WUXUU LA SOCDAA [[meta:MediaWiki:Wikiminiatlas.js]]. FADLAN KA FOGAOW INAAD SI TOOS AH U WAX KA BEDDESho.
/**** WAX KA BEDDELKA WAA IN SI TOOS AH LOO SOO JEEDIYAA [[meta:MediaWiki:Wikiminiatlas.js]].
/**** ROBOT WUXUU KACIN DOONAA CODSIGA WAX KA BEDDELKA HADDII UU KA DUWANAADO KAN AADKA SOO KORYA.
/******************************************************************************/
// '''WikiMiniAtlas'''
// Qoraal lagu geliyo khariidadaha is-dhexgalka ah ee bogagga leh tusaalooyinka isku-duwaha (coordinate templates)
// sidoo kale hubi bogga isticmaalahayga [[User:Dschwen]] si aad u hesho qalab kale
//
// Revision 16.12
// Source: https://github.com/dschwen/wikiminiatlas/blob/master/wikiminiatlas.js
// License: CC BY-SA 4.0 and GFDL
/* jshint laxcomma:true, smarttabs:true, quotmark:single, curly:false, es3:true, browser:true */
/* global mw,jQuery */
jQuery(function ($) {
// WMA config
var wc = {
width : 600,
height : 400,
timeout : 5000,
zoom : -1,
enabled : true,
onlytitle : false,
flowTextTooltips: (location.host==='en.wikipedia.org'),
alwaysTooltips: false,
iframeurl : '//wma.wmcloud.org/iframe.html',
imgbase : '//wma.wmcloud.org/tiles/',
buttonImage: '//thumb.wikimedia.org/wikipedia/commons/thumb/5/55/WMA_button2b.png/20px-WMA_button2b.png',
buttonImage2x: '//thumb.wikimedia.org/wikipedia/commons/thumb/5/55/WMA_button2b.png/40px-WMA_button2b.png',
buttonWidth: 17,
buttonHeight: 17
},
strings = {
buttonTooltip : {
'af':'Vertoon ligging op \'n interaktiwe kaart.',
'als':'Ort uf dr interaktivä Chartä zeigä',
'ar':'شاهد الموقع على الخريطة التفاعلية',
'ast':'Ver el llugar nun mapa interactivu',
'az':'Yeri interaktiv bir xəritədə göstər',
'bar':'Ort af da interaktivn Kartn zoagn',
'be-tarask':'паказаць месцазнаходжаньне на інтэрактыўнай мапе',
'be-x-old':'паказаць месцазнаходжаньне на інтэрактыўнай мапе',
'bg':'Покажи местоположението на интерактивната карта',
'bn':'সক্রিয় মানচিত্রে অবস্থান চিহ্নিত করুন',
'bpy':'জীবন্ত মানচিত্রগর মা মাপাহান দেখাদিতই',
'br':'diskouez al lec\'hiadur war ur gartenn etrewezhiat',
'bs':'Prikaži lokaciju na interaktivnoj mapi',
'ca':'Mostra la localització en un mapa interactiu',
'cs':'zobrazit místo na interaktivní mapě',
'da':'vis beliggenhed på interaktivt kort',
'de':'Ort auf interaktiver Karte anzeigen',
'dsb':'Městno na interaktiwnej kórśe zwobrazniś',
'el':'Εμφάνιση τοποθεσίας σε διαδραστικό χάρτη',
'en':'Show location on an interactive map',
'eo':'Montru lokigon sur interaktiva karto',
'es':'Mostrar el lugar en un mapa interactivo',
'eu':'erakutsi kokalekua mapa interaktibo batean',
'fa':'نمایش مکان در نقشهای پویا',
'fi':'näytä paikka interaktiivisella kartalla',
'fr':'Montrer la localisation sur une carte interactive',
'fur':'mostre la localizazion suntune mape interative',
'fy':'it plak op in oanpasbere kaart oanjaan',
'gl':'Amosar o lugar nun mapa interactivo',
'he':'הראה מיקום במפה האינטראקטיבית',
'hi':'सक्रिय नक्शे पर लोकेशन या स्थान दिखायें',
'hr':'Prikaži lokaciju na interaktivnom zemljovidu',
'hsb':'Městno na interaktiwnej karće zwobraznić',
'hu':'Mutasd a helyet egy interaktív térképen!',
'hy':'ցուցադրել դիրքը ինտերակտիվ քարտեզի վրա',
'id':'Tunjukkan lokasi di peta interaktif',
'ilo':'Ipakita ti lokasion iti interaktibo a mapa',
'is':'sýna staðsetningu á gagnvirku korti',
'it':'mostra la località su una carta interattiva',
'ja':'インタラクティブ地図上に位置を表示',
'kk':'интерактивті картадан орналасуын көрсету',
'km':'បង្ហាញទីតាំងនៅលើផែនទីអន្តរកម្ម',
'kn':'ನಕ್ಷೆಯಲ್ಲಿ ಸ್ಥಳವನ್ನು ತೋರಿಸು',
'ko':'인터랙티브 지도에 위치를 표시',
'ku':'Vî cihê li ser nexşeyekî înteraktifê nişan bide',
'lt':'Rodyti vietą interaktyviame žemėlapyje',
'lv':'Rādīt atrašanās vietu interaktīvajā kartē',
'min':'Tunjuakan lokasi pado peta',
'mk':'прикажи положба на интерактивна карта',
'ml':'സ്ഥാനം സംവേദനക്ഷമമായ ഒരു ഭൂപടത്തിൽ കാണിക്കുക',
'ms':'Tunjukkan lokasi pada peta interaktif',
'my':'မြေပုံပေါ်တွင် တည်နေရာပြရန်',
'nl':'de locatie op een interactieve kaart tonen',
'no':'vis beliggenhet på interaktivt kart',
'nv':'kéyah tʼáá dah siʼą́ą́ ńtʼę́ę́ʼ beʼelyaaígíí',
'pl':'Pokaż lokalizację na mapie interaktywnej',
'ps':'د ځاي نخشه ښکاره کول په متقابله نخشه کې',
'pt':'mostrar a localidade num mapa interactivo',
'ro':'Arată locaţia pe o hartă interactivă',
'ru':'показать положение на интерактивной карте',
'sco':'Shaw location on an interactive cairt',
'sh':'Prikaži lokaciju na interaktivnoj mapi',
'sk':'zobraz miesto na interaktívnej mape',
'sl':'Prikaži lego na interaktivnem zemljevidu',
'sq':'trego vendndodhjen në hartë',
'sr':'Прикажи локацију на интерактивној мапи',
'sr-ec':'Прикажи локацију на интерактивној мапи',
'sr-el':'Prikaži lokaciju na interaktivnoj mapi',
'sv':'visa platsen på en interaktiv karta',
'th':'แสดงตำแหน่งบนแผนที่เชิงโต้ตอบ',
'ti': 'ቦታ ኣብ ተገባባሪ ካርታ ኣርእይ',
'tr':'Yeri interaktif bir haritada göster',
'uk':'показати положення на інтерактивній мапі',
'vi':'xem vị trí này trên bản đồ tương tác',
'vo':'Jonön topi su kaed itjäfidik',
'zh':'显示该地在地图上的位置',
'zh-cn':'显示该地在地图上的位置',
'zh-hk':'顯示該地在地圖上的位置',
'zh-sg':'显示该地在地图上的位置',
'zh-tw':'顯示該地在地圖上的位置',
'zh-yue':'顯示當地喺地圖度嘅位置'
},
'map': {
'ast':'Mapa',
'az':'Xəritə',
'bg':'Карта',
'bn':'মানচিত্র',
'bs':'Mapa',
'ca':'Mapa',
'cs':'Mapa',
'de':'Karte',
'el':'Χάρτης',
'en':'Map',
'es':'Mapa',
'fa':'نقشه',
'fi':'Kartalla',
'fr':'Carte',
'gl':'Mapa',
'hr':'Zemljovid',
'hu':'Térkép',
'id':'peta',
'ilo':'Mapa',
'it':'Mappa',
'ja':'地図',
'kn':'ನಕ್ಷೆ',
'ku':'Nexşe',
'min':'peta',
'mk':'Карта',
'ml':'ഭൂപടം',
'ms':'Peta',
'my':'မြေပုံညွှန်း',
'nl':'Kaart',
'ps':'نخشه',
'pt':'Mapa',
'ru':'карте',
'sco':'Cairt',
'sh':'Mapa',
'sr':'Мапа',
'sr-ec':'Мапа',
'sr-el':'Mapa',
'sv':'Karta',
'th':'แผนที่',
'ti':'ካርታ',
'uk':'мапі',
'zh':'地圖',
'zh-cn':'地图',
'zh-hk':'地圖',
'zh-sg':'地图',
'zh-tw':'地圖',
'zh-yue':'地圖'
},
close : {
'af':'Sluit',
'als':'Zuä machä',
'ar':'غلق',
'ast':'zarrar',
'az':'bağla',
'be-tarask':'закрыць',
'be-x-old':'закрыць',
'bar':'zuamachn',
'bg':'Затвори',
'bn':'বন্ধ করুন',
'bpy':'জিপা',
'br':'serriñ',
'bs':'zatvori',
'ca':'Tanca',
'cs':'zavřít',
'da':'luk',
'de':'schließen',
'dsb':'zacyniś',
'el':'έξοδος',
'en':'close',
'eo':'fermu',
'es':'cerrar',
'eu':'itxi',
'fa':'بستن',
'fi':'sulje',
'fr':'Quitter',
'fur':'siere',
'fy':'ticht',
'gl':'pechar',
'he':'לסגור',
'hi':'बंद करें',
'hr':'zatvori',
'hsb':'začinić',
'hu':'bezárás',
'hy':'փակել',
'id':'tutup',
'ilo':'irikep',
'is':'loka',
'it':'chiudi',
'ja':'閉じる',
'kk':'жабу',
'km':'បិទ',
'kn':'ಮುಚ್ಚಿರಿ',
'ko':'닫기',
'ku':'daxe',
'lt':'uždaryti',
'lv':'aizvērt',
'min':'tutuik',
'mk':'затвори',
'ml':'അടയ്ക്കുക',
'ms':'tutup',
'my':'ပိတ်ရန်',
'nl':'sluiten',
'no':'lukk',
'ps':'تړل',
'nv':'doo yishʼʼį́ nisin da',
'pl':'zamknij',
'pt':'fechar',
'ro':'închide',
'ru':'закрыть',
'sh':'zatvori',
'sk':'zatvoriť',
'sl':'zapri',
'sq':'mbylle',
'sr':'затвори',
'sr-ec':'затвори',
'sr-el':'zatvori',
'sv':'stäng',
'th':'ปิด',
'ti':'ዕጸው',
'tr':'kapat',
'uk':'закрити',
'vi':'đóng',
'vo':'färmükön',
'zh':'关闭',
'zh-cn':'关闭',
'zh-hk':'關閉',
'zh-sg':'关闭',
'zh-tw':'關閉',
'zh-yue':'收埋'
},
resize : {
'ar':'تغيير حجم',
'ast':'redimensionar',
'az':'ölçüləri dəyiş',
'bg':'Промени големина',
'bn':'মাপ পরিবর্তন করুন',
'bs':'promijeni veličinu',
'ca':'Redimensiona',
'cs':'změnit velikost',
'de':'Größe ändern',
'dk':'ændre størrelse',
'el':'αλλαγή μεγέθους',
'en':'resize',
'es':'cambiar el tamaño',
'fa':'تغییر اندازه',
'fi':'muuta kokoa',
'fr':'redimensionner',
'gl':'cambiar o tamaño',
'hr':'promijeni veličinu',
'hu':'átméretezés',
'ilo':'baliwan ti kadakkel',
'it':'ridimensiona',
'ja':'サイズを変更する',
'kk':'өлшемін өзгерту',
'kn':'ಗಾತ್ರ ಬದಲಿಸು',
'min':'gadangan',
'mk':'промени големина',
'ml':'വലിപ്പം മാറ്റുക',
'ms':'ubah saiz',
'my':'အရွယ်အစားညှိရန်',
'nl':'vergroten of verkleinen',
'no':'endre størrelse',
'ps':'د کچې بدلول',
'pt':'alterar tamanho',
'ro':'redimensionare',
'sh':'promijeni veličinu',
'sl':'spremeni velikost',
'sr':'промени величину',
'sr-ec':'промени величину',
'sr-el':'promeni veličinu',
'sv':'ändra storlek',
'th':'ปรับขนาด',
'ti':'መጠን ለውጥ',
'uk':'змінити розмір',
'zh':'调整大小',
'zh-cn':'调整大小',
'zh-hk':'調整大小',
'zh-sg':'调整大小',
'zh-tw':'調整大小',
'zh-yue':'改大細'
}
},
// domain of the WMA
wma_domain = '//wma.wmcloud.org',
language = '', site = '', awt='0', rtl = /(^|\s)rtl(\s|$)/.test(document.body.className),
// Get a specific, localized string
_msg = function(k) {
return strings[k][language] || strings[k].en;
},
dbName = mw.config.get( 'wgDBname' ),
iframe = { div: null, iframe: null, closebutton: null, resizebutton: null, resizehelper: null, indom: false },
page_title = ( mw.config.get('wgNamespaceNumber')===0 ) ? encodeURIComponent(mw.config.get('wgTitle')) : '',
bodyc,
coord_filter = /[?&]params=([\d.+-]+)_([\d.+-]*)_?([\d.+-]*)_?([NSZ])_([\d.+-]+)_([\d.+-]*)_?([\d.+-]*)_?([EOW])([^&=<>|]{0,250})/,
coord_list = [],
coord_highlight = -1,
kml = null,
mes = null,
initPromises = [];
// get position on page
function yPos(el) {
return $(el).offset().top + $(el).outerHeight();
}
// show, move, and update iframe
function showIFrame(e) {
var wi = iframe, my = yPos(this),
newurl = wc.iframeurl + '?wma=' + e.data.param + '&lang=' + site + '&page=' + page_title + '&awt=' + awt;
// insert iframe into DOM on demand (to preserve page caching)
if (!wi.indom) {
$('#content,#mw_content').prepend(wi.div);
wi.indom = true;
}
if (wi.iframe.attr('src')!==newurl) {
wi.iframe.attr( 'src', newurl );
} else if( wi.div.css('display') !== 'none' ) {
wi.div.hide();
return false;
}
wi.div.css( 'top', my+'px' ).show();
return false;
}
function highlight(i) {
if (coord_highlight>=0) {
$(coord_list[coord_highlight].obj).css('background-color','').find('span:visible').css('background-color','');
}
coord_highlight = i;
if (coord_highlight>=0) {
$(coord_list[coord_highlight].obj).css('background-color','yellow').find('span:visible').css('background-color','yellow');
}
}
function messageHub(e) {
var i, d, clist = { coords: [] }
, geoext = [], sx=0, sy=0, s
, minlat = Infinity, maxlat = -Infinity, ineg = -1, ipos = -1;
e = e.originalEvent;
if (!e || !e.data || !e.data.split) {
// avoid Uncaught TypeError: e.data.split is not a function
return;
}
d = e.data.split(',');
mes = e.source;
switch(d[0]) {
case 'request' :
// make a JSON encodable copy of coord_list (no HTML objects!)
// find center and extent
for (i=0; i<coord_list.length; ++i) {
clist.coords[i] = {
lat: coord_list[i].lat,
lon: coord_list[i].lon,
title: coord_list[i].title.replace(/[\+_]/g,' ')
};
if (coord_list[i].lat<minlat) { minlat = coord_list[i].lat; }
if (coord_list[i].lat>maxlat) { maxlat = coord_list[i].lat; }
geoext[i] = {
x: Math.cos(coord_list[i].lon/180.0*Math.PI),
y: Math.sin(coord_list[i].lon/180.0*Math.PI)
};
sx += geoext[i].x;
sy += geoext[i].y;
}
clist.loncenter = Math.atan2(sy,sx)*180.0/Math.PI;
clist.latmax = maxlat;
clist.latmin = minlat;
// extent in longitude
for (i=0; i<geoext.length; ++i) {
s = (geoext[i].x*sy-geoext[i].y*sx);
geoext[i].z = (geoext[i].x*sx+geoext[i].y*sy);
if (s<0 && (ineg<0 || geoext[i].z<geoext[ineg].z)) { ineg=i; }
if (s>0 && (ipos<0 || geoext[i].z<geoext[ipos].z)) { ipos=i; }
}
if (ipos>=0 && ineg>=0) {
clist.lonleft = coord_list[ipos].lon;
clist.lonright = coord_list[ineg].lon;
}
if ('JSON' in window) {
mes.postMessage(JSON.stringify(clist), document.location.protocol + wma_domain);
if (kml!==null) {
mes.postMessage(JSON.stringify(kml), document.location.protocol + wma_domain);
}
}
break;
case 'unhighlight' :
highlight(-1);
break;
case 'toggle' :
coord_list[parseInt(d[1],10)].mb.click();
break;
case 'scroll' :
$('html:not(:animated),body:not(:animated)').animate({ scrollTop: $(coord_list[parseInt(d[1],10)].obj).offset().top - 20 + parseInt(d[2]||'0',10) }, 500 );
iframe.div.css( { top: yPos( coord_list[parseInt(d[1],10)].obj ) + 'px'} );
// make sure scroll target gets highlighted
setTimeout(function () { highlight(parseInt(d[1],10)); }, 200);
break;
case 'highlight' :
highlight(parseInt(d[1],10));
break;
}
}
// parse url parameters into a hash
function parseParams(url) {
var map = {}, h, i, pair = url.substr(url.indexOf('?')+1).split('&');
for (i=0; i<pair.length; ++i) {
h = pair[i].split('=');
map[h[0]] = h[1];
}
return map;
}
// Insert the IFrame into the page.
var wi = iframe,
marker = { lat:0, lon:0 }, coordinates = null,
links, key, startTime, mapbutton;
// apply settings
if (typeof wma_settings==='object') {
for (key in wma_settings) {
if (typeof wma_settings[key]===typeof wc[key]) { wc[key] = wma_settings[key]; }
}
}
if (wc.enabled===false) { return; }
site = (dbName==='commonswiki') ? 'commons' : (mw.config.get('wgUserVariant') || mw.config.get('wgPageContentLanguage'));
language = mw.config.get( 'wgUserLanguage' );
// bhwiki reports bho as language. I do not understand that yet, so let's add an exception
if (site === 'bho') site = 'bh';
// remove icons from title coordinates
$('#coordinates,#coordinates-title,#tpl_Coordinaten').find('a.image, span[typeof*="mw:File"]').detach();
bodyc = $( wc.onlytitle ? '#coordinates,#coordinates-title' : 'html' );
startTime = (new Date()).getTime();
bodyc.find('a.external.text').each( function( key, link ) {
var ws, coord_params, params, zoomlevel, globe='Earth';
// check for timeout (every 10 links only)
if (key%10===9 && (new Date()).getTime() > startTime+wc.timeout) {
return false; // break out of each
}
if (!('href' in link) || !coord_filter.exec(link.href)) { // invalid links do not contain href attribute in IE!
return true;
}
marker.lat=(1.0*RegExp.$1) + ((RegExp.$2||0)/60.0) + ((RegExp.$3||0)/3600.0);
if (RegExp.$4!=='N') { marker.lat*=-1; }
marker.lon=(1.0*RegExp.$5) + ((RegExp.$6||0)/60.0) + ((RegExp.$7||0)/3600.0);
if (RegExp.$8==='W') { marker.lon*=-1; }
coord_params = RegExp.$9;
// Zoom based on coordinate N/S precision
var coord_digits = RegExp.$3 ? 4 : RegExp.$2 ? 2 : RegExp.$1.length - (RegExp.$1+'.').indexOf('.') - 1;
zoomlevel = coord_digits * Math.log(10)/Math.log(2);
// Find a sensible Zoom-level based on type
if( /_type:(airport|edu|pass|landmark|railwaystation)/.test(coord_params) ) {
zoomlevel = 8;
} else if (/_type:(event|forest|glacier)/.test(coord_params)) {
zoomlevel = 6;
} else if (/_type:(adm3rd|city|mountain|isle|river|waterbody)/.test(coord_params)) {
zoomlevel = 4;
}
// wma shows dim approx 4e7m at zoom 0 or 1.5e8 is the scale of zoomlevel 0
if (/_dim:([\d.+-]+)(km|m|_|$)/.exec(coord_params)) {
zoomlevel = Math.log((RegExp.$2==='km' ? 4e4 : 4e7) / RegExp.$1)/Math.log(2);
}
if (/_scale:(\d+)(_|$)/.exec(coord_params)) {
zoomlevel = Math.log(1.5e8/RegExp.$1) / Math.log(2);
}
if (wc.zoom!==-1) { zoomlevel = wc.zoom; }
//if( zoomlevel > 12 ) { zoomlevel = 12; }
if (zoomlevel<0) { zoomlevel = 0; }
function capitalize(s) { return s.substr(0,1).toUpperCase()+s.substr(1).toLowerCase(); }
if (/_globe:([^_&]+)/.test(coord_params)) { globe = capitalize(RegExp.$1); }
if ($.inArray(globe,['Earth','Moon','Mars','Venus','Mercury','Io','Titan']) < 0 ) { return; }
// Test the unicode Symbol
if (site==='de' && link.parentNode.id!=='coordinates') {
mapbutton = $('<span>♁</span>').css('color','blue');
} else {
mapbutton = $('<img>').attr('src', wc.buttonImage).attr('srcset', wc.buttonImage + ' 1x, ' + wc.buttonImage2x + ' 2x')
.attr('width', wc.buttonWidth).attr('height', wc.buttonHeight);
}
mapbutton.addClass('wmamapbutton noprint').attr( {
title: _msg('buttonTooltip'),
alt: ''
} )
.on('mouseenter', function (){ $(this).css('opacity', 0.75); })
.on('mouseleave', function () { $(this).css('opacity', ''); })
.css('padding', rtl ? '0px 0px 0px 3px' : '0px 3px 0px 0px' ).css('cursor', 'pointer');
if (wc.alwaysTooltips || ( wc.flowTextTooltips && $(link).parents('li, table, #coordinates').length===0)) {
// insert tooltip rather than icon to improve text readability
mapbutton = $('<span>').append(mapbutton).append(' WikiMiniAtlas').css('cursor','pointer');
var tooltip = $('<div>').css( {
backgroundColor: 'white', padding: '0.2em', border: '1px solid black',
position: 'absolute', top: '1em', left: '0em',
display: 'none', zIndex : 15
}).append(mapbutton);
$(link).wrap(
$('<span>')
.css( { position: 'relative', whiteSpace: 'nowrap' } )
.on('mouseleave', function () { tooltip.fadeOut(); })
)
.before(tooltip)
.on('mouseenter', function () { tooltip.fadeIn(); });
} else {
// insert icon directly
ws = $(link).css('whiteSpace');
if (site!=='de' || link.parentNode.id!=='coordinates') {
$(link).wrap( $('<span>').css('whiteSpace', 'nowrap') ).css('whiteSpace', ws).before(mapbutton);
} else {
$('#coordinates').append('<span class="noprint coordinates-separator"> | </span>').append(mapbutton);
}
}
mapbutton.on( 'click', { param:
marker.lat + '_' + marker.lon + '_' +
wc.width + '_' + wc.height + '_' +
site + '_' + zoomlevel + '_' + language + '&globe=' + globe }, showIFrame );
// store coordinates
coordinates = link.href;
params = parseParams(link.href);
coord_list.push( { lat: marker.lat, lon: marker.lon, obj: link, mb: mapbutton, title: params.title || params.pagename || '' } );
} ); //end each
var titlebutton = false;
function addTitleButton( alat, alon, zoomlevel ) {
mapbutton = $('<img>')
.on('mouseenter', function (){ $(this).css('opacity', 0.75); })
.on('mouseleave', function () { $(this).css('opacity', ''); })
.css('padding', rtl ? '0px 3px 0px 0px' : '0px 0px 0px 3px' ).css('cursor', 'pointer')
.attr('src', wc.buttonImage).attr('srcset', wc.buttonImage + ' 1x, ' + wc.buttonImage2x + ' 2x')
.attr('width', wc.buttonWidth).attr('height', wc.buttonHeight)
.addClass('wmamapbutton noprint')
.on( 'click', { param:
alat + '_' + alon + '_' +
wc.width + '_' + wc.height + '_' +
site + '_' + zoomlevel + '_' + language
}, showIFrame ); // zoomlevel!
if (!titlebutton) {
if ($('#coordinates').length) {
$('#coordinates').find('img').detach();
$('#coordinates').append(mapbutton);
} else {
$('<span id="coordinates"></span>').text(_msg('map')).append(mapbutton).appendTo('#bodyContent');
}
titlebutton = true;
}
}
// detect and load KML
// also insert globe even if no title coords are given
(function () {
var i, l = $('div.kmldata')
,alat = 0, alon = 0
,la1 = Infinity, la2 =- Infinity
,lo1 = Infinity, lo2 =- Infinity
,ex,ey, req;
for (i=0; i<l.length; ++i) {// TODO: replace with .each
coordinates = true;
req = $.ajax({
url: '/wiki/' + encodeURI(l.eq(i).attr('title')) + '?action=raw',
dataType: 'xml',
success: function (xml) {
var zoomlevel;
function processCoords(t) {
var way = [], c, p = t.split(' '), i, lat, lon;
for( i=0; i<p.length; ++i ) {
c=p[i].split(',');
if( c.length >= 2 ) {
lat = parseFloat(c[1]);
lon = parseFloat(c[0]);
way.push( { lat: lat, lon: lon } );
// determine extent of way
if (lat<la1) { la1=lat; }
if (lon<lo1) { lo1=lon; }
if (lat>la2) { la2=lat; }
if (lon>lo2) { lo2=lon; }
}
}
return way;
}
// initialize transfer datastructure
kml = { ways: [], areas: [] };
// ways
$(xml).find('LineString > coordinates').each(function () {
var way = processCoords( $(this).text() );
if (way.length>0) { kml.ways.push(way); }
});
// areas
$(xml).find('Polygon').each(function () {
var area = { inner: [], outer: [] };
// outer boundary
$(this).find('outerBoundaryIs > LinearRing > coordinates').each(function () {
var way = processCoords($(this).text());
if (way.length>0) { area.outer.push(way); }
});
// inner boundary (holes in the polygon)
$(this).find('innerBoundaryIs > LinearRing > coordinates').each(function () {
var way = processCoords($(this).text());
if (way.length>0) { area.inner.push(way); }
});
// only add if we have an outer boundary
if (area.outer.length>0) { kml.areas.push(area); }
});
// inset min/max extent
kml.minlon = lo1;
kml.maxlon = lo2;
kml.minlat = la1;
kml.maxlat = la2;
// already got a request message
if (mes!==null && kml.ways.length>0 && 'JSON' in window) {
mes.postMessage(JSON.stringify(kml), document.location.protocol + wma_domain);
}
// insert blue globe
if (coord_list.length===0 || (!$('#coordinates').find('.wmamapbutton').length)) {
// determine center
alat = (la1+la2)/2;
alon = (lo1+lo2)/2;
//determine zoomfactor
ex = (lo2-lo1)/180.0 * 3.0*128;
ey = (la2-la1)/180.0 * 3.0*128; // max extent in degrees, zoom0 has 3*128/180 px/degree
for (zoomlevel=0; zoomlevel<12; ++zoomlevel) {
if( ex>wc.width/2 || ey>wc.height/2 ) break;
ex *= 2; ey *= 2;
}
// add mapbutton
addTitleButton( alat, alon, zoomlevel );
}
}
});
// Add request promise to init array, and cast any errors to success so that
// we don't abort init early when one of the requests failed. These are expected
// to fail for titles we can't find.
initPromises.push(req.then(null, function () { return $.Deferred().resolve(); } ));
} // end for
})();
// detect "All Coordinates"
links = $('#coordinates>span>a');
if (links.length && links[0].href.indexOf('http://www.lenz-online.de/cgi-bin/wiki/wiki-osm.pl') === 0) {
addTitleButton( 0, 0, 1 );
coordinates = true;
}
// prepare iframe to house the map
if (coordinates!==null) {
wi.div = $('<div>').css( {
width: (wc.width+2)+'px', height: (wc.height+2)+'px',
margin: '0px', padding: '0px',
backgroundColor : 'white', border: '1px solid gray',
position: 'absolute', top: '1em', zIndex: 13, boxShadow: '3px 3px 25px rgba(0,0,0,0.3)'
} ).css( rtl ? 'left' : 'right', '2em' ).hide();
var rbrtl = [ '//upload.wikimedia.org/wikipedia/commons/b/b5/Button_resize.png',
'//upload.wikimedia.org/wikipedia/commons/3/30/Button_resize_rtl.png' ];
wi.resizebutton = $('<img>').attr( {
title : _msg('resize'),
src : rbrtl[rtl?1:0]
} ).hide().attr('ondragstart','return false');
// cover the iframe to prevent loosing the mouse to the iframe during resizing
wi.resizehelper = $('<div>').css( { position: 'absolute', top:0, left:0, zIndex: 20 } ).hide();
wi.closebutton = $('<img>').attr( {
title : _msg('close'),
src : '//upload.wikimedia.org/wikipedia/commons/d/d4/Button_hide.png'
} ).css( {
zIndex : 15, position : 'absolute', right : '11px', top : '9px', width : '18px', cursor : 'pointer'
} ).click( function(e) { wi.div.hide(); } );
wi.iframe = $('<iframe>')
.attr( { scrolling: 'no', frameBorder : 0 } )
.css( {
zIndex: 14, position: 'absolute', right: '1px', top: '1px',
width: (wc.width)+'px', height: (wc.height)+'px',
margin: '0px', padding: '0px'
} );
wi.div.append(wi.iframe);
wi.div.append(wi.resizehelper);
wi.div.append(wi.closebutton);
(function () {
var idle = true, dir = rtl?-1:1;
function adjusthelper() {
wi.resizehelper.css( { width: (wc.width+2)+'px', height: (wc.height+2)+'px' } );
}
wi.div.append(
$('<div>')
.css( {
zIndex : 15, position : 'absolute', bottom : '3px',
width : '18px', height: '18px', cursor : (rtl?'se-resize':'sw-resize'),
'user-select': 'none', '-moz-user-select': 'none', '-ms-user-select': 'none'
} ).css( (rtl?'right':'left'), '3px' )
.on('mouseenter', function(e) { wi.resizebutton.fadeIn(); } )
.on('mouseleave', function(e) { if( idle ) { wi.resizebutton.fadeOut(); } } )
.on('mousedown', function(e) {
if (idle) {
var lastx = e.pageX, lasty = e.pageY;
wi.resizehelper.show();
adjusthelper();
$('body')
.on('mouseup.wmaresize', function(e) {
$('body').off('mousemove.wmaresize');
$('body').off('mouseup.wmaresize');
idle = true;
wi.resizehelper.hide();
} )
.on('mousemove.wmaresize', function(e) {
wc.width -= dir*(e.pageX-lastx);
wc.height += (e.pageY-lasty);
lastx = e.pageX; lasty = e.pageY;
wi.div.css( { width: (wc.width+2)+'px', height: (wc.height+2)+'px' } );
wi.iframe.css( { width: wc.width+'px', height: wc.height+'px' } );
adjusthelper();
} );
idle = true;
}
} )
.append(wi.resizebutton)
);
})();
$(window).on('message', messageHub);
// Fire event for other code to extend or integrate with WMA
if (initPromises.length) {
$.when.apply( null, initPromises ).then(function () {
mw.hook('WikiMiniAtlas.load').fire();
} );
} else {
mw.hook('WikiMiniAtlas.load').fire();
}
}
});
// </nowiki>
goellvz6u1wgq209ie0bfl1y4gta6cu
MediaWiki:Gadget-WikiMiniAtlas
8
53669
310855
2026-10-25T10:47:48Z
Isma4l
41797
/* */ Abuuray
310855
wikitext
text/x-wiki
<sup><abbr title="{{int:gadgets-default}}">(D)</abbr></sup> [[m:WikiMiniAtlas|WikiMiniAtlas]]: Khariidado pop-up ah oo ku soo baxaya maqaallada leh isku duwayaal
nyiyvoaniny3bw5158vi8t28ek0zmxw
MediaWiki:Gadget-select2.min.js
8
53670
310856
2026-10-25T10:50:48Z
Isma4l
41797
Abuuray
310856
javascript
text/javascript
// <nowiki>
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):/*"object"==typeof module&&module.exports?module.exports=function(e,t){return void 0===t&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t),t}:*/n(jQuery)}(function(u){var e=function(){if(u&&u.fn&&u.fn.select2&&u.fn.select2.amd)var e=u.fn.select2.amd;var t,n,r,h,o,s,f,g,m,v,y,_,i,a,w;function b(e,t){return i.call(e,t)}function l(e,t){var n,r,i,o,s,a,l,c,u,d,p,h=t&&t.split("/"),f=y.map,g=f&&f["*"]||{};if(e){for(s=(e=e.split("/")).length-1,y.nodeIdCompat&&w.test(e[s])&&(e[s]=e[s].replace(w,"")),"."===e[0].charAt(0)&&h&&(e=h.slice(0,h.length-1).concat(e)),u=0;u<e.length;u++)if("."===(p=e[u]))e.splice(u,1),u-=1;else if(".."===p){if(0===u||1===u&&".."===e[2]||".."===e[u-1])continue;0<u&&(e.splice(u-1,2),u-=2)}e=e.join("/")}if((h||g)&&f){for(u=(n=e.split("/")).length;0<u;u-=1){if(r=n.slice(0,u).join("/"),h)for(d=h.length;0<d;d-=1)if(i=(i=f[h.slice(0,d).join("/")])&&i[r]){o=i,a=u;break}if(o)break;!l&&g&&g[r]&&(l=g[r],c=u)}!o&&l&&(o=l,a=c),o&&(n.splice(0,a,o),e=n.join("/"))}return e}function A(t,n){return function(){var e=a.call(arguments,0);return"string"!=typeof e[0]&&1===e.length&&e.push(null),s.apply(h,e.concat([t,n]))}}function x(t){return function(e){m[t]=e}}function D(e){if(b(v,e)){var t=v[e];delete v[e],_[e]=!0,o.apply(h,t)}if(!b(m,e)&&!b(_,e))throw new Error("No "+e);return m[e]}function c(e){var t,n=e?e.indexOf("!"):-1;return-1<n&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function S(e){return e?c(e):[]}return e&&e.requirejs||(e?n=e:e={},m={},v={},y={},_={},i=Object.prototype.hasOwnProperty,a=[].slice,w=/\.js$/,f=function(e,t){var n,r=c(e),i=r[0],o=t[1];return e=r[1],i&&(n=D(i=l(i,o))),i?e=n&&n.normalize?n.normalize(e,function(t){return function(e){return l(e,t)}}(o)):l(e,o):(i=(r=c(e=l(e,o)))[0],e=r[1],i&&(n=D(i))),{f:i?i+"!"+e:e,n:e,pr:i,p:n}},g={require:function(e){return A(e)},exports:function(e){var t=m[e];return void 0!==t?t:m[e]={}},module:function(e){return{id:e,uri:"",exports:m[e],config:function(e){return function(){return y&&y.config&&y.config[e]||{}}}(e)}}},o=function(e,t,n,r){var i,o,s,a,l,c,u,d=[],p=typeof n;if(c=S(r=r||e),"undefined"==p||"function"==p){for(t=!t.length&&n.length?["require","exports","module"]:t,l=0;l<t.length;l+=1)if("require"===(o=(a=f(t[l],c)).f))d[l]=g.require(e);else if("exports"===o)d[l]=g.exports(e),u=!0;else if("module"===o)i=d[l]=g.module(e);else if(b(m,o)||b(v,o)||b(_,o))d[l]=D(o);else{if(!a.p)throw new Error(e+" missing "+o);a.p.load(a.n,A(r,!0),x(o),{}),d[l]=m[o]}s=n?n.apply(m[e],d):void 0,e&&(i&&i.exports!==h&&i.exports!==m[e]?m[e]=i.exports:s===h&&u||(m[e]=s))}else e&&(m[e]=n)},t=n=s=function(e,t,n,r,i){if("string"==typeof e)return g[e]?g[e](t):D(f(e,S(t)).f);if(!e.splice){if((y=e).deps&&s(y.deps,y.callback),!t)return;t.splice?(e=t,t=n,n=null):e=h}return t=t||function(){},"function"==typeof n&&(n=r,r=i),r?o(h,e,t,n):setTimeout(function(){o(h,e,t,n)},4),s},s.config=function(e){return s(e)},t._defined=m,(r=function(e,t,n){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(n=t,t=[]),b(m,e)||b(v,e)||(v[e]=[e,t,n])}).amd={jQuery:!0},e.requirejs=t,e.require=n,e.define=r),e.define("almond",function(){}),e.define("jquery",[],function(){var e=u||$;return null==e&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),e}),e.define("select2/utils",["jquery"],function(o){var i={};function u(e){var t=e.prototype,n=[];for(var r in t){"function"==typeof t[r]&&"constructor"!==r&&n.push(r)}return n}i.Extend=function(e,t){var n={}.hasOwnProperty;function r(){this.constructor=e}for(var i in t)n.call(t,i)&&(e[i]=t[i]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},i.Decorate=function(r,i){var e=u(i),t=u(r);function o(){var e=Array.prototype.unshift,t=i.prototype.constructor.length,n=r.prototype.constructor;0<t&&(e.call(arguments,r.prototype.constructor),n=i.prototype.constructor),n.apply(this,arguments)}i.displayName=r.displayName,o.prototype=new function(){this.constructor=o};for(var n=0;n<t.length;n++){var s=t[n];o.prototype[s]=r.prototype[s]}function a(e){var t=function(){};e in o.prototype&&(t=o.prototype[e]);var n=i.prototype[e];return function(){return Array.prototype.unshift.call(arguments,t),n.apply(this,arguments)}}for(var l=0;l<e.length;l++){var c=e[l];o.prototype[c]=a(c)}return o};function e(){this.listeners={}}e.prototype.on=function(e,t){this.listeners=this.listeners||{},e in this.listeners?this.listeners[e].push(t):this.listeners[e]=[t]},e.prototype.trigger=function(e){var t=Array.prototype.slice,n=t.call(arguments,1);this.listeners=this.listeners||{},null==n&&(n=[]),0===n.length&&n.push({}),(n[0]._type=e)in this.listeners&&this.invoke(this.listeners[e],t.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},e.prototype.invoke=function(e,t){for(var n=0,r=e.length;n<r;n++)e[n].apply(this,t)},i.Observable=e,i.generateChars=function(e){for(var t="",n=0;n<e;n++){t+=Math.floor(36*Math.random()).toString(36)}return t},i.bind=function(e,t){return function(){e.apply(t,arguments)}},i._convertData=function(e){for(var t in e){var n=t.split("-"),r=e;if(1!==n.length){for(var i=0;i<n.length;i++){var o=n[i];(o=o.substring(0,1).toLowerCase()+o.substring(1))in r||(r[o]={}),i==n.length-1&&(r[o]=e[t]),r=r[o]}delete e[t]}}return e},i.hasScroll=function(e,t){var n=o(t),r=t.style.overflowX,i=t.style.overflowY;return(r!==i||"hidden"!==i&&"visible"!==i)&&("scroll"===r||"scroll"===i||(n.innerHeight()<t.scrollHeight||n.innerWidth()<t.scrollWidth))},i.escapeMarkup=function(e){var t={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},i.appendMany=function(e,t){if("1.7"===o.fn.jquery.substr(0,3)){var n=o();o.map(t,function(e){n=n.add(e)}),t=n}e.append(t)},i.__cache={};var n=0;return i.GetUniqueElementId=function(e){var t=e.getAttribute("data-select2-id");return null==t&&(e.id?(t=e.id,e.setAttribute("data-select2-id",t)):(e.setAttribute("data-select2-id",++n),t=n.toString())),t},i.StoreData=function(e,t,n){var r=i.GetUniqueElementId(e);i.__cache[r]||(i.__cache[r]={}),i.__cache[r][t]=n},i.GetData=function(e,t){var n=i.GetUniqueElementId(e);return t?i.__cache[n]&&null!=i.__cache[n][t]?i.__cache[n][t]:o(e).data(t):i.__cache[n]},i.RemoveData=function(e){var t=i.GetUniqueElementId(e);null!=i.__cache[t]&&delete i.__cache[t],e.removeAttribute("data-select2-id")},i}),e.define("select2/results",["jquery","./utils"],function(h,f){function r(e,t,n){this.$element=e,this.data=n,this.options=t,r.__super__.constructor.call(this)}return f.Extend(r,f.Observable),r.prototype.render=function(){var e=h('<ul class="select2-results__options" role="listbox"></ul>');return this.options.get("multiple")&&e.attr("aria-multiselectable","true"),this.$results=e},r.prototype.clear=function(){this.$results.empty()},r.prototype.displayMessage=function(e){var t=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var n=h('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),r=this.options.get("translations").get(e.message);n.append(t(r(e.args))),n[0].className+=" select2-results__message",this.$results.append(n)},r.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},r.prototype.append=function(e){this.hideLoading();var t=[];if(null!=e.results&&0!==e.results.length){e.results=this.sort(e.results);for(var n=0;n<e.results.length;n++){var r=e.results[n],i=this.option(r);t.push(i)}this.$results.append(t)}else 0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"})},r.prototype.position=function(e,t){t.find(".select2-results").append(e)},r.prototype.sort=function(e){return this.options.get("sorter")(e)},r.prototype.highlightFirstItem=function(){var e=this.$results.find(".select2-results__option[aria-selected]"),t=e.filter("[aria-selected=true]");0<t.length?t.first().trigger("mouseenter"):e.first().trigger("mouseenter"),this.ensureHighlightVisible()},r.prototype.setClasses=function(){var t=this;this.data.current(function(e){var r=h.map(e,function(e){return e.id.toString()});t.$results.find(".select2-results__option[aria-selected]").each(function(){var e=h(this),t=f.GetData(this,"data"),n=""+t.id;null!=t.element&&t.element.selected||null==t.element&&-1<h.inArray(n,r)?e.attr("aria-selected","true"):e.attr("aria-selected","false")})})},r.prototype.showLoading=function(e){this.hideLoading();var t={disabled:!0,loading:!0,text:this.options.get("translations").get("searching")(e)},n=this.option(t);n.className+=" loading-results",this.$results.prepend(n)},r.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},r.prototype.option=function(e){var t=document.createElement("li");t.className="select2-results__option";var n={role:"option","aria-selected":"false"},r=window.Element.prototype.matches||window.Element.prototype.msMatchesSelector||window.Element.prototype.webkitMatchesSelector;for(var i in(null!=e.element&&r.call(e.element,":disabled")||null==e.element&&e.disabled)&&(delete n["aria-selected"],n["aria-disabled"]="true"),null==e.id&&delete n["aria-selected"],null!=e._resultId&&(t.id=e._resultId),e.title&&(t.title=e.title),e.children&&(n.role="group",n["aria-label"]=e.text,delete n["aria-selected"]),n){var o=n[i];t.setAttribute(i,o)}if(e.children){var s=h(t),a=document.createElement("strong");a.className="select2-results__group";h(a);this.template(e,a);for(var l=[],c=0;c<e.children.length;c++){var u=e.children[c],d=this.option(u);l.push(d)}var p=h("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});p.append(l),s.append(a),s.append(p)}else this.template(e,t);return f.StoreData(t,"data",e),t},r.prototype.bind=function(t,e){var l=this,n=t.id+"-results";this.$results.attr("id",n),t.on("results:all",function(e){l.clear(),l.append(e.data),t.isOpen()&&(l.setClasses(),l.highlightFirstItem())}),t.on("results:append",function(e){l.append(e.data),t.isOpen()&&l.setClasses()}),t.on("query",function(e){l.hideMessages(),l.showLoading(e)}),t.on("select",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("open",function(){l.$results.attr("aria-expanded","true"),l.$results.attr("aria-hidden","false"),l.setClasses(),l.ensureHighlightVisible()}),t.on("close",function(){l.$results.attr("aria-expanded","false"),l.$results.attr("aria-hidden","true"),l.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=l.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=l.getHighlightedResults();if(0!==e.length){var t=f.GetData(e[0],"data");"true"==e.attr("aria-selected")?l.trigger("close",{}):l.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e);if(!(n<=0)){var r=n-1;0===e.length&&(r=0);var i=t.eq(r);i.trigger("mouseenter");var o=l.$results.offset().top,s=i.offset().top,a=l.$results.scrollTop()+(s-o);0===r?l.$results.scrollTop(0):s-o<0&&l.$results.scrollTop(a)}}),t.on("results:next",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e)+1;if(!(n>=t.length)){var r=t.eq(n);r.trigger("mouseenter");var i=l.$results.offset().top+l.$results.outerHeight(!1),o=r.offset().top+r.outerHeight(!1),s=l.$results.scrollTop()+o-i;0===n?l.$results.scrollTop(0):i<o&&l.$results.scrollTop(s)}}),t.on("results:focus",function(e){e.element.addClass("select2-results__option--highlighted")}),t.on("results:message",function(e){l.displayMessage(e)}),h.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=l.$results.scrollTop(),n=l.$results.get(0).scrollHeight-t+e.deltaY,r=0<e.deltaY&&t-e.deltaY<=0,i=e.deltaY<0&&n<=l.$results.height();r?(l.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):i&&(l.$results.scrollTop(l.$results.get(0).scrollHeight-l.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(e){var t=h(this),n=f.GetData(this,"data");"true"!==t.attr("aria-selected")?l.trigger("select",{originalEvent:e,data:n}):l.options.get("multiple")?l.trigger("unselect",{originalEvent:e,data:n}):l.trigger("close",{})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(e){var t=f.GetData(this,"data");l.getHighlightedResults().removeClass("select2-results__option--highlighted"),l.trigger("results:focus",{data:t,element:h(this)})})},r.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},r.prototype.destroy=function(){this.$results.remove()},r.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find("[aria-selected]").index(e),n=this.$results.offset().top,r=e.offset().top,i=this.$results.scrollTop()+(r-n),o=r-n;i-=2*e.outerHeight(!1),t<=2?this.$results.scrollTop(0):(o>this.$results.outerHeight()||o<0)&&this.$results.scrollTop(i)}},r.prototype.template=function(e,t){var n=this.options.get("templateResult"),r=this.options.get("escapeMarkup"),i=n(e,t);null==i?t.style.display="none":"string"==typeof i?t.innerHTML=r(i):h(t).append(i)},r}),e.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),e.define("select2/selection/base",["jquery","../utils","../keys"],function(n,r,i){function o(e,t){this.$element=e,this.options=t,o.__super__.constructor.call(this)}return r.Extend(o,r.Observable),o.prototype.render=function(){var e=n('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=r.GetData(this.$element[0],"old-tabindex")?this._tabindex=r.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),e.attr("title",this.$element.attr("title")),e.attr("tabindex",this._tabindex),e.attr("aria-disabled","false"),this.$selection=e},o.prototype.bind=function(e,t){var n=this,r=e.id+"-results";this.container=e,this.$selection.on("focus",function(e){n.trigger("focus",e)}),this.$selection.on("blur",function(e){n._handleBlur(e)}),this.$selection.on("keydown",function(e){n.trigger("keypress",e),e.which===i.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){n.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){n.update(e.data)}),e.on("open",function(){n.$selection.attr("aria-expanded","true"),n.$selection.attr("aria-owns",r),n._attachCloseHandler(e)}),e.on("close",function(){n.$selection.attr("aria-expanded","false"),n.$selection.removeAttr("aria-activedescendant"),n.$selection.removeAttr("aria-owns"),n.$selection.trigger("focus"),n._detachCloseHandler(e)}),e.on("enable",function(){n.$selection.attr("tabindex",n._tabindex),n.$selection.attr("aria-disabled","false")}),e.on("disable",function(){n.$selection.attr("tabindex","-1"),n.$selection.attr("aria-disabled","true")})},o.prototype._handleBlur=function(e){var t=this;window.setTimeout(function(){document.activeElement==t.$selection[0]||n.contains(t.$selection[0],document.activeElement)||t.trigger("blur",e)},1)},o.prototype._attachCloseHandler=function(e){n(document.body).on("mousedown.select2."+e.id,function(e){var t=n(e.target).closest(".select2");n(".select2.select2-container--open").each(function(){this!=t[0]&&r.GetData(this,"element").select2("close")})})},o.prototype._detachCloseHandler=function(e){n(document.body).off("mousedown.select2."+e.id)},o.prototype.position=function(e,t){t.find(".selection").append(e)},o.prototype.destroy=function(){this._detachCloseHandler(this.container)},o.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},o}),e.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,r){function i(){i.__super__.constructor.apply(this,arguments)}return n.Extend(i,t),i.prototype.render=function(){var e=i.__super__.render.call(this);return e.addClass("select2-selection--single"),e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),e},i.prototype.bind=function(t,e){var n=this;i.__super__.bind.apply(this,arguments);var r=t.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",r).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",r),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),t.on("focus",function(e){t.isOpen()||n.$selection.trigger("focus")})},i.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},i.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},i.prototype.selectionContainer=function(){return e("<span></span>")},i.prototype.update=function(e){if(0!==e.length){var t=e[0],n=this.$selection.find(".select2-selection__rendered"),r=this.display(t,n);n.empty().append(r);var i=t.title||t.text;i?n.attr("title",i):n.removeAttr("title")}else this.clear()},i}),e.define("select2/selection/multiple",["jquery","./base","../utils"],function(i,e,l){function n(e,t){n.__super__.constructor.apply(this,arguments)}return l.Extend(n,e),n.prototype.render=function(){var e=n.__super__.render.call(this);return e.addClass("select2-selection--multiple"),e.html('<ul class="select2-selection__rendered"></ul>'),e},n.prototype.bind=function(e,t){var r=this;n.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){r.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(e){if(!r.options.get("disabled")){var t=i(this).parent(),n=l.GetData(t[0],"data");r.trigger("unselect",{originalEvent:e,data:n})}})},n.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},n.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},n.prototype.selectionContainer=function(){return i('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>')},n.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],n=0;n<e.length;n++){var r=e[n],i=this.selectionContainer(),o=this.display(r,i);i.append(o);var s=r.title||r.text;s&&i.attr("title",s),l.StoreData(i[0],"data",r),t.push(i)}var a=this.$selection.find(".select2-selection__rendered");l.appendMany(a,t)}},n}),e.define("select2/selection/placeholder",["../utils"],function(e){function t(e,t,n){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n)}return t.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},t.prototype.createPlaceholder=function(e,t){var n=this.selectionContainer();return n.html(this.display(t)),n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),n},t.prototype.update=function(e,t){var n=1==t.length&&t[0].id!=this.placeholder.id;if(1<t.length||n)return e.call(this,t);this.clear();var r=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(r)},t}),e.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(i,r,a){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(e){r._handleClear(e)}),t.on("keypress",function(e){r._handleKeyboardClear(e,t)})},e.prototype._handleClear=function(e,t){if(!this.options.get("disabled")){var n=this.$selection.find(".select2-selection__clear");if(0!==n.length){t.stopPropagation();var r=a.GetData(n[0],"data"),i=this.$element.val();this.$element.val(this.placeholder.id);var o={data:r};if(this.trigger("clear",o),o.prevented)this.$element.val(i);else{for(var s=0;s<r.length;s++)if(o={data:r[s]},this.trigger("unselect",o),o.prevented)return void this.$element.val(i);this.$element.trigger("change"),this.trigger("toggle",{})}}}},e.prototype._handleKeyboardClear=function(e,t,n){n.isOpen()||t.which!=r.DELETE&&t.which!=r.BACKSPACE||this._handleClear(t)},e.prototype.update=function(e,t){if(e.call(this,t),!(0<this.$selection.find(".select2-selection__placeholder").length||0===t.length)){var n=this.options.get("translations").get("removeAllItems"),r=i('<span class="select2-selection__clear" title="'+n()+'">×</span>');a.StoreData(r[0],"data",t),this.$selection.find(".select2-selection__rendered").prepend(r)}},e}),e.define("select2/selection/search",["jquery","../utils","../keys"],function(r,a,l){function e(e,t,n){e.call(this,t,n)}return e.prototype.render=function(e){var t=r('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></li>');this.$searchContainer=t,this.$search=t.find("input");var n=e.call(this);return this._transferTabIndex(),n},e.prototype.bind=function(e,t,n){var r=this,i=t.id+"-results";e.call(this,t,n),t.on("open",function(){r.$search.attr("aria-controls",i),r.$search.trigger("focus")}),t.on("close",function(){r.$search.val(""),r.$search.removeAttr("aria-controls"),r.$search.removeAttr("aria-activedescendant"),r.$search.trigger("focus")}),t.on("enable",function(){r.$search.prop("disabled",!1),r._transferTabIndex()}),t.on("disable",function(){r.$search.prop("disabled",!0)}),t.on("focus",function(e){r.$search.trigger("focus")}),t.on("results:focus",function(e){e.data._resultId?r.$search.attr("aria-activedescendant",e.data._resultId):r.$search.removeAttr("aria-activedescendant")}),this.$selection.on("focusin",".select2-search--inline",function(e){r.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){r._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){if(e.stopPropagation(),r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented(),e.which===l.BACKSPACE&&""===r.$search.val()){var t=r.$searchContainer.prev(".select2-selection__choice");if(0<t.length){var n=a.GetData(t[0],"data");r.searchRemoveChoice(n),e.preventDefault()}}}),this.$selection.on("click",".select2-search--inline",function(e){r.$search.val()&&e.stopPropagation()});var o=document.documentMode,s=o&&o<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(e){s?r.$selection.off("input.search input.searchcheck"):r.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(e){if(s&&"input"===e.type)r.$selection.off("input.search input.searchcheck");else{var t=e.which;t!=l.SHIFT&&t!=l.CTRL&&t!=l.ALT&&t!=l.TAB&&r.handleSearch(e)}})},e.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},e.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},e.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),n&&this.$search.trigger("focus")},e.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},e.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},e.prototype.resizeSearch=function(){this.$search.css("width","25px");var e="";""!==this.$search.attr("placeholder")?e=this.$selection.find(".select2-selection__rendered").width():e=.75*(this.$search.val().length+1)+"em";this.$search.css("width",e)},e}),e.define("select2/selection/eventRelay",["jquery"],function(s){function e(){}return e.prototype.bind=function(e,t,n){var r=this,i=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],o=["opening","closing","selecting","unselecting","clearing"];e.call(this,t,n),t.on("*",function(e,t){if(-1!==s.inArray(e,i)){t=t||{};var n=s.Event("select2:"+e,{params:t});r.$element.trigger(n),-1!==s.inArray(e,o)&&(t.prevented=n.isDefaultPrevented())}})},e}),e.define("select2/translation",["jquery","require"],function(t,n){function r(e){this.dict=e||{}}return r.prototype.all=function(){return this.dict},r.prototype.get=function(e){return this.dict[e]},r.prototype.extend=function(e){this.dict=t.extend({},e.all(),this.dict)},r._cache={},r.loadPath=function(e){if(!(e in r._cache)){var t=n(e);r._cache[e]=t}return new r(r._cache[e])},r}),e.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Œ":"OE","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","œ":"oe","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","Ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ώ":"ω","ς":"σ","’":"'"}}),e.define("select2/data/base",["../utils"],function(r){function n(e,t){n.__super__.constructor.call(this)}return r.Extend(n,r.Observable),n.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},n.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},n.prototype.bind=function(e,t){},n.prototype.destroy=function(){},n.prototype.generateResultId=function(e,t){var n=e.id+"-result-";return n+=r.generateChars(4),null!=t.id?n+="-"+t.id.toString():n+="-"+r.generateChars(4),n},n}),e.define("select2/data/select",["./base","../utils","jquery"],function(e,a,l){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return a.Extend(n,e),n.prototype.current=function(e){var n=[],r=this;this.$element.find(":selected").each(function(){var e=l(this),t=r.item(e);n.push(t)}),e(n)},n.prototype.select=function(i){var o=this;if(i.selected=!0,l(i.element).is("option"))return i.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(e){var t=[];(i=[i]).push.apply(i,e);for(var n=0;n<i.length;n++){var r=i[n].id;-1===l.inArray(r,t)&&t.push(r)}o.$element.val(t),o.$element.trigger("change")});else{var e=i.id;this.$element.val(e),this.$element.trigger("change")}},n.prototype.unselect=function(i){var o=this;if(this.$element.prop("multiple")){if(i.selected=!1,l(i.element).is("option"))return i.element.selected=!1,void this.$element.trigger("change");this.current(function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n].id;r!==i.id&&-1===l.inArray(r,t)&&t.push(r)}o.$element.val(t),o.$element.trigger("change")})}},n.prototype.bind=function(e,t){var n=this;(this.container=e).on("select",function(e){n.select(e.data)}),e.on("unselect",function(e){n.unselect(e.data)})},n.prototype.destroy=function(){this.$element.find("*").each(function(){a.RemoveData(this)})},n.prototype.query=function(r,e){var i=[],o=this;this.$element.children().each(function(){var e=l(this);if(e.is("option")||e.is("optgroup")){var t=o.item(e),n=o.matches(r,t);null!==n&&i.push(n)}}),e({results:i})},n.prototype.addOptions=function(e){a.appendMany(this.$element,e)},n.prototype.option=function(e){var t;e.children?(t=document.createElement("optgroup")).label=e.text:void 0!==(t=document.createElement("option")).textContent?t.textContent=e.text:t.innerText=e.text,void 0!==e.id&&(t.value=e.id),e.disabled&&(t.disabled=!0),e.selected&&(t.selected=!0),e.title&&(t.title=e.title);var n=l(t),r=this._normalizeItem(e);return r.element=t,a.StoreData(t,"data",r),n},n.prototype.item=function(e){var t={};if(null!=(t=a.GetData(e[0],"data")))return t;if(e.is("option"))t={id:e.val(),text:e.text(),disabled:e.prop("disabled"),selected:e.prop("selected"),title:e.prop("title")};else if(e.is("optgroup")){t={text:e.prop("label"),children:[],title:e.prop("title")};for(var n=e.children("option"),r=[],i=0;i<n.length;i++){var o=l(n[i]),s=this.item(o);r.push(s)}t.children=r}return(t=this._normalizeItem(t)).element=e[0],a.StoreData(e[0],"data",t),t},n.prototype._normalizeItem=function(e){e!==Object(e)&&(e={id:e,text:e});return null!=(e=l.extend({},{text:""},e)).id&&(e.id=e.id.toString()),null!=e.text&&(e.text=e.text.toString()),null==e._resultId&&e.id&&null!=this.container&&(e._resultId=this.generateResultId(this.container,e)),l.extend({},{selected:!1,disabled:!1},e)},n.prototype.matches=function(e,t){return this.options.get("matcher")(e,t)},n}),e.define("select2/data/array",["./select","../utils","jquery"],function(e,f,g){function r(e,t){this._dataToConvert=t.get("data")||[],r.__super__.constructor.call(this,e,t)}return f.Extend(r,e),r.prototype.bind=function(e,t){r.__super__.bind.call(this,e,t),this.addOptions(this.convertToOptions(this._dataToConvert))},r.prototype.select=function(n){var e=this.$element.find("option").filter(function(e,t){return t.value==n.id.toString()});0===e.length&&(e=this.option(n),this.addOptions(e)),r.__super__.select.call(this,n)},r.prototype.convertToOptions=function(e){var t=this,n=this.$element.find("option"),r=n.map(function(){return t.item(g(this)).id}).get(),i=[];function o(e){return function(){return g(this).val()==e.id}}for(var s=0;s<e.length;s++){var a=this._normalizeItem(e[s]);if(0<=g.inArray(a.id,r)){var l=n.filter(o(a)),c=this.item(l),u=g.extend(!0,{},a,c),d=this.option(u);l.replaceWith(d)}else{var p=this.option(a);if(a.children){var h=this.convertToOptions(a.children);f.appendMany(p,h)}i.push(p)}}return i},r}),e.define("select2/data/ajax",["./array","../utils","jquery"],function(e,t,o){function n(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),n.__super__.constructor.call(this,e,t)}return t.Extend(n,e),n.prototype._applyDefaults=function(e){var t={data:function(e){return o.extend({},e,{q:e.term})},transport:function(e,t,n){var r=o.ajax(e);return r.then(t),r.fail(n),r}};return o.extend({},t,e,!0)},n.prototype.processResults=function(e){return e},n.prototype.query=function(n,r){var i=this;null!=this._request&&(o.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var t=o.extend({type:"GET"},this.ajaxOptions);function e(){var e=t.transport(t,function(e){var t=i.processResults(e,n);i.options.get("debug")&&window.console&&console.error&&(t&&t.results&&o.isArray(t.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),r(t)},function(){"status"in e&&(0===e.status||"0"===e.status)||i.trigger("results:message",{message:"errorLoading"})});i._request=e}"function"==typeof t.url&&(t.url=t.url.call(this.$element,n)),"function"==typeof t.data&&(t.data=t.data.call(this.$element,n)),this.ajaxOptions.delay&&null!=n.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(e,this.ajaxOptions.delay)):e()},n}),e.define("select2/data/tags",["jquery"],function(u){function e(e,t,n){var r=n.get("tags"),i=n.get("createTag");void 0!==i&&(this.createTag=i);var o=n.get("insertTag");if(void 0!==o&&(this.insertTag=o),e.call(this,t,n),u.isArray(r))for(var s=0;s<r.length;s++){var a=r[s],l=this._normalizeItem(a),c=this.option(l);this.$element.append(c)}}return e.prototype.query=function(e,c,u){var d=this;this._removeOldTags(),null!=c.term&&null==c.page?e.call(this,c,function e(t,n){for(var r=t.results,i=0;i<r.length;i++){var o=r[i],s=null!=o.children&&!e({results:o.children},!0);if((o.text||"").toUpperCase()===(c.term||"").toUpperCase()||s)return!n&&(t.data=r,void u(t))}if(n)return!0;var a=d.createTag(c);if(null!=a){var l=d.option(a);l.attr("data-select2-tag",!0),d.addOptions([l]),d.insertTag(r,a)}t.results=r,u(t)}):e.call(this,c,u)},e.prototype.createTag=function(e,t){var n=u.trim(t.term);return""===n?null:{id:n,text:n}},e.prototype.insertTag=function(e,t,n){t.unshift(n)},e.prototype._removeOldTags=function(e){this.$element.find("option[data-select2-tag]").each(function(){this.selected||u(this).remove()})},e}),e.define("select2/data/tokenizer",["jquery"],function(d){function e(e,t,n){var r=n.get("tokenizer");void 0!==r&&(this.tokenizer=r),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){e.call(this,t,n),this.$search=t.dropdown.$search||t.selection.$search||n.find(".select2-search__field")},e.prototype.query=function(e,t,n){var r=this;t.term=t.term||"";var i=this.tokenizer(t,this.options,function(e){var t=r._normalizeItem(e);if(!r.$element.find("option").filter(function(){return d(this).val()===t.id}).length){var n=r.option(t);n.attr("data-select2-tag",!0),r._removeOldTags(),r.addOptions([n])}!function(e){r.trigger("select",{data:e})}(t)});i.term!==t.term&&(this.$search.length&&(this.$search.val(i.term),this.$search.trigger("focus")),t.term=i.term),e.call(this,t,n)},e.prototype.tokenizer=function(e,t,n,r){for(var i=n.get("tokenSeparators")||[],o=t.term,s=0,a=this.createTag||function(e){return{id:e.term,text:e.term}};s<o.length;){var l=o[s];if(-1!==d.inArray(l,i)){var c=o.substr(0,s),u=a(d.extend({},t,{term:c}));null!=u?(r(u),o=o.substr(s+1)||"",s=0):s++}else s++}return{term:o}},e}),e.define("select2/data/minimumInputLength",[],function(){function e(e,t,n){this.minimumInputLength=n.get("minimumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",t.term.length<this.minimumInputLength?this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumInputLength",[],function(){function e(e,t,n){this.maximumInputLength=n.get("maximumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",0<this.maximumInputLength&&t.term.length>this.maximumInputLength?this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("select",function(){r._checkIfMaximumSelected()})},e.prototype.query=function(e,t,n){var r=this;this._checkIfMaximumSelected(function(){e.call(r,t,n)})},e.prototype._checkIfMaximumSelected=function(e,n){var r=this;this.current(function(e){var t=null!=e?e.length:0;0<r.maximumSelectionLength&&t>=r.maximumSelectionLength?r.trigger("results:message",{message:"maximumSelected",args:{maximum:r.maximumSelectionLength}}):n&&n()})},e}),e.define("select2/dropdown",["jquery","./utils"],function(t,e){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return e.Extend(n,e.Observable),n.prototype.render=function(){var e=t('<span class="select2-dropdown"><span class="select2-results"></span></span>');return e.attr("dir",this.options.get("dir")),this.$dropdown=e},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),e.define("select2/dropdown/search",["jquery","../utils"],function(o,e){function t(){}return t.prototype.render=function(e){var t=e.call(this),n=o('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>');return this.$searchContainer=n,this.$search=n.find("input"),t.prepend(n),t},t.prototype.bind=function(e,t,n){var r=this,i=t.id+"-results";e.call(this,t,n),this.$search.on("keydown",function(e){r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(e){o(this).off("keyup")}),this.$search.on("keyup input",function(e){r.handleSearch(e)}),t.on("open",function(){r.$search.attr("tabindex",0),r.$search.attr("aria-controls",i),r.$search.trigger("focus"),window.setTimeout(function(){r.$search.trigger("focus")},0)}),t.on("close",function(){r.$search.attr("tabindex",-1),r.$search.removeAttr("aria-controls"),r.$search.removeAttr("aria-activedescendant"),r.$search.val(""),r.$search.trigger("blur")}),t.on("focus",function(){t.isOpen()||r.$search.trigger("focus")}),t.on("results:all",function(e){null!=e.query.term&&""!==e.query.term||(r.showSearch(e)?r.$searchContainer.removeClass("select2-search--hide"):r.$searchContainer.addClass("select2-search--hide"))}),t.on("results:focus",function(e){e.data._resultId?r.$search.attr("aria-activedescendant",e.data._resultId):r.$search.removeAttr("aria-activedescendant")})},t.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},t.prototype.showSearch=function(e,t){return!0},t}),e.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,r){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,r)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),r=t.length-1;0<=r;r--){var i=t[r];this.placeholder.id===i.id&&n.splice(r,1)}return n},e}),e.define("select2/dropdown/infiniteScroll",["jquery"],function(n){function e(e,t,n,r){this.lastParams={},e.call(this,t,n,r),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return e.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&(this.$results.append(this.$loadingMore),this.loadMoreIfNeeded())},e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("query",function(e){r.lastParams=e,r.loading=!0}),t.on("query:append",function(e){r.lastParams=e,r.loading=!0}),this.$results.on("scroll",this.loadMoreIfNeeded.bind(this))},e.prototype.loadMoreIfNeeded=function(){var e=n.contains(document.documentElement,this.$loadingMore[0]);if(!this.loading&&e){var t=this.$results.offset().top+this.$results.outerHeight(!1);this.$loadingMore.offset().top+this.$loadingMore.outerHeight(!1)<=t+50&&this.loadMore()}},e.prototype.loadMore=function(){this.loading=!0;var e=n.extend({},{page:1},this.lastParams);e.page++,this.trigger("query:append",e)},e.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},e.prototype.createLoadingMore=function(){var e=n('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),t=this.options.get("translations").get("loadingMore");return e.html(t(this.lastParams)),e},e}),e.define("select2/dropdown/attachBody",["jquery","../utils"],function(f,a){function e(e,t,n){this.$dropdownParent=f(n.get("dropdownParent")||document.body),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("open",function(){r._showDropdown(),r._attachPositioningHandler(t),r._bindContainerResultHandlers(t)}),t.on("close",function(){r._hideDropdown(),r._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},e.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},e.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("select2"),t.addClass("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},e.prototype.render=function(e){var t=f("<span></span>"),n=e.call(this);return t.append(n),this.$dropdownContainer=t},e.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},e.prototype._bindContainerResultHandlers=function(e,t){if(!this._containerResultsHandlersBound){var n=this;t.on("results:all",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:append",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:message",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("select",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("unselect",function(){n._positionDropdown(),n._resizeDropdown()}),this._containerResultsHandlersBound=!0}},e.prototype._attachPositioningHandler=function(e,t){var n=this,r="scroll.select2."+t.id,i="resize.select2."+t.id,o="orientationchange.select2."+t.id,s=this.$container.parents().filter(a.hasScroll);s.each(function(){a.StoreData(this,"select2-scroll-position",{x:f(this).scrollLeft(),y:f(this).scrollTop()})}),s.on(r,function(e){var t=a.GetData(this,"select2-scroll-position");f(this).scrollTop(t.y)}),f(window).on(r+" "+i+" "+o,function(e){n._positionDropdown(),n._resizeDropdown()})},e.prototype._detachPositioningHandler=function(e,t){var n="scroll.select2."+t.id,r="resize.select2."+t.id,i="orientationchange.select2."+t.id;this.$container.parents().filter(a.hasScroll).off(n),f(window).off(n+" "+r+" "+i)},e.prototype._positionDropdown=function(){var e=f(window),t=this.$dropdown.hasClass("select2-dropdown--above"),n=this.$dropdown.hasClass("select2-dropdown--below"),r=null,i=this.$container.offset();i.bottom=i.top+this.$container.outerHeight(!1);var o={height:this.$container.outerHeight(!1)};o.top=i.top,o.bottom=i.top+o.height;var s=this.$dropdown.outerHeight(!1),a=e.scrollTop(),l=e.scrollTop()+e.height(),c=a<i.top-s,u=l>i.bottom+s,d={left:i.left,top:o.bottom},p=this.$dropdownParent;"static"===p.css("position")&&(p=p.offsetParent());var h={top:0,left:0};(f.contains(document.body,p[0])||p[0].isConnected)&&(h=p.offset()),d.top-=h.top,d.left-=h.left,t||n||(r="below"),u||!c||t?!c&&u&&t&&(r="below"):r="above",("above"==r||t&&"below"!==r)&&(d.top=o.top-h.top-s),null!=r&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+r),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+r)),this.$dropdownContainer.css(d)},e.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},e.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},e}),e.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(e,t,n,r){this.minimumResultsForSearch=n.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),e.call(this,t,n,r)}return e.prototype.showSearch=function(e,t){return!(function e(t){for(var n=0,r=0;r<t.length;r++){var i=t[r];i.children?n+=e(i.children):n++}return n}(t.data.results)<this.minimumResultsForSearch)&&e.call(this,t)},e}),e.define("select2/dropdown/selectOnClose",["../utils"],function(o){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("close",function(e){r._handleSelectOnClose(e)})},e.prototype._handleSelectOnClose=function(e,t){if(t&&null!=t.originalSelect2Event){var n=t.originalSelect2Event;if("select"===n._type||"unselect"===n._type)return}var r=this.getHighlightedResults();if(!(r.length<1)){var i=o.GetData(r[0],"data");null!=i.element&&i.element.selected||null==i.element&&i.selected||this.trigger("select",{data:i})}},e}),e.define("select2/dropdown/closeOnSelect",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("select",function(e){r._selectTriggered(e)}),t.on("unselect",function(e){r._selectTriggered(e)})},e.prototype._selectTriggered=function(e,t){var n=t.originalEvent;n&&(n.ctrlKey||n.metaKey)||this.trigger("close",{originalEvent:n,originalSelect2Event:t})},e}),e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return 1!=t&&(n+="s"),n},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return 1!=e.maximum&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),e.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(c,u,d,p,h,f,g,m,v,y,s,t,_,$,w,b,A,x,D,S,E,C,O,T,q,L,I,j,e){function n(){this.reset()}return n.prototype.apply=function(e){if(null==(e=c.extend(!0,{},this.defaults,e)).dataAdapter){if(null!=e.ajax?e.dataAdapter=w:null!=e.data?e.dataAdapter=$:e.dataAdapter=_,0<e.minimumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,x)),0<e.maximumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,D)),0<e.maximumSelectionLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,S)),e.tags&&(e.dataAdapter=y.Decorate(e.dataAdapter,b)),null==e.tokenSeparators&&null==e.tokenizer||(e.dataAdapter=y.Decorate(e.dataAdapter,A)),null!=e.query){var t=u(e.amdBase+"compat/query");e.dataAdapter=y.Decorate(e.dataAdapter,t)}if(null!=e.initSelection){var n=u(e.amdBase+"compat/initSelection");e.dataAdapter=y.Decorate(e.dataAdapter,n)}}if(null==e.resultsAdapter&&(e.resultsAdapter=d,null!=e.ajax&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,T)),null!=e.placeholder&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,O)),e.selectOnClose&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,I))),null==e.dropdownAdapter){if(e.multiple)e.dropdownAdapter=E;else{var r=y.Decorate(E,C);e.dropdownAdapter=r}if(0!==e.minimumResultsForSearch&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,L)),e.closeOnSelect&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,j)),null!=e.dropdownCssClass||null!=e.dropdownCss||null!=e.adaptDropdownCssClass){var i=u(e.amdBase+"compat/dropdownCss");e.dropdownAdapter=y.Decorate(e.dropdownAdapter,i)}e.dropdownAdapter=y.Decorate(e.dropdownAdapter,q)}if(null==e.selectionAdapter){if(e.multiple?e.selectionAdapter=h:e.selectionAdapter=p,null!=e.placeholder&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,f)),e.allowClear&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,g)),e.multiple&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,m)),null!=e.containerCssClass||null!=e.containerCss||null!=e.adaptContainerCssClass){var o=u(e.amdBase+"compat/containerCss");e.selectionAdapter=y.Decorate(e.selectionAdapter,o)}e.selectionAdapter=y.Decorate(e.selectionAdapter,v)}e.language=this._resolveLanguage(e.language),e.language.push("en");for(var s=[],a=0;a<e.language.length;a++){var l=e.language[a];-1===s.indexOf(l)&&s.push(l)}return e.language=s,e.translations=this._processTranslations(e.language,e.debug),e},n.prototype.reset=function(){function a(e){return e.replace(/[^\u0000-\u007E]/g,function(e){return t[e]||e})}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:y.escapeMarkup,language:{},matcher:function e(t,n){if(""===c.trim(t.term))return n;if(n.children&&0<n.children.length){for(var r=c.extend(!0,{},n),i=n.children.length-1;0<=i;i--)null==e(t,n.children[i])&&r.children.splice(i,1);return 0<r.children.length?r:e(t,r)}var o=a(n.text).toUpperCase(),s=a(t.term).toUpperCase();return-1<o.indexOf(s)?n:null},minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,scrollAfterSelect:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},n.prototype.applyFromElement=function(e,t){var n=e.language,r=this.defaults.language,i=t.prop("lang"),o=t.closest("[lang]").prop("lang"),s=Array.prototype.concat.call(this._resolveLanguage(i),this._resolveLanguage(n),this._resolveLanguage(r),this._resolveLanguage(o));return e.language=s,e},n.prototype._resolveLanguage=function(e){if(!e)return[];if(c.isEmptyObject(e))return[];if(c.isPlainObject(e))return[e];var t;t=c.isArray(e)?e:[e];for(var n=[],r=0;r<t.length;r++)if(n.push(t[r]),"string"==typeof t[r]&&0<t[r].indexOf("-")){var i=t[r].split("-")[0];n.push(i)}return n},n.prototype._processTranslations=function(e,t){for(var n=new s,r=0;r<e.length;r++){var i=new s,o=e[r];if("string"==typeof o)try{i=s.loadPath(o)}catch(e){try{o=this.defaults.amdLanguageBase+o,i=s.loadPath(o)}catch(e){t&&window.console&&console.warn&&console.warn('Select2: The language file for "'+o+'" could not be automatically loaded. A fallback will be used instead.')}}else i=c.isPlainObject(o)?new s(o):o;n.extend(i)}return n},n.prototype.set=function(e,t){var n={};n[c.camelCase(e)]=t;var r=y._convertData(n);c.extend(!0,this.defaults,r)},new n}),e.define("select2/options",["require","jquery","./defaults","./utils"],function(r,d,i,p){function e(e,t){if(this.options=e,null!=t&&this.fromElement(t),null!=t&&(this.options=i.applyFromElement(this.options,t)),this.options=i.apply(this.options),t&&t.is("input")){var n=r(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=p.Decorate(this.options.dataAdapter,n)}}return e.prototype.fromElement=function(e){var t=["select2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),p.GetData(e[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),p.StoreData(e[0],"data",p.GetData(e[0],"select2Tags")),p.StoreData(e[0],"tags",!0)),p.GetData(e[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",p.GetData(e[0],"ajaxUrl")),p.StoreData(e[0],"ajax-Url",p.GetData(e[0],"ajaxUrl")));var n={};function r(e,t){return t.toUpperCase()}for(var i=0;i<e[0].attributes.length;i++){var o=e[0].attributes[i].name,s="data-";if(o.substr(0,s.length)==s){var a=o.substring(s.length),l=p.GetData(e[0],a);n[a.replace(/-([a-z])/g,r)]=l}}d.fn.jquery&&"1."==d.fn.jquery.substr(0,2)&&e[0].dataset&&(n=d.extend(!0,{},e[0].dataset,n));var c=d.extend(!0,{},p.GetData(e[0]),n);for(var u in c=p._convertData(c))-1<d.inArray(u,t)||(d.isPlainObject(this.options[u])?d.extend(this.options[u],c[u]):this.options[u]=c[u]);return this},e.prototype.get=function(e){return this.options[e]},e.prototype.set=function(e,t){this.options[e]=t},e}),e.define("select2/core",["jquery","./options","./utils","./keys"],function(i,c,u,r){var d=function(e,t){null!=u.GetData(e[0],"select2")&&u.GetData(e[0],"select2").destroy(),this.$element=e,this.id=this._generateId(e),t=t||{},this.options=new c(t,e),d.__super__.constructor.call(this);var n=e.attr("tabindex")||0;u.StoreData(e[0],"old-tabindex",n),e.attr("tabindex","-1");var r=this.options.get("dataAdapter");this.dataAdapter=new r(e,this.options);var i=this.render();this._placeContainer(i);var o=this.options.get("selectionAdapter");this.selection=new o(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,i);var s=this.options.get("dropdownAdapter");this.dropdown=new s(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,i);var a=this.options.get("resultsAdapter");this.results=new a(e,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(e){l.trigger("selection:update",{data:e})}),e.addClass("select2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),u.StoreData(e[0],"select2",this),e.data("select2",this)};return u.Extend(d,u.Observable),d.prototype._generateId=function(e){return"select2-"+(null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+u.generateChars(2):u.generateChars(4)).replace(/(:|\.|\[|\]|,)/g,"")},d.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},d.prototype._resolveWidth=function(e,t){var n=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==t){var r=this._resolveWidth(e,"style");return null!=r?r:this._resolveWidth(e,"element")}if("element"==t){var i=e.outerWidth(!1);return i<=0?"auto":i+"px"}if("style"!=t)return"computedstyle"!=t?t:window.getComputedStyle(e[0]).width;var o=e.attr("style");if("string"!=typeof o)return null;for(var s=o.split(";"),a=0,l=s.length;a<l;a+=1){var c=s[a].replace(/\s/g,"").match(n);if(null!==c&&1<=c.length)return c[1]}return null},d.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},d.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.select2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this.$element.on("focus.select2",function(e){t.trigger("focus",e)}),this._syncA=u.bind(this._syncAttributes,this),this._syncS=u.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var e=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=e?(this._observer=new e(function(e){i.each(e,t._syncA),i.each(e,t._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",t._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",t._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",t._syncS,!1))},d.prototype._registerDataEvents=function(){var n=this;this.dataAdapter.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerSelectionEvents=function(){var n=this,r=["toggle","focus"];this.selection.on("toggle",function(){n.toggleDropdown()}),this.selection.on("focus",function(e){n.focus(e)}),this.selection.on("*",function(e,t){-1===i.inArray(e,r)&&n.trigger(e,t)})},d.prototype._registerDropdownEvents=function(){var n=this;this.dropdown.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerResultsEvents=function(){var n=this;this.results.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerEvents=function(){var n=this;this.on("open",function(){n.$container.addClass("select2-container--open")}),this.on("close",function(){n.$container.removeClass("select2-container--open")}),this.on("enable",function(){n.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){n.$container.addClass("select2-container--disabled")}),this.on("blur",function(){n.$container.removeClass("select2-container--focus")}),this.on("query",function(t){n.isOpen()||n.trigger("open",{}),this.dataAdapter.query(t,function(e){n.trigger("results:all",{data:e,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(e){n.trigger("results:append",{data:e,query:t})})}),this.on("keypress",function(e){var t=e.which;n.isOpen()?t===r.ESC||t===r.TAB||t===r.UP&&e.altKey?(n.close(),e.preventDefault()):t===r.ENTER?(n.trigger("results:select",{}),e.preventDefault()):t===r.SPACE&&e.ctrlKey?(n.trigger("results:toggle",{}),e.preventDefault()):t===r.UP?(n.trigger("results:previous",{}),e.preventDefault()):t===r.DOWN&&(n.trigger("results:next",{}),e.preventDefault()):(t===r.ENTER||t===r.SPACE||t===r.DOWN&&e.altKey)&&(n.open(),e.preventDefault())})},d.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},d.prototype._syncSubtree=function(e,t){var n=!1,r=this;if(!e||!e.target||"OPTION"===e.target.nodeName||"OPTGROUP"===e.target.nodeName){if(t)if(t.addedNodes&&0<t.addedNodes.length)for(var i=0;i<t.addedNodes.length;i++){t.addedNodes[i].selected&&(n=!0)}else t.removedNodes&&0<t.removedNodes.length&&(n=!0);else n=!0;n&&this.dataAdapter.current(function(e){r.trigger("selection:update",{data:e})})}},d.prototype.trigger=function(e,t){var n=d.__super__.trigger,r={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===t&&(t={}),e in r){var i=r[e],o={prevented:!1,name:e,args:t};if(n.call(this,i,o),o.prevented)return void(t.prevented=!0)}n.call(this,e,t)},d.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},d.prototype.open=function(){this.isOpen()||this.trigger("query",{})},d.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},d.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},d.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},d.prototype.focus=function(e){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},d.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=e&&0!==e.length||(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},d.prototype.data=function(){this.options.get("debug")&&0<arguments.length&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var t=[];return this.dataAdapter.current(function(e){t=e}),t},d.prototype.val=function(e){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==e||0===e.length)return this.$element.val();var t=e[0];i.isArray(t)&&(t=i.map(t,function(e){return e.toString()})),this.$element.val(t).trigger("change")},d.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",u.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),u.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},d.prototype.render=function(){var e=i('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return e.attr("dir",this.options.get("dir")),this.$container=e,this.$container.addClass("select2-container--"+this.options.get("theme")),u.StoreData(e[0],"element",this.$element),e},d}),e.define("jquery-mousewheel",["jquery"],function(e){return e}),e.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(i,e,o,t,s){if(null==i.fn.select2){var a=["open","close","destroy"];i.fn.select2=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var e=i.extend(!0,{},t);new o(i(this),e)}),this;if("string"!=typeof t)throw new Error("Invalid arguments for Select2: "+t);var n,r=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=s.GetData(this,"select2");null==e&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2."),n=e[t].apply(e,r)}),-1<i.inArray(t,a)?this:n}}return null==i.fn.select2.defaults&&(i.fn.select2.defaults=t),o}),{define:e.define,require:e.require}}(),t=e.require("jquery.select2");return u.fn.select2.amd=e,t});
// </nowiki>
9m7gzcufyz4zq5ighq299juwai1zphy
310857
310856
2026-10-25T10:55:37Z
Isma4l
41797
310857
javascript
text/javascript
// <nowiki>
/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):/*"object"==typeof module&&module.exports?module.exports=function(e,t){return void 0===t&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t),t}:*/n(jQuery)}(function(u){var e=function(){if(u&&u.fn&&u.fn.select2&&u.fn.select2.amd)var e=u.fn.select2.amd;var t,n,r,h,o,s,f,g,m,v,y,_,i,a,w;function b(e,t){return i.call(e,t)}function l(e,t){var n,r,i,o,s,a,l,c,u,d,p,h=t&&t.split("/"),f=y.map,g=f&&f["*"]||{};if(e){for(s=(e=e.split("/")).length-1,y.nodeIdCompat&&w.test(e[s])&&(e[s]=e[s].replace(w,"")),"."===e[0].charAt(0)&&h&&(e=h.slice(0,h.length-1).concat(e)),u=0;u<e.length;u++)if("."===(p=e[u]))e.splice(u,1),u-=1;else if(".."===p){if(0===u||1===u&&".."===e[2]||".."===e[u-1])continue;0<u&&(e.splice(u-1,2),u-=2)}e=e.join("/")}if((h||g)&&f){for(u=(n=e.split("/")).length;0<u;u-=1){if(r=n.slice(0,u).join("/"),h)for(d=h.length;0<d;d-=1)if(i=(i=f[h.slice(0,d).join("/")])&&i[r]){o=i,a=u;break}if(o)break;!l&&g&&g[r]&&(l=g[r],c=u)}!o&&l&&(o=l,a=c),o&&(n.splice(0,a,o),e=n.join("/"))}return e}function A(t,n){return function(){var e=a.call(arguments,0);return"string"!=typeof e[0]&&1===e.length&&e.push(null),s.apply(h,e.concat([t,n]))}}function x(t){return function(e){m[t]=e}}function D(e){if(b(v,e)){var t=v[e];delete v[e],_[e]=!0,o.apply(h,t)}if(!b(m,e)&&!b(_,e))throw new Error("No "+e);return m[e]}function c(e){var t,n=e?e.indexOf("!"):-1;return-1<n&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function S(e){return e?c(e):[]}return e&&e.requirejs||(e?n=e:e={},m={},v={},y={},_={},i=Object.prototype.hasOwnProperty,a=[].slice,w=/\.js$/,f=function(e,t){var n,r=c(e),i=r[0],o=t[1];return e=r[1],i&&(n=D(i=l(i,o))),i?e=n&&n.normalize?n.normalize(e,function(t){return function(e){return l(e,t)}}(o)):l(e,o):(i=(r=c(e=l(e,o)))[0],e=r[1],i&&(n=D(i))),{f:i?i+"!"+e:e,n:e,pr:i,p:n}},g={require:function(e){return A(e)},exports:function(e){var t=m[e];return void 0!==t?t:m[e]={}},module:function(e){return{id:e,uri:"",exports:m[e],config:function(e){return function(){return y&&y.config&&y.config[e]||{}}}(e)}}},o=function(e,t,n,r){var i,o,s,a,l,c,u,d=[],p=typeof n;if(c=S(r=r||e),"undefined"==p||"function"==p){for(t=!t.length&&n.length?["require","exports","module"]:t,l=0;l<t.length;l+=1)if("require"===(o=(a=f(t[l],c)).f))d[l]=g.require(e);else if("exports"===o)d[l]=g.exports(e),u=!0;else if("module"===o)i=d[l]=g.module(e);else if(b(m,o)||b(v,o)||b(_,o))d[l]=D(o);else{if(!a.p)throw new Error(e+" missing "+o);a.p.load(a.n,A(r,!0),x(o),{}),d[l]=m[o]}s=n?n.apply(m[e],d):void 0,e&&(i&&i.exports!==h&&i.exports!==m[e]?m[e]=i.exports:s===h&&u||(m[e]=s))}else e&&(m[e]=n)},t=n=s=function(e,t,n,r,i){if("string"==typeof e)return g[e]?g[e](t):D(f(e,S(t)).f);if(!e.splice){if((y=e).deps&&s(y.deps,y.callback),!t)return;t.splice?(e=t,t=n,n=null):e=h}return t=t||function(){},"function"==typeof n&&(n=r,r=i),r?o(h,e,t,n):setTimeout(function(){o(h,e,t,n)},4),s},s.config=function(e){return s(e)},t._defined=m,(r=function(e,t,n){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(n=t,t=[]),b(m,e)||b(v,e)||(v[e]=[e,t,n])}).amd={jQuery:!0},e.requirejs=t,e.require=n,e.define=r),e.define("almond",function(){}),e.define("jquery",[],function(){var e=u||$;return null==e&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),e}),e.define("select2/utils",["jquery"],function(o){var i={};function u(e){var t=e.prototype,n=[];for(var r in t){"function"==typeof t[r]&&"constructor"!==r&&n.push(r)}return n}i.Extend=function(e,t){var n={}.hasOwnProperty;function r(){this.constructor=e}for(var i in t)n.call(t,i)&&(e[i]=t[i]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},i.Decorate=function(r,i){var e=u(i),t=u(r);function o(){var e=Array.prototype.unshift,t=i.prototype.constructor.length,n=r.prototype.constructor;0<t&&(e.call(arguments,r.prototype.constructor),n=i.prototype.constructor),n.apply(this,arguments)}i.displayName=r.displayName,o.prototype=new function(){this.constructor=o};for(var n=0;n<t.length;n++){var s=t[n];o.prototype[s]=r.prototype[s]}function a(e){var t=function(){};e in o.prototype&&(t=o.prototype[e]);var n=i.prototype[e];return function(){return Array.prototype.unshift.call(arguments,t),n.apply(this,arguments)}}for(var l=0;l<e.length;l++){var c=e[l];o.prototype[c]=a(c)}return o};function e(){this.listeners={}}e.prototype.on=function(e,t){this.listeners=this.listeners||{},e in this.listeners?this.listeners[e].push(t):this.listeners[e]=[t]},e.prototype.trigger=function(e){var t=Array.prototype.slice,n=t.call(arguments,1);this.listeners=this.listeners||{},null==n&&(n=[]),0===n.length&&n.push({}),(n[0]._type=e)in this.listeners&&this.invoke(this.listeners[e],t.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},e.prototype.invoke=function(e,t){for(var n=0,r=e.length;n<r;n++)e[n].apply(this,t)},i.Observable=e,i.generateChars=function(e){for(var t="",n=0;n<e;n++){t+=Math.floor(36*Math.random()).toString(36)}return t},i.bind=function(e,t){return function(){e.apply(t,arguments)}},i._convertData=function(e){for(var t in e){var n=t.split("-"),r=e;if(1!==n.length){for(var i=0;i<n.length;i++){var o=n[i];(o=o.substring(0,1).toLowerCase()+o.substring(1))in r||(r[o]={}),i==n.length-1&&(r[o]=e[t]),r=r[o]}delete e[t]}}return e},i.hasScroll=function(e,t){var n=o(t),r=t.style.overflowX,i=t.style.overflowY;return(r!==i||"hidden"!==i&&"visible"!==i)&&("scroll"===r||"scroll"===i||(n.innerHeight()<t.scrollHeight||n.innerWidth()<t.scrollWidth))},i.escapeMarkup=function(e){var t={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},i.appendMany=function(e,t){if("1.7"===o.fn.jquery.substr(0,3)){var n=o();o.map(t,function(e){n=n.add(e)}),t=n}e.append(t)},i.__cache={};var n=0;return i.GetUniqueElementId=function(e){var t=e.getAttribute("data-select2-id");return null==t&&(e.id?(t=e.id,e.setAttribute("data-select2-id",t)):(e.setAttribute("data-select2-id",++n),t=n.toString())),t},i.StoreData=function(e,t,n){var r=i.GetUniqueElementId(e);i.__cache[r]||(i.__cache[r]={}),i.__cache[r][t]=n},i.GetData=function(e,t){var n=i.GetUniqueElementId(e);return t?i.__cache[n]&&null!=i.__cache[n][t]?i.__cache[n][t]:o(e).data(t):i.__cache[n]},i.RemoveData=function(e){var t=i.GetUniqueElementId(e);null!=i.__cache[t]&&delete i.__cache[t],e.removeAttribute("data-select2-id")},i}),e.define("select2/results",["jquery","./utils"],function(h,f){function r(e,t,n){this.$element=e,this.data=n,this.options=t,r.__super__.constructor.call(this)}return f.Extend(r,f.Observable),r.prototype.render=function(){var e=h('<ul class="select2-results__options" role="listbox"></ul>');return this.options.get("multiple")&&e.attr("aria-multiselectable","true"),this.$results=e},r.prototype.clear=function(){this.$results.empty()},r.prototype.displayMessage=function(e){var t=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var n=h('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),r=this.options.get("translations").get(e.message);n.append(t(r(e.args))),n[0].className+=" select2-results__message",this.$results.append(n)},r.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},r.prototype.append=function(e){this.hideLoading();var t=[];if(null!=e.results&&0!==e.results.length){e.results=this.sort(e.results);for(var n=0;n<e.results.length;n++){var r=e.results[n],i=this.option(r);t.push(i)}this.$results.append(t)}else 0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"})},r.prototype.position=function(e,t){t.find(".select2-results").append(e)},r.prototype.sort=function(e){return this.options.get("sorter")(e)},r.prototype.highlightFirstItem=function(){var e=this.$results.find(".select2-results__option[aria-selected]"),t=e.filter("[aria-selected=true]");0<t.length?t.first().trigger("mouseenter"):e.first().trigger("mouseenter"),this.ensureHighlightVisible()},r.prototype.setClasses=function(){var t=this;this.data.current(function(e){var r=h.map(e,function(e){return e.id.toString()});t.$results.find(".select2-results__option[aria-selected]").each(function(){var e=h(this),t=f.GetData(this,"data"),n=""+t.id;null!=t.element&&t.element.selected||null==t.element&&-1<h.inArray(n,r)?e.attr("aria-selected","true"):e.attr("aria-selected","false")})})},r.prototype.showLoading=function(e){this.hideLoading();var t={disabled:!0,loading:!0,text:this.options.get("translations").get("searching")(e)},n=this.option(t);n.className+=" loading-results",this.$results.prepend(n)},r.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},r.prototype.option=function(e){var t=document.createElement("li");t.className="select2-results__option";var n={role:"option","aria-selected":"false"},r=window.Element.prototype.matches||window.Element.prototype.msMatchesSelector||window.Element.prototype.webkitMatchesSelector;for(var i in(null!=e.element&&r.call(e.element,":disabled")||null==e.element&&e.disabled)&&(delete n["aria-selected"],n["aria-disabled"]="true"),null==e.id&&delete n["aria-selected"],null!=e._resultId&&(t.id=e._resultId),e.title&&(t.title=e.title),e.children&&(n.role="group",n["aria-label"]=e.text,delete n["aria-selected"]),n){var o=n[i];t.setAttribute(i,o)}if(e.children){var s=h(t),a=document.createElement("strong");a.className="select2-results__group";h(a);this.template(e,a);for(var l=[],c=0;c<e.children.length;c++){var u=e.children[c],d=this.option(u);l.push(d)}var p=h("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});p.append(l),s.append(a),s.append(p)}else this.template(e,t);return f.StoreData(t,"data",e),t},r.prototype.bind=function(t,e){var l=this,n=t.id+"-results";this.$results.attr("id",n),t.on("results:all",function(e){l.clear(),l.append(e.data),t.isOpen()&&(l.setClasses(),l.highlightFirstItem())}),t.on("results:append",function(e){l.append(e.data),t.isOpen()&&l.setClasses()}),t.on("query",function(e){l.hideMessages(),l.showLoading(e)}),t.on("select",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("open",function(){l.$results.attr("aria-expanded","true"),l.$results.attr("aria-hidden","false"),l.setClasses(),l.ensureHighlightVisible()}),t.on("close",function(){l.$results.attr("aria-expanded","false"),l.$results.attr("aria-hidden","true"),l.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=l.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=l.getHighlightedResults();if(0!==e.length){var t=f.GetData(e[0],"data");"true"==e.attr("aria-selected")?l.trigger("close",{}):l.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e);if(!(n<=0)){var r=n-1;0===e.length&&(r=0);var i=t.eq(r);i.trigger("mouseenter");var o=l.$results.offset().top,s=i.offset().top,a=l.$results.scrollTop()+(s-o);0===r?l.$results.scrollTop(0):s-o<0&&l.$results.scrollTop(a)}}),t.on("results:next",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e)+1;if(!(n>=t.length)){var r=t.eq(n);r.trigger("mouseenter");var i=l.$results.offset().top+l.$results.outerHeight(!1),o=r.offset().top+r.outerHeight(!1),s=l.$results.scrollTop()+o-i;0===n?l.$results.scrollTop(0):i<o&&l.$results.scrollTop(s)}}),t.on("results:focus",function(e){e.element.addClass("select2-results__option--highlighted")}),t.on("results:message",function(e){l.displayMessage(e)}),h.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=l.$results.scrollTop(),n=l.$results.get(0).scrollHeight-t+e.deltaY,r=0<e.deltaY&&t-e.deltaY<=0,i=e.deltaY<0&&n<=l.$results.height();r?(l.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):i&&(l.$results.scrollTop(l.$results.get(0).scrollHeight-l.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(e){var t=h(this),n=f.GetData(this,"data");"true"!==t.attr("aria-selected")?l.trigger("select",{originalEvent:e,data:n}):l.options.get("multiple")?l.trigger("unselect",{originalEvent:e,data:n}):l.trigger("close",{})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(e){var t=f.GetData(this,"data");l.getHighlightedResults().removeClass("select2-results__option--highlighted"),l.trigger("results:focus",{data:t,element:h(this)})})},r.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},r.prototype.destroy=function(){this.$results.remove()},r.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find("[aria-selected]").index(e),n=this.$results.offset().top,r=e.offset().top,i=this.$results.scrollTop()+(r-n),o=r-n;i-=2*e.outerHeight(!1),t<=2?this.$results.scrollTop(0):(o>this.$results.outerHeight()||o<0)&&this.$results.scrollTop(i)}},r.prototype.template=function(e,t){var n=this.options.get("templateResult"),r=this.options.get("escapeMarkup"),i=n(e,t);null==i?t.style.display="none":"string"==typeof i?t.innerHTML=r(i):h(t).append(i)},r}),e.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),e.define("select2/selection/base",["jquery","../utils","../keys"],function(n,r,i){function o(e,t){this.$element=e,this.options=t,o.__super__.constructor.call(this)}return r.Extend(o,r.Observable),o.prototype.render=function(){var e=n('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=r.GetData(this.$element[0],"old-tabindex")?this._tabindex=r.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),e.attr("title",this.$element.attr("title")),e.attr("tabindex",this._tabindex),e.attr("aria-disabled","false"),this.$selection=e},o.prototype.bind=function(e,t){var n=this,r=e.id+"-results";this.container=e,this.$selection.on("focus",function(e){n.trigger("focus",e)}),this.$selection.on("blur",function(e){n._handleBlur(e)}),this.$selection.on("keydown",function(e){n.trigger("keypress",e),e.which===i.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){n.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){n.update(e.data)}),e.on("open",function(){n.$selection.attr("aria-expanded","true"),n.$selection.attr("aria-owns",r),n._attachCloseHandler(e)}),e.on("close",function(){n.$selection.attr("aria-expanded","false"),n.$selection.removeAttr("aria-activedescendant"),n.$selection.removeAttr("aria-owns"),n.$selection.trigger("focus"),n._detachCloseHandler(e)}),e.on("enable",function(){n.$selection.attr("tabindex",n._tabindex),n.$selection.attr("aria-disabled","false")}),e.on("disable",function(){n.$selection.attr("tabindex","-1"),n.$selection.attr("aria-disabled","true")})},o.prototype._handleBlur=function(e){var t=this;window.setTimeout(function(){document.activeElement==t.$selection[0]||n.contains(t.$selection[0],document.activeElement)||t.trigger("blur",e)},1)},o.prototype._attachCloseHandler=function(e){n(document.body).on("mousedown.select2."+e.id,function(e){var t=n(e.target).closest(".select2");n(".select2.select2-container--open").each(function(){this!=t[0]&&r.GetData(this,"element").select2("close")})})},o.prototype._detachCloseHandler=function(e){n(document.body).off("mousedown.select2."+e.id)},o.prototype.position=function(e,t){t.find(".selection").append(e)},o.prototype.destroy=function(){this._detachCloseHandler(this.container)},o.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},o}),e.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,r){function i(){i.__super__.constructor.apply(this,arguments)}return n.Extend(i,t),i.prototype.render=function(){var e=i.__super__.render.call(this);return e.addClass("select2-selection--single"),e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),e},i.prototype.bind=function(t,e){var n=this;i.__super__.bind.apply(this,arguments);var r=t.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",r).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",r),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),t.on("focus",function(e){t.isOpen()||n.$selection.trigger("focus")})},i.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},i.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},i.prototype.selectionContainer=function(){return e("<span></span>")},i.prototype.update=function(e){if(0!==e.length){var t=e[0],n=this.$selection.find(".select2-selection__rendered"),r=this.display(t,n);n.empty().append(r);var i=t.title||t.text;i?n.attr("title",i):n.removeAttr("title")}else this.clear()},i}),e.define("select2/selection/multiple",["jquery","./base","../utils"],function(i,e,l){function n(e,t){n.__super__.constructor.apply(this,arguments)}return l.Extend(n,e),n.prototype.render=function(){var e=n.__super__.render.call(this);return e.addClass("select2-selection--multiple"),e.html('<ul class="select2-selection__rendered"></ul>'),e},n.prototype.bind=function(e,t){var r=this;n.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){r.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(e){if(!r.options.get("disabled")){var t=i(this).parent(),n=l.GetData(t[0],"data");r.trigger("unselect",{originalEvent:e,data:n})}})},n.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},n.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},n.prototype.selectionContainer=function(){return i('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>')},n.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],n=0;n<e.length;n++){var r=e[n],i=this.selectionContainer(),o=this.display(r,i);i.append(o);var s=r.title||r.text;s&&i.attr("title",s),l.StoreData(i[0],"data",r),t.push(i)}var a=this.$selection.find(".select2-selection__rendered");l.appendMany(a,t)}},n}),e.define("select2/selection/placeholder",["../utils"],function(e){function t(e,t,n){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n)}return t.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},t.prototype.createPlaceholder=function(e,t){var n=this.selectionContainer();return n.html(this.display(t)),n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),n},t.prototype.update=function(e,t){var n=1==t.length&&t[0].id!=this.placeholder.id;if(1<t.length||n)return e.call(this,t);this.clear();var r=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(r)},t}),e.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(i,r,a){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(e){r._handleClear(e)}),t.on("keypress",function(e){r._handleKeyboardClear(e,t)})},e.prototype._handleClear=function(e,t){if(!this.options.get("disabled")){var n=this.$selection.find(".select2-selection__clear");if(0!==n.length){t.stopPropagation();var r=a.GetData(n[0],"data"),i=this.$element.val();this.$element.val(this.placeholder.id);var o={data:r};if(this.trigger("clear",o),o.prevented)this.$element.val(i);else{for(var s=0;s<r.length;s++)if(o={data:r[s]},this.trigger("unselect",o),o.prevented)return void this.$element.val(i);this.$element.trigger("change"),this.trigger("toggle",{})}}}},e.prototype._handleKeyboardClear=function(e,t,n){n.isOpen()||t.which!=r.DELETE&&t.which!=r.BACKSPACE||this._handleClear(t)},e.prototype.update=function(e,t){if(e.call(this,t),!(0<this.$selection.find(".select2-selection__placeholder").length||0===t.length)){var n=this.options.get("translations").get("removeAllItems"),r=i('<span class="select2-selection__clear" title="'+n()+'">×</span>');a.StoreData(r[0],"data",t),this.$selection.find(".select2-selection__rendered").prepend(r)}},e}),e.define("select2/selection/search",["jquery","../utils","../keys"],function(r,a,l){function e(e,t,n){e.call(this,t,n)}return e.prototype.render=function(e){var t=r('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></li>');this.$searchContainer=t,this.$search=t.find("input");var n=e.call(this);return this._transferTabIndex(),n},e.prototype.bind=function(e,t,n){var r=this,i=t.id+"-results";e.call(this,t,n),t.on("open",function(){r.$search.attr("aria-controls",i),r.$search.trigger("focus")}),t.on("close",function(){r.$search.val(""),r.$search.removeAttr("aria-controls"),r.$search.removeAttr("aria-activedescendant"),r.$search.trigger("focus")}),t.on("enable",function(){r.$search.prop("disabled",!1),r._transferTabIndex()}),t.on("disable",function(){r.$search.prop("disabled",!0)}),t.on("focus",function(e){r.$search.trigger("focus")}),t.on("results:focus",function(e){e.data._resultId?r.$search.attr("aria-activedescendant",e.data._resultId):r.$search.removeAttr("aria-activedescendant")}),this.$selection.on("focusin",".select2-search--inline",function(e){r.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){r._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){if(e.stopPropagation(),r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented(),e.which===l.BACKSPACE&&""===r.$search.val()){var t=r.$searchContainer.prev(".select2-selection__choice");if(0<t.length){var n=a.GetData(t[0],"data");r.searchRemoveChoice(n),e.preventDefault()}}}),this.$selection.on("click",".select2-search--inline",function(e){r.$search.val()&&e.stopPropagation()});var o=document.documentMode,s=o&&o<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(e){s?r.$selection.off("input.search input.searchcheck"):r.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(e){if(s&&"input"===e.type)r.$selection.off("input.search input.searchcheck");else{var t=e.which;t!=l.SHIFT&&t!=l.CTRL&&t!=l.ALT&&t!=l.TAB&&r.handleSearch(e)}})},e.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},e.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},e.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),n&&this.$search.trigger("focus")},e.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},e.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},e.prototype.resizeSearch=function(){this.$search.css("width","25px");var e="";""!==this.$search.attr("placeholder")?e=this.$selection.find(".select2-selection__rendered").width():e=.75*(this.$search.val().length+1)+"em";this.$search.css("width",e)},e}),e.define("select2/selection/eventRelay",["jquery"],function(s){function e(){}return e.prototype.bind=function(e,t,n){var r=this,i=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],o=["opening","closing","selecting","unselecting","clearing"];e.call(this,t,n),t.on("*",function(e,t){if(-1!==s.inArray(e,i)){t=t||{};var n=s.Event("select2:"+e,{params:t});r.$element.trigger(n),-1!==s.inArray(e,o)&&(t.prevented=n.isDefaultPrevented())}})},e}),e.define("select2/translation",["jquery","require"],function(t,n){function r(e){this.dict=e||{}}return r.prototype.all=function(){return this.dict},r.prototype.get=function(e){return this.dict[e]},r.prototype.extend=function(e){this.dict=t.extend({},e.all(),this.dict)},r._cache={},r.loadPath=function(e){if(!(e in r._cache)){var t=n(e);r._cache[e]=t}return new r(r._cache[e])},r}),e.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Œ":"OE","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","œ":"oe","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","Ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","ƶ":"Z","Ȥ":"Z","ɀ":"Z","ⱬ":"Z","ꝣ":"Z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ώ":"ω","ς":"σ","’":"'"}}),e.define("select2/data/base",["../utils"],function(r){function n(e,t){n.__super__.constructor.call(this)}return r.Extend(n,r.Observable),n.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},n.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},n.prototype.bind=function(e,t){},n.prototype.destroy=function(){},n.prototype.generateResultId=function(e,t){var n=e.id+"-result-";return n+=r.generateChars(4),null!=t.id?n+="-"+t.id.toString():n+="-"+r.generateChars(4),n},n}),e.define("select2/data/select",["./base","../utils","jquery"],function(e,a,l){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return a.Extend(n,e),n.prototype.current=function(e){var n=[],r=this;this.$element.find(":selected").each(function(){var e=l(this),t=r.item(e);n.push(t)}),e(n)},n.prototype.select=function(i){var o=this;if(i.selected=!0,l(i.element).is("option"))return i.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(e){var t=[];(i=[i]).push.apply(i,e);for(var n=0;n<i.length;n++){var r=i[n].id;-1===l.inArray(r,t)&&t.push(r)}o.$element.val(t),o.$element.trigger("change")});else{var e=i.id;this.$element.val(e),this.$element.trigger("change")}},n.prototype.unselect=function(i){var o=this;if(this.$element.prop("multiple")){if(i.selected=!1,l(i.element).is("option"))return i.element.selected=!1,void this.$element.trigger("change");this.current(function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n].id;r!==i.id&&-1===l.inArray(r,t)&&t.push(r)}o.$element.val(t),o.$element.trigger("change")})}},n.prototype.bind=function(e,t){var n=this;(this.container=e).on("select",function(e){n.select(e.data)}),e.on("unselect",function(e){n.unselect(e.data)})},n.prototype.destroy=function(){this.$element.find("*").each(function(){a.RemoveData(this)})},n.prototype.query=function(r,e){var i=[],o=this;this.$element.children().each(function(){var e=l(this);if(e.is("option")||e.is("optgroup")){var t=o.item(e),n=o.matches(r,t);null!==n&&i.push(n)}}),e({results:i})},n.prototype.addOptions=function(e){a.appendMany(this.$element,e)},n.prototype.option=function(e){var t;e.children?(t=document.createElement("optgroup")).label=e.text:void 0!==(t=document.createElement("option")).textContent?t.textContent=e.text:t.innerText=e.text,void 0!==e.id&&(t.value=e.id),e.disabled&&(t.disabled=!0),e.selected&&(t.selected=!0),e.title&&(t.title=e.title);var n=l(t),r=this._normalizeItem(e);return r.element=t,a.StoreData(t,"data",r),n},n.prototype.item=function(e){var t={};if(null!=(t=a.GetData(e[0],"data")))return t;if(e.is("option"))t={id:e.val(),text:e.text(),disabled:e.prop("disabled"),selected:e.prop("selected"),title:e.prop("title")};else if(e.is("optgroup")){t={text:e.prop("label"),children:[],title:e.prop("title")};for(var n=e.children("option"),r=[],i=0;i<n.length;i++){var o=l(n[i]),s=this.item(o);r.push(s)}t.children=r}return(t=this._normalizeItem(t)).element=e[0],a.StoreData(e[0],"data",t),t},n.prototype._normalizeItem=function(e){e!==Object(e)&&(e={id:e,text:e});return null!=(e=l.extend({},{text:""},e)).id&&(e.id=e.id.toString()),null!=e.text&&(e.text=e.text.toString()),null==e._resultId&&e.id&&null!=this.container&&(e._resultId=this.generateResultId(this.container,e)),l.extend({},{selected:!1,disabled:!1},e)},n.prototype.matches=function(e,t){return this.options.get("matcher")(e,t)},n}),e.define("select2/data/array",["./select","../utils","jquery"],function(e,f,g){function r(e,t){this._dataToConvert=t.get("data")||[],r.__super__.constructor.call(this,e,t)}return f.Extend(r,e),r.prototype.bind=function(e,t){r.__super__.bind.call(this,e,t),this.addOptions(this.convertToOptions(this._dataToConvert))},r.prototype.select=function(n){var e=this.$element.find("option").filter(function(e,t){return t.value==n.id.toString()});0===e.length&&(e=this.option(n),this.addOptions(e)),r.__super__.select.call(this,n)},r.prototype.convertToOptions=function(e){var t=this,n=this.$element.find("option"),r=n.map(function(){return t.item(g(this)).id}).get(),i=[];function o(e){return function(){return g(this).val()==e.id}}for(var s=0;s<e.length;s++){var a=this._normalizeItem(e[s]);if(0<=g.inArray(a.id,r)){var l=n.filter(o(a)),c=this.item(l),u=g.extend(!0,{},a,c),d=this.option(u);l.replaceWith(d)}else{var p=this.option(a);if(a.children){var h=this.convertToOptions(a.children);f.appendMany(p,h)}i.push(p)}}return i},r}),e.define("select2/data/ajax",["./array","../utils","jquery"],function(e,t,o){function n(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),n.__super__.constructor.call(this,e,t)}return t.Extend(n,e),n.prototype._applyDefaults=function(e){var t={data:function(e){return o.extend({},e,{q:e.term})},transport:function(e,t,n){var r=o.ajax(e);return r.then(t),r.fail(n),r}};return o.extend({},t,e,!0)},n.prototype.processResults=function(e){return e},n.prototype.query=function(n,r){var i=this;null!=this._request&&(o.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var t=o.extend({type:"GET"},this.ajaxOptions);function e(){var e=t.transport(t,function(e){var t=i.processResults(e,n);i.options.get("debug")&&window.console&&console.error&&(t&&t.results&&o.isArray(t.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),r(t)},function(){"status"in e&&(0===e.status||"0"===e.status)||i.trigger("results:message",{message:"errorLoading"})});i._request=e}"function"==typeof t.url&&(t.url=t.url.call(this.$element,n)),"function"==typeof t.data&&(t.data=t.data.call(this.$element,n)),this.ajaxOptions.delay&&null!=n.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(e,this.ajaxOptions.delay)):e()},n}),e.define("select2/data/tags",["jquery"],function(u){function e(e,t,n){var r=n.get("tags"),i=n.get("createTag");void 0!==i&&(this.createTag=i);var o=n.get("insertTag");if(void 0!==o&&(this.insertTag=o),e.call(this,t,n),u.isArray(r))for(var s=0;s<r.length;s++){var a=r[s],l=this._normalizeItem(a),c=this.option(l);this.$element.append(c)}}return e.prototype.query=function(e,c,u){var d=this;this._removeOldTags(),null!=c.term&&null==c.page?e.call(this,c,function e(t,n){for(var r=t.results,i=0;i<r.length;i++){var o=r[i],s=null!=o.children&&!e({results:o.children},!0);if((o.text||"").toUpperCase()===(c.term||"").toUpperCase()||s)return!n&&(t.data=r,void u(t))}if(n)return!0;var a=d.createTag(c);if(null!=a){var l=d.option(a);l.attr("data-select2-tag",!0),d.addOptions([l]),d.insertTag(r,a)}t.results=r,u(t)}):e.call(this,c,u)},e.prototype.createTag=function(e,t){var n=u.trim(t.term);return""===n?null:{id:n,text:n}},e.prototype.insertTag=function(e,t,n){t.unshift(n)},e.prototype._removeOldTags=function(e){this.$element.find("option[data-select2-tag]").each(function(){this.selected||u(this).remove()})},e}),e.define("select2/data/tokenizer",["jquery"],function(d){function e(e,t,n){var r=n.get("tokenizer");void 0!==r&&(this.tokenizer=r),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){e.call(this,t,n),this.$search=t.dropdown.$search||t.selection.$search||n.find(".select2-search__field")},e.prototype.query=function(e,t,n){var r=this;t.term=t.term||"";var i=this.tokenizer(t,this.options,function(e){var t=r._normalizeItem(e);if(!r.$element.find("option").filter(function(){return d(this).val()===t.id}).length){var n=r.option(t);n.attr("data-select2-tag",!0),r._removeOldTags(),r.addOptions([n])}!function(e){r.trigger("select",{data:e})}(t)});i.term!==t.term&&(this.$search.length&&(this.$search.val(i.term),this.$search.trigger("focus")),t.term=i.term),e.call(this,t,n)},e.prototype.tokenizer=function(e,t,n,r){for(var i=n.get("tokenSeparators")||[],o=t.term,s=0,a=this.createTag||function(e){return{id:e.term,text:e.term}};s<o.length;){var l=o[s];if(-1!==d.inArray(l,i)){var c=o.substr(0,s),u=a(d.extend({},t,{term:c}));null!=u?(r(u),o=o.substr(s+1)||"",s=0):s++}else s++}return{term:o}},e}),e.define("select2/data/minimumInputLength",[],function(){function e(e,t,n){this.minimumInputLength=n.get("minimumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",t.term.length<this.minimumInputLength?this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumInputLength",[],function(){function e(e,t,n){this.maximumInputLength=n.get("maximumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",0<this.maximumInputLength&&t.term.length>this.maximumInputLength?this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("select",function(){r._checkIfMaximumSelected()})},e.prototype.query=function(e,t,n){var r=this;this._checkIfMaximumSelected(function(){e.call(r,t,n)})},e.prototype._checkIfMaximumSelected=function(e,n){var r=this;this.current(function(e){var t=null!=e?e.length:0;0<r.maximumSelectionLength&&t>=r.maximumSelectionLength?r.trigger("results:message",{message:"maximumSelected",args:{maximum:r.maximumSelectionLength}}):n&&n()})},e}),e.define("select2/dropdown",["jquery","./utils"],function(t,e){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return e.Extend(n,e.Observable),n.prototype.render=function(){var e=t('<span class="select2-dropdown"><span class="select2-results"></span></span>');return e.attr("dir",this.options.get("dir")),this.$dropdown=e},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),e.define("select2/dropdown/search",["jquery","../utils"],function(o,e){function t(){}return t.prototype.render=function(e){var t=e.call(this),n=o('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>');return this.$searchContainer=n,this.$search=n.find("input"),t.prepend(n),t},t.prototype.bind=function(e,t,n){var r=this,i=t.id+"-results";e.call(this,t,n),this.$search.on("keydown",function(e){r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(e){o(this).off("keyup")}),this.$search.on("keyup input",function(e){r.handleSearch(e)}),t.on("open",function(){r.$search.attr("tabindex",0),r.$search.attr("aria-controls",i),r.$search.trigger("focus"),window.setTimeout(function(){r.$search.trigger("focus")},0)}),t.on("close",function(){r.$search.attr("tabindex",-1),r.$search.removeAttr("aria-controls"),r.$search.removeAttr("aria-activedescendant"),r.$search.val(""),r.$search.trigger("blur")}),t.on("focus",function(){t.isOpen()||r.$search.trigger("focus")}),t.on("results:all",function(e){null!=e.query.term&&""!==e.query.term||(r.showSearch(e)?r.$searchContainer.removeClass("select2-search--hide"):r.$searchContainer.addClass("select2-search--hide"))}),t.on("results:focus",function(e){e.data._resultId?r.$search.attr("aria-activedescendant",e.data._resultId):r.$search.removeAttr("aria-activedescendant")})},t.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},t.prototype.showSearch=function(e,t){return!0},t}),e.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,r){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,r)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),r=t.length-1;0<=r;r--){var i=t[r];this.placeholder.id===i.id&&n.splice(r,1)}return n},e}),e.define("select2/dropdown/infiniteScroll",["jquery"],function(n){function e(e,t,n,r){this.lastParams={},e.call(this,t,n,r),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return e.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&(this.$results.append(this.$loadingMore),this.loadMoreIfNeeded())},e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("query",function(e){r.lastParams=e,r.loading=!0}),t.on("query:append",function(e){r.lastParams=e,r.loading=!0}),this.$results.on("scroll",this.loadMoreIfNeeded.bind(this))},e.prototype.loadMoreIfNeeded=function(){var e=n.contains(document.documentElement,this.$loadingMore[0]);if(!this.loading&&e){var t=this.$results.offset().top+this.$results.outerHeight(!1);this.$loadingMore.offset().top+this.$loadingMore.outerHeight(!1)<=t+50&&this.loadMore()}},e.prototype.loadMore=function(){this.loading=!0;var e=n.extend({},{page:1},this.lastParams);e.page++,this.trigger("query:append",e)},e.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},e.prototype.createLoadingMore=function(){var e=n('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),t=this.options.get("translations").get("loadingMore");return e.html(t(this.lastParams)),e},e}),e.define("select2/dropdown/attachBody",["jquery","../utils"],function(f,a){function e(e,t,n){this.$dropdownParent=f(n.get("dropdownParent")||document.body),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("open",function(){r._showDropdown(),r._attachPositioningHandler(t),r._bindContainerResultHandlers(t)}),t.on("close",function(){r._hideDropdown(),r._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},e.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},e.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("select2"),t.addClass("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},e.prototype.render=function(e){var t=f("<span></span>"),n=e.call(this);return t.append(n),this.$dropdownContainer=t},e.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},e.prototype._bindContainerResultHandlers=function(e,t){if(!this._containerResultsHandlersBound){var n=this;t.on("results:all",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:append",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:message",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("select",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("unselect",function(){n._positionDropdown(),n._resizeDropdown()}),this._containerResultsHandlersBound=!0}},e.prototype._attachPositioningHandler=function(e,t){var n=this,r="scroll.select2."+t.id,i="resize.select2."+t.id,o="orientationchange.select2."+t.id,s=this.$container.parents().filter(a.hasScroll);s.each(function(){a.StoreData(this,"select2-scroll-position",{x:f(this).scrollLeft(),y:f(this).scrollTop()})}),s.on(r,function(e){var t=a.GetData(this,"select2-scroll-position");f(this).scrollTop(t.y)}),f(window).on(r+" "+i+" "+o,function(e){n._positionDropdown(),n._resizeDropdown()})},e.prototype._detachPositioningHandler=function(e,t){var n="scroll.select2."+t.id,r="resize.select2."+t.id,i="orientationchange.select2."+t.id;this.$container.parents().filter(a.hasScroll).off(n),f(window).off(n+" "+r+" "+i)},e.prototype._positionDropdown=function(){var e=f(window),t=this.$dropdown.hasClass("select2-dropdown--above"),n=this.$dropdown.hasClass("select2-dropdown--below"),r=null,i=this.$container.offset();i.bottom=i.top+this.$container.outerHeight(!1);var o={height:this.$container.outerHeight(!1)};o.top=i.top,o.bottom=i.top+o.height;var s=this.$dropdown.outerHeight(!1),a=e.scrollTop(),l=e.scrollTop()+e.height(),c=a<i.top-s,u=l>i.bottom+s,d={left:i.left,top:o.bottom},p=this.$dropdownParent;"static"===p.css("position")&&(p=p.offsetParent());var h={top:0,left:0};(f.contains(document.body,p[0])||p[0].isConnected)&&(h=p.offset()),d.top-=h.top,d.left-=h.left,t||n||(r="below"),u||!c||t?!c&&u&&t&&(r="below"):r="above",("above"==r||t&&"below"!==r)&&(d.top=o.top-h.top-s),null!=r&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+r),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+r)),this.$dropdownContainer.css(d)},e.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},e.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},e}),e.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(e,t,n,r){this.minimumResultsForSearch=n.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),e.call(this,t,n,r)}return e.prototype.showSearch=function(e,t){return!(function e(t){for(var n=0,r=0;r<t.length;r++){var i=t[r];i.children?n+=e(i.children):n++}return n}(t.data.results)<this.minimumResultsForSearch)&&e.call(this,t)},e}),e.define("select2/dropdown/selectOnClose",["../utils"],function(o){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("close",function(e){r._handleSelectOnClose(e)})},e.prototype._handleSelectOnClose=function(e,t){if(t&&null!=t.originalSelect2Event){var n=t.originalSelect2Event;if("select"===n._type||"unselect"===n._type)return}var r=this.getHighlightedResults();if(!(r.length<1)){var i=o.GetData(r[0],"data");null!=i.element&&i.element.selected||null==i.element&&i.selected||this.trigger("select",{data:i})}},e}),e.define("select2/dropdown/closeOnSelect",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("select",function(e){r._selectTriggered(e)}),t.on("unselect",function(e){r._selectTriggered(e)})},e.prototype._selectTriggered=function(e,t){var n=t.originalEvent;n&&(n.ctrlKey||n.metaKey)||this.trigger("close",{originalEvent:n,originalSelect2Event:t})},e}),e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return 1!=t&&(n+="s"),n},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return 1!=e.maximum&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),e.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(c,u,d,p,h,f,g,m,v,y,s,t,_,$,w,b,A,x,D,S,E,C,O,T,q,L,I,j,e){function n(){this.reset()}return n.prototype.apply=function(e){if(null==(e=c.extend(!0,{},this.defaults,e)).dataAdapter){if(null!=e.ajax?e.dataAdapter=w:null!=e.data?e.dataAdapter=$:e.dataAdapter=_,0<e.minimumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,x)),0<e.maximumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,D)),0<e.maximumSelectionLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,S)),e.tags&&(e.dataAdapter=y.Decorate(e.dataAdapter,b)),null==e.tokenSeparators&&null==e.tokenizer||(e.dataAdapter=y.Decorate(e.dataAdapter,A)),null!=e.query){var t=u(e.amdBase+"compat/query");e.dataAdapter=y.Decorate(e.dataAdapter,t)}if(null!=e.initSelection){var n=u(e.amdBase+"compat/initSelection");e.dataAdapter=y.Decorate(e.dataAdapter,n)}}if(null==e.resultsAdapter&&(e.resultsAdapter=d,null!=e.ajax&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,T)),null!=e.placeholder&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,O)),e.selectOnClose&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,I))),null==e.dropdownAdapter){if(e.multiple)e.dropdownAdapter=E;else{var r=y.Decorate(E,C);e.dropdownAdapter=r}if(0!==e.minimumResultsForSearch&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,L)),e.closeOnSelect&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,j)),null!=e.dropdownCssClass||null!=e.dropdownCss||null!=e.adaptDropdownCssClass){var i=u(e.amdBase+"compat/dropdownCss");e.dropdownAdapter=y.Decorate(e.dropdownAdapter,i)}e.dropdownAdapter=y.Decorate(e.dropdownAdapter,q)}if(null==e.selectionAdapter){if(e.multiple?e.selectionAdapter=h:e.selectionAdapter=p,null!=e.placeholder&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,f)),e.allowClear&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,g)),e.multiple&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,m)),null!=e.containerCssClass||null!=e.containerCss||null!=e.adaptContainerCssClass){var o=u(e.amdBase+"compat/containerCss");e.selectionAdapter=y.Decorate(e.selectionAdapter,o)}e.selectionAdapter=y.Decorate(e.selectionAdapter,v)}e.language=this._resolveLanguage(e.language),e.language.push("en");for(var s=[],a=0;a<e.language.length;a++){var l=e.language[a];-1===s.indexOf(l)&&s.push(l)}return e.language=s,e.translations=this._processTranslations(e.language,e.debug),e},n.prototype.reset=function(){function a(e){return e.replace(/[^\u0000-\u007E]/g,function(e){return t[e]||e})}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:y.escapeMarkup,language:{},matcher:function e(t,n){if(""===c.trim(t.term))return n;if(n.children&&0<n.children.length){for(var r=c.extend(!0,{},n),i=n.children.length-1;0<=i;i--)null==e(t,n.children[i])&&r.children.splice(i,1);return 0<r.children.length?r:e(t,r)}var o=a(n.text).toUpperCase(),s=a(t.term).toUpperCase();return-1<o.indexOf(s)?n:null},minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,scrollAfterSelect:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},n.prototype.applyFromElement=function(e,t){var n=e.language,r=this.defaults.language,i=t.prop("lang"),o=t.closest("[lang]").prop("lang"),s=Array.prototype.concat.call(this._resolveLanguage(i),this._resolveLanguage(n),this._resolveLanguage(r),this._resolveLanguage(o));return e.language=s,e},n.prototype._resolveLanguage=function(e){if(!e)return[];if(c.isEmptyObject(e))return[];if(c.isPlainObject(e))return[e];var t;t=c.isArray(e)?e:[e];for(var n=[],r=0;r<t.length;r++)if(n.push(t[r]),"string"==typeof t[r]&&0<t[r].indexOf("-")){var i=t[r].split("-")[0];n.push(i)}return n},n.prototype._processTranslations=function(e,t){for(var n=new s,r=0;r<e.length;r++){var i=new s,o=e[r];if("string"==typeof o)try{i=s.loadPath(o)}catch(e){try{o=this.defaults.amdLanguageBase+o,i=s.loadPath(o)}catch(e){t&&window.console&&console.warn&&console.warn('Select2: The language file for "'+o+'" could not be automatically loaded. A fallback will be used instead.')}}else i=c.isPlainObject(o)?new s(o):o;n.extend(i)}return n},n.prototype.set=function(e,t){var n={};n[c.camelCase(e)]=t;var r=y._convertData(n);c.extend(!0,this.defaults,r)},new n}),e.define("select2/options",["require","jquery","./defaults","./utils"],function(r,d,i,p){function e(e,t){if(this.options=e,null!=t&&this.fromElement(t),null!=t&&(this.options=i.applyFromElement(this.options,t)),this.options=i.apply(this.options),t&&t.is("input")){var n=r(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=p.Decorate(this.options.dataAdapter,n)}}return e.prototype.fromElement=function(e){var t=["select2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),p.GetData(e[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),p.StoreData(e[0],"data",p.GetData(e[0],"select2Tags")),p.StoreData(e[0],"tags",!0)),p.GetData(e[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",p.GetData(e[0],"ajaxUrl")),p.StoreData(e[0],"ajax-Url",p.GetData(e[0],"ajaxUrl")));var n={};function r(e,t){return t.toUpperCase()}for(var i=0;i<e[0].attributes.length;i++){var o=e[0].attributes[i].name,s="data-";if(o.substr(0,s.length)==s){var a=o.substring(s.length),l=p.GetData(e[0],a);n[a.replace(/-([a-z])/g,r)]=l}}d.fn.jquery&&"1."==d.fn.jquery.substr(0,2)&&e[0].dataset&&(n=d.extend(!0,{},e[0].dataset,n));var c=d.extend(!0,{},p.GetData(e[0]),n);for(var u in c=p._convertData(c))-1<d.inArray(u,t)||(d.isPlainObject(this.options[u])?d.extend(this.options[u],c[u]):this.options[u]=c[u]);return this},e.prototype.get=function(e){return this.options[e]},e.prototype.set=function(e,t){this.options[e]=t},e}),e.define("select2/core",["jquery","./options","./utils","./keys"],function(i,c,u,r){var d=function(e,t){null!=u.GetData(e[0],"select2")&&u.GetData(e[0],"select2").destroy(),this.$element=e,this.id=this._generateId(e),t=t||{},this.options=new c(t,e),d.__super__.constructor.call(this);var n=e.attr("tabindex")||0;u.StoreData(e[0],"old-tabindex",n),e.attr("tabindex","-1");var r=this.options.get("dataAdapter");this.dataAdapter=new r(e,this.options);var i=this.render();this._placeContainer(i);var o=this.options.get("selectionAdapter");this.selection=new o(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,i);var s=this.options.get("dropdownAdapter");this.dropdown=new s(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,i);var a=this.options.get("resultsAdapter");this.results=new a(e,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(e){l.trigger("selection:update",{data:e})}),e.addClass("select2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),u.StoreData(e[0],"select2",this),e.data("select2",this)};return u.Extend(d,u.Observable),d.prototype._generateId=function(e){return"select2-"+(null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+u.generateChars(2):u.generateChars(4)).replace(/(:|\.|\[|\]|,)/g,"")},d.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},d.prototype._resolveWidth=function(e,t){var n=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==t){var r=this._resolveWidth(e,"style");return null!=r?r:this._resolveWidth(e,"element")}if("element"==t){var i=e.outerWidth(!1);return i<=0?"auto":i+"px"}if("style"!=t)return"computedstyle"!=t?t:window.getComputedStyle(e[0]).width;var o=e.attr("style");if("string"!=typeof o)return null;for(var s=o.split(";"),a=0,l=s.length;a<l;a+=1){var c=s[a].replace(/\s/g,"").match(n);if(null!==c&&1<=c.length)return c[1]}return null},d.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},d.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.select2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this.$element.on("focus.select2",function(e){t.trigger("focus",e)}),this._syncA=u.bind(this._syncAttributes,this),this._syncS=u.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var e=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=e?(this._observer=new e(function(e){i.each(e,t._syncA),i.each(e,t._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",t._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",t._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",t._syncS,!1))},d.prototype._registerDataEvents=function(){var n=this;this.dataAdapter.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerSelectionEvents=function(){var n=this,r=["toggle","focus"];this.selection.on("toggle",function(){n.toggleDropdown()}),this.selection.on("focus",function(e){n.focus(e)}),this.selection.on("*",function(e,t){-1===i.inArray(e,r)&&n.trigger(e,t)})},d.prototype._registerDropdownEvents=function(){var n=this;this.dropdown.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerResultsEvents=function(){var n=this;this.results.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerEvents=function(){var n=this;this.on("open",function(){n.$container.addClass("select2-container--open")}),this.on("close",function(){n.$container.removeClass("select2-container--open")}),this.on("enable",function(){n.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){n.$container.addClass("select2-container--disabled")}),this.on("blur",function(){n.$container.removeClass("select2-container--focus")}),this.on("query",function(t){n.isOpen()||n.trigger("open",{}),this.dataAdapter.query(t,function(e){n.trigger("results:all",{data:e,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(e){n.trigger("results:append",{data:e,query:t})})}),this.on("keypress",function(e){var t=e.which;n.isOpen()?t===r.ESC||t===r.TAB||t===r.UP&&e.altKey?(n.close(),e.preventDefault()):t===r.ENTER?(n.trigger("results:select",{}),e.preventDefault()):t===r.SPACE&&e.ctrlKey?(n.trigger("results:toggle",{}),e.preventDefault()):t===r.UP?(n.trigger("results:previous",{}),e.preventDefault()):t===r.DOWN&&(n.trigger("results:next",{}),e.preventDefault()):(t===r.ENTER||t===r.SPACE||t===r.DOWN&&e.altKey)&&(n.open(),e.preventDefault())})},d.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},d.prototype._syncSubtree=function(e,t){var n=!1,r=this;if(!e||!e.target||"OPTION"===e.target.nodeName||"OPTGROUP"===e.target.nodeName){if(t)if(t.addedNodes&&0<t.addedNodes.length)for(var i=0;i<t.addedNodes.length;i++){t.addedNodes[i].selected&&(n=!0)}else t.removedNodes&&0<t.removedNodes.length&&(n=!0);else n=!0;n&&this.dataAdapter.current(function(e){r.trigger("selection:update",{data:e})})}},d.prototype.trigger=function(e,t){var n=d.__super__.trigger,r={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===t&&(t={}),e in r){var i=r[e],o={prevented:!1,name:e,args:t};if(n.call(this,i,o),o.prevented)return void(t.prevented=!0)}n.call(this,e,t)},d.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},d.prototype.open=function(){this.isOpen()||this.trigger("query",{})},d.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},d.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},d.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},d.prototype.focus=function(e){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},d.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=e&&0!==e.length||(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},d.prototype.data=function(){this.options.get("debug")&&0<arguments.length&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var t=[];return this.dataAdapter.current(function(e){t=e}),t},d.prototype.val=function(e){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==e||0===e.length)return this.$element.val();var t=e[0];i.isArray(t)&&(t=i.map(t,function(e){return e.toString()})),this.$element.val(t).trigger("change")},d.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",u.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),u.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},d.prototype.render=function(){var e=i('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return e.attr("dir",this.options.get("dir")),this.$container=e,this.$container.addClass("select2-container--"+this.options.get("theme")),u.StoreData(e[0],"element",this.$element),e},d}),e.define("jquery-mousewheel",["jquery"],function(e){return e}),e.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(i,e,o,t,s){if(null==i.fn.select2){var a=["open","close","destroy"];i.fn.select2=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var e=i.extend(!0,{},t);new o(i(this),e)}),this;if("string"!=typeof t)throw new Error("Invalid arguments for Select2: "+t);var n,r=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=s.GetData(this,"select2");null==e&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2."),n=e[t].apply(e,r)}),-1<i.inArray(t,a)?this:n}}return null==i.fn.select2.defaults&&(i.fn.select2.defaults=t),o}),{define:e.define,require:e.require}}(),t=e.require("jquery.select2");return u.fn.select2.amd=e,t});
// </nowiki>
lyhcvchbk40pa3xsc3f93y763xm3kwc
MediaWiki:Gadget-Twinkle.js
8
53671
310858
2026-10-25T10:59:15Z
Isma4l
41797
Abuuray
310858
javascript
text/javascript
/**
* +-------------------------------------------------------------------------+
* | === DHIRO-GELIN: FAYLKA GADGET-KA EE DUUNYADA === |
* | Baddalaada boggan waxay saameynaysaa isticmaaleyaal badan. |
* | Fadlan ka wada hadal baddalaada [[WT:TW]] ka hor intaad edit gareeyn.|
* +-------------------------------------------------------------------------+
*
* Waxaa ka yimid github [https://github.com/wikimedia-gadgets/twinkle].
* Dhammaan baddalaada waa in lagu samayeeyo kaydka (repository), haddii kale way koobiyaysan doonaan.
*
* ----------
*
* Kani waa Twinkle-kii AzaToth, koodhka caanka ah ee loo isticmaalo bilowga, maamulayaasha, iyo
* Wikipedian kasta oo dhexda ku jira. Booqo [[WP:TW]] wixii warbixin dheeraad ah.
*/
// <nowiki>
/* global Morebits */
(function() {
// Kontrool haddii koontadu ay leedahay khibrad ku filan oo ay ku isticmaasho Twinkle
if (!Morebits.userIsInGroup('autoconfirmed') && !Morebits.userIsInGroup('confirmed')) {
return;
}
const Twinkle = {};
window.Twinkle = Twinkle; // u oggolow gelitaanka guud (global access)
Twinkle.initCallbacks = [];
/**
* Waxay ku add-gareynaysaa callback marka Twinkle soo rogmado.
*
* @param {Function} func
* @param {string} [name] - magaca module-ka loo isticmaalo in lagu kontroolo haddii uu disabled yahay.
* Haddii magaca la siin waayo, module-ka waxaa loo soo rogaa shuruud la'aan.
*/
Twinkle.addInitCallback = function twinkleAddInitCallback(func, name) {
Twinkle.initCallbacks.push({ func: func, name: name });
};
Twinkle.defaultConfig = {};
/**
* Kani wuxuu hayaa doorbidyada horey loo sii dejiyay (default preferences) ee Twinkle uu isticmaalo.
* Waa muhiim in dhammaan doorbidyada cusub ee halkan lagu daro, gaar ahaan kuwa maamulayaasha ah, lagu daro sidoo kale
* |Twinkle.config.sections| ee dhex jira twinkleconfig.js, si looga qaabayn karo saxanka doorbidyada Twinkle.
* Wixii caawimo ah oo ku saabsan doorbidyada dhabta ah, eeg faallooyinka ku jira twinkleconfig.js.
*/
Twinkle.defaultConfig = {
// Guud (General)
userTalkPageMode: 'tab',
dialogLargeFont: false,
disabledModules: [],
disabledSysopModules: [],
// ARV
spiWatchReport: 'yes',
// Xirid (Block)
defaultToBlock64: false,
defaultToPartialBlocks: false,
blankTalkpageOnIndefBlock: false,
// Soo celin (Rollback)
autoMenuAfterRollback: false,
openTalkPage: ['agf', 'norm', 'vand'],
openTalkPageOnAutoRevert: false,
rollbackInPlace: false,
markRevertedPagesAsMinor: ['vand'],
watchRevertedPages: ['agf', 'norm', 'vand', 'torev'],
watchRevertedExpiry: '1 month',
offerReasonOnNormalRevert: true,
confirmOnRollback: false,
confirmOnMobileRollback: true,
showRollbackLinks: ['diff', 'others'],
// DI (twinkleimage)
notifyUserOnDeli: true,
deliWatchPage: '1 month',
deliWatchUser: '1 month',
// Dhowris (Protect)
watchRequestedPages: 'yes',
watchPPTaggedPages: 'default',
watchProtectedPages: 'default',
// PROD
watchProdPages: '1 month',
markProdPagesAsPatrolled: false,
prodReasonDefault: '',
logProdPages: false,
prodLogPageName: 'Diiwaanka PROD',
// CSD (Tirtirid degdeg ah)
speedySelectionStyle: 'buttonClick',
watchSpeedyPages: ['g3', 'g5', 'g10', 'g11', 'g12'],
watchSpeedyExpiry: '1 month',
markSpeedyPagesAsPatrolled: false,
watchSpeedyUser: '1 month',
// labada soo socota waa inay isku mid ku noqdaan defaul-ka
welcomeUserOnSpeedyDeletionNotification: ['db', 'g1', 'g2', 'g3', 'g4', 'g5', 'g6', 'g10', 'g11', 'g12', 'g13', 'g14', 'g15', 'a1', 'a2', 'a3', 'a7', 'a9', 'a10', 'a11', 'c1', 'f1', 'f2', 'f3', 'f7', 'f9', 'r3', 'u6', 'u7'],
notifyUserOnSpeedyDeletionNomination: ['db', 'g1', 'g2', 'g3', 'g4', 'g5', 'g6', 'g10', 'g11', 'g12', 'g13', 'g14', 'g15', 'a1', 'a2', 'a3', 'a7', 'a9', 'a10', 'a11', 'c1', 'f1', 'f2', 'f3', 'f7', 'f9', 'r3', 'u6', 'u7'],
warnUserOnSpeedyDelete: ['db', 'g1', 'g2', 'g3', 'g4', 'g5', 'g6', 'g10', 'g11', 'g12', 'g13', 'g14', 'g15', 'a1', 'a2', 'a3', 'a7', 'a9', 'a10', 'a11', 'c1', 'f1', 'f2', 'f3', 'f7', 'f9', 'r3', 'u6', 'u7'],
promptForSpeedyDeletionSummary: [],
deleteTalkPageOnDelete: true,
deleteRedirectsOnDelete: true,
deleteSysopDefaultToDelete: false,
speedyWindowHeight: 500,
speedyWindowWidth: 800,
logSpeedyNominations: false,
speedyLogPageName: 'Diiwaanka CSD',
noLogOnSpeedyNomination: ['u1'],
// Ka jaridda isku-xidhka (Unlink)
unlinkNamespaces: ['0', '10', '100', '118'],
// Dhiirigelin/Digniin (Warn)
defaultWarningGroup: '10',
combinedSingletMenus: false,
watchWarnings: '1 month',
oldSelect: false,
customWarningList: [],
// XfD (Wada-hadalka tirtiridda)
logXfdNominations: false,
xfdLogPageName: 'Diiwaanka XfD',
noLogOnXfdNomination: [],
xfdWatchDiscussion: 'default',
xfdWatchList: 'no',
xfdWatchPage: '1 month',
xfdWatchUser: '1 month',
xfdWatchRelated: '1 month',
markXfdPagesAsPatrolled: true,
// Doorbidyada qarsoon (Hidden preferences)
autolevelStaleDays: 3, // Huggle waa 3, CBNG waa 2
revertMaxRevisions: 50, // oo loo talagalay in la xadido
batchMax: 5000,
batchChunks: 50,
// Doorashooyinkii hore ee la isticmaali jiray (Deprecated options)
summaryAd: ' ([[WP:TW|TW]])',
deletionSummaryAd: ' ([[WP:TW|TW]])',
protectionSummaryAd: ' ([[WP:TW|TW]])',
// Astaan (Tag)
watchTaggedVenues: ['articles', 'drafts', 'redirects', 'files'],
watchTaggedPages: '1 month',
watchMergeDiscussions: '1 month',
markTaggedPagesAsMinor: false,
markTaggedPagesAsPatrolled: false,
tagArticleSortOrder: 'cat',
customTagList: [],
customFileTagList: [],
customRedirectTagList: [],
// Soo dhowayn (Welcome)
topWelcomes: false,
watchWelcomes: '3 months',
insertUsername: true,
quickWelcomeMode: 'norm',
quickWelcomeTemplate: 'soodhowow',
customWelcomeList: [],
customWelcomeSignature: true,
// Wada-hadal soo celi (Talkback)
markTalkbackAsMinor: false,
insertTalkbackSignature: true, // waligeed saxiix moodallada talkback
talkbackHeading: 'Fariin cusub oo ka timid ' + mw.config.get('wgUserName'),
mailHeading: "Waxaad leedahay iimayl!"
};
Twinkle.getPref = function twinkleGetPref(name) {
if (typeof Twinkle.prefs === 'object' && Twinkle.prefs[name] !== undefined) {
return Twinkle.prefs[name];
}
// Qaabkii hore ee doorbidyada, oo la isticmaali jiray ka hor intaan twinkleoptions.js jirin
if (typeof window.TwinkleConfig === 'object' && window.TwinkleConfig[name] !== undefined) {
return window.TwinkleConfig[name];
}
if (typeof window.FriendlyConfig === 'object' && window.FriendlyConfig[name] !== undefined) {
return window.FriendlyConfig[name];
}
// Koodhka ku-habboonaanta gadaal sababtoo ah waxaan u beddelaynaa confirmOnFluff iyadoo loo baddalay confirmOnRollback, iyo confirmOnMobileFluff iyadoo loo baddalay confirmOnMobileRollback
if (name === 'confirmOnRollback' && typeof Twinkle.prefs === 'object' && Twinkle.prefs.confirmOnFluff !== undefined) {
return Twinkle.prefs.confirmOnFluff;
} else if (name === 'confirmOnMobileRollback' && typeof Twinkle.prefs === 'object' && Twinkle.prefs.confirmOnMobileFluff !== undefined) {
return Twinkle.prefs.confirmOnMobileFluff;
}
return Twinkle.defaultConfig[name];
};
/**
* Waxay ku add-gareynaysaa menu-ga portlet mid ka mid ah meelaha marin-u-helka (navigation) ee bogga.
*
* @return {string} portletId
*/
Twinkle.addPortlet = function() {
/** @type {string} id-ga meesha bartilmaameedka ah ee marin-u-helka */
let navigation;
/** @type {string} id-ga menu-ga portlet-ka ee la samaynayo, oo lagu bilaabo "p-". */
let id;
/** @type {string} magaca menu-ga portlet-ka ee la samaynayo. Muuqashada waxay ku xiran tahay class-ka la isticmaalay. */
let text;
/** @type {Node} id-ga node-ka oo ka hor inta aan la add-gareynin shayga cusub */
let nextnodeid;
switch (mw.config.get('skin')) {
case 'vector':
case 'vector-2022':
navigation = '#right-navigation';
id = 'p-twinkle';
text = 'TW';
// Si mw.util.addPortlet loogu sameeyo menu hoos u dhaca (dropdown) ee vector iyo vector-2022, nextnodeid waa inuu noqdaa p-cactions.
nextnodeid = 'p-cactions';
break;
case 'timeless':
navigation = '#page-tools .sidebar-inner';
id = 'p-twinkle';
text = 'Twinkle';
nextnodeid = 'p-userpagetools';
break;
default:
navigation = null;
id = 'p-cactions';
}
if (navigation === null) {
return id;
}
// hubi in navigation uu yahay CSS selector sax ah
const root = document.querySelector(navigation);
if (!root) {
return id;
}
// haddii aan mar hore samaynay portlet-ka, horay u soco. ma rabno inaan mar kale samayno.
const item = document.getElementById(id);
if (item) {
return id;
}
mw.util.addPortlet(id, text, '#' + nextnodeid);
// Menu-ga hoos u dhaca ee Twinkle waxaa lagu daray dhanka bidix ee p-cactions, maadaama ay tahay meesha keliya ee samaynaysa menu hoos u dhaca. Laakiin waxaan rabnaa dhanka meesha midig. U booqo dhanka midig.
if (mw.config.get('skin') === 'vector') {
$('#p-twinkle').insertAfter('#p-cactions');
} else if (mw.config.get('skin') === 'vector-2022') {
const $landmark = $('#right-navigation > .vector-page-tools-landmark');
$('#p-twinkle-dropdown').insertBefore($landmark);
// .vector-page-tools-landmark ma aha mid deggan oo waa isbadali karaan. Haday amarkani dhacdo, ku qor console-ka.
if (!$landmark) {
mw.log.warn('Isbeddel aan la filayn oo ku yimid DOM-ka');
}
}
return id;
};
/**
* Waxay dhisaysaa menu-ga portlet haddii uusan wali jirin, waxayna ku add-gareynaysaa isku-xidhka portlet.
*
* @param {string|Function} task Ama URL-ka isku-xidhka portlet-ka ama function la fulinayo.
*/
Twinkle.addPortletLink = function(task, text, id, tooltip) {
// Samee portlet si uu u hayo dhammaan isku-xidhyada portlet-ka (haddii uusan mar hore samaysmin). Soo helna portletId.
const portletId = Twinkle.addPortlet();
// Samee isku-xidhka portlet-ka oo ku dar portlet-ka.
const link = mw.util.addPortletLink(portletId, typeof task === 'string' ? task : '#', text, id, tooltip);
// Wuxuu u taagan yahay gadget-ka qarsoon ee ka hortagaya boodboodka marka boggu marka ugu horreysa soo rogmado
$('.client-js .skin-vector #p-cactions').css('margin-right', 'initial');
// Ku dar dhageystaha gujinta (click listener) ee isku-xidhka portlet-ka
if (typeof task === 'function') {
$(link).on('click', (ev) => {
task();
ev.preventDefault();
});
}
// $.collapsibleTabs waa astaanta Vector 2010
if ($.collapsibleTabs) {
// Waxay gacanta ku kicinaysaa dib-u-hisaabinta tab-yada meesha lagu dhex darayo.
$.collapsibleTabs.handleResize();
}
return link;
};
/**
* **************** Koodhka guud ee bilowga (Initialization code) ****************
*/
// Soo hel doorbidyada Twinkle ee isticmaalaha
Morebits.wiki.getCachedPage(`User:${mw.config.get('wgUserName')}/twinkleoptions.js`)
.then((optionsText) => {
if (!optionsText) {
// Isticmaaluhu ma laha doorashooyin
return;
}
// Doorashooyinka Twinkle waa shay JSON ah oo leh faallooyin. Tirtir kuwaas:
optionsText = optionsText.replace(/(?:^(?:\/\/[^\n]*\n)*\n*|(?:\/\/[^\n]*(?:\n|$))*$)/g, '');
// Nuqulkii ugu horreeyay wuxuu lahaa koodh gaar ah si uu eval-able u noqdo -- tirtir kaas sidoo kale.
if (optionsText.lastIndexOf('window.Twinkle.prefs = ', 0) === 0) {
optionsText = optionsText.replace(/(?:^window.Twinkle.prefs = |;\n*$)/g, '');
}
try {
const options = JSON.parse(optionsText);
if (options) {
if (options.twinkle || options.friendly) { // Qaabkii hore ee doorbidyada
Twinkle.prefs = $.extend(options.twinkle, options.friendly);
} else {
Twinkle.prefs = options;
}
// v2 waxaa la dhisay ka dib markii lagu midoobay Twinkle/Friendly objects
Twinkle.prefs.optionsVersion = Twinkle.prefs.optionsVersion || 1;
}
} catch (e) {
mw.notify('Lama fariinsideyn karo doorbidyadaada Twinkle', {type: 'error'});
}
})
.catch(() => {
console.log('Lama soo rogi karin doorbidyadaada Twinkle, waxaa loo noqonayaa doorbidyada horey loo sii dejiyay (default)'); // eslint-disable-line no-console
})
.always(() => {
$(Twinkle.load);
});
// Horumariyayaasha (Developers): waxaad halkan ka soo rogan kartaa module-yada Twinkle ee gaarka ah
Twinkle.load = function() {
// Ha ku kicin boggaga gaarka ah (special pages) marka laga reebo kuwa halkan ku qoran, si kuwa kale ay ugu soo rogmadana si harjad leh.
let activeSpecialPageList = ['Block', 'Contributions', 'IPContributions', 'Recentchanges', 'Recentchangeslinked'];
if (Morebits.userIsSysop) {
activeSpecialPageList = activeSpecialPageList.concat(['DeletedContributions', 'Prefixindex']);
}
if (mw.config.get('wgNamespaceNumber') === -1 &&
!activeSpecialPageList.includes(mw.config.get('wgCanonicalSpecialPageName'))) {
return;
}
// Ka hortag clickjacking-ka
if (window.top !== window.self) {
return;
}
// Deji Madax-qoraaleedka Api-User-Agent ee gaarka ah, si loogu isticmaalo dhiibida diiwaanka server-ka
Morebits.wiki.Api.setApiUserAgent('Twinkle (' + mw.config.get('wgWikiID') + ')');
Twinkle.disabledModules = Twinkle.getPref('disabledModules').concat(Twinkle.getPref('disabledSysopModules'));
// Dib u qdefined-gareey addInitCallback si module-yada soo rogmada loogu kiciyo si toos ah
Twinkle.addInitCallback = function(func, name) {
if (!name || !Twinkle.disabledModules.includes(name)) {
func();
}
};
// Kici module-yadii lagu kaydiyay safka initCallbacks
Twinkle.initCallbacks.forEach((module) => {
Twinkle.addInitCallback(module.func, module.name);
});
// Waxay kordhisaa cabbirka farta ee wada-hadallada Twinkle, haddii oo la qaabeeyay
if (Twinkle.getPref('dialogLargeFont')) {
mw.util.addCSS('.morebits-dialog-content, .morebits-dialog-footerlinks { font-size: 100% !important; } ' +
'.morebits-dialog input, .morebits-dialog select, .morebits-dialog-content button { font-size: inherit !important; }');
}
// Qarshi meesha bannaanka ah haddii TW menu-kiisa uu maran yahay
const isVector = mw.config.get('skin') === 'vector' || mw.config.get('skin') === 'vector-2022';
if (isVector && Twinkle.getPref('portletType') === 'menu' && $('#p-twinkle').length === 0) {
$('#p-cactions').css('margin-right', 'initial');
}
// Haddii la isticmaalayo skin leh meel menu hoos u dhacaya ah, muuji isku-xidhka Doorbidyada Twinkle
const usingSkinWithDropDownMenu = mw.config.get('skin') === 'vector' || mw.config.get('skin') === 'vector-2022' || mw.config.get('skin') === 'timeless';
if (usingSkinWithDropDownMenu) {
Twinkle.addPortletLink(mw.util.getUrl('Wikipedia:Twinkle/Preferences'), 'Qaabayn', 'tw-config', 'Fura bogga doorbidyada Twinkle');
}
};
/**
* Xogta gaarka ah ee Twinkle oo ay wadaagaan module-yo badan
*/
// Tag-ga isbeddelka ee gaarka ah ee loo tumayo dhammaan hawlaha Twinkle, ka samee Special:Tags
Twinkle.changeTags = 'twinkle';
// Waxaa loo isticmaali karaa hawlaha aan (wali) taageerin tag-yada
Twinkle.summaryAd = ' ([[WP:TW|TW]])';
// Moodallada hatnote-ka ee kala duwan
Twinkle.hatnoteRegex = 'short description|hatnote|main|correct title|dablink|distinguish|for|further|selfref|year dab|similar names|highway detail hatnote|broader|about(?:-distinguish| other people)?|other\\s?(?:hurricane(?: use)?s|people|persons|places|ships|uses(?: of)?)|redirect(?:-(?:distinguish|synonym|multi))?|see\\s?(?:wiktionary|also(?: if exists)?)';
/* Hawlaha adeegga Twinkle ee ay wadaagaan module-yo badan */
/**
* Marka lagu fulinayo rollback-yada isku-xidhyada [rollback], ka dibna la booqdo bogga wada-hadalka isticmaalaha...
*/
Twinkle.getPrefill = function(key) {
Twinkle.prefill = Twinkle.prefill || {};
if (!Object.prototype.hasOwnProperty.call(Twinkle.prefill, key)) {
Twinkle.prefill[key] = mw.util.getParamValue(key);
}
return Twinkle.prefill[key];
};
/**
* Waxay dejinaysaa prefill cusub.
*/
Twinkle.setPrefill = function(key, value) {
Twinkle.prefill = Twinkle.prefill || {};
Twinkle.prefill[key] = value;
};
/*
* Waxaa loo isticmaalaa XFD iyo PROD
*/
Twinkle.makeFindSourcesDiv = function makeSourcesDiv(divID) {
if (!$(divID).length) {
return;
}
if (!Twinkle.findSources) {
const parser = new Morebits.wiki.Preview($(divID)[0]);
parser.beginRender('({{Find sources|' + Morebits.pageNameNorm + '}})', 'WP:AFD').then(() => {
// Kaydi marka labaad
Twinkle.findSources = parser.previewbox.innerHTML;
$(divID).removeClass('morebits-previewbox');
});
} else {
$(divID).html(Twinkle.findSources);
}
};
/**
* Waxaa loo isticmaalaa batch, unlink, iyo deprod si bogagga loogu kala sooco namespace
*/
Twinkle.sortByNamespace = function(first, second) {
return first.ns - second.ns || (first.title > second.title ? 1 : -1);
};
/**
* Waxaa loo isticmaalaa karantiilida batch-ka si lagu kashifo isku-xidhka bogga la doonayo iyadoo la isticmaalayo >
*/
Twinkle.generateArrowLinks = function(checkbox) {
const link = Morebits.htmlNode('a', ' >');
link.setAttribute('class', 'tw-arrowpage-link');
link.setAttribute('href', mw.util.getUrl(checkbox.value));
link.setAttribute('target', '_blank');
checkbox.nextElementSibling.append(link);
};
/**
* Waxaa loo isticmaalaa deprod iyo unlink si bogga loogu xidho ciwaankiisa
*/
Twinkle.generateBatchPageLinks = function(checkbox) {
const $checkbox = $(checkbox);
const link = Morebits.htmlNode('a', $checkbox.val());
link.setAttribute('class', 'tw-batchpage-link');
link.setAttribute('href', mw.util.getUrl($checkbox.val()));
link.setAttribute('target', '_blank');
$checkbox.next().prepend([link, ' ']);
};
/**
* Tirtir tag-ga "u rar Commons-ka" - faylasha loo tilmaamay tirtiridda loo rari karo Commons-ka
*/
Twinkle.removeMoveToCommonsTagsFromWikicode = (wikicode) => wikicode.replace(/\{\{(mtc|(copy |move )?to ?commons|move to wikimedia commons|copy to wikimedia commons)(?!( in))[^}]*\}\}/gi, '');
}());
// </nowiki>
40nl7a1wnzhx74zo4ygipe3frv89d54
MediaWiki:Gadget-twinklearv.js
8
53672
310859
2026-10-25T11:01:59Z
Isma4l
41797
Abuuray
310859
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinklearv.js: Qaybta ARV
****************************************
* Qaabka loo yeero: Tab ("ARV")
* Ka shaqeeya: Bog kasta oo leh magaca isticmaale ee khuseeya (User space, contributions, iwm.)
*/
Twinkle.arv = function twinklearv() {
const username = mw.config.get('wgRelevantUserName');
if (!username || username === mw.config.get('wgUserName')) {
return;
}
const isIP = mw.util.isIPAddress(username, true);
// Iska indho tir xadka ka ballaaran xadka CIDR
if (Morebits.ip.isRange(username) && !Morebits.ip.validCIDR(username)) {
return;
}
const userType = isIP ? 'IP' + (Morebits.ip.isRange(username) ? ' range' : '') : 'user';
Twinkle.addPortletLink(() => {
Twinkle.arv.callback(username, isIP);
}, 'ARV', 'tw-arv', 'U sheeg ' + userType + ' maamulayaasha');
};
Twinkle.arv.callback = function(uid, isIP) {
const Window = new Morebits.SimpleWindow(600, 500);
Window.setTitle('Warbixinta Horumarsan iyo Baaritaanka (ARV)'); // Backronym
Window.setScriptName('Twinkle');
Window.addFooterLink('Hagaha AIV', 'WP:GAIV');
Window.addFooterLink('Hagaha UAA', 'WP:UAAI');
Window.addFooterLink('Hagaha SPI', 'Wikipedia:Sockpuppet investigations/SPI/Guide to filing cases');
Window.addFooterLink('Doorbidyada ARV', 'WP:TW/PREF#arv');
Window.addFooterLink('Caawinta Twinkle', 'WP:TW/DOC#arv');
Window.addFooterLink('Bixi ra’yi-celin', 'WT:TW');
const form = new Morebits.QuickForm(Twinkle.arv.callback.evaluate);
form.append({
type: 'select',
name: 'category',
label: 'Dooro nooca warbixinta:',
event: Twinkle.arv.callback.changeCategory,
list: [
{
label: 'Khasaarin/Vandalism (WP:AIV)',
value: 'aiv'
},
{
label: 'Magaca isticmaalaha (WP:UAA)',
value: 'username',
disabled: isIP
},
{
label: 'Abuuraha xisaabaha hoosaadka / Sockpuppeteer (WP:SPI)',
value: 'sock'
},
{
label: 'Xisaabaha hoosaadka / Sockpuppet (WP:SPI)',
value: 'puppet'
},
{
label: 'Dagaalka wax-ka-beddelka (WP:AN3)',
value: 'an3',
disabled: Morebits.ip.isRange(uid) // muunadda rvuser ma taageerto xadadka
}
]
});
form.append({
type: 'div',
label: '',
style: 'color: red',
id: 'twinkle-arv-blockwarning'
});
// Ogeysiiska xisaabta ku-meel-gaarka ah
if (mw.config.get('wgRelevantUserName') && mw.util.isTemporaryUser(mw.config.get('wgRelevantUserName')) && !mw.config.get('wgCheckUserTemporaryAccountIPRevealAllowed')) {
const temporaryAccountNotice = form.append({
type: 'field',
label: 'Ogeysiiska xisaabta ku-meel-gaarka ah',
name: 'ta_notice',
style: 'color: var(--morebits-color-warning)'
});
temporaryAccountNotice.append({
type: 'div',
label: 'Waxaad warbixin ka bixinaysaa [[Wikipedia:Temporary accounts|xisaab ku-meel-gaar ah]]. Xisaabahan, oo leh magacyo isticmaale sida ~2025-12345-67, ayaa beddelay cinwaannada IP-ga. Fadlan taxaddar markaad u warbixinayso xisaabaha hoosaadka iyo markaad xirayso (blocking), cunno-qabatayn ama dhibaato soo gaari karta isticmaaleyaasha kale iyo xisaabaha ku-meel-gaarka ah ee isla IP-ga ku jira awgeed.'
});
}
form.append({
type: 'field',
label: 'Goobta shaqada',
name: 'work_area'
});
form.append({ type: 'submit' });
form.append({
type: 'hidden',
name: 'uid',
value: uid
});
const result = form.render();
Window.setContent(result);
Window.display();
// Hubi haddii isticmaalaha la xiray, cusbooneysii ogeysiiska
const query = {
action: 'query',
list: 'blocks',
bkprop: 'range|flags',
format: 'json'
};
if (isIP) {
query.bkip = uid;
} else {
query.bkusers = uid;
}
new Morebits.wiki.Api("Hubinta xaaladda xiritaanka isticmaalaha", query, ((apiobj) => {
const blocklist = apiobj.getResponse().query.blocks;
if (blocklist.length) {
// Haddii IP la xiray *iyo* xad ahaan loo xiray, isticmaal midka ugu dambeeyay
const block = blocklist[0];
let message = (isIP ? 'IP-gan ' + (Morebits.ip.isRange(uid) ? 'xadkiisu' : 'cinwaankiisu') : 'Xisaabtan') + ' waa mid ' + (block.partial ? 'qeyb ahaan' : 'hore loogu') + ' xirmay';
message += block.rangestart !== block.rangeend ? ' iyada oo qayb ka ah xiritaanka xadka.' : '.';
if (block.partial) {
$('#twinkle-arv-blockwarning').css('color', 'black'); // Aad u daran ma aha
}
$('#twinkle-arv-blockwarning').text(message);
}
})).post();
// Waa in aan bilownaa dhacdada
const evt = document.createEvent('Event');
evt.initEvent('change', true, true);
result.category.dispatchEvent(evt);
};
Twinkle.arv.callback.changeCategory = function(e) {
const value = e.target.value;
const root = e.target.form;
const old_area = Morebits.QuickForm.getElements(root, 'work_area')[0];
let work_area = null;
switch (value) {
case 'aiv':
/* falls through */
default:
work_area = new Morebits.QuickForm.Element({
type: 'field',
label: 'U warbixi isticmaalaha khasaarinta',
name: 'work_area'
});
work_area.append({
type: 'input',
name: 'page',
label: 'Bogga ugu weyn ee la xiriira:',
tooltip: 'Ka tag banaan si aan loogu xiriirin bogga warbixinta',
value: Twinkle.getPrefill('vanarticle') || '',
event: function(e) {
const value = e.target.value;
const root = e.target.form;
if (value === '') {
root.badid.disabled = root.goodid.disabled = true;
} else {
root.badid.disabled = false;
root.goodid.disabled = root.badid.value === '';
}
}
});
work_area.append({
type: 'input',
name: 'badid',
label: 'Aqoonsiga dib-u-eegista (Revision ID) ee bogga bartilmaameedka ah markii la khasaariyay:',
tooltip: 'Ka tag banaan xiriirka kala duwanaanshaha (diff)',
value: Twinkle.getPrefill('vanarticlerevid') || '',
disabled: !Twinkle.getPrefill('vanarticle'),
event: function(e) {
const value = e.target.value;
const root = e.target.form;
root.goodid.disabled = value === '';
}
});
work_area.append({
type: 'input',
name: 'goodid',
label: 'Aqoonsiga dib-u-eegista wanaagsan ee ugu dambeeyay ka hor khasaarinta bogga bartilmaameedka:',
tooltip: 'Ka tag banaan xiriirka diff ee dib-u-eegistii hore',
value: Twinkle.getPrefill('vanarticlegoodrevid') || '',
disabled: !Twinkle.getPrefill('vanarticle') || Twinkle.getPrefill('vanarticlerevid')
});
work_area.append({
type: 'checkbox',
name: 'arvtype',
list: [
{
label: 'Khasaarin ka dhacday digniintii ugu dambaysay kadib (heerka 4 ama 4im)',
value: 'final'
},
{
label: 'Khasaarin ka dhacday sii dayntii dhowaan (gudahooda 1 maalin) ee xiritaanka',
value: 'postblock'
},
{
label: 'Sifooyinku waxay si cad u muujinayaan inaysan jirin shaqo kale oo aan ahayn khasaarin',
value: 'vandalonly',
disabled: mw.util.isIPAddress(root.uid.value, true)
},
{
label: 'Xisaabtan waxaa loo isticmaalaa xayeysiin keliya',
value: 'promoonly',
disabled: mw.util.isIPAddress(root.uid.value, true)
},
{
label: 'Xisaabtu waa qalab spam (spambot) ama xisaab la afduubay',
value: 'spambot'
}
]
});
work_area.append({
type: 'textarea',
name: 'reason',
label: 'Faallo:'
});
work_area = work_area.render();
old_area.parentNode.replaceChild(work_area, old_area);
break;
case 'username':
work_area = new Morebits.QuickForm.Element({
type: 'field',
label: 'U warbixi xad-gudubka magaca isticmaalaha',
name: 'work_area'
});
work_area.append({
type: 'header',
label: 'Nooca(yada) magaca isticmaalaha ee aan munaasibka ahayn',
tooltip: 'Wikipedia ma oggola magacyada isticmaaleyaasha ee marin-habaabinta ah, xayeysiiska ah, aflagaadada ah, ama khalkhalinaya. Magacyada domain-yada iyo iimaylada sidoo kale waa mamnuuc. Shuruudahan waxaa lagu dabaqaa labada magac iyo saxiixyada.'
});
work_area.append({
type: 'checkbox',
name: 'arvtype',
list: [
{
label: 'Magac isticmaale marin-habaabin ah',
value: 'misleading',
tooltip: 'Magacyada marin-habaabinta ahi waxay tilmaamayaan waxyaabo khuseeya oo marin-habaabin ah.'
},
{
label: 'Magac isticmaale xayeysiin ah',
value: 'promotional',
tooltip: 'Magacyada xayeysiiska ahi waa xayaysiis shirkad, degel ama koox.'
},
{
label: 'Magac isticmaale aflagaado ah',
value: 'offensive',
tooltip: 'Magacyada aflagaadada ahi waxay adkeeyaan ama ka dhigayaan mid aan suurtagal ahayn tafatirka habboon.'
},
{
label: 'Magac isticmaale khalkhalin ah',
value: 'disruptive',
tooltip: 'Magacyada khalkhalinta ahi waxaa ku jira aflagaado ama muujinaya ujeeddo cad oo lagu khalkhalinayo Wikipedia.'
}
]
});
work_area.append({
type: 'textarea',
name: 'reason',
label: 'Faallo:'
});
work_area = work_area.render();
old_area.parentNode.replaceChild(work_area, old_area);
break;
case 'puppet':
work_area = new Morebits.QuickForm.Element({
type: 'field',
label: 'U warbixi xisaab hoosaad la tuhunsan yahay (Sockpuppet)',
name: 'work_area'
});
work_area.append(
{
type: 'input',
name: 'sockmaster',
label: 'Abuuraha xisaabaha hoosaadka (Sockpuppeteer)',
tooltip: 'Magaca isticmaale ee abuuraha xisaabaha hoosaadka adigoo aan isticmaalin horgalaha "User:"'
}
);
work_area.append({
type: 'textarea',
label: 'Caddayn:',
name: 'evidence',
tooltip: 'Caddayntaadu waa inay caddaysaa in isticmaale kasta uu ka faa\'iidaysanayo xisaabo badan.'
});
work_area = work_area.render();
old_area.parentNode.replaceChild(work_area, old_area);
break;
case 'sock':
work_area = new Morebits.QuickForm.Element({
type: 'field',
label: 'U warbixi abuuraha xisaabaha hoosaadka ee la tuhunsan yahay',
name: 'work_area'
});
work_area.append(
{
type: 'dyninput',
name: 'sockpuppets',
label: 'Xisaabaha hoosaadka (Sockpuppets)',
sublabel: 'Xisaab hoosaad:',
tooltip: 'Magaca isticmaale ee xisaabta hoosaadka adigoo aan isticmaalin horgalaha "User:"',
min: 2
});
work_area.append({
type: 'textarea',
label: 'Caddayn:',
name: 'evidence',
tooltip: 'Caddayntaadu waa inay caddaysaa in isticmaale kasta uu xadgudub ku hayo xisaabo badan.'
});
work_area = work_area.render();
old_area.parentNode.replaceChild(work_area, old_area);
break;
case 'an3':
work_area = new Morebits.QuickForm.Element({
type: 'field',
label: 'U warbixi dagaalka wax-ka-beddelka (Edit warring)',
name: 'work_area'
});
work_area.append({
type: 'input',
name: 'page',
label: 'Bogga',
tooltip: 'Bogga laga warbixinayo'
});
work_area.append({
type: 'button',
name: 'load',
label: 'Soo rar (Load)',
event: function(e) {
const root = e.target.form;
const date = new Morebits.Date().subtract(48, 'hours'); // dhammaan 48-kii saacadood ee la soo dhaafay
// Ku shaqee beel kasta oo AN3 ah
const getAN3Entries = function(field, rvuser, titles) {
const $field = $(root).find('[name=' + field + ']');$field.find('.entry').remove();
new mw.Api().get({
action: 'query',
prop: 'revisions',
format: 'json',
rvprop: 'sha1|ids|timestamp|parsedcomment|comment',
rvlimit: 500, // xadidan
rvend: date.toISOString(),
rvuser: rvuser,
indexpageids: true,
titles: titles
}).done((data) => {
const pageid = data.query.pageids[0];
const page = data.query.pages[pageid];
if (!page.revisions) {
$('<span>')
.addClass('entry')
.html('Lama helin wax natiijo ah')
.appendTo($field);
} else {
for (let i = 0; i < page.revisions.length; ++i) {
const rev = page.revisions[i];
const $entry =$('<div>')
.addClass('entry');
const $input =$('<input>')
.attr({
type: 'checkbox',
name: 's_' + field,
value: JSON.stringify(rev)
});
$input.appendTo($entry);
let comment = '<span>';
// revdel/os
if (typeof rev.commenthidden === 'string') {
comment += '(faallo waa la qariyey)';
} else {
comment += '"' + rev.parsedcomment + '"';
}
comment += ' waqtiga <a href="' + mw.config.get('wgScript') + '?diff=' + rev.revid + '">' + new Morebits.Date(rev.timestamp).calendar() + '</a></span>';
$entry.append(comment).appendTo($field);
}
}
// ku dar gelitaanka foomka xorta ah ee xalinta
if (field === 'resolves') {
const $free_entry =$('<div>')
.addClass('entry');
const $free_input =$('<input>')
.attr({
type: 'text',
name: 's_resolves_free'
});
const $free_label =$('<label>')
.attr('for', 's_resolves_free')
.html('URL-ka xiriirka diff-ka oo wata wadahadalo dheeraad ah: ');
$free_entry.append($free_label).append($free_input).appendTo($field);
}
}).fail(() => {
$('<span>')
.addClass('entry')
.html('Cillad API, dib u soo rar bogga oo mar kale isku day')
.appendTo($field);
});
};
// Digniinaha
const uid = root.uid.value;
getAN3Entries('warnings', mw.config.get('wgUserName'), 'User talk:' + uid);
// Diffs iyo resolves waxay u baahan yihiin bog sax ah
const page = root.page.value;
if (page) {
// Diffs
getAN3Entries('diffs', uid, page);
// Xallinta
const t = new mw.Title(page);
const talk_page = t.getTalkPage().getPrefixedText();
getAN3Entries('resolves', mw.config.get('wgUserName'), talk_page);
} else {
$(root).find('[name=diffs]').find('.entry').remove();$(root).find('[name=resolves]').find('.entry').remove();
}
}
});
work_area.append({
type: 'field',
name: 'diffs',
label: 'Celin-celinta isticmaalaha (48-kii saacadood ee la soo dhaafay gudahood)',
tooltip: 'Dooro tafatirka aad aaminsan tahay inay yihiin kuwo dib loo celiyay'
});
work_area.append({
type: 'field',
name: 'warnings',
label: 'Digniinta la siiyay qofka lala eedeeyay',
tooltip: 'Waa inaad digtay qofka la eedaynayo ka hor inta aanad warbixin'
});
work_area.append({
type: 'field',
name: 'resolves',
label: 'Tallaabooyinka xallinta',
tooltip: 'Waa inaad marka hore isku daydaa inaad arrinta ku xalliso bogga wada-hadalka'
});
work_area.append({
type: 'textarea',
label: 'Faallo:',
name: 'comment'
});
work_area = work_area.render();
old_area.parentNode.replaceChild(work_area, old_area);
break;
}
};
Twinkle.arv.callback.evaluate = function(e) {
const form = e.target;
let reason = '';
const input = Morebits.QuickForm.getInputData(form);
switch (input.category) {
// U warbixi isticmaalaha khasaarinta
case 'aiv':
/* falls through */
default:
reason = Twinkle.arv.callback.getAivReasonWikitext(input);
if (reason === null) {
alert('Waa inaad qortaa sabab');
return;
}
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
Morebits.wiki.actionCompleted.redirect = 'Wikipedia:Administrator intervention against vandalism';
Morebits.wiki.actionCompleted.notice = 'Warbixintii waa la dhammeeyay';
var aivPage = new Morebits.wiki.Page('Wikipedia:Administrator intervention against vandalism', 'Waa la ambaqaadayaa codsiga AIV');
aivPage.setPageSection(1);
aivPage.setFollowRedirect(true);
aivPage.load(() => {
const text = aivPage.getPageText();
const $aivLink = '<a target="_blank" href="/wiki/WP:AIV">WP:AIV</a>';
// hubi haddii hore looga warbixiyay isticmaalaha
if (new RegExp('\\{\\{\\s*(?:(?:[Ii][Pp])?[Vv]andal|[Uu]serlinks)\\s*\\|\\s*(?:1=)?\\s*' + Morebits.string.escapeRegExp(input.uid) + '\\s*\\}\\}').test(text)) {
aivPage.getStatusElement().error('Warbixintu hore ayay u jirtay, mid cusub laguma dari doono');
Morebits.Status.printUserText(reason, 'Faallooyinka aad qortay ayaa hoos ku qoran, haddii aad rabto inaad gacanta ku dhajiso warbixinta jirta ee ' + $aivLink + ' hoosteeda:');
return;
}
// ka dib hubi warbixinnada bot-ka
const tb2Page = new Morebits.wiki.Page('Wikipedia:Administrator intervention against vandalism/TB2', 'Waxaa la hubinayaa warbixinnada bot-ka');
tb2Page.load(() => {
const tb2Text = tb2Page.getPageText();
const tb2statelem = tb2Page.getStatusElement();
if (new RegExp('\\{\\{\\s*(?:(?:[Ii][Pp])?[Vv]andal|[Uu]serlinks)\\s*\\|\\s*(?:1=)?\\s*' + Morebits.string.escapeRegExp(input.uid) + '\\s*\\}\\}').test(tb2Text)) {
if (confirm('Isticmaalaha ' + input.uid + ' waxaa hore ugu warbixiyay bot. Ma rabtaa inaad warbixinta samayso si kastaba?')) {
tb2statelem.info('Waa la sii waday iyada oo ay jirto warbixin bot');
} else {
tb2statelem.error('Warbixin ka timid bot ayaa hore u jirtay, waa la joojiyay');
Morebits.Status.printUserText(reason, 'Faallooyinka aad qortay waxaa lagu bixiyay hoos, haddii aad rabto inaad gacanta ku dhajiso ' + $aivLink + ':');
return;
}
} else {
tb2statelem.info('Ma jiraan warbixin bot oo is khilaafsan');
}
aivPage.getStatusElement().status('Waxaa lagu darayaa warbixin cusub...');
aivPage.setEditSummary('Waxaa la warbixinayaa [[Special:Contributions/' + input.uid + '|' + input.uid + ']].');
aivPage.setChangeTags(Twinkle.changeTags);
aivPage.setAppendText(Twinkle.arv.callback.buildAivReport(input));
aivPage.setDiscussionToolsAutoSubscribe(false);
aivPage.append();
});
});
break;
// U warbixi magac isticmaale oo aan munaasib ahayn
case 'username':
var censorUsername = input.arvtype.includes('offensive'); // hubi haddii magaca isticmaalaha loo asteeyay aflagaado
reason = Twinkle.arv.callback.getUsernameReportWikitext(input);
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
Morebits.wiki.actionCompleted.redirect = 'Wikipedia:Usernames for administrator attention';
Morebits.wiki.actionCompleted.notice = 'Warbixintii waa la dhammeeyay';
var uaaPage = new Morebits.wiki.Page('Wikipedia:Usernames for administrator attention', 'Waa la ambaqaadayaa codsiga UAA');
uaaPage.setFollowRedirect(true);
uaaPage.load(() => {
const text = uaaPage.getPageText();
// hubi haddii hore looga warbixiyay isticmaalaha
if (new RegExp('\\{\\{\\s*user-uaa\\s*\\|\\s*(1\\s*=\\s*)?' + Morebits.string.escapeRegExp(input.uid) + '\\s*(\\||\\})').test(text)) {
uaaPage.getStatusElement().error('Isticmaalaha waxaa horay loogu qoray liiska.');
const $uaaLink = '<a target="_blank" href="/wiki/WP:UAA">WP:UAA</a>';
Morebits.Status.printUserText(reason, 'Faallooyinka aad qortay waxaa lagu bixiyay hoos, haddii aad rabto inaad gacanta ku dhajiso ' + $uaaLink + ' hoosteeda:');
return;
}
uaaPage.getStatusElement().status('Waxaa lagu darayaa warbixin cusub...');
uaaPage.setEditSummary('Waxaa la warbixinayaa ' + (censorUsername ? 'magac isticmaale oo aflagaado ah.' : '[[Special:Contributions/' + input.uid + '|' + input.uid + ']].'));
uaaPage.setChangeTags(Twinkle.changeTags);
uaaPage.setPageText(text + '\n' + reason + '\n*');
uaaPage.setDiscussionToolsAutoSubscribe(false);
uaaPage.save();
});
break;
// WP:SPI
case 'sock':
/* falls through */
case 'puppet':
var reportData = Twinkle.arv.callback.getSpiReportData(input);
if (reportData.error) {
alert(reportData.error);
return;
}
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
Morebits.wiki.addCheckpoint();
var reportpage = 'Wikipedia:Sockpuppet investigations/' + reportData.sockmaster;
Morebits.wiki.actionCompleted.redirect = reportpage;
Morebits.wiki.actionCompleted.notice = 'Warbixintii waa la dhammeeyay';
var spiPage = new Morebits.wiki.Page(reportpage, 'Waxaa la soo qaadanayaa bogga wada-hadalka');
spiPage.setFollowRedirect(true);
spiPage.setEditSummary('Waxaa lagu darayaa warbixin cusub [[Special:Contributions/' + reportData.sockmaster + '|' + reportData.sockmaster + ']].');
spiPage.setChangeTags(Twinkle.changeTags);
spiPage.setAppendText(reportData.wikitext);
spiPage.setWatchlist(Twinkle.getPref('spiWatchReport'));
spiPage.setDiscussionToolsAutoSubscribe(false);
spiPage.append();
Morebits.wiki.removeCheckpoint();
break;
case 'an3':
Twinkle.arv.callback.getAn3ReportData(input).then((data) => {
for (const confirmation of data.confirmations) {
if (!confirm(confirmation)) {
return;
}
}
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
Morebits.wiki.addCheckpoint();
const reportpage = 'Wikipedia:Administrators\' noticeboard/Edit warring';
Morebits.wiki.actionCompleted.redirect = reportpage;
Morebits.wiki.actionCompleted.notice = 'Warbixintii waa la dhammeeyay';
const an3Page = new Morebits.wiki.Page(reportpage, 'Waxaa la soo qaadanayaa bogga wada-hadalka');
an3Page.setFollowRedirect(true);
an3Page.setEditSummary('Waxaa lagu darayaa warbixin cusub [[Special:Contributions/' + data.uid + '|' + data.uid + ']].');
an3Page.setChangeTags(Twinkle.changeTags);
an3Page.setAppendText(data.reportWikitext);
an3Page.setDiscussionToolsAutoSubscribe(false);
an3Page.append();
const notifyText = '\n\n{{subst:an3-notice|1=' + mw.util.wikiUrlencode(data.uid) + '|auto=1}} ~~~~';
const talkPage = new Morebits.wiki.Page('User talk:' + data.uid, 'La ogeysiinayaa dagaalyahanka wax-ka-beddelka');
talkPage.setFollowRedirect(true);
talkPage.setEditSummary('La ogeysiinayaa wada-hadalka guddiga khilaafka wax-ka-beddelka.');
talkPage.setChangeTags(Twinkle.changeTags);
talkPage.setAppendText(notifyText);
talkPage.append();
Morebits.wiki.removeCheckpoint();
}).catch((error) => {
console.error('Cillad ayaa dhacday habaynta warbixinta AN3.', error);
alert('Cillad ayaa dhacday habaynta warbixinta AN3: ' + error.message);
});
break;
}
};
Twinkle.arv.callback.getAivReasonWikitext = function(input) {
let text = '';
let type = input.arvtype;
if (!type.length && input.reason === '') {
return null;
}
type = type.map((v) => {
switch (v) {
case 'final':
return 'khasaarin digniintii ugu dambaysay kadib';
case 'postblock':
return 'khasaarin xiritaankii dhowaan la qaaday kadib';
case 'vandalonly':
return 'falku wuxuu si cad u muujinayaa xisaab khasaarin keliya u taagan';
case 'promoonly':
return 'xisaabta waxaa loo isticmaalaa ujeeddooyin xayeysiin keliya';
case 'spambot':
return 'xisaabtu waa qalab spam (spambot) ama xisaab la afduubay';
default:
return 'sabab aan la aqoon';
}
}).join('; ');
if (input.page !== '') {
text = 'Bogga {{No redirect|' + input.page + '}}';
if (input.badid !== '') {
text += ' ({{diff|' + input.page + '|' + input.badid + '|' + input.goodid + '|diff}})';
}
text += ':';
}
if (type) {
text += ' ' + type;
}
if (input.reason !== '') {
const textEndsInPunctuationOrBlank = /([.?!;:]|^)$/.test(text);
text += textEndsInPunctuationOrBlank ? '' : '.';
const textIsBlank = text === '';
text += textIsBlank ? '' : ' ';
text += input.reason;
}
text = text.trim();
const textEndsInPunctuation = /[.?!;]$/.test(text);
if (!textEndsInPunctuation) {
text += '.';
}
text += ' ~~~~';
text = text.replace(/\r?\n/g, '\n*:');
return text;
};
Twinkle.arv.callback.buildAivReport = function(input) {
return '\n*{{vandal|' + (/=/.test(input.uid) ? '1=' : '') + input.uid + '}} – ' + Twinkle.arv.callback.getAivReasonWikitext(input);
};
Twinkle.arv.callback.getUsernameReportWikitext = function(input) {
if (input.arvtype.length <= 2) {
input.arvtype = input.arvtype.join(' iyo ');
} else {
input.arvtype = [input.arvtype.slice(0, -1).join(', '), input.arvtype.slice(-1)].join(' iyo ');
}
let adjective = 'a';
if (/[aeiouwyh]/.test(input.arvtype[0] || '')) {
adjective = 'an';
}
let text = '*{{user-uaa|1=' + input.uid + '}} – ';
if (input.arvtype.length) {
text += 'Xadgudubka siyaasadda magaca isticmaalaha iyada oo ah ' + adjective + ' ' + input.arvtype + ' magac isticmaale. ';
}
if (input.reason !== '') {
text += Morebits.string.toUpperCaseFirstChar(input.reason);
const endsInPeriod = /\.$/.test(input.reason);
if (!endsInPeriod) {
text += '.';
}
text += ' ';
}
text += '~~~~';
text = text.replace(/\r?\n/g, '\n*:');
return text;
};
Twinkle.arv.callback.getSpiReportData = function(input) {
const isPuppetReport = input.category === 'puppet';
if (!isPuppetReport) {
input.sockpuppets = input.sockpuppets.filter((sock) => sock !== '');
}
if (isPuppetReport && !input.sockmaster) {
return { error: 'Ma aadan gelin xisaab abuuraha xisaabaha hoosaadka. Tixgeli inaad warbixin ka bixiso xisaabtan adigoo ka dhigaya abuuraha xisaabaha hoosaadka.' };
} else if (!isPuppetReport && input.sockpuppets.length === 0) {
return { error: 'Ma aadan gelin wax xisaab hoosaad ah. Tixgeli inaad warbixin ka bixiso xisaabtan adigoo ka dhigaya xisaab hoosaad.' };
}
input.sockmaster = input.sockmaster || input.uid;
input.sockpuppets = isPuppetReport ? [input.uid] : Morebits.array.uniq(input.sockpuppets);
let text = '\n{{subst:SPI report|' +
input.sockpuppets.map((sock, index) => (index + 1) + '=' + sock).join('|') +
'\n|evidence=' + Morebits.string.formatReasonText(input.evidence) +
' \n';
text += '}}';
return {
sockmaster: input.sockmaster,
wikitext: text
};
};
Twinkle.arv.callback.getAn3ReportData = async function(input) {
const confirmations = [];
const diffs = input.s_diffs ? input.s_diffs.map(JSON.parse) : [];
if (diffs.length < 3) {
confirmations.push('Waxaad dooratay wax ka yar saddex tafatir oo xadgudub ah. Ma rabtaa inaad warbixinta samayso si kastaba?');
}
const warnings = input.s_warnings ? input.s_warnings.map(JSON.parse) : [];
if (!warnings.length) {
confirmations.push('Ma aadan dooran wax tafatir ah oo aad ku digtay qofka xadgudbay. Ma rabtaa inaad warbixinta samayso si kastaba?');
}
const resolves = input.s_resolves ? input.s_resolves.map(JSON.parse) : [];
const freeResolves = input.s_resolves_free;
let freeResolvesData;
if (freeResolves) {
let query;
let diff, oldid;
const specialDiff = /Special:Diff\/(\d+)(?:\/(\S+))?/i.exec(freeResolves);
if (specialDiff) {
if (specialDiff[2]) {
oldid = specialDiff[1];
diff = specialDiff[2];
} else {
diff = specialDiff[1];
}
} else {
diff = mw.util.getParamValue('diff', freeResolves);
oldid = mw.util.getParamValue('oldid', freeResolves);
}
const title = mw.util.getParamValue('title', freeResolves);
const diffNum = /^\d+$/.test(diff);
if (oldid && (diff === 'cur' || (!title && (diff === 'next' || diffNum)))) {
query = {
action: 'compare',
fromrev: oldid,
prop: 'ids|title',
format: 'json'
};
if (diffNum) {
query.torev = diff;
} else {
query.torelative = diff;
}
} else {
query = {
action: 'query',
prop: 'revisions',
rvprop: 'ids|timestamp|comment',
format: 'json',
indexpageids: true
};
if (diff && oldid) {
if (diff === 'prev') {
query.revids = oldid;
} else {
query.titles = title;
query.rvdir = 'newer';
query.rvstartid = oldid;
if (diff === 'next' && title) {
query.rvlimit = 2;
} else if (diffNum) {
query.rvendid = diff;
}
}
} else {
if (diff && /^\D+$/.test(diff)) {
query.titles = title;
} else {
query.revids = diff || oldid;
}
}
}
let queryResponse;
try {
queryResponse = await new mw.Api().get(query);
} catch (err) {
const error = new Error('Wicitaanka MediaWiki API wuu guuldarraystay.');
error.cause = err;
throw error;
}
if (queryResponse.compare && queryResponse.compare.fromtitle === queryResponse.compare.totitle) {
freeResolvesData = queryResponse;
} else if (queryResponse.query) {
const pageIds = queryResponse.query.pageids;
if (!Array.isArray(pageIds) || pageIds.length !== 1) {
const error = new Error('Cillad baaritaanka diff-ka.');
error.cause = queryResponse;
throw error;
}
freeResolvesData = queryResponse.query.pages[pageIds[0]];
} else {
const error = new Error('Lama heli karin wax diff ah oo la xiriira URL-ka la bixiyay.');
error.cause = queryResponse;
throw error;
}
} else {
freeResolvesData = undefined;
}
if (!resolves.length && !freeResolvesData) {
confirmations.push('Ma aadan dooran wax tafatir ah oo aad isku dayday inaad dhibaatada ku xalliso. Ma rabtaa inaad warbixinta samayso si kastaba?');
}
const data = {
uid: input.uid,
page: input.page,
comment: input.comment,
diffs: diffs,
warnings: warnings,
resolves: resolves,
free_resolves: freeResolvesData,
confirmations: confirmations
};
let minid;
for (let i = 0; i < data.diffs.length; ++i) {
if (data.diffs[i].parentid && (!minid || data.diffs[i].parentid < minid)) {
minid = data.diffs[i].parentid;
}
}
let queryResponse;
try {
queryResponse = await new mw.Api().get({
action: 'query',
prop: 'revisions',
format: 'json',
rvprop: 'sha1|ids|timestamp|comment',
rvlimit: 100,
rvstartid: minid,
rvexcludeuser: data.uid,
indexpageids: true,
titles: data.page
});
} catch (err) {
const error = new Error('Wicitaanka MediaWiki API wuu guuldarraystay.');
error.cause = err;
throw error;
}
const hasHiddenComment = function(rev) {
if (!rev.comment && typeof rev.commenthidden === 'string') {
return '(faallo waa la qariyey)';
}
return '"' + rev.comment.replace(/\{/g, '{').replace(/\}/g, '}') + '"';
};
let orig;
if (queryResponse.length) {
const sha1 = queryResponse[0].sha1;
for (let i = 1; i < queryResponse.length; ++i) {
if (queryResponse[i].sha1 === sha1) {
orig = queryResponse[i];
break;
}
}
if (!orig) {
orig = queryResponse[0];
}
}
let origtext = '';
if (orig) {
origtext = '{{diff2|' + orig.revid + '|' + orig.timestamp + '}} ' + hasHiddenComment(orig);
}
const groupedDiffs = {};
let parentid, lastid;
for (let j = 0; j < data.diffs.length; ++j) {
const cur = data.diffs[j];
if ((cur.revid && cur.revid !== parentid) || lastid === null) {
lastid = cur.revid;
groupedDiffs[lastid] = [];
}
parentid = cur.parentid;
groupedDiffs[lastid].push(cur);
}
const difftext = $.map(groupedDiffs, (sub) => {
let ret = '';
if (sub.length >= 2) {
const last = sub[0];
const first = sub.slice(-1)[0];
const label = 'Tafatir isku xiga oo la sameeyay laga bilaabo ' + new Morebits.Date(first.timestamp).format('HH:mm, D MMMM YYYY', 'utc') + ' (UTC) ilaa ' + new Morebits.Date(last.timestamp).format('HH:mm, D MMMM YYYY', 'utc') + ' (UTC)';
ret = '# {{diff|oldid=' + first.parentid + '|diff=' + last.revid + '|label=' + label + '}}\n';
}
ret += sub.reverse().map((v) => (sub.length >= 2 ? '#' : '') + '# {{diff2|' + v.revid + '|' + new Morebits.Date(v.timestamp).format('HH:mm, D MMMM YYYY', 'utc') + ' (UTC)}} ' + hasHiddenComment(v)).join('\n');
return ret;
}).reverse().join('\n');
const warningtext = data.warnings.reverse().map((v) => '# {{diff2|' + v.revid + '|' + new Morebits.Date(v.timestamp).format('HH:mm, D MMMM YYYY', 'utc') + ' (UTC)}} ' + hasHiddenComment(v)).join('\n');
let resolvetext = data.resolves.reverse().map((v) => '# {{diff2|' + v.revid + '|' + new Morebits.Date(v.timestamp).format('HH:mm, D MMMM YYYY', 'utc') + ' (UTC)}} ' + hasHiddenComment(v)).join('\n');
if (data.free_resolves) {
const page = data.free_resolves;
if (page.compare) {
resolvetext += '\n# {{diff|oldid=' + page.compare.fromrevid + '|diff=' + page.compare.torevid + '|label=Tafatir isku xiga oo ku saabsan ' + page.compare.totitle + '}}';
} else if (page.revisions) {
const revCount = page.revisions.length;
let rev;
if (revCount < 3) {
rev = revCount === 1 ? page.revisions[0] : page.revisions[1];
resolvetext += '\n# {{diff2|' + rev.revid + '|' + new Morebits.Date(rev.timestamp).format('HH:mm, D MMMM YYYY', 'utc') + ' (UTC) on ' + page.title + '}} ' + hasHiddenComment(rev);
} else {
rev = page.revisions[0];
const revLatest = page.revisions[revCount - 1];
const label = 'Tafatir isku xiga oo la sameeyay laga bilaabo ' + new Morebits.Date(rev.timestamp).format('HH:mm, D MMMM YYYY', 'utc') + ' (UTC) ilaa ' + new Morebits.Date(revLatest.timestamp).format('HH:mm, D MMMM YYYY', 'utc') + ' (UTC) on ' + page.title;
resolvetext += '\n# {{diff|oldid=' + rev.revid + '|diff=' + revLatest.revid + '|label=' + label + '}}\n';
}
}
}
let comment = data.comment.replace(/~*$/g, '').trim();
if (comment) {
comment += ' ~~~~';
}
const reportWikitext = '\n\n{{subst:AN3 report|diffs=' + difftext + '|warnings=' + warningtext + '|resolves=' + resolvetext + '|pagename=' + data.page + '|orig=' + origtext + '|comment=' + comment + '|uid=' + data.uid + '}}';
return {
uid: data.uid,
reportWikitext: reportWikitext,
confirmations: data.confirmations
};
};
Twinkle.addInitCallback(Twinkle.arv, 'arv');
}());
// </nowiki>
rg0vqyl7wqie62pk179d25avhr46hik
MediaWiki:Gadget-twinklewarn.js
8
53673
310860
2026-10-25T11:05:33Z
Isma4l
41797
Abuuray
310860
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinklewarn.js: Qaybta Digniinta (Warn module)
****************************************
* Qaabka loo yeero: Tab ("Warn")
* Ka shaqeeya: Bog kasta oo leh magaca isticmaale ee khuseeya (User space, contributions, iwm.) (ma aha xadadka IP), iyo sidoo kale bogga guusha ee rollback-ka
*/
Twinkle.warn = function twinklewarn() {
// Isticmaaleyaasha iyo IP-yada laakiin ma aha xadadka IP
if (mw.config.exists('wgRelevantUserName') && !Morebits.ip.isRange(mw.config.get('wgRelevantUserName'))) {
Twinkle.addPortletLink(Twinkle.warn.callback, 'Digniin', 'tw-warn', 'Dige/ogeysii isticmaalaha');
if (Twinkle.getPref('autoMenuAfterRollback') &&
mw.config.get('wgNamespaceNumber') === 3 &&
Twinkle.getPrefill('vanarticle') &&
!Twinkle.getPrefill('twinklewelcome') &&
!Twinkle.getPrefill('noautowarn')) {
Twinkle.warn.callback();
}
}
// Wax ka beddel URL-ka bogga wada-hadalka ee boggaga guusha rollback, iyadoo la isticmaalayo sanduuq fariin gaar ah oo ku jira [[MediaWiki:Rollback-success]]
if (mw.config.get('wgAction') === 'rollback') {
const $vandalTalkLink = $('#mw-rollback-success').find('.mw-usertoollinks a').first();
if ($vandalTalkLink.length) {
$vandalTalkLink.css('font-weight', 'bold');
$vandalTalkLink.wrapInner($('<span>').attr('title', 'Haddii ay habboon tahay, waxaad isticmaali kartaa Twinkle si aad ugu digto isticmaalaha wax-ka-beddelkiisa boggan.'));
// Lama bixin karo vanarticlerevid maadaama kaliya wgCurRevisionId la bixiyay
const extraParam = 'vanarticle=' + mw.util.rawurlencode(Morebits.pageNameNorm);
const href = $vandalTalkLink.attr('href');
if (!href.includes('?')) {
$vandalTalkLink.attr('href', href + '?' + extraParam);
} else {
$vandalTalkLink.attr('href', href + '&' + extraParam);
}
}
}
};
// Waxaa loo isticmaalaa in la xiro daaqada marka loo beddelayo ARV ee autolevel
Twinkle.warn.dialog = null;
Twinkle.warn.callback = function twinklewarnCallback() {
if (mw.config.get('wgRelevantUserName') === mw.config.get('wgUserName') &&
!confirm('Waxaad ku dhowdahay inaad naftaada digto! Ma hubtaa inaad rabto inaad sii wadho?')) {
return;
}
Twinkle.warn.dialog = new Morebits.SimpleWindow(600, 440);
const dialog = Twinkle.warn.dialog;
dialog.setTitle('Dige/ogeysii isticmaalaha');
dialog.setScriptName('Twinkle');
dialog.addFooterLink('Doorashada heerka digniinta', 'WP:UWUL#Levels');
dialog.addFooterLink('Doorbidyada digniinta', 'WP:TW/PREF#warn');
dialog.addFooterLink('Caawinta Twinkle', 'WP:TW/DOC#warn');
dialog.addFooterLink('Bixi ra’yi-celin', 'WT:TW');
const form = new Morebits.QuickForm(Twinkle.warn.callback.evaluate);
const main_select = form.append({
type: 'field',
label: 'Dooro nooca digniinta/ogeysiiska la bixinayo',
tooltip: 'Marka hore dooro kooxda ugu weyn ee digniinta, ka dibna digniinta gaarka ah ee la bixinayo.'
});
const main_group = main_select.append({
type: 'select',
name: 'main_group',
tooltip: 'Waxaad habayn kartaa xulashada caadiga ah ee doorbidyadaada Twinkle',
event: Twinkle.warn.callback.change_category
});
const defaultGroup = parseInt(Twinkle.getPref('defaultWarningGroup'), 10);
main_group.append({ type: 'option', label: 'Si otomaatig ah u dooro heerka (1-4)', value: 'autolevel', selected: defaultGroup === 11 });
main_group.append({ type: 'option', label: '1: Ogeysiis guud', value: 'level1', selected: defaultGroup === 1 });
main_group.append({ type: 'option', label: '2: Digtoono', value: 'level2', selected: defaultGroup === 2 });
main_group.append({ type: 'option', label: '3: Digniin', value: 'level3', selected: defaultGroup === 3 });
main_group.append({ type: 'option', label: '4: Digniinta ugu dambeysa', value: 'level4', selected: defaultGroup === 4 });
main_group.append({ type: 'option', label: '4im: Digniin keliya', value: 'level4im', selected: defaultGroup === 5 });
if (Twinkle.getPref('combinedSingletMenus')) {
main_group.append({ type: 'option', label: 'Fariimaha hal arrin ah', value: 'singlecombined', selected: defaultGroup === 6 || defaultGroup === 7 });
} else {
main_group.append({ type: 'option', label: 'Ogeysiisyada hal arrin ah', value: 'singlenotice', selected: defaultGroup === 6 });
main_group.append({ type: 'option', label: 'Digniinta hal arrin ah', value: 'singlewarn', selected: defaultGroup === 7 });
}
if (Twinkle.getPref('customWarningList').length) {
main_group.append({ type: 'option', label: 'Digniinta caadiga ah', value: 'custom', selected: defaultGroup === 9 });
}
main_group.append({ type: 'option', label: 'Dhammaan muunadaha digniinta', value: 'kitchensink', selected: defaultGroup === 10 });
main_select.append({ type: 'select', name: 'sub_group', event: Twinkle.warn.callback.change_subcategory }); // Wuxuu noqon doonaa mid madhan marka hore.
form.append({
type: 'input',
name: 'article',
label: 'Bogga la xiriira',
value: Twinkle.getPrefill('vanarticle') || '',
tooltip: 'Bog waxaa lagu xiriirin karaa ogeysiiska dhexdiisa, malaha sababtoo ah waxay ahayd dib-u-celin boggaas oo sababtay ogeysiiskaan. Ka tag banaan haddii aan la xiriirinayn bog.'
});
form.append({
type: 'div',
label: '',
style: 'color: red',
id: 'twinkle-warn-warning-messages'
});
const more = form.append({ type: 'field', name: 'reasonGroup', label: 'Macluumaadka digniinta' });
more.append({ type: 'textarea', label: 'Fariin ikhtiyaari ah:', name: 'reason', tooltip: 'Malaha sabab, ama in ogeysiis faahfaahsan la soo daro' });
const previewlink = document.createElement('a');
$(previewlink).on('click', () => {
Twinkle.warn.callbacks.preview(result); // |result| waa mid lagu qeexay hoos
});
previewlink.style.cursor = 'pointer';
previewlink.textContent = 'Horudhac (Preview)';
more.append({ type: 'div', id: 'warningpreview', label: [previewlink] });
more.append({ type: 'div', id: 'twinklewarn-previewbox', style: 'display: none' });
more.append({ type: 'submit', label: 'Gudbi' });
var result = form.render();
dialog.setContent(result);
dialog.display();
result.main_group.root = result;
result.previewer = new Morebits.wiki.Preview($(result).find('div#twinklewarn-previewbox').last()[0]);
// Ogeysiisyada suurtagalka ah ee da'da iyo dib-u-celinta la seegay
const vanrevid = Twinkle.getPrefill('vanarticlerevid');
if (vanrevid) {
let message = '';
let query = {};
// Haddii aad isku dayday inaad dib u celiso, hubi haddii *adiga* aad dhab ahaantii dib u celisay
if (!Twinkle.getPrefill('noautowarn') && Twinkle.getPrefill('vanarticle')) { // Iyada oo la adeegsanayo xiriirka rollback
query = {
action: 'query',
titles: Twinkle.getPrefill('vanarticle'),
prop: 'revisions',
rvstartid: vanrevid,
rvlimit: 2,
rvdir: 'newer',
rvprop: 'user',
format: 'json'
};
new Morebits.wiki.Api('Waxaa la hubinayaa haddii aad si guul leh u celisay bogga', query, ((apiobj) => {
const rev = apiobj.getResponse().query.pages[0].revisions;
const revertUser = rev && rev[1].user;
if (revertUser && revertUser !== mw.config.get('wgUserName')) {
message += ' Qof kale ayaa bogga dib u celiyay waxaana laga yaabaa inuu horay u digay isticmaalaha.';
$('#twinkle-warn-warning-messages').text('Fiiro gaar ah:' + message);
}
})).post();
}
// Xaqiiji in tafatirku uusan aad u duugoobayn digniin
const checkStale = function(vantimestamp) {
const revDate = new Morebits.Date(vantimestamp);
if (vantimestamp && revDate.isValid()) {
if (revDate.add(24, 'hours').isBefore(new Date())) {
message += ' Tafatirkan waxaa la sameeyay in ka badan 24 saacadood ka hor markaasna digniintu waxaa laga yaabaa inay duugowday.';
$('#twinkle-warn-warning-messages').text('Fiiro gaar ah:' + message);
}
}
};
let vantimestamp = Twinkle.getPrefill('vantimestamp');
// Haddii laga keenay dib-u-celin ku saleysan module-ka rollback, looma baahna API lookup
if (vantimestamp) {
checkStale(vantimestamp);
} else {
query = {
action: 'query',
prop: 'revisions',
rvprop: 'timestamp',
revids: vanrevid,
format: 'json'
};
new Morebits.wiki.Api('Waxaa la soo qaadanayaa wakhtiyada dib-u-eegista', query, ((apiobj) => {
const rev = apiobj.getResponse().query.pages[0].revisions;
vantimestamp = rev && rev[0].timestamp;
checkStale(vantimestamp);
})).post();
}
}
// Waa inaan billownaa doorashadii ugu horreysay (Ogeysiis Guud);
const evt = document.createEvent('Event');
evt.initEvent('change', true, true);
result.main_group.dispatchEvent(evt);
};
Twinkle.warn.messages = {
levels: {
'Digniinta guud': {
'uw-vandalism': {
level1: {
label: 'Khasaarin (Vandalism)',
summary: 'Ogeysiis guud: Tafatir aan wax dhisayn'
},
level2: {
label: 'Khasaarin (Vandalism)',
summary: 'Digtoono: Tafatir aan wax dhisayn'
},
level3: {
label: 'Khasaarin (Vandalism)',
summary: 'Digniin: Khasaarin'
},
level4: {
label: 'Khasaarin (Vandalism)',
summary: 'Digniinta ugu dambeysa: Khasaarin'
},
level4im: {
label: 'Khasaarin (Vandalism)',
summary: 'Digniin keliya: Khasaarin'
}
},
'uw-disruptive': {
level1: {
label: 'Tafatir khalkhalin ah',
summary: 'Ogeysiis guud: Tafatir aan wax dhisayn'
},
level2: {
label: 'Tafatir khalkhalin ah',
summary: 'Digtoono: Tafatir aan wax dhisayn'
},
level3: {
label: 'Tafatir khalkhalin ah',
summary: 'Digniin: Tafatir khalkhalin ah'
}
},
'uw-test': {
level1: {
label: 'Tijaabooyin tafatir',
summary: 'Ogeysiis guud: Tijaabooyin tafatir'
},
level2: {
label: 'Tijaabooyin tafatir',
summary: 'Digtoono: Tijaabooyin tafatir'
},
level3: {
label: 'Tijaabooyin tafatir',
summary: 'Digniin: Tijaabooyin tafatir'
}
},
'uw-delete': {
level1: {
label: 'Tirtiridda wax-ku-jira, madhxin',
summary: 'Ogeysiis guud: Tirtiridda wax-ku-jira, madhxin'
},
level2: {
label: 'Tirtiridda wax-ku-jira, madhxin',
summary: 'Digtoono: Tirtiridda wax-ku-jira, madhxin'
},
level3: {
label: 'Tirtiridda wax-ku-jira, madhxin',
summary: 'Digniin: Tirtiridda wax-ku-jira, madhxin'
},
level4: {
label: 'Tirtiridda wax-ku-jira, madhxin',
summary: 'Digniinta ugu dambeysa: Tirtiridda wax-ku-jira, madhxin'
},
level4im: {
label: 'Tirtiridda wax-ku-jira, madhxin',
summary: 'Digniin keliya: Tirtiridda wax-ku-jira, madhxin'
}
},
'uw-generic': {
level4: {
label: 'Digniin guud (oo loogu talagalay taxanaha muunadda ee ka maqan heerka 4)',
summary: 'Ogeysiiska digniinta ugu dambeysa'
}
}
},
'Dhaqanka boggaga': {
'uw-ai': {
level1: {
label: 'Isticmaalka moodal luqadeed oo weyn (LLM)',
summary: 'Ogeysiis guud: Isticmaalka moodal luqadeed oo weyn'
},
level2: {
label: 'Isticmaalka moodal luqadeed oo weyn (LLM)',
summary: 'Digtoono: Isticmaalka moodal luqadeed oo weyn'
},
level3: {
label: 'Isticmaalka moodal luqadeed oo weyn (LLM)',
summary: 'Digniin: Isticmaalka moodal luqadeed oo weyn'
},
level4: {
label: 'Isticmaalka moodal luqadeed oo weyn (LLM)',
summary: 'Digniinta ugu dambeysa: Isticmaalka moodal luqadeed oo weyn'
}
},
'uw-biog': {
level1: {
label: 'Ku darista macluumaad muranka dhaliyay oo aan tixraac lahayn oo ku saabsan dadka nool',
summary: 'Ogeysiis guud: Ku darista macluumaad muranka dhaliyay oo aan tixraac lahayn oo ku saabsan dadka nool'
},
level2: {
label: 'Ku darista macluumaad muranka dhaliyay oo aan tixraac lahayn oo ku saabsan dadka nool',
summary: 'Digtoono: Ku darista macluumaad muranka dhaliyay oo aan tixraac lahayn oo ku saabsan dadka nool'
},
level3: {
label: 'Ku darista macluumaad muranka dhaliyay/sumcad-dil ah oo aan tixraac lahayn oo ku saabsan dadka nool',
summary: 'Digniin: Ku darista macluumaad muranka dhaliyay oo aan tixraac lahayn oo ku saabsan dadka nool'
},
level4: {
label: 'Ku darista macluumaad sumcad-dil ah oo aan tixraac lahayn oo ku saabsan dadka nool',
summary: 'Digniinta ugu dambeysa: Ku darista macluumaad muranka dhaliyay oo aan tixraac lahayn oo ku saabsan dadka nool'
},
level4im: {
label: 'Ku darista macluumaad sumcad-dil ah oo aan tixraac lahayn oo ku saabsan dadka nool',
summary: 'Digniin keliya: Ku darista macluumaad muranka dhaliyay oo aan tixraac lahayn oo ku saabsan dadka nool'
}
},
'uw-defamatory': {
level1: {
label: 'Ku darista wax-ku-jira sumcad-dil ah',
summary: 'Ogeysiis guud: Ku darista wax-ku-jira sumcad-dil ah'
},
level2: {
label: 'Ku darista wax-ku-jira sumcad-dil ah',
summary: 'Digtoono: Ku darista wax-ku-jira sumcad-dil ah'
},
level3: {
label: 'Ku darista wax-ku-jira sumcad-dil ah',
summary: 'Digniin: Ku darista wax-ku-jira sumcad-dil ah'
},
level4: {
label: 'Ku darista wax-ku-jira sumcad-dil ah',
summary: 'Digniinta ugu dambeysa: Ku darista wax-ku-jira sumcad-dil ah'
},
level4im: {
label: 'Ku darista wax-ku-jira sumcad-dil ah',
summary: 'Digniin keliya: Ku darista wax-ku-jira sumcad-dil ah'
}
},
'uw-error': {
level1: {
label: 'Soo gelinta khaladaad xaqiiqo ah oo u kac kac ah',
summary: 'Ogeysiis guud: Soo gelinta khaladaad xaqiiqo ah'
},
level2: {
label: 'Soo gelinta khaladaad xaqiiqo ah oo u kac kac ah',
summary: 'Digtoono: Soo gelinta khaladaad xaqiiqo ah'
},
level3: {
label: 'Soo gelinta khaladaad xaqiiqo ah oo u kac kac ah',
summary: 'Digniin: Soo gelinta khaladaad xaqiiqo ah oo u kac kac ah'
},
level4: {
label: 'Soo gelinta khaladaad xaqiiqo ah oo u kac kac ah',
summary: 'Digniinta ugu dambeysa: Soo gelinta khaladaad xaqiiqo ah oo u kac kac ah'
}
},
'uw-fringe': {
level1: {
label: 'Soo gelinta aragtiyo cidhifyo ah (fringe theories)',
summary: 'Ogeysiis guud: Soo gelinta aragtiyo cidhifyo ah'
},
level2: {
label: 'Soo gelinta aragtiyo cidhifyo ah (fringe theories)',
summary: 'Digtoono: Soo gelinta aragtiyo cidhifyo ah'
},
level3: {
label: 'Soo gelinta aragtiyo cidhifyo ah (fringe theories)',
summary: 'Digniin: Soo gelinta aragtiyo cidhifyo ah'
}
},
'uw-genre': {
level1: {
label: 'Beddelashada joogtada ah ama tirada badan ee noocyada (genres) iyada oo aan la haysan is-afgarad ama tixraacyo',
summary: 'Ogeysiis guud: Beddelashada joogtada ah ama tirada badan ee noocyada iyada oo aan la haysan is-afgarad ama tixraacyo'
},
level2: {
label: 'Beddelashada joogtada ah ama tirada badan ee noocyada (genres) iyada oo aan la haysan is-afgarad ama tixraacyo',
summary: 'Digtoono: Beddelashada joogtada ah ama tirada badan ee noocyada iyada oo aan la haysan is-afgarad ama tixraacyo'
},
level3: {
label: 'Beddelashada joogtada ah ama tirada badan ee noocyada iyada oo aan la haysan is-afgarad ama tixraac',
summary: 'Digniin: Beddelashada joogtada ah ama tirada badan ee noocyada iyada oo aan la haysan is-afgarad ama tixraac'
},
level4: {
label: 'Beddelashada joogtada ah ama tirada badan ee noocyada iyada oo aan la haysan is-afgarad ama tixraac',
summary: 'Digniinta ugu dambeysa: Beddelashada joogtada ah ama tirada badan ee noocyada iyada oo aan la haysan is-afgarad ama tixraac'
}
},
'uw-image': {
level1: {
label: 'Sawirro aan munaasib ahayn oo lagu daray boggaga',
summary: 'Ogeysiis guud: Sawirro aan munaasib ahayn oo lagu daray boggaga'
},
level2: {
label: 'Khasaarin la xiriirta sawirro ee boggaga',
summary: 'Digtoono: Khasaarin la xiriirta sawirro ee boggaga'
},
level3: {
label: 'Khasaarin la xiriirta sawirro ee boggaga',
summary: 'Digniin: Khasaarin la xiriirta sawirro ee boggaga'
},
level4: {
label: 'Khasaarin la xiriirta sawirro ee boggaga',
summary: 'Digniinta ugu dambeysa: Khasaarin la xiriirta sawirro ee boggaga'
},
level4im: {
label: 'Khasaarin la xiriirta sawirro',
summary: 'Digniin keliya: Khasaarin la xiriirta sawirro'
}
},
'uw-joke': {
level1: {
label: 'Isticmaalka kaftan aan munaasib ahayn ee boggaga',
summary: 'Ogeysiis guud: Isticmaalka kaftan aan munaasib ahayn ee boggaga'
},
level2: {
label: 'Isticmaalka kaftan aan munaasib ahayn ee boggaga',
summary: 'Digtoono: Isticmaalka kaftan aan munaasib ahayn ee boggaga'
},
level3: {
label: 'Isticmaalka kaftan aan munaasib ahayn ee boggaga',
summary: 'Digniin: Isticmaalka kaftan aan munaasib ahayn ee boggaga'
},
level4: {
label: 'Isticmaalka kaftan aan munaasib ahayn ee boggaga',
summary: 'Digniinta ugu dambeysa: Isticmaalka kaftan aan munaasib ahayn ee boggaga'
},
level4im: {
label: 'Isticmaalka kaftan aan munaasib ahayn',
summary: 'Digniin keliya: Isticmaalka kaftan aan munaasib ahayn'
}
},
'uw-nor': {
level1: {
label: 'Ku darista cilmi-baarista asalka ah (original research)',
summary: 'Ogeysiis guud: Ku darista cilmi-baarista asalka ah'
},
level2: {
label: 'Ku darista cilmi-baarista asalka ah (original research)',
summary: 'Digtoono: Ku darista cilmi-baarista asalka ah'
},
level3: {
label: 'Ku darista cilmi-baarista asalka ah (original research)',
summary: 'Digniin: Ku darista cilmi-baarista asalka ah'
},
level4: {
label: 'Ku darista cilmi-baarista asalka ah (original research)',
summary: 'Digniinta ugu dambeysa: Ku darista cilmi-baarista asalka ah'
}
},
'uw-notcensored': {
level1: {
label: 'Faquuqidda (censorship) agabka',
summary: 'Ogeysiis guud: Faquuqidda agabka'
},
level2: {
label: 'Faquuqidda (censorship) agabka',
summary: 'Digtoono: Faquuqidda agabka'
},
level3: {
label: 'Faquuqidda (censorship) agabka',
summary: 'Digniin: Faquuqidda agabka'
}
},
'uw-own': {
level1: {
label: 'Lahaanshaha boggaga (Ownership)',
summary: 'Ogeysiis guud: Lahaanshaha boggaga'
},
level2: {
label: 'Lahaanshaha boggaga (Ownership)',
summary: 'Digtoono: Lahaanshaha boggaga'
},
level3: {
label: 'Lahaanshaha boggaga (Ownership)',
summary: 'Digniin: Lahaanshaha boggaga'
},
level4: {
label: 'Lahaanshaha boggaga (Ownership)',
summary: 'Digniinta ugu dambeysa: Lahaanshaha boggaga'
},
level4im: {
label: 'Lahaanshaha boggaga (Ownership)',
summary: 'Digniin keliya: Lahaanshaha boggaga'
}
},
'uw-pronouns': {
level1: {
label: 'Soo gelinta magac-u-yaallo khaldan',
summary: 'Ogeysiis guud: Soo gelinta magac-u-yaallo khaldan'
},
level2: {
label: 'Soo gelinta magac-u-yaallo khaldan',
summary: 'Digtoono: Soo gelinta magac-u-yaallo khaldan'
},
level3: {
label: 'Soo gelinta magac-u-yaallo khaldan',
summary: 'Digniin: Soo gelinta magac-u-yaallo khaldan'
}
},
'uw-subtle': {
level1: {
label: 'Khasaarin qotto-dheer / xariifnimo ah (Subtle vandalism)',
summary: 'Ogeysiis guud: Suurtagalnimada tafatir aan wax dhisayn'
},
level2: {
label: 'Khasaarin qotto-dheer / xariifnimo ah (Subtle vandalism)',
summary: 'Digtoono: U mad bannaan tafatir aan wax dhisayn'
},
level3: {
label: 'Khasaarin qotto-dheer / xariifnimo ah (Subtle vandalism)',
summary: 'Digniin: Khasaarin qotto-dheer'
},
level4: {
label: 'Khasaarin qotto-dheer / xariifnimo ah (Subtle vandalism)',
summary: 'Digniinta ugu dambeysa: Khasaarin qotto-dheer'
}
},
'uw-talkinarticle': {
level1: {
label: 'Ku darista faallo boggaga maqaalka ah',
summary: 'Ogeysiis guud: Ku darista faallo boggaga maqaalka ah'
},
level2: {
label: 'Ku darista faallo boggaga maqaalka ah',
summary: 'Digtoono: Ku darista faallo boggaga maqaalka ah'
},
level3: {
label: 'Ku darista faallo boggaga maqaalka ah',
summary: 'Digniin: Ku darista faallo boggaga maqaalka ah'
}
},
'uw-tdel': {
level1: {
label: 'Tirtiridda muunadaha dayactirka (maintenance templates)',
summary: 'Ogeysiis guud: Tirtiridda muunadaha dayactirka'
},
level2: {
label: 'Tirtiridda muunadaha dayactirka (maintenance templates)',
summary: 'Digtoono: Tirtiridda muunadaha dayactirka'
},
level3: {
label: 'Tirtiridda muunadaha dayactirka (maintenance templates)',
summary: 'Digniin: Tirtiridda muunadaha dayactirka'
},
level4: {
label: 'Tirtiridda muunadaha dayactirka (maintenance templates)',
summary: 'Digniinta ugu dambeysa: Tirtiridda muunadaha dayactirka'
}
},
'uw-unsourced': {
level1: {
label: 'Ku darista wax-ku-jira aan tixraaca lahayn ama si khaldan loo soo xigtay',
summary: 'Ogeysiis guud: Ku darista wax-ku-jira aan tixraaca lahayn ama si khaldan loo soo xigtay'
},
level2: {
label: 'Ku darista wax-ku-jira aan tixraaca lahayn ama si khaldan loo soo xigtay',
summary: 'Digtoono: Ku darista wax-ku-jira aan tixraaca lahayn ama si khaldan loo soo xigtay'
},
level3: {
label: 'Ku darista wax-ku-jira aan tixraaca lahayn ama si khaldan loo soo xigtay',
summary: 'Digniin: Ku darista wax-ku-jira aan tixraaca lahayn ama si khaldan loo soo xigtay'
},
level4: {
label: 'Ku darista wax-ku-jira aan tixraaca lahayn ama si khaldan loo soo xigtay',
summary: 'Digniinta ugu dambeysa: Ku darista wax-ku-jira aan tixraaca lahayn ama si khaldan loo soo xigtay'
}
}
},
'Xayeysiisyada iyo Spam-ka': {
'uw-advert': {
level1: {
label: 'Isticmaalka Wikipedia ee xayeysiis ama dhiirigelin',
summary: 'Ogeysiis guud: Isticmaalka Wikipedia ee xayeysiis ama dhiirigelin'
},
level2: {
label: 'Isticmaalka Wikipedia ee xayeysiis ama dhiirigelin',
summary: 'Digtoono: Isticmaalka Wikipedia ee xayeysiis ama dhiirigelin'
},
level3: {
label: 'Isticmaalka Wikipedia ee xayeysiis ama dhiirigelin',
summary: 'Digniin: Isticmaalka Wikipedia ee xayeysiis ama dhiirigelin'
},
level4: {
label: 'Isticmaalka Wikipedia ee xayeysiis ama dhiirigelin',
summary: 'Digniinta ugu dambeysa: Isticmaalka Wikipedia ee xayeysiis ama dhiirigelin'
},
level4im: {
label: 'Isticmaalka Wikipedia ee xayeysiis ama dhiirigelin',
summary: 'Digniin keliya: Isticmaalka Wikipedia ee xayeysiis ama dhiirigelin'
}
},
'uw-npov': {
level1: {
label: 'Inaan la raacin aragtida dhex-dhexaadka ah (neutral point of view)',
summary: 'Ogeysiis guud: Inaan la raacin aragtida dhex-dhexaadka ah'
},
level2: {
label: 'Inaan la raacin aragtida dhex-dhexaadka ah (neutral point of view)',
summary: 'Digtoono: Inaan la raacin aragtida dhex-dhexaadka ah'
},
level3: {
label: 'Inaan la raacin aragtida dhex-dhexaadka ah (neutral point of view)',
summary: 'Digniin: Inaan la raacin aragtida dhex-dhexaadka ah'
},
level4: {
label: 'Inaan la raacin aragtida dhex-dhexaadka ah (neutral point of view)',
summary: 'Digniinta ugu dambeysa: Inaan la raacin aragtida dhex-dhexaadka ah'
}
},
'uw-paid': {
level1: {
label: 'Tafatir lacag lagu qaatay oo aan la shaacin iyada oo la raacayo Shuruudaha Isticmaalka Wikimedia',
summary: 'Ogeysiis guud: Shuruudaha shaacinta ee tafatirka lacag lagu qaatay'
},
level2: {
label: 'Tafatir lacag lagu qaatay oo aan la shaacin iyada oo la raacayo Shuruudaha Isticmaalka Wikimedia',
summary: 'Digtoono: Shuruudaha shaacinta ee tafatirka lacag lagu qaatay'
},
level3: {
label: 'Tafatir lacag lagu qaatay oo aan la shaacin iyada oo la raacayo Shuruudaha Isticmaalka Wikimedia',
summary: 'Digniin: Shuruudaha shaacinta ee tafatirka lacag lagu qaatay'
},
level4: {
label: 'Tafatir lacag lagu qaatay oo aan la shaacin iyada oo la raacayo Shuruudaha Isticmaalka Wikimedia',
summary: 'Digniinta ugu dambeysa: Shuruudaha shaacinta ee tafatirka lacag lagu qaatay'
}
},
'uw-spam': {
level1: {
label: 'Ku darista xiriiriyeyaasha dibadda ee aan munaasibka ahayn',
summary: 'Ogeysiis guud: Ku darista xiriiriyeyaasha dibadda ee aan munaasibka ahayn'
},
level2: {
label: 'Ku darista xiriiriyeyaasha spam-ka',
summary: 'Digtoono: Ku darista xiriiriyeyaasha spam-ka'
},
level3: {
label: 'Ku darista xiriiriyeyaasha spam-ka',
summary: 'Digniin: Ku darista xiriiriyeyaasha spam-ka'
},
level4: {
label: 'Ku darista xiriiriyeyaasha spam-ka',
summary: 'Digniinta ugu dambeysa: Ku darista xiriiriyeyaasha spam-ka'
},
level4im: {
label: 'Ku darista xiriiriyeyaasha spam-ka',
summary: 'Digniin keliya: Ku darista xiriiriyeyaasha spam-ka'
}
}
},
'Dhaqanka lala leeyahay tafatirayaasha kale': {
'uw-agf': {
level1: {
label: 'Inaan la filayn niyad-wanaag (assuming good faith)',
summary: 'Ogeysiis guud: Inaan la filayn niyad-wanaag'
},
level2: {
label: 'Inaan la filayn niyad-wanaag (assuming good faith)',
summary: 'Digtoono: Inaan la filayn niyad-wanaag'
},
level3: {
label: 'Inaan la filayn niyad-wanaag (assuming good faith)',
summary: 'Digniin: Inaan la filayn niyad-wanaag'
}
},
'uw-aitalk': {
level1: {
label: 'Soo gelinta faallooyin uu soo saaray LLM',
summary: 'Ogeysiis guud: Soo gelinta faallooyin uu soo saaray LLM'
},
level2: {
label: 'Soo gelinta faallooyin uu soo saaray LLM',
summary: 'Digtoono: Soo gelinta faallooyin uu soo saaray LLM'
},
level3: {
label: 'Soo gelinta faallooyin uu soo saaray LLM',
summary: 'Digniin: Soo gelinta faallooyin uu soo saaray LLM'
},
level4: {
label: 'Soo gelinta faallooyin uu soo saaray LLM',
summary: 'Digniinta ugu dambeysa: Soo gelinta faallooyin uu soo saaray LLM'
}
},
'uw-harass': {
level1: {
label: 'Dhibaateynta isticmaaleyaasha kale',
summary: 'Ogeysiis guud: Dhibaateynta isticmaaleyaasha kale'
},
level2: {
label: 'Dhibaateynta isticmaaleyaasha kale',
summary: 'Digtoono: Dhibaateynta isticmaaleyaasha kale'
},
level3: {
label: 'Dhibaateynta isticmaaleyaasha kale',
summary: 'Digniin: Dhibaateynta isticmaaleyaasha kale'
},
level4: {
label: 'Dhibaateynta isticmaaleyaasha kale',
summary: 'Digniinta ugu dambeysa: Dhibaateynta isticmaaleyaasha kale'
},
level4im: {
label: 'Dhibaateynta isticmaaleyaasha kale',
summary: 'Digniin keliya: Dhibaateynta isticmaaleyaasha kale'
}
},
'uw-npa': {
level1: {
label: 'Weerar shaqsiyeed oo ku socda tafatire gaar ah',
summary: 'Ogeysiis guud: Weerar shaqsiyeed oo ku socda tafatire gaar ah'
},
level2: {
label: 'Weerar shaqsiyeed oo ku socda tafatire gaar ah',
summary: 'Digtoono: Weerar shaqsiyeed oo ku socda tafatire gaar ah'
},
level3: {
label: 'Weerar shaqsiyeed oo ku socda tafatire gaar ah',
summary: 'Digniin: Weerar shaqsiyeed oo ku socda tafatire gaar ah'
},
level4: {
label: 'Weerar shaqsiyeed oo ku socda tafatire gaar ah',
summary: 'Digniinta ugu dambeysa: Weerar shaqsiyeed oo ku socda tafatire gaar ah'
},
level4im: {
label: 'Weerar shaqsiyeed oo ku socda tafatire gaar ah',
summary: 'Digniin keliya: Weerar shaqsiyeed oo ku socda tafatire gaar ah'
}
},
'uw-tempabuse': {
level1: {
label: 'Isticmaalka khaldan ee muunadda digniinta ama xiritaanka',
summary: 'Ogeysiis guud: Isticmaalka khaldan ee muunadda digniinta ama xiritaanka'
},
level2: {
label: 'Isticmaalka khaldan ee muunadda digniinta ama xiritaanka',
summary: 'Digtoono: Isticmaalka khaldan ee muunadda digniinta ama xiritaanka'
}
}
},
'Tirtiridda muunadaha tirtiridda': {
'uw-afd': {
level1: {
label: 'Tirtiridda muunadaha {{afd}}',
summary: 'Ogeysiis guud: Tirtiridda muunadaha {{afd}}'
},
level2: {
label: 'Tirtiridda muunadaha {{afd}}',
summary: 'Digtoono: Tirtiridda muunadaha {{afd}}'
},
level3: {
label: 'Tirtiridda muunadaha {{afd}}',
summary: 'Digniin: Tirtiridda muunadaha {{afd}}'
},
level4: {
label: 'Tirtiridda muunadaha {{afd}}',
summary: 'Digniinta ugu dambeysa: Tirtiridda muunadaha {{afd}}'
}
},
'uw-blpprod': {
level1: {
label: 'Tirtiridda muunadaha {{blp prod}}',
summary: 'Ogeysiis guud: Tirtiridda muunadaha {{blp prod}}'
},
level2: {
label: 'Tirtiridda muunadaha {{blp prod}}',
summary: 'Digtoono: Tirtiridda muunadaha {{blp prod}}'
},
level3: {
label: 'Tirtiridda muunadaha {{blp prod}}',
summary: 'Digniin: Tirtiridda muunadaha {{blp prod}}'
},
level4: {
label: 'Tirtiridda muunadaha {{blp prod}}',
summary: 'Digniinta ugu dambeysa: Tirtiridda muunadaha {{blp prod}}'
}
},
'uw-idt': {
level1: {
label: 'Tirtiridda calaamadaha tirtiridda faylka',
summary: 'Ogeysiis guud: Tirtiridda calaamadaha tirtiridda faylka'
},
level2: {
label: 'Tirtiridda calaamadaha tirtiridda faylka',
summary: 'Digtoono: Tirtiridda calaamadaha tirtiridda faylka'
},
level3: {
label: 'Tirtiridda calaamadaha tirtiridda faylka',
summary: 'Digniin: Tirtiridda calaamadaha tirtiridda faylka'
},
level4: {
label: 'Tirtiridda calaamadaha tirtiridda faylka',
summary: 'Digniinta ugu dambeysa: Tirtiridda calaamadaha tirtiridda faylka'
}
},
'uw-rfd': {
level1: {
label: 'Tirtiridda redirects-ka ee calaamadaha wada-hadalka',
summary: 'Ogeysiis guud: Tirtiridda redirects-ka ee calaamadaha wada-hadalka'
},
level2: {
label: 'Tirtiridda redirects-ka ee calaamadaha wada-hadalka',
summary: 'Digtoono: Tirtiridda redirects-ka ee calaamadaha wada-hadalka'
},
level3: {
label: 'Tirtiridda redirects-ka ee calaamadaha wada-hadalka',
summary: 'Digniin: Tirtiridda redirects-ka ee calaamadaha wada-hadalka'
},
level4: {
label: 'Tirtiridda redirects-ka ee calaamadaha wada-hadalka',
summary: 'Digniinta ugu dambeysa: Tirtiridda redirects-ka ee calaamadaha wada-hadalka'
}
},
'uw-speedy': {
level1: {
label: 'Tirtiridda muunadaha tirtiridda degdegga ah (speedy deletion)',
summary: 'Ogeysiis guud: Tirtiridda muunadaha tirtiridda degdegga ah'
},
level2: {
label: 'Tirtiridda muunadaha tirtiridda degdegga ah (speedy deletion)',
summary: 'Digtoono: Tirtiridda muunadaha tirtiridda degdegga ah'
},
level3: {
label: 'Tirtiridda muunadaha tirtiridda degdegga ah (speedy deletion)',
summary: 'Digniin: Tirtiridda muunadaha tirtiridda degdegga ah'
},
level4: {
label: 'Tirtiridda muunadaha tirtiridda degdegga ah (speedy deletion)',
summary: 'Digniinta ugu dambeysa: Tirtiridda muunadaha tirtiridda degdegga ah'
}
},
'uw-tfd': {
level1: {
label: 'Tirtiridda muunadaha {{tfd}}',
summary: 'Ogeysiis guud: Tirtiridda muunadaha {{tfd}}'
},
level2: {
label: 'Tirtiridda muunadaha {{tfd}}',
summary: 'Digtoono: Tirtiridda muunadaha {{tfd}}'
},
level3: {
label: 'Tirtiridda muunadaha {{tfd}}',
summary: 'Digniin: Tirtiridda muunadaha {{tfd}}'
},
level4: {
label: 'Tirtiridda muunadaha {{tfd}}',
summary: 'Digniinta ugu dambeysa: Tirtiridda muunadaha {{tfd}}'
}
}
},
Other: {
'uw-attempt': {
level1: {
label: 'Kicinta shaandhada tafatirka (edit filter)',
summary: 'Ogeysiis guud: Kicinta shaandhada tafatirka'
},
level2: {
label: 'Kicinta shaandhada tafatirka (edit filter)',
summary: 'Digtoono: Kicinta shaandhada tafatirka'
},
level3: {
label: 'Kicinta shaandhada tafatirka (edit filter)',
summary: 'Digniin: Kicinta shaandhada tafatirka'
},
level4: {
label: 'Kicinta shaandhada tafatirka (edit filter)',
summary: 'Digniinta ugu dambeysa: Kicinta shaandhada tafatirka'
},
level4im: {
label: 'Kicinta shaandhada tafatirka (edit filter)',
summary: 'Digniin keliya: Kicinta shaandhada tafatirka'
}
},
'uw-chat': {
level1: {
label: 'Isticmaalka bogga wada-hadalka sida madal doodeed (forum)',
summary: 'Ogeysiis guud: Isticmaalka bogga wada-hadalka sida madal doodeed'
},
level2: {
label: 'Isticmaalka bogga wada-hadalka sida madal doodeed (forum)',
summary: 'Digtoono: Isticmaalka bogga wada-hadalka sida madal doodeed'
},
level3: {
label: 'Isticmaalka bogga wada-hadalka sida madal doodeed (forum)',
summary: 'Digniin: Isticmaalka bogga wada-hadalka sida madal doodeed'
},
level4: {
label: 'Isticmaalka bogga wada-hadalka sida madal doodeed (forum)',
summary: 'Digniinta ugu dambeysa: Isticmaalka bogga wada-hadalka sida madal doodeed'
}
},
'uw-create': {
level1: {
label: 'Abuurista boggaga aan munaasibka ahayn',
summary: 'Ogeysiis guud: Abuurista boggaga aan munaasibka ahayn'
},
level2: {
label: 'Abuurista boggaga aan munaasibka ahayn',
summary: 'Digtoono: Abuurista boggaga aan munaasibka ahayn'
},
level3: {
label: 'Abuurista boggaga aan munaasibka ahayn',
summary: 'Digniin: Abuurista boggaga aan munaasibka ahayn'
},
level4: {
label: 'Abuurista boggaga aan munaasibka ahayn',
summary: 'Digniinta ugu dambeysa: Abuurista boggaga aan munaasibka ahayn'
},
level4im: {
label: 'Abuurista boggaga aan munaasibka ahayn',
summary: 'Digniin keliya: Abuurista boggaga aan munaasibka ahayn'
}
},
'uw-fv': {
level1: {
label: 'Hadalkii lagu daray wuxuu lahaa il, laakiin ma xaqiijinaynin nuxurka',
summary: 'Ogeysiis guud: Hadalkii lagu daray wuxuu lahaa il, laakiin ma xaqiijinaynin nuxurka'
}
},
'uw-mislead': {
level1: {
label: 'Isticmaalka kooban-tafatir marin-habaabin ah',
summary: 'Ogeysiis guud: Isticmaalka kooban-tafatir marin-habaabin ah'
},
level2: {
label: 'Isticmaalka kooban-tafatir marin-habaabin ah',
summary: 'Digtoono: Isticmaalka kooban-tafatir marin-habaabin ah'
},
level3: {
label: 'Isticmaalka kooban-tafatir marin-habaabin ah',
summary: 'Digniin: Isticmaalka kooban-tafatir marin-habaabin ah'
}
},
'uw-mos': {
level1: {
label: 'Buug-gacmeedka qaabeynta (Manual of style)',
summary: 'Ogeysiis guud: Qaabeynta, taariikhda, luqadda, iwm (Buug-gacmeedka qaabeynta)'
},
level2: {
label: 'Buug-gacmeedka qaabeynta (Manual of style)',
summary: 'Digtoono: Qaabeynta, taariikhda, luqadda, iwm (Buug-gacmeedka qaabeynta)'
},
level3: {
label: 'Buug-gacmeedka qaabeynta (Manual of style)',
summary: 'Digniin: Qaabeynta, taariikhda, luqadda, iwm (Buug-gacmeedka qaabeynta)'
},
level4: {
label: 'Buug-gacmeedka qaabeynta (Manual of style)',
summary: 'Digniinta ugu dambeysa: Qaabeynta, taariikhda, luqadda, iwm (Buug-gacmeedka qaabeynta)'
}
},
'uw-move': {
level1: {
label: 'U raridda bogag ka soo horjeeda xeerarka magacaabista ama is-afgaradka',
summary: 'Ogeysiis guud: U raridda bogag ka soo horjeeda xeerarka magacaabista ama is-afgaradka'
},
level2: {
label: 'U raridda bogag ka soo horjeeda xeerarka magacaabista ama is-afgaradka',
summary: 'Digtoono: U raridda bogag ka soo horjeeda xeerarka magacaabista ama is-afgaradka'
},
level3: {
label: 'U raridda bogag ka soo horjeeda xeerarka magacaabista ama is-afgaradka',
summary: 'Digniin: U raridda bogag ka soo horjeeda xeerarka magacaabista ama is-afgaradka'
},
level4: {
label: 'U raridda bogag ka soo horjeeda xeerarka magacaabista ama is-afgaradka',
summary: 'Digniinta ugu dambeysa: U raridda bogag ka soo horjeeda xeerarka magacaabista ama is-afgaradka'
},
level4im: {
label: 'U raridda bogag ka soo horjeeda xeerarka magacaabista ama is-afgaradka',
summary: 'Digniin keliya: U raridda bogag ka soo horjeeda xeerarka magacaabista ama is-afgaradka'
}
},
'uw-redirect': {
level1: {
label: 'Abuurista redirects aan munaasib ahayn',
summary: 'Ogeysiis guud: Abuurista redirects aan munaasib ahayn'
},
level2: {
label: 'Abuurista redirects aan munaasib ahayn',
summary: 'Digtoono: Abuurista redirects aan munaasib ahayn'
},
level3: {
label: 'Abuurista redirects aan munaasib ahayn',
summary: 'Digniin: Abuurista redirects aan munaasib ahayn'
},
level4: {
label: 'Abuurista redirects aan munaasib ahayn',
summary: 'Digniinta ugu dambeysa: Abuurista redirects aan munaasib ahayn'
},
level4im: {
label: 'Abuurista redirects aan munaasib ahayn',
summary: 'Digniin keliya: Abuurista redirects aan munaasib ahayn'
}
},
'uw-tpv': {
level1: {
label: "Dib-u-habeynta faallooyinka bogga wada-hadalka ee dadka kale",
summary: "Ogeysiis guud: Dib-u-habeynta faallooyinka bogga wada-hadalka ee dadka kale"
},
level2: {
label: "Dib-u-habeynta faallooyinka bogga wada-hadalka ee dadka kale",
summary: "Digtoono: Dib-u-habeynta faallooyinka bogga wada-hadalka ee dadka kale"
},
level3: {
label: "Dib-u-habeynta faallooyinka bogga wada-hadalka ee dadka kale",
summary: "Digniin: Dib-u-habeynta faallooyinka bogga wada-hadalka ee dadka kale"
},
level4: {
label: "Dib-u-habeynta faallooyinka bogga wada-hadalka ee dadka kale",
summary: "Digniinta ugu dambeysa: Dib-u-habeynta faallooyinka bogga wada-hadalka ee dadka kale"
},
level4im: {
label: "Dib-u-habeynta faallooyinka bogga wada-hadalka ee dadka kale",
summary: "Digniin keliya: Dib-u-habeynta faallooyinka bogga wada-hadalka ee dadka kale"
}
},
'uw-upload': {
level1: {
label: 'Soo gelinta sawirro aan entsiklopedia ahayn (unencyclopedic)',
summary: 'Ogeysiis guud: Soo gelinta sawirro aan entsiklopedia ahayn'
},
level2: {
label: 'Soo gelinta sawirro aan entsiklopedia ahayn (unencyclopedic)',
summary: 'Digtoono: Soo gelinta sawirro aan entsiklopedia ahayn'
},
level3: {
label: 'Soo gelinta sawirro aan entsiklopedia ahayn (unencyclopedic)',
summary: 'Digniin: Soo gelinta sawirro aan entsiklopedia ahayn'
},
level4: {
label: 'Soo gelinta sawirro aan entsiklopedia ahayn (unencyclopedic)',
summary: 'Digniinta ugu dambeysa: Soo gelinta sawirro aan entsiklopedia ahayn'
},
level4im: {
label: 'Soo gelinta sawirro aan entsiklopedia ahayn (unencyclopedic)',
summary: 'Digniin keliya: Soo gelinta sawirro aan entsiklopedia ahayn'
}
}
}
},
singlenotice: {
'uw-addalink': {
label: 'Cilladaha hawsha cusub ee Ku dar Xiriiriye (Add a Link)',
summary: 'Ogeysiis: Cilladaha hawsha cusub ee Ku dar Xiriiriye'
},
'uw-agf-sock': {
label: 'Isticmaalka xisaabo badan (iyadoo la filayo niyad-wanaag)',
summary: 'Ogeysiis: Isticmaalka xisaabo badan'
},
'uw-aiv': {
label: 'Warbixin AIV oo xun',
summary: 'Ogeysiis: Warbixin AIV oo xun'
},
'uw-articletodraft': {
label: 'Maqaalka loo raray booska qabyada ah (draftspace)',
summary: 'Ogeysiis: Maqaalka loo raray booska qabyada ah',
hideReason: true
},
'uw-autobiography': {
label: 'Abuurista taariikh-nololeedyada nafta ah (autobiographies)',
summary: 'Ogeysiis: Abuurista taariikh-nololeedyada nafta ah'
},
'uw-badcat': {
label: 'Ku darista qaybo (categories) khaldan',
summary: 'Ogeysiis: Ku darista qaybo khaldan'
},
'uw-badlistentry': {
label: 'Ku darista gelitaanno aan munaasib ahayn liisaska',
summary: 'Ogeysiis: Ku darista gelitaanno aan munaasib ahayn liisaska'
},
'uw-bareurl': {
label: 'Ku darista URL qaawan (bare URL)',
summary: 'Ogeysiis: Ku darista URL qaawan'
},
'uw-bite': {
label: '"Qaniinyada" dadka cusub ("Biting" newcomers)',
summary: 'Ogeysiis: "Qaniinyada" dadka cusub',
suppressArticleInSummary: true
},
'uw-blar': {
label: 'Maqaalka la madhxiyay laguna hagaajiyay redirect',
summary: 'Ogeysiis: Maqaalka la madhxiyay laguna hagaajiyay redirect',
hideReason: true
},
'uw-circular': {
label: 'Isticmaalka tixraacyada wareegsan (circular sources)',
summary: 'Ogeysiis: Isticmaalka tixraacyada wareegsan'
},
'uw-coi': {
label: 'Khilaaf dano ah (Conflict of interest)',
summary: 'Ogeysiis: Khilaaf dano ah',
heading: 'Maareynta khilaafka danaha'
},
'uw-copying': {
label: 'Nuqul ka qaadista qoraalka oo loo gudbinayo bog kale',
summary: 'Ogeysiis: Nuqul ka qaadista qoraalka oo loo gudbinayo bog kale'
},
'uw-crystal': {
label: 'Ku darista macluumaad mala-awaal ah ama aan la xaqiijin',
summary: 'Ogeysiis: Ku darista macluumaad mala-awaal ah ama aan la xaqiijin'
},
'uw-c&pmove': {
label: 'Gooyn iyo dhajin (Cut and paste moves)',
summary: 'Ogeysiis: Gooyn iyo dhajin'
},
'uw-dab': {
label: 'Tafatir khaldan oo ku socda bogga kala-soocidda (disambiguation page)',
summary: 'Ogeysiis: Tafatir khaldan oo ku socda bogga kala-soocidda'
},
'uw-date': {
label: 'Beddelidda qaababka taariikhda oo aan loo baahnayn',
summary: 'Ogeysiis: Beddelidda qaababka taariikhda oo aan loo baahnayn'
},
'uw-deadlink': {
label: 'Tirtiridda ilaha saxda ah ee wata xiriiriyeyaasha dhintay (dead links)',
summary: 'Ogeysiis: Tirtiridda ilaha saxda ah ee wata xiriiriyeyaasha dhintay'
},
'uw-displaytitle': {
label: 'Isticmaalka khaldan ee DISPLAYTITLE',
summary: 'Ogeysiis: Isticmaalka khaldan ee DISPLAYTITLE'
},
'uw-draftfirst': {
label: 'Isticmaaluhu waa inuu ku qoraa qabyo meesha isticmaalaha iyada oo aan halis ugu jirin tirtirid degdeg ah',
summary: 'Ogeysiis: Tixgeli inaad maqaalkaaga ku qorto [[Help:Userspace draft|meesha qabyada ee isticmaalaha]]'
},
'uw-editsummary': {
label: 'Isticmaale cusub oo aan isticmaalayn kooban-tafatirka (edit summary)',
summary: 'Ogeysiis: Inaan la isticmaalayn kooban-tafatirka'
},
'uw-editsummary2': {
label: 'Isticmaale khibrad leh oo aan isticmaalayn kooban-tafatirka',
summary: 'Ogeysiis: Inaan la isticmaalayn kooban-tafatirka',
hideLinkedPage: true,
hideReason: true
},
'uw-elinbody': {
label: 'Ku darista xiriiriyeyaasha dibadda jirka maqaalka dhexdiisa',
summary: 'Ogeysiis: Xiriiriyeyaasha dibadda ku hay qaybta xiriiriyeyaasha dibadda ee hoose ee maqaalka'
},
'uw-english': {
label: 'Inaan lagu wada xiriirin Ingiriisi',
summary: 'Ogeysiis: Inaan lagu wada xiriirin Ingiriisi'
},
'uw-hasty': {
label: 'Ku degdegidda ku darista muunadaha tirtiridda degdegga ah',
summary: 'Ogeysiis: Sii abuurayaasha wakhti ay ku hagaajiyaan maqaalladooda ka hor intaanad calaamadin tirtirid'
},
'uw-islamhon': {
label: 'Isticmaalka sharaf-shahaadisyada Islaamka',
summary: 'Ogeysiis: Isticmaalka sharaf-shahaadisyada Islaamka'
},
'uw-italicize': {
label: 'Ka dhigista farta foorar (italicize) buugaagta, filimada, albamyada, iwm gudaha maqaallada',
summary: 'Ogeysiis: Ka dhigista farta foorar buugaagta, filimada, albamyada, iwm gudaha maqaallada'
},
'uw-lang': {
label: 'Beddelidda aan loo baahnayn ee u dhaxaysa Ingiriiska iyo Mareykanka',
summary: 'Ogeysiis: Beddelidda aan loo baahnayn ee u dhaxaysa Ingiriiska iyo Mareykanka',
heading: 'Noocyada qaran ee Ingiriiska'
},
'uw-linking': {
label: 'Ku darista xad-dhaafka ah ee xiriiriyeyaasha cas (redlinks) ama xiriiriyeyaasha buluugga ah ee soo noqnoqda',
summary: 'Ogeysiis: Ku darista xad-dhaafka ah ee xiriiriyeyaasha cas ama xiriiriyeyaasha buluugga ah ee soo noqnoqda'
},
'uw-longsd': {
label: 'Gelinta sharaxaad gaaban oo dheer (long short description)',
summary: 'Ogeysiis: Gelinta sharaxaad gaaban oo dheer'
},
'uw-minor': {
label: 'Isticmaalka khaldan ee sanduuqa calaamadaynta tafatirka yar (minor edits)',
summary: 'Ogeysiis: Isticmaalka khaldan ee sanduuqa calaamadaynta tafatirka yar'
},
'uw-mostm': {
label: 'Qaabeynta calaamadaha ganacsiga (trademarks)',
summary: 'Ogeysiis: Qaabeynta calaamadaha ganacsiga'
},
'uw-multiple-accts': {
label: 'Isticmaalka khaldan ee xisaabaha beddelka ah (alternative accounts)',
summary: 'Ogeysiis: Isticmaalka khaldan ee xisaabaha beddelka ah'
},
'uw-notenglish': {
label: 'Abuurista maqaallo aan Ingiriisi ahayn',
summary: 'Ogeysiis: Abuurista maqaallo aan Ingiriisi ahayn'
},
'uw-notenglishedit': {
label: 'Ku darista wax-ku-jira aan Ingiriisi ahayn maqaallada',
summary: 'Ogeysiis: Ku darista wax-ku-jira aan Ingiriisi ahayn maqaallada'
},
'uw-notvote': {
label: 'Waxaan isticmaalnaa is-afgarad, ee ma aha codayn',
summary: 'Ogeysiis: Waxaan isticmaalnaa is-afgarad, ee ma aha codayn'
},
'uw-orphantalk': {
label: 'Bogga wada-hadalka oo la abuuray iyada oo aan maqaal jirin',
summary: 'Ogeysiis: Bogga wada-hadalka oo la abuuray iyada oo aan maqaal jirin'
},
'uw-plagiarism': {
label: 'Ka nuqulashada ilaha domain-ka dadweynaha iyada oo aan la bixin xigasho',
summary: 'Ogeysiis: Ka nuqulashada ilaha domain-ka dadweynaha iyada oo aan la bixin xigasho'
},
'uw-preview': {
label: 'Isticmaal badhanka horudhaca (preview) si aad uga fogaato khaladaadka',
summary: 'Ogeysiis: Isticmaal badhanka horudhaca si aad uga fogaato khaladaadka'
},
'uw-redlink': {
label: 'Tirtiridda aan kala sooca lahayn ee xiriiriyeyaasha cas (redlinks)',
summary: 'Ogeysiis: Taxaddar markaad tirtirayso xiriiriyeyaasha cas'
},
'uw-refspam': {
label: 'Ku darista xigashooyin cilmi-baaris oo ay daabacday koox yar oo cilmi-baarayaal ah',
summary: 'Ogeysiis: Ku darista xigashooyin cilmi-baaris oo ay daabacday koox yar oo cilmi-baarayaal ah',
hideLinkedPage: true,
hideReason: true
},
'uw-selfrevert': {
label: 'Tijaabooyin tafatir oo naftooda dib u celiyay (self-reverted)',
summary: 'Ogeysiis: Tijaabooyin tafatir oo naftooda dib u celiyay'
},
'uw-socialnetwork': {
label: 'Wikipedia ma aha shabakad bulsheed',
summary: 'Ogeysiis: Wikipedia ma aha shabakad bulsheed'
},
'uw-sofixit': {
label: 'Noqo mid geesin ah oo wax hagaaji adigu',
summary: 'Ogeysiis: Waanad noqon kartaa mid geesin ah oo wax hagaajin kara adigu'
},
'uw-spoiler': {
label: 'Ku darista digtoonaanta kharribidda (spoilers) ama ka saaridda qaybaha munaasibka ah',
summary: "Ogeysiis: Ha tirtirin ama ha calaamadin 'spoilers' suurtagalka ah ee boggaga Wikipedia"
},
'uw-talkinarticle': {
label: 'Wada-hadal ku jira maqaalka',
summary: 'Ogeysiis: Wada-hadal ku jira maqaalka'
},
'uw-tilde': {
label: 'Inaan la saxiixin faallooyinka',
summary: 'Ogeysiis: Inaan la saxiixin faallooyinka'
},
'uw-toppost': {
label: 'Ku dhajinta xagga sare ee boggaga wada-hadalka',
summary: 'Ogeysiis: Ku dhajinta xagga sare ee boggaga wada-hadalka'
},
'uw-translation': {
label: 'Ku darista turjumaadaha iyada oo aan la bixin xigasho sax ah',
summary: 'Ogeysiis: Xigasho ayaa loo baahan yahay marka la turjumayo maqaallada'
},
'uw-unattribcc': {
label: 'Ka nuqulashada ilaha shatiga la jaanqaadaya iyada oo aan la bixin xigasho',
summary: 'Ogeysiis: Ka nuqulashada ilaha shatiga la jaanqaadaya iyada oo aan la bixin xigasho'
},
'uw-userspace draft finish': {
label: 'Qabyada meesha isticmaalaha oo duugowday (stale)',
summary: 'Ogeysiis: Qabyada meesha isticmaalaha oo duugowday'
},
'uw-usertalk': {
label: 'Isticmaalka khaldan ee bogga wada-hadalka isticmaalaha',
summary: 'Ogeysiis: Isticmaalka khaldan ee bogga wada-hadalka isticmaalaha',
hideLinkedPage: true
},
'uw-vgscope': {
label: 'Ku darista hagayaasha ciyaaraha fiidiyowga, khiyaanada ama tilmaamaha',
summary: 'Ogeysiis: Ku darista hagayaasha ciyaaraha fiidiyowga, khiyaanada ama tilmaamaha'
},
'uw-warn': {
label: 'Gali muunadaha digniinta isticmaalaha marka dib loo celinayo khasaarinta',
summary: 'Ogeysiis: Waxaad isticmaali kartaa muunadaha digniinta isticmaalaha marka dib loo celinayo khasaarinta'
},
'uw-wrongsummary': {
label: 'Isticmaalka kooban-tafatir aan sax ahayn ama aan munaasib ahayn',
summary: 'Ogeysiis: Isticmaalka kooban-tafatir aan sax ahayn ama aan munaasib ahayn'
}
},
singlewarn: {
'uw-3rr': {
label: 'Xadgudub suurtagal ah ee xeerka saddex-jeer-celinta; eeg sidoo kale uw-ew',
summary: 'Digniin: Xeerka saddex-jeer-celinta (Three-revert rule)'
},
'uw-affiliate': {
label: 'Suuq-geynta xiriirka (Affiliate marketing)',
summary: 'Digniin: Suuq-geynta xiriirka'
},
'uw-attack': {
label: 'Abuurista boggaga weerarka (attack pages)',
summary: 'Digniin: Abuurista boggaga weerarka',
suppressArticleInSummary: true
},
'uw-botun': {
label: 'Magaca isticmaale ee Bot-ka',
summary: 'Digniin: Magaca isticmaale ee Bot-ka'
},
'uw-canvass': {
label: 'Ololaynta codadka ama aragtida (Canvassing)',
summary: 'Digniin: Ololaynta'
},
'uw-copyright': {
label: 'Xadgudubka xuquuqda daabacaadda (Copyright)',
summary: 'Digniin: Xadgudubka xuquuqda daabacaadda'
},
'uw-copyright-link': {
label: 'Xiriirinta shaqooyinka xuquuqda daabacaadda leh ee sharci-darrada ah',
summary: 'Digniin: Xiriirinta shaqooyinka xuquuqda daabacaadda leh ee xadgudubka ku ah'
},
'uw-copyright-new': {
label: 'Xadgudubka xuquuqda daabacaadda (oo wata sharraxaad loogu talagalay dadka cusub)',
summary: 'Ogeysiis: Ka fogaanshaha dhibaatooyinka xuquuqda daabacaadda',
heading: 'Wikipedia iyo xuquuqda daabacaadda'
},
'uw-copyright-remove': {
label: 'Tirtiridda muunadda {{copyvio}} ee boggaga',
summary: 'Digniin: Tirtiridda muunadaha {{copyvio}}'
},
'uw-derogatory': {
label: 'Ku darista wax-ku-jira cay ah/nacayb wata',
summary: 'Digniin: Ku darista wax-ku-jira cay ah'
},
'uw-efsummary': {
label: 'Kooban-tafatirka oo kiciyay shaandhada tafatirka (edit filter)',
summary: 'Digniin: Kooban-tafatirka oo kiciyay shaandhada tafatirka'
},
'uw-ew': {
label: 'Dagaalka wax-ka-beddelka (ereyo adag)',
summary: 'Digniin: Dagaalka wax-ka-beddelka (Edit warring)'
},
'uw-ewsoft': {
label: 'Dagaalka wax-ka-beddelka (ereyo jilicsan oo loogu talagalay dadka cusub)',
summary: 'Digniin: Dagaalka wax-ka-beddelka (Edit warring)'
},
'uw-hijacking': {
label: 'La wareegidda boggaga (Hijacking articles)',
summary: 'Digniin: La wareegidda boggaga'
},
'uw-hoax': {
label: 'Abuurista been-abuur (hoaxes)',
summary: 'Digniin: Abuurista been-abuur'
},
'uw-legal': {
label: 'Sameynta hanjabaado sharci',
summary: 'Digniin: Sameynta hanjabaado sharci'
},
'uw-login': {
label: 'Tafatiridda adigoo ka baxsan xisaabta (logged out)',
summary: 'Digniin: Tafatiridda adigoo ka baxsan xisaabta'
},
'uw-multipleTAs': {
label: 'Isticmaalka xisaabaha ku-meel-gaarka ah ee badan',
summary: 'Digniin: Khasaarin la adeegsanayo xisaabo ku-meel-gaar ah oo badan'
},
'uw-paraphrase': {
label: 'Turjumaad ama soo-celin eray-gaaban oo aad ugu dhow asalka (close paraphrasing)',
summary: 'Digniin: Turjumaad ama soo-celin eray-gaaban oo aad ugu dhow asalka'
},
'uw-pinfo': {
label: 'Macluumaadka shaqsiga ah (outing)',
summary: 'Digniin: Macluumaadka shaqsiga ah'
},
'uw-salt': {
label: 'Dib u abuurista boggaga la salted-gareeyay iyadoo la isticmaalayo ciwaan kale',
summary: 'Ogeysiis: Dib u abuurista boggaga laga ilaaliyay abuurista oo la isticmaalayo ciwaan kale'
},
'uw-socksuspect': {
label: 'Tuhun xisaab hoosaad (Sockpuppetry)',
summary: 'Digniin: Waxaad tahay [[WP:SOCK|sockpuppet]] la tuhunsan yahay'
},
'uw-upv': {
label: 'Khasaarinta bogga isticmaalaha (Userpage vandalism)',
summary: 'Digniin: Khasaarinta bogga isticmaalaha'
},
'uw-username': {
label: 'Magaca isticmaalaha wuxuu ka soo horjeedaa siyaasadda',
summary: 'Digniin: Magacaaga isticmaalaha waxaa laga yaabaa inuu ka soo horjeedo siyaasadda',
suppressArticleInSummary: true
},
'uw-coi-username': {
label: 'Magaca isticmaalaha wuxuu ka soo horjeedaa siyaasadda, iyo khilaaf dano ah',
summary: 'Digniin: Magaca isticmaalaha iyo khilaafka danaha',
heading: 'Magacaaga isticmaalaha'
},
'uw-userpage': {
label: 'Bogga isticmaalaha ama bogga hoosaadka wuxuu ka soo horjeedaa siyaasadda',
summary: 'Digniin: Bogga isticmaalaha ama bogga hoosaadka wuxuu ka soo horjeedaa siyaasadda'
}
}
};
Twinkle.warn.getTemplateProperty = function(templates, templateName, propertyName) {
let result;
const isNumberedTemplate = templateName.match(/(1|2|3|4|4im)$/);
if (isNumberedTemplate) {
const unNumberedTemplateName = templateName.replace(/(?:1|2|3|4|4im)$/, '');
const level = isNumberedTemplate[0];
const numberedWarnings = {};
$.each(templates.levels, (key, val) => {
$.extend(numberedWarnings, val);
});
$.each(numberedWarnings, (key) => {
if (key === unNumberedTemplateName) {
result = numberedWarnings[key]['level' + level][propertyName];
}
});
}
const otherWarnings = {};
$.each(templates, (key, val) => {
if (key !== 'levels') {
$.extend(otherWarnings, val);
}
});
$.each(otherWarnings, (key) => {
if (key === templateName) {
result = otherWarnings[key][propertyName];
}
});
return result;
};
Twinkle.warn.prev_article = null;
Twinkle.warn.prev_reason = null;
Twinkle.warn.talkpageObj = null;
Twinkle.warn.callback.change_category = function twinklewarnCallbackChangeCategory(e) {
const value = e.target.value;
const sub_group = e.target.root.sub_group;
sub_group.main_group = value;
let old_subvalue = sub_group.value;
let old_subvalue_re;
if (old_subvalue) {
if (value === 'kitchensink') {
old_subvalue_re = new RegExp(mw.util.escapeRegExp(old_subvalue));
} else {
old_subvalue = old_subvalue.replace(/\d*(im)?$/, '');
old_subvalue_re = new RegExp(mw.util.escapeRegExp(old_subvalue) + '(\\d*(?:im)?)$');
}
}
while (sub_group.hasChildNodes()) {
sub_group.removeChild(sub_group.firstChild);
}
let selected = false;
const createEntries = function(contents, container, wrapInOptgroup, val = value) {
const level = val.replace(/^\D+/g, '');
if (wrapInOptgroup && $.client.profile().platform === 'iphone') {
let wrapperOptgroup = new Morebits.QuickForm.Element({
type: 'optgroup',
label: 'Muunadaha la heli karo'
});
wrapperOptgroup = wrapperOptgroup.render();
container.appendChild(wrapperOptgroup);
container = wrapperOptgroup;
}
$.each(contents, (itemKey, itemProperties) => {
if (!!level && !itemProperties[val]) {
return;
}
const key = typeof itemKey === 'string' ? itemKey : itemProperties.value;
const template = key + level;
const elem = new Morebits.QuickForm.Element({
type: 'option',
label: '{{' + template + '}}: ' + (level ? itemProperties[val].label : itemProperties.label),
value: template
});
if (!selected && old_subvalue && old_subvalue_re.test(template)) {
elem.data.selected = selected = true;
}
const elemRendered = container.appendChild(elem.render());
$(elemRendered).data('messageData', itemProperties);
});
};
const createGroup = function(warnGroup, label, wrapInOptgroup, val) {
wrapInOptgroup = typeof wrapInOptgroup !== 'undefined' ? wrapInOptgroup : true;
let optgroup = new Morebits.QuickForm.Element({
type: 'optgroup',
label: label
});
optgroup = optgroup.render();
sub_group.appendChild(optgroup);
createEntries(warnGroup, optgroup, wrapInOptgroup, val);
};
switch (value) {
case 'singlenotice':
case 'singlewarn':
createEntries(Twinkle.warn.messages[value], sub_group, true);
break;
case 'singlecombined':
var unSortedSinglets = $.extend({}, Twinkle.warn.messages.singlenotice, Twinkle.warn.messages.singlewarn);
var sortedSingletMessages = {};
Object.keys(unSortedSinglets).sort().forEach((key) => {
sortedSingletMessages[key] = unSortedSinglets[key];
});
createEntries(sortedSingletMessages, sub_group, true);
break;
case 'custom':
createEntries(Twinkle.getPref('customWarningList'), sub_group, true);
break;
case 'kitchensink':
['level1', 'level2', 'level3', 'level4', 'level4im'].forEach((lvl) => {
$.each(Twinkle.warn.messages.levels, (levelGroupLabel, levelGroup) => {
createGroup(levelGroup, 'Heerka ' + lvl.slice(5) + ': ' + levelGroupLabel, true, lvl);
});
});
createGroup(Twinkle.warn.messages.singlenotice, 'Ogeysiisyada hal arrin ah');
createGroup(Twinkle.warn.messages.singlewarn, 'Digniinta hal arrin ah');
createGroup(Twinkle.getPref('customWarningList'), 'Digniinta caadiga ah');
break;
case 'level1':
case 'level2':
case 'level3':
case 'level4':
case 'level4im':
$.each(Twinkle.warn.messages.levels, (groupLabel, groupContents) => {
createGroup(groupContents, groupLabel, false);
});
break;
case 'autolevel':
var autolevelProc = function() {
const wikitext = Twinkle.warn.talkpageObj.getPageText();
const latest = Twinkle.warn.callbacks.dateProcessing(wikitext)[0];
const params = {
sub_group: old_subvalue,
article: e.target.root.article.value
};
const lvl = 'level' + Twinkle.warn.callbacks.autolevelParseWikitext(wikitext, params, latest)[1];
$.each(Twinkle.warn.messages.levels, (groupLabel, groupContents) => {
createGroup(groupContents, groupLabel, false, lvl);
});
Twinkle.warn.callback.postCategoryCleanup(e);
};
if (Twinkle.warn.talkpageObj) {
autolevelProc();
} else {
const usertalk_page = new Morebits.wiki.Page('User_talk:' + mw.config.get('wgRelevantUserName'), 'Waxaa la soo rarayaa digniinihii hore');
usertalk_page.setFollowRedirect(true, false);
usertalk_page.load((pageobj) => {
Twinkle.warn.talkpageObj = pageobj;
autolevelProc();
}, () => {
const $noTalkPageNode = $('<strong>')
.text('Lama soo rari karo bogga wada-hadalka isticmaalaha; waxaa laga yaabaa inay tahay redirect u dhexeeya namespace-yada. Ogaanshaha heerka otomaatigga ah (autolevel) ma shaqayn doono.')
.attr('id', 'twinkle-warn-autolevel-message')
.css('color', 'red');
$noTalkPageNode.insertBefore($('#twinkle-warn-warning-messages'));
e.target.root.previewer.closePreview();
});
}
break;
default:
alert('Koox digniin oo aan la aqoon oo ku jirta twinklewarn');
break;
}
if (value !== 'autolevel') {
$('#twinkle-warn-autolevel-message').remove();
Twinkle.warn.callback.postCategoryCleanup(e);
}
};
Twinkle.warn.callback.postCategoryCleanup = function twinklewarnCallbackPostCategoryCleanup(e) {
Morebits.QuickForm.setElementTooltipVisibility(e.target.root.article, true);
Morebits.QuickForm.resetElementLabel(e.target.root.article);
Twinkle.warn.callback.change_subcategory(e);
if (!Twinkle.getPref('oldSelect')) {
$('select[name=sub_group]')
.select2({
theme: 'default select2-morebits',
width: '100%',
matcher: Morebits.select2.matchers.optgroupFull,
templateResult: Morebits.select2.highlightSearchMatches,
language: {
searching: Morebits.select2.queryInterceptor
}
})
.change(Twinkle.warn.callback.change_subcategory);
$('.select2-selection').on('keydown', Morebits.select2.autoStart).trigger('focus');
mw.util.addCSS(
'.select2-container .select2-dropdown .select2-results > .select2-results__options { max-height: 350px; }' +
'.select2-results .select2-results__option { padding-top: 1px; padding-bottom: 1px; }' +
'.select2-results .select2-results__group { padding-top: 1px; padding-bottom: 1px; } ' +
'.select2-container .select2-dropdown .select2-results { font-size: 13px; }' +
'.select2-container .selection .select2-selection__rendered { font-size: 13px; }'
);
}
};
Twinkle.warn.callback.change_subcategory = function twinklewarnCallbackChangeSubcategory(e) {
const selected_main_group = e.target.form.main_group.value;
const selected_template = e.target.form.sub_group.value;
const hideLinkedPage = Twinkle.warn.getTemplateProperty(Twinkle.warn.messages, selected_template, 'hideLinkedPage');
if (hideLinkedPage) {
e.target.form.article.value = '';
Morebits.QuickForm.setElementVisibility(e.target.form.article.parentElement, false);
} else {
Morebits.QuickForm.setElementVisibility(e.target.form.article.parentElement, true);
}
const hideReason = Twinkle.warn.getTemplateProperty(Twinkle.warn.messages, selected_template, 'hideReason');
if (hideReason) {
e.target.form.reason.value = '';
Morebits.QuickForm.setElementVisibility(e.target.form.reason.parentElement, false);
} else {
Morebits.QuickForm.setElementVisibility(e.target.form.reason.parentElement, true);
}
const notLinkedArticle = {
'uw-agf-sock': 'Magaca isticmaale ee xisaabta kale (oo aan lahayn User:) ',
'uw-bite': "Magaca isticmaale ee la 'qaniunay' (oo aan lahayn User:) ",
'uw-socksuspect': 'Magaca isticmaale ee abuuraha xisaabaha hoosaadka, haddii la ogyahay (oo aan lahayn User:) ',
'uw-username': 'Magaca isticmaale wuxuu ka soo horjeedaa siyaasadda sababtoo ah... ',
'uw-aiv': 'Magaca isticmaale ee ikhtiyaarka ah ee la warbixiyay (oo aan lahayn User:) '
};
const hasLevel = ['singlenotice', 'singlewarn', 'singlecombined', 'kitchensink'].includes(selected_main_group);
if (hasLevel) {
if (notLinkedArticle[selected_template]) {
if (Twinkle.warn.prev_article === null) {
Twinkle.warn.prev_article = e.target.form.article.value;
}
e.target.form.article.notArticle = true;
e.target.form.article.value = '';
Morebits.QuickForm.setElementTooltipVisibility(e.target.form.article, false);
Morebits.QuickForm.overrideElementLabel(e.target.form.article, notLinkedArticle[selected_template]);
} else if (e.target.form.article.notArticle) {
if (Twinkle.warn.prev_article !== null) {
e.target.form.article.value = Twinkle.warn.prev_article;
Twinkle.warn.prev_article = null;
}
e.target.form.article.notArticle = false;
Morebits.QuickForm.setElementTooltipVisibility(e.target.form.article, true);
Morebits.QuickForm.resetElementLabel(e.target.form.article);
}
}
$('#tw-warn-red-notice').remove();
let $redWarning;
if (selected_template === 'uw-username') {
$redWarning = $("<div style='color: red;' id='tw-warn-red-notice'>{{uw-username}} waa in <b>aan la isticmaalin</b> xadgudubyada siyaasadda magaca isticmaale ee <b>iska cad (blatant)</b>. " +
"Xadgudubyada iska cad waa in si toos ah loogu warbixiyaa UAA (iyada oo la adeegsanayo tab-ka ARV ee Twinkle). " +
'{{uw-username}} waa in keliya lagu isticmaalo xaaladaha cidhifka ah si loola hawlgallo wada-hadal isticmaalaha.</div>');
$redWarning.insertAfter(Morebits.QuickForm.getElementLabelObject(e.target.form.reasonGroup));
} else if (selected_template === 'uw-coi-username') {
$redWarning = $("<div style='color: red;' id='tw-warn-red-notice'>{{uw-coi-username}} waa in <b>aan la isticmaalin</b> xadgudubyada siyaasadda magaca isticmaale ee <b>iska cad (blatant)</b>. " +
"Xadgudubyada iska cad waa in si toos ah loogu warbixiyaa UAA (iyada oo la adeegsanayo tab-ka ARV ee Twinkle). " +
'{{uw-coi-username}} waa in keliya lagu isticmaalo xaaladaha cidhifka ah si loola hawlgallo wada-hadal isticmaalaha.</div>');
$redWarning.insertAfter(Morebits.QuickForm.getElementLabelObject(e.target.form.reasonGroup));
}
};
Twinkle.warn.callbacks = {
getWarningWikitext: function(templateName, article, reason, isCustom) {
let text = '{{subst:' + templateName;
if (article) {
if (templateName === 'uw-c&pmove') {
text += '|to=' + article;
} else {
text += '|1=' + article;
}
}
if (reason && !isCustom) {
if (templateName === 'uw-userpage') {
text += "|3=''" + Morebits.string.formatReasonText(reason) + "''";
} else {
text += "|2=''" + Morebits.string.formatReasonText(reason) + "''";
}
}
text += '}}';
if (reason && isCustom) {
text += " ''" + reason + "''";
}
return text + ' ~~~~';
},
showPreview: function(form, templatename) {
const input = Morebits.QuickForm.getInputData(form);
templatename = templatename || input.sub_group;
const linkedarticle = input.article;
const templatetext = Twinkle.warn.callbacks.getWarningWikitext(templatename, linkedarticle,
input.reason, input.main_group === 'custom');
form.previewer.beginRender(templatetext, 'User_talk:' + mw.config.get('wgRelevantUserName'));
},
preview: function(form) {
if (form.main_group.value === 'autolevel') {
const usertalk_page = new Morebits.wiki.Page('User_talk:' + mw.config.get('wgRelevantUserName'), 'Waxaa la soo rarayaa digniinihii hore');
usertalk_page.setFollowRedirect(true, false);
usertalk_page.load((pageobj) => {
Twinkle.warn.talkpageObj = pageobj;
const wikitext = pageobj.getPageText();
const latest = Twinkle.warn.callbacks.dateProcessing(wikitext)[0];
const params = {
sub_group: form.sub_group.value,
article: form.article.value,
messageData: $(form.sub_group).find('option[value="' + $(form.sub_group).val() + '"]').data('messageData')
};
const template = Twinkle.warn.callbacks.autolevelParseWikitext(wikitext, params, latest)[0];
Twinkle.warn.callbacks.showPreview(form, template);
if (form.sub_group.value !== template) {
const evt = document.createEvent('Event');
evt.initEvent('change', true, true);
form.main_group.dispatchEvent(evt);
}
});
} else {
Twinkle.warn.callbacks.showPreview(form);
}
},
dateProcessing: function(wikitext) {
const history_re = /<!--\s?Template:([uU]w-.*?)\s?-->.*?(\d{1,2}:\d{1,2}, \d{1,2} \w+ \d{4} \(UTC\))/g;
const history = {};
const latest = { date: new Morebits.Date(0), type: '' };
let current;
while ((current = history_re.exec(wikitext)) !== null) {
const template = current[1], current_date = new Morebits.Date(current[2]);
if (!(template in history) || history[template].isBefore(current_date)) {
history[template] = current_date;
}
if (!latest.date.isAfter(current_date)) {
latest.date = current_date;
latest.type = template;
}
}
return [latest, history];
},
autolevelParseWikitext: function(wikitext, params, latest, date, statelem) {
let level;
if (/\d(?:im)?$/.test(latest.type)) {
level = parseInt(latest.type.replace(/.*(\d)(?:im)?$/, '$1'), 10);
} else if (latest.type) {
const loweredType = /uw-multipleTAs/i.test(latest.type) ? 'uw-multipleTAs' : latest.type.toLowerCase();
if (Twinkle.warn.messages.singlewarn[loweredType]) {
level = 3;
} else {
level = 1;
}
}
const $autolevelMessage = $('<div>')
.attr('id', 'twinkle-warn-autolevel-message');
if (isNaN(level)) {
level = 1;
} else if (level > 4 || level < 1) {
const message = 'Lama fahmi karo heerka digniintii hore, fadlan gacanta ku dooro heerka digniinta.';
if (statelem) {
statelem.error(message);
} else {
alert(message);
}
return;
} else {
date = date || new Date();
const autoTimeout = new Morebits.Date(latest.date.getTime()).add(parseInt(Twinkle.getPref('autolevelStaleDays'), 10), 'days');
if (autoTimeout.isAfter(date)) {
if (level === 4) {
level = 4;
if (!statelem) {
const $link = $('<a>')
.attr('href', '#')
.text('riix halkan si aad u furto qalabka ARV.')
.css('fontWeight', 'bold')
.on('click', () => {
Morebits.wiki.actionCompleted.redirect = null;
Twinkle.warn.dialog.close();
Twinkle.arv.callback(mw.config.get('wgRelevantUserName'));
$('input[name=page]').val(params.article);
$('input[value=final]').prop('checked', true);
});
const $statusNode = $('<div>')
.text(mw.config.get('wgRelevantUserName') + ' dhowaan ayuu helay digniin heerka 4 ah (' + latest.type + ') markaas waxaa laga yaabaa inay fiicnaato in halkii laga digi lahaa looga warbixiyo; ')
.css('color', 'red');
$statusNode.append($link[0]);
$autolevelMessage.append($statusNode);
}
} else {
level += 1;
}
} else {
level = 1;
}
}
$autolevelMessage.prepend($('<div>Wuxuu soo saari doonaa muunad <span style="font-weight: bold;">heerka ' + level + '</span> ah.</div>'));
$('#twinkle-warn-autolevel-message').remove();
$autolevelMessage.insertAfter($('#twinkle-warn-warning-messages'));
let template = params.sub_group.replace(/(.*)\d$/, '$1');
if (params.messageData && !params.messageData['level' + level]) {
template = 'uw-generic';
}
template += level;
return [template, level];
},
main: function(pageobj) {
const text = pageobj.getPageText();
const statelem = pageobj.getStatusElement();
const params = pageobj.getCallbackParameters();
let messageData = params.messageData;
const [latest, history] = Twinkle.warn.callbacks.dateProcessing(text);
const now = new Morebits.Date(pageobj.getLoadTime());
Twinkle.warn.talkpageObj = pageobj;
if (params.main_group === 'autolevel') {
const templateAndLevel = Twinkle.warn.callbacks.autolevelParseWikitext(text, params, latest, now, statelem);
if (params.sub_group !== templateAndLevel[0] && !confirm('Waxaa la soo saari doonaa muunadda {{' + templateAndLevel[0] + '}} ee la siinayo isticmaalaha, ma fiican yahay?')) {
statelem.error('waxaa la joojiyay codsiga isticmaalaha awgeed');
return;
}
params.sub_group = templateAndLevel[0];
messageData = params.messageData['level' + templateAndLevel[1]];
} else if (params.sub_group in history) {
if (new Morebits.Date(history[params.sub_group]).add(1, 'day').isAfter(now)) {
if (!confirm('Muunad isku mid ah ' + params.sub_group + ' ah ayaa la bixiyay 24-kii saacadood ee la soo dhaafay. \nMa rabtaa inaad weli ku darto digniintan/ogeysiiska?')) {
statelem.error('waxaa la joojiyay codsiga isticmaalaha awgeed');
return;
}
}
}
latest.date.add(1, 'minute');
if (latest.date.isAfter(now)) {
if (!confirm('Muunad ' + latest.type + ' ah ayaa la bixiyay daqiiqaddii ugu dambaysay. \nMa rabtaa inaad weli ku darto digniintan/ogeysiiska?')) {
statelem.error('waxaa la joojiyay codsiga isticmaalaha awgeed');
return;
}
}
const customProcess = function(template) {
template = template.split('|')[0];
let prefix;
switch (template.slice(-1)) {
case '1':
prefix = 'Ogeysiis guud';
break;
case '2':
prefix = 'Digtoono';
break;
case '3':
prefix = 'Digniin';
break;
case '4':
prefix = 'Digniinta ugu dambeysa';
break;
case 'm':
if (template.slice(-3) === '4im') {
prefix = 'Digniin keliya';
break;
}
default:
prefix = 'Ogeysiis';
break;
}
return prefix + ': ' + Morebits.string.toUpperCaseFirstChar(messageData.label);
};
let summary;
if (params.main_group === 'custom') {
summary = customProcess(params.sub_group);
} else {
if (params.main_group === 'kitchensink' && !/^D+$/.test(params.sub_group)) {
let sub = params.sub_group.slice(-1);
if (sub === 'm') {
sub = params.sub_group.slice(-3);
}
if (/\d/.test(sub)) {
params.main_group = 'level' + sub;
}
}
summary = messageData.summary || (messageData[params.main_group] && messageData[params.main_group].summary);
if (!summary) {
summary = customProcess(params.sub_group);
}
if (messageData.suppressArticleInSummary !== true && params.article) {
if (params.sub_group === 'uw-agf-sock' ||
params.sub_group === 'uw-socksuspect' ||
params.sub_group === 'uw-aiv') {
summary += ' ee [[:User:' + params.article + ']]';
} else {
summary += ' ee ku saabsan [[:' + params.article + ']]';
}
}
}
pageobj.setEditSummary(summary + '.');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('watchWarnings'));
const warningText = Twinkle.warn.callbacks.getWarningWikitext(params.sub_group, params.article,
params.reason, params.main_group === 'custom');
let sectionExists = false, sectionNumber = 0;
if (!messageData.heading && text.length) {
const sections = text.match(/^(==*).+\1/gm);
if (sections && sections.length !== 0) {
const dateHeaderRegex = now.monthHeaderRegex();
sectionNumber = 0;
sectionExists = sections.reverse().some((sec, idx) => /^(==)[^=].+\1/m.test(sec) && dateHeaderRegex.test(sec) && typeof (sectionNumber = sections.length - 1 - idx) === 'number');
}
}
if (sectionExists) {
pageobj.setPageSection(sectionNumber + 1);
pageobj.setAppendText('\n\n' + warningText);
pageobj.append();
} else {
if (messageData.heading) {
pageobj.setNewSectionTitle(messageData.heading);
} else {
Morebits.Status.info('Macluumaad', 'Waxaa la abuuri doonaa qayb bogga wada-hadalka cusub ee bishaan, maadaama aysan jirin mid la helay');
pageobj.setNewSectionTitle(now.monthHeader(0));
}
pageobj.setNewSectionText(warningText);
pageobj.newSection();
}
}
};
Twinkle.warn.callback.evaluate = function twinklewarnCallbackEvaluate(e) {
const userTalkPage = 'User_talk:' + mw.config.get('wgRelevantUserName');
const params = Morebits.QuickForm.getInputData(e.target);
if (params.sub_group === 'uw-username' && !params.article) {
alert('Waa inaad bixisaa sabab muunadda {{uw-username}}.');
return;
}
const $selectedEl = $(e.target.sub_group).find('option[value="' + $(e.target.sub_group).val() + '"]');
params.messageData = $selectedEl.data('messageData');
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(e.target);
Morebits.wiki.actionCompleted.redirect = userTalkPage;
Morebits.wiki.actionCompleted.notice = 'Digniintii waa la dhammeeyay, bogga wada-hadalka ayaa dib loo soo rarayaa daqiiqado kadib';
const wikipedia_page = new Morebits.wiki.Page(userTalkPage, 'Beddelka bogga wada-hadalka isticmaalaha');
wikipedia_page.setCallbackParameters(params);
wikipedia_page.setFollowRedirect(true, false);
wikipedia_page.load(Twinkle.warn.callbacks.main);
};
Twinkle.addInitCallback(Twinkle.warn, 'warn');
}());
// </nowiki>
5qjzcdjh9cckak8fomdtxdqcp5d84gl
MediaWiki:Gadget-twinkleblock.js
8
53674
310861
2026-10-25T11:08:17Z
Isma4l
41797
Abuuray
310861
javascript
text/javascript
// <nowiki>
(function() {
const api = new mw.Api();
let relevantUserName, blockedUserName, blockWindow;
const menuFormattedNamespaces = $.extend({}, mw.config.get('wgFormattedNamespaces'));
menuFormattedNamespaces[0] = '(Maqaal)';
/*
****************************************
*** twinkleblock.js: Qaybta Xiritaanka (Block module)
****************************************
* Qaabka loo yeero: Tab ("Block")
* Ka shaqeeya: Bog kasta oo leh magaca isticmaale ee khuseeya (User space, contributions, iwm.)
*/
Twinkle.block = function twinkleblock() {
relevantUserName = mw.config.get('wgRelevantUserName');
// Waa inay ka muuqataa boggaga Contributions ama Block, meel kasta oo leh isticmaale khuseeya
// Iska indho tir xadka ka ballaaran xadka CIDR
if (Morebits.userIsSysop && relevantUserName && (!Morebits.ip.isRange(relevantUserName) || Morebits.ip.validCIDR(relevantUserName))) {
Twinkle.addPortletLink(Twinkle.block.callback, 'Xir (Block)', 'tw-block', 'Xir isticmaalaha khuseeya');
}
};
Twinkle.block.callback = function twinkleblockCallback() {
if (relevantUserName === mw.config.get('wgUserName') &&
!confirm('Waxaad ku dhowdahay inaad naftaada xirto! Ma hubtaa inaad rabto inaad sii wadho?')) {
return;
}
Twinkle.block.currentBlockInfo = undefined;
Twinkle.block.field_block_options = {};
Twinkle.block.field_template_options = {};
blockWindow = new Morebits.SimpleWindow(650, 530);
// U baahan inaan faahfaahino qofka aan xirayno
blockWindow.setTitle('Xir ama u dir muunad xiritaan ' + relevantUserName);
blockWindow.setScriptName('Twinkle');
// Had iyo jeer waa lagu daraa, waa la qariyaa haddii aysan xirnayn xisaabta dhabta ah
blockWindow.addFooterLink('Ka qaad xiritaanka isticmaalahan', 'Special:Unblock/' + relevantUserName);
blockWindow.addFooterLink('Muunadaha xiritaanka', 'Template:Uw-block/doc/Block_templates');
blockWindow.addFooterLink('Siyaasadda xiritaanka', 'WP:BLOCK');
blockWindow.addFooterLink('Doorbidyada xiritaanka', 'WP:TW/PREF#block');
blockWindow.addFooterLink('Caawinta Twinkle', 'WP:TW/DOC#block');
blockWindow.addFooterLink('Bixi ra’yi-celin', 'WT:TW');
const form = new Morebits.QuickForm(Twinkle.block.callback.evaluate);
const actionfield = form.append({
type: 'field',
label: 'Nooca tillaabada'
});
actionfield.append({
type: 'checkbox',
name: 'actiontype',
event: Twinkle.block.callback.change_action,
list: [
{
label: 'Xir isticmaalaha',
value: 'block',
tooltip: 'Ku xir isticmaalaha khuseeya xulashooyinka la bixiyay. Haddii xiritaanka qayb ahaan aan la calaamadin, tani waxay noqon doontaa xiritaan guud (sitewide).',
checked: true
},
{
label: 'Xiritaan qayb ah (Partial block)',
value: 'partial',
tooltip: 'Daar xiritaanada qayb ahaan iyo muunadaha xiritaanka qayb ahaan.',
checked: Twinkle.getPref('defaultToPartialBlocks') // Waa la beddelaa haddii hore loo xiray
},
{
label: 'Ku dar muunad xiritaan bogga wada-hadalka isticmaalaha',
value: 'template',
tooltip: 'Haddii maamulaha xiraya uu iloobay inuu soo saaro muunad xiritaan, ama aad hadda xirtay isticmaalaha adigoon u samayn muunad, waxaad isticmaali kartaa tan si aad u soo saarto muunadda habboon.',
// Ha oggolaan marka la eegayo sanduuqa xiritaanka ee xadka IP
checked: !Morebits.ip.isRange(relevantUserName),
disabled: Morebits.ip.isRange(relevantUserName)
}
]
});
const sixtyFour = Morebits.ip.get64(mw.config.get('wgRelevantUserName'));
if (sixtyFour && sixtyFour !== mw.config.get('wgRelevantUserName')) {
const block64field = form.append({
type: 'field',
label: 'U beddel xiritaanka xadka /64',
name: 'field_64'
});
block64field.append({
type: 'div',
style: 'margin-bottom: 0.5em',
label: ['Badanaa waa caadi, haddii aysan ka sii fiicnayn, in ', $.parseHTML('<a target="_blank" href="' + mw.util.getUrl('WP:/64') + '">kaliya la xiro xadka /64</a>')[0], ' (',
$.parseHTML('<a target="_blank" href="' + mw.util.getUrl('Special:Contributions/' + sixtyFour) + '">' + sixtyFour + '</a>)')[0], ').']
});
block64field.append({
type: 'checkbox',
name: 'block64',
event: Twinkle.block.callback.change_block64,
list: [{
checked: Twinkle.getPref('defaultToBlock64'),
label: 'Beddelkeeda xir xadka /64',
value: 'block64',
tooltip: Morebits.ip.isRange(mw.config.get('wgRelevantUserName')) ? 'Wuxuu ka fogaan doonaa inuu ka tago muunad.' : 'Muunad kasta oo la soo saaro waxay tagaysaa IP-gii asalka ahaa: ' + mw.config.get('wgRelevantUserName')
}]
});
}
form.append({ type: 'field', label: 'Hordhac (Preset)', name: 'field_preset' });
form.append({ type: 'field', label: 'Xulashooyinka muunadda', name: 'field_template_options' });
form.append({ type: 'field', label: 'Xulashooyinka xiritaanka', name: 'field_block_options' });
form.append({ type: 'submit' });
const result = form.render();
blockWindow.setContent(result);
blockWindow.display();
result.root = result;
Twinkle.block.fetchUserInfo(() => {
if (blockedUserName === relevantUserName) {
$(result).find('[name=actiontype][value=partial]').prop('checked', Twinkle.block.currentBlockInfo.partial === '');
}
Twinkle.block.transformBlockPresets();
const evt = document.createEvent('Event');
evt.initEvent('change', true, true);
if (result.block64 && result.block64.checked) {
result.block64.dispatchEvent(evt);
} else {
result.actiontype[0].dispatchEvent(evt);
}
});
};
Twinkle.block.fetchedData = {};
Twinkle.block.processUserInfo = function twinkleblockProcessUserInfo(data, fn) {
let blockinfo = data.query.blocks[0];
if (blockinfo && data.query.blocks.length > 1) {
blockWindow.$dialog.find('.morebits-dialog-buttons').empty();
Morebits.Status.init(blockWindow.content.querySelector('form'));
Morebits.Status.warn(
`Bartilmaameedkan wuxuu leeyahay ${data.query.blocks.length} xiritaan oo shaqaynaya`,
`Xiritaanada badan (Multiblocks) lama taageero Twinkle. Isticmaal [[Special:Block/${relevantUserName}]] beddelkeeda.`
);
return;
}
const userinfo = data.query.users[0];
if (data.query.blocks.length > 1 && blockinfo.user !== relevantUserName) {
blockinfo = data.query.blocks[1];
}
Twinkle.block.fetchedData[userinfo.name] = data;
Twinkle.block.isRegistered = !!userinfo.userid;
if (Twinkle.block.isRegistered) {
Twinkle.block.userIsBot = !!userinfo.groupmemberships && userinfo.groupmemberships.map((e) => e.group).includes('bot');
} else {
Twinkle.block.userIsBot = false;
}
if (blockinfo) {
blockinfo.disabletalk = blockinfo.allowusertalk === undefined;
blockinfo.hardblock = blockinfo.anononly === undefined;
}
Twinkle.block.currentBlockInfo = blockinfo;
blockedUserName = Twinkle.block.currentBlockInfo && Twinkle.block.currentBlockInfo.user;
const unblockLink = blockWindow.$dialog.find('.morebits-dialog-footerlinks a')[0];
if (blockedUserName !== relevantUserName) {
unblockLink.hidden = true;
unblockLink.nextSibling.hidden = true;
} else {
unblockLink.hidden = false;
unblockLink.nextSibling.hidden = false;
}
Twinkle.block.hasBlockLog = !!data.query.logevents.length;
Twinkle.block.blockLog = Twinkle.block.hasBlockLog && data.query.logevents;
Twinkle.block.blockLogId = Twinkle.block.hasBlockLog ? data.query.logevents[0].logid : false;
if (typeof fn === 'function') {
return fn();
}
};
Twinkle.block.fetchUserInfo = function twinkleblockFetchUserInfo(fn) {
const query = {
format: 'json',
action: 'query',
list: 'blocks|users|logevents',
letype: 'block',
lelimit: 1,
letitle: 'User:' + relevantUserName,
bkprop: 'expiry|reason|flags|restrictions|range|user',
ususers: relevantUserName
};
if (mw.util.isIPAddress(relevantUserName, true)) {
query.bkip = relevantUserName;
} else {
query.bkusers = relevantUserName;
query.usprop = 'groupmemberships';
}
api.get(query).then((data) => {
Twinkle.block.processUserInfo(data, fn);
}, (msg) => {
Morebits.Status.init($('div[name="currentblock"] span').last()[0]);
Morebits.Status.warn('Cillad soo qaadista macluumaadka isticmaalaha', msg);
});
};
Twinkle.block.callback.saveFieldset = function twinkleblockCallbacksaveFieldset(fieldset) {
Twinkle.block[$(fieldset).prop('name')] = {};
$(fieldset).serializeArray().forEach((el) => {
Twinkle.block[$(fieldset).prop('name')][el.name] = el.value;
});
};
Twinkle.block.callback.change_block64 = function twinkleblockCallbackChangeBlock64(e) {
const $form = $(e.target.form),
$block64 = $form.find('[name=block64]'),
dialog = $form.closest('.morebits-dialog')[0];
const priorName = relevantUserName;
if ($block64.is(':checked')) {
relevantUserName = Morebits.ip.get64(mw.config.get('wgRelevantUserName'));
} else {
relevantUserName = mw.config.get('wgRelevantUserName');
}
const originalIsRange = Morebits.ip.isRange(mw.config.get('wgRelevantUserName'));
$form.find('[name=actiontype][value=template]').prop('disabled', originalIsRange).prop('checked', !originalIsRange);
const regenerateForm = function() {
const titleBar = dialog.querySelector('.morebits-dialog-title').firstChild.nextSibling;
titleBar.nodeValue = titleBar.nodeValue.replace(priorName, relevantUserName);
const unblockLink = dialog.querySelector('.morebits-dialog-footerlinks a');
unblockLink.href = unblockLink.href.replace(priorName, relevantUserName);
unblockLink.title = unblockLink.title.replace(priorName, relevantUserName);
$form.find('[name=actiontype][value=partial]').prop('checked', Twinkle.getPref('defaultToPartialBlocks'));
if (blockedUserName === relevantUserName) {
$form.find('[name=actiontype][value=partial]').prop('checked', Twinkle.block.currentBlockInfo.partial === '');
}
Twinkle.block.callback.change_action(e);
};
if (Twinkle.block.fetchedData[relevantUserName]) {
Twinkle.block.processUserInfo(Twinkle.block.fetchedData[relevantUserName], regenerateForm);
} else {
Twinkle.block.fetchUserInfo(regenerateForm);
}
};
Twinkle.block.callback.change_action = function twinkleblockCallbackChangeAction(e) {
let fieldPreset, fieldTemplateOptions, fieldBlockOptions;
const $form = $(e.target.form);
const blockBox = $form.find('[name=actiontype][value=block]').is(':checked');
const templateBox = $form.find('[name=actiontype][value=template]').is(':checked');
const $partial = $form.find('[name=actiontype][value=partial]');
const partialBox = $partial.is(':checked');
let blockGroup = partialBox ? Twinkle.block.blockGroupsPartial : Twinkle.block.blockGroups;
$partial.prop('disabled', !blockBox && !templateBox);
const prior = { label: 'Xiritaankii hore' };
if (blockedUserName === relevantUserName) {
Twinkle.block.blockPresetsInfo.prior = Twinkle.block.currentBlockInfo;
prior.list = [{ label: 'Habayntii xiritaankii hore', value: 'prior', selected: true }];
if (!blockGroup.some((bg) => bg.label === prior.label)) {
blockGroup.push(prior);
}
if (partialBox) {
Twinkle.block.blockPresetsInfo.prior.templateName = Morebits.string.isInfinity(Twinkle.block.currentBlockInfo.expiry) ? 'uw-pblockindef' : 'uw-pblock';
} else {
if (!Twinkle.block.isRegistered) {
Twinkle.block.blockPresetsInfo.prior.templateName = 'uw-ablock';
} else {
Twinkle.block.blockPresetsInfo.prior.templateName = Morebits.string.isInfinity(Twinkle.block.currentBlockInfo.expiry) ? 'uw-blockindef' : 'uw-block';
}
}
} else {
blockGroup = blockGroup.filter((bg) => bg.label !== prior.label);
}
$form.find('[name=dstopic]').parent().remove();
Twinkle.block.callback.saveFieldset($('[name=field_block_options]'));
Twinkle.block.callback.saveFieldset($('[name=field_template_options]'));
if (blockBox) {
fieldPreset = new Morebits.QuickForm.Element({ type: 'field', label: 'Hordhac (Preset)', name: 'field_preset' });
fieldPreset.append({
type: 'select',
name: 'preset',
label: 'Dooro hordhac:',
event: Twinkle.block.callback.change_preset,
list: Twinkle.block.callback.filtered_block_groups(blockGroup)
});
fieldBlockOptions = new Morebits.QuickForm.Element({ type: 'field', label: 'Xulashooyinka xiritaanka', name: 'field_block_options' });
fieldBlockOptions.append({ type: 'div', name: 'currentblock', label: ' ' });
fieldBlockOptions.append({ type: 'div', name: 'hasblocklog', label: ' ' });
fieldBlockOptions.append({
type: 'select',
name: 'expiry_preset',
label: 'Muddada uu dhacayo:',
event: Twinkle.block.callback.change_expiry,
list: [
{ label: 'la habeeyay (custom)', value: 'custom', selected: true },
{ label: 'aan la muddeyn (indefinite)', value: 'infinity' },
{ label: '3 saacadood', value: '3 hours' },
{ label: '12 saacadood', value: '12 hours' },
{ label: '24 saacadood', value: '24 hours' },
{ label: '31 saacadood', value: '31 hours' },
{ label: '36 saacadood', value: '36 hours' },
{ label: '48 saacadood', value: '48 hours' },
{ label: '60 saacadood', value: '60 hours' },
{ label: '72 saacadood', value: '72 hours' },
{ label: '1 todobaad', value: '1 week' },
{ label: '2 todobaad', value: '2 weeks' },
{ label: '1 bil', value: '1 month' },
{ label: '3 bilood', value: '3 months' },
{ label: '6 bilood', value: '6 months' },
{ label: '1 sano', value: '1 year' },
{ label: '2 sano', value: '2 years' },
{ label: '3 sano', value: '3 years' }
]
});
fieldBlockOptions.append({
type: 'input',
name: 'expiry',
label: 'Muddada gaarka ah',
tooltip: 'Waxaad isticmaali kartaa waqtiyo qaraabo ah, sida "1 minute" ama "19 days", ama taariikh rasmi ah, "yyyymmddhhmm".',
value: Twinkle.block.field_block_options.expiry || Twinkle.block.field_template_options.template_expiry
});
if (partialBox) { // Xiritaan qayb ah
fieldBlockOptions.append({
type: 'select',
multiple: true,
name: 'pagerestrictions',
label: 'Boggaga gaarka ah ee laga mamnuucayo tafatirka',
value: '',
tooltip: 'Ugu badnaan 10 bog.'
});
const ns = fieldBlockOptions.append({
type: 'select',
multiple: true,
name: 'namespacerestrictions',
label: 'Xiritaanka namespace-yada',
value: '',
tooltip: 'Ka mamnuuc tafatirka namespace-yadan.'
});
$.each(menuFormattedNamespaces, (number, name) => {
if (number >= 0 && number < 830) {
ns.append({ type: 'option', label: name, value: number });
}
});
}
const blockoptions = [
{
checked: Twinkle.block.field_block_options.nocreate,
label: 'Xir abuurista xisaabta',
name: 'nocreate',
value: '1'
}
];
if (Twinkle.block.isRegistered && !mw.util.isTemporaryUser(mw.config.get('wgRelevantUserName'))) {
blockoptions.push({
checked: Twinkle.block.field_block_options.noemail,
label: 'Ka mamnuuc isticmaalaha inuu diro iimayl',
name: 'noemail',
value: '1'
});
}
blockoptions.push({
checked: Twinkle.block.field_block_options.disabletalk,
label: 'Ka ilaali isticmaalahan inuu wax ka beddelo boggiisa wada-hadalka inta uu xiran yahay',
name: 'disabletalk',
value: '1',
tooltip: partialBox ? 'Haddii aad samaynayso xiritaan qayb ah, tani WAA INAY aysan calaamadsanayn ilaa aad sidoo kale ka mamnuucayso bogga wada-hadalka' : ''
});
if (Twinkle.block.isRegistered) {
blockoptions.push({
checked: Twinkle.block.field_block_options.autoblock,
label: 'Si otomaatig ah u xir cinwaannada IP-ga ee la isticmaalay (autoblock)',
name: 'autoblock',
value: '1'
});
} else {
blockoptions.push({
checked: Twinkle.block.field_block_options.hardblock,
label: 'Ka mamnuuc isticmaaleyaasha soo galay inay isticmaalaan cinwaankan IP-ga (hardblock)',
name: 'hardblock',
value: '1'
});
}
blockoptions.push({
checked: Twinkle.block.field_block_options.watchuser,
label: 'La soco isticmaalaha iyo boggaga wada-hadalkooda',
name: 'watchuser',
value: '1'
});
fieldBlockOptions.append({
type: 'checkbox',
name: 'blockoptions',
list: blockoptions
});
fieldBlockOptions.append({
type: 'textarea',
label: 'Sababta (diiwaanka xiritaanka):',
name: 'reason',
tooltip: 'Tixgeli inaad ku darto faahfaahinhro waxtar leh fariinta caadiga ah.',
value: Twinkle.block.field_block_options.reason
});
fieldBlockOptions.append({
type: 'div',
name: 'filerlog_label',
label: 'Eeg sidoo kale:',
style: 'display:inline-block;font-style:normal !important',
tooltip: 'Geli fariin "eeg sidoo kale" si aad u muujiso haddii diiwaanka shaandhada, tabarucyada la tirtiray ama xisaabaha ku-meel-gaarka ah ee la xiriira ay door ku lahaayeen go\'aanka xiritaanka.'
});
fieldBlockOptions.append({
type: 'checkbox',
name: 'filter_see_also',
event: Twinkle.block.callback.toggle_see_alsos,
style: 'display:inline-block; margin-right:5px',
list: [
{
label: 'Diiwaanka shaandhada',
checked: false,
value: 'filter log'
}
]
});
fieldBlockOptions.append({
type: 'checkbox',
name: 'deleted_see_also',
event: Twinkle.block.callback.toggle_see_alsos,
style: 'display:inline-block; margin-right:5px',
list: [
{
label: 'Tabarucyada la tirtiray',
checked: false,
value: 'deleted contribs'
}
]
});
if (mw.util.isTemporaryUser(mw.config.get('wgRelevantUserName'))) {
fieldBlockOptions.append({
type: 'checkbox',
name: 'related_see_also',
event: Twinkle.block.callback.toggle_see_alsos,
style: 'display:inline-block',
list: [
{
label: 'Xisaabaha ku-meel-gaarka ah ee la xiriira',
checked: false,
value: 'related temporary accounts'
}
]
});
}
if (blockedUserName === relevantUserName) {
fieldBlockOptions.append({ type: 'hidden', name: 'reblock', value: '1' });
}
}
Twinkle.block.dsinfo = Morebits.wiki.getCachedJson('Template:Ds/topics.json');
Twinkle.block.dsinfo.then((dsinfo) => {
const $select = $('[name="dstopic"]');
const $options = $.map(dsinfo, (value, key) => $('<option>').val(value.code).text(key).prop('label', key));
$select.append($options);
});
const dsSelectSettings = {
type: 'select',
name: 'dstopic',
label: 'Mowduuca DS',
value: '',
tooltip: 'Haddii la doorto, waxay ogeysiinaysaa muunadda waxaana lagu dari karaa fariinta xiritaanka',
event: Twinkle.block.callback.toggle_ds_reason
};
if (templateBox) {
fieldTemplateOptions = new Morebits.QuickForm.Element({ type: 'field', label: 'Xulashooyinka muunadda', name: 'field_template_options' });
fieldTemplateOptions.append({
type: 'select',
name: 'template',
label: 'Dooro muunadda bogga wada-hadalka:',
event: Twinkle.block.callback.change_template,
list: Twinkle.block.callback.filtered_block_groups(blockGroup, true),
value: Twinkle.block.field_template_options.template
});
fieldTemplateOptions.append(dsSelectSettings);
fieldTemplateOptions.append({
type: 'input',
name: 'article',
label: 'Bogga la xiriira',
value: '',
tooltip: 'Bog waxaa lagu xiriirin karaa ogeysiiska dhexdiisa. Ka tag banaan haddii aan la xiriirinayn bog.'
});
fieldTemplateOptions.append({
type: 'input',
name: 'area',
label: 'Goobta laga mamnuucay',
value: '',
tooltip: 'Sharaxaad ikhtiyaari ah oo ku saabsan boggaga ama namespace-yada laga mamnuucay isticmaalaha.'
});
if (!blockBox) {
fieldTemplateOptions.append({
type: 'input',
name: 'template_expiry',
label: 'Muddada xiritaanka:',
value: '',
tooltip: 'Muddada uu xiritaanku socon doono, tusaale ahaan 24 hours, 2 weeks, indefinite iwm...'
});
}
fieldTemplateOptions.append({
type: 'input',
name: 'block_reason',
label: '"Waxaa lagu xiray sabab ah ..."',
tooltip: 'Sabab ikhtiyaari ah, si loo beddelo sababta caadiga ah. Kaliya waxaa heli kara muunadaha xiritaanka guud.',
value: Twinkle.block.field_template_options.block_reason
});
if (blockBox) {
fieldTemplateOptions.append({
type: 'checkbox',
name: 'blank_duration',
list: [
{
label: 'Ha ku darin muddada uu dhacayo muunadda',
checked: Twinkle.block.field_template_options.blank_duration,
tooltip: 'Beddelka muddada, ka dhig muunadda xiritaanka mid akhrineysa "Waxaa lagugu xiray si ku-meel-gaar ah..."'
}
]
});
} else {
fieldTemplateOptions.append({
type: 'checkbox',
list: [
{
label: 'Lama geli karo bogga wada-hadalka',
name: 'notalk',
checked: Twinkle.block.field_template_options.notalk,
tooltip: 'Ka dhig muunadda xiritaanka mid sheegaysa in laga qaaday ogolaanshaha bogga wada-hadalka'
},
{
label: 'Isticmaalaha waa laga mamnuucay dirista iimaylka',
name: 'noemail_template',
checked: Twinkle.block.field_template_options.noemail_template,
tooltip: 'Haddii goobta aysan jirin, ka dhig muunadda xiritaanka mid sheegaysa in laga qaaday ogolaanshaha iimaylka'
},
{
label: 'Isticmaalaha waa laga mamnuucay abuurista xisaabo',
name: 'nocreate_template',
checked: Twinkle.block.field_template_options.nocreate_template,
tooltip: 'Haddii goobta aysan jirin, ka dhig muunadda xiritaanka mid sheegaysa in laga qaaday awoodda abuurista xisaabaha'
}
]
});
}
const $previewlink = $('<a id="twinkleblock-preview-link">Horudhac (Preview)</a>');
$previewlink.off('click').on('click', () => {
Twinkle.block.callback.preview($form[0]);
});
$previewlink.css({cursor: 'pointer'});
fieldTemplateOptions.append({ type: 'div', id: 'blockpreview', label: [$previewlink[0]] });
fieldTemplateOptions.append({ type: 'div', id: 'twinkleblock-previewbox', style: 'display: none' });
} else if (fieldPreset) {
fieldPreset.append(dsSelectSettings);
}
let oldfield;
if (fieldPreset) {
oldfield = $form.find('fieldset[name="field_preset"]')[0];
oldfield.parentNode.replaceChild(fieldPreset.render(), oldfield);
} else {
$form.find('fieldset[name="field_preset"]').hide();
}
if (fieldBlockOptions) {
oldfield = $form.find('fieldset[name="field_block_options"]')[0];
oldfield.parentNode.replaceChild(fieldBlockOptions.render(), oldfield);
$form.find('fieldset[name="field_64"]').show();
$form.find('[name=pagerestrictions]').select2({
theme: 'default select2-morebits',
width: '100%',
placeholder: 'Dooro boggaga laga mamnuucayo isticmaalaha',
language: {
errorLoading: function() {
return 'Erayga raadinta oo aan dhammaystirnayn ama khaldan';
}
},
maximumSelectionLength: 10,
minimumInputLength: 1,
ajax: {
url: mw.util.wikiScript('api'),
dataType: 'json',
delay: 100,
data: function(params) {
const title = mw.Title.newFromText(params.term);
if (!title) {
return;
}
return {
action: 'query',
format: 'json',
list: 'allpages',
apfrom: title.title,
apnamespace: title.namespace,
aplimit: '10'
};
},
processResults: function(data) {
return {
results: data.query.allpages.map((page) => {
const title = mw.Title.newFromText(page.title, page.ns).toText();
return {
id: title,
text: title
};
})
};
}
},
templateSelection: function(choice) {
return $('<a>').text(choice.text).attr({
href: mw.util.getUrl(choice.text),
target: '_blank'
});
}
});
$form.find('[name=namespacerestrictions]').select2({
theme: 'default select2-morebits',
width: '100%',
matcher: Morebits.select2.matchers.wordBeginning,
language: {
searching: Morebits.select2.queryInterceptor
},
templateResult: Morebits.select2.highlightSearchMatches,
placeholder: 'Dooro namespace-yada laga mamnuucayo isticmaalaha'
});
mw.util.addCSS(
'.select2-results .select2-results__option { padding-top: 1px; padding-bottom: 1px; }' +
'.select2-container .select2-dropdown .select2-results { font-size: 13px; }' +
'.select2-container .selection .select2-selection__rendered { font-size: 13px; }' +
'.select2-container--default.select2-container--focus .select2-selection--multiple { border: 1px solid #aaa; }' +
'.select2-selection__choice__remove { font-size: 130%; }'
);
} else {
$form.find('fieldset[name="field_block_options"]').hide();
$form.find('fieldset[name="field_64"]').hide();
$form.find('[name=pagerestrictions]').val(null).trigger('change');
$form.find('[name=namespacerestrictions]').val(null).trigger('change');
}
if (fieldTemplateOptions) {
oldfield = $form.find('fieldset[name="field_template_options"]')[0];
oldfield.parentNode.replaceChild(fieldTemplateOptions.render(), oldfield);
e.target.form.root.previewer = new Morebits.wiki.Preview($(e.target.form.root).find('#twinkleblock-previewbox').last()[0]);
} else {
$form.find('fieldset[name="field_template_options"]').hide();
}
if (Twinkle.block.currentBlockInfo) {
const sameUser = blockedUserName === relevantUserName;
Morebits.Status.init($('div[name="currentblock"] span').last()[0]);
let statusStr = relevantUserName + ' waa mid ' + (Twinkle.block.currentBlockInfo.partial === '' ? 'laga xiray qayb ahaan' : 'laga xiray guud ahaan');
if (Twinkle.block.currentBlockInfo.rangestart !== Twinkle.block.currentBlockInfo.rangeend) {
if (sameUser) {
statusStr += ' sida xiritaanka xadka (rangeblock)';
} else {
statusStr += ' dhexda xiritaanka xadka' + (Morebits.ip.get64(relevantUserName) === blockedUserName ? ' /64' : '');
const $rangeblockloglink = $('<span>').append($('<a target="_blank" href="' + mw.util.getUrl('Special:Log', {action: 'view', page: blockedUserName, type: 'block'}) + '">' + blockedUserName + '</a>)'));
statusStr += ' (' + $rangeblockloglink.html() + ')';
}
}
if (Twinkle.block.currentBlockInfo.expiry === 'infinity') {
statusStr += ' (aan la muddeyn)';
} else if (new Morebits.Date(Twinkle.block.currentBlockInfo.expiry).isValid()) {
statusStr += ' (wuxuu dhacayaa ' + new Morebits.Date(Twinkle.block.currentBlockInfo.expiry).calendar('utc') + ')';
}
let infoStr = 'Foommaddani waxay';
if (sameUser) {
infoStr += ' beddeli doontaa xiritaankaas';
if (Twinkle.block.currentBlockInfo.partial === undefined && partialBox) {
infoStr += ', iyada oo u beddelayso xiritaan qayb ah';
} else if (Twinkle.block.currentBlockInfo.partial === '' && !partialBox) {
infoStr += ', iyada oo u beddelayso xiritaan guud';
}
infoStr += '.';
} else {
infoStr += ' ku dari doontaa xiritaan ' + (partialBox ? 'qayb ah ' : '') + 'dheeraad ah.';
}
Morebits.Status.warn(statusStr, infoStr);
Twinkle.block.callback.update_form(e, Twinkle.block.currentBlockInfo);
}
if (Twinkle.block.hasBlockLog) {
const $blockloglink = $('<span>').append($('<a target="_blank" href="' + mw.util.getUrl('Special:Log', {action: 'view', page: relevantUserName, type: 'block'}) + '">diiwaanka xiritaanka</a>)'));
if (!Twinkle.block.currentBlockInfo) {
const lastBlockAction = Twinkle.block.blockLog[0];
if (lastBlockAction.action === 'unblock') {
$blockloglink.append(' (xiritaanka laga qaaday ' + new Morebits.Date(lastBlockAction.timestamp).calendar('utc') + ')');
} else {
$blockloglink.append(' (' + lastBlockAction.params.duration + ', wuxuu dhacay ' + new Morebits.Date(lastBlockAction.params.expiry).calendar('utc') + ')');
}
}
Morebits.Status.init($('div[name="hasblocklog"] span').last()[0]);
Morebits.Status.warn(Twinkle.block.currentBlockInfo ? 'Xiritaanadii hore' : '' + (Morebits.ip.isRange(relevantUserName) ? 'Xadkan' : 'Isticmaalahan') + ' waa la xiray waqtiyadii hore', $blockloglink[0]);
}
if (blockBox) {
Twinkle.block.callback.change_preset(e);
} else if (templateBox) {
Twinkle.block.callback.change_template(e);
}
};
Twinkle.block.blockPresetsInfo = {
anonblock: {
expiry: '31 hours',
forIPsOnly: true,
nocreate: true,
nonstandard: true,
reason: '{{anonblock}}',
sig: '~~~~'
},
'anonblock - school': {
expiry: '36 hours',
forIPsOnly: true,
nocreate: true,
nonstandard: true,
reason: '{{anonblock}} <!-- Ugu wacan inay tahay dugsi marka loo eego dabeecadda -->',
templateName: 'anonblock',
sig: '~~~~'
},
'blocked proxy': {
expiry: '1 year',
forIPsOnly: true,
nocreate: true,
nonstandard: true,
hardblock: true,
reason: '{{blocked proxy}}',
sig: null
},
'CheckUser block': {
expiry: '1 week',
forIPsOnly: true,
nocreate: true,
nonstandard: true,
reason: '{{CheckUser block}}',
sig: '~~~~'
},
'checkuserblock-account': {
autoblock: true,
expiry: 'infinity',
forRegisteredOnly: true,
nocreate: true,
nonstandard: true,
reason: '{{checkuserblock-account}}',
sig: '~~~~'
},
'checkuserblock-wide': {
forIPsOnly: true,
nocreate: true,
nonstandard: true,
reason: '{{checkuserblock-wide}}',
sig: '~~~~'
},
colocationwebhost: {
expiry: '1 year',
forIPsOnly: true,
nonstandard: true,
reason: '{{colocationwebhost}}',
sig: null
},
oversightblock: {
autoblock: true,
expiry: 'infinity',
nocreate: true,
nonstandard: true,
reason: '{{OversightBlock}}',
sig: '~~~~'
},
'school block': {
forIPsOnly: true,
nocreate: true,
nonstandard: true,
reason: '{{school block}}',
sig: '~~~~'
},
spamblacklistblock: {
forIPsOnly: true,
expiry: '1 month',
disabletalk: true,
nocreate: true,
reason: '{{spamblacklistblock}} <!-- tafatiruhu wuxuu isku dayayaa inuu ku daro xiriiriyeyaal mamnuuc ah, eeg [[Special:Log/spamblacklist]] -->'
},
rangeblock: {
reason: '{{rangeblock}}',
nocreate: true,
nonstandard: true,
forIPsOnly: true,
sig: '~~~~'
},
tor: {
expiry: '1 year',
forIPsOnly: true,
nonstandard: true,
reason: '{{Tor}}',
sig: null
},
webhostblock: {
expiry: '1 year',
forIPsOnly: true,
nonstandard: true,
reason: '{{webhostblock}}',
sig: null
},
'uw-3block': {
autoblock: true,
expiry: '24 hours',
nocreate: true,
pageParam: true,
reason: 'Xadgudubka [[WP:Three-revert rule|xeerka saddex-jeer-celinta]]',
summary: 'Waxaa lagaa mamnuucay tafatirka xadgudubka [[WP:3RR|xeerka saddex-jeer-celinta]] awgeed'
},
'uw-ablock': {
autoblock: true,
expiry: '31 hours',
forIPsOnly: true,
nocreate: true,
pageParam: true,
reasonParam: true,
summary: 'Cinwaankaaga IP-ga waxaa laga mamnuucay tafatirka',
suppressArticleInSummary: true
},
'uw-adblock': {
autoblock: true,
nocreate: true,
pageParam: true,
reason: 'Isticmaalka Wikipedia ee [[WP:Spam|spam]] ama [[WP:NOTADVERTISING|xayeysiis]]',
summary: 'Waxaa lagaa mamnuucay tafatirka [[WP:SOAP|xayeysiis ama dhiirigelin nafta ah]] awgeed'
},
'uw-aeblock': {
autoblock: true,
nocreate: true,
pageParam: true,
reason: '[[WP:Arbitration enforcement|Fulinta go\'aanka garsoorka (Arbitration enforcement)]]',
reasonParam: true,
summary: 'Waxaa lagaa mamnuucay tafatirka xadgudubka [[WP:Arbitration|go\'aanka garsoorka]] awgeed'
},
'uw-bioblock': {
autoblock: true,
nocreate: true,
pageParam: true,
reason: 'Xadgudubyada siyaasadda [[WP:Biographies of living persons|taariikh-nololeedyada dadka nool]]',
summary: 'Waxaa lagaa mamnuucay tafatirka xadgudubyada siyaasadda [[WP:BLP|taariikh-nololeedyada dadka nool]]'
},
'uw-block': {
autoblock: true,
expiry: '24 hours',
forRegisteredOnly: true,
nocreate: true,
pageParam: true,
reasonParam: true,
summary: 'Waxaa lagaa mamnuucay tafatirka',
suppressArticleInSummary: true
},
'uw-blockindef': {
autoblock: true,
expiry: 'infinity',
forRegisteredOnly: true,
nocreate: true,
pageParam: true,
reasonParam: true,
summary: 'Waxaa lagaa mamnuucay tafatirka si aan xad lahayn',
suppressArticleInSummary: true
},
'uw-blocknotalk': {
autoblock: true,
disabletalk: true,
nocreate: true,
pageParam: true,
reasonParam: true,
summary: 'Waxaa lagaa mamnuucay tafatirka waxaana la joojiyay ogolaanshaha boggaaga wada-hadalka',
suppressArticleInSummary: true
},
'uw-botblock': {
forRegisteredOnly: true,
pageParam: true,
reason: 'Socodsiinta [[WP:BOT|qoraal bot ah (bot script)]] iyada oo aan la haysan [[WP:BRFA|ogolaansho]]',
summary: 'Waxaa lagaa mamnuucay tafatirka sababtoo ah waxay u muuqataa inaad waddo [[WP:BOT|qoraal bot ah]] iyada oo aan la haysan [[WP:BRFA|ogolaansho]]'
},
'uw-botublock': {
expiry: 'infinity',
forRegisteredOnly: true,
reason: '{{uw-botublock}} <!-- Magaca isticmaala wuxuu tilmaamayaa bot, xiritaan jilicsan -->',
summary: 'Waxaa lagaa mamnuucay tafatirka si aan xad lahayn sababtoo ah [[WP:U|magacaaga isticmaale]] wuxuu tilmaamayaa inuu yahay xisaab [[WP:BOT|bot]] ah, oo aan weli la oggolayn'
},
'uw-botuhblock': {
autoblock: true,
expiry: 'infinity',
forRegisteredOnly: true,
nocreate: true,
reason: '{{uw-botuhblock}} <!-- Magaca isticmaale wuxuu tilmaamayaa bot, xiritaan adag -->',
summary: 'Waxaa lagaa mamnuucay tafatirka si aan xad lahayn sababtoo ah magacaaga isticmaale waa xadgudub cad oo ka dhan ah [[WP:U|siyaasadda magaca isticmaale]]'
},
'uw-causeblock': {
expiry: 'infinity',
forRegisteredOnly: true,
reason: '{{uw-causeblock}} <!-- Magaca isticmaale wuxuu matalayaa urur aan faa\'iido doon ahayn, xiritaan jilicsan -->',
summary: 'Waxaa lagaa mamnuucay tafatirka si aan xad lahayn sababtoo ah [[WP:U|magacaaga isticmaale]] wuxuu bixinayaa aragti ah in xisaabtu ay matalayso koox, urur ama degel'
},
'uw-compblock': {
autoblock: true,
expiry: 'infinity',
forRegisteredOnly: true,
nocreate: true,
reason: 'Xisaab la afduubay / la dhibaateeyay',
summary: 'Waxaa lagaa mamnuucay tafatirka si aan xad lahayn sababtoo ah waxaa la rumeysan yahay in [[WP:SECURE|xisaabtaada la afduubay]]'
},
'uw-copyrightblock': {
autoblock: true,
expiry: 'infinity',
nocreate: true,
pageParam: true,
reason: '[[WP:Copyright violations|Xadgudubyada xuquuqda daabacaadda]]',
summary: 'Waxaa lagaa mamnuucay tafatirka xadgudubyada [[WP:COPYVIO|xuquuqda daabacaadda]] ee soo noqnoqday awgeed'
},
'uw-dblock': {
autoblock: true,
nocreate: true,
reason: 'Tirtiridda joogtada ah ee wax-ku-jira',
pageParam: true,
summary: 'Waxaa lagaa mamnuucay tafatirka [[WP:VAND|tirtiridda wax-ku-jira]] ee joogtada ah awgeed'
},
'uw-disruptblock': {
autoblock: true,
nocreate: true,
reason: '[[WP:Disruptive editing|Tafatir khalkhalin ah]]',
summary: 'Waxaa lagaa mamnuucay tafatirka [[WP:DE|tafatir khalkhalin ah]] awgeed'
},
'uw-efblock': {
autoblock: true,
nocreate: true,
reason: 'Kicinta [[WP:Edit filter|shaandhada tafatirka]] oo soo noqnoqatay',
summary: 'Waxaa lagaa mamnuucay tafatirka tafatir khalkhalin ah oo kiciyay [[WP:EF|shaandhada tafatirka]] awgeed'
},
'uw-ewblock': {
autoblock: true,
expiry: '24 hours',
nocreate: true,
pageParam: true,
reason: '[[WP:Edit warring|Dagaalka wax-ka-beddelka]]',
summary: 'Waxaa lagaa mamnuucay tafatirka si looga hortago [[WP:DE|khalkhal]] dheeraad ah oo ka dhashay ka qaybgalkaaga [[WP:EW|dagaalka wax-ka-beddelka]]'
},
'uw-hblock': {
autoblock: true,
nocreate: true,
pageParam: true,
reason: '[[WP:No personal attacks|Weerar shaqsiyeed]] ama [[WP:Harassment|dhibaateyn]]',
summary: 'Waxaa lagaa mamnuucay tafatirka iskudayga [[WP:HARASS|dhibaateynta]] isticmaaleyaasha kale awgeed'
},
'uw-ipevadeblock': {
forIPsOnly: true,
expiry: '1 week',
nocreate: true,
reason: '[[WP:Blocking policy#Evasion of blocks|Ka cararka xiritaanka]]',
summary: 'Cinwaankaaga IP-ga waxaa laga mamnuucay tafatirka sababtoo ah waxaa loo isticmaalay in [[WP:EVADE|lagu cararo xiritaan hore]]'
},
'uw-lblock': {
autoblock: true,
expiry: 'infinity',
nocreate: true,
reason: 'Sameynta [[WP:No legal threats|hanjabaado sharci]]',
summary: 'Waxaa lagaa mamnuucay tafatirka sameynta [[WP:NLT|hanjabaado sharci ama qaadashada tallaabo sharci]] awgeed'
},
'uw-llmblock': {
autoblock: true,
expiry: 'infinity',
nocreate: true,
pageParam: true,
reason: 'Isticmaalka khaldan ee [[WP:Disruptive editing#Persistent LLM use|moodal luqadeed oo weyn (LLM)]] oo soo noqnoqday',
summary: 'Waxaa lagaa mamnuucay tafatirka isticmaalka khaldan ee [[WP:Disruptive editing#Persistent LLM use|moodal luqadeed oo weyn]] oo soo noqnoqday awgeed'
},
'uw-nothereblock': {
autoblock: true,
expiry: 'infinity',
nocreate: true,
reason: 'Si cad [[WP:NOTHERE|oo aan halkan u joogin dhisidda ensiklopedia]]',
forRegisteredOnly: true,
summary: 'Waxaa lagaa mamnuucay tafatirka si aan xad lahayn sababtoo ah waxay u muuqataa inaadan halkan u joogin [[WP:NOTHERE|dhisidda ensiklopedia]]'
},
'uw-npblock': {
autoblock: true,
nocreate: true,
pageParam: true,
reason: 'Abuurista [[WP:Patent nonsense|qoraal aan macne lahayn (patent nonsense)]] ama boggaga kale ee aan munaasibka ahayn',
summary: 'Waxaa lagaa mamnuucay tafatirka abuurista [[WP:PN|boggag aan macne lahayn]] awgeed'
},
'uw-pablock': {
autoblock: true,
expiry: '31 hours',
nocreate: true,
reason: '[[WP:No personal attacks|Weerar shaqsiyeed]] ama [[WP:Harassment|dhibaateyn]]',
summary: 'Waxaa lagaa mamnuucay tafatirka sameynta [[WP:NPA|weerar shaqsiyeed]] ku socda isticmaaleyaasha kale awgeed'
},
'uw-sblock': {
autoblock: true,
nocreate: true,
reason: 'Isticmaalka Wikipedia ujeeddooyin [[WP:SPAM|spam ah]]',
summary: 'Waxaa lagaa mamnuucay tafatirka isticmaalka Wikipedia ujeeddooyin [[WP:SPAM|spam ah]] awgeed'
},
'uw-soablock': {
autoblock: true,
expiry: 'infinity',
forRegisteredOnly: true,
nocreate: true,
pageParam: true,
reason: 'Xisaab [[WP:Spam|spam]] / [[WP:NOTADVERTISING|xayeysiis]] keliya',
summary: 'Waxaa lagaa mamnuucay tafatirka si aan xad lahayn sababtoo ah xisaabtaada waxaa loo isticmaalaa keliya [[WP:SPAM|spam, xayeysiis, ama dhiirigelin]]'
},
'uw-socialmediablock': {
autoblock: true,
nocreate: true,
pageParam: true,
reason: 'Isticmaalka Wikipedia sida [[WP:NOTMYSPACE|blog, degel webhost, shabakad bulsheed ama madal doodeed]]',
summary: 'Waxaa lagaa mamnuucay tafatirka isticmaalka boggaga isticmaalaha iyo/ama maqaallada sida [[WP:NOTMYSPACE|blog, degel webhost, shabakad bulsheed ama madal doodeed]]'
},
'uw-sockblock': {
autoblock: true,
forRegisteredOnly: true,
nocreate: true,
reason: 'Xadgudubka [[WP:Sock puppetry|xisaabaha badan (multiple accounts)]]',
summary: 'Waxaa lagaa mamnuucay tafatirka xadgudubka [[WP:SOCK|xisaabaha badan]] awgeed'
},
'uw-softerblock': {
expiry: 'infinity',
forRegisteredOnly: true,
reason: '{{uw-softerblock}} <!-- Magaca isticmaale xayeysiis ah, xiritaan jilicsan -->',
summary: 'Waxaa lagaa mamnuucay tafatirka si aan xad lahayn sababtoo ah [[WP:U|magacaaga isticmaale]] wuxuu bixinayaa aragti ah in xisaabtu ay matalayso koox, urur ama degel'
},
'uw-spamublock': {
autoblock: true,
expiry: 'infinity',
forRegisteredOnly: true,
nocreate: true,
reason: '{{uw-spamublock}} <!-- Magaca isticmaale xayeysiis ah, tafatir xayeysiis ah -->',
summary: 'Waxaa lagaa mamnuucay tafatirka si aan xad lahayn sababtoo ah xisaabtaada waxaa loo isticmaalaa keliya [[WP:SPAM|spam ama xayeysiis]] magacaaguna waa xadgudub ka dhan ah [[WP:U|siyaasadda magaca isticmaale]]'
},
'uw-spoablock': {
autoblock: true,
expiry: 'infinity',
forRegisteredOnly: true,
nocreate: true,
reason: '[[WP:SOCK|Xisaab hoosaad (Sock puppetry)]]',
summary: 'Xisaabtan waxaa loo xiray inay tahay [[WP:SOCK|xisaab hoosaad]] lagu abuuray in lagu xadgudbo siyaasadda Wikipedia'
},
'uw-talkrevoked': {
disabletalk: true,
reason: 'Ka qaadista ogolaanshaha bogga wada-hadalka: isticmaalka khaldan ee bogga wada-hadalka inta xirnaa',
prependReason: true,
summary: 'Ogolaanshaha boggaaga wada-hadalka waa la joojiyay',
useInitialOptions: true
},
'uw-tempevadeblock': {
autoblock: true,
expiry: 'infinity',
forTempAccountsOnly: true,
nocreate: true,
reason: '[[WP:Blocking policy#Evasion of blocks|Ka cararka xiritaanka]]',
summary: 'Xisaabtaada ku-meel-gaarka ah waxaa laga mamnuucay tafatirka sababtoo ah waxaa loo isticmaalay in [[WP:EVADE|lagu cararo xiritaan hore]]'
},
'uw-ublock': {
expiry: 'infinity',
forRegisteredOnly: true,
reason: '{{uw-ublock}} <!-- Xadgudub magaca isticmaale, xiritaan jilicsan -->',
reasonParam: true,
summary: 'Waxaa lagaa mamnuucay tafatirka si aan xad lahayn sababtoo ah magacaaga isticmaale waa xadgudub ka dhan ah [[WP:U|siyaasadda magaca isticmaale]]'
},
'uw-ublock-double': {
expiry: 'infinity',
forRegisteredOnly: true,
reason: '{{uw-ublock-double}} <!-- Magaca isticmaale wuxuu aad u eg yahay isticmaale kale, xiritaan jilicsan -->',
summary: 'Waxaa lagaa mamnuucay tafatirka si aan xad lahayn sababtoo ah [[WP:U|magacaaga isticmaale]] wuxuu aad ugu eg yahay magaca isticmaale kale oo Wikipedia ah'
},
'uw-ucblock': {
autoblock: true,
expiry: '31 hours',
nocreate: true,
pageParam: true,
reason: 'Ku darista joogtada ah ee [[WP:INTREF|wax-ku-jira aan tixraaca lahayn]]',
summary: 'Waxaa lagaa mamnuucay tafatirka ku darista joogtada ah ee [[WP:INTREF|wax-ku-jira aan tixraaca lahayn]] awgeed'
},
'uw-uhblock': {
autoblock: true,
expiry: 'infinity',
forRegisteredOnly: true,
nocreate: true,
reason: '{{uw-uhblock}} <!-- Xadgudub magaca isticmaale, xiritaan adag -->',
reasonParam: true,
summary: 'Waxaa lagaa mamnuucay tafatirka si aan xad lahayn sababtoo ah magacaaga isticmaale waa xadgudub cad oo ka dhan ah [[WP:U|siyaasadda magaca isticmaale]]'
},
'uw-ublock-wellknown': {
expiry: 'infinity',
forRegisteredOnly: true,
reason: '{{uw-ublock-wellknown}} <!-- Magaca isticmaale wuxuu matalayaa qof caan ah, xiritaan jilicsan -->',
summary: 'Waxaa lagaa mamnuucay tafatirka si aan xad lahayn sababtoo ah [[WP:U|magacaaga isticmaale]] wuxuu la mid yahay magaca qof nool oo caan ah'
},
'uw-uhblock-double': {
autoblock: true,
expiry: 'infinity',
forRegisteredOnly: true,
nocreate: true,
reason: '{{uw-uhblock-double}} <!-- Isku day in la iska dhigo isticmaale kale, xiritaan adag -->',
summary: 'Waxaa lagaa mamnuucay tafatirka si aan xad lahayn sababtoo ah [[WP:U|magacaaga isticmaale]] wuxuu u muuqdaa mid iska dhigaya isticmaale kale oo Wikipedia ah'
},
'uw-upeblock': {
autoblock: true,
expiry: 'infinity',
forRegisteredOnly: true,
nocreate: true,
pageParam: true,
reason: '[[WP:PAID|Tafatir lacag lagu qaatay oo aan la shaacin]] iyada oo la xadgudbayo [[WP:TOU|Shuruudaha Isticmaalka]] WMF',
summary: 'Waxaa lagaa mamnuucay tafatirka si aan xad lahayn sababtoo ah xisaabtaada waxaa loo isticmaalaa si khilaafsan [[WP:PAID|siyaasadda Wikipedia ee ku saabsan ololaha lacag-bixinta ee aan la shaacin]]'
},
'uw-vaublock': {
autoblock: true,
expiry: 'infinity',
forRegisteredOnly: true,
nocreate: true,
pageParam: true,
reason: '{{uw-vaublock}} <!-- Xadgudub magaca isticmaale, xisaab khasaarin keliya -->',
summary: 'Waxaa lagaa mamnuucay tafatirka si aan xad lahayn sababtoo ah xisaabtaada waxaa [[WP:DISRUPTONLY|loo isticmaalaa keliya khasaarin]] magacaaguna waa xadgudub cad oo ka dhan ah [[WP:U|siyaasadda magaca isticmaale]]'
},
'uw-vblock': {
autoblock: true,
expiry: '31 hours',
nocreate: true,
pageParam: true,
reason: '[[WP:Vandalism|Khasaarin (Vandalism)]]',
summary: 'Waxaa lagaa mamnuucay tafatirka si looga hortago [[WP:VAND|khasaarin]] dheeraad ah'
},
'uw-voablock': {
autoblock: true,
expiry: 'infinity',
forRegisteredOnly: true,
nocreate: true,
pageParam: true,
reason: '[[WP:DISRUPTONLY|Xisaab khasaarin keliya (Vandalism-only account)]]',
summary: 'Waxaa lagaa mamnuucay tafatirka si aan xad lahayn sababtoo ah xisaabtaada waxaa [[WP:DISRUPTONLY|loo isticmaalaa keliya khasaarin]]'
},
'zombie proxy': {
expiry: '1 month',
forIPsOnly: true,
nocreate: true,
nonstandard: true,
reason: '{{zombie proxy}}',
sig: null
},
'uw-acpblock': {
autoblock: true,
expiry: '48 hours',
nocreate: true,
pageParam: false,
reasonParam: true,
reason: 'Xadgudubka [[WP:Sock puppetry|xisaabaha badan]]',
summary: 'Waxaa lagaaga [[WP:PB|mamnuucay abuurista xisaabo]] xadgudubka [[WP:SOCK|xisaabaha badan]] awgeed'
},
'uw-acpblockindef': {
autoblock: true,
expiry: 'infinity',
forRegisteredOnly: true,
nocreate: true,
pageParam: false,
reasonParam: true,
reason: 'Xadgudubka [[WP:Sock puppetry|xisaabaha badan]]',
summary: 'Waxaa si aan xad lahayn loogaaga [[WP:PB|mamnuucay abuurista xisaabo]] xadgudubka [[WP:SOCK|xisaabaha badan]] awgeed'
},
'uw-aepblock': {
autoblock: true,
nocreate: false,
pageParam: false,
reason: '[[WP:Arbitration enforcement|Fulinta go\'aanka garsoorka]]',
reasonParam: true,
summary: 'Waxaa lagaaga [[WP:PB|xiray qayb ahaan]] tafatirka xadgudubka [[WP:Arbitration|go\'aanka garsoorka]] awgeed'
},
'uw-epblock': {
autoblock: true,
expiry: 'infinity',
forRegisteredOnly: true,
nocreate: false,
noemail: true,
pageParam: false,
reasonParam: true,
reason: '[[WP:Harassment|Dhibaateynta]] iimaylka',
summary: 'Waxaa lagaaga [[WP:PB|mamnuucay iimaylka]] dirista isticmaaleyaasha kale [[WP:Harassment|dhibaateyn]] awgeed'
},
'uw-ewpblock': {
autoblock: true,
expiry: '24 hours',
nocreate: false,
pageParam: false,
reasonParam: true,
reason: '[[WP:Edit warring|Dagaalka wax-ka-beddelka]]',
summary: 'Waxaa lagaaga [[WP:PB|xiray qayb ahaan]] tafatirka qaybo ka mid ah ensiklopedia si looga hortago [[WP:DE|khalkhal]] dheeraad ah oo ka dhashay [[WP:EW|dagaalka wax-ka-beddelka]]'
},
'uw-llmpblock': {
autoblock: true,
expiry: 'infinity',
nocreate: true,
pageParam: true,
reasonParam: true,
reason: 'Isticmaalka khaldan ee [[WP:Disruptive editing#Persistent LLM use|moodal luqadeed oo weyn (LLM)]] oo soo noqnoqday',
summary: 'Waxaa lagaa mamnuucay tafatirka isticmaalka khaldan ee [[WP:Disruptive editing#Persistent LLM use|moodal luqadeed oo weyn]] oo soo noqnoqday awgeed'
},
'uw-pblock': {
autoblock: true,
expiry: '24 hours',
nocreate: false,
pageParam: false,
reasonParam: true,
summary: 'Waxaa lagaaga [[WP:PB|xiray qayb ahaan]] goobo gaar ah oo ka mid ah ensiklopedia'
},
'uw-pblockindef': {
autoblock: true,
expiry: 'infinity',
forRegisteredOnly: true,
nocreate: false,
pageParam: false,
reasonParam: true,
summary: 'Waxaa si aan xad lahayn loogaaga [[WP:PB|xiray qayb ahaan]] goobo gaar ah oo ka mid ah ensiklopedia'
}
};
Twinkle.block.transformBlockPresets = function twinkleblockTransformBlockPresets() {
$.each(Twinkle.block.blockPresetsInfo, (preset, settings) => {
settings.summary = settings.summary || settings.reason;
settings.sig = settings.sig !== undefined ? settings.sig : 'yes';
settings.indefinite = settings.indefinite || Morebits.string.isInfinity(settings.expiry);
if (!Twinkle.block.isRegistered && settings.indefinite) {
settings.expiry = '31 hours';
} else {
settings.expiry = settings.expiry || '31 hours';
}
Twinkle.block.blockPresetsInfo[preset] = settings;
});
};
Twinkle.block.blockGroups = [
{
label: 'Sababaha caadiga ah ee xiritaanka',
list: [
{ label: 'Anonblock', value: 'anonblock' },
{ label: 'Anonblock – waxay u badan tahay dugsi', value: 'anonblock - school' },
{ label: 'Xiritaanka dugsiga', value: 'school block' },
{ label: 'Xiritaan guud (sabab gaar ah)', value: 'uw-block' },
{ label: 'Xiritaan guud (sabab gaar ah) – IP', value: 'uw-ablock', selected: true },
{ label: 'Xiritaan guud (sabab gaar ah) – aan la muddeyn', value: 'uw-blockindef' },
{ label: 'Tafatir khalkhalin ah', value: 'uw-disruptblock' },
{ label: 'Isticmaalka khaldan ee bogga wada-hadalka inta xirnaa', value: 'uw-talkrevoked' },
{ label: 'Halkan uma joogo dhisidda ensiklopedia', value: 'uw-nothereblock' },
{ label: 'Wax-ku-jira aan tixraaca lahayn', value: 'uw-ucblock' },
{ label: 'Khasaarin (Vandalism)', value: 'uw-vblock' },
{ label: 'Xisaab khasaarin keliya', value: 'uw-voablock' }
]
},
{
label: 'Sababaha la dheereeyay',
list: [
{ label: 'Xayeysiis', value: 'uw-adblock' },
{ label: 'Fulinta go\'aanka garsoorka', value: 'uw-aeblock' },
{ label: 'Ka cararka xiritaanka – IP', value: 'uw-ipevadeblock' },
{ label: 'Ka cararka xiritaanka – xisaab ku-meel-gaar ah', value: 'uw-tempevadeblock' },
{ label: 'Xadgudubyada BLP', value: 'uw-bioblock' },
{ label: 'Xadgudubyada xuquuqda daabacaadda', value: 'uw-copyrightblock' },
{ label: 'Abuurista boggag aan macne lahayn', value: 'uw-npblock' },
{ label: 'La xiriira shaandhada tafatirka', value: 'uw-efblock' },
{ label: 'Dagaalka wax-ka-beddelka', value: 'uw-ewblock' },
{ label: 'Xiritaan guud oo laga qaaday ogolaanshaha bogga wada-hadalka', value: 'uw-blocknotalk' },
{ label: 'Dhibaateyn', value: 'uw-hblock' },
{ label: 'Hanjabaado sharci', value: 'uw-lblock' },
{ label: 'Isticmaalka khaldan ee LLM', value: 'uw-llmblock' },
{ label: 'Weerar shaqsiyeed ama dhibaateyn', value: 'uw-pablock' },
{ label: 'Xisaab suurtagal ah oo la afduubay', value: 'uw-compblock' },
{ label: 'Tirtiridda wax-ku-jira', value: 'uw-dblock' },
{ label: 'Xisaab hoosaad (master)', value: 'uw-sockblock' },
{ label: 'Xisaab hoosaad (puppet)', value: 'uw-spoablock' },
{ label: 'Shabakad bulsheed', value: 'uw-socialmediablock' },
{ label: 'Spam', value: 'uw-sblock' },
{ label: 'Spam/xayeysiis keliya', value: 'uw-soablock' },
{ label: 'Bot aan la oggolayn', value: 'uw-botblock' },
{ label: 'Tafatir lacag lagu qaatay oo aan la shaacin', value: 'uw-upeblock' },
{ label: 'Xadgudubka xeerka saddex-jeer-celinta', value: 'uw-3block' }
]
},
{
label: 'Xadgudubyada magaca isticmaale',
list: [
{ label: 'Magaca isticmaale ee Bot, xiritaan jilicsan', value: 'uw-botublock' },
{ label: 'Magaca isticmaale ee Bot, xiritaan adag', value: 'uw-botuhblock' },
{ label: 'Magaca isticmaale xayeysiis ah, xiritaan adag', value: 'uw-spamublock' },
{ label: 'Magaca isticmaale xayeysiis ah, xiritaan jilicsan', value: 'uw-softerblock' },
{ label: 'Magaca isticmaale ee la mid ah, xiritaan jilicsan', value: 'uw-ublock-double' },
{ label: 'Xadgudub magaca isticmaale, xiritaan jilicsan', value: 'uw-ublock' },
{ label: 'Xadgudub magaca isticmaale, xiritaan adag', value: 'uw-uhblock' },
{ label: 'Isku day in la iska dhigo isticmaale kale, xiritaan adag', value: 'uw-uhblock-double' },
{ label: 'Magaca isticmaale wuxuu matalayaa qof caan ah, xiritaan jilicsan', value: 'uw-ublock-wellknown' },
{ label: 'Magaca isticmaale wuxuu matalayaa urur aan faa\'iido doon ahayn, xiritaan jilicsan', value: 'uw-causeblock' },
{ label: 'Xadgudub magaca isticmaale, xisaab khasaarin keliya', value: 'uw-vaublock' }
]
},
{
label: 'Sababaha lagu muunadeeyay',
list: [
{ label: 'Proxy la xiray', value: 'blocked proxy' },
{ label: 'Xiritaanka CheckUser', value: 'CheckUser block' },
{ label: 'Xiritaanka CheckUser – xisaab', value: 'checkuserblock-account' },
{ label: 'Xiritaanka CheckUser – ballaaran', value: 'checkuserblock-wide' },
{ label: 'Colocation webhost', value: 'colocationwebhost' },
{ label: 'Xiritaanka Oversight', value: 'oversightblock' },
{ label: 'Xiritaanka xadka (Rangeblock)', value: 'rangeblock' },
{ label: 'Xiritaanka liiska madow ee spam-ka', value: 'spamblacklistblock' },
{ label: 'Tor', value: 'tor' },
{ label: 'Xiritaanka webhost', value: 'webhostblock' },
{ label: 'Proxy zombie', value: 'zombie proxy' }
]
}
];
Twinkle.block.blockGroupsPartial = [
{
label: 'Sababaha caadiga ah ee xiritaanka qayb ahaan',
list: [
{ label: 'Xiritaan qayb ah oo guud (sabab gaar ah)', value: 'uw-pblock', selected: true },
{ label: 'Xiritaan qayb ah oo guud (sabab gaar ah) – aan la muddeyn', value: 'uw-pblockindef' },
{ label: 'Dagaalka wax-ka-beddelka', value: 'uw-ewpblock' }
]
},
{
label: 'Sababaha la dheereeyay ee xiritaanka qayb ahaan',
list: [
{ label: 'Fulinta go\'aanka garsoorka', value: 'uw-aepblock' },
{ label: 'Dhibaateynta iimaylka', value: 'uw-epblock' },
{ label: 'Isticmaalka khaldan ee LLM', value: 'uw-llmpblock' },
{ label: 'Xadgudubka xisaabaha badan', value: 'uw-acpblock' },
{ label: 'Xadgudubka xisaabaha badan – aan la muddeyn', value: 'uw-acpblockindef' }
]
}
];
Twinkle.block.callback.filtered_block_groups = function twinkleblockCallbackFilteredBlockGroups(group, showTemplate) {
return $.map(group, (blockGroup) => {
const list = $.map(blockGroup.list, (blockPreset) => {
switch (blockPreset.value) {
case 'uw-talkrevoked':
if (blockedUserName !== relevantUserName) {
return;
}
break;
case 'rangeblock':
if (!Morebits.ip.isRange(relevantUserName)) {
return;
}
blockPreset.selected = !Morebits.ip.get64(relevantUserName);
break;
case 'CheckUser block':
case 'checkuserblock-account':
case 'checkuserblock-wide':
if (!Morebits.userIsInGroup('checkuser')) {
return;
}
break;
case 'oversightblock':
if (!Morebits.userIsInGroup('suppress')) {
return;
}
break;
default:
break;
}
const blockSettings = Twinkle.block.blockPresetsInfo[blockPreset.value];
let allowedUserType;
if (blockSettings.forRegisteredOnly) {
allowedUserType = Twinkle.block.isRegistered;
} else if (blockSettings.forTempAccountsOnly) {
allowedUserType = mw.util.isTemporaryUser(mw.config.get('wgRelevantUserName'));
} else if (blockSettings.forIPsOnly) {
allowedUserType = !Twinkle.block.isRegistered;
} else {
allowedUserType = true;
}
if (!(blockSettings.templateName && showTemplate) && allowedUserType) {
const templateName = blockSettings.templateName || blockPreset.value;
return {
label: (showTemplate ? '{{' + templateName + '}}: ' : '') + blockPreset.label,
value: blockPreset.value,
data: [{
name: 'template-name',
value: templateName
}],
selected: !!blockPreset.selected,
disabled: !!blockPreset.disabled
};
}
});
if (list.length) {
return {
label: blockGroup.label,
list: list
};
}
});
};
Twinkle.block.callback.change_preset = function twinkleblockCallbackChangePreset(e) {
const form = e.target.form, key = form.preset.value;
if (!key) {
return;
}
Twinkle.block.callback.update_form(e, Twinkle.block.blockPresetsInfo[key]);
if (form.template) {
form.template.value = Twinkle.block.blockPresetsInfo[key].templateName || key;
Twinkle.block.callback.change_template(e);
} else {
Morebits.QuickForm.setElementVisibility(form.dstopic.parentNode, key === 'uw-aeblock' || key === 'uw-aepblock');
}
};
Twinkle.block.callback.change_expiry = function twinkleblockCallbackChangeExpiry(e) {
const expiry = e.target.form.expiry;
if (e.target.value === 'custom') {
Morebits.QuickForm.setElementVisibility(expiry.parentNode, true);
} else {
Morebits.QuickForm.setElementVisibility(expiry.parentNode, false);
expiry.value = e.target.value;
}
};
Twinkle.block.seeAlsos = [];
Twinkle.block.callback.toggle_see_alsos = function twinkleblockCallbackToggleSeeAlso() {
const joinEnum = function(e) {
if (e.length >= 3) {
return e.slice(0, -1).join(', ') + ' iyo ' + e[e.length - 1];
} else {
return e.join(' iyo ');
}
};
const reason = this.form.reason.value.replace(
new RegExp('( <!--|;) see also ' + joinEnum(Twinkle.block.seeAlsos) + '( -->)?'), ''
);
Twinkle.block.seeAlsos = Twinkle.block.seeAlsos.filter((el) => el !== this.value);
if (this.checked) {
Twinkle.block.seeAlsos.push(this.value);
}
const seeAlsoMessage = joinEnum(Twinkle.block.seeAlsos);
if (!Twinkle.block.seeAlsos.length) {
this.form.reason.value = reason;
} else if (reason.includes('{{')) {
this.form.reason.value = reason + ' <!-- eeg sidoo kale ' + seeAlsoMessage + ' -->';
} else {
this.form.reason.value = reason + '; eeg sidoo kale ' + seeAlsoMessage;
}
};
Twinkle.block.dsReason = '';
Twinkle.block.callback.toggle_ds_reason = function twinkleblockCallbackToggleDSReason() {
const reason = this.form.reason.value.replace(
new RegExp(' ?\\(\\[\\[' + Twinkle.block.dsReason + '\\]\\]\\)'), ''
);
Twinkle.block.dsinfo.then((dsinfo) => {
const sanctionCode = this.selectedIndex;
const sanctionName = this.options[sanctionCode].label;
Twinkle.block.dsReason = dsinfo[sanctionName].page;
if (!this.value) {
this.form.reason.value = reason;
} else {
this.form.reason.value = reason + ' ([[' + Twinkle.block.dsReason + ']])';
}
});
};
Twinkle.block.callback.update_form = function twinkleblockCallbackUpdateForm(e, data) {
const form = e.target.form;
let expiry = data.expiry;
if (!data.useInitialOptions) {
if (Date.parse(expiry)) {
expiry = new Date(expiry).toGMTString();
form.expiry_preset.value = 'custom';
} else {
form.expiry_preset.value = data.expiry || 'custom';
}
form.expiry.value = expiry;
if (form.expiry_preset.value === 'custom') {
Morebits.QuickForm.setElementVisibility(form.expiry.parentNode, true);
} else {
Morebits.QuickForm.setElementVisibility(form.expiry.parentNode, false);
}
}
data.disabletalk = data.disabletalk !== undefined ? data.disabletalk : false;
data.hardblock = data.hardblock !== undefined ? data.hardblock : false;
if (Twinkle.block.userIsBot || /bot\b/i.test(relevantUserName)) {
data.autoblock = false;
}
$(form).find('[name=field_block_options]').find(':checkbox').each((i, el) => {
if (data.useInitialOptions && data[el.name] === undefined) {
return;
}
const check = data[el.name] === '' || !!data[el.name];
$(el).prop('checked', check);
});
if (data.prependReason && data.reason) {
form.reason.value = data.reason + '; ' + form.reason.value;
} else {
form.reason.value = data.reason || '';
}
if (form.pagerestrictions) {
const $pageSelect = $(form).find('[name=pagerestrictions]');
const $namespaceSelect = $(form).find('[name=namespacerestrictions]');
if (!data.useInitialOptions) {
$pageSelect.val(null).trigger('change');
$namespaceSelect.val(null).trigger('change');
}
if (data.restrictions) {
if (data.restrictions.pages && !$pageSelect.val().length) {
const pages = data.restrictions.pages.map((pr) => pr.title);
pages.forEach((page) => {
if (!$pageSelect.find("option[value='" + $.escapeSelector(page) + "']").length) {
const newOption = new Option(page, page, true, true);
$pageSelect.append(newOption);
}
});
$pageSelect.val($pageSelect.val().concat(pages)).trigger('change');
}
if (data.restrictions.namespaces) {
$namespaceSelect.val($namespaceSelect.val().concat(data.restrictions.namespaces)).trigger('change');
}
}
}
};
Twinkle.block.callback.change_template = function twinkleblockcallbackChangeTemplate(e) {
const form = e.target.form, value = form.template.value, settings = Twinkle.block.blockPresetsInfo[value];
const blockBox = $(form).find('[name=actiontype][value=block]').is(':checked');
const partialBox = $(form).find('[name=actiontype][value=partial]').is(':checked');
const templateBox = $(form).find('[name=actiontype][value=template]').is(':checked');
if (!blockBox) {
if (settings.indefinite || settings.nonstandard) {
if (Twinkle.block.prev_template_expiry === null) {
Twinkle.block.prev_template_expiry = form.template_expiry.value || '';
}
form.template_expiry.parentNode.style.display = 'none';
form.template_expiry.value = 'infinity';
} else if (form.template_expiry.parentNode.style.display === 'none') {
if (Twinkle.block.prev_template_expiry !== null) {
form.template_expiry.value = Twinkle.block.prev_template_expiry;
Twinkle.block.prev_template_expiry = null;
}
form.template_expiry.parentNode.style.display = 'block';
}
if (Twinkle.block.prev_template_expiry) {
form.expiry.value = Twinkle.block.prev_template_expiry;
}
Morebits.QuickForm.setElementVisibility(form.notalk.parentNode, !settings.nonstandard);
Morebits.QuickForm.setElementVisibility(form.noemail_template.parentNode, partialBox);
Morebits.QuickForm.setElementVisibility(form.nocreate_template.parentNode, partialBox);
} else if (templateBox) {
Morebits.QuickForm.setElementVisibility(
form.blank_duration.parentNode,
!settings.indefinite && !settings.nonstandard
);
}
Morebits.QuickForm.setElementVisibility(form.dstopic.parentNode, value === 'uw-aeblock' || value === 'uw-aepblock');
Morebits.QuickForm.setElementVisibility(form.article.parentNode, settings && !!settings.pageParam);
Morebits.QuickForm.setElementVisibility(form.block_reason.parentNode, settings && !!settings.reasonParam);
Morebits.QuickForm.setElementVisibility(form.area.parentNode, partialBox && !blockBox);
form.root.previewer.closePreview();
};
Twinkle.block.prev_template_expiry = null;
Twinkle.block.callback.preview = function twinkleblockcallbackPreview(form) {
const params = {
article: form.article.value,
blank_duration: form.blank_duration ? form.blank_duration.checked : false,
disabletalk: form.disabletalk.checked || (form.notalk ? form.notalk.checked : false),
expiry: form.template_expiry ? form.template_expiry.value : form.expiry.value,
hardblock: Twinkle.block.isRegistered ? form.autoblock.checked : form.hardblock.checked,
indefinite: Morebits.string.isInfinity(form.template_expiry ? form.template_expiry.value : form.expiry.value),
reason: form.block_reason.value,
template: form.template.value,
dstopic: form.dstopic.value,
partial: $(form).find('[name=actiontype][value=partial]').is(':checked'),
pagerestrictions: $(form.pagerestrictions).val() || [],
namespacerestrictions: $(form.namespacerestrictions).val() || [],
noemail: form.noemail.checked || (form.noemail_template ? form.noemail_template.checked : false),
nocreate: form.nocreate.checked || (form.nocreate_template ? form.nocreate_template.checked : false),
area: form.area.value
};
const templateText = Twinkle.block.callback.getBlockNoticeWikitext(params);
form.previewer.beginRender(templateText, 'User_talk:' + relevantUserName);
};
Twinkle.block.callback.evaluate = function twinkleblockCallbackEvaluate(e) {
const $form = $(e.target),
toBlock = $form.find('[name=actiontype][value=block]').is(':checked'),
toWarn = $form.find('[name=actiontype][value=template]').is(':checked'),
toPartial = $form.find('[name=actiontype][value=partial]').is(':checked');
let blockoptions = {}, templateoptions = {};
Twinkle.block.callback.saveFieldset($form.find('[name=field_block_options]'));
Twinkle.block.callback.saveFieldset($form.find('[name=field_template_options]'));
blockoptions = Twinkle.block.field_block_options;
templateoptions = Twinkle.block.field_template_options;
templateoptions.disabletalk = !!(templateoptions.disabletalk || blockoptions.disabletalk);
templateoptions.hardblock = !!blockoptions.hardblock;
delete blockoptions.expiry_preset;
if (toPartial) {
blockoptions.partial = templateoptions.partial = true;
}
templateoptions.pagerestrictions = $form.find('[name=pagerestrictions]').val() || [];
templateoptions.namespacerestrictions = $form.find('[name=namespacerestrictions]').val() || [];
blockoptions.pagerestrictions = templateoptions.pagerestrictions.join('|');
blockoptions.namespacerestrictions = templateoptions.namespacerestrictions.join('|');
templateoptions.summary = templateoptions.summary || blockoptions.reason;
templateoptions.expiry = templateoptions.template_expiry || blockoptions.expiry;
if (toBlock) {
if (blockoptions.partial) {
if (blockoptions.disabletalk && !blockoptions.namespacerestrictions.includes('3')) {
return alert('Xiritaannada qayb ahaan ma joojin karaan gelitaanka bogga wada-hadalka ilaa laga mamnuucayo inay wax ka beddelaan booska wada-hadalka isticmaalaha!');
}
if (!blockoptions.namespacerestrictions && !blockoptions.pagerestrictions) {
if (!blockoptions.noemail && !blockoptions.nocreate) {
return alert('Lama dooran wax boggag ama namespace-yo ah, sidoo kale iimayl ama abuuris xisaab lama xirin; fadlan dooro ugu yaraan hal ikhtiyaar si aad u daboosho xiritaan qayb ah!');
} else if ((templateoptions.template !== 'uw-epblock' || $form.find('select[name="preset"]').val() !== 'uw-epblock') &&
!confirm('Waxaad ku dhowdahay inaad xirto iyada oo aan la saarin xannibaad boggaga ama namespace-yada ah, ma hubtaa inaad rabto inaad sii wadho?')) {
return;
}
}
}
if (!blockoptions.expiry) {
return alert('Fadlan geli muddo xiritaan!');
} else if (Morebits.string.isInfinity(blockoptions.expiry) && !Twinkle.block.isRegistered) {
return alert("Lama xiri karo cinwaan IP ah si aan xad lahayn!");
}
if (!blockoptions.reason) {
return alert('Fadlan geli sababta xiritaanka!');
}
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(e.target);
const statusElement = new Morebits.Status('Fulinta xiritaanka');
blockoptions.action = 'block';
blockoptions.user = relevantUserName;
blockoptions.anononly = blockoptions.hardblock ? undefined : true;
blockoptions.allowusertalk = blockoptions.disabletalk ? undefined : true;
const query = {
format: 'json',
action: 'query',
list: 'blocks|logevents',
letype: 'block',
lelimit: 1,
letitle: 'User:' + blockoptions.user
};
if (mw.util.isIPAddress(blockoptions.user, true)) {
query.bkip = blockoptions.user;
} else {
query.bkusers = blockoptions.user;
}
api.get(query).then((data) => {
let block = data.query.blocks[0];
if (data.query.blocks.length > 1 && block.user !== relevantUserName) {
block = data.query.blocks[1];
}
const logevents = data.query.logevents[0];
const logid = data.query.logevents.length ? logevents.logid : false;
if (logid !== Twinkle.block.blockLogId || !!block !== !!Twinkle.block.currentBlockInfo) {
let message = 'Xaaladda xiritaanka ee ' + blockoptions.user + ' waa la beddelay. ';
if (block) {
message += 'Xaaladda cusub: ';
} else {
message += 'Gelitaankii ugu dambeeyay: ';
}
let logExpiry = '';
if (logevents.params.duration) {
if (logevents.params.duration === 'infinity') {
logExpiry = 'si aan xad lahayn';
} else {
const expiryDate = new Morebits.Date(logevents.params.expiry);
logExpiry += (expiryDate.isBefore(new Date()) ? ', wuxuu dhacay ' : ' ilaa ') + expiryDate.calendar();
}
} else {
logExpiry = ' ' + new Morebits.Date(logevents.timestamp).calendar();
}
message += Morebits.string.toUpperCaseFirstChar(logevents.action) + ' waxaa fuliyay ' + logevents.user + logExpiry +
' sababoo ah "' + logevents.comment + '". Ma rabtaa inaad ku dul qorto habayntaada?';
if (!confirm(message)) {
Morebits.Status.info('Fulinta xiritaanka', 'Waxaa joojiyay isticmaalaha');
return;
}
blockoptions.reblock = 1;
}
blockoptions.tags = Twinkle.changeTags;
blockoptions.token = mw.user.tokens.get('csrfToken');
const mbApi = new Morebits.wiki.Api('Fulinta xiritaanka', blockoptions, (() => {
statusElement.info('Waa la dhammeeyay');
if (toWarn) {
Twinkle.block.callback.issue_template(templateoptions);
}
}));
mbApi.post();
});
} else if (toWarn) {
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(e.target);
Twinkle.block.callback.issue_template(templateoptions);
} else {
return alert('Fadlan siiso Twinkle wax ay qabato!');
}
};
Twinkle.block.callback.issue_template = function twinkleblockCallbackIssueTemplate(formData) {
const userTalkPage = 'User_talk:' + mw.config.get('wgRelevantUserName');
const params = Twinkle.block.combineFormDataAndFieldTemplateOptions(
formData,
Twinkle.block.blockPresetsInfo[formData.template],
Twinkle.block.field_template_options.block_reason,
Twinkle.block.field_template_options.notalk,
Twinkle.block.field_template_options.noemail_template,
Twinkle.block.field_template_options.nocreate_template
);
Morebits.wiki.actionCompleted.redirect = userTalkPage;
Morebits.wiki.actionCompleted.notice = 'Tillaabooyinka waa la dhammeeyay, bogga wada-hadalka isticmaalaha ayaa soo baxaya daqiiqado kadib';
const wikipediaPage = new Morebits.wiki.Page(userTalkPage, 'Beddelka bogga wada-hadalka isticmaalaha');
wikipediaPage.setCallbackParameters(params);
wikipediaPage.load(Twinkle.block.callback.main);
};
Twinkle.block.combineFormDataAndFieldTemplateOptions = function(formData, messageData, reason, disabletalk, noemail, nocreate) {
return $.extend(formData, {
messageData: messageData,
reason: reason,
disabletalk: disabletalk,
noemail: noemail,
nocreate: nocreate
});
};
Twinkle.block.callback.getBlockNoticeWikitext = function(params) {
let text = '{{';
const settings = Twinkle.block.blockPresetsInfo[params.template];
if (!settings.nonstandard) {
text += 'subst:' + params.template;
if (params.article && settings.pageParam) {
text += '|page=' + params.article;
}
if (params.dstopic) {
text += '|topic=' + params.dstopic;
}
if (!/te?mp|^\s*$|min/.exec(params.expiry)) {
if (params.indefinite) {
text += '|indef=yes';
} else if (!params.blank_duration && !new Morebits.Date(params.expiry).isValid()) {
text += '|time=' + params.expiry;
}
}
if (!Twinkle.block.isRegistered && !params.hardblock) {
text += '|anon=yes';
}
if (params.reason) {
text += '|reason=' + params.reason;
}
if (params.disabletalk) {
text += '|notalk=yes';
}
if (params.partial) {
if (params.pagerestrictions.length || params.namespacerestrictions.length) {
const makeSentence = function(array) {
if (array.length < 3) {
return array.join(' iyo ');
}
const last = array.pop();
return array.join(', ') + ', iyo ' + last;
};
text += '|area=' + (params.indefinite ? 'goobo gaar ah ' : 'laga bilaabo goobo gaar ah ');
if (params.pagerestrictions.length) {
text += 'boggaga (' + makeSentence(params.pagerestrictions.map((p) => '[[:' + p + ']]'));
text += params.namespacerestrictions.length ? ') iyo goobo kale ' : ')';
}
if (params.namespacerestrictions.length) {
const namespaceNames = params.namespacerestrictions.map((id) => menuFormattedNamespaces[id]);
text += '[[Wikipedia:Namespace|namespace-yada]] (' + makeSentence(namespaceNames) + ')';
}
} else if (params.area) {
text += '|area=' + params.area;
} else {
if (params.noemail) {
text += '|email=yes';
}
if (params.nocreate) {
text += '|accountcreate=yes';
}
}
}
} else {
text += params.template;
}
if (settings.sig) {
text += '|sig=' + settings.sig;
}
return text + '}}';
};
Twinkle.block.callback.main = function twinkleblockcallbackMain(pageobj) {
const params = pageobj.getCallbackParameters(),
date = new Morebits.Date(pageobj.getLoadTime()),
messageData = params.messageData;
let text;
params.indefinite = Morebits.string.isInfinity(params.expiry);
if (Twinkle.getPref('blankTalkpageOnIndefBlock') && params.template !== 'uw-lblock' && params.indefinite) {
Morebits.Status.info('Macluumaad', 'Bogga wada-hadalka waa la madhinayaa iyadoo la raacayo doorbidyada waxaana la abuurayaa qayb bog wada-hadal cusub oo bishaan ah');
text = date.monthHeader() + '\n';
} else {
text = pageobj.getPageText();
const dateHeaderRegex = date.monthHeaderRegex();
let dateHeaderRegexLast, dateHeaderRegexResult;
while ((dateHeaderRegexLast = dateHeaderRegex.exec(text)) !== null) {
dateHeaderRegexResult = dateHeaderRegexLast;
}
const lastHeaderIndex = text.lastIndexOf('\n==') + 1;
if (text.length > 0) {
text += '\n\n';
}
if (!dateHeaderRegexResult || dateHeaderRegexResult.index !== lastHeaderIndex) {
Morebits.Status.info('Macluumaad', 'Waxaa la abuuri doonaa qayb bogga wada-hadalka cusub ee bishaan, maadaama aysan jirin mid la helay');
text += date.monthHeader() + '\n';
}
}
params.expiry = typeof params.template_expiry !== 'undefined' ? params.template_expiry : params.expiry;
text += Twinkle.block.callback.getBlockNoticeWikitext(params);
let summary = messageData.summary;
if (messageData.suppressArticleInSummary !== true && params.article) {
summary += ' ee ku saabsan [[:' + params.article + ']]';
}
summary += '.';
pageobj.setPageText(text);
pageobj.setEditSummary(summary);
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('watchWarnings'));
pageobj.save();
};
Twinkle.addInitCallback(Twinkle.block, 'block');
}());
// </nowiki>
10xhhagftx9p8cca7uxceoefhhw7cl9
MediaWiki:Gadget-twinklewelcome.js
8
53675
310862
2026-10-25T11:10:15Z
Isma4l
41797
Abuuray
310862
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinklewelcome.js: Qaybta Soo-dhaweynta (Welcome module)
****************************************
* Qaabka loo yeero: Tab ("Soo-dhoweeyo"), ama xiriiriyeyaasha bogagga kala duwan
* Ka shaqeeya: Bog kasta oo leh magaca isticmaale ee khuseeya (User space, contributions, iwm.) iyo boggaga kala duwanaanshaha (diff pages)
*/
Twinkle.welcome = function twinklewelcome() {
if (Twinkle.getPrefill('twinklewelcome')) {
if (Twinkle.getPrefill('twinklewelcome') === 'auto') {
Twinkle.welcome.auto();
} else {
Twinkle.welcome.semiauto();
}
} else {
Twinkle.welcome.normal();
}
};
Twinkle.welcome.auto = function() {
if (mw.util.getParamValue('action') !== 'edit') {
// bogga isticmaalaha madhan ma aha, wuu joojinayaa soo-dhaweynta otomaatigga ah
return;
}
Twinkle.welcome.welcomeUser();
};
Twinkle.welcome.semiauto = function() {
Twinkle.welcome.callback(mw.config.get('wgRelevantUserName'));
};
Twinkle.welcome.normal = function() {
const isDiff = mw.util.getParamValue('diff');
if (isDiff) {
// hubi in boggaga wada-hadalka ee wax-ka-beddelayaasha ay jiraan iyo inkale
const $oldDiffUsernameLine =$('#mw-diff-otitle2');
const $newDiffUsernameLine =$('#mw-diff-ntitle2');
const $oldDiffHasRedlinkedTalkPage =$oldDiffUsernameLine.find('span.mw-usertoollinks a.new:contains(talk)').first();
const $newDiffHasRedlinkedTalkPage =$newDiffUsernameLine.find('span.mw-usertoollinks a.new:contains(talk)').first();
const diffHasRedlinkedTalkPage = $oldDiffHasRedlinkedTalkPage.length > 0 \vert{}\vert{}$newDiffHasRedlinkedTalkPage.length > 0;
if (diffHasRedlinkedTalkPage) {
const spanTag = function(color, content) {
const span = document.createElement('span');
span.style.color = color;
span.appendChild(document.createTextNode(content));
return span;
};
const welcomeNode = document.createElement('strong');
const welcomeLink = document.createElement('a');
welcomeLink.appendChild(spanTag('Black', '['));
welcomeLink.appendChild(spanTag('Goldenrod', 'soo-dhawee'));
welcomeLink.appendChild(spanTag('Black', ']'));
welcomeNode.appendChild(welcomeLink);
if ($oldDiffHasRedlinkedTalkPage.length > 0) {
const oHref = $oldDiffHasRedlinkedTalkPage.attr('href');
const oWelcomeNode = welcomeNode.cloneNode(true);
oWelcomeNode.firstChild.setAttribute('href', oHref + '&' + $.param({
twinklewelcome: Twinkle.getPref('quickWelcomeMode') === 'auto' ? 'auto' : 'norm',
vanarticle: Morebits.pageNameNorm
}));
$oldDiffHasRedlinkedTalkPage[0].parentNode.parentNode.appendChild(document.createTextNode(' '));$oldDiffHasRedlinkedTalkPage[0].parentNode.parentNode.appendChild(oWelcomeNode);
}
if ($newDiffHasRedlinkedTalkPage.length > 0) {
const nHref = $newDiffHasRedlinkedTalkPage.attr('href');
const nWelcomeNode = welcomeNode.cloneNode(true);
nWelcomeNode.firstChild.setAttribute('href', nHref + '&' + $.param({
twinklewelcome: Twinkle.getPref('quickWelcomeMode') === 'auto' ? 'auto' : 'norm',
vanarticle: Morebits.pageNameNorm
}));
$newDiffHasRedlinkedTalkPage[0].parentNode.parentNode.appendChild(document.createTextNode(' '));$newDiffHasRedlinkedTalkPage[0].parentNode.parentNode.appendChild(nWelcomeNode);
}
}
}
// Isticmaaleyaasha iyo IP-yada laakiin ma aha xadka IP-ga (IP ranges)
if (mw.config.exists('wgRelevantUserName') && !Morebits.ip.isRange(mw.config.get('wgRelevantUserName'))) {
Twinkle.addPortletLink(() => {
Twinkle.welcome.callback(mw.config.get('wgRelevantUserName'));
}, 'Soo-dhoweeyo', 'twinkle-welcome', 'Soo-dhawee isticmaalaha');
}
};
Twinkle.welcome.welcomeUser = function welcomeUser() {
Morebits.Status.init(document.getElementById('mw-content-text'));
$('#catlinks').remove();
const params = {
template: Twinkle.getPref('quickWelcomeTemplate'),
article: Twinkle.getPrefill('vanarticle') || '',
mode: 'auto'
};
const userTalkPage = mw.config.get('wgFormattedNamespaces')[3] + ':' + mw.config.get('wgRelevantUserName');
Morebits.wiki.actionCompleted.redirect = userTalkPage;
Morebits.wiki.actionCompleted.notice = 'Soo-dhaweynta waa la dhammeeyay, dib ayaan u soo dejineynaa bogga wada-hadalka daqiiqado gudahood';
const wikipedia_page = new Morebits.wiki.Page(userTalkPage, 'Beddelka bogga wada-hadalka isticmaalaha');
wikipedia_page.setFollowRedirect(true);
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.welcome.callbacks.main);
};
Twinkle.welcome.callback = function twinklewelcomeCallback(uid) {
if (uid === mw.config.get('wgUserName') && !confirm('Ma hubtaa inaad rabto inaad naftaada soo-dhaweyso?...')) {
return;
}
const Window = new Morebits.SimpleWindow(600, 420);
Window.setTitle('Soo-dhawee isticmaalaha');
Window.setScriptName('Twinkle');
Window.addFooterLink('Guddiga Soo-dhaweynta', 'WP:WC');
Window.addFooterLink('Doorbidyada soo-dhaweynta', 'WP:TW/PREF#welcome');
Window.addFooterLink('Caawinta Twinkle', 'WP:TW/DOC#welcome');
Window.addFooterLink('Bixi ra’yi-celin', 'WT:TW');
const form = new Morebits.QuickForm(Twinkle.welcome.callback.evaluate);
form.append({
type: 'select',
name: 'type',
label: 'Nooca soo-dhaweynta:',
event: Twinkle.welcome.populateWelcomeList,
list: [
{ type: 'option', value: 'standard', label: 'Soo-dhaweynta caadiga ah', selected: !mw.util.isIPAddress(mw.config.get('wgRelevantUserName')) },
{ type: 'option', value: 'unregistered', label: 'Soo-dhaweynta isticmaaleyaasha aan diiwaangashnayn', selected: mw.util.isIPAddress(mw.config.get('wgRelevantUserName')) || mw.util.isTemporaryUser(mw.config.get('wgRelevantUserName')) },
{ type: 'option', value: 'wikiProject', label: 'Soo-dhaweynta Mashaariicda Wiki (WikiProjects)' },
{ type: 'option', value: 'nonEnglish', label: 'Soo-dhaweynta luqadaha aan Ingiriiska ahayn' }
]
});
form.append({
type: 'div',
id: 'welcomeWorkArea',
className: 'morebits-scrollbox'
});
form.append({
type: 'input',
name: 'article',
label: '* Maqaalka la xiriira (haddii ay taageerto muunaddu):',
value: Twinkle.getPrefill('vanarticle') || '',
tooltip: 'Maqaal waxaa laga yaabaa in laga xiriiriyo gudaha soo-dhaweynta haddii muunaddu taageerto. Ka tag banaan haddii aan la xiriirinayn maqaal. Muunadaha taageera maqaalka la xiriiriyay waxaa lagu calaamadiyay xiddig (*).'
});
const previewlink = document.createElement('a');
$(previewlink).on('click', () => {
Twinkle.welcome.callbacks.preview(result);
});
previewlink.style.cursor = 'pointer';
previewlink.textContent = 'Horudhac (Preview)';
form.append({ type: 'div', name: 'welcomepreview', label: [previewlink] });
form.append({ type: 'submit' });
var result = form.render();
Window.setContent(result);
Window.display();
const evt = document.createEvent('Event');
evt.initEvent('change', true, true);
result.type.dispatchEvent(evt);
};
Twinkle.welcome.populateWelcomeList = function(e) {
const type = e.target.value;
const container = new Morebits.QuickForm.Element({ type: 'fragment' });
if ((type === 'standard' || type === 'unregistered') && Twinkle.getPref('customWelcomeList').length) {
container.append({ type: 'header', label: 'Muunadaha soo-dhaweynta gaarka ah' });
container.append({
type: 'radio',
name: 'template',
list: Twinkle.getPref('customWelcomeList'),
event: function() {
e.target.form.article.disabled = false;
}
});
}
const sets = Twinkle.welcome.templates[type];
$.each(sets, (label, templates) => {
container.append({ type: 'header', label: label });
container.append({
type: 'radio',
name: 'template',
list: $.map(templates, (properties, template) => ({
value: template,
label: '{{' + template + '}}: ' + properties.description + (properties.linkedArticle ? '\u00A0*' : ''),
tooltip: properties.tooltip
})),
event: function(ev) {
ev.target.form.article.disabled = !templates[ev.target.value].linkedArticle;
}
});
});
const rendered = container.render();
$(e.target.form).find('div#welcomeWorkArea').empty().append(rendered);
const firstRadio = e.target.form.template[0];
firstRadio.checked = true;
const vals = Object.values(sets)[0];
e.target.form.article.disabled = vals[firstRadio.value] ? !vals[firstRadio.value].linkedArticle : true;
};
Twinkle.welcome.templates = {
standard: {
'Muunadaha soo-dhaweynta guud': {
welcome: {
description: 'soo-dhaweyn caadi ah',
linkedArticle: true,
syntax: '{{subst:welcome|$USERNAME$|art=$ARTICLE$}} ~~~~'
},
'welcome-retro': {
description: 'fariin soo-dhaweyn ah oo wadata liis yar oo xiriiriyeyaal waxtar leh',
linkedArticle: true,
syntax: '{{subst:welcome-retro|$USERNAME$|art=$ARTICLE$}} ~~~~'
},
'welcome-short': {
description: 'fariin soo-dhaweyn oo gaaban',
syntax: '{{subst:W-short|$EXTRA$}}'
},
'welcome-cookie': {
description: 'fariin soo-dhaweyn ah oo wadata xiriiriyeyaal waxtar leh iyo saxan buskud ah',
syntax: '{{subst:welcome cookie}} ~~~~'
},
welcoming: {
description: 'fariin soo-dhaweyn ah oo wadata xiriiriyeyaal casharro iyo talooyin tafatir oo aas-aasiga ah',
syntax: '{{subst:Welcoming}}'
}
},
'Muunadaha soo-dhaweynta gaarka ah': {
'welcome-belated': {
description: 'soo-dhaweyn loogu talagalay isticmaaleyaasha leh tabarucyo waaweyn',
syntax: '{{subst:welcome-belated|$USERNAME$}}'
},
'welcome student': {
description: 'soo-dhaweyn ardayda wax ka beddelaysa qayb ka mid ah mashruuc fasal waxbarasho',
syntax: '$HEADER$ {{subst:welcome student|$USERNAME$}} ~~~~'
},
'welcome teacher': {
description: 'soo-dhaweyn macallimiinta koorsada ee ku lugta leh mashruuc fasal waxbarasho',
syntax: '$HEADER$ {{subst:welcome teacher|$USERNAME$}} ~~~~'
},
'welcome non-latin': {
description: 'soo-dhaweyn isticmaaleyaasha leh magac isticmaale oo ka kooban xarfo aan Laatiin ahayn',
syntax: '{{subst:welcome non-latin|$USERNAME$}} ~~~~'
},
'welcome mentee': {
description: 'soo-dhaweyn ay la-taliyeyaashu siiyaan dadka ay la-talinta u hayaan',
linkedArticle: true,
syntax: '{{subst:welcome mentee|$ARTICLE$}} ~~~~'
},
'welcome draft': {
description: 'soo-dhaweyn loogu talagalay isticmaaleyaasha qora qabyo-qoraalka maqaallada',
linkedArticle: true,
syntax: '{{subst:welcome draft|art=$ARTICLE$}} ~~~~'
}
},
'Muunadaha soo-dhaweynta isticmaaleyaasha dhibaatada wada': {
'first article': {
description: 'qofkii maqaalkiisii ugu horreeyay uusan buuxin tilmaamaha abuurista boggaga',
linkedArticle: true,
syntax: '{{subst:first article|$ARTICLE$|$USERNAME$}}'
},
'welcome-COI': {
description: 'qof ka tafatiray meelaha ay ka dhalan karto is-khilaaf danfeed (conflict of interest)',
linkedArticle: true,
syntax: '{{subst:welcome-COI|$USERNAME$|art=$ARTICLE$}} ~~~~'
},
'welcome-auto': {
description: 'qof abuuray maqaal is-taariikh nololeed ah (autobiographical)',
linkedArticle: true,
syntax: '{{subst:welcome-auto|$USERNAME$|art=$ARTICLE$}} ~~~~'
},
'welcome-copyright': {
description: 'qof ku darayay maqaallada xadgudubyada xuquuqda daabacaadda',
linkedArticle: true,
syntax: '{{subst:welcome-copyright|$ARTICLE$|$USERNAME$}} ~~~~'
},
'welcome-delete': {
description: 'qof tirtirayay macluumaadka maqaallada',
linkedArticle: true,
syntax: '{{subst:welcome-delete|$ARTICLE$|$USERNAME$}} ~~~~'
},
'welcome-image': {
description: 'soo-dhaweyn wadata macluumaad dheeraad ah oo ku saabsan sawirada (siyaasadda iyo habraaca)',
linkedArticle: true,
syntax: '{{subst:welcome-image|$USERNAME$|art=$ARTICLE$}}'
},
'welcome-LLM': {
description: 'qofkii dadaalkiisii ugu horreeyay u muuqda mid lagu sameeyay moodal luqadeed oo weyn (LLM)',
syntax: '{{subst:welcome-LLM}} ~~~~'
},
'welcome-translation': {
description: 'qofkii dadaalkiisii ugu horreeyay uu yahay turjumaad aan la sheegin halkii laga keenay oo ka timid Wikipedia luqad kale',
syntax: '{{subst:welcome-translation}}'
},
'welcome-unsourced': {
description: 'qofkii dadaalkiisii ugu horreeyay uusan lahayn tixraac',
linkedArticle: true,
syntax: '{{subst:welcome-unsourced|$ARTICLE$|$USERNAME$}} ~~~~'
},
welcomelaws: {
description: 'soo-dhaweyn wadata macluumaad ku saabsan xuquuqda daabacaadda, NPOV, sanduuqa ciidda (sandbox), iyo khasaarinta',
syntax: '{{subst:welcomelaws|$USERNAME$}} ~~~~'
},
welcomenpov: {
description: 'qof aan dadaalkiisii ugu horreeyay u hoggaansamin siyaasadda aragtida dhexdhexaadka ah (NPOV)',
linkedArticle: true,
syntax: '{{subst:welcomenpov|$ARTICLE$|$USERNAME$}} ~~~~'
},
welcomevandal: {
description: 'qofkii dadaalkiisii ugu horreeyay u muuqda khasaarin (vandalism)',
linkedArticle: true,
syntax: '{{subst:welcomevandal|$ARTICLE$|$USERNAME$}}'
},
welcomespam: {
description: 'soo-dhaweyn wadata dood dheeraad ah oo ku saabsan siyaasadaha ka hortagga spam-ka',
linkedArticle: true,
syntax: '{{subst:welcomespam|$ARTICLE$|$USERNAME$}} ~~~~'
},
welcometest: {
description: 'qofkii dadaalkiisii ugu horreeyay u muuqda tijaabo',
linkedArticle: true,
syntax: '{{subst:welcometest|$ARTICLE$|$USERNAME$}} ~~~~'
}
}
},
unregistered: {
'Muunadaha soo-dhaweynta isticmaaleyaasha aan diiwaangashnayn': {
'welcome-unregistered': {
description: 'isticmaaleyaasha aan diiwaangashnayn; dhiirigelinaya abuurista xisaab',
linkedArticle: true,
syntax: '{{subst:welcome-unregistered|art=$ARTICLE$}} ~~~~'
},
thanks: {
description: 'isticmaaleyaasha aan diiwaangashnayn; gaaban; dhiirigelinaya abuurista xisaab',
linkedArticle: true,
syntax: '== Soo dhowow! ==\n{{subst:thanks|page=$ARTICLE$}} ~~~~'
},
'welcome-unregistered-test': {
description: 'isticmaaleyaasha aan diiwaangashnayn ee sameeyay tafatir tijaabo ah',
linkedArticle: true,
syntax: '{{subst:welcome-unregistered-test|$ARTICLE$|$USERNAME$}} ~~~~'
},
'welcome-unregistered-unconstructive': {
description: 'isticmaaleyaasha aan diiwaangashnayn ee khasaariyay ama sameeyay tafatir aan wax tar lahayn',
linkedArticle: true,
syntax: '{{subst:welcome-unregistered-unconstructive|$ARTICLE$|$USERNAME$}}'
},
'welcome-unregistered-constructive': {
description: 'isticmaaleyaasha aan diiwaangashnayn ee la dagaallama khasaarinta ama wax ka beddela si wax tar leh',
linkedArticle: true,
syntax: '{{subst:welcome-unregistered-constructive|art=$ARTICLE$}}'
},
'welcome-unregistered-delete': {
description: 'isticmaaleyaasha aan diiwaangashnayn ee tirtiray macluumaadka boggaga',
linkedArticle: true,
syntax: '{{subst:welcome-unregistered-delete|$ARTICLE$|$USERNAME$}} ~~~~'
},
'welcome-unregistered-unsourced': {
description: 'isticmaaleyaasha aan la aqoon ee ku daray macluumaad aan tixraac lahayn',
linkedArticle: true,
syntax: '{{subst:welcome-unregistered-unsourced|$ARTICLE$|$USERNAME$}}'
}
}
},
wikiProject: {
'Muunadaha soo-dhaweynta ee gaarka u ah Mashaariicda Wiki': {
'TWA invite': {
description: 'ku casuum isticmaalaha The Wikipedia Adventure (ma aha muunad soo-dhaweyn)',
syntax: '{{subst:WP:TWA/InviteTW|signature=~~~~}}'
},
'welcome-anatomy': {
description: 'soo-dhaweyn loogu talagalay isticmaaleyaasha danaynaya mowduucyada anatomi-da (anatomy)',
syntax: '{{subst:welcome-anatomy}} ~~~~'
},
'welcome-athletics': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada atletikada',
syntax: '{{subst:welcome-athletics}}'
},
'welcome-au': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Australia',
syntax: '{{subst:welcome-au}} ~~~~'
},
'welcome-bd': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Bangladesh',
linkedArticle: true,
syntax: '{{subst:welcome-bd|$USERNAME$||$EXTRA$|art=$ARTICLE$}} ~~~~'
},
'welcome-bio': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada taariikh-nololeedka',
syntax: '{{subst:welcome-bio}} ~~~~'
},
'welcome-cal': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada California',
syntax: '{{subst:welcome-cal}} ~~~~'
},
'welcome-cath': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Katooliga',
syntax: '{{subst:welcome-cath}}'
},
'welcome-conserv': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada muxaafidnimada (conservatism)',
syntax: '{{subst:welcome-conserv}}'
},
'welcome-cycling': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada baaskiil wadista',
syntax: '{{subst:welcome-cycling}} ~~~~'
},
'welcome-dbz': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Dragon Ball',
syntax: '{{subst:welcome-dbz|$EXTRA$|sig=~~~~}}'
},
'welcome-et': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Estonia',
syntax: '{{subst:welcome-et}}'
},
'welcome-de': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Jarmalka (Germany)',
syntax: '{{subst:welcome-de}} ~~~~'
},
'welcome-in': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Hindiya',
syntax: '{{subst:welcome-in|$USERNAME$}} ~~~~'
},
'welcome-math': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada xisaabta',
linkedArticle: true,
syntax: '{{subst:welcome-math|$USERNAME$|art=$ARTICLE$}} ~~~~'
},
'welcome-med': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada caafimaadka',
linkedArticle: true,
syntax: '{{subst:welcome-med|$ARTICLE$}} ~~~~'
},
'welcome-no': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Norway',
syntax: '{{subst:welcome-no}} ~~~~'
},
'welcome-pk': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Pakistan',
syntax: '{{subst:welcome-pk|$USERNAME$}} ~~~~'
},
'welcome-phys': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada fiisikis-ka',
linkedArticle: true,
syntax: '{{subst:welcome-phys|$USERNAME$|art=$ARTICLE$}} ~~~~'
},
'welcome-pl': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Poland',
syntax: '{{subst:welcome-pl}} ~~~~'
},
'welcome-rugbyunion': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada rugby union',
syntax: '{{subst:welcome-rugbyunion}} ~~~~'
},
'welcome-ru': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Ruushka (Russia)',
syntax: '{{subst:welcome-ru}} ~~~~'
},
'welcome-starwars': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Star Wars',
syntax: '{{subst:welcome-starwars}} ~~~~'
},
'welcome-ch': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Switzerland',
linkedArticle: true,
syntax: '{{subst:welcome-ch|$USERNAME$|art=$ARTICLE$}} ~~~~'
},
'welcome-uk': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Ukraine',
syntax: '{{subst:welcome-uk}} ~~~~'
},
'welcome-roads': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada waddooyinka',
syntax: '{{subst:welcome-roads}}'
},
'welcome-videogames': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada ciyaaraha fiidiyowga',
syntax: '{{subst:welcome-videogames}}'
},
'WikiProject Women in Red invite': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya qorista ku saabsan dumarka',
syntax: '{{subst:WikiProject Women in Red invite|1=~~~~}}'
}
}
},
nonEnglish: {
'Muunadaha soo-dhaweynta ee luqadaha aan Ingiriiska ahayn': {
welcomeen: {
description: 'soo-dhaweyn isticmaaleyaasha aan luqadooda hooyo lagu taxin halkan',
syntax: '{{subst:welcomeen}}'
},
'welcomeen-ar': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Carabi',
syntax: '{{subst:welcomeen-ar}}'
},
'welcomeen-sq': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Albaaniyaan',
syntax: '{{subst:welcomeen-sq}}'
},
'welcomeen-zh': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Shiineys',
syntax: '{{subst:welcomeen-zh}}'
},
'welcomeen-nl': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Datsh (Dutch)',
syntax: '{{subst:welcomeen-nl}}'
},
'welcomeen-fi': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Finish',
syntax: '{{subst:welcomeen-fi}}'
},
'welcomeen-fr': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Faransiis',
syntax: '{{subst:welcomeen-fr}}'
},
'welcomeen-de': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Jarmal',
syntax: '{{subst:welcomeen-de}}'
},
'welcomeen-ha': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Hausa',
syntax: '{{subst:welcomeen-ha}}'
},
'welcomeen-he': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Cibraani (Hebrew)',
syntax: '{{subst:welcomeen-he}}'
},
'welcomeen-hi': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Hindi',
syntax: '{{subst:welcomeen-hi}}'
},
'welcomeen-id': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Indoneysiyaan',
syntax: '{{subst:welcomeen-id}}'
},
'welcomeen-it': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Talyaani',
syntax: '{{subst:welcomeen-it}}'
},
'welcomeen-ja': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Jabaaniis',
syntax: '{{subst:welcomeen-ja}}'
},
'welcomeen-ko': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Kuuriyaan',
syntax: '{{subst:welcomeen-ko}}'
},
'welcomeen-ms': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Malay',
syntax: '{{subst:welcomeen-ms}}'
},
'welcomeen-ml': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Malayalam',
syntax: '{{subst:welcomeen-ml}}'
},
'welcomeen-mr': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Marathi',
syntax: '{{subst:welcomeen-mr}}'
},
'welcomeen-no': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Norwegian',
syntax: '{{subst:welcomeen-no}}'
},
'welcomeen-or': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Oriya (Odia)',
syntax: '{{subst:welcomeen-or}}'
},
'welcomeen-fa': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Faaris (Persian)',
syntax: '{{subst:welcomeen-fa}}'
},
'welcomeen-pl': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Polish',
syntax: '{{subst:welcomeen-pl}}'
},
'welcomeen-pt': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Bortuqiis (Portuguese)',
syntax: '{{subst:welcomeen-pt}}'
},
'welcomeen-ro': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Romaniyaan',
syntax: '{{subst:welcomeen-ro}}'
},
'welcomeen-ru': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Ruush',
syntax: '{{subst:welcomeen-ru}}'
},
'welcomeen-es': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Ispanish',
syntax: '{{subst:welcomeen-es}}'
},
'welcomeen-sv': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Iswidhish (Swedish)',
syntax: '{{subst:welcomeen-sv}}'
},
'welcomeen-th': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Thai',
syntax: '{{subst:welcomeen-th}}'
},
'welcomeen-tl': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Tagalog',
syntax: '{{subst:welcomeen-tl}}'
},
'welcomeen-tr': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Turkiga',
syntax: '{{subst:welcomeen-tr}}'
},
'welcomeen-uk': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Yukreeniyaan',
syntax: '{{subst:welcomeen-uk}}'
},
'welcomeen-ur': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Urdu',
syntax: '{{subst:welcomeen-ur}}'
},
'welcomeen-vi': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Fiyetnaamiis',
syntax: '{{subst:welcomeen-vi}}'
}
}
}
};
Twinkle.welcome.getTemplateWikitext = function(type, template, article) {
let properties;
$.each(Twinkle.welcome.templates[type], (label, templates) => {
properties = templates[template];
if (properties) {
return false;
}
});
if (properties) {
return properties.syntax
.replace('$USERNAME$', Twinkle.getPref('insertUsername') ? mw.config.get('wgUserName') : '')
.replace('$ARTICLE$', article || '')
.replace(/\$HEADER\$\s*/, '== Soo dhowow! ==\n\n')
.replace('$EXTRA$', '');
}
return '{{subst:' + template + (article ? '|art=' + article : '') + '}}' +
(Twinkle.getPref('customWelcomeSignature') ? ' ~~~~' : '');
};
Twinkle.welcome.callbacks = {
preview: function(form) {
const previewDialog = new Morebits.SimpleWindow(750, 400);
previewDialog.setTitle('Horudhaca muunadda soo-dhaweynta');
previewDialog.setScriptName('Soo-dhawee isticmaalaha');
previewDialog.setModality(true);
const previewdiv = document.createElement('div');
previewdiv.style.marginLeft = previewdiv.style.marginRight = '0.5em';
previewdiv.style.fontSize = 'small';
previewDialog.setContent(previewdiv);
const previewer = new Morebits.wiki.Preview(previewdiv);
const input = Morebits.QuickForm.getInputData(form);
previewer.beginRender(Twinkle.welcome.getTemplateWikitext(input.type, input.template, input.article), 'User talk:' + mw.config.get('wgRelevantUserName'));
const submit = document.createElement('input');
submit.setAttribute('type', 'submit');
submit.setAttribute('value', 'Xir (Close)');
previewDialog.addContent(submit);
previewDialog.display();
$(submit).on('click', () => {
previewDialog.close();
});
},
main: function(pageobj) {
const params = pageobj.getCallbackParameters();
let text = pageobj.getPageText();
if (pageobj.exists() && params.mode === 'auto') {
Morebits.Status.info('Digniin', 'Bogga wada-hadalka isticmaalaha madhan ma aha; waa la joojinayaa soo-dhaweynta otomaatigga ah');
Morebits.wiki.actionCompleted.event();
return;
}
const welcomeText = Twinkle.welcome.getTemplateWikitext(params.type, params.template, params.article);
if (Twinkle.getPref('topWelcomes')) {
const hasTalkHeader = /^\{\{Talk ?header\}\}/i.test(text);
if (hasTalkHeader) {
text = text.replace(/^\{\{Talk ?header\}\}\n{0,2}/i, '');
text = '{{Talk header}}\n\n' + welcomeText + '\n\n' + text;
text = text.trim();
} else {
text = welcomeText + '\n\n' + text;
}
} else {
text += '\n' + welcomeText;
}
const summaryText = 'Ku soo dhowow Wikipedia!';
pageobj.setPageText(text);
pageobj.setEditSummary(summaryText);
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('watchWelcomes'));
pageobj.setCreateOption('recreate');
pageobj.save();
}
};
Twinkle.welcome.callback.evaluate = function twinklewelcomeCallbackEvaluate(e) {
const form = e.target;
const params = Morebits.QuickForm.getInputData(form);
params.mode = 'manual';
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
const userTalkPage = mw.config.get('wgFormattedNamespaces')[3] + ':' + mw.config.get('wgRelevantUserName');
Morebits.wiki.actionCompleted.redirect = userTalkPage;
Morebits.wiki.actionCompleted.notice = 'Soo-dhaweynta waa la dhammeeyay, dib ayaan u soo dejineynaa bogga wada-hadalka daqiiqado gudahood';
const wikipedia_page = new Morebits.wiki.Page(userTalkPage, 'Beddelka bogga wada-hadalka isticmaalaha');
wikipedia_page.setFollowRedirect(true);
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.welcome.callbacks.main);
};
Twinkle.addInitCallback(Twinkle.welcome, 'welcome');
}());
// </nowiki>
ne2y4dl06vk08j32axo5e13iq1u66dc
310863
310862
2026-10-25T11:13:00Z
Isma4l
41797
310863
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinklewelcome.js: Qaybta Soo-dhaweynta
****************************************
* Qaabka loo yeero: Tab ("Soo-dhoweeyo"), ama xiriiriyeyaasha bogagga kala duwan
* Ka shaqeeya: Bog kasta oo leh magaca isticmaale ee khuseeya iyo boggaga kala duwanaanshaha
*/
Twinkle.welcome = function twinklewelcome() {
if (Twinkle.getPrefill('twinklewelcome')) {
if (Twinkle.getPrefill('twinklewelcome') === 'auto') {
Twinkle.welcome.auto();
} else {
Twinkle.welcome.semiauto();
}
} else {
Twinkle.welcome.normal();
}
};
Twinkle.welcome.auto = function() {
if (mw.util.getParamValue('action') !== 'edit') {
return;
}
Twinkle.welcome.welcomeUser();
};
Twinkle.welcome.semiauto = function() {
Twinkle.welcome.callback(mw.config.get('wgRelevantUserName'));
};
Twinkle.welcome.normal = function() {
const isDiff = mw.util.getParamValue('diff');
if (isDiff) {
const $oldDiffUsernameLine =$('#mw-diff-otitle2');
const $newDiffUsernameLine =$('#mw-diff-ntitle2');
const $oldDiffHasRedlinkedTalkPage =$oldDiffUsernameLine.find('span.mw-usertoollinks a.new:contains(talk)').first();
const $newDiffHasRedlinkedTalkPage =$newDiffUsernameLine.find('span.mw-usertoollinks a.new:contains(talk)').first();
const diffHasRedlinkedTalkPage = $oldDiffHasRedlinkedTalkPage.length > 0 \vert{}\vert{}$newDiffHasRedlinkedTalkPage.length > 0;
if (diffHasRedlinkedTalkPage) {
const spanTag = function(color, content) {
const span = document.createElement('span');
span.style.color = color;
span.appendChild(document.createTextNode(content));
return span;
};
const welcomeNode = document.createElement('strong');
const welcomeLink = document.createElement('a');
welcomeLink.appendChild(spanTag('Black', '['));
welcomeLink.appendChild(spanTag('Goldenrod', 'soo-dhawee'));
welcomeLink.appendChild(spanTag('Black', ']'));
welcomeNode.appendChild(welcomeLink);
if ($oldDiffHasRedlinkedTalkPage.length > 0) {
const oHref = $oldDiffHasRedlinkedTalkPage.attr('href');
const oWelcomeNode = welcomeNode.cloneNode(true);
oWelcomeNode.firstChild.setAttribute('href', oHref + '&' + $.param({
twinklewelcome: Twinkle.getPref('quickWelcomeMode') === 'auto' ? 'auto' : 'norm',
vanarticle: Morebits.pageNameNorm
}));
$oldDiffHasRedlinkedTalkPage[0].parentNode.parentNode.appendChild(document.createTextNode(' '));$oldDiffHasRedlinkedTalkPage[0].parentNode.parentNode.appendChild(oWelcomeNode);
}
if ($newDiffHasRedlinkedTalkPage.length > 0) {
const nHref = $newDiffHasRedlinkedTalkPage.attr('href');
const nWelcomeNode = welcomeNode.cloneNode(true);
nWelcomeNode.firstChild.setAttribute('href', nHref + '&' + $.param({
twinklewelcome: Twinkle.getPref('quickWelcomeMode') === 'auto' ? 'auto' : 'norm',
vanarticle: Morebits.pageNameNorm
}));
$newDiffHasRedlinkedTalkPage[0].parentNode.parentNode.appendChild(document.createTextNode(' '));$newDiffHasRedlinkedTalkPage[0].parentNode.parentNode.appendChild(nWelcomeNode);
}
}
}
if (mw.config.exists('wgRelevantUserName') && !Morebits.ip.isRange(mw.config.get('wgRelevantUserName'))) {
Twinkle.addPortletLink(() => {
Twinkle.welcome.callback(mw.config.get('wgRelevantUserName'));
}, 'Soo-dhoweeyo', 'twinkle-welcome', 'Soo-dhawee isticmaalaha');
}
};
Twinkle.welcome.welcomeUser = function welcomeUser() {
Morebits.Status.init(document.getElementById('mw-content-text'));
$('#catlinks').remove();
const params = {
template: Twinkle.getPref('quickWelcomeTemplate'),
article: Twinkle.getPrefill('vanarticle') || '',
mode: 'auto'
};
const userTalkPage = mw.config.get('wgFormattedNamespaces')[3] + ':' + mw.config.get('wgRelevantUserName');
Morebits.wiki.actionCompleted.redirect = userTalkPage;
Morebits.wiki.actionCompleted.notice = 'Soo-dhaweynta waa la dhammeeyay, bogga wada-hadalka ayaan dib u soo dejineynaa daqiiqado gudahood';
const wikipedia_page = new Morebits.wiki.Page(userTalkPage, 'Beddelka bogga wada-hadalka isticmaalaha');
wikipedia_page.setFollowRedirect(true);
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.welcome.callbacks.main);
};
Twinkle.welcome.callback = function twinklewelcomeCallback(uid) {
if (uid === mw.config.get('wgUserName') && !confirm('Ma hubtaa inaad rabto inaad naftaada soo-dhaweyso?...')) {
return;
}
const Window = new Morebits.SimpleWindow(600, 420);
Window.setTitle('Soo-dhawee isticmaalaha');
Window.setScriptName('Twinkle');
Window.addFooterLink('Guddiga Soo-dhaweynta', 'WP:WC');
Window.addFooterLink('Doorbidyada soo-dhaweynta', 'WP:TW/PREF#welcome');
Window.addFooterLink('Caawinta Twinkle', 'WP:TW/DOC#welcome');
Window.addFooterLink('Bixi ra’yi-celin', 'WT:TW');
const form = new Morebits.QuickForm(Twinkle.welcome.callback.evaluate);
form.append({
type: 'select',
name: 'type',
label: 'Nooca soo-dhaweynta:',
event: Twinkle.welcome.populateWelcomeList,
list: [
{ type: 'option', value: 'standard', label: 'Soo-dhaweynta caadiga ah', selected: !mw.util.isIPAddress(mw.config.get('wgRelevantUserName')) },
{ type: 'option', value: 'unregistered', label: 'Soo-dhaweynta isticmaaleyaasha aan diiwaangashnayn', selected: mw.util.isIPAddress(mw.config.get('wgRelevantUserName')) || mw.util.isTemporaryUser(mw.config.get('wgRelevantUserName')) },
{ type: 'option', value: 'wikiProject', label: 'Soo-dhaweynta Mashaariicda Wiki' },
{ type: 'option', value: 'nonEnglish', label: 'Soo-dhaweynta luqadaha kale' }
]
});
form.append({
type: 'div',
id: 'welcomeWorkArea',
className: 'morebits-scrollbox'
});
form.append({
type: 'input',
name: 'article',
label: '* Maqaalka la xiriira (haddii ay taageerto muunaddu):',
value: Twinkle.getPrefill('vanarticle') || '',
tooltip: 'Maqaal waxaa laga yaabaa in laga xiriiriyo gudaha soo-dhaweynta haddii muunaddu taageerto. Ka tag banaan haddii aan la xiriirinayn maqaal. Muunadaha taageera maqaalka la xiriiriyay waxaa lagu calaamadiyay xiddig.'
});
const previewlink = document.createElement('a');
$(previewlink).on('click', () => {
Twinkle.welcome.callbacks.preview(result);
});
previewlink.style.cursor = 'pointer';
previewlink.textContent = 'Horudhac';
form.append({ type: 'div', name: 'welcomepreview', label: [previewlink] });
form.append({ type: 'submit' });
var result = form.render();
Window.setContent(result);
Window.display();
const evt = document.createEvent('Event');
evt.initEvent('change', true, true);
result.type.dispatchEvent(evt);
};
Twinkle.welcome.populateWelcomeList = function(e) {
const type = e.target.value;
const container = new Morebits.QuickForm.Element({ type: 'fragment' });
if ((type === 'standard' || type === 'unregistered') && Twinkle.getPref('customWelcomeList').length) {
container.append({ type: 'header', label: 'Muunadaha soo-dhaweynta gaarka ah' });
container.append({
type: 'radio',
name: 'template',
list: Twinkle.getPref('customWelcomeList'),
event: function() {
e.target.form.article.disabled = false;
}
});
}
const sets = Twinkle.welcome.templates[type];
$.each(sets, (label, templates) => {
container.append({ type: 'header', label: label });
container.append({
type: 'radio',
name: 'template',
list: $.map(templates, (properties, template) => ({
value: template,
label: '{{' + template + '}}: ' + properties.description + (properties.linkedArticle ? '\u00A0*' : ''),
tooltip: properties.tooltip
})),
event: function(ev) {
ev.target.form.article.disabled = !templates[ev.target.value].linkedArticle;
}
});
});
const rendered = container.render();
$(e.target.form).find('div#welcomeWorkArea').empty().append(rendered);
const firstRadio = e.target.form.template[0];
firstRadio.checked = true;
const vals = Object.values(sets)[0];
e.target.form.article.disabled = vals[firstRadio.value] ? !vals[firstRadio.value].linkedArticle : true;
};
Twinkle.welcome.templates = {
standard: {
'Muunadaha soo-dhaweynta guud': {
welcome: {
description: 'soo-dhaweyn caadi ah',
linkedArticle: true,
syntax: '{{subst:welcome|$USERNAME$|art=$ARTICLE$}} ~~~~'
},
'welcome-retro': {
description: 'fariin soo-dhaweyn ah oo wadata liis yar oo xiriiriyeyaal waxtar leh',
linkedArticle: true,
syntax: '{{subst:welcome-retro|$USERNAME$|art=$ARTICLE$}} ~~~~'
},
'welcome-short': {
description: 'fariin soo-dhaweyn oo gaaban',
syntax: '{{subst:W-short|$EXTRA$}}'
},
'welcome-cookie': {
description: 'fariin soo-dhaweyn ah oo wadata xiriiriyeyaal waxtar leh iyo saxan buskud ah',
syntax: '{{subst:welcome cookie}} ~~~~'
},
welcoming: {
description: 'fariin soo-dhaweyn ah oo wadata xiriiriyeyaal casharro iyo talooyin tafatir oo aas-aasiga ah',
syntax: '{{subst:Welcoming}}'
}
},
'Muunadaha soo-dhaweynta gaarka ah': {
'welcome-belated': {
description: 'soo-dhaweyn loogu talagalay isticmaaleyaasha leh tabarucyo waaweyn',
syntax: '{{subst:welcome-belated|$USERNAME$}}'
},
'welcome student': {
description: 'soo-dhaweyn ardayda wax ka beddelaysa qayb ka mid ah mashruuc fasal waxbarasho',
syntax: '$HEADER$ {{subst:welcome student|$USERNAME$}} ~~~~'
},
'welcome teacher': {
description: 'soo-dhaweyn macallimiinta koorsada ee ku lugta leh mashruuc fasal waxbarasho',
syntax: '$HEADER$ {{subst:welcome teacher|$USERNAME$}} ~~~~'
},
'welcome non-latin': {
description: 'soo-dhaweyn isticmaaleyaasha leh magac isticmaale oo ka kooban xarfo aan Laatiin ahayn',
syntax: '{{subst:welcome non-latin|$USERNAME$}} ~~~~'
},
'welcome mentee': {
description: 'soo-dhaweyn ay la-taliyeyaashu siiyaan dadka ay la-talinta u hayaan',
linkedArticle: true,
syntax: '{{subst:welcome mentee|$ARTICLE$}} ~~~~'
},
'welcome draft': {
description: 'soo-dhaweyn loogu talagalay isticmaaleyaasha qora qabyo-qoraalka maqaallada',
linkedArticle: true,
syntax: '{{subst:welcome draft|art=$ARTICLE$}} ~~~~'
}
},
'Muunadaha soo-dhaweynta isticmaaleyaasha dhibaatada wada': {
'first article': {
description: 'qofkii maqaalkiisii ugu horreeyay uusan buuxin tilmaamaha abuurista boggaga',
linkedArticle: true,
syntax: '{{subst:first article|$ARTICLE$|$USERNAME$}}'
},
'welcome-COI': {
description: 'qof ka tafatiray meelaha ay ka dhalan karto is-khilaaf danfeed',
linkedArticle: true,
syntax: '{{subst:welcome-COI|$USERNAME$|art=$ARTICLE$}} ~~~~'
},
'welcome-auto': {
description: 'qof abuuray maqaal is-taariikh nololeed ah',
linkedArticle: true,
syntax: '{{subst:welcome-auto|$USERNAME$|art=$ARTICLE$}} ~~~~'
},
'welcome-copyright': {
description: 'qof ku darayay maqaallada xadgudubyada xuquuqda daabacaadda',
linkedArticle: true,
syntax: '{{subst:welcome-copyright|$ARTICLE$|$USERNAME$}} ~~~~'
},
'welcome-delete': {
description: 'qof tirtirayay macluumaadka maqaallada',
linkedArticle: true,
syntax: '{{subst:welcome-delete|$ARTICLE$|$USERNAME$}} ~~~~'
},
'welcome-image': {
description: 'soo-dhaweyn wadata macluumaad dheeraad ah oo ku saabsan sawirada',
linkedArticle: true,
syntax: '{{subst:welcome-image|$USERNAME$|art=$ARTICLE$}}'
},
'welcome-LLM': {
description: 'qofkii dadaalkiisii ugu horreeyay u muuqda mid lagu sameeyay moodal luqadeed oo weyn',
syntax: '{{subst:welcome-LLM}} ~~~~'
},
'welcome-translation': {
description: 'qofkii dadaalkiisii ugu horreeyay uu yahay turjumaad aan la sheegin halkii laga keenay',
syntax: '{{subst:welcome-translation}}'
},
'welcome-unsourced': {
description: 'qofkii dadaalkiisii ugu horreeyay uusan lahayn tixraac',
linkedArticle: true,
syntax: '{{subst:welcome-unsourced|$ARTICLE$|$USERNAME$}} ~~~~'
},
welcomelaws: {
description: 'soo-dhaweyn wadata macluumaad ku saabsan xuquuqda daabacaadda, aragtida dhexdhexaadka ah, iyo khasaarinta',
syntax: '{{subst:welcomelaws|$USERNAME$}} ~~~~'
},
welcomenpov: {
description: 'qof aan dadaalkiisii ugu horreeyay u hoggaansamin siyaasadda aragtida dhexdhexaadka ah',
linkedArticle: true,
syntax: '{{subst:welcomenpov|$ARTICLE$|$USERNAME$}} ~~~~'
},
welcomevandal: {
description: 'qofkii dadaalkiisii ugu horreeyay u muuqda khasaarin',
linkedArticle: true,
syntax: '{{subst:welcomevandal|$ARTICLE$|$USERNAME$}}'
},
welcomespam: {
description: 'soo-dhaweyn wadata dood dheeraad ah oo ku saabsan siyaasadaha ka hortagga spam-ka',
linkedArticle: true,
syntax: '{{subst:welcomespam|$ARTICLE$|$USERNAME$}} ~~~~'
},
welcometest: {
description: 'qofkii dadaalkiisii ugu horreeyay u muuqda tijaabo',
linkedArticle: true,
syntax: '{{subst:welcometest|$ARTICLE$|$USERNAME$}} ~~~~'
}
}
},
unregistered: {
'Muunadaha soo-dhaweynta isticmaaleyaasha aan diiwaangashnayn': {
'welcome-unregistered': {
description: 'isticmaaleyaasha aan diiwaangashnayn; dhiirigelinaya abuurista xisaab',
linkedArticle: true,
syntax: '{{subst:welcome-unregistered|art=$ARTICLE$}} ~~~~'
},
thanks: {
description: 'isticmaaleyaasha aan diiwaangashnayn; gaaban; dhiirigelinaya abuurista xisaab',
linkedArticle: true,
syntax: '== Soo dhowow! ==\n{{subst:thanks|page=$ARTICLE$}} ~~~~'
},
'welcome-unregistered-test': {
description: 'isticmaaleyaasha aan diiwaangashnayn ee sameeyay tafatir tijaabo ah',
linkedArticle: true,
syntax: '{{subst:welcome-unregistered-test|$ARTICLE$|$USERNAME$}} ~~~~'
},
'welcome-unregistered-unconstructive': {
description: 'isticmaaleyaasha aan diiwaangashnayn ee khasaariyay ama sameeyay tafatir aan wax tar lahayn',
linkedArticle: true,
syntax: '{{subst:welcome-unregistered-unconstructive|$ARTICLE$|$USERNAME$}}'
},
'welcome-unregistered-constructive': {
description: 'isticmaaleyaasha aan diiwaangashnayn ee la dagaallama khasaarinta ama wax ka beddela si wax tar leh',
linkedArticle: true,
syntax: '{{subst:welcome-unregistered-constructive|art=$ARTICLE$}}'
},
'welcome-unregistered-delete': {
description: 'isticmaaleyaasha aan diiwaangashnayn ee tirtiray macluumaadka boggaga',
linkedArticle: true,
syntax: '{{subst:welcome-unregistered-delete|$ARTICLE$|$USERNAME$}} ~~~~'
},
'welcome-unregistered-unsourced': {
description: 'isticmaaleyaasha aan la aqoon ee ku daray macluumaad aan tixraac lahayn',
linkedArticle: true,
syntax: '{{subst:welcome-unregistered-unsourced|$ARTICLE$|$USERNAME$}}'
}
}
},
wikiProject: {
'Muunadaha soo-dhaweynta ee gaarka u ah Mashaariicda Wiki': {
'TWA invite': {
description: 'ku casuum isticmaalaha Hagaha Wikipedia',
syntax: '{{subst:WP:TWA/InviteTW|signature=~~~~}}'
},
'welcome-anatomy': {
description: 'soo-dhaweyn loogu talagalay isticmaaleyaasha danaynaya mowduucyada jir-dhiska',
syntax: '{{subst:welcome-anatomy}} ~~~~'
},
'welcome-athletics': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada atletikada',
syntax: '{{subst:welcome-athletics}}'
},
'welcome-au': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Australia',
syntax: '{{subst:welcome-au}} ~~~~'
},
'welcome-bd': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Bangladesh',
linkedArticle: true,
syntax: '{{subst:welcome-bd|$USERNAME$||$EXTRA$|art=$ARTICLE$}} ~~~~'
},
'welcome-bio': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada taariikh-nololeedka',
syntax: '{{subst:welcome-bio}} ~~~~'
},
'welcome-cal': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada California',
syntax: '{{subst:welcome-cal}} ~~~~'
},
'welcome-cath': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Katooliga',
syntax: '{{subst:welcome-cath}}'
},
'welcome-conserv': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada muxaafidnimada',
syntax: '{{subst:welcome-conserv}}'
},
'welcome-cycling': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada baaskiil wadista',
syntax: '{{subst:welcome-cycling}} ~~~~'
},
'welcome-dbz': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Dragon Ball',
syntax: '{{subst:welcome-dbz|$EXTRA$|sig=~~~~}}'
},
'welcome-et': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Estonia',
syntax: '{{subst:welcome-et}}'
},
'welcome-de': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Jarmalka',
syntax: '{{subst:welcome-de}} ~~~~'
},
'welcome-in': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Hindiya',
syntax: '{{subst:welcome-in|$USERNAME$}} ~~~~'
},
'welcome-math': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada xisaabta',
linkedArticle: true,
syntax: '{{subst:welcome-math|$USERNAME$|art=$ARTICLE$}} ~~~~'
},
'welcome-med': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada caafimaadka',
linkedArticle: true,
syntax: '{{subst:welcome-med|$ARTICLE$}} ~~~~'
},
'welcome-no': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Norway',
syntax: '{{subst:welcome-no}} ~~~~'
},
'welcome-pk': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Pakistan',
syntax: '{{subst:welcome-pk|$USERNAME$}} ~~~~'
},
'welcome-phys': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada fiisikis-ka',
linkedArticle: true,
syntax: '{{subst:welcome-phys|$USERNAME$|art=$ARTICLE$}} ~~~~'
},
'welcome-pl': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Poland',
syntax: '{{subst:welcome-pl}} ~~~~'
},
'welcome-rugbyunion': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada rugby union',
syntax: '{{subst:welcome-rugbyunion}} ~~~~'
},
'welcome-ru': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Ruushka',
syntax: '{{subst:welcome-ru}} ~~~~'
},
'welcome-starwars': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Star Wars',
syntax: '{{subst:welcome-starwars}} ~~~~'
},
'welcome-ch': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Switzerland',
linkedArticle: true,
syntax: '{{subst:welcome-ch|$USERNAME$|art=$ARTICLE$}} ~~~~'
},
'welcome-uk': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada Ukraine',
syntax: '{{subst:welcome-uk}} ~~~~'
},
'welcome-roads': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada waddooyinka',
syntax: '{{subst:welcome-roads}}'
},
'welcome-videogames': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya mowduucyada ciyaaraha fiidiyowga',
syntax: '{{subst:welcome-videogames}}'
},
'WikiProject Women in Red invite': {
description: 'soo-dhaweyn isticmaaleyaasha danaynaya qorista ku saabsan dumarka',
syntax: '{{subst:WikiProject Women in Red invite|1=~~~~}}'
}
}
},
nonEnglish: {
'Muunadaha soo-dhaweynta ee luqadaha kale': {
welcomeen: {
description: 'soo-dhaweyn isticmaaleyaasha aan luqadooda hooyo lagu taxin halkan',
syntax: '{{subst:welcomeen}}'
},
'welcomeen-ar': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Carabi',
syntax: '{{subst:welcomeen-ar}}'
},
'welcomeen-sq': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Albaaniyaan',
syntax: '{{subst:welcomeen-sq}}'
},
'welcomeen-zh': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Shiineys',
syntax: '{{subst:welcomeen-zh}}'
},
'welcomeen-nl': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Datsh',
syntax: '{{subst:welcomeen-nl}}'
},
'welcomeen-fi': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Finish',
syntax: '{{subst:welcomeen-fi}}'
},
'welcomeen-fr': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Faransiis',
syntax: '{{subst:welcomeen-fr}}'
},
'welcomeen-de': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Jarmal',
syntax: '{{subst:welcomeen-de}}'
},
'welcomeen-ha': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Hausa',
syntax: '{{subst:welcomeen-ha}}'
},
'welcomeen-he': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Cibraani',
syntax: '{{subst:welcomeen-he}}'
},
'welcomeen-hi': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Hindi',
syntax: '{{subst:welcomeen-hi}}'
},
'welcomeen-id': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Indoneysiyaan',
syntax: '{{subst:welcomeen-id}}'
},
'welcomeen-it': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Talyaani',
syntax: '{{subst:welcomeen-it}}'
},
'welcomeen-ja': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Jabaaniis',
syntax: '{{subst:welcomeen-ja}}'
},
'welcomeen-ko': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Kuuriyaan',
syntax: '{{subst:welcomeen-ko}}'
},
'welcomeen-ms': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Malay',
syntax: '{{subst:welcomeen-ms}}'
},
'welcomeen-ml': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Malayalam',
syntax: '{{subst:welcomeen-ml}}'
},
'welcomeen-mr': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Marathi',
syntax: '{{subst:welcomeen-mr}}'
},
'welcomeen-no': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Norwegian',
syntax: '{{subst:welcomeen-no}}'
},
'welcomeen-or': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Oriya',
syntax: '{{subst:welcomeen-or}}'
},
'welcomeen-fa': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Faaris',
syntax: '{{subst:welcomeen-fa}}'
},
'welcomeen-pl': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Polish',
syntax: '{{subst:welcomeen-pl}}'
},
'welcomeen-pt': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Bortuqiis',
syntax: '{{subst:welcomeen-pt}}'
},
'welcomeen-ro': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Romaniyaan',
syntax: '{{subst:welcomeen-ro}}'
},
'welcomeen-ru': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Ruush',
syntax: '{{subst:welcomeen-ru}}'
},
'welcomeen-es': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Ispanish',
syntax: '{{subst:welcomeen-es}}'
},
'welcomeen-sv': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Iswidhish',
syntax: '{{subst:welcomeen-sv}}'
},
'welcomeen-th': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Thai',
syntax: '{{subst:welcomeen-th}}'
},
'welcomeen-tl': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Tagalog',
syntax: '{{subst:welcomeen-tl}}'
},
'welcomeen-tr': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Turkiga',
syntax: '{{subst:welcomeen-tr}}'
},
'welcomeen-uk': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Yukreeniyaan',
syntax: '{{subst:welcomeen-uk}}'
},
'welcomeen-ur': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Urdu',
syntax: '{{subst:welcomeen-ur}}'
},
'welcomeen-vi': {
description: 'soo-dhaweyn isticmaaleyaasha ay u muuqato in luqadooda hooyo ay tahay Fiyetnaamiis',
syntax: '{{subst:welcomeen-vi}}'
}
}
}
};
Twinkle.welcome.getTemplateWikitext = function(type, template, article) {
let properties;
$.each(Twinkle.welcome.templates[type], (label, templates) => {
properties = templates[template];
if (properties) {
return false;
}
});
if (properties) {
return properties.syntax
.replace('$USERNAME$', Twinkle.getPref('insertUsername') ? mw.config.get('wgUserName') : '')
.replace('$ARTICLE$', article || '')
.replace(/\$HEADER\$\s*/, '== Soo dhowow! ==\n\n')
.replace('$EXTRA$', '');
}
return '{{subst:' + template + (article ? '|art=' + article : '') + '}}' +
(Twinkle.getPref('customWelcomeSignature') ? ' ~~~~' : '');
};
Twinkle.welcome.callbacks = {
preview: function(form) {
const previewDialog = new Morebits.SimpleWindow(750, 400);
previewDialog.setTitle('Horudhaca muunadda soo-dhaweynta');
previewDialog.setScriptName('Soo-dhawee isticmaalaha');
previewDialog.setModality(true);
const previewdiv = document.createElement('div');
previewdiv.style.marginLeft = previewdiv.style.marginRight = '0.5em';
previewdiv.style.fontSize = 'small';
previewDialog.setContent(previewdiv);
const previewer = new Morebits.wiki.Preview(previewdiv);
const input = Morebits.QuickForm.getInputData(form);
previewer.beginRender(Twinkle.welcome.getTemplateWikitext(input.type, input.template, input.article), 'User talk:' + mw.config.get('wgRelevantUserName'));
const submit = document.createElement('input');
submit.setAttribute('type', 'submit');
submit.setAttribute('value', 'Xir');
previewDialog.addContent(submit);
previewDialog.display();
$(submit).on('click', () => {
previewDialog.close();
});
},
main: function(pageobj) {
const params = pageobj.getCallbackParameters();
let text = pageobj.getPageText();
if (pageobj.exists() && params.mode === 'auto') {
Morebits.Status.info('Digniin', 'Bogga wada-hadalka isticmaalaha madhan ma aha; waa la joojinayaa soo-dhaweynta otomaatigga ah');
Morebits.wiki.actionCompleted.event();
return;
}
const welcomeText = Twinkle.welcome.getTemplateWikitext(params.type, params.template, params.article);
if (Twinkle.getPref('topWelcomes')) {
const hasTalkHeader = /^\{\{Talk ?header\}\}/i.test(text);
if (hasTalkHeader) {
text = text.replace(/^\{\{Talk ?header\}\}\n{0,2}/i, '');
text = '{{Talk header}}\n\n' + welcomeText + '\n\n' + text;
text = text.trim();
} else {
text = welcomeText + '\n\n' + text;
}
} else {
text += '\n' + welcomeText;
}
const summaryText = 'Ku soo dhowow Wikipedia!';
pageobj.setPageText(text);
pageobj.setEditSummary(summaryText);
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('watchWelcomes'));
pageobj.setCreateOption('recreate');
pageobj.save();
}
};
Twinkle.welcome.callback.evaluate = function twinklewelcomeCallbackEvaluate(e) {
const form = e.target;
const params = Morebits.QuickForm.getInputData(form);
params.mode = 'manual';
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
const userTalkPage = mw.config.get('wgFormattedNamespaces')[3] + ':' + mw.config.get('wgRelevantUserName');
Morebits.wiki.actionCompleted.redirect = userTalkPage;
Morebits.wiki.actionCompleted.notice = 'Soo-dhaweynta waa la dhammeeyay, bogga wada-hadalka ayaan dib u soo dejineynaa daqiiqado gudahood';
const wikipedia_page = new Morebits.wiki.Page(userTalkPage, 'Beddelka bogga wada-hadalka isticmaalaha');
wikipedia_page.setFollowRedirect(true);
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.welcome.callbacks.main);
};
Twinkle.addInitCallback(Twinkle.welcome, 'welcome');
}());
// </nowiki>
io1kxe9sj62pgcnkq13jcfvvf56ebod
MediaWiki:Gadget-twinkletalkback.js
8
53676
310864
2026-10-25T11:14:56Z
Isma4l
41797
Abuuray
310864
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinkletalkback.js: Qaybta U-jawaabida (Talkback module)
****************************************
* Qaabka loo yeero: Tab ("U-jawaab")
* Ka shaqeeya: Bog kasta oo leh magaca isticmaale ee khuseeya marka laga reebo xadka IP-yada
*/
Twinkle.talkback = function() {
if (!mw.config.exists('wgRelevantUserName') || Morebits.ip.isRange(mw.config.get('wgRelevantUserName'))) {
return;
}
Twinkle.addPortletLink(Twinkle.talkback.callback, 'U-jawaab', 'twinkle-talkback', 'Ogeysiinta jawaabta');
};
Twinkle.talkback.callback = function() {
if (mw.config.get('wgRelevantUserName') === mw.config.get('wgUserName') && !confirm("Ma runtii baad naftaada u jawaabaysaa?")) {
return;
}
const Window = new Morebits.SimpleWindow(600, 350);
Window.setTitle('U-jawaabida wada-hadalka');
Window.setScriptName('Twinkle');
Window.addFooterLink('Doorbidyada u-jawaabida', 'WP:TW/PREF#talkback');
Window.addFooterLink('Caawinta Twinkle', 'WP:TW/DOC#talkback');
Window.addFooterLink('Bixi ra’yi-celin', 'WT:TW');
const form = new Morebits.QuickForm(Twinkle.talkback.evaluate);
form.append({ type: 'radio', name: 'tbtarget',
list: [
{
label: 'Ogeysiis jawaabid',
value: 'talkback',
checked: 'true'
},
{
label: 'Fadlan eeg',
value: 'see'
},
{
label: 'Ogeysiiska guddiga ogeysiisyada',
value: 'notice'
},
{
label: 'Iimayl ayaa ku soo gaaray',
value: 'mail'
}
],
event: Twinkle.talkback.changeTarget
});
form.append({
type: 'field',
label: 'Goobta shaqada',
name: 'work_area'
});
const previewlink = document.createElement('a');
$(previewlink).on('click', () => {
Twinkle.talkback.callbacks.preview(result);
});
previewlink.style.cursor = 'pointer';
previewlink.textContent = 'Horudhac';
form.append({ type: 'div', id: 'talkbackpreview', label: [previewlink] });
form.append({ type: 'div', id: 'twinkletalkback-previewbox', style: 'display: none' });
form.append({ type: 'submit' });
var result = form.render();
Window.setContent(result);
Window.display();
result.previewer = new Morebits.wiki.Preview($(result).find('div#twinkletalkback-previewbox').last()[0]);
const evt = document.createEvent('Event');
evt.initEvent('change', true, true);
result.tbtarget[0].dispatchEvent(evt);
const query = {
action: 'query',
prop: 'extlinks',
titles: 'User talk:' + mw.config.get('wgRelevantUserName'),
elquery: 'userjs.invalid/noTalkback',
ellimit: '1',
format: 'json'
};
const wpapi = new Morebits.wiki.Api('Soo qaadista xaaladda diidmada ogeysiisyada', query, Twinkle.talkback.callback.optoutStatus);
wpapi.post();
};
Twinkle.talkback.optout = '';
Twinkle.talkback.callback.optoutStatus = function(apiobj) {
const el = apiobj.getResponse().query.pages[0].extlinks;
if (el && el.length) {
Twinkle.talkback.optout = mw.config.get('wgRelevantUserName') + ' wuxuu doorbidaa inaan loo meelayn ogeysiis jawaabid ah';
const url = el[0].url;
const reason = mw.util.getParamValue('reason', url);
Twinkle.talkback.optout += reason ? ': ' + reason : '.';
}
$('#twinkle-talkback-optout-message').text(Twinkle.talkback.optout);
};
let prev_page = '';
let prev_section = '';
let prev_message = '';
Twinkle.talkback.changeTarget = function(e) {
const value = e.target.values;
const root = e.target.form;
const old_area = Morebits.QuickForm.getElements(root, 'work_area')[0];
if (root.section) {
prev_section = root.section.value;
}
if (root.message) {
prev_message = root.message.value;
}
if (root.page) {
prev_page = root.page.value;
}
let work_area = new Morebits.QuickForm.Element({
type: 'field',
label: 'Macluumaadka ogeysiiska',
name: 'work_area'
});
root.previewer.closePreview();
switch (value) {
case 'talkback':
/* falls through */
default:
work_area.append({
type: 'div',
label: '',
style: 'color: red',
id: 'twinkle-talkback-optout-message'
});
work_area.append({
type: 'input',
name: 'page',
label: 'Magaca bogga doodu ka socoto',
tooltip: "Magaca bogga ay doodu ka socoto. Tusaale ahaan: 'User talk:Jimbo Wales' ama Wikipedia talk:Twinkle'. Ku xaddidan boggaga wada-hadalka, booska Wikipedia, iyo booska muunadaha.",
value: prev_page || 'User talk:' + mw.config.get('wgUserName')
});
work_area.append({
type: 'input',
name: 'section',
label: 'Qaybta la xiriiriyay (ikhtiyaari)',
tooltip: "Madax-qaybeedka ay doodu ka socoto. Tusaale ahaan: 'Isuxulidda maqaalka'.",
value: prev_section
});
break;
case 'notice':
var noticeboard = work_area.append({
type: 'select',
name: 'noticeboard',
label: 'Guddiga ogeysiisyada:',
event: function(e) {
if (e.target.value === 'afchd') {
Morebits.QuickForm.overrideElementLabel(root.section, 'Cinwaanka qabyo-qoraalka (an lagu darin horgalaha): ');
Morebits.QuickForm.setElementTooltipVisibility(root.section, false);
} else {
Morebits.QuickForm.resetElementLabel(root.section);
Morebits.QuickForm.setElementTooltipVisibility(root.section, true);
}
}
});
$.each(Twinkle.talkback.noticeboards, (value, data) => {
noticeboard.append({
type: 'option',
label: data.label,
value: value,
selected: !!data.defaultSelected
});
});
work_area.append({
type: 'input',
name: 'section',
label: 'Qaybta la xiriiriyay',
tooltip: 'Madax-qaybeedka dooda ee bogga guddiga ogeysiisyada.',
value: prev_section
});
break;
case 'mail':
work_area.append({
type: 'input',
name: 'section',
label: 'Mowduuca iimaylka (ikhtiyaari)',
tooltip: 'Mowduuca iimaylka aad dirtay.'
});
break;
}
if (value !== 'notice') {
work_area.append({ type: 'textarea', label: 'Fariin dheeraad ah (ikhtiyaari):', name: 'message', tooltip: 'Fariin dheeraad ah oo aad rabto inaad ka tagto muunadda hoosteeda. Saxiixaaga ayaa lagu dari doonaa dhamaadka fariinta haddii aad mid ka tagto.' });
}
work_area = work_area.render();
root.replaceChild(work_area, old_area);
if (root.message) {
root.message.value = prev_message;
}
$('#twinkle-talkback-optout-message').text(Twinkle.talkback.optout);
};
Twinkle.talkback.noticeboards = {
ae: {
label: 'WP:AE (Garsoorka/Codsiyada/Fulinta)',
text: '{{subst:AE-notice|$SECTION}} ~~~~',
editSummary: 'Ogeysiis dood oo ka socota [[Wikipedia:Arbitration/Requests/Enforcement]]'
},
an: {
label: "WP:AN (Guddiga ogeysiisyada maamulayaasha)",
text: '{{subst:AN-notice|thread=$SECTION}} ~~~~',
editSummary: 'Ogeysiis dood oo ka socota [[Wikipedia:Administrators\' noticeboard]]'
},
an3: {
label: "WP:AN3 (Guddiga maamulayaasha/Dagaalka wax-ka-beddelka)",
text: '{{subst:An3-notice|$SECTION}} ~~~~',
editSummary: "Ogeysiis dood oo ka socota [[Wikipedia:Administrators' noticeboard/Edit warring]]"
},
ani: {
label: "WP:ANI (Guddiga maamulayaasha/Matalaadaha iyo dhacdooyinka)",
text: "== Ogeysiis dood oo ka socota Guddiga Maamulayaasha ==\n" +
'{{subst:ANI-notice|thread=$SECTION}} ~~~~',
editSummary: 'Ogeysiis dood oo ka socota [[Wikipedia:Administrators\' noticeboard/Incidents]]',
defaultSelected: true
},
afchd: {
label: 'WP:AFCHD (Mashaariicda maqaal abuurista/Miiska caawinta)',
text: '{{subst:AFCHD/u|$SECTION}} ~~~~',
editSummary: 'Waxaad jawaabo ku leedahay [[Wikipedia:AFCHD|Miiska Caawinta Maqaal Abuurista]]'
},
blpn: {
label: 'WP:BLPN (Guddiga ogeysiisyada taariikh-nololeedyada dadka nool)',
text: '{{subst:BLPN-notice|thread=$SECTION}} ~~~~',
editSummary: 'Ogeysiis dood oo ka socota [[Wikipedia:Biographies of living persons/Noticeboard]]'
},
coin: {
label: 'WP:COIN (Guddiga ogeysiisyada is-khilaafaadka danaha)',
text: '{{subst:Coin-notice|thread=$SECTION}} ~~~~',
editSummary: 'Ogeysiis dood oo ka socota [[Wikipedia:Conflict of interest/Noticeboard]]'
},
drn: {
label: 'WP:DRN (Guddiga xallinta khilaafaadka)',
text: '{{subst:DRN-notice|thread=$SECTION}} ~~~~',
editSummary: 'Ogeysiis dood oo ka socota [[Wikipedia:Dispute resolution noticeboard]]'
},
effp: {
label: 'WP:EFFP/R (Warbixinta khaldan ee shaandhada tafatirka)',
text: '{{EFFPReply|1=$SECTION|2=~~~~}}',
editSummary: 'Waxaad jawaabo ku leedahay [[Wikipedia:Edit filter/False positives/Reports|warbixintaada shaandhada tafatirka]]'
},
eln: {
label: 'WP:ELN (Guddiga ogeysiisyada xiriiriyeyaasha dibadda)',
text: '{{subst:ELN-notice|thread=$SECTION}} ~~~~',
editSummary: 'Ogeysiis dood oo ka socota [[Wikipedia:External links/Noticeboard]]'
},
ftn: {
label: 'WP:FTN (Guddiga ogeysiisyada aragtiyaha aan la hubin)',
text: '{{subst:Ftn-notice|thread=$SECTION}} ~~~~',
editSummary: 'Ogeysiis dood oo ka socota [[Wikipedia:Fringe theories/Noticeboard]]'
},
hd: {
label: 'WP:HD (Miiska caawinta)',
text: '== Su\'aashaada miiska caawinta ==\n{{helpdeskreply|1=$SECTION|ts=~~~~~}}',
editSummary: 'Waxaad jawaabo ku leedahay [[Wikipedia:Help desk|miiska caawinta Wikipedia]]'
},
norn: {
label: 'WP:NORN (Guddiga ogeysiisyada nooca cilmi-baaris aan la caddayn)',
text: '{{subst:Norn-notice|thread=$SECTION}} ~~~~',
editSummary: 'Ogeysiis dood oo ka socota [[Wikipedia:No original research/Noticeboard]]'
},
npovn: {
label: 'WP:NPOVN (Guddiga ogeysiisyada aragtida dhexdhexaadka ah)',
text: '{{subst:NPOVN-notice|thread=$SECTION}} ~~~~',
editSummary: 'Ogeysiis dood oo ka socota [[Wikipedia:Neutral point of view/Noticeboard]]'
},
rsn: {
label: 'WP:RSN (Guddiga ogeysiisyada ilaha lagu kalsoonaan karo)',
text: '{{subst:RSN-notice|thread=$SECTION}} ~~~~',
editSummary: 'Ogeysiis dood oo ka socota [[Wikipedia:Reliable sources/Noticeboard]]'
},
th: {
label: 'WP:TH (Aqalka shaaha)',
text: "== Ogeysiis jawaabid: waxaad leedahay fariimo! ==\n{{WP:Teahouse/Teahouse talkback|WP:Teahouse|$SECTION|ts=~~~~}}",
editSummary: 'Waxaad jawaabo ku leedahay [[Wikipedia:Teahouse|guddiga su\'aalaha ee Aqalka Shaaha]]'
},
vrt: {
label: 'WP:VRTN (Guddiga ogeysiisyada VRT)',
text: '{{subst:VRTreply|1=$SECTION}}\n~~~~',
editSummary: 'Waxaad jawaabo ku leedahay [[Wikipedia:VRT noticeboard|guddiga ogeysiisyada VRT]]'
}
};
Twinkle.talkback.evaluate = function(e) {
const input = Morebits.QuickForm.getInputData(e.target);
const fullUserTalkPageName = new mw.Title(mw.config.get('wgRelevantUserName'), 3).toText();
const talkpage = new Morebits.wiki.Page(fullUserTalkPageName, 'Ku darista ogeysiiska');
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(e.target);
Morebits.wiki.actionCompleted.redirect = fullUserTalkPageName;
Morebits.wiki.actionCompleted.notice = 'Ogeysiintu waa la dhammeeyay; dib ayaan u soo dejineynaa bogga wada-hadalka daqiiqado gudahood';
switch (input.tbtarget) {
case 'notice':
talkpage.setEditSummary(Twinkle.talkback.noticeboards[input.noticeboard].editSummary);
break;
case 'mail':
talkpage.setEditSummary("Ogeysiis: Iimayl ayaa ku soo gaaray");
break;
case 'see':
input.page = Twinkle.talkback.callbacks.normalizeTalkbackPage(input.page);
talkpage.setEditSummary('Fadlan eeg dooda ka socota [[:' + input.page +
(input.section ? '#' + input.section : '') + ']]');
break;
default: // talkback
input.page = Twinkle.talkback.callbacks.normalizeTalkbackPage(input.page);
talkpage.setEditSummary('Ogeysiis jawaabid ([[:' + input.page +
(input.section ? '#' + input.section : '') + ']])');
break;
}
talkpage.setFollowRedirect(true);
talkpage.load((pageobj) => {
const whitespaceToPrepend = pageobj.exists() && pageobj.getPageText() !== '' ? '\n\n' : '';
talkpage.setAppendText(whitespaceToPrepend + Twinkle.talkback.callbacks.getNoticeWikitext(input));
talkpage.setChangeTags(Twinkle.changeTags);
talkpage.setCreateOption('recreate');
talkpage.setMinorEdit(Twinkle.getPref('markTalkbackAsMinor'));
talkpage.append();
});
};
Twinkle.talkback.callbacks = {
normalizeTalkbackPage: function(page) {
page = page || mw.config.get('wgUserName');
let normal = mw.Title.newFromText(page, 3);
if (normal) {
if (normal.namespace !== 4 && normal.namespace !== 10) {
normal = normal.getTalkPage();
}
page = normal.getPrefixedText();
}
return page;
},
preview: function(form) {
const input = Morebits.QuickForm.getInputData(form);
if (input.tbtarget === 'talkback' || input.tbtarget === 'see') {
input.page = Twinkle.talkback.callbacks.normalizeTalkbackPage(input.page);
}
const noticetext = Twinkle.talkback.callbacks.getNoticeWikitext(input);
form.previewer.beginRender(noticetext, 'User talk:' + mw.config.get('wgRelevantUserName'));
},
getNoticeWikitext: function(input) {
let text;
switch (input.tbtarget) {
case 'notice':
text = Morebits.string.safeReplace(Twinkle.talkback.noticeboards[input.noticeboard].text, '$SECTION', input.section);
break;
case 'mail':
text = '==' + Twinkle.getPref('mailHeading') + '==\n' +
"{{You've got mail|subject=" + input.section + '|ts=~~~~~}}';
if (input.message) {
text += '\n' + input.message + ' ~~~~';
} else if (Twinkle.getPref('insertTalkbackSignature')) {
text += '\n~~~~';
}
break;
case 'see':
var heading = Twinkle.getPref('talkbackHeading');
text = '{{subst:Please see|location=' + input.page + (input.section ? '#' + input.section : '') +
'|more=' + input.message + '|heading=' + heading + '}}';
break;
default: // talkback
text = '==' + Twinkle.getPref('talkbackHeading') + '==\n' +
'{{talkback|' + input.page + (input.section ? '|' + input.section : '') + '|ts=~~~~~}}';
if (input.message) {
text += '\n' + input.message + ' ~~~~';
} else if (Twinkle.getPref('insertTalkbackSignature')) {
text += '\n~~~~';
}
}
return text;
}
};
Twinkle.addInitCallback(Twinkle.talkback, 'talkback');
}());
// </nowiki>
7pm8w020zn7pwtoajvwllkojs5ah4wo
MediaWiki:Gadget-twinklespeedy.js
8
53677
310865
2026-10-25T11:18:25Z
Isma4l
41797
Abuuray
310865
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinklespeedy.js: Qaybta Tirtiridda Degdegga ah (CSD module)
****************************************
* Qaabka loo yeero: Tab ("CSD")
* Ka shaqeeya: Boggaga caadiga ah ee jira
*
* NOTE FOR DEVELOPERS:
* If adding a new criterion, add it to the appropriate places at the top of
* twinkleconfig.js. Also check out the default values of the CSD preferences
* in twinkle.js, and add your new criterion to those if you think it would be
* good.
*/
Twinkle.speedy = function twinklespeedy() {
if (mw.config.get('wgNamespaceNumber') < 0 || !mw.config.get('wgArticleId')) {
return;
}
Twinkle.addPortletLink(Twinkle.speedy.callback, 'CSD', 'tw-csd', Morebits.userIsSysop ? 'Tirtir bogga iyadoo la raacayo WP:CSD' : 'Codso tirtirid degdeg ah iyadoo la raacayo WP:CSD');
};
Twinkle.speedy.data = [
{
list: 'customRationale',
label: 'Sababaysnimo gaar ah' + (Morebits.userIsSysop ? ' (sabab tirtirid gaar ah)' : ' iyadoo la adeegsanayo muunadda {{db}}'),
code: 'db',
db: 'reason',
tooltip: '{{db}} waa soo gaabinta "tirtir sababtoo ah". Ugu yaraan hal ka mid ah shuruudaha tirtiridda kale waa inay weli khuseeyaan bogga, waana inaad arrintan ku xustaa sababtaada. Tani ma aha mid loogu talagalay dhammaan xaaladaha mark aadan heli karin shuruud ku habboon.',
subgroup: {
name: 'reason_1',
type: 'input',
label: 'Sababta:',
size: 60
},
hideWhenMultiple: true
},
{
list: 'talkList',
label: 'G8: Boggaga wada-hadalka ee aan lahayn bogga mowduuca ee u dhigma',
code: 'g8',
db: 'talk',
tooltip: 'Tani waxay ka reebaysaa bog kasta oo u roon mashruuca - gaar ahaan, boggaga wada-hadalka isticmaalaha, kaydka boggaga wada-hadalka, iyo boggaga wada-hadalka ee faylasha ka jira Wikimedia Commons.'
},
{
list: 'fileList',
label: 'F1: Fayl celcelis ah oo aan loo baahnayn',
code: 'f1',
db: 'redundantimage',
tooltip: 'Fayl kasta oo ah nuqul celcelis ah, oo leh qaabka faylka oo la mid ah iyo xallin (resolution) la mid ah ama ka hooseeya, wax ku jira Wikipedia. Sidoo kale, warbaahinta kale ee ah nuqul celcelis ah, oo leh qaab la mid ah iyo tayo la mid ah ama ka hooseeya. Tani ma khusayso faylasha ku celceliska ah ee ku jira Wikimedia Commons, sababtoo ah arrimaha sharciga; kuwaas waxaa la dusha saari karaa {{subst:ncd|Image:newname.ext}} ama {{subst:ncd}} halkii ay ahaan lahaayeen',
subgroup: {
name: 'redundantimage_filename',
label: 'Faylka uu kan celceliska ku yahay:',
type: 'input',
tooltip: 'Horgalaha "File:" waa laga tagi karaa.'
}
},
{
list: 'fileList',
label: 'F2: Fayl kharriban, maqan, ama madhan',
code: 'f2',
db: 'noimage',
tooltip: 'Kahor inta aan la tirtirin noocyada faylashaas, xaqiiji in nidaamka MediaWiki uusan akhrin karin adigoo horudhac u samaynaya sawirkiisa yar (thumbnail). Sidoo kale waxaa ku jira boggaga sharaxaadda faylka ee madhan (oo aan lahayn wax macluumaad ah) ee faylasha Commons'
},
{
list: 'fileList',
label: 'F2: Bogga sharaxaadda faylka ee aan loo baahnayn ee fayl ku jira Commons',
code: 'f2',
db: 'fpcfail',
tooltip: 'Sawir ku jira Commons, laakiin leh calaamado ama macluumaad ku jira bogga sharaxaadda Wikipedia ee Ingiriiska oo aan hadda la baahnayn. (Tusaale ahaan, musharrax sawir la soo xulay oo guuldarraystay.)',
hideWhenMultiple: true
},
{
list: 'fileList',
label: 'F3: Shuruudo sharci oo aan habboonayn',
code: 'f3',
db: 'noncom',
tooltip: 'Faylasha loo sharciyeeyay sida "loogu talagalay isticmaalka aan ganacsiga ahayn oo keliya", "isticmaalka aan ka soo jeedin" ama "lagu isticmaalay oggolaansho" ee la soo geliyay 2005-05-19 ama ka dib, marka laga reebo halka la muujiyey inay u hoggaansamayaan halbeegyada xaddidan ee isticmaalka macluumaadka aan xorta ahayn. Tan waxaa ku jira faylasha lagu sharciyeeyay "Sharciga Hal-abuurka Ganacsiga ee Aan Ganacsiga Ahayn" (Non-commercial Creative Commons License). Faylashaas la soo geliyay ka hor 2005-05-19 sidoo kale si degdeg ah ayaa loo tirtiri karaa haddii aan lagu isticmaalin wax maqaallo ah'
},
{
list: 'fileList',
label: 'F4: Xogta sharciga oo maqan',
code: 'f4',
db: 'unksource',
tooltip: 'Faylasha ku jira qaybta "Faylasha leh il aan la aqoon", "Faylasha leh xaalad xuquuq daabacaad oo aan la aqoon", ama "Faylasha aan lahayn calaamad xuquuq daabacaad" ee lagu calaamadiyay muunad gelisa qaybta in ka badan todobo maalmood, iyadoon loo eegayn goorta la soo geliyay. Ogow, isticmaaleyaashu mararka qaarkood waxay ku sheegaan isha ay ka keeneen soo-gelinta kooban (upload summary), markaa hubi xaaladaha faylka.',
hideWhenUser: true
},
{
list: 'fileList',
label: 'F5: Fayl xuquuq daabacaad leh oo aan xor ahayn balse aan la isticmaalin',
code: 'f5',
db: 'f5',
tooltip: 'Faylasha aan hoos imaan sharciga xorta ah ama aan ku jirin hantida dadweynaha ee aan lagu isticmaalin wax maqaal ah, oo isticmaalkooda kaliya uu ku jiro maqaal la tirtiray, oo ay aad u yartahay in lagu isticmaalo maqaal kale. Reebanayaal macquul ah ayaa la samayn karaa faylasha loo soo geliyay maqaal soo socda. Faylasha kale ee aan xorta ahayn ee aan la isticmaalin, isticmaal ikhtiyaarka "Isticmaalka aan xorta ahayn ee la tagay" ee tab-ka DI ee Twinkle.',
hideWhenUser: true
},
{
list: 'fileList',
label: 'F6: Sababaynta isticmaalka caddaaladda ah (fair-use) oo maqan',
code: 'f6',
db: 'norat',
tooltip: 'Fayl kasta oo aan lahayn sababaynta isticmaalka caddaaladda ah waxaa la tirtiri karaa todobo maalmood kadib marka la soo geliyo. Muunadaha isticmaalka caddaaladda ee caadiga ah maaha sababaynta isticmaalka caddaaladda. Faylasha la soo geliyay ka hor 2006-05-04 waa in aan si degdeg ah loo tirtirin; halkaas waxaa loo ogeysiin karaa qofka soo geliyay in loo baahan yahay sababaynta isticmaalka caddaaladda. Faylasha la soo geliyay 2006-05-04 ka dib waxaa lagu calaamadin karaa iyadoo la isticmaalayo ikhtiyaarka "Sababaynta isticmaalka caddaaladda oo maqan" ee qaybta DI ee Twinkle.',
hideWhenUser: true
},
{
list: 'fileList',
label: 'F7: Warbaahinta isticmaalka caddaaladda ah ee laga keenay hay\'ad sawir ganacsi oo aan ahayn mawduuca faallooyinka leh ilaha',
code: 'f7',
db: 'badfairuse',
tooltip: 'Sawirada ama warbaahinta aan xorta ahayn ee ka timid il ganacsi (tusaale, Associated Press, Getty), halkaas oo faylku laftiisu uusan ahayn mawduuca faallooyinka leh ilaha, waxaa loo arkaa sheegasho aan ansax ahayn oo ah isticmaalka caddaaladda waxaana ka guuldarraysta shuruudaha adag ee WP:NFCC. Xaaladaha u baahan xilli sugitaan, adeegso ikhtiyaarrada tab-ka DI ee Twinkle.',
subgroup: {
name: 'badfairuse_rationale',
type: 'input',
label: 'Sharaxaad ikhtiyaari ah:',
size: 60
},
hideWhenMultiple: true
},
{
list: 'fileList',
label: 'F8: Faylka oo ah nuqul isku mid ah ama xallin sarreeya oo ka jira Wikimedia Commons',
code: 'f8',
db: 'commons',
tooltip: 'Haddii shuruudahan soo socda la buuxiyo: 1: Qaabka faylka ee labada sawir waa isku mid. 2: Sharciga faylka iyo xaaladda isha waa mid aan shaki la gelin, sharcigana shaki la\'aan waa laga aqbalaa Commons. 3: Dhammaan macluumaadka ku jira bogga sharaxaadda faylka waxay ka muuqdaan bogga sharaxaadda faylka ee Commons. Tan waxaa ku jira taariikhda soo-gelinta oo dhammaystiran oo wadata xiriiriyeyaasha boggaga isticmaalaha maxalliga ah ee soo-geliyaha. 4: Faylku ma difaacna, bogga sharaxaadda faylalkuna ma ku jiro codsi aan loogu wareejinayn Commons. 5: Haddii faylku uga jiro Commons magac ka duwan kan maxalliga ah, dhammaan tixraacyada maxalliga ah ee faylka waa in la cusbooneysiiyaa si ay u tilmaamaan magaca laga isticmaalo Commons. 6: Faylasha {{c-uploaded}}: Si degdeg ah ayaa loo tirtiri karaa isla marka ay ka baxaan Bogga Hore',
subgroup: {
name: 'commons_filename',
type: 'input',
label: 'Magaca faylka ee Commons:',
value: Morebits.pageNameNorm,
tooltip: 'Tani waa laga tagi karaa madhan haddii faylku leeyahay magac la mid ah kan halkan ku jira. Horgalaha "File:" waa ikhtiyaari.'
},
hideWhenMultiple: true
},
{
list: 'fileList',
label: 'F9: Ku xad-gudubka xuquuqda daabacaadda ee aan shaki ku jirin',
code: 'f9',
db: 'imgcopyvio',
tooltip: 'Faylka waxaa laga soo guuriyay mareeg ama il kale oo aan lahayn sharciga ku habboon Wikipedia, qofka soo geliyayna ma sheeganayo isticmaalka caddaaladda mana keenayo caddayn la hubo oo oggolaansho ah oo isticmaalka xorta ah. Ilaha aan lahayn sharciga ku habboon Wikipedia waxaa ka mid ah maktabadaha sawirada kaydka ah sida Getty Images ama Corbis. Ku xad-gudubyada xuquuqda daabacaadda ee aan caddayn waa in lagaga doodo Wikipedia:Files for deletion',
subgroup: [
{
name: 'imgcopyvio_url',
type: 'input',
label: 'URL-ka xad-gudubka, oo ay ku jirto "http://". Haddii xadgudubku ka yimid il aan internet ahayn oo aadan bixin karin URL, waa inaad isticmaashaa sanduuqa sababaynta tirtiridda.',
size: 60
},
{
name: 'imgcopyvio_rationale',
type: 'input',
label: 'Sababaynta tirtiridda xad-gudubyada aan internet-ka ahayn:',
size: 60
}
]
},
{
list: 'fileList',
label: 'F11: Wax caddayn ah oo oggolaansho ah ma jiro',
code: 'f11',
db: 'nopermission',
tooltip: 'Haddii qofka soo geliyay uu cayimay sharciga oo uu magacaabay dhinac saddexaad sida isha/lahaanshaha xuquuqda daabacaadda iyada oo aan la bixin caddayn muujinaysa in dhinacan saddexaad uu dhab ahaantii oggolaaday, shayga waxaa la tirtiri karaa todobo maalmood kadib ogeysiinta qofka soo geliyay',
hideWhenUser: true
},
{
list: 'fileList',
label: 'G8: Bogga sharaxaadda faylka oo aan lahayn fayl u dhigma',
code: 'g8',
db: 'imagepage',
tooltip: 'Tani waa u adeegsiga oo keliya marka faylku uusan jirin gabi ahaanba. Faylasha kharriban, iyo boggaga sharaxaadda maxalliga ah ee faylasha ku jira Commons, waa inay isticmaalaan F2; dib-u-jeedinta aan la rumeysnayn waa inay isticmaashaan R3; iyo dib-u-jeedinta Commons ee jabay waa inay isticmaalaan R4.'
},
{
list: 'articleList',
label: 'A1: Macluumaad la\'aan. Maqaallada ka maqan macluumaad ku filan oo lagu aqoonsado mowduuca maqaalka.',
code: 'a1',
db: 'nocontext',
tooltip: 'Tusaale: "Waa nin qosol badan oo wata baabuur cas. Wuxuu dadka ka qosliyaa." Tani waxay khuseysaa oo keliya maqaallada aadka u gaaban. Macluumaadku wuxuu ka duwan yahay nuxurka, oo lagu daweeyay A3, hoos.'
},
{
list: 'articleList',
label: 'A2: Maqaallada luqadaha qalaad ee ka jira mashruuc kale oo Wikimedia ah',
code: 'a2',
db: 'foreign',
tooltip: 'Haddii maqaalka su\'aasha ku jira uusan ka jirin mashruuc kale, muunadda {{notenglish}} waa in la isticmaalaa halkaas. Dhammaan maqaallada ku jira luqad aan Ingiriiska ahayn ee aan buuxin shuruudan (iyo aan buuxin shuruudaha kale ee tirtiridda degdegga ah) waa in lagu taxaa Boggaga U Baahan Turjumaadda (PNT) si loogu eego loona suurtogeliyo turjumaad',
subgroup: {
name: 'foreign_source',
type: 'input',
label: 'Xiriiriyaha interwiki ee maqaalka ka jira wiki-ga luqadda qalaad:',
tooltip: 'Tusaale ahaan, fr:Bonjour'
}
},
{
list: 'articleList',
label: 'A3: Nuxur haba yaraatee aan lahayn',
code: 'a3',
db: 'nocontent',
tooltip: 'Maqaal kasta oo ka kooban kaliya xiriiriyeyaal meel kale ah (oo ay ku jiraan xiriiriyeyaasha webka, calaamadaha qaybaha iyo qaybaha "sidoo kale eeg"), dib-u-qorista cinwaanka, iyo/ama isku dayada in lagala xiriiro qofka ama kooxda cinwaankeedu magacaabay. Tani maaha boggaga kala-soocidda'
},
{
list: 'articleList',
label: 'A7: Muhiimad aan la tilmaamin (dadka, kooxaha, shirkadaha, nuxurka webka, xayawaanka gaarka ah, ama munaasabadaha la soo agaasimay)',
code: 'a7',
db: 'a7',
tooltip: 'Maqaal ku saabsan qof dhab ah, koox dad ah, koox muusig, naadi, shirkad, nuxur web, xayawaan gaar ah, socdaal, ama xaflad oo aan caddayn muhiimadda ama qiimaha mowduuciisa. Haddii uu muran ka taagan yahay, ama haddii AfD hore ay keentay in maqaalka la hayo, maqaalka waa in loo sharraxaa AfD halkaas',
hideWhenSingle: true
},
{
list: 'articleList',
label: 'A7: Muhiimad aan la tilmaamin (qof)',
code: 'a7',
db: 'person',
tooltip: 'Maqaal ku saabsan qof dhab ah oo aan caddayn muhiimadda ama qiimaha mowduuciisa. Haddii uu muran ka taagan yahay, ama haddii ay jirtay AfD hore oo keentay in maqaalka la hayo, maqaalka waa in loo sharraxaa AfD halkaas',
hideWhenMultiple: true
},
{
list: 'articleList',
label: 'A7: Muhiimad aan la tilmaamin (muusikiiste(yaal) ama koox muusig)',
code: 'a7',
db: 'band',
tooltip: 'Maqaal ku saabsan koox, fanaan, muusikiiste, ama koox muusig oo aan caddayn muhiimadda ama qiimaha mowduuca',
hideWhenMultiple: true
},
{
list: 'articleList',
label: 'A7: Muhiimad aan la tilmaamin (naadi, bulsho ama koox)',
code: 'a7',
db: 'club',
tooltip: 'Maqaal ku saabsan naadi, bulsho ama koox aan caddayn muhiimadda ama qiimaha mowduuca',
hideWhenMultiple: true
},
{
list: 'articleList',
label: 'A7: Muhiimad aan la tilmaamin (shirkad ama urur)',
code: 'a7',
db: 'corp',
tooltip: 'Maqaal ku saabsan shirkad ama urur aan caddayn muhiimadda ama qiimaha mowduuca',
hideWhenMultiple: true
},
{
list: 'articleList',
label: 'A7: Muhiimad aan la tilmaamin (mareeg ama nuxur web)',
code: 'a7',
db: 'web',
tooltip: 'Maqaal ku saabsan mareeg, barta internet-ka, madal doodo online ah, webcomic, podcast, ama nuxur web oo la mid ah oo aan caddayn muhiimadda ama qiimaha mowduuciisa',
hideWhenMultiple: true
},
{
list: 'articleList',
label: 'A7: Muhiimad aan la tilmaamin (xayawaan gaar ah)',
code: 'a7',
db: 'animal',
tooltip: 'Maqaal ku saabsan xayawaan gaar ah (tusaale xayawaanka guriga lagu xanaaneeyo) oo aan caddayn muhiimadda ama qiimaha mowduuciisa',
hideWhenMultiple: true
},
{
list: 'articleList',
label: 'A7: Muhiimad aan la tilmaamin (munaasabad la soo agaasimay)',
code: 'a7',
db: 'event',
tooltip: 'Maqaal ku saabsan munaasabad la soo agaasimay (socdaal, shaqo, kulan, xaflad, iwm.) oo aan caddayn muhiimadda ama qiimaha mowduuciisa',
hideWhenMultiple: true
},
{
list: 'articleList',
label: 'A9: Diiwaangelin muusig oo aan la aqoon halka maqaalka fanaanku uusan jirin',
code: 'a9',
db: 'a9',
tooltip: 'Maqaal ku saabsan duubitaan muusig oo aan tilmaamin sababta mowduuciisu u muhiimsan yahay ama u qiimo badan yahay, halkaas oo maqaalka fanaanku uusan weligiis jirin ama la tirtiray'
},
{
list: 'articleList',
label: 'A10: Maqaal dhawaan la abuuray oo ku celcelinaya mowduuc jira',
code: 'a10',
db: 'a10',
tooltip: 'Maqaal dhawaan la abuuray oo aan lahayn taariikh bog oo khuseysa oo aan ujeeddadiisu ahayn in la ballaariyo, faahfaahiyo ama la hagaajiyo macluumaadka ku jira maqaal(ada) jira ee mowduuca, halkaas oo cinwaanku uusan ahayn dib-u-jeedin macquul ah. Tani maaha qaybin nuxur, boggaga la kala qaybiyay ama maqaal kasta oo ujeeddadiisu tahay ballaarinta ama faahfaahinta mid jira.',
subgroup: {
name: 'a10_article',
type: 'input',
label: 'Maqaalka ku celceliska ah:'
}
},
{
list: 'articleList',
label: 'A11: Si cad uu u sameeyay abuuruha, oo aan lahayn sheegasho muhiimad ah',
code: 'a11',
db: 'madeup',
tooltip: 'Maqaal si cad u muujinaya in mowduuca uu ikhtiraacay/hal-abuuray/soo saaray abuuruha maqaalka ama qof ay si shakhsi ah u garanayaan, oo aan si lagu kalsoonaan karo u muujinayn sababta mowduuciisu u muhiimsan yahay ama u qiimo badan yahay'
},
{
list: 'categoryList',
label: 'C1: Qaybo madhan',
code: 'c1',
db: 'catempty',
tooltip: 'Qaybaha aan la degganayn ugu yaraan todobo maalmood. Tani ma khusayso qaybaha lagaga doodayo WP:CFD, qaybaha kala-soocidda, iyo reebitaano kale oo gaar ah. Haddii qaybtu aysan ahayn mid cusub, waxaa laga yaabaa inay ka koobnayd maqaallo horay, waxaana loo baahan yahay baaritaan qoto dheer'
},
{
list: 'categoryList',
label: 'C4: Qaybaha dayactirka ee aan la isticmaalin si joogto ah',
code: 'c4',
db: 'c4',
tooltip: 'Qaybaha dayactirka ee aan la isticmaalin, sida qaybaha dayactirka taariikhaysan ee madhan ee taariikhaha la soo dhaafay, qaybaha dabagalka ee uusan mar dambe isticmaalin muunadda kadib dib-u-qorid, ama qayb-hoosaadyada madhan ee Qaybta:Wikipedia sockpuppets ama Qaybta:Suspected Wikipedia sockpuppets. Qaybaha dayactirka ee madhani maaha kuwo aan la isticmaalin - shuruuddu waxay u taallaa qaybaha noqon doona kuwa madhan weligood, ee ma aha kuwa hadda madhan.',
subgroup: {
name: 'c4_rationale',
type: 'input',
label: 'Sharaxaad ikhtiyaari ah:',
size: 60
}
},
{
list: 'templateList',
label: 'T5: Bog-hoosaadyada muunadaha ee aan la isticmaalin',
code: 't5',
db: 't5',
tooltip: 'Bog-hoosaadyada muunadaha iyo qaybaha Lua ee aan la isticmaalin. Tani ma khusayso bog-hoosaadyada /testcases iyo /sandbox, ama bog-hoosaadyada Module:Sandbox.'
},
{
list: 'userList',
label: 'U1: Codsiga isticmaalaha',
code: 'u1',
db: 'userreq',
tooltip: 'Bog-hoosaadyada shakhsiyadeed, marka uu codsado isticmaalahooda. Xaalado dhif ah qaarkood waxaa jiri kara baahi maamul si loo hayo bogga. Sidoo kale, marmarka qaarkood, boggaga isticmaalaha ugu muhiimsan waa la tirtiri karaa sidoo kale. Eeg Wikipedia:User page si aad u hesho tilmaamo iyo habraacyo dhammaystiran',
subgroup: mw.config.get('wgNamespaceNumber') === 3 && !mw.config.get('wgTitle').includes('/') ? {
name: 'userreq_rationale',
type: 'input',
label: 'Sababeyn qasab ah oo lagu sharxayo sababta boggan wada-hadalka isticmaalaha loogu tirtirayo:',
tooltip: 'Boggaga wada-hadalka isticmaalaha waxaa la tirtiraa oo keliya xaalado aad u gaar ah. Eeg WP:DELTALK.',
size: 60
} : null,
hideSubgroupWhenMultiple: true
},
{
list: 'userList',
code: 'u2',
label: 'U2: Isticmaale aan jirin',
db: 'nouser',
tooltip: 'Boggaga isticmaalaha ee isticmaaleyaasha aan jirin (Eeg Special:Listusers)'
},
{
list: 'userList',
label: 'U6: Bog-hoosaadyada isticmaalaha ee la dayacay',
code: 'u6',
db: 'u6',
tooltip: 'Bog-hoosaadyada isticmaaleyaasha ee sameeyay wax yar ama aan wax tafatir ah ku samayn meel ka baxsan booska isticmaalaha, oo uusan ninna tafatirin ugu yaraan lix bilood, marka laga reebo dib-u-jeedinta, boggaga .js, boggaga .css, iyo Buugta Wikipedia. Qabyo-qoraalka ballanqaadka leh waxaa u wareejin kara booska qabyo-qoraalka tifaftire kasta beddel u ah tirtiridda.',
hideWhenRedirect: true
},
{
list: 'userList',
label: 'U7: Bog-hoosaadyada aan ahayn qabyo-qoraalka ee aan xiriirka la lahayn',
code: 'u7',
db: 'u7',
tooltip: 'Bog-hoosaadyada isticmaaleyaasha ee sameeyay wax yar ama aan wax tafatir ah ku samayn meel ka baxsan booska isticmaalaha, oo la abuuray in ka badan lix bilood kahor, aan loo tarjumi karin maqaallo qabyo ah (xitaa kuwa aadka u xun), oo ka kooban gebi ahaanba qoraal hal-abuur leh, nuxur xirfadeed ama shakhsiyeed oo dheer, ama xiriiriyeyaasha ganacsiga.',
hideWhenRedirect: true,
subgroup: [
{
name: 'u7_subcriteria',
type: 'checkbox',
list: [
{
label: 'Qoritaan hal-abuur leh ama qancin leh oo aan xiriir la lahayn Wikipedia',
value: 'creative',
name: 'creative',
tooltip: 'Boggu wuxuu ka kooban yahay qoritaan hal-abuur leh ama qancin leh oo aan xiriir la lahayn Wikipedia (tusaale taageere fictions ama maqaallo siyaasadeed).'
},
{
label: 'Sharaxaad dheer oo ku saabsan guulaha xirfadeed ee qofka',
value: 'professional',
name: 'professional',
tooltip: 'Boggu wuxuu ka kooban yahay sharaxaad dheer oo ku saabsan guulaha xirfadeed ee qofka oo lagu qoray qofka koowaad ama loo qaabeeyey sida resumey ama curriculum vitae, oo aan u adeegin sidii shaacinta tabarucaadka la bixiyay'
},
{
label: 'Nuxur dheer oo ku saabsan nolosha shakhsiyadeed ee isticmaalaha',
value: 'personal',
name: 'personal',
tooltip: 'Boggu wuxuu ka kooban yahay nuxur dheer oo ku saabsan nolosha shakhsiyadeed ee isticmaalaha, waxyaabaha deegaankooda ah (tusaale saaxiibbada, xayawaanka, ama hantida), ama waxyaabaha ay ikhtiraaceen.'
},
{
label: 'Xiriiriyeyaasha mareegyada ganacsiga',
value: 'links',
name: 'links',
tooltip: 'Boggu wuxuu ka kooban yahay xiriiriyeyaal mareegaha oo asal ahaan ah kuwo ganacsi.'
}
]
}
]
},
{
list: 'userList',
label: 'G11: Bogga isticmaalaha xayaysiinta ee hoos yimaada magaca isticmaalaha xayaysiinta',
code: 'g11',
db: 'spamuser',
tooltip: 'Bog isticmaale oo xayaysiis ah, oo wata magac isticmaale oo xayaysiinaya ama tilmaamaya xiriirka shayga la xayaysiinayo. Ogow in si fudud u lahaanshaha bog shirkad ama alaab ah booska isticmaalaha uusan u qalmin in la tirtiro. Haddii bogga isticmaalahu uu yahay spam balse magaca isticmaalahu uusan ahayn, markaas tixgeli inaad ku calaamotid G11 caadiga ah halkaas.',
hideWhenMultiple: true,
hideWhenRedirect: true
},
{
list: 'userList',
label: 'G13: Gudbinta qabyo-qoraalka AfC ama qabyo madhan, oo duugowday in ka badan 6 bilood',
code: 'g13',
db: 'afc',
tooltip: 'Gudbinta qabyo-qoraalka AfC ee la diiday ama aan la gudbin ama qabyo madhan, oo aan la tafatirin in ka badan 6 bilood (marka laga reebo tafatirka bot-ka).',
hideWhenMultiple: true,
hideWhenRedirect: true
},
{
list: 'generalList',
label: 'G1: Nuxur nacasnimo ah. Boggaga ka kooban qoraal aan la fahmi karin ama hadal aan macno lahayn oo aan lahayn nuxur macno leh ama taariikh.',
code: 'g1',
db: 'nonsense',
tooltip: 'Tani maaha qoritaan xun, qoraallo qaybsanaan ah, hadallo cay ah, khasaarin, agab khayaali ah, agab aan ku jirin Af-Soomaali, agab si xun loo turjumay, aragtiyo aan la rumeysnayn, ama khiyaanooyin. Gaaban ahaan, haddii aad fahmi karto, G1 ma khuseeyo.',
hideInNamespaces: [2]
},
{
list: 'generalList',
label: 'G2: Bogga tijaabada',
code: 'g2',
db: 'test',
tooltip: 'Bog la abuuray si loo tijaabiyo tafatirka ama shaqooyinka kale ee Wikipedia. Boggaga ku jira booska Isticmaalaha kuma jiraan, mana aha muunado ansax ah oo aan la isticmaalin ama nuqul ah.',
hideInNamespaces: [2]
},
{
list: 'generalList',
label: 'G3: Khasaarin saafi ah',
code: 'g3',
db: 'vandalism',
tooltip: 'Khasaarin saafi ah (oo ay ku jiraan dib-u-jeedinta ka hartay khasaarinta dhaqaaqitaanka bogga)'
},
{
list: 'generalList',
label: 'G3: Khiyaano cad',
code: 'g3',
db: 'hoax',
tooltip: 'Khiyaano cad oo muuqata, oo gaerta heer khasaarin',
hideWhenMultiple: true
},
{
list: 'generalList',
label: 'G4: Dib u abuurista agabka lagu tirtiray dood tirtirid',
code: 'g4',
db: 'repost',
tooltip: 'Nuqul, cinwaan kasta ha ahaadee, oo ah bog laga tirtiray habka XfD ama dib u eegista tirtiridda, iyadoo la bixinayo in nuqulku uu si weyn ula mid yahay nooca la tirtiray. Qodobkani ma khuseeyo nuxurka "la isticmaala yeelay", nuxurka aan la tirtirin natiijada dib u eegista tirtiridda, ama haddii tirtiridda hore ay ahayd mid la soo jeediyay ama tirtirid degdeg ah, inkasta oo kiiskan dambe, shuruudaha tirtiridda degdegga ah ee kale ay weli khuseyn karaan',
subgroup: {
name: 'repost_xfd',
type: 'input',
label: 'Bogga ay doodda tirtiriddu ka dhacday:',
tooltip: 'Waa inuu ku bilaabmaa "Wikipedia:"',
size: 60
}
},
{
list: 'generalList',
label: 'G5: Waxaa abuuray isticmaale la mamnuucay ama la xannibay',
code: 'g5',
db: 'banned',
tooltip: 'Boggaga ay abuureen isticmaaleyaasha la mamnuucay ama la xannibay iyagoo ku xad-gudbaya mamnuucidooda ama xannibaaddooda, kuwaas oo aan lahayn tafatir muhiim ah oo ay sameeyeen dad kale',
subgroup: {
name: 'banned_user',
type: 'input',
label: 'Magaca isticmaalaha ee la mamnuucay (haddii la heli karo):',
tooltip: 'Waa inuusan ku bilaaban "User:"'
}
},
{
list: 'generalList',
label: 'G5: Waxaa la abuuray iyadoo lagu xad-gudbayo cunaqabatayn guud',
code: 'g5',
db: 'gs',
tooltip: 'Boggaga la abuuray iyadoo lagu xad-gudbayo xannibaadda mowduuca xasaasiga ah ama cunaqabatayn kale oo guud, iyadoo aan lahayn tafatir muhiim ah oo ay sameeyeen dad kale',
subgroup: {
name: 'code',
type: 'select',
label: 'Koodka cunaqabataynta guud ee khuseysa:',
list: [
{ type: 'option', value: 'rusukr', label: 'RUSUKR – Dagaalka Ruushka iyo Ukraine' },
{ type: 'option', value: 'a-i', label: 'A-I – Khilaafka Carabta iyo Israel' },
{ type: 'option', value: 'kurd', label: 'KURD – Kurds iyo Kurdistan' },
{ type: 'option', value: 'a-a', label: 'A-A – Armenia iyo Azerbaijan' },
{ type: 'option', value: 'apl', label: 'APL – Nacaybka Yuhuudda ee Poland' },
{ type: 'option', value: 'sasg', label: 'SASG – Kooxaha bulshada Aasiyada Koonfureed' },
{ type: 'option', value: 'imh', label: 'IMH – Taariikhda millatariga Hindiya' }
]
}
},
{
list: 'generalList',
label: 'G6: Khalad',
code: 'g6',
db: 'error',
tooltip: 'Bog si cad loogu abuuray qalad, ama dib-u-jeedin ka hartay dhaqaaqitaanka bog si cad loogu abuuray cinwaanka khaldan.',
hideWhenMultiple: true
},
{
list: 'generalList',
label: 'G6: Dhaqaaq',
code: 'g6',
db: 'move',
tooltip: 'U samaynta meel dhaqaaq aan muran ka taagnayn sida rogista dib-u-jeedin',
subgroup: [
{
name: 'move_page',
type: 'input',
label: 'Bogga la rabo in halkan loo rarto:'
},
{
name: 'move_reason',
type: 'input',
label: 'Sababta:',
size: 60
}
],
hideWhenMultiple: true
},
{
list: 'generalList',
label: 'G6: XfD',
code: 'g6',
db: 'xfd',
tooltip: 'Dood tirtirid (ee AfD, FfD, RfD, TfD, CfD, ama MfD) waxaa loo xiray "tirtir", balse boggu si dhab ah looma tirtirin.',
subgroup: {
name: 'xfd_fullvotepage',
type: 'input',
label: 'Bogga ay doodda tirtiriddu ka dhacday:',
tooltip: 'Waa inuu ku bilaabmaa "Wikipedia:"',
size: 40
},
hideWhenMultiple: true
},
{
list: 'generalList',
label: 'G6: Dhaqaaqitaanka AfC',
code: 'g6',
db: 'afc-move',
tooltip: 'U samaynta meel aqbalaadda qabyo loo gudbiyay AfC',
subgroup: {
name: 'draft_page',
type: 'input',
label: 'Qabyo la rabo in halkan loo rarto:'
},
hideWhenMultiple: true
},
{
list: 'generalList',
label: 'G6: Dhaqaaqitaanka bogga nuqul-iyo-dheji (copy-and-paste)',
code: 'g6',
db: 'copypaste',
tooltip: 'Tani waxay khuseysaa oo keliya dhaqaaqitaanka bogga nuqul-iyo-dheji ee bog kale oo u baahan in si ku-meel-gaar ah loo tirtiro si loogu sameeyo meel dhaqaaq bog nadiif ah.',
subgroup: {
name: 'copypaste_sourcepage',
type: 'input',
label: 'Bogga asalka ah ee halkan lagu soo guuriyay:'
},
hideWhenMultiple: true
},
{
list: 'generalList',
label: 'G6: Maamulka guriga iyo nadiifinta aan muranka lahayn',
code: 'g6',
db: 'g6',
tooltip: 'Hawlaha dayactirka ee caadiga ah ee kale',
subgroup: {
name: 'g6_rationale',
type: 'input',
label: 'Sababta:',
size: 60
}
},
{
list: 'generalList',
label: 'G7: Qoraaga ayaa codsaday tirtirid, ama qoraaga ayaa madhneeyay',
code: 'g7',
db: 'author',
tooltip: 'Bog kasta oo uu codsaday in la tirtiro qoraaga asalka ah si daacad ah, iyadoo la bixinayo in nuxurka muhiimka ah ee bogga uu ku daray qoraagu. Haddii qoraagu madhneeyo bogga, tani sidoo kale waxaa loo qaadan karaa codsi tirtirid.',
subgroup: {
name: 'author_rationale',
type: 'input',
label: 'Sharaxaad ikhtiyaari ah:',
tooltip: 'Waxaa laga yaabaa in lagu xiro halka qoraagu ka codsaday tirtiridda.',
size: 60
},
hideSubgroupWhenSysop: true
},
{
list: 'generalList',
label: 'G8: Boggaga ku xiran bog aan jirin ama la tirtiray',
code: 'g8',
db: 'g8',
tooltip: 'sida boggaga wada-hadalka ee aan lahayn bogga mowduuca u dhigma; bog-hoosaadyada aan lahayn bogga waalidka; boggaga faylka ee aan lahayn fayl u dhigma; dib-u-jeedinta bartilmaameedyada aan jirin; ama qaybaha ay dejiyeen muunadaha la tirtiray ama dib loo leexiyay. Tani waxay ka reebaysaa bog kasta oo u roon mashruuca, gaar ahaan: doodaha tirtiridda ee aan meel kale laga diiwaangelin, boggaga wada-hadalka isticmaalaha iyo isticmaalaha, kaydka boggaga wada-hadalka, dib-u-jeedinta macquul ah ee loo beddeli karo bartilmaameedyo ansax ah, iyo boggaga faylka ama boggaga wada-hadalka ee faylasha ka jira Wikimedia Commons.',
subgroup: {
name: 'g8_rationale',
type: 'input',
label: 'Sharaxaad ikhtiyaari ah:',
size: 60
},
hideSubgroupWhenSysop: true
},
{
list: 'generalList',
label: 'G8: Bog-hoosaadyada aan lahayn bogga waalidka',
code: 'g8',
db: 'subpage',
tooltip: 'Tani waxay ka reebaysaa bog kasta oo u roon mashruuca, gaar ahaan: doodaha tirtiridda ee aan meel kale laga diiwaangelin, boggaga wada-hadalka isticmaalaha iyo isticmaalaha, kaydka boggaga wada-hadalka, dib-u-jeedinta macquul ah ee loo beddeli karo bartilmaameedyo ansax ah, iyo boggaga faylka ama boggaga wada-hadalka ee faylasha ka jira Wikimedia Commons.',
hideWhenMultiple: true,
hideInNamespaces: [0, 6, 8]
},
{
list: 'generalList',
label: 'G10: Bogga weerarka',
code: 'g10',
db: 'attack',
tooltip: 'Boggaga aan ujeeddo kale lahayn oo aan ahayn in la cayiro ama la hanjabo mowduucooda ama hay\'ad kale (tusaale, "John Q. Doe waa nacas"). Tan waxaa ku jira taariikh-nololeedka qof nool oo taban oo aan lahayn il, halkaas oo aysan jirin nooca NPOV ee taariikhda lagu noqon karo. Maamulayaasha tirtiraya boggagaas waa aysan ku celin nuxurka bogga soo koobidda tirtiridda!'
},
{
list: 'generalList',
label: 'G10: BLP gebi ahaanba taban oo aan lahayn ilo',
code: 'g10',
db: 'negublp',
tooltip: 'Taariikh-nololeedka qof nool oo gebi ahaanba taban oo aan lahayn il, halkaas oo aysan jirin nooc dhex-dhexaad ah taariikhda lagu noqon karo.',
hideWhenMultiple: true
},
{
list: 'generalList',
label: 'G11: Xaysiis ama dhiirigelin aan shaki ku jirin',
code: 'g11',
db: 'spam',
tooltip: 'Boggaga si gaar ah u xayaysiiya shirkad, alaab, koox, adeeg, ama qof oo u baahan doona in si aas-aasiyid ah loo dib-u-qoro si ay u noqdaan ensiklopediya. Ogow in maqaal ku saabsan shirkad ёs alaab oo qeexaysa mowduuciisa laga soo bilaabo aragti dhex-dhexaad ah uusan u qalmin shuruudahan; maqaal ah xayaysiis cad waa inay lahaato nuxur aan habboonayn sidoo kale'
},
{
list: 'generalList',
label: 'G12: Ku xad-gudubka xuquuqda daabacaadda ee aan shaki ku jirin',
code: 'g12',
db: 'copyvio',
tooltip: 'Kow: (1) Agabka waxaa laga soo guuriyay mareeg kale oo aan lahayn sharciga ku habboon Wikipedia, ama waa sawirro laga keenay iibiye sawir kayd ah (sida Getty Images ama Corbis) ama bixiye nuxur ganacsi oo kale; (2) Ma jiro wax nuxur ah oo aan ku xad-gudbayn taariikhda bogga oo mudan in la badbaadiyo; ama (3) Ku xad-gudubka waxaa hal mar soo bandhigay hal qof halkii laga abuuri lahaa si dбиби ah wiki dhexdeeda oo markaas laga soo guuriyo mareeg kale sida mid ka mid ah muraayadaha Wikipedia badan',
subgroup: [
{
name: 'copyvio_url',
type: 'input',
label: 'URL (haddii la heli karo):',
tooltip: 'Haddii agabka laga soo guuriyay il online ah, geli URL-ka halkan, oo ay ku jirto borotokoolka "http://" ama "https://".',
size: 60
},
{
name: 'copyvio_url2',
type: 'input',
label: 'URL dheeraad ah:',
tooltip: 'Ikhtiyaari. Waa inuu ku bilaabmaa "http://" ama "https://"',
size: 60
},
{
name: 'copyvio_url3',
type: 'input',
label: 'URL dheeraad ah:',
tooltip: 'Ikhtiyaari. Waa inuu ku bilaabmaa "http://" ama "https://"',
size: 60
}
]
},
{
list: 'generalList',
label: 'G13: Bog ku jira booska qabyo-qoraalka ama gudbinta AfC ee booska isticmaalaha, oo duugowday in ka badan 6 bilood',
code: 'g13',
db: 'afc',
tooltip: 'Gudbinta AfC ee la diiday ama aan la gudbin ee booska isticmaalaha ama bog kasta oo aan ahayn dib-u-jeedin ee booska qabyo-qoraalka, oo aan la tafatirin in ka badan 6 bilood. Qabyo madhan oo ku jira labada boos sidoo kale waa la daray.',
hideWhenRedirect: true,
showInNamespaces: [2, 118]
},
{
list: 'generalList',
label: 'G14: Bog kala-soocid oo aan loo baahnayn',
code: 'g14',
db: 'disambig',
tooltip: 'Tani waxay khuseysaa oo keliya boggaga kala-soocidda ee la tagay kuwaas oo: (1) kala-soocaya hal bog Wikipedia oo jira oo keliya oo cinwaankiisu ku dhammaanayo "(disambiguation)" (wuxuu leeyahay mowduuc aas-aasiga ah); ama (2) aan kala-soocin wax bog Wikipedia ah (eber), iyadoon loo eegayn cinwaankeeda. Sidoo kale waxay khuseysaa dib-u-jeedinta "Foo (disambiguation)" ee la tagay ee bartilmaameedsada boggaga aan ahayn boggaga kala-soocidda ama kuwa la midka ah kala-soocidda (sida maqaallada tusmada go' назначен ama liisaska)'
},
{
list: 'generalList',
label: 'G15: Nuxurka LLM ee aan la eegin',
code: 'g15',
db: 'llm',
tooltip: 'Tani waxay khuseysaa oo keliya boggaga ka kooban mid ka mid ah: (1) is-gaarsiin loogu talagalay isticmaalaha (tusaale, "Halkan waxaa ku yaal maqaalkaaga Wikipedia ee ku saabsan..."); (2) tixraacyo aan jirin oo aan la rumeysnayn; ama (3) oraahyo aan macno lahayn, oo haddii kale laga saari lahaa dib-u-eegis bini\'aadam ah.',
subgroup: [
{
name: 'subcriteria',
type: 'checkbox',
list: [
{
label: 'Is-gaarsiin loogu talagalay isticmaalaha',
value: 'communication',
tooltip: 'Boggu wuxuu ka kooban yahay is-gaarsiin loogu talagalay isticmaalaha, sida "Halkan waxaa ku yaal maqaalkaaga Wikipedia ee ku saabsan...".'
},
{
label: 'Tixraacyo aan la rumeysnayn ama aan macno lahayn',
value: 'implausible',
tooltip: 'Boggu wuxuu ka kooban yahay tixraacyo aan jirin oo aan la rumeysnayn ama aan macno lahayn.'
}
]
},
{
name: 'reason',
type: 'input',
label: 'Sabab ballaaran (ikhtiyaari):',
tooltip: 'Qeex sababta mid ka mid ah saddexda shuruudood uu ugu khuseeyo boggan.',
size: 60
}
]
},
{
list: 'redirectList',
label: 'R2: Dib-u-jeedin ka timid booska weyn ilaa boos kale oo kasta marka laga reebo boosaska Qaybta:, Muunadda:, Wikipedia:, Caawinta: iyo Bogga Hore:',
code: 'r2',
db: 'rediruser',
tooltip: 'Tani kuma jirto gaabinno pseudonamespace ah. Haddii tani ay ahayd natiijada dhaqaaqitaanka bogga, tixgeli inaad sugto maalin ama laba ka hor inta aan la tirtirin dib-u-jeedinta',
showInNamespaces: [0]
},
{
list: 'redirectList',
label: 'R3: Dib-u-jeedin dhawaan la abuuray oo ka timid khalad qoris ama magac khaldan oo aan la rumeysnayn',
code: 'r3',
db: 'redirtypo',
tooltip: 'Si kastaba ha ahaatee, dib-u-jeedinta ka timid higgaadinta khaldan ee caadiga ah ama magacyada khaldan ayaa guud ahaan waxtar leh, sida dib-u-jeedinta luqadaha kale'
},
{
list: 'redirectList',
label: 'R4: Dib-u-jeedinta booska faylka oo leh magac u dhigma bogga Commons',
code: 'r4',
db: 'redircom',
tooltip: 'Dib-u-jeedintu waa inay aysan lahayn xiriiriyeyaal soo galaya (haddii xiriiriyeyaashu si cad loogu talagelin faylka ama dib-u-jeedinta Commons).',
showInNamespaces: [6]
},
{
list: 'redirectList',
label: 'G6: Dib-u-jeedin ku socota bog kala-soocid oo si xun loo dhigay',
code: 'g6',
db: 'movedab',
tooltip: 'Tani waxay khuseysaa oo keliya dib-u-jeedinta boggaga kala-soocidda ee ku dhammaanaya (disambiguation) halkaas oo mowduuc aas-aasiga ah uusan jirin.',
hideWhenMultiple: true
},
{
list: 'redirectList',
label: 'G8: Dib-u-jeedin ku socota bartilmaameedyo aan jirin',
code: 'g8',
db: 'redirnone',
tooltip: 'Tani waxay ka reebaysaa bog kasta oo u roon mashruuca, gaar ahaan: doodaha tirtiridda ee aan meel kale laga diiwaangelin, boggaga wada-hadalka isticmaalaha iyo isticmaalaha, kaydka boggaga wada-hadalka, dib-u-jeedinta macquul ah ee loo beddeli karo bartilmaameedyo ansax ah, iyo boggaga faylka ama boggaga wada-hadalka ee faylasha ka jira Wikimedia Commons.',
hideWhenMultiple: true
},
{
list: 'timedTextList',
label: 'G8: Boggaga Qoraalka Waqtigaaysan ee aan lahayn fayl u dhigma',
code: 'g8',
db: 'timedtext',
tooltip: 'Tani waxay ka reebaysaa bog kasta oo u roon mashruuca, gaar ahaan: doodaha tirtiridda ee aan meel kale laga diiwaangelin, boggaga wada-hadalka isticmaalaha iyo isticmaalaha, kaydka boggaga wada-hadalka, dib-u-jeedinta macquul ah ee loo beddeli karo bartilmaameedyo ansax ah, iyo boggaga faylka ama boggaga wada-hadalka ee faylasha ka jira Wikimedia Commons.'
}
];
Twinkle.speedy.getCsdList = (csdList) => {
const list = [];
for (const item of Twinkle.speedy.data) {
if (item.list === csdList) {
const copy = Object.assign({}, item);
delete copy.list;
delete copy.code;
copy.value = copy.db;
delete copy.db;
list.push(copy);
}
}
return list;
};
Twinkle.speedy.customRationale = Twinkle.speedy.getCsdList('customRationale');
Twinkle.speedy.talkList = Twinkle.speedy.getCsdList('talkList');
Twinkle.speedy.fileList = Twinkle.speedy.getCsdList('fileList');
Twinkle.speedy.articleList = Twinkle.speedy.getCsdList('articleList');
Twinkle.speedy.categoryList = Twinkle.speedy.getCsdList('categoryList');
Twinkle.speedy.templateList = Twinkle.speedy.getCsdList('templateList');
Twinkle.speedy.userList = Twinkle.speedy.getCsdList('userList');
Twinkle.speedy.generalList = Twinkle.speedy.getCsdList('generalList');
Twinkle.speedy.redirectList = Twinkle.speedy.getCsdList('redirectList');
Twinkle.speedy.timedTextList = Twinkle.speedy.getCsdList('timedTextList');
Twinkle.speedy.getNormalizeHash = () => {
const hash = {};
for (const item of Twinkle.speedy.data) {
if (item.code && item.db) {
hash[item.db] = item.code;
}
}
return hash;
};
Twinkle.speedy.normalizeHash = Twinkle.speedy.getNormalizeHash();
Twinkle.speedy.callback = function twinklespeedyCallback() {
Twinkle.speedy.initDialog(Morebits.userIsSysop ? Twinkle.speedy.callback.evaluateSysop : Twinkle.speedy.callback.evaluateUser, true);
};
Twinkle.speedy.dialog = null;
Twinkle.speedy.hasCSD = !!$('#delete-reason').length;
Twinkle.speedy.initDialog = function twinklespeedyInitDialog(callbackfunc) {
Twinkle.speedy.dialog = new Morebits.SimpleWindow(Twinkle.getPref('speedyWindowWidth'), Twinkle.getPref('speedyWindowHeight'));
const dialog = Twinkle.speedy.dialog;
dialog.setTitle('Dooro shuruudaha tirtiridda degdegga ah');
dialog.setScriptName('Twinkle');
dialog.addFooterLink('Siyaasadda tirtiridda degdegga ah', 'WP:CSD');
dialog.addFooterLink('Doorbidyada CSD', 'WP:TW/PREF#speedy');
dialog.addFooterLink('Caawinta Twinkle', 'WP:TW/DOC#speedy');
dialog.addFooterLink('Bixi ra’yi-celin', 'WT:TW');
const form = new Morebits.QuickForm(callbackfunc, Twinkle.getPref('speedySelectionStyle') === 'radioClick' ? 'change' : null);
if (Morebits.userIsSysop) {
form.append({
type: 'checkbox',
list: [
{
label: 'Calaamadi bogga oo keliya, ha tirtirin',
value: 'tag_only',
name: 'tag_only',
tooltip: 'Haddii aad rabto inaad calaamadiso bogga oo keliya, adigoo aan hadda tirtirin',
checked: !(Twinkle.speedy.hasCSD || (mw.config.get('wgRelevantUserName') === mw.config.get('wgUserName')) || Twinkle.getPref('deleteSysopDefaultToDelete')),
event: function(event) {
const cForm = event.target.form;
const cChecked = event.target.checked;
if (cForm.talkpage) {
cForm.talkpage.checked = !cChecked && Twinkle.getPref('deleteTalkPageOnDelete');
}
cForm.redirects.checked = !cChecked;
cForm.delmultiple.checked = false;
cForm.notify.checked = cChecked;
cForm.warnusertalk.checked = !cChecked && !Twinkle.speedy.hasCSD;
cForm.multiple.checked = false;
cForm.salting.checked = false;
Twinkle.speedy.callback.modeChanged(cForm);
event.stopPropagation();
}
}
]
});
const deleteOptions = form.append({
type: 'div',
name: 'delete_options'
});
deleteOptions.append({
type: 'header',
label: 'Ikhtiyaarrada la xiriira tirtiridda'
});
if (mw.config.get('wgNamespaceNumber') % 2 === 0 && (mw.config.get('wgNamespaceNumber') !== 2 || (/\//).test(mw.config.get('wgTitle')))) {
deleteOptions.append({
type: 'checkbox',
list: [
{
label: 'Sidoo kale tirtir bogga wada-hadalka',
value: 'talkpage',
name: 'talkpage',
tooltip: 'Ikhtiyaarkani wuxuu tirtirayaa bogga wada-hadalka ee bogga marka lagu daro. Haddii aad doorato shuruudda F8 (loo wareejiyay Commons), ikhtiyaarkan waa la indho-tiraa mana la tirtiro bogga wada-hadalka.',
checked: Twinkle.getPref('deleteTalkPageOnDelete'),
event: function(event) {
event.stopPropagation();
}
}
]
});
}
deleteOptions.append({
type: 'checkbox',
list: [
{
label: 'Sidoo kale tirtir dhammaan dib-u-jeedinta',
value: 'redirects',
name: 'redirects',
tooltip: 'Ikhtiyaarkani wuxuu tirtirayaa dhammaan dib-u-jeedinta soo gelaysa marka lagu daro. Iska ilaali ikhtiyaarkan tirtiridda habraaca (tusaale dhaqaaq/isuxulid).',
checked: Twinkle.getPref('deleteRedirectsOnDelete'),
event: function(event) {
event.stopPropagation();
}
},
{
label: 'Tirtir iyadoo la raacayo shuruudo badan',
value: 'delmultiple',
name: 'delmultiple',
tooltip: 'Marka la doorto, waxaad dooran kartaa shuruudo dhowr ah oo khuseeya bogga. Tusaale ahaan, G11 iyo A7 waa isku-dhaf caadi ah oo loogu talagalay maqaallada.',
event: function(event) {
Twinkle.speedy.callback.modeChanged(event.target.form);
event.stopPropagation();
}
},
{
label: 'Ogeysii abuuruha bogga tirtiridda bogga',
value: 'warnusertalk',
name: 'warnusertalk',
tooltip: 'Muunad ogeysiis ah ayaa la dusha saari doonaa bogga wada-hadalka ee abuuruha, HADDII aad leedahay ogeysiis la suurtogeliyay doorbidyadaada Twinkle ee shuruudda aad dooratay IYO sanduuqan la calaamadiyay. Abuuruha sidoo kale waa la soo dhoweyn karaa.',
checked: !Twinkle.speedy.hasCSD,
event: function(event) {
event.stopPropagation();
}
}
]
});
}
const tagOptions = form.append({
type: 'div',
name: 'tag_options'
});
if (Morebits.userIsSysop) {
tagOptions.append({
type: 'header',
label: 'Ikhtiyaarrada la xiriira calaamadaynta'
});
}
tagOptions.append({
type: 'checkbox',
list: [
{
label: 'Ogeysii abuuruha bogga haddii ay suurtagal tahay',
value: 'notify',
name: 'notify',
tooltip: 'Muunad ogeysiis ah ayaa la dusha saari doonaa bogga wada-hadalka ee abuuruha, HADDII aad leedahay ogeysiis la suurtogeliyay doorbidyadaada Twinkle ee shuruudda aad dooratay IYO sanduuqan la calaamadiyay. Abuuruha sidoo kale waa la soo dhoweyn karaa.',
checked: !Morebits.userIsSysop || !(Twinkle.speedy.hasCSD || Twinkle.getPref('deleteSysopDefaultToDelete')),
event: function(event) {
event.stopPropagation();
}
},
{
label: 'Calaamadi ilaalinta abuurista (salting) sidoo kale',
value: 'salting',
name: 'salting',
tooltip: 'Marka la doorto, calaamadda tirtiridda degdegga ah waxaa weheli doona muunad {{salt}} oo codsanaysa in maamulaha tirtiraya uu adeegsado ilaalinta abuurista. Dooro oo keliya haddii boggan si isdaba joog ah loo abuuray.',
event: function(event) {
event.stopPropagation();
}
},
{
label: 'Calaamadi shuruudo badan',
value: 'multiple',
name: 'multiple',
tooltip: 'Marka la doorto, waxaad dooran kartaa shuruudo dhowr ah oo khuseeya bogga. Tusaale ahaan, G11 iyo A7 waa isku-dhaf caadi ah oo loogu talagalay maqaallada.',
event: function(event) {
Twinkle.speedy.callback.modeChanged(event.target.form);
event.stopPropagation();
}
}
]
});
form.append({
type: 'div',
id: 'prior-deletion-count',
style: 'font-style: italic'
});
form.append({
type: 'div',
name: 'work_area',
label: 'Waa uu guuldarraystay in la billaabo qaybta CSD. Fadlan isku day mar kale, ama u sheeg horumariyeyaasha Twinkle arrinta.'
});
if (Twinkle.getPref('speedySelectionStyle') !== 'radioClick') {
form.append({ type: 'submit', className: 'tw-speedy-submit' });
}
const result = form.render();
dialog.setContent(result);
dialog.display();
Twinkle.speedy.callback.modeChanged(result);
Twinkle.speedy.callback.priorDeletionCount();
};
Twinkle.speedy.callback.modeChanged = function twinklespeedyCallbackModeChanged(form) {
const namespace = mw.config.get('wgNamespaceNumber');
const mode = {
isSysop: !!form.tag_only && !form.tag_only.checked,
isMultiple: form.tag_only && !form.tag_only.checked ? form.delmultiple.checked : form.multiple.checked,
isRadioClick: Twinkle.getPref('speedySelectionStyle') === 'radioClick'
};
if (mode.isSysop) {
$('[name=delete_options]').show();
$('[name=tag_options]').hide();
$('button.tw-speedy-submit').text('Tirtir bogga');
} else {
$('[name=delete_options]').hide();
$('[name=tag_options]').show();
$('button.tw-speedy-submit').text('Calaamadi bogga');
}
const work_area = new Morebits.QuickForm.Element({
type: 'div',
name: 'work_area'
});
if (mode.isMultiple && mode.isRadioClick) {
const evaluateType = mode.isSysop ? 'evaluateSysop' : 'evaluateUser';
work_area.append({
type: 'div',
label: 'Markaad dhammaysato doorashada shuruudaha, guji:'
});
work_area.append({
type: 'button',
name: 'submit-multiple',
label: mode.isSysop ? 'Tirtir bogga' : 'Calaamadi bogga',
event: function(event) {
Twinkle.speedy.callback[evaluateType](event);
event.stopPropagation();
}
});
}
const appendList = function(headerLabel, csdList) {
work_area.append({ type: 'header', label: headerLabel });
work_area.append({ type: mode.isMultiple ? 'checkbox' : 'radio', name: 'csd', list: Twinkle.speedy.generateCsdList(csdList, mode) });
};
if (mode.isSysop && !mode.isMultiple) {
appendList('Sababaysnimo gaar ah', Twinkle.speedy.customRationale);
}
if (namespace % 2 === 1 && namespace !== 3) {
appendList('Boggaga wada-hadalka', Twinkle.speedy.talkList);
}
if (!Morebits.isPageRedirect()) {
switch (namespace) {
case 0:
case 1:
appendList('Maqaallada', Twinkle.speedy.articleList);
break;
case 2:
case 3:
appendList('Boggaga isticmaalaha', Twinkle.speedy.userList);
break;
case 6:
case 7:
appendList('Faylasha', Twinkle.speedy.fileList);
if (!mode.isSysop) {
work_area.append({ type: 'div', label: 'Calaamadaynta CSD F4 (sharcidarro), F5 (isticmaalka aan xorta ahayn ee la tagay), F6 (sababaynta isticmaalka caddaaladda oo maqan), iyo F11 (oggolaansho la\'aan) waxaa lagu samayn karaa iyadoo la adeegsanayo tab-ka "DI" ee Twinkle.' });
}
break;
case 10:
case 11:
case 828:
case 829:
appendList('Muunadaha iyo qaybaha', Twinkle.speedy.templateList);
break;
case 14:
case 15:
appendList('Qaybaha', Twinkle.speedy.categoryList);
break;
case 710:
case 711:
appendList('Boggaga Qoraalka Waqtigaaysan', Twinkle.speedy.timedTextList);
break;
default:
break;
}
} else {
if (namespace === 2 || namespace === 3) {
appendList('Boggaga isticmaalaha', Twinkle.speedy.userList);
}
appendList('Dib-u-jeedinta', Twinkle.speedy.redirectList);
}
let generalCriteria = Twinkle.speedy.generalList;
if (!mode.isSysop) {
generalCriteria = Twinkle.speedy.customRationale.concat(generalCriteria);
}
appendList('Shuruudaha guud', generalCriteria);
const old_area = Morebits.QuickForm.getElements(form, 'work_area')[0];
form.replaceChild(work_area.render(), old_area);
if (mode.isSysop && Twinkle.speedy.hasCSD) {
const customOption = $('input[name=csd][value=reason]')[0];
if (customOption) {
if (Twinkle.getPref('speedySelectionStyle') !== 'radioClick') {
customOption.click();
customOption.parentNode.appendChild(customOption.subgroup);
}
customOption.subgroup.querySelector('input').value = decodeURIComponent($('#delete-reason').text()).replace(/\+/g, ' ');
}
}
};
Twinkle.speedy.callback.priorDeletionCount = function() {
const query = {
action: 'query',
format: 'json',
list: 'logevents',
letype: 'delete',
leaction: 'delete/delete',
letitle: mw.config.get('wgPageName'),
leprop: '',
lelimit: 5
};
new Morebits.wiki.Api('Hubinta tirtiridda hore', query, ((apiobj) => {
const response = apiobj.getResponse();
const delCount = response.query.logevents.length;
if (delCount) {
let message = delCount + ' tirtirid hore';
if (delCount > 1) {
message += 's';
if (response.continue) {
message = 'In ka badan ' + message;
}
if (delCount >= 3) {
$('#prior-deletion-count').css('color', 'red');
}
}
const link = Morebits.htmlNode('a', '(diiwaannada)');
link.setAttribute('href', mw.util.getUrl('Special:Log', {page: mw.config.get('wgPageName')}));
link.setAttribute('target', '_blank');
$('#prior-deletion-count').text(message + ' ');
$('#prior-deletion-count').append(link);
}
})).post();
};
Twinkle.speedy.generateCsdList = function twinklespeedyGenerateCsdList(list, mode) {
const pageNamespace = mw.config.get('wgNamespaceNumber');
const openSubgroupHandler = function(e) {
$(e.target.form).find('input').prop('disabled', true);
$(e.target.form).children().css('color', 'gray');
$(e.target).parent().css('color', 'black').find('input').prop('disabled', false);
$(e.target).parent().find('input:text')[0].focus();
e.stopPropagation();
};
const submitSubgroupHandler = function(e) {
const evaluateType = mode.isSysop ? 'evaluateSysop' : 'evaluateUser';
Twinkle.speedy.callback[evaluateType](e);
e.stopPropagation();
};
return $.map(list, (critElement) => {
const criterion = $.extend({}, critElement);
if (mode.isMultiple) {
if (criterion.hideWhenMultiple) {
return null;
}
if (criterion.hideSubgroupWhenMultiple) {
criterion.subgroup = null;
}
} else {
if (criterion.hideWhenSingle) {
return null;
}
if (criterion.hideSubgroupWhenSingle) {
criterion.subgroup = null;
}
}
if (mode.isSysop) {
if (criterion.hideWhenSysop) {
return null;
}
if (criterion.hideSubgroupWhenSysop) {
criterion.subgroup = null;
}
} else {
if (criterion.hideWhenUser) {
return null;
}
if (criterion.hideSubgroupWhenUser) {
criterion.subgroup = null;
}
}
if (Morebits.isPageRedirect() && criterion.hideWhenRedirect) {
return null;
}
if (criterion.showInNamespaces && !criterion.showInNamespaces.includes(pageNamespace)) {
return null;
}
if (criterion.hideInNamespaces && criterion.hideInNamespaces.includes(pageNamespace)) {
return null;
}
if (criterion.subgroup && !mode.isMultiple && mode.isRadioClick) {
if (Array.isArray(criterion.subgroup)) {
criterion.subgroup = criterion.subgroup.concat({
type: 'button',
name: 'submit',
label: mode.isSysop ? 'Tirtir bogga' : 'Calaamadi bogga',
event: submitSubgroupHandler
});
} else {
criterion.subgroup = [
criterion.subgroup,
{
type: 'button',
name: 'submit',
label: mode.isSysop ? 'Tirtir bogga' : 'Calaamadi bogga',
event: submitSubgroupHandler
}
];
}
criterion.event = openSubgroupHandler;
}
return criterion;
});
};
Twinkle.speedy.callbacks = {
getTemplateCodeAndParams: function(params) {
let code, parameters, i;
if (params.normalizeds.length > 1) {
code = '{{db-multiple';
params.utparams = {};
$.each(params.normalizeds, (index, norm) => {
code += '|' + norm.toUpperCase();
parameters = params.templateParams[index] || [];
for (const i in parameters) {
if (typeof parameters[i] === 'string' && !parseInt(i, 10)) {
code += '|' + i + '=' + parameters[i];
}
}
$.extend(params.utparams, Twinkle.speedy.getUserTalkParameters(norm, parameters));
});
code += '}}';
} else {
parameters = params.templateParams[0] || [];
code = '{{db-' + params.values[0];
for (i in parameters) {
if (typeof parameters[i] === 'string') {
code += '|' + i + '=' + parameters[i];
}
}
if (params.usertalk) {
code += '|help=off';
}
code += '}}';
params.utparams = Twinkle.speedy.getUserTalkParameters(params.normalizeds[0], parameters);
}
return [code, params.utparams];
},
parseWikitext: function(wikitext, callback) {
const query = {
action: 'parse',
prop: 'text',
pst: 'true',
text: wikitext,
contentmodel: 'wikitext',
title: mw.config.get('wgPageName'),
disablelimitreport: true,
format: 'json'
};
const statusIndicator = new Morebits.Status('Dhisidda soo koobidda tirtiridda');
const api = new Morebits.wiki.Api('Falanqaynta muunadda tirtiridda', query, ((apiobj) => {
const reason = decodeURIComponent($(apiobj.getResponse().parse.text).find('#delete-reason').text()).replace(/\+/g, ' ');
if (!reason) {
statusIndicator.warn('Lama abuuri karo soo koobid muunadda tirtiridda');
} else {
statusIndicator.info('la dhammeeyay');
}
callback(reason);
}), statusIndicator);
api.post();
},
noteToCreator: function(pageobj) {
const params = pageobj.getCallbackParameters();
let initialContrib = pageobj.getCreator();
if (initialContrib === mw.config.get('wgUserName')) {
Morebits.Status.warn('Adiga (' + initialContrib + ') ayaa abuuray boggan; ka boodaya ogeysiiska isticmaalaha');
initialContrib = null;
} else if (initialContrib === mw.config.get('wgTitle') && mw.config.get('wgNamespaceNumber') === 3) {
Morebits.Status.warn('Ogeysiinta tabaruca asaasiga ah: isticmaalahan wuxuu abuuray boggiisa wada-hadalka; ka boodaya ogeysiiska');
initialContrib = null;
} else if ((initialContrib === 'Cyberbot I' || initialContrib === 'SoxBot') && params.normalizeds[0] === 'f2') {
Morebits.Status.warn('Ogeysiiska tabaruca asaasiga ah: bog waxaa abuuray bot; ka boodaya ogeysiiska');
initialContrib = null;
} else if (Twinkle.speedy.hasCSD && params.warnUser && !confirm('Boggu wuxuu leeyahay calaamad la xiriirta tirtiridda, sidaas darteed abuuruha waxaa laga yaabaa in la ogeysiiyay. Ma rabtaa inaad u ogeysiiso tirtiriddaan sidoo kale?')) {
Morebits.Status.info('Ogeysiiska tabaruca asaasiga ah', 'isticmaalaha ayaa joojiyay; ka boodaya ogeysiiska.');
initialContrib = null;
}
if (initialContrib) {
const usertalkpage = new Morebits.wiki.Page('User talk:' + initialContrib, 'Ogeysiiska tabaruca asaasiga ah (' + initialContrib + ')');
let notifytext, i, editsummary;
if (params.normalizeds.length > 1) {
notifytext = '\n{{subst:db-' + (params.warnUser ? 'deleted' : 'notice') + '-multiple|1=' + Morebits.pageNameNorm;
let count = 2;
$.each(params.normalizeds, (index, norm) => {
notifytext += '|' + count++ + '=' + norm.toUpperCase();
});
} else if (params.normalizeds[0] === 'db') {
notifytext = '\n{{subst:db-reason-' + (params.warnUser ? 'deleted' : 'notice') + '|1=' + Morebits.pageNameNorm;
} else {
notifytext = '\n{{subst:db-csd-' + (params.warnUser ? 'deleted' : 'notice') + '-custom|1=';
if (params.values[0] === 'copypaste') {
notifytext += params.templateParams[0].sourcepage;
} else {
notifytext += Morebits.pageNameNorm;
}
notifytext += '|2=' + params.values[0];
}
for (i in params.utparams) {
if (typeof params.utparams[i] === 'string') {
notifytext += '|' + i + '=' + params.utparams[i];
}
}
notifytext += (params.welcomeuser ? '' : '|nowelcome=yes') + '}} ~~~~';
editsummary = 'Ogeysiis: tirtirid degdeg ah' + (params.warnUser ? '' : ' sharraxaad');
if (!params.normalizeds.includes('g10')) {
editsummary += ' ee [[:' + Morebits.pageNameNorm + ']].';
} else {
editsummary += ' ee bog weerar ah.';
}
usertalkpage.setAppendText(notifytext);
usertalkpage.setEditSummary(editsummary);
usertalkpage.setChangeTags(Twinkle.changeTags);
usertalkpage.setCreateOption('recreate');
usertalkpage.setWatchlist(Twinkle.getPref('watchSpeedyUser'));
usertalkpage.setFollowRedirect(true, false);
usertalkpage.append(() => {
if (params.lognomination) {
Twinkle.speedy.callbacks.user.addToLog(params, initialContrib);
}
}, () => {
if (params.lognomination) {
Twinkle.speedy.callbacks.user.addToLog(params, null);
}
});
} else if (params.lognomination) {
Twinkle.speedy.callbacks.user.addToLog(params, null);
}
},
sysop: {
main: function(params) {
let reason;
if (!params.normalizeds.length && params.normalizeds[0] === 'db') {
reason = prompt('Geli soo koobidda tirtiridda la adeegsanayo, oo la gelin doona diiwaanka tirtiridda:', '');
Twinkle.speedy.callbacks.sysop.deletePage(reason, params);
} else {
const code = Twinkle.speedy.callbacks.getTemplateCodeAndParams(params)[0];
Twinkle.speedy.callbacks.parseWikitext(code, (reason) => {
if (params.promptForSummary) {
reason = prompt('Geli soo koobidda tirtiridda la adeegsanayo, ama riix OK si aad u aqbasho midda si otomaatig ah loo abuuray.', reason);
}
Twinkle.speedy.callbacks.sysop.deletePage(reason, params);
});
}
},
deletePage: function(reason, params) {
const thispage = new Morebits.wiki.Page(mw.config.get('wgPageName'), 'Tirtiridda bogga');
if (reason === null) {
return Morebits.Status.error('Weydiinta sababta', 'Isticmaalahu wuu joojiyay');
} else if (!reason || !reason.replace(/^\s*/, '').replace(/\s*$/, '')) {
return Morebits.Status.error('Weydiinta sababta', '"Sababta" tirtiridda lama bixin, ama Twinkle ma awoodin inay xisaabiso. Waa la joojinayaa.');
}
const deleteMain = function(callback) {
thispage.setEditSummary(reason);
thispage.setChangeTags(Twinkle.changeTags);
thispage.setWatchlist(params.watch);
thispage.deletePage(() => {
thispage.getStatusElement().info('la dhammeeyay');
typeof callback === 'function' && callback();
Twinkle.speedy.callbacks.sysop.deleteTalk(params);
});
};
if (params.warnUser) {
thispage.setCallbackParameters(params);
thispage.lookupCreation((pageobj) => {
deleteMain(() => {
Twinkle.speedy.callbacks.noteToCreator(pageobj);
});
});
} else {
deleteMain();
}
},
deleteTalk: function(params) {
if (params.deleteTalkPage &&
params.normalized !== 'f8' &&
!document.getElementById('ca-talk').classList.contains('new')) {
const talkpage = new Morebits.wiki.Page(mw.config.get('wgFormattedNamespaces')[mw.config.get('wgNamespaceNumber') + 1] + ':' + mw.config.get('wgTitle'), 'Tirtiridda bogga wada-hadalka');
talkpage.setEditSummary('[[WP:CSD#G8|G8]]: Bogga wada-hadalka ee bogga la tirtiray [[' + Morebits.pageNameNorm + ']]');
talkpage.setChangeTags(Twinkle.changeTags);
talkpage.deletePage();
window.setTimeout(() => {
Twinkle.speedy.callbacks.sysop.deleteRedirects(params);
}, 1800);
} else {
Twinkle.speedy.callbacks.sysop.deleteRedirects(params);
}
},
deleteRedirects: function(params) {
if (params.deleteRedirects) {
const query = {
action: 'query',
titles: mw.config.get('wgPageName'),
prop: 'redirects',
rdlimit: 'max',
format: 'json'
};
const wikipedia_api = new Morebits.wiki.Api('soo qaadista liiska dib-u-jeedinta...', query, Twinkle.speedy.callbacks.sysop.deleteRedirectsMain,
new Morebits.Status('Tirtiridda dib-u-jeedinta'));
wikipedia_api.params = params;
wikipedia_api.post();
}
let $link, $bigtext;
if (mw.config.get('wgNamespaceNumber') === 6 && params.normalized !== 'f8') {
$link = $('<a>')
.attr('href', '#')
.text('guji halkaan si aad u aado qalabka ka-gooynta xiriiriyaha')
.css({
fontSize: '130%',
fontWeight: 'bold'
})
.on('click', () => {
Morebits.wiki.actionCompleted.redirect = null;
Twinkle.speedy.dialog.close();
Twinkle.unlink.callback('Ka saarista isticmaalka iyo/ama xiriiriyeyaasha faylka la tirtiray ' + Morebits.pageNameNorm);
});
$bigtext = $('<span>')
.text('Si loo gooyo xiriiriyeyaasha gadaal loona saaro tusaalooyinka isticmaalka faylka')
.css({
fontSize: '130%',
fontWeight: 'bold'
});
Morebits.Status.info($bigtext[0], $link[0]);
} else if (params.normalized !== 'f8') {
$link = $('<a>')
.attr('href', '#')
.text('guji halkaan si aad u aado qalabka ka-gooynta xiriiriyaha')
.css({
fontSize: '130%',
fontWeight: 'bold'
})
.on('click', () => {
Morebits.wiki.actionCompleted.redirect = null;
Twinkle.speedy.dialog.close();
Twinkle.unlink.callback('Ka saarista xiriiriyeyaasha bogga la tirtiray ' + Morebits.pageNameNorm);
});
$bigtext = $('<span>')
.text('Si loo gooyo xiriiriyeyaasha gadaal')
.css({
fontSize: '130%',
fontWeight: 'bold'
});
Morebits.Status.info($bigtext[0], $link[0]);
}
},
deleteRedirectsMain: function(apiobj) {
const response = apiobj.getResponse();
const snapshot = response.query.pages[0].redirects || [];
const total = snapshot.length;
const statusIndicator = apiobj.statelem;
if (!total) {
statusIndicator.status('lama helin wax dib-u-jeedin ah');
return;
}
statusIndicator.status('0%');
let current = 0;
const onsuccess = function(apiobjInner) {
const now = parseInt(100 * ++current / total, 10) + '%';
statusIndicator.update(now);
apiobjInner.statelem.unlink();
if (current >= total) {
statusIndicator.info(now + ' (la dhammeeyay)');
Morebits.wiki.removeCheckpoint();
}
};
Morebits.wiki.addCheckpoint();
snapshot.forEach((value) => {
const title = value.title;
const page = new Morebits.wiki.Page(title, 'Tirtiridda dib-u-jeedinta "' + title + '"');
page.setEditSummary('[[WP:CSD#G8|G8]]: Dib-u-jeedin ku socota bogga la tirtiray [[' + Morebits.pageNameNorm + ']]');
page.setChangeTags(Twinkle.changeTags);
page.deletePage(onsuccess);
});
}
},
user: {
main: function(pageobj) {
const statelem = pageobj.getStatusElement();
if (!pageobj.exists()) {
statelem.error("Waxaa u muuqata in boggu uusan jirin; waxaa laga yaabaa in hore loo tirtiray");
return;
}
const params = pageobj.getCallbackParameters();
const buildData = Twinkle.speedy.callbacks.getTemplateCodeAndParams(params);
let code = buildData[0];
params.utparams = buildData[1];
if (params.normalizeds.includes('g13')) {
code = code.replace('$TIMESTAMP', pageobj.getLastEditTime());
}
if (pageobj.canEdit() && ['wikitext', 'Scribunto', 'javascript', 'css', 'sanitized-css'].includes(pageobj.getContentModel()) && mw.config.get('wgNamespaceNumber') !== 710) {
let text = pageobj.getPageText();
statelem.status('Hubinta calaamadaha bogga...');
const tag = /(?:\{\{\s*(db|delete|db-.*?|speedy deletion-.*?)(?:\s*\||\s*\}\}))/.exec(text);
if (tag && !confirm('Boggu wuxuu horay u lahaa muunad la xiriirta CSD {{' + tag[1] + '}} dushiisa. Ma rabtaa inaad ku darto muunad kale oo CSD ah?')) {
return;
}
const 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('Muunadda la xiriirta tirtiridda {{' + xfd[1] + '}} ayaa laga helay bogga. Weligeed ma rabtaa inaad ku darto muunad CSD ah?')) {
return;
}
if (Twinkle.getPref('markSpeedyPagesAsPatrolled')) {
pageobj.triage();
}
if (mw.config.get('wgNamespaceNumber') === 10) {
code = '<noinclude>' + code + '</noinclude>';
}
text = text.replace(/\{\{\s*([Uu]serspace draft)\s*(\|(?:\{\{[^{}]*\}\}|[^{}])*)?\}\}\s*/g, '');
if (mw.config.get('wgNamespaceNumber') === 6) {
text = Twinkle.removeMoveToCommonsTagsFromWikicode(text);
}
if (params.requestsalt) {
if (!params.normalizeds.includes('g10')) {
code += '\n{{salt}}';
} else {
code = '{{salt}}\n' + code;
}
}
if (mw.config.get('wgPageContentModel') === 'Scribunto') {
let equals = '';
while (code.includes(']' + equals + ']')) {
equals += '=';
}
code = "require('Module:Module wikitext')._addText([" + equals + '[' + code + ']' + equals + ']);';
} else if (['javascript', 'css', 'sanitized-css'].includes(mw.config.get('wgPageContentModel'))) {
code = '/* ' + code + ' */';
}
let editsummary;
if (params.normalizeds.length > 1) {
editsummary = 'Codsashada tirtirid degdeg ah (';
$.each(params.normalizeds, (index, norm) => {
editsummary += '[[WP:CSD#' + norm.toUpperCase() + '|CSD ' + norm.toUpperCase() + ']], ';
});
editsummary = editsummary.substr(0, editsummary.length - 2);
editsummary += ').';
} else if (params.normalizeds[0] === 'db') {
editsummary = 'Codsashada [[WP:CSD|tirtirid degdeg ah]] oo wadata sababaynta "' + params.templateParams[0]['1'] + '".';
} else {
editsummary = 'Codsashada tirtirid degdeg ah ([[WP:CSD#' + params.normalizeds[0].toUpperCase() + '|CSD ' + params.normalizeds[0].toUpperCase() + ']]).';
}
if (params.normalizeds.includes('g10')) {
text = code;
} else {
const wikipage = new Morebits.wikitext.Page(text);
text = wikipage.insertAfterTemplates(code + '\n', Twinkle.hatnoteRegex).getText();
}
pageobj.setPageText(text);
pageobj.setEditSummary(editsummary);
pageobj.setWatchlist(params.watch);
pageobj.save(Twinkle.speedy.callbacks.user.tagComplete);
} else {
const talkName = new mw.Title(pageobj.getPageName()).getTalkPage().toText();
if (talkName !== pageobj.getPageName()) {
if (params.requestsalt) {
code += '\n{{salt}}';
}
pageobj.getStatusElement().warn('Lama tirtiri karo bogga, waxaa la dusha saarayaa muunadda bogga wada-hadalka');
const talkPage = new Morebits.wiki.Page(talkName, 'Si otomaatig ah ayay muunadda u saaraysaa bogga wada-hadalka');
talkPage.setNewSectionTitle(pageobj.getPageName() + ' waxaa loo sharraxay CSD, codso tirtirid');
talkPage.setNewSectionText(code + '\n\nMa awoodin inaan toos u calaamadiyo ' + pageobj.getPageName() + ', sidaas darteed waxaan dusha saaray muunadda tirtiridda degdegga ah boggan. Waxaan codsanayaa tirtiridda bogga kale. ~~~~');
talkPage.setCreateOption('recreate');
talkPage.setFollowRedirect(true);
talkPage.setWatchlist(params.watch);
talkPage.setChangeTags(Twinkle.changeTags);
talkPage.setCallbackParameters(params);
talkPage.newSection(Twinkle.speedy.callbacks.user.tagComplete);
} else {
pageobj.getStatusElement().error('Bogga lama tafatiri karo mana jiro goob kale oo lagu dhejiyo codsiga tirtiridda degdegga ah, waa la joojinayaa');
}
}
},
tagComplete: function(pageobj) {
const params = pageobj.getCallbackParameters();
if (params.usertalk) {
const thispage = new Morebits.wiki.Page(Morebits.pageNameNorm);
thispage.setCallbackParameters(params);
thispage.lookupCreation(Twinkle.speedy.callbacks.noteToCreator);
} else if (params.lognomination) {
Twinkle.speedy.callbacks.user.addToLog(params, null);
}
},
addToLog: function(params, initialContrib) {
const usl = new Morebits.UserspaceLogger(Twinkle.getPref('speedyLogPageName'));
usl.initialText =
"Kani waa diiwaanka dhammaan [[WP:CSD|tirtiridda degdegga ah]] ee uu sameeyay isticmaalahan isagoo adeegsanaya qaybta CSD ee [[WP:TW|Twinkle]].\n\n" +
'Haddii aadan dambe rabin inaad hayso diiwaankan, waad damin kartaa adigoo adeegsanaya [[Wikipedia:Twinkle/Preferences|guddiga doorbidyada]], oo ' +
'u sharraxa boggan tirtirid degdeg ah hoos yimaada [[WP:CSD#U1|CSD U1]].' +
(Morebits.userIsSysop ? '\n\nDiiwaankani ma la socdo tirtiridda degdegga ah ee tooska ah ee la adeegsaday Twinkle.' : '');
const formatParamLog = function(normalize, csdparam, input) {
if ((normalize === 'G4' && csdparam === 'xfd') ||
(normalize === 'G6' && csdparam === 'page') ||
(normalize === 'G6' && csdparam === 'fullvotepage') ||
(normalize === 'G6' && csdparam === 'sourcepage') ||
(normalize === 'A2' && csdparam === 'source') ||
(normalize === 'A10' && csdparam === 'article') ||
(normalize === 'F1' && csdparam === 'filename')) {
input = '[[:' + input + ']]';
} else if (normalize === 'G5' && csdparam === 'user') {
input = '[[:User:' + input + ']]';
} else if (normalize === 'G12' && csdparam.lastIndexOf('url', 0) === 0 && input.lastIndexOf('http', 0) === 0) {
input = '[' + input + ' ' + input + ']';
} else if (normalize === 'F8' && csdparam === 'filename') {
input = '[[commons:' + input + ']]';
}
return ' {' + normalize + ' ' + csdparam + ': ' + input + '}';
};
let extraInfo = '';
const fileLogLink = mw.config.get('wgNamespaceNumber') === 6 ? ' ([{{fullurl:Special:Log|page=' + mw.util.wikiUrlencode(mw.config.get('wgPageName')) + '}} diiwaan])' : '';
let editsummary = 'Diiwaangelinta sharraxaadda tirtiridda degdegga ah';
let appendText = '# [[:' + Morebits.pageNameNorm;
if (!params.normalizeds.includes('g10')) {
appendText += ']]' + fileLogLink + ': ';
editsummary += ' ee [[:' + Morebits.pageNameNorm + ']].';
} else {
appendText += '|Boggan]] weerarka ah' + fileLogLink + ': ';
editsummary += ' ee bog weerar ah.';
}
if (params.normalizeds.length > 1) {
appendText += 'shuruudo badan (';
$.each(params.normalizeds, (index, norm) => {
appendText += '[[WP:CSD#' + norm.toUpperCase() + '|' + norm.toUpperCase() + ']], ';
});
appendText = appendText.substr(0, appendText.length - 2);
appendText += ')';
} else if (params.normalizeds[0] === 'db') {
appendText += '{{tl|db-reason}}';
} else {
appendText += '[[WP:CSD#' + params.normalizeds[0].toUpperCase() + '|CSD ' + params.normalizeds[0].toUpperCase() + ']] ({{tl|db-' + params.values[0] + '}})';
}
if (params.templateParams) {
if (params.normalizeds[0] && params.normalizeds[0] === 'db') {
extraInfo += formatParamLog('Custom', 'rationale', params.templateParams[0]['1']);
} else {
params.templateParams.forEach((item, index) => {
const keys = Object.keys(item);
if (keys[0] !== undefined && keys[0].length > 0) {
keys.forEach((key, keyIndex) => {
if (keys[keyIndex] === 'blanked' || keys[keyIndex] === 'ts') {
return true;
}
extraInfo += formatParamLog(params.normalizeds[index].toUpperCase(), keys[keyIndex], item[key]);
});
}
});
}
}
if (params.requestsalt) {
appendText += '; codsaday ilaalinta abuurista ([[WP:SALT|salting]])';
}
if (extraInfo) {
appendText += '; macluumaad dheeraad ah:' + extraInfo;
}
if (initialContrib) {
appendText += '; ogeysiiyay {{user|1=' + initialContrib + '}}';
}
appendText += ' ~~~~~\n';
usl.changeTags = Twinkle.changeTags;
usl.log(appendText, editsummary);
}
}
};
Twinkle.speedy.getParameters = function twinklespeedyGetParameters(form, values) {
let parameters = [];
$.each(values, (index, value) => {
const currentParams = [];
switch (value) {
case 'reason':
if (form['csd.reason_1']) {
const dbrationale = form['csd.reason_1'].value;
if (!dbrationale || !dbrationale.trim()) {
alert('Sababayn gaar ah: Fadlan cayim sababayn.');
parameters = null;
return false;
}
currentParams['1'] = dbrationale;
}
break;
case 'userreq':
if (form['csd.userreq_rationale']) {
const u1rationale = form['csd.userreq_rationale'].value;
if (mw.config.get('wgNamespaceNumber') === 3 && !(/\//).test(mw.config.get('wgTitle')) &&
(!u1rationale || !u1rationale.trim())) {
alert('CSD U1: Fadlan cayim sababayn marka aad u sharraxayso boggaga wada-hadalka isticmaalaha.');
parameters = null;
return false;
}
currentParams.rationale = u1rationale;
}
break;
case 'u6':
if (mw.config.get('wgNamespaceNumber') !== 2 || !(/\//).test(mw.config.get('wgTitle'))) {
alert('CSD U6: Fadlan u sharraax oo keliya bog-hoosaadyada isticmaalaha.');
parameters = null;
return false;
}
break;
case 'u7':
if (mw.config.get('wgNamespaceNumber') !== 2) {
alert('CSD U7: Fadlan u sharraax oo keliya bog-hoosaadyada isticmaalaha.');
parameters = null;
return false;
}
if (!(/\//).test(mw.config.get('wgTitle'))) {
alert('CSD U7: Fadlan u sharraax oo keliya bog-hoosaadyada isticmaalaha. Boggaga isticmaalaha ee heerka sare ah ee buuxiya shuruudaha U7 waxaa la madhneyn karaa halkii la tirtiri lahaa.');
parameters = null;
return false;
}
if (form.creative.checked) {
currentParams.creative = 'yes';
}
if (form.professional.checked) {
currentParams.professional = 'yes';
}
if (form.personal.checked) {
currentParams.personal = 'yes';
}
if (form.links.checked) {
currentParams.links = 'yes';
}
break;
case 'repost':
if (form['csd.repost_xfd']) {
const deldisc = form['csd.repost_xfd'].value;
if (deldisc) {
currentParams.xfd = deldisc;
}
}
break;
case 'banned':
if (form['csd.banned_user'] && form['csd.banned_user'].value) {
currentParams.user = form['csd.banned_user'].value.replace(/^\s*User:/i, '');
}
break;
case 'gs':
if (form['csd.code']) {
currentParams.code = form['csd.code'].value;
}
break;
case 'move':
if (form['csd.move_page'] && form['csd.move_reason']) {
const movepage = form['csd.move_page'].value,
movereason = form['csd.move_reason'].value;
if (!movepage || !movepage.trim()) {
alert('CSD G6 (move): Fadlan cayim bogga la rabo in halkan loo rarto.');
parameters = null;
return false;
}
if (!movereason || !movereason.trim()) {
alert('CSD G6 (move): Fadlan cayim sababta dhaqaaqitaanka.');
parameters = null;
return false;
}
currentParams.page = movepage;
currentParams.reason = movereason;
}
break;
case 'xfd':
if (form['csd.xfd_fullvotepage']) {
const xfd = form['csd.xfd_fullvotepage'].value;
if (xfd) {
currentParams.fullvotepage = xfd;
}
}
break;
case 'afc-move':
if (form['csd.draft_page']) {
const draftpage = form['csd.draft_page'].value;
if (!draftpage || !draftpage.trim()) {
alert('CSD G6 (AfC move): Fadlan cayim qabyada la rabo in halkan loo rarto.');
parameters = null;
return false;
}
currentParams.page = draftpage;
}
break;
case 'copypaste':
if (form['csd.copypaste_sourcepage']) {
const copypaste = form['csd.copypaste_sourcepage'].value;
if (!copypaste || !copypaste.trim()) {
alert('CSD G6 (copypaste): Fadlan cayim magaca bogga asalka ah.');
parameters = null;
return false;
}
currentParams.sourcepage = copypaste;
}
break;
case 'g6':
if (form['csd.g6_rationale'] && form['csd.g6_rationale'].value) {
currentParams.rationale = form['csd.g6_rationale'].value;
}
break;
case 'author':
if (form['csd.author_rationale'] && form['csd.author_rationale'].value) {
currentParams.rationale = form['csd.author_rationale'].value;
}
break;
case 'g8':
if (form['csd.g8_rationale'] && form['csd.g8_rationale'].value) {
currentParams.rationale = form['csd.g8_rationale'].value;
}
break;
case 'attack':
currentParams.blanked = 'yes';
break;
case 'copyvio':
if (form['csd.copyvio_url'] && form['csd.copyvio_url'].value) {
currentParams.url = form['csd.copyvio_url'].value;
}
if (form['csd.copyvio_url2'] && form['csd.copyvio_url2'].value) {
currentParams.url2 = form['csd.copyvio_url2'].value;
}
if (form['csd.copyvio_url3'] && form['csd.copyvio_url3'].value) {
currentParams.url3 = form['csd.copyvio_url3'].value;
}
break;
case 'afc':
currentParams.ts = '$TIMESTAMP';
break;
case 'llm':
if (form['csd.subcriteria']) {
if (form['csd.subcriteria'][0].checked) {
currentParams.communication = 'yes';
}
if (form['csd.subcriteria'][1].checked) {
currentParams.references = 'yes';
}
if (!form['csd.subcriteria'][0].checked && !form['csd.subcriteria'][1].checked) {
alert('CSD G15: Fadlan dooro ugu yaraan hal shuruud hoosaad.');
parameters = null;
return false;
}
}
if (form['csd.reason'] && form['csd.reason'].value) {
currentParams.reason = form['csd.reason'].value;
}
break;
case 'redundantimage':
if (form['csd.redundantimage_filename']) {
const redimage = form['csd.redundantimage_filename'].value;
if (!redimage || !redimage.trim()) {
alert('CSD F1: Fadlan cayim magaca faylka ee faylka kale.');
parameters = null;
return false;
}
currentParams.filename = new RegExp('^\\s*' + Morebits.namespaceRegex(6) + ':', 'i').test(redimage) ? redimage : 'File:' + redimage;
}
break;
case 'badfairuse':
if (form['csd.badfairuse_rationale'] && form['csd.badfairuse_rationale'].value) {
currentParams.rationale = form['csd.badfairuse_rationale'].value;
}
break;
case 'commons':
if (form['csd.commons_filename']) {
const filename = form['csd.commons_filename'].value;
if (filename && filename.trim() && filename !== Morebits.pageNameNorm) {
currentParams.filename = new RegExp('^\\s*' + Morebits.namespaceRegex(6) + ':', 'i').test(filename) ? filename : 'File:' + filename;
}
}
break;
case 'imgcopyvio':
if (form['csd.imgcopyvio_url'] && form['csd.imgcopyvio_rationale']) {
const f9url = form['csd.imgcopyvio_url'].value;
const f9rationale = form['csd.imgcopyvio_rationale'].value;
if ((!f9url || !f9url.trim()) && (!f9rationale || !f9rationale.trim())) {
alert('CSD F9: Waa inaad gelisaa url ama sabab (ama labadaba) marka aad u sharraxayso fayl F9 hoostiisa.');
parameters = null;
return false;
}
if (form['csd.imgcopyvio_url'].value) {
currentParams.url = f9url;
}
if (form['csd.imgcopyvio_rationale'].value) {
currentParams.rationale = f9rationale;
}
}
break;
case 'foreign':
if (form['csd.foreign_source']) {
const foreignlink = form['csd.foreign_source'].value;
if (!foreignlink || !foreignlink.trim()) {
alert('CSD A2: Fadlan cayim xiriiriyaha interwiki ee maqaalka uu kan nuqul ka yahay.');
parameters = null;
return false;
}
currentParams.source = foreignlink;
}
break;
case 'a10':
if (form['csd.a10_article']) {
const duptitle = form['csd.a10_article'].value;
if (!duptitle || !duptitle.trim()) {
alert('CSD A10: Fadlan cayim magaca maqaalka la celceliyay.');
parameters = null;
return false;
}
currentParams.article = duptitle;
}
break;
case 'c4':
if (form['csd.c4_rationale'] && form['csd.c4_rationale'].value) {
currentParams.rationale = form['csd.c4_rationale'].value;
}
break;
default:
break;
}
parameters.push(currentParams);
});
return parameters;
};
Twinkle.speedy.getUserTalkParameters = function twinklespeedyGetUserTalkParameters(normalized, parameters) {
const utparams = [];
if (normalized === 'db') {
utparams['2'] = parameters['1'];
} else if (normalized === 'g6') {
utparams.key1 = 'to';
utparams.value1 = Morebits.pageNameNorm;
} else if (normalized === 'g12') {
['url', 'url2', 'url3'].forEach((item, idx) => {
if (parameters[item]) {
idx++;
utparams['key' + idx] = item;
utparams['value' + idx] = utparams[item] = parameters[item];
}
});
} else {
let param;
switch (normalized) {
case 'g4':
param = 'xfd';
break;
case 'g5':
param = 'code';
break;
case 'a2':
param = 'source';
break;
case 'a10':
param = 'article';
break;
case 'f9':
param = 'url';
break;
default:
break;
}
if (param && parameters[param]) {
utparams.key1 = param;
utparams.value1 = utparams[param] = parameters[param];
}
}
return utparams;
};
Twinkle.speedy.resolveCsdValues = function twinklespeedyResolveCsdValues(e) {
const values = (e.target.form ? e.target.form : e.target).getChecked('csd');
if (values.length === 0) {
alert('Fadlan dooro shuruud!');
return null;
}
return values;
};
Twinkle.speedy.callback.evaluateSysop = function twinklespeedyCallbackEvaluateSysop(e) {
const form = e.target.form ? e.target.form : e.target;
if (e.target.type === 'checkbox' || e.target.type === 'text' ||
e.target.type === 'select') {
return;
}
const tag_only = form.tag_only;
if (tag_only && tag_only.checked) {
Twinkle.speedy.callback.evaluateUser(e);
return;
}
const values = Twinkle.speedy.resolveCsdValues(e);
if (!values) {
return;
}
const templateParams = Twinkle.speedy.getParameters(form, values);
if (!templateParams) {
return;
}
const normalizeds = values.map((value) => Twinkle.speedy.normalizeHash[value]);
let watchPage, promptForSummary;
normalizeds.forEach((norm) => {
if (Twinkle.getPref('watchSpeedyPages').includes(norm)) {
watchPage = Twinkle.getPref('watchSpeedyExpiry');
}
if (Twinkle.getPref('promptForSpeedyDeletionSummary').includes(norm)) {
promptForSummary = true;
}
});
const warnusertalk = form.warnusertalk.checked && normalizeds.some((norm, index) => Twinkle.getPref('warnUserOnSpeedyDelete').includes(norm) &&
!(norm === 'g6' && values[index] !== 'copypaste') && !(norm === 'g5' && values[index] !== 'gs'));
const welcomeuser = warnusertalk && normalizeds.some((norm) => Twinkle.getPref('welcomeUserOnSpeedyDeletionNotification').includes(norm));
const params = {
values: values,
normalizeds: normalizeds,
watch: watchPage,
deleteTalkPage: form.talkpage && form.talkpage.checked,
deleteRedirects: form.redirects.checked,
warnUser: warnusertalk,
welcomeuser: welcomeuser,
promptForSummary: promptForSummary,
templateParams: templateParams
};
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
Twinkle.speedy.callbacks.sysop.main(params);
};
Twinkle.speedy.callback.evaluateUser = function twinklespeedyCallbackEvaluateUser(e) {
const form = e.target.form ? e.target.form : e.target;
if (e.target.type === 'checkbox' || e.target.type === 'text' ||
e.target.type === 'select') {
return;
}
const values = Twinkle.speedy.resolveCsdValues(e);
if (!values) {
return;
}
const templateParams = Twinkle.speedy.getParameters(form, values);
if (!templateParams) {
return;
}
const normalizeds = values.map((value) => Twinkle.speedy.normalizeHash[value]);
const watchPage = normalizeds.some((csdCriteria) => Twinkle.getPref('watchSpeedyPages').includes(csdCriteria)) && Twinkle.getPref('watchSpeedyExpiry');
const notifyuser = form.notify.checked && normalizeds.some((norm, index) => Twinkle.getPref('notifyUserOnSpeedyDeletionNomination').includes(norm) &&
!(norm === 'g6' && values[index] !== 'copypaste') && !(norm === 'g5' && values[index] !== 'gs'));
const welcomeuser = notifyuser && normalizeds.some((norm) => Twinkle.getPref('welcomeUserOnSpeedyDeletionNotification').includes(norm));
const csdlog = Twinkle.getPref('logSpeedyNominations') && normalizeds.some((norm) => !Twinkle.getPref('noLogOnSpeedyNomination').includes(norm));
const params = {
values: values,
normalizeds: normalizeds,
watch: watchPage,
usertalk: notifyuser,
welcomeuser: welcomeuser,
lognomination: csdlog,
requestsalt: form.salting.checked,
templateParams: templateParams
};
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
Morebits.wiki.actionCompleted.redirect = mw.config.get('wgPageName');
Morebits.wiki.actionCompleted.notice = 'Calaamadaynta waa la dhammeeyay';
const wikipedia_page = new Morebits.wiki.Page(mw.config.get('wgPageName'), 'Calaamadaynta bogga');
wikipedia_page.setChangeTags(Twinkle.changeTags);
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.speedy.callbacks.user.main);
};
Twinkle.addInitCallback(Twinkle.speedy, 'speedy');
}());
// </nowiki>
agtxmyn3p7ecenyeq4w8mqqi0ersdja
MediaWiki:Gadget-twinkleprod.js
8
53678
310866
2026-10-25T11:20:11Z
Isma4l
41797
Abuuray
310866
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinkleprod.js: Qaybta PROD (Tirtiridda la soo jeediyay)
****************************************
* Qaabka loo yeero: Tab ("PROD")
* Ka shaqeeya: Maqaallada jira, faylasha aan ahayn dib-u-jeedin
*/
Twinkle.prod = function twinkleprod() {
if ((![0, 6].includes(mw.config.get('wgNamespaceNumber'))) ||
!mw.config.get('wgCurRevisionId') ||
Morebits.isPageRedirect()) {
return;
}
Twinkle.addPortletLink(Twinkle.prod.callback, 'PROD', 'tw-prod', 'Soo jeedi tirtirid iyadoo la marayo WP:PROD');
};
let namespace;
Twinkle.prod.callback = function twinkleprodCallback() {
Twinkle.prod.defaultReason = Twinkle.getPref('prodReasonDefault');
switch (mw.config.get('wgNamespaceNumber')) {
case 0:
namespace = 'maqaalka';
break;
case 6:
namespace = 'faylka';
break;
}
const Window = new Morebits.SimpleWindow(800, 410);
Window.setTitle('Tirtiridda la soo jeediyay (PROD)');
Window.setScriptName('Twinkle');
const form = new Morebits.QuickForm(Twinkle.prod.callback.evaluate);
if (namespace === 'maqaalka') {
Window.addFooterLink('Siyaasadda tirtiridda la soo jeediyay', 'WP:PROD');
Window.addFooterLink('Siyaasadda BLP PROD', 'WP:BLPPROD');
} else {
Window.addFooterLink('Siyaasadda tirtiridda la soo jeediyay', 'WP:PROD');
}
const field = form.append({
type: 'field',
label: 'Nooca PROD',
id: 'prodtype_fieldset'
});
field.append({
type: 'div',
label: '',
id: 'twinkle-prod-findsources',
style: 'margin-bottom: 5px; margin-top: -5px;'
});
field.append({
type: 'radio',
name: 'prodtype',
event: Twinkle.prod.callback.prodtypechanged,
list: [
{
label: 'PROD (tirtirid la soo jeediyay)',
value: 'prod',
checked: true,
tooltip: 'Tirtirid caadi ah oo la soo jeediyay, iyadoo la raacayo [[WP:PROD]]'
},
{
label: 'BLP PROD (tirtiridda la soo jeediyay ee BLP-yada aan lahayn ilo)',
value: 'prodblp',
tooltip: 'Tirtiridda la soo jeediyay ee taariikh-nololeedyada cusub ee dadka nool ee gebi ahaanba aan lahayn ilo, iyadoo la raacayo [[WP:BLPPROD]]'
}
]
});
form.append({
type: 'field',
name: 'parameters'
});
Window.addFooterLink('Doorbidyada PROD', 'WP:TW/PREF#prod');
Window.addFooterLink('Caawinta Twinkle', 'WP:TW/DOC#prod');
Window.addFooterLink('Bixi ra’yi-celin', 'WT:TW');
form.append({ type: 'submit', label: 'Soo jeedi tirtirid' });
const result = form.render();
Window.setContent(result);
Window.display();
if (namespace !== 'maqaalka') {
$(result).find('#prodtype_fieldset').hide();
}
const evt = document.createEvent('Event');
evt.initEvent('change', true, true);
result.prodtype[0].dispatchEvent(evt);
};
Twinkle.prod.callback.prodtypechanged = function(event) {
const field = new Morebits.QuickForm.Element({
type: 'field',
label: 'Halbeegyada',
name: 'parameters'
});
switch (event.target.values) {
case 'prod':
field.append({
type: 'checkbox',
list: [
{
label: 'Ogeysii abuuruha bogga haddii ay suurtagal tahay',
value: 'notify',
name: 'notify',
tooltip: 'Muunad ogeysiis ah ayaa la dusha saari doonaa bogga wada-hadalka ee abuuruha haddii tani ay run tahay.',
checked: true
}
]
});
field.append({
type: 'textarea',
name: 'reason',
label: 'Sababta tirtiridda la soo jeediyay:',
value: Twinkle.prod.defaultReason
});
break;
case 'prodblp':
if (event.target.form.reason) {
Twinkle.prod.defaultReason = event.target.form.reason.value;
}
field.append({
type: 'checkbox',
list: [
{
label: 'Ogeysii abuuruha bogga haddii ay suurtagal tahay',
value: 'notify',
name: 'notify',
tooltip: 'Abuuruha maqaalka waa la ogeysiinayaa.',
checked: true,
disabled: true
}
]
});
var boldtext = document.createElement('b');
boldtext.appendChild(document.createTextNode('Fadlan ogow in taariikh-nololeedyada dadka nool ee aan lahayn ilo oo keliya ay u qalmaan calaamaddan, si aad ah loo xaddiday.'));
field.append({
type: 'div',
label: boldtext
});
break;
default:
break;
}
Twinkle.makeFindSourcesDiv('#twinkle-prod-findsources');
event.target.form.replaceChild(field.render(), $(event.target.form).find('fieldset[name="parameters"]')[0]);
};
let params = {};
Twinkle.prod.callbacks = {
checkPriors: function twinkleprodcheckPriors() {
const talk_title = new mw.Title(mw.config.get('wgPageName')).getTalkPage().getPrefixedText();
const blocking_templates = 'Template:Old XfD multi|Template:Old MfD|Template:Oldffdfull|' +
'Template:Oldpuffull|' +
'Template:Olddelrev|' +
'Template:Old prod';
const query = {
action: 'query',
titles: talk_title,
prop: 'templates',
tltemplates: blocking_templates,
format: 'json'
};
const wikipedia_api = new Morebits.wiki.Api('Hubinta bogga wada-hadalka ee magacaabista hore', query);
return wikipedia_api.post().then((apiobj) => {
const statelem = apiobj.statelem;
const templates = apiobj.getResponse().query.pages[0].templates;
const numTemplates = templates && templates.length;
if (numTemplates) {
const template = templates[0].title;
if (numTemplates === 1 && template === 'Template:Old prod') {
params.oldProdPresent = true;
} else {
statelem.warn('Muunad XfD hore ah ayaa laga helay bogga wada-hadalka, nidaamka waa la joojinayaa');
return $.Deferred().reject();
}
}
});
},
fetchCreationInfo: function twinkleprodFetchCreationInfo() {
const def = $.Deferred();
const ts = new Morebits.wiki.Page(mw.config.get('wgPageName'), 'Raadinta abuuruha bogga');
ts.setFollowRedirect(true);
ts.setLookupNonRedirectCreator(true);
ts.lookupCreation((pageobj) => {
params.initialContrib = pageobj.getCreator();
params.creation = pageobj.getCreationTimestamp();
pageobj.getStatusElement().info('La dhammeeyay, waxaa la helay ' + params.initialContrib);
def.resolve();
}, def.reject);
return def;
},
taggingPage: function twinkleprodTaggingPage() {
const def = $.Deferred();
const wikipedia_page = new Morebits.wiki.Page(mw.config.get('wgPageName'), 'Calaamadaynta bogga');
wikipedia_page.setFollowRedirect(true);
wikipedia_page.load((pageobj) => {
const statelem = pageobj.getStatusElement();
if (!pageobj.exists()) {
statelem.error("Waxaa u muuqata in boggu uusan jirin. Waxaa laga yaabaa in horay loo tirtiray.");
return def.reject();
}
let text = pageobj.getPageText();
const tag_re = /{{(?:article for deletion\/dated|AfDM|ffd\b)|#invoke:RfD/i;
if (tag_re.test(text)) {
statelem.warn('Bogga waxaa horay loogu calaamadiyay muunad tirtirid, nidaamka waa la joojinayaa');
return def.reject();
}
text = text.replace(/{{\s*(userspace draft|mtc|(copy|move) to wikimedia commons|(copy |move )?to ?commons)\s*(\|(?:{{[^{}]*}}|[^{}])*)?}}\s*/gi, '');
const prod_re = /{{\s*(?:Prod blp|Proposed deletion)\/dated(?: files)?\s*\|(?:{{[^{}]*}}|[^{}])*}}/i;
let summaryText;
if (!prod_re.test(text)) {
if (params.oldProdPresent) {
if (params.blp) {
if (!confirm('Magacaabid PROD hore ah ayaa laga helay bogga wada-hadalka. Ma rabtaa inaad sii wadato adeegsiga BLPPROD? ')) {
statelem.warn('PROD hore ayaa laga helay bogga wada-hadalka, isticmaalaha ayaa joojiyay');
return def.reject();
}
statelem.info('PROD hore ayaa laga helay bogga wada-hadalka, waa la sii wadaa');
} else {
statelem.warn('PROD hore ayaa laga helay bogga wada-hadalka, nidaamka waa la joojinayaa');
return def.reject();
}
}
let tag;
if (params.blp) {
summaryText = 'Soo jeedinta maqaalka tirtirid iyadoo la raacayo [[WP:BLPPROD]].';
tag = '{{subst:prod blp' + (params.usertalk ? '|help=off' : '') + '}}';
} else {
summaryText = 'Soo jeedinta ' + namespace + ' tirtirid iyadoo la raacayo [[WP:PROD]].';
tag = '{{subst:prod|1=' + Morebits.string.formatReasonText(params.reason) + (params.usertalk ? '|help=off' : '') + '}}';
}
const wikipage = new Morebits.wikitext.Page(text);
text = wikipage.insertAfterTemplates(tag + '\n', Twinkle.hatnoteRegex).getText();
} else {
const prod2_re = /{{(?:Proposed deletion endorsed|prod-?2).*?}}/i;
if (prod2_re.test(text)) {
statelem.warn('Bogga waxaa horay loogu calaamadiyay muunadaha {{proposed deletion}} iyo {{proposed deletion endorsed}}, nidaamka waa la joojinayaa');
return def.reject();
}
let confirmtext = 'Calaamadda {{proposed deletion}} ayaa horay looga helay boggan. \nMa rabtaa inaad ku darto muunadda {{proposed deletion endorsed}} oo wadata sharraxaaddaada?';
if (params.blp && !/{{\s*Prod blp\/dated/.test(text)) {
confirmtext = 'Calaamadda {{proposed deletion}} ee aan ahayn BLP ayaa laga helay maqaalkan.\nMa rabtaa inaad ku darto muunadda {{proposed deletion endorsed}} oo wadata sharraxaadda "maqaalku waa taariikh-nololeed qof nool oo aan lahayn ilo"?';
}
if (!confirm(confirmtext)) {
statelem.warn('Waa la joojiyay codsiga isticmaalaha awgiis');
return def.reject();
}
summaryText = 'Taageeridda tirtiridda la soo jeediyay iyadoo la raacayo [[WP:' + (params.blp ? 'BLP' : '') + 'PROD]].';
text = text.replace(prod_re, text.match(prod_re) + '\n{{Proposed deletion endorsed|1=' + (params.blp ?
'maqaalku waa [[WP:BLPPROD|taariikh-nololeed qof nool oo aan lahayn ilo]]' :
Morebits.string.formatReasonText(params.reason)) + '}}\n');
params.logEndorsing = true;
}
pageobj.setPageText(text);
pageobj.setEditSummary(summaryText);
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('watchProdPages'));
pageobj.setCreateOption('nocreate');
pageobj.save(def.resolve, def.reject);
if (Twinkle.getPref('markProdPagesAsPatrolled')) {
pageobj.triage();
}
}, def.reject);
return def;
},
addOldProd: function twinkleprodAddOldProd() {
const def = $.Deferred();
if (params.oldProdPresent || params.blp) {
return def.resolve();
}
const oldprodfull = '{{Old prod|nom=' + mw.config.get('wgUserName') + '|nomdate={{subst:#time: Y-m-d}}}}\n';
const talktitle = new mw.Title(mw.config.get('wgPageName')).getTalkPage().getPrefixedText();
const talkpage = new Morebits.wiki.Page(talktitle, 'Gelinta {{Old prod}} bogga wada-hadalka');
talkpage.setPrependText(oldprodfull);
talkpage.setEditSummary('Ku darista {{Old prod}}');
talkpage.setChangeTags(Twinkle.changeTags);
talkpage.setFollowRedirect(true);
talkpage.setCreateOption('recreate');
talkpage.prepend(def.resolve, def.reject);
return def;
},
notifyAuthor: function twinkleprodNotifyAuthor() {
const def = $.Deferred();
if (!params.blp && !params.usertalk) {
return def.resolve();
}
if (params.initialContrib === mw.config.get('wgUserName')) {
Morebits.Status.info('Ogeysiinta abuuruha', 'Adiga (' + params.initialContrib + ') ayaa abuuray boggan; ka boodaya ogeysiiska isticmaalaha');
return def.resolve();
}
let notifyTemplate;
if (params.blp) {
notifyTemplate = 'prodwarningBLP';
} else {
notifyTemplate = 'proposed deletion notify';
}
const notifytext = '\n{{subst:' + notifyTemplate + '|1=' + Morebits.pageNameNorm + '|concern=' + params.reason + '}} ~~~~';
const usertalkpage = new Morebits.wiki.Page('User talk:' + params.initialContrib, 'Ogeysiiska tabaruca asaasiga ah (' + params.initialContrib + ')');
usertalkpage.setAppendText(notifytext);
usertalkpage.setEditSummary('Ogeysiis: tirtirid la soo jeediyay ee [[:' + Morebits.pageNameNorm + ']].');
usertalkpage.setChangeTags(Twinkle.changeTags);
usertalkpage.setCreateOption('recreate');
usertalkpage.setFollowRedirect(true, false);
usertalkpage.append(() => {
params.logInitialContrib = params.initialContrib;
def.resolve();
}, def.resolve);
return def;
},
addToLog: function twinkleprodAddToLog() {
if (!Twinkle.getPref('logProdPages')) {
return $.Deferred().resolve();
}
const usl = new Morebits.UserspaceLogger(Twinkle.getPref('prodLogPageName'));
usl.initialText =
"Kani waa diiwaanka dhammaan [[WP:PROD|tirtiridda la soo jeediyay]] ee lagu dabaqay ama uu taageeray isticmaalahan isagoo adeegsanaya qaybta PROD ee [[WP:TW|Twinkle]].\n\n" +
'Haddii aadan dambe rabin inaad hayso diiwaankan, waad damin kartaa adigoo adeegsanaya [[Wikipedia:Twinkle/Preferences|guddiga doorbidyada]], oo ' +
'u sharraxa boggan tirtirid degdeg ah hoos yimaada [[WP:CSD#U1|CSD U1]].';
let logText = '# [[:' + Morebits.pageNameNorm + ']]';
let summaryText;
logText += namespace === 'faylka' ? ' ([{{fullurl:Special:Log|page=' + mw.util.wikiUrlencode(mw.config.get('wgPageName')) + '}} diiwaan]): ' : ': ';
if (params.logEndorsing) {
logText += 'taageeray ' + (params.blp ? 'BLP ' : '') + 'PROD. ~~~~~';
if (params.reason) {
logText += "\n#* '''Sabab''': " + params.reason + '\n';
}
summaryText = 'Diiwaangelinta taageeridda magacaabista PROD ee [[:' + Morebits.pageNameNorm + ']].';
} else {
logText += (params.blp ? 'BLP ' : '') + 'PROD';
if (params.logInitialContrib) {
logText += '; ogeysiiyay {{user|' + params.logInitialContrib + '}}';
}
logText += ' ~~~~~\n';
if (!params.blp && params.reason) {
logText += "#* '''Sabab''': " + Morebits.string.formatReasonForLog(params.reason) + '\n';
}
summaryText = 'Diiwaangelinta magacaabista PROD ee [[:' + Morebits.pageNameNorm + ']].';
}
usl.changeTags = Twinkle.changeTags;
return usl.log(logText, summaryText);
}
};
Twinkle.prod.callback.evaluate = function twinkleprodCallbackEvaluate(e) {
const form = e.target;
const input = Morebits.QuickForm.getInputData(form);
params = {
usertalk: input.notify || input.prodtype === 'prodblp',
blp: input.prodtype === 'prodblp',
reason: input.reason || ''
};
if (!params.blp && !params.reason) {
if (!confirm('Waa aad ka tagtay sababta, ma dhabay rabtaa inaad si waddaa adigoon bixin wax sabab ah?')) {
return;
}
}
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
const tm = new Morebits.TaskManager();
const cbs = Twinkle.prod.callbacks;
Morebits.wiki.numberOfActionsLeft = 1000;
tm.add(cbs.checkPriors, []);
tm.add(cbs.fetchCreationInfo, []);
tm.add(cbs.taggingPage, [cbs.checkPriors, cbs.fetchCreationInfo]);
tm.add(cbs.notifyAuthor, [cbs.fetchCreationInfo, cbs.taggingPage]);
tm.add(cbs.addOldProd, [cbs.taggingPage, cbs.checkPriors]);
tm.add(cbs.addToLog, [cbs.notifyAuthor, cbs.taggingPage]);
tm.execute().then(() => {
Morebits.Status.actionCompleted('Calaamadaynta waa la dhammeeyay');
setTimeout(() => {
window.location.href = mw.util.getUrl(mw.config.get('wgPageName'));
}, Morebits.wiki.actionCompleted.timeOut);
});
};
Twinkle.addInitCallback(Twinkle.prod, 'prod');
}());
// </nowiki>
2buniyxo2v03h3useokawuvdmot19xt
MediaWiki:Gadget-twinklexfd.js
8
53679
310867
2026-10-25T11:23:14Z
Isma4l
41797
Abuuray
310867
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinklexfd.js: Qaybta XFD (Doodaha tirtiridda)
****************************************
* Qaabka loo yeero: Tab ("XFD")
* Ka shaqeeya: Boggaga jira ee aan ahayn kuwa gaarka ah, marka laga reebo boggaga faylasha ee aan lahayn fayl maxalli ah kuwaas oo aan ahayn dib-u-jeedin
*/
Twinkle.xfd = function twinklexfd() {
if (mw.config.get('wgNamespaceNumber') < 0 || !mw.config.get('wgArticleId') || (mw.config.get('wgNamespaceNumber') === 6 && document.getElementById('mw-sharedupload'))) {
return;
}
let tooltip = 'Bilow dood tirtirid';
if (mw.config.get('wgIsRedirect')) {
tooltip += ' ama u beddel bartilmaameedka dib-u-jeedintan';
} else {
switch (mw.config.get('wgNamespaceNumber')) {
case 0:
tooltip += ' ama u guuri maqaalkan';
break;
case 10:
tooltip += ' ama isu xuli muunaddan';
break;
case 828:
tooltip += ' ama isu xuli qaybtan';
break;
case 6:
tooltip += ' faylkan';
break;
case 14:
tooltip += ', isu xuli ama u beddel magaca qaybtan';
break;
default:
tooltip += ' boggan';
break;
}
}
Twinkle.addPortletLink(Twinkle.xfd.callback, 'XFD', 'tw-xfd', tooltip);
};
const utils = {
num2order: function(num) {
switch (num) {
case 1: return '';
case 2: return '2aad';
case 3: return '3aad';
default: return num + 'aad';
}
},
stripNs: function(title) {
const title_obj = mw.Title.newFromUserInput(title);
if (!title_obj) {
return title;
}
return title_obj.getMainText();
},
addNs: function(title, namespaceNumber) {
const title_obj = mw.Title.newFromUserInput(title, namespaceNumber);
if (!title_obj) {
return title;
}
return title_obj.toText();
},
toTLACase: function(venue) {
return venue
.toString()
.toUpperCase()
.replace(/(.)F(.)(?:-.)?/, '$1f$2');
}
};
Twinkle.xfd.currentRationale = null;
Twinkle.xfd.printRationale = function twinklexfdPrintRationale() {
if (Twinkle.xfd.currentRationale) {
Morebits.Status.printUserText(Twinkle.xfd.currentRationale, 'Sababayntaada tirtiridda waxaa lagu bixiyay hoos, taas oo aad koobi kartid oo aad ku dhejin kartid wadahadal cusub oo XFD ah haddii aad rabto inaad isku daydo mar kale:');
Twinkle.xfd.currentRationale = null;
}
};
Twinkle.xfd.callback = function twinklexfdCallback() {
const Window = new Morebits.SimpleWindow(700, 400);
Window.setTitle('Bilow dood tirtirid (XfD)');
Window.setScriptName('Twinkle');
Window.addFooterLink('Ku saabsan doodaha tirtiridda', 'WP:XFD');
Window.addFooterLink('Doorbidyada XfD', 'WP:TW/PREF#xfd');
Window.addFooterLink('Caawinta Twinkle', 'WP:TW/DOC#xfd');
Window.addFooterLink('Bixi ra’yi-celin', 'WT:TW');
const form = new Morebits.QuickForm(Twinkle.xfd.callback.evaluate);
const categories = form.append({
type: 'select',
name: 'venue',
label: 'Goobta doodda tirtiridda:',
tooltip: 'Marka la hawlgeliyo, waxaa la sameeyaa doorasho caadi ah, oo ku saleysan booska magaca aad ku jirto. Doorashadani waa inay noqotaa midda ugu habboon.',
event: Twinkle.xfd.callback.change_category
});
const namespace = mw.config.get('wgNamespaceNumber');
categories.append({
type: 'option',
label: 'AfD (Maqaallada u baahan tirtirid)',
selected: namespace === 0,
value: 'afd'
});
categories.append({
type: 'option',
label: 'TfD (Muunadaha u baahan dood)',
selected: [10, 828].includes(namespace),
value: 'tfd'
});
categories.append({
type: 'option',
label: 'FfD (Faylasha u baahan dood)',
selected: namespace === 6,
value: 'ffd'
});
categories.append({
type: 'option',
label: 'CfD (Qaybaha u baahan dood)',
selected: namespace === 14 || (namespace === 10 && /-stub$/.test(Morebits.pageNameNorm)),
value: 'cfd'
});
categories.append({
type: 'option',
label: 'CfD/S (Qaybaha magaca-beddelka degdegga ah)',
value: 'cfds'
});
categories.append({
type: 'option',
label: 'MfD (Agabka kala duwan ee tirtiridda)',
selected: ![0, 6, 10, 14, 828].includes(namespace) || Morebits.pageNameNorm.indexOf('Template:User ', 0) === 0,
value: 'mfd'
});
categories.append({
type: 'option',
label: 'RfD (Dib-u-jeedinta u baahan dood)',
selected: mw.config.get('wgIsRedirect'),
value: 'rfd'
});
categories.append({
type: 'option',
label: 'RM (Dhaqaaqitaannada la codsaday)',
selected: false,
value: 'rm'
});
form.append({
type: 'div',
id: 'wrong-venue-warn',
style: 'color: red; font-style: italic'
});
form.append({
type: 'checkbox',
list: [
{
label: 'Ogeysii abuuruha bogga haddii ay suurtagal tahay',
value: 'notify',
name: 'notifycreator',
tooltip: 'Muunad ogeysiis ah ayaa la dusha saari doonaa bogga wada-hadalka ee abuuruha haddii tani ay run tahay.',
checked: true
}
]
});
form.append({
type: 'field',
label: 'Goobta shaqada',
name: 'work_area'
});
const previewlink = document.createElement('a');
$(previewlink).on('click', () => {
Twinkle.xfd.callbacks.preview(result);
});
previewlink.style.cursor = 'pointer';
previewlink.textContent = 'Horudhac';
form.append({ type: 'div', id: 'xfdpreview', label: [previewlink] });
form.append({ type: 'div', id: 'twinklexfd-previewbox', style: 'display: none' });
form.append({ type: 'submit' });
var result = form.render();
Window.setContent(result);
Window.display();
result.previewer = new Morebits.wiki.Preview($(result).find('div#twinklexfd-previewbox').last()[0]);
const evt = document.createEvent('Event');
evt.initEvent('change', true, true);
result.venue.dispatchEvent(evt);
};
Twinkle.xfd.callback.wrongVenueWarning = function twinklexfdWrongVenueWarning(venue) {
let text = '';
const namespace = mw.config.get('wgNamespaceNumber');
switch (venue) {
case 'afd':
if (namespace !== 0) {
text = 'AfD waxaa caadi ahaan loogu talagalay maqaallada oo keliya.';
} else if (mw.config.get('wgIsRedirect')) {
text = 'Fadlan isticmaal RfD dib-u-jeedinta.';
}
break;
case 'tfd':
if (namespace === 10 && /-stub$/.test(Morebits.pageNameNorm)) {
text = 'Isticmaal CfD muunadaha jaranjarada (stub).';
} else if (Morebits.pageNameNorm.indexOf('Template:User ') === 0) {
text = 'Fadlan isticmaal MfD sanduuqyada isticmaalaha';
}
break;
case 'cfd':
if (![10, 14].includes(namespace)) {
text = 'CfD waa qaybaha iyo muunadaha jaranjarada oo keliya.';
}
break;
case 'cfds':
if (namespace !== 14) {
text = 'CfDS waa qaybaha oo keliya.';
}
break;
case 'ffd':
if (namespace !== 6) {
text = 'FFD waa la doortay balse boggani uma eka fayl!';
}
break;
case 'rm':
if (namespace === 14) {
text = 'Fadlan isticmaal CfD ama CfDS magac-beddelka qaybaha.';
} else if ([118, 119, 2, 3].includes(namespace)) {
text = 'RM looma oggola qabyo-qoraalka iyo booska isticmaalaha, ilaa ay ka yihiin codsiyo farsamo oo aan muran lahayn.';
}
break;
default:
break;
}
$('#wrong-venue-warn').text(text);
};
Twinkle.xfd.callback.change_category = function twinklexfdCallbackChangeCategory(e) {
const value = e.target.value;
const form = e.target.form;
const old_area = Morebits.QuickForm.getElements(e.target.form, 'work_area')[0];
let work_area = null;
const oldreasontextbox = form.getElementsByTagName('textarea')[0];
const oldreason = oldreasontextbox ? oldreasontextbox.value : '';
const appendReasonBox = function twinklexfdAppendReasonBox() {
work_area.append({
type: 'textarea',
name: 'reason',
label: 'Sababta:',
value: oldreason,
tooltip: 'Waad isticmaali kartaa qaab-dhismeedka wiki sababtaada. Twinkle waxay si otomaatig ah u saxiixi doontaa qoraalkaaga.'
});
};
Twinkle.xfd.callback.wrongVenueWarning(value);
form.previewer.closePreview();
switch (value) {
case 'afd':
work_area = new Morebits.QuickForm.Element({
type: 'field',
label: 'Maqaallada u baahan tirtirid',
name: 'work_area'
});
work_area.append({
type: 'div',
label: '',
id: 'twinkle-xfd-findsources',
style: 'margin-bottom: 5px; margin-top: -5px;'
});
work_area.append({
type: 'select',
name: 'outcome',
label: 'Natiijada la rabo:',
event: Twinkle.xfd.callbacks.changeAfdOutcome,
list: [
{ label: 'Tirtir', value: 'deletion' },
{ label: 'Isuxul', value: 'merging' },
{ label: 'Dib-u-jeedin', value: 'redirecting' },
{ label: 'U beddel qabyo-qoraal', value: 'draftification' }
]
});
work_area.append({
name: 'afdtarget',
type: 'input',
label: 'Bogga bartilmaameedka:',
tooltip: 'Bogga bartilmaameedka u ah dib-u-jeedinta ama isuxulidda.',
event: Twinkle.xfd.callbacks.changeAfdTarget
});
work_area.append({
type: 'checkbox',
list: [
{
label: 'Ku duub calaamadda tirtiridda <noinclude>',
value: 'noinclude',
name: 'noinclude',
tooltip: 'Waxay ku duubaysaa calaamadda tirtiridda calaamado <noinclude>, si aysan u muuqan. Ikhtiyaarkan caadi ahaan looma baahna.'
}
]
});
work_area.append({
type: 'select',
name: 'xfdcat',
label: 'Dooro qaybta uu magacaabidani ka tirsan yahay:',
list: [
{ label: 'Lama aqoon', value: '?', selected: true },
{ label: 'Warbaahin iyo muusig', value: 'M' },
{ label: 'Urur, shirkad, ama alaab', value: 'O' },
{ label: 'Taariikh-nololeed', value: 'B' },
{ label: 'Mowduucyada bulshada', value: 'S' },
{ label: 'Web ama internet', value: 'W' },
{ label: 'Ciyaaro ama isboorti', value: 'G' },
{ label: 'Saynis iyo tignoolajiyad', value: 'T' },
{ label: 'Khayaali iyo fanka', value: 'F' },
{ label: 'Meelo iyo gaadiid', value: 'P' },
{ label: 'Mowduuc aan la hubin ama aan la kala saari karin', value: 'I' },
{ label: 'Dood weli aan la kala soocin', value: 'U' }
]
});
work_area.append({
type: 'select',
multiple: true,
name: 'delsortCats',
label: 'Dooro qaybaha kala-soocidda tirtiridda:',
tooltip: 'Dooro dhowr qaybood oo si gaar ah ugu habboon mowduuca maqaalka. Noqo mid sax ah intii suurtagal ah; qaybaha sida Dadka iyo USA waa in la isticmaalo oo keliya marka aysan jirin qaybo kale oo khuseeya.'
});
Morebits.wiki.getCachedJson('Wikipedia:WikiProject_Deletion_sorting/Computer-readable.json').then((delsortCategories) => {
const $select = $('[name="delsortCats"]');
$.each(delsortCategories, (groupname, list) => {
const $optgroup = $('<optgroup>').attr('label', groupname);
const $delsortCat = $select.append($optgroup);
list.forEach((item) => {
const $option = $('<option>').val(item).text(item);
$delsortCat.append($option);
});
});
});
appendReasonBox();
work_area = work_area.render();
old_area.parentNode.replaceChild(work_area, old_area);
$('[name="afdtarget"]').parent().hide();
Twinkle.makeFindSourcesDiv('#twinkle-xfd-findsources');
$(work_area).find('[name=delsortCats]')
.attr('data-placeholder', 'Dooro boggaga delsort')
.select2({
theme: 'default select2-morebits',
width: '100%',
matcher: Morebits.select2.matcher,
templateResult: Morebits.select2.highlightSearchMatches,
language: {
searching: Morebits.select2.queryInterceptor
},
templateSelection: function(choice) {
return $('<a>').text(choice.text).attr({
href: mw.util.getUrl('Wikipedia:WikiProject_Deletion_sorting/' + choice.text),
target: '_blank'
});
}
});
mw.util.addCSS(
'.select2-container--default.select2-container--focus .select2-selection--multiple { border: 1px solid #aaa; }' +
'.select2-results .select2-results__option { padding-top: 1px; padding-bottom: 1px; }' +
'.select2-results .select2-results__group { padding-top: 1px; padding-bottom: 1px; } ' +
'.select2-container .select2-dropdown .select2-results { font-size: 13px; }' +
'.select2-container .selection .select2-selection__rendered { font-size: 13px; }' +
'.select2-selection__choice__remove { font-size: 130%; }'
);
break;
case 'tfd':
work_area = new Morebits.QuickForm.Element({
type: 'field',
label: 'Muunadaha u baahan dood',
name: 'work_area'
});
var templateOrModule = mw.config.get('wgPageContentModel') === 'Scribunto' ? 'qayb' : 'muunad';
work_area.append({
type: 'select',
label: 'Dooro nooca ficilka la rabo:',
name: 'xfdcat',
event: function(e) {
const target = e.target;
let tfdtarget = target.form.tfdtarget;
if (target.value === 'tfm' && !tfdtarget) {
tfdtarget = new Morebits.QuickForm.Element({
name: 'tfdtarget',
type: 'input',
label: Morebits.string.toUpperCaseFirstChar(templateOrModule) + ' kale ee la rabo in la isuxulo:',
tooltip: 'Lama huraan. Waa inuusan ku jirin horgalaha booska magaca ' + Morebits.string.toUpperCaseFirstChar(templateOrModule) + ': .',
required: true
});
target.parentNode.appendChild(tfdtarget.render());
} else {
$(Morebits.QuickForm.getElementContainer(tfdtarget)).remove();
tfdtarget = null;
}
},
list: [
{ label: 'Tirtirid', value: 'tfd', selected: true },
{ label: 'Isuxulid', value: 'tfm' }
]
});
work_area.append({
type: 'select',
name: 'templatetype',
label: 'Habka muujinta calaamadda tirtiridda:',
tooltip: 'Waa kuwee <code>type=</code> halbeegga la marinayo muunadda calaamadda TfD.',
list: templateOrModule === 'qayb' ? [
{ value: 'module', label: 'Qayb (Module)', selected: true }
] : [
{ value: 'standard', label: 'Heer sare', selected: true },
{ value: 'sidebar', label: 'Sidebar/infobox', selected: $('.infobox').length },
{ value: 'inline', label: 'Muunad dhex-dhexaad ah', selected: (() => {
const $oldParser = $('.mw-parser-output > p .Inline-Template');
const $newParser = $('.mw-parser-output section[data-mw-section-id="0"] p .Inline-Template');
const $scanTarget = $newParser.length ? $newParser : $oldParser;
return $scanTarget.length;
})() },
{ value: 'tiny', label: 'Mid yar oo dhex-dhexaad ah' },
{ value: 'disabled', label: 'La curyaamiyay' }
]
});
work_area.append({
type: 'checkbox',
list: [
{
label: 'Ku duub calaamadda tirtiridda <noinclude> (muunadaha beddelka oo keliya)',
value: 'noinclude',
name: 'noinclude',
tooltip: 'Waxay ku duubaysaa calaamadda tirtiridda calaamado <noinclude>, si aysan ula beddelamin muunadda.',
disabled: templateOrModule === 'qayb',
checked: !!$('.box-Subst_only').length
}
]
});
work_area.append({
type: 'checkbox',
list: [
{
label: 'Ogeysii boggaga wada-hadalka ee qoraallada isticmaalaha ee ay khusayso',
value: 'devpages',
name: 'devpages',
tooltip: 'Ogeysiis ayaa loo diri doonaa boggaga wada-hadalka ee Twinkle, AWB, iyo Ultraviolet haddii qoraalladaas isticmaalaha lagu calaamadiyo inay isticmaalayaan muunaddan.',
checked: true
}
]
});
appendReasonBox();
work_area = work_area.render();
old_area.parentNode.replaceChild(work_area, old_area);
break;
case 'mfd':
work_area = new Morebits.QuickForm.Element({
type: 'field',
label: 'Agabka kala duwan ee tirtiridda',
name: 'work_area'
});
if (mw.config.get('wgNamespaceNumber') !== 710) {
work_area.append({
type: 'checkbox',
list: [
{
label: 'Ku duub calaamadda tirtiridda <noinclude>',
value: 'noinclude',
name: 'noinclude',
tooltip: 'Waxay ku duubaysaa calaamadda tirtiridda calaamado <noinclude>, si aysan u muuqan. Dooro ikhtiyaarkan sanduuqyada isticmaalaha.'
}
]
});
}
if ((mw.config.get('wgNamespaceNumber') === 2 || mw.config.get('wgNamespaceNumber') === 3) && mw.config.exists('wgRelevantUserName')) {
work_area.append({
type: 'checkbox',
list: [
{
label: 'Ogeysii mulkiilaha booska isticmaalaha (haddii uusan ahayn abuuruha bogga)',
value: 'notifyuserspace',
name: 'notifyuserspace',
tooltip: 'Haddii isticmaalaha booskiisa isticmaalaha uu boggan ku jiro uusan ahayn abuuruha bogga (tusaale ahaan, boggu waa maqaal la badbaadiyay oo lagu kaydiyay qabyo-qoraal booska isticmaalaha ah), ogeysii mulkiilaha booska isticmaalaha sidoo kale.',
checked: true
}
]
});
}
appendReasonBox();
work_area = work_area.render();
old_area.parentNode.replaceChild(work_area, old_area);
break;
case 'ffd':
work_area = new Morebits.QuickForm.Element({
type: 'field',
label: 'Goobaha doodda ee faylasha',
name: 'work_area'
});
appendReasonBox();
work_area = work_area.render();
old_area.parentNode.replaceChild(work_area, old_area);
break;
case 'cfd':
work_area = new Morebits.QuickForm.Element({
type: 'field',
label: 'Qaybaha u baahan dood',
name: 'work_area'
});
var isCategory = mw.config.get('wgNamespaceNumber') === 14;
work_area.append({
type: 'select',
label: 'Dooro nooca ficilka la rabo:',
name: 'xfdcat',
event: function(e) {
const value = e.target.value,
cfdtarget = e.target.form.cfdtarget;
let cfdtarget2 = e.target.form.cfdtarget2;
cfdtarget.disabled = value === 'cfd' || value === 'sfd-t';
if (isCategory) {
if (value === 'cfs') {
Morebits.QuickForm.setElementLabel(cfdtarget, 'Qaybaha bartilmaameedka: ');
} else if (value === 'cfc') {
Morebits.QuickForm.setElementLabel(cfdtarget, 'Maqaalka bartilmaameedka: ');
} else {
Morebits.QuickForm.setElementLabel(cfdtarget, 'Qaybta bartilmaameedka: ');
}
if (value === 'cfs') {
if (cfdtarget2) {
cfdtarget2.disabled = false;
$(cfdtarget2).show();
} else {
cfdtarget2 = document.createElement('input');
cfdtarget2.setAttribute('name', 'cfdtarget2');
cfdtarget2.setAttribute('type', 'text');
cfdtarget2.setAttribute('required', 'true');
cfdtarget.parentNode.appendChild(cfdtarget2);
}
} else {
$(cfdtarget2).prop('disabled', true);
$(cfdtarget2).hide();
}
} else {
Morebits.QuickForm.setElementLabel(cfdtarget, 'Muunadda jaranjarada bartilmaameedka: ');
}
},
list: isCategory ? [
{ label: 'Tirtirid', value: 'cfd', selected: true },
{ label: 'Isuxul', value: 'cfm' },
{ label: 'Magac-beddel', value: 'cfr' },
{ label: 'Kala qaybin', value: 'cfs' },
{ label: 'U beddel maqaal', value: 'cfc' }
] : [
{ label: 'Tirtiridda jaranjarada', value: 'sfd-t', selected: true },
{ label: 'Magac-beddelka jaranjarada', value: 'sfr-t' }
]
});
work_area.append({
type: 'input',
name: 'cfdtarget',
label: 'Qaybta bartilmaameedka:',
disabled: true,
required: true,
value: ''
});
appendReasonBox();
work_area = work_area.render();
old_area.parentNode.replaceChild(work_area, old_area);
break;
case 'cfds':
work_area = new Morebits.QuickForm.Element({
type: 'field',
label: 'Qaybaha magaca-beddelka degdegga ah',
name: 'work_area'
});
work_area.append({
type: 'select',
label: 'Shuruud-hoosaadka C2:',
name: 'xfdcat',
tooltip: 'Eeg WP:CFDS sharraxaadaha buuxa.',
list: [
{ label: 'C2A: Sixitaanka higgaadda iyo qoraalka', value: 'C2A', selected: true },
{ label: 'C2B: Xeerarka magacaabista iyo kala-soocidda', value: 'C2B' },
{ label: 'C2C: Is-waafajinta magacyada qaybaha la mid ah', value: 'C2C' },
{ label: 'C2D: Magac-beddel si uu ula mid noqdo magaca maqaalka', value: 'C2D' },
{ label: 'C2E: Codsiga qoraaga', value: 'C2E' },
{ label: 'C2F: Hal maqaal oo magacooda la mid ah', value: 'C2F' }
]
});
work_area.append({
type: 'input',
name: 'cfdstarget',
label: 'Magac cusub:',
size: 70,
value: '',
required: true
});
appendReasonBox();
work_area = work_area.render();
old_area.parentNode.replaceChild(work_area, old_area);
break;
case 'rfd':
work_area = new Morebits.QuickForm.Element({
type: 'field',
label: 'Dib-u-jeedinta u baahan dood',
name: 'work_area'
});
work_area.append({
type: 'checkbox',
list: [
{
label: 'Ogeysii bogga bartilmaameedka haddii ay suurtagal tahay',
value: 'relatedpage',
name: 'relatedpage',
tooltip: 'Muunad ogeysiis ah ayaa la dusha saari doonaa bogga wada-hadalka ee bartilmaameedka dib-u-jeedintan haddii tani ay run tahay.',
checked: true
}
]
});
appendReasonBox();
work_area = work_area.render();
old_area.parentNode.replaceChild(work_area, old_area);
break;
case 'rm': {
work_area = new Morebits.QuickForm.Element({
type: 'field',
label: 'Dhaqaaqitaannada la codsaday',
name: 'work_area'
});
work_area.append({
type: 'checkbox',
list: [
{
label: 'Codsiga farsamo ee aan muranka lahayn',
value: 'rmtr',
name: 'rmtr',
tooltip: 'Isticmaal ikhtiyaarkan marka aadan awoodin inaad adigu sameyso dhaqaaqitaankan oo aan muranka lahayn sabab ergis farsamo awgeed (tusaale bog ayaa horay uga jiray cinwaanka cusub, ama boggu waa la difaacay)',
checked: false,
event: function() {
$('input[name="newname"]', form).prop('required', this.checked);
$('input[type="button"][value="more"]', form)[0].sublist.inputs[1].required = this.checked;
},
subgroup: {
type: 'checkbox',
list: [
{
label: 'Ka bax doodda haddii codsiga la loollamo',
value: 'rmtr-discuss',
name: 'rmtr-discuss',
tooltip: 'Isticmaal ikhtiyaarkan haddii aad doorbideyso inaad la baxdo codsiga haddii loollamo, halkii aad ka doodi lahayd. Tani waxay qarsaysaa xiriiriyaha "doodda", kaas oo loo isticmaali karo in lagu beddelo codsigaaga dood ka dhacda bogga wada-hadalka.',
checked: false
}
]
}
}
]
});
work_area.append({
type: 'dyninput',
inputs: [
{
label: 'Ka:',
name: 'currentname',
required: true
},
{
label: 'Ku:',
name: 'newname',
tooltip: 'Lama huraan codsiyada farsamada. Haddii kale, haddii aadan hubin cinwaanka ku habboon, waad ka tagi kartaa madhan.'
}
],
min: 1
});
appendReasonBox();
work_area = work_area.render();
old_area.parentNode.replaceChild(work_area, old_area);
const currentNonTalkPage = mw.Title.newFromText(Morebits.pageNameNorm).getSubjectPage().toText();
form.currentname.value = currentNonTalkPage;
break;
}
default:
work_area = new Morebits.QuickForm.Element({
type: 'field',
label: 'Waxba ma jiraan',
name: 'work_area'
});
work_area = work_area.render();
old_area.parentNode.replaceChild(work_area, old_area);
break;
}
form.notifycreator.disabled = value === 'cfds' || value === 'rm';
form.notifycreator.checked = !form.notifycreator.disabled;
};
Twinkle.xfd.callbacks = {
changeAfdTarget: function() {
const $afdTarget = $('[name="afdtarget"]');
const $reason = $('[name="reason"]');
const $outcome = $('[name="outcome"]');
if ($reason.val().endsWith('sababtoo ah ')) {
if ($afdTarget.val()) {
if ($outcome.val() === 'redirecting') {
$reason.val(`Waxaan soo jeedinayaa in '''dib loo leexiyo''' [[${$afdTarget.val()}]] sababtoo ah `);
} else if ($outcome.val() === 'merging') {
$reason.val(`Waxaan soo jeedinayaa in '''la isuxulo''' [[${$afdTarget.val()}]] sababtoo ah `);
}
} else {
if ($outcome.val() === 'redirecting') {
$reason.val("Waxaan soo jeedinayaa in '''dib loo leexiyo''' sababtoo ah ");
} else if ($outcome.val() === 'merging') {
$reason.val("Waxaan soo jeedinayaa in '''la isuxulo''' sababtoo ah ");
}
}
}
},
changeAfdOutcome: function() {
const $outcome = $('[name="outcome"]');
const $reason = $('[name="reason"]');
const $afdTarget = $('[name="afdtarget"]');
$afdTarget.val('');
if ($outcome.val() === 'redirecting') {
$reason.val("Waxaan soo jeedinayaa in '''dib loo leexiyo''' sababtoo ah ");
$afdTarget.parent().show();
} else if ($outcome.val() === 'merging') {
$reason.val("Waxaan soo jeedinayaa in '''la isuxulo''' sababtoo ah ");
$afdTarget.parent().show();
} else if ($outcome.val() === 'draftification') {
$reason.val("Waxaan soo jeedinayaa in loo beddelo '''qabyo-qoraal''' sababtoo ah ");
$afdTarget.parent().hide();
} else if ($outcome.val() === 'deletion') {
$reason.val('');
$afdTarget.parent().hide();
}
},
autoEditRequest: function(pageobj, params) {
const talkName = new mw.Title(pageobj.getPageName()).getTalkPage().toText();
if (talkName === pageobj.getPageName()) {
pageobj.getStatusElement().error('Bogga waa la difaacay mana jiro meel lagu daro codsiga tafatirka, waa la joojinayaa');
} else {
pageobj.getStatusElement().warn('Bogga waa la difaacay, waxaa la codsanayaa tafatir');
const editRequest = '{{subst:Xfd edit protected|page=' + pageobj.getPageName() +
'|discussion=' + params.discussionpage + (params.venue === 'rfd' ? '|rfd=yes' : '') +
'|tag=<nowiki>' + params.tagText + '\u003C/nowiki>}}';
const talk_page = new Morebits.wiki.Page(talkName, 'Si otomaatig ah ayuu u gelinayaa codsiga tafatirka bogga wada-hadalka');
talk_page.setNewSectionTitle('Codsiga tafatirka si loo dhammaystiro magacaabista ' + utils.toTLACase(params.venue));
talk_page.setNewSectionText(editRequest);
talk_page.setCreateOption('recreate');
talk_page.setWatchlist(Twinkle.getPref('xfdWatchPage'));
talk_page.setFollowRedirect(true);
talk_page.setChangeTags(Twinkle.changeTags);
talk_page.setCallbackParameters(params);
talk_page.newSection(null, () => {
talk_page.getStatusElement().warn('Lama dari karo codsiga tafatirka, bogga wada-hadalka waxaa laga yaabaa in la difaacay');
});
}
},
getDiscussionWikitext: function(venue, params) {
if (venue === 'cfds') {
return '* [[:' + Morebits.pageNameNorm + ']] ku socota [[:' + params.cfdstarget + ']]\u00A0\u2013 ' +
params.xfdcat + (params.reason ? ': ' + Morebits.string.formatReasonText(params.reason) : '.') + ' ~~~~';
}
if (venue === 'rm') {
if (params.rmtr) {
const rmtrDiscuss = params['rmtr-discuss'] ? '|discuss=no' : '';
return params.currentname
.map((currentname, i) => `{{subst:RMassist|1=${currentname}|2=${params.newname[i]}${rmtrDiscuss}|reason=${params.reason}}}`)
.join('\n');
}
return `{{subst:Requested move${
params.currentname
.map((currentname, i) => `|current${i + 1}=${currentname}|new${i + 1}=${params.newname[i]}`)
.join('')
}|reason=${params.reason}}}`;
}
let text = '{{subst:' + venue + '2';
const reasonKey = venue === 'ffd' ? 'Reason' : 'text';
text += '|' + reasonKey + '=' + Morebits.string.formatReasonText(params.reason, true);
if (venue === 'afd' || venue === 'mfd') {
text += '|pg=' + Morebits.pageNameNorm;
if (venue === 'afd') {
text += '|cat=' + params.xfdcat;
}
} else if (venue === 'rfd') {
text += '|redirect=' + Morebits.pageNameNorm;
} else {
text += '|1=' + mw.config.get('wgTitle');
if (mw.config.get('wgPageContentModel') === 'Scribunto') {
text += '|module=Module:';
}
}
if (params.rfdtarget) {
text += '|target=' + params.rfdtarget + (params.section ? '#' + params.section : '');
} else if (params.tfdtarget) {
text += '|2=' + params.tfdtarget;
} else if (params.cfdtarget) {
text += '|2=' + params.cfdtarget;
if (params.cfdtarget2) {
text += '|3=' + params.cfdtarget2;
}
} else if (params.uploader) {
text += '|Uploader=' + params.uploader;
}
text += '}}';
if (venue === 'rfd' || venue === 'tfd' || venue === 'cfd') {
text += '\n';
}
if (Array.isArray(params.delsortCats) && params.delsortCats.length) {
text += '\n{{subst:Deletion sorting/multi|' + params.delsortCats.join('|') + '|sig=~~~~}}';
}
return text;
},
showPreview: function(form, venue, params) {
const templatetext = Twinkle.xfd.callbacks.getDiscussionWikitext(venue, params);
if (venue === 'rm') {
form.previewer.beginRender(templatetext, params.rmtr ? 'Wikipedia:Requested moves/Technical requests' : new mw.Title(Morebits.pageNameNorm).getTalkPage().toText());
} else {
form.previewer.beginRender(templatetext, 'WP:TW');
}
},
preview: function(form) {
const params = Morebits.QuickForm.getInputData(form);
const venue = params.venue;
if (params.tfdtarget) {
params.tfdtarget = utils.stripNs(params.tfdtarget);
} else if (params.cfdtarget) {
params.cfdtarget = utils.stripNs(params.cfdtarget);
if (params.cfdtarget2) {
params.cfdtarget2 = utils.stripNs(params.cfdtarget2);
}
} else if (params.cfdstarget) {
params.cfdstarget = utils.addNs(params.cfdstarget, 14);
}
if (venue === 'ffd') {
const page = new Morebits.wiki.Page(mw.config.get('wgPageName'));
page.lookupCreation(() => {
params.uploader = page.getCreator();
Twinkle.xfd.callbacks.showPreview(form, venue, params);
});
} else if (venue === 'rfd') {
Twinkle.xfd.callbacks.rfd.findTarget(params, (params) => {
Twinkle.xfd.callbacks.showPreview(form, venue, params);
});
} else if (venue === 'cfd') {
Twinkle.xfd.callbacks.showPreview(form, params.xfdcat, params);
} else {
Twinkle.xfd.callbacks.showPreview(form, venue, params);
}
},
notifyUser: function(params, notifyTarget, noLog, actionName) {
const userTalkNamespace = 3;
notifyTarget = mw.Title.newFromText(notifyTarget, userTalkNamespace);
const targetNS = notifyTarget.getNamespaceId();
const usernameOrTarget = notifyTarget.getRelativeText(userTalkNamespace);
notifyTarget = notifyTarget.toText();
if (targetNS === userTalkNamespace) {
if (usernameOrTarget === mw.config.get('wgUserName')) {
Morebits.Status.warn('Adiga (' + usernameOrTarget + ') ayaa abuuray boggan; ka boodaya ogeysiiska isticmaalaha');
Twinkle.xfd.callbacks.addToLog(params, null);
return;
}
actionName = actionName || 'Ogeysiiska tabaruca asaasiga ah (' + usernameOrTarget + ')';
}
const notifyText = Twinkle.xfd.callbacks.generateUserTalkNoticeWikitext(params);
const venueNames = {
afd: 'Maqaallada u baahan tirtirid',
tfd: 'Muunadaha u baahan dood',
mfd: 'Agabka kala duwan ee tirtiridda',
cfd: 'Qaybaha u baahan dood',
ffd: 'Faylasha u baahan dood',
rfd: 'Dib-u-jeedinta u baahan dood'
};
const editSummary = 'Ogeysiis: [[' + params.discussionpage + '|liis]] ee [[:' +
Morebits.pageNameNorm + ']] at [[WP:' + venueNames[params.venue] + ']].';
const usertalkpage = new Morebits.wiki.Page(notifyTarget, actionName);
usertalkpage.setAppendText(notifyText);
usertalkpage.setEditSummary(editSummary);
usertalkpage.setChangeTags(Twinkle.changeTags);
usertalkpage.setCreateOption('recreate');
if (params.venue === 'rfd' && targetNS !== 3) {
usertalkpage.setWatchlist(Twinkle.getPref('xfdWatchRelated'));
} else {
usertalkpage.setWatchlist(Twinkle.getPref('xfdWatchUser'));
}
usertalkpage.setFollowRedirect(true, false);
if (noLog) {
usertalkpage.append();
} else {
usertalkpage.append(() => {
if (!params.notifycreator) {
notifyTarget = null;
}
Twinkle.xfd.callbacks.addToLog(params, usernameOrTarget);
}, () => {
Twinkle.xfd.callbacks.addToLog(params, null);
});
}
},
generateUserTalkNoticeWikitext: function(params) {
let notifytext = '\n{{subst:' + params.venue + ' notice';
const templateNamespace = 10;
switch (params.venue) {
case 'afd':
notifytext += params.outcome !== 'deletion' ? '|outcome=' + params.outcome : '';
notifytext += params.afdtarget ? '|target=' + params.afdtarget : '';
notifytext += params.numbering !== '' ? '|order= ' + params.numbering : '';
break;
case 'mfd':
notifytext += params.numbering !== '' ? '|order= ' + params.numbering : '';
break;
case 'tfd':
if (params.xfdcat === 'tfm') {
notifytext = '\n{{subst:Tfm notice|2=' + params.tfdtarget;
}
break;
case 'cfd':
notifytext += '|action=' + params.action + (mw.config.get('wgNamespaceNumber') === templateNamespace ? '|stub=yes' : '');
break;
default:
break;
}
notifytext += '|1=' + Morebits.pageNameNorm + '}} ~~~~';
return notifytext;
},
addToLog: function(params, initialContrib) {
if (!Twinkle.getPref('logXfdNominations') || Twinkle.getPref('noLogOnXfdNomination').includes(params.venue)) {
return;
}
const usl = new Morebits.UserspaceLogger(Twinkle.getPref('xfdLogPageName'));
usl.initialText =
"Kani waa diiwaanka dhammaan [[WP:XFD|doodaha tirtiridda]] ee uu sameeyay isticmaalahan isagoo adeegsanaya qaybta XfD ee [[WP:TW|Twinkle]].\n\n" +
'Haddii aadan dambe rabin inaad hayso diiwaankan, waad damin kartaa adigoo adeegsanaya [[Wikipedia:Twinkle/Preferences|guddiga doorbidyada]], oo ' +
'u sharraxa boggan tirtirid degdeg ah hoos yimaada [[WP:CSD#U1|CSD U1]].' +
(Morebits.userIsSysop ? '\n\nDiiwaankani ma la socdo tirtiridda XfD ee la xiriirta ee la adeegsaday Twinkle.' : '');
let editsummary;
if (params.discussionpage) {
editsummary = 'Diiwaangelinta [[' + params.discussionpage + '|' + utils.toTLACase(params.venue) + ' magacaabista]] ee [[:' + Morebits.pageNameNorm + ']].';
} else {
editsummary = 'Diiwaangelinta ' + utils.toTLACase(params.venue) + ' magacaabista ee [[:' + Morebits.pageNameNorm + ']].';
}
const fileLogLink = mw.config.get('wgNamespaceNumber') === 6 ? ' ([{{fullurl:Special:Log|page=' + mw.util.wikiUrlencode(mw.config.get('wgPageName')) + '}} diiwaan])' : '';
const nominatedLink = params.discussionpage ? '[[' + params.discussionpage + '|la magacaabay]]' : 'la magacaabay';
let appendText = '# [[:' + Morebits.pageNameNorm + ']]:' + fileLogLink + ' ' + nominatedLink + ' at [[WP:' + params.venue.toUpperCase() + '|' + utils.toTLACase(params.venue) + ']]';
switch (params.venue) {
case 'tfd':
if (params.xfdcat === 'tfm') {
appendText += ' (isuxul)';
if (params.tfdtarget) {
const contentModel = mw.config.get('wgPageContentModel') === 'Scribunto' ? 'Module:' : 'Template:';
appendText += '; Qaybta kale ' + contentModel.toLowerCase() + ' [[';
if (!new RegExp('^:?' + Morebits.namespaceRegex([10, 828]) + ':', 'i').test(params.tfdtarget)) {
appendText += contentModel;
}
appendText += params.tfdtarget + ']]';
}
}
break;
case 'mfd':
if (params.notifyuserspace && params.userspaceOwner && params.userspaceOwner !== initialContrib) {
appendText += '; ogeysiiyay {{user|1=' + params.userspaceOwner + '}}';
}
break;
case 'cfd':
appendText += ' (' + utils.toTLACase(params.xfdcat) + ')';
if (params.cfdtarget) {
const categoryOrTemplate = params.xfdcat.charAt(0) === 's' ? 'Template:' : ':Category:';
appendText += '; ' + params.action + ' ku socota [[' + categoryOrTemplate + params.cfdtarget + ']]';
if (params.xfdcat === 'cfs' && params.cfdtarget2) {
appendText += ', [[' + categoryOrTemplate + params.cfdtarget2 + ']]';
}
}
break;
case 'cfds':
appendText += ' (' + utils.toTLACase(params.xfdcat) + ')';
if (params.cfdstarget && params.cfdstarget.length > 9) {
appendText += '; Magac cusub: [[:' + params.cfdstarget + ']]';
}
break;
case 'rfd':
if (params.rfdtarget) {
appendText += '; Bartilmaameed: [[:' + params.rfdtarget + ']]';
if (params.relatedpage) {
appendText += ' (la ogeysiiyay)';
}
}
break;
case 'rm':
appendText = params.currentname
.map((currentname, i) => `# [[:${currentname}]]: ${nominatedLink} at [[WP:RM${params.rmtr ? '/TR' : ''}|]]${params.newname[i] ? `; Magac cusub: [[:${params.newname[i]}]]` : ''}`)
.join('\n');
break;
default:
break;
}
if (initialContrib && params.notifycreator) {
appendText += '; ogeysiiyay {{user|1=' + initialContrib + '}}';
}
appendText += ' ~~~~~';
if (params.reason) {
appendText += "\n#* '''Sabab''': " + Morebits.string.formatReasonForLog(params.reason);
}
usl.changeTags = Twinkle.changeTags;
usl.log(appendText, editsummary);
},
afd: {
main: function(apiobj) {
const response = apiobj.getResponse();
const titles = response.query.allpages;
if (titles.length <= 0) {
apiobj.params.numbering = apiobj.params.number = '';
} else {
let number = 0;
for (let i = 0; i < titles.length; ++i) {
const title = titles[i].title;
if (title === 'Wikipedia:Articles for deletion/' + Morebits.pageNameNorm) {
number = Math.max(number, 1);
continue;
}
const order_re = new RegExp('^' +
Morebits.string.escapeRegExp('Wikipedia:Articles for deletion/' + Morebits.pageNameNorm) +
'\\s*\\(\\s*(\\d+)(?:(?:th|nd|rd|st) nom(?:ination)?)?\\s*\\)\\s*$');
const match = order_re.exec(title);
if (!match || match[1] > 100) {
continue;
}
number = Math.max(number, Number(match[1]));
}
apiobj.params.number = utils.num2order(parseInt(number, 10) + 1);
apiobj.params.numbering = number > 0 ? ' (' + apiobj.params.number + ' magacaabid)' : '';
}
apiobj.params.discussionpage = 'Wikipedia:Articles for deletion/' + Morebits.pageNameNorm + apiobj.params.numbering;
Morebits.Status.info('Bogga doodda xiga', '[[' + apiobj.params.discussionpage + ']]');
Morebits.wiki.actionCompleted.redirect = apiobj.params.discussionpage;
Morebits.wiki.actionCompleted.notice = 'Magacaabistii waa la dhammeeyay, hadda waxaa loo wareejinayaa bogga doodda';
const wikipedia_page = new Morebits.wiki.Page(mw.config.get('wgPageName'), 'Ku darista calaamadda tirtiridda maqaalka');
wikipedia_page.setFollowRedirect(true);
wikipedia_page.setChangeTags(Twinkle.changeTags);
wikipedia_page.setCallbackParameters(apiobj.params);
wikipedia_page.load(Twinkle.xfd.callbacks.afd.taggingArticle);
},
taggingArticle: function(pageobj) {
let text = pageobj.getPageText();
const params = pageobj.getCallbackParameters();
const statelem = pageobj.getStatusElement();
if (!pageobj.exists()) {
statelem.error('Waxaa u muuqata in boggu uusan jirin; waxaa laga yaabaa in horay loo tirtiray');
return;
}
const textNoAfd = text.replace(/<!--.*AfD.*\n\{\{(?:Article for deletion\/dated|AfDM).*\}\}\n<!--.*(?:\n<!--.*)?AfD.*(?:\s*\n)?/g, '');
if (text !== textNoAfd) {
if (confirm('Calaamadda AfD ayaa laga helay maqaalkan. Waxaa laga yaabaa in qof kugu hormaray. \nGuji OK si aad u beddesho calaamadda AfD ee hadda (laguma talinayo), ama Cancel si aad uga tagto magacaabistaada.')) {
text = textNoAfd;
} else {
statelem.error('Maqaalka horay waxaa loogu calaamadiyay calaamad AfD, waadna dooratay inaad joojiso');
window.location.reload();
return;
}
}
if (Twinkle.getPref('markXfdPagesAsPatrolled')) {
pageobj.triage();
}
let wikipedia_page = new Morebits.wiki.Page(params.discussionpage, 'Abuurista bogga doodda tirtiridda maqaalka');
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.xfd.callbacks.afd.discussionPage);
const date = new Morebits.Date(pageobj.getLoadTime());
wikipedia_page = new Morebits.wiki.Page('Wikipedia:Articles for deletion/Log/' +
date.format('YYYY MMMM D', 'utc'), "Ku darista doodda liiska maanta");
wikipedia_page.setFollowRedirect(true);
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.xfd.callbacks.afd.todaysList);
if (params.notifycreator) {
const thispage = new Morebits.wiki.Page(mw.config.get('wgPageName'));
thispage.setCallbackParameters(params);
thispage.setLookupNonRedirectCreator(true);
thispage.lookupCreation((pageobj) => {
Twinkle.xfd.callbacks.notifyUser(pageobj.getCallbackParameters(), pageobj.getCreator());
});
} else {
Twinkle.xfd.callbacks.addToLog(params, null);
}
params.tagText = Twinkle.xfd.callbacks.afd.generateArticleTagWikitext(
params.noinclude, params.outcome, params.afdtarget, params.number
);
if (params.outcome === 'merging' && params.afdtarget) {
wikipedia_page = new Morebits.wiki.Page(params.afdtarget, 'Calaamadaynta bogga bartilmaameedka leh {{Merge from}}');
wikipedia_page.setCallbackParameters(params);
wikipedia_page.setFollowRedirect(true);
wikipedia_page.load(Twinkle.xfd.callbacks.afd.tagTargetPageWithMergeFromTag);
}
if (pageobj.canEdit()) {
text = text.replace(/\{\{\s*(dated prod|dated prod blp|Prod blp\/dated|Proposed deletion\/dated|prod2|Proposed deletion endorsed|Userspace draft)\s*(\|(?:\{\{[^{}]*\}\}|[^{}])*)?\}\}\s*/ig, '');
const textNoSd = text.replace(/\{\{\s*(db(-\w*)?|delete|(?:hang|hold)[- ]?on)\s*(\|(?:\{\{[^{}]*\}\}|[^{}])*)?\}\}\s*/ig, '');
if (text !== textNoSd && confirm('Calaamadda tirtiridda degdegga ah ayaa laga helay boggan. Miya la saaraa?')) {
text = textNoSd;
}
const wikipage = new Morebits.wikitext.Page(text);
text = wikipage.insertAfterTemplates(params.tagText, Twinkle.hatnoteRegex).getText();
pageobj.setPageText(text);
pageobj.setEditSummary(`Waxaa loo magacaabay ${params.outcome}; eeg [[:${params.discussionpage}]].`);
pageobj.setWatchlist(Twinkle.getPref('xfdWatchPage'));
pageobj.setCreateOption('nocreate');
pageobj.save();
} else {
Twinkle.xfd.callbacks.autoEditRequest(pageobj, params);
}
},
tagTargetPageWithMergeFromTag: function(pageobj) {
const statelem = pageobj.getStatusElement();
if (!pageobj.exists()) {
statelem.warn('Waa uu guuldarraystay. Bogga bartilmaameedka lama helin.');
return;
} else if (!pageobj.canEdit()) {
statelem.warn('Waa uu guuldarraystay. Bogga bartilmaameedka waxaa laga difaacay in la tafatiro.');
return;
}
const params = pageobj.getCallbackParameters();
const tag = `{{Merge from |1=${Morebits.pageNameNorm} |target=${params.afdtarget} |afd=${Morebits.pageNameNorm + params.numbering} |date ={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}} }}`;
const wikipage = new Morebits.wikitext.Page(pageobj.getPageText());
const text = wikipage.insertAfterTemplates(tag, Twinkle.hatnoteRegex).getText();
pageobj.setPageText(text);
pageobj.setEditSummary('Waxaa loo magacaabay isuxulid; eeg [[:' + params.discussionpage + ']].');
pageobj.setCreateOption('nocreate');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.save();
},
generateArticleTagWikitext: function(noinclude, outcome, afdtarget, number) {
let noIncludeStart = '';
let noIncludeEnd = '';
if (noinclude) {
noIncludeStart = '<noinclude>';
noIncludeEnd = '</noinclude>';
}
let templateAndParams = '';
const outcomeParam = outcome !== 'deletion' ? '|outcome=' + outcome : '';
const targetParam = afdtarget ? '|target=' + afdtarget : '';
const isFirstNomination = number === '';
if (isFirstNomination) {
templateAndParams = 'subst:afd|help=off' + outcomeParam + targetParam;
} else {
templateAndParams = 'subst:afdx|' + number + '|help=off' + outcomeParam + targetParam;
}
return noIncludeStart + '{{' + templateAndParams + '}}' + noIncludeEnd + '\n';
},
discussionPage: function(pageobj) {
const params = pageobj.getCallbackParameters();
pageobj.setPageText(Twinkle.xfd.callbacks.getDiscussionWikitext('afd', params));
pageobj.setEditSummary('Abuurista bogga doodda AfD ee [[:' + Morebits.pageNameNorm + ']].');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('xfdWatchDiscussion'));
pageobj.setCreateOption('createonly');
pageobj.save(() => {
Twinkle.xfd.currentRationale = null;
if (params.delsortCats) {
params.delsortCats.forEach((cat) => {
const delsortPage = new Morebits.wiki.Page('Wikipedia:WikiProject Deletion sorting/' + cat, 'Ku darista liiska doodaha tirtiridda ee la xiriira ' + cat);
delsortPage.setFollowRedirect(true);
delsortPage.setCallbackParameters({discussionPage: params.discussionpage});
delsortPage.load(Twinkle.xfd.callbacks.afd.delsortListing);
});
}
});
},
todaysList: function(pageobj) {
const params = pageobj.getCallbackParameters();
const statelem = pageobj.getStatusElement();
const added_data = '{{subst:afd3|pg=' + Morebits.pageNameNorm + params.numbering + '}}\n';
let text;
if (!pageobj.exists()) {
text = '{{subst:AfD log}}\n' + added_data;
} else {
const old_text = pageobj.getPageText() + '\n';
text = old_text.replace(/(<!-- Add new entries to the TOP of the following list -->\n+)/, '$1' + added_data);
if (text === old_text) {
const linknode = document.createElement('a');
linknode.setAttribute('href', mw.util.getUrl('Wikipedia:Twinkle/Fixing AFD') + '?action=purge');
linknode.appendChild(document.createTextNode('Sida loo hagaajiyo AFD'));
statelem.error(['Lama helin goobta bartilmaameedka u ah doodda. Si loo hagaajiyo dhibaatadan, fadlan eeg ', linknode, '.']);
return;
}
}
pageobj.setPageText(text);
pageobj.setEditSummary('Ku darista [[:' + params.discussionpage + ']].');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('xfdWatchList'));
pageobj.setCreateOption('recreate');
pageobj.setDiscussionToolsAutoSubscribe(false);
pageobj.save();
},
delsortListing: function(pageobj) {
const discussionPage = pageobj.getCallbackParameters().discussionPage;
const text = pageobj.getPageText().replace('directly below this line -->', 'directly below this line -->\n{{' + discussionPage + '}}');
pageobj.setPageText(text);
pageobj.setEditSummary('Liisgaraynta [[:' + discussionPage + ']].');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setCreateOption('nocreate');
pageobj.setDiscussionToolsAutoSubscribe(false);
pageobj.save();
}
},
tfd: {
main: function(pageobj) {
const params = pageobj.getCallbackParameters();
const date = new Morebits.Date(pageobj.getLoadTime());
params.logpage = 'Wikipedia:Templates for discussion/Log/' + date.format('YYYY MMMM D', 'utc');
params.discussionpage = params.logpage + '#' + Morebits.pageNameNorm;
pageobj.setCallbackParameters(params);
let watchModule, watch_query;
if (params.scribunto) {
const watchPref = Twinkle.getPref('xfdWatchPage');
watchModule = watchPref !== 'no' && (watchPref !== 'default' || !!parseInt(mw.user.options.get('watchdefault'), 10));
if (watchModule) {
watch_query = {
action: 'watch',
titles: [mw.config.get('wgPageName')],
token: mw.user.tokens.get('watchToken')
};
if (pageobj.getWatched() !== true && watchPref !== 'default' && watchPref !== 'yes') {
watch_query.expiry = watchPref;
}
}
}
if (params.xfdcat === 'tfm') {
let wikipedia_otherpage;
if (params.scribunto) {
wikipedia_otherpage = new Morebits.wiki.Page(params.otherTemplateName + '/doc', 'Calaamadaynta dukumiintiga qaybta kale leh calaamadda isuxulidda');
if (watchModule) {
watch_query.titles.push(params.otherTemplateName);
new Morebits.wiki.Api('Ku darista qaybaha liiska la socodka', watch_query).post();
}
} else {
wikipedia_otherpage = new Morebits.wiki.Page(params.otherTemplateName, 'Calaamadaynta muunadda kale leh calaamadda isuxulidda');
}
Twinkle.xfd.callbacks.tfd.taggingTemplateForMerge(pageobj);
wikipedia_otherpage.setFollowRedirect(true);
const otherParams = $.extend({}, params);
otherParams.otherTemplateName = Morebits.pageNameNorm;
wikipedia_otherpage.setCallbackParameters(otherParams);
wikipedia_otherpage.load(Twinkle.xfd.callbacks.tfd.taggingTemplateForMerge);
} else {
if (params.scribunto && Twinkle.getPref('xfdWatchPage') !== 'no') {
if (watchModule) {
new Morebits.wiki.Api('Ku darista qaybta liiska la socodka', watch_query).post();
}
}
Twinkle.xfd.callbacks.tfd.taggingTemplate(pageobj);
}
Morebits.wiki.actionCompleted.redirect = params.logpage;
Morebits.wiki.actionCompleted.notice = 'Magacaabistii waa la dhammeeyay, hadda waxaa loo wareejinayaa diiwaanka maanta';
const wikipedia_page = new Morebits.wiki.Page(params.logpage, "Ku darista doodda diiwaanka maanta");
wikipedia_page.setFollowRedirect(true);
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.xfd.callbacks.tfd.todaysList);
if (params.notifycreator) {
const involvedpages = [];
const seenusers = [];
involvedpages.push(new Morebits.wiki.Page(mw.config.get('wgPageName')));
if (params.xfdcat === 'tfm') {
if (params.scribunto) {
involvedpages.push(new Morebits.wiki.Page('Module:' + params.tfdtarget));
} else {
involvedpages.push(new Morebits.wiki.Page('Template:' + params.tfdtarget));
}
}
involvedpages.forEach((page) => {
page.setCallbackParameters(params);
page.lookupCreation((innerpage) => {
const username = innerpage.getCreator();
if (!seenusers.includes(username)) {
seenusers.push(username);
Twinkle.xfd.callbacks.notifyUser(innerpage.getCallbackParameters(), username,
params.xfdcat === 'tfm' && innerpage.getPageName() !== Morebits.pageNameNorm);
}
});
});
} else {
Twinkle.xfd.callbacks.addToLog(params, null);
}
if (params.devpages) {
const inCategories = mw.config.get('wgCategories');
const categoryNotificationPageMap = {
'Templates used by Twinkle': 'Wikipedia talk:Twinkle',
'Templates used by AutoWikiBrowser': 'Wikipedia talk:AutoWikiBrowser',
'Templates used by Ultraviolet': 'Wikipedia talk:Ultraviolet'
};
$.each(categoryNotificationPageMap, (category, page) => {
if (inCategories.includes(category)) {
Twinkle.xfd.callbacks.notifyUser(params, page, true, 'Ogeysiinta ' + page + ' ee magacaabista muunadda');
}
});
}
},
taggingTemplate: function(pageobj) {
const text = pageobj.getPageText();
const params = pageobj.getCallbackParameters();
params.tagText = '{{subst:template for discussion|help=off' + (params.templatetype !== 'standard' ? '|type=' + params.templatetype : '') + '}}';
if (pageobj.getContentModel() === 'sanitized-css') {
params.tagText = '/* ' + params.tagText + ' */';
} else {
if (params.noinclude) {
params.tagText = '<noinclude>' + params.tagText + '</noinclude>';
}
params.tagText += params.templatetype === 'standard' || params.templatetype === 'sidebar' || params.templatetype === 'disabled' ? '\n' : '';
}
if (pageobj.canEdit() && ['wikitext', 'sanitized-css'].includes(pageobj.getContentModel())) {
pageobj.setPageText(params.tagText + text);
pageobj.setEditSummary('Waxaa loo magacaabay tirtirid; eeg [[:' + params.discussionpage + ']].');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('xfdWatchPage'));
if (params.scribunto) {
pageobj.setCreateOption('recreate');
}
pageobj.save();
} else {
Twinkle.xfd.callbacks.autoEditRequest(pageobj, params);
}
},
taggingTemplateForMerge: function(pageobj) {
const text = pageobj.getPageText();
const params = pageobj.getCallbackParameters();
params.tagText = '{{subst:tfm|help=off|' + (params.templatetype !== 'standard' ? 'type=' + params.templatetype + '|' : '') +
'1=' + params.otherTemplateName.replace(new RegExp('^' + Morebits.namespaceRegex([10, 828]) + ':'), '') + '}}';
if (pageobj.getContentModel() === 'sanitized-css') {
params.tagText = '/* ' + params.tagText + ' */';
} else {
if (params.noinclude) {
params.tagText = '<noinclude>' + params.tagText + '</noinclude>';
}
params.tagText += params.templatetype === 'standard' || params.templatetype === 'sidebar' || params.templatetype === 'disabled' ? '\n' : '';
}
if (pageobj.canEdit() && ['wikitext', 'sanitized-css'].includes(pageobj.getContentModel())) {
pageobj.setPageText(params.tagText + text);
pageobj.setEditSummary('Waxaa loo liisgareeyay in la isuxulo [[:' + params.otherTemplateName + ']]; eeg [[:' + params.discussionpage + ']].');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('xfdWatchPage'));
if (params.scribunto) {
pageobj.setCreateOption('recreate');
}
pageobj.save();
} else {
Twinkle.xfd.callbacks.autoEditRequest(pageobj, params);
}
},
todaysList: function(pageobj) {
const params = pageobj.getCallbackParameters();
const statelem = pageobj.getStatusElement();
const added_data = Twinkle.xfd.callbacks.getDiscussionWikitext(params.xfdcat, params);
let text;
if (!pageobj.exists()) {
text = '{{subst:TfD log}}\n' + added_data;
} else {
const old_text = pageobj.getPageText();
text = old_text.replace('-->', '-->\n' + added_data);
if (text === old_text) {
statelem.error('ku guuldarraystay in la helo goobta bartilmaameedka u ah doodda');
return;
}
}
pageobj.setPageText(text);
pageobj.setEditSummary('/* ' + Morebits.pageNameNorm + ' */ Ku darista ' + (params.xfdcat === 'tfd' ? 'magacaabista tirtiridda' : 'liiska isuxulidda') + ' ee [[:' + Morebits.pageNameNorm + ']].');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('xfdWatchDiscussion'));
pageobj.setCreateOption('recreate');
pageobj.save(() => {
Twinkle.xfd.currentRationale = null;
});
}
},
mfd: {
main: function(apiobj) {
const response = apiobj.getResponse();
const titles = response.query.allpages;
if (titles.length <= 0) {
apiobj.params.numbering = apiobj.params.number = '';
} else {
let number = 0;
for (let i = 0; i < titles.length; ++i) {
const title = titles[i].title;
if (title === 'Wikipedia:Miscellany for deletion/' + Morebits.pageNameNorm) {
number = Math.max(number, 1);
continue;
}
const order_re = new RegExp('^' +
Morebits.string.escapeRegExp('Wikipedia:Miscellany for deletion/' + Morebits.pageNameNorm) +
'\\s*\\(\\s*(\\d+)(?:(?:th|nd|rd|st) nom(?:ination)?)?\\s*\\)\\s*$');
const match = order_re.exec(title);
if (!match) {
continue;
}
number = Math.max(number, Number(match[1]));
}
apiobj.params.number = utils.num2order(parseInt(number, 10) + 1);
apiobj.params.numbering = number > 0 ? ' (' + apiobj.params.number + ' magacaabid)' : '';
}
apiobj.params.discussionpage = 'Wikipedia:Miscellany for deletion/' + Morebits.pageNameNorm + apiobj.params.numbering;
apiobj.statelem.info('xigta ee siday waa [[' + apiobj.params.discussionpage + ']]');
let wikipedia_page;
if (mw.config.get('wgNamespaceNumber') !== 710) {
wikipedia_page = new Morebits.wiki.Page(mw.config.get('wgPageName'), 'Calaamadaynta bogga leh calaamadda tirtiridda');
wikipedia_page.setFollowRedirect(true);
wikipedia_page.setCallbackParameters(apiobj.params);
wikipedia_page.load(Twinkle.xfd.callbacks.mfd.taggingPage);
}
Morebits.wiki.actionCompleted.redirect = apiobj.params.discussionpage;
Morebits.wiki.actionCompleted.notice = 'Magacaabistii waa la dhammeeyay, hadda waxaa loo wareejinayaa bogga doodda';
wikipedia_page = new Morebits.wiki.Page(apiobj.params.discussionpage, 'Abuurista bogga doodda tirtiridda');
wikipedia_page.setCallbackParameters(apiobj.params);
wikipedia_page.load(Twinkle.xfd.callbacks.mfd.discussionPage);
wikipedia_page = new Morebits.wiki.Page('Wikipedia:Miscellany for deletion', "Ku darista doodda liiska maanta");
wikipedia_page.setPageSection(2);
wikipedia_page.setFollowRedirect(true);
wikipedia_page.setCallbackParameters(apiobj.params);
wikipedia_page.load(Twinkle.xfd.callbacks.mfd.todaysList);
if (apiobj.params.notifycreator || apiobj.params.notifyuserspace) {
const thispage = new Morebits.wiki.Page(mw.config.get('wgPageName'));
thispage.setCallbackParameters(apiobj.params);
thispage.lookupCreation(Twinkle.xfd.callbacks.mfd.sendNotifications);
} else {
Twinkle.xfd.callbacks.addToLog(apiobj.params, null);
}
},
taggingPage: function(pageobj) {
const text = pageobj.getPageText();
const params = pageobj.getCallbackParameters();
params.tagText = '{{' + (params.number === '' ? 'mfd' : 'mfdx|' + params.number) + '|help=off}}';
if (['javascript', 'css', 'sanitized-css'].includes(mw.config.get('wgPageContentModel'))) {
params.tagText = '/* ' + params.tagText + ' */\n';
} else {
params.tagText += '\n';
if (params.noinclude) {
params.tagText = '<noinclude>' + params.tagText + '</noinclude>';
}
}
if (pageobj.canEdit() && ['wikitext', 'javascript', 'css', 'sanitized-css'].includes(pageobj.getContentModel())) {
pageobj.setPageText(params.tagText + text);
pageobj.setEditSummary('Waxaa loo magacaabay tirtirid; eeg [[:' + params.discussionpage + ']].');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('xfdWatchPage'));
pageobj.setCreateOption('nocreate');
pageobj.save();
} else {
Twinkle.xfd.callbacks.autoEditRequest(pageobj, params);
}
},
discussionPage: function(pageobj) {
const params = pageobj.getCallbackParameters();
pageobj.setPageText(Twinkle.xfd.callbacks.getDiscussionWikitext('mfd', params));
pageobj.setEditSummary('Abuurista bogga doodda tirtiridda ee [[:' + Morebits.pageNameNorm + ']].');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('xfdWatchDiscussion'));
pageobj.setCreateOption('createonly');
pageobj.save(() => {
Twinkle.xfd.currentRationale = null;
});
},
todaysList: function(pageobj) {
let text = pageobj.getPageText();
const params = pageobj.getCallbackParameters();
const statelem = pageobj.getStatusElement();
const date = new Morebits.Date(pageobj.getLoadTime());
const date_header = date.format('===MMMM D, YYYY===\n', 'utc');
const date_header_regex = new RegExp(date.format('(===[\\s]*MMMM[\\s]+D,[\\s]+YYYY[\\s]*===)', 'utc'));
const added_data = '{{subst:mfd3|pg=' + Morebits.pageNameNorm + params.numbering + '}}';
if (date_header_regex.test(text)) {
statelem.info('Waxaa la helay qaybta maanta, waxaa la sii wadayaa in lagu daro gelitaan cusub');
text = text.replace(date_header_regex, '$1\n' + added_data);
} else {
statelem.info('Lama helin qaybta maanta, waxaa la billaabayaa in la abuuro mid cusub');
text = text.replace('===', date_header + added_data + '\n\n===');
}
pageobj.setPageText(text);
pageobj.setEditSummary('Ku darista [[:' + params.discussionpage + ']].');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('xfdWatchList'));
pageobj.setCreateOption('recreate');
pageobj.setDiscussionToolsAutoSubscribe(false);
pageobj.save();
},
sendNotifications: function(pageobj) {
const initialContrib = pageobj.getCreator();
const params = pageobj.getCallbackParameters();
if (params.notifycreator) {
Twinkle.xfd.callbacks.notifyUser(params, initialContrib);
}
params.userspaceOwner = mw.config.get('wgRelevantUserName');
if (params.notifyuserspace) {
if (params.userspaceOwner !== initialContrib) {
Twinkle.xfd.callbacks.notifyUser(params, params.userspaceOwner, params.notifycreator, 'Ogeysiinta mulkiilaha booska isticmaalaha (' + params.userspaceOwner + ')');
} else if (!params.notifycreator) {
Twinkle.xfd.callbacks.addToLog(params, initialContrib);
}
}
}
},
ffd: {
taggingImage: function(pageobj) {
let text = pageobj.getPageText();
const params = pageobj.getCallbackParameters();
const date = new Morebits.Date(pageobj.getLoadTime()).format('YYYY MMMM D', 'utc');
params.logpage = 'Wikipedia:Files for discussion/' + date;
params.discussionpage = params.logpage + '#' + Morebits.pageNameNorm;
params.tagText = '{{ffd|log=' + date + '|help=off}}\n';
if (pageobj.canEdit()) {
text = Twinkle.removeMoveToCommonsTagsFromWikicode(text);
pageobj.setPageText(params.tagText + text);
pageobj.setEditSummary('Liisgaraynta doodda ee [[:' + params.discussionpage + ']].');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('xfdWatchPage'));
pageobj.setCreateOption('recreate');
pageobj.save();
} else {
Twinkle.xfd.callbacks.autoEditRequest(pageobj, params);
}
Morebits.wiki.actionCompleted.redirect = params.logpage;
Morebits.wiki.actionCompleted.notice = 'Magacaabistii waa la dhammeeyay, hadda waxaa loo wareejinayaa bogga doodda';
const wikipedia_page = new Morebits.wiki.Page(mw.config.get('wgPageName'));
wikipedia_page.setCallbackParameters(params);
wikipedia_page.lookupCreation(Twinkle.xfd.callbacks.ffd.main);
},
main: function(pageobj) {
const params = pageobj.getCallbackParameters();
const initialContrib = pageobj.getCreator();
params.uploader = initialContrib;
const wikipedia_page = new Morebits.wiki.Page(params.logpage, "Ku darista doodda liiska maanta");
wikipedia_page.setFollowRedirect(true);
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.xfd.callbacks.ffd.todaysList);
if (params.notifycreator) {
Twinkle.xfd.callbacks.notifyUser(params, initialContrib);
} else {
Twinkle.xfd.callbacks.addToLog(params, null);
}
},
todaysList: function(pageobj) {
let text = pageobj.getPageText();
const params = pageobj.getCallbackParameters();
if (!pageobj.exists()) {
text = '{{subst:FfD log}}';
}
pageobj.setPageText(text + '\n\n' + Twinkle.xfd.callbacks.getDiscussionWikitext('ffd', params));
pageobj.setEditSummary('Ku darista [[:' + Morebits.pageNameNorm + ']].');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('xfdWatchDiscussion'));
pageobj.setCreateOption('recreate');
pageobj.save(() => {
Twinkle.xfd.currentRationale = null;
});
}
},
cfd: {
main: function(pageobj) {
const params = pageobj.getCallbackParameters();
const date = new Morebits.Date(pageobj.getLoadTime());
params.logpage = 'Wikipedia:Categories for discussion/Log/' + date.format('YYYY MMMM D', 'utc');
params.discussionpage = params.logpage + '#' + Morebits.pageNameNorm;
pageobj.setCallbackParameters(params);
Twinkle.xfd.callbacks.cfd.taggingCategory(pageobj);
Morebits.wiki.actionCompleted.redirect = params.logpage;
Morebits.wiki.actionCompleted.notice = 'Magacaabistii waa la dhammeeyay, hadda waxaa loo wareejinayaa diiwaanka maanta';
let wikipedia_page = new Morebits.wiki.Page(params.logpage, "Ku darista doodda diiwaanka maanta");
wikipedia_page.setFollowRedirect(true);
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.xfd.callbacks.cfd.todaysList);
if (params.notifycreator) {
wikipedia_page = new Morebits.wiki.Page(mw.config.get('wgPageName'));
wikipedia_page.setCallbackParameters(params);
wikipedia_page.lookupCreation((pageobj) => {
Twinkle.xfd.callbacks.notifyUser(pageobj.getCallbackParameters(), pageobj.getCreator());
});
} else {
Twinkle.xfd.callbacks.addToLog(params, null);
}
},
taggingCategory: function(pageobj) {
const text = pageobj.getPageText();
const params = pageobj.getCallbackParameters();
params.tagText = '{{subst:' + params.xfdcat;
let editsummary = (mw.config.get('wgNamespaceNumber') === 14 ? 'Qaybta' : 'Muunadda jaranjarada') +
' waxaa loo tixgelinayaa ' + params.action;
switch (params.xfdcat) {
case 'cfd':
case 'sfd-t':
break;
case 'cfc':
editsummary += ' u beddelidda maqaal';
case 'cfm':
case 'cfr':
case 'sfr-t':
params.tagText += '|' + params.cfdtarget;
break;
case 'cfs':
params.tagText += '|' + params.cfdtarget + '|' + params.cfdtarget2;
break;
default:
alert('twinklexfd ee taggingCategory(): ficil CFD aan la aqoon');
break;
}
params.tagText += '}}\n';
editsummary += '; eeg [[:' + params.discussionpage + ']].';
if (pageobj.canEdit()) {
pageobj.setPageText(params.tagText + text);
pageobj.setEditSummary(editsummary);
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('xfdWatchPage'));
pageobj.setCreateOption('recreate');
pageobj.save();
} else {
Twinkle.xfd.callbacks.autoEditRequest(pageobj, params);
}
},
todaysList: function(pageobj) {
const params = pageobj.getCallbackParameters();
const statelem = pageobj.getStatusElement();
const added_data = Twinkle.xfd.callbacks.getDiscussionWikitext(params.xfdcat, params);
let text;
if (!pageobj.exists()) {
text = '{{subst:CfD log}}\n' + added_data;
} else {
const old_text = pageobj.getPageText();
text = old_text.replace('below this line -->', 'below this line -->\n' + added_data);
if (text === old_text) {
statelem.error('ku guuldarraystay in la helo goobta bartilmaameedka u ah doodda');
return;
}
}
pageobj.setPageText(text);
pageobj.setEditSummary('Ku darista ' + params.action + ' magacaabista [[:' + Morebits.pageNameNorm + ']].');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('xfdWatchDiscussion'));
pageobj.setCreateOption('recreate');
pageobj.save(() => {
Twinkle.xfd.currentRationale = null;
});
}
},
cfds: {
taggingCategory: function(pageobj) {
const text = pageobj.getPageText();
const params = pageobj.getCallbackParameters();
if (params.xfdcat === 'C2F') {
params.tagText = '{{subst:cfm-speedy|1=' + params.cfdstarget.replace(/^:?Category:/, '') + '}}\n';
} else {
params.tagText = '{{subst:cfr-speedy|1=' + params.cfdstarget.replace(/^:?Category:/, '') + '}}\n';
}
params.discussionpage = '';
if (pageobj.canEdit()) {
pageobj.setPageText(params.tagText + text);
pageobj.setEditSummary('Waxaa loo liisgareeyay magac-beddel degdeg ah; eeg [[WP:CFDS|Categories for discussion/Speedy]].');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('xfdWatchPage'));
pageobj.setCreateOption('recreate');
pageobj.save(() => {
Twinkle.xfd.callbacks.addToLog(params, null);
});
} else {
Twinkle.xfd.callbacks.autoEditRequest(pageobj, params);
Twinkle.xfd.callbacks.addToLog(params, null);
}
},
addToList: function(pageobj) {
const old_text = pageobj.getPageText();
const params = pageobj.getCallbackParameters();
const statelem = pageobj.getStatusElement();
const text = old_text.replace('BELOW THIS LINE -->', 'BELOW THIS LINE -->\n' + Twinkle.xfd.callbacks.getDiscussionWikitext('cfds', params));
if (text === old_text) {
statelem.error('ku guuldarraystay in la helo goobta bartilmaameedka u ah doodda');
return;
}
pageobj.setPageText(text);
pageobj.setEditSummary('Ku darista [[:' + Morebits.pageNameNorm + ']].');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('xfdWatchDiscussion'));
pageobj.setCreateOption('recreate');
pageobj.setDiscussionToolsAutoSubscribe(false);
pageobj.save(() => {
Twinkle.xfd.currentRationale = null;
});
}
},
rfd: {
findTarget: function(params, callback) {
const query = {
action: 'query',
curtimestamp: true,
format: 'json'
};
if (document.getElementById('softredirect')) {
params.rfdtarget = document.getElementById('softredirect').textContent.replace(/^:+/, '');
} else {
query.titles = mw.config.get('wgPageName');
query.redirects = true;
}
const wikipedia_api = new Morebits.wiki.Api('Raadinta bartilmaameedka dib-u-jeedinta', query, Twinkle.xfd.callbacks.rfd.findTargetCallback(callback));
wikipedia_api.params = params;
wikipedia_api.post();
},
findTargetCallback: function(callback) {
return function(apiobj) {
const response = apiobj.getResponse();
apiobj.params.curtimestamp = response.curtimestamp;
if (!apiobj.params.rfdtarget) {
const target = response.query.redirects && response.query.redirects[0].to;
if (!target) {
let message = 'Lama helin bartilmaameed. Boggani uma eka dib-u-jeedin, waa la joojinayaa';
if (mw.config.get('wgAction') === 'history') {
message += '. Haddii tani ay tahay dib-u-jeedin jilicsan (soft redirect), ka soo dayday bogga nuxurka, ee ha ka soo dayn taariikhda bogga.';
}
apiobj.statelem.error(message);
return;
}
apiobj.params.rfdtarget = target;
const section = response.query.redirects[0].tofragment;
apiobj.params.section = section;
}
callback(apiobj.params);
};
},
main: function(params) {
const date = new Morebits.Date(params.curtimestamp);
params.logpage = 'Wikipedia:Redirects for discussion/Log/' + date.format('YYYY MMMM D', 'utc');
params.discussionpage = params.logpage + '#' + Morebits.pageNameNorm;
let wikipedia_page = new Morebits.wiki.Page(mw.config.get('wgPageName'), 'Ku darista calaamadda tirtiridda dib-u-jeedinta');
wikipedia_page.setFollowRedirect(false);
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.xfd.callbacks.rfd.taggingRedirect);
Morebits.wiki.actionCompleted.redirect = params.logpage;
Morebits.wiki.actionCompleted.notice = 'Magacaabistii waa la dhammeeyay, hadda waxaa loo wareejinayaa diiwaanka maanta';
wikipedia_page = new Morebits.wiki.Page(params.logpage, "Ku darista doodda diiwaanka maanta");
wikipedia_page.setFollowRedirect(true);
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.xfd.callbacks.rfd.todaysList);
if (params.notifycreator || params.relatedpage) {
const thispage = new Morebits.wiki.Page(mw.config.get('wgPageName'));
thispage.setCallbackParameters(params);
thispage.lookupCreation(Twinkle.xfd.callbacks.rfd.sendNotifications);
} else {
Twinkle.xfd.callbacks.addToLog(params, null);
}
},
taggingRedirect: function(pageobj) {
const text = pageobj.getPageText();
const params = pageobj.getCallbackParameters();
params.tagText = '{{subst:rfd|' + (mw.config.get('wgNamespaceNumber') === 10 ? 'showontransclusion=1|' : '') + 'content=\n';
if (pageobj.canEdit()) {
pageobj.setPageText(params.tagText + text + '\n}}');
pageobj.setEditSummary('Liisgaraynta doodda ee [[:' + params.discussionpage + ']].');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('xfdWatchPage'));
pageobj.setCreateOption('nocreate');
pageobj.save();
} else {
Twinkle.xfd.callbacks.autoEditRequest(pageobj, params);
}
},
todaysList: function(pageobj) {
const params = pageobj.getCallbackParameters();
const statelem = pageobj.getStatusElement();
const added_data = Twinkle.xfd.callbacks.getDiscussionWikitext('rfd', params);
let text;
if (!pageobj.exists()) {
text = '{{subst:RfD log}}' + added_data;
} else {
const old_text = pageobj.getPageText();
text = old_text.replace(/(<!-- Add new entries directly below this line\.? -->)/, '$1\n' + added_data);
if (text === old_text) {
statelem.error('ku guuldarraystay in la helo goobta bartilmaameedka u ah doodda');
return;
}
}
pageobj.setPageText(text);
pageobj.setEditSummary('Ku darista [[:' + params.discussionpage + ']].');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('xfdWatchDiscussion'));
pageobj.setCreateOption('recreate');
pageobj.save(() => {
Twinkle.xfd.currentRationale = null;
});
},
sendNotifications: function(pageobj) {
const initialContrib = pageobj.getCreator();
const params = pageobj.getCallbackParameters();
const statelem = pageobj.getStatusElement();
if (params.notifycreator) {
Twinkle.xfd.callbacks.notifyUser(params, initialContrib);
}
if (params.relatedpage) {
const targetTalk = new mw.Title(params.rfdtarget).getTalkPage();
if (params.rfdtarget === mw.config.get('wgPageName')) {
statelem.warn('Dib-u-jeedin wareegsan; ka boodaya ogeysiiska bogga bartilmaameedka');
} else if (document.getElementById('softredirect')) {
statelem.warn('Dib-u-jeedin jilicsan; ka boodaya ogeysiiska bogga bartilmaameedka');
} else if (targetTalk.getNamespaceId() === 3 && targetTalk.getMainText() === initialContrib) {
statelem.warn('Bartilmaameedku waa tabarucaha asaasiga ah; ka boodaya ogeysiiska bogga bartilmaameedka');
} else if (targetTalk.getNamespaceId() === 3 && targetTalk.getMainText() === mw.config.get('wgUserName')) {
statelem.warn('Adiga (' + mw.config.get('wgUserName') + ') ayaa ah bartilmaameedka; ka boodaya ogeysiiska bogga bartilmaameedka');
} else {
Twinkle.xfd.callbacks.notifyUser(params, targetTalk.toText(), params.notifycreator, 'Ogeysiiska bartilmaameedka dib-u-jeedinta ee doodda');
return;
}
if (!params.notifycreator) {
Twinkle.xfd.callbacks.addToLog(params, null);
}
}
}
},
rm: {
listAtTalk: function(pageobj) {
const params = pageobj.getCallbackParameters();
params.discussionpage = pageobj.getPageName();
pageobj.setAppendText('\n\n' + Twinkle.xfd.callbacks.getDiscussionWikitext('rm', params));
pageobj.setEditSummary(`Soo jeedinta dhaqaaqitaanka ${
params.currentname
.map((currentname, i) => `[[:${currentname}]]${params.newname[i] ? ` ku socota [[:${params.newname[i]}]]` : ''}`)
.join(', ')
}.`);
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setCreateOption('recreate');
pageobj.setWatchlist(Twinkle.getPref('xfdWatchDiscussion'));
pageobj.append(() => {
Twinkle.xfd.currentRationale = null;
Twinkle.xfd.callbacks.addToLog(params, null);
});
},
listAtRMTR: function(pageobj) {
const text = pageobj.getPageText();
const params = pageobj.getCallbackParameters();
const statelem = pageobj.getStatusElement();
const discussionWikitext = Twinkle.xfd.callbacks.getDiscussionWikitext('rm', params);
const newtext = Twinkle.xfd.insertRMTR(text, discussionWikitext);
if (text === newtext) {
statelem.error('ku guuldarraystay in la helo goobta bartilmaameedka u ah gelitaanka');
return;
}
pageobj.setPageText(newtext);
pageobj.setEditSummary(`Ku darista [[:${params.currentname.join(']], [[:')}]].`);
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.save(() => {
Twinkle.xfd.currentRationale = null;
Twinkle.xfd.callbacks.addToLog(params, null);
});
}
}
};
Twinkle.xfd.insertRMTR = function(pageWikitext, wikitextToInsert) {
const placementRE = /\n{1,}(====[^\n]*Requests to revert undiscussed moves ?====)/i;
return pageWikitext.replace(placementRE, '\n' + wikitextToInsert + '\n\n$1');
};
Twinkle.xfd.callback.evaluate = function(e) {
const form = e.target;
const params = Morebits.QuickForm.getInputData(form);
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
Twinkle.xfd.currentRationale = params.reason;
Morebits.Status.onError(Twinkle.xfd.printRationale);
let query, wikipedia_page, wikipedia_api;
switch (params.venue) {
case 'afd':
query = {
action: 'query',
list: 'allpages',
apprefix: 'Articles for deletion/' + Morebits.pageNameNorm,
apnamespace: 4,
apfilterredir: 'nonredirects',
aplimit: 'max',
format: 'json'
};
wikipedia_api = new Morebits.wiki.Api('Calaamadaynta maqaalka leh calaamadda tirtiridda', query, Twinkle.xfd.callbacks.afd.main);
wikipedia_api.params = params;
wikipedia_api.post();
break;
case 'tfd':
if (params.tfdtarget) {
params.tfdtarget = utils.stripNs(params.tfdtarget);
}
params.scribunto = mw.config.get('wgPageContentModel') === 'Scribunto';
if (params.xfdcat === 'tfm') {
if (params.scribunto) {
wikipedia_page = new Morebits.wiki.Page(mw.config.get('wgPageName') + '/doc', 'Calaamadaynta dukumiintiga qaybtan leh calaamadda isuxulidda');
params.otherTemplateName = 'Module:' + params.tfdtarget;
} else {
wikipedia_page = new Morebits.wiki.Page(mw.config.get('wgPageName'), 'Calaamadaynta muunaddan leh calaamadda isuxulidda');
params.otherTemplateName = 'Template:' + params.tfdtarget;
}
} else {
if (params.scribunto) {
wikipedia_page = new Morebits.wiki.Page(mw.config.get('wgPageName') + '/doc', 'Calaamadaynta dukumiintiga qaybta leh calaamadda tirtiridda');
} else {
wikipedia_page = new Morebits.wiki.Page(mw.config.get('wgPageName'), 'Calaamadaynta muunadda leh calaamadda tirtiridda');
}
}
wikipedia_page.setFollowRedirect(true);
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.xfd.callbacks.tfd.main);
break;
case 'mfd':
query = {
action: 'query',
list: 'allpages',
apprefix: 'Miscellany for deletion/' + Morebits.pageNameNorm,
apnamespace: 4,
apfilterredir: 'nonredirects',
aplimit: 'max',
format: 'json'
};
wikipedia_api = new Morebits.wiki.Api('Raadinta magacaabisyada hore ee boggan', query, Twinkle.xfd.callbacks.mfd.main);
wikipedia_api.params = params;
wikipedia_api.post();
break;
case 'ffd':
wikipedia_page = new Morebits.wiki.Page(mw.config.get('wgPageName'), 'Ku darista calaamadda tirtiridda bogga faylka');
wikipedia_page.setFollowRedirect(true);
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.xfd.callbacks.ffd.taggingImage);
break;
case 'cfd':
if (params.cfdtarget) {
params.cfdtarget = utils.stripNs(params.cfdtarget);
} else {
params.cfdtarget = '';
}
if (params.cfdtarget2) {
params.cfdtarget2 = utils.stripNs(params.cfdtarget2);
}
var summaryActions = {
cfd: 'tirtirid',
'sfd-t': 'tirtirid',
cfm: 'isuxulid',
cfr: 'magac-beddel',
'sfr-t': 'magac-beddel',
cfs: 'kala qaybin',
cfc: 'u beddelid'
};
params.action = summaryActions[params.xfdcat];
wikipedia_page = new Morebits.wiki.Page(mw.config.get('wgPageName'), 'Calaamadaynta qaybta leh calaamadda ' + params.action);
wikipedia_page.setFollowRedirect(true);
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.xfd.callbacks.cfd.main);
break;
case 'cfds':
params.cfdstarget = utils.addNs(params.cfdstarget, 14);
var logpage = 'Wikipedia:Categories for discussion/Speedy';
Morebits.wiki.actionCompleted.redirect = logpage;
Morebits.wiki.actionCompleted.notice = 'Magacaabistii waa la dhammeeyay, hadda waxaa loo wareejinayaa bogga doodda';
wikipedia_page = new Morebits.wiki.Page(mw.config.get('wgPageName'), 'Calaamadaynta qaybta leh calaamadda magac-beddelka');
wikipedia_page.setFollowRedirect(true);
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.xfd.callbacks.cfds.taggingCategory);
wikipedia_page = new Morebits.wiki.Page(logpage, 'Ku darista doodda liiska');
wikipedia_page.setFollowRedirect(true);
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.xfd.callbacks.cfds.addToList);
break;
case 'rfd':
Twinkle.xfd.callbacks.rfd.findTarget(params, Twinkle.xfd.callbacks.rfd.main);
break;
case 'rm':
var nomPageName = params.rmtr ?
'Wikipedia:Requested moves/Technical requests' :
new mw.Title(Morebits.pageNameNorm).getTalkPage().toText();
Morebits.wiki.actionCompleted.redirect = nomPageName;
Morebits.wiki.actionCompleted.notice = 'Magacaabistii waa la dhammeeyay, hadda waxaa loo wareejinayaa bogga doodda';
wikipedia_page = new Morebits.wiki.Page(nomPageName, params.rmtr ? 'Ku darista gelitaanka WP:RM/TR' : 'Ku darista gelitaanka bogga wada-hadalka');
wikipedia_page.setFollowRedirect(true);
wikipedia_page.setCallbackParameters(params);
if (params.rmtr) {
wikipedia_page.load(Twinkle.xfd.callbacks.rm.listAtRMTR);
} else {
Twinkle.xfd.callbacks.rm.listAtTalk(wikipedia_page);
}
break;
default:
alert('twinklexfd: goobta doodda XFD ee la aqoon');
break;
}
};
Twinkle.addInitCallback(Twinkle.xfd, 'xfd');
}());
// </nowiki>
57o30tnethee2gq6vq15nohx1v3kji6
MediaWiki:Gadget-twinkleimage.js
8
53680
310868
2026-10-25T11:25:18Z
Isma4l
41797
Abuuray
310868
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinkleimage.js: Qaybta CSD ee Faylka
****************************************
* Qaabka loo yeero: Tab ("DI")
* Ka shaqeeya: Boggaga faylasha maxalliga ah ee aan dib-u-jeedinta ahayn (ee aan ku jirin Commons) - Kaliya boggaga faylasha ee ka jira maxalli ahaan; Faylasha ka jira Commons ma kiciyaan qaybtan.
*/
Twinkle.image = function twinkleimage() {
if (mw.config.get('wgNamespaceNumber') === 6 && mw.config.get('wgArticleId') && !document.getElementById('mw-sharedupload') && !Morebits.isPageRedirect()) {
Twinkle.addPortletLink(Twinkle.image.callback, 'DI', 'tw-di', 'U magacow faylka tirtirid degdeg ah oo la dib dhigay');
}
};
Twinkle.image.callback = function twinkleimageCallback() {
const Window = new Morebits.SimpleWindow(600, 330);
Window.setTitle('Faylka tirtiridda degdegga ah ee taariikhaysan');
Window.setScriptName('Twinkle');
Window.addFooterLink('Siyaasadda tirtiridda degdegga ah', 'WP:CSD#Files');
Window.addFooterLink('Doorbidyada sawirka', 'WP:TW/PREF#image');
Window.addFooterLink('Caawinta Twinkle', 'WP:TW/DOC#image');
Window.addFooterLink('Bixi ra’yi-celin', 'WT:TW');
const form = new Morebits.QuickForm(Twinkle.image.callback.evaluate);
form.append({
type: 'checkbox',
list: [
{
label: 'Ogeysii abuuruha asaasiga ah',
value: 'notify',
name: 'notify',
tooltip: 'Ka saar calaamaddan haddii aad qorsheyneyso inaad sameyso magacaabid badan oo ka yimid isticmaale isla mid ah, oo aadan rabin inaad ku cuslayso boggooda wada-hadalka ogeysiisyo aad u badan.',
checked: Twinkle.getPref('notifyUserOnDeli')
}
]
}
);
const field = form.append({
type: 'field',
label: 'Nooca ficilka la rabo'
});
field.append({
type: 'radio',
name: 'type',
event: Twinkle.image.callback.choice,
list: [
{
label: 'Ilo la\'aan (CSD F4)',
value: 'no source',
checked: true,
tooltip: 'Sawirka ama warbaahintu ma laha macluumaad ilo ah'
},
{
label: 'Sugo shuruud la\'aan (CSD F4)',
value: 'no license',
tooltip: 'Sawirka ama warbaahintu ma laha macluumaad ku saabsan xaaladdeeda xuquuqda daabacaadda'
},
{
label: 'Ilo la\'aan iyo sugo shuruud la\'aan (CSD F4)',
value: 'no source no license',
tooltip: 'Sawirka ama warbaahintu ma laha macluumaad ku saabsan ilaha ama xaaladdeeda xuquuqda daabacaadda'
},
{
label: 'Isticmaalka aan xorta ahayn ee la gooyay (CSD F5)',
value: 'orphaned non-free use',
tooltip: 'Sawirka ama warbaahintu waa mid aan shuruud lahayn oo loogu talagalay in lagu isticmaalo Wikipedia waxaana loo oggol yahay oo keliya iyada oo la raacayo sheegashada isticmaalka caddaaladda ah iyada oo la raacayo Wikipedia:Non-free content, laakiin lama isticmaalo wax maqaallo ah'
},
{
label: 'Ma jiro caddayn isticmaalka aan xorta ahayn (CSD F6)',
value: 'no non-free use rationale',
tooltip: 'Sawirka ama warbaahinta waxaa la sheegay in lagu isticmaalo siyaasadda isticmaalka caddaaladda ah ee Wikipedia laakiin ma laha sharraxaad ku saabsan sababta loo oggol yahay iyada oo la raacayo siyaasadda'
},
{
label: 'Sababaynta isticmaalka aan xorta ahayn ee la isku haysto (CSD F7)',
value: 'disputed non-free use rationale',
tooltip: 'Sawirka ama warbaahintu waxay leedahay sababaynta isticmaalka caddaaladda ah oo la isku haysto ama aan ansax ahayn, sida calaamadda {{Non-free logo}} oo ku taal sawirka maaskaro'
},
{
label: 'Isticmaalka aan xorta ahayn ee beddelka leh (CSD F7)',
value: 'replaceable non-free use',
tooltip: 'Sawirka ama warbaahintu waxaa laga yaabaa inay ku guuldarraysato shuruudaha ugu horreeya ee nuxurka aan xorta ahayn ee Wikipedia ([[WP:NFCC#1]]) taas oo ah inay muujineyso mowduuc kaas oo sawir xor ah si macquul ah loo heli karo ama loo abuuri karo kaas oo si ku filan u bixiya isla macluumaadka'
},
{
label: 'Ma jiro caddayn oggolaansho (CSD F11)',
value: 'no permission',
tooltip: 'Sawirka ama warbaahintu ma laha caddayn muujineysa in qoraagu oggolaaday inuu shati siiyo faylka'
}
]
});
form.append({
type: 'div',
label: 'Goobta shaqada',
name: 'work_area'
});
form.append({ type: 'submit' });
const result = form.render();
Window.setContent(result);
Window.display();
const evt = document.createEvent('Event');
evt.initEvent('change', true, true);
result.type[0].dispatchEvent(evt);
};
Twinkle.image.callback.choice = function twinkleimageCallbackChoose(event) {
const value = event.target.values;
const root = event.target.form;
const work_area = new Morebits.QuickForm.Element({
type: 'div',
name: 'work_area'
});
switch (value) {
case 'no source no license':
case 'no source':
work_area.append({
type: 'checkbox',
list: [
{
label: 'Aan xor ahayn',
name: 'non_free',
tooltip: 'Faylka waxaa lagu shatiyeeyey sheegashada isticmaalka caddaaladda ah'
}
]
});
/* falls through */
case 'no license':
work_area.append({
type: 'checkbox',
list: [
{
name: 'derivative',
label: 'Shaqo ka dhalatay oo ka maqan ilo loogu talagalay shaqooyinka lagu daray',
tooltip: 'Faylka waa mid ka dhashay hal ama in ka badan oo shaqooyin kale ah kuwaas oo ilahooda aan la cayimin'
}
]
});
break;
case 'no permission':
work_area.append({
type: 'input',
name: 'source',
label: 'Isha:'
});
break;
case 'disputed non-free use rationale':
work_area.append({
type: 'textarea',
name: 'reason',
label: 'Walaaca:'
});
break;
case 'orphaned non-free use':
work_area.append({
type: 'input',
name: 'replacement',
label: 'Beddelka:',
tooltip: 'Faylka ikhtiyaariga ah ee beddelaya kan. Horgalaha "File:" waa ikhtiyaari.'
});
break;
case 'replaceable non-free use':
work_area.append({
type: 'textarea',
name: 'reason',
label: 'Sababta:'
});
break;
default:
break;
}
root.replaceChild(work_area.render(), $(root).find('div[name="work_area"]')[0]);
};
Twinkle.image.callback.evaluate = function twinkleimageCallbackEvaluate(event) {
const input = Morebits.QuickForm.getInputData(event.target);
if (input.replacement) {
input.replacement = (new RegExp('^' + Morebits.namespaceRegex(6) + ':', 'i').test(input.replacement) ? '' : 'File:') + input.replacement;
}
let csdcrit;
switch (input.type) {
case 'no source no license':
case 'no source':
case 'no license':
csdcrit = 'F4';
break;
case 'orphaned non-free use':
csdcrit = 'F5';
break;
case 'no non-free use rationale':
csdcrit = 'F6';
break;
case 'disputed non-free use rationale':
case 'replaceable non-free use':
csdcrit = 'F7';
break;
case 'no permission':
csdcrit = 'F11';
break;
default:
throw new Error('Twinkle.image.callback.evaluate: shuruud aan la aqoon');
}
const lognomination = Twinkle.getPref('logSpeedyNominations') && !Twinkle.getPref('noLogOnSpeedyNomination').includes(csdcrit.toLowerCase());
const templatename = input.derivative ? 'dw ' + input.type : input.type;
const params = $.extend({
templatename: templatename,
normalized: csdcrit,
lognomination: lognomination
}, input);
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(event.target);
Morebits.wiki.actionCompleted.redirect = mw.config.get('wgPageName');
Morebits.wiki.actionCompleted.notice = 'Calaamadaynta waa la dhammeeyay';
const wikipedia_page = new Morebits.wiki.Page(mw.config.get('wgPageName'), 'Calaamadaynta faylka leh calaamadda tirtiridda');
wikipedia_page.setCallbackParameters(params);
wikipedia_page.load(Twinkle.image.callbacks.taggingImage);
if (input.notify) {
wikipedia_page.lookupCreation(Twinkle.image.callbacks.userNotification);
} else {
if (lognomination) {
Twinkle.image.callbacks.addToLog(params, null);
}
const noteData = document.createElement('pre');
noteData.appendChild(document.createTextNode('{{subst:di-' + templatename + '-notice|1=' + mw.config.get('wgTitle') + '}} ~~~~'));
Morebits.Status.info('Ogeysiis', ['Xogta soo socota/la mid ah waa in loo dhejiyaa abuuruha asaasiga ah:', document.createElement('br'), noteData]);
}
};
Twinkle.image.callbacks = {
taggingImage: function(pageobj) {
let text = pageobj.getPageText();
const params = pageobj.getCallbackParameters();
text = Twinkle.removeMoveToCommonsTagsFromWikicode(text);
let tag = '{{di-' + params.templatename + '|date={{subst:#time:j F Y}}';
switch (params.type) {
case 'no source no license':
case 'no source':
tag += params.non_free ? '|non-free=yes' : '';
break;
case 'no permission':
tag += params.source ? '|source=' + params.source : '';
break;
case 'disputed non-free use rationale':
tag += params.reason ? '|concern=' + params.reason : '';
break;
case 'orphaned non-free use':
tag += params.replacement ? '|replacement=' + params.replacement : '';
break;
case 'replaceable non-free use':
tag += params.reason ? '|1=' + params.reason : '';
break;
default:
break;
}
tag += '|help=off}}\n';
pageobj.setPageText(tag + text);
pageobj.setEditSummary('Faylkan wuxuu u taagan yahay tirtirid, iyadoo la raacayo [[WP:CSD#' + params.normalized + '|CSD ' + params.normalized + ']] (' + params.type + ').');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setWatchlist(Twinkle.getPref('deliWatchPage'));
pageobj.setCreateOption('nocreate');
pageobj.save();
},
userNotification: function(pageobj) {
const params = pageobj.getCallbackParameters();
const initialContrib = pageobj.getCreator();
if (initialContrib === mw.config.get('wgUserName')) {
pageobj.getStatusElement().warn('Adiga (' + initialContrib + ') ayaa abuuray boggan; ka boodaya ogeysiiska isticmaalaha');
} else {
const usertalkpage = new Morebits.wiki.Page('User talk:' + initialContrib, 'Ogeysiiska tabaruca asaasiga ah (' + initialContrib + ')');
let notifytext = '\n{{subst:di-' + params.templatename + '-notice|1=' + mw.config.get('wgTitle');
if (params.type === 'no permission') {
notifytext += params.source ? '|source=' + params.source : '';
}
notifytext += '}} ~~~~';
usertalkpage.setAppendText(notifytext);
usertalkpage.setEditSummary('Ogeysiis: calaamadaynta tirtiridda [[:' + Morebits.pageNameNorm + ']].');
usertalkpage.setChangeTags(Twinkle.changeTags);
usertalkpage.setCreateOption('recreate');
usertalkpage.setWatchlist(Twinkle.getPref('deliWatchUser'));
usertalkpage.setFollowRedirect(true, false);
usertalkpage.append();
}
if (params.lognomination) {
Twinkle.image.callbacks.addToLog(params, initialContrib);
}
},
addToLog: function(params, initialContrib) {
const usl = new Morebits.UserspaceLogger(Twinkle.getPref('speedyLogPageName'));
usl.initialText =
"Kani waa diiwaanka dhammaan [[WP:CSD|tirtiridda degdegga ah]] ee uu sameeyay isticmaalahan isagoo adeegsanaya qaybta CSD ee [[WP:TW|Twinkle]].\n\n" +
'Haddii aadan dambe rabin inaad hayso diiwaankan, waad damin kartaa adigoo adeegsanaya [[Wikipedia:Twinkle/Preferences|guddiga doorbidyada]], oo ' +
'u sharraxa boggan tirtirid degdeg ah hoos yimaada [[WP:CSD#U1|CSD U1]].' +
(Morebits.userIsSysop ? '\n\nDiiwaankani ma la socdo tirtiridda degdegga ah ee tooska ah ee la adeegsaday Twinkle.' : '');
const formatParamLog = function(normalize, csdparam, input) {
if (normalize === 'F5' && csdparam === 'replacement') {
input = '[[:' + input + ']]';
}
return ' {' + normalize + ' ' + csdparam + ': ' + input + '}';
};
let extraInfo = '';
const fileLogLink = ' ([{{fullurl:Special:Log|page=' + mw.util.wikiUrlencode(mw.config.get('wgPageName')) + '}} diiwaan])';
let appendText = '# [[:' + Morebits.pageNameNorm + ']]' + fileLogLink + ': DI [[WP:CSD#' + params.normalized.toUpperCase() + '|CSD ' + params.normalized.toUpperCase() + ']] ({{tl|di-' + params.templatename + '}})';
['reason', 'replacement', 'source'].forEach((item) => {
if (params[item]) {
extraInfo += formatParamLog(params.normalized.toUpperCase(), item, params[item]);
return false;
}
});
if (extraInfo) {
appendText += '; macluumaad dheeri ah:' + extraInfo;
}
if (initialContrib) {
appendText += '; ogeysiiyay {{user|1=' + initialContrib + '}}';
}
appendText += ' ~~~~~\n';
const editsummary = 'Diiwaangelinta magacaabista tirtiridda degdegga ah ee [[:' + Morebits.pageNameNorm + ']].';
usl.changeTags = Twinkle.changeTags;
usl.log(appendText, editsummary);
}
};
Twinkle.addInitCallback(Twinkle.image, 'image');
}());
// </nowiki>
0yodg48ghobd1d4vp58mqa4gtf430e2
MediaWiki:Gadget-twinkleprotect.js
8
53681
310869
2026-10-25T11:27:30Z
Isma4l
41797
Abuuray
310869
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinkleprotect.js: Qaybta Ilaalinta/RPP
****************************************
* Qaabka loo yeero: Tab ("PP"/"RPP")
* Ka shaqeeya: Boggaga aan gaarka ahayn, ee aan ahayn MediaWiki
*/
Twinkle.protect = function twinkleprotect() {
if (mw.config.get('wgNamespaceNumber') < 0 || mw.config.get('wgNamespaceNumber') === 8) {
return;
}
Twinkle.addPortletLink(Twinkle.protect.callback, Morebits.userIsSysop ? 'PP' : 'RPP', 'tw-rpp',
Morebits.userIsSysop ? 'Ilaali bogga' : 'Codsow ilaalinta bogga');
};
Twinkle.protect.callback = function twinkleprotectCallback() {
const Window = new Morebits.SimpleWindow(620, 530);
Window.setTitle(Morebits.userIsSysop ? 'Dab qaad, codso ama calaamadi ilaalinta bogga' : 'Codso ama calaamadi ilaalinta bogga');
Window.setScriptName('Twinkle');
Window.addFooterLink('Muunadaha ilaalinta', 'Template:Protection templates');
Window.addFooterLink('Siyaasadda ilaalinta', 'WP:PROT');
Window.addFooterLink('Caawinta Twinkle', 'WP:TW/DOC#protect');
Window.addFooterLink('Bixi ra’yi-celin', 'WT:TW');
const form = new Morebits.QuickForm(Twinkle.protect.callback.evaluate);
const actionfield = form.append({
type: 'field',
label: 'Nooca ficilka'
});
if (Morebits.userIsSysop) {
actionfield.append({
type: 'radio',
name: 'actiontype',
event: Twinkle.protect.callback.changeAction,
list: [
{
label: 'Ilaali bogga',
value: 'protect',
tooltip: 'Dab qaad ilaalinta dhabta ah ee bogga.',
checked: true
}
]
});
}
actionfield.append({
type: 'radio',
name: 'actiontype',
event: Twinkle.protect.callback.changeAction,
list: [
{
label: 'Codso ilaalinta bogga',
value: 'request',
tooltip: 'Haddii aad rabto inaad codsato ilaalinta iyada oo la marayo WP:RPP' + (Morebits.userIsSysop ? ' halkii aad adigu iska ilaalin lahayd.' : '.'),
checked: !Morebits.userIsSysop
},
{
label: 'Calaamadi bogga muunadda ilaalinta',
value: 'tag',
tooltip: 'Haddii maamulaha ilaalinta uu iloobay inuu dabaqo muunadda ilaalinta, ama aad hadda u ID ilaalisay bogga adigoon calaamadin, waxaad isticmaali kartaa tan si aad u dabaqdo calaamadda ilaalinta ee habboon.',
disabled: mw.config.get('wgArticleId') === 0 || mw.config.get('wgPageContentModel') === 'Scribunto' || mw.config.get('wgNamespaceNumber') === 710
}
]
});
form.append({ type: 'field', label: 'Hordhac', name: 'field_preset' });
form.append({ type: 'field', label: '1', name: 'field1' });
form.append({ type: 'field', label: '2', name: 'field2' });
form.append({ type: 'submit' });
const result = form.render();
Window.setContent(result);
Window.display();
const evt = document.createEvent('Event');
evt.initEvent('change', true, true);
result.actiontype[0].dispatchEvent(evt);
Twinkle.protect.fetchProtectionLevel();
};
Twinkle.protect.trustedBots = ['MusikBot II', 'TFA Protector Bot'];
const hasFlaggedRevs = mw.loader.getState('ext.flaggedRevs.review') &&
(mw.config.get('wgNamespaceNumber') === 0 || mw.config.get('wgNamespaceNumber') === 4);
const isTemplate = mw.config.get('wgNamespaceNumber') === 10 || mw.config.get('wgNamespaceNumber') === 828;
Twinkle.protect.currentProtectionLevels = {};
Twinkle.protect.fetchProtectingAdmin = function twinkleprotectFetchProtectingAdmin(api, pageName, protType, logIds) {
logIds = logIds || [];
return api.get({
format: 'json',
action: 'query',
list: 'logevents',
letitle: pageName,
letype: protType
}).then((data) => {
const event = data.query ? $.grep(data.query.logevents, (le) => $.inArray(le.logid, logIds))[0] : null;
if (!event) {
return null;
} else if (event.action === 'move_prot' || event.action === 'move_stable') {
return twinkleprotectFetchProtectingAdmin(api, protType === 'protect' ? event.params.oldtitle_title : event.params.oldtitle, protType, logIds.concat(event.logid));
}
return event.user;
});
};
Twinkle.protect.fetchProtectionLevel = function twinkleprotectFetchProtectionLevel() {
const api = new mw.Api();
const protectDeferred = api.get({
format: 'json',
indexpageids: true,
action: 'query',
list: 'logevents',
letype: 'protect',
letitle: mw.config.get('wgPageName'),
prop: hasFlaggedRevs ? 'info|flagged' : 'info',
inprop: 'protection|watched',
titles: mw.config.get('wgPageName')
});
const stableDeferred = api.get({
format: 'json',
action: 'query',
list: 'logevents',
letype: 'stable',
letitle: mw.config.get('wgPageName')
});
const earlyDecision = [protectDeferred];
if (hasFlaggedRevs) {
earlyDecision.push(stableDeferred);
}
$.when.apply($, earlyDecision).done((protectData, stableData) => {
protectData = $(protectData).toArray();
const pageid = protectData[0].query.pageids[0];
const page = protectData[0].query.pages[pageid];
const current = {};
let adminEditDeferred;
Twinkle.protect.watched = page.watchlistexpiry || page.watched === '';
$.each(page.protection, (index, protection) => {
if (!protection.source) {
current[protection.type] = {
level: protection.level,
expiry: protection.expiry,
cascade: protection.cascade === ''
};
if (!adminEditDeferred) {
adminEditDeferred = Twinkle.protect.fetchProtectingAdmin(api, mw.config.get('wgPageName'), 'protect');
}
} else {
current.cascading = {
expiry: protection.expiry,
source: protection.source,
level: protection.level
};
}
});
if (page.flagged) {
current.stabilize = {
level: page.flagged.protection_level,
expiry: page.flagged.protection_expiry
};
adminEditDeferred = Twinkle.protect.fetchProtectingAdmin(api, mw.config.get('wgPageName'), 'stable');
}
Twinkle.protect.hasProtectLog = !!protectData[0].query.logevents.length;
Twinkle.protect.protectLog = Twinkle.protect.hasProtectLog && protectData[0].query.logevents;
Twinkle.protect.hasStableLog = hasFlaggedRevs ? !!stableData[0].query.logevents.length : false;
Twinkle.protect.stableLog = Twinkle.protect.hasStableLog && stableData[0].query.logevents;
Twinkle.protect.currentProtectionLevels = current;
if (adminEditDeferred) {
adminEditDeferred.done((admin) => {
if (admin) {
$.each(['edit', 'move', 'create', 'stabilize', 'cascading'], (i, type) => {
if (Twinkle.protect.currentProtectionLevels[type]) {
Twinkle.protect.currentProtectionLevels[type].admin = admin;
}
});
}
Twinkle.protect.callback.showLogAndCurrentProtectInfo();
});
} else {
Twinkle.protect.callback.showLogAndCurrentProtectInfo();
}
});
};
Twinkle.protect.callback.showLogAndCurrentProtectInfo = function twinkleprotectCallbackShowLogAndCurrentProtectInfo() {
const currentlyProtected = !$.isEmptyObject(Twinkle.protect.currentProtectionLevels);
if (Twinkle.protect.hasProtectLog || Twinkle.protect.hasStableLog) {
const $linkMarkup = $('<span>');
if (Twinkle.protect.hasProtectLog) {
$linkMarkup.append(
$('<a target="_blank" href="' + mw.util.getUrl('Special:Log', {action: 'view', page: mw.config.get('wgPageName'), type: 'protect'}) + '">diiwaanka ilaalinta</a>'));
if (!currentlyProtected || (!Twinkle.protect.currentProtectionLevels.edit && !Twinkle.protect.currentProtectionLevels.move)) {
const lastProtectAction = Twinkle.protect.protectLog[0];
if (lastProtectAction.action === 'unprotect') {
$linkMarkup.append(' (ilaalinta laga qaaday ' + new Morebits.Date(lastProtectAction.timestamp).calendar('utc') + ')');
} else {
$linkMarkup.append(' (dhacay ' + new Morebits.Date(lastProtectAction.params.details[0].expiry).calendar('utc') + ')');
}
}
$linkMarkup.append(Twinkle.protect.hasStableLog ? $('<span> • </span>') : null);
}
if (Twinkle.protect.hasStableLog) {
$linkMarkup.append($('<a target="_blank" href="' + mw.util.getUrl('Special:Log', {action: 'view', page: mw.config.get('wgPageName'), type: 'stable'}) + '">diiwaanka isbeddellada sugaya</a>)'));
if (!currentlyProtected || !Twinkle.protect.currentProtectionLevels.stabilize) {
const lastStabilizeAction = Twinkle.protect.stableLog[0];
if (lastStabilizeAction.action === 'reset') {
$linkMarkup.append(' (dib loo habeeyay ' + new Morebits.Date(lastStabilizeAction.timestamp).calendar('utc') + ')');
} else {
$linkMarkup.append(' (dhacay ' + new Morebits.Date(lastStabilizeAction.params.expiry).calendar('utc') + ')');
}
}
}
Morebits.Status.init($('div[name="hasprotectlog"] span')[0]);
Morebits.Status.warn(
currentlyProtected ? 'Iaalintii hore' : 'Boggan waa la ilaaliyay markii hore',
$linkMarkup[0]
);
}
Morebits.Status.init($('div[name="currentprot"] span')[0]);
let protectionNode = [], statusLevel = 'info';
if (currentlyProtected) {
$.each(Twinkle.protect.currentProtectionLevels, (type, settings) => {
let label = type === 'stabilize' ? 'Isbeddellada Sugaya' : Morebits.string.toUpperCaseFirstChar(type);
if (type === 'cascading') {
label = 'Iaalinta isku xigta ';
protectionNode.push($('<b>' + label + '</b>')[0]);
if (settings.source) {
const sourceLink = '<a target="_blank" href="' + mw.util.getUrl(settings.source) + '">' + settings.source + '</a>';
protectionNode.push($('<span>ka yimid ' + sourceLink + '</span>')[0]);
}
} else {
let level = settings.level;
if (settings.cascade) {
level += ' (isku xigta)';
}
protectionNode.push($('<b>' + label + ': ' + level + '</b>')[0]);
}
if (settings.expiry === 'infinity') {
protectionNode.push(' (aan la cayimin) ');
} else {
protectionNode.push(' (dhacaysa ' + new Morebits.Date(settings.expiry).calendar('utc') + ') ');
}
if (settings.admin) {
const adminLink = '<a target="_blank" href="' + mw.util.getUrl('User talk:' + settings.admin) + '">' + settings.admin + '</a>';
protectionNode.push($('<span>oo ay sameeyay ' + adminLink + '</span>')[0]);
}
protectionNode.push($('<span> \u2022 </span>')[0]);
});
protectionNode = protectionNode.slice(0, -1);
statusLevel = 'warn';
} else {
protectionNode.push($('<b>ilaalin la\'aan</b>')[0]);
}
Morebits.Status[statusLevel]('Heerka ilaalinta ee hadda', protectionNode);
};
Twinkle.protect.callback.changeAction = function twinkleprotectCallbackChangeAction(e) {
let field_preset;
let field1;
let field2;
switch (e.target.values) {
case 'protect':
field_preset = new Morebits.QuickForm.Element({ type: 'field', label: 'Hordhac', name: 'field_preset' });
field_preset.append({
type: 'select',
name: 'category',
label: 'Dooro hordhac:',
event: Twinkle.protect.callback.changePreset,
list: mw.config.get('wgArticleId') ? Twinkle.protect.protectionTypes : Twinkle.protect.protectionTypesCreate
});
field2 = new Morebits.QuickForm.Element({ type: 'field', label: 'Ikhtiyaarada ilaalinta', name: 'field2' });
field2.append({ type: 'div', name: 'currentprot', label: ' ' });
field2.append({ type: 'div', name: 'hasprotectlog', label: ' ' });
if (mw.config.get('wgArticleId')) {
field2.append({
type: 'checkbox',
event: Twinkle.protect.formevents.editmodify,
list: [
{
label: 'Wax ka beddel ilaalinta tafatirka',
name: 'editmodify',
tooltip: 'Haddii tan la damiyo, heerka ilaalinta tafatirka, iyo wakhtiga dhicitaanka, waxaa loo daynayaa sida ay yihiin.',
checked: true
}
]
});
field2.append({
type: 'select',
name: 'editlevel',
label: 'Yaa tafatiri kara:',
event: Twinkle.protect.formevents.editlevel,
list: Twinkle.protect.protectionLevels.filter((level) => isTemplate || level.value !== 'templateeditor')
});
field2.append({
type: 'select',
name: 'editexpiry',
label: 'Dhacaya:',
event: function(e) {
if (e.target.value === 'custom') {
Twinkle.protect.doCustomExpiry(e.target);
}
},
list: Twinkle.protect.protectionLengths
});
field2.append({
type: 'checkbox',
event: Twinkle.protect.formevents.movemodify,
list: [
{
label: 'Wax ka beddel ilaalinta guuritaanka',
name: 'movemodify',
tooltip: 'Haddii tan la damiyo, heerka ilaalinta guuritaanka, iyo wakhtiga dhicitaanka, waxaa loo daynayaa sida ay yihiin.',
checked: true
}
]
});
field2.append({
type: 'select',
name: 'movelevel',
label: 'Yaa guuri kara:',
event: Twinkle.protect.formevents.movelevel,
list: Twinkle.protect.protectionLevels.filter((level) => level.value !== 'autoconfirmed' && (isTemplate || level.value !== 'templateeditor'))
});
field2.append({
type: 'select',
name: 'moveexpiry',
label: 'Dhacaya:',
event: function(e) {
if (e.target.value === 'custom') {
Twinkle.protect.doCustomExpiry(e.target);
}
},
list: Twinkle.protect.protectionLengths
});
if (hasFlaggedRevs) {
field2.append({
type: 'checkbox',
event: Twinkle.protect.formevents.pcmodify,
list: [
{
label: 'Wax ka beddel ilaalinta isbeddellada sugaya',
name: 'pcmodify',
tooltip: 'Haddii tan la damiyo, heerka isbeddellada sugaya, iyo wakhtiga dhicitaanka, waxaa loo daynayaa sida ay yihiin.',
checked: true
}
]
});
field2.append({
type: 'select',
name: 'pclevel',
label: 'Isbeddellada sugaya:',
event: Twinkle.protect.formevents.pclevel,
list: [
{ label: 'Waxba', value: 'none' },
{ label: 'Isbeddel sugaya', value: 'autoconfirmed', selected: true }
]
});
field2.append({
type: 'select',
name: 'pcexpiry',
label: 'Dhacaya:',
event: function(e) {
if (e.target.value === 'custom') {
Twinkle.protect.doCustomExpiry(e.target);
}
},
list: Twinkle.protect.protectionLengths
});
}
} else {
field2.append({
type: 'select',
name: 'createlevel',
label: 'Iaalinta abuurista:',
event: Twinkle.protect.formevents.createlevel,
list: Twinkle.protect.protectionLevels.filter((level) => level.value !== 'templateeditor' && (mw.config.get('wgNamespaceNumber') !== 0 || level.value !== 'autoconfirmed'))
});
field2.append({
type: 'select',
name: 'createexpiry',
label: 'Dhacaya:',
event: function(e) {
if (e.target.value === 'custom') {
Twinkle.protect.doCustomExpiry(e.target);
}
},
list: Twinkle.protect.protectionLengths
});
}
field2.append({
type: 'textarea',
name: 'protectReason',
label: 'Sababta (diiwaanka ilaalinta):'
});
field2.append({
type: 'div',
name: 'protectReason_notes',
label: 'Xusuusin:',
style: 'display:inline-block; margin-top:4px;',
tooltip: 'Ku dar xusuusin diiwaanka ilaalinta in tan laga codsaday RfPP.'
});
field2.append({
type: 'checkbox',
event: Twinkle.protect.callback.annotateProtectReason,
style: 'display:inline-block; margin-top:4px;',
list: [
{
label: 'Codsiga RfPP',
name: 'protectReason_notes_rfpp',
checked: false,
value: 'requested at [[WP:RfPP]]'
}
]
});
field2.append({
type: 'input',
event: Twinkle.protect.callback.annotateProtectReason,
label: 'Aqoonsiga dib-u-eegista RfPP (revid)',
name: 'protectReason_notes_rfppRevid',
value: '',
tooltip: 'Aqoonsiga dib-u-eegista ikhtiyaariga ah ee bogga RfPP halkaas oo laga codsaday ilaalinta.'
});
if (!mw.config.get('wgArticleId') || mw.config.get('wgPageContentModel') === 'Scribunto' || mw.config.get('wgNamespaceNumber') === 710) {
break;
}
case 'tag':
field1 = new Morebits.QuickForm.Element({ type: 'field', label: 'Ikhtiyaarada calaamadaynta', name: 'field1' });
field1.append({ type: 'div', name: 'currentprot', label: ' ' });
field1.append({ type: 'div', name: 'hasprotectlog', label: ' ' });
field1.append({
type: 'select',
name: 'tagtype',
label: 'Dooro muunadda ilaalinta:',
list: Twinkle.protect.protectionTags,
event: Twinkle.protect.formevents.tagtype
});
var isTemplateNamespace = mw.config.get('wgNamespaceNumber') === 10;
var isAFD = Morebits.pageNameNorm.startsWith('Wikipedia:Articles for deletion/');
var isCode = ['javascript', 'css', 'sanitized-css'].includes(mw.config.get('wgPageContentModel'));
field1.append({
type: 'checkbox',
list: [
{
name: 'small',
label: 'Calaamad yar (small=yes)',
tooltip: 'Wuxuu isticmaali doonaa sifada |small=yes ee muunadda, wuxuuna u soo bandhigi doonaa si kooban',
checked: true
},
{
name: 'noinclude',
label: 'Ku duub muunadda ilaalinta <noinclude>',
tooltip: 'Waxay ku duubaysaa muunadda ilaalinta calaamado <noinclude>, si aysan u muuqan',
checked: (isTemplateNamespace || isAFD) && !isCode
}
]
});
break;
case 'request':
field_preset = new Morebits.QuickForm.Element({ type: 'field', label: 'Nooca ilaalinta', name: 'field_preset' });
field_preset.append({
type: 'select',
name: 'category',
label: 'Nooca iyo sababta:',
event: Twinkle.protect.callback.changePreset,
list: mw.config.get('wgArticleId') ? Twinkle.protect.protectionTypes : Twinkle.protect.protectionTypesCreate
});
field1 = new Morebits.QuickForm.Element({ type: 'field', label: 'Ikhtiyaarada', name: 'field1' });
field1.append({ type: 'div', name: 'currentprot', label: ' ' });
field1.append({ type: 'div', name: 'hasprotectlog', label: ' ' });
field1.append({
type: 'select',
name: 'expiry',
label: 'Muddada:',
list: [
{ label: '', selected: true, value: '' },
{ label: 'Kumeel gaar ah', value: 'temporary' },
{ label: 'Aan la cayimin', value: 'infinity' }
]
});
field1.append({
type: 'textarea',
name: 'reason',
label: 'Sababta:'
});
break;
default:
alert("Wax qaldan ayaa ka jira twinkleprotect");
break;
}
let oldfield;
if (field_preset) {
oldfield = $(e.target.form).find('fieldset[name="field_preset"]')[0];
oldfield.parentNode.replaceChild(field_preset.render(), oldfield);
} else {
$(e.target.form).find('fieldset[name="field_preset"]').css('display', 'none');
}
if (field1) {
oldfield = $(e.target.form).find('fieldset[name="field1"]')[0];
oldfield.parentNode.replaceChild(field1.render(), oldfield);
} else {
$(e.target.form).find('fieldset[name="field1"]').css('display', 'none');
}
if (field2) {
oldfield = $(e.target.form).find('fieldset[name="field2"]')[0];
oldfield.parentNode.replaceChild(field2.render(), oldfield);
} else {
$(e.target.form).find('fieldset[name="field2"]').css('display', 'none');
}
if (e.target.values === 'protect') {
const evt = document.createEvent('Event');
evt.initEvent('change', true, true);
e.target.form.category.dispatchEvent(evt);
$(e.target.form).find('fieldset[name="field2"] select').parent().css({ display: 'inline-block', marginRight: '0.5em' });
$(e.target.form).find('fieldset[name="field2"] input[name="protectReason_notes_rfppRevid"]').parent().css({display: 'inline-block', marginLeft: '15px'}).hide();
}
Twinkle.protect.callback.showLogAndCurrentProtectInfo();
};
Twinkle.protect.formevents = {
editmodify: function twinkleprotectFormEditmodifyEvent(e) {
e.target.form.editlevel.disabled = !e.target.checked;
e.target.form.editexpiry.disabled = !e.target.checked || (e.target.form.editlevel.value === 'all');
e.target.form.editlevel.style.color = e.target.form.editexpiry.style.color = e.target.checked ? '' : 'transparent';
},
editlevel: function twinkleprotectFormEditlevelEvent(e) {
e.target.form.editexpiry.disabled = e.target.value === 'all';
},
movemodify: function twinkleprotectFormMovemodifyEvent(e) {
if (e.target.form.movelevel.disabled && !e.target.form.editlevel.disabled) {
e.target.form.movelevel.value = e.target.form.editlevel.value;
e.target.form.moveexpiry.value = e.target.form.editexpiry.value;
} else if (e.target.form.editlevel.disabled) {
e.target.form.movelevel.value = 'sysop';
e.target.form.moveexpiry.value = 'infinity';
}
e.target.form.movelevel.disabled = !e.target.checked;
e.target.form.moveexpiry.disabled = !e.target.checked || (e.target.form.movelevel.value === 'all');
e.target.form.movelevel.style.color = e.target.form.moveexpiry.style.color = e.target.checked ? '' : 'transparent';
},
movelevel: function twinkleprotectFormMovelevelEvent(e) {
e.target.form.moveexpiry.disabled = e.target.value === 'all';
},
pcmodify: function twinkleprotectFormPcmodifyEvent(e) {
e.target.form.pclevel.disabled = !e.target.checked;
e.target.form.pcexpiry.disabled = !e.target.checked || (e.target.form.pclevel.value === 'none');
e.target.form.pclevel.style.color = e.target.form.pcexpiry.style.color = e.target.checked ? '' : 'transparent';
},
pclevel: function twinkleprotectFormPclevelEvent(e) {
e.target.form.pcexpiry.disabled = e.target.value === 'none';
},
createlevel: function twinkleprotectFormCreatelevelEvent(e) {
e.target.form.createexpiry.disabled = e.target.value === 'all';
},
tagtype: function twinkleprotectFormTagtypeEvent(e) {
e.target.form.small.disabled = e.target.form.noinclude.disabled = (e.target.value === 'none') || (e.target.value === 'noop');
}
};
Twinkle.protect.doCustomExpiry = function twinkleprotectDoCustomExpiry(target) {
const custom = prompt('Geli wakhti dhicitaan oo gaar ah. \nWaad isticmaali kartaa wakhtiyada qaraabada ah, sida "1 minute" ama "19 days", ama calaamadaha wakhtiga sugan, "yyyymmddhhmm" (tusaale "200602011405" waa Feb 1, 2006, saacaddu marka ay ahayd 14:05 UTC).', '');
if (custom) {
const option = document.createElement('option');
option.setAttribute('value', custom);
option.textContent = custom;
target.appendChild(option);
target.value = custom;
} else {
target.selectedIndex = 0;
}
};
Twinkle.protect.protectionLevels = [
{ label: 'Dhammaan', value: 'all' },
{ label: 'La xaqiijiyay', value: 'autoconfirmed' },
{ label: 'La xaqiijiyay ee la ballaariyay', value: 'extendedconfirmed' },
{ label: 'Tifatiraha muunadda', value: 'templateeditor' },
{ label: 'Maamule (Sysop)', value: 'sysop', selected: true }
];
Twinkle.protect.protectionLengths = [
{ label: '1 saacad', value: '1 hour' },
{ label: '2 saacadood', value: '2 hours' },
{ label: '3 saacadood', value: '3 hours' },
{ label: '6 saacadood', value: '6 hours' },
{ label: '12 saacadood', value: '12 hours' },
{ label: '1 maalin', value: '1 day' },
{ label: '2 maalmood', value: '2 days' },
{ label: '3 maalmood', value: '3 days' },
{ label: '4 maalmood', value: '4 days' },
{ label: '10 maalmood', value: '10 days' },
{ label: '1 toddobaad', value: '1 week' },
{ label: '2 toddobaad', value: '2 weeks' },
{ label: '1 bil', value: '1 month' },
{ label: '2 bilood', value: '2 months' },
{ label: '3 bilood', value: '3 months' },
{ label: '6 bilood', value: '6 months' },
{ label: '1 sano', value: '1 year' },
{ label: '2 sano', value: '2 years' },
{ label: 'aan la cayimin', value: 'infinity' },
{ label: 'Gaar ah...', value: 'custom' }
];
Twinkle.protect.protectionTypes = [
{ label: 'Ilaalinta oo laga qaado', value: 'unprotect' },
{
label: 'Ilaalin buuxda',
list: [
{ label: 'Guud (buuxda)', value: 'pp-protected' },
{ label: 'Khilaafka nuxurka / dagaalka tafatirka (buuxda)', value: 'pp-dispute' },
{ label: 'Burburinta joogtada ah (buuxda)', value: 'pp-vandalism' },
{ label: 'Wada-hadalka isticmaala ee isticmaalaha la xiray (buuxda)', value: 'pp-usertalk' }
]
},
{
label: 'Ilaalinta muunadda',
list: [
{ label: 'Muunad si weyn loo adeegsado (TE)', value: 'pp-template' }
]
},
{
label: 'Ilaalinta la xaqiijiyay ee la ballaariyay',
list: [
{ label: 'Guud (ECP)', value: 'pp-30-500' },
{ label: 'Fulinta dhexdhexaadinta (ECP)', selected: true, value: 'pp-30-500-arb' },
{ label: 'Burburinta joogtada ah (ECP)', value: 'pp-30-500-vandalism' },
{ label: 'Tafatirka qasan (ECP)', value: 'pp-30-500-disruptive' },
{ label: 'Xadgudubyada siyaasadda BLP (ECP)', value: 'pp-30-500-blp' },
{ label: 'Isku-ekaanshaha saaxiibada (Sockpuppetry) (ECP)', value: 'pp-30-500-sock' }
]
},
{
label: 'Ilaalin-badh',
list: [
{ label: 'Guud (badh)', value: 'pp-semi-protected' },
{ label: 'Burburinta joogtada ah (badh)', selected: true, value: 'pp-semi-vandalism' },
{ label: 'Tafatirka qasan (badh)', value: 'pp-semi-disruptive' },
{ label: 'Ku darista nuxur aan lahayn ilo (badh)', value: 'pp-semi-unsourced' },
{ label: 'Xadgudubyada siyaasadda BLP (badh)', value: 'pp-semi-blp' },
{ label: 'Isku-ekaanshaha saaxiibada (Sockpuppetry) (badh)', value: 'pp-semi-sock' },
{ label: 'Wada-hadalka isticmaala ee isticmaalaha la xiray (badh)', value: 'pp-semi-usertalk' },
{ label: 'Guddiga LTA (badh)', value: 'pp-sock-noticeboard' }
]
},
{
label: 'Isbeddellada sugaya',
list: [
{ label: 'Guud (PC)', value: 'pp-pc-protected' },
{ label: 'Burburinta joogtada ah (PC)', value: 'pp-pc-vandalism' },
{ label: 'Tafatirka qasan (PC)', value: 'pp-pc-disruptive' },
{ label: 'Ku darista nuxur aan lahayn ilo (PC)', value: 'pp-pc-unsourced' },
{ label: 'Xadgudubyada siyaasadda BLP (PC)', value: 'pp-pc-blp' }
]
},
{
label: 'Ilaalinta guuritaanka',
list: [
{ label: 'Guud (guurid)', value: 'pp-move' },
{ label: 'Khilaafka / dagaalka guuritaanka (guurid)', value: 'pp-move-dispute' },
{ label: 'Burburinta guuritaanka bogga (guurid)', value: 'pp-move-vandalism' },
{ label: 'Bog si weyn loo arko (guurid)', value: 'pp-move-indef' }
]
}
]
.filter((type) => (isTemplate || type.label !== 'Ilaalinta muunadda') && (hasFlaggedRevs || type.label !== 'Isbeddellada sugaya'));
Twinkle.protect.protectionTypesCreate = [
{ label: 'Ilaalinta oo laga qaado', value: 'unprotect' },
{
label: 'Ilaalinta abuurista',
list: [
{ label: 'Magac cay ah', value: 'pp-create-offensive' },
{ label: 'Marar badan la sameeyay', selected: true, value: 'pp-create-salt' },
{ label: 'BLP dhowaan la tirtiray', value: 'pp-create-blp' }
]
}
];
Twinkle.protect.protectionWeight = {
sysop: 40,
templateeditor: 30,
extendedconfirmed: 20,
autoconfirmed: 10,
flaggedrevs_autoconfirmed: 5,
all: 0,
flaggedrevs_none: 0
};
Twinkle.protect.protectionPresetsInfo = {
'pp-protected': {
edit: 'sysop',
move: 'sysop',
reason: null
},
'pp-dispute': {
edit: 'sysop',
move: 'sysop',
reason: '[[WP:PP#Content disputes|Dagaalka tafatirka / khilaafka nuxurka]]'
},
'pp-sock-noticeboard': {
edit: 'autoconfirmed',
expiry: '2 hours',
reason: '[[WP:Sock puppetry|Isku-ekaanshaha saaxiibada (Sock puppetry)]] joogto ah',
template: 'pp-sock'
},
'pp-vandalism': {
edit: 'sysop',
move: 'sysop',
reason: '[[WP:Vandalism|Burburin]] joogto ah'
},
'pp-usertalk': {
edit: 'sysop',
move: 'sysop',
expiry: 'infinity',
reason: '[[WP:PP#Talk-page protection|Isticmaalka aan habboonayn ee bogga wada-hadalka isticmaalaha inta la xiray]]'
},
'pp-template': {
edit: 'templateeditor',
move: 'templateeditor',
expiry: 'infinity',
reason: '[[WP:High-risk templates|Muunad si weyn loo adeegsado]]'
},
'pp-30-500-arb': {
edit: 'extendedconfirmed',
move: 'extendedconfirmed',
expiry: 'infinity',
reason: '[[WP:ARBECR|Fulinta dhexdhexaadinta]]',
template: 'pp-extended'
},
'pp-30-500-vandalism': {
edit: 'extendedconfirmed',
move: 'extendedconfirmed',
reason: '[[WP:Vandalism|Burburin]] joogto ah oo ka timid xisaabaadka (auto)confirmed',
template: 'pp-extended'
},
'pp-30-500-disruptive': {
edit: 'extendedconfirmed',
move: 'extendedconfirmed',
reason: '[[WP:Disruptive editing|Tafatir qasan]] oo joogto ah oo ka timid xisaabaadka (auto)confirmed',
template: 'pp-extended'
},
'pp-30-500-blp': {
edit: 'extendedconfirmed',
move: 'extendedconfirmed',
reason: 'Xadgudubyada joogtada ah ee [[WP:BLP|siyaasadda taariikh-nololeedyada dadka nool]] ee ka timid xisaabaadka (auto)confirmed',
template: 'pp-extended'
},
'pp-30-500-sock': {
edit: 'extendedconfirmed',
move: 'extendedconfirmed',
reason: '[[WP:Sock puppetry|Isku-ekaanshaha saaxiibada (Sock puppetry)]] joogto ah',
template: 'pp-extended'
},
'pp-30-500': {
edit: 'extendedconfirmed',
move: 'extendedconfirmed',
reason: null,
template: 'pp-extended'
},
'pp-semi-vandalism': {
edit: 'autoconfirmed',
reason: '[[WP:Vandalism|Burburin]] joogto ah',
template: 'pp-vandalism'
},
'pp-semi-disruptive': {
edit: 'autoconfirmed',
reason: '[[WP:Disruptive editing|Tafatir qasan]] joogto ah',
template: 'pp-protected'
},
'pp-semi-unsourced': {
edit: 'autoconfirmed',
reason: 'Ku darista joogtada ah ee [[WP:INTREF|nuxur aan lahayn ilo ama ilo liita]]',
template: 'pp-protected'
},
'pp-semi-blp': {
edit: 'autoconfirmed',
reason: 'Xadgudubyada [[WP:BLP|siyaasadda taariikh-nololeedyada dadka nool]]',
template: 'pp-blp'
},
'pp-semi-usertalk': {
edit: 'autoconfirmed',
expiry: 'infinity',
reason: '[[WP:PP#Talk-page protection|Isticmaalka aan habboonayn ee bogga wada-hadalka isticmaalaha inta la xiray]]',
template: 'pp-usertalk'
},
'pp-semi-template': {
edit: 'autoconfirmed',
expiry: 'infinity',
reason: '[[WP:High-risk templates|Muunad si weyn loo adeegsado]]',
template: 'pp-template'
},
'pp-semi-sock': {
edit: 'autoconfirmed',
reason: '[[WP:Sock puppetry|Isku-ekaanshaha saaxiibada (Sock puppetry)]] joogto ah',
template: 'pp-sock'
},
'pp-semi-protected': {
edit: 'autoconfirmed',
reason: null,
template: 'pp-protected'
},
'pp-pc-vandalism': {
stabilize: 'autoconfirmed',
reason: '[[WP:Vandalism|Burburin]] joogto ah',
template: 'pp-pc'
},
'pp-pc-disruptive': {
stabilize: 'autoconfirmed',
reason: '[[WP:Disruptive editing|Tafatir qasan]] joogto ah',
template: 'pp-pc'
},
'pp-pc-unsourced': {
stabilize: 'autoconfirmed',
reason: 'Ku darista joogtada ah ee [[WP:INTREF|nuxur aan lahayn ilo ama ilo liita]]',
template: 'pp-pc'
},
'pp-pc-blp': {
stabilize: 'autoconfirmed',
reason: 'Xadgudubyada [[WP:BLP|siyaasadda taariikh-nololeedyada dadka nool]]',
template: 'pp-pc'
},
'pp-pc-protected': {
stabilize: 'autoconfirmed',
reason: null,
template: 'pp-pc'
},
'pp-move': {
move: 'sysop',
reason: null
},
'pp-move-dispute': {
move: 'sysop',
reason: '[[WP:MOVP|Dagaalka guuritaanka]]'
},
'pp-move-vandalism': {
move: 'sysop',
reason: '[[WP:MOVP|Burburinta guuritaanka bogga]]'
},
'pp-move-indef': {
move: 'sysop',
expiry: 'infinity',
reason: '[[WP:MOVP|Bog si weyn loo arko]]'
},
unprotect: {
edit: 'all',
move: 'all',
stabilize: 'none',
create: 'all',
reason: null,
template: 'none'
},
'pp-create-offensive': {
create: 'sysop',
reason: '[[WP:SALT|Magac cay ah]]'
},
'pp-create-salt': {
create: 'extendedconfirmed',
reason: '[[WP:SALT|Marar badan la sameeyay]]'
},
'pp-create-blp': {
create: 'extendedconfirmed',
reason: '[[WP:BLPDEL|BLP dhowaan la tirtiray]]'
}
};
Twinkle.protect.protectionTags = [
{
label: 'Waxba (ka saar muunadaha ilaalinta ee jira)',
value: 'none'
},
{
label: 'Waxba (ha ka saarin muunadaha ilaalinta ee jira)',
value: 'noop'
},
{
label: 'Muunadaha ilaalinta tafatirka',
list: [
{ label: '{{pp-vandalism}}: burburin', value: 'pp-vandalism' },
{ label: '{{pp-dispute}}: khilaaf / dagaal tafatir', value: 'pp-dispute' },
{ label: '{{pp-blp}}: xadgudubyada BLP', value: 'pp-blp' },
{ label: '{{pp-sock}}: isku-ekaanshaha saaxiibada (Sockpuppetry)', value: 'pp-sock' },
{ label: '{{pp-template}}: muunad khatar sare leh', value: 'pp-template' },
{ label: '{{pp-usertalk}}: wada-hadalka isticmaala ee la xiray', value: 'pp-usertalk' },
{ label: '{{pp-protected}}: ilaalin guud', value: 'pp-protected' },
{ label: '{{pp-semi-indef}}: ilaalin-badh guud oo muddo dheer ah', value: 'pp-semi-indef' },
{ label: '{{pp-extended}}: ilaalin la xaqiijiyay oo la ballaariyay', value: 'pp-extended' }
]
},
{
label: 'Muunadaha isbeddellada sugaya',
list: [
{ label: '{{pp-pc}}: isbeddellada sugaya', value: 'pp-pc' }
]
},
{
label: 'Muunadaha ilaalinta guuritaanka',
list: [
{ label: '{{pp-move-dispute}}: khilaaf / dagaal guurid', value: 'pp-move-dispute' },
{ label: '{{pp-move-vandalism}}: burburinta guuritaanka bogga', value: 'pp-move-vandalism' },
{ label: '{{pp-move-indef}}: guud muddo dheer ah', value: 'pp-move-indef' },
{ label: '{{pp-move}}: kale', value: 'pp-move' }
]
}
]
.filter((type) => hasFlaggedRevs || type.label !== 'Muunadaha isbeddellada sugaya');
Twinkle.protect.callback.changePreset = function twinkleprotectCallbackChangePreset(e) {
const form = e.target.form;
const actiontypes = form.actiontype;
let actiontype;
for (let i = 0; i < actiontypes.length; i++) {
if (!actiontypes[i].checked) {
continue;
}
actiontype = actiontypes[i].values;
break;
}
if (actiontype === 'protect') {
const item = Twinkle.protect.protectionPresetsInfo[form.category.value];
if (mw.config.get('wgArticleId')) {
if (item.edit) {
form.editmodify.checked = true;
Twinkle.protect.formevents.editmodify({ target: form.editmodify });
form.editlevel.value = item.edit;
Twinkle.protect.formevents.editlevel({ target: form.editlevel });
} else {
form.editmodify.checked = false;
Twinkle.protect.formevents.editmodify({ target: form.editmodify });
}
if (item.move) {
form.movemodify.checked = true;
Twinkle.protect.formevents.movemodify({ target: form.movemodify });
form.movelevel.value = item.move;
Twinkle.protect.formevents.movelevel({ target: form.movelevel });
} else {
form.movemodify.checked = false;
Twinkle.protect.formevents.movemodify({ target: form.movemodify });
}
form.editexpiry.value = form.moveexpiry.value = item.expiry || '2 days';
if (form.pcmodify) {
if (item.stabilize) {
form.pcmodify.checked = true;
Twinkle.protect.formevents.pcmodify({ target: form.pcmodify });
form.pclevel.value = item.stabilize;
Twinkle.protect.formevents.pclevel({ target: form.pclevel });
} else {
form.pcmodify.checked = false;
Twinkle.protect.formevents.pcmodify({ target: form.pcmodify });
}
form.pcexpiry.value = item.expiry || '1 month';
}
} else {
if (item.create) {
form.createlevel.value = item.create;
Twinkle.protect.formevents.createlevel({ target: form.createlevel });
}
form.createexpiry.value = item.expiry || 'infinity';
}
const reasonField = actiontype === 'protect' ? form.protectReason : form.reason;
if (item.reason) {
reasonField.value = item.reason;
} else {
reasonField.value = '';
}
Twinkle.protect.callback.annotateProtectReason(e);
if (mw.config.get('wgArticleId') && mw.config.get('wgPageContentModel') !== 'Scribunto' && mw.config.get('wgNamespaceNumber') !== 710) {
if (form.category.value === 'unprotect') {
form.tagtype.value = 'none';
} else {
form.tagtype.value = item.template ? item.template : form.category.value;
}
Twinkle.protect.formevents.tagtype({ target: form.tagtype });
const isTemplateEditorProtection = form.category.value === 'pp-template';
const isAFD = Morebits.pageNameNorm.startsWith('Wikipedia:Articles for deletion/');
const isNotTemplateNamespace = mw.config.get('wgNamespaceNumber') !== 10;
const isCode = ['javascript', 'css', 'sanitized-css'].includes(mw.config.get('wgPageContentModel'));
if ((isTemplateEditorProtection || isAFD) && !isCode) {
form.noinclude.checked = true;
} else if (isCode || isNotTemplateNamespace) {
form.noinclude.checked = false;
}
}
} else {
if (form.category.value === 'unprotect') {
form.expiry.value = '';
form.expiry.disabled = true;
} else {
form.expiry.value = '';
form.expiry.disabled = false;
}
}
};
Twinkle.protect.callback.evaluate = function twinkleprotectCallbackEvaluate(e) {
const form = e.target;
const input = Morebits.QuickForm.getInputData(form);
let tagparams;
if (input.actiontype === 'tag' || (input.actiontype === 'protect' && mw.config.get('wgArticleId') && mw.config.get('wgPageContentModel') !== 'Scribunto' && mw.config.get('wgNamespaceNumber') !== 710)) {
tagparams = {
tag: input.tagtype,
reason: false,
small: input.small,
noinclude: input.noinclude
};
}
switch (input.actiontype) {
case 'protect':
Morebits.wiki.actionCompleted.redirect = mw.config.get('wgPageName');
Morebits.wiki.actionCompleted.notice = 'Ilaalintu waa dhammaatay';
var statusInited = false;
var thispage;
var allDone = function twinkleprotectCallbackAllDone() {
if (thispage) {
thispage.getStatusElement().info('la dhammeeyay');
}
if (tagparams) {
Twinkle.protect.callbacks.taggingPageInitial(tagparams);
}
};
var protectIt = function twinkleprotectCallbackProtectIt(next) {
thispage = new Morebits.wiki.Page(mw.config.get('wgPageName'), 'Ilaalinaya bogga');
if (mw.config.get('wgArticleId')) {
if (input.editmodify) {
thispage.setEditProtection(input.editlevel, input.editexpiry);
}
if (input.movemodify) {
if (input.movelevel) {
thispage.setMoveProtection(input.movelevel, input.moveexpiry);
} else {
alert('Waa inaad doorataa heerka ilaalinta guuritaanka!');
return;
}
}
thispage.setWatchlist(Twinkle.getPref('watchProtectedPages'));
} else {
thispage.setCreateProtection(input.createlevel, input.createexpiry);
thispage.setWatchlist(false);
}
if (input.protectReason) {
thispage.setEditSummary(input.protectReason);
} else {
alert('Waa inaad gelisaa sabab ilaalinta, taas oo lagu qori doonaa diiwaanka ilaalinta.');
return;
}
if (input.protectReason_notes_rfppRevid && !/^\d+$/.test(input.protectReason_notes_rfppRevid)) {
alert('Aqoonsiga dib-u-eegista ee la bixiyay waa khalad. Fadlan eeg https://en.wikipedia.org/wiki/Help:Permanent_link wixii macluumaad ah ee ku saabsan sida loo helo aqoonsiga saxda ah (sidoo kale loo yaqaan "oldid").');
return;
}
if (!statusInited) {
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
statusInited = true;
}
thispage.setChangeTags(Twinkle.changeTags);
thispage.protect(next);
};
var stabilizeIt = function twinkleprotectCallbackStabilizeIt() {
if (thispage) {
thispage.getStatusElement().info('la dhammeeyay');
}
thispage = new Morebits.wiki.Page(mw.config.get('wgPageName'), 'Dabaqaya ilaalinta isbeddellada sugaya');
thispage.setFlaggedRevs(input.pclevel, input.pcexpiry);
if (input.protectReason) {
thispage.setEditSummary(input.protectReason + Twinkle.summaryAd);
} else {
alert('Waa inaad gelisaa sabab ilaalinta, taas oo lagu qori doonaa diiwaanka ilaalinta.');
return;
}
if (!statusInited) {
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
statusInited = true;
}
thispage.setWatchlist(Twinkle.getPref('watchProtectedPages'));
thispage.stabilize(allDone, (error) => {
if (error.errorCode === 'stabilize_denied') {
thispage.StatusElement.error('Wuu ku guuldarraystay isku dayga wax-ka-beddelka dejinta isbeddellada sugaya, malaha waxaa sababay cayayaan mediawiki ah. Ficillada kale (calaamadaynta ama ilaalinta caadiga ah) waxaa laga yaabaa inay dhaceen. Fadlan dib u rar bogga oo isku day mar kale.');
}
});
};
if (input.editmodify || input.movemodify || !mw.config.get('wgArticleId')) {
if (input.pcmodify) {
protectIt(stabilizeIt);
} else {
protectIt(allDone);
}
} else if (input.pcmodify) {
stabilizeIt();
} else {
alert("Fadlan siiso Twinkle wax ay qabato! \nHaddii aad rabto inaad calaamadayso bogga, waxaad dooran kartaa ikhtiyaarka 'Calaamadi bogga muunadda ilaalinta' ee xagga sare.");
}
break;
case 'tag':
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
Morebits.wiki.actionCompleted.redirect = mw.config.get('wgPageName');
Morebits.wiki.actionCompleted.followRedirect = false;
Morebits.wiki.actionCompleted.notice = 'Calaamadaynta waa la dhammeeyay';
Twinkle.protect.callbacks.taggingPageInitial(tagparams);
break;
case 'request':
var typename, typereason;
switch (input.category) {
case 'pp-dispute':
case 'pp-vandalism':
case 'pp-usertalk':
case 'pp-protected':
typename = 'ilaalin buuxda';
break;
case 'pp-template':
typename = 'ilaalinta muunadda';
break;
case 'pp-30-500-arb':
case 'pp-30-500-vandalism':
case 'pp-30-500-disruptive':
case 'pp-30-500-blp':
case 'pp-30-500-sock':
case 'pp-30-500':
typename = 'ilaalinta la xaqiijiyay ee la ballaariyay';
break;
case 'pp-sock-noticeboard':
case 'pp-semi-vandalism':
case 'pp-semi-disruptive':
case 'pp-semi-unsourced':
case 'pp-semi-usertalk':
case 'pp-semi-sock':
case 'pp-semi-blp':
case 'pp-semi-protected':
typename = 'ilaalin-badh';
break;
case 'pp-pc-vandalism':
case 'pp-pc-blp':
case 'pp-pc-protected':
case 'pp-pc-unsourced':
case 'pp-pc-disruptive':
typename = 'isbeddellada sugaya';
break;
case 'pp-move':
case 'pp-move-dispute':
case 'pp-move-indef':
case 'pp-move-vandalism':
typename = 'ilaalinta guuritaanka';
break;
case 'pp-create-offensive':
case 'pp-create-blp':
case 'pp-create-salt':
typename = 'ilaalinta abuurista';
break;
case 'unprotect':
var admins = $.map(Twinkle.protect.currentProtectionLevels, (pl) => {
if (!pl.admin || Twinkle.protect.trustedBots.includes(pl.admin)) {
return null;
}
return 'User:' + pl.admin;
});
if (admins.length && !confirm('Ma isku dayday inaad la xiriirto maamulayaasha ilaalinaya (' + Morebits.array.uniq(admins).join(', ') + ') marka hore?')) {
return false;
}
default:
typename = 'ilaalinta laga qaado';
break;
}
switch (input.category) {
case 'pp-dispute':
typereason = 'Khilaafka nuxurka / dagaalka tafatirka';
break;
case 'pp-vandalism':
case 'pp-semi-vandalism':
case 'pp-pc-vandalism':
case 'pp-30-500-vandalism':
typereason = '[[WP:VAND|Burburin]] joogto ah';
break;
case 'pp-semi-disruptive':
case 'pp-pc-disruptive':
case 'pp-30-500-disruptive':
typereason = '[[Wikipedia:Disruptive editing|Tafatir qasan]] joogto ah';
break;
case 'pp-semi-unsourced':
case 'pp-pc-unsourced':
typereason = 'Ku darista joogtada ah ee [[WP:INTREF|nuxur aan lahayn ilo ama ilo liita]]';
break;
case 'pp-template':
typereason = '[[WP:HIGHRISK|Muunad khatar sare leh]]';
break;
case 'pp-30-500-arb':
typereason = '[[WP:30/500|Fulinta dhexdhexaadinta]]';
break;
case 'pp-usertalk':
case 'pp-semi-usertalk':
typereason = 'Isticmaalka aan habboonayn ee bogga wada-hadalka isticmaalaha inta la xiray';
break;
case 'pp-sock-noticeboard':
case 'pp-semi-sock':
case 'pp-30-500-sock':
typereason = '[[WP:SOCK|Isku-ekaanshaha saaxiibada (Sockpuppetry)]] joogto ah';
break;
case 'pp-semi-blp':
case 'pp-pc-blp':
case 'pp-30-500-blp':
typereason = 'Xadgudubyada siyaasadda [[WP:BLP|BLP]]';
break;
case 'pp-move-dispute':
typereason = 'Khilaafka cinwaanka bogga / dagaalka guuritaanka';
break;
case 'pp-move-vandalism':
typereason = 'Burburinta guuritaanka bogga';
break;
case 'pp-move-indef':
typereason = 'Bog si weyn loo arko';
break;
case 'pp-create-offensive':
typereason = 'Magac cay ah';
break;
case 'pp-create-blp':
typereason = '[[WP:BLP|BLP]] dhowaan la tirtiray';
break;
case 'pp-create-salt':
typereason = 'Marar badan la sameeyay';
break;
default:
typereason = '';
break;
}
var reason = typereason;
if (input.reason !== '') {
if (typereason !== '') {
reason += '\u00A0\u2013 ';
}
reason += input.reason;
}
if (reason !== '' && reason.charAt(reason.length - 1) !== '.') {
reason += '.';
}
var rppparams = {
reason: reason,
typename: typename,
category: input.category,
expiry: input.expiry
};
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
var rppName = 'Wikipedia:Requests for page protection/Increase';
Morebits.wiki.actionCompleted.redirect = 'Wikipedia: Requests for page protection';
Morebits.wiki.actionCompleted.notice = 'Magacaabistii waa la dhammeeyay, hadda waxaa loo wareejinayaa bogga doodda';
var rppPage = new Morebits.wiki.Page(rppName, 'Codsashada ilaalinta bogga');
rppPage.setFollowRedirect(true);
rppPage.setCallbackParameters(rppparams);
rppPage.load(Twinkle.protect.callbacks.fileRequest);
break;
default:
alert('twinkleprotect: nooc ficil ah oo aan la aqoon');
break;
}
};
Twinkle.protect.protectReasonAnnotations = [];
Twinkle.protect.callback.annotateProtectReason = function twinkleprotectCallbackAnnotateProtectReason(e) {
const form = e.target.form;
const protectReason = form.protectReason.value.replace(new RegExp('(?:; )?' + mw.util.escapeRegExp(Twinkle.protect.protectReasonAnnotations.join(': '))), '');
if (this.name === 'protectReason_notes_rfpp') {
if (this.checked) {
Twinkle.protect.protectReasonAnnotations.push(this.value);
$(form.protectReason_notes_rfppRevid).parent().show();
} else {
Twinkle.protect.protectReasonAnnotations = [];
form.protectReason_notes_rfppRevid.value = '';
$(form.protectReason_notes_rfppRevid).parent().hide();
}
} else if (this.name === 'protectReason_notes_rfppRevid') {
Twinkle.protect.protectReasonAnnotations = Twinkle.protect.protectReasonAnnotations.filter((el) => !el.includes('[[Special:Permalink'));
if (e.target.value.length) {
const permalink = '[[Special:Permalink/' + e.target.value + '#' + Morebits.pageNameNorm + ']]';
Twinkle.protect.protectReasonAnnotations.push(permalink);
}
}
if (!Twinkle.protect.protectReasonAnnotations.length) {
form.protectReason.value = protectReason;
} else {
form.protectReason.value = (protectReason ? protectReason + '; ' : '') + Twinkle.protect.protectReasonAnnotations.join(': ');
}
};
Twinkle.protect.callbacks = {
taggingPageInitial: function(tagparams) {
if (tagparams.tag === 'noop') {
Morebits.Status.info('Dabaqaya muunadda ilaalinta', 'wax la qabto ma jiraan');
return;
}
const protectedPage = new Morebits.wiki.Page(mw.config.get('wgPageName'), 'Calaamadaynaya bogga');
protectedPage.setCallbackParameters(tagparams);
protectedPage.load(Twinkle.protect.callbacks.taggingPage);
},
taggingPage: function(protectedPage) {
const params = protectedPage.getCallbackParameters();
let text = protectedPage.getPageText();
let tag, summary;
const oldtag_re = /(?:\/\*)?\s*(?:<noinclude>)?\s*\{\{\s*(pp-[^{}]*?|protected|(?:t|v|s|p-|usertalk-v|usertalk-s|sb|move)protected(?:2)?|protected template|privacy protection)\s*?\}\}\s*(?:<\/noinclude>)?\s*(?:\*\/)?\s*/gi;
const re_result = oldtag_re.exec(text);
if (re_result) {
if (params.tag === 'none' || confirm('{{' + re_result[1] + '}} waxaa laga helay bogga. \nGuji OK si aad uga saarto, ama guji Cancel si aad halkaas ugu dayato.')) {
text = text.replace(oldtag_re, '');
}
}
if (params.tag === 'none') {
summary = 'Ka saarista muunadda ilaalinta';
} else {
tag = params.tag;
if (params.reason) {
tag += '|reason=' + params.reason;
}
if (params.small) {
tag += '|small=yes';
}
if (/^\s*#redirect/i.test(text)) {
if (!text.match(/{{(?:redr|this is a redirect|r(?:edirect)?(?:.?cat.*)?[ _]?sh)/i)) {
text = text.replace(/#REDIRECT ?(\[\[.*?\]\])(.*)/i, '#REDIRECT $1$2\n\n{{' + tag + '}}');
} else {
Morebits.Status.info('Qolof qaybta dib-u-jeedinta ayaa jirta', 'wax la qabto ma jiraan');
return;
}
} else {
const needsTagToBeCommentedOut = ['javascript', 'css', 'sanitized-css'].includes(protectedPage.getContentModel());
if (needsTagToBeCommentedOut) {
if (params.noinclude) {
tag = '/* <noinclude>{{' + tag + '}}</noinclude> */';
} else {
tag = '/* {{' + tag + '}} */\n';
}
text = tag + text;
} else {
if (params.noinclude) {
tag = '<noinclude>{{' + tag + '}}</noinclude>';
if (text.startsWith('==')) {
tag += '\n';
}
} else {
tag = '{{' + tag + '}}\n';
}
const wikipage = new Morebits.wikitext.Page(text);
text = wikipage.insertAfterTemplates(tag, Twinkle.hatnoteRegex).getText();
}
}
summary = 'Ku darista {{' + params.tag + '}}';
}
protectedPage.setEditSummary(summary);
protectedPage.setChangeTags(Twinkle.changeTags);
protectedPage.setWatchlist(Twinkle.getPref('watchPPTaggedPages'));
protectedPage.setPageText(text);
protectedPage.setCreateOption('nocreate');
protectedPage.suppressProtectWarning();
protectedPage.save();
},
fileRequest: function(rppPage) {
const rppPage2 = new Morebits.wiki.Page('Wikipedia:Requests for page protection/Decrease', 'Soo dejinta boggaga codsiyada');
rppPage2.load(() => {
const params = rppPage.getCallbackParameters();
let text = rppPage.getPageText();
const statusElement = rppPage.getStatusElement();
let text2 = rppPage2.getPageText();
const rppRe = new RegExp('===\\s*(\\[\\[)?\\s*:?\\s*' + Morebits.string.escapeRegExp(Morebits.pageNameNorm) + '\\s*(\\]\\])?\\s*===', 'm');
const tag = rppRe.exec(text) || rppRe.exec(text2);
const rppLink = document.createElement('a');
rppLink.setAttribute('href', mw.util.getUrl('Wikipedia:Requests for page protection'));
rppLink.appendChild(document.createTextNode('Wikipedia:Requests for page protection'));
if (tag) {
statusElement.error(['Waxaa horay u jiray codsi ilaalin oo loogu talagalay boggan ', rppLink, ', waa la joojinayaa.']);
return;
}
let newtag = '=== [[:' + Morebits.pageNameNorm + ']] ===\n';
if (new RegExp('^' + mw.util.escapeRegExp(newtag).replace(/\s+/g, '\\s*'), 'm').test(text) || new RegExp('^' + mw.util.escapeRegExp(newtag).replace(/\s+/g, '\\s*'), 'm').test(text2)) {
statusElement.error(['Waxaa horay u jiray codsi ilaalin oo loogu talagalay boggan ', rppLink, ', waa la joojinayaa.']);
return;
}
newtag += '* {{pagelinks|1=' + Morebits.pageNameNorm + '}}\n\n';
let words;
switch (params.expiry) {
case 'temporary':
words = 'Kumeel gaar ah ';
break;
case 'infinity':
words = 'Aan la cayimin ';
break;
default:
words = '';
break;
}
words += params.typename;
newtag += "'''" + Morebits.string.toUpperCaseFirstChar(words) + (params.reason !== '' ? ":''' " +
Morebits.string.formatReasonText(params.reason) : ".'''") + ' ~~~~';
let increase = false;
const protInfo = Twinkle.protect.protectionPresetsInfo[params.category];
const computeWeight = function(mainLevel, stabilizeLevel) {
let result = Twinkle.protect.protectionWeight[mainLevel || 'all'];
if (stabilizeLevel) {
if (result) {
if (stabilizeLevel.level === 'autoconfirmed') {
result += 2;
}
} else {
result = Twinkle.protect.protectionWeight['flaggedrevs_' + stabilizeLevel];
}
}
return result;
};
const editWeight = computeWeight(Twinkle.protect.currentProtectionLevels.edit &&
Twinkle.protect.currentProtectionLevels.edit.level,
Twinkle.protect.currentProtectionLevels.stabilize &&
Twinkle.protect.currentProtectionLevels.stabilize.level);
if (computeWeight(protInfo.edit, protInfo.stabilize) > editWeight ||
computeWeight(protInfo.move) > computeWeight(Twinkle.protect.currentProtectionLevels.move &&
Twinkle.protect.currentProtectionLevels.move.level) ||
computeWeight(protInfo.create) > computeWeight(Twinkle.protect.currentProtectionLevels.create &&
Twinkle.protect.currentProtectionLevels.create.level)) {
increase = true;
}
if (increase) {
const originalTextLength = text.length;
text += '\n' + newtag;
if (text.length === originalTextLength) {
const linknode = document.createElement('a');
linknode.setAttribute('href', mw.util.getUrl('Wikipedia:Twinkle/Fixing RPP'));
linknode.appendChild(document.createTextNode('Sida loo hagaajiyo RPP'));
statusElement.error(['Lama helin ciwaanka khuseeya ee WP:RPP. Si loo hagaajiyo dhibaatadan, fadlan eeg ', linknode, '.']);
return;
}
statusElement.status('Ku darista codsi cusub...');
rppPage.setEditSummary('/* ' + Morebits.pageNameNorm + ' */ Codsashada ' + params.typename + (params.typename === 'isbeddellada sugaya' ? ' on [[:' : ' of [[:') +
Morebits.pageNameNorm + ']].');
rppPage.setChangeTags(Twinkle.changeTags);
rppPage.setPageText(text);
rppPage.setCreateOption('recreate');
rppPage.save(() => {
const watchPref = Twinkle.getPref('watchRequestedPages');
const watch = watchPref !== 'no' && (watchPref !== 'default' || !!parseInt(mw.user.options.get('watchdefault'), 10));
if (watch) {
const watch_query = {
action: 'watch',
titles: mw.config.get('wgPageName'),
token: mw.user.tokens.get('watchToken')
};
if (Twinkle.protect.watched !== true && watchPref !== 'default' && watchPref !== 'yes') {
watch_query.expiry = watchPref;
}
new Morebits.wiki.Api('Ku darista bogga la codsaday liiska la socodka', watch_query).post();
}
});
} else {
const originalTextLength2 = text2.length;
text2 += '\n' + newtag;
if (text2.length === originalTextLength2) {
const linknode2 = document.createElement('a');
linknode2.setAttribute('href', mw.util.getUrl('Wikipedia:Twinkle/Fixing RPP'));
linknode2.appendChild(document.createTextNode('Sida loo hagaajiyo RPP'));
statusElement.error(['Lama helin ciwaanka khuseeya ee WP:RPP. Si loo hagaajiyo dhibaatadan, fadlan eeg ', linknode2, '.']);
return;
}
statusElement.status('Ku darista codsi cusub...');
rppPage2.setEditSummary('/* ' + Morebits.pageNameNorm + ' */ Codsashada ' + params.typename + (params.typename === 'isbeddellada sugaya' ? ' on [[:' : ' of [[:') +
Morebits.pageNameNorm + ']].');
rppPage2.setChangeTags(Twinkle.changeTags);
rppPage2.setPageText(text2);
rppPage2.setCreateOption('recreate');
rppPage2.save(() => {
const watchPref = Twinkle.getPref('watchRequestedPages');
const watch = watchPref !== 'no' && (watchPref !== 'default' || !!parseInt(mw.user.options.get('watchdefault'), 10));
if (watch) {
const watch_query = {
action: 'watch',
titles: mw.config.get('wgPageName'),
token: mw.user.tokens.get('watchToken')
};
if (Twinkle.protect.watched !== true && watchPref !== 'default' && watchPref !== 'yes') {
watch_query.expiry = watchPref;
}
new Morebits.wiki.Api('Ku darista bogga la codsaday liiska la socodka', watch_query).post();
}
});
}
});
}
};
Twinkle.addInitCallback(Twinkle.protect, 'protect');
}());
// </nowiki>
cuglb31xcf6r0eeaen2bj5gdb1abgjk
MediaWiki:Gadget-twinkletag.js
8
53682
310870
2026-10-25T11:30:52Z
Isma4l
41797
Abuuray
310870
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinkletag.js: Qaybta Calaamadaynta
****************************************
* Qaabka loo yeero: Tab ("Calaamadi" / "Tag")
* Ka shaqeeya: Maqaallada iyo qabyo-qoraallada jira; boggaga faylasha ee leh fayl u dhigma
* oo maxalli ah (ma aha Commons); dhammaan dib-u-jeedinta
*/
Twinkle.tag = function twinkletag() {
if (Morebits.isPageRedirect() && mw.config.get('wgNamespaceNumber') !== 14) {
Twinkle.tag.mode = 'redirect';
Twinkle.addPortletLink(Twinkle.tag.callback, 'Calaamadi', 'twinkle-tag', 'Calaamadi dib-u-jeedinta');
} else if (mw.config.get('wgNamespaceNumber') === 6 && !document.getElementById('mw-sharedupload') && document.getElementById('mw-imagepage-section-filehistory')) {
Twinkle.tag.mode = 'file';
Twinkle.addPortletLink(Twinkle.tag.callback, 'Calaamadi', 'twinkle-tag', 'Ku dar calaamadaha dayactirka faylka');
} else if ([0, 118].includes(mw.config.get('wgNamespaceNumber')) && mw.config.get('wgCurRevisionId')) {
Twinkle.tag.mode = 'article';
Twinkle.tag.canRemove = (mw.config.get('wgCurRevisionId') === mw.config.get('wgRevisionId')) &&
!mw.config.get('wgDiffNewId');
Twinkle.addPortletLink(Twinkle.tag.callback, 'Calaamadi', 'twinkle-tag', 'Ku dar ama ka saar calaamadaha dayactirka maqaalka');
}
};
Twinkle.tag.checkedTags = [];
Twinkle.tag.callback = function twinkletagCallback() {
const Window = new Morebits.SimpleWindow(630, Twinkle.tag.mode === 'article' ? 500 : 400);
Window.setScriptName('Twinkle');
Window.addFooterLink('Doorbidyada calaamadda', 'WP:TW/PREF#tag');
Window.addFooterLink('Caawinta Twinkle', 'WP:TW/DOC#tag');
Window.addFooterLink('Bixi ra’yi-celin', 'WT:TW');
const form = new Morebits.QuickForm(Twinkle.tag.callback.evaluate);
const isPatroller = mw.config.get('wgUserGroups').some((r) => ['patroller', 'sysop'].includes(r));
if (isPatroller) {
new mw.Api().get({
action: 'pagetriagelist',
format: 'json',
page_id: mw.config.get('wgArticleId')
}).then((response) => {
const isReviewed = response.pagetriagelist.pages[0] ?
response.pagetriagelist.pages[0].patrol_status > 0 :
true;
if (!isReviewed) {
const checkbox = new Morebits.QuickForm.Element({
type: 'checkbox',
list: [
{
label: 'Calaamadi bogga sidii mid la hubsaday/la eegay',
value: 'patrol',
name: 'patrol',
checked: Twinkle.getPref('markTaggedPagesAsPatrolled')
}
]
});
const html = checkbox.render();
$('.quickform').prepend(html);
}
});
}
form.append({
type: 'input',
label: 'Sifee liiska calaamadaha:',
name: 'quickfilter',
size: '30',
event: function twinkletagquickfilter() {
$allCheckboxDivs.find('.search-hit').each((i, e) => {
const labelElement = e.parentElement;
labelElement.innerHTML = labelElement.textContent;
});
if (this.value) {
$allCheckboxDivs.hide();
$allHeaders.hide();
const searchString = this.value;
const searchRegex = new RegExp(mw.util.escapeRegExp(searchString), 'i');
$allCheckboxDivs.find('label').each(function() {
const labelText = this.textContent;
const searchHit = searchRegex.exec(labelText);
if (searchHit) {
const range = document.createRange();
const textnode = this.childNodes[0];
range.selectNodeContents(textnode);
range.setStart(textnode, searchHit.index);
range.setEnd(textnode, searchHit.index + searchString.length);
const underlineSpan = $('<span>').addClass('search-hit').css('text-decoration', 'underline')[0];
range.surroundContents(underlineSpan);
this.parentElement.style.display = 'block';
}
});
} else {
$allCheckboxDivs.show();
$allHeaders.show();
}
}
});
switch (Twinkle.tag.mode) {
case 'article':
Window.setTitle('Calaamadaynta dayactirka maqaalka');
Twinkle.tag.article.flatObject = {};
Object.values(Twinkle.tag.article.tagList).forEach((group) => {
Object.values(group).forEach((subgroup) => {
if (Array.isArray(subgroup)) {
subgroup.forEach((item) => {
Twinkle.tag.article.flatObject[item.tag] = item;
});
} else {
Twinkle.tag.article.flatObject[subgroup.tag] = subgroup;
}
});
});
form.append({
type: 'select',
name: 'sortorder',
label: 'Muuqaalka liiskan:',
tooltip: 'Waan bedeli kartaa hab-muuqaalka caadiga ah ee doorbidyada Twinkle (WP:TWPREFS).',
event: Twinkle.tag.updateSortOrder,
list: [
{ type: 'option', value: 'cat', label: 'Iyadoo la raacayo qaybaha', selected: Twinkle.getPref('tagArticleSortOrder') === 'cat' },
{ type: 'option', value: 'alpha', label: 'Hab xarfaha ah (Alphabetical)', selected: Twinkle.getPref('tagArticleSortOrder') === 'alpha' }
]
});
if (!Twinkle.tag.canRemove) {
const divElement = document.createElement('div');
divElement.innerHTML = 'Si aad u tirtirto calaamadaha jira, fadlan ka fur liiska calaamadda qaybta hadda ee maqaalka';
form.append({
type: 'div',
name: 'untagnotice',
label: divElement
});
}
form.append({
type: 'div',
id: 'tagWorkArea',
className: 'morebits-scrollbox'
});
form.append({
type: 'input',
label: 'Sababta',
name: 'reason',
tooltip: 'Sabab ikhtiyaari ah oo lagu darayo kooban-taf不得不 (edit summary). Waxaa lagu talinayaa marka la tirtirayo calaamadaha.',
size: '60'
});
break;
case 'file':
Window.setTitle('Calaamadaynta dayactirka faylka');
$.each(Twinkle.tag.fileList, (groupName, group) => {
form.append({ type: 'header', label: groupName });
form.append({ type: 'checkbox', name: 'tags', list: group });
});
if (Twinkle.getPref('customFileTagList').length) {
form.append({ type: 'header', label: 'Calaamadaha gaarka ah' });
form.append({ type: 'checkbox', name: 'tags', list: Twinkle.getPref('customFileTagList') });
}
break;
case 'redirect':
Window.setTitle('Calaamadaynta dib-u-jeedinta');
var isRestricted = function(item) {
if (typeof item.restriction === 'undefined') {
return false;
}
const namespace = mw.config.get('wgNamespaceNumber');
switch (item.restriction) {
case 'insideMainspaceOnly':
if (namespace !== 0) {
return true;
}
break;
case 'outsideUserspaceOnly':
if (namespace === 2 || namespace === 3) {
return true;
}
break;
case 'insideTalkNamespaceOnly':
if (namespace % 2 !== 1 || namespace < 0) {
return true;
}
break;
case 'disambiguationPagesOnly':
if (!mw.config.get('wgPageName').endsWith('_(disambiguation)')) {
return true;
}
break;
default:
alert('Twinkle.tag: xaddidaad aan la aqoon ' + item.restriction);
break;
}
return false;
};
var i = 1;
$.each(Twinkle.tag.redirectList, (groupName, group) => {
form.append({ type: 'header', id: 'tagHeader' + i, label: groupName });
const subdiv = form.append({ type: 'div', id: 'tagSubdiv' + i++ });
$.each(group, (subgroupName, subgroup) => {
subdiv.append({ type: 'div', label: [Morebits.htmlNode('b', subgroupName)] });
subdiv.append({
type: 'checkbox',
name: 'tags',
list: subgroup
.filter((item) => !isRestricted(item))
.map((item) => ({ value: item.tag, label: '{{' + item.tag + '}}: ' + item.description, subgroup: item.subgroup }))
});
});
});
if (Twinkle.getPref('customRedirectTagList').length) {
form.append({ type: 'header', label: 'Calaamadaha gaarka ah' });
form.append({ type: 'checkbox', name: 'tags', list: Twinkle.getPref('customRedirectTagList') });
}
break;
default:
alert('Twinkle.tag: qaab aan la aqoon ' + Twinkle.tag.mode);
break;
}
form.append({ type: 'submit', className: 'tw-tag-submit' });
const result = form.render();
Window.setContent(result);
Window.display();
$allCheckboxDivs = $(result).find('[name$=tags]').parent();
$allHeaders = $(result).find('h5, .quickformDescription');
result.quickfilter.focus();
result.quickfilter.autocomplete = 'off';
result.quickfilter.addEventListener('keypress', (e) => {
if (e.keyCode === 13) {
e.preventDefault();
return false;
}
});
if (Twinkle.tag.mode === 'article') {
Twinkle.tag.alreadyPresentTags = [];
if (Twinkle.tag.canRemove) {
const $oldParser = $('.mw-parser-output');
const $newParser = $('.mw-parser-output section[data-mw-section-id="0"]');
const $scanTarget = $newParser.length ? $newParser : $oldParser;
$scanTarget.children().each((i, e) => {
if (e.classList.contains('mw-heading')) {
return false;
}
if (e.className.indexOf('box-') === 0) {
if (e.classList[0] === 'box-Multiple_issues') {
$(e).find('.ambox').each((idx, e) => {
if (e.classList[0].indexOf('box-') === 0) {
const tag = e.classList[0].slice('box-'.length).replace(/_/g, ' ');
Twinkle.tag.alreadyPresentTags.push(tag);
}
});
return true;
}
const tag = e.classList[0].slice('box-'.length).replace(/_/g, ' ');
Twinkle.tag.alreadyPresentTags.push(tag);
}
});
if ($('.box-Uncategorized').length) {
Twinkle.tag.alreadyPresentTags.push('Uncategorized');
}
if ($('.box-Improve_categories').length) {
Twinkle.tag.alreadyPresentTags.push('Improve categories');
}
}
const statusNode = document.createElement('small');
statusNode.id = 'tw-tag-status';
Twinkle.tag.status = {
numAdded: 0,
numRemoved: 0
};
$('button.tw-tag-submit').after(statusNode);
const evt = document.createEvent('Event');
evt.initEvent('change', true, true);
result.sortorder.dispatchEvent(evt);
} else {
Morebits.QuickForm.getElements(result, 'tags').forEach(generateLinks);
}
};
let $allCheckboxDivs, $allHeaders;
Twinkle.tag.updateSortOrder = function(e) {
const form = e.target.form;
const sortorder = e.target.value;
Twinkle.tag.checkedTags = form.getChecked('tags');
const container = new Morebits.QuickForm.Element({ type: 'fragment' });
const makeCheckbox = function(item) {
const tag = item.tag, description = item.description;
const checkbox = { value: tag, label: '{{' + tag + '}}: ' + description };
if (Twinkle.tag.checkedTags.includes(tag)) {
checkbox.checked = true;
}
checkbox.subgroup = item.subgroup;
return checkbox;
};
const makeCheckboxesForAlreadyPresentTags = function() {
container.append({ type: 'header', id: 'tagHeader0', label: 'Calaamadaha horay u jiray' });
const subdiv = container.append({ type: 'div', id: 'tagSubdiv0' });
const checkboxes = [];
const unCheckedTags = e.target.form.getUnchecked('existingTags');
Twinkle.tag.alreadyPresentTags.forEach((tag) => {
const checkbox =
{
value: tag,
label: '{{' + tag + '}}' + (Twinkle.tag.article.flatObject[tag] ? ': ' + Twinkle.tag.article.flatObject[tag].description : ''),
checked: !unCheckedTags.includes(tag),
style: 'font-style: italic'
};
checkboxes.push(checkbox);
});
subdiv.append({
type: 'checkbox',
name: 'existingTags',
list: checkboxes
});
};
if (sortorder === 'cat') {
const doCategoryCheckboxes = function(subdiv, subgroup) {
const checkboxes = [];
$.each(subgroup, (k, item) => {
if (!Twinkle.tag.alreadyPresentTags.includes(item.tag)) {
checkboxes.push(makeCheckbox(item));
}
});
subdiv.append({
type: 'checkbox',
name: 'tags',
list: checkboxes
});
};
if (Twinkle.tag.alreadyPresentTags.length > 0) {
makeCheckboxesForAlreadyPresentTags();
}
let i = 1;
$.each(Twinkle.tag.article.tagList, (groupName, group) => {
container.append({ type: 'header', id: 'tagHeader' + i, label: groupName });
const subdiv = container.append({ type: 'div', id: 'tagSubdiv' + i++ });
if (Array.isArray(group)) {
doCategoryCheckboxes(subdiv, group);
} else {
$.each(group, (subgroupName, subgroup) => {
subdiv.append({ type: 'div', label: [Morebits.htmlNode('b', subgroupName)] });
doCategoryCheckboxes(subdiv, subgroup);
});
}
});
} else {
if (Twinkle.tag.alreadyPresentTags.length > 0) {
makeCheckboxesForAlreadyPresentTags();
container.append({ type: 'header', id: 'tagHeader1', label: 'Calaamadaha la heli karo' });
}
Twinkle.tag.article.alphabeticalList = Twinkle.tag.article.alphabeticalList || Object.keys(Twinkle.tag.article.flatObject).sort();
const checkboxes = [];
Twinkle.tag.article.alphabeticalList.forEach((tag) => {
if (!Twinkle.tag.alreadyPresentTags.includes(tag)) {
checkboxes.push(makeCheckbox(Twinkle.tag.article.flatObject[tag]));
}
});
container.append({
type: 'checkbox',
name: 'tags',
list: checkboxes
});
}
if (Twinkle.getPref('customTagList').length) {
container.append({ type: 'header', label: 'Calaamadaha gaarka ah' });
container.append({ type: 'checkbox', name: 'tags',
list: Twinkle.getPref('customTagList').map((el) => {
el.checked = Twinkle.tag.checkedTags.includes(el.value);
return el;
})
});
}
const $workarea = $(form).find('#tagWorkArea');
const rendered = container.render();
$workarea.empty().append(rendered);
$allCheckboxDivs = $workarea.find('[name=tags], [name=existingTags]').parent();
$allHeaders = $workarea.find('h5, .quickformDescription');
form.quickfilter.value = '';
form.quickfilter.focus();
$workarea.find('h5').css({ 'font-size': '110%' });
$workarea.find('h5:not(:first-child)').css({ 'margin-top': '1em' });
$workarea.find('div').filter(':has(span.quickformDescription)').css({ 'margin-top': '0.4em' });
Morebits.QuickForm.getElements(form, 'existingTags').forEach(generateLinks);
Morebits.QuickForm.getElements(form, 'tags').forEach(generateLinks);
const statusNode = document.getElementById('tw-tag-status');
$('[name=tags], [name=existingTags]').on('click', function() {
if (this.name === 'tags') {
Twinkle.tag.status.numAdded += this.checked ? 1 : -1;
} else if (this.name === 'existingTags') {
Twinkle.tag.status.numRemoved += this.checked ? -1 : 1;
}
const firstPart = 'Ku daraya ' + Twinkle.tag.status.numAdded + ' calaamad';
const secondPart = 'Ka saaraya ' + Twinkle.tag.status.numRemoved + ' calaamad';
statusNode.textContent =
(Twinkle.tag.status.numAdded ? ' ' + firstPart : '') +
(Twinkle.tag.status.numRemoved ? (Twinkle.tag.status.numAdded ? '; ' : ' ') + secondPart : '');
});
};
var generateLinks = function(checkbox) {
const link = Morebits.htmlNode('a', '>');
link.setAttribute('class', 'tag-template-link');
const tagname = checkbox.values;
link.setAttribute('href', mw.util.getUrl(
(!tagname.includes(':') ? 'Template:' : '') +
(!tagname.includes('|') ? tagname : tagname.slice(0, tagname.indexOf('|')))
));
link.setAttribute('target', '_blank');
$(checkbox).parent().append(['\u00A0', link]);
};
Twinkle.tag.article = {};
const translationSubgroups = [
{
name: 'translationLanguage',
parameter: '1',
type: 'input',
label: 'Luuqadda maqaalka (haddii la ogyahay):',
tooltip: 'Tixgeli inaad eegto [[WP:LRC]] wixii caawimaad ah. Haddii aad liis gareynayso maqaalka PNT, fadlan isku day inaad ka fogaato in sanduuqan uu madhan yahay, ilaa aad si dhab ah uga shakisan tahay mooyaane.'
}
].concat(mw.config.get('wgNamespaceNumber') === 0 ? [
{
type: 'checkbox',
list: [{
name: 'translationPostAtPNT',
label: 'Ku liis garee maqaalkan Wikipedia:Bogagga u baahan turjumaadda Ingiriisiga (PNT)',
checked: true
}]
},
{
name: 'translationComments',
type: 'textarea',
label: 'Faallooyin dheeraad ah oo lagu soo bandhigayo PNT',
tooltip: 'Ikhtiyaari, oo khuseeya oo kaliya haddii "Ku liis garee maqaalkan..." ee kor ku xusan la calaamadiyay.'
}
] : []);
Twinkle.tag.article.tagList = {
'Calaamadaha dayactirka iyo nadiifinta': {
'Nadiifinta guud': [
{
tag: 'Cleanup', description: 'wuxuu u baahan yahay nadiifin',
subgroup: {
name: 'cleanup',
parameter: 'reason',
type: 'input',
label: 'Sabab gaar ah oo loogu baahan yahay nadiifinta:',
tooltip: 'Loo baahan yahay.',
size: 35,
required: true
}
},
{
tag: 'Cleanup rewrite',
description: "wuxuu u baahan yahay in dib loo qoro gebi ahaanba si waafaqsan heerarka tayada Wikipedia"
},
{
tag: 'Copy edit',
description: 'wuxuu u baahan yahay tafatir nuqul ah naxwaha, qaabka, isku-duubnaanta, codka, ama higgaadda',
subgroup: {
name: 'copyEdit',
parameter: 'for',
type: 'input',
label: '"Maqaalkan waxaa laga yaabaa inuu u baahdo tafatir nuqul ah..."',
tooltip: 'tusaale "higgaad joogto ah". Ikhtiyaari.',
size: 35
}
}
],
'Nuxurka suurtagalka ah ee aan la rabin': [
{
tag: 'Close paraphrasing',
description: 'wuxuu ka kooban yahay erayo u dhow il sharci daabacaad oo aan xor ahayn',
subgroup: {
name: 'closeParaphrasing',
parameter: 'source',
type: 'input',
label: 'Isha:',
tooltip: 'Isha si dhow loogu ekaaday'
}
},
{
tag: 'Copypaste',
description: 'waxaa u muuqda in la koobiyay oo la soo dhejiyay meel kale',
excludeMI: true,
subgroup: {
name: 'copypaste',
parameter: 'url',
type: 'input',
label: 'URL-ka Isha:',
tooltip: 'Haddii la ogyahay.',
size: 50
}
},
{
tag: 'AI-generated',
description: 'nuxurku wuxuu u muuqdaa inuu soo saaray qaab-dhismeed luuqadeed oo weyn (LLM)',
subgroup: [
{
name: 'llmReason',
parameter: 'reason',
type: 'input',
label: 'Sababta:',
tooltip: 'Sharaxaad gaaban oo lagu darayo calaamadda. Ikhtiyaari laakiin waxaalagula talinayaa in la buuxiyo Sababta ama doodda W-hadalka.'
},
{
name: 'llmTalk',
parameter: 'talk',
type: 'input',
label: 'Doodda wada-hadalka:',
tooltip: 'Magaca qaybta ee bogga wada-hadalka maqaalkan halkaas oo arrinta lagaga hadlayo. Ha bixin xiriir, ee keen magaca qaybta oo keliya.'
}
]
},
{ tag: 'External links', description: 'xiriirinta dibadda waxaa laga yaabaa inay raaci waayaan siyaasadaha ama tilmaamaha nuxurka' },
{ tag: 'Non-free', description: 'waxaa laga yaabaa inay ka kooban tahay isticmaal xad-dhaaf ah ama aan habboonayn oo ah agab xuquuq daabacaad leh' }
],
'Qaab-dhismeedka, qaabaynta, iyo qaybta hordhaca': [
{ tag: 'Cleanup reorganize', description: "wuxuu u baahan yahay dib-u-habeyn si waafaqsan tilmaamaha qaab-dhismeedka Wikipedia" },
{ tag: 'Lead missing', description: 'ma laha qayb hordhac ah' },
{ tag: 'Lead rewrite', description: 'qaybta hordhaca ah waxay u baahan tahay in dib loo qoro si waafaqsan tilmaamaha' },
{ tag: 'Lead too long', description: 'qaybta hordhaca ah aad bay u dheer tahay marka loo eego dhererka maqaalka' },
{ tag: 'Lead too short', description: 'qaybta hordhaca ah aad bay u gaaban tahay waana in la ballaariyaa si loo soo koobo qodobbada muhiimka ah' },
{ tag: 'Sections', description: 'wuxuu u baahan yahay in loo qaybiyo qaybo iyadoo la raacayo mawduuca' },
{ tag: 'Too many sections', description: 'aad bay u badan yihiin madaxyada qaybaha ee kala qaybinaya nuxurka, waa in la koobaa' },
{ tag: 'Very long', description: 'aad bay u dheer tahay in si raaxo leh loo akhriyo loona dhex maro' }
],
'Nadiifinta la xiriirta khayaaliga': [
{ tag: 'All plot', description: 'ku dhowaad gebi ahaan waa soo koobid dhismeed (plot)' },
{ tag: 'Fiction', description: 'wuxuu ku guuldarraystaa inuu kala saaro xaqiiqda iyo khayaaliga' },
{ tag: 'In-universe', description: 'mawduucu waa khayaali waxaana u baahan in dib loo qoro si loo bixiyo aragti aan khayaali ahayn' },
{ tag: 'Long plot', description: 'soo koobidda dhismaha aad bay u dheer tahay ama faahfaahin xad-dhaaf ah bay leedahay' },
{ tag: 'More plot', description: 'soo koobidda dhismaha aad bay u gaaban tahay' },
{ tag: 'No plot', description: 'wuxuu u baahan yahay soo koobid dhisme' }
]
},
'Arrimaha nuxurka guud': {
'Muhiimadda iyo caannimada': [
{ tag: 'Notability', description: 'mawduuca maqaalka waxaa laga yaabaa inuusan buuxin tilmaamaha caannimada guud',
subgroup: {
name: 'notability',
parameter: '1',
type: 'select',
list: [
{ label: "{{notability}}: mawduuca maqaalka ma buuxin karo tilmaamaha caannimada guud", value: '' },
{ label: '{{notability|Academics}}: tilmaamaha caannimada ee aqoonyahannada', value: 'Academics' },
{ label: '{{notability|Astro}}: tilmaamaha caannimada ee walxaha cirka', value: 'Astro' },
{ label: '{{notability|Biographies}}: tilmaamaha caannimada ee taariikh-nololeedyada', value: 'Biographies' },
{ label: '{{notability|Books}}: tilmaamaha caannimada ee buugagta', value: 'Books' },
{ label: '{{notability|Companies}}: tilmaamaha caannimada ee shirkadaha', value: 'Companies' },
{ label: '{{notability|Events}}: tilmaamaha caannimada ee dhacdooyinka', value: 'Events' },
{ label: '{{notability|Films}}: tilmaamaha caannimada ee filimada', value: 'Films' },
{ label: '{{notability|Geographic}}: tilmaamaha caannimada ee sifooyinka juqraafiyeed', value: 'Geographic' },
{ label: '{{notability|Lists}}: tilmaamaha caannimada ee liisaska madaxa-bannaan', value: 'Lists' },
{ label: '{{notability|Music}}: tilmaamaha caannimada ee muusigga', value: 'Music' },
{ label: '{{notability|Neologisms}}: tilmaamaha caannimada ee ereyada cusub', value: 'Neologisms' },
{ label: '{{notability|Numbers}}: tilmaamaha caannimada ee tirada', value: 'Numbers' },
{ label: '{{notability|Organizations}}: tilmaamaha caannimada ee ururada', value: 'Organizations' },
{ label: '{{notability|Products}}: tilmaamaha caannimada ee alaabta iyo adeegyada', value: 'Products' },
{ label: '{{notability|Sports}}: tilmaamaha caannimada ee ciyaaraha iyo cayaaraha fudud', value: 'Sports' },
{ label: '{{notability|Television}}: tilmaamaha caannimada ee barnaamijyada TV-ga', value: 'Television' },
{ label: '{{notability|Web}}: tilmaamaha caannimada ee nuxurka shabakadda', value: 'Web' }
]
}
}
],
'Habka qorista': [
{ tag: 'Cleanup press release', description: 'wuxuu u akhrisan yahay sida war-saxaafadeed ama maqaal wararka ah',
subgroup: {
type: 'hidden',
name: 'cleanupPR1',
parameter: '1',
value: 'article'
}
},
{ tag: 'Cleanup tense', description: 'ma raacayo tilmaamaha isticmaalka xiliyada kala duwan ee falka.' },
{ tag: 'Essay-like', description: 'loo qoray sida milicsi shaqsiyeed, qormo shaqsiyeed, ama qormo dood ah' },
{ tag: 'Fanpov', description: "laga qoray aragtida taageere (fan)" },
{ tag: 'Inappropriate person', description: 'wuxuu adeegsadaa qofka koowaad ama qofka labaad si aan habboonayn' },
{ tag: 'How-to', description: 'loo qoray sida buug-gacmeed ama hagaha' },
{ tag: 'Over-quotation', description: 'soo-xigashooyin aad u badan ama aad u dhaadheer oo loogu talagalay gelitaan ensiklabeediyof ah' },
{ tag: 'Promotional', description: 'wuxuu ka kooban yahay nuxur xayaysiis ama waxaa loo qoray sida xayaysiis oo kale' },
{ tag: 'Prose', description: 'lagu qoray qaab liis ah laakiin waxaa laga yaabaa inuu si fiican u akhriyi lahaa haddii uu ahaan lahaa tiraab (prose)' },
{ tag: 'Resume-like', description: 'loo qoray sida CV ama resume' },
{ tag: 'Technical', description: 'aad bay u farsamo badan tahay inta badan akhristayaashu inay fahmaan' },
{ tag: 'Tone', description: 'codka ama qaabku waxaa laga yaabaa inuusan ka tarjumayn codka ensiklabeediyof ee laga isticmaalo Wikipedia' }
],
'Macnaha (ama la\'aantiisa)': [
{ tag: 'Confusing', description: 'jahwareer ah ama aan caddayn' },
{ tag: 'Unfocused', description: 'wuxuu ka cayaarayaa diiradda ama wuxuu ku saabsan yahay in ka badan hal mawduuc' }
],
'Macluumaadka iyo faahfaahinta': [
{ tag: 'Context', description: 'macluumaad ku filan ma laha kuwa aan aqoon u lahayn mawduuca' },
{ tag: 'Excessive examples', description: 'wuxuu ka kooban yahay tusaalooyin aan kala sooc lahayn, xad-dhaaf ah, ama aan quseyn' },
{ tag: 'Expert needed', description: 'wuxuu u baahan yahay dareen ka yimid khabiir ku takhasusay mawduuca',
subgroup: [
{
name: 'expertNeeded',
parameter: '1',
type: 'input',
label: 'Magaca WikiProject ee khuseeya:',
tooltip: 'Ikhtiyaari ahaan, geli magaca WikiProject kaas oo laga yaabo inuu awood u leeyahay inuu caawiyo qorista khabiir. Ha ku darin horgalaha "WikiProject".'
},
{
name: 'expertNeededReason',
parameter: 'reason',
type: 'input',
label: 'Sababta:',
tooltip: 'Sharaxaad gaaban oo tilmaamaysa arrinta. Sabab ama xiriirka wada-hadalka ayaa loo baahan yahay.'
},
{
name: 'expertNeededTalk',
parameter: 'talk',
type: 'input',
label: 'Doodda wada-hadalka:',
tooltip: 'Magaca qaybta ee bogga wada-hadalka maqaalkan halkaas oo arrinta lagaga hadlayo. Ha bixin xiriir, ee keen magaca qaybta oo keliya. Sabab ama xiriirka wada-hadalka ayaa loo baahan yahay.'
}
]
},
{ tag: 'Overly detailed', description: 'xad-dhaaf ah oo faahfaahin adag ah' },
{ tag: 'Undue weight', description: 'wuxuu miisaan xad-dhaaf ah siinayaa fikrado, dhacdooyin, ama khilaafyo gaar ah' }
],
Wakhtiga: [
{ tag: 'Current', description: 'wuxuu diiwaangeliyaa dhacdo hadda taagan', excludeMI: true },
{ tag: 'Current related', description: 'wuxuu diiwaangeliyaa mawduuc ay saameysay dhacdo hadda taagan', excludeMI: true },
{ tag: 'Update', description: 'wuxuu u baahan yahay macluumaad dheeraad ah oo casri ah oo lagu daro',
subgroup: [
{
name: 'updatePart',
parameter: 'part',
type: 'input',
label: 'Waa tumee qaybta maqaalka:',
tooltip: 'Qaybta u baahan cusboonaysiinta',
size: '45'
},
{
name: 'updateReason',
parameter: 'reason',
type: 'input',
label: 'Sababta:',
tooltip: 'Sharaxaad sababta maqaalku u dhacay waqtigii loogu talagalay',
size: '55'
}
]
}
],
'Dhexdhexaadnimada, eexda, iyo saxnaanta xaqiiqda': [
{ tag: 'Autobiography', description: 'waa taariikh nololeed shaqsiyeed waxaana laga yaabaa inaan si dhexdhexaad ah loo qorin' },
{ tag: 'COI', description: 'abuuraha ama qayb-qaataha weyn waxaa laga yaabaa inay leeyihiin khilaaf dano ah (conflict of interest)', subgroup: mw.config.get('wgNamespaceNumber') === 0 ? {
name: 'coiReason',
type: 'textarea',
label: 'Sharaxaad ku saabsan calaamadda COI (waxaa lagu dhejin doonaa bogga wada-hadalka maqaalkan):',
tooltip: 'Ikhtiyaari, laakiin si xoog leh ayaa lagula talinayaa. Ka tag madhan haddii aadan rabin.'
} : [] },
{ tag: 'Disputed', description: 'saxnaanta xaqiiqda waa mid la isku khilaafsan yahay' },
{ tag: 'Fringe theories', description: 'wuxuu soo bandhigayaa aragtiyo cidhif ah sida aragtiyo caadi ah' },
{ tag: 'Globalize', description: 'waxaa laga yaabaa inuusan matalin aragti caalami ah oo ku saabsan mawduuca',
subgroup: [
{
type: 'hidden',
name: 'globalize1',
parameter: '1',
value: 'article'
}, {
name: 'globalizeRegion',
parameter: '2',
type: 'input',
label: 'Waddanka ama gobolka aadka loo matalay'
}
]
},
{ tag: 'Hoax', description: 'waxaa laga yaabaa inuu qayb ahaan ama gebi ahaanba yahay khiyaano' },
{ tag: 'Paid contributions', description: 'wuxuu ka kooban yahay tabarucaadyo lacag lagu bixiyay, sidaas darteedna wuxuu u baahan karaa nadiifin' },
{ tag: 'Peacock', description: 'wuxuu ka kooban yahay erayo dhiirrigelinaya mawduuca si shaqsiyeed iyadoon lagu darin macluumaad' },
{ tag: 'POV', description: 'ma ilaaliyo aragti dhexdhexaad ah' },
{ tag: 'Recentism', description: 'wuxuu u janjeeraa dhacdooyinkii dhawaa' },
{ tag: 'Too few opinions', description: 'waxaa laga yaabaa inuusan ku darin dhammaan aragtiyada muhiimka ah' },
{ tag: 'Undisclosed paid', description: 'waxaa laga yaabaa in la abuuray ama la tafatiray iyadoo lagu beddelayo lacag aan la shaacin' },
{ tag: 'Weasel', description: 'dhexdhexaadnimada ama xaqiijinta waxaa halis geliyay isticmaalka ereyo madmadow' }
],
'Xaqiijinta iyo ilaha': [
{ tag: 'BLP no footnotes', description: 'BLP aan lahayn tixraacyo gudaha ah'},
{ tag: 'BLP one source', description: 'BLP ku tiirsan inta badan ama gebi ahaanba hal il' },
{ tag: 'BLP sources', description: 'BLP u baahan tixraacyo ama ilo dheeraad ah si loo xaqiijiyo' },
{ tag: 'BLP unreferenced', description: 'BLP ma soo xigto ilo haba yaraatee (isticmaal BLP PROD halkaas beddelkeeda maqaallada cusub)' },
{ tag: 'Full citations needed', description: 'wuxuu u baahan yahay tixraacyo dhammaystiran oo xaqiijin ah' },
{ tag: 'More citations needed', description: 'wuxuu u baahan yahay tixraacyo ama ilo dheeraad ah si loo xaqiijiyo' },
{ tag: 'No footnotes', description: 'wuxuu leeyahay tixraacyo, laakiin ma laha tixraacyo gudaha ah' },
{ tag: 'No significant coverage', description: 'ma soo xigto ilo ka kooban tebinta muhiimka ah' },
{ tag: 'No significant coverage (sports)', description: 'taariikh nololeed ciraareed oo aan soo xigin ilo ka kooban tebinta muhiimka ah' },
{ tag: 'One source', description: 'wuxuu ku tiirsan yahay inta badan ama gebi ahaanba hal il' },
{ tag: 'Only primary sources', description: 'wuxuu ku tiirsan yahay kaliya tixraacyada ilaha aasaasiga ah, wuxuna u baahan yahay ilo labaad' },
{ tag: 'Original research', description: 'wuxuu ka kooban yahay cilmi-baaris asal ah' },
{ tag: 'Primary sources', description: 'wuxuu aad ugu tiirsan yahay tixraacyada ilaha aasaasiga ah, wuxuuna u baahan yahay ilo labaad' },
{ tag: 'Self-published', description: 'wuxuu ka kooban yahay tixraacyo xad-dhaaf ah ama aan habboonayn oo loogu talagalay ilaha is-daabacay' },
{ tag: 'Sources exist', description: 'mawduuc caan ah, ilo ayaa la heli karaa oo lagu dari karo maqaalka' },
{ tag: 'Third-party', description: 'wuxuu aad ugu tiirsan yahay ilo si dhow ula xiriira mawduuca' },
{ tag: 'Unreferenced', description: 'ma soo xigto ilo haba yaraatee' },
{ tag: 'Unreliable sources', description: 'tixraacyada qaar waxaa laga yaabaa inayan ahayn kuwo la halmaami karo / la halmaami karo' },
{ tag: 'User-generated', description: 'wuxuu ka kooban yahay tixraacyo badan oo ah nuxur ay soo saareen isticmaaleyaashu (is-daabacay)'}
]
},
'Arrimaha nuxurka gaarka ah': {
Helitaanka: [
{ tag: 'Cleanup colors', description: 'wuxuu isticmaalaa midabka sida kaliya ee lagu gaarsiiyo macluumaadka' },
{ tag: 'Overcoloured', description: 'wuxuu si xad-dhaaf ah u adeegsadaa midabka' },
{ tag: 'Dark mode problems', description: 'wuxuu leeyahay dhibaatooyin marka laga eego habka madow (dark mode)' }
],
Luuqadda: [
{ tag: 'Not English', description: 'lagu qoray luuqad aan ahayn Ingiriisiga waxayna u baahan tahay turjumaad',
excludeMI: true,
subgroup: translationSubgroups.slice(0, 1).concat([{
type: 'checkbox',
list: [
{
name: 'translationNotify',
label: 'Ogeysii abuuraha maqaalka',
checked: true,
tooltip: "Wuxuu dhigayaa {{uw-notenglish}} bogga wada-hadalka abuuraha."
}
]
}]).concat(translationSubgroups.slice(1))
},
{ tag: 'Rough translation', description: 'turjumaad liidata oo ka timid luuqad kale', excludeMI: true,
subgroup: translationSubgroups
},
{ tag: 'Expand language', description: 'waa in la ballaariyaa iyadoo lagu darayo qoraal laga soo turjumay maqaal luuqad shisheeye ah',
excludeMI: true,
subgroup: [{
type: 'hidden',
name: 'expandLangTopic',
parameter: 'topic',
value: '',
required: true
}, {
name: 'expandLanguageLangCode',
parameter: 'langcode',
type: 'input',
label: 'Koodka luuqadda:',
tooltip: 'Koodka luuqadda ee luuqadda laga soo ballaarinayo maqaalka',
required: true
}, {
name: 'expandLanguageArticle',
parameter: 'otherarticle',
type: 'input',
label: 'Magaca maqaalka:',
tooltip: 'Magaca maqaalka laga soo ballaarinayo, iyada oo aan la hordhicin interwiki',
required: true
}]
}
],
Xiriirinta: [
{ tag: 'Dead end', description: 'maqaalku ma laha xiriiriyo ku socda maqaallo kale' },
{ tag: 'Orphan', description: 'wax xiriirin ah kama soo gaarto maqaallo kale' },
{ tag: 'Overlinked', description: 'aad bay u badan yihiin xiriirinta nuqullada ah iyo/ama aan quseyn ee ku socda maqaallo kale' },
{ tag: 'Underlinked', description: 'wuxuu u baahan yahay xiriiriyo badan oo ku socda maqaallo kale' }
],
'Habka tixraaca': [
{ tag: 'Citation style', description: 'hab tixraac oo aan caddayn ama aan joogto ahayn' },
{ tag: 'Cleanup bare URLs', description: 'wuxuu adeegsadaa URL-yo madhan (bare URLs) tixraacyada, kuwaas oo u nugul inay xumaadaan (link rot)' },
{ tag: 'More footnotes needed', description: 'wuxuu leeyahay tixraacyo qaar, laakiin tixraacyada gudaha ah kuma filna' },
{ tag: 'Parenthetical referencing', description: 'wuxuu adeegsadaa tixraaca waalidka (parenthetical referencing), kaas oo laga tagay Wikipedia' }
],
Qaybaha: [
{ tag: 'Improve categories', description: 'wuxuu u baahan yahay qaybo dheeraad ah ama gaar ah', excludeMI: true },
{ tag: 'Uncategorized', description: 'laguma darin wax qaybo ah', excludeMI: true }
]
},
Isku-dhafka: [
{
tag: 'History merge',
description: 'bog kale waa in taariikhda la isku daraa kan',
excludeMI: true,
subgroup: [
{
name: 'histmergeOriginalPage',
parameter: 'originalpage',
type: 'input',
label: 'Maqaalka kale:',
tooltip: 'Magaca bogga ay tahay in lagu daro kan (loojahan yahay).',
required: true
},
{
name: 'histmergeReason',
parameter: 'reason',
type: 'input',
label: 'Sababta:',
tooltip: 'Sharaxaad gaaban oo tilmaamaysa sababta taariikhda loo midaynayo. Waa inay ku bilaabataa "sababta oo ah" waxayna ku dhammaataa dhibic.'
},
{
name: 'histmergeSysopDetails',
parameter: 'details',
type: 'input',
label: 'Faahfaahin dheeraad ah:',
tooltip: 'Xaaladaha adag, bixi tilmaamo dheeraad ah maamulaha eegaya.'
}
]
}
],
Kala-qaybinta: [
{ tag: 'Split', description: 'waa in loo qaybiyaa bogag badan' },
{ tag: 'Split dab', description: 'bogga kala-soocidda waa in loo qaybiyaa bogag badan' }
],
Macluumaad: [
{ tag: 'GOCEinuse', description: 'hadda wuxuu maraa tafatir weyn oo uu sameynayo Guild of Copy Editors', excludeMI: true },
{ tag: 'In use', description: 'wuxuu maraa tafatir weyn muddo gaaban gudaheed', excludeMI: true },
{ tag: 'Under construction', description: 'habka ballaarinta ama dib-u-habeynta weyn ayuu ku jiraa', excludeMI: true }
]
};
Twinkle.tag.redirectList = {
'Naxwaha, hakadka, iyo higgaadda': {
Gaabinta: [
{ tag: 'R from acronym', description: 'dib-u-jeedin ka timid gaabinta (tusaale POTUS) oo loo wajahayo foomkeeda ballaaran', restriction: 'insideMainspaceOnly' },
{ tag: 'R from airport code', description: 'dib-u-jeedin ka timid koodka IATA ama ICAO ee garoonka diyaaradaha oo ku socota maqaalka garoonkaas', restriction: 'insideMainspaceOnly' },
{ tag: 'R from airline code', description: 'dib-u-jeedin ka timid koodka IATA ama ICAO ee shirkadda diyaaradaha oo ku socota maqaalka shirkaddaas', restriction: 'insideMainspaceOnly' },
{ tag: 'R from initialism', description: 'dib-u-jeedin ka timid bilow-eray (tusaale AGF) oo loo wajahayo foomkeeda ballaaran', restriction: 'insideMainspaceOnly' },
{ tag: 'R from MathSciNet abbreviation', description: 'dib-u-jeedin ka timid gaabinta cinwaanka daabacaadda MathSciNet oo ku socota cinwaanka aan la gaabin', restriction: 'insideMainspaceOnly' },
{ tag: 'R from NLM abbreviation', description: 'dib-u-jeedin ka timid gaabinta cinwaanka daabacaadda NLM oo ku socota cinwaanka aan la gaabin', restriction: 'insideMainspaceOnly' }
],
'Isticmaalka xarfaha waaweyn (Capitalisation)': [
{ tag: 'R from CamelCase', description: 'dib-u-jeedin ka timid cinwaan CamelCase ah' },
{ tag: 'R from other capitalisation', description: 'dib-u-jeedin ka timid cinwaan leh hab kale oo xarfaha waaweyn ah', restriction: 'insideMainspaceOnly' },
{ tag: 'R from miscapitalisation', description: 'dib-u-jeedin ka timid khalad xarfaha waaweyn ah' }
],
'Naxwaha & hakadka': [
{ tag: 'R from modification', description: 'dib-u-jeedin ka timid wax-ka-beddelka cinwaanka bartilmaameedka, sida ereyo la isku beddelay' },
{ tag: 'R from plural', description: 'dib-u-jeedin ka timid eray badan oo loo wajahayo foomka keli ee u dhigma', restriction: 'insideMainspaceOnly' },
{ tag: 'R to plural', description: 'dib-u-jeedin ka timid magac keli oo loo wajahayo foomkiisa badan', restriction: 'insideMainspaceOnly' }
],
'Qaybaha hadalka': [
{ tag: 'R from verb', description: 'dib-u-jeedin ka timid fal af-Ingiriisi ah ama weedh fal ah', restriction: 'insideMainspaceOnly' },
{ tag: 'R from adjective', description: 'dib-u-jeedin ka timid sifo (eray ama weedh sharraxaysa magac)', restriction: 'insideMainspaceOnly' }
],
Higgaadda: [
{ tag: 'R from alternative spelling', description: 'dib-u-jeedin ka timid cinwaan leh higgaad ka duwan' },
{ tag: 'R from alternative transliteration', description: 'dib-u-jeedin ka timid turjumaad xaraf-ila-xaraf ah oo beddel ah oo ku socota nooc caan ah' },
{ tag: 'R from ASCII-only', description: 'dib-u-jeedin ka timid cinwaan ku jira ASCII keliya oo ku socota cinwaanka rasmiga ah, oo leh kala duwanaansho aan ahayn calaamadaha diakritiga ama xarfaha la isu keenay' },
{ tag: 'R to ASCII-only', description: 'dib-u-jeedin ku socota cinwaan ku jira ASCII keliya oo ka timid cinwaanka rasmiga ah, oo leh kala duwanaansho aan ahayn calaamadaha diakritiga ama xarfaha la isu keenay' },
{ tag: 'R from diacritic', description: 'dib-u-jeedin ka timid magac bog oo leh calaamadaha diakritiga (calaamadaha dhawaaqa, umlauts, iwm.)' },
{ tag: 'R to diacritic', description: 'dib-u-jeedin ku socota cinwaanka maqaalka oo leh calaamadaha diakritiga' },
{ tag: 'R from misspelling', description: 'dib-u-jeedin ka timid khalad higgaad ama khalad farsamo' }
]
},
'Magacyada beddelka ah': {
Guud: [
{
tag: 'R from alternative language',
description: 'dib-u-jeedin ka timid ama ku socota cinwaan ku jira luuqad kale',
subgroup: [
{
name: 'altLangFrom',
type: 'input',
label: 'Luuqadda laga keenay (koodka laba-xaraf):',
tooltip: 'Geli koodka laba-xaraf ee luuqadda uu magaca dib-u-jeedintu ku jiro; sida en ee Ingiriisiga, de ee Jarmalka'
},
{
name: 'altLangTo',
type: 'input',
label: 'Luuqadda loo diray (koodka laba-xaraf):',
tooltip: 'Geli koodka laba-xaraf ee luuqadda uu magaca bartilmaameedku ku jiro; sida en ee Ingiriisiga, de ee Jarmalka'
},
{
name: 'altLangInfo',
type: 'div',
label: $.parseHTML('<p>Liiska koodka luuqadaha, eeg <a href="/wiki/Wp:Template_messages/Redirect_language_codes">Wikipedia:Template messages/Redirect language codes</a></p>')
}
]
},
{ tag: 'R from alternative name', description: 'dib-u-jeedin ka timid cinwaan ah magac kale, pseudonym, naanayst, ama synonym' },
{ tag: 'R from ambiguous sort name', description: 'dib-u-jeedin ka timid magac kala soocid oo aan caddayn oo ku socota bog ama liis kala soocaya' },
{ tag: 'R from former name', description: 'dib-u-jeedin ka timid magac hore ama taariikhi ah ama cinwaan shaqo', restriction: 'insideMainspaceOnly' },
{ tag: 'R from incomplete name', description: 'R ka timid magac aan dhammaystirnayn' },
{ tag: 'R from incorrect name', description: 'dib-u-jeedin ka timid magac khalad ah oo aan ku habboonayn cinwaan ahaan' },
{ tag: 'R from less specific name', description: 'dib-u-jeedin ka timid cinwaan aan sidaas u sii caddayn oo ku socota mid gaar ah oo aan guud ahayn' },
{ tag: 'R from long name', description: 'dib-u-jeedin ka timid cinwaan dhammaystiran' },
{ tag: 'R from more specific name', description: 'dib-u-jeedin ka timid cinwaan gaar ah oo ku socota mid guud oo aan sidaas u sii caddayn' },
{ tag: 'R from non-neutral name', description: 'dib-u-jeedin ka timid cinwaan ka kooban eray, weedh, ama magac aan dhexdhexaad ahayn, aflagaado ah, muran dhaliyay, ama xun' },
{ tag: 'R from short name', description: 'dib-u-jeedin ka timid cinwaan ah qaab gaaban oo ah magaca buuxa ee qof, cinwaanka buug, ama cinwaan kale oo dhammaystiran' },
{ tag: 'R from sort name', description: 'dib-u-jeedin ka timid magaca kala soocidda ee bartilmaameedka, sida ka bilaabashada magaca qoyskooda halkii uu ka ahaan lahaa magaca hore', restriction: 'insideMainspaceOnly' },
{ tag: 'R from synonym', description: 'dib-u-jeedin ka timid synonym macne ah ee cinwaanka bogga bartilmaameedka' }
],
Dadka: [
{ tag: 'R from birth name', description: 'dib-u-jeedin ka timid magaca dhalashada ee qof oo ku socota magac caan ah', restriction: 'insideMainspaceOnly' },
{ tag: 'R from given name', description: 'dib-u-jeedin ka timid magaca koowaad ee qof', restriction: 'insideMainspaceOnly' },
{ tag: 'R from married name', description: 'dib-u-jeedin ka timid magaca guurka ee qof oo ku socota magac caan ah', restriction: 'insideMainspaceOnly' },
{ tag: 'R from name with title', description: 'dib-u-jeedin ka timid magaca qof oo ay ka horreeyaan ama ka dambeeyaan cinwaan oo ku socota magaca aan lahayn cinwaan ama leh cinwaanka oo ku jira qaws', restriction: 'insideMainspaceOnly' },
{ tag: 'R from person', description: 'dib-u-jeedin ka timid qof ama dad oo ku socota maqaal xiriir la leh', restriction: 'insideMainspaceOnly' },
{ tag: 'R from personal name', description: 'dib-u-jeedin ka timid magaca shaqsiyeed ee qof oo ku socota maqaal lagu magacaabay magacooda xirfadeed ama mid kale oo caan ah', restriction: 'insideMainspaceOnly' },
{ tag: 'R from pseudonym', description: 'dib-u-jeedin ka timid pseudonym', restriction: 'insideMainspaceOnly' },
{ tag: 'R from surname', description: 'dib-u-jeedin ka timid cinwaan ah magaca qoyska (surname)', restriction: 'insideMainspaceOnly' }
],
Farsamada: [
{ tag: 'R from drug trade name', description: 'dib-u-jeedin ka timid (ama ku socota) magaca ganacsiga ee daawo oo ku socota (ama ka timid) magaca caalamiga ah ee aan lahayn calaamadda ganacsiga (INN)' },
{ tag: 'R from filename', description: 'dib-u-jeedin ka timid cinwaan ah magaca faylka ee bartilmaameedka', restriction: 'insideMainspaceOnly' },
{ tag: 'R from molecular formula', description: 'dib-u-jeedin ka timid caanaha molekular/kiimiko oo ku socota magaceeda farsamo ama caadiga ah' },
{ tag: 'R from gene symbol', description: 'dib-u-jeedin ka timid koodka Human Genome Organisation (HUGO) ee hidde-side (gene) oo ku socota maqaal ku saabsan hidde-sideha', restriction: 'insideMainspaceOnly' }
],
Noolaha: [
{ tag: 'R to scientific name', description: 'dib-u-jeedin ka timid magaca caadiga ah oo ku socota magaca sayniska', restriction: 'insideMainspaceOnly' },
{ tag: 'R from scientific name', description: 'dib-u-jeedin ka timid magaca sayniska oo ku socota magaca caadiga ah', restriction: 'insideMainspaceOnly' },
{ tag: 'R from alternative scientific name', description: 'dib-u-jeedin ka timid magaca sayniska ee beddelka ah oo ku socota magaca sayniska ee la aqbalay', restriction: 'insideMainspaceOnly' },
{ tag: 'R from scientific abbreviation', description: 'dib-u-jeedin ka timid gaabinta sayniska', restriction: 'insideMainspaceOnly' },
{ tag: 'R to monotypic taxon', description: 'dib-u-jeedin ka xubin kaliya ee hooseysa ee taxon monotypic ah oo ku socota taxon-keeda monotypic ah', restriction: 'insideMainspaceOnly' },
{ tag: 'R from monotypic taxon', description: 'dib-u-jeedin ka timid taxon monotypic ah oo ku socota xubinteeda kaliya ee hooseysa', restriction: 'insideMainspaceOnly' },
{ tag: 'R taxon with possibilities', description: 'dib-u-jeedin ka timid cinwaan la xiriira noole nool oo suurtagal ah in lagu ballaariyo maqaal', restriction: 'insideMainspaceOnly' }
],
Juqraafiga: [
{ tag: 'R from name and country', description: 'dib-u-jeedin ka timid magaca gaarka ah oo ku socota magaca gaaban', restriction: 'insideMainspaceOnly' },
{ tag: 'R from more specific geographic name', description: 'dib-u-jeedin ka timid goob juqraafiyeed oo ka kooban aqoonsiyo dheeraad ah sida degmada ama gobolka magaalada', restriction: 'insideMainspaceOnly' }
]
},
'Qalabka hagidda': {
Hagidda: [
{ tag: 'R to anchor', description: 'dib-u-jeedin ka timid mawduuc aan lahayn boggiisa gaarka ah oo ku socota qayb ku taal bogga oo la xiriirta mawduuca' },
{
tag: 'R avoided double redirect',
description: 'dib-u-jeedin ka timid cinwaan beddel ah oo loogu talagalay dib-u-jeedin kale',
subgroup: {
name: 'doubleRedirectTarget',
type: 'input',
label: 'Magaca bartilmaameedka dib-u-jeedinta',
tooltip: 'Geli bogga uu dib-u-jeedintani ku socon lahaa haddii uusan boggu sidoo kale ahayn dib-u-jeedin'
}
},
{ tag: 'R from file metadata link', description: 'dib-u-jeedin ah xiriiriye wiki ah oo laga abuuray EXIF, XMP, ama macluumaad kale', restriction: 'insideMainspaceOnly' },
{ tag: 'R to list entry', description: 'dib-u-jeedin ku socota liis ka kooban sharaxaad gaaban oo ah mowduucyo aan caan ku ahayn inay yeeshaan maqaallo gaar ah', restriction: 'insideMainspaceOnly' },
{ tag: 'R mentioned in hatnote', description: 'dib-u-jeedin ka timid cinwaan lagu xusay hatnote-ka bartilmaameedka dib-u-jeedinta' },
{ tag: 'R to section', description: 'la mid ah {{R to list entry}}, laakiin marka liiska lagu habeeyo qaybo, sida liiska jilayaasha ee caalam khayaali ah' },
{ tag: 'R from shortcut', description: 'dib-u-jeedin ka timid gaabinta Wikipedia' },
{ tag: 'R to subpage', description: 'dib-u-jeedin ku socota bog-hoosaad' }
],
Kala-soocidda: [
{ tag: 'R from ambiguous term', description: 'dib-u-jeedin ka timid magac bog oo aan caddayn oo ku socota bog kala soocaya. Calaamaddu waa aysan ka muuqan bog leh "(disambiguation)" cinwaankeeda, isticmaal R to disambiguation page halkaas beddelkeeda' },
{ tag: 'R to disambiguation page', description: 'dib-u-jeedin ku socota bog kala-soocid', restriction: 'disambiguationPagesOnly' },
{ tag: 'R from incomplete disambiguation', description: 'dib-u-jeedin ka timid magac bog oo aad ugu caddayn inuu noqdo cinwaanka maqaal oo ay tahay inuu u adeego dib-u-jeedin bog kala-soocid oo ku habboon' },
{ tag: 'R from incorrect disambiguation', description: 'dib-u-jeedin ka timid magac bog oo leh kala-soocid khalad ah oo ka timid khalad ama fikrad khaldan oo hore' },
{ tag: 'R from other disambiguation', description: 'dib-u-jeedin ka timid magac bog oo leh sifeyn kala-soocid oo beddel ah' },
{ tag: 'R from unnecessary disambiguation', description: 'dib-u-jeedin ka timid magac bog oo leh sifeyn kala-soocid oo aan loo baahnayn' }
],
'Isku-dhafan, nuqul & guurid': [
{ tag: 'R from duplicated article', description: 'dib-u-jeedin ku socota maqaal la mid ah si loo ilaaliyo taariikhdiisa tafatirka' },
{ tag: 'R with history', description: 'dib-u-jeedin ka timid bog ka kooban taariikh bog oo muhiim ah, oo loo hayo si loo ilaaliyo nuxurka iyo sifaynta' },
{ tag: 'R from move', description: 'dib-u-jeedin ka timid bog la guuriyay/magacooda la beddelay' },
{ tag: 'R from merge', description: 'dib-u-jeedin ka timid bog la midayn si loo ilaaliyo taariikhdiisa tafatirka' }
],
Magaca: [
{ tag: 'R from remote talk page', description: 'dib-u-jeedin ka timid bog wada-hadal oo ku jira meel kasta oo wada-hadal ah oo ku socota bog u dhigma oo si weyn loo ilaaliyo', restriction: 'insideTalkNamespaceOnly' },
{ tag: 'R to category namespace', description: 'dib-u-jeedin ka timid bog ka baxsan meesha qaybta oo ku socota bog qayb ah' },
{ tag: 'R to help namespace', description: 'dib-u-jeedin ka timid bog kasta oo ku jira ama ka baxsan meesha caawinta oo ku socota bog ku jira meeshaas' },
{ tag: 'R to main namespace', description: 'dib-u-jeedin ka timid bog ka baxsan meesha maqaalka-guud oo ku socota maqaal ku jira mainspace' },
{ tag: 'R to portal namespace', description: 'dib-u-jeedin ka timid bog kasta oo ku jira ama ka baxsan meesha bog-galeedka oo ku socota bog ku jira meeshaas' },
{ tag: 'R to project namespace', description: 'dib-u-jeedin ka timid bog kasta oo ku jira ama ka baxsan meesha mashruuca (Wikipedia: ama WP:) oo ku socota bog kasta oo ku jira meesha mashruuca' },
{ tag: 'R to user namespace', description: 'dib-u-jeedin ka timid bog ka baxsan meesha isticmaalaha oo ku socota bog isticmaale (oo aan ahayn bog wada-hadal isticmaale)', restriction: 'outsideUserspaceOnly' }
]
},
Warbaahinta: {
Guud: [
{ tag: 'R from album', description: 'dib-u-jeedin ka timid albam oo ku socota mawduuc xiriir la leh sida fannaanka duubaya ama liiska albamada', restriction: 'insideMainspaceOnly' },
{ tag: 'R from band name', description: 'dib-u-jeedin ka timid koox muusig ama magac koox muusig oo u wajahaysa maqaal ku saabsan hal qof, tusaale hoggaamiyaha kooxda' },
{ tag: 'R from book', description: 'dib-u-jeedin ka timid cinwaanka buug oo ku socota maqaal guud oo ku habboon', restriction: 'insideMainspaceOnly' },
{ tag: 'R from cover song', description: 'dib-u-jeedin ka timid nooc duubis oo ah hees oo ku socota maqaalka ku saabsan heesta asalka ah ee noocan uu daboolayo' },
{ tag: 'R from film', description: 'dib-u-jeedin ka timid cinwaanka filim oo ah hoos-hooseeye ee bartilmaameedka dib-u-jeedinta ama cinwaan ku jira luuqad beddel ah oo lagu soo saaray luuqaddaas', restriction: 'insideMainspaceOnly' },
{ tag: 'R from journal', description: 'dib-u-jeedin ka timid maqaal joornaal ganacsi ama xirfadeed oo ku socota maqaal Wikipedia oo guud oo ku habboon, sida qoraaga ama daabacaha maqaalka' },
{ tag: 'R from lyric', description: 'dib-u-jeedin ka timid ereyo hees ah oo ku socota hees ama il kale oo sharraxaysa ereyada' },
{ tag: 'R from meme', description: 'dib-u-jeedin ka timid magaca meme internet ama dhacdo kale oo dhaqanka caanka ah oo ah hoos-hooseeye ee bartilmaameedka dib-u-jeedinta' },
{ tag: 'R from song', description: 'dib-u-jeedin ka timid cinwaanka hees oo ku socota maqaal guud oo ku habboon' },
{ tag: 'R from television episode', description: 'dib-u-jeedin ka timid cinwaanka qayb telefishan oo ku socota shaqo xiriir la leh ama liiska qaybaha', restriction: 'insideMainspaceOnly' },
{ tag: 'R from television program', description: 'dib-u-jeedin ka timid cinwaanka barnaamij telefishan, taxane telefishan ama taxane shabakadeed oo ah hoos-hooseeye ee bartilmaameedka dib-u-jeedinta' },
{ tag: 'R from upcoming film', description: 'dib-u-jeedin ka timid cinwaan suurtagal ah in lagu ballaariyo maqaal cusub ama nooc kale oo bog ah oo xiriir la leh sida muunad cusub.' },
{ tag: 'R from work', description: 'dib-u-jeedin ka timid shaqo hal abuur ah oo ku socota mawduuc xiriir la leh sida qoraaga/fannaanka, daabacaha, ama mawduuc la xiriira shaqada' }
],
Khayaaliga: [
{ tag: 'R from fictional character', description: 'dib-u-jeedin ka timid jilaa khayaali ah oo ku socota shaqo khayaali ah ama liis jilayaal oo xiriir la leh', restriction: 'insideMainspaceOnly' },
{ tag: 'R from fictional element', description: 'dib-u-jeedin ka timid walax khayaali ah (sida shay ama fikrad) oo ku socota shaqo khayaali ah ama liis walxo la mid ah', restriction: 'insideMainspaceOnly' },
{ tag: 'R from fictional location', description: 'dib-u-jeedin ka timid goob ama deegaan khayaali ah oo ku socota shaqo khayaali ah ama liis meelaha', restriction: 'insideMainspaceOnly' }
]
},
Nooc_kala_duwan: {
'Macluumaadka xiriirka leh': [
{ tag: 'R to article without mention', description: 'dib-u-jeedin ku socota maqaal aan lahayn wax xus ah oo ku saabsan erayga ama weedha dib-u-jeedinta ah', restriction: 'insideMainspaceOnly' },
{ tag: 'R from company name', description: 'dib-u-jeedin ka timid magaca shirkad oo ku socota maqaal xiriir la leh', restriction: 'insideMainspaceOnly' },
{ tag: 'R to decade', description: 'dib-u-jeedin ka timid sano oo ku socota maqaalka tobaneeyada sano', restriction: 'insideMainspaceOnly' },
{ tag: 'R from domain name', description: 'dib-u-jeedin ka timid magaca domain oo ku socota maqaal ku saabsan shabakad' },
{ tag: 'R from emoji', description: 'dib-u-jeedin ka timid emoji oo ku socota maqaal sharraxaya fikradda la sawiray ama emoji-ga laftiisa', restriction: 'insideMainspaceOnly' },
{ tag: 'R from phrase', description: 'dib-u-jeedin ka timid weedh oo ku socota maqaal guud oo ku habboon oo daboolaya mawduuca' },
{ tag: 'R from list topic', description: 'dib-u-jeedin ka timid mawduuca liiska oo ku socota liiska u dhigma' },
{ tag: 'R from member', description: 'dib-u-jeedin ka timid xubin ka tirsan koox oo ku socota mawduuc xiriir la leh sida kooxda ama ururka' },
{ tag: 'R to related topic', description: 'dib-u-jeedin ku socota maqaal ku saabsan mawduuc la mid ah', restriction: 'insideMainspaceOnly' },
{ tag: 'R from related word', description: 'dib-u-jeedin ka timid eray xiriir la leh' },
{ tag: 'R from school', description: 'dib-u-jeedin ka timid maqaal dugsi oo haystay macluumaad aad u yar', restriction: 'insideMainspaceOnly' },
{ tag: 'R from subtopic', description: 'dib-u-jeedin ka timid cinwaan ah hoos-hooseeye ee maqaalka bartilmaameedka', restriction: 'insideMainspaceOnly' },
{ tag: 'R to subtopic', description: 'dib-u-jeedin ku socota hoos-hooseeye ee cinwaanka dib-u-jeedinta', restriction: 'insideMainspaceOnly' },
{ tag: 'R from Unicode character', description: 'dib-u-jeedin ka timid hal xaraf oo Unicode ah oo ku socota maqaal ama bog mashruuc Wikipedia ah oo soo saaraya macnaha calaamadda', restriction: 'insideMainspaceOnly' },
{ tag: 'R from Unicode code', description: 'dib-u-jeedin ka timid dhibic koodka Unicode oo ku socota maqaal ku saabsan xarafka uu matalayo', restriction: 'insideMainspaceOnly' }
],
'Iyadoo ay suurtagal tahay': [
{ tag: 'R with possibilities', description: 'dib-u-jeedin ka timid cinwaan gaar ah oo ku socota maqaal guud, oo aan faahfaahsaneyn (wax la ballaari karo oo la rabay in la ballaariyo)' }
],
'Koodka ISO': [
{ tag: 'R from ISO 4 abbreviation', description: 'dib-u-jeedin ka timid gaabinta cinwaanka daabacaadda ISO 4 oo ku socota cinwaanka aan la gaabin', restriction: 'insideMainspaceOnly' },
{ tag: 'R from ISO 639 code', description: 'dib-u-jeedin ka timid cinwaan ah koodka luuqadda ISO 639 oo ku socota maqaal ku saabsan luuqadda', restriction: 'insideMainspaceOnly' }
],
'U qalmida daabacaadda': [
{ tag: 'R printworthy', description: 'dib-u-jeedin ka timid cinwaan noqon lahaa mid waxtar leh oo ku jira nooc daabacan ama CD/DVD ah oo Wikipedia ah', restriction: 'insideMainspaceOnly' },
{ tag: 'R unprintworthy', description: 'dib-u-jeedin ka timid cinwaan AAN NOQON LAHAYN mid waxtar leh oo ku jira nooc daabacan ama CD/DVD ah oo Wikipedia ah', restriction: 'insideMainspaceOnly' }
]
}
};
Twinkle.tag.fileList = {
'Calaamadaha shati bixinta iyo dhibaatooyinka isha': [
{ label: '{{Better source requested}}: macluumaadka isha wuxuu ka kooban yahay URL fayl madhan / URL saldhig guud oo keliya', value: 'Better source requested' },
{ label: '{{Maybe free media}}: hadda lagu calaamadiyay shati aan xor ahayn, laakiin shati xor ah ayaa la heli karaa', value: 'Maybe free media' },
{ label: '{{Non-free reduce}}: sawir isticmaal caddaalad ah oo aan ahayn xallin-hoose (ama qayb maqal oo dheer, iwm)', value: 'Non-free reduce' },
{ label: '{{Orphaned non-free revisions}}: warbaahin isticmaal caddaalad ah oo leh dib-u-eegisyo duug ah oo u baahan in la tirtiro', value: 'Orphaned non-free revisions' }
],
'Calaamadaha la xiriira Wikimedia Commons': [
{ label: '{{Copy to Commons}}: warbaahin xor ah oo ay tahay in la koobiyo oo loo raro Commons', value: 'Copy to Commons' },
{
label: '{{Deleted on Commons}}: faylka horay ayaa looga tirtiray Commons',
value: 'Deleted on Commons',
subgroup: {
type: 'input',
name: 'deletedOnCommonsName',
label: 'Magaca ku yaal Commons:',
tooltip: 'Magaca sawirka ku yaal Commons (haddii uu ka duwan yahay magaca maxalliga ah), iyada oo aan la darin horgalaha File:'
}
},
{
label: '{{Do not move to Commons}}: faylka kuma habboona in loo raro Commons',
value: 'Do not move to Commons',
subgroup: [
{
type: 'input',
name: 'DoNotMoveToCommons_reason',
label: 'Sababta:',
tooltip: 'Geli sababta aysan tahay in sawirkan loo wareejin Commons (loojahan yahay). Haddii faylka uu yahay PD gudaha US laakiin aan ka ahayn waddanka asalka ah, geli "US only"',
required: true
},
{
type: 'number',
name: 'DoNotMoveToCommons_expiry',
label: 'Sanadka dhicitaanka:',
min: new Morebits.Date().getFullYear(),
tooltip: 'Haddii faylkan loo rari karo Commons laga bilaabo sanad gaar ah, waad geli kartaa halkan (ikhtiyaari).'
}
]
},
{
label: '{{Keep local}}: codsi ah in la hayo nuqulka maxalliga ah ee faylka Commons',
value: 'Keep local',
subgroup: {
type: 'input',
name: 'keeplocalName',
label: 'Magaca sawirka Commons haddii uu ka duwan yahay:',
tooltip: 'Magaca sawirka ku yaal Commons (haddii uu ka duwan yahay magaca maxalliga ah), iyada oo aan la darin horgalaha File::'
}
},
{
label: '{{Nominated for deletion on Commons}}: faylka waxaa loo magacaabay in laga tirtiro Commons',
value: 'Nominated for deletion on Commons',
subgroup: {
type: 'input',
name: 'nominatedOnCommonsName',
label: 'Magaca ku yaal Commons:',
tooltip: 'Magaca sawirka ku yaal Commons (haddii uu ka duwan yahay magaca maxalliga ah), iyada oo aan la darin horgalaha File::'
}
}
],
'Calaamadaha nadiifinta': [
{ label: '{{Artifacts}}: PNG wuxuu ka kooban yahay haraadiga cadaadiska', value: 'Artifacts' },
{ label: '{{Bad font}}: SVG wuxuu isticmaalaa farta aan laga helin adeegaha thumbnail-ka', value: 'Bad font' },
{ label: '{{Bad format}}: PDF/DOC/... faylka waa in loo beddelaa qaab waxtar leh', value: 'Bad format' },
{ label: '{{Bad GIF}}: GIF ay tahay inuu noqdo PNG, JPEG, ama SVG', value: 'Bad GIF' },
{ label: '{{Bad JPEG}}: JPEG ay tahay inuu noqdo PNG ama SVG', value: 'Bad JPEG' },
{ label: '{{Bad SVG}}: SVG oo leh isku-dhafka sawirrada raster iyo vector', value: 'Bad SVG' },
{ label: '{{Bad trace}}: SVG si otomaatig ah loo raadraacay oo u baahan nadiifin', value: 'Bad trace' },
{
label: '{{Cleanup image}}: nadiifinta guud', value: 'Cleanup image',
subgroup: {
type: 'input',
name: 'cleanupimageReason',
label: 'Sababta:',
tooltip: 'Geli sababta nadiifinta (loojahan yahay)',
required: true
}
},
{ label: '{{ClearType}}: sawir (oo aan ahayn screenshot) oo wata ClearType anti-aliasing', value: 'ClearType' },
{ label: '{{Fake SVG}}: SVG oo ka kooban sawirro raster ah oo keliya oo aan lahayn nuxur vector dhab ah', value: 'Fake SVG' },
{ label: '{{Imagewatermark}}: sawirku wuxuu ka kooban yahay calaamad biyo ah oo muuqata ama aan muuqan', value: 'Imagewatermark' },
{ label: '{{NoCoins}}: sawir adeegsanaya lacagaha si uu u muujiyo miisaanka', value: 'NoCoins' },
{ label: '{{Overcompressed JPEG}}: JPEG oo leh heerar sarreeya oo haraadiga ah', value: 'Overcompressed JPEG' },
{ label: '{{Opaque}}: asalka aan muuqanin (opaque) waa inuu noqdaa mid muuqda (transparent)', value: 'Opaque' },
{ label: '{{Remove border}}: xuduud aan loo baahnayn, meel bannaan oo cad, iwm.', value: 'Remove border' },
{
label: '{{Rename media}}: faylka waa in dib loogu magacaabaa si waafaqsan shuruudaha ku yaal [[WP:FMV]]',
value: 'Rename media',
subgroup: [
{
type: 'input',
name: 'renamemediaNewname',
label: 'Magaca cusub:',
tooltip: 'Geli magaca cusub ee sawirka (ikhtiyaari)'
},
{
type: 'input',
name: 'renamemediaReason',
label: 'Sababta:',
tooltip: 'Geli sababta magacaabista (ikhtiyaari)'
}
]
},
{ label: '{{Should be PNG}}: GIF ama JPEG waa inaysan lumin tayo (lossless)', value: 'Should be PNG' },
{
label: '{{Should be SVG}}: PNG, GIF ama JPEG waa inay noqdaan sawirro vector ah', value: 'Should be SVG',
subgroup: {
name: 'svgCategory',
type: 'select',
list: [
{ label: '{{Should be SVG|other}}', value: 'other' },
{ label: '{{Should be SVG|alphabet}}: sawirrada xarfaha, tusaalooyinka farta, iwm.', value: 'alphabet' },
{ label: '{{Should be SVG|chemical}}: jaantusyada kiimikada, iwm.', value: 'chemical' },
{ label: '{{Should be SVG|circuit}}: jaantusyada wareegga elektaroonigga ah, iwm.', value: 'circuit' },
{ label: '{{Should be SVG|coat of arms}}: astaamaha qoyska (coats of arms)', value: 'coat of arms' },
{ label: '{{Should be SVG|diagram}}: jaantusyada aan ku habboonayn qayb hoosaad kale', value: 'diagram' },
{ label: '{{Should be SVG|emblem}}: astaamaha, calaamadaha xorta ah, insigneeyada, iwm.', value: 'emblem' },
{ label: '{{Should be SVG|fair use}}: sawirrada isticmaalka caddaaladda, calaamadaha isticmaalka caddaaladda', value: 'fair use' },
{ label: '{{Should be SVG|flag}}: calammada', value: 'flag' },
{ label: '{{Should be SVG|graph}}: sawirrada muuqaalka ee xogta', value: 'graph' },
{ label: '{{Should be SVG|logo}}: calaamadaha shirkadaha (logos)', value: 'logo' },
{ label: '{{Should be SVG|map}}: khariidadaha', value: 'map' },
{ label: '{{Should be SVG|music}}: miisaanka muusigga, qoraallada, iwm.', value: 'music' },
{ label: '{{Should be SVG|physical}}: sawirrada "dhabta ah" ee walxaha jirka, dadka, iwm.', value: 'physical' },
{ label: '{{Should be SVG|symbol}}: calaamadaha kala duwan, astaamaha, iwm.', value: 'symbol' }
]
}
},
{ label: '{{Should be text}}: sawirka waa in lagu matalo qoraal, miisas, ama calaamadda xisaabta', value: 'Should be text' }
],
'Calaamadaha tayada sawirka': [
{ label: '{{Image hoax}}: Sawirka waxaa laga yaabaa in la maacuuniyay ama uu yahay khiyaano', value: 'Image hoax' },
{ label: '{{Image-blownout}}', value: 'Image-blownout' },
{ label: '{{Image-out-of-focus}}', value: 'Image-out-of-focus' },
{
label: '{{Image-Poor-Quality}}', value: 'Image-Poor-Quality',
subgroup: {
type: 'input',
name: 'ImagePoorQualityReason',
label: 'Sababta:',
tooltip: 'Geli sababta sawirkani u xun yahay (loojahan yahay)',
required: true
}
},
{ label: '{{Image-underexposure}}', value: 'Image-underexposure' },
{
label: '{{Low quality chem}}: dhismooyin kiimiko oo la isku khilaafsan yahay', value: 'Low quality chem',
subgroup: {
type: 'input',
name: 'lowQualityChemReason',
label: 'Sababta:',
tooltip: 'Geli sababta jaantusku u yahay mid la isku khilaafsan yahay (loojahan yahay)',
required: true
}
}
],
'Calaamadaha beddelka': [
{ label: '{{Obsolete}}: nuqul la hagaajiyay ayaa la heli karaa', value: 'Obsolete' },
{ label: '{{PNG version available}}', value: 'PNG version available' },
{ label: '{{Vector version available}}', value: 'Vector version available' }
]
};
Twinkle.tag.fileList['Calaamadaha beddelka'].forEach((el) => {
el.subgroup = {
type: 'input',
label: 'Faylka beddelka:',
tooltip: 'Geli magaca faylka beddelaya kan (loojahan yahay)',
name: el.value.replace(/ /g, '_') + 'File',
required: true
};
});
Twinkle.tag.callbacks = {
article: function articleCallback(pageobj) {
let pageText = pageobj.getPageText().replace(/\{\{\s*([Uu]serspace draft)\s*(\|(?:\{\{[^{}]*\}\}|[^{}])*)?\}\}\s*/g, '');
const params = pageobj.getCallbackParameters();
const postRemoval = function() {
if (params.tagsToRemove.length) {
pageText = pageText.replace(/\{\{(multiple ?issues|article ?issues|mi)\s*\|\s*\}\}\n?/im, '');
pageText = pageText.replace(/\{\{(?:multiple ?issues|article ?issues|mi)\s*\|\s*(\{\{[^}]+\}\})\s*\}\}/im, '$1');
}
const makeSentence = function(array) {
if (array.length < 3) {
return array.join(' iyo ');
}
const last = array.pop();
return array.join(', ') + ', iyo ' + last;
};
const makeTemplateLink = function(tag) {
let text = '{{[[';
if (tag.includes('|')) {
tag = tag.slice(0, tag.indexOf('|'));
}
text += tag.includes(':') ? tag : 'Template:' + tag + '|' + tag;
return text + ']]}}';
};
let summaryText;
const addedTags = params.tags.map(makeTemplateLink);
const removedTags = params.tagsToRemove.map(makeTemplateLink);
if (addedTags.length) {
summaryText = 'Ku daray ' + makeSentence(addedTags);
summaryText += removedTags.length ? '; iyo ka saaray ' + makeSentence(removedTags) : '';
} else {
summaryText = 'Ka saaray ' + makeSentence(removedTags);
}
summaryText += ' calaamad' + (addedTags.length + removedTags.length > 1 ? 'yo' : '');
if (params.reason) {
summaryText += ': ' + params.reason;
}
if (summaryText.length > 499) {
summaryText = summaryText.replace(/\[\[[^|]+\|([^\]]+)\]\]/g, '$1');
}
pageobj.setPageText(pageText);
pageobj.setEditSummary(summaryText);
if ((mw.config.get('wgNamespaceNumber') === 0 && Twinkle.getPref('watchTaggedVenues').includes('articles')) || (mw.config.get('wgNamespaceNumber') === 118 && Twinkle.getPref('watchTaggedVenues').includes('drafts'))) {
pageobj.setWatchlist(Twinkle.getPref('watchTaggedPages'));
}
pageobj.setMinorEdit(Twinkle.getPref('markTaggedPagesAsMinor'));
pageobj.setCreateOption('nocreate');
pageobj.save(() => {
if (params.coiReason) {
const coiTalkPage = new Morebits.wiki.Page('Talk:' + Morebits.pageNameNorm, 'Bilowga doodda bogga wada-hadalka');
coiTalkPage.setNewSectionText(params.coiReason + ' ~~~~');
coiTalkPage.setNewSectionTitle('Calaamadda COI (' + new Morebits.Date(pageobj.getLoadTime()).format('MMMM Y', 'utc') + ')');
coiTalkPage.setChangeTags(Twinkle.changeTags);
coiTalkPage.setCreateOption('recreate');
coiTalkPage.newSection();
}
if (params.translationPostAtPNT) {
const pntPage = new Morebits.wiki.Page('Wikipedia:Pages needing translation into English',
'Liis gareynta maqaalka ee Wikipedia:Pages needing translation into English');
pntPage.setFollowRedirect(true);
pntPage.load((pageobj) => {
const oldText = pageobj.getPageText();
const lang = params.translationLanguage;
const reason = params.translationComments;
let templateText;
let text, summary;
if (params.tags.includes('Rough translation')) {
templateText = '{{subst:Dual fluency request|pg=' + Morebits.pageNameNorm + '|Language=' +
(lang || 'aan la hubin') + '|Comments=' + reason.trim() + '}} ~~~~';
text = oldText + '\n\n' + templateText;
summary = 'Codsi nadiifinta turjumaadda ee ';
} else if (params.tags.includes('Not English')) {
templateText = '{{subst:Translation request|pg=' + Morebits.pageNameNorm + '|Language=' +
(lang || 'aan la hubin') + '|Comments=' + reason.trim() + '}} ~~~~';
text = oldText.replace(/\n+(==\s?Translated pages that could still use some cleanup\s?==)/,
'\n\n' + templateText + '\n\n$1');
summary = 'Turjumaad' + (lang ? ' laga keenay ' + lang : '') + ' laga codsaday ';
}
if (text === oldText) {
pageobj.getStatusElement().error('ku guuldarraystay in la helo meesha lagu magacaabo doodda');
return;
}
pageobj.setPageText(text);
pageobj.setEditSummary(summary + ' [[:' + Morebits.pageNameNorm + ']]');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setCreateOption('recreate');
pageobj.save();
});
}
if (params.translationNotify) {
new Morebits.wiki.Page(Morebits.pageNameNorm).lookupCreation((innerPageobj) => {
const initialContrib = innerPageobj.getCreator();
if (initialContrib === mw.config.get('wgUserName')) {
innerPageobj.getStatusElement().warn('Adiga (' + initialContrib + ') ayaa abuuray boggan; ka boodaya ogeysiiska isticmaalaha');
return;
}
const userTalkPage = new Morebits.wiki.Page('User talk:' + initialContrib,
'Ogeysiinta tabaruca asaasiga ah (' + initialContrib + ')');
userTalkPage.setNewSectionTitle('Maqaalkaaga [[' + Morebits.pageNameNorm + ']]');
userTalkPage.setNewSectionText('{{subst:uw-notenglish|1=' + Morebits.pageNameNorm +
(params.translationPostAtPNT ? '' : '|nopnt=yes') + '}} ~~~~');
userTalkPage.setEditSummary('Ogeysiis: Fadlan isticmaal Ingiriisiga marka aad ku tabarucayso Wikipedia-ha Ingiriisiga.');
userTalkPage.setChangeTags(Twinkle.changeTags);
userTalkPage.setCreateOption('recreate');
userTalkPage.setFollowRedirect(true, false);
userTalkPage.newSection();
});
}
});
if (params.patrol) {
pageobj.triage();
}
};
const removeTags = function removeTags() {
if (params.tagsToRemove.length === 0) {
postRemoval();
return;
}
Morebits.Status.info('Macluumaad', 'Ka saaraya calaamadihii la laalay ee horay u jiray');
const getRedirectsFor = [];
params.tagsToRemove.forEach((tag) => {
const tagRegex = new RegExp('\\{\\{' + Morebits.pageNameRegex(tag) + '\\s*(\\|[^}]+)?\\}\\}\\n?');
if (tagRegex.test(pageText)) {
pageText = pageText.replace(tagRegex, '');
} else {
getRedirectsFor.push('Template:' + tag);
}
});
if (!getRedirectsFor.length) {
postRemoval();
return;
}
const api = new Morebits.wiki.Api('Helidda dib-u-jeedinta muunadaha', {
action: 'query',
prop: 'linkshere',
titles: getRedirectsFor.join('|'),
redirects: 1,
lhnamespace: '10',
lhshow: 'redirect',
lhlimit: 'max',
format: 'json'
}, ((apiobj) => {
const pages = apiobj.getResponse().query.pages.filter((p) => !p.missing && !!p.linkshere);
pages.forEach((page) => {
let removed = false;
page.linkshere.concat({title: page.title}).forEach((el) => {
const tag = el.title.slice(9);
const tagRegex = new RegExp('\\{\\{' + Morebits.pageNameRegex(tag) + '\\s*(\\|[^}]*)?\\}\\}\\n?');
if (tagRegex.test(pageText)) {
pageText = pageText.replace(tagRegex, '');
removed = true;
return false;
}
});
if (!removed) {
Morebits.Status.warn('Macluumaad', 'Lama helin {{' +
page.title.slice(9) + '}} bogga... ka reebaya');
}
});
postRemoval();
}));
api.post();
};
if (!params.tags.length) {
removeTags();
return;
}
let tagRe, tagText = '', tags = [];
const groupableTags = [], groupableExistingTags = [];
const addTag = function articleAddTag(tagIndex, tagName) {
let currentTag = '';
if (tagName === 'Uncategorized' || tagName === 'Improve categories') {
pageText += '\n\n{{' + tagName + '|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}';
} else {
currentTag += '{{' + tagName;
const subgroupObj = Twinkle.tag.article.flatObject[tagName] &&
Twinkle.tag.article.flatObject[tagName].subgroup;
if (subgroupObj) {
const subgroups = Array.isArray(subgroupObj) ? subgroupObj : [subgroupObj];
subgroups.forEach((gr) => {
if (gr.parameter && (params[gr.name] || gr.required)) {
currentTag += '|' + gr.parameter + '=' + (params[gr.name] || '');
}
});
}
switch (tagName) {
case 'Not English':
case 'Rough translation':
if (params.translationPostAtPNT) {
currentTag += '|listed=yes';
}
break;
default:
break;
}
currentTag += '|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}\n';
tagText += currentTag;
}
};
const addUngroupedTags = function() {
$.each(tags, addTag);
const wikipage = new Morebits.wikitext.Page(pageText);
const templatesAfter = Twinkle.hatnoteRegex +
'pp|pp-.*?|' +
'db|delete|db-.*?|speedy deletion-.*?|' +
'(?:proposed deletion|prod blp)\\/dated(?:\\s*\\|(?:concern|user|timestamp|help).*)+|' +
'salt|proposed deletion endorsed';
const afdRegex = '(?:<!--.*AfD.*\\n\\{\\{(?:Article for deletion\\/dated|AfDM).*\\}\\}\\n<!--.*(?:\\n<!--.*)?AfD.*(?:\\s*\\n))?';
pageText = wikipage.insertAfterTemplates(tagText, templatesAfter, null, afdRegex).getText();
removeTags();
};
params.tags.forEach((tag) => {
tagRe = new RegExp('\\{\\{' + tag + '(\\||\\}\\})', 'im');
if (Twinkle.tag.canRemove || !tagRe.exec(pageText)) {
if (Twinkle.tag.article.flatObject[tag] && !Twinkle.tag.article.flatObject[tag].excludeMI) {
groupableTags.push(tag);
} else {
tags.push(tag);
}
} else {
if (tag === 'History merge') {
tags.push(tag);
} else {
Morebits.Status.warn('Macluumaad', 'Waa la helay {{' + tag +
'}} maqaalka oo horay u joogay... ka reebaya');
}
}
});
params.tagsToRemain.forEach((tag) => {
if (Twinkle.tag.article.flatObject[tag] && !Twinkle.tag.article.flatObject[tag].excludeMI) {
groupableExistingTags.push(tag);
}
});
const miTest = /\{\{(multiple ?issues|article ?issues|mi)(?!\s*\|\s*section\s*=)[^}]+\{/im.exec(pageText);
if (miTest && groupableTags.length > 0) {
Morebits.Status.info('Macluumaad', 'Ku daraya calaamadaha la taageero gudaha muunadda {{multiple issues}} ee jirta');
tagText = '';
$.each(groupableTags, addTag);
const miRegex = new RegExp('(\\{\\{\\s*' + miTest[1] + '\\s*(?:\\|(?:\\{\\{[^{}]*\\}\\}|[^{}])*)?)\\}\\}\\s*', 'im');
pageText = pageText.replace(miRegex, '$1' + tagText + '}}\n');
tagText = '';
addUngroupedTags();
} else if (!miTest && (groupableExistingTags.length + groupableTags.length) >= 2) {
Morebits.Status.info('Macluumaad', 'Isku-ururinaya calaamadaha la taageero gudaha {{multiple issues}}');
tagText += '{{Multiple issues|\n';
const addNewTagsToMI = function() {
$.each(groupableTags, addTag);
tagText += '}}\n';
addUngroupedTags();
};
const getRedirectsFor = [];
groupableExistingTags.forEach((tag) => {
const tagRegex = new RegExp('(\\{\\{' + Morebits.pageNameRegex(tag) + '\\s*(\\|[^}]+)?\\}\\}\\n?)');
if (tagRegex.test(pageText)) {
tagText += tagRegex.exec(pageText)[1];
pageText = pageText.replace(tagRegex, '');
} else {
getRedirectsFor.push('Template:' + tag);
}
});
if (!getRedirectsFor.length) {
addNewTagsToMI();
return;
}
const api = new Morebits.wiki.Api('Helidda dib-u-jeedinta muunadaha', {
action: 'query',
prop: 'linkshere',
titles: getRedirectsFor.join('|'),
redirects: 1,
lhnamespace: '10',
lhshow: 'redirect',
lhlimit: 'max',
format: 'json'
}, ((apiobj) => {
const pages = apiobj.getResponse().query.pages.filter((p) => !p.missing && !!p.linkshere);
pages.forEach((page) => {
let found = false;
page.linkshere.forEach((el) => {
const tag = el.title.slice(9);
const tagRegex = new RegExp('(\\{\\{' + Morebits.pageNameRegex(tag) + '\\s*(\\|[^}]*)?\\}\\}\\n?)');
if (tagRegex.test(pageText)) {
tagText += tagRegex.exec(pageText)[1];
pageText = pageText.replace(tagRegex, '');
found = true;
return false;
}
});
if (!found) {
Morebits.Status.warn('Macluumaad', 'Lama helin muunadda jirta {{' +
page.title.slice(9) + '}} bogga... ka boodaya meelaynta');
}
});
addNewTagsToMI();
}));
api.post();
} else {
tags = tags.concat(groupableTags);
addUngroupedTags();
}
},
redirect: function redirect(pageobj) {
const params = pageobj.getCallbackParameters(),
tags = [];
let pageText = pageobj.getPageText(),
tagRe, tagText = '',
summaryText = 'Ku daray',
i;
for (i = 0; i < params.tags.length; i++) {
tagRe = new RegExp('(\\{\\{' + params.tags[i] + '(\\||\\}\\}))', 'im');
if (!tagRe.exec(pageText)) {
tags.push(params.tags[i]);
} else {
Morebits.Status.warn('Macluumaad', 'Waa la helay {{' + params.tags[i] +
'}} dib-u-jeedinta oo horay u joogtay... ka reebaya');
}
}
const addTag = function redirectAddTag(tagIndex, tagName) {
tagText += '\n{{' + tagName;
if (tagName === 'R from alternative language') {
if (params.altLangFrom) {
tagText += '|from=' + params.altLangFrom;
}
if (params.altLangTo) {
tagText += '|to=' + params.altLangTo;
}
} else if (tagName === 'R avoided double redirect' && params.doubleRedirectTarget) {
tagText += '|1=' + params.doubleRedirectTarget;
}
tagText += '}}';
if (tagIndex > 0) {
if (tagIndex === (tags.length - 1)) {
summaryText += ' iyo';
} else if (tagIndex < (tags.length - 1)) {
summaryText += ',';
}
}
summaryText += ' {{[[:' + (tagName.includes(':') ? tagName : 'Template:' + tagName + '|' + tagName) + ']]}}';
};
if (!tags.length) {
Morebits.Status.warn('Macluumaad', 'Ma jiraan calaamado harsan oo la dabaqo');
}
tags.sort();
$.each(tags, addTag);
if (pageText.match(/{{(?:redr|this is a redirect|r(?:edirect)?(?:.?cat.*)?[ _]?sh|RCS)/i)) {
const oldTags = pageText.match(/(\s*{{[A-Za-z\s]+\|(?:\s*1=)?)((?:[^|{}]|{{[^}]+}})+)(}})\s*/i);
pageText = pageText.replace(oldTags[0], oldTags[1] + tagText + oldTags[2] + oldTags[3]);
} else {
const pageTags = pageText.match(/\s*{{R(?:edirect)? .*?}}/img);
let oldPageTags = '';
if (pageTags) {
pageTags.forEach((pageTag) => {
const pageRe = new RegExp(Morebits.string.escapeRegExp(pageTag), 'img');
pageText = pageText.replace(pageRe, '');
pageTag = pageTag.trim();
oldPageTags += '\n' + pageTag;
});
}
pageText = pageText.trim() + '\n\n{{Redirect category shell|' + tagText + oldPageTags + '\n}}';
}
summaryText += (tags.length > 0 ? ' calaamad' + (tags.length > 1 ? 'yo' : ' ') : ' {{[[Template:Redirect category shell|Redirect category shell]]}}') + ' dib-u-jeedinta';
if (summaryText.length > 499) {
summaryText = summaryText.replace(/\[\[[^|]+\|([^\]]+)\]\]/g, '$1');
}
pageobj.setPageText(pageText);
pageobj.setEditSummary(summaryText);
if (Twinkle.getPref('watchTaggedVenues').includes('redirects')) {
pageobj.setWatchlist(Twinkle.getPref('watchTaggedPages'));
}
pageobj.setMinorEdit(Twinkle.getPref('markTaggedPagesAsMinor'));
pageobj.setCreateOption('nocreate');
pageobj.save();
if (params.patrol) {
pageobj.triage();
}
},
file: function twinkletagCallbacksFile(pageobj) {
let text = pageobj.getPageText();
const params = pageobj.getCallbackParameters();
let summary = 'Ku daraya ';
if (params.tags.length) {
let tagtext = '', currentTag;
$.each(params.tags, (k, tag) => {
if (['Keep local', 'Do not move to Commons'].includes(tag)) {
text = Twinkle.removeMoveToCommonsTagsFromWikicode(text);
}
currentTag = tag;
switch (tag) {
case 'Keep local':
if (params.keeplocalName !== '') {
currentTag += '|1=' + params.keeplocalName;
}
break;
case 'Rename media':
if (params.renamemediaNewname !== '') {
currentTag += '|1=' + params.renamemediaNewname;
}
if (params.renamemediaReason !== '') {
currentTag += '|2=' + params.renamemediaReason;
}
break;
case 'Cleanup image':
currentTag += '|1=' + params.cleanupimageReason;
break;
case 'Image-Poor-Quality':
currentTag += '|1=' + params.ImagePoorQualityReason;
break;
case 'Image hoax':
currentTag += '|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}';
break;
case 'Low quality chem':
currentTag += '|1=' + params.lowQualityChemReason;
break;
case 'Vector version available':
text = text.replace(/\{\{((convert to |convertto|should be |shouldbe|to)?svg|badpng|vectorize)[^}]*\}\}/gi, '');
/* falls through */
case 'PNG version available':
/* falls through */
case 'Obsolete':
currentTag += '|1=' + params[tag.replace(/ /g, '_') + 'File'];
break;
case 'Do not move to Commons':
currentTag += '|reason=' + params.DoNotMoveToCommons_reason;
if (params.DoNotMoveToCommons_expiry) {
currentTag += '|expiry=' + params.DoNotMoveToCommons_expiry;
}
break;
case 'Orphaned non-free revisions':
currentTag = 'subst:' + currentTag;
text = text.replace(/\{\{\s*(Template\s*:\s*)?(Non-free reduce|FairUseReduce|Fairusereduce|Fair Use Reduce|Fair use reduce|Reduce size|Reduce|Fair-use reduce|Image-toobig|Comic-ovrsize-img|Non-free-reduce|Nfr|Smaller image|Nonfree reduce)\s*(\|(?:\{\{[^{}]*\}\}|[^{}])*)?\}\}\s*/ig, '');
currentTag += '|date={{subst:date}}';
break;
case 'Copy to Commons':
currentTag += '|human=' + mw.config.get('wgUserName');
break;
case 'Should be SVG':
currentTag += '|' + params.svgCategory;
break;
case 'Nominated for deletion on Commons':
if (params.nominatedOnCommonsName !== '') {
currentTag += '|1=' + params.nominatedOnCommonsName;
}
break;
case 'Deleted on Commons':
if (params.deletedOnCommonsName !== '') {
currentTag += '|1=' + params.deletedOnCommonsName;
}
break;
default:
break;
}
currentTag = '{{' + currentTag + '}}\n';
tagtext += currentTag;
summary += '{{' + tag + '}}, ';
});
if (!tagtext) {
pageobj.getStatusElement().warn('Isticmaalku wuu kansalaystay hawlgalka; wax la qabto ma jiraan');
return;
}
text = tagtext + text;
}
pageobj.setPageText(text);
pageobj.setEditSummary(summary.substring(0, summary.length - 2));
pageobj.setChangeTags(Twinkle.changeTags);
if (Twinkle.getPref('watchTaggedVenues').includes('files')) {
pageobj.setWatchlist(Twinkle.getPref('watchTaggedPages'));
}
pageobj.setMinorEdit(Twinkle.getPref('markTaggedPagesAsMinor'));
pageobj.setCreateOption('nocreate');
pageobj.save();
if (params.patrol) {
pageobj.triage();
}
}
};
Twinkle.tag.checkIncompatible = function(incompatibleTags, tagsToCheck, extraMessage = null) {
const count = incompatibleTags.filter((tag) => tagsToCheck.includes(tag)).length;
if (count > 1) {
const incompatibleTagsString = '{{' + incompatibleTags.join('}}, {{') + '}}';
let message = 'Fadlan dooro mid ka mid ah kuwa soo socda: ' + incompatibleTagsString + '.';
message += extraMessage ? ' ' + extraMessage : '';
alert(message);
return true;
}
};
Twinkle.tag.callback.evaluate = function twinkletagCallbackEvaluate(e) {
const form = e.target;
const params = Morebits.QuickForm.getInputData(form);
switch (Twinkle.tag.mode) {
case 'article':
params.tagsToRemove = form.getUnchecked('existingTags');
params.tagsToRemain = params.existingTags || [];
if (Twinkle.tag.checkIncompatible(['Not English', 'Rough translation'], params.tags)) {
return;
}
break;
case 'file':
if (Twinkle.tag.checkIncompatible(['Bad GIF', 'Bad JPEG', 'Bad SVG', 'Bad format'], params.tags)) {
return;
}
if (Twinkle.tag.checkIncompatible(['Should be PNG', 'Should be SVG', 'Should be text'], params.tags)) {
return;
}
if (Twinkle.tag.checkIncompatible(['Bad SVG', 'Vector version available'], params.tags)) {
return;
}
if (Twinkle.tag.checkIncompatible(['Bad JPEG', 'Overcompressed JPEG'], params.tags)) {
return;
}
if (Twinkle.tag.checkIncompatible(['PNG version available', 'Vector version available'], params.tags)) {
return;
}
var extension = ((extension = $('.mime-type').text()) && extension.split(/\//)[1]) || mw.Title.newFromText(Morebits.pageNameNorm).getExtension();
if (extension) {
const extensionUpper = extension.toUpperCase();
if (extensionUpper === 'JPG') {
extension = 'JPEG';
}
if (extensionUpper !== 'GIF' && params.tags.includes('Bad GIF')) {
alert('Kani wuxuu u muuqdaa fayl ' + extension + ' ah, markaas {{Bad GIF}} waa mid aan habboonayn.');
return;
} else if (extensionUpper !== 'JPEG' && params.tags.includes('Bad JPEG')) {
alert('Kani wuxuu u muuqdaa fayl ' + extension + ' ah, markaas {{Bad JPEG}} waa mid aan habboonayn.');
return;
} else if (extensionUpper !== 'SVG' && params.tags.includes('Bad SVG')) {
alert('Kani wuxuu u muuqdaa fayl ' + extension + ' ah, markaas {{Bad SVG}} waa mid aan habboonayn.');
return;
} else if (extensionUpper !== 'SVG' && params.tags.includes('Fake SVG')) {
alert('Kani wuxuu u muuqdaa fayl ' + extension + ' ah, markaas {{Fake SVG}} waa mid aan habboonayn.');
return;
}
if (params.tags.includes('Should be ' + extensionUpper)) {
alert('Kani waa horeba fayl ' + extension + ' ah, markaas {{Should be ' + extensionUpper + '}} waa mid aan habboonayn.');
return;
}
if (params.tags.includes('Overcompressed JPEG') && extensionUpper !== 'JPEG') {
alert('Kani wuxuu u muuqdaa fayl ' + extension + ' ah, markaas {{Overcompressed JPEG}} malaha ma khuseeyo.');
return;
}
if (extensionUpper !== 'SVG') {
if (params.tags.includes('Bad trace')) {
alert('Kani wuxuu u muuqdaa fayl ' + extension + ' ah, markaas {{Bad trace}} malaha ma khuseeyo.');
return;
} else if (params.tags.includes('Bad font')) {
alert('Kani wuxuu u muuqdaa fayl ' + extension + ' ah, markaas {{Bad font}} malaha ma khuseeyo.');
return;
}
}
}
if (
params.tags.includes('Do not move to Commons') &&
params.DoNotMoveToCommons_expiry &&
(
!/^2\d{3}$/.test(params.DoNotMoveToCommons_expiry) ||
parseInt(params.DoNotMoveToCommons_expiry, 10) <= new Date().getFullYear()
)
) {
alert('Waa inuu noqdaa sanad mustaqbal oo sax ah.');
return;
}
break;
case 'redirect':
if (Twinkle.tag.checkIncompatible(['R printworthy', 'R unprintworthy'], params.tags)) {
return;
}
if (Twinkle.tag.checkIncompatible(['R from subtopic', 'R to subtopic'], params.tags)) {
return;
}
if (Twinkle.tag.checkIncompatible([
'R to category namespace',
'R to help namespace',
'R to main namespace',
'R to portal namespace',
'R to project namespace',
'R to user namespace'
], params.tags)) {
return;
}
break;
default:
alert('Twinkle.tag: qaab aan la aqoon ' + Twinkle.tag.mode);
break;
}
if (params.tags.length === 0 && (Twinkle.tag.mode !== 'article' || params.tagsToRemove.length === 0)) {
alert('Waa inaad doorataa ugu yaraan hal calaamad!');
return;
}
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
Morebits.wiki.actionCompleted.redirect = Morebits.pageNameNorm;
Morebits.wiki.actionCompleted.notice = 'Calaamadaynta waa la dhammeeyay, dib u soo dejinaya maqaalka ilbiriqsiyo gudahood';
if (Twinkle.tag.mode === 'redirect') {
Morebits.wiki.actionCompleted.followRedirect = false;
}
const wikipediaPage = new Morebits.wiki.Page(Morebits.pageNameNorm, 'Calaamadaynaya ' + Twinkle.tag.mode);
wikipediaPage.setCallbackParameters(params);
wikipediaPage.setChangeTags(Twinkle.changeTags);
wikipediaPage.load(Twinkle.tag.callbacks[Twinkle.tag.mode]);
};
Twinkle.addInitCallback(Twinkle.tag, 'tag');
}());
// </nowiki>
emlc5v28lkbmd27gu88cyfe8qc14ccu
MediaWiki:Gadget-twinklediff.js
8
53683
310871
2026-10-25T11:32:32Z
Isma4l
41797
Abuuray
310871
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinklediff.js: Qaybta Kala-duwanaanshaha (Diff module)
****************************************
* Qaabka loo yeero: Tab ku yaal boggaga aan ahayn kala-duwanaanshaha ("Ugu dambeeyay"); tabs ku yaal boggaga kala-duwanaanshaha ("Tan iyo", "Tan iyo tayda", "Hadda")
* Ka shaqeeya: Boggaga jira ee aan gaarka ahayn
*/
Twinkle.diff = function twinklediff() {
if (mw.config.get('wgNamespaceNumber') < 0 || !mw.config.get('wgArticleId')) {
return;
}
Twinkle.addPortletLink(mw.util.getUrl(mw.config.get('wgPageName'), {diff: 'cur', oldid: 'prev'}), 'Ugu dambeeyay', 'tw-lastdiff', 'Muuji kala-duwanaanshaha ugu dambeeya');
// Muuji tabs dheeraad ah kaliya boggaga kala-duwanaanshaha
if (mw.config.get('wgDiffNewId')) {
Twinkle.addPortletLink(() => {
Twinkle.diff.evaluate(false);
}, 'Tan iyo', 'tw-since', 'Muuji kala-duwanaanshaha u dhexeeya kala-duwanaanshaha ugu dambeeya iyo dib-u-eegista ay sameeyeen isticmaalihii hore');
Twinkle.addPortletLink(() => {
Twinkle.diff.evaluate(true);
}, 'Tan iyo tayda', 'tw-sincemine', 'Muuji kala-duwanaanshaha u dhexeeya kala-duwanaanshaha ugu dambeeya iyo dib-u-eegistaydii ugu dambeysay');
Twinkle.addPortletLink(mw.util.getUrl(mw.config.get('wgPageName'), {diff: 'cur', oldid: mw.config.get('wgDiffNewId')}), 'Hadda', 'tw-curdiff', 'Muuji kala-duwanaanshaha dib-u-eegista hadda');
}
};
Twinkle.diff.evaluate = function twinklediffEvaluate(me) {
let user;
if (me) {
user = mw.config.get('wgUserName');
} else {
const node = document.getElementById('mw-diff-ntitle2');
if (!node) {
return;
}
user = $(node).find('a').first().text();
}
const query = {
prop: 'revisions',
action: 'query',
titles: mw.config.get('wgPageName'),
rvlimit: 1,
rvprop: ['ids', 'user'],
rvstartid: mw.config.get('wgCurRevisionId') - 1, // t.a.h. ma aha kan hadda
rvuser: user,
format: 'json'
};
Morebits.Status.init(document.getElementById('mw-content-text'));
const wikipedia_api = new Morebits.wiki.Api('Soo qaadaya xogta tabaruca asaasiga ah', query, Twinkle.diff.callbacks.main);
wikipedia_api.params = { user: user };
wikipedia_api.post();
};
Twinkle.diff.callbacks = {
main: function(self) {
const rev = self.response.query.pages[0].revisions;
const revid = rev && rev[0].revid;
if (!revid) {
self.statelem.error('lama helin dib-u-eegis hore oo ku habboon, ama ' + self.params.user + ' waa tabarucaaha kaliya. Wuu joojinayaa.');
return;
}
window.location = mw.util.getUrl(mw.config.get('wgPageName'), {
diff: mw.config.get('wgCurRevisionId'),
oldid: revid
});
}
};
Twinkle.addInitCallback(Twinkle.diff, 'diff');
}());
// </nowiki>
cnsw2l9rnyobwf6htp0sloj3nd4sebb
MediaWiki:Gadget-twinkleunlink.js
8
53684
310872
2026-10-25T11:33:39Z
Isma4l
41797
Abuuray
310872
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinkleunlink.js: Qaybta Ka-goynta Xiriirinta (Unlink module)
****************************************
* Qaabka loo yeero: Tab ("Ka goy xiriirinta" / "Unlink")
* Ka shaqeeya: Boggaga aan ahayn kuwa gaarka ah, marka laga reebo Wikipedia:Sandbox
*/
Twinkle.unlink = function twinkleunlink() {
if (mw.config.get('wgNamespaceNumber') < 0 || mw.config.get('wgPageName') === 'Wikipedia:Sandbox' ||
(!Morebits.userIsInGroup('extendedconfirmed') && !Morebits.userIsSysop)) {
return;
}
Twinkle.addPortletLink(Twinkle.unlink.callback, 'Ka goy xiriirinta', 'tw-unlink', 'Ka goy xiriirinta dhabarka (backlinks)');
};
Twinkle.unlink.callback = function(presetReason) {
const fileSpace = mw.config.get('wgNamespaceNumber') === 6;
const Window = new Morebits.SimpleWindow(600, 440);
Window.setTitle('Ka goy xiriirinta dhabarka' + (fileSpace ? ' iyo adeegsiga faylalka' : ''));
Window.setScriptName('Twinkle');
Window.addFooterLink('Doorbidyada ka-goynta', 'WP:TW/PREF#unlink');
Window.addFooterLink('Caawinta Twinkle', 'WP:TW/DOC#unlink');
Window.addFooterLink('Bixi ra’yi-celin', 'WT:TW');
const form = new Morebits.QuickForm(Twinkle.unlink.callback.evaluate);
const linkTextBefore = Morebits.htmlNode('code', '[[' + (fileSpace ? ':' : '') + Morebits.pageNameNorm + '|qoraalka xiriirinta]]');
const linkTextAfter = Morebits.htmlNode('code', 'qoraalka xiriirinta');
const linkPlainBefore = Morebits.htmlNode('code', '[[' + Morebits.pageNameNorm + ']]');
let linkPlainAfter;
if (fileSpace) {
linkPlainAfter = Morebits.htmlNode('code', '<!-- [[' + Morebits.pageNameNorm + ']] -->');
} else {
linkPlainAfter = Morebits.htmlNode('code', Morebits.pageNameNorm);
}
form.append({
type: 'div',
style: 'margin-bottom: 0.5em',
label: [
'Qalabkani wuxuu kuu oggolaanayaa inaad ka goyso dhammaan xiriirinta soo gasha ("backlinks") ee ka imaanaya boggaga la calaamadiyay ee hoose ee ku soo wajahan boggan' +
(fileSpace ? ', iyo/ama aad qarisid dhammaan isticmaalka faylkan adigoo ku duudduubaya calaamadaynta faallada <!-- -->' : '') +
'. Tusaale ahaan, ',
linkTextBefore, ' waxay noqon doontaa ', linkTextAfter, ' iyo ',
linkPlainBefore, ' waxay noqon doontaa ', linkPlainAfter, '. Qalabkani ma ka goyn doono dib-u-jeedinta ama xiriirinta gudaha boggan ("selflinks") ee ku soo wajahan boggan. Si taxaddar leh u isticmaal.'
]
});
form.append({
type: 'input',
name: 'reason',
label: 'Sababta:',
value: presetReason || '',
size: 60
});
const query = {
action: 'query',
list: 'backlinks',
bltitle: mw.config.get('wgPageName'),
bllimit: 'max',
blnamespace: Twinkle.getPref('unlinkNamespaces'),
rawcontinue: true,
format: 'json'
};
if (fileSpace) {
query.list += '|imageusage';
query.iutitle = query.bltitle;
query.iulimit = query.bllimit;
query.iunamespace = query.blnamespace;
} else {
query.blfilterredir = 'nonredirects';
}
const wikipedia_api = new Morebits.wiki.Api('Soo qaadaya xiriirinta dhabarka', query, Twinkle.unlink.callbacks.display.backlinks);
wikipedia_api.params = { form: form, Window: Window, image: fileSpace };
wikipedia_api.post();
const root = document.createElement('div');
root.style.padding = '15px';
Morebits.Status.init(root);
wikipedia_api.statelem.status('soo dejinaya...');
Window.setContent(root);
Window.display();
};
Twinkle.unlink.callback.evaluate = function twinkleunlinkCallbackEvaluate(event) {
const form = event.target;
const input = Morebits.QuickForm.getInputData(form);
if (!input.reason) {
alert('Waa inaad sheegtaa sababta aad u goynayso xiriirinta.');
return;
}
input.backlinks = input.backlinks || [];
input.imageusage = input.imageusage || [];
const pages = Morebits.array.uniq(input.backlinks.concat(input.imageusage));
if (!pages.length) {
alert('Waa inaad doorataa ugu yaraan hal shay oo la ka gooyo xiriirinta.');
return;
}
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
const unlinker = new Morebits.BatchOperation('Ka goynaya xiriirinta ' + (input.backlinks.length ? 'dhabarka' +
(input.imageusage.length ? ' iyo tusaalooyinka isticmaalka faylka' : '') : 'tusaalooyinka isticmaalka faylka'));
unlinker.setOption('preserveIndividualStatusLines', true);
unlinker.setPageList(pages);
const params = { reason: input.reason, unlinker: unlinker };
unlinker.run((pageName) => {
const wikipedia_page = new Morebits.wiki.Page(pageName, 'Ka goynaya xiriirinta bogga "' + pageName + '"');
wikipedia_page.setBotEdit(true);
wikipedia_page.setCallbackParameters($.extend({
doBacklinks: input.backlinks.includes(pageName),
doImageusage: input.imageusage.includes(pageName)
}, params));
wikipedia_page.load(Twinkle.unlink.callbacks.unlinkBacklinks);
});
};
Twinkle.unlink.callbacks = {
display: {
backlinks: function twinkleunlinkCallbackDisplayBacklinks(apiobj) {
const response = apiobj.getResponse();
let havecontent = false;
let list, namespaces, i;
if (apiobj.params.image) {
const imageusage = response.query.imageusage.sort(Twinkle.sortByNamespace);
list = [];
for (i = 0; i < imageusage.length; ++i) {
list.push({ label: '', value: imageusage[i].title, checked: true });
}
if (!list.length) {
apiobj.params.form.append({ type: 'div', label: 'Lama helin wax tusaalooyin ah oo ah isticmaalka faylka.' });
} else {
apiobj.params.form.append({ type: 'header', label: 'Isticmaalka faylka' });
namespaces = [];
$.each(Twinkle.getPref('unlinkNamespaces'), (k, v) => {
namespaces.push(v === '0' ? '(Maqaal)' : mw.config.get('wgFormattedNamespaces')[v]);
});
apiobj.params.form.append({
type: 'div',
label: 'Meelaha magaca ee la doortay: ' + namespaces.join(', '),
tooltip: 'Waad bedeli kartaa tan adoo adeegsanaya doorbidyadaada Twinkle, adoo ka eegaya [[WP:TWPREFS]]'
});
if (response['query-continue'] && response['query-continue'].imageusage) {
apiobj.params.form.append({
type: 'div',
label: '100-ka / inta hore ee ' + mw.language.convertNumber(list.length) + ' ee isticmaalka faylka ayaa la muujiyay.'
});
}
apiobj.params.form.append({
type: 'button',
label: 'Dooro Dhammaan',
event: function(e) {
$(Morebits.QuickForm.getElements(e.target.form, 'imageusage')).prop('checked', true);
}
});
apiobj.params.form.append({
type: 'button',
label: 'Ka reeb Dhammaan',
event: function(e) {
$(Morebits.QuickForm.getElements(e.target.form, 'imageusage')).prop('checked', false);
}
});
apiobj.params.form.append({
type: 'checkbox',
name: 'imageusage',
shiftClickSupport: true,
list: list
});
havecontent = true;
}
}
const backlinks = response.query.backlinks.sort(Twinkle.sortByNamespace);
if (backlinks.length > 0) {
list = [];
for (i = 0; i < backlinks.length; ++i) {
list.push({ label: '', value: backlinks[i].title, checked: true });
}
apiobj.params.form.append({ type: 'header', label: 'Xiriirinta dhabarka (Backlinks)' });
namespaces = [];
$.each(Twinkle.getPref('unlinkNamespaces'), (k, v) => {
namespaces.push(v === '0' ? '(Maqaal)' : mw.config.get('wgFormattedNamespaces')[v]);
});
apiobj.params.form.append({
type: 'div',
label: 'Meelaha magaca ee la doortay: ' + namespaces.join(', '),
tooltip: 'Waad bedeli kartaa tan adoo adeegsanaya doorbidyadaada Twinkle, oo ku xiran xagga hoose ee daaqaddan Twinkle'
});
if (response['query-continue'] && response['query-continue'].backlinks) {
apiobj.params.form.append({
type: 'div',
label: '100-ka / inta hore ee ' + mw.language.convertNumber(list.length) + ' ee xiriirinta dhabarka ayaa la muujiyay.'
});
}
apiobj.params.form.append({
type: 'button',
label: 'Dooro Dhammaan',
event: function(e) {
$(Morebits.QuickForm.getElements(e.target.form, 'backlinks')).prop('checked', true);
}
});
apiobj.params.form.append({
type: 'button',
label: 'Ka reeb Dhammaan',
event: function(e) {
$(Morebits.QuickForm.getElements(e.target.form, 'backlinks')).prop('checked', false);
}
});
apiobj.params.form.append({
type: 'checkbox',
name: 'backlinks',
shiftClickSupport: true,
list: list
});
havecontent = true;
} else {
apiobj.params.form.append({ type: 'div', label: 'Lama helin wax xiriirinta dhabarka ah.' });
}
if (havecontent) {
apiobj.params.form.append({ type: 'submit' });
}
const result = apiobj.params.form.render();
apiobj.params.Window.setContent(result);
Morebits.QuickForm.getElements(result, 'backlinks').forEach(Twinkle.generateBatchPageLinks);
Morebits.QuickForm.getElements(result, 'imageusage').forEach(Twinkle.generateBatchPageLinks);
}
},
unlinkBacklinks: function twinkleunlinkCallbackUnlinkBacklinks(pageobj) {
let oldtext = pageobj.getPageText();
const params = pageobj.getCallbackParameters();
const wikiPage = new Morebits.wikitext.Page(oldtext);
let summaryText = '', warningString = false;
let text;
if (params.doImageusage) {
text = wikiPage.commentOutImage(mw.config.get('wgTitle'), 'Faallo la geliyay').getText();
if (text === oldtext) {
warningString = 'isticmaalka faylka';
} else {
summaryText = 'Ku daraya faallo isticmaalka faylka';
oldtext = text;
}
}
if (params.doBacklinks) {
text = wikiPage.removeLink(Morebits.pageNameNorm).getText();
if (text === oldtext) {
warningString = warningString ? 'xiriirinta dhabarka ama isticmaalka faylka' : 'xiriirinta dhabarka';
} else {
summaryText = (summaryText ? summaryText + ' / ' : '') + 'Ka saaraya xiriirinta ku socota';
oldtext = text;
}
}
if (warningString) {
pageobj.getStatusElement().error("Lama helin wax " + warningString + ' ah oo ku yaal bogga.');
params.unlinker.workerFailure(pageobj);
return;
}
pageobj.setPageText(text);
pageobj.setEditSummary(summaryText + ' "' + Morebits.pageNameNorm + '": ' + params.reason + '.');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setCreateOption('nocreate');
pageobj.save(params.unlinker.workerSuccess, params.unlinker.workerFailure);
}
};
Twinkle.addInitCallback(Twinkle.unlink, 'unlink');
}());
// </nowiki>
85xin48999z6mg9pog3vcqtdno3ymzh
MediaWiki:Gadget-twinklerollback.js
8
53685
310873
2026-10-25T11:35:30Z
Isma4l
41797
Abuuray
310873
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinklerollback.js: Qaybta Soo-celinta/Rogidda (Revert/rollback module)
****************************************
* Qaabka loo yeero: Xiriiriyeyaasha ku yaal tabarucaadyada, isbeddellada dhow, taariikhda, iyo boggaga kala-duwanaanshaha
* Ka shaqeeya: Boggaga kala-duwanaanshaha, boggaga taariikhda, Special:RecentChanges(Linked), iyo Special:Contributions
*/
/**
* Twinklerollback revert and antivandalism utility
*/
Twinkle.rollback = function twinklerollback() {
if (mw.config.get('wgIsProbablyEditable')) {
if (mw.config.get('wgAction') === 'view' && mw.config.get('wgRevisionId') && mw.config.get('wgCurRevisionId') !== mw.config.get('wgRevisionId')) {
Twinkle.rollback.addLinks.oldid();
} else if (mw.config.get('wgAction') === 'history' && mw.config.get('wgArticleId')) {
Twinkle.rollback.addLinks.history();
}
} else if (mw.config.get('wgNamespaceNumber') === -1) {
Twinkle.rollback.skipTalk = !Twinkle.getPref('openTalkPageOnAutoRevert');
Twinkle.rollback.rollbackInPlace = Twinkle.getPref('rollbackInPlace');
switch (mw.config.get('wgCanonicalSpecialPageName')) {
case 'Contributions':
case 'IPContributions':
Twinkle.rollback.addLinks.contributions();
break;
case 'Recentchanges':
case 'Recentchangeslinked':
mw.hook('wikipage.content').add(($context) => {
if (!$context || !$context.is('div')) {
return;
}
Twinkle.rollback.addLinks.recentchanges($context);
});
break;
}
}
mw.hook('wikipage.diff').add(($context) => {
if (!$context) {
return;
}
if (mw.config.get('wgIsProbablyEditable') && (mw.config.get('wgDiffNewId') || mw.config.get('wgDiffOldId'))) {
Twinkle.rollback.addLinks.diff($context);
}
});
};
Twinkle.rollback.trustedBots = ['AnomieBOT', 'SineBot', 'MajavahBot'];
Twinkle.rollback.skipTalk = null;
Twinkle.rollback.rollbackInPlace = null;
Twinkle.rollback.hiddenName = 'isticmaale aan la aqoon';
Twinkle.rollback.linkBuilder = {
spanTag: function(color, content) {
const span = document.createElement('span');
span.style.color = color;
span.appendChild(document.createTextNode(content));
return span;
},
buildLink: function(color, text) {
const link = document.createElement('a');
link.appendChild(Twinkle.rollback.linkBuilder.spanTag('Black', '['));
link.appendChild(Twinkle.rollback.linkBuilder.spanTag(color, text));
link.appendChild(Twinkle.rollback.linkBuilder.spanTag('Black', ']'));
link.href = '#';
return link;
},
rollbackLinks: function(vandal, inline, rev, page) {
vandal = vandal || null;
const elem = inline ? 'span' : 'div';
const revNode = document.createElement(elem);
rev = parseInt(rev, 10);
if (rev) {
revNode.setAttribute('id', 'tw-revert' + rev);
} else {
revNode.setAttribute('id', 'tw-revert');
}
const separator = inline ? ' ' : ' || ';
const sepNode1 = document.createElement('span');
const sepText = document.createTextNode(separator);
sepNode1.setAttribute('class', 'tw-rollback-link-separator');
sepNode1.appendChild(sepText);
const sepNode2 = sepNode1.cloneNode(true);
const normNode = document.createElement('span');
const vandNode = document.createElement('span');
const normLink = Twinkle.rollback.linkBuilder.buildLink('SteelBlue', 'rogid');
const vandLink = Twinkle.rollback.linkBuilder.buildLink('Red', 'khasaarin (vandalism)');
normLink.style.fontWeight = 'bold';
vandLink.style.fontWeight = 'bold';
$(normLink).on('click', (e) => {
e.preventDefault();
Twinkle.rollback.revert('norm', vandal, rev, page);
Twinkle.rollback.disableLinks(revNode);
});
$(vandLink).on('click', (e) => {
e.preventDefault();
Twinkle.rollback.revert('vand', vandal, rev, page);
Twinkle.rollback.disableLinks(revNode);
});
normNode.setAttribute('class', 'tw-rollback-link-normal');
vandNode.setAttribute('class', 'tw-rollback-link-vandalism');
normNode.appendChild(sepNode1);
vandNode.appendChild(sepNode2);
normNode.appendChild(normLink);
vandNode.appendChild(vandLink);
if (!inline) {
const agfNode = document.createElement('span');
const agfLink = Twinkle.rollback.linkBuilder.buildLink('DarkOliveGreen', 'rogid (AGF)');
$(agfLink).on('click', (e) => {
e.preventDefault();
Twinkle.rollback.revert('agf', vandal, rev, page);
});
agfNode.setAttribute('class', 'tw-rollback-link-agf');
agfLink.style.fontWeight = 'bold';
agfNode.appendChild(agfLink);
revNode.appendChild(agfNode);
}
revNode.appendChild(normNode);
revNode.appendChild(vandNode);
return revNode;
},
restoreThisRevisionLink: function(revisionRef, inline) {
revisionRef = typeof revisionRef === 'number' ? revisionRef : mw.config.get(revisionRef);
const elem = inline ? 'span' : 'div';
const revertToRevisionNode = document.createElement(elem);
revertToRevisionNode.setAttribute('id', 'tw-revert-to-' + revisionRef);
revertToRevisionNode.style.fontWeight = 'bold';
const revertToRevisionLink = Twinkle.rollback.linkBuilder.buildLink('SaddleBrown', 'soo celi nuqulkan');
$(revertToRevisionLink).on('click', (e) => {
e.preventDefault();
Twinkle.rollback.revertToRevision(revisionRef);
});
if (inline) {
revertToRevisionNode.appendChild(document.createTextNode(' '));
}
revertToRevisionNode.appendChild(revertToRevisionLink);
return revertToRevisionNode;
}
};
Twinkle.rollback.addLinks = {
contributions: function() {
const isRange = !!$('#sp-contributions-footer-anon-range')[0];
if (mw.config.exists('wgRelevantUserName') || isRange) {
let username = mw.config.get('wgRelevantUserName');
if (Twinkle.getPref('showRollbackLinks').includes('contribs') ||
(mw.config.get('wgUserName') !== username && Twinkle.getPref('showRollbackLinks').includes('others')) ||
(mw.config.get('wgUserName') === username && Twinkle.getPref('showRollbackLinks').includes('mine'))) {
const $list = $('#mw-content-text').find('ul li:has(span.mw-uctop):has(.mw-changeslist-diff)');
$list.each((key, current) => {
const page = $(current).find('.mw-contributions-title').text();
if (isRange) {
username = $(current).find('.mw-userlink:not(.history-deleted)').text();
}
current.appendChild(Twinkle.rollback.linkBuilder.rollbackLinks(username, true, current.dataset.mwRevid, page));
});
}
}
},
recentchanges: function($context) {
if (Twinkle.getPref('showRollbackLinks').includes('recent')) {
const selector = '.mw-changeslist-last.mw-changeslist-src-mw-edit';
let $list = $context.hasClass('mw-changeslist') ? $context.find(selector) : $context.find('.mw-changeslist ' + selector);
if (!$list.length) {
return;
}
$list = $list.not('.mw-rcfilters-ui-highlights-enhanced-toplevel').find('.mw-changeslist-line-inner, td.mw-enhanced-rc-nested');
$list.each((key, current) => {
const vandal = $(current).find('.mw-userlink:not(.history-deleted)').text();
const href = $(current).find('.mw-changeslist-diff').attr('href');
const rev = mw.util.getParamValue('diff', href);
const page = current.dataset.targetPage;
current.appendChild(Twinkle.rollback.linkBuilder.rollbackLinks(vandal, true, rev, page));
});
}
},
history: function() {
if (Twinkle.getPref('showRollbackLinks').includes('history')) {
const histList = $('#pagehistory li').toArray();
if (!$('a.mw-firstlink').length) {
const firstRow = histList.shift();
const firstUser = $(firstRow).find('.mw-userlink:not(.history-deleted)').text();
for (let i = 0; i < histList.length; i++) {
const hasMoreThanOneUser = $(histList[i]).find('.mw-userlink').text() !== firstUser;
if (hasMoreThanOneUser) {
firstRow.appendChild(Twinkle.rollback.linkBuilder.rollbackLinks(firstUser, true));
break;
}
}
}
histList.forEach((rev) => {
const href = rev.querySelector('.mw-changeslist-date').href;
const oldid = parseInt(mw.util.getParamValue('oldid', href), 10);
if (!isNaN(oldid)) {
rev.appendChild(Twinkle.rollback.linkBuilder.restoreThisRevisionLink(oldid, true));
}
});
}
},
diff: function($context) {
const warnFromTalk = function(xtitle) {
const $talkLink = $context.find('#mw-diff-' + xtitle + '2 .mw-usertoollinks a').first();
if ($talkLink.length) {
let extraParams = 'vanarticle=' + mw.util.rawurlencode(Morebits.pageNameNorm) + '&noautowarn=true';
extraParams += '&vanarticlerevid=';
extraParams += xtitle === 'otitle' ? mw.config.get('wgDiffOldId') : mw.config.get('wgDiffNewId');
const href = $talkLink.attr('href');
if (!href.includes('?')) {
$talkLink.attr('href', href + '?' + extraParams);
} else {
$talkLink.attr('href', href + '&' + extraParams);
}
}
};
warnFromTalk('otitle');
if (mw.config.get('wgDiffOldId') && (mw.config.get('wgDiffOldId') !== mw.config.get('wgDiffNewId'))) {
const oldTitle = $context.find('#mw-diff-otitle1').parent().get(0);
if (oldTitle) {
oldTitle.insertBefore(Twinkle.rollback.linkBuilder.restoreThisRevisionLink('wgDiffOldId'), oldTitle.firstChild);
}
}
warnFromTalk('ntitle');
if ($context.find('#differences-nextlink').length) {
const newTitle = $context.find('#mw-diff-ntitle1').parent().get(0);
if (newTitle) {
newTitle.insertBefore(Twinkle.rollback.linkBuilder.restoreThisRevisionLink('wgDiffNewId'), newTitle.firstChild);
}
} else if (Twinkle.getPref('showRollbackLinks').includes('diff') && mw.config.get('wgDiffOldId') && (mw.config.get('wgDiffOldId') !== mw.config.get('wgDiffNewId') || $context.find('#differences-prevlink').length)) {
let vandal = $context.find('#mw-diff-ntitle2').find('.mw-userlink')[0];
vandal = vandal ? vandal.text : '';
const ntitle = $context.find('#mw-diff-ntitle1').parent().get(0);
if (ntitle) {
ntitle.insertBefore(Twinkle.rollback.linkBuilder.rollbackLinks(vandal), ntitle.firstChild);
}
}
},
oldid: function() {
const revisionInfo = document.getElementById('mw-revision-info');
if (revisionInfo) {
const title = revisionInfo.parentNode;
title.insertBefore(Twinkle.rollback.linkBuilder.restoreThisRevisionLink('wgRevisionId'), title.firstChild);
}
}
};
Twinkle.rollback.disableLinks = function disablelinks(parentNode) {
$(parentNode).children().each((_ix, node) => {
node.innerHTML = node.textContent;
$(node).css('font-weight', 'normal').css('color', 'darkgray');
});
};
Twinkle.rollback.revert = function revertPage(type, vandal, rev, page) {
if (mw.util.isIPv6Address(vandal)) {
vandal = Morebits.ip.sanitizeIPv6(vandal);
}
const pagename = page || mw.config.get('wgPageName');
const revid = rev || mw.config.get('wgCurRevisionId');
if (Twinkle.rollback.rollbackInPlace) {
const notifyStatus = document.createElement('span');
mw.notify(notifyStatus, {
autoHide: false,
title: 'Rogidda bogga ' + page,
tag: 'twinklerollback_' + rev
});
Morebits.Status.init(notifyStatus);
} else {
Morebits.Status.init(document.getElementById('mw-content-text'));
$('#catlinks').remove();
}
const params = {
type: type,
user: vandal,
userHidden: !vandal,
pagename: pagename,
revid: revid
};
const query = {
action: 'query',
prop: ['info', 'revisions', 'flagged'],
titles: pagename,
inprop: 'watched',
intestactions: 'edit',
rvlimit: Twinkle.getPref('revertMaxRevisions'),
rvprop: ['ids', 'timestamp', 'user'],
curtimestamp: '',
meta: 'tokens',
type: 'csrf',
format: 'json'
};
const wikipedia_api = new Morebits.wiki.Api('Soo qaadaya xogta dib-u-eegisyadii hore', query, Twinkle.rollback.callbacks.main);
wikipedia_api.params = params;
wikipedia_api.post();
};
Twinkle.rollback.revertToRevision = function revertToRevision(oldrev) {
Morebits.Status.init(document.getElementById('mw-content-text'));
const query = {
action: 'query',
prop: ['info', 'revisions'],
titles: mw.config.get('wgPageName'),
inprop: 'watched',
rvlimit: 1,
rvstartid: oldrev,
rvprop: ['ids', 'user'],
curtimestamp: '',
meta: 'tokens',
type: 'csrf',
format: 'json'
};
const wikipedia_api = new Morebits.wiki.Api('Soo qaadaya xogta dib-u-eegistii hore', query, Twinkle.rollback.callbacks.toRevision);
wikipedia_api.params = { rev: oldrev };
wikipedia_api.post();
};
Twinkle.rollback.callbacks = {
toRevision: function(apiobj) {
const response = apiobj.getResponse();
const loadtimestamp = response.curtimestamp;
const csrftoken = response.query.tokens.csrftoken;
const page = response.query.pages[0];
const lastrevid = parseInt(page.lastrevid, 10);
const touched = page.touched;
const rev = page.revisions[0];
const revertToRevID = parseInt(rev.revid, 10);
const revertToUser = rev.user;
const revertToUserHidden = !!rev.userhidden;
if (revertToRevID !== apiobj.params.rev) {
apiobj.statelem.error('Dib-u-eegista la soo qaatay kuma ahan mid waafaqsan dib-u-eegista la codsaday. Joojinaya rogidda.');
return;
}
const optional_summary = prompt('Fadlan geli sababta rogidda: ', '');
if (optional_summary === null) {
apiobj.statelem.error('Isticmaahu wuu joojiyay.');
return;
}
const summary = Twinkle.rollback.formatSummary('Soo celiyay dib-u-eegiskii ' + revertToRevID + ' ee uu sameeyay $USER',
revertToUserHidden ? null : revertToUser, optional_summary);
const query = {
action: 'edit',
title: mw.config.get('wgPageName'),
summary: summary,
tags: Twinkle.changeTags,
token: csrftoken,
undo: lastrevid,
undoafter: revertToRevID,
basetimestamp: touched,
starttimestamp: loadtimestamp,
minor: Twinkle.getPref('markRevertedPagesAsMinor').includes('torev') ? true : undefined,
format: 'json'
};
if (Twinkle.getPref('watchRevertedPages').includes('torev')) {
const watchOrExpiry = Twinkle.getPref('watchRevertedExpiry');
if (!watchOrExpiry || watchOrExpiry === 'no') {
query.watchlist = 'nochange';
} else if (watchOrExpiry === 'default' || watchOrExpiry === 'preferences') {
query.watchlist = 'preferences';
} else {
query.watchlist = 'watch';
if ((!page.watched || page.watchlistexpiry) && typeof watchOrExpiry === 'string' && watchOrExpiry !== 'yes') {
query.watchlistexpiry = watchOrExpiry;
}
}
}
Morebits.wiki.actionCompleted.redirect = mw.config.get('wgPageName');
Morebits.wiki.actionCompleted.notice = 'Rogiddii waa la dhammeeyay';
const wikipedia_api = new Morebits.wiki.Api('Kaydinaya nuxurka la rogay', query, Twinkle.rollback.callbacks.complete, apiobj.statelem);
wikipedia_api.params = apiobj.params;
wikipedia_api.post();
},
main: function(apiobj) {
const response = apiobj.getResponse();
const loadtimestamp = response.curtimestamp;
const csrftoken = response.query.tokens.csrftoken;
const page = response.query.pages[0];
if (!page.actions.edit) {
apiobj.statelem.error('Lama таfitari karo bogga, waxaa laga yaabaa in la ilaaliyo.');
return;
}
const lastrevid = parseInt(page.lastrevid, 10);
const touched = page.touched;
const revs = page.revisions;
const statelem = apiobj.statelem;
const params = apiobj.params;
if (revs.length < 1) {
statelem.error('Waxaan haynaa in ka yar hal dib-u-eegis oo dheeraad ah, sidaas darteed waa aan macquul ahayn in la rogo.');
return;
}
const top = revs[0];
const lastuser = top.user;
if (lastrevid < params.revid) {
Morebits.Status.error('Khalad', ['Aqoonsiga dib-u-eegista ee ugu dambeeyay ee laga helay adeegaha, ', Morebits.htmlNode('strong', lastrevid), ', waa ka yar yahay aqoonsiga dib-u-eegista ee la muujiyay. Tani waxay muujin kartaa in dib-u-eegista hadda la tirtiray, adeeguhu wuu daahayaa, ama xog xun ayaa la helay. Joojinaya rogidda.']);
return;
}
let userNorm = params.user || Twinkle.rollback.hiddenName;
let index = 1;
if (params.revid !== lastrevid) {
Morebits.Status.warn('Digniin', ['Dib-u-eegista ugu dambeysa ', Morebits.htmlNode('strong', lastrevid), ' ma la mid aha dib-u-eegistayada ', Morebits.htmlNode('strong', params.revid)]);
if (lastuser === params.user || (mw.util.isIPv6Address(params.user) && Morebits.ip.get64(lastuser) === Morebits.ip.get64(params.user))) {
switch (params.type) {
case 'vand':
var diffUser = lastuser !== params.user;
Morebits.Status.info('Macluumaad', ['Dib-u-eegistii ugu dambeysay waxaa ' + (diffUser ? '' : 'sidoo kale ') + 'sameeyay ', Morebits.htmlNode('strong', userNorm),
diffUser ? ', taas oo ku taal isla /64 subnet' : '', '. Maaddaama aan u qaadaneyno khasaarin, waxaanu u gudbi doonnaa rogidda.']);
break;
case 'agf':
Morebits.Status.warn('Digniin', ['Dib-u-eegistii ugu dambeysay waxaa sameeyay ', Morebits.htmlNode('strong', userNorm), '. Maaddaama aan u qaadaneyno niyad-wanaag (AGF), waan joojineynaa rogidda, maadaama dhibaatada la hagaajiyay.']);
return;
default:
Morebits.Status.warn('Ogeysiis', ['Dib-u-eegistii ugu dambeysay waxaa sameeyay ', Morebits.htmlNode('strong', userNorm), ', laakiin waan joojineynaa rogidda.']);
return;
}
} else if (params.type === 'vand' &&
Twinkle.rollback.trustedBots.includes(top.user) && revs.length > 1 &&
revs[1].revid === params.revid) {
Morebits.Status.info('Macluumaad', ['Dib-u-eegistii ugu dambeysay waxaa sameeyay ', Morebits.htmlNode('strong', lastuser), ', oo ah bot lagu kalsoon yahay, dib-u-eegiskii ka horreeyayna waxaa sameeyay khasaariyahayaga, markaa waxaanu ku sii socon doonnaa rogidda.']);
index = 2;
} else {
Morebits.Status.error('Khalad', ['Dib-u-eegistii ugu dambeysay waxaa sameeyay ', Morebits.htmlNode('strong', lastuser), ', markaa waxaa laga yaabaa in horay loo rogay, waan joojineynaa rogidda.']);
return;
}
} else {
params.user = lastuser;
userNorm = params.user || Twinkle.rollback.hiddenName;
}
if (Twinkle.rollback.trustedBots.includes(params.user)) {
switch (params.type) {
case 'vand':
Morebits.Status.info('Macluumaad', ['Rogidda khasaarinta waxaa laga doortay ', Morebits.htmlNode('strong', userNorm), '. Maaddaama kani yahay bot lagu kalsoon yahay, waxaanu u qaadaneyno inaad rabtay inaad rogto khasaarinta uu sameeyay isticmaalihii hore beddelkeeda.']);
index = 2;
params.user = revs[1].user;
params.userHidden = !!revs[1].userhidden;
break;
case 'agf':
Morebits.Status.warn('Ogeysiis', ['Rogidda niyad-wanaagga (AGF) waxaa laga doortay ', Morebits.htmlNode('strong', userNorm), '. Kani waa bot lagu kalsoon yahay sidaas darteed rogidda AGF ma socon doonto.']);
return;
case 'norm':
default:
var cont = confirm('Rogid caadi ah ayaa la doortay, laakiin tifatirkii ugu dambeeyay waxaa sameeyay bot lagu kalsoon yahay (' + userNorm + '). Ma rabtaa inaad rogto dib-u-eegiskii ka horreeyay beddelkeeda?');
if (cont) {
Morebits.Status.info('Macluumaad', ['Rogid caadi ah ayaa laga doortay ', Morebits.htmlNode('strong', userNorm), '. Kani waa bot lagu kalsoon yahay, oo sida xaqiijinta ah, waxaanu rogi doonnaa dib-u-eegiskii hore beddelkeeda.']);
index = 2;
params.user = revs[1].user;
params.userHidden = !!revs[1].userhidden;
userNorm = params.user || Twinkle.rollback.hiddenName;
} else {
Morebits.Status.warn('Ogeysiis', ['Rogid caadi ah ayaa laga doortay ', Morebits.htmlNode('strong', userNorm), '. Kani waa bot lagu kalsoon yahay, laakiin sida xaqiijinta ah, rogidda dib-u-eegista la doortay ayaa socon doonta.']);
}
break;
}
}
let found = false;
let count = 0;
let seen64 = false;
for (let i = index; i < revs.length; ++i) {
++count;
if (revs[i].user !== params.user) {
if (mw.util.isIPv6Address(revs[i].user) && Morebits.ip.get64(revs[i].user) === Morebits.ip.get64(params.user)) {
if (!seen64) {
new Morebits.Status('Fiiro gaar ah', 'Waxaa loola dhaqmayaa cinwaannada IPv6 ee is xiga ee isku /64 inay yihiin isla isticmaale');
seen64 = true;
}
continue;
}
found = i;
break;
}
}
if (!found) {
statelem.error(['Lama helin dib-u-eegis hore. Waxaa laga yaabaa in ', Morebits.htmlNode('strong', userNorm), ' uu yahay tabarucaaha kaliya, ama uu sameeyay in ka badan ' + mw.language.convertNumber(Twinkle.getPref('revertMaxRevisions')) + ' tafatir oo is xiga.']);
return;
}
if (!count) {
Morebits.Status.error('Khalad', 'Maaddaama aysan suurtagal ahayn in la rogo eber dib-u-eegis, waan joojineynaa rogiddaan. Waxaa laga yaabaa in tifatirka horay loo rogay, laakiin aqoonsiga dib-u-eegisku waa weli midkii oo kale.');
return;
}
const good_revision = revs[found];
let userHasAlreadyConfirmedAction = false;
if (params.type !== 'vand' && count > 1) {
if (!confirm(userNorm + ' wuxuu sameeyay ' + mw.language.convertNumber(count) + ' tafatir oo is xiga. Ma hubtaa inaad rabto inaad wada rogto dhammaantood?')) {
Morebits.Status.info('Ogeysiis', 'Joojinaya rogidda.');
return;
}
userHasAlreadyConfirmedAction = true;
}
params.count = count;
params.goodid = good_revision.revid;
params.gooduser = good_revision.user;
params.gooduserHidden = !!good_revision.userhidden;
statelem.status([' dib-u-eegis ', Morebits.htmlNode('strong', params.goodid), ' oo la sameeyay ', Morebits.htmlNode('strong', mw.language.convertNumber(count)), ' dib-u-eegis kahor uu sameeyay ', Morebits.htmlNode('strong', params.gooduserHidden ? Twinkle.rollback.hiddenName : params.gooduser)]);
let summary, extra_summary;
switch (params.type) {
case 'agf':
extra_summary = prompt('Faallo ikhtiyaari ah oo ku saabsan kooban-tafsirka (edit summary): ', '');
if (extra_summary === null) {
statelem.error('Isticmaahu wuu joojiyay.');
return;
}
userHasAlreadyConfirmedAction = true;
summary = Twinkle.rollback.formatSummary('Soo celiyay tafatirrada [[WP:AGF|niyad-wanaagga ah]] ee uu sameeyay $USER',
params.userHidden ? null : params.user, extra_summary);
break;
case 'vand':
summary = Twinkle.rollback.formatSummary('Rogay ' + params.count + (params.count > 1 ? ' tafatir' : ' tafatir') + ' oo uu sameeyay $USER ilaa dib-u-eegiskii ugu dambeeyay ee uu sameeyay ' +
(params.gooduserHidden ? Twinkle.rollback.hiddenName : params.gooduser), params.userHidden ? null : params.user);
break;
case 'norm':
default:
if (Twinkle.getPref('offerReasonOnNormalRevert')) {
extra_summary = prompt('Faallo ikhtiyaari ah oo ku saabsan kooban-tafsirka (edit summary): ', '');
if (extra_summary === null) {
statelem.error('Isticmaahu wuu joojiyay.');
return;
}
userHasAlreadyConfirmedAction = true;
}
summary = Twinkle.rollback.formatSummary('Rogay ' + params.count + (params.count > 1 ? ' tafatir' : ' tafatir') + ' oo uu sameeyay $USER',
params.userHidden ? null : params.user, extra_summary);
break;
}
const needToDisplayConfirmation =
(
Twinkle.getPref('confirmOnRollback') ||
(
Twinkle.getPref('confirmOnMobileRollback') &&
/Android|webOS|iPhone|iPad|iPod|BlackBerry|Mobile|Opera Mini/i.test(navigator.userAgent)
)
) &&
!userHasAlreadyConfirmedAction;
if (needToDisplayConfirmation && !confirm('Rogaya bogga: ma hubtaa?')) {
statelem.error('Isticmaahu wuu joojiyay.');
return;
}
if (!Twinkle.rollback.skipTalk && Twinkle.getPref('openTalkPage').includes(params.type) &&
!params.userHidden && mw.config.get('wgUserName') !== params.user) {
params.notifyUser = true;
params.vantimestamp = top.timestamp;
}
const flagged = page.flagged;
if ((Morebits.userIsInGroup('reviewer') || Morebits.userIsSysop) &&
!!flagged &&
flagged.stable_revid >= params.goodid &&
!!flagged.pending_since) {
params.reviewRevert = true;
params.csrftoken = csrftoken;
}
const query = {
action: 'edit',
title: params.pagename,
summary: summary,
tags: Twinkle.changeTags,
token: csrftoken,
undo: lastrevid,
undoafter: params.goodid,
basetimestamp: touched,
starttimestamp: loadtimestamp,
minor: Twinkle.getPref('markRevertedPagesAsMinor').includes(params.type) ? true : undefined,
format: 'json'
};
if (Twinkle.getPref('watchRevertedPages').includes(params.type)) {
const watchOrExpiry = Twinkle.getPref('watchRevertedExpiry');
if (!watchOrExpiry || watchOrExpiry === 'no') {
query.watchlist = 'nochange';
} else if (watchOrExpiry === 'default' || watchOrExpiry === 'preferences') {
query.watchlist = 'preferences';
} else {
query.watchlist = 'watch';
if ((!page.watched || page.watchlistexpiry) && typeof watchOrExpiry === 'string' && watchOrExpiry !== 'yes') {
query.watchlistexpiry = watchOrExpiry;
}
}
}
if (!Twinkle.rollback.rollbackInPlace) {
Morebits.wiki.actionCompleted.redirect = params.pagename;
}
Morebits.wiki.actionCompleted.notice = 'Rogiddii waa la dhammeeyay';
const wikipedia_api = new Morebits.wiki.Api('Kaydinaya nuxurka la rogay', query, Twinkle.rollback.callbacks.complete, statelem);
wikipedia_api.params = params;
wikipedia_api.post();
},
complete: function(apiobj) {
const response = apiobj.getResponse();
const edit = response.edit;
if (edit.captcha) {
apiobj.statelem.error('Lama rogi karo, chunku adeegaha wiki wuxuu kaa doonayaa inaad buuxiso CAPTCHA.');
} else if (edit.nochange) {
apiobj.statelem.error('Dib-u-eegista aan u rogeyno waa mid la mid ah dib-u-eegista hadda, joojinaya rogidda.');
} else {
apiobj.statelem.info('la dhammeeyay');
const params = apiobj.params;
if (params.notifyUser && !params.userHidden) {
Morebits.Status.info('Macluumaad', ['Furaya foomka tafatirka bogga wada-hadalka isticmaalaha ', Morebits.htmlNode('strong', params.user)]);
const url = mw.util.getUrl('User talk:' + params.user, {
action: 'edit',
preview: 'yes',
vanarticle: params.pagename.replace(/_/g, ' '),
vanarticlerevid: params.revid,
vantimestamp: params.vantimestamp,
vanarticlegoodrevid: params.goodid,
type: params.type,
count: params.count
});
switch (Twinkle.getPref('userTalkPageMode')) {
case 'tab':
window.open(url, '_blank');
break;
case 'blank':
window.open(url, '_blank',
'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,width=1200,height=800');
break;
case 'window':
default:
window.open(url,
window.name === 'twinklewarnwindow' ? '_blank' : 'twinklewarnwindow',
'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,width=1200,height=800');
break;
}
} else if (Twinkle.rollback.rollbackInPlace &&
mw.config.get('wgCanonicalSpecialPageName') === 'Contributions') {
Twinkle.setPrefill('vanarticle', params.pagename.replace(/_/g, ' '));
Twinkle.setPrefill('vanarticlerevid', params.revid);
Twinkle.setPrefill('vantimestamp', params.vantimestamp);
Twinkle.setPrefill('vanarticlegoodrevid', params.goodid);
}
if (apiobj.params.reviewRevert) {
const query = {
action: 'review',
revid: edit.newrevid,
token: apiobj.params.csrftoken,
comment: 'Si otomaatig ah ayuu u eegayaa rogidda' + Twinkle.summaryAd
};
const wikipedia_api = new Morebits.wiki.Api('Si otomaatig ah ayuu u aqbalayaa isbeddelladaada', query);
wikipedia_api.post();
}
}
}
};
Twinkle.rollback.formatSummary = function(builtInString, userName, customString) {
let result = builtInString;
if (customString) {
result += ': ' + Morebits.string.toUpperCaseFirstChar(customString);
}
if (/\$USER/.test(builtInString)) {
if (userName) {
const resultLen = unescape(encodeURIComponent(result.replace('$USER', ''))).length;
const contribsLink = '[[Special:Contributions/' + userName + '|' + userName + ']]';
const contribsLen = unescape(encodeURIComponent(contribsLink)).length;
if (resultLen + contribsLen <= 499) {
const talkLink = ' ([[User talk:' + userName + '|wada-hadal]])';
if (resultLen + contribsLen + unescape(encodeURIComponent(talkLink)).length <= 499) {
result = Morebits.string.safeReplace(result, '$USER', contribsLink + talkLink);
} else {
result = Morebits.string.safeReplace(result, '$USER', contribsLink);
}
} else {
result = Morebits.string.safeReplace(result, '$USER', userName);
}
} else {
result = Morebits.string.safeReplace(result, '$USER', Twinkle.rollback.hiddenName);
}
}
return result;
};
Twinkle.addInitCallback(Twinkle.rollback, 'rollback');
}());
// </nowiki>
2zzc4dy63ftzl29s2mnn49rm8leipkw
310874
310873
2026-10-25T11:37:32Z
Isma4l
41797
310874
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinklerollback.js: Qaybta Soo-celinta/Rogidda
****************************************
* Qaabka loo yeero: Xiriiriyeyaasha ku yaal tabarucaadyada, isbeddellada dhow, taariikhda, iyo boggaga kala-duwanaanshaha
* Ka shaqeeya: Boggaga kala-duwanaanshaha, boggaga taariikhda, Special:RecentChanges(Linked), iyo Special:Contributions
*/
/**
* Twinklerollback revert and antivandalism utility
*/
Twinkle.rollback = function twinklerollback() {
if (mw.config.get('wgIsProbablyEditable')) {
if (mw.config.get('wgAction') === 'view' && mw.config.get('wgRevisionId') && mw.config.get('wgCurRevisionId') !== mw.config.get('wgRevisionId')) {
Twinkle.rollback.addLinks.oldid();
} else if (mw.config.get('wgAction') === 'history' && mw.config.get('wgArticleId')) {
Twinkle.rollback.addLinks.history();
}
} else if (mw.config.get('wgNamespaceNumber') === -1) {
Twinkle.rollback.skipTalk = !Twinkle.getPref('openTalkPageOnAutoRevert');
Twinkle.rollback.rollbackInPlace = Twinkle.getPref('rollbackInPlace');
switch (mw.config.get('wgCanonicalSpecialPageName')) {
case 'Contributions':
case 'IPContributions':
Twinkle.rollback.addLinks.contributions();
break;
case 'Recentchanges':
case 'Recentchangeslinked':
mw.hook('wikipage.content').add(($context) => {
if (!$context || !$context.is('div')) {
return;
}
Twinkle.rollback.addLinks.recentchanges($context);
});
break;
}
}
mw.hook('wikipage.diff').add(($context) => {
if (!$context) {
return;
}
if (mw.config.get('wgIsProbablyEditable') && (mw.config.get('wgDiffNewId') || mw.config.get('wgDiffOldId'))) {
Twinkle.rollback.addLinks.diff($context);
}
});
};
Twinkle.rollback.trustedBots = ['AnomieBOT', 'SineBot', 'MajavahBot'];
Twinkle.rollback.skipTalk = null;
Twinkle.rollback.rollbackInPlace = null;
Twinkle.rollback.hiddenName = 'isticmaale aan la aqoon';
Twinkle.rollback.linkBuilder = {
spanTag: function(color, content) {
const span = document.createElement('span');
span.style.color = color;
span.appendChild(document.createTextNode(content));
return span;
},
buildLink: function(color, text) {
const link = document.createElement('a');
link.appendChild(Twinkle.rollback.linkBuilder.spanTag('Black', '['));
link.appendChild(Twinkle.rollback.linkBuilder.spanTag(color, text));
link.appendChild(Twinkle.rollback.linkBuilder.spanTag('Black', ']'));
link.href = '#';
return link;
},
rollbackLinks: function(vandal, inline, rev, page) {
vandal = vandal || null;
const elem = inline ? 'span' : 'div';
const revNode = document.createElement(elem);
rev = parseInt(rev, 10);
if (rev) {
revNode.setAttribute('id', 'tw-revert' + rev);
} else {
revNode.setAttribute('id', 'tw-revert');
}
const separator = inline ? ' ' : ' || ';
const sepNode1 = document.createElement('span');
const sepText = document.createTextNode(separator);
sepNode1.setAttribute('class', 'tw-rollback-link-separator');
sepNode1.appendChild(sepText);
const sepNode2 = sepNode1.cloneNode(true);
const normNode = document.createElement('span');
const vandNode = document.createElement('span');
const normLink = Twinkle.rollback.linkBuilder.buildLink('SteelBlue', 'rogid');
const vandLink = Twinkle.rollback.linkBuilder.buildLink('Red', 'kharibaad');
normLink.style.fontWeight = 'bold';
vandLink.style.fontWeight = 'bold';
$(normLink).on('click', (e) => {
e.preventDefault();
Twinkle.rollback.revert('norm', vandal, rev, page);
Twinkle.rollback.disableLinks(revNode);
});
$(vandLink).on('click', (e) => {
e.preventDefault();
Twinkle.rollback.revert('vand', vandal, rev, page);
Twinkle.rollback.disableLinks(revNode);
});
normNode.setAttribute('class', 'tw-rollback-link-normal');
vandNode.setAttribute('class', 'tw-rollback-link-vandalism');
normNode.appendChild(sepNode1);
vandNode.appendChild(sepNode2);
normNode.appendChild(normLink);
vandNode.appendChild(vandLink);
if (!inline) {
const agfNode = document.createElement('span');
const agfLink = Twinkle.rollback.linkBuilder.buildLink('DarkOliveGreen', 'rogid (AGF)');
$(agfLink).on('click', (e) => {
e.preventDefault();
Twinkle.rollback.revert('agf', vandal, rev, page);
});
agfNode.setAttribute('class', 'tw-rollback-link-agf');
agfLink.style.fontWeight = 'bold';
agfNode.appendChild(agfLink);
revNode.appendChild(agfNode);
}
revNode.appendChild(normNode);
revNode.appendChild(vandNode);
return revNode;
},
restoreThisRevisionLink: function(revisionRef, inline) {
revisionRef = typeof revisionRef === 'number' ? revisionRef : mw.config.get(revisionRef);
const elem = inline ? 'span' : 'div';
const revertToRevisionNode = document.createElement(elem);
revertToRevisionNode.setAttribute('id', 'tw-revert-to-' + revisionRef);
revertToRevisionNode.style.fontWeight = 'bold';
const revertToRevisionLink = Twinkle.rollback.linkBuilder.buildLink('SaddleBrown', 'soo celi nuqulkan');
$(revertToRevisionLink).on('click', (e) => {
e.preventDefault();
Twinkle.rollback.revertToRevision(revisionRef);
});
if (inline) {
revertToRevisionNode.appendChild(document.createTextNode(' '));
}
revertToRevisionNode.appendChild(revertToRevisionLink);
return revertToRevisionNode;
}
};
Twinkle.rollback.addLinks = {
contributions: function() {
const isRange = !!$('#sp-contributions-footer-anon-range')[0];
if (mw.config.exists('wgRelevantUserName') || isRange) {
let username = mw.config.get('wgRelevantUserName');
if (Twinkle.getPref('showRollbackLinks').includes('contribs') ||
(mw.config.get('wgUserName') !== username && Twinkle.getPref('showRollbackLinks').includes('others')) ||
(mw.config.get('wgUserName') === username && Twinkle.getPref('showRollbackLinks').includes('mine'))) {
const $list = $('#mw-content-text').find('ul li:has(span.mw-uctop):has(.mw-changeslist-diff)');
$list.each((key, current) => {
const page = $(current).find('.mw-contributions-title').text();
if (isRange) {
username = $(current).find('.mw-userlink:not(.history-deleted)').text();
}
current.appendChild(Twinkle.rollback.linkBuilder.rollbackLinks(username, true, current.dataset.mwRevid, page));
});
}
}
},
recentchanges: function($context) {
if (Twinkle.getPref('showRollbackLinks').includes('recent')) {
const selector = '.mw-changeslist-last.mw-changeslist-src-mw-edit';
let $list = $context.hasClass('mw-changeslist') ? $context.find(selector) : $context.find('.mw-changeslist ' + selector);
if (!$list.length) {
return;
}
$list = $list.not('.mw-rcfilters-ui-highlights-enhanced-toplevel').find('.mw-changeslist-line-inner, td.mw-enhanced-rc-nested');
$list.each((key, current) => {
const vandal = $(current).find('.mw-userlink:not(.history-deleted)').text();
const href = $(current).find('.mw-changeslist-diff').attr('href');
const rev = mw.util.getParamValue('diff', href);
const page = current.dataset.targetPage;
current.appendChild(Twinkle.rollback.linkBuilder.rollbackLinks(vandal, true, rev, page));
});
}
},
history: function() {
if (Twinkle.getPref('showRollbackLinks').includes('history')) {
const histList = $('#pagehistory li').toArray();
if (!$('a.mw-firstlink').length) {
const firstRow = histList.shift();
const firstUser = $(firstRow).find('.mw-userlink:not(.history-deleted)').text();
for (let i = 0; i < histList.length; i++) {
const hasMoreThanOneUser = $(histList[i]).find('.mw-userlink').text() !== firstUser;
if (hasMoreThanOneUser) {
firstRow.appendChild(Twinkle.rollback.linkBuilder.rollbackLinks(firstUser, true));
break;
}
}
}
histList.forEach((rev) => {
const href = rev.querySelector('.mw-changeslist-date').href;
const oldid = parseInt(mw.util.getParamValue('oldid', href), 10);
if (!isNaN(oldid)) {
rev.appendChild(Twinkle.rollback.linkBuilder.restoreThisRevisionLink(oldid, true));
}
});
}
},
diff: function($context) {
const warnFromTalk = function(xtitle) {
const $talkLink = $context.find('#mw-diff-' + xtitle + '2 .mw-usertoollinks a').first();
if ($talkLink.length) {
let extraParams = 'vanarticle=' + mw.util.rawurlencode(Morebits.pageNameNorm) + '&noautowarn=true';
extraParams += '&vanarticlerevid=';
extraParams += xtitle === 'otitle' ? mw.config.get('wgDiffOldId') : mw.config.get('wgDiffNewId');
const href = $talkLink.attr('href');
if (!href.includes('?')) {
$talkLink.attr('href', href + '?' + extraParams);
} else {
$talkLink.attr('href', href + '&' + extraParams);
}
}
};
warnFromTalk('otitle');
if (mw.config.get('wgDiffOldId') && (mw.config.get('wgDiffOldId') !== mw.config.get('wgDiffNewId'))) {
const oldTitle = $context.find('#mw-diff-otitle1').parent().get(0);
if (oldTitle) {
oldTitle.insertBefore(Twinkle.rollback.linkBuilder.restoreThisRevisionLink('wgDiffOldId'), oldTitle.firstChild);
}
}
warnFromTalk('ntitle');
if ($context.find('#differences-nextlink').length) {
const newTitle = $context.find('#mw-diff-ntitle1').parent().get(0);
if (newTitle) {
newTitle.insertBefore(Twinkle.rollback.linkBuilder.restoreThisRevisionLink('wgDiffNewId'), newTitle.firstChild);
}
} else if (Twinkle.getPref('showRollbackLinks').includes('diff') && mw.config.get('wgDiffOldId') && (mw.config.get('wgDiffOldId') !== mw.config.get('wgDiffNewId') || $context.find('#differences-prevlink').length)) {
let vandal = $context.find('#mw-diff-ntitle2').find('.mw-userlink')[0];
vandal = vandal ? vandal.text : '';
const ntitle = $context.find('#mw-diff-ntitle1').parent().get(0);
if (ntitle) {
ntitle.insertBefore(Twinkle.rollback.linkBuilder.rollbackLinks(vandal), ntitle.firstChild);
}
}
},
oldid: function() {
const revisionInfo = document.getElementById('mw-revision-info');
if (revisionInfo) {
const title = revisionInfo.parentNode;
title.insertBefore(Twinkle.rollback.linkBuilder.restoreThisRevisionLink('wgRevisionId'), title.firstChild);
}
}
};
Twinkle.rollback.disableLinks = function disablelinks(parentNode) {
$(parentNode).children().each((_ix, node) => {
node.innerHTML = node.textContent;
$(node).css('font-weight', 'normal').css('color', 'darkgray');
});
};
Twinkle.rollback.revert = function revertPage(type, vandal, rev, page) {
if (mw.util.isIPv6Address(vandal)) {
vandal = Morebits.ip.sanitizeIPv6(vandal);
}
const pagename = page || mw.config.get('wgPageName');
const revid = rev || mw.config.get('wgCurRevisionId');
if (Twinkle.rollback.rollbackInPlace) {
const notifyStatus = document.createElement('span');
mw.notify(notifyStatus, {
autoHide: false,
title: 'Rogidda bogga ' + page,
tag: 'twinklerollback_' + rev
});
Morebits.Status.init(notifyStatus);
} else {
Morebits.Status.init(document.getElementById('mw-content-text'));
$('#catlinks').remove();
}
const params = {
type: type,
user: vandal,
userHidden: !vandal,
pagename: pagename,
revid: revid
};
const query = {
action: 'query',
prop: ['info', 'revisions', 'flagged'],
titles: pagename,
inprop: 'watched',
intestactions: 'edit',
rvlimit: Twinkle.getPref('revertMaxRevisions'),
rvprop: ['ids', 'timestamp', 'user'],
curtimestamp: '',
meta: 'tokens',
type: 'csrf',
format: 'json'
};
const wikipedia_api = new Morebits.wiki.Api('Soo qaadaya xogta dib-u-eegisyadii hore', query, Twinkle.rollback.callbacks.main);
wikipedia_api.params = params;
wikipedia_api.post();
};
Twinkle.rollback.revertToRevision = function revertToRevision(oldrev) {
Morebits.Status.init(document.getElementById('mw-content-text'));
const query = {
action: 'query',
prop: ['info', 'revisions'],
titles: mw.config.get('wgPageName'),
inprop: 'watched',
rvlimit: 1,
rvstartid: oldrev,
rvprop: ['ids', 'user'],
curtimestamp: '',
meta: 'tokens',
type: 'csrf',
format: 'json'
};
const wikipedia_api = new Morebits.wiki.Api('Soo qaadaya xogta dib-u-eegistii hore', query, Twinkle.rollback.callbacks.toRevision);
wikipedia_api.params = { rev: oldrev };
wikipedia_api.post();
};
Twinkle.rollback.callbacks = {
toRevision: function(apiobj) {
const response = apiobj.getResponse();
const loadtimestamp = response.curtimestamp;
const csrftoken = response.query.tokens.csrftoken;
const page = response.query.pages[0];
const lastrevid = parseInt(page.lastrevid, 10);
const touched = page.touched;
const rev = page.revisions[0];
const revertToRevID = parseInt(rev.revid, 10);
const revertToUser = rev.user;
const revertToUserHidden = !!rev.userhidden;
if (revertToRevID !== apiobj.params.rev) {
apiobj.statelem.error('Dib-u-eegista la soo qaatay kuma ahan mid waafaqsan dib-u-eegista la codsaday. Joojinaya rogidda.');
return;
}
const optional_summary = prompt('Fadlan geli sababta rogidda: ', '');
if (optional_summary === null) {
apiobj.statelem.error('Isticmaahu wuu joojiyay.');
return;
}
const summary = Twinkle.rollback.formatSummary('Soo celiyay dib-u-eegiskii ' + revertToRevID + ' ee uu sameeyay $USER',
revertToUserHidden ? null : revertToUser, optional_summary);
const query = {
action: 'edit',
title: mw.config.get('wgPageName'),
summary: summary,
tags: Twinkle.changeTags,
token: csrftoken,
undo: lastrevid,
undoafter: revertToRevID,
basetimestamp: touched,
starttimestamp: loadtimestamp,
minor: Twinkle.getPref('markRevertedPagesAsMinor').includes('torev') ? true : undefined,
format: 'json'
};
if (Twinkle.getPref('watchRevertedPages').includes('torev')) {
const watchOrExpiry = Twinkle.getPref('watchRevertedExpiry');
if (!watchOrExpiry || watchOrExpiry === 'no') {
query.watchlist = 'nochange';
} else if (watchOrExpiry === 'default' || watchOrExpiry === 'preferences') {
query.watchlist = 'preferences';
} else {
query.watchlist = 'watch';
if ((!page.watched || page.watchlistexpiry) && typeof watchOrExpiry === 'string' && watchOrExpiry !== 'yes') {
query.watchlistexpiry = watchOrExpiry;
}
}
}
Morebits.wiki.actionCompleted.redirect = mw.config.get('wgPageName');
Morebits.wiki.actionCompleted.notice = 'Rogiddii waa la dhammeeyay';
const wikipedia_api = new Morebits.wiki.Api('Kaydinaya nuxurka la rogay', query, Twinkle.rollback.callbacks.complete, apiobj.statelem);
wikipedia_api.params = apiobj.params;
wikipedia_api.post();
},
main: function(apiobj) {
const response = apiobj.getResponse();
const loadtimestamp = response.curtimestamp;
const csrftoken = response.query.tokens.csrftoken;
const page = response.query.pages[0];
if (!page.actions.edit) {
apiobj.statelem.error('Lama tafitari karo bogga, waxaa laga yaabaa in la ilaaliyo.');
return;
}
const lastrevid = parseInt(page.lastrevid, 10);
const touched = page.touched;
const revs = page.revisions;
const statelem = apiobj.statelem;
const params = apiobj.params;
if (revs.length < 1) {
statelem.error('Waxaan haynaa in ka yar hal dib-u-eegis oo dheeraad ah, sidaas darteed waa aan macquul ahayn in la rogo.');
return;
}
const top = revs[0];
const lastuser = top.user;
if (lastrevid < params.revid) {
Morebits.Status.error('Khalad', ['Aqoonsiga dib-u-eegista ee ugu dambeeyay ee laga helay adeegaha, ', Morebits.htmlNode('strong', lastrevid), ', waa ka yar yahay aqoonsiga dib-u-eegista ee la muujiyay. Tani waxay muujin kartaa in dib-u-eegista hadda la tirtiray, adeeguhu wuu daahayaa, ama xog xun ayaa la helay. Joojinaya rogidda.']);
return;
}
let userNorm = params.user || Twinkle.rollback.hiddenName;
let index = 1;
if (params.revid !== lastrevid) {
Morebits.Status.warn('Digniin', ['Dib-u-eegista ugu dambeysa ', Morebits.htmlNode('strong', lastrevid), ' ma la mid aha dib-u-eegistayada ', Morebits.htmlNode('strong', params.revid)]);
if (lastuser === params.user || (mw.util.isIPv6Address(params.user) && Morebits.ip.get64(lastuser) === Morebits.ip.get64(params.user))) {
switch (params.type) {
case 'vand':
var diffUser = lastuser !== params.user;
Morebits.Status.info('Macluumaad', ['Dib-u-eegistii ugu dambeysay waxaa ' + (diffUser ? '' : 'sidoo kale ') + 'sameeyay ', Morebits.htmlNode('strong', userNorm),
diffUser ? ', taas oo ku taal isla /64 subnet' : '', '. Maaddaama aan u qaadaneyno kharibaad, waxaanu u gudbi doonnaa rogidda.']);
break;
case 'agf':
Morebits.Status.warn('Digniin', ['Dib-u-eegistii ugu dambeysay waxaa sameeyay ', Morebits.htmlNode('strong', userNorm), '. Maaddaama aan u qaadaneyno niyad-wanaag (AGF), waan joojineynaa rogidda, maadaama dhibaatada la hagaajiyay.']);
return;
default:
Morebits.Status.warn('Ogeysiis', ['Dib-u-eegistii ugu dambeysay waxaa sameeyay ', Morebits.htmlNode('strong', userNorm), ', laakiin waan joojineynaa rogidda.']);
return;
}
} else if (params.type === 'vand' &&
Twinkle.rollback.trustedBots.includes(top.user) && revs.length > 1 &&
revs[1].revid === params.revid) {
Morebits.Status.info('Macluumaad', ['Dib-u-eegistii ugu dambeysay waxaa sameeyay ', Morebits.htmlNode('strong', lastuser), ', oo ah bot lagu kalsoon yahay, dib-u-eegiskii ka horreeyayna waxaa sameeyay qofka kharibaadda geystay, markaa waxaanu ku sii socon doonnaa rogidda.']);
index = 2;
} else {
Morebits.Status.error('Khalad', ['Dib-u-eegistii ugu dambeysay waxaa sameeyay ', Morebits.htmlNode('strong', lastuser), ', markaa waxaa laga yaabaa in horay loo rogay, waan joojineynaa rogidda.']);
return;
}
} else {
params.user = lastuser;
userNorm = params.user || Twinkle.rollback.hiddenName;
}
if (Twinkle.rollback.trustedBots.includes(params.user)) {
switch (params.type) {
case 'vand':
Morebits.Status.info('Macluumaad', ['Rogidda kharibaadda waxaa laga doortay ', Morebits.htmlNode('strong', userNorm), '. Maaddaama kani yahay bot lagu kalsoon yahay, waxaanu u qaadaneyno inaad rabtay inaad rogto kharibaadda uu sameeyay isticmaalihii hore beddelkeeda.']);
index = 2;
params.user = revs[1].user;
params.userHidden = !!revs[1].userhidden;
break;
case 'agf':
Morebits.Status.warn('Ogeysiis', ['Rogidda niyad-wanaagga (AGF) waxaa laga doortay ', Morebits.htmlNode('strong', userNorm), '. Kani waa bot lagu kalsoon yahay sidaas darteed rogidda AGF ma socon doonto.']);
return;
case 'norm':
default:
var cont = confirm('Rogid caadi ah ayaa la doortay, laakiin tifatirkii ugu dambeeyay waxaa sameeyay bot lagu kalsoon yahay (' + userNorm + '). Ma rabtaa inaad rogto dib-u-eegiskii ka horreeyay beddelkeeda?');
if (cont) {
Morebits.Status.info('Macluumaad', ['Rogid caadi ah ayaa laga doortay ', Morebits.htmlNode('strong', userNorm), '. Kani waa bot lagu kalsoon yahay, oo sida xaqiijinta ah, waxaanu rogi doonnaa dib-u-eegiskii hore beddelkeeda.']);
index = 2;
params.user = revs[1].user;
params.userHidden = !!revs[1].userhidden;
userNorm = params.user || Twinkle.rollback.hiddenName;
} else {
Morebits.Status.warn('Ogeysiis', ['Rogid caadi ah ayaa laga doortay ', Morebits.htmlNode('strong', userNorm), '. Kani waa bot lagu kalsoon yahay, laakiin sida xaqiijinta ah, rogidda dib-u-eegista la doortay ayaa socon doonta.']);
}
break;
}
}
let found = false;
let count = 0;
let seen64 = false;
for (let i = index; i < revs.length; ++i) {
++count;
if (revs[i].user !== params.user) {
if (mw.util.isIPv6Address(revs[i].user) && Morebits.ip.get64(revs[i].user) === Morebits.ip.get64(params.user)) {
if (!seen64) {
new Morebits.Status('Fiiro gaar ah', 'Waxaa loola dhaqmayaa cinwaannada IPv6 ee is xiga ee isku /64 inay yihiin isla isticmaale');
seen64 = true;
}
continue;
}
found = i;
break;
}
}
if (!found) {
statelem.error(['Lama helin dib-u-eegis hore. Waxaa laga yaabaa in ', Morebits.htmlNode('strong', userNorm), ' uu yahay tabarucaaha kaliya, ama uu sameeyay in ka badan ' + mw.language.convertNumber(Twinkle.getPref('revertMaxRevisions')) + ' tafatir oo is xiga.']);
return;
}
if (!count) {
Morebits.Status.error('Khalad', 'Maaddaama aysan suurtagal ahayn in la rogo eber dib-u-eegis, waan joojineynaa rogiddaan. Waxaa laga yaabaa in tifatirka horay loo rogay, laakiin aqoonsiga dib-u-eegisku waa weli midkii oo kale.');
return;
}
const good_revision = revs[found];
let userHasAlreadyConfirmedAction = false;
if (params.type !== 'vand' && count > 1) {
if (!confirm(userNorm + ' wuxuu sameeyay ' + mw.language.convertNumber(count) + ' tafatir oo is xiga. Ma hubtaa inaad rabto inaad wada rogto dhammaantood?')) {
Morebits.Status.info('Ogeysiis', 'Joojinaya rogidda.');
return;
}
userHasAlreadyConfirmedAction = true;
}
params.count = count;
params.goodid = good_revision.revid;
params.gooduser = good_revision.user;
params.gooduserHidden = !!good_revision.userhidden;
statelem.status([' dib-u-eegis ', Morebits.htmlNode('strong', params.goodid), ' oo la sameeyay ', Morebits.htmlNode('strong', mw.language.convertNumber(count)), ' dib-u-eegis kahor uu sameeyay ', Morebits.htmlNode('strong', params.gooduserHidden ? Twinkle.rollback.hiddenName : params.gooduser)]);
let summary, extra_summary;
switch (params.type) {
case 'agf':
extra_summary = prompt('Faallo ikhtiyaari ah oo ku saabsan kooban-tafsirka (edit summary): ', '');
if (extra_summary === null) {
statelem.error('Isticmaahu wuu joojiyay.');
return;
}
userHasAlreadyConfirmedAction = true;
summary = Twinkle.rollback.formatSummary('Soo celiyay tafatirrada [[WP:AGF|niyad-wanaagga ah]] ee uu sameeyay $USER',
params.userHidden ? null : params.user, extra_summary);
break;
case 'vand':
summary = Twinkle.rollback.formatSummary('Rogay ' + params.count + (params.count > 1 ? ' tafatir' : ' tafatir') + ' oo uu sameeyay $USER ilaa dib-u-eegiskii ugu dambeeyay ee uu sameeyay ' +
(params.gooduserHidden ? Twinkle.rollback.hiddenName : params.gooduser), params.userHidden ? null : params.user);
break;
case 'norm':
default:
if (Twinkle.getPref('offerReasonOnNormalRevert')) {
extra_summary = prompt('Faallo ikhtiyaari ah oo ku saabsan kooban-tafsirka (edit summary): ', '');
if (extra_summary === null) {
statelem.error('Isticmaahu wuu joojiyay.');
return;
}
userHasAlreadyConfirmedAction = true;
}
summary = Twinkle.rollback.formatSummary('Rogay ' + params.count + (params.count > 1 ? ' tafatir' : ' tafatir') + ' oo uu sameeyay $USER',
params.userHidden ? null : params.user, extra_summary);
break;
}
const needToDisplayConfirmation =
(
Twinkle.getPref('confirmOnRollback') ||
(
Twinkle.getPref('confirmOnMobileRollback') &&
/Android|webOS|iPhone|iPad|iPod|BlackBerry|Mobile|Opera Mini/i.test(navigator.userAgent)
)
) &&
!userHasAlreadyConfirmedAction;
if (needToDisplayConfirmation && !confirm('Rogaya bogga: ma hubtaa?')) {
statelem.error('Isticmaahu wuu joojiyay.');
return;
}
if (!Twinkle.rollback.skipTalk && Twinkle.getPref('openTalkPage').includes(params.type) &&
!params.userHidden && mw.config.get('wgUserName') !== params.user) {
params.notifyUser = true;
params.vantimestamp = top.timestamp;
}
const flagged = page.flagged;
if ((Morebits.userIsInGroup('reviewer') || Morebits.userIsSysop) &&
!!flagged &&
flagged.stable_revid >= params.goodid &&
!!flagged.pending_since) {
params.reviewRevert = true;
params.csrftoken = csrftoken;
}
const query = {
action: 'edit',
title: params.pagename,
summary: summary,
tags: Twinkle.changeTags,
token: csrftoken,
undo: lastrevid,
undoafter: params.goodid,
basetimestamp: touched,
starttimestamp: loadtimestamp,
minor: Twinkle.getPref('markRevertedPagesAsMinor').includes(params.type) ? true : undefined,
format: 'json'
};
if (Twinkle.getPref('watchRevertedPages').includes(params.type)) {
const watchOrExpiry = Twinkle.getPref('watchRevertedExpiry');
if (!watchOrExpiry || watchOrExpiry === 'no') {
query.watchlist = 'nochange';
} else if (watchOrExpiry === 'default' || watchOrExpiry === 'preferences') {
query.watchlist = 'preferences';
} else {
query.watchlist = 'watch';
if ((!page.watched || page.watchlistexpiry) && typeof watchOrExpiry === 'string' && watchOrExpiry !== 'yes') {
query.watchlistexpiry = watchOrExpiry;
}
}
}
if (!Twinkle.rollback.rollbackInPlace) {
Morebits.wiki.actionCompleted.redirect = params.pagename;
}
Morebits.wiki.actionCompleted.notice = 'Rogiddii waa la dhammeeyay';
const wikipedia_api = new Morebits.wiki.Api('Kaydinaya nuxurka la rogay', query, Twinkle.rollback.callbacks.complete, statelem);
wikipedia_api.params = params;
wikipedia_api.post();
},
complete: function(apiobj) {
const response = apiobj.getResponse();
const edit = response.edit;
if (edit.captcha) {
apiobj.statelem.error('Lama rogi karo, chunku adeegaha wiki wuxuu kaa doonayaa inaad buuxiso CAPTCHA.');
} else if (edit.nochange) {
apiobj.statelem.error('Dib-u-eegista aan u rogeyno waa mid la mid ah dib-u-eegista hadda, joojinaya rogidda.');
} else {
apiobj.statelem.info('la dhammeeyay');
const params = apiobj.params;
if (params.notifyUser && !params.userHidden) {
Morebits.Status.info('Macluumaad', ['Furaya foomka tafatirka bogga wada-hadalka isticmaalaha ', Morebits.htmlNode('strong', params.user)]);
const url = mw.util.getUrl('User talk:' + params.user, {
action: 'edit',
preview: 'yes',
vanarticle: params.pagename.replace(/_/g, ' '),
vanarticlerevid: params.revid,
vantimestamp: params.vantimestamp,
vanarticlegoodrevid: params.goodid,
type: params.type,
count: params.count
});
switch (Twinkle.getPref('userTalkPageMode')) {
case 'tab':
window.open(url, '_blank');
break;
case 'blank':
window.open(url, '_blank',
'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,width=1200,height=800');
break;
case 'window':
default:
window.open(url,
window.name === 'twinklewarnwindow' ? '_blank' : 'twinklewarnwindow',
'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,width=1200,height=800');
break;
}
} else if (Twinkle.rollback.rollbackInPlace &&
mw.config.get('wgCanonicalSpecialPageName') === 'Contributions') {
Twinkle.setPrefill('vanarticle', params.pagename.replace(/_/g, ' '));
Twinkle.setPrefill('vanarticlerevid', params.revid);
Twinkle.setPrefill('vantimestamp', params.vantimestamp);
Twinkle.setPrefill('vanarticlegoodrevid', params.goodid);
}
if (apiobj.params.reviewRevert) {
const query = {
action: 'review',
revid: edit.newrevid,
token: apiobj.params.csrftoken,
comment: 'Si otomaatig ah ayuu u eegayaa rogidda' + Twinkle.summaryAd
};
const wikipedia_api = new Morebits.wiki.Api('Si otomaatig ah ayuu u aqbalayaa isbeddelladaada', query);
wikipedia_api.post();
}
}
}
};
Twinkle.rollback.formatSummary = function(builtInString, userName, customString) {
let result = builtInString;
if (customString) {
result += ': ' + Morebits.string.toUpperCaseFirstChar(customString);
}
if (/\$USER/.test(builtInString)) {
if (userName) {
const resultLen = unescape(encodeURIComponent(result.replace('$USER', ''))).length;
const contribsLink = '[[Special:Contributions/' + userName + '|' + userName + ']]';
const contribsLen = unescape(encodeURIComponent(contribsLink)).length;
if (resultLen + contribsLen <= 499) {
const talkLink = ' ([[User talk:' + userName + '|wada-hadal]])';
if (resultLen + contribsLen + unescape(encodeURIComponent(talkLink)).length <= 499) {
result = Morebits.string.safeReplace(result, '$USER', contribsLink + talkLink);
} else {
result = Morebits.string.safeReplace(result, '$USER', contribsLink);
}
} else {
result = Morebits.string.safeReplace(result, '$USER', userName);
}
} else {
result = Morebits.string.safeReplace(result, '$USER', Twinkle.rollback.hiddenName);
}
}
return result;
};
Twinkle.addInitCallback(Twinkle.rollback, 'rollback');
}());
// </nowiki>
7c0rd8oowlpdu6cii1exzt2fjvmcq16
MediaWiki:Gadget-twinkledeprod.js
8
53686
310875
2026-10-25T11:39:33Z
Isma4l
41797
Abuuray
310875
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinkledeprod.js: Tirtiridda wadareed ee PROD-yada dhacay (maamulayaasha kaliya)
****************************************
* Qaabka loo yeero: Tab ("Deprod")
* Ka shaqeeya: Qaybaha magacoodu ka kooban yahay "proposed_deletion"
*/
Twinkle.deprod = function() {
if (
!Morebits.userIsSysop ||
mw.config.get('wgNamespaceNumber') !== 14 ||
!(/proposed_deletion/i).test(mw.config.get('wgPageName'))
) {
return;
}
Twinkle.addPortletLink(Twinkle.deprod.callback, 'Deprod', 'tw-deprod', 'Tirtir boggaga PROD ee laga helay qaybtan');
};
const concerns = {};
Twinkle.deprod.callback = function() {
const Window = new Morebits.SimpleWindow(800, 400);
Window.setTitle('Nadiifinta PROD');
Window.setScriptName('Twinkle');
Window.addFooterLink('Tirtiridda la soo jeediyay', 'WP:PROD');
Window.addFooterLink('Caawinta Twinkle', 'WP:TW/DOC#deprod');
Window.addFooterLink('Bixi ra’yi-celin', 'WT:TW');
const form = new Morebits.QuickForm(callback_commit);
const statusdiv = document.createElement('div');
statusdiv.style.padding = '15px';
Window.setContent(statusdiv);
Morebits.Status.init(statusdiv);
Window.display();
const query = {
action: 'query',
generator: 'categorymembers',
gcmtitle: mw.config.get('wgPageName'),
gcmlimit: Twinkle.getPref('batchMax'),
gcmnamespace: '0|2',
prop: 'info|revisions',
rvprop: 'content',
inprop: 'protection',
format: 'json'
};
const statelem = new Morebits.Status('Soo qaadaya liiska boggaga');
const wikipediaApi = new Morebits.wiki.Api('soo dejinaya...', query, ((apiobj) => {
const response = apiobj.getResponse();
const pages = (response.query && response.query.pages) || [];
const list = [];
const re = /\{\{Proposed deletion/;
pages.sort(Twinkle.sortByNamespace);
pages.forEach((page) => {
const metadata = [];
const content = page.revisions[0].content;
const res = re.exec(content);
const title = page.title;
if (res) {
const parsed = Morebits.wikitext.parseTemplate(content, res.index);
concerns[title] = parsed.parameters.concern || '';
metadata.push(concerns[title]);
}
const editProt = page.protection.filter((pr) => pr.type === 'edit' && pr.level === 'sysop').pop();
if (editProt) {
metadata.push('la ilaaliyay si buuxda' +
(editProt.expiry === 'infinity' ? ' si aan xad lahayn' : ', wuxuu dhacayaa ' + editProt.expiry));
}
list.push({
label: metadata.length ? '(' + metadata.join('; ') + ')' : '',
value: title,
checked: concerns[title] !== '',
style: editProt ? 'color:red' : ''
});
});
apiobj.params.form.append({ type: 'header', label: 'Boggaga la tirtirayo' });
apiobj.params.form.append({
type: 'button',
label: 'Dooro Dhammaan',
event: function(e) {
$(Morebits.QuickForm.getElements(e.target.form, 'pages')).prop('checked', true);
}
});
apiobj.params.form.append({
type: 'button',
label: 'Ka reeb Dhammaan',
event: function(e) {
$(Morebits.QuickForm.getElements(e.target.form, 'pages')).prop('checked', false);
}
});
apiobj.params.form.append({
type: 'checkbox',
name: 'pages',
list: list
});
apiobj.params.form.append({
type: 'submit'
});
const rendered = apiobj.params.form.render();
apiobj.params.Window.setContent(rendered);
Morebits.QuickForm.getElements(rendered, 'pages').forEach(Twinkle.generateBatchPageLinks);
}), statelem);
wikipediaApi.params = { form: form, Window: Window };
wikipediaApi.post();
};
var callback_commit = function(event) {
const pages = Morebits.QuickForm.getInputData(event.target).pages;
Morebits.Status.init(event.target);
const batchOperation = new Morebits.BatchOperation('Tirtiraya boggaga');
batchOperation.setOption('chunkSize', Twinkle.getPref('batchChunks'));
batchOperation.setOption('preserveIndividualStatusLines', true);
batchOperation.setPageList(pages);
batchOperation.run((pageName) => {
const params = { page: pageName, reason: concerns[page] };
let query = {
action: 'query',
titles: pageName,
prop: 'redirects',
rdlimit: 'max',
format: 'json'
};
let wikipediaApi = new Morebits.wiki.Api('Soo qaadaya dib-u-jeedinta', query, callback_deleteRedirects);
wikipediaApi.params = params;
wikipediaApi.post();
const pageTitle = mw.Title.newFromText(pageName);
if (pageTitle && pageTitle.namespace % 2 === 0 && pageTitle.namespace !== 2) {
pageTitle.namespace++;
query = {
action: 'query',
titles: pageTitle.toText(),
format: 'json'
};
wikipediaApi = new Morebits.wiki.Api('Hubinta inuu ' + pageName + ' leeyahay bog wada-hadal', query,
callback_deleteTalk);
wikipediaApi.params = params;
wikipediaApi.post();
}
var page = new Morebits.wiki.Page(pageName, 'Tirtiraya bogga ' + pageName);
page.setEditSummary('[[WP:PROD|PROD]] dhacay, sababtu waxay ahayd: ' + concerns[pageName]);
page.setChangeTags(Twinkle.changeTags);
page.suppressProtectWarning();
page.deletePage(batchOperation.workerSuccess, batchOperation.workerFailure);
});
},
callback_deleteTalk = function(apiobj) {
if (apiobj.getResponse().query.pages[0].missing) {
return;
}
const page = new Morebits.wiki.Page('Talk:' + apiobj.params.page, 'Tirtiraya bogga wada-hadalka ee bogga ' + apiobj.params.page);
page.setEditSummary('[[WP:CSD#G8|G8]]: [[Help:Talk page|Bogga wada-hadalka]] ee bogga la tirtiray [[' + apiobj.params.page + ']]');
page.setChangeTags(Twinkle.changeTags);
page.deletePage();
},
callback_deleteRedirects = function(apiobj) {
const response = apiobj.getResponse();
const redirects = response.query.pages[0].redirects || [];
redirects.forEach((rd) => {
const title = rd.title;
const page = new Morebits.wiki.Page(title, 'Tirtiraya bogga dib-u-jeedinta ah ' + title);
page.setEditSummary('[[WP:CSD#G8|G8]]: Dib-u-jeedin ku socota bogga la tirtiray [[' + apiobj.params.page + ']]');
page.setChangeTags(Twinkle.changeTags);
page.deletePage();
});
};
Twinkle.addInitCallback(Twinkle.deprod, 'deprod');
}());
// </nowiki>
pfw2fg5tcbztmjs5mxq2s7ie0xezjri
MediaWiki:Gadget-twinklebatchdelete.js
8
53687
310876
2026-10-25T11:41:00Z
Isma4l
41797
Bog cusub: // <nowiki> (function() { /* **************************************** *** twinklebatchdelete.js: Qaybta Tirtiridda Wadareed (maamulayaasha kaliya) **************************************** * Qaabka loo yeero: Tab ("D-batch") * Ka shaqeeya: Boggaga aan maqaallada ahayn ee jira, iyo Special:PrefixIndex */ Twinkle.batchdelete = function twinklebatchdelete() { if ( Morebits.userIsSysop && ( (mw.config.get('wgCurRevisionId') && mw.config.get('wgNamespaceN...
310876
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinklebatchdelete.js: Qaybta Tirtiridda Wadareed (maamulayaasha kaliya)
****************************************
* Qaabka loo yeero: Tab ("D-batch")
* Ka shaqeeya: Boggaga aan maqaallada ahayn ee jira, iyo Special:PrefixIndex
*/
Twinkle.batchdelete = function twinklebatchdelete() {
if (
Morebits.userIsSysop && (
(mw.config.get('wgCurRevisionId') && mw.config.get('wgNamespaceNumber') > 0) ||
mw.config.get('wgCanonicalSpecialPageName') === 'Prefixindex'
)
) {
Twinkle.addPortletLink(Twinkle.batchdelete.callback, 'D-batch', 'tw-batch', 'Tirtir boggaga laga helay qaybtan / boggan');
}
};
Twinkle.batchdelete.unlinkCache = {};
let subpagesLoaded;
Twinkle.batchdelete.callback = function twinklebatchdeleteCallback() {
subpagesLoaded = false;
const Window = new Morebits.SimpleWindow(600, 400);
Window.setTitle('Tirtiridda wadareed');
Window.setScriptName('Twinkle');
Window.addFooterLink('Caawinta Twinkle', 'WP:TW/DOC#batchdelete');
Window.addFooterLink('Bixi ra’yi-celin', 'WT:TW');
const form = new Morebits.QuickForm(Twinkle.batchdelete.callback.evaluate);
form.append({
type: 'checkbox',
list: [
{
label: 'Tirtir boggaga',
name: 'delete_page',
value: 'delete',
checked: true,
subgroup: {
type: 'checkbox',
list: [
{
label: 'Tirtir boggaga wada-hadalka ee la xiriira (marka laga reebo boggaga wada-hadalka isticmaalaha)',
name: 'delete_talk',
value: 'delete_talk',
checked: true
},
{
label: 'Tirtir dib-u-jeedinta ku socota boggaga la tirtiray',
name: 'delete_redirects',
value: 'delete_redirects',
checked: true
},
{
label: 'Tirtir hoos-boggaga (subpages) boggaga la tirtiray',
name: 'delete_subpages',
value: 'delete_subpages',
checked: false,
event: Twinkle.batchdelete.callback.toggleSubpages,
subgroup: {
type: 'checkbox',
list: [
{
label: 'Tirtir boggaga wada-hadalka ee hoos-boggaga la tirtiray',
name: 'delete_subpage_talks',
value: 'delete_subpage_talks'
},
{
label: 'Tirtir dib-u-jeedinta ku socota hoos-boggaga la tirtiray',
name: 'delete_subpage_redirects',
value: 'delete_subpage_redirects'
},
{
label: 'Ka goy xiriirinta dhabarka (backlinks) hoos-bog kasta oo la tirtiray (meelaha magaca ee Maqaalka iyo Bogagga Hordhaca ah kaliya)',
name: 'unlink_subpages',
value: 'unlink_subpages'
}
]
}
}
]
}
},
{
label: 'Ka goy xiriirinta dhabarka bog kasta (meelaha magaca ee Maqaalka iyo Bogagga Hordhaca ah kaliya)',
name: 'unlink_page',
value: 'unlink',
checked: false
},
{
label: 'Ka saar adeegsiga fayl kasta (dhammaan meelaha magaca)',
name: 'unlink_file',
value: 'unlink_file',
checked: true
}
]
});
form.append({
type: 'input',
name: 'reason',
label: 'Sababta:',
size: 60
});
const query = {
action: 'query',
prop: 'revisions|info|imageinfo',
inprop: 'protection',
rvprop: 'size|user',
format: 'json'
};
if (mw.config.get('wgNamespaceNumber') === 14) {
query.generator = 'categorymembers';
query.gcmtitle = mw.config.get('wgPageName');
query.gcmlimit = Twinkle.getPref('batchMax');
} else if (mw.config.get('wgCanonicalSpecialPageName') === 'Prefixindex') {
query.generator = 'allpages';
query.gaplimit = Twinkle.getPref('batchMax');
if (mw.util.getParamValue('prefix')) {
query.gapnamespace = mw.util.getParamValue('namespace');
query.gapprefix = mw.util.getParamValue('prefix');
} else {
let pathSplit = decodeURIComponent(location.pathname).split('/');
if (pathSplit.length < 3 || pathSplit[2] !== 'Special:PrefixIndex') {
return;
}
const titleSplit = pathSplit[3].split(':');
query.gapnamespace = mw.config.get('wgNamespaceIds')[titleSplit[0].toLowerCase()];
if (titleSplit.length < 2 || typeof query.gapnamespace === 'undefined') {
query.gapnamespace = 0;
query.gapprefix = pathSplit.splice(3).join('/');
} else {
pathSplit = pathSplit.splice(4);
pathSplit.splice(0, 0, titleSplit.splice(1).join(':'));
query.gapprefix = pathSplit.join('/');
}
}
} else {
query.generator = 'links';
query.titles = mw.config.get('wgPageName');
query.gpllimit = Twinkle.getPref('batchMax');
}
const statusdiv = document.createElement('div');
statusdiv.style.padding = '15px';
Window.setContent(statusdiv);
Morebits.Status.init(statusdiv);
Window.display();
Twinkle.batchdelete.pages = {};
const statelem = new Morebits.Status('Soo qaadaya liiska boggaga');
const wikipediaApi = new Morebits.wiki.Api('soo dejinaya...', query, ((apiobj) => {
const response = apiobj.getResponse();
let pages = (response.query && response.query.pages) || [];
pages = pages.filter((page) => !page.missing && page.imagerepository !== 'shared');
pages.sort(Twinkle.sortByNamespace);
pages.forEach((page) => {
const metadata = [];
if (page.redirect) {
metadata.push('dib-u-jeedin');
}
const editProt = page.protection.filter((pr) => pr.type === 'edit' && pr.level === 'sysop').pop();
if (editProt) {
metadata.push('la ilaaliyay si buuxda' +
(editProt.expiry === 'infinity' ? ' si aan xad lahayn' : ', wuxuu dhacayaa ' + new Morebits.Date(editProt.expiry).calendar('utc') + ' (UTC)'));
}
if (page.ns === 6) {
metadata.push('soo geliyaha: ' + page.imageinfo[0].user);
metadata.push('tifatirkii ugu dambeeyay ee ka yimid: ' + page.revisions[0].user);
} else {
metadata.push(mw.language.convertNumber(page.revisions[0].size) + ' bytes');
}
const title = page.title;
Twinkle.batchdelete.pages[title] = {
label: title + (metadata.length ? ' (' + metadata.join('; ') + ')' : ''),
value: title,
checked: true,
style: editProt ? 'color:red' : ''
};
});
const form = apiobj.params.form;
form.append({ type: 'header', label: 'Boggaga la tirtirayo' });
form.append({
type: 'button',
label: 'Dooro Dhammaan',
event: function dBatchSelectAll() {
$(result).find('input[name=pages]:not(:checked)').each((_, e) => {
e.click();
});
$('input[name="pages.subpages"]').prop('checked', true);
}
});
form.append({
type: 'button',
label: 'Ka reeb Dhammaan',
event: function dBatchDeselectAll() {
$(result).find('input[name=pages]:checked').each((_, e) => {
e.click();
});
}
});
form.append({
type: 'checkbox',
name: 'pages',
id: 'tw-dbatch-pages',
shiftClickSupport: true,
list: $.map(Twinkle.batchdelete.pages, (e) => e)
});
form.append({ type: 'submit' });
var result = form.render();
apiobj.params.Window.setContent(result);
Morebits.QuickForm.getElements(result, 'pages').forEach(Twinkle.generateArrowLinks);
}), statelem);
wikipediaApi.params = { form: form, Window: Window };
wikipediaApi.post();
};
Twinkle.batchdelete.generateNewPageList = function(form) {
const elements = form.elements.pages;
if (elements instanceof NodeList) {
for (let i = 0; i < elements.length; ++i) {
Twinkle.batchdelete.pages[elements[i].value].checked = elements[i].checked;
}
} else if (elements instanceof HTMLInputElement) {
Twinkle.batchdelete.pages[elements.value].checked = elements.checked;
}
return new Morebits.QuickForm.Element({
type: 'checkbox',
name: 'pages',
id: 'tw-dbatch-pages',
shiftClickSupport: true,
list: $.map(Twinkle.batchdelete.pages, (e) => e)
}).render();
};
Twinkle.batchdelete.callback.toggleSubpages = function twDbatchToggleSubpages(e) {
const form = e.target.form;
let newPageList;
if (e.target.checked) {
form.delete_subpage_redirects.checked = form.delete_redirects.checked;
form.delete_subpage_talks.checked = form.delete_talk.checked;
form.unlink_subpages.checked = form.unlink_page.checked;
if (subpagesLoaded) {
$.each(Twinkle.batchdelete.pages, (i, el) => {
if (el.subgroup === null && el.subgroupBeforeDeletion) {
el.subgroup = el.subgroupBeforeDeletion;
}
});
newPageList = Twinkle.batchdelete.generateNewPageList(form);
$('#tw-dbatch-pages').replaceWith(newPageList);
Morebits.QuickForm.getElements(newPageList, 'pages').forEach(Twinkle.generateArrowLinks);
Morebits.QuickForm.getElements(newPageList, 'pages.subpages').forEach(Twinkle.generateArrowLinks);
return;
}
const loadingText = '<strong id="dbatch-subpage-loading">Soo dejinaya... </strong>';
$(e.target).after(loadingText);
const pages = $(form.pages).map((i, el) => el.value).get();
const subpageLister = new Morebits.BatchOperation();
subpageLister.setOption('chunkSize', Twinkle.getPref('batchChunks'));
subpageLister.setPageList(pages);
subpageLister.run((pageName) => {
const pageTitle = mw.Title.newFromText(pageName);
if ([0, 6, 8].includes(pageTitle.namespace)) {
subpageLister.workerSuccess();
return;
}
const wikipediaApi = new Morebits.wiki.Api('Soo qaadaya liiska hoos-boggaga ee ' + pageName, {
action: 'query',
prop: 'revisions|info|imageinfo',
generator: 'allpages',
rvprop: 'size',
inprop: 'protection',
gapprefix: pageTitle.title + '/',
gapnamespace: pageTitle.namespace,
gaplimit: 'max',
format: 'json'
}, ((apiobj) => {
const response = apiobj.getResponse();
const pages = (response.query && response.query.pages) || [];
const subpageList = [];
pages.sort(Twinkle.sortByNamespace);
pages.forEach((page) => {
const metadata = [];
if (page.redirect) {
metadata.push('dib-u-jeedin');
}
const editProt = page.protection.filter((pr) => pr.type === 'edit' && pr.level === 'sysop').pop();
if (editProt) {
metadata.push('la ilaaliyay si buuxda' +
(editProt.expiry === 'infinity' ? ' si aan xad lahayn' : ', wuxuu dhacayaa ' + new Morebits.Date(editProt.expiry).calendar('utc') + ' (UTC)'));
}
if (page.ns === 6) {
metadata.push('soo geliyaha: ' + page.imageinfo[0].user);
metadata.push('tifatirkii ugu dambeeyay ee ka yimid: ' + page.revisions[0].user);
} else {
metadata.push(mw.language.convertNumber(page.revisions[0].size) + ' bytes');
}
const title = page.title;
subpageList.push({
label: title + (metadata.length ? ' (' + metadata.join('; ') + ')' : ''),
value: title,
checked: true,
style: editProt ? 'color:red' : ''
});
});
if (subpageList.length) {
const pageName = apiobj.params.pageNameFull;
Twinkle.batchdelete.pages[pageName].subgroup = {
type: 'checkbox',
name: 'subpages',
className: 'dbatch-subpages',
shiftClickSupport: true,
list: subpageList
};
}
subpageLister.workerSuccess();
}), null, (() => {
subpageLister.workerFailure();
}));
wikipediaApi.params = { pageNameFull: pageName };
wikipediaApi.post();
}, () => {
newPageList = Twinkle.batchdelete.generateNewPageList(form);
$('#tw-dbatch-pages').replaceWith(newPageList);
Morebits.QuickForm.getElements(newPageList, 'pages').forEach(Twinkle.generateArrowLinks);
Morebits.QuickForm.getElements(newPageList, 'pages.subpages').forEach(Twinkle.generateArrowLinks);
subpagesLoaded = true;
$('#dbatch-subpage-loading').remove();
});
} else if (!e.target.checked) {
$.each(Twinkle.batchdelete.pages, (i, el) => {
if (el.subgroup) {
el.subgroupBeforeDeletion = el.subgroup;
el.subgroup = null;
}
});
newPageList = Twinkle.batchdelete.generateNewPageList(form);
$('#tw-dbatch-pages').replaceWith(newPageList);
Morebits.QuickForm.getElements(newPageList, 'pages').forEach(Twinkle.generateArrowLinks);
}
};
Twinkle.batchdelete.callback.evaluate = function twinklebatchdeleteCallbackEvaluate(event) {
Morebits.wiki.actionCompleted.notice = 'Tirtiridda wadareed waa la dhammeeyay';
const form = event.target;
const numProtected = $(Morebits.QuickForm.getElements(form, 'pages')).filter((index, element) => element.checked && element.nextElementSibling.style.color === 'red').length;
if (numProtected > 0 && !confirm('Waxaad ku dhowdahay inaad tirtirto ' + mw.language.convertNumber(numProtected) + ' bog(og) si buuxda loo ilaaliyay. Ma hubtaa?')) {
return;
}
const input = Morebits.QuickForm.getInputData(form);
if (!input.reason) {
alert('Waa inaad bixisaa sabab!');
return;
}
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
if (!input.pages || input.pages.length === 0) {
Morebits.Status.error('Khalad', 'ma jiraan wax la tirtirayo, waa la joojinayaa');
return;
}
const pageDeleter = new Morebits.BatchOperation(input.delete_page ? 'Tirtiraya boggaga' : 'Bilaabaya hawlaha la codsaday');
pageDeleter.setOption('chunkSize', Twinkle.getPref('batchChunks'));
pageDeleter.setOption('preserveIndividualStatusLines', input.delete_page);
pageDeleter.setPageList(input.pages);
pageDeleter.run((pageName) => {
const params = {
page: pageName,
delete_page: input.delete_page,
delete_talk: input.delete_talk,
delete_redirects: input.delete_redirects,
unlink_page: input.unlink_page,
unlink_file: input.unlink_file && new RegExp('^' + Morebits.namespaceRegex(6) + ':', 'i').test(pageName),
reason: input.reason,
pageDeleter: pageDeleter
};
const wikipediaPage = new Morebits.wiki.Page(pageName, 'Tirtiraya bogga ' + pageName);
wikipediaPage.setCallbackParameters(params);
if (input.delete_page) {
wikipediaPage.setEditSummary(input.reason);
wikipediaPage.setChangeTags(Twinkle.changeTags);
wikipediaPage.suppressProtectWarning();
wikipediaPage.deletePage(Twinkle.batchdelete.callbacks.doExtras, pageDeleter.workerFailure);
} else {
Twinkle.batchdelete.callbacks.doExtras(wikipediaPage);
}
}, () => {
if (input.delete_subpages && input.subpages) {
const subpageDeleter = new Morebits.BatchOperation('Tirtiraya hoos-boggaga');
subpageDeleter.setOption('chunkSize', Twinkle.getPref('batchChunks'));
subpageDeleter.setOption('preserveIndividualStatusLines', true);
subpageDeleter.setPageList(input.subpages);
subpageDeleter.run((pageName) => {
const params = {
page: pageName,
delete_page: true,
delete_talk: input.delete_subpage_talks,
delete_redirects: input.delete_subpage_redirects,
unlink_page: input.unlink_subpages,
unlink_file: false,
reason: input.reason,
pageDeleter: subpageDeleter
};
const wikipediaPage = new Morebits.wiki.Page(pageName, 'Tirtiraya hoos-bogga ' + pageName);
wikipediaPage.setCallbackParameters(params);
wikipediaPage.setEditSummary(input.reason);
wikipediaPage.setChangeTags(Twinkle.changeTags);
wikipediaPage.suppressProtectWarning();
wikipediaPage.deletePage(Twinkle.batchdelete.callbacks.doExtras, pageDeleter.workerFailure);
});
}
});
};
Twinkle.batchdelete.callbacks = {
doExtras: function(thingWithParameters) {
const params = thingWithParameters.parent ? thingWithParameters.parent.getCallbackParameters() :
thingWithParameters.getCallbackParameters();
params.pageDeleter.workerSuccess(thingWithParameters);
let query, wikipediaApi;
if (params.unlink_page) {
Twinkle.batchdelete.unlinkCache = {};
query = {
action: 'query',
list: 'backlinks',
blfilterredir: 'nonredirects',
blnamespace: [0, 100],
bltitle: params.page,
bllimit: 'max',
format: 'json'
};
wikipediaApi = new Morebits.wiki.Api('Soo qaadaya xiriirinta dhabarka', query, Twinkle.batchdelete.callbacks.unlinkBacklinksMain);
wikipediaApi.params = params;
wikipediaApi.post();
}
if (params.unlink_file) {
query = {
action: 'query',
list: 'imageusage',
iutitle: params.page,
iulimit: 'max',
format: 'json'
};
wikipediaApi = new Morebits.wiki.Api('Soo qaadaya xiriirinta faylka', query, Twinkle.batchdelete.callbacks.unlinkImageInstancesMain);
wikipediaApi.params = params;
wikipediaApi.post();
}
if (params.delete_page) {
if (params.delete_redirects) {
query = {
action: 'query',
titles: params.page,
prop: 'redirects',
rdlimit: 'max',
format: 'json'
};
wikipediaApi = new Morebits.wiki.Api('Soo qaadaya dib-u-jeedinta', query, Twinkle.batchdelete.callbacks.deleteRedirectsMain);
wikipediaApi.params = params;
wikipediaApi.post();
}
if (params.delete_talk) {
const pageTitle = mw.Title.newFromText(params.page);
if (pageTitle && pageTitle.namespace % 2 === 0 && pageTitle.namespace !== 2) {
pageTitle.namespace++;
query = {
action: 'query',
titles: pageTitle.toText(),
format: 'json'
};
wikipediaApi = new Morebits.wiki.Api('Hubinta inuu bogga wada-hadalku jiro', query, Twinkle.batchdelete.callbacks.deleteTalk);
wikipediaApi.params = params;
wikipediaApi.params.talkPage = pageTitle.toText();
wikipediaApi.post();
}
}
}
},
deleteRedirectsMain: function(apiobj) {
const response = apiobj.getResponse();
let pages = response.query.pages[0].redirects || [];
pages = pages.map((redirect) => redirect.title);
if (!pages.length) {
return;
}
const redirectDeleter = new Morebits.BatchOperation('Tirtiraya dib-u-jeedinta ku socota ' + apiobj.params.page);
redirectDeleter.setOption('chunkSize', Twinkle.getPref('batchChunks'));
redirectDeleter.setPageList(pages);
redirectDeleter.run((pageName) => {
const wikipediaPage = new Morebits.wiki.Page(pageName, 'Tirtiraya ' + pageName);
wikipediaPage.setEditSummary('[[WP:CSD#G8|G8]]: Dib-u-jeedin ku socota bogga la tirtiray [[' + apiobj.params.page + ']]');
wikipediaPage.setChangeTags(Twinkle.changeTags);
wikipediaPage.deletePage(redirectDeleter.workerSuccess, redirectDeleter.workerFailure);
});
},
deleteTalk: function(apiobj) {
const response = apiobj.getResponse();
if (response.query.pages[0].missing) {
return;
}
const page = new Morebits.wiki.Page(apiobj.params.talkPage, 'Tirtiraya bogga wada-hadalka ee bogga ' + apiobj.params.page);
page.setEditSummary('[[WP:CSD#G8|G8]]: [[Help:Talk page|Bogga wada-hadalka]] ee bogga la tirtiray [[' + apiobj.params.page + ']]');
page.setChangeTags(Twinkle.changeTags);
page.deletePage();
},
unlinkBacklinksMain: function(apiobj) {
const response = apiobj.getResponse();
let pages = response.query.backlinks || [];
pages = pages.map((page) => page.title);
if (!pages.length) {
return;
}
const unlinker = new Morebits.BatchOperation('Ka goynaya xiriirinta dhabarka ee ku socota ' + apiobj.params.page);
unlinker.setOption('chunkSize', Twinkle.getPref('batchChunks'));
unlinker.setPageList(pages);
unlinker.run((pageName) => {
const wikipediaPage = new Morebits.wiki.Page(pageName, 'Ka goynaya xiriirinta bogga ' + pageName);
const params = $.extend({}, apiobj.params);
params.title = pageName;
params.unlinker = unlinker;
wikipediaPage.setCallbackParameters(params);
wikipediaPage.load(Twinkle.batchdelete.callbacks.unlinkBacklinks);
});
},
unlinkBacklinks: function(pageobj) {
const params = pageobj.getCallbackParameters();
if (!pageobj.exists()) {
params.unlinker.workerSuccess(pageobj);
return;
}
let text;
if (params.title in Twinkle.batchdelete.unlinkCache) {
text = Twinkle.batchdelete.unlinkCache[params.title];
} else {
text = pageobj.getPageText();
}
const oldText = text;
const wikiPage = new Morebits.wikitext.Page(text);
text = wikiPage.removeLink(params.page).getText();
Twinkle.batchdelete.unlinkCache[params.title] = text;
if (text === oldText) {
params.unlinker.workerSuccess(pageobj);
return;
}
pageobj.setEditSummary('Ka saaraya xiriirinta ku socota bogga la tirtiray ' + params.page);
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setPageText(text);
pageobj.setCreateOption('nocreate');
pageobj.setMaxConflictRetries(10);
pageobj.save(params.unlinker.workerSuccess, params.unlinker.workerFailure);
},
unlinkImageInstancesMain: function(apiobj) {
const response = apiobj.getResponse();
let pages = response.query.imageusage || [];
pages = pages.map((page) => page.title);
if (!pages.length) {
return;
}
const unlinker = new Morebits.BatchOperation('Ka goynaya xiriirinta faylka ee ku socota ' + apiobj.params.page);
unlinker.setOption('chunkSize', Twinkle.getPref('batchChunks'));
unlinker.setPageList(pages);
unlinker.run((pageName) => {
const wikipediaPage = new Morebits.wiki.Page(pageName, 'Ka saaraya adeegsiga faylka bogga ' + pageName);
const params = $.extend({}, apiobj.params);
params.title = pageName;
params.unlinker = unlinker;
wikipediaPage.setCallbackParameters(params);
wikipediaPage.load(Twinkle.batchdelete.callbacks.unlinkImageInstances);
});
},
unlinkImageInstances: function(pageobj) {
const params = pageobj.getCallbackParameters();
if (!pageobj.exists()) {
params.unlinker.workerSuccess(pageobj);
return;
}
const image = params.page.replace(new RegExp('^' + Morebits.namespaceRegex(6) + ':'), '');
let text;
if (params.title in Twinkle.batchdelete.unlinkCache) {
text = Twinkle.batchdelete.unlinkCache[params.title];
} else {
text = pageobj.getPageText();
}
const oldText = text;
const wikiPage = new Morebits.wikitext.Page(text);
text = wikiPage.commentOutImage(image, 'Faallo la geliyay sababtoo ah faylka waa la tirtiray').getText();
Twinkle.batchdelete.unlinkCache[params.title] = text;
if (text === oldText) {
pageobj.getStatusElement().error('way ku guuldareysatay in la ka gooyo faylka ' + image + ' bogga ' + pageobj.getPageName());
params.unlinker.workerFailure(pageobj);
return;
}
pageobj.setEditSummary('Ka saaraya tusaalaha faylka ' + image + ' ee la tirtiray sababtoo ah "' + params.reason + '")');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setPageText(text);
pageobj.setCreateOption('nocreate');
pageobj.setMaxConflictRetries(10);
pageobj.save(params.unlinker.workerSuccess, params.unlinker.workerFailure);
}
};
Twinkle.addInitCallback(Twinkle.batchdelete, 'batchdelete');
}());
// </nowiki>
8zfpqcapw6un9ys2csacfv2ahk3c31c
310877
310876
2026-10-25T11:42:27Z
Isma4l
41797
310877
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinklebatchdelete.js: Qaybta Tirtiridda Wadareed (maamulayaasha kaliya)
****************************************
* Qaabka loo yeero: Tab ("D-batch")
* Ka shaqeeya: Boggaga aan maqaallada ahayn ee jira, iyo Special:PrefixIndex
*/
Twinkle.batchdelete = function twinklebatchdelete() {
if (
Morebits.userIsSysop && (
(mw.config.get('wgCurRevisionId') && mw.config.get('wgNamespaceNumber') > 0) ||
mw.config.get('wgCanonicalSpecialPageName') === 'Prefixindex'
)
) {
Twinkle.addPortletLink(Twinkle.batchdelete.callback, 'D-batch', 'tw-batch', 'Tirtir boggaga laga helay qaybtan / boggan');
}
};
Twinkle.batchdelete.unlinkCache = {};
let subpagesLoaded;
Twinkle.batchdelete.callback = function twinklebatchdeleteCallback() {
subpagesLoaded = false;
const Window = new Morebits.SimpleWindow(600, 400);
Window.setTitle('Tirtiridda wadareed');
Window.setScriptName('Twinkle');
Window.addFooterLink('Caawinta Twinkle', 'WP:TW/DOC#batchdelete');
Window.addFooterLink('Bixi ra’yi-celin', 'WT:TW');
const form = new Morebits.QuickForm(Twinkle.batchdelete.callback.evaluate);
form.append({
type: 'checkbox',
list: [
{
label: 'Tirtir boggaga',
name: 'delete_page',
value: 'delete',
checked: true,
subgroup: {
type: 'checkbox',
list: [
{
label: 'Tirtir boggaga wada-hadalka ee la xiriira (marka laga reebo boggaga wada-hadalka isticmaalaha)',
name: 'delete_talk',
value: 'delete_talk',
checked: true
},
{
label: 'Tirtir dib-u-jeedinta ku socota boggaga la tirtiray',
name: 'delete_redirects',
value: 'delete_redirects',
checked: true
},
{
label: 'Tirtir hoos-boggaga boggaga la tirtiray',
name: 'delete_subpages',
value: 'delete_subpages',
checked: false,
event: Twinkle.batchdelete.callback.toggleSubpages,
subgroup: {
type: 'checkbox',
list: [
{
label: 'Tirtir boggaga wada-hadalka ee hoos-boggaga la tirtiray',
name: 'delete_subpage_talks',
value: 'delete_subpage_talks'
},
{
label: 'Tirtir dib-u-jeedinta ku socota hoos-boggaga la tirtiray',
name: 'delete_subpage_redirects',
value: 'delete_subpage_redirects'
},
{
label: 'Ka goy xiriirinta dhabarka hoos-bog kasta oo la tirtiray (meelaha magaca ee Maqaalka iyo Bogagga Hordhaca ah kaliya)',
name: 'unlink_subpages',
value: 'unlink_subpages'
}
]
}
}
]
}
},
{
label: 'Ka goy xiriirinta dhabarka bog kasta (meelaha magaca ee Maqaalka iyo Bogagga Hordhaca ah kaliya)',
name: 'unlink_page',
value: 'unlink',
checked: false
},
{
label: 'Ka saar adeegsiga fayl kasta (dhammaan meelaha magaca)',
name: 'unlink_file',
value: 'unlink_file',
checked: true
}
]
});
form.append({
type: 'input',
name: 'reason',
label: 'Sababta:',
size: 60
});
const query = {
action: 'query',
prop: 'revisions|info|imageinfo',
inprop: 'protection',
rvprop: 'size|user',
format: 'json'
};
if (mw.config.get('wgNamespaceNumber') === 14) {
query.generator = 'categorymembers';
query.gcmtitle = mw.config.get('wgPageName');
query.gcmlimit = Twinkle.getPref('batchMax');
} else if (mw.config.get('wgCanonicalSpecialPageName') === 'Prefixindex') {
query.generator = 'allpages';
query.gaplimit = Twinkle.getPref('batchMax');
if (mw.util.getParamValue('prefix')) {
query.gapnamespace = mw.util.getParamValue('namespace');
query.gapprefix = mw.util.getParamValue('prefix');
} else {
let pathSplit = decodeURIComponent(location.pathname).split('/');
if (pathSplit.length < 3 || pathSplit[2] !== 'Special:PrefixIndex') {
return;
}
const titleSplit = pathSplit[3].split(':');
query.gapnamespace = mw.config.get('wgNamespaceIds')[titleSplit[0].toLowerCase()];
if (titleSplit.length < 2 || typeof query.gapnamespace === 'undefined') {
query.gapnamespace = 0;
query.gapprefix = pathSplit.splice(3).join('/');
} else {
pathSplit = pathSplit.splice(4);
pathSplit.splice(0, 0, titleSplit.splice(1).join(':'));
query.gapprefix = pathSplit.join('/');
}
}
} else {
query.generator = 'links';
query.titles = mw.config.get('wgPageName');
query.gpllimit = Twinkle.getPref('batchMax');
}
const statusdiv = document.createElement('div');
statusdiv.style.padding = '15px';
Window.setContent(statusdiv);
Morebits.Status.init(statusdiv);
Window.display();
Twinkle.batchdelete.pages = {};
const statelem = new Morebits.Status('Soo qaadaya liiska boggaga');
const wikipediaApi = new Morebits.wiki.Api('soo dejinaya...', query, ((apiobj) => {
const response = apiobj.getResponse();
let pages = (response.query && response.query.pages) || [];
pages = pages.filter((page) => !page.missing && page.imagerepository !== 'shared');
pages.sort(Twinkle.sortByNamespace);
pages.forEach((page) => {
const metadata = [];
if (page.redirect) {
metadata.push('dib-u-jeedin');
}
const editProt = page.protection.filter((pr) => pr.type === 'edit' && pr.level === 'sysop').pop();
if (editProt) {
metadata.push('la ilaaliyay si buuxda' +
(editProt.expiry === 'infinity' ? ' si aan xad lahayn' : ', wuxuu dhacayaa ' + new Morebits.Date(editProt.expiry).calendar('utc') + ' (UTC)'));
}
if (page.ns === 6) {
metadata.push('soo geliyaha: ' + page.imageinfo[0].user);
metadata.push('tifatirkii ugu dambeeyay ee ka yimid: ' + page.revisions[0].user);
} else {
metadata.push(mw.language.convertNumber(page.revisions[0].size) + ' bytes');
}
const title = page.title;
Twinkle.batchdelete.pages[title] = {
label: title + (metadata.length ? ' (' + metadata.join('; ') + ')' : ''),
value: title,
checked: true,
style: editProt ? 'color:red' : ''
};
});
const form = apiobj.params.form;
form.append({ type: 'header', label: 'Boggaga la tirtirayo' });
form.append({
type: 'button',
label: 'Dooro Dhammaan',
event: function dBatchSelectAll() {
$(result).find('input[name=pages]:not(:checked)').each((_, e) => {
e.click();
});
$('input[name="pages.subpages"]').prop('checked', true);
}
});
form.append({
type: 'button',
label: 'Ka reeb Dhammaan',
event: function dBatchDeselectAll() {
$(result).find('input[name=pages]:checked').each((_, e) => {
e.click();
});
}
});
form.append({
type: 'checkbox',
name: 'pages',
id: 'tw-dbatch-pages',
shiftClickSupport: true,
list: $.map(Twinkle.batchdelete.pages, (e) => e)
});
form.append({ type: 'submit' });
var result = form.render();
apiobj.params.Window.setContent(result);
Morebits.QuickForm.getElements(result, 'pages').forEach(Twinkle.generateArrowLinks);
}), statelem);
wikipediaApi.params = { form: form, Window: Window };
wikipediaApi.post();
};
Twinkle.batchdelete.generateNewPageList = function(form) {
const elements = form.elements.pages;
if (elements instanceof NodeList) {
for (let i = 0; i < elements.length; ++i) {
Twinkle.batchdelete.pages[elements[i].value].checked = elements[i].checked;
}
} else if (elements instanceof HTMLInputElement) {
Twinkle.batchdelete.pages[elements.value].checked = elements.checked;
}
return new Morebits.QuickForm.Element({
type: 'checkbox',
name: 'pages',
id: 'tw-dbatch-pages',
shiftClickSupport: true,
list: $.map(Twinkle.batchdelete.pages, (e) => e)
}).render();
};
Twinkle.batchdelete.callback.toggleSubpages = function twDbatchToggleSubpages(e) {
const form = e.target.form;
let newPageList;
if (e.target.checked) {
form.delete_subpage_redirects.checked = form.delete_redirects.checked;
form.delete_subpage_talks.checked = form.delete_talk.checked;
form.unlink_subpages.checked = form.unlink_page.checked;
if (subpagesLoaded) {
$.each(Twinkle.batchdelete.pages, (i, el) => {
if (el.subgroup === null && el.subgroupBeforeDeletion) {
el.subgroup = el.subgroupBeforeDeletion;
}
});
newPageList = Twinkle.batchdelete.generateNewPageList(form);
$('#tw-dbatch-pages').replaceWith(newPageList);
Morebits.QuickForm.getElements(newPageList, 'pages').forEach(Twinkle.generateArrowLinks);
Morebits.QuickForm.getElements(newPageList, 'pages.subpages').forEach(Twinkle.generateArrowLinks);
return;
}
const loadingText = '<strong id="dbatch-subpage-loading">Soo dejinaya... </strong>';
$(e.target).after(loadingText);
const pages = $(form.pages).map((i, el) => el.value).get();
const subpageLister = new Morebits.BatchOperation();
subpageLister.setOption('chunkSize', Twinkle.getPref('batchChunks'));
subpageLister.setPageList(pages);
subpageLister.run((pageName) => {
const pageTitle = mw.Title.newFromText(pageName);
if ([0, 6, 8].includes(pageTitle.namespace)) {
subpageLister.workerSuccess();
return;
}
const wikipediaApi = new Morebits.wiki.Api('Soo qaadaya liiska hoos-boggaga ee ' + pageName, {
action: 'query',
prop: 'revisions|info|imageinfo',
generator: 'allpages',
rvprop: 'size',
inprop: 'protection',
gapprefix: pageTitle.title + '/',
gapnamespace: pageTitle.namespace,
gaplimit: 'max',
format: 'json'
}, ((apiobj) => {
const response = apiobj.getResponse();
const pages = (response.query && response.query.pages) || [];
const subpageList = [];
pages.sort(Twinkle.sortByNamespace);
pages.forEach((page) => {
const metadata = [];
if (page.redirect) {
metadata.push('dib-u-jeedin');
}
const editProt = page.protection.filter((pr) => pr.type === 'edit' && pr.level === 'sysop').pop();
if (editProt) {
metadata.push('la ilaaliyay si buuxda' +
(editProt.expiry === 'infinity' ? ' si aan xad lahayn' : ', wuxuu dhacayaa ' + new Morebits.Date(editProt.expiry).calendar('utc') + ' (UTC)'));
}
if (page.ns === 6) {
metadata.push('soo geliyaha: ' + page.imageinfo[0].user);
metadata.push('tifatirkii ugu dambeeyay ee ka yimid: ' + page.revisions[0].user);
} else {
metadata.push(mw.language.convertNumber(page.revisions[0].size) + ' bytes');
}
const title = page.title;
subpageList.push({
label: title + (metadata.length ? ' (' + metadata.join('; ') + ')' : ''),
value: title,
checked: true,
style: editProt ? 'color:red' : ''
});
});
if (subpageList.length) {
const pageName = apiobj.params.pageNameFull;
Twinkle.batchdelete.pages[pageName].subgroup = {
type: 'checkbox',
name: 'subpages',
className: 'dbatch-subpages',
shiftClickSupport: true,
list: subpageList
};
}
subpageLister.workerSuccess();
}), null, (() => {
subpageLister.workerFailure();
}));
wikipediaApi.params = { pageNameFull: pageName };
wikipediaApi.post();
}, () => {
newPageList = Twinkle.batchdelete.generateNewPageList(form);
$('#tw-dbatch-pages').replaceWith(newPageList);
Morebits.QuickForm.getElements(newPageList, 'pages').forEach(Twinkle.generateArrowLinks);
Morebits.QuickForm.getElements(newPageList, 'pages.subpages').forEach(Twinkle.generateArrowLinks);
subpagesLoaded = true;
$('#dbatch-subpage-loading').remove();
});
} else if (!e.target.checked) {
$.each(Twinkle.batchdelete.pages, (i, el) => {
if (el.subgroup) {
el.subgroupBeforeDeletion = el.subgroup;
el.subgroup = null;
}
});
newPageList = Twinkle.batchdelete.generateNewPageList(form);
$('#tw-dbatch-pages').replaceWith(newPageList);
Morebits.QuickForm.getElements(newPageList, 'pages').forEach(Twinkle.generateArrowLinks);
}
};
Twinkle.batchdelete.callback.evaluate = function twinklebatchdeleteCallbackEvaluate(event) {
Morebits.wiki.actionCompleted.notice = 'Tirtiridda wadareed waa la dhammeeyay';
const form = event.target;
const numProtected = $(Morebits.QuickForm.getElements(form, 'pages')).filter((index, element) => element.checked && element.nextElementSibling.style.color === 'red').length;
if (numProtected > 0 && !confirm('Waxaad ku dhowdahay inaad tirtirto ' + mw.language.convertNumber(numProtected) + ' bog(og) si buuxda loo ilaaliyay. Ma hubtaa?')) {
return;
}
const input = Morebits.QuickForm.getInputData(form);
if (!input.reason) {
alert('Waa inaad bixisaa sabab!');
return;
}
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
if (!input.pages || input.pages.length === 0) {
Morebits.Status.error('Khalad', 'ma jiraan wax la tirtirayo, waa la joojinayaa');
return;
}
const pageDeleter = new Morebits.BatchOperation(input.delete_page ? 'Tirtiraya boggaga' : 'Bilaabaya hawlaha la codsaday');
pageDeleter.setOption('chunkSize', Twinkle.getPref('batchChunks'));
pageDeleter.setOption('preserveIndividualStatusLines', input.delete_page);
pageDeleter.setPageList(input.pages);
pageDeleter.run((pageName) => {
const params = {
page: pageName,
delete_page: input.delete_page,
delete_talk: input.delete_talk,
delete_redirects: input.delete_redirects,
unlink_page: input.unlink_page,
unlink_file: input.unlink_file && new RegExp('^' + Morebits.namespaceRegex(6) + ':', 'i').test(pageName),
reason: input.reason,
pageDeleter: pageDeleter
};
const wikipediaPage = new Morebits.wiki.Page(pageName, 'Tirtiraya bogga ' + pageName);
wikipediaPage.setCallbackParameters(params);
if (input.delete_page) {
wikipediaPage.setEditSummary(input.reason);
wikipediaPage.setChangeTags(Twinkle.changeTags);
wikipediaPage.suppressProtectWarning();
wikipediaPage.deletePage(Twinkle.batchdelete.callbacks.doExtras, pageDeleter.workerFailure);
} else {
Twinkle.batchdelete.callbacks.doExtras(wikipediaPage);
}
}, () => {
if (input.delete_subpages && input.subpages) {
const subpageDeleter = new Morebits.BatchOperation('Tirtiraya hoos-boggaga');
subpageDeleter.setOption('chunkSize', Twinkle.getPref('batchChunks'));
subpageDeleter.setOption('preserveIndividualStatusLines', true);
subpageDeleter.setPageList(input.subpages);
subpageDeleter.run((pageName) => {
const params = {
page: pageName,
delete_page: true,
delete_talk: input.delete_subpage_talks,
delete_redirects: input.delete_subpage_redirects,
unlink_page: input.unlink_subpages,
unlink_file: false,
reason: input.reason,
pageDeleter: subpageDeleter
};
const wikipediaPage = new Morebits.wiki.Page(pageName, 'Tirtiraya hoos-bogga ' + pageName);
wikipediaPage.setCallbackParameters(params);
wikipediaPage.setEditSummary(input.reason);
wikipediaPage.setChangeTags(Twinkle.changeTags);
wikipediaPage.suppressProtectWarning();
wikipediaPage.deletePage(Twinkle.batchdelete.callbacks.doExtras, pageDeleter.workerFailure);
});
}
});
};
Twinkle.batchdelete.callbacks = {
doExtras: function(thingWithParameters) {
const params = thingWithParameters.parent ? thingWithParameters.parent.getCallbackParameters() :
thingWithParameters.getCallbackParameters();
params.pageDeleter.workerSuccess(thingWithParameters);
let query, wikipediaApi;
if (params.unlink_page) {
Twinkle.batchdelete.unlinkCache = {};
query = {
action: 'query',
list: 'backlinks',
blfilterredir: 'nonredirects',
blnamespace: [0, 100],
bltitle: params.page,
bllimit: 'max',
format: 'json'
};
wikipediaApi = new Morebits.wiki.Api('Soo qaadaya xiriirinta dhabarka', query, Twinkle.batchdelete.callbacks.unlinkBacklinksMain);
wikipediaApi.params = params;
wikipediaApi.post();
}
if (params.unlink_file) {
query = {
action: 'query',
list: 'imageusage',
iutitle: params.page,
iulimit: 'max',
format: 'json'
};
wikipediaApi = new Morebits.wiki.Api('Soo qaadaya xiriirinta faylka', query, Twinkle.batchdelete.callbacks.unlinkImageInstancesMain);
wikipediaApi.params = params;
wikipediaApi.post();
}
if (params.delete_page) {
if (params.delete_redirects) {
query = {
action: 'query',
titles: params.page,
prop: 'redirects',
rdlimit: 'max',
format: 'json'
};
wikipediaApi = new Morebits.wiki.Api('Soo qaadaya dib-u-jeedinta', query, Twinkle.batchdelete.callbacks.deleteRedirectsMain);
wikipediaApi.params = params;
wikipediaApi.post();
}
if (params.delete_talk) {
const pageTitle = mw.Title.newFromText(params.page);
if (pageTitle && pageTitle.namespace % 2 === 0 && pageTitle.namespace !== 2) {
pageTitle.namespace++;
query = {
action: 'query',
titles: pageTitle.toText(),
format: 'json'
};
wikipediaApi = new Morebits.wiki.Api('Hubinta inuu bogga wada-hadalku jiro', query, Twinkle.batchdelete.callbacks.deleteTalk);
wikipediaApi.params = params;
wikipediaApi.params.talkPage = pageTitle.toText();
wikipediaApi.post();
}
}
}
},
deleteRedirectsMain: function(apiobj) {
const response = apiobj.getResponse();
let pages = response.query.pages[0].redirects || [];
pages = pages.map((redirect) => redirect.title);
if (!pages.length) {
return;
}
const redirectDeleter = new Morebits.BatchOperation('Tirtiraya dib-u-jeedinta ku socota ' + apiobj.params.page);
redirectDeleter.setOption('chunkSize', Twinkle.getPref('batchChunks'));
redirectDeleter.setPageList(pages);
redirectDeleter.run((pageName) => {
const wikipediaPage = new Morebits.wiki.Page(pageName, 'Tirtiraya ' + pageName);
wikipediaPage.setEditSummary('[[WP:CSD#G8|G8]]: Dib-u-jeedin ku socota bogga la tirtiray [[' + apiobj.params.page + ']]');
wikipediaPage.setChangeTags(Twinkle.changeTags);
wikipediaPage.deletePage(redirectDeleter.workerSuccess, redirectDeleter.workerFailure);
});
},
deleteTalk: function(apiobj) {
const response = apiobj.getResponse();
if (response.query.pages[0].missing) {
return;
}
const page = new Morebits.wiki.Page(apiobj.params.talkPage, 'Tirtiraya bogga wada-hadalka ee bogga ' + apiobj.params.page);
page.setEditSummary('[[WP:CSD#G8|G8]]: [[Help:Talk page|Bogga wada-hadalka]] ee bogga la tirtiray [[' + apiobj.params.page + ']]');
page.setChangeTags(Twinkle.changeTags);
page.deletePage();
},
unlinkBacklinksMain: function(apiobj) {
const response = apiobj.getResponse();
let pages = response.query.backlinks || [];
pages = pages.map((page) => page.title);
if (!pages.length) {
return;
}
const unlinker = new Morebits.BatchOperation('Ka goynaya xiriirinta dhabarka ee ku socota ' + apiobj.params.page);
unlinker.setOption('chunkSize', Twinkle.getPref('batchChunks'));
unlinker.setPageList(pages);
unlinker.run((pageName) => {
const wikipediaPage = new Morebits.wiki.Page(pageName, 'Ka goynaya xiriirinta bogga ' + pageName);
const params = $.extend({}, apiobj.params);
params.title = pageName;
params.unlinker = unlinker;
wikipediaPage.setCallbackParameters(params);
wikipediaPage.load(Twinkle.batchdelete.callbacks.unlinkBacklinks);
});
},
unlinkBacklinks: function(pageobj) {
const params = pageobj.getCallbackParameters();
if (!pageobj.exists()) {
params.unlinker.workerSuccess(pageobj);
return;
}
let text;
if (params.title in Twinkle.batchdelete.unlinkCache) {
text = Twinkle.batchdelete.unlinkCache[params.title];
} else {
text = pageobj.getPageText();
}
const oldText = text;
const wikiPage = new Morebits.wikitext.Page(text);
text = wikiPage.removeLink(params.page).getText();
Twinkle.batchdelete.unlinkCache[params.title] = text;
if (text === oldText) {
params.unlinker.workerSuccess(pageobj);
return;
}
pageobj.setEditSummary('Ka saaraya xiriirinta ku socota bogga la tirtiray ' + params.page);
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setPageText(text);
pageobj.setCreateOption('nocreate');
pageobj.setMaxConflictRetries(10);
pageobj.save(params.unlinker.workerSuccess, params.unlinker.workerFailure);
},
unlinkImageInstancesMain: function(apiobj) {
const response = apiobj.getResponse();
let pages = response.query.imageusage || [];
pages = pages.map((page) => page.title);
if (!pages.length) {
return;
}
const unlinker = new Morebits.BatchOperation('Ka goynaya xiriirinta faylka ee ku socota ' + apiobj.params.page);
unlinker.setOption('chunkSize', Twinkle.getPref('batchChunks'));
unlinker.setPageList(pages);
unlinker.run((pageName) => {
const wikipediaPage = new Morebits.wiki.Page(pageName, 'Ka saaraya adeegsiga faylka bogga ' + pageName);
const params = $.extend({}, apiobj.params);
params.title = pageName;
params.unlinker = unlinker;
wikipediaPage.setCallbackParameters(params);
wikipediaPage.load(Twinkle.batchdelete.callbacks.unlinkImageInstances);
});
},
unlinkImageInstances: function(pageobj) {
const params = pageobj.getCallbackParameters();
if (!pageobj.exists()) {
params.unlinker.workerSuccess(pageobj);
return;
}
const image = params.page.replace(new RegExp('^' + Morebits.namespaceRegex(6) + ':'), '');
let text;
if (params.title in Twinkle.batchdelete.unlinkCache) {
text = Twinkle.batchdelete.unlinkCache[params.title];
} else {
text = pageobj.getPageText();
}
const oldText = text;
const wikiPage = new Morebits.wikitext.Page(text);
text = wikiPage.commentOutImage(image, 'Faallo la geliyay sababtoo ah faylka waa la tirtiray').getText();
Twinkle.batchdelete.unlinkCache[params.title] = text;
if (text === oldText) {
pageobj.getStatusElement().error('way ku guuldareysatay in la ka gooyo faylka ' + image + ' bogga ' + pageobj.getPageName());
params.unlinker.workerFailure(pageobj);
return;
}
pageobj.setEditSummary('Ka saaraya tusaalaha faylka ' + image + ' ee la tirtiray sababtoo ah "' + params.reason + '")');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setPageText(text);
pageobj.setCreateOption('nocreate');
pageobj.setMaxConflictRetries(10);
pageobj.save(params.unlinker.workerSuccess, params.unlinker.workerFailure);
}
};
Twinkle.addInitCallback(Twinkle.batchdelete, 'batchdelete');
}());
// </nowiki>
bsbjarrboy8680p0h902ci08lpo3sze
MediaWiki:Gadget-twinklebatchprotect.js
8
53688
310878
2026-10-25T11:44:05Z
Isma4l
41797
Abuuray
310878
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinklebatchprotect.js: Qaybta Dhowridda Wadareed (maamulayaasha kaliya)
****************************************
* Qaabka loo yeero: Tab ("P-batch")
* Ka shaqeeya: Boggaga mashruuca iyo boggaga isticmaalaha ee jira; qaybaha
* jira iyo kuwa aan jirin; Special:PrefixIndex
*/
Twinkle.batchprotect = function twinklebatchprotect() {
if (Morebits.userIsSysop && ((mw.config.get('wgArticleId') > 0 && (mw.config.get('wgNamespaceNumber') === 2 ||
mw.config.get('wgNamespaceNumber') === 4)) || mw.config.get('wgNamespaceNumber') === 14 ||
mw.config.get('wgCanonicalSpecialPageName') === 'Prefixindex')) {
Twinkle.addPortletLink(Twinkle.batchprotect.callback, 'P-batch', 'tw-pbatch', 'Dhowr boggaga ka xiriirsan boggan');
}
};
Twinkle.batchprotect.unlinkCache = {};
Twinkle.batchprotect.callback = function twinklebatchprotectCallback() {
const Window = new Morebits.SimpleWindow(600, 400);
Window.setTitle('Dhowridda wadareed');
Window.setScriptName('Twinkle');
Window.addFooterLink('Huuriska dhowridda', 'WP:PROT');
Window.addFooterLink('Caawinta Twinkle', 'WP:TW/DOC#protect');
Window.addFooterLink('Bixi ra’yi-celin', 'WT:TW');
const form = new Morebits.QuickForm(Twinkle.batchprotect.callback.evaluate);
form.append({
type: 'checkbox',
event: Twinkle.protect.formevents.editmodify,
list: [
{
label: 'Wax ka baddal dhowridda tafatirka',
value: 'editmodify',
name: 'editmodify',
tooltip: 'Keliya boggaga jira.',
checked: true
}
]
});
form.append({
type: 'select',
name: 'editlevel',
label: 'Dhowridda tafatirka:',
event: Twinkle.protect.formevents.editlevel,
list: Twinkle.protect.protectionLevels
});
form.append({
type: 'select',
name: 'editexpiry',
label: 'Wuxuu dhacayaa:',
event: function(e) {
if (e.target.value === 'custom') {
Twinkle.protect.doCustomExpiry(e.target);
}
},
list: Twinkle.protect.protectionLengths
});
form.append({
type: 'checkbox',
event: Twinkle.protect.formevents.movemodify,
list: [
{
label: 'Wax ka baddal dhowridda geeynta',
value: 'movemodify',
name: 'movemodify',
tooltip: 'Keliya boggaga jira.',
checked: true
}
]
});
form.append({
type: 'select',
name: 'movelevel',
label: 'Dhowridda geeynta:',
event: Twinkle.protect.formevents.movelevel,
list: Twinkle.protect.protectionLevels.filter((level) => level.value !== 'autoconfirmed')
});
form.append({
type: 'select',
name: 'moveexpiry',
label: 'Wuxuu dhacayaa:',
event: function(e) {
if (e.target.value === 'custom') {
Twinkle.protect.doCustomExpiry(e.target);
}
},
list: Twinkle.protect.protectionLengths
});
form.append({
type: 'checkbox',
event: function twinklebatchprotectFormCreatemodifyEvent(e) {
e.target.form.createlevel.disabled = !e.target.checked;
e.target.form.createexpiry.disabled = !e.target.checked || (e.target.form.createlevel.value === 'all');
e.target.form.createlevel.style.color = e.target.form.createexpiry.style.color = e.target.checked ? '' : 'transparent';
},
list: [
{
label: 'Wax ka baddal dhowridda samaynta',
value: 'createmodify',
name: 'createmodify',
tooltip: 'Keliya boggaga aan jirin.',
checked: true
}
]
});
form.append({
type: 'select',
name: 'createlevel',
label: 'Dhowridda samaynta:',
event: Twinkle.protect.formevents.createlevel,
list: Twinkle.protect.protectionLevels
});
form.append({
type: 'select',
name: 'createexpiry',
label: 'Wuxuu dhacayaa:',
event: function(e) {
if (e.target.value === 'custom') {
Twinkle.protect.doCustomExpiry(e.target);
}
},
list: Twinkle.protect.protectionLengths
});
form.append({
type: 'header',
label: ''
});
form.append({
type: 'input',
name: 'reason',
label: 'Sababta:',
size: 60,
tooltip: 'Wadarta dhowridda iyo taariikhda bogga.'
});
const query = {
action: 'query',
prop: 'revisions|info|imageinfo',
rvprop: 'size|user',
inprop: 'protection',
format: 'json'
};
if (mw.config.get('wgNamespaceNumber') === 14) {
query.generator = 'categorymembers';
query.gcmtitle = mw.config.get('wgPageName');
query.gcmlimit = Twinkle.getPref('batchMax');
} else if (mw.config.get('wgCanonicalSpecialPageName') === 'Prefixindex') {
query.generator = 'allpages';
query.gapnamespace = mw.util.getParamValue('namespace') || $('select[name=namespace]').val();
query.gapprefix = mw.util.getParamValue('prefix') || $('input[name=prefix]').val();
query.gaplimit = Twinkle.getPref('batchMax');
} else {
query.generator = 'links';
query.titles = mw.config.get('wgPageName');
query.gpllimit = Twinkle.getPref('batchMax');
}
const statusdiv = document.createElement('div');
statusdiv.style.padding = '15px';
Window.setContent(statusdiv);
Morebits.Status.init(statusdiv);
Window.display();
const statelem = new Morebits.Status('Soo qaadaya liiska boggaga');
const wikipediaApi = new Morebits.wiki.Api('soo dejinaya...', query, ((apiobj) => {
const response = apiobj.getResponse();
const pages = (response.query && response.query.pages) || [];
const list = [];
pages.sort(Twinkle.sortByNamespace);
pages.forEach((page) => {
const metadata = [];
const missing = !!page.missing;
let editProt;
if (missing) {
metadata.push('boggu ma jiro');
editProt = page.protection.filter((pr) => pr.type === 'create' && pr.level === 'sysop').pop();
} else {
if (page.redirect) {
metadata.push('dib-u-jeedin');
}
if (page.ns === 6) {
metadata.push('soo geliyaha: ' + page.imageinfo[0].user);
metadata.push('tifatirkii ugu dambeeyay ee ka yimid: ' + page.revisions[0].user);
} else {
metadata.push(mw.language.convertNumber(page.revisions[0].size) + ' bytes');
}
editProt = page.protection
.filter((pr) => pr.type === 'edit' && pr.level === 'sysop')
.pop();
}
if (editProt) {
metadata.push('la ilaaliyay si buuxda' + (missing ? ' samaynta' : '') +
(editProt.expiry === 'infinity' ? ' si aan xad lahayn' : ', wuxuu dhacayaa ' + new Morebits.Date(editProt.expiry).calendar('utc') + ' (UTC)'));
}
const title = page.title;
list.push({ label: title + (metadata.length ? ' (' + metadata.join('; ') + ')' : ''), value: title, checked: true, style: editProt ? 'color:red' : '' });
});
form.append({ type: 'header', label: 'Boggaga la dhowrayo' });
form.append({
type: 'button',
label: 'Dooro Dhammaan',
event: function(e) {
$(Morebits.QuickForm.getElements(e.target.form, 'pages')).prop('checked', true);
}
});
form.append({
type: 'button',
label: 'Ka reeb Dhammaan',
event: function(e) {
$(Morebits.QuickForm.getElements(e.target.form, 'pages')).prop('checked', false);
}
});
form.append({
type: 'checkbox',
name: 'pages',
shiftClickSupport: true,
list: list
});
form.append({ type: 'submit' });
const result = form.render();
Window.setContent(result);
result.editexpiry.value = '2 days';
result.moveexpiry.value = '2 days';
result.createexpiry.value = 'infinity';
Morebits.QuickForm.getElements(result, 'pages').forEach(Twinkle.generateArrowLinks);
}), statelem);
wikipediaApi.post();
};
Twinkle.batchprotect.currentProtectCounter = 0;
Twinkle.batchprotect.currentprotector = 0;
Twinkle.batchprotect.callback.evaluate = function twinklebatchprotectCallbackEvaluate(event) {
Morebits.wiki.actionCompleted.notice = 'Dhowridda wadareed waa la dhammeeyay';
const form = event.target;
const numProtected = $(Morebits.QuickForm.getElements(form, 'pages'))
.filter((index, element) => element.checked && element.nextElementSibling.style.color === 'red')
.length;
if (numProtected > 0 && !confirm('Waxaad ku dhowdahay inaad wax ka baddasho ' + mw.language.convertNumber(numProtected) + ' bog(og) si buuxda loo ilaaliyay. Ma hubtaa?')) {
return;
}
const input = Morebits.QuickForm.getInputData(form);
if (!input.reason) {
alert('Waa inaad bixisaa sabab!');
return;
}
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(form);
if (input.pages.length === 0) {
Morebits.Status.error('Khalad', 'Ma jiraan wax la dhowrayo, waa la joojinayaa');
return;
}
const batchOperation = new Morebits.BatchOperation('Dhabar-adayginaya dejinta dhowridda');
batchOperation.setOption('chunkSize', Twinkle.getPref('batchChunks'));
batchOperation.setOption('preserveIndividualStatusLines', true);
batchOperation.setPageList(input.pages);
batchOperation.run((pageName) => {
const query = {
action: 'query',
titles: pageName,
format: 'json'
};
const wikipediaApi = new Morebits.wiki.Api('Hubinta in bogga ' + pageName + ' uu jiro', query,
Twinkle.batchprotect.callbacks.main, null, batchOperation.workerFailure);
wikipediaApi.params = $.extend({
page: pageName,
batchOperation: batchOperation
}, input);
wikipediaApi.post();
});
};
Twinkle.batchprotect.callbacks = {
main: function(apiobj) {
const response = apiobj.getResponse();
if (response.query.normalized) {
apiobj.params.page = response.query.normalized[0].to;
}
const exists = !response.query.pages[0].missing;
const page = new Morebits.wiki.Page(apiobj.params.page, 'Dhowraya ' + apiobj.params.page);
let takenAction = false;
if (exists && apiobj.params.editmodify) {
page.setEditProtection(apiobj.params.editlevel, apiobj.params.editexpiry);
takenAction = true;
}
if (exists && apiobj.params.movemodify) {
page.setMoveProtection(apiobj.params.movelevel, apiobj.params.moveexpiry);
takenAction = true;
}
if (!exists && apiobj.params.createmodify) {
page.setCreateProtection(apiobj.params.createlevel, apiobj.params.createexpiry);
takenAction = true;
}
if (!takenAction) {
Morebits.Status.warn('Dhowraya ' + apiobj.params.page, 'boggu ' + (exists ? 'waa uu jiraa' : 'ma jiro') + '; ma jiro wax la qabto, waa la dhaafayaa');
apiobj.params.batchOperation.workerFailure(apiobj);
return;
}
page.setEditSummary(apiobj.params.reason);
page.setChangeTags(Twinkle.changeTags);
page.protect(apiobj.params.batchOperation.workerSuccess, apiobj.params.batchOperation.workerFailure);
}
};
Twinkle.addInitCallback(Twinkle.batchprotect, 'batchprotect');
}());
// </nowiki>
c622f1ewjyzylkli5ex5kpibf3gnpav
MediaWiki:Gadget-twinklebatchundelete.js
8
53689
310879
2026-10-25T11:45:21Z
Isma4l
41797
Abuuray
310879
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinklebatchundelete.js: Qaybta Soo-celinta Wadareed (maamulayaasha kaliya)
****************************************
* Qaabka loo yeero: Tab ("Und-batch")
* Ka shaqeeya: Boggaga isticmaalaha iyo boggaga mashruuca ee jira
*/
Twinkle.batchundelete = function twinklebatchundelete() {
if (!Morebits.userIsSysop || !mw.config.get('wgArticleId') || (
mw.config.get('wgNamespaceNumber') !== mw.config.get('wgNamespaceIds').user &&
mw.config.get('wgNamespaceNumber') !== mw.config.get('wgNamespaceIds').project)) {
return;
}
Twinkle.addPortletLink(Twinkle.batchundelete.callback, 'Und-batch', 'tw-batch-undel', 'Soo celi dhammaan');
};
Twinkle.batchundelete.callback = function twinklebatchundeleteCallback() {
const Window = new Morebits.SimpleWindow(600, 400);
Window.setScriptName('Twinkle');
Window.setTitle('Soo-celinta wadareed');
Window.addFooterLink('Caawinta Twinkle', 'WP:TW/DOC#batchundelete');
Window.addFooterLink('Bixi ra’yi-celin', 'WT:TW');
const form = new Morebits.QuickForm(Twinkle.batchundelete.callback.evaluate);
form.append({
type: 'checkbox',
list: [
{
label: 'Soo celi boggaga wada-hadalka ee boggaga la soo celiyay haddii ay jiri jireen',
name: 'undel_talk',
value: 'undel_talk',
checked: true
}
]
});
form.append({
type: 'input',
name: 'reason',
label: 'Sababta:',
size: 60
});
const statusdiv = document.createElement('div');
statusdiv.style.padding = '15px';
Window.setContent(statusdiv);
Morebits.Status.init(statusdiv);
Window.display();
const query = {
action: 'query',
generator: 'links',
prop: 'info',
inprop: 'protection',
titles: mw.config.get('wgPageName'),
gpllimit: Twinkle.getPref('batchMax'),
format: 'json'
};
const statelem = new Morebits.Status('Soo qaadaya liiska boggaga');
const wikipediaApi = new Morebits.wiki.Api('soo dejinaya...', query, ((apiobj) => {
const response = apiobj.getResponse();
let pages = (response.query && response.query.pages) || [];
pages = pages.filter((page) => page.missing);
const list = [];
pages.sort(Twinkle.sortByNamespace);
pages.forEach((page) => {
const editProt = page.protection.filter((pr) => pr.type === 'create' && pr.level === 'sysop').pop();
const title = page.title;
list.push({
label: title + (editProt ? ' (samaynta waxaa loo ilaaliyay si buuxda' +
(editProt.expiry === 'infinity' ? ' si aan xad lahayn' : ', wuxuu dhacayaa ' + new Morebits.Date(editProt.expiry).calendar('utc') + ' (UTC)') + ')' : ''),
value: title,
checked: true,
style: editProt ? 'color:red' : ''
});
});
apiobj.params.form.append({ type: 'header', label: 'Boggaga la soo celinayo' });
apiobj.params.form.append({
type: 'button',
label: 'Dooro Dhammaan',
event: function(e) {
$(Morebits.QuickForm.getElements(e.target.form, 'pages')).prop('checked', true);
}
});
apiobj.params.form.append({
type: 'button',
label: 'Ka reeb Dhammaan',
event: function(e) {
$(Morebits.QuickForm.getElements(e.target.form, 'pages')).prop('checked', false);
}
});
apiobj.params.form.append({
type: 'checkbox',
name: 'pages',
shiftClickSupport: true,
list: list
});
apiobj.params.form.append({ type: 'submit' });
const result = apiobj.params.form.render();
apiobj.params.Window.setContent(result);
Morebits.QuickForm.getElements(result, 'pages').forEach(Twinkle.generateArrowLinks);
}), statelem);
wikipediaApi.params = { form: form, Window: Window };
wikipediaApi.post();
};
Twinkle.batchundelete.callback.evaluate = function(event) {
Morebits.wiki.actionCompleted.notice = 'Soo-celinta wadareed waa la dhammeeyay';
const numProtected = Morebits.QuickForm.getElements(event.target, 'pages').filter((element) => element.checked && element.nextElementSibling.style.color === 'red').length;
if (numProtected > 0 && !confirm('Waxaad ku dhowdahay inaad soo celiso ' + numProtected + ' bog(og) oo samayto-dhowr buuxa leh. Ma hubtaa?')) {
return;
}
const input = Morebits.QuickForm.getInputData(event.target);
if (!input.reason) {
alert('Waa inaad bixisaa sabab!');
return;
}
Morebits.SimpleWindow.setButtonsEnabled(false);
Morebits.Status.init(event.target);
if (!input.pages || !input.pages.length) {
Morebits.Status.error('Khalad', 'Ma jiraan wax la soo celinayo, waa la joojinayaa');
return;
}
const pageUndeleter = new Morebits.BatchOperation('Soo celinaya boggaga');
pageUndeleter.setOption('chunkSize', Twinkle.getPref('batchChunks'));
pageUndeleter.setOption('preserveIndividualStatusLines', true);
pageUndeleter.setPageList(input.pages);
pageUndeleter.run((pageName) => {
const params = {
page: pageName,
undel_talk: input.undel_talk,
reason: input.reason,
pageUndeleter: pageUndeleter
};
const wikipediaPage = new Morebits.wiki.Page(pageName, 'Soo celinaya bogga ' + pageName);
wikipediaPage.setCallbackParameters(params);
wikipediaPage.setEditSummary(input.reason);
wikipediaPage.setChangeTags(Twinkle.changeTags);
wikipediaPage.suppressProtectWarning();
wikipediaPage.setMaxRetries(3);
wikipediaPage.undeletePage(Twinkle.batchundelete.callbacks.doExtras, pageUndeleter.workerFailure);
});
};
Twinkle.batchundelete.callbacks = {
doExtras: function(thingWithParameters) {
const params = thingWithParameters.parent ? thingWithParameters.parent.getCallbackParameters() :
thingWithParameters.getCallbackParameters();
params.pageUndeleter.workerSuccess(thingWithParameters);
let query, wikipediaApi;
if (params.undel_talk) {
const talkpagename = new mw.Title(params.page).getTalkPage().getPrefixedText();
if (talkpagename !== params.page) {
query = {
action: 'query',
prop: 'deletedrevisions',
drvprop: 'ids',
drvlimit: 1,
titles: talkpagename,
format: 'json'
};
wikipediaApi = new Morebits.wiki.Api('Hubinta bogga wada-hadalka ee dib-u-eegisyada la tirtiray', query, Twinkle.batchundelete.callbacks.undeleteTalk);
wikipediaApi.params = params;
wikipediaApi.params.talkPage = talkpagename;
wikipediaApi.post();
}
}
},
undeleteTalk: function(apiobj) {
const page = apiobj.getResponse().query.pages[0];
const exists = !page.missing;
const delrevs = page.deletedrevisions && page.deletedrevisions[0].revid;
if (exists || !delrevs) {
return;
}
const talkpage = new Morebits.wiki.Page(apiobj.params.talkPage, 'Soo celinaya bogga wada-hadalka ee ' + apiobj.params.page);
talkpage.setEditSummary('Soo celinaya [[Help:Talk page|bogga wada-hadalka]] ee "' + apiobj.params.page + '"');
talkpage.setChangeTags(Twinkle.changeTags);
talkpage.undeletePage();
}
};
Twinkle.addInitCallback(Twinkle.batchundelete, 'batchundelete');
}());
// </nowiki>
tp8n0xb16ub7un9mf898essb1p6neqw
MediaWiki:Gadget-twinkleconfig.js
8
53690
310880
2026-10-25T11:47:39Z
Isma4l
41797
Abuuray
310880
javascript
text/javascript
// <nowiki>
(function() {
/*
****************************************
*** twinkleconfig.js: Qaybta doorbidda
****************************************
* Qaabka loo yeero: Wuxuu ku darayaa foomka qaab-yaynta Wikipedia:Twinkle/Preferences,
wuxuuna ku darayaa sanduuq xayaysiis ah dusha sare ee hoos-boggaga isticmaalaha
ee leh isticmaalaha hadda soo galay oo ku dhammaada '.js'
* Ka shaqeeya: Waxa aan hadda sheegay. Haa.
*/
Twinkle.config = {};
Twinkle.config.watchlistEnums = {
yes: 'Ku dar liiska la socodka (si aan xad lahayn)',
no: "Ha ku darin liiska la socodka",
default: 'Raac doorbidyada boggaaga',
'1 week': 'La soco 1 toddobaad',
'1 month': 'La soco 1 bil',
'3 months': 'La soco 3 bilood',
'6 months': 'La soco 6 bilood'
};
Twinkle.config.commonSets = {
csdCriteria: {
db: 'Sababayn gaar ah ({{db}})',
a1: 'A1', a2: 'A2', a3: 'A3', a7: 'A7', a9: 'A9', a10: 'A10', a11: 'A11',
c1: 'C1', c4: 'C4',
f1: 'F1', f2: 'F2', f3: 'F3', f7: 'F7', f8: 'F8', f9: 'F9',
g1: 'G1', g2: 'G2', g3: 'G3', g4: 'G4', g5: 'G5', g6: 'G6', g7: 'G7', g8: 'G8', g10: 'G10', g11: 'G11', g12: 'G12', g13: 'G13', g14: 'G14', g15: 'G15',
r2: 'R2', r3: 'R3', r4: 'R4',
t5: 'T5',
u1: 'U1', u2: 'U2', u6: 'U6', u7: 'U7'
},
csdCriteriaNotification: {
db: 'Sababayn gaar ah ({{db}})',
a1: 'A1', a2: 'A2', a3: 'A3', a7: 'A7', a9: 'A9', a10: 'A10', a11: 'A11',
c1: 'C1',
f1: 'F1', f2: 'F2', f3: 'F3', f7: 'F7', f9: 'F9',
g1: 'G1', g2: 'G2', g3: 'G3', g4: 'G4', g5: 'G5 ("xadgudubka ciqaabta guud" kaliya)', g6: 'G6 ("guuritaanka koobi-iyo-dheji" kaliya)', g10: 'G10', g11: 'G11', g12: 'G12', g13: 'G13', g14: 'G14', g15: 'G15',
r2: 'R2', r3: 'R3', r4: 'R4',
u6: 'U6', u7: 'U7'
},
csdAndImageDeletionCriteria: {
db: 'Sababayn gaar ah ({{db}})',
a1: 'A1', a2: 'A2', a3: 'A3', a7: 'A7', a9: 'A9', a10: 'A10', a11: 'A11',
c1: 'C1', c4: 'C4',
f1: 'F1', f2: 'F2', f3: 'F3', f4: 'F4', f5: 'F5', f6: 'F6', f7: 'F7', f8: 'F8', f9: 'F9', f11: 'F11',
g1: 'G1', g2: 'G2', g3: 'G3', g4: 'G4', g5: 'G5', g6: 'G6', g7: 'G7', g8: 'G8', g10: 'G10', g11: 'G11', g12: 'G12', g13: 'G13', g14: 'G14', g15: 'G15',
r2: 'R2', r3: 'R3', r4: 'R4',
t5: 'T5',
u1: 'U1', u2: 'U2', u6: 'U6', u7: 'U7'
},
namespacesNoSpecial: {
0: 'Maqaal',
1: 'Wada-hadal (maqaal)',
2: 'Isticmaale',
3: 'Wada-hadalka isticmaalaha',
4: 'Wikipedia',
5: 'Wada-hadalka Wikipedia',
6: 'Fayl',
7: 'Wada-hadalka faylka',
8: 'MediaWiki',
9: 'Wada-hadalka MediaWiki',
10: 'Qaab',
11: 'Wada-hadalka qaabka',
12: 'Caawimaad',
13: 'Wada-hadalka caawimaada',
14: 'Qayb',
15: 'Wada-hadalka qaybta',
100: 'Bogga hordhaca ah',
101: 'Wada-hadalka bogga hordhaca ah',
118: 'Qabyo',
119: 'Wada-hadalka qabyada',
710: 'TimedText',
711: 'Wada-hadalka TimedText',
828: 'Module',
829: 'Wada-hadalka module-ka'
}
};
Twinkle.config.commonSets.csdCriteriaDisplayOrder = Object.keys(Twinkle.config.commonSets.csdCriteria);
Twinkle.config.commonSets.csdCriteriaNotificationDisplayOrder = Object.keys(Twinkle.config.commonSets.csdCriteriaNotification);
Twinkle.config.commonSets.csdAndImageDeletionCriteriaDisplayOrder = Object.keys(Twinkle.config.commonSets.csdAndImageDeletionCriteria);
Twinkle.config.sections = [
{
title: 'Guud',
module: 'general',
preferences: [
{
name: 'userTalkPageMode',
label: 'Marka la furayo bogga wada-hadalka isticmaalaha, fur',
type: 'enum',
enumValues: { window: 'Daaqad cusub, adigoo beddelaya wada-hadallada kale ee isticmaalaha', tab: 'Tab cusub', blank: 'Daaqad cusub oo dhammaystiran' }
},
{
name: 'dialogLargeFont',
label: 'Isticmaal qoraal ka weyn wada-sheekaysiga Twinkle',
type: 'boolean'
},
{
name: 'disabledModules',
label: 'Demi qaybaha Twinkle ee la doortay',
helptip: 'Wax kasta oo aad halkan ka doorato LAGUMA heli doono isticmaaal, markaa si taxaddar leh u soco. Ka saar calaamadda si aad dib ugu hawlgeliso.',
type: 'set',
setValues: { arv: 'ARV', warn: 'Dig', welcome: 'Soo dhawoow', talkback: 'Talkback', speedy: 'CSD', prod: 'PROD', xfd: 'XfD', image: 'Fayl (DI)', protect: 'Dhowr (RPP)', tag: 'Calaamadi', diff: 'Isbarbardhig', unlink: 'Ka goy xiriirinta', rollback: 'Rogo iyo dib u celi' }
},
{
name: 'disabledSysopModules',
label: 'Demi qaybaha maamulayaasha kaliya ee la doortay',
helptip: 'Wax kasta oo aad halkan ka doorato LAGUMA heli doono isticmaaal, markaa si taxaddar leh u soco. Ka saar calaamadda si aad dib ugu hawlgeliso.',
adminOnly: true,
type: 'set',
setValues: { block: 'Xannib', deprod: 'DePROD', batchdelete: 'Tirtiridda wadareed', batchprotect: 'Dhowridda wadareed', batchundelete: 'Soo-celinta wadareed' }
}
]
},
{
title: 'ARV',
module: 'arv',
preferences: [
{
name: 'spiWatchReport',
label: 'Ku dar boggaga warbixinta lammaanaha liiska la socodka',
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
}
]
},
{
title: 'Xannib isticmaalaha',
module: 'block',
adminOnly: true,
preferences: [
{
name: 'defaultToBlock64',
label: 'Ciwaannada IPv6, dooro ikhtiyaarka ah in la xannibo xadka /64 si caadi ah',
type: 'boolean'
},
{
name: 'defaultToPartialBlocks',
label: 'Dooro xannibaadaha qayb ahaan si caadi ah marka la furayo liiska xannibaadda',
helptip: 'Haddii isticmaalaha horay loo xannibay, tan waa la beddeli doonaa iyadoo la doorbidayo nooca xannibaadda ee hadda',
type: 'boolean'
},
{
name: 'blankTalkpageOnIndefBlock',
label: 'Tirtir bogga wada-hadalka marka si aan xad lahayn loo xannibayo isticmaaleyaasha',
helptip: 'Fiiri <a href="' + mw.util.getUrl('Wikipedia:WikiProject_User_warnings/Usage_and_layout#Indefinitely_blocked_users') + '">WP:UWUL</a> wixii macluumaad dheeraad ah.',
type: 'boolean'
}
]
},
{
title: 'Tirtiridda faylka (DI)',
module: 'image',
preferences: [
{
name: 'notifyUserOnDeli',
label: 'Calaamadi sanduuqa "ogeysii soo geliyaha bilowga ah" si caadi ah',
type: 'boolean'
},
{
name: 'deliWatchPage',
label: 'Ku dar bogga faylka liiska la socodka marka la calaamadinayo',
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
},
{
name: 'deliWatchUser',
label: 'Ku dar bogga wada-hadalka ee soo geliyaha bilowga ah liiska la socodka marka la ogeysiinayo',
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
}
]
},
{
title: 'Dhowridda bogga ' + (Morebits.userIsSysop ? '(PP)' : '(RPP)'),
module: 'protect',
preferences: [
{
name: 'watchRequestedPages',
label: 'Ku dar bogga liiska la socodka marka la codsanayo dhowridda',
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
},
{
name: 'watchPPTaggedPages',
label: 'Ku dar bogga liiska la socodka marka lagu calaamadinayo qaabka dhowridda',
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
},
{
name: 'watchProtectedPages',
label: 'Ku dar bogga liiska la socodka marka la dhowrayo',
helptip: 'Haddii sidoo kale bogga la calaamadiyo dhowridda ka dib, doorbiditaankaas ayaa la mudnaansiin doonaa.',
adminOnly: true,
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
}
]
},
{
title: 'Tirtiridda la soo jeediyay (PROD)',
module: 'prod',
preferences: [
{
name: 'watchProdPages',
label: 'Ku dar maqaalka liiska la socodka marka la dabaqayo qaabka prod',
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
},
{
name: 'markProdPagesAsPatrolled',
label: 'Calaamadi bogga mid la eegay marka la calaamadinayo (haddii ay suurtagal tahay)',
helptip: 'Tani waa inaysan u badnayn in la calaamadiyo maadaama ay ka hor imanayso dhaqanka ugu fiican ee la isla gartay',
type: 'boolean'
},
{
name: 'prodReasonDefault',
label: 'Sababta PROD ee horay loo sii buuxiyay',
type: 'string'
},
{
name: 'logProdPages',
label: 'Ku hay diiwaan meesha isticmaalaha ee dhammaan boggaga aad u calaamadiso PROD',
helptip: 'Maaddaama aanay maamulayaashu lahayn marin ay u helaan tabarucaadooda la tirtiray, diiwaanka meesha isticmaalaha wuxuu bixiyaa hab fiican oo lagula socon karo dhammaan boggaga aad u calaamadiso PROD adigoo isticmaalaya Twinkle.',
type: 'boolean'
},
{
name: 'prodLogPageName',
label: 'Ku hay diiwaanka meesha isticmaalaha ee PROD hoos-boggan isticmaalaha',
helptip: 'Geli magaca hoos-bog sanduuqan. Waxaad ka heli doontaa diiwaankaaga PROD User:<i>username</i>/<i>subpage name</i>. Kaliya wuxuu shaqeeyaa haddii aad shiddo diiwaanka meesha isticmaalaha ee PROD.',
type: 'string'
}
]
},
{
title: 'Rogo iyo dib u celi',
module: 'rollback',
preferences: [
{
name: 'autoMenuAfterRollback',
label: 'Si otomaatig ah u fur liiska digida Twinkle ee bogga wada-hadalka isticmaalaha ka dib dib-u-celinta Twinkle',
helptip: 'Wuxuu shaqeeyaa kaliya haddii sanduuqa khuseeya la calaamadiyay xagga hoose.',
type: 'boolean'
},
{
name: 'openTalkPage',
label: 'Fur bogga wada-hadalka isticmaalaha ka dib noocyadan dib-u-celinta ah',
type: 'set',
setValues: { agf: 'Dib u celinta AGF', norm: 'Dib u celinta caadiga ah', vand: 'Dib u celinta kharibaadda' }
},
{
name: 'openTalkPageOnAutoRevert',
label: 'Fur bogga wada-hadalka isticmaalaha marka laga yeerayo dib-u-celinta tabarucaadka isticmaalaha ama isbeddellada dhow',
helptip: 'Marka tani shidan tahay, xulashooyinka la rabay waa in la hawlgeliyaa qaybtii hore si ay tani u shaqeyso.',
type: 'boolean'
},
{
name: 'rollbackInPlace',
label: 'Ha dib u soo dejin bogga marka dib looga celinayo tabarucaadka ama isbeddellada dhow',
helptip: 'Marka tani shidan tahay, Twinkle dib u soo dejin maayo quudinta tabarucaadka ama isbeddellada dhow ka dib dib u celinta, taasoo kuu oggolaanaysa inaad dib u celiso wax ka badan hal tifatir hal mar.',
type: 'boolean'
},
{
name: 'markRevertedPagesAsMinor',
label: 'Calaamadi sida tifatir yar noocyadan dib-u-celinta ah',
type: 'set',
setValues: { agf: 'Dib u celinta AGF', norm: 'Dib u celinta caadiga ah', vand: 'Dib u celinta kharibaadda', torev: '"Soo celi nuqulkan"' }
},
{
name: 'watchRevertedPages',
label: 'Ku dar boggaga liiska la socodka noocyadan dib-u-celinta ah',
type: 'set',
setValues: { agf: 'Dib u celinta AGF', norm: 'Dib u celinta caadiga ah', vand: 'Dib u celinta kharibaadda', torev: '"Soo celi nuqulkan"' }
},
{
name: 'watchRevertedExpiry',
label: 'Marka dib loo celinayo bog, muddada la la soconayo',
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
},
{
name: 'offerReasonOnNormalRevert',
label: 'Weydii sababta dib u celinta caadiga ah',
helptip: 'Dib u celinta "Caadiga ah" waa kuwa laga yeero xiriirka dhex[rollback].',
type: 'boolean'
},
{
name: 'confirmOnRollback',
label: 'U baahan xaqiijin ka hor inta aan la dib u celin (dhammaan qalabka)',
helptip: 'Isticmaalayaasha qalabka qoraalka ama taabashada, iyo dadka go\'aan la\'aanta joogtada ah hayso.',
type: 'boolean'
},
{
name: 'confirmOnMobileRollback',
label: 'U baahan xaqiijin ka hor inta aan la dib u celin (qalabka gacanta kaliya)',
helptip: 'Iska ilaali dib u celinta shilalka ah marka aad joogto qalabka gacanta.',
type: 'boolean'
},
{
name: 'showRollbackLinks',
label: 'Muuji xiriiriyeyaasha dib-u-celinta boggagani',
type: 'set',
setValues: { diff: 'Boggaga isbarbardhigga', others: 'Boggaga tabarucaadka ee isticmaaleyaasha kale', mine: 'Bogga tabarucaadkayga', recent: 'Isbeddellada dhow iyo boggaga gaarka ah ee la xiriira', history: 'Boggaga taariikhda' }
}
]
},
{
title: 'Tirtiridda degdegga ah (CSD)',
module: 'speedy',
preferences: [
{
name: 'speedySelectionStyle',
label: 'Goorta la sii wado oo la calaamadiyo/tirtiro bogga',
type: 'enum',
enumValues: { buttonClick: 'Marka aan gujiyo "Gudbi"', radioClick: 'Isla marka aan gujiyo ikhtiyaar' }
},
{
name: 'watchSpeedyPages',
label: 'Ku dar bogga liiska la socodka marka la isticmaalayo shuruudahan',
type: 'set',
setValues: Twinkle.config.commonSets.csdCriteria,
setDisplayOrder: Twinkle.config.commonSets.csdCriteriaDisplayOrder
},
{
name: 'watchSpeedyExpiry',
label: 'Marka la calaamadinayo bog, muddada la la soconayo',
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
},
{
name: 'markSpeedyPagesAsPatrolled',
label: 'Calaamadi bogga mid la eegay marka la calaamadinayo (haddii ay suurtagal tahay)',
helptip: 'Tani waa inaysan u badnayn in la calaamadiyo maadaama ay ka hor imanayso dhaqanka ugu fiican ee la isla gartay',
type: 'boolean'
},
{
name: 'watchSpeedyUser',
label: 'Ku dar bogga wada-hadalka ee tabarucaaha bilowga ah liiska la socodka (marka la ogeysiinayo)',
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
},
{
name: 'welcomeUserOnSpeedyDeletionNotification',
label: 'Soo dhawee abuuraha bogga marka lagu ogeysiinayo shuruudahan',
helptip: 'Soo dhaweynta waxaa la bixiyaa kaliya haddii isticmaalaha lagaga ogeysiiyo tirtiridda, iyo kaliya haddii boggiisa wada-hadalku uusan weli jirin. Qaabka la isticmaalo waa {{firstarticle}}.',
type: 'set',
setValues: Twinkle.config.commonSets.csdCriteriaNotification,
setDisplayOrder: Twinkle.config.commonSets.csdCriteriaNotificationDisplayOrder
},
{
name: 'notifyUserOnSpeedyDeletionNomination',
label: 'Ogeysii abuuraha bogga marka lagu calaamadinayo shuruudahan',
helptip: 'Xitaa haddii aad doorato inaad ka ogeysiiso shaashadda CSD, ogeysiisku wuxuu dhici doonaa kaliya shuruudahaas laga doortay halkan.',
type: 'set',
setValues: Twinkle.config.commonSets.csdCriteriaNotification,
setDisplayOrder: Twinkle.config.commonSets.csdCriteriaNotificationDisplayOrder
},
{
name: 'warnUserOnSpeedyDelete',
label: 'Ogeysii abuuraha bogga marka la tirtirayo hoos shuruudahan',
helptip: 'Xitaa haddii aad doorato inaad ka ogeysiiso shaashadda CSD, ogeysiisku wuxuu dhici doonaa kaliya shuruudahaas laga doortay halkan.',
adminOnly: true,
type: 'set',
setValues: Twinkle.config.commonSets.csdCriteriaNotification,
setDisplayOrder: Twinkle.config.commonSets.csdCriteriaNotificationDisplayOrder
},
{
name: 'promptForSpeedyDeletionSummary',
label: 'U oggolow tafatirka kooban-tafsirka tirtiridda marka la tirtirayo hoos shuruudahan',
adminOnly: true,
type: 'set',
setValues: Twinkle.config.commonSets.csdAndImageDeletionCriteria,
setDisplayOrder: Twinkle.config.commonSets.csdAndImageDeletionCriteriaDisplayOrder
},
{
name: 'deleteTalkPageOnDelete',
label: 'Calaamadi sanduuqa "sidoo kale tirtir bogga wada-hadalka" si caadi ah',
adminOnly: true,
type: 'boolean'
},
{
name: 'deleteRedirectsOnDelete',
label: 'Calaamadi sanduuqa "sidoo kale tirtir dib-u-jeeddada" si caadi ah',
adminOnly: true,
type: 'boolean'
},
{
name: 'deleteSysopDefaultToDelete',
label: 'Ka dhig shaashadda CSD mid si caadi ah ugu tagta "tirtir" halkii ay ka noqon lahayd "calaamadi"',
helptip: 'Haddii ay jirto calaamad CSD oo horay u joogta, Twinkle wuxuu mar walba si caadi ah ugu noqon doonaa habka "tirtir"',
adminOnly: true,
type: 'boolean'
},
{
name: 'speedyWindowWidth',
label: 'Ballaca daaqadda tirtiridda degdegga ah (pixels)',
type: 'integer'
},
{
name: 'speedyWindowHeight',
label: 'Dhererka daaqadda tirtiridda degdegga ah (pixels)',
helptip: 'Haddii aad leedahay kantarool weyn, waxaad jeclaan kartaa inaad kordhiso tan.',
type: 'integer'
},
{
name: 'logSpeedyNominations',
label: 'Ku hay diiwaan meesha isticmaalaha ee dhammaan magacaabista CSD',
helptip: 'Maaddaama aanay maamulayaashu lahayn marin ay u helaan tabarucaadooda la tirtiray, diiwaanka meesha isticmaalaha wuxuu bixiyaa hab fiican oo lagula socon karo dhammaan boggaga aad u magacaabto CSD adigoo isticmaalaya Twinkle. Faylasha lagu calaamadiyay DI sidoo kale waa la daraa diiwaankan.',
type: 'boolean'
},
{
name: 'speedyLogPageName',
label: 'Ku hay diiwaanka meesha isticmaalaha ee CSD hoos-boggan isticmaalaha',
helptip: 'Geli magaca hoos-bog sanduuqan. Waxaad ka heli doontaa diiwaankaaga CSD User:<i>username</i>/<i>subpage name</i>. Kaliya wuxuu shaqeeyaa haddii aad shiddo diiwaanka meesha isticmaalaha ee CSD.',
type: 'string'
},
{
name: 'noLogOnSpeedyNomination',
label: 'Ha abuurin gelitaan diiwaanka meesha isticmaalaha marka lagu calaamadinayo shuruudahan',
type: 'set',
setValues: Twinkle.config.commonSets.csdAndImageDeletionCriteria,
setDisplayOrder: Twinkle.config.commonSets.csdAndImageDeletionCriteriaDisplayOrder
}
]
},
{
title: 'Calaamadi',
module: 'tag',
preferences: [
{
name: 'watchTaggedVenues',
label: 'Ku dar bogga liiska la socodka marka la calaamadinayo noocyadan boggaga ah',
type: 'set',
setValues: { articles: 'Maqaallo', drafts: 'Qabyo', redirects: 'Dib-u-jeediyo', files: 'Faylal' }
},
{
name: 'watchTaggedPages',
label: 'Marka la calaamadinayo bog, muddada la la soconayo',
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
},
{
name: 'watchMergeDiscussions',
label: 'Ku dar boggaga wada-hadalka liiska la socodka marka la bilaabayo doodaha mideynta',
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
},
{
name: 'markTaggedPagesAsMinor',
label: 'Calaamadi ku darista calaamadaha sida tifatir yar',
type: 'boolean'
},
{
name: 'markTaggedPagesAsPatrolled',
label: 'Calaamadi sanduuqa "calaamadi bogga mid la eegay" si caadi ah',
type: 'boolean'
},
{
name: 'tagArticleSortOrder',
label: 'Habka aragtida caadiga ah ee calaamadaha maqaalka',
type: 'enum',
enumValues: { cat: 'Qaybaha', alpha: 'Hab xarfaha ah' }
},
{
name: 'customTagList',
label: 'Calaamadaha dayactirka maqaalka/qabyada gaarka ah ee la soo bandhigayo',
helptip: 'Kuwani waxay u muuqdaan ikhtiyaarro dheeraad ah oo hoos yimaada liiska calaamadaha. Tusaale ahaan, waxaad ku dari kartaa calaamado dayactir oo cusub oo aan weli lagu darin kuwa caadiga ah ee Twinkle.',
type: 'customList',
customListValueTitle: 'Magaca qaabka (ma laha qawsafyo)',
customListLabelTitle: 'Qoraalka lagu muujinayo wada-sheekaysiga calaamadda'
},
{
name: 'customFileTagList',
label: 'Calaamadaha dayactirka faylka gaarka ah ee la soo bandhigayo',
helptip: 'Calaamado dheeraad ah oo aad rabto inaad ku darto faylasha.',
type: 'customList',
customListValueTitle: 'Magaca qaabka (ma laha qawsafyo)',
customListLabelTitle: 'Qoraalka lagu muujinayo wada-sheekaysiga calaamadda'
},
{
name: 'customRedirectTagList',
label: 'Calaamadaha qaybta dib-u-jeeddada gaarka ah ee la soo bandhigayo',
helptip: 'Calaamado dheeraad ah oo aad rabto inaad ku darto dib-u-jeediyeyaasha.',
type: 'customList',
customListValueTitle: 'Magaca qaabka (ma laha qawsafyo)',
customListLabelTitle: 'Qoraalka lagu muujinayo wada-sheekaysiga calaamadda'
}
]
},
{
title: 'Talkback',
module: 'talkback',
preferences: [
{
name: 'markTalkbackAsMinor',
label: 'Calaamadi talkbacks sida tifatir yar',
type: 'boolean'
},
{
name: 'insertTalkbackSignature',
label: 'Geli saxiixa gudaheeda talkbacks',
type: 'boolean'
},
{
name: 'talkbackHeading',
label: 'Madaxa qaybta ee loo isticmaalo talkback iyo fadlan eeg',
tooltip: 'Waa INAAYSAN ku jirin calaamadaha la midka ah ("==") ee loo isticmaalo qaab-yaynta wikitext',
type: 'string'
},
{
name: 'mailHeading',
label: 'Madaxa qaybta ee loo isticmaalo ogeysiisyada "waxaad haysataa iimeyl"',
tooltip: 'Waa INAAYSAN ku jirin calaamadaha la midka ah ("==") ee loo isticmaalo qaab-yaynta wikitext',
type: 'string'
}
]
},
{
title: 'Ka goy xiriirinta',
module: 'unlink',
preferences: [
{
name: 'unlinkNamespaces',
label: 'Ka saar xiriirinta boggaga ku jira meelahan magaca',
helptip: 'Ka fogow doorashada meelaha magaca wada-hadalka, maaddaama Twinkle uu ku dambayn karo inuu ka saaro xiriirinta keydadka wada-hadalka (arrin weyn oo khaldan).',
type: 'set',
setValues: Twinkle.config.commonSets.namespacesNoSpecial
}
]
},
{
title: 'Dii isticmaalaha',
module: 'warn',
preferences: [
{
name: 'defaultWarningGroup',
label: 'Heerka digida caadiga ah',
type: 'enum',
enumValues: {
1: 'Heerka 1',
2: 'Heerka 2',
3: 'Heerka 3',
4: 'Heerka 4',
5: 'Heerka 4im',
6: 'Ogeysiisyada hal arrin ah',
7: 'Digidaha hal arrin ah',
9: 'Digidaha gaarka ah',
10: 'Dhammaan qaababka digida',
11: 'Heerka is-doorta (1-4)'
}
},
{
name: 'combinedSingletMenus',
label: 'Ku beddel labada liis ee hal arrin ah hal liis oo la mideeyay',
helptip: 'Doorashada ogeysiisyada hal arrin ah ama digidaha hal arrin ah sida heerkaaga caadiga ah waxay ka dhigi doontaa tan mid caadi ah haddii la hawlgeliyo.',
type: 'boolean'
},
{
name: 'watchWarnings',
label: 'Ku dar bogga wada-hadalka isticmaalaha liiska la socodka marka la ogeysiinayo',
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
},
{
name: 'oldSelect',
label: 'Isticmaal liiska xulashada caadiga ah ee aan la raadin karin',
type: 'boolean'
},
{
name: 'customWarningList',
label: 'Qaababka digida gaarka ah ee la soo bandhigayo',
helptip: 'Waxaad ku dari kartaa qaabab shakhsi ah ama hoos-boggaga isticmaalaha. Digidaha gaarka ah waxay ka muuqdaan qaybta "Digidaha gaarka ah" ee ku dhex jirta sanduuqa wada-sheekaysiga digida.',
type: 'customList',
customListValueTitle: 'Magaca qaabka (ma laha qawsafyo)',
customListLabelTitle: 'Qoraalka lagu muujinayo liiska digida (sidoo kale loo isticmaalo kooban-tafsirka tifatirka)'
}
]
},
{
title: 'Soo dhawee isticmaalaha',
module: 'welcome',
preferences: [
{
name: 'topWelcomes',
label: 'Dhig soo-dhaweynta kor1 nuxurka jira ee boggaga wada-hadalka isticmaalaha',
type: 'boolean'
},
{
name: 'watchWelcomes',
label: 'Ku dar boggaga wada-hadalka isticmaalaha liiska la socodka marka la soo dhoweynayo',
helptip: 'Tani waxay ku daraysaa qaybta shakhsiga ah ee soo-dhaweynta isticmaalaha - waxaad awoodi doontaa inaad aragto sida ay ula qabsanayaan iyagoo ah cusub, oo laga yaabo inaad caawiso.',
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
},
{
name: 'insertUsername',
label: 'Ku dar magacaaga isticmaale qaabka (haddii ay khuseyso)',
helptip: 'Qaababyada qaarkood ee soo-dhaweynta waxay leeyihiin jumlad furitaan ah sida "Hallo, waxaan ahay <username>. Soo dhawoow" iwm. Haddii aad demiso ikhtiyaarkan, qaababkani ma soo bandhigi doonaan magacaaga isticmaale habkaas.',
type: 'boolean'
},
{
name: 'quickWelcomeMode',
label: 'Gujinta xiriiriyaha "soo dhawoow" ee bogga isbarbardhigga (kaas oo ka muuqda kaliya haddii bogga wada-hadalka isticmaalaha ee tifatiraha uusan weli la abuurin) wuxuu doonayaa inuu',
helptip: 'Haddii aad doorato inaad soo dhoweyso si otomaatig ah, qaabka aad hoos ku cayimay ayaa la isticmaali doonaa.',
type: 'enum',
enumValues: { auto: 'isla markiiba soo dhig qaabka soo-dhaweynta ee hoos ku xusan', norm: 'kuu sheeg inaad doorato qaab' }
},
{
name: 'quickWelcomeTemplate',
label: 'Qaabka la isticmaali doono marka si otomaatig ah loo soo dhoweynayo',
helptip: 'Geli magaca qaabka soo-dhaweynta, adigoon lahayn qawsafyo. Xiriiriye ku socda maqaalka la bixiyay ayaa lagu dari doonaa.',
type: 'string'
},
{
name: 'customWelcomeList',
label: 'Qaababka soo-dhaweynta gaarka ah ee la soo bandhigayo',
helptip: 'Waxaad ku dari kartaa qaabab kale oo soo-dhaweyn ah, ama hoos-boggaga isticmaalaha ee ah qaababka soo-dhaweynta (oo leh hor-odhiga "User:"). Ha iloobin in qaababarkan la beddelo oo la geliyo boggaga wada-hadalka isticmaalaha.',
type: 'customList',
customListValueTitle: 'Magaca qaabka (ma laha qawsafyo)',
customListLabelTitle: 'Qoraalka lagu muujinayo wada-sheekaysiga soo-dhaweynta'
},
{
name: 'customWelcomeSignature',
label: 'Si otomaatig ah u saxiix qaababka soo-dhaweynta gaarka ah',
helptip: 'Haddii qaababkaaga soo-dhaweynta gaarka ah ay ka kooban yihiin saxiix ku dhex jira qaabka gudihiisa, demi ikhtiyaarkan.',
type: 'boolean'
}
]
},
{
title: 'XFD (doodaha tirtiridda)',
module: 'xfd',
preferences: [
{
name: 'logXfdNominations',
label: 'Ku hay diiwaan meesha isticmaalaha ee dhammaan boggaga aad u magacaabto dood tirtirid (XfD)',
helptip: 'Diiwaanka meesha isticmaalaha wuxuu bixiyaa hab fiican oo lagula socon karo dhammaan boggaga aad u magacaabto XfD adigoo isticmaalaya Twinkle.',
type: 'boolean'
},
{
name: 'xfdLogPageName',
label: 'Ku hay diiwaanka meesha isticmaalaha ee doodda tirtiridda hoos-boggan isticmaalaha',
helptip: 'Geli magaca hoos-bog sanduuqan. Waxaad ka heli doontaa diiwaankaaga XfD User:<i>username</i>/<i>subpage name</i>. Kaliya wuxuu shaqeeyaa haddii aad shiddo diiwaanka meesha isticmaalaha ee XfD.',
type: 'string'
},
{
name: 'noLogOnXfdNomination',
label: 'Ha abuurin gelitaan diiwaanka meesha isticmaalaha marka aad ku magacaabeyso goobtan',
type: 'set',
setValues: { afd: 'AfD', tfd: 'TfD', ffd: 'FfD', cfd: 'CfD', cfds: 'CfD/S', mfd: 'MfD', rfd: 'RfD', rm: 'RM' }
},
{
name: 'xfdWatchPage',
label: 'Ku dar bogga la magacaabay liiska la socodka',
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
},
{
name: 'xfdWatchDiscussion',
label: 'Ku dar bogga doodda tirtiridda liiska la socodka',
helptip: 'Tani waxay tilmaamaysaa hoos-bogga doodda (ee AfD iyo MfD) ama bogga diiwaanka maalinlaha ah (ee TfD, CfD, RfD iyo FfD)',
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
},
{
name: 'xfdWatchList',
label: 'Ku dar bogga diiwaanka/liiska maalinlaha ah liiska la socodka (AfD iyo MfD)',
helptip: 'Tani waxay khuseysaa oo kaliya AfD iyo MfD, halkaas oo doodaha lagu dhex daro bogga diiwaanka maalinlaha ah (ee AfD) ama bogga weyn ee MfD (ee MfD).',
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
},
{
name: 'xfdWatchUser',
label: 'Ku dar bogga wada-hadalka ee tabarucaaha bilowga ah liiska la socodka (marka la ogeysiinayo)',
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
},
{
name: 'xfdWatchRelated',
label: 'Ku dar bogga bartilmaameedka ee dib-u-jeeddada la magacaabay liiska la socodka (marka la ogeysiinayo)',
helptip: 'Tani waxay khuseysaa oo kaliya RfD, marka la reebayo ogeysiis ku yaal bogga wada-hadalka ee bartilmaameedka dib-u-jeeddada',
type: 'enum',
enumValues: Twinkle.config.watchlistEnums
},
{
name: 'markXfdPagesAsPatrolled',
label: 'Calaamadi bogga mid la eegay marka loo magacaabayo AFD (haddii ay suurtagal tahay)',
type: 'boolean'
}
]
},
{
title: 'Qarsan',
hidden: true,
preferences: [
{
name: 'revertMaxRevisions',
type: 'integer'
},
{
name: 'autolevelStaleDays',
type: 'integer'
},
{
name: 'batchMax',
type: 'integer',
adminOnly: true
},
{
name: 'batchChunks',
type: 'integer',
adminOnly: true
}
]
}
];
Twinkle.config.init = function twinkleconfigInit() {
if ((mw.config.get('wgNamespaceNumber') === mw.config.get('wgNamespaceIds').project && mw.config.get('wgTitle') === 'Twinkle/Preferences') &&
mw.config.get('wgAction') === 'view') {
if (!document.getElementById('twinkle-config')) {
return;
}
document.getElementById('twinkle-config').removeAttribute('style');
document.getElementById('twinkle-config-titlebar').removeAttribute('style');
const contentdiv = document.getElementById('twinkle-config-content');
contentdiv.textContent = '';
if (window.TwinkleConfig || window.FriendlyConfig) {
const contentnotice = document.createElement('div');
contentnotice.className = 'plainlinks twinkle-ombox';
contentnotice.innerHTML =
'<div>' +
'<img alt="" src="https://upload.wikimedia.org/wikipedia/commons/3/38/Imbox_content.png" />' +
'</div>' +
'<div>' +
'<p><big><b>Ka hor inta aadan beddelin habayntaada halkan,</b> waa inaad ka saartaa habayntaadii hore ee Twinkle iyo Friendly JavaScript-ka maqaarkaaga shakhsiga ah.</big></p>' +
'<p>Si aad tan u samayso, waxaad <a href="' + mw.util.getUrl('User:' + mw.config.get('wgUserName') + '/' + mw.config.get('skin') +
'.js', { action: 'edit' }) + '" target="_blank"><b>tifatiri kartaa faylka javascript maqaarkaaga shakhsiga ah</b></a> ama <a href="' +
mw.util.getUrl('User:' + mw.config.get('wgUserName') + '/common.js', { action: 'edit'}) + '" target="_blank"><b>faylkaaga common.js</b></a>, adigoo ka saaraya dhammaan xarumaha koodka ee tixraacaya <code>TwinkleConfig</code> iyo <code>FriendlyConfig</code>.</p>' +
'</div>';
contentdiv.appendChild(contentnotice);
}
const toctable = document.createElement('div');
toctable.className = 'toc';
toctable.style.marginLeft = '0.4em';
const toctitle = document.createElement('div');
toctitle.id = 'toctitle';
const toch2 = document.createElement('h2');
toch2.textContent = 'Muxuu ka kooban yahay ';
toctitle.appendChild(toch2);
const toctoggle = document.createElement('span');
toctoggle.className = 'toctoggle';
toctoggle.appendChild(document.createTextNode('['));
const toctogglelink = document.createElement('a');
toctogglelink.className = 'internal';
toctogglelink.setAttribute('href', '#tw-tocshowhide');
toctogglelink.textContent = 'qari';
toctoggle.appendChild(toctogglelink);
toctoggle.appendChild(document.createTextNode(']'));
toctitle.appendChild(toctoggle);
toctable.appendChild(toctitle);
const tocul = document.createElement('ul');
toctogglelink.addEventListener('click', () => {
const $tocul = $(tocul);
$tocul.toggle();
if ($tocul.find(':visible').length) {
toctogglelink.textContent = 'qari';
} else {
toctogglelink.textContent = 'muuji';
}
}, false);
toctable.appendChild(tocul);
contentdiv.appendChild(toctable);
const contentform = document.createElement('form');
contentform.setAttribute('action', 'javascript:void(0)');
contentform.addEventListener('submit', Twinkle.config.save, true);
contentdiv.appendChild(contentform);
const container = document.createElement('table');
container.style.width = '100%';
contentform.appendChild(container);
$(Twinkle.config.sections).each((sectionkey, section) => {
if (section.hidden || (section.adminOnly && !Morebits.userIsSysop)) {
return true;
}
const tocli = document.createElement('li');
tocli.className = 'toclevel-1';
const toca = document.createElement('a');
toca.setAttribute('href', '#' + section.module);
toca.appendChild(document.createTextNode(section.title));
tocli.appendChild(toca);
tocul.appendChild(tocli);
let row = document.createElement('tr');
let cell = document.createElement('td');
cell.setAttribute('colspan', '3');
const heading = document.createElement('h4');
heading.style.borderBottom = '1px solid gray';
heading.style.marginTop = '0.2em';
heading.id = section.module;
heading.appendChild(document.createTextNode(section.title));
cell.appendChild(heading);
row.appendChild(cell);
container.appendChild(row);
let rowcount = 1;
$(section.preferences).each((prefkey, pref) => {
if (pref.adminOnly && !Morebits.userIsSysop) {
return true;
}
row = document.createElement('tr');
row.style.marginBottom = '0.2em';
if (rowcount++ % 2 === 0) {
row.style.backgroundColor = 'rgba(128, 128, 128, 0.1)';
}
cell = document.createElement('td');
let label, input;
const gotPref = Twinkle.getPref(pref.name);
switch (pref.type) {
case 'boolean':
cell.setAttribute('colspan', '2');
label = document.createElement('label');
input = document.createElement('input');
input.setAttribute('type', 'checkbox');
input.setAttribute('id', pref.name);
input.setAttribute('name', pref.name);
if (gotPref === true) {
input.setAttribute('checked', 'checked');
}
label.appendChild(input);
label.appendChild(document.createTextNode(pref.label));
cell.appendChild(label);
break;
case 'string':
case 'integer':
cell.style.textAlign = 'right';
cell.style.paddingRight = '0.5em';
label = document.createElement('label');
label.setAttribute('for', pref.name);
label.appendChild(document.createTextNode(pref.label + ':'));
cell.appendChild(label);
row.appendChild(cell);
cell = document.createElement('td');
cell.style.paddingRight = '1em';
input = document.createElement('input');
input.setAttribute('type', 'text');
input.setAttribute('id', pref.name);
input.setAttribute('name', pref.name);
if (pref.type === 'integer') {
input.setAttribute('size', 6);
input.setAttribute('type', 'number');
input.setAttribute('step', '1');
}
if (gotPref) {
input.setAttribute('value', gotPref);
}
cell.appendChild(input);
break;
case 'enum':
cell.style.textAlign = 'right';
cell.style.paddingRight = '0.5em';
label = document.createElement('label');
label.setAttribute('for', pref.name);
label.appendChild(document.createTextNode(pref.label + ':'));
cell.appendChild(label);
row.appendChild(cell);
cell = document.createElement('td');
cell.style.paddingRight = '1em';
input = document.createElement('select');
input.setAttribute('id', pref.name);
input.setAttribute('name', pref.name);
$.each(pref.enumValues, (enumvalue, enumdisplay) => {
const option = document.createElement('option');
option.setAttribute('value', enumvalue);
if ((gotPref === enumvalue) ||
(typeof gotPref === 'boolean' &&
((gotPref && enumvalue === 'yes') ||
(!gotPref && enumvalue === 'no')))) {
option.setAttribute('selected', 'selected');
}
option.appendChild(document.createTextNode(enumdisplay));
input.appendChild(option);
});
cell.appendChild(input);
break;
case 'set':
cell.setAttribute('colspan', '2');
label = document.createElement('label');
label.appendChild(document.createTextNode(pref.label + ':'));
cell.appendChild(label);
var checkdiv = document.createElement('div');
checkdiv.style.paddingLeft = '1em';
var worker = function(itemkey, itemvalue) {
const checklabel = document.createElement('label');
checklabel.style.marginRight = '0.7em';
checklabel.style.display = 'inline-block';
const check = document.createElement('input');
check.setAttribute('type', 'checkbox');
check.setAttribute('id', pref.name + '_' + itemkey);
check.setAttribute('name', pref.name + '_' + itemkey);
if (gotPref && gotPref.includes(itemkey)) {
check.setAttribute('checked', 'checked');
}
if (pref.name === 'unlinkNamespaces') {
if (gotPref && gotPref.includes(parseInt(itemkey, 10))) {
check.setAttribute('checked', 'checked');
}
}
checklabel.appendChild(check);
checklabel.appendChild(document.createTextNode(itemvalue));
checkdiv.appendChild(checklabel);
};
if (pref.setDisplayOrder) {
$.each(pref.setDisplayOrder, (itemkey, item) => {
worker(item, pref.setValues[item]);
});
} else {
$.each(pref.setValues, worker);
}
cell.appendChild(checkdiv);
break;
case 'customList':
cell.style.textAlign = 'right';
cell.style.paddingRight = '0.5em';
label = document.createElement('label');
label.setAttribute('for', pref.name);
label.appendChild(document.createTextNode(pref.label + ':'));
cell.appendChild(label);
row.appendChild(cell);
cell = document.createElement('td');
cell.style.paddingRight = '1em';
var button = document.createElement('button');
button.setAttribute('id', pref.name);
button.setAttribute('name', pref.name);
button.setAttribute('type', 'button');
button.addEventListener('click', Twinkle.config.listDialog.display, false);
$(button).data({
value: gotPref,
pref: pref
});
button.appendChild(document.createTextNode('Wax ka beddel walxaha'));
cell.appendChild(button);
break;
default:
alert('twinkleconfig: nooca xogta ee aan la aqoon ee doorbiditaanka ' + pref.name);
break;
}
row.appendChild(cell);
cell = document.createElement('td');
cell.className = 'twinkle-config-helptip';
if (pref.helptip) {
cell.innerHTML = pref.helptip.replace(/{{(.+?)}}/g,
'{{<a href="' + mw.util.getUrl('Template:') + '$1" target="_blank">$1</a>}}');
}
if (pref.type !== 'customList') {
const resetlink = document.createElement('a');
resetlink.setAttribute('href', '#tw-reset');
resetlink.setAttribute('id', 'twinkle-config-reset-' + pref.name);
resetlink.addEventListener('click', Twinkle.config.resetPrefLink, false);
resetlink.style.cssFloat = 'right';
resetlink.style.margin = '0 0.6em';
resetlink.appendChild(document.createTextNode('Dib u deji'));
cell.appendChild(resetlink);
}
row.appendChild(cell);
container.appendChild(row);
return true;
});
return true;
});
const footerbox = document.createElement('div');
footerbox.setAttribute('id', 'twinkle-config-buttonpane');
const button = document.createElement('button');
button.setAttribute('id', 'twinkle-config-submit');
button.setAttribute('type', 'submit');
button.appendChild(document.createTextNode('Kaydi isbeddellada'));
footerbox.appendChild(button);
const footerspan = document.createElement('span');
footerspan.className = 'plainlinks';
footerspan.style.marginLeft = '2.4em';
footerspan.style.fontSize = '90%';
const footera = document.createElement('a');
footera.setAttribute('href', '#tw-reset-all');
footera.setAttribute('id', 'twinkle-config-resetall');
footera.addEventListener('click', Twinkle.config.resetAllPrefs, false);
footera.appendChild(document.createTextNode('Soo celi waxyaabaha caadiga ah'));
footerspan.appendChild(footera);
footerbox.appendChild(footerspan);
contentform.appendChild(footerbox);
if (window.location.hash) {
const loc = window.location.hash;
window.location.hash = '';
window.location.hash = loc;
}
} else if (mw.config.get('wgNamespaceNumber') === mw.config.get('wgNamespaceIds').user &&
mw.config.get('wgTitle').indexOf(mw.config.get('wgUserName')) === 0 &&
mw.config.get('wgPageName').slice(-3) === '.js') {
const box = document.createElement('div');
box.setAttribute('id', 'twinkle-config-headerbox');
let link;
const scriptPageName = mw.config.get('wgPageName').slice(
mw.config.get('wgPageName').lastIndexOf('/') + 1,
mw.config.get('wgPageName').lastIndexOf('.js')
);
if (scriptPageName === 'twinkleoptions') {
box.setAttribute('class', 'config-twopt-box');
if (mw.config.get('wgArticleId') > 0) {
box.appendChild(document.createTextNode('Boggani wuxuu ka kooban yahay doorbidyadaada Twinkle. Waxaad ku beddeli kartaa adigoo isticmaalaya '));
} else {
box.appendChild(document.createTextNode('Waxaad habayn kartaa Twinkle si uu ugu habboonaado doorbidyadaada adigoo isticmaalaya '));
}
link = document.createElement('a');
link.setAttribute('href', mw.util.getUrl(mw.config.get('wgFormattedNamespaces')[mw.config.get('wgNamespaceIds').project] + ':Twinkle/Preferences'));
link.appendChild(document.createTextNode('guddiga doorbididda Twinkle'));
box.appendChild(link);
box.appendChild(document.createTextNode(', ama adigoo tifatiraya boggan.'));
$(box).insertAfter($('#contentSub'));
} else if (['monobook', 'vector', 'vector-2022', 'cologneblue', 'modern', 'timeless', 'minerva', 'common'].includes(scriptPageName)) {
box.setAttribute('class', 'config-userskin-box');
box.appendChild(document.createTextNode('Haddii aad rabto inaad dejiso doorbidyada Twinkle, waxaad isticmaali kartaa '));
link = document.createElement('a');
link.setAttribute('href', mw.util.getUrl(mw.config.get('wgFormattedNamespaces')[mw.config.get('wgNamespaceIds').project] + ':Twinkle/Preferences'));
link.appendChild(document.createTextNode('guddiga doorbididda Twinkle'));
box.appendChild(link);
box.appendChild(document.createTextNode('.'));
$(box).insertAfter($('#contentSub'));
}
}
};
Twinkle.config.listDialog = {};
Twinkle.config.listDialog.addRow = function twinkleconfigListDialogAddRow($dlgtable, value, label) {
let $contenttr, $valueInput, $labelInput;
$dlgtable.append(
$contenttr = $('<tr>').append(
$('<td>').append(
$('<button>')
.attr('type', 'button')
.on('click', () => {
$contenttr.remove();
})
.text('Tirtir')
),
$('<td>').append(
$valueInput = $('<input>')
.attr('type', 'text')
.addClass('twinkle-config-customlist-value')
.css('width', '97%')
),
$('<td>').append(
$labelInput = $('<input>')
.attr('type', 'text')
.addClass('twinkle-config-customlist-label')
.css('width', '98%')
)
)
);
if (value) {
$valueInput.val(value);
}
if (label) {
$labelInput.val(label);
}
};
Twinkle.config.listDialog.display = function twinkleconfigListDialogDisplay(e) {
const $prefbutton = $(e.target);
const curvalue = $prefbutton.data('value');
const curpref = $prefbutton.data('pref');
const dialog = new Morebits.SimpleWindow(720, 400);
dialog.setTitle(curpref.label);
dialog.setScriptName('Doorbidyada Twinkle');
let $dlgtbody;
dialog.setContent(
$('<div>').append(
$('<table>')
.addClass('wikitable')
.css({
margin: '1.4em 1em',
width: 'auto'
})
.append(
$dlgtbody = $('<tbody>').append(
$('<tr>').append(
$('<th>')
.css('width', '5%'),
$('<th>')
.css('width', '35%')
.text(curpref.customListValueTitle ? curpref.customListValueTitle : 'Qiimaha'),
$('<th>')
.css('width', '60%')
.text(curpref.customListLabelTitle ? curpref.customListLabelTitle : 'Calaamadda')
)
),
$('<tfoot>').append(
$('<tr>').append(
$('<td>')
.attr('colspan', '3')
.append(
$('<button>')
.text('Ku dar')
.css('min-width', '8em')
.attr('type', 'button')
.on('click', () => {
Twinkle.config.listDialog.addRow($dlgtbody);
})
)
)
)
),
$('<button>')
.text('Kaydi isbeddellada')
.attr('type', 'submit')
.on('click', () => {
Twinkle.config.listDialog.save($prefbutton, $dlgtbody);
dialog.close();
}),
$('<button>')
.text('Dib u deji')
.attr('type', 'submit')
.on('click', () => {
Twinkle.config.listDialog.reset($prefbutton, $dlgtbody);
}),
$('<button>')
.text('Jooji')
.attr('type', 'submit')
.on('click', () => {
dialog.close();
})
)[0]
);
let gotRow = false;
$.each(curvalue, (k, v) => {
gotRow = true;
Twinkle.config.listDialog.addRow($dlgtbody, v.value, v.label);
});
if (!gotRow) {
Twinkle.config.listDialog.addRow($dlgtbody);
}
dialog.display();
};
Twinkle.config.listDialog.reset = function twinkleconfigListDialogReset($button, $tbody) {
const curpref = $button.data('pref');
const oldvalue = $button.data('value');
Twinkle.config.resetPref(curpref);
$tbody.find('tr').slice(1).remove();
const curvalue = $button.data('value');
$.each(curvalue, (k, v) => {
Twinkle.config.listDialog.addRow($tbody, v.value, v.label);
});
$button.data('value', oldvalue);
};
Twinkle.config.listDialog.save = function twinkleconfigListDialogSave($button, $tbody) {
const result = [];
let current = {};
$tbody.find('input[type="text"]').each((inputkey, input) => {
if ($(input).hasClass('twinkle-config-customlist-value')) {
current = { value: input.value };
} else {
current.label = input.value;
if (current.value || current.label) {
result.push(current);
}
}
});
$button.data('value', result);
};
Twinkle.config.resetPrefLink = function twinkleconfigResetPrefLink(e) {
const wantedpref = e.target.id.slice(21);
$(Twinkle.config.sections).each((sectionkey, section) => {
if (section.hidden || (section.adminOnly && !Morebits.userIsSysop)) {
return true;
}
let foundit = false;
$(section.preferences).each((prefkey, pref) => {
if (pref.name !== wantedpref) {
return true;
}
Twinkle.config.resetPref(pref);
foundit = true;
return false;
});
if (foundit) {
return false;
}
});
return false;
};
Twinkle.config.resetPref = function twinkleconfigResetPref(pref) {
switch (pref.type) {
case 'boolean':
document.getElementById(pref.name).checked = Twinkle.defaultConfig[pref.name];
break;
case 'string':
case 'integer':
case 'enum':
document.getElementById(pref.name).value = Twinkle.defaultConfig[pref.name];
break;
case 'set':
$.each(pref.setValues, (itemkey) => {
if (document.getElementById(pref.name + '_' + itemkey)) {
document.getElementById(pref.name + '_' + itemkey).checked = Twinkle.defaultConfig[pref.name].includes(itemkey);
}
});
break;
case 'customList':
$(document.getElementById(pref.name)).data('value', Twinkle.defaultConfig[pref.name]);
break;
default:
alert('twinkleconfig: nooca xogta ee aan la aqoon ee doorbiditaanka ' + pref.name);
break;
}
};
Twinkle.config.resetAllPrefs = function twinkleconfigResetAllPrefs() {
$(Twinkle.config.sections).each((sectionkey, section) => {
if (section.hidden || (section.adminOnly && !Morebits.userIsSysop)) {
return true;
}
$(section.preferences).each((prefkey, pref) => {
if (!pref.adminOnly || Morebits.userIsSysop) {
Twinkle.config.resetPref(pref);
}
});
return true;
});
return false;
};
Twinkle.config.save = function twinkleconfigSave(e) {
Morebits.Status.init(document.getElementById('twinkle-config-content'));
const userjs = mw.config.get('wgFormattedNamespaces')[mw.config.get('wgNamespaceIds').user] + ':' + mw.config.get('wgUserName') + '/twinkleoptions.js';
const wikipediaPage = new Morebits.wiki.Page(userjs, 'Kaydinaya doorbidyada ' + userjs);
wikipediaPage.setCallbackParameters(e.target);
wikipediaPage.load(Twinkle.config.writePrefs);
return false;
};
Twinkle.config.writePrefs = function twinkleconfigWritePrefs(pageobj) {
const form = pageobj.getCallbackParameters();
const newConfig = {optionsVersion: 2.1};
const compare = function(a, b) {
if (Array.isArray(a)) {
if (a.length !== b.length) {
return false;
}
const asort = a.sort(), bsort = b.sort();
for (let i = 0; asort[i]; ++i) {
if ((typeof asort[i] === 'object') && (asort[i].label !== bsort[i].label ||
asort[i].value !== bsort[i].value)) {
return false;
} else if (asort[i].toString() !== bsort[i].toString()) {
return false;
}
}
return true;
}
return a === b;
};
$(Twinkle.config.sections).each((sectionkey, section) => {
if (section.adminOnly && !Morebits.userIsSysop) {
return;
}
$(section.preferences).each((prefkey, pref) => {
let userValue;
if (!pref.adminOnly || Morebits.userIsSysop) {
if (!section.hidden) {
switch (pref.type) {
case 'boolean':
userValue = form[pref.name].checked;
break;
case 'string':
case 'enum':
userValue = form[pref.name].value;
break;
case 'integer':
userValue = parseInt(form[pref.name].value, 10);
if (isNaN(userValue)) {
Morebits.Status.warn('Kaydinaya', 'Qiimaha aad u cayimay ' + pref.name + ' (' + pref.value + ') wuxuu ahaa mid aan shaqaynayn. Kaydintu waa sii socon doontaa, laakiin xogta khaldan waa la dhaafi doonaa.');
userValue = null;
}
break;
case 'set':
userValue = [];
if (pref.setDisplayOrder) {
$.each(pref.setDisplayOrder, (itemkey, item) => {
if (form[pref.name + '_' + item].checked) {
userValue.push(item);
}
});
} else {
$.each(pref.setValues, (itemkey) => {
if (form[pref.name + '_' + itemkey].checked) {
userValue.push(itemkey);
}
});
}
break;
case 'customList':
userValue = $(form[pref.name]).data('value');
break;
default:
alert('twinkleconfig: nooca xogta ee aan la aqoon ee doorbiditaanka ' + pref.name);
break;
}
} else if (Twinkle.prefs) {
userValue = Twinkle.prefs[pref.name];
}
}
if (userValue !== undefined && !compare(userValue, Twinkle.defaultConfig[pref.name])) {
newConfig[pref.name] = userValue;
}
});
});
let text =
'// twinkleoptions.js: faylka doorbidyada shakhsiga ah ee Twinkle\n' +
'//\n' +
'// FIIRO GAAR AH: Habka ugu fudud ee aad ku beddeli karto doorbidyadaada Twinkle waa adigoo isticmaalaya\n' +
'// guddiga doorbididda Twinkle, ee [[:' + Morebits.pageNameNorm + ']].\n' +
'//\n' +
'// Faylkan waxaa la soo saaray SI OTOMAATIG AH. Wixii isbeddel ah ee aad samayso (marka laga reebo\n' +
'// beddelidda cabbiraadaha habaynta si JavaScript sax ah u ah) waxaa lagu\n' +
'// dul qori doonaa marka xigta ee aad gujiso "kaydi" guddiga doorbididda\n' +
'// Twinkle. Haddii aad wax ka beddelayso faylkan, hubi inaad isticmaasho JavaScript sax ah.\n' +
// eslint-disable-next-line no-useless-concat
'// <no' + 'wiki>\n' +
'\n' +
'window.Twinkle.prefs = ';
text += JSON.stringify(newConfig, null, 2);
text +=
';\n' +
'\n' +
// eslint-disable-next-line no-useless-concat
'// </no' + 'wiki>\n' +
'// Dhamaadka twinkleoptions.js\n';
pageobj.setPageText(text);
pageobj.setEditSummary('Kaydinaya doorbidyada Twinkle: tifatir otomaatig ah oo ka yimid [[:' + Morebits.pageNameNorm + ']]');
pageobj.setChangeTags(Twinkle.changeTags);
pageobj.setCreateOption('recreate');
pageobj.save(Twinkle.config.saveSuccess);
};
Twinkle.config.saveSuccess = function twinkleconfigSaveSuccess(pageobj) {
pageobj.getStatusElement().info('waa lagu guulaystay');
const noticebox = document.createElement('div');
noticebox.className = 'cdx-message cdx-message--success';
noticebox.style.fontSize = '100%';
noticebox.innerHTML = '<p><b>Doorbidyadaada Twinkle waa la kaydiyay.</b> Si aad u aragto isbeddellada, waxaad u baahan doontaa inaad gebi ahaanba nadiifiso kaydka biraawsarkaaga (fiiri <a href="' + mw.util.getUrl('WP:BYPASS') + '" title="WP:BYPASS">WP:BYPASS</a> tilmaamaha).</p>';
mw.loader.using('mediawiki.htmlform.codex.styles', () => {
Morebits.Status.root.appendChild(noticebox);
});
const noticeclear = document.createElement('br');
noticeclear.style.clear = 'both';
Morebits.Status.root.appendChild(noticeclear);
};
Twinkle.addInitCallback(Twinkle.config.init);
}());
// </nowiki>
jhh630aml2mtk36xi4ot6elm3fz5ugd
MediaWiki:Gadget-Twinkle.css
8
53691
310881
2026-10-25T11:48:37Z
Isma4l
41797
Abuuray
310881
css
text/css
/* Define CSS variables */
html {
--twinkle-bgcolor-dialog: #f0f8ff;
--twinkle-bgcolor-titlebar: #bccadf;
}
@media screen {
html.skin-theme-clientpref-night {
--twinkle-bgcolor-dialog: #141c26;
--twinkle-bgcolor-titlebar: #1c2a52;
}
}
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
@media screen and (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os {
--twinkle-bgcolor-dialog: #141c26;
--twinkle-bgcolor-titlebar: #1c2a52;
}
}
/**
* Explicitly set width of TW menu so that we can use a hidden peer gadget
* to add space where the TW menu would go before it loads. See
* twinkle-pagestyles.css
*/
.skin-vector .vector-menu-dropdown #p-twinkle {
width: 3.24em;
}
/**
* In skin vector-2022, open the TW menu when mouse hovers over it. Credit to
* [[en:User:Nardog]] for this fix.
*/
#p-twinkle:hover > .vector-menu-content {
opacity: 1;
visibility: visible;
height: auto;
}
/* The additional box on user skin.js and twinklepreferences.js pages */
#twinkle-config-headerbox {
border: 1px #f60 solid;
background: #fed;
padding: 0.6em;
margin: 0.5em auto;
text-align: center;
color: inherit;
}
/* twinkleoptions.js */
#twinkle-config-headerbox.config-twopt-box {
font-weight: bold;
width: 80%;
border-width: 2px;
}
/* skin-specific js */
#twinkle-config-headerbox.config-userskin-box {
width: 60%;
}
/* WP:TWPREFS */
#twinkle-config-content input[type=checkbox] {
margin-right: 2px;
}
/* Twinkle config */
#twinkle-config {
border: 1px solid #666;
background: var(--twinkle-bgcolor-dialog);
color: inherit;
}
#twinkle-config label {
color: var(--color-base, #202122);
}
#twinkle-config-titlebar {
background: var(--twinkle-bgcolor-titlebar);
color: inherit;
}
#twinkle-config-buttonpane {
background: var(--twinkle-bgcolor-titlebar);
color: inherit;
padding: 0.5em;
}
.twinkle-config-helptip {
font-size: 90%;
color: var(--color-subtle, #54595d);
}
/* Flexbox gap not supported by old Safari versions. Rendering without gap is okay. */
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
.twinkle-ombox {
display: flex;
align-items: center;
gap: 0.9em;
padding-left: 0.9em;
margin: 4px 10%;
background: var(--background-color-neutral-subtle, #f8f9fa);
border: 1px solid #f28500;
}
#p-twinkle-dropdown {
display: flex;
min-width: 40px;
}
@media screen {
html.skin-theme-clientpref-night #twinkle-config-headerbox {
background: #532b18;
}
}
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
@media screen and (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os #twinkle-config-headerbox {
background: #532b18;
}
}
2cj8reae8okbk095bxwtivuixi81br5
MediaWiki:Gadget-Twinkle
8
53692
310882
2026-10-25T11:51:16Z
Isma4l
41797
/* */
310882
wikitext
text/x-wiki
[[:en:Wikipedia:Twinkle|Twinkle]]: ku dar badhamada liiska si loo otomaatigoojiyo hawlaha caadiga ah, oo ay ku jiraan: warbixinta kharibaadda, digida kharibayaasha, codsashada tirtiridda ama dhowridda, soo dhaweynta isticmaaleyaasha, iyo calaamadaynta maqaallada ([[:en:Wikipedia:Twinkle/Preferences|dooqyadaada]])
kls747fapwok1je7mo4q6of63aczb4o
MediaWiki:Tag-twinkle
8
53693
310883
2026-10-25T11:56:39Z
Isma4l
41797
/* */ Abuuray
310883
wikitext
text/x-wiki
[[:en:Wikipedia:Twinkle|Twinkle]]
83ctjm3y94zi9w24pwom2t8m7mp03v7
MediaWiki:Tag-twinkle-description
8
53694
310884
2026-10-25T11:58:10Z
Isma4l
41797
/* */
310884
wikitext
text/x-wiki
Waxqabadka la sameeyay iyadoo la adeegsanayo [[:en:Wikipedia:Twinkle|Twinkle]]
b70fexmnl2o8ji51kx2qeiy8h5ird0t