API:Localisation
Cette page fait partie de la documentation de l'API MediaWiki Action. |
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 uneapihelp-$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.
- Avant la version 1.30, on utilisait un message
- 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 pourApiBase::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 utiliserApiBase::PARAM_HELP_MSG_PER_VALUE
pour spécifier que chaque valeur est individuellement documentée. Ces messages sont par défautapihelp-$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 tableauApiBase::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 :
{{doc-apihelp-summary|chemin du module}}
{{doc-apihelp-description|chemin du module}}
{{doc-apihelp-extended-description|chemin du module}}
{{doc-apihelp-param|chemin du module|nom du paramètre}}
{{doc-apihelp-paramvalue|chemin du module|nom du paramètre|valeur du paramètre}}
{{doc-apihelp-paraminfo|chemin du module|nom du paramètre de la balise d'information}}
{{doc-apihelp-example|chemin du module}}
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êtemax-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:Erreurs et avertissements 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.