Help:Extension:Translate/Statistics and reporting

The Translate extension provides lots of statistics and reports. Most of them are updated in real time. These are exposed primarily through the four special pages LanguageStats, MessageGroupStats, TranslationStats and SupportedLanguages. The first two are different views to the same data: completion percentages of each language of each message groups. The latter two pages help translation administrators to track the health of the translation community, both from a high level perspective and from close-up detailed perspective.

These are useful both for the translator, to find things to do, and the project coordinators, to monitor what's going on. Additionally they can serve to make visualizations of the wiki community and work for many potential audiences.

Completion statistics for all work in one language

 
Language statistics

The primary audience for the Special:LanguageStats page are translators. Translators are offered an overview of all message groups that are available for translation and how many untranslated messages each group still contains, to easily find what to work on. It allows filtering out message groups without translations, message groups with all translations made (default), or both.

Translation administrators can group message groups into larger groups, which makes them expandable in the statistics table and helps translators who are interested only in some translation projects. Groups that are a collection of groups are called aggregate message groups and they are displayed in bold. Bolding is also used for secondary message groups, which share part or all of their message with another message group. Examples of these on translatewiki.net are the message group for stable MediaWiki branches and the "500 most used messages of MediaWiki" group.

If message group workflow states are used, these will also be shown.

This page can be included in other pages of the wiki with syntax like {{Special:LanguageStats/nl}} where nl can be replaced with any language code. By default fully translated groups are hidden, but you can control to filters shown in the special page with syntax like {{Special:LanguageStats/nl|suppressempty=1|suppresscomplete=0}}.

Completion statistics for a message group in all languages

The primary audience for Special:MessageGroupStats are translation and project managers. This page gives an overview of the translation level of a message group in many languages. It allows filtering out languages without translations (default), languages with all translations made, or both. It can be used to assess how many languages have an adequate level of translation, which languages need action to reach the goal within the deadline or what languages have just started. You can use this page together with the list of languages and translators to find the translators of any language.

If message group workflow states are used, they will also be shown on this page. This special page is includable with the syntax {{Special:MessageGroupStats|group=groupid}} where groupid can be replaced with any valid group id. You can also use the syntax {{Special:MessageGroupStats/groupid}} but if the group id contains slashes this won't work. By default languages without any translations are hidden, but you can control to filters shown in the special page with syntax like {{Special:MessageGroupStats|group=groupid|suppressempty=1|suppresscomplete=0}}.

List of languages and translators

 
On SupportedLanguages, you can immediately choose the language you're interested in from the cloud and get to its translators list (lower part of the image)

The primary audience for Special:SupportedLanguages are translation administrators. This is the translation administrator's high level overview of the translation community of a wiki. All used languages are listed there and their activity level is visualized by a tag cloud. Larger text means a more active language. There is also a list of translators, annotated with how much work they have done and whether they have been inactive for some time. A translation administrator can use the list to find translators for urgent translation jobs or just to ping inactive translators to try to get active again. Translators can also use it to find fellow translators in their language who are active and can be contacted, thus improving interaction and collaboration in the translation community.

Graphing the activity

 
The special page provides custom graphs which can then be embedded anywhere in the wiki (in this example, a liquid thread)

The primary audience for Special:TranslationStats are translation administrators. This page acts as a tool to both inspect the community activity and generate nice graphs. You can choose to map any of the following five parameters (only one at a time): number of active translators, number of translation edits, number of translation reviews, number of reviewers or number of new user registrations. You can choose a time scale in hours, days, weeks or months, a period to report on in days and an image size. A preview of the graph will also provide wikitext that can be copied to any page in the wiki to include the graph in it. The graphs are cached for a few hours, but essentially they update in almost real time.

It is possible to limit the graph to only certain message groups or to certain languages to make comparisons. This way it is possible, for instance, to graph translations for MediaWiki core in Finnish, Swedish, Norwegian and Danish and show that in a prominent place to try and stimulate some healthy competition and boost translation activity.

The availability of this page depends on PHPlot being installed and configured. The graphs are localised, but the server must have fonts for all the scripts and even with good fonts some languages are rendered incorrectly.

Translations in all languages

The primary audience for Special:Translations are translation administrators. This page lists all translations of a given message. With this page the translation administrator can easily perform simple maintenance and compare translations. The history and translation editor for each message are just one click away.

This page is linked from the sidebar Toolbox section as "In other languages" when viewing translation units or other message translations.

For semi-automated mass changes have a look at extension Replace Text or the Pywikibot framework. For exporting, a action API module is available.

Recent changes, feeds and logging

All users can benefit from Special:RecentChanges, on which all translation related work can be tracked. Filters are added to make it more useful, especially in the case of page translation where each edit is performed on the translation unit page and copied over the translation page, which causes two entries in an unfiltered recent changes page.

These are the filter options for recent changes:

  • "Do nothing": Don't filter anything, show complete feed.
  • "Show translations only": Show only edits to all system messages, their translations and all translation namespaces.
  • "Filter out translations": Hide all the edits shown with the previous option (default option).
  • "Changes to messages in site language": Show only edits to actual system messages used by the wiki interface (MediaWiki pages, not subpages).

Filters apply in the same way also to actions on such pages as well as to their talk pages. For more filters you can install the CleanChanges extension. It provides filtering by user names and language codes and the recent changes list itself contains a smaller subset of information.

All the filters can also be used as feeds. Just choose the filters that you want and append &feed=atom to the URL. You could for instance watch all new translations in your language in your feed reader. Example: https://translatewiki.net/w/i.php?translations=only&trailer=%2Ffi&title=Special:RecentChanges&feed=atom

Almost all translation related actions, like marking page for translation, reviewing a translation etc., are logged. The logs are shown in the recent changes listing, but also in the page translation log and the translation review log.

 
On "review all" task for this group we see that there is only a new translation to review

Translators who want to follow recent translations have many options: they can use their watchlist, typically to just check for updates to their translations; alternatively, if they want to give a more general look to all translations, follow the recent changes from the special page or the syndicated feed as described above, or, perhaps the most comfortable way, using the "Special:Translate/!recent" recent translation message group with the "accept translations" or "review all translations" task (see Quality assurance).

The review tasks (currently) also provide the only way to monitor changes to a specific message group: you can select that group and, if you (or someone else) have reviewed its translations before, only the new ones will show up for review.

Translated pages are the easiest message groups to monitor: you can just look at the history of a page, or have a combined view of all changes to all pages on the recent changes page with the "Filter out translations" filter.

Static translation statistics table

The command line script groupStatistics.php allows the creation of custom versions of tables shown in Special:MessageGroupStats. You can choose multiple groups and the list of languages. The script can produce output in different formats: text, wikitext or HTML. Bots or maintenance/edit.php can be used to automatically import the statistics tables into wiki pages. If you want to keep these tables up to date you have to rerun the scripts regularly (for example daily).

Other useful extensions

User rating

 
A custom rank included on a page

The primary audience for Special:ContributionScores (added by Contribution Scores extension) are translators. This page produces a rank of users based on the number of edited pages and edits users have made in the last 7 days, 30 days or in all time. It's useful to see who's been most active on the wiki in the last few days and to compare one's own activity to the others'. Custom charts can be generated and included in any page, by passing parameters to the special page in the subpage format, for instance: {{Special:ContributionScores/10/0/notools,nosort}}. These are the parameters used in the previous example:

  1. The number of users shown in each table.
  2. The number of days to report on (0 for all time).
  3. A list of comma-separated configuration settings:
    • notools hides the standard links to user talk, contributions etc. after each user name;
    • nosort makes the table not sortable, reducing space requirements.

Maps

Maps are a useful feature added by the Maps extension. They are not specific to translation work, but they can be of use for instance in project and language portals/coordination pages, which are among the translation best practices. See for instance the map of MediaWiki translators on translatewiki.net.

Thanks to maps, the distribution of translators in the physical world can be easily visualized, which means that people from outside the community see how it's vibrant and world-spread (as every translation community will probably be). Secondarily, translators can feel it too; moreover, seeing where other translators working on the same language or project are helps in building a sense of community (and perhaps even making new friends). Lastly, project coordinators and wiki administrators can see also the geographies (not only the languages) where the wiki is doing well or could be improved.