... | ... | @@ -17,6 +17,74 @@ French translation resources / Ressources de traduction pour la traduction de Ci |
|
|
* Contactez-nous sur le [canal francophone du Mattermost de CiviCRM](https://chat.civicrm.org/civicrm/channels/francophone). Pour fr_CA: bgm, samuelsov, urlisse. Pour fr_FR : usha.makoa.
|
|
|
* Si c'est un bug dans le code original (i.e. une chaîne absente de Transifex), [ouvrir un billet sur le projet 'Translation' du Gitlab de CiviCRM](https://lab.civicrm.org/dev/translation/issues) ou faire un PR (ajouter `E::ts()` en général).
|
|
|
|
|
|
## Bases à connaitre
|
|
|
|
|
|
### quels fichiers ?
|
|
|
|
|
|
- le fichier `.po` est éditable. Il contient les chaînes à traduire et leur traduction : c'est dans ce fichier qu'on ajoute des traductions.
|
|
|
- le fichier `.mo` est compilé (pour permettre une recherche rapide des chaines traduites à l'extension)
|
|
|
|
|
|
### processus de mise à jour des traductions
|
|
|
|
|
|
- Le Core et les extensions officielles sont traduisibles dans https://www.transifex.com/civicrm/ et [https://www.transifex.com/civicrm_extensions/](https://www.transifex.com/civicrm_extensions/ "https://www.transifex.com/civicrm_extensions/") (il faut créer un compte et une autorisation)
|
|
|
- Toutes les nuits, civicrm.org récupère les traductions du Core depuis transifex.
|
|
|
- On peut trouver une mise à jour quotidienne des .mo ici :
|
|
|
* Core - http://download.civicrm.org/civicrm-l10n-core/mo/fr_CA/civicrm.mo
|
|
|
* Extension - https://download.civicrm.org/civicrm-l10n-extensions/mo/cividiscount/fr_FR/cividiscount.mo
|
|
|
- Les CiviCRM installés devraient se mettre à jour quotidiennement ensuite. Mais ca bugue souvent.
|
|
|
- L'extension uplang (2023) de CiviCRM permet de récupérer aussi les traductions pour les extensions.
|
|
|
- Les chaines à traduire sont marquées par la fonction `ts()` dans le code.
|
|
|
|
|
|
### Emplacements des fichiers
|
|
|
|
|
|
* les fichiers de lang des extensions sont placés dans l'extension : `/l10n/fr_FR/LC_MESSAGES`
|
|
|
* l'extension `uplang` télécharge les .mo dans un dossier par langue ici `civicrm/l10n/`
|
|
|
|
|
|
## Traduire une extension
|
|
|
|
|
|
### officielle
|
|
|
|
|
|
Une extension officielle est publiée sur le site CiviCRM et a déjà un fichier de traduction sur transifex
|
|
|
|
|
|
* se placer dans le dossier de l'extension par exemple : `ext/org.civicrm.cdntaxreceipts/`
|
|
|
* créer le dossier où les traductions sont attendues : `l10n/fr_FR/LC_MESSAGES`
|
|
|
* `cd l10n/fr_FR/LC_MESSAGES`
|
|
|
* télécharger le fichier .mo qui a été créé sur le dépot de civicrm la nuit dernière : `wget https://download.civicrm.org/civicrm-l10n-extensions/mo/cdntaxreceipts/fr_FR/cdntaxreceipts.mo`
|
|
|
* valider que les fichiers de traduction ont bel et bien la traduction présente : `msgunfmt cdntaxreceipts.mo -o cdntaxreceipts.po .`
|
|
|
|
|
|
### un fork ou une extension custom
|
|
|
|
|
|
Dans ce cas le fichier de traduction n'existe pas ou est partiel sur transifex (nouvelles chaines à traduire qui n'apparaitront pas dans transifex)
|
|
|
|
|
|
* se placer dans le dossier de l'extension par exemple : `ext/org.civicrm.cdntaxreceipts/`
|
|
|
* créer le dossier où les traductions sont attendues : `l10n/fr_FR/LC_MESSAGES`
|
|
|
* créer le fichier .po
|
|
|
* générer le fichier .po avec les chaines à traduire à partir du code de l'extension
|
|
|
* se placer à la racine de l'extension pour scanner les ts() dans les fichiers
|
|
|
* vérifier que `civistrings` est installé sur le serveur https://github.com/civicrm/civistrings
|
|
|
* `civistrings -o l10n/fr_FR/LC_MESSAGES/cdntaxreceipts.po .`
|
|
|
* si c'est un fork d'une extension officielle on peut récupérer ce qui est déjà traduit en téléchargeant le fichier .po avec les traductions depuis transifex (aller dans civicrm_ressources et l'extension et télécharger les traductions)
|
|
|
* éditer le fichier .po (soit dans un éditeur de texte soit avec POEdit) pour traduire les chaines manquantes
|
|
|
* se placer dans /`l10n/fr_FR/LC_MESSAGES`
|
|
|
* compiler le fichier .po en .mo `msgfmt -o cdntaxreceipts.mo cdntaxreceipts.po`
|
|
|
|
|
|
### comment être sûr que les .mo soient bien appliqués dans CiviCRM ?
|
|
|
|
|
|
Normalement rien n'est nécessaire. Au pire, redémarrer php-fpm
|
|
|
|
|
|
### Exemples
|
|
|
|
|
|
#### Exemple CiviCase :
|
|
|
|
|
|
```
|
|
|
cd uk.co.compucorp.civicase
|
|
|
civistrings -o l10n/fr_FR/LC_MESSAGES/civicase.po .
|
|
|
# ajouter une en-tête au .po (c.f. autres .po)
|
|
|
# traduire
|
|
|
# ..puis compilation
|
|
|
msgfmt -o l10n/fr_FR/LC_MESSAGES/civicase.mo l10n/fr_FR/LC_MESSAGES/civicase.po
|
|
|
```
|
|
|
|
|
|
# Nom des composants
|
|
|
|
|
|
Pour éviter d'alourdir inutilement la traduction, on laisse tomber le préfixe "Civi" des composantes. Elles devraient être traduits selon le lexique suivant :
|
... | ... | @@ -761,7 +829,7 @@ Au nom d'une organisation |
|
|
</tr>
|
|
|
<tr>
|
|
|
<td> opt out</td>
|
|
|
<td>S'opposer à tout mailing \\\[en masse\\\]</td>
|
|
|
<td>S'opposer à tout mailing \\\\\\\[en masse\\\\\\\]</td>
|
|
|
<td> </td>
|
|
|
<td> Pour bien distinguer l'opposition à recevoir tout mailings en masse...</td>
|
|
|
</tr>
|
... | ... | |