Help:Extension:Translate/Gestion de groupe

This page is a translated version of the page Help:Extension:Translate/Group management and the translation is 30% complete.

Après avoir configuré les groupes ils doivent être traités. Cela signifie que les textes de définition sont indexés et que les caches nécessaires ont été populés. Pour cela, vous devez exécuter processMessageChanges.php pour prendre en compte les modifications. Vous pouvez exécuter ce script de maintenance comme présenté ci-dessous.

Du répertoire de l'extension Translate :

php scripts/processMessageChanges.php

Le script mentionné ci-dessus détecte les modifications dans les messages et délivre uniquement celles-ci aux traitements afin de gagner du temps. Ces modifications comprennent :

  • modifications dans le contenu des messages en anglais
  • modifications dans la partie documentation du message
  • inadéquation du contenu avec le groupe ou la langue
  • entrées supplémentaires dans un fichier pour un groupe ou une langue (par exemple maintenu à l'extérieur)

Pour les groupes de style nouveau, ouvrez la page Special:ManageMessageGroups et reconstruisez (importez) toutes les langues. Sur cette page spéciale, les groupes de messages basés sur des fichiers peuvent être gérés (FileBasedMessageGroup). Cette page permet de faire la mise à jour du cache des fichiers, d'importer et de déclarer les messages (de la langue source) à mettre à jour, et d'importer/mettre à jour les messages dans les autres langues.

Strong synchronization is a mechanism which prevents corruption of translation data caused by synchronization issues. It does this by keeping track of synchronization events and blocking unsafe actions if synchronization is in progress, incomplete or has a failure. It was created to address problems that state synchronization could not. For example:

  1. Upstream modifies all translation files: for example, by updating a copyright date in a string and removing some unused strings (basically, any changes that make --safe-import to not process changes automatically).
  2. We update the read-only checkout from version A to latest version B.
  3. We do not process changes using Special:MessageGroupChanges
  4. We export and commit translations on top of B (but based on A) to create version C.

Upstream changes in version B are lost. For the next import we automatically update our read-only checkout to version C, so we never see or process changes in B.

The process

Incoming changes from source repositories are processed via the MessageUpdateJob background job. We've added a group synchronization cache that tracks:

  1. groups in sync - groups that have messages being processed via MessageUpdateJob in the job queue
  2. groups with errors - groups that have had messages update processing errors
  3. group in review - groups whose messages are waiting to be reviewed

Message update processing errors are identified by looking at messages that are still present in the group synchronization cache as "in sync" after a certain period of time. On rare occasions it may happen that the MessageUpdateJob was completed but did not inform the group synchronization cache that it was done. Such errors can be identified by looking at the message's content to see if it has been updated.

When running exports, following groups are skipped:

  1. groups in sync
  2. groups with errors
  3. group in review

This ensures that changes from Translate are not pushed out until incoming changes from source repositories are processed first.

Similarly when processing incoming changes, following groups are skipped:

  1. groups in sync
  2. groups with errors

This will ensure that changes from remote sources do not override choices made when processing changes in Special:MessageGroupChanges.

Administrators can see groups in review and groups with errors on Special:MessageGroupChanges. For groups with error, review the messages that have failed, and resolve them after verifying that the updates are properly applied.

Global Synchronization Lock

For the import and export scripts, a global sync lock has been added to ensure that exports and imports cannot be run simultaneously. The ideal workflow would involve first running the imports, allowing all groups to finish processing, and then running the exports.

Voir aussi

  • La page de gestion du dépôt et ses pages liées comportent des informations d'utilisation générale