Extension:TranslationNotifications

This extension provides a way to manage the communication with translators on a wiki which uses the ext-translate>Special:MyLanguage/Extension:Translate|Translate extension.

The extension has two main parts:
 * For translators: A form where translators sign themselves up for notifications. They can indicate the languages into which they can translate and preferred contact methods and frequency, including digest options.
 * For translation managers: A form for sending out page-trans-example>Special:MyLanguage/Help:Extension:Translate/Page translation example|page translation requests. The notification will be delivered to all translators matching the conditions either immediately or later in a digest email.

Prerequisites
The extension is useful only if the ext-trans>Special:MyLanguage/Extension:Translate|Translate extension is installed and configured.

Installation
To install this extension, add the following to localsettings>Special:MyLanguage/Manual:LocalSettings.php|LocalSettings.php:

Configuration
The following configuration variables are used:

$wgTranslationNotificationsContactMethods configures which contact methods are enabled. These are the default values:

$wgNotificationUsername and $wgNotificationUserPassword configure the username and the password for notifying on other wikis. This must be an existing global account on the wiki family. Example:

Notice that the username and the password appear in plain text, so they must not be publicly accessible (like dbuser>Special:MyLanguage/Manual:$wgDBuser|$wgDBuser. and dbpassword>Special:MyLanguage/Manual:$wgDBpassword|$wgDBpassword).

== Special pages == ===Special:TranslatorSignup=== A special page where translators can sign up. Example: mtrans-sign>:m:Special:TranslatorSignup|Special:TranslatorSignup on Wikimedia's Meta-wiki. Users can set their language preferences (first, second and third language) and the contact method such as email or talk page notifications. It's also possible to ask to be notified on a talk page on a different wiki in the same ext-ctrauth>Special:MyLanguage/Extension:CentralAuth|CentralAuth-based wiki family. They can also choose the frequency of notifications: always (every time there is something to translate), weekly digest or monthly digest. The email option will be available only for users who confirmed their email address.

In the case you have enabled m-mail-notif>m:Help:Watching_pages#E-mail_notification|email notification for user talk edits in the wiki of choice, you'll get it also for translation notifications, so it's probably better to select only email as method, to avoid duplicate messages.

===Special:NotifyTranslators=== This page is available for translation managers. They use it notify about the availability of a translatable page (notifications for other message groups are not supported). They can optionally set a deadline and a priority and add a custom message. They can also send the notification only to translators to particular languages. If no languages are set, all the translators who signed up will receive the notification.

The user-rights>Special:MyLanguage/Manual:User rights|user right required to operate this page is 'translate-manage'. For example, to allow all sysops to use this page, add the following line to your LocalSettings.php file:

== Notification configuration == The notifications - email, digest emails, talk page notifications - are done with the help of the job-queue>Special:MyLanguage/Manual:Job queue|Job Queue. You need to configure the job queue execution time as explained in the job-queue-manual>Special:MyLanguage/Manual:Job queue|Job queue manual.

The DigestEmailer script needs to be configured using a cron job. For example, it can be scheduled to run on every Sunday 10AM using a crontab entry like the following one:

0 10 * * 7 /usr/bin/php /www/wiki/extensions/TranslationNotifications/scripts/DigestEmailer.php 2>&1 > /var/log/digestEmail.log

The script will not start sending emails immediately. It starts inserting email jobs to the MediaWiki job queue. Depending on the configured job queue scheduling the mails will be send out.

==Footnotes==