Fil d'Ariane
Importer vos traductions personnalisées
Mémo pour retrouver le code qui permet d'importer vos traductions personnalisées au sein d'un projet Drupal 7 ou Drupal 8.
Un billet rapide pour faire office de mémo, je vous partage une portion de code qui permet de d'importer vos traductions personnalisées au sein du projet. Il arrive que vous ayez des chaînes qui ne viennent pas de localize et que vous devez traduire. Vous aurez donc besoin d'un .po personnalisé, voici comment en importer un ou en réimporter un depuis un hook_update_N(). A noter que le fichier est versionné et est stocké dans sites/all/translations/monprojet.fr.po.
<?php
/**
* Import translations.
*/
function monmodule_update_7063() {
// Import our custom translations that are not exposed anywhere.
$po_file_name = DRUPAL_ROOT . '/sites/all/translations/monprojet.fr.po';
$file = (object) array('filename' => basename($po_file_name), 'uri' => $po_file_name);
_locale_import_po($file, 'fr', LOCALE_IMPORT_OVERWRITE, 'default');
}
?>
EDIT : Pour une version Drupal 8 voici un exemple (merci Fabrice).
function monmodule_update_8001() {
$po_file_name = DRUPAL_ROOT . '/chemin/vers/monfichier.fr.po';
$file = (object) array('langcode' => 'fr', 'uri' => $po_file_name);
$options = [
'customized' => LOCALE_CUSTOMIZED,
];
Try {
$report = Gettext::fileToDatabase($file, $options);
}
Catch(Exception $e) {
watchdog_exception('monmodule', $e, $e->getMessage());
}
}
Vous pouvez également vous appuyer sur cet article notamment si vous avez plusieurs environnements : https://medium.com/@info_76564/how-to-deploy-drupal-interface-translations-5653294c4af6
Commentaires
Votre commentaire
À propos de Julien
Co-fondateur - Scrum master & Expert technique
Utilisateur de Drupal depuis 2008, j’ai fait mes armes comme développeur chez Commerce Guys puis me suis mis à encadrer les nouveaux arrivants avant de donner des formations, participer aux avant ventes et accompagner les équipes au passage à Scrum.
Je suis impliqué dans la communauté française de Drupal depuis 2009, j’ai été tour à tour président puis vice-président de l’association Drupal France et francophonie entre 2011 et 2013.
Merci pour l'info. Et pour Drupal 8 je mets son équivalent que j'ai pu retrouver facilement en suivant la piste du
_locale_import_po()
avec les change records.