MediaWiki:RefToolbarLocal.js

Daripada Wikipedia, ensiklopedia bebas.

Catatan: Selepas menyiarkan perubahan, anda mungkin perlu memintas cache pelayar untuk melihatnya.

  • Firefox / Safari: Tahan Shift sambil mengklik Reload, atau tekan sama ada Ctrl-F5 atau Ctrl-R (⌘-R pada Mac)
  • Google Chrome: Tekan Ctrl-Shift-R (⌘-Shift-R pada Mac)
  • Internet Explorer / Edge: Tahan Ctrl sambil mengklik Refresh, atau tekan Ctrl-F5
  • Opera: Tekan Ctrl-F5.
/* Sitewide options for the the Cite toolbar button:
* All options should be specified
*
* "date format" sets the date format used for the function to insert the current date
* Current available options:
* date - the day of the month
* zdate - day of the month, zero padded to 2 digits
* monthname - The month name
* month - The numberic month (1-12)
* zmonth - numeric month, zero padded to 2 digits
* year - The full year (4 digits)
*
* "autodate fields" is a list of template fields that should have a button to insert the current date
* 
* "months" is a list of localized month names
*
* "modal" - if true, the dialogs will be modal windows, blocking access to the rest of the window.
* See //en.wikipedia.org/wiki/Modal_window
* All dialogs in the toolbar are modal by default
*
* "autoparse" - if true, previewing a ref will automatically trigger a preview of the parsed wikitext.
* Its not recommended to set this to true as a global setting as it may slow the script down for people
* with slow connections
*
* "expandtemplates" - if true, templates and parser functions will be expanded when getting page text
* (templates inside of ref tags will not be expanded). This will allow references inside of templates or
* references using {{#tag:ref}} to be listed in the named refs dialog and searched by error checks.
* This may slow loading the named refs and error check dialogs.
*/
 
CiteTB.Options = {
"date format" : "<date> <monthname> <year>",
"autodate fields" : ['accessdate'],
"months" : ['Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', 'Julai', 'Ogos', 'September', 'Oktober', 'November', 'Disember'],
"modal" : true,
"autoparse" : false,
"expandtemplates" : false
};
 
// Cite template definitions
new citeTemplate('cite web', 'Web',
[ // Basic fields
{"field": "last", "label":"Last name", "autofillprop":"last1"},
{"field": "first", "label":"First name", "autofillprop":"first1"}, 
{"field": "title", "autofillprop":"title"},
{"field": "url", "label":"URL"},
{"field": "work", "tooltip": "What larger work this is part of", "autofillprop":"journal"},
{"field": "publisher"},
{"field": "accessdate", "label":"Access date"}
],
[ // Expanded fields
{"field": "author"},
{"field": "authorlink", "label":"Author's article", "tooltip":"If the author has an article, the name of the article"},
{"field": "coauthors", "autofillprop":"coauthors"},
{"field": "archiveurl", "label":"Archive URL"},
{"field": "archivedate", "label":"Archive date"},
{"field": "location"},
{"field": "page"},
{"field": "pages", "autofillprop":"pages"},
{"field": "language"},
{"field": "format"},
{"field": "doi", "label":"DOI", "autofillid":"doi"},
{"field": "date", "autofillprop":"date"},
{"field": "month"},
{"field": "year"},
{"field": "quote"}
]);
 
new citeTemplate('cite news', 'News',
[ // Basic fields
{"field": "last", "label":"Last name"},
{"field": "first", "label":"First name"}, 
{"field": "title"},
{"field": "url", "label":"URL"},
{"field": "accessdate", "label":"Access date"},
{"field": "newspaper"},
{"field": "date"}
],
[ // Expanded fields
{"field": "author"},
{"field": "author2", 'label': "2nd author"},
{"field": "author3", 'label': "3rd author"},
{"field": "author4", 'label': "4th author"},
{"field": "author5", 'label': "5th author"},
{"field": "authorlink", "label":"Author's article", "tooltip":"If the author has an article, the name of the article"},
{"field": "agency"},
{"field": "archiveurl", "label":"Archive URL"},
{"field": "archivedate", "label":"Archive date"},
{"field": "location"},
{"field": "page"},
{"field": "pages"},
{"field": "language"},
{"field": "format"},
{"field": "doi", "label":"DOI"},
{"field": "month"},
{"field": "year"},
{"field": "quote"}
]);
 
new citeTemplate('cite book', 'Book',
[ // Basic fields
{"field": "last", "label":"Last name", "autofillprop":"last1"},
{"field": "first", "label":"First name", "autofillprop":"first1"}, 
{"field": "title", "autofillprop":"title"},
{"field": "year", "autofillprop":"year"},
{"field": "publisher", "autofillprop":"publisher"},
{"field": "location", "autofillprop":"location"},
{"field": "isbn", "label":"ISBN", "autofillid":"isbn"},
{"field": "pages"},
{"field": "url", "label":"URL"}
],
[ // Expanded fields
{"field": "author"},
{"field": "edition", "autofillprop":"edition"},
{"field": "authorlink", "label":"Author's article", "tooltip":"If the author has an article, the name of the article"},
{"field": "coauthors", "autofillprop":"coauthors"},
{"field": "editor"},
{"field": "accessdate", "label":"Access date"},
{"field": "archiveurl", "label":"Archive URL"},
{"field": "archivedate", "label":"Archive date"},
{"field": "page"},
{"field": "language"},
{"field": "format"},
{"field": "chapter"},
{"field": "date"},
{"field": "month"},
{"field": "quote"}
]);
 
new citeTemplate('cite journal', 'Journal',
[ // Basic fields
{"field": "last", "label":"Last name", "autofillprop":"last1"},
{"field": "first", "label":"First name", "autofillprop":"first1"},
{"field": "coauthors", "autofillprop":"coauthors"},
{"field": "title", "autofillprop":"title"},
{"field": "journal", "autofillprop":"journal"},
{"field": "date", "autofillprop":"date"},
{"field": "year"},
{"field": "month"},
{"field": "volume", "autofillprop":"volume"},
{"field": "series"},
{"field": "issue", "autofillprop":"issue"},
{"field": "pages", "autofillprop":"pages"},
{"field": "doi", "label":"DOI", "autofillid":"doi"},
{"field": "pmid", "label":"PMID", "autofillid":"pmid"},
{"field": "url", "label":"URL"},
{"field": "accessdate", "label":"Access date"}
],
[ // Expanded fields
{"field": "author"},
{"field": "authorlink", "label":"Author's article"},
{"field": "editor1-first", "label":"Editor's first"},
{"field": "editor1-last", "label":"Editor's last"},
{"field": "editor1-link", "label":"Editor's article"},
{"field": "page"},
{"field": "at"},
{"field": "trans_title", "label":"Translated title"},
{"field": "publisher"},
{"field": "location"},
{"field": "language"},
{"field": "format"},
{"field": "issn", "label":"ISSN"},
{"field": "pmc", "label":"PMC"},
{"field": "oclc", "label":"OCLC"},
{"field": "bibcode"},
{"field": "id", "label":"ID"},
{"field": "laysummary", "label":"Lay summary"},
{"field": "laysource", "label":"Lay source"},
{"field": "laydate", "label":"Lay date"},
{"field": "quote"},
{"field": "ref"},
{"field": "postscript"}
]);
 
 
new citeErrorCheck({'type':'reflist', 'testname':'samecontent', 'desc': "Check for references with the same content",
'func': function(reflist) {
  var errors = [];
  var refs2 = [];
  for(var i=0; i<reflist.length; i++) {
    if (!reflist[i].shorttag) {
      if ($.inArray(reflist[i].content, refs2) != -1) {
        if ($.inArray(reflist[i].content, errors) == -1) {
          errors.push(reflist[i].content);
        }
      } else {
        refs2.push(reflist[i].content);
      }
    }
  }
  ret = [];
  for(var j=0; j<errors.length; j++) {
    ret.push({'msg':'Multiple references contain the same content', 'err':errors[j]});
  }
  return ret;
}}
);
 
new citeErrorCheck({'type':'reflist', 'testname':'repeated', 'desc':'Multiple references with the same name',
'func': function(reflist) {
  var errors = [];
  var refs2 = [];
  for(var i=0; i<reflist.length; i++) {
    if (!reflist[i].shorttag && reflist[i].refname) {
      if ($.inArray(reflist[i].refname, refs2) != -1) {
        if ($.inArray(reflist[i].refname, errors) == -1) {
          errors.push(reflist[i].refname);
        }
      } else {
        refs2.push(reflist[i].refname);
      }
    }
  }
  ret = [];
  for(var j=0; j<errors.length; j++) {
    ret.push({'msg':'Multiple references are using the same name', 'err':errors[j]});
  }
  return ret;
}}
);
 
new citeErrorCheck({'type':'reflist', 'testname':'undefined', 'desc':'Usage of undefined named references',
'func': function(reflist) {
  var errors = [];
  var longrefs = [];
  for(var i=0; i<reflist.length; i++) {
    if (!reflist[i].shorttag && reflist[i].refname) {
      longrefs.push(reflist[i].refname);
    }
  }
  for(var j=0; i<reflist.length; j++) {
    if (reflist[i].shorttag && $.inArray(reflist[i].refname, errors) == -1 && $.inArray(reflist[i].refname, longrefs) == -1) {
      errors.push(reflist[i].refname);
    }
  }
  ret = [];
  for(var j=0; j<errors.length; j++) {
    ret.push({'msg':'A named reference is used but not defined', 'err':errors[j]});
  }
  return ret;
}}
);
 
// All user-facing messages
// TODO: Document usage
$(document).ready( function() {
mw.usability.addMessages( { "cite-section-label" : "Petik", //"Cite",
"cite-template-list" : "Templat", //"Templates",
"cite-named-refs-label" : "Rujukan bernama", //"Named refs",
"cite-named-refs-title" : "Sisipkan rujukan bernama", //"Insert a named reference",
"cite-named-refs-button" : "Rujukan bernama", //"Named references",
"cite-named-refs-dropdown" : "Rujukan bernama", //"Named refs", // Used on the top of the named refs list dropsown
"cite-errorcheck-label" : "Periksa ralat", //"Error check",
"cite-errorcheck-button" : "Periksa ralat", //"Check for errors",
"cite-dialog-base" : "pemetikan", //"citation",
"cite-form-submit" : "Sisip", //"Insert",
"cite-form-showhide" : "Tunjuk/sorok medan tambahan", //"Show/hide extra fields",
"cite-no-namedrefs" : "Gagal menenui sebarang ruj bernama dalam laman", //"Cannot find any named refs on the page",
"cite-namedrefs-intro" : "Pilih nama daripada senarai untuk melihat kandungannya. Klik \"Sisip\" untuk sisipkan rujukan kepadanya di dalam teks", //"Select a name from the list to see the ref content. Click \"Insert\" to insert a reference to it in the text.",
"cite-raw-preview" : "Wikitext:",
"cite-parsed-label" : "Wikitext huraian:",
"cite-form-parse" : "Pratontonkan huraian",
"cite-refpreview" : "Pratotonton",
"cite-name-label" : "Nama ruj",
"cite-group-label" : "Kumpulan ruj",
"cite-errorcheck-submit" : "Periksa",
"cite-errorcheck-heading" : "Periksa ralat-ralat berkenaan:",
"cite-error-unclosed" : "Tag <span style='font-family:monospace'>&lt;ref&gt;</span> tidak ditutup",
"cite-error-samecontent" : "Rujukan dengan kandungan sama",
"cite-error-templates" : "Rujukan yang tidak menggunanan <a href='//en.wikipedia.org/wiki/Wikipedia:Citation_templates'>templat pemetikan</a>",
"cite-error-repeated" : "Lebih daripada satu rujukan dengan nama yang sama",
"cite-error-undef" : "Penggunaan rujukan bernama yang takditakrifkan",
"cite-error-samecontent-msg" : "Wujud ruj dengan kandungan yang sama: $1",
"cite-error-repeated-msg" : "Lebih daripada satu ruj diberi nama: \"$1\"",
"cite-error-templates-msg" : "Tidak menggunakan templat: $1",
"cite-form-reset" : "Set semula borang",
"cite-loading" : "Memuatkan data data", // Shown while pagetext is being downloaded from the API
"cite-insert-date" : "Sisipkan tarikh sekarang", // Alt/title text for "insert date" icon
"cite-err-report-heading" : "Laporan ralat pemetikan", // Heading for error report table
"cite-err-report-close" : "Tutup", // Alt/title text for "close" icon on error report
"cite-err-report-empty" : "Tiada ralat ditemui", // Message displayed in the error report list if there are no errors
"cite-autofill-alt" : "Swa-isi" // Alt text for autofill button image
});
 
CiteTB.init();
});
 
$(window).load(function() {
  CiteTB.init();
});