CINXE.COM

TextCat - MediaWiki

<!doctype html> <html class="client-nojs vector-feature-language-in-header-disabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <base href="https://www.mediawiki.org/wiki/TextCat"> <meta charset="UTF-8"> <title>TextCat - MediaWiki</title> <script>(function(){var className="client-js vector-feature-language-in-header-disabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )mediawikiwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""], "wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"d6dfb2dd-15fc-4f6d-8116-fbae2b6e6133","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"TextCat","wgTitle":"TextCat","wgCurRevisionId":6545285,"wgRevisionId":6545285,"wgArticleId":564510,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Languages pages","Discovery","PHP libraries"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"TextCat","wgRelevantArticleId":564510,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"mediawiki","wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{"pageLanguageCode": "en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":10000,"wgEditSubmitButtonLabelPublish":true,"wgDiscussionToolsFeaturesEnabled":{"replytool":true,"newtopictool":true,"sourcemodetoolbar":true,"topicsubscription":false,"autotopicsub":false,"visualenhancements":false,"visualenhancements_reply":false,"visualenhancements_pageframe":false},"wgDiscussionToolsFallbackEditMode":"visual","wgULSPosition":"personal","wgULSisCompactLinksEnabled":true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"]};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading", "ext.discussionTools.init.styles":"ready","oojs-ui-core.styles":"ready","oojs-ui.styles.indicators":"ready","mediawiki.widgets.styles":"ready","oojs-ui-core.icons":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.pt":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["site","mediawiki.page.ready","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.urlShortener.toolbar","ext.centralauth.centralautologin","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.discussionTools.init","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","ext.checkUser.clientHints"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.discussionTools.init.styles%7Cext.uls.pt%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.5"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:site_name" content="MediaWiki"> <meta property="og:title" content="TextCat - MediaWiki"> <meta property="og:type" content="website"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//m.mediawiki.org/wiki/TextCat"> <link rel="alternate" type="application/x-wiki" title="Edit" href="/w/index.php?title=TextCat&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/mediawiki.png"> <link rel="icon" href="/static/favicon/mediawiki.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="MediaWiki (en)"> <link rel="EditURI" type="application/rsd+xml" href="//www.mediawiki.org/w/api.php?action=rsd"> <link rel="canonical" href="https://www.mediawiki.org/wiki/TextCat"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"> <link rel="alternate" type="application/atom+xml" title="MediaWiki Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org"> <link rel="dns-prefetch" href="//login.wikimedia.org"> <meta http-equiv="X-Translated-By" content="Google"> <meta http-equiv="X-Translated-To" content="en"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.omlEigW4xY8.O/am=DgY/d=1/rs=AN8SPfpjsL9kUWY0h-sp7Ilu7hZWGwEmeg/m=corsproxy" data-sourceurl="https://www.mediawiki.org/wiki/TextCat"></script> <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" rel="stylesheet"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.omlEigW4xY8.O/am=DgY/d=1/exm=corsproxy/ed=1/rs=AN8SPfpjsL9kUWY0h-sp7Ilu7hZWGwEmeg/m=phishing_protection" data-phishing-protection-enabled="false" data-forms-warning-enabled="true" data-source-url="https://www.mediawiki.org/wiki/TextCat"></script> <meta name="robots" content="none"> </head> <body class="ext-discussiontools-replytool-enabled ext-discussiontools-newtopictool-enabled ext-discussiontools-sourcemodetoolbar-enabled skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-TextCat rootpage-TextCat skin-vector-2022 action-view"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.omlEigW4xY8.O/am=DgY/d=1/exm=corsproxy,phishing_protection/ed=1/rs=AN8SPfpjsL9kUWY0h-sp7Ilu7hZWGwEmeg/m=navigationui" data-environment="prod" data-proxy-url="https://www-mediawiki-org.translate.goog" data-proxy-full-url="https://www-mediawiki-org.translate.goog/wiki/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" data-source-url="https://www.mediawiki.org/wiki/TextCat" data-source-language="auto" data-target-language="en" data-display-language="en-GB" data-detected-source-language="en" data-is-source-untranslated="false" data-source-untranslated-url="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://www.mediawiki.org/wiki/TextCat&amp;anno=2" data-client="tr"></script><a class="mw-jump-link" href="https://www-mediawiki-org.translate.goog/wiki/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right"><input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu"> <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true"><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container"> <div class="vector-pinnable-header-label"> Main menu </div><button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation"> <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/MediaWiki?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li> <li id="n-mw-download" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Download?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB"><span>Get MediaWiki</span></a></li> <li id="n-mw-extensions" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Special:MyLanguage/Category:Extensions?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB"><span>Get extensions</span></a></li> <li id="n-blog-text" class="mw-list-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://techblog.wikimedia.org/"><span>Tech blog</span></a></li> <li id="n-mw-contribute" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Special:MyLanguage/How_to_contribute?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB"><span>Contribute</span></a></li> </ul> </div> </div> <div id="p-support" class="vector-menu mw-portlet mw-portlet-support"> <div class="vector-menu-heading"> Support </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Special:MyLanguage/Help:Contents?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="The place to find out"><span>User help</span></a></li> <li id="n-mw-faq" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Special:MyLanguage/Manual:FAQ?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB"><span>FAQ</span></a></li> <li id="n-mw-manual" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Special:MyLanguage/Manual:Contents?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB"><span>Technical manual</span></a></li> <li id="n-mw-supportdesk" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Project:Support_desk?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB"><span>Support desk</span></a></li> <li id="n-mw-communication" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Special:MyLanguage/Communication?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB"><span>Communication</span></a></li> </ul> </div> </div> <div id="p-development" class="vector-menu mw-portlet mw-portlet-development"> <div class="vector-menu-heading"> Development </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mw-developerportal" class="mw-list-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://developer.wikimedia.org/"><span>Developer portal</span></a></li> <li id="n-svn-statistics" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Development_statistics?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB"><span>Code statistics</span></a></li> </ul> </div> </div> <div id="p-mediawiki.org" class="vector-menu mw-portlet mw-portlet-mediawiki_org"> <div class="vector-menu-heading"> mediawiki.org </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-portal" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Project:Help?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="About the project, what you can do, where to find things"><span>Community portal</span></a></li> <li id="n-recentchanges" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Special:RecentChanges?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="A list of recent changes in the wiki [r]" accesskey="r"><span>Recent changes</span></a></li> <li id="n-mw-translate" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Special:LanguageStats?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB"><span>Translate content</span></a></li> <li id="n-randompage" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Special:Random?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Load a random page [x]" accesskey="x"><span>Random page</span></a></li> <li id="n-mw-discussion" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Project:Village_Pump?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB"><span>Village pump</span></a></li> <li id="n-Sandboxlink-portlet-label" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Project:Sandbox?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB"><span>Sandbox</span></a></li> </ul> </div> </div> <div id="p-lang" class="vector-menu mw-portlet mw-portlet-lang"> <div class="vector-menu-heading"> In other languages </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> <div class="after-portlet after-portlet-lang"> <span class="wb-langlinks-add wb-langlinks-link"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://www.wikidata.org/wiki/Special:NewItem?site%3Dmediawikiwiki%26page%3DTextCat" title="Add interlanguage links" class="wbc-editpage">Add links</a></span> </div> </div> </div> </div> </div> </div> </div> </nav><a href="https://www-mediawiki-org.translate.goog/wiki/MediaWiki?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/mediawikiwiki.svg" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="MediaWiki" src="/static/images/mobile/copyright/mediawikiwiki-wordmark.svg" style="width: 7.5em; height: 1.125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"><a href="https://www-mediawiki-org.translate.goog/wiki/Special:Search?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search MediaWiki [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"><input class="cdx-text-input__input" type="search" name="search" placeholder="Search MediaWiki" aria-label="Search MediaWiki" autocapitalize="sentences" title="Search MediaWiki [f]" accesskey="f" id="searchInput"> <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div><input type="hidden" name="title" value="Special:Search"> </div><button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-uls" class="mw-list-item active user-links-collapsible-item"><a data-mw="interface" href="https://www-mediawiki-org.translate.goog/wiki/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#" class="uls-trigger cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>English</span></a></li> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color"><input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance"> <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true"><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://donate.wikimedia.org/?wmf_source%3Ddonate%26wmf_medium%3Dsidebar%26wmf_campaign%3Dwww.mediawiki.org%26uselang%3Den" class=""><span>Donate</span></a></li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://www-mediawiki-org.translate.goog/w/index.php?title=Special:CreateAccount&amp;returnto=TextCat&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a></li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://www-mediawiki-org.translate.goog/w/index.php?title=Special:UserLogin&amp;returnto=TextCat&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o" class=""><span>Log in</span></a></li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="More options"><input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools"> <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true"><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://donate.wikimedia.org/?wmf_source%3Ddonate%26wmf_medium%3Dsidebar%26wmf_campaign%3Dwww.mediawiki.org%26uselang%3Den"><span>Donate</span></a></li> <li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=Special:CreateAccount&amp;returnto=TextCat&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li> <li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=Special:UserLogin&amp;returnto=TextCat&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor"> <div class="vector-menu-heading"> Pages for logged out editors <a href="https://www-mediawiki-org.translate.goog/wiki/Help:Introduction?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Special:MyContributions?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li> <li id="pt-anontalk" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Special:MyTalk?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"> <!-- CentralNotice --> </div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc"> <h2 class="vector-pinnable-header-label">Contents</h2><button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"><a href="https://www-mediawiki-org.translate.goog/wiki/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#" class="vector-toc-link"> <div class="vector-toc-text"> Beginning </div></a></li> <li id="toc-How_TextCat_works" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"><a class="vector-toc-link" href="https://www-mediawiki-org.translate.goog/wiki/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#How_TextCat_works"> <div class="vector-toc-text"><span class="vector-toc-numb">1</span> <span>How TextCat works</span> </div></a> <ul id="toc-How_TextCat_works-sublist" class="vector-toc-list"> </ul></li> <li id="toc-Limitations_of_TextCat_in_on-wiki_search" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"><a class="vector-toc-link" href="https://www-mediawiki-org.translate.goog/wiki/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#Limitations_of_TextCat_in_on-wiki_search"> <div class="vector-toc-text"><span class="vector-toc-numb">2</span> <span>Limitations of TextCat in on-wiki search</span> </div></a> <ul id="toc-Limitations_of_TextCat_in_on-wiki_search-sublist" class="vector-toc-list"> </ul></li> <li id="toc-Development_and_technical_details" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"><a class="vector-toc-link" href="https://www-mediawiki-org.translate.goog/wiki/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#Development_and_technical_details"> <div class="vector-toc-text"><span class="vector-toc-numb">3</span> <span>Development and technical details</span> </div></a> <button aria-controls="toc-Development_and_technical_details-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Development and technical details subsection</span> </button> <ul id="toc-Development_and_technical_details-sublist" class="vector-toc-list"> <li id="toc-Rationale" class="vector-toc-list-item vector-toc-level-2"><a class="vector-toc-link" href="https://www-mediawiki-org.translate.goog/wiki/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#Rationale"> <div class="vector-toc-text"><span class="vector-toc-numb">3.1</span> <span>Rationale</span> </div></a> <ul id="toc-Rationale-sublist" class="vector-toc-list"> </ul></li> <li id="toc-Origins_and_development" class="vector-toc-list-item vector-toc-level-2"><a class="vector-toc-link" href="https://www-mediawiki-org.translate.goog/wiki/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#Origins_and_development"> <div class="vector-toc-text"><span class="vector-toc-numb">3.2</span> <span>Origins and development</span> </div></a> <ul id="toc-Origins_and_development-sublist" class="vector-toc-list"> </ul></li> <li id="toc-Training_data" class="vector-toc-list-item vector-toc-level-2"><a class="vector-toc-link" href="https://www-mediawiki-org.translate.goog/wiki/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#Training_data"> <div class="vector-toc-text"><span class="vector-toc-numb">3.3</span> <span>Training data</span> </div></a> <ul id="toc-Training_data-sublist" class="vector-toc-list"> </ul></li> <li id="toc-Maintenance" class="vector-toc-list-item vector-toc-level-2"><a class="vector-toc-link" href="https://www-mediawiki-org.translate.goog/wiki/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#Maintenance"> <div class="vector-toc-text"><span class="vector-toc-numb">3.4</span> <span>Maintenance</span> </div></a> <ul id="toc-Maintenance-sublist" class="vector-toc-list"> <li id="toc-Updating_the_library" class="vector-toc-list-item vector-toc-level-3"><a class="vector-toc-link" href="https://www-mediawiki-org.translate.goog/wiki/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#Updating_the_library"> <div class="vector-toc-text"><span class="vector-toc-numb">3.4.1</span> <span>Updating the library</span> </div></a> <ul id="toc-Updating_the_library-sublist" class="vector-toc-list"> </ul></li> </ul></li> </ul></li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"><a class="vector-toc-link" href="https://www-mediawiki-org.translate.goog/wiki/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#See_also"> <div class="vector-toc-text"><span class="vector-toc-numb">4</span> <span>See also</span> </div></a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul></li> <li id="toc-External_Links" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"><a class="vector-toc-link" href="https://www-mediawiki-org.translate.goog/wiki/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#External_Links"> <div class="vector-toc-text"><span class="vector-toc-numb">5</span> <span>External Links</span> </div></a> <ul id="toc-External_Links-sublist" class="vector-toc-list"> </ul></li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left"><input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents"> <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true"><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">TextCat</span></h1> <div class="mw-indicators"> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="View the content page [c]" accesskey="c"><span>Page</span></a></li> <li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Talk:TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" rel="discussion" title="Discussion about the content page [t]" accesskey="t"><span>Discussion</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet"><input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant"> <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true"><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB"><span>Read</span></a></li> <li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=TextCat&amp;action=edit&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Edit the source code of this page [e]" accesskey="e"><span>Edit</span></a></li> <li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=TextCat&amp;action=history&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown"><input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools"> <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true"><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container"> <div class="vector-pinnable-header-label"> Tools </div><button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options"> <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB"><span>Read</span></a></li> <li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=TextCat&amp;action=edit&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Edit the source code of this page [e]" accesskey="e"><span>Edit</span></a></li> <li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=TextCat&amp;action=history&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb"> <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Special:WhatLinksHere/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="A list of all wiki pages that link here [j]" accesskey="j"><span>What links here</span></a></li> <li id="t-recentchangeslinked" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Special:RecentChangesLinked/TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li> <li id="t-upload" class="mw-list-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://commons.wikimedia.org/wiki/Special:UploadWizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li> <li id="t-specialpages" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/wiki/Special:SpecialPages?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li> <li id="t-permalink" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=TextCat&amp;oldid=6545285&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li> <li id="t-info" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=TextCat&amp;action=info&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="More information about this page"><span>Page information</span></a></li> <li id="t-cite" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=Special:CiteThisPage&amp;page=TextCat&amp;id=6545285&amp;wpFormIdentifier=titleform&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Information on how to cite this page"><span>Cite this page</span></a></li> <li id="t-urlshortener" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=Special:UrlShortener&amp;url=https://www.mediawiki.org/wiki/TextCat&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB"><span>Get shortened URL</span></a></li> <li id="t-urlshortener-qrcode" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=Special:QrCode&amp;url=https://www.mediawiki.org/wiki/TextCat&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export"> <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-create_a_book" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=Special:Book&amp;bookcmd=book_creator&amp;referer=TextCat&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB"><span>Create a book</span></a></li> <li id="coll-download-as-rl" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=Special:DownloadAsPdf&amp;page=TextCat&amp;action=show-download-screen&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB"><span>Download as PDF</span></a></li> <li id="t-print" class="mw-list-item"><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=TextCat&amp;printable=yes&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects emptyPortlet"> <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container"> <div class="vector-pinnable-header-label"> Appearance </div><button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div id="siteSub" class="noprint"> From mediawiki.org </div> </div> <div id="contentSub"> <div id="mw-content-subtitle"></div> </div> <div id="mw-content-text" class="mw-body-content"> <div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"> <style data-mw-deduplicate="TemplateStyles:r6651103">.mw-parser-output .nmbox{background:#f8f9fa;border:1px solid #AAA;box-sizing:border-box;margin:2px 0;padding:0}.mw-parser-output .nmbox *{box-sizing:border-box}.mw-parser-output .nmbox-header{background:#eaecf0;padding:4px 0.5em;font-weight:bold;text-align:center;white-space:nowrap}.mw-parser-output .nmbox .mbox-image{display:inline-block;padding-right:1em}.mw-parser-output .nmbox-text{border-top:1px solid #AAA;width:100%;padding:4px 0.5em}@media screen and (min-width:768px){.mw-parser-output .nmbox-header{display:table-cell;border-right:1px solid #AAA;width:1%}.mw-parser-output .nmbox-text{border-top:none;display:table-cell}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .nmbox-header,html.skin-theme-clientpref-night .mw-parser-output .nmbox{background:transparent;color:inherit}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .nmbox-header,html.skin-theme-clientpref-os .mw-parser-output .nmbox{background:transparent;color:inherit}}</style> <div class="nmbox noprint mw-content-ltr"> <div class="nmbox-header"> <a href="https://www-mediawiki-org.translate.goog/wiki/Special:MyLanguage/Project:Language_policy?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Special:MyLanguage/Project:Language policy">Languages:</a><span style="display:none"><a href="https://www-mediawiki-org.translate.goog/wiki/Project:Language_policy?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Project:Language policy"> </a></span> </div> <div class="nmbox-text mbox-text"> <b><a class="mw-selflink selflink">English</a></b> <span class="autonym"></span><span class="autonym"></span>&nbsp;• <bdi lang="tr"><span class="plainlinks"><a class="external text" href="https://www-mediawiki-org.translate.goog/wiki/TextCat/tr?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Türkçe</a></span></bdi> </div> </div> <p><b>TextCat</b> is a <a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://en.wikipedia.org/wiki/Language_identification" class="extiw" title="en:Language identification">language detection</a> library based on <a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://en.wikipedia.org/wiki/N-gram" class="extiw" title="en:N-gram">n-gram text categorization</a> used by the <a href="https://www-mediawiki-org.translate.goog/wiki/Special:MyLanguage/Extension:CirrusSearch?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Special:MyLanguage/Extension:CirrusSearch">CirrusSearch</a><span style="display:none"><a href="https://www-mediawiki-org.translate.goog/wiki/Extension:CirrusSearch?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Extension:CirrusSearch"> </a></span> extension for MediaWiki, which provides on-wiki search.</p> <p>On Wikipedias where TextCat is deployed, a search that gets very few results will be sent to TextCat for language identification. If a likely language for the query can be determined, then the relevant Wikipedia is also searched, and any results are also displayed.</p> <p>It is currently deployed to the Dutch, English, French, German, Italian, Japanese, Portuguese, Russian, and Spanish Wikipedias.</p> <p>As an example, searching English Wikipedia for <i><a class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://en.wikipedia.org/w/index.php?search%3Dm%25C3%25A1lv%25C3%25ADsindi">málvísindi</a></i> (‘linguistics’ in Icelandic) gets no results, so results from the Icelandic Wikipedia are shown.</p> <meta property="mw:PageProp/toc"> <div class="mw-heading mw-heading3"> <h3 id="How_TextCat_works" data-mw-thread-id="h-How_TextCat_works"><span data-mw-comment-start="" id="h-How_TextCat_works"></span>How TextCat works<span data-mw-comment-end="h-How_TextCat_works"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=TextCat&amp;action=edit&amp;section=1&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Edit section: How TextCat works"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span> </div> <p>TextCat attempts to determine the language of a search string by comparing it to a model for each language. These models are basically a ranked list of n-grams (1- to 5-letter sequences found in the text) that are the most common in a particular language.</p> <p>For example, as you can see in <a rel="nofollow" class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://github.com/wikimedia/wikimedia-textcat/blob/master/LM-query/fr.lm">the language model for French</a> that TextCat uses, the character "é" appears higher in the ranking (currently line 41) than say <a rel="nofollow" class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://github.com/wikimedia/wikimedia-textcat/blob/master/LM-query/en.lm">the model for English</a>, where that character appears much lower in the list (currently line 3781).</p> <p>Language identification is generally harder on shorter strings of text, and search queries are often less than a dozen characters long. Some words are inherently ambiguous (for example the words "liaison" or "magistrate" in both English and French). Special characters and diacritics can be fairly distinctive (like German "ß" or Vietnamese "ế"), but some visitors don't include special characters when searching for a particular phrase or word, while others do.</p> <p>Because of the differences in the language people use in queries, where possible, our language models are built on samples of actual queries. For other languages, we use articles from the relevant Wikipedia as samples of general text in the language.</p> <div class="mw-heading mw-heading3"> <h3 id="Limitations_of_TextCat_in_on-wiki_search" data-mw-thread-id="h-Limitations_of_TextCat_in_on-wiki_search"><span data-mw-comment-start="" id="h-Limitations_of_TextCat_in_on-wiki_search"></span>Limitations of TextCat in on-wiki search<span data-mw-comment-end="h-Limitations_of_TextCat_in_on-wiki_search"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=TextCat&amp;action=edit&amp;section=2&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Edit section: Limitations of TextCat in on-wiki search"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span> </div> <p>There are several limits we have to place on TextCat for reasons of efficiency, complexity, or accuracy. And there are some things that it has a bit of trouble with.</p> <p><b>We limit the number of languages considered by TextCat on a given wiki</b> for a couple of different reasons, and so the exact list differs by wiki (see <code><a rel="nofollow" class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://github.com/wikimedia/operations-mediawiki-config/blob/master/wmf-config/InitialiseSettings.php%23L23072.">wgCirrusSearchTextcatLanguages</a></code> for the current list per wiki).</p> <ul> <li>It’s much faster to consider fewer languages, so we only consider languages that are relatively common in queries on a particular wiki. So, Japanese Wikipedia does not consider Spanish when doing language detection because, historically, there haven’t been that many queries in Spanish there.</li> <li>Some languages are more likely to cause confusion, but also don’t occur that frequently, so we omit them from consideration. For example, Dutch and Afrikaans are closely related, and it may be the case that queries in those languages are frequently confused. If there are twenty times as many Dutch queries as Afrikaans queries, but half the Dutch queries are incorrectly identified as Afrikaans, we would drop Afrikaans, because missing ten Afrikaans queries is better than getting 100 Dutch queries wrong.</li> </ul> <p><b>We only consider at most the <i>one</i> “best” answer returned from TextCat.</b></p> <ul> <li>Searching additional Wikis is computationally expensive, especially if we searched a <i>lot</i> of them. Also, for lower-quality language matches, the results are less likely to be meaningful—for example, there may be only one instance of a word on a given wiki, which is found in a title of a reference work.</li> <li>From a user interface perspective, showing results from multiple wikis is complicated. The search results page can already be crowded, and we don’t have any <a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://en.wikipedia.org/wiki/User_experience" class="extiw" title="en:User experience">UI/UX</a> experts on the search team.</li> <li>Generally, when the results from TextCat are ambiguous—meaning that two or more languages scored very similarly—the “best” answer is much more likely to be wrong. Since we are trying to provide useful additional results to the searcher, omitting these results improves accuracy.</li> </ul> <p><b>Similar queries may get different results from TextCat.</b> You have to draw the line somewhere, and there will always be related pairs of words that land on opposite sides of the line.</p> <ul> <li>TextCat has a bias in favor of the language of the wiki you are on, and in favor of English. Because queries on a given wiki are most likely to be in the language of that wiki, we give that language a boost. For example, <i><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://en.wiktionary.org/wiki/adorable" class="extiw" title="wikt:adorable">adorable</a></i> is a word in English, French, and Spanish. On the Dutch Wikipedia, it might be identified as Spanish (over French and English), while on the English Wikipedia, it would be too ambiguous, because English gets a boost. (Note that this is just a hypothetical example; there are too many results for <i>adorable</i> on Dutch Wikipedia for TextCat to be invoked.) <ul> <li>It turns out to be good to not only give the language of the wiki a boost, but also the second most common language seen in queries. For every other wiki, this happens to be English. (On English Wikipedia, the second most common is Chinese.)</li> </ul></li> <li>Because capitalization matters a little—<i>Folklore</i> is ever so slightly more likely to be German than English if it is capitalized in the middle of a sentence, for example—there will always be cases where the difference between different capitalizations happens to cross the threshold for ambiguous. So <i>Folklore</i> might just barely be recognized as German, while <i>folklore</i> is too ambiguous between German and English and ignored.</li> </ul> <p><b>Chinese and Korean are harder for TextCat than you might expect.</b> If a query is nothing but Chinese characters, it’s probably Chinese, right? Similarly if it’s all Korean characters. However, TextCat’s n-gram model means that for writing systems with a very large number of individual Unicode characters (Korean has eleven thousand, Chinese has tens of thousands), not all of them are in the model. And since people often search Wikipedia for “interesting” things, rarer characters are not at all unlikely to occur in queries from time to time. For large pieces of text, the more common characters are almost certain to occur, but in short queries, they may not. Throw in a few Latin characters in a query, and the result may suddenly become too ambiguous.</p> <div class="mw-heading mw-heading3"> <h3 id="Development_and_technical_details" data-mw-thread-id="h-Development_and_technical_details"><span data-mw-comment-start="" id="h-Development_and_technical_details"></span>Development and technical details<span data-mw-comment-end="h-Development_and_technical_details"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=TextCat&amp;action=edit&amp;section=3&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Edit section: Development and technical details"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span> </div> <div class="mw-heading mw-heading4"> <h4 id="Rationale" data-mw-thread-id="h-Rationale-Development_and_technical_details"><span data-mw-comment-start="" id="h-Rationale-Development_and_technical_details"></span>Rationale<span data-mw-comment-end="h-Rationale-Development_and_technical_details"></span></h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=TextCat&amp;action=edit&amp;section=4&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Edit section: Rationale"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span> </div> <p>People sometimes search using words that are not in the language of the wiki they are searching. Sometimes it works (e.g., <a class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://en.wikipedia.org/w/index.php?title%3DSpecial%253ASearch%26profile%3Ddefault%26search%3D%25D0%259B%25D1%2583%25D0%25BA%25D0%25BE%25D0%25B2%25D0%25B8%25D1%2587%25D0%25BD%25D0%25B0%25D1%258F%2B%25D0%25B3%25D0%25BB%25D0%25B0%25D0%25B2%25D0%25B0%26fulltext%3DSearch">Луковичная глава</a>, <a class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://en.wikipedia.org/w/index.php?title%3DSpecial%253ASearch%26profile%3Ddefault%26search%3DUni%25C3%25B3n%2Bde%2BRadioaficionados%2BEspa%25C3%25B1oles%26fulltext%3DSearch">Unión de Radioaficionados Españoles</a>, or <a class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://en.wikipedia.org/w/index.php?title%3DSpecial%253ASearch%26profile%3Ddefault%26search%3D%25E6%25B1%2589%25E8%25AF%25AD%26fulltext%3DSearch">汉语</a> on English Wikipedia), and sometimes it doesn't (e.g., <a class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://en.wikipedia.org/w/index.php?title%3DSpecial%253ASearch%26profile%3Ddefault%26search%3Dforce%2B%25C3%25A9lectromotrice%26fulltext%3DSearch">force électromotrice</a> on English Wikipedia)—but would if we could redirect the query to the right wiki in the same language as the query (e.g., <a class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://fr.wikipedia.org/w/index.php?title%3DSp%25C3%25A9cial%253ARecherche%26profile%3Ddefault%26search%3Dforce%2B%25C3%25A9lectromotrice%26fulltext%3DSearch%26searchengineselect%3Dmediawiki">force électromotrice</a> on French Wikipedia). In order to do that we need to be able to detect the language of the query.</p> <div class="mw-heading mw-heading4"> <h4 id="Origins_and_development" data-mw-thread-id="h-Origins_and_development-Development_and_technical_details"><span data-mw-comment-start="" id="h-Origins_and_development-Development_and_technical_details"></span>Origins and development<span data-mw-comment-end="h-Origins_and_development-Development_and_technical_details"></span></h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=TextCat&amp;action=edit&amp;section=5&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Edit section: Origins and development"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span> </div> <p>The original version of TextCat is a Perl library <a rel="nofollow" class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://www.let.rug.nl/vannoord/TextCat/">developed by Gertjan van Noord</a>, based on a <a rel="nofollow" class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://www.let.rug.nl/vannoord/TextCat/textcat.pdf">1994 paper</a> by Cavnar and Trenkle. The original TextCat is relatively lightweight and reasonably accurate, compared to other language identification libraries available when the search team first looked into using language identification.</p> <p>The Wikimedia Foundation maintains a <a rel="nofollow" class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://github.com/wikimedia/wikimedia-textcat">PHP port of this library</a> available as a <a rel="nofollow" class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://packagist.org/packages/wikimedia/textcat">Composer package</a>. It is used by the <a href="https://www-mediawiki-org.translate.goog/wiki/Special:MyLanguage/Extension:CirrusSearch?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Special:MyLanguage/Extension:CirrusSearch">CirrusSearch</a><span style="display:none"><a href="https://www-mediawiki-org.translate.goog/wiki/Extension:CirrusSearch?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Extension:CirrusSearch"> </a></span> extension for MediaWiki.</p> <p>The PHP port has several new features that take advantage of a couple of decades of improvements to computer hardware to use much larger and more accurate language models, use Unicode, and to otherwise improve the ability of TextCat’s n-gram models to distinguish between languages while remaining relatively lightweight.</p> <p>There is also an <a rel="nofollow" class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://github.com/Trey314159/TextCat">updated Perl version</a> maintained by Trey Jones which also has all of the new features of the updated PHP version.</p> <div class="mw-heading mw-heading4"> <h4 id="Training_data" data-mw-thread-id="h-Training_data-Development_and_technical_details"><span data-mw-comment-start="" id="h-Training_data-Development_and_technical_details"></span>Training data<span data-mw-comment-end="h-Training_data-Development_and_technical_details"></span></h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=TextCat&amp;action=edit&amp;section=6&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Edit section: Training data"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span> </div> <p>To understand what makes a language look (or not look) like a particular language, training data was developed based upon historical query strings. These query strings were run against TextCat and used to build up the model for a given language. These corpora of text, sanitized from bots and errant searches, helped to 'teach' TextCat what n-grams commonly appear in a language. Using query data for training, rather than general text like Wikipedia article text, also gives more positive results in testing and improves the accuracy of the language detection for queries.</p> <p>The PHP port of TextCat includes models built on <a rel="nofollow" class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://github.com/wikimedia/wikimedia-textcat/tree/master/LM-query">query data</a> (for use with queries), and models built on general <a rel="nofollow" class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://github.com/wikimedia/wikimedia-textcat/tree/master/LM">Wikipedia article text</a>, which may be more useful for generic language detection.</p> <div class="mw-heading mw-heading4"> <h4 id="Maintenance" data-mw-thread-id="h-Maintenance-Development_and_technical_details"><span data-mw-comment-start="" id="h-Maintenance-Development_and_technical_details"></span>Maintenance<span data-mw-comment-end="h-Maintenance-Development_and_technical_details"></span></h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=TextCat&amp;action=edit&amp;section=7&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Edit section: Maintenance"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span> </div> <p>You can find <a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://phabricator.wikimedia.org/search/query/Ebo7SyoGsk6W/%23R" class="extiw" title="phab:search/query/Ebo7SyoGsk6W/">tasks related to TextCat in Phabricator</a>.</p> <div class="mw-heading mw-heading5"> <h5 id="Updating_the_library" data-mw-thread-id="h-Updating_the_library-Maintenance"><span data-mw-comment-start="" id="h-Updating_the_library-Maintenance"></span>Updating the library<span data-mw-comment-end="h-Updating_the_library-Maintenance"></span></h5><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=TextCat&amp;action=edit&amp;section=8&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Edit section: Updating the library"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span> </div> <p>In order to update the deployment library once a change has been merged into the library repository:</p> <ol> <li>Tag the library with the new version and push the tag</li> <li>Check on <a rel="nofollow" class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://packagist.org/packages/wikimedia/textcat">wikimedia/textcat</a> that the tag is updated</li> <li>Update <code>composer.json</code> in <code>extension/CirrusSearch</code></li> <li>Test on non-production install that after <code>composer update --no-dev</code> everything runs smoothly</li> <li>Check out <code>mediawiki/vendor</code> repo</li> <li>Edit <code>composer.json</code> and put new version of <code>wikimedia/textcat</code> there</li> <li>Run <code>composer update --no-dev</code></li> <li>Make patch of the changes and put it to review on Gerrit.</li> </ol> <div class="mw-heading mw-heading3"> <h3 id="See_also" data-mw-thread-id="h-See_also"><span data-mw-comment-start="" id="h-See_also"></span>See also<span data-mw-comment-end="h-See_also"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=TextCat&amp;action=edit&amp;section=9&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span> </div> <ul> <li><a href="https://www-mediawiki-org.translate.goog/wiki/User:TJones_(WMF)/Notes/Language_Detection_with_TextCat?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="User:TJones (WMF)/Notes/Language Detection with TextCat">Language Detection with TextCat</a></li> <li><a href="https://www-mediawiki-org.translate.goog/wiki/User:TJones_(WMF)/Notes/TextCat_Optimization_for_frwiki_eswiki_itwiki_and_dewiki?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="User:TJones (WMF)/Notes/TextCat Optimization for frwiki eswiki itwiki and dewiki">TextCat Optimization for frwiki eswiki itwiki and dewiiki</a></li> <li><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://iw.toolforge.org/textcatdemo/" class="extiw" title="toolforge:textcatdemo/">TextCat Live Demo</a></li> <li>TextCat: <a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://diff.wikimedia.org/2016/07/27/wikipedia-language-search/" class="extiw" title="wmfblog:2016/07/27/wikipedia-language-search/">blog post</a> and <a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://commons.wikimedia.org/wiki/File:Wikipedia_Seeks_to_Speak_Your_Language.pdf" class="extiw" title="c:File:Wikipedia Seeks to Speak Your Language.pdf">additional technical details</a> on the original production release (July 2016)</li> </ul> <div class="mw-heading mw-heading3"> <h3 id="External_Links" data-mw-thread-id="h-External_Links"><span data-mw-comment-start="" id="h-External_Links"></span>External Links<span data-mw-comment-end="h-External_Links"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="https://www-mediawiki-org.translate.goog/w/index.php?title=TextCat&amp;action=edit&amp;section=10&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Edit section: External Links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span> </div> <ul> <li><a rel="nofollow" class="external free" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://www.let.rug.nl/vannoord/TextCat/">https://www.let.rug.nl/vannoord/TextCat/</a> The original Perl version.</li> <li><a rel="nofollow" class="external free" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://github.com/wikimedia/wikimedia-textcat">https://github.com/wikimedia/wikimedia-textcat</a> — The PHP Port.</li> <li><a rel="nofollow" class="external free" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://github.com/Trey314159/TextCat">https://github.com/Trey314159/TextCat</a> — The updated Perl version.</li> </ul><!-- NewPP limit report Parsed by mw‐web.codfw.main‐f69cdc8f6‐6x78m Cached time: 20241122234740 Cache expiry: 2592000 Reduced expiry: false Complications: [show‐toc] DiscussionTools time usage: 0.009 seconds CPU time usage: 0.417 seconds Real time usage: 0.482 seconds Preprocessor visited node count: 5512/1000000 Post‐expand include size: 9017/2097152 bytes Template argument size: 3816/2097152 bytes Highest expansion depth: 16/100 Expensive parser function count: 80/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 1113/5000000 bytes Lua time usage: 0.187/10.000 seconds Lua memory usage: 1065443/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 451.259 1 -total 97.51% 440.001 1 Template:Languages 81.63% 368.354 157 Template:Languages/Lang 66.42% 299.736 166 Template:Translatable 64.06% 289.085 1 Template:Nmbox 59.30% 267.605 161 Template:Pagelang 9.40% 42.399 3 Template:Ll 0.55% 2.461 1 Template:Dir --> <!-- Saved in parser cache with key mediawikiwiki:pcache:idhash:564510-0!canonical and timestamp 20241122234740 and revision id 6545285. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --> <noscript> <img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1&amp;useformat=desktop" alt="" width="1" height="1" style="border: none; position: absolute;"> </noscript> <div class="printfooter" data-nosnippet=""> Retrieved from "<a dir="ltr" href="https://www-mediawiki-org.translate.goog/w/index.php?title=TextCat&amp;oldid=6545285&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">https://www.mediawiki.org/w/index.php?title=TextCat&amp;oldid=6545285</a>" </div> </div> <div id="catlinks" class="catlinks" data-mw="interface"> <div id="mw-normal-catlinks" class="mw-normal-catlinks"> <a href="https://www-mediawiki-org.translate.goog/wiki/Special:Categories?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Special:Categories">Categories</a>: <ul> <li><a href="https://www-mediawiki-org.translate.goog/wiki/Category:Discovery?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Category:Discovery">Discovery</a></li> <li><a href="https://www-mediawiki-org.translate.goog/wiki/Category:PHP_libraries?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Category:PHP libraries">PHP libraries</a></li> </ul> </div> <div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden"> Hidden category: <ul> <li><a href="https://www-mediawiki-org.translate.goog/wiki/Category:Languages_pages?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" title="Category:Languages pages">Languages pages</a></li> </ul> </div> </div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer"> <ul id="footer-info"> <li id="footer-info-lastmod">This page was last edited on 28 May 2024, at 23:40.</li> <li id="footer-info-copyright">Text is available under the <a rel="nofollow" class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-ShareAlike License</a>; additional terms may apply. Text in <a class="external text" href="https://www-mediawiki-org.translate.goog/wiki/Special:MyLanguage/Help:Contents?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">the Help: namespace</a> is available under the <a rel="nofollow" class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons CC0 License</a>. By using this site, you agree to the <a class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use">Terms of Use</a> and <a class="external text" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy Policy</a>.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="https://www-mediawiki-org.translate.goog/wiki/Project:About?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">About mediawiki.org</a></li> <li id="footer-places-disclaimers"><a href="https://www-mediawiki-org.translate.goog/wiki/Project:General_disclaimer?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Disclaimers</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://www-mediawiki-org.translate.goog/wiki/Special:MyLanguage/Code_of_Conduct?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://stats.wikimedia.org/%23/www.mediawiki.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://m.mediawiki.org/w/index.php?title%3DTextCat%26mobileaction%3Dtoggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www-mediawiki-org.translate.goog/?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div> <script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-5c59558b9d-z7448","wgBackendResponseTime":116,"wgDiscussionToolsPageThreads":[{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-How_TextCat_works","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Limitations_of_TextCat_in_on-wiki_search","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Development_and_technical_details","replies":[{"headingLevel":4,"name":"h-","type":"heading","level":0,"id":"h-Rationale-Development_and_technical_details","replies":[]},{"headingLevel":4,"name":"h-","type":"heading","level":0,"id":"h-Origins_and_development-Development_and_technical_details","replies":[]},{"headingLevel":4,"name":"h-","type":"heading","level":0,"id":"h-Training_data-Development_and_technical_details","replies":[]},{"headingLevel":4,"name":"h-","type":"heading","level":0,"id":"h-Maintenance-Development_and_technical_details","replies":[{"headingLevel":5,"name":"h-","type":"heading","level":0,"id":"h-Updating_the_library-Maintenance","replies":[]}]}]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-See_also","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-External_Links","replies":[]}],"wgPageParseReport":{"discussiontools":{"limitreport-timeusage":"0.009"},"limitreport":{"cputime":"0.417","walltime":"0.482","ppvisitednodes":{"value":5512,"limit":1000000},"postexpandincludesize":{"value":9017,"limit":2097152},"templateargumentsize":{"value":3816,"limit":2097152},"expansiondepth":{"value":16,"limit":100},"expensivefunctioncount":{"value":80,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":1113,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 451.259 1 -total"," 97.51% 440.001 1 Template:Languages"," 81.63% 368.354 157 Template:Languages/Lang"," 66.42% 299.736 166 Template:Translatable"," 64.06% 289.085 1 Template:Nmbox"," 59.30% 267.605 161 Template:Pagelang"," 9.40% 42.399 3 Template:Ll"," 0.55% 2.461 1 Template:Dir"]},"scribunto":{"limitreport-timeusage":{"value":"0.187","limit":"10.000"},"limitreport-memusage":{"value":1065443,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-f69cdc8f6-6x78m","timestamp":"20241122234740","ttl":2592000,"transientcontent":false}}});});</script> <script>function gtElInit() {var lib = new google.translate.TranslateService();lib.translatePage('en', 'en', function () {});}</script> <script src="https://translate.google.com/translate_a/element.js?cb=gtElInit&amp;hl=en-GB&amp;client=wt" type="text/javascript"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10