API:Localisation

This page is a translated version of the page API:Localisation and the translation is 100% complete.
Version de MediaWiki :
1.25
Gerrit change 160798

Ce document contient les informations spécifiques à la localisation de l'API action de MediaWiki (api.php). Voir Localisation pour les commentaires généraux sur la localisation de MediaWiki.

Fichiers de messages

Les messages de localisation du coeur de MediaWiki se trouvent sous includes/api/i18n.

Pour les extensions, les messages qui ne servent que dans documentation de l'API et qui ne sont pas vus de la ajorité des utilisateurs finaux doivent être mis dans un fichier séparé en utilisant les mécanismes standards pour avoir des fichiers multiples. Voir la documentation d'internationalisation sur l'ajout de nouveaux messages.

Messages d'aide

Nommage

Les messages d'aide pour les modules de l'API utilisent l'espace de noms formé par le « chemin du module », qui est la chaîne utilisée pour le paramètre des « modules » de action=help. Pour les modules ajoutés à $wgAPIModules , ce sera la même chose que la clé utilisée dans ce tableau, tandis que pour les modules ajoutés à $wgAPIPropModules , $wgAPIListModules , ou $wgAPIMetaModules , ce sera cette clé préfixée par « query+ ».

  • Le message de description, renvoyé initialement par la méthode getDescription(), a été coupé en deux messages : un message apihelp-$path-summary avec un résumé du module sur une ligne et une apihelp-$path-extended-description contenant toute documentation supplémentaire de niveau module. Ceci peut être supplanté par les méthodes correspondantes, mais les cas où cela est nécessaire sont rares.
    • Avant la version 1.30, on utilisait un message apihelp-$path-description. Ceci devait être supplanté par l'implémentation de la méthode getDescriptionMessage(), mais les cas où c'était nécessaire étaient rares.
  • Les messages de description des paramètres, initialement retournés par la méthode getParamDescription() , sont apihelp-$path-param-$name (où $name est la clé de getAllowedParams()). Ceci peut être réécrasé en définissant une valeur pour ApiBase::PARAM_HELP_MSG dans la structure de données renvoyée par getAllowedParams().
    • Les paramètres avec une description similaire à "Lorsque davantage de résultats sont disponibles, utilisez ceci pour continuer" doivent utiliser api-help-param-continue au lieu de redéfinir un message dupliqué.
    • Trier les paramètres qui prennent des valeurs telles que « plus récent » ou « plus ancien » (avec leurs paramètres « début » et « fin » associés ) doivent utiliser api-help-param-direction au lieu de redéfinir un message dupliqué.
    • Les modules qui utilisent les jetons CSRF en implémentant needsToken() n'ont pas besoin de renseigner le paramètre token ; ceci est géré automatiquement par ApiBase.
    • Plusieur constantes supplémentaires sont disponibles pour être utilisées dans getAllowedParams(); voir ApiBase pour les détails.
  • Les paramètres tableaux pour ApiBase::PARAM_TYPE peuvent utiliser ApiBase::PARAM_HELP_MSG_PER_VALUE pour spécifier que chaque valeur est individuellement documentée. Ces messages sont par défaut apihelp-$path-paramvalue-$name-$value. Si les messages sont nommés par défaut, il n'y a pas besoin de faire de correspondance entre les messages et les valeurs dans le tableau ApiBase::PARAM_HELP_MSG_PER_VALUE (il doit encore exister mais peut rester vide).
  • Tous les exemples doivent avoir un texte de description. Les noms de message doivent être avec les lignes de apihelp-$path-example-$arbitrarySuffix.

Documentation des messages

Quand vous documentez les messages dans qqq.json, utilisez les modèles usivants :

Format des messages

Tous les messages doivent se terminer par un point, et être composés de phrases grammaticales. Pour les paramètres passés aux messages par défaut, voir les modèles liés de #Message documentation.

Utiliser le marquage sémantique de texte wiki dans les messages:

  • ‎<var> pour mentionner des clés de paramètres, ainsi que les références à des variables telles que $wgMiserMode.
  • ‎<kbd> pour les valeurs possibles des paramètres, pour mentionner des paramètres avec valeurs (y compris les références aux autres modules), et mentionner les valeurs d'entrée dans les documentations d'exemples.
  • ‎<samp> pour mentionner des clés ou des valeurs dans les sorties de l'API.
  • ‎<code> pour tout autre chose qui serait du code informatique, par exemple « l'entête max-age » ou « la page ‎<head> ».
  • Vous n'avez pas besoin d'ajouter d'apostrophes supplémentaires lorsque vous utilisez la marquage sémantique.

Si vous devez référencer d'autres modules API, ajoutez un lien à Special:ApiHelp avec une barre verticale (pipe) et l'aide au formatage fera le reste. Par exemple, « [[Special:ApiHelp/query+tokens|action=query&meta=tokens]] » est utilisé dans la documentation pour différents paramètres token. Le lien Special:ApiHelp est rendu correctement comme un lien vers une ancre définie dans la page s'il se trouve sur la même page d'aide (exemple). De la même façon, la référence aux variables de configuration de MediaWiki telles que $wgMiserMode doit pointer vers la documentation sur mediawiki.org.

Les pages référencées dans les exemples ne doivent généralement pas être liées, parce que ces liens peuvent ne pas exister sur les différents wikis.

Erreurs et avertissements

Les erreurs sont déclenchées en appelant $this->dieWithError( $messageObjectOrKey ); et le message peut être localisé de manière habituelle. C'est la même chose pour les avertissements avec $this->addWarning( $messageObjectOrKey );. Voir API:Errors and warnings/fr pour les détails.

Les messages d'erreur personnalisés de l'API ont des clés de messages commençant par apierror- et les avertissements commencent eux, par apiwarn-. Vous pouvez utiliser {{doc-apierror}} dans la documentation du message.

Texte dans les réponses de l'API

ApiBase, ainsi tous les modules d'API, sont aussi des sources de contexte. Les messages doivent généralement être accédés en utilisant $this->msg(), et le module de l'API lui-même doit généralement être passé quand un IContextSource est nécessaire.

Les messages ne doivent pas être inclus arbitrairement dans la sortie parce qu'un client trouverait cela utile.

Améliorer les localisations sur translatewiki

Vous pouvez ajouter et améliorer les traductions des messages d'aide de l'API sur translatewiki.net, de la même manière que pour les autres messages du coeur de MediaWiki. Les groupes de messages concernés comprennent :

Voir aussi

  • API/Architecture_work/i18n – Projet de document de 2014 contenant des informations pour la conversion des anciens modules API au système actuel.